(57)【要約】  フラッシュメモリなどの再プログラム可能な不揮発性半導体メモリは、一意なファイル識別子とファイル内でのデータのオフセットとを含む論理アドレスでファイルを記憶するよう動作し、直接データファイル記憶と呼ばれる。ホストによって生成されるデータファイルは、ファイルインターフェイスを通じてこのようなメモリに直接記憶できる。しかし、連続論理アドレス空間を使用する従来のホスト／メモリインターフェイスが複数のファイルを識別するために使われる場合、アドレス空間が連続する論理ファイルに分割され、これらのファイルは、ホストから直接入手するファイルと同様に扱われる。両タイプのインターフェイスを同じメモリシステムに含めることができる。
2009503729.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
個別データファイルの第１のセットのアドレスがマッピングされる連続論理アドレス空間を保守するステップと、
個別ファイルのデータがいかにマッピングされるかにかかわりなく前記論理アドレス空間をアドレスのグループに分割するステップと、
前記アドレスグループの中で個別データファイルの第２のセットとしてデータを扱うステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、
前記アドレスグループの少なくともいくつかのアドレスグループは、サイズが等しい方法。
【請求項３】
メモリシステムを操作する方法であって、
単独ファイルの中のデータの論理アドレスの識別子を収容しない、連続論理アドレス空間の中のアドレスによって識別される、複数の単独データファイルを受信するステップと、
複数の連続論理アドレスグループに分割された前記論理アドレス空間を操作するステップと、
前記個々の論理アドレスグループの中で、一意なグループ識別情報と前記グループ内でのデータのオフセットとによって、前記データを論理的にアドレスするステップと、
前記複数の論理アドレスグループのデータを前記メモリシステムにマッピングするステップと、
を含む方法。
【請求項４】
請求項３記載の方法において、
前記複数の論理アドレスグループの個々の論理アドレスグループは、所定の量のデータを収容する方法。
【請求項５】
請求項４記載の方法において、
前記メモリシステムは、重複しない単位に分割された再プログラム可能な不揮発性半導体メモリセルを含み、前記個々の論理アドレスグループの前記所定のデータ量は、前記個々のメモリセル単位のデータ記憶容量に等しい方法。
【請求項６】
請求項５記載の方法において、
前記個々のメモリセル単位は、少なくとも１ブロックのメモリセルを収容し、１ブロックは、ともに消去できる最低数のメモリセルを収容する方法。
【請求項７】
請求項６記載の方法において、
前記個々のメモリセル単位は、メタブロックとしてともに論理的にリンクされた２ブロック以上のメモリセルを収容する方法。
【請求項８】
請求項３記載の方法において、
前記メモリシステムは、２ビット以上のデータを個別に記憶するためにそのメモリセルを操作する方法。
【請求項９】
請求項３記載の方法において、
一意なファイル識別情報と第２の複数の個別ファイル内でのデータのオフセットとにより識別される第２の複数の単独データファイルを受信するステップと、
前記第２の複数のファイルのデータを前記メモリシステムに直接マッピングするステップと、
をさらに含む方法。
【請求項１０】
請求項９記載の方法において、
前記メモリは少なくとも、前記複数の論理アドレスグループのデータがマッピングされる第１の区画と、前記第２の複数の受信ファイルのデータが直接マッピングされる第２の区画とに区画される方法。
【請求項１１】
請求項１０記載の方法において、
前記メモリは、前記メモリシステムの動作を制御するデータが記憶される第３の区画に区画される方法。
【請求項１２】
請求項１１記載の方法において、
前記メモリは、前記複数の論理アドレスグループまたは前記第２の複数の受信ファイルからデータを受け入れるために使用できる第４の区画に区画される方法。
【請求項１３】
請求項９記載の方法において、
前記複数の論理アドレスグループと前記第２の複数の受信ファイルからのデータは、いずれも前記メモリの共通区画にマッピングされる方法。
【請求項１４】
請求項１３記載の方法において、
前記メモリは、前記共通区画と、前記メモリシステムの動作を制御するデータが記憶される第２の区画とに区画される方法。
【請求項１５】
請求項１４記載の方法において、
前記メモリは、前記複数の論理アドレスグループまたは前記第２の複数の受信ファイルのいずれかからデータを受け入れるために使用できる消去済みメモリセル単位からなる、第３の区画にさらに区画される方法。
【請求項１６】
セル単位に分割された半導体メモリセルと論理アドレス空間を含むインターフェイスとを有するタイプの再プログラム可能な不揮発性メモリシステムを操作する方法であって、前記インターフェイスを通じてホストから受信する複数のデータファイルは前記論理アドレス空間で識別される方法において、
前記個々のメモリセル単位の記憶容量に等しいサイズを有する複数の連続論理アドレスグループに分割された前記論理アドレス空間を操作するステップと、
前記論理グループを、一意なファイル識別情報とファイル内でのデータのオフセットとを個々に有する単独ファイルとして前記メモリセル単位のうちの特定のメモリセル単位にマッピングするためのテーブルを保守するステップと、
を含む方法。
【請求項１７】
請求項１６記載の方法において、
一意なファイル識別情報と第２の複数の個別ファイル内でのデータのオフセットとにより識別される第２の複数の単独データファイルを受信するステップと、
前記第２の複数のファイルを前記メモリシステムの中の特定のメモリセル単位に直接マッピングするためのテーブルを保守するステップと、
をさらに含む方法。
【請求項１８】
セル単位に分割されたメモリセルを有するタイプの不揮発性メモリシステムを操作する方法であって、
一意なファイル識別情報とファイル内でのデータのオフセットとによってアドレス指定されるファイルとしてデータを前記メモリシステムに記憶するステップと、
一意なファイル識別情報とファイル内でのデータのオフセットとによってアドレス指定されるホストデータファイルを前記メモリの外部から受信することに応じて、このようなファイルアドレスにより前記受信データファイルを前記メモリシステムに直接記憶するステップと、
ホストデータファイルとしてではなく前記メモリの論理アドレス空間の中でアドレス指定されるホストデータを前記メモリの外部から受信することに応じて、ローカルアドレス範囲からなる所定のグループの中でアドレス指定されるメモリデータファイルとして前記受信ホストデータを記憶するステップであって、前記メモリファイルは、一意なファイル識別情報と前記メモリファイル内でのデータのオフセットとによって記憶されるステップと、
を含む方法。
【請求項１９】
請求項１８記載の方法において、
前記メモリシステムの中の前記メモリセル単位は少なくとも、ホストデータファイルが直接マッピングされる第１のグループと、前記メモリデータファイルが直接マッピングされる第２のグループとに区画される方法。
【請求項２０】
請求項１９記載の方法において、
前記メモリシステムの中の前記メモリセル単位は、前記メモリシステムの動作を制御するデータが記憶される第３のグループに区画される方法。
【請求項２１】
請求項２０記載の方法において、
前記メモリシステムの中の前記メモリセル単位は、ホストデータファイルまたはメモリデータファイルのいずれかを受け入れるために使用できる消去済みメモリセル単位からなる第４のグループに区画される方法。
【請求項２２】
請求項１９記載の方法において、
ローカルアドレス範囲からなる前記所定のグループは、個々のメモリセル単位の記憶容量に等しい量のデータを個々に含む方法。
【請求項２３】
請求項１８記載の方法において、
前記ホストデータファイルと前記メモリデータファイルはいずれも、メモリセル単位からなる共通グループにマッピングされる方法。
【請求項２４】
請求項２３記載の方法において、
ローカルアドレス範囲からなる前記所定のグループは、個々のメモリセル単位の記憶容量に等しい量のデータを個々に含む方法。
【請求項２５】
請求項２３記載の方法において、
前記メモリシステムの中の前記メモリセル単位は、前記共通グループと、前記メモリシステムの動作を制御するデータが記憶される第２のグループとに区画される方法。
【請求項２６】
請求項２５記載の方法において、
前記メモリシステムの中の前記メモリセル単位は、ホストデータファイルまたはメモリデータファイルのいずれかを受け入れるために使用できる消去済みメモリセル単位からなる、第３のグループにさらに区画される方法。
【請求項２７】
請求項１８記載の方法において、
ローカルアドレス範囲からなる前記所定のグループは、個々のメモリセル単位の記憶容量に等しい量のデータを含む方法。
【請求項２８】
電子装置であって、
データファイルの第１のセットを、連続論理アドレス空間の中の一意なアドレスによって識別するインターフェイスを有する第１のシステムと、
データファイルの第２のセットを、前記ファイルの一意な識別情報と前記個々のファイル内でのデータのオフセットとによって識別するインターフェイスを有する第２のシステムと、
前記連続論理アドレス空間を別々のアドレスグループに分割し、かつこれらのアドレスグループの中のデータを前記第２のセットのデータファイルとして識別するファイル変換部と、
を備える電子装置。
【請求項２９】
請求項２８記載の電子装置において、
前記ファイル変換部は、前記連続論理アドレス空間をサイズが同じ別々のアドレスグループに分割し、これにより前記第２のセットのデータファイルの前記データファイルもまた同じサイズとなる電子装置。
【請求項３０】
データ記憶システムであって、
アドレス指定可能なメモリと、
データをプログラムし読み出すために前記メモリのアドレスされる部分へのアクセスを引き起こす動作制御部と、
複数のホストファイルがマッピングされるが、個々のホストファイルによって占められる論理アドレス空間の中のアドレスの識別情報を収容しない、連続論理アドレス空間を含むインターフェイスと、
（ａ）前記論理アドレス空間を占めるホストファイルの論理アドレスとは無関係に、一意なファイル識別子とファイル内でのデータのオフセットとにより論理ファイルとして識別される前記論理アドレス空間の中の一意なアドレスグループと、（ｂ）前記メモリの物理部分のアドレスとの間のアドレス翻訳と、
を備えるデータ記憶システム。
【請求項３１】
請求項３０記載のメモリシステムにおいて、
一意なホストファイル識別子と識別されるホストファイル内でのデータのオフセットとによってアドレスされるホストデータ論理ファイルをホストシステムとやり取りするための第２のインターフェイスをさらに備えるメモリシステム。
【請求項３２】
再プログラム可能な不揮発性メモリシステムであって、
少なくとも１つの電荷記憶素子を個々に含み、かつメモリセル単位に分割されるメモリセルアレイと、
（ａ）一意なファイル識別子と識別されるファイル内でのデータのオフセットとを個々に含む論理ファイルのアドレスと、（ｂ）前記メモリセル単位の少なくともいくつかのメモリセル単位の物理アドレスとの間の第１のアドレス翻訳部と、
前記論理ファイルのデータをプログラムし読み出すために前記メモリセル単位の前記少なくともいくつかのメモリセル単位へのアクセスを引き起こす動作制御部と、
複数のホストファイルがマッピングされるが、個々のホストファイルによって占められる論理アドレス空間の中のアドレスの識別情報を収容しない、連続論理アドレス空間を含むインターフェイスと、
（ａ）一意なファイル識別子とファイル内でのデータのオフセットとにより論理ファイルとして識別される前記論理アドレス空間の中のアドレスグループと、（ｂ）前記第１のアドレス翻訳部の論理ファイルのアドレスとの間の第２のアドレス翻訳部と、
を備える再プログラム可能な不揮発性メモリシステム。
【請求項３３】
請求項３２記載のメモリシステムにおいて、
一意なホストファイル識別子と識別されるホストファイル内でのデータのオフセットとによってアドレスされるホストデータ論理ファイルをホストシステムとやり取りするための第２のインターフェイスをさらに備えるメモリシステム。
【請求項３４】
請求項３２記載のメモリシステムにおいて、
前記第２のアドレス翻訳部は、個々のメモリセル単位の記憶容量と同じ量のデータを個々に収容する前記論理アドレス空間内のアドレスグループ間でアドレスを翻訳するメモリシステム。
【請求項３５】
請求項３４記載のメモリシステムにおいて、
前記アレイの前記メモリセル単位は、少なくとも１ブロックのメモリセルを個々に含み、１ブロックは、ともに消去できる最低数のメモリセルを収容するメモリシステム。
【請求項３６】
請求項３５記載のメモリシステムにおいて、
前記アレイの前記メモリセル単位は、メタブロックとしてともに論理的にリンクされた２ブロック以上のメモリセルを個々に含むメモリシステム。
【請求項３７】
請求項３２記載のメモリシステムにおいて、
前記動作制御部は、記憶されるデータを表す個々の電荷記憶素子の３つ以上の測定可能な電荷レベルのうちの１つの測定可能な電荷レベルを記憶するべくさらに動作し、これにより前記個々の電荷記憶素子で２ビット以上のデータを記憶するメモリシステム。
【請求項３８】
請求項３３記載のメモリシステムにおいて、
前記第１のアドレス翻訳部は、前記第２のインターフェイスの前記論理アドレス空間の中のアドレスグループから形成される論理ファイルのアドレスを、前記第１のインターフェイスを通過するホスト論理ファイルのアドレスとは異なる１セットのメモリセル単位にマッピングするべくさらに動作するメモリシステム。
【請求項３９】
請求項３３記載のメモリシステムにおいて、
前記第１のアドレス翻訳部は、前記第２のインターフェイスの前記論理アドレス空間の中のアドレスグループから形成される論理ファイルのアドレスと、前記第１のインターフェイスを通過するホスト論理ファイルのアドレスとを、共通の１セットのメモリセル単位にマッピングするべくさらに動作するメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、一般的には異なるインターフェイスを有する電子システム間のデータ通信に関し、より具体的には、メモリシステムと、メモリの接続先にあたる、またはメモリを接続できる、ホストデバイスとの間のインターフェイスの管理による、着脱可能メモリカード等の形をとる再プログラム可能な不揮発性半導体フラッシュメモリなどのメモリシステムの操作に関する。
【背景技術】
【０００２】
ホストシステム、メモリシステム、その他の電子システムの外部インターフェイスを通じて通信されるデータをアドレス指定するには主に２つの手法がある。そのうちの一手法では、システムによって生成または受信されるデータファイルのアドレスが、システムで設定された別個の連続論理アドレス空間範囲にマッピングされる。アドレス空間の大きさは通常、システムで取り扱うことのできるアドレス全域を十分にカバーする。一例において、磁気ディスク記憶ドライブは、このような論理アドレス空間を通じてコンピュータや他のホストシステムと通信する。このアドレス空間は、ディスクドライブの全データ記憶容量を十分にアドレス指定する大きさを持つ。２通りある手法のうちの２つ目の手法では、電子システムによって生成または受信されたデータファイルが一意に識別され、そのデータはファイル内でのオフセットによって論理的にアドレスされる。コンピュータや他のホストシステムと「スマートカード」として知られる着脱可能なメモリカードとの間では、このアドレス指定方法の形態が使われている。スマートカードは通常、識別、バンキング、販売時点購入、ＡＴＭアクセス等のために消費者に利用される。
【０００３】
これらの２通りのアドレス指定手法は両立しない。つまり、それらのうちの一方を使用するシステムは他方を使用するシステムとデータをやり取りできない。本発明の目的は、このギャップを埋め、論理アドレス空間本位のシステムとファイル本位のシステムとの間でデータ通信を可能にすることにある。以降の説明ではホストシステムとメモリシステムとの間のデータ通信の例を提示し、ホストシステムが論理アドレス空間インターフェイスを使用し、メモリシステムがファイル本位のインターフェイスを持つ。説明されるメモリシステムの例は、再プログラム可能な不揮発性半導体フラッシュメモリである。
【０００４】
初期世代の商用フラッシュメモリシステムでは、メモリセルからなる矩形のアレイが、標準ディスクドライブセクタのデータ量、すなわち５１２バイトを、各々記憶する多数のセルグループに分割されていた。さらに通常ならば、誤り訂正符号（ＥＣＣ）を記憶し、ことによるとユーザデータ、および／またはこれを記憶するメモリセルグループに、関係する他のオーバーヘッドデータを記憶するため、１６バイトなどの一定量のデータが各グループに加わる。このようなグループの中にあるメモリセルは、ともに消去可能な最低数のメモリセルである。すなわち、消去単位は事実上、１つのデータセクタを、そしてオーバーヘッドデータが含まれる場合にはオーバーヘッドデータを、記憶するメモリセル数である。米国特許第５，６０２，９８７号（特許文献１）および第６，４２６，８９３号（特許文献２）には、このタイプのメモリシステムの例が記載されている。フラッシュメモリの特徴として、メモリセルにデータを再度プログラムする前にメモリセルを消去する必要がある。
【０００５】
フラッシュメモリシステムは多くの場合、パーソナルコンピュータやカメラ等、様々なホストと着脱可能な状態で接続するメモリカードまたはフラッシュドライブの形で提供されるが、このようなホストシステムの中に埋め込まれることもある。ホストは通常、メモリへデータを書き込む場合、メモリシステムの連続する仮想アドレス空間の中でセクタ、クラスタまたはその他のデータ単位に一意な論理アドレスを割り当てる。ホストは、ディスクオペレーティングシステム（ＤＯＳ）のように、メモリシステムの論理アドレス空間の中のアドレスにデータを書き込み、かつこれからデータを読み出す。メモリシステムの中のコントローラは、ホストから受け取った論理アドレスをメモリアレイの中のデータが実際に記憶される物理アドレスに翻訳し、これらのアドレス翻訳の経緯を把握する。メモリシステムのデータ記憶容量は少なくとも、メモリシステムのために規定される論理アドレス空間全体にわたってアドレス指定可能なデータ量に相当する。
【０００６】
後続世代のフラッシュメモリシステムでは、消去単位のサイズが複数セクタのデータを十分に記憶するメモリセルブロックまで拡大した。メモリシステムの接続先にあたるホストシステムがセクタなどの小さな最小単位でデータをプログラムし読み出すとしても、フラッシュメモリの１消去単位には多数のセクタが記憶される。ホストが論理セクタのデータの更新や置き換えを行うときに、ブロック内のいくつかのデータセクタが用済みになることは多々ある。ブロックに記憶されたデータに上書きを行うには事前にブロック全体を消去しなければならないから、新規または更新済みデータは通常、あらかじめ消去されデータのための容量が残っている別のブロックに記憶される。この過程で元のブロックには用済みデータが残り、メモリ内の貴重な空間を取る。しかし、このブロックは、その中に有効なデータが残っていると消去できない。
【０００７】
したがって、メモリ記憶容量の有効利用を図るため、有効な不完全ブロックのデータ量を消去済みブロックにコピーすることによってこれを整理または回収するのが一般的であり、こうすればデータのコピー元にあたるブロックを消去でき、その記憶容量の全体を再利用できる。ブロック内のデータセクタをそれぞれの論理ブロックの順にグループ分けするためにデータをコピーすることも望ましく、こうすればデータを読み出して、読み出したデータをホストへ転送する速度が上がる。そのようなデータコピーがあまりにも頻繁に行われると、メモリシステムの動作性能が低下することがある。これは特に、メモリの記憶容量が、システムの論理アドレス空間を通じてホストによってアドレス指定可能なデータ量と大差ない場合、つまりよくある場合、メモリシステムの動作に影響する。この場合は、ホストプログラミングコマンドが実行される前にデータを整理または回収する必要がある。そうするとプログラミングの時間が長引く。
【０００８】
所与の半導体エリアに記憶できるデータのビット数を増やすため、ブロックのサイズはメモリシステムの世代交代を通じて拡大している。２５６以上のデータセクタを記憶するブロックが一般的になりつつある。加えてデータのプログラミングと読み出しにあたって並列度を高めるため、アレイまたはサブアレイからなる２つ、４つ、またはそれ以上のブロックがしばしばメタブロックとして論理的にともにリンクされる。そのような大容量操作単位には、それらを効率的に操作するという課題がともなう。
【０００９】
このようなメモリシステムのための一般的なホストインターフェイスは、ディスクドライブで一般的に使われているものに類似する論理アドレスインターフェイスである。メモリの接続先にあたるホストによって生成されるファイルには、インターフェイスの論理アドレス空間の中で一意なアドレスが割り当てられる。メモリシステムは普通、論理アドレス空間とメモリの物理ブロックまたはメタブロックとの間でデータをマッピングする。メモリシステムは論理アドレス空間から物理メモリへのマッピングを絶えず把握するが、ホストはこれを知らない。ホストは、論理アドレス空間の中でそのデータファイルのアドレスを絶えず把握するが、メモリシステムはこのマッピングについて無知の状態で動作する。
【特許文献１】米国特許第５，６０２，９８７号
【特許文献２】米国特許第６，４２６，８９３号
【特許文献３】米国特許出願第１０／９１５，０３９号
【特許文献４】米国特許第５，５７０，３１５号
【特許文献５】米国特許第５，７７４，３９７号
【特許文献６】米国特許第６，０４６，９３５号
【特許文献７】米国特許第６，３７３，７４６号
【特許文献８】米国特許第６，４５６，５２８号
【特許文献９】米国特許第６，５２２，５８０号
【特許文献１０】米国特許第６，７７１，５３６号
【特許文献１１】米国特許第６，７８１，８７７号
【特許文献１２】米国公開特許出願第２００３／０１４７２７８号
【特許文献１３】米国公開特許出願第２００３／０１０９０９３号
【特許文献１４】米国特許第６，７６３，４２４号
【特許文献１５】米国特許出願第１０／７４９，８３１号
【特許文献１６】米国特許出願第１０／７５０，１５５号
【特許文献１７】米国特許出願第１０／９１７，８８８号
【特許文献１８】米国特許出願第１０／９１７，８６７号
【特許文献１９】米国特許出願第１０／９１７，８８９号
【特許文献２０】米国特許出願第１０／９１７，７２５号
【特許文献２１】米国特許出願第１１／１９２，２２０号
【特許文献２２】米国特許出願第１１／１９２，３８６号
【特許文献２３】米国特許出願第１１／１９１，６８６号
【特許文献２４】米国特許出願第１０／７４９，１８９号
【特許文献２５】米国特許出願第１０／８４１，１１８号
【特許文献２６】米国特許出願第１１／０１６，２７１号
【特許文献２７】米国特許出願第１０／８９７，０４９号
【特許文献２８】米国特許出願第１１／０２２，３６９号
【特許文献２９】米国特許出願第１１／０６０，１７４号
【特許文献３０】米国特許出願第１１／０６０，２４８号
【特許文献３１】米国特許出願第１１／０６０，２４９号
【特許文献３２】本願と同時に出願された「フラッシュメモリにおける直接データファイル記憶(Direct Data File Storage in Flash Memories)」という米国仮特許出願
【発明の開示】
【００１０】
第１のシステムの論理アドレス空間インターフェイスと第２のシステムの直接データファイルインターフェイスとの間で、第１のシステムの論理アドレス空間を別個の連続アドレスグループに分割することにより、次いで個々のグループの中で第２のシステムの単独ファイルとしてデータを扱うことにより、データがやり取りされる。各グループにおけるデータ量は、好ましくは同じであり、第２のシステムが効率よく利用できる量に選択される。第１および第２のシステムは、このようなインターフェイスを通じてデジタルデータを外部に送信する、および／または受信する、多様な電子システムのいずれであってもよい。これより詳述する例において、第１のシステムは、パーソナルコンピュータ、カメラ、オーディオプレイヤなどのホストであり、第２のシステムはメモリである。メモリは、ホストへ着脱可能な状態で接続されるカードの形をとってよい。メモリは様々なタイプのいずれであってもよいが、これ以降は半導体フラッシュメモリを説明する。
【００１１】
効率的な動作のため、ここで説明するメモリシステムはデータを単独ファイルの形で直接記憶する。各々のデータファイルは、単なる数字など、一意な識別情報とともに記憶され、そのデータはファイル内でのオフセットアドレスによって表される。しかし、ホストシステムとメモリシステムとの間に従来のインターフェイスが存在する場合には、その論理アドレス空間をどうにかしてデータファイル本位の記憶システムにマッピングする必要がある。ここでは、論理アドレス空間をいくつかの論理ファイルとして表すことによってこれを達成し、１アドレス範囲のデータが１論理ファイルを形成し隣接するが、重複しない、アドレス範囲のデータは別のファイルになるなどである。各々の論理ファイルは、一意なファイル識別子とファイル内でのデータのオフセットとによって表され、直接データファイルメモリシステムの中で直接記憶される。各々の論理ファイルが同じ量のデータを含むと最も好都合であり、この量は、好ましくはメモリシステムの物理単位のデータ記憶容量に等しい。
【００１２】
データファイルを直接記憶するメモリシステムは、ホストが直接データファイルインターフェイスで動作するよう構成される場合に、そのホストと連動しながらホストファイルを直接的に効率よくやり取りできる。デュアルインターフェイスメモリの直接データファイルインターフェイスを使用する場合、論理アドレスインターフェイスを使用しない。しかし、論理アドレスインターフェイスおよび直接ファイルインターフェイスの両方をメモリシステムに盛り込めば、直接データファイルインターフェイスをサポートするホストシステムとともにメモリを最も効率的な方法で使用できると同時に、メモリは、従来の論理アドレスインターフェイスだけで動作するホストにも適合できる。しかし、直前の段落で説明したように、メモリシステムには直接データファイルインターフェイスの中で論理アドレス空間インターフェイスのみを提供してよく、この場合の直接データファイルインターフェイスは完全にメモリシステムの内部にある。
【００１３】
本発明の他の態様、利点、特徴、および詳細は、この後に続く代表的な例の説明に含まれ、この説明は添付の図面と併せて解釈すべきものである。さらに、本願明細書で参照されている特許、特許出願、記事、その他の刊行物、文書、事柄はどれも、あらゆる目的のためにその全体が本願明細書において参照により援用されている。
【発明を実施するための最良の形態】
【００１４】
フラッシュメモリシステムの概説
まずは一般的なフラッシュメモリシステムを図１〜６との関係で説明する。このようなシステムで本発明の様々な態様を実施できる。図１のホストシステム１は、フラッシュメモリ２の中にデータを記憶し、かつフラッシュメモリ２からデータを引き出す。フラッシュメモリはホストの中に埋め込むこともできるが、メモリ２はそれよりも一般的なカードの形で図に示され、このカードは、機械的および電気的コネクタの嵌合部分３および４を通じて着脱可能な状態でホストへ接続される。例えばコンパクトフラッシュ（ＣＦ）、マルチメディアカード（ＭＭＣ）、セキュアデジタル（ＳＤ）、ミニＳＤ、メモリスティック、スマートメディア、トランスフラッシュカード等、様々なフラッシュメモリカードが現在多く市販されている。これらのカードの各々はそれぞれの規格化された仕様に従い独特の機械的および／または電気的インターフェイスを有するが、各々に内蔵されたフラッシュメモリシステムは類似する。これらのカードはいずれも、本願の譲受人であるサンディスク  コーポレイション(SanDisk Corporation) から入手できる。サンディスク  コーポレイションはまた、クルーザー（Ｃｒｕｚｅｒ）という商標のもとで一連のフラッシュドライブを提供し、フラッシュドライブは、ホストのユニバーサル・シリアル・バス（ＵＳＢ）差込口に差し込まれることによってホストと接続するＵＳＢプラグを有する小形の手持ち式メモリシステムである。これらのメモリカードとフラッシュドライブの各々は、ホストと連動して内蔵されたフラッシュメモリの動作を制御するコントローラを内蔵している。
【００１５】
このようなメモリカードとフラッシュドライブとを使用するホストシステムは数多くあり様々である。パーソナルコンピュータ（ＰＣ）、ラップトップおよび他の携帯用コンピュータ、携帯電話、個人用携帯情報端末（ＰＤＡ）、デジタル静止画カメラおよびデジタル動画カメラ、携帯用オーディオプレイヤ等が含まれる。ホストは通常ならば１種類以上のメモリカードまたはフラッシュドライブのための一体化された差込口を内蔵するが、一部のホストはメモリカードを差し込むアダプタを要する。メモリシステムは普通、独自のメモリコントローラとドライバとを内蔵しているが、メモリの接続先にあたるホストによって実行されるソフトウェアにより制御されるメモリのみのシステムもいくつかある。コントローラを内蔵する一部のメモリシステムでは、特にホストに埋め込まれたものでは、メモリとコントローラとドライバとがしばしば単一の集積回路チップ上で形成される。
【００１６】
図１のホストシステム１は、メモリ２が接続される限りにおいて、回路とソフトウェアとの組み合わせからなる、２つの主要部分を有するものとみなすことができる。それらはアプリケーション部５と、メモリ２と連動するドライバ部６である。例えばパーソナルコンピュータの場合、アプリケーション部５は、ワープロ、グラフィック、コントロールまたは、その他の一般的なアプリケーションソフトウェアを実行するプロセッサを含むことがある。カメラ、携帯電話、または専ら１組の機能を遂行するためのその他のホストシステムの場合、アプリケーション部５は、写真を撮影したり記憶したりするためにカメラを動作させる、電話をかけたり受けたりするために携帯電話を動作させる等の、ソフトウェアを含む。
【００１７】
図１のメモリシステム２はフラッシュメモリ７および回路８を含み、回路はいずれも、データをやり取りし、かつメモリ７を制御するため、カードの接続先にあたるホストと連動する。コントローラ８は通常、データのプログラミングと読み出しの際にホスト１によって使用されるデータの論理アドレスとメモリ７の物理アドレスとの変換を行う。
【００１８】
図２を参照し、図１の不揮発性メモリ２として使用できる典型的フラッシュメモリシステムの回路が説明される。システムコントローラは普通、システムバス１３沿いに１つ以上の集積回路メモリチップと並列で接続される単一集積回路チップ１１上で実施され、図２にはただひとつのこのようなメモリチップ１５が示されている。図に示された特定のバス１３は、データを搬送する１セットの導体１７と、メモリアドレスのためのセット１９と、制御および状態信号のためのセット２１とを含む。あるいは、これらの３機能の間で１セットの導体を時分割共用できる。さらに、２００４年８月９日に出願された米国特許出願第１０／９１５，０３９号「リングバス構造とフラッシュメモリシステムにおけるその使用(Ring Bus Structure and It's Use in Flash Memory Systems) 」（特許文献３）で説明されているリングバスなど、これとは別のシステムバス構成を使用できる。
【００１９】
典型的なコントローラチップ１１は、インターフェイス回路２５を通じてシステムバス１３と連動する独自の内部バス２３を有する。このバスへ通常接続される主要な機能には、プロセッサ２７（例えば、マイクロプロセッサまたはマイクロコントローラ）と、システムを初期化（「ブート」）するためのコードを収容する読み出し専用メモリ（ＲＯＭ）２９と、主にメモリとホストとの間で転送されるデータをバッファするために使われるランダムアクセスメモリ（ＲＡＭ）３１と、コントローラを通じてメモリとホストとの間を行き来するデータのため誤り訂正符号（ＥＣＣ）を計算し検査する回路３３とがある。コントローラバス２３は回路３５を通じてホストシステムと連動し、これは、メモリカードに収容される図２のシステムの場合、コネクタ４の一部をなすカードの外部接点３７を通じて果たされる。クロック３９は、コントローラ１１の他のコンポーネントの各々に接続され、他のコンポーネントの各々によって利用される。
【００２０】
メモリチップ１５と、システムバス１３に接続される他のメモリチップは通常、複数のサブアレイまたはプレーンに編制されたメモリセルアレイを収容し、簡潔を図るために２つのこのようなプレーン４１および４３が図に示されているが、これよりも多い、例えば４つ、または８つの、このようなプレーンを代わりに使用することもできる。あるいは、チップ１５のメモリセルアレイはプレーンに分割しなくともよい。しかし、分割するなら、各々のプレーンは互いに独立して動作できる独自の列制御回路４５および４７を有する。回路４５および４７は、システムバス１３のアドレス部１９からそれぞれのメモリセルアレイのアドレスを受け取り、それぞれのビット線４９および５１のうちの、特定の１つ以上のビット線をアドレス指定するため、それらを復号化する。ワード線５３は、アドレスバス１９で受け取るアドレスに応じて行制御回路５５を通じてアドレス指定される。ソース電圧制御回路５７および５９もまたそれぞれのプレーンに接続され、ｐウェル電圧制御回路６１および６３も同様である。メモリチップ１５がただひとつのメモリセルアレイを有し、２つ以上のこのようなチップがシステムに存在する場合、各チップのアレイは、前述したマルチプレーンチップ内のプレーンまたはサブアレイと同様に動作させることができる。
【００２１】
データは、システムバス１３のデータ部１７に接続されたそれぞれのデータ入出力回路６５および６７を通じてプレーン４１および４３を出入りする。回路６５および６７は、それぞれの列制御回路４５および４７を通じてプレーンへ接続する線６９および７１を通じて、メモリセルの中にデータをプログラムし、かつそれぞれのプレーンのメモリセルからデータを読み出すためにある。
【００２２】
コントローラ１１は、データをプログラムし、読み出し、消去し、かつ様々なハウスキーピング作業に対応するために、メモリチップ１５の動作を制御するが、各々のメモリチップもまた、このような機能を遂行するためにコントローラ１１からのコマンドを実行する何らかの制御回路を収容する。インターフェイス回路７３はシステムバス１３の制御および状態部２１へ接続される。コントローラからのコマンドは状態マシン７５へ提供され、状態マシンは、これらのコマンドを実行するために他の回路の特定の制御も提供する。制御線７７〜８１は、図２に示す他の回路に状態マシン７５を接続する。状態マシン７５からの状態情報は、バス部２１に沿ってコントローラ１１へ送信するため、線８３に沿ってインターフェイス７３へ伝達される。
【００２３】
現在はメモリセルアレイ４１および４３のＮＡＮＤアーキテクチャが好まれているが、ＮＯＲなどの他のアーキテクチャを代わりに使用することもできる。ＮＡＮＤフラッシュメモリおよびメモリシステムの一部としてのこれの動作の例が、米国特許第５，５７０，３１５号（特許文献４）、第５，７７４，３９７号（特許文献５）、第６，０４６，９３５号（特許文献６）、第６，３７３，７４６号（特許文献７）、第６，４５６，５２８号（特許文献８）、第６，５２２，５８０号（特許文献９）、第６，７７１，５３６号（特許文献１０）、および第６，７８１，８７７号（特許文献１１）ならびに米国公開特許出願第２００３／０１４７２７８号（特許文献１２）とを参照することによって得られる。
【００２４】
図２のメモリシステムのメモリセルアレイ４１の一部分にあたる図３の回路図には、ＮＡＮＤアレイの例が示されている。多数のグローバルビット線が提供されるが、説明の簡潔を図るため、図３には４つのこのような線９１〜９４だけが示されている。これらのビット線の１ビット線と基準電位との間には、いくつかの直列接続メモリセルストリング９７〜１０４が接続される。メモリセルストリング９９を代表として使用し、ストリングの両端にある選択トランジスタ１１１および１１２には複数の電荷記憶メモリセル１０７〜１１０が直列で接続される。１ストリングの選択トランジスタが通電すると、ストリングがそのビット線と基準電位との間で接続される。次いで、そのストリングの中で一度に１つのメモリセルがプログラムされ、または読み出される。
【００２５】
図３のワード線１１５〜１１８は、数々のメモリセルストリングの各々で１つのメモリセルの電荷記憶素子にわたって個別に延在し、ゲート１１９および１２０は、ストリングの各末端にある選択トランジスタの状態を制御する。共通のワード線およびコントロールゲート線１１５〜１２０を共用するメモリセルストリングは、ともに消去されるメモリセルのブロック１２３を形成する。このセルからなるブロックは、一度に物理的に消去できる最小数のセルを収容する。ワード線１１５〜１１８の１ワード線沿いの１行のメモリセルが一度にプログラムされる。通常、ＮＡＮＤアレイの行は規定の順序でプログラムされ、この場合は、接地または共通電位へ接続されたストリングの末端に最も近いワード線１１８沿いの行から始まる。次にワード線１１７沿いのメモリセル行がプログラムされ、ブロック１２３の全体を通じて同様に進むなどである。最後にワード線１１５沿いの行がプログラムされる。
【００２６】
第２のブロック１２５は類似し、そのメモリセルストリングは第１のブロック１２３のストリングと同じグローバルビット線へ接続されるが、異なる一組のワード線およびコントロールゲート線を有する。ワード線およびコントロールゲート線は、行制御回路５５によって適切な動作電圧まで駆動される。図２のプレーン１および２のような、２つ以上のプレーンまたはサブアレイがシステムにある場合、それらの間に延在する共通ワード線を１つのメモリアーキテクチャで使用する。代わりに、共通ワード線を共用する３つ以上のプレーンまたはサブアレイがあってもよい。別のメモリアーキテクチャでは、個々のプレーンまたはサブアレイのワード線が別々に駆動される。
【００２７】
前に参照されているＮＡＮＤ特許および公開特許出願のいくつかで説明されているように、３つ以上の検出可能な電荷レベルを各電荷記憶素子または領域に記憶するようメモリシステムを動作させることができ、これにより２ビット以上のデータを各々に記憶する。メモリセルの電荷記憶素子は一般的には導電性フローティングゲートであるが、代わりに米国公開特許出願第２００３／０１０９０９３号（特許文献１３）で説明される非導電性誘電性電荷捕獲材であってもよい。
【００２８】
図４は、以降のさらなる説明で一例として使用するフラッシュメモリセルアレイ７（図１）の編制を概念的に示している。１つの集積メモリセルチップ、２つのチップ（各チップ上のプレーンのうちの２つ）、または４つの別々のチップの上に、メモリセルの４つのプレーンまたはサブアレイ１３１〜１３４があってよい。具体的な配置は以降の説明にとって重要でない。もちろん、１、２、８、１６以上などの、これ以外の数のプレーンがシステムの中にあってもよい。プレーンは、それぞれのプレーン１３１〜１３４に位置するブロック１３７、１３８、１３９、および１４０の矩形によって図４に示すメモリセルブロックに各々分割される。各プレーンには何十、何百ものブロックがあってよい。前述したように、メモリセルのブロックは消去の単位、すなわちともに物理的に消去できる最小数のメモリセルである。しかし、並列性を高めるためには、これよりも大きいメタブロック単位でブロックを操作する。各プレーンから１つのブロックが論理的にリンクされることによってメタブロックを形成する。４つのブロック１３７〜１４０によって１つのメタブロック１４１が形成される様子が図に示されている。通常ならば、１メタブロック内の全てのセルが一緒に消去される。ブロック１４５〜１４８からなる第２のメタブロック１４３に見られるように、メタブロックを形成するように使用されるブロックを、それぞれのプレーンの中の同じ相対的位置に制限する必要はない。通常は全てのプレーンにわたってメタブロックを延在させるのが好ましいが、高いシステム性能のためには、異なるプレーンにある１つ、２つ、または３つのブロックのいずれかまたは全部からなるメタブロックを動的に形成する能力を用いてメモリシステムを操作することができる。これにより、１回のプログラミング操作で記憶のために使用できるデータ量にメタブロックのサイズをより近づけることが可能となる。
【００２９】
個々のブロックはさらに、動作上の目的のため、図５に示すようにメモリセルのページに分割される。例えば、ブロック１３１〜１３４の各々のメモリセルは８つのページＰ０〜Ｐ７に各々分割されている。代わりに、１６、３２、またはそれ以上のメモリセルページが各ブロックの中にあってよい。ページは、ブロックの中でデータをプログラムし読み出す単位であり、一度にプログラムされる、または読み出される、最少量のデータを収容する。図３のＮＡＮＤアーキテクチャでは、ブロックの中でワード線沿いのメモリセルからページが形成されている。しかし、メモリシステムの動作上の並列性を高めるために、２つ以上のブロックの中にあるこのようなページをメタページの中に論理的にリンクできる。図５には、４つのブロック１３１〜１３４の各々にある１つの物理ページから形成されたメタページ１５１が示されている。メタページ１５１は、例えば４つのブロックの各々にあるページＰ２を含むが、メタページのページは、ブロックの各々の中で同じ相対的位置になくてもよい。メタページは最大プログラミング単位である。
【００３０】
全４つのプレーンにわたって最大量のデータを並行してプログラムし読み出すことが望ましいが、高いシステム性能のため、異なるプレーンの中にある別々のブロックの１つ、２つ、または３つのページのいずれかまたは全てからメタページを形成するべくメモリシステムを操作することもできる。これにより、並行して簡便に扱えるデータ量にプログラミングおよび読み出し操作を適合させることができ、さらにデータがプログラムされない部分がメタページに残る機会は減る。
【００３１】
図５に示す複数のプレーンの物理ページからなるメタページは、それらの複数のプレーンのワード線行に沿ってメモリセルを収容する。１つのワード線行にある全てのセルを同時にプログラムするよりは、２つ以上のインターリーブされたグループでそれらを交互にプログラムするほうがむしろ一般的であり、各グループは、（単一ブロック内の）１ページのデータまたは（複数のブロックにまたがる）１メタページのデータを記憶する。交互のメモリセルを一度にプログラムすることにより、データレジスタやセンス増幅器を含むひとまとまりの周辺回路を各ビット線のために用意する必要はなく、むしろ隣接するビット線の間で時分割共用される。これは、周辺回路に要する基板空間の量を節約し、メモリセルの行沿いの実施密度を増すことができる。さもなくば、所与のメモリシステムから最大限の並列性を引き出すために、行沿いの全セルを同時にプログラムするのが望ましい。
【００３２】
図３を参照し、行沿いの互い違いのメモリセルへのデータの同時プログラミングを最も簡便に果たすには、ＮＡＮＤストリングの少なくとも一端に沿って２行の選択トランジスタ（図示せず）を、図に示された１行の代わりに、提供することである。この場合、一方の行の選択トランジスタは、１つの制御信号に応じてブロック内の互い違いのストリングをそれぞれのビット線へ接続し、他方の行の選択トランジスタは、別の制御信号に応じて介在する互い違いのストリングをそれぞれのビット線へ接続する。したがって、メモリセルの各行には２ページ分のデータが書き込まれる。
【００３３】
各論理ページのデータ量は通常、１つ以上の整数のデータセクタ数であって、各セクタは慣例上５１２バイトのデータを収容する。セクタは、メモリシステムへ、およびメモリシステムから、送信されるデータの最小単位である。図６は、１ページまたはメタページの、２つのデータのセクタ１５３および１５５からなる論理データページを示している。各セクタは普通、５１２バイトのユーザデータまたはシステムデータが記憶される部分１５７と、部分１５７にあるデータまたはこれを記憶する物理ページまたはブロックに関係するオーバーヘッドデータのための別のバイト数１５９を収容する。オーバーヘッドデータのバイト数は通常ならば１６バイトであり、セクタ１５３および１５５の各々につき合計５２８バイトになる。オーバーヘッド部分１５９は、プログラミング中にデータ部分１５７から算出されるＥＣＣ、その論理アドレス、ブロックが消去され再プログラムされる回数の経験カウント、１つ以上の制御フラグ、動作電圧レベル等に加え、このようなオーバーヘッドデータ１５９から算出されるＥＣＣを収容できる。代わりに、オーバーヘッドデータ１５９またはオーバーヘッドデータ１５９の一部分は、他のブロックの別のページに記憶できる。いずれにせよセクタは記憶データ単位を意味し、これにＥＣＣが関連する。
【００３４】
メモリの並列性が高まるにつれメタブロックのデータ記憶容量は増し、その結果、データページおよびメタページのサイズも増す。データページは３セクタ以上のデータを収容できる。１データページ内に２つのセクタと、各メタページにつき２つのデータページとで、１メタページ内のセクタは４つになる。よって、各メタページは２，０４８バイトのデータを記憶する。これは高度な並列性であり、行内のメモリセル数の増加にともないさらに高めることができる。このため、ページおよびメタページ内のデータ量を増やすために、フラッシュメモリの幅が拡大されつつある。
【００３５】
ホスト−メモリインターフェイスと一般的なメモリ動作
前述した物理的に小さい再プログラム可能な不揮発性メモリカードおよびフラッシュドライブは市販され、データ記憶容量は５１２メガバイト（ＭＢ）、１ギガバイト（ＧＢ）、２ＧＢおよび４ＧＢ以上になる。ホストは、ホストによって実行されるアプリケーションソフトウェアまたはファームウェアプログラムによって生成または使用されるデータファイルを処理する。ワープロデータファイルはその一例であり、コンピュータ支援設計（ＣＡＤ）ソフトウェアの描画ファイルもこれにあたり、主にＰＣ、ラップトップコンピュータ等、一般的なコンピュータホストに見られる。ｐｄｆ形式の文書もこのようなファイルである。静止画デジタルビデオカメラは各写真につきデータファイルを生成し、データファイルはメモリカードに記憶される。携帯電話は、電話帳などの内蔵メモリカード上のファイルからデータを利用する。ＰＤＡは、住所ファイル、カレンダーファイル等、数通りのファイルを記憶し使用する。このような用途において、メモリカードはホストを操作するソフトウェアを収容することもある。
【００３６】
図７には、ホストとメモリシステムとの間の一般的な論理インターフェイスが示されている。連続する論理アドレス空間１６１は、メモリシステムに記憶される全データのためアドレスを提供するにあたって十分に大きい。ホストアドレス空間は通常、データクラスタの単位に分割される。所与のホストシステムにおいて、いくつかのデータセクタを収容するように各クラスタを設計でき、４から６４セクタあたりが一般的である。標準的なセクタは５１２バイトのデータを収容する。
【００３７】
図７の例では、３つのデータファイル１，２，および３が作成されたものとして示されている。ホストシステムで実行するアプリケーションプログラムは、整列された１組のデータとして各ファイルを作成し、一意な名前またはその他の参照符によってこれを識別する。データファイル１にはホストによって、他のファイルにまだ割り振られていない十分に使用可能な論理アドレス空間が、ファイル−論理アドレス変換１６０により、割り当てられる。データファイル１は、一連の使用可能な論理アドレス範囲が割り当てられた状態で示されている。このほかに通常ならば、ホストオペレーティングソフトウェアのための特定の範囲などの、特定の目的のためにアドレス範囲が割り振られ、これらのアドレス範囲は、たとえホストがデータに論理アドレスを割り当てようとするときに、これらのアドレスがまだ利用されていなくとも、データの記憶にあたって回避される。
【００３８】
ホストは同様に、後ほどホストによってデータファイル２が作成されるときに、論理アドレス空間１６１の中の２つの異なる連続アドレス範囲を、図７のファイル−論理アドレス変換１６０により、割り当てる。ファイルに連続する論理アドレスを割り当てる必要はなく、すでに他のファイルに割り振られているアドレス範囲の間にあるアドレスの断片であってもよい。この例はさらに、ホストによって作成されたもうひとつのデータファイル３に、データファイル１および２やその他のデータにまだ割り振られていないホストアドレス空間の別の部分が割り振られる様子を示している。
【００３９】
ホストは、ファイルアロケーションテーブル（ＦＡＴ）を保守することによってメモリ論理アドレス空間を絶えず把握し、このファイルアロケーションテーブルでは、ホストが変換１６０によって様々なホストファイルに割り当てる論理アドレスが保守される。ＦＡＴテーブルは、新しいファイルが記憶されるとき、他のファイルが削除されるとき、ファイルが修正されるとき等に、ホストによって頻繁に更新される。ＦＡＴテーブルは通常ならばホストメモリに記憶され、不揮発性メモリにもコピーが記憶され、時折更新される。不揮発性メモリにあるコピーには通常、他のデータファイルと同様に、論理アドレス空間を通じてアクセスする。ホストは、ホストファイルが削除されるときにＦＡＴテーブルを更新することによってあらかじめ削除ファイルに割り振られていた論理アドレスを解除し、それらの論理アドレスを別のデータファイルに使用できることを明らかにする。
【００４０】
ホストは、メモリシステムコントローラがファイルを記憶するために選択する物理位置を考慮しない。典型的なホストは、その論理アドレス空間と、これがその各種ファイルに割り振った論理アドレスだけを認識する。他方、メモリシステムは、説明している典型的なホスト／カードインターフェイスを通じて、データが書き込まれた論理アドレス空間部分だけを認識し、特定のホストファイルへ割り振られる論理ファイルは認識せず、ホストファイルの数すら認識しない。メモリシステムコントローラは、データの記憶や引き出しのためのホストから提供される論理アドレスを、ホストデータが記憶されるフラッシュメモリセルアレイの中の一意の物理アドレスに変換する。ブロック１６３は、メモリシステムコントローラによって保守される論理−物理アドレス変換の作業テーブルを表している。
【００４１】
メモリシステムコントローラは、システムの性能を高い水準に維持しながらメモリアレイ１６５のブロックおよびメタブロックの中でデータを記憶する形にプログラムされる。この例証では４つのプレーンまたはサブアレイが使われている。データは好ましくは、各プレーンのブロックから形成されたメタブロック全体にわたってシステムが許容する最大限の並列度でプログラムされ、読み出される。通常は、メモリコントローラによって使用されるオペレーティングファームウェアおよびデータを記憶する予約ブロックとして、少なくとも１つのメタブロック１６７が割り振られる。そして、ホストオペレーティングソフトウェアやホストＦＡＴテーブル等の記憶のため、別のメタブロック１６９または複数のメタブロックを割り振ることができる。物理記憶空間の殆どはデータファイルの記憶のために残る。しかし、メモリコントローラは、様々なファイルオブジェクトの中で受信データがホストによってどのように割り振られたかを認識しない。通常、メモリコントローラがホストとのやり取りを通じて知ることの全ては、ホストによって特定の論理アドレスに書き込まれるデータが対応する物理アドレスに記憶されるということだけであり、これはコントローラの論理−物理アドレステーブル１６３によって保守される。
【００４２】
典型的なメモリシステムにおいては、アドレス空間１６１の中でデータ量を記憶する必要があるのとは別に数ブロック分の記憶容量が余分に用意される。メモリの寿命の中で他のブロックが欠陥となった場合に代用される冗長ブロックとして、これらの余分なブロックを１つ以上用意することができる。当初メタブロックに割り当てられていた欠陥ブロックのための冗長ブロックを代用する等、個々のメタブロックの中に収容されるブロックの論理的グループ分けは通常、様々な理由から変更される。消去済みブロックのプールでは、メタブロック１７１などの、１つ以上の補助的ブロックが通常保守される。図７に示す残りのメタブロックのほとんどは、ホストデータを記憶するために使われる。ホストがメモリシステムにデータを書き込む場合、コントローラの機能１６３はホストによって割り当てられた論理アドレスを、消去済みブロックプールにあるメタブロックの中の物理アドレスに変換する。次いで、論理アドレス空間１６１の中でデータを記憶するために使われていない他のメタブロックは消去され、以降のデータ書き込み操作のときに使用するため消去済みプールブロックとして指定される。好適な形式において、物理メモリメタブロックの記憶容量に等しい量のデータを各々収容する論理グループに論理アドレス空間が分割されることにより、論理グループからメタブロックへの１対１のマッピングを成立することが可能になる。
【００４３】
特定のホスト論理アドレスに記憶されたデータは新規のデータによって頻繁に上書きされ、当初の記憶データは用済みになる。これに応じてメモリシステムコントローラは新規のデータを消去済みブロックに書き込み、データを論理アドレスに記憶する新しい物理ブロックを明らかにするために、それらの論理アドレスの論理−物理アドレステーブルを変更する。次いで、それらの論理アドレスのところで当初のデータを収容するブロックは消去され、新規のデータの記憶のために使用できるようになる。通常、書き込みが始まるときに消去ブロックプールの事前に消去済みのブロックに十分な記憶容量がない場合は、この消去を進行中のデータ書き込み操作が完了する前に行わなければならない。これはシステムのデータプログラミング速度を損なうおそれがある。メモリコントローラは通常、ある特定の論理アドレスにあるデータが用済みになっていることを、ホストがそれと同じ論理アドレスに新しいデータを書き込むときに初めて知る。したがって、メモリのブロックの多くは、そのような無効データを暫くの間記憶している可能性がある。
【００４４】
集積回路メモリチップの領域を効率よく運用するためにブロックとメタブロックのサイズは拡大している。その結果、個々のデータ書き込みの大部分で記憶されるデータの量はメタブロックの記憶容量に満たなく、多くの場合、ブロックの記憶容量にすら満たない。メモリシステムコントローラは普通、新規のデータを消去済みプールのメタブロックに誘導するから、メタブロックには埋まらない部分が生じる。新規のデータが別のメタブロックに記憶されたデータの更新である場合、別のメタブロックにある、新規のデータメタページの論理アドレスと連続する論理アドレスを持つ、残りの有効データメタページもまた、望ましくは論理アドレスの順序で新しいメタブロックにコピーされる。古いメタブロックは、他の有効データメタページを保持することがある。その結果、個々のメタブロックのメタページのデータはいずれ用済み、無効になり、新規のデータによって置き換えられ、同じ論理アドレスが異なるメタブロックに書き込まれることになる。
【００４５】
論理アドレス空間１６１の全体にわたってデータを記憶するために十分な物理メモリ空間を維持するため、このようなデータは定期的に圧縮または整理される（ガーベッジコレクション）。メタブロックの中でデータセクタをできる限り論理アドレスと同じ順序に保つことも望ましい。というのは、こうすれば連続する論理アドレスでデータをより効率的に読み出すことができるからである。よって、通常は、このさらなる目的のためにもデータの圧縮とガーベッジコレクションが行われる。米国特許第６，７６３，４２４号（特許文献１４）には、不完全ブロックデータ更新を受け取るときのメモリ管理とメタブロックの使用の態様がいくつか記載されている。
【００４６】
データ圧縮では通常、メタブロックから有効データメタページを全て読み出し、それらを新しいブロックに書き込み、その過程で無効データを含むメタページは無視する。また、有効データを含むメタページは好ましくは、そこに記憶されたデータの論理アドレスの順序に一致する物理アドレス順で配置される。無効データを収容するメタページは新しいメタページへコピーされないから、新しいメタブロックに占めるメタページ数は古いメタブロックにおけるメタページ数を下回る。次いで、古いブロックは消去され、新規データの記憶のため使用できるようになる。この整理によって得られる追加メタページ容量は、他のデータを記憶するために役立てることができる。
【００４７】
ガーベッジコレクションのときには、論理アドレスが連続するかまたはほぼ連続する有効データのメタページが２つ以上のメタブロックから回収され、別のメタブロックに、通常ならば消去済みブロックプールのメタブロックに、再度書き込まれる。当初の２つ以上のメタブロックから全ての有効データメタページがコピーされたら、先々の使用に向けてそれらを消去できる。
【００４８】
データの整理統合とガーベッジコレクションには時間がかかり、データの整理統合またはガーベッジコレクションをホストからのコマンドを実行する前に行う必要がある場合は特に、メモリシステムの性能に影響する。メモリシステムコントローラは普通、このような操作を可能な限りバックグラウンドで行うようスケジュールするが、これらの操作を遂行する必要から、コントローラは、このような操作が完了するまではビジー状態信号をホストに提供しなければならない。例えば、ホストがメモリに書き込もうとするデータの全てを記憶するにあたって十分な事前に消去済みのメタブロックが消去済みブロックプールにない場合には、ホストコマンドの実行が延期されるから、まずはデータの整理統合またはガーベッジコレクションで１つ以上の有効データのメタブロックを片づける必要があり、その後にそれらのメタブロックを消去できる。したがって、このような混乱を最小限に抑えるためにメモリ制御の管理に注意を払わなければならない。これ以降「ＬＢＡ特許出願」と呼ぶ以下の米国特許出願では、このような手法が数多く説明されている。これらの特許出願とは、２００３年１２月３０日に出願された米国特許出願第１０／７４９，８３１号「大きい消去ブロックを有する不揮発性メモリシステムの管理(Management of Non-Volatile Memory Systems Having Large Erase Blocks) 」（特許文献１５）、２００３年１２月３０日に出願された米国特許出願第１０／７５０，１５５号「ブロック管理システムを伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Block Management System) 」（特許文献１６）、２００４年８月１３日に出願された米国特許出願第１０／９１７，８８８号「メモリプレーンアラインメントを伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Memory Planes Alignment) 」（特許文献１７）、２００４年８月１３日に出願された米国特許出願第１０／９１７，８６７号（特許文献１８）、２００４年８月１３日に出願された米国特許出願第１０／９１７，８８９号「段階的プログラム障害処理を伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Phased Program Failure Handling) 」（特許文献１９）、２００４年８月１３日に出願された米国特許出願第１０／９１７，７２５号「制御データ管理を伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Control Data Management)」（特許文献２０）、２００５年７月２７日に出願された米国特許出願第１１／１９２，２２０号「マルチストリーム更新追跡を伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Multi-Stream Update Tracking)」（特許文献２１）、２００５年７月２７日に出願された米国特許出願第１１／１９２，３８６号「スクラッチパッドおよび更新ブロックのための改良インデックスを伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Improved Indexing for Scratch Pad and Update Blocks) 」（特許文献２２）、および２００５年７月２７日に出願された米国特許出願第１１／１９１，６８６号「マルチストリーム更新を伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Multi-Stream Updating) 」（特許文献２３）である。
【００４９】
非常に大きい消去ブロックを伴うメモリアレイの操作を効率的に制御するにあたって１つの課題となるのは、所与の書き込み操作のときに記憶されるデータセクタの数を、メモリのブロックの容量に一致させ、その境界に整合させることである。１つのアプローチでは、メタブロック全体を埋め尽くす量に満たない一定量のデータを記憶するのに必要なため、ホストからの新規データを記憶するのに使うメタブロックを、最大ブロック数未満で適宜構成する。適応メタブロックの使用が、２００３年１２月３０日に出願された米国特許出願第１０／７４９，１８９号「適応メタブロック(Adaptive Metablocks) 」（特許文献２４）で説明されている。データブロック間の境界とメタブロック間の物理的境界の整合は、２００４年５月７日に出願された米国特許出願第１０／８４１，１１８号（特許文献２５）、２００４年１２月１６日に出願された米国特許出願第１１／０１６，２７１号「データランプログラミング(Data Run Programming)」（特許文献２６）で説明されている。
【００５０】
メモリコントローラはまた、ホストによって不揮発性メモリに記憶されるＦＡＴテーブルのデータをメモリシステムの効率的な動作に役立てることもできる。例えば、論理アドレスの解除によりホストによってデータが用済みと識別されたことを知るのに役立てる。メモリコントローラは、通常ならばホストがその論理アドレスに新規のデータを書き込むことで、データが用済みと識別されたことを事前に知ることができ、このような無効データを収容するブロックの消去スケジュールを立てることができる。これは、２００４年７月２１日に出願された米国特許出願第１０／８９７，０４９号「不揮発性メモリシステムでデータを保守する方法および装置(Method and Apparatus for Maintaining Data on Non-Volatile Memory Systems)」（特許文献２７）で説明されている。この他の手法として、ホストがメモリに新規のデータを書き込むパターンを監視することにより、所与の書き込み操作が単一ファイルか否かを、または複数のファイルである場合にはファイル間のどこに境界があるかを推定する。２００４年１２月２３日に出願された米国特許出願第１１／０２２，３６９号「最適逐次クラスタ管理のためのＦＡＴ解析(FAT Analysis for Optimized Sequential Cluster Management)」（特許文献２８）では、この種の手法の使用が説明されている。
【００５１】
メモリシステムを効率よく操作するには、ホストによって個々のファイルのデータに割り当てられる論理アドレスについて、コントローラができるだけ多くのことを知ることが望ましい。かくしてデータファイルは、ファイルの境界が分からなければ多数のメタブロックに散在するところを、コントローラによって１つのメタブロックまたは１グループのメタブロックの中で、記憶することができる。その結果、データの整理統合およびガーベッジコレクション操作の回数と複雑さは抑えられる。結果的にメモリシステムの性能は向上する。しかし、前述したように、ホスト／メモリインターフェイスが論理アドレス空間１６１（図７）を含む場合、メモリコントローラがホストデータファイル構造について多くを知ることは困難である。
【００５２】
図８を参照し、すでに図７に示されている典型的な論理アドレスホスト／メモリインターフェイスが異なる形で図に示されている。ホスト生成データファイルにはホストによって論理アドレスが割り振られる。次いで、メモリシステムはこれらの論理アドレスを認識し、データが実際に記憶されるメモリセルのブロックの物理アドレスにマッピングする。
【００５３】
直接データファイルインターフェイスと呼ばれる、ホストとメモリシステムとの間のタイプの異なるインターフェイスは、論理アドレス空間を使用しない。代わりに、ホストは、一意な番号またはその他の識別参照符と、ファイル内でのデータ単位（バイトなど）のオフセットアドレスとによって各ファイルを論理的にアドレスする。このファイルアドレスはホストからメモリシステムコントローラへ直接提供され、メモリシステムコントローラは、各ホストファイルのデータが物理的に記憶される位置について独自のテーブルを保管する。この新しいインターフェイスは、図２〜６との関係で前述したのと同じメモリシステムで実施できる。前述したものとの主な違いは、メモリシステムとホストシステムとの通信のあり方にある。
【００５４】
図９にはこのような直接データファイルインターフェイスが示され、図７の論理アドレスインターフェイスと比較することができる。ファイル１，２，および３の各々の識別情報と図９のファイルの中でのデータのオフセットは、メモリコントローラへ直に引き渡される。次いで、この論理アドレス情報はメモリコントローラ機能１７３によってメモリ１６５のメタブロックおよびメタページの物理アドレスに翻訳される。ファイルディレクトリは、各々の記憶されたセクタまたはその他のデータ単位が帰属するところのホストファイルを追跡する。
【００５５】
直接データファイルインターフェイスは図１０にも示され、これは図８の論理アドレスインターフェイスと比較するべきものである。図８の論理アドレス空間とホストによって保守されるＦＡＴテーブルは図１０にはない。むしろ、メモリシステムにとって、ホストによって生成されるデータファイルはファイル番号とファイル内でのデータのオフセットとによって識別される。次いで、メモリシステムコントローラはメモリセルアレイの物理ブロックにファイルを直接マッピングし、ホストファイルの記憶先にあたるメモリブロックのディレクトリおよびインデックステーブル情報を保守する。よって、ホストは、論理アドレスインターフェイスの管理にあたって現在必要とされているファイルアロケーションテーブル（ＦＡＴ）を保守する必要がない。
【００５６】
メモリシステムは、各ファイルを構成するデータの位置を認識しているから、これらのデータは、ホストがファイルを削除した直後に消去できる。典型的な論理アドレスインターフェイスでこれを果たすことはできない。さらに、論理アドレスを使用する代わりにファイルオブジェクトでホストデータを識別することにより、メモリシステムコントローラは、頻繁なデータの整理統合および回収の必要性を抑える形でデータを記憶できる。したがって、データコピー操作の頻度とコピーされるデータ量は大幅に低下し、これによりメモリシステムのデータプログラミングおよび読み出し性能は向上する。
【００５７】
いずれも２００５年２月１６日に出願された、アラン・Ｗ・シンクレア(Alan W. Sinclair)のみを、または同人と併せてピーター・Ｊ・スミス(Peter J. Smith)を発明者とする、同時係属中の米国特許出願第１１／０６０，１７４号（特許文献２９）、第１１／０６０，２４８号（特許文献３０）、および第１１／０６０，２４９号（特許文献３１）、アラン・Ｗ・シンクレア(Alan W. Sinclair)およびバリー・ライト(Barry Wright)によって本願と同時に出願された「フラッシュメモリにおける直接データファイル記憶(Direct Data File Storage in Flash Memories)」という米国仮特許出願（特許文献３２）では、直接データファイル記憶メモリシステムが説明されている。（これ以降、「直接データファイル記憶アプリケーション(Direct Data File Storage Applications) 」と総称する。）
【００５８】
図９および１０に示された、これらの直接データファイル記憶アプリケーションの直接データファイルインターフェイスは、図７および８に示された、前述した論理アドレス空間インターフェイスよりシンプルであり、メモリシステムの性能を上げるから、直接データファイル記憶は多くの用途にとって好ましい。しかし、現在、ホストシステムは主に論理アドレス空間インターフェイスで動作するように構成されているから、直接データファイルインターフェイスを持つメモリシステムはほとんどのホストに適合しない。したがって、両方のインターフェイスで動作できるメモリシステムを提供することが望ましい。
【００５９】
これを果たす１方法として、１つのパッケージで事実上２つのメモリシステム、すなわちホストデータファイルを直接記憶するシステムと、論理アドレス空間を通じてデータを記憶する他のシステムとを用意する。しかし、そのような複合システムは非常に複雑なものになり、したがってそのコストも非常に高くなる一方で、使用の融通性は非常に乏しくなる。
【００６０】
したがって、直接データファイルおよび論理アドレス「フロントエンド」インターフェイスを通じて単一の「バックエンド」メモリシステムを稼動できると望ましい。これは概念上、論理アドレスインターフェイスで動作する既存のメモリシステムへ直接データファイルインターフェイスを追加することによって達成できる。しかし、このようなシステムを直接データファイルモードで動作させるのは非常に厄介である。
【００６１】
したがって、直接データファイルインターフェイスで動作するバックエンドメモリシステムに従来の論理アドレス空間とも連動する能力を加えて利用すると好ましいことが分かっている。こうすれば、直接データファイル記憶アプリケーションで説明したタイプのファイル本位メモリシステムの優れた働きを活かすことができる。しかし、直接データファイルメモリバックエンドをフロントエンドの論理アドレス空間インターフェイスとともに効率的に動作させることは非現実的ではない。
【００６２】
論理アドレスインターフェイスを通じての直接データファイル記憶
本願明細書で説明している改善された主要な特徴は、ホスト／メモリインターフェイスの論理アドレス空間を論理アドレスのグループに分割し、かつ各グループ内のデータをファイル本位メモリに直接記憶される単独の論理ファイルとして扱うことにある。メモリシステムはこれらの論理ファイルを、ホストから直接受け取るデータファイルと同様に扱う。双方のファイルは一意に識別され、ファイル内のデータのオフセットアドレスが保守される。これにより直接データファイルメモリシステムは、論理アドレスインターフェイスに基づいてメモリと通信するホストともに動作できる。論理ファイルは好ましくは、同じ量のデータを収容するように形成され、その量は好ましくは、メモリの物理的構成に応じて１ブロックまたはメタブロックのメモリ記憶容量に等しい。
【００６３】
この各論理ファイルの好適なサイズはまた、前述したＬＢＡ特許出願で説明されているフラッシュメモリシステムの物理ブロックまたはメタブロックにマッピングされる論理グループと同じである。すなわち、ＬＢＡメモリシステムの論理グループと本願明細書での好適な論理ファイルは、メモリインターフェイスの論理アドレス空間の中で一定の連続アドレス範囲にまたがり、１対１の対応でメモリの物理ブロックまたはメタブロックの記憶容量と同じ量のデータを収容する。これはメモリシステムの管理を容易にする。
【００６４】
図１１は、このプロセスを示している。この例では、図７のホスト動作に図９のファイル本位メモリ動作が組み合わされ、さらにメモリシステムの中にアドレス変換１７２が加わる。アドレス変換１７２は、メモリ空間１６１にまたがる論理アドレスのグループを、修正アドレス空間１６１’にまたがる個々の論理ファイルａ〜ｊにマッピングする。好ましくは、論理アドレス空間１６１全体がこれらの論理ファイルに分割され、かくして論理ファイルの数は、論理アドレス空間のサイズと、個々の論理ファイルのサイズとに依拠する。論理ファイルの各々は、空間１６１にまたがる１グループの連続論理アドレスのデータを収容する。各々の論理ファイルの中のデータ量は好ましくは同じであり、その量は、メモリ１６５の１メタブロックのデータ記憶容量に等しい。論理ファイルの不等サイズおよび／またはメモリのブロックまたはメタブロックの記憶容量とは異なるサイズは、無論可能であるが、好ましくはない。
【００６５】
個々のファイルａ〜ｊの中のデータは、ファイル内の論理オフセットアドレスによって表される。論理ファイルのファイル識別子とデータオフセットは１７３でメモリ１６５内の物理アドレスに変換される。論理ファイルａ〜ｊは、直接データファイル記憶アプリケーションで説明したのと同じプロセスとプロトコルとによってメモリ１６５に直接記憶される。そのプロセスは、図９のデータファイル１〜３をメモリ１６５に記憶するのに使用するのと同じであるが、各論理ファイル内のデータ量は分かっているから、特にその量がメモリのブロックまたはメタブロックの容量に等しければ、プロセスはより簡単なものとなる。図１１には、論理ファイルａ〜ｊの各々がメモリ１６５の別々のメタブロックにマッピングされる様子が示されている。また、ファイル本位データ記憶は、ホストと連動するように設計された現在の論理アドレスメモリシステムと同じかまたは同等のやり方で、ホストとやり取りするのが望ましい。個々の論理ファイルを対応する個々のメモリメタブロックにマッピングすることにより、論理アドレス空間インターフェイスを使用する場合と実質的に同じ性能とタイミング特性とが、直接データファイルインターフェイスメモリシステムで達成される。
【００６６】
図１２は、図１１の方法を異なる形で示している。図１２は、図８の論理アドレスメモリシステム動作と同じであるが、論理アドレス空間を論理ファイルに分割する機能、すなわち直前に説明した図１１のステップ１７２が、加わっている。さらに、図１２の「ファイルデータを物理記憶ブロックにマッピングするためのテーブル」が図８の「論理アドレスを物理記憶ブロックにマッピングするためのテーブル」に取って代わっている。
【００６７】
図１３には、論理アドレス（ＬＢＡ）空間１６１（図１１）を論理ファイルａ〜ｊにマッピングする方法が示され、最後の論理ファイルは論理ファイルｍとして総称的に識別されている。汎用バックエンドシステムとしてファイル記憶システムを使用するコンセプトは、ＬＢＡ空間を共通ファイル記憶空間にマッピングする方法に基づく。ＬＢＡ空間全体は、同じ、好ましくはメタブロックに等しいサイズの論理グループに分けられ、全ての論理グループは、図１３に示すように、単独の「論理」ファイルとして記憶される。
以下の形式を持つＬＢＡアクセスは、
ＲＥＡＤ／ＷＲＩＴＥ  ＳｔａｒｔＬＢＡ，Ｌｅｎｇｔｈ（ｓｅｃｔｏｒｓ）
である。以下の形式で１つ以上の論理ファイルにアクセスするために論理アドレス−ファイル変換１７２（図１１）によって変換される。
ＲＥＡＤ／ＷＲＩＴＥ  ＦｉｌｅＮａｍｅ，ＳｔａｒｔＯｆｆｓｅｔ（ｂｙｔｅｓ），Ｌｅｎｇｔｈ（ｂｙｔｅｓ）
例えば、コマンド
ＲＥＡＤ１０１，２
は、論理ファイルｂのアクセスのために１７２によって翻訳され、０×１００から０×１ＦＦへＬＢＡをマッピングする。
ＲＥＡＤ  ＬｏｇＦｉｌｅ  ｂ，５１２，１０２４
論理ファイルは消去することもできる。消去済み論理ファイルに対する最初の書き込みは、ブランクデータパターンによるヘッドまたは全セクタのパッディングをトリガし、通常０またはＦＦである。
【００６８】
複合論理アドレス・ファイル本位インターフェイス
従来の論理アドレス空間インターフェイス１８１を通じてホストと連動するように設計された図１１〜１３のデータファイル本位バックエンド記憶システムには、図１４に概括的に示されているように、直接データファイルインターフェイス１８３を加えることもできる。ファイルインターフェイス１８３からのホストデータファイルと、１７２’によって変換される論理インターフェイス１８１からの論理ファイルはいずれも、１７３’によってメモリメタブロックアドレスに翻訳される。次いで、データは、１８５のところに示されている直接データファイルプロトコルを実行することによってメモリ１６５’のアドレスに記憶される。このプロトコルには、前述した直接データファイル記憶アプリケーションの直接データファイル記憶手法が盛り込まれる。プロセス１７３’および１８５はファイル本位メモリインターフェイス１６５’を提供する。事実、ホストファイルインターフェイス１８３からメモリファイルインターフェイス１８７を通じてメモリ１６５’に至る経路は好ましくは、直接データファイル記憶アプリケーションで説明したように概ね動作する。
【００６９】
携帯用メモリカード、フラッシュドライブ、またはその他の着脱可能なメモリシステムに両タイプのホストインターフェイスを用意すれば、論理アドレス空間インターフェイスで動作する現在のほとんどのホストと、ファイルをメモリに直接引き渡すホストでメモリを使用でき、あるいは両タイプのホスト間でメモリを交換できる。新しいファイル本位インターフェイスを備えるホストのユーザはメモリを極めて効率的に利用できると同時に、従来の論理アドレス空間インターフェイスとの下位互換性を有することができる。また、同じ１対１の論理ファイル−メタブロックマッピングの結果、実質的に同じ性能とタイミング特性とが達成される。ユーザが新しい直接データファイルインターフェイスを理由に入手するデュアルホストインターフェイスを備えるメモリは、従来の論理アドレス空間インターフェイスを有する多数の既存ホストにも利用できる。これは、現在のインターフェイスから直接データファイルインターフェイスへ移行するための手段となる。
【００７０】
図１５は、図１４のデュアルホストインターフェイスメモリシステムを多少の詳細を添えて示している。メモリ１６５’は、インターフェイス１８３を通じてホストから直に提供されるホストデータファイル（ＨＦ１、ＨＦ２．．．ＨＦｎ）と、プロセス１７２’によって変換される論理アドレス空間インターフェイス１８１からの論理ファイル（ＬＦａ、ＬＦｂ．．．ＬＦｍ）の両方を記憶する。メモリ１６５’はホストファイルから論理ファイルを区別する必要はなく、むしろ好ましくは、両タイプのファイルをメタブロックのサイズで扱うよう最適化される。かくして論理ファイルは、ＬＢＡ特許出願で説明されているシステムの論理グループに相当し、ホストインターフェイスから見たシステムの性能は、ＬＢＡ特許出願で説明されている論理アドレス空間インターフェイスを備えるシステムに一致する。
【００７１】
メモリ１６５’にすでに記憶されている論理ファイルに対する更新は、ＬＢＡ特許出願で説明されている逐次および無秩序(chaotic) 更新をサポートする更新システムと同様、論理ファイルが当初記憶されたブロックとは別の更新ブロックに記憶できる。この更新ブロックはある特定の論理ファイルにとって専用であってよく、あるいは他の論理ファイルと共用されてよく、またはホストファイルと共用されてもよい。
【００７２】
論理ファイルのガーベッジコレクションは、（論理ファイルまたはホストファイル更新のための）新しい更新ブロックを開放する要求によって、あるいは更新ブロックが満杯になるときに、または論理−ファイル変換１７２’による論理ファイルの閉鎖によって、トリガできる。変換１７２’は、論理ファイルがアクセスされるたびにこれを「開放」し、かつ「閉鎖」でき、あるいはガーベッジコレクション操作を時期尚早にトリガするおそれのある論理ファイル閉鎖をうまく処理することによって、ファイル記憶システム１８７による論理ファイルの取り扱いを最適化できる。
【００７３】
ホストファイルと論理ファイルは様々な形でメモリ記憶空間を共用できる。図１６および１７は、物理メモリの別々の区画に記憶されるホストおよび論理ファイルを示し、図１８は、メモリの２種類のファイル共用記憶空間を示している。図に示されていないが、図１６〜１８との関係で説明する機構は、複数のファイルおよび／または論理区画の各々に別々のメモリ空間を用意するのに役立てることもできる。例えば、論理アドレス空間を別々の論理ドライブに区画でき、各々の論理ドライブは一意なメモリ部分にマッピングされる。また、アクセスモード／アクセス権や暗号化のタイプの違いなどの特性の異なるデータの記憶のために異なる物理メモリセル領域を設けることができる。
【００７４】
図１６では、ホストファイルを記憶できるメタブロック１９１と論理ファイルを記憶できるメタブロック１９３との間の区画化が固定され、メモリカードを再フォーマットすることによって変更できる。これらの区画の各々は、新しい更新メタブロックを提供するため、メモリにすでに記憶済されたファイルを更新するデータ、および新しいファイルを受け入れるための消去プールブロック補給として、消去済みオーバーヘッドメタブロックを含む。したがって、更新メタブロックは、ホストまたは論理ファイル区画１９１および１９３の一方にとって専用であり、両者の間で共用されない。これにより、安全なアクセスやデータ暗号化等の機能をより効果的にサポートできる。ホストインターフェイスにおける論理アドレス空間は好ましくは、メモリシステムの最大記憶容量に満たない。１つ以上のメタブロック１９５はメモリの動作データを収容し、ホストファイルと論理ファイルの両方で使用するために共用される。
【００７５】
ホストファイル区画と論理ファイル区画の各々は、それぞれ独自の消去済みオーバーヘッドを持つ代わりに、消去済みメタブロックのプールを共用できる。これは図１７に示されている。ホストファイルを記憶するメタブロックの区画１９７と論理ファイルを記憶する区画１９９は、消去済みオーバーヘッドメタブロック２０１を共用する。
【００７６】
これらの共通メタブロックは様々な形で共用できる。そのうちの１つでは、消去済みブロックプール２０１のメタブロックがホストファイルと論理ファイルのいずれか一方を記憶するため共用されるが、両方のデータは記憶しない。これにより、ホストファイルであれ論理ファイルであれ、現在アクティブなアプリケーションのための可能な限り多くの更新ブロックをより柔軟に開放できる。使用可能な更新ブロックは、必要に応じてホストファイル記憶と論理ファイル記憶との間で再配分される。例えば、論理アドレス空間インターフェイスによるホストアクセスによってホストファイルに使われている更新ブロックの閉鎖がトリガされることにより、論理ファイルを扱うためにより多くの更新ブロックを使用できるようになる。代わりに、両タイプのファイルのデータを記憶するために更新ブロックを使用することもできる。
【００７７】
図１８に示すように、ホストファイルと論理ファイルは共通のメタブロックグループ２０３に記憶できる。この方法では、ホストファイルと論理ファイルとの間で物理記憶空間全体が完全に共用される。メモリは、その最大記憶容量が少なくともホストインターフェイスにおける論理アドレス空間の大きさになるようにフォーマットされる。ことによると、両タイプのファイルのアクセス権および管理権を様々なタイプのアプリケーションに与えることができるので、例えば、ファイルアクセスプログラムは論理ファイルを消去でき、あるいはカード全体を再フォーマットできる。制御データ構造（制御オーバーヘッド１９５）と更新ブロック空間（消去済みオーバーヘッド２０１）は両タイプのファイルのために共用される。唯一の制限は、メモリ空間の当座の入手可能性である。
【００７８】
既存の未消去論理ファイルは、ホストファイル記憶のために使用できる１メタブロック相当の記憶空間を要求する。これと引き換えに、書き込み済みホストファイルはいくつかの論理ファイルをアクセス不能にし、例えば、それらの論理ファイルはＦＡＴテーブルの中で不良、または保留ファイルとしてマークすることができる。
【００７９】
一般的に、論理アドレス空間がデフラグされるとホストにとって有利である。例えば図１９を参照し、フラグされたホストファイル２のデータがアドレス空間１６１’の中でいくつかの論理ファイルに記憶されることが見て分かる。ホストファイル２をデフラグすることによって、１つ以上の論理ファイルは解放され、他のデータを記憶するために使用できるようになる。ホストは、その有効ファイルのデータを連続アドレス範囲を占める単一のホストファイルに再度書き込むことによってファイルの一部または全部を論理的にデフラグするソフトウェアを利用できる。この単一のファイルは圧縮できる。
【００８０】
図１９は、図１８の共用ファイル記憶の一例を示している。
【００８１】
図２０に示すように、ホストファイルと論理ファイルのデータを別々のメタブロックに記憶することが好ましい。論理ファイルＬＧａは第１のメタブロックに記憶され、ホストファイル１および２は次のメタブロックに、論理ファイルＬＧｂは第３のメタブロックに、ホストファイル３はこの図の最後のメタブロックに記憶される。しかし、両方のホストおよび論理ファイルを同じメタブロックに記憶することもまた可能であり、図２１はその一例を示している。
【００８２】
一般的用途
前の説明は主に、論理アドレス空間インターフェイスを備えるホストシステムとファイル本位インターフェイスを備えるフラッシュメモリシステムとが互いに通信する例に向けたものである。これは極めて有益な例であるが、本発明はこのような構成に限定されない。例えば、その手法は、フラッシュメモリに加えて、磁気ディスクドライブ、光ディスクドライブ、動的な読み出し専用メモリ（ＤＲＡＭ）、静的な読み出し専用メモリ（ＳＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、半導体磁気メモリ等、様々なデータ記憶システムで使用できる。事実、本発明は適合しないアドレスインターフェイスを有する２つのシステム間に通信手段を提供する。これを、論理アドレス空間のインターフェイスを備えるシステム２１１とファイル本位インターフェイスを備えるシステム２１３が、変換１７２および１７２’との関係で前述した変換１７２”を通じて互いに通信する図２２に示されている。前述した例で、システム２１１はホストコンピュータであり、システム２１３はフラッシュメモリシステムである。
【００８３】
結論
これまで本発明の様々な態様をその代表的な実施形態との関係で説明してきたが、添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
【図面の簡単な説明】
【００８４】
【図１】現在実施されているホストと接続された不揮発性メモリシステムとを概略的に示す。
【図２】図１の不揮発性メモリとして使用されるフラッシュメモリシステムの例のブロック図である。
【図３】図２のシステムに使用できるメモリセルアレイの代表的な回路図である。
【図４】図２のシステムの物理メモリの編制例を示す。
【図５】図４の物理メモリの一部分の拡大図を示す。
【図６】図４および５の物理メモリの一部分のさらなる拡大図を示す。
【図７】ホストと再プログラム可能なメモリシステムとの間の論理アドレス空間インターフェイス示す。
【図８】ホストと再プログラム可能なメモリシステムとの間の論理アドレス空間インターフェイスを図７とは異なる形で示す。
【図９】ホストと再プログラム可能なメモリシステムとの間の直接データファイル記憶インターフェイスを示す。
【図１０】ホストと再プログラム可能なメモリシステムとの間の直接データファイル記憶インターフェイスを図９とは異なる形で示す。
【図１１】データファイルを直接記憶するが、ホストに対し論理アドレス空間インターフェイスを有する、再プログラム可能なメモリシステムを示す。
【図１２】データファイルを直接記憶するが、ホストに対し論理アドレス空間インターフェイスを有する、再プログラム可能なメモリシステムを図１１とは異なる形で示す。
【図１３】図１１および１２の論理アドレス−論理ファイル変換のステップをより詳細に示す。
【図１４】直接データファイル記憶モードで動作するが、論理アドレス空間インターフェイスまたは直接データファイルインターフェイスのいずれかを通じてホストと連動できる、再プログラム可能なメモリシステムを示す。
【図１５】直接データファイル記憶モードで動作するが、論理アドレス空間インターフェイスまたは直接データファイルインターフェイスのいずれかを通じてホストと連動できる、再プログラム可能なメモリシステムを図１４とは異なる形で示す。
【図１６】物理メモリ空間の静的区画化の第１の形式を使用し、図１４および１５の共通メモリでホストデータファイルと論理ファイルの両方を記憶する第１の実施形態を示す。
【図１７】物理メモリ空間の静的区画化の第２の形式を使用し、図１４および１５の共通メモリでホストデータファイルと論理ファイルの両方を記憶する、第２の実施形態を示す。
【図１８】共通物理メモリ空間を共用し、図１４および１５の共通メモリでホストデータファイルと論理ファイルの両方を記憶する第３の実施形態を示す。
【図１９】図１８の第３の実施形態の具体例を提示する。
【図２０】図１８の第３の実施形態を実施する場合にメモリの物理ブロックでホストデータファイルと論理ファイルの両方を記憶する好適な方法を示す。
【図２１】図１８の第３の実施形態を実施する場合にメモリの物理ブロックでホストデータファイルと論理ファイルの両方を記憶するもうひとつの好適な方法を示す。
【図２２】異なるアドレスインターフェイスを有するシステム間で、本願明細書での手法のより一般的な応用を示す。
【図１】
2009503729.tif 000003
【図２】
2009503729.tif 000004
【図３】
2009503729.tif 000005
【図４】
2009503729.tif 000006
【図５】
2009503729.tif 000007
【図６】
2009503729.tif 000008
【図７】
2009503729.tif 000009
【図８】
2009503729.tif 000010
【図９】
2009503729.tif 000011
【図１０】
2009503729.tif 000012
【図１１】
2009503729.tif 000013
【図１２】
2009503729.tif 000014
【図１３】
2009503729.tif 000015
【図１４】
2009503729.tif 000016
【図１５】
2009503729.tif 000017
【図１６】
2009503729.tif 000018
【図１７】
2009503729.tif 000019
【図１８】
2009503729.tif 000020
【図１９】
2009503729.tif 000021
【図２０】
2009503729.tif 000022
【図２１】
2009503729.tif 000023
【図２２】
2009503729.tif 000024
【国際調査報告】
2009503729.tif 000025
2009503729.tif 000026
2009503729.tif 000027