JP5331018B2 - ソリッド・ステート・ドライブ装置およびミラー構成再構成方法 - Google Patents

ソリッド・ステート・ドライブ装置およびミラー構成再構成方法 Download PDF

Info

Publication number
JP5331018B2
JP5331018B2 JP2010012203A JP2010012203A JP5331018B2 JP 5331018 B2 JP5331018 B2 JP 5331018B2 JP 2010012203 A JP2010012203 A JP 2010012203A JP 2010012203 A JP2010012203 A JP 2010012203A JP 5331018 B2 JP5331018 B2 JP 5331018B2
Authority
JP
Japan
Prior art keywords
page
data storage
nonvolatile
chip
address
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.)
Expired - Fee Related
Application number
JP2010012203A
Other languages
English (en)
Other versions
JP2011150590A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010012203A priority Critical patent/JP5331018B2/ja
Priority to PCT/JP2011/050707 priority patent/WO2011090012A1/ja
Publication of JP2011150590A publication Critical patent/JP2011150590A/ja
Application granted granted Critical
Publication of JP5331018B2 publication Critical patent/JP5331018B2/ja
Expired - Fee Related 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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2079Bidirectional techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2084Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring on the same storage unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
    • 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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、不揮発性半導体メモリによるミラー構成のソリッド・ステート・ドライブ装置(以下、SSD装置と略称)、および、そのSSD装置において故障チップが生じた場合にミラー構成を再構成するミラー構成再構成方法に関する。
近年、不揮発性半導体メモリであるフラッシュメモリの大容量化と低価格化に伴い、フラッシュメモリを用いて構成したSSD装置がハードディスク装置の代替記憶装置として普及の兆しをみせている。一般に、SSD装置は、ハードディスク装置で必須の可動部品が不要であるため、高速かつ高信頼であるとされている。しかしながら、フラッシュメモリは、低価格化してきたとはいえ、同一の記憶容量で比較すれば、ハードディスク装置に比べ高価である。
ところで、複数のハードディスク装置を冗長構成することによって信頼性を向上させる技術として、RAID(Redundant Arrays of Inexpensive (or Independent) Disks)がある。RAIDの構成には様々なものがあるが、その中で、比較的簡単な構成で、かつ、実用的な高信頼性が得られる構成として、ミラー構成(いわゆる、RAID1)がある。
ミラー構成は、少なくとも2台のハードディスク装置で構成されるものであり、その2台のハードディスク装置には全く同じデータが記憶される。従って、いずれか一方のハードディスク装置が故障しても、その故障したハードディスク装置に記憶されていたデータは、他方のハードディスク装置に残っていることになる。従って、データが保全される意味において、信頼性が向上する。しかしながら、ミラー構成の場合、1台のハードディスク装置が故障した場合には、システムを停止させ、その故障したハードディスク装置を新しいハードディスク装置と取り替えることが必要となる。従って、ミラー構成のハードディスク装置の可用性は、必ずしも高いとはいえない。
RAIDには、信頼性や可用性をさらに向上させた構成としてRAID1+5などの構成があるが、より多くのハードディスク装置が必要となる(ちなみに、RAID1+5では、少なくとも6台が必要)。
また、特許文献1には、3台のハードディスク装置でミラーリングを行い、可用性を向上させたディスク記憶システムの例が開示されている。3台のハードディスク装置でミラーリングを行えば、そのいずれかが故障しても他の2台のハードディスク装置でミラーリングを継続することができる。従って、その可用性は高い。
特開2003−316525号公報
従来技術よれば、高信頼性と可用性を兼ね備えたディスク記憶システムを実現しようとすれば、前記のように少なくとも3台のハードディスク装置が必要となる。従って、単純にハードディスク装置をSSD装置に置き換えることよって、従来と同様の構成の記憶システムを実現しようとすれば、その価格は極めて高価なものとなってしまう。
本発明は、可用性を向上させることができ、かつ、価格を抑制することが可能なミラー構成のSSD装置およびSSD装置のミラー構成再構成方法を提供することにある。
本発明のSSD装置は、それぞれが複数の不揮発性メモリチップからなるミラー構成の2系統の不揮発データ記憶部と、そのミラー構成の2系統の不揮発データ記憶部を制御する不揮発データ記憶制御部と、を含んで構成される。
また、その不揮発データ記憶制御部は、不揮発データ記憶部に記憶するページデータの論理アドレスと物理アドレスとを対応付けるアドレス変換テーブルと、不揮発データ記憶部に対してページデータの書き込みまたは読み出しの制御を行うページ・リード・ライト制御部と、不揮発データ記憶部から空きページの物理アドレスを選択する物理アドレス選択処理部と、アドレス変換テーブルを参照して論理アドレスに対応する物理アドレスを取得するアドレス変換処理部と、を含んで構成される。
そして、前記ページ・リード・ライト制御部は、前記不揮発データ記憶部を構成する不揮発性メモリチップのいずれかが故障していることを検出したときには、その故障した不揮発性メモリチップとミラー関係にある不揮発性メモリチップからページデータを読み出し、その読み出したページデータを、故障した不揮発性メモリチップおよびその故障した不揮発性メモリチップとミラー関係にある不揮発性メモリチップ以外の、前記2系統の不揮発データ記憶部のそれぞれに属し、互いにミラー関係となっている不揮発性メモリチップへコピーする。
以上のように、本発明のSSD装置におけるページ・リード・ライト制御部は、不揮発性メモリチップの故障を検出したときには、その故障チップと同じページデータを記憶している反対側系統に属する不揮発性メモリチップからページデータを読み出し、その読み出したページデータを、前記2系統の不揮発データ記憶部それぞれに属する故障していない不揮発性メモリチップへコピーする。従って、本発明のSSD装置においては、ある不揮発性メモリチップが故障して、一時的にSSD装置のミラー構成が崩れても、速やかにミラー構成が再構成される。
つまり、本発明のSSD装置は、2系統の不揮発データ記憶部のミラー構成であるが、一方の系統で故障チップが発生したとき、速やかに不揮発データ記憶部のミラー構成を再構成することができる。そのため、故障チップを取り替えたり、故障チップを含んだ系統の不揮発データ記憶部全体を取り替えたりする必要はない。従って、可用性向上のために、3重化などより高度な冗長構成にする必要がないので、価格を抑制した可用性の高いミラー構成のSSD装置が実現される。
本発明によれば、可用性を向上させることができ、かつ、価格を抑制することが可能なミラー構成のSSD装置およびSSD装置のミラー構成再構成方法が提供される。
本発明の実施形態に係るSSD装置の構成の例を示した図。 本発明の実施形態に係るSSD装置で用いられるNVMチップの内部構成の例を示した図。 アドレス変換テーブルおよび故障チップテーブルの構成の例を示した図。 SSD装置に実装可能な論理アドレスの領域とSSD装置に物理的に実装されている物理アドレスの領域の対応関係の例を示した図。 不揮発データ記憶制御部のページ・リード・ライト制御部が実行するページ・ライト・コマンド処理およびページ・リード・コマンド処理の処理フローの例を示した図。 不揮発データ記憶部のA系のNVMチップのうちNVM(#5)が故障チップになったことを例示する図。 故障したA系のNVM(#5)に対応するB系のNVM(#17)に記憶されているデータを、他の故障していないNVMチップにコピーする様子を、アドレス変換テーブルの変化により例示した図。 ミラー構成を再構成するために実行される故障チップデータコピー処理の処理フローの例を示した図。 故障チップデータコピー処理時に実行される物理アドレス選択処理の処理フローの例を示した図。
以下、本発明の実施形態について、図面を参照して詳細に説明する。
図1は、本発明の実施形態に係るSSD装置の構成の例を示した図である。図1に示すように、SSD装置1は、自身にとって外部装置となるホスト装置2に、ホストバス3を介して接続される。
ここで、ホスト装置2は、いわゆるコンピュータ、または、コンピュータを利用した様々な形態の情報処理装置、制御装置、端末装置などである。また、ホストバス3は、IDE(Integrated Drive Electronics),SCSI(Small Computer System Interface),SATA(Serial Advanced Technology Attachment),SAS(Serial Attached SCSI),USB(Universal Serial Bus)などである。
SSD装置1は、不揮発データ記憶部20および不揮発データ記憶制御部10によって構成される。
不揮発データ記憶部20は、不揮発性メモリであるNANDフラッシュメモリのNVM(Non-Volatile Memory:不揮発性メモリ)チップ21を複数個含んで構成される。このとき、不揮発データ記憶部20は、A系およびB系の2系統の記憶部に分割されて構成され、各系は、同じ記憶容量の、同じ個数のNVMチップ21によって構成される。すなわち、不揮発データ記憶部20のA系およびB系により、ミラー構成の記憶装置が構成される。なお、図1の例では、不揮発データ記憶部20のA系およびB系は、それぞれ12個のNVMチップ21によって構成され、各NVMチップ21には、NVM(#n)の符号が付されている。nは、チップ番号(チップ識別情報)を表している。
不揮発データ記憶部20のA系およびB系は、ミラー構成の記憶装置であるので、NVMチップ21へのデータ書き込みは、両系で互いにミラー関係にある2つのNVMチップ21に対して同時に行われる(以下、両系ライトという)。また、データの読み出しは、いずれか一方の系に属するNVMチップ21から行われる。
ここで、両系で互いにミラー関係にあるNVMチップ21とは、両系それぞれで全く同じデータが記憶されるNVMチップ21をいう。なお、本実施形態では、NVMチップ21のチップ番号nを各系のNVMチップ21の個数m(図1の例では、m=12)で割った余りmod(n,m)が同じになる両系それぞれに属するNVMチップ21をいう。
不揮発データ記憶制御部10は、ホスト装置2から供給されるデータをA系およびB系のNVMチップ21へ書き込む制御(ライト制御)、または、ホスト装置2からの求めに応じてA系またはB系のNVMチップ21からデータを読み出す制御(リード制御)を行う。また、不揮発データ記憶制御部10は、不揮発データ記憶部20を構成するNVMチップ21の故障を検出したとき、その故障したNVMチップ21を除去した構成で、ミラー構成を再構成する。
そこで、不揮発データ記憶制御部10は、NVMチップ21に対するデータのリード・ライト制御を実現するために、ページ・リード・ライト制御部11、アドレス変換処理部13、物理アドレス選択処理部14、アドレス変換テーブル15などの機能ブロックを備えている。また、不揮発データ記憶制御部10は、故障チップ発生時にミラー構成を再構成する制御を実現するために、故障チップテーブル16を備え、さらに、ミラー構成を再構成する場合のページ・リード・ライト制御、すなわち、故障チップのデータを他のNVMチップ21にコピーする故障チップデータコピー処理部12を備えている。これらの各ブロックの処理機能の詳細については、以下、実施形態を説明する中で、順次、説明していく。
なお、以上のようなブロックにより構成された不揮発データ記憶制御部10は、演算処理装置(CPU:Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、FPGA(Field Programmable Gate Array)などを用いて実現することができる。その場合、不揮発データ記憶制御部10を構成する各ブロックの機能は、前記の演算処理装置がRAMまたはROMに記憶されている所定のプログラムを実行することによって実現される。
図2は、SSD装置1で用いられるNVMチップ21の内部構成の例を示した図である。不揮発データ記憶制御部10の各部の詳細な動作を説明する前に、NVMチップ21の内部構成について説明しておく。NVMチップ21が、いわゆる、NANDフラッシュメモリから構成される場合、図2(a),(b)に示すように、1個のNVMチップ21の記憶領域は、複数のブロック211に分割され、それぞれのブロック211は、複数のページ212(例えば、64ページ)に分割されて構成されている。また、図2(c)に示すように、それぞれのページ212には、例えば、4kBのデータを記憶する記憶領域が設けられている。
そこで、1個のNVMチップ21の記憶容量が、例えば、4GBである場合に、1ブロック=64ページ、1ページ=4kBであるとすると、1個のNVMチップ21には、およそ16k個のブロック211が設けられていることになる。従って、図2(a)において、m=16k(16,383)となる。
これらNVMチップ21におけるブロック211およびページ212の構成は、フラッシュメモリ自体の構造およびその読み出し・書き込み方法に由来し、そのデータの読み出し・書き込みついては、次のような制約が設けられている。
(1)データ読み出し・書き込みは、ページ212の単位で行う。(2)データの消去はブロック211の単位で行う。(3)ページ212が消去された状態でなければ、そのページ212への書き込みはできない。(4)ブロック211の消去回数には、上限がある。
従って、NVMチップ21に対するデータの書き込みまたは読み出しは、図2(c)に示したフォーマットのページ212を単位として行われる。そのフォーマットによれば、ページ212は、ヘッダ213とそれぞれが512Bのデータを含んでなる8個のセグメント214とによって構成される。このとき、各セグメント214のデータには、CRC(Cyclic Redundancy Check)符号やリード・ソロモン符号などの検査符号215が付加される。また、ヘッダ213は、そのページに記憶されるデータの論理アドレスを含んで構成される。
なお、ここまでの説明では、ページ212は、4kBのデータを記憶する記憶領域を有すると説明しているが、実際には(物理的には)4kB+αの記憶領域を有している。このとき、+αは200〜256B程度であるが、この+αの記憶領域部分を利用して、ヘッダ213や検査符号215が記憶される。以下、このページ212の領域に記憶されるヘッダ213や検査符号215を含めたデータをページデータと呼ぶ。
図3は、アドレス変換テーブル15および故障チップテーブル16の構成の例を示した図である。
アドレス変換テーブル15は、不揮発データ記憶制御部10内に設けられた図示しないRAM(Random Access Memory)などに記憶され、図3(a)に示すように、論理アドレスと物理アドレスを対応付けたテーブルである。また、アドレス変換テーブル15は、ホスト装置2から送信されるページ・ライト・コマンドまたはページ・リード・コマンドに添付されている論理アドレスを物理アドレスに変換するためのテーブルとして機能する。ここで、論理アドレスは、ページデータを識別する情報であり、また、物理アドレスは、チップ番号とページアドレスからなり、そのページデータが、どのNVMチップ21の、どのページ212に記憶されているかを示す情報である。
本実施形態では、ページ212を識別するページアドレスは、それぞれのNVMチップ21ごとに全ブロック211を通しての通し番号が付されるものとする。従って、図2に示したように各NVMチップ21が16k個のブロック211で構成され、各ブロック211が64個のページ212で構成されているとすれば、各NVMチップ21は、全部で1M個のページ212で構成される。つまり、その1M個のページ212を識別するページアドレスとして、0〜1M(1,048,575)の範囲に含まれる番号が付されることになる。
また、本実施形態では、アドレス変換テーブル15は、A系、B系で共用されるため、物理アドレスのチップ番号としては、A系におけるチップ番号のみが記憶される。従って、図3(a)における論理アドレスが“A1234”のページデータは、そのチップ番号が“5”であるから、そのページデータは、図1におけるNVMチップ21のNVM(#5)にもNVM(#17)にも記憶されていることになる。
なお、アドレス変換テーブル15における論理アドレスと物理アドレスの対応付けは、SSD装置1が使用開始される最初からされておく必要はなく、ページデータが書き込まれるたびに、その都度、対応付けられればよい。つまり、アドレス変換テーブル15は、最初は全部空欄であり、ページデータが書き込まれるとき、その都度、追加されていけばよい。
次に、図3(b)に示すように、故障チップテーブル16は、SSD装置1に含まれるNVMチップ21の故障状態を表したテーブルである。ここで、故障状態が“0”は、故障していないことを、故障状態が“1”は、故障していることを表している。従って、故障チップテーブル16は、例えば、24ビットのフラグレジスタによって構成することができる。
なお、図3(b)の例では、NVM(#2)のNVMチップ21が故障している。また、故障チップテーブル16の各欄は、初期状態で、すべて“0”であり、故障チップが生じたとき、その故障チップの故障状態が“1”にされる。
図4は、SSD装置1に実装可能な論理アドレスの領域とSSD装置1に物理的に実装されている物理アドレスの領域の対応関係の例を示した図である。詳細は後記するが、本実施形態では、あるNVMチップ21が故障した場合には、そのNVMチップ21に記憶されているページデータを他のNVMチップ21に分散させて記憶させる。そのため、実装可能な論理アドレスの領域サイズは、12個のNVMチップ21を合算した物理アドレスの領域サイズから、1個のNVMチップ21に含まれる物理アドレスの領域サイズを差し引いた領域サイズよりも小であることが必要である。
従って、図4において、論理アドレスが0から順に+1インクリメントしながら付される場合には、論理アドレスの最終アドレスは、1M×11=11,534,336(16進でB00000)より小さくなければならない。なお、図4では、論理アドレスの最終アドレスは、16進でADFFFFであるとしている。
以上のように、本実施形態では、A系、B系がそれぞれN個のNVMチップ21からなるミラー構成のSSD装置1に実装可能な論理アドレスの領域サイズ(言い換えれば、SSD装置1の名目上の記憶容量)は、N−1個のNVMチップ21を合算した物理アドレスの領域サイズよりも小であることが必要である。
すなわち、SSD装置1におけるA系、B系のそれぞれの物理的アドレスの総領域サイズは、SSD装置1の論理アドレスの総領域サイズとNVMチップ21の1個に含まれる物理的アドレスの総領域サイズとを合算したサイズよりも大きくなければならない。これは、SSD装置1の名目上の記憶容量(論理アドレスの総領域サイズ)を設定するとき、A系、B系のそれぞれにNVMチップ21の1個分以上の冗長な物理アドレス領域を確保しておく必要があることを意味している。
図5は、不揮発データ記憶制御部10のページ・リード・ライト制御部11が実行するページ・ライト・コマンド処理およびページ・リード・コマンド処理の処理フローの例を示した図である。
図5(a)に示すように、ページ・リード・ライト制御部11は、ホスト装置2からページ・ライト・コマンドを受信すると(ステップS11)、そのページ・ライト・コマンドから論理アドレスを取得する(ステップS12)。なお、ページ・ライト・コマンドは、ページデータを不揮発データ記憶部20のNVMチップ21に書き込む命令であり、そのページ・ライト・コマンドには、論理アドレスを含んだ書き込み対象のページデータが添付されている。
次に、ページ・リード・ライト制御部11は、物理アドレス選択処理部14を用いて、物理アドレス選択処理を実行する(ステップS13)。このとき、物理アドレス選択処理部14は、アドレス変換テーブル15を参照して、不揮発データ記憶部20のNVMチップ21でデータが未だ書き込まれていない(消去された状態の)ページ212の物理アドレス、つまり、空きページの物理アドレス(以下、空き物理アドレスと略称する)の1つを選択する。
すなわち、物理アドレス選択処理は、ページ・ライト・コマンドに添付されているページデータを書き込むべき空きページの物理アドレスを選択する処理であり、その処理では、1つの空き物理アドレスが選択されればよい。なお、その物理アドレス選択処理において、各ページ212への書き込み回数を平準化(いわゆる、ウエアレベリング)する場合には、その平準化のアルゴリズムに沿って空き物理アドレスを選択するが、本実施形態では、平準化の方法は、どのようなものであってもよく、その詳細な説明を省略する。
次に、ページ・リード・ライト制御部11は、物理アドレス選択処理によって選択された物理アドレスに、ページ・ライト・コマンドに添付されたページデータを書き込む(ステップS14)。なお、この場合のページデータの書き込みは、両系ライトであり、A系、B系の互いにミラー関係にある2つのNVMチップ21の物理アドレスに、同じページデータが書き込まれる。なお、A系、B系の互いにミラー関係にある2つのNVMチップ21の物理アドレスとは、本実施形態の場合、それぞれのチップ番号を12で割った余りが同じで、かつ、ページアドレスが同じである場合をいう。
次に、ページ・リード・ライト制御部11は、ステップS14で書き込んだページデータの論理アドレスと物理アドレスとを用いて、アドレス変換テーブル15を更新する(ステップS15)。すなわち、ページ・リード・ライト制御部11がステップS14を実行した際に、書き込み対象のページデータの論理アドレスがすでにアドレス変換テーブル15に存在したときには、その論理アドレスに対応する物理アドレスを、ステップS14でページデータの書き込み先となった物理アドレスに更新する。また、書き込み対象のページデータの論理アドレスがアドレス変換テーブル15に存在しなかったときには、その論理アドレスとステップS14で書き込み先となった物理アドレスとを対応付けたデータを、新たにアドレス変換テーブル15に追加する。
次に、ページ・リード・ライト制御部11は、ページ消去が必要であるか否かを判定する(ステップS16)。ここで、ページ消去が必要である場合は、ステップS15でアドレス変換テーブル15にすでに存在していた論理アドレスに対応する物理データを更新した場合であり、また、ページ消去が不要である場合は、ステップS15でアドレス変換テーブル15に論理アドレスと物理アドレスとを対応付けたデータを新たに追加した場合である。
ステップS16における判定の結果、ページ消去が必要であった場合には(ステップS16でYes)、ページ・リード・ライト制御部11は、所定のページ消去処理を実行し(ステップS17)、ページ消去が不要であった場合には(ステップS16でNo)、ページ消去処理の実行をスキップして、ページ・ライト・コマンドの処理を終了する。
なお、ページ・リード・ライト制御部11は、ページ消去処理において、例えば、消去対象となった物理アドレスを有するページ212の消去を予約しておき、それぞれのブロック211ごとに、そのブロック211に属するすべてまたは大部分のページ212が消去予約された場合に、そのブロック211に属するすべてのページ212を消去する。
また、図5(b)に示すように、ページ・リード・ライト制御部11は、ホスト装置2からページ・リード・コマンドを受信すると(ステップS21)、そのページ・リード・コマンドから論理アドレスを取得する(ステップS22)。なお、ページ・リード・コマンドは、不揮発データ記憶部20のNVMチップ21に記憶されているページデータを読み出す命令であり、ページ・リード・コマンドには、読み出し対象のページデータの論理アドレスが添付されている。
次に、ページ・リード・ライト制御部11は、その取得した論理アドレスをアドレス変換処理部13へ渡し、そのアドレス変換処理部13を用いて、アドレス変換処理を実行する(ステップS23)。すなわち、アドレス変換処理部13は、ページ・リード・ライト制御部11から論理アドレスを受け取ると、アドレス変換テーブル15を参照して、その論理アドレスに対応付けられた物理アドレスを取得する。
次に、ページ・リード・ライト制御部11は、アドレス変換処理部13によって取得された物理アドレスからページデータを読み出し(ステップS24)、読み出したページデータをホスト装置2へ送信して(ステップS25)、ページ・リード・コマンドの処理を終了する。
続いて、図6および図7を参照して、故障チップが生じたときのミラー構成の再構成処理手順を具体的に説明する。ここで、図6は、不揮発データ記憶部20のA系のNVMチップ21のうちNVM(#5)が故障チップになったことを例示する図である。
なお、NVMチップ21の故障は、ページ・リード・ライト制御部12がページ・リード・コマンド、ページ・ライト・コマンド、ページ消去コマンドなどを実行したとき検出される。例えば、ページ・リード・ライト制御部12は、ページ・リード・コマンドにより同じページ212のデータを所定回数以上読み出しても正しいデータを読み出せない場合には(検査符号215を用いて正誤の判定が可能)、そのページ212を含むNVMチップ21を故障チップと判定する。同様に、ページ・リード・ライト制御部12は、所定回数以上の書き込みやブロック消去を繰り返しても正しいデータを書き込むことができないページ212が生じたり、消去できないブロック211が生じたりした場合には、そのページ212またはブロック211を含むNVMチップ21を故障チップと判定する。
図6に示すように、不揮発データ記憶部20において、A系のNVMチップ21のうち例えば、NVM(#5)が故障チップ(実線の×印が付されたNVMチップ21)になった場合には、A系のNVM(#5)についてはページデータの書き込みおよび読み出しができなくなるので、A系とB系とによるミラー構成が崩れる。
しかしながら、この時点では、故障したNVM(#5)に記憶されているページデータと同じページデータが、NVM(#5)とミラー関係にあるB系のNVM(#17)(図6で、点線の×印が付されたNVMチップ21)に記憶されている。そこで、本実施形態では、A系のNVM(#5)が故障チップとなっても、B系のNVM(#17)に記憶されているページデータを、A系、B系それぞれにおける故障していないNVMチップ21へコピー(両系ライト)することにより、ミラー構成を再構成することができる。
図7は、故障したA系のNVM(#5)とミラー関係にあるB系のNVM(#17)に記憶されているデータを、他の故障していないNVMチップ21にコピーする様子を、アドレス変換テーブル15の変化により例示した図である。
図7(a)には、故障チップ発生時のアドレス変換テーブル15が示されている。ここでは、NVM(#5)が故障したものとして、コピー対象のページデータが太線枠で示されている。このとき、そのチップ番号は、“5”となっているが、コピー元となるNVMチップ21は、その故障したA系のNVM(#5)とミラー関係にあるB系のNVM(#17)である。
次に、図7(b)には、NVM(#17)のページアドレス“2”に記憶されている論理アドレス“A1817”のページデータが、NVM(#0)およびNVM(#12)のページアドレス“10”にコピー(両系ライト)されたことが表されている。また、同様に、図7(c)には、NVM(#17)のページアドレス“9”に記憶されている論理アドレス“A1829”のページデータが、NVM(#1)およびNVM(#13)のページアドレス“13”にコピー(両系ライト)されたことが表されている。
以下、同様に、図7(d),(e)に示されているように、NVM(#17)のページアドレス“10”、“11”に記憶されているページデータは、それぞれ、NVM(#2)およびNVM(#14)のページアドレス“9”、NVM(#3)およびNVM(#15)のページアドレス“7”へと、順次コピー(両系ライト)されていく。なお、その場合、当然ではあるが、故障チップであるNVM(#5)およびコピー元であるNVM(#17)へのコピーは、スキップされる。
以上のようにして、NVM(#17)から読み出したページデータを、A系、B系の互いに対応するチップ番号の同じページアドレスに、順次コピー(両系ライト)していくことによって、NVM(#5)およびNVM(#17)を除外した形態で、ミラー構成が再構成される。従って、このようにしてミラー構成が再構成された場合には、A系のNVM(#5)だけでなく、NVM(#5)に対応するB系の故障していないNVM(#17)も使用不能となる。
図8は、ミラー構成を再構成するために実行される故障チップデータコピー処理の処理フローの例を示した図である。この故障チップデータコピー処理は、ページ・リード・ライト制御部11により、故障チップが検出されたときに開始される。なお、ページ・リード・ライト制御部11は、図5ステップS17のページ消去処理などで、例えば、あるNVMチップ21の消去不可能なブロック(不良ブロック)の数が所定数以上に達した場合などに、そのNVMチップ21が故障したと判定する。
図8に示すように、故障チップデータコピー処理部12は、まず、故障チップとミラー関係にある他系側のNVMチップ21をコピー元チップに指定する(ステップS31)とともに、コピー元チップのページアドレス(SPA)を初期化し、ゼロクリアする(ステップS32)。さらに、故障チップデータコピー処理部12は、コピー先チップのチップ番号(DCN)およびページアドレス(DPA)を初期化する(ステップS33)。なお、DCNおよびDPAの初期化される値は、後記する物理アドレス選択処理(図9参照)の処理方法などに依存し、適宜定められる。また、このようにして初期化されたSPA,DCN,DPAの値は、故障チップデータコピー処理部12内に設けられたメモリまたはレジスタに記憶される。
次に、故障チップデータコピー処理部12は、コピー元チップのページアドレス(SPA)からページデータを読み出し(ステップS34)、その読み出したページデータから論理アドレスを取得する(ステップS35)。なお、論理アドレスは、そのページデータのヘッダ213に含まれている(図2参照)。
次に、故障チップデータコピー処理部12は、物理アドレス選択処理部14を用いて、物理アドレス選択処理を実行する(ステップS36)。このとき、物理アドレス選択処理部14は、ページ・ライト・コマンド処理(図5(a)参照)の場合と同様に、空き物理アドレスの1つを選択して、提供するだけでよいが、図9に示すように、故障していないNVMチップ21から空き物理アドレスを均等に選択するようにしてもよい。
次に、故障チップデータコピー処理部12は、物理アドレス選択処理によって選択された物理アドレスに、ステップS34でコピー元チップから読み出したページデータを書き込む(ステップS37)。なお、このページデータの書き込みは、両系ライトであり、A系、B系の互いにミラー関係にある2個のNVMチップ21の物理アドレスに、同じページデータが書き込まれる。
次に、故障チップデータコピー処理部12は、ステップS35で取得した論理アドレスとステップS36の物理アドレス選択処理によって選択された物理アドレスとを対応付けたデータをアドレス変換テーブル15に追加することにより、アドレス変換テーブル15を更新する(ステップS38)。
次に、故障チップデータコピー処理部12は、コピー元チップのページアドレス(SPA)をインクリメント、すなわち、SPA=SPA+1とし(ステップS39)、そのページアドレスが最終ページアドレスに到達したか否かを判定する(ステップS40)。その判定の結果、最終ページアドレスに到達していなかった場合には(ステップS40でNo)、故障チップデータコピー処理部12は、ステップS34へ戻り、ステップS34以降の処理を繰り返して実行する。また、最終ページアドレスに到達していた場合には(ステップS40でYes)、故障チップデータコピー処理部12は、故障チップデータコピー処理を終了する。なお、ここでいう最終ページアドレスとは、1個のNVMチップ21内におけるページアドレスの最大値である。
図9は、故障チップデータコピー処理時に実行される物理アドレス選択処理の処理フローの例を示した図である。この処理フローは、コピー先となるNVMチップ21のすべてのチップで、あるページアドレス(このアドレスを、以下、DPA0と記す)以降がすべて空き物理アドレス領域であり、その空き物理アドレス領域の合算した領域サイズが故障チップ、つまり、NVMチップ21の物理領域サイズよりも大きい場合に適用される。
図8に示したように、図9の物理アドレス選択処理が実行される前には、故障チップデータコピー処理のステップS33において、コピー先チップのチップ番号(DCN)およびページアドレス(DPA)が初期化される。ここでは、この初期化により、DCN=0、DPA=DPA0が設定されるものとする。
続いて、図9の物理アドレス選択処理が開始されると、物理アドレス選択処理部14は、故障チップテーブル16を参照して、チップ番号(DCN)で指定されるコピー先チップが故障チップであるか否かを判定する(ステップS51)。なお、この判定では、A系、B系の互いにミラー関係にあるNVMチップ21のいずれか一方が故障チップである場合には、故障チップと判定する。例えば、B系のNVM(#17)が故障チップであった場合、DCN=5のときは、ステップS51では、故障チップと判定される。
ステップS51での判定の結果、コピー先チップが故障チップであったときには(ステップS51でYes)、物理アドレス選択処理部14は、コピー先チップのチップ番号(DCN)をインクリメント、すなわち、DCN=DCN+1とする(ステップS52)。ただし、コピー先チップのチップ番号(DCN)が最終のチップ番号(DCN=11)を超えたとき、つまり、DCN=12のとき、DCN=0とする。
また、ステップS51での判定の結果、コピー先チップが故障チップでなかったときには(ステップS51でYes)、物理アドレス選択処理部14は、この時点でのコピー先チップのチップ番号(DCN)およびページアドレス(DPA)を、物理アドレス選択処理部14が選択した物理アドレスとして上位処理部、すなわち、故障チップデータコピー処理部12へ返す(ステップS53)。
次に、物理アドレス選択処理部14は、コピー先チップのチップ番号(DCN)をインクリメント、すなわち、DCN=DCN+1とする(ステップS54)。ただし、コピー先チップのチップ番号(DCN)が最終のチップ番号(DCN=11)を超えたとき、つまり、DCN=12のとき、DCN=0とする。さらに、物理アドレス選択処理部14は、コピー先チップのページアドレス(DPA)をインクリメント、すなわち、DPA=DPA+1として(ステップS54)、物理アドレス選択処理を終了する。
なお、物理アドレス選択処理は、図9に示した処理フローに限定されるものではない。物理アドレス選択処理は、故障していないNVMチップ21から空き物理アドレスを見つけて、その1つを選択し、その選択した空き物理アドレスを送出するものであれば、どのような処理であってもよい。
以上のような故障チップデータコピー処理および物理アドレス選択処理によって、故障チップに記憶されているページデータと同じページデータが、A系、B系の故障していない互いにミラー関係にあるNVMチップ21の同じページアドレスにコピーされることになる。その結果、SSD装置1は、故障チップおよびその故障チップとミラー関係にあるNVMチップ21を除外した形で、A系、B系によるミラー構成を再構成することができる。
従って、本実施形態では、A系、B系のミラー構成をした不揮発データ記憶部20は、A系またはB系を構成するNVMチップ21のいずれかのチップが故障して、そのミラー構成が崩れたとしても、不揮発データ記憶制御部10における故障チップデータコピー処理(図8参照)によって、A系、B系のミラー構成を速やかに再構成することができる。従って、本実施形態によるSSD装置1の可用性は、例えば、3台の記憶装置(ハードディスク装置)によるミラー構成と同程度に高いものである。また、この場合、A系、B系の記憶装置部分の増加は、A系、B系それぞれにおいて、全12個に対して、1〜2個のNVMチップ21が増加する程度であるから、例えば、3重化のミラー構成などと比較してもその増加量は小さい。従って、本実施形態により提供される可用性の高いミラー構成のSSD装置1の価格は、抑制されたものとなる。
(実施形態の変形例)
以上に説明した実施形態では、一方の系のNVMチップ21が故障した場合には、その故障チップとミラー関係にある他方の系のNVMチップ21は、故障していなくても使用できなくなる。このような不利益は、A系およびB系で同じアドレス変換テーブル15が用いられるために生じる。すなわち、A系およびB系で同じアドレス変換テーブル15が用いられることによって、A系およびB系の完全なミラー構成が保証されるわけであるが、それ故に、一方の系のNVMチップ21が故障した場合には、その故障チップとミラー関係にある他方の系のNVMチップ21が使用できなくなる、つまり、故障したことになるのは、やむを得ない事態である。
そこで、この実施形態の変形例では、アドレス変換テーブル15は、A系およびB系それぞれに対して独立して設けられているとする。この場合には、同じ論理アドレスのページデータであっても、A系とB系とでは、記憶される物理アドレスは同じとは限らない。この意味では、ミラー構成は崩れているが、論理アドレス側からA系およびB系を見た場合には、ミラー構成は保たれている。
この実施形態の変形例における故障チップデータコピー処理部12の処理フローは、図8で説明した処理フローとは、一部が異なったものとなる。図8の処理フローでは、コピー元のデータの所在は、故障チップとミラー関係にある他方の系のNVMチップ21であると簡単に指定することができるが、この実施形態の変形例では、コピー元のデータの所在を求めるために、2つのアドレス変換テーブル15を突き合わせる必要がある。
すなわち、故障チップデータコピー処理部12は、まず、故障チップが属する系のアドレス変換テーブル15から、故障チップに記憶されているページデータの論理アドレスを抽出する。そして、他系側のアドレス変換テーブル15を参照して、その抽出された論理アドレスに対応付けられた物理アドレスを取得し、その取得した物理アドレスをコピー元データの所在アドレスとする。
また、故障チップデータコピー処理におけるコピー先も図8の場合と相違する。図8では、コピー元データを両系ライトしているが、この実施形態の変形例では、両系ライトは不要である。コピー元データは、故障チップが属する系と同じ系の故障していないNVMチップ21の空き物理アドレスにコピーされればよい。従って、故障チップが属さない系のNVMチップ21については、その系のアドレス変換テーブル15も含め、何も変更する必要はない。従って、故障チップとミラー関係にある他方の系のNVMチップ21も、そのまま使用されることになる。
以上のように、本実施形態の変形例では、一方の系のNVMチップ21が故障しても、その故障チップとミラー関係にある他方の系のNVMチップ21まで使用できなくなることはない。従って、物理アドレスの総領域の論理アドレスの総領域に対する冗長量が、NVMチップ21の1個以上2個未満である場合には、本実施形態の変形例では、例えば、A系で故障チップが発生し、その後、B系で故障チップが発生しても、SSD装置1は、そのままミラー構成を再構成することができ、継続して使用することができる。なお、元の実施形態の場合には、2個の故障チップが発生した場合には、ミラー構成を再構成することはできない。従って、その分だけ、SSD装置1の寿命は長くなり、可用性は向上する。
1 SSD装置(ソリッド・ステート・ドライブ装置)
2 ホスト装置
3 ホストバス
10 不揮発データ記憶制御部
11 ページ・リード・ライト制御部
12 故障チップデータコピー処理部
13 アドレス変換処理部
14 物理アドレス選択処理部
15 アドレス変換テーブル
16 故障チップテーブル
20 不揮発データ記憶部
21 NVMチップ(不揮発性メモリチップ)

Claims (6)

  1. それぞれが複数の不揮発性メモリチップを含んでなり、それぞれが所定の形式の同じページデータを記憶するミラー構成の2系統の不揮発データ記憶部と、前記ミラー構成の2系統の不揮発データ記憶部を制御する不揮発データ記憶制御部と、を含んで構成されたソリッド・ステート・ドライブ装置であって、
    前記不揮発データ記憶制御部は、
    前記不揮発データ記憶部に記憶するページデータを識別する論理アドレスと、前記ページデータを記憶する前記不揮発性メモリチップおよびその内部のページアドレスを識別する物理アドレスと、を対応付けたアドレス変換テーブルと、
    前記不揮発データ記憶部に対してページデータの書き込みまたは読み出しの制御を行うページ・リード・ライト制御部と、
    前記ページデータを前記不揮発データ記憶部に書き込むとき、前記不揮発データ記憶部から空きページの物理アドレスを選択する物理アドレス選択処理部と、
    前記不揮発データ記憶部から論理アドレスを指定してページデータを読み出すとき、前記アドレス変換テーブルを参照して前記論理アドレスに対応する物理アドレスを取得するアドレス変換処理部と、
    を備え、
    前記ページ・リード・ライト制御部は、
    前記不揮発データ記憶部を構成する不揮発性メモリチップのいずれかが故障していることを検出したときには、
    前記故障した不揮発性メモリチップとミラー関係にある不揮発性メモリチップから、その不揮発性メモリチップに記憶されているページデータを読み出し、
    前記読み出したページデータを、前記故障した不揮発性メモリチップおよび前記故障した不揮発性メモリチップとミラー関係にある不揮発性メモリチップ以外の、前記2系統の不揮発データ記憶部のそれぞれに属し、互いにミラー関係となっている不揮発性メモリチップへコピーすること
    を特徴とするソリッド・ステート・ドライブ装置。
  2. 前記ミラー構成の2系統の不揮発データ記憶部のそれぞれにおける物理アドレスの総領域サイズは、前記論理アドレスの総領域サイズと前記不揮発性メモリチップ1個に含まれる物理アドレスの領域サイズとを合算したサイズよりも大きいこと
    を特徴とする請求項1に記載のソリッド・ステート・ドライブ装置。
  3. 前記不揮発データ記憶部に記憶される前記ページデータには、論理アドレスが含まれていること
    を特徴とする請求項1に記載のソリッド・ステート・ドライブ装置。
  4. それぞれが複数の不揮発性メモリチップを含んでなり、それぞれが所定の形式の同じページデータを記憶するミラー構成の2系統の不揮発データ記憶部と、前記ミラー構成の2系統の不揮発データ記憶部を制御する不揮発データ記憶制御部と、を含んで構成されたソリッド・ステート・ドライブ装置のミラー構成再構成方法であって、
    前記不揮発データ記憶制御部は、
    前記不揮発データ記憶部に記憶するページデータを識別する論理アドレスと、前記ページデータを記憶する前記不揮発性メモリチップおよびその内部のページアドレスを識別する物理アドレスと、を対応付けたアドレス変換テーブルと、
    前記不揮発データ記憶部に対してページデータの書き込みまたは読み出しの制御を行うページ・リード・ライト制御部と、
    前記ページデータを前記不揮発データ記憶部に書き込むとき、前記不揮発データ記憶部から空きページの物理アドレスを選択する物理アドレス選択処理部と、
    前記不揮発データ記憶部から論理アドレスを指定してページデータを読み出すとき、前記アドレス変換テーブルを参照して前記論理アドレスに対応する物理アドレスを取得するアドレス変換処理部と、
    を備え、
    前記ページ・リード・ライト制御部は、
    前記不揮発データ記憶部を構成する不揮発性メモリチップのいずれかが故障していることを検出したときには、
    前記故障した不揮発性メモリチップとミラー関係にある不揮発性メモリチップから、その不揮発性メモリチップに記憶されているページデータを読み出し、
    前記読み出したページデータを、前記故障した不揮発性メモリチップおよび前記故障した不揮発性メモリチップとミラー関係にある不揮発性メモリチップ以外の、前記2系統の不揮発データ記憶部のそれぞれに属し、互いにミラー関係となっている不揮発性メモリチップへコピーすること
    を特徴とするソリッド・ステート・ドライブ装置のミラー構成再構成方法。
  5. 前記ミラー構成の2系統の不揮発データ記憶部のそれぞれにおける物理アドレスの総領域サイズは、前記論理アドレスの総領域サイズと前記不揮発性メモリチップ1個に含まれる物理アドレスの領域サイズとを合算したサイズよりも大きいこと
    を特徴とする請求項4に記載のソリッド・ステート・ドライブ装置のミラー構成再構成方法。
  6. 前記不揮発データ記憶部に記憶される前記ページデータには、論理アドレスが含まれていること
    を特徴とする請求項4に記載のソリッド・ステート・ドライブ装置のミラー構成再構成方法。
JP2010012203A 2010-01-22 2010-01-22 ソリッド・ステート・ドライブ装置およびミラー構成再構成方法 Expired - Fee Related JP5331018B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010012203A JP5331018B2 (ja) 2010-01-22 2010-01-22 ソリッド・ステート・ドライブ装置およびミラー構成再構成方法
PCT/JP2011/050707 WO2011090012A1 (ja) 2010-01-22 2011-01-18 ソリッド・ステート・ドライブ装置およびミラー構成再構成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010012203A JP5331018B2 (ja) 2010-01-22 2010-01-22 ソリッド・ステート・ドライブ装置およびミラー構成再構成方法

Publications (2)

Publication Number Publication Date
JP2011150590A JP2011150590A (ja) 2011-08-04
JP5331018B2 true JP5331018B2 (ja) 2013-10-30

Family

ID=44306815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010012203A Expired - Fee Related JP5331018B2 (ja) 2010-01-22 2010-01-22 ソリッド・ステート・ドライブ装置およびミラー構成再構成方法

Country Status (2)

Country Link
JP (1) JP5331018B2 (ja)
WO (1) WO2011090012A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102470627B (zh) * 2009-07-31 2014-09-10 新日铁住金株式会社 层叠钢板
JP5964265B2 (ja) * 2013-03-07 2016-08-03 株式会社日立超エル・エス・アイ・システムズ 半導体集積回路装置
US20140258792A1 (en) * 2013-03-08 2014-09-11 Ross S. Scouller Symmetrical Data Replication For Failure Management In Non-Volatile Memory Systems
JP6331773B2 (ja) 2014-06-30 2018-05-30 富士通株式会社 ストレージ制御装置、およびストレージ制御プログラム
JP7208000B2 (ja) * 2018-12-28 2023-01-18 キヤノン株式会社 情報処理装置及び情報処理装置の制御方法
CN110187833A (zh) * 2019-05-22 2019-08-30 西安微电子技术研究所 一种芯片级的存储阵列的冗余方法
CN116842589A (zh) * 2023-07-04 2023-10-03 沈阳安华晟源信息科技有限公司 一种flash芯片底层物理镜像提取方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004139503A (ja) * 2002-10-21 2004-05-13 Matsushita Electric Ind Co Ltd 記憶装置及びその制御方法
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
JP5014821B2 (ja) * 2007-02-06 2012-08-29 株式会社日立製作所 ストレージシステム及びその制御方法
US20090271564A1 (en) * 2008-04-25 2009-10-29 Hitachi, Ltd. Storage system

Also Published As

Publication number Publication date
JP2011150590A (ja) 2011-08-04
WO2011090012A1 (ja) 2011-07-28

Similar Documents

Publication Publication Date Title
JP5388976B2 (ja) 半導体記憶制御装置
JP5525605B2 (ja) フラッシュメモリモジュール
US9304685B2 (en) Storage array system and non-transitory recording medium storing control program
JP5331018B2 (ja) ソリッド・ステート・ドライブ装置およびミラー構成再構成方法
US7984325B2 (en) Storage control device, data recovery device, and storage system
US8694865B2 (en) Data storage device configured to reduce buffer traffic and related method of operation
US9176817B2 (en) Data management in solid state storage devices
JP4901968B2 (ja) 半導体記憶装置
US20050229033A1 (en) Disk array controller and information processing apparatus
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
JP5651457B2 (ja) 半導体記憶装置
JP5364807B2 (ja) メモリコントローラ及び不揮発性記憶装置
JP2011165063A (ja) 半導体記憶装置
JP2010015195A (ja) 記憶制御装置及び記憶制御方法
US10067833B2 (en) Storage system
US11042310B2 (en) Reading of start-up information from different memory regions of a memory system
JP4460967B2 (ja) メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法
JP2013125513A (ja) 不揮発性半導体記憶装置及びその管理方法
US10229742B2 (en) Flash memory device
JP2010079856A (ja) 記憶装置およびメモリ制御方法
US7293193B2 (en) Array controller for disk array, and method for rebuilding disk array
JP2010282369A (ja) メモリシステム
US11410741B2 (en) Memory controller and flash memory system
JP6707939B2 (ja) 制御装置、ストレージ装置、制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130726

R150 Certificate of patent or registration of utility model

Ref document number: 5331018

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees