(57)【要約】  本発明は、誤作動セルまたは他の問題のためにセクタが低い数のゼロ・ビットを含み、破壊されたビットの数がＥＣＣ訂正限度よりも下にあるためセクタを依然として使用できるとき、消去されたセクタの即時および正確な検出を可能にする不揮発性メモリおよびその動作方法を提供する。この方法によって、記憶システムは、消去されたセクタの破壊に対して耐性を有するようになる。なぜならば、システムが、後にＥＣＣ訂正手段による書き込みデータの中でこの誤りを訂正できるならば、そのようなセクタをさらなるデータ記憶に使用できるからである。
2008525937.tif 000002
【特許請求の範囲】
【請求項１】
メモリのデータ単位が消去されたかどうかを決定する方法であって、
データ単位のデータ内容を反転するステップと、
反転されたデータ内容について誤り訂正符号シンドロームを生成するステップと、
前記シンドロームを使用して、反転されたデータ内容の上でデータ訂正を実行するステップと、
訂正および反転されたデータ内容に基づいて、データ単位のデータ内容が消去されたかどうかを決定するステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、
前記データ単位が、データのセクタである方法。
【請求項３】
請求項１記載の方法において、
前記データ内容を反転するステップが、関連したＥＣＣフィールドを反転するステップを含む方法。
【請求項４】
請求項１記載の方法において、
誤り訂正符号が、リード・ソロモン・アルゴリズムを使用する方法。
【請求項５】
請求項１記載の方法において、
誤り訂正符号が、ＢＣＨアルゴリズムを使用する方法。
【請求項６】
請求項１記載の方法において、
前記方法が、ファームウェアによって実行される方法。
【請求項７】
請求項１記載の方法において、
前記データ内容を反転するステップの前に、消去された状態にデータ内容が対応するかどうかの初期決定を実行するステップをさらに含む方法。
【請求項８】
請求項７記載の方法において、
初期決定が、メモリバス上の受信データを検査することによってハードウェアの中で実行される方法。
【請求項９】
請求項１記載の方法において、
前記データ内容を反転するステップの前に、有効で消去されなかったデータをデータ単位が含むかどうかを決定するステップをさらに含む方法。
【請求項１０】
請求項９記載の方法において、
前記有効で消去されなかったデータをデータ単位が含むかどうかを決定するステップが、データ単位の内容の上でデータ訂正動作を実行するステップをさらに含む方法。
【請求項１１】
メモリのデータ単位を処理する方法であって、
関連づけられた誤り訂正符号に基づいて、データ単位の内容の破壊レベルを数量化するステップと、
破壊レベルが受け入れ可能かどうかを決定するステップと、
前記破壊レベルが受け入れ可能かどうかを決定するステップに応答して、データ内容を訂正するステップと、
訂正されたデータ内容に基づいて、データ単位のデータ内容が消去されたかどうかを決定するするステップと、
を含む方法。
【請求項１２】
請求項１１記載の方法において、
前記破壊レベルを数量化するステップの前に、データ内容について誤り訂正符号シンドロームを生成するステップをさらに含み、前記データ内容を訂正するステップが、前記シンドロームを使用してデータ内容の上で実行され、前記データ単位のデータ内容が消去されたかどうかを決定するステップが、訂正されたデータ内容に基づく方法。
【請求項１３】
請求項１２記載の方法において、
前記データ内容について誤り訂正符号シンドロームを生成するステップの前に、データ単位のデータ内容を反転するステップをさらに含み、誤り訂正符号シンドロームが、反転形式のデータ内容を使用して生成され、前記データ内容を訂正するステップが、前記シンドロームを使用して反転形式のデータ内容の上で実行され、前記データ単位のデータ内容が消去されたかどうかを決定するステップが、訂正された反転形式のデータ内容に基づく方法。
【請求項１４】
請求項１３記載の方法において、
前記データ内容を反転するステップが、関連づけられたＥＣＣフィールドを反転するステップを含む方法。
【請求項１５】
請求項１２記載の方法において、
前記データ内容について誤り訂正符号シンドロームを生成するステップの前に、消去された状態にデータ内容が対応するかどうかの初期決定を実行するステップをさらに含む方法。
【請求項１６】
請求項１５記載の方法において、
初期決定が、メモリバス上の受信データを検査することによってハードウェアの中で実行される方法。
【請求項１７】
請求項１２記載の方法において、
前記データ内容について誤り訂正符号シンドロームを生成するステップの前に、有効で消去されなかったデータをデータ単位が含むかどうかを決定するステップをさらに含む方法。
【請求項１８】
請求項１７記載の方法において、
前記有効で消去されなかったデータをデータ単位が含むかどうかを決定するステップが、データ単位の内容の上でデータ訂正動作を実行するステップをさらに含む方法。
【請求項１９】
請求項１１記載の方法において、
前記データ単位が、データのセクタである方法。
【請求項２０】
請求項１１記載の方法において、
誤り訂正符号が、リード・ソロモン・アルゴリズムを使用する方法。
【請求項２１】
請求項１１記載の方法において、
誤り訂正符号が、ＢＣＨアルゴリズムを使用する方法。
【請求項２２】
請求項１１記載の方法において、
前記方法が、ファームウェアによって実行される方法。
【請求項２３】
メモリのデータ単位を処理する方法であって、
関連づけられた誤り訂正符号に基づいて、消去された状態に対してデータ単位の内容の破壊レベルを決定および数量化するステップと、
破壊レベルが受け入れ可能かどうかを決定するステップと、
を含む方法。
【請求項２４】
請求項２３記載の方法において、
前記破壊レベルが受け入れ可能かどうかを決定するステップに応答して、データ内容を訂正するステップをさらに含む方法。
【請求項２５】
請求項２３記載の方法において、
前記破壊レベルを決定および数量化するステップの前に、消去された状態にデータ内容が対応するかどうかの初期決定を実行するステップをさらに含む方法。
【請求項２６】
請求項２５記載の方法において、
初期決定が、メモリバス上の受信データを検査することによってハードウェアの中で実行される方法。
【請求項２７】
請求項２３記載の方法において、
前記破壊レベルを決定および数量化するステップの前に、有効で消去されなかったデータをデータ単位が含むかどうかを決定するステップをさらに含む方法。
【請求項２８】
請求項２７記載の方法において、
前記有効で消去されなかったデータをデータ単位が含むかどうかを決定するステップが、データ単位の内容の上でデータ訂正動作を実行するステップをさらに含む方法。
【請求項２９】
請求項２３記載の方法において、
前記データ単位が、データのセクタである方法。
【請求項３０】
請求項２３記載の方法において、
誤り訂正符号が、リード・ソロモン・アルゴリズムを使用する方法。
【請求項３１】
請求項２３記載の方法において、
誤り訂正符号が、ＢＣＨアルゴリズムを使用する方法。
【請求項３２】
請求項２３記載の方法において、
前記方法が、ファームウェアによって実行される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、不揮発性メモリおよびその動作に関し、さらに具体的には、再書き込み可能なメモリの一部分が消去されたかどうか、およびその破壊レベルを決定する手法に関する。
【背景技術】
【０００２】
フラッシュＥＥＰＲＯＭデバイスの通常の応用は、電子デバイスの大容量データ記憶サブシステムとしての応用である。そのようなサブシステムは、通常、複数のホストシステムへ挿入可能で取り外し可能なメモリカードとして実現されるか、またはホストシステム内の取り外し不可能な埋め込み形記憶装置として実現される。双方の実現において、サブシステムは１つまたは複数のフラッシュデバイスを含み、また多くの場合、サブシステムコントローラを含む。
【０００３】
フラッシュＥＥＰＲＯＭデバイスは、トランジスタセルから成る１つまたは複数のアレイから構成され、各々のセルは１つまたは複数のデータビットを不揮発的に記憶することができる。したがって、フラッシュメモリは、その中にプログラムされたデータを保持するための電力を必要としない。しかし、一度プログラムされると、セルは、新しいデータ値で再プログラムされる前に、消去されなければならない。セルから成るこれらのアレイはグループへ区分され、読み出し、プログラミング、および消去機能の効率的な実現を提供する。大容量記憶装置の典型的なフラッシュメモリ構造は、セルの大きなグループを消去可能ブロックへ配列する。この場合、１つのブロックは、一時に消去できる最小数のセル（消去単位）を含む。
【０００４】
１つの商業形態において、各々のブロックは、ユーザデータおよび幾つかのオーバーヘッドデータから成る１つのセクタを記憶するのに十分なセルを含む。このオーバーヘッドデータは、ユーザデータ、および／またはそれが記憶されるブロックに関連している。１つのセクタに含まれるユーザデータ量は、１つの種類のそのようなメモリシステムでは標準の５１２バイトであるが、他のサイズであってもよい。セルの個々のブロックを相互に隔離することは、それらのブロックを個別に消去できるようにするために必要であるが、そのような隔離は集積回路チップ上で空間を取るので、他の種類のフラッシュメモリはブロックを著しく大きくし、そのような隔離に必要な空間を小さくしている。しかし、はるかに小さなセクタの中のユーザデータを取り扱うことも所望されるから、各々の大きなブロックは、多くの場合、ユーザデータを読み出しおよびプログラムするための基本単位である個別にアドレス可能なページへさらに区分される。各々のページは、通常、ユーザデータから成る１つのセクタを記憶するが、ページは部分セクタまたは複数セクタを記憶してよい。「セクタ」とは、本願明細書では、ホストの間で１つの単位として転送されるユーザデータ量を意味する。
【０００５】
大きなブロックのシステムにおけるサブシステムコントローラは、多くの機能を実行する。そのような機能の中には、ホストからメモリサブシステムによって受け取られた論理アドレスとメモリセルアレイ内の物理アドレスとの間の変換が含まれる。この変換は、多くの場合、論理ブロック番号（ＬＢＮ）および論理ページのための中間用語 (intermediate terms) の使用を含む。コントローラは、さらに、一連のコマンドを介して低レベルのフラッシュ回路動作を管理する。コントローラは、インターフェイスバスを介して、前述した一連のコマンドをフラッシュメモリデバイスへ発する。コントローラが実行する他の機能は、様々な手段、例えば、誤り訂正符号（ＥＣＣ）を使用して、サブシステムへ記憶されたデータの完全性を維持することである。
【０００６】
フラッシュおよび幾つかの他のメモリシステムでは、データのページを再書き込みする前に、それを消去しなければならない。したがって、データを記憶するためデータのページを選択する前に、消去されたページを発見する必要がある。したがって、メモリのどの部分が消去された状態にあるかを、できるだけ迅速かつ便宜的に決定できることがシステムにとって重要である。その理由は、メモリ部分をまだ使用しなければならないのか、またはメモリ部分が消去プロセスを受けた前に書き込まれたセクタであるのかを決定するためである。これは、必ずしも、コントローラが消去動作を導入したブロックを単に追跡する直接的な場合ではない。例えば、そのようなメモリ回路の動作中に電力が停止した場合、例えば、メモリカードがホストから取り除かれるか、集積メモリを有するデバイスへの電力が失われるとき、メモリは消去動作中であったかも知れず、不完全な動作を生じることになる。さらに、セクタは消去されたが、少数の破壊ビットを含む場合、セクタの単純な読み出しは、あたかもデータを保持しているように見せかける。
【０００７】
多くのセクタ消去手法が知られる。例えば、単にセクタの内容を読み出すことができる。しかし、可能性として破壊ビットがあるかも知れない問題とは別に、実際に消去されたセクタと、同じデータ、即ち、たまたま対応するオールＦＦで書き込まれたセクタとが、これによって区別されない。本願明細書において参照により援用されている米国特許第５，９２８，３７０号（特許文献１）で見い出される１つの従来技術の解決法は、ＥＣＣエンジンを使用して、「理想的な」消去されたセクタを検出する解決法である。セクタデータを使用して新しいＥＣＣフィールドを生成し、この新しいＥＣＣフィールドを、オールＦＦについて事前に生成された参照ＥＣＣフィールドと比較することができる。ＥＣＣフィールドが同じであれば、セクタは、消去されたと考えられる（オールＦＦを含む）。しかし、これは、依然として誤った検出の公算が存在するという問題を有する。さらに、この方法は、消去されたセクタが１つだけのゼロ・ビットを有しても、消去されたセクタを検出することができない。
【特許文献１】米国特許第５，９２８，３７０号
【特許文献２】米国特許第６，５２２，５８６号
【特許文献３】米国特許出願第１０／０８６，４９５号
【特許文献４】米国特許第６，２８２，１３０号
【特許文献５】米国特許第５，５４６，３４１号
【特許文献６】米国特許出願第０９／９５６，２０１号
【特許文献７】米国特許出願第１０／７５１，０９６号
【特許文献８】米国特許出願第１０／８４１，３７９号
【特許文献９】２００２年１０月２５日に出願されたエリヤホウ・ハラリ、ジョージ・サマチサ、ジャック・エイチ・ユアン、およびダニエル・シー・グッターマンによる「誘電体記憶素子を用いる多状態不揮発性集積回路メモリシステム」という米国特許出願
【特許文献１０】米国特許第５，７６８，１９２号
【特許文献１１】米国特許第４，６３０，０８６号
【特許文献１２】米国特許第５，９９１，１９３号
【特許文献１３】米国特許第５，８９２，７０６号
【発明の開示】
【０００８】
第１の態様によれば、本発明は、誤作動するセルまたは他の問題のためにセクタが低い数のゼロ・ビットを含み、破壊されたビットの数がＥＣＣ訂正限度よりも下にあるためセクタを依然として使用できるとき、消去されたセクタの即時および正確な検出を可能にする不揮発性メモリおよびその動作方法を提供する。この方法によって、記憶システムは、消去されたセクタの破壊に対して耐性を有するようになる。なぜならば、システムが、後にＥＣＣ訂正手段による書き込みデータの中でこの誤りを訂正できるならば、そのようなセクタをさらなるデータ記憶に使用できるからである。
【０００９】
実施形態の第１の集合は、ページの内容（ＥＣＣフィールドを含む）を反転し、幾つかの破壊（０ビット）を有する消去されたページ（オールＦＦ）が、破壊に起因する幾つかの高ビットを除いて、ゼロ・データを有するページになるようにする。次に、システムは、消去されたページを有効データとして解釈し、システムの標準ＥＣＣ方法をそれに適用することができる。新しいシンドロームが生成され、この新しいシンドロームを使用してページが訂正される。ページが成功裏に訂正されたならば、それがオール・ゼロを含むかどうかを検査する。含むならば、消去されたセクタが発見されたことになる。
【００１０】
本発明のさらなる態様において、追加の実施形態は、部分的に消去されたセクタ（オーバーヘッドおよびＥＣＣ領域を有する主なデータ）を検出する方法を説明する。この方法では、そのようなページが検出されるだけでなく、破壊レベルが数量化されるので、ページがさらなる使用に適しているかどうかを決定できるようになる。セクタデータがコントローラへ転送されたとき、ファームウェアまたはＥＣＣカスタマイズされた回路は、セクタの中、またはセクタが複数の隣接またはインターリーブされた符号語へ分割されるときには全ての符号語の中で、ゼロ・ビット（ＢＣＨについて）、または少なくとも１つのゼロ・ビットを有する記号（リード・ソロモンについて）を検出およびカウントする。こうして、カウンタの値は、セクタの中（またはセクタの全ての符号語の中）で、消去されなかったビットまたは記号の数を含むことになる。これらの値は、消去されたセクタの破壊レベルを示す。
【００１１】
本発明の追加の態様では、これらの実施形態の任意のものについて、消去されたセクタの検出プロセスを、ページが非破壊消去済状態にあるかどうかの予備検査、およびページが限定数のゼロ・ビットを含むかどうかを決定するプロセスによって先行させることができる。
【００１２】
本発明の追加の態様、特徴、および利点は、添付の図面と結びつけて考慮されるべきである例示的な実施形態の以下の説明に含まれる。
【発明を実施するための最良の形態】
【００１３】
例示的な不揮発性メモリシステム
具体的な例を提供するため、図１〜図６を参照して、本発明の様々な態様が実現される具体的な不揮発性メモリシステムが説明される。消去プロセスにおける妨害量を低減するため、本発明は、選択されない記憶素子のコントロールゲートを、その下にあるウェル構造と同じ電圧レベルに維持する。例示的な実施形態において、記憶素子はウェル構造の上に形成される。消去プロセスの間、ウェルの上の選択された記憶素子および選択されない記憶素子の双方は消去電圧へ上げられ、並行してこの電圧レベルをウェルの中に確立する。次に、この電圧はウェルおよび選択されない記憶素子の上で維持されることによって、妨害に関連するいかなる消去の機会も低減される。その間に、選択された記憶素子は放電を許され、必要な消去条件を生成する。さらに、これは、回路のピッチ領域を増加することなく、またはメモリアレイの中に新しい配線を追加することなく達成可能であり、最小の追加の周辺領域が回路へ追加される結果となる。
【００１４】
具体的にするため、本発明をＮＡＮＤ形ＥＥＰＲＯＭフラッシュメモリについて説明する。もっとも、以下で一般化についてさらに説明する。特に、現在の解説は、米国特許第６，５２２，５８０号（特許文献２）、および前に参照により援用されているＮＡＮＤシステムに関連した他の出願で説明されるようなシステムを使用する。以下で具体的な電圧が必要になるとき、消去電圧Ｖerase は１５〜２０ボルトの範囲で取られ、低い論理レベルは接地によって取られ、高い論理レベルＶddは１．５〜３ボルトの範囲で取られる。もっとも、設計に依存して他の値が使用されてよい。
【００１５】
図１は、フラッシュメモリシステムのブロック図である。行列として配列された複数の記憶ユニットＭを含むメモリセルアレイ１は、列制御回路２、行制御回路３、ｃソース制御回路４、およびｃ−ｐウェル制御回路５によって制御される。列制御回路２は、メモリセルアレイ１のビット線（ＢＬ）へ接続され、メモリセル（Ｍ）内に記憶されたデータを読み出し、プログラミング動作の間にメモリセル（Ｍ）の状態を決定し、ビット線（ＢＬ）の電位レベルを制御して、プログラミングを促進するか、プログラミングを禁止する。行制御回路３は、ワード線（ＷＬ）へ接続されて、ワード線（ＷＬ）の１つを選択し、読み出し電圧を印加し、列制御回路２によって制御されるビット線電位レベルと組み合わされたプログラミング電圧を印加し、メモリセル（Ｍ）が形成されるｐ形領域（図３で「ｃ−ｐウェル」１１とラベルを付けられている）の電圧と結合された消去電圧を印加する。ｃソース制御回路４は、メモリセル（Ｍ）へ接続された共通のソース線（図２で「ｃソース」とラベルを付けられている）を制御する。ｃ−ｐウェル制御回路５は、ｃ−ｐウェルの電圧を制御する。
【００１６】
メモリセル（Ｍ）の中に記憶されたデータは、列制御回路２によって読み出され、Ｉ／Ｏ線およびデータ入出力バッファ６を介して外部Ｉ／Ｏ線へ出力される。メモリセルの中に記憶されるべきプログラムデータは、外部Ｉ／Ｏ線を介してデータ入出力バッファ６へ入力され、列制御回路２へ転送される。外部Ｉ／Ｏ線はコントローラ２０へ接続される。フラッシュメモリデバイスを制御するためのコマンドデータは、コントローラ２０と接続される外部制御線へ接続されたコマンドインターフェイスへ入力される。コマンドデータは、どのような動作が要求されるかをフラッシュメモリに通知する。入力コマンドは、列制御回路２、行制御回路３、ｃソース制御回路４、ｃ−ｐウェル制御回路５、およびデータ入出力バッファ６を制御する状態マシン８へ転送される。状態マシン８は、フラッシュメモリのステータスデータ、例えば、作動可能／動作中（ＲＥＡＤＹ／ＢＵＳＹ）または合格／不合格（ＰＡＳＳ／ＦＡＩＬ）を出力することができる。
【００１７】
コントローラ２０は、ホストシステム、例えば、パーソナルコンピュータ、デジタルカメラ、または個人用携帯情報端末（ＰＤＡ）へ接続されるかまたは接続可能である。ホストは、コマンド、例えば、メモリアレイ１へデータを記憶しまたはメモリアレイからデータを読み出すコマンドを起動し、それぞれ、そのようなデータを提供または受け取る。コントローラは、そのようなコマンドをコマンド回路７によって解釈および実行可能であるコマンド信号へ変換する。コントローラは、さらに、典型的には、メモリアレイへ書き込まれるか、またはメモリアレイから読み出されるユーザデータのために、バッファメモリを含む。典型的なメモリシステムは、コントローラ２０を含む１つの集積回路チップ２１、および各々がメモリアレイおよび関連した制御回路、入出力回路、および状態マシン回路を含む１つまたは複数の集積回路チップ２２を含む。傾向としては、もちろん、システムのメモリアレイおよびコントローラ回路を一緒に１つまたは複数の集積回路チップの上に集積することである。メモリシステムは、ホストシステムの一部として埋め込まれるか、またはホストシステムの嵌合ソケットへ取り外し可能に挿入できるメモリカードの中に含まれてよい。そのようなカードはメモリシステムの全体を含むか、または関連する周辺回路を有するコントローラおよびメモリアレイが別個のカードに設けられてよい。
【００１８】
図２を参照して、メモリセルアレイ１の例示的な構造を説明する。ＮＡＮＤ形のフラッシュＥＥＰＲＯＭを例として説明する。メモリセル（Ｍ）は、多数、特定の例では、１０２４のブロックへ区分される。各々のブロックの中に記憶されたデータは同時に消去される。したがって、ブロックは、同時に消去可能な多数のセルの最小単位である。各々のブロックの中には、米国特許第６，５２２，５８０号（特許文献２）でさらに説明されているように、Ｎ個の列、この例ではＮ＝８，５１２の列が存在する。これらの列は左の列と右の列へ分割される。ビット線も、左ビット線（ＢＬＬ）と右ビット線（ＢＬＲ）へ分割される。各々のゲート電極でワード線（ＷＬ０〜ＷＬ３）へ接続された４つのメモリセルは直列に接続されて、ＮＡＮＤセルユニットを形成する。ＮＡＮＤセルユニットの１つの端子は、ゲート電極が第１の（ドレイン）選択ゲート線（ＳＧＤ）へ結合された第１の選択トランジスタ（Ｓ）を介して、対応するビット線（ＢＬ）へ接続され、他の端子は、ゲート電極が第２の選択ゲート線（ＳＧＳ）へ結合された第２の（ソース）選択トランジスタ（Ｓ）を介して、ｃソースへ接続される。図を簡略化するため、４つのフローティングゲートトランジスタが各々のセルユニットの中に含まれるように示されているが、他の数、例えば、８、１６、またはさらには３２ものトランジスタが使用される。図２は、さらに、ウェル電圧を供給する接続ｃ−ｐウェルを含む。
【００１９】
各々のブロックの中で、この例では、８，５１２の列が偶数列および奇数列へ分割される。ビット線は、さらに、偶数ビット線（ＢＬｅ）および奇数ビット線（ＢＬｏ）へ分割される。各々のゲート電極でワード線（ＷＬ０〜ＷＬ３）へ接続された４つのメモリセルは、直列に接続されてＮＡＮＤセルユニットを形成する。ＮＡＮＤセルユニットの１つの端子は、ゲート電極が第１の選択ゲート線（ＳＧＤ）へ結合された第１の選択トランジスタ（Ｓ）を介して、対応するビット線（ＢＬ）へ接続され、他の端子は、ゲート電極が第２の選択ゲート線（ＳＧＳ）へ結合された第２の選択トランジスタ（Ｓ）を介して、ｃソースへ接続される。図を簡略化するため、４つのフローティングゲートトランジスタが各々のセルユニットに含まれるように示されているが、より高い数、例えば、８、１６、またはさらには３２ものトランジスタが使用される。
【００２０】
実施形態の代替の集合において、本願明細書において参照により援用されている２００２年２月２７日に出願された米国特許出願第１０／０８６，４９５号（特許文献３）で説明されるように、アレイは、奇数・偶数配列の代わりに、左および右の部分へ分割可能である。左側および右側は追加的に独立のウェル構造を有してよく、アレイの右側および左側の各々は、そのような別々のウェル構造の上に形成され、図１のｃ−ｐウェル制御回路５によって電圧レベルを独立に設定できるようにされる。さらなる変形例では、これによってブロックの全区画よりも小さいサブブロックの消去が可能になる。本発明と互換的なさらなる変形例が、米国特許出願第１０／０８６，４９５号（特許文献３）にも説明されている。
【００２１】
例示的な実施形態において、ページサイズは５１２バイトである。これは、同じワード線の上のセル数よりも小さい。このページサイズは、ユーザ選好および慣行に基づく。１ページ分のセルより多くのセルにワード線のサイズを対応させることは、Ｘデコーダ（行制御回路３）の空間を節約する。なぜならば、異なるページ分のデータがデコーダを共用できるからである。ユーザデータの読み出しおよびプログラミング動作の間、Ｎ＝４，２５６のセル（Ｍ）が、この例では同時に選択される。選択されたセル（Ｍ）は、同じワード線（ＷＬ）、例えば、ＷＬ２、および同じ種類のビット線（ＢＬ）を有する。したがって、５３２バイトのデータを同時に読み出しまたはプログラムすることができる。同時に読み出されるか、またはプログラムされるこの５３２バイトのデータは、論理的に「ページ」を形成する。したがって、１つのブロックは少なくとも８つのページを記憶することができる。各々のメモリセル（Ｍ）が２つのデータビットを記憶するとき、即ち、マルチレベルセルであるとき、１つのブロックは、セル当たり２ビットの記憶装置の場合に１６ページを記憶する。この実施形態において、各々のメモリセルの記憶素子、この場合、各々のメモリセルのフローティングゲートは、ユーザデータの２つのビットを記憶する。
【００２２】
図３は、図２の略図で示されている形のＮＡＮＤセルユニットのビット線（ＢＬ）方向における断面図を示す。ｐ形半導体基板９の表面にｐ形領域ｃ−ｐウェル１１が形成され、左および右のｃ−ｐウェルの各々はｎ形領域１０によって囲まれて、ｐ形基板からｃ−ｐウェルを電気的に絶縁する。ｎ形領域１０は、第１の接触孔（ＣＢ）およびｎ形拡散層１２を介して、第１の金属Ｍ０から作られたｃ−ｐウェル線へ接続される。ｐ形領域ｃ−ｐウェル１１も、第１の接触孔（ＣＢ）およびｐ形拡散層１３を介して、ｃ−ｐウェル線へ接続される。ｃ−ｐウェル線はｃ−ｐウェル制御回路５（図１）へ接続される。
【００２３】
例示的な実施形態はフラッシュＥＥＰＲＯＭ記憶ユニットを使用する。この場合、各々のメモリセルは、セルに記憶されているデータに対応する電荷量を記憶するフローティングゲート（ＦＧ）、ゲート電極を形成するワード線（ＷＬ）、およびｐ形拡散層１２から作られたドレインおよびソース電極を有する。フローティングゲート（ＦＧ）は、トンネル酸化膜（１４）を介してｃ−ｐウェルの表面に形成される。ワード線（ＷＬ）は、絶縁膜（１５）を介してフローティングゲート（ＦＧ）の上に積み重ねられる。ソース電極は、第２の選択トランジスタ（Ｓ）および第１の接触孔（ＣＢ）を介して、第１の金属（Ｍ０）から作られた共通ソース線（ｃソース）へ接続される。共通ソース線は、ｃソース制御回路（４）へ接続される。ドレイン電極は、第１の選択トランジスタ（Ｓ）、第１の接触孔（ＣＢ）、第１の金属（Ｍ０）の中間配線、および第２の接触孔（Ｖ１）を介して、第２の金属（Ｍ１）から作られたビット線（ＢＬ）へ接続される。ビット線は列制御回路（２）へ接続される。
【００２４】
図４および図５は、ワード線（ＷＬ２）の方向におけるメモリセル（図３の断面４−４）および選択トランジスタ（図３の断面５−５）の断面図をそれぞれ示す。各々の列は、シャロートレンチ分離 (shallow trench isolation) （ＳＴＩ）として知られるように、基板の中に形成されて絶縁材料で充填されるトレンチによって隣接する列から分離される。トレンチは、フローティングゲート（ＦＧ）は、ＳＴＩおよび絶縁膜１５およびワード線（ＷＬ）によって、相互から分離される。選択トランジスタ（Ｓ）のゲート電極（ＳＧ）は、フローティングゲート（ＦＧ）およびワード線（ＷＬ）と同じ形成プロセスステップで形成されるので、積層ゲート構造を示す。これらの２つの選択ゲート線（ＳＧ）は、線の終わりに分路を作られる。
【００２５】
前に参照により援用されている米国特許第６，５２２，５８０号（特許文献２）は、メモリセルアレイ１を動作させる様々な電圧を説明する。特定の例において、各々のメモリセルのフローティングゲートは２つのビットを記憶し、状態「１１」、「１０」、「０１」、「００」の１つを有する。ワード線「ＷＬ２」および「ＢＬｅ」のビット線が消去、読み出し、またはプログラミングのために選択される場合について、ここで前述した米国特許を簡単に概説する。ｃ−ｐウェルをＶerase ＝１５〜２０Ｖの消去電圧へ上げ、選択されたブロックのワード線（ＷＬ）を接地することによって、選択されたブロックのデータが消去される。選択されないブロックのワード線（ＷＬ）、ビット線（ＢＬ）、選択線（ＳＧ）、およびｃソースの全ては浮遊状態に置かれるので、これらも、ｃ−ｐウェルとの容量結合によって、ほぼＶerase へ上げられる。したがって、選択されたメモリセル（Ｍ）のトンネル酸化膜１４（図４および図５）だけに強い電界が印加され、選択されたメモリセルのデータは、トンネル電流がトンネル酸化膜１４を横切って流れるので消去される。消去されたセルは、この例では、４つの可能なプログラミング状態の１つ、即ち、「１１」である。
【００２６】
消去およびプログラミング値で使用される高電圧値は、電荷ポンプ（図１では示されていない）を使用して、より低い供給値から生成可能である。これらの高い電圧値は、メモリチップ２２自身の上で生成されるか、またはメモリシステム内の他のチップから供給されてよい。高電圧源の使用およびロケーションは、本願明細書において参照により援用されている米国特許第６，２８２，１３０号（特許文献４）、およびそこで引用された追加の参考文献の中で十分に説明されている。
【００２７】
図６は、そのような従来技術の配列を概略的に示す。３つの代表的なワード線ＷＬA 、ＷＬB 、ＷＬC が、それぞれトランジスタ１０１、１０３、および１０５を介して様々な電圧レベルを供給する線１０７へ接続される。トランジスタ１０１、１０３、および１０５は、線１０７と一緒に図１の行制御回路３の一部であってよい。図１のｃ−ｐウェル制御回路５は、ウェル構造ｃ−ｐウェル１１のために電圧を提供する。次に、ワード線は、ウェル構造１１の上で図２に示されているメモリ１の異なるブロックの様々なワード線の任意のものへ続く。消去プロセスでは、選択されたワード線に対応するワード線ＷＬC 、および選択されないＷＬA およびＷＬB の双方を使用して、ｃ−ｐウェルの中の電圧が消去電圧、例えば、１７ボルトへ上げられ、線１０７が接地される。トランジスタ１０５のゲートはＶddの高レベルへ設定され、ワード線ＷＬC が接地され、その間に、トランジスタ１０１および１０３の双方は、それらのゲートを接地することによってオフに転換され、ＷＬA およびＷＬB が浮遊のままに残される。これは前述した消去条件を生じる。その場合、選択されない消去ゲートは、ウェルからの容量結合によって電気量を変えられ（例えば、前に援用されている米国特許第５，５４６，３４１号（特許文献５）で説明されているように）、選択された消去ゲートは接地へ強制される。消去プロセスの他の態様は、本願明細書において参照により援用されている２００１年９月１７日に出願された米国特許出願第０９／９５６，２０１号（特許文献６）で説明される。具体的には、米国特許出願第０９／９５６，２０１号（特許文献６）は、選択されないワード線を浮遊させることのできるプロセス、本発明の様々な態様の代替の実施形態へ組み込むことのできるプロセスを説明する。
【００２８】
プログラミング動作の間にフローティングゲート（ＦＧ）の中に電子を蓄積するため、選択されたワード線ＷＬ２はプログラミングパルスＶｐｇｍへ接続され、選択されたビット線ＢＬｅは接地される。他方では、プログラミングが起こるべきでないメモリセル（Ｍ）の上のプログラミングを禁止するため、対応するビット線ＢＬｅは、選択されないビット線ＢＬｏと同じく、電源のＶdd、例えば、３Ｖへ接続される。選択されないワード線ＷＬ０、ＷＬ１、およびＷＬ３は１０Ｖへ接続され、第１の選択ゲート（ＳＧＤ）はＶddへ接続され、第２の選択ゲート（ＳＧＳ）は接地される。その結果、プログラムされているメモリセル（Ｍ）のチャネル電位は０Ｖへ設定される。プログラミング禁止におけるチャネル電位は、ワード線（ＷＬ）との容量結合によって引き上げられているチャネル電位の結果として、約６Ｖへ上げられる。前に説明したように、プログラミングの間、メモリセル（Ｍ）のトンネル酸化膜１４だけに強い電界が印加され、トンネル電流は消去と比較して逆方向にトンネル酸化膜１４を横切って流れ、論理状態は「１１」から他の状態「１０」、「０１」、または「００」の１つへ変更される。
【００２９】
プログラミング動作の間にフローティングゲート（ＦＧ）へ電子を蓄積するためには、選択されたワード線ＷＬ２がプログラミングパルスＶｐｇｍへ接続され、選択されたビット線ＢＬｅが接地される。他方では、プログラミングが起こるべきでないメモリセル（Ｍ）の上でプログラミングを禁止するため、対応するビット線ＢＬｅは、選択されないビット線ＢＬｏと同じく、電源のＶdd、例えば、３Ｖへ接続される。選択されないワード線ＷＬ０、ＷＬ１、およびＷＬ３は１０Ｖへ接続され、第１の選択ゲート（ＳＧＤ）はＶddへ接続され、第２の選択ゲート（ＳＧＳ）は接地される。結果として、プログラムされているメモリセル（Ｍ）のチャネル電位は０Ｖに設定される。プログラミング禁止におけるチャネル電位は約６Ｖへ上げられる。なぜならば、チャネル電位はワード線（ＷＬ）との容量結合によって引き上げられているからである。前に説明したように、プログラミングの間、メモリセル（Ｍ）のトンネル酸化膜１４だけに強い電界が印加され、トンネル電流は消去と比較して逆方向にトンネル酸化膜１４を横切って流れ、論理状態は「１１」から他の状態「１０」、「０１」、または「００」の１つへ変更される。
【００３０】
読み出しおよびベリファイ動作において、選択ゲート（ＳＧＤおよびＳＧＳ）および選択されないワード線（ＷＬ０、ＷＬ１、およびＷＬ３）は、４．５Ｖの読み出し合格（パス）電圧へ上げられ、これらを合格（パス）ゲートにする。選択されたワード線（ＷＬ２）は、各々の読み出しおよびベリファイ動作のために指定された電圧レベルへ接続される。それは、関係するメモリセルのしきい値電圧が、そのようなレベルへ達したかどうかを決定するためである。例えば、ＲＥＡＤ１０動作では、選択されたワード線ＷＬ２が接地されるので、しきい値電圧が０Ｖよりも高いかどうかが検出される。この読み出しの場合、読み出しレベルは０Ｖであると言うことができる。ＶＥＲＩＦＹ０１動作では、選択されたワード線ＷＬ２が２．４Ｖへ接続され、しきい値電圧が２．４Ｖへ達したかどうかがベリファイされる。このベリファイの場合、ベリファイレベルは２．４Ｖと言うことができる。再び、説明されたプロセスの全てについて、引用された電圧レベルは、単に例示的な値である。
【００３１】
選択されたビット線（ＢＬｅ）は、高レベル、例えば、０．７Ｖへ前もって電気量を変えられる。しきい値電圧が読み出しまたはベリファイレベルよりも高ければ、関係するビット線（ＢＬｅ）の電位レベルは、導通しないメモリセル（Ｍ）のために高レベルを維持する。他方では、しきい値電圧が読み出しまたはベリファイレベルよりも低ければ、関係するビット線（ＢＬｅ）の電位レベルは、導通メモリセル（Ｍ）のために低レベル、例えば、０．５Ｖ未満レベルへ減少する。読み出しおよびベリファイ動作のさらなる詳細を以下に説明する。
【００３２】
消去されたセクタの検出メカニズムの例
本発明の主な態様は、誤作動するセルまたは他の問題のためにセクタが低い数（しかし、必ずしもゼロではない）のゼロ・ビットを含み、破壊されたビットの数がＥＣＣ訂正限度よりも下にあるためセクタを依然として使用できるとき、消去されたセクタを即時および正確に検出する手法である。現在までの従来技術のシステムは、そのような場合に耐性がなく、セクタが前に書き込まれて破壊されていると考えて、システムが機能を停止する結果となる。この方法によって、記憶システムは、消去されたセクタのそのような破壊に耐えるようになり、システムがＥＣＣ訂正手段による書き込みデータの中でこの誤りを後で訂正できるならば、そのようなセクタはさらなるデータ記憶に使用できるようになる。さらに、これらの手法は、２００３年１２月３１日に出願された米国特許出願第１０／７５１，０９６号（特許文献７）で説明されるソート消去済セクタ打ち切り検出メカニズムと組み合わせられてよい。
【００３３】
さらに具体的には、本発明は、部分的に消去されたセクタ（主なユーザデータ、およびオーバーヘッドとＥＣＣ領域）を検出する方法を説明する。この方法では、そのようなページが検出されるだけでなく、破壊レベルが数量化されるので、ページがさらなる使用に適しているかどうかを決定できるようになる。セクタデータがコントローラへ転送されたとき、ファームウェアまたはＥＣＣカスタマイズされた回路は、セクタの中、またはセクタが複数の隣接またはインターリーブされた符号語へ分割されるときには全ての符号語の中で、ゼロ・ビット（ＢＣＨについて）、または少なくとも１つのゼロ・ビットを有する記号（リード・ソロモンについて）を検出およびカウントする。こうして、カウンタの値は、セクタの中（またはセクタの全ての符号語の中）で、消去されなかったビットまたは記号の数を含むことになる。これらの値は、消去されたセクタの破壊レベルを示す。例えば、ＢＣＨの場合、カウンタはゼロ・ビットの数をカウントする。その数がＥＣＣ訂正可能限度よりも下であれば、ページはプログラミングに使用可能である。ＥＣＣ方法が４ビットの訂正を許すならば、１つまたは２つの故障ビットを有する消去されたセクタを使用することは全く安全である。
【００３４】
例示的な実施形態は、ガロア体の特性およびそれを使用するＥＣＣアルゴリズムに基づく。例えば、ＢＣＨおよびリード・ソロモン方法は、ゼロ・データについてゼロＥＣＣアルゴリズムを生成する。なぜならば、オール・ゼロの符号語は有効な符号語だからである。他の、より複雑な誤り訂正方法には、類似の戦略を使用することができる。以下の説明は、さらに、多くの場合、データセクタの単位を参照する。なぜならば、これはＥＣＣ符号語が計算される共通の単位だからである。しかし、より一般的には、他のデータ単位について、説明された手法を容易に実行してよい。
【００３５】
図７は、ＥＣＣアルゴリズムを使用して、消去されたページ（オールＦＦ）の検出を助ける本発明の第１の例示的な実施形態を示す。セクタがオールＦＦを含まず、誤り訂正アルゴリズムによってデータを訂正できなければ、手法は、セクタが消去された（オールＦＦ）セクタであったが幾つかのビットが故障（０）していると仮定し、他の試みを行ってセクタデータを訂正する。セクタデータは、「消去」されたセクタデータを有効な符号語にするため、最初に反転される。反転および消去されたセクタ（ＥＣＣフィールドを含む）は有効な符号語であるオール０を有する。なぜならば、ゼロ・データはゼロのＥＣＣを生成するからである。その結果、幾つかの（ＥＣＣ限度内で）ビットが高であれば、システムが普通に使用した同じ誤り訂正ルーチンによって、それらのビットを訂正することができる。
【００３６】
第１の段階７１０は、初期データ誤り検出および訂正動作である。この動作には、セクタが消去されたかどうかの初期検査が含まれる。第１の段階７１０の次に、消去されたセクタの検出方法が実行される第２の段階７５０が続く。初期段階７１０は任意的であり、スキップされてよい。なぜならば、それがなくても消去されたページを検出できるからである。しかし、この初期段階を含めることが好ましい。なぜならば、それはページが消去されたか（破壊を伴わないで）、または有効なデータを含むかの初期検査を提供するからである。
【００３７】
プロセスは７０１で開始し、初期検査がステップ７１１で実行されて、破壊を伴わないでページが消去された（オールＦＦ）かどうかが調べられる。そうであれば、プロセスはステップ７６３へ直接進んで終了する。そうでなければ、プロセスはステップ７１３へ続き、正しくて消去されなかったデータをページが含むかどうかが検査される。代替として、段階７５０へ移動する前に、ステップ７１９の後にステップ７１１の検査を置くことができる。
【００３８】
ステップ７１３は、有効で消去されなかったデータをページが含むかどうかを決定する（７１５）。含まなければ、プロセスは継続してデータ訂正動作が実行される（７１７）。これが訂正されたデータを生じるならば、プロセスは終了する（７２１）。なぜならば、訂正されたデータはＥＣＣを使用して抽出されたからである。データを訂正できなければ、誤り訂正段階が開始する。その段階では、そのセクションが消去され、主にＦＦを含むものと仮定される。
【００３９】
プロセスは段階７５０へ移動して、消去されたが破壊されたデータをページが含むかどうかが決定される。これはステップ７５１で開始し、ＥＣＣフィールドを含むセクタデータの全てを反転する。反転および消去されたページは、所与のＥＣＣアルゴリズムのために有効な符号語である。ステップ７５３は、あたかもＥＣＣブロックによって生成されたかのように、新しい誤り訂正シンドロームを生成する。１バイトのシンドロームを有するセクタ当たり４符号語の１つの非常に特殊な例では、全ての４つの部分符号語のために、データバイト０〜１２８および１２９を使用して最初のバイトを生成することができ、データバイト０〜１２８および１３０を使用して第２のバイトを生成することができ、データバイト０〜１２８および１３１を使用して第３のバイトを生成することができる。符号語の数およびサイズのさらに一般的な場合は、容易に続く。この新しいシンドロームを使用して、訂正動作が新しいシンドロームを使用して反転データの上で実行される。プロセスが成功しなければ（７５７〜７５９）、セクタは訂正できない量の誤りを有すると決定される。データが訂正されたならば（７５７〜７６１）、データが０だけで構成されるかどうかがステップ７６１で検査される。構成されなければ（７６１〜７５９）、再び訂正できない誤りが存在し、段階７５０へ進んだ初期の仮定が間違っていた可能性がある。セクタの誤りは、可能性として、訂正するにはあまりに重大で、誤りは適正に訂正されなかった。セクタがステップ７６１でオール０を含むならば、消去されたセクタであるが処理可能な破壊量を有するセクタが発見された（７６３）。
【００４０】
図７の様々なステップ、およびこれからの図に関して説明される実施形態は、ハードウェアまたはファームウェア／ソフトウェアで実現可能である。幾つかのステップは、他の形態よりも１つの形態で容易に実現される。例えば、ステップ７１１（データを検査して、それがオールＦＦであるかどうかを調べる）は、メモリバス上の受信データを検査することによって、ハードウェアでかなり簡単に検査可能である。ステップ７６１（データバッファ内のオール０を検査する）の実行は、比較的頻度が少なく、ファームウェアで達成可能である。
【００４１】
ステップ７１１のハードウェアが、データ内のゼロ・ビットの数をカウントできるならば、ステップ７６１はスキップされてよい。なぜならば、システムは、ゼロ・ビットの初期の数および誤り訂正によって変えられた１ビットの数を知るだけでよいからである。これらが等しければ、ページはオール・ゼロを有する。これは、訂正中にビットを変えるＢＣＨベースの符号について容易に実現される。記号を訂正するリード・ソロモンでは、カウントは非ＦＦ記号である。いずれの場合にも、これは、好ましくは、各々の符号語について行われる。（以下で説明されるように、これは図９のステップ７７１で行われることとほとんど同じである。）
【００４２】
図７の実施形態は、消去されたページの破壊レベルを数量化しないＥＣＣ検査方法を使用する。この場合、消去されたページの中で許されるゼロ・ビット（Ｚ）の数は、使用されているＥＣＣ方法に基づいて固定される。例えば、ＢＣＨが使用されるならば、消去されたページをオールＦＦ状態へ訂正できるための消去済ビットの最大数Ｚは（故障が均一に分散されていれば）、Ｚ＝（符号語当たりの訂正可能なビットの最大数）ｘ（セクタ（または他のデータ単位）当たりの符号語の数）となる。リード・ソロモンでは、対応する式は、Ｚ＝（符号語当たりの訂正可能な記号の数）ｘ（記号当たりのビット）ｘ（セクタ（または他のデータ単位）当たりの符号語）となる。実用的な実現において、受け入れ規準は、各々の符号語の中の消去されないビット（ＢＣＨ）または記号（リード・ソロモン）の或る許容数Ｚを超えないとすることができる。ここで、この実施形態におけるＺは、訂正可能なビットまたは記号の数に等しい。図８および図９で示されている実施形態は、消去されたページの破壊レベルの数量化を可能にする。
【００４３】
図８に示されている実施形態は、前述した方法に基づくＥＣＣ検査を含むが、消去されたページの破壊レベルの数量化を含む。消去されたページの中の許容ゼロ・ビット（Ｚ）の数は、ＥＣＣアルゴリズムによって識別される。例えば、ＢＣＨは、それが訂正できるビット誤り数を与え、リード・ソロモンは、訂正可能なマルチビット記号の数を与える。この場合、破壊レベルは、破壊された記号の数に基づいて受け入れ可能として検出される。セクタが、１つより多い符号語から構成されるならば、セクタの良好度は、最悪最大破壊度の符号語によって定められてよい。
【００４４】
図７の実施形態に対して、図８の新しい要素は、誤り検出ルーチン７５０の部分段階７７０に見出される。この実施形態は、反転データのために新しいシンドロームを生成するステップ７５３の直後にこの部分段階７７０を置く。図８の他のステップ（段階７１０をスキップする選択肢およびステップ７１１の配置を含む）は、図７に関して前述したことと基本的に同じと考えてよい。しかし、消去ページパターンがオール０に対応する場合、ステップ７５１の反転は、後続する破壊レベルの数量化の前に必要でない。（より一般的には、消去されたページが、反転されたときにのみ、有効な符号語を生成するならば、反転ステップを含めるべきである。）
【００４５】
ステップ７７１は、前述したように、破壊レベルを数量化する。この実施形態では、訂正されたページが、消去されたかどうかを決定するために、ステップ７５７が使用される。なぜならば、ステップ７７１が、最も近い有効な符号語に対して誤り量を数量化するからである。最も近い有効な符号語はオール・ゼロであってよいが、任意の他の符号語であってもよい。
【００４６】
ステップ７７３は、レベルが、受け入れ可能な限度内であるかどうかを決定する。受け入れ可能な限度内でなければ、誤りは訂正できないほどに高と考えられ、ルーチンはデータの訂正を試みることなく７５９へ直接進む。レベルが受け入れ可能と決定されるならば、プロセスはステップ７５５へ進み、図７と同じように継続できるが、消去されたセクタが発見されるならば、終りの結果はステップ７６３で破壊レベルを含むことが異なる。この実施形態で、７６３がステップ７１１から直接到達されるならば、破壊レベルは含まれないことに留意すべきである。
【００４７】
図８の変形例として、ステップ７７１をステップ７５５の一部分にすることができる。この方法では、訂正が完了するときに破壊の数量化が完了し、したがって組み合わせられた結果は、訂正されたビットまたは記号の数である。ステップ７７１および７５５が組み合わせられるならば、ステップ７７３は、組み合わせられたステップ７７１／７５５の後に置かれる。
【００４８】
図９は、消去されたページの破壊レベルの数量化を含む第２の例示的な実施形態である。図９のルーチンは、異なる段階７５０へ進む前に、他の実施形態で前述した任意的初期段階７１０で再び始まる。図９は、消去されたページの破壊レベルの数量化を再び含み、これは図８で示したものと類似しているが、ＥＣＣ検査に基づく方法なしに達成可能である。その代わりに、消去されたページの中の許容ゼロ・ビット（Ｚ）の数は、例えば、ゼロ・ビット（ＢＣＨ）または非オール・ゼロ記号（リード・ソロモン）をカウントすることによって識別される。
【００４９】
図９のプロセスは、前述した実施形態と同じように、任意的な段階７１０から再び始まる。前と同じように、ステップ７１１は段階７１０の始まりまたは終わりに置かれてよい。ステップ７１１が、データ内のゼロ・ビットの数をカウントできるハードウェアによって実行されるならば、後のステップ７６１はスキップされてよい。なぜならば、システムは、ゼロ・ビットの初期の数および誤り訂正によって変えられた１ビットの数を知るだけでよいからである。これらのビット数が等しければ、ページはオール・ゼロを有する。これは、訂正中にビットを変えるＢＣＨベースの符号について容易に実現される。記号を訂正するリード・ソロモンにおいて、カウントは非ＦＦ記号のカウントである。いずれの場合にも、これは、好ましくは、各々の符号語について行われる。
【００５０】
図９の実施形態において、ＥＣＣアルゴリズム自身は使用されないが、ＥＣＣアルゴリズム特性に関する知識のみが使用される。カウントは、ハードウェア（コントローラまたはメモリの中で）またはファームウェアによって再び行われてよい。結果として、図８のステップ７５１および７５３の必要なしに、図９のステップ７７１で破壊レベルが数量化される。一度、破壊レベルがステップ７７１で数量化されると、その受け入れ可能度は、前と同じようにステップ７７３で決定される。レベルが受け入れ可能な限度を超過するならば、データは訂正できない誤り量を有するものと考えられる（７５９）。
【００５１】
ステップ７７１は、消去されたセクタのパターンに対して正しくないビットまたは記号の数を既に決定したので、この誤り量がステップ７７３で受け入れ可能と決定されるならば、それをオール０へ直接訂正することができる。その結果、図８のステップ７５５および７５７は冗長となり、フローチャートから取り除かれるのと同時に、ステップ７６１は、ここでは訂正された値へデータを設定するステップとなる。図８とは異なり、訂正されたページが消去されたかどうかを決定するステップ７５７は必要とされない。
【００５２】
これまでの説明は、消去されたセクタの検出を基礎にしている。その場合、消去されることはオールＦＦのパターンに対応し、ＥＣＣはリード・ソロモンまたはＢＣＨアルゴリズムに基づいている。前述したように、これらの方法は、当業者に明らかであるように他のＥＣＣアルゴリズムへ拡張可能である。さらに、他の種類のメモリで起こるかも知れない他のデータパターン、例えば、オール０から構成される消去済ページを検出するために、これらの手法を応用できることも明らかである。
【００５３】
他のメモリ形に関して、前述したように、本発明は、例示的な実施形態のＮＡＮＤ形フラッシュメモリへ応用できるだけでなく、他の構造およびメモリ技術、例えば、本願明細書において参照により援用されている２００４年５月７日に出願された米国特許出願第１０／８４１，３７９号（特許文献８）で説明されるものへ応用することができる。例えば、他のＥＥＰＲＯＭまたは電荷蓄積セル、例えば、ウェル消去を有するＮＯＲ形フラッシュメモリに有用である。それは、同様に、記憶素子がフローティングゲートトランジスタでない場合、例えば、本願明細書において参照により援用されている２００２年１０月２５日に出願されたエリヤホウ・ハラリ、ジョージ・サマチサ、ジャック・エイチ・ユアン、およびダニエル・シー・グッターマンによる「誘電体記憶素子を用いる多状態不揮発性集積回路メモリシステム」という米国特許出願（特許文献９）で説明される種類の誘電体記憶素子へ拡張可能である。これまでの説明は、メモリデバイスとして、電荷蓄積デバイス、例えば、フローティングゲートＥＥＰＲＯＭまたはフラッシュセルを使用する実施形態に焦点を当てたが、他の実施形態、例えば、ＮＲＯＭおよびＭＮＯＳセル、例えば、エイタンの米国特許第５，７６８，１９２号（特許文献１０）およびサトウらの米国特許第４，６３０，０８６号（特許文献１１）でそれぞれ説明されるもの、または磁気ＲＡＭおよびＦＲＡＭセル、例えば、ギャラガーらの米国特許第５，９９１，１９３号（特許文献１２）およびシミズらの米国特許第５，８９２，７０６号（特許文献１３）でそれぞれ説明されるものに説明を当てはめ、使用することができる。これらの特許の全ては、本願明細書において参照により援用されている。
【００５４】
本発明の様々な態様を特定の実施形態に関して説明してきたが、本発明は添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
【図面の簡単な説明】
【００５５】
【図１】本発明の様々な態様の実現が説明される不揮発性メモリシステムのブロック図である。
【図２】図１のメモリアレイがＮＡＮＤ形であるときの既存の回路および組織を示す。
【図３】半導体基板の上に形成されたＮＡＮＤ形メモリアレイの列に沿った断面図を示す。
【図４】図３の断面４−４で取られたメモリアレイの断面図である。
【図５】図３の断面５−５で取られたメモリアレイの断面図である。
【図６】消去メカニズムのための配列を示す。
【図７】破壊レベルを考慮する消去済ページ検出メカニズムの第１の実施形態のフローチャートである。
【図８】破壊レベルの数量化を考慮する消去済ページ検出メカニズムの第２の実施形態のフローチャートである。
【図９】破壊レベルの数量化を考慮する消去済ページ検出メカニズムの第３の実施形態のフローチャートである。
【図１】
2008525937.tif 000003
【図２】
2008525937.tif 000004
【図３】
2008525937.tif 000005
【図４】
2008525937.tif 000006
【図５】
2008525937.tif 000007
【図６】
2008525937.tif 000008
【図７】
2008525937.tif 000009
【図８】
2008525937.tif 000010
【図９】
2008525937.tif 000011
【国際調査報告】
2008525937.tif 000012
2008525937.tif 000013