(57)【要約】  不揮発性メモリセルのフローティングゲート（または他の電荷ストレージ素子）上に蓄えられた見かけの電荷のシフトが、隣接するフローティングゲート（または他の隣接する電荷ストレージ素子）に蓄えられた電荷に基づく電界の結合のために発生することがある。この問題は、異なるときにプログラムされる隣接メモリセルのセットの間で最も顕著に発生する。この結合を排除するために、特定のメモリセルに対する読み出し処理で隣接するメモリセルに補償を提供し、隣接するメモリセルがその特定のメモリセルに対して及ぼす結合の影響を低減する。このために、読み出し電圧が選択されたメモリセルのワードラインに印加され、第２通過電圧が選択メモリセルに隣接するメモリセルのワードラインに印加され、第１通過電圧が追加のワードラインに印加される。選択メモリセルを読み出す前に、隣接メモリセルの状態が読み出され、この状態に応じて、第２通過電圧が設定される。
2009528651.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶システムであって、
複数の不揮発性記憶素子と、
前記複数の不揮発性記憶素子と通信する１つまたは複数の管理回路を有し、
前記１つまたは複数の管理回路が、選択ワードラインに読み出し比較電圧を印加することによって、選択ワードラインに接続されている選択不揮発性記憶素子からデータを読み出し、
前記１つまたは複数の管理回路が、隣接非選択ワードラインに第２通過電圧を印加する一方で、非選択ワードラインの第１のセットに第１通過電圧を印加し、
前記１つまたは複数の管理回路が、前記読み出し比較電圧、前記第１通過電圧、及び前記第２通過電圧と連動して、前記選択不揮発性記憶素子の状態を検出する、
ことを特徴とする不揮発性記憶システム。
【請求項２】
前記１つまたは複数の管理回路が、前記隣接非選択ワードラインに接続されている不揮発性記憶素子についての情報を検出し、前記隣接不揮発性記憶素子についての前記情報に基づいて前記第２通過電圧を使用するか否かを選択することを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項３】
前記１つまたは複数の管理回路が、前記隣接非選択ワードラインに接続されており、前記選択不揮発性素子に隣接する不揮発性記憶素子についての情報を検出し、
前記１つまたは複数の管理回路が、前記読み出し比較電圧の印加と、前記第１通過電圧の印加と、前記第２通過電圧の印加と、前記状態の検出の追加との繰り返しを、繰り返し毎に第２通過電圧を変化させながら実行し、
前記１つまたは複数の管理回路が、前記隣接不揮発性記憶素子について検出された前記情報と関連する前記繰り返しのうちの１つに基づいて読み出されている前記不揮発性記憶素子に記憶されるデータを特定するする、
ことを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項４】
前記１つまたは複数の管理回路が、前記選択不揮発性揮発素子に対するプログラミング処理の間の検証動作の一部として、前記選択不揮発性記憶素子の前記状態を検出することを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項５】
前記１つまたは複数の管理回路が、読み出し処理の一部として、前記選択不揮発性記憶素子の前記状態を検出することを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項６】
前記１つまたは複数の管理回路が、前記選択された不揮発性記憶素子に隣接する不揮発性記憶素子がプログラムされていることを判定し、前記第２通過電圧の印加が、前記隣接する不揮発性素子がプログラムされているとの前記判定に応じて実行されることを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項７】
前記選択不揮発性記憶素子が、データの第１グループについての隣接不揮発性記憶素子への書き込みの後にデータの第２グループについてプログラムされたデータを有することを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項８】
前記１つまたは複数の管理回路がデータ読み出し要求を受信し、前記選択不揮発性記憶素子の前記状態の前記検出が、前記データ読み出し要求に応じた読み出し処理の一部として実行され、
前記１つまたは複数の管理回路が、前記検出に基づいて前記データを報告する、
ことを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項９】
前記１つまたは複数の管理回路が、データ読み出し要求を受信し、
前記１つまたは複数の管理回路が、前記要求に応答して、第１の読み出し動作を使用して前記データを読み取り、
前記１つまたは複数の管理回路が、前記データと関連したエラーの存在を判定し、
前記読み出し比較電圧の印加と、前記第１通過電圧の印加と、前記第２通過電圧の隣接非選択ワードラインへの印加と、前記状態の検出が、前記エラーの存在の判定に応じて前記エラーから前記データを修復するために実行され、
前記１つまたは複数の管理回路が、前記修復されたデータを報告する、
ことを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項１０】
前記複数の不揮発性記憶素子が、マルチ状態ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項１１】
前記複数の不揮発性記憶素子が、マルチ状態フラッシュメモリ装置であることを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項１２】
前記複数の不揮発性記憶素子が、ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項１３】
前記１つまたは複数の管理回路が、状態マシン、復号部、及びセンス増幅器の内のいずれか１つ、または、これらの組み合わせを有することを特徴とする請求項１に記載の不揮発性記憶素子。
【請求項１４】
不揮発性記憶装置からデータを読み出す方法であって、
選択不揮発性記憶素子に対する読み出し処理の間に、選択不揮発性記憶素子に読み出し電圧を印加するステップと、
前記選択不揮発性記憶素子に隣接する不揮発性記憶素子の現在の状態に基づいて、前記隣接する不揮発性記憶素子に特定の電圧を使用するステップであって、前記特定の電圧を前記読み出し処理の間に前記隣接する不揮発性記憶素子に使用するステップと、
前記読み出し処理の間に前記選択不揮発性記憶素子の状態を検出するステップ、
を有することを特徴とするデータの読み出し方法。
【請求項１５】
前記隣接する不揮発性記憶素子に特定の電圧を使用する前記ステップが、前記隣接する不揮発性記憶素子に複数の電圧を印加するステップを有し、前記複数の電圧のうちの１つが、前記特定の電圧であり、前記状態を検出する前記ステップが、前記特定の電圧に応じて実行されることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記隣接する不揮発性記憶素子に前記特定の電圧を印加するステップの前に、前記隣接する不揮発性記憶素子の前記現在の状態を読み出すステップをさらに有することを特徴とする請求項１４に記載の方法。
【請求項１７】
前記隣接する不揮発性記憶素子と前記選択不揮発性記憶素子がマルチ状態フラッシュメモリ装置であり、
前記隣接する不揮発性記憶素子の前記現在の状態を読み出す前記ステップが、前記隣接する不揮発性記憶素子がどの状態にプログラムされているかを判定するステップを有し、
隣接する不揮発性記憶素子に前記特定の電圧を前記使用するステップが、前記隣接する不揮発性記憶素子がプログラムされ得る各状態に対して１つの電圧を印加することを含む前記隣接する不揮発性記憶素子に複数の電圧を印加するステップを有し、前記複数の電圧の１つが前記特定の電圧であり、前記隣接する不揮発性記憶素子がプログラムされる前記状態と前記特定の電圧が関連付けられており、
前記複数の電圧のうちの前記隣接する不揮発性記憶素子がプログラムされる前記状態と関連付けられていない電圧に応じて検出されるデータが破棄され、
状態を検出する前記ステップが、前記特定の電圧に応じて実行されることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記選択不揮発性記憶素子が、第１のページと第２のページにプログラムされるデータの少なくとも２ビットを記憶するマルチ状態フラッシュメモリ装置であり、
前記選択不揮発性記憶素子が、第１の状態、第２の状態、第３の状態、または、第４の状態となることが可能であり、
第１の比較レベルが、前記第１の状態と前記第２の状態の間に存在し、
第２の比較レベルが、前記第２の状態と前記第３の状態の間に存在し、
第３の比較レベルが、前記第３の状態と前記第４の状態の間に存在し、
前記印加するステップと、使用するステップと、検出するステップが、前記第３の比較ポイントを使用して前記第１ページを読み出す処理の一部であり、
前記方法が、前記隣接する不揮発性記憶素子の前記現在の状態にかかわらず、前記第１の比較レベルに応じて前記選択不揮発性記憶素子の状態を検出するステップをさらに有することを特徴とする請求項１４に記載の方法。
【請求項１９】
前記隣接する不揮発性記憶素子がプログラムされることを判定するステップをさらに有し、前記隣接する不揮発性記憶素子に対して特定の電圧を使用する前記ステップが、前記隣接する不揮発性記憶素子がプログラムされることについての前記判定に応じて実行されることを特徴とする請求項１４に記載の方法。
【請求項２０】
前記選択不揮発性記憶素子が、第１のページと第２のページにプログラムされるデータの少なくとも２ビットを記憶するマルチ状態フラッシュメモリ装置であり、
前記選択不揮発性記憶素子が、第１の状態、第２の状態、第３の状態、または、第４の状態となることが可能であり、
第１の比較レベルが、前記第１の状態と前記第２の状態の間に存在し、
第２の比較レベルが、前記第２の状態と前記第３の状態の間に存在し、
第３の比較レベルが、前記第３の状態と前記第４の状態の間に存在し、
前記方法が、データが前記第１のページから読み出されると判定するステップをさらに有し、
隣接する不揮発性記憶素子に特定の電圧を前記使用するステップが、２つの異なる電圧を前記隣接する不揮発性記憶素子に印加するステップを有し、前記２つの異なる電圧の一方が前記特定の電圧であり、前記特定の電圧が前記隣接する不揮発性素子がプログラムされる前記状態に関連付けられており、
前記複数の電圧のうちの前記隣接する不揮発性記憶素子がプログラムされる前記状態と関連付けられていない電圧に応じて検出されるデータが破棄され、
前記読み出し電圧が前記第２の比較レベルに対応し、
状態を検出する前記ステップが、前記特定の電圧と前記第２の比較レベルに応じて実行されることを特徴とする請求項１４に記載の方法。
【請求項２１】
前記選択不揮発性記憶素子が、第１のページと第２のページにプログラムされるデータの少なくとも２ビットを記憶するマルチ状態フラッシュメモリ装置であり、
前記選択不揮発性記憶素子が、第１の状態、第２の状態、第３の状態、または、第４の状態となることが可能であり、
第１の比較レベル、第２の比較レベル、及び、第３の比較レベルを含む読み出しのための３つの比較レベルが存在し、
前記第１の比較レベルが、前記第１の状態と前記第２の状態の間に存在し、前記読み出し電圧が前記第１の比較レベルに対応し、
前記第２の比較レベルが、前記第２の状態と前記第３の状態の間に存在し、
前記第３の比較レベルが、前記第３の状態と前記第４の状態の間に存在し、
前記方法が、データが前記第２のページから読み出されると判断するステップをさらに有し、
隣接する不揮発性記憶素子に前記特定の電圧を前記使用するステップが、前記３つの比較レベルについて前記隣接する不揮発性記憶素子に２つの異なる電圧を印加するステップを有し、前記２つの異なる電圧のうちの１つが前記特定の電圧であり、前記特定の電圧が前記隣接する不揮発性記憶素子にプログラムされる前記状態と関連付けられており、
状態を検出する前記ステップが、前記第１の比較レベルと前記特定の電圧に応じて実行され、
前記方法が、前記第２の比較レベルと前記特定の電圧に応じて検出するステップと、前記第３の比較レベルと前記特定の電圧に応じて検出するステップと、前記選択不揮発性記憶素子に記憶されたデータを特定するステップをさらに有することを特徴とする請求項１４に記載の方法。
【請求項２２】
前記選択不揮発性記憶素子が、データの第１グループについての隣接する不揮発性記憶素子への書き込みの後にデータの第２グループについてプログラムされたデータを有することを特徴とする請求項１４に記載の方法。
【請求項２３】
データの読み出し要求を受信するステップをさらに有し、前記印加するステップ、使用するステップ、及び、検出するステップが前記データの読み出し要求に応じた読み出し処理の一部として実行され、
前記検出に基づいてデータを報告するステップをさらに有することを特徴とする請求項１４に記載の方法。
【請求項２４】
データの読み出し要求を受信するステップと、
前記要求に応えて第１の読み出し動作を使用して前記データを読み出すステップと、
前記データと関連するエラーの存在を判定し、前記特定の電圧を使用するステップが前記エラーの存在の前記判定に応じて前記エラーから前記データを修復するために実行されるステップと、
前記データを報告するステップ、
をさらに有することを特徴とする請求項１４に記載の方法。
【請求項２５】
前記選択不揮発性記憶素子と前記隣接する不揮発性記憶素子がマルチ状態ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１４に記載の方法。
【請求項２６】
前記選択不揮発性記憶素子と前記隣接する不揮発性記憶素子がマルチ状態フラッシュメモリ装置であることを特徴とする請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリの技術に関する。
【背景技術】
【０００２】
半導体メモリは、様々な電子装置に使用されることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ及び他の装置の中に使用されている。電気的消去・プログラム可能型読取専用メモリ（ＥＥＰＲＯＭ）と、フラッシュメモリは、最も普及している不揮発性半導体メモリの１つである。
【０００３】
ＥＥＰＲＯＭとフラッシュメモリは、両方とも、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されたフローティングゲートを利用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。制御ゲートは、フローティングゲート上に設けられており、そのフローティングゲートから絶縁されている。トランジスタの閾値電圧は、フローティングゲート上に保持される電荷量によって制御される。つまり、ソースとドレインの間の導通を可能にするためにトランジスタをオンにする前に制御ゲートに印加すべき電圧の最小量は、フローティングゲート上の電荷レベルにより制御される。
【０００４】
ＮＡＮＤフラッシュメモリ装置などのＥＥＰＲＯＭまたはフラッシュメモリ装置をプログラムする場合、一般にプログラム電圧が制御ゲートに印加され、ビットラインが接地される。チャネルからの電子は、フローティングゲートに注入される。電子がフローティングゲート内に蓄積すると、フローティングゲートは負に帯電し、メモリセルの閾値電圧が上昇してメモリセルがプログラム状態になる。プログラミングについてのさらなる情報は、米国特許第６，８５９，３９７号、発明の名称「Ｓｏｕｒｃｅ  Ｓｉｄｅ  Ｓｅｌｆ  Ｂｏｏｓｔｉｎｇ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」と、米国特許第６，９１７，５４２号、発明の名称「Ｄｅｔｅｃｔｉｎｇ  Ｏｖｅｒ  Ｐｒｏｇｒａｍｍｅｄ  Ｍｅｍｏｒｙ」に記載されている。両方の特許はその全体を参照することにより本明細書に組み込まれる。
【０００５】
いくつかのＥＥＰＲＯＭ及びフラッシュメモリ装置は、２つの範囲の電荷を蓄積するために使用されるフローティングゲートを有している。その結果、メモリセルは、２つの状態（消去状態とプログラム状態）の間でプログラム／消去することができる。このようなフラッシュメモリ装置は、バイナリフラッシュメモリ装置と呼ばれることがある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
マルチ状態フラッシュメモリ装置は、禁止範囲によって分離された複数の別個の許容／有効プログラム閾値電圧範囲を識別することによって実現される。別個の閾値電圧範囲の各々は、メモリ装置内に符号化されたデータビットのセットの所定の値に対応している。
【０００７】
隣接するフローティングゲート内に蓄積される電荷に基づく電界の結合のために、フローティングゲート上に蓄積される見かけの電荷へのシフトが発生する場合がある。このフローティングゲート間の結合現象は、米国特許第５，８６７，４２９号に説明されており、その全体は参照することにより本明細書に組み込まれる。対象のフローティングゲートに隣接するフローティングゲートとは、同じビットライン上で隣接するフローティングゲート、同じワードライン上で隣接するフローティングゲート、又は、隣接するビットライン上と隣接するワードライン上にあるために互いに斜め方向に位置するフローティングゲートを含むことができる。
【０００８】
フローティングゲート間の結合現象は、異なる時間にプログラムされた隣接するメモリセルのセットの間で最も顕著に発生する。例えば、第1メモリセルが、データの１つのセットに対応するフローティングゲートに、あるレベルの電荷が印加されることでプログラムされる場合がある。次に、１つまたは複数の隣接するメモリセルが、データの第２のセットに対応するフローティングゲートに、あるレベルの電荷が印加されてプログラムされる。１つまたは複数の隣接するメモリセルがプログラムされた後では、第1メモリセルに結合されている隣接メモリセル上の電荷の影響を受けるために、第1メモリセルから読み出される電荷のレベルが、プログラムされたものと異なることになる。隣接メモリセルからの結合は、十分な量を読み出す見かけの電荷レベルをシフトさせ、記憶されたデータの誤った読み出しをもたらす。
【０００９】
マルチ状態装置では、許容閾値電圧範囲と禁止範囲はバイナリ装置より狭いので、マルチ状態装置にとってフローティングゲート間の結合影響はより大きな問題となる。したがって、フローティングゲート間の結合によって、メモリセルは許容閾値電圧範囲から禁止範囲にシフトする可能性がある。
【００１０】
メモリセルのサイズが縮小するにつれて、短いチャネルの影響、より大きな酸化物の厚さ、結合率のばらつき、及び、多くのチャネルドーパントの変動のために、閾値電圧の本来のプログラミング及び消去分布が増大することが予想され、隣接状態間の利用可能な分離を減少させる。この影響は２つの状態のみを使用するメモリ（バイナリメモリ）よりマルチ状態メモリの方がいっそう重大になる。さらに、ワードライン間の間隔とビットライン間の間隔の減少も、隣接フローティングゲート間の結合を増大させる。
【００１１】
従って、フローティングゲート間の結合の影響を抑制したいというニーズがある。
【課題を解決するための手段】
【００１２】
フローティングゲート間結合を排除するために、ある特定のメモリセルのための読み出し動作が隣接メモリセルに補償を与え、その特定のメモリセルに対して隣接するメモリセルが与える結合影響が抑制される。多様な実施形態が開示される。
【００１３】
一実施形態は、選択不揮発性記憶素子に対する読み出し処理の間に、選択不揮発性記憶素子に読み出し電圧を印加するステップと、選択不揮発性記憶素子に隣接する不揮発性記憶素子に対する読み出し処理の間に、その隣接する不揮発性記憶素子の現在の状態に基づいて、特定の電圧を使用するステップと、読み出し処理の間に、選択不揮発性記憶素子の状態を検出するステップを有する。別の実施形態は、読み出し中の不揮発性素子に接続されている選択されたワードラインに読み出し比較電圧を印加するステップと、非選択ワードラインの第1セットに第1通過電圧を印加するステップと、隣の非選択ワードラインに第２通過電圧を印加するステップと、読み出し中の不揮発性記憶素子の状態を検出するステップを有する。
【００１４】
一例の実装形態は、複数の不揮発性記憶素子と、本明細書に説明する処理を実行するために複数の不揮発性記憶素子と通信する１つまたは複数の管理回路を有する。
【発明を実施するための最良の形態】
【００１５】
本発明の実施に適したメモリシステムの一例は、ＮＡＮＤフラッシュメモリ構造を用いる。そのＮＡＮＤフラッシュメモリ構造は、２つの選択ゲートの間に直列に接続された複数のトランジスタを含んでいる。直列に接続されたトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１は１つのＮＡＮＤストリングを示す平面図である。図２は、その等価回路である。図１と図２に示すＮＡＮＤストリングは、第１選択ゲート１２０と第２選択ゲート１２２の間に挟まれているとともに直列に接続されている４つのトランジスタ１００、１０２、１０４及び１０６を有する。選択ゲート１２０は、ビットライン１２６へのＮＡＮＤストリングの接続をゲート制御する。選択ゲート１２２は、ソースライン１２８へのＮＡＮＤストリングの接続をゲート制御する。選択ゲート１２０は、制御ゲート１２０ＣＧに適切な電圧を印加することで制御される。選択ゲート１２２は、制御ゲート１２２ＣＧに適切な電圧を印加することで制御される。トランジスタ１００、１０２、１０４、及び１０６のそれぞれは制御ゲートとフローティングゲートを有している。トランジスタ１００は、制御ゲート１００ＣＧとフローティングゲート１００ＦＧを有している。トランジスタ１０２は、制御ゲート１０２ＣＧとフローティングゲート１０２ＦＧを有している。トランジスタ１０４は、制御ゲート１０４ＣＧとフローティングゲート１０４ＦＧを有している。トランジスタ１０６は、制御ゲート１０６ＣＧとフローティングゲート１０６ＦＧを有している。制御ゲート１００ＣＧは、ワードラインＷＬ３に接続されており（またはワードラインＷＬ３であり）、制御ゲート１０２ＣＧはワードラインＷＬ２に接続されており、制御ゲート１０４ＣＧはワードラインＷＬ１に接続されており、制御ゲート１０６ＣＧはワードラインＷＬ０に接続されている。一実施形態では、トランジスタ１００、１０２、１０４及び１０６はそれぞれがメモリセルである。他の実施形態では、メモリセルは複数のトランジスタを有してよい、あるいは図１または図２に示されているものと異なってよい。選択ゲート１２０は選択ラインＳＧＤに接続されている。選択ゲート１２２は選択ラインＳＧＳに接続されている。
【００１６】
図３は、上記のＮＡＮＤストリングの断面図を示す。図３に示すように、ＮＡＮＤストリングのトランジスタは、ｐウェル領域１４０内に形成される。各トランジスタは、制御ゲート（１００ＣＧ、１０２ＣＧ、１０４ＣＧ、及び１０６ＣＧ）とフローティングゲート（１００ＦＧ，１０２ＦＧ、１０４ＦＧ、及び１０６ＦＧ）からなる積層ゲート構造を有している。制御ゲートとフローティングゲートは、通常はポリシリコン層を堆積することにより形成される。フローティングゲートは、ｐウェルの表面上の酸化物または他の誘電体膜の上部に形成されている。制御ゲートはフローティングゲート上にあり、ポリシリコン間誘電体層が制御ゲートとフローティングゲートを分離している。メモリセル（１００、１０２、１０４、及び１０６）の制御ゲートは、ワードラインを構成する。Ｎ＋ドープ拡散領域１３０、１３２、１３４、１３６及び１３８は、隣接しているセルの間で共有されており、これによってセルは相互に直列に接続されてＮＡＮＤストリングを構成する。これらのＮ＋ドープ領域はセルのソース及びドレインを構成する。たとえば、Ｎ＋ドープ領域１３０は、トランジスタ１２２のドレインとトランジスタ１０６のソースとして機能し、Ｎ＋ドープ領域１３２は、トランジスタ１０６のドレインとトランジスタ１０４のソースとして機能し、Ｎ＋ドープ領域１３４は、トランジスタ１０４のドレインとトランジスタ１０２のソースとして機能し、Ｎ＋ドープ領域１３６は、トランジスタ１０２のドレインとトランジスタ１００のソースとして機能し、Ｎ＋ドープ領域１３８は、トランジスタ１００のドレインとトランジスタ１２０のソースとして機能する。Ｎ＋ドープ領域１２６はＮＡＮＤストリングのためのビットラインに接続されている。また、Ｎ＋ドープ領域１２８は複数のＮＡＮＤストリングのための共通のソースラインに接続されている。
【００１７】
図１から図３はＮＡＮＤストリングの中の４個のメモリセルを示しているが、４つのトランジスタの使用は例としてのみ示されていることに注意されたい。本明細書に説明する技術とともに使用するＮＡＮＤストリングは、４個未満のメモリセルまたは４個を超えるメモリセルを有していてもよい。例えば、いくつかのＮＡＮＤストリングは８個のメモリセル、１６個のメモリセル、３２個のメモリセル、６４個のメモリセル等を含む。本明細書の説明はＮＡＮＤストリングの中の特定の数のメモリセルに制限されない。
【００１８】
各メモリセルは、アナログまたはデジタル形式で表されたデータを記憶することができる。１ビットのデジタルデータを記憶するときに、メモリセルの可能な閾値電圧の範囲は、論理データ「１」と「０」が割り当てられる２つの範囲に分割される。ＮＡＮＤ型フラッシュメモリの一例では、電圧閾値は、メモリセルが消去された後には負になり、論理「１」と定義される。閾値電圧はプログラム動作後には正となり、論理「０」と定義される。閾値電圧が負のときに、制御ゲートに０ボルトを印加することにより読み出しが試みられると、メモリセルがオンして論理１を記憶していることを示す。閾値電圧が正のときに、制御ゲートに０ボルトを印加することにより読み出し動作が試みられると、メモリセルはオンにならずに論理０を記憶していることを示す。
【００１９】
メモリセルは複数の状態を記憶することもでき、それによりデジタルデータの複数のビットを記憶する。データの複数の状態を記憶するケースでは、閾値電圧ウィンドウが状態の数に分割される。例えば、４つの状態を使用する場合、データ値「１１」、「１０」、「０１」、及び「００」に割り当てられる４つの閾値電圧範囲がある。ＮＡＮＤ型メモリの一例では、消去動作後の閾値電圧は負であって「１１」として定義される。「１０」、「０１」、及び「００」の状態に対しては正の閾値電圧が用いられる。いくつかの実装形態では、データ値（例えば、論理状態）はグレイコード割り当てによって閾値範囲に割り当てられる。これによって、フローティングゲートの閾値電圧がその隣接する物理状態に誤ってシフトした場合に、１つのビットのみが影響を受けるようになる。メモリセル内にプログラムされたデータとセルの閾値電圧範囲との間の特定の関係は、メモリセルに対して採用されるデータ符号化方式に依存する。例えば、米国特許第６，２２２，７６２号及び２００３年６月１３日出願の米国特許出願第１０／４６１，２４４号、「Ｔｒａｃｋｉｎｇ  Ｃｅｌｌｓ  Ｆｏｒ  Ａ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍ」には、マルチ状態フラッシュメモリセルの様々なデータ符号化方式が記載されている。これらは、その全体を参照することにより本明細書に組込まれる。
【００２０】
ＮＡＮＤ型フラッシュメモリ及びそれらの動作の関連する例は、以降の米国特許／特許出願内に提供されており、それら全てはその全体を参照することにより本明細書に組み込まれる。米国特許第５，５７０，３１５号、米国特許第５，７７４，３９７号、米国特許第６，０４６，９３５号、米国特許第５，３８６，４２２号、米国特許第６，４５６，５２８号、及び米国特許出願第０９／８９３，２７７号（公開番号ＵＳ２００３／０００２３４８号）。ＮＡＮＤフラッシュメモリに加えて、他の種類の不揮発性メモリも本発明に従って使用できる。
【００２１】
フラッシュＥＥＰＲＯＭシステム内で役立つ別の種類のメモリセルは、導電性フローティングゲートの代わりに非導電性誘電体材料を利用して、不揮発的な方法で電荷を蓄積する。このようなセルは、Ｃｈａｎらによる論文、「Ａ  Ｔｒｕｅ  Ｓｉｎｇｌｅ−Ｔｒａｎｓｉｓｔｏｒ  Ｏｘｉｄｅ−Ｎｉｔｒｉｄｅ−Ｏｘｉｄｅ  ＥＥＰＲＯＭ  Ｄｅｖｉｃｅ」、ＩＥＥＥ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｌｅｔｔｅｒｓ，  Ｖｏｌ．ＥＤＬ−８，Ｎｏ．３、１９８７年３月、９３〜９５ページ内に記載されている。酸化シリコン、窒化シリコン及び酸化シリコン（「ＯＮＯ」）からなる三層誘電体は、導電性制御ゲートと、メモリセルチャネル上の半導体基板の表面の間に挟持される。セルは、セルチャネルから窒化物内に電子を注入することによってプログラムされる。その電子は、制限領域内にトラップされて蓄積される。それから、この蓄積された電荷は、セルチャネルの一部の閾値電圧を検出可能なように変化させる。窒化物内にホットホールを注入することによって、セルが消去される。Ｎｏｚａｋｉらの「Ａ  １−Ｍｂ  ＥＥＰＲＯＭ  ｗｉｔｈ  ＭＯＮＯＳＭｅｍｏｒｙ  Ｃｅｌｌ  ｆｏｒ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｄｉｓｋ  Ａｐｐｌｉｃａｔｉｏｎ」，ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ，Ｖｏｌ．２６，Ｎｏ．４，１９９１年４月、４９７〜５０１ページを参照すると、分割ゲート構成内の同様のセルを説明しており、ここではドープされたポリシリコンゲートがメモリセルチャネルの一部上に延び、別個の選択トランジスタを構成している。以上の２つの論文は、それらの全体を参照することによって本明細書に組み込まれる。Ｗｉｌｌｉａｍ  Ｄ．Ｂｒｏｗｎ及びＪｏｅ  Ｅ．Ｂｒｅｗｅｒによって編集された「Ｎｏｎｖｏｌａｔｉｌｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｍｅｍｏｒｙ  Ｔｅｃｈｎｏｌｏｇｙ」，ＩＥＥＥ  Ｐｒｅｓｓ，１９９８のセクション１．２で言及されているプログラミング技術（参照によって本明細書に組み込まれる）も、誘電体電荷捕捉装置に適用可能であることをそのセクションで説明している。このパラグラフに説明されているメモリセルを、本発明と共に用いることもできる。従って、本明細書で説明される技術は、異なるメモリセルの誘電体領域間の結合にも適用される。
【００２２】
各セルに２つのビットを記憶する別の方式は、Ｅｉｔａｎらの「ＮＲＯＭ：Ａ  ＮＯｖｅｌ  Ｌｏｃａｌｉｚｅｄ  Ｔｒａｐｐｉｎｇ，２−Ｂｉｔ  Ｎｏｎｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｃｅｌｌ」，ＩＥＥＥ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｌｅｔｔｅｒｓ，ｖｏｌ．２１，ｎｏ．１１，２０００年１１月、５４３〜５４５ページに説明されている。ＯＮＯ誘電体層は、ソース及びドレイン拡散部の間のチャネルに亘って延びている。１つのデータビットの電荷はドレインに隣接する誘電体層内に局所化され、他のデータビットの電荷はソースに隣接する誘電体層内に局所化される。マルチ状態データストレージは、誘電体内の空間的に分離した電荷ストレージ領域のバイナリ状態を別個に読み出すことによって得られる。このパラグラフで説明したメモリセルも、本発明と共に用いることができる。
【００２３】
図４は、図１〜３に示したようなＮＡＮＤセルのアレイの一例を示している。各列に沿って、ビットライン２０６はＮＡＮＤストリング１５０のドレイン選択ゲートのドレイン端子１２６に接続している。ＮＡＮＤストリングの各行に沿って、ソースライン２０４はＮＡＮＤストリングのソース選択ゲートのすべてのソース端子１２８に接続できる。メモリシステムの一部としてのＮＡＮＤアーキテクチャアレイ及びその動作の一例は、米国特許第５，５７０，３１５号、第５，７７４，３９７号、及び第６，０４６，９３５号に記載されている。
【００２４】
メモリセルのアレイは、メモリセルの多数のブロックに分割される。フラッシュＥＥＰＲＯＭシステムでは一般的なように、ブロックは消去のユニットである。つまり、各ブロックは、共に消去される最小数のメモリセルを有する。各ブロックは、一般に複数のページに分割される。ページはプログラミングの単位である。一実施形態では、個々のページはセグメントに分割され、セグメントは基本プログラミング動作として一度に書き込まれる最小数のセルを有することができる。一般に、メモリセルの１行に１ページ以上のデータを記憶する。１ページは１つ以上のセクタを記憶できる。１つのセクタは、ユーザデータとオーバヘッドデータを有する。オーバヘッドデータは一般に、そのセクタのユーザデータから計算された誤り訂正符号（ＥＣＣ）を有する。制御部（後に説明）の一部は、データがアレイ内にプログラムされるときにＥＣＣを計算し、さらにデータがアレイから読み出されるときにそれをチェックする。また、ＥＣＣ及び／又は他のオーバヘッドデータは、それらが関連するユーザデータ以外の異なるページもしくは異なるブロックにさえ記憶される。
【００２５】
ユーザデータのセクタは一般に５１２バイトであり、磁気ディスクドライブ内のセクタのサイズに対応する。オーバヘッドデータは一般に、追加の１６〜２０バイトである。多数のページがブロックを構成し、それは８ページから、例えば最大３２、６４，１２８またはそれ以上のページのいずれであってもよい。いくつかの実施形態では、ＮＡＮＤストリングの列がブロックを有する。
【００２６】
一実施形態では、メモリセルは、十分な時間、消去電圧（例えば、２０Ｖ）までｐウェルを上昇させ、ソースラインとビットラインをフローティングさせながら選択ブロックのワードラインを接地することによって消去される。容量性結合によって、非選択ワードライン、ビットライン、選択ライン、及びｃソースも消去電圧のかなりの割合まで上昇させられる。このようにして選択メモリセルのトンネル酸化物層に強電界が印加され、一般的にはファウラー−ノルドハイムトンネリング機構によって、フローティングゲートの電子が基板側に放出されるとき選択メモリセルのデータが消去される。電子がフローティングゲートからｐウェル領域に送られると、選択セルの閾値電圧は低下する。消去は、メモリアレイ全体、別個のブロック又は別のユニットのセル上で実行できる。
【００２７】
図５は、本発明の一実施形態による１ページのメモリセルを並列に読み出し及びプログラミングする読み出し／書き込み回路を備えたメモリ装置２９６を示している。メモリ装置２９６は、１つ以上のメモリダイ２９８を有する。メモリダイ２９８は、２次元のアレイのメモリセル３００、制御回路３１０、及び読み出し／書き込み回路３６５を有する。いくつかの実施形態では、メモリセルのアレイは３次元であり得る。メモリアレイ３００は行復号部３３０を介してワードラインによって、及び、列復号部３６０を介してビットラインによってアドレスできる。読み出し／書き込み回路３６５は複数の検出ブロック４００を有しており、１ページのメモリセルを並列に読み出し又はプログラムすることができる。一般に、制御部３５０は、１つ以上のメモリダイ２９８のように同じメモリ装置２９６（例えば、取り外し可能なストレージカード）内に含まれる。コマンド及びデータは、ライン３２０を介してホストと制御部３５０の間、及びライン３１８を介して制御部と１つ以上のメモリダイ２９８の間で送られる。
【００２８】
制御回路３１０は、読み出し／書き込み回路３６５と協調して、メモリアレイ３００上でメモリ動作を実行する。制御回路３１０は、状態マシン３１２、オンチップアドレス復号部３１４及び電力制御モジュール３１６を有している。状態マシン３１２は、メモリ動作のチップレベル制御を提供する。オンチップアドレス復号部３１４は、ホスト又はメモリ制御部によって用いられるとともに、復号部３３０及び３６０によって用いられるハードウェアアドレスの間のアドレスインタフェースを提供する。電力制御モジュール３１６は、メモリ動作中にワードライン及びビットラインに供給される電力及び電圧を制御する。
【００２９】
いくつかの実装形態では、図５の構成要素のいくつかを統合することができる。多様な設計では、メモリセルアレイ３００以外の図５の構成要素の１つまたは複数を（単独でまたは組み合わせて）１つの管理回路と見なすことができる。例えば、１つまたは複数の管理回路は、制御回路３１０、状態マシン３１２、復号部３１４／３６０、電力制御３１６、検出ブロック４００、読み出し／書き込み回路３６５、制御部３５０等の内の１つ、または組み合わせを有していてもよい。
【００３０】
図６は、図５に示したメモリ装置２９６の別の構成を示している。様々な周辺回路によるメモリアレイ３００へのアクセスはアレイの両側で対称的に実装されており、各側のアクセスライン及び回路の密度が半分に低減されている。従って、行復号部は行復号部３３０Ａと３３０Ｂに分割され、列復号部は列復号部３６０Ａと３６０Ｂに分割されている。同様に、読み出し／書き込み回路は、アレイ３００の底部からビットラインに接続する読み出し／書き込み回路３６５Ａと、アレイ３００の上部からビットラインに接続する読み出し／書き込み回路３６５Ｂに分割されている。この方法により、読み出し／書き込みモジュールの密度は本質的に二分の一に低減される。図６の装置は、図５の装置で上述したような制御部を有することもできる。
【００３１】
図７は、検出モジュール３８０、及び共通部３９０と呼ばれるコア部内で分割された個々の検出ブロック４００のブロック図である。一実施形態では、各ビットラインの別個の検出モジュール３８０と、複数の検出モジュール３８０の集合の１つの共通部３９０があってもよい。一例では、検出ブロックは、１つの共通部３９０と８つの検出モジュール３８０を有することができる。グループ内の各検出モジュールは、データバス３７２を介して関連する共通部と通信できる。さらなる詳細としては、米国特許出願第１１／０２６，５３６号、「Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  ＆  Ｍｅｔｈｏｄ  ｗｉｔｈ  Ｓｈａｒｅｄ  Ｐｒｏｃｅｓｓｉｎｇ  ｆｏｒ  ａｎ  Ａｇｇｒｅｇａｔｅ  ｏｎ  Ｓｅｎｓｅ  Ａｍｐｌｉｆｉｅｒｓ」、出願日０４年１２月２９日を参照する。その全体は参照することにより本明細書に組み込まれる。
【００３２】
検出モジュール３８０は検出回路３７０を有しており、検出回路３７０は接続されたビットライン内の伝導電流が所定の閾値レベルより高いか低いかを判定する。検出モジュール３８０はさらにビットラインラッチ３８２を有しており、ビットラインラッチ３８２は接続されたビットライン上の電圧条件を設定するために用いられる。例えば、ビットラインラッチ３８２内にラッチされる所定の状態によって、接続されたビットラインはプログラム禁止を指定する状態（例えば、Ｖｄｄ）とされる。
【００３３】
共通部３９０は、プロセッサ３９２、１セットのデータラッチ３９４、及び１セットのデータラッチ３９４とデータバス３２０の間を接続するＩ／Ｏインタフェース３９６を有する。プロセッサ３９２は計算を実行する。例えば、その機能の１つは、検出されたメモリセル内に記憶されているデータを判定し、判定したデータを１セットのデータラッチ内に記憶することである。１セットのデータラッチ３９４は、読み出し動作中に、プロセッサ３９２によって判定されたデータビットを記憶するために用いられる。それは、プログラム動作中に、データバス３２０から取り込まれたデータビットを記憶するためにも用いられる。取り込まれたデータビットは、メモリ内にプログラムする予定の書き込みデータを表す。Ｉ／Ｏインタフェース３９６は、データラッチ３９４とデータバス３２０の間のインタフェースを提供する。
【００３４】
読み出し又は検出中には、システムの動作は状態マシン３１２の制御下にあり、状態マシン３１２はアドレスされたセルへの異なる制御ゲート電圧の供給を制御する。メモリによってサポートされた様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む際に、検出モジュール３８０はこれらの電圧の１つに移動し、バス３７２を介して検出モジュール３８０からプロセッサ３９２に出力が提供される。その時点で、プロセッサ３９２は、検出モジュールの移動イベントと、状態マシンから入力ライン３９３を介して印加された制御ゲート電圧についての情報を考慮することによって得られたメモリ状態を決定する。それから、メモリ状態に対するバイナリ符号化を計算し、得られたデータビットをデータラッチ３９４に記憶する。コア部の別の実施形態では、ビットラインラッチ３８２は、検出モジュール３８０の出力をラッチするラッチ、及び上記のようなビットラインラッチの両方としてダブルデューティを提供する。
【００３５】
当然のことながら、いくつかの実装形態では複数のプロセッサ３９２を有することができる。一実施形態では、各プロセッサ３９２は出力ライン（図７には示されていない）を有し、各出力ラインは共にワイヤードＯＲ接続される。いくつかの実施形態では、出力ラインは、ワイヤードＯＲラインに接続する前に反転される。ワイヤードＯＲを受け取る状態マシンはプログラムされる全てのビットがいつ所望のレベルに到達するかを決定できる。したがって、この構成はプログラミング処理がいつ完了するかについてのプログラム検証処理中の素早い決定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理０がワイヤードＯＲラインに送られる（又はデータ１を反転させる）。全てのビットがデータ０を出力する（又はデータ１を反転させる）と、状態マシンはプログラミング処理を終了することを認識する。各プロセッサは８つの検出モジュールと通信するので、状態マシンはワイヤードＯＲラインを８回読み出す必要があるか、あるいは、関連するビットラインの結果を蓄積するために論理がプロセッサ３９２に追加され、状態マシンがワイヤードＯＲラインを一度だけ読み出せばいいようにする。同様に、論理レベルを正しく選ぶことによって、グローバルな状態マシンは、いつ第１ビットがその状態を変更し、アルゴリズムを相応して変更するのかを検出できる。
【００３６】
プログラム又は検証中に、プログラムされるデータはデータバス３２０から１セットのデータラッチ３９４内に記憶される。状態マシンの制御下のプログラム動作は、アドレスされるメモリセルの制御ゲートに印加される一連のプログラミング電圧パルスを有する。各プログラミングパルスに続いて読み戻し（検証）が実行され、セルが所望のメモリ状態にプログラムされたかどうかを特定する。プロセッサ３９２は、所望のメモリ状態に対する読み戻しメモリ状態を監視する。その２つが一致する場合、プロセッサ３９２はビットラインラッチ３８２を設定し、プログラム禁止を指定する状態にビットラインを引っ張る。これにより、たとえプログラミングパルスがその制御ゲートに現れても、ビットラインに接続したセルがさらにプログラムされないようにする。他の実施形態では、プロセッサが最初にビットラインラッチ３８２をロードし、検出回路が検証処理中に禁止値にそれを設定する。
【００３７】
データラッチスタック３９４は、検出モジュールに対応するデータラッチのスタックを有する。一実施形態では、検出モジュール３８０毎に３つのデータラッチが存在する。いくつかの実装形態では、（必須ではないが）データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス３２０のシリアルデータに変換したり、その逆を行ったりする。好適な実施形態では、ｍ個のメモリセルの読み出し／書き込みブロックに対応する全てのデータラッチを共にリンクさせてブロックシフトレジスタを構成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、ｒ個の読み出し／書き込みモジュールのバンクを調整し、そのセットのデータラッチが読み出し／書き込みブロックの全体のシフトレジスタの一部であっても、そのセットのデータラッチのそれぞれが順にデータバスの内外にデータをシフトできるようにする。
【００３８】
不揮発性記憶装置の多様な実施形態の構造及び／または動作についての追加情報は、（１）米国特許出願公開第２００４／００５７２８７号、「Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｗｉｔｈ  Ｒｅｄｕｃｅｄ  Ｓｏｕｒｃｅ  Ｌｉｎｅ  Ｂｉａｓ  Ｅｒｒｏｒｓ」、公開日２００４年３月２５日、（２）米国特許出願公開第２００４／０１０９３５７号、「Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ａｎｄ  Ｍｅｔｈｏｄ  ｗｉｔｈ  Ｉｍｐｒｏｖｅｄ  Ｓｅｎｓｉｎｇ」、公開日２００４年６月１０日、（３）米国特許出願第１１／０１５，１９９号、「Ｉｍｐｒｏｖｅｄ  Ｍｅｍｏｒｙ  Ｓｅｎｓｉｎｇ  Ｃｉｒｃｕｉｔ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｆｏｒ  Ｌｏｗ  Ｖｏｌｔａｇｅ  Ｏｐｅｒａｔｉｏｎ」、発明者Ｒａｕｌ−Ａｄｒｉａｎ  Ｃｅｒｎｅａ、出願日０４年１２月１６日、（４）米国特許出願第１１／０９９，１３３号、「Ｃｏｍｐｅｎｓａｔｉｎｇ  ｆｏｒＣｏｕｐｌｉｎｇ  Ｄｕｒｉｎｇ  Ｒｅａｄ  Ｏｐｅｒａｔｉｏｎｓ  ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」、発明者Ｊｉａｎ  Ｃｈｅｎ、出願日２００５年４月５日、及び（５）米国特許出願第１１／３２１，９５３号、「Ｒｅｆｅｒｅｎｃｅ  Ｓｅｎｓｅ  Ａｍｐｌｉｆｉｅｒ  Ｆｏｒ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」、発明者Ｓｉｕ  Ｌｕｎｇ  Ｃｈａｎ及びＲａｕｌ−Ａｄｒｉａｎ  Ｃｅｒｎｅａ、出願日２００５年１２月２８日に記載されている。上記５つの特許文献の全ては、その全体を参照することにより本明細書に組み込まれる。
【００３９】
図８は、不揮発性メモリをプログラムする方法の一実施形態を説明するフローチャートである。一実装形態では、メモリセルはプログラミング前に（ブロック又は他のユニットで）消去される。図８のステップ４００では、「データロード」コマンドが制御部によって発行され、制御回路３１０で入力を受け取る。ステップ４０２では、ページアドレスを指定するアドレスデータを制御部又はホストから復号部３１４に入力する。ステップ４０４では、アドレスされたページのプログラムデータの１ページをプログラミングのためにデータバッファに入力する。そのデータは、適切なセットのラッチ内にラッチされる。ステップ４０６では、「プログラム」コマンドが、制御部によって状態マシン３１２に発行される。
【００４０】
「プログラム」コマンドによってトリガされ、ステップ４０４でラッチしたデータは、適切なワードラインに印加した図９のステップパルスを用いて、状態マシン３１２によって制御された選択メモリセル内にプログラムされる。ステップ４０８で、プログラム電圧Ｖｐｇｍを開始パルス（例えば、１２Ｖまたは他の値）に初期化し、状態マシン３１２によって維持されるプログラムカウンタＰＣは０に初期化する。ステップ４１０では、第１Ｖｐｇｍパルスを選択ワードラインに印加する。対応するメモリセルをプログラムすべきことを示す論理「０」が特定のデータラッチ内に記憶された場合、対応するビットラインを接地する。一方、対応するメモリセルがその電流データ状態に留まるべきことを示す論理「１」が特定のラッチ内に記憶された場合、プログラミングを禁止するために対応するビットラインをＶｄｄに接続する。
【００４１】
ステップ４１２では、選択メモリセルの状態を検証する。選択セルの対象閾値電圧が適切なレベルに到達したことが検出された場合、対応するデータラッチ内に記憶したデータは論理「１」に変更される。閾値電圧が適切なレベルに到達していないことが検出された場合、対応するデータラッチ内に記憶したデータは変更されない。このように、その対応するデータラッチ内に記憶した論理「１」を有するビットラインはプログラムする必要はない。全てのデータラッチが論理「１」を記憶しているときに、状態マシンは（上記のワイヤードＯＲ型機構によって）全ての選択セルがプログラムされたことを認識する。ステップ４１４では、全てのデータラッチが論理「１」を記憶しているかどうかを確認する。そうであれば、全ての選択メモリセルがプログラムされて検証されたので、プログラミング処理を完了し成功とする。ステップ４１６では、「成功」の状態を報告する。一実施形態では、ステップ４１２の検証は、他の非選択メモリセルに提供される電圧とは異なる１つ以上の電圧を、プログラムされているメモリセルに隣接するメモリセルに印加することを含む。例えば、ワードラインＷＬｎ上のメモリセルがプログラムされている場合には、ワードラインＷＬｎ＋１上のメモリセルに印加される電圧は他の非選択ワードラインに印加される電圧とは異なる。この補償については、後に図１０を用いて詳述する。
【００４２】
ステップ４１４において、全てのデータラッチが論理「１」を記憶しているとは限らないと判定された場合、プログラミング処理は継続する。ステップ４１８では、プログラム限界値ＰＣＭＡＸに対してプログラムカウンタＰＣを確認する。プログラム限界値の一例は２０であるが、他の値を用いることもできる。プログラムカウンタＰＣが２０以上であれば、プログラム処理は失敗し、ステップ４２０で「不合格」の状態を報告する。プログラムカウンタＰＣが２０未満であれば、Ｖｐｇｍレベルがステップサイズだけ増加されて、ステップ４２２でプログラムカウンタＰＣが増大される。ステップ４２２の後、処理のループはステップ４１０に戻って次のＶｐｇｍパルスを印加する。
【００４３】
図９は、プログラミングのために選択されたワードラインに印加される一連のプログラムパルスを示す。プログラムパルスの間には検証パルス（不図示）のセットがある。いくつかの実施形態では、データがプログラミングされている状態ごとに検証パルスがある。他の実施形態では、さらに多くのまたはさらに少ない検証パルスがあり得る。
【００４４】
一実施形態では、データは共通ワードラインに沿ってメモリセルにプログラムされる。従って、図９のプログラムパルスを印加する前に、ワードラインの内の１つがプログラミングに選択される。このワードラインは選択ワードラインと呼ばれる。ブロックの残りのワードラインは非選択ワードラインと呼ばれる。選択ワードラインは、１つまたは２つの隣接するワードラインを有することがある。選択ワードラインが２つの隣接ワードラインを有する場合、ドレイン側の隣接ワードラインはドレイン側隣接ワードラインと呼ばれ、ソース側の隣接ワードラインはソース側隣接ワードラインと呼ばれる。例えば、図２のＷＬ２が選択ワードラインである場合は、ＷＬ１がソース側隣接ワードラインであり、ＷＬ３がドレイン側隣接ワードラインである。
【００４５】
メモリセルの各ブロックは、列を構成するビットラインのセットと、行を構成するワードラインのセットを含む。一実施形態では、ビットラインは奇数ビットラインと偶数ビットラインに分けられる。共通ワードラインに沿っており、奇数ビットラインに接続されているメモリセルは所定のタイミングでプログラムされる。また、共通ワードラインに沿っており、偶数ビットラインに接続されているメモリセルは別のタイミングでプログラムされる（「奇数／偶数プログラミング」）。別の実施形態では、メモリセルは、ブロック内の全てのビットラインについて、１本のワードラインに沿ってプログラムされる（「全ビットラインプログラミング」）。他の実施形態では、ビットラインまたはブロックを他のグループに分割できる（例えば、左と右、３つ以上のグループ等）。
【００４６】
図１０は、読み出し処理または検証処理の１回の反復の間の多様な信号の動作を示すタイミング図である。例えば、メモリセルがバイナリメモリセルである場合、図１０の処理は、ステップ４１２の反復中に各メモリセルに１回実行され得る。メモリセルが４つの状態（例えば、Ｅ、Ａ、Ｂ及びＣ）を有するマルチ状態メモリセルである場合、図１０の処理はステップ４１２の反復の間に各メモリセルに対して３回実行され得る。
【００４７】
一般的には、読み出し動作と検証動作の間においては選択ワードラインには電圧が印加され、そのレベルは、関係するメモリセルの閾値電圧がこのようなレベルに到達したかどうかを判定するために、読み出し動作と検証動作ごとに指定される。ワードライン電圧を印加した後、ワードラインに印加された電圧に応じてメモリセルがオンになったかどうかを判定するために、メモリセルの伝導電流が測定される。伝導電流が特定の値より大きいと測定される場合、メモリセルがオンし、ワードラインに印加された電圧がメモリセルの閾値電圧より大きいと仮定される。伝導電流が特定の値を超えていないと測定されると、メモリセルがオンにならず、ワードラインに印加された電圧がメモリセルの閾値電圧を超えていないと仮定される。
【００４８】
読み出し動作または検証動作の間にメモリセルの伝導電流を測定する多くの方法がある。一例では、メモリセルの伝導電流は、それがセンス増幅器内の専用コンデンサを放電する速度で測定される。一実施形態では、全ビットラインプログラミングを使用するメモリアレイは、それがセンス増幅器内の専用コンデンサを放電する速度でメモリセルの伝導電流を測定できる。別の例では、選択されたメモリセルの伝導電流は、メモリセルを含むＮＡＮＤストリングがビットラインを放電することを可能にする（または可能にすることができない）。ビットライン上の電荷は、それが放電されたかどうかを確かめるためにある期間の後に測定される。一実施形態では、奇数／偶数プログラミングを使用するメモリアレイは、ビットラインが放電したかどうかを判定することによってメモリセルの伝導電流を測定できる。図１０は両方の例を説明する。
【００４９】
図１０は、信号ＳＧＤ、ＷＬ＿ｕｎｓｅｌ、ＷＬｎ＋１、ＷＬｎ、ＳＧＳ、選択ＢＬ、ＢＬＣＬＡＭＰ及びＶｓｓ（約０ボルト）で開始するソースを示す。ＳＧＤは、ドレイン側選択ゲートのゲートを表す。ＳＧＳはソース側選択ゲートのゲートである。ＷＬｎは読み出し／検証のために選択されたワードラインである。ＷＬｎ＋１は、ＷＬｎに対するドレイン側隣接ワードラインである非選択ワードラインである。ＷＬ＿ｕｎｓｅｌは、ドレイン側隣接ワードライン以外の非選択ワードラインを表す。選択ＢＬは読み出し／検証のために選択されたビットラインである。ソースは、メモリセルのためのソースラインである（図４を参照）。ＢＬＣＬＡＭＰは、センス増幅器から充電されるときにビットラインの値を設定するアナログ信号である。ＳＧＳ、選択ＢＬ、及びＢＬＣＬＡＭＰの２つのバージョンが示されていることに注意する。これらの信号ＳＧＳ（Ｂ）、選択ＢＬ（Ｂ）及びＢＬＣＬＡＭＰ（Ｂ）からなるセットは、ビットラインが放電したかどうかを判定することによってメモリセルの伝導電流を測定するメモリセルのアレイの読み出し／検証動作を示す。信号ＳＧＳ（Ｃ）、選択ＢＬ（Ｃ）、及びＢＬＣＬＡＭＰ（Ｃ）からなるもう一つのセットは、それがセンス増幅器内の専用コンデンサを放電する速度によって、メモリセルの伝導電流を測定するメモリセルのアレイのための読み出し／検証動作を示している。
【００５０】
最初に、ビットラインが放電したかどうかを判定することによってメモリセルの伝導電流を測定するときに必要とされる検出回路とメモリセルのアレイの動作を、ＳＧＳ（Ｂ）、選択ＢＬ（Ｂ）、及びＢＬＣＬＡＭＰ（Ｂ）に関して説明する。図１０の時刻ｔ１で、ＳＧＤはＶｄｄ（例えば約３．５ボルト）まで上昇され、非選択ワードライン（ＷＬ＿ｕｎｓｅｌ）はＶｒｅａｄ（例えば約５．５ボルト）まで上昇され、ドレイン側隣接ワードライン（ＷＬｎ＋１）はＶｒｅａｄＸまで上昇され、選択ワードラインＷＬｎは、読み出し動作のためのＶｃｇｒ（例えば図１１のＶｒａ、Ｖｒｂ、またはＶｒｃ）あるいは検証動作のための検証レベル（例えば図１１のＶｖａ、Ｖｖｂ、またはＶｖｃ）まで上昇され、ＢＬＣＬＡＭＰ（Ｂ）は選択ビットライン選択ＢＬ（Ｂ）をプリチャージするためにプリチャージ電圧（例えば約０．７ボルト）まで上昇される。電圧ＶｒｅａｄとＶｒｅａｄＸは、非選択メモリセルをオンにし、通過ゲートとして動作するため、通過電圧として機能する。時刻ｔ２で、ＢＬＣＬＡＭＰ（Ｂ）は、ＮＡＮＤストリングがビットラインを制御できるようにＶｓｓまで引き下げられる。また、時刻ｔ２では、ＳＧＳ（Ｂ）をＶｄｄに上げることで、ソース側選択ゲートがオンになる。これは、ビットライン上の電荷を消滅させるための経路となる。読み出しのために選択されたメモリセルの閾値電圧がＶｃｇｒまたは選択ワードラインＷＬｎに印加される検証レベルより大きい場合には、信号線４５０に示すように、選択メモリセルはオンにならず、ビットラインは放電しない。読み出しに選択されたメモリセル内の閾値電圧がＶｃｇｒ未満または選択ワードラインＷＬｎに印加される検証レベル未満である場合には、曲線４５２に示すように、読み出しに選択されたメモリセルはオンになり（導通し）、ビットライン電圧は消滅する。（特定の実装形態によって決定されるような）時刻ｔ２後、かつ、時刻ｔ３前のポイントで、センス増幅器は、ビットラインが十分な量消散したかどうかを判定する。図１０に示すように、ＢＬＣＬＡＭＰ（Ｂ）は、ｔ２とｔ３の間で、センス増幅器に評価ＢＬ電圧を測定させるために上昇され、それから引き下げられる。時刻ｔ３では、示されている信号はＶｓｓ（またはスタンバイまたは修復のための別の値）まで引き下げられる。他の実施形態では、信号のいくつかのタイミングを変更できる（例えば、隣に印加される信号をシフトする）ことに注意する。
【００５１】
次に、センス増幅器内の専用コンデンサを放電する速度によってメモリセルの伝導電流を測定するときの検出回路とメモリセルのアレイの動作を、ＳＧＳ（Ｃ）、選択ＢＬ（Ｃ）及びＢＬＣＬＡＭＰ（Ｃ）に関して説明する。図１０の時刻ｔ１で、ＳＧＤはＶｄｄ（例えば約３．５ボルト）に上昇され、非選択ワードライン（ＷＬ＿ｕｎｓｅｌ）がＶｒｅａｄ（例えば約５．５ボルト）に上昇され、ドレイン側隣接ワードライン（ＷＬｎ＋１）がＶｒｅａｄＸに上昇され、選択ワードラインＷＬｎが、読み出し動作のためのＶｃｇｒ（例えば図１１のＶｒａ、Ｖｒｂ及びＶｒｃ）または検証動作のための検証レベル（例えば図１１のＶｖａ、ＶｖｂまたはＶｖｃ）に上昇され、ＢＬＣＬＡＭＰ（Ｃ）が上昇される。このケースでは、センス増幅器は、ＮＡＮＤストリングが何を行っているのかに関係なくビットライン電圧を一定に保持し、センス増幅器はその電圧に「固定された」ビットラインを流れる電流を測定する。従って、ＢＬＣＬＡＭＰ（Ｃ）はｔ１で上昇し、ｔ１からｔ３の間で変化しない。（特定の実装形態によって決定されるような）時刻ｔ１の後、かつ、時間ｔ３の前のポイントで、センス増幅器は、センス増幅器内のコンデンサが十分な量消散したかどうかを判定する。時刻ｔ３で、示されている信号はＶｓｓ（またはスタンバイまたは修復のための別の値）に引き下げられる。他の実施形態では、信号のいくつかのタイミングを変更できることに注意されたい。
【００５２】
前述したように、制御ゲートから測定されるような不揮発性メモリセルのフローティングゲート（または他の電荷ストレージ素子）の見かけの閾値電圧のシフトは、隣接するフローティングゲート（または他の隣接する電荷ストレージ素子）に蓄えられる電荷に基づいた電界の結合のために発生し得る。問題は、異なるときにプログラムされた隣接メモリセルのセットの間でもっとも顕著に発生する。この結合を排除するために、ある特定のメモリセルのための読み出し処理が、隣接メモリセルが特定のメモリセルに与える結合影響を低減するためにその隣接セルに補償を提供する。また、一実施形態は、検証処理の間に、隣接メモリセルに対して後に補償を適用するために必要となる条件を設定することも含む。このような実施形態では、ＷＬｎ＋１に印加される別名ＶＲＥＡＤとして知られるオーバードライブ／バイパス電圧が、例えば典型的な６Ｖという値から、例えば３Ｖまで引き下げられる。補償は、プログラム／検証動作の検証段階の間に使用された電圧と比較してより高い電圧を、ＷＬｎに対して実行される読み出し動作の間にＷＬｎ＋１に印加することによって行われる。言い換えると、補償とは、変更／デルタ：△ＶＲＥＡＤ＝｛［ＶＲＥＡＤ（ＷＬｎの読み出し中のＷＬｎ＋１）］−［ＶＲＥＡＤ（ＷＬｎの検証中のＷＬｎ＋１）］｝から成り立っている。検証の間により低いＶＲＥＡＤ値を使用する優位点は、必要とされる△ＶＲＥＡＤを維持しながら、ＶＲＥＡＤの名目値を後に読み出し動作の間に印加できるようになるという点である。検証中にＶＲＥＡＤの名目値より低い値を使用することがなければ、十分な△ＶＲＥＡＤの印加を可能にする読み出し中のＶＲＥＡＤの必要な値は、例えば、読み出し外乱状態をもたらすほど高いＶＲＥＡＤ電圧のように高すぎる電圧である６＋３＝９Ｖとなったであろう。このような後の補償のために設定する例は、他の非選択ワードラインがＶｒｅａｄを受ける間におけるドレイン側隣接ワードラインへのＶｒｅａｄＸの印加として図１０に示されている。多くの従来の技術の装置では、非選択ワードラインのすべてがＶｒｅａｄを受けるであろう。図１０の実施形態では、ドレイン側の隣を除く非選択ワードラインのすべてがＶｒｅａｄを受ける。また、ドレイン側の隣接ワードラインはＶｒｅａｄＸを受ける。
【００５３】
メモリセルがソース側からドレイン側にプログラムされる検証処理の場合、ワードラインＷＬｎに書き込むときに、ワードラインＷＬｎ＋１上の全てのメモリセルが消去状態（例えば状態Ｅ）にあることが（一実施形態で）保証される（注意  これは、完全なシーケンスに当てはまり、ＬＭモードには当てはまらない。上述の例を参照。）。ワードラインＷＬｎ＋１は電圧レベルＶｒｅａｄＸを受け、ＶｒｅａｄＸ＝Ｖｒｅａｄ４（後述される）である。一実施形態では、Ｖｒｅａｄ４は３．７ｖに等しい。別の実施形態では、ＶｒｅａｄＸ＝Ｖｒｅａｄである。他の実施形態では、他の値も使用できる。さまざまな実装形態で、装置の特徴、実験及び／またはシミュレーションに基づいて、Ｖｒｅａｄ４またはＶｒｅａｄＸの異なる値を求めることができる。
【００５４】
成功したプログラム処理の最後では、メモリセルの閾値電圧はプログラムしたメモリセルの閾値電圧の１つ以上の分布内、又は、必要に応じて消去したメモリセルの閾値電圧分布内にあるべきである。図１１は、各メモリセルが２ビットのデータを記憶している場合のメモリセルアレイの閾値電圧分布を示している。図１１は、消去したメモリセル用の第１の閾値電圧分布Ｅを示している。プログラムしたメモリセルの３つの閾値電圧分布Ａ、Ｂ及びＣも示している。一実施形態では、分布Ｅ内の閾値電圧は負であり、分布Ａ、Ｂ及びＣ内の閾値電圧は正である。
【００５５】
図１１の異なる閾値電圧範囲の各々は、データビットのセットの所定の値に対応する。メモリセルにプログラムされたデータとセルの閾値電圧レベルの間の具体的な関係は、セルに対して採用されるデータ符号化方式に依存する。例えば、米国特許第６，２２２，７６２号及び米国特許出願第１０／４６１，２４４号、「Ｔｒａｃｋｉｎｇ  Ｃｅｌｌｓ  Ｆｏｒ  Ａ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍ」、出願日２００３年６月１３日（両方とも全体として参照によって本明細書に組み込まれる）は、マルチ状態フラッシュメモリセルの様々なデータ符号化方式を説明している。一実施形態では、データ値はグレイ符号割り当てを用いて閾値電圧範囲に割り当てられ、フローティングゲートの閾値電圧がその隣接する物理状態に誤ってシフトしても、１ビットだけが影響を受けるようにする。一例では、「１１」を閾値電圧範囲Ｅ（状態Ｅ）、「１０」を閾値電圧範囲Ａ（状態Ａ）、「００」を閾値電圧範囲Ｂ（状態Ｂ）、「０１」を閾値電圧範囲Ｃ（状態Ｃ）に割り当てる。しかし、他の実施形態ではグレイ符号は用いられない。図１１は４つの状態を示しているが、本発明は４つの状態より多い、又は少ない状態を含む他のマルチ状態構造と共に用いることもできる。
【００５６】
図１１はさらに、メモリセルからデータを読み出すための３つの読み出し基準電圧Ｖｒａ、Ｖｒｂ及びＶｒｃを示している。所定のメモリセルの閾値電圧がＶｒａ、Ｖｒｂ及びＶｒｃより高いか、低いかをテストすることによって、システムはメモリセルがどの状態にあるかを特定できる。
【００５７】
図１１は、３つの検証基準電圧Ｖｖａ、Ｖｖｂ及びＶｖｃも示している。メモリセルを状態Ａにプログラムする場合、システムは、それらのメモリセルがＶｖａ以上の閾値電圧を有するか否かをテストする。メモリセルを状態Ｂにプログラムする場合、システムは、メモリセルがＶｖｂ以上の閾値電圧を有するか否かをテストする。メモリセルを状態Ｃにプログラムする場合、システムはメモリセルがＶｖｃ以上の閾値電圧を有するか否かを判定する。
【００５８】
全シーケンスプログラミングとして知られる一実施形態では、メモリセルは、消去状態Ｅから、プログラム状態Ａ、ＢまたはＣの何れにも直接的にプログラムできる。例えば、集合内の全てのメモリセルが消去状態Ｅになるように、プログラムされるメモリセルの集合が最初に消去される。次に、図９に示す制御ゲート電圧シーケンスを使用する図１８に示すプロセスが、メモリセルを状態Ａ、ＢまたはＣに直接的にプログラムするために使用される。いくつかのメモリセルは状態Ｅから状態Ａにプログラムされるが、他のメモリセルは状態Ｅから状態Ｂに、及び／または状態Ｅから状態Ｃにプログラムされる。ＷＬｎ上で状態Ｅから状態Ｃにプログラムする場合、状態Ｅから状態Ａに、あるいは、状態Ｅから状態Ｂにプログラミングするときの電圧の変化に比べて、ＷＬｎ下のフローティングゲートの電荷量の変化が最大になるため、ＷＬｎ−１下の隣接するフローティングゲートに対する寄生結合の量は最大となる。状態Ｅから状態Ｂにプログラムするとき、隣接フローティングゲートに対する結合量は少なくなるが、依然としてかなりの量である。状態Ｅから状態Ａにプログラムするときには、結合の量はさらに少なくなる。その結果、ＷＬｎ−１の各状態を後に読み出すために必要とされる訂正量は、ＷＬｎ上の隣接するセルの状態に応じて変化する。
【００５９】
図１２は、２つの異なるページ（下側ページと上側ページ）に対してデータを記憶するマルチ状態メモリセルをプログラムする二経路技術の一例を示している。状態Ｅ（１１）、状態Ａ（１０）、状態Ｂ（００）及び状態Ｃ（０１）の４つの状態が示されている。状態Ｅの場合、両方のページが「１」を記憶する。状態Ａの場合、下側ページが「０」を記憶し、上側ページが「１」を記憶する。状態Ｂの場合、両方のページが「０」を記憶する。状態Ｃの場合、下側ページが「１」を記憶し、上側ページが「０」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることも可能である。
【００６０】
第１プログラミング経路では、セルの閾値電圧レベルは下側の論理ページにプログラムされるビットに従って設定される。そのビットが論理「１」であれば、以前に消去された結果として適切な状態にあるので閾値電圧は変更されない。しかし、プログラムされるビットが論理「０」であれば、矢印５３０で示したように、セルの閾レベルは状態Ａになるように増大される。それは、第１プログラミング経路を結論付ける。
【００６１】
第２プログラミング経路では、セルの閾値電圧レベルは上側論理ページ内にプログラムされるビットに従って設定される。上側論理ページビットが論理「１」を記憶する場合、セルは下側ページビットのプログラミングに依存する状態Ｅ又はＡの一方であり、どちらも上側ページビットは「１」を保持するのでプログラミングは生じない。上側ページビットが論理「０」となる場合、閾値電圧はシフトされる。第１経路によってセルが消去状態Ｅに留まっていれば第２段階でセルをプログラムし、矢印５３４で示したように閾値電圧が状態Ｃ内になるように増大させる。第１プログラミング経路の結果としてセルが状態Ａ内にプログラムされれば、メモリセルはさらに第２経路でプログラムされ、矢印５３２で示したように閾値電圧が状態Ｂ内になるように増大させる。第２経路の結果は、下側ページ用のデータを変更することなく、上側ページの論理「０」を記憶するように指定した状態にセルをプログラムすることである。図１１と図１２の両方で、隣接ワードライン上のフローティングゲート結合量は最終状態に依存する。
【００６２】
一実施形態では、ページ全体を充填するのに十分なデータを書き込まれた場合、システムは全シーケンス書き込みを実行するように設定される。全ページに対して十分ではないデータが書き込まれた場合、プログラミング処理は受け取ったデータを用いて下側ページプログラミングを実行できる。次のデータを受け取ったとき、システムは上側ページをプログラムする。さらに別の実施形態では、システムは下側ページをプログラムするモードで書き込みを開始し、ワードラインのメモリセルの全体（又は大部分）を充填するために次の十分なデータを受け取った場合、全シーケンスプログラミングモードに変換する。このような実施形態のさらなる詳細は、発明者Ｓｅｒｇｙ  Ａｎａｔｏｌｉｅｖｉｃｈ  Ｇｏｒｏｂｅｔｓ及びＹａｎ  Ｌｉの米国特許出願第１１／０１３，１２５号、発明の名称「Ｐｉｐｅｌｉｎｅｄ  Ｐｒｏｇｒａｍｍｉｎｇ  ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｉｅｓ  Ｕｓｉｎｇ  Ｅａｒｌｙ  Ｄａｔａ」、出願日２００４年１２月１４日で開示されている。その全体は参照することによって本明細書に組み込まれる。
【００６３】
図１３Ａ−Ｃは、前のページの隣接メモリセルに書き込んだ後で、特定のページに対してその特定のメモリセルを書き込むことによって、その特定のメモリセルに対するフローティングゲート間結合影響を低減する不揮発性メモリをプログラムする別の方法を開示している。図１３Ａ−Ｃによって開示された処理の実装形態の一例では、不揮発性メモリセルは、４つのデータ状態を用いてメモリセル毎に２ビットのデータを記憶する。例えば、状態Ｅが消去状態であり、状態Ａ、Ｂ及びＣがプログラム状態であると仮定する。状態Ｅはデータ１１を記憶している。状態Ａはデータ０１を記憶している。状態Ｂはデータ１０を記憶している。状態Ｃはデータ００を記憶している。両方のビットは隣接する状態Ａ及びＢの間で変化するので、これは非グレイ符号化の一例である。データの物理的データ状態への他の符号化を用いることもできる。各メモリセルは２ページ分のデータを記憶する。参照目的のために、これらのページのデータは上側ページ及び下側ページと呼ばれるが、他のラベルを与えることもできる。図１３Ａ−Ｃの処理の状態Ａを参照すると、上側ページはビット０を記憶し、下側ページはビット１を記憶している。状態Ｂを参照すると、上側ページはビット１を記憶し、下側ページはビット０を記憶している。状態Ｃを参照すると、両方のページがビットデータ０を記憶している。
【００６４】
図１３Ａ−Ｃのプログラミング処理は、２つのステップの処理である。第１ステップでは、下側ページをプログラムする。下側ページがデータ１のままである場合、メモリセル状態は状態Ｅに留まる。データが０にプログラムされる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態Ｂ’にプログラムされる。従って、図１３Ａは、状態Ｅから状態Ｂ’へのメモリセルのプログラミングを示している。図１３Ａに示した状態Ｂ’は暫定的状態Ｂであり、従って、検証点はＶｖｂ’として示され、前記検証点はＶｖｂより低い。
【００６５】
一実施形態では、状態Ｅから状態Ｂ’にメモリセルをプログラムした後、ＮＡＮＤストリング内の隣接メモリセル（ＷＬｎ＋１）をその下側ページに対してプログラムする。例えば、図２を見直すと、メモリセル１０６用の下側ページをプログラムした後、メモリセル１０４の下側ページをプログラムする。メモリセル１０４をプログラムした後、メモリセル１０４が状態Ｅから状態Ｂ’に上昇した閾値電圧を有していた場合、フローティングゲート間結合影響はメモリセル１０６の見かけの閾値電圧を上昇させる。これは、図１３Ｂの閾値電圧分布５５０として示されたものに対して、状態Ｂ’の閾値電圧分布を拡大する影響を有する。閾値電圧分布のこの見かけの拡大は、上側ページをプログラムする際に修正される。
【００６６】
図１３Ｃは、上側ページをプログラムする処理を示している。メモリセルが消去状態Ｅであって上側ページが１に留まる場合、メモリセルは状態Ｅに留まる。メモリセルが状態Ｅであり、その上側ページデータが０にプログラムされる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態Ａになる。メモリセルが中間の閾値電圧分布５５０であって上側ページデータが１に留まる場合、メモリセルは最終的な状態Ｂにプログラムされる。メモリセルが中間の閾値電圧分布５５０であって上側ページデータがデータ０になる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態Ｃになる。隣接メモリセルの上側ページプログラミングだけが所定のメモリセルの見かけの閾値電圧に影響を与えるので、図１３Ａ−Ｃで示した処理はフローティングゲート間結合影響を低減する。別の状態符号化の一例は、上側ページデータが１であるとき分布５５０から状態Ｃに移動することであり、上側ページデータが０であるとき状態Ｂに移動することである。
【００６７】
図１３Ａ−Ｃは４つのデータ状態と２つのページデータに対する一例を提供するが、図１３Ａ−Ｃによって開示された概念は４つより多い、又は少ない状態、及び２つのページとは異なるページを備えた他の実装形態に適用することもできる。
【００６８】
図１４Ａ−Ｆは、図１１、図１２及び図１３Ａ−Ｃによって説明した方法の多様な実施形態に従ってプログラミングの順序を説明する多様な表を示している。
【００６９】
図１４Ａは、全ビットラインプログラミングにおけるビットラインに沿ってメモリセルをプログラムする順序を説明する表である。この実施形態では、４つのワードラインのあるブロックは４つのページ（ページ０から３）を含んでいる。ページ０が最初に書き込まれ、ページ１が続き、ページ２が続き、それからページ３が続く。ページ０中のデータは、ワードラインＷＬ０に接続されている全てのメモリセルによって記憶されるデータを含んでいる。ページ１中のデータは、ワードラインＷＬ１に接続されているメモリセルによって記憶されるデータを含んでいる。ページ２中のデータは、ＷＬ２に接続されているメモリセルによって記憶されるデータを含んでいる。ページ３の中のデータはワードラインＷＬ３に接続されているメモリセルによって記憶されるデータを含んでいる。図１４Ａの実施形態は、図１１に関して前述した全シーケンスプログラミングを想定している。
【００７０】
図１４Ｂは、図１１に関して前述した全シーケンスプログラミング法を使用する場合の奇数／偶数プログラミングの間におけるプログラミング順序を示している。この実施形態では、４つのワードラインのあるブロックは、８ページのデータを含む。ワードラインＷＬ０に接続されている偶数ビットライン上のメモリセルは、ページ０のデータを記憶する。ワードラインＷＬ０に接続されている奇数ビットライン上のメモリセルは、ページ１のデータを記憶する。ワードラインＷＬ１に接続されている偶数ビットライン上のメモリセルは、ページ２のデータを記憶する。ワードラインＷＬ１に接続されている奇数ビットライン上のメモリセルは、ページ３のデータを記憶する。ワードラインＷＬ２に接続されている偶数ビットライン上のメモリセルは、ページ４のデータを記憶する。ワードラインＷＬ２に接続されている奇数ビットライン上のメモリセルは、ページ５のデータを記憶する。ワードラインＷＬ３に接続されている偶数ビット上のメモリセルは、ページ６のデータを記憶する。ワードラインＷＬ３に接続されている奇数ビットライン上のメモリセルは、ページ７のデータを記憶する。データは、ページ０からページ７までのページ番号に従った番号順でプログラムされる。
【００７１】
図１４Ｃの表は、全ビットラインプログラミングを実行するメモリアレイに対する、図１２の２相プログラミングプロセスに従ったプログラミングの順序を示している。４つのワードラインのあるブロックが、８ページを含むことが示されている。ワードラインＷＬ０に接続されているメモリセルの場合、データの下側ページがページ０を形成し、上側ページデータがページ１を形成する。ワードラインＷＬ１に接続されているメモリセルの場合、データの下側ページがページ２を形成し、上側ページデータがページ３を形成する。ワードラインＷＬ２に接続されるメモリセルの場合、データの下側ページがページ４を形成し、上側ページデータがページ５を形成する。ワードラインＷＬ３に接続されているメモリセルの場合、データの下側ページがページ６を形成し、上側ページデータがページ７を形成する。データは、ページ０からページ７までのページ番号に従った番号順でプログラムされる。
【００７２】
図１４Ｄは、奇数／偶数プログラミングを実行するメモリアーキテクチャに対する、図１２の２相プログラミングプロセスをプログラムする順序を説明する表を示している。４つのワードラインのあるブロックは１６ページを含み、ページはページ０からページ１５までのページ番号に従った番号順でプログラムされる。ワードラインＷＬ０に接続されている偶数ビットライン上のメモリセルの場合、データの下側ページがページ０を形成し、上側ページデータがページ２を形成する。ワードラインＷＬ０に接続されている奇数ビットライン上のメモリセルの場合、データの下側ページがページ１を形成し、データの上側ページがページ３を形成する。ワードラインＷＬ１に接続されている偶数ビットライン上のメモリセルの場合、下側ページはページ４を形成し、上側ページはページ６を形成する。ワードラインＷＬ１に接続されている奇数ビットライン上のメモリセルの場合、下側ページがページ５を形成し、上側ページがページ７を形成する。ワードラインＷＬ２に接続されている偶数ビットライン上のメモリセルの場合、下側ページがページ８を形成し、上側ページがページ１０を形成する。ワードラインＷＬ２に接続されている奇数ビットライン上のメモリセルの場合、下側ページがページ９を形成し、上側ページがページ１１を形成する。ワードラインＷＬ３に接続されている偶数ビットライン上のメモリセルの場合、下側ページはページ１２を形成し、上側ページがページ１４を形成する。ワードラインＷＬ３に接続されている奇数ビットライン上のメモリセルの場合、下側ページはページ１３を形成し、上側ページはページ１５を形成する。代わりに、図１４Ｅのように、偶数ビットラインの各ワードラインの下の下側ページと上側ページの両方が、同じワードラインについての奇数ビットラインの両方のページをプログラムする前にプログラムされる。
【００７３】
図１４Ｆと図１４Ｇは、図１３Ａ−Ｃのプログラミング方法を活用してメモリセルをプログラムする順序を説明している。図１４Ｆは、全ビットラインプログラミングを実行するアーキテクチャに関する。ワードラインＷＬ０に接続されているメモリセルの場合、下側ページはページ０を形成し、上側ページはページ２を形成する。ワードラインＷＬ１に接続されているメモリセルの場合、下側ページはページ１を形成し、上側ページはページ４を形成する。ワードラインＷＬ２に接続されているメモリセルの場合、下側ページはページ３を形成し、上側ページはページ６を形成する。ワードラインＷＬ３に接続されているメモリセルの場合、下側ページはページ５を形成し、上側ページはページ７を形成する。メモリセルは、ページ０からページ７のページ番号に従った番号順でプログラムされる。
【００７４】
図１４Ｇの表は、奇数／偶数プログラミングを実行するアーキテクチャに関する。ワードラインＷＬ０に接続されている偶数ビットライン上のメモリセルの場合、下側ページは０を形成し、上側ページはページ４を形成する。ワードラインＷＬ０に接続されている奇数ビットライン上のメモリセルの場合、下側ページはページ１を形成し、上側ページはページ５を形成する。ワードラインＷＬ１に接続されている偶数ビットライン上のメモリセルの場合、下側ページはページ２を形成し、上側ページはページ８を形成する。ワードラインＷＬ１に接続されている奇数ビットライン上のメモリセルの場合、下側ページはページ３を形成し、上側ページはページ９を形成する。ワードラインＷＬ２に接続されている偶数ビットライン上のメモリセルの場合、下側ページはページ６を形成し、上側ページはページ１２を形成する。ワードラインＷＬ２に接続されている奇数ビットライン上のメモリセルの場合、下側ページはページ７を形成し、上側ページはページ１３を形成する。ワードラインＷＬ３に接続されている偶数ビットライン上のメモリセルの場合、下側ページはページ１０を形成し、上側ページはページ１４を形成する。ワードラインＷＬ３に接続されている奇数ビットライン上のメモリセルの場合、下側ページがページ１１を形成し、上側ページがページ１５を形成する。メモリセルは、ページ０からページ１５のページ番号に従った番号順でプログラムされる。最後に、偶数ビットラインと奇数ビットラインの両方を有するアーキテクチャのそれぞれは、全ての偶数ビットラインが、例えばチップの左側に物理的に位置し、奇数ビットラインの全てが、例えばチップの右側に位置する状態で実現できる。
【００７５】
図１４Ａ−Ｇの実施形態では、メモリセルはソース側からドレイン側にＮＡＮＤストリングに沿ってプログラムされることに注意する。また、表は４つのワードラインを用いた実施形態だけを示している。表の中に示される多様な方法は、４つより多いまたは４つより少ないワードラインのシステムに適用できる。奇数／偶数プログラミングを使用するアーキテクチャの例は、米国特許第６，５２２，５８０号と第６，６４３，１８８号に記載されている。両方の出願はその全体を参照することにより本明細書に組み込まれる。全ビットラインプログラミングを使用するアーキテクチャについての詳細は、全体を参照することにより本明細書に組み込まれる以下の米国特許に記載されている。米国特許出願公開第２００４／００５７２８３号、米国特許出願公開第２００４／００６００３１号、米国特許出願公開第２００４／００５７２８５号、米国特許出願公開第２００４／００５７２８７号、米国特許出願公開第２００４／００５７３１８号、米国特許第６，７７１，５３６号、及び米国特許第６，７８１，８７７号。
【００７６】
一般的には、全てのビットラインをともにプログラムするアーキテクチャはすべてのビットラインから同時にデータを読み出す。同様に、奇数ビットラインと偶数ビットラインを別々にプログラムするアーキテクチャは、一般的に奇数ビットラインと偶数ビットラインを別々に読み出す。しかしながら、このような制限は必須ではない。本明細書に説明するデータを読み出す技法は、全ビットラインプログラミングまたは奇数／偶数ビットラインプログラミングとともに使用できる。本明細書に説明するデータを読み出す技術は、他のプログラミング方式だけではなく、図１７から図１９のプログラミング方式の何れにも使用できる。
【００７７】
図１５は、不揮発性メモリセルからデータを読み出す一実施形態を説明するフローチャートである。図１５は、システムレベルの読み出しプロセスを提供する。ステップ５９８では、データ読み出し要求が受信される。ステップ６００では、データ読み出し要求（ステップ５９８）に応じて特定のページに対して読み出し動作が実行される。一実施形態では、ページに対するデータがプログラムされるときに、システムはエラー訂正符号（ＥＣＣ）に使用される追加のビットも作成し、それらのＥＣＣビットをデータのページとともに書き込む。ＥＣＣ技術は、技術では周知である。使用されるＥＣＣ処理は、周知の適切なＥＣＣ処理を含むことができる。ページからデータを読み出すときに、ＥＣＣビットは、データにエラーがあるかどうかを判定するために使用される（ステップ６０２）。ＥＣＣ処理は、制御部、状態マシンによって、あるいはシステム内の他の場所で実行できる。データにエラーがない場合、データはステップ６０４でユーザに報告される。例えば、データは、データＩ／Ｏ回線３２０を介して制御部またはホストに通信される。ステップ６０２でエラーが検出されると、エラーを訂正可能か否かが判定される（ステップ６０６）。エラーは、フローティングゲート間結合または他の理由に起因する可能性がある。種々のＥＣＣ方法は、データのセットの中の所定数のエラーを訂正する能力を有している。ＥＣＣ処理がデータを訂正できる場合は、ステップ６０８でＥＣＣ処理がそのデータを訂正するために使用され、ステップ６１０で、データは訂正されたとおりにユーザに報告される。データをＥＣＣ処理によって訂正できない場合は、ステップ６２０でデータ修復処理が実行される。いくつかの実施形態では、ＥＣＣ処理はステップ６２０の後に実行される。データ修復プロセスについての詳細は後述するとおりである。データが修復された後、そのデータはステップ６２２で報告される。図１５の処理は、全ビットラインプログラミングまたは奇数／偶数ビットラインプログラミングを使用してプログラムされるデータとともに使用できる。
【００７８】
図１６は、ページのために読み出し動作を実行する処理（図１５のステップ６００を参照）の一実施形態を説明するフローチャートである。図１６の処理は、ブロックの全てのビットライン、ブロックの奇数ビットラインのみ、ブロックの偶数ビットラインのみ、またはブロックのビットラインの他のサブセットを包含するページに対して実行できる。ステップ６４０では、読み出し基準電圧Ｖｒａが、そのページに関連する適切なワードラインに印加される。ステップ６４２では、そのページに関連するビットラインが検出され、その制御ゲートに対するＶｒａの印加に基づき、アドレス指定されたメモリセルがオンするか、オンしないかを判定する。導通するビットラインは、メモリセルがオンになったことを示す。従って、それらのメモリセルの閾値電圧がＶｒａ以下となる（例えば、状態Ｅとなる）。ステップ６４４では、ビットラインの検出の結果が、それらのビットラインに対する適切なラッチに記憶される。ステップ６４６では、読み出し基準電圧Ｖｒｂが、読み出されているページと関連するワードラインに印加される。ステップ６４８では、上述したようにビットラインが検出される。ステップ６５０では、結果がビットラインの適切なラッチに記憶される。ステップ６５２では、読み出し基準電圧Ｖｒｃが、ページに関連するワードラインに印加される。ステップ６５４では、上述したようにビットラインが検出され、どのメモリセルがオンになるのかを判定する。ステップ６５６では、検出ステップの結果がビットラインに対する適切なラッチに記憶される。ステップ６５８では、各ビットラインに対するデータ値が求められる。例えば、メモリセルがＶｒａで導通すると、メモリセルは状態Ｅにある。メモリセルがＶｒｂとＶｒｃで導通するが、Ｖｒａでは導通しない場合には、メモリセルは状態Ａにある。メモリセルがＶｒｃで導通するが、ＶｒａとＶｒｂでは導通しない場合には、メモリセルは状態Ｂにある。メモリセルがＶｒａ、ＶｒｂまたはＶｒｃで導通しない場合は、メモリセルは状態Ｃにある。一実施形態では、データ値は、プロセッサ３９２によって特定される。ステップ６６０では、プロセッサ３９２が、特定したデータ値を各ビットラインに対する適切なラッチに記憶する。他の実施形態では、種々のレベル（Ｖｒａ、Ｖｒｂ及びＶｒｃ）の検出を異なる順序で行ってもよい。
【００７９】
ステップ６４０から６４４は、Ｖｃｇｒ＝Ｖｒａ及びＶｒｅａｄＸ＝Ｖｒｅａｄで、図１０に示す動作を実行することを含む。ステップ６４６から６５０は、Ｖｃｇｒ＝Ｖｒｂ及びＶｒｅａｄＸ＝Ｖｒｅａｄで、図１０に示す動作を実行することを含む。ステップ６５２から６５６は、Ｖｃｇｒ＝Ｖｒｃ及びＶｒｅａｄＸ＝Ｖｒｅａｄで図１０に示す動作を実行することを含む。したがって、図１６の実施形態は、フローティングゲート間の結合の補償を実行することを含まない。別の実施形態では、ステップ６４０，６４６，６５２は、ドレイン側隣接ＷＬ（例えばＷＬｎ＋１）に印加されるＶｒｅａｄＸ＝Ｖｒｅａｄ４（又は他の値）で実行される。
【００８０】
図１７は、データを修復する処理（ステップ６２０）の一実施形態を説明するフローチャートを含む。データは、フローティングゲート間の結合の影響（または別の原因）に起因するエラーを含むことがある。図１７の処理は、フローティングゲート間の結合の影響（または別のエラーの原因）を補償する一方で、データを読み出そうと試みる。補償は、隣接ワードラインを確認し、隣接ワードラインのプログラミングがどの程度のフローティングゲート間の結合の影響を生じさせたかを判定することを含む。例えば、ワードラインＷＬｎ（例えば図２のＷＬ２）でデータを読み出す場合、処理はワードラインＷＬｎ＋１（例えば図２のＷＬ３）のデータも読み出す。ワードラインＷＬｎ＋１の上のデータがＷＬｎ上のデータの見かけの変化を引き起こした場合には、読み出し処理がその意図的でない変化を補償する。
【００８１】
図１７に示す処理は、１論理ページの２ビットが各セルに記憶され、ともに読み出し、及び、報告される図１１に関して上述した全シーケンスプログラミングに適用する。隣接ワードライン上のメモリセルが状態Ｅである場合、フローティングゲート間結合はない。隣接するワードライン上のメモリセルが状態Ａにある場合、小さい結合影響がある。隣接するワードライン上のメモリセルが状態Ｂにある場合、中程度のフローティングゲート間の結合がある。隣接するワードライン上のメモリセルが状態Ｃにある場合、さらに大きなフローティングゲート間の結合影響がある。隣接するワードラインに起因する正確な結合影響はアレイ実装形態により変化し、装置の特性を明らかにすることにより特定できる。
【００８２】
図１７のステップ６７０は、隣接するワードラインＷＬｎ＋１に対して読み出し動作を実行することを含む。これは、隣接するワードラインに対して図１６の処理を実行することを含む。例えば、ワードラインＷＬ１のページを読み出し中の場合は、ステップ６７０はワードラインＷＬ２に図１６の処理を実行することを含む。ステップ６７０の結果は、ステップ６７２で適切なラッチに記憶される。いくつかの実施形態では、ＷＬｎ＋１に対して実行された読み出し動作の結果、ＷＬｎ＋１上に記憶された実際のデータを判定する。他の実施形態では、ＷＬｎ＋１に対して実行された読み出し動作の結果、ＷＬｎ＋１の電荷レベルを判定し、これはＷＬｎ＋１に記憶されたデータを正確に反映することもあれば、しないこともある。
【００８３】
目的がＷＬｎのデータを読み出すことであるとき、誤って読み出されるビットはほぼ確実に分布の後部のビットであるため、ＷＬｎ＋１のＥＣＣ訂正読み出しは必要ない可能性があり、それらが別のデータ状態にあると誤って認識してもＷＬｎ上の対応するセルの読み出しに必要とされる補償量の決定に大きなエラーは生じない。例えば、状態Ｂとなるようにプログラムされたがわずかに過剰にプログラムされたＷＬｎ＋１上のセルは、その後ＷＬｎ＋２のプログラミングの間に容量性結合を経て、現在、すなわち、ＷＬｎ＋１がＷＬｎの読み出し処理の一部として結合補償（図１７のステップ６７０）なしに読み出されるときに、状態Ｃであるとして読み違えられる可能性がある。この読み違えは、次の理由から問題とはならない。１）目的はＷＬｎ＋１のデータを読み出すことではない、２）ＷＬｎ＋１上のセルの見かけの状態がＣ状態にあることに基づいてＷＬｎ上の対応するセルの読み出しに適用される訂正は、実際には、ＷＬｎ＋１上のセルの正しい読み出し、つまり状態Ｂに基づいていた訂正より優れた訂正である。これは、ＷＬｎ＋１上のセルが状態Ｃであると読み違えられる全ての原因が、それらが最初に過剰プログラミングされたのか、あるいは、その後のＷＬｎ＋２セルからの結合であるのかに関係なく、現在作用しており、それによって、ＷＬｎ＋１セルによって誘発され、ＷＬｎセルによって経験されるさらに強力な結合影響を誘発しているためである。ＷＬｎ上のセルによって経験されるこの強力な結合に直面すると、実際には、状態Ｂよりも、状態ＣにあるＷＬｎ＋１セルに対応する訂正を適用する方がよい場合がある。代替実施形態は、図１７のステップ６７０の読み出し中に読み出し電圧をマージニングすることを含む。ステップ６７０の読み出しのこのマージニングは、ステップ６７０の読み出しの結合訂正を行うことを目的として行われるであろう。しかしながら、このような実施形態は、前述に説明したように、ステップ６７０の読み出しの間に結合訂正を行わないことより劣っている可能性がある。
【００８４】
ステップ６７４では、読み出し処理が対象のワードラインＷＬｎに対して実行される。これは、ＶｒｅａｄＸ＝Ｖｒｅａｄ１で図１６の処理を実行することを含む。一実施形態では、Ｖｒｅａｄ１＝Ｖｒｅａｄである。従って、非選択ワードラインのすべて（図１０のＷＬ＿ｕｎｓｅｌとＷＬｎ＋１を参照）がＶｒｅａｄを受信している。補償は、現在読み出し動作中のＷＬｎ＋１で使用されているＶｒｅａｄ値と、以前のプログラム／検証の検証段階の間に使用されたＶｒｅａｄ値の差によって求められるため、これが最大の補償を実現する。補償値、ｃｏｍｐＣは、以下のように定義できる。ｃｏｍｐＣ＝Ｖｒｅａｄ１−Ｖｒｅａｄｐ＝５．５−３＝２．５ｖであり、この場合Ｖｒｅａｄｐはプログラム／検証の間に使用されたＶｒｅａｄ値である。ステップ６７４の結果は、隣接セルＷＬｎ＋１が（ステップ６７０で）状態Ｃにあると判定されたメモリセルとともにビットラインのための適切なラッチに記憶される。したがって、最大補償、ＣｏｍｐＣは、ドレイン側の隣が状態Ｅから状態Ｃにプログラムされることによって閾値電圧の最高の変化を経験したセルに対するものである。これらのドレイン側の隣は、ＷＬｎのプログラム／検証の間は状態Ｅであったが、現在は状態Ｃにあることに注意する。どのような場合にも補償されなければならないのは、ＷＬｎの書き込み時間とＷＬｎの読み出しの現在の時間の間に経験されるＷＬｎ＋１上のドレイン側の隣の状態の変化である。ドレイン側の隣が現在状態Ｃであると検出されていない他のビットラインの場合、ＷＬｎ＋１上でＶｒｅａｄ１を使用するＷＬｎのこの読み出しのデータが無視される。
【００８５】
ステップ６７８では、読み出し処理がＷＬｎに対して実行される。その読み出し処理の間、ドレイン側隣接ワードラインＷＬｎ＋１はＶｒｅａｄ２を受け取る。すなわち、ＶｒｅａｄＸ＝Ｖｒｅａｄ２であり、Ｖｒｅａｄ２は、Ｖｒｅａｄ１と比較して、プログラミング中に使用されるＶｒｅａｄｐにより近い値である。これは、ドレイン側の隣が現在は状態Ｂにあるセルにとってより小さい適切な補償量を与える。補償量の一例は、ｃｏｍｐＢ＝Ｖｒｅａｄ２−Ｖｒｅａｄｐ＝４．９−３＝１．９Ｖである。従って、Ｖｒｅａｄ２はｃｏｍｐＢ分、Ｖｒｅａｄｐとは異なる。ステップ６８０では、ステップ６７８の結果が、状態Ｂの隣接メモリセル（例えばＷＬｎ＋１）を有するメモリセルを有するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
【００８６】
ステップ６８２では、読み出し処理がＷＬｎに対して実行される。その読み出し処理の間に、ドレイン側隣接ワードラインＷＬｎ＋１はＶｒｅａｄ３を受け取る。すなわち、ＶｒｅａＸ＝Ｖｒｅａｄ３であり、この場合、Ｖｒｅａｄ３は、Ｖｒｅａｄ２に比べて、プログラミング中に使用されたＶｒｅａｄｐにより近い値である。これが、ドレイン側の隣が現在状態Ａにあるセルにより小さい適切な補償量を与える。補償量の一例は、ｃｏｍｐＡ=Ｖｒｅａｄ３−Ｖｒｅａｄｐ＝４．３−３＝１．３ｖである。従って、Ｖｒｅａｄ３はｃｏｍｐＡ分、Ｖｒｅａｄｐとは異なる。ステップ６８４では、ステップ６８２の結果は、状態Ａの隣接メモリセル（例えばＷＬｎ＋１）を有するメモリセルを有するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
【００８７】
ステップ６８６では、読み出し処理はＷＬｎに対して実行される。その読み出し処理の間に、ドレイン側隣接ワードラインＷＬｎ＋１はＶｒｅａｄ４を受け取る。すなわち、ＶｒｅａｄＸ＝Ｖｒｅａｄ４であり、この場合、Ｖｒｅａｄ４は、プログラミング中に使用されたＶｒｅａｄｐと同一の値である。これが、ドレイン側の隣が、現在においてプログラム／検証時のように状態Ｅにあるセルに対して適切である補償量なしを達成する。この補償量はｃｏｍｐＥ＝Ｖｒｅａｄ４−Ｖｒｅａｄｐ＝３−３＝０．０ｖである。隣接ワードラインＷＬｎ＋１はＶｒｅａｄ４を受信する。すなわちＶｒｅａｄＸ＝Ｖｒｅａｄ４＝Ｖｒｅａｄである。ステップ６８８では、ステップ６８６の結果が状態Ｅの隣接メモリセル（例えば、ＷＬｎ＋１）を有するメモリセルを有するビットラインに記憶される。他のビットラインに対するデータは無視される。図１７の処理の間に、隣接ビットラインは４つの電圧を受ける。しかしながら、読み出されている各選択メモリセルは、１つの適切な電圧しか利用しない。
【００８８】
異なる実装形態では、Ｖｒｅａｄ１、Ｖｒｅａｄ２、Ｖｒｅａｄ３及びＶｒｅａｄ４の異なる値を、装置の特徴、実験及び／またはシミュレーションに基づき決定できる。
【００８９】
前述の説明では、図１７の処理は図１５のデータ修復ステップ６２０の一部として実行される。別の実施形態では、図１７の処理は、データ読み出し要求に答えて実行される初期の読み出し処理として使用できる。例えば、図１５のステップ５９８でデータ読み出し要求を受信した後、システムはステップ６００で読み出し動作を実行する。この実施形態では、ステップ６００は図１７の処理を実行することにより実現される。ステップ６００を実現するために図１７の処理を使用する実施形態は、追加のデータ修復ステップ６２０を有さない可能性があるため、エラーが訂正可能ではない場合には、システムはそのエラーを報告するであろう。
【００９０】
図１８は、データ修復処理（図１７の方法）が、プログラムされる最後のワードラインを除くブロックの全てのワードラインに対して実行できることを示すフローチャートである。例えば、ｘ＋１個のワードラインがある場合、修復処理はワードラインＷＬ０からＷＬｘ−１に対して使用できる。ワードラインＷＬｘ（例えば、ドレインに最も近いワードライン）には、フローティングゲート間の結合影響を引き起こすその後にプログラムされた隣のワードラインがないため、そのワードラインに対して修復処理を実行する必要はない。図１８は、修復処理が全てのワードラインに対して連続的に実行される実施形態を示しているが、図１５に関して前述した一実施形態では、別々のときに、及び、訂正可能ではなかったＥＣＣエラーがある場合に限り、ワードラインに対して修復処理を実行することができる。
【００９１】
図１６と図１７の前述した方法は、図１１の１つの論理ページの２ビットを記憶する全シーケンスプログラミングに関して説明した。これらの処理は、２つの論理ページのそれぞれから１ビットを記憶する図１２の２ステップ処理に従ってプログラムされたデータを読み出すときにはわずかに修正することができる。例えば、標準的な読み出し動作（図１５のステップ６００）を実行すると、下側ページの読み出しには、メモリセルの制御ゲートにＶｒａとＶｒｃを適用することと、それらの読み出しポイントで検出し、データが下側ページについて状態Ｅ／Ｃ（データ１）にあるのか、または状態Ａ／Ｂ（データ０）にあるのかを判定することが必要になる。したがって、図１６は、ステップ６４０、６４２、６４４及びステップ６５２から６６０を下側ページ読み出しに対して実行することによって修正することができる。上側ページの読み出しを実行するために、読み出し比較ポイントＶｒｂが使用され、上側ページデータが状態Ｅ／Ａ（データ１）にあるか、または状態Ｂ／Ｃ（データ０）にあるのかを判定する。従って、上側ページ読み出しの場合、図１６の処理はステップ６４６、６４８、６５０、６５８及び６６０を実行するために修正することができる。加えて、データを修復するときに（ステップ６２０）、処理は、下側ページのデータを修復するためには図１９の方法を、上側ページのデータを修復するためには図２０の処理を実行するであろう。
【００９２】
図１９のステップ７３０では、読み出し動作が、図１６の方法に従って隣接ワードラインＷＬｎ＋１に対して実行される。いくつかの実施形態では、ＷＬｎ＋１に対して読み出し動作を実行すると、ＷＬｎ＋１で記憶される実際のデータが特定される。いくつかの実施形態では、ＷＬｎ＋１に対して読み出し動作を実行すると、ＷＬｎ＋１での電荷レベル（または他の条件）が特定されるが、ＷＬｎ＋１上に記憶されているデータを正確に反映している場合もあれば、反映していない場合もある。その読み出し動作の結果は、ステップ７３２で適切なラッチに記憶される。ステップ７３４では、読み出し動作が対象のＷＬｎのワードラインに対して実行され、ＶｒａがＷＬｎに適用されるとともにＶｒｅａｄＸ＝Ｖｒｅａｄ４である図１０の処理を実行することを含む。ステップ７３６では、ビットラインのデータが検出される。ステップ７３８では、結果は適切なラッチに記憶される。ステップ７３４の別の実施形態では、ＶｒｅａｄＸ＝Ｖｒｅａｄ１で読み出し動作が実行される。一実施形態では、ステップ７３４のＶｒｅａｄＸの値は、検証処理の間に使用された値と同じとすべきである。
【００９３】
ステップ７４０では、読み出し基準電圧ＶｒｃがワードラインＷＬｎに印加され、読み出し動作がＶｅｒａｄＸ＝Ｖｒｅａｄ１で対象のワードラインＷＬｎに対して実行される。ステップ７４２では、データが上述したように検出される。ステップ７４４では、検出ステップ７４２の結果が、状態Ｃのデータを記憶している隣接セルに関連するビットラインに対して記憶される。
【００９４】
ステップ７４６では、読み出し基準電圧ＶｒｃがワードラインＷＬｎに印加され、ＷＬｎ＋１に対してＶｒｅａｄＸ＝Ｖｒｅａｄ２で、対象のワードラインＷＬｎに対して読み出し動作が実行される。ステップ７４８では、データは上述したように検出される。ステップ７５０では、ステップ７４８の結果が状態Ｂのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
【００９５】
ステップ７５２では、読み出し基準電圧ＶｒｃがワードラインＷＬｎに印加され、ＷＬｎ＋１に対してＶｒｅａｄＸ＝Ｖｒｅａｄ３で、ＷＬｎに対して読み出し動作が実行される。ステップ７５４では、データは上述したように検出される。ステップ７５６では、ステップ７５４の結果が、状態Ａのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
【００９６】
ステップ７５８では、読み出し基準電圧ＶｒｃがワードラインＷＬｎに印加され、ＷＬｎ＋１に対してＶｒｅａｄＸ＝Ｖｒｅａｄ４で、ＷＬｎに対して読み出し動作が実行される。ステップ７６０では、データは上述したように検出される。ステップ７６２では、ステップ７６０の結果が状態Ｅのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
【００９７】
ステップ７６４では、プロセッサ３９２が、検出ステップで記憶されたデータに基づいてデータ値を特定する。ステップ７６６では、ステップ７６４で特定されたデータ値が、データの読み出しを要求しているユーザと最終的に通信するためにラッチに記憶される。別の実施形態では、状態Ａに関連するステップ７３４から７３８がステップ７６２と７６４の間で実行できる。他のフローチャートだけではなく、図１９のステップを実行するための他の順序も使用できる。
【００９８】
図１９によって説明した処理では、状態Ｂを状態Ｃから区別するために、補償がＶｒｃだけに適用されることに注意する。Ｖｒａで読み出しているときには補償が必要とされないと考えられる。それは、消去状態の通常の負の閾値（ＷＬｎ＋１によって影響を受ける）は状態Ａから十分に離れて遠く分離されており、訂正を必要としないためである。これは現在の世代のメモリに対して実用的な仮定であるが、将来の世代のメモリでは当てはまらない可能性があり、Ｖｒｃに関して説明した補償処理はＶｒａに対して使用されてよい。
【００９９】
ステップ７６４でデータ値を判定するときに、メモリセルがＶｒａに応じて導通する場合は、下側ページデータは「１」である。メモリセルがＶｒａに応じて導通せず、Ｖｒｃに応じて導通しない場合には、下側ページデータも「１」である。メモリセルがＶｒａに応じて導通しないが、Ｖｒｃに応じて導通する場合には、下側ページデータは「０」である。
【０１００】
図２０の処理は、上側ページのデータを読み出すため、または、修復するために使用される。ステップ８００では、読み出し動作が、図１６の方法を使用して隣接ワードラインＷＬｎ＋１に対して実行される。いくつかの実施形態では、ＷＬｎ＋１に対して読み出し動作が実行されると、ＷＬｎ＋１上に記憶されている実際のデータが特定される。他の実施形態では、ＷＬｎ＋１に対して読み出し動作が実行されると、ＷＬｎ＋１での電荷レベルが特定されるが、ＷＬｎ＋１に記憶されているデータを正確に反映している場合もあれば、反映していない場合もある。ステップ８０２では、ステップ８００の結果が、各ビットラインに対する適切なラッチに記憶される。
【０１０１】
ステップ８０４では、読み出し基準電圧ＶｒｂがワードラインＷＬｎに印加され、読み出し動作が、ＷＬｎ＋１に対してＶｒｅａｄＸ＝Ｖｒｅａｌで、ＷＬｎに対して実行される。ステップ８０６では、データは上述したように検出される。ステップ８０８では、ステップ８０６の結果が、状態Ｃのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
【０１０２】
ステップ８１０では、読み出し基準電圧ＶｒｂがワードラインＷＬｎに印加され、読み出し動作が、ＷＬｎ＋１に対してＶｒｅａｄＸ＝Ｖｒｅａｄ２で、ＷＬｎに対して実行される。ステップ８１２では、データは上述したように検出される。ステップ８１４では、ステップ８１２の結果が、状態Ｂのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
【０１０３】
ステップ８１６では、読み出し基準電圧ＶｒｂがワードラインＷＬｎに印加され、読み出し動作が、ＷＬｎ＋１に対してＶｒｅａｄＸ＝Ｖｒｅａｄ３で、ＷＬｎに対して実行される。ステップ８１８では、データは上述したように検出される。ステップ８２０では、ステップ８１８の結果が、状態Ａのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
【０１０４】
ステップ８２２では、読み出し基準電圧ＶｒｂがワードラインＷＬｎに印加され、読み出し動作が、ＷＬｎ＋１に対してＶｒｅａｄＸ＝Ｖｒｅａｄ４で、ＷＬｎに対して実行される。ステップ８２４では、上述したようにデータが検出される。ステップ８２６では、ステップ８２４の結果が状態Ｅのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
【０１０５】
ステップ８２８では、プロセッサ３９２が記憶されている検出データに基づいてデータ値を特定する。メモリセルがＶｒｂに応じてオンになった場合には、上側ページデータは「１」である。メモリセルがＶｒｂに応じてオンにならない場合は、上側ページデータは「０」である。ステップ８３０では、プロセッサ３９２によって求められたデータ値が、ユーザと通信するためにデータラッチに記憶される。
【０１０６】
別の実施形態では、データを修復するために図１９と図２０の方法を使用するのではなく、がデータ読み出し要求に応じて実行される初期データ読み出しのために図１９と図２０の方法使用できる。例えば、図１５のステップ５９８でデータ読み出し要求を受信した後に、システムはステップ６００で読み出し動作を実行する。この実施形態では、ステップ６００が、図１９及び／または図２０の処理を実行することによって実現される。ステップ６００を実現するために図１９及び／または図２０の処理を使用する実施形態は、追加のデータ修復ステップ６２０を有さない可能性があるため、エラーが訂正可能ではない場合にシステムはエラーを報告するであろう。
【０１０７】
図１９と図２０は、図１２の上側ページと下側ページの処理を使用してプログラムされるデータを読み出すためである。図１９と図２０のこれらの２つの方法は、全ビットラインプログラミングまたは奇数／偶数ビットラインプログラミングによってプログラムされるデータを読み出すために使用できる。全ビットラインプログラミングに使用される場合は、通常は全てのビットラインは同時に読み出される。奇数／偶数ビットラインプログラミングに使用される場合は、通常は、偶数ビットラインは最初に同時に読み出され、奇数ビットラインは別のときに同時に読み出される。
【０１０８】
図２１から図２６は、図１３Ａ−Ｃに関連する方法に従ってプログラムされたデータを読み出すために使用するプロセスを示している。図２１の処理は、ＥＣＣの使用前、ＥＣＣの使用とは別に、及び／または、ＥＣＣの使用と連動してデータの特定の１または複数ページ（または他の分類）に対する読み出し要求に応えて実行される全体的なデータ読み出し処理として実現できる。他の実施形態では、図２１の処理は、図１５のデータ修復ステップ６２０の一部として実行できる。図１３Ａ−Ｃの処理に従ってプログラムされたデータを読み出すときには、隣接セルの下側ページをプログラムすることに起因するフローティングゲート間結合による変動は、問題のメモリセルの上側ページをプログラムするときに訂正しなければならない。従って、隣接セルからのフローティングゲート間の結合を補償しようする場合、処理の一実施形態は隣接セルの上側ページのプログラミングに起因する結合影響を考慮しさえすればよい。従って、図２１のステップ１０６０では、処理は隣接ワードラインの上側ページデータを読み出す。隣接ワードラインの上側ページがプログラムされていなかった場合には（ステップ１０６２）、フローティングゲート間の結合影響を補償せずに検討中のページを読み出すことができる（ステップ１０６４）。隣接ワードラインの上側ページがプログラムされていた場合には（ステップ１０６２）、検討中のページはステップ１０６６でフローティングゲート間の結合影響に対するなんらかの補償を使用して読み出さなければならない。いくつかの実施形態では、隣接ワードラインに対して読み出し動作を実行すると、隣接ワードライン上の電荷レベルが特定されるが、そこに記憶されているデータを正確に反映している場合もあれば、していない場合もある。また、読み出される選択ワードライン、つまり、ＷＬｎは、それ自体が下側ページデータしか有していない場合があることに注意する。これは、ブロック全体がまだプログラムされていないときに起こり得る。このような状況では、ＷＬｎ＋１上のセルがまだ消去状態であるため、ＷＬｎセルはまだ結合影響を受けていないことが常に保証されている。つまり、補償は必要とされていない。従って、上側ページをこれからプログラムしなくてはならないワードラインの下側ページ読み出しは、補償技術を必要とすることなく通常どおりに行うことができる。
【０１０９】
一実施形態では、図１３Ａ−Ｃのプログラミング処理を実現するメモリアレイは、１つまたは複数のフラグを記憶するためのメモリセルのセットを確保している。例えば、１列のメモリセルを各メモリセルの行の下側ページがプログラムされているかどうかを示すフラグを記憶するために使用でき、メモリセルの他の列を各メモリセルの行の上側ページがプログラムされているかどうかを示すフラグを記憶するために使用できる。いくつかの実施形態では、フラグのコピーを記憶するために冗長なセルを使用できる。適切なフラグをチェックすることで、隣接ワードラインの上側ページがプログラムされているかどうかを判定できる。このようなフラグ及びプログラミングの処理の詳細は、米国特許第６，６５７，８９１号、Ｓｈｉｂａｔaら、「Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅ  Ｆｏｒ  ＳｔｏｒｉｎｇＭｕｌｔｉ−Ｖａｌｕｅｄ  Ｄａｔａ」に記載されており、その全体は参照することにより本明細書に組み込まれる。
【０１１０】
図２２は、ドレイン側隣接ワードライン等の隣接ワードラインの上側ページデータを読み出す処理（図２１のステップ１０６０）の一実施形態を示している。ステップ１１００では、読み出し基準電圧Ｖｒｃが読み出されているページに関連するワードラインに印加される。ステップ１１０２で、ビットラインが前述したように検出される。ステップ１１０４では、ステップ１１０２の結果が適切なラッチに記憶される。ステップ１１０６では、システムは、読み出されているページに関連する上側ページプログラミングを示すフラグをチェックする。一実施形態では、フラグを記憶するメモリセルは、フラグがセットされていない場合は状態Ｅの、フラグがセットされている場合には状態Ｃのデータを記憶する。従って、その特定のメモリセルがステップ１１０２で検出されるときに、メモリセルが導通する（オンになる）場合は、メモリセルは状態Ｃのデータを記憶しておらず、フラグはセットされていない。メモリセルが導通しない場合には、ステップ１１０６で、上側ページがプログラムされていることをメモリセルが示していると予測される。
【０１１１】
別の実施形態では、フラグはバイトで記憶できる。状態Ｃの全てのビットを記憶するのではなく、バイトは、フラグを表すとともに状態マシン３１２に認識されている固有の８ビット符号を含んでいる。８ビット符号は、状態Ｅの少なくとも１ビットと、状態Ａの少なくとも１ビットと、状態Ｂの少なくとも１ビットと、状態Ｃの少なくとも１ビットを有する。上側ページがプログラムされていない場合、メモリセルのバイトはすべて状態Ｅになる。上側ページがプログラムされている場合は、メモリセルのバイトは符号を記憶する。一実施形態では、ステップ１１０６で、符号を記憶するバイトのメモリセルの何れかがＶｒｃに応じてオンにならないか否かをチェックすることによって実行される。別の実施形態では、ステップ１１０６は、フラグを記憶するメモリセルのバイトをアドレス指定して読み出し、データを状態マシンに送信することを含み、メモリセルに記憶されている符号が状態マシンによって予想される符号と一致するかどうかを検証する。一致する場合、状態マシンは、上側ページがプログラムされたと判断する。
【０１１２】
フラグがセットされていない場合には（ステップ１１０８）、図２２のプロセスは終了し、上側ページがプログラムされていないと判断する。フラグがセットされている場合には（ステップ１１０８）、上側ページがプログラムされていると予測され、ステップ１１２０で電圧Ｖｒｂが読み出し中のページと関連するワードラインに印加される。ステップ１１２２では、ビットラインは上述したように検出される。ステップ１１２４では、ステップ１１２２の結果が適切なラッチに記憶される。ステップ１１２６では、電圧Ｖｒａが、読み出されているページと関連するワードラインに印加される。ステップ１１２８では、ビットラインが検出される。ステップ１１３０では、ステップ１１２８の結果が適切なラッチに記憶される。ステップ１１３２では、プロセッサ３９２が、３つの検出ステップ１１０２、１１２２及び１１２８の結果に基づき、読み出し中の各メモリセルに記憶されているデータ値を特定する。ステップ１１３４では、ステップ１１３２で求められたデータ値が、ユーザと最終的に通信するために適切なデータラッチに記憶される。ステップ１１３２では、プロセッサ３９２は、選択された特定の状態符号化に応じた周知の簡略な論理技法を使用して、上側ページと下側ページのデータの値を特定する。例えば、図１３に説明されている符号化の場合、下側ページデータはＶｒｂ＊（Ｖｒｂで読み出すときに記憶される値の補数）であり、上側ページデータはＶｒａ＊ＯＲ（ＶｒｂとＶｒｃ＊）である。
【０１１３】
一実施形態では、図２２の処理は、ドレイン側隣接ワードラインにＶｒｅａｄを印加することを含む。従って、図２２の処理の場合、ＶｒｅａｄＸ＝Ｖｒｅａｄである。図２２の処理の別の実施形態では、ＶｒｅａｄＸ＝Ｖｒｅａｄ４である。
【０１１４】
図２３は、システムが隣接ワードラインからのフローティングゲート間結合の補償を要求しない場合に、検討中のワードラインのデータを読み出す処理の一実施形態を説明するフローチャートである（図２１のステップ１０６４を参照）。ステップ１１５０では、読み出しが、検討中のワードラインに関連する上側ページに対してなのか、あるいは下側ページに対してなのかが判定される。読み出しが下側ページに対してである場合は、ステップ１１５２で電圧Ｖｒｂが読み出されているページに関連するワードラインに印加される。ステップ１１５４では、ビットラインが検出される。ステップ１１５６では、検出ステップ１１５４の結果が適切なラッチに記憶される。ステップ１１５８では、フラグが、ページが上側ページデータを含むかどうかを判定するためにチェックされる。フラグがない場合には、存在するデータは中間状態となり、Ｖｒｂは使用に適さない比較電圧であり、処理はステップ１１６０に続行する。ステップ１１６０では、Ｖｒａがワードラインに印加され、ビットラインはステップ１１６２で再検出され、ステップ１１６４で結果が記憶される。ステップ１１６６では（フラグがセットされている場合はステップ１１６４またはステップ１１５８の何れかの後）、プロセッサ３９２は記憶すべきデータ値を特定する。一実施形態では、下側ページを読み出すときに、メモリセルがワードラインに印加されているＶｒｂ（またはＶｒａ）に応じてオンになる場合は、下側ページデータは「１」である。それ以外の場合、下側ページデータは「０」である。
【０１１５】
ページアドレスが上側ページに対応すると判断されると（ステップ１１５０）、上側ページ読み出しプロセスがステップ１１７０で実行される。一実施形態では、ステップ１１７０の上側ページ読み出しプロセスは図２２に示される方法と同じ方法を含んでおり、この方法は、読み出し、または、他の理由のために書き込まれていない上側ページがアドレス指定される可能性があるため、フラグと３つの全ての状態を読み出すことを含む
【０１１６】
一実施形態では、図２３の処理は、ドレイン側隣接ワードラインにＶｒｅａｄを印加することを含む。従って、図２３の処理の場合はＶｒｅａｄＸ＝Ｖｒｅａｄである。図２２の処理の別の実施形態では、ＶｒｅａｄＸ＝Ｖｒｅａｄ４である。
【０１１７】
図２４は、フローティングゲート間結合の影響を補償する一方でデータを読み出す処理の一実施形態を説明するフローチャートを示している（図２１のステップ１０６６を参照）。図２４のステップ１２００では、システムはフローティングゲート間結合の補償を使用するかどうかを判定する。これは、ビットラインごとに実行される。適切なプロセッサ３９２は、隣接ワードラインからのデータに基づき、どのビットラインが補償を使用する必要があるのかを判定する。隣接ワードラインが状態ＥまたはＢにある（または状態ＥまたはＢを明らかに示す電荷を有する）場合には、読み出されている特定のワードラインは、フローティングゲート間結合の影響を補償する必要はない。この想定は、現在のワードラインが書き込まれてから閾値が変動していないため、それが状態Ｅにある場合には、それは結合の一因にはなっていないためである。それが状態Ｂである場合、それはそこにＢ‘から到達し、Ｂ’からＢへの変動は小さく、無視できる。別の実施形態では、この小さな変動は、比例して小さい△ＶＲＥＡＤを印加することによって補償できる。
【０１１８】
一実施形態では、ステップ１２００の処理は、ステップ１０６０と同時に実行できる。例えば、図２５は、特定のビットラインに対してオフセットを使用するか否かの判定を実行するステップを説明するチャートを提供している。第1のステップは、ワードラインにＶｒａを使用して読み出し処理を実行することである。第２のステップは、Ｖｒｂを使用して読み出しを実行することである。Ｖｒａで読み出すときに、ラッチは、メモリセルが状態Ｅにある場合は１を、メモリセルが状態Ａ、Ｂ、またはＣにある場合には０を記憶する。Ｖｒｂで読み出すときに、ラッチは、状態ＥとＡの場合は１を記憶し、状態ＢとＣの場合は０を記憶する。図２５の第３のステップは、第２のステップからの反転された結果に対して、ステップ１からの結果を用いてＸＯＲ演算を実行することを含む。第４のステップでは、読み出しはワードラインにＶｒｃを使用して実行される。ラッチは状態Ｅ、Ａ、及びＢに対して１を記憶し、状態Ｃに対して０を記憶する。第５のステップでは、第４のステップと第３のステップの結果が論理ＡＮＤ演算によって演算される。ステップ１、２及び４を図２２の一部として実行してよいことに注意する。図２５のステップ３と５は、専用ハードウェアによって、またはプロセッサ３９２によって実行できる。ステップ５の結果はラッチに記憶され、補償が必要とされていない場合には１が記憶され、補償が必要とされる場合には０が記憶される。従って、補償は、Ａ状態またはＣ状態にあるＷＬｎ＋１上に隣接メモリセルを有するＷＬｎで読み出されるそれらのセルに必要とされる。ＷＬｎ＋１からの完全なデータを記憶し、２以上のラッチを必要とする既出のいくつかの方法とは対照的に、この手法は、１つのラッチだけがＷＬｎを訂正するかどうかを判定することを必要とする。
【０１１９】
図２４のステップ１２０２を再度見ると、読み出し中のページが上側ページであるのか、下側ページであるのかが判定される。読み出されているページが下側ページである場合には、Ｖｒｂが読み出し中のページと関連するワードラインＷＬｎに印加され、Ｖｒｅａｄ４がステップ１２０４の読み出しプロセスの間にドレイン側隣接ワードラインＷＬｎ＋１に印加される。図１３に説明する状態符号化の場合、Ｖｒｂでの読み出しは、下側ページデータを特定するのに十分であることに注意する。ステップ１２０８では、ステップ１２０６の結果が、ビットラインと関連する適切なラッチに記憶される。ステップ１２１０では、Ｖｒｂが読み出し中のページのワードラインＷＬｎに印加され、Ｖｒｅａｄ３が読み出し処理中にドレイン側隣接ワードラインＷＬｎ＋１に印加される（例えば、図１０を参照）。ステップ１２１２では、ビットラインが検出される。ステップ１２１４では、ステップ１２００で補償を使用することが決定されたビットラインに対してステップ１２０８で記憶された結果を上書きするために、ステップ１２１２の検出の結果が使用される。特定のビットラインが補償を使用する必要がないと判定されると、ステップ１２１２からのデータは記憶されない。ステップ１２１６では、プロセッサ３９２は、下側ページに対するデータが１であるか０であるかを判定する。メモリセルがＶｒｂに応じてオンになった場合には、下側ページデータは１である。それ以外の場合、下側ページデータは０である。ステップ１２１８では、下側ページデータはユーザと通信するために適切なラッチに記憶される。
【０１２０】
ステップ１２０２で、読み出し中のページが上側ページであると判定されると、ステップ１２２０で上側ページ訂正プロセスが実行される。図２６は上側ページ訂正処理を説明するフローチャートを提供する。図２６のステップ１２５０では、読み出し基準電圧Ｖｒｃが読み出し中のページに関連するワードラインに印加され、Ｖｒｅａｄ４が読み出し処理の一部としてドレイン側隣接ワードラインＷＬｎ＋１に印加される。ステップ１２５２では、ビットラインが検出される。ステップ１２５４では、検出ステップの結果は適切なラッチに記憶される。ステップ１２５６では、Ｖｒｃが読み出し中のページに関連するワードラインに印加され、Ｖｒｅａｄ３が読み出し処理の一部としてドレイン側隣接ワードラインＷＬｎ＋１に印加される。ステップ１２５８では、ビットラインが検出される。ステップ１２６０では、補償が必要とされるビットライン（ステップ１２００を参照）に対してステップ１２５４で記憶された結果を上書きするために、検出ステップ１２５８の結果が使用される。
【０１２１】
ステップ１２７０では、Ｖｒｂがワードラインに印加され、Ｖｒｅａｄ４が読み出し処理の間にドレイン側隣接ワードラインＷＬｎ＋１に印加される。ステップ１２７２では、ビットラインが検出される。ステップ１２７４では、検出ステップ１２７２の結果が記憶される。ステップ１２７６では、Ｖｒｂが読み出し中のページに関連するワードラインに印加され、Ｖｒｅａｄ３が読み出し処理の間にドレイン側隣接ワードラインＷＬｎ＋１に印加される。ステップ１２７８では、ビットラインが検出される。ステップ１２８０では、補償が必要とされるそれらのビットライン（ステップ１２００を参照）に対してステップ１２７４で記憶された結果を上書きするために、ステップ１２７８の結果が使用される。
【０１２２】
ステップ１２８２では、Ｖｒａが読み出し中のページに関連するワードラインに印加され、Ｖｒｅａｄ４が読み出し処理の一部としてドレイン側隣接ワードラインＷＬｎ＋１に印加される。ステップ１２８４では、ビットラインが検出される。ステップ１２８６では、検出ステップ１２８４の結果が適切なラッチに記憶される。ステップ１２８８では、Ｖｒａが読み出し中のページと関連するワードラインに印加され、Ｖｒｅａｄ３が読み出し処理の一部としてドレイン側隣接ワードラインＷＬｎ＋１に印加される。ステップ１２９０では、ビットラインが検出される。ステップ１２９２では、補償が必要とされるそれらのビットライン（ステップ１２００を参照）に対してステップ１２８６で記憶された結果を上書きするために、ステップ１２９０の結果が使用される。ステップ１２９４では、プロセッサ３９２は、既出の公知技術の他の方法と同じようにデータ値を特定する。ステップ１２９６では、プロセッサ３９２によって特定されたデータ値が、ユーザと通信するために適切なデータラッチに記憶される。他の実施形態では、読み出し順序（Ｖｒｃ、Ｖｒｂ、Ｖｒａ）を変更し得る。
【０１２３】
図２１に関する上記の説明では、データのページの読み出しを含む例を説明した。データ読み出し要求が複数のページのデータの読み出しを必要とする可能性があるが、必須ではない。一実施形態では、複数ページのデータの読み出しを加速するために、読み出し処理はパイプライン化され、状態マシンは、ユーザが前のページのデータを転送している間に次のページの検出を実行する。このような実装形態では、フラグフェッチ処理がパイプライン化された読み出し処理に割り込むことがある。このような割り込みを避けるために、一実施形態では、既定のページのフラグをそのページが読み出されているときに読み取り、（フラグを読み取って状態マシンに送信するのではなく）ワイヤードＯＲ検出プロセスを使用してフラグをチェックすることを意図する。例えば、図２１のステップ１０６０（隣接ワードラインの読み出し）の間に、処理は最初に基準電圧としてＶｒｃを使用してデータを読み出す。そのポイントで、各状態がデータ１を記憶していることをワイヤードＯＲラインが示すと、上側ページはプログラムされていなかったことを示す。従って、補償は必要とされず、システムはフローティングゲート間結合を補償することなく読み出す（ステップ１０６４）。フラグが各データ状態のデータを含む１バイト符号である場合、フラグがセットされれば少なくともフラグメモリセルが状態Ｃのデータを有するであろう。何れのメモリセルも状態Ｃのデータを有さないことをワイヤードＯＲラインが示す場合には、状態マシンはフラグがセットされていないと判断する。従って、隣接ワードラインの上側ページはプログラムされておらず、フローティングゲート間結合の補償は必要とされない。パイプライン化された読み出しについての情報は、米国特許出願第１１／０９９，１３３号、発明の名称「Ｃｏｍｐｅｎｓａｔｉｎｇ  ｆｏｒ  Ｃｏｕｐｌｉｎｇ  Ｄｕｒｉｎｇ  Ｒｅａｄ  Ｏｐｅｒａｔｉｏｎ  ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」、発明者Ｊｉａｎ  Ｃｈｅｎ、出願日２００５年４月５日に記載されており、その全体は参照することにより本明細書に組み込まれる。
【０１２４】
上述した技法はフローティングゲート間の結合影響を覆すために役立つ。図２７は、フローティングゲート間の結合の概念を図で説明している。図２７は、同じＮＡＮＤストリング上にある隣接するフローティングゲート１３０２と１３０４とを示している。フローティングゲート１３０２と１３０４は、ソース／ドレイン領域１３０８、１３１０、及び１３１２を有するＮＡＮＤチャネル／基板１３０６上に配置されている。フローティングゲート１３０２の上には、ワードラインＷＬｎに接続され、ワードラインＷＬｎの一部である制御ゲート１３１４がある。フローティングゲート１３０４の上には、ワードラインＷＬｎ＋１に接続され、ワードラインＷＬｎ＋１の一部である制御ゲート１３１６がある。フローティングゲート１３０２は、複数の他のフローティングゲートからの結合にさらされる可能性があるが、簡単にするために、図２７は１個の隣接メモリセルからの影響だけを示している。具体的には、図２７は、その隣からフローティングゲート１３０２に与えられる結合の３つの成分、ｒ１、ｒ２及びＣｒを示している。成分ｒ１は、隣接するフローティングゲート（１３０２と１３０４）の間の結合率である。成分ｒ１は、隣接フローティングゲートの容量を、フローティングゲート１３０２を取り囲む他の全ての電極に対するフローティングゲート１３０２の全ての容量結合の合計によって除算することで計算される。成分ｒ２は、フローティングゲート１３０２とドレイン側隣接制御ゲート１３１６の間の結合率である。成分ｒ２は、フローティングゲート１３０２と制御ゲート１３１６の容量を、フローティングゲート１３０２を取り囲む他の全ての電極に対するフローティングゲート１３０２の全ての容量結合の合計によって除算することで計算される。成分Ｃｒは制御ゲート結合率である。成分Ｃｒは、フローティングゲート１３０４とその対応する制御ゲート１３１６の間の容量を、フローティングゲート１３０２を取り囲む他の全ての電極に対するフローティングゲート１３０２の全ての容量結合の合計によって除算することで計算される。
【０１２５】
一実施形態では、必要とされる補償量△Ｖｒｅａｄは以下のように計算できる。
【０１２６】
【数１】
2009528651.tif 000003
この場合、△ＶＴｎ＋１は、ＷＬｎのプログラム／検証のタイミングと現在の間におけるドレイン側隣接メモリセルの閾値電圧の変化である。△ＶＴｎ＋１とｒ１は、本方法によって軽減されるワードライン間の寄生結合影響の根本的原因である。△Ｖｒｅａｄは、この影響を除去するために加えられる補償である。
【０１２７】
本明細書に説明する結合の補償は、フローティングゲートと隣の制御ゲート間の容量だけではなく、隣接するフローティングゲート間の同じ寄生容量を活用することによって達成できる。制御ゲートとフローティングゲートの積層構造は、通常、１ステップでエッチングされるため、補償はメモリセルからメモリセルへの間隔の変動を追跡する。従って、２つの隣がより離れている場合は、結合は小さくなり、従ってこの影響に必要とされる補償も必然的に小さくなる。２つの隣がより近くなると、結合は大きくなり、従って補償も大きくなる。これが比例補償を構成する。
【０１２８】
上述した補償は、エッチバック深さの変動の影響も削減する。いくつかの装置では、制御ゲートは、部分的にフローティングゲートを包み込む。オーバラップの量が「エッチバック」と呼ばれる。エッチバック深さの変動は、結合量に影響を及ぼす。上述した補償方式を用いると、補償の影響はエッチバック深さに伴って同様に変動する。
【０１２９】
フローティングゲート間の結合の影響を低減する能力の結果として、閾値電圧分布のマージンをさらに小さくすることができ、メモリシステムがさらに高速にプログラムすることができる。
【０１３０】
本方法のもう１つの重要な優位点は、本発明では、ＷＬｎ及び／またはＷＬｎ＋１への電圧を駆動するデジタルからアナログへのコンバータの分解能を、選択ワードラインＷＬｎに印加する電圧を変更することによって補償を達成する従来の技術と比較して、それほど高性能とする必要がないという点である。補償が選択ワードラインに適用されるときに補償に必要とされる変更は、寄生結合を通して変更が間接的に作用し、したがってＶｒｅａｄのはるかに粗い分解能がＷＬｎのマージニング電圧のはるかに細かい同等な分解能に変換する本発明と比較して、遥かに向上しなければならない。
【０１３１】
本発明の上記の詳細な説明は、図解と説明のために提示した。網羅的、あるいは、開示されている厳密な形に本発明を制限することは目的としていない。上記教示を鑑みて多くの変形及び変型が可能である。説明した実施形態は、本発明の原理とその実用的な応用例を最もよく説明し、それによって当業者が多様な実施形態において、及び意図された特定の用途に適しているような多様な変型を用いて本発明を最もよく活用できるようにするために選ばれた。本発明の範囲が本明細書に添付される請求項によって明示されることが意図される。
【図面の簡単な説明】
【０１３２】
【図１】ＮＡＮＤストリングの平面図である。
【図２】ＮＡＮＤストリングの等価回路図である。
【図３】ＮＡＮＤストリグの断面図である。
【図４】ＮＡＮＤフラッシュメモリセルのアレイのブロック図である。
【図５】不揮発性メモリシステムのブロック図である。
【図６】不揮発性メモリシステムのブロック図である。
【図７】検出ブロックの一実施形態を示すブロック図である。
【図８】不揮発性メモリをプログラムする処理の一実施形態を説明するフローチャートである。
【図９】不揮発性メモリセルの制御ゲートに印加される波形の例である。
【図１０】読み出し／検証動作の間の特定の信号の動作を説明するタイミング図である。
【図１１】閾値電圧の分布のセットの例を示す。
【図１２】閾値電圧の分布のセットの例を示す。
【図１３Ａ】種々の閾値電圧の分布を示し、不揮発性メモリをプログラムする処理を説明する。
【図１３Ｂ】種々の閾値電圧の分布を示し、不揮発性メモリをプログラムする処理を説明する。
【図１３Ｃ】種々の閾値電圧の分布を示し、不揮発性メモリをプログラムする処理を説明する。
【図１４Ａ】種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。
【図１４Ｂ】種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。
【図１４Ｃ】種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。
【図１４Ｄ】種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。
【図１４Ｅ】種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。
【図１４Ｆ】種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。
【図１４Ｇ】種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。
【図１５】不揮発性メモリを読み出す処理の一実施形態を説明するフローチャートである。
【図１６】不揮発性メモリに対して読み出し動作を実行する処理の一実施形態を説明するフローチャートである。
【図１７】データを修復する処理の一実施形態を説明するフローチャートである。
【図１８】複数のワードラインからデータを修復する処理の一実施形態を説明するフローチャートである。
【図１９】下側ページからデータを読み出す処理の一実施形態を説明するフローチャートである。
【図２０】上側ページからからデータを読み出す処理の一実施形態を説明するフローチャートである。
【図２１】データを読み出す処理の一実施形態を説明するフローチャートである。
【図２２】上側ページからからデータを読み出す処理の一実施形態を説明するフローチャートである。
【図２３】補償を用いないでデータを読み出す処理の一実施形態を説明するフローチャートである。
【図２４】フローティングゲート間（または誘電領域間）の結合を補償しながらデータを読み出す処理の一実施形態を説明するフローチャートである。
【図２５】データ値を特定する処理を示す表である。
【図２６】訂正を使用して上側ページデータを読み出す処理の一実施形態を説明するフローチャートである。
【図２７】２つの隣接するメモリセルの間の容量性結合を示すブロック図である。
【図１】
2009528651.tif 000004
【図２】
2009528651.tif 000005
【図３】
2009528651.tif 000006
【図４】
2009528651.tif 000007
【図５】
2009528651.tif 000008
【図６】
2009528651.tif 000009
【図７】
2009528651.tif 000010
【図８】
2009528651.tif 000011
【図９】
2009528651.tif 000012
【図１０】
2009528651.tif 000013
【図１１】
2009528651.tif 000014
【図１２】
2009528651.tif 000015
【図１３Ａ】
2009528651.tif 000016
【図１３Ｂ】
2009528651.tif 000017
【図１３Ｃ】
2009528651.tif 000018
【図１４Ａ】
2009528651.tif 000019
【図１４Ｂ】
2009528651.tif 000020
【図１４Ｃ】
2009528651.tif 000021
【図１４Ｄ】
2009528651.tif 000022
【図１４Ｅ】
2009528651.tif 000023
【図１４Ｆ】
2009528651.tif 000024
【図１４Ｇ】
2009528651.tif 000025
【図１５】
2009528651.tif 000026
【図１６】
2009528651.tif 000027
【図１７】
2009528651.tif 000028
【図１８】
2009528651.tif 000029
【図１９】
2009528651.tif 000030
【図２０】
2009528651.tif 000031
【図２１】
2009528651.tif 000032
【図２２】
2009528651.tif 000033
【図２３】
2009528651.tif 000034
【図２４】
2009528651.tif 000035
【図２５】
2009528651.tif 000036
【図２６】
2009528651.tif 000037
【図２７】
2009528651.tif 000038
【手続補正書】
【提出日】平成20年9月25日(2008.9.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
不揮発性記憶システムであって、
複数の不揮発性記憶素子と、
前記複数の不揮発性記憶素子と通信する１つまたは複数の管理回路を有し、
前記１つまたは複数の管理回路が、選択ワードラインに読み出し比較電圧を印加することによって、選択ワードラインに接続されている選択不揮発性記憶素子からデータを読み出し、
前記１つまたは複数の管理回路が、隣接非選択ワードラインに第２通過電圧を印加する一方で、非選択ワードラインの第１のセットに第１通過電圧を印加し、
前記１つまたは複数の管理回路が、前記読み出し比較電圧、前記第１通過電圧、及び前記第２通過電圧と連動して、前記選択不揮発性記憶素子の状態を検出する、
ことを特徴とする不揮発性記憶システム。
【請求項２】
前記１つまたは複数の管理回路が、前記隣接非選択ワードラインに接続されている不揮発性記憶素子についての情報を検出し、前記隣接不揮発性記憶素子についての前記情報に基づいて前記第２通過電圧を使用するか否かを選択することを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項３】
前記１つまたは複数の管理回路が、前記隣接非選択ワードラインに接続されており、前記選択不揮発性素子に隣接する不揮発性記憶素子についての情報を検出し、
前記１つまたは複数の管理回路が、前記読み出し比較電圧の印加と、前記第１通過電圧の印加と、前記第２通過電圧の印加と、前記状態の検出の追加との繰り返しを、繰り返し毎に第２通過電圧を変化させながら実行し、
前記１つまたは複数の管理回路が、前記隣接不揮発性記憶素子について検出された前記情報と関連する前記繰り返しのうちの１つに基づいて読み出されている前記不揮発性記憶素子に記憶されるデータを特定するする、
ことを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項４】
前記１つまたは複数の管理回路が、前記選択された不揮発性記憶素子に隣接する不揮発性記憶素子がプログラムされていることを判定し、前記第２通過電圧の印加が、前記隣接する不揮発性素子がプログラムされているとの前記判定に応じて実行されることを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項５】
前記複数の不揮発性記憶素子が、マルチ状態ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項６】
不揮発性記憶装置からデータを読み出す方法であって、
選択不揮発性記憶素子に対する読み出し処理の間に、選択不揮発性記憶素子に読み出し電圧を印加するステップと、
前記選択不揮発性記憶素子に隣接する不揮発性記憶素子の現在の状態に基づいて、前記隣接する不揮発性記憶素子に特定の電圧を使用するステップであって、前記特定の電圧を前記読み出し処理の間に前記隣接する不揮発性記憶素子に使用するステップと、
前記読み出し処理の間に前記選択不揮発性記憶素子の状態を検出するステップ、
を有することを特徴とするデータの読み出し方法。
【請求項７】
前記隣接する不揮発性記憶素子に特定の電圧を使用する前記ステップが、前記隣接する不揮発性記憶素子に複数の電圧を印加するステップを有し、前記複数の電圧のうちの１つが、前記特定の電圧であり、前記状態を検出する前記ステップが、前記特定の電圧に応じて実行されることを特徴とする請求項６に記載の方法。
【請求項８】
前記隣接する不揮発性記憶素子に前記特定の電圧を印加するステップの前に、前記隣接する不揮発性記憶素子の前記現在の状態を読み出すステップをさらに有することを特徴とする請求項６に記載の方法。
【請求項９】
前記隣接する不揮発性記憶素子と前記選択不揮発性記憶素子がマルチ状態フラッシュメモリ装置であり、
前記隣接する不揮発性記憶素子の前記現在の状態を読み出す前記ステップが、前記隣接する不揮発性記憶素子がどの状態にプログラムされているかを判定するステップを有し、
隣接する不揮発性記憶素子に前記特定の電圧を前記使用するステップが、前記隣接する不揮発性記憶素子がプログラムされ得る各状態に対して１つの電圧を印加することを含む前記隣接する不揮発性記憶素子に複数の電圧を印加するステップを有し、前記複数の電圧の１つが前記特定の電圧であり、前記隣接する不揮発性記憶素子がプログラムされる前記状態と前記特定の電圧が関連付けられており、
前記複数の電圧のうちの前記隣接する不揮発性記憶素子がプログラムされる前記状態と関連付けられていない電圧に応じて検出されるデータが破棄され、
状態を検出する前記ステップが、前記特定の電圧に応じて実行されることを特徴とする請求項８に記載の方法。
【請求項１０】
前記選択不揮発性記憶素子が、第１のページと第２のページにプログラムされるデータの少なくとも２ビットを記憶するマルチ状態フラッシュメモリ装置であり、
前記選択不揮発性記憶素子が、第１の状態、第２の状態、第３の状態、または、第４の状態となることが可能であり、
第１の比較レベルが、前記第１の状態と前記第２の状態の間に存在し、
第２の比較レベルが、前記第２の状態と前記第３の状態の間に存在し、
第３の比較レベルが、前記第３の状態と前記第４の状態の間に存在し、
前記印加するステップと、使用するステップと、検出するステップが、前記第３の比較ポイントを使用して前記第１ページを読み出す処理の一部であり、
前記方法が、前記隣接する不揮発性記憶素子の前記現在の状態にかかわらず、前記第１の比較レベルに応じて前記選択不揮発性記憶素子の状態を検出するステップをさらに有することを特徴とする請求項６に記載の方法。
【請求項１１】
前記隣接する不揮発性記憶素子がプログラムされることを判定するステップをさらに有し、前記隣接する不揮発性記憶素子に対して特定の電圧を使用する前記ステップが、前記隣接する不揮発性記憶素子がプログラムされることについての前記判定に応じて実行されることを特徴とする請求項６に記載の方法。
【請求項１２】
前記選択不揮発性記憶素子が、第１のページと第２のページにプログラムされるデータの少なくとも２ビットを記憶するマルチ状態フラッシュメモリ装置であり、
前記選択不揮発性記憶素子が、第１の状態、第２の状態、第３の状態、または、第４の状態となることが可能であり、
第１の比較レベルが、前記第１の状態と前記第２の状態の間に存在し、
第２の比較レベルが、前記第２の状態と前記第３の状態の間に存在し、
第３の比較レベルが、前記第３の状態と前記第４の状態の間に存在し、
前記方法が、データが前記第１のページから読み出されると判定するステップをさらに有し、
隣接する不揮発性記憶素子に特定の電圧を前記使用するステップが、２つの異なる電圧を前記隣接する不揮発性記憶素子に印加するステップを有し、前記２つの異なる電圧の一方が前記特定の電圧であり、前記特定の電圧が前記隣接する不揮発性素子がプログラムされる前記状態に関連付けられており、
前記複数の電圧のうちの前記隣接する不揮発性記憶素子がプログラムされる前記状態と関連付けられていない電圧に応じて検出されるデータが破棄され、
前記読み出し電圧が前記第２の比較レベルに対応し、
状態を検出する前記ステップが、前記特定の電圧と前記第２の比較レベルに応じて実行されることを特徴とする請求項６に記載の方法。
【請求項１３】
前記選択不揮発性記憶素子が、第１のページと第２のページにプログラムされるデータの少なくとも２ビットを記憶するマルチ状態フラッシュメモリ装置であり、
前記選択不揮発性記憶素子が、第１の状態、第２の状態、第３の状態、または、第４の状態となることが可能であり、
第１の比較レベル、第２の比較レベル、及び、第３の比較レベルを含む読み出しのための３つの比較レベルが存在し、
前記第１の比較レベルが、前記第１の状態と前記第２の状態の間に存在し、前記読み出し電圧が前記第１の比較レベルに対応し、
前記第２の比較レベルが、前記第２の状態と前記第３の状態の間に存在し、
前記第３の比較レベルが、前記第３の状態と前記第４の状態の間に存在し、
前記方法が、データが前記第２のページから読み出されると判断するステップをさらに有し、
隣接する不揮発性記憶素子に前記特定の電圧を前記使用するステップが、前記３つの比較レベルについて前記隣接する不揮発性記憶素子に２つの異なる電圧を印加するステップを有し、前記２つの異なる電圧のうちの１つが前記特定の電圧であり、前記特定の電圧が前記隣接する不揮発性記憶素子にプログラムされる前記状態と関連付けられており、
状態を検出する前記ステップが、前記第１の比較レベルと前記特定の電圧に応じて実行され、
前記方法が、前記第２の比較レベルと前記特定の電圧に応じて検出するステップと、前記第３の比較レベルと前記特定の電圧に応じて検出するステップと、前記選択不揮発性記憶素子に記憶されたデータを特定するステップをさらに有することを特徴とする請求項６に記載の方法。
【請求項１４】
前記選択不揮発性記憶素子が、データの第１グループについての隣接する不揮発性記憶素子への書き込みの後にデータの第２グループについてプログラムされたデータを有することを特徴とする請求項６に記載の方法。
【請求項１５】
データの読み出し要求を受信するステップをさらに有し、前記印加するステップ、使用するステップ、及び、検出するステップが前記データの読み出し要求に応じた読み出し処理の一部として実行され、
前記検出に基づいてデータを報告するステップをさらに有することを特徴とする請求項６に記載の方法。
【請求項１６】
データの読み出し要求を受信するステップと、
前記要求に応えて第１の読み出し動作を使用して前記データを読み出すステップと、
前記データと関連するエラーの存在を判定し、前記特定の電圧を使用するステップが前記エラーの存在の前記判定に応じて前記エラーから前記データを修復するために実行されるステップと、
前記データを報告するステップ、
をさらに有することを特徴とする請求項６に記載の方法。
【国際調査報告】
2009528651.tif 000039
2009528651.tif 000040
2009528651.tif 000041