(57)【要約】  読み出し処理中に非選択ワードライン上に低減された読み出しパス電圧を提供することによって不揮発性記憶デバイスの消費電力を低減する。  読み出しが行われた記憶素子に接続されている選択ワードラインの後の１以上の非選択ワードラインのプログラム状態をチェックし、非選択ワードラインがプログラム済記憶素子を含んでいるか否かを判定する。プログラムされていないワードラインが特定された場合、そのワードラインとプログラミング順におけるそのワードラインの後のワードライン群に、低減された読み出しパス電圧を印加する。例えば、そのワードラインに格納されているフラグによって、或いは、そのワードラインの最低読み出し状態を読み出すことによって、プログラミング状態を判定する。チェックされる非選択ワードラインは、一組のワードラインの中で予め定められて良く、或いは、選択ワードラインの位置に基づいて適応的に決定されてもよい。
2010525503.tif 000002
【特許請求の範囲】
【請求項１】
第１ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子に対する検出動作の実行に関連して、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを判定するステップと、
前記判定するステップが、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記検出動作を実行する間に前記第２ワードラインに第１電圧を印加するステップと、
前記判定するステップが、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記検出動作を実行する間に前記第２ワードラインに第２電圧を印加するステップと、
を備える不揮発性記憶装置の動作方法。
【請求項２】
第２電圧は第１電圧よりも低いことを特徴とする請求項１に記載の方法。
【請求項３】
前記判定するステップは、
第２ワードラインに電圧を印加するステップと、第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子がオンするか否かを判定するステップと、
を備える請求項１に記載の方法。
【請求項４】
前記判定するステップが、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合、前記検出動作を実行する間に、ワードラインのプログラミング順における第２ワードライン以降の少なくとも１つの付加的ワードラインに前記第２電圧を印加するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記検出動作を実行する間に、ワードラインのプログラミング順における第１ワードラインに先立つ第３ワードラインに前記第１電圧を印加するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記検出動作の後に、
（ａ）前記判定するステップがプログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記第２ワードラインに前記第１電圧を印加するステップ、または、
（ｂ）前記判定するステップがプログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記第２ワードラインに前記第２電圧を印加するステップ、
を実行する間に、第３ワードラインに関連付けられた少なくとも１個の不揮発性記憶素子に第２検出動作を実行するステップをさらに備える請求項１に記載の方法。
【請求項７】
前記第２ワードラインは、一組のワードラインの中で予め定められたワードライン位置にあることを特徴とする請求項１に記載の方法。
【請求項８】
前記第２ワードラインは、一組のワードラインの中のワードライン位置であって、前記一組のワードラインの中の第１ワードラインの位置に基づいているワードライン位置にあることを特徴とする請求項１に記載の方法。
【請求項９】
前記検出動作は、読み出し動作を含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記検出動作は検証動作を含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記判定するステップは、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを示すデータにアクセスするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記判定するステップが、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、
プログラムされた状態にある第３ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを判定するステップと、
プログラムされた状態にある前記第３ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定された場合に、前記検出動作を実行する間に前記第３ワードラインに前記第１電圧を印加するステップと、
プログラムされた状態にある前記第３ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定された場合に、前記検出動作を実行する間に前記第３ワードラインに前記第２電圧を印加するステップと、
を備える請求項１に記載の方法。
【請求項１３】
ワードラインのプログラミング順において、前記第２ワードラインは前記第１ワードラインの後であり、前記第３ワードラインは前記第２ワードラインの後であることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記第３ワードラインは、予め定められたワードラインの数だけ前記第２ワードラインから離れていることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記第３ワードラインは、一組のワードラインの中のワードライン位置であって、前記一組のワードラインの中の第１ワードラインの位置に基づいているワードライン位置にあることを特徴とする請求項１２に記載の方法。
【請求項１６】
前記第１と第３ワードラインは、一組のワードラインの中の予め定められたワードライン位置にあることを特徴とする請求項１２に記載の方法。
【請求項１７】
一組の不揮発性記憶素子と、
前記一組の不揮発性記憶素子と通信する一組のワードラインと、
前記一組のワードラインと前記一組の不揮発性記憶素子と通信する１以上の制御回路と、を有しており、前記１以上の制御回路が、
ａ）第１ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子に対する検出動作の実行に関連して、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを判定し、
ｂ）前記１以上の制御回路が、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記検出動作を実行する間に第２ワードラインに第１電圧を印加し、
ｃ）前記１以上の制御回路が、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記検出動作を実行する間に第２ワードラインに第２電圧を印加する、
ことを特徴とする不揮発性記憶システム。
【請求項１８】
前記検出動作の後に、前記１以上の制御回路が、
（ａ）前記１以上の制御回路が、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記第２ワードラインに前記第１電圧を印加するステップ、または、
（ｂ）前記１以上の制御回路が、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記第２ワードラインに前記第２電圧を印加するステップ、
を実行する間に、第３ワードラインに関連付けられた少なくとも１個の不揮発性記憶素子に第２検出動作を実行するステップをさらに備える請求項１７に記載の不揮発性記憶システム。
【請求項１９】
前記第２ワードラインは、一組のワードラインの中で予め定められたワードライン位置にあることを特徴とする請求項１７に記載の不揮発性記憶システム。
【請求項２０】
前記第２ワードラインは、一組のワードラインの中のワードライン位置であって、前記一組のワードラインの中の第１ワードラインの位置に基づいているワードライン位置にあることを特徴とする請求項１７に記載の不揮発性記憶システム。
【請求項２１】
一組の不揮発性記憶素子と、
前記一組の不揮発性記憶素子と通信する一組のワードラインと、
第１ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子に検出動作を実行する手段と、
プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを判定する手段と、
前記判定する手段が、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記検出動作の間に前記第２ワードラインに第１電圧を印加する手段と、
前記判定する手段が、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記検出動作の間に前記第２ワードラインに第２電圧を印加する手段と、
を備える不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリに関する。
【背景技術】
【０００２】
半導体メモリは、様々な電子デバイスで使われることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ、及び他の装置に使用されている。電気的消去・再書込み可能型読取専用メモリ（ＥＥＰＲＯＭ）とフラッシュメモリは、最も普及している不揮発性半導体メモリである。フラッシュメモリに関しては、ある種のＥＥＰＲＯＭもそうであるが、通常のフル装備のＥＥＰＲＯＭとは異なり、全メモリアレイまたは一部分のメモリの内容は、１ステップで消去することができる。
【０００３】
通常のＥＥＰＲＯＭとフラッシュメモリは、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されているフローティングゲートを採用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。フローティングゲートの上に、そのフローティングゲートから絶縁されている制御ゲートが設けられている。形成されているトランジスタの閾値電圧（ＶＴＨ）は、フローティングゲート上に保持されている電荷量によって制御される。即ち、そのソースとドレインの間の導通を可能にすべくトランジスタをオンするために制御ゲートに印加すべき電圧の最小量は、そのフローティングゲート上の電荷量レベルにより制御される。
【０００４】
ある種のＥＥＰＲＯＭとフラッシュメモリデバイスは、２つの電荷量範囲を蓄えるために使われるフローティングゲートを備えており、それゆえ、その記憶素子は、２つの状態、即ち、消去状態とプログラムされた状態、の間でプログラム／消去が行われることができる。そのようなフラッシュメモリデバイスは、各記憶素子が１ビットデータを記憶することができるので、バイナリフラッシュメモリデバイスと呼ばれることがある。
【０００５】
マルチステート（マルチレベルとも呼ばれる）フラッシュメモリデバイスは、複数の区別された許可された／有効なプログラム済閾値電圧範囲を特定することによって実現される。夫々の区別された閾値電圧範囲は、メモリデバイス内で符号化される一組のデータビットに対する予め決められた値に対応する。例えば、各記憶素子は、４個の区別された閾値電圧範囲に対応する４個の区別された電荷バンドの中の一つの状態に置かれることによって、２ビットデータを記憶することができる。
【０００６】
通常、プログラム動作において制御ゲートに印加されるプログラム電圧ＶＰＧＭは、時間の経過に伴って大きさが増大する一連のパルスとして印加される。一つのアプローチとしては、パルスの大きさは、連続するパルスの１つ毎に、例えば０．２−０．４Ｖの既定のステップサイズずつ増加する。ＶＰＧＭは、フラッシュメモリ素子の制御ゲートに印加される。プログラムパルスの間の期間に検証動作が実行される。即ち、並列にプログラムされている素子グループの各素子のプログラムレベルは、連続するパルスの間に読み出され、素子がプログラムされている検証レベルと等しいか或いはそれ以上であるか否かが判定される。マルチステートフラッシュメモリ素子のアレイでは、素子の各状態毎に検証ステップが実行され、データに対応する検証レベルにその素子が達したか否かが判定される。例えば、４つの状態のいずれかにデータを記憶可能なマルチステート記憶素子では、３つの比較点での検証動作が必要とされる。
【０００７】
さらに、ＥＥＰＲＯＭ、或いは、ＮＡＮＤフラッシュメモリデバイスのようなフラッシュメモリデバイスのＮＡＮＤストリングをプログラミングする場合、通常、制御ゲートにＶＰＧＭが印加されるとともにビットラインが接地され、それによって、セル、或いはメモリ素子、即ち記憶素子のチャネルからフローティングゲートへ電子が注入される。フローティングゲートに電子が蓄積されると、フローティングゲートが負値に帯電し、メモリ素子の閾値電圧が上昇し、メモリ素子がプログラムされた状態となる。そのようなプログラミングに関するさらなる情報は、「Source Side Self Boosting Technique For Non-Volatile Memory」と題した米国特許第６，８５９，３９７号、及び、「Detecting Over Programmed Memory」と題した２００５年２月３日公開の米国特許公開公報２００５／００２４９３９号に開示されている。両者の文献の内容は、その全体を参照することにより本明細書に組み込まれる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、メモリデバイスの一つの課題は、可能な限り消費電力を低減することであり、これはすなわち、不揮発性メモリを用いる携帯電子デバイスにおける電池の消耗と発熱を低減することにつながる。
【課題を解決するための手段】
【０００９】
本発明は、不揮発性記憶装置における読み出し動作中の消費電力を低減する方法を提供することによって、上記課題、及び他の課題の解決を図るものである。消費電力は、特に多くの記憶素子が消去状態、即ち、プログラムされていない状態にあるときに低減される。
【００１０】
一実施形態では、不揮発性記憶装置の動作方法は、第１ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子に対する検出動作の実行に関連して、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを判定するステップを含む。この方法はさらに、前記判定するステップが、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記検出動作を実行する間に前記第２ワードラインに第１電圧を印加するステップと、前記判定するステップが、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記検出動作を実行する間に前記第２ワードラインに第２電圧を印加するステップを備える。例えば、プログラムされた状態にある不揮発性記憶素子が含まれない場合、即ち、その不揮発性記憶素子が消去されている場合、低い電圧が非選択ワードラインに印加され得る。
【００１１】
他の実施形態では、不揮発性記憶装置の動作方法は、第１の数のワードライン群が少なくとも１個のプログラムされた不揮発性記憶素子を含むか否かを判定するステップと、第１ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子に検出動作を実行するステップを含む。ここで、第１ワードラインは、第１の数のワードライン群には含まれない。この方法はさらに、判定ステップが、第１の数のワードライン群が少なくとも１個のプログラムされた不揮発性記憶素子を含むと判定した場合に、検出動作の実行中に第１の数のワードライン群に第１電圧を印加するステップと、判定ステップが、第１の数のワードライン群が少なくとも１個のプログラムされた不揮発性記憶素子を含まないと判定した場合に、検出動作の実行中に第１の数のワードライン群に第２電圧を印加するステップを含む。
【００１２】
他の実施形態では、不揮発性記憶装置の動作方法は、最後の消去動作以来、第１ワードラインがプログラミング動作で用いられたか否かを示すデータを記憶するステップと、第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子の検出動作中に第１ワードラインに印加される電圧のレベルの設定に使うためにそのデータにアクセスするステップを含む。
【図面の簡単な説明】
【００１３】
【図１】ＮＡＮＤストリングの平面図である。
【図２】図１のＮＡＮＤストリングの等価回路図である。
【図３】ＮＡＮＤフラッシュ記憶素子のアレイのブロック図である。
【図４】基板上に形成されたＮＡＮＤストリングの断面図である。
【図５】読み出し動作中にワードラインの組に印加される電圧を説明する図である。
【図６】ワードラインの組中の非選択ワードラインのプログラム状態のチェックを説明する図である。
【図７】プログラムされていないワードラインに印加される低読み出しパス電圧とプログラムされたワードラインに印加される高読み出しパス電圧を含む、読み出し動作中にワードラインの組に印加される電圧を説明する図である。
【図８】読み出し動作中の特定の波形の変化を説明するタイミング図である。
【図９】読み出し動作中にワードラインの組に印加される電圧を設定する処理のフローチャートである。
【図１０ａ】ワードラインの組の中の非選択ワードラインがプログラム済みか否かを判定する第１処理のフローチャートである。
【図１０ｂ】ワードラインの組の中の非選択ワードラインがプログラム済みか否かを判定する第２処理のフローチャートである。
【図１０ｃ】ワードラインの組の中の非選択ワードラインがプログラム済みか否かを判定する第３処理のフローチャートである。
【図１０ｄ】ワードラインがプログラム済みであるか否かを示すデータを記憶する処理のフローチャートである。
【図１１】ＮＡＮＤフラッシュ記憶素子のアレイのブロック図である。
【図１２】シングル行／列デコーダと読み出し／書き込み回路を使った不揮発性記憶システムのブロック図である。
【図１３】デュアル行／列デコーダと読み出し／書き込み回路を使った不揮発性記憶システムのブロック図である。
【図１４】検出ブロックの一実施形態のブロック図である。
【図１５】全ビットラインメモリアーキテクチャまたは奇数偶数メモリアーキテクチャのためのブロックへのメモリアレイの編成の一例を示す図である。
【図１６】シングルパスプログラミングにおける閾値電圧区分の組の一例を示す図である。
【図１７】マルチパスプログラミングにおける閾値電圧区分の組の一例を示す図である。
【図１８ａ】種々の閾値電圧区分、及び、不揮発性メモリをプログラミングする処理を説明する図である。
【図１８ｂ】種々の閾値電圧区分、及び、不揮発性メモリをプログラミングする処理を説明する図である。
【図１８ｃ】種々の閾値電圧区分、及び、不揮発性メモリをプログラミングする処理を説明する図である。
【図１９】不揮発性メモリをプログラミングする処理の一実施形態を説明する図である。
【図２０】プログラミング中に不揮発性記憶素子の制御ゲートに印加されるパルス列の一例を示す図である。
【発明を実施するための形態】
【００１４】
本発明は、不揮発性記憶装置の読み出し動作における消費電力を低減するための方法を提供する。
【００１５】
本発明を実装するのに好適なメモリシステムの一例は、ＮＡＮＤフラッシュメモリ構造を利用するものであり、２つの選択ゲートの間に複数のトランジスタの直列接続を含んでいる。直列に接続されたトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１は、１つのＮＡＮＤストリングを示す平面図である。図２は、その等価回路である。図１と図２に示すＮＡＮＤストリングは、第１選択ゲート１２０と第２選択ゲート１２２の間に挟まれている、直列に接続されている４つのトランジスタ１００、１０２、１０４及び１０６を有する。選択ゲート１２０は、ＮＡＮＤストリングのビットライン１２６への接続を開閉する。選択ゲート１２２は、ＮＡＮＤストリングのソースライン１２８への接続を開閉する。選択ゲート１２０は、制御ゲート１２０ＣＧに適切な電圧を加えることによって制御される。選択ゲート１２２は、制御ゲート１２２ＣＧに適切な電圧を加えることによって制御される。トランジスタ１００、１０２、１０４、及び１０６の夫々は、制御ゲートとフローティングゲートを有している。トランジスタ１００は、制御ゲート１００ＣＧとフローティングゲート１００ＦＧを備えている。トランジスタ１０２は、制御ゲート１０２ＣＧとフローティングゲート１０２ＦＧを備えている。トランジスタ１０４は、制御ゲート１０４ＣＧとフローティングゲート１０４ＦＧを備えている。トランジスタ１０６は、制御ゲート１０６ＣＧとフローティングゲート１０６ＦＧを備えている。制御ゲート１００ＣＧはワードラインＷＬ３に接続されており、制御ゲート１０２ＣＧはワードラインＷＬ２に接続されており、制御ゲート１０４ＣＧはワードラインＷＬ１に接続されており、制御ゲート１０６ＣＧはワードラインＷＬ０に接続されている。制御ゲートは、また、ワードラインの一部として提供される。一実施形態では、トランジスタ１００、１０２、１０４、及び、１０６は、夫々が記憶素子であり、メモリセルと呼ばれることがある。他の実施形態では、記憶素子は、複数のトランジスタを含むことがあり、図１や図２に示すものとは異なる場合がある。選択ゲート１２０は、選択ラインＳＧＤ（ドレイン選択ゲート）に接続されている。選択ゲート１２２は、選択ラインＳＧＳ（ソース選択ゲート）に接続されている。
【００１６】
図３は、３個のＮＡＮＤストリングを示す回路図である。ＮＡＮＤ構造を使用するフラッシュメモリシステムの典型的なアーキテクチャは、いくつかのＮＡＮＤストリングを含む。例えば、３個のＮＡＮＤストリング、３２０、３４０及び３６０が、さらに多くのＮＡＮＤストリングを有するメモリアレイ内に示される。各ＮＡＮＤストリングは、２個の選択ゲートと４つの記憶素子を有している。簡単のために４個の記憶素子が描かれているが、最近のＮＡＮＤストリングは、例えば最高３２個又は６４個の記憶素子を有する場合がある。
【００１７】
例えば、ＮＡＮＤストリング３２０は選択ゲート３２２と３２７、及び、記憶素子３２３〜３２６を有し、ＮＡＮＤストリング３４０は選択ゲート３４２と３４７、及び、記憶素子３４３〜３４６を有し、ＮＡＮＤストリング３６０は選択ゲート３６２と３６７、及び、記憶素子３６３〜３６６を有する。各ＮＡＮＤストリングは、その選択ゲート（例えば、選択ゲート３２７、３４７、又は３６７）によってソースラインに接続されている。選択ラインＳＧＳは、ソース側選択ゲートを制御するために使用される。種々のＮＡＮＤストリング３２０、３４０、及び３６０は、選択ゲート３２２、３４２、３６２等の選択トランジスタによって各ビットライン３２１、３４１、及び、３６１に接続されている。これらの選択トランジスタは、ドレイン選択ラインＳＧＤによって制御される。他の実施形態では、選択ラインは必ずしもＮＡＮＤストリング間で共通とされている必要はない。すなわち、異なるＮＡＮＤストリングには異なる選択ラインを接続できる。ワードラインＷＬ３は、記憶素子３２３、３４３、及び、３６３のための制御ゲートに接続されている。ワードラインＷＬ２は、記憶素子３２４、３４４、及び、３６４のための制御ゲートに接続されている。ワードラインＷＬ１は、記憶素子３２５、３４５、及び、３６５のための制御ゲートに接続されている。ワードラインＷＬ０は、記憶素子３２６、３４６、及び、３６６のための制御ゲートに接続されている。つまり、各ビットラインと各ＮＡＮＤストリングは記憶素子のアレイ又はセットの列を含む。ワードライン（ＷＬ３、ＷＬ２、ＷＬ１及びＷＬ０）は、アレイ又はセットの行を含む。各ワードラインは、行において各記憶素子の制御ゲートを接続している。また、制御ゲートはワードライン自体によって提供されてよい。例えば、ワードラインＷＬ２は、記憶素子３２４、３４４、及び、３６４に制御ゲートを提供する。実際には、１つのワードラインに数千の記憶素子がある場合がある。
【００１８】
各記憶素子はデータを記憶できる。例えば、１ビットのデジタルデータを記憶するときは、記憶素子の可能な閾値電圧（ＶＴＨ）の範囲は、論理データ「１」と「０」を割り当てられる２つの範囲に分割される。ＮＡＮＤタイプのフラッシュメモリの一例では、前記ＶＴＨは、記憶素子が消去された後に負となり、論理「１」として定義される。プログラム動作後の前記ＶＴＨは正であり、論理「０」として定義される。ＶＴＨが負であり、読み出しが試行されると、記憶素子がオンして論理「１」が記憶されていることが示される。前記ＶＴＨが正であり、読み出し動作が試行されると、記憶素子はオンにならず、論理「０」が記憶されていることが示される。また、記憶素子は、例えば複数ビットのデジタルデータ等の複数のレベルの情報も記憶できる。このケースでは、ＶＴＨ値の範囲はデータレベルの数に分割される。例えば、４つのレベルの情報が記憶されている場合には、データ値「１１」、「１０」、「０１」、及び、「００」に割り当てられる４つのＶＴＨ範囲がある。ＮＡＮＤタイプのメモリの一例では、消去動作後の前記ＶＴＨは負となり、「１１」として定義される。正のＶＴＨ値は「１０」、「０１」及び「００」の状態のために使用される。記憶素子に書き込まれるデータと、素子の閾値電圧範囲との特定な関係は、記憶素子のために採用されるデータ符号化方式に依存する。例えば、両出願の全体を参照することにより本明細書に組み込まれる米国特許第６，２２２，７６２号及び米国特許出願公報第２００４／０２５５０９０号が、マルチステートフラッシュ記憶素子のための多様なデータ符号化方式を説明している。
【００１９】
ＮＡＮＤタイプのフラッシュメモリ及びその動作の関連性のある例は、それぞれが参照することにより本明細書に組み込まれる米国特許番号第５，３８６，４２２号、第５，５２２，５８０号、第５，５７０，３１５号、第５，７７４，３９７号、第６，０４６，９３５号、第６，４５６，５２８号、及び第６，５２２，５８０号に示されている。
【００２０】
フラッシュ記憶素子をプログラミングするときには、プログラム電圧が記憶素子の制御ゲートに印加されるとともに、記憶素子に接続されているビットラインが接地される。チャネルからの電子はフローティングゲートに注入される。電子がフローティングゲートに蓄積すると、フローティングゲートは負に帯電し、記憶素子のＶＴＨが上昇する。プログラミング中の記憶素子の制御ゲートにプログラム電圧を印加するために、そのプログラム電圧は適切なワードライン上に印加される。上述したように、各ＮＡＮＤストリング中の１つの記憶素子が同じワードラインを共有している。例えば、図３の記憶素子３２４をプログラミングするときには、プログラム電圧は記憶素子３４４と３６４の制御ゲートにも印加される。
【００２１】
図４は、基板上に形成されたＮＡＮＤストリングの断面図を示す。図は簡略化されており、縮尺どおりではない。ＮＡＮＤストリング４００は、ソース側選択ゲート４０６と、ドレイン側選択ゲート４２４と、基板４９０上に形成される８個の記憶素子４０８、４１０、４１２、４１４、４１６、４１８、４２０及び４２２とを有する。複数のソース／ドレイン領域（その一例はソース／ドレイン領域４３０である）が、各記憶素子と選択ゲート４０６及び４２４の両側に形成されている。一つのアプローチでは、基板４９０は、３重ウエル技術を採用しており、ｐ型基板領域４９６の中にｎウエル領域４９４が形成されており、その中にｐウエル領域４９２が形成されている。ＮＡＮＤストリングとその不揮発性記憶素子は、少なくとも部分的には、ｐウエル領域上に形成されている。ビットライン４２６にはＶＢＩＴＬＩＮＥの電位が供給されるとともに、ソース供給ライン４０４にはＶＳＯＵＲＣＥの電位が供給される。端子４０３を介してｎウエル領域４９４に電圧が印加され、端子４０２を介してｐウエル領域４９２にも電圧が印加される。
【００２２】
読み出し処理の間、記憶素子４１４に関係付けられた選択ワードライン（この例ではＷＬ３である）に制御ゲート電圧ＶＣＧＲが供給される。さらに、記憶素子の制御ゲートは、ワードラインの一部として提供され得ることに留意されたい。例えば、ＷＬ０、ＷＬ１、ＷＬ２、ＷＬ３、ＷＬ４、ＷＬ５、ＷＬ６、及びＷＬ７は、それぞれ、記憶素子４０８、４１０、４１２、４１４、４１６、４１８、４２０、及び４２２の制御ゲートを通じて延設し得る。一つの可能なブースト方式では、ＮＡＮＤストリング４００に関係付けられた残りのワードラインに読み出しパス電圧ＶＲＥＡＤが印加される。選択ゲート４０６と４２４には夫々、ＶＳＧＳとＶＳＧＤが印加される。
【００２３】
図５は、読み出し動作中にワードラインの組５００に印加される電圧を示している。この例では、ＷＬ０からＷＬｎ−１までｎ本のワードラインがあり、それらはＷＬ０から始まりＷＬｎ−１で終わるワードライン順でプログラムされる。プログラミングは１本のワードラインに対して同時に行うことができ、一つの方式では、ＷＬ０に関係付けられた記憶素子が全て所定のプログラム状態にプログラミングされ、次いでＷＬ１に関係付けられた記憶素子が全て所定のプログラム状態にプログラミングされ、以下同様である。この場合のワードラインプログラミングの順序は、ＷＬ０、ＷＬ１、ＷＬ２・・・である。
【００２４】
他の方式では、１本のワードラインに関係付けられた記憶素子は複数のパスでプログラムされる。例えば次のステップでプログラムされる。即ち、１）ＷＬ０に関係付けられた記憶素子が部分的にプログラムされ、２）ＷＬ１に関係付けられた記憶素子が部分的にプログラムされ、３）ＷＬ０に関係付けられた記憶素子のプログラミングが完結され、４）ＷＬ２に関係付けられた記憶素子が部分的にプログラムされ、５）ＷＬ１に関係付けられた記憶素子のプログラミングが完結され、６）ＷＬ３に関係付けられた記憶素子が部分的にプログラムされ、７）ＷＬ２に関係付けられた記憶素子のプログラミングが完結され、以下同様である。この場合のワードラインプログラミング順は、ＷＬ０、ＷＬ１、ＷＬ０、ＷＬ２、ＷＬ１、ＷＬ３、ＷＬ２・・・である。その他の様々なプログラミング方式やワードラインプログラミング順が可能である。
【００２５】
幾つかのケースでは、１つのブロック或いは他の記憶素子の組の全ての記憶素子がデータを記憶することが必要とされる。この一方において、他のケースでは、記憶素子群の幾つかのみがデータを記憶することが必要とされる。それゆえ、読み出し動作が順次実行される場合、記憶素子群の全てが所定のデータでプログラムされているのか、或いはその一部分のみがデータでプログラムされているのかは不明である。データでプログラムされていない記憶素子は通常、消去状態にある。例えば、ＷＬ３が読み出しのために選択されたワードラインである場合、ワードラインプログラミング順における前方のワードライン、即ち、ＷＬ０からＷＬ２はプログラム済みである。即ち、それらのワードラインは、記憶素子に関してプログラミングで既に使われており、それらに関係する記憶素子は部分的にプログラムされているか、或いは完全にプログラムされているかのどちらかである。他方、ワードラインプログラミング順における選択ワードラインに後続のワードライン、即ち、ＷＬ４からＷＬｎ−１までは、プログラム状態が不明である。即ち、ＷＬ３は、ワードラインの組の中で最後にプログラムされるワードラインであってもよく、あるいは、そうでなくてもよい。選択ワードライン以外のワードラインは、非選択ワードラインと呼ばれる。この例では、非選択ワードラインのそれぞれに読み出しパス電圧ＶＲＥＡＤが印加される。
【００２６】
しかしながら、非選択ワードラインに対する固定されたＶＲＥＡＤ値の使用は、不必要なエネルギ消費をもたらす。例えば、ＷＬ０にはページデータが書き込まれるが、他のワードラインにはページが書き込まれない場合を仮定すると、ＷＬ１からＷＬｎ−１までの記憶素子は消去状態のままである。ＷＬ０上の記憶素子の状態を読み出すとき、プログラムされた各記憶素子は、いくつかのプログラムされていない記憶素子を有するＮＡＮＤストリングの中に存在することになる。さらに、記憶素子が消去状態にあるとき、ＮＡＮＤストリングの抵抗ＲＮＡＮＤは低い。次の式（数１）は、ＲＮＡＮＤを、ソース及びドレイン側選択ゲートとＮＡＮＤストリングのソース−ドレイン領域の抵抗ＲＳＤ、印加するワードライン電圧ＶＷＬ、ワードラインに関係付けられた記憶素子の閾値電圧ＶＴＨ、及び定数ｋの関数として表したものである。
【数１】
2010525503.tif 000003
【００２７】
結果として、印加するワードライン電圧ＶＷＬと閾値電圧ＶＴＨの差が大きいとき、ＲＮＡＮＤは低くなる。例えば、ＮＡＮＤストリング内の全ての記憶素子が最高位のプログラム済状態にある場合と比較して、ＮＡＮＤストリング内の全ての記憶素子が消去状態にある場合には、ＲＮＡＮＤは半減し得る。さらに、次の式（数２）とＰ＝ＩＶの関係によって、より高いＲＮＡＮＤは、より高いＩＣＥＬＬ、より大きい消費電力（Ｐ）、及びより大きい最大瞬間電流をもたらす。
【数２】
2010525503.tif 000004
【００２８】
ワードラインがプログラムされるとき、即ち書き込まれるとき、「ランダム化」特性によって、記憶素子群に記憶されるデータパターンはランダムとなることに留意されたい。その場合、各ＮＡＮＤストリングに、最高位のプログラム状態（即ち、「Ｃ」状態）にある幾つかの記憶素子が存在する可能性が高い。
【００２９】
消費電力を低減する一つの方法は、非選択ワードラインに印加するワードライン電圧ＶＷＬを低くすることである。例えば、ワードラインプログラミング順と現在の選択ワードラインの位置に基づいて、プログラムされるべきであることが判明している非選択ワードラインに対しては、この方法は現実的ではないことがある。幾つかの記憶素子が最高位のプログラム状態にプログラムされる可能性があり、読み出し妨害を回避するために十分なマージンを維持することが望ましいからである。プログラムされていない非選択ワードラインに対しては、印加するワードラインは安全に低減することができ、読み出し妨害を悪化させることなく消費電力を低減することができる。他の期待される利益として、低減された閾値電圧区分がある。この利点は、さまざまな方法で達成され得る。
【００３０】
図６は、一組のワードラインの中の非選択ワードラインのプログラム状態をチェックする際に一組のワードライン６００に印加する電圧を示す図である。選択ワードラインの後のワードラインがプログラムされているか否かを判定する一つの方法は、予め定められたワードラインＷＬｘのプログラム状態をチェックすることである。例えば、ｎ＝３２のワードラインであり、ＷＬ３が選択ワードラインである場合、ＷＬ２３のプログラム状態をチェックし得る。ＷＬ２３に対応する１以上の記憶素子がプログラム済みか否かを示すフラグが、対応する記憶素子、或いは他の場所に格納される。フラグは、最後の消去動作以来、そのワードラインがプログラミング動作に使われたか否かを示すデータである。ワードライン群が連続して読み出される場合、例えば、ＷＬ２３のフラグはＷＬ０が読み出される前に一回チェックされ得る。そのような場合では、ＷＬ１、ＷＬ２・・・を読み出す際の読み出しスループットを低下させない。
【００３１】
通常の読み出し動作の前に実行される読み出し前処理において、ＷＬ２３の記憶素子を読み出し、関係付けられた記憶素子がプログラム済みか否かを判定することも可能である。例えば、最低の読み出しレベル、例えばＶｒａに際してシングル検出動作が実行され得る（図１６参照）。ワードラインに関係付けられた不揮発性記憶素子の全てがオンの場合、それらはプログラムされていないということが判明する。そうでない場合は、少なくとも１個の不揮発性記憶素子がプログラムされている。さらに、一組の複数ワードラインが少なくとも１個のプログラム済不揮発性記憶素子を含むか否かを同時に判定し得る。このことは、最低の読み出しレベル、例えばＶｒａを複数のワードラインに同時に印加することによって得られる。ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子がオフしたままである場合は、少なくとも１個の不揮発性記憶素子がプログラム済みであることが判明する。そうでない場合は、複数ワードラインに関係付けられた不揮発性記憶素子の全てがプログラムされていない。例えば、最低の読み出しレベルが読み出し前電圧としてＷＬ２３−ＷＬ３１に印加され、関係付けられた記憶素子がプログラム済みであるか否かが判定される。
【００３２】
ワードラインに関係付けられた記憶素子がプログラム済みの場合、そのワードラインに印加する電圧は減じられない。関係付けられた記憶素子がプログラムされていない場合、そのワードライン、ならびに、プログラミング順におけるＷＬｘ以降のワードラインに印加する電圧は低減し得る。プログラム状態チェックは、その選択ワードラインがワードラインプログラミング順においてＷＬｘよりも前のときに実行されるとよい。例えば、チェックは、選択ワードラインがＷＬ０からＷＬｘ−１の間のときに実行されるとよい。また、第１非選択ワードラインがプログラム済みである場合に、他の既定のワードラインのプログラム状態をチェックすることも好適である。例えば、ｎ＝３２のワードラインでＷＬ３が選択ワードラインである場合、ＷＬ２３のプログラム状態が最初にチェックされ、その後、ＷＬ２３がプログラムされている場合にＷＬ２７のプログラム状態がチェックされ得る。ＷＬ２７はプログラムされていないがＷＬ２３がプログラムされている場合、例えば、ＷＬ２７からＷＬ３１に印加されるワードライン電圧を低減し得る。ＷＬ２７もまたプログラムされている場合には、他のどの非選択ワードライン電圧も減じないこととしてもよい。他の例では、ＷＬ７、ＷＬ１５、及びＷＬ２３（ｎ＝３２として）が、それらのプログラム状態をチェックする候補となる。ワードラインプログラミング順における選択ワードライン以降の候補ワードラインが最初にチェックされる。
【００３３】
例として、ＷＬ８が読み出しのための選択ワードラインである場合、最初にチェックする候補ワードラインはＷＬ１５である。ＷＬ７は、ワードラインプログラミング順において選択ワードラインよりも前であるから、ＷＬ７はプログラムされる予定でありチェックしない。ＷＬ１５がプログラムされていない場合、低減したワードライン電圧はＷＬ１５からＷＬ３１に印加される。ＷＬ１５がプログラムされている場合、ＷＬ２３をチェックする。ＷＬ２３がプログラムされていない場合、低減したワードライン電圧をＷＬ２３からＷＬ３１に印加する。ＷＬ２３がプログラムされている場合、それ以上のチェックは行わず、低減されたワードライン電圧は印加されない。
【００３４】
即ち、一組のワードラインにおける既定位置の１以上のワードラインについてプログラム状態をチェックし、その結果に基づいてワードライン電圧を設定する。
【００３５】
他の方法として、一組のワードラインにおける現在の選択ワードラインの位置に応じてチェックすべき１以上のワードラインを選定することも好適である。例えば、プログラム状態を最初にチェックするワードラインは、現在のワードラインよりワードラインプログラミング順において既定数だけ後ろのワードラインであってよい。例えば、ＷＬ３が現在の選択ワードラインである場合、チェックするワードラインは、８個後ろ（高次）のワードライン、即ちＷＬ１１であってよい。ＷＬ１１がプログラムされていない場合、低減した電圧をＷＬ１１からＷＬ３１に印加する。ＷＬ１１がプログラムされている場合、次にチェックするワードラインはＷＬ１９である。ＷＬ１９がプログラムされていない場合、低減した電圧をＷＬ１９からＷＬ３１に印加する。ＷＬ１９がプログラムされている場合、次にチェックするワードラインはＷＬ２７である。ＷＬ２７がプログラムされていない場合、低減した電圧をＷＬ２７からＷＬ３１に印加する。ＷＬ２７がプログラム済である場合、低減した電圧は用いない。
【００３６】
通常、ワードラインのプログラム状態のチェックに用いられる技術は、選択ワードラインがプログラミング順において比較的早い順位にある場合に、その選択ワードラインよりもプログラミング順の順番が後ろの位置に多くのプログラムされていないワードラインが存在する場合に消費電力の低減効果が大きい、という知見に基づいている。このことは、例として、低位のワードラインの記憶素子が読み出し対象であり、高位のワードラインの記憶素子がまだプログラムされていない場合に起こり得る。
【００３７】
図１０ａから１０ｃを参照して、ワードラインのプログラム状態のチェックについて様々なオプションを説明する。
【００３８】
図７は、読み出し動作において一組のワードライン７００に印加する電圧を示しており、プログラム済みのワードラインに印加する高読み出しパス電圧とプログラムされていないワードラインに印加する低読み出しパス電圧を含んでいる。ここで、選択ワードラインはＷＬ３であり、制御ゲート読み出し電圧ＶＣＧＲを受ける。ＷＬｘがプログラムされていないとの判定がなされた場合、ＷＬｘ＋１からＷＬｎ−１もまたプログラムされていないとの結果を得る。その結果、低減したワードライン電圧ＶＲＥＡＤ２（例えば２〜４Ｖ）をＷＬｘからＷＬｎ−１に印加する。ＶＲＥＡＤ電圧は、関係する記憶素子をオンさせるのに十分な大きさを有しており選択された記憶素子の読み出しを実現するが、読み出し妨害を引き起こすほどには大きくない。選択ワードラインよりも後であるがＷＬｘよりも前のワードライン、即ち、ＷＬ４からＷＬｘ−１のプログラム状態は未知である。そのため、高いワードライン電圧ＶＲＥＡＤ１（例えば６Ｖ）をＷＬ４からＷＬｘ−１に印加する。ここで、ＶＲＥＡＤ１＞ＶＲＥＡＤ２である。それらのワードラインは、安全をみて、プログラムされる予定であるとして扱われる。同様に、ＷＬ０からＷＬ２にはＶＲＥＡＤ１を印加する。それらのワードラインは、ワードラインプログラミング順序が選択ワードラインＷＬ３よりも前であるからプログラムされることが分かっている。
【００３９】
本明細書で開示される技術は、プログラミングに際して実行される検証動作においても用いることができる。しかしながら、プログラミングにおいては、選択ワードライン以降のワードラインはプログラムされていないこと（消去済みであること）が分かっている。それゆえ、それらのワードラインにはプログラム状態チェックを実行することなしに低減した電圧を印加することができる。
【００４０】
本明細書が開示する技術は、検証と読み出しの間のＮＡＮＤチェーンの抵抗の変化による閾値電圧区分拡張を低減することに拡張し得る。単にＷＬ２３に注目することに代えて、例として、ＷＬ３１、ＷＬ１６、及びＷＬ８に注目することも好適であり、また、いくつのワードラインが書き込み済みであるかを検出する他の手法を使うことも好適である。書き込み済みのワードラインの数と検証中に用いられるＶＲＥＡＤの大きさに依存して、読み出しにおける高次のワードラインのＶＲＥＡＤを補償することも好適である。
【００４１】
他のオプションとして、ＶＲＥＡＤ１とＶＲＥＡＤ２の間の中間電圧が用いられる。例えば、ＷＬｘ−１にＶＲＥＡＤ１を、ＷＬｘにＶＲＥＡＤ２を印加することに代えて、ＷＬｘ−１にＶＲＥＡＤ１を、ＷＬｘにＶＲＥＡＤ１．５を、Ｗｘ＋１にＶＲＥＡＤ２を印加してもよい。ここで、ＶＲＥＡＤ１＞ＶＲＥＡＤ１．５＞ＶＲＥＡＤ２である。この例では、印加するワードライン電圧の段階的な移行が与えられる。
【００４２】
図８は、読み出し／検証動作中の波形の変化を説明するタイミングチャートである。総じていえば、読み出しと検証動作の間、選択ワードライン或いは他の制御ラインには、各読み出しと検証動作に対して特定レベルの電圧が印加され、注目する記憶素子の閾値電圧がそのようなレベルに達しているか否かが判定される。ワードライン電圧を印加した後、記憶素子の伝導電流を計測し、その記憶素子がオンしているか否かを判定する。伝導電流が特定の値よりも大きいことが計測された場合、その記憶素子はオンしており、そのワードラインに印加している電圧はその記憶素子の閾値電圧よりも大きいと判定される。伝導電流が特定の値よりも大きくないことが計測された場合、その記憶素子はオンしておらず、そのワードラインに印加している電圧がその記憶素子の閾値電圧よりも大きくないと判定される。
【００４３】
読み出し或いは検証動作において記憶素子の伝導電流を計測する多くの方法がある。一つの例では、記憶素子の伝導電流は、その記憶素子を含むＮＡＮＤストリングがビットラインを放電することを許容する（或いは許容しない）ときの速度によって計測される。所定時間後のビットライン上の電荷量が計測され、ビットラインが放電されたか否かが判定される。他の実施例では、選択記憶素子の導通は、ビットライン上を電流が流れることを許容する、或いは許容せず、そのことは、電流によって検出アンプ内のキャパシタがチャージしたか否かによって計測される。
【００４４】
波形８００は、ドレイン側選択ゲート電圧（ＳＧＤ）を示している。波形８０５は、プログラムされることが分かっている、或いはプログラムされる可能性がある非選択ワードラインに印加する電圧を示している。波形８１０は、プログラムされないことが分かっている非選択ワードラインに印加する電圧を示している。波形８１５は、選択ワードライン（即ち、読み出し／検証のために選択されたワードライン）に印加する電圧を示している。波形８２０は、ソース側選択ゲート（ＳＧＳ）電圧（オプション１）を示している。波形８２５は、ＳＧＳ電圧（オプション２）を示している。波形８３０は、（読み出し／検証のために選択されたビットラインである）選択ビットライン（ＢＬ）電圧（オプション１）を示している。波形８３５は、選択ＢＬ電圧（オプション２）を示しており、波形８４０はソース電圧を示している。また、時刻ｔ０〜ｔ３は、水平方向に伸びている。
【００４５】
ＳＧＳと選択ＢＬには２つのバージョンが示されていることに留意されたい。オプション１は、ビットラインが放電されたか否かを判定することによって記憶素子の伝導電流を計測する、記憶素子アレイのための読み出し／検証動作を示している。オプション２は、検出アンプ内の専用キャパシタの放電速度によって記憶素子の伝導電流を計測する、記憶素子アレイのための読み出し／検証動作を示している。
【００４６】
まず、オプション１に関して、ビットラインが放電するか否かを判定することによって記憶素子の伝導電流を計測する記憶素子アレイと検出回路の動作について説明する。
【００４７】
時刻ｔ１に先立って、略０Ｖの定常電圧Ｖｓｓで電圧がスタートする。時刻ｔ１において、ＳＧＤとＳＧＳ（オプション２）が夫々、ＶＳＧＤとＶＳＧＳに上昇する（例えば３．５Ｖ）。プログラム済み非選択ワードラインはＶＲＥＡＤ１に引き上げられ、プログラムされていない非選択ワードラインはそれより低いＶＲＥＡＤ２に引き上げられる。総じて言えば、ＶＲＥＡＤは、選択された記憶素子の読み出しが可能となるように、関係する記憶素子をオンするのに十分な大きさではあるが、読み出し妨害を引き起こすほどには高くない大きさを有している。ＶＲＥＡＤは、オーバードライブ電圧として作用し、非選択記憶素子をオンさせてパスゲートとして機能させる。選択ワードラインは、読み出し動作のためのＶＣＧＲ（制御ゲート読み出し電圧）、或いは、検証動作のための検証レベルに引き上げられる。時刻ｔ１とｔ３の間における選択ワードラインの電圧の波形は、検出動作中に用いられる読み出しパルスと見なされる。一つの方法では、選択されたＢＬ（オプション１）は、略０．７Ｖにプリチャージされる。
【００４８】
時刻ｔ２では、ＮＡＮＤストリングはビットラインを制御する。また時刻ｔ２では、ＳＧＳ（オプション１）がＶＳＧＳに引き上げられることによって、ソース側選択ゲートをオンさせる。このことにより、ビットライン上の電荷を放出するためのパスが開かれる。読み出しのために選択された記憶素子のＶＴＨがＶＣＧＲ、或いは選択ワードラインに印加される検証レベルよりも大きい場合、選択された記憶素子はオンせず、ビットラインは放電しない。線８３２がこのことを示している。読み出しのために選択された記憶素子の閾値電圧がＶＣＧＲ、或いは選択ワードラインに印加される検証レベルよりも低い場合、読み出しのために選択された記憶素子はオンし（即ち導通する）、ビットライン電圧が低下する。曲線８３４がこのことを示している。時刻ｔ２の後であり時刻ｔ３（特定の実装によって決定される）の前のいずれかの時点において、検出アンプは、ビットラインが十分な量だけ低下したか否かを判定する。時刻ｔ２とｔ３の間において、検出アンプは評価されたＢＬ電圧を計測する。時刻ｔ３において、図示される波形群はＶｓｓ（又は、スタンバイ或いは回復のための他の値）に減じられる。
【００４９】
次に、オプション２に関して、検出アンプ内の専用キャパシタをチャージする速度によって記憶素子の導通電流を計測する記憶素子アレイと検出回路の動作について説明する。時刻ｔ１において、ＳＧＤはＶＳＧＤに引き上げられ、非選択ワードラインはＶＲＥＡＤ１またはＶＲＥＡＤ２に引き上げられ、選択ワードラインは読み出し動作のためのＶＣＧＲ或いは検証動作のための検証レベルに引き上げられる。この場合、検出アンプは、ＮＡＮＤストリングの動きに関わらずにビットライン電圧を一定に維持し、ビットラインをその電圧に「保持」するための電流を計測する。時刻ｔ１以降であり時刻ｔ３に先立ついずれかの時点（特定の実装によって決定される）で、検出アンプは検出アンプ内のキャパシタが十分な量だけ放電したか否かを判定する。時刻ｔ３では、描かれた波形群はＶｓｓ（又は、スタンバイ或いは回復のための他の値）に減じられる。他の実施形態では幾つかの波形のタイミングは変更し得ることに留意されたい。
【００５０】
図８に示した処理は、次の読み出しまたは検証レベルで繰り返される。繰り返しにおいては異なるＶＣＧＲを印加し、選択ワードラインに関係付けられた記憶素子のＶＴＨが対応する比較点より大きいか小さいかを判定する。
【００５１】
図９は、読み出し動作において一組のワードラインへ印加する電圧の設定処理のフローチャートである。ステップ９００で読み出し動作が開始する。ステップ９０５は、読み出す記憶素子のワードライン、例えばＷＬｉ、を選択することを含む。ステップ９１０は、例えばそのワードライン群の１以上に関係付けられたプログラム状態フラグを読むことによってプログラミング順におけるＷＬｉ後のワードラインがプログラム済みであるか否かを判定するステップ、制御で用いられるメモリに記憶されたデータへアクセスするステップ、読み出し前動作の実行ステップ、或いは他の技術を含む。ステップ９１５は、プログラム済非選択ワードラインに第１読み出しパス電圧ＶＲＥＡＤ１を設定するステップを含み、ステップ９２０は、プログラム状態が不明の非選択ワードラインに第１読み出しパス電圧ＶＲＥＡＤ１を設定するステップを含む。ステップ９２５は、プログラムされていない非選択ワードラインに第２読み出しパス電圧ＶＲＥＡＤ２を設定するステップを含む。ここで、ＶＲＥＡＤ２＜ＶＲＥＡＤ１である。ステップ９３０は、第１検出動作を開始するステップを含む。ステップ９３５は、選択ワードラインに制御ゲート読み出し電圧を設定するステップを含む。ステップ９４０は、１以上の記憶素子の読み出しステップを含み、ステップ９４６は、その結果、例えばその記憶素子の閾値電圧が比較電圧よりも大きいか否かを示す結果を格納するステップを含む。ステップ９５０にて次の検出動作がある場合、ステップ９３５〜９４５の処理が繰り返される。例えば、第１検出動作は読み出し比較値Ｖｒａを使い、第２検出動作は読み出し比較値Ｖｒｂを使い、第３検出動作は読み出し比較値Ｖｒｃを使う（図１６参照）。読み出し動作はステップ９５５で終了する。
【００５２】
図１０ａは、一組のワードラインの中の非選択ワードラインがプログラムされているか否かを判定する第１処理のフローチャートを示している。前述したように、一つのアプローチは、一組のワードラインの中の予め定められた位置のワードラインがプログラム済であるか否かの判定を含む。ステップ１０００は、プログラミング順における選択ワードラインＷＬｉの後のワードラインがプログラム済であるか否かを決定する処理の開始を含む。ステップ１００２は、プログラミング順におけるＷＬｉ以降のワードラインでありｎ本のワードライン中の既定位置のワードラインＷＬｘがプログラム済であるか否かを判定する処理を含む。例えば、図６について前述した例においては、ｎ＝３２ワードラインであり、ＷＬｘ＝ＷＬ２３である。ステップ１００２における判定は、例えば、ＷＬｘ上の記憶素子を読み出すこと、又は、先に設定された状態フラグを読み出すことを含むことができる（ステップ１００４）。判定ステップ１００６にてＷＬｘがプログラム済であると判定された場合、及び、判定ステップ１００８にてさらなるプログラム状態チェックの実行が不要の場合、ステップ１０１８において、第１読み出しパス電圧ＶＲＥＡＤ１がプログラム済非選択ワードラインＷＬ０からＷＬｉ−１まで、及び、ＷＬｉ＋１からＷＬｘまでに設定される。そして、ステップ１０２０にて、プログラム状態が未知の非選択ワードラインＷＬｘ＋１からＷＬｎ−１までに第１読み出しパス電圧ＶＲＥＡＤ１が設定される。即ち、全ての非選択ワードラインにＶＲＥＡＤ１が用いられる。例えば、ＷＬｉ＝ＷＬ３、ＷＬｘ＝ＷＬ２３の場合、ステップ１０１８はＷＬ０からＷＬ２まで、及び、ＷＬ４からＷＬ２３までにＶＲＥＡＤ１を設定することを含み、ステップ１０２０はＷＬ２４からＷＬ３１までにＶＲＥＡＤ１を設定することを含む。
【００５３】
ステップ１００８において、別の状態チェックを実行すべき場合は、処理はステップ１００２へ移行する。そのステップにおいて、新ワードラインＷＬｘ（ｘは異なる値である）がプログラム済であるか否かが判定される。例えば、第１のパスではＷＬｘ＝ＷＬ２３であり、第２のパスではＷＬｘ＝ＷＬ２７である。ステップ１００６にて新たにチェックしたワードラインがプログラムされており、かつ、ステップ１００８にてさらなるチェックが不要の場合、前述と同様にステップ１０１８と１０２０が実行される。例えば、ＷＬｉ＝ＷＬ３であり、ＷＬｘ＝ＷＬ２７の場合、ステップ１０１８は、ＷＬ０からＷＬ２まで、及び、ＷＬ４からＷＬ２７までにＶＲＥＡＤ１を設定することを含み、ステップ１０２０は、ＷＬ２８からＷＬ３１までにＶＲＥＡＤ１を設定することを含む。
【００５４】
ステップ１００６にて、チェックしたワードラインがプログラムされていない場合、ステップ１０１２〜１０１６が実行される。ステップ１０１２は、プログラム済非選択ワードラインＷＬ０からＷＬｉ−１までにＶＲＥＡＤ１を設定することを含み、ステップ１０１４は、プログラム状態が未知の非選択ワードラインＷＬｉ＋１からＷＬｘ−１までにＶＲＥＡＤ１を設定することを含み、ステップ１０１６は、プログラムされていない非選択ワードラインＷＬｘからＷＬｎ−１までに低い第２読み出しパス電圧ＶＲＥＡＤ２を設定することを含む。例えば、ＷＬｉ＝ＷＬ３であり、ＷＬｘ＝ＷＬ２３の場合、ステップ１０１２はＷＬ０からＷＬ２までＶＲＥＡＤ１を設定することを含み、ステップ１０１４はＷＬ４からＷＬ２２までＶＲＥＡＤ１を設定することを含み、ステップ１０１６はＷＬ２３からＷＬ３１までＶＲＥＡＤ２を設定することを含む。
【００５５】
総じて言えば、プログラム状態チェックは、プログラミング順における選択ワードライン（例えばＷＬ３）により近いワードライン（例えばＷＬ２３）から始まるワードライン群に対して実行され、プログラムされていないワードラインに達するまで、選択ワードラインからより遠いワードライン（例えばＷＬ２７）へと進められる。逆のアプローチもまた可能である。即ち、プログラム状態チェックは、プログラミング順における選択ワードライン（例えばＷＬ３）からより遠いワードライン（例えばＷＬ２７）から始まり、プログラムされていないワードラインに達するまで、選択ワードラインにより近いワードライン（例えばＷＬ２３）へと進んでもよい。
【００５６】
図１０ｂは、一組のワードラインの中の非選択ワードラインがプログラム済であるか否かを判定する第２処理のフローチャートを示している。このアプローチは、一組のワードラインの中の選択ワードラインの位置に基づいて決定されるワードラインに対するプログラム状態チェックを実行することを含む。ステップ１０４０は、プログラミング順における選択ワードラインＷＬｉ以降のワードラインがプログラム済であるか否かを判定する処理の開始を含む。ステップ１０４２では、変数ｋに定数を設定する。ステップ１０４４は、プログラミング順におけるＷＬｉよりｋワードラインだけ後のワードラインＷＬｉ＋ｋがプログラム済であるか否かを判定する処理を含む。例えば、ｎ＝３２ワードライン、ＷＬｉ＝ＷＬ３、ｋ＝８である。この場合、ステップ１０４４は、ＷＬ１１がプログラム済であるか否かを判定することを含む。ステップ１０４４における判定は、例えば、ＷＬ１１上の記憶素子を読み出すこと、又は、先に設定された状態フラグを読み出すことを含むことができる（ステップ１０４６）。判定ステップ１０４８にてＷＬｉ＋ｋがプログラム済であると判定された場合、及び、判定ステップ１０５０にてさらなるプログラム状態チェックの実行が不要の場合、ステップ１０６２において、プログラム済非選択ワードラインＷＬ０からＷＬｉ−１まで、及び、ＷＬｉ＋１からＷＬｉ＋ｋまでに第１読み出しパス電圧ＶＲＥＡＤ１が設定される。さらに、ステップ１０６４にて、プログラム状態が未知の非選択ワードラインＷＬｉ＋ｋ＋１からＷＬｎ−１までに第１読み出しパス電圧ＶＲＥＡＤ１が設定される。即ち、全ての非選択ワードラインにＶＲＥＡＤ１が用いられる。例えば、ＷＬｉ＝ＷＬ３、ｋ＝８の場合、ステップ１０６２はＷＬ０からＷＬ２まで、及び、ＷＬ４からＷＬ１１までにＶＲＥＡＤ１を設定することを含み、ステップ１０６４はＷＬ１２からＷＬ３１までにＶＲＥＡＤ１を設定することを含む。
【００５７】
ステップ１０５０で別のプログラム状態チェックが実行される場合、ステップ１０５２にて変数ｋが定数分だけ増分される。例えば、ステップ１０４２にてｋ＝８である場合、ステップ１０５２にてｋ＝１６となる。判定ステップ１０５４において、ｋが最後のワードライン（又は、例えば、最後のワードラインに近い他の特定のワードライン）を超えていない場合、新たなｋの値でステップ１０４４と１０４６が繰り返される。即ち、先にチェックしたワードラインからｋワードライン離れた新たなワードラインのプログラム状態が評価される。例えば、ｋ＝１６、ＷＬｉ＝３のとき、ＷＬ１９のプログラム状態がチェックされる。ステップ１０４８にて新たにチェックされたワードラインがプログラムされていない場合、ステップ１０５６〜１０６０が実行される。ステップ１０５６は、ワードラインＷＬ０からＷＬｉ−１のプログラム済非選択ワードラインにＶＲＥＡＤ１を設定することを含み、ステップ１０５８は、プログラム状態未知の非選択ワードラインＷＬｉ＋１からＷＬｉ＋ｋ−１にＶＲＥＡＤ１を設定することを含み、ステップ１０６０は、プログラムされていない非選択ワードラインＷＬｉ＋ｋからＷＬｎ−１のワードラインに低い第２読み出しパス電圧ＶＲＥＡＤ２を設定することを含む。例えば、ＷＬｉ＝ＷＬ３、ＷＬｉ＋ｋ＝ＷＬ１９の場合、ステップ１０５６は、ＷＬ０からＷＬ２にＶＲＥＡＤ１を設定することを含み、ステップ１０５８は、ＷＬ４からＷＬ１８にＶＲＥＡＤ１を設定することを含み、ステップ１０６０は、ＷＬ１９からＷＬ３１にＶＲＥＡＤ２を設定することを含む。
【００５８】
図１０ｃは、一組のワードラインの中の非選択ワードラインがプログラム済であるか否かを判定する第３処理のフローチャートを示している。このアプローチは、一組のワードラインの中の選択ワードラインの位置と、その一組のワードラインの数に基づいて決定されるワードラインに対するプログラム状態チェックを実行することを含む。本来、ワードラインプログラム状態チェックの増分は、選択ワードラインと最後のワードラインとの間のワードライン数の比で表される。
【００５９】
ステップ１０７０は、プログラミング順における選択ワードラインＷＬｉの後のワードラインがプログラム済であるか否かを判定する処理の開始を含む。ステップ１０７２では、変数ｋ＝（ｎ−１）／定数を設定する。例えば、ＷＬｉ＝３、ｎ＝３２、定数＝３の場合、ｋ＝（３２−３）／３＝９．６となる。この値は、最も近い整数、即ち１０に丸められる。ステップ１０７４は、プログラミング順におけるＷＬｉよりｋワードラインだけ後のワードラインＷＬｉ＋ｋがプログラム済であるか否かを判定する処理を含む。例えば、ＷＬｉ＝ＷＬ３、ｋ＝１０である。この場合、ステップ１０７４は、ＷＬ１１がプログラム済であるか否かを判定することを含む。ステップ１０７４における判定は、例えば、ＷＬ１３上の記憶素子を読み出すこと、又は、先に設定された状態フラグを読み出すことを含むことができる（ステップ１０７６）。判定ステップ１０７８にてＷＬｉ＋ｋがプログラム済であると判定された場合、及び、判定ステップ１０８０にてさらなるプログラム状態チェックの実行が不要の場合、ステップ１０９２において、プログラム済非選択ワードラインＷＬ０からＷＬｉ−１まで、及び、ＷＬｉ＋１からＷＬｉ＋ｋまでにＶＲＥＡＤ１が設定される。さらに、ステップ１０９４にて、プログラム状態が未知の非選択ワードラインＷＬｉ＋ｋ＋１からＷＬｎ−１までにＶＲＥＡＤ１が設定される。即ち、全ての非選択ワードラインにＶＲＥＡＤ１が用いられる。例えば、ＷＬｉ＝ＷＬ３、ｋ＝１０の場合、ステップ１０９２はＷＬ０からＷＬ２まで、及び、ＷＬ４からＷＬ１３までにＶＲＥＡＤ１を設定することを含み、ステップ１０９４はＷＬ１４からＷＬ３１までにＶＲＥＡＤ１を設定することを含む。
【００６０】
ステップ１０８０で別のプログラム状態チェックが実行される場合、ステップ１０８２にて変数ｋが増分される。例えば、ステップ１０７２にてｋ＝１０である場合、ステップ１０８２にてｋ＝２０となる。判定ステップ１０８４において、ｋが最後のワードライン（又は、例えば、最後のワードラインに近い他の特定のワードライン）を超えていない場合、新たなｋの値でステップ１０７４と１０７６が繰り返される。即ち、先にチェックしたワードラインからｋワードライン離れた新たなワードラインのプログラム状態が評価される。例えば、ｋ＝２０、ＷＬｉ＝３のとき、ＷＬ２３のプログラム状態がチェックされる。ステップ１０７８にて新たにチェックされたワードラインがプログラムされていない場合、ステップ１０８６〜１０９０が実行される。ステップ１０８６は、ワードラインＷＬ０からＷＬｉ−１のプログラム済非選択ワードラインにＶＲＥＡＤ１を設定することを含み、ステップ１０８８は、プログラム状態未知の非選択ワードラインＷＬｉ＋１からＷＬｉ＋ｋ−１にＶＲＥＡＤ１を設定することを含み、ステップ１０９０は、プログラムされていない非選択ワードラインＷＬｉ＋ｋからＷＬｎ−１のワードラインに低い第２読み出しパス電圧ＶＲＥＡＤ２を設定することを含む。例えば、ＷＬｉ＝ＷＬ３、ＷＬｉ＋ｋ＝ＷＬ２３の場合、ステップ１０８６は、ＷＬ０からＷＬ２にＶＲＥＡＤ１を設定することを含み、ステップ１０８８は、ＷＬ４からＷＬ２２にＶＲＥＡＤ１を設定することを含み、ステップ１０９０は、ＷＬ２３からＷＬ３１にＶＲＥＡＤ２を設定することを含む。
【００６１】
ステップ１０８２を通して他のパスが実行される場合、ｋは次に３０に増分される。
【００６２】
プログラム状態チェックにおけるワードラインの選択の方法には様々な技法を採用し得る。例えば、選択されたワードライン間の増分は定数である必要はなく、可変であってよい。例として、プログラムされていないワードラインの位置を最初に特定しようとするときには大きめの増分を用い、次に小さめの増分を用いることもできる。さらに、増分の方向は、選択ワードラインに向かうものであってよいし、選択ワードラインから離れる方向であってもよい。例えば、選択ワードラインがＷＬ３であり、ｎ＝３２ワードラインである場合、最初に選択されるワードラインはＷＬ２３であってよく、ＷＬ２３がプログラムされていない場合は次がＷＬ８となり、ＷＬ８がプログラムされている場合は次がＷＬ１６となる。即ち、ＷＬ２３がプログラムされていない場合、第１のプログラムされていないワードライン、或いは、第１「プログラムされていないワードライン」に近いプログラムされていないワードラインの位置を特定しようとすることが望ましい。この場合、ＷＬ２３よりもＷＬ３に近いワードラインとしてＷＬ８が選択される。しかしながら、このことが積極的すぎるということが判明した場合、即ち、ＷＬ８がプログラムされる予定であることが判明した場合、この技法は、ＷＬ８とＷＬ２３の間にあるＷＬ１６のチェックに戻る。このアプローチは、第１の「プログラムされていないワードライン」に収束しようとする。第１ワードラインは、精度、及び、許容できるオーバーヘッド量に依存して、正確に、或いは、所望の精度内、即ち、数ワードライン内で、特定される。
【００６３】
図１０ｄは、ワードラインがプログラム済であるか否かを示すデータを格納する処理のフローチャートである。不揮発性記憶装置の消去及びプログラミングの典型的なイベントシーケンスが示されている。ステップ１０９２は、ブロック或いは他の記憶素子の組の記憶素子群の消去を示している。ステップ１０９３は、記憶素子のプログラミングを示している。ステップ１０９４では、各プログラム済ワードラインに対して、或いは、選択されたプログラム済ワードラインに対して、そのワードラインがプログラム済であることを示すデータが格納される。例えば、このことは、プログラム済ワードライン、或いは他の場所の１個（或いはそれ以上の）記憶素子にフラグを設定することを含んでよい（ステップ１０９５）。他の場所とは、例えば、その一組のワードライン内の別のワードラインの別の記憶素子内であってよく、或いは、別の一組のワードライン内の記憶素子内であってよい。或いは、データは、例えば、ＷＬ＝ｘ、フラグ＝プログラム済、といった形式で、制御で使われるメモリ内のデータ構造内に格納されてもよい（ステップ１０９６）。ステップ１０９７において、そのデータは順次アクセスされ、前述したように、読み出し又は他の検出動作における最適な非選択ワードライン電圧を設定するために用いられる。
【００６４】
図１１は、図１および２に示したようなＮＡＮＤ記憶素子のアレイ１１００の一例を示している。各列に沿って、ビットライン１１０６はＮＡＮＤストリング１１５０のドレイン選択ゲートのドレイン端子１１２６に接続している。ＮＡＮＤストリングの各行に沿って、ソースライン１１０４はＮＡＮＤストリングのソース選択ゲートのすべてのソース端子１１２８に接続できる。メモリシステムの一部としてのＮＡＮＤアーキテクチャアレイ及びその動作の一例は、米国特許第５，５７０，３１５号、第５，７７４，３９７号、及び第６，０４６，９３５号に記載されている。
【００６５】
記憶素子のアレイは、記憶素子の多数のブロックに分割される。フラッシュＥＥＰＲＯＭシステムでは一般的なように、ブロックは消去の単位である。つまり、各ブロックは、共に消去される最小数の記憶素子を有する。各ブロックは、一般に複数のページに分割される。ページはプログラミングの単位である。一実施形態では、個々のページはセグメントに分割され、セグメントは基本プログラミング動作として一度に書き込まれる最小数の記憶素子を有することができる。一般に、記憶素子の１行に１ページ以上のデータを記憶する。１ページは１つ以上のセクタを記憶できる。１つのセクタは、ユーザデータとオーバヘッドデータを有する。オーバヘッドデータは一般に、そのセクタのユーザデータから計算された誤り訂正符号（ＥＣＣ）を有する。制御部（後述）の一部は、データがアレイ内に書き込まれるときにＥＣＣを計算し、さらにデータがアレイから読み出されるときにそれをチェックする。また、ＥＣＣ及び／又は他のオーバヘッドデータは、それらが関連するユーザデータ以外の異なるページもしくは異なるブロックにさえ記憶される。
【００６６】
ユーザデータのセクタは一般に５１２バイトであり、磁気ディスクドライブ内のセクタのサイズに対応する。オーバヘッドデータは一般に、追加の１６〜２０バイトである。多数のページがブロックを構成し、それは８ページから、例えば最大３２、６４，１２８またはそれ以上のページのいずれであってもよい。いくつかの実施形態では、ＮＡＮＤストリングの列はブロックを含む。
【００６７】
一実施形態では、メモリ記憶素子は、十分な期間に亘ってｐ−ウェルが消去電圧（例えば２０Ｖ）に上昇され、ソースラインとビットラインがフローティングしている間に、選択されたブロックのワードラインを接地させることによって消去される。容量結合のために、未選択ワードライン、ビットライン、選択ライン、及び、ｃ−ソースも消去電圧のかなりの部分まで引き上げられる。従って、強力な電界が選択された記憶素子のトンネル酸化物層に印加され、ファウラ−ノルドハイムトンネルメカニズムによってフローティングゲートの電子が基板側に放出されるにつれて選択された記憶素子のデータが消去される。電子がフローティングゲートからｐ−ウェル領域に移されるのにしたがって、選択された記憶素子の閾値電圧は引き下げられる。消去はメモリアレイ全体、別々のブロック、又は、他の記憶素子の単位で実行できる。
【００６８】
図１２は、単一の行／列デコーダ及び読み出し／書き込み回路を使用する不揮発性メモリシステムのブロック図である。図は、本発明の一実施形態に従って記憶素子のページを同時に読み取り、プログラミングするための読み出し／書き込み回路を有するメモリ素子１２９６を示す。メモリ装置１２９６は、１つ以上のメモリダイ１２９８を有する。メモリダイ１２９８は、２次元のアレイの記憶素子１１００、制御回路１２１０、及び、読み出し／書き込み回路１２６５を有する。いくつかの実施形態では、記憶素子のアレイは３次元であり得る。メモリアレイ１１００は行デコーダ１２３０を介してワードラインによって、及び、列デコーダ１２６０を介してビットラインによってアドレスできる。読み出し／書き込み回路１２６５は複数の検出ブロック１２００を有しており、１ページの記憶素子を並列に読み出し又はプログラミングすることができる。一般に、制御部１２５０は、１つ以上のメモリダイ１２９８のように同じメモリ装置１２９６（例えば、取り外し可能なストレージカード）内に含まれる。コマンド及びデータは、ライン１２２０を介してホストと制御部１２５０の間、及び、ライン１２１８を介して制御部と１つ以上のメモリダイ１２９８の間で送られる。
【００６９】
制御回路１２１０は、読み出し／書き込み回路１２６５と協調して、メモリアレイ１１００上でメモリ動作を実行する。制御回路１２１０は、ステートマシン１２１２、オンチップアドレスデコーダ部１２１４、ブースト制御１２１５、及び、電力制御モジュール１２１６を有している。ステートマシン１２１２は、メモリ動作のチップレベル制御を提供する。オンチップアドレスデコーダ１２１４は、ホスト又はメモリ制御部によって用いられるとともに、デコーダ１２３０及び１２６０によって用いられるハードウェアアドレスの間のアドレスインタフェースを提供する。本明細書に説明されているように、ブースト制御１２１５は、ソース側ブースト及びドレイン側ブーストを開始するためのタイミングを決定することを含むブーストモードを設定するために使用することができる。電力制御モジュール１２１６は、メモリ動作中、ワードライン及びビットラインに供給される電力及び電圧を制御する。
【００７０】
いくつかの実装形態では、図１２の構成要素のいくつかを結合することができる。多様な設計では、記憶素子アレイ１１００以外の構成要素の１つまたは複数を（単独でまたは組み合わせて）１つの管理回路と見なすことができる。例えば、一つ以上の管理回路は、制御回路１２１０、ステートマシン１２１２、デコーダ１２１４／１２６０、電力制御１２１６、検出ブロック１２００、読み出し／書き込み回路１２６５、制御部１２５０等の内の１つ、または組み合わせを有してよい。
【００７１】
図１３は、二重行／列デコーダ及び読み出し／書き込み回路を使用する不揮発性メモリシステムのブロック図である。ここでは、図１２に図示されるメモリ素子１２９６の別の配列が示される。多様な周辺回路によるメモリアレイ１１００に対するアクセスは、アレイの両側で対称様式に実現され、その結果各側のアクセスラインと回路網の密度は半分に低減される。従って、行デコーダは行デコーダ１２３０Ａと１２３０Ｂに分割され、列デコーダは列デコーダ１２６０Ａと１２６０Ｂに分割されている。同様に、読み出し／書き込み回路は、アレイ１１００の底部からビットラインに接続する読み出し／書き込み回路１２６５Ａと、アレイ１１００の上部からビットラインに接続する読み出し／書き込み回路１２６５Ｂに分割されている。この方法により、読み出し／書き込みモジュールの密度は本質的に二分の一に低減される。図１３の装置は、図１２の装置で上述したような制御部を有することもできる。
【００７２】
図１４は、検出ブロックの一実施形態を示すブロック図である。個々の検出ブロック１２００は、検出モジュール１２８０と呼ばれるコア部と共通部１２９０とに分割される。一実施形態では、各ビットラインの別個の検出モジュール１２８０と、複数の検出モジュール１２８０の集合の１つの共通部１２９０があってもよい。一例では、検出ブロックは、１つの共通部１２９０と８つの検出モジュール１２８０を有することができる。グループ内の各検出モジュールは、データバス１２７２を介して関連する共通部と通信できる。さらなる詳細としては、米国特許出願公開第２００６／０１４０００７号、「Non-Volatile Memory & Method with Shared Processing for an Aggregate on Sense Amplifiers」、公開日２００６年6月２９日を参照する。その全体は参照することにより本明細書に組み込まれる。
【００７３】
検出モジュール１２８０は検出回路１２７０を有しており、検出回路１２７０は接続されたビットライン内の伝導電流が所定の閾値レベルより高いか低いかを判定する。検出モジュール１２８０はさらにビットラインラッチ１２８２を有しており、ビットラインラッチ１２８２は接続されたビットライン上の電圧条件を設定するために用いられる。例えば、ビットラインラッチ１２８２内にラッチされる所定の状態によって、接続されたビットラインはプログラム禁止を指定する状態（例えば、Ｖｄｄ）に設定する。
【００７４】
共通部１２９０は、プロセッサ１２９２、１セットのデータラッチ１２９４、及び１セットのデータラッチ１２９４とデータバス１２２０の間を接続するＩ／Ｏインタフェース１２９６を有する。プロセッサ１２９２は計算を実行する。例えば、その機能の１つは、検出された記憶素子内に記憶されているデータを判定し、判定したデータを１セットのデータラッチ内に記憶することである。１セットのデータラッチ１２９４は、読み出し動作中に、プロセッサ１２９２によって判定されたデータビットを記憶するために用いられる。それは、プログラム動作中に、データバス１２２０から取り込まれたデータビットを記憶するためにも用いられる。取り込まれたデータビットは、メモリ内にプログラムされる予定の書き込みデータを表す。Ｉ／Ｏインタフェース１２９６は、データラッチ１２９４とデータバス１２２０の間のインタフェースを提供する。
【００７５】
読み出し又は検出中には、システムの動作はステートマシン１２１２の制御下にあり、ステートマシン１２１２はアドレスされた記憶素子への異なる制御ゲート電圧の供給を制御する。メモリによってサポートされた様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む際に、検出モジュール１２８０はこれらの電圧の１つに移動し、バス１２７２を介して検出モジュール１２８０からプロセッサ１２９２に出力が提供される。その時点で、プロセッサ１２９２は、検出モジュールの移動イベントと、ステートマシンから入力ライン１２９３を介して印加された制御ゲート電圧についての情報を考慮することによって得られたメモリ状態を決定する。それから、メモリ状態に対するバイナリ符号化を計算し、得られたデータビットをデータラッチ１２９４に記憶する。コア部の別の実施形態では、ビットラインラッチ１２８２は、検出モジュール１２８０の出力をラッチするラッチ、及び、上記のようなビットラインラッチの両方の機能を兼ねる。
【００７６】
当然のことながら、いくつかの実装形態では複数のプロセッサ１２９２を有することができる。一実施形態では、各プロセッサ１２９２は出力ライン（図示せず）を有し、各出力ラインは共にワイヤードＯＲ接続される。いくつかの実施形態では、出力ラインは、ワイヤードＯＲラインに接続する前に反転される。ワイヤードＯＲを受け取るステートマシンはプログラムされる全てのビットがいつ所望のレベルに到達するかを決定できる。したがって、この構成はプログラミング処理がいつ完了するかについてのプログラム検証処理中の迅速な決定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理０がワイヤードＯＲラインに送られる（又はデータ１を反転させる）。全てのビットがデータ０を出力する（又はデータ１を反転させる）と、ステートマシンはプログラミング処理を終了することを認識する。各プロセッサが８つの検出モジュールと通信するので、ステートマシンはワイヤードＯＲラインを８回読み出す必要があるか、あるいは関連するビットラインの結果を蓄積するために論理がプロセッサ１２９２に追加され、ステートマシンがワイヤードＯＲラインを一度だけ読み出せば良いようにする。同様に、論理レベルを正しく選ぶことにより、グローバルステートマシンは、第１のビットがいつその状態を変更し、相応してアルゴリズムを変更するのかを検知できる。
【００７７】
プログラム又は検証中に、プログラムされるデータはデータバス１２２０から１組のデータラッチ１２９４内に記憶される。ステートマシンの制御下の書き込み動作は、アドレス指定される記憶素子の制御ゲートに印加される一連のプログラム電圧パルスを有する。各プログラムパルスに続いてリードバック（検証）が実行され、記憶素子が所望のメモリ状態にプログラムされたかどうかを判定する。プロセッサ１２９２は、所望のメモリ状態に対するリードバックメモリ状態を監視する。その２つが一致する場合、プロセッサ１２９２はビットラインラッチ１２８２を設定し、プログラム禁止を指定する状態にビットラインを設定する。これにより、たとえプログラムパルスがその制御ゲートに現れても、ビットラインに接続した記憶素子がさらにプログラムされないようにする。他の実施形態では、プロセッサが最初にビットラインラッチ１２８２をロードし、検出回路が検証処理中に禁止値にそれを設定する。
【００７８】
データラッチスタック１２９４は、検出モジュールに対応するデータラッチのスタックを有する。一実施形態では、検出モジュール１２８０毎に３つのデータラッチが存在する。いくつかの実装形態では、（必須ではないが）データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス１２２０のシリアルデータに変換したり、その逆を行ったりする。好適な実施形態では、ｍ個の記憶素子の読み出し／書き込みブロックに対応する全てのデータラッチを共にリンクさせてブロックシフトレジスタを形成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、ｒ個の読み出し／書き込みモジュールのバンクを調整し、その組のデータラッチが読み出し／書き込みブロックの全体のシフトレジスタの一部であっても、その組のデータラッチのそれぞれが順にデータバスの内外にデータをシフトできるようにする。
【００７９】
不揮発性記憶装置の多様な実施形態の構造及び／または動作についての追加情報は、（１）米国特許第７，１９６，９３１号、２００７年３月２７日発行、「Non-Volatile Memory And Method With Reduced Source Line Bias Errors」、（２）米国特許第７，０２３，７３６号、２００６年４月４日発行、「Non-Volatile Memory And Method with Improved Sensing」、（３）米国特許第７，０４６，５６８号、２００６年５月１６日発行、「Memory Sensing Circuit And Method For Low Voltage Operation」、（４）米国特許出願公開第２００６／０２２１６９２号、２００６年１０月５日公開、「Compensating for Coupling During Read Operations of Non-Volatile Memory」、及び、（５）米国特許出願公開第２００６／０１５８９４７号、２００６年７月２０日公開、「Reference Sense Amplifier For Non-Volatile Memory」に記載されている。直前に示した特許文書の５つの全ては、その全体を参照することにより本明細書に組み込まれる。
【００８０】
図１５は、全ビットラインメモリアーキテクチャのために、又は、奇数−偶数メモリアーキテクチャのために、メモリアレイをブロックに編成する例を示す。メモリアレイ１５００の例示的な構造が説明される。一例として、１，０２４個のブロックに分割されるＮＡＮＤフラッシュＥＥＰＲＯＭが説明されている。各ブロックに記憶されるデータは同時に消去できる。一実施形態では、ブロックは、同時に消去される記憶素子の最小単位である。この例では、各ブロックに、ビットラインＢＬ０、ＢＬ１、・・・ＢＬ８５１１に対応する８，５１２の列が存在する。全ビットライン（ＡＢＬ）アーキテクチャ（アーキテクチャ１５１０）と呼ばれる一実施形態では、ブロックの全ビットラインは、読み出し動作及びプログラミング動作中に同時に選択される。共通のワードラインに沿っており、任意のビットラインに接続される記憶素子は、同時にプログラミングされる。
【００８１】
示される例では、６４個の記憶素子と２個のダミー記憶素子が直列に連結され、ＮＡＮＤストリングを形成している。６４本のデータワードラインと２本のダミーワードライン、ＷＬ−ｄ０及びＷＬ−ｄ１があり、各ＮＡＮＤストリングは、６４個のデータ記憶素子と２個のダミー記憶素子を含んでいる。他の実施形態では、ＮＡＮＤストリングは、６４個より多い、或いは少ない個数のデータ記憶素子と２個のダミー記憶素子を有していてもよい。データメモリセルは、ユーザデータ或いはシステムデータを記憶することができる。ダミーメモリセルは、通常、ユーザデータやシステムデータの記憶には使われない。
【００８２】
ＮＡＮＤストリングの１つの端子は、（選択ゲートドレインラインＳＧＤに接続される）ドレイン選択ゲートを介して対応するビットラインに接続され、別の端子が（選択ゲートソースラインＳＧＳに接続される）ソース選択ゲートを介してｃ−ソースに接続される。
【００８３】
奇数−偶数アーキテクチャ（アーキテクチャ１５００）と呼ばれる一実施形態では、ビットラインは偶数ビットライン（ＢＬｅ）と奇数ビットライン（ＢＬｏ）に分割される。この場合、共通ワードラインに沿っており、奇数ビットラインに接続されている記憶素子群は同時にプログラミングされ、共通ワードラインに沿っており、偶数ビットラインに接続されている記憶素子群は別のタイミングで同時にプログラミングされる。種々のブロックの中にデータをプログラミングすると同時に、他の種々のブロックからデータを読み出すことも可能である。この例では、各ブロックに、偶数列と奇数列に分割される８，５１２の列がある。
【００８４】
読み出し動作及びプログラミング動作の１つの構成の間に、４，２５６個の記憶素子が同時に選択される。選択された記憶素子は、同じワードラインと同じ種類のビットライン（例えば、偶数又は奇数）を有する。従って、１論理ページを形成する５３２バイトのデータを同時に読み出し、あるいは、プログラミングすることが可能であり、１ブロックのメモリが少なくとも８論理ページ（それぞれ奇数ページと偶数ページがある４ワードライン）を記憶できる。４個のマルチステート記憶素子の場合、各記憶素子が２ビットのデータを記憶し、これらの２ビットのそれぞれが別のページに記憶されると、１ブロックは１６の論理ページを記憶する。他のサイズのブロック及びページを使用することも可能である。
【００８５】
ＡＢＬアーキテクチャ又は奇数−偶数アーキテクチャの何れかの場合は、ｐ−ウェルを消去電圧（例えば２０Ｖ）に上昇させ、選択されたブロックのワードラインを接地することによって、記憶素子を消去できる。ソースライン及びビットラインはフローティングされる。消去は、メモリアレイ全体、別々のブロック、又はメモリ素子の一部である記憶素子の別の単位で実行できる。電子は、記憶素子のフローティングゲートからｐ−ウェル領域に移され、記憶素子のＶＴＨが負となる。
【００８６】
読み出し動作及び検証動作では、選択ゲート（ＳＧＤとＳＧＳ）が２．５〜４．５Ｖの範囲の電圧に接続され、未選択ワードライン（例えば、ＷＬ２が選択されたワードラインであるときにＷＬ０、ＷＬ１、及び、ＷＬ３）は読み出しパス電圧ＶＲＥＡＤ（通常、４．５〜６Ｖの範囲の電圧）に上昇され、トランジスタをパスゲートとして動作させる。前述したように、幾つかのワードラインに対しては低いＶＲＥＡＤを用いることができる。選択されたワードラインＷＬ２は所定の電圧に接続され、その電圧のレベルは、関係する記憶素子のＶＴＨがこのようなレベルを超えているのか、あるいは、下回っているのかを決定するために、読み出し動作及び検証動作ごとに指定される。例えば、２レベルの記憶素子のための読み出し動作では、選択されたワードラインＷＬ２が接地されて、ＶＴＨが０Ｖより高いか否かが検出される。２レベル記憶素子の検証動作では、選択されたワードラインＷＬ２が例えば０．８Ｖに接続されて、ＶＴＨが少なくとも０．８Ｖに到達したか否かが検証される。ソース及びｐ−ウェルは０Ｖにある。偶数ビットライン（ＢＬｅ）であると仮定される選択されたビットラインは、例えば０．７Ｖのレベルに事前に充電（プリチャージ）される。ＶＴＨがワードライン上の読み出しレベル又は検証レベルより高い場合は、対象の記憶素子と関連するビットライン（ＢＬｅ）の電位レベルは、非導電性記憶素子のために高いレベルに維持される。他方、ＶＴＨが読み出しレベル又は検証レベルより低い場合は、導電性記憶素子がビットラインを放電するために、対象のビットライン（ＢＬｅ）の電位レベルは、例えば０．５Ｖ未満等の低いレベルに減少する。これによって、記憶素子の状態が、ビットラインに接続される電圧比較検出アンプによって検出される。
【００８７】
前述される消去動作、読み出し動作、及び、検証動作は、従来の既知の技法に従って実行される。従って、説明されている詳細の多くは、当業者によって変えられることがある。従来既知の他の消去技法、読み出し技法、及び検証技法も使用できる。
【００８８】
図１６は、閾値電圧区分の例示のセットを示す。記憶素子アレイの例示のＶＴＨ区分は、各記憶素子が２ビットのデータを記憶するケースに対して提供されている。第１の閾値電圧区分Ｅは、消去された記憶素子に対して提供される。プログラミングされた記憶素子の３つの閾値電圧区分、Ａ、Ｂ及びＣも示されている。一実施形態では、Ｅ区分の閾値電圧は負であり、Ａ区分、Ｂ区分及びＣ区分の閾値電圧は正である。
【００８９】
それぞれの閾値電圧範囲は、データビットのセットの所定値に対応する。記憶素子にプログラミングされたデータと記憶素子の閾値電圧レベルの特殊な関係は、記憶素子のために採用されるデータ符号化方式に依存する。例えば、両方ともその全体を参照することにより本明細書に組み込まれる、２００４年１２月１６日に公開された米国特許第６，２２２，７６２号及び米国特許出願公報第２００４／０２５５０９０号は、マルチ状態フラッシュメモリ素子の多様なデータ符号化方式を説明する。一実施形態では、フローティングゲートの閾値電圧が誤ってその近傍の物理状態にシフトした場合に１ビットだけが影響を受けるように、データ値がグレーコード割り当てを使用して閾値電圧範囲に割り当てられる。一例は、閾値電圧範囲Ｅ（状態Ｅ）に「１１」を、閾値電圧範囲Ａ（状態Ａ）に「１０」を、閾値電圧範囲Ｂ（状態Ｂ）に「００」を、及び閾値電圧範囲Ｃ（状態Ｃ）に「０１」を割り当てる。しかしながら、他の実施形態では、グレーコードは使用されない。４つの状態が示されているが、本発明は、４つの状態より多い又は少ない構造を含む他のマルチステート構造に使用することもできる。
【００９０】
読み出し参照電圧Ｖｒａ、Ｖｒｂ、及び、Ｖｒｃは、記憶素子からデータを読み出すために提供される。既定の記憶素子の閾値電圧がＶｒａ、Ｖｒｂ及びＶｒｃを上回っているのか、あるいは下回っているのかをテストすることによって、システムは、記憶素子が存在する状態、即ち、プログラム状態を判定することができる。
【００９１】
さらに、３つの検証参照電圧Ｖｖａ、Ｖｖｂ、及び、Ｖｖｃが提供される。記憶素子が付加的な状態を記憶する場合は、付加的な読み出し及び参照値が用いられてよい。記憶素子を状態Ａにプログラミングするとき、システムは、それらの記憶素子がＶｖａ以上の閾値電圧を有するかどうかをテストする。記憶素子を状態Ｂにプログラミングするとき、システムは、記憶素子がＶｖｂ以上の閾値電圧を有するかどうかをテストする。記憶素子を状態Ｃにプログラミングするとき、システムは、記憶素子がＶｖｃ以上の閾値電圧を有するかどうかをテストする。
【００９２】
フルシーケンスプログラミングとして知られている一実施形態においては、記憶素子は、消去状態Ｅからプログラミンされた状態Ａ、Ｂ又はＣの何れかに直接的にプログラミングされる。例えば、まず、プログラミングされる記憶素子の集合中の全ての記憶素子が消去状態Ｅとなるように、集合が消去される場合がある。次に、図２０の制御ゲート電圧シーケンスで示されるような一連のプログラムパルスが、記憶素子を状態Ａ、Ｂ又はＣに直接的にプログラミングするために使用される。いくつかの記憶素子は状態Ｅから状態Ａにプログラムされ、他の記憶素子は状態Ｅから状態Ｂに、及び／又は、状態Ｅから状態Ｃにプログラミングされる。選択ワードラインＷＬｉ上で状態Ｅから状態Ｃにプログラミングするときは、ＷＬｉ下のフローティングゲートでの電荷量の変化が、状態Ｅを状態Ａにあるいは状態Ｅを状態Ｂにプログラミングするときの電圧の変化に比較して極めて大きいため、ＷＬｉ−１下の隣接フローティングゲートへの寄生結合の量は最大限となる。状態Ｅから状態Ｂにプログラミングするときは、隣接フローティングゲートへの結合の量は少なくなるが、依然として大きい。状態Ｅから状態Ａにプログラミングするときは、結合の量はさらに少なくなる。結果的に、後でＷＬｉ−１の各状態を読み出すための必要とされる補正量は、ＷＬｉ上の隣接記憶素子の状態に応じて変化する。
【００９３】
図１７は、２つの異なるページ（下位ページと上位ページ）に対してデータを記憶するマルチステート記憶素子にプログラムする２パス技術の一例を示している。状態Ｅ（１１）、状態Ａ（１０）、状態Ｂ（００）及び状態Ｃ（０１）の４つの状態が示されている。状態Ｅの場合、両方のページが「１」を記憶する。状態Ａの場合、下位ページが「０」を記憶し、上位ページが「１」を記憶する。状態Ｂの場合、両方のページが「０」を記憶する。状態Ｃの場合、下位ページが「１」を記憶し、上位ページが「０」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることも可能であることに注意する。
【００９４】
第１プログラミングパスでは、記憶素子の閾値電圧レベルは下位の論理ページにプログラムされるビットに従って設定される。そのビットが論理「１」であれば、以前に消去された結果として適切な状態にあるので閾値電圧は変更されない。しかし、プログラムされるビットが論理「０」であれば、矢印１１００で示したように、記憶素子の閾値レベルは状態Ａになるように増大される。これによって、第１プログラミングパスを終了する。
【００９５】
第２プログラミングパスでは、記憶素子の閾値電圧レベルは上位論理ページ内にプログラムされるビットに従って設定される。上位論理ページビットが論理「１」を記憶する場合、記憶素子は下位ページビットのプログラミングに依存する状態Ｅ又はＡの一方であり、どちらも上位ページビットは「１」を保持するのでプログラミングは生じない。上位ページビットが論理「０」となる場合、閾値電圧はシフトされる。第１パスによって記憶素子が消去状態Ｅに留まっていれば第２段階で記憶素子をプログラムし、矢印１７２０で示したように閾値電圧が状態Ｃ内になるように増大させる。第１プログラミングパスの結果として記憶素子が状態Ａ内にプログラムされれば、記憶素子はさらに第２パスでプログラムされ、矢印１７１０で示したように閾値電圧が状態Ｂ内になるように増大させる。第２パスの結果は、下位ページ用のデータを変更することなく、上位ページの論理「０」を記憶するように指定した状態に記憶素子をプログラムすることである。図１６および１７の両方において、隣接するワードライン上でフローティングゲートへの結合量は最終状態に依存する。
【００９６】
一実施形態では、全ページを充填するのに十分なデータを書き込まれた場合、システムは全シーケンス書き込みを実行するように設定される。十分ではないデータが全ページに書き込まれた場合、プログラミング処理は受け取ったデータを用いて下位ページプログラミングを実行できる。次のデータを受け取ったときは、システムは上位ページをプログラミングする。さらに別の実施形態では、システムは下位ページをプログラムするモードで書き込みを開始し、ワードラインの記憶素子の全体（又は大部分）を充填するために次の十分なデータを受け取った場合、全シーケンスプログラミングモードに変換する。このような実施形態のさらなる詳細は、米国特許出願公開第２００６／０１２６３９０号、「Pipelined Programming of Non-Volatile Memories Using Early Data」、公開日２００６年６月１２日に開示されている。その全体は参照することによって本明細書に組み込まれる。
【００９７】
図１８ａ〜ｃは、前のページの隣接記憶素子に書き込んだ後で、特定のページに対してその特定の記憶素子を書き込むことによって、その特定の記憶素子に対するフローティングゲート間結合の影響を低減する不揮発性メモリをプログラムする別の方法を開示している。実装形態の一例では、不揮発性記憶素子は、４つのデータ状態を用いて記憶素子毎に２ビットのデータを記憶する。例えば、状態Ｅが消去状態であり、状態Ａ、Ｂ及びＣがプログラムされた状態であると仮定する。状態Ｅはデータ１１を記憶している。状態Ａはデータ０１を記憶している。状態Ｂはデータ１０を記憶している。状態Ｃはデータ００を記憶している。両方のビットは隣接する状態Ａ及びＢの間で変化するので、これは非グレイ符号化の一例である。データの物理的データ状態への他の符号化を用いることもできる。各記憶素子は２ページ分のデータを記憶する。参照のために、これらのページのデータは上位ページ及び下位ページと呼ばれるが、他のラベルを与えることもできる。状態Ａを参照すると、上位ページはビット０を記憶し、下位ページはビット１を記憶している。状態Ｂを参照すると、上位ページはビット１を記憶し、下位ページはビット０を記憶している。状態Ｃを参照すると、両方のページがビットデータ０を記憶している。
【００９８】
プログラミング処理は、２つのステップの処理である。第１ステップでは、下位ページをプログラムする。下位ページがデータ１のままである場合、記憶素子状態は状態Ｅに留まる。データが０にプログラムされる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態Ｂ’にプログラムされる。従って、図１８ａは、状態Ｅから状態Ｂ’への記憶素子のプログラミングを示している。状態Ｂ’は中間状態Ｂであり、従って、検証点はＶｖｂ’として示され、Ｖｖｂより低い。
【００９９】
一実施形態では、状態Ｅから状態Ｂ’に記憶素子をプログラムした後、ＮＡＮＤストリング内の隣接記憶素子（ＷＬｎ＋１）をその下位ページに対してプログラムする。例えば、図２を見直すと、記憶素子１０６用の下位ページをプログラムした後、記憶素子１０４の下位ページをプログラムする。記憶素子１０４をプログラムした後、記憶素子１０４が状態Ｅから状態Ｂ’に上昇した閾値電圧を有していた場合、フローティングゲート間結合の影響は記憶素子１０６の見かけの閾値電圧を上昇させる。これは、図１８ｂの閾値電圧区分１８５０に示したように状態Ｂ’の閾値電圧区分を拡大する影響を有する。閾値電圧区分のこの見かけの拡大は、上位ページをプログラムする際に修正される。
【０１００】
図１８ｃは、上位ページをプログラムする工程を示している。記憶素子が消去状態Ｅであって上位ページが１に留まる場合、記憶素子は状態Ｅに留まる。記憶素子が状態Ｅであり、その上位ページデータが０にプログラムされる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態Ａになる。記憶素子が中間の閾値電圧区分１８５０であって上位ページデータが１に留まる場合、記憶素子は最終状態Ｂにプログラムされる。記憶素子が中間の閾値電圧区分１８５０であって上位ページデータがデータ０になる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態Ｃになる。隣接記憶素子の上位ページプログラミングだけが所定の記憶素子の見かけの閾値電圧に影響を与えるので、図１８ａ〜ｃで示した工程はフローティングゲート間結合影響を低減する。別の状態符号化の一例は、上位ページデータが１であるとき区分１８５０から状態Ｃに移動することであり、上位ページデータが０であるとき状態Ｂに移動することである。
【０１０１】
図１８ａ〜ｃは４つのデータ状態と２つのページデータに対する一例を提供するが、開示された概念は４つの状態より多い、又は少ない状態、及び２つのページとは異なるページを備えた他の実装形態に適用することもできる。
【０１０２】
図１９は、不揮発性メモリをプログラミングする方法の一実施形態を示すフローチャートである。一実装形態では、記憶素子はプログラミングの前に（ブロック単位または他の単位で）消去される。ステップ１９００では、「データロード」コマンドが制御部によって発行され、入力が制御回路１２１０によって受信される。ステップ１９０５では、ページアドレスを指定するアドレスデータが制御部またはホストからデコーダ１２１４に入力される。ステップ１９１０では、アドレス指定されたページのプログラムデータの１ページが、プログラミング用のデータバッファに入力される。そのデータは、ラッチの適切なセットにラッチされる。ステップ１９１５では、「プログラム」コマンドが、制御部によって状態マシン１２１２に発行される。
【０１０３】
「プログラム」コマンドによってトリガされることで、ステップ１９１０でラッチされたデータは、適切な選択ワードラインに印加される図２０のパルス列２０００のステップ状のプログラムパルスを用いてステートマシン１２１２によって制御される選択された記憶素子にプログラミングされる。ステップ１９２０では、プログラム電圧ＶＰＧＭが開始パルス（例えば、１２Vまたは他の値）に初期化され、ステートマシン１２１２によって維持されるプログラムカウンタ（ＰＣ）がゼロに初期化される。ステップ１９２５では、ブーストが現在設定されているブーストモード（例えば、ソース側とドレイン側を同時にブースト、あるいは、ソース側を先にブースト）に基づいて適用される。現在のブーストモードは、例えば、前述したように現在選択されているワードライン位置の関数であり得る。別の方法では、ブーストモードは固定されているか、あるいは、ワードライン位置から独立している。例えば、ソース側を、全ての選択されているワードライン位置について早期にブーストすることができる。ステップ１９３０では、第１のＶＰＧＭパルスが選択されたワードラインに印加され、選択されたワードラインに接続されている記憶素子のプログラミングが開始される。論理「０」が、対応する記憶素子がプログラミングされなければならないことを示す特定のデータラッチに記憶されている場合には、対応するビットラインが接地される。他方、論理「１」が、対応する記憶素子が現在のデータ状態に留まる必要があることを示す特定のラッチに記憶されている場合には、対応するビットラインがＶｄｄに接続され、プログラミングが禁止される。
【０１０４】
ステップ１９３５では、選択された記憶素子の状態が検証される。選択された記憶素子の目標閾値電圧が適切なレベルに到達したことが検出されると、対応するデータラッチに記憶されるデータが論理「１」に変更される。閾値電圧が適切なレベルに到達していないことが検出されると、対応するデータラッチに記憶されるデータは変更されない。このように、対応するデータラッチに論理「１」が記憶されているビットラインは、プログラミングされる必要がない。データラッチの全てが論理「１」を記憶しているとき、ステートマシンは（前述されたワイヤードＯＲ型機構を介して）全ての選択された記憶素子がプログラミングされたことを認識する。ステップ１９４０では、データラッチの全てが論理「１」を記憶しているか否かがチェックされる。データラッチの全てが論理「１」を記憶している場合、全ての選択された記憶素子がプログラミングされて検証されたため、プログラミング処理は完了し、成功となる。ステップ１９４５で「合格」のステータスが報告される。
【０１０５】
ステップ１９４０で、データラッチの全てが論理「１」を記憶しているわけではないと判定されると、プログラミング処理は続行する。ステップ１９５０では、プログラムカウンタＰＣが、プログラム制限値ＰＣｍａｘに対してチェックされる。プログラム制限値の一例は２０である。ただし、他の数も使用できる。プログラムカウンタＰＣがＰＣｍａｘ未満ではない場合、プログラム処理は失敗となり、「失敗」のステータスがステップ１９５５で報告される。プログラムカウンタＰＣがＰＣｍａｘ未満である場合には、ＶＰＧＭがステップサイズだけ増加され、ステップ１９６０でプログラムカウンタＰＣは増分される。次にプロセスはステップ１９３０に戻り、次のＶＰＧＭパルスが印加される。
【０１０６】
図２０は、プログラミング中に不揮発性記憶素子の制御ゲートに印加されるパルス列２０００の例、及び、パルス列中に発生するブーストモードのスイッチを示す。パルス列２０００は一連のプログラムパルス２００５、２０１０、２０１５、２０２０、２０２５、２０３０、２０３５、２０４０、２０４５、２０５０・・・を含んでおり、これらはプログラミング対象として選択されたワードラインに印加される。一実施形態では、プログラミングパルスは、１２Ｖで開始し、最大２０Ｖに達するまで連続するプログラミングパルスごとに、例えば０．５Ｖずつ増加する電圧ＶＰＧＭを有する。プログラムパルス間には検証パルスがある。例えば、検証パルスセット２００６は、３つの検証パルスを含む。いくつかの実施形態では、データが、例えば状態Ａ、Ｂ及びＣにプログラミングされている状態ごとに検証パルスが存在する。他の実施形態では、さらに多くまたはさらに少ない検証パルスが存在する。各セットの検証パルスは、例えば、Ｖｖａ、Ｖｖｂ、及び、Ｖｖｃ（図１７）、又は、Ｖｖｂ’（図１８ａ）の振幅を有し得る。
【０１０７】
上述したように、ブーストモードを実現するためにワードラインに印加される電圧は、例えばプログラムパルス前、及び、プログラムパルス中等のプログラミング発生時に印加される。実際には、ブーストモードのブースト電圧は、各プログラムパルスのすこし前に開始し、各プログラムパルス後に除去できる。他方、例えば、プログラムパルス間で発生する検証プロセス中には、ブースト電圧は印加されない。代わりに、通常はブースト電圧未満である読み出し電圧が未選択のワードラインに印加される。読み出し電圧は、現在プログラミングされている記憶素子の閾値電圧が検証レベルと比較されているときに、ＮＡＮＤストリング内の既にプログラミングされた記憶素子をオンに維持するのに十分な振幅を有する。
【０１０８】
本発明の前記の詳細な説明は図解及び説明のために提示されたものである。本発明は、網羅的となる、あるいは本発明を開示されている正確な形式に制限することを意図していない。前記教示を鑑みて多くの変型及び変更が可能である。説明された実施形態は、本発明及びその実際的な応用を最もよく説明し、それにより当業者が多様な実施形態において、及び意図されている特定の使用に適するように多様な変型を用いて本発明を最もよく活用できるようにするために選択された。本発明の範囲がここに添付される請求項により定められることが意図される。
【図１】
2010525503.tif 000005
【図２】
2010525503.tif 000006
【図３】
2010525503.tif 000007
【図４】
2010525503.tif 000008
【図５】
2010525503.tif 000009
【図６】
2010525503.tif 000010
【図７】
2010525503.tif 000011
【図８】
2010525503.tif 000012
【図９】
2010525503.tif 000013
【図１０ａ】
2010525503.tif 000014
【図１０ｂ】
2010525503.tif 000015
【図１０ｃ】
2010525503.tif 000016
【図１０ｄ】
2010525503.tif 000017
【図１１】
2010525503.tif 000018
【図１２】
2010525503.tif 000019
【図１３】
2010525503.tif 000020
【図１４】
2010525503.tif 000021
【図１５】
2010525503.tif 000022
【図１６】
2010525503.tif 000023
【図１７】
2010525503.tif 000024
【図１８ａ】
2010525503.tif 000025
【図１８ｂ】
2010525503.tif 000026
【図１８ｃ】
2010525503.tif 000027
【図１９】
2010525503.tif 000028
【図２０】
2010525503.tif 000029
【手続補正書】
【提出日】平成21年12月24日(2009.12.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子に対する検出動作の実行に関連して、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを判定するステップと、
前記判定するステップが、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記検出動作を実行する間に前記第２ワードラインに第１電圧を印加するステップと、
前記判定するステップが、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記検出動作を実行する間に前記第２ワードラインに第２電圧を印加するステップと、
を備える不揮発性記憶装置の動作方法。
【請求項２】
前記判定するステップは、
第２ワードラインに電圧を印加するステップと、第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子がオンするか否かを判定するステップと、
を備える請求項１に記載の方法。
【請求項３】
第２電圧は第１電圧よりも低いことを特徴とする請求項２に記載の方法。
【請求項４】
前記判定するステップが、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合、前記検出動作を実行する間に、ワードラインのプログラミング順における第２ワードライン以降の少なくとも１つの付加的ワードラインに前記第２電圧を印加するステップをさらに備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記検出動作を実行する間に、ワードラインのプログラミング順における第１ワードラインに先立つ第３ワードラインに前記第１電圧を印加するステップをさらに備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記検出動作の後に、
（ａ）前記判定するステップがプログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記第２ワードラインに前記第１電圧を印加するステップ、または、
（ｂ）前記判定するステップがプログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記第２ワードラインに前記第２電圧を印加するステップ、
を実行する間に、第３ワードラインに関連付けられた少なくとも１個の不揮発性記憶素子に第２検出動作を実行するステップをさらに備える請求項５に記載の方法。
【請求項７】
前記第２ワードラインは、一組のワードラインの中で予め定められたワードライン位置にあることを特徴とする請求項６に記載の方法。
【請求項８】
前記第２ワードラインは、一組のワードラインの中のワードライン位置であって、前記一組のワードラインの中の第１ワードラインの位置に基づいているワードライン位置にあることを特徴とする請求項１に記載の方法。
【請求項９】
前記判定するステップは、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを示すデータにアクセスするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記判定するステップが、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、
プログラムされた状態にある第３ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを判定するステップと、
プログラムされた状態にある前記第３ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定された場合に、前記検出動作を実行する間に前記第３ワードラインに前記第１電圧を印加するステップと、
プログラムされた状態にある前記第３ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定された場合に、前記検出動作を実行する間に前記第３ワードラインに前記第２電圧を印加するステップと、
を備える請求項１に記載の方法。
【請求項１１】
ワードラインのプログラミング順において、前記第２ワードラインは前記第１ワードラインの後であり、前記第３ワードラインは前記第２ワードラインの後であることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記第３ワードラインは、予め定められたワードラインの数だけ前記第２ワードラインから離れていることを特徴とする請求項１０に記載の方法。
【請求項１３】
前記第３ワードラインは、一組のワードラインの中のワードライン位置であって、前記一組のワードラインの中の第１ワードラインの位置に基づいているワードライン位置にあることを特徴とする請求項１０に記載の方法。
【請求項１４】
前記第１と第３ワードラインは、一組のワードラインの中の予め定められたワードライン位置にあることを特徴とする請求項１０に記載の方法。
【請求項１５】
一組の不揮発性記憶素子と、
前記一組の不揮発性記憶素子と通信する一組のワードラインと、
前記一組のワードラインと前記一組の不揮発性記憶素子と通信する１以上の制御回路と、を有しており、前記１以上の制御回路が、
ａ）第１ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子に対する検出動作の実行に関連して、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを判定し、
ｂ）前記１以上の制御回路が、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記検出動作を実行する間に第２ワードラインに第１電圧を印加し、
ｃ）前記１以上の制御回路が、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記検出動作を実行する間に第２ワードラインに第２電圧を印加する、
ことを特徴とする不揮発性記憶システム。
【請求項１６】
前記１以上の制御回路は、
第２ワードラインに電圧を印加し、
第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子がオンするか否かを判定する、
ことを特徴とする請求項１５に記載の不揮発性記憶システム。
【請求項１７】
第２電圧は第１電圧よりも低いことを特徴とする請求項１６に記載の不揮発性記憶システム。
【請求項１８】
前記１以上の制御回路が、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合、前記検出動作を実行する間に、ワードラインのプログラミング順における第２ワードライン以降の少なくとも１つの付加的ワードラインに前記第２電圧が印加されることを特徴とする請求項１７に記載の不揮発性記憶システム。
【請求項１９】
前記第１電圧が、前記検出動作を実行する間に、ワードラインのプログラミング順における第１ワードラインに先立つ第３ワードラインに印加されることを特徴とする請求項１８に記載の不揮発性記憶システム。
【請求項２０】
前記検出動作の後に、前記１以上の制御回路が、
（ａ）前記１以上の制御回路が、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記第２ワードラインに前記第１電圧を印加するステップ、または、
（ｂ）前記１以上の制御回路が、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記第２ワードラインに前記第２電圧を印加するステップ、
を実行する間に、第３ワードラインに関連付けられた少なくとも１個の不揮発性記憶素子に第２検出動作を実行するステップをさらに備える請求項１９に記載の不揮発性記憶システム。
【請求項２１】
前記第２ワードラインは、一組のワードラインの中で予め定められたワードライン位置にあることを特徴とする請求項２０に記載の不揮発性記憶システム。
【請求項２２】
前記第２ワードラインは、一組のワードラインの中のワードライン位置であって、前記一組のワードラインの中の第１ワードラインの位置に基づいているワードライン位置にあることを特徴とする請求項１５に記載の不揮発性記憶システム。
【請求項２３】
前記１以上の制御回路が、プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを示すデータにアクセスすることを特徴とする請求項１５に記載の不揮発性記憶システム。
【請求項２４】
一組の不揮発性記憶素子と、
前記一組の不揮発性記憶素子と通信する一組のワードラインと、
第１ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子に検出動作を実行する手段と、
プログラムされた状態にある第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在するか否かを判定する手段と、
前記判定する手段が、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在すると判定した場合に、前記検出動作の間に前記第２ワードラインに第１電圧を印加する手段と、
前記判定する手段が、プログラムされた状態にある前記第２ワードラインに関係付けられた少なくとも１個の不揮発性記憶素子が存在しないと判定した場合に、前記検出動作の間に前記第２ワードラインに第２電圧を印加する手段と、
を備える不揮発性記憶システム。
【国際調査報告】
2010525503.tif 000030
2010525503.tif 000031