(57)【要約】      （修正有）【課題】高速読み出しを可能としたセンス回路を備えた半導体記憶装置を提供する。【解決手段】半導体記憶装置は、主要部がデータ記憶を行うための情報セル、一部が情報セルのデータ読み出しのための参照電流を流す参照セルとして用いられる第１及び第２のセルアレイと、第１及び第２のセルアレイから対をなして選択される３以上のビット線対に選択的に接続可能に配置されて、選択されたビット線対に接続された情報セルと参照セルのセル電流差を検出するセンスアンプと、書き込みデータを保持するため、それぞれ第１及び第２のセルアレイの同時に選択されるビット線対に等しい数のデータラッチを有する第１及び第２のデータラッチ群とを備えた。【選択図】図１
2007280505.tif 000002
【特許請求の範囲】
【請求項１】
電気的書き換え可能な不揮発性メモリセルが配列され、それぞれ主要部がデータ記憶を行うための情報セルとして、一部が情報セルのデータ読み出しのための参照電流を流す参照セルとして用いられる第１及び第２のセルアレイと、
前記第１及び第２のセルアレイから対をなして選択される３以上のビット線対に選択的に接続可能に配置されて、選択されたビット線対に接続された情報セルと参照セルのセル電流差を検出するセンスアンプと、
前記第１及び第２のセルアレイへの書き込みデータを保持するため、それぞれ第１及び第２のセルアレイの同時に選択されるビット線対に等しい数のデータラッチを有する第１及び第２のデータラッチ群とを備えた
ことを特徴とする半導体記憶装置。
【請求項２】
前記センスアンプの第１及び第２の出力ノードにそれぞれ対応して設けられた第１及び第２のデータ転送ノードと、
前記第１及び第２のデータラッチ群の一方のデータノードを選択的に前記第１及び第２のデータ転送ノードを介して前記センスアンプの第１及び第２の出力ノードに接続するための第１及び第２の転送トランジスタ群と、
前記第１及び第２のデータラッチ群の他方のデータノードを前記第１及び第２のセルアレイのビット線に接続するための第３及び第４の転送トランジスタ群とを更に備えた
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記センスアンプの第１及び第２の出力ノードと前記第１及び第２のデータ転送ノードとの間及び、前記第１及び第２のデータ転送ノードとデータ出力線との間のデータ転送制御を行うデータ転送制御回路を更に備えた
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項４】
データ読み出し時、前記第１及び第２のデータラッチ群はキャッシュとして用いられる
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項５】
データ書き込み時、前記第１及び第２のデータラッチ群の一方は、ビット線電圧制御を行うための書き込みデータがロードされて、その書き込みデータは各書き込みサイクルのベリファイ読み出し結果に応じて書き換えられ、他方は、ロードされた書き込みデータがデータ書き込みが終了するまでベリファイ制御用として保持される
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項６】
前記第１及び第２のデータラッチ群にそれぞれ付属して、データ書き込み時ベリファイ読み出し結果により書き換えられたデータに基づいて書き込み完了を判定するための第１及第２のベリファイ判定回路を更に備えた
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項７】
前記センスアンプの第１及び第２の入力ノードにそれぞれ接続されて、データ読み出し時にビット線対のプリチャージを行うプリチャージ回路と、
前記センスアンプの第１及び第２の入力ノードにそれぞれ接続されて、ベリファイ読み出し時に前記第１及び第２のデータラッチ群の一方に保持された書き込みデータにより制御されて前記センスアンプの出力レベルを強制設定するためのベリファイ制御回路とを更に備えた
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項８】
前記第１及び第２のセルアレイはそれぞれ、２又はそれ以上のデータレベルが書かれる情報セルを配列した複数の情報セルブロックと、情報セルのデータ読み出しのための参照レベルが書かれる参照セルを配列した少なくとも一つの参照セルブロックとを有し、
前記情報セルブロック及び参照セルブロックはいずれも、複数のメモリセルが直列接続されたＮＡＮＤセルユニットを配列して構成されている
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項９】
前記第１及び第２のセルアレイの情報セルは、２値データ記憶を行うものであり、
データ書き込み時、前記第１及び第２のデータラッチ群の一方に書き込みデータがロードされ、その書き込みデータが前記データ転送制御回路で反転されて他方に転送される
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項１０】
前記第１及び第２のセルアレイの情報セルは、４値データ記憶を行うものであり、
前記データ転送制御回路は、
書き込みデータを保持するための第１ラッチ回路と、
前記センスアンプの出力データと前記第１ラッチ回路の保持データとの間で排他的論理和演算を行うＸＯＲゲートと、
このＸＯＲゲートの出力を保持する第２ラッチ回路とを有する
ことを特徴とする請求項３記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体記憶装置に係り、特に電気的書き換え可能な不揮発性半導体記憶装置（ＥＥＰＲＯＭ）に関する。
【背景技術】
【０００２】
ＥＥＰＲＯＭの一つとして知られるＮＡＮＤ型フラッシュメモリは、モバイル機器などで画像や動画等の大容量データを扱う用途の増加と共に、需要が増している。ＮＡＮＤ型フラッシュメモリは、複数のメモリセルを直列接続したＮＡＮＤストリング（ＮＡＮＤセルユニット）を用いるため、単位セル面積が小さく、大容量化が容易であるという利点を有する反面、セル電流が小さいために高速ランダムアクセスには向かないという難点がある。
【０００３】
そこで通常は、データをページバッファに読み出し、これをシリアル転送することによりデータ転送レートを上げて、ＤＲＡＭ等のバッファを介して高速システムに対応させる等の方法が採られている。
【０００４】
ＮＡＮＤ型フラッシュメモリにおいて通常用いられるセンスアンプは、予めビット線をプリチャージし、その後セル電流によりビット線を一定時間放電させて、ビット線電圧を検出する電圧検出型のものである（例えば、特許文献１参照）。このセンスアンプ方式では、ビット線容量が大きくなると、ビット線の充放電に時間がかかるため、高速センスが難しくなる。
【０００５】
これに対して、微小なセル電流のデータを高速検出できるセンスアンプ方式として、電流検出型の差動型センスアンプが提案されている（特許文献２参照）。このセンスアンプ方式は、ビット線対を差動入力とすることにより、ビット線容量の影響も回避することができる。
【特許文献１】特開２００４−１１８９４０号公報
【特許文献２】特開２００５−２８５１６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この発明は、高速読み出しを可能としたセンス回路を備えた半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明の一態様による半導体記憶装置は、
電気的書き換え可能な不揮発性メモリセルが配列され、それぞれ主要部がデータ記憶を行うための情報セルとして、一部が情報セルのデータ読み出しのための参照電流を流す参照セルとして用いられる第１及び第２のセルアレイと、
前記第１及び第２のセルアレイから対をなして選択される３以上のビット線対に選択的に接続可能に配置されて、選択されたビット線対に接続された情報セルと参照セルのセル電流差を検出するセンスアンプと、
前記第１及び第２のセルアレイへの書き込みデータを保持するため、それぞれ第１及び第２のセルアレイの同時に選択されるビット線対に等しい数のデータラッチを有する第１及び第２のデータラッチ群とを備えたことを特徴とする。
【発明の効果】
【０００８】
この発明によると、高速読み出しを可能としたセンス回路を備えた半導体記憶装置を提供することができる。
【発明を実施するための最良の形態】
【０００９】
この発明においては、第１に、データ記憶を行う“情報セル”と同じメモリセル構造であってセルデータを判定する参照電流を生成するための“参照セル”をメモリセルアレイ内に配置する。参照セルには、情報セルのデータを判定するに必要な参照レベルが書かれる。センスアンプの一方の入力ノードに情報セルが接続されるとき、他方の入力ノードには参照セルが接続される。
【００１０】
そして第２に、センスアンプには、同時に選択される情報セルと参照セルのセル電流差によってセルデータを高速センスする電流検出型を用いる。ただ、電流検出型センスアンプは、微小なセル電流を確実に検出するためには、センスアンプを構成するトランジスタのしきい値やゲート長のばらつきを十分に小さくすることが必要であり、そのためにセンスアンプ占有面積増大が避けられない。
【００１１】
そこで第３に、３以上の複数のビット線対が一つのセンスアンプを共有するようにする。そして、同時に選択されるメモリセルがつながる複数のビット線対を順次切り換えてセンスアンプに接続するように構成する。
【００１２】
データ処理の関係では、好ましくは一つのセンスアンプを共有するビット線対の数Ｎは、Ｎ＝２ｍ（ｍ≧２）に設定する。以下の実施の形態では、１６ビット線対に一つのセンスアンプを配置する。
【００１３】
第４に、複数ビット線での同時書き込みを行うための書き込みデータを保持するために、第１及び第２のセルアレイに対応して、これから同時に選択されるビット線対の数に等しい数のデータラッチを有する第１及び第２のデータラッチ群が用意される。
【００１４】
以下、図面を参照して、この発明の実施の形態を説明する。
【００１５】
［メモリチップ構成］
図１は、一実施の形態によるフラッシュメモリの機能ブロック構成を示している。メモリセルアレイ１は、読み出し／書き込み回路２を挟んで配置された、少なくとも二つのセルアレイ１ｔ，１ｃに分けられている。二つのセルアレイ１ｔ，１ｃのビット線ＢＬ，ＢＬＢは、データ読み出し時に対をなして、読み出し／書き込み回路２内のセンスアンプに接続される。
【００１６】
セルアレイ１ｔ，１ｃにはそれぞれ複数のワード線ＷＬが配置され、その一端側にはワード線ＷＬを選択駆動するワード線選択駆動回路（ロウデコーダ）３ｔ，３ｃが配置されている。
【００１７】
読み出し／書き込み回路２は、後に説明するように、少ないセンスアンプ数で１ページ分のデータ読み出しを行い、１ページ分の書き込みデータを保持できるように構成されている。読み出しデータは、データバッファ４を介して外部Ｉ／Ｏ端子に出力され、外部からの書き込みデータはデータバッファ４を介して読み出し／書き込み回路２にロードされる。
【００１８】
外部から供給されるアドレス“Ａｄｄ”は、アドレスバッファ５を介し、アドレスレジスタ６を介してロウデコーダ３ｔ，３ｃ及びカラムデコーダ（図示しない）に転送される。外部から供給されるコマンド“ＣＭＤ”は、コマンドデコーダでデコードされ、内部コントローラ８に転送されて、動作制御に供される。
【００１９】
内部コントローラ８は、書き込み、消去及び読み出し動作のシーケンス制御を行う。書き込み、消去及び読み出しに必要な、電源電圧より昇圧された種々の高電圧Ｖｐｐを発生するために高電圧発生回路９が用意されている。高電圧発生回路９のコントローラ８により制御されて、動作モードに必要な高電圧を発生する。
【００２０】
図２は、セルアレイ１ｔ，１ｃのブロック構成を示している。図示のようにセルアレイ１ｔ，１ｃにはそれぞれ、データ記憶を行うための“情報セル”Ｉ−ｃｅｌｌを配列した２ｎ−１個の情報セルブロックＩ−ｃｅｌｌＢＬＫｉ（ｉ＝０〜２ｎ−１）が配列されている。
【００２１】
セルアレイ１ｔ，１ｃにはまた、情報セルＩ−ｃｅｌｌのセルデータを読み出すための参照電流を生成する“参照セル”Ｒ−ｃｅｌｌａを配列した第１の参照セルブロックＲ−ｃｅｌｌａＢＬＫが、少なくとも一つずつ配置されている。具体的に、セルアレイ１ｔ側の一つの情報セルブロックＩ−ｃｅｌｌＢＬＫが選択されたとき、他方のセルアレイ１ｔから参照セルブロックＲ−ｃｅｌｌａＢＬＫが選択され、同時に選択された情報セルと参照セルとがビット線対ＢＬ，ＢＬＢに接続される。同様に、セルアレイ１ｃ側から一つの情報セルブロックＩ−ｃｅｌｌＢＬＫが選択されたときには、セルアレイ１ｔから参照セルブロックＲ−ｃｅｌｌａＢＬＫが選択される。
【００２２】
図２の例では、参照セルブロックＲ−ｃｅｌｌａＢＬＫはそれぞれセルアレイ１ｔ，１ｃ内の情報セルブロック配列のほぼ中央位置に配置されている。
【００２３】
セルアレイ１ｔ，１ｃには更に、第１の参照セルブロックＲ−ｃｅｌｌａＢＬＫとは別に、この参照セルブロックＲ−ｃｅｌｌａＢＬＫの参照レベルの書き込みベリファイ時や情報セルの消去ベリファイ時に必要な参照電流を生成するための“参照セル”Ｒ−ｃｅｌｌｂを用いた第２の参照セルブロックＲ−ｃｅｌｌｂＢＬＫが少なくとも一つずつ配置されている。
【００２４】
後に説明するように、第１の参照セルブロックＲ−ｃｅｌｌａＢＬＫの参照セルには、情報セルブロックＩ−ｃｅｌｌＢＬＫと同様に書き込み及び消去ができるメモリセル構造が用いられるのに対し、第２の参照セルブロックＲ−ｃｅｌｌｂＢＬＫでは、基本的には同様のメモリセル構造を用いるが、書き込み及び消去ができない受動的な参照電流源が構成される。
【００２５】
図３は、情報セルブロックＩ−ｃｅｌｌＢＬＫ及び第１の参照セルブロックＲ−ｃｅｌｌａＢＬＫに共通の具体構成を示しており、複数のＮＡＮＤセルユニット（即ちＮＡＮＤストリング）Ｉ−ｃｅｌｌＮＡＮＤ，Ｒ−ｃｅｌｌａＮＡＮＤをマトリクス配列して構成される。
【００２６】
各ＮＡＮＤストリングは、複数個（図の例では３２個）直列接続された電気的書き換え可能な不揮発性メモリセルＭＣ０−ＭＣ３１を有する。各メモリセルＭＣは浮遊ゲートと制御ゲートが積層されたＭＯＳトランジスタ構造を有し、浮遊ゲートの電荷蓄積状態により不揮発にデータ記憶を行う。
【００２７】
ＮＡＮＤストリングの一端は、選択ゲートトランジスタＳ１を介してビット線ＢＬ（ＢＬＢ）に、他端は選択ゲートトランジスタＳ２を介して共通ソース線ＣＥＬＳＲＣに接続される。
【００２８】
メモリセルＭＣ０〜ＭＣ３１の制御ゲートはそれぞれ異なるワード線ＷＬ０〜ＷＬ３１に接続される。選択ゲートトランジスタＳ１，Ｓ２のゲートはそれぞれワード線ＷＬと並行する選択ゲート線ＳＧＤ，ＳＧＳに接続される。ワード線ＷＬ０〜ＷＬ３１を共有する複数のＮＡＮＤストリングの集合が、データ消去の基本単位となる“ブロック”を構成する。
【００２９】
図２で説明したように、各セルアレイ１ｔ，１ｃ内でビット線方向に並ぶ複数のブロックのうち、少なくとも一つずつが第１の参照セルブロックＲ−ｃｅｌｌａＢＬＫとして設定される。複数のＮＡＮＤストリングブロックのうちどのブロックを第１の参照セルブロックとして用いるかは任意であるが、一旦第１の参照セルブロックとして設定されると、それが以後固定的に用いられ、残りが情報セルブロックＩ−ｃｅｌｌＢＬＫとなる。
【００３０】
図４は、第２の参照セルブロックＲ−ｃｅｌｌｂＢＬＫの構成を示している。これも情報セルブロックＩ−ｃｅｌｌＢＬＫや第１の参照セルブロックＲ−ｃｅｌｌａＢＬＫと基本メモリセル構造は同じであるが、そのＮＡＮＤストリングＲ−ｃｅｌｌｂＮＡＮＤでは、メモリセルＭＣ０−ＭＣ３１は、制御ゲートと浮遊ゲートを全て短絡したゲート配線を有し、これに参照電圧Ｖｒｅｆが与えられる。即ち、直列接続された全てのメモリセルを浮遊ゲートに参照電圧Ｖｒｅｆを与えた一体のトランジスタとして動作させて、参照電流を得る。
【００３１】
セル電流を検出するための参照電流源回路は、原理的には、セルアレイとは別に各センスアンプの入力端に構成することも可能である。しかしこの実施の形態のように、セルアレイ内にメモリセルと基本的に同様の構成を用いて全ての参照電流源回路を構成することにより、無駄なトランジスタ面積を用いることなく、ばらつきのない参照電流源を得ることができる。
【００３２】
図５は、読み出し／書き込み回路２に用いられるセンスアンプＳ／Ａの構成を示している。このセンスアンプＳ／Ａは、ＰＭＯＳトランジスタＭ３，Ｍ４とＮＭＯＳトランジスタＭ１，Ｍ２からなるラッチを主体として構成された、電流検出型の差動アンプである。
【００３３】
ゲートＧＡが共通接続されて直列接続されたＰＭＯＳトランジスタＭ３とＮＭＯＳトランジスタＭ１のドレインは、一方の出力ノードＯＵＴとなる。同じくゲートＧＢが共通接続されて直列接続されたＰＭＯＳトランジスタＭ４とＮＭＯＳトランジスタＭ２のドレインは、他方の出力ノードＯＵＴＢとなる。共通ゲートＧＡ，ＧＢは、出力ノードＯＵＴＢ，ＯＵＴに交差接続されている。
【００３４】
ＰＭＯＳトランジスタＭ３，Ｍ４はそれぞれ、ＰＭＯＳトランジスタＭ５，Ｍ６を介し、電流源ＰＭＯＳトランジスタＭ０を介して、電源端子Ｖｄｄに接続されている。
【００３５】
ＰＭＯＳトランジスタＭ５，Ｍ６のゲートはそれぞれ共通ゲートＧＡ，ＧＢに接続されている。電流源ＰＭＯＳトランジスタＭ０のゲートは、活性化信号ＡＣＣｂにより制御される。
【００３６】
ＮＭＯＳトランジスタＭ１，Ｍ２のソースは共通に接地端子Ｖｓｓに接続されている。共通ゲートＧＡ，ＧＢは、センス信号ＳＥｂでゲートが制御されるＮＭＯＳトランジスタＭ７，Ｍ８を介して接地端子Ｖｓｓに接続されている。
【００３７】
ＰＭＯＳトランジスタＭ５，Ｍ３の接続ノードＮＡは、活性化信号ＡＣＣで制御されるＮＭＯＳトランジスタＭ１０を介して一方の入力ノードＩＮＢに接続され、同じくＰＭＯＳトランジスタＭ６，Ｍ４の接続ノードＮＢは、活性化信号ＡＣＣにより制御されるＮＭＯＳトランジスタＭ９を介して他方の入力ノードＩＮに接続される。これらは、センスアンプの待機状態とビット線のプリチャージを分離してセンスアンプの動作時間を短くして消費電流の少ないデータセンスを可能とする。
【００３８】
ノードＮＢ，ＮＡにはそれぞれ、活性化信号ＡＣＣｂにより制御されるリセット用ＮＭＯＳトランジスタＭ１１，Ｍ１２が接続されている。これらはセンスアンプ非活性化時（ＡＣＣｂ＝“Ｈ”）、ノードＮＡ，ＮＢをＶｓｓに設定するためのものである。
【００３９】
このセンスアンプＳ／Ａの動作を説明する。通常のデータ読み出し動作では、差動入力ノードＩＮ，ＩＮＢに反映される、情報セルＩ−ｃｅｌｌと参照セルＲ−ｃｅｌｌａのセル電流差を検出するのであるが、ＡＣＣｂ＝“Ｈ”，ＳＥｂ＝“Ｈ”の非活性状態では、ＮＭＯＳトランジスタＭ３，Ｍ４，Ｍ７，Ｍ８がオンであり、ノードＧＡ，ＧＢ，ＮＡ，ＮＢ及び出力ノードＯＵＴ，ＯＵＴＢは、Ｖｓｓに保持されている。
【００４０】
二つのセルアレイから一つずつワード線が選択され、一対のビット線ＢＬ，ＢＬＢが入力ノードＩＮ，ＩＮＢに接続されるときに、図６に示すように、ＡＣＣｂ＝“Ｌ”（タイミングｔ０）、その後少し遅れてＳＥｂ＝“Ｌ”（タイミングｔ１）となり、センスアンプＳ／Ａが活性化される。ビット線対ＢＬ，ＢＬＢでそれぞれ情報セルＩ−ｃｅｌｌと参照セルＲ−ｃｅｌｌａが選択されているものとして、それらのセル電流がそれぞれノードＮＢ，ＮＡに供給される。
【００４１】
センスアンプ活性化の直後は、ＮＭＯＳトランジスタＭ１，Ｍ２が共にオフであるが、ＰＭＯＳトランジスタＰ０がオン、ＮＭＯＳトランジスタＭ７，Ｍ８がオンになるため、Ｖｓｓにリセットされていた出力ノードＯＵＴ（＝ＧＢ），ＯＵＴＢ（＝ＧＡ）は、電源Ｖｄｄからの電流とこれに重なるセル電流により充電される。そしてセル電流差により、出力ノードＯＵＴ，ＯＵＴＢの間（従ってゲートノードＧＡ，ＧＢの間）に電位差が生じると、ラッチでは、出力ノードＯＵＴ，ＯＵＴＢの差電圧を増幅する正帰還動作が行われ、その差電圧は急速に拡大する。
【００４２】
例えば、ＯＵＴ（ＧＢ）がＯＵＴＢ（ＧＡ）より低いとすると、ＳＥｎからの正帰還動作により、ＮＭＯＳトランジスタＭ１がオン、ＮＭＯＳトランジスタＭ２がオフ、ＰＭＯＳトランジスタＭ３がオフ、ＰＭＯＳトランジスタＭ４がオンとなり、出力ノードＯＵＴ，ＯＵＴＢはそれぞれ、Ｖｓｓ，Ｖｄｄになる。
【００４３】
図５に示した電流センス方式のセンスアンプＳ／Ａで、数百ｎＡの微小セル電流を検出するためには、構成トランジスタのしきい値やゲート長のばらつきの影響をできる限り小さくすることが必要になる。そのためには、構成トランジスタのゲート長をある程度大きいものとすることが必要であり、これにより占有面積が大きくなる。図５のセンスアンプ回路では、ビット線につながるＮＭＯＳトランジスタＭ９，Ｍ１０は高耐圧トランジスタであることが必要であり、これも占有面積増大の原因となる。
【００４４】
従って、図５のセンスアンプＳ／Ａを、通常のＮＡＮＤ型フラッシュメモリにおけると同様に、隣接する奇偶ビット線が一つのセンスアンプを共有するようなセンスアンプ配置とすることは、難しい。
【００４５】
そこで、図７に示すように、この実施の形態の読み出し／書き込み回路２では、３以上のビット線対で一つのセンスアンプＳ／Ａを共有するように構成する。具体的に図７の場合には、１６対のビット線ＢＬ０−ＢＬ１５，ＢＬＢ０−ＢＬＢ１５が一つのセンスアンプＳ／Ａを共有している。ビット線対ＢＬ０−ＢＬ１５，ＢＬＢ０−ＢＬＢ１５とセンスアンプＳ／Ａの入力ノードＩＮ，ＩＮＢとの間には、ビット線対ＢＬ，ＢＬＢを一つずつスキャンして入力ノードＩＮ，ＩＮＢに接続するように、選択信号ＰＢ０−ＰＢ１５で順次選択されるトランジスタが配置されている。
【００４６】
例えば、１ワード線の選択により選択される情報セル数がＮであり、そのセルデータがＮ本のビット線に同時に読み出されるものとする。センスアンプ数は、Ｎ／１６であって、選択信号ＰＢ０−ＰＢ１５を順次“Ｈ”にすることによって、Ｎ個の情報セルのデータを読み出す。
【００４７】
以下、より具体的な実施の形態を、２値データの場合と４値データの場合に分けて説明する。
【００４８】
［２値データ記憶］
図８は、２値データ記憶を行う場合の情報セルＩ−ｃｅｌｌ及び参照セルＲ−ｃｅｌｌａのデータしきい値分布を示している。情報セルＩ−ｃｅｌｌは、しきい値電圧が負の状態（消去状態）をデータ“１”、しきい値電圧が正の状態（書き込み状態）をデータ“０”として、１ビット記憶を行う。これは、通常の２値ＮＡＮＤフラッシュメモリと同様であり、書き込み法も同じである。
【００４９】
参照セルＲ−ｃｅｌｌａは、情報セルＩ−ｃｅｌｌと同様の消去状態（破線で示す）から、参照レベルとして、０Ｖに近い正のしきい値電圧状態に書き込みを行う。この参照レベル書き込み時の書き込みベリファイには、参照セルＲ−ｃｅｌｌｂが流す参照電流との比較でデータ判定を行う。例えば選択された参照ワード線に与えるベリファイ電圧をＰｒとして、参照レベルとなるしきい値電圧が書き込まれる。
【００５０】
情報セルＩ−ｃｅｌｌの読み出し及び、書き込み時の書き込みベリファイには、参照セルＲ−ｃｅｌｌａの参照レベルが用いられる。具体的に、図１２を用いて説明すれば、通常読み出しでは、情報セルＮＡＮＤセルユニットＩ−ｃｅｌｌＮＡＮＤ側の選択ワード線にデータ“１”，“０”のしきい値電圧の中間に設定された読み出し電圧Ｒ１を与え、参照セルＮＡＮＤセルユニットＲ−ｅｌｌａＮＡＮＤ側の選択ワード線（選択参照ワード線）には参照レベルに近い参照読み出し電圧Ｒｒを与える。非選択ワード線には、情報セルＮＡＮＤセルユニットＩ−ｃｅｌｌＮＡＮＤ側では、データ“０”のしきい値上限より高い読み出しパス電圧Ｖｒｅａｄが与えられ、参照セルＮＡＮＤセルユニットＲ−ｅｌｌａＮＡＮＤ側では参照レベルより高い読み出しパス電圧Ｖｒｅａｄｒ（＜Ｖｒｅａｄ）が与えられる。
【００５１】
これにより、情報セルデータと参照セルデータが転送されるビット線対に接続されたセンスアンプＳ／Ａは、情報セルと参照セルのセル電流差を検知して、データ“１”，“０”を判定する。
【００５２】
即ち、情報セルＮＡＮＤセルユニットＩ−ｃｅｌｌＮＡＮＤのデータ“１”，“０”のセル電流をＩｃ（１），Ｉｃ（０）、参照セルＮＡＮＤセルユニットＲ−ｃｅｌｌａＮＡＮＤのセル電流をＩｒとして、Ｉｃ（１）＞Ｉｒ＞Ｉｃ（０）なる関係が得られる。これにより、データ“１”の場合（Ｉｃ（１）＞Ｉｒ）、センスアンプＳ／Ａは、ＯＵＴ＝“Ｈ”，ＯＵＴＢ＝“Ｌ”となる。データ“０”（Ｉｃ（０）＜Ｉｒ）、ＯＵＴ＝“Ｌ”，ＯＵＴＢ＝“Ｈ”となる。
【００５３】
図１２に示すように、書き込みベリファイ読み出し時には、選択ワード線、選択参照ワード線にそれぞれ、ベリファイ電圧Ｐ１、Ｐｒが与えられる他、通常の読み出しの場合と同様にセル電流差検出によるベリファイ読み出しが行われ、“０”データのしきい値下限値がほぼベリファイ電圧Ｐ１になるように書き込みがなされる。
【００５４】
図９は、読み出し／書き込み回路２の具体的な構成を示している。ここでは、一つのセンスアンプＳ／Ａを１６ビット線対が共有する例を示している。即ち、セルアレイ１ｔ側の１６ビット線ＢＬ（ＢＬ０−ＢＬ１５）と、セルアレイ１ｃ側の１６ビット線ＢＬＢ（ＢＬＢ０−ＢＬＢ１５）に一つのセンスアンプＳ／Ａが配置されている。
【００５５】
偶数番ビット線と奇数番ビット線は、それぞれ信号ＶＴＧＥ，ＶＴＧＯにより制御される選択トランジスタＱｅ，Ｑｏにより、選択的にノードＧＢ０−ＧＢ７，ＧＢＢ０−ＧＢＢ７に接続される。これらのノードＧＢ０−ＧＢ７，ＧＢＢ０−ＧＢＢ７は、信号ＰＢ０−ＰＢ７，ＰＢＢ０−ＰＢＢ７により選択される転送トランジスタＱ２１を介して、センスアンプＳ／Ａの入力ノードＩＮ，ＩＮＢに接続される。
【００５６】
ビット線選択トランジスタＱｅ，Ｑｏは、高耐圧トランジスタであり、それ以外の読み出し／書き込み回路の構成トランジスタは低電圧用トランジスタである。
【００５７】
書き込みデータを保持するために、図９では、ビット線ＢＬ側に、同時に選択されるビット線数に等しい数のデータラッチ群ＶＬが配置され、同様にビット線ＢＬＢ側に、同時に選択されるビット線数に等しい数のデータラッチ群ＶＬＢが配置されている。
【００５８】
図９では、ビット線ＢＬ側には１６ビット線に対応して８個のデータラッチＶＬ０−ＶＬ７がデータ転送ノードＢＩＳを共有して配置され、同様にビット線ＢＬＢ側には１６ビット線に対応して８個のデータラッチＬＢＬ０−ＶＬＢ７がデータ転送ノードＢＩＳＢを共有して配置されている。
【００５９】
基本的に、ビット線ＢＬ側のセル書き込みの場合にデータラッチ群ＶＬが用いられ、ビット線ＢＬＢ側のセル書き込みの場合にデータラッチ群ＶＬＢが用いられる。このようなラッチ回路配置により、多数のビット線（全偶数番ビット線或いは全奇数番ビット線）での同時書き込みを行うことが可能になる。
【００６０】
データラッチ群ＶＬの一方のデータノードは、信号ＤＴにより同時に制御される転送トランジスタＱ２３を介してそれぞれノードＧＢに接続される。データ書き込み時は、この転送トランジスタＱ２３の制御により、データラッチ群ＶＬに保持された書き込みデータに応じてビット線電圧制御が行われる。他方のデータノードは、それぞれ異なるタイミング信号ＶＬＳ（ＶＬＳ０−ＶＬＳ７）により制御される転送トランジスタＱ２２を介して、センスアンプＳ／Ａに付属するラッチ型転送回路ＤＬの一方のデータ転送ノードＢＩＳに共通接続されている。
【００６１】
同様に、各データラッチ群ＶＬＢの一方のデータノードは、信号ＤＴＢにより同時に制御される転送トランジスタＱ２３を介してそれぞれノードＧＢＢに接続され、他方のデータノードは、それぞれ異なるタイミング信号ＶＬＳＢ（ＶＬＳＢ０−ＶＬＳＢ７）により制御される転送トランジスタＱ２２を介して、ラッチ型転送回路ＤＬの他方のデータ転送ノードＢＩＳＢに共通接続されている。
【００６２】
センスアンプＳ／Ａの出力ノードＯＵＴ，ＯＵＴＢは、データ転送制御回路ＤＬを介してデータ線ＩＯｎに選択的に接続される。またこの転送制御回路ＤＬの制御により、出力ノードＯＵＴ，ＯＵＴＢは選択的にデータ転送ノードＢＩＳ，ＢＩＳＢに接続されることになる。即ち、一つのセンスアンプＳ／Ａと複数のデータラッチ群ＶＬ又はＶＬＢとの間のデータ転送はそれぞれ共通データ転送ノードＢＩＳ又はＢＩＳＢを介して行われる。
【００６３】
後に具体的に説明するように、データラッチ群ＶＬとＶＬＢとは書き込み時、共に書き込みデータがロードされるが、一方はセルアレイ選択に応じてベリファイ読み出し結果に応じて書き換えられて、ビット線電圧制御に供され、他方はベリファイ制御のために書き込みサイクル終了までそのまま書き込みデータを保持する。
【００６４】
即ち各書き込みサイクルのベリファイ読み出し時、ビット線データは順次センスアンプＳ／Ａでセンスされ、そのセンス出力は、データ転送ノードＢＩＳ又はＢＩＳＢを介してデータラッチ群ＶＬ又はＶＬＢに転送されて、書き込みデータの書き換えが行われることになる。
【００６５】
センスアンプＳ／Ａの入力ノードＩＮ，ＩＮＢにはそれぞれ、通常読み出し時及び書き込みベリファイ読み出し時にビット線対ＢＬ，ＢＬＢをプリチャージするための、信号ＰＲにより制御されるトランジスタＱ２４を用いたプリチャージ回路２１が接続されている。
【００６６】
センスアンプＳ／Ａの入力ノードＩＮ，ＩＮＢには更に、ベリファイ読み出し時に特定のセンスアンプＳ／Ａの出力ノードＯＵＴ，ＯＵＴＢを強制的にレベル設定するためのベリファイ制御回路（プルアップ回路）２２が接続されている。具体的にこのプルアップ回路２２は、書き込みベリファイ読み出し時に、“１”書き込みセルについて次のサイクルで“０”書き込みとなる事態を防止し、再度“１”書き込みとするために用いられる。
【００６７】
これらのプルアップ回路２２は、タイミング信号ＳＢＬ，ＳＢＬＢにより制御されるトランジスタＱ２６と、ラッチ回路ＶＬＢのデータが転送されたノードＢＩＳ，ＢＩＳＢにより制御されるトランジスタＱ２５の直列回路により構成されている。
【００６８】
データラッチＶＬ，ＶＬＢの一方のデータノードにそれぞれゲートが接続されて、信号線ＶＳＥＮに直列接続されたトランジスタＮ０−Ｎ７は、ベリファイ判定回路２３を構成している。信号線ＶＳＥＮは、トランジスタＰ０によりプリチャージされる。書き込みベリファイ時、データラッチ群ＶＬ或いはＶＬＢのデータがオール“０”状態（全てのノードＶＬＤＳ或いは全てのノードＶＬＤＳＢが“０”）になると、トランジスタＮ０−Ｎ７がオンして信号線ＶＳＥＮが放電され、これにより書き込み完了が判定されることになる。
【００６９】
図１０は、データラッチＶＬ，ＶＬＢの構成を示している。このラッチ回路は、通常のＣＭＯＳインバータ７１と、クロックトＣＭＯＳインバータ７２を組み合わせて、データの反転動作を行いやすく構成されている。
【００７０】
図１１は、ラッチ型転送制御回路ＤＬの構成を示している。この転送制御回路ＤＬは、クロックトＣＭＯＳインバータ８１，８２を組み合わせて構成されたラッチ回路を有する。データ転送ノードＢＩＳ，ＢＩＳＢは、データラッチ群ＶＬ，ＶＬＢにより共有されるノードであり、選択信号Ｘｉ，Ｙｊ，ＣＳＬ，ＣＳＬＢにより制御されるトランジスタＱ８５，Ｑ８６，Ｑ８１，Ｑ８２を介して選択的に内部データ線ＩＯｎに接続される。また、センスアンプＳ／Ａの出力ノードＯＵＴ，ＯＵＴＢとデータノードＢＩＳ，ＢＩＳＢとの間はそれぞれ、ゲート信号ＯＢＣ１，ＯＢＣ２により制御されるトランジスタＱ８３，Ｑ８４により接続される。
【００７１】
データ転送制御回路ＤＬは、データラッチＶＬ，ＶＬＢとセンスアンプＳ／Ａの出力ノードＯＵＴ，ＯＵＴＢとの接続、出力ノードＯＵＴ，ＯＵＴＢとデータバス線ＩＯｎとの接続を制御する他、データの反転処理などを行う。
【００７２】
次に、図９に示す読み出し／書き込み回路２を用いた２値記憶の動作を具体的に説明する。
（書き込み動作）
書き込みに先立って、セルアレイ１ｔ，１ｃ内の選択ブロックの一括消去と、参照セルブロックＲ−ｃｅｌｌａＢＬＫへの参照レベル書き込みとが必要である。これらを簡単に説明する。
【００７３】
セルアレイ１ｔの選択情報セルブロックＩ−ｃｅｌｌＢＬＫの消去は、その全ワード線を０Ｖとし、セルアレイが形成されたウェルに消去電圧Ｖｅｒａを与えて、その選択ブロック内のメモリセルの浮遊ゲートの電子を放出させる動作として行われる。このとき消去ベリファイには、セルアレイ１ｃの参照セルブロックＲ−ｃｅｌｌｂＢＬＫを利用する。
【００７４】
即ち選択情報セルブロックＩ−ｃｅｌｌＢＬＫの全ワード線に図８に示すベリファイ電圧Ｐ０を与え、参照セルブロックＲ−ｃｅｌｌｂＢＬＫに参照電圧Ｖｒｅｆを与えて、セル電流が参照電流レベル以上であることを確認して、消去を終了する。
【００７５】
セルアレイ１ｃ側の情報セルブロックの消去時には、セルアレイ１ｔ側の参照セルブロックＲ−ｃｅｌｌｂＢＬＫが参照される。参照セルブロックＲ−ｃｅｌｌａＢＬＫの消去も同様に行われる。
【００７６】
参照セルブロックＲ−ｃｅｌｌａＢＬＫには、図８に示すような参照レベルが書かれる。この参照レベル書き込みは、参照ワード線を順次選択して、参照セルブロックＲ−ｃｅｌｌａＢＬＫ内の全参照セルに順次参照レベルを書き込む動作が必要である。
【００７７】
この参照セル書き込み時のベリファイにも、一方のセルアレイ１ｔの参照セルブロックＲ−ｃｅｌｌａＢＬＫの書き込みでは、他方のセルアレイ１ｃの参照セルブロックＲ−ｃｅｌｌｂＢＬＫを参照することが行われる。即ち、図８に示すベリファイ電圧Ｐｒを用いたベリファイ読み出しで、書き込むべき参照セルＲ−ｃｅｌｌａのセル電流が参照電圧Ｖｒｅｆを与えた参照セルＲ−ｃｅｌｌｂの参照電流より小さくなることを確認する。
【００７８】
次に、参照セルブロックＲ−ｃｅｌｌａＢＬＫに参照レベルが書かれたものとして、情報セルブロックの２値データ書き込み動作を説明する。
【００７９】
図１３は、２値データ書き込みのシーケンスを示している。コマンド入力に続いて、選択ページアドレスと共に書き込みデータをロードし（ステップＳ１）、選択ワード線について書き込み電圧印加動作を行う（ステップＳ２）。書き込み電圧印加後、その書き込み状態を確認するための書き込みベリファイを行う（ステップＳ３）。
【００８０】
そして、データラッチ群ＶＬ（或いはＶＬＢ）がオール“０”（オールＶＬＤＳ＝“０”或いはオールＶＬＤＳＢ＝“０”）になったか否かの判定である書き込み完了判定を行う（ステップＳ４）。１ページ内に“０”書き込み不十分なセルがあれば、全ての“０”書き込みが確認されるまで、書き込みを繰り返すことになる。
【００８１】
ここでは、ビット線ＢＬ側の偶数番のビット線ＢＬ０，ＢＬ２，ＢＬ４，…に接続された情報セル（メモリセル）に同時に書き込みを行う場合を考える。“１”書き込み（書き込み禁止）の場合は、ビット線ＢＬにＶｄｄを与え、“０”書き込みの場合は、ビット線ＢＬにＶｓｓ（＝０Ｖ）を与えることが必要になる。
【００８２】
ビット線ＢＬ側のメモリセル書き込みの場合の外部書き込みデータは、データ線ＩＯｎを介して、ビット線ＢＬＢ側のデータラッチＶＬＢ０にロードされる。即ち、Ｘｉ＝Ｙｊ＝ＣＳＬＢ＝ＶＬＳＢ０＝ＣＬＫＢ＝“Ｈ”、ＣＬＫ＝“Ｌ”として、データ線ＩＯｎのデータはデータ転送ノードＢＩＳＢを介し、転送トランジスタＱ２２を介してデータラッチＶＬＢ０にロードされる。
【００８３】
同時に、ＤＣ２Ｂ＝ＶＬＳ０＝“Ｈ”、ＤＣ２＝“Ｌ”とされて、書き込みデータの反転データがビット線ＢＬ側のデータラッチＶＬ０にロードされる。即ち、データノードＢＩＳＢに転送された書き込みデータは、ラッチ型転送回路ＤＬ内のインバータ８１で反転されて、データ転送ノードＢＩＳを介し、転送トランジスタＱ２２を介してデータラッチＶＬ０に転送される。
【００８４】
この書き込みデータロード動作を、ＶＬＳ０−７，ＶＬＳＢ０−７を順次“Ｈ”として繰り返すことにより、データラッチ群ＶＬＢ＜７：０＞とＶＬＳ＜７：０＞に互いに逆の外部データが入力される。ビット線ＢＬＢ側のラッチＶＬＢは、書き込みベリファイ用書き込みデータとして、書き込みが終了するまでそのまま保持される。ビット線ＢＬ側のラッチ回路ＶＬは、ビット線ＢＬに書き込み制御電圧を与えるためのデータとして、従って書き込みサイクル毎にベリファイ読み出し結果に応じて書き換えられる書き込みデータとして利用される。
【００８５】
外部から入力されたデータが“１”の場合は、ＶＬＤＢ＝Ｖｄｄ，ＶＬＤＢＢ＝Ｖｓｓ（＝０Ｖ）となり、ビット線ＢＬにＶｄｄを与えるデータ“１”書き込みとなる。外部から入力されたデータが“０”の場合は、ＶＬＤＢ＝Ｖｓｓ，ＶＬＤＢＢ＝Ｖｄｄとなり、ビット線ＢＬにＶｓｓを与える“０”書き込みとなる。
【００８６】
今後、データラッチＶＬ及びＶＬＢにラッチされるデータはそれぞれ、ノードＶＬＤＳ及びＶＬＤＳＢの値で表すものとする。
【００８７】
データラッチ群ＶＬに格納されたデータを偶数番ビット線ＢＬ０，ＢＬ２，…，ＢＬ１４に転送するために、信号ＶＴＧＥ＝“Ｈ”により選択トランジスタＱｅをオンにし、同時に信号ＤＴ＝“Ｈ”として転送トランジスタＱ２３をオンにする。これにより、データラッチＶＬ＜７：０＞のデータに従った電圧値を、ビット線ＢＬ０，ＢＬ２，…，ＢＬ１４に同時に転送することができる。
【００８８】
偶数番のビット線群と一つの選択ワード線により選択されるセル群からなるセクタが、同時に書き込みが行われる１ページとなる。このとき、非選択の奇数番ビット線のセルには書き込みが行われてはならない。このため、非選択ビット線にもデータ“１”書き込みと同様にＶｄｄを供給する。
【００８９】
選択されているブロックのビット線側の選択ゲート線ＳＧＤにはＶｄｄ、ソース線側の選択ゲート線ＳＧＳにはＶｓｓ、選択ワード線には書き込み電圧Ｖｐｇｍ（例えば２０Ｖ）、非選択ワード線には書き込みパス電圧Ｖｐａｓｓ（例えば１０Ｖ）を与える。
【００９０】
このとき、ビット線が０Ｖであれば、セルチャネルが０Ｖとなり、ワード線がＶｐｇｍであるから、書き込み即ち浮遊ゲートへの電子注入が生じる。ビット線がＶｄｄの場合は、セルチャネルがフローティングになり、これが書き込み電圧Ｖｐｇｍが与えられた制御ゲートからの容量結合によって、例えばＶｐｇｍ／２まで上昇し、セルへの書き込み（浮遊ゲートへの電子注入）は生じない。
【００９１】
ビット線ＢＬＢ側のセルに書き込みを行う場合には、外部からの書き込みデータは、順次データラッチ群ＶＬにベリファイ用データとしてロードし、更にその反転データをビット線に与える書き込みデータとして順次データラッチ群ＶＬＢにロードする。そしてデータラッチＶＬＢのデータを利用して、同様の書き込み動作が行われる。
【００９２】
(書き込みベリファイ読み出し)
書き込み動作後のベリファイ読み出しは、ビット線ＢＬ側の選択メモリセル（情報セル）と、ビット線ＢＬＢ側の参照セルとのセル電流比較により行う。このとき、図１２で説明したように、情報セル側及び参照セル側の選択ワード線に与えるベリファイ電圧はそれぞれ、図８に示したＰ１及びＰｒである。
【００９３】
即ち、セル電流Ｉｃ，Ｉｒの関係が、セルデータが“１”の場合にはＩｃ＞Ｉｒとなり、セルデータが“０”の場合にＩｃ＜Ｉｒとなるように、ベリファイ電圧Ｐ１，Ｐｒが選択される。
【００９４】
具体的にベリファイ読み出し動作を、図９の読み出し／書き込み回路２に即して説明する。センスアンプＳ／Ａは、ＡＣＣｂ＝ＳＥｂ＝“Ｈ”，ＡＣＣ＝“Ｌ”として、入力ノードＩＮ，ＩＮＢ及び出力ノードＯＵＴ，ＯＵＴＢを全てＶｓｓ（＝０Ｖ）の状態に初期設定される。
【００９５】
選択アドレスに従い、ビット線が選択される。ビット線ＢＬ０の選択セルのベリファイ読み出しの場合、ＶＴＧＥ＝ＶＴＧＢＥ＝“Ｈ”（＝５Ｖ）、ＰＢ０＝ＰＢＢ０＝Ｖｄｄに設定され、ビット線ＢＬ０，ＢＬＢ０がそれぞれ、入力ノードＩＮ，ＩＮＢに接続される。そして、ＰＲ＝Ｖｄｄにより、プリチャージ回路２１がオンして、ビット線ＢＬ０，ＢＬＢ０がプリチャージされる。
【００９６】
ビット線プリチャージ終了後、ＡＣＣｂ＝“Ｌ”，ＡＣＣ＝“Ｈ”とすることで、ビット線ＢＬ０，ＢＬＢ０に接続された入力ノードＩＮ，ＩＮＢがそれぞれセンスアンプＳ／Ａ内のノードＮＢ，ＮＡに接続され、センスアンプＳ／Ａからビット線ＢＬ，ＢＬＢに電流供給が開始される。その後、ＳＥｂ＝“Ｌ”にすることにより、セル電流Ｉｃと参照電流Ｉｒの差が増幅される。
【００９７】
即ちセンスアンプラッチの正帰還増幅動作により、入力ノードＩＮ側の選択情報セルのセル電流Ｉｃが、入力ノードＩＮＢ側の参照セルのセル電流Ｉｒより大きい場合には、ＯＵＴ＝“Ｈ”になる。セル電流差が逆の場合は、ＯＵＴ＝“Ｌ”となる。以上は、通常の読み出し動作の場合と同様である。
【００９８】
出力ノードＯＵＴのベリファイ読み出しデータは、ＶＬＳ０＝“Ｈ”によって、転送トランジスタＱ２２を介してデータラッチＶＬ０に転送される。データラッチＶＬ０へのデータ転送時、ＣＬＫＢ＝“Ｈ”，ＣＬＫ＝“Ｌ”に設定される。
【００９９】
従って、選択情報セルに“０”書き込みが行われた場合（ＯＵＴ＝“Ｌ”）の場合は、データラッチＶＬ０は、ＶＬＤＳ＝０Ｖ，ＶＬＤＢ＝Ｖｄｄとなり、それ以後書き込み禁止状態（“１”書き込み）になる。“０”書き込みが不十分であれば、データラッチＶＬ０は、再度“０”書き込みを行うデータ状態になる。
【０１００】
“１”書き込みセルについては、ベリファイ読み出しでＯＵＴ＝“Ｈ”となり、これがそのままデータラッチＶＬ０に転送されると、次のサイクルで“０”書き込みが行われることになり、不都合である。即ち、“１”書き込みセルは、次の書き込みサイクルでも“１”書き込みとなるように、ベリファイ読み出しデータを処理することが必要である。
【０１０１】
そのために、ベリファイ読み出しのためのビット線プリチャージを行う前に、以下の動作を行う。即ち、ビット線ＢＬ０のベリファイ読み出しの場合、ＶＬＳＢ０＝“Ｈ”として、データラッチＶＬＢ０の書き込みデータを、データノードＢＩＳＢに転送する。その後ビット線のプリチャージを行う。
【０１０２】
データラッチＶＬＢ０のデータが“１”であって、ビット線ＢＬ側の選択情報セルが“１”書き込みである場合、ベリファイ読み出し時に信号ＳＢＬ＝“Ｈ”にすると、ＢＩＳＢ＝ＳＢＬ＝“Ｈ”によりビット線ＢＬ側のプルアップ回路２２がオンになる。これにより、センスアンプＳ／Ａの入力ノードＩＮに電流が供給され、センス出力は強制的に、ＯＵＴ＝“Ｌ”とされる。
【０１０３】
即ち、“１”書き込みセルについてのベリファイ読み出しの結果は、“０”書き込みが行われた場合と同様に、次のサイクルも“１”書き込み状態となるように、センスアンプＳ／Ａが制御される。
【０１０４】
以上のベリファイ読み出し動作は、１センスアンプ当たり８本のビット線ＢＬ０，ＢＬ２，…，ＢＬ１４について順次行われる。ベリファイ読み出しの結果、データラッチ回路ＶＬは、“０”書き込みが行われた場合と“１”書き込みの場合に、ＶＬＤＢ＝“Ｈ”（＝“１”）となり、“０”書き込みが不十分の場合にＶＬＤＢ＝“Ｌ”となる。
【０１０５】
１ページの全ての情報セルの書き込みが完了したか否かの検知は、図９の一括ベリファイ判定回路２３により行われる。すべての“０”書き込みが終わった状態では、ＶＬＤＢ＜７：０＞＝Ｖｄｄになるため、ビット線ＢＬ側の一括ベリファイ回路２３では、あらかじめＶｄｄにプリチャージされていた信号ノードＶＳＥＮは０Ｖに放電される。これによって、書き込み完了が検出される。信号線ＶＳＥＮが放電されなければ、さらに次の書き込み動作が繰り返されることになる。
【０１０６】
ビット線ＢＬＢ側の情報セルのベリファイ読み出しを行う場合は、ビット線ＢＬ側のデータラッチＶＬのデータをデータノードＢＩＳに転送し、信号ＳＢＬＢ＝“Ｈ”にすること、センスアンプＳ／Ａの出力ノードＯＵＴＢのデータをデータラッチＶＬＢに転送すること、が異なるがそれ以外は同様である。
（通常読み出し）
通常読み出しは、図１２で説明したように、一方のセルアレイから選択された情報セルと他方のセルアレイから選択された参照セルとのセル電流差の検出により行われる。この点、読み出しバイアス条件を除けば、書き込みベリファイ読み出しと基本的に同じである。
【０１０７】
例えば、ビット線ＢＬ側の偶数番ビット線ＢＬ０，ＢＬ２，…と選択ワード線により定義される１ページのデータ読み出しの場合、同時にビット線ＢＬＢ側で偶数番ビット線ＢＬＢ０，ＢＬＢ２，…と一つのワード線により、１ページの参照セル（全て同じ参照レベルが書かれている）が選択される。
【０１０８】
ビット線データは、選択信号ＰＢ０−７，ＰＢＢ０−７により、順次選択されてセンスアンプＳ／Ａによりセンスされる。センス出力は基本的に、データ線ＩＯｎを介してシリアル転送して、外部に出力することができる。
【０１０９】
例えば、セルアレイ１ｔ，１ｃの構成として、図１４に示すように、１６３８４個のビット線ＢＬに対して、１６ビット線毎にセンスアンプＳ／Ａを配置する構成を考える。このとき、二つのセルアレイ１ｔ，１ｃで構成される１バンクに、１０２４個のセンスアンプＳ／Ａを配置することになる。即ち、一ワード線を選択して一度にセンス可能なビット数は１０２４ｂｉｔｓになる。
【０１１０】
図５に示すセンスアンプＳ／Ａの場合、センス動作は１００ｎｓ程度で可能である。しかしながら、ワード線の選択には、非選択ワード線に高いパス電圧を与える必要があることから、２〜３μｓの時間が必要である。
【０１１１】
そこで、高速のデータ読み出しを行うためには、ワード線を選択した状態のまま、選択されているビット線を順次センスアンプＳ／Ａに切り換え接続してデータセンスを行うことが好ましい。一方、ＮＡＮＤ型フラッシュメモリでは、上述のように非選択ワード線に高いパス電圧を与える必要があるため、長時間のワード線駆動を続けると、メモリセルの誤書き込みが生じるおそれがある。この点を考慮すると、ワード線選択時間はできる限り短い方がよい。
【０１１２】
図１４の構成では一度にセンス可能なビット数は１０２４ｂｉｔｓである。このデータを１６Ｉ／Ｏ（即ち１６ビット並列）の３０ｎｓサイクルで出力するに要するデータ出力時間は、３０［ｎｓ］×１０２４［ｂｉｔｓ］／１６［Ｉ／Ｏ］＝１９２０［ｎｓ］になる。これでは、内部でビット線を切り替えてセンスを行う１００ｎｓの間に、1つ前に選択したビット線から読み出したデータをすべて外部に出力するのは不可能である。即ち、センスアンプＳ／Ａの高速性を活かすことができない。
【０１１３】
そこで高速読み出しのために好ましい方法として、書き込みの際に用いるデータラッチ回路ＶＬ，ＶＬＢを、読み出しの際にはキャッシュとして用いる方法が有効である。例えば、ビット線ＢＬ０のデータをセンスした場合、このセンスデータを、信号ＯＢＣ＝“Ｈ”によってデータノードＢＩＳに転送し、更にＶＬＳ０＝“Ｈ”によりデータラッチＶＬ０に格納する。この時データラッチＶＬでは、ＣＬＫ＝“Ｌ”，ＣＬＫＢ＝“Ｈ”である。また、読み出し動作中、ＤＣ１＝ＤＣ２＝“Ｌ”，ＤＣ１Ｂ＝ＤＣ２Ｂ＝“Ｈ”であり、ラッチ型転送制御回路ＤＬのデータラッチは非活性に保たれる。
【０１１４】
このデータ転送動作を選択したビット線に対して順次行うことにより、データラッチＶＬ＜７：０＞に、選択ビット線ＢＬ０，ＢＬ２，…，ＢＬ１４のセンスデータをキャッシュすることができる。
【０１１５】
データラッチＶＬ０のデータを外部に出力する時は、ＶＬＳ０＝ＣＳＬ＝Ｘｉ＝Ｙｊ＝“Ｈ”にする。データ線ＩＯｎは初期状態としてＶｄｄにチャージされているものとして、データラッチＶＬ０のデータがＶｄｄならデータ線ＩＯｎの電圧値は変わらず、データが０Ｖならデータ線ＩＯｎをディスチャージする、という動作で外部にデータを転送することが可能になる。
【０１１６】
これにより、ワード線ＷＬの選択時間を最小限に抑えることが可能になる。更に、データラッチ群ＶＬにキャッシュしたデータを外部に出力している間に、別のワード線を選択して読み出し動作が可能である。但し、データラッチ群ＶＬをキャッシュとしてセンスデータを出力している間、図９のデータノードＢＩＳを介して、データ線ＩＯｎにデータ転送を行うと、その間ビット線ＢＬ側のデータをセンスしても、データラッチ群ＶＬに転送することができない。
【０１１７】
これに対しては、センスデータをデータラッチＶＬ，ＶＬＢに交互にキャッシュするようにすれば、データラッチＶＬのセンスデータを出力している間に、次のセンスデータをデータラッチＶＬＢにキャッシュするという動作で、切れ目のないバースト読み出しが可能になる。
【０１１８】
そのような高速読み出しのためには、例えばセルアレイ１ｔ側のデータ読み出しの次は、セルアレイ１ｃ側のデータ読み出しを行うようにすればよい。これにより、セルアレイ１ｔ側のデータラッチ群ＶＬに保持されたセンスデータをデータノードＢＩＳを介して出力している間に、セルアレイ１ｃ側のセンスデータをデータノードＢＩＳＢを介してデータラッチ群ＶＬＢに転送するという動作を、同時に行うことが可能になる。
【０１１９】
図１５は、その様なデータ読み出し動作のタイミング図を示している。セルアレイ１ｔ側のワード線を選択し、ビット線データを順次センスして、選択信号ＶＬＳ０−ＶＬＳ７によりデータラッチＶＬ０−ＶＬ７に転送保持する。このデータラッチＶＬ０−ＶＬ７のデータを順次１６ビットずつ並列にデータ線ＩＯｎを介して出力する間、センスアンプＳ／ＡとデータラッチＶＬＢは空いている。従って図１５に示すように、ビット線ＢＬ側センスデータの出力動作を行っている間に、セルアレイ１ｔ側のワード線を選択し、ビット線ＢＬＢのデータセンスとそのセンスデータのデータラッチＶＬＢ０−７への転送動作を行うことができる。
【０１２０】
また、セルアレイ１ｔ側のデータ読み出しの次もセルアレイ１ｔ側のデータ読み出しである場合、先のセンスデータをデータラッチ群ＶＬにキャッシュし、次のセンスデータをデータラッチ群ＶＬＢにキャッシュするという制御を行えばよい。この場合、ビット線ＢＬ側のセンスデータを、ＯＢＣ２＝“Ｈ”として、出力ノードＯＵＴＢのデータをデータラッチ群ＶＬＢに転送すると、データラッチＶＬに転送した場合とはデータが反転する。
【０１２１】
従って、データラッチ群ＶＬＢのデータを出力する場合には、図１１に示したように、データ線ＩＯｎ上のデータ反転回路を利用して、ＩＮＶＤ＝“Ｈ”，ＩＮＶＢ＝“Ｌ”としてデータを反転させる。データ反転させる必要がない場合は、ＩＮＶＤ＝“Ｌ”，ＩＮＶＢ＝“Ｈ”としてそのまま出力すればよい。
【０１２２】
また、センスアンプ出力ノードＯＵＴのセンスデータを、データラッチ群ＶＬＢに転送すれば、上述のようなデータ反転処理を行わなくてもよい。そのためには、ＯＵＴ−ＢＩＳ側の信号ＯＢＣ１を“Ｈ”とし、同時にＣＳＬ＝ＣＳＬＢ＝“Ｈ”として、センスアンプ出力ＯＵＴとデータノードＢＩＳＢを接続すればよい。この状態で、ＶＬＳＢ０＝“Ｈ”にすれば、センスアンプ出力ＯＵＴのデータをデータラッチＶＬＢに転送することが可能となる。
【０１２３】
データラッチＶＬＢのデータを出力する場合は、ＶＬＳＢ＝ＣＳＬＢ＝Ｘｉ＝Ｙｊ＝“Ｈ”にすることによって、データ線ＩＯｎにデータを転送すればよい。これは、データラッチＶＬのキャッシュデータを出力する場合と同様の動作であり、データ反転等の処理は必要ない。
【０１２４】
ここまでの実施の形態では、同時に読み出しまたは書き込みされるビット線は、全ビット線数の１／２（すなわち偶数番ビット線または奇数番ビット線）である。従って、２ビット線に一つずつデータラッチＶＬ，ＶＬＢが配置された。これに対して、図７に示したように、全ビット線で同時に読み出し及び書き込みが行われる場合には、各ビット線ＢＬ，ＢＬＢ毎にデータラッチＶＬ，ＶＬＢを配置すればよい。
［４値データ記憶］
次に、4値データ記憶に適用した例を説明する。
【０１２５】
図１６は、４値データ記憶の場合の情報セルＩ−ｃｅｌｌと参照セルＲ−ｃｅｌｌａのデータしきい値分布を示している。情報セルＩ−ｃｅｌｌには、図示のように、低い方から順に４つのデータしきい値状態Ｅ，Ａ，Ｂ及びＣが設定される。
【０１２６】
データ状態Ｅは、負しきい値の消去状態である。外部から入力された書き込みデータに従い、書き込みデータが“０”の場合に、データ状態Ｅからデータ状態Ｂにしきい値電圧を上昇させる。書き込みデータが“１”の場合、書き込み禁止であり、データレベルは変化しない。このデータ状態ＥからＢへのしきい値シフトを、ここでは下位ページ（ＬＰ）書き込みという。
【０１２７】
データ状態ＥからＡへ、及びＢからＣへの書き込みを、上位ページ（ＵＰ）書き込みという。この上位ページ書き込みは、下位ページデータにより書き込まれるべきしきい値レベルが異なる。従って、先の書き込まれている下位ページデータ読み出しを行い、その読み出しデータに応じて書き込み制御を行う。
【０１２８】
具体的に説明すると、下位ページデータが“１”の場合（即ちデータ状態Ｅの場合）、書き込みデータ“０”で、データ状態Ａへしきい値電圧を上昇させ、書き込みデータ“１”でデータ状態Ｅを維持する。下位ページデータが“０”の場合（即ちデータ状態Ｂの場合）、書き込みデータ“１”でデータ状態Ｃへしきい値電圧を上昇させ、書き込みデータ“０”でデータ状態Ｂを維持する。
【０１２９】
したがって、各データ状態への上位ページ（ＵＰ）と下位ページ（ＬＰ）のビット割り付けは、データ状態Ｅが（ＵＰ，ＬＰ）＝（１，１）、データ状態Ａが（ＵＰ，ＬＰ）＝（０，１）、データ状態Ｂが（ＵＰ，ＬＰ）＝（０，０）、データ状態Ｃが（ＵＰ，ＬＰ）＝（１，０）となる。
【０１３０】
参照セルＲ−ｃｅｌｌａには、２値データ記憶の場合と同様に、データ状態Ｅを消去状態として、０Ｖ近傍のしきい値電圧の参照レベルＲが書かれるものとする。そして、情報セルＩ−ｃｅｌｌの書き込みベリファイ時には、参照セルＲ−ｃｅｌｌａとのセル電流差検出によるベリファイ読み出しが行われる。
【０１３１】
データ状態Ａ，Ｂ，Ｃの書き込みの際のベリファイ電圧はそれぞれ、ＰＡ，ＰＢ，ＰＣであり、参照セルＲｃｅｌｌａに与えられるベリファイ電圧はＰｒである。これらのベリファイ電圧を用いて、情報セルＩ−ｃｅｌｌのセル電流Ｉｃと、参照セルＲ−ｃｅｌｌａのセル電流（参照電流）Ｉｒとの比較によりデータ判定を行うことは、２値記憶の場合と同様である。
【０１３２】
通常のデータ読み出し時にワード線に与えられるセル読み出し電圧は、各データ状態Ｅ，Ａ，Ｂ，Ｃの間に設定されたＲＡ，ＲＢ，ＲＣが用いられ、参照セルＲ−ｃｅｌｌａに与えられる読み出し電圧は参照レベル上限値に近い電圧Ｒｒが用いられる。この通常読み出し時も、情報セルＩ−ｃｅｌｌのセル電流Ｉｃと、参照セルＲ−ｃｅｌｌａのセル電流Ｉｒとの比較により、データ判定を行う。
【０１３３】
図１６のデータビット割り付けの例では、下位ページ読み出しが読み出し電圧ＲＢを用いた１回の読み出しで可能であるのに対し、上位ページデータ読み出しに、読み出し電圧ＲＡ，ＲＣを用いた２回の読み出し動作が必要である。この場合上位ページデータの判定は、データ“１”の数の奇偶判定により行うことができる。即ち、“１”の数が偶数の場合には上位ページデータは“１”、奇数の場合に“０”と判定できる。
【０１３４】
以上のように、下位ページ書き込みは、２値データ記憶の場合と同様の動作で可能であるが、上位ページ書き込みは、既に書かれている下位ページデータと、外部から入力された書き込みデータにより、どのしきい値レベルに上昇させるかを決定することが必要になる。また、書き込みベリファイ動作においても、どのメモリセルをどのレベルでベリファイ読み出しするかを判別しなければならない。
【０１３５】
図１７は、４値データ記憶に適用される読み出し／書き込み回路２の構成を、１６ビット線に一つのセンスアンプＳ／Ａを配置する場合について、２値記憶の場合の図９と対応させて示している。図９と対応する部分には、同一符号を付して詳細説明は省く。
【０１３６】
２値記憶の場合と同様に、ビット線ＢＬ側には、同時選択されるビット線数と同数のデータラッチ群ＶＬが、ビット線ＢＬＢ側に同様に、ビット線数と同数のデータラッチ群ＶＬＢが配置される。これらデータラッチの構成も、図１０に示す２値記憶の場合と同様である。
【０１３７】
センスアンプＳ／Ａの入力ノードＩＮ，ＩＮＢには、２値記憶の場合と異なり、通常読み出し時のプリチャージ回路２１ａとベリファイ読み出し時のプリチャージ回路２１ｂとが別々に設けられている。４値記憶の場合、ベリファイ読み出し時に書き込むべきデータに応じてビット線プリチャージを行う必要があるためである。
【０１３８】
通常読み出し用のプリチャージ回路２１ａは、制御信号ＮＲにより制御されるトランジスタＱ２４ａと、Ｖｄｄが与えられたトランジスタＱ２７ａの直列回路である。ベリファイ読み出し用のプリチャージ回路２１ｂは、制御信号ＶＲにより制御されるトランジスタＱ２４ｂと、ノードＰＶにより制御されるトランジスタＱ２７ｂの直列回路である。
【０１３９】
ベリファイ制御のため、センス動作後のセンスアンプＳ／Ａの状態制御を行うプルアップ回路（ベリファイ制御回路）２２も、２値記憶の場合とは異なる。即ち制御信号ＲＥＦＲ（或いはＲＥＦＬ）により制御されるＮＭＯＳトランジスタＱ２５と、ノードＰＶ，ＤＨにより制御される併設されたＰＭＯＳトランジスタＱ２６ａ，Ｑ２６ｂとの直列回路により構成されている。ノードＰＶ，ＤＨには書き込みデータが転送される。
【０１４０】
センスアンプＳ／Ａの出力に接続されるデータ転送制御回路ＤＬは、２値記憶の場合より複雑なデータ処理を行う必要があり、図１８に示すように、２値記憶の場合の図１１の構成とは大きく異なる。即ちデータ転送制御回路ＤＬは、ベリファイのためのデータ反転処理等を行うために、データ転送ノードＢＩＳ，ＢＩＳＢに選択的に接続される、クロックトＣＭＯＳインバータを用いた二つのラッチ回路ＣＬ，ＴＬを備える。
【０１４１】
ラッチ回路ＣＬのデータノードＣＬＬ，ＣＬＲは、ＣＭＯＳ転送ゲートＴ１，Ｔ２を介してそれぞれデータ転送ノードＢＩＳ，ＢＩＳＢに接続される。データノードＣＬＬ，ＣＬＲは、選択信号ＬＹｊ，ＲＹｊにより制御されるトランジスタＭＮ１４，ＭＮ１５及び、選択信号Ｘｉにより制御されるトランジスタＭＮ２０を介して、データ線ＩＯｎに選択的に接続される。
【０１４２】
データ転送ノードＢＩＳ，ＢＩＳＢは転送トランジスタＭＮ３，ＭＮ４を介して選択的にセンスアンプＳ／Ａの出力ノードＯＵＴ，ＯＵＴＢ接続される。データ転送ノードＢＩＳ，ＢＩＳＢのデータを、そのまま或いは必要なら反転してデータノードＤＨ，ＰＶに転送するために、これらの間に切り換え回路ＳＷ１，ＳＷ２が構成されている。
【０１４３】
ラッチ回路ＣＬのデータノードＣＬＲ，ＣＬＬによりそれぞれゲートが制御され、ソースがデータ転送ノードＢＩＳ，ＢＩＳＢに接続され、ドレインが共通接続されたＮＭＯＳトランジスタＭＮ１，ＭＮ２は、データの反転処理を行うための排他的論理和（ＸＯＲ）ゲートＧ０を構成する。その共通ドレインは、トランジスタＭＮ８，ＭＮ９により選択的にラッチ回路ＴＬのデータノードＴＬＬ，ＴＬＲのいずれかに接続される。
【０１４４】
即ちＮＭＯＳトランジスタＭＮ１，ＭＮ２の部分では、ラッチ回路ＣＬに保持したデータと、例えばセンスアンプでセンスされてデータ転送ノードＢＩＳ，ＢＩＳＢに送られたデータとの間でＸＯＲ演算がとられる。これにより得られたデータは、ラッチ回路ＴＬに保持される。
【０１４５】
以下、４値データ書き込み及び読み出しの動作を説明する。
【０１４６】
（下位ページ書き込み）
まず、データ状態ＥからＢへのしきい値シフトを行う下位ページ（ＬＰ）書き込みについて説明する。図１７において、ビット線ＢＬ側の偶数番ビット線ＢＬ０，ＢＬ２，…と１ワード線により選択される情報セル群（１ページ）に同時に書き込みを行う場合を考える。
【０１４７】
図１９は、下位ページ書き込みのフローである。コマンド入力に続いて、選択ページアドレスと共に書き込みデータをロードする（ステップＳ１１）。書き込みデータは、ビット線ＢＬ側の書き込みの場合、データラッチ群ＶＬにロードすると共に、これをデータラッチ群ＶＬＢにも転送する（ステップＳ１２）。そして、選択ワード線について書き込み電圧印加動作を行う（ステップＳ１３）。書き込み電圧印加後、その書き込み状態を確認するための書き込みベリファイを行う（ステップＳ１４）。
【０１４８】
次にデータラッチＶＬがオール“０”（ＶＬＤＳ＝“０”）になったか否かの判定である書き込み完了判定を行う（ステップＳ１５）。１ページ内に書き込み不十分なセルがあれば、全てのセルの書き込みが確認されるまで、書き込みを繰り返すことになる。
【０１４９】
“１”書き込みの場合は、ビット線にＶｄｄを、“０”書き込みの場合はビット線に０Ｖを与える必要がある。図１８において、各信号の初期状態は、ＢＩＳＰＶＥ＝ＢＩＳＤＨ＝ＬＭＲＥ＝ＲＭＲＥ＝ＣＬＥ＝ＬＸＥ＝ＲＸＥ＝ＬＴＬＥ＝ＲＴＬＥ＝ＣＯＬＣ＝ＳＡＯＣ＝ＳＡＯＢＣ＝ＤＣ１＝ＤＣ２＝Ｘｉ＝ＲＹｊ＝ＬＹｊ＝“Ｌ”、ＬＩＮＶＢ＝ＲＩＮＶＢ＝ＣＥＬＥＢ＝ＤＣ１Ｂ＝ＤＣ２Ｂ＝ＢＩＳＰ＝“Ｈ”である。
【０１５０】
まず、データ線ＩＯｎを通して、外部から書き込みデータをロードする。Ｘｉ＝ＲＹｊ＝ＣＬＥ＝ＶＬＳ０＝ＣＬＫＢ＝ＤＣ１＝“Ｈ”、ＣＬＫ＝ＤＣ１Ｂ＝ＣＬＥＢ＝“Ｌ”に設定して、外部データをデータラッチＣＬで反転して、データ転送ノードＢＩＳを介してデータラッチＶＬに転送し保持する。
【０１５１】
即ち、外部から入力されたデータが“１”の場合、データラッチＶＬのデータは、ＶＬＤＳ＝“１”，ＶＬＤＢ＝“０”となる。外部入力データが“０”の場合、ＶＬＤＳ＝“０”，ＶＬＤＢ＝“１”となる。
【０１５２】
このようなデータロード動作を、図１７に示す１センスアンプＳ／Ａの範囲で、信号ＶＬＳ０−ＶＬＳ７を順次切り換えて繰り返すことにより、データラッチＶＬ＜７：０＞に外部入力データの反転データを入力することができる。複数センスアンプの範囲で同様のデータロード動作が行われて、所望の１ページの書き込みデータをロードされる。
【０１５３】
すべての書き込みデータを入力後、データラッチ群ＶＬのデータを、ビット線ＢＬＢ側のデータラッチ群ＶＬＢにもロードする。具体的には、ＣＯＬＣ＝“Ｈ”として、データ転送ノードＢＩＳとＢＩＳＢを短絡すると同時に、ＶＬＳ＝ＶＬＳＢ＝“Ｈ”として、データラッチＶＬのデータをデータラッチＶＬＢに転送する。
【０１５４】
この動作をＶＬＳＢ０−ＶＬＳＢ７及びＶＬＳ０−ＶＬＳ７を順次切り替えて繰り返すことにより、データラッチＶＬＢ＜７：０＞に、データラッチＶＬ＜７：０＞と同じデータを入力することができる。
【０１５５】
ビット線ＢＬ側の情報セルの書き込みの場合、データラッチＶＬのデータが、書き込み時のビット線制御電圧を決める。即ち、書き込みデータが“１”，“０”に応じて、ＶＬＤＢ＝Ｖｄｄ，Ｖｓｓとなり、これが転送トランジスタＱ２３及び選択トランジスタＱｅまたはＱｏを介してビット線に与えられる。このときデータラッチＶＬＢの書き込みデータは書き込みが終了するまでそのまま保持し、ベリファイ読み出し時のビット線プリチャージ制御に用いる。
【０１５６】
今後、データラッチＶＬ，ＶＬＢのラッチデータはそれぞれ、ノードＶＬＤＳ，ＶＬＤＳＢの値で示す。
【０１５７】
偶数番ビット線の情報セルに書き込みを行う場合、奇数番ビット線は非選択であり、これら非選択ビット線には、書き込み禁止のための電圧Ｖｄｄを与える。
【０１５８】
選択されているブロックのビット線側選択ゲート線ＳＧＤにはＶｄｄを、ソース線側選択ゲート線ＳＧＳにはＶｓｓを、選択ワード線には書き込み電圧Ｖｐｇｍ（例えば２０Ｖ）を、非選択ワード線に書き込みパス電圧Ｖｐａｓｓ（例えば１０Ｖ）を印加する。
【０１５９】
これにより、ビット線が０Ｖの場合、セルチャネルが０Ｖ、選択ワード線がＶｐｇｍとなり、書き込み（電子注入）が行われる。ビット線がＶｄｄの場合、セルチャネルが容量結合で上昇し、書き込みが行われない。
【０１６０】
ビット線ＢＬＢ側の情報セルに書き込みを行う場合には、外部からの書き込みデータをラッチ回路ＣＬで反転してデータラッチＶＬＢにロードし、それと同じデータをデータラッチＶＬに転送する。そして、データラッチＶＬＢのデータによりビット線電圧制御を行う。それ以外は、ビット線ＢＬ側と変わらない。
（下位ページ書き込みベリファイ）
次に、書き込み電圧が印加された情報セルＩ−ｃｅｌｌのベリファイ読み出しを行う。ベリファイ読み出しは、ビット線ＢＬ側の選択情報セルＩ−ｃｅｌｌとビット線ＢＬＢ側の参照セルＲ−ｃｅｌｌａとの間の電流比較による。このとき、選択情報セルＩ−ｃｅｌｌ側の選択ワード線に与えるベリファイ電圧はＰＢであり、参照セルＲ−ｃｅｌｌａ側の参照ワード線に与えるベリファイ電圧はＰｒである。非選択ワード線には読み出しパス電圧を与える。
【０１６１】
２値記憶の場合と同様に、参照セルブロックＲ−ｃｅｌｌａＢＬＫの書き込み参照レベルＲを０Ｖ近傍とすれば、情報セルブロックＩ−ｃｅｌｌＢＬＫ側の読み出しパス電圧Ｖｒｅａｄに比べて、参照セルブロックＲ−ｃｅｌｌａＢＬＫ側の読み出しパス電圧Ｖｒｅａｄｒは、十分低く設定することができる（図１６参照）。
【０１６２】
情報セルＩ−ｃｅｌｌのセル電流Ｉｃと参照セルＲ−ｃｅｌｌａのセル電流Ｉｒとの比較により、Ｉｃ＜Ｉｒであれば、データ状態Ｂが書かれ、Ｉｃ＞Ｉｒであれば、データ状態Ｅのままである、と判定できる。
【０１６３】
ベリファイ読み出しの初期設定として、ＡＣＣｂ＝ＳＥｂ＝“Ｈ”、ＡＣＣ＝“Ｌ”により、センスアンプＳ／Ａの入力ノードＩＮ，ＩＮＢ及び出力ノードＯＵＴ，ＯＵＴＢを全て、Ｖｓｓに設定する。選択アドレスに従い、ビット線が選択される。例えばビット線ＢＬ０のセルのベリファイ読み出しでは、ＶＴＧＥ＝ＶＴＧＢＥ＝“Ｈ”（例えば５Ｖ）、ＰＢ０＝ＰＢＢ０＝Ｖｄｄとされ、ビット線ＢＬ０，ＢＬＢ０がプリチャージされる。
【０１６４】
ビット線プリチャージは、通常読み出し時はプリチャージ回路２１ａが用いられ、全てのビット線に等しくプリチャージが行われるのに対し、下位ページ書き込みのベリファイ読み出しでは、プリチャージ信号ＶＲと、データノードＰＶのデータにより制御されるプリチャージ回路２１ｂが用いられる。
【０１６５】
具体的にこのプリチャージ回路２１ｂによるプリチャージ動作を説明すれば、次のようになる。まず、プリチャージに先立って、ＶＬＳＢ０＝ＶＬＳ０＝ＢＩＳＶＰＥ＝Ｖｄｄ＋Ｖｔｈに設定して、データラッチＶＬＢ０，ＶＬ０のデータをそれぞれ、ベリファイ制御用のデータノードＰＶ，ＤＨに転送する。
【０１６６】
即ち、データラッチＶＬＢ０のデータは、データノードＢＩＳＢに転送され、更に切り換え回路ＳＷ２のトランジスタＭＮ１８を介して、ノードＰＶに転送される。データラッチＶＬ０のデータは、データノードＢＩＳに転送され、更に切り換え回路ＳＷ１のトランジスタＭＮ１６を介してノードＤＨに転送される。
【０１６７】
従って、データラッチＶＬＢのデータが“１”であれば、プリチャージ回路２１ｂはオンになり、ビット線プリチャージを行う。データラッチＶＬＢのデータが“０”のときは、ノードＰＶ＝“０”によって、プリチャージ回路２１ｂはオフ、従ってビット線プリチャージは行われない。
【０１６８】
この様に、データラッチＶＬＢのデータが“０”であり、“１”書き込みを行う情報セル（書き込み禁止セル）のビット線は、ベリファイ読み出しが必要ないため、ビット線プリチャージも行わない。これにより、余分な消費電力を削減することが可能である。
【０１６９】
以上のプリチャージ終了後、ＡＣＣｂ＝“Ｌ”、ＡＣＣ＝“Ｈ”とすることによって、センスアンプＳ／Ａとビット線を接続する。その後、ＳＥｂ＝“Ｌ”にすることで、センスアンプＳ／Ａは活性化され、入力ノードＩＮ，ＩＮＢのセル電流差を正帰還増幅する。前述のように情報セルＩ−ｃｅｌｌのセル電流Ｉｃが参照電流Ｉｒより大きければ、ＯＵＴ＝“Ｈ”となり、逆の場合ＯＵＴ＝“Ｌ”になる。
【０１７０】
即ち、“０”書き込みされる情報セルのしきい値が所望のデータ状態Ｂになれば、センスアンプ出力は、ＯＵＴ＝“Ｌ”（＝Ｖｓｓ）になる。“０”書き込みされる情報セルのしきい値が所望のデータレベルＢに達していないと、ＯＵＴ＝“Ｈ”（＝Ｖｄｄ）となる。
【０１７１】
一方、データラッチＶＬのデータが“０”で選択情報セルに“０”書き込みが行われない場合（即ち“１”書き込みの場合）、センス出力ＯＵＴは、“Ｈ”になる。これは、そのセンスデータをそのままデータラッチＶＬに転送すると、次のサイクルで“０”書き込みとなる条件である。
【０１７２】
これに対しては、ビット線ＢＬ側のプルアップ回路２２が次のように働く。即ちセンスアンプＳ／Ａに電流を流し始めると同時に、ビット線ＢＬ側のプルアップ回路２２に信号ＲＥＦＲ＝“Ｈ”を与える。そうすると、ノードＤＨに転送されているデータが“０”の場合（即ち“１”書き込みの場合）、プルアップ回路２２がオンになる。これにより、センスアンプＳ／Ａの入力ノードＩＮの電流が供給されて、強制的にセンス出力をＯＵＴ＝“Ｌ”とする。
【０１７３】
以上のセンス出力データは、ＶＬＳ０＝ＳＡＯＣ＝“Ｈ”にすることで、データラッチＶＬ０に転送される。このとき、データラッチＶＬ０では、ＣＬＫＢ＝“Ｈ”、ＣＬＫ＝“Ｌ”とされる。
【０１７４】
以上のベリファイ読み出しで、“０”書き込みが十分行われた情報セルでは、以後“１”書き込みとなり、“０”書き込みが不十分な情報セルでは再度“０”書き込みが行われ、“１”書き込みの情報セルについては再度“１”書き込みとなるように、センスデータに応じてデータラッチＶＬ０の書き込みデータが制御される。
【０１７５】
以上のベリファイ読み出しが、選択された偶数番ビット線ＢＬ０，ＢＬ２，…，について順次行われる。こうして、書かれるべき情報セルが全て書かれるまで、書き込みとベリファイ読み出しとが繰り返される。
【０１７６】
ベリファイ判定は、一括ベリファイ判定回路２３により行われる。書き込みベリファイ後、データラッチ群ＶＬは、全てのセルに所望の書き込みがなされていれば、ＶＬＤＳ（７：０＞＝Ｖｓｓ（＝“０”）、ＶＬＤＢ＜７：０＞＝Ｖｄｄ（＝“１”）となる。従って、あらかじめＰＭＯＳトランジスタＰ０により信号ノードＶＳＥＮをＶｄｄにチャージすると、全選択情報セルの書き込みが完了していれば、ＮＭＯＳトランジスタＮ０−Ｎ７が全てオンして、信号線ＶＳＥＮが０Ｖに放電され、書き込み完了が検出される。信号線ＶＳＥＮが放電されなければ、更に次の書き込み動作が行われることになる。
【０１７７】
ビット線ＢＬＢ側の情報セルのベリファイ読み出しを行う場合は、データラッチＶＬのデータをノードＰＶに転送し、データラッチＶＬＢのデータをノードＤＨに転送するため、切り換え回路ＳＷ１，ＳＷ２では、ＢＩＳＤＨ＝Ｖｄｄ＋Ｖｔｈに設定する。また、センスアンプＳ／Ａに対する選択情報セルと参照セルの入力が逆になるため、ビット線ＢＬＢ側のプルアップ回路２２を動作させるべく、ＲＥＦＬ＝“Ｈ”に設定される。そして、センスアンプＳ／Ａの出力ノードＯＵＴＢのデータはデータラッチＶＬＢに転送される。それ以外はビット線ＢＬ側の場合と同様である。
（上位ページ書き込み）
次に、上位ページ（ＵＰ）データ書き込みについて説明する。図２０は、上位ページ書き込みのフローである。コマンド入力に続いて、アドレスと共に書き込みデータをロードする（ステップＳ２１）。ついで、上位ページ書き込みには既に書かれている下位ページ（ＬＰ）データを参照する必要があるため、これをセルアレイから読み出す（ステップＳ２２）。
【０１７８】
読み出した下位ページデータに対して、書き込むべき上位ページデータに適したデータに変更するためのデータ変更処理を行う（ステップＳ２３）。
【０１７９】
そして、書き込み電圧印加を行い（ステップＳ２４）、データレベルＡ，Ｃの書き込みを確認するためのベリファイ読み出しを順次行う（ステップＳ２５，Ｓ２６）。ベリファイ読み出し後、全ての書き込みが完了したか否かの判定を行い（ステップＳ２７）、書き込み完了が判定されるまで、書き込みと書き込みベリファイを繰り返す。
【０１８０】
図２１には、ビット線ＢＬ側の情報セルに対する上位ページ書き込みにおけるデータラッチＶＬ，ＶＬＢのデータ状態変化を各書き込みデータレベルＥ，Ａ，Ｂ，Ｃについてまとめて示している。
【０１８１】
下位ページ書き込みの場合と異なり、外部からの書き込みデータは、反転させずそのままデータラッチＶＬＢに入力される。また、上位ページ書き込みは下位ページデータを参照する必要があるため、セルアレイから下位ページデータを読み出してデータラッチＶＬに保持する内部データロード（ＩＤＬ）を行う。図２１の“ＩＤＬ”は、セルアレイからの読み出しデータがそのままデータラッチＶＬに保持されるものとした場合のデータラッチＶＬとＶＬＢのデータ状態を示している。
【０１８２】
下位ページ書き込みの場合と同様に、データラッチＶＬのデータを選択されたビット線ＢＬの電圧制御に用いるが、図２１の内部データロードＩＤＬ後のデータは、その様になっていない。そこで、書き込み時“ＰＲＧ”のために、必要なデータレベル変更を行う。具体的には、データラッチＶＬＢのデータが“１”の場合に、データラッチＶＬのデータを反転する。これは実際には、読み出しデータをデータラッチＶＬに転送する際に必要なデータ処理を行う。
【０１８３】
より具体的に説明すれば、データレベルＥの書き込みの場合、しきい値シフトはないため、ビット線ＢＬをＶｄｄにする必要があり、そのためデータラッチＶＬはデータ“０”にする必要がある。またデータレベルＣの書き込みは、データレベルＢからのしきい値シフトをさせるために、ビット線ＢＬを０Ｖにする必要があり、そのためデータラッチＶＬをデータ“１”にする必要がある。
【０１８４】
図２１の書き込み時ＰＲＧのデータ状態は、上述のように、データレベルＥ，Ｃ書き込みに関して、データラッチＶＬのデータ状態が変更されたことを示している。このデータ変更処理は、図１８に示すデータ転送制御回路ＤＬ内のＮＭＯＳトランジスタＭＮ１，ＭＮ２によるＸＯＲゲートＧ０の論理演算により行われる。その手法を、以下に具体的に説明する。
【０１８５】
まず、内部データ読み出しは、データラッチＶＬＢの書き込みデータの如何によらず、通常の読み出し動作による。ビット線プリチャージは、プリチャージ回路２１ａにより行われる。ベリファイ時のプリチャージ回路２１ｂやプルアップ回路２２はオフに保たれる。
【０１８６】
選択情報セル側の選択ワード線には、図１６に示す読み出し電圧ＲＢが与えられ、参照セル側の選択ワード線には読み出し電圧Ｒｒが与えられる。これにより、通常の読み出しと同様に、選択情報セルのデータ状態Ｅ，Ｂがビット線ＢＬ毎に順次センスアンプＳ／Ａにより判定される。
【０１８７】
ビット線ＢＬ０のデータセンス結果は、データラッチＶＬＢ０のデータに応じて必要な反転処理を施してデータラッチＶＬ０に転送する必要がある。そのため、センス動作に先立って、データラッチＶＬＢ０のデータを、ＶＬＳＢ０＝ＣＬＥ＝“Ｈ”、ＣＬＥＢ＝“Ｌ”により、転送制御回路ＤＬ内のデータラッチＣＬに転送する。さらに、ＢＩＳＰ＝“Ｌ”、ＲＴＬＥ＝“Ｈ”にして、ＰＭＯＳトランジスタＭＰ２を介してデータラッチＴＬのノードＴＬＲを充電し、ＴＬＲ＝“Ｈ”，ＴＬＬ＝“Ｌ”の状態に設定しておく。
【０１８８】
この後、ビット線プリチャージとデータセンスを行い、センスデータをＳＡＯＣ＝ＳＡＯＢＣ＝“Ｈ”にすることで、データノードＢＩＳ，ＢＩＳＢに転送する。即ち、センス出力ＯＵＴ，ＯＵＴＢをそれぞれ、データノードＢＩＳ，ＢＩＳＢに接続する。
【０１８９】
これによって、データラッチＣＬに格納されたデータラッチＶＬＢ０のデータとセンス出力とのＸＯＲ論理演算がトランジスタＭＮ１，ＭＮ２によりとられる。即ち、ＶＬＢ０＝“１”の場合に、センス出力データが反転されて、データラッチＶＬ０に転送される。
【０１９０】
更に具体的に、ＸＯＲ論理動作を説明すれば、次の通りである。データラッチＶＬＢ０のデータが“１”の場合、データラッチＣＬのデータによりＮＭＯＳトランジスタＭＮ１がオンになる。このとき、読み出しデータが“０”（ＯＵＴ＝“Ｌ”、従ってＢＩＳ＝“Ｌ”）であれば、ＲＸＥ＝“Ｈ”を与えたとき、データラッチＴＬのノードＴＬＲはＮＭＯＳトランジスタＭＮ１を介して、“Ｌ”に放電される。これをデータラッチＴＬに保持して、更にデータラッチＶＬ０に転送すれば、データラッチＶＬ０のデータは“１”になる。これにより、図２１のセルデータＣの場合のデータラッチＶＬ０のデータ反転が行われる。セルデータＢの場合はデータ反転がない。
【０１９１】
一方、データラッチＶＬＢ０のデータが“０”の場合、ＮＭＯＳトランジスタＭＮ２がオンになる。このとき、読み出しデータが“１”（ＯＵＴＢ＝“Ｌ”、従ってＢＩＳＢ＝“Ｌ”）であれば、ＲＸＥ＝“Ｈ”を与えたときに、データラッチＴＬのノードＴＬＲは、ＮＭＯＳトランジスタＭＮ２を介して“Ｌ”に放電される。これをデータラッチＴＬに保持して更にデータラッチＶＬ０に転送すれば、データラッチＶＬ０のデータは“１”になる。即ち、データラッチＶＬ０のデータは、図２１のデータＡの場合に“１”になり、データＥの場合には読み出しデータが反転された“０”となる。
【０１９２】
以上のデータ反転処理により、図２１の書き込み時“ＰＲＧ”のデータ状態が得られる。その後、ＳＡＯＣ＝ＳＡＯＢＣ＝“Ｌ”として、センス出力ＯＵＴ，ＯＵＴＢとデータノードＢＩＳ，ＢＩＳＢの間の接続を断つ。
【０１９３】
以上の動作を、選択ビット線ＢＬ０，ＢＬ２，…について順次繰り返すことにより、１ページ分のデータラッチＶＬに書き込みデータの初期設定を行うことができる。
【０１９４】
次に、データラッチＶＬに設定された書き込みデータに従って書き込みを行う。即ち、ＤＴ＝Ｖｄｄ＋Ｖｔｈにより、各データラッチＶＬのデータに従って選択ビット線にＶｄｄまたはＶｓｓを与え、ＮＡＮＤセルチャネルの電位制御を行い、選択ワード線に書き込み電圧Ｖｐｇｍを印加する。
【０１９５】
ビット線ＢＬＢ側の情報セルに対する書き込みの場合は、外部データをデータラッチＶＬにロードし、内部読み出しデータの演算処理結果をデータラッチＶＬＢに転送して、これをビット線制御に用いる。内部データ読み出し後の演算時、ＲＸＥ，ＲＴＬＥに代わって、ＬＸＥ，ＬＴＸＥが用いられるが、そのほかビット線ＢＬ側の書き込みと同様である。
（上位ページ書き込みベリファイ）
上位ページ書き込みベリファイは、図１６に示すデータ状態Ａの書き込みを確認するＡレベルベリファイ（ＡＶ）と、データ状態Ｃの書き込みを確認するＣレベルベリファイ（ＣＶ）とを要する。それぞれの選択情報セルのベリファイ読み出し時、図１６に示すベリファイ電圧ＰＡ，ＰＣを用い、参照セル側ではベリファイ電圧Ｐｒを用いて、セル電流比較を行う。
【０１９６】
ベリファイ読み出しには、センス時間として１００ｎｓと、ワード線レベル変更に数μｓとを必要とするため、できるだけ高速化できる駆動方式を用いることが好ましい。具体的にベリファイ読み出しのためのワード線駆動方式として、図２２に示す３方式が考えられる。
【０１９７】
（ａ）の第１駆動方式は、Ａレベルベリファイ（ＡＶ）及びＣレベルベリファイ毎にワード線レベルを切り換えるものである。この方式では全ビット線のベリファイに１５回のワード線電圧切り換えを必要とする。
【０１９８】
（ｂ）の第２駆動方式は、ワード線レベルを切り換えずにＡＶを２回ずつ繰り返し、同様にＣＶを２回ずつ繰り返し、それらの間にワード線レベル切り換えを行う。但し、２回のＡＶの間、２回のＣＶの間にビット線リセット（ＲＳ）を必要とする。この方式では、ワード線切り換えは、８回になる。
【０１９９】
（ｃ）の第３駆動方式では、同じワード線レベルのまま、全ビット線について、ＡＶを行い、ワード線レベルを切り換えて、全ビット線についてＣＶを行う。この方式は、ワード線レベル切り換えが１回であり、最も高速のベリファイ読み出しが可能である。
【０２００】
この実施の形態では、（ｃ）の第３駆動方式を用いるものとする。
【０２０１】
上位ページのベリファイ読み出しも、基本的に下位ページベリファイ読み出しと同様に、データラッチＶＬとＶＬＢのデータを利用するが、ここでは、データラッチＶＬＢのデータが“１”の場合にのみベリファイ読み出しを行うものと定める。
【０２０２】
上位ページ書き込みが終わった時点で、データラッチＶＬＢは、図２１の書き込み時ＰＲＧの状態にある。ＣレベルベリファイにはこのデータラッチＶＬＢのデータをそのまま用いることができるが、Ａレベルベリファイ読み出しではデータを反転することが必要になる。
【０２０３】
図２１のＡレベルベリファイの欄では、データラッチＶＬＢのデータを反転した状態を示している。Ａレベルベリファイ読み出しの後、Ｃレベルベリファイ読み出しを行うには、データラッチＶＬＢのデータを再度反転することが必要となる。
【０２０４】
このデータラッチＶＬＢの反転動作は、転送制御回路ＤＬ内の例えばデータラッチＣＬを利用して次のように行われる。まず、ＢＩＳＰ＝“Ｌ”、ＲＭＲＥ＝“Ｈ”として、ＰＭＯＳトランジスタＭＰ１をオン、ＮＭＯＳトランジスタＭＮ１２，ＭＮ１３をオンにすることにより、データラッチＣＬのノードＣＬＲを“Ｌ”レベルに設定する。
【０２０５】
次に、ＶＬＳＢ＝“Ｈ”にしてデータラッチＶＬＢのデータをノードＢＩＳＢに転送し、同時にＲＩＮＶＢを“Ｈ”にする。データラッチＶＬＢのデータが“１”の場合（ＢＩＳＢ＝“Ｈ”）、ＰＭＯＳトランジスタＭＰ６はオフを保ち、ノードＣＬＲは“０”を保持する。データラッチＶＬＢのデータが“０”の場合、ＰＭＯＳトランジスタＭＰ５，ＭＰ６がオンになり、ノードＣＬＲが充電されて“１”になる。
【０２０６】
この状態をデータラッチＣＬに保持し、その後転送ゲートＴ２を介し、データノードＢＩＳＢを介してデータラッチＶＬＢに転送する。これにより、図２１のＡレベルベリファイＡ−Ｌｅｖｅｌ  Ｖｅｒｉｆｙ）の欄に示すように、書き込み時のデータラッチＶＬＢのデータ反転が行われる。
【０２０７】
以上のデータ反転動作を、１センスアンプ当たり８個のデータラッチＶＬＢ０−ＶＬＢ７について、順次行う。
【０２０８】
次に、Ａレベルベリファイ読み出し動作を説明すると、まずデータラッチＶＬのデータをデータラッチＣＬに転送する。その後、データラッチＶＬ及びＶＬＢのデータをそれぞれノードＢＩＳ及びＢＩＳＢに転送し、更にＢＩＳＰＶＥ＝“Ｈ”として、その転送データをそれぞれ、ベリファイ制御用のノードＤＨ及びＰＶに与える。
【０２０９】
ＰＶ＝“１”の場合（即ちＶＬＢ＝“１”の場合）、図１７において、信号ＶＲを“Ｈ”にすると、ベリファイ用プリチャージ回路２１ｂがオンになり、ビット線がプリチャージされる。ＰＶ＝“０”場合は、ビット線はプリチャージされず、ベリファイ読み出しが行われない。
【０２１０】
また、Ａレベルベリファイ読み出しでは、ＶＬＢ＝“０”の場合（即ちデータ状態Ｅ，Ｃ書き込みの場合）および、ＶＬ＝“０”の場合（即ちデータ状態Ｅ，Ｂ書き込みの場合）、強制的にセンスアンプＳ／Ａの出力をＯＵＴ＝“Ｌ”にする。これは、ビット線ＢＬ側が選択されている場合は、このビット線ＢＬ側のプルアップ回路２２による。即ち、ＰＶ＝“０”の場合、或いはＤＨ＝“０”の場合、信号ＲＥＦＲ＝“Ｈ”を与えると、ビット線ＢＬ側のプルアップ回路２２がオンして、センスアンプ入力ノードＩＮに電流が流れ込み、ＯＵＴ＝“０”となる。
【０２１１】
従って、ＰＶ＝ＤＨ＝“１”の場合（即ちデータレベルＡ書き込みの場合）のみ、通常通りベリファイ読み出しが行われる。ビット線ＢＬ側の選択情報セルのしきい値が所望の値まで上昇し、セル電流が参照電流より小さくなることにより、ＯＵＴ＝“Ｌ”が得られ、 それ以外はＯＵＴ＝“Ｈ”となる。図２１で、Ａレベルベリファイの欄でデータラッチＶＬに示されている“ＲＤ”は、ベリファイ読み出しの結果に応じて、“０”または“１”となることを示している。
【０２１２】
但し、ベリファイ読み出しデータをデータラッチＶＬに正しく転送するためには、更にベリファイ読み出し中に、データラッチＣＬに保持されているデータラッチＶＬのデータの再設定が必要である。これは、ＬＭＲＥ＝“Ｈ”を与えることにより行う。このとき、ＢＩＳＢ＝“１”であれば、ＮＭＯＳトランジスタＭＮ１０，ＭＮ１１がオンになり、ノードＣＬＬが“Ｌ”に設定される。ＢＩＳＢ＝“０”の場合（即ちベリファイ読み出しを行わない場合）場合は、データラッチＣＬのデータをそのまま保持する。
【０２１３】
ＶＬＢ＝“０”の場合、センスアンプ出力は、ＯＵＴ＝“Ｌ”になる。従って、その後、センスアンプ出力ＯＵＴをノードＢＩＳに転送し、ＲＭＲＥ＝“Ｈ”にしても、データラッチＣＬの変化はない。これにより、データラッチＶＬからＣＬに転送されたデータは保持される。
【０２１４】
ＶＬＢ＝“１”の場合は、前述のようにデータラッチＣＬのノードＣＬＬが強制的に“Ｌ”に設定される。そして、ベリファイ読み出しの結果、センスアンプ出力がＯＵＴ＝“Ｈ”であれば、これをノードＢＩＳに転送して、ＲＭＲＥ＝“Ｈ”にすると、データラッチＣＬのデータは反転する。ＯＵＴ＝“Ｌ”の場合は、その様なデータ反転はない。即ち、ＶＬＢ＝“１”の場合に、ベリファイ読み出しによるセンス出力に応じて、データラッチＣＬのデータが再設定される。
【０２１５】
このデータラッチＣＬのデータをデータラッチＶＬに戻すことにより、１回のベリファイ読み出しが完了する。
【０２１６】
以上のＡレベルベリファイ読み出しを、図２２（ｃ）に示すように、全選択ビット線について順次行う。
【０２１７】
次に、Ｃレベルベリファイ読み出しを行う。なお、Ａレベルベリファイ読み出しとＣレベルベリファイ読み出しの順序は問わない。Ａレベルベリファイを先にした場合は、前述のようにデータラッチＶＬＢのデータ反転を行っているため、Ｃレベルベリファイのためにそのデータを再度反転する操作が必要になる。Ｃレベルベリファイを先にする場合には、書き込み時ＰＲＧのデータラッチＶＬＢのデータをそのまま用いることができる。
【０２１８】
ベリファイ読み出しの基本動作は、Ａレベルの場合と同様である。即ち、データラッチＶＬのデータは、転送制御回路ＤＬ内のデータラッチＣＬに転送される。そして、ベリファイ読み出しの結果、データラッチＶＬＢのデータに従って、データラッチＣＬのデータが保持されるか、センス出力と同じ値に設定されるかが決まる。
【０２１９】
また、Ｃレベルベリファイ時には、図２１に示すように、ＶＬＢ＝“１”によりＥレベルの書き込みセルに対するベリファイ読み出しが行われる。これに対しては、ベリファイ制御用プルアップ回路２２により、センス出力がＯＵＴ＝“Ｌ”に強制設定される。即ち、Ｅレベル書き込みセルについては、ＶＬ＝“０であり、このデータをノードＢＩＳを介してノードＤＨに“Ｌ”を転送することにより、ＲＥＦＲ＝“Ｈ”を与えるとビット線ＢＬ側のプルアップ回路２２がオンして、ＯＵＴ＝“Ｌ”が設定される。
【０２２０】
また、ＶＬＢ＝“０”場合も強制的にＯＵＴ＝“Ｌ”になる。
【０２２１】
以上により、ＶＬＢ＝“１”でかつ、ＶＬ＝“１”の場合（即ち、Ｃレベル書き込みの場合）のみ、通常通りベリファイ読み出しが行われ、センス結果に従ってデータラッチＣＬが設定される。
【０２２２】
データラッチＣＬのデータは、データラッチＶＬに転送する。同様のベリファイ読み出し動作を全選択ビット線ＢＬについて繰り返す。
【０２２３】
１サイクルの書き込みとＡレベルベリファイ及びＣレベルベリファイが終わった後、一括ベリファイ判定回路２３によりベリファイ判定を行う。ＥまたはＢレベルに書き込まれる情報セルについては、内部データリード後、ＶＬ＝“１”（即ち、ＶＬＤＢ＝Ｖｄｄ）に設定される。更に、全ての情報セルで書き込みが終わった状態では、ＶＬＤＢ＜７：０＞＝Ｖｄｄになる。
【０２２４】
従って、あらかじめＶｄｄにチャージされていた信号線ＶＳＥＮは、すべの書き込みが完了すると、ＶＳＥＮ＝“Ｌ”になり、書き込み完了が判定できる。一括ベリファイ判定の結果、ＶＳＥＮ＝“Ｌ”が得られない場合は、更に次の書き込みサイクルが行われる。
【０２２５】
ビット線ＢＬＢ側の情報セルの書き込みベリファイを行う場合は、情報セルと参照セルのセンスアンプへの入力関係が、ビット線ＢＬ側の情報セルの場合と逆になり、データラッチＶＬとＶＬＢの用い方も逆になる。従って、データラッチＶＬＢ，ＶＬのデータをそれぞれ、ノードＤＨ，ＰＶに転送する際は、ＢＩＳＰＶＥに代わってＢＩＳＤＨ＝“Ｈ”により切り換え回路ＳＷ１，ＳＷ２をオンにする。更に、ＲＭＲＥ，ＲＩＮＶＢ，ＲＸＥ等に代わって、ＬＭＲＥ，ＬＩＮＶＢ，ＬＭＥ等が用いられる。その他、ベリファイ読み出しの基本動作は、ビット線ＢＬ側と変わらない。
（下位ページ読み出し）
下位ページ読み出しは、図１６に示す読み出し電圧ＲＢ，Ｒｒを用いて、データ状態Ｅ及びＡをデータ“１”として、データ状態Ｂ及びＣをデータ“０”として読み出す。これは、２値データ読み出しと同じである。
【０２２６】
セルアレイとセンスアンプ配置が、２値データ記憶の場合について図１４で説明したものと同じであるとする。高速読み出しを行うには、やはり２値データ記憶方式の場合と同様に、データラッチＶＬ或いはＶＬＢをキャッシュとして利用する。
【０２２７】
例えば、ビット線ＢＬ側の偶数番ビット線が選択されている場合、選択ワード線レベルを維持したまま、ビット線ＢＬ０，ＢＬ２，…，ＢＬ１４のセンスデータを順次データラッチＶＬ０，ＶＬ１，…，ＶＬ７に転送する。
【０２２８】
図１５で説明したと同様に、セルアレイ１ｔ側の下位ページデータをセンスしてデータラッチＶＬにキャッシュし、これをカラム選択して出力する間に、セルアレイ１ｃ側の別の下位ページデータをセンスして、データラッチＶＬＢにキャッシュする動作を行うことができる。これにより、ワード線選択時間を最小限に抑え、切れ目のないバースト読み出しができる。
【０２２９】
また、セルアレイ１ｔ側のデータ読み出しの次もセルアレイ１ｔ側のデータ読み出しである場合、先のセンスデータをデータラッチ群ＶＬにキャッシュし、次のセンスデータをデータラッチ群ＶＬＢにキャッシュするという制御を行えばよい。この場合、ビット線ＢＬ側のセンスデータを、ＯＢＣ２＝“Ｈ”として、出力ノードＯＵＴＢのデータをデータラッチ群ＶＬＢに転送すると、データラッチＶＬに転送した場合とはデータが反転する。
【０２３０】
従って、データラッチ群ＶＬＢのデータを出力する場合には、図１１に示したように、データ線ＩＯｎ上のデータ反転回路を利用して、ＩＮＶＤ＝“Ｈ”，ＩＮＶＢ＝“Ｌ”としてデータを反転させる。データ反転させる必要がない場合は、ＩＮＶＤ＝“Ｌ”，ＩＮＶＢ＝“Ｈ”としてそのまま出力すればよい。
【０２３１】
センスアンプ出力ノードＯＵＴＢからデータラッチＶＬＢへのデータ転送と、データラッチＶＬからデータ線ＩＯｎへのデータ転送が衝突しないようにするために、次のような手当を行うことも有効である。例えば、内部データバス幅１６Ｉ／Ｏで３０ｎｓサイクルでデータ出力を行う方式から、内部バス幅を３２Ｉ／Ｏに増やし、６０ｎｓサイクルでデータ転送を行うものとして、その６０ｎｓを２分割して、センス出力のデータラッチＶＬＢへの転送と、データラッチＶＬからデータ線ＩＯｎへの転送とを時分割で行う。
【０２３２】
これにより、データ衝突を回避することが可能になる。
【０２３３】
なお内部バス幅を多くした場合は、データ出力パッドの前にデータラッチを設けることにより、データ出力パッド数より多い数のデータが内部バスにより転送される場合でも、対応可能である。
（上位ページ読み出し）
上位ページ読み出しは、図１６に示す読み出し電圧ＲＡとＲＣを用いた２回のデータセンスを行い、これにより得られる“１”データ数の偶奇判定を行う。２回のデータセンスの順番は問わない。“１”データ数が偶数であれば、上位ページデータはＵＰ＝“１”であり、奇数であればＵＰ＝“０”となる。
【０２３４】
上位ページ読み出しにおいても、ワード線レベル遷移をできるだけ少なくすることが好ましい。そのため、例えばビット線ＢＬ側の偶数番ビット線と１ワード線が選択された場合、まず読み出し電圧ＲＡでのデータセンスを、ビット線ＢＬ０，ＢＬ２，…について順次行って、そのセンス結果をデータラッチＶＬ０，ＶＬ２，…に転送保持する。
【０２３５】
次いで、ワード線レベルを読み出し電圧ＲＣに切り換えて、同様にデータセンスをビット線ＢＬ０，ＢＬ２，…について順次行い、これらの各データセンスの結果と、対応するデータラッチＶＬ０，ＶＬ２，…が保持する先のセンスデータとの間の演算により順次上位ページデータを確定する。
【０２３６】
具体的に、ビット線ＢＬ側の情報セルとビット線ＢＬＢ側の参照セルとが選択された場合について説明する。情報セル側、参照セル側のワード線レベルはそれぞれ読み出し電圧ＲＡ，Ｒｒに設定する。そして、プリチャージ回路２１ａによりビット線ＢＬ０のプリチャージを行い、データセンスする。センス後、ＳＡＯＣ＝“Ｈ”にすることによって、センス出力ＯＵＴのデータをノードＢＩＳに転送し、更にこれをデータラッチＶＬ０に転送する。
【０２３７】
同様に次のビット線ＢＬ２についてデータセンスを行い、センス結果をデータラッチＶＬ１に転送する。以下、同様のデータセンスとセンス結果の転送動作を全選択ビット線について繰り返す。
【０２３８】
次に、選択ワード線レベルを、読み出し電圧ＲＣに変更して、データセンスを行うが、その際ビット線プリチャージに先立って、データラッチＶＬのデータを転送制御回路ＤＬ内のデータラッチＣＬに転送する。更に、データラッチＶＬのデータをデータラッチＣＬに転送後、ＢＩＳＰ＝“Ｌ”，ＲＴＬＥ＝“Ｈ”として、オンしたＰＭＯＳトランジスタＭＰ２，ＮＭＯＳトランジスタＭＮ７により、データラッチＴＬのノードＴＬＲを“Ｈ”に設定する。これは、次のセンス結果と、データラッチＶＬが保持するセンス結果との間でＸＯＲによる偶奇判定を、転送制御回路ＤＬ内で行うためである。
【０２３９】
続いてビット線プリチャージを行い、データセンスを行う。センス結果をＳＡＯＣ＝ＳＡＯＢＣ＝“Ｈ”にすることで、ノードＢＩＳ，ＢＩＳＢに転送し、これとデータラッチＣＬのデータとのＸＯＲ演算を、ＮＭＯＳトランジスタＭＮ１，ＭＮ２を用いて行う。即ち、ＲＸＥ＝“Ｈ”を与えたときに、ＮＭＯＳトランジスタＭＮ１，ＭＮ２によりデータラッチＴＬの“Ｈ”に設定されたノードＴＬＲが放電されるか否かにより、データラッチＴＬにＸＯＲ演算結果がラッチされる。
【０２４０】
具体的に説明する。先のセンスデータがデータラッチＶＬからデータラッチＣＬに転送されている。そのデータが例えばＣＬＬ＝“Ｈ”（＝“１”）であり、ＯＵＴからＢＩＳに転送されたセンスデータが、ＢＩＳ＝“Ｈ”（＝“１”）である場合、ＮＭＯＳトランジスタＭＮ１がオンであるが、データラッチＴＬのノードＴＬＲの“Ｈ”は維持される。また、先のセンスデータがＣＬＬ＝“Ｌ”であり、後のセンスデータがＢＩＳ＝“Ｌ”の場合、ＮＭＯＳトランジスタＭＮ２がオンするが、やはりデータラッチＴＬのノードＴＬＲは“Ｈ”に維持される。
【０２４１】
これに対して、先のセンスデータがＣＬＬ＝“Ｈ”であり、後のセンスデータがＢＩＳ＝“Ｌ”の場合及び、先のセンスデータがＣＬＬ＝“Ｌ”であり、後のセンスデータが“Ｈ”の場合、データラッチＴＬのノードＴＬＲは、ＮＭＯＳトランジスタＭＮ１又はＭＮ２により放電される。
【０２４２】
以上により、“１”データ数の偶奇判定演算が行われ、上位ページ読み出しデータが得られる。この演算結果即ちデータラッチＴＬのデータは、上位ページデータとしてデータラッチＶＬに転送される。
【０２４３】
以上のようなデータセンスと、そのセンス結果の先のセンスデータとの演算を、ビット線ＢＬ０，ＢＬ２，…について順次行い、データラッチＶＬ０，ＶＬ２，…にその結果が転送される。
【０２４４】
ビット線ＢＬＢ側の情報セルが選択された場合も、データラッチＶＬの代わりにデータラッチＶＬＢの用い、転送制御回路ＤＬ内でのデータ処理にはデータラッチＣＬ，ＴＬの逆のデータノードを用いるほか、上述と同様である。
【０２４５】
データラッチＶＬの読み出しデータを外部に出力する時は、ＶＬＳ＝ＣＬＥ＝Ｘｉ＝ＬＹｊ＝“Ｈ”、ＣＬＥＢ＝“Ｌ”にする。データ線ＩＯｎは初期状態としてＶｄｄに設定されているものとすれば、データラッチＶＬのデータがＶｄｄの場合電圧は変わらず、データが０Ｖであればデータ線ＩＯｎを放電することで、外部に読み出しデータを転送することができる。
【０２４６】
データラッチＶＬＢのデータを出力する場合には、ＬＹｊに代わってＲＹｊを“Ｈ”にする。
（他の実施の形態）
４値データ記憶方式の他の実施の形態を次に説明する。
【０２４７】
上位ページ書き込みの場合、図１６及び図２０で説明したように、データ状態Ａとデータ状態Ｃに対する書き込みは同時に行う。この場合、データ状態Ｃのしきい値が高いために、データ状態Ａの書き込みが全て終了しているにもかかわらず、データ状態Ｃが未だ書き込み終了しないという事態が生じうる。
【０２４８】
上述の実施の形態では、同時に書き込まれるデータ状態Ａ，Ｃの書き込みが全て終了したときに「書き込み完了」と判定されるように、図１７の一括ベリファイ判定回路２３が構成されている。即ちデータ状態Ａの書き込みが完了していても、データ状態Ｃの書き込みが完了していなければ、Ａレベルベリファイは行われる。
【０２４９】
これに対して、データ状態Ａの書き込みが終了し、データ状態Ｃの書き込みが残っている場合には、以後Ｃレベルベリファイのみを行うようにすれば、全体の書き込み時間短縮につながる。
【０２５０】
そこでこの実施の形態では、図１７に代わって、図２３に示すように、カラム単位で或いは書き込みレベル単位でベリファイ判定ができるように、一括ベリファイ判定回路２３を構成する。具体的に、データ転送ノードＢＩＳ，ＢＩＳＢは、１６ビット線毎に８個ずつ設けられるデータラッチＶＬ，ＶＬＢと、１６ビット線毎に一つずつ設けられるセンスアンプＳ／Ａとの間の共通ノードであるが、一括ベリファイ判定回路２３の判定用トランジスタは、これらのデータノードＢＩＳ，ＢＩＳＢにゲートが接続された一つのＮＭＯＳトランジスタＮ０のみとしている。
【０２５１】
前述のように、同時に選択される８ビット線に対して１センスアンプＳ／Ａが設けられ、１書き込みサイクルで８回ずつのＡレベルベリファイとＣレベルベリファイが行われるものとする。８回のＡレベルベリファイ読み出しのセンス出力ＯＵＴ（又はＯＵＴＢ）は、データノードＢＩＳ（又はＢＩＳＢ）を介してデータラッチＶＬ０−ＶＬ７（又はＶＬＢ０−ＶＬＢ７）に順次転送される。
【０２５２】
その各ベリファイ読み出し毎に、データノードＢＩＳ（又はＢＩＳＢ）の“Ｈ”，“Ｌ”をベリファイ判定回路２３で判定する。即ち、予め充電されたベリファイ回路２３の信号線ＶＳＥＮ（又はＶＳＥＮＢ）はＢＩＳ（又はＢＩＳＢ）が“Ｈ”（書き込み未完了）であれば放電され、“Ｌ”（書き込み完了）であればレベルを維持する。
【０２５３】
この信号線ＶＳＥＮ（又はＶＳＥＮＢ）の判定結果を、Ａレベルベリファイ読み出しのときは、図２４Ａに示す８個のデータラッチＬＴ０−ＬＴ７に順次転送し、Ｃレベルベリファイ読み出しのときは、図２４Ｂに示す８個のデータラッチＬＴ０−ＬＴ７に順次転送する。
【０２５４】
即ち、図２４Ａでは、信号線ＶＳＥＮ（又はＶＳＥＮＢ）の結果が、Ａレベルベリファイ読み出し時に発生される信号ＡＳＶＳＥＮ（又はＡＳＶＳＥＮＢ）によりそれぞれ選択され、カラム選択信号ＣＯＬ０−ＣＯＬ７により選択されて、データラッチＬＴ０−ＬＴ７に保持される。
【０２５５】
同様に図２４Ｂでは、信号線ＶＳＥＮ（又はＶＳＥＮＢ）の結果が、Ｃレベルベリファイ読み出し時に発生される信号ＣＳＶＳＥＮ（又はＣＳＶＳＥＶＢ）によりそれぞれ選択され、カラム選択信号ＣＯＬ０−ＣＯＬ７により選択されて、データラッチＬＴ０−ＬＴ７に保持される。
【０２５６】
図２４Ａ及び２４ＢのデータラッチＬＴ０−ＬＴ７の出力ＡＣＰＥ０−ＡＣＰＥ７及びＣＣＰＥ０−ＣＣＰＥ７はそれぞれＮＯＲ論理がとられて、判定結果が判定ノードＡＰＲＧＥ，ＣＰＲＧＥに出力される。
【０２５７】
従って、８回のＡレベルベリファイの結果は、図２４ＡのデータラッチＬＴ０−ＬＴ７に保持され、その全てがパス（ＡＣＰＥ０−７＝“Ｌ”）であれば、ＡＰＲＧＥ＝“Ｈ”となる。同様に、８回のＣレベルベリファイの結果は、図２４ＢのデータラッチＬＴ０−ＬＴ７に保持され、その全てがパス（ＣＣＰＥ０−７＝“Ｌ”）であれば、ＣＰＲＧＥ＝“Ｈ”となる。以上により、ＡレベルベリファイとＣレベルベリファイとを独立に制御することが可能になる。
【０２５８】
ＮＡＮＤ型フラッシュメモリにおいて、データしきい値電圧の分布を小さくするために、書き込み時にビット線に中間電位を与える手法は既に提案されている。書き込むセルに対して、ビット線に０Ｖを与えるか、中間電位を与えるかは、ベリファイ読み出しの結果によって決定する。この手法は、この発明においても有効である。
【０２５９】
図２５に示すように、データ状態Ａ（或いはＢ，Ｃ）の書き込みについて、本来のベリファイレベルＰＡ（或いはＰＢ，ＰＣ）よりも低いベリファイレベルＶＡＬ（或いはＶＢＬ，ＶＣＬ）を用いたベリファイ読み出しを行い、そのしきい値レベルに達したら、以後の書き込みではビット線に中間電位を与える。この手法によって、同じワード線電圧を与えている場合であっても、ビット線電圧によって、メモリセルのしきい値変動率を変えることができ、しきい値電圧分布をより小さくすることが可能になる。
【０２６０】
この書き込み手法を適用する場合、データ転送制御回路ＤＬ部を、図１８に代わって、図２６のように変更する。即ち、ラッチ回路ＴＬに代わって、１センスアンプＳ／Ａに用意される書き込み用データラッチＶＬ（ＶＬＢ）と同様、８個のラッチ回路ＳＬ（ＳＬ０−ＳＬ７）を併設する。
【０２６１】
これらのラッチ回路ＳＬは、ビット線に中間電位を与えるか否かの情報を記憶するために用いられるが、そのうちラッチ回路ＳＬ７は、図１８におけるラッチ回路ＴＬと同じ用途に使用されるものとする。
【０２６２】
図２７は、下位ページ書き込みのフローを、図１９と対応させて示している。図１９と異なる点は、ベリファイ読み出しに、本来より低いベリファイ電圧ＶＢＬを用いたステップＳ１４ａと、本来のベリファイ電圧ＰＢを用いたステップＳ１４ｂとが順次行われることである。これらのステップＳ１４ａ，Ｓ１４ｂの結果によって、次の書き込みステップでビット線に中間電位を与えるか否かを決定する。
【０２６３】
図２８は、上位ページ書き込みのフローを図２０と対応させて示している。図２０と異なる点は、Ａレベルベリファイ読み出しに、本来より低いベリファイ電圧ＶＡＬを用いたステップＳ２５ａと、本来のベリファイ電圧ＰＡを用いたステップＳ２５ｂとが順次行われ、同様にＣレベルベリファイ読み出しに、本来より低いベリファイ電圧ＶＣＬを用いたステップＳ２６ａと、本来のベリファイ電圧ＰＣを用いたステップＳ２６ｂとが順次行われることである。
【０２６４】
ビット線に中間電位を与える方式の上位ページ書き込みについて、具体的に説明する。ビット線ＢＬ側の情報セルに対する書き込みであるとして、外部入力書き込みデータの反転データをデータラッチＶＬにロードし（ステップＳ１１）、その後に同じデータをデータラッチＶＬＢにも転送する（ステップＳ１２）。この時更に、データラッチＳＬにも外部データの反転データを入力する。
【０２６５】
そして、先の実施の形態と同様に書き込みを行う（ステップＳ１３）。書き込み後、本来のベリファイレベルより低いベリファイレベルＶＢＬでのベリファイ読み出しを行う（ステップＳ１４ａ）。この時、ノードＤＨにはデータラッチＳＬのデータを転送し、ノードＰＶにはデータラッチＶＬＢのデータを転送する。ＶＬＢ＝ＰＶ＝“１”の場合のみ、ビット線プリチャージが行われ、ベリファイ読み出しがが行われる。
【０２６６】
選択情報セルがベリファイ電圧ＶＢＬ以上であれば、センスアンプ出力はＯＵＴ＝“Ｌ”になる。このセンス結果はデータラッチＳＬに入力する。また、ＶＬＢ＝ＰＶ＝“０”の場合又は、ＳＬ＝ＤＨ＝“０”の場合は、センス出力は強制的にＯＵＴ＝“Ｌ”となる。これもデータラッチＳＬに入力する。以上のベリファイ読み出しが順次ビット線を選択して繰り返し行われる。
【０２６７】
次に、本来のベリファイレベルＰＢでベリファイ読み出しを行う（ステップＳ１４ｂ）。この時、ノードＤＨ，ＰＶにはそれぞれ、データラッチＶＬ，ＶＬＢのデータを転送し、先のステップと同様のベリファイ読み出しを行う。そのセンス結果はデータラッチＶＬに入力する。これもビット線を順次選択して行われる。
【０２６８】
以上の２回のベリファイ読み出しの結果に基づいて、次の書き込み時のビット線電圧制御を行う。ビット線電圧制御は、基本的には、制御信号ＤＴに“Ｈ”レベルを与えて、データラッチＶＬのデータに応じてビット線にＶｓｓ（“０”書き込みの場合）又はＶｄｄ（“１”書き込み即ち“０”書き込み禁止の場合）を与えるものである。
【０２６９】
この実施の形態では、ビット線に書き込み状態に応じて中間電圧を与えるために、転送トランジスタＱ２３の制御信号ＤＴ（又はＤＴＢ）のレベルを切り換えた２回のビット線電圧制御を行う。これを具体的に、図２９を用いて説明する。
【０２７０】
図２９は、セルしきい値との関係で、２回のビット線電圧制御（１），（２）と、データラッチＶＬ，ＳＬのデータを示している。上述した２回のベリファイ読み出しの結果は、選択情報セルのしきい値との関係で、データラッチＶＬ，ＳＬのデータが図２９のビット線電圧制御（１）の状態になる。
【０２７１】
即ち、情報セルのしきい値が低いベリファイレベルＶＢＬより低ければ、２回のベリファイ読み出しによるデータラッチＳＬ，ＶＬのデータが共に“１”である。情報セルのしきい値がベリファイレベルＶＢＬより高いが本来のベリファイレベルＰＢより低ければ、２回のベリファイ読み出しによるデータラッチＳＬ，ＶＬのデータはそれぞれ、“０”，“１”となる。情報セルのしきい値が本来のベリファイレベルＰＢより高ければ、２回のベリファイ読み出しによるデータラッチＳＬ，ＶＬのデータは共に“０”である。
【０２７２】
最初のビット線電圧制御（１）は、ＤＴ＝Ｖｄｄ＋Ｖｔｈを与えて、データラッチＶＬのデータによりビット線電圧を与える。従って、セルしきい値がＶｔｈ＜ＰＢであれば、ビット線にはＶｓｓ（書き込み状態）が、Ｖｔｈ＞ＰＢであれば、ビット線にＶｄｄ（書き込み禁止状態）が与えられる。
【０２７３】
このビット線電圧制御（１）を行った後、データラッチＳＬのデータをデータラッチＶＬに転送して、例えば、ＤＴ＝Ｖｄｄ／２＋Ｖｔｈを与えて次のビット線電圧制御（２）を行う。このとき、図２９に示すように、セルしきい値がＶＢＬ＜Ｖｔｈ＜ＶＰＢの場合にデータラッチＶＬのデータが反転して、“０”になる。これにより、２回目のビット線電圧制御（２）では、しきい値がＶＢＬ＜Ｖｔｈ＜ＰＢのセルに対しては、ビット線電圧を、書き込み条件の緩い“０”書き込みとなる電圧Ｖｄｄ／２に設定することができる。
【０２７４】
以上の２回のビット線電圧制御（１），（２）を行った後、通常通り書き込み電圧を印加する（ステップＳ１３）。同様の書き込み動作を、レベルＢまで書き込むべき情報セルが全てレベルＢになるまで行う。
【０２７５】
上位ページ書き込み時のビット線電位制御も同様にして可能である。
【図面の簡単な説明】
【０２７６】
【図１】この発明の一実施の形態によるフラッシュメモリの機能ブロック構成を示す図である。
【図２】同フラッシュメモリのメモリセルアレイのブロック構成を示す図である。
【図３】情報セル（Ｉ−ｃｅｌｌ）ブロック及び参照セル（Ｒ−ｃｅｌｌａ）ブロックの等価回路構成を示す図である。
【図４】参照セル（Ｒ−ｃｅｌｌｂ）ブロックの等価回路構成を示す図である。
【図５】センスアンプＳ／Ａの構成を示す図である。
【図６】同センスアンプのセンス動作波形を示す図である。
【図７】ビット線とセンスアンプＳ／Ａの配置例を示す図である。
【図８】２値データ記憶方式の場合のデータしきい値分布を示す図である。
【図９】２値データ記憶方式で用いられる読み出し／書き込み回路の構成を示す図である。
【図１０】図９のデータラッチＶＬの構成例を示す図である。
【図１１】図９の転送回路ＤＬの構成例を示す図である。
【図１２】読み出し時のセンスアンプとセルの接続関係及びバイアス条件を示す図である。
【図１３】２値データ書き込みシーケンスを示す図である。
【図１４】セルアレイのビット線とセンスアンプの配置例を示す図である。
【図１５】高速読み出し動作のタイミング図である。
【図１６】４値データ記憶方式の場合のデータしきい値分布を示す図である。
【図１７】４値データ記憶方式に用いられる読み出し／書き込み回路の構成を示す図である。
【図１８】図１７における転送回路ＤＬの構成例を示す図である。
【図１９】４値データの下位ページ書き込みシーケンスを示す図である。
【図２０】４値データの上位ページ書き込みシーケンスを示す図である。
【図２１】上位ページ書き込み時のデータラッチＶＬ，ＶＬＢのデータ遷移を示す図である。
【図２２】上位ページ書き込み時のベリファイ読み出しとワード線レベル切り換えの方式を説明するための図である。
【図２３】ベリファイレベル毎のベリファイ読み出し制御を可能とする読み出し／書き込み回路の構成を示す図である。
【図２４Ａ】Ａレベルベリファイ読み出しのカラム毎のベリファイ判定結果を出力する判定回路を示す図である。
【図２４Ｂ】Ｃレベルベリファイ読み出しのカラム毎のベリファイ判定結果を出力する判定回路を示す図である。
【図２５】ビット線電位制御を行う他の実施の形態のベリファイ電圧設定例を示す図である。
【図２６】同実施の形態に用いられる転送回路ＤＬの構成を示す図である。
【図２７】同実施の形態の下位ページ書き込みシーケンスを示す図である。
【図２８】同実施の形態の上位ページ書き込みシーケンスを示す図である。
【図２９】同実施の形態のベリファイ読み出し時のセルしきい値とデータラッチのデータとの関係を示す図である。
【符号の説明】
【０２７７】
１ｔ，１ｃ…セルアレイ、２…読み出し／書き込み回路、３ｔ，３ｃ…ロウデコーダ、４…データバッファ、５…アドレスバッファ、６…アドレスレジスタ、７…コマンドデコーダ、８…内部コントローラ、９…高電圧発生回路、Ｉ−ｃｅｌｌＢＬＫ…情報セルブロック、Ｒ−ｃｅｌｌａＢＬＫ，Ｒ−ｃｅｌｌｂＢＬＫ…参照セルブロック、Ｓ／Ａ…センスアンプ、ＶＬ，ＶＬＢ…データラッチ、ＤＬ…データ転送回路、２１，２１ａ，２１ｂ…ビット線プリチャージ回路、２２…ベリファイ制御用プルアップ回路、２３…ベリファイ判定回路。
【図１】
2007280505.tif 000003
【図２】
2007280505.tif 000004
【図３】
2007280505.tif 000005
【図４】
2007280505.tif 000006
【図５】
2007280505.tif 000007
【図６】
2007280505.tif 000008
【図７】
2007280505.tif 000009
【図８】
2007280505.tif 000010
【図９】
2007280505.tif 000011
【図１０】
2007280505.tif 000012
【図１１】
2007280505.tif 000013
【図１２】
2007280505.tif 000014
【図１３】
2007280505.tif 000015
【図１４】
2007280505.tif 000016
【図１５】
2007280505.tif 000017
【図１６】
2007280505.tif 000018
【図１７】
2007280505.tif 000019
【図１８】
2007280505.tif 000020
【図１９】
2007280505.tif 000021
【図２０】
2007280505.tif 000022
【図２１】
2007280505.tif 000023
【図２２】
2007280505.tif 000024
【図２３】
2007280505.tif 000025
【図２４Ａ】
2007280505.tif 000026
【図２４Ｂ】
2007280505.tif 000027
【図２５】
2007280505.tif 000028
【図２６】
2007280505.tif 000029
【図２７】
2007280505.tif 000030
【図２８】
2007280505.tif 000031
【図２９】
2007280505.tif 000032