JP2014164792A - データストレージデバイス及び方法 - Google Patents
データストレージデバイス及び方法 Download PDFInfo
- Publication number
- JP2014164792A JP2014164792A JP2013233175A JP2013233175A JP2014164792A JP 2014164792 A JP2014164792 A JP 2014164792A JP 2013233175 A JP2013233175 A JP 2013233175A JP 2013233175 A JP2013233175 A JP 2013233175A JP 2014164792 A JP2014164792 A JP 2014164792A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage device
- write command
- data related
- write
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】信頼性の高いデータストレージデバイス及び方法を提供すること。
【解決手段】実施形態によれば、ホストから書き込みコマンドと、前記書き込みコマンドに関係するデータとを受け取ることと、前記書き込みコマンドに関係するデータを、不揮発性ソリッドステートストレージデバイスに格納することと、前記書き込みコマンドに関係するデータを、磁気ストレージデバイスに格納することと、前記磁気ストレージデバイスに格納されている、前記書き込みコマンドに関係するデータに読み出し確認プロセスを実行することと、前記読み出し確認プロセスを実行した後に、前記不揮発性ソリッドステートストレージデバイスに格納されている、前記書き込みコマンドに関係するデータを、削除に対する適格性があるとして示すこととを具備する方法。
【選択図】図5
【解決手段】実施形態によれば、ホストから書き込みコマンドと、前記書き込みコマンドに関係するデータとを受け取ることと、前記書き込みコマンドに関係するデータを、不揮発性ソリッドステートストレージデバイスに格納することと、前記書き込みコマンドに関係するデータを、磁気ストレージデバイスに格納することと、前記磁気ストレージデバイスに格納されている、前記書き込みコマンドに関係するデータに読み出し確認プロセスを実行することと、前記読み出し確認プロセスを実行した後に、前記不揮発性ソリッドステートストレージデバイスに格納されている、前記書き込みコマンドに関係するデータを、削除に対する適格性があるとして示すこととを具備する方法。
【選択図】図5
Description
ここで記述する実施形態は、一般的に、データストレージデバイス、システム、およびハイブリッドディスクドライブ中にデータを記憶するための方法に関連する。
ハードディスクドライブは、コンピュータの通例使用されるデータストレージデバイスであり、データストレージディスクの表面上の同心トラック中にデジタルデータを主に記憶する。データストレージディスクは、その上に磁気材料の層を有する回転可能なハードディスクであり、ディスクが一定の角速度で回転する間に、トラックの直近に保持されるリード/ライトヘッドを使用して、データストレージディスク上の所望のトラックからデータが読み出され、または、所望のトラックに対してデータが書き込まれる。データは、ホストコンピュータまたは他の電子機器からハードディスクドライブに転送された書き込みコマンドにしたがって、データストレージディスクに書き込まれる。
ハードディスクドライブ中の書き込み動作の間に、様々な故障モードが、不適切に書き込まれたデータをもたらしかねない。例えば、高浮上高の書き込みは、ライトヘッドが、短い時間期間の間であっても、目標浮上高を超えて、あまりに高く浮上するときに発生する。これは、ライトヘッドとデータストレージディスクとの間にあまりにも隔たりがあるせいで、書き込みのために使用される磁界が、データストレージディスク上の磁気材料に信頼性高く書き込むのには不十分であるかもしれないためである。他の原因の中でも、データストレージディスク上への外的衝撃、振動、および、汚れは、高い浮上高の書き込みをもたらすかもしれない。不適切に書き込まれたデータをもたらすかもしれない、他の故障モードは、リード/ライトヘッドとの接触からのデータストレージディスク上のすり傷、ライトヘッド不安定性、ライトヘッド劣化、外的衝撃によるトラックから外れた書き込み、および類似のことを含む。
いったん、データがハードディスクドライブのデータストレージディスク上で不適切に書き込まれると、その回復は不確実なものになりかねない。このようなデータは、ハードディスクドライブによって適用される、エラー訂正コード(ECC)、または、他のエラー制御技術により回復できることが多い。しかしながら、いくつかの例では、非常に望ましくないことに、データストレージディスク上に不適切に書き込まれたデータは永久に失われる。当該技術分野において、ハードディスクドライブの読み出し確認(リードベリファイ)手続は周知であり、ここで、書き込まれたデータは、データが適切に書き込まれているかを確認するために直ちに読み出されるが、このような手続は、書き込みコマンドと連続して実行されなければならない。結果として、読み出し確認手続の使用は、書き込みコマンドが、望ましくないほど時間を消費するようにさせ、ドライブ性能を深刻に低減させる。したがって、読み出し確認はディスクドライブ中にデータが適切に書き込まれていることを確実にするために使用できるものの、実際には、ディスクドライブ中に格納されたデータのかなりの部分に対する読み出し確認の使用は、一般的に実行可能でない。
本発明の目的は信頼性の高いデータストレージデバイス及び方法を提供することである。
1つ以上の実施形態は、磁気ストレージデバイスと不揮発性ソリッドステートデバイスとを具備するハイブリッドドライブ中にデータを記憶するシステムおよび方法を提供する。一般的に、書き込みコマンドの完了が、できるだけ素早く肯定応答されるように、ハイブリッドドライブによって受け取られた、書き込みコマンドに関係するデータは、不揮発性ソリッドステートデバイス中に、最初に格納される。次のバックグラウンドプロセスにおいて、読み出し確認プロセス、冗長書き込みプロセス、または、両方の組み合わせを使用して、前記データは、次に磁気記憶媒体へと書き込まれる。不揮発性ソリッドステートデバイス中に格納されるデータのコピーは、データが磁気記憶媒体へと書き込まれ、読み出し確認プロセスおよび/または冗長書き込みプロセスがうまく完了された後にのみ、削除に対して適格性があるとされる。
いくつかの実施形態にしたがった、ハイブリッドドライブにデータを格納する方法は、ホストから書き込みコマンドと、書き込みコマンドに関係するデータとを受け取ることと、書き込みコマンドに関係するデータを、不揮発性ソリッドステートストレージデバイスに格納することと、書き込みコマンドに関係するデータを、磁気ストレージデバイスに格納することとを具備する。方法は、磁気ストレージデバイスに格納されている、書き込みコマンドに関係するデータに読み出し確認プロセスを実行することと、読み出し確認プロセスを実行した後に、不揮発性ソリッドステートストレージデバイスに格納されている、書き込みコマンドに関係するデータを、削除に対する適格性があるとして示すこととをさらに具備する。
他の実施形態にしたがった、ハイブリッドドライブにデータを格納する方法は、ホストから書き込みコマンドと、書き込みコマンドに関係するデータとを受け取ることと、書き込みコマンドに関係するデータを、不揮発性ソリッドステートストレージデバイスに格納することと、書き込みコマンドに関係するデータを、磁気ストレージデバイスに格納することとを具備する。方法は、磁気ストレージデバイスに格納されている、書き込みコマンドに関係するデータ上に、磁気ストレージデバイス中で冗長書き込みプロセスを実行することと、冗長書き込みプロセスを実行した後に、不揮発性ソリッドステートストレージデバイスに格納されている、書き込みコマンドに関係するデータを、削除に対する適格性があるとして示すこととをさらに具備する。
いくつかの実施形態にしたがった、データストレージデバイスは、磁気ストレージデバイスと、不揮発性ソリッドステートデバイスと、制御装置とを具備する。1つの実施形態では、制御装置は、ホストから書き込みコマンドと、書き込みコマンドに関係するデータを受け取り、不揮発性ソリッドステートストレージデバイスにおける書き込みコマンドに関係するデータの記憶を制御し、磁気ストレージデバイス上への書き込みコマンドに関係するデータの記憶を制御し、磁気ストレージデバイスに格納されている書き込みコマンドに関係するデータ上に、磁気ストレージデバイス中で信頼性向上プロセスを実行し、信頼性向上プロセスを実行した後に、不揮発性ソリッドステートストレージデバイスに格納されている書き込みコマンドに関係するデータを、削除に対する適格性があるとして示すように構成されている。
上に記載した実施形態の特徴の方式が詳細に理解されるように、上に短く概要を示した実施形態のより詳細な記述を、添付の図面に対する参照によって行ってもよい。しかしながら、添付の図面は、本発明の典型的な実施形態のみを図示し、それゆえ、本発明の範囲を制限するとして考慮されるべきでなく、本発明は、他の同等に有効な実施形態を許容できることに留意すべきである。
明瞭さのために、図面の間で共通する同一のエレメントを指すために、適用可能なところでは、同一の参照番号を使用した。1つの実施形態の特徴は、さらに記述することなく、他の実施形態において組み込むことができることが企図されている。
図1は、1つの実施形態にしたがった、例示的なディスクドライブの概念図である。明瞭さのために、トップカバーなしでハイブリッドドライブ100を図示した。ハイブリッドドライブ100は、スピンドルモータ114によって回転され、複数の同心データ記憶トラックを含む、少なくとも1つのストレージディスク110を含む。スピンドルモータ114は、ベースプレート116上に搭載される。アクチュエータアームアセンブリ120もまた、ベースプレート116上に搭載され、データ記憶トラックからデータを読み出し、データ記憶トラックへとデータを書き込む、リード/ライトヘッド127を有する屈曲アーム122上に搭載されたスライダ121を有する。屈曲アーム122は、ベアリングアセンブリ126を中心に回転するアクチュエータアーム124に取り付けられている。ボイスコイルモータ128は、スライダ121を、ストレージディスク110に関して動かし、これにより、リード/ライトヘッド127を、ストレージディスク110の表面112上に配置される所望の同心データ記憶トラック上で位置決めする。スピンドルモータ114、リード/ライトヘッド127、および、ボイスコイルモータ128は、プリント回路ボード132上に搭載されている電子回路130に結合される。電子回路130は、リード/ライトチャネル137、マイクロプロセッサベースの制御装置133、(ダイナミックRAMであってもよく、データバッファとして使用される)ランダムアクセスメモリ(RAM)134、および/または、フラッシュメモリデバイス135とフラッシュマネージャデバイス136を備える。いくつかの実施形態では、フラッシュマネージャデバイス136、リード/ライトチャネル137、および、マイクロプロセッサベースの制御装置133は、システムオンチップ131のような、単一のチップ中に含まれている。いくつかの実施形態では、ハイブリッドドライブ100は、スピンドルモータ114およびボイスコイルモータ128を駆動するためのモータドライバチップをさらに備えてもよい。
明瞭さのために、単一のストレージディスク110および単一のアクチュエータアームアセンブリ120とともに、ハイブリッドドライブ100を図示する。ハイブリッドドライブ100はまた、複数のストレージディスクおよび複数のアクチュエータアームアセンブリを備えていてもよい。さらに、ストレージディスク110の各面は、屈曲アームに結合された関係するリード/ライトヘッドを有していてもよい。
データが、ストレージディスク110へ、または、ストレージディスク110から転送されるとき、アクチュエータアームアセンブリ120は、ストレージディスク110の内径(ID)と外径(OD)との間で弧を描くように動く。アクチュエータアームアセンブリ120は、ボイスコイルモータ128のボイスコイルを通して1つの方向において電流が流れるとき、ある角方向において加速し、電流が反転されるとき、反対の方向において加速して、これにより、ストレージディスク110に関する、アクチュエータアームアセンブリ120および付属のリード/ライトヘッド127の位置の制御を可能にしている。ボイスコイルモータ128は当該技術分野において知られているサーボシステムに結合されており、サーボシステムは、リード/ライトヘッド127によってストレージディスク110上のサーボウェッジから読み出された位置決めデータを使用して、特定のデータ記憶トラック上のリード/ライトヘッド127の位置を決定する。サーボシステムは、ボイスコイルモータ128のボイスコイルを通して、駆動するための適切な電流を決定し、現在のドライバと関係する回路とを使用して、前記電流を駆動する。
ハイブリッドドライブ100は、ハイブリッドドライブとして構成され、通常の動作において、ストレージディスク110および/またはフラッシュメモリデバイス135へデータを格納することができ、また、ストレージディスク110および/またはフラッシュメモリデバイス135からデータを取得することができる。ハイブリッドドライブにおいて、フラッシュメモリデバイス135のような不揮発性メモリは、旋回しているストレージディスク110を補って、より急速な起動、休止状態になること、再開、および、他のデータ読み出し書き込み動作とともに、より低い電力消費を提供する。このようなハイブリッドドライブ構成は、モバイルコンピュータ、または、他の移動体コンピューティングデバイスのようなバッテリ動作されるコンピュータシステムに対して特に有利である。好ましい実施形態では、フラッシュメモリデバイスは、電気的に消去することができ、再プログラムでき、不揮発性記憶媒体としてハイブリッドドライブ100中のストレージディスク110を補うようにサイズ変更される、NANDフラッシュチップのような、不揮発性ソリッドステート記憶媒体である。例えば、いくつかの実施形態では、フラッシュメモリデバイス135は、例えば、ギガバイト(GB)対メガバイト(MB)のような、RAM134より大きなオーダーである、データ記憶容量を有する。
図2は、1つの実施形態にしたがって構成されるとして示された電子回路130のエレメントを有するハイブリッドドライブ100の動作の図を図示する。示したように、ハイブリッドドライブ100は、RAM134、フラッシュメモリデバイス135、フラッシュマネージャデバイス136、システムオンチップ131、および、高速データパス138を備える。ハイブリッドドライブ100は、シリアルアドバンストテクノロジアタッチメント(SATA)バスのようなホストインターフェース20を介して、ホストコンピュータのようなホスト10に接続されている。
図2に図示した実施形態では、フラッシュマネージャデバイス136は、フラッシュメモリデバイス135の高速データパス138とのインターフェースを制御し、NANDインターフェースバス139を介して、フラッシュメモリデバイス135に接続されている。システムオンチップ131は、マイクロプロセッサベースの制御装置133と、ハイブリッドドライブ100の動作を制御するための(リード/ライトチャネル137を含む)他のハードウェアとを備え、高速データパス138を介して、RAM134とフラッシュマネージャデバイス136とに接続されている。マイクロプロセッサベースの制御装置133は、ハイブリッドドライブ100内の任意の制御回路、ARMマイクロプロセッサ、ハイブリッドドライブ制御装置のようなマイクロ制御装置を含んでもよい制御ユニットである。高速データパス138は、ダブルデータレート(DDR)バス、DDR2バス、DDR3バス、または、類似物のような、当該技術分野において知られている高速バスである。
一般に、フラッシュメモリデバイス135に転送されたデータは、読み出し要求の一部としてストレージディスク110から読み出されたデータとして、または、書き込み要求の一部として、ホスト10から直接受け入れられた書き込みデータであってもよい。一般的に、このようなデータは、論理ブロックアドレス(LBA)によって参照され、ここで、それぞれのLBAは、ストレージディスク110上の、一意的な、固定された物理ロケーションに対応するが、フラッシュメモリデバイス135中の任意の利用可能な物理ロケーションに関係付けられてもよい。データが、フラッシュメモリデバイス135中の高密度NAND型デバイスに転送されるとき、データは、従前に消去されてしまったNANDメモリのブロックへ書き込まれる。もし、フラッシュメモリデバイス135中に、不十分な消去されたブロックが存在する場合、所望のデータをフラッシュメモリデバイス135中に転送する前に、追加のメモリブロックを最初に消去しなければならない。これらの追加のメモリブロックは、現在、“ダーティ”データ、“クリーン”データ、または、“無効な”データを記憶しているデータブロックであってもよい。
ダーティデータは、フラッシュメモリデバイス135中だけに格納されるデータであり、それゆえ、ストレージディスク110上に、ダーティデータの対応するコピーは存在しない。一般的に、クリーンデータは、その対応するコピーが、ストレージディスク110上にも格納されているデータである。いくつかの実施形態にしたがうと、クリーンデータは、それに対する、ストレージディスク110上に格納されている対応するコピーが、信頼性向上プロセスを、すなわち、読み出し確認プロセスまたは冗長書き込みプロセスのうちの少なくとも1つを受けているデータとしてさらに定義される。したがって、このような実施形態では、クリーンデータであるとして示された、フラッシュメモリデバイス135中に格納されているデータは、信頼性を向上された、ストレージディスク110上に格納されている対応するコピーを有する。無効なデータは、それに対する、より新しいバージョンが、フラッシュメモリデバイス135へと書き込まれたデータである。逆に言えば、両方のカテゴリのデータは、特定のLBAに関係する、最新バージョンのデータに対応するので、フラッシュメモリ135中のクリーンデータおよびダーティデータの両方は、“有効である”として考えられる。いくつかの実施形態では、フラッシュメモリデバイス135中に格納されているデータのステータス(すなわち、ダーティ、クリーン、または、無効)が、マッピング機能、テーブル、または、他の適切なデータ構造によって、追跡される。このようなデータ構造の例を、図3および4に図示した。
図3は、1つ以上の実施形態にしたがった、データステータステーブル300を図示する。データステータステーブル300は、4つの列301−304を含み、これらの列はそれぞれ、フラッシュメモリデバイス135中に格納されたデータのブロックに関係するLBA;フラッシュメモリデバイス135中の前記データの物理ロケーションを示す、物理ブロックアドレス(PBA);単一ビットにより示されるダーティ/クリーンステータス、ここで、1=ダーティおよび0=クリーン;ならびに、これも単一ビットにより示される有効性ステータス、ここで、1=有効および0=無効、を示す。データステータステーブル300において、データの対応するコピーがストレージディスク110上に記憶されており、前記コピーが、信頼性向上プロセス、すなわち、読み出し確認プロセスまたは冗長書き込みプロセスのうちの少なくとも1つを受けているとき、データはクリーンであると考えられる。示したように、ダーティデータまたはクリーンデータだけが、データステータステーブル300中で有効であるとして示されており、フラッシュメモリデバイス135中の他のメモリブロックは定義上無効である。結果として、無効なデータは、フラッシュメモリデバイス135中の特定のPBAに、および、特定のLBAに以前に関係していたものの、このような情報はもはや適用可能でないので、無効なデータは、データステータステーブル300中でLBAまたはPBAに関係付けられていない。
図4は、1つ以上の代替の実施形態にしたがった、データステータステーブル400を図示する。データステータステーブル400の列301、302、および、304は、図3のデータステータステーブル300の対応する列に実質的に類似している。さらに、列403は、特定のLBAに関係付けられているデータのダーティ/クリーンステータスを示し、フラッシュメモリデバイス135中に記憶されており、ここで、1=ダーティおよび0=クリーンである。図3中の列303とは異なって、列403では、特定のLBAに関係付けられており、フラッシュメモリデバイス135中に格納されているデータは、前記データの対応するコピーがストレージディスク110に書き込まれるとすぐに、クリーンとして表される。本実施形態では、ストレージディスク110上の対応するコピーは、クリーン表示を有するために、信頼性向上プロセスを受ける必要性がない。代わりに、信頼性向上プロセスの完了は、データステータステーブル400中で、個別のインジケータ、すなわち、列404により追跡される。列404は、特定のLBAに関係付けられており、フラッシュメモリデバイス135中に格納されているデータの信頼性ステータスを示し、ここで、1=信頼性向上が実行された、および、0=何の信頼性向上も実行されていない。言い換えると、ストレージディスク110上に格納された対応するコピー上に、所望の信頼性向上プロセスがうまく実行されたとき、特定のLBAに関係付けられ、フラッシュメモリデバイス135中に格納されたデータは、列404中で、“1”により表される。したがって、データステータステーブル400は、データステータステーブル300に比較して、フラッシュメモリデバイス135中に格納されたデータのステータスにおいて、より大きな粒度を提供できる。
例として、図4に示したように、LBA50、51、52、75、および、76が、フラッシュメモリデバイス135中に格納されている。これらのLBAのそれぞれは、列304中で、“有効である”として示されており、これは、ハイブリッドドライブ100中に格納されているこれらのLBAのそれぞれに関係付けられているデータのこれより最新のバージョンがないことを意味している。LBA50および51はまた、“ダーティ”であるとしても示されており、このことは、ストレージディスク110上のこれらの2つのLBAに関係付けられているデータの、他の最新情報を含むコピーがないことを意味している。結果として、LBA50および51は、削除に対して適格性がない。対照的に、LBA52は、列403中で、“クリーン”であるとして示されている。しかしながら、LBA52はまた、列404中の“0”によって示されるように、所望の信頼性向上プロセスをうまく受けていないことから、削除に対して適格性がない。LBA75および76はそれぞれ、フラッシュメモリデバイス135からの削除に対して適格性があり、列403中の対応するエントリにしたがうと、両方のLBAが、“クリーン”であり、列404中の対応するエントリにしたがうと、所望の信頼性向上プロセス(読み出し確認、冗長書き込み、または、これら両方の組み合わせ)を受けているためである。
いくつかの実施形態では、列404により追跡される信頼性向上プロセスは、読み出し確認プロセスを含み、これを、以下で、図5に関連してより詳細に説明する。他の実施形態では、列404により追跡される信頼性向上プロセスは、冗長書き込みプロセスを含み、これを、以下で、図6に関連してより詳細に説明する。他の実施形態では、フラッシュメモリデバイス135中に格納されている特定のLBAに対して、列404が、“0”から“1”へと更新される前に、冗長書き込みプロセスおよび読み出し確認プロセスの両方が、実行される。
いくつかの実施形態では、データステータステーブルは、フラッシュメモリデバイス135中に格納されているデータのステータスを追跡するための、より大きい粒度の追加の列を含んでもよい。例えば、データステータステーブル400は、列404の代わりに、読み出し確認プロセスが実行されたか否かを追跡するための1つの列と、冗長書き込みプロセスが実行されたか否かを追跡するための1つの列とを含んでいてもよい。しかしながら、より多くのメタデータを記憶する容量は一般にオーバーヘッドを増加させ、ユーザデータのために利用可能なハイブリッドドライブ100中の記憶スペースを減少させるので、いくつかの実施形態では、より多くの列を有するデータステータステーブルは、より望ましくないかもしれないことに留意すべきである。
いくつかの実施形態では、データステータステーブル300、データステータステーブル400、または、フラッシュメモリデバイス135中でデータステータスを追跡するために使用される同等なデータ構造は、フラッシュメモリデバイス135、ストレージディスク110上、および/または、制御装置133に対して容易にアクセス可能な、他の任意の適切な不揮発性ロケーション中に記憶されてもよい。例えば、このようなデータ追跡メタデータは、ハイブリッドドライブ100中の個別の不揮発性メモリデバイス中に記憶されてもよい。一般的に、ハイブリッドドライブ100の動作中に、データステータステーブル300、データステータステーブル400、または、他の同等なデータ構造もまた、RAM134中に維持されて、ホスト10からの処理コマンド中のより短いレイテンシを容易にしてもよい。
データステータステーブル300および400は、フラッシュメモリデバイス135中に格納されているデータのステータスを追跡するための適切なデータ構造の例として提供されており、本発明の範囲を制限することを何ら意図していないことに留意すべきである。他の実施形態では、このようなデータ構造は、より少ないエレメント、追加のエレメントを含んでいてもよく、および/または、複数のデータ構造の間で分割されてもよい。
いくつかの実施形態にしたがうと、書き込みコマンドが、ホスト10からハイブリッドドライブ100によって受け取られるとき、書き込みコマンドに関係するデータは、最初にフラッシュメモリデバイス135中に記憶され、ハイブリッドドライブ100は、ホスト10に対して、書き込みコマンド完了をシグナリングする。ハイブリッドドライブ100は、一般的に、ストレージディスク110上に対して書き込むよりもずっと速く、フラッシュメモリデバイス135中にデータを書き込むことができるので、ハイブリッドドライブ100が最小の遅延で、ホスト10に対してより多くのアクションを実行するのに利用可能になるように、この手続は、書き込みコマンドのより速い完了を容易にする。書き込みコマンドの完了が、ホスト10に対してシグナリングされるとき、ストレージディスク110上に前記データのコピーは何もないので、完了された書き込みコマンドに関係するデータは、図3の列303中で、“ダーティ”として表されることに留意すべきである。その後に、バックグラウンドプロセスにおいて、完了された書き込みコマンドに関係するデータは、読み出し確認プロセス、冗長書き込みプロセス、または、これらの組み合わせを使用して、ストレージディスク110に書き込まれる。フラッシュメモリデバイス135中に格納されているデータは、次に、削除に対して適格性がある、すなわち、“クリーン”として示される。例えば、これは、データステータステーブル300中の列303を“0”へと、または、データステータステーブル400中の列404を“1”へと更新することによって行われる。
いくつかの実施形態にしたがうと、読み出し確認プロセスを使用して、ストレージディスク110上に格納されている書き込みコマンドに関係するデータの信頼性を向上する。具体的に言うと、データをストレージディスク110に書き込むときに、その後にデータを読み戻して、ストレージディスク110上にデータが適切に書き込まれていることを確認する。いくつかの実施形態では、書き込みコマンドに関係するデータの一部またはすべてがストレージディスク110に書き込まれた直後に、読み出し確認プロセスが実行される。ストレージディスク110に書き込まれることになるデータは、一般的にRAM134中に最初に格納される。それゆえ、ストレージディスク110上に格納されているデータをチェックするために使用されるデータが、既にRAM134中にあるので、データがストレージディスク110上に書き込まれた直後にデータに実行される読み出し確認プロセスは、非常に効率的に完了され得る。代わりに、読み出し確認プロセスは、後の時間において、ストレージディスク110上の関心のあるLBA上で実行され、一般的に、フラッシュメモリデバイス135からRAM134へとLBAに関係するデータを読み出す追加のステップを含む。
読み出し確認プロセスは、ハイブリッドドライブ100がフラッシュメモリデバイス135中に対応するデータを記憶し、書き込みコマンドの完了をホスト10にシグナリングした後に実行されるので、読み出し確認プロセスは、ハイブリッドドライブ100のいわゆる“性能パス”の外側で発生する。言い換えると、読み出し確認プロセスは、ハイブリッドドライブ100がアイドル状態である時にバックグラウンドプロセスとして実行されるので、ホストコマンドに関するハイブリッドドライブ100の性能は、悪影響を受けない。
図5は、1つ以上の実施形態にしたがった、磁気ドライブおよび不揮発性ソリッドステートデバイスを備えるハイブリッドドライブ100のような、データストレージデバイス中にデータを格納するための方法のステップのフローチャートを示す。図1および2において、ハイブリッドドライブ100に関連して、方法のステップを記述したが、当業者は、方法500が、他のタイプのシステムとともに実行されてもよいことを理解するだろう。方法500の制御アルゴリズムは、制御装置133、フラッシュマネージャデバイス136、ホスト10、または、他の何らかの適切な制御回路もしくはシステム中に駐在していてもよく、ならびに/あるいは、制御装置133、フラッシュマネージャデバイス136、ホスト10、または、他の何らかの適切な制御回路もしくはシステムによって実行されてもよい。
示したように、方法500は、ステップ501において開始し、ここで制御装置133または他の適切な制御回路もしくはシステムは、ホスト10から書き込みコマンド、および、それに関係するデータを受け取る。
ステップ502において、制御装置133(または、ハイブリッドドライブ100に関係する、他の適切な制御回路もしくはシステム)は、フラッシュメモリデバイス135中に、書き込みコマンドに関係するデータを記憶することを制御する。前記データは、一般的に、LBAに関して組織化されており、データステータステーブル300、データステータステーブル400、または、何らかの同等なデータ構造のいずれかにおいて、各LBAが入力される。ステップ502において、ステップ501において受け取られた書き込みコマンドに関係するLBAに対するデータのコピーだけが、フラッシュメモリデバイス135中に位置しており、前記LBAに対するエントリは、データステータステーブル300中の列303またはデータステータステーブル400中の列403において、“1”により“ダーティ”として表される。さらに、書き込みコマンドに関係するデータをフラッシュメモリデバイス135中に書き込んだ後に、制御装置133または他の適切な制御回路もしくはシステムが、書き込みコマンドの完了をホスト10に対してシグナリングする。ステップ501において受け取られた書き込みコマンドの完了をシグナリングすることによって、ハイブリッドドライブ100は、ここで、ホスト10からの次の継続中の読み出しまたは書き込みコマンドを実行するのに利用可能になる。他の読み出しまたは書き込みコマンドが何も継続中でない場合、ハイブリッドドライブは、アイドルまたはパワーダウンモードに入ってもよい。
ステップ503において、制御装置133または他の適切な制御回路もしくはシステムは、ストレージディスク110上のステップ501において受け取られたデータの記憶を制御する。データは、書き込みコマンドに関係するデータのLBAに対応するストレージディスク110上の適切な物理的ロケーションに書き込まれる。一般的に、ステップ503は、ハイブリッドドライブ100がアイドル状態であるときに実行され、それゆえ、ハイブリッドドライブ100がホスト10に関してハイブリッドドライブ100の性能パスの外側にあるときに実行される。いくつかの実施形態では、ステップ503は、ハイブリッドドライブ100が、読み出しまたは書き込みコマンドを実行しておらず、アイドル状態にあるときに実行される。他の実施形態では、例えば、ハイブリッドドライブ100のエネルギー使用を最小化させるために、ステップ503は、ハイブリッドドライブ100が、アイドルであることと、少なくとも最小量のダーティデータが、フラッシュメモリデバイス135中に存在することとの両方を満たす場合に実行される。このようにして、ストレージディスク110の回転数を上げることや、リード/ライトチャネル137を初期化すること等に関係するエネルギーコストは、かなりの量のダーティデータがフラッシュメモリデバイス135中に存在することになるまで延期される。ディスク動作における他の制約もまた実施されてもよく、本発明の範囲を超えることなく、ステップ503の実行を延期してもよい。
いくつかの実施形態では、書き込みコマンドに関係するデータがストレージディスク110上に格納された後に、制御装置133または他の適切な制御回路もしくはシステムが、フラッシュメモリデバイス135中のデータのステータスを追跡するのに使用される適切なデータ構造を更新する。具体的に言うと、特定のLBAに関係するダーティ/クリーンステータスが、LBAの信頼性ステータスとは独立している、データステータステーブル400または同等の構造が使用されるとき、ステップ503において、列403は、“0”の値へと更新され、このことは、LBAに関係するデータがクリーンなデータであり、したがって、ストレージディスク110上に書き込まれた、対応するコピーを有していることを意味する。しかしながら、読み出し確認プロセスは、ストレージディスク110上に格納されている対応するLBA上で未だ成功裏に実行されていないので、データステータステーブル400の列404は、“0”の値を有しており、すなわち、ストレージディスク110上に書き込まれており、LBAに関係するデータは、未だ“読み出し確認された”コピーではない。代わりに、データステータステーブル300に似たデータ構造が使用される実施形態では、ステップ503においてストレージディスク110上に書き込まれたデータは、読み出し確認プロセスがその上でうまく実行されるまでは、“クリーンである”として見なされないので、ステップ503において列303は更新されない。
ステップ504において、制御装置133または他の適切な制御回路もしくはシステムは、ステップ503において、ストレージディスク110上に書き込まれたデータ上への、ハイブリッドドライブ100中での読み出し確認プロセスを制御する。本発明の範囲を超えることなく、当該技術分野において周知の何らかの適切な読み出し確認スキームが、ステップ504において使用されてもよい。例えば、読み出し確認プロセスの間に、制御装置133が、ストレージディスク110上に書き込まれたデータを読み出すのに困難性がある場合、制御装置133は、それぞれの試みにおいて浮上高、および/または、リード/ライトヘッド127の径方向の位置を変えることと、エラー訂正コード(ECC)または他のエラー制御技術を1回以上適用すること等により、関心のあるデータを読み出すための複数の試みを行ってもよい。読み出し確認されているデータは、RAM134中に既に格納されているので、一般的に、ステップ504は、ステップ503の直後に実行される。代わりに、いくつかの実施形態では、ステップ504は、後の時間において実行され、例えば、制御装置133が、追加のデータをストレージディスク110に書き込むことを、ストレージディスク110上に既に書き込まれたデータ上に読み出し確認プロセスを完了することより高い優先度アクティビティとして見なすときに実行される。方法500は、次にステップ505に進む。
いくつかの実施形態では、ステップ504においてデータを読み出す際の困難性は、トリガイベントとして使用されてもよい。このようなトリガイベントに応答して、制御装置133は、次に、読み出しの問題に関係するストレージディスク110上の物理ロケーションをテストして、物理ロケーションが損傷されていないこと、または、他の点でデータを記憶するのに不適切でないことを確認する。データを記憶するのに不適切であるとして決定されるとき、物理的ロケーション、例えば、1つ以上のセクタまたはトラックは、制御装置133によって、ストレージディスク110上の異なる物理的ロケーションと交換される。当のLBAは、この新しいロケーションにマッピングされる。このような実施形態では、読み出しの問題に関係するストレージディスク110上の物理ロケーションのテストおよび/または交換は、ステップ505の前に一般的に実行される。
ステップ505において、制御装置133または他の適切な制御回路もしくはシステムは、ステップ504において読み出し確認プロセスを成功裏に受けたデータを、削除に対して適格性があるとして示す。具体的に言うと、ステップ504において、ステップ503においてストレージディスク110上に書き込まれたデータ上に、読み出し確認プロセスが成功裏に実行されたとき、制御装置133は、フラッシュメモリデバイス135中のデータのステータスを追跡するのに使用されるデータ構造を更新する。データ構造が、データステータステーブル300に類似しているとき、列303は、“1”から“0”に更新され、これにより、LBAまたは複数のLBAが、ステップ504において成功裏に読み出し確認されたこと、すなわち、関心のあるLBAは“クリーン”であることを示す。データ構造が、データステータステーブル400に類似しているとき、列404は、“0”から“1”に更新され、これにより、関心のあるLBAが“読み出し確認”されたことを示す。
ステップ504において、LBAが削除に対して適格性があるとして見なされ得る前に、以下の2つの条件が満たされることに留意すべきである。すなわち、(1)LBAに関係するデータは、ストレージディスク110上に書き込まれた対応するコピーを有していることと、(2)読み出し確認プロセスが、ストレージディスク110上に書き込まれたコピー上に成功裏に実行されたこととである。データステータステーブル300において、列303を、“クリーン”を意味する“0”で更新することによって、条件(1)および(2)が示される。データステータステーブル400において、条件(1)は、列403を、“クリーン”を意味する“0”で更新することにより示され、条件(2)は、列404を、“読み出し確認された”ことを意味する“1”で更新することにより示される。
いったん、削除に対して適格性があるとなると、フラッシュメモリ135中に格納されたLBAは除去されてもよく、すなわち、制御装置133によって、無効であるとしてマーク付けされ、引き続いて削除される。例えば、フラッシュ135が、ハイブリッドドライブ100に対するキャッシュとして使用されるとき、当該技術分野において周知の典型的なキャッシュアルゴリズムは、より最近に、または、より頻繁に格納されたデータに関して、フラッシュメモリデバイス135中で場所を空けるために、立ち退かせるLBAを選択してもよい。一般的に、選択されたLBAを“無効である”としてマーク付けすることによって、選択されたLBAをフラッシュメモリデバイス135から立ち退かせる。フラッシュメモリデバイス135中に格納されたLBAはまた、LBAに関係するより新しいバージョンのデータがフラッシュメモリデバイス135中に格納されたときのように、他の理由のために無効としてマーク付けされてもよいことに留意すべきである。このような状況下では、LBAに関係するデータの従前のバージョンは、それのダーティ/クリーンステータスまたは読み出し確認ステータスにかかわらず、無効であるとしてマーク付けされる。
いくつかの実施形態にしたがうと、冗長書き込みプロセスは、ストレージディスク110上に格納された書き込みコマンドに関係するデータの信頼性を向上するために使用される。具体的に言うと、データがストレージディスク110上に書き込まれるとき、書き込みコマンドに関係するデータがフラッシュメモリデバイス135から独立したバックアップコピーを持つように、次にデータはまた、ストレージディスク110上の第2のロケーションに対しても書き込まれる。いくつかの実施形態では、ストレージディスク110に対して書き込むために使用されるデータが既にRAM134中にあるので、冗長書き込みプロセスは、書き込みコマンドに関係するデータの一部またはすべてがストレージディスク110上に書き込まれた直後に実行される。代わりに、冗長書き込みプロセスは、後の時間において実行される。
さらに、いくつかの実施形態では、ここで記述する冗長書き込みプロセスは、上で記述した読み出し確認プロセスに関連して実行される。例として、冗長書き込みプロセスは、読み出し確認プロセスがその上に実行された後で、ストレージディスク110上に書き込まれたデータ上に実行されてもよい。冗長書き込みプロセスは、バックグラウンドプロセスとして実行されるので、ホストコマンドをサービスすることに関して、ハイブリッドドライブ100の性能は悪影響を受けない。
図6は、1つ以上の実施形態にしたがった、磁気ドライブおよび不揮発性ソリッドステートデバイスを含む、ハイブリッドドライブ100のような、データストレージデバイス中にデータを格納するための方法のステップのフローチャートを示す。方法のステップを、図1および2中でハイブリッドドライブ100に関連して記述したが、当業者は、他のタイプのシステムとともに方法600を実行してもよいことを理解するだろう。方法600の制御アルゴリズムは、制御装置133、フラッシュマネージャデバイス136、ホスト10、または、他の何らかの適切な制御回路もしくはシステム中に駐在していてもよく、ならびに/あるいは、制御装置133、フラッシュマネージャデバイス136、ホスト10、または、他の何らかの適切な制御回路もしくはシステムによって実行されてもよい。
示したように、方法600は、ステップ601において開始し、ここで、制御装置133または他の適切な制御回路もしくはシステムは、ホスト10から書き込みコマンドと、それに関係するデータとを受け取る。
ステップ602において、制御装置133または他の適切な制御回路もしくはシステムは、書き込みコマンドに関係するデータをフラッシュメモリデバイス135中に記憶することを制御する。ステップ602は、適切なデータ構造においてフラッシュメモリデバイス135中に格納されたそれぞれのLBAのステータスを更新することと、ステップ601において受け取られた書き込みコマンドの完了をシグナリングすることとを含んでおり、方法500中のステップ502に実質的に類似している。
ステップ603において、制御装置133または他の適切な制御回路もしくはシステムは、ストレージディスク110上に書き込みコマンドに関係するデータを記憶するのを制御する。ステップ603は、上で記述したように、方法500中のステップ503に実質的に類似している。
ステップ604において、制御装置133または他の適切な制御回路もしくはシステムは、ステップ603においてストレージディスク110上に書き込まれたデータ上への、ハイブリッドドライブ100における冗長書き込みプロセスを制御する。上で述べたように、冗長書き込みプロセスは、読み出し確認プロセスに関連して実行されてもよい。いくつかの実施形態において、ストレージディスク110上のオリジナルのLBAからデータが読み出せない場合、ステップ604において書き込まれた冗長なLBAから所望のデータを回復できるように、予め規定された、または、動的なマッピングテーブルを使用して、オリジナルのLBAおよび冗長なLBAを追跡してもよい。このような回復プロセスは、比較的頻繁でないことが予想されるので、予め規定された、または、動的なマッピングテーブルは、必ずしもRAM134中に維持されなくてもよく、ストレージディスク110に、フラッシュメモリデバイス135に、または、両方に記憶されてもよい。
一般的に、冗長に書き込まれているデータは、既にRAM134中に格納されているので、ステップ604は、ステップ603の直後に実行される。代わりに、いくつかの実施形態では、ステップ604は、後の時間において、例えば、制御装置133が、追加のデータをストレージディスク110に書き込むことが、ストレージディスク110上に既に書き込まれたデータ上に冗長書き込みプロセスを完了することより高い優先度の活動であるとして見なされるときに実行される。
フラッシュメモリデバイス135中に格納されるデータのステータス(すなわち、ダーティ、クリーン、有効、または、無効)は、マッピング機能、テーブル、または、他の適切なデータ構造の手段によって、図5に関連して上で記述したのと実質的に類似した方法で、追跡される。方法600は、次に、ステップ605に進む。
複数のストレージディスク、アクチュエータアームアセンブリ、および、リード/ライトヘッドを含むハイブリッドドライブ100の実施形態では、ステップ604の冗長書き込みプロセスは、好都合なことに、ステップ603において、ストレージディスク110上にデータを書き込むのに使用されたものとは異なるリード/ライトヘッド127を使用して実行されてもよい。このようにして、ハイブリッドドライブ中の1個のリード/ライトヘッド127が故障した後であっても、LBAまたはLBAの冗長コピーのいずれかは、依然としてアクセスし得る。
ステップ605において、制御装置133または他の適切な制御回路もしくはシステムは、ステップ604において、読み出し確認プロセスを成功裏に受けたデータを、削除に対して適格性があるとして示す。ステップ605は、上で記述した、方法500中のステップ505に実質的に類似しており、ここで、フラッシュメモリデバイス135中に格納されているデータの削除に対する適格性は、ストレージディスク110上に書き込まれている、それのコピーおよび冗長コピーに依拠する。いくつかの実施形態では、ステップ605において、フラッシュメモリデバイス135中のLBAが、削除に対して適格性があるとして見なされる前に、成功裏に実行された読み出し確認プロセスはまた、ストレージディスク110上に書き込まれた1つまたは両方のコピー上に実行される。
いくつかの実施形態では、ハイブリッドドライブ100中に格納されている実質的にすべてのデータは、ストレージディスク110上に冗長に書き込まれている。他の実施形態では、ハイブリッドドライブ100の記憶容量の有効な使用のために、より高い優先度のデータが、ストレージディスク110上に冗長に書き込まれ、より低い優先度のデータは書き込まれない。このような実施形態では、データの優先度は、ホスト10によって提供されてもよく、特定のLBAに関係する利用パターンに基づいて、ハイブリッドドライブ100によって決定されてもよい。他の実施形態では、ストレージディスク110が予め規定されたレベルの利用に到達するまでは、ハイブリッドドライブ100中に格納されている、実質的にすべてのデータが、ストレージディスク110上に冗長に書き込まれる。このような実施形態では、ハイブリッドドライブ100が予め規定されたレベルに到達すると、より低い優先度のデータは、もはやストレージディスク110上に冗長に書き込まれない。さらに、ハイブリッドドライブが100%利用に近づくとき、高い優先度のデータだけが、ストレージディスク110上に冗長に書き込まれてもよい。
いくつかの実施形態では、トリガイベントは、方法600の冗長書き込みプロセスを開始させてもよい。例として、いくつかの実施形態では、制御装置133によって実行される診断アルゴリズムは、ハイブリッドドライブ100中の1つ以上の機械的または電気的システムが、信頼性を減少させたことを示してもよい。したがって、より信頼性の少ないシステム(例えば、特定のリード/ライトヘッド127、ストレージディスク110の一部等)に関係するデータは、ストレージディスク110の別の領域に、または、異なるストレージディスク110上に、冗長に書き込まれてもよい。他の実施形態では、方法500のステップ504に記述したような、読み出し確認プロセスの間のデータ読み出しの困難性を、トリガイベントとして使用してもよい。データはハイブリッドドライブ100中に冗長に書き込まれているので、診断アルゴリズムによってハイライトされたシステムの故障は、データの損失をもたらさないだろう。
要約すると、ここで記述した実施形態は、信頼性向上プロセス、すなわち、読み出し確認プロセスまたは冗長書き込みプロセスの少なくとも1つを使用して、ハイブリッドドライブ中でデータを記憶するためのシステムおよび方法を提供する。信頼性向上プロセスは、ハイブリッドドライブが、ドライブのフラッシュメモリ部分に対してデータを書き込んだ後に、バックグラウンドプロセスとして実行されるので、ホストコマンドに関するハイブリッドドライブの性能は、悪影響を受けない。したがって、このような実施形態にしたがって構成されるハイブリッドドライブは、冗長に書き込まれたデータ、読み出し確認されたデータストレージデバイス、および、ソリッドステートドライブの高性能を有利に組み合わせる。
これまでの記述は、様々な実施形態に向けられているが、他の、および、さらなる実施形態が、これらの基本的範囲から、および、以下の特許請求の範囲によって決定される範囲から逸脱することなく企図されてもよい。
10…ホスト、100…ハイブリッドドライブ、110…ストレージディスク、131…システムオンチップ(SoC)、133…制御装置、135…フラッシュメモリデバイス、136…フラッシュマネージャデバイス。
Claims (20)
- ホストから書き込みコマンドと、前記書き込みコマンドに関係するデータとを受け取ることと、
前記書き込みコマンドに関係するデータを、不揮発性ソリッドステートストレージデバイスに格納することと、
前記書き込みコマンドに関係するデータを、磁気ストレージデバイスに格納することと、
前記磁気ストレージデバイスに格納されている、前記書き込みコマンドに関係するデータに読み出し確認プロセスを実行することと、
前記読み出し確認プロセスを実行した後に、前記不揮発性ソリッドステートストレージデバイスに格納されている、前記書き込みコマンドに関係するデータを、削除に対する適格性があるとして示すことと
を具備する方法。 - 前記書き込みコマンドに関係するデータが前記不揮発性ソリッドステートストレージデバイスに格納された後で、前記書き込みコマンドに関係するデータは前記磁気ストレージデバイスに格納される、請求項1記載の方法。
- 前記書き込みコマンドに関係するデータを、前記不揮発性ソリッドステートデバイスに格納した後で、前記書き込みコマンドの完了をシグナリングすることをさらに具備する、請求項1又は請求項2に記載の方法。
- 前記書き込みコマンドに関係するデータを、前記磁気ストレージデバイスに格納する前に、前記書き込みコマンドの完了はシグナリングされる、請求項3記載の方法。
- 前記読み出し確認プロセスは、トリガイベントに応答して実行される、請求項1から請求項4の何れか1項に記載の方法。
- 前記トリガイベントは、前記磁気ストレージデバイスに格納されているデータを読み出す際に困難性を検出することと、前記データストレージデバイスの一部の減少された信頼性を検出することとのうちの少なくとも1つを具備する、請求項5記載の方法。
- 前記読み出し確認プロセスは、前記データストレージデバイス中でバックグラウンドプロセスとして実行される、請求項1記載の方法。
- ホストから書き込みコマンドと、前記書き込みコマンドに関係するデータとを受け取ることと、
前記書き込みコマンドに関係するデータを、不揮発性ソリッドステートストレージデバイスに格納することと、
前記書き込みコマンドに関係するデータを、磁気ストレージデバイスに格納することと、
前記磁気ストレージデバイスに格納されている、前記書き込みコマンドに関係するデータ上に、前記磁気ストレージデバイス中で冗長書き込みプロセスを実行することと、
前記冗長書き込みプロセスを実行した後に、前記不揮発性ソリッドステートストレージデバイスに格納されている、前記書き込みコマンドに関係するデータを、削除に対する適格性があるとして示すことと
を具備する方法。 - 前記書き込みコマンドに関係するデータを、前記磁気ストレージデバイスに格納することは、前記磁気ストレージデバイス中の第1のロケーションに前記書き込みコマンドに関係するデータを書き込むことを具備し、
前記冗長書き込みプロセスを実行することは、前記磁気ストレージデバイス中の第2のロケーションに前記データを書き込むことを具備し、
前記第2のロケーションは、前記第1のロケーションとは異なっている、請求項8記載の方法。 - 前記第2のロケーションに書き込む、前記磁気ストレージデバイスの磁気リード/ライトヘッドは、前記第1のロケーションに書き込む、前記磁気ストレージデバイスの磁気リード/ライトヘッドとは異なる、請求項9記載の方法。
- 前記冗長書き込みプロセスを実行することは、前記第1のロケーションに書き込まれた前記書き込みコマンドに関係するデータと、前記第2のロケーションに書き込まれた前記書き込みコマンドに関係するデータとの少なくとも1つに、読み出し確認プロセスを実行することを具備する、請求項9記載の方法。
- 前記冗長書き込みプロセスは、トリガイベントに応答して実行される、請求項8から請求項11の何れか1項に記載の方法。
- 前記トリガイベントは、前記磁気ストレージデバイスに格納されているデータを読み出す際の困難性を検出することと、前記データストレージデバイスの一部の減少された信頼性を検出することとのうちの少なくとも1つを具備する、請求項12記載の方法。
- 前記書き込みコマンドに関係するデータが、前記不揮発性ソリッドステートストレージデバイスに格納された後で、前記書き込みコマンドに関係するデータは、前記磁気ストレージデバイスに格納される、請求項8から請求項13の何れか1項に記載の方法。
- 前記書き込みコマンドに関係するデータを、前記不揮発性ソリッドステートデバイスに格納した後で、前記書き込みコマンドの完了をシグナリングすることをさらに具備する、請求項14記載の方法。
- 前記書き込みコマンドに関係するデータを、前記磁気ストレージデバイスに格納する前に、前記書き込みコマンドの完了はシグナリングされる、請求項15記載の方法。
- 前記冗長書き込みプロセスは、前記データストレージデバイス中でバックグラウンドプロセスとして実行される、請求項8から請求項16の何れか1項に記載の方法。
- 磁気ストレージデバイスと、
不揮発性ソリッドステートストレージデバイスと、
制御装置と
を具備するデータストレージデバイスにおいて、
前記制御装置は、
ホストから書き込みコマンドと、前記書き込みコマンドに関係するデータとを受け取り、
不揮発性ソリッドステートストレージデバイスへの前記書き込みコマンドに関係するデータの格納を制御し、
磁気ストレージデバイスへの前記書き込みコマンドに関係するデータの格納を制御し、
前記磁気ストレージデバイスに格納されている前記書き込みコマンドに関係するデータに、前記磁気ストレージデバイス中で信頼性向上プロセスを実行し、
前記信頼性向上プロセスを実行した後に、前記不揮発性ソリッドステートストレージデバイスに格納されている前記書き込みコマンドに関係するデータを、削除に対する適格性があるとして示す
ように構成されている、データストレージデバイス。 - 前記信頼性向上プロセスは、読み出し確認プロセスを具備する、請求項18記載のデータストレージデバイス。
- 前記信頼性向上プロセスは、冗長書き込みプロセスを具備する、請求項18記載のデータストレージデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201313774877A | 2013-02-22 | 2013-02-22 | |
US13/774,877 | 2013-02-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014164792A true JP2014164792A (ja) | 2014-09-08 |
Family
ID=51615264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013233175A Pending JP2014164792A (ja) | 2013-02-22 | 2013-11-11 | データストレージデバイス及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014164792A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021149622A (ja) * | 2020-03-19 | 2021-09-27 | キオクシア株式会社 | メモリシステム |
-
2013
- 2013-11-11 JP JP2013233175A patent/JP2014164792A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021149622A (ja) * | 2020-03-19 | 2021-09-27 | キオクシア株式会社 | メモリシステム |
JP7471883B2 (ja) | 2020-03-19 | 2024-04-22 | キオクシア株式会社 | メモリシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8825977B1 (en) | Hybrid drive writing copy of data to disk when non-volatile semiconductor memory nears end of life | |
US10776153B2 (en) | Information processing device and system capable of preventing loss of user data | |
US8612798B1 (en) | Hybrid drive storing write data in non-volatile semiconductor memory if write verify of disk fails | |
US8706985B1 (en) | System and method for optimizing garbage collection in data storage | |
US8427771B1 (en) | Hybrid drive storing copy of data in non-volatile semiconductor memory for suspect disk data sectors | |
US9923562B1 (en) | Data storage device state detection on power loss | |
US8667248B1 (en) | Data storage device using metadata and mapping table to identify valid user data on non-volatile media | |
US8578100B1 (en) | Disk drive flushing write data in response to computed flush time | |
US20140237164A1 (en) | Hybrid drive that implements a deferred trim list | |
US8756361B1 (en) | Disk drive modifying metadata cached in a circular buffer when a write operation is aborted | |
US8560759B1 (en) | Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency | |
US9652164B2 (en) | Solid-state mass storage device and method for processing forced unit access write commands | |
US9703699B2 (en) | Hybrid-HDD policy for what host-R/W data goes into NAND | |
US20100070729A1 (en) | System and method of managing metadata | |
US9396755B2 (en) | Temperature-defined data-storage policy for a hybrid disk drive | |
US8291190B2 (en) | Disk drive including a host interface supporting different sizes of data sectors and method for writing data thereto | |
JP2008034085A (ja) | 複数の動作モードを有する不揮発性メモリを備えたディスクドライブ | |
US9536619B2 (en) | Hybrid-HDD with improved data retention | |
US8947803B1 (en) | Data storage device and data erasing method | |
US9459802B1 (en) | Hybrid-HDD that limits dirty data in NAND | |
US9965181B2 (en) | Hybrid-HDD with multiple caching modes | |
JP2017068634A (ja) | 記憶装置及び方法 | |
US20110283044A1 (en) | Device and method for reliable data storage | |
US9105297B2 (en) | Information recording device and data recovery method | |
US8032699B2 (en) | System and method of monitoring data storage activity |