JP6844895B1 - ストレージ装置およびストレージ方法 - Google Patents

ストレージ装置およびストレージ方法 Download PDF

Info

Publication number
JP6844895B1
JP6844895B1 JP2019176799A JP2019176799A JP6844895B1 JP 6844895 B1 JP6844895 B1 JP 6844895B1 JP 2019176799 A JP2019176799 A JP 2019176799A JP 2019176799 A JP2019176799 A JP 2019176799A JP 6844895 B1 JP6844895 B1 JP 6844895B1
Authority
JP
Japan
Prior art keywords
data
cache
information processing
volatile memory
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019176799A
Other languages
English (en)
Other versions
JP2021056589A (ja
Inventor
武人 藤原
武人 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2019176799A priority Critical patent/JP6844895B1/ja
Application granted granted Critical
Publication of JP6844895B1 publication Critical patent/JP6844895B1/ja
Publication of JP2021056589A publication Critical patent/JP2021056589A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】アクセス頻度が高い特定のデータをキャッシュ内部の専用エリアに格納することが可能なストレージ装置およびストレージ方法を提供する【解決手段】本発明にかかるストレージ装置100は、不揮発性メモリ110と、不揮発性メモリ110に記憶されるデータを一時的に格納するキャッシュ120と、キャッシュ120を専用エリアと共用エリアとに静的に分割し、第2データよりもアクセス頻度の高い第1データを専用エリアに格納し、前記第2データを共用エリアに格納する制御部130と、を備える。【選択図】図2

Description

本発明は、ストレージ装置およびストレージ方法に関する。
キャッシュを備えるストレージ装置が存在する。キャッシュとは、不揮発性メモリ等が記憶するデータを一次的に格納するためのメモリである。キャッシュに格納されているデータは、不揮発性メモリ等にアクセスせずに、高速に読み出しを行うことができる。
ストレージ装置に新たなデータを保存する際に、データがキャッシュから追い出される場合がある。アクセス頻度の高い特定のデータがキャッシュから追い出された場合、アクセスの遅れにつながる可能性がある。
一方で、ストレージ装置ではなく、メインメモリが、キャッシュを備える場合がある。メインメモリにキャッシュを設けることで、メモリアクセスの時間を短縮し、CPU(Central Processing Unit)の性能を向上させることが可能となる。特許文献1は、メインメモリのキャッシュを専用領域と共用領域とに動的に分割する技術を開示している。
特開2015−036873号公報
上記の様に、ストレージ装置が備えるキャッシュからアクセス頻度の高い特定のデータが追い出される場合に、アクセスの遅延を生じるという問題が生じていた。
本開示は上記課題を解決するためにされたものであって、アクセス頻度が高い特定のデータをキャッシュ内部の専用エリアに格納することが可能なストレージ装置およびストレージ方法を提供することを目的とする。
本開示にかかるストレージ装置は、不揮発性メモリと、前記不揮発性メモリに記憶されるデータを一時的に格納するキャッシュと、前記キャッシュを専用エリアと共用エリアとに静的に分割し、第2データよりもアクセス頻度の高い第1データを前記専用エリアに格納し、前記第2データを前記共用エリアに格納する制御手段と、を備えるものである。
本開示にかかるストレージ方法は、不揮発性メモリと、前記不揮発性メモリに記憶されるデータを一時的に格納するキャッシュと、を備えるストレージ装置が行うストレージ方法であって、前記キャッシュを専用エリアと共用エリアとに静的に分割し、第2データよりもアクセス頻度の高い第1データを前記専用エリアに格納し、前記第2データを前記共用エリアに格納する、ものである。
本開示によれば、アクセス頻度が高い特定のデータをキャッシュ内部の専用エリアに格納することが可能なストレージ装置およびストレージ方法を提供することができる。
実施の形態1にかかるストレージ装置を含む情報処理システムの概要を示す構成図である。 実施の形態1にかかるストレージ装置の構成を示す構成図である。 実施の形態1にかかるストレージ装置の動作を示すフローチャートである。 実施の形態2にかかるストレージ装置の構成を示す構成図である。 実施の形態2にかかるストレージ装置の動作を示すシーケンス図である。
<実施の形態1>
図1は、本実施の形態にかかるストレージ装置100を含む情報処理システム200の構成例を示す構成図である。情報処理システム200は、ストレージ装置100および情報処理装置300を備える。
情報処理装置300は、情報処理を行い、ストレージ装置100に対してデータの書き込み指示、あるいは読み出し指示を行う。つまり、情報処理装置300は、ストレージ装置100を利用するホスト計算機である。
情報処理装置300が使用するデータは、第2データよりも使用頻度が高い第1データと第2データとに分けることができる。すなわち、第1データは使用頻度が高いデータであり、第2デーダは使用頻度が低いデータである。例えば、第1データは情報処理の進行状況を示すデータであり、第2データは情報処理の対象となるデータである。情報処理の進行状況を示すデータとは、例えば、処理のシーケンス番号である。第1データは、特定のデータに対してアクセスしていることを示すフラグであってもよい。
図2は、本実施の形態にかかるストレージ装置100の構成を示す構成図である。ストレージ装置100は、不揮発性メモリ110、キャッシュ120、及び制御部130を備える。
不揮発性メモリ110は、情報処理装置300が使用するデータを記憶する。不揮発性メモリ110は、電源を供給しなくても記憶を保持可能なメモリであり、例えば、NAND型フラッシュメモリである。
キャッシュ120は、不揮発性メモリ110に記憶されるデータを一時的に格納するキャッシュである。キャッシュ120は、例えば、DRAM(Dynamic Random Access Memory)で構成される。
キャッシュ120は、不揮発性メモリ110よりも高速にデータの書き込みおよび読み出しを行うことが可能である。読み出しデータがキャッシュ120に存在する場合、キャッシュ120から読み出しを行えるため、処理の遅延が小さい。読み出しデータがキャッシュ120に存在しない場合、不揮発性メモリ110から読み出しを行わなければならないため処理の遅延が大きい。
また、キャッシュの空き領域にデータを書き込むことにより、書き込み処理の遅延を小さくすることができる。キャッシュに格納されたデータは、後述する制御部130が、適当なタイミングで不揮発性メモリ110に格納する。キャッシュ120に空き領域が存在しない場合、キャッシュ120のデータを不揮発性メモリ110に退避するために処理の遅延が発生する場合がある。
制御部130は、情報処理装置300の指示に基づいて、不揮発性メモリ110およびキャッシュ120に対するデータの書き込みおよび読み出しの制御を行う。制御部130は、キャッシュ120の一部を専用エリアに設定する。制御部130は、専用エリアと専用エリア以外のエリアとを個別に制御することが可能である。以下では、キャッシュ120のうち、専用エリア以外を共用エリアと呼ぶ。
制御部130は、キャッシュ120を専用エリアと共用エリアとに静的に分割し、第1データを専用エリアに格納し、第2データを共用エリアに格納する。本実施の形態では、キャッシュ120を静的に分割するため、特許文献1の技術をストレージ装置に適用した場合とは異なり、ストレージ装置100が複雑な演算を行う機能を備える必要はない。
図3は、本実施の形態にかかるストレージ装置100の動作を示すシーケンス図である。ストレージ装置100が、データの書き込み指示を受信し、第1データの読み出し指示を受信する場合について説明する。まず、制御部130は、情報処理装置300からデータ書き込み指示を受信する(ステップS1)。書き込み指示は、例えば、書き込みデータとデータを格納するアドレスが指定される。
アドレスは、不揮発性メモリ110の物理アドレスではなく、情報処理装置300が用いる論理アドレスであってもよい。このような場合、制御部130は、物理アドレスと論理アドレスとの変換を行う。変換は、物理アドレスと論理アドレスとの対応付けを示す表に基づいて行われてもよい。
次に、制御部130は、書き込みを行うデータが第1データであるかどうかを判断する(ステップS2)。第1データか否かは、例えば、書き込み指示に含まれるアドレスに基づいて判断される。制御部130は、第1データとなるデータのアドレスを、情報処理装置300からあらかじめ受信しておいてもよい。
書き込みを行うデータが第1データの場合には、制御部130は、キャッシュ120の専用エリアにデータを格納するように制御を行う(ステップS3)。なお、キャッシュ120には、データと共にアドレスが格納されてもよい。
書き込みを行うデータが第2データの場合には、制御部130は、共用エリアにデータを格納するように制御を行う(ステップS4)。
キャッシュ格納後、キャッシュに格納されたデータは、不揮発性メモリ110に格納される(ステップS5)。不揮発性メモリ110にデータを格納するタイミングは任意であり、例えば、キャッシュ120からデータが追い出される場合に、データを不揮発性メモリ110に格納してもよい。
次に、制御部130は、情報処理装置300から、アクセス頻度の高い第1データの読み出し指示を受信する(ステップS6)。読み出し指示は、例えば、データが格納されているアドレスとデータサイズが指定される。制御部130は、データがキャッシュ120に存在するか否かを判断する。キャッシュ120に、データとデータの論理アドレスとが格納されており、読み出しを行う論理アドレスが含まれているかを確認することにより判断を行ってもよい。第1データは専用エリアに格納されているため、制御部130は、キャッシュ120に格納された第1データを情報処理装置300に送信する(ステップS7)
本実施の形態によれば、第2データを書き込む場合に、第1データがキャッシュから追い払われることがない。したがって、アクセス頻度の高い第1データは、キャッシュに存在することとなり、読み出し処理の遅延が小さくなる。
<実施の形態2>
図4は、本実施の形態に係るSSD(Solid State Drive)であるSSD(ストレージ装置)100を含む情報処理システム200の構成を示す構成図である。情報処理システム200は、情報処理装置300およびSSD100を備える。情報処理装置300は、汎用の情報処理を行う計算機であり、SSD100を使用するホスト計算機である。
情報処理装置300は、SSD100にアクセス可能である。情報処理装置300は、SSD100に対してデータの書き込み指示および読み出し指示を行う。情報処理装置300が行うデータアクセスは、SSD100が記憶する通常のデータへのアクセスと、情報処理(コマンド)の進行状況を示す特定のデータへのアクセスとを含む。以下、特定のデータのことを第1データと呼び、通常のデータを第2データと呼ぶ。
SSD100は、データを格納している。SSD100は、情報処理装置300の指示に基づいて、データの書き出し処理および読み出し処理を行う。SSD100は、不揮発性メモリ110、キャッシュ120、及び制御部130を備える。
不揮発性メモリ110は、情報処理装置300が使用するデータを格納する。不揮発性メモリ110は、NAND113〜118を備える。NAND113〜118は、NAND型フラッシュメモリである。NAND型フラッシュメモリとは、不揮発性メモリの一種である。データは、一次的にはキャッシュ120に格納されるが、制御部130の制御により最終的にはNAND113〜118に格納される。
キャッシュ120は、書き込みデータを一次的に格納する。キャッシュ120は、専用エリア121を備えている。専用エリア121は、キャッシュ120内に個別に確保されたエリアであり、第1データを一次的に格納する。専用エリア121以外の領域は、第2データを一次的に格納する共用エリアである。専用エリア121は、機能的には通常のキャッシュと同様に動作する。専用エリア121は、後述する制御部130の制御により、共用エリアの動作の影響を受けず、独立して動作させることが可能である。
制御部130は、SSD100を制御するコントローラである。制御部130は、専用エリア121を、共用エリアとは別個に制御する。
図5は、本実施の形態の動作を示すシーケンス図である。一例として、第1データの書き込みを行い、第2データの書き込みを行い、データの読み出しを行う場合について説明する。
ステップS101〜ステップS104は、第1データの書き込みの動作を示す。
まず、制御部130は、キャッシュ120の内部に第1データを格納可能な専用エリアを確保する(ステップS101)。専用エリアのサイズは、第1データのサイズに基づいて定められても良い。例えば、専用エリアのサイズを、第1データのサイズとした場合、キャッシュ120を効率的に利用することが可能となる。
次に、情報処理装置300は、第1データの書き込み指示を行う(ステップS102)。書き込みデータは、SSD100に転送される。
次に、制御部130は、書き込みデータが第1データであるか否かを判断し、キャッシュ120にデータを格納する制御を行う。すなわち、制御部130は、書き込みデータが第1データであれば専用エリア121に格納し、それ以外であれば共用エリアに格納する。したがって、今回の場合、制御部130は、書き込みデータを専用エリア121に格納する(ステップS103)。
最後に、制御部130は、書き込み完了を情報処理装置300に通知する(ステップS104)。書き込み完了を受信した情報処理装置300は、情報処理を再開する。
なお、キャッシュ120のデータを、NAND113〜118の該当するエリアに書き込む処理は、情報処理装置300のアクセス処理とは同期しなくてもよい。すなわち、キャッシュ120からデータが追い出される際に、NAND113〜118へのデータの書き込みを行ってもよい。
ステップS201〜ステップS204は、第2データの書き込み動作を示す。
まず、情報処理装置300は、第2データの書き込み指示を行う(ステップS201)。書き込みデータは、SSD100に転送される。
以下、第2データをキャッシュに書き込む際に、キャッシュ内のデータを退避しなければならないケースについて説明する。特に、書き込みデータがキャッシュ120のサイズより大きい場合等には、データ退避が必要となる。
なお、キャッシュ内のデータを退避しなくても良いケースも考えられる。制御部130が、データをキャッシュに格納後、速やかにNAND113〜118にデータを格納する場合等である。
次に、制御部130は、キャッシュ120から追い出されるデータをNAND113〜118に格納する(ステップS202)。次に、制御部130は、書き込みデータをキャッシュ120の共用エリアに格納する(ステップS203)。
関連する技術を用いた場合、第1データもキャッシュ120から追い出され、NAND113〜118に格納される可能性がある。しかし、本実施の形態では、キャッシュ120に専用エリア121を確保している。したがって、第1データは、通常データの影響を受けずにキャッシュ120に継続して格納される。よって、本実施の形態にかかるSSD100は、後続の第1データへのアクセスに対して、専用エリア121を用いて動作を継続することが可能となる。
最後に、制御部130は、書き込み完了を情報処理装置300に通知する(ステップS204)。情報処理装置300は、情報処理を再開する。
ステップS301〜ステップ303は、データの読み出しの動作を示す。
まず、情報処理装置300は、制御部130に読み出しの指示を行う(ステップS301)。制御部130は、読み出しデータがキャッシュ120に存在する場合には、キャッシュ120からデータを読み出し、情報処理装置300ヘデータを送信するように制御を行う(ステップS302)。制御部130は、読み出しデータがキャッシュ120に存在しない場合には、該当するNAND113〜118から対象のデータを読み出し、情報処理装置300へデータを送信するように制御を行う(ステップS303)。
本実施の形態においては、第1データは専用エリア121に格納されているため、キャッシュから第1データを送信することが可能となる。
以下、本実施の形態の効果について説明する。
情報処理装置が、情報処理の進行状況を逐次データとしてストレージに書き込む場合がある。障害発生時等に、進行状況から問題発生シーケンスを確認し、情報処理における問題発生箇所を特定するためである。
進行状況を格納するデータは、情報処理装置が処理するデータ量がキャッシュ容量を越えた場合、キャッシュから追い出されることとなる。したがって、キャッシュに格納されたデータをNAND素子に書き戻す処理が、発生する。
進行状況を示すデータは、処理のシーケンスをトレースできる様に頻繁に更新される。したがって、他の処理データの影響を受けてキャッシュから追い出されないようにする必要がある。書き込みデータによってキャッシュに格納されたデータの全てが書き換えられると、処理の進行状況に関するデータが、高速アクセス可能なキャッシュから追い出されてしまう。
このような場合、NAND素子までアクセスすることにより、アクセスの遅延が発生してしまう。しかし、本実施の形態では、処理の進行状況に関するデータを格納するための専用エリアを確保することにより、他のデータに対する処理とは関係なくキャッシュを使用することが出来て、高速アクセスが可能となる。
また、本実施の形態により第1データをNANDに退避する回数を減らすことができる。NAND型フラッシュメモリ等のフラッシュメモリは、書き込み回数に制限がある場合が多いため、使用期間を延ばすことが可能となる。なお、フラッシュメモリとは、浮遊ゲートに電子を格納することによってデータを記憶する素子である。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
100 ストレージ装置、SSD
110 不揮発性メモリ
120 キャッシュ
130 制御部
200 情報処理システム
121 専用エリア
113、114、115、116、117、118 NAND
300 情報処理装置

Claims (8)

  1. 不揮発性メモリと、
    前記不揮発性メモリに記憶されるデータを一時的に格納するキャッシュと、
    前記キャッシュを専用エリアと共用エリアとに静的に分割し、第2データよりもアクセス頻度の高い第1データを前記専用エリアに格納し、前記第2データを前記共用エリアに格納する制御手段と、
    を備え
    前記第1データは情報処理のシーケンスを示すデータであり、前記第2データは前記情報処理に用いられるデータである、ストレージ装置。
  2. 前記不揮発性メモリは、フラッシュメモリである請求項1に記載のストレージ装置。
  3. 前記制御手段は、前記専用エリアのサイズを、前記第1データのサイズとする、請求項1または2に記載のストレージ装置。
  4. 前記制御手段は、前記キャッシュに格納されたデータを前記キャッシュから退避させる際に、前記不揮発性メモリにデータを格納する、請求項1からのいずれか1項に記載のストレージ装置。
  5. 不揮発性メモリと、
    前記不揮発性メモリに記憶されるデータを一時的に格納するキャッシュと、を備えるストレージ装置が行うストレージ方法であって、
    前記キャッシュを専用エリアと共用エリアとに静的に分割し、第2データよりもアクセス頻度の高い第1データを前記専用エリアに格納し、前記第2データを前記共用エリアに格納する、
    前記第1データは情報処理のシーケンスを示すデータであり、前記第2データは前記情報処理に用いられるデータである、ストレージ方法。
  6. 前記不揮発性メモリは、フラッシュメモリである、請求項に記載のストレージ方法。
  7. 前記専用エリアのサイズを、前記第1データのサイズとする、請求項またはに記載のストレージ方法。
  8. 前記キャッシュに格納されたデータを前記キャッシュから退避させる際に、前記不揮発性メモリにデータを格納する、請求項からのいずれか1項に記載のストレージ方法。
JP2019176799A 2019-09-27 2019-09-27 ストレージ装置およびストレージ方法 Active JP6844895B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019176799A JP6844895B1 (ja) 2019-09-27 2019-09-27 ストレージ装置およびストレージ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019176799A JP6844895B1 (ja) 2019-09-27 2019-09-27 ストレージ装置およびストレージ方法

Publications (2)

Publication Number Publication Date
JP6844895B1 true JP6844895B1 (ja) 2021-03-17
JP2021056589A JP2021056589A (ja) 2021-04-08

Family

ID=74860769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019176799A Active JP6844895B1 (ja) 2019-09-27 2019-09-27 ストレージ装置およびストレージ方法

Country Status (1)

Country Link
JP (1) JP6844895B1 (ja)

Also Published As

Publication number Publication date
JP2021056589A (ja) 2021-04-08

Similar Documents

Publication Publication Date Title
US7814276B2 (en) Data cache architecture and cache algorithm used therein
CN101719103B (zh) 基于存储设备的信息处理方法以及存储设备
CN109582217A (zh) 数据储存装置与将数据写入存储器装置的方法
US10055143B2 (en) Solid state drive and data programming method thereof
US20130326113A1 (en) Usage of a flag bit to suppress data transfer in a mass storage system having non-volatile memory
US10019179B2 (en) Memory device that writes data into a block based on time passage since erasure of data from the block
US10152280B2 (en) Storage device and control method
US20120144094A1 (en) Data storage apparatus and method for controlling flash memory
US10606484B2 (en) NAND flash storage device with NAND buffer
US20140328127A1 (en) Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same
US20220035736A1 (en) Data processing method for controlling write speed of memory device to avoid significant write delay and data storage device utilizing the same
US8914571B2 (en) Scheduler for memory
US9575887B2 (en) Memory device, information-processing device and information-processing method
US8429339B2 (en) Storage device utilizing free pages in compressed blocks
US20170269870A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method
US20130159604A1 (en) Memory storage device and memory controller and data writing method thereof
TW201945920A (zh) 儲存備份記憶體封裝中之狀態管理
US20100235564A1 (en) Semiconductor memory device
TWI673716B (zh) 快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置
US8370564B2 (en) Access control device, information processing device, access control program and access control method
JP2010086009A (ja) 記憶装置およびメモリ制御方法
US9471227B2 (en) Implementing enhanced performance with read before write to phase change memory to avoid write cancellations
JP6844895B1 (ja) ストレージ装置およびストレージ方法
CN105320466A (zh) 固态硬盘安排操作的方法
US9501414B2 (en) Storage control device and storage control method for cache processing according to time zones

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210218

R150 Certificate of patent or registration of utility model

Ref document number: 6844895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150