(57)【要約】      （修正有）【課題】コントローラによる記憶デバイスのメモリアレイの管理を提供する。【解決手段】コントローラ１４は、ホストと通信し、ホストとコントローラとの間でホストデータを転送するように構成され、第１のメモリ２２および第２のメモリ２４に結合される。第１のメモリおよび第２のメモリは、異なるタイプのものである。コントローラ１４と、大容量記憶デバイス１０の能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体１８は、第１のメモリおよび第２のメモリの少なくとも一部に及んでいる混成予約領域３６を有する。決定的データは、第２のメモリ２４の混成予約領域３６ｂに記憶される。さらに、コントローラは、混成予約領域を管理するように動作可能である一方、混成ＬＵＮは、ホストによって管理されている。【選択図】図１
2015026379.tif 000002
【特許請求の範囲】
【請求項１】
大容量記憶デバイスであって、該大容量記憶デバイスは、
コントローラであって、該コントローラは、ホストと通信し、該ホストと該コントローラとの間でホストデータを転送するように構成され、該コントローラは、第１のメモリおよび第２のメモリに結合され、該第１のメモリおよび該第２のメモリは、異なるタイプのものである、コントローラと、
該大容量記憶デバイスの能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体であって、該記憶媒体は、該第１のメモリおよび該第２のメモリの少なくとも一部に及んでいる混成予約領域を有する、記憶媒体と
を含み、決定的データは、該第２のメモリの該混成予約領域に記憶され、さらに、該コントローラは、該混成予約領域を管理するように動作可能である一方、混成ＬＵＮは、該ホストによって管理されている、大容量記憶デバイス。
【請求項２】
少なくとも１つのＬＵＮは、その利用に従って、特定のタイプの媒体、または、異なるタイプの媒体の集団にマッピングされる、請求項１に記載の大容量記憶デバイス。
【請求項３】
前記決定的データは、テーブルである、請求項１に記載の大容量記憶デバイス。
【請求項４】
前記決定的データは、システムデータである、請求項１に記載の大容量記憶デバイス。
【請求項５】
前記決定的データは、メタデータである、請求項１に記載の大容量記憶デバイス。
【請求項６】
前記コントローラは、単一のインターフェースを通して前記記憶媒体に結合されている、請求項１に記載の大容量記憶デバイス。
【請求項７】
前記第１のメモリは、ＮＡＮＤメモリであり、前記単一のインターフェースは、ＮＡＮＤフラッシュインターフェース回路である、請求項６に記載の大容量記憶デバイス。
【請求項８】
前記第１のメモリおよび前記第２のメモリの少なくとも一部に及んでいる混成ユーザ領域をさらに含み、該混成ユーザ領域は、ユーザ領域部分およびユーザ領域部分から作られている、請求項１に記載の大容量記憶デバイス。
【請求項９】
前記第１のメモリは、ＮＡＮＤデバイスを含み、前記第２のメモリは、ＭＲＡＭデバイスを含む、請求項８に記載の大容量記憶デバイス。
【請求項１０】
前記コントローラは、前記ホストの一部である、請求項１に記載の大容量記憶デバイス。
【請求項１１】
前記コントローラは、第１のインターフェース回路を含み、該コントローラは、該第１のインターフェース回路を使用して、前記記憶媒体と通信する、請求項１に記載の大容量記憶デバイス。
【請求項１２】
前記第１のメモリは、第２のインターフェースを含み、前記第２のメモリは、第３のインターフェースを含む、請求項１１に記載の大容量記憶デバイス。
【請求項１３】
前記第１のインターフェース、前記第２のインターフェース、および前記第３のインターフェースは、同一のタイプのものである、請求項１２に記載の大容量記憶デバイス。
【請求項１４】
前記コントローラは、単一のインターフェースを通して前記記憶媒体に結合されている、請求項１に記載の大容量記憶デバイス。
【請求項１５】
前記コントローラは、複数のインターフェースを通して前記記憶媒体に結合されている、請求項１に記載の大容量記憶デバイス。
【請求項１６】
前記第１のメモリおよび前記第２のメモリは、同一のダイ上に存在する、請求項１に記載の大容量記憶デバイス。
【請求項１７】
前記第１のメモリは、ＮＡＮＤまたはＲＲＡＭ（登録商標）を含む、請求項１に記載の大容量記憶デバイス。
【請求項１８】
前記第２のメモリは、磁気ランダムアクセスメモリ（ＭＲＡＭ）、抵抗変化ＲＡＭ（ＲＲＡＭ（登録商標））、または相変化メモリ（ＰＣＭ）を含む、請求項１に記載の大容量記憶デバイス。
【請求項１９】
前記コントローラは、ＬＵＮマネージャを含む、請求項１に記載の大容量記憶デバイス。
【請求項２０】
前記コントローラは、誤りを検出および訂正するように動作可能な誤り訂正コード（ＥＣＣ）を含む、請求項１に記載の大容量記憶デバイス。
【請求項２１】
前記第２のメモリは、ＭＲＡＭデバイスにおけるＭＲＡＭアレイから作られ、誤り訂正コード（ＥＣＣ）は、該ＭＲＡＭデバイスのうちの少なくとも１つの一部である、請求項１に記載の大容量記憶デバイス。
【請求項２２】
前記第１のメモリおよび前記第２のメモリは、単一のマルチチップパッケージ（ＭＣＰ）にパッケージされている、請求項１に記載の大容量記憶デバイス。
【請求項２３】
ホストデータが前記ＬＵＮに移動される前に読み出される場合、前記コントローラは、前記混成予約領域からのみ該ホストデータにアクセスするように動作可能である、請求項１に記載の大容量記憶デバイス。
【請求項２４】
前記第１のメモリは、少なくとも１つの第１のメモリデバイスの一部であり、該第１のメモリデバイスは、インターフェースを含み、前記第２のメモリは、第２のインターフェースを含む第２のメモリデバイスの一部である、請求項１に記載の大容量記憶デバイス。
【請求項２５】
第１のインターフェースおよび前記第２のインターフェースは、同一のタイプのものである、請求項２４に記載の大容量記憶デバイス。
【請求項２６】
前記コントローラは、第３のインターフェースを含み、前記第１のインターフェース、前記第２のインターフェース、および該第３のインターフェースは、同一のタイプのものである、請求項２５に記載の大容量記憶デバイス。
【請求項２７】
大容量記憶デバイスであって、該大容量記憶デバイスは、
コントローラであって、該コントローラは、ホストと通信し、該ホストと該コントローラとの間でホストデータを転送するように構成され、該コントローラは、第１のメモリおよび第２のメモリに結合され、該第１のメモリおよび該第２のメモリは、異なるタイプのものである、コントローラと、
該大容量記憶デバイスの能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体であって、該記憶媒体は、該第１のメモリおよび該第２のメモリを含み、該記憶媒体は、該第１のメモリおよび該第２のメモリならびに該複数のＬＵＮのうちの１つのＬＵＮの少なくとも一部に及んでいる混成予約領域をさらに含む、記憶媒体と
を含み、該コントローラは、該ホストデータをキャッシュするために該第２のメモリを使用し、さらに、決定的データは、該第２のメモリの該混成予約領域に記憶され、該コントローラは、該混成予約領域を管理するように動作可能である一方、該複数のＬＵＮは、該ホストによって管理されている、大容量記憶デバイス。
【請求項２８】
大容量記憶デバイスであって、該大容量記憶デバイスは、
コントローラであって、該コントローラは、ホストと通信し、該ホストと該コントローラとの間でホストデータを転送するように構成され、該コントローラは、第１のメモリおよび第２のメモリに結合され、該第１のメモリおよび該第２のメモリは、異なるタイプのものである、コントローラと、
該大容量記憶デバイスの能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体であって、該記憶媒体は、該第１のメモリおよび該第２のメモリを含み、該記憶媒体は、該第１のメモリおよび該第２のメモリならびに該複数のＬＵＮのうちの１つのＬＵＮの少なくとも一部に及んでいる混成予約領域をさらに含む、記憶媒体と
を含み、該コントローラは、該ホストデータをキャッシュするために該第２のメモリを使用し、
該コントローラは、
データを記憶するためのコマンドに応答して、都合の良いときに、該ＬＵＮ内の利用可能な物理的位置を見つけることと、
該ホストデータを該第２のメモリの部分から該ＬＵＮに移動させることと、
該ＬＵＮ内に利用可能な物理的位置が存在しない場合に、該データを該予約領域の第２のメモリの部分から該ＬＵＮ内に移動させる前に、該ＬＵＮに情報を記憶するために利用可能な空間を作るために「ガベージコレクション」を行うことと
を行うように動作可能である、大容量記憶デバイス。
【請求項２９】
前記第１のメモリは、ＮＡＮＤデバイスを含み、前記第２のメモリは、ＭＲＡＭデバイスを含む、請求項２７に記載の大容量記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の背景）
（関連出願への相互参照）
本願は、Ｍｅｈｄｉ  Ａｓｎａａｓｈａｒｉによって２０１２年１１月１６日に出願された米国特許出願第１３／６７９，７３９号（名称「ＨＯＳＴ−ＭＡＮＡＧＥＤ  ＬＯＧＩＣＡＬ  ＭＡＳＳ  ＳＴＯＲＡＧＥ  ＤＥＶＩＣＥ  ＵＳＩＮＧ  ＭＡＧＮＥＴＩＣ  ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ（ＭＲＡＭ）」）の一部継続出願であり、Ｍｅｈｄｉ  Ａｓｎａａｓｈａｒｉによって２０１２年１２月７日に出願された米国特許出願第１３／７０８，５８２号（名称「ＨＯＳＴ−ＭＡＮＡＧＥＤ  ＬＯＧＩＣＡＬ  ＭＡＳＳ  ＳＴＯＲＡＧＥ  ＤＥＶＩＣＥ  ＵＳＩＮＧ  ＭＡＧＮＥＴＩＣ  ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ（ＭＲＡＭ）」）の一部継続出願であり、その両方の開示は、全部、述べられているように、参照により援用される。
【０００２】
（発明の分野）
本発明は、概して、記憶デバイスに関連し、特に、コントローラによる記憶デバイスのメモリアレイの管理に関連する。
【背景技術】
【０００３】
（先行技術の説明）
大容量記憶デバイスにおけるメモリ媒体は、デバイスの性能および信頼性に対して決定的である種々のタイプのプライベートデータ（つまり、公衆アクセスのためではなく、むしろ、非常に制限されたアクセスのためのデータ）をメモリ媒体に記憶するために、デバイスのコントローラによって部分的に使用される。そのようなデータの例は、特に、ブートコードおよびテーブルを含む。コントローラは、ホストからのデータを記憶するためにメモリ媒体の残りの部分を使用する。ホストからのデータのいくつかは、頻繁にアクセスされ、大容量記憶デバイスを組み込んでいるホストの性能に対しても決定的に重要である。したがって、これらのデータのコントローラによる効率的な管理が、大容量記憶デバイスの性能を最適化する場合、および、好ましいユーザ体験を提供する場合に、最も決定的である。
【０００４】
ブートコードのようなコントローラプライベートデータは、ユーザデータと比較して、あまり大きくないが、信頼性のある記憶媒体を必要とする。プライベートデータの別の例は、メモリアレイの物理ブロックアドレス内の論理ブロックアドレスの位置を捜し出すためにコントローラによって管理されるテーブルである。これらのテーブルは、デバイスの機能性および性能に対して最も決定的であり、頻繁にアクセスされ、したがって、これらのテーブルは、高い性能、信頼性、および不揮発性を有する媒体を必要とする。
【０００５】
コントローラは、時々、そのプライベートデータ領域にＡＥＳキーのようなセキュリティパラメータを記憶し、そのセキュリティパラメータはまた、信頼性のある媒体を必要とする。セキュリティキーは、大容量記憶デバイスのメモリアレイ（メモリ媒体の一部）のデータを保護するために使用される。キーのいずれの破損も、十中八九、記憶デバイスを無益なものにする。
【０００６】
ファイルアロケーションテーブル（ＦＡＴ）およびディレクトリのような特定のホストパラメータは、同様に、頻繁にアクセスされて更新され、高い性能と最適性能のための高い信頼性とを有するメモリ媒体タイプを必要とする。他のタイプのホストデータ（例えば、写真、歌曲、および、映画）は、典型的に、非常に大量の記憶量を必要とし、記憶デバイスの記憶媒体の大部分を占めるが、他のタイプのホストデータは、信頼性があることも、メモリ媒体による高い性能も必要としない。
【０００７】
現在の大容量記憶デバイスは、一般に、記憶媒体のために、ＮＡＮＤフラッシュメモリを利用する。ＮＡＮＤメモリは、手ごろな価格で大量の記憶量を提供するが、高い性能および信頼性のあるシステムを達成するためにコントローラによって要求されるすべての属性を提供することができない。制限された信頼性および耐久性を有するＮＡＮＤフラッシュメモリは、本質的に低速であり、このことは、ＮＡＮＤフラッシュメモリをそれらの属性を要求するコントローラにとって魅力のないものにする。
【０００８】
ＮＡＮＤフラッシュメモリは、ブロックに基づいた不揮発性メモリであり、各ブロックは、種々のページに編成され、種々のページから作られる。ブロックがプログラムされた後、再びブロックをプログラムする前に、ブロックは、消去される。たいていのフラッシュメモリは、ブロック内のページの一連のプログラミングを必要とする。フラッシュメモリの別の制限は、限られた回数だけブロックが消去され得ることであり、したがって、頻繁な消去オペレーションは、フラッシュメモリの寿命を縮める。したがって、フラッシュメモリは、インプレース更新を可能にしない。つまり、フラッシュメモリは、既存のデータを新たなデータで単に上書きすることができない。新たなデータは、消去された領域にのみ書き込まれ（アウトオブプレース更新）、古いデータは、将来の再生利用のために無効にされる。このアウトオブプレース更新は、同一のブロックにおける無効（つまり、古い）データおよび有効データの共存をもたらす。当業者に周知の「ガベージコレクション」は、無効データによって占められた空間を再生利用する場合、および、有効データが新たなブロックに移動され、古いブロックが消去される場合に委ねられる工程である。ガベージコレクションは、一般的に、望ましくないことに、有意な性能オーバーヘッド、および、予測不可能なオペレーション待ち時間をもたらす。
【０００９】
上記に言及されたように、フラッシュメモリブロックは、限られた回数だけ消去され得る。ウェアレベリングは、フラッシュメモリ全体にわたって（バンド内で）均等に消去部を分散させることによって、フラッシュメモリ寿命を改善するために一般的に採用されている工程である。２５ナノメートル技術を使用して製造された、典型的なＭｕｌｔｉ  Ｌｅｖｅｌ  Ｃｅｌｌ＿（ＭＬＣ）ＮＡＮＤフラッシュは、典型的に、１５００〜３０００サイクルの範囲におけるプログラム／消去（ＰＥ）サイクルを有する。それらは、典型的なプログラミング時間または約１０ミリ秒（ｍｓ）である持続時間で、プログラムされる前に消去されること、および、４〜８キロバイトのページをプログラムするために約１〜２ｍｓであるプログラム時間を必要とする。
【００１０】
さらに、ＮＡＮＤフラッシュメモリは、８ＫＢおよび１６ＫＢの大きなページサイズおよび５２１ＫＢ〜１ＭＢのブロックサイズに編成される。フラッシュメモリの大きなページサイズ属性は、全ページが完全にプログラムされる必要があるので、フラッシュメモリを小さなＩ／Ｏオペレーションにとって望ましくないものにする。一部のページをプログラムすることは、ページ上の既存のデータと新たなデータとをマージすることと、新たなページにそれを書き込むこととを必要とする。古いデータは、もはや有効データを含まず、最終的に再生利用される必要がある。同一の論理アドレスに対応するデータが異なる物理アドレスに書き込まれるので、コントローラはまた、論理アドレスを物理アドレスにマッピングするテーブルを維持する必要がある。
【００１１】
すべてのそれらの欠陥にも関わらず、やはり、ＮＡＮＤフラッシュメモリは、手ごろな価格で大量の記憶量を保存する能力により、固体状態大容量記憶デバイスに選ばれる好ましい媒体である。
【００１２】
したがって、ユーザ体験を向上させ、そのうえ、高費用対効果を達成するために、ＮＡＮＤフラッシュメモリを、より高い性能、信頼性、および耐久性、ことによると、より高価なタイプの媒体（例えば、同一の大容量記憶デバイス内のＭＲＡＭ）で補完することが最善である。これは、決定的データおよびホストシステムデータを記憶するためによりハイグレードの媒体を使用すること、および、ホストの非決定的データを記憶するためにＮＡＮＤフラッシュメモリを使用することによって、コントローラがその性能、信頼性、およびユーザ体験を最適化することを可能にする。
【００１３】
コントローラは、大容量記憶デバイスのＭＲＡＭアレイを多数の区分に分割し、それらをプライベート領域またはユーザ領域に割り当て、状況に応じてそれらを利用し得る。
【００１４】
必要とされているものは、異なるタイプのメモリ（例えば、ＮＡＮＤおよびＭＲＡＭ）の使用をうまく利用し、かつ、信頼性があり、効率が良く、そのうえ、費用対効果が高い記憶デバイスである。
【発明の概要】
【課題を解決するための手段】
【００１５】
本発明は、例えば、以下を提供する。
（項目１）
大容量記憶デバイスであって、該大容量記憶デバイスは、
コントローラであって、該コントローラは、ホストと通信し、該ホストと該コントローラとの間でホストデータを転送するように構成され、該コントローラは、第１のメモリおよび第２のメモリに結合され、該第１のメモリおよび該第２のメモリは、異なるタイプのものである、コントローラと、
該大容量記憶デバイスの能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体と、
該第１のメモリおよび該第２のメモリの少なくとも一部に及んでいる混成予約領域と
を含み、決定的データは、該第２のメモリの該混成予約領域に記憶され、さらに、該コントローラは、該混成予約領域を管理するように動作可能である一方、混成ＬＵＮは、該ホストによって管理されている、大容量記憶デバイス。
（項目２）
少なくとも１つのＬＵＮは、その利用に従って、特定のタイプの媒体、または、異なるタイプの媒体の集団にマッピングされる、項目１に記載の大容量記憶デバイス。
（項目３）
前記決定的データは、テーブルである、上記項目のいずれかに記載の大容量記憶デバイス。
（項目４）
前記決定的データは、システムデータである、上記項目のいずれかに記載の大容量記憶デバイス。
（項目５）
前記決定的データは、メタデータである、上記項目のいずれかに記載の大容量記憶デバイス。
（項目６）
前記コントローラは、単一のインターフェースを通して前記記憶媒体に結合されている、上記項目のいずれかに記載の大容量記憶デバイス。
（項目７）
前記第１のメモリは、ＮＡＮＤメモリであり、前記単一のインターフェースは、ＮＡＮＤフラッシュインターフェース回路である、上記項目のいずれかに記載の大容量記憶デバイス。
（項目８）
前記第１のメモリおよび前記第２のメモリの少なくとも一部に及んでいる混成ユーザ領域をさらに含み、該混成ユーザ領域は、ユーザ領域部分およびユーザ領域部分から作られている、上記項目のいずれかに記載の大容量記憶デバイス。
（項目９）
前記第１のメモリは、ＮＡＮＤデバイスを含み、前記第２のメモリは、ＭＲＡＭデバイスを含む、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１０）
前記コントローラは、前記ホストの一部である、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１１）
前記コントローラは、第１のインターフェース回路を含み、該コントローラは、該第１のインターフェース回路を使用して、前記記憶媒体と通信する、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１２）
前記第１のメモリは、第２のインターフェースを含み、前記第２のメモリは、第３のインターフェースを含む、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１３）
前記第１のインターフェース、前記第２のインターフェース、および前記第３のインターフェースは、同一のタイプのものである、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１４）
前記コントローラは、単一のインターフェースを通して前記記憶媒体に結合されている、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１５）
前記コントローラは、複数のインターフェースを通して前記記憶媒体に結合されている、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１６）
前記第１のメモリおよび前記第２のメモリは、同一のダイ上に存在する、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１７）
前記第１のメモリは、ＮＡＮＤまたはＲＲＡＭ（登録商標）を含む、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１８）
前記第２のメモリは、磁気ランダムアクセスメモリ（ＭＲＡＭ）、抵抗変化ＲＡＭ（ＲＲＡＭ（登録商標））、または相変化メモリ（ＰＣＭ）を含む、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１９）
前記コントローラは、ＬＵＮマネージャを含む、上記項目のいずれかに記載の大容量記憶デバイス。
（項目２０）
前記コントローラは、誤りを検出および訂正するように動作可能な誤り訂正コード（ＥＣＣ）を含む、上記項目のいずれかに記載の大容量記憶デバイス。
（項目２１）
前記第２のメモリは、ＭＲＡＭデバイスにおけるＭＲＡＭアレイから作られ、誤り訂正コード（ＥＣＣ）は、該ＭＲＡＭデバイスのうちの少なくとも１つの一部である、上記項目のいずれかに記載の大容量記憶デバイス。
（項目２２）
前記第１のメモリおよび前記第２のメモリは、単一のマルチチップパッケージ（ＭＣＰ）にパッケージされている、上記項目のいずれかに記載の大容量記憶デバイス。
（項目２３）
ホストデータが前記ＬＵＮに移動される前に読み出される場合、前記コントローラは、前記混成予約領域からのみ該ホストデータにアクセスするように動作可能である、上記項目のいずれかに記載の大容量記憶デバイス。
（項目２４）
前記第１のメモリは、少なくとも１つの第１のメモリデバイスの一部であり、該第１のメモリデバイスは、インターフェースを含み、該第２のメモリは、第２のインターフェースを含む第２のメモリデバイスの一部である、上記項目のいずれかに記載の大容量記憶デバイス。
（項目２５）
第１のインターフェースおよび前記第２のインターフェースは、同一のタイプのものである、上記項目のいずれかに記載の大容量記憶デバイス。
（項目２６）
前記コントローラは、第３のインターフェースを含み、前記第１のインターフェース、前記第２のインターフェース、および該第３のインターフェースは、同一のタイプのものである、上記項目のいずれかに記載の大容量記憶デバイス。
（項目２７）
大容量記憶デバイスであって、該大容量記憶デバイスは、
コントローラであって、該コントローラは、ホストと通信し、該ホストと該コントローラとの間でホストデータを転送するように構成され、該コントローラは、第１のメモリおよび第２のメモリに結合され、該第１のメモリおよび該第２のメモリは、異なるタイプのものである、コントローラと、
該大容量記憶デバイスの能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体であって、該記憶媒体は、該第１のメモリおよび該第２のメモリを含む、記憶媒体と
を含み、該コントローラは、該ホストデータをキャッシュするために該第２のメモリを使用する、大容量記憶デバイス。
（項目２８）
前記記憶媒体は、前記第１のメモリおよび前記第２のメモリならびに前記複数のＬＵＮのうちの１つのＬＵＮの少なくとも一部に及んでいる混成予約領域をさらに含み、さらに、決定的データは、該第２のメモリの該混成予約領域に記憶され、前記コントローラは、該混成予約領域を管理するように動作可能である一方、該複数のＬＵＮは、前記ホストによって管理されている、上記項目のいずれかに記載の大容量記憶デバイス。
（項目２９）
前記コントローラは、
データを記憶するためのコマンドに応答して、都合の良いときに、前記ＬＵＮ内の利用可能な物理的位置を見つけることと、
前記ホストデータを前記第２のメモリの部分から前記ＬＵＮに移動させることと、
該ＬＵＮ内に利用可能な物理的位置が存在しない場合に、該データを予約領域の第２のメモリの部分から該ＬＵＮ内に移動させる前に、該ＬＵＮに情報を記憶するために利用可能な空間を作るために「ガベージコレクション」を行うことと
を行うように動作可能である、上記項目のいずれかに記載の大容量記憶デバイス。
（項目３０）
前記第１のメモリは、ＮＡＮＤデバイスを含み、前記第２のメモリは、ＭＲＡＭデバイスを含む、上記項目のいずれかに記載の大容量記憶デバイス。
（項目１Ａ）
大容量記憶デバイスであって、該大容量記憶デバイスは、
コントローラであって、該コントローラは、ホストと通信し、該ホストと該コントローラとの間でホストデータを転送するように構成され、該コントローラは、第１のメモリおよび第２のメモリに結合され、該第１のメモリおよび該第２のメモリは、異なるタイプのものである、コントローラと、
該大容量記憶デバイスの能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体であって、該記憶媒体は、該第１のメモリおよび該第２のメモリの少なくとも一部に及んでいる混成予約領域を有する、記憶媒体と
を含み、決定的データは、該第２のメモリの該混成予約領域に記憶され、さらに、該コントローラは、該混成予約領域を管理するように動作可能である一方、混成ＬＵＮは、該ホストによって管理されている、大容量記憶デバイス。
（項目２７Ａ）
大容量記憶デバイスであって、該大容量記憶デバイスは、
コントローラであって、該コントローラは、ホストと通信し、該ホストと該コントローラとの間でホストデータを転送するように構成され、該コントローラは、第１のメモリおよび第２のメモリに結合され、該第１のメモリおよび該第２のメモリは、異なるタイプのものである、コントローラと、
該大容量記憶デバイスの能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体であって、該記憶媒体は、該第１のメモリおよび該第２のメモリを含み、該記憶媒体は、該第１のメモリおよび該第２のメモリならびに該複数のＬＵＮのうちの１つのＬＵＮの少なくとも一部に及んでいる混成予約領域をさらに含む、記憶媒体と
を含み、該コントローラは、該ホストデータをキャッシュするために該第２のメモリを使用し、さらに、決定的データは、該第２のメモリの該混成予約領域に記憶され、該コントローラは、該混成予約領域を管理するように動作可能である一方、該複数のＬＵＮは、該ホストによって管理されている、大容量記憶デバイス。
（項目２８Ａ）
大容量記憶デバイスであって、該大容量記憶デバイスは、
コントローラであって、該コントローラは、ホストと通信し、該ホストと該コントローラとの間でホストデータを転送するように構成され、該コントローラは、第１のメモリおよび第２のメモリに結合され、該第１のメモリおよび該第２のメモリは、異なるタイプのものである、コントローラと、
該大容量記憶デバイスの能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体であって、該記憶媒体は、該第１のメモリおよび該第２のメモリを含み、該記憶媒体は、該第１のメモリおよび該第２のメモリならびに該複数のＬＵＮのうちの１つのＬＵＮの少なくとも一部に及んでいる混成予約領域をさらに含む、記憶媒体と
を含み、該コントローラは、該ホストデータをキャッシュするために該第２のメモリを使用し、
該コントローラは、
データを記憶するためのコマンドに応答して、都合の良いときに、該ＬＵＮ内の利用可能な物理的位置を見つけることと、
該ホストデータを該第２のメモリの部分から該ＬＵＮに移動させることと、
該ＬＵＮ内に利用可能な物理的位置が存在しない場合に、該データを該予約領域の第２のメモリの部分から該ＬＵＮ内に移動させる前に、該ＬＵＮに情報を記憶するために利用可能な空間を作るために「ガベージコレクション」を行うことと
を行うように動作可能である、大容量記憶デバイス。
（摘要）
大容量記憶デバイスは、ホストと通信するように構成されたコントローラを含む。コントローラは、第１のメモリおよび第２のメモリに結合され、第１のメモリおよび第２のメモリは、異なるタイプのものである。大容量記憶デバイスは、大容量記憶デバイスの能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体を含む。大容量記憶デバイスは、第１のメモリおよび第２のメモリと、第１のメモリおよび第２のメモリの少なくとも一部に及んでいる混成予約領域とをさらに含む。
（発明の概要）
上記に説明された先行技術における制限を克服するために、および、本明細書の読解および理解に応じて明らかになる他の制限を克服するために、本発明は、磁気メモリ内の反転電流を減少させた電流誘起磁化反転に基づく磁気記憶メモリデバイスのための方法および対応する構造を開示する。
簡単に、本発明の実施形態は、ホストと通信するように構成されたコントローラを有する大容量記憶デバイスを含む。コントローラは、第１のメモリおよび第２のメモリに結合され、第１のメモリおよび第２のメモリは、異なるタイプのものである。大容量記憶デバイスは、大容量記憶デバイスの能力およびリソースに基づいて、複数の論理ユニット（ＬＵＮ）に区分される記憶媒体を含む。大容量記憶デバイスは、第１のメモリおよび第２のメモリと、第１のメモリおよび第２のメモリの少なくとも一部に及んでいる混成予約領域とをさらに含む。
本発明のこれらの目的および利点は、図面の種々の図に図示された好ましい実施形態の以下の詳細な説明を読解した後、疑いなく、当業者にとって明らかとなる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施形態に従って、大容量記憶デバイス１０を示す。
【図２】図２は、本発明の別の実施形態に従って、混成予約領域３６および混成ユーザ領域３０のさらなる詳細を示す。
【図３】図３は、本発明の実施形態に従って、混成予約領域３６および混成ユーザ領域３０の例示的な論理表現を示す。
【図４】図４は、本発明の実施形態に従って、混成ユーザ領域３０の例示的な論理表現を示す。
【図５】図５は、本発明の実施形態に従って、混成ユーザ領域３０および混成予約領域３６の各々に記憶される例示的なデータのタイプを示す。
【図６】図６は、本発明の方法に従って、大容量記憶デバイス１０によって行われるステップのフローチャートを示す。
【図７】図７は、本発明の方法に従って、大容量記憶デバイス１０によって行われるステップのフローチャートを示す。
【図８】図８は、本発明の実施形態に従って、コントローラ１４または１４’のさらなる詳細のハイレベルブロック図を示す。
【図９】図９および図１０は、各々、本発明の方法に従って、ホストからのコマンドを処理する場合にＬＵＮマネージャ９３によって行われる関連ステップのフローチャートを示す。
【図１０】図９および図１０は、各々、本発明の方法に従って、ホストからのコマンドを処理する場合にＬＵＮマネージャ９３によって行われる関連ステップのフローチャートを示す。
【図１１】図１１は、本発明の実施形態に従って、大容量記憶デバイス１０００を示す。
【図１２】図１２は、本発明の別の実施形態に従って、記憶媒体１８０のＮＡＮＤ  ＬＵＮ３６０、ＭＲＡＭ  ＬＵＮ３８０、および混成ＬＵＮ３００のさらなる詳細を示す。
【図１３】図１３は、論理アドレスを使用して、各々が別個の属性を有するＬＵＮ３００、３６０、および３８の例示的な表現を示す。
【図１４】図１４は、本発明の実施形態に従って、例示的な混成ＬＵＮを示す。
【図１５】図１５は、本発明の実施形態に従って、ＬＵＮ３００、３６０、および３８０の各々に記憶される例示的なデータのタイプを示す。
【図１６】図１６は、本発明の方法に従って、ホスト１２による初期化中に、図１１のデバイス１０００によって行われるステップを示す。
【図１７】図１７は、本発明の実施形態に従って、サブシステム８００を示す。
【図１８】図１８は、本発明の種々の実施形態の例示的な用途を示す。
【発明を実施するための形態】
【００１７】
（種々の実施形態の詳細な説明）
以下の実施形態の説明において、添付の図面への参照がなされ、添付の図面は、本明細書の一部を形成し、本発明が実施され得る特定の実施形態の例証の目的で示される。本発明の範囲から逸脱することなく、構造的変更がなされ得るので、他の実施形態が利用され得ることが理解される。
【００１８】
明白になるように、本発明のいくつかの実施形態において、ＭＲＡＭおよびＮＡＮＤフラッシュメモリは、大容量記憶デバイスにおいて組み合わせられる。現在、ＭＲＡＭデバイスは、ＮＡＮＤフラッシュメモリよりも高価であり、ＮＡＮＤフラッシュメモリが提供する容量を提供することができないが、ＭＲＡＭデバイスは、ＮＡＮＤフラッシュよりもはるかに高速であり、よりよい信頼性および耐久性を有する。したがって、ＭＲＡＭデバイスは、そのような属性を必要とする決定的データを記憶するために、コントローラによって使用され得る。ＮＡＮＤフラッシュメモリは、より低い費用で大量の記憶量を提供し得、大量の記憶量は、ホストからのユーザデータを記憶するために、コントローラによって使用され得、ホストからのユーザデータは、より低い性能、信頼性、および耐久性を伴う大量の容量を必要とする。決定的データの例は、コントローラのブートコード、テーブル、およびデータキャッシュ、ならびにホストのファイルアロケーションテーブルおよびディレクトリ等であり、非決定的データの例は、写真、映画等である。
【００１９】
ＭＲＡＭデバイスは、ＮＡＮＤフラッシュメモリよりも高価であるが、ＭＲＡＭデバイスは、ＮＡＮＤフラッシュよりもはるかに高速であり、よりよい信頼性および耐久性を有し、ＭＲＡＭデバイスは、そのような属性を必要とする決定的データを記憶するために使用され得る。ＮＡＮＤフラッシュメモリは、より低い性能、信頼性、および耐久性を伴うより大きな容量を必要とするユーザ領域を記憶するために、より低い費用で大量の記憶量を提供し得る。
【００２０】
図１は、本発明の実施形態に従って、大容量記憶デバイス１０を示す。デバイス１０は、ＮＡＮＤフラッシュインターフェース回路１５とホストインターフェース２０とを有するコントローラ１４と、フラッシュインターフェース１６と、記憶媒体１８とを含むように示される。コントローラ１４は、フラッシュインターフェース１６を通して記憶媒体１８に結合されるように示される。コントローラ１４は、ＮＡＮＤフラッシュインターフェース回路１５を含むように示される。
【００２１】
コントローラ１４は、異なるタイプのデータを記憶するために、媒体内の異なるメモリを選択的に利用し得、異なるタイプのデータは、デバイス２２および２４を管理するために、コントローラ１４によって主に使用される。
【００２２】
記憶媒体１８は、多数のＮＡＮＤフラッシュメモリデバイス２２と、多数の磁気ランダムアクセスメモリ（ＭＲＡＭ）デバイス２４とを含むように示される。記憶媒体１８は、ＮＡＮＤアレイ３２の一部とＭＲＡＭアレイ３４の一部との組み合わせである混成予約領域３６を含む。記憶媒体１８はまた、ＮＡＮＤアレイ３２の一部とＭＲＡＭアレイ３４の一部との組み合わせである混成ユーザ領域３０を含む。デバイス２２は、ＮＡＮＤフラッシュインターフェース回路２６とＮＡＮＤアレイ３２とを含むように示される。記憶媒体１８のＮＡＮＤアレイ３２は、混成予約領域３６のＮＡＮＤ部分３６ａと、混成ユーザ領域３０のＮＡＮＤ部分３０ａとを含む。デバイス２４は、ＮＡＮＤフラッシュインターフェース回路２８と、ＭＲＡＭアレイ３４とを含むように示され、記憶媒体１８のＭＲＡＭアレイ３４は、混成予約領域３６のＭＲＡＭ部分３６ｂと、混成ユーザ領域３０のＭＲＡＭ部分３０ｂとを含む。
【００２３】
混成予約領域３６は、ＭＲＡＭデバイス２４の一部であるＭＲＡＭ部分３６ｂとＮＡＮＤフラッシュメモリデバイス２２の一部であるＮＡＮＤ部分３６ａとによって、ＭＲＡＭデバイス２４およびＮＡＮＤフラッシュデバイス２２に及ぶ。同様に、混成ユーザ領域３０は、ＭＲＡＭデバイス２４の一部であるＭＲＡＭ部分３０ｂとＮＡＮＤフラッシュメモリデバイス２２の一部であるＮＡＮＤ部分３０ａとによって、ＭＲＡＭデバイス２４およびＮＡＮＤフラッシュデバイス２２に及ぶ。
【００２４】
代替として、混成予約領域３６は、完全に、ＭＲＡＭ部分３６ｂの一部であり得る。同様に、代替実施形態において、混成ユーザ領域３０は、完全に、ＭＲＡＭ部分３０ｂの一部である。混成予約領域３６および混成ユーザ領域３０の両方が完全にＭＲＡＭデバイス２４の一部である場合、ＮＡＮＤデバイス２２に対する必要性は存在しない。
【００２５】
混成予約領域３６は、プライベートデータまたはデバイス１０のユーザがアクセス不可能なデータである情報を記憶するために使用される。プライベートデータの例は、ブートコード、システムデータ、メタデータ、またはテーブルを含む。
【００２６】
有利なことに、コントローラ１４は、デバイス１０を使用するホストの識別に関する先験的な情報に基づいて、ホスト提供データおよびホスト決定的データを混成ユーザ領域３０のＭＲＡＭ部分に記憶することを決定する。この例は、ファイルアロケーションテーブル（ＦＡＴ）ファイルシステム（例えば、ＦＡＴ１６またはＦＡＴ３２）の場合であり、そのシステムにおいて、コントローラ１４が、マスターブートレコード（ＭＢＲ）、パーティションブートレコード（ＰＢＲ）、ＦＡＴ、およびディレクトリを記憶し、それらのすべては、頻繁にアクセスされる情報であり、領域３０ｂにおいて、アドレスのより低い論理ブロックアクセス（ＬＢＡ）範囲に意図される。
【００２７】
図１の実施形態において、記憶媒体１８は、各々が別個の相補的な属性を有する２種類のメモリデバイスを提供し、ＭＲＡＭデバイス２４が、非常に高性能で、かつ信頼性があり、ＮＡＮＤフラッシュメモリデバイス２２が、記憶媒体１８に容量の大部分を提供する。代替として、ＮＡＮＤフラッシュメモリデバイスは、他の不揮発性デバイス（例えば、抵抗変化ＲＡＭ（ＲＲＡＭ（登録商標）、ＲｅＲＡＭ））によって取り替えられ得る。
【００２８】
ＭＲＡＭおよびＮＡＮＤフラッシュを単一のデバイスに統合することを簡単化するために、ＭＲＡＭデバイスは、ＮＡＮＤフラッシュインターフェースと互換性があるインターフェースを必要とする。さらに、既存の埋め込み型大容量記憶コントローラ（例えば、ＵＳＢ、ＭＭＣ、およびＳＤ）の大多数は、コントローラに対するいずれの変更もない場合、ＮＡＮＤフラッシュインターフェースを有するメモリのみをサポートする。したがって、ＮＡＮＤフラッシュインターフェースを有するＭＲＡＭデバイスは、既存のコントローラおよびＮＡＮＤフラッシュメモリと容易に統合されることにより、異なる媒体タイプを有する大容量記憶デバイスを生成し、異なるシステム要件に対処し得る。
【００２９】
ＭＲＡＭメモリは、記憶デバイスのメモリ媒体の非常に高い性能で、かつ信頼性がある部分を構成し、ＭＲＡＭメモリは、そのような属性を必要とするデータを記憶するためにコントローラによって使用され得る。メモリ媒体のＮＡＮＤフラッシュメモリ部分は、ユーザ領域、および、そのような厳しい要件を有しないデータタイプを記憶するためにコントローラによって使用され得る。
【００３０】
ＭＲＡＭは、高速で、かつ信頼性があるが、ＭＲＡＭは、新たなデータを書き込まれる前に消去することを必要としない。したがって、メモリ媒体のＭＲＡＭ部分におけるデータの管理は、非常に簡単化され得る。コントローラは、もはや、ガベージコレクションおよびメモリ媒体のその部分のマッピングを行う必要がなく、これは、これらの記憶デバイスを利用するシステムの性能をさらに向上させる。
【００３１】
それはまた、データが既存のデータに上書きされ、それによって、マージおよび結局のＧＣ工程を排除するので、小さなＩＯオペレーションの性能を向上させる。
【００３２】
メモリ媒体上にＭＲＡＭを有することの別の利点は、メタデータ情報を記憶することである。たいていのコントローラアーキテクチャ（例えば、ＳＡＴＡおよびｍＳＡＴＡ）において、ＤＤＲ２インターフェースまたはＤＤＲ３インターフェースのいずれかを有する外部ＤＲＡＭは、システム性能を向上させるために、メタデータ情報を記憶するために使用される。ＭＲＡＭの性質により、コントローラは、メタデータ情報を記憶するためにメモリ媒体のＭＲＡＭ部分を使用し、ＤＤＲインターフェースおよび外部ＤＲＡＭ構成要素と関連付けられるコントローラコストを排除し得る。
【００３３】
典型的に、外部ＤＲＡＭを必要としない他のコントローラ（例えば、ＵＳＢおよびＭＭＣ／ｅＭＭＣ）は、メタデータ情報を記憶するためにＮＡＮＤフラッシュを使用する。これらのコントローラは、メモリ媒体のＭＲＡＭ部分も使用し、システム性能をさらに向上させ得る。
【００３４】
ＮＡＮＤフラッシュメモリと互換性があるインターフェースを有するＭＲＡＭは、ＮＡＮＤインターフェースを既に有するコントローラにとって透明になり、書き込みの領域、ガベージコレクションの領域、メモリ媒体のＭＲＡＭ部分によるメタデータ管理の領域におけるファームウェアへの些細な変更で、システム性能は、実質的に増大する。
【００３５】
ＭＲＡＭ部分３６ｂは、ホストデータまたはホストによって提供されたデータをキャッシュするために、コントローラ１４によって使用され得る。コントローラ１４は、ホスト書き込みコマンドに応答して、ホストデータをＭＲＡＭ部分３６ｂに書き込み、書き込みコマンドが完了したことをホストに知らせ得る。それから、コントローラ１４は、都合の良いときに、混成ユーザ領域３０内の利用可能な物理的位置を見つけ、ホストデータをＭＲＡＭ部分３６ｂから混成ユーザ領域３０まで移動させ得、このことは、有利なことに、コマンド完了待ち時間を実質的に減少させる。混成ユーザ領域３０内に利用可能な物理的位置が存在しない場合、コントローラ１４は、ホストデータをＭＲＡＭ部分３６ｂから混成ユーザ領域３０内へ移動させる前に、ＮＡＮＤ部分３０ａに情報を記憶するための利用可能な空間を作るために、「ガベージコレクション」を行う。その間に、ホストが、コントローラ１４が混成予約領域３６に保存したが、まだ混成ユーザ領域３０に移動されていないデータを読み出すことを望む場合、コントローラ１４は、混成予約領域３６からのみ本データにアクセスすることを知っている。したがって、ホストデータコヒーレンシは、維持される。
【００３６】
本発明の別の実施形態において、コントローラ１４はまた、ＮＡＮＤフラッシュフルページプログラムオペレーションを行うために十分なホストデータを収集するために、ＭＲＡＭ部分３６ｂを使用し得る。周知のように、ＮＡＮＤフラッシュフルページプログラムオペレーションにおいて、ホストＩＯオペレーションがＮＡＮＤフラッシュメモリのページプログラム単位よりも小さい場合、コントローラは、古いデータと新たなデータとをマージすることを伴い、かつ、時間がかかる部分的ページプログラミングを行うこと、または、揮発性ＳＲＡＭ／ＤＲＡＭバッファにデータを保存し、ページプログラムオペレーションを行うために十分なデータが存在するまで、ホストから追加のコマンドを待つことのいずれかを行う必要がある。その間に、コントローラは、ホストデータが永続的な媒体にまだ書き込まれていないので、ホストにコマンド完了を送信することができない。古いデータと新たなデータとをマージする工程は、古いデータを読み出し、新たなデータと、読み出された古いデータとを結びつけ、その全体をＮＡＮＤフラッシュメモリデバイス内の別の物理的位置に書き込むことを必要とし、それは、時間がかかり、かつデバイスの性能に影響を与えるのみならず、ＮＡＮＤフラッシュプログラム／消去オペレーションの回数を増加させ、ＮＡＮＤフラッシュの信頼性および耐久性に悪影響を与える。その間、ホストが、コントローラ１４が予約領域のＭＲＡＭ部分３６ｂに保存したが、まだ混成ユーザ領域３０に移動されていないデータを読み出すことを望む場合、コントローラ１４は、予約領域のＭＲＡＭ部分３６ｂからのみ本データにアクセスすることを知っている。したがって、ホストデータホストデータコヒーレンシは、維持される。上述の問題は、ホストデータをキャッシュするためにＭＲＡＭ部分３６ｂを使用することによって、本発明の種々の実施形態において最小にされ、それは、ＭＲＡＭの永続的な特性により、特に、多数の小さなＩＯオペレーションを有するシステムにおいて、コマンド待ち時間およびシステムの信頼性を実質的に向上させる。
【００３７】
本発明のいくつかの実施形態において、本明細書に論じられ、示されるように、ＭＲＡＭメモリは、コントローラの予約領域にマッピングされ、非常に高い性能で、かつ信頼性がある媒体を、そのような特性を必要とするコントローラの決定的パラメータに提供する。ＮＡＮＤフラッシュメモリはまた、ユーザ領域内にマッピングされ、ユーザデータおよびそのような厳しい要件を有しないデータタイプのために使用され得る。ＭＲＡＭとＮＡＮＤフラッシュメモリとの組み合わせはまた、混成ユーザ領域および混成予約領域内にマッピングされ、記憶されているデータのうちのいくつかのために高い信頼性および性能のみを要求するシステムに対して使用され得る。コントローラは、パラメータおよびホストデータを記憶するために、それらの属性に基づいて、媒体タイプを使用する。
【００３８】
図２は、ＮＡＮＤフラッシュメモリデバイス２２のＮＡＮＤアレイ３２およびＭＲＡＭデバイス２４のＭＲＡＭアレイ３４の物理的表現のさらなる詳細を示す。記憶媒体１８のＮＡＮＤアレイ３２は、混成予約領域３６のＮＡＮＤ部分３６ａと、混成ユーザ領域３０のＮＡＮＤ部分３０ａとを含む。本発明の別の実施形態に従って、記憶媒体１８のＭＲＡＭアレイ３４は、混成予約領域３６のＮＡＮＤ部分３６ｂと、混成ユーザ領域３０のＭＲＡＭ部分３０ｂとを含む。混成予約領域３６および混成ユーザ領域３０は、それぞれ、ＭＲＡＭ部分３６ｂおよび３０ｂとＮＡＮＤ部分３６ａおよび３０ａとの異なる組み合わせから構築され得る。
【００３９】
図３は、図２の混成予約領域３６および混成ユーザ領域３０のメモリアレイの例示的な論理表現を示す。混成予約領域３６は、混合メモリアレイ（ＭＲＡＭ部分３６ｂおよびＮＡＮＤ部分３６ａ）から作られ、データを記憶するために、コントローラ１４に混合属性予約領域を提供する。混成ユーザ領域３０は、混合メモリアレイ（ＭＲＡＭ部分３０ｂおよびＮＡＮＤ部分３０ａ）から作られ、ホストデータを記憶するために、コントローラ１４に混合属性ユーザ領域を提供する。
【００４０】
図４は、本発明の実施形態に従って、混成ユーザ領域の異なるタイプのメモリアレイの例示的な論理表現を示す。混成ユーザ領域５４、７６、および７８の各々は、図１の混成ユーザ領域３０であり得る。図４において、混成ユーザ領域５４は、より低い論理ブロックアドレス（ＬＢＡ）上のＭＲＡＭメモリアレイ部分５６と、より高いＬＢＡにおけるＮＡＮＤメモリアレイ部分５８とを含むように示される。本発明の別の実施形態に従って、混成ユーザ領域７６は、ＬＢＡ範囲の中間におけるＭＲＡＭメモリアレイ部分６２と、より低いＬＢＡ範囲およびより高いＬＢＡ範囲における２つのＮＡＮＤメモリアレイ部分６０および６４とを含むように示される。混成ユーザ領域７８は、２つの異なるＬＢＡ範囲におけるＭＲＡＭメモリアレイ部分６８および７２と、より低いＬＢＡ範囲、中間のＬＢＡ範囲、および、より上のＬＢＡ範囲における３つのＮＡＮＤメモリアレイ部分６６、７０、および７４とを含むように示される。混成ユーザ領域の異なるメモリアレイのこれらの例示的な論理表現は、ユーザ領域が任意のサイズのものであり、ＭＲＡＭメモリアレイとＮＡＮＤメモリアレイとの組み合わせであり得ることを論証している。さらに、混成ユーザ領域のＭＲＡＭメモリアレイ部分およびＮＡＮＤメモリアレイ部分は、任意のサイズであり、混成ユーザ領域の論理アドレス空間範囲の種々の部分を占め得る。
【００４１】
図５は、本発明の実施形態に従って、混成予約領域３６および混成ユーザ領域３０の各々のメモリアレイにコントローラ１４によって記憶される例示的なデータのタイプを示す。混成予約領域３６のＭＲＡＭ部分３６ｂは、例示的な実施形態として、ブートコード、テーブル、およびデータキャッシュを含むように示され、これらは、コントローラによって頻繁にアクセスされ、システム性能に影響を与え、混成予約領域３６のＮＡＮＤ部分３６ａは、例えば、非必須なコントローラデータを含むように示される。混成ユーザ領域３０のＭＲＡＭ部分３０ｂは、例えば、ＦＡＴおよびディレクトリを含むように示され、これらは、ホストによって頻繁にアクセスされ、システム性能に影響を与え、混成ユーザ領域３０のＮＡＮＤ部分３０ａは、例えば、ホストからのデータ（例えば、写真、映画、およびビデオ）を含むように示される。
【００４２】
図６は、本発明の方法に従って、大容量記憶デバイス１０によって行われるステップのフローチャート１００を示す。図６のステップは、概して、コントローラ１４（図１）によって行われる。ステップ１１４において、典型的にホストによって提供されるＬＵＮへの書き込みコマンドは、コントローラ１４によって受信され、続いて、ユーザデータが受信される。ステップ１０２において、コントローラ１４によって受信されたユーザデータは、デバイス２４の予約領域のＭＲＡＭ部分、つまりＭＲＡＭ部分３６ｂに書き込まれる。次に、ステップ１０４において、ステップ１０２における書き込みの完了を示すコマンドが、コントローラ１４によってホストインターフェース２０を通してホストに送信され、ＭＲＡＭ部分３６ｂにあるユーザデータの位置を識別するポインタが、設定される。
【００４３】
次に、１０６において、ユーザデータが意図されたＬＵＮに利用可能な空間が残っているか否かに関する決定が、コントローラ１４によってなされる。利用可能な空間が残っていない場合、工程は、ステップ１１２に続き、ステップ１１２において、意図されたＬＵＮにおける空間が、ガベージコレクションを行うことによって、コントローラ１４によって解放され、利用可能な空間が残っている場合、工程は、ステップ１０８に移る。
【００４４】
ステップ１０８において、ユーザデータは、ＭＲＡＭ部分３６ｂから意図されたＬＵＮに移動され、ステップ１０４のポインタが、ユーザデータが移動されたＬＵＮにおける位置を指示するように再調整され、工程は、ステップ１１０において終了する。
【００４５】
図７は、本発明の方法に従って、大容量記憶デバイス１０によって行われるステップのフローチャート１２０を示す。ステップ１２２において、ＬＵＮへの新たな書き込みコマンドが、ホストからコントローラ１４によって受信され、続いて、ユーザデータが受信される。次に、ステップ１２２においてコントローラ１４によって受信されたホスト書き込みコマンドが、フルフラッシュページへの書き込み、つまりフルフラッシュページオペレーションであるか否かに関する決定が、ステップ１２４においてなされる。フルフラッシュページオペレーションである場合、ユーザデータは、意図されたＬＵＮに書き込まれ、工程は、ステップ１３４において終了する。
【００４６】
ホスト書き込みコマンドが、フルフラッシュページでない場合、工程は、ステップ１２８に続き、ステップ１２８において、ユーザデータは、図６のステップ１０２においてなされたように、予約領域のＭＲＡＭ部分３６ｂに書き込まれ、コマンド完了が、コントローラ１４によってホストに送信され、ＭＲＡＭ部分３６ｂにあるユーザデータの位置を識別するポインタが、設定される。
【００４７】
次に、１３０において、フルページオペレーションのために十分なデータが予約領域のＭＲＡＭ部分に収集されたか否かに関する決定がなされる。収集されている場合、ユーザデータは、ＭＲＡＭ部分３６ｂから意図されたＬＵＮに移動され、ステップ１２８のポインタが、ユーザデータが移動されたＬＵＮにおける位置を指示するように再調整され、工程は、１３４において終了する。フルページオペレーションのために十分なデータが存在しない場合、コントローラは、ステップ１２２において、ホストからの新たな書き込みコマンドを待つ。
【００４８】
図８は、本発明の実施形態に従って、（図１に示される）コントローラ１４のブロック図を示す。コントローラ１４は、ホストインターフェースブロック９０と、ＣＰＵ９２とＬＵＮマネージャ９３と、データバッファ９４と、ＮＡＮＤ誤り訂正コード（ＥＣＣ）９５と、ＭＲＡＭ  ＥＣＣ９６と、ＮＡＮＤフラッシュインターフェース回路１５とを含むように示される。コントローラ１４の一部として図８に示される構造は、概して、ＣＰＵ９２によって制御される。したがって、ＣＰＵ９２は、これらの構造と結合される。ホストインターフェースブロック９０は、ＬＵＮマネージャ９３に結合され、データバッファ９４に結合される。ＬＵＮマネージャ９３は、データバッファ９４に結合される。ＬＵＮマネージャ９３は、ＮＡＮＤ  ＥＣＣ９５およびＭＲＡＭ  ＥＣＣ９６にさらに結合され、ＮＡＮＤ  ＥＣＣ９５は、ＣＰＵ９２に結合されることに加えて、回路１５に結合される。同様に、ＭＲＡＭ  ＥＣＣ９６は、ＣＰＵ９２に結合されることに加えて、回路１５に結合される。
【００４９】
ＮＡＮＤ  ＥＣＣおよび回路１５は、当該技術分野において既知の他のタイプのメモリであり得ることが理解される。例えば、ＮＡＮＤ  ＥＣＣは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）ＥＣＣ、または抵抗変化ランダムアクセスメモリ（ＲＲＡＭ（登録商標））ＥＣＣであり得、回路１５は、ＤＤＲ２またはＤＤＲ３またはＤＲＡＭインターフェースであり得る。この目的のために、ＮＡＮＤアレイ３２は、他のタイプのメモリであり得、回路２６は、他のタイプのインターフェースであり得る。例えば、ＮＡＮＤアレイ３２は、ＤＲＡＭ、ＳＲＡＭ、または、ＭＲＡＭを除く任意の他のタイプの不揮発性メモリ（例えば、ＲＲＡＭ（登録商標））であり得、回路２６は、ＤＲＡＭまたはＳＲＡＭインターフェース、またはＤＤＲ２またはＤＤＲ３インターフェースであり得る。回路１５におけるインターフェースのタイプは、ＮＡＮＤアレイ３２のメモリタイプによって明白に決定される。
【００５０】
コマンドおよびデータは、書き込みオペレーション中にホストインターフェース９０を通して受信される。読み出しオペレーション中に、コマンドは、同様の態様で受信され、データは、インターフェース回路１５を通して受信される。ＣＰＵ９２は、ホストから受信されたコマンドを処理し、ホストからのデータをデータバッファ９４内に受信すること、または、記憶媒体からのデータをデータバッファ９４内に受信することのいずれかを行うようにコントローラを構成する。ＬＵＮマネージャ９３は、ホストおよびコントローラによって設定されたＬＵＮ構成情報に基づいて、データの出所または行先を決定する。書き込みオペレーション中に、データの行先に応じて、ＮＡＮＤ  ＥＣＣ９５またはＭＲＡＭ  ＥＣＣ９６のいずれかが、メモリに保存されるデータをエンコードし、インターフェース回路１５が、エンコードされたデータをフラッシュインターフェース１６に結合する。読み出しオペレーション中に、データは、インターフェース回路１５によってインターフェース１６を通して受信され、データは、データの出所に応じて、ＮＡＮＤ  ＥＣＣ９５またはＭＲＡＭ  ＥＣＣ９６のいずれかによってデコードされ、それから、データバッファ９４に置かれ、ホストインターフェース２０に結合するためにホストインターフェース９０に提供される。
【００５１】
いくつかの実施形態において、ＭＲＡＭアレイ３４は、ＭＲＡＭ  ＥＣＣエンジン９６によって提供される保護を必要としないこともあるか、またはＭＲＡＭデバイスは、必要とされる保護を含み、外部回路を必要としない。さらに別の実施形態において、ＭＲＡＭ  ＥＣＣ９４およびＮＡＮＤ  ＥＣＣ９５は、単一のＥＣＣエンジンに組み合わせられ、データが意図されるメモリアレイに従って構成され得る。
【００５２】
オペレーション中、ホストインターフェースブロック９０は、ＣＰＵ９２の制御のもと、ホストインターフェース２０を通してコマンドおよびデータを受信し、コマンドおよびデータをＬＵＮマネージャ９３に提供する。ＬＵＮマネージャ９３は、受信された情報を処理し、このことは、後の図面および後続の説明にさらに説明される。受信された情報を処理すると、ＬＵＮマネージャ９３は、記憶のために、データバッファにデータを伝送する。データの意図された行先に応じて、ＬＵＮマネージャ９３によって決定される場合、データは、ＮＡＮＤ  ＥＣＣ９５またはＭＲＡＭ  ＥＣＣ９６のいずれかに伝送される。例えば、ＬＵＮマネージャ９３が、データがＭＲＡＭアレイ３４（図１に示される）に記憶することに適していると決定する場合、データは、ＭＲＡＭ  ＥＣＣ９５に伝送され、そうでない場合、データは、ＮＡＮＤ  ＥＣＣ９５に伝送される。
【００５３】
ＥＣＣ９５および９６の各々は、当該産業において周知のシンドロームを使用してデータをコードするが、ＭＲＡＭ  ＥＣＣ９６は、典型的に、より小さなシンドロームを有し、その結果、典型的により大きなシンドロームおよびオーバーヘッドを有するＮＡＮＤ  ＥＣＣ９５よりも短いオーバーヘッドをもたらす。実際に、ＮＡＮＤデータおよびＭＲＡＭデータのために２つの別個のＥＣＣを使用することの魅力の一部は、ＭＲＡＭアレイに意図されたデータに関連付けられたより短いオーバーヘッドから利益を得ることである。言い換えると、仮に、ＮＡＮＤ  ＥＣＣ９５およびＭＲＡＭ  ＥＣＣ９６が、実行可能かつ想定される単一のＥＣＣに組み合わせられる場合、ＥＣＣシンドロームは、たとえ、ＭＲＡＭ  ＥＣＣがＮＡＮＤ  ＥＣＣのＥＣＣシンドロームの一部分であるＥＣＣシンドロームを必要としても、ＮＡＮＤ  ＥＣＣに対応するために十分に大きくある必要がある。これは、ＥＣＣビットが、アレイに記憶される場合にデータに付加されるので、ＭＲＡＭアレイ３４における無駄な空間をもたらす。
【００５４】
図９および図１０は、各々、本発明の方法に従って、ホストからのコマンドを処理する場合にＬＵＮマネージャ９３によって行われる関連ステップのフローチャートを示す。図９は、ホストからの書き込みコマンドを処理するためのフローチャート１２０を示す。ステップ１２２において、新たな書き込みコマンドが、ホストからホストインターフェース２０を通して受信される。次に１２４において、行先ＬＵＮが決定され、書き込まれるデータの行先は、ＬＵＮのＭＲＡＭ部分であるか、ＬＵＮのＮＡＮＤ部分である。データがＭＲＡＭに記憶されるように意図されていることが決定される場合、工程は、物理アドレスが計算されるステップ１２７に続き、そうでない場合、工程は、ステップ１２６に移る。ステップ１２７における物理アドレスの計算の後、ホストから受信されたコマンドは、ステップ１２８において、適切なＬＵＮおよびメモリアレイ部分に向けられ、工程は、１２９において終了する。ステップ１２６において、物理アドレスが割り当てられ、フラッシュ変換レイヤ（ＦＴＬ）テーブルが更新され、これは、ＮＡＮＤのようなフラッシュメモリが採用される場合に必要とされる。
【００５５】
図１０は、ホストからの読み出しコマンドを処理するためのフローチャート１２０を示す。ステップ１２３において、新たな読み出しコマンドが、ホストからホストインターフェース２０を通して受信される。次に、ステップ１３４において、出所ＬＵＮが決定され、読み出されるデータの出所は、ＬＵＮのＭＲＡＭ部分からであるか、ＬＵＮのＮＡＮＤ部分からである。データがＭＲＡＭから読み出されることが決定される場合、工程は、物理アドレスが計算されるステップ１３７に続き、そうでない場合、工程は、ステップ１３６に移る。ステップ１３７における物理アドレスの計算の後、ホストから受信されたコマンドは、ステップ１３８において、適切なＬＵＮおよびメモリアレイ部分に向けられ、工程は、１３９において終了する。ステップ１３６において、物理アドレスは、ＦＴＬテーブルから探索され、これは、ＮＡＮＤのようなフラッシュメモリが採用される場合に必要とされる。
【００５６】
本発明の種々の実施形態を使用することから明白なように、ユーザ体験を向上させ、そのうえ、高費用対効果を達成するために、ＮＡＮＤフラッシュメモリは、より高い性能、信頼性、および耐久性、ことによると、より高価なタイプの媒体（例えば、同一の大容量記憶デバイス内のＭＲＡＭ）を使用することによって、補完される。これは、決定的データを記憶するためによりハイグレードの媒体を使用すること、および、非決定的データを記憶するためにＮＡＮＤフラッシュメモリを使用することによって、ホストがその性能、信頼性、およびユーザ体験を最適化することを可能にする。
【００５７】
ホストソフトウェアは、デバイス能力およびリソースに基づいて、大容量記憶デバイスを多数のＬＵＮに区分し得、各ＬＵＮは、特定のＬＵＮ利用に従って、１つのタイプの媒体、または、異なるタイプの媒体の組み合わせにマッピングされる。
【００５８】
ＭＲＡＭおよびＮＡＮＤフラッシュメモリは、大容量記憶デバイス内で組み合わせられることにより、おそらくさらなる利益の中で、記憶デバイスの性能および信頼性を向上させる。現在、ＭＲＡＭデバイスは、ＮＡＮＤフラッシュメモリよりも高価であり、ＮＡＮＤフラッシュメモリが提供する容量を提供することができないが、ＮＡＮＤフラッシュよりもはるかに高速であり、よりよい信頼性および耐久性を有する。後に続く種々の実施形態において、ＭＲＡＭデバイスは、特定の属性を必要とする決定的データを記憶するために、ホストによって使用される。組み合わせにおいて、ＮＡＮＤフラッシュメモリは、ＭＲＡＭデバイスと共に採用されることにより、より低い費用で大量の記憶量を可能にする。ＮＡＮＤフラッシュメモリは、非決定的ユーザデータを記憶するためにホストによって使用され、非決定的ユーザデータは、より低い性能、信頼性、および耐久性を伴う大容量を必要とする。以前に示されたように、決定的データの例は、ＯＳ、データベースインデックス、および同様のものである。以前に示されたように、非決定的データの例は、写真、映画、および同様のものである。
【００５９】
ＭＲＡＭおよびＮＡＮＤフラッシュを単一のデバイスに統合することを簡単化するために、ＭＲＡＭデバイスは、対応するＮＡＮＤフラッシュデバイスのインターフェースと互換性があるインターフェースを有するように開示される。さらに、ＮＡＮＤフラッシュインターフェースを有するメモリのみをサポートする既存の大容量記憶コントローラ（例えば、マルチメディアカード（ＭＭＣ）、およびユニバーサルシリアルバス（ＵＳＢ））の大多数は、コントローラに対するいずれの変更もなしに、ＭＲＡＭデバイスを使用し得る。いくつかの実施形態において、ＭＲＡＭデバイスは、既知のコントローラおよびＮＡＮＤフラッシュメモリと統合されたＮＡＮＤフラッシュインターフェースを含み、異なるシステム要件に対処するために異なる媒体タイプを有利に有する大容量記憶デバイスを規定するように開示される。
【００６０】
本発明のいくつかの実施形態において、すぐに明白になるように、ＭＲＡＭメモリは、１つ以上の区分、または論理ユニット番号（ＬＵＮ）にマッピングされ、本明細書において「ＭＲＡＭ  ＬＵＮ」と称され、本明細書の上記に説明された特性を必要とするデータタイプに、非常に高い性能で、信頼性がある媒体を提供する。
【００６１】
いくつかの実施形態において、ＮＡＮＤフラッシュメモリは、１つ以上の区分、またはＬＵＮ（「ＮＡＮＤ  ＬＡＮ」）にマッピングされ、ユーザデータ、およびそのような厳しい要件を必要としないデータタイプを記憶するために使用される。いくつかの実施形態において、ＭＲＡＭおよびＮＡＮＤフラッシュメモリの組み合わせは、記憶されるデータのうちのいくつかに対して、高い信頼性および性能のみを必要とするＬＵＮ（「混成ＬＵＮ」）にマッピングされる。そのような構成を使用するホストは、ＬＵＮの属性に基づいて、ＬＵＮを有利に利用する。
【００６２】
いくつかの実施形態において、ＬＵＮは、記憶デバイス製作者によって事前構成され得、ホストは、単に、何らかの先行知識に基づいて、ＬＵＮを使用する。より多目的な構成において、記憶デバイスは、その記憶リソースおよび能力（例えば、ＮＡＮＤフラッシュメモリおよびＭＲＡＭの容量）をホストに報告し、それから、ホストは、その要件に従ってＬＵＮを構成する。
【００６３】
次に、図１１を参照すると、本発明の実施形態に従って、大容量記憶デバイス１０００が、ホスト１２と、コントローラ１４０と、フラッシュインターフェース１６０と、記憶媒体１８０とを含むように示される。コントローラ１４０は、ＮＡＮＤフラッシュインターフェース回路１５０を含むように示され、記憶媒体１８０は、多数のＮＡＮＤフラッシュメモリデバイス２２０と、多数の磁気ランダムアクセスメモリ（ＭＲＡＭ）デバイス２４０とを含むように示される。デバイス２２０は、ＮＡＮＤフラッシュインターフェース回路２６０を含むように示され、デバイス２４０は、ＮＡＮＤフラッシュインターフェース回路２８０を含むように示される。さらに、ＮＡＮＤアレイ３２０のいくつかは、本明細書に「ＮＡＮＤ  ＬＵＮメモリアレイ３６」と称される領域を規定し、ＭＲＡＭアレイ３４０は、その中に「ＭＲＡＭ  ＬＵＮメモリアレイ」３８０と称される領域を規定する。混成ＬＵＮメモリアレイ３００は、デバイス２２０および２４０に
及ぶように示される。
【００６４】
デバイス２２０は、ＮＡＮＤアレイ３２０を含み、デバイス２４０は、ＭＲＡＭアレイ３４０を含む。さらに、デバイス２２０は、ＮＡＮＤ  ＬＵＮメモリアレイ３６０を含み、デバイス２４０は、ＭＲＡＭ  ＬＵＮメモリアレイ３８０を含む。
【００６５】
ホスト１２は、ホストインターフェース２００を通してコントローラ１４０に結合されるように示され、コントローラ１４０は、フラッシュインターフェース１６を通して記憶媒体１８０に結合されるように示される。本態様で、ホスト１２は、他のタイプの情報の中で、コマンド、決定的データ、および非決定的データをホストインターフェース２００を通してコントローラ１４０に送信する。同様に、コントローラ１４０は、フラッシュインターフェース１６０を通してデバイス２２０および２４０にアクセスする。インターフェース２００および１６０の各々は、当業者に容易に知られるインターフェースから作られる。
【００６６】
混成ＬＵＮメモリアレイ３００は、ＮＡＮＤアレイ３２０の一部とＭＲＡＭ部分３４０の一部との組み合わせから作られる。混成ＬＵＮメモリアレイ３００のＮＡＮＤアレイ３２０の一部は、本明細書において、「混成ＬＵＮ  ＮＡＮＤ部分」３００ａと称され、混成ＬＵＮメモリアレイ３００のＭＲＡＭアレイ３４０の一部は、本明細書において、「混成ＬＵＮ  ＭＲＡＭ部分」３００ｂと称される。
【００６７】
いくつかの実施形態において、図１１に示されないが、「ＬＵＮ」は、コントローラ１４０の少なくとも一部を含む。
【００６８】
インターフェース回路１５０、２６０および２８０は、ＮＡＮＤフラッシュ以外であり得、その例は、ＤＤＲ２、ＤＤＲ３、ＤＤＲ４、ＳＰＩ、または任意の他の業界標準または専用インターフェースを含むが、これらに限定されないことが理解される。ＮＡＮＤアレイ３２０およびメモリアレイ３６０は、ＮＡＮＤ以外であり得、任意のタイプの不揮発性メモリであり得、その例は、実質的にＭＲＡＭと異なる特性を持つＲＲＡＭ（登録商標）、ＰＣＭ、または任意の他の不揮発性メモリを含むが、これらに限定されないことがまた理解される。ＭＲＡＭアレイ３４０およびメモリアレイ３８０は、任意のタイプの不揮発性メモリ（例えば、実質的にＮＡＮＤと異なる特性を持つ抵抗変化ランダムアクセスメモリ、相変化メモリであるが、これらに限定されない）であり得ることがさらに理解される。
【００６９】
オペレーション中、ホスト１２は、ホストインターフェース２００を通して、コントローラ１４０に情報を送信し、コントローラ１４０から情報を受信する。この情報は、フラッシュインターフェース１６０を通して記憶媒体１８０にアクセスするために、コントローラ１４０を指揮するように意図されたコマンドおよびデータである。データは、決定的データまたは非決定的データの形態を成し得る。非決定的データをホスト１２から受信すると、コントローラ１４０は、ホスト１２の指揮のもと、ホスト１２によって決定されるように、ＭＲＡＭ  ＬＵＮメモリアレイ３８０および混成ＬＵＮ  ＭＲＡＭ部分３００ｂに非決定的データを書き込む。コントローラ１４０は、そのインターフェース１５０を通して情報を送信および受信し、同様に、デバイス２２０は、そのインターフェース回路２６０を使用して情報を送信および受信し、同様に、デバイス２４０は、そのインターフェース回路２８０を使用して情報を送信および受信する。したがって、インターフェース回路１５０、２６０、および２８０は、互換性がある。
【００７０】
ホスト１２は、ホストコマンドを使用して、インターフェース２００を通して情報を送信および受信する一方、コントローラ１４０は、当業者に周知のフラッシュプロトコルを使用して、インターフェース１６０を通して情報を送信および受信する。
【００７１】
図１１の実施形態において、記憶媒体１８０は、２つのタイプのメモリデバイス、つまり、デバイス２２０および２４０を含み、デバイス２２０および２４０の各々は、別個の相補的な属性を有する。例えば、デバイス２４０は、性能および信頼性が非常に高く、デバイス２２０は、記憶媒体１８０に容量の大部分を提供し、したがって、容量が大きい。
【００７２】
一実施形態において、コントローラ１４０は、これらのデバイス２２０および２４０がどこに配備され、どのように配備されるかの何らかの既知の知識（先験的な情報）に基づいて、記憶デバイス１０００（本明細書において、「大容量記憶デバイス」１０００とも称される）の製造中に、記憶媒体１８０を多数のＮＡＮＤ  ＬＵＮメモリアレイ３６０、ＭＲＡＭ  ＬＵＮメモリアレイ３８０、および混成ＬＵＮメモリアレイ３００に事前構成する。
【００７３】
別のより多目的な実施形態において、大容量記憶デバイス１０００は、デバイス初期化中に、そのリソース（例えば、ＮＡＮＤフラッシュメモリデバイス２２０およびＭＲＡＭデバイス２４０の数およびタイプ）をホスト１２に報告し、ホスト１２０は、その記憶利用要件に従って、大容量記憶デバイス１００を構成する。大容量記憶デバイス１００は、記憶デバイス１８０に構成情報を記憶し、後の電源投入サイクルのために、ホスト１２０に報告するために構成情報を使用する。
【００７４】
さらに別の実施形態において、ホストおよびデバイスの両方は、構成情報を記憶し、後の電源投入サイクル中に、デバイスのいくつかの特有の特性（例えば、ベンダーＩＤ、プロダクトＩＤ、およびシリアル番号）に基づいて、それを復元する。
【００７５】
図１２は、ＮＡＮＤフラッシュメモリデバイス２２０のＮＡＮＤアレイ３２０およびＭＲＡＭデバイス２４０のＭＲＡＭアレイ３４０の物理的表現のさらなる詳細を示す。ＮＡＮＤアレイ３２０は、ＮＡＮＤ  ＬＵＮメモリアレイ３６と混成ＬＵＮ  ＮＡＮＤ部分３００ａとから作られるように示される。ＭＲＡＭアレイ３４０は、本発明の別の実施形態に従って、ＭＲＡＭ  ＬＵＮメモリアレイ３８０と混成ＬＵＮ  ＭＲＡＭ部分３００ｂとから作られるように示される。混成ＬＵＮメモリアレイ３００は、混成ＬＵＮ  ＮＡＮＤ部分３００ａと混成ＬＵＮ  ＭＲＡＭ部分３００ｂとから作られ、多数の混成ＬＵＮメモリアレイ（例えば、混成ＬＵＮメモリアレイ４６〜混成ＬＵＮのメモリアレイ４８０）から作られるように示される。混成ＬＵＮメモリアレイ４６０〜混成ＬＵＮメモリアレイ４８０は、異なるサイズであり、ＭＲＡＭアレイ３８０とＮＡＮＤアレイ３６０との異なる組み合わせから構築され得る。ＮＡＮＤ  ＬＵＮメモリアレイ３６０は、多数のＮＡＮＤ  ＬＵＮメモリアレイ４００〜ＮＡＮＤ  ＬＵＮメモリアレイ４２０に区分されるように示される。ＭＲＡＭ  ＬＵＮメモリアレイ３８０は、多数のＭＲＡＭ  ＬＵＮメモリアレイ５００〜ＭＲＡＭ  ＬＵＮメモリアレイ５２０に区分されるように示される。
【００７６】
図１３は、ＬＵＮ４４０、４３０、および４５０のメモリアレイの例示的な論理表現を示し、ＬＵＮ４４０、４３０、および４５０は各々、別個の属性を有する。混成ＬＵＮ４４０は、混合メモリアレイ４６０（混成ＬＵＮ  ＭＲＡＭ部分４６０ｂおよび混成ＬＵＮ  ＮＡＮＤ部分４６０ａ）から作られ、混合属性ＬＵＮをホスト１２に提供する。ＮＡＮＤ  ＬＵＮ４３０は、ＮＡＮＤ  ＬＵＮメモリアレイ４００から作られ、ＮＡＮＤフラッシュメモリデバイス２２０に関連付けられる属性のみを提供する。ＭＲＡＭ  ＬＵＮ４５０は、ＭＲＡＭ  ＬＵＮメモリアレイ５００から作られ、ＭＲＡＭデバイス２４０に関連付けられる属性のみを提供する。
【００７７】
図１４は、本発明の実施形態に従って、混成ＬＵＮの異なるタイプのメモリアレイの例示的な論理表現を示す。ＬＵＮ５４０、７６０および７８０の各々は、図１１のメモリアレイ３００を含む混成ＬＵＮであり得る。図１４において、混成ＬＵＮ５４０は、より低い論理ブロックアドレス（ＬＢＡ）上のＭＲＡＭメモリアレイ部分５６０と、より高いＬＢＡにおけるＮＡＮＤメモリアレイ部分５８０とを含むように示される。本発明の別の実施形態に従って、混成ＬＵＮ７６０は、ＬＢＡ範囲の中間におけるＭＲＡＭメモリアレイ部分６２０と、ＬＵＮのより低いＬＢＡ範囲およびより高いＬＢＡ範囲における２つのＮＡＮＤメモリアレイ部分６００および６４０とを含むように示される。ＬＵＮ７８０は、２つの異なるＬＢＡ範囲におけるＭＲＡＭメモリアレイ部分６８０および７２０と、ＬＵＮのより低いＬＢＡ範囲、中間のＬＢＡ範囲、および、より上のＬＢＡ範囲における３つのＮＡＮＤメモリアレイ部分６６０、７００、および７４０とを含むように示される。ＬＵＮの異なるメモリアレイのこれらの例示的な論理表現は、ＬＵＮが任意のサイズのものであり得ることを論証している。さらに、混成ＬＵＮのＭＲＡＭメモリアレイ部分およびＮＡＮＤメモリアレイ部分は、任意のサイズであり、ＬＵＮ論理アドレス空間範囲の種々の部分を占め得る。
【００７８】
図１４は、ｆＬＵＮを識別する論理ブロックアドレス（ＬＢＡ）の例を示す。ＬＵＮのいくつかは、連続的であるように示され、その他は、不連続的であるように示される。例えば、ＬＵＮ５４０は、ＭＲＡＭメモリアレイ部分５６０と、後に続くＮＡＮＤメモリアレイＬＵＮ５８０とを含む一方、ＬＵＮ７８０は、ＮＡＮＤメモリアレイを織り交ぜられたＭＲＡＭメモリアレイを含む。どちらのタイプのメモリアレイも、ホストおよび／またはコントローラのＬＵＮ利用に基づいて、任意のＬＢＡによって識別され得ることが留意される。同様に、物理アドレス空間が、メモリアレイ内に不連続的に存在し得る。例えば、ＭＲＡＭメモリアレイ部分５６０は、デバイス２４内で不連続的である物理アドレスを含み得る。同様に、ＮＡＮＤメモリアレイ部分５８０は、デバイス２２内で不連続的である物理ブロックアドレスを含み得る。
【００７９】
図１５は、本発明の実施形態に従って、ＬＵＮ４６０、４００、５００の各々のメモリアレイにホスト１２によって記憶される例示的なデータのタイプを示す。混成ＬＵＮ４６０のＭＲＡＭ部分４６０ｂに記憶される例示的な情報は、オペレーティングシステムのファイルアロケーションテーブル（ＦＡＴ）、ディレクトリ、およびインデックス構造を含み、これらは、頻繁にアクセスされ、システム性能に影響を与える。混成ＬＵＮ４６０のＮＡＮＤ部分４６０ａに記憶される例示的な情報は、ユーザデータを含み、これは、典型的に、ＭＲＡＭ部分４６０ｂに記憶されるタイプのデータ（例えば、決定的データ）ほど多くはアクセスされない。ＮＡＮＤ  ＬＵＮ４０は、ＮＡＮＤメモリアレイのみから作られ、ＦＡＴ、ディレクトリ、およびユーザデータを含む、ＬＵＮに関連付けられるすべてを保持する必要がある。ＭＲＡＭ  ＬＵＮ５００は、高性能ＭＲＡＭアレイからすべて作られ、ＦＡＴ、ディレクトリ、向上したユーザデータ、およびデータベースインデックス構造を記憶するためにホストによって使用されるはずである。本ＬＵＮは、最高の性能を提供し、状況に応じて、ホストによって使用されるはずである。
【００８０】
図１６は、本発明の方法に従って、初期化中に、デバイス１０００および図１のホスト１２によって行われるステップを示す。これらのステップは、ホスト１２によって開始され、デバイス１０００のコントローラ１４０に向けられる。
【００８１】
図１７において、コントローラ１４０は、１００１において、デバイス１０００内のメモリアレイの数およびタイプを見出し、それらのリソース（例えば、記憶媒体１８０がＮＡＮＤデバイス２２０対ＭＲＡＭデバイス２４０を有するか否か、および、記憶媒体１８０がＮＡＮＤデバイス２２０対ＭＲＡＭデバイス２４０をいくつ有するか）をホスト１２に報告し、次に、１０２０において、ホスト１２は、使用要件およびデバイスリソースに従って、デバイス１０００内のＬＵＮを構成する。デバイス１０００は、それに応じて、自身を構成し、構成ファイルを記憶する。その後、１０４０において、デバイス１０００は、記憶された構成ファイルに従って自身を構成し、構成をホスト１２に報告する。
【００８２】
したがって、本発明の種々の実施形態および方法に従って、異なるメモリ媒体（つまり、ＭＲＡＭおよびＮＡＮＤメモリ）を有する記憶デバイスが、開示され、ＭＲＡＭは、ＮＡＮＤメモリよりの読み出し書き込みアクセス時間よりも実質的に速い読み出し書き込みアクセス時間を有する。さらに、ＭＲＡＭは、再プログラムされる前に、消去されることを必要としない。したがって、テーブルおよびテーブル管理に対する必要性が、排除される。本アプローチから利益を得る用途は、小さなＩＯオペレーションおよび部分的ページオペレーションを伴うものを含む多くのものである。そのうえ、ガベージコレクションおよびウェアレベリングが、排除される。ＭＲＡＭがより高い耐久性および信頼性を有し、動的ウェアレベリングも静的ウェアレベリングも必要としないので、データは、はるかに長い時間の間、媒体にとどまる。ＮＡＮＤは、高費用対効果の方法で大量の容量を提供する。上記に従って、デバイス１０のような記憶デバイスは、有利なことに、ＭＲＡＭおよびＮＡＮＤの組み合わせの結果として、異なる属性を有するＬＵＮを生成および管理することができる。
【００８３】
いくつかの実施形態において、ホストは、デバイスリソースおよびその要件に基づいて、デバイス上のＬＵＮを構成する。さらに、ホストは、ＬＵＮの属性に基づいて、ＬＵＮを利用し、決定的データのためにＭＲＡＭ  ＬＵＮを巧妙に使用する。さらに、ホストは、非決定的データのためにＮＡＮＤフラッシュを巧妙に使用する。
【００８４】
本発明の一実施形態において、コントローラ１４は、以前に論じられたように、図１における予約領域３６のような予約領域を管理する一方、ホストは、図１２のメモリアレイの混成ＬＵＮ３００または４８０のような混成ＬＵＮを管理する。
【００８５】
適切な性能および耐久性を有する、ＭＲＡＭ以外のメモリ（例えば、抵抗変化ＲＡＭ（ＲＲＡＭ（登録商標））、相変化メモリ（ＰＣＭ）であるが、これらを含まない）が、本発明の範囲および精神から逸脱することなしに、ＭＲＡＭデバイス２４の代わりに使用され得る。
【００８６】
図１７は、本発明の実施形態に従って、ホスト１２’と、コントローラ１４’と、フラッシュインターフェース１６’と、記憶媒体１８’とを含むサブシステム８００を示す。コントローラ１４’は、ＮＡＮＤフラッシュインターフェース回路１５’を含むように示され、記憶媒体１８’は、ＮＡＮＤフラッシュメモリデバイス２２と、磁気ランダムアクセスメモリ（ＭＲＡＭ）デバイス２４とを含むように示される。サブシステム８００は、サブシステム８００のコントローラ１４’がホスト１２’の内部に存在することを除いて、図１のサブシステム１０に類似している。同様に、コントローラ１４’の一部である回路１５’は、ホスト１２’内に存在する。
【００８７】
回路１４’は、標準ＮＡＮＤフラッシュインターフェース回路以外（例えば、ＤＤＲ２、ＤＤＲ３、ＤＤＲ４、ＳＰＩ、または任意の他の業界標準または専用インターフェース）であり得ることが理解される。これは、ＮＡＮＤフラッシュインターフェース回路１５’、２６、および２８に適用される。インターフェース１６’は、１つのインターフェースであり、インターフェース回路１５’をインターフェース回路２６および２８に結合する。いくつかの実施形態において、ＮＡＮＤアレイ３２およびＮＡＮＤ  ＬＵＮメモリアレイ３６は、ＮＡＮＤ以外（例えば、実質的にＭＲＡＭと異なる特性を持つＲＲＡＭ（登録商標）、相変化メモリ（ＰＣＭ）、または任意の他の不揮発性メモリ）から作られ得る。
【００８８】
いくつかの実施形態において、インターフェース回路２６および２８は、異なるタイプのものである。例えば、インターフェース回路２６は、標準ＮＡＮＤインターフェースであり、インターフェース回路２８は、ＤＤＲ４である。その実施形態において、インターフェース回路１５’は、異なるタイプのインターフェース回路２６および２８の両方をサポートし、インターフェース１６’は、インターフェース１５’をインターフェース回路２６および２８に結合するために適切にされている。上記の代替実施形態は、図１のデバイス１０のような、前の図面において示され、前の図面に関して説明された本発明の実施形態に適用される。
【００８９】
ＮＡＮＤフラッシュメモリデバイス２２およびＭＲＡＭデバイス２４は、本発明の実施形態において、同一のダイ上にある。これらの実施形態に対して、マルチチップパッケージ（ＭＣＰ）が、不動産（ｒｅａｌ  ｅｓｔａｔｅ）を減少させ、速度を増加させ、かつ、電力消費を最小にするために使用される。これらの属性は、レイアウトを簡単化し、有益なボード空間を節約し、ますます複雑な小型モバイルデバイス（例えば、スマートフォンおよびタブレット）の設計において非常に望ましい。後者の用途において、ホストによって要求される追加のメモリタイプは、単一のＭＣＰの一部であり得る。例えば、ＤＲＡＭ、ＳＤＲＡＭ、ＬＰＤＲＡＭ、ＮＯＲ、または任意の他のデバイスは、ＮＡＮＤおよびＭＲＡＭと共に単一のＭＣＰパッケージに追加されることにより、（モバイル用途における）モバイルデバイスのホストによって要求されるすべてのメモリを提供し、不動産をさらに減少させ得る。
【００９０】
図１８は、本発明の種々の実施形態の例示的な用途を示す。図１８において、モバイルデバイスサブシステム１８００は、その分解図において、ホスト１２’と、メモリサブシステム１８１２とを含むように示される。メモリサブシステム１８１２は、図１８のメモリサブシステム１８１２が、記憶媒体１８’に加えて、ＮＯＲフラッシュ１８０６とＬＰＤＲＡＭ  １８０４とを含むように示されることを除いて、図１７の実施形態に類似している。記憶媒体１２’は、記憶媒体１８に類似し、ホスト１２’は、ホスト１２’がＮＯＲフラッシュ１８０６およびＬＰＤＲＡＭ  １８０４と通信するように装備されていることを除いて、ホスト１２に類似する。図１８において、ＮＯＲフラッシュ１８０６は、ＮＯＲフラッシュインターフェース１８０８を通してホスト１２’に結合されるように示され、ＬＰＤＲＡＭ  １８０４は、ＬＰＤＲＡＭインターフェース１８１０を通してホスト１２’に結合されるように示される。本発明の実施形態において、ＮＯＲフラッシュ１８０６およびＬＰＤＲＡＭ  １８０４は、記憶媒体１８’と同一のパッケージにパッケージされる。本発明の別の実施形態において、ＮＯＲフラッシュ１８０６およびＬＰＤＲＡＭ  １８０４は、記憶媒体１８’とは別のパッケージにパッケージされる。
【００９１】
当該技術分野において容易に知られるように、ＮＯＲフラッシュ１８０６は、例示的な不揮発性メモリであり、他のタイプの不揮発性メモリが、想定される。ＬＰＤＲＡＭ  １８０４は、揮発性メモリの例であり、他の揮発性メモリが、想定される。
【００９２】
本発明の実施形態において、ホスト１２’は、典型的に、コード／ソフトウェアプログラムを記憶するため、および、ポータブルエレクトロニクスデバイス（例えば、携帯電話サブシステム１８００およびパーソナルデバイスアシスタント（ＰＤＡ））における直接実行のために、ＮＯＲフラッシュ１８０６を使用する。そのうえ、ホスト１２’は、これらのデバイスを構成するためにＮＯＲフラッシュ１８０６を使用する。今日のフル装備の携帯電話に対して、多くの設計者が、データ記憶のためにＮＯＲタイプフラッシュとＮＡＮＤタイプフラッシュを組み合わせるメモリアーキテクチャを利用し、またはプログラムコードがシャドウイングおよび実行され得るＤＲＡＭのような低電力メモリとの組み合わせにおける主要フラッシュメモリとしてＮＡＮＤを利用している。いずれの場合も、異なるタイプのメモリが、しばしば、単一の構成要素を生成するためにマルチチップパッケージ（ＭＣＰ）に積み重ねられる。ホスト１２’は、コードおよびデータの一時記憶のＬＰＤＲＡＭ  １８０４実行を利用する。
【００９３】
本明細書において使用される場合、「ホスト」は、当業者に周知の中央処理装置（ＣＰＵ）を表すか、またはそれを含むことが理解される。ＣＰＵは、メモリに記憶されるプログラムを実行する。
【００９４】
本発明が、特定の実施形態の点から説明されてきたが、その変更および改変が、疑いなく、当業者に明らかとなることが想定される。したがって、以下の特許請求の範囲は、本発明の精神および範囲内にあるそのような変更および改変のすべてを含むように解釈されることが意図される。
【符号の説明】
【００９５】
１０  大容量記憶デバイス
１４  コントローラ
１５  ＮＡＮＤフラッシュインターフェース回路
１６  フラッシュインターフェース
１８  記憶媒体
２０  ホストインターフェース
２２  ＮＡＮＤフラッシュメモリデバイス
２４  ＭＲＡＭデバイス
２６、２８  ＮＡＮＤフラッシュインターフェース回路
３０  混成ユーザ領域
３２  ＮＡＮＤアレイ
３４  ＭＲＡＭアレイ
３６混成予約領域
【図１】
2015026379.tif 000003
【図２】
2015026379.tif 000004
【図３】
2015026379.tif 000005
【図４】
2015026379.tif 000006
【図５】
2015026379.tif 000007
【図６】
2015026379.tif 000008
【図７】
2015026379.tif 000009
【図８】
2015026379.tif 000010
【図９】
2015026379.tif 000011
【図１０】
2015026379.tif 000012
【図１１】
2015026379.tif 000013
【図１２】
2015026379.tif 000014
【図１３】
2015026379.tif 000015
【図１４】
2015026379.tif 000016
【図１５】
2015026379.tif 000017
【図１６】
2015026379.tif 000018
【図１７】
2015026379.tif 000019
【図１８】
2015026379.tif 000020