(57)【特許請求の範囲】
【請求項１】
複数のデータ・ページを記憶するためのフラッシュメモリ・デバイスのメモリ・セルのアレイと、
第１のバッファと、
ホストからの複数のコマンドに応答して、前記データ・ページを前記ホストに転送するロジック・メカニズムと、
を備え、
前記複数のコマンドのうちの、
第１番目のコマンドは、第１のデータ・ページの第１のメモリ・アドレスを指定し、
第２番目のコマンドは、続いて読み出されるべき第２のデータ・ページの第２のメモリ・アドレスを決定できるよう前記第１のメモリ・アドレスからの増加方向および増加値を指定するようになっており、
前記ロジック・メカニズムは、
前記第１番目のコマンドに応答して、前記第１のデータ・ページを前記第１のバッファに読み出し、
前記第２番目のコマンドに応答して、前記第１のバッファに読み出された前記データ・ページを前記ホストに転送し、前記第１のメモリ・アドレス、前記増加方向および増加値に基づいて前記第２のメモリ・アドレスを決定する、フラッシュメモリ・デバイス。
【請求項２】
前記増加値が１である、請求項１に記載のフラッシュメモリ・デバイス。
【請求項３】
前記増加値が１より大である、請求項１に記載のフラッシュメモリ・デバイス。
【請求項４】
前記第２番目のコマンドを前記ホストから受信する前に、前記増加値を指定するパラメータ値を前記ホストから受信する、請求項１に記載のフラッシュメモリ・デバイス。
【請求項５】
前記ホストから終了コマンドを受信するまで、前記複数のコマンドの連続するコマンド毎に、前記パラメータ値が前記増加値として用いられる、請求項４に記載のフラッシュメモリ・デバイス。
【請求項６】
前記第１のバッファがページ・バッファであり、前記第１のデータ・ページが前記第１のバッファに読み出された後において、前記第２のデータ・ページが前記第１のバッファに読み出される前に前記第１のデータ・ページを読み出すためのキャッシュ・バッファを備える、請求項１に記載のフラッシュメモリ・デバイス。
【請求項７】
フラッシュメモリ・デバイスからデータ・ページを読み出すための方法であって、
第１のメモリ・アドレスから第１のデータ・ページを取り出すために、前記フラッシュメモリ・デバイスに指示するホストからの第１番目のコマンドを、前記フラッシュメモリ・デバイスにおいて受信するステップと、
前記第１番目のコマンドに応答して、前記第１のデータ・ページを前記フラッシュメモリ・デバイスの第１のバッファに読み出すステップと、
前記第１番目のコマンドを受信した後で、前記第２のデータ・ページを取り出すことを前記フラッシュメモリ・デバイスに指示し、さらに前記第２のデータ・ページの第２のメモリ・アドレスを決定するよう前記第１のフラッシュメモリ・アドレスからの増加方向および増加値を指示するホストからの第２番目のコマンドを、前記フラッシュメモリ・デバイスにおいて受信するステップと、
前記フラッシュメモリ・デバイスに対応する前記第１のメモリ・アドレス、前記増加方向および増加値に基づいて、前記第２のメモリ・アドレスを前記フラッシュメモリ・デバイスのロジック・メカニズムにおいて決定するステップと、
前記第２番目のコマンドに応答して、前記第２のデータ・ページを前記第１のバッファに読み出すステップと、
を備える、方法。
【請求項８】
前記第２番目のコマンドを受信する前に、前記増加値を指定するホストからのパラメータ値を前記フラッシュメモリ・デバイスにおいて受信するステップを備える、請求項７に記載の方法。
【請求項９】
前記増加値が１以上である、請求項７の方法。
【請求項１０】
複数のデータ・ページを記憶するためのフラッシュメモリ・デバイスのメモリ・セルのアレイと、
少なくとも一つのバッファと、
ホストからの複数のコマンドに応答して、前記データ・ページを前記ホストに転送するロジック・メカニズムと、
を備え、
前記複数のコマンドのうちの、
パラメータ・コマンドはパラメータ値を有し、
第１番目の読み出しコマンドは、前記少なくとも一つのバッファへ読み出すための第１のデータ・ページの第１のフラッシュメモリ・アドレスを指定し、
前記第１番目の読み出しコマンドおよび前記パラメータ・コマンドに続いて受信される第２番目の読み出しコマンドは、読み出されるべき第２のデータ・ページの第２のメモリ・アドレスを読み出しのために決定するように前記第１のメモリ・アドレスからの増加方向を指定するようになっており、
前記ロジック・メカニズムは、
前記第１番目のコマンドに応答して、前記第１のデータ・ページを前記少なくとも１つのバッファに読み出し、
前記第２番目のコマンドに応答して、前記少なくとも１つのバッファに読み出された前記第１のデータ・ページを前記ホストに転送し、前記第１のメモリ・アドレス、前記増加方向および前記パラメータ値に基づいて前記第２のメモリ・アドレスを決定する、フラッシュメモリ・デバイス。
【請求項１１】
前記パラメータ値が前記ホストから終了コマンドを受信するまで連続的に要求されたデータ・ページのメモリ・アドレスを決定するよう用いられる、請求項１０に記載のフラッシュメモリ・デバイス。
【請求項１２】
前記第２番目のコマンドがキャッシュ読み出しコマンドである場合は、前記増加方向が正の方向であり、前記第２のメモリ・アドレスを決定するように前記第１のメモリ・アドレスに前記パラメータ値が加算され、前記第２番目の読み出しコマンドが逆読み出しコマンドである場合は、前記増加方向は負の方向であり、前記第２のメモリ・アドレスを決定するように前記第１のメモリ・アドレスから前記パラメータ値が減算される、請求項１０に記載のフラッシュメモリ・デバイス。
【請求項１３】
フラッシュメモリ・デバイスからデータ・ページを読み出すための方法であって、
第１のメモリ・アドレスから第１のデータ・ページを取り出すように指示するホストからの第１番目のコマンドを、前記フラッシュメモリ・デバイスにおいて受信するステップと、
前記ホストからパラメータ値を受信するステップと、
前記第１番目のコマンドに応答して、前記フラッシュメモリ・デバイスの第１のバッファへ前記第１のデータ・ページを読み出すステップと、
前記第１番目のコマンドおよび前記パラメータ値を受信した後において、前記フラッシュメモリ・デバイスに第２のデータ・ページを取り出すよう指示し、前記第２のデータ・ページの第２のメモリ・アドレスを決定するよう前記第１のメモリ・アドレスからの増加方向を指示する第２番目のコマンドを前記ホストから受信するステップと、
前記第１のメモリ・アドレス、前記増加方向、および前記パラメータ値に基づいて、前記フラッシュメモリ・デバイスのロジック・メカニズムにおいて前記第２のメモリ・アドレスを決定するステップと、
前記第２番目のコマンドに応答して、前記第１のバッファへ前記第２のデータ・ページを読み出すステップと、
を備える方法。
【請求項１４】
前記第１のバッファへ前記第２のデータ・ページを読み出す前に、前記第１のバッファから第２のバッファへ前記第１のデータ・ページを読み出すステップを備える、請求項１３に記載の方法。
【請求項１５】
前記第２番目のコマンドを受信した後で、第３のデータ・ページを取り出すよう前記フラッシュメモリ・デバイスに指示し、前記第３のデータ・ページの第３のメモリ・アドレスを決定するように前記第２のメモリ・アドレスからの第２の増加方向を指示する第３番目のコマンドを前記ホストから受信するステップと、
前記第２のメモリ・アドレス、前記第２の増加方向、および前記パラメータ値に基づいて、前記フラッシュメモリ・デバイスのロジック・メカニズムにおいて、第３のメモリ・アドレスを決定するステップと、
前記第３番目のコマンドに応答して、前記第１のバッファへ前記第３のデータ・ページを読み出すステップと、を備える請求項１３に記載の方法。
【請求項１６】
複数のデータ・ページを記憶するためのフラッシュメモリ・デバイスのメモリ・セルのアレイと、
ページ・バッファと、
キャッシュ・バッファと、
ホストからの複数のコマンドに応答して、前記ホストへ前記データ・ページを転送するためのロジック・メカニズムと、を備え、
前記ロジック・メカニズムは、
第１のメモリ・アドレスを指示する第１番目のコマンドに応答して、第１のデータ・ページを前記第１のメモリ・アドレスから前記ページ・バッファへ読み出し、続いて前記第１のデータ・ページは前記ページ・バッファから前記キャッシュ・バッファへ読み出し、
前記第１番目のコマンドに続いて受信され、読み出すべき第２のデータ・ページの第２のメモリ・アドレスを決定するように前記第１のメモリ・アドレスからの増加方向および増加値を指示する第２番目のコマンドに応答して、前記第１のメモリ・アドレス、前記増加方向および増加値に基づいて、前記第２のメモリ・アドレスを決定し、前記第１のデータ・ページを前記キャッシュ・バッファから前記ホストへ送信している間に、前記第２のデータ・ページを前記ページ・バッファへ読み出す、フラッシュメモリ・デバイス。
【請求項１７】
前記増加方向が前記コマンド種別によって指示される、請求項１６に記載のフラッシュメモリ・デバイス。
【請求項１８】
前記増加値が１以上である、請求項１６に記載のフラッシュメモリ・デバイス。
【請求項１９】
フラッシュメモリ・デバイスからデータ・ページを読み取るための方法であって、
第１のメモリ・アドレスから第１のデータ・ページを取り出すように前記フラッシュメモリ・デバイスに指示する第１番目のコマンドを、前記フラッシュメモリ・デバイスにおいてホストから受信するステップと、
前記第１番目のコマンドに応答して、前記フラッシュメモリ・デバイスの第１のバッファへ前記第１のデータ・ページ読み出すステップと、
前記第１のデータ・ページを前記第１のバッファから前記フラッシュメモリ・デバイスのキャッシュ・バッファへ読み出すステップと、
前記第１番目のコマンドを受信した後において、前記フラッシュメモリ・デバイスに第２のデータ・ページを取り出すよう指示し、前記第２のデータ・ページの第２のメモリ・アドレスを決定するように前記第１のメモリ・アドレスからの増加方向および増加値を指示する第２番目のコマンドを前記フラッシュメモリ・デバイスにおいて前記ホストから受信するステップと、
前記フラッシュメモリ・デバイスに対応する前記第１のメモリ・アドレス、前記増加方向および増加値に基づいて、前記フラッシュメモリ・デバイスのロジック・メカニズムにおいて前記第２のメモリ・アドレスを決定するステップと、
前記第１のデータ・ページを前記キャッシュ・バッファから前記ホストに送信している間に、前記第２のメモリ・アドレスから前記第１のバッファへ前記第２のデータ・ページを読み出すステップと、
を備える、方法。
【請求項２０】
前記第２番目のコマンドを受信する前に、前記フラッシュメモリ・デバイスにおいて前記増加値を示すパラメータ値を前記ホストから受信するステップを備える、請求項１９に記載の方法。
【請求項２１】
前記増加値は１以上である、請求項１９に記載の方法。
【請求項２２】
複数のデータ・ページを記憶するためのフラッシュメモリ・デバイスのメモリ・セルのアレイと、
ページ・バッファと、
キャッシュ・バッファと、
ホストからの複数のコマンドに応答して、前記データ・ページを前記ホストに転送するロジック・メカニズムと、
を備え、
前記複数のコマンドのうちの、
第１番目のコマンドは、前記ページ・バッファへ読み出し、続いて前記キャッシュ・バッファへ読み出すべき第１のデータ・ページの第１のメモリ・アドレスを指示し、
前記第１番目のコマンドの後に受信する第２番目のコマンドは、前記ページ・バッファへ読み出すべき第２のデータ・ページの第２のメモリ・アドレスを決定するように前記第１のメモリ・アドレスからの増加方向および増加値を指示するようになっており、
前記ロジック・メカニズムは、
前記第１番目のコマンドに応答して、前記第１のデータ・ページを前記ページ・バッファへ読み出し、続いて前記ページ・バッファへ読み出された前記第１のデータ・ページを前記キャッシュ・バッファへ読み出し、
前記第２番目のコマンドに応答して、前記キャッシュ・バッファに読み出された前記第１のデータ・ページを前記ホストに転送し、前記第１のメモリ・アドレス、前記増加方向および増加値に基づいて、前記第２のメモリ・アドレスを決定する、フラッシュメモリ・デバイス。
【請求項２３】
前記増加値が１であり、前記第２番目のコマンドが第１の種類のコマンドである場合に前記増加方向が正の方向であり、前記第２番目のコマンドが第２の種類のコマンドである場合に前記増加方向が負の方向である、請求項２２に記載のフラッシュメモリ・デバイス。
【請求項２４】
前記増加値が１より大である、請求項２２に記載のフラッシュメモリ・デバイス。
【請求項２５】
フラッシュメモリ・デバイスからデータ・ページを読み出すための方法であって、
第１のデータ・ページを第１のメモリ・アドレスから取り出すように前記フラッシュメモリ・デバイスに指示する第１番目のコマンドを、ホストから前記フラッシュメモリ・デバイスへ送信するステップと、
前記ホストから前記フラッシュメモリ・デバイスへパラメータ値を送信するステップと、
前記第１番目のコマンドと前記パラメータ値を送信した後において、第２のデータ・ページを取り出すように前記フラッシュメモリ・デバイスに指示する第２番目のコマンドを、前記ホストから前記フラッシュメモリ・デバイスへ送信するステップと、を備え、
前記第１のメモリ・アドレス、前記パラメータ値、および前記第２番目のコマンド内に指示されている増加方向に基づいて、前記フラッシュメモリ・デバイスが前記第２のデータ・ページの前記第２のメモリ・アドレスを決定可能である、方法。
【請求項２６】
前記第２番目のコマンドが前記第１のデータ・ページが前記ホストによって受信される前に送信される、請求項２５に記載の方法。
【請求項２７】
複数のデータ・ページを記憶するためのフラッシュメモリ・デバイスのメモリ・セルのアレイと、
ページ・バッファと、
キャッシュ・バッファと、
ホストからの複数のコマンドに応答して、前記データ・ページを前記ホストに転送するロジック・メカニズムと、
を備え、
前記複数のコマンドのうちの、
パラメータ・コマンドは、パラメータ値を含み、
第１番目の読み出しコマンドは、第１のデータ・ページの第１のメモリ・アドレスを前記ページ・バッファへ読み出し、さらに前記キャッシュ・バッファへ読み出すよう指示し、
前記第１の読み出しコマンドおよび前記パラメータ・コマンドに続いて受信される第２番目の読み出しコマンドは、読み出すべき第２のデータ・ページの第２のメモリ・アドレスを決定するために前記第１のメモリ・アドレスからの増加方向を指示するようになっており、
前記ロジック・メカニズムは、
前記第１番目の読み出しコマンドに応答して、前記第１のデータ・ページを前記ページ・バッファへ読み出し、続いて前記ページ・バッファに読み出された前記第1のデータ・ページを前記キャッシュ・バッファへ読み出し、
前記第２番目の読み出しコマンドに応答して、前記キャッシュ・バッファに読み出された前記第１のデータ・ページをホストへ転送し、前記第１のメモリ・アドレス、前記増加方向、および前記パラメータ値に基づいて前記第２のメモリ・アドレスを決定する、フラッシュメモリ・デバイス。
【請求項２８】
フラッシュメモリ・デバイスからデータ・ページを読み取るための方法であって、
ホストから前記フラッシュメモリ・デバイスへパラメータ値を送信するステップと、
第１のメモリ・アドレスから第１のデータ・ページを取り出すように前記フラッシュメモリ・デバイスへ指示し、前記指示に応答して前記フラッシュメモリ・デバイスが前記フラッシュメモリ・デバイスから第１のバッファへ前記第１のデータ・ページを読み出す第１番目のコマンドを、前記ホストから前記フラッシュメモリ・デバイスへ送信するステップと、
前記フラッシュメモリ・デバイスからのレディ指示を前記ホストにおいて受信するステップと、
前記パラメータ値と前記第１番目のコマンドを送信した後において、前記第１のメモリ・アドレス、増加方向、およびパラメータ値に基づいて前記フラッシュメモリ・デバイスが第２のデータ・ページの第２のメモリ・アドレスを決定可能なように、さらに前記フラッシュメモリ・デバイスが前記第１のバッファへ前記第２のページを読み出し可能なように、前記増加方向を指示する第２番目のコマンドを前記ホストから前記フラッシュメモリ・デバイスへ送信するステップと、
前記ホストにおいて前記フラッシュメモリ・デバイスから第２のレディ指示を受信し、前記第２のレディ指示に応答して前記データ・ページを前記第１のバッファから読み出すステップと、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ・デバイスの分野に関し、より詳しくは、フラッシュメモリ・デバイスにおいてキャッシュ読み込みオペレーションを用いることに関する。
【背景技術】
【０００２】
フラッシュメモリ・デバイスは、長年知られている。本技術において既知である標準フラッシュメモリ・デバイスは、ページやブロックと呼ばれるグループにアレンジしたメモリ・アレイ内に、データを記憶する。
【０００３】
本技術で知られるＮＡＮＤフラッシュメモリ・デバイスの一例は、ミクロン・テクノロジーズ社のデバイス番号ＭＴ２９Ｆ２Ｇ０８ＡＡＢＷＰである。このデバイスのデータ・シート（本文において以下ＤＳ）は、すべての目的のために、参照により本文に完全に記述したものとする。
【０００４】
フラッシュメモリ・デバイスを接続したホスト（例えば、フラッシュメモリを接続したコンピュータ、コントローラまたは他の類似デバイス）が、フラッシュメモリ・デバイスとデータを交換し合う場合、通常、ページ・バッファと呼ばれるインターナルバッファ（またはレジスタ）との間で、１回のオペレーション内に同時にデータ・ページ全体を、メモリ・アレイへ書き込む、またはメモリ・アレイから読み出す。
【０００５】
ホストが、フラッシュメモリ・デバイスに１ページのデータを読み取るように指図する要求をアサートすると、そのページのデータがメモリ・アレイからページ・バッファへ転送される。そのページのデータがページ・バッファへ完全に読み取られた後にのみ、ホストは、フラッシュメモリ・デバイスに新しいオペレーションを開始するように指図する要求をアサートすることができる。
【０００６】
ホストとフラッシュメモリ・デバイスとの間のデータ交換の所要時間は、ホスト＜―＞バッファおよびバッファ＜―＞メモリアレイ転送ピリオドの両方を含む。既存のフラッシュメモリ・デバイスのデータ・ページ・サイズが増加するにつれ、ホスト＜―＞バッファ転送時間も同様に増加し、バッファ＜―＞メモリ・アレイ転送時間に相当するようになる。
【０００７】
例えば、２キロバイトのデータ・ページを持つ、本技術で既知であるＮＡＮＤフラッシュメモリ・デバイスにおいては、ホスト＜―＞バッファ転送時間は、典型的に１ページにつき５０ー１００マイクロ秒であり、バッファ＜―＞メモリアレイ・ページ読み取り時間は、１ページにつき２０ー５０マイクロ秒であり、そして、バッファ＜―＞メモリアレイ・ページ・プログラム（書き込み）時間は、１ページにつき２００ー８００マイクロ秒である。
【０００８】
したがって、システムのスループットを増加させるために、いくつかのフラッシュメモリ・デバイスは、追加のデータ・バッファ、すなわちキャッシュ・バッファを含む。これによって、ホストとこのキャッシュ・バッファとの間での、そしてページ・バッファとメモリ・アレイとの間での同時データ転送が可能である。
【０００９】
フラッシュメモリ・デバイス内にキャッシュ・バッファを備えると、ページ・データは、メモリ・アレイからページ・バッファへ読み出されてから、すぐにキャッシュ・バッファへ転送される。これによって、メモリ・アレイから次のページ・データを受信するためにページ・バッファは「自由にされる」。換言すれば、前のページ・データがキャッシュ・バッファから完全に転送されてしまう前であっても、ホストは、フラッシュメモリ・デバイスに次のページ・データをメモリ・アレイから読み取るよう要求をアサートできる。
【００１０】
したがって、ページ読み取りオペレーションのためにキャッシュ・バッファを実装することは、転送遅延時間を実質的に減少させて、システムのスループットを増加させる。
【００１１】
キャッシュ・バッファを用いる読み取りオペレーションは、（すべてが特定なフラッシュデバイス販売業者に依存する）「キャッシュ読み出し」あるいは「キャッシュで読み取る」または「キャッシュ・モード・ページ読み取り」と呼ばれている。読み取りオペレーションは、ホストが発する特定なコマンドに反応する。
【００１２】
実際には、フラッシュメモリ・デバイスは、フラッシュメモリへ順次書き込まれる大量のデータを読み取るために提供される。一例は、オペレーティングシステムによって常時一つの「塊」としてフラッシュメモリ・デバイスへ書き込まれ、そしてそこから読み出される、数キロバイトのデータを含む一群のファイル・システムである。他の例は、マルチメディア・ソース（例えば、ビデオ・オーディオ・リコーディングシステム）が「ストリームする」情報、またはデジタル・カメラで取った画像を含む。
【００１３】
これらのケースでは、フラッシュメモリ・デバイスから読み取るよう要求される次のページ・データが、メモリ・アレイ内に記憶された物理的に連続なページ・データである可能性が高い。本技術において既知であるフラッシュメモリ・デバイスは、ページ読み取りオペレーションのためにキャッシュ・バッファを実装する場合、この憶測を利用する。例えば、現行の読み取りオペレーションが、メモリ・アレイのアドレスＮからページ・データを読み取っているなら、次のキャッシュ読み取りオペレーションは、常に、メモリ・アレイのアドレスＮ＋１からページ・データを読み込む。
【００１４】
しかしながら、「次の連続なページ」の憶測が、もはや有効でないという可能性がある。そのようなケースの一つに、データ・ページを「逆」順で読む必要があるアプリケーションがある。例えば、ＬＩＦＯ（後入れ先出し）プロシージャを実行するものである。時間の経過に従って異なるタイプのイベントを記録し、時々最近の記録から特定なタイプのイベントを回顧するというオプションを必要とするシステムには、そのようなアプリケーションの実装が要求されることがある。そのようなシステムでは、「前の」ページ・データを素早く読み取るために、最後のレコード（すなわちページ・データ）のアドレスを用いることは、非常に有益であろう。
【００１５】
キャッシュ読み出しオペレーションに使用される既存のフラッシュメモリ・デバイスは、そのような必要性に応答するようには構成されていない。換言すれば、キャッシュ・バッファを含む本技術において既知であるフラッシュメモリ・デバイスは、「逆の」（すなわち、ページからページへのアドレスが減少する）順序での、ページ・データの読み取りを提供することができない。「前の」ページ・データの読み取りを成し遂げるのに、既存の方法は、単に「正規の」（キャッシュされない）ページ読み取りオペレーションを適用し、キャッシュ・バッファを利用しない。
【００１６】
しかしながら、「正規の」ページ読み取りオペレーションを適用することは、正規のキャッシュ読み取りオペレーションと比較すると、システムのスループットを低下させる。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
したがって、本発明の主要な目的は、前のページ・データのキャッシュ読み出しオペレーションを可能にするように構成されたフラッシュメモリ・デバイスを導入することによって、従来の技術の欠点を克服することである。本発明によるフラッシュメモリ・デバイスは、さらに、任意のアドレスのキャッシュ読み出しオペレーションを可能にするよう構成される。
【００１８】
ロジック・メカニズムは、フラッシュメモリ・デバイスとホストとの間でデータ・ページを転送するために、ホストから受信したコマンドに反応する。ロジック・メカニズムは、「通常の」キャッシュ読み出しコマンド（すなわち、１だけ増加させたアドレス）および「逆の」キャッシュ読み出しコマンド（すなわち、１だけ減少させたアドレス）の二つの異なるコマンドに反応する。
【００１９】
本発明によれば、次のものを含むフラッシュメモリ・デバイスが提供される。（ａ）複数のデータ・ページを記憶するためのメモリ・セルのアレイ。（ｂ）複数のデータ・ページを取り出すための少なくとも一つのバッファ。そして（ｃ）ホストへ取り出す複数のデータ・ページを転送するために、複数のコマンドに反応するロジック・メカニズム。この場合、第二の、そして以降のコマンドの各々は、アレイ内における、直前のコマンドによって取り出されたデータ・ページのアドレスに先行するアドレスのデータ・ページを取り出すようフラッシュメモリ・デバイスに指図する。そして、コマンドの少なくとも一つは、取り出されるデータ・ページの明示的に指定されたアドレスを欠いている。
【００２０】
本発明による第一のフラッシュメモリ・デバイスによれば、連続的に読み取られるデータ・ページのアドレスの減分は、データ・ページのアドレスが明示的に指定されることを必要とせずに適用される。第一のフラッシュメモリ・デバイスは、データ・ページを記憶するためのメモリ・セルのアレイ、データ・ページを取り出すための一つ以上のバッファ、そして、前のコマンドによって取り出されたデータ・ページをバッファとホストとの間で転送するためのロジック・メカニズムを含む。
【００２１】
本発明に従って本文で説明する、少なくとも一つのコマンドが明示的に指定されたアドレスを欠くという、この最後の制限、そして他の方法およびフラッシュメモリ・デバイスの類似の制限は、本発明を、すべてのアドレスを明示的に指定する、したがって暗にすべての増分を特定する従来の技術から区別するものである。
【００２２】
第二の、そして以降のコマンドによって取り出されるデータ・ページのアドレスが、直前のコマンドによって取り出されたデータ・ページのアドレスに固定減分だけ先行することが好ましい。固定減分が―１に物理的に組まれていることが最も好ましい。
【００２３】
第二の、そして以降のコマンドの各々は、そのコマンドによって取り出されるデータ・ページのアドレスが、直前のコマンドによって取り出されたデータ・ページのアドレスに、どれだけ先行するのかを特定するパラメータ値を含むことが好ましい。
【００２４】
フラッシュメモリ・デバイスは、ページ・バッファおよびキャッシュ・バッファの、二つのバッファを含むことが好ましい。これによって、二つのデータ・ページの同時データ転送が可能になり、二つのデータ・ページの一つが、メモリ・セルのアレイとページ・バッファとの間で転送され、二つのデータ・ページのもう一つが、キャッシュ・バッファとホストとの間で転送される。
【００２５】
本発明によれば、また、フラッシュメモリからデータ・ページを読み取るための、次のステップを含む方法が提供される。（ａ）ホストによって、フラッシュメモリに第一のデータ・ページを取り出すよう指図する第一のコマンドを発するステップ。（ｂ）第一のコマンドに応答して、フラッシュメモリのロジック・メカニズムによって第一のデータ・ページを取り出すステップ。（ｃ）ホストによって、直前のコマンドに応答して取り出されたデータ・ページのアドレスに先行するアドレスの対応するデータ・ページを取り出すようフラッシュメモリに指図する、少なくとも一つの第二のコマンドを発するステップ。なお、少なくとも一つの第二のコマンドは、対応するデータ・ページのアドレスの明示的な指定を欠いている。そして（ｄ）第二のコマンドの各々に応答して、ロジック・メカニズムによって対応するデータ・ページを取り出すステップ。
【００２６】
第一のコマンドによって取り出されたデータ・ページに続くコマンドによって取り出される各々のデータ・ページのアドレスは、フラッシュメモリ・アレイにおいて、直前のコマンドによって取り出されたデータ・ページのアドレスの直前に位置することが好ましい。
【００２７】
第二のコマンドの各々は、そのコマンドによって取り出されるデータ・ページのアドレスが、直前のコマンドによって取り出されたデータ・ページのアドレスに、どれだけ先行するのかを特定するパラメータ値を含むことが好ましい。
【００２８】
第二のコマンドの各々は、キャッシュ読み出しコマンドとして実行されることが好ましい。
【００２９】
本発明によれば、また、次のものを含むフラッシュメモリ・デバイスが提供される。（ａ）複数のデータ・ページを記憶するためのメモリ・セルのアレイ。（ｂ）複数のデータ・ページを取り出すための少なくとも一つのバッファ。そして（ｃ）ホストへ取り出す複数のデータ・ページを転送するために、複数のコマンドに反応するロジック・メカニズム。この場合、第二の、そして以降のコマンドの各々は、アレイ内において、直前のコマンドによって取り出されたデータ・ページのアドレスに、１より大きく超過するアドレスのデータ・ページを取り出すようフラッシュメモリ・デバイスに指図する。そして、少なくとも一つの以降のコマンドの少なくとも一つは、取り出されるデータ・ページの明示的に指定されたアドレスを欠いている。
【００３０】
第二の、そして以降のコマンドの各々は、そのコマンドによって取り出されるデータ・ページのアドレスが、直前のコマンドによって取り出されたデータ・ページのアドレスに、どれだけ超過するのかを特定するパラメータ値を含むことが好ましい。
【００３１】
フラッシュメモリ・デバイスは、ページ・バッファおよびキャッシュ・バッファの、二つのバッファを含むことが好ましい。これによって、二つのデータ・ページの同時データ転送が可能になり、二つのデータ・ページの一つが、メモリ・セルのアレイとページ・バッファとの間で転送され、二つのデータ・ページのもう一つが、キャッシュ・バッファとホストとの間で転送される。
【００３２】
本発明によれば、また、フラッシュメモリからデータ・ページを読み取るための、次のステップを含む方法が提供される。（ａ）ホストによって、フラッシュメモリに第一のデータ・ページを取り出すよう指図する第一のコマンドを発するステップ。（ｂ）第一のコマンドに応答して、フラッシュメモリのロジック・メカニズムによって第一のデータ・ページを取り出すステップ。（ｃ）ホストによって、直前のコマンドに応答して取り出されたデータ・ページのアドレスに、１より大きく超過するアドレスの対応するデータ・ページを取り出すようフラッシュメモリに指図する、少なくとも一つの第二のコマンドを発するステップ。なお、少なくとも一つの第二のコマンドの少なくとも一つは、対応するデータ・ページのアドレスの明示的な指定を欠いている。そして（ｄ）第二のコマンドの各々に応答して、ロジック・メカニズムによって対応するデータ・ページを取り出すステップ。
【００３３】
第二のコマンドの各々は、そのコマンドによって取り出される対応データ・ページのアドレスが、直前のコマンドによって取り出されたデータ・ページのアドレスに、どれだけ超過するのかを特定するパラメータ値を含むことが好ましい。
【００３４】
第二のコマンドの各々は、キャッシュ読み出しコマンドとして実行されることが好ましい。
【００３５】
本発明によれば、また、次のものを含むフラッシュメモリ・デバイスが提供される。（ａ）複数のデータ・ページを記憶するためのメモリ・セルのアレイ。（ｂ）二つのバッファ。なお、複数のデータ・ページを取り出すために、バッファの一つがページ・バッファであり、もう一つのバッファがキャッシュ・バッファである。これによって、二つのデータ・ページの同時データ転送が少なくとも部分的に可能となり、二つのデータ・ページの一つが、メモリ・セルのアレイとページ・バッファとの間で転送され、二つのデータ・ページのもう一つが、キャッシュ・バッファとホストとの間で転送される。そして（ｃ）ホストへ取り出される複数のデータ・ページの少なくとも二つを転送するための、複数のコマンドに反応するロジック・メカニズム。なお、前記ページ・バッファを介して、そして前記キャッシュ・バッファを介して転送が実行される。そして、複数のコマンドの第二の、そして以降のコマンドの各々が、任意に指定したアドレスからデータ・ページを取り出すようフラッシュメモリ・デバイスに指図する。
【００３６】
第二の、そして以降のコマンドの各々は、そのコマンドによって取り出される対応データ・ページのアドレスが、直前のコマンドによって取り出されたデータ・ページのアドレスから、どれだけ異なるのかを特定するパラメータ値を含むことが好ましい。
【００３７】
任意のアドレスは、明示的に指定されることが好ましい。
【００３８】
本発明によれば、また、フラッシュメモリからデータ・ページを読み取るための、次のステップを含む方法が提供される。（ａ）ホストによって、フラッシュメモリに第一のデータ・ページを取り出すよう指図する第一のコマンドを発するステップ。（ｂ）第一のコマンドに応答して、フラッシュメモリのロジック・メカニズムによって第一のデータ・ページを取り出すステップ。（ｃ）ホストによって、任意に指定したアドレスから対応するデータ・ページを取り出すようフラッシュメモリに指図する少なくとも一つのキャッシュ読み出しコマンドを発するステップ。そして（ｄ）第二のコマンドの各々に応答して、ロジック・メカニズムによって対応するデータ・ページを取り出すステップ。
【００３９】
キャッシュ読み出しコマンドの各々は、そのコマンドによって取り出される対応データ・ページのアドレスが、直前のコマンドによって取り出されたデータ・ページのアドレスから、どれだけ異なるのかを特定するパラメータ値を含むことが好ましい。
【００４０】
キャッシュ読み出しコマンドの各々は、そのコマンドによって取り出される対応データ・ページのアドレスを明示的に指定することが好ましい。
【００４１】
本発明によれば、また、次のものを含むフラッシュメモリ・デバイスが提供される。（ａ）複数のデータ・ページを記憶するためのメモリ・セルのアレイ。（ｂ）ページ・バッファ。（ｃ）キャッシュ・バッファ。そして（ｄ）メモリ・セルのアレイとページ・バッファとの間で複数のデータ・ページの一つを、複数のデータ・ページのもう一つがキャッシュ・バッファとホストとの間で転送される間に、少なくとも部分的に同時に転送するための、複数のコマンドに反応するロジック・メカニズム。なお、メモリ・セルのアレイとページ・バッファとの間で転送されるデータ・ページのアドレスは、アレイにおいて、キャッシュ・バッファとページ・ホストとの間で転送されるデータ・ページのアドレスに先行する。
【００４２】
メモリ・セルのアレイとページ・バッファとの間で転送されるデータ・ページのアドレスは、アレイにおいて、キャッシュ・バッファとホストとの間で転送されるデータ・ページのアドレスに固定減分だけ先行することが好ましい。固定減分は、―１であることがより好ましい。
【００４３】
本発明によれば、また、次のステップを含む方法が提供される。（ａ）ホストによって、フラッシュメモリに第一のデータ・ページを取り出すよう指図する第一のコマンドを発するステップ。（ｂ）ホストによって、フラッシュメモリに第二のデータ・ページを取り出すよう指図する第二のコマンドを発するステップ。（ｃ）第一および第二のコマンドに応答して、メモリ・セルのアレイからページ・バッファへ第二のデータ・ページを、そしてキャッシュ・バッファからホストへ第一のデータ・ページを、少なくとも部分的に実質的に同時に取り出すステップ。なお、第二のデータ・ページのアドレスは、アレイにおいて、第一のデータ・ページのアドレスに先行する。
【００４４】
第二のデータ・ページのアドレスは、アレイにおいて、第一のデータ・ページのアドレスの直前に位置することが好ましい。
【００４５】
本発明によれば、また、次のものを含むフラッシュメモリ・デバイスが提供される。（ａ）複数のデータ・ページを記憶するためのメモリ・セルのアレイ。（ｂ）ページ・バッファ。（ｃ）キャッシュ・バッファ。そして（ｄ）メモリ・セルのアレイとページ・バッファとの間で複数のデータ・ページの一つを、複数のデータ・ページのもう一つがキャッシュ・バッファとホストとの間で転送される間に、少なくとも部分的に同時に転送するための、複数のコマンドに反応するロジック・メカニズム。なお、メモリ・セルのアレイとページ・バッファとの間で転送されるデータ・ページのアドレスは、アレイにおいて、キャッシュ・バッファとページ・ホストとの間で転送されるデータ・ページのアドレスに、１より大きく超過する。
【００４６】
本発明によれば、また、次のステップを含む方法が提供される。（ａ）ホストによって、フラッシュメモリに第一のデータ・ページを取り出すよう指図する第一のコマンドを発するステップ。（ｂ）ホストによって、フラッシュメモリに第二のデータ・ページを取り出すよう指図する第二のコマンドを発するステップ。（ｃ）第一および第二のコマンドに応答して、メモリ・セルのアレイからページ・バッファへ第二のデータ・ページを、そしてキャッシュ・バッファからホストへ第一のデータ・ページを、少なくとも部分的に実質的に同時に取り出すステップ。なお、第二のデータ・ページのアドレスは、アレイにおいて、第一のデータ・ページのアドレスを、１より大きく超過する。
【００４７】
本発明の、他の特徴および利点は、以下の図面および説明文から明らかになる。
【発明を実施するための最良の形態】
【００４８】
本発明は、ブロック内の前のデータ・ページおよび次のデータ・ページの両方のキャッシュ読み出しオペレーションが可能なように構成されたフラッシュメモリ・デバイスおよび方法である。そのような構成は、例えば、時間の経過に従って異なるタイプのイベントを記録し、時々最近の記録から特定なタイプのイベントを素早く回顧して読み取るというオプションを必要とするシステムに要求される。
【００４９】
そのような必要性に応える既存の方法は、正規の（キャッシュされない）ページ読み取りオペレーションを適用する。したがって、従来の技術による正規の読み取りコマンドとは異なり、本発明によるフラッシュメモリ・デバイスの構成は、キャッシュ・バッファの優位性を利用しながら、どの順序におけるデータ・ページの読み取り必要性にも対応する。
【００５０】
本発明によるフラッシュメモリ・デバイスは、データ・ページを記憶するための、メモリ・セルのメモリ・アレイを含む。フラッシュメモリ・デバイスを接続させたホスト・デバイスは、入出力（Ｉ／Ｏ）インターフェイス・ユニットを通して、データ信号を介してデータ・ページを転送する。
【００５１】
本発明によるフラッシュメモリ・デバイスは、ページ・バッファおよびキャッシュ・バッファの、二つのバッファを含む。データ・ページ全体が、ページ・バッファからメモリ・アレイへ書き込まれ、また、メモリ・アレイからページ・バッファへ読み出されるが、キャッシュ・バッファは、ホスト・デバイスとキャッシュ・バッファとの間での、そしてページ・バッファとメモリ・アレイとの間での同時データ転送を可能にするために提供されている。同時データ転送は、フラッシュメモリ・デバイスの全体的なスループットを向上させる。
【００５２】
ロジック・メカニズムは、フラッシュメモリ・デバイスとホストとの間でデータ・ページを転送するために、ホストから受信したキャッシュ読み出しコマンドに反応する。本文におけるキャッシュ読み出しコマンドは、フラッシュメモリ・デバイスにページ・バッファおよびキャッシュ・バッファの両方を利用するよう指図するコマンドと定義する。ロジック・メカニズムは、「通常の」キャッシュ読み出しコマンド（すなわち、１だけ増加させたアドレスの表示である正のインクリメント）および「逆の」キャッシュ読み出しコマンド（すなわち、１だけ減少させたアドレスの表示である負のインクリメント）の、二つの異なるコマンドに反応する。
【００５３】
したがって、ホストから「キャッシュで読み出す」コマンドを受信すると、最後に取り出したデータ・ページへのアドレスは、以降の読み取りオペレーションによる使用に対して、１だけ減少する、あるいは１だけ増加する。そのような方法は、最大限にスループットを維持しながら、デザインの柔軟性を向上させる。
【００５４】
本文で説明する模範的なコマンド・コードおよびシーケンスについては、ミクロン・テクノロジーズ社の品番ＭＴ２９Ｆ２Ｇ０８ＡＡＢＷＰのデバイスが本発明の原理に従って修正された方式を参照している。しかしながら、本発明の原理が、本産業におけるどのフラッシュメモリ・デバイスを修正するためにも、類似のコマンド・コードおよびシーケンス上で共通に用いることができるということは、当業者には明らかである。
【００５５】
「逆の」キャッシュ読み出しコマンドのオペレーション方式は、本技術において既知である「通常の」キャッシュ読み出しコマンドのオペレーション方式に従っているが、唯一の違いは、「通常の」キャッシュ読み出しコマンドが、メモリ・アレイから取り出すべきデータ・ページのアドレスを１だけ増加させるようロジック・メカニズムを作動させるのに対して、「逆の」キャッシュ読み出しコマンドは、このアドレスを１だけ減少させるようロジック・メカニズムを作動させる。これを除くと、（レディ／ビジー信号の機能、そして正規の読み取りコマンドのためのコマンド・コード０ｘ３０、および最後に要求されたデータ・ページを取り出すためのコマンド・コード０ｘ３Ｆの実行を含み）両キャッシュ読み出しコマンドの実行は、同じロジックに基づいている。
【００５６】
二つの「通常」および「逆の」キャッシュ読み出しコマンドを提供する一つの方法としては、類似のコマンド・コードを用いることである。例えば、０ｘ３２読み取りコマンド・コードによって、以下のように一対のキャッシュ読み出しコマンドをつくることである。「通常の」キャッシュ読み出しコマンドを示す０ｘ３１コマンド・コード、そして「逆の」キャッシュ読み出しコマンドを示す０ｘ３２コマンド・コード。そのように一対のキャッシュ読み出しコマンドをつくることは、販売業者に特有なことでなく、本技術において既知であるどのフラッシュデバイスのキャッシュ読み出しコマンド・セットを修正するためにも適用できる。
【００５７】
本発明によるフラッシュメモリ・デバイス１０を示すブロック図である図１を参照する。フラッシュメモリ・デバイス１０は、データ・ページを記憶するために、Ｃ１からＣｎのメモリ・セルからなるメモリ・アレイ１２を含む。フラッシュメモリ・デバイスを接続させたホスト１８は、入出力（Ｉ／Ｏ）インターフェイス・ユニット２８を通して、データ信号２２を介してデータ・ページを転送する。
【００５８】
データ・ページ全体が、ページ・バッファ１４からメモリ・アレイ１２へ書き込まれる、あるいはメモリ・アレイ１２からページ・バッファ１４へ読み出される。フラッシュメモリ・デバイス１０は、追加のデータ・バッファ、すなわちキャッシュ・バッファ１６を含む。これは、ホスト１８とキャッシュ・バッファ１６との間での、そしてページ・バッファ１４とメモリ・アレイ１２との間での同時データ転送を可能にするためのものである。
【００５９】
また、フラッシュメモリ・デバイスとホスト１８との間でデータ・ページを転送するために、ロジック・メカニズム２０が設けられている。ロジック・メカニズム２０は、制御信号２４およびデータ信号２２を介してホスト１８から受信した「通常」および「逆の」キャッシュ読み出しコマンドに反応する。
【００６０】
オプションとして、ホスト１８が読み取るのにページ「Ｎ」がレディであるということをホスト１８に通知するステータス情報を、ロジック・メカニズム２０に接続されたメモリ・ステータス・レジスタ２７からホスト１８へ提供する。ステータス情報は、入出力（Ｉ／Ｏ）インターフェイス・ユニット２８を通して、メモリ・ステータス・レジスタ２７からホスト・デバイス２０へ転送される。
【００６１】
さて、本発明の方法のタイミング図３０である図２を参照する。これは、以前のデータ・ページを読み取るために、ホスト１８とフラッシュメモリ・デバイス１０との間で交換される信号を示す。
【００６２】
フラッシュメモリ・デバイス１０を読み取りに利用できることをホスト１８に通知する「レディ」信号３２をフラッシュメモリ・デバイス１０から受信すると、ホスト１８は、フラッシュメモリ・デバイス１０へ、５つのＡＤＲＥＳＳサイクルと共に正規の読み取りコマンド３４を（例えば、コマンド・コード０ｘ３０として）送信し、フラッシュメモリ・デバイス１０にアドレス「Ｎ」に記憶したデータ・ページ（本文ではページ「Ｎ」と呼ぶ）を取り出すよう要求し、読み取りの完了を待つ。
【００６３】
ホスト１８から正規の読み取りコマンド３４を受信すると、フラッシュメモリ・デバイス１０は、メモリ・アレイからページ・バッファへデータ・ページ「Ｎ」を取り出す（プロセス３６）（典型的に、３０μ秒間続く）。
【００６４】
メモリ・アレイからページ・バッファへデータ・ページ「Ｎ」を完全に取り出した後、フラッシュメモリ・デバイス１０は、ホスト１２が読み取るのにページ「Ｎ」がレディであることをホスト１８に通知する第二の「レディ」信号３８を送信する。択一的に、ホスト１８は、ホスト１８が読み取るのにページ「Ｎ」がレディであることをホスト１８に通知する、フラッシュメモリ・デバイス１０内に実装されたメモリ・ステータス・レジスタ２７をポーリングする。
【００６５】
この時点で、ホスト１８は、ページ・バッファからページ「Ｎ」を読み出す代わりに、フラッシュメモリ・デバイス１０に次のコマンド、すなわち、フラッシュメモリ・デバイス１０から前のデータ・ページ（ページ「Ｎ―１」）を取り出すようフラッシュメモリ・デバイス１０に要求する（例えば、コマンド・コード０ｘ３２として）「逆の」キャッシュ読み出しコマンド４０を発する。
【００６６】
この「逆の」キャッシュ読み出しコマンド４０は、フラッシュメモリ・デバイス１０に、ページ・バッファからキャッシュ・バッファへ、（メモリ・アレイから最近読み出したページのデータを記憶している）ページ「Ｎ」のコンテンツを転送させる（プロセス４２）。このプロシージャは、典型的に１．５μ秒の時間がかかる。
【００６７】
ページ・バッファからキャッシュ・バッファへページ「Ｎ」を完全に転送した後、データ・ページ・アドレスを１だけ減少させる（すなわち、データ・ページ・アドレスがＮ―１になる）。そして、フラッシュメモリ・デバイス１０は、ホスト１８が読み取るのにページ「Ｎ」がレディであるとホスト１８に通知する、第三の「レディ」信号４４を送信する。この時点で、フラッシュメモリ・デバイス１０は、第三の「レディ」信号４４を送信すると同時に、メモリ・アレイからページ・バッファへ前のデータ・ページ（ページ「Ｎ―１」）を取り出す（プロセス４６）。
【００６８】
フラッシュメモリ・デバイス１０から第三の「レディ」信号４４を受信すると、ホスト１８は、キャッシュ・バッファからページ「Ｎ」を読み取る（プロセス４８）。この読み取りオペレーションは、メモリ・アレイからページ・バッファへのページ「Ｎ―１」の取り出し（プロセス４６）と同時に、ホスト１８が実行する。
【００６９】
ホスト１８がキャッシュ・バッファからページ「Ｎ」を完全に読み取った後、ホスト１８は、第二の「逆の」キャッシュ読み出しコマンド５０を発して、フラッシュメモリ・デバイス１０に、フラッシュメモリ・デバイス１０から前のデータ・ページ（「ページＮ―２」）を取り出すよう要求する。
【００７０】
第二の「逆の」キャッシュ読み出しコマンド５０は、メモリ・アレイからページ・バッファへのページ「Ｎ―１」の転送が終了した後にのみ、フラッシュメモリ・デバイス１０に、ページ・バッファからキャッシュ・バッファへページ「Ｎ―１」のコンテンツを転送させる（プロセス５２）。
【００７１】
ページ・バッファからキャッシュ・バッファへページ「Ｎ―１」を完全に転送させた後、データ・ページ・アドレスを１だけ減少させる（すなわち、データ・ページ・アドレスがＮ―２になる）。そして、フラッシュメモリ・デバイス１０は、ホスト１８が読み取るのにページ「Ｎ―１」がレディであるとホスト１８に通知する、第四の「レディ」信号５４を送信する。この時点で、フラッシュメモリ・デバイス１０は、第四の「レディ」信号５４を送信すると同時に、メモリ・アレイからページ・バッファへ前のデータ・ページ（ページ「Ｎ―２」）を取り出す（プロセス５６）。
【００７２】
フラッシュメモリ・デバイス１０から第四の「レディ」信号５４を受信すると、ホスト１８はキャッシュ・バッファからページ「Ｎ―１」を読み取る。この読み取りオペレーションは、メモリ・アレイからページ・バッファへのページ「Ｎ―２」の取り出し（プロセス５６）と同時に、ホスト１８が実行する。
【００７３】
「逆の」キャッシュ読み出しオペレーションのシーケンスを終止させるために、ホスト１８は、フラッシュメモリ・デバイス１０に、フラッシュメモリ・デバイス１０から最後の要求データ・ページ（例えば、ページ「Ｎ―Ｍ」、この場合、Ｍ＞２）を読み取るよう（例えば、０ｘ３Ｆコマンド・コードとして）キャッシュ読み出し終了コマンド６０を発する。
【００７４】
キャッシュ読み出し終了コマンド６０は、フラッシュメモリ・デバイス１０に、ページ・バッファからキャッシュ・バッファへページ「Ｎ―Ｍ」のコンテンツを転送させる（プロセス６２）。
【００７５】
ページ・バッファからキャッシュ・バッファへページ「Ｎ―Ｍ」を完全に転送した後、フラッシュメモリ・デバイス１０は、ホスト１８が読み取るのにページ「Ｎ―Ｍ」がレディであるとホスト１８に通知する最終「レディ」信号６４を送信する。
【００７６】
最終段階で、フラッシュメモリ・デバイス１０から最終「レディ」信号６４を受信すると、ホスト１８は、キャッシュ・バッファから最後のページ「Ｎ―Ｍ」を読み出し始める（プロセス６８）。
【００７７】
第二の実施例によれば、本発明によるフラッシュメモリ・デバイスは、ページ・バッファおよびキャッシュ・バッファの両方を採用して、ホストから受信した、連続で読み込んだデータ・ページ間の任意のアドレス増分（すなわち、非ゼロ整数）を特定するキャッシュ読み出しコマンドに応答して作動する。このように、ロジック・メカニズムは、従来の技術の場合のように物理的に組み込まれた＋１の増分だけでなく、あるいは本発明の第一の実施例の場合のように物理的に組み込まれた―１の減分だけでなく、任意のアドレス増分からのデータ・ページを取り出すようフラッシュメモリ・デバイスに指図するキャッシュ読み出しコマンドに反応するよう構成される。
【００７８】
注意すべきことは、任意の増分によって目標とするアドレスが、メモリ・アレイ・サイズの制約内になければならないことである。また、負のアドレス「増分」は、本文においてアドレス減分と定義することにも注意すべきである。
【００７９】
例えば、フラッシュメモリへ、＋５のアドレス増分を送信することは、フラッシュメモリに、キャッシュ読み出しが終止されるまで、アドレス「Ｎ」、「Ｎ＋５」、「Ｎ＋１０」などに記憶したページを戻すよう指図する。また、フラッシュメモリへ―５のアドレス増分を送信することは、フラッシュメモリに、キャッシュ読み出しが終止されるまで、アドレス「Ｎ」、「Ｎ―５」、「Ｎ―１０」などに記憶したページを戻すよう指図する。
【００８０】
ホストが任意のアドレス増分を設定して、これをパラメータ・コマンドとしてフラッシュメモリ・デバイスへ送信することが好ましい。このパラメータ・コマンドは、無効にされるまで、すべての以降のキャッシュ読み出しコマンドに関わる。
【００８１】
これは、例えば、フラッシュメモリ・デバイスに任意のアドレス増分値（例えば「５」）を特定するコマンド・コード０ｘＡＡを、最初にフラッシュメモリ・デバイスへ送信することによって、実現できる。その場合、以降の（「逆」あるいは「通常」のいずれかの）キャッシュ読み出しコマンドは、すべてこの値に関連する。「逆の」キャッシュ読み出しコマンドの場合には、コマンド・コード０ｘＡＡを介して受信した値は、減分数（「―５」）の表示であり、「通常の」キャッシュ読み出しコマンドの場合には、この値は、増分数（「＋５」）の表示である。そのようなプロシージャは、ホストから受信する連続的なキャッシュ読み出しコマンドがアドレス増分コマンドを伴う限り（または、キャッシュ読み出し終了コマンドがアサートされるまで）継続する。
【００８２】
択一的に、ホストから受信するキャッシュ読み出しコマンドの各々には、このキャッシュ読み出しコマンドに対してアドレス増分を特定する設定パラメータ・コマンドが付随する。そのようなケースは、例えば、各々のキャッシュ読み出しコマンドの後、フラッシュメモリ・デバイスへコマンド・コード０ｘＡＡを送信することによって実行できる。
【００８３】
択一的に、ホストから受信した各々のキャッシュ読み出しコマンドに付随するパラメータの各々は、アドレス増分ではなく、明示的な特定データ・ページ・アドレスの表示である。第一の読み取りコマンドに続くすべての読み取りコマンドがキャッシュ読み出しコマンドとして実行されるので、第二の実施例のこの択一的な実行は、明示アドレスを特定する従来の技術による非キャッシュ読み出しコマンドとは異なる。
【００８４】
ゆえに、従来の技術による正規の読み取りコマンドと違って、本発明によるフラッシュメモリ・デバイスの構成は、キャッシュ・バッファの優位性を利用しながら、データ・ページをどの順序ででも読み取るという必要性に応える。
【００８５】
本発明がＮＡＮＤフラッシュメモリ・デバイスに関するものである点に留意する必要がある。しかしながら、本発明の範囲内で他の実施例も可能であるため、ホストから受信したキャッシュ読み出しコマンドに応答して作動するように適用できるどのデバイスおよび方法にも関連する、と理解できる。
【００８６】
本発明をその特定な実施例に関して説明したが、さらに修正を施すことは当業者にとって可能であるのだから、上記説明は限定を意味していないと理解すべきである。また、そのような修正は、添付の請求項の範囲内でカバーすることを意図している。
【００８７】
本発明を、その実施例に関連させてより良く理解するために、添付の図面を参照する。図中、類似する数字は、全体を通して、対応するセクションあるいは素子を指す。
【図面の簡単な説明】
【００８８】
【図１】本発明によるフラッシュメモリ・デバイスを示すブロック図である。
【図２】前のデータ・ページを読み取るためにホストとフラッシュメモリとの間で適用されるプロセスを表す、本発明の方法のタイミング図である。
【図１】
0005274257.tif 000002
【図２】
0005274257.tif 000003