(57)【特許請求の範囲】
【請求項１】
ワード線およびビット線への印加電圧に応じて電荷蓄積部に蓄積された電荷量が変化し、その変化に応じてしきい値電圧が変化し、しきい値電圧に応じた値のデータを記憶するメモリセルを有し、ｎビットの多値データをメモリセルに書き込む不揮発性半導体記憶装置であって、
書き込み時に書き込みデータがラッチされると共に、ベリファイ時にデータが十分に書き込まれると所定のデータに設定され、更に、読み出し時に読み出しデータが設定されるｎ個のラッチ回路と、
書き込み時に上記ラッチ回路にラッチされているデータに応じたビット線電圧に設定する書き込み制御手段と、
ベリファイ時に、ワード線電圧をしきい値電圧の分布状態に応じて設定し、上記メモリセルのしきい値が上記ワード線に印加された電圧を越えているかどうかにより上記ラッチ回路を確定し、上記ベリファイ時にデータが十分に書き込まれると上記ラッチ回路に所定のデータが設定されるように制御するベリファイ制御手段と、
読み出し時に、ワード線電圧をしきい値電圧の分布状態に応じて設定し、上記メモリセルのしきい値が上記ワード線に印加された電圧を越えているかどうかにより上記ラッチ回路を確定して、読み出されたデータがラッチ回路に設定されるように制御する読み出し制御手段とを備え、
上記ベリファイ制御手段は、ベリファイ動作時に、ワード線電圧をしきい値電圧の分布状態に応じて複数の段階に設定し、上記ラッチ回路にラッチされているデータに応じて上記ビット線をプリチャージする／しないように制御し、上記メモリセルに電流が流れるかどうかにより上記メモリセルのしきい値が上記ワード線に印加された電圧を越えているかどうかを検出し、上記検出出力に応じて上記ラッチ回路を確定して、上記ベリファイ時にデータが十分に書き込まれると上記ラッチ回路に所定のデータが設定されるようにしたことを特徴とする不揮発性半導体記憶装置。
【請求項２】
上記メモリセルは、その一端及び他端がゲート電圧に応じて導通状態が制御される選択トランジスタを介してビット線及びソース線に接続されたメモリストリングからなるようにした請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
上記ベリファイ制御手段は、最下位ビットを除いて上記ラッチ回路に所定のデータがラッチされているときにのみ、上記ビット線にプリチャージ電流を流すように制御する手段と、上記最下位ビットの状態に応じて、上記ラッチ回路の状態が反転しないように制御する手段とを含む請求項１に記載の不揮発性半導体記憶装置。
【請求項４】
上記ベリファイ制御手段は、最下位ビットを除いて上記ラッチ回路に所定のデータがラッチされているときにのみ、上記ビット線にプリチャージ電流を流すように制御する手段と、上記最下位ビットの状態に応じて、上記ビット線のディスチャージをするように制御する手段とを含む請求項１に記載の不揮発性半導体記憶装置。
【請求項５】
上記メモリセルには、（ｎ＝２）ビットの多値データを書き込むようにした請求項１に記載の不揮発性半導体記憶装置。
【請求項６】
上記メモリセルには、（ｎ＝３）ビットの多値データを書き込むようにした請求項１に記載の不揮発性半導体記憶装置。
【請求項７】
ワード線およびビット線への印加電圧に応じて電荷蓄積部に蓄積された電荷量が変化し、その変化に応じてしきい値電圧が変化し、しきい値電圧に応じた値のデータを記憶するメモリセルを有し、ｎビットの多値データをメモリセルに書き込む不揮発性半導体記憶装置であって、
書き込み時に書き込みデータがラッチされると共に、ベリファイ時にデータが十分に書き込まれると所定のデータに設定され、更に、読み出し時に読み出しデータが設定されるｎ個のラッチ回路と、
書き込み時に上記ラッチ回路にラッチされているデータに応じたビット線電圧に設定する書き込み制御手段と、
ベリファイ時に、ワード線電圧をしきい値電圧の分布状態に応じて設定し、上記メモリセルのしきい値が上記ワード線に印加された電圧を越えているかどうかにより上記ラッチ回路を確定し、上記ベリファイ時にデータが十分に書き込まれると上記ラッチ回路に所定のデータが設定されるように制御するベリファイ制御手段と、
読み出し時に、ワード線電圧をしきい値電圧の分布状態に応じて設定し、上記メモリセルのしきい値が上記ワード線に印加された電圧を越えているかどうかにより上記ラッチ回路を確定して、読み出されたデータがラッチ回路に設定されるように制御する読み出し制御手段とを備え、
上記読み出し制御手段は、読み出し時に、ワード線電圧をしきい値電圧の分布状態に応じて複数の段階に設定し、前回までに上記ラッチ回路のノードの反転が生じていないときにのみ、上記ビット線をプリチャージし、上記メモリセルに電流が流れるかどうかにより上記メモリセルのしきい値が上記ワード線に印加された電圧を越えているかどうかを検出し、上記検出出力に応じて上記ラッチ回路を確定して、上記読み出し時に上記ラッチ回路に読み出しデータが設定されるようにしたことを特徴とする不揮発性半導体記憶装置。
【請求項８】
上記メモリセルは、その一端及び他端がゲート電圧に応じて導通状態が制御される選択トランジスタを介してビット線及びソース線に接続されたメモリストリングからなるようにした請求項７に記載の不揮発性半導体記憶装置。
【請求項９】
上記メモリセルには、（ｎ＝２）ビットの多値データを書き込むようにした請求項７に記載の不揮発性半導体記憶装置。
【請求項１０】
上記メモリセルには、（ｎ＝３）ビットの多値データを書き込むようにした請求項７に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、フラッシュ型のメモリセルに例えば４値（２ビット）もしくは８値（３ビット）のデータを記録する多値型構成に用いて好適な不揮発性半導体記憶装置並びに不揮発性半導体記憶装置のベリファイ方法及び読み出し方法に関する。
【０００２】
【従来の技術】
フラッシュメモリ等の不揮発性半導体記憶装置においては、１個のメモリセルトランジスタに「０」、「１」の２つの値をとるデータを記録する２値型のセル構造が通常である。しかしながら、２値型の構成の半導体記憶装置では、記憶容量に限界がある。特に、このような半導体記憶装置は、ビデオデータやオーディオデータの記録に用いることが考えられており、長時間のビデオデータやオーディオデータを記録できるような大容量のものが望まれている。そこで、１個のメモリセルに多値のデータを記録できるようにすることが提案されている。
【０００３】
ところが、１個のセルに対する記憶レベルを例えば４値もしくは８値にすると、ベリファイのための回路や読み出しのための回路が複雑化し、回路規模が大きくなるという問題が生じている。
【０００４】
図１６は、先に本願出願人により提案されている記憶多値レベルが４値に対応した不揮発性半導体記憶装置の一例である。図１６に示すように、この不揮発性半導体記憶装置は、メモリアレイ２１１と、ビット線電圧発生回路２１２と、読み出し／ベリファイ制御回路２１３とにより構成される。
【０００５】
メモリアレイ２１１は、メモリストリングを複数マトリクス状に配列した構成とされている。一方のメモリストリングはビット線ＢＬ０に接続され、他方のメモリストリングはビット線ＢＬ１に接続される。
【０００６】
メモリストリングは、フローティングゲートを有する不揮発性半導体記憶装置からなるメモリセルトランジスタが直列に接続されたＮＡＮＤストリングからなる。このＮＡＮＤストリングのメモリセルトランジスタのドレインが選択ゲートを夫々介してビット線ＢＬ０、ＢＬ１に接続される。同一行のメモリセルの制御ゲートが共通のワード線に接続される。セルフブーストを用いて４値の多値データがページ単位でメモリセルに書き込まれる。
【０００７】
ビット線電圧発生回路２１２は、ＮＭＯＳトランジスタｎ１０１〜ｎ１０８及びインバータの入出力同士を結合してなるラッチ回路ＬＱ２、ＬＱ１により構成される。また、ビット線電圧発生回路２１２からは、ＶＢ１、ＶＢ２の供給ラインが導出される。
【０００８】
ビット線電圧発生回路２１２により、書き込み時に、書き込みデータに応じたビット線電圧が発生され、メモリアレイ２１１のメモリセルに与えられる。また、ビット線電圧発生回路２１２には、ラッチ回路ＬＱ２、ＬＱ１が含まれている。ベリファイ時には、ビット線電圧発生回路２１２のラッチ回路ＬＱ２、ＬＱ１の記憶ノードＱ２、Ｑ１は、メモリアレイ２１１のメモリセルに書き込みが十分に行なわれると、”１１”に設定される。読み出し時には、メモリアレイ２１１のメモリセルのしきい値が検出されてデータの読み出しが行なわれる。この時、ラッチ回路ＬＱ２、ＬＱ１の記憶ノードＱ２、Ｑ１には、読み出されたデータが格納される。
【０００９】
読み出し／ベリファイ制御回路２１３は、ＮＭＯＳトランジスタｎ１０９〜ｎ１１９から構成される。この読み出し／ベリファイ制御回路２１３は、読み出し時又はベリファイ時に、ラッチ回路ＬＱ２、ＬＱ１の状態を制御するものである。読み出し／ベリファイ制御回路２１３からは、信号φＬＡＴ１〜φＬＡＴ４の供給ラインが導出される。この信号φＬＡＴ１〜φＬＡＴ４の供給ラインに、パルス状の信号が供給される。読み出し／ベリファイ制御回路２１３のＮＭＯＳトランジスタｎ１０９、ｎ１１０のゲート電極は、ノードＳＡに接続されている。ノードＳＡは、メモリアレイ２１１のメモリセルのしきい値を検出するためのノードとなる。
【００１０】
ノードＳＡとビット線ＢＬ０との間には、高耐圧のＮＭＯＳトランジスタＨ１０３が接続されている。また、ノードＳＡとビット線ＢＬ１との間に、高耐圧のＮＭＯＳトランジスタＨ１０４が接続されている。ＮＭＯＳトランジスタＨ１０３のゲート電極にアドレスデコード信号ＡｎＢが供給される。ＮＭＯＳトランジスタＨ１０４のゲート電極にアドレスデコード信号ＡｎＮが供給される。なお、電源電圧Ｖcc（例えば、３．３Ｖ）の供給ラインとビット線ＢＬ０との間には、高耐圧のＮＭＯＳトランジスタＨ１０１が接続されており、電源電圧Ｖccの供給ラインとビット線ＢＬ１との間には、高耐圧のＮＭＯＳトランジスタＨ１０２が接続されている。ＮＭＯＳトランジスタＨ１０１のゲート電極に制御信号ＩＮＨＢが供給される。ＮＭＯＳトランジスタＨ１０２のゲート電極に制御信号ＩＮＨＮが供給される。
【００１１】
ノードＳＡと接地ラインＧＮＤとの間に、ＮＭＯＳトランジスタｎ１０２が接続される。ノードＳＡと電源電圧Ｖccの供給ラインとの間に、ＰＭＯＳトランジスタｐ１０１が接続される。ＮＭＯＳトランジスタｎ１０２のゲート電極には、リセット信号ＲＳＴ１が供給される。ＰＭＯＳトランジスタｐ１０１のゲート電極には、信号Ｖref が供給される。
【００１２】
ノードＳＡとビット線電圧発生回路２１２との間には、ＮＭＯＳトランジスタｎ１０１が設けられている。すなわち、ＮＭＯＳトランジスタｎ１０１のドレインがノードＳＡに接続される。ＮＭＯＳトランジスタｎ１０１のソースがＮＭＯＳトランジスタｎ１０３、ｎ１０５、ｎ１０７のドレインに接続される。ＮＭＯＳトランジスタｎ１０１のゲート電極には、制御信号ＰＧＭが供給される。
【００１３】
ＮＭＯＳトランジスタｎ１０１のソースと電圧ＶＢ１の供給ラインとの間に、ＮＭＯＳトランジスタｎ１０５、ｎ１０６が直列に接続される。ＮＭＯＳトランジスタｎ１０１のソースと電圧ＶＢ２の供給ラインとの間に、ＮＭＯＳトランジスタｎ１０７、ｎ１０８が直列に接続される。ＮＭＯＳトランジスタｎ１０１のソースと接地ラインとの間に、ＮＭＯＳトランジスタｎ１０３、ｎ１０４が直列に接続される。
【００１４】
ラッチ回路ＬＱ２、ＬＱ１は、夫々、記憶ノードＱ２、Ｑ１と、その反転記憶ノード／Ｑ２、／Ｑ１を有している。なお、／は反転を示すバーを意味している。
【００１５】
ラッチ回路ＬＱ２の反転記憶ノード／Ｑ２は、ＮＭＯＳトランジスタｎ１０４、ｎ１０６のゲート電極に接続される。ラッチ回路ＬＱ２の記憶ノードＱ２は、ＮＭＯＳトランジスタｎ１０８のゲート電極に接続される。
【００１６】
ラッチ回路ＬＱ１の反転記憶ノード／Ｑ１は、ＮＭＯＳトランジスタｎ１０３、ｎ１０７のゲート電極に接続される。ラッチ回路ＬＱ１の記憶ノードＱ１はＮＭＯＳトランジスタｎ１０５のゲート電極に接続される。
【００１７】
また、ラッチ回路ＬＱ２の記憶ノードＱ２、ラッチ回路ＬＱ１の記憶ノードＱ１の夫々と接地ラインとの間に、ＮＭＯＳトランジスタｎ１１１、ｎ１１２が夫々接続される。ＮＭＯＳトランジスタｎ１１１、ｎ１１２のゲート電極がリセット信号ＲＳＴ２の供給ラインに接続される。
【００１８】
読み出し／ベリファイ制御回路２１３において、ＮＭＯＳトランジスタｎ１０９、ｎ１１０のゲート電極は、ノードＳＡに接続される。ＮＭＯＳトランジスタｎ１０９のドレインがラッチ回路ＬＱ２の反転記憶ノード／Ｑ２に接続される。ＮＭＯＳトランジスタｎ１１０のドレインがラッチ回路ＬＱ１の反転記憶ノード／Ｑ１に接続される。
【００１９】
ＮＭＯＳトランジスタｎ１０９のソースと接地ラインとの間に、直列接続されたＮＭＯＳトランジスタｎ１１３、ｎ１１４が接続される。また、ＮＭＯＳトランジスタｎ１１３に並列にＮＭＯＳトランジスタｎ１１５が接続される。
【００２０】
ＮＭＯＳトランジスタｎ１１０のソースと接地ラインとの間に、ＮＭＯＳトランジスタｎ１１８、ｎ１１９が直列に接続されるとともに、これと並列的に、ＮＭＯＳトランジスタｎ１１６、ｎ１１７が直列に接続される。
【００２１】
読み出し／ベリファイ制御回路２１３からは、信号φＬＡＴ１〜φＬＡＴ４の供給ラインが導出される。ＮＭＯＳトランジスタｎ１１９のゲート電極が信号φＬＡＴ１の供給ラインに接続される。ＮＭＯＳトランジスタｎ１１７のゲート電極が信号φＬＡＴ２の供給ラインに接続される。ＮＭＯＳトランジスタｎ１１４のゲート電極が信号φＬＡＴ３の供給ラインに接続される。ＮＭＯＳトランジスタｎ１１３のゲート電極が信号φＬＡＴ４の供給ラインに接続される。
【００２２】
ラッチ回路ＬＱ２の反転記憶ノード／Ｑ２は、ＮＭＯＳトランジスタｎ１１６のゲート電極に接続される。ラッチ回路ＬＱ２の記憶ノードＱ２は、ＮＭＯＳトランジスタｎ１１８のゲート電極に接続される。ラッチ回路ＩＱ１の記憶ノードＱ１は、ＮＭＯＳトランジスタｎ１１５のゲート電極に接続される。
【００２３】
ラッチ回路ＬＱ２の記憶ノードＱ２が図示せずも所定のトランジスタを介してデータバスラインに接続される。また、ラッチ回路ＬＱ１の記憶ノードＱ１が図示せずも所定のトランジスタを介してデータバスラインに接続される。
【００２４】
次に、書き込み動作を説明する。スタンバイ時には、信号ＰＧＭがローレベルに設定され、ＮＭＯＳトランジスタｎ１０１が非導通状態に保持され、ビット線ＢＬ０、ＢＬ１がビット線電圧発生回路２１２のラッチ回路ＬＱ２、ＬＱ１から切り離されている。
【００２５】
そして、リセット信号ＲＳＴ１がハイレベルに設定され、信号ＡｎＢ、ＡｎＮが（Ｖcc−Ｖth）に設定され、ビット線ＢＬ０、ＢＬ１が接地レベルに設定されている。なお、このとき、信号ＩＮＨＢ、ＩＮＨＮがローレベルに設定されている。
【００２６】
この状態で書き込みが起動された場合、データバスからの書き込みデータがラッチ回路ＬＱ２、ＬＱ１に取り込まれて保持される。
【００２７】
その後、信号ＲＳＴ１がローレベルに切り換えられ、ビット線ＢＬ０、ＢＬ１が接地ラインから切り離される。そして、信号ＡｎＢ、ＡｎＮがＶcc以上のハイレベル（例えば読み出し時のパス電圧）に設定されるとともに、信号Ｖref がローレベルとされ、ＰＭＯＳトランジスタｐ１０１が導通状態に保持される。これにより、全ビット線ＢＬ０、ＢＬ１が電源電圧Ｖccに充電される。
【００２８】
書き込み時には、アドレス信号で選択されない方のアドレス、例えばＡｎＮが接地レベルとなり、同時に制御信号ＩＮＨＮがＶcc以上のハイレベルに設定される。そして信号ＰＧＭがハイレベルに設定され、電圧ＶＢ２および電圧ＶＢ１が（ＶＢ２＞ＶＢ１＞０）の関係の所定の電圧に設定される。
【００２９】
書き込みデータが”００”の場合には、ラッチ回路ＬＱ２及びＬＱ１の反転ノード／Ｑ２及び／Ｑ１はハイレベルである。このため、ＮＭＯＳトランジスタｎ１０３、ｎ１０４が導通状態となり、ビット線ＢＬ０は、接地レベルになる。
【００３０】
書き込みデータが”０１”の場合には、ＮＭＯＳトランジスタｎ１０５、ｎ１０６が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ１に設定される。
【００３１】
書き込みデータが”１０”の場合には、ＮＭＯＳトランジスタｎ１０７、ｎ１０８が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ２に設定される。
【００３２】
書き込みデータが”１１”の場合には、電圧ＶＢ２、ＶＢ１および接地ラインとの間の何れのパスもビット線と遮断される。このため、ビット線の電圧は、Ｖccレベルに保持される。
【００３３】
以上のプロセスにより、選択ビット線ＢＬ０が書き込みデータに応じた電圧に設定された後、ワード線が書き込み電圧に設定され、非選択のワード線が書き込みパス電圧に設定されて、書き込みが行なわれる。
【００３４】
次に、ベリファイ読み出し動作について図１７のタイミングチャートに関連付けて説明する。なお、偶数ビット線側が選択されているものとする。
【００３５】
ベリファイ動作では、１回の書き込みが終了する毎に”００”、”０１”、”１０”の書き込みチェックが行なわれる。
【００３６】
この例では、高いレベルからベリファイが行なわれる。すなわち、ワード線電圧をＶVF3 →ＶVF2 →ＶVF1 へ順次下げてベリファイが行なわれる。以下、ベリファイ動作を具体的に説明する。
【００３７】
先ず、信号Ｖref がローレベルに設定され、ＰＭＯＳトランジスタｐ１０１が導通状態に保持されるとともに、信号ＲＳＴ１がローレベルに設定され、ＮＭＯＳトランジスタｎ１０２が非導通状態に保持される。また、信号ＡｎＢがＶAnB （ＶAnB ＝Ｖcc−Ｖth）に設定され、ビット線の電圧が信号ＡｎＢのレベルからバックバイアスのかかったしきい値電圧Ｖth’だけ降下した電圧に充電されたあと、ＮＭＯＳトランジスタＨ１０３はカットオフし、ノードＳＡは電源電圧Ｖccに充電される。。
【００３８】
一定時間経過後、信号Ｖref は、ビット線のリーク電流を補償するだけの電流をＰＭＯＳトランジスタｐ１０１に流すことができる電圧に設定され、非選択メモリセルのワード線にＰ５Ｖが設定され、選択セルが接続されたワード線に、ＶVF3 が印加される。
【００３９】
先ず、書き込みデータが”００”のベリファイが行なわれる。このとき、選択ワード線電圧はＶVF3 に設定される。
【００４０】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF3 より大きい（Ｖth＞ＶVF3 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタｎ１０９、ｎ１１０が導通状態に保持される。
【００４１】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ３、φＬＡＴ４が図１７に示すタイミングでハイレベルに設定される。
【００４２】
信号φＬＡＴ３およびφＬＡＴ４がハイレベルの期間では、ＮＭＯＳトランジスタｎ１１３、ｎ１１４がともに導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ１０９が導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【００４３】
信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタｎ１１９が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ１１８のゲート電極がラッチ回路ＬＱ２のノードのレベルが反転することによりハイレベルに設定されているため、ＮＭＯＳトランジスタｎ１１８も導通状態に切り換わり、ラッチ回路ＬＱ１の反転ノード／Ｑ１がローレベルになり、ラッチ回路ＬＱ１のノードＱ１がハイレベルに反転する。
【００４４】
以上により、書き込みデータが”００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF3 より大きい（Ｖth＞ＶVF3 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”１１”に反転し、以後、再書き込みではビット線ＢＬは電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【００４５】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF3 より小さい（Ｖth＜ＶVF3 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ１０３がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶAnB −Ｖth’）となる。ノードＳＡの電位が（ＶAnB −Ｖth’）では、ＮＭＯＳトランジスタｎ１０９、ｎ１１０は完全に導通することはできない。
【００４６】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ３、φＬＡＴ４が図１７に示すタイミングでハイレベルに設定される。
【００４７】
信号φＬＡＴ３およびφＬＡＴ４がハイレベルの期間では、ＮＭＯＳトランジスタｎ１１３、ｎ１１４が導通状態に切り換わる。ＮＭＯＳトランジスタｎ１１３、ｎ１１４が導通状態に切り換わるが、ＮＭＯＳトランジスタｎ１０９が完全に導通しないため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【００４８】
信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ１１９が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ１１６が非導通なので（ラッチ回路ＬＱ２のノードの反転は起きていないから）、ラッチ回路ＬＱ１のノードの反転は起こらない。
【００４９】
以上により、書き込みデータが”００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF3 より小さい（Ｖth＜ＶVF3 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”００”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【００５０】
次に、書き込みデータが”０１”のベリファイが行なわれる。このとき、選択ワード線電圧はＶVF2 に設定される。
【００５１】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF2 より大きい（Ｖth＞ＶVF2 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタｎ１０９、ｎ１１０が導通状態に保持される。
【００５２】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ３が図１７に示すタイミングでハイレベルに設定される。
【００５３】
信号φＬＡＴ３がハイレベルの期間では、ＮＭＯＳトランジスタｎ１１４が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ１１５のゲート電極がラッチ回路ＬＱ１のＱ１出力によりハイレベルに設定されているため、ＮＭＯＳトランジスタｎ１１５も導通状態に切り換わり、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【００５４】
以上により、書き込みデータが”０１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF2 より大きい（Ｖth＞ＶVF2 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”１１”に反転し、以後、再書き込みではビット線ＢＬは電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【００５５】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF2 より小さい（Ｖth＜ＶVF2 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ１０３がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶAnB −Ｖth）となる。ノードＳＡの電位が（ＶAnB −Ｖth’）では、ＮＭＯＳトランジスタｎ１０９、ｎ１１０は完全に導通することはできない。
【００５６】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ３が図１７に示すタイミングでハイレベルに設定される。
【００５７】
信号φＬＡＴ３がハイレベルの期間では、ＮＭＯＳトランジスタｎ１１４が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ１０９が完全に導通しないため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【００５８】
次に、書き込みデータが”１０”のベリファイが行われる。このとき、選択ワード線電圧はＶVF1 に設定される。
【００５９】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF1 より大きい（Ｖth＞ＶVF1 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタｎ１０９、ｎ１１０が導通状態に保持される。
【００６０】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１が図１７に示すタイミングでハイレベルに設定される。
【００６１】
信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタｎ１１９が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ１１８のゲート電極がラッチ回路ＬＱ２のＱ２出力によりハイレベルに設定されているため、ＮＭＯＳトランジスタｎ１１８も導通状態に切り換わり、ラッチ回路ＬＱ１の反転ノード／Ｑ１がローレベルになり、ラッチ回路ＬＱ１のノードＱ１がハイレベルに反転する。
【００６２】
以上により、書き込みデータが”１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF1 より大きい（Ｖth＞ＶVF1 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”１１”に反転し、以後、再書き込みではビット線ＢＬは電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【００６３】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF1 より小さい（Ｖth＜ＶVF1 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ１０３がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶAnB −Ｖth’）となる。ノードＳＡの電位が（ＶAnB −Ｖth’）では、ＮＭＯＳトランジスタｎ１０９、ｎ１１０は完全に導通することはできない。
【００６４】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１が図１７に示すタイミングでハイレベルに設定される。
【００６５】
信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタｎ１１９が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ１１０が完全に導通しないため、ラッチ回路ＬＱ１のノードの反転は起こらない。
【００６６】
以上により、書き込みデータが”１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF1 より小さい（Ｖth＜ＶVF1 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”１０”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【００６７】
そして、ワード線電圧ＶVF1 でのベリファイが終了した段階で、全ラッチデータの反転信号のワイヤードＯＲがとられ、１つでも”０”があれば、ワイヤードＯＲの結果はローレベルとなって、再書き込みプロセスに移行し、全てが”１”となっていれば、書き込みが終了する。以上の書き込み及びベリファイサイクルが全てのメモリセルの書き込み十分と判定されるか、所定回数に達するまで繰り返される。
【００６８】
次に、読み出し動作について図１８のタイミングチャートに関連付けて説明する。読み出し時には、ベリファイ時と同様に、高いレベルから読み出しが行なわれる。すなわち、ワード線電圧をＶRD3 →ＶRD2 →ＶRD1 へ順次下げて読み出しが行なわれる。なお、偶数ビット線側が選択されているものとする。
【００６９】
読み出し時には、先ず、読み出し動作に先立って、信号ＲＳＴ２が一定期間ハイレベルに保持されてラッチ回路ＬＱ２およびＬＱ１のリセットがなされる。そして、ベリファイ時と同様に、信号Ｖref がローレベルに設定され、ＰＭＯＳトランジスタｐ１０１が導通状態に保持されると共に、信号ＲＳＴ１がローレベルに設定され、ＮＭＯＳトランジスタｎ１０２が非導通状態に保持される。また、信号ＡｎＢがＶAnB （ＶAnB ＝Ｖcc−Ｖth）に設定され、ビット線の電圧が信号ＡｎＢのレベルからバックバイアスのかかったしきい値電圧Ｖth’だけ降下した電圧に充電されたあと、ＮＭＯＳトランジスタＨ１０３はカットオフし、ノードＳＡは電源電圧Ｖccに充電される。
【００７０】
一定時間経過後、信号Ｖref は、ビット線のリーク電流を補償するだけの電流をＰＭＯＳトランジスタｐ１０１に流すことができる電圧に設定され、非選択メモリセルのワード線にＰ５Ｖが設定され、選択セルが接続されたワード線に、ＶRD3 が印加される。
【００７１】
ワード線電圧がＶRD3 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 より大きい（Ｖth＞ＶRD3 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタｎ１０９、ｎ１１０が導通状態となる。
【００７２】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ３、φＬＡＴ４、φＬＡＴ１が図１８に示すタイミングでハイレベルに設定され、ＮＭＯＳトランジスタｎ１１３、ｎ１１４が導通状態に設定される。
【００７３】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 より大きい場合、ＮＭＯＳトランジスタｎ１０９は導通している。したがって、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【００７４】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタｎ１１９が導通状態に設定される。このとき、ＮＭＯＳトランジスタｎ１１８のゲート電極がラッチ回路ＬＱ２のＱ２出力によりハイレベルに設定されているため、ＮＭＯＳトランジスタｎ１１８も導通状態に切り換わっている。そして、ＮＭＯＳトランジスタｎ１１０は導通している。したがって、信号φＬＡＴ１がハイレベルに設定されると、ラッチ回路ＬＱ１の反転ノード／Ｑ１が「０」になり、ラッチ回路ＬＱ１のノードＱ１が「１」に反転する。
【００７５】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 より大きい（Ｖth＞ＶRD3 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータが”１１”に反転する。
【００７６】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 以下（Ｖth＜ＶRD3 ）であれば、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ１０３が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶAnB −Ｖth’）となる。このため、ＮＭＯＳトランジスタｎ１０９、ｎ１１０は完全に導通しない。
【００７７】
そして、一定時間経過後、パルス状の信号φＬＡＴ３およびφＬＡＴ４がハイレベルに設定され、ＮＭＯＳトランジスタｎ１１３、ｎ１１４が導通状態に設定されるが、ＮＭＯＳトランジスタＮ１０９は完全には導通しない。したがって、ラッチ回路ＬＱ２のノードの反転は起こらない。
【００７８】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタｎ１１９が導通状態に設定される。ところが、ＮＭＯＳトランジスタｎ１１０は完全には導通していない。したがって、ラッチ回路ＬＱ１のノードの反転は起こらない。
【００７９】
次に、ワード線電圧がＶRD2 に設定されて読み出しが行なわれる。ワード線電圧がＶRD2 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD2 より大きい（Ｖth＞ＶRD2 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタｎ１０９、ｎ１１０が導通状態となる。
【００８０】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ３およびφＬＡＴ４がハイレベルに設定され、ＮＭＯＳトランジスタｎ１１３、ｎ１１４が導通状態に設定される。このとき、ＮＭＯＳトランジスタｎ１０９は導通しているため、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【００８１】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD2 より大きい（Ｖth＞ＶRD2 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータが”１０”に反転する。
【００８２】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD2 以下（Ｖth＜ＶRD2 ）であれば、リーク補償電圧より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ１０３が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶAnB −Ｖth）となる。このため、ＮＭＯＳトランジスタｎ１０９、ｎ１１０は完全に導通しない。
【００８３】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ３およびφＬＡＴ４がハイレベルに設定され、ＮＭＯＳトランジスタｎ１１３、ｎ１１４が導通状態に設定される。ＮＭＯＳトランジスタｎ１０９は完全には導通しないため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【００８４】
次に、ワード線電圧がＶRD1 に設定されて読み出しが行なわれる。ワード線電圧ＶRD1 での読み出し結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVR1 より大きい（Ｖth＞ＶRD1 ）場合、セル電圧が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタｎ１０９、ｎ１１０は導通状態に保持される。
【００８５】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ２がハイレベルに設定され、ＮＭＯＳトランジスタｎ１１７が導通状態に設定される。このとき、ＮＭＯＳトランジスタｎ１１０は導通している。また、ＮＭＯＳトランジスタｎ１１６のゲート電極がラッチ回路ＬＱ２の／Ｑ２出力によりハイレベルとされいるため、ＮＭＯＳトランジスタｎ１１６も導通状態に設定される。したがって、信号φＬＡＴ２がハイレベルに設定されると、ラッチ回路ＬＱ１の反転ノード／Ｑ１が「０」になり、ラッチ回路ＬＱ１のノードＱ１が「１」に反転する。
【００８６】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD1 より大きい（Ｖth＞ＶRD1 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータが”０１”に反転する。
【００８７】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD1 以下（Ｖth＜ＶRD1 ）であれば、リーク補償電圧より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ１０３が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶAnB −Ｖth）となる。このため、ＮＭＯＳトランジスタｎ１０９、ｎ１１０は完全に導通しない。
【００８８】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ２がハイレベルに設定され、ＮＭＯＳトランジスタｎ１１７が導通状態に設定される。しかし、ＮＭＯＳトランジスタｎ１１０は完全には導通しないため、ラッチ回路ＬＱ１のノードの反転は起こらない。
【００８９】
また、図１９は、先に本願出願人により提案されている記憶多値レベルが８値に対応した不揮発性半導体記憶装置の一例である。この不揮発性半導体記憶装置は、メモリアレイ１１１と、ビット線電圧発生回路１１２と、読み出し／ベリファイ制御回路１１３とにより構成される。
【００９０】
メモリアレイ１１１は、メモリストリングを複数マトリクス状に配列した構成とされている。一方のメモリストリングはビット線ＢＬ０に接続され、他方のメモリストリングはビット線ＢＬ１に接続される。
【００９１】
メモリストリングは、フローティングゲートを有する不揮発性半導体記憶装置からなるメモリセルトランジスタが直列に接続されたＮＡＮＤストリングからなる。このＮＡＮＤストリングのメモリセルトランジスタのドレインが選択ゲートを夫々介してビット線ＢＬ０、ＢＬ１に接続される。同一行のメモリセルの制御ゲートが共通のワード線に接続される。セルフブーストを用いて８値の多値データがページ単位でメモリセルに書き込まれる。
【００９２】
ビット線電圧発生回路１１２は、ＮＭＯＳトランジスタＮ１０１〜Ｎ１１４及びインバータの入出力同士を結合してなるラッチ回路ＬＱ２、ＬＱ１、ＬＱ０により構成される。また、ビット線電圧発生回路１１２からは、電圧ＶＢ０、ＶＢ１、ＶＢ２、ＶＢ３の供給ラインが導出される。
【００９３】
ビット線電圧発生回路１１２により、書き込み時に、書き込みデータに応じたビット線電圧が発生され、メモリアレイ１１１のメモリセルに与えられる。また、ビット線電圧発生回路１１２には、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０が含まれている。ベリファイ時には、ビット線電圧発生回路１１２のラッチ回路ＬＱ２、ＬＱ１、ＬＱ０の記憶ノードＱ２、Ｑ１、Ｑ０は、メモリアレイ１１のメモリセルに書き込みが十分に行なわれると、”１１１”に設定される。読み出し時には、メモリアレイ１１１のメモリセルのしきい値が検出されてデータの読み出しが行なわれる。この時、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０の記憶ノードＱ２、Ｑ１、Ｑ０には、読み出されたデータがデコードされて設定されていく。
【００９４】
読み出し／ベリファイ制御回路１１３は、ＮＭＯＳトランジスタＮ１１５〜Ｎ１４１から構成される。この読み出し／ベリファイ制御回路１１３は、読み出し時又はベリファイ時に、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０の状態を制御するものである。読み出し／ベリファイ制御回路１１３からは、信号φＬＡＴ０〜φＬＡＴ９の供給ラインが導出される。この信号φＬＡＴ０〜φＬＡＴ９の供給ラインに、パルス状の信号が供給される。読み出し／ベリファイ制御回路１１３のＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７のゲート電極は、ノードＳＡに接続されている。ノードＳＡは、メモリアレイ１１１のメモリセルのしきい値を検出するためのノードとなる。
【００９５】
ノードＳＡとビット線ＢＬ０との間には、高耐圧のＮＭＯＳトランジスタＨＮ１０１及びＨＮ１０３の直列接続が設けられる。また、ノードＳＡとビット線ＢＬ１との間に、高耐圧のＮＭＯＳトランジスタＨＮ１０２及びＨＮ１０４の直列接続が設けられる。ＮＭＯＳトランジスタＨＮ１０３のゲート電極にアドレスデコード信号ＡｉＢが供給される。ＮＭＯＳトランジスタＨＮ１０４のゲート電極にアドレスデコード信号ＡｉＮが供給される。ＮＭＯＳトランジスタＨＮ１０１、ＨＮ１０２のゲート電極に、制御信号ＴＲＮが供給される。
【００９６】
ノードＳＡと接地ラインＧＮＤとの間に、ＮＭＯＳトランジスタＮ１０１が接続される。ノードＳＡと電源電圧Ｖcc（例えば、３．３Ｖ）の供給ラインとの間に、ＰＭＯＳトランジスタＰ１０１が接続される。ＮＭＯＳトランジスタＮ１０１のゲート電極には、制御信号ＤＩＳが供給される。ＰＭＯＳトランジスタＰ１０１のゲート電極には、信号Ｖref が供給される。
【００９７】
ノードＳＡとビット線電圧発生回路１１２との間には、ＮＭＯＳトランジスタＮ１０２が設けられている。すなわち、ＮＭＯＳトランジスタＮ１０２のドレインがノードＳＡに接続される。ＮＭＯＳトランジスタＮ１０２のソースがＮＭＯＳトランジスタＮ１０３、Ｎ１０５、Ｎ１０７、Ｎ１０９のドレインに接続される。ＮＭＯＳトランジスタＮ１０２のゲート電極には、制御信号ＰＧＭが供給される。
【００９８】
ＮＭＯＳトランジスタＮ１０２のソースと電圧ＶＢ０の供給ラインとの間に、ＮＭＯＳトランジスタＮ１０３、Ｎ１０４が直列に接続される。ＮＭＯＳトランジスタＮ１０２のソースと電圧ＶＢ１の供給ラインとの間に、ＮＭＯＳトランジスタＮ１０５、Ｎ１０６が直列に接続される。ＮＭＯＳトランジスタＮ１０２のソースと電圧ＶＢ２の供給ラインとの間に、ＮＭＯＳトランジスタＮ１０７、Ｎ１０８が直列に接続される。ＮＭＯＳトランジスタＮ１０２のソースと電圧ＶＢ３の供給ラインとの間に、ＮＭＯＳトランジスタＮ１０９、Ｎ１１０、Ｎ１１１が直列に接続される。
【００９９】
ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０は、夫々、記憶ノードＱ２、Ｑ１、Ｑ０と、その反転記憶ノード／Ｑ２、／Ｑ１、／Ｑ０を有している。なお、／は反転を示すバーを意味している。
【０１００】
ラッチ回路ＬＱ２の反転記憶ノード／Ｑ２は、ＮＭＯＳトランジスタＮ１０４、Ｎ１０６のゲート電極に接続される。ラッチ回路ＬＱ２の記憶ノードＱ２は、ＮＭＯＳトランジスタＮ１０７、Ｎ１０９のゲート電極に接続される。
【０１０１】
ラッチ回路ＬＱ１の反転記憶ノード／Ｑ１は、ＮＭＯＳトランジスタＮ１０３、Ｎ１０８のゲート電極に接続される。ラッチ回路ＬＱ１の記憶ノードＱ１はＮＭＯＳトランジスタＮ１０５、Ｎ１１０のゲート電極に接続される。
【０１０２】
ラッチ回路ＬＱ０の反転記憶ノード／Ｑ０は、ＮＭＯＳトランジスタＮ１１１のゲート電極に接続される。
【０１０３】
また、ラッチ回路ＬＱ２の記憶ノードＱ２、ラッチ回路ＬＱ１の記憶ノードＱ１、ラッチ回路ＬＱ０の記憶ノードＱ０の夫々と接地ラインとの間に、ＮＭＯＳトランジスタＮ１１２、Ｎ１１３、Ｎ１１４が夫々接続される。ＮＭＯＳトランジスタＮ１１２、Ｎ１１３、Ｎ１１４のゲート電極がリセット信号ＲＳＴの供給ラインに接続される。
【０１０４】
読み出し／ベリファイ制御回路１１３において、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７のゲート電極は、ノードＳＡに接続される。ＮＭＯＳトランジスタＮ１１５のドレインがラッチ回路ＬＱ２の反転記憶ノード／Ｑ２に接続される。ＮＭＯＳトランジスタＮ１１６のドレインがラッチ回路ＬＱ１の反転記憶ノード／Ｑ１に接続される。ＮＭＯＳトランジスタＮ１１７のドレインがラッチ回路ＬＱ０の反転記憶ノード／Ｑ０に接続される。
【０１０５】
ＮＭＯＳトランジスタＮ１１５のソースと接地ラインとの間に、ＮＭＯＳトランジスタＮ１１８が接続されるとともに、これと並列的に、ＮＭＯＳトランジスタＮ１１９、Ｎ１２０、Ｎ１２１が直列に接続される。
【０１０６】
ＮＭＯＳトランジスタＮ１１６のソースがＮＭＯＳトランジスタＮ１２２のドレイン及びＮＭＯＳトランジスタＮ１２７のドレインに接続される。ＮＭＯＳトランジスタＮ１２２のソースと接地ラインとの間に、ＮＭＯＳトランジスタＮ１２３、Ｎ１２４が直列に接続されるとともに、これと並列的に、ＮＭＯＳトランジスタＮ１２５、Ｎ１２６が直列に接続される。
【０１０７】
ＮＭＯＳトランジスタＮ１２７のソースと接地ラインとの間に、ＮＭＯＳトランジスタＮ１２８、Ｎ１２９が直列に接続されるとともに、これと並列的に、ＮＭＯＳトランジスタＮ１３０、Ｎ１３１が直列に接続される。
【０１０８】
ＮＭＯＳトランジスタＮ１１７のソースがＮＭＯＳトランジスタＮ１３２のドレイン及びＮＭＯＳトランジスタＮ１３７のドレインに接続される。ＮＭＯＳトランジスタＮ１３２のソースと接地ラインとの間に、ＮＭＯＳトランジスタＮ１３３、Ｎ１３４が直列に接続されるとともに、これと並列的に、ＮＭＯＳトランジスタＮ１３５、Ｎ１３６が直列に接続される。
【０１０９】
ＮＭＯＳトランジスタＮ１３７のソースと接地ラインとの間に、ＮＭＯＳトランジスタＮ１３８、Ｎ１３９が直列に接続されるとともに、これと並列的に、ＮＭＯＳトランジスタＮ１４０、Ｎ１４１が直列に接続される。
【０１１０】
読み出し／ベリファイ制御回路１１３からは、信号φＬＡＴ０〜φＬＡＴ９の供給ラインが導出される。ＮＭＯＳトランジスタＮ１１８のゲート電極が信号φＬＡＴ０の供給ラインに接続される。ＮＭＯＳトランジスタＮ１２１のゲート電極が信号φＬＡＴ１の供給ラインに接続される。ＮＭＯＳトランジスタＮ１２４のゲート電極が信号φＬＡＴ２の供給ラインに接続される。ＮＭＯＳトランジスタＮ１２６のゲート電極が信号φＬＡＴ３の供給ラインに接続される。ＮＭＯＳトランジスタＮ１２９のゲート電極が信号φＬＡＴ４の供給ラインに接続される。ＮＭＯＳトランジスタＮ１３１のゲート電極が信号φＬＡＴ５の供給ラインに接続される。ＮＭＯＳトランジスタＮ１３４のゲート電極が信号φＬＡＴ６の供給ラインに接続される。ＮＭＯＳトランジスタＮ１３６のゲート電極が信号φＬＡＴ７の供給ラインに接続される。ＮＭＯＳトランジスタＮ１３９のゲート電極が信号φＬＡＴ８の供給ラインに接続される。ＮＭＯＳトランジスタＮ１４１のゲート電極が信号φＬＡＴ９の供給ラインに接続される。
【０１１１】
ラッチ回路ＬＱ２の反転記憶ノード／Ｑ２は、ＮＭＯＳトランジスタＮ１２７、Ｎ１３７のゲート電極に接続される。ラッチ回路ＬＱ２の記憶ノードＱ２は、ＮＭＯＳトランジスタＮ１２２、Ｎ１３２のゲート電極に接続される。ラッチ回路ＬＱ１の反転記憶ノード／Ｑ１は、ＮＭＯＳトランジスタＮ１３５、Ｎ１４０のゲート電極に接続される。ラッチ回路ＬＱ１の記憶ノードＱ１は、ＮＭＯＳトランジスタＮ１３３、Ｎ１３８のゲート電極に接続される。ラッチ回路ＬＱ０の反転記憶ノード／Ｑ０は、ＮＭＯＳトランジスタＮ１２８、Ｎ１２３のゲート電極に接続される。ラッチ回路ＬＱ０の記憶ノードＱ０は、ＮＭＯＳトランジスタＮ１３０、Ｎ１２５、Ｎ１２０のゲート電極に接続される。
【０１１２】
ラッチ回路ＬＱ２の記憶ノードＱ２とバスラインＩＯ０との間に、ＮＭＯＳトランジスタＮ１５１が接続され、ラッチ回路ＬＱ１の記憶ノードＱ１とバスラインＩＯ１との間にＮＭＯＳトランジスタＮ１５２が接続され、ラッチ回路ＬＱ０の記憶ノードＱ０とバスラインＩＯ２との間にＮＭＯＳトランジスタＮ１５３が接続される。また、カラムゲートとしてのＮＭＯＳトランジスタＮ１５１、Ｎ１５２、Ｎ１５３のゲート電極が信号Ｙ１＿０の供給ラインに接続される。
【０１１３】
次に、書き込み動作を説明する。スタンバイ時には、信号ＰＧＭがローレベルに設定され、ＮＭＯＳトランジスタＮ１０２が非導通状態に保持され、ビット線ＢＬ０、ＢＬ１がビット線電圧発生回路１１２のラッチ回路ＬＱ２、ＬＱ１、ＬＱ０から切り離されている。
【０１１４】
そして、信号ＤＩＳがハイレベルに設定され、信号ＴＲＮ、ＡｉＢ，ＡｉＮが（Ｖcc−Ｖth）に設定される。ビット線ＢＬ０、ＢＬ１が接地レベルに設定される。
【０１１５】
この状態で書き込みが起動された場合、信号Ｙ０ ０がハイレベルに設定されて、書き込みデータがラッチ回路ＬＱ２、ＬＱ１、ＬＱ０に取り込まれて保持される。
【０１１６】
その後、信号ＤＩＳがローレベルに切り換えられ、ビット線ＢＬ０、ＢＬ１が接地ラインから切り離される。そして、信号ＴＲＮ、ＡｉＢ、ＡｉＮがＶcc以上のハイレベル（例えば読み出し時のパス電圧）に設定されるとともに、信号Ｖref がローレベルとされ、ＰＭＯＳトランジスタＰ１０１が導通状態に保持される。これにより、全ビット線ＢＬ０、ＢＬ１が電源電圧Ｖccに充電される。
【０１１７】
書き込み時には、アドレス信号で選択されない方のアドレス、例えばＡｉＮが接地レベルとなり、信号ＰＧＭがハイレベルに設定される。そして、電圧ＶＢ３が最も高い電圧となり、電圧ＶＢ２が次に高い電圧となり、電圧ＶＢ１が次に高い電圧となり、電圧ＶＢ０は接地レベルになるように設定される。
【０１１８】
書き込みデータが”００ｘ”（ｘは０又は１）の場合には、ラッチ回路ＬＱ２及びＬＱ１の反転ノード／Ｑ２及び／Ｑ１はハイレベルである。このため、ＮＭＯＳトランジスタＮ１０３、Ｎ１０４が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ０（接地レベル）になる。
【０１１９】
書き込みデータが”０１ｘ”の場合には、ＮＭＯＳトランジスタＮ１０５、Ｎ１０６が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ１に設定される。
【０１２０】
書き込みデータが”１０ｘ”の場合には、ＮＭＯＳトランジスタＮ１０７、Ｎ１０８が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ２に設定される。
【０１２１】
書き込みデータが”１１０”の場合には、ＮＭＯＳトランジスタＮ１０９、Ｎ１１０、Ｎ１１１が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ３に設定される。
【０１２２】
書き込みデータが”１１１”の場合には、電圧ＶＢ０〜ＶＢ３からの何れのパスもビット線と遮断される。このため、ビット線の電圧は、Ｖccレベルに保持される。
【０１２３】
以上のプロセスにより、選択ビット線ＢＬ０が書き込みデータに応じた電圧に設定された後、ワード線が書き込み電圧に設定され、非選択のワード線が書き込みパス電圧に設定されて、書き込みが行なわれる。
【０１２４】
次に、ベリファイ読み出し動作について図２０を参照して説明する。
【０１２５】
ベリファイ動作では、１回の書き込みが終了する毎に”０００”、”００１”、”０１０”、”０１１”、”１００”、”１０１”、”１１０”、の書き込みチェックが行なわれる。
【０１２６】
この例では、高いレベルからベリファイが行なわれる。すなわち、ワード線電圧をＶVF7 →ＶVF6 →ＶVF5 →ＶVF4 →ＶVF3 →ＶVF2 →ＶVF1 へ順次下げてベリファイが行なわれる。以下、ベリファイ動作を具体的に説明する。
【０１２７】
先ず、信号Ｖref がローレベルに設定され、ＰＭＯＳトランジスタＰ１０１が導通状態に保持される。また、信号ＴＲＮがＶTRN （ＶTRN ＝Ｖcc−Ｖth）に設定され、ビット線の電圧が信号ＴＲＮのレベルからバックバイアスのかかったしきい値電圧Ｖth’だけ降下した電圧に充電されたあと、ＮＭＯＳトランジスタＨＮ１０１はカットオフし、ノードＳＡは電源電圧Ｖccに充電される。
【０１２８】
一定時間経過後、信号Ｖref は、ビット線のリーク電流を補償するだけの電流をＰＭＯＳトランジスタＰ１０１に流すことができる電圧に設定され、非選択メモリセルのワード線にＰ５Ｖが設定され、選択セルが接続されたワード線にＶVF7 が印加される。
【０１２９】
先ず、書き込みデータが”０００”のベリファイが行なわれる。
【０１３０】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF7 より大きい（Ｖth＞ＶVF7 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７が導通状態に保持される。
【０１３１】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ２、φＬＡＴ６が順次ハイレベルに設定される。
【０１３２】
信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ１１８が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１１５が導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０１３３】
信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタＮ１２４が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１２３が導通状態で、ＮＭＯＳトランジスタＮ１２２が導通状態に切り換わっており（ラッチ回路ＬＱ２のノードが反転しているので）、ＮＭＯＳトランジスタＮ１１６が導通状態であるから、ラッチ回路ＬＱ１の反転ノード／Ｑ１がローレベルになり、ラッチ回路ＬＱ１のノードＱ１がハイレベルに反転する。
【０１３４】
信号φＬＡＴ６がハイレベルの期間では、ＮＭＯＳトランジスタＮ１３４が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１３３が導通状態に切り換わっており、ＮＭＯＳトランジスタＮ１３２が導通状態に切り換わっており（ラッチ回路ＬＱ２、ＬＱ１が反転しているので）、ＮＭＯＳトランジスタＮ１１７が導通状態であることから、ラッチ回路ＬＱ０の反転ノード／Ｑ０がローレベルになり、ラッチ回路ＬＱ０のノードＱ０がハイレベルに反転する。
【０１３５】
以上により、書き込みデータが”０００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF7 より大きい（Ｖth＞ＶVF7 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線ＢＬは電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０１３６】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１０１がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。ノードＳＡの電位が（ＶTRN −Ｖth’）では、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７は完全に導通することはできない。
【０１３７】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ２、φＬＡＴ６が順次ハイレベルに設定される。
【０１３８】
信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ１１８が導通状態に切り換わる。ＮＭＯＳトランジスタＮ１１８が導通状態に切り換わるが、ＮＭＯＳトランジスタＮ１１５が完全に導通しないため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０１３９】
信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタＮ１２４が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１２２が非導通なので（ラッチ回路ＬＱ２のノードの反転は起きていないから）、ラッチ回路ＬＱ１のノードの反転は起こらない。
【０１４０】
信号φＬＡＴ６がハイレベルの期間では、ＮＭＯＳトランジスタＮ１３４が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１３３が非導通状態、ＮＭＯＳトランジスタＮ１３２が非導通なので（ラッチ回路ＬＱ２、ＬＱ１のノードの反転は起きていないから）、ラッチ回路ＬＱ０のノードの反転は起こらない。
【０１４１】
以上により、書き込みデータが”０００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”０００”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０１４２】
次に、書き込みデータが”００１”のベリファイが行なわれる。このとき、選択ワード線電圧はＶVF6 に設定される。
【０１４３】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF6 より大きい（Ｖth＞ＶVF6 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７が導通状態に保持される。
【０１４４】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ５、φＬＡＴ１が順次ハイレベルに設定される。
【０１４５】
信号φＬＡＴ５がハイレベルの期間では、ＮＭＯＳトランジスタＮ１３１が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１３０が導通状態であり、ＮＭＯＳトランジスタＮ１２７が導通状態であり、ＮＭＯＳトランジスタＮ１１６が導通状態であるから、ラッチ回路ＬＱ１の反転ノード／Ｑ１がローレベルになり、ラッチ回路ＬＱ１のノードＱ１がハイレベルに反転する。
【０１４６】
信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ１２１が導通状態になり、ＮＭＯＳトランジスタＮ１２０が導通状態にあり、ＮＭＯＳトランジスタＮ１１９が導通状態に切り換わっており、ＮＭＯＳトランジスタＮ１１５が導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０１４７】
以上により、書き込みデータが”００１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF6 より大きい（Ｖth＞ＶVF6 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線ＢＬは電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０１４８】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF6 より小さい（Ｖth＜ＶVF6 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１０１がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。ノードＳＡの電位が（ＶTRN −Ｖth’）では、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７は完全に導通することはできない。
【０１４９】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ５、φＬＡＴ１が順次ハイレベルに設定される。
【０１５０】
信号φＬＡＴ５がハイレベルの期間では、ＮＭＯＳトランジスタＮ１３１が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１１６が完全に導通しないため、ラッチ回路ＬＱ１のノードの反転は起こらない。
【０１５１】
信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ１２１が導通状態に切り換わるが、ＮＭＯＳトランジスタＮ１１９が非導通状態であるから、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０１５２】
以上により、書き込みデータが”００１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF6 より小さい（Ｖth＜ＶVF6 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”００１”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０１５３】
以下、同様にして、ワード線電圧ＶVF5 の場合、書き込みデータが”０１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF5 より大きい（Ｖth＞ＶVF5 ）の場合のみラッチ回路１ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１１”に反転するように制御される。
【０１５４】
ワード線電圧ＶVF4 の場合、書き込みデータが”０１１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF4 より大きい（Ｖth＞ＶVF4 ）場合のみラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１１”に反転するように制御される。
【０１５５】
ワード線電圧ＶVF3 の場合、書き込みデータが”１００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF3 より大きい（Ｖth＞ＶVF3 ）場合のみラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１１”に反転するように制御される。
【０１５６】
ワード線電圧ＶVF2 の場合、書き込みデータが”１０１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF2 より大きい（Ｖth＞ＶVF2 ）場合のみラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１１”に反転するように制御される。
【０１５７】
ワード線電圧ＶVF1 の場合、書き込みデータが”１１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF1 より大きい（Ｖth＞ＶVF1 ）場合のみラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１１”に反転するように制御される。
【０１５８】
そして、ワード線電圧ＶVF1 でのベリファイが終了した段階で、全ラッチデータの反転信号のワイヤードＯＲがとられ、１つでも”０”があれば、ワイヤードＯＲの結果はローレベルとなって、再書き込みプロセスに移行し、全てが”１”となっていれば、書き込みが終了する。以上の書き込み及びベリファイサイクルを全てのメモリセルが書き込み十分と判定されるか、所定回数に達するまで繰り返される。
【０１５９】
次に、読み出し動作について図２１を参照して説明する。読み出し時には、まず、制御信号ＲＳＴを一定期間ハイレベルにしてラッチ回路ＬＱ２、ＬＱ１、ＬＱ０の記憶ノードＱ２、Ｑ１、Ｑ０をローレベルに初期化する。そして、ベリファイ時と同様に、高いレベルから行なわれる。すなわち、ワード線電圧をＶRD7 →ＶRD6 →ＶRD5 →ＶRD4 →ＶRD3 →ＶRD2 →ＶRD1 へ順次下げて行なわれる。
【０１６０】
読み出し時には、ベリファイ時と同様に、先ず、信号Ｖref がローレベルに設定され、ＰＭＯＳトランジスタＰ１０１が導通状態に保持される。また、信号ＴＲＮがＶTRN （ＶTRN ＝Ｖcc−Ｖth）に設定され、ビット線の電圧が信号ＴＲＮのレベルからバックバイアスのかかったしきい値電圧Ｖth’だけ降下した電圧に充電されたあと、ＮＭＯＳトランジスタＨＮ１０１はカットオフし、ノードＳＡは電源電圧Ｖccに充電される。
【０１６１】
一定時間経過後、信号Ｖref は、ビット線のリーク電流を補償するだけの電流をＰＭＯＳトランジスタＰ１０１に流すことができる電圧に設定され、非選択メモリセルのワード線にＰ５Ｖが設定され、選択セルが接続されたワード線に、ＶRD7 が印加される。
【０１６２】
ワード線電圧がＶRD7 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD7 より大きい（Ｖth＞ＶRD7 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７が導通状態となる。
【０１６３】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ２、φＬＡＴ６が順次ハイレベルに設定される。
【０１６４】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１１８が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１１５は導通しているため、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０１６５】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１２４が導通状態に設定される。このとき、ＮＭＯＳトランジスタＮ１２３は導通状態にあり、ＮＭＯＳトランジスタＮ１２２は導通状態に切り換わっている。そして、ＮＭＯＳトランジスタＮ１１６は導通しているため、ラッチ回路ＬＱ１の反転ノード／Ｑ１が「０」になり、ラッチ回路ＬＱ１のノードＱ１が「１」に反転する。
【０１６６】
信号φＬＡＴ６がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１３４が導通状態に設定される。このとき、ＮＭＯＳトランジスタＮ１３３、Ｎ１３２は導通状態に切り換わっている。そして、ＮＭＯＳトランジスタＮ１１７は導通しているため、ラッチ回路ＬＱ０の反転ノード／Ｑ０が「０」に反転し、ラッチ回路ＬＱ０のノードＱ０が「１」に反転する。
【０１６７】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD7 より大きい（Ｖth＞ＶRD7 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１１”に反転する。
【０１６８】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD7 以下（Ｖth＜ＶRD7 ）であれば、リーク補償電圧より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１０１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。このため、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７は完全に導通しない。
【０１６９】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ２、φＬＡＴ６が順次ハイレベルに設定される。
【０１７０】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１１８が導通状態に設定されるが、ＮＭＯＳトランジスタＮ１１５は完全には導通しないため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０１７１】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１２４が導通状態に設定される。ところが、ＮＭＯＳトランジスタＮ１２２は非導通であるため、ラッチ回路ＬＱ１のノードの反転は起こらない。
【０１７２】
信号φＬＡＴ６がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１３４が導通状態に設定される。ところが、ＮＭＯＳトランジスタＮ１３２、Ｎ１３３は非導通であるため、ラッチ回路ＬＱ０のノードの反転は起こらない。
【０１７３】
次に、ワード線電圧がＶRD6 に設定されて読み出しが行なわれる。ワード線電圧がＶRD6 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD6 より大きい（Ｖth＞ＶRD6 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７が導通状態となる。
【０１７４】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ２が順次ハイレベルに設定される。
【０１７５】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１１８が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１１５は導通しているため、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０１７６】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１２４が導通状態に設定される。このとき、ＮＭＯＳトランジスタＮ１２３は導通状態である。ＮＭＯＳトランジスタＮ１２２は導通状態に切り換わっている。そして、ＮＭＯＳトランジスタＮ１１６は導通しているため、ラッチ回路ＬＱ１の反転ノード／Ｑ１が「０」に反転し、ラッチ回路ＬＱ１のノードＱ１が「１」に反転する。
【０１７７】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD6 より大きい（Ｖth＞ＶRD6 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１０”に反転する。
【０１７８】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD6 以下（Ｖth＜ＶRD6 ）であれば、リーク補償電圧より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１０１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。このため、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７は完全に導通しない。
【０１７９】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ２が順次ハイレベルに設定される。
【０１８０】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１１８が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ１１５は完全には導通しないため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０１８１】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１２４が導通状態に設定されるが、ラッチ回路ＬＱ２のノードの反転が起きていないので、ＮＭＯＳトランジスタＮ１２２は非導通である。したがって、ラッチ回路ＬＱ１のノードの反転は起こらない。
【０１８２】
次に、ワード線電圧がＶRD5 に設定されて読み出しが行なわれる。ワード線電圧ＶRD5 での読み出し結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVR5 より大きい（Ｖth＞ＶRD5 ）場合、セル電圧が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７は導通状態に保持される。
【０１８３】
ここで、ラッチデータに関しては、以下の場合が考えられる。
【０１８４】
▲１▼Ｖth＞ＶRD7 の場合：ラッチデータは”１１１”
▲２▼ＶRD7 ＞Ｖth＞ＶRD6 の場合: ラッチデータは”１１０”
▲３▼ＶRD6 ＞Ｖth＞ＶRD5 の場合: ラッチデータは”０００”
ここでは、▲３▼の場合のみ、ラッチ回路ＬＱ２、ＬＱ０のノードの反転が生じて、読み出しデータが”１０１”となるようにする必要があり、このとき、▲１▼の場合や▲２▼の場合に影響がないようにする必要がある。
【０１８５】
一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ７が順次ハイレベルに設定される。
【０１８６】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１１８が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１１５は導通しているため、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０１８７】
▲１▼、▲２▼の場合、元々、ラッチ回路ＬＱ２のノードＱ２は「１」になるので、影響はない。
【０１８８】
信号φＬＡＴ７がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１３６が導通状態に設定される。このとき、▲３▼の場合には、ＮＭＯＳトランジスタＮ１３５が導通しており、ＮＭＯＳトランジスタＮ１３２は導通状態に切り換わっている。また、ＮＭＯＳトランジスタＮ１１７は導通しているため、ラッチ回路ＬＱ０の反転ノード／Ｑ０が「０」になり、ラッチ回路ＬＱ０のノードＱ０が「１」に反転する。
【０１８９】
このとき、▲１▼及び▲２▼の場合には、ＮＭＯＳトランジスタＮ１３５が非導通となるため、ノードの反転は生じない。
【０１９０】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD5 より大きい（Ｖth＞ＶRD5 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１０１”に反転する。
【０１９１】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD5 以下（Ｖth＜ＶRD5 ）であれば、リーク補償電圧より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１０１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。このため、ＮＭＯＳトランジスタＮ１１５、Ｎ１１６、Ｎ１１７は完全に導通しない。
【０１９２】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ７が順次ハイレベルに設定される。
【０１９３】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１１８が導通状態に設定されるが、ＮＭＯＳトランジスタＮ１１５は完全には導通しないため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０１９４】
信号φＬＡＴ７がハイレベルに設定されると、ＮＭＯＳトランジスタＮ１３６が導通状態に設定されているが、ラッチ回路ＬＱ２のノードの反転が起きていないので、ＮＭＯＳトランジスタＮ１３２は非導通である。したがって、ラッチ回路ＬＱ０のノードの反転は起こらない。
【０１９５】
以下、同様にして、以下のような制御か行なわれる。ワード線電圧ＶRD4 の場合、ＶRD5 ＞Ｖth＞ＶRD4 の場合のみラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１００”に反転するように制御される。
【０１９６】
ワード線電圧ＶRD3 の場合、ＶRD4 ＞Ｖth＞ＶRD3 の場合のみラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”０１１”に反転するように制御される。
【０１９７】
ワード線電圧ＶRD2 の場合、ＶRD3 ＞Ｖth＞ＶRD2 の場合のみラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”０１０”に反転するように制御される。
【０１９８】
ワード線電圧ＶRD1 の場合、ＶRD2 ＞Ｖth＞ＶRD1 の場合のみラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”００１”に反転するように制御される。
【０１９９】
【発明が解決しようとする課題】
上述した二つの例が示すように、記憶レベルを４値や８値にすると、ベリファイのための回路や読み出しのための回路が複雑化し、回路規模が大きくなるという問題が生じてくる。特に、ベリファイ時には、ワード線電圧を順次変化させて、所定の書き込みデータのメモリセルについてのみ、ベリファイを行なっていく必要がある。そのための回路構成が複雑化してくる。
【０２００】
すなわち、上述した４値の例では、ベリファイ時には、ワード線をＶVF3 〜ＶVF1 に３回切り換え、セルが書き込み十分であると、ラッチデータを”１１”に反転するようにしている。これは、そのメモリセルのしきい値Ｖthがワード線に与えられた電圧以上になっており、書き込みデータがベリファイ時の対象のデータであるという条件を満たしたときに、ラッチデータを”１１”に反転するものである。
【０２０１】
例えば、書き込みデータが”００”のメモリセルで、このメモリセルの書き込みが十分でなく、分布２（図２Ａ参照）にあるとする。単純に、ワード線電圧としきい値とを比較してラッチデータを反転させるようにすると、ワード線電圧をＶVF3 〜ＶVF1 に順次切り換えていったとき、ワード線電圧をＶVF2 に設定したときに、このメモリセルのラッチデータが”１１”に反転してしまい、書き込み十分とされてしまう。このようなことが起きないようにすると、上述のように、回路構成が複雑化する。
【０２０２】
また、上述した８値の例では、ベリファイ時には、ワード線をＶVF7 〜ＶVF1 に７回切り換え、セルが書き込み十分であると、ラッチデータを”１１１”に反転するようにしている。これは、そのメモリセルのしきい値Ｖthがワード線に与えられた電圧以上になっており、書き込みデータがベリファイ時の対象のデータであるという条件を満たしたときに、ラッチデータを”１１１”に反転するものである。
【０２０３】
例えば、書き込みデータが”０００”のメモリセルで、このメモリセルの書き込みが十分でなく、分布４（図８参照）にあるとする。単純に、ワード線電圧としきい値とを比較してラッチデータを反転させるようにすると、ワード線電圧をＶVF7 〜ＶVF1 に順次切り換えていったとき、ワード線電圧をＶVF4 に設定したときに、このメモリセルのラッチデータが”１１１”に反転してしまい、書き込み十分とされてしまう。このようなことが起きないようにすると、上述のように、回路構成が複雑化する。
【０２０４】
また、上述した４値の例および８値の例では、読み出し時には、４値の例においては、ワード線電圧をＶRD3 〜ＶRD1 に順次変化させ、また、８値の例においては、ワード線電圧をＶRD7 〜ＶRD1 に順次変化させて、メモリセルのしきい値が所定のレベルを越えているかどうかを判断しながら、読み出しデータをデコードしている。この場合、一旦デコードされてラッチ回路に保持されたデータがワード線電圧を切り換えたときに書き換えられることがないように、ラッチ回路のデータを保持していく必要がある。このようなことが行なえるようにすると、上述のように回路構成が複雑化する。
【０２０５】
したがって、この発明の目的は、メモリセルに多値のデータを記録したときにも、回路規模の増大を防ぐようにした不揮発性半導体記憶装置、並びに不揮発性半導体記憶装置のベリファイ方法及び読み出し方法を提供することにある。
【０２０６】
【課題を解決するための手段】
請求項１の発明は、ワード線およびビット線への印加電圧に応じて電荷蓄積部に蓄積された電荷量が変化し、その変化に応じてしきい値電圧が変化し、しきい値電圧に応じた値のデータを記憶するメモリセルを有し、ｎビットの多値データをメモリセルに書き込む不揮発性半導体記憶装置であって、
書き込み時に書き込みデータがラッチされると共に、ベリファイ時にデータが十分に書き込まれると所定のデータに設定され、更に、読み出し時に読み出しデータが設定されるｎ個のラッチ回路と、
書き込み時にラッチ回路にラッチされているデータに応じたビット線電圧に設定する書き込み制御手段と、
ベリファイ時に、ワード線電圧をしきい値電圧の分布状態に応じて設定し、メモリセルのしきい値がワード線に印加された電圧を越えているかどうかによりラッチ回路を確定し、ベリファイ時にデータが十分に書き込まれるとラッチ回路に所定のデータが設定されるように制御するベリファイ制御手段と、
読み出し時に、ワード線電圧をしきい値電圧の分布状態に応じて設定し、メモリセルのしきい値がワード線に印加された電圧を越えているかどうかによりラッチ回路を確定して、読み出されたデータがラッチ回路に設定されるように制御する読み出し制御手段とを備え、
ベリファイ制御手段は、ベリファイ動作時に、ワード線電圧をしきい値電圧の分布状態に応じて複数の段階に設定し、ラッチ回路にラッチされているデータに応じてビット線をプリチャージする／しないように制御し、メモリセルに電流が流れるかどうかによりメモリセルのしきい値がワード線に印加された電圧を越えているかどうかを検出し、検出出力に応じてラッチ回路を確定して、ベリファイ時にデータが十分に書き込まれるとラッチ回路に所定のデータが設定されるようにしたことを特徴とする不揮発性半導体記憶装置である。
【０２０７】
請求項２の発明では、メモリセルは、その一端及び他端がゲート電圧に応じて導通状態が制御される選択トランジスタを介してビット線及びソース線に接続されたメモリストリングからなる。
【０２０８】
請求項３の発明では、ベリファイ制御手段は、最下位ビットを除いてラッチ回路に所定のデータがラッチされているときにのみ、ビット線にプリチャージ電流を流すように制御する手段と、最下位ビットの状態に応じて、ラッチ回路の状態を設定不能とするように制御する手段とを含む。
【０２０９】
請求項４の発明では、ベリファイ制御手段は、最下位ビットを除いてラッチ回路に所定のデータがラッチされているときにのみ、ビット線にプリチャージ電流を流すように制御する手段と、最下位ビットの状態に応じて、ビット線のディスチャージをするように制御する手段とを含む。
【０２１０】
請求項５の発明では、メモリセルには、（ｎ＝２）ビットの多値データを書き込むようにしている。
【０２１１】
請求項６の発明では、メモリセルには、（ｎ＝３）ビットの多値データを書き込むようにしている。
【０２１２】
請求項７の発明は、ワード線およびビット線への印加電圧に応じて電荷蓄積部に蓄積された電荷量が変化し、その変化に応じてしきい値電圧が変化し、しきい値電圧に応じた値のデータを記憶するメモリセルを有し、ｎビットの多値データをメモリセルに書き込む不揮発性半導体記憶装置であって、
書き込み時に書き込みデータがラッチされると共に、ベリファイ時にデータが十分に書き込まれると所定のデータに設定され、更に、読み出し時に読み出しデータが設定されるｎ個のラッチ回路と、
書き込み時にラッチ回路にラッチされているデータに応じたビット線電圧に設定する書き込み制御手段と、
ベリファイ時に、ワード線電圧をしきい値電圧の分布状態に応じて設定し、メモリセルのしきい値がワード線に印加された電圧を越えているかどうかによりラッチ回路を確定し、ベリファイ時にデータが十分に書き込まれるとラッチ回路に所定のデータが設定されるように制御するベリファイ制御手段と、
読み出し時に、ワード線電圧をしきい値電圧の分布状態に応じて設定し、メモリセルのしきい値がワード線に印加された電圧を越えているかどうかによりラッチ回路を確定して、読み出されたデータがラッチ回路に設定されるように制御する読み出し制御手段とを備え、
読み出し制御手段は、読み出し時に、ワード線電圧をしきい値電圧の分布状態に応じて複数の段階に設定し、前回までにラッチ回路のノードの反転が生じていないときにのみ、ビット線をプリチャージし、メモリセルに電流が流れるかどうかによりメモリセルのしきい値がワード線に印加された電圧を越えているかどうかを検出し、検出出力に応じてラッチ回路を確定して、読み出し時にラッチ回路に読み出しデータが設定されるようにしたことを特徴とする不揮発性半導体記憶装置である。
【０２１３】
請求項８の発明では、メモリセルは、その一端及び他端がゲート電圧に応じて導通状態が制御される選択トランジスタを介してビット線及びソース線に接続されたメモリストリングからなる。
【０２１４】
請求項９の発明では、メモリセルには、（ｎ＝２）ビットの多値データを書き込むようにしている。
【０２１５】
請求項１０の発明では、メモリセルには、（ｎ＝３）ビットの多値データを書き込むようにしている。
【０２１８】
ベリファイ動作時に、ワード線電圧をしきい値電圧の分布状態に応じて順次複数の段階に切り換え、ラッチされているデータに応じてビット線をプリチャージする／しないを制御している。
【０２１９】
すなわち、記憶レベルが４値とされた場合には、ワード線電圧をＶVF3 に設定するときには、電圧ＶＢ０にのみＶccの電圧が与えられ、電圧ＶＢ１、ＶＢ２は接地レベルである。したがって、ラッチ回路にラッチされている書き込みデータが”００”のときのみ、（ＮＭＯＳトランジスタｎ３、ｎ４が導通状態となり、）ビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。
【０２２０】
同様に、ワード線電圧をＶVF2 に設定するときには、電圧ＶＢ１にのみＶccの電圧が与えられ、電圧ＶＢ０、ＶＢ２は接地レベルであり、ラッチ回路にラッチされている書き込みデータが”０１”のときのみビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。ワード線電圧をＶVF1 に設定するときには、電圧ＶＢ２にのみＶccの電圧が与えられ、電圧ＶＢ０、ＶＢ１は接地レベルであり、ラッチ回路にラッチされている書き込みデータが”１０”のときのみビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。
【０２２１】
また、記憶レベルが８値とされた場合には、ワード線電圧をＶVF7 及びＶVF6 に設定するときには、電圧ＶＢ０にのみＶccの電圧が与えられ、電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルである。したがって、ラッチ回路にラッチされている書き込みデータが”００ｘ”のときのみ、（ＮＭＯＳトランジスタＮ３及びＮ４が導通状態となり、）ビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。
【０２２２】
同様に、ワード線電圧をＶVF5 及びＶVF4 に設定するときには、電圧ＶＢ１にのみＶccの電圧が与えられ、電圧ＶＢ０、ＶＢ２、ＶＢ３は接地レベルであり、ラッチ回路にラッチされている書き込みデータが”０１ｘ”のときのみビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。ワード線電圧をＶVF3 及びＶVF2 に設定するときには、電圧ＶＢ２にのみＶccの電圧が与えられ、電圧ＶＢ０、ＶＢ１、ＶＢ３は接地レベルであり、ラッチ回路にラッチされている書き込みデータが”１０ｘ”のときのみビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。ワード線電圧をＶVF1 に設定するときには、電圧ＶＢ３にのみＶccの電圧が与えられ、電圧ＶＢ０、ＶＢ１、ＶＢ２は接地レベルであり、ラッチ回路にラッチされている書き込みデータが”１１０”のときのみビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。
【０２２３】
このように、ラッチされているデータに応じてビット線をプリチャージする／しないを制御することで、ベリファイ時の回路の構成が簡単化する。
【０２２４】
このようにしてベリファイを行なう際、記憶レベルが８値の場合には、最下位ビットについては、最下位ビットのノードの状態をＮＭＯＳトランジスタＮ１９及びＮ２３のゲートに与え、その反転ノードの状態をＮＭＯＳトランジスタＮ２１、Ｎ２５に与えて、最下位ビットのラッチ回路の状態に応じて、ラッチ回路ＬＱ２、ＬＱ１の設定／不設定を制御する構成とする。
【０２２５】
更に、このようにしてベリファイを行なう際、記憶レベルが８値の場合には、ラッチ回路ＬＱ０にラッチされる最下位ビットについては、ＮＭＯＳトランジスタＮ７２、Ｎ７３により、最下位ビットの状態に応じて、ビット線のディスチャージを制御する。
【０２２６】
記憶レベルが４値とされた読み出し時においては、それまでにラッチ回路のノード反転がないときにのみ、ビット線をプリチャージするように制御し、前回までにラッチ回路のノードの反転があると、ビット線にプリチャージ電流が流れないようにしている。すなわち、読み出し時には、電圧ＶＢ０のみＶccとし、電圧ＶＢ１、ＶＢ２は接地レベルとする。それまでの読み出しでラッチ回路の反転が起きていないときのみ、ＮＭＯＳトランジスタｎ４、ｎ３が導通し、電圧ＶＢ０によりビット線がプリチャージされてデータの読み出しが行なわれ、ラッチ回路に読み出しデータが設定される。それまでの読み出しでラッチ回路の反転が起きていると、ビット線のプリチャージが行なわれなくなり、それまでのデータが保持される。
【０２２７】
また、記憶レベルが８値とされた読み出し時においては、それまでにラッチ回路のノード反転がないときにのみ、ビット線をプリチャージするように制御し、前回までにラッチ回路のノードの反転があると、ビット線にプリチャージ電流が流れないようにしている。すなわち、読み出し時には、電圧ＶＢ０のみＶccとし、電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルとする。それまでの読み出しでラッチ回路の反転が起きていないときのみ、ＮＭＯＳトランジスタＮ４、Ｎ３が導通し、電圧ＶＢ０によりビット線がプリチャージされてデータの読み出しが行なわれ、ラッチ回路に読み出しデータが設定される。それまでの読み出しでラッチ回路の反転が起きていると、ビット線のプリチャージが行なわれなくなり、それまでのデータが保持される。
【０２２８】
このようにすると、一度ラッチ回路に設定されたデータを保護するような回路が不要になるため、読み出し時の回路規模が著しく削減される。
【０２２９】
【発明の実施の形態】
この発明の実施の形態について、以下の順序で、図面を参照して説明する。
【０２３０】
１．第１の実施の形態
１−１．第１の実施の形態の全体構成
１−２．第１の実施の形態の書き込み時の動作
１−３．第１の実施の形態のベリファイ読み出し時の動作
１−４．第１の実施の形態の読み出し時の動作
２．第２の実施の形態
２−１．第２の実施の形態の全体構成
２−２．第２の実施の形態の書き込み時の動作
２−３．第２の実施の形態のベリファイ読み出し時の動作
２−４．第２の実施の形態の読み出し時の動作
３．第３の実施の形態
３−１．第３の実施の形態の全体構成
３−２．第３の実施の形態の書き込み時の動作
３−３．第３の実施の形態のベリファイ読み出し時の動作。
【０２３１】
３−４．第３の実施の形態の読み出し時の動作。
【０２３２】
４．変形例
１．第１の実施の形態
図１は、この発明に係わる不揮発性半導体記憶装置の第１の実施形態を示すものである。この不揮発性半導体記憶装置は、記憶多値レベルが４値に対応したものである。
【０２３３】
１−１．第１の実施の形態の全体構成
図１に示すように、この発明が適用された不揮発性半導体記憶装置は、メモリアレイ２１と、ビット線電圧発生回路２２と、読み出し／ベリファイ制御回路２３とにより構成される。
【０２３４】
メモリアレイ２１は、図１に示すように、夫々メモリセルが共通のワード線ＷＬ０〜ＷＬ１５に接続されたメモリストリングａ０、ａ１、…をマトリクス状に配列した構成とされる。同一のワード線ＷＬ０〜ＷＬ１５に接続されたメモリセルによりページが構成される。
【０２３５】
メモリストリングａ０、ａ１は、フローティングゲートを有する不揮発性半導体記憶装置からなるメモリセルトランジスタｍＴ０Ａ〜ｍＴ１５Ａ、ｍＴ０Ｂ〜ｍＴ１５Ｂが直列に接続されたＮＡＮＤストリングからなる。このＮＡＮＤストリングのメモリセルトランジスタｍＴ１５Ａ、ｍＴ１５Ｂのドレインが選択ゲートｓＧ１Ａ、ｓＧ１Ｂを夫々介してビット線ＢＬ０、ＢＬ１に接続され、メモリセルトランジスタｍＴ０Ａ、ｍＴ０Ｂのソースが選択ゲートｓＧ２Ａ、ｓＧ２Ｂを夫々介して基準電位線ＳＬに接続される。選択ゲートｓＧ１Ａ、ｓＧ１Ｂのゲートは、選択信号供給線ＤＳＧに共通に接続される。選択ゲートｓＧ２Ａ、ｓＧ２Ｂのゲートは、選択信号供給線ＳＳＧに共通に接続される。同一行のメモリセルの制御ゲートが共通のワード線ＷＬ０、ＷＬ１、…に接続される。
【０２３６】
書き込み時には、例えば２０Ｖの電圧が選択されたメモリセルのワード線に印加され、４値の多値データがページ単位でメモリセルに書き込まれる。このとき、選択ゲートｓＧ１Ａ、ｓＧ１Ｂは導通され、選択されたメモリセル以外のワード線にはパス電圧が与えられ、選択ゲートｓＧ２Ａ、ｓＧ２Ｂは非導通とされる。
【０２３７】
メモリセルトランジスタには、図２Ａに示すような、４値のデータ記録が行なわれる。図２Ａに示すように、書き込み時には、書き込みデータ”００”〜”１１”の４値に応じて、そのメモリセルのしきい値が、夫々、分布「３」〜分布「０」内になるように、各メモリセルに対して書き込みが行なわれる。
【０２３８】
このとき、ベリファイ電圧ＶVF3 〜ＶVF1 によりベリファイ動作が行なわれて、夫々のメモリセルのしきい値が各データに対応する分布「３」〜分布「０」内となるように制御される。読み出し時には、読み出し電圧ＶRD3 〜ＶRD1 により、メモリセルのしきい値が検出されて、読み出しが行なわれる。
【０２３９】
ベリファイ時及び読み出し時には、選択されたメモリセルのワード線には、ベリファイ電圧ＶVF3 〜ＶVF1 及び読み出し電圧ＶRD3 〜ＶRD1 が与えられ、それ以外のメモリセルは導通状態とされる。また、選択ゲートｓＧ１Ａ、ｓＧ１Ｂ及び選択ゲートｓＧ２Ａ、ｓＧ２Ｂは導通状態とされる。そして、このとき、メモリセルに電流が流れるかどうかにより、メモリセルのしきい値がベリファイ電圧ＶVF3 〜ＶVF1 及び読み出し電圧ＶRD3 〜ＶRD1 を越えているかどうかが判断されて、ベリファイ及び読み出しが行なわれる。
【０２４０】
図１において、ビット線電圧発生回路２２は、ＮＭＯＳトランジスタｎ１〜ｎ８及びインバータの入出力同士を結合してなるラッチ回路ＬＱ２、ＬＱ１により構成される。また、ビット線電圧発生回路２２からは、電圧ＶＢ０、ＶＢ１、ＶＢ２の供給ラインが導出される。
【０２４１】
ビット線電圧発生回路２２により、書き込み時に、書き込みデータに応じたビット線電圧が発生され、メモリアレイ２１のメモリセルに与えられる。また、ベリファイ時には、ビット線電圧発生回路２２のラッチ回路ＬＱ２、ＬＱ１の記憶ノードＱ２、Ｑ１は、メモリアレイ２１のメモリセルに書き込みが十分に行なわれると、”１１”に設定される。読み出し時には、メモリアレイ２１のメモリセルのしきい値が検出されてデータの読み出しが行なわれる。この時、ラッチ回路ＬＱ１、ＬＱ２の記憶ノードＱ２、Ｑ１には、読み出されたデータが格納されていく。
【０２４２】
読み出し／ベリファイ制御回路２３は、ＮＭＯＳトランジスタｎ９〜ｎ１４から構成される。この読み出し／ベリファイ制御回路２３は、読み出し時又はベリファイ時に、ラッチ回路ＬＱ２、ＬＱ１の状態を制御するものである。読み出し／ベリファイ制御回路２３からは、信号φＬＡＴ１、φＬＡＴ２の供給ラインが導出され、パルス状の信号が供給される。読み出し／ベリファイ制御回路２３のＮＭＯＳトランジスタｎ９、ｎ１０のゲート電極は、ノードＳＡに接続されている。ノードＳＡは、メモリアレイ２１のメモリセルのしきい値を検出するためのノードとなる。すなわち、後に説明するように、メモリセルのしきい値がワード線電圧より大きいと、セルに電流が流れないことにより、ノードＳＡは電源電圧Ｖcc（例えば、３．３Ｖ）に保持され、メモリセルのしきい値がワード線電圧より小さいと、ビット線電圧と略等しい電圧に降下する。このノードＳＡにより、ＮＭＯＳトランジスタｎ９、ｎ１０が制御されて、読み出し／ベリファイ制御回路２３の動作が設定される。
【０２４３】
ノードＳＡとビット線ＢＬ０との間には、高耐圧のＮＭＯＳトランジスタＨ３が接続されている。また、ノードＳＡとビット線ＢＬ１との間に、高耐圧のＮＭＯＳトランジスタＨ４が接続されている。ＮＭＯＳトランジスタＨ３のゲート電極にアドレスデコード信号ＡｎＢが供給される。ＮＭＯＳトランジスタＨ４のゲート電極にアドレスデコード信号ＡｎＮが供給される。なお、電源電圧Ｖccの供給ラインとビット線ＢＬ０との間に、高耐圧のＮＭＯＳトランジスタＨ１が接続されている。また、電源電圧Ｖccの供給ラインとビット線ＢＬ１との間に、高耐圧のＮＭＯＳトランジスタＨ２が接続されている。ＮＭＯＳトランジスタＨ１のゲート電極に制御信号ＩＮＨＢが供給され、ＮＭＯＳトランジスタＨ２のゲート電極に制御信号ＩＮＨＮが供給される。
【０２４４】
ノードＳＡと接地ライン（ＧＮＤ）との間に、ＮＭＯＳトランジスタｎ２が接続される。ノードＳＡと電源電圧Ｖccの供給ラインとの間に、ＰＭＯＳトランジスタｐ１が接続される。ＮＭＯＳトランジスタｎ２のゲート電極には、リセット信号ＲＳＴ１が供給される。ＰＭＯＳトランジスタｐ１のゲート電極には、信号Ｖref が供給される。
【０２４５】
ノードＳＡとビット線電圧発生回路２２との間には、ＮＭＯＳトランジスタｎ１が設けられている。すなわち、ＮＭＯＳトランジスタｎ１のドレインがノードＳＡに接続される。ＮＭＯＳトランジスタｎ１のソースがＮＭＯＳトランジスタｎ３、ｎ５、ｎ７のドレインに接続される。ＮＭＯＳトランジスタｎ１のゲート電極には、制御信号ＰＧＭ＿ＲＶＰＣが供給される。
【０２４６】
ＮＭＯＳトランジスタｎ１のソースと電圧ＶＢ０の供給ラインとの間に、ＮＭＯＳトランジスタｎ３、ｎ４が直列に接続される。ＮＭＯＳトランジスタｎ１のソースと電圧ＶＢ１の供給ラインとの間に、ＮＭＯＳトランジスタｎ５、ｎ６が直列に接続される。ＮＭＯＳトランジスタｎ１のソースと電圧ＶＢ２の供給ラインとの間に、ＮＭＯＳトランジスタｎ７、ｎ８が直列に接続される。
【０２４７】
ラッチ回路ＬＱ２、ＬＱ１は、夫々、記憶ノードＱ２、Ｑ１と、その反転記憶ノード／Ｑ２、／Ｑ１を有している。なお、／は反転を示すバーを意味している。
【０２４８】
ラッチ回路ＬＱ２の反転記憶ノード／Ｑ２は、ＮＭＯＳトランジスタｎ４、ｎ６のゲート電極に接続される。ラッチ回路ＬＱ２の記憶ノードＱ２は、ＮＭＯＳトランジスタｎ８のゲート電極に接続される。
【０２４９】
ラッチ回路ＬＱ１の反転記憶ノード／Ｑ１は、ＮＭＯＳトランジスタｎ３、ｎ７のゲート電極に接続される。ラッチ回路ＬＱ１の記憶ノードＱ１はＮＭＯＳトランジスタｎ５のゲート電極に接続される。
【０２５０】
また、ラッチ回路ＬＱ２の記憶ノードＱ２、ラッチ回路ＬＱ１の記憶ノードＱ１の夫々と接地ラインとの間に、ＮＭＯＳトランジスタｎ１１、ｎ１２が夫々接続される。ＮＭＯＳトランジスタｎ１１、ｎ１２のゲート電極がリセット信号ＲＳＴ２の供給ラインに接続される。
【０２５１】
読み出し／ベリファイ制御回路２３において、ＮＭＯＳトランジスタｎ９、ｎ１０のゲート電極は、ノードＳＡに接続される。ＮＭＯＳトランジスタｎ９のドレインがラッチ回路ＬＱ２の反転記憶ノード／Ｑ２に接続される。ＮＭＯＳトランジスタｎ１０のドレインがラッチ回路ＬＱ１の反転記憶ノード／Ｑ１に接続される。
【０２５２】
ＮＭＯＳトランジスタｎ９のソースと接地ラインとの間に、ＮＭＯＳトランジスタｎ１３が接続される。ＮＭＯＳトランジスタｎ１０のソースと接地ラインとの間に、ＮＭＯＳトランジスタｎ１４が接続される。
【０２５３】
読み出し／ベリファイ制御回路２３からは、信号φＬＡＴ１、φＬＡＴ２の供給ラインが導出される。ＮＭＯＳトランジスタｎ１３のゲート電極が信号φＬＡＴ１の供給ラインに接続される。ＮＭＯＳトランジスタｎ１４のゲート電極が信号φＬＡＴ２の供給ラインに接続される。
【０２５４】
ラッチ回路ＬＱ２の記憶ノードＱ２が図示せずも所定のトランジスタを介してデータバスラインに接続される。また、ラッチ回路ＬＱ１の記憶ノードＱ１が図示せずも所定のトランジスタを介してデータバスラインに接続される。
【０２５５】
１−２．第１の実施の形態の書き込み時の動作
次に、この発明の第１の実施の形態の書き込み動作について、図３のタイミングチャートに関連付けて説明する。スタンバイ時には、信号ＰＧＭ＿ＲＶＰＣがローレベルに設定され、ＮＭＯＳトランジスタｎ１が非導通状態に保持され、ビット線ＢＬ０、ＢＬ１（図３ではＢＬｎ、ＢＬｎ＋１として示されている）がビット線電圧発生回路２２から切り離されている。
【０２５６】
そして、信号ＲＳＴ１がハイレベルに設定され、信号ＡｎＢ、ＡｎＮが（Ｖcc−Ｖth）に設定され、ビット線ＢＬ０、ＢＬ１が接地レベルに設定される。なお、このとき、信号ＩＮＨＢ、ＩＮＨＮのそれぞれがローレベルに設定されている。
【０２５７】
この状態で書き込みが起動された場合、所定のトランジスタを介して書き込みデータがラッチ回路ＬＱ２、ＬＱ１に取り込まれて保持される。
【０２５８】
その後、信号ＲＳＴ１がローレベルに切り換えられ、ビット線ＢＬ０、ＢＬ１が接地ラインから切り離される。そして、信号ＡｎＢ、ＡｎＮがＶcc以上のハイレベル（例えば読み出し時のパス電圧）に設定されるとともに、信号Ｖref がローレベルとされ、ＰＭＯＳトランジスタｐ１が導通状態に保持される。これにより、全ビット線ＢＬ０、ＢＬ１が電源電圧Ｖccに充電される。
【０２５９】
このとき、ラッチデータに影響がないように、読み出し／ベリファイを制御するための信号φＬＡＴ１、φＬＡＴ２が接地レベルに設定される。また、メモリセルのドレイン側の選択ゲートのゲート電極に接続された選択信号供給線ＤＳＧが電源電圧Ｖccに設定される。
【０２６０】
書き込み時には、信号Ｖref をハイレベルにしてプリチャージを切り、アドレス信号で選択されない方のアドレス、例えばＡｎＮが接地レベル、信号ＩＮＨＮがハイレベルとなり、ＰＧＭ＿ＲＶＰＣがハイレベルに設定される。そして、電圧ＶＢ２が最も高い電圧となり、電圧ＶＢ１が次に高い電圧となり、電圧ＶＢ０は接地レベルになるように、すなわち、（ＶＢ２＞ＶＢ１＞ＶＢ０＝０）の関係となるように設定される。
【０２６１】
書き込みデータが”００”の場合には、ラッチ回路ＬＱ２及びＬＱ１の反転ノード／Ｑ２及び／Ｑ１はハイレベルである。このため、ＮＭＯＳトランジスタｎ３、ｎ４が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ０となり、接地レベルに設定される。
【０２６２】
書き込みデータが”０１”の場合には、ＮＭＯＳトランジスタｎ５、ｎ６が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ１に設定される。
【０２６３】
書き込みデータが”１０”の場合には、ＮＭＯＳトランジスタｎ７、ｎ８が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ２に設定される。
【０２６４】
書き込みデータが”１１”の場合には、電圧ＶＢ０〜ＶＢ２からの何れのパスもビット線ＢＬ０と遮断されるため、ビット線ＢＬ０の電圧は、Ｖccレベルに保持される。
【０２６５】
以上のプロセスにより、選択ビット線ＢＬ０が書き込みデータに応じた電圧に設定された後、選択されたワード線ＷＬが書き込み電圧ＶPGM に設定され、非選択のワード線が書き込みパス電圧ＶPASSに設定されて、書き込みが行なわれる。
【０２６６】
上述のように、この発明の実施の形態では、記録データに応じて、ビット線電圧が変えられる。このように、記録データに応じてビット線電圧を設定すると書き込みデータに応じてセルにかかる電界を設定することができ、記録時間の短縮が図られる。
【０２６７】
１−３．第１の実施の形態のベリファイ時の動作
次に、この発明の第１の実施の形態のベリファイ読み出し動作について、図４のタイミングチャートに関連付けて説明する。ベリファイ読み出し動作においては、”００”、”０１”、”１０”の書き込みチェックがなされる。
【０２６８】
ベリファイ読み出し動作は、ワード線電圧をＶVF3 →ＶVF2 →ＶVF1 に順次下げて行われる（図２Ａ参照）。ベリファイ読み出し時には、ワード線電圧に応じて、電圧源ＶＢ０〜ＶＢ２は、図２Ｂに示すように設定される。
【０２６９】
すなわち、ワード線電圧をＶVF3 に設定している間では、電圧ＶＢ０が電源電圧Ｖccに設定され、他の電圧ＶＢ１、ＶＢ２は接地レベル（ＧＮＤ）に設定される。
【０２７０】
ワード線電圧をＶVF2 に設定している間では、電圧ＶＢ１が電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ２は接地レベル（ＧＮＤ）に設定される。
【０２７１】
ワード線電圧をＶVF1 に設定している間では、電圧ＶＢ２が電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ１は接地レベル（ＧＮＤ）に設定される。
【０２７２】
ベリファイに先立って、一定期間、リセット信号ＲＳＴ１がハイレベル、ＡｎＢおよびＡｎＮがＰ５Ｖ（５〜６Ｖの電圧）に設定され、全ビット線ＢＬ０、ＢＬ１が接地レベルになる。
【０２７３】
それから、リセット信号ＲＳＴ１がローレベルに戻された後、アドレス”Ａｎ”で選択されていない方、例えばＡｎＮが接地レベルとなり、ビット線ＢＬ１がビット線電圧発生回路２２のラッチ回路から切り離される。そして、ビット線をクランプするために、制御信号ＡｎＢがＶAnB （ＶAnB ＝Ｖcc−Ｖth）に設定される。また、制御信号Ｖref はビット線のリーク補償電流（＜＜１μＡ）を流すだけの電圧に設定される。
【０２７４】
先ず、ワード線電圧をＶVF3 に設定したときについて説明する。ワード線電圧がＶVF3 に設定されている間では、電圧ＶＢ０のみ電源電圧Ｖccに設定され、他の電圧ＶＢ１、ＶＢ２は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが図４に示すタイミングで電源電圧Ｖccレベルに設定され、ＮＭＯＳトランジスタｎ１が導通する。
【０２７５】
ここで、ＮＭＯＳトランジスタｎ３及びｎ４が導通状態にあれば、電圧ＶＢ０からの電源Ｖccにより、ビット線は（ＶAnB −Ｖth’）に充電されていき、充電後、ＮＭＯＳトランジスタＨ３はカットオフし、ノードＳＡは、ＰＭＯＳトランジスタｐ１によるリーク補償電流によってＶccに充電される。ＮＭＯＳトランジスタｎ３及びｎ４が非導通状態なら、ビット線は充電されず、接地レベルである。また、他の電圧ＶＢ１、ＶＢ２は接地レベルなので、電圧ＶＢ０からの経路以外の経路による充電は行なわれない。
【０２７６】
このように、ワード線電圧をＶVF3 に設定して、ベリファイが行なわれるときには、ＮＭＯＳトランジスタｎ３及びｎ４が導通状態のときにのみ、ビット線が充電される。ＮＭＯＳトランジスタｎ３及びｎ４が導通状態となるのは、ラッチ回路ＬＱ２の反転ノード／Ｑ２がハイレベル、ラッチ回路ＬＱ１の反転ノード／Ｑ１がハイレベルとなるときだけであり、書き込みデータが”００”のときである。
【０２７７】
このことから、書き込みデータ”００”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ノードＳＡは接地レベルになり、ベリファイの対象外となる。
【０２７８】
この状態で、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻され、選択ビット線ＢＬ０がビット線電圧発生回路２２から切り離される。
【０２７９】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF3 より大きい（Ｖth＞ＶVF3 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持される。このとき、当然、ＮＭＯＳトランジスタｎ９、ｎ１０のゲート電極はＶccレベルである。
【０２８０】
一方、メモリセルのしきい値Ｖthがワード線電圧ＶVF3 より小さい（Ｖth＜ＶVF3 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ３がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶAnB −Ｖth’）となる。このとき、ＮＭＯＳトランジスタｎ９、ｎ１０は完全に導通することはできない。
【０２８１】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ２が図４に示すタイミングでハイレベルに設定される。
【０２８２】
書き込みデータが”００”で、メモリセルのしきい値Ｖthがワード線電圧ＶVF3 を越えている（Ｖth＞ＶVF3 ）ときには、信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタｎ１３が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ９のゲート電極がＶccレベルとされているため、ＮＭＯＳトランジスタｎ９も導通状態となり、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０２８３】
信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタｎ１４が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ１０のゲート電極がＶccレベルとされているため、ＮＭＯＳトランジスタｎ１０も導通状態となり、ラッチ回路ＬＱ１の反転ノード／Ｑ１がローレベルになり、ラッチ回路ＬＱ１のノードＱ１がハイレベルに反転する。
【０２８４】
以上により、ワード線電圧をＶVF3 に設定したときには、書き込みデータが”００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF3 より大きい（Ｖth＞ＶVF3 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”１１”に反転し、以後、再書き込みではビット線は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０２８５】
一方、書き込みデータが”００”でメモリセルのしきい値Ｖthがワード線電圧ＶVF3 より小さい（Ｖth＜ＶVF3 ）場合には、信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタｎ１３が導通状態になるが、ＮＭＯＳトランジスタｎ９が完全に導通しないため、ラッチ回路ＬＱ２を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０２８６】
信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタｎ１４は導通状態になるが、ＮＭＯＳトランジスタｎ１０が完全に導通しないため、ラッチ回路ＬＱ１を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ１のノードの反転は起こらない。
【０２８７】
以上により、ワード線電圧をＶVF3 に設定したときには、書き込みデータが”００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF3 より小さい（Ｖth＜ＶVF3 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”００”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０２８８】
次に、ワード線電圧をＶVF2 に設定したときについて説明する。ワード線電圧がＶVF2 に設定されている間では、電圧ＶＢ１のみ電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ２は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが図４に示すタイミングで電源電圧Ｖccレベルに設定され、ＮＭＯＳトランジスタｎ１が導通する。
【０２８９】
ここで、ＮＭＯＳトランジスタｎ５及びｎ６が導通状態にあれば、電圧ＶＢ１からの電源Ｖccにより、ビット線は（ＶAnB −Ｖth’）に充電されていき、充電後、ＮチャンネルＮＭＯＳトランジスタＨ３はカットオフし、ノードＳＡはＰＭＯＳトランジスタｐ１のリーク補償電流によりＶccに充電される。ＮＭＯＳトランジスタｎ５及びｎ６が非導通状態なら、ビット線は充電されず、接地レベルである。また、他の電圧ＶＢ０、ＶＢ２は接地レベルなので、電圧ＶＢ１からの経路以外の経路による充電は行なわれない。
【０２９０】
このように、ワード線電圧をＶVF2 に設定してベリファイが行なわれるときには、制御信号ＰＧＭ＿ＲＶＰＣを電源電圧Ｖccレベルに設定すると、ＮＭＯＳトランジスタｎ５及びｎ６が導通状態のときにのみ、ビット線が充電される。
【０２９１】
ＮＭＯＳトランジスタｎ５及びｎ６が導通状態となるのは、ラッチ回路ＬＱ２の反転ノード／Ｑ２がハイレベル、ラッチ回路ＬＱ１のノードＱ１がハイレベルとなるときだけであり、書き込みデータが”０１”のときである。
【０２９２】
このことから、ワード線電圧をＶVF2 に設定して、書き込みデータが”０１”のベリファイを行なうときには、書き込みデータ”０１”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。
【０２９３】
この状態で、ワード線電圧をＶVF2 に設定して、ベリファイ読み出しが行なわれる。ここで、メモリセルのしきい値電圧Ｖthがワード線電圧をＶVF2 より大きい（Ｖth＞ＶVF2 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、当然、ＮＭＯＳトランジスタｎ９、ｎ１０のゲート電極はＶccレベルである。
【０２９４】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF2 より小さい（Ｖth＜ＶVF2 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ３がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶAnB −Ｖth’）となる。このとき、ＮＭＯＳトランジスタｎ９、ｎ１０は完全に導通することはできない。
【０２９５】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１が図４に示すタイミングでハイレベルに設定される。
【０２９６】
書き込みデータが”０１”でメモリセルのしきい値電圧Ｖthがワード線電圧ＶVF2 より大きい（Ｖth＞ＶVF2 ）場合には、信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタｎ１３が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ９のゲート電極がＶccレベルとされているため、ＮＭＯＳトランジスタｎ９も導通状態となり、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０２９７】
以上により、ワード線電圧をＶVF2 に設定したときには、書き込みデータが”０１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF2 より大きい（Ｖth＞ＶVF2 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”１１”に反転し、以後、再書き込みではビット線は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０２９８】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF2 より小さい（Ｖth＜ＶVF2 ）場合には、信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタｎ１３が導通状態になるが、ＮＭＯＳトランジスタｎ９が完全に導通しないため、ラッチ回路ＬＱ２を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０２９９】
以上により、ワード線電圧をＶVF2 に設定したときには、書き込みデータが”０１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF2 より小さい（Ｖth＜ＶVF2 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”０１”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０３００】
次に、ワード線電圧をＶVF1 に設定したときについて説明する。ワード線電圧がＶVF1 に設定されている間では、電圧ＶＢ２のみ電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ１は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが図４に示すタイミングで電源電圧Ｖccレベルに設定され、ＮＭＯＳトランジスタｎ１が導通する。
【０３０１】
ここで、ＮＭＯＳトランジスタｎ７及びｎ８が導通状態にあれば、電圧ＶＢ２からの電源Ｖccにより、ビット線は（ＶAnB −Ｖth’）に充電されていき、充電後、ＮチャンネルＮＭＯＳトランジスタＨ３はカットオフし、ノードＳＡはＰＭＯＳトランジスタｐ１のリーク補償電流によりＶccに充電される。ＮＭＯＳトランジスタｎ７及びｎ８が非導通状態なら、ビット線は充電されず、接地レベルである。また、他の電圧ＶＢ０、ＶＢ１は接地レベルなので、電圧ＶＢ２からの経路以外の経路による充電は行なわれない。
【０３０２】
このように、ワード線電圧をＶVF1 に設定してベリファイが行なわれるときには、制御信号ＰＧＭ＿ＲＶＰＣを電源電圧Ｖccレベルに設定すると、ＮＭＯＳトランジスタｎ７及びｎ８が導通状態のときにのみ、ビット線が充電される。
【０３０３】
ＮＭＯＳトランジスタｎ７及びｎ８が導通状態となるのは、ラッチ回路ＬＱ２のノードＱ２がハイレベル、ラッチ回路ＬＱ１の反転ノード／Ｑ１がハイレベルとなるときだけであり、書き込みデータが”１０”のときである。
【０３０４】
このことから、ワード線電圧をＶVF1 に設定して、書き込みデータが”１０”のベリファイを行なうときには、書き込みデータ”１０”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。
【０３０５】
この状態で、ワード線電圧をＶVF1 に設定して、ベリファイ読み出しが行なわれる。ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF1 より大きい（Ｖth＞ＶVF1 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持される。このとき、当然、ＮＭＯＳトランジスタｎ９、ｎ１０のゲート電極はＶccレベルである。
【０３０６】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF1 より小さい（Ｖth＜ＶVF1 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ３がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶAnB −Ｖth’）となる。このとき、ＮＭＯＳトランジスタｎ９、ｎ１０は完全に導通することはできない。
【０３０７】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ２が図４に示すタイミングでハイレベルに設定される。
【０３０８】
書き込みデータが”１０”でメモリセルのしきい値電圧Ｖthがワード線電圧ＶVF1 より大きい（Ｖth＞ＶVF1 ）場合には、信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタｎ１４が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタｎ１０のゲート電極がＶccレベルとされているため、ＮＭＯＳトランジスタｎ１０も導通状態となり、ラッチ回路ＬＱ１の反転ノード／Ｑ１がローレベルになり、ラッチ回路ＬＱ１のノードＱ１がハイレベルに反転する。
【０３０９】
以上により、ワード線電圧をＶVF1 に設定したときには、書き込みデータが”１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF1 より大きい（Ｖth＞ＶVF1 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”１１”に反転し、以後、再書き込みではビット線は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０３１０】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF1 より小さい（Ｖth＜ＶVF1 ）場合には、信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタｎ１４が導通状態になるが、ＮＭＯＳトランジスタｎ１０が完全に導通しないため、ラッチ回路ＬＱ１を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ１のノードの反転は起こらない。
【０３１１】
以上により、ワード線電圧をＶVF1 に設定したときには、書き込みデータが”１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF1 より小さい（Ｖth＜ＶVF1 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータは”１０”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０３１２】
上述のように、この発明の第１の実施の形態では、ベリファイ時には、電圧ＶＢ０、ＶＢ１、ＶＢ２のうちの１つを電源電圧Ｖccとし、他の電圧を接地レベルとし、書き込みデータに応じてＮＭＯＳトランジスタｎ３及びｎ４、ｎ５及びｎ６、ｎ７及びｎ８を制御して、電圧ＶＢ０、ＶＢ１、ＶＢ２のうちの１つからビット線の充電電流を流すようにすることで、他の書き込みデータをベリファイの対象外としている。すなわち、ワード線電圧ＶVF3 のセルのベリファイ時には、電圧ＶＢ０を使うことで、”００”以外をベリファイの対象外とし、ワード線電圧ＶVF2 のセルのベリファイ時には、電圧ＶＢ１を使うことで、”０１”以外をベリファイの対象外とし、ワード線電圧ＶVF1 のセルのベリファイ時には、電圧ＶＢ２を使うことで、”１０”以外をベリファイの対象外としている。これにより、ベリファイ時の回路構成が簡単化されている。
【０３１３】
１−４．第１の実施の形態の読み出し時の動作
次に、この発明の第１の実施の形態の読み出し動作について、図５のタイミングチャートに関連付けて説明する。スタンバイ時には、制御信号ＡｎＢ、ＡｎＮは（Ｖcc−Ｖth）のレベルにあり、リセット信号ＲＳＴ１はハイレベルに設定され、全ビット線は接地レベルとなる。
【０３１４】
この状態で読み出し動作が起動されると、リセット信号ＲＳＴ１がローレベルになり、ビット線は接地ラインから切り離される。そして、選択ビット線が例えば偶数ビット線の場合、ＡｎＢがＰ５Ｖレベル、ＡｎＮが接地レベルに設定され、奇数ビット線はラッチから切り離され、制御信号ＡｎＢは（Ｖcc−Ｖth（＝ＶAnB ））に保持され、制御信号Ｖref にビット線のリークを補償する電流を流すための電圧が印加される。これと同時に、リセット信号ＲＳＴ２にハイレベルが設定され、ＮＭＯＳトランジスタｎ１１、ｎ１２が導通して、ラッチ回路ＬＱ２、ＬＱ１のノードＱ２、Ｑ１が全て「０」にリセットされる。
【０３１５】
読み出し動作は、ワード線をＶRD3 →ＶRD2 →ＶRD1 に順次下げて行なわれる（図２Ａ参照）。読み出し時には、図２Ｃに示すように、電圧ＶＢ０はＶccレベル、電圧ＶＢ１、電圧ＶＢ２は接地レベルに常に設定される。
【０３１６】
先ず、選択ワード線電圧がＶRD3 に設定され、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定され、ＮＭＯＳトランジスタｎ１が導通状態に設定される。
【０３１７】
ここで、ＮＭＯＳトランジスタｎ４、ｎ３が導通状態にあれば、電圧ＶＢ０からの電流がＮＭＯＳトランジスタｎ４、ｎ３、ｎ１を介して流れ、ビット線が充電される。読み出しの開始時には、ラッチ回路ＬＱ２、ＬＱ１が全て「０」にリセットされているため、ラッチ回路ＬＱ２の反転ノード／Ｑ２は「１」、ラッチ回路ＬＱ１の反転ノード／Ｑ１は「１」である。したがって、この時、ＮＭＯＳトランジスタｎ４、ｎ３は導通状態である。
【０３１８】
したがって、選択ワード線電圧がＶRD3 に設定され、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定されると、全ての偶数ビット線は（ＶAnB −Ｖth’）に充電され、ＮＭＯＳトランジスタＨ３がカットオフすることにより、全てのノードＳＡはリーク補償電流によりＶccに充電される。その後、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻される。
【０３１９】
ワード線電圧がＶRD3 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 より大きい（Ｖth＞ＶRD3 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタｎ９、ｎ１０が導通状態となる。
【０３２０】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ２が図５に示すタイミングでハイレベルに設定される。
【０３２１】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタｎ１３が導通状態に設定される。そして、ＮＭＯＳトランジスタｎ９のゲート電極がＶccレベルとされているため、ＮＭＯＳトランジスタｎ９も導通し、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０３２２】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタｎ１４が導通状態に設定される。そして、ＮＭＯＳトランジスタｎ１０のゲート電極がＶccレベルとされているため、ＮＭＯＳトランジスタｎ１０も導通し、ラッチ回路ＬＱ１の反転ノード／Ｑ１が「０」になり、ラッチ回路ＬＱ１のノードＱ１が「１」に反転する。
【０３２３】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 より大きい（Ｖth＞ＶRD3 ）場合、ラッチ回路ＬＱ２、ＬＱ１のラッチデータが”１１”に反転する。なお、読み出しデータは反転しており、ラッチデータが”１１”のときの読み出しデータは”００”である。
【０３２４】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 以下（Ｖth＜ＶRD3 ）であれば、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ３が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶAnB −Ｖth’）となる。このため、ＮＭＯＳトランジスタｎ９、ｎ１０は完全に導通しない。
【０３２５】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ２が図４に示すタイミングでハイレベルに設定される。
【０３２６】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタｎ１３が導通状態に設定されるが、ＮＭＯＳトランジスタｎ９は完全に導通していない。したがって、ラッチ回路ＬＱ２を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ２のノードの反転は生じない。
【０３２７】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタｎ１４が導通状態に設定されるが、ＮＭＯＳトランジスタｎ１０は完全に導通していない。したがって、ラッチ回路ＬＱ１を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ１のノードの反転は生じない。
【０３２８】
次に、選択ワード線電圧がＶRD2 に設定され、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定され、ＮＭＯＳトランジスタｎ１が導通状態に設定される。
【０３２９】
ここで、選択ワード線電圧がＶRD3 に設定して読み出しを行なったときにラッチ回路ＬＱ１及びＬＱ２のノードの反転が起こっていなければ、ラッチ回路ＬＱ１、ＬＱ２は初期状態の”００”であるから、ＮＭＯＳトランジスタｎ３、ｎ４が導通している。このため、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定されると、電圧ＶＢ０からの電流がＮＭＯＳトランジスタｎ４、ｎ３、ｎ１を介して流れ、メモリセルのしきい値電圧ＶthがＶRD3 より低いセルがつながる全ての偶数ビット線は（ＶＡｎＢ−Ｖｔｈ’）に充電される。
【０３３０】
これに対して、選択ワード線電圧がＶRD3 に設定して読み出しを行なったときにラッチ回路ＬＱ１及びＬＱ２のノードの反転が起こっていれば、ＮＭＯＳトランジスタｎ４、ｎ３が非導通状態となり、電圧源ＶＢ０から切り離され、なおかつ、電圧源ＶＢ１，ＶＢ２とも接続されず、偶数ビット線はＶccレベルを保持したままフローティングとなる。この状態では、すでに反転しているラッチ回路ＬＱ１及びＬＱ２のラッチデータには影響がない。
【０３３１】
その後、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻される。この時、前回迄にノードの反転が起きていないセルがつながる偶数ビット線は（ＶAnB −Ｖth）に充電され、ＮＭＯＳトランジスタＨ３がカットオフすることにより、全てのノードＳＡはＶccに充電される。
【０３３２】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD2 より大きい（Ｖth＞ＶRD2 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタｎ９、ｎ１０は導通状態となる。
【０３３３】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１が図５に示すタイミングでハイレベルに設定される。
【０３３４】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタｎ１３が導通状態に設定される。このとき、ＮＭＯＳトランジスタｎ９が導通状態であるため、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０３３５】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD2 より大きい（Ｖth＞ＶRD2 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１のラッチデータが”１０”に反転する。前回迄にラッチの反転が起きてラッチデータが”１１”の場合には、そのデータは保持される。なお、読み出しデータは反転しており、ラッチデータが”１０”のときの読み出しデータは”０１”である。
【０３３６】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD2 より小さい（Ｖth＜ＶRD2 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ３が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶAnB −Ｖth’）となる。このため、ＮＭＯＳトランジスタｎ９、ｎ１０は完全に導通しない。
【０３３７】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１が図５に示すタイミングでハイレベルに設定される。
【０３３８】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタｎ１３が導通状態に設定されるが、ＮＭＯＳトランジスタｎ９は完全に導通していない。したがって、ラッチ回路ＬＱ２を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ２のノードの反転は生じない。
【０３３９】
次に、選択ワード線電圧がＶRD1 に設定され、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定され、ＮＭＯＳトランジスタｎ１が導通状態に設定される。
【０３４０】
ここで、前回までの読み出しで、ラッチ回路ＬＱ１及びＬＱ２のノードの反転が起こっていなければ、ＮＭＯＳトランジスタｎ４、ｎ３が導通状態となり、電圧ＶＢ０によりビット線が充電される。なお、前回までの読み出しで、ラッチ回路ＬＱ１及びＬＱ２のノードの反転が起こっていれば、ＮＭＯＳトランジスタｎ４、ｎ３が非導通状態となり、電圧源ＶＢ０から切り離され、なおかつ、電圧源ＶＢ１，ＶＢ２とも接続されず、偶数ビット線はＶccレベルを保持したままフローティングとなる。この状態では、すでに反転しているラッチ回路ＬＱ１及びＬＱ２のラッチデータには影響がない。また、前回までの読み出しで、ラッチ回路ＬＱ２側のノードのみに反転が起こっていれば、ＮＭＯＳトランジスタｎ４が非導通状態となって電圧源ＶＢ０から切り離され、ＮＭＯＳトランジスタｎ７，ｎ８が導通して電圧源ＶＢ２に接続される。この場合には、電圧ＶＢ１およびＶＢ２は接地レベルなので、ノードＳＡは接地レベルとなり、読み出し動作の対象外となる。
【０３４１】
その後、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻され、この時、読み出し動作の対象となる偶数ビット線は（ＶAnB −Ｖth’）に充電され、ＮＭＯＳトランジスタＨ３がカットオフすることにより、読み出し動作の対象となるノードＳＡはＶccに充電される。
【０３４２】
ここで、ワード線電圧がＶRD1 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD1 より大きい（Ｖth＞ＶRD1 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタｎ９、ｎ１０が導通状態となる。
【０３４３】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ２が図５に示すタイミングでハイレベルに設定される。
【０３４４】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタｎ１４が導通状態に設定される。このとき、ＮＭＯＳトランジスタｎ１０が導通状態であるため、ラッチ回路ＬＱ１の反転ノード／Ｑ１が「０」になり、ラッチ回路ＬＱ１のノードＱ１が「１」に反転する。
【０３４５】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD1 より大きい（Ｖth＞ＶRD1 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１のラッチデータが”０１”に反転する。前回迄にラッチの反転が起きていれば、そのデータは保持される。読み出しデータは反転しており、ラッチデータが”０１”のときの読み出しデータは”１０”である。
【０３４６】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD1 以下（Ｖth＜ＶRD1 ）であれば、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨ３が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶAnB −Ｖth’）となる。このため、ＮＭＯＳトランジスタｎ９、ｎ１０は完全に導通しない。
【０３４７】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ２が図５に示すタイミングでハイレベルに設定される。
【０３４８】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタｎ１４が導通状態に設定されるが、ＮＭＯＳトランジスタｎ１０は完全に導通していない。したがって、ラッチ回路ＬＱ１を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ１のノードの反転は生じない。
【０３４９】
上述のように、この第１の実施の形態では、読み出し時には、前回までの読み出しでラッチ回路のデータの反転が生じている場合には、読み出しの対象外とし、前回までの読み出しでラッチ回路のデータの反転が生じていない場合のみ、読み出しを行なっている。このような構成とすることで、回路規模の縮小が図られている。
【０３５０】
なお、選択ワード線電圧をＶRD3 〜ＶRD1 に設定して、何れも、ラッチの反転が生じなければ、ラッチ回路ＬＱ２、ＬＱ１のデータは”００”のままである。ラッチデータが”００”のとき、読み出しデータは、”１１”である。
【０３５１】
２．第２の実施の形態
図６は、この発明に係わる不揮発性半導体記憶装置の第２の実施形態を示すものである。この不揮発性半導体記憶装置は、記憶多値レベルが８値に対応したものである。
【０３５２】
２−１．第２の実施の形態の全体構成
図６に示すように、この発明が適用された不揮発性半導体記憶装置は、メモリアレイ１１と、ビット線電圧発生回路１２と、読み出し／ベリファイ制御回路１３とにより構成される。
【０３５３】
メモリアレイ１１は、図７に示すように、夫々メモリセルが共通のワード線ＷＬ０〜ＷＬ１５に接続されたメモリストリングＡ０、Ａ１、…をマトリクス状に配列した構成とされる。同一のワード線ＷＬ０〜ＷＬ１５に接続されたメモリセルによりページが構成される。
【０３５４】
メモリストリングＡ０、Ａ１は、フローティングゲートを有する不揮発性半導体記憶装置からなるメモリセルトランジスタＭＴ０Ａ〜ＭＴ１５Ａ、ＭＴ０Ｂ〜ＭＴ１５Ｂが直列に接続されたＮＡＮＤストリングからなる。このＮＡＮＤストリングのメモリセルトランジスタＭＴ０Ａのドレインが選択ゲートＳＧ１Ａ、ＳＧ１Ｂを夫々介してビット線ＢＬ０、ＢＬ１に接続され、メモリセルトランジスタＭＴ１５Ａ、ＭＴ１５Ｂのソースが選択ゲートＳＧ２Ａ、ＳＧ２Ｂを夫々介して基準電位線ＶＧＬに接続される。選択ゲートＳＧ１Ａ、ＳＧ１Ｂのゲートは、選択信号供給線ＳＳＬに共通に接続される。選択ゲートＳＧ２Ａ、ＳＧ２Ｂのゲートは、選択信号供給線ＧＳＬに共通に接続される。同一行のメモリセルの制御ゲートが共通のワード線ＷＬ０、ＷＬ１、…に接続される。
【０３５５】
書き込み時には、例えば２０Ｖの電圧が選択されたメモリセルのワード線に印加され、８値の多値データがページ単位でメモリセルに書き込まれる。このとき、選択ゲートＳＧ１Ａ、ＳＧ１Ｂは導通され、選択されたメモリセル以外のワード線にはパス電圧が与えられ、選択ゲートＳＧ２Ａ、ＳＧ２Ｂは非導通とされる。
【０３５６】
メモリセルトランジスタには、図８に示すような、８値のデータ記録が行なわれる。図８に示すように、書き込み時には、書き込みデータ”０００”〜”１１１”の８値に応じて、そのメモリセルのしきい値が、夫々、分布「７」〜分布「０」内になるように、各メモリセルに対して書き込みが行なわれる。
【０３５７】
このとき、ベリファイ電圧ＶVF7 〜ＶVF1 によりベリファイ動作が行なわれて、夫々のメモリセルのしきい値が各データに対応する分布「７」〜分布「０」内となるように制御される。読み出し時には、読み出し電圧ＶRD7 〜ＶRD1 により、メモリセルのしきい値が検出されて、読み出しが行なわれる。
【０３５８】
ベリファイ時及び読み出し時には、選択されたメモリセルのワード線には、ベリファイ電圧ＶVF7 〜ＶVF1 及び読み出し電圧ＶRD7 〜ＶRD1 が与えられ、それ以外のメモリセルは導通状態とされる。また、選択ゲートＳＧ１Ａ、ＳＧ１Ｂ及び選択ゲートＳＧ２Ａ、ＳＧ２Ｂは導通とされる。そして、このとき、メモリセルに電流が流れるかどうかにより、メモリセルのしきい値がベリファイ電圧ＶVF7 〜ＶVF1 及び読み出し電圧ＶRD7 〜ＶRD1 を越えているかどうかが判断されて、ベリファイ及び読み出しが行なわれる。
【０３５９】
図６において、ビット線電圧発生回路１２は、ＮＭＯＳトランジスタＮ１〜Ｎ１５及びインバータの入出力同士を結合してなるラッチ回路ＬＱ２、ＬＱ１、ＬＱ０により構成される。また、ビット線電圧発生回路１２からは、電圧ＶＢ０、ＶＢ１、ＶＢ２、ＶＢ３の供給ラインが導出される。
【０３６０】
ビット線電圧発生回路１２により、書き込み時に、書き込みデータに応じたビット線電圧が発生され、メモリアレイ１１のメモリセルに与えられる。また、ベリファイ時には、ビット線電圧発生回路１２のラッチ回路ＬＱ２、ＬＱ１、ＬＱ０の記憶ノードＱ２、Ｑ１、Ｑ０は、メモリアレイ１１のメモリセルに書き込みが十分に行なわれると、”１１１”に設定される。読み出し時には、メモリアレイ１１のメモリセルのしきい値が検出されてデータの読み出が行なわれる。この時、ラッチ回路ＬＱ０、ＬＱ１、ＬＱ２の記憶ノードＱ２、Ｑ１、Ｑ０には、読み出されたデータが格納されていく。
【０３６１】
読み出し／ベリファイ制御回路１３は、ＮＭＯＳトランジスタＮ１６〜Ｎ２８から構成される。この読み出し／ベリファイ制御回路１３は、読み出し時又はベリファイ時に、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０の状態を制御するものである。読み出し／ベリファイ制御回路１３からは、信号φＬＡＴ０、φＬＡＴ１、φＬＡＴ２、φＬＡＴ３、φＬＡＴ４の供給ラインが導出され、パルス状の信号が供給される。読み出し／ベリファイ制御回路１３のＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８のゲート電極は、ノードＳＡに接続されている。ノードＳＡは、メモリアレイ１１のメモリセルのしきい値を検出するためのノードとなる。すなわち、後に説明するように、メモリセルのしきい値がワード線電圧より大きいと、セルに電流が流れないことにより、ノードＳＡは電源電圧Ｖcc（例えば、３．３Ｖ）に保持され、メモリセルのしきい値がワード線電圧より小さいと、ビット線電圧と略等しい電圧に降下する。このノードＳＡにより、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８が制御されて、読み出し／ベリファイ制御回路１３の動作が設定される。
【０３６２】
ノードＳＡとビット線ＢＬ０との間には、高耐圧のＮＭＯＳトランジスタＨＮ１及びＨＮ３の直列接続が設けられる。また、ノードＳＡとビット線ＢＬ１との間に、高耐圧のＮＭＯＳトランジスタＨＮ２及びＨＮ４の直列接続が設けられる。ＮＭＯＳトランジスタＨＮ３のゲート電極にアドレスデコード信号ＡｉＢが供給される。ＮＭＯＳトランジスタＨＮ４のゲート電極にアドレスデコード信号ＡｉＮが供給される。ＮＭＯＳトランジスタＨＮ１、ＨＮ２のゲート電極に、制御信号ＴＲＮが供給される。
【０３６３】
ノードＳＡと接地ラインＧＮＤとの間に、ＮＭＯＳトランジスタＮ１が接続される。ノードＳＡと電源電圧Ｖccの供給ラインとの間に、ＰＭＯＳトランジスタＰ１が接続される。ＮＭＯＳトランジスタＮ１のゲート電極には、制御信号ＤＩＳが供給される。ＰＭＯＳトランジスタＰ１のゲート電極には、信号Ｖref が供給される。
【０３６４】
ノードＳＡとビット線電圧発生回路１２との間には、ＮＭＯＳトランジスタＮ２が設けられている。すなわち、ＮＭＯＳトランジスタＮ２のドレインがノードＳＡに接続される。ＮＭＯＳトランジスタＮ２のソースがＮＭＯＳトランジスタＮ３、Ｎ５、Ｎ７、Ｎ９のドレインに接続される。ＮＭＯＳトランジスタＮ２のゲート電極には、制御信号ＰＧＭ＿ＲＶＰＣが供給される。
【０３６５】
ＮＭＯＳトランジスタＮ２のソースと電圧ＶＢ０の供給ラインとの間に、ＮＭＯＳトランジスタＮ３、Ｎ４が直列に接続される。ＮＭＯＳトランジスタＮ２のソースと電圧ＶＢ１の供給ラインとの間に、ＮＭＯＳトランジスタＮ５、Ｎ６が直列に接続される。ＮＭＯＳトランジスタＮ２のソースと電圧ＶＢ２の供給ラインとの間に、ＮＭＯＳトランジスタＮ７、Ｎ８が直列に接続される。ＮＭＯＳトランジスタＮ２のソースと電圧ＶＢ３の供給ラインとの間に、ＮＭＯＳトランジスタＮ９、Ｎ１０、Ｎ１１が直列に接続されるとともに、ＮＭＯＳトランジスタＮ１１と並列に、ＮＭＯＳトランジスタＮ１５が接続される。
【０３６６】
ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０は、夫々、記憶ノードＱ２、Ｑ１、Ｑ０と、その反転記憶ノード／Ｑ２、／Ｑ１、／Ｑ０を有している。なお、／は反転を示すバーを意味している。
【０３６７】
ラッチ回路ＬＱ２の反転記憶ノード／Ｑ２は、ＮＭＯＳトランジスタＮ４、Ｎ６のゲート電極に接続される。ラッチ回路ＬＱ２の記憶ノードＱ２は、ＮＭＯＳトランジスタＮ７、Ｎ９のゲート電極に接続される。
【０３６８】
ラッチ回路ＬＱ１の反転記憶ノード／Ｑ１は、ＮＭＯＳトランジスタＮ３、Ｎ８のゲート電極に接続される。ラッチ回路ＬＱ１の記憶ノードＱ１はＮＭＯＳトランジスタＮ５、Ｎ１０のゲート電極に接続される。
【０３６９】
ラッチ回路ＬＱ０の反転記憶ノード／Ｑ０は、ＮＭＯＳトランジスタＮ１１のゲート電極に接続される。ＮＭＯＳトランジスタＮ１１と並列に接続されたＮＭＯＳトランジスタ１５のゲート電極には、制御信号ＲＤの供給ラインが接続される。
【０３７０】
また、ラッチ回路ＬＱ２の記憶ノードＱ２、ラッチ回路ＬＱ１の記憶ノードＱ１、ラッチ回路ＬＱ０の記憶ノードＱ０の夫々と接地ラインとの間に、ＮＭＯＳトランジスタＮ１２、Ｎ１３、Ｎ１４が夫々接続される。ＮＭＯＳトランジスタＮ１２、Ｎ１３、Ｎ１４のゲート電極がリセット信号ＲＳＴの供給ラインに接続される。
【０３７１】
読み出し／ベリファイ制御回路１３において、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８のゲート電極は、ノードＳＡに接続される。ＮＭＯＳトランジスタＮ１６のドレインがラッチ回路ＬＱ２の反転記憶ノード／Ｑ２に接続される。ＮＭＯＳトランジスタＮ１７のドレインがラッチ回路ＬＱ１の反転記憶ノード／Ｑ１に接続される。ＮＭＯＳトランジスタＮ１８のドレインがラッチ回路ＬＱ０の反転記憶ノード／Ｑ０に接続される。
【０３７２】
ＮＭＯＳトランジスタＮ１６のソースと接地ラインとの間に、ＮＭＯＳトランジスタＮ１９、Ｎ２０が直列に接続されるとともに、これと並列的にＮＭＯＳトランジスタＮ２１、Ｎ２２が直列に接続される。ＮＭＯＳトランジスタＮ１７のソースと接地ラインとの間に、ＮＭＯＳトランジスタＮ２３、Ｎ２４が直列に接続されるとともに、これと並列的にＮＭＯＳトランジスタＮ２５、Ｎ２６が直列に接続される。ＮＭＯＳトランジスタＮ１８のソースと接地ラインとの間に、ＮＭＯＳトランジスタＮ２７、Ｎ２８が直列に接続される。なお、ＮＭＯＳトランジスタＮ２７、Ｎ２８を直列に接続しているのは、ラッチ反転の特性を合わせるためである。ＮＭＯＳトランジスタＮ２７、Ｎ２８のうちの一方を省略しても良い。
【０３７３】
そして、ＮＭＯＳトランジスタＮ２０のゲート電極が信号φＬＡＴ０の供給ラインに接続され、ＮＭＯＳトランジスタＮ２２のゲート電極が信号φＬＡＴ１の供給ラインに接続され、ＮＭＯＳトランジスタＮ２４のゲート電極が信号φＬＡＴ２の供給ラインに接続され、ＮＭＯＳトランジスタＮ２６のゲート電極が信号φＬＡＴ３の供給ラインに接続され、ＮＭＯＳトランジスタＮ２７、Ｎ２８のゲート電極が信号φＬＡＴ４の供給ラインに接続される。
【０３７４】
ラッチ回路ＬＱ２の記憶ノードＱ２とバスラインＩＯ０との間に、ＮＭＯＳトランジスタＮ３１が接続され、ラッチ回路ＬＱ１の記憶ノードＱ１とバスラインＩＯ１との間にＮＭＯＳトランジスタＮ３２が接続され、ラッチ回路ＬＱ０の記憶ノードＱ０とバスラインＩＯ２との間にＮＭＯＳトランジスタＮ３３が接続される。
【０３７５】
また、カラムゲートとしてのＮＭＯＳトランジスタＮ３１、Ｎ３２、Ｎ３３のゲート電極が信号Ｙ０＿０の供給ラインに接続される。
【０３７６】
２−２．第２の実施の形態の書き込み時の動作
次に、この発明の第２の実施の形態の書き込み動作を図９を参照して説明する。スタンバイ時には、信号ＰＧＭ＿ＲＶＰＣがローレベルに設定され、ＮＭＯＳトランジスタＮ２が非導通状態に保持され、ビット線ＢＬ０、ＢＬ１（図９ではＢＬｎ、ＢＬｎ＋１として示されている）がラッチ回路から切り離されている。
【０３７７】
そして、信号ＤＩＳがハイレベルに設定され、信号ＴＲＮ、ＡｉＢ，ＡｉＮが（Ｖcc−Ｖth）に設定され、ビット線ＢＬ０、ＢＬ１が接地レベルに設定される。
【０３７８】
この状態で書き込みが起動された場合、信号Ｙ０＿０がハイレベルに設定されて、書き込みデータがラッチ回路ＬＱ２、ＬＱ１、ＬＱ０に取り込まれて保持される。
【０３７９】
その後、信号ＤＩＳがローレベルに切り換えられ、ビット線ＢＬ０、ＢＬ１が接地ラインから切り離される。そして、信号ＴＲＮ、ＡｉＢ、ＡｉＮがＶcc以上のハイレベル（例えば読み出し時のパス電圧）に設定されるとともに、信号Ｖref がローレベルとされ、ＰＭＯＳトランジスタＰ１が導通状態に保持される。これにより、全ビット線ＢＬ０、ＢＬ１が電源電圧Ｖccに充電される。
【０３８０】
このとき、ラッチデータに影響がないように、読み出し／ベリファイを制御するための信号φＬＡＴ０〜φＬＡＴ４が接地レベルに設定される。また、メモリセルのドレイン側の選択ゲートのゲート電極に接続された選択信号供給線が電源電圧Ｖccに設定される。
【０３８１】
書き込み時には、信号Ｖref をハイレベルにしてプリチャージを切り、アドレス信号で選択されない方のアドレス、例えばＡｉＮが接地レベルとなり、ＰＧＭ＿ＲＶＰＣがハイレベルに設定される。そして、電圧ＶＢ３が最も高い電圧となり、電圧ＶＢ２が次に高い電圧となり、電圧ＶＢ１が次に高い電圧となり、電圧ＶＢ０は接地レベルになるように設定される。
【０３８２】
書き込みデータが”００ｘ”（ｘは０又は１）の場合には、ラッチ回路ＬＱ２及びＬＱ１の反転ノード／Ｑ２及び／Ｑ１はハイレベルである。このため、ＮＭＯＳトランジスタＮ３、Ｎ４が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ０となり、接地レベルに設定される。
【０３８３】
書き込みデータが”０１ｘ”の場合には、ＮＭＯＳトランジスタＮ５、Ｎ６が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ１に設定される。
【０３８４】
書き込みデータが”１０ｘ”の場合には、ＮＭＯＳトランジスタＮ７、Ｎ８が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ２に設定される。
【０３８５】
書き込みデータが”１１０”の場合には、ＮＭＯＳトランジスタＮ９、Ｎ１０、Ｎ１１が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ３に設定される。
【０３８６】
書き込みデータが”１１１”の場合には、電圧ＶＢ０〜ＶＢ３からの何れのパスもビット線と遮断されるため、ビット線の電圧は、Ｖccレベルに保持される。
【０３８７】
以上のプロセスにより、選択ビット線ＢＬ０が書き込みデータに応じた電圧に設定された後、選択されたワード線ＷＬが書き込み電圧に設定され、非選択のワード線が書き込みパス電圧に設定されて、書き込みが行なわれる。
【０３８８】
上述のように、この発明の実施の形態では、記録データに応じて、ビット線電圧が変えられる。このように、記録データに応じてビット線電圧を設定すると書き込みデータに応じてセルにかかる電界を設定することができ、記録時間の短縮が図られる。
【０３８９】
２−３．第２の実施の形態のベリファイ時の動作
次に、この発明の第２の実施の形態のベリファイ読み出し動作について、図１０のタイミングチャートに関連付けて説明する。
【０３９０】
ベリファイ読み出し時には、ワード線電圧に応じて、電圧源ＶＢ０〜ＶＢ３は、図１１Ａに示すように設定される。
【０３９１】
すなわち、ワード線電圧をＶVF7 に設定している間とワード線電圧をＶVF6 に設定している間では、電圧ＶＢ０が電源電圧Ｖccに設定され、他の電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルに設定される。
【０３９２】
ワード線電圧をＶVF5 に設定している間とワード線電圧をＶVF4 に設定している間では、電圧ＶＢ１が電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ２、ＶＢ３は接地レベルに設定される。
【０３９３】
ワード線電圧をＶVF3 に設定している間とワード線電圧をＶVF2 に設定している間では、電圧ＶＢ２が電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ１、ＶＢ３は接地レベルに設定される。
【０３９４】
ワード線電圧をＶVF1 に設定している間では、電圧ＶＢ３が電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ１、ＶＢ２は接地レベルに設定される。
【０３９５】
また、ベリファイ時には、制御信号ＲＤは常時ローレベルに設定され、ＮＭＯＳトランジスタＮ１５は非導通である。
【０３９６】
ベリファイに先立って、一定期間、制御信号ＤＩＳがハイレベル、ＡｉＢ、ＡｉＮ及びＴＲＮがＰ５Ｖ（５〜６Ｖの電圧）に設定され、全ビット線ＢＬ０、ＢＬ１が接地レベルになる。
【０３９７】
それから、制御信号ＤＩＳがローレベルに戻された後、アドレス”Ａｉ”で選択されていない方、例えばＡｉＮが接地レベルとなり、ビット線ＢＬ１がビット線電圧発生回路１２のラッチ回路から切り離される。そして、ビット線をクランプするために、制御信号ＴＲＮがＶTRN （ＶTRN ＝Ｖcc−Ｖth）に設定される。また、制御信号Ｖref はビット線のリーク補償電流（＜＜１μＡ）を流すだけの電圧に設定される。
【０３９８】
先ず、ワード線電圧をＶVF7 に設定したときについて説明する。ワード線電圧がＶVF7 に設定されている間では、電圧ＶＢ０のみ電源電圧Ｖccに設定され、他の電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccレベルに設定され、ＮＭＯＳトランジスタＮ２が導通する。
【０３９９】
ここで、ＮＭＯＳトランジスタＮ３及びＮ４が導通状態にあれば、電圧ＶＢ０からの電源Ｖccにより、ビット線は（ＶTRN −Ｖth’）に充電されていき、充電後、ＮチャンネルＮＭＯＳトランジスタＨＮ１はカットオフし、ノードＳＡは、ＰＭＯＳトランジスタによるリーク補償電流によってＶccに充電される。ＮＭＯＳトランジスタＮ３及びＮ４が非導通状態なら、ビット線は充電されず、接地レベルである。また、他の電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルなので、電圧ＶＢ０からの経路以外の経路による充電は行なわれない。
【０４００】
このように、ワード線電圧をＶVF7 に設定して、ベリファイが行なわれるときには、ＮＭＯＳトランジスタＮ３及びＮ４が導通状態のときにのみ、ビット線が充電される。ＮＭＯＳトランジスタＮ３及びＮ４が導通状態となるのは、ラッチ回路ＬＱ２の反転ノード／Ｑ２がハイレベル、ラッチ回路ＬＱ１の反転ノード／Ｑ１がハイレベルとなるときだけであり、書き込みデータが”００ｘ”のときである。
【０４０１】
このことから、書き込みデータ”００ｘ”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ノードＳＡは接地レベルになり、ベリファイの対象外となる。
【０４０２】
この状態で、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻され、選択ビット線ＢＬ０がビット線電圧発生回路１２から切り離される。
【０４０３】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF7 より大きい（Ｖth＞ＶVF7 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８が導通状態に保持される。この場合、書き込みデータ”００ｘ”のときにのみベリファイの対象とされているため、
▲１▼書き込みデータが”０００”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 を越えている（Ｖth＞ＶVF7 ）の場合
▲２▼書き込みデータが”００１”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 を越えている（Ｖth＞ＶVF7 ）場合
が考えられる。しかしながら、”００１”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 を越えていれば、前回のワード線電圧をＶVF6 としたときのベリファイで（Ｖth＞ＶVF6 ）となり、書き込み十分と判断され、ラッチ回路は”１１１”となって、以後書き込みされないため、これはあり得ない。
【０４０４】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい電圧ＶBL（ＶBL＝ＶTRN −Ｖth’）となる。ノードＳＡの電位が（ＶTRN −Ｖth’）では、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８は完全に導通することはできない。
【０４０５】
この場合、
▲１▼書き込みデータが”０００”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合
▲２▼書き込みデータが”００１”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合
が考えられる。
【０４０６】
また、書き込みデータが”０００”のときには、ラッチ回路ＬＱ０の反転ノード／Ｑ０はハイレベルであるから、ＮＭＯＳトランジスタＮ２１、Ｎ２５が導通状態に保持される。書き込みデータが”００１”のときには、ＮＭＯＳトランジスタＮ２１、Ｎ２５が非導通である。
【０４０７】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ３、φＬＡＴ４が順次ハイレベルに設定される。
【０４０８】
書き込みデータが”０００”で、メモリセルのしきい値Ｖthがワード線電圧ＶVF7 を越えている（Ｖth＞ＶVF7 ）ときには、信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ２２が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ２１が導通状態で、ＮＭＯＳトランジスタＮ１６が導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０４０９】
信号φＬＡＴ３がハイレベルの期間では、ＮＭＯＳトランジスタＮ２６が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ２５が導通状態で、ＮＭＯＳトランジスタＮ１７は導通状態であるから、ラッチ回路ＬＱ１の反転ノード／Ｑ１がローレベルになり、ラッチ回路ＬＱ１のノードＱ１がハイレベルに反転する。
【０４１０】
信号φＬＡＴ４がハイレベルの期間では、ＮＭＯＳトランジスタＮ２７、Ｎ２８が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１８は導通状態であるから、ラッチ回路ＬＱ０の反転ノード／Ｑ０がローレベルになり、ラッチ回路ＬＱ０のノードＱ０がハイレベルに反転する。
【０４１１】
以上により、ワード線電圧をＶVF7 に設定したときには、書き込みデータが”０００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF7 より大きい（Ｖth＞ＶVF7 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０４１２】
一方、書き込みデータが”０００”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合には、信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ２２が導通状態になり、ＮＭＯＳトランジスタＮ２１が導通状態になるが、ＮＭＯＳトランジスタＮ１６が完全に導通しないため、ラッチ回路ＬＱ２を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０４１３】
信号φＬＡＴ３がハイレベルの期間では、ＮＭＯＳトランジスタＮ２６は導通状態になり、ＮＭＯＳトランジスタＮ２５が導通状態になるが、ＮＭＯＳトランジスタＮ１７が完全に導通しないため、ラッチ回路ＬＱ１を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ１のノードの反転は起こらない。
【０４１４】
信号φＬＡＴ４がハイレベルの期間では、ＮＭＯＳトランジスタＮ２７、Ｎ２８が導通状態になるが、ＮＭＯＳトランジスタＮ１８は完全に導通しないため、ラッチ回路ＬＱ０を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ０のノードの反転は起こらない。
【０４１５】
以上により、ワード線電圧をＶVF7 に設定したときには、書き込みデータが”０００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”０００”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０４１６】
なお、この時、書き込みデータが”００１”のメモリセルについては、ＮＭＯＳトランジスタＮ２１、Ｎ２５が非導通となるため、ベリファイの対象外となり、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のデータはそのまま保持される。また、それ以外のメモリセルについても、ベリファイの対象外となるため、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のデータはそのまま保持される。
【０４１７】
次に、ワード線電圧をＶVF6 に設定したときについて説明する。ワード線電圧がＶVF6 に設定されている間では、前述と同様に、電圧ＶＢ０のみ電源電圧Ｖccに設定され、他の電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccレベルに設定される。
【０４１８】
制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccレベルに設定されると、ＮＭＯＳトランジスタＮ２が導通する。ワード線電圧をＶVF6 に設定して、書き込みデータのベリファイが行なわれるときには、制御信号ＰＧＭ＿ＲＶＰＣを電源電圧Ｖccレベルに設定すると、前述と同様に、書き込みデータ”００ｘ”のメモリセルのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルとなり、ベリファイの対象外となる。
【０４１９】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF6 より大きい場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８が導通状態に保持される。この場合、書き込みデータ”００ｘ”のときにのみベリファイの対象とされているため、書き込みデータが”０００”でメモリセルのしきい値Ｖthがワード線電圧ＶVF6 を越えている場合と、書き込みデータが”００１”でメモリセルのしきい値Ｖthがワード線電圧ＶVF6 を越えている場合が考えられる。
【０４２０】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF6 より小さい場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。ノードＳＡの電位が（ＶTRN −Ｖth’）では、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８は完全に導通することはできない。この場合、書き込みデータが”０００”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 より小さい場合と、書き込みデータが”００１”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 より小さい場合が考えられる。
【０４２１】
この状態で、ワード線電圧をＶVF6 に設定して、ベリファイ読み出しが行なわれる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ２が順次ハイレベルに設定される。
【０４２２】
また、書き込みデータが”００１”のときには、ラッチ回路ＬＱ０のノードＱ０はハイレベルであるから、ＮＭＯＳトランジスタＮ１９、Ｎ２３は導通状態に保持されている。
【０４２３】
書き込みデータが”００１”でメモリセルのしきい値Ｖthがワード線電圧ＶVF6 を越えている（Ｖth＞ＶVF6 ）場合には、信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ２０が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１９が導通状態で、ＮＭＯＳトランジスタＮ１６が導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０４２４】
信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタＮ２４が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ２３は導通状態で、ＮＭＯＳトランジスタＮ１７は導通状態であるから、ラッチ回路ＬＱ１の反転ノード／Ｑ１がローレベルになり、ラッチ回路ＬＱ１のノードＱ１がハイレベルに反転する。
【０４２５】
以上により、ワード線電圧をＶVF6 に設定したときには、書き込みデータが”００１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF6 より大きい（Ｖth＞ＶVF6 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０４２６】
一方、書き込みデータが”００１”で、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF6 より小さい（Ｖth＜ＶVF6 ）場合には、セルに電流が流れ、ビット線電圧は降下する。このため、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８は、完全には導通しない。
【０４２７】
信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ２０が導通状態になり、ＮＭＯＳトランジスタＮ１９が導通状態であるが、ＮＭＯＳトランジスタＮ１６が完全に導通しないため、ラッチ回路ＬＱ２を反転させるのに十分な電流を流すことができず、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０４２８】
信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタＮ２４は導通状態になり、ＮＭＯＳトランジスタＮ２３が導通状態であるが、ＮＭＯＳトランジスタＮ１７は完全に導通しないため、ラッチ回路ＬＱ１を反転させるのに十分な電流を流すことができず、ラッチ回路ＬＱ１のノードの反転は起こらない。
【０４２９】
以上により、ワード線電圧をＶVF6 に設定したときには、書き込みデータが”００１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF6 より小さい（Ｖth＜ＶVF6 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”００１”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０４３０】
なお、この時、書き込みデータが”０００”のメモリセルについては、ＮＭＯＳトランジスタＮ１９、Ｎ２３が非導通となるため、ベリファイの対象外となり、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のデータはそのまま保持される。また、それ以外のメモリセルについても、ベリファイの対象外となるため、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のデータはそのまま保持される。
【０４３１】
次に、ワード線電圧をＶVF5 に設定したときについて説明する。ワード線電圧がＶVF5 に設定されている間では、電圧ＶＢ１のみ電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ２、ＶＢ３は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccレベルに設定され、ＮＭＯＳトランジスタＮ２が導通する。
【０４３２】
ここで、ＮＭＯＳトランジスタＮ５及びＮ６が導通状態にあれば、電圧ＶＢ１からの電源Ｖccにより、ビット線は（ＶTRN −Ｖth’）に充電されていき、充電後、ＮＭＯＳトランジスタＨＮ１はカットオフし、ノードＳＡはＰＭＯＳトランジスタＰ１のリーク補償電流によりＶccに充電される。ＮＭＯＳトランジスタＮ５及びＮ６が非導通状態なら、ビット線は充電されず、接地レベルである。また、他の電圧ＶＢ０、ＶＢ２、ＶＢ３は接地レベルなので、電圧ＶＢ１からの経路以外の経路による充電は行なわれない。
【０４３３】
このように、ワード線電圧をＶVF5 に設定してベリファイが行なわれるときには、制御信号ＰＧＭ＿ＲＶＰＣを電源電圧Ｖccレベルに設定すると、ＮＭＯＳトランジスタＮ５及びＮ６が導通状態のときにのみ、ビット線が充電される。
【０４３４】
ＮＭＯＳトランジスタＮ５及びＮ６が導通状態となるのは、ラッチ回路ＬＱ２の反転ノード／Ｑ２がハイレベル、ラッチ回路ＬＱ１のノードＱ１がハイレベルとなるときだけであり、書き込みデータが”０１ｘ”のときである。
【０４３５】
このことから、ワード線電圧をＶVF5 に設定して、書き込みデータが”０１０”のベリファイを行なうときには、書き込みデータが”０１ｘ”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。
【０４３６】
この状態で、ワード線電圧をＶVF5 に設定して、ベリファイ読み出しが行なわれる。ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF5 より大きい（Ｖth＞ＶVF5 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８が導通状態に保持される。
【０４３７】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF5 より小さい（Ｖth＜ＶVF5 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。ノードＳＡの電位が（ＶTRN −Ｖth’）では、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８は完全に導通することはできない。
【０４３８】
また、書き込みデータが”０１０”のときには、ラッチ回路ＬＱ０の反転ノード／Ｑ０はハイレベルであるから、ＮＭＯＳトランジスタＮ２１、Ｎ２５が導通状態に保持される。書き込みデータが”０１１”のときには、ＮＭＯＳトランジスタＮ２１、Ｎ２５は非導通状態となり、ベリファイの対象外となる。
【０４３９】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ４が順次ハイレベルに設定される。
【０４４０】
書き込みデータが”０１０”でメモリセルのしきい値電圧Ｖthがワード線電圧ＶVF5 より大きい（Ｖth＞ＶVF5 ）場合には、信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ２２が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ２１が導通状態で、ＮＭＯＳトランジスタＮ１６が導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０４４１】
信号φＬＡＴ４がハイレベルの期間では、ＮＭＯＳトランジスタＮ２７、Ｎ２８が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１８は導通状態であるから、ラッチ回路ＬＱ０の反転ノード／Ｑ０がローレベルになり、ラッチ回路ＬＱ０のノードＱ０がハイレベルに反転する。
【０４４２】
以上により、ワード線電圧をＶVF5 に設定したときには、書き込みデータが”０１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF5 より大きい（Ｖth＞ＶVF5 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０４４３】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF5 より小さい（Ｖth＜ＶVF5 ）場合には、信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ２２が導通状態になり、ＮＭＯＳトランジスタＮ２１が導通状態になるが、ＮＭＯＳトランジスタＮ１６が完全に導通しないため、ラッチ回路ＬＱ２を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０４４４】
信号φＬＡＴ４がハイレベルの期間では、ＮＭＯＳトランジスタＮ２７、Ｎ２８が導通状態になるが、ＮＭＯＳトランジスタＮ１８は完全に導通しないため、ラッチ回路ＬＱ０を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ０のノードの反転は起こらない。
【０４４５】
以上により、ワード線電圧をＶVF5 に設定したときには、書き込みデータが”０１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF5 より小さい（Ｖth＜ＶVF5 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”０１０”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０４４６】
なお、この時、書き込みデータが”０１１”のメモリセルについては、ＮＭＯＳトランジスタＮ２１、Ｎ２５が非導通となるため、ベリファイの対象外となり、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のデータはそのまま保持される。また、それ以外のメモリセルについても、ベリファイの対象外となるため、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のデータはそのまま保持される。
【０４４７】
ワード線電圧がＶVF4 に設定されている間では、前述と同様に、電圧ＶＢ１のみ電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ２、ＶＢ３は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccレベルに設定される。
【０４４８】
ワード線電圧をＶVF4 に設定してベリファイが行なわれるときには、制御信号ＰＧＭ＿ＲＶＰＣを電源電圧Ｖccレベルに設定すると、書き込みデータ”０１ｘ”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。
【０４４９】
ここで、書き込みデータが”０１ｘ”でメモリセルのしきい値電圧Ｖthがワード線電圧ＶVF4 より大きい（Ｖth＞ＶVF4 ）の場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８が導通状態に保持される。
【０４５０】
この状態で、ワード線電圧をＶVF4 に設定して、ベリファイ読み出しが行なわれる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０がハイレベルに設定される。
【０４５１】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF4 より大きい場合には、信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ２０が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ１９が導通状態で、ＮＭＯＳトランジスタＮ１６が導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０４５２】
以上により、ワード線電圧をＶVF4 に設定したときには、書き込みデータが”０１１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF4 より大きい（Ｖth＞ＶVF4 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０４５３】
書き込みデータが”０１１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF4 より小さい（Ｖth＜ＶVF4 ）場合には、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８は完全に導通することはできない。
【０４５４】
したがって、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF4 より小さい場合には、信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ２０が導通状態になり、ＮＭＯＳトランジスタＮ１９が導通状態になるが、ＮＭＯＳトランジスタＮ１６が完全に導通しないため、ラッチ回路ＬＱ２を反転させるのに十分な電流が流せないため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０４５５】
以上により、ワード線電圧をＶVF4 に設定したときには、書き込みデータが”０１１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF4 より小さい（Ｖth＜ＶVF4 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”０１１”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０４５６】
なお、この時、書き込みデータが”０１０”のメモリセルについては、ＮＭＯＳトランジスタＮ１９、Ｎ２３が非導通となるため、ベリファイの対象外となり、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のデータはそのまま保持される。また、それ以外のメモリセルについても、ベリファイの対象外となるため、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のデータはそのまま保持される。
【０４５７】
以下、ワード線電圧をＶVF3 、ＶVF2 、ＶVF1 に設定して、同様にベリファイ動作が行なわれる。
【０４５８】
すなわち、ワード線電圧をＶVF3 に設定してベリファイが行なわれるときには、書き込みデータ”１０ｘ”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ３、φＬＡＴ４が順次ハイレベルに設定される。書き込みデータが”１００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF3 より大きい（Ｖth＞ＶVF3 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線ＢＬ０は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。書き込みデータが”１００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF3 より小さい（Ｖth＜ＶVF3 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１００”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０４５９】
ワード線電圧がＶVF2 に設定されてベリファイが行なわれるときは、書き込みデータ”１０ｘ”のときにのみビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ２がハイレベルに設定される。書き込みデータが”１０１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF2 より大きい（Ｖth＞ＶVF2 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線ＢＬ０は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。書き込みデータが”１０１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF2 より小さい（Ｖth＜ＶVF2 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１０１”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０４６０】
選択ワード線電圧がＶVF1 に設定されてベリファイが行なわれるときには、書き込みデータ”１１０”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ４がハイレベルに設定される。書き込みデータが”１１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF1 より大きい（Ｖth＞ＶVF1 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線ＢＬは電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。書き込みデータが”１１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF1 より小さい（Ｖth＜ＶVF1 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１０”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０４６１】
上述のように、この発明の第２の実施の形態では、ベリファイ時には、電圧ＶＢ０、ＶＢ１、ＶＢ２、ＶＢ３のうちの１つを電源電圧Ｖccとし、他の電圧を接地レベルとし、書き込みデータに応じてＮＭＯＳトランジスタＮ３及びＮ４、Ｎ５及びＮ６、Ｎ７及びＮ８、Ｎ９、Ｎ１０及びＮ１１を制御して、電圧ＶＢ０、ＶＢ１、ＶＢ２、ＶＢ３のうちの１つからビット線の充電電流を流すようにすることで、他の書き込みデータをベリファイの対象外としている。すなわち、ワード線電圧ＶVF7 及びＶVF6 でのベリファイ時には、電圧ＶＢ０を使うことで、”００ｘ”以外をベリファイの対象外とし、ワード線電圧ＶVF5 、ＶVF4 でのベリファイ時には、電圧ＶＢ１を使うことで、”０１ｘ”以外をベリファイの対象外とし、ワード線電圧ＶVF3 、ＶVF2 でのベリファイ時には、電圧ＶＢ２を使うことで、”１０ｘ”以外をベリファイの対象外とし、ワード線電圧ＶVF1 でのベリファイ時には、電圧ＶＢ３を使うことで、”１１０”以外をベリファイの対象外としている。これにより、ベリファイ時の回路構成が簡単化されている。
【０４６２】
２−４．第２の実施の形態の読み出し時の動作
次に、この発明の第２の実施の形態の読み出し動作について図１２を参照して説明する。スタンバイ時には、制御信号ＴＲＮ、ＡｉＢ、ＡｉＮは（Ｖcc−Ｖth）のレベルにあり、制御信号ＤＩＳはハイレベルに設定され、ＮＭＯＳトランジスタＮ１が導通状態となり、全ビット線は接地レベルとなる。
【０４６３】
この状態で読み出し動作が起動されると、制御信号ＤＩＳがローレベルになり、ビット線は接地ラインから切り離される。そして、選択ビット線が例えば偶数ビット線の場合、ＡｉＢがＰ５Ｖレベル、ＡｉＮが接地レベルに設定され、奇数ビット線はラッチから切り離され、制御信号ＴＲＮは（Ｖcc−Ｖth（＝ＶTRN ））に保持され、制御信号Ｖref にビット線のリークを補償する電流を流すための電圧が印加される。これと同時に、制御信号ＲＳＴにハイレベルが設定され、ＮＭＯＳトランジスタＮ１２、Ｎ１３、Ｎ１４が導通して、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のノードＱ２、Ｑ１、Ｑ０が全て「０」にリセットされる。
【０４６４】
読み出し動作は、ワード線電圧をＶRD7 、ＶRD6 、ＶRD5 、ＶRD4 、ＶRD3 、ＶRD2 、ＶRD1 に順次下げて行なわれる。読み出し時には、図１１Ｂに示すように、電圧ＶＢ０はＶccレベル、電圧ＶＢ１、電圧ＶＢ２、ＶＢ３は接地レベルに常に設定される。
【０４６５】
また、読み出し制御信号ＲＤは常にハイレベルに設定され、ＮＭＯＳトランジスタＮ１５は、読み出しの間、常に、導通状態にある。
【０４６６】
先ず、選択ワード線電圧がＶRD7 に設定され、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定され、ＮＭＯＳトランジスタＮ２が導通状態に設定される。
【０４６７】
ここで、ＮＭＯＳトランジスタＮ４、Ｎ３が導通状態にあれば、電圧ＶＢ０からの電流がＮＭＯＳトランジスタＮ４、Ｎ３、Ｎ２を介して流れ、ビット線が充電される。読み出しの開始時には、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０が全て「０」にリセットされているため、ラッチ回路ＬＱ２の反転ノード／Ｑ２は「１」、ラッチ回路ＬＱ１の反転ノード／Ｑ１は「１」である。したがって、この時、ＮＭＯＳトランジスタＮ４、Ｎ３が導通状態である。
【０４６８】
したがって、電圧ＶＢ０からの電流がＮＭＯＳトランジスタＮ４、Ｎ３、Ｎ２を介して流れ、全ての偶数ビット線は（ＶTRN −Ｖth’）に充電され、ＮＭＯＳトランジスタＨＮ１がカットオフすることにより、全てのノードＳＡはリーク補償電流によりＶccに充電される。その後、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻される。
【０４６９】
ワード線電圧がＶRD7 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD7 より大きい（Ｖth＞ＶRD7 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８が導通状態となる。また、初期状態では、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０が全て「０」にリセットされているため、ＮＭＯＳトランジスタＮ２１、Ｎ２５は導通状態にある。
【０４７０】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ３、φＬＡＴ４が順次ハイレベルに設定される。
【０４７１】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２２が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１６、Ｎ２１は導通している。したがって、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０４７２】
信号φＬＡＴ３がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２６が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１７、Ｎ２５は導通している。したがって、ラッチ回路ＬＱ１の反転ノード／Ｑ１が「０」になり、ラッチ回路ＬＱ１のノードＱ１が「１」に反転する。
【０４７３】
信号φＬＡＴ４がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２７、Ｎ２８が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１８は導通している。したがって、ラッチ回路ＬＱ０の反転ノード／Ｑ０が「０」になり、ラッチ回路ＬＱ０のノードＱ０が「１」に反転する。
【０４７４】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD7 より大きい（Ｖth＞ＶRD7 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１１”に反転する。なお、読み出しデータは反転しており、ラッチデータが”１１１”のときの読み出しデータは”０００”である。
【０４７５】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD7 以下（Ｖth＜ＶRD7 ）であれば、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。このため、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８は完全に導通しない。
【０４７６】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ３、φＬＡＴ４が順次ハイレベルに設定される。
【０４７７】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２２が導通状態に設定される。ＮＭＯＳトランジスタＮ２２、Ｎ２１は導通状態であるが、ＮＭＯＳトランジスタＮ１６は完全に導通していない。したがって、ラッチ回路ＬＱ２を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ２のノードの反転は生じない。
【０４７８】
信号φＬＡＴ３がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２６が導通状態に設定される。ＮＭＯＳトランジスタＮ２６、Ｎ２５は導通状態であるが、ＮＭＯＳトランジスタＮ１７は完全に導通していない。したがって、ラッチ回路ＬＱ１を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ１のノードの反転は生じない。
【０４７９】
信号φＬＡＴ４がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２７、２８が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ１８は完全に導通していない。したがって、ラッチ回路ＬＱ０を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ０のノードの反転は生じない。
【０４８０】
次に、選択ワード線電圧がＶRD6 に設定され、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定され、ＮＭＯＳトランジスタＮ２が導通状態に設定される。
【０４８１】
ここで、前回に選択ワード線電圧がＶRD7 に設定して読み出しを行なったときにラッチ回路ＬＱ０、ＬＱ１及びＬＱ２のノードの反転が起こっていなければ、ラッチ回路ＬＱ０、ＬＱ１、ＬＱ２は初期状態の”０００”であるから、ＮＭＯＳトランジスタＮ３、Ｎ４が導通している。このため、電圧ＶＢ０からの電流がＮＭＯＳトランジスタＮ４、Ｎ３、Ｎ２を介して流れ、メモリセルのしきい値電圧ＶthがＶRD7 より低いセルがつながる全ての偶数ビット線はＶTRN −Ｖth’に充電される。
【０４８２】
これに対して、前回に選択ワード線電圧がＶRD7 に設定して読み出しを行なったときにラッチ回路ＬＱ１及びＬＱ２のノードの反転が起こっていれば、ＮＭＯＳトランジスタＮ４、Ｎ３が非導通状態となる。そして、ＮＭＯＳトランジスタＮ９、Ｎ１０が導通状態となり、制御信号ＲＤがハイレベルであることによりＮＭＯＳトランジスタＮ１５が導通状態となり、電圧ＶＢ３の供給源につながる。この場合には、電圧ＶＢ１〜ＶＢ３は接地レベルのため、ノードＳＡは接地レベルとなり、読み出し動作の対象外となる。
【０４８３】
その後、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻される。この時、前回迄にノードの反転が起きていないセルがつながる偶数ビット線は（ＶTRN −Ｖth’）に充電され、ＮＭＯＳトランジスタＨＮ１がカットオフすることにより、そのノードＳＡはＶccに充電される。
【０４８４】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD6 より大きい（Ｖth＞ＶRD6 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８が導通状態となる。
【０４８５】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ３が順次ハイレベルに設定される。
【０４８６】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２２が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１６，Ｎ２１は導通している。したがって、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０４８７】
信号φＬＡＴ３がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２６が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１７，Ｎ２５は導通している。したがって、ラッチ回路ＬＱ１の反転ノード／Ｑ１が「０」に反転し、ラッチ回路ＬＱ１のノードＱ１が「１」に反転する。
【０４８８】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD6 より大きい（Ｖth＞ＶRD6 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１０”に反転する。前回迄にラッチの反転が起きていると、ノードＳＡは接地レベルとなり、読み出しの対象外となるため、そのデータは保持される。なお、読み出しデータは反転しており、ラッチデータが”１１０”のときの読み出しデータは”００１”である。
【０４８９】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD6 より小さい（Ｖth＜ＶRD6 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。このため、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８は完全に導通しない。
【０４９０】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ３が順次ハイレベルに設定される。
【０４９１】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２２が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ２１は導通状態にあるが、ＮＭＯＳトランジスタＮ１６は完全に導通していない。したがって、ラッチ回路ＬＱ２を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ２のノードの反転は生じない。
【０４９２】
信号φＬＡＴ３がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２６が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ２５は導通状態であるが、ＮＭＯＳトランジスタＮ１７は完全に導通していない。したがって、ラッチ回路ＬＱ１を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ１のノードの反転は生じない。
【０４９３】
次に、選択ワード線電圧がＶRD5 に設定され、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定され、ＮＭＯＳトランジスタＮ２が導通状態に設定される。
【０４９４】
ここで、前回までの読み出しで、ラッチ回路ＬＱ１及びＬＱ２のノードの反転が起こっていなければ、ＮＭＯＳトランジスタＮ４、Ｎ３が導通状態となり、電圧ＶＢ０によりビット線が充電される。なお、前回までの読み出しで、ラッチ回路ＬＱ１及びＬＱ２のノードの反転が起こっていれば、ＮＭＯＳトランジスタＮ４、Ｎ３が非導通状態となる。この場合には、電圧ＶＢ１〜ＶＢ３は接地レベルなので、ノードＳＡは接地レベルとなり、読み出し動作の対象外となる。
【０４９５】
その後、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻され、この時、読み出し動作の対象となる偶数ビット線は（ＶTRN −Ｖth’）に充電され、ＮＭＯＳトランジスタＨＮ１がカットオフすることにより、読み出し動作の対象となるノードＳＡはＶccに充電される。
【０４９６】
ここで、ワード線電圧がＶRD5 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD5 より大きい（Ｖth＞ＶRD5 ）の場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８が導通状態となる。
【０４９７】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ４が順次ハイレベルに設定される。
【０４９８】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２２が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１６，Ｎ２１は導通している。したがって、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０４９９】
信号φＬＡＴ４がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２７及びＮ２８が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１８は導通している。したがって、ラッチ回路ＬＱ０の反転ノード／Ｑ０が「０」に反転し、ラッチ回路ＬＱ０のノードＱ０が「１」に反転する。
【０５００】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD5 より大きい（Ｖth＞ＶRD5 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１０１”に反転する。前回迄にラッチの反転が起きていれば、そのデータは保持される。読み出しデータは反転しており、ラッチデータが”１０１”のときの読み出しデータは”０１０”である。
【０５０１】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD5 以下（Ｖth＜ＶRD5 ）であれば、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。このため、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８は完全に導通しない。
【０５０２】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ４が順次ハイレベルに設定される。
【０５０３】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２２が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ２１は導通状態であるが、ＮＭＯＳトランジスタＮ１６は完全に導通していない。したがって、ラッチ回路ＬＱ２を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ２のノードの反転は生じない。
【０５０４】
信号φＬＡＴ４がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２７、Ｎ２８が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ１８は完全に導通していない。したがって、ラッチ回路ＬＱ０を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ０のノードの反転は生じない。
【０５０５】
次に、選択ワード線電圧がＶRD4 に設定されて、前述と同様に、読み出しが行なわれる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１がハイレベルに設定される。
【０５０６】
ここで、前回迄にラッチの反転が生じていなければ、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD4 より大きい（Ｖth＞ＶRD4 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８が導通状態となる。
【０５０７】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２２が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ１６，Ｎ２１は導通している。したがって、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０５０８】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD4 より大きい（Ｖth＞ＶRD4 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１００”に反転する。前回迄にラッチの反転が起きていると、そのデータが保持される。なお、読み出しデータは反転しており、ラッチデータが”１００”のときの読み出しデータは、”０１１”である。
【０５０９】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD4 より小さい（Ｖth＜ＶRD4 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。このため、ＮＭＯＳトランジスタＮ１６、Ｎ１７、Ｎ１８は完全に導通しない。
【０５１０】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ２２が導通状態に設定され、また、ＮＭＯＳトランジスタＮ２１は導通しているが、ＮＭＯＳトランジスタＮ１６は完全に導通していない。したがって、ラッチ回路ＬＱ２のノードの反転は生じない。
【０５１１】
以下、同様にして、読み出しが行なわれる。すなわち、選択ワード線電圧がＶRD3 に設定されて、読み出しが行なわれる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ３、φＬＡＴ４が順次ハイレベルに設定される。メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 より大きい（Ｖth＞ＶRD3 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”０１１”に反転する。なお、読み出しデータは反転しており、ラッチデータが”０１１”のときの読み出しデータは、”１００”である。メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 より小さい場合、信号φＬＡＴ３、φＬＡＴ４がハイレベルに設定されても、ラッチ回路ＬＱ１、ＬＱ０を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ０のノードの反転は生じない。
【０５１２】
次に、選択ワード線電圧がＶRD2 に設定されて、読み出しが行なわれる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ３がハイレベルに設定される。メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD2 より大きい（Ｖth＞ＶRD2 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”０１０”に反転する。なお、読み出しデータは反転しており、ラッチデータが”０１０”のときの読み出しデータは、”１０１”である。メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD2 より小さい場合、信号φＬＡＴ３がハイレベルに設定されても、ラッチ回路ＬＱ１を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ１のノードの反転は生じない。
【０５１３】
次に、選択ワード線電圧がＶRD1 に設定されて、読み出しが行なわれる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ４がハイレベルに設定される。メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD1 より大きい（Ｖth＞ＶRD1 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”００１”に反転する。なお、読み出しデータは反転しており、ラッチデータが”００１”のときの読み出しデータは、”１１０”である。メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD1 より小さい場合、信号φＬＡＴ４がハイレベルに設定されても、ラッチ回路ＬＱ０を反転させるための十分な電流を流すことはできず、ラッチ回路Ｑ０のノードの反転は生じない。
【０５１４】
選択ワード線電圧をＶRD7 〜ＶRD1 に設定して、何れも、ラッチの反転が生じなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のデータは”０００”のままである。ラッチデータが”０００”のとき、読み出しデータは、”１１１”である。
【０５１５】
上述のように、この実施の形態では、読み出し時には、前回までの読み出しでラッチ回路のデータの反転が生じている場合には、読み出しの対象外とし、前回までの読み出しでラッチ回路のデータの反転が生じていない場合のみ、読み出しを行なっている。このような構成とすることで、回路規模の縮小が図られている。
【０５１６】
３．第３の実施の形態
図１３は、この発明に係わる不揮発性半導体記憶装置の第３の実施形態を示すものである。この不揮発性半導体記憶装置は、前述の第２の実施の形態と同様に、記憶多値レベルが８値に対応したものである。
【０５１７】
前述の第２の実施の形態では、最下位ビットのラッチ回路ＬＱ０のデータを除いて、ラッチ回路ＬＱ２、ＬＱ１に設定されているラッチデータに応じて、ベリファイ時にビット線をチャージする／しないを制御して、ベリファイを行なっている。そして、最下位ビットのデータであるラッチ回路ＬＱ０については、ノードＱ０のデータと反転ノード／Ｑ０のデータとを、ゲート回路Ｎ１９及びＮ２３、Ｎ２１及びＮ２５に供給し、ベリファイ時に最下位ビットが「１」であるか「０」であるかによりラッチ回路のノードの反転を禁止するかどうかの設定を行なって、ベリファイを対象外とするかどうかを設定している。
【０５１８】
これに対して、第３の実施の形態では、信号ＷＶＦＨＦにより、ベリファイ時に最下位ビットが「１」であるか「０」であるかにより、ビット線の放電の実行を制御して、ベリファイを対象外とするかどうかの設定を行なっている。この第３の実施の形態では、最下位ビットのデータであるラッチ回路ＬＱ０のノードＱ０のデータと反転ノード／Ｑ０のデータとにより制御されるゲート回路Ｎ１９及びＮ２３、Ｎ２１及び２５が不要であるため、更に、回路規模の削減を図ることができる。
【０５１９】
３−１．第３の実施の形態の全体構成
この第３の実施形態は、前述の第２の実施の形態と同様に、メモリアレイ５１と、ビット線電圧発生回路５２と、読み出し／ベリファイ制御回路５３とにより構成される。
【０５２０】
メモリアレイ５１は、前述の第２の実施の形態と同様に、メモリセルをマトリクス状に配列して構成されており、夫々メモリセルが共通のワード線ＷＬ０〜ＷＬ１５に接続されたメモリストリングＡ０及びＡ１により構成される。
【０５２１】
ビット線電圧発生回路５２は、ＮＭＯＳトランジスタＮ５１〜Ｎ６４，Ｎ７２、Ｎ７３及びインバータの入出力同士を結合してなるラッチ回路ＬＱ２、ＬＱ１、ＬＱ０により構成される。また、ビット線電圧発生回路５２からは、電圧ＶＢ０、ＶＢ１、ＶＢ２、ＶＢ３の供給ラインが導出される。
【０５２２】
ビット線電圧発生回路５２により、書き込み時に、書き込みデータに応じたビット線電圧が発生され、メモリアレイ５１に与えられる。また、ベリファイ時には、ビット線電圧発生回路５２のラッチ回路ＬＱ２、ＬＱ１、ＬＱ０の記憶ノードＱ２、Ｑ１、Ｑ０は、メモリアレイ５１のメモリセルに書き込みが十分に行なわれると、”１１１”に設定される。読み出し時には、メモリアレイ５１のメモリセルのしきい値が検出されてデータの読み出が行なわれる。この時、ラッチ回路ＬＱ０、ＬＱ１、ＬＱ２の記憶ノードＱ２、Ｑ１、Ｑ０には、読み出されたデータが格納されていく。
【０５２３】
読み出し／ベリファイ制御回路５３は、ＮＭＯＳトランジスタＮ６６〜Ｎ７１から構成される。この読み出し／ベリファイ制御回路５３は、読み出し時又はベリファイ時に、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０の状態を制御するものである。読み出し／ベリファイ制御回路５３からは、信号φＬＡＴ０、φＬＡＴ１、φＬＡＴ２の供給ラインが導出され、パルス状の信号が供給される。読み出し／ベリファイ制御回路５３のＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８のゲート電極は、ノードＳＡに接続されている。ノードＳＡは、メモリアレイ５１のメモリセルのしきい値を検出するためのノードとなる。
【０５２４】
ノードＳＡとビット線ＢＬ０との間には、高耐圧のＮＭＯＳトランジスタＨＮ５１及びＨＮ５３の直列接続が設けられる。また、ノードＳＡとビット線ＢＬ１との間に、高耐圧のＮＭＯＳトランジスタＨＮ５２及びＨＮ５４の直列接続が設けられる。ＮＭＯＳトランジスタＨＮ５３のゲート電極にアドレスデコード信号ＡｉＢが供給される。ＮＭＯＳトランジスタＨＮ５４のゲート電極にアドレスデコード信号ＡｉＮが供給される。ＮＭＯＳトランジスタＨＮ５１、ＨＮ５２のゲート電極に、制御信号ＴＲＮが供給される。
【０５２５】
ノードＳＡと接地ラインＧＮＤとの間に、ＮＭＯＳトランジスタＮ５１が接続される。ノードＳＡと電源電圧Ｖccの供給ラインとの間に、ＰＭＯＳトランジスタＰ５１が接続される。ＮＭＯＳトランジスタＮ５１のゲート電極には、制御信号ＤＩＳが供給される。ＰＭＯＳトランジスタＰ５１のゲート電極には、信号Ｖref が供給される。
【０５２６】
ノードＳＡとビット線電圧発生回路５２との間には、ＮＭＯＳトランジスタＮ５２が設けられている。すなわち、ＮＭＯＳトランジスタＮ５２のドレインがノードＳＡに接続される。ＮＭＯＳトランジスタＮ５２のソースがＮＭＯＳトランジスタＮ５３、Ｎ５５、Ｎ５７、Ｎ５９のドレインに接続される。ＮＭＯＳトランジスタＮ５２のゲート電極には、制御信号ＰＧＭ＿ＲＶＰＣが供給される。
【０５２７】
ＮＭＯＳトランジスタＮ５２のソースと電圧ＶＢ０の供給ラインとの間に、ＮＭＯＳトランジスタＮ５３、Ｎ５４が直列に接続される。ＮＭＯＳトランジスタＮ５２のソースと電圧ＶＢ１の供給ラインとの間に、ＮＭＯＳトランジスタＮ５５、Ｎ５６が直列に接続される。ＮＭＯＳトランジスタＮ５２のソースと電圧ＶＢ２の供給ラインとの間に、ＮＭＯＳトランジスタＮ５７、Ｎ５８が直列に接続される。ＮＭＯＳトランジスタＮ５２のソースと電圧ＶＢ３の供給ラインとの間に、ＮＭＯＳトランジスタＮ５９、Ｎ６０、Ｎ６１が直列に接続されるとともに、ＮＭＯＳトランジスタＮ６１と並列に、ＮＭＯＳトランジスタＮ６５が接続される。
【０５２８】
更に、ノードＳＡと接地ラインとの間に、ＮＭＯＳトランジスタＮ７２、Ｎ７３が直列に接続される。ＮＭＯＳトランジスタＮ７２のゲート電極は、信号ＷＶＦＨＦの供給ラインに接続される。ＮＭＯＳトランジスタＮ７３のゲート電極は、ＮＭＯＳトランジスタＮ６１のゲート電極に接続される。
【０５２９】
ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０は、夫々、記憶ノードＱ２、Ｑ１、Ｑ０と、その反転記憶ノード／Ｑ２、／Ｑ１、／Ｑ０を有している。なお、／は反転を示すバーを意味している。
【０５３０】
ラッチ回路ＬＱ２の反転記憶ノード／Ｑ２は、ＮＭＯＳトランジスタＮ５４、Ｎ５６のゲート電極に接続される。ラッチ回路ＬＱ２の記憶ノードＱ２は、ＮＭＯＳトランジスタＮ５７、Ｎ５９のゲート電極に接続される。
【０５３１】
ラッチ回路ＬＱ１の反転記憶ノード／Ｑ１は、ＮＭＯＳトランジスタＮ５３、Ｎ５８のゲート電極に接続される。ラッチ回路ＬＱ１の記憶ノードＱ１はＮＭＯＳトランジスタＮ５５、Ｎ６０のゲート電極に接続される。
【０５３２】
ラッチ回路ＬＱ０の反転記憶ノード／Ｑ０は、ＮＭＯＳトランジスタＮ６１、Ｎ７３のゲート電極に接続される。ＮＭＯＳトランジスタＮ６１と並列に接続されたＮＭＯＳトランジスタＮ６５のゲート電極には、制御信号ＲＤの供給ラインが接続される。
【０５３３】
また、ラッチ回路ＬＱ２の記憶ノードＱ２、ラッチ回路ＬＱ１の記憶ノードＱ１、ラッチ回路ＬＱ０の記憶ノードＱ０の夫々と接地ラインとの間に、ＮＭＯＳトランジスタＮ６２、Ｎ６３、Ｎ６４が夫々接続される。ＮＭＯＳトランジスタＮ６２、Ｎ６３、Ｎ６４のゲート電極がリセット信号ＲＳＴの供給ラインに接続される。
【０５３４】
読み出し／ベリファイ制御回路５３において、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８のゲート電極は、ノードＳＡに接続される。ＮＭＯＳトランジスタＮ６６のドレインがラッチ回路ＬＱ２の反転記憶ノード／Ｑ２に接続される。ＮＭＯＳトランジスタＮ６７のドレインがラッチ回路ＬＱ１の反転記憶ノード／Ｑ１に接続される。ＮＭＯＳトランジスタＮ６８のドレインがラッチ回路ＬＱ０の反転記憶ノード／Ｑ０に接続される。
【０５３５】
ＮＭＯＳトランジスタＮ６６のソースと接地ラインとの間に、ＮＭＯＳトランジスタＮ６９が接続される。ＮＭＯＳトランジスタＮ６７のソースと接地ラインとの間に、ＮＭＯＳトランジスタＮ７０が接続される。ＮＭＯＳトランジスタＮ６８と接地ラインとの間に、ＮＭＯＳトランジスタＮ７１が接続される。
【０５３６】
読み出し／ベリファイ制御回路５３からは、信号φＬＡＴ０、φＬＡＴ１、φＬＡＴ２の供給ラインが導出される。ＮＭＯＳトランジスタＮ６９のゲート電極が信号φＬＡＴ０の供給ラインに接続される。ＮＭＯＳトランジスタＮ７０のゲート電極が信号φＬＡＴ１の供給ラインに接続される。ＮＭＯＳトランジスタＮ７１のゲート電極が信号φＬＡＴ２の供給ラインに接続される。
【０５３７】
ラッチ回路ＬＱ２の記憶ノードＱ２とバスラインＩＯ０との間に、ＮＭＯＳトランジスタＮ８１が接続され、ラッチ回路ＬＱ１の記憶ノードＱ１とバスラインＩＯ１との間にＮＭＯＳトランジスタＮ８２が接続され、ラッチ回路ＬＱ０の記憶ノードＱ０とバスラインＩＯ２との間にＮＭＯＳトランジスタＮ８３が接続される。
【０５３８】
また、カラムゲートとしてのＮＭＯＳトランジスタＮ８１、Ｎ８２、Ｎ８３のゲート電極が信号Ｙ０＿０の供給ラインに接続される。
【０５３９】
３−２．第３の実施の形態の書き込み時の動作
次に、この発明の第３の実施の形態の書き込み動作を説明する。書き込み時の基本的な動作は、前述の第２の実施の形態と同様である。つまり、スタンバイ時には、信号ＰＧＭ＿ＲＶＰＣがローレベルに設定され、ＮＭＯＳトランジスタＮ５２が非導通状態に保持され、ビット線ＢＬ０、ＢＬ１がラッチ回路から切り離されている。
【０５４０】
そして、信号ＤＩＳがハイレベルに設定され、信号ＴＲＮ、ＡｉＢ，ＡｉＮが（Ｖcc−Ｖth）に設定され、ビット線ＢＬ０、ＢＬ１が接地レベルに設定される。
【０５４１】
この状態で書き込みが起動された場合、信号Ｙ０ ０がハイレベルに設定されて、書き込みデータがラッチ回路ＬＱ２、ＬＱ１、ＬＱ０に取り込まれて保持される。
【０５４２】
その後、信号ＤＩＳがローレベルに切り換えられ、ビット線ＢＬ０、ＢＬ１が接地ラインから切り離される。そして、信号ＴＲＮ、ＡｉＢ、ＡｉＮがＶcc以上のハイレベル（例えば読み出し時のパス電圧Ｐ５Ｖ）に設定されるとともに、信号Ｖref がローレベルとされ、ＰＭＯＳトランジスタＰ５１が導通状態に保持される。これにより、全ビット線ＢＬ０、ＢＬ１が電源電圧Ｖccに充電される。
【０５４３】
このとき、ラッチデータに影響がないように、読み出し／ベリファイを制御するための信号φＬＡＴ０〜φＬＡＴ２が接地レベルに設定される。また、メモリセルのドレイン側の選択ゲートのゲート電極に接続された選択信号供給線ＳＳＬが電源電圧Ｖccに設定される。
【０５４４】
書き込み時には、アドレス信号で選択されない方のアドレス例えばＡｉＮが接地レベルとなり、また、信号ＰＧＭ＿ＲＶＰＣがハイレベルに設定される。そして、電圧ＶＢ３が最も高い電圧となり、電圧ＶＢ２が次に高い電圧となり、電圧ＶＢ１が次に高い電圧となり、電圧ＶＢ０は接地レベルになるように設定される。
【０５４５】
書き込みデータが”００ｘ”（ｘは０又は１）の場合には、ラッチ回路ＬＱ２及びＬＱ１の反転ノード／Ｑ２及び／Ｑ１はハイレベルである。このため、ＮＭＯＳトランジスタＮ５３、Ｎ５４が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ０となり、接地レベルに設定される。
【０５４６】
書き込みデータが”０１ｘ”の場合には、ＮＭＯＳトランジスタＮ５５、Ｎ５６が導通状態となり、ビット線ＢＬ０は、電圧ＶＢ１に設定される。
【０５４７】
書き込みデータが”１０ｘ”の場合には、ＮＭＯＳトランジスタＮ５７、Ｎ５８が導通状態となり、ビットＢＬ０は、電圧ＶＢ２に設定される。
【０５４８】
書き込みデータが”１１０”の場合には、ＮＭＯＳトランジスタＮ５９、Ｎ６０、Ｎ６１が導通状態となる。ＮＭＯＳトランジスタＮ５９、Ｎ６０、Ｎ６１が導通状態となると、ビット線ＢＬ０は、電圧ＶＢ３に設定される。
【０５４９】
書き込みデータが”１１１”の場合には、電圧ＶＢ０〜ＶＢ３からの何れのパスもビット線と遮断される。このため、ビット線の電圧は、Ｖccレベルに保持される。
【０５５０】
以上のプロセスにより、選択ビット線ＢＬ０が書き込みデータに応じた電圧に設定された後、ワード線が書き込み電圧に設定され、非選択のワード線が書き込みパス電圧に設定されて、書き込みが行なわれる。
【０５５１】
３−３．第３の実施の形態のベリファイ時の動作
次に、この発明の第３の実施の形態のベリファイ読み出し動作について、図１４のタイミングチャートに関連付けて説明する。
【０５５２】
ベリファイ読み出し時には、ワード線電圧に応じて、電圧源ＶＢ０〜ＶＢ３は、前述の第２の実施例と同様に、図１１Ａに示すように設定される。
【０５５３】
すなわち、ワード線電圧をＶVF7 に設定している間とワード線電圧をＶVF6 に設定している間では、電圧ＶＢ０が電源電圧Ｖccに設定され、他の電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルに設定される。
【０５５４】
ワード線電圧をＶVF5 に設定している間とワード線電圧をＶVF4 に設定している間では、電圧ＶＢ１が電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ２、ＶＢ３は接地レベルに設定される。
【０５５５】
ワード線電圧をＶVF3 に設定している間とワード線電圧をＶVF2 に設定している間では、電圧ＶＢ２が電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ１、ＶＢ３は接地レベルに設定される。
【０５５６】
ワード線電圧をＶVF1 に設定している間では、電圧ＶＢ３が電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ１、ＶＢ２は接地レベルに設定される。
【０５５７】
また、制御信号ＷＶＦＨＦは、ワード線電圧をＶVF7 、ＶVF5 、ＶVF3 、ＶVF１に設定している間ではローレベル、ワード線電圧をＶVF6 、ＶVF4 、ＶVF2 に設定している間では、ハイレベルに設定される（プリチャージ時間を除いて）。
【０５５８】
また、ベリファイ時には、制御信号ＲＤは常時ローレベルに設定される。したがって、ベリファイ動作の間、ＮＭＯＳトランジスタＮ６５は非導通である。
【０５５９】
ベリファイに先立って、一定期間、制御信号ＤＩＳがハイレベル、ＡｉＢ、ＡｉＮがＰ５Ｖに設定され、全ビット線ＢＬ０、ＢＬ１が接地レベルになる。
【０５６０】
それから、制御信号ＤＩＳがローレベルに戻された後、アドレス”Ａｉ”で選択されていない方、例えばＡｉＮが接地レベルとなり、ビット線ＢＬ１がラッチ回路から切り離される。そして、ビット線をクランプするために、制御信号ＴＲＮがＶTRN （ＶTRN ＝Ｖcc−Ｖth）に設定され、制御信号Ｖref にビット線のリークを補償する電流（＜＜１μＡ）を流すための電圧が印加される。
【０５６１】
先ず、選択ワード線電圧をＶVF7 に設定したときについて説明する。ワード線電圧がＶVF7 に設定されている間では、電圧ＶＢ０のみ電源電圧Ｖccに設定され、他の電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccレベルに設定され、ＮＭＯＳトランジスタＮ５２が導通する。
【０５６２】
ここで、ＮＭＯＳトランジスタＮ５３及びＮ５４が導通状態にあれば、電圧ＶＢ０からの電源Ｖccにより、ビット線は（ＶTRN −Ｖth’）に充電されていき、充電後、ＮチャンネルＮＭＯＳトランジスタＨＮ５１はカットオフし、ノードＳＡはＶccに充電される。また、他の電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルなので、ＮＭＯＳトランジスタＮ５３及びＮ５４が非導通状態なら、ビット線は充電されず、接地レベルである。
【０５６３】
このように、ワード線電圧をＶVF7 に設定して、書き込みデータが”０００”のベリファイが行なわれるときには、ＮＭＯＳトランジスタＮ５３及びＮ５４が導通状態のときにのみ、ビット線が充電される。ＮＭＯＳトランジスタＮ５３及びＮ５４が導通状態となるのは、ラッチ回路ＬＱ２の反転ノード／Ｑ２がハイレベル、ラッチ回路ＬＱ１の反転ノード／Ｑ１がハイレベルとなるときだけであり、書き込みデータが”００ｘ”のときである。
【０５６４】
このことから、書き込みデータ”００ｘ”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。
【０５６５】
この状態で、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルとされ、選択ビット線ＢＬ０がビット線電圧発生回路５２から切り離される。
【０５６６】
また、ワード線電圧をＶVF7 に設定して、ベリファイが行なわれるときには、制御信号ＷＶＦＨＦがローレベルに設定される。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ１、φＬＡＴ２が順次ハイレベルに設定される。
【０５６７】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF7 より大きい（Ｖth＞ＶVF7 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８が導通状態に保持される。この場合、書き込みデータ”００ｘ”のときにのみベリファイの対象とされているため、
▲１▼書き込みデータが”０００”でメモリセルのしきい値電圧Ｖthがワード線電圧ＶVF7 を越えている（Ｖth＞ＶVF7 ）場合
▲２▼書き込みデータが”００１”でメモリセルのしきい値電圧Ｖthがワード線電圧ＶVF7 を越えている（Ｖth＞ＶVF7 ）場合
が考えられる。
【０５６８】
しかしながら、書き込みデータが”００１”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 を越えていれば、ワード線電圧ＶVF6 としたときのベリファイで（Ｖth＞ＶVF6 ）となり、書き込み十分と判断され、ラッチ回路は”１１１”になるため、以後、書き込みはなされなくなり、通常ではあり得ない。
【０５６９】
▲１▼の場合についてのベリファイ動作について説明する。信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ６９が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ６６が導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０５７０】
信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ７０が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ７０が導通状態で、ＮＭＯＳトランジスタＮ６７は導通状態であるから、ラッチ回路ＬＱ１の反転ノード／Ｑ１がローレベルになり、ラッチ回路ＬＱ１のノードＱ１がハイレベルに反転する。
【０５７１】
信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタＮ７１が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ６８は導通状態であるから、ラッチ回路ＬＱ０の反転ノード／Ｑ０がローレベルになり、ラッチ回路ＬＱ０のノードＱ０がハイレベルに反転する。
【０５７２】
以上により、ワード線電圧をＶVF7 に設定したときには、書き込みデータが”０００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF7 より大きい（Ｖth＞ＶVF7 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線ＢＬ０は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０５７３】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ５１がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶTRN −Ｖth’）となり、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８は完全に導通することはできない。
【０５７４】
この場合、
▲３▼書き込みデータが”０００”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合
▲４▼書き込みデータが”００１”でメモリセルのしきい値Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合
が考えられる。
【０５７５】
これらの場合には、信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ６９が導通状態になるが、ＮＭＯＳトランジスタＮ６６が完全に導通しないため、ラッチ回路ＬＱ２を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０５７６】
信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ７０は導通状態になるが、ＮＭＯＳトランジスタＮ６７が完全に導通しないため、ラッチ回路ＬＱ１を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ１のノードの反転は起こらない。
【０５７７】
信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタＮ７１が導通状態になるが、ＮＭＯＳトランジスタＮ６８は完全に導通しないため、ラッチ回路ＬＱ０を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ０のノードの反転は起こらない。
【０５７８】
以上により、ワード線電圧をＶVF7 に設定したときには、書き込みデータが”０００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF7 より小さい（Ｖth＜ＶVF7 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”０００”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０５７９】
次に、選択ワード線電圧をＶVF6 に設定したときについて説明する。ワード線電圧がＶVF6 に設定されている間では、”０００”のベリファイと同様に、電圧ＶＢ０のみ電源電圧Ｖccに設定され、他の電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccレベルに設定され、ＮＭＯＳトランジスタＮ５２が導通する。
【０５８０】
このとき、前述と同様に、書き込みデータが”００ｘ”のメモリセルのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルとなり、ベリファイの対象外となる。
【０５８１】
また、ワード線電圧がＶVF6 のときには、制御信号ＷＶＦＨＦがハイレベルに設定され、ＮＭＯＳトランジスタＮ７２が導通する。
【０５８２】
このとき、書き込みデータが”０００”のメモリセルについては、ラッチ回路ＬＱ０の反転ノード／Ｑ０はハイレベルとなり、ＮＭＯＳトランジスタＮ７３が導通する。このため、ノードＳＡはＮＭＯＳトランジスタＮ７２、Ｎ７３を介して接地レベルとなる。したがって、書き込みデータが”０００”のメモリセルは、ベリファイの対象外となる。
【０５８３】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ１が順次ハイレベルに設定される。
【０５８４】
ここで、メモリセルのしきい値電圧Ｖthがワード線電圧をＶVF6 より大きい（Ｖth＞ＶVF6 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８が導通状態に保持される。この場合、書き込みデータ”００１”のときのみベリファイの対象とされている。
【０５８５】
信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ６９が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ６６は導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０５８６】
信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ７０が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ６７は導通状態であるから、ラッチ回路ＬＱ１の反転ノード／Ｑ１がローレベルになり、ラッチ回路ＬＱ１のノードＱ１がハイレベルに反転する。
【０５８７】
以上により、ワード線電圧をＶVF6 に設定したとき、書き込みデータが”００１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF6 より大きい（Ｖth＞ＶVF6 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線ＢＬ０は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０５８８】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧をＶVF6 より小さい場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ５１がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。ノードＳＡの電位が（ＶTRN −Ｖth’）では、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８は完全に導通することはできない。
【０５８９】
信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ６９が導通状態になるが、ＮＭＯＳトランジスタＮ６６が完全に導通しないため、ラッチ回路ＬＱ２を反転させるのに十分な電流を流すことができず、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０５９０】
信号φＬＡＴ１がハイレベルの期間では、ＮＭＯＳトランジスタＮ７０は導通状態になるが、ＮＭＯＳトランジスタＮ６７は完全に導通しないため、ラッチ回路ＬＱ１を反転させるのに十分な電流を流すことができず、ラッチ回路ＬＱ１のノードの反転は起こらない。
【０５９１】
以上により、ワード線電圧をＶVF6 に設定したときには、書き込みデータが”００１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF6 より小さい（Ｖth＜ＶVF6 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”００１”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０５９２】
次に、選択ワード線電圧をＶVF5 に設定したときについて説明する。選択ワード線電圧がＶVF5 に設定されている間では、電圧ＶＢ１のみ電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ２、ＶＢ３は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccレベルに設定され、ＮＭＯＳトランジスタＮ５２が導通する。
【０５９３】
ここで、ＮＭＯＳトランジスタＮ５５及びＮ５６が導通状態にあれば、電圧ＶＢ１からの電源Ｖccにより、ビット線は（ＶTRN −Ｖth’）に充電されていき、充電後、ＮＭＯＳトランジスタＨＮ５１はカットオフし、ノードＳＡはＶccに充電される。また、他の電圧ＶＢ０、ＶＢ２、ＶＢ３は接地レベルなので、ＮＭＯＳトランジスタＮ５５及びＮ５６が非導通状態なら、ビット線は充電されず、接地レベルである。
【０５９４】
このように、ワード線電圧をＶVF5 に設定して、書き込みデータが”０１０”のベリファイが行なわれるときには、ＮＭＯＳトランジスタＮ５５及びＮ５６が導通状態のときにのみ、ビット線が充電される。
【０５９５】
ＮＭＯＳトランジスタＮ５５及びＮ５６が導通状態となるのは、ラッチ回路ＬＱ２の反転ノード／Ｑ２がハイレベル、ラッチ回路ＬＱ１のノードＱ１がハイレベルとなるときだけであり、書き込みデータが”０１ｘ”のときである。
【０５９６】
このことから、ワード線電圧をＶVF5 に設定して、ベリファイが行なうときには、書き込みデータ”０１ｘ”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。
【０５９７】
この状態で、ワード線電圧をＶVF5 に設定して、ベリファイ読み出しが行なわれる。ここで、メモリセルのしきい値電圧Ｖthがワード線電圧をＶVF5 より大きい（Ｖth＞ＶVF5 ）の場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８が導通状態に保持される。
【０５９８】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF5 より小さい（Ｖth＜ＶVF5 ）の場合には、リーク補償電流より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ５１がオンして、電荷の再配分が起こり、ノードＳＡの電位はビット線電圧と略等しい（ＶTRN −Ｖth’）となり、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８は完全に導通することはできない。
【０５９９】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ２が順次ハイレベルに設定される。
【０６００】
書き込みデータが”０１０”でメモリセルのしきい値電圧Ｖthがワード線電圧ＶVF5 より大きい（Ｖth＞ＶVF5 ）場合には、信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ６９が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ６６が導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０６０１】
信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタＮ７１が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ６８は導通状態であるから、ラッチ回路ＬＱ０の反転ノード／Ｑ０がローレベルになり、ラッチ回路ＬＱ０のノードＱ０がハイレベルに反転する。
【０６０２】
以上により、ワード線電圧をＶVF5 に設定したときには、書き込みデータが”０１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF5 より大きい（Ｖth＞ＶVF5 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０６０３】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF5 より小さい（Ｖth＜ＶVF5 ）場合には、信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ６９が導通状態になるが、ＮＭＯＳトランジスタＮ６６が完全に導通しないため、ラッチ回路ＬＱ２を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０６０４】
信号φＬＡＴ２がハイレベルの期間では、ＮＭＯＳトランジスタＮ７１が導通状態になるが、ＮＭＯＳトランジスタＮ６８は完全に導通しないため、ラッチ回路ＬＱ０を反転させるのに十分な電流が流せない。このため、ラッチ回路ＬＱ０のノードの反転は起こらない。
【０６０５】
以上により、ワード線電圧をＶVF5 に設定したときには、書き込みデータが”０１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF5 より小さい（Ｖth＜ＶVF5 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”０１０”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０６０６】
次に、ワード線電圧をＶVF4 に設定したときについて説明する。ワード線電圧がＶVF4 に設定されている間では、”０１０”のベリファイと同様に、電圧ＶＢ１のみ電源電圧Ｖccに設定され、他の電圧ＶＢ０、ＶＢ２、ＶＢ３は接地レベルに設定されている。そして、一定期間、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccレベルに設定される。
【０６０７】
このとき、書き込みデータ”０１ｘ”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。そして制御信号ＰＧＭ＿ＲＶＰＣをローレベルに立ち下げた後、制御信号ＷＶＦＨＦをハイレベルに設定する。
【０６０８】
このとき、書き込みデータが”０１０”のメモリセルについては、ラッチ回路ＬＱ０の反転ノード／Ｑ０はハイレベルとなり、ＮＭＯＳトランジスタＮ７３が導通する。また、この時には、制御信号ＷＶＦＨＦがハイレベルに設定されているため、ＮＭＯＳトランジスタＮ７２が導通している。このため、ビット線およびノードＳＡはＮＭＯＳトランジスタＮ７２、Ｎ７３を介して接地レベルとなる。したがって、書き込みデータが”０１０”のメモリセルは、ベリファイの対象外となり、書き込みデータが”０１１”のメモリセルのみがベリファイの対象となる。
【０６０９】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０がハイレベルに設定される。
【０６１０】
ここで、書き込みデータが”０１１”でメモリセルのしきい値電圧Ｖthがワード線電圧ＶVF4 より大きい（Ｖth＞ＶVF4 ）場合には、セルに電流が流れないことにより、ビット線電圧は変化せず、ノードＳＡは電源電圧Ｖccに保持され、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８が導通状態に保持される。
【０６１１】
そして、信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ６９が導通状態に切り換わる。このとき、ＮＭＯＳトランジスタＮ６６が導通状態であるから、ラッチ回路ＬＱ２の反転ノード／Ｑ２がローレベルになり、ラッチ回路ＬＱ２のノードＱ２がハイレベルに反転する。
【０６１２】
以上により、ワード線電圧をＶVF4 に設定したときには、書き込みデータが”０１１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF4 より大きい（Ｖth＞ＶVF4 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。
【０６１３】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶVF4 より小さい（Ｖth＜ＶVF4 ）場合には、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８は完全に導通することはできない。
【０６１４】
したがって、信号φＬＡＴ０がハイレベルの期間では、ＮＭＯＳトランジスタＮ６９が導通状態になるが、ＮＭＯＳトランジスタＮ６６が完全に導通しないため、ラッチ回路ＬＱ２を反転させるのに十分な電流が流せないため、ラッチ回路ＬＱ２のノードの反転は起こらない。
【０６１５】
以上により、書き込みデータが”０１１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF4 より小さい（Ｖth＜ＶVF4 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”０１１”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０６１６】
以下、ワード線電圧をＶVF3 、ＶVF2 、ＶVF1 に設定したときには、同様の動作でベリファイが行なわれる。
【０６１７】
すなわち、ワード線電圧をＶVF3 に設定しているときには、書き込みデータ”１０ｘ”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ２が順次ハイレベルに設定される。書き込みデータが”１００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF3 より大きい（Ｖth＞ＶVF3 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。書き込みデータが”１００”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF3 より小さい（Ｖth＜ＶVF3 ）場合、ラッチ回路ＬＱ２、Ｑ１、Ｑ０のラッチデータは”１００”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０６１８】
ワード線電圧がＶVF2 に設定されている間では、書き込みデータ”１０ｘ”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。ビット線充電終了後、制御信号ＷＶＦＨＦをハイレベルに設定すると、書き込みデータが”１００”のセルのビット線はＧＮＤレベルに放電されてベリファイの対象外となる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１がハイレベルに設定される。書き込みデータが”１０１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF2 より大きい（Ｖth＞ＶVF2 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線ＢＬ０は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。書き込みデータが”１０１”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF2 より小さい（Ｖth＜ＶVF2 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１０１”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０６１９】
ワード線電圧がＶVF1 に設定されている間では、書き込みデータ”１１０”のときにのみ、ビット線が充電され、他の書き込みデータのときには、ビット線は接地レベルになり、ベリファイの対象外となる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ２がハイレベルに設定される。書き込みデータが”１１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF1 より大きい（Ｖth＞ＶVF1 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１１”に反転し、以後、再書き込みではビット線ＢＬ０は電源電圧Ｖcc、チャンネルは非書き込み電位にブーストされて書き込みされない。書き込みデータが”１１０”のメモリセルで、そのしきい値電圧Ｖthがワード線電圧ＶVF1 より小さい（Ｖth＜ＶVF1 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータは”１１０”のまま変化せず、再書き込み時に、ビット線電圧が書き込み電位に設定されて書き込みが行なわれる。
【０６２０】
３−４．第３の実施の形態の読み出し時の動作
次に、この発明の第３の実施の形態の読み出し動作について図１５を参照して説明する。読み出し時の基本的な動作は、前述の第２の実施例と同様である。つまり、スタンバイ時には、制御信号ＴＲＮ、ＡｉＢ、ＡｉＮは（Ｖcc−Ｖth）のレベルにあり、制御信号ＤＩＳはハイレベルに設定される。このとき、ＮＭＯＳトランジスタＮ５１が導通状態となり、全ビット線は接地レベルとなる。
【０６２１】
この状態で読み出し動作が起動されると、制御信号ＤＩＳがローレベルになり、ビット線は接地ラインから切り離される。そして、選択ビット線が例えば偶数ビット線の場合、ＡｉＢがＰ５Ｖレベル、ＡｉＮが接地レベルに設定され、奇数ビット線はラッチから切り離され、制御信号ＴＲＮは（Ｖcc−Ｖth（＝ＶTRN ））に保持される。これと同時に、制御信号ＲＳＴにハイレベルが設定され、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のノードＱ２、Ｑ１、Ｑ０が全て「０」にリセットされる。
【０６２２】
読み出し動作は、ワード線をＶRD7 、ＶRD6 、ＶRD5 、ＶRD4 、ＶRD3 、ＶRD2 、ＶRD1 に順次下げて行なわれる。読み出し時には、図１１Ｂに示すように、電圧ＶＢ０はＶccレベル、電圧ＶＢ１、電圧ＶＢ２、電圧ＶＢ３は接地レベルに常に設定される。そして、この期間中、制御信号Ｖref にビット線のリークを補償する電流を流すための電圧が印加されている。
【０６２３】
また、読み出し制御信号ＲＤは常にハイレベルに設定され、ＮＭＯＳトランジスタＮ６５は、読み出しの間、常に、導通状態にある。また、読み出し時には、信号ＷＶＦＨＦは常にローレベルのため、トランジスタＮ７２は常にオフしている。
【０６２４】
先ず、選択ワード線電圧がＶRD7 に設定され、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定され、ＮＭＯＳトランジスタＮ５２が導通状態に設定される。
【０６２５】
ここで、ＮＭＯＳトランジスタＮ５４、Ｎ５３が導通状態にあれば、電圧ＶＢ０からの電流がＮＭＯＳトランジスタＮ５４、Ｎ５３、Ｎ５２を介して流れ、ビット線が充電される。読み出しの開始時には、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０が全て「０」にリセットされているため、ラッチ回路ＬＱ２の反転ノード／Ｑ２は「１」、ラッチ回路ＬＱ１の反転ノード／Ｑ１は「１」である。したがって、この時、ＮＭＯＳトランジスタＮ５４、Ｎ５３が導通状態である。
【０６２６】
したがって、電圧ＶＢ０からの電流がＮＭＯＳトランジスタＮ５４、Ｎ５３、Ｎ５２を介して流れ、全ての偶数ビット線は（ＶTRN −Ｖth）に充電され、ＮＭＯＳトランジスタＨＮ５１がカットオフすることにより、全てのノードＳＡはＶccに充電される。その後、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻される。
【０６２７】
ワード線電圧がＶRD7 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD7 より大きい（Ｖth＞ＶRD7 ）の場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８が導通状態となる。
【０６２８】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ１、φＬＡＴ２が順次ハイレベルに設定される。
【０６２９】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ６９が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ６６は導通している。したがって、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０６３０】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ７０が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ６７は導通している。したがって、ラッチ回路ＬＱ１の反転ノード／Ｑ１が「０」になり、ラッチ回路ＬＱ１のノードＱ１が「１」に反転する。
【０６３１】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタＮ７１が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ６８は導通している。したがって、ラッチ回路ＬＱ０の反転ノード／Ｑ０が「０」になり、ラッチ回路ＬＱ０のノードＱ０が「１」に反転する。
【０６３２】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD7 より大きい（Ｖth＞ＶRD7 ）場合、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１１”に反転する。なお、読み出しデータは反転しており、ラッチデータが”１１１”のときの読み出しデータは、”０００”である。
【０６３３】
一方、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD7 以下（Ｖth＜ＶRD7 ）であれば、リーク補償電圧より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ５１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth）となる。このため、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８は完全に導通しない。
【０６３４】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ１、φＬＡＴ２が順次ハイレベルに設定される。
【０６３５】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ６９が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ６６は完全に導通していないため、ラッチ回路ＬＱ２を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ２のノードの反転は生じない。
【０６３６】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ７０が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ６７は完全に導通していないため、ラッチ回路ＬＱ１を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ１のノードの反転は生じない。
【０６３７】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタＮ７１が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ６８は完全に導通していないため、ラッチ回路ＬＱ０を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ０のノードの反転は生じない。
【０６３８】
次に、選択ワード線電圧がＶRD6 に設定され、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定され、ＮＭＯＳトランジスタＮ５２が導通状態に設定される。
【０６３９】
前回に選択ワード線電圧がＶRD7 に設定して読み出しを行なったときにラッチ回路ＬＱ１及びＬＱ２のノードの反転が起こっていないセルにつながるビット線は、電圧ＶＢ０からの電流がＮＭＯＳトランジスタＮ５４、Ｎ５３、Ｎ５２を介して流れ、（ＶTRN −Ｖth’）に充電され、ＮＭＯＳトランジスタＨＮ５１がカットオフすることにより、そのノードＳＡはＶccに充電される。
【０６４０】
前回に選択ワード線電圧がＶRD7 に設定して読み出しを行なったときにラッチ回路ＬＱ１及びＬＱ２のノードの反転が起こっていれば、ＮＭＯＳトランジスタＮ５４、Ｎ５３が非導通状態となる。この場合には、読み出し動作の対象外となる。その後、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻される。
【０６４１】
ワード線電圧がＶRD6 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD6 より大きい（Ｖth＞ＶRD6 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８が導通状態となる。
【０６４２】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ１が順次ハイレベルに設定される。
【０６４３】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ６９が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ６６は導通しているため、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０６４４】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ７０が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ６７は導通しているため、ラッチ回路ＬＱ１の反転ノード／Ｑ１が「０」になり、ラッチ回路ＬＱ１のノードＱ１が「１」に反転する。
【０６４５】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD6 より大きい（Ｖth＞ＶRD6 ）場合、前回迄にラッチの反転が生じていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１１０”に反転する。前回迄にラッチの反転が生じていれば、そのデータが保持される。なお、読み出しデータは反転しており、ラッチデータが”１１０”のときの読み出しデータは、”００１”である。
【０６４６】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD6 より小さい（Ｖth＜ＶRD6 ）場合には、リーク補償電圧より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ５１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth）となる。このため、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８は完全に導通しない。
【０６４７】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ１が順次ハイレベルに設定される。
【０６４８】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ６９が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ６６は完全に導通していないため、ラッチ回路ＬＱ２を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ２のノードの反転は生じない。
【０６４９】
信号φＬＡＴ１がハイレベルに設定されると、ＮＭＯＳトランジスタＮ７０が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ６７は完全に導通していないため、ラッチ回路ＬＱ１を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ１のノードの反転は生じない。
【０６５０】
次に、選択ワード線電圧がＶRD5 に設定され、制御信号ＰＧＭ＿ＲＶＰＣが電源電圧Ｖccに設定され、ＮＭＯＳトランジスタＮ５２が導通状態に設定される。
【０６５１】
ここで、前回までにノードの反転が起こっていなければ、ＮＭＯＳトランジスタＮ５４、Ｎ５３が導通状態となるため、電圧ＶＢ０によりビット線が充電される。この時、読み出し対象の偶数ビット線は（ＶTRN −Ｖth’）に充電され、ＮＭＯＳトランジスタＨＮ５１がカットオフすることにより、読み出し対象のノードＳＡはＶccに充電される。
【０６５２】
前回までの読み出しで、ラッチ回路ＬＱ１及びＬＱ２のノードの反転が起こっていれば、ＮＭＯＳトランジスタＮ５４、Ｎ５３が非導通状態となる。この場合には、読み出し動作の対象外となる。
【０６５３】
その後、制御信号ＰＧＭ＿ＲＶＰＣが接地レベルに戻される。
【０６５４】
ワード線電圧がＶRD5 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD5 より大きい（Ｖth＞ＶRD5 ）の場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８が導通状態となる。
【０６５５】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ２が順次ハイレベルに設定される。
【０６５６】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ６９が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ６６は導通しているため、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０６５７】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタＮ７１が導通状態に設定される。そして、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD5 より大きい場合、ＮＭＯＳトランジスタＮ６８は導通している。したがって、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD5 より大きい場合、信号φＬＡＴ２がハイレベルに設定されると、ラッチ回路ＬＱ０の反転ノード／Ｑ０が「０」になり、ラッチ回路ＬＱ０のノードＱ０が「１」に反転する。
【０６５８】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD5 より大きい（Ｖth＞ＶRD5 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１０１”に反転する。前回迄にラッチの反転が生じていれば、そのデータが保持される。なお、読み出しデータは反転しており、ラッチデータが”１０１”のときの読み出しデータは、”０１０”である。
【０６５９】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD5 以下（Ｖth＜ＶRD5 ）であれば、リーク補償電圧より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ５１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。このため、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８は完全に導通しない。
【０６６０】
そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０、φＬＡＴ２が順次ハイレベルに設定される。
【０６６１】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ６９が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ６６は完全に導通していないため、ラッチ回路ＬＱ２を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ２のノードの反転は生じない。
【０６６２】
信号φＬＡＴ２がハイレベルに設定されると、ＮＭＯＳトランジスタＮ７１が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ６８は完全に導通していないため、ラッチ回路ＬＱ０を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ０のノードの反転は生じない。
【０６６３】
次に、選択ワード線電圧がＶRD4 に設定されて、読み出しが行なわれる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ０がハイレベルに設定される。
【０６６４】
ワード線電圧がＶRD4 での読み出しの結果、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD4 より大きい（Ｖth＞ＶRD4 ）場合、セル電流が流れないことにより、ノードＳＡは電源電圧Ｖccに保持される。このとき、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８が導通状態となる。
【０６６５】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ６９が導通状態に設定される。そして、ＮＭＯＳトランジスタＮ６６は導通しているため、ラッチ回路ＬＱ２の反転ノード／Ｑ２が「０」になり、ラッチ回路ＬＱ２のノードＱ２が「１」に反転する。
【０６６６】
以上により、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD4 より大きい（Ｖth＞ＶRD4 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”１００”に反転する。前回迄にラッチの反転が生じていなければ、そのデータが保持される。なお、読み出しデータは反転しており、ラッチデータが”１００”のときの読み出しデータは、”０１１”である。
【０６６７】
メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD4 より小さい（Ｖth＜ＶRD4 ）場合には、リーク補償電圧より大きいセル電流が流れてビット線電圧は降下し、ＮＭＯＳトランジスタＨＮ５１が導通状態となり、電荷の再配分が起こり、ノードＳＡの電圧はビット線電圧と略等しい（ＶTRN −Ｖth’）となる。このため、ＮＭＯＳトランジスタＮ６６、Ｎ６７、Ｎ６８は完全に導通しない。
【０６６８】
信号φＬＡＴ０がハイレベルに設定されると、ＮＭＯＳトランジスタＮ６９が導通状態に設定される。しかし、ＮＭＯＳトランジスタＮ６６は完全に導通していないため、ラッチ回路ＬＱ２を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ２のノードの反転は生じない。
【０６６９】
以下、同様にして、読み出しが行なわれる。すなわち、選択ワード線電圧がＶRD3 に設定されて、読み出しが行なわれる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１、φＬＡＴ２が順次ハイレベルに設定される。
【０６７０】
これにより、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 より大きい（Ｖth＞ＶRD3 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”０１１”に反転する。なお、読み出しデータは反転しており、ラッチデータが”０１１”のときの読み出しデータは、”１００”である。メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD3 より小さい場合、信号φＬＡＴ１、φＬＡＴ２がハイレベルに設定されても、ラッチ回路ＬＱ１、ＬＱ０を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ１、ＬＱ０のノードの反転は生じない。
【０６７１】
次に、選択ワード線電圧がＶRD2 に設定されて、読み出しが行なわれる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ１がハイレベルに設定される。これにより、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD2 より大きい（Ｖth＞ＶRD2 ）場合、前回迄にラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”０１０”に反転する。なお、読み出しデータは反転しており、ラッチデータが”０１０”のときの読み出しデータは、”１０１”である。メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD2 より小さい場合、信号φＬＡＴ１がハイレベルに設定されても、ラッチ回路ＬＱ１を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ１のノードの反転は生じない。
【０６７２】
次に、選択ワード線電圧がＶRD1 に設定されて、読み出しが行なわれる。そして、一定時間経過後、パルス状の信号である信号φＬＡＴ２がハイレベルに設定される。
【０６７３】
これにより、メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD1 より大きい（Ｖth＞ＶRD1 ）場合、前回迄にラッチの反転が生じていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のラッチデータが”００１”に反転する。なお、読み出しデータは反転しており、ラッチデータが”００１”のときの読み出しデータは、”１１０”である。メモリセルのしきい値電圧Ｖthがワード線電圧ＶRD1 より小さい場合、信号φＬＡＴ２がハイレベルに設定されても、ラッチ回路ＬＱ０を反転させるための十分な電流を流すことはできず、ラッチ回路ＬＱ０のノードの反転は生じない。
【０６７４】
選択ワード線電圧をＶRD7 〜ＶRD1 に設定して、何れも、ラッチの反転が起きていなければ、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０のデータは、”０００”になる。ラッチデータが”０００”のときの読み出しデータは”１１１”である。
【０６７５】
上述のように、この実施の形態では、読み出し時には、前回までの読み出しでラッチ回路のデータの反転が生じている場合には、読み出しの対象外とし、前回までの読み出しでラッチ回路のデータの反転が生じていない場合のみ、読み出しを行なっている。このような構成により、回路規模の縮小が図られている。
【０６７６】
４．変形例
上述の第１の実施の形態では、メモリセルに４値のデータを記録し、また、第２の実施の形態及び第３の実施の形態では、メモリセルに８値のデータを記録するようにしているが、これに限られるものではない。例えば、メモリセルに１６値のデータを記録するようにしても良い。
【０６７７】
また、上述の第１、第２および第３の実施の形態では、ベリファイ動作時に、ワード線電圧をしきい値電圧の分布状態に応じて複数の段階に切り換え、ラッチされているデータに応じてビット線をプリチャージする／しないを制御している。
【０６７８】
すなわち、第１の実施の形態においては、ワード線電圧をＶVF3 に設定するときには、電圧ＶＢ０にのみＶccの電圧が与えられ、電圧ＶＢ１、ＶＢ２は接地レベルである。したがって、ラッチ回路にラッチされている書き込みデータが”００”のときのみ、ＮＭＯＳトランジスタｎ３、ｎ４が導通状態となり、ビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。
【０６７９】
同様に、ワード線電圧をＶVF2 に設定するときには、電圧ＶＢ１にのみＶccの電圧が与えられ、電圧ＶＢ０、ＶＢ２は接地レベルであり、ラッチ回路にラッチされている書き込みデータが”０１”のときのみビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。ワード線電圧をＶVF1 に設定するときには、電圧ＶＢ２にのみＶccの電圧が与えられ、電圧ＶＢ０、ＶＢ１は接地レベルであり、ラッチ回路にラッチされている書き込みデータが”１０”のときのみビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。
【０６８０】
また、第２の実施の形態および第３の実施の形態においては、ワード線電圧をＶVF7 及びＶVF6 に設定するときには、電圧ＶＢ０にのみＶccの電圧が与えられ、電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルである。したがって、ラッチ回路にラッチされている書き込みデータが”００ｘ”のときのみ、ＮＭＯＳトランジスタＮ３、Ｎ４が導通状態となり、ビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。
【０６８１】
同様に、ワード線電圧をＶVF5 及びＶVF4 に設定するときには、電圧ＶＢ１にのみＶccの電圧が与えられ、電圧ＶＢ０、ＶＢ２、ＶＢ３は接地レベルであり、ラッチ回路にラッチされている書き込みデータが”０１ｘ”のときのみビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。ワード線電圧をＶVF3 及びＶVF2 に設定するときには、電圧ＶＢ２にのみＶccの電圧が与えられ、電圧ＶＢ０、ＶＢ１、ＶＢ３は接地レベルであり、ラッチ回路にラッチされている書き込みデータが”１０ｘ”のときのみビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。ワード線電圧をＶVF1 に設定するときには、電圧ＶＢ３にのみＶccの電圧が与えられ、電圧ＶＢ０、ＶＢ１、ＶＢ２は接地レベルであり、ラッチ回路にラッチされている書き込みデータが”１１０”のときのみビット線をプリチャージし、その他のデータのときには、ビット線をプリチャージしない。
【０６８２】
このようにしてベリファイを行なう際、第３の実施の形態では、最下位ビットについては、最下位ビットのノードの状態をＮＭＯＳトランジスタＮ１９及びＮ２３のゲートに与え、その反転ノードの状態をＮＭＯＳトランジスタゲートＮ１２、Ｎ２５に与えて、最下位ビットのラッチ回路の状態に応じて、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０の設定／不設定に制御する構成としている。
【０６８３】
更に、第３の実施の形態では、このようにしてベリファイを行なう際、ラッチ回路ＬＱ０にラッチされる最下位ビットについては、ＮＭＯＳトランジスタＮ７２、Ｎ７３により、最下位ビットの状態に応じて、ビット線のディスチャージするように制御する。
【０６８４】
このように、最下位ビットのラッチ回路の状態に応じてラッチ回路ＬＱ２、ＬＱ１、の設定／不設定に制御したり、ビット線のディスチャージを禁止するように制御したりせず、ラッチデータの全てのビットを判別して、ビット線のプリチャージをする／しないを制御するようにしても良い。
【０６８５】
また、読み出し時に、それまでにラッチ回路のノード反転がないときにのみ、ビット線をプリチャージするように制御し、前回までにラッチ回路のノードの反転があると、ビット線にプリチャージ電流が流れないようにしている。すなわち、第１の実施の形態における読み出し時には、電圧ＶＢ０のみＶccとし、電圧ＶＢ１、ＶＢ２は接地レベルとする。それまでの読み出しでラッチ回路の反転が起きていないときのみ、ＮＭＯＳトランジスタｎ４、ｎ３が導通し、電圧ＶＢ０によりビット線がプリチャージされてデータの読み出しが行なわれ、ラッチ回路に読み出しデータが設定される。それまでの読み出しでラッチ回路の反転が起きていると、ビット線のプリチャージが行なわれなくなり、それまでのデータが保持される。また、第２および第３の実施の形態における読み出し時には、電圧ＶＢ０のみＶccとし、電圧ＶＢ１、ＶＢ２、ＶＢ３は接地レベルとする。それまでの読み出しでラッチ回路の反転が起きていないときのみ、ＮＭＯＳトランジスタＮ４、Ｎ３が導通し、電圧ＶＢ０によりビット線がプリチャージされてデータの読み出しが行なわれ、ラッチ回路に読み出しデータが設定される。それまでの読み出しでラッチ回路の反転が起きていると、ビット線のプリチャージが行なわれなくなり、それまでのデータが保持される。
【０６８６】
上述の第２の実施の形態及び第３の実施の形態では、ラッチ回路ＬＱ２、ＬＱ１のデータから、ラッチ回路の反転が起きているかどうかを判断するようにしているが、ラッチ回路ＬＱ２、ＬＱ１、ＬＱ０の全てのデータから、ラッチ回路の反転が起きているかどうかを判断するようにしても良い。
【０６８７】
【発明の効果】
この発明によれば、ベリファイ動作時に、ワード線電圧をしきい値電圧の分布状態に応じて複数の段階に設定し、ラッチ回路にラッチされているデータに応じてビット線をプリチャージする／しないように制御し、メモリセルに電流が流れるかどうかによりメモリセルのしきい値がワード線に印加された電圧を越えているかどうかを検出し、検出出力に応じてラッチ回路を確定して、ベリファイ時にデータが十分に書き込まれるとラッチ回路に所定のデータが設定されるようにしている。これにより、回路規模の縮小が図れる。
【０６８８】
この発明によれば、ベリファイ制御手段を、最下位ビットを除いてラッチ回路に所定のデータがラッチされているときにのみ、ビット線にプリチャージ電流を流すように制御する手段と、最下位ビットの状態に応じて、ラッチ回路の状態を設定不能とするように制御する手段とを含むように構成することにより、回路規模の縮小が図れる。
【０６８９】
この発明によれば、ベリファイ制御手段は、最下位ビットを除いてラッチ回路に所定のデータがラッチされているときにのみ、ビット線にプリチャージ電流を流すように制御する手段と、最下位ビットの状態に応じて、ビット線のディスチャージするように制御する手段とを含むようにすることにより、更に、回路規模の縮小が図れる。
【０６９０】
この発明によれば、読み出し時に、ワード線電圧をしきい値電圧の分布状態に応じて複数の段階に切り換え、前回までにラッチ回路のノードの反転が生じていないときにのみ、ビット線をプリチャージし、メモリセルに電流が流れるかどうかによりメモリセルのしきい値がワード線に印加された電圧を越えているかどうかを検出し、検出出力に応じてラッチ回路を確定して、読み出し時にラッチ回路に格納された読み出しデータが設定されるようにしている。これにより、回路規模の削減が図れる。
【図面の簡単な説明】
【図１】この発明の第１の実施形態を示す回路図である。
【図２】この発明の第１の実施形態の動作説明に用いる略線図である。
【図３】この発明の第１の実施形態における書き込み時の説明に用いるタイミング図である。
【図４】この発明の第１の実施形態におけるベリファイ時の説明に用いるタイミング図である。
【図５】この発明の第１の実施形態における読み出し時の説明に用いるタイミング図である。
【図６】この発明の第２の実施形態を示す回路図である。
【図７】メモリアレイの説明に用いる回路図である。
【図８】８値の書き込みレベルの説明に用いる略線図である。
【図９】この発明の第２の実施形態における書き込み時の説明に用いるタイミング図である。
【図１０】この発明の第２の実施形態におけるベリファイ時の説明に用いるタイミング図である。
【図１１】電圧供給端子に与える電圧の説明に用いる略線図である。
【図１２】この発明の第２の実施形態における読み出し時の説明に用いるタイミング図である。
【図１３】この発明の第３の実施形態を示す回路図である。
【図１４】この発明の第３の実施形態におけるベリファイ時の説明に用いるタイミング図である。
【図１５】この発明の第３の実施形態における読み出し時の説明に用いるタイミング図である。
【図１６】従来の４値記録の不揮発性半導体記憶装置の一例の回路図である。
【図１７】従来の４値記録の不揮発性半導体記憶装置におけるベリファイ時の説明に用いるタイミング図である。
【図１８】従来の４値記録の不揮発性半導体記憶装置における読み出し時の説明に用いるタイミング図である。
【図１９】従来の８値記録の不揮発性半導体記憶装置の一例の回路図である。
【図２０】従来の８値記録の不揮発性半導体記憶装置のベリファイの説明に用いるタイミング図である。
【図２１】従来の８値記録の不揮発性半導体記憶装置の読み出しの説明に用いるタイミング図である。
【符号の説明】
１１，２１，５１・・・メモリアレイ，１２，，２２，５２・・・ビット線電圧発生回路，１３，２３，５３・・・読み出し／ベリファイ制御回路，ＬＱ０，ＬＱ１，ＬＱ２・・・ラッチ回路
【図１】
0004306042.tif 000002
【図２】
0004306042.tif 000003
【図３】
0004306042.tif 000004
【図４】
0004306042.tif 000005
【図５】
0004306042.tif 000006
【図６】
0004306042.tif 000007
【図７】
0004306042.tif 000008
【図８】
0004306042.tif 000009
【図９】
0004306042.tif 000010
【図１０】
0004306042.tif 000011
【図１１】
0004306042.tif 000012
【図１２】
0004306042.tif 000013
【図１３】
0004306042.tif 000014
【図１４】
0004306042.tif 000015
【図１５】
0004306042.tif 000016
【図１６】
0004306042.tif 000017
【図１７】
0004306042.tif 000018
【図１８】
0004306042.tif 000019
【図１９】
0004306042.tif 000020
【図２０】
0004306042.tif 000021
【図２１】
0004306042.tif 000022