(57)【要約】【課題】素子特性のばらつきに強い、高速読み出し可能な電流検出型センスアンプを備えた半導体記憶装置を提供する。【解決手段】第１及び第２のセルアレイと、その一方から選択された情報セルと他方から選択された参照セルの電流差を検出するセンスアンプとを備え、センスアンプは、二つの電流パスのセル電流差に起因するアンバランスをトランジスタ対のドレイン電圧差として増幅するラッチ型差動アンプであり、トランジスタ対のソースに情報セルと参照セルのセル電流が導入される前の二つの電流パスの電流に相当する電圧を保持するキャパシタ対が設けられ、センス時にキャパシタ対によりトランジスタ対に対して電流パスの素子特性上の電流アンバランスの影響を低減するオフセット電圧が与えられる。【選択図】図２０
2008047205.tif 000002
【特許請求の範囲】
【請求項１】
電気的書き換え可能な複数のメモリセルが配列され、それぞれ主要部がデータ記憶を行う情報セルとして、一部が情報セルのデータ読み出しのための参照電流を流す参照セルとして用いられる第１及び第２のセルアレイと、
前記第１及び第２のセルアレイの一方から選択された情報セルと他方から選択された参照セルの電流差を検出するセンスアンプとを備え、
前記センスアンプは、二つの電流パスの情報セルと参照セルのセル電流差に起因するアンバランスを、その電流パスを遮断するトランジスタ対のドレイン電圧差として増幅するラッチ型差動アンプであり、前記トランジスタ対のソースに情報セルと参照セルのセル電流が導入される前の前記二つの電流パスの電流に相当する電圧を保持するキャパシタ対が設けられ、センス時に前記キャパシタ対により前記トランジスタ対に対して前記電流パスの素子特性上の電流アンバランスの影響を低減するオフセット電圧が与えられる
ことを特徴とする半導体記憶装置。
【請求項２】
前記第１及び第２のセルアレイにそれぞれ複数配置された第１及び第２のビット線に対して、所定数ずつの第１及び第２のビット線群に一つずつのセンスアンプが配置され、データ読み出し時前記第１及び第２のビット線群から順次選択されるビット線対がセンスアンプに接続される
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記センスアンプは、
入出力端子が交差接続され、それぞれ電源側に直列に配置された二つのＰＭＯＳトランジスタを有する二つのＣＭＯＳインバータにより構成されたＣＭＯＳラッチと、
各ＣＭＯＳインバータの二つのＰＭＯＳトランジスタに対して更に直列に挿入された活性化用ＰＭＯＳトランジスタ対と、
各ＣＭＯＳインバータの二つのＰＭＯＳトランジスタの間の一方に情報セル電流を他方に参照セル電流を導入するための転送トランジスタ対と、
各ＣＭＯＳインバータの入力端子にそれぞれドレインが接続され、センス信号入力端により共通ゲートが駆動されて前記活性化用ＰＭＯＳトランジスタ対がオンになった後遅れてオフとされる第１のＮＭＯＳトランジスタ対と、
前記第１のＮＭＯＳトランジスタ対のソースと接地端子の間に挿入されて第１のＮＭＯＳトランジスタ対と同時に駆動される第２のＮＭＯＳトランジスタ対と、
前記第１のＮＭＯＳトランジスタ対と第２のＮＭＯＳトランジスタ対の各接続ノードと前記センス信号入力端との間にそれぞれ接続されたキャパシタとを有する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項４】
前記センスアンプに対して対をなして配置される第１及び第２のデータ中継ノードと、
前記第１及び第２のビット線群にそれぞれ対応して配置されて、前記第１及び第２のデータ中継ノードを介して順次供給される書き込みデータがロードされる複数の第１及び第２のデータレジスタと、
前記センスアンプの出力をそのまま或いは反転して前記第１及び第２のデータ中継ノードへの転送するための転送制御回路と、
前記転送制御回路により制御されて前記第１及び第２のデータ中継ノードとデータ線との間のデータ授受を行う入出力回路とを更に備えた
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項５】
第１又は第２のセルアレイ内の複数の選択情報セルに対するデータ書き込み時、前記入出力回路を介してシリアルに供給される書き込みデータは、前記第１又は第２のデータ中継ノードを介して順次複数の第１又は第２のデータレジスタに格納され、それらの書き込みデータが一括して複数の第１又は第２のビット線に転送されて、前記複数の選択情報セルに対する同時書き込みが行われ、
書き込み後のベリファイ読み出しでは、順次切り換えられるビット線対毎に前記センスアンプによりデータセンスされ、その結果が前記第１又は第２のデータ中継ノードを介して順次複数の第１又は第２のデータレジスタにフィードバックされる
ことを特徴とする請求項４記載の半導体記憶装置。
【請求項６】
前記半導体記憶装置は、情報セルが４つのデータレベルＬ０，Ｌ１，Ｌ２及びＬ３（但し、Ｌ０＜Ｌ１＜Ｌ２＜Ｌ３）のいずれか一つを記憶する４値データ記憶方式であって、４値データの上位ビット書き込みシーケンスにおいて、
複数の第１又は第２のデータレジスタに書き込みデータを格納して書き込みとベリファイ読み出しとが繰り返され、
前記複数の第１又は第２のデータレジスタの書き込みデータは、ベリファイ読み出し結果に応じて逐次書き換えられて、最終的に書き込み完了を示すデータ状態になるようにフィードバック制御される
ことを特徴とする請求項４記載の半導体記憶装置。
【請求項７】
前記半導体記憶装置は、情報セルが４つのデータレベルＬ０，Ｌ１，Ｌ２及びＬ３（但し、Ｌ０＜Ｌ１＜Ｌ２＜Ｌ３）のいずれか一つを記憶する４値データ記憶方式であって、４値データの下位ビット書き込みシーケンスでは、
複数の第１及び第２のデータレジスタの一方に書き込み下位ビットデータを、他方に上位ビットデータを格納して書き込みとベリファイ読み出しとが繰り返され、
前記ベリファイ読み出しは、書き込み下位ビットデータが保持されたデータレジスタをベリファイ読み出し結果に応じて逐次書き換える、データレベルＬ３の書き込みを確認するためのベリファイ読み出し電圧Ｐ２を用いた第１のベリファイステップと、書き込み下位ビットデータが保持されたデータレジスタをベリファイ読み出し結果と前記上位ビットデータとに従って逐次書き換える、データレベルＬ１の書き込みを確認するためのベリファイ読み出し電圧Ｐ３を用いた第２のベリファイステップとを有し、
書き込み下位ビットデータを格納したデータレジスタは最終的に書き込み完了を示すデータ状態になるようにフィードバック制御される
ことを特徴とする請求項４記載の半導体記憶装置。
【請求項８】
前記ベリファイ読み出しは、データレベルＬ３又はＬ１に近いデータレベルの書き込みを確認するための、目標とするベリファイ読み出し電圧Ｐ２又はＰ３よりわずかに低いベリファイ読み出し電圧Ｐ２＊又はＰ３＊を用いた第３のベリファイステップを更に備えかつ、
第１乃至第３のベリファイステップのベリファイ読み出し結果に従って、目標データレベルに近い情報セルに対して以後の書き込み条件を緩和するビット線電圧制御が行われる
ことを特徴とする請求項７記載の半導体記憶装置。
【請求項９】
前記第１及び第２のセルアレイ内の情報セル及び参照セルは、それぞれ複数個ずつ直列接続されてＮＡＮＤストリングを構成すると共に、複数のＮＡＮＤストリングが配列された情報セルブロック及び参照セルブロックを構成し、
第１及び第２のセルアレイにはそれぞれ、複数の情報セルブロックと少なくとも一つの参照セルブロックとが配置される
ことを特徴とする請求項１記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電流検出型センスアンプによりデータ読み出しを行う半導体記憶装置に関する。
【背景技術】
【０００２】
ＥＥＰＲＯＭフラッシュメモリには、大きく分けてＮＡＮＤ型とＮＯＲ型がある。ＮＡＮＤ型フラッシュメモリは、隣接セルでソース、ドレイン拡散層を共有して複数セルを直列接続したＮＡＮＤストリング（ＮＡＮＤセルユニット）を用いるため、ＮＯＲ型に比べてセル密度が高い。またＮＡＮＤ型フラッシュメモリは、ＦＮトンネル電流による複数セルの一括書き込みが可能で消費電流が少ない。これらの特徴から、ＮＡＮＤ型フラッシュメモリは主として、大規模容量のファイルメモリに応用されている。
【０００３】
一方ＮＯＲ型フラッシュメモリは、ホットエレクトロン注入を利用した書き込みを行うため、消費電流は大きいが高速アクセスが可能なことから主としてモバイル機器へ応用されてきた。
【０００４】
しかし最近は、モバイル機器でも大きなデータ量の画像データ等を扱うようになり、高速でしかもファイルメモリ並みの容量を持つフラッシュメモリが必要とされるようになってきた。そこで、ＮＡＮＤ型フラッシュメモリをＤＲＡＭ等のバッファメモリを持つ高速システムに対応させるために、例えばデータをページバッファに読み出し、これをシリアルに転送出力することでデータ転送レートを上げる手法が用いられている。
【０００５】
しかしそれでも、ＮＡＮＤ型フラッシュメモリの高速化には限界がある。ＮＡＮＤ型フラッシュメモリのセル電流は、ＮＯＲ型のそれの数十分の一であり、参照レベルを用いた高速のセンスができないからである。ＮＡＮＤ型フラッシュメモリのセンスアンプは、セルのオン／オフによってセンスアンプ内ラッチの電荷が放電されるか否かを利用して、セルデータを読み出しており、読み出しにマイクロ秒単位の時間が必要である。
【０００６】
フラッシュメモリにおいて、大きなデータ量記憶を可能とするため多値記憶を利用することは、既に提案されている。また、多値記憶を利用したときのデータ読み出し回数を減らして、読み出し時間を短縮する手法も提案されている（例えば、特許文献１参照）。
【０００７】
また、ビット線対に接続されて同時に選択される二つのメモリセルをペアセルとして、それらに互いに異なるしきい値電圧の組み合わせにより定義される多値データを記憶する方式も提案されている（例えば、特許文献２参照）。
【特許文献１】特開２００１−９３２８８号公報
【特許文献２】特開２００３−１１１９６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この発明は、素子特性のばらつきに強い、高速読み出し可能な電流検出型センスアンプを備えた半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明の一態様による半導体記憶装置は、
電気的書き換え可能な複数のメモリセルが配列され、それぞれ主要部がデータ記憶を行う情報セルとして、一部が情報セルのデータ読み出しのための参照電流を流す参照セルとして用いられる第１及び第２のセルアレイと、
前記第１及び第２のセルアレイの一方から選択された情報セルと他方から選択された参照セルの電流差を検出するセンスアンプとを備え、
前記センスアンプは、二つの電流パスの情報セルと参照セルのセル電流差に起因するアンバランスを、その電流パスを遮断するトランジスタ対のドレイン電圧差として増幅するラッチ型差動アンプであり、前記トランジスタ対のソースに情報セルと参照セルのセル電流が導入される前の前記二つの電流パスの電流に相当する電圧を保持するキャパシタ対が設けられ、センス時に前記キャパシタ対により前記トランジスタ対に対して前記電流パスの素子特性上の電流アンバランスの影響を低減するオフセット電圧が与えられる。
【発明の効果】
【００１０】
この発明によると、素子特性のばらつきに強い、高速読み出し可能な電流検出型センスアンプを備えた半導体記憶装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
実施の形態の半導体記憶装置では、メモリセルアレイの主要部は、複数の物理量レベル（データレベル）の一つが書かれる“情報セル”として、残部がデータレベルを検知するための固定の物理量レベル（参照データレベル）が書かれる“参照セル”として設定される。具体的には、複数の情報セルと少なくとも一つの参照セルを配置した第１及び第２のセルアレイが用意され、読み出し時一方の情報セルが選択されるときに他方の参照セルが選択される。
【００１２】
参照セルを参照して情報セルのデータを検知するセンスアンプは、電流検出型センスアンプであり、二つの電流パスのセル電流差に起因するアンバランスを、そのアンバランス電流を遮断するペアトランジスタのドレイン電圧差として増幅してラッチするラッチ型差動アンプである。この様なセンスアンプにおいてこの発明では、セル電流を導入する前の素子特性のばらつきに起因する二つの電流パスのアンバランスを接地レベルからのかさ上げ電圧として保持し、セル電流を導入してこれを電圧差として増幅する際に、そのかさ上げ電圧レベルを基準とすることによって、素子特性のばらつきに起因するアンバランスの影響を低減する。
【００１３】
実施の形態において、一つのセンスアンプは複数対のビット線を共有する。そして、同時書き込みが行われる複数ビット線にそれぞれデータレジスタが配置される。即ち、第１及び第２のセルアレイの第１及び第２のビット線側に、書き込みデータを格納するための複数ずつの第１及び第２のデータレジスタが配置され、これらが一つのセンスアンプを共有する。また一つのセンスアンプに対して、対をなす第１及び第２のデータ中継ノードが配置される。
【００１４】
読み出し時、ビット線対が順次選択されてセンスアンプに接続されてデータセンスされる。センスデータは、第１又は第２の中継ノードを介して順次第１又は第２のデータレジスタに格納された後、再度第１又は第２のデータ中継ノードを介してデータ線にシリアルに転送出力される。
【００１５】
書き込み時、データ線からシリアルに供給される書き込みデータは、第１或いは第２の中継ノードを介して順次、複数の第１のデータレジスタへ、或いは複数の第２のデータレジスタへ格納される。第１或いは第２のデータレジスタにロードされた書き込みデータは、複数の第１のビット線側或いは複数の第２のビット線を介して一括して複数セルに書き込まれる。
【００１６】
以下の実施の形態では、４値記憶方式の例を説明するが、この発明はこれに限られるわけではない。具体的に実施の形態の４値記憶方式の場合、情報セルのデータレベルは、Ｌ０，Ｌ１，Ｌ２，Ｌ３（但しＬ０＜Ｌ１＜Ｌ２＜Ｌ３）のいずれか一つに設定される。参照セルの参照データレベルＬｒは、好ましくは、Ｌ０＜Ｌｒ＜Ｌ１に設定される。
【００１７】
また以下の実施の形態においては、メモリセルが取りうる物理量レベル（データレベル）がしきい値電圧レベルである場合を説明する。
【００１８】
［フラッシュメモリ構成］
図１は、実施の形態によるＮＡＮＤ型フラッシュメモリの機能ブロック構成を示している。メモリセルアレイ１は、センスアンプ回路３を共有する二つのセルアレイ１ｔ，１ｃに分けられている。セルアレイ１ｔ，１ｃ内の同時に選択される、対応するビット線ＢＬ，/ＢＬがペアを構成するオープンビット線方式が用いられる。
【００１９】
セルアレイ１ｔ，１ｃ内に配列されるメモリセルの主要部はデータ記憶を行う“情報セル”として用いられ、残りはデータ読み出しのための参照レベルを記憶する“参照セル”として用いられる。以下では、セルアレイ１ｔ側の情報セルを“Ｔ−ｃｅｌｌ”、セルアレイ１ｃ側の情報セルを“Ｃ−ｃｅｌｌ”と記述する。参照セル“Ｒ−ｃｅｌｌ”はセルアレイ１ｔ，１ｃにそれぞれ少なくとも一つずつ配置される。
【００２０】
データ読み出し時、一方のセルアレイ（Ｔ−ｃｅｌｌアレイ）１ｔ内でワード線ＴＷＬとビット線ＢＬにより情報セルＴ−ｃｅｌｌが選択されるとき、他方のセルアレイ（Ｃ−ｃｅｌｌアレイ）１ｃ内で選択ワード線ＴＷＬと同時に選択される参照ワード線ＲＷＬ及び、ビット線ＢＬとペアを構成するビット線／ＢＬにより参照セルＲ−ｃｅｌｌが選択されて、これらがペアを構成する。
【００２１】
同様に、セルアレイ１ｃ内でワード線ＣＷＬとビット線／ＢＬにより情報セルＣ−ｃｅｌｌが選択されるとき、セルアレイ１ｔ内でワード線ＣＷＬと同時に選択される参照ワード線ＲＷＬ及び、セルアレイ１ｃのビット線／ＢＬとペアを構成するビット線ＢＬにより参照セルＲ−ｃｅｌｌが選択されて、これらがペアを構成する。
【００２２】
情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌと参照セルＲ−ｃｅｌｌの間に構造上の相違はない。セルアレイ１ｔ内の複数の情報セルＴ−ｃｅｌｌに対応して、セルアレイ１ｃ内で一つの参照セルＲ−ｃｅｌｌが固定的に選択され、セルアレイ１ｃ内の複数の情報セルＣ−ｃｅｌｌに対応して、セルアレイ１ｔ内で一つの参照セルＲ−ｃｅｌｌが固定的に選択される。
【００２３】
セルアレイ１ｔ，１ｃのビット線対ＢＬ，／ＢＬは、それぞれカラムゲート２ｔ，２ｃにより選択されてセンスアンプ（兼データラッチ）回路３に接続される。センスアンプ回路３の領域に配置されたデータ線ＤＱと外部入出力端子の間のデータ授受は、データバッファ１１を介して行われる。
【００２４】
カラムゲート２ｔ，２ｃはそれぞれカラムデコーダ５ｔ，５ｃにより制御される。セルアレイ１ｔ，１ｃのワード線はそれぞれワード線選択駆動回路（即ちロウデコーダ）４ｔ，４ｃにより選択駆動される。
【００２５】
アドレス信号Ａｄｄは、アドレスバッファ６を介し、アドレスレジスタ７を介して、ロウデコーダ４ｔ，４ｃ及びカラムデコーダ２ｔ，２ｃに供給される。
【００２６】
動作モードを決定するコマンドＣＭＤは、コマンドデコーダ８でデコードされて、コントローラ９に供給される。コントローラ９は、データ読み出し、書き込み及び消去のシーケンス制御を行う。
【００２７】
セルアレイ１ｔ，１ｃやロウデコーダ４ｔ，４ｃには、動作モードに応じて種々の高電圧Ｖｐｐ（書き込み電圧、ベリファイ電圧、パス電圧等）が必要である。これらの高電圧Ｖｐｐを発生するために高電圧発生回路１０が設けられている。この高電圧発生回路１０も、コントローラ９により制御される。
【００２８】
図２〜図７は、各セルアレイ１ｔ，１ｃの内部構成をより具体的に示している。図２では、センスアンプ回路３を挟んで配置される二つのセルアレイ１ｔ，１ｃが、更に例えばビット線の方向に二つずつの領域（１ｔ−１，１ｔ−２），（１ｃ−１，１ｃ−２）に分けられていることを示している。
【００２９】
セルアレイ１ｔ，１ｃには複数対のビット線ＢＬ，／ＢＬが配置されるが、図では一対のみ示している。センスアンプ回路３の一つのセンスユニット（センス・ラッチシステム）２０は、後に詳細に説明するが、複数対のビット線を含むグループ毎に一つずつ用意される。
【００３０】
図３及び図４に示すように、各領域１ｔ−１，１ｔ−２，１ｃ−１，１ｃ−２には、情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌを含むＮＡＮＤストリング（以下、情報セルＮＡＮＤストリングＴ−ＮＡＮＤ，Ｃ−ＮＡＮＤ）がそれぞれ多数配列された情報セルブロックＴ−ＢＬＫ，Ｃ−ＢＬＫと共に、参照セルＲ−ｃｅｌｌを含むＮＡＮＤストリング（以下、参照セルＮＡＮＤストリングＲ−ＮＡＮＤ）が配列された一つの参照セルブロックＲ−ＢＬＫが配置されている。具体的にこの例では、各領域１ｔ−１，１ｔ−２，１ｃ−１，１ｃ−２の中でセンスアンプＳＡから遠い方の端部に参照セルブロックＲ−ＢＬＫを配置している。
【００３１】
但し、参照セルブロックＲ−ＢＬＫの数はこの例に限られない。例えばセルアレイの規模がより小さい場合には、参照セルブロックＲ−ＢＬＫは各セルアレイに一つでもよい。逆にセルアレイの規模がより大きい場合には、参照セルブロックＲ−ＢＬＫをより多く配置してもよい。
【００３２】
各セルアレイ１ｔ，１ｃのワード線を選択駆動するロウデコーダ４ｔ，４ｃは、具体的にはブロック毎に配置されてブロック選択を行うＮＡＮＤストリングデコーダ（即ちブロックデコーダ）４ｔａ，４ｃａと、セルアレイ１ｔ，１ｃ内のブロックに共通に用いられる、ブロック内のワード線や選択ゲート線駆動を行うストリングセレクト回路（即ちワード線ドライバ回路）４ｔｂ，４ｃｂとから構成される。
【００３３】
通常読み出し時やデータレベルＬ０−Ｌ３の書き込みベリファイ時、セルアレイ１ｔ−１（あるいは１ｔ−２）の複数の情報セルブロックＴ−ＢＬＫの一つを選択するときに、セルアレイ１ｃ−１（あるいは１ｃ−２）の参照セルブロックＲ−ＢＬＫが同時に選択され、同様にセルアレイ１ｃ−１（あるいは１ｃ−２）の複数の情報セブロックＣ−ＢＬＫの一つを選択するときに、セルアレイ１ｔ−１（あるいは１ｔ−２）の参照セルブロックＲ−ＢＬＫが同時に選択される。
【００３４】
各セルアレイ領域１ｔ−１，１ｔ−２，１ｃ−１，１ｃ−２内には、参照セルブロックＲ−ＢＬＫの他にもう一つ、第２の参照セルＩ−ｃｅｌｌを用いたＮＡＮＤストリング（第２の参照セルＮＡＮＤストリングＩ−ＮＡＮＤ）を配列した参照セルブロックＩ−ＢＬＫが併設されている。この第２の参照セルブロックＩ−ＢＬＫも、各領域１ｔ−１，１ｔ−２，１ｃ−１，１ｃ−２の中でセンスアンプから遠い方の端部に配置している。この参照セルＩ−ｃｅｌｌについては後に詳細に説明するが、第１の参照セルＲ−ｃｅｌｌの参照データレベルＬｒの書き込み時及び多値データの最下位データレベルＬ０の書き込み時の参照電流を生成するために用いられる。
【００３５】
セルアレイ１ｔ−１（あるいは１ｃ−１）の第１の参照セルブロックＲ−ＢＬＫに参照データ書き込みを行うときに、セルアレイ１ｃ−１（あるいは１ｔ−１）の第２の参照セルブロックＩ−ＢＬＫが用いられ、セルアレイ１ｔ−２（あるいは１ｃ−２）の参照セルブロックＲ−ＢＬＫに参照データ書き込みを行うときに、セルアレイ１ｃ−２（あるいは１ｔ−２）の第２の参照セルブロックＩ−ＢＬＫが用いられる。
【００３６】
各セルアレイ領域１ｔ−１，１ｔ−２，１ｃ−１，１ｃ−２内には更に、メモリセルと同様の構成を用いたビット線リセット／プリチャージ回路ＢＲＰが配置されている。これらは、ビット線の履歴をリセットし、或いは書き込み時に非選択ビット線を例えば電源電圧Ｖｄｄ或いはそれより高い電圧Ｖｄｄ＋αにセットするためのもので、各領域１ｔ−１，１ｔ−２，１ｃ−１，１ｃ−２の中でセンスアンプから最も遠い方の端部に配置している。ビット線リセット／プリチャージ回路ＢＲＰはセンスアンプ回路の両側で一斉に全て動作する。
【００３７】
図５は、一つのＮＡＮＤストリングブロックの具体的構成を示している。これは、情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌ及び第１の参照セルＲ−ｃｅｌｌについて同様である。それぞれ複数のＮＡＮＤセルユニット即ちＮＡＮＤストリングＴ−ＮＡＮＤ（またはＣ−ＮＡＮＤ，Ｒ−ＮＡＮＤ）をマトリクス配列して構成される。
【００３８】
各ＮＡＮＤストリングは、複数個（図の例では３２個）直列接続された電気的書き換え可能な不揮発性メモリセルＭＣ０−ＭＣ３１を有する。各メモリセルＭＣは浮遊ゲートと制御ゲートが積層されたＭＯＳトランジスタ構造を有し、浮遊ゲートの電荷蓄積状態により不揮発にデータ記憶を行う。
【００３９】
ＮＡＮＤストリングの一端は、選択ゲートトランジスタＳ１を介してビット線ＢＬ（／ＢＬ）に、他端は選択ゲートトランジスタＳ２を介して共通ソース線ＣＥＬＳＲＣに接続される。
【００４０】
メモリセルＭＣ０〜ＭＣ３１の制御ゲートはそれぞれ異なるワード線ＷＬ０〜ＷＬ３１に接続される。選択ゲートトランジスタＳ１，Ｓ２のゲートはそれぞれワード線ＷＬと並行する選択ゲート線ＳＧＤ，ＳＧＳに接続される。ワード線ＷＬ０〜ＷＬ３１を共有する複数のＮＡＮＤストリングの集合が、データ消去の基本単位となる“ブロック”を構成し、ビット線方向に複数のＮＡＮＤストリングブロックが配置される。
【００４１】
この実施の形態では図３及び図４に示したように、各セルアレイ１ｔ，１ｃ内でビット線方向に並ぶ複数のブロックのうち、二つずつが第１の参照セル（Ｒ−ｃｅｌｌ）ＮＡＮＤストリングブロックＲ−ＢＬＫとして設定される。複数のＮＡＮＤストリングブロックのうちどのブロックを第１の参照セルブロックＲ−ＢＬＫとして用いるかは任意であるが、一旦第１の参照セルブロックＲ−ＢＬＫとして設定されると、それが以後固定的に用いられ、残りが情報セルＮＡＮＤストリングブロックＴ−ＢＬＫ，Ｃ−ＢＬＫとなる。
【００４２】
各セルアレイ１ｔ，１ｃ内で更に他の二つずつのブロックが第２の参照セル（Ｉ−ｃｅｌｌ）ＮＡＮＤストリングブロックＩ−ＢＬＫとして設定される。この第２の参照セルブロックＩ−ＢＬＫは、基本構造は情報セルブロックＴ−ＢＬＫ，Ｃ−ＢＬＫ及び第１の参照セルブロックＲ−ＢＬＫと同じであるが、以下に説明するようにゲート接続関係が他のブロックとは異なり、変形されている。
【００４３】
図６は、第２の参照セルＩ−ｃｅｌｌのブロックＩ−ＢＬＫの構成を示している。これも情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌや第１の参照セルＲ−ｃｅｌｌのブロックと基本構造が同じＮＡＮＤストリングＩ−ＮＡＮＤを用いて構成される。但し、このＮＡＮＤストリングＩ−ＮＡＮＤでは、メモリセルＭＣ０−ＭＣ３１は、制御ゲートと浮遊ゲートを全て短絡したゲート配線を有し、これに参照電圧Ｖｒｅｆが与えられる。即ち、直列接続された全てのメモリセルを浮遊ゲートに参照電圧Ｖｒｅｆを与えた一体のトランジスタとして動作させて、参照電流を得る。
【００４４】
セル電流を検出するための参照電流源回路は、原理的には、セルアレイとは別に各センスアンプの入力端に構成することも可能である。しかしこの実施の形態のように、セルアレイ内にメモリセルと基本的に同様の構成を用いて全ての参照電流源回路を構成することにより、無駄なトランジスタ面積を用いることなく、ばらつきのない参照電流源を得ることができる。
【００４５】
図７は、ビット線リセット／プリチャージ回路ＢＲＰの具体構成を示している。これもメモリセルアレイ内でメモリセルと同様の構成を利用して、ビット線リセット回路ＢＬｒｓとビット線プリチャージ回路ＢＬｐｒとが併設された状態に構成されている。
【００４６】
ビット線リセット回路ＢＬｒｓは、選択ゲートトランジスタＳ１，Ｓ２及びメモリセルＭＣ０−ＭＣ３１の全てを、選択ゲートトランジスタＳ１，Ｓ２と同様に制御ゲートと浮遊ゲートとを短絡したゲート接続状態でそれらのゲートを共通接続した制御端子Ｂｒｓを有する。選択ゲートトランジスタＳ１のドレインはビット線に接続され、選択ゲートトランジスタＳ２のソースは、リセット用電圧印加端子、例えばＶｓｓ端子に接続されている。
【００４７】
ビット線プリチャージ回路ＢＬｐｒは同様に、選択ゲートトランジスタＳ１，Ｓ２及びメモリセルＭＣ０−ＭＣ３１の全てを、選択ゲートトランジスタＳ１，Ｓ２と同様に制御ゲートと浮遊ゲートとを短絡したゲート接続状態でそれらのゲートを共通接続した制御端子Ｂｐｒを有する。選択ゲートトランジスタＳ１のドレインはビット線に接続され、選択ゲートトランジスタＳ２のソースは、プリチャージ用電圧印加端子、例えばＶｄｄ＋αの昇圧電圧端子に接続されている。制御端子Ｂｐｒにはパス電圧Ｖｒｅａｄ相当の制御電圧を与えることにより、Ｖｄｄ＋αにプリチャージすることができる。
【００４８】
［４値データ記憶の原理説明］
図８は、この実施の形態による４値データ記憶方式のデータレベルのしきい値電圧分布とデータビット割り付けを示している。
【００４９】
情報セルＴ−ｃｅｌｌ又はＣ−ｃｅｌｌは、４つのデータレベル（この実施の形態ではしきい値電圧レベル）Ｌ０，Ｌ１，Ｌ２及びＬ３（Ｌ０＜Ｌ１＜Ｌ２＜Ｌ３）のうちのいずれかに設定される。
【００５０】
最下位レベルＬ０は、消去ベリファイ電圧Ｐ０（＝０Ｖ）により規定される負のしきい値レベルである。この最下位レベルＬ０は、原理的にブロック単位で一括消去した消去状態をそのまま用いることもできる。しかし通常の消去状態ではしきい値分布が広い。そこでこの実施の形態では、後に説明するように、最下位レベルＬ０のデータしきい値分布を狭くする予備的書き込みを利用する。
【００５１】
データレベルＬ１，Ｌ２及びＬ３はそれぞれ、書き込みベリファイ時にワード線に与えられるベリファイ電圧Ｐ３（＝Ｐ０＋Δ），Ｐ１（＝Ｐ０＋２Δ）及びＰ２（＝Ｐ０＋３．５Δ）によりそれぞれ規定される正のしきい値レベルである。
【００５２】
上述のようなベリファイ電圧Ｐ１，Ｐ２，Ｐ３によって、書き込みデータレベルＬ１，Ｌ２，Ｌ３の間は、Ｌ１＝Ｌ２−Ｌ１＜Ｌ３−Ｌ２を満たすように設定されている。言い換えれば、最上位データレベルＬ３とその次のレベルＬ２の間が、他のレベル間より大きく設定されている。
【００５３】
参照セルＲ−ｃｅｌｌのデータである参照データレベルＬｒは、書き込みベリファイ電圧Ｐｒ（＝Ｐ０）により、情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌの２番目のしきい値レベルＬ１より低い正のしきい値範囲に設定される。
【００５４】
参照データレベルＬｒは、原理的にはどの様な電圧レベルをも用い得る。しかし、参照セルのワード線レベル設定や参照セルの書き込み時間を考慮すると、参照レベルＬｒは低い方がよい。セルアレイが大容量になり、ワード線の時定数が大きくなると、ワード線全体を高い電圧に設定するのに時間がかかるからである。参照データレベルＬｒをデータレベルの低い方のレベル近くに設定することによって、参照ワード線電圧の制御性がよくなり、参照セルの書き込み時間を短くすることができる。
【００５５】
以上を考慮して、図８に示すように、参照レベルＬｒは、Ｌ０＜Ｌｒ＜Ｌ１を満たすように、より具体的には、０Ｖまたはその近くに設定される。
【００５６】
４値データを上位ビットＨＢと下位ビットＬＢにより（ＨＢ，ＬＢ）で表すものとして、図８に示すように、情報セルのレベルＬ０，Ｌ１，Ｌ２及びＬ３にそれぞれ、（１，０），（１，１），（０，１）及び（０，０）が割り付けられる。
【００５７】
４値データは、所定の読み出しバイアス条件での情報セルＴ−ｃｅｌｌまたはＣ−ｃｅｌｌと、参照セルＲ−ｃｅｌｌのセル電流差をセンスアンプにより検出することにより判定される。即ち、読み出し時、セルアレイ１ｔから情報セルＴ−ｃｅｌｌが選択されるとき同時にセルアレイ１ｃから参照セルＲ−ｃｅｌｌが選択されて、これらがビット線対を介してセンスアンプの差動入力端子につながり、セル電流差検出が行われる。同様に、セルアレイ１ｃから情報セルＣ−ｃｅｌｌが選択されるとき同時にセルアレイ１ｔから参照セルＲ−ｃｅｌｌが選択されて、これらがセンスアンプの差動入力端子に接続される。
【００５８】
図８には、読み出し時に選択ワード線ＴＷＬ（又はＣＷＬ）及び参照ワード線ＲＷＬに与えられる読み出し電圧Ｒ１，Ｒ２，Ｒ３及びＲｒを示している。この例では、読み出し電圧がそれぞれベリファイ電圧Ｐ１，Ｐ２，Ｐ３，Ｐｒと同じ値に設定されている。
【００５９】
前述のように、レベルＬ１，Ｌ２，Ｌ３及びＬｒは、ベリファイ電圧Ｐ３，Ｐ１，Ｐ２及びＰｒにより決まるが、具体的にはそれらのしきい値分布は、破線で示した下限値が規定されることになる。これは書き込みベリファイにおいては、選択された情報セルにベリファイ電圧を与えたときのセル電流を参照セル電流と比較して、それが参照セル電流より小さくなったことをもって“書き込み”と判定するためである。
【００６０】
一方、最下位レベルＬ０は、消去動作により決まるため破線で示すようにしきい値分布の上限値が規定される。消去ベリファイでは、一括消去されたＮＡＮＤセルユニット内の全ワード線をＰ０＝０Ｖとして、そのセルユニットを流れる電流を参照セルＩ−ｃｅｌｌの参照電流と比較して、これが参照電流より大きくなったことをもって“消去”と判定するためである。
【００６１】
［書き込み前処理］
図９は、４値データ書き込み（プログラム）の前処理段階として、一括データ消去を行い、データ消去状態から参照セルＲ−ｃｅｌｌを参照レベルＬｒに、その他の情報セルを最下位レベルＬ０に状態設定するまでの動作を示している。
【００６２】
図９の最初のステップｖｐ００は、消去ステップ（ＥＲＡＳＥ）であり、ここではベリファイ消去が完了した状態を示している。消去動作は、通常ブロック単位で情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌのブロックＴ−ＢＬＫ，Ｃ−ＢＬＫ及び参照セルＲ−ｃｅｌｌのブロックＲ−ＢＬＫすべてについて同様に行われる。これは、全ワード線を０Ｖとし、セルアレイが形成されたｐ型ウェルに２０Ｖ程度の消去電圧Ｖｅｒａを与えて、浮遊ゲートの電子を放出させる動作として行われる。数ブロックまとめて消去することもできる。
【００６３】
消去ベリファイは、図１０に示すように、情報セルＮＡＮＤストリングＴ−ＮＡＮＤ（又はＣ−ＮＡＮＤ）、又は第１の参照セルＮＡＮＤストリングＲ−ＮＡＮＤ）の全ワード線を０Ｖに設定して、そのセル電流Ｉｃを、センスアンプＳＡにより第２の参照セルＮＡＮＤストリングＩ−ＮＡＮＤの参照電流Ｉｒと比較する。データ“１”（即ち、Ｉｃ＞Ｉｒ）を検出して、消去ベリファイはパスとなる。
【００６４】
情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌは、様々なデータレベルのしきい値を消去レベルに下げてベリファイするので、そのしきい値分布は広い。参照セルＲ−ｃｅｌは一定のレベルＬｒからの引き下げであるので、情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌに比べるとしきい値分布は狭いものの、一部のＮＡＮＤストリングで消去が終わっても、対象とする全てのＮＡＮＤストリングの消去が確認されるまで、消去動作が続けられるので、しきい値分布は広くなる。
【００６５】
ステップｖｐｒは、予備的書き込みステップ（ＮＤ＆ＲＷ）である。具体的には、参照セルＲ−ｃｅｌｌの参照データレベルＬｒの書き込みと、その参照セル書き込みと同じ条件を利用した情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌのしきい値分布を狭める（ｎａｒｒｏｗ  ｄｏｗｎ）ための書き込みとを行う。図ではそれらの書き込み完了状態を示している。
【００６６】
この予備的書き込み動作は、通常のＮＡＮＤ型フラッシュメモリと基本的に同様で、ワード線毎に選択ワード線に書き込み電圧Ｖｐｇｍを与えて、浮遊ゲートに電子を注入する動作として行われる。
【００６７】
書き込みベリファイは、図１１に示すように、情報セルＮＡＮＤストリングＴ−ｃｅｌｌ（又はＣ−ｃｅｌｌ）又は第１の参照セルＮＡＮＤストリングＲ−ＮＡＮＤの選択ワード線（丸印のセル対応）にベリファイ電圧Ｐ０（＝Ｐｒ，例えば０Ｖ）を、他の非選択ワード線にパス電圧Ｖｒｅａｄ０（例えば０．５Ｖ）を与えて流れるセル電流Ｉｃを、参照セルＮＡＮＤストリングＩ−ＮＡＮＤの参照電流Ｉｒと比較する。データ“０”（即ち、Ｉｃ＜Ｉｒ）を検出して、ベリファイがパスとなる。従って、しきい値分布の下限値が設定される。
【００６８】
以上により、すべての情報セルと第１の参照セルが、参照データレベルＬｒに設定される。ＮＡＮＤストリング内のセルごとにレベルＬｒを設定するベリファイ書き込みが行われるので、ベリファイ完了によりそのしきい値分布は、狭いものとなる。
【００６９】
ステップｖｐ０は、参照データレベルＬｒに設定された情報セルと参照セルのうち情報セルについてデータレベルＬ０を設定するステップ（Ｌ０Ｗ）である。具体的には、参照セルＲ−ｃｅｌｌを除いて、情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌについて再度ベリファイ消去を行う。
【００７０】
その消去ベリファイは、先の消去ステップｖｐ００と同様である。即ち図１２に示すように、情報セルＮＡＮＤストリングＴ−ＮＡＮＤ（又はＣ−ＮＡＮＤ）の全ワード線を０Ｖに設定して、そのセル電流Ｉｃを、センスアンプにより第２の参照セルＮＡＮＤストリングＩ−ＮＡＮＤの参照電流Ｉｒと比較する。データ“１”（即ち、Ｉｃ＞Ｉｒ）を検出して、消去ベリファイはパスとなる。
【００７１】
これにより、情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌの最下位レベルＬ０が決まる。予備的書き込みステップｖｐｒを経てしきい値分布を狭めているので、このステップで少ししきい値分布が拡がるとはいえ、最初の消去時に比べて十分に狭いしきい値分布となる。最下位データレベルＬ０は、しきい値分布の上限値が決まる。
【００７２】
以上の書き込み前処理ステップｖｐ００，ｖｐｒ及びｖｐ０により、参照セルＲ−ｃｅｌｌの参照レベルＬｒと、情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌの最下位レベルＬ０の設定が完了する。
【００７３】
［書き込み］
以上の書き込み前処理段階を経て、次に４値レベルのレベルＬ１，Ｌ２及びＬ３の書き込みを行う。その手順を図１３を参照して説明する。
【００７４】
図１３のｖｐ０ステップは、図９のそれと同じ、書き込み前処理の最終ステップである。ベリファイ書き込みステップｖｐ１では、上位ビットデータＨＢに従って、最下位レベルＬ０にある情報セルの一部（ＨＢ＝“０”が与えられたセル）を、３番目のデータレベルＬ２まで上昇させる。
【００７５】
ベリファイ書き込みステップｖｐ２では既に書かれた上位ビットデータＨＢと、外部から与えられた下位ビットデータＬＢに従って、下から３番目のレベルＬ２の一部セル（ＬＢ＝“０”のセル）のしきい値を更に、最上位レベルＬ３へと上昇させる。
【００７６】
これらの書き込みステップｖｐ１とｖｐ２の間に読出しモードが挿入されても良い。但し、書き込みステップｖｐ２を始めるためには、既に書かれている上位ビットデータＨＢをセルアレイから読み出し、また外部から下位ビットデータＬＢをロードし、これらのデータをセンスアンプ回路の内のデータラッチに保持して、書き込みを行う必要がある。
【００７７】
ベリファイ書き込みステップｖｐ３では、既に書かれた上位ビットデータＨＢと、外部から与えられた下位ビットデータＬＢに従って、最下位レベルＬ０の一部セル（ＬＢ＝“１”のセル）のしきい値を、２番目のデータレベルＬ１へと上昇させる。
【００７８】
これらのステップｖｐ２とｖｐ３の間に読出しモードが挿入されても良いが、この場合も書き込みステップが始まるまでに、書き込むべき情報セルの上位ビットデータ読み出しと、下位ビットデータのセンスアンプ回路のデータラッチへのロードが行われている必要がある。
【００７９】
図１４は、以上の書き込みステップＶｐ１，Ｖｐ２，Ｖｐ３での書き込みベリファイ動作を示す。これらの書き込みベリファイでは、既に参照レベルＬｒが書かれている参照セルＲ−ｃｅｌｌのＮＡＮＤストリングＲ−ＮＡＮＤがセル電流比較のために用いられる。
【００８０】
即ち、一方のセルアレイから選択された情報セルＴ−ｃｅｌｌ（又はＣ−ｃｅｌｌ）のＮＡＮＤストリングＴ−ＮＡＮＤ（又はＣ−ＮＡＮＤ）と、他方のセルアレイから選択された参照セルＲ−ｃｅｌｌのＮＡＮＤストリングＲ−ＮＡＮＤがセンスアンプＳＡに接続される。情報セル側では選択ワード線（図１４で丸印をしたセルに対応するワード線）には、ステップｖｐ１ではベリファイ電圧Ｐ１（例えば２Ｖ）を与え、それ以外の非選択ワード線にはパス電圧Ｖｒｅａｄ１（例えば、５Ｖ）を与える。参照セル側では、選択ワード線にＶｓｓ＝０Ｖを、非選択ワード線にパス電圧Ｖｒｅａｄｒｅｆ（例えば、０．５Ｖ）を与える。
【００８１】
ｖｐ２，ｖｐ３ステップでは、選択ワード線に与えるベリファイ電圧はそれぞれ、Ｐ２（例えば、３．５Ｖ），Ｐ３（例えば、１Ｖ）とする。
【００８２】
そして、情報セルＮＡＮＤストリングに流れるセル電流Ｉｃと参照セルＮＡＮＤストリングに流れる参照電流ＩｒをセンスアンプＳＡで比較して、データ“０”（即ちＩｃ＜Ｉｒ）を検出することにより、データ書き込み完了とする。実際には同時に書き込まれる範囲の全てのセンスアンプで書き込み完了が判定されるまで、書き込みと書き込みベリファイが繰り返される。
【００８３】
［読み出し］
図１５は、データ読み出しに用いられる３つの読み出しステップＴ１，Ｔ２及びＴ３について、情報セルＴ−ｃｅｌｌ，Ｃ−ｃｅｌｌと参照セルＲ−ｃｅｌｌのレベル関係を、接地電位Ｖｓｓを基準として示している。情報セルに設定されるレベルとしては、ＶｓｓとＬ１の差、Ｌ１とＬ２の差がほぼ等しく、Δであり、Ｌ２とＬ３の差は、１．５×Δとしている。
【００８４】
ステップＴ１では、データレベルＬ２以上を“０”（セル電流が参照セル電流より小さい）として読むように、読み出し電圧（ワード線レベル）Ｒ１は、データレベルＬ２より少し高い電圧とする。ステップＴ２では、レベルＬ３のみを“０”として読むようにする。そのため、情報セルのワード線レベルＲ２は、データレベルＬ３より少し高い電圧とする。ステップＴ３では、データレベルＬ１以上を“０”として読むように、そのワード線レベルＲ３は、データレベルＬ１より少し高い値とする。
【００８５】
参照セルのワード線レベルＲｒは、レベルＬｒ書き込み時のベリファイ電圧Ｐ０と同じ、即ちＶｓｓ又はこれに近い電圧Ｒｒとしている。この参照セルＲ−ｃｅｌｌの読み出し電圧Ｒｒは各読み出しステップを通して一定である。
【００８６】
以上のように、データ読み出しステップは、ワード線レベル（読み出し電圧）をそれぞれＲ１，Ｒ２，Ｒ３に設定する３ステップＴ１，Ｔ２，Ｔ３で構成される。図１６は、各レベルの情報セルが各読出しステップでどのようなセンス結果になるかを示している。ステップＴ１のセンス結果は上位ビットＨＢである。ステップＴ２とＴ３により、下位ビットＬＢが読み出される。
【００８７】
図１７は、読み出しの各ステップでのワード線の設定の詳細を示す。
【００８８】
上位ビット（ＨＢ）読み出しのＴ１サイクルでは、情報セルＮＡＮＤストリングＴ−ＮＡＮＤ（又はＣ−ＮＡＮＤ）の選択ワード線レベルはＲ１（例えば１．５Ｖ）、その他の非選択ワード線はパス電圧Ｖｒｅａｄ２（例えば５．５Ｖ）に設定され、対応する参照セルＮＡＮＤストリングＲ−ＮＡＮＤでは、選択ワード線レベルはＶｓｓに、非選択ワード線はパス電圧Ｖｒｅａｄｒｅｆ（例えば０．５Ｖ）にする。
【００８９】
下位ビット（ＬＢ）読み出しは、Ｔ２とＴ３の２サイクルからなり、情報セルＮＡＮＤストリングＴ−ＮＡＮＤ（又はＣ−ＮＡＮＤ）では、選択ワード線レベル（読み出し電圧）はサイクルＴ２ではＲ２（例えば２．５Ｖ）に、Ｔ３ではＲ３（例えば０．５Ｖ）に設定され、非選択ワード線は、パス電圧Ｖｒｅａｄ２（例えば５．５Ｖ）に設定される。対応する参照セルＮＡＮＤストリングＲ−ＮＡＮＤでは、選択ワード線レベルはＶｓｓに、非選択ワード線はパス電圧Ｖｒｅａｄｒｅｆ（例えば０．５Ｖ）にする。
【００９０】
［センス・ラッチシステムの詳細］
ここまで、実施の形態のＮＡＮＤフラッシュメモリの概要を説明した。以下には、データ読み出し及び書き込みに用いられるセンス・ラッチシステム即ち、センスユニット２０について詳細に説明する。
【００９１】
図１８は、一つのページバンクＢＮＫｉとその中の一つのセンスユニット２０を示している。ここでページバンクＢＮＫｉは、一つのＮＡＮＤストリングを前述のように３２セルストリングとして、それぞれに５１２個の情報セルＮＡＮＤストリングブロック（Ｔ−ＢＬＫ，Ｃ−ＢＬＫ）と４ｋのビット線が配列されたセルアレイ１ｔ，１ｃにより構成されている。
【００９２】
センスユニット２０は、例えばビット線１６対で一つずつ共有されるものとして、一つのページバンクＢＮＫｉ内に同時に活性化される２５６（＝４ｋ／１６）個のセンスユニット２０が配置されることになる。
【００９３】
センスアンプを共有する１６組のビット線対のどれをセンスアンプに接続するかの選択をしているのが、マルチプレクサＭＵＸである。その選択信号は、ｂｐ０−ｂｐ１５である。センスユニットは、以下に詳細に説明するように、センスアンプ・ラッチ系とベリファイ結果判定系とを有する。
【００９４】
各ビット線ＢＬ，／ＢＬにはそれぞれ、書き込みデータを保持するためのデータレジスタＤＬが配置されている。ここでは、各ビット線に一つずつデータレジスタを配置しているが、例えば読み出し或いは書き込み時、同時に選択されるビット線が偶数番ビット線のみ或いは奇数番ビット線のみという方式の場合には、２ビット線に一つずつのデータレジスタが配置される。或いはより一般的に複数ビット線に一つのデータレジスタを配置してもよい。
【００９５】
ビット線ＢＬ側或いは／ＢＬ側のデータレジスタの数が、同時に書き込みを行うセル数を決める。即ち一つのセンスアンプが共有するビット線ＢＬ側又は／ＢＬ側のデータレジスタＤＬに順次書き込みデータをロードして、それを一括してセルに書き込むことができる。
【００９６】
信号ＰＲＯＫは、ベリファイ結果判定のためのものである。センス・ラッチ系は、グローバルなデータ線ＤＱ，／ＤＱに選択的に接続出来るようになっている。
【００９７】
図１９は、センスユニット２０の具体構成を示している。ここでは、複数のビット線対ＢＬ０，／ＢＬ０〜ＢＬｉ，／ＢＬｉの範囲をカバーする一つのセンスユニット２０を示している。ビット線ＢＬ（０〜ｉ）にそれぞれ、書き込みデータを保持するデータレジスタ（データラッチＤＬｌ）２６ｔ（０〜ｉ）が、同様にビット線／ＢＬ（０〜ｉ）にもそれぞれ、データレジスタ（データラッチＤＬｒ)２６ｃ（０〜ｉ）が設けられている。
【００９８】
なお前述のように、ビット線の選択の方法によっては複数のビット線をまとめてこれにひとつのデータラッチという対応関係の構成も可能である。
【００９９】
読み出し時、ビット線対のデータは順次切り換えられてセンスアンプに入力される。そのビット線とセンスアンプの接続選択は、信号ｂｐ（０〜ｉ）が入る選択トランジスタＮ３ｔ（０〜ｉ），Ｎ３ｃ（０〜ｉ）により行われ、選択されたビット線ＢＬ，／ＢＬが電流型のセンスアンプ２１の入力ノードＩＮ，／ＩＮに接続される。ゲート信号ＶｔｇのトランジスタＱｔ，Ｑｃは、センスアンプ２１をビット線ＢＬ，／ＢＬ側に生じる高電圧から分離するためのものである。
【０１００】
センスアンプ２１の入力ノードＩＮ，／ＩＮには、活性化時のみビット線からセル電流を供給するように、ＮＭＯＳトランジスタＮ１ｔ，Ｎ１ｃが配置されている。センスアンプ２１の出力ノードＯＵＴ，／ＯＵＴは、データ転送回路２２を介してデータ中継ノードＢ，／Ｂに接続される。中継ノードＢ，／Ｂは、センスアンプ２１とデータ線ＤＱとの間の読み出しデータ転送、データ線ＤＱとデータレジスタ２６ｔ，２６ｃの間の書き込みデータ転送を中継するためのノードである。
【０１０１】
センスアンプ２１と中継ノードＢ，／Ｂとの間のデータ転送は、データレジスタ２３（データラッチＸＬ）により制御される。即ち、データ転送回路２２とデータレジスタ２３により転送制御回路が構成されている。
【０１０２】
センスアンプ出力ノードＯＵＴ，／ＯＵＴは、信号ＣＬＫにより駆動されるＮＭＯＳトランジスタＮ１１，Ｎ１２を介してそれぞれ中継ノードＢ，／Ｂに接続される。ＯＵＴ，／ＯＵＴはまた、データレジスタ２３の一方のノード信号／Ｘにより駆動されるＮＭＯＳトランジスタＮ１３，Ｎ１５を介してそれぞれ中継ノードＢ，／Ｂに接続され、或いは他方のノード信号Ｘにより駆動されるＮＭＯＳトランジスタＮ１４，Ｎ１６を介してそれぞれ中継ノード／Ｂ，Ｂに接続される。即ちセンスアンプ２１のデータは、データレジスタ２３が保持するデータ状態に応じて、そのまま或いは反転して中継ノードＢ，／Ｂに転送できるようになっている。
【０１０３】
データラッチＸＬのノードＸ，／Ｘは、パルス信号ＲＨにより駆動されるＮＭＯＳトランジスタＮ１７，Ｎ１８を介して中継ノードＢ，／Ｂに接続されている。即ち信号ＲＨによって、中継ノードＢ，／ＢのデータをそのままデータノードＸ，／Ｘに取り込むことができる。またデータノードＸ，／Ｘは、信号ＲＨＲｌ，ＲＨＲｒにより駆動されるＮＭＯＳトランジスタＮ１９，Ｎ２０を介して中継ノード／Ｂ，Ｂに接続されている。従ってこれらの信号ＲＨＲｌ，ＲＨＲｒにより、中継ノードＢ，／Ｂのデータをそれぞれ／Ｘ，Ｘに取り込むことができる。
【０１０４】
中継ノードＢまたは／Ｂが“１”であれば、データラッチＸＬの“０”側のノードでこれを放電して“０”に変えることができる。データラッチＸＬの初期状態は、信号ＸＲＳｌまたはＸＲＳｒによって設定する。
【０１０５】
中継ノードＢ，／Ｂは、データバス入出力（Ｉ／Ｏ）回路２４を介してデータバスＤＱに接続される。即ちデータバスＩ／Ｏ回路２４を介してセンスアンプ２１の読み出しデータのデータバスＤＱへの転送、書き込みデータのデータバスＤＱからデータラッチＤＬｌ，ＤＬｒの転送が制御される。
【０１０６】
データバスＩ／Ｏ回路２４は、データラッチＸＬのノードＸ，／Ｘの状態及び信号ＲＷｌ，ＲＷｒ，ＢＲＳｌ，ＢＲＳｒによって中継ノードＢ，／Ｂの状態の設定を行なうとともに、信号ＣＳＬ，ｘｉ，ｘｊの選択によってデータ線ＤＱと中継ノードＢまたは／Ｂを選択的に接続する。
【０１０７】
データラッチＤＬｌ，ＤＬｒのそれぞれ一方のデータノードＶは、クロックＣＫｌ，ＣＫｒにより制御されて中継ノードＢ，／Ｂに接続される。即ちデータラッチＤＬｌ，ＤＬｒは、Ｉ／Ｏ回路２４を介し、中継ノードＢ，／Ｂを介して送られてくる書き込みデータを順次データノードＶに取り込んで保持する。他方のノード／Ｖのデータは、信号ＰＲＧｌ，ＰＲＧｒにより制御されるＮＭＯＳトランジスタＮ２０ｔ（０〜ｉ），Ｎ２０ｃ（０〜ｉ）を介して同時に複数対ビット線ＢＬ，／ＢＬに与えられてビット線電圧制御に供される。
【０１０８】
データノードＶは、ベリファイ判定用ＮＭＯＳトランジスタＮ６ｔ（０〜ｉ），Ｎ６ｃ（０〜ｉ）のゲートに接続されている。これらのＮＭＯＳトランジスタＮ６ｔ，Ｎ６ｃのドレインは共通に判定信号線／ＤＬｌ，／ＤＬｒに接続される。これらの信号線／ＤＬｌ，／ＤＬｒのデータに基づいて書き込み完了判定を行うのが、書き込み完了判定回路２５である。
【０１０９】
センスアンプ２１の入力ノードＩＮ，／ＩＮには、第１のビット線充電回路２７ｔ，２７ｃが設けられている。これらの充電回路２７ｔ，２７ｃは、充電用制御信号／ＡＣＣｐｒが入るＰＭＯＳトランジスタＰ１と、調整用信号ＶＲＲが入る充電電流調整用ＮＭＯＳトランジスタＮ５が直列接続されている。
【０１１０】
センスアンプ２１の入力ノードＩＮ，／ＩＮにはまた、後述するクイックパスライト（ＱＰＷ）動作で書き込み完了のビット線をＶｄｄまで充電するための第２のビット線充電回路２８ｔ，２８ｃが設けられている。これらの充電回路２８ｔ，２８ｃでは、データ中継ノードＢ，／Ｂでゲートが制御されるＰＭＯＳトランジスタＰ２と、制御信号／ＱＷｌ，／ＱＷｒがゲートに入るＰＭＯＳトランジスタＰ３とがＶｄｄと入力ノードＩＮ，／ＩＮとの間に直列接続されている。
【０１１１】
図２０は、センスアンプ２１の具体構成を示している。これは、セル電流を参照セル電流との比較で判定する電流検出型センスアンプであり、ラッチ型ＣＭＯＳ差動アンプである。１μＡ以下の電流比較を確実に行うためにセンスアンプを構成するには、素子特性のバラツキに対しても十分マージンのあるセンス動作をする必要がある。
【０１１２】
このセンスアンプ２１の構成は、センスアンプの対称性を崩すようなトランジスタ特性バラツキがあっても、そのバラツキを予めオフセットとして取り込み、センスすべきデータ自体の比較が出来るようにしている。
【０１１３】
具体的にセンスアンプ２１は、ＶｄｄとＶｓｓの間に、ＰＭＯＳトランジスタＭ０，Ｍ８、ＮＭＯＳトランジスタＭ１２、ＰＭＯＳトランジスタＭ２及びＮＭＯＳトランジスタＭ４が直列接続された第１の電流パス２１０と、ＰＭＯＳトランジスタＭ１，Ｍ９、ＮＭＯＳトランジスタＭ１３、ＰＭＯＳトランジスタＭ３及びＮＭＯＳトランジスタＭ５が直列接続された第２の電流パス２１１とが対称的に形成されている。
【０１１４】
第１の電流パス２１０のＰＭＯＳトランジスタＭ２のソースが一方のセル電流入力端であり、これがＮＭＯＳトランジスタＮ１ｔを介して入力ノードＩＮに接続される。第２の電流パス２１１のＰＭＯＳトランジスタＭ３のソースが他方のセル電流入力端であり、これがＮＭＯＳトランジスタＮ１ｃを介して入力ノード／ＩＮに接続される。
【０１１５】
第１の電流パス２１０のＰＭＯＳトランジスタＭ２とＮＭＯＳトランジスタＭ４の接続ノードが一方の出力ノードＯＵＴとなり、第２の電流パス２１１のＰＭＯＳトランジスタＭ３とＮＭＯＳトランジスタＭ５の接続ノードが他方の出力ノード／ＯＵＴとなる。
【０１１６】
第１の電流パス２１０のＰＭＯＳトランジスタＭ０，Ｍ２及びＮＭＯＳトランジスタＭ４のゲートは一方の出力ノード／ＯＵＴに共通接続され、第２の電流パス２１１のＰＭＯＳトランジスタＭ１，Ｍ３及びＮＭＯＳトランジスタＭ５のゲートは他方の出力ノードＯＵＴに共通接続されて、ＣＭＯＳラッチを構成している。即ち第１の電流パス２１０を構成するＣＭＯＳインバータと、第２の電流パス２１１を構成するＣＭＯＳインバータとが、入出力が交差接続されてラッチを構成する。
【０１１７】
ＰＭＯＳトランジスタＭ８，Ｍ９は活性化トランジスタであり、活性化信号／ＡＣＴによりゲートが制御される。ＮＭＯＳトランジスタＭ１２，Ｍ１３は、電流パス２１０，２１１の電流制御用素子であり、信号ｖＬＴＣによりゲートが制御されて、センスアンプ電流が決まる。
【０１１８】
ＣＭＯＳラッチを構成するＮＭＯＳトランジスタＭ４及びＭ５のゲートはそれぞれ、センス信号／ＳＥにより駆動されるＮＭＯＳトランジスタＭ６及びＭ７のドレインに接続されている。これらのＮＭＯＳトランジスタＭ６，Ｍ７は、／ＳＥ＝“Ｈ”の間オンして、ＣＭＯＳラッチのＮＭＯＳトランジスタＭ４，Ｍ５をオフに保つ。
【０１１９】
即ち活性化信号／ＡＣＴ＝“Ｌ”により電流パス２１０，２１１に流れる電流は、／ＳＥが“Ｌ”になるまでは、それぞれＮＭＯＳトランジスタＭ７，Ｍ６を介してＶｓｓに流れる。そしてセル電流が導入された後、／ＳＥ＝“Ｌ”のセンス時、ＮＭＯＳトランジスタＭ６，Ｍ７がオフになってパス電流を遮断し、それらのドレイン電圧差がＣＭＯＳラッチにより正帰還増幅されることになる。
【０１２０】
この実施の形態では、ＮＭＯＳトランジスタＭ６，Ｍ７とＶｓｓノードとの間に更に／ＳＥによりゲートが制御されるＮＭＯＳトランジスタＭ１０，Ｍ１１が配置され、ＮＭＯＳトランジスタＭ６，Ｍ１０の接続ノードと／ＳＥノードの間及び、ＮＭＯＳトランジスタＭ７，Ｍ１１の接続ノードと／ＳＥノードの間にそれぞれキャパシタＣ１６及びＣ１７が設けられている。
【０１２１】
ＮＭＯＳトランジスタＭ１０，Ｍ１１とキャパシタＣ１６，Ｃ１７の部分は、センス時の電流パス２１０，２１１の素子特性によるアンバランスの影響を低減するためのオフセット電圧を発生するオフセット電圧発生回路２１２を構成している。
【０１２２】
この実施の形態のセンスアンプ２１の基本動作は、次の通りである。センス信号／ＳＥが“Ｈ”の状態では、ＮＭＯＳトランジスタＭ６，Ｍ７，Ｍ１０，Ｍ１１がオンであり、出力ノードＯＵＴ，／ＯＵＴは“Ｌ”レベルに保たれる。活性化信号／ＡＣＴが“Ｌ”になると、電流パス２１０，２１１に電流が流れる。そしてセル電流取り込み信号ＡＣＣが“Ｈ”になり、入力ノードＩＮ，／ＩＮからセル電流と参照セル電流が与えられると、セル電流差に応じてＮＭＯＳトランジスタＭ６，Ｍ７のドレインに微小な電圧差が生じる。
【０１２３】
その後センス信号／ＳＥが“Ｌ”になると、ＮＭＯＳトランジスタＭ６，Ｍ７がオフになり、そのドレイン電圧差を増幅するラッチ回路の正帰還動作により、ＮＭＯＳトランジスタＭ４，Ｍ５の一方がオン、他方がオフになる。即ち、ＮＭＯＳトランジスタＭ６，Ｍ７がオンからオフに遷移する際に、セル電流差に基づくタイミングのずれがそれらのドレイン電圧に変換され、これが正帰還増幅される。
【０１２４】
以上がセンスアンプ２１の基本構成と基本動作であるが、この実施の形態では更に、素子特性のばらつきに起因する誤センスを効果的に回避できるような工夫が加えられている。その一つは、オフセット電圧発生回路２１２である。もう一つの工夫は、電流パス２１０，２１１の構成素子数を多くしていることである。具体的には、電流パス２１０，２１１にコンダクタンス制御用のＮＭＯＳトランジスタＭ１２，Ｍ１３を挿入していることである。このＮＭＯＳトランジスタＭ１２−Ｍ１３の対は、センスアンプの正帰還動作時に、ＰＭＯＳトランジスタＭ０−Ｍ１の対及び、Ｍ８−Ｍ９の対の間の特性ばらつきの影響を低減する働きをする。
【０１２５】
具体的に、図２１を参照して、センスアンプ２１の誤センス防止作用を説明する。セル電流取り込み信号ＡＣＣを立ち上げて、セル電流をセンスアンプに導入する前、キャパシタＣ１６，Ｃ１７のノードｖｓｌ，ｖｓｒは、電流パス２１０，２１１の素子特性のバラツキを反映した、Ｖｓｓレベルからかさ上げされた電圧レベルとなる。
【０１２６】
センス信号／ＳＥを立ち下げると、ＮＭＯＳトランジスタＭ６，Ｍ７，Ｍ１０，Ｍ１１はオフになるが、このときＮＭＯＳトランジスタＭ６，Ｍ７のソースは、Ｖｓｓより低い、その前のノードｖｓｌ，ｖｓｒのレベル差を反映した仮想的Ｖｓｓとなる。具体的にいえば、オフになるＮＭＯＳトランジスタＭ６，Ｍ７のソースに対して、電流パスの素子特性のばらつきの影響を低減するオフセット電圧が与えられる。
【０１２７】
更に、ＮＭＯＳトランジスタ対Ｍ１２，Ｍ１３は、センス信号／ＳＥを立ち下げる前、ゲート制御信号ｖＬＴＣを低く抑えることにより、コンダクタンスの小さい状態を保ち、これによりセンスアンプの動作のフィードバックループをなすＰＭＯＳトランジスタ対Ｍ０，Ｍ１とＰＭＯＳトランジスタ対Ｍ８，Ｍ９のばらつきの影響を低く抑えている。言い換えれば、電流パスのうち電源Ｖｄｄ側にあるＰＭＯＳトランジスタのコンダクタンスを上げている。これにより、電流パスの素子特性のばらつきの影響が低減される。
【０１２８】
センス時は、ＮＭＯＳトランジスタＭ１２，Ｍ１３のゲート電圧ｖＬＴＣを上げて、そのコンダクタンスを十分に大きくし、データ確定後の確定データのラッチを高速に行なうようにしている。
【０１２９】
以上のようにこの実施の形態のセンスアンプは、電流検出方式であってかつ、素子特性のばらつきの影響を低減するオフセット電圧発生回路を備えることにより、高性能の高速センスが可能である。
【０１３０】
図２２は、データバスＩＯ回路２４の構成を示している。ＩＯ回路２４は、信号ＣＳＬとＸｉ，Ｘｊにより駆動されるＮＭＯＳトランジスタＮ３１，Ｎ３２，Ｎ３３の部分が、データ線ＤＱにつながるセンスラッチ系を選択する選択ゲート２４１を構成している。
【０１３１】
データ線ＤＱをデータ中継ノードＢ，／Ｂのいずれに接続するかを選択するのがスイッチ回路２４２である。具体的にスイッチ回路２４２は、信号ＲＷｌ，ＲＷｒにより選択的に駆動されるＮＭＯＳトランジスタＮ３４，Ｎ３５、データレジスタ２３のノードＸのデータにより駆動されてトランジスタＮ３４，Ｎ３５をそれぞれ中継ノード／Ｂ，Ｂに接続するためのＮＭＯＳトランジスタＮ３７，Ｎ３８、ノード／Ｘのデータにより駆動されてトランジスタＮ３４，Ｎ３５をそれぞれ中継ノードＢ，／Ｂに接続するためのＮＭＯＳトランジスタＮ３６，Ｎ３９を有する。
【０１３２】
中継ノードＢ，／Ｂに接続されるラッチ２４３は、ＰＭＯＳトランジスタＰ２１，Ｐ２２とＮＭＯＳトランジスタＮ４１，Ｎ４２により構成された通常のＣＭＯＳラッチである。
【０１３３】
リセット回路２４４，２４５は、リセット信号ＢＲＳｌ，ＢＲＳｒにより選択的に駆動されるＮＭＯＳトランジスタＮ４７，Ｎ４８を有する。このリセット用トランジスタＮ４７と中継ノードＢの間を選択的に接続するために、ノードＸと信号ＲＷｌとのＡＮＤ論理をとるＮＭＯＳトランジスタＮ５１，Ｎ５２と、ノード／Ｘと信号ＲＷｒとのＡＮＤ論理をとるＮＭＯＳトランジスタＮ４３，Ｎ４４がある。同様に、リセット用トランジスタＮ４８と中継ノード／Ｂの間を選択的に接続するために、ノード／Ｘと信号ＲＷｌとのＡＮＤ論理をとるＮＭＯＳトランジスタＮ４５，Ｎ４６と、ノードＸと信号ＲＷｒとのＡＮＤ論理をとるＮＭＯＳトランジスタＮ５３，Ｎ５４がある。
【０１３４】
このようなＩＯ回路２４により、ノードＸと／Ｘの状態と信号ＲＷｌ又はＲＷｒの選択によってデータ線ＤＱと中継ノードＢ又は／Ｂが接続される。またパルス信号ＢＲＳｌ又はＢＲＳｒを与えることによって中継ノードＢ又は／Ｂを放電することもできる。なおデータ線ＤＱと中継ノードＢ又は／Ｂの間のデータ転送は“Ｌ”レベルデータ転送として行なわれるので、データを受ける側のノードは予めＶｄｄに設定しておく。
【０１３５】
図２３は、データレジスタ２３（データラッチＸＬ）の構成を示している。これはＰＭＯＳトランジスタＰ３１，Ｐ３２とＮＭＯＳトランジスタＮ６１，Ｎ６２を用いたＣＭＯＳラッチである。ノードＸ，／Ｘには信号ＸＲＳｌ，ＸＲＳｒにより駆動されるリセット用ＮＭＯＳトランジスタＮ６３，Ｎ６４が接続されている。
【０１３６】
したがってこのデータレジスタ２３は、信号ＸＲＳｌ＝“Ｈ”で／Ｘ＝“Ｈ”に、信号ＸＲＳｒ＝“Ｈ”でＸ＝“Ｈ”に設定される。このタイプのデータレジスタは、図１９に示したようなＮＭＯＳトランジスタＮ１７，Ｎ１８を転送ゲートとして外部とデータをやり取りする場合、“０”状態（＝“Ｌ”）のみが転送可能であり、“１”データ（＝“Ｈ”）は転送ゲートのしきい値分の電圧低下により十分に転送できない。
【０１３７】
図２４は、データレジスタ２６ｔ，２６ｃ（データラッチＤＬｌ，ＤＬｒ）の構成を示している。このデータレジスタは、ＰＭＯＳトランジスタＰ４１，Ｐ４２とＮＭＯＳトランジスタＮ７１，Ｎ７２を有するＣＭＯＳラッチである。一方のデータノードＶは、クロックＣＫにより制御されるＮＭＯＳトランジスタＮ７３を介して中継ノードＢ又は／Ｂに接続され、他方のデータノード／Ｖにはリセット信号ＲＳＶで駆動されるリセット用ＮＭＯＳトランジスタＮ７４が接続されている。
【０１３８】
このデータレジスタ２６ｔ，２６ｃは、破線で囲んだＰＭＯＳトランジスタＰ４１の寸法（具体的には、チャネル幅Ｗとチャネル長Ｌの比Ｗ／Ｌ）をＰＭＯＳトランジスタ４２のそれより小さくすることで、データに対して極端に非対称特性のラッチとして構成されている。即ち、中継ノードＢ（または／Ｂ）からデータレジスタのノードＶへは、“０”データ書き込みのみが可能、またノードＶから中継ノードＢ（または／Ｂ）へは、“０”データのみ転送可能である。データレジスタのノード／Ｖからビット線ＢＬ（または／ＢＬ）に対しては、“０”，“１”データのいずれも転送可能である。
【０１３９】
具体的に説明する。このデータレジスタは、信号ＲＳＶ＝“Ｈ”によってＶ＝“Ｈ”に設定される。信号ＣＫが“Ｈ”で中継ノードＢ又は／Ｂが“Ｌ”の場合、ノードＶは放電されて“Ｌ”になる。即ち“Ｌ”（＝“０”）データ書き込みが可能である。データノードＶが“Ｌ”であって、中継ノードＢ又は／Ｂが“Ｈ”の場合、データノードＶは“Ｈ”にならない。ＰＭＯＳトランジスタＰ４１の電流駆動能力がＰＭＯＳトランジスタＰ４２より十分小さく設定されているためである。即ち“１”データ書き込みができない。一方ノード／Ｖの“Ｈ”は、その接続先のノードの“Ｌ”によって影響されず、ノード／Ｖのデータ状態を接続先、即ちビット線に転送することができる。
【０１４０】
中継ノードＢ又は／Ｂから複数のデータレジスタ２６ｔ又は２６ｃへの書き込みデータ転送は、パルス信号ＲＳＶｌ又はＲＳＶｒにより、データノードＶを“Ｈ”に設定し、選択したビット線に対応するパルス信号ＣＫｌ０〜ＣＫｌｉ又はＣＫｒ０〜ＣＫｒｉを与えることにより、中継ノードＢ又は／Ｂの“Ｌ”レベルデータをノードＶに順次転送する、という動作になる。
【０１４１】
複数のデータレジスタ２６ｔ又は２６ｃからビット線ＢＬ又は／ＢＬの電圧制御は、対応するビット線全てに対して一斉に行なわれる。即ち、信号ＰＲＧｌ又はＰＲＧｒを十分長く一定の“Ｈ”レベル状態に保持することにより、データノード／Ｖの“１”（＝“Ｈ”），“０”（＝“Ｌ”）状態に応じてビット線レベルを“Ｈ”，“Ｌ”に設定する。具体的に、データノード／Ｖが“１”なら、ビット線はＰＲＧｌ又はＰＲＧｒに与えたレベルからトランジスタのしきい値電圧分低下した程度の“Ｈ”レベルに設定でき、“０”ならビット線は放電されて、Ｖｓｓレベルとなる。
【０１４２】
ベリファイ書き込み時、データレジスタ２６ｔ又は２６ｃは、全ての書き込みが完了すると、データノードＶがオール“Ｌ”状態（オール“０”状態）になるように、ベリファイ制御される。従って、判定信号線／ＤＬｌ及び／ＤＬｒは、プリチャージされた“Ｈ”状態を保持していることにより、書き込み完了が判定されることになる。
【０１４３】
図２５は、書き込み判定回路２５の構成である。判定信号線ＰＲＯＫは、“Ｈ”レベルにプリチャージされる。信号ｓｅｌｌ，ｓｅｌｒにより選択されるトランジスタＮ８１，Ｎ８２が判定信号線ＰＲＯＫと／ＤＬｌ，／ＤＬｒとの間に配置されている。信号ｓｅｌｌ又はｓｅｌｒにより、信号線ＰＲＯＫが放電されるか否かにより書き込み完了が判定される。
【０１４４】
即ち書き込み判定回路２５は、データレジスタ２６ｔ又は２６ｃのベリファイ読み出し結果を示す信号線／ＤＬｌ又は／ＤＬｒの信号を、選択信号ｓｅｌｌ又はｓｅｌｒにより信号線ＰＲＯＫに伝達し、センス・ラッチ系の外に伝える働きをする。
【０１４５】
なおこの実施の形態の場合、ビット線ＢＬ側（Ｔ−ｃｅｌｌアレイ）と／ＢＬ側（Ｃ−ｃｅｌｌアレイ）とで、セルレベルとビット情報の対応は同じである。これらの情報セルレベルＬ０−Ｌ３と参照セルのレベル（参照レベル）Ｌｒをワード線の電位を適当に設定することによってセル電流差に変換して電流差としてセンスアンプでセンスするのがこのセンスシステムである。
【０１４６】
図２６は、非対称なデータレジスタ２６ｔ，２６ｃ（データラッチＤＬｌ，ＤＬｒ）の一つのシミュレーション結果である。ＰＭＯＳトランジスタＰ４１，Ｐ４２のチャネル幅／チャネル長の比Ｗ／Ｌは、それぞれ１／０．５，３／０．３２５に設定した。また、ＮＭＯＳトランジスタＮ７１，Ｎ７２，Ｎ７３は、Ｗ／Ｌ＝１／０．２５である。
【０１４７】
電源電圧Ｖｄｄ＝１．７Ｖとし、室温条件下で、ノードＢからの“０”データ書き込み、ノードＢへの“０”データ転送が可能で、ビット線ＢＬへはデータレジスタの状態に拘わらず、一方向のデータ転送ができることを確認するためのシミュレーション結果を示している。
【０１４８】
初期状態は、リセット信号ＲＳＶ＝“Ｈ”により、Ｖ＝“Ｈ”（＝“１”），／Ｖ＝“Ｌ”（＝“０”）である。ノードＢのレベルは２０ｎｓサイクルで１０ｎｓの間“１”となるクロックパルスとして与えている。ＣＫは、４０ｎｓサイクルの２０ｎｓの間“１”となるクロックパルスとして与えている。
【０１４９】
ＣＫ＝“Ｈ”の間、中継ノードＢに“Ｈ”を与えても、データノードＶは“Ｈ”にはならない。即ちデータノードＶは、“０”状態が書き込まれたら、“１”が再び書かれることはないことが確認される。
【０１５０】
ビット線ＢＬへのデータ転送は、信号ＰＲＧに３Ｖの電圧を与えることで行われる。ノード／Ｖが“Ｈ”レベル（＝Ｖｄｄ）になった後、信号ＰＲＧを与えると、Ｖｓｓのビット線に引かれてノード／Ｖは一旦電位が下がるが、やがて徐々に上昇してＶｄｄに戻り、これに従ってビット線ＢＬがＶｓｓからＶｄｄに徐々に充電される。その後、ノードＢを“Ｈ”にしても、データレジスタのデータ状態は反転しないし、勿論ビット線ＢＬの状態変化もないことが確認される。
【０１５１】
次に、各動作モードの手順を詳細に説明する。以下では、ビット線ＢＬ側が選択された場合を説明するが、ビット線／ＢＬ側のセルアクセスについては、データ線ＤＱに代わるデータ線／ＤＱを用意して、以下の説明に関して、ＤＱと／ＤＱとの間の変更、データレジスタ２６ｔ（ＤＬｌ）と２６ｃ（ＤＬｒ）の間の変更、その他各信号やノードのＢＬ側を示すサフィックス“ｌ”と／ＢＬ側を示すサフィックス“ｒ”の間の変更をすればよい。
【０１５２】
（ベリファイ消去）
図２７は、ベリファイ消去シーケンスを示している。初期状態としてビット線ＢＬ側のデータレジスタ２６ｔ（データラッチＤＬｌ）を全て“１”状態にリセットする（ステップＳ１）。なお以下では、データラッチＤＬｌ，ＤＬｒのデータは、ノードＶ側の“Ｈ”，“Ｌ”状態をそれぞれ“１”，“０”とする。
【０１５３】
また、センスアンプ２１と中継ノードＢ，／Ｂとの間のデータ転送モードを設定するために、データレジスタ２３（データラッチＸＬ）を、Ｘ＝“１”の状態にセットする（ステップＳ１）。これは、ＯＵＴと／Ｂの間、／ＯＵＴとＢの間がつながるようにする条件である。具体的にこれは、消去動作でセルのしきい値が低下して、セル電流Ｉｃが、ビット線／ＢＬ側の第２の参照セルＮＡＮＤストリングＩ−ＮＡＮＤの参照電流Ｉｒより大きく流れるという条件で消去を確認するもの、従って消去が十分であればベリファイ読み出しでデータラッチＤＬｌに“０”が書かれるようにするためである。
【０１５４】
そして全データラッチＤＬｌのデータをビット線に転送して、全ビット線をＶｓｓに設定し、選択ブロックの一括消去を行う（ステップＳ２）。選択ブロックは、情報セル（Ｔ−ｃｅｌｌ）ブロックの場合もあるし、参照セル（Ｒ−ｃｅｌｌ）ブロックの場合もある。
【０１５５】
具体的に消去は、データラッチＤＬｌのデータ（即ちＶｓｓ）を、信号ＰＲＧｌを立ち上げてビット線に転送し、選択ブロック内の全ワード線を０Ｖ、セルウェルに消去電圧を印加することで行われる。
【０１５６】
この後ビット線対ＢＬ，／ＢＬを選択し（ステップＳ３）、センスアンプ２１を活性化して消去セルデータを読み出す（ステップＳ４）。このベリファイ読み出しは、図１０に示したように、選択ブロックの全ワード線を０Ｖとして、各ＮＡＮＤセルユニットに流れるセル電流Ｉｃが、参照セルＮＡＮＤ（Ｉ−ＮＡＮＤ）の電流（参照電流）Ｉｒより大きくなること検出するものである。ＮＡＮＤセルユニット内に一つでも消去不十分のセルがあれば、Ｉｃ＜Ｉｒとなる。
【０１５７】
センスアンプ２１の読み出しデータは、中継ノードＢ，／Ｂに転送する（ステップＳ５）。更に、中継ノードＢのデータをＣＫｌ＝“１”にしてデータラッチＤＬｌに転送する（ステップＳ６）。Ｂ＝“０”（消去十分）であれば、データラッチＤＬｌは“０”になる。
【０１５８】
ビット線番号を切り換えて次のビット線を選択し（ステップＳ３）、以下同様の読み出しと転送を、全ビット線について繰り返す。
【０１５９】
ステップＳ７で全てのデータラッチＤＬｌがオール“０”状態になったか否かを、判定信号線ＰＲＯＫで判定し、全てが“０”なら消去完了で終了する。ひとつでも“１”がある場合には、最初のステップＳ１に戻って同様の消去とベリファイを繰り返す。
【０１６０】
図３１は、ＤＬｌ＝“１”，／Ｘ＝“１”に設定されて、センスアンプＳＡの読み出しデータが順次データレジスタＤＬｌに転送される場合の動作波形を示している。センスアンプＳＡ出力と中継ノードＢ，／Ｂとの間は、ＯＵＴ−Ｂ，／ＯＵＴ−／Ｂの接続状態が選択されている。信号ＣＬＫによりセンスデータが順次データ中継ノードＢ，／Ｂに転送され、データラッチＤＬｌ０，ＤＬｌ１，…に順次転送書き込みされる。ビット線８対に対して一つのセンスアンプが配置された場合、８サイクルの転送動作が繰り返される。
【０１６１】
（参照セルベリファイ書き込み）
図２８は、参照セル（Ｒ−ｃｅｌｌ）のベリファイ書き込みシーケンスである。消去の場合と動作フローは似ている。異なる点は、セルのしきい値を一定の参照レベルＬｒまで上昇させるので、ベリファイ読み出しでは、セル電流Ｉｃを、参照セルＩ−ｃｅｌｌの参照電流Ｉｒと比較して、Ｉｃ＜Ｉｒを確認する。
【０１６２】
初期状態としてビット線ＢＬ側のデータレジスタ２６ｔ（データラッチＤＬｌ）を全て“１”状態にリセットする。また、センスアンプ２１と中継ノードＢ，／Ｂとの間のデータ転送モードを設定するために、データレジスタ２３（データラッチＸＬ）を、／Ｘ＝“１”の状態にセットする（ステップＳ１１）。これは、消去の場合と逆に、ＯＵＴとＢの間、／ＯＵＴと／Ｂの間がつながるようにする条件である。
【０１６３】
参照セル書き込みでは、参照セルのしきい値が上昇して、そのセル電流Ｉｃが、ビット線／ＢＬ側の第２の参照セルＮＡＮＤストリングＩ−ＮＡＮＤの参照電流Ｉｒより小さくなるという条件で書き込みを確認するものであり、従って書き込み十分であればベリファイ読み出しでデータラッチＤＬｌに“０”が書かれるようにするためである。
【０１６４】
全データラッチＤＬｌのデータをビット線に転送して、全ビット線をＶｓｓに設定し、選択参照ワード線で選択された参照セルの書き込みを行う（ステップＳ１２）。具体的に書き込みは、データラッチＤＬｌのデータ（即ちＶｓｓ）を信号ＰＲＧｌを立ち上げてビット線に転送し、選択参照ワード線に書き込み電圧Ｖｐｇｍを与えて行われる。
【０１６５】
この後ビット線対ＢＬ，／ＢＬを選択し（ステップＳ１３）、センスアンプ２１を活性化して書き込んだ参照セルデータを読み出す（ステップＳ１４）。このベリファイ読み出しは、図１１に示したように、選択参照ワード線をＰｒとして、セル電流Ｉｃが参照電流Ｉｒより小さくなることを確認するための読み出し動作である。
【０１６６】
センスアンプ２１の読み出しデータは、中継ノードＢ，／Ｂに転送する（ステップＳ１５）。更に、中継ノードＢのデータをＣＫｌ＝“１”にしてデータラッチＤＬｌに転送する（ステップＳ１６）。Ｂ＝“０”（書き込み十分）であれば、データラッチＤＬｌは“０”になる。
【０１６７】
ビット線番号を切り換えて次のビット線を選択し（ステップＳ１３）、以下同様の読み出しと転送を、全ビット線について繰り返す。
【０１６８】
ステップＳ１７では全てのデータラッチＤＬｌが“０”状態になったか否かを、判定信号線ＰＲＯＫで判定し、全てが“０”なら書き込み完了で終了する。ひとつでも“１”がある場合には、ステップＳ１２に戻って書き込みを繰り返す。このとき、データラッチＤＬｌが“０”となったセルに対しては、ビット線にＶｄｄが与えられて、書き込み禁止される。即ち、書き込みが不十分なセルに対してのみ再書き込みが行われる。
【０１６９】
センスデータのデータラッチＤＬｌへの転送動作波形は、図３１と同様であるが、このときはＸ＝“１”であり、ＯＵＴ−／Ｂ，／ＯＵＴ−Ｂの接続となる。
【０１７０】
（ＨＢデータ書き込み）
次に図２９を参照して、上位ビット（ＨＢ）データ書き込みを説明する。ＨＢデータ書き込みでは、データ線ＤＱを介してデータレジスタ２６ｔ（データラッチＤＬｌ）に書き込みＨＢデータをロードする。このとき、データ線ＤＱのデータとデータラッチＤＬｌのデータを反転させなければならない。セルのしきい値を上昇させるのは書き込みデータとして“０”であるが、データラッチＤＬｌのデータ“１”がビット線ＢＬにＶｓｓを与える“０”書き込みとなるからである。
【０１７１】
まずデータラッチＤＬｌをオール“１”の状態にリセットし、データレジスタ２３（データラッチＸＬ）をＸ＝“１”の状態にセットする（ステップＳ２１）。これは、データ線ＤＱを中継ノード／Ｂに接続する条件である。
【０１７２】
また、中継ノード／Ｂに書き込みデータを転送するために、中継ノード／Ｂを“１”に設定する（ステップＳ２２）。このためには、信号ＲＷｌ＝“１”としてＤＱと／Ｂのバスを作ると共に、ＢＲＳｌ＝“１”を与える。これにより、中継ノードＢが放電されて、／Ｂが“１”にセットされる。そして、各ビット線ＢＬへの書き込みデータが順次、信号ＣＳＬ，Ｘｉ，ＸｊによりＤＱを介して中継ノード／Ｂに転送される。ＤＱ＝“０”のときに／Ｂが放電されて、Ｂ＝“１”となる。ＤＱ＝“１”のときには放電せず、Ｂ＝“０”となる。
【０１７３】
こうしてデータノードＢに転送される書き込みデータを、順次データラッチＤＬｌに書き込む（ステップＳ２３）。即ち信号ＣＫｌを順次“１”にすることで、データラッチＤＬｌにはデータ線ＤＱの反転データが格納され、ＨＢデータ書き込みの準備が整う。
【０１７４】
データラッチＤＬｌのデータをビット線に転送し、“０”，“１”書き込みに応じてビット線にＶｓｓ，Ｖｄｄを与える。そして選択ワード線に書き込み電圧を与えて、書き込みを行う（ステップＳ２４）。
【０１７５】
続いて、データラッチＤＬｌのデータをそのまま利用して、ベリファイ読み出しを行う。まずデータラッチＸＬを／Ｘ＝“１”にセットする（ステップＳ２５）。これは、センスアンプ出力ＯＵＴをノードＢに、／ＯＵＴを／Ｂに接続する接続する条件である。
【０１７６】
そして、ビット線を選択し（ステップＳ２６）、ベリファイ電圧Ｐ１を用いたベリファイ読み出しを行い（ステップＳ２７）、センスデータを中継ノードＢ，／Ｂに転送し（ステップＳ２８）、更にＣＫｌ＝“１”によりノードＢのデータをデータラッチＤＬｌに書き込む（ステップＳ２９）。
【０１７７】
セル状態が十分しきい値が上昇していれば、対応するデータラッチＤＬｌはデータ“０”になり、書き込み不十分なセルはＢ＝“１”であり、データラッチＤＬｌは元のデータ状態を保つ。ビット線を順次選択して、同様のベリファイ読み出しを全てのビット線について行う。
【０１７８】
データラッチＤＬｌがオール“０”になったか否かの判定を行い（ステップＳ３０）、ＹＥＳであれば書き込み終了、ＮＯであれば書き込みステップＳ２４に戻って書き込みを繰り返す。データラッチＤＬｌが“０”となったセルに対しては以後、書き込み禁止となり、書き込み不十分だったセルに対してのみ書き込みが行われる。
【０１７９】
図３２は、データ線ＤＱの書き込みデータを中継ノード／Ｂに転送し、更にデータラッチＤＬｌに転送する動作波形を示している。信号ＲＷｌ＝“１”により、データ線ＤＱと中継ノード／Ｂが接続される。各サイクルでＣＳＬ＝“１”、次いでパルス信号ＢＲＳｌ＝“１”を与えることにより、データ線ＤＱのデータは中継ノード／Ｂに転送される。
【０１８０】
そして、中継ノードＢのデータが、信号ＣＫｌ＝“１”により、データラッチＤＬｌに順次転送される。これにより、データ線ＤＱの書き込みデータは反転されてデータラッチＤＬｌにラッチされる。
【０１８１】
図３３は、センスデータのデータラッチＤＬｌへの転送動作波形である。このとき、／Ｘ＝“１”により、ＯＵＴ−Ｂ，／ＯＵＴ−／Ｂなる接続状態が選ばれている。センスアンプデータは、信号ＣＬＫにより順次データ中継ノードＢ，／Ｂに転送され、信号ＣＫｌによりノードＢから順次データラッチＤＬｌへの転送が行われる。
【０１８２】
以上のようにこの実施の形態では、センスアンプを共有する複数の第１又は第２のデータレジスタに書き込みデータをシリアル転送しロードして、一括書き込みを行う。更に、複数ビット線に対して一つのセンスアンプでシリアルにベリファイ読み出しを行い、その結果を第１又は第２のデータレジスタにフィードバックする。この様な手順によって、高速の書き込みが可能になる。
【０１８３】
この特長は、以下に説明するＬＢデータ書き込みについても基本的に同様である。
【０１８４】
（ＬＢデータ書き込み）
図３０は、下位ビット（ＬＢ）データ書き込みのシーケンスを示している。ＬＢデータはデータレベルの割付ビットデータと書き込みデータ情報とが一致せず、さらにＨＢデータへの上書きである。そこで、書き込む先のＨＢデータと書き込みデータとから、各しきい値レベルの割付データを作る必要がある。そしてそのために、ビット線ＢＬ側の書き込みであっても、左右のデータラッチＤＬｌ，ＤＬｒを利用する。
【０１８５】
まず書き込み準備としてデータラッチＤＬｌ，ＤＬｒはオール“１”状態にリセットし、データラッチＸＬはＸ＝“１”状態にセットする（ステップＳ３１）。Ｘ＝“１”は、センスアンプの読み出しデータ転送に際し、ＯＵＴ−／Ｂ，／ＯＵＴ−Ｂなる接続を選ぶ条件である。
【０１８６】
この後、書き込み先のＨＢデータをセルアレイから読み出して右側のデータラッチＤＬｒに保持する（ステップＳ３２）。ビット線を選択してセンスアンプに読み出されたＨＢデータは、反転されて、信号ＣＫｒにより対応するデータラッチＤＬｒに格納される。この動作を、ビット線を順次選択して繰り返すことにより、選択された全ビット線の読み出しＨＢデータがデータラッチＤＬｒに格納されることになる。
【０１８７】
次に、データラッチＤＬｒのＨＢデータをデータラッチＸＬに転送して、これにより転送が制御される状態でデータ線ＤＱから書き込み用ＬＢデータをデータラッチＤＬｌにロードする（ステップＳ３３）。
【０１８８】
図３４に示すように、４つのデータレベルに割り付けられるＬＢデータは、ＨＢデータが“０”の場合と“１”の場合とで逆であるから、しきい値を上昇させるための書き込みデータを“０”データとするような書き込みデータロードを行うためには、データ線ＤＱから転送されるＬＢデータをＨＢデータに応じて反転させることが必要になる。即ち図３４に示すように、データラッチＤＬｌにロードするＬＢ書き込みデータは、データラッチＤＬｒが保持するＨＢデータが“０”の場合に反転させる。
【０１８９】
なお前述のように、データラッチＤＬｌのデータは、ノードＶ側のそれで示している。従ってここでのデータラッチＤＬｌの“０”，“１”データは、ビット線にそれぞれＶｄｄ，Ｖｓｓを与える“１”書き込み（書き込み禁止），“０”書き込みデータとなる。
【０１９０】
このステップＳ３３をより具体的に説明すれば、データラッチＤＬｒのＨＢデータをデータラッチＸＬに設定するために、まずデータラッチＸＬを／Ｘ＝“１”の状態にリセットする。そして、データバスＩＯ回路２４にＲＷｒ＝“１”、ＢＲＳｌ＝“１”を与えることにより、中継ノードＢを放電し、もって／Ｂ＝“１”に設定する。そして、ＣＫｒ＝“１”によりデータラッチＤＬｒのデータをノード／Ｂに転送する。
【０１９１】
その後ＲＨ＝“１”により、ノードＢ，／ＢのデータをデータラッチＸＬに格納する。データラッチＸＬのデータは、／Ｘの状態がＤＬｒと同じになり、データラッチＤＬｒの反転データとなる。
【０１９２】
次にデータ線ＤＱからデータラッチＤＬｌにＬＢデータを格納する際に、ＨＢデータに応じて反転させ、或いはそのまま書き込む。そのため、データラッチＸＬのデータ状態によってデータ線ＤＱとノードＢまたは／Ｂのいずれかの接続を選択する。
【０１９３】
ＲＷｌ＝“１”とし、ＢＲＳｌ，ＢＲＳｒを同時に“１”とすると、／Ｘ＝“０”の場合はＢを放電してＤＱと／Ｂを接続するパスができる。／Ｘ＝“１”の場合は、／Ｂを放電して、ＤＱとＢを接続するパスができる。
【０１９４】
そこで選択信号ＣＳＬ，Ｘｉ，ＸｊによってＤＱをつなぎ、ＤＱの“０”データを中継ノードＢ又は／Ｂに転送すれば、ノードＢには必要なＬＢ書き込みデータが得られる。そして、ＣＫｌ＝“１”にすると、ノードＢのＬＢ書き込みデータがデータラッチＤＬｌに格納される。この動作を全てのデータラッチＤＬｌについて繰り返す。
【０１９５】
次にデータラッチＤＬｌに格納されたＬＢ書き込みデータに従って、ビット線電圧制御を行い、選択ワード線に書き込み電圧を与える書き込み動作を行う（ステップＳ３４）。
【０１９６】
書き込み後、ベリファイ電圧Ｐ２，Ｐ３を適用したベリファイ読み出しを行う。いずれが先でもよいが、ここではベリファイ電圧Ｐ２を用いて最上位レベルＬ３の書き込みを確認するベリファイ読み出しを先にする。
【０１９７】
即ち、ベリファイ電圧Ｐ２を選択ワード線に与えた読み出しを行って、読み出されたデータをデータラッチＤＬｌに書き込む（ステップＳ３５）。このベリファイステップでは、最上位レベルＬ３の判定を行うので、他のデータレベルは全て“１”としてセンスされるから、ベリファイ対象外のデータラッチＤＬｌのデータが破壊されることはない。
【０１９８】
このベリファイステップを具体的に説明すれば、まずデータラッチＸＬを／Ｘ＝“１”に設定して、センスデータが中継ノードＢ，／Ｂにそのまま転送されるようにする。書き込みが十分であれば、しきい値レベル分布がデータレベルＬ３になり、“０”データとしてセンスされて、中継ノードＢが“０”となる。
【０１９９】
そして、選択ビット線に対応するデータラッチＤＬｌのＣＫｌを“１”にすると、データラッチＤＬｌに“１”が格納されていて、中継ノードＢが“０”の場合のみ、データラッチＤＬｌは“１”から“０”に変わる。これは、以後対応するビット線（セル）を書き込み禁止とする状態である。データレベルＬ３のベリファイ読み出しとして、この手順を全てのデータラッチＤＬｌについて行う。
【０２００】
次に、ベリファイ電圧Ｐ３を用いて、レベルＬ１の書き込みを確認するベリファイ読み出しを行うが、その際、データレベルＬ２，Ｌ３が“０”としてセンスされるので、ベリファイ対象外のデータレベル対応のデータラッチＤＬｌのデータ破壊を防止する処置が必要となる。
【０２０１】
そのためのデータ転送制御のために、データラッチＤＬｒのＨＢデータをデータラッチＸＬに転送する（ステップＳ３６）。具体的に説明すれば、まずデータラッチＸＬを／Ｘ＝“１”と設定する。また、ＲＷｌ＝“１”の設定でパルスＢＲＳｌを与えて中継ノードＢを放電し、／Ｂ＝“１”に設定する。その後ＣＫｒ＝“１”を与えると、データラッチＤＬｒの“０”をノード／Ｂに転送することができる。そしてＲＨパルスを与えて／Ｘに／Ｂの状態を取り込む。
【０２０２】
ここでＨＢデータが“０”であれば、／Ｘ＝“０”であり、センスアンプ出力とノードＢは反転してつながり、“１”であれば／Ｘ＝“１”であるので、センスアンプ出力とノードＢはそのままつながる。ＨＢデータが“０”であれば、データレベルＬ２又はＬ３であるので、これらは“０”とセンスされてノードＢには“１”が転送され、データラッチＤＬｌの状態はそのまま保持される。従って、ＨＢデータが“１”であるセルに対してのみベリファイができる。
【０２０３】
即ち、データラッチＸＬにより転送制御される状態で、ベリファイ電圧Ｐ３を用いたベリファイ読み出しを行う（ステップＳ３７）。センスデータは、ノードＢに転送され、ＣＫｌ＝“１”によって、ノードＢ＝“０”のデータのみがデータラッチＤＬｌに取り込まれる。これにより、データラッチＤＬｌに“１”が格納されていて、ノードＢが“０”の場合のみ、データラッチＤＬｌのデータは“０”になり、以後書き込み禁止状態になる。
【０２０４】
以上の手順を全てのデータラッチＤＬｌに対して行い、データラッチＤＬｌがオール“０”になったか否かの判定により書き込み完了判定を行う（ステップＳ３８）。書き込みが不十分の場合は、以上の書き込みと書き込みベリファイとを繰り返す。
【０２０５】
図３５は、ＨＢデータを読み出してデータラッチＤＬｒに格納するステップＳ３２の動作波形である。データラッチＤＬｒを信号ＲＳＶｒによりリセットし、データラッチＸＬをＸ＝“１”にセットして、ＯＵＴ−／Ｂ，／ＯＵＴ−Ｂの接続状態として、センスデータをノードＢ，／Ｂを介して順次データラッチＤＬｒに転送して格納することができる。
【０２０６】
図３６は、データラッチＤＬｒのＨＢデータにより転送制御により、データ線ＤＱからデータラッチＤＬｌにＬＢ書き込みデータをそのまま又は反転して転送するステップＳ３３の動作波形を示している。データラッチＤＬｌはリセット信号ＲＳＶｌによりオール“１”状態にリセットされる。また、データラッチＸＬは／Ｘ＝“１”状態に、中継ノードＢ，／Ｂは、／Ｂ＝“１”状態に設定される。
【０２０７】
ＲＷｒ／ｌ，ＢＲＳｌ／ｒ，ＸＲＳｌ，ＣＫｒにより、データラッチＤＬｒのＨＢデータに基づいて、／Ｘ＝“０”でＤＱ−／Ｂ接続状態が、／Ｘ＝“１”でＤＱ−Ｂ接続状態が設定されるようにする。これにより、データ線ＤＱから与えられるＬＢデータは、ＨＢデータに応じて反転されるか或いはそのまま、ＣＫｌによって順次選択されるデータラッチＤＬｌに転送される。
【０２０８】
図３７は、ベリファイ読み出しステップＳ３５の動作波形である。上位ビット（ＨＢ）書き込みのベリファイ時と同じであり、／Ｘ＝“１”により、ＯＵＴ−Ｂ，／ＯＵＴ−／Ｂなる接続状態を設定し、各ビット線データのセンスを繰り返し、そのセンスデータをクロックＣＬＫとＣＫｌにより中継ノードＢ，／Ｂを介してデータラッチＤＬｌに順次転送する。
【０２０９】
図３８は、ベリファイ読み出しステップＳ３７の動作波形である。／Ｘ＝“１”，／Ｂ＝“１”を初期設定し、ＣＫｒによりデータラッチＤＬｒのＨＢデータを順次ノード／Ｂに転送してこれをノード／Ｘに取り込む。これにより、Ｘ＝“０”でＯＵＴ−Ｂ接続、Ｘ＝“１”でＯＵＴ−／Ｂ接続という接続関係が決まる。即ち、ベリファイ読み出しのセンスデータは、ＨＢデータに応じて転送制御されて、データラッチＤＬｌに順次書き込まれる。
【０２１０】
データレベルＬ２，Ｌ３のセンスデータは、ＯＵＴ＝“０”であり、データラッチＤＬｒのＨＢデータからＸ＝“１”となり、ＯＵＴ−／Ｂの接続になって、Ｂ＝“１”、従ってデータラッチＤＬｌのデータは書き換えられない。
【０２１１】
図３９は、以上のＬＢ書き込みにおいて、ベリファイ電圧Ｐ２，Ｐ３を用いたベリファイ読み出しでのデータラッチＤＬｌ、ノードＢのデータ状態を示している。レベルＬ３，Ｌ１の“０”書き込みのためにデータラッチＤＬｌにプリセットされるのはデータ“１”である。ベリファイ電圧Ｐ２を用いたベリファイ読み出しで、レベルＬ３書き込みがＢ＝“０”となり、ベリファイ電圧Ｐ３を用いたベリファイ読み出しで、レベルＬ１書き込みがＢ＝“０”となり、これらによりデータラッチＤＬｌが“０”に書き換えられることを示している。
【０２１２】
（ＱＰＷ−Ｑｕｉｃｋ  Ｐａｓｓ  Ｗｒｉｔｅ）
ここまで通常のＬＢデータ書き込みを説明したが、次に、クイック・パス・ライト（ＱＰＷ）によるＬＢデータ書き込みを説明する。ＱＰＷとは、目標とする書き込みしきい値の近くまで高速の書き込みを行い、目標しきい値に近くなったら以後書き込み条件を緩くして（例えば、書き込み時のビット線電圧を制御して）、全体として高速にかつ狭いデータしきい値分布を実現する書き込み手法である。
【０２１３】
この実施の形態の４値データ記憶のＬＢデータ書き込みについては、（ａ）データレベルＬ１分布についてＱＰＷを適用し、データレベルＬ３は通常書き込みとする場合（以下、Ａ−ＱＰＷという）と、（ｂ）データレベルＬ３についてＱＰＷを適用し、データレベルＬ１は通常書き込みとする場合（以下、Ｃ−ＱＰＷという）、とがある。
【０２１４】
ここで、Ａ−ＱＰＷ，Ｃ−ＱＰＷなる呼称は、４値データレベルＬ０，Ｌ１，Ｌ２，Ｌ３をレベルＥ，Ａ，Ｂ，Ｃと言い換えたときに、（ａ）は、レベルＡに対するＱＰＷ、（ｂ）は、レベルＣに対するＱＰＷという意味で用いている。
【０２１５】
データレベルＬ１（＝Ａ），Ｌ３（＝Ｃ）の双方に同時にＱＰＷを行うには、図１９で説明したセンスユニット２０ではデータラッチが足りない。従ってここでは、図１９で説明した範囲のセンスユニット２０を用いて実現可能な例として、Ａ−ＱＰＷとＣ−ＱＰＷが異なるシーケンスとして行われる場合を説明する。
【０２１６】
ビット線ＢＬ側でのＱＰＷによるＬＢデータ書き込みでは、書き込みデータをビット線ＢＬ側のデータラッチＤＬｌにロードし、ビット線／ＢＬ側のデータラッチＤＬｒには、ＱＰＷの対象となるデータレベルを指示する識別データを保持する。この識別データは、具体的にはセルアレイのＨＢデータをデータラッチＤＬｒに読み出し、これにデータラッチＤＬｌの“０”データを上書きすることにより得られる。
【０２１７】
図４０と図４１はそれぞれ、Ａ−ＱＰＷとＣ−ＱＰＷの場合のデータラッチＤＬｌ，ＤＬｒのデータ状態を示している。データラッチＤＬｌには、通常のＬＢデータ書き込みの場合と同様に、ＬＢデータが一部反転されてロードされる。
【０２１８】
Ａ−ＱＰＷの場合は、図４０に示すように、セルアレイのＨＢデータを読み出してそのままデータラッチＤＬｒに保持した後、これにデータラッチＤＬｌの“０”データを上書きする。これにより、データラッチＤＬｒは、Ａ−ＱＰＷを行うデータレベルＡに対応するデータのみ“１”となる。
【０２１９】
そして、データレベルＡの書き込みについて、目標しきい値を決定するベリファイ電圧Ｐ３に対して、それに近づくまでは、少し低いベリファイ電圧Ｐ３＊を用いてベリファイ書き込みを行い、それ以後は目標のベリファイ電圧Ｐ３を用いて、ビット線電圧制御により書き込み速度を落としたベリファイ書き込みを行う。
【０２２０】
Ｃ−ＱＰＷの場合は、図４１に示すように、セルアレイのＨＢデータを読み出して反転してデータラッチＤＬｒに保持した後、これにデータラッチＤＬｌの“０”データを上書きする。これにより、データラッチＤＬｒは、Ｃ−ＱＰＷを行うデータレベルＣに対応するデータのみ“１”となる。
【０２２１】
データレベルＣの書き込みについて、目標しきい値を決定するベリファイ電圧Ｐ２に対して、それに近づくまでは、少し低いベリファイ電圧Ｐ２＊を用いてベリファイ書き込みを行い、それ以後は目標のベリファイ電圧Ｐ２を用いて、ビット線電圧制御により書き込み速度を落としたベリファイ書き込みを行う。
【０２２２】
以下、Ａ−ＱＰＷとＣ−ＱＰＷによるＬＢデータ書き込みを詳細に説明する。以下においても、データラッチＤＬｌに書き込みデータを保持して、ビット線ＢＬ側セルでの書き込みを行う場合を説明する。
【０２２３】
（Ａ−ＱＰＷによるＬＢデータ書き込み）
図４２は、Ａ−ＱＰＷによるＬＢデータ書き込みのシーケンスを示している。
【０２２４】
書き込み準備としてデータラッチＤＬｌ，ＤＬｒはオール“１”状態にリセットし、データラッチＸＬはＸ＝“１”状態にセットする（ステップＳ４１）。Ｘ＝“１”は、センスアンプの読み出しデータ転送に際し、ＯＵＴ−／Ｂ，／ＯＵＴ−Ｂなる接続を選ぶ条件である。
【０２２５】
この後、書き込み先のＨＢデータをセルアレイから読み出してビット線／ＢＬ側のデータラッチＤＬｒに保持する（ステップＳ４２）。ビット線を選択してセンスアンプに読み出されたＨＢデータは、反転されて、信号ＣＫｒにより対応するデータラッチＤＬｒに格納される。この動作を、ビット線を順次選択して繰り返すことにより、選択された全ビット線の読み出しＨＢデータがデータラッチＤＬｒに格納されることになる。
【０２２６】
次に、データラッチＤＬｒのＨＢデータをデータラッチＸＬに転送して、これにより転送が制御される状態でデータ線ＤＱから書き込み用ＬＢデータをデータラッチＤＬｌにロードする（ステップＳ４３）。
【０２２７】
通常のＬＢデータ書き込みの場合と同様、データ線ＤＱから転送されるＬＢデータをＨＢデータに応じて反転させて、図４０に示すデータラッチＤＬｌのデータ状態を得る。ここまでは既述の通常のＬＢデータ書き込みの場合と変わらない。
【０２２８】
この後、データラッチＤＬｒには、ＱＰＷの対象となるデータレベルＡのセルを識別するデータを保持させるべく、データラッチＤＬｌの“０”データをデータラッチＤＬｒにコピー書き込み（上書き）する（ステップＳ４４）。これにより、図４０に示すように、データラッチＤＬｒでは、データレベルＥ対応が“０”となり、データレベルＡ書き込みを行うセルに対してのみ、“１”の状態が設定される。
【０２２９】
このコピー動作は、中継ノードＢ及びデータラッチＸＬを介して行う。具体的に説明すれば、データラッチＸＬをＸ＝“１”に設定し、ＲＷｒ＝“１”の設定でＢＲＳｒパルスを与えることにより、ノードＢを“１”にする。そして、データラッチＤＬｌのデータをＣＫｌ＝“１”によってノードＢへと転送し、ＲＨパルスによりノードＸに転送する。
【０２３０】
ここでＲＷｌ＝“１”の設定でパルスＢＲＳｌ，ＢＲＳｒを同時に与えると、Ｘ＝“１”ならノードＢを放電して／Ｂが“１”になり、Ｘ＝“０”なら／Ｂを放電してこれが“０”になるので、／ＢにデータラッチＤＬｌのデータが転送される。ＣＫｒ＝“１”にしてデータラッチＤＬｒを開くと、ノード／Ｂのデータ“０”のみがデータラッチＤＬｒに上書きされる。
【０２３１】
以上の上書き動作を、全ての対応するデータラッチＤＬｌ−ＤＬｒの間で繰り返す。なお、この上書き動作はセルアレイの書き込み動作とは関係ないので、実際には次のセルアレイの書き込みステップＳ４５と時間的に並行して行うことが可能である。
【０２３２】
データラッチＤＬｌのデータに基づいて一括書き込みを行う（ステップＳ４５）。ついで、データレベルＣの書き込みを確認するためのベリファイ電圧Ｐ２を用いた第１ベリファイ読み出しを各ビット線について順次行ってその結果をデータラッチＤＬｌにフィードバックする（ステップＳ４６）。
【０２３３】
次に、データレベルＡに対して、目標値より低いベリファイ電圧Ｐ３＊を用いた第２ベリファイ読み出しを各ビット線について順次行って、その結果をデータラッチＤＬｌにフィードバックする（ステップＳ４７）。
【０２３４】
更に同じデータレベルＡに対して、目標値のベリファイ電圧Ｐ３を用いた第３ベリファイ読み出しを各ビット線について順次行って、その結果はデータラッチＤＬｒにフィードバックする（ステップＳ４８）。即ち目標とするデータレベルＡに達した場合、対応するデータラッチＤＬｒは“１”から“０”に書き換えられる。
【０２３５】
これにより、もし書き込みが完了していれば、データラッチＤＬｌ，ＤＬｒともにオール“０”となる。この条件で書き込み完了判定を行い（ステップＳ４９）。書き込みが未完了であれば、ビット線電圧制御を行って（ステップＳ５０）、再度書き込みを行う。
【０２３６】
ビット線電圧制御ステップＳ５０では、所望の“０”書き込みができたセルと“１”書き込みセル対応のビット線については、Ｖｄｄを、ベリファイ電圧Ｐ３＊で決まる所望のしきい値より低いレベルまで書き込みされたセルについては、以後ＶｓｓとＶｄｄの中間電圧Ｖｄｄ＊を与え、そこまでも書かれていない“０”書き込みセルに対して通常通りＶｓｓを与える、というように制御する。
【０２３７】
このようなビット線レベル制御を行なうことによって、レベルＡの分布に早くシフトするセルについは書き込み条件を緩和することができる。またこのベリファイ手順では、当初データラッチＤＬｒにはＱＰＷを行なう必要があるセルのみ“１”が保持され、レベルＡに達したと見なされて書き込み完了すれば、これが“０”へと書き換えられる。即ちデータラッチＤＬｌ，ＤＬｒは、ベリファイ結果に応じて順次変更される。
【０２３８】
以下にベリファイ読み出しとビット線電圧制御について詳細に説明する。
【０２３９】
ベリファイ読み出しステップＳ４６は、レベルＣ分布に対しての通常のベリファイである。データラッチＸＬを／Ｘ＝“１”に設定して、セル電流をセンスしたセンスアンプ出力がＯＵＴ−Ｂ，／ＯＵＴ−／Ｂ接続となるようにする。
【０２４０】
センス結果をノードＢ，／Ｂに転送した後に、ＣＫｌ＝“１”により、レベルＣの書き込みが完了したセルについては、データラッチＤＬｌを“０”に書き換える。レベルＣ分布より低い分布のレベルはセンスアンプによって“１”としてセンスされ、ノードＢが“１”であるので、データラッチＤＬｌは変わらない。この手順を、図４４に示すように、ビット線を切り換えて全てのデータラッチＤＬｌに対して行う。
【０２４１】
ベリファイ電圧Ｐ３＊を用いたベリファイ読み出しステップＳ４７は、同様にベリファイ結果をデータラッチＤＬｌにフィードバックするが、レベルＡ分布より上のレベル分布が“０”とセンスされるので、何もしなければデータラッチＤＬｌのデータを壊す。そこで、レベルＡ分布として書き込みたいがまだ不十分のセルをデータラッチＤＬｒの“１”によって識別する。
【０２４２】
そのために、データラッチＤＬｒのデータをノード／Ｂを介してデータラッチＸＬに転送する。具体的には、図４５に示すように、／Ｘを“１”に設定し、ＲＷｒ＝“１”の設定でパルスＢＲＳｌ＝“１”を与え、ノードＢを放電して、ノード／Ｂを“１”に設定する。そして、ＣＫｒ＝“１”によりデータラッチＤＬｒを開いて、そのデータをノード／Ｂに転送する。
【０２４３】
その後にパルスＲＨを与えて、ノード／ＸにデータラッチＤＬｒのデータを格納する。センスデータはデータラッチＤＬｒが“１”ならそのままノードＢに転送され、“０”なら反転して転送される。従って、ＣＫｌ＝“１”にすると、データラッチＤＬｒが“１”の場合のみ、データラッチＤＬｌは“１”から“０”に変化する。
【０２４４】
データラッチＤＬｒが“０”の場合は、レベルＢ分布とＣ分布に対してはセンス結果が“０”でノードＢは“１”になり、データラッチＤＬｌの状態は変わらず、レベルＥ分布に対してはセンス結果が“１”でノードＢは“０”、即ち書き込み完了セルとみなすので、データラッチＤＬｌの“０”状態は変わらない。この手順を全てのデータラッチＤＬｌに対して行う。
【０２４５】
ベリファイ電圧Ｐ３を用いたベリファイ読み出しステップＳ４８では、読み出し結果をデータラッチＤＬｒにフィードバックする。このとき、図４４に示すように、データラッチＸＬをＸ＝“１”に設定してセンスアンプ出力の反転データがノードＢ，／Ｂに転送されるようにする。ＣＫｒ＝“１”にすると、レベルＡの書き込み完了したものは、センス結果が“０”で／Ｂ＝“０”になるので、データラッチＤＬｒは“１”から“０”に書き換えられる。
【０２４６】
レベルＡ分布より高いレベル分布のものはセンスアンプ出力が“０”であり、／Ｂ＝“０”となるが、元々データラッチＤＬｒの保持データは“０”であるから、データラッチＤＬｒの内容は変わらない。レベルＥ分布はセンスデータが“１”であり、／Ｂ＝“１”になるが、データラッチＤＬｒの非対称性から、そのデータは変わらない。この手順を全てのデータラッチＤＬｒに対して行なう。
【０２４７】
以上のベリファイ読み出しが全て完了した時点で、全てのデータラッチＤＬｌとＤＬｒが“０”となっていれば、レベルＡ，Ｃ分布とも書き込みが全て完了して書き込みシーケンス終了となる。なお、全ての対象セルの書き込み完了の判定は書き込み完了判定回路２５の信号ｓｅｌｌとｓｅｌｒを同時に“１”にして、判定信号線ＰＲＯＫが放電されないことを検知することにより行なう。
【０２４８】
書き込みが完了していなければ、次の手順即ち、ビット線制御電圧設定手順に進む。具体的に図４３Ａ〜図４３Ｈのデータ状態遷移図を参照しながら、ビット線電圧設定動作を説明する。
【０２４９】
図４３Ａは、初期書き込みデータ設定時或いは、前回ベリファイ結果のデータラッチＤＬｌ，ＤＬｒのデータ状態（Ａ）であり、データラッチＤＬｒの“０”がレベルＣ書き込み、“１”がレベルＡ書き込みを示し、それぞれについてデータラッチＤＬｌが“０”または“１”となっている。
【０２５０】
図４３Ｂは、データラッチＤＬｒ＝“１”のセルの一部にレベルＡ書き込みが終わったものがあるベリファイ結果のデータ状態（Ｂ）を示している。即ち、レベルＡ書き込みについて、ベリファイ電圧Ｐ３でのベリファイ読み出しまでパスした場合（ＤＬｌ＝ＤＬｒ＝“０”）、ベリファイ電圧Ｐ３＊でのベリファイ読み出しはパスしたがベリファイ電圧Ｐ３ではフェイルの場合（ＤＬｌ＝“０”，ＤＬｒ＝“１”）、ベリファイ電圧Ｐ３＊のベリファイ読み出しもフェイルした場合（ＤＬｌ＝ＤＬｒ＝“１”）が示されている。
【０２５１】
図４３Ｂのデータ状態で、データラッチＤＬｌのビット線ＢＬへの転送制御信号ＰＲＧｌを適当なレベルに設定して、ビット線ＢＬをＶｄｄとＶｓｓの中間のレベルＶｄｄ＊に充電する。その結果は、図４３Ｃのようになる。即ち、データラッチＤＬｌ＝“０”対応のビット線ＢＬが全て、Ｖｄｄ＊となり、それ以外はＶｓｓとなる。
【０２５２】
ＤＬｌが“１”かまたはＤＬｒが“１”であれば、ビット線ＢＬをＶｓｓ（通常の“０”書き込み）またはＶｄｄ＊（緩い条件の“０”書き込み）として、“０”書き込みを続行する。それ以外のビット線ＢＬのＶｄｄ＊は、Ｖｄｄに戻す必要がある。
【０２５３】
そこでデータラッチＤＬｌとＤＬｒとのＯＲ演算を、データラッチＸＬを利用して行い、その結果によってデータラッチＤＬｌとＤＬｒがともに“０”であるときビット線ＢＬをひとつひとつＶｄｄに充電する、という操作を行う。このとき、ＱＰＷ用のビット線充電回路２８ｔを利用する。
【０２５４】
まずデータラッチＤＬｌのデータをデータラッチＸＬにノードＢを介して転送するために、Ｘ＝“１”にリセットし、ＲＷｒ＝“１”の設定でパルスＢＲＳｒを与える。これにより、ノード／Ｂが放電し、ノードＢが“１”になる。
【０２５５】
ＣＫｌ＝“１”でデータラッチＤＬｌを開いてそのデータをノードＢに転送し、さらにＲＨパルスによりノードＸにデータラッチＤＬｌのデータを設定し、データラッチＤＬｒのデータ転送の準備として、ＲＷｌ＝“１”の設定でＢＲＳｌパルスパルスを与えると、Ｘ＝“１”の場合はノードＢが放電されて、／Ｂが“１”に設定される。Ｘ＝“０”の場合はもともと／Ｂ＝“１”であるので、いずれにしても／Ｂ＝“１”となる。
【０２５６】
次に、ＣＫｒ＝“１”としてデータラッチＤＬｒを開きそのデータをノード／Ｂに転送し、ＤＬｒ＝“０”のときはＢ＝“１”にする。このノードＢの状態をデータラッチＸＬのノード／Ｘに上書きするために、ＲＨＲｒにパルスを与えると、Ｂ＝“０”の場合のみノード／Ｘが放電される。すなわちＤＬｌ＝“１”では／Ｘがもともと“０”に設定されており、またはＤＬｒ＝“１”ではＢ＝“０”となるのでやはり／Ｘが“０”となり、いずれかでノードＸが“１”に設定される。
【０２５７】
このデータラッチＸＬの状態を使って、ノードＢのレベルを設定するために、ＲＷｒ＝“１”の設定でＢＲＳｌとＢＲＳｒに同時にパルスを与えると、Ｘ＝“１”の場合は／Ｂが放電されてＢ＝“１”となる。Ｘ＝“０”の場合はＢが放電されてＢ＝“０”となる。
【０２５８】
そこで、ビット線ＢＬ側のビット線充電回路２８ｔについて、／ＱＷｌ＝Ｖｓｓにすると、Ｂ＝“０”の場合のみビット線ＢＬはＶｄｄにつながり充電される。すなわちデータラッチＤＬｌとＤＬｒがともに“０”である場合に、ビット線ＢＬはＶｄｄ＊からＶｄｄになる。
【０２５９】
図４３Ｄは以上のＯＲ演算により、データラッチＤＬｌとＤＬｒがともに“０”である場合にＶｄｄ＊のビット線ＢＬがＶｄｄに充電される様子を示している。図４３Ｆは別のタイミングで同様のデータ状態の場合に同様にビット線ＢＬがＶｄｄに充電されることを示している。
【０２６０】
図４３Ｅは、データラッチＤＬｌ，ＤＬｒがそれぞれ“１”，“０”の場合（レベルＣ書き込み）、ビット線ＢＬがＶｓｓを保持する様子を示している。図４３Ｈは、データラッチＤＬｌ，ＤＬｒがそれぞれ“１”，“１”の場合（レベルＡ書き込み）、やはりビット線ＢＬがＶｓｓに保持される様子を示している。
【０２６１】
図４３Ｇは、データラッチＤＬｌ，ＤＬｒがそれぞれ“０”，“１”であって、レベルＡ分布の近くまで書かれているが未だ十分ではない場合について、ビット線ＢＬがＶｄｄ＊に保持されることを示している。
【０２６２】
以上のようにして、レベルＡ分布に間近のセルのビット線ＢＬのみＶｄｄ＊で他の場合はＶｓｓかＶｄｄに設定される。この手順を全てのビット線ＢＬに行いビット線ＢＬのレベルを設定して書き込みを行うことで、書き込みデータとセルしきい値のシフト状況に応じた書き込み条件を設定することができる。即ち、目標データレベル近くまで書かれたセルに対して、以後の書き込み条件を緩くすることができる。
【０２６３】
図４６は、以上に説明した、Ｖｄｄ＊に設定したビット線ＢＬのうちレベルＡ分布間近のものを除きＶｄｄに充電する動作の動作波形を示している。データラッチＸＬを共有するビット線対が８であるとすると、８サイクルのＯＲ論理演算の繰り返しにより、データラッチＤＬｌ，ＤＬｒのデータに応じて全てのビット線について必要な電圧制御ができる。
【０２６４】
（Ｃ−ＱＰＷによるＬＢデータ書き込み）
図４７は、Ｃ−ＱＰＷによるＬＢデータ書き込みシーケンスを、図４２と対応させて示している。書き込み前の準備として、データラッチＤＬｌ，ＤＬｒはオール“１”状態にリセットする（ステップＳ６１）。
【０２６５】
Ｃ−ＱＰＷでは、ＨＢデータを反転して、ビット線／ＢＬ側のデータラッチＤＬｒに設定し、書き込みデータをビット線ＢＬ側のデータラッチＤＬｌに設定する。このために、Ａ−ＱＰＷの場合と異なり、データラッチＸＬには、／Ｘ＝“１”をセットする（ステップＳ６１）。
【０２６６】
そして、ビット線ＢＬ側のセルから既書き込みのＨＢデータを読み出して、これを反転してビット線／ＢＬ側のデータラッチＤＬｒに格納する（ステップＳ６２）。具体的には、センスアンプ出力と中継ノードとは、ＯＵＴ−Ｂ，／ＯＵＴ−／Ｂなる接続状態が設定され、書き込み先のＨＢをセンスしてノード／Ｂが確定したら対応するデータラッチＤＬｒのＣＫｒを“１”にして／Ｂの状態をデータラッチＤＬｒに転送する。この手続きを全てのデータラッチＤＬｒに対して行う。
【０２６７】
次に、データラッチＤＬｒのデータをデータラッチＸＬに転送し、これにより転送が制御される状態で書き込むべきＬＢデータをデータラッチＤＬｌに転送して書き込む（ステップＳ６３）。
【０２６８】
具体的に説明すれば、データラッチＤＬｒのデータを／Ｂを介してデータラッチＸＬに転送するために、ＸＬを／Ｘ＝“１”に設定し、ＲＷｒ＝“１”の状態でＢＲＳｌパルスによってノードＢを放電して、ノード／Ｂを“１”にセットする。そして、ＣＫｒ＝“１”によりデータラッチＤＬｒを開き、そのデータをノード／Ｂに転送し、ＨＲパスルによって／Ｂの状態を／Ｘへと転送して設定する。これでデータラッチＤＬｒのデータが反転データとして、すなわちＨＢデータがそのままデータラッチＸＬに設定される。
【０２６９】
データ線ＤＱから書き込みＬＢデータをデータラッチＤＬｌにロードするために、データラッチＸＬの状態によってＤＱとＢまたは／Ｂとの接続を設定する。ＲＷｒ＝“１”の設定でＢＲＳｌ，ＢＲＳｒに同時にパルスを与えると、／Ｘ＝“１”の場合はＢが放電されて／Ｂ＝“１”となり、ＤＱと／Ｂが接続される。／Ｘ＝“０”の場合は、／Ｂが放電されてＢ＝“１”となり、ＤＱとＢが接続される。
【０２７０】
この接続によって、ＤＱの“０”をＢまたは／Ｂに転送し、ＣＫｌ＝“１”によりデータラッチＤＬｌを開くと、ＨＢデータが“０”の場合はＬＢデータの反転データが、“１”の場合はＬＢデータが、書き込みデータとしてデータラッチＤＬｌ格納される。
【０２７１】
この手続きを全てのデータラッチＤＬｌについて行う。以上により、各データレベルとの関係で、データラッチＤＬｒ，ＤＬｌに、それぞれ図４１に示すように、ＨＢデータ，ＬＢデータが格納される。
【０２７２】
以上のデータラッチ書き込みの後、データラッチＤＬｌの“０”データのみをデータラッチＤＬｒに上書きするコピー書き込み動作を行う（ステップＳ６４）。このコピー書き込み動作は、Ａ−ＱＰＷの場合と同様であり、詳細説明は省略する。これにより、図４１に示すように、ＱＰＷを行うレベルＣ分布に対してのみデータラッチＤＬｒが“１”となる。
【０２７３】
ここまでの動作手順と動作波形を、図４８〜図５０に示した。
【０２７４】
図４８は、ＤＬｒ＝“１”にリセットし、／Ｘ＝“１”により、ＯＵＴ−Ｂ，／ＯＵＴ−／Ｂ接続状態を設定して、ＨＢデータを順次データラッチＤＬｒに格納する場合の動作波形である。
【０２７５】
図４９は、ＤＬｌ＝“１”にリセットされた後、データ線ＤＱの書き込みデータを、データラッチＤＬｒのデータをセットしたデータラッチＸＬにより転送制御して、データラッチＤＬｌに順次格納する動作波形を示している。
【０２７６】
図５０は、データラッチＤＬｌのデータを、データラッチＸＬにより転送制御してノードＢ，／Ｂを介して順次データラッチＤＬｒにコピー書き込みし、“０”データのみを上書きする動作波形を示している。
【０２７７】
以上のデータラッチＤＬｌ，ＤＬｒのデータ格納に続いて、データラッチＤＬｌのデータを用いた書き込みを行う（ステップＳ６５）。即ち、データラッチＤＬｌの書き込みデータにより、全てのビット線ＢＬをＶｓｓ（“０”書き込み）またはＶｄｄ（“１”書き込み）に設定し、これによりＮＡＮＤセルチャネル電位をデータに応じて制御して、選択ワード線に書き込み電圧を印加する。
【０２７８】
書き込み後のベリファイ読み出しステップは３ステップになる。まず、図４１に示すように、レベルＣに対する目標ベリファイ電圧Ｐ２より少し低いベリファイ電圧Ｐ２＊を用いたベリファイ読み出しを行い、その結果をデータラッチＤＬｌにフィードバックする（ステップＳ６６）。
【０２７９】
続いて、レベルＡの書き込みを確認するためのベリファイ電圧Ｐ３用いたベリファイ読み出しを行い、その結果をデータラッチＤＬｌにフィードバックする（ステップＳ６７）。更に、レベルＣを確認するベリファイ電圧Ｐ２を用いたベリファイ読み出しを行う（ステップＳ６８）。このステップＳ６８のベリファイ結果は、データラッチＤＬｒにフィードバックする。
【０２８０】
以上のベリファイ読み出しの結果、データラッチＤＬｌ，ＤＬｒが共にオール“０”であるか否かにより書き込み完了判定を行う（ステップＳ６９）。書き込みが未完了であれば、必要なビット線電圧制御を行って（ステップＳ７０）、再度書き込みを繰り返す。
【０２８１】
以下に、各ベリファイ読み出しステップとその後のビット線電圧制御を具体的に説明する。
【０２８２】
まず、ベリファイ読み出しステップＳ６６は、ベリファイ電圧（選択ワード線レベル）Ｐ２＊で、レベルＣ分布に早く近づいたしきい値セルを識別する。即ち、データラッチＸＬを、／Ｘ＝“１”に設定してセンスアンプ出力がそのまま中継ノードＢ，／Ｂに転送されるようにする。ベリファイ電圧Ｐ２＊でセンスした結果をノードＢ，／Ｂに転送した後に、そのデータをＣＫｌ＝“１”によりデータラッチＤＬｌに書き込む。
【０２８３】
レベルＣが書かれたセルでは、データラッチＤＬｌが“０”に書き換えられる。レベルＣより低いセルは、センスアンプによって“１”としてセンスされ、ノードＢが“１”、従ってデータラッチＤＬｌの内容は変わらない。
【０２８４】
この手順を全てのデータラッチＤＬｌについて行う。図５２は、このベリファイ電圧Ｐ２＊を用いたベリファイ読み出しとデータラッチＤＬｌへのフィードバックの動作波形を示している。
【０２８５】
次に、レベルＡ分布の書き込みを確認するためのベリファイ電圧Ｐ３を用いたベリファイ読み出しステップＳ６７では、センス結果をデータラッチＤＬｌにフィードバックするが、このときレベルＡ分布より上のレベル分布は“０”とセンスされ、何もしなければデータラッチＤＬｌのデータを壊す。そこでレベルＡ分布として書き込みたいが、まだ書き込み不十分のセルと、データラッチＤＬｌのデータを“１”のまま保持したいセルとを、データラッチＤＬｒの“１”により識別する。
【０２８６】
そのため、データラッチＤＬｒのデータをノード／Ｂを介してデータラッチＸＬに設定するため、ノード／Ｘを“１”にリセットし、ＲＷｒ＝“１”の設定でＢＲＳｌにパルスを与える。これにより、ノードＢが放電されて／Ｂが“１”に設定されるから、ＣＫｒ＝“１”でデータラッチＤＬｒを開いて、そのデータをノード／Ｂに転送する。
【０２８７】
その後、ＲＨパルスを与えてノード／ＸにデータラッチＤＬｒのデータを書き込む。データラッチＤＬｒが“１”であれば、／Ｘ＝“１”であるからセンス結果がノードＢに転送され、“０”であれば、／Ｘ＝“０”であるので、センス結果の反転がノードＢに転送されるようになる。
【０２８８】
そしてベリファイ電圧Ｐ３でのセンスを行い、データラッチＤＬｒが“０”であるセルについては、センスデータをノードＢと／Ｂに転送し、Ｋｌ＝“１”にして書き込み完了と見なされたセンスデータ“０”をデータラッチＤＬｌに上書きする。このときデータラッチＤＬｒが“１”のセルのセンスデータ“０”は、反転データがノードＢに転送されるので、データラッチＤＬｌの状態は変わらない。
【０２８９】
この手順を全てのデータラッチＤＬｌに対して行う。図５３は、このベリファイ電圧Ｐ３を用いたベリファイ読み出しステップでの、データラッチＤＬｒのデータにより転送制御されるデータラッチＤＬｌへのフィードバック動作波形を示している。
【０２９０】
次にベリファイ読み出しステップＳ６８では、ベリファイ電圧Ｐ２を用いて、レベルＣ分布の書き込み状態確認を行う。データラッチＸＬを／Ｘ＝“１”に設定して、センスアンプ出力の反転がノードＢ，／Ｂに転送されるようにする。センス結果をノードＢ，／Ｂに転送した後、ＣＫｒ＝“１”により、レベルＣ分布の書き込みができたものは、データラッチＤＬｒを“０”に書き換える。
【０２９１】
レベルＣ分布より低い分布のセルは、“１”としてセンスされ、／Ｂが“１”となり、データラッチＤＬｒの内容は変わらない。この手順を全てのデータラッチＤＬｒに対して行なう。このベリファイ電圧Ｐ２を用いたベリファイ読み出しは、データラッチＤＬｒへのフィードバックになる点で先のベリファイ電圧Ｐ２＊を用いた場合と異なるが、図５２の動作波形となる。
【０２９２】
以上の３ステップのベリファイ読み出しを終わって、全てのデータラッチＤＬｌ，ＤＬｒが“０”であれば、レベルＡ，Ｃとも全て書き込みが完了したことになる。全ての対象セルの書き込み完了の判定は書き込み完了判定回路２５の信号ｓｅｌｌとｓｅｌｒを同時に“１”にして判定信号線ＰＲＯＫが放電されないことにより行なう。一つでも“１”があれば、次の手順即ちビット線電圧制御を行う。
【０２９３】
ビット線電圧制御について、図５１Ａ〜図５１Ｈの状態遷移図を参照して説明する。
【０２９４】
図５１Ａは、初期書き込みデータ設定時或いは、前回ベリファイ結果のデータラッチＤＬｌ，ＤＬｒのデータ状態（Ａ）であり、データラッチＤＬｒの“１”がレベルＣ書き込み、“０”がレベルＡ書き込みを示し、それぞれについてデータラッチＤＬｌが“０”または“１”となっている。
【０２９５】
図５１Ｂは、データラッチＤＬｒ＝“１”のセルの一部にレベルＣ書き込みが終わったものがあるベリファイ結果のデータ状態（Ｂ）を示している。即ち、レベルＣ書き込みについて、ベリファイ電圧Ｐ２でのベリファイ読み出しまでパスした場合（ＤＬｌ＝ＤＬｒ＝“０”）、ベリファイ電圧Ｐ２＊でのベリファイ読み出しはパスしたがベリファイ電圧Ｐ２ではフェイルの場合（ＤＬｌ＝“０”，ＤＬｒ＝“１”）、ベリファイ電圧Ｐ２＊のベリファイ読み出しもフェイルした場合（ＤＬｌ＝ＤＬｒ＝“１”）が示されている。
【０２９６】
図５１Ｂのデータ状態で、データラッチＤＬｌのビット線ＢＬへの転送制御信号ＰＲＧｌを適当なレベルに設定して、ビット線ＢＬをＶｄｄとＶｓｓの中間のレベルＶｄｄ＊に充電する。その結果は、図５１Ｃの状態（Ｃ）になる。即ち、データラッチＤＬｌ＝“０”対応のビット線ＢＬが全て、Ｖｄｄ＊となり、それ以外はＶｓｓとなる。
【０２９７】
ＤＬｌが“１”かまたはＤＬｒが“１”であれば、ビット線ＢＬをＶｓｓ（通常の“０”書き込み）またはＶｄｄ＊（緩い条件の“０”書き込み）として、“０”書き込みを続行する。それ以外のビット線ＢＬのＶｄｄ＊は、Ｖｄｄに戻す必要がある。
【０２９８】
そこでデータラッチＤＬｌとＤＬｒとのＯＲ演算を、データラッチＸＬを利用して行い、その結果によってデータラッチＤＬｌとＤＬｒがともに“０”であるときビット線ＢＬとひとつひとつＶｄｄに充電する、という操作を行う。この場合、ＱＰＷ用のビット線充電回路２８ｔを利用する。
【０２９９】
まずデータラッチＤＬｌのデータをデータラッチＸＬにノードＢを介して転送するために、Ｘ＝“１”にリセットし、ＲＷｒ＝“１”の設定でパルスＢＲＳｒを与える。これにより、ノード／Ｂが放電し、ノードＢが“１”になる。
【０３００】
ＣＫｌ＝“１”でデータラッチＤＬｌを開いてそのデータをノードＢに転送し、さらにＲＨパルスによりノードＸにデータラッチＤＬｌのデータを設定する。データラッチＤＬｒのデータ転送の準備として、ＲＷｌ＝“１”の設定でＢＲＳｌパルスを与えると、Ｘ＝“１”の場合はノードＢが放電されて、／Ｂが“１”に設定される。Ｘ＝“０”の場合はもともと／Ｂ＝“１”であるので、いずれにしても／Ｂ＝“１”となる。
【０３０１】
次に、ＣＫｒ＝“１”としてデータラッチＤＬｒを開きそのデータをノード／Ｂを転送し、ＤＬｒ＝“０”のときはＢ＝“１”にする。このノードＢの状態をデータラッチＸＬのノード／Ｘに上書きするために、ＲＨＲｒにパルスを与えると、Ｂ＝“０”の場合のみ／Ｘが放電される。すなわちＤＬｌ＝“１”では／Ｘがもともと“０”に設定されており、またはＤＬｒ＝“１”ではＢ＝“０”となるのでやはり／Ｘが“０”となり、いずれかでノードＸが“１”に設定される。
【０３０２】
このデータラッチＸＬの状態を使って、ノードＢのレベルを設定するために、ＲＷｒ＝“１”の設定でＢＲＳｌとＢＲＳｒに同時にパルスを与えると、Ｘ＝“１”の場合は／Ｂが放電されてＢ＝“１”となる。Ｘ＝“０”の場合はＢが放電されてＢ＝“０”となる。
【０３０３】
そこで、ビット線ＢＬ側のビット線充電回路２８ｔについて、／ＱＷｌ＝Ｖｓｓにすると、Ｂ＝“０”の場合のみビット線ＢＬはＶｄｄにつながり充電される。すなわちデータラッチＤＬｌとＤＬｒがともに“０”である場合に、ビット線ＢＬはＶｄｄ＊からＶｄｄになる。
【０３０４】
図５１Ｄは、以上のＯＲ演算により、データラッチＤＬｌとＤＬｒがともに“０”である場合にＶｄｄ＊のビット線ＢＬがＶｄｄに充電される様子を示している。図５１Ｇも同様のデータ状態で別のタイミングにビット線ＢＬがＶｄｄに充電されることを示している。
【０３０５】
図５１Ｅは、ＤＬｌ，ＤＬｒがそれぞれ“０”，“１”であり、レベルＣ分布の近くまで書かれているが未だ十分ではない場合について、ビット線ＢＬがＶｄｄ＊に保持されることを示している。
【０３０６】
図５１Ｆは、データラッチＤＬｌ，ＤＬｒが共に“１”の場合（レベルＣ書き込み）、ビット線ＢＬがＶｓｓを保持する様子を示している。図５１Ｈは、データラッチＤＬｌ，ＤＬｒがそれぞれ“１”，“０”の場合（レベルＡ書き込み）、やはりビット線ＢＬがＶｓｓに保持される様子を示している。
【０３０７】
以上のようにして、レベルＣ分布に間近のセルのビット線ＢＬのみＶｄｄ＊で他の場合はＶｓｓかＶｄｄに設定される。この手順を全てのビット線ＢＬに行いビット線ＢＬのレベルを設定して書き込みを行うことで、書き込みデータとセルしきい値のシフト状況に応じた書き込み条件を設定することができる。
【０３０８】
図５４は、Ｖｄｄ＊に設定したビット線ＢＬのうちレベルＣ分布間近のものを除きＶｄｄに充電する動作の動作波形を示している。データラッチＸＬを共有するビット線対が８であるとすると、８サイクルのＯＲ論理演算の繰り返しにより、データラッチＤＬｌ，ＤＬｒのデータに応じて全てのビット線について必要な電圧制御ができる。
【０３０９】
（データ読み出し手順）
次に、データ読み出し手順をセンスユニット２０の動作と共に詳細に説明する。先に読み出しの概略は説明したが、ＨＢデータは、１回のセンスサイクルで読み出し可能である。ＬＢデータは、ビット線対ＢＬ，／ＢＬに設けられたデータラッチＤＬｌ，ＤＬｒを利用することで、２回のセンスサイクルで読み出すことができる。
【０３１０】
以下のデータ読み出しについても、ここまでの書き込み動作と同様に、ビット線ＢＬ側の情報セルについて行う場合を説明する。
【０３１１】
まず、上位ビット（ＨＢ）データ読み出しの場合、そのセルデータをデータラッチＤＬｌに読み出すために、全てのデータラッチＤＬｌを“１”にリセットし、センス出力は、ＯＵＴ−Ｂ，／ＯＵＴ−／Ｂなる接続となるようにする。選択ワード線を読み出し電圧Ｒ１にして、その選択情報セルのセル電流を参照セルの参照電流と比較してデータセンスする。
【０３１２】
センスアンプ出力を、ノードＢ，／Ｂに転送し、ＣＫｌ＝“１”によりデータラッチＤＬｌを開いて、そのセンスデータをデータラッチＤＬｌに格納する。この読み出し手順を、ビット線を切り換えてすべてのビット線について行い、それぞれ対応するデータラッチＤＬｌに格納する。
【０３１３】
図５５は、そのＨＢデータ読み出しの動作波形を示している。ＤＬｌ＝“１”にリセットすると共に、／Ｘ＝“１”として、センスアンプ出力がそのままノードＢ，／Ｂに転送されるようにして、各ビット線についてのセンスデータをクロックＣＬＫにより順次ノードＢを介してデータラッチＤＬｌ０，ＤＬｌ１，ＤＬｌ２，…に転送する。
【０３１４】
データラッチＤＬｌの読み出しデータは、データ線ＤＱを介して外部に出力する。そのためにまず、データ線ＤＱを“１”にセットし、データラッチＤＬｌから中継ノードＢを介してデータ線ＤＱにデータを転送する。
【０３１５】
具体的に説明する。ＩＯ回路２４において、ＲＷｌ＝“１”に設定して、ＢＲＳｒにパルスを与えると、／Ｘ＝“１”となっているのでノード／Ｂが放電され、ノードＢが“１”になる。次に、ＣＫｌ＝“１”によりデータラッチＤＬｌを開いてそのデータをノードＢに転送する。／Ｘ＝“１”，ＲＷｌ＝“１”と設定されているので、ノードＢとデータ線ＤＱをつなぐパスが出来る。選択信号ＣＳＬ，Ｘｉ，Ｘｊによってデータ線ＤＱをつなぐと、データ線ＤＱをノードＢから放電して、データを外部に転送する。このようなデータ転送を全てのデータラッチＤＬｌに対して行なう。
【０３１６】
図５６は、データラッチＤＬｌの読み出しデータのデータ線ＤＱへの出力転送動作波形を示している。ＲＷｌ＝“１”によりデータ線ＤＱとノードＢが接続される状態に設定され、データラッチＤＬｌ０，ＤＬｌ１，ＤＬｌ２，…のデータが順次、ＣＫｌにより制御されてノードＢを介してデータ線ＤＱに転送される。データ線ＤＱはデータ転送の度に“１”にリセットする。
【０３１７】
次に、読み出し電圧Ｒ２及びＲ３を用いた下位ビット（ＬＢ）データ読み出し手順を説明する。この場合もビット線ＢＬ側の情報セルデータをデータラッチＤＬｌに読み出すが、ＬＢデータはＨＢデータに上書きされているので、センスデータの演算が必要である。
【０３１８】
図１６から明らかなように、読み出し電圧Ｒ２，Ｒ３を用いた２回のセンスサイクルＴ２，Ｔ３でのセンスデータのＸＯＲ演算をとると、その演算結果の“０”，“１”がＬＢデータとなる。そこで、最初のセンスデータを例えば右側のデータラッチＤＬｒに格納する。２回目のセンスデータとデータラッチＤＬｒのデータとの間で、データラッチＸＬを利用してＸＯＲ演算を行い、その演算結果を、ＬＢデータとして左側のデータラッチＤＬｌに格納する、という処理を行う。
【０３１９】
なお、ＬＢデータ読み出しの２回のセンスサイクルは、読み出し電圧Ｒ２，Ｒ３のいずれを先にしてもよい。
【０３２０】
以下、詳細に説明する。
【０３２１】
第１ステップとして、読み出し電圧Ｒ２，Ｒ３のいずれか一方を用いてセンスしたデータを、右側のデータラッチＤＬｒに格納する。図５７はその動作波形である。まず全てのデータラッチＤＬｒを“１”にリセットし、／Ｘ＝“１”として、センスアンプ出力がＯＵＴ−Ｂ，／ＯＵＴ−／Ｂなる接続となるようにする。
【０３２２】
センスデータがノードＢ，／Ｂに転送されたら、ＣＫｒ＝“１”としてデータラッチＤＬｒを開き、センスデータの反転データをデータラッチＤＬｒに格納する。この手順を順次ビット線を選択して、全てのデータラッチＤＬｒ０，ＤＬｒ１，ＤＬｒ２，…に対して行なう。
【０３２３】
第２ステップでは、読み出し電圧Ｒ２，Ｒ３の他方を用いてデータセンスする。この第２ステップの動作波形は、図５８のようになる。センスデータと、データラッチＤＬｒに保持されている第１ステップのセンスデータとのＸＯＲ論理をとってその演算結果をデータラッチＤＬｌに格納するために、まずデータラッチＤＬｌを全て“１”にリセットする。
【０３２４】
次に、データラッチＤＬｒのデータをノード／Ｂを介してデータラッチＸＬに転送するために、／Ｘ＝“１”にセットし、ＲＷｒ＝“１”の設定状態でＢＲＳｌパルスを与える。これにより、ノードＢが放電されてノード／Ｂが“１”に設定される。そして、ＣＫｒ＝“１”としてデータラッチＤＬｒを開き、そのデータをノード／Ｂに転送し、更にこれをＲＨパルスを与えてノード／Ｘに書き込む。
【０３２５】
この時点で、ノードＸには第１ステップのセンスデータが、データラッチＤＬｒの反転データとして格納される。
【０３２６】
Ｘ＝“１”では、ＯＵＴ−Ｂ接続となり、Ｘ＝“０”では、ＯＵＴ−／Ｂ接続となる。従って、データラッチＸＬにより制御される状態でクロックＣＬＫによりセンスデータをノードＢ，／Ｂに転送すると、第１ステップと第２ステップのセンスデータのＸＯＲ演算の結果がノードＢ，／Ｂに得られる。
【０３２７】
ＣＫｌ＝“１”としてデータラッチＤＬｌを開き、ノードＢのデータをこれに格納する。この手順を、全てのデータラッチＤＬｌに対して行う。その後データラッチＤＬｌのデータを、データ線ＤＱを介して外部に転送出力する動作は、先のＨＢデータ出力の場合と同じである。
【０３２８】
図５９は、以上のＬＢデータ読み出し動作のデータ遷移状態を、第１ステップに読み出し電圧Ｒ２を用い、第２ステップに読み出し電圧Ｒ３を用いた場合について示している。読み出し電圧Ｒ２を用いた第１ステップでデータラッチＤＬｒに読み出されるデータは、ＨＢ＝ＬＢ＝“０”の場合のみ“１”となる。
【０３２９】
このデータラッチＤＬｒのデータはノードＸに反転されて転送される。そして、読み出し電圧Ｒ３を用いた第２ステップのセンスデータＳＤとノードＸのデータとの間でＸＯＲ演算を行った結果がＬＢデータとしてデータラッチＤＬｌに格納される。
【０３３０】
図６０は、第１ステップに読み出し電圧Ｒ３を用い、第２ステップに読み出し電圧Ｒ２を用いた場合について、同様にＬＢデータ読み出し動作のデータ遷移状態を示している。読み出し電圧Ｒ３を用いた第１ステップでデータラッチＤＬｒに読み出されるデータは、ＨＢ＝“１”でＬＢ＝“０”の場合のみ“０”となる。
【０３３１】
このデータラッチＤＬｒのデータはノードＸに反転されて転送される。そして、読み出し電圧Ｒ２を用いた第２ステップのセンスデータＳＤとノードＸのデータとの間でＸＯＲ演算を行った結果がＬＢデータとしてデータラッチＤＬｌに格納される。
【０３３２】
（ページコピー動作）
あるページに書かれているデータを別のページにコピーする手順について説明する。ここでも、ビット線ＢＬ側のセルアレイのあるページのデータを同じビット線ＢＬ側の他のページにコピーする場合を例に挙げる。
【０３３３】
ここでいうページは、物理的ページであり、例えば一つのワード線とこれと交差する全ビット線とにより選択される情報セルの集合である。或いは、一つのワード線と偶数番（または奇数番）の全ビット線とにより選択される情報セルの集合の場合もある。
【０３３４】
上位ビット（ＨＢ）データコピーでは、コピー先ページが全セルがデータレベルＬ０（＝Ｅ）の状態にある場合を説明する。下位ビット（ＬＢ）データコピーについては、コピー先ページにＨＢデータが書かれている場合、即ちレベルＬ２（＝Ｂ）またはＬ０（＝Ｅ）のいずれかの状態にある場合を説明する。しかしコピー動作はこれに限られるわけではなく、例えばＨＢデータをＬＢデータとしてコピーし、或いはＬＢデータをＨＢデータとしてコピーすることも、手順を変えれば可能である。
【０３３５】
基本的にページコピー動作は、コピー元のページデータを読み出して、これをビット線ＢＬ側のデータラッチＤＬｌに書き込みデータとして保持し、コピー先に書き込みを行うことになる。
【０３３６】
まずＨＢデータのコピー動作を説明する。読み出し電圧Ｒ１でコピー元のページから読み出したＨＢデータの反転データが書き込みデータとなるので、読み出しデータを反転させてデータラッチＤＬｌに格納すればよい。
【０３３７】
図６１を参照して説明すると、コピー動作の準備としてまず、全てのデータラッチＤＬｌをオール“１”の状態にリセットする。データラッチＸＬは、Ｘ＝“１”状態にセットし、センスアンプ出力が中継ノードＢ，／Ｂに反転して転送される状態に設定する（ステップＳ８１）。
【０３３８】
そして、読み出し電圧Ｒ１でコピー元ページのＨＢデータを読み出す（ステップＳ８２）。そのセンスデータを、ＣＫｌ＝“１”によりデータラッチＤＬｌを開いてデータラッチＤＬｌに格納する（ステップＳ８２）。この手続きを選択ページの全ビット線に対して（即ち全データラッチＤＬｌに対して）行うことにより、データラッチＤＬｌにコピー書き込み用データが得られる。
【０３３９】
そして、データラッチＤＬｌのデータに従って、コピー先のページに書き込み及び書き込みベリファイを行う（ステップＳ８３）。
【０３４０】
図６２は、コピー元ページデータの読み出し転送動作波形を示している。Ｘ＝“１”により、センスアンプ出力と中継ノードは、ＯＵＴ−／Ｂ，／ＯＵＴ−Ｂの反転転送用の接続となる。センスアンプ出力は、クロックＣＬＫにより順次中継ノードＢ，／Ｂに転送され、クロックＣＫｌによりデータラッチＤＬｌ０，ＤＬｌ１，ＤＬｌ２，…に転送格納される。
【０３４１】
次に、ＬＢデータのページコピーを説明する。この場合は、コピー元ページのＬＢデータをＨＢデータが異なるコピー先ページへ書き込むので、書き込み情報を作るにはコピー元ＬＢデータに加えて、コピー先のＨＢデータが必要となる。ＬＢデータ読み出しは、先のＬＢデータ読み出し動作で説明したと同様に、２ステップのセンス動作とＸＯＲ演算により求められ、これを右側のデータラッチＤＬｒに格納する。そして、このデータをもとに左側のデータラッチＤＬｌに、コピー先のＨＢデータに対しての書き込み情報を格納する。
【０３４２】
具体的に図６３を参照して説明する。コピー元のＬＢデータ読み出し時、先に説明した通常のＬＢデータ読み出しの場合とはデータラッチＤＬｌとＤＬｒの使い方が逆になる。
【０３４３】
まず、データラッチＤＬｌ，ＤＬｒをオール“１”にリセットする（ステップＳ９１）。ＬＢデータ読み出しは読み出し電圧Ｒ２，Ｒ３を用いた２ステップを要するが、ここでは第１ステップで読み出し電圧Ｒ２を用いるものとする。即ち、コピー元のＬＢデータ読み出しを読み出し電圧Ｒ２で行い、これをデータラッチＤＬｌに格納する（ステップＳ９２）。
【０３４４】
データラッチＸＬは、Ｘ＝“１”状態にセットして、センスアンプ出力がＯＵＴ０−／Ｂ，／ＯＵＴ−Ｂなる反転接続状態とする。そして、ＣＫｌ＝“１”によりデータラッチＤＬｌを開くことにより、センスデータの反転データがデータラッチＤＬｌに格納される。この手順を全てのビット線に対応する全てのデータラッチＤＬｌに対して行なう。
【０３４５】
図６４は、この第１ステップのＬＢデータ読み出し動作波形を示している。リセットされたデータラッチＤＬｌ０，ＤＬｌ１，ＤＬｌ２，…に対して順次、読み出されたＬＢデータの反転データが格納される。
【０３４６】
第２ステップでは、読み出し電圧Ｒ３でコピー元のＬＢデータ読み出しを行う（ステップＳ９３）。センスデータをデータラッチＤＬｒに格納するが、その際、データラッチＤＬｌに格納されているデータの反転データとの間でＸＯＲ演算を行ってその結果をデータラッチＤＬｒに格納する（ステップＳ９４）。
【０３４７】
そのためには、データラッチＤＬｌのデータをノードＢを介してデータラッチＸＬに転送するために、Ｘ＝“１”にセットする。ＲＷｒ＝“１”の設定状態でＢＲＳｒパルスを与える。これによりノード／Ｂが放電されて、ノードＢが“１”に設定される。そして、ＣＫｌ＝“１”としてデータラッチＤＬｌを開くと、そのデータはノードＢに転送され、これがＲＨパルスによりノードＸに書き込まれる。
【０３４８】
この時点でノード／Ｘには第１ステップでセンスしたデータが現れていて、Ｘ＝“１”ではセンスアンプ出力の反転がＢ，／Ｂとつながり、Ｘ＝“０”ならセンスアンプ出力がそのままＢ，／Ｂにつながるので、二つのセンスデータのＸＯＲ演算結果であるＬＢデータが現れる。これを、ＣＫｒ＝“１”によりデータラッチＤＬｒに格納する。この手順を全てのデータラッチＤＬｒに対して行う。
【０３４９】
図６５は、二つのセンスデータのＸＯＲ演算とその結果のデータラッチＤＬｒへの転送動作波形を示している。データラッチＤＬｌのデータがデータラッチＸＬに転送され、これにより順次センスされるデータが転送制御される結果、ＸＯＲ演算の結果がデータラッチＤＬｒ０，ＤＬｒ１，ＤＬｒ２，…に格納される。
【０３５０】
次に、データラッチＤＬｌをオール“１”状態にリセットする（ステップＳ９５）。そして、コピー先ページのＨＢデータを読み出し電圧Ｒ１で読み出す（ステップＳ９６）。この読み出しデータと、データラッチＤＬｒに保持されているデータとの間のＸＯＲ演算によって、書き込み情報を生成してこれをデータラッチＤＬｌに格納する（ステップＳ９７）。
【０３５１】
具体的に図６６の動作波形を用いて説明すれば、データラッチＤＬｒのデータをノード／Ｂを介してデータラッチＸＬに転送するために、／Ｘ＝“１”にセットする。そして、ＲＷｒ＝“１”の設定でＢＲＳｌパルスを与えると、ノードＢが放電されてノード／Ｂが“１”に設定される。
【０３５２】
ここでＣＫｒ＝“１”でデータラッチＤＬｒを開くと、そのデータがノード／Ｂに転送される。ＲＨにパルスを与えると、ノード／ＸにデータラッチＤＬｒのＬＢデータが書き込まれる。
【０３５３】
この状態で、／Ｘ＝“１”ならセンスアンプ出力とノードＢ，／Ｂがそのままつながり、／Ｘ＝“０”ならセンスアンプ出力は反転してノードＢ，／Ｂにつながる。従ってノードＢには、ノードＸとセンスデータのＸＯＲ演算結果が現れる。
【０３５４】
そして、ここでコピー先の読み出しＨＢデータをノードＢ，／Ｂに転送すると、ノードＸがコピー元のＬＢデータの反転であるので、ノードＢはＬＢデータの反転とＨＢデータのＸＯＲである書き込みデータとなる。すなわち、ＨＢ＝“１”ならしきい値をレベルＡにシフトさせるのは、ＬＢが“１”である場合で、データラッチＤＬｌは“１”となる。ＨＢ＝“０”なら、しきい値をレベルＣにシフトさせるのは、ＬＢ＝“０”の場合で、データラッチＤＬｌは“１”となる。
【０３５５】
順次、ＣＫｌ＝“１”を与えることにより、全てのデータラッチＤＬｌに書き込みデータを格納することができる（ステップＳ９７）。
【０３５６】
データラッチＤＬｒには、コピー元のＬＢデータが残されているから、ここにコピー先のＨＢデータを書き込む（ステップＳ９８）。このとき、どの様な書き込みベリファイを行うかによって、データラッチＤＬｒに書き込むべきＨＢデータ状態が異なる。
【０３５７】
例えば通常のＬＢデータ書き込みを行う場合、またはＡ−ＱＰＷを行う場合には、ＨＢデータをそのままデータラッチＤＬｒに格納する。そのため、Ｘ＝“１”として、センスアンプ出力とノードＢ，／Ｂがそのまま接続されるようにして、センスデータを転送する。Ｃ−ＱＰＷを行う場合には、Ｘ＝“０”として、ＨＢデータを反転して転送し、データラッチＤＬｒに格納する。
【０３５８】
図６７はコピー先ＨＢデータをデータラッチＤＬｒに順次格納する動作波形を示している。また図６８は、コピー元データのＬＢデータが一部反転されて書き込みデータとしてデータラッチＤＬｌに書き込まれる様子を示している。
【０３５９】
以下、コピー先ページへの書き込みと書き込みベリファイを行う（ステップＳ９９）。
【図面の簡単な説明】
【０３６０】
【図１】この発明の実施の形態によるフラッシュメモリのチップ構成を示す図である。
【図２】同フラッシュメモリのメモリセルアレイ構成を示す図である。
【図３】同メモリセルアレイの一方のセルアレイ（Ｔ−ｃｅｌｌアレイ）構成を示す図である。
【０３６１】
【図４】同メモリセルアレイの他方のセルアレイ（Ｃ−ｃｅｌｌアレイ）構成を示す図である。
【図５】同セルアレイのセルブロック（Ｔ−ｃｅｌｌ，Ｃ−ｃｅｌｌ，Ｒ−ｃｅｌｌブロック）構成を示す図である。
【図６】同セルアレイのＩ−ｃｅｌｌブロックの構成を示す図である。
【図７】同セルアレイのビット線リセット／プリチャージ回路（ＢＲＰ）の構成を示す図である。
【図８】４値データレベルと参照データレベルの関係及びデータビット割付を示す図である。
【図９】書き込みの前処理の手順を示す図である。
【図１０】書き込み前処理のステップｖｐ００の消去ベリファイ動作原理を示す図である。
【図１１】書き込み前処理のステップｖｐｒの書き込みベリファイ動作原理を示す図である。
【図１２】書き込み前処理のステップｖｐ０の消去ベリファイ動作原理を示す図である。
【図１３】４値データレベルの書き込み手順を説明するための図である。
【図１４】各書き込みステップの書き込みベリファイ動作原理を示す図である。
【図１５】４値データの読み出し動作手順を説明するための図である。
【図１６】各読み出しステップでの読み出しデータを示す図である。
【図１７】読み出し時のバイアス条件を示す図である。
【図１８】一つのセルアレイバンクとその一つのセンスユニットの構成を示す図である。
【図１９】センスユニットの具体構成を示す図である。
【図２０】同センスユニットのセンスアンプの具体構成を示す図である。
【図２１】同センスアンプの動作波形を示す図である。
【図２２】センスユニットのデータ入出力（ＩＯ）回路２４の構成を示す図である。
【図２３】同じくデータレジスタＸＬの構成を示す図である。
【図２４】同じくデータレジスタ２６ｔ，２６ｃの構成を示す図である。
【図２５】同じく書き込み完了判定回路２５の構成を示す図である。
【図２６】データレジスタ２６ｔ，２６ｃの非対称特性を示すシミュレーション結果である。
【図２７】消去シーケンスを示す図である。
【図２８】参照セル書き込みシーケンスを示す図である。
【図２９】ＨＢデータ書き込みシーケンスを示す図である。
【図３０】ＬＢデータ書き込みシーケンスを示す図である。
【図３１】消去及び参照セル書き込みのベリファイ読み出し動作波形を示す図である。
【図３２】ＨＢ書き込みデータの転送ロード動作波形を示す図である。
【図３３】ＨＢ書き込みベリファイ読み出しの動作波形を示す図である。
【図３４】ＬＢデータ書き込み時のデータラッチＤＬｌ，ＤＬｒのデータ格納状態を示す図である。
【図３５】ＬＢデータ書き込み時のデータラッチＤＬｒへのＨＢデータ読み出し動作波形を示す図である。
【図３６】同じくデータラッチＤＬｒのＨＢデータのデータラッチＸＬへの転送動作波形を示す図である。
【図３７】同じくベリファイ読み出しデータのデータラッチＤＬｌへの転送動作波形を示す図である。
【図３８】同じくベリファイ読み出しデータのＨＢデータにより転送制御される場合のデータラッチＤＬｌへの転送動作波形を示す図である。
【図３９】ＬＢデータ書き込み時のベリファイ読み出し時のセンスデータ転送の状態を示す図である。
【図４０】Ａ−ＱＰＷによるＬＢデータ書き込みの場合のデータラッチＤＬｌ，ＤＬｒのデータ状態を示す図である。
【図４１】Ｃ−ＱＰＷによるＬＢデータ書き込みの場合のデータラッチＤＬｌ，ＤＬｒのデータ状態を示す図である。
【図４２】Ａ−ＱＰＷによるＬＢデータ書き込みシーケンスを示す図である。
【図４３Ａ】Ａ−ＱＰＷによるＬＢデータ書き込み時のあるベリファイ時のデータラッチＤＬｌ，ＤＬｒの状態を示す図である。
【図４３Ｂ】ベリファイ読み出し結果に応じて異なるデータラッチＤＬｌ，ＤＬｒの状態を示す図である。
【図４３Ｃ】図４３Ｂに対応して得られるビット線電圧状態を示す図である。
【図４３Ｄ】ビット線電圧制御によるビット線電圧の変化状態を示す図である。
【図４３Ｅ】ビット線電圧制御による他のビット線電圧の変化状態を示す図である。
【図４３Ｆ】ビット線電圧制御による他のビット線電圧の変化状態を示す図である。
【図４３Ｇ】ビット線電圧制御による他のビット線電圧の変化状態を示す図である。
【図４３Ｈ】ビット線電圧制御による他のビット線電圧の変化状態を示す図である。
【図４４】Ａ−ＱＰＷによるＬＢデータ書き込みの第１及び第３ベリファイ読み出しステップの動作波形を示す図である。
【図４５】同じくデータラッチＤＬｒによりセンスデータの転送制御が行われる第２ベリファイ読み出しステップの動作波形を示す図である。
【図４６】Ｖｄｄ＊に設定したビット線ＢＬを選択的にＶｄｄに充電する動作の動作波形を示す図である。
【図４７】Ｃ−ＱＰＷによるＬＢデータ書き込みシーケンスを示す図である。
【図４８】Ｃ−ＱＰＷのためのデータラッチＤＬｒへのＨＢデータ読み出しの動作波形を示す図である。
【図４９】ＨＢデータにより制御されるＬＢデータのデータラッチＤＬｌへの転送動作波形を示す図である。
【図５０】データラッチＤＬｌの“０”データのデータラッチＤＬｒへの上書き動作波形を示す図である。
【図５１Ａ】Ｃ−ＱＰＷによるＬＢデータ書き込み時のあるベリファイ時のデータラッチＤＬｌ，ＤＬｒの状態を示す図である。
【図５１Ｂ】ベリファイ読み出し結果に応じて異なるデータラッチＤＬｌ，ＤＬｒの状態を示す図である。
【図５１Ｃ】図５１Ｂに対応して得られるビット線電圧状態を示す図である。
【図５１Ｄ】ビット線電圧制御によるビット線電圧の変化状態を示す図である。
【図５１Ｅ】ビット線電圧制御による他のビット線電圧の変化状態を示す図である。
【図５１Ｆ】ビット線電圧制御による他のビット線電圧の変化状態を示す図である。
【図５１Ｇ】ビット線電圧制御による他のビット線電圧の変化状態を示す図である。
【図５１Ｈ】ビット線電圧制御による他のビット線電圧の変化状態を示す図である。
【図５２】ベリファイ読み出しデータのデータラッチＤＬｌ又はＤＬｒへの転送動作波形を示す図である。
【図５３】ベリファイ読み出しステップでのデータラッチＤＬｒのデータにより転送制御されるデータラッチＤＬｌへのフィードバック動作波形を示す図である。
【図５４】Ｖｄｄ＊に設定したビット線ＢＬを選択的にＶｄｄに充電する動作の動作波形を示す図である。
【図５５】ＨＢデータのデータラッチＤＬｌへの読み出し動作波形を示す図である。
【図５６】データラッチＤＬｌに読み出されたＬＢデータのデータ線への転送動作波形を示す図である。
【図５７】ＬＢデータ読み出しの読み出しデータをデータラッチＤＬｒに転送する第１ステップの動作波形を示す図である。
【図５８】データラッチＤＬｒのデータとの読み出しデータとのＸＯＲ演算をとって読み出しデータをデータラッチＤＬｌに転送する第２ステップの動作波形を示す図である。
【図５９】第１及び第２読み出しステップが読み出し電圧Ｒ２及びＲ３である場合の読み出しＬＢデータの遷移状態を示す図である。
【図６０】第１及び第２読み出しステップが読み出し電圧Ｒ３及びＲ２である場合の読み出しＬＢデータの遷移状態を示す図である。
【図６１】ページコピーの場合のＨＢデータコピー動作シーケンスを示す図である。
【図６２】同ＨＢデータコピーのためのコピー元データの読み出し動作波形を示す図である。
【図６３】ページコピーの場合のＬＢデータコピー動作シーケンスを示す図である。
【図６４】コピー元のＬＢデータの第１読み出しステップでのデータラッチＤＬｌへの読み出し動作波形を示す図である。
【図６５】データラッチＤＬｌのデータとの読み出しデータとのＸＯＲ演算をとって読み出しデータをデータラッチＤＬｒに転送する第２読み出しステップの動作波形を示す図である。
【図６６】ＨＢデータにより転送制御されたコピー書き込みデータのデータラッチＤＬｌへの転送動作波形を示す図である。
【図６７】ＨＢデータをデータラッチＤＬｒに転送する動作波形を示す図である。
【図６８】コピー先のＬＢデータが一部反転されて書き込みデータとしてデータラッチＤＬｌに書き込まれる様子を示す図である。
【符号の説明】
【０３６２】
１ｔ，１ｃ…セルアレイ、２ｔ，２ｃ…カラムゲート、３…センスアンプ回路、３ｔ，４ｃ…ロウデコーダ、５ｔ，５ｃ…カラムデコーダ、６…アドレスバッファ、７…アドレスレジスタ、８…コマンドデコーダ、９…コントローラ、１０…高電圧発生回路、１１…データバッファ、Ｔ−ｃｅｌｌ，Ｃ−ｃｅｌｌ…情報セル、Ｒ−ｃｅｌｌ，Ｉ−ｃｅｌｌ…参照セル、Ｔ−ＢＬＫ，Ｃ−ＢＬＫ…情報セルＮＡＮＤブロック、Ｒ−ＢＬＫ，Ｉ−ＢＬＫ…参照セルＮＡＮＤブロック、２０…センスユニット、２１…センスアンプ、２２…転送回路、２３…データレジスタ、２４…データ入出力回路、２５…書き込み完了判定回路、２６ｔ，２６ｃ…データレジスタ、２７ｔ，２７ｃ，２８ｔ，２８ｃ…ビット線充電回路、Ｂ，／Ｂ…データ中継ノード、ＤＱ…データ線、２１１，２１２…電流パス、２１２…オフセット電圧発生回路。
【図１】
2008047205.tif 000003
【図２】
2008047205.tif 000004
【図３】
2008047205.tif 000005
【図４】
2008047205.tif 000006
【図５】
2008047205.tif 000007
【図６】
2008047205.tif 000008
【図７】
2008047205.tif 000009
【図８】
2008047205.tif 000010
【図９】
2008047205.tif 000011
【図１０】
2008047205.tif 000012
【図１１】
2008047205.tif 000013
【図１２】
2008047205.tif 000014
【図１３】
2008047205.tif 000015
【図１４】
2008047205.tif 000016
【図１５】
2008047205.tif 000017
【図１６】
2008047205.tif 000018
【図１７】
2008047205.tif 000019
【図１８】
2008047205.tif 000020
【図１９】
2008047205.tif 000021
【図２０】
2008047205.tif 000022
【図２１】
2008047205.tif 000023
【図２２】
2008047205.tif 000024
【図２３】
2008047205.tif 000025
【図２４】
2008047205.tif 000026
【図２５】
2008047205.tif 000027
【図２６】
2008047205.tif 000028
【図２７】
2008047205.tif 000029
【図２８】
2008047205.tif 000030
【図２９】
2008047205.tif 000031
【図３０】
2008047205.tif 000032
【図３１】
2008047205.tif 000033
【図３２】
2008047205.tif 000034
【図３３】
2008047205.tif 000035
【図３４】
2008047205.tif 000036
【図３５】
2008047205.tif 000037
【図３６】
2008047205.tif 000038
【図３７】
2008047205.tif 000039
【図３８】
2008047205.tif 000040
【図３９】
2008047205.tif 000041
【図４０】
2008047205.tif 000042
【図４１】
2008047205.tif 000043
【図４２】
2008047205.tif 000044
【図４３Ａ】
2008047205.tif 000045
【図４３Ｂ】
2008047205.tif 000046
【図４３Ｃ】
2008047205.tif 000047
【図４３Ｄ】
2008047205.tif 000048
【図４３Ｅ】
2008047205.tif 000049
【図４３Ｆ】
2008047205.tif 000050
【図４３Ｇ】
2008047205.tif 000051
【図４３Ｈ】
2008047205.tif 000052
【図４４】
2008047205.tif 000053
【図４５】
2008047205.tif 000054
【図４６】
2008047205.tif 000055
【図４７】
2008047205.tif 000056
【図４８】
2008047205.tif 000057
【図４９】
2008047205.tif 000058
【図５０】
2008047205.tif 000059
【図５１Ａ】
2008047205.tif 000060
【図５１Ｂ】
2008047205.tif 000061
【図５１Ｃ】
2008047205.tif 000062
【図５１Ｄ】
2008047205.tif 000063
【図５１Ｅ】
2008047205.tif 000064
【図５１Ｆ】
2008047205.tif 000065
【図５１Ｇ】
2008047205.tif 000066
【図５１Ｈ】
2008047205.tif 000067
【図５２】
2008047205.tif 000068
【図５３】
2008047205.tif 000069
【図５４】
2008047205.tif 000070
【図５５】
2008047205.tif 000071
【図５６】
2008047205.tif 000072
【図５７】
2008047205.tif 000073
【図５８】
2008047205.tif 000074
【図５９】
2008047205.tif 000075
【図６０】
2008047205.tif 000076
【図６１】
2008047205.tif 000077
【図６２】
2008047205.tif 000078
【図６３】
2008047205.tif 000079
【図６４】
2008047205.tif 000080
【図６５】
2008047205.tif 000081
【図６６】
2008047205.tif 000082
【図６７】
2008047205.tif 000083
【図６８】
2008047205.tif 000084