(57)【特許請求の範囲】
【請求項１】
データを記憶するための個別にアドレス可能な複数のセクタを含み、
ａ．ユーザ・ファイルを記憶するための複数のセクタを有する、半導体不揮発性大容量記憶メモリ内の第１の区画と、
ｂ．システム・ファイルを記憶するための半導体不揮発性大容量記憶メモリ内の第２の区画であって、その区画は、さらに複数のクラスタを含み、各クラスタが複数のセクタを有し、各クラスタが、そのクラスタ内の一つのセクタ内に所定の論理ブロック・アドレスに対応してシステム・セクタを記憶する第２の区画と、
ｃ．そのクラスタ内の空のセクタ中に置換システム・セクタを書き込み、かつ置換システム・セクタに指標を与える制御回路とを含み、
該制御回路は、前記クラスタ内のいずれかのセクタに欠陥があると判定された場合に、該クラスタ内の第１のセクタに欠陥フラグをセットし、当該クラスタ内のいずれのセクタも使用されないようにし、さらに、
前記制御回路は揮発性メモリを有しており、この揮発性メモリに電力が供給されたときに前記各クラスタ及び該各クラスタ内のセクタの状態が読み出されて当該揮発性メモリに記憶される、ことを特徴とした半導体不揮発性大容量記憶メモリ。
【請求項２】
さらに、前のクラスタが一杯になったときに、後続の置換システム・ファイルを受け取るための空のクラスタを含む請求項１に記載の半導体不揮発性大容量記憶メモリ。
【請求項３】
各エントリが論理ブロック・アドレスに関連するセクタが古いかどうかを示すフラグをも含む請求項２に記載の大容量記憶システム。
【請求項４】
各セクタが、そのセクタが使用されているかどうかを示すフラグをも含む請求項３に記載の大容量記憶システム。
【請求項５】
各セクタが、そのセクタが欠陥を有するかどうかを示すフラグをも含む請求項３に記載の大容量記憶システム。
【請求項６】
メモリ・システムであって、
ａ．各クラスタが複数のセクタを有し、各クラスタがそのクラスタ内の一つのセクタ中に一つの論理ブロック・アドレスに対応してシステム・セクタを記憶する、複数のクラスタを有するシステム・ファイルを記憶するための区画を含む半導体不揮発性大容量記憶メモリと、
ｂ．半導体不揮発性大容量記憶メモリに結合され、半導体不揮発性大容量記憶メモリとの間の制御メモリ・アクセス・オペレーティングを制御する制御回路であって、該制御メモリ・アクセス・オペレーティングの内の書き込みオペレーティングが、所定の論理ブロック・アドレスに対応するクラスタの中の空のセクタの中に置換システム・セクタを書き込むオペレーティングである、制御回路と
を含み、
該制御回路は、前記クラスタ内のいずれかのセクタに欠陥があると判定された場合に、該クラスタ内の第１のセクタに欠陥フラグをセットし、当該クラスタ内のいずれのセクタも使用されないようにし、さらに、
前記制御回路は揮発性メモリを有しており、この揮発性メモリに電力が供給されたときに前記各クラスタ及び該各クラスタ内のセクタの状態が読み出されて当該揮発性メモリに記憶される、ことを特徴としたデータを記憶するためのメモリ・システム。
【請求項７】
半導体不揮発性大容量記憶メモリがさらに、前のクラスタが満杯になったときに後続のシステム・ファイルを記憶する空のクラスタを含む請求項６に記載のメモリ・システム。
【請求項８】
前記制御回路の揮発性メモリは、前記各クラスタ及び各クラスタ内のセクタの状態として、各論理ブロック・アドレスの現在の位置に関する情報を記憶する表を含み、その表の情報が複数のアドレス可能なエントリを含み、各エントリが論理ブロック・アドレスに対応し、さらに各エントリがセクタの対応する物理ブロック・アドレスを含むように構成される請求項７に記載のメモリ・システム。
【請求項９】
前記表がランダム・アクセス・メモリ内に記憶される請求項８に記載のメモリ・システム。
【請求項１０】
前記表が論理ブロック・アドレスに対応する各クラスタを読み取ることによって復元される請求項９に記載のメモリ・システム。
【請求項１１】
前記表中の各エントリが、論理ブロック・アドレスに対応するクラスタが使用されているかどうかを示すフラグを含む請求項１０に記載のメモリ・システム。
【請求項１２】
前記表中の各エントリが、論理ブロック・アドレスに対応するクラスタが欠陥を有するかどうかを示すフラグを含む請求項１１に記載のメモリ・システム。
【請求項１３】
前記表中の各エントリがさらに、論理ブロック・アドレスに対応するクラスタ内の現在のセクタの表示を含む請求項１０に記載のメモリ・システム。
【請求項１４】
制御回路を使用して、半導体不揮発性大容量記憶メモリに情報を記憶する方法であって、
ａ．複数のユーザ・ファイルを記憶するための複数のセクタを有する第１群と、複数のシステム・ファイルを記憶するための複数のセクタを有する第２群とにメモリを区分するステップと、
ｂ．各クラスタが複数のセクタを有し、各クラスタがそのクラスタ内の一つのセクタ中に単一の論理ブロック・アドレスに対応してシステム・セクタを記憶するように、第２群をクラスタに区分するステップと、
ｃ．そのクラスタ中のどのセクタが空のセクタであるかを決定するステップと、
ｄ．その空のセクタに置換システム・セクタを書き込むステップと、
ｅ．現在のおよび置換されたシステム・セクタに標識を与えるステップと、
ｆ．そのクラスタ内の最後のセクタが置換され、そのクラスタ内にフリー・セクタがないとき、クラスタにｏｌｄとマークを付けるステップと、
を含み、
前記制御回路は、前記クラスタ内のいずれかのセクタに欠陥があると判定された場合に、該クラスタ内の第１のセクタに欠陥フラグをセットし、当該クラスタ内のいずれのセクタも使用されないようにし、さらに、
前記制御回路が、前記各クラスタ及び各クラスタ内のセクタ記憶部の状態を記憶する揮発性メモリを有しており、この揮発性メモリに電力が供給された際に前記各クラスタ及び当該各クラスタ内のセクタ記憶部の状態を読取り記憶する、ことを特徴とした、半導体不揮発性大容量記憶メモリに情報を記憶する方法。
【請求項１５】
さらに、前のクラスタが満杯になったとき、次の置換システム・セクタを空のクラスタに書き込むステップを含む請求項１４に記載の方法。
【請求項１６】
さらに、古いシステム・セクタのみを有するクラスタを消去するステップを含む請求項１５に記載の方法。
【発明の詳細な説明】
発明の分野
本発明は、半導体大容量記憶装置アーキテクチャの分野およびこれをオペレーティングする方法に関する。より詳しくは、本発明は、半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の分野に関する。
発明の背景
コンピュータは、記録、データ、プログラム、および情報の大容量記憶のために通常は回転式磁気媒体を用いる。このようなハード・ディスク・ドライブは、広く用いられ、一般に受け入れられているが、種々の欠陥を有する。ディスクの回転のため、ハード・ディスク・ドライブから情報を引き出すのに固有の待ち時間がある。
他の問題は、ポータブル・コンピュータに特に顕著である。具体的には、ハード・ディスクはポータブル・コンピュータが受けやすいタイプの物理的衝撃の多くに耐えられない。さらに、ディスクを回転させるためのモータは相当量の電力を消費し、ポータブル・コンピュータの電池寿命を低減する。
ソリッド・ステート・メモリは上記の問題を解決できるので、大容量記憶のためハード・ディスク・ドライブの代用として理想的な選択肢である。ハード・ディスク・ドライブを半導体メモリで置き換えるための潜在的解決策が提案されている。このようなシステムが真に有用であるためには、メモリは不揮発性かつ変更可能でなければならない。本発明者はこのような代替品としてフラッシュ・メモリが好ましいと判断した。
フラッシュ・メモリは、ホットエレクトロン注入またはソース注入によってプログラム可能であり、ファウラー−ノルドハイム・トンネル効果によって消去できる単一トランジスタ・メモリ・セルである。このようなメモリ・セルのプログラミングおよび消去は、フローティング・ゲート電極を取り囲む誘電体中に電流を通すことを必要とする。このため、このタイプのメモリの消去−書き込みサイクル数には限度がある。最終的には、誘電体が機能しなくなるのである。通常、フラッシュ・セル・デバイス・メーカは消去−書き込みサイクルの限度を１００，０００〜１，０００，０００としている。
ある種のフラッシュ技術に伴うもう一つの問題は、過消去の存在である。この種の技術を用いて製造するデバイスは、全てのセルの間の均一性を改善するために消去の前にプログラムする必要がある。これらはまた、うまく消去できるかどうか確認する必要がある。
半導体大容量記憶装置が成功するために必要なことの一つは、これを回転媒体ハード・ディスク大容量記憶装置の代わりの使用が、コンピュータのオペレーティング・システムおよびこのような装置を用いるシステムのユーザに対して容易であることである。換言すれば、このような半導体大容量記憶装置を含むコンピュータの設計者またはユーザが、単にハード・ディスクを取り除いて半導体大容量記憶装置で置き換えることができることである。現在市販されているソフトウェアが全て、いかなる修正も必要とせずに、このような半導体大容量記憶装置を用いるシステム上で動作できなければならない。
ソリッド・ステート大容量記憶装置のためのアーキテクチャのいくつかが、従来技術で示唆されている。特に、本発明者の内二人は１９９３年３月２６日に出願された米国特許出願第０８/０３８，６６８号、現在は１９９５年２月７日に発行された米国特許第５，３８８，０８３号、１９９３年３月２６日に出願された米国特許出願０８／０３７，８９３号、１９９３年１０月４日に出願された米国特許出願第１３１，４９５号、１９９５年７月３１日に出願された出願番号付与前の米国特許出願（名称：「ＤＩＲＥＣＴ  ＬＯＧＩＣＡＬ  ＢＬＯＣＫ  ＡＤＤＲＥＳＳＩＮＧ  ＦＬＡＳＨ  ＭＥＭＯＲＹ  ＭＡＳＳ  ＳＴＯＲＡＧＥ  ＡＲＣＨＩＴＥＣＴＵＲＥ」、発明者ＥｓｔａｋｈｒｉおよびＡｓｓａｒ、）に開示されている解決策の共同発明者である。これら４件の特許資料を参照により本明細書に合体する。これら４件の特許資料は本出願と同じ会社に譲渡され所有されている。
従来のコンピュータ・システムは、データおよびアプリケーション・ファイル（ユーザ・ファイル）などのユーザ情報を記憶する大容量記憶メモリ装置を含む。このようなデータおよびアプリケーション・ファイルの記憶に加えて、従来システムはまた、コンピュータの一般オペレーティングおよび関連する周辺システムを制御する際にコンピュータ・システムが使用する非ユーザ情報を大容量記憶メモリ機能に記憶する（システム・ファイル）。ＤＯＳ系システムでは、このようなシステム情報としては、ブーツ・セクタ、ＦＡＴテーブルおよびディレクトリ情報が含まれる。
このような従来システムによれば、システム・ファイルはユーザ・ファイルよりはるかにしばしば日常的に変更される。事実、ユーザ・ファイルの書き込み毎に、ＦＡＴテーブルおよびディレクトリがアクセスされ書き込まれる。フラッシュ・メモリ・デバイス内では、書き込みおよび消去オペレーティングが動作時間の大部分を占める。したがって、システム・ファイルを更新する度に消去オペレーティングをしないで済めば有利であろう。また、ほとんどのフラッシュ・メモリ・デバイスは複数ブロックを同時に消去する。ほとんどのシステム・ファイルの更新は単一のセクタ・フォーマットで行われるので、マルチセクタ消去機能を利用するには、フラッシュ・メモリ内でシステム・ファイルをデータ・ファイルと異なる形で扱うことが望ましい。半導体大容量記憶システムへの情報書き込みを扱う、別の手法も提案されている。しかし、これらの手法はどれも、システム・ファイル特有の要求に特に対処する方法または装置を教示していない。
発明の概要
半導体不揮発性大容量記憶メモリをユーザ・ファイルとシステム・ファイルとに区分する。システム・ファイル区画はさらにクラスタに再分割され、各クラスタは複数のセクタを有する。各クラスタは一つの所定のＬＢＡに対してシステム・ファイルの１つのセクタを記憶する。ＬＢＡ内の情報が変更されると、その新しい情報はそのクラスタ内の新しいセクタに書き込まれる。クラスタが一杯になると、システムはクラスターを再使用するために消去するか、またはより好ましくは別の空のクラスタを見つけ出してその新しいクラスタに対してプロセスを繰り返す。一つのクラスタが一杯になると、クラスタは消去されるか、または後で消去するために、これに「ｏｌｄ」のフラグを付ける。
【図面の簡単な説明】
第１図は、本発明による半導体不揮発性大容量記憶メモリの概略図である。
第２図は、本発明による半導体不揮発性大容量記憶メモリの区分の概略図である。
第３図は、本発明の実施形態によるシステム・ファイル区画内のクラスタ配列の概略図である。
第４図は、本発明のより好ましい実施形態によるシステム・ファイル区画内のクラスタ配列の概略図である。
第５図は、本発明による一連のオペレーティングの後の第４図の配列を示す図である。
第６図は、本発明に従う一連のオペレーティングの後の第４図の配列を示す図である。
第７図は、本発明のブロックＲＡＭの概略図である。
第８図は、一連のオペレーティングに応答してブロックＲＡＭテーブル内のエントリがどう変更されるかの例を示す図である。
第９図は、本発明の大容量記憶メモリ制御回路の概略ブロック図である。
好ましい実施形態の詳細な説明
本発明は、改良された機能を持つ半導体不揮発性大容量記憶メモリ内のシステムデータを自動摩耗レベリングによって制御するための方法およびアーキテクチャに関する。大容量記憶メモリに記憶された情報にアクセスできるコンピュータまたは他のディジタル・システムに大容量記憶メモリが結合されることはよく理解されるであろう。第１図は、本発明による半導体不揮発性大容量記憶メモリ内のクラスタの概略図を示す。メモリ構造はフラッシュ・メモリ・セルで形成することが好ましい。しかし、本発明の教示に従って他のメモリ・タイプを使用できることは当業者には明らかである。
大容量記憶メモリ１００は複数のアドレス可能なメモリ部分１０２に分割される。好ましい実施形態において、そのような各メモリ部分１０２はＤＯＳタイプのアプリケーションでアドレス可能なようなセクタである。他の便利なメモリ・サイズも使用できる。理解の便宜上、これらのメモリ部分を説明するのにセクタ１０２という用語を用いる。大容量記憶メモリ１００内で、セクタ１０２はクラスタ１１６にまとめられる。各クラスタ１１６はＭ個のセクタ１０２を含み、Ｍは適宜な大きさでよいが、８または１６など選択されたフラッシュ・メモリ・デバイス内の好都合な消去可能ブロック・サイズとすることが好ましい。各セクタ１０２は関連する物理ブロック・アドレス（ＰＢＡ）を有し、これによって大容量記憶メモリ１００内で読み取り、書き込み、または消去のためにアドレスすることができる。
各セクタ１０２はいくつかのフィールドを含むように構成される。好ましい実施形態においては、各セクタは、バイナリ情報を記憶するデータ・フィールド１０４と、既知の何らかの方式でエラーを修正するためのエラー修正フィールド１０６と、論理ブロック・アドレスＬＢＡ１０８と、多くのフラグ１１０とを含む。ＬＢＡ１０８は、大容量記憶メモリ１００が結合されたコンピュータシステムによって対応するデータ・フィールド１０４に割り当てられるアドレスである。フラグ・フィールド１１０は、セクタ１０２が情報を含むかどうかを示すｕｓｅｄフラグ１２０と、セクタ１０２内のデータが置換されたかどうかを示すｏｌｄフラグ１１８と、セクタ１０２に欠陥があるかどうかを示す欠陥フラグ１２２と、クラスタ１１６がシステム・ファイルを記憶するために割り当てられているかどうかを示すシステム・セクタ・フラグ１２４の少なくとも４つのサブフィールドを含む。
本発明の好ましい実施形態においてｏｌｄフラグ１１８は、クラスタ内の全てのセクタ１０２が使用されており、最後のセクタ内のデータが更新されて第１のフリー・セクタに記憶されたとき、クラスタ内の第１セクタ１０２に対してセットされる。また、好ましい実施形態においては、クラスタ内のいずれかのセクタが欠陥があると判定された場合、クラスタ内の第１のセクタ１０２に対して欠陥フラグ１２２がセットされる。欠陥フラグ１２２がセットされると、そのクラスタ全体が欠陥があるとみなされ、クラスタ内のどのセクタ１０２も使用されない。
代替の実施形態においては、ｏｌｄフラグ１１８は、各セクタ１０２が置換されるとき、そのセクタに対してセットされる。また、欠陥フラグ１２２は、欠陥があると判定されたセクタについてのみセクタ毎にセットすることができる。
コンピュータは所定のＬＢＡに関連するシステム・セクタを更新する度に、そのＬＢＡに関連するクラスタ１１６を選択する。古いＬＢＡデータを読み取ってそのセクタ１０２を消去し、次いで更新された情報でデータを復元する代わりに、コンピュータは単にクラスタ１１６内の次の空のセクタ１０２に更新されたデータを書き込む。クラスタ１１６内の次の空のセクタ１０２に更新されたデータが書き込まれると、そのセクタに対してｕｓｅｄフラグ１２０がセットされる。クラスタ１１６内の情報を含む最後の位置は最新の位置であるので、一つ前の位置は古いことが分かる。クラスタ内の全てのセクタ１０２が置換されたデータを含むようになるまでｏｌｄフラグ１１８はセットされない。クラスタ１１６が一杯になり、システムが同じＬＢＡの更新を試みた後、クラスタ１１６内の第１セクタのｏｌｄフラグ１１８がセットされて、そのクラスタがその後は消去できるようになり、システム・ファイルの所与のＬＢＡに新しいフリー・クラスタ１１６が割り当てられる。このように、システム・セクタを書き込む度に消去処理を行う必要はない。ｏｌｄフラグがセットされたクラスタの消去処理は、必要なとき、またはシステムにより目立たずに行われる。
本発明によれば、大容量記憶メモリ１００のセクタ１０２は少なくとも２つの群に区分される。第２図に示すように、セクタ１０２の第１の群１１２はシステム・ファイル専用に予約される。セクタ１０２の第２の群１１４はユーザ・ファイルとして、またシステム・エリアの拡張として予約される。
周知のように、システム・ファイルは、コンピュータ・システムにより、通常通り所定のＬＢＡを割り当てられる。たとえば、ＤＯＳにおいて始めの数セクタはオペレーティング・システム用に予約される。本発明においては、システム・ファイルのオペレーティング・システムに必要な各ＬＢＡ用にセクタのクラスタが予約される。本発明の一実施形態によれば、Ｎ個のセクタが必要な場合、第１群１１２の中にＮ個のクラスタと適当な数のスペアが予約される。
第３図はクラスタ１１６の概略を示す。クラスタ１１６の各々が一つのＬＢＡに関連するセクタを記憶する。各クラスタ１１６はＭ個のセクタ１１２を含む。各クラスタ１１６中ただ一つのセクタ１０２が最新の情報を含む。各クラスタ内の各セクタ１０２は第１図に示したフィールドを含む。
第３図に示すような一実施形態において、クラスタが一杯になると、そのクラスタは「ｏｌｄ」のマークを付けられ、そのＬＢＡのシステム・セクタが更新される前にもう一つのフリー・クラスタを見つけなければならない。この手順によって、より頻繁に使われるシステム・セクタに関連するクラスタがそのシステム・エリアに割り当てられたクラスタ間に分配され、消去サイクルがシステム・クラスタ間により平均して分配される。
第４図は本発明の好ましい実施形態によるシステム区画内のクラスタ配列の概略図を示す。各クラスタはＰＢＡ  ０からＰＢＡ（Ｎ＋．．．）までの一つのＰＢＡを割り当てられる。具体的には、第１群１１２（第２図）はコンピュータシステムが要求するＮ個を超す余分のクラスタを含む。システム・セクタ用のＬＢＡ  ０〜Ｎの各々が対応するクラスタＰＢＡ  ０〜Ｎに割り当てられる。たとえばＬＢＡ  ２に関連するシステム・セクタが他のシステム・セクタよりも頻繁に書き込まれる場合を考えてみる。ＬＢＡ  ２用のクラスタ１１６が古いシステム・ファイル・データで満杯になると、そのクラスタは、図示されるように、たとえばＰＢＡ（Ｎ＋１）用の空の利用できるクラスタにリダイレクトされる。クラスタＰＢＡ  ２の第１セクタに対するｏｌｄフラグは、そのクラスタ内のセクタが全て古いデータを含み、クラスタＰＢＡ（Ｎ＋１）がＬＢＡ  ２に割り当てられることを示すことになる。
次にＬＢＡ  ５に関連するシステム・セクタが満杯になると、第５図に示すように、そのＬＢＡ用のシステム・ファイルがたとえばＰＢＡ（Ｎ＋２）用の別の空の利用可能なクラスタにリダイレクトされる。次にＬＢＡ  ２に関連するシステム・セクタが満杯になると、第６図に示すように、そのＬＢＡ用のシステム・ファイルがたとえばＰＢＡ（Ｎ＋３）用の別の空の利用可能なクラスタにリダイレクトされる。クラスタが満杯になると、「古い」クラスタは消去され、同じ方法で再使用される。システムは別のオペレーションの実行中に裏で全ての「古い」クラスタの消去も実行でき、したがって空のクラスタが利用できる。このため、システム全体の性能がさらに増大する。この手順は、半導体不揮発性大容量記憶メモリのシステム・ファイル区画内のプログラムおよび消去サイクルが、全てのセクタおよびクラスタについてほぼ一定であることを自動的に保証する。
本発明のオペレーティングを加速するためにブロックＲＡＭ１３４が含まれ、ＬＢＡ、対応するＰＢＡ、および関連データを表す表を記憶するために使用される。第７図は本発明のブロックＲＡＭ内に記憶される表の概略図を示す。ブロックＲＡＭ表は、システム・ファイル区間内の各ＬＢＡ用のエントリ１３２に加えて性能増大のためにいくつかの予備位置を含む。ＬＢＡ  ０〜Ｎの各々に対するエントリは、対応するクラスタＰＢＡ  ０〜Ｎへの電源投入時にフラッシュ拡張内のＬＢＡフィールド１０８を読み取ることにより初期化される。予備クラスタの各ＰＢＡに対するエントリも表に含まれる。各エントリ１３２は、ＬＢＡに関連する情報のクラスタ（ＰＢＡ）フィールド１３４の最新の物理ブロック・アドレスならびに、半導体不揮発性大容量記憶メモリ内のクラスタの実際の物理ブロック・アドレスに関連するｏｌｄフラグ１３８、ｕｓｅｄフラグ１４０、および欠陥フラグ１４２のミラーを含む。また、フィールド１３６は所与のＬＢＡに関連する所与の物理ブロック・アドレス内の最新のデータまたはセクタを表す。したがって、ブロック・サイズ（クラスタ・サイズ）が８であり、たとえばこのクラスタ内の最新セクタが５である場合、フィールド１３６に５という値がロードされる。これはアクセス中にコントローラがクラスタ内の最新のセクタを見つけ出す助けとなる。あるいは、コントローラが最新のシステム・ファイルを見つけ出すためにクラスタ内の全セクタを読み取る場合に、このフィールドを除去することもできる。
表１４４内でフィールド１３４および１３６の各エントリは１つのＬＢＡに対応している。ＰＢＡフィールド１３４は対応するＬＢＡの現在のデータを含むクラスタ１１６の現在のＰＢＡを含む。フィールド１３６は現在のデータを記憶しているクラスタ内のセクタの番号を含む。フラグ・フィールド１３８、１４０、および１４２は各エントリに対する割り当てられたＰＢＡに対応する。ｏｌｄフラグ・フィールドはそのエントリに対する割り当てられたＰＢＡが古く、消去する必要があることを示す。消去処理が実行されるとき、本発明のシステムはブロックＲＡＭ内の表からｏｌｄフラグがセットされたＰＢＡを探索する。ｕｓｅｄフラグ・フィールド１４０は、ＰＢＡに対応するクラスタ内の第１のセクタのｕｓｅｄフラグ１２０を反映し、データがそのクラスタ内に記憶されるとセットされる。欠陥フラグ・フィールドは割り当てられたＰＢＡが欠陥を有することを示す。
第８図は数個のＬＢＡにアクセスするホスト・システムの例と、ブロックＲＡＭ内に記憶された表中でそれがどう扱われるかを示す。たとえば、最初にホストが全てのＬＢＡ  ０〜Ｎに書き込み、かつ大容量媒体が使用されない場合、表１５０に示すように、ＬＢＡ  ０はＰＢＡ  ０を、ＬＢＡ  １はＰＢＡ  １を、以下同様にＬＢＡ  ＮはＰＢＡ  Ｎを指し示す。ＬＢＡ  ０〜Ｎに対応する各エントリについて、表１５０内のｕｓｅｄフラグ１４０がセットされる。各ブロックの第１の位置は最新のシステム・データ・ファイルであるので、ＬＢＡ  ０〜Ｎに対応する表内の各エントリに対するクラスタ・フィールド内の最新の位置には全てゼロがロードされる。表１５０〜１５８の各々は、一連のオペレーティングに応答してブロックＲＡＭ内に記憶される表中のエントリの進行状況を示す。ホスト・システムが再度ＬＢＡ  ２に書き込み処理を行った場合、そのデータはクラスタＰＢＡ２内の次のセクタに書き込まれ、表１５１内のクラスタ・フィールド１３６中の最新の位置が００１に更新される。不揮発性記憶１００内のセクタ拡張中でｕｓｅｄ１４０もセットされる。システムがＬＢＡ２への書き込みを続ける場合、表１５７に示すように、クラスタ・フィールド１３６内の最新の位置が１１１に更新されるまでこのプロセスが続く。その後、ホスト・システムが次回再度ＬＢＡ２に書き込み処理を行うとき、クラスタＰＢＡ２内の第１セクタのｏｌｄフラグ１１８が１にセットされ、ＰＢＡ２に対応するｏｌｄフラグ・フィールド１３８中のｏｌｄフラグが１にセットされ、表１５８内のエントリＬＢＡ２に対応するＰＢＡフィールド１３４が次の使用可能なフリー・クラスタ、即ちＰＢＡ（Ｎ＋１）で更新され、フリー・クラスタＰＢＡ（Ｎ＋１）に対するエントリに対応するｕｓｅｄフラグ・フィールド１４０が１にセットされる。次にクラスタ・フィールド１３６の最新の位置が０００にリセットされる。次の使用可能なフリー・クラスタは、ｕｓｅｄフラグと欠陥フラグがセットされていない最初のセクタを含むクラスタを探索することによって見つけられる。クラスタが消去されるとき、表１４４内のクラスタ１１６内でｏｌｄフラグとｕｓｅｄフラグがリセットされる。このクラスタは次いでフリー・クラスタのプールに加えられる。
第９図に示す制御回路は、フラグを読み取り、ここに述べる半導体不揮発性大容量記憶メモリのオペレーティングを制御するためにコンピュータシステムからのデータ要求を受け取るように構成されている。制御回路２００は、大容量記憶媒体２１２、ホスト・システム２１０、およびホスト・システム２１０と大容量記憶媒体２１２との間のオペレーティングを制御するためのローカル・コントローラ２１４に結合されている。制御回路２００は、媒体制御回路２０２、コントローラ状態マシン２０４、１つまたは複数のホスト状態マシン２０６、およびブロックＲＡＭ２０８を含む。媒体制御回路２０２は、大容量記憶媒体２１２を制御し、それに対するインターフェースを構成している。ホスト状態マシン２０６はホスト・システム２１０を制御し、それに対するインターフェースを構成している。コントローラ状態マシン２０４は制御回路２００のオペレーティングを制御する。ブロックＲＡＭ２０８は上記のように表１４４を記憶するのに用いられる。
表１４４は、揮発性メモリであるブロックＲＡＭ２０８内に記憶される。したがって、システムへの電力が切れると、表１４４内に記憶されたデータは失われる。したがって、システムへの電力が回復したとき、表１４４にデータを復元または再ロードしなければならない。データを表１４４に再ロードするには、システム・セクタを含む各クラスタを読み取り、各セクタからのデータを用いて表１４４を構築する。第１セクタのｏｌｄフラグ１１８および／または欠陥フラグ１２２がセットされていないシステムクラスタだけを読み取る。各セクタはＰＢＡを各ＬＢＡと相関させるのに使用されるＬＢＡフィールド１０８を含む。次にこのＰＢＡを対応するＬＢＡエントリに対する表１４４のＰＢＡフィールド１３４内に記憶する。クラスタ・フィールド１３６内の最新の位置に対するエントリは、ｕｓｅｄフラグ１２０がセットされているクラスタ中の最後のセクタを見つけることによって決定される。このようにして、表１４４が再構築されるまで、システム・セクタを記憶している現在の各クラスタについてこのプロセスを繰り返す。
本発明の構成およびオペレーティングの原理を理解しやすくするために、詳細を含む特定の実施形態を用いて本発明を説明した。本明細書における特定の実施形態の参照およびその詳細は、添付の請求の範囲を限定するものではない。本発明の精神と範囲から逸脱することなく例示のために選んだ実施形態に修正が可能であることは当業者には明らかであろう。
【図１】
0004399029.tif 000002
【図２】
0004399029.tif 000003
【図３】
0004399029.tif 000004
【図４】
0004399029.tif 000005
【図５】
0004399029.tif 000006
【図６】
0004399029.tif 000007
【図７】
0004399029.tif 000008
【図８Ａ】
0004399029.tif 000009
【図８Ｂ】
0004399029.tif 000010
【図８Ｃ】
0004399029.tif 000011
【図９】
0004399029.tif 000012