(57)【特許請求の範囲】
【請求項１】
不揮発性記憶装置を動作させるための方法であって、
複数の電圧（ＶＣＧＲ−Ａ、ＶＣＧＲ−Ｂ、ＶＣＧＲ−Ｃ）を、一つずつ、選択された不揮発性記憶素子（４０８〜４２２）の制御ゲート（１００ＣＧ）に印加すること、
各電圧を印加する間に、前記選択された不揮発性記憶素子に少なくとも一つの電流源（８０４）を結合すること、
前記選択された不揮発性記憶素子を流れる電流（ＩＳＥＮＳＥ）を検出すること、及び、
前記検出された電流を参照電流（ＩＳＥＮＳＥ−Ａ、ＩＳＥＮＳＥ−Ｂ、ＩＳＥＮＳＥ−Ｃ）と比較すること、を備え、
少なくとも二つの電圧において異なる参照電流が採用され、
前記参照電流は、異なるデータ状態の異なる関係（５２０、５２２、５２４）に従って設定され、
前記関係は、温度係数対電流の関係である、方法。
【請求項２】
電圧が高くなると、前記参照電流が高くなる、請求項１に記載の方法。
【請求項３】
電圧毎に異なる参照電流が採用される、請求項１又は２に記載の方法。
【請求項４】
少なくとも二つの電圧において同じ前記参照電流が採用される、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記少なくとも一つの電流源は、電荷保存構成要素（８０４）を備え、
前記「検出すること」は、前記電荷保存構成要素が放電する程度を決定すること、を備える、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記複数の電圧は、読み出し動作又は検証動作で印加される、請求項１から５のいずれか一項に記載の方法。
【請求項７】
少なくとも一つの電圧は、温度で補償される、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記選択された不揮発性記憶素子は、ストリング（８１８）内の他の不揮発性記憶素子に直列接続されており、
前記少なくとも一つの電流源は、前記ストリングのドレイン終端に結合されている、請求項１から７のいずれか一項に記載の方法。
【請求項９】
不揮発性記憶システムであって、
複数の電圧（ＶＣＧＲ−Ａ、ＶＣＧＲ−Ｂ、ＶＣＧＲ−Ｃ）を、一つずつ、選択された不揮発性記憶素子（４０８〜４２２）の制御ゲート（１００ＣＧ）に印加する手段、
各電圧を印加する間に、前記選択された不揮発性記憶素子に少なくとも一つの電流源（８０４）を結合する手段、
前記選択された不揮発性記憶素子を流れる電流（ＩＳＥＮＳＥ）を検出する手段、及び
前記検出された電流を参照電流（ＩＳＥＮＳＥ−Ａ、ＩＳＥＮＳＥ−Ｂ、ＩＳＥＮＳＥ−Ｃ）と比較すること、
を備え、
少なくとも二つの電圧において異なる参照電流が採用され、
前記参照電流は、異なるデータ状態の異なる関係（５２０、５２２、５２４）に従って設定され、
前記関係は、温度係数対電流の関係である、不揮発性記憶システム。
【請求項１０】
少なくとも二つの電圧において同じ前記参照電流が採用される、請求項９に記載の不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリに関する。
【背景技術】
【０００２】
半導体メモリは、様々な電子デバイスで使われることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ、及び他の装置に使用されている。電気的消去・再書込み可能型読取専用メモリ（ＥＥＰＲＯＭ）とフラッシュメモリは、最も普及している不揮発性半導体メモリである。フラッシュメモリに関しては、ある種のＥＥＰＲＯＭもそうであるが、通常のフル装備のＥＥＰＲＯＭとは異なり、全メモリアレイまたは一部分のメモリの内容は、１ステップで消去することができる。
【０００３】
通常のＥＥＰＲＯＭとフラッシュメモリは、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されているフローティングゲートを採用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。フローティングゲートの上に、そのフローティングゲートから絶縁されている制御ゲートが設けられている。形成されているトランジスタの閾値電圧（ＶＴＨ）は、フローティングゲート上に保持されている電荷量によって制御される。即ち、そのソースとドレインの間の導通を可能にすべくトランジスタをオンするために制御ゲートに印加すべき電圧の最小量は、そのフローティングゲート上の電荷量レベルにより制御される。
【０００４】
ある種のＥＥＰＲＯＭとフラッシュメモリデバイスは、２つの電荷量範囲を蓄えるために使われるフローティングゲートを備えており、それゆえ、その記憶素子は、２つの状態、即ち、消去状態とプログラムされた状態、の間でプログラム／消去が行われることができる。そのようなフラッシュメモリデバイスは、各記憶素子が１ビットデータを記憶することができるので、バイナリフラッシュメモリデバイスと呼ばれることがある。
【０００５】
マルチステート（マルチレベルとも呼ばれる）フラッシュメモリデバイスは、複数の区別された許可された／有効なプログラム済閾値電圧範囲を特定することによって実現される。夫々の区別された閾値電圧範囲は、メモリデバイス内で符号化される一組のデータビットに対する予め決められた値に対応する。例えば、各記憶素子は、４個の区別された閾値電圧範囲に対応する４個の区別された電荷バンドの中の一つの状態に置かれることによって、２ビットデータを記憶することができる。
【０００６】
通常、プログラム動作において制御ゲートに印加されるプログラム電圧ＶＰＧＭは、時間の経過に伴って大きさが増大する一連のパルスとして印加される。一つのアプローチとしては、パルスの大きさは、連続するパルスの１つ毎に、例えば０．２−０．４Ｖの既定のステップサイズずつ増加する。ＶＰＧＭは、フラッシュメモリ素子の制御ゲートに印加される。プログラムパルスの間の期間に検証動作が実行される。即ち、並列にプログラムされている素子グループの各素子のプログラムレベルは、連続するパルスの間に読み出され、素子がプログラムされている検証レベルと等しいか或いはそれ以上であるか否かが判定される。マルチステートフラッシュメモリ素子のアレイでは、素子の各状態毎に検証ステップが実行され、データに対応する検証レベルにその素子が達したか否かが判定される。例えば、４つの状態のいずれかにデータを記憶可能なマルチステート記憶素子では、３つの比較点での検証動作が必要とされる。
【０００７】
さらに、ＥＥＰＲＯＭ、或いは、ＮＡＮＤフラッシュメモリデバイスのようなフラッシュメモリデバイスのＮＡＮＤストリングをプログラミングする場合、通常、制御ゲートにＶＰＧＭが印加されるとともにビットラインが接地され、それによって、セル、或いはメモリ素子、即ち記憶素子のチャネルからフローティングゲートへ電子が注入される。フローティングゲートに電子が蓄積されると、フローティングゲートが負値に帯電し、メモリ素子の閾値電圧が上昇し、メモリ素子がプログラムされた状態となる。そのようなプログラミングに関するさらなる情報は、米国特許第６，８５９，３９７号及び米国特許第６，９１７，５４２号に開示されている。両者の文献の内容は、本明細書に組み込まれる。
【０００８】
ＮＡＮＤフラッシュメモリデバイス等の不揮発性記憶装置では、温度変化が、データの読み込み及び書き込み時に問題を呈する。メモリデバイスは、自らが位置する環境に基づいて温度変化にさらされる。例えば、いくつかの現在のメモリデバイスでは、−４０℃から＋８５℃の間で使用するのが定格とされている。工業、軍事、及び消費者向け用途の装置は、大きな温度変化を受けることがある。温度は、多くのトランジスタパラメータに影響するが、その中で支配的なのが閾値電圧である。特に、温度変化によって、読み出しエラーが発生して、不揮発性記憶素子の異なる状態の閾値電圧区分が拡大することがある。温度の変化に起因する精度不良に対処するための改良された技法が必要とされている。
【発明の概要】
【課題を解決するための手段】
【０００９】
本発明は、検証及び読み出し動作中にデータ状態に依存する記憶素子内の電流を誘発することによって、不揮発性記憶における読み出し精度を向上させるための方法を提供することにより、上記及び他の問題に対処する。
【００１０】
一実施形態において、不揮発性記憶を動作させるための方法は、（ａ）複数の電圧を、一つずつ、選択された不揮発性記憶素子の制御ゲートに印加すること、（ｂ）各電圧を印加する間に、選択された不揮発性記憶素子に少なくとも一つの電流源を結合すること、（ｃ）選択された不揮発性記憶素子を流れる電流を検出すること、及び、（ｄ）検出された電流を、少なくとも二つの電圧において異なる参照電流と比較すること、を含む。異なる状態等の異なる電圧に対して、異なる検出電流を使用することができる。
【００１１】
別の実施形態において、不揮発性記憶を動作させるための方法は、（ａ）ＮＡＮＤストリング内の少なくとも一つの選択された不揮発性記憶素子の制御ゲートに、選択されたワードラインを介して、電圧を印加することであって、その電圧が低い状態と高い状態とを切り離すこと、（ｂ）電圧を印加することによって少なくとも一つの選択された不揮発性記憶素子が導電される場合に、選択された不揮発性記憶素子を流れる電流を誘発すること、及び、（ｃ）その電流を、高い状態の参照温度係数に基づく参照電流と比較すること、を含む。同じ参照温度係数であっても、状態が異なれば参照電流が異なる場合がある。
【００１２】
別の実施形態では、検出電流は、状態と温度係数との両方に依存し得る。
【００１３】
別の実施形態において、不揮発性記憶を動作させるための方法は、（ａ）複数の電圧を、一つずつ、選択された不揮発性記憶素子の制御ゲートに印加すること、（ｂ）各電圧を印加する間に、事前充電コンデンサを選択された不揮発性記憶素子に結合することであって、選択された不揮発性記憶素子が導通状態にある場合に、コンデンサは、選択された不揮発性記憶素子に放電すること、（ｃ）電圧毎に異なる放電時間の経過後に、選択された不揮発性記憶素子が導通状態にあるかどうかを、コンデンサの放電量がトリップポイントを下回るか否かに基づいて判断すること、を含む。放電時間は、温度によっても変化し得る。
【００１４】
別の実施形態においては、不揮発性記憶装置は、少なくとも一組の不揮発性記憶素子と、少なくとも一つの制御回路と、を含む。少なくとも一つの制御回路は、複数の電圧を、一つずつ、選択された不揮発性記憶素子の制御ゲートに印加し、各電圧を印加する間に、選択された不揮発性記憶素子に少なくとも一つの電流源結合し、選択された不揮発性記憶素子を流れる電流を検出し、検出された電流を、少なくとも二つの電圧において異なる参照電流と比較する。
【００１５】
本明細書に記載されている方法を実行するための対応する方法、システム、及びコンピュータ（又はプロセッサ）読み出し可能な記憶装置も提供され得る。
【図面の簡単な説明】
【００１６】
【図１ａ】ＮＡＮＤストリングの平面図である。
【図１ｂ】図１ａのＮＡＮＤストリングの等価回路図である。
【図２】ＮＡＮＤフラッシュメモリ素子のアレイのブロック図である。
【図３】ＮＡＮＤストリングの断面図を示す。
【図４】閾値電圧区分を示す。
【図５ａ】異なる状態の温度係数と検出電流の関係を示す。
【図５ｂ】高い状態と低い状態との間の温度係数対検出電流の変化を示す。
【図５ｃ】異なる状態の検出電流対温度の変化を示す。
【図６】読み出し動作中に、選択されたワードラインに印加される制御ゲート読み出し電圧を示す。
【図７】プログラミング中に、選択された不揮発性記憶素子の制御ゲートに印加されるパルストレインの一例を示す。
【図８】ＮＡＮＤストリングと検出用構成要素の構成を示す。
【図９ａ】異なる状態における記憶素子に関する電流とゲート−ソース電圧の関係を示す。
【図９ｂ】異なる状態における検出コンデンサでの電圧の放電を示す。
【図１０ａ】プログラム検証処理を示す。
【図１０ｂ】読み出し処理を示す。
【図１１】ＮＡＮＤフラッシュメモリ素子のアレイのブロック図である。
【図１２】単一行／列のデコーダ及び読み出し／書き込み回路を使用する不揮発性メモリシステムのブロック図である。
【図１３】検出ブロックの一実施形態を示すブロック図である。
【図１４】全ビットラインメモリアーキテクチャのために、又は、奇数−偶数メモリアーキテクチャのために、メモリアレイをブロックに編成する例を示す。
【図１５】閾値電圧区分のセットおよび１パスプログラミングの一例を示す。
【図１６】閾値電圧区分及び２パスプログラミングの一例を示す。
【図１７ａ】様々な閾値電圧区分を示し、不揮発性メモリをプログラムするための処理を説明する。
【図１７ｂ】様々な閾値電圧区分を示し、不揮発性メモリをプログラムするための処理を説明する。
【図１７ｃ】様々な閾値電圧区分を示し、不揮発性メモリをプログラムするための処理を説明する。
【発明を実施するための形態】
【００１７】
本発明は、検証及び読み出し動作中に記憶素子でデータ状態に依存する電流を誘発することにより、不揮発性記憶における読み出し精度を向上させるための方法を提供する。
【００１８】
本発明を実装するのに好適なメモリシステムの一例は、ＮＡＮＤフラッシュメモリ構造を利用するものであり、２つの選択ゲートの間に複数のトランジスタの直列接続を含んでいる。直列に接続されたトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１ａは、１つのＮＡＮＤストリングを示す平面図である。図１ｂは、その等価回路である。図示されているＮＡＮＤストリングは、第１選択ゲート１２０と第２選択ゲート１２２の間に挟まれている、直列に接続されている４つのトランジスタ１００、１０２、１０４及び１０６を有する。選択ゲート１２０は、ＮＡＮＤストリングのビットライン１２６への接続を開閉する。選択ゲート１２２は、ＮＡＮＤストリングのソースライン１２８への接続を開閉する。選択ゲート１２０は、制御ゲート１２０ＣＧに適切な電圧を加えることによって制御される。選択ゲート１２２は、制御ゲート１２２ＣＧに適切な電圧を加えることによって制御される。トランジスタ１００、１０２、１０４、及び１０６の夫々は、制御ゲートとフローティングゲートを有している。トランジスタ１００は、制御ゲート１００ＣＧとフローティングゲート１００ＦＧを備えている。トランジスタ１０２は、制御ゲート１０２ＣＧとフローティングゲート１０２ＦＧを備えている。トランジスタ１０４は、制御ゲート１０４ＣＧとフローティングゲート１０４ＦＧを備えている。トランジスタ１０６は、制御ゲート１０６ＣＧとフローティングゲート１０６ＦＧを備えている。制御ゲート１００ＣＧはワードラインＷＬ３に接続されており（またはワードラインＷＬ３であり）、制御ゲート１０２ＣＧはワードラインＷＬ２に接続されており、制御ゲート１０４ＣＧはワードラインＷＬ１に接続されており、制御ゲート１０６ＣＧはワードラインＷＬ０に接続されている。制御ゲートは、また、ワードラインの一部として提供される。一実施形態では、トランジスタ１００、１０２、１０４、及び、１０６は、夫々が記憶素子であり、メモリセルと呼ばれることがある。他の実施形態では、記憶素子は、複数のトランジスタを含むことがあり、図示されているものとは異なる場合がある。選択ゲート１２０は、選択ラインＳＧＤに接続されている。選択ゲート１２２は、選択ラインＳＧＳに接続されている。
【００１９】
図２は、３個のＮＡＮＤストリングを示す回路図である。ＮＡＮＤ構造を使用するフラッシュメモリシステムの典型的なアーキテクチャは、いくつかのＮＡＮＤストリングを含む。例えば、３個のＮＡＮＤストリング、３２０、３４０及び３６０が、さらに多くのＮＡＮＤストリングを有するメモリアレイ内に示される。各ＮＡＮＤストリングは、２個の選択ゲートと４つの記憶素子を有している。簡単化のために４個の記憶素子が描かれているが、最近のＮＡＮＤストリングは、例えば最高３２個又は６４個の記憶素子を有する場合がある。
【００２０】
例えば、ＮＡＮＤストリング３２０は選択ゲート３２２と３２７、及び、記憶素子３２３〜３２６を有し、ＮＡＮＤストリング３４０は選択ゲート３４２と３４７、及び、記憶素子３４３〜３４６を有し、ＮＡＮＤストリング３６０は選択ゲート３６２と３６７、及び、記憶素子３６３〜３６６を有する。各ＮＡＮＤストリングは、その選択ゲート（例えば、選択ゲート３２７、３４７、又は３６７）によってソースラインに接続されている。選択ラインＳＧＳは、ソース側選択ゲートを制御するために使用される。種々のＮＡＮＤストリング３２０、３４０、及び３６０は、選択ゲート３２２、３４２、３６２等の選択トランジスタによって各ビットライン３２１、３４１、及び、３６１に接続されている。これらの選択トランジスタは、ドレイン選択ラインＳＧＤによって制御される。他の実施形態では、選択ラインは必ずしもＮＡＮＤストリング間で共通とされている必要はない。すなわち、異なるＮＡＮＤストリングには異なる選択ラインを接続できる。ワードラインＷＬ３は、記憶素子３２３、３４３、及び、３６３のための制御ゲートに接続されている。ワードラインＷＬ２は、記憶素子３２４、３４４、及び、３６４のための制御ゲートに接続されている。ワードラインＷＬ１は、記憶素子３２５、３４５、及び、３６５のための制御ゲートに接続されている。ワードラインＷＬ０は、記憶素子３２６、３４６、及び、３６６のための制御ゲートに接続されている。つまり、各ビットラインと各ＮＡＮＤストリングは記憶素子のアレイ又はセットの列を含む。ワードライン（ＷＬ３、ＷＬ２、ＷＬ１及びＷＬ０）は、アレイ又はセットの行を含む。各ワードラインは、行において各記憶素子の制御ゲートを接続している。また、制御ゲートはワードライン自体によって提供されてよい。例えば、ワードラインＷＬ２は、記憶素子３２４、３４４、及び、３６４に制御ゲートを提供する。実際には、１つのワードラインに数千の記憶素子がある場合がある。
【００２１】
各記憶素子はデータを記憶できる。例えば、１ビットのデジタルデータを記憶するときは、記憶素子の可能な閾値電圧（ＶＴＨ）の範囲は、論理データ「１」と「０」を割り当てられる２つの範囲に分割される。ＮＡＮＤタイプのフラッシュメモリの一例では、前記ＶＴＨは、記憶素子が消去された後に負となり、論理「１」として定義される。プログラム動作後の前記ＶＴＨは正であり、論理「０」として定義される。ＶＴＨが負であり、読み出しが試行されると、記憶素子がオンして論理「１」が記憶されていることが示される。前記ＶＴＨが正であり、読み出し動作が試行されると、記憶素子はオンにならず、論理「０」が記憶されていることが示される。また、記憶素子は、例えば複数ビットのデジタルデータ等の複数のレベルの情報も記憶できる。このケースでは、ＶＴＨ値の範囲はデータレベルの数に分割される。例えば、４つのレベルの情報が記憶されている場合には、データ値「１１」、「１０」、「０１」、及び、「００」に割り当てられる４つのＶＴＨ範囲がある。ＮＡＮＤタイプのメモリの一例では、消去動作後の前記ＶＴＨは負となり、「１１」として定義される。正のＶＴＨ値は「１０」、「０１」及び「００」の状態のために使用される。記憶素子に書き込まれるデータと、素子の閾値電圧範囲との特定な関係は、記憶素子のために採用されるデータ符号化方式に依存する。
【００２２】
ＮＡＮＤタイプのフラッシュメモリ及びその動作の関連性のある例は、それぞれが参照することにより本明細書に組み込まれる米国特許番号第５，３８６，４２２号、第５，５７０，３１５号、第５，７７４，３９７号、第６，０４６，９３５号、第６，４５６，５２８号、及び第６，５２２，５８０号に示されている。
【００２３】
フラッシュ記憶素子をプログラミングするときには、プログラム電圧が記憶素子の制御ゲートに印加されるとともに、記憶素子に接続されているビットラインが接地される。チャネルからの電子はフローティングゲートに注入される。電子がフローティングゲートに蓄積すると、フローティングゲートは負に帯電し、記憶素子のＶＴＨが上昇する。プログラミング中の記憶素子の制御ゲートにプログラム電圧を印加するために、そのプログラム電圧は適切なワードライン上に印加される。上述したように、各ＮＡＮＤストリング中の１つの記憶素子が同じワードラインを共有している。例えば、記憶素子３２４をプログラミングするときには、プログラム電圧は記憶素子３４４と３６４の制御ゲートにも印加される。
【００２４】
図３は、ＮＡＮＤストリングの断面図を示す。図は単純化されており、原寸に比例していない。ＮＡＮＤストリング４００は、ソース側選択ゲート４０６、ドレイン側選択ゲート４２４、８つの記憶素子４０８、４１０、４１２、４１４、４１６、４１８、４２０及び４２２を含み、基板４９０上に形成されている。構成要素はｐ−ウェル領域４９２上に形成することができ、ｐ−ウェル領域４９２自体が基板のｎ−ウェル領域４９４上に形成されている。そのため、ｎ−ウェルは、ｐ−基板４９６に形成することができる。供給ライン４０２，４０３は、ｐ−ウェル領域４９２及びｎ−ウェル領域４９４とそれぞれ通じ得る。電位ＶＢＬを有するビットライン４２６に加え、電位ＶＳＯＵＲＣＥを有するソース供給ライン４０４が提供される。ＶＳＧＳが選択ゲート４０６に印加され、ＶＳＧＤが選択ゲート４２４に印加される。ワードライン又は不揮発性記憶素子のソース側が、ソース供給ライン４０４など、ＮＡＮＤストリングのソース終端に面する側を表わすのに対し、ワードライン又は不揮発性記憶素子のドレイン側は、ビットライン４２６など、ＮＡＮＤストリングのドレイン終端に面する側を表わす。
【００２５】
図４は、閾値電圧（ＶＴＨ）区分を示す。一般に、１セットのマルチレベル記憶素子は２Ｎ個の異なる状態にプログラムすることができる。ここでＮ≧２である。例えば、４、８又は１６個の状態を使用することができる。ただし、状態の数が増え、状態間の間隔が狭まるにつれて、プログラムされた各記憶素子のデータ状態を正確に読み戻せることの重要度が増してくる。冒頭で言及したとおり、読み出し精度に影響する一つの要因は温度である。温度は、記憶素子がプログラムされた時期と読み込まれた時期との間で変わり得る。プログラム時よりも低い温度で読み込むと、ＶＴＨが上にシフトする。同様に、プログラム時より高い温度で読み込むと、ＶＴＨが下にシフトする。例えば、区分５００、５０２、５０６及び５１０は、Ｅ（消去済み）、Ａ、Ｂ及びＣの状態をそれぞれ表わす。下方へのＶＴＨのシフトは、Ｅ、Ａ、Ｂ及びＣ状態の閾値区分５０１、５０４、５０８及び５１２によってそれぞれ示される。
【００２６】
状態Ａ、Ｂ及びＣそれぞれの制御ゲート検証電圧ＶＶ−Ａ、ＶＶ−Ｂ及びＶＶ−Ｃは、プログラム検証動作の検証部分の間に使用され、一つ以上の選択された記憶素子が意図された状態にプログラムされたか否かを検証する。同様に、状態Ａ、Ｂ及びＣそれぞれの制御ゲート読み出し電圧ＶＣＧＲ−Ａ、ＶＣＧＲ−Ｂ及びＶＣＧＲ−Ｃは、読み出し動作中に使用され、一つ以上の選択された記憶素子のデータ状態を確認する。閾値電圧は、温度及び他の影響により、読み出しエラーになる程度までシフトすることがある。温度変化に対処するための一つのアプローチとしては、温度に基づいて制御ゲート読み出し電圧を調節することを含む。例えば、ＶＴＨが引き上げられたら、制御ゲート読み出し電圧も相応して引き上げれば良い。ただしこのアプローチは、温度変化を補償することができる一方、記憶素子のレベルでのそのような変動を低減あるいは排除することはない。
【００２７】
図５ａは、異なるデータ状態における温度係数（Ｔｃ）対検出電流（Ｉｓｅｎｓｅ）の関係を示す。Ｔｃは、ＶＴＨ対温度の変化を示す。温度係数（Ｔｃ）は、ドーピングやレイアウトなど、メモリデバイスのさまざまな特徴に依存する。さらに、メモリの寸法が低減されるにつれて、温度係数は増大することが期待される。一般に、メモリデバイスのＴｃは、異なる温度でテストすることによって測定できる。
【００２８】
マルチレベルのＮＡＮＤやＮＯＲなどの不揮発性記憶装置では、温度係数Ｔｃが状態に依存する。例えば、曲線５２０、５２２及び５２４は、それぞれ状態Ａ、Ｂ及びＣの異なる検出電流に対するＴｃの大きさを示しており、Ｔｃの絶対値が示されている。温度が上昇するにつれてＶＴＨが下がるため、Ｔｃ＝ΔＶＴＨ／ΔＴｅｍｐと定義されるＴｃは、通常、負の値を有する。例えば、Ｔｃは、約−１ｍＶ／℃から−４ｍＶ／℃の範囲を有し得る。さらに、記憶素子が小さくなるにつれて、Ｔｃ及びその状態依存度は強まる。本明細書に記載されている温度の影響に対処する一つのアプローチは、検出電流レベルをデータ状態の関数として変えることを含む。
【００２９】
記憶素子のＶＴＨは、検証動作及び読み出し動作等の検出中に使用される検出電流レベルに依存する。検出電流レベルが高いほど、特定のプログラミングされた状態に達するのに必要とされるフローティングゲート電荷は下がる。また、電流レベルが高いと、装置が閾値下の伝導レジームからさらに離れる。検出電流レベルを上げることにより、記憶素子のＴｃがすべての状態で下がる。図５ａは、Ｃ状態のＴｃがＢ状態よりも高く、Ｂ状態のＴｃがＡ状態よりも高いことも示している。記憶素子のＴｃを下げるために、比較的高い検出電流で記憶素子を検出してもよい。例えば、Ｃ状態の記憶素子のＴｃを下げるために、比較的高い検出電流で記憶素子を検出してもよい。Ｅ、Ａ及びＢ記憶素子はロックアウトされていて検出されないため、電力消費に及ぼす影響はわずかであろう。さらに、比較的一定の所定参照ＴｃであるＴＣ−ＲＥＦを実現するために、各状態を検出するときに、異なる検出電流を使用してもよい。具体的には、Ａ、Ｂ又はＣ状態で検出を実行するときに、図示されている参照電流ＩＳＥＮＳＥ−Ａ、ＩＳＥＮＳＥ−Ｂ及びＩＳＥＮＳＥ−Ｃをそれぞれ使用できる。さらに、既定の状態については、検証と読み出しの両方で同じ検出電流を使用することができ、検証と読み出しで異なる検出電流を使用することもできる。
【００３０】
一つのオプションでは、状態毎、即ち、対応する検証又は読み出し電圧毎に、異なる参照電流が提供されている。別のオプションでは、少なくとも２つの状態、即ち、少なくとも２つの対応する検証又は読み出し電圧に対して異なる参照電流が提供される。このケースでは、２つ以上の状態及び対応する検証又は読み出し電圧に対して共通の参照電流を使用しても良い。例えば、Ｂ及びＣ状態に対して同じ参照電流を使用するのは適切であると判断され得る。あるいは、Ｅ、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ及びＧという８つの状態が存在する場合に、Ａ、Ｂ及びＣ状態に対して第１の参照電流を使用し、Ｄ及びＥ状態に対して第２の参照電流を使用し、Ｆ及びＧ状態に対して第３の参照電流を使用することは適切であり得る。特定のメモリ素子をテストすれば、異なる参照電流で実現される性能が示されるであろう。そのようなテストは、読み出しエラーを測定することと、読み出しエラーの最小化と間接経費の最小化との間のトレードオフに基づいて異なる参照電流の数を調節することとを含み得る。
【００３１】
プログラミング中、記憶素子は、記憶素子が非導電状態になるレベルにプログラムパルスのＶＴＨが引き上げられるまで、プログラムパルスを受信し続け、その検出電流は、検証動作中、Ａ、Ｂ及びＣ状態でそれぞれＩＳＥＮＳＥ−Ａ、ＩＳＥＮＳＥ−Ｂ又はＩＳＥＮＳＥ−Ｃを下回る。以下に詳述するように、検出は、事前に充電されたコンデンサを記憶素子に放電することを含み得る。放電量は、所望の参照レベルＩＳＥＮＳＥ−Ａ、ＩＳＥＮＳＥ−Ｂ又はＩＳＥＮＳＥ−Ｃと比較される電流レベルと相関しており、これらの参照レベルは、メモリデバイスと検出構成要素の論理にプログラムされている。さらに、放電時間は、メモリデバイスと検出構成要素の論理によっても調節できるため、特定の電圧放電レベル（トリップポイント）及び対応する電流レベルを、指定された放電時間で実現する必要がある。記憶素子は、検出電流をその状態の指定検出電流レベルを下回る条件を満たしてようやく、既定の状態に完全にプログラムされているとみなされる。
【００３２】
図５ｂは、高い状態と低い状態との間の温度係数対検出電流の変化を示す。例えば、ΔＴｃは、Ｃ状態のＴｃとＡ状態のＴｃとの違いを表し得る。ΔＴｃの大きさは、検出電流が増えるに従って小さくなる。これは、高い検出電流レベルで、低い状態記憶素子ではなく高い状態記憶素子を検出することのもう一つの利点である。即ち、高い状態の検出電流を変更することにより、Ｔｃの状態依存度を減らすことができ、結果的に閾値区分が狭くなる。例えば、Ａ状態とＣ状態との間のＴｃの差を５０％減らすためには、検出電流レベルを５０％上げればよい。特定のメモリ素子について、状態毎の検出電流の最適レベルをテストから判断することができる。
【００３３】
図５ｃは、異なる状態の検出電流対温度の変化を示す。温度の影響を減らすための別のアプローチは、温度の低下に伴ってＩＳＥＮＳＥを下げるなど、検出電流を温度に依存させることである。曲線５４０、５４２及び５４４は、それぞれ状態Ａ、Ｂ及びＣの参照検出電流対温度の変化を示す。このアプローチは、データ状態に基づいた検出電流の変更とは別に、或いは組み合わせて適用できる。即ち、異なるアプローチは、データ状態に合わせてＩＳＥＮＳＥを変更すること、温度に合わせてＩＳＥＮＳＥを変更すること、及びデータ状態と温度に合わせてＩＳＥＮＳＥを変更することを含む。後者のアプローチは、Ｔｃを大きく下げる。
【００３４】
例えば、メモリデバイスが高温ＴＨＩで状態Ｃにプログラムされると仮定する。このケースでは、ＩＳＥＮＳＥ−Ｃ（Ｔ−ＨＩ）が、参照ＴＣと一致する参照検出電流である。即ち、検出処理は、検出された電流がＩＳＥＮＳＥ−Ｃ（Ｔ−ＨＩ）以下になるまで、選択された記憶素子がプログラムされるように構成することができる。以下でさらに述べる温度依存回路を使用して、温度に基づいて印加されるＩＳＥＮＳＥのレベルを状態毎に判断することができる。さらに、コンデンサの放電時間を調節することにより、異なる参照検出電流を流すことができる。例えば状態Ｃの場合、温度がＴＨＩであれば、一つの放電時間はＩＳＥＮＳＥ−Ｃ（Ｔ−ＨＩ）の参照検出電流を流すことに対応し、温度がＴＬＯであれば、長い放電時間がＩＳＥＮＳＥ−Ｃ（Ｔ−ＬＯ）の低い参照検出電流を流すことに対応するであろう。中間の放電時間は、中間の温度に対応し得る。
【００３５】
プログラミング後、メモリデバイスが読み戻されると、現在判断された温度に基づいて適切な参照検出電流を流すことができる。例えば、記憶素子が高温でプログラムされ、その時よりも低い温度で読み込まれると、ＶＴＨが高くなるようにシフトしていることであろう。このシフトは、より低い検出電流でメモリを検出することによって補償することができる。このように、温度の低下に合わせてＩＳＥＮＳＥを減らすことにより、すべての状態でＴｃを下げることができる。さらに、任意の所与の温度で、高いメモリ状態は高いＩＳＥＮＳＥで検出されるであろう。また、データ状態の処理方法が変わり、例えば状態Ａと状態Ｂのような低から中の状態では、データ状態によってＩＳＥＮＳＥを変化させ、状態Ｃのような高い状態の状態では、データ状態と温度とによってＩＳＥＮＳＥを変化させることもあり得る。通常、プログラム検証及び読み出しの両方の動作中には、同じ参照検出電流を流すことができる。
【００３６】
一般に、すべての状態で共通であるＴｃ（ＴＣ−ＲＥＦ）を選択することができ、図５ａの曲線を使用して、状態毎の対応ＩＳＥＮＳＥを見つけることができる。その後メモリデバイスは、以下に詳述するように、選択されたＩＳＥＮＳＥのレベルを検出時に使用するように構成することができる。
【００３７】
本明細書に記載されたアプローチについては、読み出し時に温度依存のワードライン電圧を使用する必要がない。さらに、その他いくつかのアプローチのように参照セルを使用する必要もない。Ｔｃを完全に排除することはできないものの、すべての状態で共通のＴｃを提供することにより、状態ベースのＴｃの必要性が避けられ、設計が単純化され、結果的にＶＴＨ区分が狭まる。別のオプションは、温度に基づいてワードライン電圧を調節することによってさらに補償することである。例えば、高い温度に対して（Ｖｔｈが低いために）低いワードライン電圧を使用でき、低い温度に対して高いワードライン電圧を使用できる。
【００３８】
図６は、読み出し動作中に、選択されたワードラインに印加される制御ゲート読み出し電圧を示す。読み出し動作中に状態Ａ、Ｂ及びＣに対する連続振幅ＶＣＧＲ−Ａ、ＶＣＧＲ−ＢとＶＣＧＲ−Ｃを有する制御ゲート電圧波形が、期間ｔ０−ｔ１、ｔ１−ｔ２及びｔ２−ｔ３のそれぞれにおいて、読み込まれている一つ以上の選択された記憶素子のワードラインに印加される。ＶＣＧＲ−Ａ、ＶＣＧＲ−Ｂ及びＶＣＧＲ−Ｃは、図４でも示されている。この実施例は、４つのデータ状態が利用可能なケースに適用される。一般に、２Ｎ個のデータ状態が潜在的に存在するのであれば、制御ゲート電圧波形は２Ｎ−１個の振幅を有するであろう。
【００３９】
図７は、プログラミング中に、選択された不揮発性記憶素子の制御ゲートに印加されるパルストレインの一例を示す。パルストレイン７４０は、記憶素子をプログラムし、検証する目的で使用される。パルストレイン７４０は、記憶素子を検証するためのプログラムパルスの各ペア間に、いくつかのプログラムパルス７０２、７０４、７０６、７０８、７１０・・・と、１セットの検証パルスとを含む（その一例が検証パルスセット７４２である）。一実施形態において、プログラムパルスは、１２Ｖから始まり、連続プログラミングパルス毎に、例えば０．５Ｖずつ、例えば最大２０〜２５Ｖに達するまで定量的に増加する電圧ＶＰＧＭを有する。いくつかの実施形態では、データが例えば状態Ａ、Ｂ及びＣにプログラムされている状態毎に検証パルスが存在し得る。他の実施形態においては、検証パルスが多い場合と少ない場合がある。例えば、各セットにおける検証パルスは、ＶＶ−Ａ、ＶＶ−Ｂ及びＶＶ−Ｃの振幅を有し得る（図４にも明示）。
【００４０】
図８は、ＮＡＮＤストリングと検出用構成要素の構成を示す。簡略実施例においては、ＮＡＮＤストリング８１８は、ワードラインＷＬ０、ＷＬ１、ＷＬ２及びＷＬ３とそれぞれ通じている４つの記憶素子を含む。実際には、他にも記憶素子及びワードラインを使用して良い。さらに、それ以外のＮＡＮＤストリングは、通常は不揮発性記憶素子のブロック又は他のセット内に互いに隣接して配置される。記憶素子は、基板のｐ−ウェル領域に結合されている。ビットライン８１６は、ＮＡＮＤストリングのドレイン側及び検出モジュール８００に通じる。ビットライン検出トランジスタ８１０は、ビットライン８１６に結合されている。これは、検出動作中にコントロール８１４に応答して導電され、検出モジュールがＮＡＮＤストリングと通じるようにする高電圧トランジスタである。
【００４１】
ビットライン電圧クランプトランジスタ８０８は、コントロール８１４に応答して開かれ、ビットラインが検出アンプ（ａｍｐ）８０２と通じるようにする低電圧トランジスタである。読み出し動作や検証動作などの検出動作中に、検出アンプ８０２内のキャパシタ（電荷保存構成要素）８０４が充電される事前充電動作が行われる。トランジスタ８０８は、事前充電を許可するために開かれ得る。
【００４２】
例えば、選択されたワードラインがＷＬ１であると仮定する。検出動作中に、ＷＬ１の電圧は、ＷＬ１に存在する記憶素子の制御ゲートに結合される。例えば、検証動作中に、各プログラムパルスの後、検証電圧ＶＶ−Ａ、ＶＶ−Ｂ及びＶＶ−ＣのシーケンスがＷＬ１に提供される。読み出し動作中に、読み出し電圧ＶＣＧＲ−Ａ、ＶＣＧＲ−Ｂ及びＶＣＧＲ−ＣのシーケンスがＷＬ１に提供される。さらに、電圧ＶＳＯＵＲＣＥが、通常０Ｖで、ＮＡＮＤストリング８１８のソース側に印加される。
【００４３】
また、検出動作中にも、トランジスタ８１０が、ワードライン電圧が印加されたときにＮＡＮＤストリング８１８のドレイン側で導電されるなど、オンに切り替わる。加えて、トランジスタ８０８に電圧が印加され、導電される。選択された記憶素子が導電状態にあると、事前に充電されたキャパシタ８０４は、記憶素子及びＮＡＮＤストリングを通じてビットライン経由でソースに放電され、その結果、ソースは、電流シンクとして機能する。電流「Ｉ」が明示のように流れる。
【００４４】
記憶素子に対する検出が完了すると、プルダウン回路８１２がビットラインをアース、Ｖｓｏｕｒｃｅ又は他のレベルにするため、他のＮＡＮＤストリングで他の記憶素子に対する検出が継続しても、記憶素子がロックアウトされてこれ以上検出できなくなる。
【００４５】
コントロール８１４は、図５ｃで述べられているような、ＩＳＥＮＳＥが温度に依存している実施形態で使用されている温度依存回路８１５も含み得る。温度補償信号を提供するためのさまざまな技法が一般に知られている。これらの技法の一つ以上を、例えば、温度依存回路８１５で使用できる。このアプローチも可能だが、これらの技法の大半は、実際の温度測定値を取得することに依存しない。例えば、参照により本明細書に組み込まれる「Ｖｏｌｔａｇｅ  Ｇｅｎｅｒａｔｉｏｎ  Ｃｉｒｃｕｉｔｒｙ  Ｈａｖｉｎｇ  Ｔｅｍｐｅｒａｔｕｒｅ  Ｃｏｍｐｅｎｓａｔｉｏｎ（温度補償を有する電圧生成回路）」と題する米国特許第６，８０１，４５４号は、温度係数に基づいて不揮発性メモリに読み出し電圧を出力する電圧生成回路について記載している。この回路は、温度に依存しない部分と、温度が上昇するのに伴って増大する温度依存部分とを含むバンドギャップ電流を使用する。参照により本明細書に組み込まれる「Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｗｉｔｈ  Ｔｅｍｐｅｒａｔｕｒｅ−Ｃｏｍｐｅｎｓａｔｅｄ  Ｄａｔａ  Ｒｅａｄ（温度補償データが読み込まれた不揮発性メモリ）」と題する米国特許第６，５６０，１５２号は、データ記憶素子のソース又はドレインに印加される電圧を付勢するバイアス生成回路を使用する。これらの技法のうち任意のもの、及びその他任意の公知の技法が、本願明細書に記載されている温度補償された検出電流を提供する目的で使用できる。
【００４６】
図９ａは、異なる状態における記憶素子に関する電流とゲート−ソース電圧の関係を示す。ｘ軸は、検出中の記憶素子のゲート−ソース電圧を示す。例えば、ＶＧＳ−Ａ、ＶＧＳ−Ｂ及びＶＧＳ−Ｃのゲート−ソース電圧が示されている。検証動作中にＶｓｏｕｒｃｅ＝０Ｖであれば、ＶＧＳ−Ａ、ＶＧＳ−Ｂ及びＶＧＳ−Ｃは、それぞれＶＶ−Ａ、ＶＶ−Ｂ及びＶＶ−Ｃと同じである。読み出し動作中にＶｓｏｕｒｃｅ＝０Ｖであれば、ＶＧＳ−Ａ、ＶＧＳ−Ｂ及びＶＧＳ−Ｃは、それぞれＶＣＧＲ−Ａ、ＶＣＧＲ−Ｂ及びＶＣＧＲ−Ｃと同じである。ｙ軸は、記憶素子とＮＡＮＤストリングとを通過している電流であるドレイン電流ＩＤを示す。これは検出中に発生する電流であることから、検出電流とも呼ばれる。参照検出電流レベルＩＳＥＮＳＥ−Ａ、ＩＳＥＮＳＥ−Ｂ又はＩＳＥＮＳＥ−Ｃも示されている。既述のとおり、検出処理は、電流の流れが既定の状態の参照検出電流を下回るまで、記憶素子がその状態にプログラムされているとプログラム検証中にみなされないように構成することができる。対照的に、読み出し動作中には、電流の流れが参照検出電流を超えると記憶素子がロックアウトされ、これ以上検出されない。
【００４７】
曲線９００、９０２及び９０４は、Ａ、Ｂ及びＣ状態における記憶素子の電流対電圧の関係をそれぞれ表わす。一般的に言うと、電流は、ＶＧＳが記憶素子の閾値電圧を超え始めると、記憶素子のドレインからソースに流れ始める。異なる状態では閾値電圧が変わるため、このＶＧＳのレベルは異なる状態に応じて変わる。ＶＧＳの値が小さいと弱い電流が発生し、ＶＧＳの値が上がるにつれて電流が増加し、その時点で、記憶素子が導電状態であるとみなされる。即ち、記憶素子は、一般的に言うと、曲線が曲がり角（ｋｎｅｅ）で急激に上向いた動作時点に達したときに、導電状態になったとみなされる。ＶＧＳに基づき、対応する検出電流が流れる。例えば、動作時点９０１、９０３及び９０５は、徐々に高くなる検出電流が、図５ａのＩＳＥＮＳＥ−Ａ、ＩＳＥＮＳＥ−Ｂ及びＩＳＥＮＳＥ−Ｃとなる時点で特定され得る。検出された電流は、記憶素子が完全にプログラムされるために、これらのレベルを下回る必要がある。
【００４８】
例えば、Ｃ状態へのプログラミング中、検証動作中に流れる電流は、ＶＶ−Ａ（＝ＶＧＳ）＞ＶＴＨが大きいため、最初は大きい（ＶＶ−Ａは一定なので、ＶＳＯＵＲＣＥは０Ｖであり、ＶＴＨは最初は小さい）。印加されるプログラムパルスが増えるにつれてＶＴＨが大きくなり、ＶＧＳ−ＶＴＨが小さく、電流も少なくなる。最終的には、電流が参照レベルを下回り、その時点で記憶素子が完全にプログラムされる。
【００４９】
図９ｂは、異なる状態における検出コンデンサでの電圧の放電を示す。検出動作中に、キャパシタ８０４（図８）の電圧は、ｔ０からｔ１までの間の事前充電段階で、最初の電圧ＶＣ＝ＶＩＮＩＴＩＡＬまで事前に充電される。この事前充電により、ビットライン電圧も検出に適切な所定のレベルに達する。指定された時期ｔ１で、制御ゲート電圧が選択されたワードラインに印加された状態で放電が開始され、コンデンサがＮＡＮＤストリングを介して選択された記憶素子に放電し、選択された記憶素子が導電状態にあればソースにシンクする。さらに、放電の速度は、Ａ、Ｂ及びＣ状態のそれぞれのライン９１２、９１４と９１６によって示される状態に応じて変化し得る。選択された記憶素子が導電状態にない場合には、ライン９１０によって示されるように、コンデンサは大きく放電しない。統合時間又は放電時間とも呼ばれる検出時間をデータ状態に基づいて設定することにより、対応する検出電流が誘発される。特に、ｔＡ＝ｔ４−ｔ１、ｔＢ＝ｔ３−ｔ１又はｔＣ＝ｔ２−ｔ１という検出時間を、Ａ、Ｂ又はＣ状態に対してそれぞれ使用できる。（低い検出電流に対応する）長い放電期間を低い温度と併用し、（高い検出電流に対応する）短い放電期間を高い温度と併用できるように、検出時間を温度に基づいて調節することもできる。
【００５０】
さらに、適切な検出時期で状態毎に同じ電圧トリップポイントＶＴＲＩＰを使用できる。ＶＴＲＩＰは、ＶＣが検出時にＶＴＲＩＰを下回る場合に選択された記憶素子が導電状態にあるとみなされ、ＶＣが検出時にＶＴＲＩＰを下回らない場合に選択された記憶素子が非導電状態にあるとみなされるようなレベルを示す。さらに、検出電流は、ＩＳＥＮＳＥ＝（ΔＶ／ｔ）×Ｃによって静電容量の放電と関連する。式中のＣは、キャパシタ８０４の静電容量である。このように、Ａ、Ｂ又はＣ状態では、それぞれＩＳＥＮＳＥ−Ａ＝（ΔＶ／ｔＡ）×Ｃ、ＩＳＥＮＳＥ−Ｂ＝（ΔＶ／ｔＢ）×Ｃ及びＩＳＥＮＳＥ−Ｃ＝（ΔＶ／ｔＣ）×Ｃである。換言すれば、プログラミング中、記憶素子は、ゲート−ソース電圧が十分に低いレベルまでプログラムパルスのＶＴＨが引き上げられるまでプログラムパルスを受信し続け、その検出電流は、検証動作中にＡ、Ｂ及びＣ状態についてそれぞれＩＳＥＮＳＥ−Ａ、ＩＳＥＮＳＥ−Ｂ又はＩＳＥＮＳＥ−Ｃを下回る。そのため、検出アンプのコンデンサは、選択された記憶素子が導電状態にあれば特定の電流を提供する電流源であるとみなされ得る。ＶＣはｔ５で放電される。
【００５１】
このように、検出電流レベルの上昇は、任意のメモリ状態の検出動作中に統合時間を減らすことによって実現できる。同じトリップポイントであれば、統合時間の減少は、検出電流レベルの対応する上昇を示唆する。この特徴は、統合時間の変更を許可している既存のメモリ設計で容易に実装できる。このアプローチにより、高い状態でのＴｃの変更を大きくし、低い状態での変更を小さくすることが可能となり、すべての状態で単一のＴｃに収束するのが理想的である。例えば、所与のメモリデバイスがＶＩＮＩＴＩＡＬとＶＴＲＩＰとの違いに基づいて静電容量Ｃ及びΔＶで以て構成されると仮定する。例えば、図５ａなどに基づく選択された所定のＩＳＥＮＳＥ−Ａを有するＡ状態の場合、適切な検出時間ｔＡは、ｔＡ＝ΔＶ／（ＩＳＥＮＳＥ−Ａ×Ｃ）によって判断することができる。同様に、Ｂ及びＣ状態の検出時間は、それぞれｔＢ＝ΔＶ／（ＩＳＥＮＳＥ−Ｂ×Ｃ）及びｔＣ＝ΔＶ／（ＩＳＥＮＳＥ−Ｃ×Ｃ）である。ΔＶ、Ｃ及び検出電流は、検出時間の判断元となる既知の設計パラメータである。既述のとおり、図５ｃによれば、検出時間は温度によっても変化し、異なる温度で異なるＩｓｅｎｓｅを提供し得る。
【００５２】
データ状態に基づいた選択された記憶素子で検出電流を誘発するさまざまなアプローチが使用され得る。例えば、異なる検出電流出力を提供するように調節可能な一つの電流源回路が使用されることもあれば、いくつかの異なる電流源回路が、検出電流出力毎に一つずつ使用されることもある。
【００５３】
検出に関するさらなる詳細が、米国特許第７，３７６，０３０号に記載されており、参照により本明細書に組み込まれるものとする。
【００５４】
図１０ａは、プログラム（書き込み）・検証処理を示す。ステップ１０００でプログラム動作（書き込み動作）が開始される。ステップ１００２で、プログラムパルスが選択されたワードラインに印加される。ステップ１００４で、検証動作が開始される。ステップ１００６は、制御ゲート検証電圧ＶＶ−Ａを選択されたワードラインに印加することを含み、ステップ１００８は、電流を検出し、それをＩＳＥＮＳＥ−Ａと比較して、選択された記憶素子が導電状態にあるか否か判断することを含む。次に、ステップ１０１０は、制御ゲート検証電圧ＶＶ−Ｂを選択されたワードラインに印加することを含み、ステップ１０１２は、電流を検出し、それをＩＳＥＮＳＥ−Ｂと比較して、選択された記憶素子が導電状態にあるか否か判断することを含む。次に、ステップ１０１４は、制御ゲート検証電圧ＶＶ−Ｃを選択されたワードラインに印加することを含み、ステップ１０１６は、電流を検出し、それをＩＳＥＮＳＥ−Ｃと比較して、選択された記憶素子が導電状態にあるか否か判断することを含む。判定ステップ１０１８で次のプログラムパルスが存在する場合には、処理がステップ１００２で続く。それ以外の場合には、プログラム動作がステップ１０１９で終了する。データ状態が４つよりも多い場合には、このプロセスが相応して延長され得る。
【００５５】
図１０ｂは、読み出し処理を示す。ステップ１０２０で読み出し動作が開始される。ステップ１０２２で、制御ゲート読み出し電圧ＶＣＧＲ−Ａが選択されたワードラインに印加され、ステップ１０２４は、電流を検出し、それをＩＳＥＮＳＥ−Ａと比較して選択された記憶素子が導電状態にあるか否か判断することを含む。ステップ１０２６で、制御ゲート読み出し電圧ＶＣＧＲ−Ｂが選択されたワードラインに印加され、ステップ１０２８は、電流を検出し、それをＩＳＥＮＳＥ−Ｂと比較して選択された記憶素子が導電状態にあるか否か判断することを含む。ステップ１０３０で、制御ゲート読み出し電圧ＶＣＧＲ−Ｃが選択されたワードラインに印加され、ステップ１０３２は、電流を検出し、それをＩＳＥＮＳＥ−Ｃと比較して選択された記憶素子が導電状態にあるか否か判断することを含む。この読み出し動作はステップ１０３４で終了する。
【００５６】
制御ゲート電圧が低から高に印加されると仮定した場合、所定の記憶素子について、データ状態は、記憶素子を導電させる第１の制御ゲート電圧に基づいて判断される。例えばＶＣＧＲ−Ａが、記憶素子を導電させる第１の電圧である場合、記憶素子はＥ状態にある。ＶＣＧＲ−Ｂが、記憶素子を導電させる第１の電圧である場合、記憶素子はＡ状態にある。ＶＣＧＲ−Ｃが、記憶素子を導電させる第１の電圧である場合、記憶素子はＢ状態にある。制御ゲート電圧のいずれも記憶素子を導電しない場合、記憶素子はＣ状態にある。特定の状態にあると判断される所定の記憶素子はロックアウトされ、さらなる読み出しができない。本実施例では、既定の状態について、検証動作及び読み出し動作に対して同じ検出電流が使用されている。
【００５７】
図１１は、図１および２に示したようなＮＡＮＤ記憶素子のアレイ１１００の一例を示している。各列に沿って、ビットライン１１０６はＮＡＮＤストリング１１５０のドレイン選択ゲートのドレイン端子１１２６に接続している。ＮＡＮＤストリングの各行に沿って、ソースライン１１０４はＮＡＮＤストリングのソース選択ゲートのすべてのソース端子１１２８に接続できる。
【００５８】
この記憶素子のアレイは、多数の記憶素子のブロックに分割される。フラッシュＥＥＰＲＯＭシステムで一般的であるように、このブロックは消去の単位である。即ち、各ブロックは、一緒に消去される最小数の記憶素子を格納している。各ブロックは、通常、いくつかのページに分割される。ページは、プログラミングの最小単位である。通常、１ページ分以上のデータが１行の記憶素子に記憶される。例えば、１行は、通常、インターリーブされた複数のページを格納しており、１行が１ページを構成することもある。ページのすべての記憶素子が一緒に読み出されるか、一緒にプログラムされる。さらに、ページは、一つ以上のセクタからのユーザデータを記憶することができる。セクタは、ユーザデータの便利な単位としてホストによって使用される論理的概念であり、通常オーバヘッドデータを含まない。オーバヘッドデータはコントローラに限定される。オーバヘッドデータは、セクタのユーザデータから計算された誤り訂正コード（ＥＣＣ）を含み得る。一部のコントローラ（後述）は、データがアレイにプログラムされているときにＥＣＣを計算し、データがアレイから読み出されていときにその点検も行う。或いは、ＥＣＣ及び／又は他のオーバヘッドデータは、自身が関係しているユーザデータとは異なるページに記憶され、異なるブロックにも記憶される。
【００５９】
ユーザデータのセクタは一般に５１２バイトであり、磁気ディスクドライブ内のセクタのサイズに対応する。オーバヘッドデータは一般に、追加の１６〜２０バイトである。多数のページがブロックを構成し、それは８ページから、例えば最大３２、６４，１２８またはそれ以上のページのいずれであってもよい。いくつかの実施形態では、ＮＡＮＤストリングの列はブロックを含む。
【００６０】
一実施形態では、メモリ記憶素子は、十分な期間に亘ってｐ−ウェルが消去電圧（例えば１４−２２Ｖ）に上昇され、ソースラインとビットラインがフローティングしている間に、選択されたブロックのワードラインを接地させることによって消去される。容量結合のために、未選択ワードライン、ビットライン、選択ライン、及び、ｃ−ソースも消去電圧のかなりの部分まで引き上げられる。従って、強力な電界が選択された記憶素子のトンネル酸化物層に印加され、ファウラ−ノルドハイムトンネルメカニズムによってフローティングゲートの電子が基板側に放出されるにつれて選択された記憶素子のデータが消去される。電子がフローティングゲートからｐ−ウェル領域に移されるのにしたがって、選択された記憶素子の閾値電圧は引き下げられる。消去はメモリアレイ全体、別々のブロック、又は、他の記憶素子の単位で実行できる。
【００６１】
図１２は、単一の行／列デコーダ及び読み出し／書き込み回路を使用する不揮発性メモリシステムのブロック図である。図は、本発明の一実施形態に従って記憶素子のページを同時に読み取り、プログラミングするための読み出し／書き込み回路を有するメモリ素子１２９６を示す。メモリ装置１２９６は、１つ以上のメモリダイ１２９８を有する。メモリダイ１２９８は、２次元のアレイの記憶素子１１００、制御回路１２１０、及び、読み出し／書き込み回路１２６５を有する。いくつかの実施形態では、記憶素子のアレイは３次元であり得る。メモリアレイ１１００は、行デコーダ１２３０を介してワードラインによって、及び、列デコーダ１２６０を介してビットラインによってアドレスできる。読み出し／書き込み回路１２６５は、複数の検出ブロック１２００を有しており、１ページの記憶素子を並列に読み出し又はプログラミングすることができる。一般に、制御部１２５０は、１つ以上のメモリダイ１２９８のように同じメモリ装置１２９６（例えば、取り外し可能なストレージカード）内に含まれる。コマンド及びデータは、ライン１２２０を介してホストと制御部１２５０の間、及び、ライン１２１８を介して制御部と１つ以上のメモリダイ１２９８の間で送られる。
【００６２】
制御回路１２１０は、読み出し／書き込み回路１２６５と協働して、メモリアレイ１１００でメモリ動作を実行する。制御回路１２１０は、ステートマシン１２１２、オンチップアドレスデコーダ１２１４、温度補償コントロール１２１５、及び、電力コントロールモジュール１２１６を含む。ステートマシン１２１２は、チップレベルでメモリ動作を制御し、ＥＣＣ復号エンジンを含み得る。オンチップアドレスデコーダ１２１４は、デコーダ１２３０及び１２６０によって使用されるハードウェアアドレスに、ホスト又はメモリコントローラによって使用されるインタフェース間のアドレスインタフェースを提供する。温度補償コントロール１２１５は、本明細書に述べられている温度依存検出電流を提供できる（図５ｃなどを参照）。電力コントロールモジュール１２１６は、メモリ動作中にワードライン及びビットラインに供給される電力と電圧を制御する。
【００６３】
いくつかの実装形態では、図１２の構成要素のいくつかを結合することができる。多様な設計では、記憶素子アレイ１１００以外の構成要素の１つまたは複数を（単独でまたは組み合わせて）１つの管理回路と見なすことができる。例えば、一つ以上の管理回路は、制御回路１２１０、ステートマシン１２１２、デコーダ１２１４／１２６０、電力制御１２１６、検出ブロック１２００、読み出し／書き込み回路１２６５、制御部１２５０等の内の１つ、または組み合わせを有してよい。
【００６４】
別のアプローチでは、様々な周辺回路によるメモリアレイ１１００へのアクセスがアレイの反対側で対称的に行われるため、各側のアクセスライン及び回路の密度が半分減少する。そのため、行デコーダは２つの行デコーダに分割され、列デコーダは２つの列デコーダに分割される。同様に、読み出し／書き込み回路も、アレイ１１００の最下部からビットラインに接続している読み出し／書き込み回路と、アレイ１１００の最上部からビットラインに接続している読み出し／書き込み回路とに分割される。このように、読み出し／書き込みモジュールの密度が本質的に半分減少する。
【００６５】
図１３は、検出ブロックの一実施形態を示すブロック図である。個々の検出ブロック１２００は、検出モジュール１２８０と呼ばれるコア部と、共通部１２９０と、に区分けされる。一実施形態では、ビットライン毎に別個の検出モジュール１２８０が設けられ、複数の検出モジュール１２８０用の１つの共通部１２９０が設けられる。一実施例では、検出ブロックは、１つの共通部１２９０と、８つの検出モジュール１２８０と、を含む。グループ内の検出モジュールの各々は、データバス１２７２を介して、関連する共通部と通じる。さらなる詳細については、２００６年６月２９日に公開された「Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  ａｎｄ  Ｍｅｔｈｏｄ  ｗｉｔｈ  Ｓｈａｒｅｄ  Ｐｒｏｃｅｓｓｉｎｇ  ｆｏｒ  ａｎ  Ａｇｇｒｅｇａｔｅ  ｏｆ  Ｓｅｎｓｅ  Ａｍｐｌｉｆｉｅｒｓ（不揮発性メモリと、検出アンプの集合を対象とする共用処理の方法）」と題する米国特許公開番号第２００６／０１４０００７号を参照されたい。同特許は、参照によりその全体が本明細書に組み込まれる。
【００６６】
検出モジュール１２８０は、検出回路１２７０を有しており、検出回路１２７０は、接続されたビットライン内の伝導電流が所定の閾値レベルより高いか低いかを判定する。検出モジュール１２８０は、さらにビットラインラッチ１２８２を有しており、ビットラインラッチ１２８２は、接続されたビットライン上の電圧条件を設定するために用いられる。例えば、ビットラインラッチ１２８２内にラッチされる所定の状態によって、接続されたビットラインは、プログラムの禁止を指定する状態（例えば、１．５−３Ｖ）に設定する。
【００６７】
共通部１２９０は、プロセッサ１２９２と、１セットのデータラッチ１２９４と、１セットのデータラッチ１２９４及びデータバス１２２０の間を接続するＩ／Ｏインタフェース１２９６と、を有する。プロセッサ１２９２は、計算を実行する。例えば、その機能の１つは、検出された記憶素子内に記憶されているデータを判定し、判定したデータを１セットのデータラッチ内に記憶することである。１セットのデータラッチ１２９４は、読み出し動作中に、プロセッサ１２９２によって判定されたデータビットを記憶するために用いられる。それは、プログラム動作中に、データバス１２２０から取り込まれたデータビットを記憶するためにも用いられる。取り込まれたデータビットは、メモリ内にプログラムされる予定の書き込みデータを表わす。Ｉ／Ｏインタフェース１２９６は、データラッチ１２９４とデータバス１２２０の間のインタフェースを提供する。
【００６８】
読み出し又は検出中において、システムの動作は、ステートマシン１２１２の制御下にあり、ステートマシン１２１２は、アドレスされた記憶素子への異なる制御ゲート電圧の供給を制御する。メモリによってサポートされた様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む際に、検出モジュール１２８０は、これらの電圧の１つに移動し、バス１２７２を介して検出モジュール１２８０からプロセッサ１２９２に出力が提供される。その時点で、プロセッサ１２９２は、検出モジュールの移動イベントと、ステートマシンから入力ライン１２９３を介して印加された制御ゲート電圧についての情報を考慮することによって得られたメモリ状態を決定する。それから、メモリ状態に対するバイナリ符号化を計算し、得られたデータビットをデータラッチ１２９４に記憶する。コア部の別の実施形態では、ビットラインラッチ１２８２は、検出モジュール１２８０の出力をラッチするラッチ、及び、上記のようなビットラインラッチの両方の機能を兼ねる。      
【００６９】
当然のことながら、いくつかの実装形態では複数のプロセッサ１２９２を有することができる。一実施形態では、各プロセッサ１２９２は出力ライン（図示せず）を有し、各出力ラインは共にワイヤードＯＲ接続される。いくつかの実施形態では、出力ラインは、ワイヤードＯＲラインに接続する前に反転される。ワイヤードＯＲを受け取るステートマシンはプログラムされる全てのビットがいつ所望のレベルに到達するかを決定できる。したがって、この構成はプログラミング処理がいつ完了するかについてのプログラム検証処理中の迅速な決定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理０がワイヤードＯＲラインに送られる（又はデータ１を反転させる）。全てのビットがデータ０を出力する（又はデータ１を反転させる）と、ステートマシンはプログラミング処理を終了することを認識する。各プロセッサが８つの検出モジュールと通信するので、ステートマシンはワイヤードＯＲラインを８回読み出す必要があるか、あるいは関連するビットラインの結果を蓄積するために論理がプロセッサ１２９２に追加され、ステートマシンがワイヤードＯＲラインを一度だけ読み出せば良いようにする。同様に、論理レベルを正しく選ぶことにより、グローバルステートマシンは、第１のビットがいつその状態を変更し、相応してアルゴリズムを変更するのかを検知できる。
【００７０】
プログラム又は検証中に、プログラムされるデータは、データバス１２２０から１組のデータラッチ１２９４内に記憶される。ステートマシンの制御下の書き込み動作は、アドレス指定される記憶素子の制御ゲートに印加される一連のプログラム電圧パルスを有する。各プログラムパルスに続いてリードバック（検証）が実行され、記憶素子が所望のメモリ状態にプログラムされたかどうかを判定する。プロセッサ１２９２は、所望のメモリ状態に対するリードバックメモリ状態を監視する。その２つが一致する場合、プロセッサ１２９２はビットラインラッチ１２８２を設定し、プログラム禁止を指定する状態にビットラインを設定する。これにより、たとえプログラムパルスがその制御ゲートに現れても、ビットラインに接続した記憶素子がさらにプログラムされないようにする。他の実施形態では、プロセッサが最初にビットラインラッチ１２８２をロードし、検出回路が検証処理中に禁止値にそれを設定する。
【００７１】
データラッチスタック１２９４は、検出モジュールに対応するデータラッチのスタックを有する。一実施形態では、検出モジュール１２８０毎に３つのデータラッチが存在する。いくつかの実装形態では、（必須ではないが）データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス１２２０のシリアルデータに変換したり、その逆を行ったりする。好適な実施形態では、ｍ個の記憶素子の読み出し／書き込みブロックに対応する全てのデータラッチを共にリンクさせてブロックシフトレジスタを形成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、読み出し／書き込みモジュールのバンクを調整し、その組のデータラッチが読み出し／書き込みブロックの全体のシフトレジスタの一部であっても、その組のデータラッチのそれぞれが順にデータバスの内外にデータをシフトできるようにする。
【００７２】
不揮発性記憶装置の多様な実施形態の構造及び／または動作についての追加情報は、米国特許第７，１９６，９３１号、米国特許第７，０２３，７３６号、米国特許第７，０４６，５６８号、米国特許第７，１９６，９２８号、及び、米国特許第７，３２７，６１９号に記載されており、これらは本明細書に組み込まれる。
【００７３】
図１４は、全ビットラインメモリアーキテクチャのために、又は、奇数−偶数メモリアーキテクチャのために、メモリアレイをブロックに編成する例を示す。メモリアレイ１１００の例示的な構造が説明される。一例として、１，０２４個のブロックに分割されるＮＡＮＤフラッシュＥＥＰＲＯＭが説明されている。各ブロックに記憶されるデータは同時に消去できる。一実施形態では、ブロックは、同時に消去される記憶素子の最小単位である。この例では、各ブロックに、ビットラインＢＬ０、ＢＬ１、・・・ＢＬ８５１１に対応する８，５１２の列が存在する。全ビットライン（ＡＢＬ）アーキテクチャ（アーキテクチャ１４１０）と呼ばれる一実施形態では、ブロックの全ビットラインは、読み出し動作及びプログラミング動作中に同時に選択される。共通のワードラインに沿っており、任意のビットラインに接続される記憶素子は、同時にプログラミングされる。
【００７４】
図示される例では、ＮＡＮＤストリングを形成するために、４つ記憶素子が直列に接続されている。各々のＮＡＮＤストリングに含まれる素子として４つの記憶素子が示されているが、４つより多くの、または、４つより少ない記憶素子も使用可能である（例えば、１６，３２，６４または他の数）。ＮＡＮＤストリングの１つの端子は、（選択ゲートドレインラインＳＧＤに接続される）ドレイン選択ゲートを介して対応するビットラインに接続され、別の端子が（選択ゲートソースラインＳＧＳに接続される）ソース選択ゲートを介してｃ−ソースに接続される。
【００７５】
奇数−偶数アーキテクチャ（アーキテクチャ１４００）と呼ばれる他の実施形態では、ビットラインは偶数ビットライン（ＢＬｅ）と奇数ビットライン（ＢＬｏ）に分割される。奇数−偶数アーキテクチャでは、共通ワードラインに沿っており、奇数ビットラインに接続されている記憶素子群は同時にプログラミングされ、共通ワードラインに沿っており、偶数ビットラインに接続されている記憶素子群は別のタイミングで同時にプログラミングされる。この例では、各ブロックに、偶数列と奇数列に分割される８，５１２の列がある。この例では、ＮＡＮＤストリングを形成するために、直列に接続された４つ記憶素子が記載されている。各々のＮＡＮＤストリングに含まれる素子として４つの記憶素子が示されているが、４つより多くのまたは４つより少ない記憶素子も使用可能である。
【００７６】
読み出し動作及びプログラミング動作の１つの構成の間に、４，２５６個の記憶素子が同時に選択される。選択された記憶素子は、同じワードラインと同じ種類のビットライン（例えば、偶数又は奇数）を有する。従って、１論理ページを形成する５３２バイトのデータを同時に読み出し、あるいは、プログラミングすることが可能であり、１ブロックのメモリが少なくとも８論理ページ（それぞれ奇数ページと偶数ページがある４ワードライン）を記憶できる。４個のマルチステート記憶素子の場合、各記憶素子が２ビットのデータを記憶し、これらの２ビットのそれぞれが別のページに記憶されると、１ブロックは１６の論理ページを記憶する。他のサイズのブロック及びページを使用することも可能である。
【００７７】
ＡＢＬアーキテクチャ又は奇数−偶数アーキテクチャの何れかの場合は、ｐ−ウェルを消去電圧（例えば２０Ｖ）に上昇させ、選択されたブロックのワードラインを接地することによって、記憶素子を消去できる。ソースライン及びビットラインはフローティングされる。消去は、メモリアレイ全体、別々のブロック、又はメモリ素子の一部である記憶素子の別の単位で実行できる。電子は、記憶素子のフローティングゲートからｐ−ウェル領域に移され、記憶素子のＶＴＨが負となる。
【００７８】
読み出し動作及び検証動作では、選択ゲート（ＳＧＤとＳＧＳ）が２．５〜４．５Ｖの範囲の電圧に接続され、未選択ワードライン（例えば、ＷＬ２が選択されたワードラインであるときにＷＬ０、ＷＬ１、及び、ＷＬ３）は読み出しパス電圧ＶＲＥＡＤ（通常、４．５〜６Ｖの範囲の電圧）に上昇され、トランジスタをパスゲートとして動作させる。選択されたワードラインＷＬ２は所定の電圧に接続され、その電圧のレベルは、関係する記憶素子のＶＴＨがこのようなレベルを超えているのか、あるいは、下回っているのかを決定するために、読み出し動作及び検証動作ごとに指定される。例えば、２レベルの記憶素子のための読み出し動作では、選択されたワードラインＷＬ２が接地されて、ＶＴＨが０Ｖより高いか否かが検出される。２レベル記憶素子の検証動作では、選択されたワードラインＷＬ２が例えば０．８Ｖに接続されて、ＶＴＨが少なくとも０．８Ｖに到達したか否かが検証される。ソース及びｐ−ウェルは０Ｖにある。偶数ビットライン（ＢＬｅ）であると仮定される選択されたビットラインは、例えば０．７Ｖのレベルに事前に充電（プレチャージ）される。ＶＴＨがワードライン上の読み出しレベル又は検証レベルより高い場合は、対象の記憶素子と関連するビットライン（ＢＬｅ）の電位レベルは、非導電性記憶素子のために高いレベルに維持される。他方、ＶＴＨが読み出しレベル又は検証レベルより低い場合は、導電性記憶素子がビットラインを放電するために、対象のビットライン（ＢＬｅ）の電位レベルは、例えば０．５Ｖ未満等の低いレベルに減少する。これによって、記憶素子の状態が、ビットラインに接続される電圧比較検出アンプによって検出される。
【００７９】
前述される消去動作、読み出し動作、及び、検証動作は、従来の既知の技法に従って実行される。従って、説明されている詳細の多くは、当業者によって変えられることがある。従来既知の他の消去技法、読み出し技法、及び検証技法も使用できる。
【００８０】
図１５は、閾値電圧区分のセットおよび１パスプログラミングの一例を示す。記憶素子アレイの例示のＶＴＨ区分は、各記憶素子が２ビットのデータを記憶するケースに対して提供されている。第１の閾値電圧区分Ｅは、消去された記憶素子に対して提供される。プログラミングされた記憶素子の３つの閾値電圧区分、Ａ、Ｂ及びＣも示されている。一実施形態では、Ｅ区分の閾値電圧は負であり、Ａ区分、Ｂ区分及びＣ区分の閾値電圧は正である。
【００８１】
それぞれの閾値電圧範囲は、データビットのセットの所定値に対応する。記憶素子にプログラミングされたデータと記憶素子の閾値電圧レベルの特殊な関係は、記憶素子のために採用されるデータ符号化方式に依存する。例えば、両方ともその全体を参照することにより本明細書に組み込まれる米国特許第６，２２２，７６２号及び米国特許第７，２３７，０７４号は、マルチ状態フラッシュメモリ素子の多様なデータ符号化方式を説明する。一実施形態では、フローティングゲートの閾値電圧が誤ってその近傍の物理状態にシフトした場合に１ビットだけが影響を受けるように、データ値がグレーコード割り当てを使用して閾値電圧範囲に割り当てられる。一例は、閾値電圧範囲Ｅ（状態Ｅ）に「１１」を、閾値電圧範囲Ａ（状態Ａ）に「１０」を、閾値電圧範囲Ｂ（状態Ｂ）に「００」を、及び閾値電圧範囲Ｃ（状態Ｃ）に「０１」を割り当てる。しかしながら、他の実施形態では、グレーコードは使用されない。４つの状態が示されているが、本発明は、４つの状態より多い、又は、少ない構造を含む他のマルチステート構造に使用することもできる。
【００８２】
読み出し参照電圧ＶＣＧＲ−Ａ、ＶＣＧＲ−Ｂ、及び、ＶＣＧＲ−Ｃは、記憶素子からデータを読み出すために提供される。既定の記憶素子の閾値電圧がＶＣＧＲ−Ａ、ＶＣＧＲ−Ｂ及びＶＣＧＲ−Ｃを上回っているのか、あるいは下回っているのかをテストすることによって、システムは、記憶素子が存在する状態、即ち、プログラム状態を判定することができる。
【００８３】
さらに、３つの検証参照電圧ＶＶ−Ａ、ＶＶ−Ｂ、及び、ＶＶ−Ｃが提供される。記憶素子を状態Ａにプログラミングするとき、システムは、それらの記憶素子がＶＶ−Ａ以上の閾値電圧を有するかどうかをテストする。記憶素子を状態Ｂにプログラミングするとき、システムは、記憶素子がＶＶ−Ｂ以上の閾値電圧を有するかどうかをテストする。記憶素子を状態Ｃにプログラミングするとき、システムは、記憶素子がＶＶ−Ｃ以上の閾値電圧を有するかどうかをテストする。
【００８４】
フルシーケンスプログラミングとして知られている一実施形態においては、記憶素子は、消去状態Ｅからプログラミンされた状態Ａ、Ｂ又はＣの何れかに直接的にプログラミングされる。例えば、まず、プログラミングされる記憶素子の集合中の全ての記憶素子が消去状態Ｅとなるように、集合が消去される場合がある。次に、一連のプログラムパルスが、記憶素子を状態Ａ、Ｂ又はＣに直接的にプログラミングするために使用される。いくつかの記憶素子は状態Ｅから状態Ａにプログラムされ、他の記憶素子は状態Ｅから状態Ｂに、及び／又は、状態Ｅから状態Ｃにプログラミングされる。ＷＬｎ上で状態Ｅから状態Ｃにプログラミングするときは、ＷＬｎ下のフローティングゲートでの電荷量の変化が、状態Ｅを状態Ａにあるいは状態Ｅを状態Ｂにプログラミングするときの電荷の変化に比較して極めて大きいため、ＷＬｎ−１下の隣接フローティングゲートへの寄生結合の量は最大限となる。状態Ｅから状態Ｂにプログラミングするときは、隣接フローティングゲートへの結合の量はより少なくなる。状態Ｅから状態Ａにプログラミングするときは、結合の量はさらに少なくなる。
【００８５】
図１６は、２つの異なるページ（下位ページと上位ページ）に対してデータを記憶するマルチステート記憶素子にプログラムする２パス技術の一例を示している。状態Ｅ（１１）、状態Ａ（１０）、状態Ｂ（００）及び状態Ｃ（０１）の４つの状態が示されている。状態Ｅの場合、両方のページが「１」を記憶する。状態Ａの場合、下位ページが「０」を記憶し、上位ページが「１」を記憶する。状態Ｂの場合、両方のページが「０」を記憶する。状態Ｃの場合、下位ページが「１」を記憶し、上位ページが「０」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることも可能であることに注意する。
【００８６】
第１プログラミングパスでは、記憶素子の閾値電圧レベルは下位の論理ページにプログラムされるビットに従って設定される。そのビットが論理「１」であれば、以前に消去された結果として適切な状態にあるので閾値電圧は変更されない。しかし、プログラムされるビットが論理「０」であれば、矢印１７００で示したように、記憶素子の閾値レベルは状態Ａになるように増大される。これによって、第１プログラミングパスを終了する。
【００８７】
第２プログラミングパスでは、記憶素子の閾値電圧レベルは上位論理ページ内にプログラムされるビットに従って設定される。上位論理ページビットが論理「１」を記憶する場合、記憶素子は下位ページビットのプログラミングに依存する状態Ｅ又はＡの一方であり、どちらも上位ページビットは「１」を保持するのでプログラミングは生じない。上位ページビットが論理「０」となる場合、閾値電圧はシフトされる。第１パスによって記憶素子が消去状態Ｅに留まっていれば第２段階で記憶素子をプログラムし、矢印１６２０で示したように閾値電圧が状態Ｃ内になるように増大させる。第１プログラミングパスの結果として記憶素子が状態Ａ内にプログラムされれば、記憶素子はさらに第２パスでプログラムされ、矢印１６１０で示したように閾値電圧が状態Ｂ内になるように増大させる。第２パスの結果は、下位ページ用のデータを変更することなく、上位ページの論理「０」を記憶するように指定した状態に記憶素子をプログラムすることである。図１５および１６の両方において、隣接するワードライン上でフローティングゲートへの結合量は最終状態に依存する。
【００８８】
一実施形態では、全ページを充填するのに十分なデータを書き込まれた場合、システムは全シーケンス書き込みを実行するように設定される。十分ではないデータが全ページに書き込まれた場合、プログラミング処理は受け取ったデータを用いて下位ページプログラミングを実行できる。次のデータを受け取ったときは、システムは上位ページをプログラミングする。さらに別の実施形態では、システムは下位ページをプログラムするモードで書き込みを開始し、ワードラインの記憶素子の全体（又は大部分）を充填するために次の十分なデータを受け取った場合、全シーケンスプログラミングモードに変換する。このような実施形態のさらなる詳細は、米国特許第７，１２０，０５１号に開示されており、それは本明細書に組み込まれる。
【００８９】
図１７ａ〜ｃは、前のページの隣接記憶素子に書き込んだ後で、特定のページに対してその特定の記憶素子を書き込むことによって、その特定の記憶素子に対するフローティングゲート間結合の影響を低減する不揮発性メモリをプログラムする別の方法を開示している。実装形態の一例では、不揮発性記憶素子は、４つのデータ状態を用いて記憶素子毎に２ビットのデータを記憶する。例えば、状態Ｅが消去状態であり、状態Ａ、Ｂ及びＣがプログラムされた状態であると仮定する。状態Ｅはデータ１１を記憶している。状態Ａはデータ０１を記憶している。状態Ｂはデータ１０を記憶している。状態Ｃはデータ００を記憶している。両方のビットは隣接する状態Ａ及びＢの間で変化するので、これは非グレイ符号化の一例である。データの物理的データ状態への他の符号化を用いることもできる。各記憶素子は２ページ分のデータを記憶する。参照のために、これらのページのデータは上位ページ及び下位ページと呼ばれるが、他のラベルを与えることもできる。状態Ａを参照すると、上位ページはビット０を記憶し、下位ページはビット１を記憶している。状態Ｂを参照すると、上位ページはビット１を記憶し、下位ページはビット０を記憶している。状態Ｃを参照すると、両方のページがビットデータ０を記憶している。
【００９０】
プログラミング処理は、２つのステップの処理である。第１ステップでは、下位ページをプログラムする。下位ページがデータ１のままである場合、記憶素子状態は状態Ｅに留まる。データが０にプログラムされる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態Ｂ’にプログラムされる。従って、図１７ａは、状態Ｅから状態Ｂ’への記憶素子のプログラミングを示している。状態Ｂ’は中間状態Ｂであり、従って、検証点はＶ’Ｖ−Ｂとして示され、ＶＶ−Ｂより低い。
【００９１】
一実施形態では、状態Ｅから状態Ｂ’に記憶素子をプログラムした後、ＮＡＮＤストリング内の隣接記憶素子（ＷＬｎ＋１）をその下位ページに対してプログラムする。例えば、図２を見直すと、記憶素子１０６用の下位ページをプログラムした後、記憶素子１０４の下位ページをプログラムする。記憶素子１０４をプログラムした後、記憶素子１０４が状態Ｅから状態Ｂ’に上昇した閾値電圧を有していた場合、フローティングゲート間結合の影響は記憶素子１０６の見かけの閾値電圧を上昇させる。これは、図１７ｂの閾値電圧区分１７５０に示したように状態Ｂ’の閾値電圧区分を拡大する影響を有する。閾値電圧区分のこの見かけの拡大は、上位ページをプログラムする際に修正される。
【００９２】
図１７ｃは、上位ページをプログラムする工程を示している。記憶素子が消去状態Ｅであって上位ページが１に留まる場合、記憶素子は状態Ｅに留まる。記憶素子が状態Ｅであり、その上位ページデータが０にプログラムされる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態Ａになる。記憶素子が中間の閾値電圧区分１７５０であって上位ページデータが１に留まる場合、記憶素子は最終状態Ｂにプログラムされる。記憶素子が中間の閾値電圧区分１７５０であって上位ページデータがデータ０になる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態Ｃになる。隣接記憶素子の上位ページプログラミングだけが所定の記憶素子の見かけの閾値電圧に影響を与えるので、図１７ａ〜ｃで示した工程はフローティングゲート間結合影響を低減する。別の状態符号化の一例は、上位ページデータが１であるとき区分１７５０から状態Ｃに移動することであり、上位ページデータが０であるとき状態Ｂに移動することである。図１７ａ〜ｃは４つのデータ状態と２つのページデータに対する一例を提供するが、開示された概念は４つの状態より多い、又は少ない状態、及び２つのページとは異なるページを備えた他の実装形態に適用することもできる。
【００９３】
本発明の前記の詳細な説明は図解及び説明のために提示されたものである。本発明は、網羅的となる、あるいは本発明を開示されている正確な形式に制限することを意図していない。前記教示を鑑みて多くの変型及び変更が可能である。説明された実施形態は、本発明及びその実際的な応用を最もよく説明し、それにより当業者が多様な実施形態において、及び意図されている特定の使用に適するように多様な変型を用いて本発明を最もよく活用できるようにするために選択された。本発明の範囲がここに添付される請求項により定められることが意図される。
【図１ａ】
0005444355.tif 000002
【図１ｂ】
0005444355.tif 000003
【図２】
0005444355.tif 000004
【図３】
0005444355.tif 000005
【図４】
0005444355.tif 000006
【図５ａ】
0005444355.tif 000007
【図５ｂ】
0005444355.tif 000008
【図５ｃ】
0005444355.tif 000009
【図６】
0005444355.tif 000010
【図７】
0005444355.tif 000011
【図８】
0005444355.tif 000012
【図９ａ】
0005444355.tif 000013
【図９ｂ】
0005444355.tif 000014
【図１０ａ】
0005444355.tif 000015
【図１０ｂ】
0005444355.tif 000016
【図１１】
0005444355.tif 000017
【図１２】
0005444355.tif 000018
【図１３】
0005444355.tif 000019
【図１４】
0005444355.tif 000020
【図１５】
0005444355.tif 000021
【図１６】
0005444355.tif 000022
【図１７ａ】
0005444355.tif 000023
【図１７ｂ】
0005444355.tif 000024
【図１７ｃ】
0005444355.tif 000025