(57)【要約】  選択されていない（または抑止されている）不揮発性記憶素子を、別の不揮発性記憶素子をプログラムすることを意図するプログラム動作中に、意図せずにプログラミングしてしまうことを「プログラム外乱」と呼ぶ。プログラム外乱による影響を軽減する不揮発性記憶素子をプログラミングおよび／または読み出すシステムを提案する。１つの実施形態では、プログラミングプロセス中に特定のワード線（または他の記憶素子グループ）に対して互いに異なった検証レベルが用いられる。別の実施形態では、読み出しプロセス中に特定のワード線（または他の記憶素子グループ）に対して互いに異なった比較レベルが用いられる。
2009533794.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリを動作させる方法であって、
ソース選択制御線に隣接する不揮発性記憶素子の第１の集合を、読み出し比較値の第１の集合を用いて読み出すことと、
前記ソース選択制御線に隣接しない不揮発性記憶素子の第２の集合であって、読み出し比較値の前記第１の集合のうちの少なくとも１つが、読み出し比較値の前記第２の集合のうちの対応する比較レベルとは異なる集合を、読み出し比較値の第２の集合を用いて読み出すことと、
を含む方法。
【請求項２】
読み出し比較値の前記第１の集合のすべてが、読み出し比較値の前記第２の集合のうちの対応する比較レベルとは異なる、請求項１に記載の方法。
【請求項３】
読み出し比較値の前記第１の集合のうちの前記１つが、読み出し比較値の前記第２の集合のうちの前記対応する比較レベルより大きい、請求項１に記載の方法。
【請求項４】
不揮発性記憶素子の前記第１の集合が、ソース選択制御線の隣の第１の制御線に接続され、
不揮発性記憶素子の前記第２の集合が、第２の制御線に接続される、請求項１に記載の方法。
【請求項５】
第１の制御線に接続される１つ以上の不揮発性記憶素子の第３の集合を、読み出し比較値の第３の集合を用いて読み出すことをさらに含む、請求項４に記載の方法。
【請求項６】
前記不揮発性記憶素子の前記第１の集合を読み出すことは、読み出し比較値の前記第１の集合を用いて第１のデータページを読み出すことと、読み出し比較値の第３の集合を用いて第２のデータページを読み出すこととを含む、請求項１に記載の方法。
【請求項７】
１つ以上の不揮発性記憶素子の前記第１の集合と１つ以上の不揮発性記憶素子の前記第２の集合が、マルチステートＮＡＮＤフラッシュメモリデバイスであり、
前記第１の制御線と前記第２の制御線集合がワード線である、請求項１に記載の方法。
【請求項８】
ソース選択線に隣接する第１の制御線に接続される不揮発性記憶素子の第１の集合と、前記第１の制御線とは異なる制御線の第２の集合に接続される不揮発性記憶素子の第２の集合とを含む不揮発性記憶素子と、
前記不揮発性記憶素子と通信している管理回路であって、不揮発性記憶素子の前記第１の集合を、読み出し比較値の第１の集合を用いて読み出し、１つ以上の不揮発性記憶素子の前記第２の集合を、読み出し比較値の第２の集合を用いて読み出し、読み出し比較値の前記第１の集合のうちの少なくとも１つが、読み出し比較値の前記第２の集合のうちの対応する比較レベルとは異なる管理回路と
を備える、不揮発性記憶システム。
【請求項９】
１つ以上の不揮発性記憶素子の前記第１の集合と１つ以上の不揮発性記憶素子の前記第２の集合が、マルチステートＮＡＮＤフラッシュメモリデバイスである、請求項８に記載の不揮発性記憶システム。
【請求項１０】
前記不揮発性記憶素子がブロックとして配列されており、各々のブロックがページの集合を含み、前記ページはプログラミング単位を定め、ブロックは消去単位を定め、
前記第１の制御線と前記第２の制御線の集合が、共通のブロックの一部であるワード線であり、
前記共通のブロックがビット線の集合を含み、
前記第１の記憶素子集合の各々が、前記ビット線の集合のうちの互いに異なったビット線に接続される、請求項８に記載の不揮発性記憶システム。
【請求項１１】
読み出し比較値の前記第１の集合のうちの前記１つが、読み出し比較値の前記第２の集合のうちの前記対応する比較レベルより大きい、請求項８に記載の不揮発性記憶システム。
【請求項１２】
前記不揮発性記憶素子の前記第１の集合を読み出すことは、読み出し比較値の前記第１の集合を用いて第１のデータページを読み出すことと、読み出し比較値の第３の集合を用いて第２のデータページを読み出すこととを含む、請求項８に記載の不揮発性記憶システム。
【請求項１３】
前記管理回路が、読み出し比較値の第３の集合を用いて、不揮発性記憶素子の第３の集合を読み出し、不揮発性記憶素子の前記第３の集合が、前記第１の制御線に接続される、請求項８に記載の不揮発性記憶システム。
【請求項１４】
読み出し比較値の前記第１の集合のすべてが、読み出し比較値の前記第２の集合のうちの対応する比較レベルより大きい、請求項８に記載の不揮発性記憶システム。
【請求項１５】
前記管理回路が、コントローラ、状態マシン、コマンド回路、制御回路およびデコーダのうちのいずれか１つまたは組み合わせを含む、請求項８に記載の不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリに関する。
【背景技術】
【０００２】
半導体メモリデバイスは、さまざまな電子装置内で、ますます多く使用されるようになっている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピューティング装置、非モバイルコンピューティング装置、およびその他の装置の中で使用されている。電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）およびフラッシュメモリは、特に普及している不揮発性半導体メモリである。
【０００３】
ＥＥＰＲＯＭとフラッシュメモリの多くのタイプは、半導体基板中のチャネル領域の上方に位置するとともにチャネル領域から絶縁されている浮遊ゲートを利用している。この浮遊ゲートは、ソース領域とドレイン領域の間に位置している。制御ゲートが、浮遊ゲートの上方に設けられているとともに浮遊ゲートから絶縁されている。トランジスタの閾値電圧は、浮遊ゲートに保持されている電荷の量によって制御される。すなわち、ソースとドレイン間を導通させてトランジスタをオンさせるために制御ゲートに印加しなければならない電圧の最小値は、浮遊ゲートの電荷レベルによって制御される。
【０００４】
フラッシュメモリシステムの一例では、ＮＡＮＤ型の構造を使用する。ＮＡＮＤ型フラッシュメモリ構造では、２つの選択ゲートの間に複数のトランジスタが直列に配置されている。直列のトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１は、１つのＮＡＮＤストリングを示す上面図である。図２は、その等価回路である。図１および図２に示すＮＡＮＤストリングは、直列の４つのトランジスタ１００、１０２、１０４、１０６を備え、第１の（またはドレイン）選択ゲート１２０と第２の（またはソース）選択ゲート１２２との間に挟まれている。選択ゲート１２０は、ビット線コンタクト１２６を介してＮＡＮＤストリングをビット線に接続する。選択ゲート１２２は、ＮＡＮＤストリングをソース線１２８に接続する。選択ゲート１２０は、選択線ＳＧＤに適切な電圧を印加することによって制御される。選択ゲート１２２は、選択線ＳＧＳに適切な電圧を印加することによって制御される。トランジスタ１００、１０２、１０４、１０６のそれぞれは、制御ゲートと浮遊ゲートを有する。例えば、トランジスタ１００は、制御ゲート１００ＣＧと浮遊ゲート１００ＦＧを有する。トランジスタ１０２は、制御ゲート１０２ＣＧと浮遊ゲート１０２ＦＧとを有する。トランジスタ１０４は、制御ゲート１０４ＣＧと浮遊ゲート１０４ＦＧを有する。トランジスタ１０６は、制御ゲート１０６ＣＧと浮遊ゲート１０６ＦＧを有する。制御ゲート１００ＣＧは、ワード線ＷＬ３に接続されている。制御ゲート１０２ＣＧは、ワード線ＷＬ２に接続されている。制御ゲート１０４ＣＧは、ワード線ＷＬ１に接続されている。制御ゲート１０６ＣＧは、ワード線ＷＬ０に接続されている。
【０００５】
図１および図２では、ＮＡＮＤストリング内に４つのメモリセルを示しているが、４つのトランジスタの使用する構成は、一例であることに留意されたい。ＮＡＮＤストリングは、４つ未満のメモリセルを有していてもよく、又は、４つを超えるメモリセルを有していてもよい。例えば、一部のＮＡＮＤストリングは、８つのメモリセル、１６のメモリセル、３２のメモリセル、６４のメモリセルなどを含むことができる。本明細書における説明では、ＮＡＮＤストリング内のメモリセルの数は、いかなる特定の数にも限定されない。
【０００６】
ＮＡＮＤ構造を用いたフラッシュメモリシステムの一般的なアーキテクチャは、いくつかのＮＡＮＤストリングを含んでいる。例えば、図３は、メモリアレイに含まれる多数のＮＡＮＤストリングのうちの３つのＮＡＮＤストリング２０２、２０４、２０６を示している。図３の各ＮＡＮＤストリングは、２つの選択トランジスタ（ゲートとも呼ばれる）と４つのメモリセルを含んでいる。例えば、ＮＡＮＤストリング２０２は、選択トランジスタ２２０及び２３０、並びにメモリセル２２２、２２４、２２６及び２２８を含んでいる。ＮＡＮＤストリング２０４は、選択トランジスタ２４０及び２５０、並びにメモリセル２４２、２４４、２４６及び２４８を含んでいる。各ＮＡＮＤストリングは、そのソース選択ゲート（例えば選択トランジスタ２３０、２５０）によってソース線に接続されている。選択線ＳＧＳは、ソース選択ゲート（例えば２３０と２５０）を制御するために用いられる。
【０００７】
さまざまなＮＡＮＤストリングが、選択線ＳＧＤによって制御されている選択トランジスタ２２０、２４０などによってそれぞれのビット線に接続されている。それぞれのビット線と、ビット線コンタクトを介してこのビット線に接続されている１つまたはそれぞれのＮＡＮＤストリングとが、メモリセルのアレイを含む列を構成している。ビット線は、複数のＮＡＮＤストリングによって共有されている。一般的には、ビット線は、ＮＡＮＤストリングの頂部を、ワード線に対して直交する方向を走行し、また、１つ以上のセンスアンプに接続されている。
【０００８】
ワード線（ＷＬ３、ＷＬ２、ＷＬ１およびＷＬ０）は、アレイの行を備えている。ワード線ＷＬ３は、メモリセル２２２と２４２の制御ゲートに接続されている。ワード線ＷＬ２は、メモリセル２２４と２４４と２５２の制御ゲートに接続されている。ワード線ＷＬ１は、メモリセル２２６と２４６の制御ゲートに接続されている。ワード線ＷＬ０は、メモリセル２２８と２４８の制御ゲートに接続されている。
【０００９】
各メモリセルは、データ（アナログデータまたはデジタルデータ）を記憶することが可能である。１ビットのデジタルデータを記憶する場合（バイナリメモリセルと呼ばれる）には、このメモリセルの可能な閾値電圧の範囲は２つの範囲に分割され、これらの範囲に論理データ「１」と「０」が割り当てられる。ＮＡＮＤタイプのフラッシュメモリの一例では、この閾値電圧は、メモリセルが消去された後では負の値となり、論理「１」と定義される。プログラミング後の閾値電圧は、正の値となり、論理「０」と定義される。閾値電圧が負の状態で制御ゲートに０ボルトを印加することによって読み出しが試みられた場合、メモリセルはオンとなり、論理「１」が記憶されていることを示す。閾値電圧が正の状態で制御ゲートに０ボルトを印加することによって読み出しが試みられた場合、メモリセルはオンにならず、論理「０」が記憶されていることを示す。
【００１０】
メモリセルはまた、複数のレベルの情報を記憶することが可能である（マルチステートメモリセルと呼ばれる）。複数のレベルのデータを記憶する場合、可能な閾値電圧の範囲は、このデータのレベルの数に分割される。例えば、４つのレベルの情報を記憶する場合、４つの閾値電圧範囲が存在し、これらがデータ値「１１」、「１０」、「０１」、「００」に割り当てられる。ＮＡＮＤタイプのメモリの一例では、消去動作の後の閾値電圧は負の値となり、論理「１１」と定義される。正の閾値電圧は「１０」、「０１」、「００」という状態に対して用いられる。
【００１１】
ＮＡＮＤタイプのフラッシュメモリおよびそれらの動作に関連する例は、次の米国出願／特許出願（それらのすべては、それらの全体が参照により本明細書に援用されるものとする）、米国特許第５，５７０，３１５号、米国特許第５，７７４，３９７号、米国特許第６，０４６，９３５号、米国特許第６，４５６，５２８号、米国特許公報第ＵＳ２００３／０００２３４８号。本明細書の説明はまた、ＮＡＮＤタイプだけではなく他のタイプのフラッシュメモリ、さらに、他のタイプの不揮発性メモリにも当てはまる。
【００１２】
フラッシュメモリセルをプログラミングするとき、プログラム電圧を制御ゲートに印加して、ビット線を接地する。このフラッシュメモリセルのチャネルと浮遊ゲートとの電圧差によって、浮遊ゲートの下のチャネル領域から電子が浮遊ゲートに注入される。電子が浮遊ゲートに蓄積されると、浮遊ゲートは負に帯電し、メモリセルの閾値電圧が上昇する。プログラムするセルの制御ゲートにプログラム電圧を印加するためには、このプログラム電圧を適切なワード線に印加する。上記のように、このワード線はまた、同じワード線を利用している他のそれぞれのＮＡＮＤストリング内にある１つのメモリセルにも接続されている。例えば、図３のメモリセル２２４をプログラミングするとき、プログラム電圧は、メモリセル２４４の制御ゲートにも印加されるが、これは、これらメモリセルの双方が同じワード線を共有しているからである。あるワード線上の１つのセルを、同じワード線に接続されている他のセルをプログラミングすることなくプログラムしたいとき、例えば、メモリセル２２４はプログラムしたいが、メモリセル２４４はプログラムしたくないときに、１つの問題が発生する。プログラム電圧はあるワード線に接続されているすべてのメモリセルに印加されるため、同じワード線上にある選択されていないメモリセル（プログラムするつもりのないメモリセル）が不用意にプログラムされることがある。例えば、メモリセル２４４はメモリセル２２４に隣接しているとする。メモリセル２２４をプログラミングするとき、メモリセル２４４が意図しないのにプログラムされるかもしれないという懸念がある。選択されたワード線上にある選択されていないメモリセルが意図しないのにプログラミングされることを、「プログラム外乱」と呼ぶ。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
プログラム外乱を防止可能な様々な技術が存在する。「自己昇圧法」として知られている１つの方法では、選択されていないＮＡＮＤストリングをこれに対応するビット線から電気的に隔離して、プログラミング中に、パス電圧（例えば７〜１０ボルトであるが、この範囲に限られることはない）を選択されていないワード線に印加する。この選択されていないワード線が選択されていないＮＡＮＤストリングのチャネル領域に結合して、この選択されていないＮＡＮＤストリングのチャネル領域に電圧（たとえば６〜１０ボルト）を発生させ、これによって、プログラム外乱を軽減させる。自己昇圧によって、チャネル内の電圧が上昇し、これによって、トンネル酸化物の両端での電圧差が減少する。その結果、プログラム外乱が軽減される。ここで、この昇圧されたチャネル電圧の変動範囲は非常に大きくなることがある。これは、チャネル電圧がどの程度昇圧されるかは、パス電圧の値と、メモリセルの状態にも依存しており、ＮＡＮＤストリング内のメモリセルがすべて消去状態にあるときに昇圧効率がもっとも高い（チャネル電圧がもっとも高い）からである。
【００１４】
図４と図５に、プログラムされているＮＡＮＤストリングと自己昇圧法によって抑止されているＮＡＮＤストリングを示す。図４は、プログラムされているＮＡＮＤストリングを示す。図４に示すＮＡＮＤストリングは、８個のメモリセル３０４、３０６、３０８、３１０、３１２、３１４、３１６、３１８を含んでいる。これら８個のメモリセルの各々は、浮遊ゲート（ＦＧ）と制御ゲート（ＣＧ）を含んでいる。浮遊ゲート同士の間には、ソース領域／ドレイン領域３３０がある。Ｐ型基板（たとえばシリコン）があって、基板内部にＮ−ウェル領域があって、Ｎ−ウェル領域内にｐ−ウェル領域がある実施形態もある（これらをすべて図示しているわけではないが、これは図面をより分かりやすくするためである）。ここで、ｐ−ウェル領域には、いわゆるチャネルインプランテーションが含まれるが、これは通常はＰ型インプランテーションであり、これによって、メモリセルの閾値電圧や他の特徴が決定したり、決定の助けになったりする。ソース領域／ドレイン領域３３０は、ｐ−ウェル領域内に形成されるＮ＋型拡散領域である。
【００１５】
ＮＡＮＤストリングの一方の端はドレイン選択ゲート３２４である。ＮＡＮＤストリングは、ドレイン選択ゲート３２４によって、ビット線コンタクト３３４を介して対応するビット線に接続されている。ＮＡＮＤストリングの他方の端は、ソース選択ゲート３２２である。ソース選択ゲート３２２によって、ＮＡＮＤストリングは、共通のソース線３３２に接続されている。プログラミング中、プログラミング目的で選択されたメモリセル（たとえばメモリセル３１２）が接続されているワード線にプログラム電圧Ｖｐｇｍが印加される。プログラム電圧Ｖｐｇｍは、一般的には、１２ボルトから２４ボルトの範囲で変動し得る。１つの実施形態では、プログラム電圧信号は、新しいパルス毎にその大きさが増加するパルス集合である。約８ボルトのパス電圧Ｖｐａｓｓが、プログラミングするように選択されていないメモリセルの制御ゲートに印加される。ソース選択ゲート３２２は隔離状態にあって、そのゲート（Ｇ）には０ボルトが印加される。低電圧が共通のソース線３３２に印加される。この低電圧は０ボルトでもよい。しかしながら、ソース線３３２に印加される電圧を０ボルトより少し高くして、ソース選択ゲート３２２の隔離特性を向上させるようにしてもよい。一般的には、電源電圧Ｖｄｄ（例えば２．５ボルト）の範囲にある電圧Ｖｓｇｄは、ドレイン選択ゲート３２４に印加される。０ボルトをビット線コンタクト３３４に対してこれに対応するビット線を介して印加して、選択されたメモリセル３１２のプログラミングを可能とする。チャネル３４０は０ボルトないしはこれに近い値にある。メモリセル３１４のチャネルと浮遊ゲートの間には電圧差があるため、トンネル効果によって、電子がゲート酸化膜（一般にトンネル酸化物とも呼ばれる）を通り抜けて浮遊ゲート内に入る。
【００１６】
図５のＮＡＮＤストリングは、プログラミングを抑止されているＮＡＮＤストリングを示している。このＮＡＮＤストリングは、８個のメモリセル３５０、３５２、３５４、３５６、３５８、３６０、３６２、３６４を含んでいる。このＮＡＮＤストリングはまた、このＮＡＮＤストリングを、ビット線コンタクト３７４を介して対応するビット線に接続しているドレイン選択ゲート３６６と、このＮＡＮＤストリングを、共通のソース線３３２に接続しているソース選択ゲート３６８をも含んでいる。浮遊ゲートスタック同士の間には、ソース領域／ドレイン領域３７０が存在する。図５に示すＮＡＮＤストリングでは、ドレイン選択ゲート３６６のゲートにＶｓｇｄが印加され、ソース選択ゲート３６８のゲートには０ボルトが印加され、共通ソース線３３２には０ボルト（もしくは０ボルトよりも少し高い電圧）が印加されている。ビット線コンタクト３７４には対応するビット線を介して電源電圧Ｖｄｄが印加され、メモリセル３５８のプログラミングを抑止している。
【００１７】
Ｖｄｄが印加されると、ドレイン選択トランジスタ３６６は初期状態においては導電状態となる。したがって、ＮＡＮＤストリングの下のチャネル領域が部分的に充電されて電位が高くなる（０ボルトより高く、一般的にはＶｄｄに等しいないしはほぼ等しい）。この充電は通常、予備充電と呼ばれる。予備充電は、チャネル電位がＶｄｄはまたは、Ｖｓｇｄ−Ｖｔ（ここで、Ｖｔはドレイン選択ゲート３６６の閾値電圧に等しい）より低い電位に達すると自動的に停止する。一般的に、予備充電中は、ＶｓｇｄはＶｓｇｄ−Ｖｔ＞Ｖｄｄとなるように選択する。これによって、ＮＡＮＤストリングの下のチャネル領域をＶｄｄまで予備充電することが可能となるようにする。チャネルがこの電位にまで到達した後では、選択ゲートトランジスタは非導電状態であるか、または、ＶｓｇｄをＶｄｄ（例えば２．５ボルト）に近い値にまで下げることによって非導電状態にする。次いで、ＶｐａｓｓとＶｐｇｍの電圧値を０ボルトからそれぞれの最終値にまで（必ずしも同時にでなくともよい）上昇させる。ドレイン選択ゲートトランジスタ３６６は非導電状態にあるため、ワード線とチャネル領域間の静電結合によってチャネル電位は上昇し始める。この現象は自己昇圧と呼ばれる。図５に示すように、チャネル３８０が、おおよそ均一に昇圧電圧まで昇圧されることが分かる。メモリセル３５８の浮遊ゲートとチャネル３８０の間の電圧差が減少しているため、プログラミングは抑止される。自己昇圧法の技術を含め、ＮＡＮＤ型フラッシュメモリのプログラミングに関する更なる情報（それらのすべては、それらの全体が参照により本明細書に援用されるものとする）は、Ｌｕｔｚｅらによる米国特許第６，８５９，３９７号の「Ｓｏｕｒｃｅ  Ｓｉｄｅ  Ｓｅｌｆ  Ｂｏｏｓｔｉｎｇ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」に見受けられる。
【００１８】
プログラム外乱を解決しようとする別の試みは、消去領域自己昇圧法（「ＥＡＳＢ法」）である。ＥＡＳＢ法では、すでにプログラムされているセルのチャネルを、抑止されているセルのチャネルから隔離しようとする。ＥＡＳＢ法では、選択されたＮＡＮＤストリングのチャネル領域は２つの領域に分割される。一方の領域は、プログラムされた（又は消去された）メモリセルを多く含んでいる可能性のある選択されたワード線のソース側の領域である。他方の領域は、まだ消去状態にある（又は少なくともまだ最終的なプログラム状態にはない）セルを含んでいる選択されたワード線のドレイン側の領域である。これら２つの領域は、低電圧、一般的には０ボルトに印加されているワード線によって互いに分離されている。このように分離されているため、この２つの領域はそれぞれ別の電位に昇圧することが可能である。ほとんどすべての場合に、選択されたワード線のドレイン側の領域は、ソース側の領域より高い電位に昇圧される。最も高く昇圧される領域は消去されたセルを持つ領域であるため、この昇圧方法は、消去領域自己昇圧法（ＥＡＳＢ）と呼ばれる。
【００１９】
上記の昇圧方法ではプログラム外乱を軽減するが、この問題を解消したわけではない。ソース選択ゲートに隣接するメモリセル（例えば図５においてソース選択ゲート３６８に隣接するメモリセル３５０）に発生し得る１つの影響として、ゲート誘導ドレイン・リーク（ＧＩＤＬ）があるが、これはバンド間トンネル効果とも呼ばれる。ＧＩＤＬによって、ＮＡＮＤストリングの下のチャネルがプログラミングしないように抑止された場合に（高電圧に昇圧された場合に）、ソース選択ゲートのところで電子が発生する。次いで、この発生した電子が、ソース選択ゲートに隣接するメモリセルの浮遊ゲートに向かって、強力な横方向の電場によって加速される。これらの電子の一部は、十分なエネルギーを得て浮遊ゲート下のトンネル酸化膜内に、または、この浮遊ゲート自身の内部に注入される。これによって、対応するメモリセルの閾値電圧が変化する。
【００２０】
図６に、図５のＮＡＮＤストリングの一部分を示す。図６では、メモリセル３５０のドレインとチャネルの一部が拡大されている。プログラム抑止動作中（例えば、他のＮＡＮＤストリングがプログラムされる時）にはＮＡＮＤストリングが昇圧されるため、この昇圧されたＮＡＮＤストリングのチャネル領域は高電圧となる（昇圧されたチャネル３８０を参照）。また、一般的に０ボルトに印加されているソース選択ゲート３６８とソース選択ゲート３６８に隣接するメモリセル３５０の間の接合領域も高電圧となる。この印加状態によって、ＧＩＤＬが発生する。これによって、電子とホールの対が生成される可能性が生じる。ホールはｐ−ウェル領域３８４に移動する。電子は、昇圧されたチャネル領域３８０に移動する。一般的に、ソース選択ゲートとソース選択ゲートに隣接するメモリセルの間の接合領域には横方向の電場が存在する。これは、この接合（ドレイン／ソース）が、メモリセル下のチャネル領域と選択ゲート下のチャネル領域の間に大きな電圧差があるため、部分的に空乏化するからである。この電場によって電子を加速することが可能であり、この電子が十分なエネルギーを獲得して、ソース選択ゲートに隣接するメモリセルのトンネル酸化膜内に注入されたり、さらに、このメモリセルの浮遊ゲートにまで到達したりしかねない。いずれの場合も、対応するメモリセルの閾値電圧は、注入された電子が存在することによって変化する。このため、ソース選択ゲートに隣接するメモリセルを読み出すときにエラーが発生する可能性がある。
【００２１】
したがって、プログラム外乱の影響を軽減するための新たなメカニズムが必要となる。
【課題を解決するための手段】
【００２２】
本明細書では、プログラム外乱の影響を軽減する不揮発性記憶素子をプログラミングおよび／または読み出すためのシステムを提案する。実施形態の１つの集合では、プログラミングのプロセス中に、特定のワード線（または他の記憶素子グループ）に対して互いに異なった検証レベルを用いる。マルチステートデバイスを用いる例の１つの集合の場合、１つのプログラム状態、２つのプログラム状態、プログラム状態の別の部分集合またはすべてのプログラム状態に対応する目標レベルを互いに異なったものとすることが可能である。一部の実施形態では、特定のワード線（または他の記憶素子グループ）と関連しているデータのページが異なれば、その目標レベル（１つ、２つ、別の部分集合またはすべてのプログラム状態に対するレベル）も異なるようにすることが可能である。特定のワード線（または他の記憶素子グループ）と接続している記憶素子が異なれば、その目標レベル（１つ、２つ、別の部分集合またはすべてのプログラム状態に対するレベル）も異なるようにすることが可能な実施形態もある。１つの実施形態では、それぞれ異なる目標レベルを受信するワード線を、昇圧領域に対する位置に基づいて選択する。
【００２３】
１つの実施形態では、目標レベルのグループを用いて不揮発性記憶素子の集合をプログラミングし、特定の目標レベルの集合を用いて特定の不揮発性記憶素子の集合をプログラミングする。これによって、特定の不揮発性記憶素子の集合の閾値分布が、プログラミングプロセスの完了時に不揮発性記憶素子の集合に対応する閾値分布内に含まれるようにする。特定の目標レベルの集合のうちの少なくとも１つが、目標レベルの集合に対応する目標レベル未満である。
【００２４】
１つの実施形態では、目標レベルの集合を用いて不揮発性記憶素子の集合をプログラミングし、特定の目標レベルの集合を用いて特定の不揮発性記憶素子の集合をプログラミングする。これによって、特定の不揮発性記憶素子の集合の閾値電圧分布が、プログラミングプロセスの完了時に、不揮発性記憶素子グループに対応する閾値電圧分布からの突出程度が少なくとも減少する（まったく突出しない場合を含む）ようにシフトするようにし、特定の目標レベルの集合のうちの少なくとも１つが、目標レベルの集合に対応する目標レベル未満である。
【００２５】
１つの実施形態では、目標レベルの集合を用いて１つ以上の不揮発性記憶素子の集合をプログラミングし、特定の目標レベルの集合を用いて特定の不揮発性記憶素子をプログラミングする。特定の目標レベル集合のうちの少なくとも１つが、目標レベルの集合の対応する目標レベル未満である。特定の不揮発性記憶素子は、ソース選択ゲートに隣接している。
【００２６】
１つの実施形態では、目標レベルの第１の集合を用いて１つ以上の不揮発性記憶素子の第１の集合をプログラミングし、１つ以上の不揮発性記憶素子の第１の集合をプログラミングした後に、目標レベルの第２の集合を用いて１つ以上の不揮発性記憶素子の第２の集合をプログラミングする。１つ以上の不揮発性記憶素子の第１の集合が、最初にプログラミングされる。一連のプログラミング動作中に、１つ以上の不揮発性記憶素子の第１の集合は第１のワード線に接続され、１つ以上の不揮発性記憶素子の第２の集合は、第１のワード線の後でプログラムされたワード線の集合に接続される。第２の目標レベル集合は、第１の目標レベル集合とは異なっている。
【００２７】
別の実施形態では、プログラム外乱の影響を軽減する不揮発性記憶をプログラミングおよび／または読み出すシステムを提案する。実施形態の１つの集合では、読み出しプロセス中に、特定のワード線（または他の記憶素子グループ）に対して互いに異なった読み出し比較値を用いる。この互いに異なる読み出し比較値を受信するワード線は、プログラミングプロセス中に、昇圧領域の位置に対するワード線の位置に基づいて選ばれる。
【００２８】
１つの実施形態では、読み出し比較値の第１の集合を用いて不揮発性記憶素子の第１の集合を読み出し、読み出し比較値の第２の集合を用いて１つ以上の不揮発性記憶素子の第２の集合を読み出す。不揮発性記憶素子の第１の集合が、第１の制御線に接続される。不揮発性記憶素子の第２の集合が、第１の制御線とは異なる制御線の第２の集合に接続される。読み出し比較値の第１の集合のうちの少なくとも１つは、読み出し比較値の第２の集合の対応する比較レベルと異なっている。実施形態（すべての実施形態ではないが）の一例では、第１の制御線は、ソース選択制御線の隣にある。
【００２９】
１つの実施形態では、目標レベルの第１の集合を用いて不揮発性記憶素子の第１の集合をプログラミングし、同じ目標レベルの第１の集合を用いて１つ以上の不揮発性記憶素子の第２の集合をプログラミングする。不揮発性記憶素子の第１の集合は、第１の制御線と接続している。第１の制御線は、第２の制御線に隣接している。このプロセスではまた、第１の制御線にプログラミング信号を出力し、第２の制御線に信号を出力して、第２の制御線に接続されている不揮発性記憶素子が信号に応答してオフすることを要求する。１つ以上の不揮発性記憶素子の第２の集合は、制御線の集合と接続している。第１と第２の制御線は、制御線の集合には存在しない。１つ以上の不揮発性記憶素子の第１の集合は、読み出し比較値の第１の集合を用いて読み出される。１つ以上の不揮発性記憶素子の第２の集合は、読み出し比較値の第２の集合を用いて読み出される。読み出し比較値の第１の集合のうちの少なくとも１つは、読み出し比較値の第２の集合のうちの対応する比較レベルとは異なる。
【００３０】
本明細書に記載する様々な方法は、様々なデバイスによって実行することが可能である。適切な装置の一例は、不揮発性記憶素子と、不揮発性記憶素子と連通している管理回路とを備えている。不揮発性記憶素子には、不揮発性記憶素子の第１の集合と、不揮発性記憶素子の第２の集合がある。管理回路は、不揮発性記憶素子の第１の集合と不揮発性記憶素子の第２の集合に関連して本明細書に記載する様々な方法を実行する。１つの実施形態では、管理回路は、コントローラ、状態マシン、コマンド回路、制御回路およびデコーダのうちのいずれか１つまたは組み合わせを備えている。回路が、特定の実施形態にとって適する他の要素を備えることが可能な実施形態もある。
【発明を実施するための最良の形態】
【００３１】
図７は、本明細書に記載される１つ以上の実施形態を実施するために使用できるフラッシュメモリシステムの１つの実施形態のブロック図である。他のシステムや実施形態も使用することができる。メモリセルアレイ５０２は、列制御回路５０４と、行制御回路５０６と、ｐ−ウェル領域制御回路５０８と、共通ソース制御回路５１０によって制御される。列制御回路５０４は、メモリセル内に記憶されたデータを読み出すために、およびプログラム動作中のメモリセルの状態を判定するために、およびビット線の電位レベルを制御してプログラミングや消去を促進又は抑止するために、メモリセルアレイ５０２のビット線に接続されている。行制御回路３０６は、ワード線のうちのいずれかを選択するために、および読み出し電圧を印加するために、およびプログラム電圧を印加するために、ワード線に接続されている。行制御回路５０６はワード線に接続されて、ワード線のうちの１つを選択し、読み出し電圧を印加し、列制御回路５０４によって制御されるビット線の電位レベルと合成されたプログラム電圧を印加し、消去電圧を印加する。１つの実施形態では、行制御装置３０６と列制御装置３０４は、適切なワード線とビット線を選択するデコーダを含んでいる。共通ソース制御回路５１０は、メモリセルに接続された共通ソース線（図８に「共通ソース」として示す）を制御する。ｐ−ウェル制御回路５０８は、ｐ−ウェル電圧を制御する。
【００３２】
メモリセル内に記憶されたデータは、列制御回路５０４によって読み出され、データ入力／出力バッファ５１２を経由して、外部Ｉ／Ｏ線に出力される。メモリセル内に記憶されるプログラムデータは、外部Ｉ／Ｏ線を経由してデータ入力／出力バッファ５１２に入力され、列制御回路５０４に転送される。外部Ｉ／Ｏ線は、コントローラ５１８に接続される。
【００３３】
フラッシュメモリデバイスを制御するためのコマンドデータは、コントローラ５１８に入力される。コマンドデータは、どのような動作が要求されているのかをフラッシュメモリに通知する。入力コマンドは、制御回路５１５の一部である状態マシン５１６に転送される。状態マシン５１６は、列制御回路５０４と、行制御回路５０６と、共通ソース制御５１０と、ｐ−ウェル制御回路５０８と、データ入力／出力バッファ５１２とを制御する。状態マシン５１６は、さらに、レディ／ビジーや、パス／フェイルなどの、フラッシュメモリのステータスデータを出力してもよい。
【００３４】
コントローラ５１８は、パーソナルコンピュータ、デジタルカメラ、パーソナルデジタルアシスタントなどのホストシステムに接続されている、又は、接続可能である。コントローラ５１８は、ホストと通信する。ホストは、メモリアレイ５０２に又はメモリアレイ５０２からデータを記憶又は読み出す、およびそのようなデータを供給又は受信するといったコマンドを起動する。コントローラ５１８は、そのようなコマンドを、制御回路５１８の一部であるコマンド回路５１４が解読して実行可能なコマンド信号に変換する。コマンド回路５１４は、状態マシン５１６と通信する。コントローラ５１８は、通常、メモリアレイに書き込まれる、又はメモリアレイから読み出されるユーザデータのためのバッファメモリを有している。
【００３５】
一例のメモリシステムは、コントローラ５１８を含む１つの集積回路と、１つ以上の集積回路チップ（それぞれがメモリアレイと、関連する制御、入力／出力、および状態マシン回路とを含む）を備える。メモリアレイとシステムのコントローラ回路は、１つ以上の集積回路チップ上に一緒に統合される傾向にある。メモリシステムは、ホストシステムの一部として組み込まれていてもよく、又は、ホストシステムに着脱可能に挿入されるメモリカード（又はその他のパッケージ）内に含まれていてもよい。そのような着脱可能なカードは、メモリシステム全体（例えば、コントローラを含む）を含んでいてもよく、又は、関連する周辺回路を伴ったメモリアレイのみを含んでいてもよい（コントローラ又は制御機能はホスト内に組み込まれる）。このように、コントローラは、ホスト内に組み込まれることも、又は着脱可能なメモリシステム内に含まれることも可能である。
【００３６】
いくつかの実施形態では、図７の構成要素のうちのあるものは、統合することが可能である。さまざまな設計で、図７の構成要素のうちで、メモリセルアレイ５０２以外の１つ以上の構成要素が（単独、又は統合において）、管理回路と考えることが可能である。たとえば、１つの管理回路は、制御回路５１５、コマンド回路５１４、状態マシン５１６、列制御回路５０４、行制御回路５０６、ｐ−ウェル制御回路５０８、共通ソース制御回路５１０、およびデータ入／出力回路５１０のうちのどれか１つまたはこれらを統合したものを含むことができる。
【００３７】
図８を参照して、メモリセルアレイ５０２の構造の一例を説明する。一例として、１，０２４のブロックに区分化されているＮＡＮＤ型フラッシュＥＥＰＲＯＭを説明する。それぞれのブロックに記憶されたデータは同時に消去することが可能である。１つの実施形態では、ブロックは、同時に消去されるメモリセルの最小単位である。この例では、それぞれのブロックに８，５１２の列がある。それぞれのブロックは一般的に、プログラミングの単位となり得る多くのページに分割される。他のデータプログラミング単位も可能である。１つの実施形態では、個々のページはセグメントに分割されてもよいが、このセグメントが含んでいる、基本的なプログラミング動作として一時に書き込まれるセルの数は最小になり得る。一般的には、１ページ以上のデータが、１行のメモリセルに記憶される。
【００３８】
図８に示す各々のブロックには、偶数ビット線（ＢＬｅ）と奇数ビット線（ＢＬｏ）に分割される８，５１２の列がある。偶数／奇数ビット線構造ャでは、共通のワード線に沿っており、奇数ビット線に接続されているメモリセルが、ある時点でプログラムされる。共通のワード線に沿っており、偶数ビット線に接続されているメモリセルが、別の時点でプログラムされる。図８は、ＮＡＮＤストリングを形成するように連続して接続されている４つのメモリセルを示す。図８では、１つのＮＡＮＤストリングに含まれるセルとして４つのセルを示しているが、４つより多い数又は少ない数でもよい（例えば１６個、３２個または別の数でもよい）。ＮＡＮＤストリングの一方の端子は、ドレイン選択ゲート（選択ゲートドレイン線ＳＧＤに接続されている）を介して対応するビット線に接続されており、もう一方の端子は、ソース選択ゲート（選択ゲートソース線ＳＧＳに接続されている）を介して共通ソースに接続されている。
【００３９】
他の実施形態では、ビット線が奇数ビット線と偶数ビット線に分割されていない。このような構造は一般に、全ビット線構造と呼ばれる。全ビット線構造では、あるブロックの全てのビット線を、読み出し動作とプログラム動作中に同時に選択することが可能である。共通のワード線に沿っており、いずれかのビット線に接続されているメモリセルを同時にプログラムすることが可能である。
【００４０】
別の実施形態では、ビット線を平面に分割している。たとえば、左側平面（最も左側の４２５６個のビット線）と右側平面（最も右側の４２５６個のビット線）がありえる。各平面は互いに別個にプログラムしたり双方同時にプログラムしたりすることが可能である。一部の実施形態では、３つ以上の平面がありえる。他の配置を用いることも可能である。
【００４１】
奇数／偶数ビット線構造を使用する１つの実施形態では、読み出しおよびプログラミング動作中に４，２５６のメモリセルが同時に選択される。選択されるメモリセルは、同じワード線（例えば、ＷＬ２−ｉ）と、同じ種類のビット線（例えば、偶数ビット線）とを有する。したがって、５３２バイトのデータが同時に読み出し又はプログラムされることが可能である。同時に読み出し又はプログラムされるこれらの５３２バイトのデータは、１つの論理ページを形成する。したがってこの例では、１つのブロックは、少なくとも８つの論理ページを記憶することが可能である。各メモリセルが２ビットのデータ（例えば、マルチステートメモリセル）を記憶する場合、１つのブロックは１６のページを記憶する。他のサイズのブロックおよびページも使用されてもよい。さらに、図７および図８に示す構造以外の構造を、実施形態として実施することもできる。
【００４２】
読み出し動作と検証動作では、選択されたブロックの選択ゲートを１つ以上の選択電圧に上昇させ、選択されたブロックのうちの選択されていないワード線（たとえばＷＬ０、ＷＬ１、ＷＬ３）を読み出しパス電圧（たとえば４．５ボルト）に上昇させて、トランジスタをパスゲートとして動作させる。選択されたブロックの選択されたワード線（たとえばＷＬ２）は基準電圧に接続されるが、基準電圧のレベルは、読み出し動作と検証動作のそれぞれに対して指定される。これによって、関連するメモリセルの閾値電圧がこのようなレベルより高いか低いかを判定するようにする。例えば、バイナリメモリセルの読み出し動作では、選択されたワード線ＷＬ２を接地し、これによって、閾値電圧が０Ｖより高いかどうか検出するようにする。バイナリメモリセルの検証動作では、選択されたワード線ＷＬ２を、例えば０．８ボルトに接続し、これによって、プログラミングが進行するに連れて、閾値電圧が０．８ボルトという目標レベルに到達したかどうか検証されるようにする。読み出しおよび検証中は、ソースとｐ−ウェルは０ボルトにある。選択されたビット線（ＢＬｅ）は、例えば０．７Ｖというレベルにまで予備充電される。閾値電圧が読み出しレベルまたは検証レベルより高ければ、関連のビット線（ＢＬｅ）の電位レベルは高レベルを維持するが、これは、関連のメモリセルが非導電性であるからである。一方で、閾値電圧が読み出しレベルまたは検証レベルより低ければ、関連のビット線（ＢＬｅ）の電位レベルは、例えば０．５ボルト未満という低レベルまで減少するが、これは、関連のメモリセルが導電性であるからである。メモリセルの状態は、ビット線に接続されて、接続された結果としてのこのビット線の電圧を感知するセンスアンプによって検出される。メモリセルがプログラムされたか消去されたかの違いは、正味の負電荷が浮遊ゲートに蓄積されているかどうかで決まる。たとえば、負電荷が浮遊ゲートに蓄積されていれば、閾値電圧は高くなり、トランジスタをエンハンスメントモードで動作可能となる。別の実施形態では、メモリセルは、メモリセル中を導通する電流を検出することによって読み出すことが可能である。
【００４３】
一例では、メモリセルをプログラミングするとき、ドレインとｐ−ウェルは０ボルトを受け、制御ゲートは大きさが漸増する一連のプログラミングパルスを受ける。１つの実施形態では、この一連のパルスの大きさは１２〜２４ボルトの範囲である。この一連のパルスの範囲が異なりえる実施形態もある。これらパルスの大きさは、パルス毎に所定のステップサイズだけ増加する。複数ビットのデータを記憶するメモリセルを備えている１つの実施形態では、例示のステップサイズは０．２ボルト（または０．４ボルト）である。メモリセルをプログラミングしている間、プログラミングパルス同士間の期間で検証動作を実行する。十分にプログラムされたことが検証されたセルを、ビット線電圧を０からＶＤＤ（たとえば２．５ボルト）まで上昇させて、例えばＮＡＮＤセルで、後続のすべてのプログラミングパルスに対してロックアウトして、これらメモリセルに対するプログラミングプロセスを終了させる。
【００４４】
プログラムプロセスが成功裏に終了すれば、メモリセルの閾値電圧は、それぞれ必要に応じて、プログラム済みメモリセルの１つ以上の閾値電圧分布又は消去済みメモリセルの閾値電圧分布に含まれるはずである。図９に、それぞれのメモリセルが２ビットのデータを記憶している場合における、メモリセルアレイの一例の閾値電圧分布を示す。図９は、消去されたメモリセルの第１の閾値電圧分布Ｅを示している。プログラムされたメモリセルの３つの閾値電圧分布Ａ、Ｂ、Ｃもまた、示されている。１つの実施形態では、分布Ｅ（物理的状態Ｅとも呼ばれる）中の閾値電圧は負であり、分布Ａ、Ｂ、Ｃ（物理的状態Ａ、Ｂ、Ｃとも呼ばれる）中の閾値電圧は正である。
【００４５】
図９に示す、異なる閾値電圧範囲はそれぞれが、データビットの集合の所定の値に対応している。メモリセルにプログラムされたデータとこのメモリセルの閾値電圧レベルとの間の具体的な関係は、メモリセルに対して採用されるデータ符号化スキームによって異なる。例えば、その双方を、それらの全体が参照により本明細書に援用されるものとする米国特許第６，２２２，７６２号と米国特許公報第２００４／０２５５０９０号には、マルチステートフラッシュメモリセルに対するさまざまなデータ符号化方式が解説されている。１つの実施形態では、グレイコード割り当て法を用いて閾値電圧範囲に対してデータ値を割り当て、これで、浮遊ゲートの閾値電圧がその隣の物理的状態に誤ってシフトしても、たった１ビットしか影響されないようにする。１つの例では、「１１」を閾値電圧範囲Ｅ（状態Ｅ）に割り当て、「１０」を閾値電圧範囲Ａ（状態Ａ）に割り当て、「００」を閾値電圧範囲Ｂ（状態Ｂ）に割り当て、「０１」を閾値電圧範囲Ｃ（状態Ｃ）に割り当てている。しかしながら、グレイコードを用いない実施形態もある。図９では４つの状態を示しているが、本発明は、４つより多い状態又は少ない状態を持つ構造を含む他のマルチステート構造でも用いることが可能である。
【００４６】
図９はまた、メモリセルからデータを読み出すための３つの読み出し比較値として、基準電圧Ｖｒａ、Ｖｒｂ、Ｖｒｃを示している。所与のメモリセルの閾値電圧がＶｒａ、ＶｒｂおよびＶｒｃより大きいか小さいかをテストすることによって、本システムは、メモリセルがどの状態にあるかを判定することが可能である。
【００４７】
図９はまた、３つの検証レベルとして、電圧Ｖｖａ２、Ｖｖｂ２、Ｖｖｃ２を示している。メモリセルを状態Ａにプログラミングする際には、本システムは、これらのメモリセルの閾値電圧がＶｖａ２以上であるかどうかテストする。メモリセルを状態Ｂにプログラミングする際には、本システムは、これらのメモリセルの閾値電圧がＶｖｂ２以上であるかどうかテストする。メモリセルを状態Ｃにプログラミングする際には、本システムは、これらのメモリセルの閾値電圧がＶｖｃ２以上であるかどうかを決定する。
【００４８】
１つの実施形態では、総シーケンスプログラミングとして知られているが、メモリセルを、消去状態Ｅからプログラム済み状態Ａ、Ｂ、Ｃのうちのどれにでも直接的にプログラムすることが可能である。一部のメモリセルが状態Ｅから状態Ａにプログラムされている間に、他のメモリセルを状態Ｅから状態Ｂにプログラムしたりおよび／または状態Ｅから状態Ｃにプログラムしたりする。
【００４９】
上記の総シーケンスプログラミングに加えて、図９に、互いに異なった２つのページ、すなわち、下位ページと上位ページ分のデータを記憶しているマルチステートメモリセルをプログラミングする２パス式技法の例を示す。状態Ｅの場合、両ページとも「１」を記憶している。状態Ａの場合、下位ページは「０」を記憶し、上位ページは「１」を記憶している。状態Ｂの場合、両ページとも「０」を記憶している。状態Ｃの場合、下位ページは「１」を記憶し、上位ページは「０」を記憶している。ここで、特定のビットパターンがそれぞれの状態に割り当てられているが、別のビットパターンを割り当ててもよい。
【００５０】
第１のプログラミングパスでは、メモリセルの閾値電圧レベルが、下位の論理ページにプログラムされるビットにしたがって設定される。このビットが論理「１」であれば、この閾値電圧は変更されないが、これは、前に消去されている結果として適切な状態にあるからである。しかしながら、このプログラムされるビットが論理「０」であれば、このセルの閾値電圧レベルは、矢印６００で示すように状態Ａにまで引き上げられる。これで、第１のプログラミングパスが完結する。
【００５１】
第２のプログラミングパスでは、メモリセルの閾値電圧レベルが、上位の論理ページにプログラムされるビットにしたがって設定される。この上位論理ページビットが論理「１」を記憶するのであれば、なんらプログラミングされないが、これは、このセルが、双方ともが「１」という上位ページビットを有している、下位ページビットのプログラミングしだいで決まる状態ＥまたはＡのうちの一方の状態にあるからである。上位ページビットが論理「０」となるのであれば、閾値電圧はずれる。第１のパスの結果、セルが消去状態Ｅのままであれば、第２のフェーズで、このセルは、閾値電圧が、矢印６０４で示すように状態Ｃ内に来るように増大されるようにプログラムされる。このセルが、第１のプログラミングパスの結果として状態Ａにプログラムされた場合、メモリセルは、矢印６０２で示すように閾値電圧が状態Ｂ内に来るように、第２のパスでさらにプログラムされる。第２のパスの結果、下位ページのデータを変更することなく、上位ページの論理「０」を記憶するように指定された状態にセルをプログラムすることになる。
【００５２】
１つの実施形態では、ページ全体を満たすに十分なデータを書き込まれた場合に、総シーケンス書き込みを実行するようにシステムをセットアップすることが可能である。ページ全体を満たすに十分なデータが書き込まれない場合、プログラミングプロセスは、受信したデータによる下位ページのプログラミングをプログラムすることが可能である。さらにその後にデータが受信されると、本システムは、上位ページをプログラムする。別の実施形態では、このシステムは、ワード線のメモリセルの全部（またはほとんど）を満たすに十分なデータがその後に受信されるのであれば、下位ページをプログラムするモードで書き込みを始めるとともに、総シーケンスプログラミングモードに変換することが可能である。このような実施形態のさらなる詳細が、その全体を参照して本明細書に援用される、発明者Ｓｅｒｇｙ  Ａｎａｔｏｌｉｅｖｉｃｈ  ＧｏｒｏｂｅｔｓとＹａｎ  Ｌｉらによる、２００４年１２月１４日に出願された「Ｐｉｐｅｌｉｎｅｄ  Ｐｒｏｇｒａｍｍｉｎｇ  ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｉｅｓ  Ｕｓｉｎｇ  Ｅａｒｌｙ  Ｄａｔａ」という名称の米国特許出願第１１／０１３，１２５号に開示されている。
【００５３】
図１０Ａ〜Ｃに、前のページの隣接するメモリセルに書き込んだ後に特定のページに関するなんらかの特定のメモリセルに書き込み動作を実行することによって、この特定のメモリセルに対する、浮遊ゲート同士のカップリングの影響を軽減する不揮発性メモリをプログラミングする別のプロセスを示す。図１０Ａ〜Ｃに示すこのプロセスの１つの実施形態では、この不揮発性メモリセルのそれぞれが、４つのデータ状態を用いてメモリセル毎に２ビットのデータを記憶する。例えば、状態Ｅが消去された状態で、状態Ａ、ＢおよびＣがプログラムされた状態と仮定する。状態Ｅはデータ１１を記憶している。状態Ａはデータ０１を記憶している。状態Ｂはデータ１０を記憶している。状態Ｃはデータ００を記憶している。隣り合った状態Ａと状態Ｂの間で双方のビットが変化するので、これはノングレイコーディングの例である。データをデータの物理的状態に符号化する他の方法も用いることが可能である。それぞれのメモリセルが２ページ分のデータを記憶している。参照目的で、これらのページのデータを下位ページと上位ページと呼ぶが、別のラベルを付けることも可能である。図１０Ａ〜Ｃのプロセスに対する状態Ａを参照して、上位ページデータは０、下位ページデータは１とする。状態Ｂを参照して、上位ページデータは１、下位ページデータは０とする。状態Ｃを参照して、双方のページはデータ０を記憶する。
【００５４】
図１０Ａ〜Ｃのプログラミングプロセスは、２つのステップのプロセスである。第１のステップでは、下位ページをプログラムする。この下位ページがデータ１の状態にとどまることになっている場合、メモリセルの状態は状態Ｅのままである。このデータが０にプログラムされることになっている場合、メモリセルが状態Ｂ’にプログラムされるように、メモリセルの閾値電圧を引き上げる。そこで図１０Ａに、状態Ｅから状態Ｂ’にメモリセルをプログラミングする様子を示す。図１０Ａに示す状態Ｂ’は中間状態Ｂである。したがって、検証目標レベルを、Ｖｖｂ２より低いＶｖｂ２’として示す。
【００５５】
１つの実施形態では、あるメモリセルが状態Ｅから状態Ｂ’にプログラムされた後では、ＮＡＮＤストリング中のその隣のメモリセルはその下位ページに対してプログラムされる。例えば、図２を見ると、メモリセル１０６の下位ページがプログラムされた後で、メモリセル１０４の下位ページがプログラムされる。メモリセル１０４をプログラミングした後では、メモリセル１０４の閾値電圧が状態Ｅから状態Ｂ’に上昇していれば、浮遊ゲート同士間の結合による影響のため、メモリセル１０６の見かけ上の閾値電圧が上昇する。これによって、状態Ｂの閾値電圧分布の幅を図１０Ｂの閾値電圧分布６２０として示す分布にまで広げる作用がある。この閾値電圧分布の見かけ上の拡大は、上位ページをプログラミングするときに修正される。
【００５６】
図１０Ｃは、上位ページをプログラミングするプロセスを示している。メモリセルが消去された状態Ｅにあって上位ページが１のままとどまるのであれば、このメモリセルは状態Ｅのままである。メモリセルが状態Ｅにあってその上位ページデータを０にプログラミングすることになっているのであれば、このメモリセルの閾値電圧を引き上げて、メモリセルが状態Ａとなるようにする。メモリセルが中間閾値電圧分布６２０中にあって、上位ページデータが１にとどまることになっている場合、このメモリセルは最終状態Ｂにプログラムされる。メモリセルが中間閾値電圧分布６２０中にあって、上位ページデータがデータ０になることになっている場合、このメモリセルの閾値電圧を引き上げて、メモリセルが状態Ｃとなるようにする。図１０Ａ〜１０Ｃに示すプロセスによって、浮遊ゲート同士間の結合による影響が減少するが、これは、セルが、図９のように状態Ｅから状態Ｃにプログラムされるのではなく、状態Ｅから状態Ａに又は状態Ｂ’から状態Ｃにプログラムされると、上位ページをプログラミングしている間に発生する最大のＶｔシフトが減少し、その結果、隣のメモリセルの上位ページをプログラミングすることによる所与のメモリセルの見かけ上の閾値電圧に対する影響が軽減されるためである。図１０Ａ〜Ｃは４つのデータ状態と２つのページに対する一例を示しているが、図１０Ａ〜Ｃによって示される概念は、４つ以上又は４つ未満の状態や、２ページ以上又は２ページ未満である他の実施形態にも適用することができる。
【００５７】
ここで、さまざまなページをプログラミングするさまざまな順序が存在する。本発明は、特定の実施形態にとって適切なように、さまざまなページをプログラミングするさまざまな多くの順序に用いることが可能である。プログラミングに関するさらなる情報は、その全体を参照して本明細書で援用されるＪｉａｎ  Ｃｈｅｎによって２００５年４月５日に出願された米国特許出願第１１／０９９，１３３号「Ｃｏｍｐｅｎｓａｔｉｎｇ  ｆｏｒ  Ｃｏｕｐｌｉｎｇ  Ｄｕｒｉｎｇ  Ｒｅａｄ  Ｏｐｅｒａｔｉｏｎｓ  ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」に見受けられる。
【００５８】
プログラム外乱による影響を軽減するために、プログラミングプロセスの１つ以上の検証ステップ中で特定のワード線（または他の記憶素子グループ）に対してさまざまな目標検証レベルを用いることが可能である。図１１に、ソース選択ゲートとソース選択線に隣接するワード線に対する目標レベルの１つの集合と、その他のワード線に対する目標レベルの別の集合とを用いるプロセスの１つの実施形態を説明するフローチャートを示す。図１１のステップ６５０で、最初にプログラムされるワード線であり、また、ソース選択線ＳＧＳの隣のワード線であるワード線ＷＬ０（図２、３、８を参照）を、目標レベルの第１の集合を用いてプログラムする。すなわち、ＷＬ０に接続されているメモリセルのすべてまたは部分集合を目標レベルの第１の集合を用いてプログラムして、それぞれのメモリセルがプログラミングを完了したかどうか検証する。ステップ６５２で、残りの（または別の部分集合の）ワード線を、目標レベルの第２の集合を用いてプログラムする。すなわち、例えば、ＷＬ１〜ＷＬ４に接続されているメモリセルのすべてまたは部分集合を目標レベルの第２の集合を用いてプログラムして、それぞれのメモリセルがプログラミングを完了したかどうか検証する。図５を見ると、ワード線ＷＬ０は昇圧領域３８０のエッジのところにある。
【００５９】
１つの実施形態では、目標レベルの第１の集合はＶｖａ１、Ｖｖｂ１およびＶｖｃ１を含んでおり、第２の目標レベル集合はＶｖａ２、Ｖｖｂ２およびＶｖｃ２を含んでいる。１つの実施形態では、Ｖｖａ１は対応するＶｖａ２より低い１００〜２００ｍＶ台であり、Ｖｖｂ１は対応するＶｖｂ２より低い１００〜２００ｍＶ台であり、Ｖｖｃ１は対応するＶｖｃ２より低い１００〜２００ｍＶ台である。
【００６０】
目標レベルの第１の集合の部分集合が、目標レベルの第２の集合の部分集合と同じであり得るような実施形態もある。これは、一部の実施形態では、プログラム外乱が、プログラムされた状態のうちの一部の状態（たとえば状態Ａまたは状態ＡとＢ）にあるメモリセルにとって問題となるだけの場合があるからである。したがって、一部の実施形態では、目標レベルの第１の集合はＶｖａ１、Ｖｖｂ２およびＶｖｃ２を含んでおり、目標レベルの第２の集合はＶｖａ２、Ｖｖｂ２およびＶｖｃ２を含んでいる。目標レベルの第１の集合がＶｖａ１、Ｖｖｂ１およびＶｖｃ２を含んでおり、目標レベルの第１の集合がＶｖａ２、Ｖｖｂ２およびＶｖｃ２を含んでいる実施形態もある。他の順列でも実施可能である。
【００６１】
第１の集合と第２の集合の目標レベルに含まれる目標レベルは、あるメモリセルがいつプログラミングを終了したかを判定するためにプログラミングプロセス中で用いられる比較ポイントである。例えば、状態Ａにプログラムすることが意図されているＷＬ０上のメモリセルは、その閾値電圧がＶｖａ１に到達したときにプログラミングプロセスが終了し、状態Ｂにプログラムすることが意図されているＷＬ３上のメモリセルは、その閾値電圧がＶｖｂ２に到達したときにプログラミングプロセスが終了する。
【００６２】
２フェーズの粗／密プログラミング方法を用いてプログラムするデバイスがいくつか存在する。第１のフェーズである粗プログラミングフェースでは、閾値電圧を速く上昇させようとして、緊密な閾値分布を達成することには比較的注意を払わない。第２のフェーズである密プログラミングフェースでは、閾値電圧をゆっくりと上昇させて目標の閾値電圧に到達させ、同時に、緊密な閾値分布を達成しようとする。粗／密プログラミング方法の例は、その全体を参照して本明細書で援用される次の特許文献に見受けられる。米国特許公報第２００５／０１６２９１６号、米国特許第６，３０１，１６１号、米国特許第５，７１２，８１５号、米国特許第５，２２０，５３１号、米国特許第５，７６１，２２２号。プログラミング中にメモリセルを検証するとき、一部の先行ソリューションでは、最初に、中間検証レベルを用いて粗モードに対する検証プロセスを実行し、次に、検証のための目標レベルを用いて密モードに対する検証プロセスを実行する。目標レベルを変更する本ソリューションでは、密モード中に検証用の目標レベルを印加する。場合によっては、中間検証レベルも変更することが可能である。
【００６３】
ワード線ＷＬ０の目標レベルを下げることによって、ＷＬ０に接続されているプログラム済みのメモリセルの閾値電圧は、この目標レベルが下げられなかった場合と比較して、メモリセルの母集団全体に亘って下がるはずである。例えば、図１２Ａに、１つのプログラム状態（例えば状態Ａ）の２つの閾値分布を示す。分布６７０は、ワード線ＷＬ０以外の全てのワード線に接続されているメモリセルの閾値電圧分布（閾値電圧に対するメモリセルの数）の一例を表している。分布６７２は、ワード線のすべてが同じ目標レベルを用いているときのワード線ＷＬ０に接続されているメモリセルの閾値電圧分布の一例を表している。上記のプログラム外乱のため、分布６７２は、分布６７０と比較して右側にシフトして広がっている。見れば分かるように、分布６７２の上端は、分布６７０から突出している。
【００６４】
ステップ６５０と６５２においてワード線ＷＬ０に対して低い目標レベルの集合を用いることによって、ＷＬ０に接続されているプログラム済みメモリセルの閾値電圧分布は左側にシフトし、これによって、プログラミングプロセスが完了した時点では他のワード線と関連する対応する閾値電圧分布に含まれるようにする例えば、図１２Ｂに、ワード線ＷＬ０に対して低い目標レベルを用いて、分布６７２が分布６７０の内側に収まるようにした結果、プログラミングプロセスが完了した（デジタル写真や他のファイルなどのデータ集合の保管に対応するために１ページや多くのページがプログラムされた）後に左側にシフトした分布６７２を表す。別の実施形態では、分布６７２は、ワード線ＷＬ０に対して低い目標レベルを用いて、分布６７２の上端が分布６７０から突出する度合いが図１２Ａに示すそれと比較して少なくとも減少するようにした結果、プログラミングプロセスが完了した（デジタル写真や他のファイルなどのデータ集合の保管に対応するために１ページや多くのページがプログラムされた）後に左側にシフトする。分布６７２の上端が分布６７０から突出する度合いが図１２Ａに示すそれと比較して少なくとも減少すると、読み出しプロセス中に（例えばＥＣＣを利用して）他のどのような誤りでも訂正される。
【００６５】
ここで、分布６７２と分布６７０は１つの状態（例えば状態Ａ、Ｂ、Ｃまたは他の状態）を表している。ある例では、３つのプログラム状態（と消去状態）があって、分布６７２と６７０に類似した対応する最大で３対の閾値電圧分布が存在する。３ビット以上の情報をメモリセルに記憶することを想定した実施形態では、分布６７２と６７０に類似した４対以上の閾値電圧分布が存在し得る。場合によっては、あらゆる状態の分布がＷＬ０上でシフトするとは限らない。
【００６６】
図１１を見ると、ステップ６６０で、ＷＬ０に接続されているメモリセルのすべてまたは部分集合が、読み出し比較値の集合を用いて読み出される。例えば、読み出し比較値Ｖｒａ、Ｖｒｂ、Ｖｒｃ（図９を参照）を用いて、メモリセルに記憶されているデータを読み出すことが可能である。ステップ６６２で、ＷＬ０以外のワード線に接続されているメモリセルのすべてまたは部分集合が、ステップ６６０で用いられたと同じ読み出し比較値の集合を用いて読み出される。ここで、ステップ６５２と６６０の間にある矢印を破線として、ステップ６６０が、ステップ６５０や６５２とは異なった時点でおよび／またはステップ６５１や６５２とは関連しない方法で実行され得ることを示している。
【００６７】
図１３に、昇圧領域のエッジのところにあるワード線に対しては目標レベルの１つの集合を用い、その他のワード線に対しては目標レベルの別の集合を用いるプロセスの実施形態を説明するフローチャートを示す。上述した図１１のプロセスでは、ＷＬ０は昇圧領域のエッジのところにある。しかしながら、昇圧領域のエッジ部分が、他の場所であってもよい実施形態もある。図１３のステップ６８０で、ワード線の第１の集合に接続されているメモリセルを目標レベルの第２の集合を用いてプログラムして、それぞれのメモリセルのプログラミングが完了したかどうか検証する。ステップ６８２で、昇圧領域のエッジのところにあるワード線に接続されているメモリセルを目標レベルの第１の集合を用いてプログラムして、それぞれのメモリセルのプログラミングが完了したかどうか検証する。ステップ６８４で、その他のワード線に接続されているメモリセルを目標レベルの第２の集合を用いてプログラムして、それぞれのメモリセルのプログラミングが完了したかどうか検証する。ワード線のさらに別の集合とさらに別のエッジのワード線を含むことが可能な実施形態もある。
【００６８】
ステップ６９０で、ワード線の第１の集合に接続されているメモリセルを、読み出し比較値の集合（たとえばＶｒａ、Ｖｒｂ、Ｖｒｃ）を用いて読み出す。ステップ６９２で、プログラミング中に昇圧領域のエッジにあるワード線に接続されているメモリセルを、ステップ６９２で用いたのと同じ読み出し比較値の集合を用いて読み出す。ステップ６９４で、その他のワード線の集合に接続されているメモリセルを、ステップ６９２で用いたのと同じ読み出し比較値の集合を用いて読み出す。ここで、ステップ６８４と６９０の間にある矢印を破線として、ステップ６９０が、ステップ６８４とは異なった時点でおよび／またはステップ６８４とは関連しない仕方で実行され得ることを示している。
【００６９】
図１４に、昇圧領域のエッジのところにある（たとえばソース選択線の隣にある）ワード線と接続している互いに異なったデータページに対しては目標レベルの互いに異なった集合を用い、その他のワード線に対しては目標レベルの別の集合を用いるプロセスの実施形態を説明するフローチャートを示す。ステップ７１０で、ワード線ＷＬ０（または別のワード線）に接続されているメモリセルを、第１のデータページ用の目標レベルの第１の集合（Ｖｖａ１、Ｖｖｂ１、Ｖｖｃ１）と第２のデータページ用の目標レベルの別の集合を用いてプログラムする。例えば、この目標レベルの別の集合にはＶｖａ３、Ｖｖｂ３、Ｖｖｃ３が含まれるが、ここで次式が成立する。
（１）Ｖｖａ３≠Ｖｖａ１，Ｖｖｂ３≠Ｖｖｂ１，Ｖｖｃ３≠Ｖｖｃ１および、
（２）Ｖｖａ３＜Ｖｖａ２，Ｖｖｂ３＜Ｖｖｂ２，Ｖｖｃ３＜Ｖｖｃ２
この目標レベルの別の集合に、Ｖｖａ３、Ｖｖｂ３、Ｖｖｃ３の一部を含み、残りの目標レベルが、目標レベルの第１または第２の集合と同じであることが可能な実施形態もある。
ステップ７１２で、ＷＬ０以外の別のワード線に接続されているメモリセルが、上述したように、目標レベルの第２の集合を用いてプログラムされる。
【００７０】
ステップ７２０で、ＷＬ０に接続されているメモリセルのすべてまたは部分集合が、読み出し比較値の集合（例えば、Ｖｒａ、Ｖｒｂ、Ｖｒｃ）を用いて読み出される。ステップ７２２で、ＷＬ０以外のワード線に接続されているメモリセルのすべてまたは部分集合が、ステップ７２０で用いられたのと同じ読み出し比較値の集合を用いて読み出される。ここで、ステップ７１２と７２０の間にある矢印を破線として、ステップ７２０が、ステップ７１２や７１０とは異なった時点でおよび／またはステップ７１２や７１０とは関連しない仕方で実行され得ることを示している。
【００７１】
図１５に、昇圧領域のエッジのところにあるワード線（たとえば、ＷＬ０などのソース選択線の隣にあるワード線）と接続している互いに異なった平面（またはセクションもしくはグループ）のメモリセルに対しては目標レベルの互いに異なった集合を用い、その他のワード線に対しては目標レベルの別の集合を用いるプロセスの実施形態を説明するフローチャートを示す。ステップ７４０で、ワード線ＷＬ０（または別のワード線）に接続されているメモリセルを、メモリセルの第１の集合用の目標レベルの第１の集合とメモリセルの第２の集合用の目標レベルの別の集合を用いてプログラムする。ステップ７４２で、ＷＬ０以外の別のワード線に接続されているメモリセルを、目標レベルの第２の集合を用いてプログラムする。
【００７２】
例えば図８を見ると、第１の平面またはグループに、ビット線Ｂｌｅ０〜Ｂｌｅ２１２７に接続されているＮＡＮＤストリング上のメモリセルを含み、第２の平面またはグループに、ビット線Ｂｌｅ２１２８〜Ｂｌｅ４２５５に接続されているＮＡＮＤストリング上のメモリセルを含むことが可能である。別の実施形態では、第１の平面またはグループに、ビット線Ｂｌｏ０〜Ｂｌｏ２１２７に接続されているＮＡＮＤストリング上のメモリセルを含み、第２の平面またはグループに、ビット線Ｂｌｏ２１２８〜Ｂｌｏ４２５５に接続されているＮＡＮＤストリング上のメモリセルを含むことが可能である。別の代替例では、第１の平面またはグループに、ビット線０〜（１／２（ｘ）−１）に接続されているＮＡＮＤストリング上のメモリセルが含まれ、第２の平面またはグループに、ビット線１／２（ｘ）〜（ｘ−１）に接続されているＮＡＮＤストリング上のメモリセルを含むことが可能であるが、ここで、ｘはユーザデータ用のビット線の総数である。別の代替例では、第１の平面またはグループに、奇数線に接続されているＮＡＮＤストリング上のメモリセルが含まれ、第２の平面またはグループに、偶数ビット線に接続されているＮＡＮＤストリング上のメモリセルを含むことが可能である。他のグループ分けを用いてもよく、３つ以上のグループを用いることが可能である。
【００７３】
ステップ７５０で、ＷＬ０（または別のワード線）に接続されているメモリセルのすべてまたは部分集合が、読み出し比較値の集合（たとえば、Ｖｒａ、Ｖｒｂ、Ｖｒｃ）を用いて読み出される。ステップ７５２で、ＷＬ０以外のワード線に接続されているメモリセルのすべてまたは部分集合が、ステップ７５０で用いられたと同じ読み出し比較値の集合を用いて読み出される。ここで、ステップ７４２と７５０の間にある矢印を破線として、ステップ７５０が、ステップ７４０や７４２とは異なった時点でおよび／またはステップ７４０や７４２とは関連しない仕方で実行され得ることを示している。
【００７４】
図１６に、プログラミング動作の１つの実施形態を説明するフローチャートを示す。図１６のプロセスは、ワード線に接続されているメモリセルを総シーケンスプログラミング法を用いてプログラムするために用いることが可能である。時点が異なればプログラムするページも異なる実施形態では、図１６のプロセスは、特定のワード線もしくは特定のメモリセルの集合の１ページまたは１パスをプログラムするために用いることが可能である。プログラミングプロセスでは、複数のページや、複数のワード線に接続されているメモリセルがプログラミングされることがあるため、プログラミングプロセスで、図１６のプログラミング動作が複数回実行され得ることもある。
【００７５】
ステップ８４０で、プログラムするメモリセルを消去する。ステップ８４０で、これらプログラムするメモリセルより多くのメモリセルが（たとえば、ブロック単位や他の単位で）消去されることがある。ステップ８４２で、ソフトプログラミングを実行して、これら消去されたメモリセルの消去閾値電圧の分布の幅を狭める。一部のメモリセルは、この消去プロセスの結果、必要以上に深く消去された状態にある。ソフトプログラミングでは、小さいプログラミングパルスを印加して、この消去されたメモリセルの消去閾値電圧を消去検証レベルに近づけることが可能である。図１６のステップ８５０で、「データをロードする」コマンドが、コントローラ５１８によって発行されて、コマンド回路５１４に入力され、これで、データをデータ入／出力バッファ５１２に入力することが可能となる。この入力データは、コマンドと認識されて、コマンド回路５１４に入力されたコマンドラッチ信号（図示せず）を介して状態マシン５１６によってラッチされる。ステップ８５２で、ページアドレスを指定するアドレスデータが、コントローラすなわちホストから行コントローラすなわちデコーダ５０６に入力される。この入力データは、ページアドレスと認識されて、コマンド回路５１４に入力されたアドレスラッチ信号に影響されて、状態マシン５１６を介してラッチされる。ステップ８５４で、アドレス指定されたページに対するプログラムデータページが、プログラミング目的でデータ入／出力バッファ５１２に入力される。たとえば、１つの実施形態では、５８２バイトのデータを入力することが可能である。このデータは、選択されたビット線に対して適切なレジスタにラッチされる。このデータが、検証動作目的で用いられるように選択されたビット線に対する第２のレジスタにもラッチされる実施形態もある。ステップ８５６で、「プログラム」コマンドが、コントローラ５１８によって発行されて、データ入／出力バッファ５１２に入力される。このコマンドは、コマンド回路５１４に入力されたコマンドラッチ信号を介して状態マシン５１６によってラッチされる。
【００７６】
「プログラム」コマンドがトリガーとなって、ステップ８５４でラッチされたデータが、適切なワード線に印加された段付きパルスを用いて状態マシン５１６によって制御されている選択されたメモリセルにプログラムされる。ステップ８５８で、選択されたワード線に印加されるプログラミング電圧パルスＶｐｇｍが、開始規模（たとえば１２Ｖまで、または他の適切なレベル）に初期化され、状態マシン５１６によって維持されているプログラムカウンタＰＣが０に初期化される。ステップ８６０で、最初のＶｐｇｍパルスが選択されたワード線に印加される。特定のデータラッチに論理「０」が記憶されており、対応するメモリセルをプログラムすべきであることを示していれば、対応するビット線を接地する。逆に、特定のデータラッチに論理「１」が記憶されており、対応するメモリセルはその現在のデータ状態に留まるべきであることを示していれば、対応するビット線をＶＤＤに接続して、プログラミングを抑止する。図４と５に示すように、選択されていないワード線はＶｐａｓｓを受け、ドレイン選択信号はＶｓｇｄに設定され、ソース選択信号は０Ｖに設定される。ソース線は０ボルトまたはほぼ０ボルトに設定される。
【００７７】
ステップ８６２で、選択されたメモリセルの状態が、図１１、１３、１４、１５を参照して上述したように、適切な目標レベル集合を用いて検証される。選択されたセルの閾値電圧が適切な目標レベルに到達したことが検出されたら、対応するデータラッチに記憶されているデータが論理「１」に変更される。この閾値電圧が適切な目標レベルに到達していないことが検出されたら、対応するデータラッチに記憶されているデータは変更されない。このようにして、対応するデータラッチに論理「１」が記憶されているビット線はプログラムする必要はない。データラッチがすべて論理「１」を記憶していれば、状態マシンは、選択されたセルがすべてプログラムされたことを知る。ステップ８６４で、データラッチのすべてが論理「１」を記憶しているかどうかチェックされる。そうであれば、プログラミングプロセスは成功裏に完了するが、これは、選択されたメモリセルがすべてその目標状態にプログラムされて、その状態に到達したことが検証されたからである。ステップ８６６で、「パス」状態が報告される。ここで、一部の実施形態では、ステップ８６４で、少なくとも所定の数のデータラッチが論理「１」を記憶しているかどうかチェックされる。この所定の数は、データラッチの総数未満であってもよい。これによって、すべてのメモリセルがその適切な検証レベルに到達する以前に停止することを可能としている。成功裏にプログラムされなかったメモリセルは、読み出しプロセス中に誤り訂正法を用いて訂正することが可能である。
【００７８】
ステップ８６４で、データラッチのすべてが論理「１」を記憶しているわけではないと判定されると、プログラミングプロセスは継続される。ステップ８６８で、プログラムカウンタＰＣがプログラム制限値に達したかどうかチェックされる。プログラム制限値の一例として２０という値があるが、しかしながら、様々な実施形態で他の値を用いてもよい。プログラムカウンタＰＣが２０以上であれば、成功裏にプログラムされなかったメモリセルの数が所定の数以下であるかどうかステップ８６９で判定する。プログラムが不成功であったメモリセルの数がこの所定の数以下であれば、プログラミングプロセスは、パスした旨のフラグが設定され、ステップ８７１でパス状態が報告される。多くの場合、成功裏にプログラムされなかったメモリセルは、読み出しプロセス中に誤り訂正法を用いて訂正することが可能である。しかしながら、プログラムが不成功であったメモリセルの数が所定の数より大きいときは、プログラミングプロセスは、フェイルした旨のフラグが設定され、ステップ８７０でフェイル状態が報告される。プログラムカウンタＰＣが２０未満であれば、ステップ８７２で、Ｖｐｇｍレベルがステップサイズ（たとえば０．２〜０．４ボルトのステップサイズ）だけ増加され、プログラムカウンタＰＣがインクリメントされる。ステップ８７２の後で、プロセスはステップ８６０にループバックして、次のＶｐｇｍパルスを印加する。
【００７９】
図１７は、読み出し動作または検証動作を一回繰り返す間におけるさまざまな信号の動作を示すタイミング図である。たとえば、メモリセルがバイナリメモリセルの場合、図１７のプロセスは、読み出しプロセスまたは検証プロセスの間におのおののメモリセルに対して並列に実行される。メモリセルが４つの状態（たとえばＥ、Ａ、Ｂ、Ｃ）のマルチステートメモリセルの場合、図１７のプロセスが読み出しプロセスまたは検証プロセスの間に各々のメモリセルに対して並列に３回実行される。例えば、４つの状態を持つメモリセルからデータを読み出すとき、読み出しプロセスは、Ｖｃｇｒ＝Ｖｒａで一回、Ｖｃｇｒ＝Ｖｒｂで一回、Ｖｃｇｒ＝Ｖｒｃまたは他の読み出し値の集合で一回実行してもよい。４つの状態を持つメモリセルに対してデータを検証するとき、読み出しプロセスは、Ｖｃｇｒ＝Ｖｖａ２で一回、Ｖｃｇｒ＝Ｖｖｂ２で一回、Ｖｃｇｒ＝Ｖｖｃ２または他の検証レベル集合で一回実行してもよい。
【００８０】
一般的に、読み出し動作と検証動作中は、選択されたワード線はある電圧に接続されるが、そのレベルは読み出し動作と検証動作それぞれに対して指定され、これによって、関連のメモリセルの閾値電圧がこのようなレベルに達したかどうか判定するようにする。このワード線電圧を印加した後、このメモリセルの導電電流を測定して、ワード線に印加された電圧に応答してメモリセルがオンしたかどうか判定する。導電電流の測定値がある値より大きい場合、メモリセルはオンしてワード線に印加された電圧はメモリセルの閾値電圧より高いと推測される。導電電流の測定値がそのある値より大きくない場合、メモリセルはオンせず、ワード線に印加された電圧はメモリセルの閾値電圧より高くないと推測される。
【００８１】
読み出し動作または検証動作中に、あるメモリセルの導電電流を測定する多くの方法が存在する。一例では、あるメモリセルの導電電流を、それが、センスアンプ内の専用キャパシタを放電する速度で測定する。１つの実施形態では、全ビット線プログラミング方式を用いているメモリアレイでは、あるメモリセルの導電電流を、それが、センスアンプ内の専用キャパシタを放電する速度で測定することが可能である。別の例では、選択されたメモリセルの導電電流によって、このメモリセルを含んでいるＮＡＮＤストリングがビット線を放電させる（又は放電させない）。ビット線上の電荷をある時間期間後に測定して、放電したかどうか判定する。１つの実施形態では、奇数／偶数プログラミング方式を用いているメモリアレイでは、あるメモリセルの導電電流を、ビット線が放電したかどうかを判定することによって測定することが可能である。
【００８２】
図１７に、信号ＳＧＤ、ＷＬ＿ｕｎｓｅｌ、ＷＬｎ、ＳＧＳ、選択済みビット線およびＶｓｓ（約０ボルト）から始まるソースを示す。ＳＧＤは、ドレイン選択ゲートのゲートに接続されているドレイン選択線上の信号を表す。ＳＧＳは、ソース選択ゲートのゲートに接続されているソース選択線上の信号を表す。ＷＬｎは、読み出し／検証目的で選択されたワード線である。ＷＬ＿ｕｎｓｅｌは、選択されなかったワード線を表す。選択済みビット線は、読み出し／検証目的で選択されたビット線である。ソースは、メモリセルに対するソース線である。
【００８３】
図１７に、あるメモリセルの導電電流を、ビット線が適切に放電したかどうかを判定することによって測定するシステムの動作を説明する。図１０に示す時点ｔ１で、ＳＧＤをＶｄｄ（たとえば約３．５ボルト）又は、一般的には３〜５Ｖ範囲の別の電圧にまで上げ、選択されなかったワード線（ＷＬ＿ｕｎｓｅｌ）をＶｒｅａｄ（たとえば約５．５ボルト）まで上げ、選択されたワード線ＷＬｎをＶｃｇｒまで上げ、選択されたビット線である選択済みビット線を約０．７ボルトまで予備充電する。電圧Ｖｒｅａｄはパス電圧として動作するが、これは、この電圧によって、選択されなかったメモリセルがオンして、パスゲートとして動作するからである。時点ｔ２で、ＳＧＳをＶｄｄまで上げて、ソース選択ゲートをオンさせる。これによって、ビット線上の電荷を減少させる経路が発生する。読み出し目的で選択されたメモリセルの閾値電圧がＶｃｇｒより大きければ、信号線８９０で示すように、選択されたメモリセルはオンせず（または少なくとも十分にはオンせず）、ビット線は放電しない（または少なくとも十分には放電しない）。読み出し目的で選択されたメモリセル中の閾値電圧がＶｃｇｒ未満であれば、曲線８９２で示すように、読み出し目的で選択されたメモリセルはオンし（導通し）、ビット線電圧は減少する。時点ｔ２より後であって時点ｔ３より前のある時点（特定の実施形態で決まるような時点）で、適切なセンスアンプによって、ビット線電圧が十分な量だけ減少したかどうか判定する。時点ｔ３で、図示する信号がＶｓｓ（または待機用もしくは回復用の別の値）まで下げられる。ここで、これら信号のうちのあるもののタイミングが変更可能な実施形態も存在する。
【００８４】
検証用の目標レベルを変更することによってプログラム外乱の影響を軽減するのではなく（またはこうすることに加えて）、読み出しプロセス中で特定のワード線（または他の記憶素子グループ）に対して互いに異なった読み出し比較値を用いることが可能である。たとえば、図１８に、１つ以上の特定のワード線に対して互いに異なった読み出し比較値を用いる不揮発性記憶動作プロセスの１つの実施形態を説明する。ステップ９２０で、ＷＬ０に接続されているメモリセルは、上記の目標レベルの第２の集合を用いてプログラムされる。ステップ９２２で、追加のワード線に接続されているメモリセルは、上記の目標レベルの第２の集合を用いてプログラムされる。ステップ９３０で、ＷＬ０に接続されているメモリセルは、読み出し比較値の第１の集合を用いて読み出される。すなわち、読み出し比較値の第２の集合は、適切なワード線を介して適切な制御ゲートに印加される。ステップ９３２で、追加のワード線に接続されているメモリセルは、読み出し比較値の第２の集合を用いて読み出される。ここで、ステップ９２２と９３０の間にある矢印を破線として、ステップ９３０が、ステップ９２２や９２０とは異なった時点でおよび／またはステップ９２２や９２０とは関連しない仕方で実行され得ることを示している。
【００８５】
別の実施形態では、ステップ９２０と９３０を複数のワード線（例えば、以下に説明するように、ＷＬ０、ＷＬ１、ＷＬ０〜２または、ＷＬ０を含まないがエッジのところにある集合を含む他の集合）に適用することが可能である。すなわち、２つの集合のワード線がありえる。ワード線の第１の集合は読み出し比較値の第１の集合を用いて読み出され、ワード線の第２の集合は読み出し比較値の第２の集合を用いて読み出される。
【００８６】
図１９に、図９に示す分布に類似した閾値電圧分布の例示の集合を示す。図１９は、各々の状態に対して２つの読み出し比較値を示している。読み出し比較値Ｖｒａ１とＶｒａ２は、状態Ａと関連している。読み出し比較値Ｖｒｂ１とＶｒｂ２は、状態Ｂと関連している。読み出し比較値Ｖｒｃ１とＶｒｃ２は、状態Ｃと関連している。１つの実施形態では、読み出し比較値の第１の集合には、Ｖｒａ１、Ｖｒｂ１、Ｖｒｃ１が含まれ、読み出し比較値の第２の集合には、Ｖｒａ２、Ｖｒｂ２、Ｖｒｃ２が含まれる。さらに、Ｖｒａ１＞Ｖｒａ２、Ｖｒｂ１＞Ｖｒｂ２、Ｖｒｃ１＞Ｖｒｃ２である。したがって、ステップ９３０を実行するとき、図１７のプロセスは、Ｖｃｇｒ＝Ｖｒａ１でＷＬ０に対して１回、Ｖｃｇｒ＝Ｖｒｂ１でＷＬ０に対して１回、Ｖｃｇｒ＝Ｖｒｃ１でＷＬ０に対して１回実行される。ステップ９３２を実行するとき、図１７のプロセスは、Ｖｃｇｒ＝Ｖｒａ２で対象となるワード線のおのおのに対して１回、Ｖｃｇｒ＝Ｖｒｂ２で対象となるワード線の各々に対して１回、Ｖｃｇｒ＝Ｖｒｃ２で対象となるワード線の各々に対して１回実行される。読み出し比較値の第１の集合に、Ｖｒａ１、Ｖｒｂ１、Ｖｒｃ１が含まれたり、または、読み出し比較値の第１の集合に、Ｖｒａ１、Ｖｒｂ２、Ｖｒｃ２が含まれたりする実施形態もある。これ以外の順列も実施可能である。
【００８７】
ステップ９３０のもう１つの実施形態では、読み出し比較値の第１の集合を用いてワード線ＷＬ０に接続されているメモリセルの第１の部分集合を読み出し、読み出し比較値の第３の集合を用いてワード線ＷＬ０に接続されているメモリセルの第２の部分集合を読み出す。この２つの部分集合は、上記したように互いに異なった平面やグループにあるメモリセルであったりする。１つの実施形態では、この２つの部分集合は互いに分離している、たとえば、奇数ビット線と偶数ビット線に分かれている、すなわち、第１の平面またはグループに、ビット線０〜（１／２（ｘ）−１）に接続されているＮＡＮＤストリング上のメモリセルが含まれ、第２の平面またはグループに、ビット線１／２（ｘ）〜（ｘ−１）に接続されているＮＡＮＤストリング上のメモリセルが含まれるが、ここで、ｘはユーザデータ用のビット線の総数である。別のグループ分けも用いることが可能である。ここで、読み出し比較値の第３の集合は、読み出し比較値の第２の集合とは（部分的または完全に）異なっている。
【００８８】
ステップ９３０の別の実施形態では、読み出し比較値の第１の集合を用いてワード線ＷＬ０に接続されているメモリセルに記憶されている第１のデータページに対するデータを読み出し、読み出し比較値の第３の集合を用いてワード線ＷＬ０に接続されているメモリセルに記憶されている第２のデータページに対するデータを読み出す。読み出し比較値の第３の集合は、読み出し比較値の第２の集合とは（部分的または完全に）異なっている。
【００８９】
図２０に、特定のワード線に対して互いに異なる読み出し比較値を用いる不揮発性記憶動作プロセスの別の実施形態を説明する。ステップ９５０で、ワード線の第１の集合に接続されているメモリセルが、上記の目標レベルの第２の集合を用いてプログラムされる。ステップ９５２で、昇圧領域のエッジのところにあるワード線に接続されているメモリセルが、上記した目標レベルの第２の集合を用いてプログラムされる。ステップ９５４で、これ以外のワード線に接続されているメモリセルが、上記した目標レベルの第２の集合を用いてプログラムされる。ここで、昇圧領域のエッジのところにあるワード線は、ワード線の第１の集合やこれ以外のワード線の一部ではない。
【００９０】
図２０のステップ９５０、９５２、９５４においては、プログラミング動作によって、０ボルト信号（または他の適切な信号）があるワード線または選択線に印加されて対応するトランジスタがオフされ、これで、昇圧領域を生成する。一例では、０ボルトがソース選択線ＳＧＳに印加され、これで、ソース選択ゲートがオフして、ソース線からチャネルを遮断し、ＮＡＮＤストリングが昇圧しやすくなる。一部の実施形態では、ＮＡＮＤストリングに接続されているワード線に０ボルト信号（または他の適切な信号）を印加して、このワード線に接続されているメモリセルを遮断して、このワード線のところで昇圧領域が終了するまたはこれから始まるようにすることが可能である。これは、複数の昇圧領域を生成するためにも利用することが可能である。
【００９１】
ステップ９６０で、ワード線の第１の集合に接続されているメモリセルが、上記した読み出し比較値の第２の集合を用いて読み出される。ステップ９６２で、昇圧領域のエッジのところにあるワード線に接続されているメモリセルが、上記した読み出し比較値の第１の集合を用いて読み出される。ステップ９６４で、これ以外のワード線に接続されているメモリセルが、上記した読み出し比較値の第２の集合を用いて読み出される。ここで、ステップ９５４と９６０の間にある矢印を破線として、ステップ９６０が、ステップ９５４とは異なった時点でおよび／またはステップ９６４とは関連しない方法で実行され得ることを示している。
【００９２】
ステップ９６２の一部の実施形態では、昇圧領域のエッジのところにあるワード線と接続しているデータページが異なれば、これを読み出す読み出し比較値の集合も異なった集合を用いることが可能である。昇圧領域のエッジのところにあるワード線と接続しているメモリセルの平面やグループを読み出すのに、互いに異なった読み出し比較値の集合を用いることが可能である。これら代替例の双方において、これら様々な読み出し比較値の集合もまた、読み出し比較値の第２の集合とは（部分的または完全に）異なっている。
【００９３】
上記の説明は特定のワード線に対するプログラム外乱の影響を軽減することに主点を置いたものであるが、本発明は、他のなんらかの理由によってＶｔ分布が拡大してしまうワード線による影響を軽減するためにも利用することが可能である。一部のワード線上でＶｔ分布が拡大してしまう現象が発生するこれ以外の理由の１つとして、例えば、メモリセルの高速プログラミング動作が１つの又は限られた数のワード線に集中することによるいわゆる過剰プログラミングが挙げられる。過剰プログラミングはまた、図１２に示すものと類似のＶｔ分布をもたらす。このようなワード線に対して互いに異なった検証目標レベルまたは読み出し比較値を印加することによって、Ｖｔ分布の拡大がこれらのワード線に及ぼす影響をも軽減することが可能である。
【００９４】
本発明に関する前述の詳細な説明は、例証と説明のために提示されたものである。本発明を開示する形態そのもので尽きるとかこれに限るとかを意図するものではない。上記の教示に照らし合わせて、多くの修正例や変更例が可能である。説明した実施形態は、本発明とその実際の応用例の原理が最もよく説明され、これによって、他の当業者が、想定される特定の用途に適しているさまざまな実施形態で、また、様々な修正をもって、本発明を利用することが可能となるように選ばれたものである。本発明の範囲は添付請求の範囲によって定義されることを意図するものである。
【図面の簡単な説明】
【００９５】
【図１】ＮＡＮＤストリングの上面図である。
【図２】ＮＡＮＤストリングの等価回路図である。
【図３】３つのＮＡＮＤストリングを示す略図である。
【図４】ＮＡＮＤストリングがプログラムされているところを示す図である。
【図５】自己昇圧方法を用いて、ＮＡＮＤストリングが抑止されているところを示す図である。
【図６】ＮＡＮＤストリングの一部分を示す図である。
【図７】メモリシステムの一例のブロック図である。
【図８】メモリアレイの編成の一例を示す図である。
【図９】閾値電圧分布の集合を示す図である。
【図１０Ａ】閾値電圧分布を示す図である。
【図１０Ｂ】閾値電圧分布を示す図である。
【図１０Ｃ】閾値電圧分布を示す図である。
【図１１】不揮発性メモリをプログラミングして読み出すプロセスの１つの実施形態を説明するフローチャートである。
【図１２Ａ】閾値電圧分布を示す図である。
【図１２Ｂ】閾値電圧分布を示す図である。
【図１３】不揮発性メモリをプログラミングして読み出すプロセスの１つの実施形態を説明するフローチャートである。
【図１４】不揮発性メモリをプログラミングして読み出すプロセスの１つの実施形態を説明するフローチャートである。
【図１５】不揮発性メモリをプログラミングして読み出すプロセスの１つの実施形態を説明するフローチャートである。
【図１６】プログラミング動作の１つの実施形態を説明するフローチャートである。
【図１７】読み出し動作の１つの実施形態を説明する信号図である。
【図１８】不揮発性メモリをプログラミングして読み出すプロセスの１つの実施形態を説明するフローチャートである。
【図１９】閾値電圧分布の集合を示す図である。
【図２０】不揮発性メモリをプログラミングして読み出すプロセスの１つの実施形態を説明するフローチャートである。
【図１】
2009533794.tif 000003
【図２】
2009533794.tif 000004
【図３】
2009533794.tif 000005
【図４】
2009533794.tif 000006
【図５】
2009533794.tif 000007
【図６】
2009533794.tif 000008
【図７】
2009533794.tif 000009
【図８】
2009533794.tif 000010
【図９】
2009533794.tif 000011
【図１０】
2009533794.tif 000012
【図１１】
2009533794.tif 000013
【図１２Ａ】
2009533794.tif 000014
【図１２Ｂ】
2009533794.tif 000015
【図１３】
2009533794.tif 000016
【図１４】
2009533794.tif 000017
【図１５】
2009533794.tif 000018
【図１６】
2009533794.tif 000019
【図１７】
2009533794.tif 000020
【図１８】
2009533794.tif 000021
【図１９】
2009533794.tif 000022
【図２０】
2009533794.tif 000023
【国際調査報告】
2009533794.tif 000024
2009533794.tif 000025