JP2010015195A - 記憶制御装置及び記憶制御方法 - Google Patents
記憶制御装置及び記憶制御方法 Download PDFInfo
- Publication number
- JP2010015195A JP2010015195A JP2008171800A JP2008171800A JP2010015195A JP 2010015195 A JP2010015195 A JP 2010015195A JP 2008171800 A JP2008171800 A JP 2008171800A JP 2008171800 A JP2008171800 A JP 2008171800A JP 2010015195 A JP2010015195 A JP 2010015195A
- Authority
- JP
- Japan
- Prior art keywords
- data
- nonvolatile semiconductor
- semiconductor memory
- storage
- reading
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】RAID構成とされた複数の不揮発性半導体記憶装置を有効に活用することが可能な記憶制御装置及び記憶制御方法を提供する。
【解決手段】複数の不揮発性半導体記憶装置を用いて、当該不揮発性半導体記憶装置に記憶されるデータを復元可能なRAIDを構成し、外部から入力されるデータの読み込み要求に応じ、前記RAIDを構成する不揮発性半導体記憶装置からデータを読み込み、この読み込み時にエラーが発生した場合には、当該読み込みエラーが発生したデータを復元し、前記読み込みエラーが発生した前記不揮発性半導体記憶装置上の領域に書き戻す。
【選択図】 図2
【解決手段】複数の不揮発性半導体記憶装置を用いて、当該不揮発性半導体記憶装置に記憶されるデータを復元可能なRAIDを構成し、外部から入力されるデータの読み込み要求に応じ、前記RAIDを構成する不揮発性半導体記憶装置からデータを読み込み、この読み込み時にエラーが発生した場合には、当該読み込みエラーが発生したデータを復元し、前記読み込みエラーが発生した前記不揮発性半導体記憶装置上の領域に書き戻す。
【選択図】 図2
Description
本発明は、RAID構成とされた複数の不揮発性半導体記憶装置を制御する記憶制御装置及び記憶制御方法に関する。
従来、サーバ環境等で使用されるストレージシステムでは、耐障害性・冗長性を向上させるため、複数の磁気ディスク装置を用いることで、RAID(Redundant Array of Independent/Inexpensive Disks)を構成することが行われている(例えば、非特許文献1参照)。例えば、RAID5の構成では、3つ以上の磁気ディスク装置を使用し、データの復旧のためのパリティを当該データとともに各磁気ディスク装置に分散して記憶することで、データが破損した場合であっても、このパリティを用いることでデータを復旧することが可能である。このようなRAID構成を実現するコントローラでは、ある磁気ディスク装置からデータの読み込みが不可能になると、当該磁気ディスク装置が故障したと判断し、RAID構成から除外することが一般に行われており、除外された磁気ディスク装置を新たな磁気ディスク装置に交換することで、従前のRAID構成を回復することが可能となっている。
一方、不揮発性の半導体記憶素子を記録媒体として用いたSSD(Solid State Drive)等の不揮発性半導体記憶装置が存在しており、磁気ディスク装置と同様に補助記憶装置(二次記憶装置)として使用することも行われている。この、不揮発性半導体記憶装置では、磁気ディスク装置のようにディスクを持たないため、データの読み書きが磁気ディスク装置に比べて高速であり、消費電力を抑えることができるため、サーバ環境での利用も期待されている。
記録媒体としてNAND型フラッシュメモリが採用された不揮発性半導体記憶装置では、データの読み込み時に生じる電荷変位や自然放電等により、記憶したデータが劣化し、正常に読み込みすることができなくなる可能性がある。そのため、このような不揮発性半導体記憶装置では、記憶されているデータを読み出して誤り訂正を行った後に再びNAND型フラッシュメモリに書き戻すリフレッシュ処理を所定時間毎に行うことで、データの損失を防ぐ機構が備えられている。なお、この場合、記憶素子(メモリセル)自体は故障しておらず、データが劣化しているだけであるため、正常なデータを再度書き込むことにより、当該記憶素子を再び使用することが可能となる。
D. Patterson, G. Gibson, and R. Katz. "A Case for Redundant Array of Inexpensive Disks (RAID)" ,Proceedings of the 1988 ACM SIGMOD, pp.109-116, June 1988.
ところで、劣化の程度によっては上記リフレッシュ処理により全てのデータを復元できるとは限らず、この場合、復元に失敗したデータの読み込みについては、読み込みエラーが発生することになる。そのため、不揮発性半導体記憶装置を用いて上記RAIDを構成すると、従来技術と同様、読み込みエラーが発生した際にはその不揮発性半導体記憶装置が故障と判断されることになる。なお、上述したように読み込みエラーの発生したデータの格納領域に正常なデータを再度書き込むことで、故障と判断された不揮発性半導体記憶装置を復旧できる可能性があるが、上記従来技術は、磁気ディスク装置での使用が前提となるため、当該不揮発性半導体記憶装置を復旧することはできない。また、復旧可能な不揮発性半導体記憶装置であっても、RAID構成から除外され、交換の対象とされてしまう可能性があるため、従来技術では、不揮発性半導体記憶装置を有効に活用できないという問題がある。
本発明は上記に鑑みてなされたものであって、RAID構成とされた複数の不揮発性半導体記憶装置を有効に活用することが可能な記憶制御装置及び記憶制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、複数の不揮発性半導体記憶装置を接続可能なインタフェースと、前記複数の不揮発性半導体記憶装置を用いて、記憶対象となるデータを、当該データを復元可能な復元情報とともに記憶するためのRAIDを構成する構成手段と、外部から入力されるデータの読み込み要求に応じ、前記RAIDを構成する不揮発性半導体記憶装置からデータを読み込む読込手段と、前記読込手段による読み込み時にエラーが発生したデータを、前記復元情報に基づいて復元する復元手段と、前記復元手段により復元されたデータを一時的に保存する保存手段と、前記保存手段に保存されたデータを、当該データの読み込みエラーが発生した前記不揮発性半導体記憶装置上の領域に書き込む書込手段と、を備える。
また、本発明は、複数の不揮発性半導体記憶装置を用いて、記憶対象となるデータを、当該データを復元可能な復元情報とともに記憶するためのRAIDを構成する記憶制御装置の記憶制御方法であって、読込手段が、外部から入力されるデータの読み込み要求に応じ、前記RAIDを構成する不揮発性半導体記憶装置からデータを読み込む読込工程と、復元手段が、前記読込工程で読み込みエラーが発生したデータを、前記復元情報に基づいて復元する復元工程と、保存手段が、前記復元工程で復元されたデータを一時的に保存する保存工程と、書込手段が、前記保存工程に保存されたデータを、当該データの読み込みエラーが発生した前記不揮発性半導体記憶装置上の領域に書き込む書込工程と、を含む。
本発明によれば、RAID構成とされた不揮発性半導体記憶装置に読み込みエラーが発生した場合であっても、この読み込みエラーが発生したデータを復元し、当該読み込みエラーが発生した不揮発性半導体記憶装置上の領域に書き戻すことで、当該不揮発性半導体記憶装置を正常な状態に復旧させることができるため、RAID構成とされた複数の不揮発性半導体記憶装置を有効に活用することができる。
以下、添付図面を参照して、本発明の最良な実施形態を詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
[第1の実施形態]
図1は、第1の実施形態にかかるストレージシステム100の概略構成を示したブロック図である。同図に示したように、ストレージシステム100は、ホスト装置10と、コントローラ20と、複数の不揮発性半導体記憶装置31から構成されるストレージ装置30とを有している。
図1は、第1の実施形態にかかるストレージシステム100の概略構成を示したブロック図である。同図に示したように、ストレージシステム100は、ホスト装置10と、コントローラ20と、複数の不揮発性半導体記憶装置31から構成されるストレージ装置30とを有している。
ホスト装置10は、PC(Personal Computer)等であって、コントローラ20に対してデータの書き込みや読み込みを要求する指示情報を出力する。以下、データの書き込みを要求する指示情報を「書き込み要求」と呼び、データの読み込みを要求する指示情報を「読み込み要求」と呼ぶ。なお、ホスト装置10からコントローラ20に出力される書き込み要求には、少なくとも書き込み対象のデータが含まれているものとし、また、読み込み要求には、読み込み先となるストレージ装置30のアドレス情報(例えば、LBA:Logical Block Addressing)が含まれているものとする。
コントローラ20は、ストレージ装置30を構成する複数の不揮発性半導体記憶装置31を、RAID技術を用いて管理し、これら複数の不揮発性半導体記憶装置31により論理的に構成される記憶領域に対し、データの書き込みや読み出しをホスト装置10からの要求に応じて実行する。
具体的に、コントローラ20は、複数の不揮発性半導体記憶装置31をRAID1、5、6の何れか又はこれらの組み合わせとした構成とすることで、ストレージ装置30の耐障害性・冗長性を実現している。以下、本実施形態ではストレージ装置30をRAID5の構成とした態様について説明する。
RAID5は、パリティと呼ばれる誤り訂正符号の記憶用に割り当てる記憶装置と、データの記憶用に割り当てる記憶装置とを、ストライプ毎に順次変更するものである。RAID5を実装するディスクアレイ装置では、耐障害性の向上、大容量化、リード処理の高速化が実現できる。
図2は、RAID5で構成されたストレージ装置30の記憶領域を模式的に示した図である。なお、同図では4台の不揮発性半導体記憶装置31(不揮発性半導体記憶装置311〜314)によりストレージ装置30を構成した例を示しており、当該ストレージ装置30の記憶領域には12個のデータA〜Lが記憶されている。
RAID5を構成する不揮発性半導体記憶装置31の記憶領域は、コントローラ20により、データの書き込みまたは読み込みの単位となる複数の論理ブロックに分割される。図2に示した例では、データA〜Lの夫々やパリティP1〜P4の夫々が格納された領域が、1つの論理ブロックを示している。
ここで、パリティP1〜P4は、夫々同一のストライプグループ(0〜3)に記憶された複数のデータから算出される復元情報であって、この復元情報に基づいて当該復元情報の生成元となったデータを復元することが可能となっている。例えば、パリティP1はストライプグループ0に記憶されたデータA、B、Cから生成されており、データA、B、Cのうち何れか一のデータにエラーが発生した場合であっても、残りのデータとパリティP1とからエラーの発生したデータを復元することが可能である。なお、データが格納される論理ブロック及びパリティが格納される論理ブロック(以下、パリティ領域という)は、所定のルールに基づき定められているものとするが、その配置位置は図2の例に限定されないものとする。
ストレージ装置30は、NAND型フラッシュメモリ等の不揮発性半導体素子を記録媒体とする複数の不揮発性半導体記憶装置31を有し、コントローラ20によるRAID管理の下、データを記憶するストレージとして機能する。なお、ストレージ装置30を構成する不揮発性半導体記憶装置31の個数は、コントローラ20が使用するRAIDの規約に応じた個数(例えば、RAID1であれば2個以上、RAID5ならば3個以上)であれば特に問わないものとする。
<コントローラ20の構成>
次に、図3を参照して、コントローラ20の構成について詳細に説明する。図3は、コントローラ20の詳細構成を示したブロック図である。同図に示したように、コントローラ20は、ホスト側I/F部21と、コマンド処理部22と、ストレージ側I/F部23とを備えている。
次に、図3を参照して、コントローラ20の構成について詳細に説明する。図3は、コントローラ20の詳細構成を示したブロック図である。同図に示したように、コントローラ20は、ホスト側I/F部21と、コマンド処理部22と、ストレージ側I/F部23とを備えている。
ホスト側I/F部21は、ホスト装置10と接続するためのインタフェース装置であって、ホスト装置10とコントローラ20(コマンド処理部22)との間で行われるデータの授受を制御する。
コマンド処理部22は、復元情報生成部221、復元処理部222、キャッシュ管理部223を有し、ホスト側I/F部21を介して入力されるホスト装置10からの要求に応じて、ストレージ装置30に対しデータの書き込みや読み込みをストレージ側I/F部23を介して行う。
なお、コマンド処理部22は、ASICやCPU等の処理装置、コントローラ20の動作を制御する所定のプログラムが格納されたROMや当該処理装置のワーク領域となるRAM等の記憶装置を備え(何れも図示せず)、これら処理装置と記憶装置に格納されたプログラムとの協働により、復元情報生成部221、復元処理部222及びキャッシュ管理部223の各機能部を実現する。
ここで、復元情報生成部221は、書き込み対象となるデータのパリティを生成する機能部である。なお、復元情報生成部221は、書き込み先となる領域に既存のデータが存在する場合、当該既存のデータと、このデータに係るパリティと、書き込み対象のデータとから、新たなパリティを生成する。
復元処理部222は、読み込みエラーが発生したデータについて、当該データと同一のストライプに記憶された他のデータ及びパリティを用いて、読み込みエラーが発生したデータの復元を行う機能部である。
また、キャッシュ管理部223は、不揮発性半導体記憶装置31へ書き込むデータ及び不揮発性半導体記憶装置31から読み込むデータを一時的に保存して管理するとともに、読み込みエラー発生時に復元処理部222により復元されたデータを一時的に保存する機能部である。
コマンド処理部22は、上記した各機能部(復元情報生成部221、復元処理部222、キャッシュ管理部223)との協働により、ストレージ装置30に対するデータの書き込み又は読み込みを制御する。
具体的に、コマンド処理部22は、ホスト装置10からデータの書き込み要求を受け付けると、このデータの書き込み先が、どの不揮発性半導体記憶装置31のどの領域(論理ブロック)に対応するのかを特定する。また、復元情報生成部221は、書き込み対象のデータに基づいてパリティを生成する。次いで、コマンド処理部22は、特定した領域へのデータの書き込みと、当該領域に応じたパリティ用の領域へのパリティの書き込みとを、書き込み先となる不揮発性半導体記憶装置31に要求することで、書き込み対象のデータと当該データについてのパリティとをストレージ装置30に書き込む。
また、書き込み先となる領域に既存のデータが存在する場合には、既存のデータを新たなデータに更新することになる。この場合、コマンド処理部22は、書き込み先として特定した領域に格納されている既存のデータと、当該データに係るパリティとの読み込みを、該当する不揮発性半導体記憶装置31に要求することで、既存のデータ及びパリティを読み込む。このとき、復元情報生成部221は、読み込まれた既存のデータ及びパリティと、書き込み対象のデータとから新たなパリティを生成し、この生成された新たなパリティと書き込み対象のデータとを、キャッシュ管理部に保存し、不揮発性半導体記憶装置31の該当する領域に書き込むことで、データの更新を行う。
また、コマンド処理部22は、ホスト装置10からデータの読み込み要求を受け付けると、この読み込み先が、どの不揮発性半導体記憶装置31のどの領域(論理ブロック)に対応するのかを特定する。そして、コマンド処理部22は、特定した領域からのデータの読み込みを、読み込み先となる不揮発性半導体記憶装置31に要求することで、読み込み対象のデータをストレージ装置30から読み込み、ホスト装置10に出力する。
なお、不揮発性半導体記憶装置31の記録媒体がNAND型フラッシュメモリの場合、データの読み込みの際に発生する電荷変位や自然放電等の理由により、記憶セル上のデータが破損する可能性がある。一般に、NAND型フラッシュメモリを記録媒体とする記憶装置には、破損したデータの誤りを検出し訂正する機構が設けられているが、必ずしも全ての誤りを訂正できるとは限らず、この場合、データを読み込み時にエラーが発生することになる。そのため、本実施形態では、このようなデータの破損について、復元処理部222が読み込みエラーの発生したデータを当該データのパリティに基づいて復元し、キャッシュ管理部223へ一時的に保存した後、該当部分への書き込み要求があった場合に、キャッシュ上のデータを元にして書き込むデータを生成し該当する領域に書き込むことで不揮発性半導体記憶装置31の復旧を行う。これにより、読み込みエラーの発生した不揮発性半導体記憶装置31を、正常な状態に復旧させることができる。
ストレージ側I/F部23は、不揮発性半導体記憶装置31と接続するためのインタフェース装置であって、コントローラ20(コマンド処理部22)と不揮発性半導体記憶装置31の間で行われるデータの授受を制御する。なお、ストレージ側I/F部23は、不揮発性半導体記憶装置31毎に設けられているものとするが、これに限らず、一のストレージ側I/F部23と複数の不揮発性半導体記憶装置31とが接続される態様としてもよい。
<コントローラ20の動作>
次に、コントローラ20の動作について説明する。まず、図4を参照して、ストレージ装置30にデータを書き込む際の動作について説明する。図4は、コントローラ20により実行される書き込み処理の手順を示したフローチャートである。なお、本処理の前提として、ストレージ装置30はRAID5で構成されているものとし、データの書き込み及び読み込みはストレージ装置30のストライプ単位で行われるものとする。
次に、コントローラ20の動作について説明する。まず、図4を参照して、ストレージ装置30にデータを書き込む際の動作について説明する。図4は、コントローラ20により実行される書き込み処理の手順を示したフローチャートである。なお、本処理の前提として、ストレージ装置30はRAID5で構成されているものとし、データの書き込み及び読み込みはストレージ装置30のストライプ単位で行われるものとする。
まず、コマンド処理部22は、ホスト側I/F部21を介しホスト装置10からデータの書き込み要求を受け付けると(ステップS11)、書き込み先となる領域がどの不揮発性半導体記憶装置31のどの領域に対応するのかを特定する(ステップS12)。なお、書き込み先となる領域は一であってもよいし、複数であってもよい。
続いて、復元情報生成部221は、ステップS12で特定した領域に既存のデータが記憶されているか否かを判定する(ステップS13)。ここで、既存のデータが存在すると判定した場合(ステップS13;Yes)、復元情報生成部221は、ステップS12で特定された領域について、データとパリティとの読み込みをストレージ側I/F部23を介してストレージ装置30に要求することで、既存のデータと当該データに係るパリティとをストレージ装置30から読み込む(ステップS14)。
次いで、復元情報生成部221は、ステップS14で読み込んだ既存のデータ及びパリティと、書き込み対象のデータとから新たなパリティを生成し(ステップS15)、ステップS16の処理に移行する。
なお、ステップS14の読み込みの際、読み込みエラーが発生した場合には、読み込みエラーの発生した既存のデータと同一のストライプに記憶された他のデータをストレージ装置30から読み込み、当該他のデータと書き込み対象のデータとから、新たなパリティの生成を行うものとする。
一方、ステップS13において、既存のデータが存在しないと判定した場合(ステップS13;No)、復元情報生成部221は、書き込み対象のデータからパリティを生成し(ステップS15)、ステップS16の処理に移行する。
続くステップS16では、コマンド処理部22が、書き込み対象のデータをステップS12で特定した領域に書き込むとともに、当該データの書き込み領域に応じたパリティ領域にステップS15で生成したパリティを書き込む(ステップS16)。ここで、コマンド処理部22は、データ及び/又はパリティの書き込み時に、書き込みエラーが発生したか否かを判定し、正常に書き込みが行われたと判定した場合には(ステップS17;No)、ステップS22の処理に直ちに移行する。
また、ステップS17において、書き込みエラーを検出した場合(ステップS17;Yes)、コマンド処理部22は、書き込み先となる不揮発性半導体記憶装置31に障害が発生したと判断し、当該不揮発性半導体記憶装置31を除いた残りの不揮発性半導体記憶装置31でRAID5の構成を維持する縮退動作が可能か否かを判定する(ステップS18)。ここで、縮退動作が不可能と判定した場合(ステップS18;No)、コマンド処理部22は、書き込みが失敗したことを示す応答をホスト装置10に出力し(ステップS19)、本処理を終了する。
また、ステップS18において、縮退動作が可能と判定した場合、コマンド処理部22は、障害が発生した不揮発性半導体記憶装置31をRAID5の構成から除外し(ステップS20)、縮退動作としたストレージ装置30に書き込み対象のデータと、ステップS15で生成したパリティとを書き込むと(ステップS21)、ステップS22の処理に移行する。
続くステップS22において、コマンド処理部22は、ステップS12で特定した全ての領域にデータを書き込んだか否かを判定し、未処理の領域が存在すると判定した場合には(ステップS22;No)、ステップS13の処理に再び戻り、他のストライプに含まれた領域を処理対象とする。また、ステップS22で特定した全ての領域にデータを書き込んだと判定した場合(ステップS22;Yes)、コマンド処理部22は、書き込みが終了したことを示す応答をホスト装置10に出力し(ステップS23)、本処理を終了する。
次に、図5を参照して、ストレージ装置30からデータを読み込む際の動作について説明する。図5は、コントローラ20により実行される読み込み処理の手順を示したフローチャートである。なお、本処理の前提として、ストレージ装置30はRAID5で構成されているものとし、データの書き込み及び読み込みはストレージ装置30のストライプ単位で行われるものとする。
まず、コマンド処理部22は、ホスト側I/F部21を介しホスト装置10からデータの読み込み要求を受け付けると(ステップS31)、読み込み先となる領域がどの不揮発性半導体記憶装置31のどの領域に対応するのかを特定する(ステップS32)。なお、読み込み先となる領域は一であってもよいし、複数であってもよい。
続いて、コマンド処理部22は、ステップS12で特定した領域に対応する各不揮発性半導体記憶装置31に対し、当該領域の読み込みを要求することで、ストレージ装置30から読み込み対象のデータを読み込む(ステップS33)。このとき、コマンド処理部22は、ステップS33の読み込みの際に読み込みエラーが発生したか否かを判定する(ステップS34)。ここで、コマンド処理部22が、正常に読み込みできたと判定した場合(ステップS34;No)、キャッシュ管理部223へ読み込んだデータを保存し(ステップS38)、ステップS39の処理に移行する。
一方、ステップS34において、コマンド処理部22が、読み込みエラーが発生したと判定した場合(ステップS34;Yes)、復元処理部222は、読み込みエラーが発生したデータと同一のストライプグループに記憶された未読み込みのデータと、パリティとをストレージ装置30から読み込み、当該データ及びパリティと、ステップS33で読み込んだデータとから読み込みエラーが発生したデータを復元する(ステップS35)。
続いて、復元処理部222は、ステップS35の処理でデータを復元できたか否かを判定する。ここで、パリティが読み込めない等の理由によりデータを復元することができないと判定した場合(ステップS36;No)、復元処理部222は、読み込みが失敗したことを示す応答をホスト装置10に出力し(ステップS37)、本処理を終了する。また、ステップS36において、復元処理部222が、データを復元できたと判定した場合(ステップS36;Yes)、この復元したデータをキャッシュ管理部223に保存し(ステップS38)、ステップS39の処理に移行する。
続くステップS39において、コマンド処理部22は、ステップS32で特定した全ての領域からデータを読み込んだか否かを判定する(ステップS39)。ここで、未処理の領域が存在すると判定した場合(ステップS39;No)、ステップS33の処理に再び戻り、他の領域を処理対象とする。また、ステップS32で特定した全ての領域からデータを読み込んだと判定した場合(ステップS39;Yes)、コマンド処理部22は、キャッシュ管理部223を参照し各領域から読み込んだデータをホスト装置10に出力し(ステップS40)、読み込み終了を示す応答をホスト装置10に出力し(ステップS41)、さらに以下に記載するようにデータの書き込み時にキャッシュ管理部223のデータを参照して不揮発性半導体記憶装置31へ書き込み(ステップS42)、本処理を終了する。
上記ステップS34で読み込みエラーが発生した場合、復元したデータはキャッシュ管理部223にのみ保存されることになる。このため、不揮発性半導体記憶装置31とキャッシュ管理部223とのデータの一貫性が保たれていない状態となるが、例えば、当該データの書き込み時にキャッシュ管理部223のデータを参照して不揮発性半導体記憶装置31へ書き込むことで一貫性が保持できる。これにより、不揮発性半導体記憶装置31に書き込む場合には書き込み時間がかかり、読み込み処理が完了せず、データの要求元(ホスト装置)への出力が遅くなることを防止することができる。
以上のように、第1の実施形態によれば、読み込み時にエラーが発生した場合、この読み込みエラーが発生したデータを復元してキャッシュ管理部223へ保存し、以降、書き込み要求があったときに当該読み込みエラーが発生した不揮発性半導体記憶装置31上の領域に書き込むことで、当該不揮発性半導体記憶装置31を正常な状態に復旧させることができるため、RAID構成とされた複数の不揮発性半導体記憶装置31を有効に活用することができる。
[第2の実施形態]
第1の実施形態では、ストレージ装置30をRAID5の構成としたが、データの復元を可能とするストレージシステムであれば特に問わず、上述したようにRAID1やRAID6の構成を採用してもよい。以下、第2の実施形態として、ストレージ装置30をRAID1の構成とした場合について説明する。なお、第1の実施形態と同様の構成要素については、同一の符号を付与し説明を省略する。
第1の実施形態では、ストレージ装置30をRAID5の構成としたが、データの復元を可能とするストレージシステムであれば特に問わず、上述したようにRAID1やRAID6の構成を採用してもよい。以下、第2の実施形態として、ストレージ装置30をRAID1の構成とした場合について説明する。なお、第1の実施形態と同様の構成要素については、同一の符号を付与し説明を省略する。
<コントローラ40の構成>
まず、第2の実施形態に係るコントローラ40について説明する。コントローラ40は、ストレージ装置30を構成する二つの不揮発性半導体記憶装置31を、RAID1の技術を用いて管理し、これら複数の不揮発性半導体記憶装置31により論理的に構成された記憶領域に対し、データの書き込みや読み出しをホスト装置10からのアクセス要求に応じて行う。
まず、第2の実施形態に係るコントローラ40について説明する。コントローラ40は、ストレージ装置30を構成する二つの不揮発性半導体記憶装置31を、RAID1の技術を用いて管理し、これら複数の不揮発性半導体記憶装置31により論理的に構成された記憶領域に対し、データの書き込みや読み出しをホスト装置10からのアクセス要求に応じて行う。
図6は、RAID1で構成されたストレージ装置30の記憶領域を模式的に示した図である。RAID1は、ミラーリングとも呼ばれ、少なくとも2台以上の不揮発性半導体記憶装置31に同一のデータを、同一のストライプ領域に同時に書き込みすることで、耐障害性・冗長性を確保している。なお、同図では2台の不揮発性半導体記憶装置31(不揮発性半導体記憶装置311、312)によりストレージ装置30を構成した例を示しており、当該ストレージ装置30の記憶領域に12個のデータA〜Lが記憶されている。
このRAID1の構成の場合、一方の不揮発性半導体記憶装置31についてデータの読み込みエラーが発生した場合、他方の不揮発性半導体記憶装置31から同一のデータを読み込むことで、システム自体は問題無く稼動し続けることができる。
図7は、第2の実施形態に係るコントローラ40の詳細構成を示したブロック図である。同図に示したように、コントローラ40は、ホスト側I/F部21と、コマンド処理部41と、ストレージ側I/F部23とを備えている。
ここで、コマンド処理部41は、復元処理部411、キャッシュ管理部412を有し、ホスト側I/F部21を介して入力されるホスト装置10のアクセス要求に応じて、ストレージ側I/F部23を介して接続されるストレージ装置30に対し、データの書き込みや読み込みを行う。
なお、コマンド処理部41は、ASICやCPU等の処理装置、コントローラ20の動作を制御する所定のプログラムが格納されたROMや当該処理装置のワーク領域となるRAM等の記憶装置を備え(何れも図示せず)、これら処理装置と記憶装置に格納されたプログラムとの協働により、復元処理部411及びキャッシュ管理部412の各機能部を実現する。
具体的に、コマンド処理部41は、ホスト装置10からデータの書き込み要求を受け付けると、このデータの書き込み先となる領域(論理ブロック)を各不揮発性半導体記憶装置31から夫々特定する。そして、コマンド処理部22は、書き込み対象のデータを不揮発性半導体記憶装置31の個数に応じた数だけ複製すると、各不揮発性半導体記憶装置31の特定した領域に夫々書き込む。
また、コマンド処理部22は、ホスト装置10からデータの読み込み要求を受け付けると、アクセス対象となる一の不揮発性半導体記憶装置31から、この読み込み先に対応する領域(論理ブロック)を特定する。そして、コマンド処理部22は、アクセス対象となる不揮発性半導体記憶装置31の特定した領域からデータを読み込み、ホスト装置10に出力する。ここで、アクセス対象となる不揮発性半導体記憶装置31は、予め定められているものとしてもよいし、負荷分散などの理由により他の不揮発性半導体記憶装置31と動的に切り替わるものとしてもよい。以下、アクセス対象の不揮発性半導体記憶装置31を「主記憶装置」と呼び、他の不揮発性半導体記憶装置31を「待機記憶装置」と呼ぶ。
なお、不揮発性半導体記憶装置31の記録媒体がNAND型フラッシュメモリの場合、上記したように読み込みの際に発生する電荷変位や自然放電等の理由により、記憶セル上のデータが破損する可能性がある。そのため、コマンド処理部41では、主記憶装置に発生したデータの破損について、復元処理部411が当該データと同一のデータを待機記憶装置から読み込み、キャッシュ管理部412へ一時的に保存する。そして、コマンド処理部41は、読み込みエラーの発生した部分への書き込み要求があった場合に、キャッシュ上のデータを元にして書き込むデータを生成し、該当する領域に書き込むことでデータの復元を行う。つまり、待機記憶装置に記憶されるデータは、主記憶装置に記憶されたデータを復元するための復元情報として機能する。これにより、読み込みエラーの発生した主記憶装置を、正常な状態に復旧することができる。
<コントローラ40の動作>
次に、コントローラ40の動作について説明する。まず、図8を参照して、ストレージ装置30にデータを書き込む際の動作について説明する。
次に、コントローラ40の動作について説明する。まず、図8を参照して、ストレージ装置30にデータを書き込む際の動作について説明する。
図8は、コントローラ40により実行される書き込み処理の手順を示したフローチャートである。なお、本処理の前提として、ストレージ装置30はRAID1で構成されているものとし、データの書き込みは論理ブロック単位で行われるものとする。
まず、コマンド処理部41は、ホスト側I/F部21を介しホスト装置10からデータの書き込み要求を受け付けると(ステップS51)、ストレージ装置30を構成する各不揮発性半導体記憶装置31について書き込み先となる領域を特定する(ステップS52)。
続いて、コマンド処理部41は、書き込み対象のデータを不揮発性半導体記憶装置31の個数分複製すると、ステップS52で特定した各不揮発性半導体記憶装置31の領域に、書き込み対象のデータを書き込む(ステップS53)。ここで、コマンド処理部22は、データの書き込みの際に書き込みエラーが発生したか否かを判定し、正常に書き込みが行われたと判定した場合には(ステップS54;No)、ステップS58の処理に直ちに移行する。
また、ステップS54において、書き込みエラーを検出した場合(ステップS54;Yes)、コマンド処理部41は、書き込み先となった不揮発性半導体記憶装置31に障害が発生したと判定し、当該不揮発性半導体記憶装置31を除いた残りの不揮発性半導体記憶装置31でシステムを維持する縮退動作が可能か否かを判定する(ステップS55)。ここで、縮退動作が不可能と判定した場合(ステップS55;No)、コマンド処理部22は、書き込みが失敗したことを示す応答をホスト装置10に出力し(ステップS56)、本処理を終了する。
また、ステップS55において、縮退動作が可能と判定した場合、コマンド処理部41は、障害が発生した不揮発性半導体記憶装置31をRAID1の構成から除外し(ステップS57)、ステップS58の処理に移行する。
続くステップS58において、コマンド処理部41は、ステップS52で特定した全ての領域にデータを書き込んだか否かを判定する(ステップS58)。ここで、未処理の領域が存在すると判定した場合には(ステップS58;No)、ステップS53の処理に再び戻り、他の領域を処理対象とする。また、ステップS52で特定した全ての領域にデータを書き込んだと判定した場合(ステップS58;Yes)、コマンド処理部41は、書き込みが終了したことを示す応答をホスト装置10に出力し(ステップS59)、本処理を終了する。
次に、図9を参照して、ストレージ装置30からデータを読み込む際の動作について説明する。図9は、コントローラ40により実行される読み込み処理の手順を示したフローチャートである。なお、本処理の前提として、ストレージ装置30はRAID1で構成されているものとし、データの書き込みは論理ブロック単位で行われるものとする。
まず、コマンド処理部41は、ホスト側I/F部21を介しホスト装置10からデータの読み込み要求を受け付けると(ステップS61)、読み込み先となる領域が主記憶装置のどの領域に対応するのかを特定する(ステップS62)。
続いて、コマンド処理部41は、主記憶装置に対し、ステップS62で特定した領域のデータの読み込みを要求することで、読み込み対象となったデータをストレージ装置30から読み込む(ステップS63)。このとき、コマンド処理部41は、ステップS63の読み込みの際に読み込みエラーが発生したか否かを判定する(ステップS64)。ここで、コマンド処理部41が、正常に読み込みできたと判定した場合(ステップS64;No)、キャッシュ管理部412へ読み込んだデータを保存し(ステップS68)、ステップS69の処理に移行する。
一方、ステップS64において、コマンド処理部41が、読み込みエラーが発生したと判定した場合(ステップS64;Yes)、復元処理部411は、読み込みエラーの発生したデータと同一のデータを待機記憶装置から読み込む(ステップS65)。続いて、復元処理部411は、待機記憶装置からデータを読み込めたか否かを判定する(ステップS66)。ここで、何れの待機記憶装置からもデータを読み込めないと判定した場合(ステップS66;No)、復元処理部411は、読み込みが失敗したことを示す応答をホスト装置10に出力し(ステップS67)、本処理を終了する。
また、ステップS66において、復元処理部411は、待機記憶装置からデータを読み込めたと判定した場合(ステップS66;Yes)、ステップS65で読み込まれたデータをキャッシュ管理部412へ保存し(ステップS68)、ステップS69の処理に移行する。
続くステップS69において、コマンド処理部41は、ステップS62で特定した全ての領域からデータを読み込んだか否かを判定する(ステップS69)。ここで、未処理の領域が存在すると判定した場合には(ステップS69;No)、ステップS63の処理に再び戻り、次の領域を処理対象とする。また、ステップS62で特定した全ての領域からデータを読み込んだと判定した場合(ステップS69;Yes)、コマンド処理部22は、各領域から読み込んだデータをホスト装置10に出力すると(ステップS70)、読み込み終了を示す応答をホスト装置10に出力し(ステップS71)、さらに以下に記載するようにデータの書き込み時にキャッシュ管理部223のデータを参照して不揮発性半導体記憶装置31へ書き込み(ステップS72)、本処理を終了する。
なお、上記ステップS64で読み込みエラーが発生した場合、復元したデータはキャッシュ管理部412にのみ保存されることになる。このため、不揮発性半導体記憶装置31とキャッシュ管理部412とのデータの一貫性が保たれていない状態となるが、例えば、当該データの書き込み時にキャッシュ管理部412のデータを参照して不揮発性半導体記憶装置31へ書き込むことで一貫性が保持できる。これにより、不揮発性半導体記憶装置31に書き込む場合には書き込み時間がかかり、読み込み処理が完了せず、データの要求元(ホスト装置)への出力が遅くなることを防止することができる。
以上のように、第2の実施形態によれば、読み込み時にエラーが発生した場合、この読み込みエラーが発生したデータを復元してキャッシュ管理部412へ保存し、以降、書き込み要求があったときに当該読み込みエラーが発生した不揮発性半導体記憶装置31上の領域に書き込むことで、当該不揮発性半導体記憶装置31を正常な状態に復旧させることができるため、RAID構成とされた複数の不揮発性半導体記憶装置31を有効に活用することができる。
以上、発明の実施の形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加などが可能である。
100 ストレージシステム
10 ホスト装置
20 コントローラ
21 ホスト側I/F部
22 コマンド処理部
221 復元情報生成部
222 復元処理部
223 キャッシュ管理部
23 ストレージ側I/F部
30 ストレージ装置
31 不揮発性半導体記憶装置
40 コントローラ
41 コマンド処理部
411 復元処理部
412 キャッシュ管理部
10 ホスト装置
20 コントローラ
21 ホスト側I/F部
22 コマンド処理部
221 復元情報生成部
222 復元処理部
223 キャッシュ管理部
23 ストレージ側I/F部
30 ストレージ装置
31 不揮発性半導体記憶装置
40 コントローラ
41 コマンド処理部
411 復元処理部
412 キャッシュ管理部
Claims (7)
- 複数の不揮発性半導体記憶装置を接続可能なインタフェースと、
前記複数の不揮発性半導体記憶装置を用いて、記憶対象となるデータを、当該データを復元可能な復元情報とともに記憶するためのRAIDを構成する構成手段と、
外部から入力されるデータの読み込み要求に応じ、前記RAIDを構成する不揮発性半導体記憶装置からデータを読み込む読込手段と、
前記読込手段による読み込み時にエラーが発生したデータを、前記復元情報に基づいて復元する復元手段と、
前記復元手段により復元されたデータを一時的に保存する保存手段と、
前記保存手段に保存されたデータを、当該データの読み込みエラーが発生した前記不揮発性半導体記憶装置上の領域に書き込む書込手段と、
を備えたことを特徴とする記憶制御装置。 - 外部から入力されるデータの書き込み要求に応じ、前記RAIDを構成する不揮発性半導体記憶装置にデータを書き込む書込手段を更に備え、
前記構成手段は、前記書込手段による書き込み時にエラーが発生した不揮発性半導体記憶装置を、前記RAIDの構成から除外することを特徴とする請求項1に記載の記憶制御装置。 - 前記構成手段は、前記書き込みエラーが発生した不揮発性半導体記憶装置以外の他の不揮発性半導体記憶装置により、前記RAIDの構成を維持することが可能な場合に、前記書き込みエラーが発生した不揮発性半導体記憶装置を、前記RAIDの構成から除外することを特徴とする請求項2に記載の記憶制御装置。
- 前記不揮発性半導体記憶装置は、自己の記録媒体に記憶されたデータのリフレッシュを行うことを特徴とする請求項1〜3の何れか一項に記載の記憶制御装置。
- 前記不揮発性半導体記憶装置は、NAND型フラッシュメモリを記録媒体として有することを特徴とする請求項1〜4の何れか一項に記載の記憶制御装置。
- 前記構成手段は、前記複数の不揮発性半導体記憶装置を、RAID1、5、6又はこれらの組み合わせとした構成とすることを特徴とする請求項1〜3の何れか一項に記載の記憶制御装置。
- 複数の不揮発性半導体記憶装置を用いて、記憶対象となるデータを、当該データを復元可能な復元情報とともに記憶するためのRAIDを構成する記憶制御装置の記憶制御方法であって、
読込手段が、外部から入力されるデータの読み込み要求に応じ、前記RAIDを構成する不揮発性半導体記憶装置からデータを読み込む読込工程と、
復元手段が、前記読込工程で読み込みエラーが発生したデータを、前記復元情報に基づいて復元する復元工程と、
保存手段が、前記復元工程で復元されたデータを一時的に保存する保存工程と、
書込手段が、前記保存工程に保存されたデータを、当該データの読み込みエラーが発生した前記不揮発性半導体記憶装置上の領域に書き込む書込工程と、
を含むことを特徴とする記憶制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008171800A JP2010015195A (ja) | 2008-06-30 | 2008-06-30 | 記憶制御装置及び記憶制御方法 |
| US12/395,811 US20090327803A1 (en) | 2008-06-30 | 2009-03-02 | Storage control device and storage control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008171800A JP2010015195A (ja) | 2008-06-30 | 2008-06-30 | 記憶制御装置及び記憶制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010015195A true JP2010015195A (ja) | 2010-01-21 |
Family
ID=41449062
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008171800A Pending JP2010015195A (ja) | 2008-06-30 | 2008-06-30 | 記憶制御装置及び記憶制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20090327803A1 (ja) |
| JP (1) | JP2010015195A (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012137886A (ja) * | 2010-12-24 | 2012-07-19 | Toshiba Corp | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
| JP2012137885A (ja) * | 2010-12-24 | 2012-07-19 | Toshiba Corp | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
| JP2013545202A (ja) * | 2010-12-01 | 2013-12-19 | エルエスアイ コーポレーション | 独立したシリコン素子の動的な上位レベルの冗長モード管理 |
| JP2014515537A (ja) * | 2011-05-31 | 2014-06-30 | マイクロン テクノロジー, インク. | データ完全性を与えるための装置および方法 |
| US8856427B2 (en) | 2011-06-08 | 2014-10-07 | Panasonic Corporation | Memory controller and non-volatile storage device |
| US9189350B2 (en) | 2012-01-06 | 2015-11-17 | Nec Corporation | Disk array control apparatus, disk array apparatus, and disk array control method |
| US9685206B2 (en) | 2012-07-23 | 2017-06-20 | Samsung Electronics Co., Ltd. | Memory device, memory system, and method of controlling read voltage of the memory device |
| WO2020100883A1 (ja) * | 2018-11-16 | 2020-05-22 | Necプラットフォームズ株式会社 | ディスクアレイシステム、制御装置、およびデータ入出力方法 |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4564520B2 (ja) | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
| EP2225643B1 (en) | 2007-12-28 | 2020-05-06 | Toshiba Memory Corporation | Semiconductor storage device |
| JP5268710B2 (ja) * | 2009-02-27 | 2013-08-21 | 株式会社東芝 | 半導体記憶装置 |
| US8327224B2 (en) * | 2009-04-16 | 2012-12-04 | Micron Technology, Inc. | Data recovery in a solid state storage system |
| JP5066209B2 (ja) | 2010-03-18 | 2012-11-07 | 株式会社東芝 | コントローラ、データ記憶装置、及びプログラム |
| JP5279785B2 (ja) | 2010-09-17 | 2013-09-04 | 株式会社東芝 | コントローラ、記憶装置、およびプログラム |
| JP5388976B2 (ja) * | 2010-09-22 | 2014-01-15 | 株式会社東芝 | 半導体記憶制御装置 |
| US8601313B1 (en) | 2010-12-13 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for a data reliability scheme in a solid state memory |
| US8615681B2 (en) | 2010-12-14 | 2013-12-24 | Western Digital Technologies, Inc. | System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss |
| US8601311B2 (en) | 2010-12-14 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory |
| US8589723B2 (en) * | 2010-12-22 | 2013-11-19 | Intel Corporation | Method and apparatus to provide a high availability solid state drive |
| US8700950B1 (en) | 2011-02-11 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for data error recovery in a solid state subsystem |
| US8700951B1 (en) | 2011-03-09 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata |
| JP5674634B2 (ja) * | 2011-12-28 | 2015-02-25 | 株式会社東芝 | コントローラ、記憶装置およびプログラム |
| KR101826051B1 (ko) * | 2012-02-27 | 2018-02-07 | 삼성전자주식회사 | 비휘발성 메모리 장치의 제어 방법 및 비휘발성 메모리 시스템 |
| US20140063983A1 (en) * | 2012-09-06 | 2014-03-06 | International Business Machines Corporation | Error Detection And Correction In A Memory System |
| US8839074B2 (en) | 2012-09-13 | 2014-09-16 | Sandisk Technologies Inc. | On chip data recovery for non-volatile storage |
| US9933980B2 (en) * | 2014-02-24 | 2018-04-03 | Toshiba Memory Corporation | NAND raid controller for connection between an SSD controller and multiple non-volatile storage units |
| TWI512750B (zh) * | 2014-07-30 | 2015-12-11 | Phison Electronics Corp | 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置 |
| KR102585221B1 (ko) | 2016-04-21 | 2023-10-05 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
| JP2019082897A (ja) * | 2017-10-31 | 2019-05-30 | 富士通株式会社 | 情報処理装置、情報処理システム及びプログラム |
| CN110413439B (zh) * | 2018-04-28 | 2023-10-20 | 伊姆西Ip控股有限责任公司 | 用于检测数据的不完整写入的方法、设备和计算机可读介质 |
| CN110413205B (zh) * | 2018-04-28 | 2023-07-07 | 伊姆西Ip控股有限责任公司 | 用于向磁盘阵列进行写入的方法、设备和计算机可读存储介质 |
| US10761727B2 (en) * | 2018-11-19 | 2020-09-01 | Micron Technology, Inc. | Scan frequency modulation based on memory density or block usage |
| US12346196B2 (en) * | 2022-10-04 | 2025-07-01 | Scality, S.A. | Extended protection storage system PUT operation |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7035974B2 (en) * | 2002-11-06 | 2006-04-25 | Synology Inc. | RAID-5 disk having cache memory implemented using non-volatile RAM |
| JP4413840B2 (ja) * | 2005-09-20 | 2010-02-10 | 株式会社東芝 | 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム |
| JP4660353B2 (ja) * | 2005-11-01 | 2011-03-30 | 株式会社東芝 | 記憶媒体再生装置 |
| JP4575288B2 (ja) * | 2005-12-05 | 2010-11-04 | 株式会社東芝 | 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム |
| JP4863749B2 (ja) * | 2006-03-29 | 2012-01-25 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
| JP4863814B2 (ja) * | 2006-08-04 | 2012-01-25 | 株式会社日立製作所 | 記憶媒体グループの故障を抑えるストレージシステム |
| JP2008217857A (ja) * | 2007-02-28 | 2008-09-18 | Toshiba Corp | メモリコントローラ及び半導体装置 |
| JP2009129070A (ja) * | 2007-11-21 | 2009-06-11 | Hitachi Ltd | フラッシュメモリ記憶装置の制御方法、その方法を用いたフラッシュメモリ記憶装置及びストレージシステム |
| US20090271564A1 (en) * | 2008-04-25 | 2009-10-29 | Hitachi, Ltd. | Storage system |
| US20100017649A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation | Data storage system with wear-leveling algorithm |
| US8103825B2 (en) * | 2008-09-30 | 2012-01-24 | Netapp, Inc. | System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair |
| JP5192352B2 (ja) * | 2008-10-30 | 2013-05-08 | 株式会社日立製作所 | 記憶装置及びデータ格納領域管理方法 |
| US8205037B2 (en) * | 2009-04-08 | 2012-06-19 | Google Inc. | Data storage device capable of recognizing and controlling multiple types of memory chips operating at different voltages |
-
2008
- 2008-06-30 JP JP2008171800A patent/JP2010015195A/ja active Pending
-
2009
- 2009-03-02 US US12/395,811 patent/US20090327803A1/en not_active Abandoned
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013545202A (ja) * | 2010-12-01 | 2013-12-19 | エルエスアイ コーポレーション | 独立したシリコン素子の動的な上位レベルの冗長モード管理 |
| JP2012137886A (ja) * | 2010-12-24 | 2012-07-19 | Toshiba Corp | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
| JP2012137885A (ja) * | 2010-12-24 | 2012-07-19 | Toshiba Corp | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
| US8707134B2 (en) | 2010-12-24 | 2014-04-22 | Kabushiki Kaisha Toshiba | Data storage apparatus and apparatus and method for controlling nonvolatile memories |
| US9021183B2 (en) | 2010-12-24 | 2015-04-28 | Kabushiki Kaisha Toshiba | Data storage apparatus and apparatus and method for controlling nonvolatile memories |
| JP2014515537A (ja) * | 2011-05-31 | 2014-06-30 | マイクロン テクノロジー, インク. | データ完全性を与えるための装置および方法 |
| US9086983B2 (en) | 2011-05-31 | 2015-07-21 | Micron Technology, Inc. | Apparatus and methods for providing data integrity |
| US9170898B2 (en) | 2011-05-31 | 2015-10-27 | Micron Technology, Inc. | Apparatus and methods for providing data integrity |
| US8856427B2 (en) | 2011-06-08 | 2014-10-07 | Panasonic Corporation | Memory controller and non-volatile storage device |
| US9189350B2 (en) | 2012-01-06 | 2015-11-17 | Nec Corporation | Disk array control apparatus, disk array apparatus, and disk array control method |
| US9685206B2 (en) | 2012-07-23 | 2017-06-20 | Samsung Electronics Co., Ltd. | Memory device, memory system, and method of controlling read voltage of the memory device |
| WO2020100883A1 (ja) * | 2018-11-16 | 2020-05-22 | Necプラットフォームズ株式会社 | ディスクアレイシステム、制御装置、およびデータ入出力方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20090327803A1 (en) | 2009-12-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2010015195A (ja) | 記憶制御装置及び記憶制御方法 | |
| US7984325B2 (en) | Storage control device, data recovery device, and storage system | |
| JP5242264B2 (ja) | データ制御装置、ストレージシステムおよびプログラム | |
| US8356292B2 (en) | Method for updating control program of physical storage device in storage virtualization system and storage virtualization controller and system thereof | |
| US20110264949A1 (en) | Disk array | |
| US20080184062A1 (en) | System and method for detecting write errors in a storage device | |
| JPH10111767A (ja) | 大容量記憶装置 | |
| US7721143B2 (en) | Method for reducing rebuild time on a RAID device | |
| JP2016530637A (ja) | Raidパリティストライプ再構成 | |
| US10210062B2 (en) | Data storage system comprising an array of drives | |
| US20110010582A1 (en) | Storage system, evacuation processing device and method of controlling evacuation processing device | |
| CN107885620A (zh) | 一种提高固态盘阵列性能和可靠性的方法及系统 | |
| WO2014061161A1 (ja) | 記録再生装置、誤り訂正方法および制御装置 | |
| JP4951493B2 (ja) | ディスクアレイ装置 | |
| JP2004213470A (ja) | ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法 | |
| US20140173337A1 (en) | Storage apparatus, control method, and control program | |
| JP2008217395A (ja) | ディスクアレイ装置 | |
| JP4740354B2 (ja) | ディスク制御装置およびディスク制御方法 | |
| JPH09218754A (ja) | データ記憶システム | |
| US11592994B2 (en) | Providing preferential treatment to metadata over user data | |
| US20050081088A1 (en) | Array controller for disk array, and method for rebuilding disk array | |
| JP5598124B2 (ja) | データ記録再生装置、データ記録方法、及び、データ記録プログラム | |
| GB2402803A (en) | Arrangement and method for detection of write errors in a storage system | |
| JP2019121279A (ja) | ディスクアレイコントローラ、ストレージ装置、ストレージ装置の復旧方法、及びディスクアレイコントローラの復旧プログラム | |
| JP3050169B2 (ja) | ディスクアレイシステム |