説明

デュアルメディアストレージデバイス

【課題】データストレージデバイスを提供する。
【解決手段】第1不揮発性マスストレージデバイスは、利用可能な状態および利用不可能な状態に置かれえる。第1マスストレージデバイスがその利用不可能な状態にあるとき、ストレージコントローラは、第2マスストレージデバイスだけにアクセスする。利用不可能な状態は、そのデバイスが物理的に利用不可能である(例えば取り外されている)か、または単にストレージコントローラが、利用可能な状態にそれが戻るまで、それにアクセスしないかを意味する。第1マスストレージデバイスが利用可能な状態にあるとき、ストレージコントローラは、第1マスストレージデバイスまたは第2マスストレージデバイスのいずれかにアクセスするよう動作可能である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にデータストレージデバイスに関し、より具体的にはデュアルメディアストレージデバイスに関する。
【背景技術】
【0002】
汎用コンピュータは、マスストレージシステムを必要とする。データの直接操作のために用いられるメインメモリとは違い、マスストレージはデータを保持するために用いられる。一般に、プログラムはマスストレージに記憶され、プログラムが実行されるときに、プログラム全体またはプログラムの一部がメインメモリにコピーされる。システムがプログラムおよびそれに関連するデータの位置を特定し、マスストレージデバイスからメインメモリに転送するスピードは、システムの全体的なスピードに不可欠である。
【0003】
通常のマスストレージデバイスには、フロッピーディスク(登録商標)、ハードディスク、光学ディスクおよびテープがある。それぞれのデバイスには、長所および短所の両方があり、これらは容量、価格、スピードおよび携帯性に関しえる。
【0004】
加えて、フラッシュメモリのような他のデバイスは、不揮発性記憶を提供しえる。フラッシュメモリは、電気的に消去可能なプログラム可能な読み出し専用メモリ(EEPROM)の一種である。フラッシュメモリは典型的には揮発性メインメモリほど速くはないが、ハードディスクよりは速い。
【0005】
本発明者は、それぞれのデバイスの長所を最大にし、それぞれのデバイスの短所を最小にするために、別個のデバイスを単一のマスストレージシステムに統合するコンセプトを以前に吟味した。例えば、本発明者は、1997年12月31日に公開されたPCT出願「Memory Device」WO97/50035の発明者としても挙げられており、この出願は
全ての目的のためにここで参照によって援用される。このPCT出願は、ハードディスクのような比較的、低速なアクセスのマスデータストレージデバイス、およびフラッシュメモリのような比較的、高速なアクセスのデータストレージデバイスの両方を含むメモリシステムを記載していた。同様のコンセプトは、2000年1月18日にDaniel AuclairおよびEliyahou Harariに発行された米国特許「Mass Computer Storage System Having Both Solid State and Rotating Disk Types of Memory」、米国特許第6,016,530号において吟味されており、この特許はその全体が全ての目的のためにここで参照によって援用される。
【0006】
不揮発性フラッシュメモリデバイスを不揮発性ハードディスクと組み合わせることによって、結果として生じるマスストレージシステムは、その部分の和よりも大きくなりえる。しかし、そのようなメモリシステムは、それぞれのデータセクタのうちの1つのバージョンだけが維持されるシチュエーションに特に限定されていた。このデータセクタは、高速メモリまたは低速アクセスのマスデータストレージデバイスのうちのいずれかにおいて記憶され、論理アドレス空間を高速メモリおよび低速アクセスマスストレージデバイスの容量の和に等しくしていた。
【0007】
1つ以上の集積回路チップ上に形成されたフラッシュセルのアレイを採用する、現在用いられている多くの商業的に成功した不揮発性メモリ製品が存在する。ふつう(必ずしもそうではないが)別個の集積回路チップ上にあるメモリコントローラはメモリアレイの動作を制御する。そのようなコントローラとしては典型的には、マイクロプロセッサ、ある種の不揮発性読み出し専用メモリ(ROM)、揮発性ランダムアクセスメモリ(RAM)およびプログラミングおよび読み出し操作のあいだにデータがコントローラを通るときにデータから誤り訂正符号(ECC)を計算するもののような、1つ以上の特別の回路がある。
【0008】
典型的なフラッシュアレイのメモリセルは、共に消去されるセル群の別個のブロック群に分割される。すなわち、消去ブロックは、同時に消去可能な最小限の個数のセルの消去単位である。それぞれの消去ブロックは典型的には、データの1つ以上のページを記憶し、このページは、異なるサブアレイまたはプレーンでパラレルにプログラムされまたはリードされる。それぞれのプレーンは、典型的にはデータの1つ以上のセクタを記憶し、このセクタのサイズは、ホストシステムによって定義される。セクタの例は、磁気ディスクドライブについて設定された標準に従って、ユーザデータとして512バイトを含む。このようなメモリは典型的には、それぞれの消去ブロック内で16、32またはそれより多いページで構成され、それぞれのページは1つまたはいくつかのホストセクタデータを記憶する。
【0009】
プログラミングおよびリード動作のあいだの並列性の度合いを増すために、アレイは、ふつうプレーンと呼ばれるサブアレイに典型的には分割される。それぞれのプレーンは、並列動作を可能にするためにそれ自身のデータレジスタおよび他の回路を含み、それによってデータのセクタは、同時に全てのプレーンにプログラムされ、またはそれらからリードされえる。単一の集積回路上のアレイは、物理的にプレーンに分割されえ、またはそれぞれのプレーンは、別個の1つ以上の集積回路チップから形成されえる。そのようなメモリ実現例の例は、1998年8月25日にLeeらに発行された「Plane decode/virtual sector architecture」米国特許第5,798,968号、および1999年3月30日にLeeらに発行された「Concurrent write of multiple chunks of data into multiple subarrays offlash EEPROM」米国特許第5,890,192号に記載され、これらはその全体が全ての目的のためにここで参照によって援用される。
【0010】
さらに効率的にメモリを管理するために、消去ブロックは、共にリンクされて、仮想ブロックまたはメタブロックを形成しえる。すなわち、それぞれのメタブロックは、それぞれのプレーンから1つの消去ブロックを含むように定義づけられる。メタブロックの使用は、2002年7月25日の公開番号WO02/058074の国際特許出願「Partial Block Data Programming And Reading Operations In A Non-Volatile Memory」に記載され、その全体が全ての目的のためにここで参照によって援用される。このメタブロックは、データをプログラミングおよびリードするために、ホスト論理ブロックアドレスによって宛先(destination)として特定される。同様に、メタブロックの全ての消去ブロックは共に消去される。そのような大きなブロックおよび/またはメタブロックによって動作されるメモリシステム中のコントローラは、ホストから受け取られた論理ブロックアドレス(LBA)、およびメモリセルアレイ内の物理ブロックナンバ(PBN)の間の変換を含む多くの機能を実行する。ブロック内の個別のページは、典型的にはブロックアドレス内のオフセットによって特定される。
【0011】
このタイプのフラッシュメモリシステムは、携帯アプリケーションにおけるマスストレージデバイスとしてふつう用いられる。フラッシュメモリデバイスは、論理インタフェースを介してATAのようなプロトコルを用いてホストシステムと通信し、しばしばリムーバブルカードの形態をとる。商業的に入手可能なカードのいくつかは、コンパクトフラッシュTM(CF)カード(登録商標)、マルチメディアカード(MMC)、セキュアディジタル(SD)カード、スマートメディアカード、パーソネルタグ(P−Tag)およびメモリスティックカードである。ホストは、パーソナルコンピュータ、ノートブックコンピュータ、携帯情報端末(PDA)、さまざまなデータ通信システム、および同様のタイプの装置を含む。メモリカード実現例の他に、このタイプのメモリは、代替として、さまざまなタイプのホストシステム内に組み込まれえる。
【0012】
過去には、フラッシュメモリは、さまざまなデータキャッシング機能のために、コンピュータのBIOSの記憶のために、またはマスストレージデバイスの拡張として(上述のPCT出願にあるように)用いられてきた。それは、ライトまたはリードデータをキャッシングするためにハードディスクデバイス内で用いられてきた。例えば、その全体が全ての目的のためにここで参照によって援用される1996年12月17日付けLaskerらへの「Disk controller with volatile and non-volatile cache memories」米国特許第5,586,291号は、リードキャッシュとして機能する揮発性メモリ中にミラー化されたデータを持つ、ハードディスクのためのライトキャッシュとしての不揮発性メモリの使用を記載する。1997年6月3日付けRamakrishnanらへの「Disk cache management techniques using non-volatile storage」米国特許第5,636,355号、および1996年7月30日付けMattsonらへの「Destaging modified data blocks from cache memory」米国特許第5,542,066号は、その全体が全ての目的のためにここで参照によって援用され、これらもハードディスクのためのライトキャッシュとしての不揮発性メモリの使用、およびデータをキャッシュからハードディスクへ移動させるためのパージングおよびデステージングアルゴリズムを記載する。ディスクキャッシュとしての不揮発性メモリの既知の応用例においては、ハードドライブにおける論理アドレスによって特定されたデータは一時的に不揮発性メモリ中の物理位置にマッピングされる。
【発明の概要】
【発明が解決しようとする課題】
【0013】
マスストレージデバイスを改良する継続された努力がなされている。
【課題を解決するための手段】
【0014】
本発明は、2つの不揮発性マスストレージデバイスおよびストレージコントローラを含みえるデータストレージシステムを提供する。第2不揮発性マスストレージデバイスは、第1不揮発性マスストレージデバイスよりもより高速なアクセスタイムおよびより小さい容量を有する。2つの不揮発性マスストレージデバイスは、重複するアドレス範囲を有する。換言すれば、データの一部は、両方のマスストレージデバイス上で利用可能でありえる。
【0015】
ある局面において、第1不揮発性マスストレージデバイスは、利用可能な状態および利用不可能な状態に置かれえる。第1マスストレージデバイスがその利用不可能な状態にあるとき、ストレージコントローラは、第2マスストレージデバイスだけにアクセスする。利用不可能な状態は、そのデバイスが物理的に利用不可能である(例えば取り外されている)か、または単にストレージコントローラが、利用可能な状態にそれが戻るまで、それにアクセスしないかを意味する。第1マスストレージデバイスが利用可能な状態にあるとき、ストレージコントローラは、第1マスストレージデバイスまたは第2マスストレージデバイスのいずれかにアクセスするよう動作可能である。
【0016】
他の局面において、ストレージコントローラは、入ってくるデータを第1不揮発性マスストレージデバイスまたは第2不揮発性マスストレージデバイスのいずれかに導く。もしデータが第2マスストレージデバイスに導かれるなら、そのデータは後に第2マスストレージデバイスから第1マスストレージデバイスにコピーされる。どの不揮発性マスストレージデバイスに入ってくるデータが導かれるかの前記ストレージコントローラの選択は、前記第1不揮発性マスストレージデバイスへコピーされていない前記第2不揮発性マスストレージデバイス中のデータ量に少なくとも部分的には依存する。
【0017】
他の局面において、ストレージコントローラは、前記第2不揮発性マスストレージデバイス中に記憶されるデータによって、またはもしリクエストされたデータが前記第2不揮発性マスストレージデバイス中に存在しないなら、前記第1不揮発性マスストレージデバイス中に記憶されるデータによって、外部データリクエストを満足させる。
【0018】
本発明の他の局面および優位性は、添付の図面と併せて以下の詳細な説明から明らかになろう。図面は例示的に本発明の原理を示す。
【図面の簡単な説明】
【0019】
【図1A】本発明を利用できる例示的汎用コンピュータシステムを示す図である。
【図1B】図1Aの汎用コンピュータシステムの要約された表現を示す図である。
【図2A】本発明の例示的実施形態による改良されたマスストレージデバイスを示す図である。
【図2B】本発明の他の例示的実施形態による改良されたマスストレージデバイスを示す図である。
【図3】リングバッファの定型化された表現を示す図である。
【図4A】フラッシュ容量が増すときのシステムパフォーマンスの効果を示す図である。
【図4B】改良されたマスストレージデバイスの利用が減るときのシステムパフォーマンスの効果を示す図である。
【発明を実施するための形態】
【0020】
本発明は、添付の図面と併せて以下の詳細な説明によって容易に理解されよう。
図面において同様の参照番号は同様の構成要素を示すことが理解されよう。また図中の描写は必ずしも正しい縮尺ではないことが理解されよう。
【0021】
以下の記載において、本発明の完全な理解を提供するために多くの具体的な詳細が述べられる。しかし、本発明はこれら特定の詳細の一部または全てがなくても実施されえることが当業者には明らかだろう。あるいは、よく知られたプロセスステップは、本発明を不必要にぼかさないために詳細には記載されていない。
【0022】
本発明は、それぞれ長所および短所を有する2つの別個のマスストレージデバイスを組み合わせることによって、補助メモリともふつう呼ばれる、従来のマスストレージデバイスを一般に改良する。例えばフラッシュマスストレージデバイス(「フラッシュメモリシステム」)がハードドライブと比較されるとき、フラッシュメモリシステムは、より衝撃に強く、可動部品なしに動作できるためにより携帯アプリケーションに望ましい。フラッシュメモリシステムは、ハードドライブより高速なアクセスタイムを有するが、一般にはそれは同じ値段のハードドライブの記憶容量を有しない。加えて、フラッシュメモリシステムは、フラッシュメモリシステムをある期間、アクセス不能にする、周期的なガーベジコレクション動作を典型的には要求する。本発明の改良されたマスストレージデバイスは、ある状況についてどのデバイスがより適するかに依存して、フラッシュメモリシステムまたはハードドライブのいずれかを用いる。当業者には理解されるように、一方が他方よりも、より高速なアクセスタイムを有し、より小さい容量を有する限り、任意の2つの不揮発性マスストレージデバイスが本発明においては用いられえる。
【0023】
いくつかの異なる優位性が、改良されたマスストレージデバイスで得られうる。ある実施形態において、改良されたマスストレージデバイスは、高速なシステムブートおよび高速なアプリケーションスタートアップを提供しえる。オペレーティングシステムおよびコンフィギュレーションファイルのような、そのブートプロセスのあいだにホストシステムによって要求される情報は、フラッシュメモリシステム内に記憶されえ、オプションとして2つ目のコピーがハードドライブ内に記憶される。このようなシステムにおいては、フラッシュメモリシステムは、不揮発性リードキャッシュとして用いられえ、その高速ランダムリードアクセス特性のためにより高速なシステムスタートアップが可能になる。この情報は、頻繁にリードされる情報として初期的に特定されえ、その初期アクセスのあいだにハードドライブからフラッシュメモリシステムへコピーされえる。このような情報は、マスストレージデバイス中のフラッシュメモリシステムを用いる他のアプリケーションによってオーバライトされることを防ぐためにプロテクトされえる。アプリケーションソフトウェアファイルは、アプリケーションの高速スタートアップを提供するために同じように取り扱われえる。
【0024】
他の実施形態において、改良されたマスストレージデバイスは、低電力ストレージデバイスとして働きえる。この改良されたマスストレージデバイスは、フラッシュメモリシステムにおいて最近にアクセスされた情報のコピーを、最近に書き込まれた情報のコピーと共に保持することによって、フラッシュメモリシステムをリード/ライトキャッシュとして用いえる。このデバイスは、携帯アプリケーションにおける電力を低減し、フラッシュメモリの低電力特性を利用するために、それから磁気ハードディスクをスピンダウンでき、一方、フラッシュメモリ中のキャッシュヒットによって要求された情報についての高速レスポンスの高い確率を維持できる。
【0025】
同様に、改良されたマスストレージデバイスは、ショック耐性のストレージデバイスであることの優位性をも提供しえる。高い機械的衝撃のリスクがある状況において磁気ハードディスクをスピンダウンすることは、半導体メモリの高衝撃耐性の優位性を与え、一方で、フラッシュメモリシステム中に記憶された情報で動作可能性を保持する。
【0026】
改良されたマスストレージデバイスのさらに他の潜在的優位性は、短期バックアップを持つ高度に信頼性の高い記憶デバイスを提供するその能力である。もしフラッシュメモリシステムが最近に書き込まれた情報をライトキャッシュとしてのフラッシュメモリシステム中に保持するなら、この情報は、それがハードドライブに転送された後でもフラッシュメモリシステムに保持される。もし情報ができるだけ長く保持され、かつスペースが必要なときだけオーバライトされるなら、ライトキャッシュは、最近に書き込まれた情報の第2コピーによるセキュリティを提供する。したがって改良されたマスストレージデバイスは、ディスククラッシュのような機械的故障による、まだバックアップがとられていない最近に書き込まれた情報のロスに対して保護するために、半導体メモリの高衝撃耐性を利用する高信頼性ストレージデバイスを生みえる。
【0027】
図1Aは、本発明を利用しえる例示的汎用コンピュータシステム100を示す。要素は、コンピュータ105、マウス110およびキーボード115のようなさまざまな入力デバイス、およびモニタ120およびプリンタ125のようなさまざまな出力デバイスを含む。
【0028】
図1Bは、その本質的な要素を示す図1Aのコンピュータシステム100の要約された表現を示す。単一の要素130は、マウスおよびキーボードのようなユーザがコンピュータシステム100と相互対話することを可能にする入力デバイスを示す。同様に、単一の要素135は、モニタおよびプリンタのようなコンピュータシステム100が達成したことを表示する出力デバイスを示す。コンピュータシステム100の中心は、中央処理ユニット(CPU)140であり、命令を実行する要素である。メインメモリ145は、典型的には揮発性であり、CPU140に実行されるべき命令およびその命令によって操作されるべきデータを提供する。これらの要素130、135、140、および145はこの技術分野ではよく知られている。
【0029】
改良されたマスストレージデバイス150は、コンピュータ100が持続的に大量のデータを保持することを可能にする。要素130、135、140、145、および150は、互いにホストバス155を介して情報を交換できる。
【0030】
図2Aは、本発明の例示的実施形態による改良されたマスストレージデバイス150Aを示す。2つのマスストレージデバイス、フラッシュメモリシステム205およびハードドライブ210は、並列に接続される。フラッシュメモリシステム205は、フラッシュメモリアレイ215およびフラッシュコントローラ220を含む。ハードドライブ210は、磁気ハードディスク225およびディスクコントローラ230を含む。それぞれのコントローラ220および230は、それぞれのメモリタイプについて特定の動作を管理する。例えば、フラッシュコントローラ220は、全てのデータセクタの論理・物理マッピングおよび全てのフラッシュメモリ管理を制御し、それによりフラッシュコントローラ220およびフラッシュメモリアレイ215の間のインタフェース250が物理的なインタフェースになるようにする。ディスクコントローラ230は、リードおよびライトのための磁気ハードディスク225の動作を管理する。コントローラ220および230の両方は、論理インタフェース260および265を介してルータ235に接続する。
【0031】
他の実施形態において、コントローラ220および230の機能は、統合化されたコントローラデバイスにおいて、ルータ235と共にマージされる。このデバイスは、記憶コントローラ245およびホストインタフェース240も含みえる。しかし、このようなコンフィギュレーションは、新しいコントローラユニットの製造を必要とする。したがって、コントローラ220および230のうちのいずれかまたは両方は、単にメモリデバイス中には含まれない。このようなコンフィギュレーションは新しい制御回路が開発されることを必要とするが、要求される全要素の数も減らしえる。
【0032】
図2Aにおいて、ホストインタフェース240およびストレージコントローラ245は、両方ともルータ235の上流に配置され、ルータは、データおよび制御情報が、ホストインタフェース240と、ディスクコントローラ230またはフラッシュコントローラ220のいずれかとの間でいずれかの方向へ渡されることを可能にする。加えて、ルータ235は、ディスクコントローラ230およびフラッシュコントローラ220の間でいずれかの方向へデータの転送を制御しえる。このような転送は、スタンドアローン動作としてなされえる。代替として、このような転送は、ホストインタフェース240およびマスストレージコントローラ220または230のうちの1つの間でいずれかの方向へのデータ転送と共になされえる。ルータ235は、このようなデータ転送についての制御論理を組み込みえる。
【0033】
ホストインタフェース240は、ホストバス155への直接インタフェースを提供し、ホストバス155上で用いられる特定のプロトコルについての全てのサポートを提供しえる。ホストインタフェース240、ディスクコントローラ230および磁気ハードディスク225によって形成されるサブシステムは、ホストインタフェース240、フラッシュコントローラ220およびフラッシュメモリアレイ215によって形成されるサブシステムと共に、それぞれ完全なマスデータストレージシステムを形成する。ルータ235は、ホストインタフェース240から変更を加えることなくデータおよび制御信号を通しえ、またはコントローラ220および230と通信するための代替のプロトコルを確立しえる。ルータ235およびマスストレージコントローラ220または230間のインタフェース260および265は、ATAのような標準的プロトコルでありえ、または改良されたマスストレージデバイス150のために定義された特別なインタフェースでありえる。インタフェース260および265は典型的には、フラッシュメモリシステム205およびハードドライブ210中のデータの個別のセクタにランダムリードおよびライトアクセスを提供する論理インタフェースであり、それぞれの記憶メディアの物理的特性に依存しない。
【0034】
加えて、フラッシュコントローラ220は、フラッシュメモリアレイ215の予約された領域への直接アクセスを行うために、インタフェース260上で特別のコマンドまたは操作をサポートしえ、これはストレージコントローラ245によって用いられるテーブルおよび情報ログの記憶のために用いられえる。代替として、ストレージコントローラ245は、そのようなテーブルおよびログのためのそれ自身の不揮発性メモリを有してもよい。
【0035】
ストレージコントローラ245は、ホストインタフェース240およびマスストレージコントローラ220および230の間の情報の転送を指令するインテリジェントコントロールユニットである。ストレージコントローラ245は、フラッシュメモリシステム205またはハードドライブ210へのデータの記憶またはそれからのデータのリードを調整する。ストレージコントローラ245は、フラッシュメモリアレイ215中に記憶された情報、実施形態によっては磁気ハードディスク225中に記憶された情報のためのアドレステーブルを保持する。
【0036】
揮発性メモリは、ホストインタフェース240、ルータ235、フラッシュコントローラ220またはディスクコントローラ230を含む改良されたマスストレージデバイス150の要素の多くにおいてバッファまたはキャッシュメモリとして機能する。単一の揮発性メモリがさまざまな要素において動作するようスケジューリングされてもよく、または別個の揮発性メモリ群がそれぞれの要素の専用として機能してもよい。
【0037】
図2Bは、改良されたマスストレージデバイスの代替の実施形態150Bである。論理インタフェース260はなくされ、フラッシュメモリアレイ280へ直接の物理インタフェース275によって置き換えられている。フラッシュメモリアレイ280の直接制御は、統合化されたコントローラ285によって実現され、このコントローラは、ストレージコントローラ245およびルータ235の両方の機能を実行しえる。この実施形態において、フラッシュコントローラ220の機能は必要とされず、フラッシュメモリアレイ280は、論理データ記憶デバイスの一部を形成しないが、物理記憶として直接に用いられる。これはデータのストリームの一時記憶には特に適する。
【0038】
図3は、リングバッファ300の形態の、フラッシュメモリアレイ280中のデータのストリームにおけるセクタの記憶を整理する一方法を示す。データのセクタを書き込む現在の位置は、ライトポインタ305によって定義され、これは無限サイクルとしてアドレス空間を通して図3の時計回りに移動する。アドレス空間は、メタブロック(例えば310および315)によって定義され、これらは、所定の順序で、またはライトポインタ305が完全なメタブロックから新しい消去されたメタブロックへ移動するときに動的に決定される順序で、リンクされる(例えば320)。消去ポインタ325は、無限サイクルとしてアドレス空間を通して同様に図3で時計回りに移動する。消去ポインタ325によって特定されたメタブロックは、新しいデータセクタの記憶のために、ライトポインタ305の前に少数の消去されたメタブロックのプールが維持されるような速度で消去されていく。消去されるブロックは、リングバッファ300中では最も古く書き込まれたデータを含む。
【0039】
改良されたマスストレージデバイス150は、磁気ハードドライブ210から読み出された全てのデータのコピーを記憶するフラッシュメモリシステム205をリードキャッシュとして用いることによってその2つの性質を利用しえる。フラッシュメモリシステム205は、リードキャッシュとしてアロケートされたその論理アドレス空間の領域を有するか、またはその機能のためだけに設けられたその論理アドレス空間を有するかのいずれでもよい。論理アドレス空間の特定された領域内のキャッシュされたデータを記憶する位置は、サイクリックバッファを定義するライトアドレスポインタをインクリメントすることによって決定されえ、または磁気ハードドライブ210内のデータの論理アドレスの決定関数でありえる。
【0040】
代替として、マスストレージデバイス150Bにおいて、リングバッファ300は、磁気ハードドライブ210から読み出された全てのデータのコピーを、ライトポインタによって定義される位置において記憶するのに用いられえる。したがって、最近読み出されたデータは、常にリングバッファ300内に存在し、一方、古いデータは、その関連するメタブロックが消去ポインタによって特定されるとき消去される。
【0041】
代替として、ディスクデバイスから読み出されるデータは、リードキャッシュへと選択的にコピーされえる。これは、データが読み出される頻度、読み出されるファイルの性質、または他のなんらかの基準に基づいてなされえる。
【0042】
他の実施形態において、改良されたマスストレージデバイス150は、ライトキャッシュとして機能するそのフラッシュメモリシステム205と共に動作しえる。リードキャッシュについて前述のものと同様のサイクリックバッファが、ホストバス155から供給されるデータをハードドライブ210に書き込むのと並列して記憶するのに用いられえる。このようにして、入ってくるデータは、改良されたマスストレージデバイス150において記憶され、もし唯一のマスストレージデバイスが単一の磁気ハードドライブ210だったときに可能であろう場合よりも、システム100がそのライト動作をより速く完了することを可能にする。データがホストシステムバス155上で送られることを停止するとき、まだ改良されたマスストレージデバイス150は、フラッシュメモリシステム205から磁気ハードドライブ210へデータの転送を完了しなければならないが、CPU140は、データがその最終的な宛先に到達したように振る舞いえる。この転送は、典型的には、マスストレージデバイス150がそうでなければ使われていないときに起こる。しかし、もしフラッシュメモリシステム205が単一のサイクル中にリードおよびライトを行う機能を有するなら(例えば、デュアルポインタメモリ構造を用いる)、この転送は、フラッシュメモリシステム205へのライトのあいだに起こりえる。
【0043】
システムパフォーマンスの全体的な向上は、フラッシュメモリシステム205の容量およびどの程度頻繁に改良されたマスストレージデバイス150がアクセスされるかの両方に依存する。マスストレージデバイスとして適さない小さな容量のフラッシュは、単にフラッシュキャッシュの等価物になり、システムパフォーマンスを大きくは改善しないだろう。しかし、図4Aに示されるように、フラッシュが大きくなるに従い、システムパフォーマンスの効果はより大きくなる。フラッシュメモリシステム205が大きいほど、より多くのデータがアクティビティのバーストのあいだに記憶されえる。
【0044】
同様に、図4Bは、改良されたマスストレージデバイス150がより多く利用されるに従い、システムパフォーマンスが低下することを示す。もしマスストレージデバイス150が常にアクセスされるなら、フラッシュメモリシステム205からハードドライブ210へデータを転送する充分な時間がないことになる。結果として、マスストレージデバイス150は、フラッシュメモリシステム205を用いるのを止めて、ハードドライブ210だけを用いなければならない。もしそうなると、システムパフォーマンスは、ハードドライブ210だけを用いるシステムと同じになってしまうだろう。
【0045】
当業者には理解されるように、改良されたマスストレージデバイス150は、フラッシュメモリシステム205をバイパスしながら、データをハードドライブ210へ導くことを可能にするエラーハンドリングルーチンを持たなければならない。もしフラッシュメモリシステム205がフルになるなら、改良されたマスストレージデバイス150は、データが成功裡にハードドライブ210に転送されるまで、単純にはフラッシュメモリシステム205をオーバライトできない。同じエラーハンドリングルーチンは、フラッシュメモリシステム205が一時的に利用可能でない(例えば、フラッシュメモリシステム205がガーベジコレクションプロセスを処理している)場合にも利用されえる。
【0046】
ライトキャッシュは、フラッシュメモリシステム205の論理アドレス空間の一部または論理アドレス空間全体のいずれかを占有して、リードキャッシュと独立して存在しえ、またはそれはリードキャッシュと共存しえる。
【0047】
改良されたマスストレージデバイス150が動作しえる他のやり方は、ある状況においてフラッシュメモリシステム205だけを用いることによる。例えば、場合によっては、システムが、衝撃の影響をより受けやすいハードドライブ210が利用不可能である、携帯モードに入ることが望ましいかもしれない。利用不可能であることは、データが単にハードドライブ210に送られないことを意味するかもしれず、ハードドライブ210が電力を節約するためにシャットオフされていることを意味するかもしれず、またはハードドライブ210が物理的に改良されたマスストレージデバイス150から取り外されていることを意味するかもしれない。もし例えばハードドライブ210が携帯デバイスのためのドッキングステーションの一部であったなら、携帯デバイスをドッキングステーションから取り外すことは、ハードドライブ210を利用不可能にすることになろう。
【0048】
いったんハードドライブ210が利用可能になれば、ストレージコントローラ245は2つのマスストレージデバイス205および210を互いにシンクロナイズさせる。携帯デバイスの場合、ハードドライブ210は、いったん携帯デバイスがそのドッキングステーションの元の位置に戻されると利用可能になる。他の場合、ハードドライブ210は、動き検出回路が、システムがもはや衝撃を受ける危険がなくなったと決定するために利用可能になるかもしれない。さらに他の場合、ユーザは、そのモードを手動で変えることによって、またはおそらくはシステムを電気のコンセントに差し込むことによって、システムがハードドライブ210を利用可能な状態に置くようにする。さらに他の状況においては、システムは、フラッシュメモリシステム205のスペースを空けるために、単にハードドライブ210を自分で再びアクティブにさせる。全ての場合において、フラッシュメモリシステム205は、一時バックアップとして機能しえるが、これはデータが新しいデータでオーバライトされるまでフラッシュメモリシステム205内に存在するからである。
【0049】
リードキャッシング、ライトキャッシング、および排他的記憶は、同じデバイス中に組み込まれえる。それぞれの状況において、フラッシュメモリシステム205のための論理アドレス空間は、ハードドライブ210のための論理アドレス空間のサブセットである。換言すれば、データリクエストがホストバス155から来るとき、データリクエストは、単一の論理アドレスと関連付けられる。その論理アドレスと対応する最も新しいデータは、フラッシュメモリシステム205、ハードドライブ210、またはその両方に存在しえる。
【0050】
ある実施形態において、ある動作の専用のフラッシュメモリシステムの一部は状況に応じて変更されえる。例えば、もしハードドライブ210が、排他的記憶モードのあいだに物理的に利用不可能であるなら、そのモードのあいだフラッシュメモリシステム205のいずれの部分もキャッシング動作に用いる必要はない。いったんドッキングされると、システムは、フラッシュメモリシステム205をキャッシュ目的(リード、ライトまたはその両方)で用いるように復帰しえる。
【0051】
本発明は、現在、考えられるベストモードにおいて記載されてきたが、多くの改変、動作のモードおよび実施形態が可能であること明らかであり、これらは当業者の能力および技術の範囲内で、さらなる発明的活動なしに実施可能である。例えば、もしフラッシュメモリシステム中に永続的に記憶されるために、ある種のプログラムがよりよく適するなら、対応する論理アドレスは、それらプログラムのためにハードドライブ中には記憶されなくてもよいだろう。さらに、他のマスストレージデバイスは、フラッシュまたはハードドライブ以外の技術を用いえ、バッテリーバックアップされたRAM、光学ディスク、オボニックユニファイドメモリ(OUM)、磁気RAM(MRAM)、強誘電ポリマー、強誘電RAM(FeRAM)、シリコン・オン・インシュレータ(SoI)などを含みえる。したがって、特許証によって保護されるべきであると意図されるものは、特許請求の範囲に記載され、特許請求の範囲の精神および範囲内に入る全ての改変物および変更物を含む。

【特許請求の範囲】
【請求項1】
データストレージシステムであって、
利用可能な状態および利用不可能な状態に置かれえ、第1範囲の論理アドレスを有する第1不揮発性マスストレージデバイス、
前記第1不揮発性マスストレージデバイスよりもより高速なアクセスタイムおよびより低い容量を有し、第2範囲の論理アドレスを有する第2不揮発性マスストレージデバイス、および
前記第1不揮発性マスストレージデバイスが前記利用不可能な状態であるときに、前記第2不揮発性マスストレージデバイス内でデータにアクセスでき、前記第1不揮発性マスストレージデバイスが前記利用可能な状態にあるときに前記第1および第2不揮発性マスストレージデバイスの両方の中でデータにアクセスするよう動作可能であるストレージコントローラ
を備え、
前記第1不揮発性マスストレージデバイスと、前記第2不揮発性マスストレージデバイスとに、ホストから供給されたデータを並行して書き込む、データストレージシステム。
【請求項2】
前記第1不揮発性マスストレージデバイスは、前記データの全てが前記第2不揮発性マスストレージデバイスに記憶される前に、前記データを記憶し、前記データストレージシステムは、前記データの全てが前記第2不揮発性マスストレージデバイスに記憶される前に、前記データに従って動作し始める、請求項1に記載のデータストレージシステム。

【図1A】
image rotate

【図1B】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate


【公開番号】特開2011−222030(P2011−222030A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2011−111160(P2011−111160)
【出願日】平成23年5月18日(2011.5.18)
【分割の表示】特願2006−552115(P2006−552115)の分割
【原出願日】平成16年12月28日(2004.12.28)
【出願人】(592012513)サンディスク コーポレイション (173)
【氏名又は名称原語表記】SanDisk Corporation
【Fターム(参考)】