(57)【特許請求の範囲】
【請求項１】
ホストコントローラから準備コマンドを受け取る段階であって、その準備コマンドは、１つ以上のその後のマルチページ動作に対して不揮発性メモリを準備するための情報を含み、更に、その準備コマンドは、マルチページ動作の前に使用され、マルチページ動作に関連したマルチページコマンドの使用を最適化するよう構成されたものである段階と、
前記準備コマンドに基づいて不揮発性メモリにおけるその後のマルチページ動作の準備をするように不揮発性メモリを構成する段階と、
を備え、
前記準備コマンドにおける情報は、前記マルチページコマンドを遂行すべきアドレスの数に関連したアドレスカウントを含む、
方法。
【請求項２】
前記構成する段階は、コマンドの順序を変更するか又は最適なコマンドセットを使用することを含む、請求項１に記載の方法。
【請求項３】
前記準備コマンドは、読み取り又はプログラムコマンドの少なくとも１つである、請求項１に記載の方法。
【請求項４】
前記準備コマンドは、状態要求コマンドである、請求項１に記載の方法。
【請求項５】
前記その後のマルチページ動作は、マルチページプログラム動作である、請求項１に記載の方法。
【請求項６】
不揮発性メモリ装置へ第１コマンドを送信する段階であって、その第１コマンドは、前記不揮発性メモリ装置の不揮発性メモリを、その不揮発性メモリにおけるその後の動作の準備のために構成するように働き、更に、その第１コマンドは、その後の動作を分析してその後の動作を最適化させるための情報を含むものである段階と、
前記不揮発性メモリ装置へ第２コマンドを送って、前記不揮発性メモリにおける動作を遂行する段階と、
前記動作から得られるデータを受け取る段階と、
を備え、
前記第１コマンドにおける情報は、前記第２コマンドを遂行すべきアドレスの数に関連したアドレスカウントを含む、
方法。
【請求項７】
前記構成は、コマンドの順序を変更するか又は最適なコマンドセットを使用することを含む、請求項６に記載の方法。
【請求項８】
前記第１コマンドは、読み取り又はプログラムコマンドの少なくとも１つである、請求項６に記載の方法。
【請求項９】
前記第１コマンドは、状態要求コマンドである、請求項６に記載の方法。
【請求項１０】
前記第２コマンドは、マルチページプログラム動作である、請求項６に記載の方法。
【請求項１１】
ホストコントローラから準備コマンドを受け取るよう構成されたインターフェイスであって、その準備コマンドは、その後のマルチページ動作に対して不揮発性メモリを準備するための情報を含み、更に、その準備コマンドは、マルチページ動作の前に使用され、マルチページ動作に関連したマルチページコマンドの使用を最適化するよう構成されたものであるインターフェイスと、
前記インターフェイスに結合され、前記準備コマンドに基づいて不揮発性メモリにおけるその後のマルチページ動作の準備をするように不揮発性メモリを構成するよう動作できるコントローラと、
を備え、
前記準備コマンドにおける情報は、前記マルチページコマンドを遂行すべきアドレスの数に関連したアドレスカウントを含む、
装置。
【請求項１２】
前記コントローラは、コマンドの順序を変更するか又は最適なコマンドセットを使用することにより不揮発性メモリを構成する、請求項１１に記載の装置。
【請求項１３】
前記準備コマンドは、読み取り又はプログラムコマンドの少なくとも１つである、請求項１１に記載の装置。
【請求項１４】
前記準備コマンドは、状態要求コマンドである、請求項１１に記載の装置。
【請求項１５】
複数のコマンドを記憶するメモリと、
前記メモリに結合されたプロセッサであって、
不揮発性メモリ装置へ第１コマンドを送信し、その第１コマンドは、前記不揮発性メモリ装置の不揮発性メモリを、その不揮発性メモリにおけるその後の動作の準備のために構成するように働き、更に、その第１コマンドは、その後の動作を分析してその後の動作を最適化させるための情報を含むものであり、
前記不揮発性メモリ装置へ第２コマンドを送って、前記不揮発性メモリにおける動作を遂行し、
前記動作から得られるデータを受け取る、
ように構成できるものであるプロセッサと、
を備え、
前記第１コマンドにおける情報は、前記第２コマンドを遂行すべきアドレスの数に関連したアドレスカウントを含む、
システム。
【請求項１６】
前記構成は、コマンドの順序を変更するか又は最適なコマンドセットを使用することを含む、請求項１５に記載のシステム。
【請求項１７】
前記第１コマンドは、読み取り又はプログラムコマンドの少なくとも１つである、請求項１５に記載のシステム。
【請求項１８】
前記第１コマンドは、状態要求コマンドである、請求項１５に記載のシステム。
【請求項１９】
前記その後の動作は、マルチページプログラム動作である、請求項１５に記載のシステム。
【請求項２０】
不揮発性メモリ装置へ第１コマンドを送信する手段であって、その第１コマンドは、前記不揮発性メモリ装置の不揮発性メモリを、その不揮発性メモリにおけるその後の動作の準備のために構成するように働き、更に、その第１コマンドは、その後の動作を分析してその後の動作を最適化させるための情報を含むものである手段と、
前記不揮発性メモリ装置へ第２コマンドを送って、前記不揮発性メモリにおける動作を遂行する手段と、
前記動作から得られるデータを受け取る手段と、
を備え、
前記第１コマンドにおける情報は、前記第２コマンドを遂行すべきアドレスの数に関連したアドレスカウントを含む、
装置。
【請求項２１】
前記その後のマルチページ動作は、マルチページプログラム動作である、請求項１１に記載の装置。
【請求項２２】
前記コントローラは、更に、全シーケンスの中のサブシーケンスを識別するために遂行されるプログラム動作のパターンを分析して、そのサブシーケンスの実行によってより最適なデータ転送を得るよう動作できる、請求項１１に記載の装置。
【請求項２３】
前記その後のマルチページ動作は、前記不揮発性メモリに関連したメモリブロックのストライドをプログラムするためのマルチページプログラム動作を含み、前記メモリブロックのストライドは、異なるアドレスユニットに関連した少なくとも２つのメモリブロックを含む、請求項１１に記載の装置。
【請求項２４】
前記その後の動作は、マルチページプログラム動作である、請求項１５に記載のシステム。
【請求項２５】
前記プロセッサは、更に、前記第１コマンドを送信すると同時に前記不揮発性メモリ装置からフィードバックを受信するよう構成でき、前記フィードバックは、前記不揮発性メモリ装置内で現在使用中である平面、ダイ又はバスを記述する情報を含む、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、管理型不揮発性メモリ（ＮＶＭ）のアクセス及び管理に係る。
【背景技術】
【０００２】
フラッシュメモリは、電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）の一形式である。フラッシュメモリは、不揮発性で、比較的高密度であるから、ハンドヘルドコンピュータ、移動電話、デジタルカメラ、ポータブル音楽プレーヤ、及び他の記憶解決策（例えば、磁気ディスク）では不適当な多数の他の装置において、ファイル及び他の持続的オブジェクトを記憶するのに使用される。
【０００３】
ＮＡＮＤは、ハードディスク又はメモリカード等、ブロック装置のようにアクセスできるフラッシュメモリの一形式である。各ブロックは、多数のページ（例えば、６４ないし１２８ページ）で構成される。典型的なページサイズは、４ＫＢ−８ＫＢバイトである。ＮＡＮＤ装置は、各々４０９６ないし８１９２個のブロックを有する複数のダイを有することができる。各ページには、エラー検出及び修正チェック和の記憶に使用される多数のバイトが関連付けられる。読み取り及びプログラミングは、ページベースで行われ、消去は、ブロックベースで行われ、そしてブロックのデータは、順次に書き込むことしかできない。ＮＡＮＤは、通常の装置動作中にフリップすることのあるビットを補償するためにエラー修正コード（ＥＣＣ）に依存する。消去又はプログラム動作を行うときには、ＮＡＮＤ装置は、プログラム又は消去し損なったブロックを検出して、それらブロックを不良ブロックマップに不良とマークすることができる。データは、異なる良好なブロックに書き込むことができ、不良ブロックマップは、更新することができる。
【０００４】
管理型ＮＡＮＤ装置は、生のＮＡＮＤをメモリコントローラと結合し、ＮＡＮＤメモリのエラー修正及び検出、並びにメモリ管理機能を取り扱う。管理型ＮＡＮＤは、マルチメディアメモリカード（ＭＭＣ）及びセキュアなデジタル（ＳＤ）カードのような標準的プロセッサインターフェイスをサポートするボールグリッドアレイ（ＢＧＡ）パッケージ又は他の集積回路（ＩＣ）パッケージにおいて商業的に入手できる。管理型ＮＡＮＤ装置は、１つ以上のチップセレクト信号を使用してアクセスできる多数のＮＡＮＤ装置又はダイを含むことができる。チップセレクトは、同じバスに選択された多数のチップのうちの１つのチップを選択するためにデジタル電子装置に使用される制御ラインである。チップセレクトは、典型的に、ほとんどのＩＣパッケージ上にあるコマンドピンで、装置の入力ピンをその装置の内部回路へと接続するものである。チップセレクトピンがインアクティブ状態に保持されるときは、チップ又は装置は、その入力ピンの状態の変化を無視する。チップセレクトピンがアクティブ状態に保持されるときは、チップ又は装置は、バス上の唯一のチップであるかのように応答する。
【０００５】
オープンＮＡＮＤフラッシュインターフェイスワーキンググループ（ＯＮＦＩ）は、異なるベンダーからの適合ＮＡＮＤ装置間の相互動作を許すためにＮＡＮＤフラッシュチップ用の標準低レベルインターフェイスを開発した。ＯＮＦＩ仕様バージョン１．０は、次のものを指定している。即ち、ＴＳＯＰ−４８、ＷＳＯＰ−４８、ＬＧＡ−５２及びＢＧＡ-６３パッケージ内のＮＡＮＤフラッシュのための標準物理的インターフェイス（ピンアウト）；ＮＡＮＤフラッシュチップを読み取り、書き込み及び消去するための標準コマンドセット；及び自己識別のメカニズム。ＯＮＦＩ仕様バージョン２．０は、奇数チップセレクト（チップイネーブル又は“ＣＥ”とも称される）がチャンネル１に接続されそして偶数ＣＥがチャンネル２に接続されたデュアルチャンネルインターフェイスをサポートする。この物理的なインターフェイスは、全パッケージに対してＣＥが８個以下でなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＯＮＦＩ仕様は、相互動作を許すが、現在のＯＮＦＩ仕様は、管理型ＮＡＮＤ解決策の完全な利点を取り入れていない。
【課題を解決するための手段】
【０００７】
不揮発性メモリシステムのマルチページ準備コマンドが開示される。マルチページ準備コマンドは、来るべきマルチページプログラム動作に対し不揮発性メモリ装置を準備するのに使用できるデータを供給する。ホストコントローラは、マルチページプログラム動作の前に、マルチページプログラムコマンドの使用を最適化するためのコマンドを使用することができる。不揮発性メモリ装置は、コマンドの順序を変更するか又はその後の動作に最適なコマンドセットを使用する、等のその後の動作に対する準備において不揮発性メモリを構成するコマンドを使用することができる。
【図面の簡単な説明】
【０００８】
【図１】管理型ＮＶＭパッケージに結合されたホストプロセッサを含む規範的メモリシステムのブロック図である。
【図２】図１の管理型ＮＶＭパッケージのための規範的アドレスマッピングを示す。
【図３】不良ブロック交換を含む図２のアドレスマッピングを示す。
【図４】マルチページ準備コマンドを受信するためのＮＶＭパッケージを示す。
【図５】規範的なマルチページ準備動作のタイミング図である。
【図６】マルチページ準備コマンドを処理するためにホストコントローラにより遂行される規範的なプロセスのフローチャートである。
【図７】マルチページ準備コマンドを処理するために不揮発性メモリ装置により遂行される規範的なプロセスのフローチャートである。
【発明を実施するための形態】
【０００９】
メモリシステムの概略
図１は、管理型ＮＶＭパッケージ１０４（例えば、ＮＡＮＤ装置）に結合されたホストコントローラ１０２を含む規範的なメモリシステム１００のブロック図である。ＮＶＭパッケージ１０４は、複数のＮＶＭ装置１０８（例えば、複数の生のＮＡＮＤダイ）を含むＢＧＡパッケージ又は他のＩＣパッケージである。メモリシステム１００は、これに限定されないが、ハンドヘルドコンピュータ、移動電話、デジタルカメラ、ポータブル音楽プレーヤ、玩具、サムドライブ、ｅ−メール装置、及び不揮発性メモリが望まれ又は要求される他の装置を含む種々の装置に使用することができる。ここに使用する「生のＮＶＭ」は、外部のホストプロセッサにより管理されるメモリ装置又はパッケージであり、そして管理型ＮＶＭは、少なくとも１つの内部メモリ管理機能、例えば、エラー修正、ウェアレベリング、不良ブロック管理、等を含むメモリ装置又はパッケージである。
【００１０】
ある具現化において、ＮＶＭパッケージ１０４は、内部チップセレクト信号を使用して内部チャンネルを経てＮＶＭ装置１０８にアクセスしそして管理するためのコントローラ１０６を備えることができる。内部チャンネルは、コントローラ１０６とＮＶＭ装置１０８との間のデータ経路である。コントローラ１０６は、メモリ管理機能（例えば、ウェアレベリング、不良ブロック管理）を行うことができ、そしてデータエラー（例えば、フリップしたビット）を検出し修正するためのエラー修正（ＥＣＣ）エンジン１１０を含むことができる。ある具現化において、ＥＣＣエンジン１１０は、コントローラ１０６におけるハードウェアコンポーネントとして、又はコントローラ１０６により実行されるソフトウェアコンポーネントとして具現化することができる。ある具現化において、ＥＣＣエンジン１１０は、ＮＶＭ装置１０８に配置することができる。
【００１１】
ある具現化において、ホストコントローラ１０２及びＮＶＭパッケージ１０４は、ホスト（ホストチャンネル）に見える通信チャンネルを経て情報（例えば、制御コマンド、アドレス、データ）を通信することができる。ホストチャンネルは、ＯＮＦＩ仕様バージョン２．０に述べられたように、生のＮＡＮＤインターフェイス又はデュアルチャンネルインターフェイスのような標準インターフェイスをサポートすることができる。又、ホストコントローラ１０２は、ホストチップイネーブル（ＣＥ）信号を与えることもできる。ホストＣＥは、ホストコントローラ１０２を見て、ホストチャンネルを選択することができる。
【００１２】
規範的なメモリシステム１００において、ＮＶＭパッケージ１０４は、ＣＥハイディング(hiding)をサポートする。ＣＥハイディングは、ＮＶＭパッケージ１０４の各内部チャンネルに対して単一のホストＣＥを使用して、ＮＶＭパッケージ１０４のインターフェイスをサポートするのに必要な信号の数を減少することができる。メモリアクセスは、図２及び３を参照して述べるように、アドレススペース及びアドレスマッピングを使用して、内部チャンネル及びＮＶＭ装置１０８へマップさせることができる。個々のＮＶＭ装置１０８は、コントローラ１０６により発生された内部ＣＥ信号を使用してイネーブルすることができる。
【００１３】
規範的なアドレスマッピング
図２は、図１の管理型ＮＶＭパッケージ１０４のための規範的なアドレスマッピングを示す。特に、マッピングは、潜在的に複数の平面を各々含む複数のダイを備えた管理型ＮＶＭ装置に使用することができる。ある具現化において、アドレスマッピングは、同時アドレス可能なユニット（ＣＡＵ）において動作される。ＣＡＵは、ＮＶＭパッケージ内の他のＣＡＵと同時に又はそれと並列に読み取られ、プログラムされ又は消去される単一のホストチャンネルからアクセスできる物理的記憶装置の一部分である。ＣＡＵは、例えば、単一平面又は単一ダイでよい。ＣＡＵサイズは、ＣＡＵにおける消去可能なブロックの数である。
【００１４】
マッピングは、図２の規範的メモリアーキテクチャーを使用して説明する。この規範的アーキテクチャーについては、ブロックサイズは、消去可能なブロックにおけるページの数として定義される。ある具現化では、４キロバイトのデータごとに１６バイトのメタデータが使用できる。他のメモリアーキテクチャーも考えられる。例えば、メタデータは、より多くの又はより少ないバイトが割り当てられてもよい。
【００１５】
図２に示されたアドレスマッピングは、ＮＡＮＤブロックを読み取り／プログラムし／消去するための生のＮＡＮＤプロトコル、及び最適な性能を可能にする付加的なコマンドの使用を許す。ＮＶＭパッケージ１０４は、ＮＡＮＤのデータ信頼性を管理するためのＥＣＣエンジン（例えば、ＥＣＣエンジン１１０）を備えている。従って、ホストコントローラ１０２は、ＥＣＣエンジン１１０を含んだり又は信頼性の目的でデータを処理したりする必要はない。
【００１６】
ＮＶＭパッケージ１０４は、ＣＡＵを、他のＣＡＵと同時に又はそれと並列にアクセスできる（例えば、ＮＡＮＤメモリセルから内部レジスタへデータを移動する）エリアとして定義する。この規範的アーキテクチャーでは、全てのＣＡＵが同数のブロックを含むと仮定する。他の具現化では、ＣＡＵは、異なる数のブロックを有することができる。以下のテーブルＩは、ＣＡＵのページにアクセスするための規範的な行アドレスフォーマットを示す。
【表１】
0005519779.tif 000002
【００１７】
テーブルＩを参照すれば、規範的なｎビット（例えば、２４ビット）行アドレスは、次のフォーマット、即ち［ＣＡＵ：Ｂｌｏｃｋ：Ｐａｇｅ］でＮＡＮＤ装置のコントローラへ与えることができる。ＣＡＵは、ダイ或いは平面を表す数字（例えば、整数）である。Ｂｌｏｃｋは、ＣＡＵ数字で識別されたＣＡＵのブロックオフセットであり、そしてＰａｇｅは、Ｂｌｏｃｋで識別されたブロックにおけるページオフセットである。例えば、ブロック当たり１２８ページ、ＣＡＵ当たり８１９２ブロック及び６個のＣＡＵをもつ装置では、Ｘが７（２７＝１２８）となり、Ｙが１３（２１３＝８１９２）となり、そしてＺが３（２２＜６＜２３）となる。
【００１８】
図２に示す規範的なＮＶＭパッケージ１０４は、２つのＮＡＮＤダイ２０４ａ、２０４ｂを含み、そして各ダイは、２つの平面を有する。例えば、ダイ２０４ａは、平面２０６ａ、２０６ｂを含む。そして、ダイ２０４ｂは、平面２０６ｃ、２０６ｄを含む。この例では、各平面はＣＡＵであり、そして各ＣＡＵは、２０４８個のマルチレベルセル（ＭＬＣ）ブロックを有し、ブロック当たり１２８ページである。プログラム及び消去動作は、ブロックのストライド（各ＣＡＵからのブロック）で行うことができる。ストライドは、異なるＣＡＵから各々到来するブロックのアレイとして定義される。ここに示す例では、「ストライド０」は、ＣＡＵ０−３の各々からのブロック０を定義し、「ストライド１」は、ＣＡＵ０−３の各々からのブロック１を定義し、「ストライド２」は、ＣＡＵ０−３の各々からのブロック２を定義し、等々である。
【００１９】
ＮＶＭパッケージは、制御バス２０８及びアドレス／データバス２１０を通してＣＡＵと通信するＮＶＭコントローラ２０２を備えている。動作中に、ＮＶＭコントローラ２０２は、ホストコントローラ（図示せず）からコマンドを受け取り、そしてそのコマンドに応答して、制御バス２０８に制御信号を及びアドレス／データバス２１０にアドレス又はデータをアサートし、１つ以上のＣＡＵに対する動作（例えば、読み取り、プログラム又は消去動作）を遂行する。ある具現化では、コマンドは、図２を参照して述べるように、［ＣＡＵ：Ｂｌｏｃｋ：Ｐａｇｅ］の形態の行アドレスを含む。
【００２０】
図３は、不良ブロック交換を含む図２のアドレスマッピングを示す。この例では、ホストコントローラ１０２は、ＮＶＭパッケージ１０４のためのストライドアドレスを発行する。ＮＶＭパッケージは、３つのＣＡＵを含み、それらＣＡＵの１つは、ストライドブロックオフセットに不良ブロックを保持する。「ストライド４」アドレスは、通常、ＣＡＵ０：Ｂｌｏｃｋ４、ＣＡＵ１：Ｂｌｏｃｋ４、及びＣＡＵ２：Ｂｌｏｃｋ４をアドレスする。しかしながら、この例では、不良ブロックＣＡＵ１：Ｂｌｏｃｋ４は、ＣＡＵ１：Ｂｌｏｃｋ２０００に置き換えられる。
【００２１】
マルチページ準備コマンドを受信するための規範的なＮＶＭパッケージ
図４は、マルチページ準備コマンドを受信するためのＮＶＭパッケージを示す。ある具現化では、ＮＶＭパッケージ４００は、外部ホストコントローラ（図示せず）から受信したマルチページ準備コマンドのリストを維持するコントローラ４０２を備えている。このコマンドは、マルチページプログラム動作のようなマルチページ動作に対してＣＡＵを準備するためにコントローラが使用できる行アドレス［ＣＡＵ：Ｂｌｏｃｋ：Ｐａｇｅ］を含むことができる。
【００２２】
ＮＶＭパッケージ４００は、最適なコマンドセットを順序付けし及び使用してページをプログラムし又は他の動作を遂行するためにマルチページ準備コマンドにより供給される行アドレスの利点を取り入れることができる。ある具現化では、次の２つのものを転送するためのコマンドに３バイトのアドレスが使用される。
●バイト０：情報を使用するコマンド、及び
●バイト１−２：アドレスカウント：マルチページ動作においてアクセスされるページ数。
【００２３】
データバイト（入力／書き込み）は、来るべきマルチページ動作に使用されるページアドレス（行）を転送するのに使用できる。アドレスカウント及びページアドレスは、両方とも、リトルエンディアンである。
【００２４】
図５は、規範的なマルチページ準備動作のためのタイミング図である。ある具現化では、ホストコントローラは、プログラムされるべきページ数をＮとすれば、３＊Ｎより多くのバイトを転送することができる。ここに示す例では、マルチページプログラム準備動作について説明する。他の形式の動作を使用することもできる。
【００２５】
第１のコードＢ０ｈは、マルチページプログラム準備動作を指示する。ＣＭＤは、ページアドレスＷ−ａｄｄｒ［０］、Ｗ−ａｄｄｒ［１］及びＷ−ａｄｄｒ［２］をデータと共にプログラムするためにホストコントローラが使用するマルチページプログラムコマンドを示す。２つのバイトＣｏｕｎｔ−０及びＣｏｕｎｔ−１は、カウントに続くページアドレスＷ−ａｄｄｒ［ｘ］の数を指示する。この例では、３ページアドレスがカウントバイトに続く。ホストコントローラは、（例えば、最後のコマンドを使用して）ページＮより早くプログラム動作を終了するように選択することができる。ＮＶＭパッケージは、動作を正しく終了することができる。転送される全てのページをプログラムすることができる。プログラムされないページは、消去されたままとし、後でプログラムすることができる。コード７７ｈ及びそれに続くコード００ｈ、００ｈ、００ｈ及び４０ｈは、ページがプログラムされたかどうか決定するための状態要求コマンドを表す。
【００２６】
マルチページ準備動作に続いて、ホストコントローラは、動作状態をチェックし、そして状態値に基づいて応答又は行動することができる。以下のテーブルIIは、読み取り動作状態が返送する異なる値を指定すると共に、ホストコントローラが何を行うか説明する。
【表２】
0005519779.tif 000003
【００２７】
ホストコントローラにより遂行される規範的なプロセス
図６は、マルチページ準備コマンドを処理するためにホストコントローラにより遂行される規範的なプロセス６００のフローチャートである。ある具現化において、プロセス６００は、不揮発性メモリ装置へ第１コマンドを送信することにより開始される（６０２）。この第１コマンドは、不揮発性メモリ装置の不揮発性メモリを、その不揮発性メモリにおけるその後の動作の準備のために構成するように働く。
【００２８】
ある具現化において、装置のコントローラは、準備コマンドを使用してＣＡＵイネーブル及びアドレススキームをキューイングすることができる。他の具現化では、コントローラは、準備コマンドと共にフィードバック情報を同時に受信することができる。一例において、フィードバック情報は、ビジーである平面、ダイ又はバスを記述し、コントローラにより別の経路を選択して使用し、メモリ動作を遂行できるようにする。
【００２９】
ＮＶＭ装置内のある生のＮＡＮＤダイは、「２平面キャッシュモードプログラム」のような種々の進歩型動作をサポートすることができる。ＮＶＭコントローラは、準備コマンドに存在する情報を使用して、より最適なデータ転送を得るため進歩型動作を適用できる全シーケンスの中のサブシーケンスをおそらく識別するために遂行されるプログラム動作のパターンを分析することができる。ＮＶＭ装置とホストコントローラの相互動作を支配するプロトコルは、ブロックの各ストライド内でページアドレスを増加する全ストライドより成る動作シーケンスを可能にするための準備コマンドを含むことができる。ＮＶＭ装置のベンダーは、準備コマンドを使用し、生のＮＡＮＤ装置の性能向上特徴を使用して、ホストコントローラスタックの開発者がその性能向上特徴の特定の詳細を知らなくてもよいようにする。
【００３０】
不揮発性メモリ装置に第２コマンドが送られて、動作を遂行する（６０４）。動作から得られるデータが不揮発性メモリ装置から受け取られる（６０６）。
【００３１】
メモリ装置により遂行される規範的なプロセス
図７は、マルチページ準備コマンドを処理するために不揮発性メモリ装置により遂行される規範的なプロセス７００のフローチャートである。ある具現化において、プロセス７００は、ホストコントローラからコマンドを受け取ることにより開始される（７０２）。このコマンドは、マルチページプログラム準備コマンドである。不揮発性メモリは、準備コマンドに基づいて不揮発性メモリにおけるその後の動作について準備するように構成される（７０４）。その構成は、コマンドの順序の変更、又は最適なコマンドセットを使用することを含む。
【００３２】
本書は、多数の仕様を含むが、それは、特許請求の範囲を限定するものではなく、特定の実施形態特有の特徴を説明したものである。別々の実施形態に関して本書に述べた幾つかの特徴は、単一の実施形態において組み合わせて具現化できるものである。逆に、単一の実施形態に関して説明した種々の特徴を複数の実施形態において別々に又は適当な準組み合わせで具現化することもできる。更に、それらの特徴は、幾つかの組み合わせで作用するものとして上述され、最初にそのように請求されるが、請求された組み合わせからの１つ以上の特徴を、あるケースでは、その組み合わせから削除してもよく、又、請求された組み合わせを準組み合わせ又は準組み合わせの変形へと向けてもよい。
【００３３】
同様に、動作は、図面に特定の順序で示したが、そのような動作を、図示された特定の順序又は逐次の順序で遂行すること、或いは図示された全ての動作を遂行して希望の結果を得ることが要求されると理解してはならない。ある環境では、マルチタスク及び並列処理が効果的である。更に、上述した実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてそのような分離が要求されると理解してはならず、又、ここに述べたプログラムコンポーネント及びシステムは、一般的に、単一のソフトウェア製品に一緒に一体化したり、又は複数のソフトウェア製品へパッケージしたりできることも理解されたい。
【００３４】
以上、特定の実施形態について説明した。特許請求の範囲内で他の実施形態も考えられる。
【符号の説明】
【００３５】
１００：メモリシステム
１０２：ホストコントローラ
１０４：ＮＶＭパッケージ
１０６：コントローラ
１０８：ＮＶＭ装置
１１０：ＥＣＣエンジン
２０２：ＮＶＭコントローラ
２０４：ダイ
２０６：平面
２０８：制御バス
２１０：アドレス／データバス
４００：ＮＶＭパッケージ
４０２：コントローラ
４０６：コマンドのリスト
【図１】
0005519779.tif 000004
【図２】
0005519779.tif 000005
【図３】
0005519779.tif 000006
【図４】
0005519779.tif 000007
【図５】
0005519779.tif 000008
【図６】
0005519779.tif 000009
【図７】
0005519779.tif 000010