JP6817242B2 - ディスクアレイ装置、ディスクアレイ装置の制御方法、及びディスクアレイ装置の制御プログラム - Google Patents

ディスクアレイ装置、ディスクアレイ装置の制御方法、及びディスクアレイ装置の制御プログラム Download PDF

Info

Publication number
JP6817242B2
JP6817242B2 JP2018031468A JP2018031468A JP6817242B2 JP 6817242 B2 JP6817242 B2 JP 6817242B2 JP 2018031468 A JP2018031468 A JP 2018031468A JP 2018031468 A JP2018031468 A JP 2018031468A JP 6817242 B2 JP6817242 B2 JP 6817242B2
Authority
JP
Japan
Prior art keywords
write
ssd
write data
data
ssds
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
JP2018031468A
Other languages
English (en)
Other versions
JP2019148844A (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 JP2018031468A priority Critical patent/JP6817242B2/ja
Priority to US16/963,705 priority patent/US11635909B2/en
Priority to PCT/JP2019/006236 priority patent/WO2019163806A1/ja
Publication of JP2019148844A publication Critical patent/JP2019148844A/ja
Application granted granted Critical
Publication of JP6817242B2 publication Critical patent/JP6817242B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ディスクアレイ装置を構成するSSDにおける断片化を解消する技術に関する。
SSD(Solid State Drive)において、連続しない物理アドレスに対する一連のデータ(ランダムデータ)の書き込み(ランダムライトアクセス)を繰り返すと、SSD中のデータが保持されていない記憶領域(空き領域)が徐々に断片化(フラグメンテーション)する。SSDにおける空き領域の断片化は、SSDにおける書き込み速度を低下させる。
SSDでは、データの消去はブロック単位(例えば、512キロバイト(KB))で行われる。一方、データの書き込みは、ブロックより小さいページ単位(例えば、512バイト(B)、4KB等)で行われる。そのため、データが既に書き込まれているブロックの一部に新たなデータを上書きするためには、当該ブロックに書き込まれたデータを読み出した後に、当該ブロック全体を消去し、読み出したデータを新たなデータを用いて更新したデータを当該ブロックに書き込むことが必要である。従って、SSDにおける空き領域の断片化は、SSDにおけるデータの書き込みの速度を大幅に低下させる。このような空き領域の断片化は、連続した物理アドレスに対する一連のデータ(シーケンシャルデータ)の書き込みに比べて、ランダムデータの書き込みにおいて発生しやすい。
ランダムデータを検出する技術の一例が、特許文献1に開示されている。特許文献1のストレージ装置は、書き込むべきデータが所定の長さ以下である場合や、書き込むべきデータに関するライト要求が連続するアドレスに対するライト要求でない場合に、書き込むべきデータがランダムデータであると判断する。そして、ストレージ装置は、ランダムライトアクセスの回数が所定の回数よりも大きい場合等に、ディスク状記憶デバイスに格納されているデータを不揮発メモリデバイスに複製する。そして、ストレージ装置は、ホスト装置からデータ読み出し要求を受信し、対応するデータが不揮発メモリデバイスに格納されている場合には、不揮発メモリデバイスからデータを読み出す。上記構成の結果、特許文献1のストレージ装置では、アクセス性能が向上する。
運用メモリにおいて障害が多発したページを予備メモリのページを用いて代替する技術の一例が、特許文献2に開示されている。特許文献2のメモリ制御方式は、TLB(Translation Look-aside Buffer)によって、論理ページを運用メモリの物理ページに変換する。本メモリ制御方式は、ある物理ページにおいて障害が多発すると、当該物理ページを不良/代替一覧テーブルに登録する。そして、本メモリ制御方式は、運用メモリの当該ページから内容を読み出して、予備メモリの代替先ページへコピーする。そして、本メモリ制御方式は、TLB内の物理ページを運用メモリから予備メモリのページに書替える。上記構成の結果、特許文献2のメモリ制御方式は、障害が多発した運用メモリのページを予備メモリのページで代替する。
特許文献1や特許文献2に開示されている技術では、空き領域の断片化を解消できない。SSDにおける空き領域の断片化は、データが書き込まれた領域や空き領域を記憶領域中で連続的に再配置することにより解消される。
SSDにおける断片化を解消する技術の一例が、特許文献3に開示されている。特許文献3のSSDストレージシステムは、RAID(Redundant Arrays of Inexpensive Disks)1を構成する2台のSSDと、予備用のスペアSSDと、RAIDコントローラとを含む。RAIDコントローラは、無効ページ数カウント部と、閾値超え検出部と、スペアSSD書き込み部とを含む。無効ページ数カウント部は、SSD内の各ブロックにおいて無効データの書き込み済みの状態にある無効ページ数をカウントする。ここで、無効データとは、書き込み後に論理的に消去(無効化)されたが、物理的に消去されていないデータである。閾値超え検出部は、無効ページ数が所定のページ数閾値を超えたブロックを検出した際に、ガベージコレクションの対象である対象ブロックとして検出する。スペアSSD書き込み部は、対象ブロックに対する書き込み動作を停止し、対象ブロックに対して書き込むべきデータをスペアSSDの任意のブロックに対して書き込む。SSDは、ガベージコレクション実行部を含む。ガベージコレクション実行部は、対象ブロックと任意に指定したブロックとを用いて対象ブロックに対してガベージコレクションを行う。上記構成の結果、特許文献3のSSDストレージシステムは、ガベージコレクションが発生しても書き込みレスポンスの低下を防止する。
特開2009−075658号公報 特開平11−175409号公報 特開2016−192025号公報
しかしながら、特許文献3のSSDストレージシステムでは、ガベージコレクションの要否判定のために、無効ページ数カウント部が、SSD内の各ブロックにおいて無効ページ数を繰り返しカウントする。通常、1ブロックは数十乃至数百ページを含み、1つのSSDは数十乃至数百ブロックを含む。従って、特許文献3のSSDストレージシステムには、無効ページ数のカウントに要する負荷が高いという問題点があった。
本発明は、上記の課題に鑑みてなされたもので、ディスクアレイ装置における断片化解消の要否判定に要する負荷を低減することを主たる目的とする。
本発明の一態様において、ディスクアレイ装置は、書き込みデータと書き込みデータの書き込み先を示す物理アドレスとが与えられた際に、書き込みデータを書き込むべき所定のサイズを有するページにおける内部アドレスを決定し、物理アドレスと決定した内部アドレスとの対応関係をアドレスマッピングテーブルとして保持し、決定した部アドレスへ書き込みデータを書き込み可能であり、書き込んだ書き込みデータを所定の個数のページからなるブロックを単位として消去可能であり、且つ全ての書き込みデータが消去された場合にアドレスマッピングテーブルを初期化可能である複数のSSD(Solid State Drive)と、ホストから受信した第1の書き込み命令を、複数のSSDのうち第1の書き込み命令に含まれる書き込みデータの書き込み先として使われているSSDのグループである現用プールに属する各SSDに対する第2の書き込み命令に変換し、該SSDに対する、最新の1つ前における第2の書き込み命令において書き込まれた書き込みデータの末尾を示す内部アドレスである末尾アドレスを導出可能なデータを保持しており、導出した末尾アドレスと最新の第2の書き込み命令における書き込み先を示す内部アドレスとが不連続であった不連続回数を保持する入出力制御手段と、現用プールに属するSSDのうち第1のSSDに関する不連続回数が、第1のSSDにおける書き込み性能の低下を許容可能な第1のSSDに関する不連続回数の所定の上限値を超えた場合に、複数のSSDのうち第1の書き込み命令に含まれる書き込みデータの書き込み先として使われていないSSDのグループである予備プールに属し且つアドレスマッピングテーブルが初期化されている第2のSSDにおいて、第1のSSDが保持している全ての書き込みデータについて、複数の書き込みデータを書き込み先アドレスが連続した領域にコピーすることと、現用プールから第1のSSDを削除することと、現用プールへ第2のSSDを追加することとを行う入替制御手段とを備える。
本発明の一態様において、ディスクアレイ装置の制御方法は、書き込みデータと書き込みデータの書き込み先を示す物理アドレスとが与えられた際に、書き込みデータを書き込むべき所定のサイズを有するページにおける内部アドレスを決定し、物理アドレスと決定した内部アドレスとの対応関係をアドレスマッピングテーブルとして保持し、決定した部アドレスへ書き込みデータを書き込み可能であり、書き込んだ書き込みデータを所定の個数のページからなるブロックを単位として消去可能であり、且つ全ての書き込みデータが消去された場合にアドレスマッピングテーブルを初期化可能である複数のSSD(Solid State Drive)を備えたディスクアレイ装置の制御方法であって、ホストから受信した第1の書き込み命令を、複数のSSDのうち第1の書き込み命令に含まれる書き込みデータの書き込み先として使われているSSDのグループである現用プールに属する各SSDに対する第2の書き込み命令に変換し、該SSDに対する、最新の1つ前における第2の書き込み命令において書き込まれた書き込みデータの末尾を示す内部アドレスである末尾アドレスを導出可能なデータを保持しており、導出した末尾アドレスと最新の第2の書き込み命令における書き込み先を示す内部アドレスとが不連続であった不連続回数を保持する入出力制御手順と、現用プールに属するSSDのうち第1のSSDに関する不連続回数が、第1のSSDにおける書き込み性能の低下を許容可能な第1のSSDに関する不連続回数の所定の上限値を超えた場合に、複数のSSDのうち第1の書き込み命令に含まれる書き込みデータの書き込み先として使われていないSSDのグループである予備プールに属し且つアドレスマッピングテーブルが初期化されている第2のSSDにおいて、第1のSSDが保持している全ての書き込みデータについて、複数の前記書き込みデータを書き込み先アドレスが連続した領域にコピーすることと、現用プールから第1のSSDを削除することと、現用プールへ第2のSSDを追加することとを行う入替制御手順とを行う。
本発明の一態様において、ディスクアレイ装置の制御プログラムは、書き込みデータと書き込みデータの書き込み先を示す物理アドレスとが与えられた際に、書き込みデータを書き込むべき所定のサイズを有するページにおける内部アドレスを決定し、物理アドレスと決定した内部アドレスとの対応関係をアドレスマッピングテーブルとして保持し、決定した部アドレスへ書き込みデータを書き込み可能であり、書き込んだ書き込みデータを複数のSSD(Solid State Drive)を備えたディスクアレイ装置が備えるコンピュータに、ホストから受信した第1の書き込み命令を、複数のSSDのうち第1の書き込み命令に含まれる書き込みデータの書き込み先として使われているSSDのグループである現用プールに属する各SSDに対する第2の書き込み命令に変換し、該SSDに対する、最新の1つ前における第2の書き込み命令において書き込まれた書き込みデータの末尾を示す内部アドレスである末尾アドレスを導出可能なデータを保持しており、導出した末尾アドレスと最新の第2の書き込み命令における書き込み先を示す内部アドレスとが不連続であった不連続回数を保持する入出力制御処理と、現用プールに属するSSDのうち第1のSSDに関する不連続回数が、第1のSSDにおける書き込み性能の低下を許容可能な第1のSSDに関する不連続回数の所定の上限値を超えた場合に、複数のSSDのうち第1の書き込み命令に含まれる書き込みデータの書き込み先として使われていないSSDのグループである予備プールに属し且つアドレスマッピングテーブルが初期化されている第2のSSDにおいて、第1のSSDが保持している全ての書き込みデータについて、複数の書き込みデータを書き込み先アドレスが連続した領域にコピーすることと、現用プールから第1のSSDを削除することと、現用プールへ第2のSSDを追加することとを行う入替制御を行う入替制御処理とを実行させる。
本発明によれば、ディスクアレイ装置における断片化解消の要否判定に要する負荷を低減できるという効果がある。
本発明の第1の実施形態におけるディスクアレイ装置の構成の一例を示すブロック図である。 本発明の第1の実施形態における入出力制御部の動作を示すフローチャートである。 本発明の第1の実施形態における入替制御部の動作例の前半を説明する図である。 本発明の第1の実施形態における入替制御部の動作例の後半を説明する図である。 本発明の第1の実施形態における入替制御部の動作を示すフローチャートである。 本発明の第1の実施形態におけるSSDに対するデータの書き込みを説明するための図である。 本発明の第1の実施形態における断片化解消処理を説明するための図である。 本発明の第1の実施形態における断片化解消処理を説明するための図である。 本発明の第1の実施形態におけるSSDにおいてランダムデータライトを継続した際の書き込む性能の変化の一例を示すグラフである。 本発明の第1の実施形態における初期化されたSSDにおけるシーケンシャルデータの書き込みを説明するための図であるである。 本発明の各実施形態におけるディスクアレイ装置を実現可能なハードウェア構成の一例を示すブロック図である。
以下、本発明の実施形態について、図面を参照して詳細に説明する。尚、全ての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
本発明の第1の実施形態について説明する。
本実施形態における構成について説明する。
図1は、本発明の第1の実施形態におけるディスクアレイ装置の構成の一例を示すブロック図である。
本実施形態におけるディスクアレイ装置100は、ホスト200に接続される。
ディスクアレイ装置100は、現用プール120と、性能特性テーブル170と、入出力管理テーブル180と、予備プール140と、インタフェース160と、入出力制御部130と、入替制御部150とを含む。
現用プール120は、ホスト200から書き込まれたデータを保持するSSD110のグループである。図1では、初期状態において、現用プール120は、2つのSSD110(SSD−A、SSD−B)を含むこととする。
性能特性テーブル170は、あらかじめ設定された、各SSD110の種別に応じた不連続回数(RandomWriteCount)の上限値(RandomWriteCount閾値)を表すデータを保持する。不連続回数の上限値は、例えば、あるSSD110において、許容可能な書き込み性能の低下に対応する不連続回数として決定してもよい。
入出力管理テーブル180は、各SSD110の最後のWriteコマンド(書き込み命令)により書き込まれたデータの末尾のアドレスに後続するアドレスを表すデータ(ContinuousAddress)と、不連続なアドレスに対してデータの書き込みが行われた回数を表すデータ(RandomWriteCount)とを保持する。
SSD110は、Writeコマンドを受信した際に、Writeコマンドにおける物理アドレス(PBA:Physical Block Address)に対してデータを保持するページを割り当てる。ここで、ページは、所定のサイズ(例えば、512バイト(B)、4KB等)を有する。そして、SSD110は、SSD110の内部におけるアドレスマッピングテーブル(不図示)において、割り当て情報を保持する。ここで、SSDにおいて使用される不揮発性メモリ(NAND Flash Memory)には、同一ページに対する書き換え回数に制限がある。そこで、通常、SSDは、可能な限り均一にページを利用するようにデータの書き込みを制御する(ウェアレベリング)。そのため、SSDでは、書き込みデータを保持する領域及び空き領域の断片化が進みやすい。特に、ランダムデータの書き込みでは、シーケンシャルデータの書き込みに比べて、SSDにおける断片化が顕著に進行する。
予備プール140は、現用プール120を構成するSSD110と入れ替えるための予備のSSD110のグループである。図1では、初期状態において、予備プール140は、1つのSSD110(SSD−C)を含むこととする。
入出力制御部130は、現用プール120に対する入出力を、現用プール120に属するSSD110(例えば、SSD−A、SSD−B)に対する入出力に変換する。ここで、入出力は、書き込み命令を含む。又、入出力制御部130は、SSD110への入出力を監視し、入出力管理テーブル180を更新する。入出力管理テーブル180の更新は、データの書き込み先アドレスの連続性の確認を含む。
入替制御部150は、性能特性テーブル170と入出力管理テーブル180とが保持するデータに基づいて、現用プール120に属するSSD110(例えば、SSD−A又はSSD−Bの何れか)と、予備プール140に属すSSD110(例えば、SSD−C)とを入れ替える。尚、入替制御部150は、SSD110において、書き込みデータが既に書き込まれている、複数のページから成るブロックの一部に新たな書き込みデータを書き込む際に、当該ブロック全体において書き込みデータを予め消去する。ここで、ブロックは、所定の個数のページからなる。
ホスト200は、ディスクアレイ装置100に対してデータの読み書きを行う。
インタフェース160は、ディスクアレイ装置100とホスト200とを接続する。インタフェース160は、何れかのRAID(Redundant Arrays of Inexpensive Disks)方式に対応している。
本実施形態における動作について説明する。
図2は、本発明の第1の実施形態における入出力制御部の動作を示すフローチャートである。尚、図2に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
まず、入出力制御部130は、ホスト200から第1の書き込み命令(Writeコマンド)を受信する(ステップS110)。
次に、入出力制御部130は、受信した第1の書き込み命令(Writeコマンド)を、現用プール120に属するSSD110(例えば、SSD−A、SSD−B)に対する第2の書き込み命令(Writeコマンド)に変換する(ステップS120)。
続いて、入出力制御部130は、当該SSD110にデータが書き込まれる際に、当該SSD110に対して発行された第2の書き込み命令における書き込み先アドレス(開始アドレス)が入出力管理テーブル180における当該SSD110のContinuousAddressと一致するか否かを確認する(ステップS130)。ここで、入出力管理テーブル180は、当該SSD110に関するContinuousAddressに、当該SSD110に対して発行された1つ前の第2の書き込み命令における、書き込み先アドレスに書き込みデータ長を加算した値を保持している。
一致しなかった場合には(ステップS140のNo)、入出力制御部130は、最新の第2の書き込み命令が不連続なアドレスに対する書き込み命令であると判断して、入出力管理テーブル180の当該SSD110に関するRandomWriteCountに1を加算する(ステップS150)。
一致した場合には(ステップS140のYes)、入出力制御部130は、ステップS160へ処理を進める。
続いて、入出力制御部130は、SSD110に対する第2の書き込み命令における、書き込み先アドレスに書き込みデータ長を加算した値を、入出力管理テーブル180における当該SSD110に関するContinuousAddressに設定する(ステップS160)。
ここで、本実施形態における動作例について説明する。
図3は、本発明の第1の実施形態における入替制御部の動作例の前半を説明する図である。
(1)入替制御部150は、入出力管理テーブル180のSSD−Aに関するRandomWriteCountが、性能特性テーブル170におけるSSD−Aに関するRandomWriteCount閾値を超えたか否かを確認する。
(2)RandomWriteCount−AがRandomWriteCount閾値−Aを超えた場合、入替制御部150は、SSD−Aに対する書き込みデータを予備プール140に属するSSD−Cへ、断片化が発生しないようにPBAの先頭アドレスからシーケンシャルにコピーする。
図4は、本発明の第1の実施形態における入替制御部の動作例の後半を説明する図である。
(3)入替制御部150は、SSD−AからSSD−Cへのデータコピーを完了する。
(4)入替制御部150は、SSD−Aを現用プール120から削除する。
(5)入替制御部150は、SSD−Aを予備プール140に追加する。
(6)入替制御部150は、入出力管理テーブル180におけるSSD−Aに関する情報とSSD−Aの内部のアドレスマッピングテーブルとを初期化すると共に、SSD−Aにおけるデータを消去する(以下、SSD−Aの「初期化」とも称す)。ここで、SSDの初期化は、例えば、SATA(Serial Advanced Technology Attachment)のTRIMコマンド又はSecure Eraseコマンド、SAS(Serial Attached Small Computer System Interface)のUNMAPコマンド等を使用して実現される。即ち、本実施形態では、SSDの初期化は、市販のSSDにおいて提供される標準的な機能を用いて実現される。
(7)入替制御部150は、SSD−Aを予備プール140に追加する。
本実施形態における動作の説明に戻る。
図5は、本発明の第1の実施形態における入替制御部の動作を示すフローチャートである。尚、図5に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
まず、入替制御部150は、現用プール120に属するSSD110のうち、第1のSSDに関するRandomWriteCountがRandomWriteCount閾値を超えたか否かを判定する(ステップS210)。
RandomWriteCountがRandomWriteCount閾値を超えなかった場合には、入替制御部150は、処理を終了する(ステップS220のNo)。
RandomWriteCountがRandomWriteCount閾値を超えた場合には、入替制御部150は、ステップS230へ処理を進める(ステップS220のYes)。
次に、入替制御部150は、予備プール140に属し且つ書き込みデータが書き込まれていない第2のSSDにおいて、第1のSSDが保持している全ての書き込みデータについて、複数の書き込みデータを書き込み先アドレスが連続した領域にコピーする(ステップS230)。
続いて、入替制御部150は、現用プール120から第1のSSDを削除する(ステップS240)。
続いて、入替制御部150は、現用プール120へ第2のSSDを追加する(ステップS250)。
続いて、入替制御部150は、入出力管理テーブル180における第1のSSDに関する情報と第1のSSDの内部のアドレスマッピングテーブルとを初期化すると共に、第1のSSDにおけるデータを消去する。(ステップS260)。
続いて、入替制御部150は、第1のSSDを予備プール140に追加する(ステップS270)。
本実施形態のSSD110におけるアドレスマッピングテーブルの初期化について説明する。
図6は、本発明の第1の実施形態におけるSSDに対するデータの書き込みを説明するための図である。より具体的には、図6は、入出力制御部130において受信されたWriteコマンドに対して、SSD110のページに書き込みデータが書き込まれる動作を模式的に示す。図6において、「SSD PBA」と表記されたカラムはPBAを表し、「SSD Page」と表記されたカラムはページを表し、「SSD Block」と表記されたカラムはブロックを表す。
入出力制御部130は、SSD110に対するWriteコマンドを受信した際に、SSD110のPBAに対して書き込みデータを書き込むべきページを割り当て、PBAと当該ページにおける内部アドレスとの対応関係をアドレスマッピングテーブルとして保持する。例えば、入出力制御部130は、SSD110に対する開始アドレスが9でレングスが1であるWriteコマンドを受信した際に、SSD110におけるPBAが9である領域に長さが1セクタである書き込みデータを書き込む。書き込まれた書き込みデータは、SSD110の内部では、例えば、ページが0でオフセットが0で長さが1セクタである書き込みデータである。この際、入出力制御部130は、SSD110の内部では、PBAが9で、長さが1セクタである書き込みデータが、ページが0で、オフセットが0で、長さが1セクタであるデータであることをアドレスマッピングテーブルにおいて保持する。
SSD110に含まれるNANDフラッシュメモリは同一ページに対する書き換え可能回数に制限があるため、SSD110の内部では、可能な限り均一にページが利用されるように書き込みデータの書き込み先が制御される(ウェアレベリング処理)。ウェアレベリング処理等に起因して、SSD110に対してランダムライトが繰り返されると、SSD110の内部のページに書き込まれた書き込みデータの断片化が進み、書き込みデータを書き込み可能な空きページが減少する。
図7及び図8は、本発明の第1の実施形態における断片化解消処理を説明するための図である。図7及び図8における表記方法は、図6における表記方法と同様である。又、「SSD Buffer」と表記されたカラムは断片化解消処理用の作業バッファを表す。
図7の(A)は、ランダムライトアクセスの結果、空きページ無くなった状態を示す。
図7の(B)は、空きページ無くなった後に、書き込みデータが追記された状態を示す。ここで、入出力制御部130は、追記された書き込みデータと、各ページに書き込まれた書き込みデータとを作業バッファにコピーし、アドレスマッピングテーブルを更新する。
図8の(A)は、書き込みデータの作業バッファへのコピーが終了した後に、書き込みデータがブロック単位で消去された状態を示す。ここで、入出力制御部130は、SSD110において作業バッファにコピーされた書き込みデータを含むブロックを消去して空きページを作成する。
図8の(B)は、空きページを作成した後に、作業バッファへコピーした書き込みデータを空きページへ連続的にコピーした状態を示す。ここで、入出力制御部130は、作業バッファへコピーした書き込みデータを空きページへ連続的にコピーし、アドレスマッピングテーブルを更新する。
図9は、本発明の第1の実施形態におけるSSDにおいてランダムデータライトを継続した際の書き込む性能の変化の一例を示すグラフである。図9において、横軸は時間を、縦軸は1秒あたりの入出力回数(Input/Output per Second)を表す。
SSD110に対してランダムライトアクセスを継続すると、書き込みデータの断片化が進行し、断片化解消処理が多発する。その結果、長い処理時間を要するブロック消去の処理が頻繁に行われ、入出力性能は低下する。
図10は、本発明の第1の実施形態における初期化されたSSDにおけるシーケンシャルデータの書き込みを説明するための図であるである。図10における表記方法は、図6における表記方法と同様である。
SSD110に対してシーケンシャルデータの書き込みを継続した場合には、書き込みデータは連続したページに書き込まれる。そのため、書き込みデータの断片化は発生せず、入出力性能は低下しない。
以上説明したように、本実施形態におけるディスクアレイ装置100では、入出力制御部130が、ホスト200から受信した第1の書き込み命令を、現用プール120に属する各SSD110に対する第2の書き込み命令に変換する。ここで、入出力制御部130は、当該SSD110に関する、末尾アドレスと最新の第2の書き込み命令における書き込み先アドレスとが不連続であった不連続回数を保持する。この際、入出力制御部130は、当該SSD110に対する、最新の1つ前における第2の書き込み命令において書き込まれたデータの末尾アドレスを導出可能なデータを保持しており、当該データに基づいて末尾アドレスを導出する。そして、入替制御部150が、現用プール120に属する第1のSSDに関する不連続回数が、第1のSSDに関する不連続回数の所定の上限値を超えた場合に、第1のSSDが保持している全ての書き込みデータを第2のSSDにコピーする。ここで、第2のSSDは、予備プール140に属し且つ書き込みデータが書き込まれていない。又、入替制御部150は、第2のSSDにおいて、第1のSSDが保持している複数の書き込みデータを書き込み先アドレスが連続した領域にコピーする。その結果、第2のSSDでは書き込みデータを保持する領域及び空き領域の断片化が解消される。そして、入替制御部150は、第1のSSDを断片化が解消された第2のSSDに入れ替える。つまり、ディスクアレイ装置100は、断片化解消の要否判定に必要な処理において、各SSD110の各ページについて、不連続回数を繰り返しカウントする必要がない。従って、本実施形態におけるディスクアレイ装置100には、ディスクアレイ装置100における断片化解消の要否判定に要する負荷を低減できるという効果がある。
又、本実施形態におけるディスクアレイ装置100では、断片化解消の要否判定に必要な処理が単純化されるので、入出力制御部130をより安価なハードウェアで実現できるという効果がある。
又、本実施形態におけるディスクアレイ装置100では、入替制御部150は、現用プール120から削除した第1のSSDを初期化した後に、予備プール140に追加する。従って、本実施形態におけるディスクアレイ装置100には、予備プール140に含まれるSSD110を自動的に維持できるという効果がある。
又、本実施形態におけるディスクアレイ装置100では、SSD110の初期化は、市販のSSDにおいて提供される標準的な機能(SATAのTRIMコマンド又はSecure Eraseコマンド、SASのUNMAPコマンド等)を用いて実現される。つまり、ディスクアレイ装置100では、SSD110の外部から、SSD110における断片化解消を実行させるための特別な機能及びインタフェースが必要ない。従って、本実施形態におけるディスクアレイ装置100には、専用のSSDを用いることなく、安価な標準的なSSDを用いて実現できるという効果がある。
図11は、本発明の各実施形態におけるディスクアレイ装置を実現可能なハードウェア構成の一例を示すブロック図である。
ディスクアレイ装置907は、記憶装置902と、CPU(Central Processing Unit)903と、キーボード904と、モニタ905と、I/O(Input/Output)装置908とを備え、これらが内部バス906によって接続されている。記憶装置902は、入出力制御部130、入替制御部150等のCPU903の動作プログラムを格納する。CPU903は、ディスクアレイ装置907の全体を制御し、記憶装置902に格納された動作プログラムを実行し、I/O装置908によって入出力制御部130、入替制御部150等のプログラムの実行やデータの送受信を行なう。尚、上記のディスクアレイ装置907の内部構成は一例である。ディスクアレイ装置907は、必要に応じて、キーボード904、モニタ905を接続する装置構成であってもよい。
上述した本発明の各実施形態におけるディスクアレイ装置907は、専用の装置によって実現してもよいが、I/O装置908が外部との通信を実行するハードウェアの動作以外は、コンピュータ(情報処理装置)によっても実現可能である。本発明の各実施形態において、I/O装置908は、例えば、ホスト200等との入出力部である。この場合、係るコンピュータは、記憶装置902に格納されたソフトウェア・プログラムをCPU903に読み出し、読み出したソフトウェア・プログラムをCPU903において実行する。上述した各実施形態の場合、係るソフトウェア・プログラムには、上述したところの、図1に示した、ディスクアレイ装置100の各部の機能を実現可能な記述がなされていればよい。但し、これらの各部には、適宜ハードウェアを含むことも想定される。そして、このような場合、係るソフトウェア・プログラム(コンピュータ・プログラム)は、本発明を構成すると捉えることができる。更に、係るソフトウェア・プログラムを格納した、コンピュータ読み取り可能な記憶媒体も、本発明を構成すると捉えることができる。
以上、本発明を、上述した各実施形態およびその変形例によって例示的に説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態およびその変形例に記載した範囲に限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
本発明は、ディスクアレイ装置を構成するSSDにおける断片化を解消する用途において利用できる。
100 ディスクアレイ装置
110 SSD
120 現用プール
130 入出力制御部
140 予備プール
150 入替制御部
160 インタフェース
170 性能特性テーブル
180 入出力管理テーブル
200 ホスト
902 記憶装置
903 CPU
904 キーボード
905 モニタ
906 内部バス
907 ディスクアレイ装置
908 I/O装置

Claims (9)

  1. 書き込みデータと前記書き込みデータの書き込み先を示す物理アドレスとが与えられた際に、前記書き込みデータを書き込むべき所定のサイズを有するページにおける内部アドレスを決定し、前記物理アドレスと決定した前記内部アドレスとの対応関係をアドレスマッピングテーブルとして保持し、決定した前記内部アドレスへ前記書き込みデータを書き込み可能であり、書き込んだ前記書き込みデータを所定の個数の前記ページからなるブロックを単位として消去可能であり、且つ全ての前記書き込みデータが消去された場合に前記アドレスマッピングテーブルを初期化可能である複数のSSD(Solid State Drive)と、
    ホストから受信した第1の書き込み命令を、前記複数のSSDのうち前記第1の書き込み命令に含まれる前記書き込みデータの書き込み先として使われている前記SSDのグループである現用プールに属する各前記SSDに対する第2の書き込み命令に変換し、
    該前記SSDに対する、最新の1つ前における前記第2の書き込み命令において書き込まれた前記書き込みデータの末尾を示す前記内部アドレスである末尾アドレスを導出可能なデータを保持しており、導出した前記末尾アドレスと最新の前記第2の書き込み命令における書き込み先を示す前記内部アドレスとが不連続であった不連続回数を保持する
    入出力制御手段と、
    前記現用プールに属する前記SSDのうち第1のSSDに関する前記不連続回数が、前記第1のSSDにおける書き込み性能の低下を許容可能な前記第1のSSDに関する前記不連続回数の所定の上限値を超えた場合に、
    前記複数のSSDのうち前記第1の書き込み命令に含まれる前記書き込みデータの書き込み先として使われていない前記SSDのグループである予備プールに属し且つ前記アドレスマッピングテーブルが初期化されている第2のSSDにおいて、前記第1のSSDが保持している全ての前記書き込みデータについて、複数の前記書き込みデータを書き込み先アドレスが連続した領域にコピーすることと、
    前記現用プールから前記第1のSSDを削除することと、
    前記現用プールへ前記第2のSSDを追加することと
    を行う入替制御手段と
    を備えたディスクアレイ装置。
  2. 前記入出力制御手段及び前記入替制御手段は、前記SSDにおいて、書き込みデータが既に書き込まれている、複数の前記ページから成るブロックの一部に新たな書き込みデータを書き込む際に、該ブロックの全体において書き込みデータを予め消去する
    請求項1に記載のディスクアレイ装置。
  3. 前記入替制御手段は、前記現用プールから削除した前記第1のSSDに書き込まれた全ての前記書き込みデータを消去し且つ前記アドレスマッピングテーブルを初期化した後に、前記予備プールへ前記第1のSSDを追加する
    請求項1又は2に記載のディスクアレイ装置。
  4. 書き込みデータと前記書き込みデータの書き込み先を示す物理アドレスとが与えられた際に、前記書き込みデータを書き込むべき所定のサイズを有するページにおける内部アドレスを決定し、前記物理アドレスと決定した前記内部アドレスとの対応関係をアドレスマッピングテーブルとして保持し、決定した前記内部アドレスへ前記書き込みデータを書き込み可能であり、書き込んだ前記書き込みデータを所定の個数の前記ページからなるブロックを単位として消去可能であり、且つ全ての前記書き込みデータが消去された場合に前記アドレスマッピングテーブルを初期化可能である複数のSSD(Solid State Drive)を備えたディスクアレイ装置の制御方法であって、
    ホストから受信した第1の書き込み命令を、前記複数のSSDのうち前記第1の書き込み命令に含まれる前記書き込みデータの書き込み先として使われている前記SSDのグループである現用プールに属する各前記SSDに対する第2の書き込み命令に変換し、
    該前記SSDに対する、最新の1つ前における前記第2の書き込み命令において書き込まれた前記書き込みデータの末尾を示す前記内部アドレスである末尾アドレスを導出可能なデータを保持しており、導出した前記末尾アドレスと最新の前記第2の書き込み命令における書き込み先を示す前記内部アドレスとが不連続であった不連続回数を保持する
    入出力制御手順と、
    前記現用プールに属する前記SSDのうち第1のSSDに関する前記不連続回数が、前記第1のSSDにおける書き込み性能の低下を許容可能な前記第1のSSDに関する前記不連続回数の所定の上限値を超えた場合に、
    前記複数のSSDのうち前記第1の書き込み命令に含まれる前記書き込みデータの書き込み先として使われていない前記SSDのグループである予備プールに属し且つ前記アドレスマッピングテーブルが初期化されている第2のSSDにおいて、前記第1のSSDが保持している全ての前記書き込みデータについて、複数の前記書き込みデータを書き込み先アドレスが連続した領域にコピーすることと、
    前記現用プールから前記第1のSSDを削除することと、
    前記現用プールへ前記第2のSSDを追加することと
    を行う入替制御手順と
    を行うディスクアレイ装置の制御方法。
  5. 前記SSDにおいて、書き込みデータが既に書き込まれている、複数の前記ページから成るブロックの一部に新たな書き込みデータを書き込む際に、該ブロックの全体において書き込みデータを予め消去する
    請求項4に記載のディスクアレイ装置の制御方法。
  6. 前記現用プールから削除した前記第1のSSDに書き込まれた全ての前記書き込みデータを消去し且つ前記アドレスマッピングテーブルを初期化した後に、前記予備プールへ前記第1のSSDを追加する
    請求項4又は5に記載のディスクアレイ装置の制御方法。
  7. 書き込みデータと前記書き込みデータの書き込み先を示す物理アドレスとが与えられた際に、前記書き込みデータを書き込むべき所定のサイズを有するページにおける内部アドレスを決定し、前記物理アドレスと決定した前記内部アドレスとの対応関係をアドレスマッピングテーブルとして保持し、決定した前記内部アドレスへ前記書き込みデータを書き込み可能であり、書き込んだ前記書き込みデータを所定の個数の前記ページからなるブロックを単位として消去可能であり、且つ全ての前記書き込みデータが消去された場合に前記アドレスマッピングテーブルを初期化可能である複数のSSD(Solid State Drive)を備えたディスクアレイ装置が備えるコンピュータに、
    ホストから受信した第1の書き込み命令を、前記複数のSSDのうち前記第1の書き込み命令に含まれる前記書き込みデータの書き込み先として使われている前記SSDのグループである現用プールに属する各前記SSDに対する第2の書き込み命令に変換し、
    該前記SSDに対する、最新の1つ前における前記第2の書き込み命令において書き込まれた前記書き込みデータの末尾を示す前記内部アドレスである末尾アドレスを導出可能なデータを保持しており、導出した前記末尾アドレスと最新の前記第2の書き込み命令における書き込み先を示す前記内部アドレスとが不連続であった不連続回数を保持する
    入出力制御処理と、
    前記現用プールに属する前記SSDのうち第1のSSDに関する前記不連続回数が、前記第1のSSDにおける書き込み性能の低下を許容可能な前記第1のSSDに関する前記不連続回数の所定の上限値を超えた場合に、
    前記複数のSSDのうち前記第1の書き込み命令に含まれる前記書き込みデータの書き込み先として使われていない前記SSDのグループである予備プールに属し且つ前記アドレスマッピングテーブルが初期化されている第2のSSDにおいて、前記第1のSSDが保持している全ての前記書き込みデータについて、複数の前記書き込みデータを書き込み先アドレスが連続した領域にコピーすることと、
    前記現用プールから前記第1のSSDを削除することと、
    前記現用プールへ前記第2のSSDを追加することと
    を行う入替制御処理と
    を実行させるディスクアレイ装置の制御プログラム。

  8. 前記SSDにおいて、書き込みデータが既に書き込まれている、複数の前記ページから成るブロックの一部に新たな書き込みデータを書き込む際に、該ブロックの全体において書き込みデータを予め消去する
    請求項7に記載のディスクアレイ装置の制御プログラム。
  9. 前記現用プールから削除した前記第1のSSDに書き込まれた全ての前記書き込みデータを消去し且つ前記アドレスマッピングテーブルを初期化した後に、前記予備プールへ前記第1のSSDを追加する
    請求項7又は8に記載のディスクアレイ装置の制御プログラム。
JP2018031468A 2018-02-26 2018-02-26 ディスクアレイ装置、ディスクアレイ装置の制御方法、及びディスクアレイ装置の制御プログラム Active JP6817242B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018031468A JP6817242B2 (ja) 2018-02-26 2018-02-26 ディスクアレイ装置、ディスクアレイ装置の制御方法、及びディスクアレイ装置の制御プログラム
US16/963,705 US11635909B2 (en) 2018-02-26 2019-02-20 Disk array device, control method for disk array device, and control program for disk array device
PCT/JP2019/006236 WO2019163806A1 (ja) 2018-02-26 2019-02-20 ディスクアレイ装置、ディスクアレイ装置の制御方法、及びディスクアレイ装置の制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018031468A JP6817242B2 (ja) 2018-02-26 2018-02-26 ディスクアレイ装置、ディスクアレイ装置の制御方法、及びディスクアレイ装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2019148844A JP2019148844A (ja) 2019-09-05
JP6817242B2 true JP6817242B2 (ja) 2021-01-20

Family

ID=67687637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018031468A Active JP6817242B2 (ja) 2018-02-26 2018-02-26 ディスクアレイ装置、ディスクアレイ装置の制御方法、及びディスクアレイ装置の制御プログラム

Country Status (3)

Country Link
US (1) US11635909B2 (ja)
JP (1) JP6817242B2 (ja)
WO (1) WO2019163806A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11797188B2 (en) * 2019-12-12 2023-10-24 Sk Hynix Nand Product Solutions Corp. Solid state drive with multiplexed internal channel access during program data transfers
CN114415942B (zh) * 2021-12-21 2022-11-04 联芸科技(杭州)股份有限公司 L2p映射表重建方法及固态硬盘

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175409A (ja) 1997-12-05 1999-07-02 Nec Corp メモリ制御方式
JP5124217B2 (ja) 2007-09-18 2013-01-23 株式会社日立製作所 ストレージ装置
US8990477B2 (en) * 2012-04-19 2015-03-24 Sandisk Technologies Inc. System and method for limiting fragmentation
JP5550741B1 (ja) 2012-09-25 2014-07-16 株式会社東芝 ソリッドステートドライブにデータを再配置するストレージ装置、ストレージコントローラ及び方法
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
WO2016002325A1 (ja) * 2014-07-04 2016-01-07 日本電気株式会社 情報処理システム、情報処理方法、記憶制御装置およびその制御方法と制御プログラム
JP2016192025A (ja) 2015-03-31 2016-11-10 日本電気株式会社 Ssdストレージシステム、書き込みレスポンス低下防止制御方法およびそのプログラム
KR102387973B1 (ko) * 2015-12-01 2022-04-19 삼성전자주식회사 이중화 저장 장치, 그것을 포함한 서버 시스템 및 그것의 동작 방법
KR102533389B1 (ko) * 2016-02-24 2023-05-17 삼성전자주식회사 장치 수명을 향상시키는 데이터 저장 장치 및 이를 포함하는 raid 시스템
US10114743B2 (en) * 2016-04-06 2018-10-30 Sandisk Technologies Inc. Memory erase management

Also Published As

Publication number Publication date
WO2019163806A1 (ja) 2019-08-29
JP2019148844A (ja) 2019-09-05
US11635909B2 (en) 2023-04-25
US20210081137A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
JP4588431B2 (ja) 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作
KR101086857B1 (ko) 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법
JP6016137B2 (ja) ソリッドステートドライブおよびその動作方法
KR100771519B1 (ko) 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
US11928053B2 (en) System garbage collection method and method for garbage collection in solid state disk
US10310764B2 (en) Semiconductor memory device and storage apparatus comprising semiconductor memory device
AU2016397188B2 (en) Storage system and system garbage collection method
US10120583B2 (en) Performance penalty avoidance for solid state drive
KR102304130B1 (ko) 비휘발성 랜덤 액세스 메모리를 이용한 세그먼트 클리닝 방법 및 이를 구현하기 위한 메모리 관리 장치
KR20120084906A (ko) 비휘발성 메모리 시스템 및 그 관리 방법
JP2010287049A (ja) メモリシステムおよびメモリシステムの管理方法
JP2014203405A (ja) 情報処理装置、メモリ制御装置、データ転送制御方法及びデータ転送制御プログラム
KR20160139864A (ko) 비휘발성 메모리 시스템
JP6817242B2 (ja) ディスクアレイ装置、ディスクアレイ装置の制御方法、及びディスクアレイ装置の制御プログラム
JP4242245B2 (ja) フラッシュrom制御装置
JP7475989B2 (ja) メモリシステムおよび制御方法
KR20220041225A (ko) 메모리 구성요소의 동일한 평면 내에서 데이터 압축
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP2005115562A (ja) フラッシュrom制御装置
KR101791855B1 (ko) 스토리지 장치 및 이의 공간 재수거 방법
JP6412820B2 (ja) 記憶システム、制御装置、メモリ制御装置、記憶装置、上位装置、制御プログラム及びデータ読み出し方法
JP5638022B2 (ja) ディスクアレイ装置
EP3948550A1 (en) An apparatus, method and computer program for managing memory page updates within non-volatile memory
KR20110089972A (ko) 메모리 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200727

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: 20201201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201224

R150 Certificate of patent or registration of utility model

Ref document number: 6817242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150