(57)【要約】本発明は、不揮発性メモリのプログラミングおよび消去中に電源が遮断された場合に、システム性能への最小限の犠牲で書き込みおよび消去失敗検出のための信頼することができる機構を保証する不揮発性メモリおよびその動作方法を提供する。複数セクタ書き込み処理中、後続するセクタのデータコンテンツが書き込まれると同時に、１つのセクタが正常に書き込まれたことを示す表示が後続するセクタのオーバーヘッドに書き込まれる。書き込まれた最後のセクタには付加的に、それ自体の正常な書き込まれたことを示す表示がそのセクタのオーバーヘッドに書き込まれる。消去の場合、正常な消去動作の後にブロックの第１のセクタ内の消去失敗フラグがマークされてもよい。
2007520801.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ記憶領域を備える不揮発性メモリにおいて、各データ記憶領域は、
ユーザデータ部と、
オーバーヘッドデータ部であって、各データ記憶領域のオーバーヘッドデータ部は別の１つのデータ記憶領域が適正に書き込まれたことを示す第１のフラグを含むオーバーヘッドデータ部と、
を備える不揮発性メモリ。
【請求項２】
前記各データ記憶領域のオーバーヘッド部は、そのデータ記憶領域自体が適正に書き込まれたことを示す第２のフラグをさらに含む請求項１記載の不揮発性メモリ。
【請求項３】
前記データ記憶領域は、それぞれデータセクタに対応する請求項１記載の不揮発性メモリ。
【請求項４】
前記データ記憶領域は複数の消去ユニットに編成され、各消去ユニット内の所定のデータ記憶ユニットのオーバーヘッドデータ部は、所定のデータ記憶ユニットが属する消去ユニットが消去動作を完了したことを示す第３のフラグをさらに含む請求項１記載の不揮発性メモリ。
【請求項５】
前記データ記憶領域は複数の消去ユニットに編成され、各ブロックは、そのオーバーヘッドデータ部が前記第２のフラグを有し、かつ前記第１のフラグを有していない追加のデータ記憶領域をさらに含む請求項１記載の不揮発性メモリ。
【請求項６】
前記第１のフラグを有していない前記各データ記憶領域のオーバーヘッドデータ部は、前記第１のフラグを有していない前記データ記憶領域が属する前記消去ユニットが消去動作を完了したことを示す第３のフラグを含む請求項５記載の不揮発性メモリ。
【請求項７】
前記データ記憶領域は所定のシーケンスに従って書き込まれ、前記別の１つのデータ記憶領域はシーケンスにおいて先行するデータ記憶領域であり、前記第１のフラグを有していない前記データ記憶領域は、それらが属するそれぞれのブロック内の前記シーケンスにおける第１のデータ記憶領域である請求項６記載の不揮発性メモリ。
【請求項８】
前記第１のフラグは、それぞれ複数ビットからなる請求項１記載の不揮発性メモリ。
【請求項９】
前記データ記憶領域は所定のシーケンスに従って書き込まれ、前記別の１つのデータ記憶領域はシーケンスにおいて先行するデータ記憶領域である請求項１記載の不揮発性メモリ。
【請求項１０】
前記第１のフラグとユーザデータ部のコンテンツは、誤り訂正符号（ＥＣＣ）によって保護される請求項１記載の不揮発性メモリ。
【請求項１１】
複数のデータ記憶領域を備える不揮発性メモリにおいて、各データ記憶領域は、
ユーザデータ部と、
オーバーヘッドデータ部と、を備え、
前記データ記憶領域は複数の消去ユニットに編成され、各消去ユニット内の所定のデータ記憶ユニットのオーバーヘッドデータ部は、前記所定のデータ記憶ユニットが属する消去ユニットが消去動作を完了したことを示すフラグをさらに含む不揮発性メモリ。
【請求項１２】
前記フラグは、複数ビットからなる請求項１１記載の不揮発性メモリ。
【請求項１３】
メモリにおいて、
複数のデータ記憶領域を備える不揮発性メモリと、
データをメモリに読み込みかつ書き込むためのコントローラであって、２つまたはそれ以上の前記データ記憶領域へのデータの順次書き込み処理中に、第１のデータ記憶領域に続く各データ記憶領域ごとに、先行するデータ記憶領域の書き込みを示す表示が前記書き込み処理の一部として現行のデータ記憶領域に書き込まれるコントローラと、
を備えるメモリ。
【請求項１４】
順次処理の最後のデータ記憶領域について、順次書き込み処理中に、最後のデータ記憶領域の書き込みを示す表示が最後のデータ記憶領域に書き込まれる請求項１３記載のメモリ。
【請求項１５】
前記各データ記憶領域はデータ部とオーバーヘッド部とを含み、前記表示はオーバーヘッド部に書き込まれる請求項１４記載のメモリ。
【請求項１６】
不揮発性メモリの動作方法において、
ユーザデータを含む第１のコンテンツを第１のデータ記憶領域にプログラムするステップと、
第１のコンテンツが第１のデータ記憶領域に適正にプログラムされたことを検証するステップと、
引き続いて、ユーザデータを含む第２のコンテンツを第２のデータ記憶領域にプログラムするステップと、
前記第２のコンテンツをプログラムするステップと同時に、第１のデータ記憶領域が適正にプログラムされたことを示す表示を前記第２のデータ記憶領域に書き込むステップと、
を含む方法。
【請求項１７】
前記第２のコンテンツをプログラムするステップに引き続いて、前記第２のコンテンツが前記第２のデータ記憶領域に適正にプログラムされたことを検証するステップと、
引き続いて、前記第２のデータ記憶領域が適正にプログラムされたことを示す表示を前記第２のデータ記憶領域に書き込むステップと、
をさらに含む請求項１６記載の方法。
【請求項１８】
前記データ記憶領域は、所定の順序で書き込まれる請求項１６記載の方法。
【請求項１９】
前記データ記憶領域が消去ユニットにグループ化され、前記方法は、
前記第２のコンテンツをプログラムするステップに引き続いて、前記第２のコンテンツが前記第１のデータ記憶領域に適正にプログラムされたことを検証するステップと、
前記第２のデータ記憶領域が、前記第２のデータ記憶領域が属する前記消去ユニットに所定の順序で書き込まれた最後のデータ記憶領域である場合は、引き続いて前記第２のデータ記憶領域が適正にプログラムされたことを示す表示を前記第２のデータ記憶領域に書き込むステップと、
をさらに含む請求項１８記載の方法。
【請求項２０】
前記第２のコンテンツと第１のデータ記憶領域が適正にプログラムされたことを示す表示とは、誤り訂正符号（ＥＣＣ）によって保護される請求項１６記載の方法。
【請求項２１】
順次書き込まれる複数のセクタが適正にプログラムされたか否かを判定する方法において、
シーケンスにおける最初のセクタ以外の全てのセクタが適正にプログラムされたか否かを、後続するセクタのコンテンツに基づいて判定するステップと、
適正にプログラムされていないと表示された第１のセクタを、その後のセクタのコンテンツに基づいて発見するステップと、
前記第１のセクタ自体のコンテンツに基づいて、前記第１のセクタが適正にプログラムされたか否かを判定するステップと、
を含む方法。
【請求項２２】
後続するセクタの前記コンテンツは、先行するセクタが適正にプログラムされたか否かを表示するフラグを含む請求項２１記載の方法。
【請求項２３】
先行するセクタが適正にプログラムされたことを表示する前記フラグは、複数ビットからなる請求項２２記載の方法。
【請求項２４】
先行するセクタが適正にプログラムされたことを表示する前記フラグは、誤り訂正符号（ＥＣＣ）によって保護される請求項２２記載の方法。
【請求項２５】
前記第１のセクタ自体の前記コンテンツは、前記第１のセクタが適正にプログラムされたことを表示するフラグを含む請求項２１記載の方法。
【請求項２６】
前記第１のセクタが適正にプログラムされたことを表示する前記フラグは、複数ビットからなる請求項２５記載の方法。
【請求項２７】
不揮発性メモリの動作方法において、
不揮発性メモリのブロックのデータコンテンツを消去するステップであって、前記ブロックは、各々がデータ部とオーバーヘッド部とを有する複数のセクタを備えるステップと、
ブロックが正常に消去されたことを検証するステップと、
ブロックが適正に正常に消去されたことを示す表示を、指定されたセクタのうちの１つのセクタのオーバーヘッド部に書き込むステップと、
を含む方法。
【請求項２８】
前記表示は、フラグを含む請求項２７記載の方法。
【請求項２９】
前記フラグは、複数ビットからなる請求項２８記載の方法。
【請求項３０】
各々がデータ部とオーバーヘッド部とを有する複数のセクタを有する不揮発性メモリの動作方法において、
少なくとも第１のセクタのデータコンテンツを変更するステップと、
引き続いて、前記少なくとも第１のセクタのデータコンテンツを変更するステップが正常に完了したことを検証するステップと、
引き続いて、前記少なくとも第１のセクタのデータコンテンツを変更するステップが正常に完了したことを示す表示を第２のセクタのオーバーヘッド部に記録するステップと、
を含む方法。
【請求項３１】
前記データコンテンツを変更するステップは、プログラミング動作である請求項３０記載の方法。
【請求項３２】
前記第１および第２のセクタは同じブロックに属し、前記データコンテンツを変更するステップは消去動作である請求項３０記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に不揮発性メモリとその動作に関し、特に失敗した書き込みおよび消去動作の判定に関する。
【背景技術】
【０００２】
フラッシュＥＥＰＲＯＭデバイスの一般的な用途は、電子デバイス用の大容量データ記憶サブシステムとしてである。このようなサブシステムは一般に、複数のホストシステムに挿入可能な出し入れ自在のメモリカードとして、或いはホストシステム内に取り外し不能に内蔵された記憶装置として実装される。双方の実装例とも、サブシステムは１つまたは複数のフラッシュデバイス、また多くの場合サブシステムコントローラを含む。
【０００３】
フラッシュＥＥＰＲＯＭデバイスは１つまたは複数のトランジスタセルアレイから構成され、各セルは１ビットまたは複数のビットのデータの不揮発性記憶が可能である。このように、フラッシュメモリはプログラムされたデータを保持するために電力を必要としない。しかし、一旦プログラムされると、セルは新規のデータ値を再プログラムしうる前に消去されなければならない。これらのセルアレイは読み出し機能、プログラミング機能、および消去機能を効率よく実施するためにグループに区分される。大容量記憶用の代表的なフラッシュメモリ構成は大きなセル群を消去可能なブロックへと配列し、ブロックは一度で消去可能な最小数のセル（消去ユニット）を含む。
【０００４】
商用の一形態では、各ブロックは、ユーザデータの１つのセクタに加えてユーザデータおよび／またはそれが記憶されているブロックに関連する何らかのオーバーヘッドデータを記憶するのに充分なセルを含む。セクタ内に含まれるユーザデータ量は、１つのクラスのこのようなメモリシステムでは標準的な５１２バイトであるが、別のサイズであってもよい。個々に消去可能にするために必要な個々のセルブロックの相互の絶縁は集積回路チップにスペースを取るので、別のクラスのフラッシュメモリはブロックを大幅に大きくするため、このような絶縁に必要なスペースは少なくなる。しかし、大幅に小さいセクタ内のユーザデータを処理することも望まれるので、各々の大きなブロックは、ユーザデータを読み出し、かつプログラムするための基本ユニットである個々にアドレス指定可能なページへとさらに区分されることが多い。各ページは通常、１つのユーザデータセクタを記憶するが、ページは部分セクタまたは複数のセクタを記憶することもある。本願明細書において、“セクタ”とは、ホストへおよびホストからユニットとして伝送されるユーザデータ量を意味する。
【０００５】
大ブロックシステム内のサブシステムコントローラは、メモリサブシステムによってホストから受信される論理アドレスと、メモリセルアレイ内の物理的アドレスとの間の変換を含む幾つかの機能を実行する。この変換機能は、論理ブロック番号（ＬＢＮ）および論理ページ用に中間項の使用を含むことが多い。コントローラは、インターフェイスバスを介してフラッシュメモリデバイスに発する一連のコマンドによって、低レベルのフラッシュ回路動作をも管理する。コントローラが実行する別の機能は、例えば誤り訂正符号（ＥＣＣ）の利用などの様々な手段でサブシステムに記憶されたデータの完全性を保持することである。
【０００６】
このようなメモリ回路の動作中に停電した場合、例えばメモリカードがホストから取り出されるか、或いは集積メモリを有するデバイスから電源が遮断された場合に、メモリが書き込み動作または消去動作の途中となりうるため、その結果、動作が不完全になることがある。例えば、書き込み中のグループ内の全部ではないがほとんどのセルがその目標状態に達しているプログラミング処理中にメモリシステムから電源が遮断されると、書き込みグループは多数のエラーを含むことがある。この分野ではよく知られているように、データエラーを判定し、修正するためにメモリシステムに誤り訂正符号（ＥＣＣ）を組み込むことは一般的である。プログラミング動作の完了前の停電によって、書き込みグループは、中断された書き込みグループを読み出す際に以下の３つの状態になることがある。すなわち、（１）ＥＣＣによる修正が可能である状態、（２）ＥＣＣによる修正が不能である状態、および（３）ＥＣＣの検出ミスが発生する可能性である。第１の場合では、エラーの範囲は誤り訂正符号が充分にデータを回収することができるほど小さい。第２の場合では、データは正しくないが、システムがその状態を判定する。第３の場合では、これもデータは正しくないが、ＥＣＣの検出ミスによりシステムはその状態を認識しない。
【０００７】
この最後の場合、すなわちＥＣＣの検出ミスは、例えば、ＥＣＣが、例えば最大４ビットエラーまで修正する容量を有しているが、書き込みグループに７ビットのデータが不適正に書き込まれた場合に発生することがある。その場合、システムは不適正に書き込まれたデータを認識せず、書き込みグループ内のエラーをいずれも修正したかのように動作するが、データは依然として不正である。消去処理中に電源が遮断された場合も同様の状態が発生することがある。これらのシナリオによってＥＣＣの書き込みおよび消去失敗検出は完全なものとは程遠くなり、データが適正に入力されたか否かを知ることが重要なミッションクリティカル状況では特に問題である。したがって、メモリシステムのこの態様には改良の余地がある。
【特許文献１】米国特許第６，５２２，５８０号
【特許文献２】米国特許出願第１０／０８６，４９５号
【特許文献３】米国特許第６，２８２，１３０号
【特許文献４】米国特許第５，５４６，３４１号
【特許文献５】米国特許出願第０９／９５６，２０１号
【特許文献６】米国特許第５，４１８，７５２号
【特許文献７】国際公開特許第ＷＯ０３／０２７８２８号
【特許文献８】米国公開特許出願第２００３／００６５８９９号
【特許文献９】２００２年１０月２５日に出願されたエリヤホウ・ハラリ、ジョージ・サマチサ、ジャック・エイチ・ユアンおよびダニエル・シー・グッターマンによる「誘電記憶素子を使用する不揮発性集積回路メモリシステム」という米国特許出願
【特許文献１０】米国特許第５，７６８，１９２号
【特許文献１１】米国特許第４，６３０，０８６号
【特許文献１２】米国特許第５，９９１，１９３号
【特許文献１３】米国特許第５，８９２，７０６号
【発明の開示】
【０００８】
本発明は、第１の態様によると、不揮発性メモリのプログラミングおよび消去中に電源が遮断された場合に、システム性能への最小限の犠牲で書き込みおよび消去失敗検出のための信頼することができる機構を保証する不揮発性メモリおよびその動作方法を提供する。１つの例示的な実施形態では、性能に対する影響を最小限にして書き込み失敗エラーの確実な検出を保証するために、新規の書き込み失敗検出機構が導入される。このアルゴリズムはセクタのオーバーヘッド情報に先行するセクタ状態フラグ（ＰＳＳ）と、最後のセクタ状態フラグ（ＬＳＳ）とを含み、この場合、先行するセクタ状態フラグ（ＰＳＳ）はＥＣＣによって保護されてもよい。
【０００９】
データをセクタ０にプログラムした後、ブロック内のセクタ０からｘに書き込む複数セクタ書き込み処理において、アルゴリズムはセクタ１にデータと共にセクタ１のＰＳＳを書き込んで、セクタ０がプログラミングを完了し、書き込みの失敗が生じなかったことを示す。セクタ１がプログラムされた後、アルゴリズムはセクタ２にデータと共にセクタ２のＰＳＳを書き込んで、セクタ１がプログラミングを完了し、書き込みの失敗が生じなかったことを示す。最後のセクタがプログラムされるまで以下同様である。最後のセクタが書き込みの失敗なくプログラミングを完了したことを示すために、最後のセクタのＬＳＳが書き込まれる。したがって、書き込み失敗検出を確実にするために、ホストプログラミングコマンド内の最後のセクタだけが２回のプログラミング動作を必要とする。
【００１０】
本発明の別の態様では、この機構は、セクタがブロック内の最後にプログラムされたセクタ、またはブロックの最後の物理セクタである場合は、次の物理セクタのＰＳＳおよび現行のセクタのＬＳＳを探索することによって書き込み失敗エラーの検出を確実なものにする。
【００１１】
本発明のさらに別の態様では、正常な消去動作の後、ブロックの第１のセクタ内の消去失敗フラグ（ＥＡＦ）がマークされてもよい。これらのフラグを用いて、システムは次の電源を投入した際の次の初期化中に書き込みの失敗または消去の失敗を正常に検出することができる。書き込み失敗検出方式は多状態メモリ用に特に有効である。（１）多状態システムを処理するハードウエアを設計するのは、長いプログラミング時間を要するのでより困難でコストがかかる。また、（２）多状態システムでは全ての単一セクタで２回プログラムしないことで得られる性能は、これも長いプログラミング時間を要するので大幅に高まる。
【００１２】
本発明の追加の態様、特徴および利点は、添付図面を参照しながら読むことが望ましい例示的な実施形態の以下の説明に含まれる。
【発明を実施するための最良の形態】
【００１３】
不揮発性メモリシステムの実施例
特定の実施例を提示するために図１〜７を参照して、本発明の様々な態様が実施される特定の不揮発性メモリシステムを説明する。消去処理における外乱の量を減らすために、本発明は選択されない記憶素子のコントロールゲートを基底のウエル構造と同じ電圧レベルに保つ。例示的な実施形態では、記憶素子はウエル構造の上に形成されている。消去処理中、ウエル上方の選択された記憶素子と選択されない記憶素子の双方とも、ウエル内にその電圧レベルを確立すると同時に消去電圧まで上昇される。次に、この電圧はウエルと選択されない記憶素子で保持されることによって、消去に関連するいかなる外乱の機会を減らす一方、選択された記憶素子は放電可能にされて必要な消去条件を作り出す。さらに、これは回路のピッチ領域を増やしたり、或いはメモリアレイ内に新たなワイヤを補足したりせずに達成することができ、その結果、回路に追加される付加的な周辺領域は最小限となる。
【００１４】
一般化についてはさらに後述するが、特定の例として本発明をＮＡＮＤ形のＥＥＰＲＯＭフラッシュメモリについて説明する。特に、本願明細書の説明は、米国特許第６，５２２，５８０号（特許文献１）に記載されている種類のシステム、および前に参照により援用されているＮＡＮＤシステムに関連する他の応用を用いている。以下で特定の電圧が必要な場合、設計に応じて他の値を用いることもできるが、消去電圧Ｖerase を１５〜２０ボルトの範囲とし、低い論理レベルを接地にし、高い論理レベルＶddを１．５〜３ボルトの範囲とする。
【００１５】
図１は、フラッシュメモリシステムのブロック図である。マトリクスに配置された複数の記憶ユニットＭを含むメモリセルアレイ１は、列制御回路２、行制御回路３、ｃ−ソース制御回路４、およびｃ−ｐウエル制御回路５によって制御される。メモリセル（Ｍ）に記憶されたデータを読み出し、プログラミング動作中のメモリセル（Ｍ）の状態を判定し、プログラミングを促進し、或いはプログラミングを抑制するようにビットライン（ＢＬ）の電位レベルを制御するために、列制御回路２はメモリセルアレイ１のビットライン（ＢＬ）に接続されている。ワードライン（ＷＬ）の１つを選択し、読み出し電圧を印加し、列制御回路２によって制御されるビットラインの電位レベルと組み合わせてプログラミング電圧を印加し、かつメモリセル（Ｍ）が形成されているＰ形領域（図３に“ｃ−ｐ−ウエル”１１と表記されている）の電圧と結合して消去電圧を印加するように、行制御回路３はワードライン（ＷＬ）に接続されている。ｃ−ソース制御回路４はメモリセル（Ｍ）に接続された共通ソースライン（図２に“ｃ−ソース”と表記されている）を制御する。ｃ−ｐウエル制御回路５はｃ−ｐウエルの電圧を制御する。
【００１６】
メモリセル（Ｍ）に記憶されたデータは列制御回路２によって読み出され、Ｉ／Ｏラインおよびデータ入出力バッファ６を経て外部Ｉ／Ｏラインに出力される。メモリセルに記憶されるべきプログラミングデータは、外部Ｉ／Ｏラインを経てデータ入出力バッファ６に入力され、列制御回路２に伝送される。外部Ｉ／Ｏラインはコントローラ２０に接続されている。フラッシュメモリデバイスを制御するためのコマンドデータは、コントローラ２０に接続された外部コントロールラインに接続されているコマンドインターフェイスに入力される。コマンドデータはフラッシュメモリにどの動作が要求されているかを通知する。入力コマンドは、列制御回路２、行制御回路３、ｃ−ソース制御回路４、ｃ−ｐ−ウエル制御回路５、およびデータ入出力バッファ６を制御する状態マシーン８に伝送される。状態マシーン８はＲＥＡＤＹ／ＢＵＳＹ（レディー／ビジー）またはＰＡＳＳ／ＦＡＩＬ（パス／フェイル）などのフラッシュメモリの状態データを出力することができる。
【００１７】
コントローラ２０は、パーソナルコンピュータ、デジタルカメラまたは携帯情報端末などのホストシステムに接続されるか、或いは接続可能である。ホストは、メモリアレイ１にデータを記憶したり、或いはメモリアレイ１から読み出すなどのコマンドを起動し、このようなデータをそれぞれ供給または受信する。コントローラはこのようなコマンドをコマンド回路７による解釈および実行可能なコマンド信号へと変換する。さらに、コントローラは典型的に、メモリアレイに書き込まれるか、或いはメモリアレイから読み出されるユーザデータ用のバッファメモリも含む。典型的なメモリシステムは、コントローラ２０を含む集積回路チップ２１と、メモリアレイおよび関連する制御回路、入出力回路および状態マシーン回路を各々含む１つまたは複数の集積回路チップとを備えている。もちろんシステムのメモリアレイとコントローラ回路とを共に１つまたは複数の集積回路チップに組み込むことが趨勢である。メモリシステムはホストシステムの一部として組み込まれてもよく、或いはホストシステムの差込ソケットに着脱自在に挿入可能なメモリカードに含まれていてもよい。このようなカードはメモリシステム全体を含んでいてもよく、或いは別個のカードにコントローラおよびメモリアレイを関連する周辺回路と共に備えてもよい。
【００１８】
図２を参照してメモリセルアレイ１の例示的な構造を説明する。一例として、ＮＡＮＤ形のフラッシュＥＥＰＲＯＭを説明する。メモリセル（Ｍ）は、特定の例において、１，０２４個もの多数のブロックに区分されている。各ブロックに記憶されるデータは同時に消去される。このように、ブロックは同時に消去可能な多数のセルの最小ユニットである。各ブロック内には、この例ではＮ＝８，５１２列であるＮ列があり、これらは米国特許第６，５２２，５８０号（特許文献１）にさらに詳細に記載されているように、左列と右列とに分割されている。ビットラインも左ビットライン（ＢＬＬ）と右ビットライン（ＢＬＲ）とに分割されている。各ゲート電極でワードライン（ＷＬ０〜ＷＬ３）に接続された４つのメモリセルが直列接続されてＮＡＮＤセルユニットを形成する。ＮＡＮＤセルユニットの一端子は、ゲート電極が第１の（ドレイン）選択ゲートライン（ＳＧＤ）に結合された第１の選択トランジスタ（Ｓ）を介して対応するビットライン（ＢＬ）に接続され、他端子は、ゲート電極が第２の選択ゲートライン（ＳＧＳ）に結合された第２の（ソース）選択トランジスタ（Ｓ）を介してｃ−ソースに接続されている。簡略化するために、各セルユニットには４つのフローティングゲートトランジスタが含まれるように示されているが、８、１６または３２もの別の数のトランジスタも使用される。図２は、ウエル電圧を供給するための接続部ｃ−ｐ−ウエルも含む。
【００１９】
各ブロック内には、この例では８，５１２の列が偶数番号の列と奇数番号の列とに分割されている。ビットラインも偶数番号のビットライン（ＢＬｅ）と奇数番号のビットライン（ＢＬｏ）とに分割されている。各ゲート電極でワードライン（ＷＬ０〜ＷＬ３）に接続された４つのメモリセルは直列に接続されてＮＡＮＤセルユニットを形成する。ＮＡＮＤセルユニットの一端子は、ゲート電極が第１の選択ゲートライン（ＳＧＤ）に結合された第１の選択トランジスタ（Ｓ）を介して対応するビットライン（ＢＬ）に接続され、他端子は、ゲート電極が第２の選択ゲートライン（ＳＧＳ）に結合された第２の選択トランジスタ（Ｓ）を介してｃ−ソースに接続されている。簡略化するために、各セルユニットには４つのフローティングゲートトランジスタが含まれるように示されているが、８、１６または３２もの別の数のトランジスタも使用される。
【００２０】
本願明細書において参照により援用されている２００２年２月２７日に出願された米国特許出願第１０／０８６，４９５号（特許文献２）に記載されているような別の一連の実施形態では、アレイを奇数偶数配列ではなく左右の部分に分割可能である。左側と右側は付加的に独立したウエル構造を有していてもよく、アレイの右側と左側は各々このような別個のウエル構造の上に形成されることで、図１のｃ−ｐ−ウエル制御回路５によって電圧レベルを別個に設定することができる。さらに別の変形例では、それによって、ブロックの全ての区分よりも少ないサブブロックの消去も可能になり得る。本発明と適合するさらに別の変形例も、米国特許出願第１０／０８６，４９５号（特許文献２）に記載されている。
【００２１】
例示的な実施形態では、ページのサイズは５１２バイトであり、これは同じワードライン上のセル数よりも少ない。このページサイズはユーザの嗜好と協定に基づくものである。ワードラインのサイズを１ページ分以上のセルに対応させることができれば、異なるページ分のデータがデコーダを共用することができるので、Ｘデコーダ（行制御回路３）のスペースを節減することができる。ユーザデータの読み出しおよびプログラミング動作中、この実施例ではＮ＝４，２５６個のセル（Ｍ）が同時に選択される。選択されたセル（Ｍ）は同じワードライン（ＷＬ）、例えばＷＬ２と、同じ種類のビットライン（ＢＬ）とを有する。したがって、５３２バイトのデータを同時に読み出したり、或いはプログラムすることが可能である。同時に読み出されるか、或いはプログラムされたこの５３２バイトのデータが論理的に“ページ”を形成する。したがって、１つのブロックが少なくとも８ページを記憶することができる。各メモリセル（Ｍ）が２ビットのデータ、すなわちマルチレベルのセルを記憶する際に、１ブロックは、セル記憶当り２ビットの場合、１６ページを記憶する。この実施形態では、各メモリセルの記憶素子、この場合、各メモリセルのフローティングゲートは、２ビットのユーザデータを記憶する。
【００２２】
図３は、図２に概略的に示されている種類のＮＡＮＤセルユニットのビットライン（ＢＬ）方向での断面図を示す。Ｐ形半導体基板９の表面にｐ形領域のｃ−ｐ−ウエル１１が形成され、左右の各ｃ−ｐ−ウエルはｎ形領域１０によって囲われてｃ−ｐ−ウエルがｐ形基板から電気的に絶縁されている。ｎ形領域１０は、第１の接点孔（ＣＢ）およびｎ形拡散層１２を経て第１の金属Ｍ０からなるｃ−ｐ−ウエルラインに接続されている。ｐ形領域のｃ−ｐウエル１１も第１の接点孔（ＣＢ）およびｐ形拡散層１３を経てｃ−ｐ−ウエルラインに接続されている。ｃ−ｐウエルライン１１はｃ−ｐ−ウエル制御回路５（図１）に接続されている。
【００２３】
例示的な実施形態は、各メモリセルがセルに記憶されるデータに対応する電荷量を蓄積するフローティングゲート（ＦＧ）、ゲート電極を形成するワードライン（ＷＬ）、およびｐ形拡散層１２からなるドレイン電極およびソース電極を有するフラッシュＥＥＰＲＯＭ記憶ユニットを使用している。フローティングゲート（ＦＧ）はトンネル酸化膜（１４）を介してｃ−ｐ−ウエルの表面上に形成されている。ワードライン（ＷＬ）は絶縁膜（１５）を介してフローティングゲート（ＦＧ）上に積層されている。ソース電極は第２の選択トランジスタ（Ｓ）および第１の接点孔（ＣＢ）を経て第１の金属（Ｍ０）からなる共通ソースライン（ｃ−ソース）に接続されている。共通ソースラインはｃ−ソース制御回路（４）に接続されている。ドレイン電極は第１の選択トランジスタ（Ｓ）、第１の接点孔（ＣＢ）、第１の金属（Ｍ０）の中間配線、および第２の接点孔（Ｖ１）を経て、第２の金属（Ｍ１）からなるビットライン（ＢＬ）に接続されている。ビットラインは列制御回路（２）に接続されている。
【００２４】
図４および５は、メモリセル（図３の４−４断面）、および選択トランジスタ（図３の５−５断面）のワードライン（ＷＬ２）方向での断面図をそれぞれ示している。各列は、基板内に形成され絶縁材料を充填した、シャロー・トレンチ・アイソレーション（ＳＴＩ）として知られているトレンチによって隣接する列から分離されている。フローティングゲート（ＦＧ）はＳＴＩおよび絶縁膜（１５）およびワードライン（ＷＬ）によって互いに絶縁されている。選択トランジスタ（Ｓ）のゲート電極（ＳＧ）はフローティングゲート（ＦＧ）およびワードライン（ＷＬ）と同じ形成処理の段階で形成されるので、積層ゲート構造を呈する。これらの２つの選択ゲートライン（ＳＧ）はラインの端部で分路されている。
【００２５】
前に参照により援用されている米国特許第６，５２２，５８０号（特許文献１）には、メモリセルアレイ１を動作するために印加される様々な電圧が記載され、特定の例では、各メモリセルのフローティングゲートは状態“１１”、“１０”、“０１”、“００”のうちの１つを有する２ビットを記憶する。消去、読み出し、またはプログラミング用にワードライン“ＷＬ２”およびビットライン“ＢＬｅ”が選択される場合についてここで簡単に検討する。ｃ−ｐ−ウエルの電圧を消去電圧Ｖerase ＝１５〜２０Ｖまで上昇させ、選択されたブロックのワードライン（ＷＬ）を接地することによって、選択されたブロックのデータが消去される。選択されないブロックのワードライン（ＷＬ）、ビットライン（ＢＬ）、選択ライン（ＳＧ）、およびｃ−ソースは全て浮動状態になるので、これらもｃ−ｐ−ウエルとの容量結合によりほぼＶerase まで上昇される。したがって、選択されたメモリセル（Ｍ）のトンネル酸化膜１４（図４および図５）だけに強い電界が印加され、トンネル電流がトンネル酸化膜１４を流れると選択されたメモリセルのデータが消去される。消去されたセルは、この例では、可能性がある４つのプログラミング状態のうちの１つ、すなわち“１１”である。
【００２６】
消去およびプログラミング値で用いられる高い電圧値は（図１には示されていない）電荷ポンプを使用してそれよりも低い供給電圧値から発生されうる。より高いこれらの電圧はメモリチップ２２自体で生成されることも、メモリシステム内の別のチップから供給されることもできる。高圧源の使用および位置は、本願明細書において参照により援用されている米国特許第６，２８２，１３０号（特許文献３）に記載され、付加的な参考文献としてここで引用されている。
【００２７】
図６は、このような先行技術の構成を概略的に示す。代表的な３本のワードラインＷＬA 、ＷＬB 、およびＷＬC が、トランジスタ１０１、１０３、および１０５のそれぞれを介して様々な電圧レベルを供給するライン１０７に接続されている。トランジスタ１０１、１０３、および１０５はライン１０７と共に図１の行制御回路３の一部でありうる。図１のｃ−ｐ−ウエル制御回路５はウエル構造ｃ−ｐ−ウエル１１用の電圧を供給する。次に、ワードラインはウエル構造１１を越えて図２に示されているメモリ１の異なるブロックの様々なワードラインのいずれかにつながる。消去処理では、ワードラインＷＬC は選択されたワードラインに該当し、ＷＬA とＷＬB は共に選択されずに、ｃ−ｐ−ウエル内の電圧は消去電圧、例えば１７ボルトに上昇され、ライン１０７は接地される。トランジスタ１０５のゲートはワードラインＷＬC を接地に取って高レベルのＶddに設定される一方、トランジスタ１０１および１０３の双方はゲートを接地することによってオフに転換され、ＷＬA およびＷＬB は浮動状態に留まる。その結果、選択されない消去ゲートが（例えば、前に援用されている米国特許第５，５４６，３４１号（特許文献４）に記載されているように）ウエルからの容量結合によって荷電され、選択された消去ゲートが強制接地される消去条件になる。消去処理の別の態様は、本願明細書において参照により援用されている２００１年９月１７日に出願された米国特許出願第０９／９５６，２０１号（特許文献５）に記載されている。具体的には、米国特許出願第０９／９５６，２０１号（特許文献５）には、選択されないワードラインを浮動させることができる処理が記載され、これは本発明の様々な態様の代替の実施形態に組み込むこともできる処理である。
【００２８】
プログラミング動作中にフローティングゲート（ＦＧ）に電子を蓄積するために、選択されたワードラインＷＬ２はプログラミングパルスＶｐｇｍに接続され、選択されたビットラインＢＬｅは接地される。一方、プログラムされないメモリセル（Ｍ）でのプログラミングを抑止するために、該当するビットラインＢＬｅは、例えば３Ｖである電源のＶdd、および選択されないビットラインＢＬ0 に接続される。選択されないワードラインＷＬ０、ＷＬ１およびＷＬ３は１０Ｖに接続され、第１の選択ゲート（ＳＧＤ）はＶddに接続され、第２の選択ゲート（ＳＧＳ）は接地される。その結果、プログラムされているメモリセル（Ｍ）のチャネル電位は０Ｖに設定される。プログラミング抑止におけるチャネル電位は、チャネル電位がワードライン（ＷＬ）との容量結合によってプルアップされる結果、約６Ｖまで上昇する。前に説明したように、プログラミング中はメモリセル（Ｍ）のトンネル酸化膜１４だけに強い電界が印加され、トンネル電流はトンネル酸化膜が消去と比較して逆方向に流れ、論理状態は“１１”から他の状態“１０”、“０１”、または“００”のうちの１つに変化する。
【００２９】
読み出しおよび検証動作では、選択ゲート（ＳＧＤおよびＳＧＳ）と、選択されないワードライン（ＷＬ０、ＷＬ１およびＷＬ３）とは、４．５Ｖの読み出しパス電圧に上昇されて、これらがパスゲートにされる。このメモリセルのしきい値電圧がこのレベルに達したか否かを判定するために、選択されたワードライン（ＷＬ２）は各々の読み出しおよび検証動作ごとに指定された電圧レベルに接続される。例えば、ＲＥＡＤ（読み出し）１０動作では、選択されたワードラインＷＬ２は接地されるので、しきい値電圧が０Ｖ以上であるか否かが判定される。この読み出しの場合は、読み出しレベルが０Ｖであると言うことができる。ＶＥＲＩＦＹ（検証）０１動作では、選択されるワードラインＷＬ２は２．４Ｖに接続されるので、しきい値電圧が２．４Ｖに達したか否かが検証される。この検証の場合は、検証レベルが２．４Ｖであると言うことができる。繰り返すと、説明した全ての処理で、説明されている電圧レベルは例示的な値であるにすぎない。
【００３０】
選択されたビットライン（ＢＬｅ）は高レベル、例えば０．７Ｖにプリチャージされる。しきい値電圧が読み出しまたは検証レベル以上である場合、メモリセル（Ｍ）が非導電性であるので、このビットライン（ＢＬｅ）の電位レベルは高レベルに保たれる。これに対して、しきい値電圧が読み出しまたは検証レベル未満である場合、メモリセル（Ｍ）が導電性であるので、このビットライン（ＢＬｅ）の電位レベルは低レベル、例えば０．５Ｖ以下まで低下する。読み出しおよび検証動作のさらなる詳細を以下に説明する。
【００３１】
書き込み／消去失敗検出機構の実施例
本発明の基本的な態様は、メモリのプログラミングおよび消去中に電源が遮断された場合に、システム性能への最小限の犠牲で書き込みおよび消去失敗検出のための信頼性がある機構を確保する技術である。構想は以下にさらに説明するようにさらに一般化して適用されるが、参照のための特定の実施形態を用いる場合、本発明は、主としてこれまでに説明してきたようにＮＡＮＤ構成を有するフラッシュ形のメモリに関して記載されている。
【００３２】
書き込みの失敗を防止するための公知の１つの方法は、本願明細書において参照により援用されている米国特許第５，４１８，７５２号（特許文献６）に記載されているように、メモリの動作が完了するまで、メモリのＶddを保持するために追加のハードウエアを加えることである。変形例では、電源遮断状況で失われてしまうデータを記憶するために、書き込み時間がより迅速な不揮発性メモリの代替形態を使用してもよい。コストが比較的高く、常に簡単に実装することができるわけではないのでこのアプローチには欠点がある。書き込み失敗検出の別の方法は、予約済み領域を再更新してプログラミング動作の完了を確認するために、実際のプログラミング動作前と実際のプログラミングが行われた後の双方で、予約済み領域内の意図されるプログラミングセクタのアドレスを指定することである。この方法には、データの実際のプログラミングを含めて単一のセクタの書き込みごとにユーザによる３回のプログラミング動作が必要である。別の方法は、セクタがプログラムされた後、事前定義された書き込み失敗ヘッダを書き込むことである。この方法には書き込まれるセクタごとに２回のプログラミング動作が必要である。消去に関しては、消去の前に予約済み領域に消去されるブロックまたはセクタのアドレスを書き込み、かつ消去動作の完了後に予約済み領域にアドレスを再度書き込むことができる。本発明の主要な態様はこれらの技術を改良するものである。
【００３３】
より具体的には、性能に対する影響を最小限にして書き込み失敗エラーの確実な検出を保証するために、新規の書き込み失敗検出機構が導入される。この例示的な実施形態では、アルゴリズムはセクタのオーバーヘッド情報に先行するセクタ状態フラグ（ＰＳＳ）および最後のセクタ状態フラグ（ＬＳＳ）を導入する。システムがブロック内のセクタ０からｘに書き込むことを想定すると、アルゴリズムはセクタ１にデータと共にセクタ１のＰＳＳを書き込んで、セクタ０がプログラミングを完了し、書き込みの失敗が生じなかったことを示す。それによって、ＥＣＣ、すなわちオーバーヘッドを含むセクタ全体向けのＥＣＣ、或いはこのエラーを有する実施形態のオーバーヘッドＥＣＣによってＰＳＳフラグを保護することができる。同様に、セクタ２が書き込まれる際に、セクタ１が書き込みの失敗なしでプログラミングを完了したことを示すためにセクタ２のＰＳＳが書き込まれ、書き込みコマンドの最後のセクタに達するまで以下同様である。最後のセクタであるセクタｘに達すると、このセクタはセクタｘデータが入力されるのと同時に入力されたセクタ（ｘ−１）に対応するＰＳＳフラグを同様に有するが、それは、書き込みの最後のセクタであるため、セクタｘに対応するＰＳＳフラグを設定すべき次のセクタはない。これを説明するために、ＬＳＳフラグが使用される。セクタのＬＳＳフラグはセクタ自体に対応し、それを含むセクタが書き込みの失敗なくプログラミングを完了したことを示す。
【００３４】
セクタｘがプログラムされた後、アルゴリズムはセクタｘのＬＳＳをプログラムすることができる。これは書き込み失敗検出を確実にするために、ホストプログラミングコマンドの最後のセクタだけが２回のプログラム動作をすればよいことを意味している。ＰＳＳ方式は、コントローラによってキャッシュされるホストのアトミックな書き込みコマンドまたはコマンド群内の全てのセクタに適用される。ＬＳＳ方式はシーケンス外のページのプログラミングが許容されない場合に、ホストのアトミックな書き込みコマンドおよびブロックの最後の物理的ページに適用される。メモリシステムはホストコマンドからプログラムされるセクタ番号を判定することができ、またＰＳＳおよびＬＳＳを用いた書き込み動作を管理するためにホストキャッシュを利用することによって、システム性能に対する影響を最小限にすることができる。例えば、コントローラはホストの複数のアトミックな書き込みを１つのメモリ動作シーケンスにグループ分けすることができ、それによって大きなセクタのチャック (chuck of sector)にわたって書き込みＬＳＳのオーバーヘッドを減衰 (amortize) するので、性能に対する影響を低減することができる。これらの機構によって、セクタがブロック内の最後にプログラムされたセクタ、或いはブロックの最後の物理セクタである場合は、次の物理セクタのＰＳＳおよび現行のセクタのＬＳＳを探索することによって書き込み失敗エラーの検出を確実なものにする。
【００３５】
消去の場合、正常な消去動作の後に消去失敗フラグ（ＥＡＦ）をマークしてもよい。ＥＡＦフラグはブロックの第１のセクタなどの事前指定された位置に設定することができる。ＰＳＳフラグおよびＥＡＦフラグの双方について（ブロックが単一セクタ以上を含んでいる場合）、１つのセクタでの正常な動作の表示は別のセクタでも保持されることに留意されたい。これらのフラグを用いて、システムは次の電源が投入される際の次の初期化中に書き込みの失敗または消去の失敗を正常に検出することができる。これらの失敗検出方式は多状態（ＭＬＣ）メモリ用に特に有効である。というのは、ＭＬＣを処理するハードウエアを設計するのは、長いプログラミング時間と消去時間とを要するのでより困難でコストがかかり、またＭＬＣでは全ての単一セクタで２回プログラムしないことで得られる性能は、これも一般的には長いプログラミング時間を要するので大幅に高まるからである。
【００３６】
例示的な実施形態はセクタレベルに基づいてＰＳＳおよびＬＳＳフラグを使用する。セクタは、ホストが処理する最小のデータユニットであるので、便利である場合が多い。より一般的には、ＰＳＳおよびＬＳＳフラグは、典型的には何らかの物理的データユニットまたは構造に基づいて大量のデータのそれぞれの正常な書き込みごとに設定可能である。例えば、データ書き込みユニットが複数セクタのデータページである場合は、データページの正常なプログラミングを次のページと同時にプログラムされたＰＳＳフラグに記録することができ、次に最後のページの正常な書き込み用にＬＳＳフラグが設定される。例示的な実施形態のこの説明はセクタに関してなされ、またフラグ名は“セクタ”を含んでいるが、これらの実施形態は全てより一般的な状況にも適用可能である。同様に、例示的な実施形態でのＥＡＦフラグは、これが消去ユニットなのでブロックレベルで使用されるが、より一般的にはメタブロック用の単一の消去フラグなどの異なるスケールでも使用可能である。
【００３７】
一対の例示的な実施形態が図６Ａ〜６Ｃに概略的に示され、図６Ａおよび６Ｃはセクタの構造を示し、また図６Ｂは様々なフィールドを説明している。図６Ａはメモリセルアレイ１からのｎ個のブロックを表し、これらはブロックｉ６０１からブロックｉ＋ｎ６０３まで並んでいる。各ブロック内には６３１や６３３などのセクタ番号が示され、各々が図の行で表されている。様々なフィールドが図６Ｂに示されている。
【００３８】
包括的なセクタの様々な部分が図６Ｂに記載されている。これらは、ユーザデータが記憶されるデータ部６１１と、対応する誤り訂正符号（ＥＣＣ）６１５および当該技術分野で知られているその他の種類のオーバーヘッド（その他６１３）などのセクタに関する様々なデータを含むヘッダまたはオーバーヘッド部６２３とから構成されている。ＥＣＣはデータとオーバーヘッドの双方のための兼用でもよく、それぞれのための別個のＥＣＣであってもよい。これらの図では説明の目的のために様々なフィールドが分離して示されているが、実際にはこれらは実際の記憶素子内に混在している。加えて、物理セクタがデータだけを格納し、他の物理的記憶位置はオーバーヘッド専用であるような、オーバーヘッドが別個に記憶される実施形態もある。新たな特徴は、オーバーヘッドにフラグＰＳＳ６１７、ＬＳＳ６１９、およびＥＡＦ６２１が含まれることである。
【００３９】
図６Ａに戻ると、各セクタは、先行するセクタが正常に書き込まれたことを表示するように設定可能なＰＳＳフラグ６１７と、セクタ自体が適正に書き込まれたことを表示するように設定可能なＬＳＳフラグ６１９の双方を有している。以下に説明するように、これらの各フラグは複数ビットからなることができる。ＰＳＳフラグの状態はセクタの書き込み前に判明しているので、これはデータおよびオーバーヘッドコンテンツと同時に書き込まれ、ＥＣＣによって保護されることができる。残りのセクタが正常に書き込まれたことに応じて引き続きＬＳＳフラグが書き込まれるので、これは以前に書き込まれているＥＣＣによって保護されない。
【００４０】
ブロックのコンテンツは全て消去されるので、例示的な実施形態は各ブロックについて単一の消去失敗フラグ、ＥＡＦ６２１だけを使用することができる。本発明は、これも複数ビットからなることができるＥＡＦフラグがブロックｉ６０１内のセクタ６３１などのブロックの第１のセクタ内に設定される仕様を採用している。消去処理が正常に完了した後、ＥＡＦが設定される。したがって、この例示的な実施形態では、ＥＡＦフラグは常時設定される必要がある。それが設定されないのは、消去動作後にＥＡＦフラグを設定する動作が行われない、消去の失敗が生じた時だけである。ＥＡＦフラグはデータがブロックに書き込まれる前に既に設定されるので、ＥＣＣによる保護はなされない。（ＥＡＦフラグがＥＣＣによって保護されることが望ましい場合は、それを消去してからデータと共に再書き込みされる必要があり、付加的なプログラミングオーバーヘッドをこうむる。）好ましい実施形態は消去失敗検出用のＥＡＦフラグと書き込み失敗検出用のＰＳＳ／ＬＳＳフラグの双方を含んでいるが、これらは本発明とは別個の態様であり、メモリデバイスに別個に組み込むことができることに留意されたい。
【００４１】
図６Ａはブロックｉ６０１のセクタ０  ６３１で始まり、ブロックｉ＋ｎ６０３のセクタ６３９に至る書き込み処理の正常な終了時のセクタフラグＰＳＳ６１７およびＬＳＳ６１９の配列を示している。これらの各セクタのデータ部６１１は全て正常に書き込まれたので検証済みデータを含む。オーバーヘッド部には、フラグＰＳＳ６１７、ＬＳＳ６１９、およびＥＡＦ６２１の状態だけが示され、Ｘは設定されたフラグを、また空白の四角はフラグが未設定であることを示している。オーバーヘッドの他の部分（６１３および６１５）のコンテンツは図に示されていない。データ部６１１はホストから供給されたユーザデータまたはシステムデータを記憶することができ、その例が、本願明細書において参照により援用されている国際公開特許第ＷＯ０３／０２７８２８号（特許文献７）に記載されている。
【００４２】
ブロックは消去の失敗を生じないで既に正常に消去されたので、ＥＡＦフラグ６２１がブロックに設定される。最初に書き込まれるセクタ６３１にはそのＰＳＳフラグ６１７もそのＬＳＳフラグ６１９も設定されない。次のセクタ６３３にはそのＰＳＳフラグ６１７が設定され、先行するセクタ６３１が正常に書き込まれたことが示される。同様に、最後の書き込みセクタ６３９を含むこのセクタまでの後続するセクタの各々にはそのＰＳＳフラグが設定される。最後に書き込まれるセクタには付加的にそのＬＳＳフラグ６１９が設定され、それは自動書き込み処理でこのフラグが設定される唯一のセクタとなる。（ＬＳＳフラグが設定され、ＰＳＳフラグが設定されないセクタの状況は、単一のセクタだけが書き込まれる場合にだけ生じうる。）
【００４３】
図７は例示的な書き込み処理のフローチャートである。これは、複数の論理データセクタを書き込むための書き込みコマンドを有するステップ７０１で開始される。次に、第１の論理セクタが対応する物理セクタ（７０３）に書き込まれる。データが適正に入力されたことが検証された後（７０５）、処理は次のセクタに進む。データコンテンツが次のセクタに書き込まれると（７０７）、先行するセクタが適正にプログラムされたことを示すＰＳＳフラグもそのオーバーヘッド領域に設定される。書き込みはステップ７０９で検証される。それが最後のセクタではない場合は（７１１、“ＮＯ（いいえ）”）、書き込み処理は次のセクタに進み、ステップ７０７および７０９を繰り返して、先行するループ内でステップ７０９に応答してステップ７０７でＰＳＳフラグを再び設定する。最後のセクタの書き込みがなされ、確認されると（７１１、“ＹＥＳ（はい）”）、ＰＳＳフラグが設定されるべき次のセクタがないので、ＬＳＳフラグが最後のセクタに設定される。セクタがブロック内に書き込まれる順序、およびブロックがアトミックな書き込み処理で書き込まれる順序は、例えば本願明細書において参照により援用されている米国公開特許出願第２００３／００６５８９９号（特許文献８）におけるようなポインタ構造に基づいて固定順でも可変順でもよい。（順序が固定されていない場合は、どのセクタがＰＳＳフラグに対応する先行するセクタであるかを判定するために、順序は保持される必要がある。ＮＡＮＤ構成を有するメモリはセクタの逐次書き込みを使用するので、結果として図７の方式で使用されるセクタの逐次書き込みになる。）
【００４４】
図６Ａおよび６Ｂに戻ると、書き込み処理が正常に行われたか否かを判定するにはＰＳＳ６１７とＬＳＳ６１９のフラグだけをチェックすればよい。これらのフラグはセクタが正常に書き込まれたことの保証として使用される。セクタのＬＳＳフラグが設定されると、そのセクタおよび書き込み処理の全ての先行するセクタが正常にプログラムされたことになる。例えば、書き込み処理中に電源の遮断があった場合は、フラグを走査することができる。ＬＳＳフラグが設定されれば、プログラミングは完了している。ＬＳＳフラグ６１９が設定されなければ、ＰＳＳフラグ６１７へと逆向きに戻ることによって、最初に設定されたＰＳＳフラグは、電源遮断前に書き込み処理の全てのセクタが正常に書き込まれたことを示す。同様に、ＥＡＦフラグ６２１をチェックすることによって、ブロック全体のデータコンテンツをチェックする必要なく消去処理が正常に完了したことを判定することができる。それによって、システムは、偶然全てゼロになった全ての有効データを含むブロックと（これはＰＳＳおよびＬＳＳフラグによっても判定できうる）、実際に消去されるブロックとを識別することも可能になる。
【００４５】
図６Ｃは、多くの用途に好ましい図６Ｂの実施形態の変形例である。この実施形態では、全てのブロックが書き込まれると、書き込みが他のブロック内のそれ以上のセクタで継続される場合でも、ブロックに書き込まれた最後のセクタ用にＬＳＳフラグが設定される。したがって、図６Ｃではセクタ６３５のＬＳＳフラグが設定される。セクタ６３５自体のセクタ６３５の正常な書き込みが記録されるので、別のブロックの第１のセクタである次に書き込まれるセクタにＰＳＳフラグを設定する必要はない。このように、先行するセクタが正常に書き込まれた場合でもセクタ６３７にはそのＰＳＳフラグは設定されず、そのことは先行するブロック内の最後のセクタのＬＳＳフラグによって示される。したがって、各ブロック内の第１のセクタにはそのＰＳＳフラグが設定される必要がないので、図６Ｃのセクタ６３１および６３７について示されているように、これらのセクタについてはこのフラグは削除可能である。セクタ０内のビットと同様に、これらのビットをＥＡＦフラグ用に使用してもよい。したがって、ＥＡＦフラグ６２１は図６Ｃでは別個のものとして示されているが、他のセクタ内のＰＳＳフラグ用に使用されるはずの領域をセクタ０内のＥＡＦ用に利用することができる。
【００４６】
図６Ｃの構成は、ブロック内の最後のセクタのＬＳＳフラグを探索するだけでブロック内の全てのセクタの状態をチェックすることができるという利点を有する。さらに、セクタ０はＥＡＦおよびＰＳＳフラグの双方を有する必要がないので、ブロック内の全てのセクタが同数のデータビットを有するという利点がある。
【００４７】
図６Ｃの構成では、現行のセクタがブロックの第１のセクタである場合、ステップ７０７でＰＳＳフラグが設定されないという点で、図７のフローチャートはやや変更される。ブロックの最後のセクタ用にステップ７０９と７１１との間でＬＳＳを設定する必要がある。
【００４８】
フラグの構造を検討すると、これらは単一ビットのフラグでも複数ビットのフラグでもよい。それは設計上の選択であり、フラグの信頼性と使用されるスペース量との兼ね合いである。フラグ内のビット数が増加すると不良ビットまたはフラグ自体の書き込みエラーの確率も高まり、フラグの目的はデータ書き込みが正常であったか否かを判定することなので、フラグ自体がエラーのリスクの増大に直面すると逆効果になることも考慮される。例示的な実施形態は、使用されるＥＣＣとほぼマッチする各々数ビットのフラグを使用している。加えて、信頼性を付加するため、多状態メモリの場合でもフラグをバイナリモードで記憶してもよい。実際のデータと同じＭＬＣプログラミング動作中にＰＳＳフラグが設定されるので、バイナリフラグを使用するとプログラミングアルゴリズムが幾分複雑なものになり、複数ビットのフラグを使用可能であるほとんどの用途では必要ない。上ページと下ページがある前述したような例示的な実施形態では、動作の複雑さを軽減するために上ページフラグと下ページフラグとに対応するマルチレベルのフラグ方式でフラグを記憶することも好ましい。
【００４９】
前述したように、本発明は例示的な実施形態のＮＡＮＤ形フラッシュメモリに適用することができるだけではなく、その他の構成およびメモリ技術にも適用することもできる。例えば、ウエル消去を伴うＮＯＲ形フラッシュメモリなどの他のＥＥＰＲＯＭまたは電荷蓄積セルを利用してもよい。同様に、記憶素子がフローティングゲートトランジスタではない場合、例えば、本願明細書において参照により援用されている２００２年１０月２５日に出願されたエリヤホウ・ハラリ、ジョージ・サマチサ、ジャック・エイチ・ユアン、およびダニエル・シー・グッターマンによる「誘電体格納エレメントを用いる多状態不揮発性ＩＣメモリシステム」という米国特許出願（特許文献９）に記載されている種類の誘電体記憶素子にも本発明を適用することが可能である。また、これまでの説明はメモリデバイス用のフローティングゲートＥＥＰＲＯＭまたはフラッシュセルなどの電荷蓄積デバイスを使用した実施形態に集中してきたが、例えば、エイタンの米国特許第５，７６８，１９２号（特許文献１０）、およびサトウらの米国特許第４，６３０，０８６号（特許文献１１）にそれぞれ記載されているようなＮＲＯＭおよびＭＮＯＳセル、或いはギャラガーらの米国特許第５，９９１，１９３号（特許文献１２）、およびシミズらの米国特許第５，８９２，７０６号（特許文献１３）にそれぞれ記載されているような磁気ＲＡＭおよびＦＲＡＭセルのような他の実施形態にも適用することができる。これらの特許は、本願明細書において参照により援用されている。
【００５０】
本発明の様々な態様を特定の実施形態と関連して説明してきたが、本発明は添付の特許請求の範囲の全範囲にわたってその権利が保護されるべきことが理解されよう。
【図面の簡単な説明】
【００５１】
【図１】本発明の様々な態様が実装されるものと説明されている不揮発性メモリシステムのブロック図である。
【図２】ＮＡＮＤ形の場合の図１のメモリアレイの既存の回路および構成を示す。
【図３】半導体基板上に形成されたＮＡＮＤ形メモリアレイの、列に沿った横断面図である。
【図４】図３のメモリアレイの４−４断面の横断面図である。
【図５】図３のメモリアレイの５−５断面の横断面図である。
【図６Ａ】例示的な実施形態によるブロック構造の概略図である。
【図６Ｂ】例示的な実施形態によるブロック構造の概略図である。
【図６Ｃ】例示的な実施形態によるブロック構造の概略図である。
【図７】書き込み処理の例のフローチャートである
【図１】
2007520801.tif 000003
【図２】
2007520801.tif 000004
【図３】
2007520801.tif 000005
【図４】
2007520801.tif 000006
【図５】
2007520801.tif 000007
【図６Ａ】
2007520801.tif 000008
【図６Ｂ】
2007520801.tif 000009
【図６Ｃ】
2007520801.tif 000010
【図７】
2007520801.tif 000011
【国際調査報告】
2007520801.tif 000012
2007520801.tif 000013
2007520801.tif 000014