(57)【特許請求の範囲】
【請求項１】
複数の不揮発性記憶素子と、
前記複数の不揮発性記憶素子に対してマルチパス書き込みを行う１以上の管理回路と、を備えており、
前記１以上の管理回路は、前記複数の不揮発性記憶素子に対して、マルチパスの第１書き込み処理を実行するとともに、前記第１書き込み処理の後にマルチパスの第２書き込み処理を実行し、
前記第１及び第２書き込み処理の夫々は、複数の書き込みパルスを用いて前記複数の不揮発性記憶素子を目標状態の組に書き込むことを含み、
前記１以上の管理回路は、
前記第１書き込み処理において特定の結果を達成した書き込みパルスを特定し、
前記第２書き込み処理における複数の書き込みパルスの少なくとも一つを、前記特定された書き込みパルスによって調整する、
ことを特徴とする不揮発性記憶システム。
【請求項２】
前記１以上の管理回路は、最初のＮ個の不揮発性記憶素子をそれらの目標状態に到達させたときのパルスを、前記第１書き込み処理において特定の結果を達成した書き込みパルスとして特定することを特徴とする請求項１に記載の不揮発性記憶システム。
【請求項３】
前記１以上の管理回路は、前記第２書き込み処理における複数の書き込みパルスの最初のパルスの大きさを、前記特定された書き込みパルスに基づいて調整することを特徴とする請求項２に記載の不揮発性記憶システム。
【請求項４】
前記１以上の管理回路は、前記第２書き込み処理における複数の書き込みパルスの最初のパルスの大きさを、前記特定された書き込みパルスと等しい大きさに設定することを特徴とする請求項３に記載の不揮発性記憶システム。
【請求項５】
前記Ｎは、誤り訂正符号によって訂正可能なエラーの数よりも小さい数であることを特徴とする請求項２から４のいずれか１項に記載の不揮発性記憶システム。
【請求項６】
前記不揮発性記憶素子は、ＮＡＮＤフラッシュメモリ素子であることを特徴とする請求項１から５のいずれか１項に記載の不揮発性記憶システム。
【請求項７】
不揮発性記憶装置のマルチパス書き込み方法であり、
複数の書き込みパルスを用いて複数の不揮発性記憶素子を目標状態の組に書き込むマルチパスの第１書き込み処理を実行すること；
前記第１書き込み処理において特定の結果を達成した書き込みパルスを特定すること；
前記第１書き込み処理の後に、複数の書き込みパルスを用いて前記複数の不揮発性記憶素子を目標状態の組に書き込むマルチパスの第２書き込み処理を実行すること；
を含んでおり、当該方法はさらに、
前記第２書き込み処理における複数の書き込みパルスの少なくとも一つを、前記特定された書き込みパルスによって調整する、
ことを特徴とする不揮発性記憶装置のマルチパス書き込み方法。
【請求項８】
最初のＮ個の不揮発性記憶素子をそれらの目標状態に到達させたときのパルスを、特定の結果を達成した書き込みパルスとして特定することを特徴とする請求項７に記載のマルチパス書き込み方法。
【請求項９】
前記第２書き込み処理における複数の書き込みパルスの最初のパルスの大きさを、前記特定された書き込みパルスに基づいて調整することを特徴とする請求項８に記載のマルチパス書き込み方法。
【請求項１０】
前記第２書き込み処理における複数の書き込みパルスの最初のパルスの大きさを、前記特定された書き込みパルスと等しい大きさに設定することを特徴とする請求項９に記載のマルチパス書き込み方法。
【請求項１１】
前記Ｎは、誤り訂正符号によって訂正可能なエラーの数よりも小さい数であることを特徴とする請求項８から１０のいずれか１項に記載のマルチパス書き込み方法。
【請求項１２】
前記不揮発性記憶素子は、ＮＡＮＤフラッシュメモリ素子であることを特徴とする請求項７から１１のいずれか１項に記載のマルチパス書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性記憶装置のための技術に関する。
【背景技術】
【０００２】
半導体メモリは、様々な電子デバイスで使われることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ、及び他の装置に使用されている。電気的消去・再書込み可能型読取専用メモリ（ＥＥＰＲＯＭ）とフラッシュメモリは、最も普及している不揮発性半導体メモリである。
【０００３】
ＥＥＰＲＯＭとフラッシュメモリは、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されているフローティングゲートを採用している。フローティングゲートとチャネル領域は、ソース領域とドレイン領域の間に配置されている。フローティングゲートの上に、そのフローティングゲートから絶縁されている制御ゲートが設けられている。トランジスタの閾値電圧は、フローティングゲート上に保持されている電荷量によって制御される。即ち、そのソースとドレインの間の導通を可能にすべくトランジスタをオンするために制御ゲートに印加すべき電圧の最小量は、そのフローティングゲート上の電荷量レベルにより制御される。
【０００４】
ＥＥＰＲＯＭやＮＡＮＤ型フラッシュメモリデバイスなどのフラッシュメモリデバイスに書き込みを行う場合、典型的には、ビットラインが接地されるとともに、制御ゲートに書き込み電圧が加えられる。チャネルからの電子がフローティングゲートへ注入される。フローティングゲートに電子が蓄積されると、フローティングゲートが負値に帯電し、メモリセルの閾値電圧が上昇し、メモリセルが書き込まれた状態となる。書き込みに関するさらなる情報は、「Source Side Self Boosting Technique for Non-Volatile Memory」と題した米国特許第６，８５９，３９７号、「Detecting Over Programmed Memory」と題した米国特許第６，９１７，５４２号、及び、「Programming Non-Volatile Memory」と題した米国特許第６，８８８，７５８号に開示されている。これらの３つの文献の内容は、その全体を参照することにより本明細書に組み込まれる。
【０００５】
多くの場合、書き込み電圧は、パルス毎にその大きさが増加する一連のパルス（書き込みパルスと称する）として制御ゲートに印加される。書き込みパルスとパルスの間には、１以上の一連の検証動作が実行され、書き込まれたメモリセルがその目標レベルに達しているか否かが決定される。メモリセルがその目標レベルに達している場合、そのメモリセルに対する書き込みが終了する。メモリセルがその目標レベルに達していない場合、そのメモリセルに対して書き込みが継続される。
【０００６】
ある種のＥＥＰＲＯＭとフラッシュメモリデバイスは、２つの電荷量範囲を蓄えるために使われるフローティングゲートを備えており、それゆえ、そのメモリセルは、２つの状態（消去状態と書き込み状態）の間で書き込み／消去が行われることができる。そのようなフラッシュメモリデバイスは、バイナリメモリデバイスと呼ばれることがある。
【０００７】
マルチステートメモリデバイスは、禁止帯で分離された、複数の区別された有効な閾値電圧区分（或いはデータ状態）を特定することによって、１メモリセル当たり複数ビットのデータを記憶することができる。夫々の区別された閾値電圧区分は、メモリデバイス内で符号化される一組のデータビットに対する予め決められた値に対応する。例えば、２ビットデータを記憶するメモリセルは、４個の有効な閾値電圧区分を使う。３ビットデータを記憶するメモリセルは、８個の有効な閾値電圧区分を使う。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
１メモリセル当たりのデータビットの数（即ち、有効な閾値電圧区分の数）が増えるにつれて、メモリデバイスのデータ容量が増大する。この一方で、書き込みに要する時間も増加する。例えば、有効閾値電圧区分の数が増加するほど、書き込みパルスの間で必要とされる検証動作の数が増加する。一般的に、データを記憶するのに時間がかかる電子デバイスは好ましくない。例えば、デジタルカメラでは、写真の撮影と撮影の間の待ち時間は好ましくない。
【０００９】
メモリデバイスが１メモリセル当たりに記憶するデータビットが増大するにつれて、合理的な速さの書き込み速度に対する要望が高まってきている。
【課題を解決するための手段】
【００１０】
本明細書は、書き込み速度を向上するために書き込みパルス間の検証動作の量を制限する処理を開示する。
【００１１】
一実施形態は、複数の不揮発性記憶素子に対する第１書き込み処理と、その不揮発性記憶素子に対する第１書き込み処理に続く第２書き込み処理を実行することを含む。第２書き込み処理は、第１書き込み処理に少なくとも部分的に基づく一連の検証動作を含む。
【００１２】
一実施形態は、複数の不揮発性記憶素子に対する第１書き込み処理を実行することを含む。第１書き込み処理は、不揮発性記憶素子に書き込みパルスを印加することを含む。この方法はさらに、第１書き込み処理の間に第１結果を得るのに必要な第１書き込みパルスを特定すること、第１書き込み処理の間に第２結果を得るのに必要な第２書き込みパルスを特定すること、及び、第１書き込み処理に続いて不揮発性記憶素子に対して第２書き込み処理を実行すること、を含む。第２書き込み処理は、書き込みパルスの間で検証パルスを用いる。検証パルスは、第１書き込みパルスと第２書き込みパルスに基づいて制限される。
【００１３】
一実施形態は、複数の不揮発性記憶素子を消去すること、消去処理と関連して複数の不揮発性記憶素子にソフト書き込みすること、１以上の不揮発性記憶素子の第１組に対するソフト書き込みを完了することに関連する第１書き込みパルスを特定すること、１以上の不揮発性記憶素子の第２組に対するソフト書き込みを完了することに関連する第２書き込みパルスを特定すること、及び、不揮発性記憶素子を書き込むことを含む。この書き込み処理は、第１個数の書き込みパルス群と第２個数の書き込みパルス群に基づいて検証動作群を実行することを含む。
【００１４】
実装形態の一例は、一組の不揮発性記憶素子と、その一組の不揮発性記憶素子と通信する１以上の管理回路を含む。１以上の管理回路は、上記した処理を実行する。
【図面の簡単な説明】
【００１５】
【図１】ＮＡＮＤストリングの平面図である。
【図２】ＮＡＮＤストリングの等価回路図である。
【図３】不揮発性メモリシステムのブロック図である。
【図４】メモリアレイの一実施例を示すブロック図である。
【図５】センスブロックの一実施例を示すブロック図である。
【図６】閾値電圧区分セットの一例を示す図である。
【図７】閾値電圧区分セットの一例を示す図である。
【図８】閾値電圧区分に対応した一組のデータ状態へデータを符号化する例を示す図である。
【図９】閾値電圧区分に対応した一組のデータ状態へデータを符号化する例を示す図である。
【図１０】不揮発性素子を動作させる処理の一例を説明するフローチャートである。
【図１１Ａ】マルチパス書き込み処理を示す図である。
【図１１Ｂ】マルチパス書き込み処理を示す図である。
【図１１Ｃ】マルチパス書き込み処理を示す図である。
【図１１Ｄ】マルチパス書き込み処理を示す図である。
【図１１Ｅ】マルチパス書き込み処理を示す図である。
【図１２】不揮発性素子に書き込む処理の一例を示すフローチャートである。
【図１２Ａ】選択されたメモリセルの制御ゲートに印加される書き込みパルス群と検証パルス群を示す図である。
【図１３】複数ワードラインへの４パス書き込み処理を実行するシーケンスの一例を示すチャートである。
【図１４】不揮発性記憶装置の動作の処理の一例を示すフローチャートである。
【図１５】不揮発性記憶装置に書き込むための処理の一例を示すフローチャートである。
【図１６】不揮発性記憶装置の動作の処理の一例を示すフローチャートである。
【図１７】不揮発性記憶装置の動作の処理の一例を示すフローチャートである。
【図１８】検証のための処理の一例を示すフローチャートである。
【図１９】データ読み出しのための処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
フラッシュメモリシステムの一例は、ＮＡＮＤ構造を用いており、２つの選択ゲートの間に複数のトランジスタの直列接続を含んでいる。直列に接続されたトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１は、１つのＮＡＮＤストリングを示す平面図である。図２は、その等価回路である。図１と図２に示すＮＡＮＤストリングは、第１（又はドレイン側）選択ゲート１２０と第２（又はソース側）選択ゲート１２２の間に挟まれている、直列に接続されている４つのトランジスタ１００、１０２、１０４及び１０６を有する。選択ゲート１２０は、ビットコンタクト１２６を介してＮＡＮＤストリングをビットラインに接続している。選択ゲート１２２は、ＮＡＮＤストリングをソースライン１２８に接続している。選択ゲート１２０は、選択ラインＳＧＤに適切な電圧を加えることによって制御される。センタ買うゲート１２２は、選択ラインＳＧＳに適切な電圧を加えることによって制御される。トランジスタ１００、１０２、１０４、及び１０６の夫々は、制御ゲートとフローティングゲートを有している。例えば、トランジスタ１００は、制御ゲート１００ＣＧとフローティングゲート１００ＦＧを備えている。トランジスタ１０２は、制御ゲート１０２ＣＧとフローティングゲート１０２ＦＧを備えている。トランジスタ１０４は、制御ゲート１０４ＣＧとフローティングゲート１０４ＦＧを備えている。トランジスタ１０６は、制御ゲート１０６ＣＧとフローティングゲート１０６ＦＧを備えている。制御ゲート１００ＣＧはワードラインＷＬ３に接続されており、制御ゲート１０２ＣＧはワードラインＷＬ２に接続されており、制御ゲート１０４ＣＧはワードラインＷＬ１に接続されており、制御ゲート１０６ＣＧはワードラインＷＬ０に接続されている。
【００１７】
図１と図２は、ＮＡＮＤストリング内の４個のメモリセルを示しているが、４個のトランジスタの使用は単に一例として提示されている点に留意されたい。ＮＡＮＤストリングは、４個よりも少ない、或いは、４個よりも多いメモリセルを有していてよい。例えば、ＮＡＮＤストリングによっては８個、１６個、３２個、６４個、１２８個などの数のメモリセルを有していてよい。本明細書の説明は、いかなる特定個数のメモリセルを有するＮＡＮＤストリングにも限定されない。
【００１８】
ＮＡＮＤ構造を用いたフラッシュメモリシステムの一般的なアーキテクチャは、いくつかのＮＡＮＤストリングを含んでいる。各ＮＡＮＤストリングは、選択ラインＳＧＳによって制御されるソース選択ゲートによってソースラインに接続されているとともに、選択ラインＳＧＤによって制御されるドレイン選択ゲートによって関連するビットラインに接続されている。各ビットラインとそのビットラインにビットラインコンタクトを介して接続されている夫々のＮＡＮＤストリングは、メモリセルアレイの列を構成する。ビットラインは、複数のＮＡＮＤストリングによって共有されている。典型的には、ビットラインは、ワードラインと直交する方向でＮＡＮＤストリング上を通っており、１以上のセンスアンプと接続されている。
【００１９】
各メモリセルは（アナログ又はデジタルの）データを記憶することができる。１ビットのデジタルデータを記憶する場合、メモリセルの可能な閾値電圧の範囲は、２つの範囲に分割され、それぞれの範囲が論理データの「１」と「０」に割り当てられる。ＮＡＮＤ型フラッシュメモリの一例では、メモリセルが消去された後では閾値電圧が負値となり、それは論理「１」と定義される。書き込み後の閾値電圧は正値となり、それは論理「１」と定義される。閾値電圧が負値であり、制御ゲートに０ボルトが印加される読み出しが試みられた場合、メモリセルがオンとなり、これは論理１が記憶されていることを示す。閾値電圧が正値であり、制御ゲートに０ボルトが印加される読み出しが試みられた場合、メモリセルはオンせず、これは論理０が記憶されていることを示す。
【００２０】
複数レベルのデータを記憶する場合には、可能な閾値の範囲は、データのレベルの数に分割される。例えば、４つのレベルの情報を記憶する場合（２ビットのデータ）、４つの閾値電圧範囲が存在し、それぞれがデータ値「１１」、「１０」、「０１」、及び「００」に割り当てられる。ＮＡＮＤタイプのメモリの一例では、消去動作の後の閾値電圧は負の値となり、論理「１１」と定義される。正値の閾値電圧群が「１０」、「０１」、「００」というデータ状態に対して用いられる。８つのレベルの情報（又は状態）が記憶される場合（即ち、３ビットのデータ）、データ値「０００」、「００１」、「０１０」、「０１１」、「１００」、「１０１」、「１１０」、及び「１１１」に割り当てられる８つの閾値電圧範囲がある。
【００２１】
メモリセルに書き込まれるデータとセルの閾値電圧レベルの間の具体的な関係は、セルに採用されるデータ符号化方式によって決まる。例えば、両方ともその全体を参照することにより本明細書に組み込まれる米国特許第６，２２２，７６２号及び米国特許出願公開公報第２００４／０２５５０９０号は、マルチステートフラッシュメモリセルのための様々なデータ符号化方式を説明している。一実施形態においては、フローティングゲートの閾値電圧が誤ってその近傍の物理状態にシフトした場合に１つのビットだけが影響を受けるように、グレイコード割当を用いてデータ値が閾値電圧範囲に割り当てられる。他の実施形態では、異なるワードラインに対してデータ符号化技法が変更され得ることがある。データ符号化技法は、時間に依存して変更され得ることがある。また、ランダムなワードラインのデータビットは、データパターン感度を低減し、メモリセルのウェアを均一にするために、変換されるか、或いはランダム化されることがある。
【００２２】
ＮＡＮＤタイプのフラッシュメモリおよびそれらの動作に関連する例は、以下の米国特許／特許出願に記載されており、それらの引用文献は、その全体が参照により本明細書に組み込まれる。米国特許第５，５７０，３１５号、米国特許第５，７７４，３９７号、米国特許第６，０４６，９３５号、米国特許第６，４５６，５２８号、及び、米国公開公報第ＵＳ２００３／０００２３４８号。本明細書における説明は、他のタイプの不揮発性記憶素子と同様に、ＮＡＮＤを加えた他のタイプのフラッシュメモリにも利用可能である。
【００２３】
ＮＡＮＤフラッシュメモリに加えて、不揮発性記憶装置の他のタイプもまた用いることができる。例えば、基本的に（フローティングゲートの代わりに）窒化物層内に電荷をトラッピングするメモリセルである、いわゆるＴＡＮＯＳ構造（ＴａＮ−Ａｌ２Ｏ３−ＳｉＮ−ＳｉＯ２の積層から構成される構造）にも本発明は適用できる。フラッシュＥＥＰＲＯＭシステムで有用な別のタイプのメモリセルは、不揮発方式で電荷を蓄積するために、導電性フローティングゲートの代わりに非導電性の誘電物質を活用する。そのようなセルは、Chanらによる記事、「A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device」、IEEE ELECTRON DEVICE Letters、ＥＤＬ−８巻、第３号、１９８７年３月の９３から９５ページに説明されている。酸化ケイ素、窒化ケイ素、及び酸化ケイ素（「ＯＮＯ」）から形成される三層の誘電体が、メモリセルチャネル上で半導電性基板の表面と導電性制御ゲートとの間に挟まれている。セルは、セルチャネルから窒化物の中に電子を注入することにより書込みが行われ、窒化物内において電子が制限領域内にトラッピングされ蓄積される。この蓄積された電荷は、次に、検出可能な方法で、セルのチャネルの一部の閾値電圧を変更する。セルは、窒化物中にホットホールを注入することによって消去される。Nozakiら、「A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application」、IEEE Journal of Solid-State Circuits、第２６巻、第４号、１９９１年４月、４９７から５０１ページに、分離した選択トランジスタを形成するためにドーピングされたポリシリコンゲートがメモリセルチャネルの一部に拡がっている分割ゲート構成における同様のセルが説明されている。その文献も参照されたい。前記２つの記事は、その全体を参照することにより本明細書に組み込まれる。参照することにより本明細書に組み込まれるWilliam D. Brown及びJoe E. Brewerによって編集された「Nonvolatile Semiconductor Memory Technology」、ＩＥＥＥ出版１９９８年の第１．２項にも、誘電電荷トラップ装置に適用可能である書き込み技法が説明されている。他のタイプのメモリ素子も使用できる。
【００２４】
図３は、１つ以上のメモリダイ又はチップ２１２を有する不揮発性記憶デバイス２１０を示している。メモリダイ２１２は、メモリセルの（２次元又は３次元の）アレイ２００、制御回路２２０、及び、リード／ライト回路２３０Ａと２３０Ｂを有する。一実施形態では、様々な周辺回路によるメモリアレイ２００へのアクセスはアレイの両側で対称的に実装されており、これにより、各側のアクセスライン及び回路の密度が半分に低減される。リード／ライト回路２３０Ａ及び２３０Ｂは、複数のセンスブロック３００を有しており、それらのセンスブロック３００によって１ページのメモリセルを並列に読み出し又は書き込みすることができる。メモリアレイ１００は、行デコーダ２４０Ａと２４０Ｂを介したワードラインと、列デコーダ２４２Ａと２４２Ｂを介したビットラインによってアドレス指定される。典型的な実施形態では、コントローラ２４４は、１つ以上のメモリダイ２１２のような同じメモリデバイス２１０（例えば、取り外し可能なストレージカード又はパッケージ）内に含まれる。命令、及びデータは、ライン２３２を介してホストとコントローラ２４４の間で転送され、また、ライン２３４を介してコントローラと１つ以上のメモリダイ２１２の間で転送される。
【００２５】
制御回路２２０は、リード／ライト回路２３０Ａと２３０Ｂと協調して、メモリアレイ２００に対してメモリ動作を実行する。制御回路２２０は、ステートマシン２２２、オンチップアドレスデコーダ２２４、及び電力制御モジュール２２６を有している。ステートマシン２２２は、メモリ動作のチップレベルの制御を提供する。オンチップアドレスデコーダ２２４は、ホスト又はメモリコントローラによって用いられるアドレスと、デコーダ２４０Ａ、２４０Ｂ、２４２Ａ及び２４２Ｂによって用いられるハードウェアアドレスの間のアドレスインタフェースを提供する。電力制御モジュール２２６は、メモリ動作中のワードライン及びビットラインに供給される電力及び電圧を制御する。一実施形態では、電力制御モジュール２２６は、供給電力より大きな電圧を作り出すことができる一つ以上のチャージポンプを有する。
【００２６】
一実施形態では、制御回路２２０、電力制御回路２２６、デコーダ回路２２４、ステートマシン回路２２２、デコーダ回路２４２Ａ、デコーダ回路２４２Ｂ、デコーダ回路２４０Ａ、デコーダ回路２４０Ｂ、リード／ライト回路２３０Ａ、リード／ライト回路２３０Ｂ、及び／又はコントローラ２４４の一つ又は幾つかの組合せは、１つの管理回路、或いは複数の管理回路群と称されることがある。
【００２７】
図４は、メモリセルアレイ２００の例示的な構造を示す。一実施形態においては、メモリセルのアレイは、メモリセル群のＭ個のブロックに分割される。フラッシュＥＥＰＲＯＭシステムに一般的であるように、ブロックは消去の単位である。すなわち、各ブロックは共に消去される最小数のメモリセルを含む。各ブロックは、通常、複数のページに分割される。ページは書き込みの単位である。通常、１つ又は複数ページのデータが１列のメモリセルに記憶される。１つのページは、１つ又は複数のセクタを記憶できる。１つのセクタは、ユーザデータとオーバヘッドデータを含む。オーバヘッドデータは、通常、セクタのユーザデータから算出される誤り訂正符号（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ：ＥＣＣ）を含む。コントローラ（後述）の一部が、データがアレイに書き込まれているときにＥＣＣを計算し、データがアレイから読み出されているときにＥＣＣのチェックも行う。代わりに、ＥＣＣ及び／又は他のオーバヘッドデータはそれらが関係するユーザデータとは異なるページに記憶され、または異なるブロックに記憶されることがある。ユーザデータのセクタは通常、磁気ディスクドライブ内のセクタサイズに相当する５１２バイトである。例えば８ページから３２、６４、１２８、或いはそれ以上のページまでの多数のページが１ブロックを形成する。異なるサイズのブロックと配置も採用することができる。
【００２８】
別の実施形態では、ビットラインは偶数のビットラインと奇数のビットラインに分けられる。奇数／偶数ビットラインアーキテクチャでは、共通ワードラインに沿っており奇数ビットラインに接続されたメモリセル群は、同時に書き込みが行われる。これに対し、共通ワードラインに沿っており偶数ビットラインに接続されたメモリセル群は、奇数ビットラインに接続されたメモリセル群の書き込みとは別のタイミングで同時に書き込みが行われる。
【００２９】
図４は、メモリアレイ２００の第ｉブロックの詳細を示している。第ｉブロックは、Ｘ＋１ビットラインとＸ＋１ＮＡＮＤストリングを含んでいる。第１ブロックは、６４本のデータワードライン（ＷＬ０−ＷＬ６３）、２本のダミーワードライン（ＷＬ＿ｄ０、ＷＬ＿ｄ１）、ドレイン側選択ライン（ＳＧＤ）、及び、ソース側選択ライン（ＳＧＳ）も含んでいる。各ＮＡＮＤストリングの一端は、（選択ラインＳＧＤに接続されている）ドレイン選択ゲートを介して対応するビットラインに接続されており、他端は、（選択ラインＳＧＳに接続されている）ソース選択ゲートを介してソースラインに接続されている。６４本のデータワードラインと２本のダミーワードラインが存在するので、各ＮＡＮＤストリングは、６４個のデータメモリセルと２個のダミーメモリセルを含んでいる。他の実施形態では、ＮＡＮＤストリングは、６４個より多い、或いは少ないデータメモリセルと２個のダミーメモリセルを有していてもよい。データメモリセルは、ユーザ又はシステムのデータを記憶することができる。ダミーメモリセルは、通常、ユーザ又はシステムのデータを記憶するのには用いられない。幾つかの実施形態は、ダミーメモリセルを有していない。
【００３０】
図５は、センスモジュール４８０と呼ばれるコア部と共通部４９０に分割された個々のセンスブロック３００のブロック図である。一実施形態では、各ビットラインに対して個別のセンスモジュール４８０を用意し、一組の複数センスモジュール４８０に対して一つの共通部４９０を用意してもよい。一例として、１個のセンスブロックは、１個の共通部４９０と８個のセンスモジュール４８０を有している。グループ内の各センスモジュールは、データバス４７２を介して協働する共通部と通信する。さらなる詳細としては、その全体を参照することにより本明細書に組み込まれる米国特許出願公開公報２００６／０１４０００７号を参照されたい。
【００３１】
センスモジュール４８０は、接続されたビットライン内の伝導電流が予め決められた閾値レベルより高いか低いかを判定するセンス回路４７０を備えている。幾つかの実施形態では、センスモジュール４８０は、センスアンプと一般に呼ばれる回路を有する。センスモジュール４８０は、さらに、接続されたビットラインに電圧状態を設定するために用いられるビットラインラッチ４８２を有している。例えば、ビットラインラッチ４８２内で予め決められた状態がラッチされることによって、接続されたビットラインを、書き込み禁止を指定する状態（例えば、Ｖｄｄ）に引き上げる（プル）する。
【００３２】
共通部４９０は、プロセッサ４９２、１組のデータラッチ４９４、及び、１組のデータラッチ４９４とデータバス４２０の間を接続するＩ／Ｏインタフェース４９６を備えている。プロセッサ４９２は計算を実行する。例えば、その機能の１つは、センスされたメモリセル内に記憶されているデータを特定し、特定されたデータを一組のデータラッチ内に記憶することである。１組のデータラッチ４９４は、読み出し動作において、プロセッサ４９２によって特定されたデータビット群を記憶するために用いられる。一組のデータラッチ４９４は、書き込み動作において、データバス４２０から取り込んだデータビット群を記憶するためにも用いられる。取り込まれるデータビット群は、メモリ内に書き込む予定のライトデータ（書き込みデータ）を表す。Ｉ／Ｏインタフェース４９６は、データラッチ４９４とデータバス４２０の間のインタフェースを提供する。
【００３３】
読み出し又はセンス中には、システムの動作はステートマシン２２２の制御下にあり、ステートマシン２２２はアドレス指定されたセルへの種々の制御ゲート電圧の供給を制御する。メモリに用意された様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む毎に、センスモジュール４８０はこれらの電圧の１つに遷移し、バス４７２を介してセンスモジュール４８０からプロセッサ４９２に出力が提供される。その時点で、プロセッサ４９２は、センスモジュールの遷移イベントと、ステートマシンから入力ライン４９３を介して加えられた制御ゲート電圧についての情報によって、結果としてのメモリ状態を特定する。それから、プロセッサは、メモリ状態に対するバイナリ符号化を計算し、得られたデータビット群をデータラッチ４９４に格納する。コア部の別の実施形態では、ビットラインラッチ４８２は、センスモジュール４８０の出力をラッチするラッチ、及び、上記のようなビットラインラッチの二つの役割を持つ。
【００３４】
当然のことながら、いくつかの実装形態では複数のプロセッサ４９２を有することができる。一実施形態では、各プロセッサ４９２は出力ライン（図５には示されていない）を有し、各出力ラインは共にワイヤードＯＲ（配線論理和）接続される。いくつかの実施形態では、出力ラインは、ワイヤードＯＲラインに接続される前段階で反転される。この構成は、ワイヤードＯＲの結果を受け取るステートマシンが、書き込まれる全てのビットがいつ所望のレベルに到達したかを判断できるので、書き込み処理の完了時点を判定する書き込み検証処理における素早い判定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理「０」がワイヤードＯＲラインに送られる（又はデータ「１」が反転される）。全てのビットがデータ「０」を出力すると（又はデータ「１」が反転されると）、ステートマシンは書き込み処理の完了を知る。各プロセッサが８個のセンスモジュールと通信する実施形態では、（いくつかの実施形態において）ステートマシンはワイヤードＯＲラインを８回読み出す必要があってもよいし、あるいは、協働するビットラインの結果を蓄積するための論理をプロセッサ４９２に追加し、ステートマシンがワイヤードＯＲラインを一度だけ読み出せば良いようにしてもよい。
【００３５】
書き込み又は検証処理の間、書き込まれるべきデータはデータバス４２０から１組のデータラッチ４９４内に記憶される。ステートマシン制御下の書き込み動作は、アドレス指定されるメモリセルの制御ゲートに加えられる一連の（値の増加を伴う）書き込み電圧パルスを伴う。各書き込みパルスに続いて検証処理が実行され、メモリセルが所望の状態に書き込まれたかどうかを判定する。プロセッサ４９２は、所望のメモリ状態に対する検証メモリ状態を監視する。その２つが一致したとき、プロセッサ４９２は、書き込み禁止を指定する状態にビットラインを引き上げる（プルする）ようにビットラインラッチ４８２を設定する。これにより、たとえ書き込みパルスがその制御ゲートに影響しても、ビットラインに接続したセルがさらに書き込みされないようにすることができる。他の実施形態では、プロセッサが最初にビットラインラッチ４８２をロードし、センス回路が検証処理中にそれに禁止値を設定する。
【００３６】
データラッチスタック４９４は、センスモジュールに対応するデータラッチのスタックを有する。一実施形態では、センスモジュール４８０毎に３個から５個の（或いはその他の数の）データラッチが存在する。一実施形態では、ラッチは夫々１ビットである。いくつかの実装形態では、（必須ではないが）データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス４２０用にシリアルデータに変換したり、その逆を行ったりする。好適な一実施形態では、ｍ個のメモリセルのリード／ライトブロックに対応する全てのデータラッチを相互にリンクしてブロックシフトレジスタを構成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、リード／ライトモジュールの一群のデータラッチのそれぞれが、データバスへ或いはデータバスからデータを順に転送するようにリード／ライトモジュールのバンクを構成し、一群のデータラッチがあたかもリード／ライトブロック全体のシフトレジスタの一部であるかのようにしてもよい。
【００３７】
読み出し動作やセンスアンプについてのさらなる情報は次の文献に記載されている。（１）米国特許出願公開２００４／００５７２８７号、「Non-Volatile Memory And Method With Reduced Source Line Bias Errors」、２００４年３月２５日公開、（２）米国特許出願公開２００４／０１０９３５７号、「Non-Volatile Memory And Method with Improved Sensing」、２００４年６月１０日公開、（３）米国特許出願公開２００５０１６９０８２号、（４）米国特許出願公開２００６／０２２１６９２号、「Compensating for Coupling During Read Operations of Non-Volatile Memory」、発明者Ｊｉａｎ  Ｃｈｅｎ、２００５年４月５日出願、及び、（５）米国特許出願第１１／３２１，９５３号、「Reference Sense Amplifier For Non-Volatile Memory」、発明者Ｓｉｕ  Ｌｕｎｇ  Ｃｈａｎ及びＲａｕｌ−Ａｄｒｉａｎ  Ｃｅｒｎｅａ、２００５年１２月２８日出願。これら５個の特許文献の全ては、その全体を参照することにより本明細書に組み込まれる。
【００３８】
成功した（検証を含む）書き込み処理の最後において、メモリセルの閾値電圧は、必要に応じて、書き込まれたメモリセルの１つ又は複数の閾値電圧の区分内、或いは、消去されたメモリセルの閾値電圧の区分内となる。図６は、各メモリセルが４ビットデータを記憶する場合のメモリセルアレイについてのデータ状態に対応した閾値電圧区分の例を示す。なお、他の実施形態では、１メモリセルあたり４ビットよりも多い、或いは少ないデータを採用してもよい。図６は、データ状態０−１５に対応する１６個の閾値電圧区分を示している。一実施形態では、状態０の閾値電圧は負値であり、状態１−１５の閾値電圧は正値である。
【００３９】
データ状態０−１５の夫々の間は、メモリセルからデータを読み出す際に用いられる読み出し参照電圧である。例えば、図６は、データ状態０と１の間の読み出し参照電圧Ｖｒ１と、データ状態１と２の間の読み出し参照電圧Ｖｒ２を示している。メモリセルの閾値電圧が各読み出し参照電圧よりも高いか低いかを検証することによって、システムは、そのメモリセルがどの状態にあるかを決定することができる。
【００４０】
各データ状態０−１５の下限或いはその付近は、検証参照電圧である。例えは、図６は、状態１に対するＶｖ１と、状態２に対するＶｖ２を示している。目標の状態へのメモリセルの書き込みの際、システムは、それらのメモリセルが検証参照電圧に等しいかそれより高い閾値電圧を有するか否かをテストする。
【００４１】
図７は、データ状態０−１５に対応する閾値電圧区分の他の実施形態を示している。この実施形態では、ＥＣＣが、エラーとなっているある程度の割合のセルを扱うことができるので、閾値電圧区分が部分的にオーバーラップすることができる。
【００４２】
Ｖｔ軸は、制御ゲートに印加される実際の電圧からオフセットされ得ることに留意されたい。オフセットは、ソースを通じたボディ効果、或いは、負値の閾値電圧を測定可能な正値範囲にシフトさせるためにボディバイアスが用いられることにより生じる。図示された１６個の状態の等間隔／等幅とは異なり、保持力損失に対する脆弱性の度合いの違いに対応するために、状態は異なる幅／間隔を有していてもよいことにも留意されたい。幾つかの実施形態では、状態０及び／又は状態１５は、他の状態よりも広い。
【００４３】
図６（又は図７）の各データ状態は、夫々の状態に書き込まれたメモリセルに記憶されたデータビットに対する予め決められた値に対応している。図８は、データ状態０−１５の夫々に割り当てられたデータ値の一例を示す表である。一実施形態では、メモリセルは４個の異なるページに属するデータを記憶する。４つのページは、第１下位ページ、第２上位ページ、第３高位ページ、第４トップページと称される。図８は、各データ状態０−１５に対して各ページに属するデータを示している。一実施形態では、各ページは別々に書き込まれる。他の実施形態では、１つのメモリセルに対する４つ全てのデータビットが同時に書き込まれる。
【００４４】
図９は、データ状態０−１５の夫々に割り当てられたデータ値の他の一例を示す表である。図８のデータ値は、グレイコード割当を用いており、隣接するデータ状態では１ビットのみが異なる。この配置は、メモリセルの閾値電圧が低すぎる或いは高すぎる場合のエラービットの数を抑制する。
【００４５】
図１０は、不揮発性メモリセルの動作の一実施形態を示すフローチャートである。多くの実装形態では、メモリセルは、書き込みに先立って（ブロック単位又は他の単位で）消去される。一実施形態では、ソースとビットラインをフローティング状態にしておきながら、選択されたブロックのワードラインを接地し、十分な時間の間ｐウエルを消去電圧（例えば２０ボルト）にまで上昇させることによってメモリセルが消去される（ステップ５００参照）。容量結合のため、非選択ワードライン、ビットライン、選択ライン、及び、ソースもまた、消去電圧のかなりの割合の電圧まで上昇する。そのため、選択されたメモリセルのトンネル酸化物層に強力な電場が加わり、主としてファウラ−ノルドハイムトンネル効果によってフローティングゲートの電子が基板側に放出されて、選択されたメモリセルのデータが消去される。電子がフローティングゲートからｐ−ウェル領域に移動するにつれて、選択されたセルの閾値電圧が低下する。消去は、メモリアレイ全体、別々のブロック、又はセルの他の単位で行うことができる。メモリセルのブロックが消去された後、本明細書に説明されるように、種々のメモリセルに書き込みが行われる。
【００４６】
ステップ５０２では、消去されたメモリセルの消去閾値電圧の区分を狭めるために、ソフト書き込みが任意的に実行される。いくつかのメモリセルは、消去処理の結果として必要以上に低い消去状態にあってよい。ソフト書き込みは、消去されたメモリセルの閾値電圧を一層狭い閾値電圧区分に移行させるために書き込みパルスを印加することを含む。各書き込みパルスの間で検証動作が実行され、メモリセルが適切な消去閾値電圧区分内となっているか否かが決定される。ソフト書き込み処理の終了に先立って、ソフト書き込みがそれ以上必要ないメモリセルは、対応するビットラインを引き上げることによってそれ以上のソフト書き込みから除外される。検証電圧は、個別の実装に基づいて変更され得る。ソフト書き込みは技術的に知られている。ソフト書き込みに関するさらなる情報は、米国特許第６，６６１，７１１号に開示されており、その文献は参照により本明細書に組み込まれる。ソフト書き込みを実行するのに特別な技法は要求されないことに留意されたい。ソフト書き込みは消去処理と関連して実行されることがあり、また、ソフト書き込みは書き込み時に実行されることもある。
【００４７】
ステップ５０４では、書き込みデータ要求が受信される。この要求は、ホスト或いは他のデバイスから受信され得る。ステップ５０２と５０４の間の点線は、予測できない時間幅、及び、潜在的には、いくつかの中間タスク（他の書き込み動作を含む）がステップ５０２と５０４の間に介在することを示している。
【００４８】
ステップ５０６では、メモリセルを消去閾値電圧区分から有効データ状態に対応付けられた閾値電圧区分のいずれかへ書き込むマルチパス書き込み処理を用いることによって、データがメモリセルに書き込まれる。ステップ５０６の詳細は後述する。
【００４９】
ステップ５０８では、データメモリセルが読み出され、読み出されたデータがユーザに提供される。例えば、メモリセルからのデータは、コントローラによってホストへ提供される。ステップ５０６と５０８の間の点線は、予測できない時間幅、及び、潜在的には、いくつかの中間タスクがステップ５０２と５０４の間に介在することを示している。幾つかのケースでは、データは読み出されることがないことも起こり得る。図１０の処理は、コントローラ２４４及び／又は制御回路２２０の管理下で、それ（ら）によって実行される。
【００５０】
一般に、読み出し及び検証動作を行っている間、選択されたワードラインは、各読み出し及び検証動作において指定されたあるレベル（即ち、Ｖｒ１又はＶｒ２）の電圧に接続され、注目するメモリセルの閾値電圧がそのようなレベルに達しているか否かが決定される。非選択ワードラインは、選択されたワードラインの電圧とは異なるオーバードライブ電圧（Ｖｒｅａｄと称される）に接続される。オーバドライブ電圧は、通常、データメモリセルに書き込まれることのできる最大の閾値電圧よりも高い電圧が選定される。オーバードライブ電圧と閾値電圧との差をオーバードライブと称することがある。ワードライン電圧を選択されたワードラインに印加した後、メモリセルの導通電流が測定され、そのワードラインに印加された電圧に応答してメモリセルがオンしたか否かが決定される。導通電流が所定値よりも大きいことが測定された場合、そのメモリセルはオンしたと判断され、そのワードラインに印加された電圧がそのメモリセルの閾値電圧よりも高いと判断される。導通電流が所定値よりも大きいことが測定されなかった場合、そのメモリセルはオンしなかったと判断され、そのワードラインに印加された電圧がそのメモリセルの閾値電圧よりも高くないと判断される。
【００５１】
読み出し或いは検証動作におけるメモリセルの導通電流の計測には、様々な方法がある。一例では、メモリセルの導通電流は、その導通電流がセンスアンプ内の専用キャパシタを蓄電する又は放電する速度によって計測することができる。他の例では、選択されたメモリセルの導通電流は、そのメモリセルを含むＮＡＮＤストリングがビットライン上の電圧を放電することを許可する（或いは許可することに失敗する）。ビットラインの電圧は、所定時間後に計測され、放電されたか否かが判断される。データ読み出しに関するさらなる詳細は、米国特許公開公報第２００６／０２２１６８３号に開示されており、その内容はその全体を参照することにより本明細書に組み込まれる。
【００５２】
図１１Ａ−Ｄは、図６と図７に示した４ビットデータを記憶するメモリセルへデータを書き込みのための４パス書き込み処理を説明する図である。書き込みに先立って、ブロックの全てのメモリセルが、消去閾値電圧区分へ消去される（図１０のステップ５００参照）。例えば、図１１Ａは、消去閾値電圧区分Ｅの状態にあるメモリセルのブロックを示している。幾つかの実施形態では、消去閾値電圧区分Ｅはゼロボルトより低い。他の実施形態では、消去閾値電圧区分Ｅは、ゼロボルトより高い、或いは、部分的にゼロボルトより高い。負値の閾値電圧区分は、ソース電圧を上げることによって正の領域へシフトさせることができ、それによって、フローティングゲート上の電荷量を変えることなく閾値電圧を引き上げる傾向がある逆ボディバイアスを引き起こすことができる。逆ボディバイアスの適用による閾値電圧のこの変化は、ボディ効果の良く知られた現象によるものである。大半のＮＡＮＤメモリでは、Ｐウエルがボディを構成する。図を簡単にするために、図１１Ａから１１Ｄでは、全てのＶＴが正の領域に現れるように、Ｖｔ軸を実際のＶＴからシフトさせている。実際には、負値のＶＴは、逆ボディバイアスを利用し、それらのＶＴをゼロより上に引き上げて測定することができる。これらの図においてシフトされたＶｔ軸に反映されるように、この場合、正値のＶＴの最大値は４ボルト前後であり、６ボルト或いはそれ以上にはならない。
【００５３】
図１１Ｂは、第１書き込みパスを示している。第１書き込みパルスの間、最終的にデータ状態０から７が書き込まれるべきメモリセルに対して、状態０の閾値電圧より低い閾値電圧区分が書き込まれる。例えば、図１１Ｂは、中間閾値電圧区分ＬＭ０１が書き込まれているメモリセルが示されている。最終的にデータ状態８から１５が書き込まれるべきメモリセルのグループに対して、図１１ＢでＬＭ０２と記された中間閾値電圧区分が書き込まれる。一実施形態では、閾値電圧区分ＬＭ０２は、データ状態７に対する閾値電圧よりも高くはない。この第１パスの書き込みパルスの間において、一つはＬＭ０１に対するものであり、一つはＬＭ０２に対するものである２つの検証動作が実行される。それゆえ、書き込みパルスの間では、２つの検証パルスが用いられる。書き込み処理の開始から少なくとも一つのメモリセルがＬＭ０１に到達するまでの間は、（ＬＭ０１のみに対する）一つの検証パルスを用いることも可能である。少なくとも一つのメモリセルがＬＭ０１に到達したときに、システムは２つの検証パルスを用いることになる。他の実施形態では、第１書き込みパスは、３つ以上の閾値電圧区分を書き込むことができる。一実施形態では、データは状態０に消去され、最終的にデータ状態０から７が書き込まれるべきメモリセルは状態０のままである一方で、最終的にデータ状態８から１５が書き込まれるべきメモリセルには中間閾値電圧区分が書き込まれる。他の実施形態では、ある程度の割合のエラー発生セルをＥＣＣが扱うことができる場合は、ＬＭ０１は、消去閾値電圧区分Ｅと僅かにオーバーラップしていてもよい。それゆえ、ＥＣＣによって訂正可能なＫ個のビットを除く他の全てのビットが検証されたときに、この書き込みパスは終了することができる。
【００５４】
図１１Ｃは、第２書き込みパスを示している。データ状態０から３が書き込まれるべきＬＭ０１のメモリセルに対して、閾値電圧区分ＬＭ１１が書き込まれる。例えば、図１１Ｃは、閾値電圧区分ＬＭ０１（点線）とＬＭ１１（実線）を示している。最終的にデータ状態３から７が書き込まれるべきＬＭ０１のメモリセルに対して、中間閾値電圧区分ＬＭ１２が書き込まれる。最終的にデータ状態８から１１が書き込まれるべきＬＭ０２のメモリセルに対して、中間閾値電圧区分ＬＭ１３が書き込まれる。最終的にデータ状態１２から１５が書き込まれるべきＬＭ０２のメモリセルに対して、中間閾値電圧区分ＬＭ１４が書き込まれる。第２書き込みパスの間、書き込みパルスの間に最大４つの検証動作が実行されることが必要である。一つの検証動作はＬＭ１１のためであり、一つの検証動作はＬＭ１２のためであり、一つの検証動作はＬＭ１３のためであり、一つの検証動作はＬＭ１４のためである。それゆえ、各書き込みパルスの間に、最大４つの検証パルスが存在する。幾つかの実施形態では、インテリジェントスキームを使って検証パルスの数を減らすことができる。そのインテリジェントスキームは、特定の目標付近にメモリセルがないことをもって、幾つかの検証パルスをいつ省略し得るかを決定するためのものである。様々なスキームが利用し得る。効率的な検証スキームに関するさらなる情報は、米国特許第７，０７３，１０３号に開示されており、その公報は、その全体を参照することにより本明細書に組み込まれる。ＥＣＣがある程度の割合のエラー発生セルを扱うことができる他の実施形態では、ＬＭ１１はＬＭ１２とオーバーラップし得るし、ＬＭ１３はＬＭ１４とオーバーラップし得る。さらに、ＬＭ１２は、ＬＭ０１又はＬＭ０２とオーバーラップし得るし、ＬＭ１４はＬＭ０２とオーバーラップし得る。それゆえ、ＥＣＣによって訂正可能なＫ個のビットを除く他の全てのビットが検証されたときに、この書き込みパスは終了することができる。
【００５５】
図１１Ｄは、第３書き込みパスを示している。最終的にデータ状態０と１が書き込まれるべきＬＭ１１のメモリセルに対して中間閾値電圧区分ＬＭ２１が書き込まれる。データ状態２と３が書き込まれる予定のＬＭ１１のメモリセルに対して中間閾値電圧区分ＬＭ２２が書き込まれる。データ状態４と５が書き込まれるべきＬＭ１２のメモリセルに対して中間閾値電圧区分ＬＭ２３が書き込まれる。データ状態６と７が書き込まれるべきＬＭ１２のメモリセルに対して中間閾値電圧区分ＬＭ２４が書き込まれる。データ状態８と９が書き込まれるべきＬＭ１３のメモリセルに対して中間閾値電圧区分ＬＭ２５が書き込まれる。データ状態１０と１１が書き込まれるべきＬＭ１３のメモリセルに対して中間閾値電圧区分ＬＭ２６が書き込まれる。データ状態１２と１３が書き込まれるべきＬＭ１４のメモリセルに対して中間閾値電圧区分ＬＭ２７が書き込まれる。データ状態１４と１５が書き込まれるべきＬＭ１４のメモリセルに対して中間閾値電圧区分ＬＭ２８が書き込まれる。ＥＣＣがある程度の割合のエラー発生セルを扱うことができる他の実施形態では、隣接するＬＭ２ｘの区分は、相互にオーバーラップし得る（例えば、ＬＭ２６はＬＭ２５とオーバーラップし得る）。さらに、ＬＭ２ｘの区分は、ＬＭ１ｘともオーバーラップし得る（例えば、ＬＭ２６は、ＬＭ１３とオーバーラップし得る）。それゆえ、ＥＣＣによって訂正可能なＫ個のビットを除く他の全てのビットが検証されたときに、この書き込みパスは終了することができる。
【００５６】
図１１Ｅは、第４書き込みパスを示している。第４書き込みパスでは、データ状態０が書き込まれるべきＬＭ２１のメモリセルに対してデータ状態０が書き込まれる。データ状態１が書き込まれるべきＬＭ２１のメモリセルに対してデータ状態１が書き込まれる。データ状態２が書き込まれるべきＬＭ２２のメモリセルに対してデータ状態２が書き込まれる。データ状態３が書き込まれるべきＬＭ２２のメモリセルに対してデータ状態３が書き込まれる。データ状態４が書き込まれるべきＬＭ２３のメモリセルに対してデータ状態４が書き込まれる。データ状態５が書き込まれるべきＬＭ２３のメモリセルに対してデータ状態５が書き込まれる。データ状態６が書き込まれるべきＬＭ２４のメモリセルに対してデータ状態６が書き込まれる。データ状態７が書き込まれるべきＬＭ２４のメモリセルに対してデータ状態７が書き込まれる。データ状態８が書き込まれるべきＬＭ２５のメモリセルに対してデータ状態８が書き込まれる。データ状態９が書き込まれるべきＬＭ２５のメモリセルに対してデータ状態９が書き込まれる。データ状態１０が書き込まれるべきＬＭ２６のメモリセルに対してデータ状態１０が書き込まれる。データ状態１１が書き込まれるべきＬＭ２６のメモリセルに対してデータ状態１１が書き込まれる。データ状態１２が書き込まれるべきＬＭ２７のメモリセルに対してデータ状態１２が書き込まれる。データ状態１３が書き込まれるべきＬＭ２７のメモリセルに対してデータ状態１３が書き込まれる。データ状態１４が書き込まれるべきＬＭ２８のメモリセルに対してデータ状態１４が書き込まれる。データ状態１５が書き込まれるべきＬＭ２８のメモリセルに対してデータ状態１５が書き込まれる。図７を参照して上述したように、他の実施形態では、オーバーラップしているデータ状態０−１５を含む。他の実施形態では、相互にオーバーラップする中間ＬＭ状態を含み得る。ブロック全体が全書き込みシーケンスを経るまでデータの２値化バージョンが残っている場合は特にそうである（相互にオーバーラップする中間ＬＭ状態を含み得る）。
【００５７】
一実施形態では、データ書き込み要求を受信したとき、一つのワードライン上の全てのメモリセルにデータ状態０から１５のいずれかの状態が書き込まれ得るように、その要求は４ページ全部のデータを伴っている。その場合、図１１Ａ−Ｄの４つの書き込みパスは、受信したデータに基づいて実行される。
【００５８】
他の実施形態では、メモリシステムは、一度に４ページ全部のデータよりも少ないデータを受信してもよい。その場合、メモリセルは、初期の段階において、データの各ページがそれぞれ異なるブロックに書き込まれたバイナリメモリセルとして書き込まれてもよい。メモリセルは、消去状態に消去され、１ビットデータはそのメモリセルに書き込まれる。その結果、幾つかのメモリセルは消去状態（データ１）のままであり、幾つかのメモリセルは書き込み状態（データ０）となる。メモリの第１ページを受信したとき、そのデータは、バイナリモードでメモリの第１ブロックに書き込まれる。第２ページのデータを受信したとき、そのデータは、メモリセルの第２ブロックに書き込まれる。第３ページのデータを受信したとき、そのページデータはバイナリ形式でメモリセルの第３ブロックに書き込まれる。第４ページのデータを受信したとき、そのデータは、バイナリ形式でメモリセルの第４ブロックに書き込まれる。４ブロック全てが書き込まれると、システムは、図１１Ａ−Ｄの４パス書き込み処理を用い、１メモリセル当たり４ビットデータを書き込むことによって、４ブロック全てを一つのブロックに書き込み直す。
【００５９】
他の実施形態では、完全に書き込まれるまで、一つのバイナリブロックは、ページ毎に書き込まれる。次いで、他のバイナリブロックが、やはり完全に書き込まれるまでページ毎に書き込まれる。次いで、第３バイナリブロックと第４バイナリブロックが、先の２つのブロックと同様の方法で書き込まれる。４つの完全なバイナリブロックが有効となると、それら４つのブロックのデータは、凝縮され、１メモリセル当たり４ビットの形式でブロックに書き込まれる。一実施形態では、バイナリブロックからのデータは、まずコントローラチップに送られ、そこでバイナリＥＣＣ復号化が実行される。そして、データスクランブリングに加えて、１セル当たり１６状態に適した他のタイプのＥＣＣ符号化が実行される。そうして構築された新しいデータはメモリチップへ送り返され、１セルブロック当たり４状態で書き込まれる。
【００６０】
図１２は、選択ワードラインに接続されたメモリセルを書き込むための書き込み処理を説明するフローチャートである。本発明では、多くの異なる書き込み技術を用いることができる。一実施形態では、図１０の処理は、制御回路２２０の管理の下で、及び／又は、制御回路２２０によって（ステートマシンが制御を提供し、電力制御２２６が適切な信号を供給する）、及び／又は、コントローラ２４４の管理下で実行される。一実施形態では、図１２の処理は、一つのワードラインに（制御ゲートによって）接続されているメモリセルに対する図１１Ａ−Ｅの４パス書き込み処理の一つのパスを実行するために使われる。
【００６１】
ステップ６２４では、「データロード」命令がコントローラ２４４によって発行され、ステートマシン２２２に入力される。ステップ６２６では、ページアドレスを指定するアドレスデータがデコーダ回路に供給される。ステップ６２８では、そのアドレス指定されたページへの１ページ分の書き込みデータが書き込みのために入力される。例えば、一実施形態では、５２８バイトのデータが入力される。そのデータは、選択されたビットラインのための適切なレジスタ／ラッチにラッチされる。幾つかの実施形態では、データは、選択されたビットラインのための第２のレジスタにラッチされ、検証動作のために用いられる。ステップ６３０では、コントローラ２４４から「書き込み」命令が受信され、ステートマシン２２２に供給される。「書き込み」命令によって起動され、ステップ６２８でラッチされたデータは、適切なワードラインに供給された一組のパルス群を使ってステートマシン２２２によって制御されて、選択されたメモリセルに書き込まれる。ステップ７３２では、ステートマシン２２２によって維持される書き込みカウンタＰＣが０に初期化される。
【００６２】
幾つかの実施形態では、書き込みパスの少なくとも１つのサブセットは、夫々の書き込み処理に対する特定の結果を得ることに関連付けられた書き込みパルスを特定すること、及び、特定された書き込みパルスを用いてその不揮発性記憶素子に対する後続の書き込み処理の書き込みを調整することを含む。一実施例では、システムは、最初のメモリセル群をその目標に到達させる書き込みパルスを特定する。他の実施例では、システムは、最初のＮ個のメモリセルをその目標に到達させる書き込みパルスを特定する。ここで、Ｎは、ＥＣＣによって訂正可能なエラーの数よりも小さい数である。その特定されたパルスは、ある大きさを有している。一実施形態では、後続の書き込みパスの最初のパルスの大きさは、その特定されたパルスの大きさと等しい大きさに設定される。例えば、第１書き込みパスの４番目の書き込みパルスによってメモリセルが初めてその目標に達し、その４番目の書き込みパルスの大きさが１４ボルトである場合、第２書き込みパスの最初の書き込みパルスの大きさが１４ボルトに設定される。このようにして、一つの書き込みパスにおける動作の様子を観測し、観測したその動作の様子が後続の書き込みパスに影響を与える。
【００６３】
他の実施形態では、他のバリエーションが実行される。例えば、後続のパスの最初のパルスは、先行するパスの特定されたパルスに基づいて設定されるが、その大きさは、厳密に等しくなくともよい。
【００６４】
加えて、先行の書き込みパスからの書き込みパルスは、目標に達した最初のメモリセル（群）以外のイベントに関連付けられていてもよい。例えば、書き込みパルスは、メモリセルが中間レベル或いは他の状態に達したときに特定されてもよい。
【００６５】
それゆえ、新たな書き込みパスが開始されるとき、システムは、予め定められた特定の結果を達成することに関連付けられた先行の書き込みパスから書き込みパルスを特定するための情報にアクセスする（ステップ６３４）。システムは、レジスタ、フラッシュメモリセル、或いは他の不揮発性記憶デバイスからパルスを特定するための情報を読み出す。一実施形態では、ステップ６３４は、マルチパス書き込み処理の第１パスでは実行されず、最初の書き込みパルスの大きさの初期値は、１０−１７ボルトのノミナル値に設定される。そのノミナル値は、デバイスの特性に依存する。
【００６６】
ステップ６３６では、書き込み信号Ｖｐｇｍの第１の書き込みパルスの大きさが、ステップ６３４で読み込んだ情報と先行する書き込みパスから特定されたパルスに基づいて設定される。ステップ６４０では、書き込み信号Ｖｐｇｍの１パルスが選択されたワードラインに供給される。
【００６７】
ステップ６４２では、適切な一組の目標レベルを使って選択されたメモリセルのデータ状態が検証される。選択されたメモリセルの閾値電圧が適切な目標レベルに達していることが検知された場合、そのメモリセルのビットライン電圧が高められ、そのメモリセルは、図１０の残りの処理による以後の書き込みから除外される。他の除外技術を採用することもできる。
【００６８】
この書き込みパスの間に、書き込み中のメモリセルの最初のＮ個（Ｎは１以上）がその目標データ状態に達したことが初めて検知された場合、その書き込みパルスに関する情報がフラッシュメモリセル又はレジスタ等の不揮発性記憶デバイスに記憶される（ステップ６４６）。このパルスが、次の書き込みパスにおける最初のパルスの大きさを設定するのに用いられる。一変形例では、ステップ６４４は、Ｎ個のメモリセルが、除外されていない状態から、その目標状態に到達したことによってその後の書き込みから除外される状態へ変化したか否かを判断する。幾つかの実施形態では、ＬＭ０１からＬＭ１１に書き込まれるメモリセル、ＬＭ０２からＬＭ１３に書き込まれるメモリセル、ＬＭ１１からＬＭ２１に書き込まれるメモリセル、ＬＭ１２からＬＭ２３に書き込まれるメモリセル、ＬＭ１３からＬＭ２５に書き込まれるメモリセル、ＬＭ１４からＬＭ２７に書き込まれるメモリセルに対しては、ステップ６４４の判断は実行されない。一実施形態では、ステップ６４４と６４６は、マルチパス書き込み処理の最後のパスでは実行されない。
【００６９】
ステップ６４６の後、処理はステップ６４８へと移行する。現在のパルスが、この書き込みパスにおいて書き込み中の最初のＮ個のメモリセルをその目標データ状態に到達させた最初のパルスではない場合、処理はステップ６４６を実行することなくステップ６４８へと移行する。
【００７０】
書き込み中の全てのメモリセルがそれらの目標データ状態に到達した場合（ステップ６４８）、この書き込み処理は無事完了する。「合格」ステータスがステップ６５０で通知される。ステップ６４８の幾つかの実装形態では、少なくとも予め決められた数のメモリセルがそれらの目標状態に到達したことが検証されたか否かがチェックされることに留意されたい。この予め決められた数は、全メモリセル数よりも少なくてもよく、従って、全メモリセルが適切な検証レベルに到達する前に書き込み処理が終了し得る。書き込みに成功しなかったメモリセルは、読み出し処理におけるエラー訂正によって訂正され得る。
【００７１】
ステップ６４８において、全てのメモリセルが目標状態に到達しているのではないと判断された場合、書き込み処理は継続する。ステップ６６０では、書き込みカウンタＰＣが書き込み限度値に対してチェックされる。書き込み限度値の一例は２０であるが、これ以外の値の使用も可能である。書き込みカウンタＰＣが２０未満でない場合には、ステップ６６６にて、書き込みに失敗したセルの数が既定数以下かどうかが判定される。書き込みに失敗したメモリセルの数が既定数以下の場合には、ステップ６６８にて、書き込み処理に合格のフラグが立てられ、合格のステータスが通知される。多くの場合、書き込みに失敗したメモリセルは、読み出し処理においてエラー訂正を使って訂正され得る。しかし、書き込みに失敗したメモリセルの数が既定数よりも多い場合には、ステップ６７０にて、書き込み処理に失敗したことを示すフラグが立てられ、失敗ステータスが通知される。ステップ６６０にて書き込みカウンタＰＣが書き込み制限値未満であると判断された場合、次のＶｐｇｍパルスの大きさがステップサイズだけ増加され、書き込みカウンタＰＣがステップ６６２にてインクリメントされる。ステップ６６２の後、処理はステップ６４０にループバックし、次のＶｐｇｍパルスが印加される。
【００７２】
書き込み信号Ｖｐｇｍの書き込みパルス群は、ステップサイズずつ増大していく大きさを有している。一実施形態では、ステップサイズは一定であり、各書き込みパスの各パルスは、その直前のパルスよりも同一のステップサイズだけ大きさが増大している。他の実施形態では、各書き込みパス（又は書き込みパスのサブセット）は、異なるステップサイズを採用する。例えば、第１書き込みパスが０．４ボルトのステップサイズを有し、第２書き込みパスが０．７ボルトのステップサイズを有し、第３書き込みパスが０．３５ボルトのステップサイズを有し、第４書き込みパスが０．１７ボルトのステップサイズを有する。他の値を採用してもよい。
【００７３】
変形した例では、ステップ６４４とステップ６４６は、第１書き込みパスにおいてのみ実行される。その場合、後続の３つの書き込みパスでは、最初の書き込みパルスに対して、第１書き込みパスに基づいて決定された大きさを採用する。
【００７４】
図１２の処理は、書き込みパス毎に１回実行される。６４本のワードラインを有し、１ワードライン当たり４つの書き込みパスを実行するケースでは、図１２の処理は、各ブロックに対して４ｘ６４回実行され得る。
【００７５】
図１２Ａは、ステップサイズ毎に大きさが増加する一組の書き込みパルス６８０を有する書き込み電圧信号Ｖｐｇｍの一例を示している。ステップサイズは、線６８４と６８６との間の間隙で示されている。書き込みパルスの間には検証パルス（例えば検証パルス６８２）が存在する。図１２Ａは、４つのデータ状態を区別し得る３つの検証パルスを示している。図を見やすくするために、３つのパルスのみが図示されている。１６個のデータ状態を採用する一実施形態では、書き込みパルスの間に、最大１５個の検証パルスが存在し得る。図１２に戻り、ステップ６４０は一つの書き込みパルス６８０を印加することを含み、ステップ６４２は一組の検証パルス（例えば一組最大１５個のパルス）６８２を印加することを含む。
【００７６】
図１３は、メモリの一つのブロックの異なるワードラインに対する異なる書き込みパスの書き込み順を説明する図である。例えば、図１３は次の順を示している。最初の動作としてワードラインＷＬ０に対して第１パス（図１１Ｂ）を実行すること、続いてワードラインＷＬ１に対して第１パスを実行すること、続いてＷＬ０に対して第２パス（図１１Ｃ）を実行すること、続いてＷＬ２に対して第１パスを実行すること、続いてＷＬ１に対して第２パスを実行すること、続いてＷＬ０に対して第３パス（図１１Ｄ）を実行すること、続いてＷＬ３に対して第１パスを実行すること、・・・続いてＷＬ６３に対して第４パス（図１１Ｅ）を実行すること。図１３に示したこの書き込みパスのシーケンスは、図１３のチャートに沿って対角に進行することから対角シーケンスと呼ばれている。他の実施形態では、他のシーケンスを採用してもよい。
【００７７】
一実施形態では、各パスは、一つのページデータに対応してよい。例えば、図８と１１Ｂを参照すると、下位ページがデータ１を記憶すべき場合にはそのメモリセルにＬＭ０１が書き込まれ、下位ページがデータ０を記憶すべき場合にはそのメモリセルにＬＭ０２が書き込まれる。それゆえ、第１書き込みパスの後、そのメモリセルの閾値電圧がＬＭ０１とＬＭ０２のいずれに属するかによって、下位ページデータが１であるか０であるかを読み出すことができる。第２書き込みパスは、上位ページデータの書き込みと関連することができる。例えば、図８と１１Ｃを参照すると、上位ページデータがデータ１であるべき場合、そのメモリセルはＬＭ１１又はＬＭ１３のいずれかが書き込まれればよい。上位ページデータがデータ０であるべき場合には、そのメモリセルはＬＭ１１又はＬＭ１４のいずれかが書き込まれればよい。そのメモリセルの閾値電圧がどの閾値電圧区分に属するかを判定することによって、第１ページデータとともに第２頁データを読み出すことができる。第３書き込みパスは、高次ページデータの書き込みと対応付けることができる。例えば、データ１であるべき高次ページデータは、ＬＭ２１、ＬＭ２３、ＬＭ２５、及びＬＭ２７に記憶されればよい。データ０は、ＬＭ２２、ＬＭ２４、ＬＭ２６、或いはＬＭ２８に記憶されればよい。第４パスは、トップページデータを適切なデータ状態へ書き込むことに対応付けることができる。
【００７８】
図１４は、他の実施形態における不揮発性メモリを動作させる処理を説明するフローチャートである。この実施形態では、ソフト書き込みの結果を書き込みパスの調整に用いる。ステップ７００では、メモリセルの一つのブロックが消去される。ステップ７０２では、ソフト書き込みが実行される。このソフト書き込みの処理は、図１２の処理にわずかな変更を加えた処理を実行することを含む。ステップ６３４は実行する必要がなく、ステップ６３６は常に、最初のパルスに対して特定のノミナル値の電圧を設定する。そのノミナル値は、例えば、デバイスの特性に依存して１０から１７ボルトの間でよい。Ｎ個のメモリセルが消去メモリセルのための適切な目標閾値電圧区分に達してそのＮ個のメモリセルがソフト書き込みから除外されたとき、その書き込みパルスの特定結果が図１２のステップ６４６で記憶される。その書き込みパルスを特定する情報は、レジスタ又はフラッシュメモリセルに記憶され得る。ステップ７０４では、データ書き込みの要求が受信される。ステップ７０２と７０４の間の点線は、所定の時間間隔と中間ステップがそれらの間で実行され得ることを示している。幾つかの実施形態では、データ書き込みの要求を受信することなくデータを書き込むことがある。ステップ７０６では、図１１Ａ−Ｅのマルチパス書き込み処理（或いは他のマルチパス書き込み処理）によって、データが消去閾値電圧区分からメモリセルへ書き込まれる。図１４の各書き込みパスでは、最初の書き込みパルスの大きさは、ステップ７０２のソフト書き込み処理における観測された動作の様子に基づいて設定される。ステップ７０８では、メモリセルからデータが読み出される。一実施形態では、図１４に示すように、ソフト書き込みはメモリセルの消去と関連して実行される。他の実施形態では、ソフト書き込みは、（例えば書き込み要求に応答して）書き込みに関連して実行され得る。
【００７９】
図１５は、図１４のステップ７０６を実行するためのフローチャートの例を示している。図１５のステップ８２４−８３２は、図１２のステップ６２４−６３２と同じである。ステップ８３４では、システムは、図１４のステップ７０３で記憶されたソフト書き込みパスからの書き込みパルスの特定結果を読み出す。ステップ８３６では、ステップ８３４で読み出された特定されたパルスに基づいて、書き込み信号Ｖｐｇｍの最初の書き込みパルスの大きさが設定される。一実施形態では、現在の書き込みパスの最初の書き込みパルスの大きさは、ステップ８３４で読み出したパルスの大きさに等しく設定される。それゆえ、ステップ８３４で読み出す情報は、大きさの情報、パルス番号情報（そのパルス番号から大きさが算出できる）、或いは、適切な大きさを特定するのに用いられる他の情報を含んでいる。ステップ８４０では、書き込みのために選択されたワードラインに書き込みパルスが印加される。ステップ８４２では、選択ワードラインに沿ったメモリセルが検証される。全ての、或いは既定数のメモリセルが検証に合格した場合（ステップ８４４）、ステップ８４６（ステータス＝合格）にてこの処理は無事終了する。全て、或いは十分な数のメモリセルが検証されない場合、ステップ８６０にて書き込みカウンタが既定の制限値を下回っているか否か判断される。既定の制限値を下回っている場合、ステップ８６２にて、書き込み信号Ｖｐｇｍの電圧の大きさをステップサイズだけ増加するとともに書き込みカウンタをインクリメントする。上述したように、どの書き込みパスが実行されているかに依存してステップサイズを変更することができる。ステップ８６２の後、処理はステップ８４０へと戻り、次の書き込みパルスが印加される。ステップ８６０にて書き込みカウンタが既定の制限値を超えている判断され、書き込みに失敗したメモリセルの数が既定値より少ないと判断された場合（ステップ８６６）、この処理はステップ８６８（ステータス＝合格）にて無事終了する。この一方で、書き込みに失敗したメモリセルの数が既定値を超えている場合（ステップ８６６）、ステップ８７０にてこのプロセスは不成功として終了する。
【００８０】
図１５の処理は、書き込みパス毎に１回実行される。６４本のワードラインを有しており、１ワードライン当たり４回の書き込みパスを要するケースの場合、図１５の処理はブロック毎に４ｘ６４回実行される。
【００８１】
図１６は、他の実施形態のフローチャートを示す。この実施形態は、ソフト書き込みを使い、シングルパス書き込み処理における書き込み信号の大きさの初期値を決定する。ステップ８８０では、１ブロックのメモリセルが消去される。ステップ８８２では、ソフト書き込みが実行され、システムは、Ｎ個のメモリセルが消去閾値電圧区分であることが検証されたときに、対応する書き込みパルスの特定情報を記憶する。上述したように、Ｎは、１、２など、デバイス実装に依存して決定される。図１６のステップ８８２は、図１４のステップ７０２に同じである。ステップ８８４では、データ書き込み要求が受信される。ステップ８８６では、シングルパス書き込み処理を使って、消去閾値電圧区分からいずれかのデータ状態へとデータがメモリセルへ書き込まれる。ステップ８８８では、メモリセルが読み出され、データがユーザに提供される。
【００８２】
一実施形態では、ステップ８８６は、ワードライン毎に１回、図１５の処理が遂行されることによって実行される。このことは、ワードライン毎に１回のパスが実行されることを意味する。一実施形態では、ステップ８８０ではメモリセルに消去閾値電圧区分Ｅを書き込み、ステップ８８６では消去閾値電圧区分Ｅから、データ状態０から１５のいずれかをメモリセルへ書き込む。他の実施形態では、ステップ８８０においてメモリセルをデータ状態０に書き込み、ステップ８８６では、データ状態０から、データ状態０から１５のいずれかを全て或いはサブセットのメモリセルへ書き込む。
【００８３】
図１７は、メモリセル動作の処理の一実施形態を説明するフローチャートである。この実施形態は、ソフト書き込みを使い、書き込み処理の検証部分を変更する。ステップ９０２では、１ブロックのメモリセルが消去される。ステップ９０４では、ソフト書き込み処理が実行される。一実施形態では、メモリセルは消去閾値電圧区分Ｅへ消去される。他の実施形態では、メモリセルは、データ状態０に消去される。ソフト書き込みの間、システムは、Ｎ個（Ｎは１又はそれ以上）のメモリセルが適切な消去閾値電圧区分となったことが検証されたときの書き込みパルスを特定する。システムはまた、Ｐ個（Ｐは０又はそれ以上）以外の全てのメモリセルが検証されたときを特定する。ＮとＰの値は、ＥＣＣとデバイス特性に基づいて選定される。上記した２つのパルスを特定することによって、そのメモリセルに適する（natural）閾値電圧区分を推定することができる。例えば、Ｎが２であり、Ｐが８であり、ステップサイズが０．４ボルトの場合、適する閾値電圧区分は、（８−２）ｘ０．４＝２．４ボルトとなる。この情報は、書き込みパルス毎に要求される検証動作の数を決定するのに利用される。例えば、１６個のデータ状態を有する場合であっても、検証動作の数は、書き込みパルス毎に（２．４＋０．３）／０．３５＝８検証回まで低減することができる。最初の数回と最後の数回の書き込みパルスでは、検証動作を８回より少なくすることができる。上記した数式の場合、０．３は書き込みノイズのマージンを表しており、０．３５は状態間の閾値電圧の間隔を表している。これらの値は実装形態の一例である。
【００８４】
ステップ９０６では、２つの特定された書き込みパルスが不揮発性記憶素子（例えば、レジスタやフラッシュメモリセルなど）に記憶される。ステップ９０６では、システムは上述したように、特定された２つのパルスに基づいて、閾値電圧区分の近似値（approximation）を算出する。ステップ９１０では、上述したように、システムは、閾値電圧区分の近似値とステップサイズに基づいて、必要とされる検証パルスの最大数を算出し記憶する。ステップ９１２では、データ書き込み要求を受信する。ステップ９１０と９１２の間の点線は、ステップ９１０とステップ９１２の間に、予測できない時間間隔が存在し得ることと、中間処理が実行され得ることを示している。ステップ９１４では、シングルパス書き込み処理を使ってデータがメモリセルへ書き込まれる。他の実施形態では、ステップ９１４は、マルチパス書き込み処理を実行することを含む。ステップ９１６では、データがメモリセルから読み出され、ユーザ又はホストに通知される。
【００８５】
ステップ９１４は、図１５の処理を使って遂行し得る。しかしながら、シングルパス書き込み処理を実行する場合は、各パスにてステップサイズは変更されない。むしろ、ステップサイズは、デバイス特定に基づいて決定された値（例えば０．１−０．４ボルト）に一定に維持される。一実施形態では、図１７の処理は、上述したようにソフト書き込みに基づいて最初の書き込みパルスの大きさを設定する処理を含んでもよい。一実施形態では、ワードラインへの書き込みは、ソースラインに最も近いワードラインから開始してビットラインコンタクトへ向けて進行する順で行われる。例えば、ＷＬ０から開始してＷＬ６３で終了する。従って、シングルパス書き込み処理では、図１５の処理は、ワードライン毎に１回、合計６４回実行される。
【００８６】
図１８は、図１７のステップ９１４の実現として図１５の処理を用いる場合の図１５のステップ８４２を実現する処理の一例を示す。図１８の処理は、検証に限定されたパルス数しか使わないというコンセプトを実現したものであり、限定されたパルス数は（おそらくは）フルにパルスを用いる場合よりも少ない。図１７に関して上記説明した例では、書き込みパルスの間に、フルに１５個の検証パルスを用いずに、８検証パルスのみを用いる。しかしながら、印加される８個の検証パルスの一組は、そのメモリセルに適した閾値電圧区分と書き込み処理の現在の状態に基づいて、時間の経過とともに変化する。システムがメモリセルの適した閾値電圧区分の幅を特定できれば、その幅が、適した閾値電圧区分が図６のグラフに沿っていることを予測するものである。
【００８７】
図１７のステップ９１０では、検証パルスの最大数を算出した。検証パルスの最大数は、一組の検証パルスの最大幅を決定する。例えば、検証パルスの最大数が８の場合、図１８から予期される一組の検証パルスは検証パルスを８まで含む。（図１５の様々な繰り返しを通して）書き込み処理が進行すると、一組の検証パルス群が変化し、異なる検証パルス群がその一部となる。例えば、一組の検証パルス群は、開始時にはデータ状態０に対する検証パルスを含む。最終的には、一組のパルス群は、データ状態０からデータ状態７に対する検証パルスを含むように拡張され、続いて、データ状態１から８に対する検証パルスを含むように変更され、続いてデータ状態２から９までに対する検証パルスを含むように変更されるなどする。
【００８８】
図１８のステップ９２８では、現在の書き込み処理におけるいずれかのメモリセルが達すべき最高位のデータ状態と、検証パルスの最大数に基づいて、一組の検証が特定される。図１８では、いずれかのメモリセルが達すべき最高位のデータ状態を「状態Ｘ」で表している。一組の検証パルスは、到達すべき最高位のデータ状態よりも１状態高い状態を検証するのに必要な検証パルスと、その状態より低い状態を検証するための検証パルスを含む。その場合でも、検証パルスの数は、既に決定された検証パルスの最大数を超えることはない。図１８では、到達すべき最高位のデータ状態よりも１状態高い状態を「状態Ｘ＋１」で表している。例えば、書き込み処理を開始した直後のときは、到達すべき最高位のデータ状態は状態Ｅであってもよく、この場合、一組の検証パルスは、状態０に対する検証パルスのみを含む。メモリセルが状態５まで到達しており、また既に決定された検証パルスの最大数が８である場合、一組の検証パルスは、状態０から６までのための検証パルスを含む。書き込み処理が進行中であり、メモリセルが既に状態７に到達しており、検証パルスの既定の最大数が８である場合、一組の検証パルスは状態８から１までのための検証パルスを含む。メモリセルが既に状態１０に到達しており、検証パルスの既定の最大数が８である場合、一組の検証パルスは状態４から１１までのための検証パルスを含む。メモリセルが既に状態１３に到達しており、検証パルスの既定の最大数が８である場合、一組の検証パルスは状態７から１４までのための検証パルスを含む。
【００８９】
ステップ９３０では、ステップ９２８で特定された一組の検証パルスのうち最も低い検証パルスが選択ワードラインに印加される。そのパルスの大きさは、対応するデータ状態の検証レベルに設定される。幾つかの実施形態では、データ状態の検証レベルは、そのデータ状態に対する最も低い閾値電圧に等しい（図６の状態１に対するＶｖ１を参照されたい）。ステップ９３２では、書き込みパルスの結果が検知される。即ち、注目しているメモリセル（又はセル群）がオンしたか否かが判断される。ステップ９３４では、検知結果が各メモリセルに対するデータと比較される。メモリセルに書き込まれるべき目標のレベルがちょうど検証レベルであり、そのレベルに達している場合には、ステップ９３６にてビットライン電圧が引き上げられてそのメモリセルは除外される。ステップ９３８では、一組の検証パルスの中に未印加の検証パルスがあるか否かが判断される。未印加の検証パルスが存在しない場合、ステップ９４２にて、いずれかのメモリセルが状態Ｘ＋１に達しているか否かが特定される。いずれかのメモリセルが状態Ｘ＋１に到達している場合、最高位の状態（状態Ｘ）を示す指標が更新され、図１８の処理が終了する（図１５のステップ８４２も終了する）。一組の検証パルスの中に未印加の検証パルスが存在する場合（ステップ９３８）、ステップ９４０にて、次に高い検証パルスが印加され、処理はステップ９３２に戻る。例えば、ステップ９２８にて特定された一組の検証パルスが状態２−１０に対する検証パルスを含む場合、図１８のループ（ステップ９３２−９３８）は８回実行される。
【００９０】
データ書き込みの後、フローティングゲート上に蓄積されたみかけの電荷量の変化が生じる。これは、隣接するフローティングゲートに蓄積された電荷量に基づく電界結合によって生じる。このフローティングゲート間の結合現象は、米国特許第５，８６７，４２９号に開示されており、その公報は全体を参照することにより本明細書に組み込まれる。注目しているフローティングゲートに対するフローティングゲートには、同一のビットライン上の隣接フローティングゲート、同一ワードライン上の隣接フローティングゲート、或いは、注目しているフローティングゲートに対角に位置する隣接フローティングゲートが含まれ得る。それらは隣接ビットライン上に存在するとともに、隣接ワードライン上に存在するからである。
【００９１】
フローティングゲート同士の結合現象は、異なる時刻に書き込まれる隣接メモリセル同士の間で顕著に発生する。例えば、最初のメモリセルには、そのフローティングゲート上に、一組のデータに対応する電荷量レベルが書き込まれる。次いで、１以上の隣接メモリセルには、そのフローティングゲート上に、第２組のデータに対応する電荷量レベルが書き込まれる。１以上の隣接メモリセルが書き込まれた後では、最初のメモリセルから読み出した電荷量は、書き込んだときの電荷量レベルとは異なって見える。これは、最初のメモリセルと結合した隣接メモリセル上の電荷の影響による。隣接メモリセルからの結合は、読み出すみかけの電荷量をシフトさせ、そのシフトは、記憶されたデータの読み取りエラーを生じ得る。
【００９２】
フローティングゲート結合の課題を解決する一つの試みは、Ｎｉｍａ  Ｍｏｋｈｌｅｓｉによる２００６年３月１７日出願の米国特許出願第１１／３７７，９７２、「System For Performing Read Operation On Non-Volatile Storage With Compensation For Coupling」に開示されており、その内容は全体を参照することにより本明細書に組み込まれる。その出願に説明されているシステムは、注目するメモリセルを読み出す際に隣接メモリセルに補償電圧を印加することを含んでいる。
【００９３】
図１９は、本明細書で開示した４パス書き込み技術を使って書き込まれたメモリセルに対してフローティングゲートカップリングの影響を制限するための処理を説明している。典型的な読み出し処理の間、読み出しのために選択されたＮＡＮＤストリングのメモリセルは、その制御ゲートに電圧を受ける。受ける電圧は、２つの隣接するデータ状態の間に存在する閾値電圧に等しい（或いは略等しい）。例えば、メモリセルがデータ状態０に属するか否かを判定するためには、そのメモリセルの制御ゲートはＶｒ１を受ける（図６参照）。メモリセルが状態１に属するかを判定するためには、２つの読み出し動作が実行される。第１の読み出し動作はそのメモリセルにＶｒ１を印加する。第２の読出し動作はそのメモリセルにＶｒ２を印加する（図６参照）。制御ゲートの電圧に応答してそのメモリセルがオンするか否かによって、そのメモリセルがいずれの状態にあるかが判断される。
【００９４】
同様に、検証処理において、検証対象のメモリセルの制御ゲートに検証比較電圧が印加される。典型的には、その検証比較電圧は、そのデータ状態に対する最も低い閾値電圧に略等しい。例えば、データ状態１に対する検証電圧は、Ｖｖ１である。データ状態２に対する検証電圧はＶｖ２である。読み出し処理或いは検証処理を実行する際、ＮＡＮＤストリング上の非選択メモリセルはＶｒｅａｄと称される制御ゲート電圧を受ける。このＶｒｅａｄ電圧は、データ状態１５の閾値電圧よりも顕著に高い。この電圧Ｖｒｅａｄ（オーバードライブ電圧）は、確実に全ての非選択メモリセルをオンさせてＮＡＮＤストリング内を電流が流れることを許容する。これによって、ＮＡＮＤストリングの電流は注目するメモリセルのみによって決定されるようになる。
【００９５】
図１９の処理は、上記した４パス書き込み処理を使って書き込まれたメモリセルを読み出す手法を提供するものであり、隣接フローティングゲートからのカップリングの影響を低減するものである。図１８の処理に適用される理論は次の通りである。読み出し処理において、注目するメモリセルと同じＮＡＮＤストリング上でありそのメモリセルにドレイン側で隣接するメモリセルがそのデータに基づいて異なる電圧を受け、それによってフローティングゲートカップリングが補償される。例えば、ＷＬ１２に接続されているメモリセルを読み出す際、ＷＬ１３に接続されているメモリセルが異なる電圧を受ける。検証処理において、ソース側隣接メモリセルを除く全てのメモリセルはＶｒｅａｄを受ける。ソース側隣接メモリセルはＶｒｅａｄよりΔ低い電圧を受ける（ここで、例えばΔは、１ボルト、若しくはデバイス特性に依存する他の値である）。この「他の値」は、ＶｒｅａｄＸとして指定される。ここで、ＶｒｅａｄＸ＝ＶｒｅａｄＸ−Δである。検証において、隣接メモリセルはＶｒｅａｄＸを受け、隣接メモリセルを除く全ての非選択メモリセルはＶｒｅａｄを受ける。続く読み出し処理において、ソース側隣接メモリセルが偶数状態（状態０、２、４、６、８、１０、１２、１４）の場合、ソース側メモリセルはＶｒｅａｄＸを受け、他の非選択メモリセルはＶｒｅａｄを受ける。一方、ソース側隣接メモリセルが奇数状態（状態１、３、５、７、９、１１、１３、１５）の場合には、隣接メモリセルは読み出し処理の間Ｖｒｅａｄを受ける。このように、奇数状態の場合に隣接メモリセルは補償を受ける。
【００９６】
図１１Ｅに戻り、奇数状態にあるメモリセルは、夫々の中間状態から偶数状態にあるメモリセルよりも深く書き込まれる。それゆえ、奇数状態にある隣接メモリセルはカップリング効果の影響をより多く受ける。図１３のシーケンスを用いた４パス書き込み処理を実行する場合、注目するメモリセルに対する第４の書き込みパスは、隣接メモリセルに対する最初の３つの書き込みパスの後であり第４の書き込みパスの前に実行される。それゆえ、隣接メモリセルに対する第４の書き込みパスのみが注目するメモリセルにフローティングゲート結合の影響を与え、隣接メモリセルに対する第４の書き込みパスがそのメモリセルを奇数状態にするか偶数状態にするかに依存して、２値（オン／オフ、又は、低／高）補償を用いることが必要とされる。
【００９７】
図１９のステップ９８０は、特定のワードラインＷＬｎ上のデータの読み出し要求を受信することを含む。それゆえ、ＷＬｎが選択ワードラインとなる。ステップ９８２では、隣接ワードラインＷＬｎ＋１上の全てのメモリセルに対して読み出し処理が実行される。ステップ９８２は、ＷＬｎ＋１に接続された全てのメモリセルがどのデータ状態にあるかを特定することを含む。各ビットラインに対して、ＷＬｎ＋１上の隣接メモリセル偶数状態にあるか奇数状態にあるかを示す指標がステップ９８４にて記憶される。その記憶には、各ビットラインに対して１ビット（奇数／偶数）が必要とされるのみである。例えば、１ビットラッチが利用できる。ステップ９８６にて、ワードラインＷＬｎに対して読み出し処理が実行される。ステップ９８６の処理の間、ＶｒｅａｄがＷＬｎ＋１に印加される。ステップ９８６は、上述した補償を実行することを含む。ステップ９８８では、ステップ９８６の読み出し処理から得られたデータが、奇数状態にある隣接メモリセルに対応するビットラインに対して記憶される。例えば、システムは、隣接メモリセルが奇数状態にあるか否かを示す１ビットラッチをチェックし、奇数状態にあれば、ステップ９８６の結果を記憶する。偶数状態にある隣接メモリセルを有するビットラインは、ステップ９８６の読み出し処理で得られたデータを記憶しない。ステップ９９０では、隣接ワードラインＷＬｎ＋１にＶｒｅａｄＸを印加しながらワードラインＷＬｎに対して読み出し処理が実行される。ステップ９９２では、偶数状態にある隣接メモリセルを有するビットラインに対するデータは、ステップ９９０の読み出し処理からのデータを記憶する。ステップ９９４では、（ステップ９９２又はステップ９８８で）記憶されたデータが通知される。
【００９８】
上記本発明の詳細な説明は、説明のための例示にすぎない。上記本発明の詳細な説明は、詳細に開示した範囲に限定するものではない。本明細書が開示する技術は、様々に変形、変更し得る。上記説明した実施形態は、本発明の原理とその具体的な適用例をよく説明するために選ばれたものであり、当業者は、具体的な事例に則して本発明を様々に変更し得る。本発明の技術的範囲は、添付された特許請求の範囲によって定まるものである。
【図１】
0005410390.tif 000002
【図２】
0005410390.tif 000003
【図３】
0005410390.tif 000004
【図４】
0005410390.tif 000005
【図５】
0005410390.tif 000006
【図６】
0005410390.tif 000007
【図７】
0005410390.tif 000008
【図８】
0005410390.tif 000009
【図９】
0005410390.tif 000010
【図１０】
0005410390.tif 000011
【図１１Ａ】
0005410390.tif 000012
【図１１Ｂ】
0005410390.tif 000013
【図１１Ｃ】
0005410390.tif 000014
【図１１Ｄ】
0005410390.tif 000015
【図１１Ｅ】
0005410390.tif 000016
【図１２】
0005410390.tif 000017
【図１２Ａ】
0005410390.tif 000018
【図１３】
0005410390.tif 000019
【図１４】
0005410390.tif 000020
【図１５】
0005410390.tif 000021
【図１６】
0005410390.tif 000022
【図１７】
0005410390.tif 000023
【図１８】
0005410390.tif 000024
【図１９】
0005410390.tif 000025