(57)【要約】  不揮発性メモリ中のビット線間の結合による影響を解決する。抑止電圧を、プログラムすべき記憶素子（２２４）のビット線（２０２）に印加して、プログラム電圧の一部の期間におけるプログラミングを抑止する。次に、抑止電圧をプログラム電圧の期間中に解除して、プログラミングを実行する。ビット線（２０２、２０４）は互いに近いため、ビット線電圧の変化が選択されていない隣接するビット線（２０４）に結合し、隣接のビット線電圧が選択ゲートを開いて昇圧電圧を放電させるほど低下してしまう。これを防止するため、ビット線電圧が変化している間に選択ゲート電圧（ＶＳＧＤ）を一時的に調整して、選択されていないビット線上の選択ゲートに対するバイアスが選択ゲートを開くほど低下することを防止する。
2009512115.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリをプログラムする方法であって、
不揮発性記憶素子の集合中に含まれており、第１の選択ゲートと第２の選択ゲートを介して、第１のビット線と第２のビット線に接続されている少なくとも第１の不揮発性記憶素子と第２の不揮発性記憶素子にプログラム電圧を印加するステップと、
第１のビット線に印加される電圧を制御することによって、プログラム電圧の期間中に、第１の不揮発性記憶素子のプログラミングを部分的に抑止するステップと、
第２のビット線に抑止電圧を印加することによって、プログラム電圧の期間中に、第２の不揮発性記憶素子のプログラミングを抑止するステップと、
プログラム電圧の期間中に第１のビット線に印加される電圧の電圧変化が生じている間に、第２の選択ゲートに印加される選択ゲート電圧を調整するステップ、
を備えていることを特徴とする方法。
【請求項２】
前記電圧変化には、第１のビット線と第２のビット線の間の結合のために第２のビット線に印加される抑止電圧の電圧低下が含まれることを特徴とする請求項１に記載の方法。
【請求項３】
選択ゲート電圧が前記調整ステップで調整されなかった場合に、前記電圧低下によって第２の選択ゲートがオンすることを特徴とする請求項２に記載の方法。
【請求項４】
前記電圧変化には、第１の不揮発性記憶素子のプログラミングを抑止する第１の電圧レベルから、第１の不揮発性記憶素子のプログラミングを許容する第２の電圧レベルへの電圧の減少が含まれることを特徴とする請求項１に記載の方法。
【請求項５】
前記調整ステップが、選択ゲート電圧を一時的に減少させるステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
選択ゲート電圧が第１の選択ゲートにも印加されることを特徴とする請求項１に記載の方法。
【請求項７】
前記調整ステップが、選択ゲート電圧を、第２の選択ゲートを閉じた状態に維持するために第２のビット線に印加される抑止電圧より低く、かつ、第１の選択ゲートを開いた状態に維持するためにプログラム電圧の少なくとも一部の期間中に第１のビット線に印加される電圧より高い定常状態レベルから、一時的に減少させるステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
プログラム電圧が、連続する電圧パルス中の電圧パルスを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記電圧変化には、プログラム電圧の第１の部分の期間中に第１の不揮発性記憶素子のプログラミングを抑止する第１の電圧レベルから、プログラム電圧の第２の部分の期間中に第１の不揮発性記憶素子のプログラミングを許容する第２のレベルへの電圧の減少が含まれることを特徴とする請求項１に記載の方法。
【請求項１０】
第１の不揮発性記憶素子と第２の不揮発性記憶素子が、各ＮＡＮＤストリング中に配列されていることを特徴とする請求項１に記載の方法。
【請求項１１】
プログラム電圧が、共通のワード線を介して、第１の不揮発性記憶素子と第２の不揮発性記憶素子に印加されることを特徴とする請求項１に記載の方法。
【請求項１２】
不揮発性記憶システムであって、
不揮発性記憶素子の集合中の第１の不揮発性記憶素子及び第２の不揮発性記憶素子と、
第１の不揮発性記憶素子と第２の不揮発性記憶素子に、第１の選択ゲートと第２の選択ゲートを介して接続されている第１のビット線及び第２のビット線と、
第１の不揮発性記憶素子と第２の不揮発性記憶素子、第１のビット線と第２のビット線、及び、第１の選択ゲートと第２の選択ゲートと通信する１つ以上の管理回路であって、データをプログラムする要求を受信するステップと、その要求に応答して、第１の不揮発性記憶素子と第２の不揮発性記憶素子にプログラム電圧を印加するステップと、第１のビット線に印加される電圧を制御することによってプログラム電圧の期間中に第１の不揮発性記憶素子のプログラミングを部分的に抑止するステップと、第２のビット線に抑止電圧を印加することによってプログラム電圧の期間中に第２の不揮発性記憶素子のプログラミングを抑止するステップと、プログラム電圧の期間中に第１のビット線に印加される電圧の電圧変化が生じている間に第２の選択ゲートに印加される選択ゲート電圧を調整するステップとを実行する管理回路、
を備えていることを特徴とする不揮発性記憶システム。
【請求項１３】
前記電圧変化には、第１のビット線と第２のビット線の間の結合のために第２のビット線に印加される抑止電圧の電圧低下が含まれることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項１４】
選択ゲート電圧が調整されなかった場合に、前記電圧低下によって第２の選択ゲートがオンすることを特徴とする請求項１３に記載の不揮発性記憶システム。
【請求項１５】
前記電圧変化には、第１の不揮発性記憶素子のプログラミングを抑止する第１の電圧レベルから、第１の不揮発性記憶素子のプログラミングを許容する第２の電圧レベルへの電圧の減少が含まれることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項１６】
前記調整ステップが、選択ゲート電圧を一時的に減少させるステップを含んでいることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項１７】
選択ゲート電圧が第１の選択ゲートにも印加されることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項１８】
前記調整ステップが、選択ゲート電圧を、第２の選択ゲートを閉じた状態に維持するために第２のビット線に印加される抑止電圧より低く、かつ、第１の選択ゲートを開いた状態に維持するためにプログラム電圧の少なくとも一部の期間中に第１のビット線に印加される電圧より高い定常状態レベルから、一時的に減少させるステップを含むことを特徴とする請求項１７に記載の不揮発性記憶システム。
【請求項１９】
プログラム電圧が、連続する電圧パルス中の電圧パルスを含むことを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項２０】
前記電圧変化には、プログラム電圧の第１の部分の期間中に第１の不揮発性記憶素子のプログラミングを抑止する第１の電圧レベルから、プログラム電圧の第２の部分の期間中に第１の不揮発性記憶素子のプログラミングを許容する第２のレベルへの電圧の減少が含まれることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項２１】
第１不揮発性記憶素子と第２の不揮発性記憶素子が、各ＮＡＮＤストリング中に配列されていることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項２２】
第１の不揮発性記憶素子と第２の不揮発性記憶素子に印加されるプログラム電圧を伝達する共通のワード線をさらに備えていることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項２３】
不揮発性記憶システムであって、
不揮発性記憶素子の集合中の第１の不揮発性記憶素子及び第２の不揮発性記憶素子と、
第１の不揮発性記憶素子と第２の不揮発性記憶素子に、第１の選択ゲートと第２の選択ゲートを介してそれぞれ接続されている第１のビット線及び第２のビット線と、
第１の不揮発性記憶素子と第２の不揮発性記憶素子、第１のビット線と第２のビット線、及び、第１の選択ゲートと第２の選択ゲートと通信する１つ以上の管理回路であって、データをプログラムする要求を受信するステップと、その要求に応答して、第１の不揮発性記憶素子と第２の不揮発性記憶素子にプログラム電圧を印加するステップと、第１のビット線に印加される電圧を制御することによってプログラム電圧の期間中に第１の不揮発性記憶素子のプログラミングを部分的に抑止するステップと、第２のビット線に抑止電圧を印加することによってプログラム電圧の期間中に第２の不揮発性記憶素子のプログラミングを抑止するステップと、プログラム電圧の期間中に第１のビット線に印加される電圧の電圧変化が生じている間に第２の選択ゲートに印加される選択ゲート電圧を調整するステップとを実行する管理回路、
を備えていることを特徴とする不揮発性記憶システム。
【請求項２４】
前記電圧変化には、第１のビット線と第２のビット線の間の結合のために第２のビット線に印加される抑止電圧の電圧低下が含まれることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項２５】
選択ゲート電圧が調整されなかった場合に、前記電圧低下によって第２の選択ゲートがオンすることを特徴とする請求項１３に記載の不揮発性記憶システム。
【請求項２６】
前記電圧変化には、第１の不揮発性記憶素子のプログラミングを抑止する第１の電圧レベルから、第１の不揮発性記憶素子のプログラミングを許容する第２の電圧レベルへの電圧の減少が含まれることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項２７】
前記調整ステップが、選択ゲート電圧を一時的に減少させるステップを含んでいることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項２８】
選択ゲート電圧が第１の選択ゲートにも印加されることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項２９】
前記調整ステップが、選択ゲート電圧を、第２の選択ゲートを閉じた状態に維持するために第２のビット線に印加される抑止電圧より低く、かつ、第１の選択ゲートを開いた状態に維持するためにプログラム電圧の少なくとも一部の期間中に第１のビット線に印加される電圧より高い定常状態レベルから、一時的に減少させるステップを含むことを特徴とする請求項１７に記載の不揮発性記憶システム。
【請求項３０】
プログラム電圧が、連続する電圧パルス中の電圧パルスを含むことを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項３１】
前記電圧変化には、プログラム電圧の第１の部分の期間中に第１の不揮発性記憶素子のプログラミングを抑止する第１の電圧レベルから、プログラム電圧の第２の部分の期間中に第１の不揮発性記憶素子のプログラミングを許容する第２のレベルへの電圧の減少が含まれることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項３２】
第１不揮発性記憶素子と第２の不揮発性記憶素子が、各ＮＡＮＤストリング中に配列されていることを特徴とする請求項１２に記載の不揮発性記憶システム。
【請求項３３】
第１の不揮発性記憶素子と第２の不揮発性記憶素子に印加されるプログラム電圧が経由する共通のワード線をさらに備えていることを特徴とする請求項１２に記載の不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリのプログラミングに関する。
【背景技術】
【０００２】
半導体メモリは、さまざまな電子装置内で、ますます多く使用されるようになっている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピューティングデバイス、非モバイルコンピューティングデバイス、およびその他のデバイスの中で使用されている。電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）およびフラッシュメモリは、特に普及している不揮発性半導体メモリである。フラッシュメモリもまたＥＥＰＲＯＭの一種であるが、全メモリアレイまたはメモリの一部の内容は、従来のフル機能を備えたＥＥＰＲＯＭとは異なり、一度に消去できる。
【０００３】
従来のＥＥＰＲＯＭとフラッシュメモリは共に、半導体基板中のチャネル領域の上方に位置するとともにチャネル領域から絶縁されている浮遊ゲートを利用している。この浮遊ゲートは、ソース領域とドレイン領域の間に位置している。制御ゲートが、浮遊ゲートの上方に設けられているとともに浮遊ゲートから絶縁されている。このようにして形成されたトランジスタの閾値電圧は、浮遊ゲートに保持されている電荷の量によって制御される。すなわち、ソースとドレイン間を導通させてトランジスタをオンさせる前に制御ゲートに印加しなければならない電圧の最小値は、浮遊ゲート上の電荷のレベルによって制御される。
【０００４】
ＥＥＰＲＯＭデバイスおよびフラッシュメモリデバイスの中には、２つの範囲の電荷を記憶させるために使う浮遊ゲートを有しているものがある。したがって、メモリ素子は、２つの状態（消去された状態とプログラムされた状態）のどちらかとしてプログラム／消去することが可能である。このようなフラッシュメモリは、バイナリフラッシュメモリデバイスと呼ばれることもある。その理由は、各メモリ素子が１ビットのデータを記憶するからである。
【０００５】
マルチステート（マルチレベルとも呼ばれる）フラッシュメモリデバイスは、複数の異なる許容／有効プログラム閾値電圧範囲を特定することによって実現される。これらの異なる閾値電圧範囲はそのそれぞれが、メモリデバイスの中に符号化されたデータビットの集合の所定の値に対応している。例えば、素子が４つの異なる閾電圧範囲に対応する４つの異なる電荷帯のうちの１つの状態にあるときに、各メモリ素子が２ビットのデータを記憶できる。
【０００６】
一般的に、プログラムが動作している間に制御ゲートに印加されるプログラム電圧Ｖｐｇｍは、一連のパルスとして印加される。一実施形態では、これらパルスの大きさは、連続するパルスごとに所定のステップサイズだけ（例えば、０．２〜０．４Ｖ）だけ増加する。Ｖｐｇｍは、フラッシュメモリ素子の制御ゲート（または、場合によってはステアリングゲート）に印加することが可能である。プログラムパルス間の期間に、検証動作が実行される。すなわち、並列にプログラムされている素子グループ中の各素子のプログラミングレベルを、連続するプログラミングパルス間で読み取って、このレベルによって、素子がプログラムすべき検証レベル以上であるか否かを判定する。マルチステートフラッシュメモリ素子を含むアレイの場合、これらメモリ素子は、各々の状態に対する検証ステップを実行して、素子が自身のデータに関連する検証レベルに到達したかどうかを判定可能とする。例えば、データを４つの状態で記憶することが可能なマルチステートメモリ素子は、３つの比較ポイントに対して検証動作を実行する必要がある。
【０００７】
さらに、ＥＥＰＲＯＭデバイスまたはＮＡＮＤストリングのＮＡＮＤフラッシュメモリデバイスなどのフラッシュメモリデバイスをプログラムするとき、一般的には、制御ゲートにＶｐｇｍを印加するとともにビット線を接地する。すると、例えば、記憶素子のようなセルまたはメモリ素子のチャネルから浮遊ゲートに電子が注入される。電子が浮遊ゲート中に蓄積されると、浮遊ゲートは負に帯電して、メモリセルの閾値電圧が引き上げられ、これによって、メモリセルはプログラムされた状態になる。プログラミングに関するさらなる情報は、双方ともそれらの全体を参照してここに組み込む「Ｓｏｕｒｃｅ  Ｓｉｄｅ  Ｓｅｌｆ  Ｂｏｏｓｔｉｎｇ  Ｔｅｃｈｎｉｑｕｅ  Ｆｏｒ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」という名称の米国特許第６，８５９，３９７号および２００５年２月３日に公開された「Ｄｅｔｅｃｔｉｎｇ  Ｏｖｅｒ  Ｐｒｏｇｒａｍｍｅｄ  Ｍｅｍｏｒｙ」という名称の米国特許出願公開第２００５／００２４９３９号に見受けられる。
【０００８】
しかしながら、ビット線間の結合が、さまざまな状況下でプログラミングを混乱させる。ビット線は、一般的には、メモリアレイもしくはメモリチップまたは他の不揮発性記憶素子集合の全体にわたって互いに近接して配列されている金属製の線である。このような結合を解決するメカニズムが必要とされている。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ビット線間結合による影響を解決する不揮発性メモリ素子のプログラミング方法を提供する。
【課題を解決するための手段】
【００１０】
一実施形態では、不揮発性記憶装置をプログラムする方法では、第１のビット線に印加する電圧を制御することによって、第１の不揮発性記憶素子のプログラミングをプログラム電圧の期間中に部分的に抑止するステップを含む。例えば、抑止電圧を第１のビット線に印加すると、プログラム電圧のプログラミング効果が弱められる。さらに、プログラム電圧の期間中に、第１のビット線に対する印加電圧が、抑止レベルからプログラムレベルに変化して、プログラム電圧のプログラミング効果が弱められずに、第１の不揮発性記憶素子がプログラム可能となる。
【００１１】
第１のビット線に対する印加電圧のこのような電圧変化は、プログラムするように選択されておらず、かつ、プログラム電圧の印加中に抑止電圧が印加されている隣のビット線に結合する。例えば、第１のビット線の電圧低下は、隣接するビット線の電圧低下を引き起こす。このような結合した電圧低下が生じると、隣接するビット線の選択ゲートが一時的に開いてしまう。このため、抑止されているストリングが放電し、抑止されているストリング上の記憶素子が間違ってプログラムされる（このプロセスはプログラム外乱として知られている）。この結合電圧に対処するには、第１のビット線に対する印加電圧が電圧変化している間に選択ゲート電圧を調整すればよい。例えば、抑止されているビット線に対するビット線電圧が結合により低下したら、選択ゲート電圧を一時的に低下させればよい。このように一時的に電圧を低下させることによって、抑止されているビット線上の選択ゲートへのバイアスが選択ゲートを開くほどには大きくならないことが保証される。
【発明を実施するための最良の形態】
【００１２】
本発明の実施に適した不揮発性メモリシステムの一例では、ＮＡＮＤフラッシュメモリ構造を使用する。ＮＡＮＤフラッシュメモリ構造では、ＮＡＮＤストリングの２つの選択ゲートの間に複数のトランジスタが直列に配置されている。図１は、１つのＮＡＮＤストリングを示す上面図である。図２は、その等価回路である。図１および図２に示すＮＡＮＤストリングは、直列の４つのトランジスタ１００、１０２、１０４、１０６を備え、第１の選択ゲート１２０と第２の選択ゲート１２２との間に挟まれている。選択ゲート１２０は、ＮＡＮＤストリングをビット線コンタクト１２６に接続する。選択ゲート１２２は、ＮＡＮＤストリングをソース線コンタクト１２８に接続する。選択ゲート１２０は、制御ゲート１２０ＣＧに適切な電圧を印加することによって制御される。選択ゲート１２２は、制御ゲート１２２ＣＧに適切な電圧を印加することによって制御される。トランジスタ１００、１０２、１０４、１０６のそれぞれは、制御ゲートと浮遊ゲートを有する。トランジスタ１００は、制御ゲート１００ＣＧと浮遊ゲート１００ＦＧを有する。トランジスタ１０２は、制御ゲート１０２ＣＧと浮遊ゲート１０２ＦＧを有する。トランジスタ１０４は、制御ゲート１０４ＣＧと浮遊ゲート１０４ＦＧを有する。トランジスタ１０６は、制御ゲート１０６ＣＧと浮遊ゲート１０６ＦＧを有する。制御ゲート１００ＣＧ、１０２ＣＧ、１０４ＣＧ、１０６ＣＧ、は、ワード線ＷＬ３、ＷＬ２、ＷＬ１、ＷＬ０にそれぞれ接続されている。一実施形態では、トランジスタ１００、１０２、１０４、１０６のそれぞれがメモリセルあるいはメモリ素子となる。他の実施形態では、メモリ素子が複数のトランジスタを含んでいてもよく、図１および図２に示した構成と異なっていてもよい。選択ゲート１２０は、ドレイン選択線ＳＧＤに接続され、選択ゲート１２２は、ソース選択線ＳＧＳに接続される。
【００１３】
図３は、上記のＮＡＮＤストリングの断面図を示す。ＮＡＮＤストリングのトランジスタはｐ−ウェル領域１４０内に形成されている。各トランジスタは、制御ゲート（１００ＣＧ、１０２ＣＧ、１０４ＣＧ、および１０６ＣＧ）と浮遊ゲート（１００ＦＧ、１０２ＦＧ、１０４ＦＧ、および１０６ＦＧ）からなるスタックゲート構造を備えている。浮遊ゲートは、酸化膜または他の誘電体膜上のｐ−ウェルの表面上に形成されている。制御ゲートは、浮遊ゲート上に位置しており、制御ゲートと浮遊ゲートは、ポリシリコン間誘電体層によって分離されている。メモリ素子（１００、１０２、１０４、１０６）の制御ゲートは、ワード線を形成している。Ｎ＋拡散層１３０、１３２、１３４、１３６、１３８は隣接する素子間で共有されており、これにより素子は相互に直列に接続されてＮＡＮＤストリングを形成している。これらのＮ＋拡散層は、各素子のソースおよびドレインを形成している。例えば、Ｎ＋拡散層１３０は、トランジスタ１２２のドレイン、および、トランジスタ１０６のソースとして働く。Ｎ＋拡散層１３２は、トランジスタ１０６のドレイン、および、トランジスタ１０４のソースとして働く。Ｎ＋拡散層１３４は、トランジスタ１０４のドレイン、および、トランジスタ１０２のソースとして働く。Ｎ＋拡散層１３６は、トランジスタ１０２のドレイン、および、トランジスタ１００のソースとして働く。Ｎ＋拡散層１３８は、トランジスタ１００のドレイン、および、トランジスタ１２０のソースとして働く。Ｎ＋拡散層１２６は、ＮＡＮＤストリングのビット線につながっており、Ｎ＋拡散層１２８は、複数のＮＡＮＤストリングの共通ソース線につながっている。
【００１４】
図１〜図３では、ＮＡＮＤストリング内に４つのメモリ素子を示しているが、４つのトランジスタを使用する構成は、一例であることに留意されたい。ここに記載される技術によって使用されるＮＡＮＤストリングは、４つ未満のメモリ素子を有していてもよく、又は、４つを超えるメモリ素子を有していてもよい。例えば、一部のＮＡＮＤストリングは、８、１６、３２、６４あるいはそれ以上の数のメモリ素子を含むことができる。本明細書における説明は、ＮＡＮＤストリング内のメモリ素子がいかなる数でも有効である。
【００１５】
各メモリ素子は、アナログ又はデジタル形式で表されたデータを記憶することが可能である。１ビットのデジタルデータを記憶する場合、メモリ素子の可能な閾値電圧の範囲は、論理データ「１」および「０」が割り当てられる２つの範囲に分割される。ＮＡＮＤ型フラッシュメモリの一例では、メモリ素子の消去された後の閾値電圧は負となり、論理「１」と定義される。プログラム後の閾値電圧は正となり、論理「０」と定義される。閾値電圧が負の状態で制御ゲートに０Ｖを印加することによって読み出しが試みられた場合、メモリ素子はオンになり、論理１が記憶されていることを示す。閾値電圧が正の状態で制御ゲートに０Ｖを印加することによって読み出しが試みられた場合、メモリ素子はオンにならず、これは論理「０」が記憶されていることを示す。
【００１６】
また、メモリ素子は、複数の状態を記憶することも可能であり、それにより例えば複数ビットのデジタルデータを記憶することも可能である。複数の状態のデータを記憶する場合、可能な閾値電圧の範囲は、記憶する状態の数に分割される。例えば、４つの状態の情報が使用される場合、４つの閾値電圧範囲が存在し、それぞれにデータ値「１１」、「１０」、「０１」、「００」が割り当てられる。ＮＡＮＤ型メモリの一例では、消去動作の後の閾値電圧は負となり、「１１」と定義される。正の閾値電圧は、「１０」、「０１」、「００」の状態のために使用される。一部の実施例では、これらのデータ値（例えば論理状態）を、グレイコード割り当て方法を用いて閾値範囲に割り当て、これで、浮遊ゲートの閾値電圧が間違ってその隣接する物理状態にずれても、１つの論理ビットのみしか影響されないようにしている。メモリ素子にプログラムされたデータとこの素子の閾値電圧範囲との間の具体的な関係は、メモリ素子に対して採用されるデータ符号化スキームによって異なる。例えば、その双方の全体を参照してここに組み込む、２００３年６月１３日に出願された「Ｔｒａｃｋｉｎｇ  Ｃｅｌｌｓ  Ｆｏｒ  Ａ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍ」という名称の米国特許第６，２２２，７６２号および米国特許出願第１０／４６１，２４４号と、２００４年１２月１６日に公開された米国公開特許出願第２００４／０２５５０９０号には、マルチステート式フラッシュメモリ素子のさまざまなデータ符号化スキームが記載されている。
【００１７】
ＮＡＮＤ型フラッシュメモリおよびそれらの動作に関連する例は、次の米国特許で提供されており、それぞれの全体が参照により本明細書に援用される。米国特許第５，３８６，４２２号、第５，５７０，３１５号、米国特許第５，７７４，３９７号、米国特許第６，０４６，９３５号、米国特許第６，４５６，５２８号、および米国出願第６，５２２，５８０号である。ＮＡＮＤ型フラッシュメモリに加え、その他のタイプの不揮発性フラッシュメモリも本発明とともに使用されてもよい。
【００１８】
フラッシュＥＥＰＲＯＭシステムで役に立つ別のタイプのメモリ素子は、導電性の浮遊ゲートの代わりに非導電性の誘電性材料を利用して、電荷を不揮発式に蓄積している電荷トラップ素子である。このような素子が、１９８７年３月に発行されたＩＥＥＥのエレクトロン・デバイス・レターの第ＥＤＬ−８巻の第３号の、チャンらによる「Ａ  Ｔｒｕｅ  Ｓｉｎｇｌｅ−Ｔｒａｎｓｉｓｔｏｒ  Ｏｘｉｄｅ−Ｎｉｔｒｉｄｅ−Ｏｘｉｄｅ  ＥＥＰＲＯＭ  Ｄｅｖｉｃｅ」という記事の９３〜９５ページに記載されている。シリコン酸化物、シリコン窒化物、シリコン酸化物（“ＯＮＯ”）で形成された三層誘電体を、メモリ素子のチャネル上で、導電性の制御ゲートと半導体基板の表面とで挟んでいる。この素子は、素子のチャネルから窒化物中に電子を注入し、この窒化物中でこれらの電子が限られた領域中に捕獲されて蓄積されることによってプログラムされる。すると、この蓄積された電荷のため、この素子のチャネルのある部分の閾値電圧が変化するが、この変化は検出可能である。この素子は、ホットホールを窒化物中に注入することによって消去される。また、１９９１年４月に発行されたソリッドステート回路に関するＩＥＥＥジャーナルの第２６巻の第４号のノザキらによる「Ａ  １−Ｍｂ  ＥＥＰＲＯＭ  ｗｉｔｈ  ＭＯＮＯＳ  Ｍｅｍｏｒｙ  Ｃｅｌｌ  ｆｏｒ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｄｉｓｋ  Ａｐｐｌｉｃａｔｉｏｎ」の４９７〜５０１ページを読めば、ドーピングされた多結晶シリコンゲートがメモリ素子チャネルのある部分上を伸張して、互いに分離された選択トランジスタを形成している分離ゲート構造の類似の素子が記述されている。前述の２つの記事の全体を参照してここに組み込む。参照して個々に組み込む、１９９８年のＩＥＥＥプレスのウイリアム・Ｄ・ブラウン（Ｗｉｌｌｉａｍ  Ｄ．  Ｂｒｏｗｎ）とジョー・Ｅ・ブルーワ（Ｊｏｅ  Ｅ．  Ｂｒｅｗｅｒ）によって編集された「Ｎｏｎｖｏｌａｔｉｌｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｍｅｍｏｒｙ  Ｔｅｃｈｎｏｌｏｇｙ」の１．２章に言及されているプログラミング技法もまた、誘電性電荷捕獲デバイスに応用可能であるとこの章に記述されている。このパラグラフに記述されているメモリ素子もまた、本発明で用いることが可能である。
【００１９】
各々の素子に２ビットを記憶する別の方式が、２０００年１１月に発行されたＩＥＥＥのエレクトロン・デバイス・レターの第２１巻の第１１号のエイタン（Ｅｉｔａｎ）らによる「ＮＲＯＭ：Ａ  Ｎｏｖｅｌ  Ｌｏｃａｌｉｚｅｄ  Ｔｒａｐｐｉｎｇ，  ２−Ｂｉｔ  Ｎｏｎｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｃｅｌｌ」の５４３〜５４５ページに記載されており、ＯＮＯ誘電体層が、ソース拡散層とドレイン拡散層間のチャネル上を伸張していることが記載されている。一方のデータビットに対する電荷がドレインに隣り合った誘電体層中で局所化され、他方のデータビット用の電荷がソースに隣り合った誘電体層中で局所化される。マルチステートデータ記憶装置は、誘電体内部の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み取ることによって記憶される。このパラグラフに記述するメモリ素子もまた、本発明で用いることが可能である。
【００２０】
図４は、３つのＮＡＮＤストリングを示す回路図である。ＮＡＮＤ構造を用いたフラッシュメモリシステムの一般的なアーキテクチャは、いくつかのＮＡＮＤストリングを含んでいる。例えば、３つのＮＡＮＤストリング２０１、２０３、２０５が、多くのＮＡＮＤストリングを有するメモリアレイ中に示されている。各ＮＡＮＤストリングは、２つの選択トランジスタと４つのメモリ素子を含んでいる。例えば、ＮＡＮＤストリング２０１は、選択トランジスタ２２０および２３０ならびにメモリ素子２２２、２２４、２２６および２２８を含んでいる。ＮＡＮＤストリング２０３は、選択トランジスタ２４０および２５０ならびにメモリ素子２４２、２４４、２４６および２４８を含んでいる。ＮＡＮＤストリング２０５は、選択トランジスタ２６０および２７０ならびにメモリ素子２６２、２６４、２６６および２６８を含んでいる。各ＮＡＮＤストリングは、その選択トランジスタ（例えば選択トランジスタ２３０、２５０または２７０）によってソース線に接続されている。選択線ＳＧＳは、ソース側の選択ゲートを制御するために用いられる。ＮＡＮＤストリング２０１、２０３および２０５は、ドレイン選択線ＳＧＤによって制御される選択トランジスタ２２０、２４０、２６０などによってビット線２０２、２０４、２０６のそれぞれに接続されている。他の実施形態では、選択線が必ずしも共通である必要はない。ワード線ＷＬ３は、メモリ素子２２２と２４２の制御ゲートに接続されている。ワード線ＷＬ２は、メモリ素子２２４と２４４の制御ゲートに接続されている。ワード線ＷＬ１は、メモリ素子２２６と２４６の制御ゲートに接続されている。ワード線ＷＬ０は、メモリ素子２２８と２４８の制御ゲートに接続されている。図示するように、各ビット線と個々のＮＡＮＤストリングは、列のアレイやメモリ素子の集合を備えている。ワード線（ＷＬ３、ＷＬ２、ＷＬ１およびＷＬ０）は、行のアレイや集合を備えている。各ワード線は、行の中の各メモリ素子の制御ゲートに接続されている。例えば、ワード線ＷＬ２は、メモリ素子２２４、２４４、２６４の制御ゲートに接続されている。
【００２１】
各メモリ素子はデータ（アナログデータまたはデジタルデータ）を記憶することが可能である。１ビットのデジタルデータを記憶するときには、メモリ素子の可能な閾値電圧の範囲を２つの範囲に分割されて、これらの範囲に論理データ「１」および論理データ「０」が割り当てられる。ＮＡＮＤタイプのフラッシュメモリの一例では、メモリ素子が消去されると、閾値電圧が負となり、論理「１」が定義される。プログラム動作後は、閾値電圧が正となり、論理「０」が定義される。閾値電圧が負であるときに読み取り動作を試みると、メモリ素子はオンして、論理１が記憶されていることが示される。閾値電圧が正であるときに読み取り動作を試みると、メモリ素子がオンせず、論理０が記憶されていることが示される。メモリ素子はまた、複数ビットのデジタルデータのような複数レベルの情報を記憶することも可能である。この場合、可能な閾値電圧の範囲は、データのレベル数に分割される。例えば、４レベルの情報が記憶される場合には、データ値「１１」、「１０」、「０１」、「００」に対して４つの閾値電圧範囲が割り当てられる。ＮＡＮＤタイプのメモリの１例では、消去動作後の閾値電圧は負であり、「１１」と定義される。正の閾値電圧は、状態「１０」、「０１」、「００」に対して用いられる。
【００２２】
ＮＡＮＤタイプのフラッシュメモリとその動作の関連の例は、その各々を参照してここに組み込む米国特許第５，５２２，５８０号、第５，５７０，３１５号、第５，７７４，３９７号、第６，０４６，９３５号および第６，４５６，５２８号の明細書に与えられている。
【００２３】
フラッシュメモリ素子をプログラムするときには、プログラム電圧がその素子の制御ゲートに印加され、この素子と接続されているビット線が接地される。チャネルからの電子が浮遊ゲート中に注入される。電子が浮遊ゲート中に累積されると、この浮遊ゲートは負に帯電し、この素子の閾値電圧が上昇する。プログラム電圧をプログラムされている素子の制御ゲートに印加するときには、そのプログラム電圧を該当するワード線に印加する。上述したように、このワード線も、同じワード線を共有する他の各ＮＡＮＤストリング中の１つの素子に接続されている。例えば、図４の素子２２４をプログラムする場合、プログラム電圧は素子２４４の制御ゲートにも印加される。ワード線上の１つの素子を、同じワード線に接続されている他の素子をプログラムすることなくプログラムしようとする場合には、問題が生じる。例えば、素子２２４をプログラムしたいが他の素子２４４はプログラムしたくない場合である。プログラム電圧はあるワード線に接続されているすべての素子に印加されるため、このワード線上の選択されていない素子（プログラムすべきでない素子）、特に、プログラムするように選択された素子に隣接する素子が、プログラム外乱と呼ばれるプロセスで誤ってプログラムされることがある。例えば、素子２２４をプログラムするとき、隣接する素子２４４が誤ってプログラムされてしまう可能性がある。
【００２４】
プログラム外乱を防止することが可能な技法はいくつか存在する。「自己昇圧方法」として知られている方法では、選択されていないビット線を電気的に絶縁して、プログラミング中にパス電圧（例えば１０Ｖ）を選択されていないワード線に印加する。選択されていないワード線は選択されていないビット線に結合して、選択されていないビット線のチャネルに電圧（例えば８Ｖ）が印加される。これによって、プログラム外乱が抑制される。したがって、自己昇圧によってチャネルの電圧が上昇して、これによってトンネル酸化物の両端の電位が減少し、プログラム外乱が低減される。
【００２５】
ＮＡＮＤストリングは一般的には（常にではないが）、ソース側からドレイン側に、例えば、メモリ素子２２８からメモリ素子２２２に向かってプログラムされる。例えば、ＮＡＮＤストリング２０３をＮＡＮＤストリング２０１より前にプログラムする場合を考える。プログラミングプロセスがＮＡＮＤストリング２０１の最後の（または最後に近い）メモリ素子をプログラムする準備ができており、抑止されているＮＡＮＤストリング（例えばＮＡＮＤストリング２０３）上のすでにプログラムされているメモリ素子のすべてまたはほとんどがプログラムされた場合、これらすでにプログラムされているメモリ素子の浮遊ゲートには負の電荷が存在する。その結果、ＮＡＮＤストリング２０３の一部では電位が十分に上昇しないために、最後のいくつかのワード線と接続されているＮＡＮＤストリング２０３上の素子には引き続きプログラム外乱が生じる可能性がある。例えば、ＮＡＮＤストリング２０１上の素子２２２をプログラムするときに、ＮＡＮＤストリング２０３上の素子２４８、２４６および２４４がすでにプログラムされていれば、これらのトランジスタ（２４４、２４６、２４８）の各々の浮遊ゲートには負の電荷が存在しており、このために自己昇圧プロセスでの昇圧レベルが制限され、素子２４２にプログラム外乱が発生する可能性がある。
【００２６】
ローカル自己昇圧法（「ＬＳＢ」）および消去領域自己昇圧法（「ＥＡＳＢ」）は、すでにプログラムされている素子のチャネルを抑止されている素子のチャネルから絶縁することによって、従来の自己昇圧法の欠点を解決しようとするものである。例えば、図４の素子２２４をプログラムする場合、ＬＳＢとＥＡＳＢでは、素子２４４のチャネルをすでにプログラムされている素子（２４６と２４８）から絶縁することによって素子２４４へのプログラミングを抑止しようとする。ＬＳＢ技法では、プログラムされる素子のビット線は接地され、抑止されている素子のＮＡＮＤストリングのビット線はＶｄｄに接続される。プログラム電圧Ｖｐｇｍ（例えば２０ボルト）を、選択されたワード線に印加する。選択されたワード線の隣接するワード線にはゼロボルトが印加され、残りの選択されていないワード線にはＶｐａｓｓが印加される。例えば、ビット線２０２にはゼロボルトが印加され、ビット線２０４にはＶｄｄが印加される。ドレイン選択線ＳＧＤにはＶｄｄが印加され、ソース選択線ＳＧＳにはゼロボルトが印加される。（素子２２４をプログラムするための）選択されたワード線ＷＬ２はＶｐｇｍである。隣接するワード線ＷＬ１とＷＬ３はゼロボルトであり、他のワード線（例えばＷＬ０）はＶｐａｓｓである。
【００２７】
ＥＡＳＢはＬＳＢと似ているが、ソース側で隣接するワード線だけにゼロボルトが印加されることが異なっている。ドレイン側で隣接するワード線にはＶｐａｓｓが印加される。Ｖｐａｓｓが低すぎると、チャネル中での昇圧の程度が、プログラム外乱を防止するには不十分となる。Ｖｐａｓｓが高すぎると、選択されていないワード線がプログラムされてしまう。例えば、ＷＬ１にはＶｐａｓｓではなくてゼロボルトが印加され、ＷＬ３にはＶｐａｓｓが印加される。１つの実施形態では、Ｖｐａｓｓは７〜１０Ｖである。
【００２８】
ＬＳＢとＥＡＳＢによれば自己昇圧が改善されるが、ソース側の隣接する素子（素子２４６は素子２４４のソース側の隣にある）がプログラムされているか消去されているかによって相違が発生するという問題がある。ソース側の隣接する素子がプログラムされていると、その浮遊ゲートには負の電荷が存在する。そのうえ、制御ゲートにゼロボルトが印加されていると、負に充電されているゲートの下のジャンクションが極端に逆バイアスされ、このため、昇圧されたチャネル内に向けて電子がリークするゲート誘導漏れ電流（ＧＩＤＬ）が引き起こされることがある。ＧＩＤＬは、ジャンクションへの大きなバイアスと、低いまたは負のゲート電圧によって発生し、まさに、ソース側の隣接する素子がプログラムされていて、ドレインジャンクションが昇圧された場合に当てはまる。ＧＩＤＬが発生すると、昇圧された電圧が急速にリークして消滅し、この結果、プログラミングエラーとなる。この現象は、サイズが小さい素子で必要とされる急速かつ高濃度にドーピングされたジャンクションではより厳しい問題となる。漏れ電流が非常に高いと、チャネル領域中での昇圧電位が減少して、その結果、プログラム外乱となりかねない。さらに、プログラムされているワード線がドレインに近いほど、昇圧されたジャンクションに存在する電荷量は少なくなる。したがって、昇圧されたジャンクションにおける電圧は急速に降下して、プログラム外乱を引き起こす。
【００２９】
ソース側の隣接するメモリ素子が消去されていると、浮遊ゲートには正の電荷が発生し、このため、トランジスタの閾値電圧が負になることが多い。トランジスタは、ゼロボルトがワード線に印加されてもオフとならない。メモリ素子がオンの場合には、ＮＡＮＤストリングはＥＡＳＢモードでは動作しない。その替わりに、ＮＡＮＤストリングは自己昇圧モードで動作し、このため、上記の問題がある。このシナリオは、他のソース側の素子がプログラムされていて、このため、ソース側の昇圧を制限する場合には最も発生する確率が高い。この問題は、チャネル長さがより短い場合に最も問題となる。
【００３０】
図５は、本発明を実施するために使用できるフラッシュメモリシステムの一実施形態のブロック図である。このシステムでは、メモリ素子アレイ３０２は、列制御回路３０４と、行制御回路３０６と、Ｃ−ソース制御回路３１０と、ｐ−ウェル制御回路３０８によって制御される。列制御回路３０４は、メモリ素子内に記憶されたデータを読み出すために、プログラム動作中のメモリ素子の状態を判定するために、および、ビット線の電位レベルを制御してプログラミングを促進又はプログラミングを抑止するために、メモリ素子アレイ３０２のビット線に接続されている。行制御回路３０６は、ワード線のうちのいずれかを選択するために、読み出し電圧を印加するために、プログラム電圧を印加するために、および、消去電圧を印加するために、ワード線に接続されている。例えば、ＥＰＲＯＭおよびフラッシュメモリ回路で使用するプログラム電圧レベルは、メモリ回路で一般に使用される電圧より高い。これらは回路に供給される電圧より高いことが多い。これらの高い電圧は、行制御回路３０６（あるいは別の場所）内の電荷ポンプによって生成される。一例においては、行制御回路３０６は、原則的には容量性ワード線に電荷を投入し、電圧を上昇させる。電荷ポンプは入力を電圧Ｖｉｎで受け取り、入力された電圧を電圧増幅の過程において徐々に上昇させ、より高い電圧Ｖｏｕｔを出力する。出力された電圧は負荷、例えばＥＰＲＯＭメモリ回路ワード線に供給される。いくつかの実施例においては、負荷から電荷ポンプへフィードバック信号が送られる。電荷ポンプは、負荷が所定の電圧に達したことを示す信号に応答して停止する。また、負荷が所定の電圧に達すると、過電荷を防ぐために分路が使用される。しかし、これはより多くの電力を消費し、低電圧印加の際には望ましくない。電荷ポンプに関する詳細な情報は、その全体が参照として本発明に組み込まれる米国特許第６，７３４，７１８号に記載されている。
【００３１】
Ｃ−ソース制御回路３１０は、メモリ素子に接続された共通ソース線（図６に「Ｃ−ソース」として示す）を制御する。Ｐ−ウェル制御回路３０８は、ｐ−ウェル電圧を制御する。
【００３２】
メモリ素子内に記憶されたデータは、列制御回路３０４によって読み出され、データ入力／出力バッファ３１２を経由して、外部入力／出力線に出力される。メモリ素子内に記憶されるプログラムデータは、外部入力／出力線を経由してデータ入力／出力バッファ３１２に入力され、列制御回路３０４に転送される。外部入力／出力線は、コントローラ３１８に接続される。
【００３３】
フラッシュメモリデバイスを制御するためのコマンドデータは、コントローラ３１８に入力される。コマンドデータは、どのような動作が要求されているのかをフラッシュメモリに通知する。入力コマンドは、列制御回路３０４と、行制御回路３０６と、Ｃ−ソース制御回路３１０と、ｐ−ウェル制御回路３０８と、データ入力／出力バッファ３１２とを制御する状態マシン３１６に転送される。状態マシン３１６は、さらに、レディ（ＲＥＡＤＹ）／ビジー（ＢＵＳＹ）や、パス（ＰＡＳＳ）／フェイル（ＦＡＩＬ）などの、フラッシュメモリのステータスデータを出力してもよい。いくつかの実施例において、状態マシン３１６は、後述するフローチャートに描かれる工程を含むプログラミングプロセスの管理を担う。
【００３４】
コントローラ３１８は、パーソナルコンピュータ、デジタルカメラ、パーソナルデジタルアシスタントなどのホストシステムに接続されているか、あるいは、接続可能である。コントローラ３１８は、ホストからコマンドをおよびデータを受信するために、および、ホストにデータおよびステータス情報を提供するために、ホストと通信を行う。コントローラ３１８は、ホストからのコマンドを、状態マシン３１６と通信するコマンド回路３１４が解読して実行可能なコマンド信号に変換する。通常、コントローラ３１８は、メモリアレイに書き込まれるか、あるいは、メモリアレイから読み出されるユーザデータのためのバッファメモリを有している。いくつかの実施例においては、プログラミングプロセスはこのコントローラによって管理できる。
【００３５】
一例のメモリシステムは、コントローラ３１８を含む１つの集積回路と、１つ以上の集積回路チップ（それぞれがメモリアレイと、関連する制御、入力／出力、および状態マシン回路とを含む）を備えている。メモリアレイとシステムのコントローラ回路は、１つ以上の集積回路チップ上に一緒に統合される傾向にある。メモリシステムは、ホストシステムの一部として組み込まれていてもよく、又は、ホストシステムに着脱可能に挿入されるメモリカード（又はその他のパッケージ）内に含まれていてもよい。そのような着脱可能なカードは、メモリシステム全体（例えば、コントローラを含む）を含んでいてもよく、又は、メモリアレイおよび関連する周辺回路のみを含んでいてもよい（コントローラはホスト内に組み込まれる）。このように、コントローラ（または制御機能）は、ホスト内に組み込まれることも、又は着脱可能なメモリシステム内に含まれることも可能である。
【００３６】
いくつか実施形態では、図５のコンポーネントのいくつかは、組み合わせることが可能である。さまざまな設計で、図５のコンポーネントのうちで、メモリ素子アレイ３０２以外の１つ以上のコンポーネントが、制御回路と考えることが可能である。例えば、１つ以上の制御回路は、コマンド回路、状態マシン、行制御回路、列制御回路、ウェル制御回路、ソース制御回路およびデータ入／出力回路のうちのどれか１つまたはこれらを組み合わせたものを含んでいる。
【００３７】
図６を参照して、メモリ素子アレイ３０２の構造の例を説明する。一例として、１,０２４個のブロックに区分けされているＮＡＮＤ型フラッシュＥＥＰＲＯＭを説明する。消去動作においては、各ブロックに記憶されたデータは同時に消去される。１つの形態では、ブロックは、同時に消去される素子の最小単位である。本実施形態において、各ブロックには８，５１２列あり、偶数および奇数列に分割される。ビット線も偶数のビット線（ＢＬｅ）と奇数のビット線（ＢＬｏ）に分割される。図６は、直列に接続され、ＮＡＮＤストリングを形成する４つのメモリ素子を示す。４つの素子は各ＮＡＮＤストリングに含まれるように図示されているが、使用する素子の数は４つ以上でも４つ以下でもよい。ＮＡＮＤストリングの一方の端子は、選択トランジスタＳＧＤを介して対応するビット線に接続され、他方の端子は、第二の選択トランジスタＳＧＳを介してＣ−ソース線に接続されている。
【００３８】
読み出しおよびプログラミング動作の一実施形態の間は、４，２５６のメモリ素子が同時に選択される。選択されるメモリ素子は、同じワード線と、同じ種類のビット線（例えば、偶数ビット線又は奇数ビット線）とを有する。したがって、論理ページを形成する５３２バイトのデータを、同時に読み出し又はプログラムすることが可能であり、１つのメモリブロックは、少なくとも８つの論理ページを記憶することが可能である（４本のワード線、それぞれが奇数および偶数ページを有する）。マルチステートメモリ素子の場合、各メモリ素子が２ビットのデータを記憶し、これら２ビットがそれぞれ異なったページに記憶される場合、１つのブロックは１６の論理ページを記憶する。他のサイズのブロックおよびページも、本発明とともに使用されてもよい。さらに、図５および図６に示す構造以外の構造を、本発明を実施するために使用することもできる。例えば、１つの形態においては、ビット線は、全てのビット線がプログラムされかつ同時に（あるいは非同時に）読み取られるように奇数と偶数の線に分割されない。
【００３９】
メモリ素子の消去は、ｐ−ウェルを消去電圧（例えば、２０ボルト）まで引き上げるとともに、選択されたブロックのワード線を接地することによって行われる。ソースおよびビット線はフローティングとする。消去は、メモリアレイ全体、独立したブロック、又はメモリデバイスの一部である別の単位のメモリ素子に対して実行することができる。１つの実施形態においては、浮遊ゲートから電子がｐ−ウェル領域に移動し、閾値電圧は負になる。
【００４０】
読み出しおよび検証動作では、トランジスタをパスゲートとして動作させるために、選択ゲート（ＳＧＤおよびＳＧＳ）と、選択されないワード線（例えば、ＷＬ１が選択されるワード線の場合には、ＷＬ０、ＷＬ２、およびＷＬ３）が、読み出しパス電圧（例えば、４．５ボルト）まで引き上げられる。選択されたワード線ＷＬ１は、各読み出しおよび検証動作について指定されたレベルの電圧に接続され、対応するメモリ素子の閾値電圧が指定されたレベルの電圧より上なのか下なのかが判定される。例えば、２レベル型のメモリ素子の読み出し動作では、選択されたワード線ＷＬ１を接地してもよく、それによって閾値電圧が０Ｖよりも高いのか否かが検出される。２レベル型のメモリ素子の検証動作では、選択されたワード線ＷＬ１を例えば０．８Ｖに接続し、それによって閾値電圧が少なくとも０．８Ｖに到達しているのか否かが検証される。ソースおよびｐ−ウェルは０ボルトである。選択されたビット線は、偶数のビット線（ＢＬｅ）と考えられるが、例えば０．７Ｖのレベルにプリチャージされる。閾値電圧が、ワード線上の読み出し又は検証レベルよりも高い場合には、該当する素子に対応するビット線（ＢＬｅ）の電位レベルは、非導電性のメモリ素子であるために、ハイレベルに維持される。他方、閾値電圧が、読み出し又は検証レベルよりも低い場合には、対応するビット線（ＢＬｅ）の電位レベルは、導電性のメモリ素子がビット線を放電するため、例えば０．５Ｖ未満のローレベルに低下する。これによって、メモリ素子の状態が、ビット線に接続された電圧比較器センス増幅器により検出される。
【００４１】
上記の消去、読み出し、および検証動作は、当業界で知られた技術に従って実行される。したがって、説明した詳細の多くについては、当業者によって変更されることが可能である。当業界で知られた他の消去、読み出しおよび検証技術を使用することもできる。
【００４２】
上述したように、各々のブロックを多くのページに分割することが可能である。一実施形態では、１ページがプログラミングの単位である。いくつかの実施例では、個々のページはセグメントに分割されてもよい。セグメントは、基本的なプログラミング動作として一度に書き込まれる最小数の素子を有している。一般的に、１ページ以上のデータが１行のメモリ素子に記憶される。１ページに１つ以上のセクターを記憶することが可能である。セクターには、ユーザデータとオーバヘッドデータが含まれる。オーバヘッドデータは、セクターのうちのユーザデータから計算されたエラー訂正符号（ＥＣＣ）を含んでいる。コントローラの一部が、データがアレイ中にプログラムされている間にＥＣＣを計算し、また、データがアレイから読み出されている間にこのＥＣＣを用いてチェックする。代替例では、ＥＣＣおよび／または他のオーバヘッドデータを、自身が属するユーザデータとは異なったページ、さらには異なったブロックに記憶する。他の形態では、メモリデバイスの他の部分（例えば状態マシン）がＥＣＣを計算可能である。
【００４３】
ユーザデータを含むセクターは、一般に、磁気ディスクドライブ中のセクターのサイズに対応して５１２バイトである。オーバヘッドデータは、一般的には追加の１６〜２０バイトである。多くのページがブロックを形成しているが、その数値は、例えば、８ページから３２ページ、６４ページ、さらにこれ以上の数値の間のいずれかの数値である。
【００４４】
図７に、それぞれのメモリ素子が２ビットのデータを記憶している場合のメモリ素子アレイの閾値電圧分布を示す。Ｅは、消去されたメモリ素子に対する第１の閾値電圧分布を示している。Ａ、Ｂ、Ｃは、プログラムされたメモリ素子に対する３つの閾値電圧分布を示している。１つの設計では、分布Ｅ中の閾値電圧は負であり、分布Ａ、Ｂ、Ｃ中の閾値電圧は正である。
【００４５】
異なる閾値電圧範囲はそのそれぞれが、データビットの集合の所定の値に対応している。メモリ素子にプログラムされたデータとこの素子の閾値電圧レベルとの間の具体的な関係は、素子に対して採用されるデータ符号化スキームによって異なる。一例では、“１１”を閾値電圧範囲Ｅ（状態Ｅ）に割り当て、“１０”を閾値電圧範囲Ａ（状態Ａ）に割り当て、“００”を閾値電圧範囲Ｂ（状態Ｂ）に割り当て、“０１”を閾値電圧範囲Ｃ（状態Ｃ）に割り当てている。しかしながら、他のスキームを用いている実施形態もある。
【００４６】
メモリ素子からデータを読み出すために３つの読み出し基準電圧Ｖｒａ、Ｖｒｂ、Ｖｒｃが使用される。任意のメモリ素子の閾値電圧がＶｒａ、ＶｒｂおよびＶｒｃより大きいか小さいかをテストすることによって、システムはメモリ素子がどの状態にあるかを判定することが可能である。３つの検証基準電圧Ｖｖａ、Ｖｖｂ、Ｖｖｃも示されている。メモリ素子を状態Ａ、Ｂ、Ｃにプログラムする際には、本システムは、これらのメモリ素子の閾値電圧がそれぞれＶｖａ、Ｖｖｂ、Ｖｖｃ以上であるかどうかテストする。ＶＬおよびＶＨはそれぞれ高位、低位の閾値電圧であり、粗プログラミングあるいは密プログラミングを用いて記憶素子を状態Ａにプログラムする際に使用される。これについては図１０および図１６を参照して後に詳述する。
【００４７】
一実施形態では、フルシーケンスプログラミングとして知られているが、メモリ素子を、消去状態Ｅからプログラムされた状態Ａ、Ｂ、Ｃ（曲線矢印で示されている）のうちのどれにでも直接的にプログラムすることが可能である。例えば、プログラムされるメモリ素子の母集団を最初に消去し、これによってこの母集団中のすべてのメモリ素子が消去状態Ｅとなるようにする。一部のメモリ素子が状態Ｅから状態Ａにプログラムされている間に、他のメモリ素子を状態Ｅから状態Ｂにプログラムしたり、および／または、状態Ｅから状態Ｃにプログラムしたりする。
【００４８】
図８に、互いに異なった２つのページ、すなわち、下位ページと上位ページ分のデータを記憶するマルチステートメモリ素子をプログラムする２パス式技法の例を示す。４つの状態、すなわち、状態Ｅ（１１）、状態Ａ（１０）、状態Ｂ（００）および状態Ｃ（０１）が示されている。状態Ｅの場合、両ページとも“１”を記憶している。状態Ａの場合、下位ページは“０”を記憶し、上位ページは“１”を記憶している。状態Ｂの場合、両ページとも“０”を記憶している。状態Ｃの場合、下位ページは“１”を記憶し、上位ページは“０”を記憶している。ここで、特定のビットパターンがそれぞれの状態に割り当てられているが、別のビットパターンを割り当ててもよい。第１のプログラミングパスでは、素子の閾値電圧レベルが、下位の論理ページにプログラムされるビットにしたがって設定される。このビットが論理“１”であれば、この閾値電圧は変更されないが、これは、前に消去されている結果として適切な状態にあるからである。しかしながら、このプログラムされるビットが論理“０”であれば、この素子の閾値レベルは、矢印４３０で示すように状態Ａにまで引き上げられる。これで、第１のプログラミングパスが完結する。
【００４９】
第２のプログラミングパスでは、素子の閾値電圧レベルが、上位の論理ページにプログラムされるビットにしたがって設定される。この上位論理ページビットが論理“１”を記憶するのであれば、なんらプログラムされない。これは、素子が、下位ページビットのプログラミングに基づいて決まる状態ＥまたはＡの内の一方の状態にあるからである（状態ＥとＡの双方が“１”という上位ページビットを有している）。上位ページビットが論理“０”となるのであれば、閾値電圧はシフトする。第１のパスの結果、素子が消去状態Ｅのままであれば、第２のフェーズで、素子は、閾値電圧が矢印４３４で示すように状態Ｃ内に移るようにプログラムされる。素子が、第１のプログラミングパスの結果として状態Ａにプログラムされている場合、メモリ素子は、矢印４３２で示すように閾値電圧が状態Ｂ内に移るように、第２のパスでさらにプログラムされる。第２のパスの結果、下位ページのデータを変更することなく、上位ページの論理“０”を記憶するように指定された状態に素子をプログラムすることになる。
【００５０】
一実施形態では、２ページ全体を満たすのに十分なデータが書き込まれた場合に、フルシーケンス書き込みを実行するようにシステムをセットアップすることが可能である。２ページ全体を満たすのに十分なデータが書き込まれない場合、プログラミングプロセスは、受信したデータによる下位ページのプログラミングをプログラムすることが可能である。さらにその後にデータが受信されると、本システムは、上位ページをプログラムする。別の実施形態では、このシステムは、下位ページをプログラムするモードで書き込みを始め、次に、ワード線のメモリ素子の全部（またはほとんど）を満たすに十分なデータがその後に受信されればフルシーケンスプログラミングモードに変換することが可能である。このような実施形態のより詳細が、その全体を参照してここに組み込む、発明者サージー・アナトリビッチ・ゴロベッツ（Ｓｅｒｇｙ  Ａｎａｔｏｌｉｅｖｉｃｈ  Ｇｏｒｏｂｅｔｓ）とヤン・リー（Ｙａｎ  Ｌｉ）による、２００４年１２月１４日に出願された「Ｐｉｐｅｌｉｎｅｄ  Ｐｒｏｇｒａｍｍｉｎｇ  ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｉｅｓ  Ｕｓｉｎｇ  Ｅａｒｌｙ  Ｄａｔａ」という名称の米国特許出願第１１／０１３，１２５号に開示されている。
【００５１】
図９Ａ〜９Ｃに、浮遊ゲート間の結合を低減する不揮発性メモリをプログラムする別のプロセスを開示する。このプロセスは、前のページの隣り合ったメモリ素子に書き込んだ後に、特定のページに対する特定のメモリ素子に書き込み動作を実行する。一実施例では、不揮発性メモリ素子はそのそれぞれが、４つのデータ状態を用いて２ビットのデータを記憶する。例えば、状態Ｅが消去された状態で、状態Ａ、ＢおよびＣがプログラムされた状態と仮定する。状態Ｅはデータ１１を、状態Ａはデータ０１を、状態Ｂはデータ１０を、状態Ｃはデータ００を記憶している。隣り合った状態Ａと状態Ｂの間で双方のビットが変化するので、これはノングレイコーディングの例である。データをデータの物理状態に符号化する他の方法も用いることが可能である。それぞれのメモリ素子が２ページ分のデータを記憶している。参照目的で、これらのページのデータを上位ページと下位ページと呼ぶが、別のラベルを付けることも可能である。状態Ａを参照すると、上位ページはビット０を記憶し、下位ページはビット１を記憶する。状態Ｂを参照すると、上位ページはビット１を記憶し、下位ページはビット０を記憶する。状態Ｃを参照すると、双方のページはビットデータ０を記憶する。プログラミングプロセスは、２つのステップのプロセスである。第１のステップでは、下位ページをプログラムする。この下位ページがデータ１の状態にとどまることになっている場合、メモリ素子の状態は状態Ｅのままである。このデータが０にプログラムされることになっている場合、メモリ素子が状態Ｂ’にプログラムされるように、メモリ素子の閾値電圧ＶＴＨを引き上げる。図９Ａに、状態Ｅから状態Ｂ’にメモリ素子をプログラムする様子を示す。図９Ａに示す状態Ｂ’は中間状態Ｂ’である。したがって、図９に示すように検証ポイントを、Ｖｖｂより低いＶｖｂ’として示す。
【００５２】
１つの形態では、あるメモリ素子が状態Ｅから状態Ｂ’にプログラムされると、隣り合ったワード線上のその隣接するメモリ素子がその下位ページに関してプログラムされる。その隣接するメモリ素子をプログラムした後で、浮遊ゲート間の結合作用によって、状態Ｂ’である検討中のメモリ素子の見かけ上の閾値電圧が引き上げられる。これによって、状態Ｂ’の閾値電圧分布の幅を図９Ｂの閾値電圧分布４５０として示す分布にまで広げる作用がある。この閾値電圧分布の見かけ上の拡大は、上位ページをプログラムするときに修正される。
【００５３】
図９Ｃは、上位ページをプログラムするプロセスを示している。メモリ素子が消去された状態Ｅにあって上位ページが１にとどまるのであれば、このメモリ素子は状態Ｅのままである。メモリ素子が状態Ｅにあってその上位ページデータを０にプログラムすることになっているのであれば、このメモリ素子の閾値電圧を引き上げて、メモリ素子が状態Ａとなるようにする。メモリ素子が中間閾値電圧分布４５０を示す状態Ｂ’にあって、上位ページデータが１にとどまることになっている場合、このメモリ素子は最終状態Ｂにプログラムされる。メモリ素子が中間閾値電圧分布４５０を示す状態Ｂ’にあって、上位ページデータがデータ０になることになっている場合、このメモリ素子の閾値電圧を引き上げて、メモリ素子が状態Ｃとなるようにする。図９Ａ〜９Ｃに示すプロセスによって浮遊ゲート間の結合作用が低減されるが、これは、隣接するメモリ素子の上位ページをプログラムした場合にしか、所与のメモリ素子の見かけ上の閾値電圧が影響されないからである。別の状態のコーディングの例として、上位ページデータが１のときには閾値電圧分布４５０から状態Ｃへ移動する、および、上位ページデータが０のときには状態Ｂへ移動することが挙げられる。図９Ａ〜９Ｃに４つのデータ状態と２ページ分のデータに関する例を示すが、ここで教示する概念は、状態が４つより多いまたは少なく、あるいは、２ページではない他の実施例にも適用可能である。様々なプログラミング方法および浮遊ゲート間の結合については、２００５年４月５日に出願された米国特許第１１/０９９，１３３号の「Ｃｏｍｐｅｎｓａｔｉｎｇ  Ｆｏｒ  Ｃｏｕｐｌｉｎｇ  Ｄｕｒｉｎｇ  Ｒｅａｄ  Ｏｐｅｒａｔｉｏｎｓ  Ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」に記載されている。
【００５４】
ビット線結合
【００５５】
ビット線は、一般的には、メモリアレイ、メモリチップまたは他の不揮発性記憶素子集合の全体に亘って互いに近接して配設されている金属製の線である。この配列のため、ビット線間の結合がさまざまな状況で発生し得る。例えば、第１のビット線に印加される電圧が変化すると、隣接する１つ以上のビット線に結合することがある。ある例示のシナリオでは、選択されたビット線への印加電圧が変化する（例えば、抑止レベルからプログラムレベルに低下する）。プログラム電圧パルスの一部の期間中に抑止レベルに電圧が印加され、選択されたビット線上の記憶素子をプログラムする速度が制御される。隣のビット線に電圧を低下させる結合が生じると、そのビット線に接続されている選択ゲートが間違ってオンする場合がある。これは、選択ゲート電圧とビット線電圧との差の関数である選択ゲートのバイアスが、選択ゲートの閾値電圧より一時的に大きくなるからである。選択ゲートがオンすると、選択されていないストリングのチャネルの昇圧電圧が、選択されていないビット線から放電されてしまうため、選択ゲートのオンは好ましくない。このような昇圧電荷はリークして消えてしまう傾向があるが、これは、このような電荷のキャパシタンスがビット線のキャパシタンスよりはるかに小さいからである。その結果、抑止するはずの記憶素子でプログラム外乱が発生し得る。このシナリオに対処するため、選択されたビット線に印加される電圧の変化中に選択ゲート制御電圧を調整することが提案されている。
【００５６】
選択されたビット線に対して抑止電圧が印加される上記の例示のシナリオは、粗／密プログラミング技法を考えると理解することができる。図１０に、ビット線抑止電圧を設定することによってどのように粗プログラミングと密プログラミングが実行されるかを示すタイムラインを示している。ＶＬとＶＨは、所定の状態に対する下位の検証レベルと上位の検証レベルである。上図は記憶素子の閾値電圧の時間に対する変化を示し、下図は、記憶素子に接続されているビット線に印加されるビット線電圧を示している。記憶素子のプログラミング速度は、印加されるプログラミング電圧パルスＶｐｇｍの影響を抑止するビット線抑止電圧を印加することによって遅くすることが可能である。粗／密プログラミングは、最初に、粗プログラミングによって、記憶素子の閾値電圧を迅速に所定レベルまで増加させ、その後、密プログラミングによって低速で増化させることが可能である。特に、粗プログラミングは電圧閾値がＶＬ未満のときに実行され、密プログラミングは電圧閾値がＶＬとＶＨ間にあるときに実行される。記憶素子は、その電圧閾値がＶＨを超えると、抑止モードになって、それ以上のプログラミングや検証から保護される。互いに異なるＶＬとＶＨの値は、マルチステート記憶素子の個々の状態（例えば、状態Ａ、状態Ｂ、状態Ｃ）に対応させることができる。これによって、個々の状態を粗／密プログラミングすることが可能となる。例として、図７を参照すると、ＶＬとＶＨのそれぞれは、記憶素子を状態Ａにプログラミングする際に用いられる下位の電圧閾値と上位の電圧閾値である。
【００５７】
したがって、選択されたビット線に抑止電圧を印加することで、部分的にプログラミングを抑止し、選択されたストリング上の記憶素子の電圧分布を狭めることが可能である。例えば、抑止電圧をＮＡＮＤストリング上のマルチステート記憶素子に印加して、個々の状態の閾値電圧の分布を狭めることができる。これは、プログラムする記憶素子のレベルが検証レベルに近いときに、ビット線に抑止電圧を印加することによって達成可能である。抑止電圧によってプログラミングが低速となり、これによってプログラムされる電圧の閾値レベルをより正確に制御可能となる。１つの方式では、ビット線抑止電圧（一般的には０．５〜１．０Ｖ）は、酸化物中の電場を減少させ、プログラミング中にＮＡＮＤストリングを通過する。このためには、選択ゲート電圧が、この電圧を通過させるに十分高い値（一般的に２．５Ｖ）であることが必要である。
【００５８】
別の実施形態では、図１１と１２に関連して以下に説明するが、ビット線抑止電圧は、プログラミングを防止するに十分高い値（一般的に２．５Ｖ）であるが、図１０の方式と同様に、プログラム電圧パルスの全体の期間ではなくプログラム電圧パルスの一部の期間でのみ出力される。例えば、ビット線は、プログラムパルスの中間部において２．５Ｖから０Ｖまで引き下げられ、これによって、パルス全体の１部でのみプログラムされる。このようなプログラミング技法は、その全体を参照してここに組み込む、２００４年５月５日に出願されたダニエルＣ．グートマン（ＤａｎｉｅｌＣ．Ｇｕｔｅｍａｎ）、ニーマ・モクレシ（Ｎｉｍａ  Ｍｏｋｈｌｅｓｉ）およびユーピン・フォング（Ｙｕｐｉｎ  Ｆｏｎｇ）による「Ｂｉｔｌｉｎｅ  Ｇｏｖｅｒｎｅｄ  Ａｐｐｒｏａｃｈ  Ｆｏｒ  Ｐｒｏｇｒａｍ  Ｃｏｎｔｒｏｌ  Ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」という題名の米国特許出願第１０／８３９，８０６号（代理人整理番号ＳＡＮＤ−０１００８ＵＳ０）でさらに説明されている。
【００５９】
図１１に、粗プログラミングモードにおける電圧と時間の関係を示す。ソース選択ゲート電圧ＶＳＧＳはゼロに設定され、ゲートは閉じた状態が維持される。ソース電圧Ｖｓは１．４Ｖなどの低レベルに設定され、ゲート対ソース電圧は負に維持される。選択されたビット線のビット線電圧Ｖｂｉｔ  ｌｉｎｅはゼロに設定され、このビット線は抑止されない状態とする。一方、選択されていないビット線のＶｂｉｔ  ｌｉｎｅは２．５Ｖなどの抑止レベル（この値はドレイン選択ゲート電圧ＶＳＧＤと比較して十分に高い）に設定される。これによって、抑止されているビット線の選択ゲートが閉じた状態に維持され、抑止されているストリングのチャネルが昇圧電圧を維持可能となる。例えば、ＶＳＧＤを２．５Ｖなどの一定レベルに設定することが可能であるが、この値は選択されていないビット線電圧（例えば、２．５Ｖ）と比較して十分小さい。これによって、選択されていないビット線の選択ゲートを閉じた状態に維持することができる。また、ＶＳＧＤは、選択されたビット線電圧（例えば、０Ｖ）と比較して十分大きい。これによって、選択されたビット線の選択ゲートを開いた状態に維持する。選択されたＮＡＮＤストリング中の電圧ＶＮＡＮＤは０Ｖである。これは、選択されたビット線が０Ｖであり、このビット線と接続している選択ゲートが開いているからである。選択されていないＮＡＮＤストリングの電圧は、７．５Ｖ程度のレベルにまで昇圧される。選択されたワード線の電圧ＶＳＷＬはプログラム電圧Ｖｐｇｍにあるが、これには、例えば、一連の電圧パルスが含まれている。このようなパルスの１つが図１１に示されている。選択されていないワード線の電圧ＶＵＷＬ（例えば、９．０Ｖ）は、選択されていないＮＡＮＤストリングのチャネル中に結合し、それらのチャネルを昇圧する。
【００６０】
タイミングｔ０〜ｔ７を参照すると、選択されていないストリングのＶｂｉｔ  ｌｉｎｅ、ＶＳＧＤ、ＶＳＷＬ、ＶＵＷＬおよびＶＳは図示するように制御されて、ｔ１で所定レベルにまで上昇される。ｔ５でプログラムパルスＶｐｇｍは０Ｖに戻り、そのすぐ後のｔ６で、選択されていないワード線の電圧ＶＵＷＬが０Ｖに戻る。その結果、選択されていないストリングの電圧ＶＮＡＮＤがこれに応じて低下する。一実施例では、そのすぐ後のｔ７で、選択されていないストリングの電圧波形ＶＳＧＤとＶＳが０Ｖに戻る。
【００６１】
図１２に、密プログラミングモードにおける電圧と時間の関係を示す。一実施形態においては、密プログラミングモードでは、選択されたビット線に印加される電圧が、プログラム電圧パルスの一部の期間（例えば、ｔ１とｔ３の間）で上昇されて抑止電圧が印加される。この抑止電圧によって、選択されたビット線に接続されている選択された記憶素子がプログラムされることが防止される。抑止電圧は、例えば、この期間では一定とすることができる。プログラム電圧パルスの残りの期間では、選択されているビット線への印加電圧は、０Ｖなどの低レベルに移行する。ｔ２とｔ４の間に示すように、ドレイン選択ゲート電圧は０Ｖに減少し、その後、２．５Ｖに戻る。その結果、ドレイン選択ゲートトランジスタがオンし、選択されているストリング上の選択されている記憶素子のプログラミングが開始可能となる。図示する例では、この変化はｔ４で発生する。ｔ１とｔ４間の期間では、選択されているストリングのチャネルは、選択されていないストリングのチャネルと同様に、７．５Ｖなどの昇圧電圧を維持する。これは、選択されているストリングの選択ゲートが閉じているからである。選択されているストリングの選択ゲートが閉じているのは、ドレイン選択ゲートトランジスタのゲート対ソース電圧が閾値電圧より低く維持されているからである。ｔ３で選択されているビット線の電圧が、抑止レベル（例えば、２．５Ｖ）からプログラムレベル（例えば、０Ｖ）まで変化（低下）すると、ビット線が互いに近接しているために、この電圧変化が選択されているビット線から隣接する１つ以上の選択されていないビット線に結合する。１つ以上の隣接するビット線が放電すると、この結合によって、抑止電圧の一時的な変化が引き起こされることがあり、この変化は選択されていないビット線に出力される（ｔ３とｔ４の間の破線領域に示す）。選択されていないビット線に対する抑止電圧の低下は、選択されていないストリング中の昇圧電圧を放電させ、その結果、プログラム外乱が生じ得る。
【００６２】
ビット線の結合に対する解決策として、選択されたビット線の電圧の変化に応じてドレイン選択ゲート電圧を調整することができる。特に、ドレイン選択ゲート電圧をその定常状態レベルである２．５Ｖから一時的に減少させることによって、ビット線が一時的に結合して低レベルとなった場合に、選択ゲートトランジスタがオンして、昇圧された電荷の損失が生じることを防止することができる。具体的には、選択されたビット線電圧が変化する直前（例えばｔ２）に、隣接するビット線が結合による影響から回復するのに十分な期間に亘ってＶＳＧＤを一次的に０Ｖにする。その後（例えば、ｔ４で）、ＶＳＧＤを高位の定常状態である２．５Ｖに戻せばよい。ＶＳＧＤを調整することによって、抑止されている記憶素子に印加されている昇圧電圧がビット線結合のために放電されることが防止され、プログラム外乱が防止される。ｔ４でＶＳＧＤが２．５Ｖに戻ると、ドレイン選択ゲートトランジスタがオンして、選択されたストリング上の選択された記憶素子へのプログラミングが開始可能となる。また、ｔ４では、選択されたＮＡＮＤストリング中の電圧ＶＮＡＮＤが７．５Ｖから０Ｖに変化する。別の方式では、ＶＳＧＤと、選択されていない場合のＶｂｉｔ  ｌｉｎｅと、選択されている場合のＶｂｉｔ  ｌｉｎｅを、２．５Ｖではなくて約１．５Ｖなどの低レベルで出力することが可能である。この方式を採用すれば、その結果、電力消費が減少するが、これはメモリの設計では重要な点となっている。
【００６３】
図１３は、不揮発性記憶素子を検証及びプログラムするために用いられるコンポーネントの実施形態のブロック図である。１ビット線分の回路を示す。一実施形態では、ビット線ごとにこのような回路が１つ存在する。別の実施形態では、１対のビット線毎に（例えば、奇数／偶数の対毎に）このような回路が１つ存在する。ビット線はスイッチ５００とキャパシタ５０２に接続されている。キャパシタの他方の端子はグランドなどの基準電位に接続されている。このキャパシタンスはビット線自身のキャパシタンスであることに留意されたい。スイッチ５００は、予備充電電圧（Ｖｐｒｅｃｈａｒｇｅ）回路と、センスアンプ回路５１０の入力に接続されている。信号Ｖｒｅｆもセンスアンプ回路５１０の入力に接続されている。センスアンプ回路５１０の出力からは、粗／密（Ｃ／Ｆ）レジスタ５２０とロックアウトレジスタ５２２に対してデータが出力される。Ｃ／Ｆレジスタ５２０の出力からは、マルチプレクサ５３０と５０４に対してデータが出力される。マルチプレクサ５３０は、ストローブ信号ＴＣとＴＦを受信し、これら２つの信号のどちらかを、粗／密レジスタ５２０からのデータに基づいて選択する。マルチプレクサ５３０の出力は、センスアンプ回路５１０に接続されており、タイミングに関する検出を制御する。
【００６４】
これらのコンポーネントの検証動作は、ビット線放電検証プロセスに基づいて行われる。最初にビット線を予備充電する。次に、検証パルスを、このビット線に接続されているメモリセルの制御ゲートに出力する。すると、このビット線が放電する。この放電の速度に基づいて、記憶素子の電圧が特定の閾値電圧レベルより大きいか小さいかを判定することが可能である。
【００６５】
別の方式では、ロジックを、状態マシン３１６等に存在するファームウエアで実施して、所望の機能を実行することが可能である。
【００６６】
図１４は、検出する際のビット線電圧と時間の関係を示すグラフである。一実施例では、予備充電の開始から、ビット線を時間Ｔの期間に亘って放電させる。時点Ｔにおいてビット線の電圧を基準電圧Ｖｒｅｆと比較する。ビット線電圧ＶＢＬがＶｒｅｆより大きければ、記憶素子の駆動能力は低いので、目標とする閾値電圧を上回るようにプログラムする。時点Ｔにおいてビット線電圧がＶｒｅｆより小さければ、記憶素子の閾値電圧は目標とする閾値電圧未満となる。一実施形態では、粗／密方法を用いてプログラムされている記憶素子の場合、時間Ｔの長さを変更して、粗プログラミングと関連する放電のための時間ＴＣや、密プログラミング中での放電と関連する時間ＴＦが存在するようにすることが可能である。別の実施形態では、粗プログラミング用のＶｒｅｆと密プログラミング用のＶｒｅｆとを設定することによって、粗プログラミングと密プログラミングとの間で比較ポイントを変えるようにすることが可能である。
【００６７】
図１３に示す装置の一実施形態では、実施形態では、粗／密レジスタ５２０は１ビットレジスタ（またはラッチ）であり、特定の記憶素子が粗プログラミングモードにあるか密プログラミングモードにあるかを示す。Ｃ／Ｆレジスタ５２０が記憶する値は、マルチプレクサ５３０に送信される。センスアンプ５１０には、マルチプレクサ５３０が示す基準時間ストローブにおいてビット線電圧を基準電圧Ｖｒｅｆと比較する回路が含まれている。プログラミング中において、記憶素子が粗プログラミングモードにあれば、マルチプレクサ５３０は粗プログラミングモード基準時間ストローブＴＣをセンスアンプ５１０に送信する。粗モード中において、ビット線がＴＣで示す時間内に固定の基準値Ｖｒｅｆ以下にまで放電しなかったために、粗検証プロセスが好適にパスしたとセンスアンプ５１０が判定すれば、センスアンプ５１０は、Ｃ／Ｆレジスタ５２０を粗状態Ｃから密状態Ｆにスイッチさせる。しかしながら、ビット線がＴＦで示す時間内に固定の密モード基準値以下にまで放電しなかったために、密検証プロセスも好適にパスしたとセンスアンプ５１０がさらに判定すれば、センスアンプ５１０は、記憶素子をこれ以上プログラムしないようにロックアウト（抑止）すべきであることをロックアウトレジスタ５２２に示させる。また、記憶素子が密プログラミングモードにあれば、マルチプレクサ５３０は、密モードプログラミング基準時間ストローブＴＦをセンスアンプ５１０に送信する。密モード中において、ビット線がＴＦで示す時間内に固定の基準値Ｖｒｅｆ以下にまで放電しなかったために、密検証プロセスが好適にパスしたとセンスアンプ５１０が判定すれば、センスアンプ５１０は、記憶素子をこれ以上プログラムしないようにロックアウト（抑止）すべきであることをロックアウトレジスタ５２２に示させる。したがって、１つのプログラムパルスが終了するごとに、粗検証ポイントと密検証ポイントが存在する。記憶素子が１つのパルスでは粗検証にも密検証にもパスしないが、次のパルスでは粗検証と密検証の双方にパスするということが考えられる。この場合、記憶素子は粗プログラミングからロックアウトに直接に移行する。これは、記憶素子が粗検証にはパスするが密検証にはフェイルして、次のプログラムパルスで密プログラミングモードに移行する場合にのみ発生する。
【００６８】
スイッチ５００も、マルチプレクサ５０４から入力を受信する。マルチプレクサ５０４は、選択可能な２つの入力、０Ｖ（プログラミングを許容する）とＶｄｄ（プログラミングを禁止する）を有している。別の実施形態では、他の電圧を用いたり、３つ以上の電圧を用いたり（例えば、３つ以上の入力を持つマルチプレクサを用いる）することが可能である。マルチプレクサ５０４は、選択論理回路５３６によって制御される。選択論理回路５３６は、Ｃ／Ｆレジスタ５２０、ロックアウトレジスタ５２２およびタイマー（もしくはカウンタ）５３４からデータを受信する。Ｃ／Ｆレジスタ５２０は、記憶素子が粗モードにあるか密モードにあるかを示す。ロックアウトレジスタ５２２は、記憶素子をこれ以上プログラムしないようにロックアウト（抑止）すべきか否かを示す。一実施形態では、実施形態では、タイマー５３４は、プログラムパルスの開始時にカウントダウンを開始するプログラム可能なタイマーである。タイマー５３４は、プログラムパルスの中間でゼロに到達する（そして、出力でそれを示す）ようにプログラムされている。別の実施形態では、タイマーが、パルスの中間以外の時間を報告することが可能である。
【００６９】
選択論理回路５３６は、記憶素子をプログラムからロックアウトする場合に、マルチプレクサ５０４によってビット線にＶｄｄを印加させる。選択論理回路５３６は、記憶素子が粗モードでプログラム中であるときに、マルチプレクサ５０４によってビット線に０Ｖを印加させる。選択論理回路５３６は、記憶素子が密モードでプログラム中であるときには、初期において、マルチプレクサ５０４によってビット線にＶｄｄを印加させる。選択論理回路５３６は、マルチプレクサ５０４に対して（タイマー５３４により規定されて）送信される選択内容を変更することによってビット線電圧を変化させる。これによって、マルチプレクサ５０４の出力が、プログラムパルスの途中（例えば中間）でＶｄｄから０Ｖに変化する。
【００７０】
図１５に、不揮発性記憶装置をプログラムするプロセスを説明するフローチャートを示す。このプロセスは、ステップ６００に示すように、データのプログラム要求を受信すると、これに応じて開始される。ステップ６０２では、システムによって、メモリの内のプログラムすべき適切な部分を選択する。ステップ６０４で、サイクルカウントをインクレメントする。サイクルカウント（すなわち、プログラミングサイクルの数のカウント値）は、フラッシュメモリアレイ、状態マシン、コントローラまたは他のロケーションに記憶される。一実施形態では、実施形態では、サイクルカウントは、状態マシンに接続されているレジスタに記憶される。ステップ６０６では、選択されたメモリ部分をオプションとして事前プログラムするが、これは、フラッシュメモリの消耗に備えるためである。選択されたセクターまたはページの全ての記憶素子は、同じ閾値電圧範囲にプログラムされる。ステップ６０８では、プログラムすべき全ての記憶素子を消去する。例えば、ステップ６０８は、全ての記憶素子を消去状態Ｅに移すステップを含むことがある。ステップ６１０では、ソフトプログラミングプロセスによって、消去プロセス中に、記憶素子の一部の閾値電圧が消去状態の分布未満の値に低下してしまう問題を解消する。ソフトプログラミングプロセスでは、プログラム電圧パルスを記憶素子に印加することによって、それらの閾値電圧を閾値電圧分布Ｅ内まで増加させる。ステップ６１２では、初期プログラムパルスの値を、例えば、電荷ポンプを適切にプログラムすることによって設定する。ステップ６１４では、プログラムカウントＰＣをゼロに初期設定する。
【００７１】
ステップ６１６では、プログラムパルスＶｐｇｍを１つ以上の適切なワード線に印加する。一般に、多くの記憶／メモリ素子を同時にプログラムすることが可能である。１つの方式では、個々のメモリ素子が、粗プログラミングモード、密プログラミングモードまたはロックアウトモードにあるという場合がある。したがって、同じプログラミングパルスを、選択された１つ以上のワード線上の各々のメモリ素子に印加する。粗モードにあるメモリ素子の場合、経路ブロック６１８上で処理が進行する。これらの素子の場合、ビット線電圧はパルス全体に亘って０Ｖに維持される。密モードにあるメモリ素子の場合、経路６１７上で処理が進行する。ステップ６１９では、ビット線抑止電圧を、プログラミングパルスの一部の期間において関連のビット線に印加する。ステップ６２０では、上述したように、ビット線抑止電圧の変化中に選択ゲート電圧ＶＳＧＤを調整する（例えば、抑止レベル（Ｖｄｄ）から０Ｖに調整する）。ロックアウトされたメモリ素子の処理は図示しないが、これは、プログラミングが実行されないからである。この場合、プログラミングパルスの全期間に亘って抑止電圧が関連のビット線に印加される。
【００７２】
ステップ６２２では、選択された１つ以上のワード線上のメモリ素子を検証して、これらの素子が目標の閾値電圧レベルに到達したかをチェックし、さらに、これらメモリ素子が新しいモードに移行したか（例えば、粗モードから密モードに、密モードからロックアウトモードにまたは粗モードからロックアウトモードに）を判定するモード判定を実行する。すべてのメモリ素子が目標閾値電圧レベルに到達した場合（ステップ６２４）、ステップ６２６でプログラミングプロセスが好適に完了する（ステータス＝パス）。検証できないメモリ素子がある場合は、ステップ６２８で、プログラムカウントＰＣが２０等の限界値未満であるか否かを判定する。プログラムカウントがこの限界値未満でなければ、プログラミングプロセスは失敗となる（ステップ６３０）。プログラムカウントが限界値未満であれば、ステップ６３２で、次のパルスのためのプログラム電圧信号Ｖｐｇｍの値を、ステップサイズ（例えば０．３Ｖ）だけインクレメントし、プログラムカウントＰＣをインクレメントする。目標閾値電圧に到達したメモリ素子は、現在のプログラミングサイクルの残りの部分ではプログラミングからロックアウトされることに留意されたい。ステップ６３２の後は、プロセスはステップ６１６へと続き、次のプログラムパルスを印加する。メモリ素子の各々に対してパスステータスまたはフェイルステータスが宣言されるまで、このプロセスを繰り返す。
【００７３】
図１６は、検証と粗モード／密モード判定とを実行するプロセスの実施形態を説明するフローチャートである。このプロセスは、概して図１５のステップ６２２に対応している。ステップ７６２では、レジスタ（または他の記憶デバイス）をチェックして、プログラム中の特定の記憶素子が粗プログラミングモードにあるか密プログラミングモードにあるか判定する。記憶素子が粗モードにあれば（判断ブロック７６４）、ステップ７６６で粗検証を実行する。例えば、図７を参照すると、状態Ａにプログラムされる記憶素子に対しては、その記憶素子の現在の閾値電圧ＶＴＨが低い閾値電圧ＶＬと比較される。多くの実施形態では、記憶素子がプログラムされ得る各々の閾値電圧分布に対して、低い電圧閾値ＶＬと高い電圧閾値ＶＨとが存在することに留意されたい。記憶素子の閾値電圧が目標状態のＶＨ以上である場合（例えば、ＶＴＨ≧ＶＬ：判断ブロック７７０）、この記憶素子は粗検証テストにパスとなり、その後のステップ７７２でこの記憶素子が密検証テストにパスするかどうか判定する。例えば、状態Ａにプログラムすべき記憶素子の閾値電圧ＶＴＨを高い閾値電圧ＶＨと比較する。判断ブロック７７６で、ＶＴＨ≧ＶＨであれば、この記憶素子は密検証テストもパスとなる。この記憶素子は、例えば、プログラミング動作中にビット線をＶｄｄに昇圧することによって、現在のプログラミングサイクルまたはセッション中にこれ以上プログラムされないように抑止／ロックアウトされる（ステップ７８４）。記憶素子を抑止するまたはロックアウトする他の手段も用いることが可能である。判断ブロック７７６の結果がｎｏであれば、記憶素子は密検証テストにパスせずに、密プログラミングモードに移行する（ステップ７８２）。判断ブロック７７０の結果がｎｏであれば、この記憶素子は粗検証テストにパスせずに、粗プログラミングモードが継続される（ステップ７８０）。
【００７４】
判断ブロック７６４において、記憶素子が密プログラミングモードにあれば、密検証プロセスをステップ７６８で実行する。判断ブロック７７４でＶＴＨ≧ＶＨであれば、密検証テストにパスとなり、この記憶素子は、現在のプログラミングサイクルまたはセッション中にこれ以上プログラムされないように抑止／ロックアウトされる（ステップ７８４）。判断ブロック７７４の結果がｎｏであれば、この記憶素子は、さらなるプログラムから抑止／ロックアウトされることなく、密プログラミングモードが継続される（ステップ７７８）。
【００７５】
上記のプロセスは、個別の記憶素子に対して実行することが可能である。しかしながら、多くの実施形態では、複数の記憶素子を同時にプログラムする。したがって、上記のプロセスを複数の記憶素子に対して同時に実行することも可能である。このようなプログラミング中においては、記憶素子の一部は、粗プログラミングモード、密プログラミングモードまたはプログラミングからの抑止／ロックアウト状態となる。
【００７６】
本発明に関する前述の詳細な説明は、例証と説明のために提示されたものである。本発明を開示する形態そのもので尽きるとかこれに限るとかを意図するものではない。上記の教示に照らし合わせて、多くの修正例や変更例が可能である。説明した実施形態は、本発明とその実際の応用例の原理がもっともよく説明され、これによって、他の当業者が、想定される特定の用途に適しているさまざまな実施形態で、また、さまざまな修正をもって、本発明を利用することが可能となるように選ばれたものである。本発明の範囲は添付クレームによって定義されることを意図するものである。
【図面の簡単な説明】
【００７７】
【図１】図１は、ＮＡＮＤストリングの上面図である。
【図２】図２は、図１のＮＡＮＤストリングの等価回路図である。
【図３】図３は、図１のＮＡＮＤストリングの断面図である。
【図４】図４は、３つのＮＡＮＤストリングを示す回路図である。
【図５】図５は、不揮発性メモリシステムのブロック図である。
【図６】図６は、メモリアレイの編成例を示す図である。
【図７】図７は、消去状態からプログラム状態に直接プログラムするマルチステートデバイスの閾値電圧分布の例を示す図である。
【図８】図８は、消去状態からプログラム状態にツーパスでプログラムするマルチステートデバイスの閾値電圧分布の例を示す図である。
【図９Ａ】図９Ａは、種々の閾値電圧分布を示すとともに、不揮発性メモリをプログラムするプロセスを説明する図である。
【図９Ｂ】図９Ｂは、種々の閾値電圧分布を示すとともに、不揮発性メモリをプログラムするプロセスを説明する図である。
【図９Ｃ】図９Ｃは、種々の閾値電圧分布を示すとともに、不揮発性メモリをプログラムするプロセスを説明する図である。
【図１０】図１０は、ビット線抑止電圧を設定することによって、どのように粗プログラミングと密プログラミングが実行されるかを示すタイムラインを示す図である。
【図１１】図１１は、粗プログラミングモード時の電圧と時間の関係を示す図である。
【図１２】図１２は、密プログラミングモード時の電圧と時間の関係を示す図である。
【図１３】図１３は、不揮発性記憶素子を検証してプログラムするために用いられるコンポーネントの一実施形態を示すブロック図である。
【図１４】図１４は、検出時におけるビット線電圧の時間に対するグラフである。
【図１５】図１５は、フラッシュメモリをプログラムするプロセスの一実施形態を説明するフローチャートである。
【図１６】図１６は、検証と粗モード／密モード判定とを実行するプロセスの一実施形態を説明するフローチャートである。
【図１】
2009512115.tif 000003
【図２】
2009512115.tif 000004
【図３】
2009512115.tif 000005
【図４】
2009512115.tif 000006
【図５】
2009512115.tif 000007
【図６】
2009512115.tif 000008
【図７】
2009512115.tif 000009
【図８】
2009512115.tif 000010
【図９Ａ】
2009512115.tif 000011
【図９Ｂ】
2009512115.tif 000012
【図９Ｃ】
2009512115.tif 000013
【図１０】
2009512115.tif 000014
【図１１】
2009512115.tif 000015
【図１２】
2009512115.tif 000016
【図１３】
2009512115.tif 000017
【図１４】
2009512115.tif 000018
【図１５】
2009512115.tif 000019
【図１６】
2009512115.tif 000020
【手続補正書】
【提出日】平成20年6月6日(2008.6.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
不揮発性メモリをプログラムする方法であって、
不揮発性記憶素子の集合中に含まれており、第１の選択ゲートと第２の選択ゲートを介して、第１のビット線と第２のビット線に接続されている少なくとも第１の不揮発性記憶素子と第２の不揮発性記憶素子にプログラム電圧を印加するステップと、
第１のビット線に印加される電圧を制御することによって、プログラム電圧の期間中に、第１の不揮発性記憶素子のプログラミングを部分的に抑止するステップと、
第２のビット線に抑止電圧を印加することによって、プログラム電圧の期間中に、第２の不揮発性記憶素子のプログラミングを抑止するステップと、
プログラム電圧の期間中に第１のビット線に印加される電圧の電圧変化が生じている間に、第２の選択ゲートに印加される選択ゲート電圧を調整するステップ、
を備えていることを特徴とする方法。
【請求項２】
前記電圧変化には、第１のビット線と第２のビット線の間の結合のために第２のビット線に印加される抑止電圧の電圧低下が含まれることを特徴とする請求項１に記載の方法。
【請求項３】
選択ゲート電圧が前記調整ステップで調整されなかった場合に、前記電圧低下によって第２の選択ゲートがオンすることを特徴とする請求項２に記載の方法。
【請求項４】
前記電圧変化には、第１の不揮発性記憶素子のプログラミングを抑止する第１の電圧レベルから、第１の不揮発性記憶素子のプログラミングを許容する第２の電圧レベルへの電圧の減少が含まれることを特徴とする請求項１に記載の方法。
【請求項５】
前記調整ステップが、選択ゲート電圧を一時的に減少させるステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
選択ゲート電圧が第１の選択ゲートにも印加され、
前記調整ステップが、選択ゲート電圧を、第２の選択ゲートを閉じた状態に維持するために第２のビット線に印加される抑止電圧より低く、かつ、第１の選択ゲートを開いた状態に維持するためにプログラム電圧の少なくとも一部の期間中に第１のビット線に印加される電圧より高い定常状態レベルから、一時的に減少させるステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
プログラム電圧が、連続する電圧パルス中の電圧パルスを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記電圧変化には、プログラム電圧の第１の部分の期間中に第１の不揮発性記憶素子のプログラミングを抑止する第１の電圧レベルから、プログラム電圧の第２の部分の期間中に第１の不揮発性記憶素子のプログラミングを許容する第２のレベルへの電圧の減少が含まれることを特徴とする請求項１に記載の方法。
【請求項９】
不揮発性記憶システムであって、
不揮発性記憶素子の集合中の第１の不揮発性記憶素子及び第２の不揮発性記憶素子と、
第１の不揮発性記憶素子と第２の不揮発性記憶素子に、第１の選択ゲートと第２の選択ゲートを介して接続されている第１のビット線及び第２のビット線と、
第１の不揮発性記憶素子と第２の不揮発性記憶素子、第１のビット線と第２のビット線、及び、第１の選択ゲートと第２の選択ゲートと通信する１つ以上の管理回路であって、データをプログラムする要求を受信するステップと、その要求に応答して、第１の不揮発性記憶素子と第２の不揮発性記憶素子にプログラム電圧を印加するステップと、第１のビット線に印加される電圧を制御することによってプログラム電圧の期間中に第１の不揮発性記憶素子のプログラミングを部分的に抑止するステップと、第２のビット線に抑止電圧を印加することによってプログラム電圧の期間中に第２の不揮発性記憶素子のプログラミングを抑止するステップと、プログラム電圧の期間中に第１のビット線に印加される電圧の電圧変化が生じている間に第２の選択ゲートに印加される選択ゲート電圧を調整するステップとを実行する管理回路、
を備えていることを特徴とする不揮発性記憶システム。
【請求項１０】
前記電圧変化には、第１のビット線と第２のビット線の間の結合のために第２のビット線に印加される抑止電圧の電圧低下が含まれることを特徴とする請求項９に記載の不揮発性記憶システム。
【請求項１１】
選択ゲート電圧が調整されなかった場合に、前記電圧低下によって第２の選択ゲートがオンすることを特徴とする請求項１０に記載の不揮発性記憶システム。
【請求項１２】
前記電圧変化には、第１の不揮発性記憶素子のプログラミングを抑止する第１の電圧レベルから、第１の不揮発性記憶素子のプログラミングを許容する第２の電圧レベルへの電圧の減少が含まれることを特徴とする請求項９に記載の不揮発性記憶システム。
【請求項１３】
前記調整ステップが、選択ゲート電圧を一時的に減少させるステップを含んでいることを特徴とする請求項９に記載の不揮発性記憶システム。
【請求項１４】
選択ゲート電圧が第１の選択ゲートにも印加されることを特徴とする請求項９に記載の不揮発性記憶システム。
【請求項１５】
前記調整ステップが、選択ゲート電圧を、第２の選択ゲートを閉じた状態に維持するために第２のビット線に印加される抑止電圧より低く、かつ、第１の選択ゲートを開いた状態に維持するためにプログラム電圧の少なくとも一部の期間中に第１のビット線に印加される電圧より高い定常状態レベルから、一時的に減少させるステップを含むことを特徴とする請求項１４に記載の不揮発性記憶システム。
【請求項１６】
プログラム電圧が、連続する電圧パルス中の電圧パルスを含むことを特徴とする請求項９に記載の不揮発性記憶システム。
【請求項１７】
前記電圧変化には、プログラム電圧の第１の部分の期間中に第１の不揮発性記憶素子のプログラミングを抑止する第１の電圧レベルから、プログラム電圧の第２の部分の期間中に第１の不揮発性記憶素子のプログラミングを許容する第２のレベルへの電圧の減少が含まれることを特徴とする請求項９に記載の不揮発性記憶システム。
【請求項１８】
第１不揮発性記憶素子と第２の不揮発性記憶素子が、各ＮＡＮＤストリング中に配列されていることを特徴とする請求項９に記載の不揮発性記憶システム。
【請求項１９】
第１の不揮発性記憶素子と第２の不揮発性記憶素子に印加されるプログラム電圧を伝達する共通のワード線をさらに備えていることを特徴とする請求項９に記載の不揮発性記憶システム。
【国際調査報告】
2009512115.tif 000021
2009512115.tif 000022