JP2019016320A - ストレージ制御装置およびストレージ制御プログラム - Google Patents
ストレージ制御装置およびストレージ制御プログラム Download PDFInfo
- Publication number
- JP2019016320A JP2019016320A JP2017135335A JP2017135335A JP2019016320A JP 2019016320 A JP2019016320 A JP 2019016320A JP 2017135335 A JP2017135335 A JP 2017135335A JP 2017135335 A JP2017135335 A JP 2017135335A JP 2019016320 A JP2019016320 A JP 2019016320A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- stream
- ssd
- area
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
例えば、複数の論理アドレス空間を、記憶装置の複数のスペースに割り当て、記憶装置に対するコマンドと、コマンドに対応する論理アドレス空間に割り当てられたスペースの識別データとを記憶装置に送信するようにした情報処理装置が提案されている。なお、この提案において、各スペースは記憶装置内の1以上の書き込み管理エリアに割り当てられている。
例えば、SSDの論理記憶領域を分割した分割領域ごとに、あらかじめ異なるストリームIDを割り当てるものとする。そして、ある分割領域に対するデータの書き込み要求をSSDに送信する場合に、その分割領域に割り当てられたストリームIDを書き込み要求に付加して送信するものとする。この場合、SSDでは、分割領域ごとにデータが異なるブロックに書き込まれる。
1つの側面では、本発明は、記憶装置での書き込み回数を低減可能なストレージ制御装置およびストレージ制御プログラムを提供することを目的とする。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージ制御装置の構成例および処理例を示す図である。図1に示すストレージ制御装置10は、記憶装置20に接続し、記憶装置20に対するデータの書き込みを制御する。記憶装置20は、例えば、フラッシュメモリ、あるいはフラッシュメモリを内蔵するSSDである。
次に、ストレージ制御装置の書き込み制御対象としてSSDが用いられたストレージシステムの例について説明する。
CM100は、CPU(Central Processing Unit)101、RAM102、SSD103、CA(Channel Adapter)104、IOC(Input Output Controller)105およびFPGA(Field Programmable Gate Array)106を有する。
まず、図3は、ストリームIDを利用しない場合のSSDにおける書き込み制御の比較例を示す図である。図3に示すSSD400は、ブロック401〜406を有する。ブロック401〜406は、書き込まれたデータが一度に消去される最小の領域である。
図6は、CMが備える処理機能の構成例を示すブロック図である。CM100は、ホストIO制御部101aを有する。ホストIO制御部101aの処理は、CPU101が所定のアプリケーションプログラムを実行することで実現される。
FPGA106は、記憶部110、コマンド受信処理部121、コマンド送信処理部122、ストリームID設定部123およびガベージコレクション(GC)制御部124を有する。
ストリームID管理テーブル111は、DE200に搭載されたSSD201,201a,201b,・・・のそれぞれについて個別に作成され、記憶される。ストリームID管理テーブル111は、主に、SSDに対する単位領域ごとの書き込み回数や書き込みデータ量、および、各単位領域に対して設定されたストリームIDを保持するためのテーブルである。ストリームID管理テーブル111は、単位領域ID、書き込みデータ量、書き込み回数、ストリームID、GC実行フラグ、IDステータスおよび書き込み管理ビットマップの各項目を有する。
単位領域設定テーブル114は、単位領域ごとに作成されて記憶される。単位領域設定テーブル114は、単位領域、すなわち論理ボリューム上のLBAと、SSD上の論理アドレスとの対応関係を保持する。単位領域設定テーブル114は、例えば、新たな論理ボリュームがCM100に設定されるたびに、CPU101の処理によってFPGA106の記憶部110に登録される。そして、単位領域設定テーブル114は、FPGA106が単位領域に書き込まれたデータについてのガベージコレクションの実行をSSDに要求する際に、単位領域上のLBAをSSD上の論理アドレスに変換するために用いられる。
[ステップS11]ホストIO制御部101aは、ホスト装置300から論理ボリュームに対するデータの書き込み要求を受信する。ホストIO制御部101aは、受信した書き込み要求に応じて、IOC105に対してSSD201に対する書き込みコマンドの発行を要求する。このとき、ホストIO制御部101aは、IOC105に対して、ホスト装置300から書き込み先として指定されたLUNおよびLBAも通知する。IOC105は、書き込み先のSSDの論理アドレス、書き込みデータのデータ長を含む書き込みコマンドを生成し、通知されたLUNおよびLBAとともにFPGA106に受け渡す。コマンド受信処理部121は、書き込みコマンドをLUNおよびLBAとともに受信する。
[ステップS14]コマンド受信処理部121は、処理対象のレコードに登録された書き込み回数をカウントアップする。
[ステップS16]コマンド受信処理部121は、処理対象のレコードに登録されたGC実行フラグが、ガベージコレクションが実行されたことを示す「実行済み」である場合、GC実行フラグを、実行されていないことを示す「未実行」に更新する。
[ステップS21]コマンド受信処理部121は、ステップS20で更新した、SSD201における書き込みデータ増加量が、所定のデータ増加量基準値を超えたか否かを判定する。SSD201のユーザ容量が400GBの場合、データ増加量基準値は、例えば100GBに設定される。コマンド受信処理部121は、書き込みデータ量がデータ増加量基準値を超えた場合、ステップS22の処理を実行し、書き込みデータ量がデータ増加量基準値以下の場合、処理を終了する。
[ステップS31]ストリームID設定部123は、ストリームID管理テーブル111のレコードのうち、IDステータスが「現行ID」であるレコードを特定する。ストリームID設定部123は、特定された各レコードに登録された、単位領域ごとの書き込み回数に基づいて、各単位領域に割り当てるべきストリームIDを更新する。
[ステップS34]ストリームID設定部123は、ストリームID管理テーブル111に新たなレコードを追加する。ストリームID設定部123は、追加したレコードの単位領域IDの項目に、ステップS33で選択された単位領域を示す値を設定し、ストリームIDの項目に、この単位領域についてステップS31で更新された更新後のストリームIDを設定する。さらに、ストリームID設定部123は、書き込みデータ量および書き込み回数の項目に「0」を設定し、GC実行フラグの項目に「未実行」を設定し、IDステータスの項目に「現行ID」を設定する。また、ストリームID設定部123は、書き込み管理ビットマップの項目に、ビット値がすべて「0」であるビットマップデータを設定する。
[ステップS41]GC制御部124は、SSD201の物理記憶領域における空き領域サイズを取得する。具体的には、GC制御部124は、この空き領域サイズの送信を要求するための制御コマンドを、IOC105を介してSSD201に送信し、SSD201から返信された空き領域サイズを受信する。
[ステップS43]ストリームID設定部123は、未更新データのストリームID更新処理を実行する。この処理の詳細については、図13において説明する。
[ステップS51]GC制御部124は、ステップS52以降の処理をすべてのストリームID「0」〜「3」について実行したか否かを判定する。GC制御部124は、未実行のストリームIDがある場合、ステップS52の処理を実行し、すべてのストリームIDについて処理済みの場合、図11のステップS43の処理を実行する。
[ステップS53]GC制御部124は、SSD201に対応する書き込み量管理テーブル112から、ステップS52で選択したストリームIDについての書き込みデータ量を取得する。
なお、このステップS57の処理では、IDステータスが「旧ID」となっているレコードについては、ガベージコレクションの実行により有効データのデータ量が「0」になることがあり得る。これは、ガベージコレクションの実行により、ある単位領域に書き込まれたデータのうち、更新前のストリームIDが付加されていたデータがすべて無効化され、SSD201から消去されたことを意味する。
[ステップS60]GC制御部124は、ステップS56で特定したレコードのうち、IDステータスが「旧ID」または「無効ID」であり、かつ、書き込みデータ量が「0」のレコードを特定する。また、GC制御部124は、特定したレコードと同じ単位領域IDが登録され、かつ、IDステータスが「現行ID」であるレコードを特定する。GC制御部124は、前者のレコードに登録された書き込み管理ビットマップと、後者のレコードに登録された書き込み管理ビットマップとを、それらの論理和をとることでマージする。GC制御部124は、マージされたビットマップによって、後者のレコードに登録されている書き込み管理ビットマップを更新する。そして、GC制御部124は、前者のレコードをストリームID管理テーブル111から削除する。
以上の図11、図12の処理によれば、SSD201側の判断に基づくガベージコレクションだけでなく、FPGA106側の判断に基づくガベージコレクションを積極的にSSD201に実行させることができる。FPGA106のGC制御部124は、ストリームIDごとの書き込みデータ量を管理し、その管理の結果を用いることで、ガベージコレクションを実行すべきストリームIDを適切に判定することができる。これにより、SSD201でのガベージコレクションの処理効率が高まる。また、SSD201側の判断に基づくガベージコレクションの実行回数を減らすこともできる。SSD201全体として見ると、SSD201側の判断だけに基づく場合より、ガベージコレクションの実行回数を減らすことができる可能性が高い。その場合、ガベージコレクションの実行に伴うデータの書き込み量をさらに削減できる可能性が高い。
[ステップS71]ストリームID設定部123は、ステップS72以降の処理をすべての単位領域について実行したか否かを判定する。ストリームID設定部123は、未実行の単位領域がある場合、ステップS72の処理を実行し、すべての単位領域について処理済みの場合、処理を終了する。
[ステップS73]ストリームID設定部123は、ストリームID管理テーブル111から、ステップS72で選択した単位領域の単位領域IDが登録されたレコードを特定する。ストリームID設定部123は、特定したレコードの中に、IDステータスが「旧ID」であり、かつ、GC実行フラグが「実行済み」であるレコードがあるか否かを判定する。この判定条件に該当するレコードは、直前にガベージコレクションが実行されたストリームIDが、更新前のストリームIDとして割り当てられていた単位領域に対応するレコードである。ストリームID設定部123は、該当するレコードがある場合、ステップS74の処理を実行し、該当するレコードがない場合、ステップS71の処理を再度実行する。
まず、図14は、第1の状態において管理テーブルに登録されるデータの例を示す図である。また、図15は、第1の状態におけるSSDの物理記憶領域のイメージ例を示す図である。
第3の実施の形態に係るCMは、FPGA106の処理がCPU101によって実行されるように、第2の実施の形態に係るCM100を変形したものである。以下、第2の実施の形態との相違点について説明する。なお、第2の実施の形態と同じ構成要素には、同じ符号を付して示す。
第3の実施の形態に係るストレージ装置は、CM100の代わりにCM100aを有する。CM100aは、ホストIO制御部101aに加えて、記憶部102aと書き込み制御部101bを有する。
書き込み制御部101bは、ホストIO制御部101aがIOC105に対して読み出しコマンドの発行要求を出力した場合、その発行要求をそのままIOC105に転送する。一方、書き込み制御部101bは、ホストIO制御部101aがIOC105に対して書き込みコマンドの発行要求を出力した場合には、その発行要求をそのままIOC105に転送せずに取得する。なお、書き込み制御部101bは、書き込みコマンドの発行要求を取得したとき、LUNおよびLBAの通知も受ける。
なお、上記の各実施の形態に示した装置(例えば、ストレージ制御装置10、CM100,100a)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
(付記1) 記憶装置の論理記憶領域を分割した複数の分割領域のそれぞれと、書き込み頻度の違いを示す複数の識別番号のうちの1つとの対応関係を示す対応管理情報を記憶する記憶部と、制御部とを有し、
前記制御部は、
前記複数の分割領域のいずれかに含まれる書き込みアドレスへの書き込みが要求されると、前記対応管理情報に基づいて、前記複数の識別番号のうち前記書き込みアドレスを含む分割領域に対応付けられた識別番号を、前記書き込みアドレスに対する第1の書き込み要求に付加して前記記憶装置に送信し、
前記複数の分割領域ごとに書き込み頻度を計測し、
書き込み頻度の計測結果に基づいて、前記対応管理情報が示す前記対応関係を更新し、
前記対応関係の更新後に前記書き込みアドレスへの書き込みが要求されると、前記対応管理情報に基づいて、前記複数の識別番号のうち前記書き込みアドレスを含む分割領域に対応付けられた識別番号を、前記書き込みアドレスに対する第2の書き込み要求に付加して前記記憶装置に送信する、
ストレージ制御装置。
付記1記載のストレージ制御装置。
付記1または2記載のストレージ制御装置。
付記1〜3のいずれか1つに記載のストレージ制御装置。
前記記憶装置の物理記憶領域の空き容量が所定容量より小さくなった場合、前記記憶装置に書き込まれたデータのうち、書き込み時に前記複数の識別番号がそれぞれ付加されたデータのデータ総量を取得し、
前記複数の識別番号の中から、前記データ総量が所定基準量より大きい特定識別番号を特定し、
書き込み時に前記特定識別番号が付加されたデータについてのガベージコレクションを前記記憶装置に実行させる、
付記1〜4のいずれか1つに記載のストレージ制御装置。
前記制御部は、さらに、前記記憶装置に対して、前記複数の識別番号のいずれかを付加して書き込み要求を送信するたびに、付加した識別番号に対応する前記書き込みデータ量に書き込みを要求したデータのサイズを加算し、
前記データ総量の取得では、その時点での前記複数の識別番号にそれぞれ対応する前記書き込みデータ量を、前記データ総量として前記データ量管理情報から読み出す、
付記5記載のストレージ制御装置。
前記複数の分割領域の中から、前回の前記対応関係の更新前に前記特定識別番号が対応付けられており、かつ、前回の前記対応関係の更新後に書き込みが要求されていない特定分割領域を特定し、
前記対応管理情報に基づいて、前記複数の識別番号の中から前記特定分割領域に現在対応付けられている現行識別番号を特定し、
前回の前記対応関係の更新前に前記特定分割領域に書き込まれたデータを前記記憶装置から読み出し、読み出したデータに前記現行識別番号を付加して前記記憶装置に書き込みし直す、
付記5または6記載のストレージ制御装置。
記憶装置の論理記憶領域を分割した複数の分割領域のいずれかに含まれる書き込みアドレスへの書き込みが要求されると、前記複数の分割領域のそれぞれと、書き込み頻度の違いを示す複数の識別番号のうちの1つとの対応関係を示す対応管理情報に基づいて、前記複数の識別番号のうち前記書き込みアドレスを含む分割領域に対応付けられた識別番号を、前記書き込みアドレスに対する第1の書き込み要求に付加して前記記憶装置に送信し、
前記複数の分割領域ごとに書き込み頻度を計測し、
書き込み頻度の計測結果に基づいて、前記対応管理情報が示す前記対応関係を更新し、
前記対応関係の更新後に前記書き込みアドレスへの書き込みが要求されると、前記対応管理情報に基づいて、前記複数の識別番号のうち前記書き込みアドレスを含む分割領域に対応付けられた識別番号を、前記書き込みアドレスに対する第2の書き込み要求に付加して前記記憶装置に送信する、
処理を実行させるストレージ制御プログラム。
付記8記載のストレージ制御プログラム。
付記8または9記載のストレージ制御プログラム。
付記8〜10のいずれか1つに記載のストレージ制御プログラム。
前記記憶装置の物理記憶領域の空き容量が所定容量より小さくなった場合、前記記憶装置に書き込まれたデータのうち、書き込み時に前記複数の識別番号がそれぞれ付加されたデータのデータ総量を取得し、
前記複数の識別番号の中から、前記データ総量が所定基準量より大きい特定識別番号を特定し、
書き込み時に前記特定識別番号が付加されたデータについてのガベージコレクションを前記記憶装置に実行させる、
処理をさらに実行させる付記8〜11のいずれか1つに記載のストレージ制御プログラム。
前記複数の識別番号のそれぞれに対応する書き込みデータ量が登録されたデータ量管理情報を記憶部に格納し、
前記記憶装置に対して、前記複数の識別番号のいずれかを付加して書き込み要求を送信するたびに、付加した識別番号に対応する前記書き込みデータ量に書き込みを要求したデータのサイズを加算する、
処理をさらに実行させ、
前記データ総量の取得では、その時点での前記複数の識別番号にそれぞれ対応する前記書き込みデータ量を、前記データ総量として前記データ量管理情報から読み出す、
付記12記載のストレージ制御システム。
前記複数の分割領域の中から、前回の前記対応関係の更新前に前記特定識別番号が対応付けられており、かつ、前回の前記対応関係の更新後に書き込みが要求されていない特定分割領域を特定し、
前記対応管理情報に基づいて、前記複数の識別番号の中から前記特定分割領域に現在対応付けられている現行識別番号を特定し、
前回の前記対応関係の更新前に前記特定分割領域に書き込まれたデータを前記記憶装置から読み出し、読み出したデータに前記現行識別番号を付加して前記記憶装置に書き込みし直す、
処理をさらに実行させる付記12または13記載のストレージ制御システム。
11 記憶部
11a 対応管理情報
12 制御部
20 記憶装置
21 論理記憶領域
22 物理記憶領域
22a〜22c 管理領域
AD1,AD2 書き込みアドレス
D1a,D1b,D2a,D2b データ
R1〜R3 分割領域
S1〜S4 ステップ
Claims (8)
- 記憶装置の論理記憶領域を分割した複数の分割領域のそれぞれと、書き込み頻度の違いを示す複数の識別番号のうちの1つとの対応関係を示す対応管理情報を記憶する記憶部と、制御部とを有し、
前記制御部は、
前記複数の分割領域のいずれかに含まれる書き込みアドレスへの書き込みが要求されると、前記対応管理情報に基づいて、前記複数の識別番号のうち前記書き込みアドレスを含む分割領域に対応付けられた識別番号を、前記書き込みアドレスに対する第1の書き込み要求に付加して前記記憶装置に送信し、
前記複数の分割領域ごとに書き込み頻度を計測し、
書き込み頻度の計測結果に基づいて、前記対応管理情報が示す前記対応関係を更新し、
前記対応関係の更新後に前記書き込みアドレスへの書き込みが要求されると、前記対応管理情報に基づいて、前記複数の識別番号のうち前記書き込みアドレスを含む分割領域に対応付けられた識別番号を、前記書き込みアドレスに対する第2の書き込み要求に付加して前記記憶装置に送信する、
ストレージ制御装置。 - 前記複数の識別番号は、前記記憶装置が、書き込みデータを前記書き込みデータに付加された識別番号に応じて複数の管理領域のうち異なる管理領域に書き込むように制御するための情報であり、前記複数の管理領域のそれぞれは、前記記憶装置の物理記憶領域に含まれる、データ消去の単位となる領域である、
請求項1記載のストレージ制御装置。 - 前記対応関係の更新は、前記記憶装置に書き込まれる累積データ量が所定量増加するたびに実行される、
請求項1または2記載のストレージ制御装置。 - 前記複数の分割領域の数より前記複数の識別番号の数が少ない場合、前記対応関係の更新では、前記複数の識別番号の少なくとも1つを前記複数の分割領域のうち2以上の分割領域に対応付ける、
請求項1〜3のいずれか1項に記載のストレージ制御装置。 - 前記制御部は、さらに、
前記記憶装置の物理記憶領域の空き容量が所定容量より小さくなった場合、前記記憶装置に書き込まれたデータのうち、書き込み時に前記複数の識別番号がそれぞれ付加されたデータのデータ総量を取得し、
前記複数の識別番号の中から、前記データ総量が所定基準量より大きい特定識別番号を特定し、
書き込み時に前記特定識別番号が付加されたデータについてのガベージコレクションを前記記憶装置に実行させる、
請求項1〜4のいずれか1項に記載のストレージ制御装置。 - 前記記憶部は、さらに、前記複数の識別番号のそれぞれに対応する書き込みデータ量が登録されたデータ量管理情報を記憶し、
前記制御部は、さらに、前記記憶装置に対して、前記複数の識別番号のいずれかを付加して書き込み要求を送信するたびに、付加した識別番号に対応する前記書き込みデータ量に書き込みを要求したデータのサイズを加算し、
前記データ総量の取得では、その時点での前記複数の識別番号にそれぞれ対応する前記書き込みデータ量を、前記データ総量として前記データ量管理情報から読み出す、
請求項5記載のストレージ制御装置。 - 前記制御部は、さらに、
前記複数の分割領域の中から、前回の前記対応関係の更新前に前記特定識別番号が対応付けられており、かつ、前回の前記対応関係の更新後に書き込みが要求されていない特定分割領域を特定し、
前記対応管理情報に基づいて、前記複数の識別番号の中から前記特定分割領域に現在対応付けられている現行識別番号を特定し、
前回の前記対応関係の更新前に前記特定分割領域に書き込まれたデータを前記記憶装置から読み出し、読み出したデータに前記現行識別番号を付加して前記記憶装置に書き込みし直す、
請求項5または6記載のストレージ制御装置。 - コンピュータに、
記憶装置の論理記憶領域を分割した複数の分割領域のいずれかに含まれる書き込みアドレスへの書き込みが要求されると、前記複数の分割領域のそれぞれと、書き込み頻度の違いを示す複数の識別番号のうちの1つとの対応関係を示す対応管理情報に基づいて、前記複数の識別番号のうち前記書き込みアドレスを含む分割領域に対応付けられた識別番号を、前記書き込みアドレスに対する第1の書き込み要求に付加して前記記憶装置に送信し、
前記複数の分割領域ごとに書き込み頻度を計測し、
書き込み頻度の計測結果に基づいて、前記対応管理情報が示す前記対応関係を更新し、
前記対応関係の更新後に前記書き込みアドレスへの書き込みが要求されると、前記対応管理情報に基づいて、前記複数の識別番号のうち前記書き込みアドレスを含む分割領域に対応付けられた識別番号を、前記書き込みアドレスに対する第2の書き込み要求に付加して前記記憶装置に送信する、
処理を実行させるストレージ制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017135335A JP2019016320A (ja) | 2017-07-11 | 2017-07-11 | ストレージ制御装置およびストレージ制御プログラム |
US16/026,174 US10776278B2 (en) | 2017-07-11 | 2018-07-03 | Storage control apparatus and computer-readable storage medium storing storage control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017135335A JP2019016320A (ja) | 2017-07-11 | 2017-07-11 | ストレージ制御装置およびストレージ制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019016320A true JP2019016320A (ja) | 2019-01-31 |
Family
ID=64998984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017135335A Pending JP2019016320A (ja) | 2017-07-11 | 2017-07-11 | ストレージ制御装置およびストレージ制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10776278B2 (ja) |
JP (1) | JP2019016320A (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10496297B2 (en) * | 2017-11-21 | 2019-12-03 | Micron Technology, Inc. | Data categorization based on invalidation velocities |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US20190324685A1 (en) * | 2018-04-19 | 2019-10-24 | EMC IP Holding Company, LLC | Storage management system and method |
US10846216B2 (en) * | 2018-10-25 | 2020-11-24 | Pure Storage, Inc. | Scalable garbage collection |
KR102626058B1 (ko) * | 2019-07-08 | 2024-01-18 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US12050689B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Host anomaly-based generation of snapshots |
US20220327208A1 (en) * | 2019-11-22 | 2022-10-13 | Pure Storage, Inc. | Snapshot Deletion Pattern-Based Determination of Ransomware Attack against Data Maintained by a Storage System |
US20210382992A1 (en) * | 2019-11-22 | 2021-12-09 | Pure Storage, Inc. | Remote Analysis of Potentially Corrupt Data Written to a Storage System |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US12079356B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Measurement interval anomaly detection-based generation of snapshots |
US12067118B2 (en) | 2019-11-22 | 2024-08-20 | Pure Storage, Inc. | Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system |
US12079333B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Independent security threat detection and remediation by storage systems in a synchronous replication arrangement |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11500788B2 (en) * | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11520907B1 (en) * | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US12079502B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Storage element attribute-based determination of a data protection policy for use within a storage system |
US12050683B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system |
KR20210099930A (ko) * | 2020-02-05 | 2021-08-13 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN113448877A (zh) * | 2020-03-26 | 2021-09-28 | 伊姆西Ip控股有限责任公司 | 用于数据存储的方法、设备和计算机程序 |
CN113885808B (zh) * | 2021-10-28 | 2024-03-15 | 合肥兆芯电子有限公司 | 映射信息记录方法以及存储器控制电路单元与存储装置 |
KR20230097866A (ko) * | 2021-12-24 | 2023-07-03 | 삼성전자주식회사 | 메모리 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014049678A1 (ja) * | 2012-09-25 | 2014-04-03 | 株式会社 東芝 | ソリッドステートドライブにデータを再配置するストレージ装置、ストレージコントローラ及び方法 |
WO2016067328A1 (ja) * | 2014-10-27 | 2016-05-06 | 株式会社日立製作所 | 不揮発メモリデバイスを有するストレージ装置、及び、不揮発メモリデバイス |
WO2016135954A1 (ja) * | 2015-02-27 | 2016-09-01 | 株式会社日立製作所 | ストレージ装置および不揮発メモリデバイス |
US20170060479A1 (en) * | 2015-08-31 | 2017-03-02 | Samsung Electronics Co., Ltd. | Storage device configured to manage plural data streams based on data amount |
JP2017054465A (ja) * | 2015-09-11 | 2017-03-16 | 株式会社東芝 | メモリシステムおよびホスト装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070101047A1 (en) | 2004-12-22 | 2007-05-03 | Kiyoshi Kamiya | Memory apparatus and controller |
US9977734B2 (en) | 2014-12-11 | 2018-05-22 | Toshiba Memory Corporation | Information processing device, non-transitory computer readable recording medium, and information processing system |
-
2017
- 2017-07-11 JP JP2017135335A patent/JP2019016320A/ja active Pending
-
2018
- 2018-07-03 US US16/026,174 patent/US10776278B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014049678A1 (ja) * | 2012-09-25 | 2014-04-03 | 株式会社 東芝 | ソリッドステートドライブにデータを再配置するストレージ装置、ストレージコントローラ及び方法 |
WO2016067328A1 (ja) * | 2014-10-27 | 2016-05-06 | 株式会社日立製作所 | 不揮発メモリデバイスを有するストレージ装置、及び、不揮発メモリデバイス |
WO2016135954A1 (ja) * | 2015-02-27 | 2016-09-01 | 株式会社日立製作所 | ストレージ装置および不揮発メモリデバイス |
US20170060479A1 (en) * | 2015-08-31 | 2017-03-02 | Samsung Electronics Co., Ltd. | Storage device configured to manage plural data streams based on data amount |
JP2017054465A (ja) * | 2015-09-11 | 2017-03-16 | 株式会社東芝 | メモリシステムおよびホスト装置 |
Also Published As
Publication number | Publication date |
---|---|
US10776278B2 (en) | 2020-09-15 |
US20190018784A1 (en) | 2019-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019016320A (ja) | ストレージ制御装置およびストレージ制御プログラム | |
JP4813843B2 (ja) | ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法 | |
CN108733313B (zh) | 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质 | |
JP6000376B2 (ja) | 特性の異なる複数種類のキャッシュメモリを有する情報処理装置 | |
JP5149912B2 (ja) | 複数の異種のソリッドステート・ストレージ・ロケーションの選択的利用 | |
JP2008015769A (ja) | ストレージシステム及び書き込み分散方法 | |
US20140089582A1 (en) | Disk array apparatus, disk array controller, and method for copying data between physical blocks | |
JP2018041245A (ja) | ストレージ装置、及びストレージ制御装置 | |
JP2005537554A (ja) | ストレージ・ユニット間のデータ移動 | |
CN107562367B (zh) | 基于软件化存储系统读写数据的方法以及装置 | |
CN111796765B (zh) | 优化数据存储系统性能的方法 | |
JP6402557B2 (ja) | ストレージ装置、ストレージ制御方法およびストレージ制御プログラム | |
JP6867578B2 (ja) | ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム | |
WO2014142337A1 (ja) | ストレージ装置と方法及びプログラム | |
CN113396566A (zh) | 分布式存储系统中基于全面i/o监测的资源分配 | |
US10482012B1 (en) | Storage system and method of operating thereof | |
JP7197783B2 (ja) | 情報処理システム、管理装置および管理プログラム | |
KR101103061B1 (ko) | 반도체 스토리지 시스템 및 그 제어 방법 | |
JP2018197933A (ja) | ストレージ制御装置、情報処理システムおよびプログラム | |
JP2010237907A (ja) | ストレージ装置および記録方法 | |
JP7323769B2 (ja) | ストレージ装置、ストレージシステムおよびプログラム | |
JP2017037501A (ja) | ストレージ制御装置およびストレージ制御プログラム | |
JP7132491B2 (ja) | メモリ制御装置、メモリ制御プログラムおよびメモリ制御方法 | |
JP2021114264A (ja) | ストレージ制御装置およびストレージ制御プログラム | |
JP2011227802A (ja) | データ記録装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200409 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200414 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210217 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210810 |