(57)【特許請求の範囲】
【請求項１】
ソリッドステートストレージシステムであって、
複数のメモリブロックを含む不揮発性メモリアレイであって、各メモリブロックが上位メモリページと対になった下位メモリページを含む、不揮発性メモリアレイと、
コントローラーであって、
データがプログラムされている前記複数のメモリブロックのオープンメモリブロックから、プログラミングされていない対になった上位メモリページを有するプログラミング済下位メモリページを選択し、
選択された前記下位メモリページから第１のデータを読み取り、読み取られた前記第１のデータの少なくとも一部が破損されており、
読み取られた前記第１のデータに誤り訂正を適用して訂正された前記第１のデータを生成し、
対になった前記上位メモリページがプログラミングされる前に、訂正された前記第１のデータで、選択された前記下位メモリページを再プログラミングする、ように構成されたコントローラーと、
を含む、システム。
【請求項２】
請求項１に記載のソリッドステートストレージシステムであって、前記不揮発性メモリアレイは、マルチレベルメモリセル（ＭＬＣ）を含む、システム。
【請求項３】
請求項１に記載のソリッドステートストレージシステムであって、前記オープンメモリブロックは、前記ソリッドステートストレージシステムが前回終了されるときに、プログラミングが開始されたが、完了していないブロックを含む、システム。
【請求項４】
請求項１に記載のソリッドステートストレージシステムであって、前記コントローラーは、
選択された前記下位メモリページと関連付けられたメモリブロックから、プログラミングされていない対になった上位メモリページを有する少なくとも１つの他の下位メモリページを選択し、
選択された前記少なくとも１つの他の下位メモリページから第２のデータを読み取り、
読み取られた前記第２のデータに誤り訂正を適用して訂正された前記第２のデータを生成し、
訂正された前記第２のデータを、選択された前記少なくとも１つの他の下位メモリページにプログラミングする、
ように更に構成されるシステム。
【請求項５】
請求項４に記載のソリッドステートストレージシステムであって、前記コントローラーは、
前記メモリブロックから、プログラミングされていない対になった上位メモリページを有する各下位メモリページを選択し、
選択された前記下位メモリページのそれぞれにデータを再プログラミングする、
ように更に構成されるシステム。
【請求項６】
請求項１に記載のソリッドステートストレージシステムであって、前記コントローラーは、起動シーケンスの一部として、訂正された前記第１のデータを、選択された前記下位メモリページにプログラミングするように構成されるシステム。
【請求項７】
請求項１に記載のソリッドステートストレージシステムであって、前記誤り訂正は、低密度パリティチェック（ＬＤＰＣ）及びＲＡＩＤ復旧のうちの少なくとも１つを含む、システム。
【請求項８】
請求項１に記載のソリッドステートストレージシステムであって、前記コントローラーは、メタデータ及びスキャニングのうちの少なくとも１つを用いて、前記プログラミング済下位メモリページを選択するように構成される、システム。
【請求項９】
各々が複数のメモリページを含む複数のメモリブロックを含む不揮発性メモリアレイを含むソリッドステートストレージシステム内でデータ整合性を保持する方法であって、
データがプログラムされている前記複数のメモリブロックのオープンメモリブロックから、プログラミングされていない対になった上位メモリページを有するプログラミング済下位メモリページを選択すること、
選択された前記下位メモリページから第１のデータを読み取り、読み取られた前記第１のデータの少なくとも一部が破損されていること、
読み取られた前記第１のデータに誤り訂正を適用して訂正された前記第１のデータを生成すること、
対になった前記上位メモリページがプログラミングされる前に、訂正された前記第１のデータで、選択された前記下位メモリページを再プログラミングすること、
を含む、方法。
【請求項１０】
請求項９に記載の方法であって、前記不揮発性メモリアレイは、マルチレベルメモリセル（ＭＬＣ）を含む、方法。
【請求項１１】
請求項１０に記載の方法であって、前記オープンメモリブロックは、前記ソリッドステートストレージシステムが前回終了されるときに、プログラミングが開始されたが、完了していないブロックを含む、方法。
【請求項１２】
請求項９に記載の方法であって、
選択された前記下位メモリページと関連付けられたメモリブロックから、プログラミングされていない対になった上位メモリページを有する少なくとも１つの他の下位メモリページを選択すること、
選択された前記少なくとも１つの他の下位メモリページから第２のデータを読み取り、
読み取られた前記第２のデータに誤り訂正を適用して訂正された前記第２のデータを生成すること、及び
訂正された前記第２のデータを、選択された前記少なくとも１つの他の下位メモリページにプログラミングすること、
を更に含む方法。
【請求項１３】
請求項１２に記載の方法であって、
前記メモリブロックから、プログラミングされていない対になった上位メモリページを有する各下位メモリページを選択すること、及び
選択された前記下位メモリページのそれぞれにデータを再プログラミングすること、
を更に含む方法。
【請求項１４】
請求項９に記載の方法であって、訂正された前記第１のデータを、選択された前記下位メモリページにプログラミングすることは、起動シーケンスの一部として行われる、方法。
【請求項１５】
請求項９に記載の方法であって、前記誤り訂正は、低密度パリティチェック（ＬＤＰＣ）及びＲＡＩＤ復旧のうちの少なくとも１つを含む、方法。
【請求項１６】
請求項９に記載の方法であって、前記プログラミング済下位メモリページを選択することは、メタデータ及びスキャニングのうちの少なくとも１つを用いることを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータシステム向けのソリッドステートドライブ等のデータストレージシステムに関する。より具体的には、本開示は下位ページデータ復旧に関する。
【背景技術】
【０００２】
現在、ソリッドステートドライブ（（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅｓ）ＳＳＤ）においては、マルチレベルセル（（ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ）ＭＬＣ）ＮＡＮＤ媒体を有するメモリアレイが一般的である。ＭＬＣは、単一のメモリセル内に複数の状態が存在できるようにすることで、１つのセル当たり１ビットより多く（２、３、４、又はそれ以上）の情報を格納することを可能にする。例えば、セル当たり２ビットのＭＬＣフラッシュでは、４つの状態（４段階の電圧（Ｖｔ）レベル）が可能であり、２ビットの格納を可能にする。メモリセルが格納することになるデータと、異なる状態の符号化とに基づいて、セルは４つの考えられる特有のＶｔゾーンにプログラミングされる。典型的には、下位ページ（ｌｏｗｅｒ  ｐａｇｅｓ）と上位ページ（ｕｐｐｅｒ  ｐａｇｅｓ）とに格納されるデータは論理的に対にされ、下位ページの方が先にプログラミングされる。
【発明の概要】
【０００３】
本発明の一部の実施形態において、データストレージシステムはコントローラーと、複数のメモリページを含む不揮発性メモリアレイとを含む。コントローラーは、上述のような下位ページ破損の問題を防止しつつ、高いシステム負荷が要求されない方法を実行する。一の実施形態において、方法は、対になった上位ページがプログラミングされていない、プログラミング済下位ページ（１又は複数）を選択し、該選択された下位ページからデータを読み取り、該読み取られたデータを訂正し、該読み取られたデータを下位ページに再プログラミングする。典型的には、この状態の下位ページは数が少ない（例えば、数百から数千ページを有するブロック内に数ページ）ため、これはブロック全体を再プログラミングするよりもはるかに効率的な方法である。別の実施形態において、同様の再プログラミング方法が、下位ページのみがプログラミングされている状況におけるデータ復旧方法として適用される（例えば、ＳＬＣ（（ｓｉｎｇｌｅ−ｌｅｖｅｌ  ｃｅｌｌ）シングルレベルセル）メモリ、ＳＬＣモードのＭＬＣメモリ等）。
【図面の簡単な説明】
【０００４】
本発明の様々な特徴を実施するシステム及び方法が、以下の図面を参照して以下に解説される。
【図１】本発明の一の実施形態によるデータを再プログラミングするストレージシステムを示す図である。
【図２】下位ページ破損に寄与する要素と本発明の一の実施形態による解決法とを図示する、メモリセルの電圧分布を示す図である。
【図３】本発明の一の実施形態による再プログラミング方法を示すフロー図である。
【図４】本発明の複数の実施形態による、オープン下位ページが再プログラミング向けに選択され得る、異なるメモリセル構成を示す図である。
【図５】本発明の複数の実施形態による、オープン下位ページが再プログラミング向けに選択され得る、異なるメモリセル構成を示す図である。
【図６】本発明の一の実施形態による、下位ページのみプログラミングされたセルを再プログラミングする処理を示すフロー図である。
【発明を実施するための形態】
【０００５】
特定の実施形態が説明されるが、これらの実施形態は例示のみを目的とするもので保護範囲を限定する意図はない。実際、本稿において説明される新規の方法及びシステムは他の様々な形態で実施され得る。更に、本稿において説明される方法及びシステムの形態には、多様な省略、置換、変更が、保護範囲を逸脱すること無く行われ得る。
【０００６】
概要
ＭＬＣフラッシュメモリでは、下位ページと上位ページは物理的に対にされているものの、プログラミングにおいて切り離されるのが一般的である。下位ページと上位ページとに格納されたデータは別々のタイミングで別々のソースからプログラミングされてよい。上位ページが大分後で異なる温度でプログラミングされることもしばしばある。多くの場合、このようなプログラミング計画に問題はない。しかしながら、温度やメモリセルの劣化の影響を含む様々な要素が、セル内のデータの保存性を低下させることがあり、ストレージシステムが上位ページをプログラミングしようとする際に下位ページ破損の問題につながり得る。
【０００７】
下位ページ破損の問題を解決する一の方法は、上位ページをプログラミングする必要がある際に、オープンブロック全体の古いデータを他の新しいアドレスに移動することである。これにより、下位ページと上位ページが同じ条件下で同時にプログラミングされる。ただし、この方法は非効率的である。
【０００８】
本発明の一部の実施形態において、データストレージシステムはコントローラーと、複数のメモリページを含む不揮発性メモリアレイとを含む。コントローラーは、上述のような下位ページ破損の問題を防止しつつ、高いシステム負荷が要求されない方法を実行する。一の実施形態において、方法は、対になった上位ページがプログラミングされていない、プログラミング済下位ページ（１又は複数）を選択し、該選択された下位ページからデータを読み取り、該読み取られたデータを訂正し、該読み取られたデータを下位ページに再プログラミングする。典型的には、この状態の下位ページは数が少ない（例えば、数百から数千ページを有するブロック内に数ページ）ため、これはブロック全体を再プログラミングするよりもはるかに効率的な方法である。別の実施形態において、同様の再プログラミング方法が、下位ページのみがプログラミングされている状況におけるデータ復旧方法として適用される（例えば、ＳＬＣ（シングルレベルセル）メモリ、ＳＬＣモードのＭＬＣメモリ等）。
【０００９】
システム概要
図１は、本発明の一の実施形態による、データ復旧のために再プログラミングを行うストレージシステム１２０を図示する。図示のとおり、ストレージシステム１２０（ソリッドステートドライブ、ハイブリッドハードドライブ等）は、コントローラー１３０と、ブロックＡ１４２〜ブロックＮとして識別される記憶ストレージの１以上のブロックを含む不揮発性メモリアレイ１４０とを含む。各ブロックはフラッシュページ（Ｆページ）を含む。例えば、図１のブロックＡ１４２は、ＦページＡ１５３、ＦページＢ〜Ｎとして識別されるＦページを含む。一部の実施形態において、各Ｆページは、不揮発性メモリアレイ１４０における、１つの操作で又は１単位としてプログラミングが可能な、メモリセルの最小のグループである。更に、各Ｆページは誤り訂正符号ページ（Ｅページ）を含む。図示された実施形態において、各ＦページはＥページ１４４を含む４つの箱として描かれた４つのＥページを含む。その他の実施形態は異なる定義がなされたＦページ又はＥページを用い得る、又は、各Ｆページが含むＥページは４未満又は５以上であり得る。
【００１０】
コントローラー１３０は、ホストシステム１１０内のストレージインターフェイスモジュール１１２（例えばデバイスドライバー）から、データ及び／又はストレージアクセス命令を受信できる。ストレージインターフェイス１１２によってやり取りされるストレージアクセス命令は、ホストシステム１１０によって発行された書き込み及び読み取り命令を含んでよい。これらの命令は、ストレージシステム１２０内の論理ブロックアドレスを指定してよく、コントローラー１３０は不揮発性メモリアレイ１４０内で受信した命令を実行してよい。ハイブリッドハードドライブにおいては、データは、不揮発性メモリアレイ１４０に加え、磁気媒体格納要素（図１に図示せず）に格納され得る。
【００１１】
一の実施形態において、コントローラー１３０はＥＣＣモジュール１５８を含む。一の実施形態において、ＥＣＣモジュール１５８はメモリアレイ１４０から読み取られたデータの誤り訂正を行う。一の実施形態において、それは不揮発性メモリアレイ１４０のＥページ等のメモリページに書き込まれるデータを符号化し、また、データが読み出された際には復号する。一の実施形態におけるコントローラー１３０は、以下に詳述される本発明の１以上の実施形態による再プログラミング方法を行うデータ復旧モジュール１８２を更に含む。
【００１２】
電圧分布の図示
図２Ａ及び２Ｂは、下位ページ破損に寄与する要素と本発明の一の実施形態による解決法とを図示する、メモリセルの電圧分布を示す。図２Ａは、下位ページのみがプログラミングされたＭＬＣメモリセルの電圧分布を示す。線２００は初期プログラミング時の電圧分布を示す。線２０２は一定時間経過後の電圧分布を示す。図２Ａにおいて、これらのセルは、４０℃で１２．８ヶ月経過した状態をシミュレートするために加熱を行うテスト処理を経たものである。電圧の尺度において、分布が左にドリフトしており、一部のセルが誤り領域２０８に入っていることが確認される。これらのセルは電圧レベルが閾値２０８を下回るため、読み取られると、当初プログラミングされた値とは異なるビット値をもたらすと考えられる。したがって、ここでは、これら数百のビットは誤りである。線２０４は、セルが、本発明の１以上の実施形態に従って再プログラミングされた後の分布を示す。ここで、分布は当初のプログラミング時の分布とほぼ同一であり、故障ビットカウント（（ｆａｉｌｉｎｇ  ｂｉｔ  ｃｏｕｎｔ）ＦＢＣ）はゼロである。
【００１３】
図２Ｂは、下位ページと上位ページの両方がプログラミングされているＭＬＣメモリセルの電圧分布を示す。このグラフには、電圧ドリフトの影響は示されない。むしろ、２つのシナリオが図示されている。第１は、線２１０が、上位ページと下位ページの両方が同時又はほぼ同時にプログラミングされているセルのＶｔ状態の電圧分布を示す。２つのプログラミング間に経過時間がほとんど又は全くなく、また温度差がほとんど又は全くないため、これは理想的な状態であると考えられる。しかしながら、セルは常にこのようにプログラミングされるわけではない。上位ページが下位ページとは異なるタイミング及び／又は温度でプログラミングされる場合、下位ページ破損の問題が発生し得る。しかしながら、下位ページの再プログラミングはこの問題のリスクを低減する。線２１２は、本発明の１以上の実施形態に従ってセルが再プログラミングされた後の電圧分布を示す。図示のとおり、再プログラミング後には、３つの状態全てが線２１０で示される分布、つまり上述のように上位ページと下位ページとが同時又はほぼ同時にプログラミングされているセルの分布、に非常に近くなっている。
【００１４】
再プログラミング
図３は、本発明の一の実施形態による再プログラミング方法２５０を示すフロー図である。方法２５０は、起動シーケンスの一部として定期的に、又は必要に応じて、実行され得る。一の実施形態において、方法２５０は図１に示すコントローラー１３０によって行われる。ブロック２５５において、方法は、対になった上位ページがプログラミングされていない、プログラミング済下位ページを選択する。これらの下位ページは「オープン」下位ページと称され得る。例えば、方法は、データが現在プログラミングされている１以上の「オープン」ブロックからこのようなページを選択し得る。更に解説すると、方法２５０が起動シーケンスの一部として実行されると、このようなオープンブロックはストレージシステムが前回終了された際にプログラミングされたブロックであり得て、これらは容量がいっぱいでないため閉じられていない。システムはこれらのオープンブロックでプログラミングを再開すると考えられるので、これらのオープン下位ページでは下位ページ破損の問題が起こり得る。したがって、一の実施形態において、方法はこのようなオープン下位ページを再プログラミングの対象として選択する。
【００１５】
ブロック２６０で、選択された下位ページからのデータが読み取られ、読み取られたデータはその後ブロック２６５で訂正される（例えば誤り訂正符号（（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄe）ＥＣＣ）の適用による）。その後、ブロック２７０で、訂正されたデータは選択された下位ページに再プログラミングされる。図２Ａで前掲されたとおり、ここで、これらの下位ページ内のセルの電圧分布は、当初プログラミングされた際の分布に近似する。したがって、これらと対になった上位ページがプログラミングされる際、下位ページ破損を防ぐことができる。
【００１６】
下位ページの選択
図４Ａ〜４Ｂ及び図５は、オープン下位ページが選択され得るメモリセルの異なる構成を示す。図４Ａでは、ＭＬＣ構成が図示され、ページ０〜７が示されている。「Ｕ」は上位ページを、「Ｌ」は下位ページを表す。上から下へ、水平線はワード線を表し、（図４Ａと４Ｂの間で）ＷＬ（Ｗｏｒｄ  Ｌｉｎｅ）０、ＷＬ１、ＷＬ２、のようにラベル付けされる。
【００１７】
ページ番号は、ページがプログラミングされる順番を表す。ここでは、ページ０〜７がプログラミングされている。ページ０、すなわちＷＬ０の下位ページ、が最初にプログラミングされ、次にページ１、すなわち同じＷＬ０の下位ページ、がプログラミングされ、という形で続く。なお、ページ０は上位ページ４と対であり、ページ１は上位ページ５と対であり、のように対応する。このプログラミングのシーケンスにおいて、ページ２、３、８、及び７が、対である上位ページがプログラミングされていないオープン下位ページである。一の実施形態において、コントローラーが図４Ａに示すようなメモリの状態を見つけると、これらのページは、例えば図２に示す方法により、再プログラミング向けに選択される。この典型的な構成において、特定の時点でこのようなオープンページは最大４つ存在する。そのため、これらのオープンページを再プログラミングすることは、メモリブロック全体からデータを再プログラミングするよりもはるかに効率的である。一の実施形態において、オープンブロック内のこのようなオープン下位ページが起動時に素早く識別できるよう、終了シーケンスの一部としてこれらのオープンページにはコントローラーによって（例えばメタデータを通じて）フラグが立てられ得る。このようなオープン下位ページの識別が利用可能でない場合（例えば、不規則な／予期せぬ終了が前回起きた、又はシステムがこのようなページのマーキングをサポートしていない場合）、コントローラーは、このようなオープン下位ページの位置を知るためにメモリブロック全体のスキャンを実行し得る。
【００１８】
図４Ｂは、ページ８及び９のプログラミング後の同じメモリセルを示す図である。現在の例では、ページ８及び９がプログラミングされる直前に、ページ２及び３からデータを読み出すために再プログラミングが行われている。訂正されたデータはページ２及び３に再プログラミングされる。このようにして、ページ８及び９がプログラミングされる際のページ２及び３の下位ページ破損を防ぐことができる。ページ８及び９がプログラミングされると、ページ２及び３はオープンではなくなる。この時点でシステムが終了されると、次回の起動時にコントローラーはページ６及び７を再プログラミング用に選択し得る。
【００１９】
図５は、各セルが３ビットを符号化するよう構成されている、別のＭＬＣ構成を示す図である。この構成は、一般にＴＬＣ（（Ｔｈｒｅｅ−Ｌｅｖｅｌ  Ｃｅｌｌ）スリーレベルセル）メモリと称される。ここでは、図４Ａ〜４Ｂと同様の表記が適用される。プログラミングされたページは、ページ０〜１１ならびにＵ及びＬの指定によってラベル付けされ、ワード線はそれに従ってラベル付けされる。ここで、各下位ページは２つの上位ページと対になる。例えば、ページ０は上位ページ４及び１０と対になる。ページ２、３、６、及び７はオープン下位ページである。一の実施形態によれば、コントローラーが、図示のような状態にあるメモリを確認すると、これらのページが再プログラミング向けに選択される。なお、ページ２及び３は、プログラミング済上位ページ８及び９と既に対になっているが、オープンページと見なされる。これは、ページ２及び３の各々が、プログラミングされるべきもう１つの上位ページを有するためである。繰り返すが、これら数個のオープンページを再プログラミングすることは、メモリブロック全体を再プログラミングするよりも効率的である。
【００２０】
下位ページのみのプログラミング
図６は、本発明の一の実施形態による、下位ページのみプログラミングされたセルを再プログラミングする処理を示すフロー図である。下位ページ復旧プログラムが有用であり得るもう１つの状況は、下位ページのみがデータ格納用にプログラミングされている場合である。典型的には、これらのページは、下位ページ限定、又はＳＬＣモードで指定されたメモリブロック内に存在する。もしくは、同じシナリオがＳＬＣメモリ内で発生するかもしれない。上位ページはプログラミングされていないため、下位ページ破損の問題は発生しない。しかしながら、データの完全性を保つために、再プログラミングがなお有用であり得る場合がある。例えば、一の実施形態において、データが所定の基準に近づいていることをストレージシステムが把握すると、プログラミングされた電圧レベルを本来意図されたものに戻すために、復旧プログラムが適用され得る。
【００２１】
図８において、コントローラー１３０によって方法６００が実行され得る。方法は、１以上のデータ整合性がチェックされるブロック８１０から開始する。最近の読み取りの、ビット誤り率等の誤り率、及び／又は適用された誤り訂正の試み（例えば、ＬＤＰＣ復号及び／又はＲＡＩＤ復旧において）は、データ整合性の状態の指標となり得る。率／状態は、スキャン処理の一部として行われた読み取りから入手され得る。更に、整合性の状態についてのその他の利用可能な指標としては、プログラム／消去サイクルのカウント値、ならびに、基準ページ／ブロックで測定される電圧基準ドリフトによって概算される経過時間が挙げられる。これらの条件は、ブロック３１５において閾値基準と比較され、復旧をトリガーするための所定の条件が満たされると、方法はブロック３２０へ進み、下位ページのみがプログラミングされたこれらのページからデータを読み取る。ブロック３２５において、読み取られたデータが（例えば、ＥＣＣの適用によって）訂正される。その後ブロック３３０において、訂正されたデータはページに再プログラミングされる。図２Ａで前述のとおり、これらのページにおけるセルの電圧分布は、当初プログラミングされた分布に非常に近似する。
【００２２】
その他の変形例
当業者であれば、一部の実施形態において、その他のアプローチ及び方法が用いられ得ることを理解するだろう。例えば、ＮＡＮＤフラッシュチップ上の有限状態機械によって上位ページに対するマルチパスプログラミングが許可されている場合、上位ページのデータ復旧のための多様な実施形態に方法を適用することも可能である。例えば、一部の上位ページが、ＥＣＣの訂正限界に近い大量の誤りを発生させることが考えられ、電圧レベルを当初プログラミングされたレベルに近づけるための再プログラミングが有効であり得る。更に、不揮発性メモリアレイ１４０はＮＡＮＤフラッシュメモリ装置以外のメモリ装置を用いて実装可能である。フラッシュ集積回路のアレイ、カルゴゲニドＲＡＭ（ＣＲＡＭ）、相変化型メモリ（ＰＣ−ＲＡＭ又はＰＲＡＭ）、プログラマブルメタライゼーションセルＲＡＭ（ＰＭＣ−ＲＡＭ又はＰＭＣｍ）、オボニック統合メモリ（ＯＵＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、ＮＯＲメモリ、ＥＥＰＲＯＭ、強誘電体メモリ（ＦｅＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、その他の離散ＮＶＭ（不揮発性メモリ）チップ、又はこれらの任意の組み合わせ、といったその他の種類のソリッドステートメモリ装置も利用可能である。一の実施形態において、不揮発性メモリアレイ１４０は、２ビット以上の情報を格納可能なマルチレベルセルを有するマルチレベルセル（ＭＬＣ）装置を含むことが好ましいが、シングルレベルセル（ＳＬＣ）メモリ装置、又はＳＬＣ及びＭＬＣ装置の組み合わせも用いられ得る。一の実施形態において、ストレージシステム１２０は、１以上の磁気メモリモジュール等のその他のメモリモジュールを含み得る。ストレージシステム１２０は、磁気格納媒体等のその他の種類の格納媒体を更に含んでよい。したがって、本開示の範囲は、添付の請求の範囲を参照することによってのみ定義されるよう意図される。
【００２３】
特定の実施形態が記載されたが、これらの実施形態は例示のためにのみ提供されたものであり、保護の範囲を限定することを意図しない。実際に、本稿に記載の新規な方法及びシステムは他の多様な形態で実施され得る。更に、本稿に記載の方法及びシステムの形態の様々な省略、置換、及び変更が、保護の精神から逸脱することなく加えられ得る。添付の請求の範囲及びその等価物は、このような形態又は変形をも、本開示の精神及び範囲に含まれるものとして包含するよう意図されている。例えば、本稿に記載のシステム及び方法は、ハイブリッドハードドライブ等に適用可能である。更に、その他の形態の格納媒体（例えばＤＲＡＭ又はＳＲＡＭ、バッテリーバックアップ揮発性ＤＲＡＭ又はＳＲＡＭ装置、ＥＰＲＯＭ、ＥＥＰＲＯＭメモリ等）が、追加又は代替として用いられ得る。別の例として、図面に図示された様々な要素は、ソフトウェア及び／又はプロセッサ上のファームウェア、ＡＳＩＣ／ＦＰＧＡ、又は専用ハードウェアとして実装され得る。更に、上述した特定の実施形態の機能及び属性は、異なる方法で組み合わせられて追加の実施形態を成立し得て、その全てが、本開示の範囲に包含される。本開示は特定の好適な実施形態及び応用を提供しているが、本稿に記載の全ての機能及び利点を提供しない実施形態を含む、当業者にとって明白なその他の実施形態も、本開示の範囲に包含される。したがって、本開示の範囲は、添付の請求の範囲を参照することによってのみ定義されるよう意図される。
【図１】
0006312698.tif 000002
【図２】
0006312698.tif 000003
【図３】
0006312698.tif 000004
【図４】
0006312698.tif 000005
【図５】
0006312698.tif 000006
【図６】
0006312698.tif 000007