(57)【要約】      （修正有）【課題】データストレージデバイスを提供する。【解決手段】第１不揮発性マスストレージデバイスは、利用可能な状態および利用不可能な状態に置かれえる。第１マスストレージデバイスがその利用不可能な状態にあるとき、ストレージコントローラは、第２マスストレージデバイスだけにアクセスする。利用不可能な状態は、そのデバイスが物理的に利用不可能である（例えば取り外されている）か、または単にストレージコントローラが、利用可能な状態にそれが戻るまで、それにアクセスしないかを意味する。第１マスストレージデバイスが利用可能な状態にあるとき、ストレージコントローラは、第１マスストレージデバイスまたは第２マスストレージデバイスのいずれかにアクセスするよう動作可能である。【選択図】図２Ａ
2011222030.tif 000002
【特許請求の範囲】
【請求項１】
データストレージシステムであって、
利用可能な状態および利用不可能な状態に置かれえ、第１範囲の論理アドレスを有する第１不揮発性マスストレージデバイス、
前記第１不揮発性マスストレージデバイスよりもより高速なアクセスタイムおよびより低い容量を有し、第２範囲の論理アドレスを有する第２不揮発性マスストレージデバイス、および
前記第１不揮発性マスストレージデバイスが前記利用不可能な状態であるときに、前記第２不揮発性マスストレージデバイス内でデータにアクセスでき、前記第１不揮発性マスストレージデバイスが前記利用可能な状態にあるときに前記第１および第２不揮発性マスストレージデバイスの両方の中でデータにアクセスするよう動作可能であるストレージコントローラ
を備え、
前記第１不揮発性マスストレージデバイスと、前記第２不揮発性マスストレージデバイスとに、ホストから供給されたデータを並行して書き込む、データストレージシステム。
【請求項２】
前記第１不揮発性マスストレージデバイスは、前記データの全てが前記第２不揮発性マスストレージデバイスに記憶される前に、前記データを記憶し、前記データストレージシステムは、前記データの全てが前記第２不揮発性マスストレージデバイスに記憶される前に、前記データに従って動作し始める、請求項１に記載のデータストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータストレージデバイスに関し、より具体的にはデュアルメディアストレージデバイスに関する。
【背景技術】
【０００２】
汎用コンピュータは、マスストレージシステムを必要とする。データの直接操作のために用いられるメインメモリとは違い、マスストレージはデータを保持するために用いられる。一般に、プログラムはマスストレージに記憶され、プログラムが実行されるときに、プログラム全体またはプログラムの一部がメインメモリにコピーされる。システムがプログラムおよびそれに関連するデータの位置を特定し、マスストレージデバイスからメインメモリに転送するスピードは、システムの全体的なスピードに不可欠である。
【０００３】
通常のマスストレージデバイスには、フロッピーディスク（登録商標）、ハードディスク、光学ディスクおよびテープがある。それぞれのデバイスには、長所および短所の両方があり、これらは容量、価格、スピードおよび携帯性に関しえる。
【０００４】
加えて、フラッシュメモリのような他のデバイスは、不揮発性記憶を提供しえる。フラッシュメモリは、電気的に消去可能なプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）の一種である。フラッシュメモリは典型的には揮発性メインメモリほど速くはないが、ハードディスクよりは速い。
【０００５】
本発明者は、それぞれのデバイスの長所を最大にし、それぞれのデバイスの短所を最小にするために、別個のデバイスを単一のマスストレージシステムに統合するコンセプトを以前に吟味した。例えば、本発明者は、１９９７年１２月３１日に公開されたＰＣＴ出願「Memory Device」ＷＯ９７／５００３５の発明者としても挙げられており、この出願は
全ての目的のためにここで参照によって援用される。このＰＣＴ出願は、ハードディスクのような比較的、低速なアクセスのマスデータストレージデバイス、およびフラッシュメモリのような比較的、高速なアクセスのデータストレージデバイスの両方を含むメモリシステムを記載していた。同様のコンセプトは、２０００年１月１８日にDaniel AuclairおよびEliyahou Harariに発行された米国特許「Mass Computer Storage System Having Both Solid State and Rotating Disk Types of Memory」、米国特許第6,016,530号において吟味されており、この特許はその全体が全ての目的のためにここで参照によって援用される。
【０００６】
不揮発性フラッシュメモリデバイスを不揮発性ハードディスクと組み合わせることによって、結果として生じるマスストレージシステムは、その部分の和よりも大きくなりえる。しかし、そのようなメモリシステムは、それぞれのデータセクタのうちの１つのバージョンだけが維持されるシチュエーションに特に限定されていた。このデータセクタは、高速メモリまたは低速アクセスのマスデータストレージデバイスのうちのいずれかにおいて記憶され、論理アドレス空間を高速メモリおよび低速アクセスマスストレージデバイスの容量の和に等しくしていた。
【０００７】
１つ以上の集積回路チップ上に形成されたフラッシュセルのアレイを採用する、現在用いられている多くの商業的に成功した不揮発性メモリ製品が存在する。ふつう（必ずしもそうではないが）別個の集積回路チップ上にあるメモリコントローラはメモリアレイの動作を制御する。そのようなコントローラとしては典型的には、マイクロプロセッサ、ある種の不揮発性読み出し専用メモリ（ＲＯＭ）、揮発性ランダムアクセスメモリ（ＲＡＭ）およびプログラミングおよび読み出し操作のあいだにデータがコントローラを通るときにデータから誤り訂正符号（ＥＣＣ）を計算するもののような、１つ以上の特別の回路がある。
【０００８】
典型的なフラッシュアレイのメモリセルは、共に消去されるセル群の別個のブロック群に分割される。すなわち、消去ブロックは、同時に消去可能な最小限の個数のセルの消去単位である。それぞれの消去ブロックは典型的には、データの１つ以上のページを記憶し、このページは、異なるサブアレイまたはプレーンでパラレルにプログラムされまたはリードされる。それぞれのプレーンは、典型的にはデータの１つ以上のセクタを記憶し、このセクタのサイズは、ホストシステムによって定義される。セクタの例は、磁気ディスクドライブについて設定された標準に従って、ユーザデータとして５１２バイトを含む。このようなメモリは典型的には、それぞれの消去ブロック内で１６、３２またはそれより多いページで構成され、それぞれのページは１つまたはいくつかのホストセクタデータを記憶する。
【０００９】
プログラミングおよびリード動作のあいだの並列性の度合いを増すために、アレイは、ふつうプレーンと呼ばれるサブアレイに典型的には分割される。それぞれのプレーンは、並列動作を可能にするためにそれ自身のデータレジスタおよび他の回路を含み、それによってデータのセクタは、同時に全てのプレーンにプログラムされ、またはそれらからリードされえる。単一の集積回路上のアレイは、物理的にプレーンに分割されえ、またはそれぞれのプレーンは、別個の１つ以上の集積回路チップから形成されえる。そのようなメモリ実現例の例は、１９９８年８月２５日にLeeらに発行された「Plane decode/virtual sector architecture」米国特許第5,798,968号、および１９９９年３月３０日にLeeらに発行された「Concurrent write of multiple chunks of data into multiple subarrays offlash EEPROM」米国特許第5,890,192号に記載され、これらはその全体が全ての目的のためにここで参照によって援用される。
【００１０】
さらに効率的にメモリを管理するために、消去ブロックは、共にリンクされて、仮想ブロックまたはメタブロックを形成しえる。すなわち、それぞれのメタブロックは、それぞれのプレーンから１つの消去ブロックを含むように定義づけられる。メタブロックの使用は、２００２年７月２５日の公開番号WO02/058074の国際特許出願「Partial Block Data Programming And Reading Operations In A Non-Volatile Memory」に記載され、その全体が全ての目的のためにここで参照によって援用される。このメタブロックは、データをプログラミングおよびリードするために、ホスト論理ブロックアドレスによって宛先（destination）として特定される。同様に、メタブロックの全ての消去ブロックは共に消去される。そのような大きなブロックおよび／またはメタブロックによって動作されるメモリシステム中のコントローラは、ホストから受け取られた論理ブロックアドレス（ＬＢＡ）、およびメモリセルアレイ内の物理ブロックナンバ（ＰＢＮ）の間の変換を含む多くの機能を実行する。ブロック内の個別のページは、典型的にはブロックアドレス内のオフセットによって特定される。
【００１１】
このタイプのフラッシュメモリシステムは、携帯アプリケーションにおけるマスストレージデバイスとしてふつう用いられる。フラッシュメモリデバイスは、論理インタフェースを介してＡＴＡのようなプロトコルを用いてホストシステムと通信し、しばしばリムーバブルカードの形態をとる。商業的に入手可能なカードのいくつかは、コンパクトフラッシュＴＭ（ＣＦ）カード（登録商標）、マルチメディアカード（ＭＭＣ）、セキュアディジタル（ＳＤ）カード、スマートメディアカード、パーソネルタグ（Ｐ−Ｔａｇ）およびメモリスティックカードである。ホストは、パーソナルコンピュータ、ノートブックコンピュータ、携帯情報端末（ＰＤＡ）、さまざまなデータ通信システム、および同様のタイプの装置を含む。メモリカード実現例の他に、このタイプのメモリは、代替として、さまざまなタイプのホストシステム内に組み込まれえる。
【００１２】
過去には、フラッシュメモリは、さまざまなデータキャッシング機能のために、コンピュータのＢＩＯＳの記憶のために、またはマスストレージデバイスの拡張として（上述のＰＣＴ出願にあるように）用いられてきた。それは、ライトまたはリードデータをキャッシングするためにハードディスクデバイス内で用いられてきた。例えば、その全体が全ての目的のためにここで参照によって援用される１９９６年１２月１７日付けLaskerらへの「Disk controller with volatile and non-volatile cache memories」米国特許第5,586,291号は、リードキャッシュとして機能する揮発性メモリ中にミラー化されたデータを持つ、ハードディスクのためのライトキャッシュとしての不揮発性メモリの使用を記載する。１９９７年６月３日付けRamakrishnanらへの「Disk cache management techniques using non-volatile storage」米国特許第5,636,355号、および１９９６年７月３０日付けMattsonらへの「Destaging modified data blocks from cache memory」米国特許第5,542,066号は、その全体が全ての目的のためにここで参照によって援用され、これらもハードディスクのためのライトキャッシュとしての不揮発性メモリの使用、およびデータをキャッシュからハードディスクへ移動させるためのパージングおよびデステージングアルゴリズムを記載する。ディスクキャッシュとしての不揮発性メモリの既知の応用例においては、ハードドライブにおける論理アドレスによって特定されたデータは一時的に不揮発性メモリ中の物理位置にマッピングされる。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
マスストレージデバイスを改良する継続された努力がなされている。
【課題を解決するための手段】
【００１４】
本発明は、２つの不揮発性マスストレージデバイスおよびストレージコントローラを含みえるデータストレージシステムを提供する。第２不揮発性マスストレージデバイスは、第１不揮発性マスストレージデバイスよりもより高速なアクセスタイムおよびより小さい容量を有する。２つの不揮発性マスストレージデバイスは、重複するアドレス範囲を有する。換言すれば、データの一部は、両方のマスストレージデバイス上で利用可能でありえる。
【００１５】
ある局面において、第１不揮発性マスストレージデバイスは、利用可能な状態および利用不可能な状態に置かれえる。第１マスストレージデバイスがその利用不可能な状態にあるとき、ストレージコントローラは、第２マスストレージデバイスだけにアクセスする。利用不可能な状態は、そのデバイスが物理的に利用不可能である（例えば取り外されている）か、または単にストレージコントローラが、利用可能な状態にそれが戻るまで、それにアクセスしないかを意味する。第１マスストレージデバイスが利用可能な状態にあるとき、ストレージコントローラは、第１マスストレージデバイスまたは第２マスストレージデバイスのいずれかにアクセスするよう動作可能である。
【００１６】
他の局面において、ストレージコントローラは、入ってくるデータを第１不揮発性マスストレージデバイスまたは第２不揮発性マスストレージデバイスのいずれかに導く。もしデータが第２マスストレージデバイスに導かれるなら、そのデータは後に第２マスストレージデバイスから第１マスストレージデバイスにコピーされる。どの不揮発性マスストレージデバイスに入ってくるデータが導かれるかの前記ストレージコントローラの選択は、前記第１不揮発性マスストレージデバイスへコピーされていない前記第２不揮発性マスストレージデバイス中のデータ量に少なくとも部分的には依存する。
【００１７】
他の局面において、ストレージコントローラは、前記第２不揮発性マスストレージデバイス中に記憶されるデータによって、またはもしリクエストされたデータが前記第２不揮発性マスストレージデバイス中に存在しないなら、前記第１不揮発性マスストレージデバイス中に記憶されるデータによって、外部データリクエストを満足させる。
【００１８】
本発明の他の局面および優位性は、添付の図面と併せて以下の詳細な説明から明らかになろう。図面は例示的に本発明の原理を示す。
【図面の簡単な説明】
【００１９】
【図１Ａ】本発明を利用できる例示的汎用コンピュータシステムを示す図である。
【図１Ｂ】図１Ａの汎用コンピュータシステムの要約された表現を示す図である。
【図２Ａ】本発明の例示的実施形態による改良されたマスストレージデバイスを示す図である。
【図２Ｂ】本発明の他の例示的実施形態による改良されたマスストレージデバイスを示す図である。
【図３】リングバッファの定型化された表現を示す図である。
【図４Ａ】フラッシュ容量が増すときのシステムパフォーマンスの効果を示す図である。
【図４Ｂ】改良されたマスストレージデバイスの利用が減るときのシステムパフォーマンスの効果を示す図である。
【発明を実施するための形態】
【００２０】
本発明は、添付の図面と併せて以下の詳細な説明によって容易に理解されよう。
図面において同様の参照番号は同様の構成要素を示すことが理解されよう。また図中の描写は必ずしも正しい縮尺ではないことが理解されよう。
【００２１】
以下の記載において、本発明の完全な理解を提供するために多くの具体的な詳細が述べられる。しかし、本発明はこれら特定の詳細の一部または全てがなくても実施されえることが当業者には明らかだろう。あるいは、よく知られたプロセスステップは、本発明を不必要にぼかさないために詳細には記載されていない。
【００２２】
本発明は、それぞれ長所および短所を有する２つの別個のマスストレージデバイスを組み合わせることによって、補助メモリともふつう呼ばれる、従来のマスストレージデバイスを一般に改良する。例えばフラッシュマスストレージデバイス（「フラッシュメモリシステム」）がハードドライブと比較されるとき、フラッシュメモリシステムは、より衝撃に強く、可動部品なしに動作できるためにより携帯アプリケーションに望ましい。フラッシュメモリシステムは、ハードドライブより高速なアクセスタイムを有するが、一般にはそれは同じ値段のハードドライブの記憶容量を有しない。加えて、フラッシュメモリシステムは、フラッシュメモリシステムをある期間、アクセス不能にする、周期的なガーベジコレクション動作を典型的には要求する。本発明の改良されたマスストレージデバイスは、ある状況についてどのデバイスがより適するかに依存して、フラッシュメモリシステムまたはハードドライブのいずれかを用いる。当業者には理解されるように、一方が他方よりも、より高速なアクセスタイムを有し、より小さい容量を有する限り、任意の２つの不揮発性マスストレージデバイスが本発明においては用いられえる。
【００２３】
いくつかの異なる優位性が、改良されたマスストレージデバイスで得られうる。ある実施形態において、改良されたマスストレージデバイスは、高速なシステムブートおよび高速なアプリケーションスタートアップを提供しえる。オペレーティングシステムおよびコンフィギュレーションファイルのような、そのブートプロセスのあいだにホストシステムによって要求される情報は、フラッシュメモリシステム内に記憶されえ、オプションとして２つ目のコピーがハードドライブ内に記憶される。このようなシステムにおいては、フラッシュメモリシステムは、不揮発性リードキャッシュとして用いられえ、その高速ランダムリードアクセス特性のためにより高速なシステムスタートアップが可能になる。この情報は、頻繁にリードされる情報として初期的に特定されえ、その初期アクセスのあいだにハードドライブからフラッシュメモリシステムへコピーされえる。このような情報は、マスストレージデバイス中のフラッシュメモリシステムを用いる他のアプリケーションによってオーバライトされることを防ぐためにプロテクトされえる。アプリケーションソフトウェアファイルは、アプリケーションの高速スタートアップを提供するために同じように取り扱われえる。
【００２４】
他の実施形態において、改良されたマスストレージデバイスは、低電力ストレージデバイスとして働きえる。この改良されたマスストレージデバイスは、フラッシュメモリシステムにおいて最近にアクセスされた情報のコピーを、最近に書き込まれた情報のコピーと共に保持することによって、フラッシュメモリシステムをリード／ライトキャッシュとして用いえる。このデバイスは、携帯アプリケーションにおける電力を低減し、フラッシュメモリの低電力特性を利用するために、それから磁気ハードディスクをスピンダウンでき、一方、フラッシュメモリ中のキャッシュヒットによって要求された情報についての高速レスポンスの高い確率を維持できる。
【００２５】
同様に、改良されたマスストレージデバイスは、ショック耐性のストレージデバイスであることの優位性をも提供しえる。高い機械的衝撃のリスクがある状況において磁気ハードディスクをスピンダウンすることは、半導体メモリの高衝撃耐性の優位性を与え、一方で、フラッシュメモリシステム中に記憶された情報で動作可能性を保持する。
【００２６】
改良されたマスストレージデバイスのさらに他の潜在的優位性は、短期バックアップを持つ高度に信頼性の高い記憶デバイスを提供するその能力である。もしフラッシュメモリシステムが最近に書き込まれた情報をライトキャッシュとしてのフラッシュメモリシステム中に保持するなら、この情報は、それがハードドライブに転送された後でもフラッシュメモリシステムに保持される。もし情報ができるだけ長く保持され、かつスペースが必要なときだけオーバライトされるなら、ライトキャッシュは、最近に書き込まれた情報の第２コピーによるセキュリティを提供する。したがって改良されたマスストレージデバイスは、ディスククラッシュのような機械的故障による、まだバックアップがとられていない最近に書き込まれた情報のロスに対して保護するために、半導体メモリの高衝撃耐性を利用する高信頼性ストレージデバイスを生みえる。
【００２７】
図１Ａは、本発明を利用しえる例示的汎用コンピュータシステム１００を示す。要素は、コンピュータ１０５、マウス１１０およびキーボード１１５のようなさまざまな入力デバイス、およびモニタ１２０およびプリンタ１２５のようなさまざまな出力デバイスを含む。
【００２８】
図１Ｂは、その本質的な要素を示す図１Ａのコンピュータシステム１００の要約された表現を示す。単一の要素１３０は、マウスおよびキーボードのようなユーザがコンピュータシステム１００と相互対話することを可能にする入力デバイスを示す。同様に、単一の要素１３５は、モニタおよびプリンタのようなコンピュータシステム１００が達成したことを表示する出力デバイスを示す。コンピュータシステム１００の中心は、中央処理ユニット（ＣＰＵ）１４０であり、命令を実行する要素である。メインメモリ１４５は、典型的には揮発性であり、ＣＰＵ１４０に実行されるべき命令およびその命令によって操作されるべきデータを提供する。これらの要素１３０、１３５、１４０、および１４５はこの技術分野ではよく知られている。
【００２９】
改良されたマスストレージデバイス１５０は、コンピュータ１００が持続的に大量のデータを保持することを可能にする。要素１３０、１３５、１４０、１４５、および１５０は、互いにホストバス１５５を介して情報を交換できる。
【００３０】
図２Ａは、本発明の例示的実施形態による改良されたマスストレージデバイス１５０Ａを示す。２つのマスストレージデバイス、フラッシュメモリシステム２０５およびハードドライブ２１０は、並列に接続される。フラッシュメモリシステム２０５は、フラッシュメモリアレイ２１５およびフラッシュコントローラ２２０を含む。ハードドライブ２１０は、磁気ハードディスク２２５およびディスクコントローラ２３０を含む。それぞれのコントローラ２２０および２３０は、それぞれのメモリタイプについて特定の動作を管理する。例えば、フラッシュコントローラ２２０は、全てのデータセクタの論理・物理マッピングおよび全てのフラッシュメモリ管理を制御し、それによりフラッシュコントローラ２２０およびフラッシュメモリアレイ２１５の間のインタフェース２５０が物理的なインタフェースになるようにする。ディスクコントローラ２３０は、リードおよびライトのための磁気ハードディスク２２５の動作を管理する。コントローラ２２０および２３０の両方は、論理インタフェース２６０および２６５を介してルータ２３５に接続する。
【００３１】
他の実施形態において、コントローラ２２０および２３０の機能は、統合化されたコントローラデバイスにおいて、ルータ２３５と共にマージされる。このデバイスは、記憶コントローラ２４５およびホストインタフェース２４０も含みえる。しかし、このようなコンフィギュレーションは、新しいコントローラユニットの製造を必要とする。したがって、コントローラ２２０および２３０のうちのいずれかまたは両方は、単にメモリデバイス中には含まれない。このようなコンフィギュレーションは新しい制御回路が開発されることを必要とするが、要求される全要素の数も減らしえる。
【００３２】
図２Ａにおいて、ホストインタフェース２４０およびストレージコントローラ２４５は、両方ともルータ２３５の上流に配置され、ルータは、データおよび制御情報が、ホストインタフェース２４０と、ディスクコントローラ２３０またはフラッシュコントローラ２２０のいずれかとの間でいずれかの方向へ渡されることを可能にする。加えて、ルータ２３５は、ディスクコントローラ２３０およびフラッシュコントローラ２２０の間でいずれかの方向へデータの転送を制御しえる。このような転送は、スタンドアローン動作としてなされえる。代替として、このような転送は、ホストインタフェース２４０およびマスストレージコントローラ２２０または２３０のうちの１つの間でいずれかの方向へのデータ転送と共になされえる。ルータ２３５は、このようなデータ転送についての制御論理を組み込みえる。
【００３３】
ホストインタフェース２４０は、ホストバス１５５への直接インタフェースを提供し、ホストバス１５５上で用いられる特定のプロトコルについての全てのサポートを提供しえる。ホストインタフェース２４０、ディスクコントローラ２３０および磁気ハードディスク２２５によって形成されるサブシステムは、ホストインタフェース２４０、フラッシュコントローラ２２０およびフラッシュメモリアレイ２１５によって形成されるサブシステムと共に、それぞれ完全なマスデータストレージシステムを形成する。ルータ２３５は、ホストインタフェース２４０から変更を加えることなくデータおよび制御信号を通しえ、またはコントローラ２２０および２３０と通信するための代替のプロトコルを確立しえる。ルータ２３５およびマスストレージコントローラ２２０または２３０間のインタフェース２６０および２６５は、ＡＴＡのような標準的プロトコルでありえ、または改良されたマスストレージデバイス１５０のために定義された特別なインタフェースでありえる。インタフェース２６０および２６５は典型的には、フラッシュメモリシステム２０５およびハードドライブ２１０中のデータの個別のセクタにランダムリードおよびライトアクセスを提供する論理インタフェースであり、それぞれの記憶メディアの物理的特性に依存しない。
【００３４】
加えて、フラッシュコントローラ２２０は、フラッシュメモリアレイ２１５の予約された領域への直接アクセスを行うために、インタフェース２６０上で特別のコマンドまたは操作をサポートしえ、これはストレージコントローラ２４５によって用いられるテーブルおよび情報ログの記憶のために用いられえる。代替として、ストレージコントローラ２４５は、そのようなテーブルおよびログのためのそれ自身の不揮発性メモリを有してもよい。
【００３５】
ストレージコントローラ２４５は、ホストインタフェース２４０およびマスストレージコントローラ２２０および２３０の間の情報の転送を指令するインテリジェントコントロールユニットである。ストレージコントローラ２４５は、フラッシュメモリシステム２０５またはハードドライブ２１０へのデータの記憶またはそれからのデータのリードを調整する。ストレージコントローラ２４５は、フラッシュメモリアレイ２１５中に記憶された情報、実施形態によっては磁気ハードディスク２２５中に記憶された情報のためのアドレステーブルを保持する。
【００３６】
揮発性メモリは、ホストインタフェース２４０、ルータ２３５、フラッシュコントローラ２２０またはディスクコントローラ２３０を含む改良されたマスストレージデバイス１５０の要素の多くにおいてバッファまたはキャッシュメモリとして機能する。単一の揮発性メモリがさまざまな要素において動作するようスケジューリングされてもよく、または別個の揮発性メモリ群がそれぞれの要素の専用として機能してもよい。
【００３７】
図２Ｂは、改良されたマスストレージデバイスの代替の実施形態１５０Ｂである。論理インタフェース２６０はなくされ、フラッシュメモリアレイ２８０へ直接の物理インタフェース２７５によって置き換えられている。フラッシュメモリアレイ２８０の直接制御は、統合化されたコントローラ２８５によって実現され、このコントローラは、ストレージコントローラ２４５およびルータ２３５の両方の機能を実行しえる。この実施形態において、フラッシュコントローラ２２０の機能は必要とされず、フラッシュメモリアレイ２８０は、論理データ記憶デバイスの一部を形成しないが、物理記憶として直接に用いられる。これはデータのストリームの一時記憶には特に適する。
【００３８】
図３は、リングバッファ３００の形態の、フラッシュメモリアレイ２８０中のデータのストリームにおけるセクタの記憶を整理する一方法を示す。データのセクタを書き込む現在の位置は、ライトポインタ３０５によって定義され、これは無限サイクルとしてアドレス空間を通して図３の時計回りに移動する。アドレス空間は、メタブロック（例えば３１０および３１５）によって定義され、これらは、所定の順序で、またはライトポインタ３０５が完全なメタブロックから新しい消去されたメタブロックへ移動するときに動的に決定される順序で、リンクされる（例えば３２０）。消去ポインタ３２５は、無限サイクルとしてアドレス空間を通して同様に図３で時計回りに移動する。消去ポインタ３２５によって特定されたメタブロックは、新しいデータセクタの記憶のために、ライトポインタ３０５の前に少数の消去されたメタブロックのプールが維持されるような速度で消去されていく。消去されるブロックは、リングバッファ３００中では最も古く書き込まれたデータを含む。
【００３９】
改良されたマスストレージデバイス１５０は、磁気ハードドライブ２１０から読み出された全てのデータのコピーを記憶するフラッシュメモリシステム２０５をリードキャッシュとして用いることによってその２つの性質を利用しえる。フラッシュメモリシステム２０５は、リードキャッシュとしてアロケートされたその論理アドレス空間の領域を有するか、またはその機能のためだけに設けられたその論理アドレス空間を有するかのいずれでもよい。論理アドレス空間の特定された領域内のキャッシュされたデータを記憶する位置は、サイクリックバッファを定義するライトアドレスポインタをインクリメントすることによって決定されえ、または磁気ハードドライブ２１０内のデータの論理アドレスの決定関数でありえる。
【００４０】
代替として、マスストレージデバイス１５０Ｂにおいて、リングバッファ３００は、磁気ハードドライブ２１０から読み出された全てのデータのコピーを、ライトポインタによって定義される位置において記憶するのに用いられえる。したがって、最近読み出されたデータは、常にリングバッファ３００内に存在し、一方、古いデータは、その関連するメタブロックが消去ポインタによって特定されるとき消去される。
【００４１】
代替として、ディスクデバイスから読み出されるデータは、リードキャッシュへと選択的にコピーされえる。これは、データが読み出される頻度、読み出されるファイルの性質、または他のなんらかの基準に基づいてなされえる。
【００４２】
他の実施形態において、改良されたマスストレージデバイス１５０は、ライトキャッシュとして機能するそのフラッシュメモリシステム２０５と共に動作しえる。リードキャッシュについて前述のものと同様のサイクリックバッファが、ホストバス１５５から供給されるデータをハードドライブ２１０に書き込むのと並列して記憶するのに用いられえる。このようにして、入ってくるデータは、改良されたマスストレージデバイス１５０において記憶され、もし唯一のマスストレージデバイスが単一の磁気ハードドライブ２１０だったときに可能であろう場合よりも、システム１００がそのライト動作をより速く完了することを可能にする。データがホストシステムバス１５５上で送られることを停止するとき、まだ改良されたマスストレージデバイス１５０は、フラッシュメモリシステム２０５から磁気ハードドライブ２１０へデータの転送を完了しなければならないが、ＣＰＵ１４０は、データがその最終的な宛先に到達したように振る舞いえる。この転送は、典型的には、マスストレージデバイス１５０がそうでなければ使われていないときに起こる。しかし、もしフラッシュメモリシステム２０５が単一のサイクル中にリードおよびライトを行う機能を有するなら（例えば、デュアルポインタメモリ構造を用いる）、この転送は、フラッシュメモリシステム２０５へのライトのあいだに起こりえる。
【００４３】
システムパフォーマンスの全体的な向上は、フラッシュメモリシステム２０５の容量およびどの程度頻繁に改良されたマスストレージデバイス１５０がアクセスされるかの両方に依存する。マスストレージデバイスとして適さない小さな容量のフラッシュは、単にフラッシュキャッシュの等価物になり、システムパフォーマンスを大きくは改善しないだろう。しかし、図４Ａに示されるように、フラッシュが大きくなるに従い、システムパフォーマンスの効果はより大きくなる。フラッシュメモリシステム２０５が大きいほど、より多くのデータがアクティビティのバーストのあいだに記憶されえる。
【００４４】
同様に、図４Ｂは、改良されたマスストレージデバイス１５０がより多く利用されるに従い、システムパフォーマンスが低下することを示す。もしマスストレージデバイス１５０が常にアクセスされるなら、フラッシュメモリシステム２０５からハードドライブ２１０へデータを転送する充分な時間がないことになる。結果として、マスストレージデバイス１５０は、フラッシュメモリシステム２０５を用いるのを止めて、ハードドライブ２１０だけを用いなければならない。もしそうなると、システムパフォーマンスは、ハードドライブ２１０だけを用いるシステムと同じになってしまうだろう。
【００４５】
当業者には理解されるように、改良されたマスストレージデバイス１５０は、フラッシュメモリシステム２０５をバイパスしながら、データをハードドライブ２１０へ導くことを可能にするエラーハンドリングルーチンを持たなければならない。もしフラッシュメモリシステム２０５がフルになるなら、改良されたマスストレージデバイス１５０は、データが成功裡にハードドライブ２１０に転送されるまで、単純にはフラッシュメモリシステム２０５をオーバライトできない。同じエラーハンドリングルーチンは、フラッシュメモリシステム２０５が一時的に利用可能でない（例えば、フラッシュメモリシステム２０５がガーベジコレクションプロセスを処理している）場合にも利用されえる。
【００４６】
ライトキャッシュは、フラッシュメモリシステム２０５の論理アドレス空間の一部または論理アドレス空間全体のいずれかを占有して、リードキャッシュと独立して存在しえ、またはそれはリードキャッシュと共存しえる。
【００４７】
改良されたマスストレージデバイス１５０が動作しえる他のやり方は、ある状況においてフラッシュメモリシステム２０５だけを用いることによる。例えば、場合によっては、システムが、衝撃の影響をより受けやすいハードドライブ２１０が利用不可能である、携帯モードに入ることが望ましいかもしれない。利用不可能であることは、データが単にハードドライブ２１０に送られないことを意味するかもしれず、ハードドライブ２１０が電力を節約するためにシャットオフされていることを意味するかもしれず、またはハードドライブ２１０が物理的に改良されたマスストレージデバイス１５０から取り外されていることを意味するかもしれない。もし例えばハードドライブ２１０が携帯デバイスのためのドッキングステーションの一部であったなら、携帯デバイスをドッキングステーションから取り外すことは、ハードドライブ２１０を利用不可能にすることになろう。
【００４８】
いったんハードドライブ２１０が利用可能になれば、ストレージコントローラ２４５は２つのマスストレージデバイス２０５および２１０を互いにシンクロナイズさせる。携帯デバイスの場合、ハードドライブ２１０は、いったん携帯デバイスがそのドッキングステーションの元の位置に戻されると利用可能になる。他の場合、ハードドライブ２１０は、動き検出回路が、システムがもはや衝撃を受ける危険がなくなったと決定するために利用可能になるかもしれない。さらに他の場合、ユーザは、そのモードを手動で変えることによって、またはおそらくはシステムを電気のコンセントに差し込むことによって、システムがハードドライブ２１０を利用可能な状態に置くようにする。さらに他の状況においては、システムは、フラッシュメモリシステム２０５のスペースを空けるために、単にハードドライブ２１０を自分で再びアクティブにさせる。全ての場合において、フラッシュメモリシステム２０５は、一時バックアップとして機能しえるが、これはデータが新しいデータでオーバライトされるまでフラッシュメモリシステム２０５内に存在するからである。
【００４９】
リードキャッシング、ライトキャッシング、および排他的記憶は、同じデバイス中に組み込まれえる。それぞれの状況において、フラッシュメモリシステム２０５のための論理アドレス空間は、ハードドライブ２１０のための論理アドレス空間のサブセットである。換言すれば、データリクエストがホストバス１５５から来るとき、データリクエストは、単一の論理アドレスと関連付けられる。その論理アドレスと対応する最も新しいデータは、フラッシュメモリシステム２０５、ハードドライブ２１０、またはその両方に存在しえる。
【００５０】
ある実施形態において、ある動作の専用のフラッシュメモリシステムの一部は状況に応じて変更されえる。例えば、もしハードドライブ２１０が、排他的記憶モードのあいだに物理的に利用不可能であるなら、そのモードのあいだフラッシュメモリシステム２０５のいずれの部分もキャッシング動作に用いる必要はない。いったんドッキングされると、システムは、フラッシュメモリシステム２０５をキャッシュ目的（リード、ライトまたはその両方）で用いるように復帰しえる。
【００５１】
本発明は、現在、考えられるベストモードにおいて記載されてきたが、多くの改変、動作のモードおよび実施形態が可能であること明らかであり、これらは当業者の能力および技術の範囲内で、さらなる発明的活動なしに実施可能である。例えば、もしフラッシュメモリシステム中に永続的に記憶されるために、ある種のプログラムがよりよく適するなら、対応する論理アドレスは、それらプログラムのためにハードドライブ中には記憶されなくてもよいだろう。さらに、他のマスストレージデバイスは、フラッシュまたはハードドライブ以外の技術を用いえ、バッテリーバックアップされたＲＡＭ、光学ディスク、オボニックユニファイドメモリ（ＯＵＭ）、磁気ＲＡＭ（ＭＲＡＭ）、強誘電ポリマー、強誘電ＲＡＭ（ＦｅＲＡＭ）、シリコン・オン・インシュレータ（ＳｏＩ）などを含みえる。したがって、特許証によって保護されるべきであると意図されるものは、特許請求の範囲に記載され、特許請求の範囲の精神および範囲内に入る全ての改変物および変更物を含む。
【図１Ａ】
2011222030.tif 000003
【図１Ｂ】
2011222030.tif 000004
【図２Ａ】
2011222030.tif 000005
【図２Ｂ】
2011222030.tif 000006
【図３】
2011222030.tif 000007
【図４Ａ】
2011222030.tif 000008
【図４Ｂ】
2011222030.tif 000009