(57)【特許請求の範囲】
【請求項１】
メモリセルと、
前記メモリセルと同時に選択されるフラグ用メモリセルと、
前記メモリセル及び前記フラグ用メモリセルと同時に選択されるダミーセルと、
前記メモリセル、前記フラグ用メモリセル及び前記ダミーセルの書き込み及び読み出しを制御する制御部と、を有し、
前記制御部は、第１の書き込み動作により、前記メモリセルの閾値電圧を、第１の閾値電圧から第１又は第２の閾値電圧（第１の閾値電圧＜第２の閾値電圧）に設定し、
第２の書き込み動作により、前記メモリセルの閾値電圧が前記第１の閾値電圧に有る場合、第１又は第３の閾値電圧（第１の閾値電圧＜第３の閾値電圧）に設定し、前記第２の閾値電圧に有る場合、第４又は第５の閾値電圧（第２の閾値電圧≦第４の閾値電圧＜第５の閾値電圧）に設定し、
前記制御部は、前記第２の書き込み動作時に、前記メモリセルと同時に選択されるフラグ用メモリセルの閾値電圧を前記第１の閾値電圧から、前記第４の閾値電圧に設定し、前記フラグ用メモリセルに隣接するダミーセルの閾値電圧を前記第１の閾値電圧から、前記第３の閾値電圧に設定することを特徴とする半導体記憶装置。
【請求項２】
メモリセルと、
前記メモリセルと同時に選択されるフラグ用メモリセルと、
前記メモリセル及び前記フラグ用メモリセルと同時に選択されるダミーセルと、
前記メモリセル、前記フラグ用メモリセル及び前記ダミーセルの書き込み及び読み出しを制御する制御部と、を有し、
前記制御部は、第１の書き込み動作により、前記メモリセルの閾値電圧を、第１の閾値電圧から第１又は第２の閾値電圧（第１の閾値電圧＜第２の閾値電圧）に設定し、
第２の書き込み動作により、前記メモリセルの閾値電圧が前記第１の閾値電圧に有る場合、第１又は第３の閾値電圧（第１の閾値電圧＜第３の閾値電圧）に設定し、前記第２の閾値電圧に有る場合、第４又は第５の閾値電圧（第２の閾値電圧≦第４の閾値電圧＜第５の閾値電圧）に設定し、
前記制御部は、前記第２の書き込み動作時に、前記メモリセルと同時に選択されるフラグ用メモリセルの閾値電圧を前記第１の閾値電圧から、前記第４の閾値電圧に設定し、前記フラグ用メモリセルと隣接する前記ダミーセルの閾値電圧を前記第１の閾値電圧から、前記第４の閾値電圧に設定することを特徴とする半導体記憶装置。
【請求項３】
前記制御部は、第１の読み出し動作において、前記メモリセル及び前記フラグ用メモリセルから前記第４の閾値電圧で読み出し動作を行い、前記フラグ用メモリセルの閾値電圧が前記第４の閾値電圧以上である場合、前記読み出し動作において前記メモリセルから読み出した結果を読み出したデータとし、前記フラグ用メモリセルの閾値電圧が前記第４の閾値電圧より小さい場合、前記メモリセルから前記第２の閾値電圧で読み出し動作を行った結果を読み出したデータとすることを特徴とする請求項１又は２記載の半導体記憶装置。
【請求項４】
前記制御部は、第２の読み出し動作において、前記メモリセル及び前記フラグ用メモリセルから前記第３の閾値電圧で読み出し動作を行い、前記フラグ用メモリセルの閾値電圧が前記第３の閾値電圧以上である場合、前記メモリセルから第３と第５の閾値電圧で読み出し動作を行った結果を読み出したデータとし、前記フラグ用メモリセルの閾値電圧が前記第３の閾値電圧より小さい場合、固定値をデータとすることを特徴とする請求項１又は２記載の半導体記憶装置。
【請求項５】
前記ダミーセルは、前記第３の閾値電圧又は前記第４の閾値電圧に設定された後、さらに、少なくとも１回書き込み電圧が与えられることを特徴とする請求項１又は２記載の半導体記憶装置。
【請求項６】
前記フラグ用メモリセルは複数のフラグ用メモリセルにより構成され、前記複数のフラグ用メモリセルの多数決、又は規定値以上の数のセルが書き込まれている場合、前記フラグ用メモリセルは書き込まれているとすることを特徴とする請求項１又は２記載の半導体記憶装置。
【請求項７】
前記フラグ用メモリセルは、前記第４の閾値電圧に設定された後、さらに、少なくとも１回書き込み電圧が与えられることを特徴とする請求項１又は２記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば２ビット以上のデータを記憶することが可能な半導体記憶装置に関する。
【背景技術】
【０００２】
半導体記憶装置、例えばＮＡＮＤフラッシュメモリは、素子の微細化に伴い、隣接セル間の容量結合が増大する傾向にある。このため、先に書き込んだメモリセルの閾値電圧が、隣接セルの書き込みに伴い変動してしまうという問題がある。そこで、隣接セルにデータを書き込んだ後、最終的な閾値電圧に書き込む方法が考案されている。この書き込み方法は、フラグ用メモリセルとしてのフラグセルを用いて第２ページの書き込みが行われたかどうかを区別している。フラグセルの隣には、隣接セルの変動を抑えるためダミーセルが配置されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２４３２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ダミーセルに隣接するフラグセルの閾値電圧の低下を防止することが可能な半導体記憶装置を提供しようとするものである。
【課題を解決するための手段】
【０００５】
本実施形態の半導体記憶装置は、メモリセルと、前記メモリセルと同時に選択されるフラグ用メモリセルと、前記メモリセル及び前記フラグ用メモリセルと同時に選択されるダミーセルと、前記メモリセル、前記フラグ用メモリセル及び前記ダミーセルの書き込み及び読み出しを制御する制御部と、を有し、前記制御部は、第１の書き込み動作により、前記メモリセルの閾値電圧を、第１の閾値電圧から第１又は第２の閾値電圧（第１の閾値電圧＜第２の閾値電圧）に設定し、第２の書き込み動作により、前記メモリセルの閾値電圧が前記第１の閾値電圧に有る場合、第１又は第３の閾値電圧（第１の閾値電圧＜第３の閾値電圧）に設定し、前記第２の閾値電圧に有る場合、第４又は第５の閾値電圧（第２の閾値電圧≦第４の閾値電圧＜第５の閾値電圧）に設定し、前記制御部は、前記第２の書き込み動作時に、前記メモリセルと同時に選択されるフラグ用メモリセルの閾値電圧を前記第１の閾値電圧から、前記第４の閾値電圧に設定し、前記フラグ用メモリセルに隣接するダミーセルの閾値電圧を前記第１の閾値電圧から、前記第３の閾値電圧に設定することを特徴とする。
【図面の簡単な説明】
【０００６】
【図１】本実施形態に係る半導体記憶装置の概略構成を示す構成図。
【図２】図１に示すメモリセルアレイ及びビット線制御回路の構成を示す回路図。
【図３】図２に示すメモリセルアレイ及びビット線制御回路の構成の他の例を示す回路図。
【図４】図４（ａ）（ｂ）はメモリセル及び選択トランジスタを示す断面図。
【図５】メモリセルアレイの１つのＮＡＮＤセルを示す断面図。
【図６】図３に示すデータ記憶回路の一例を示す回路図。
【図７】図７（ａ）乃至（ｄ）は、ＮＡＮＤセルに対する書き込み順序を示す図。
【図８】メモリセルの書き込み順序を示す図。
【図９】メモリセル、フラグセル、ダミーセルを含む書き込み順序を示す図。
【図１０】第１ページのプログラム動作を示すフローチャート。
【図１１】第２ページのプログラム動作を示すフローチャート。
【図１２】図１２（ａ）（ｂ）（ｃ）は、フラグセルの閾値電圧の変化を示す図。
【図１３】図１３（ａ）（ｂ）（ｃ）は、ダミーセルの閾値電圧の変化を示す図。
【図１４】第２ページの読み出し動作を示すフローチャート。
【図１５】第１ページの読み出し動作を示すフローチャート。
【図１６】第１ページの読み出し動作の他の例を示すフローチャート。
【図１７】第２ページのリード動作の第１の変形例及び第２の変形例を示すフローチャート。
【図１８】本実施形態の第３の変形例を示す図。
【発明を実施するための形態】
【０００７】
前述したように、フラグセルに隣接してダミーセルが配置されている。しかし、このダミーセルは書き込まれないため、ダミーセルと同時に選択され、ダミーセルに隣接するメモリの閾値電圧が他のセルに比べて低くなる。特に、ダミーセルに隣接するフラグセルの閾値電圧が他のフラグセルに比べて低くなり、このフラグセルを用いた第２ページの書き込みが行われたかどうかの判別精度が低下していた。
【０００８】
そこで、本実施形態は、フラグセルに隣接するダミーセルにもデータを書き込むことにより、このダミーセルに隣接するフラグセルの閾値電圧の低下を防止し、第２ページの書き込みが行われたかどうかの判別精度を向上させようとするものである。
【０００９】
以下、実施の形態について、図面を参照して説明する。
【００１０】
（第１の実施形態）
図１は、不揮発性半導体記憶装置の概略構成を示すものであり、例えば４値（２ビット）を記憶するＮＡＮＤフラッシュメモリの構成を示している。
【００１１】
メモリセルアレイ１は複数のビット線と複数のワード線と共通ソース線を含み、例えばＥＥＰＲＯＭセルからなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。このメモリセルアレイ１には、ビット線を制御するためのビット制御回路２とワード線制御回路６が接続されている。
【００１２】
ビット線制御回路２は、後述するように複数のデータ記憶回路、フラグセル用のデータ記憶回路、及びダミーセル用のデータ記憶回路を含んでいる。このビット線制御回路２は、ビット線を介してメモリセルアレイ１中のメモリセルのデータを読み出したり、ビット線を介してメモリセルアレイ１中のメモリセルの状態を検出したり、ビット線を介してメモリセルアレイ１中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行なう。
【００１３】
ビット線制御回路２は、カラムデコーダ３、データ入出力バッファ４に接続されている。ビット線制御回路２内のデータ記憶回路はカラムデコーダ３によって選択される。データ記憶回路に読み出されたメモリセルのデータは、前記データ入出力バッファ４を介してデータ入出力端子５からメモリコントローラＭＣＮなどへ出力される。
【００１４】
また、メモリコントローラＭＣＮからデータ入出力端子５に入力された書き込みデータは、データ入出力バッファ４を介して、カラムデコーダ３によって選択されたデータ記憶回路に入力される。
【００１５】
ワード線制御回路６は、メモリセルアレイ１に接続されている。このワード線制御回路６は、メモリセルアレイ１中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。
【００１６】
メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４、及びワード線制御回路６は、制御信号及び制御電圧発生回路７に接続され、この制御信号及び制御電圧発生回路７によって制御される。制御信号及び制御電圧発生回路７は、制御信号入力端子８に接続され、外部から制御信号入力端子８を介して入力される制御信号によって制御される。
【００１７】
前記ビット線制御回路２、カラムデコーダ３、ワード線制御回路６、制御信号及び制御電圧発生回路７は書き込み回路、及び読み出し回路を構成している。
【００１８】
図２は、図１に示すメモリセルアレイ１及びビット線制御回路２の構成例を示している。メモリセルアレイ１には複数のＮＡＮＤユニットが配置されている。１つのＮＡＮＤユニットは、直列接続された例えば３２個のＥＥＰＲＯＭからなるメモリセルＭＣと、選択ゲートＳ１、Ｓ２とにより構成されている。第１の選択ゲートＳ１はビット線ＢＬ０ｅに接続され、第２の選択ゲートＳ２はソース線ＳＲＣに接続されている。各ロウに配置されたメモリセルの制御ゲートはワード線ＷＬ０〜ＷＬ３１に共通接続されている。また、第１の選択ゲートＳ１はセレクト線ＳＧＤに共通接続され、第２の選択ゲートＳ２はセレクト線ＳＧＳに共通接続されている。
【００１９】
メモリセルアレイ１は、破線で示すように、複数のブロックを含んでいる。各ブロックは、複数のＮＡＮＤユニットにより構成され、このブロック単位でデータが消去される。
【００２０】
また、各ワード線は、複数のメモリセルと、フラグを記憶するための複数のフラグセルＦＣ、及び複数のダミーフラグセル（以下、ダミーセルと称す）に接続されている。
【００２１】
また、ビット線の１つ置きに配置され、１つのワード線に接続された複数のメモリセルと、フラグセルＦＣ、及びダミーセルＤＣ（破線で囲まれた範囲のメモリセル）は、１セクタを構成する。このセクタ毎にデータが書き込まれ、読み出される。１セクタには例えば２ページ分のデータが記憶される。しかし、２ページに限定されるものではなく、３ページ以上のデータを記憶することも可能である。
【００２２】
また、フラグセルＦＣ、及びダミーセルＤＣの数は図２に示す数に限定されるものではなく、後述するように、フラグセルＦＣ、及びダミーセルＤＣは、それぞれ３個以上により構成してもよい。この場合、１セクタは複数のフラグセルＦＣと複数のダミーセルＤＣを含んでもよい。
【００２３】
１つのセクタに複数のフラグセルＦＣが含まれる場合、後述するように、複数のフラグセルＦＣに記憶されたデータの多数決により、フラグセルに記憶されたデータが決定される。或いは、規定値以上の数のフラグセルにデータが書き込まれる場合、フラグセルにデータが書き込まれているものと判別してもよい。
【００２４】
ビット線制御回路２は複数のデータ記憶回路１０、フラグセル用のデータ記憶回路１０ａ、及びダミーセル用のデータ記憶回路１０ｂを有している。各データ記憶回路１０、フラグセル用のデータ記憶回路１０ａ、及びダミーセル用のデータ記憶回路１０ｂは、一対のビット線（ＢＬ０ｅ、ＢＬ０ｏ）、（ＢＬ１ｅ、ＢＬ１ｏ）…（ＢＬｎｅ、ＢＬｎｏ）、８ＢＬＦ０ｅ、ＢＬＦ０ｏ）、及び（ＢＬＤ０ｅ、ＢＬＤ０ｏ）にそれぞれ接続されている。これら一対のビット線は、選択されたセクタ毎にデータ記憶回路１０、１０ａ、１０ｂに接続される。すなわち、偶数番目のビット線ＢＬ０ｅ、ＢＬ１ｅ、…ＢＬｎｅ、ＢＬＦＤ０ｅ、ＢＬＦＤ１ｅと、奇数番目のビット線ＢＬ０ｏ、ＢＬ１ｏ、…ＢＬｎｏ、ＢＬＦＤ０ｏ、ＢＬＦＤ１ｏが、選択的にデータ記憶回路１０、１０ａ、１０ｂに接続される。
【００２５】
具体的には、複数のデータ記憶回路１０、１０ａ、１０ｂは、リード動作、プログラムベリファイ動作及びプログラム動作時に、メモリコントローラＭＣＮより指定されたアドレス信号（ＹＡ０、ＹＡ１…ＹＡｎ、ＹＡＦＤ０、ＹＡＦＤ１）に応じて、データ記憶回路１０、１０ａ、１０ｂに接続されている２本のビット線（ＢＬｎｅ、ＢＬｎｏ）のうち一方を選択する。さらに、外部アドレスに応じて、１本のワード線が選択され、１セクタ（２ページ分）が選択される。この２ページの切り替えはアドレスによって行われる。
【００２６】
尚、前述した消去動作は、データ記憶回路１０、フラグセル用の用データ記憶回路１０ａ、ダミーセル用のデータ記憶回路１０ｂに接続されている２本のビット線について同時に行なわれる。
【００２７】
図３は、図１に示すメモリセルアレイ１及びビット線制御回路２の別の構成例を示している。図２に示す例の場合、１つのワード線に接続された半数のメモリセルＭＣ、フラグセルＦＣ、及びダミーセルＤＣが１つのセクタを構成していた。
【００２８】
これに対して、図３に示す例の場合、１つのワード線に接続された全てのメモリセルＭＣ、フラグセルＦＣ、及びダミーセルＤＣが１つのセクタを構成する。このため、各ビット線にデータ記憶回路１０、１０ａ、１０ｂがそれぞれ接続されている。これらデータ記憶回路１０、１０ａ、１０ｂは、外部より指定されたアドレス信号（ＹＡ０、ＹＡ１…ＹＡｎ、ＹＡＤ０、ＹＡＦ０、ＹＡＦ１、ＹＡＤ１）に応じて選択される。
【００２９】
図４（ａ）（ｂ）はメモリセル及び選択トランジスタの断面図を示している。図４（ａ）はメモリセルを示している。基板４１にはメモリセルのソース、ドレインとしてのｎ型拡散層４２が形成されている。基板４１の上にはゲート絶縁膜４３を介して電荷蓄積層（ＦＧ）４４が形成され、この電荷蓄積層４４の上には絶縁膜４５を介して制御ゲート（ＣＧ）４６が形成されている。図４（ｂ）は選択ゲートを示している。基板４１にはソース、ドレインとしてのｎ型拡散層４７が形成されている。基板４１の上にはゲート絶縁膜４８を介して制御ゲート４９が形成されている。
【００３０】
図５は、メモリセルアレイの１つのＮＡＮＤセルの断面を示している。この例において、１つのＮＡＮＤセルは、図４（ａ）に示す構成の１６個のメモリセルＭＣが直列接続されて構成されている。ＮＡＮＤセルのドレイン側、ソース側には、図４（ｂ）に示す構成の第１の選択ゲートＳ１及び第２の選択ゲートＳ２が設けられている。
【００３１】
図６は、図３に示すデータ記憶回路１０の一例を示す回路図である。フラグセル用データ記憶回路１０ａ、ダミーセル用データ記憶回路１０ｂもデータ記憶回路１０と同様の構成とされている。
【００３２】
このデータ記憶回路１０は、プライマリデータキャッシュ（ＰＤＣ）、セコンダリデータキャッシュ（ＳＤＣ）、ダイナミックデータキャッシュ（ＤＤＣ）、テンポラリデータキャッシュ（ＴＤＣ）を有している。ＳＤＣ、ＰＤＣ、ＤＤＣは、書き込み時に入力データを保持し、読み出し時に読み出しデータを保持し、ベリファイ時に一時的にデータを保持し、多値データを記憶する際に内部データの操作に使用される。ＴＤＣは、データの読み出し時にビット線のデータを増幅し、一時的に保持するとともに、多値データを記憶する際に内部データの操作に使用される。
【００３３】
ＳＤＣは、ラッチ回路を構成するクロックドインバータ回路６１ａ、６１ｂ、及びトランジスタ６１ｃ、６１ｄにより構成されている。トランジスタ６１ｃはクロックドインバータ回路６１ａの入力端と、クロックドインバータ回路６１ｂの入力端の間に接続されている。このトランジスタ６１ｃのゲートには信号ＥＱ２が供給されている。トランジスタ６１ｄはクロックドインバータ回路６１ｂの出力端と接地間に接続されている。このトランジスタ６１ｄのゲートには信号ＰＲＳＴが供給されている。ＳＤＣのノードＮ２ａは、カラム選択トランジスタ６１ｅを介して入出力データ線ＩＯに接続され、ノードＮ２ｂは、カラム選択トランジスタ６１ｆを介して入出力データ線ＩＯｎに接続される。これらトランジスタ６１ｅ、６１ｆのゲートにはカラム選択信号ＣＳＬｉが供給されている。ＳＤＣのノードＮ２ａは、トランジスタ６１ｇ、６１ｈを介してＰＤＣのノードＮ１ａに接続されている。トランジスタ６１ｇのゲートには信号ＢＬＣ２が供給され、トランジスタ６１ｈのゲートには信号ＢＬＣ１が供給されている。
【００３４】
ＰＤＣは、クロックドインバータ回路６１ｉ、６１ｊ及びトランジスタ６１ｋにより構成されている。トランジスタ６１ｋは、クロックドインバータ回路６１ｉの入力端とクロックドインバータ回路６１ｊの入力端の相互間に接続されている。このトランジスタ６１ｋのゲートには信号ＥＱ１が供給されている。ＰＤＣのノードＮ１ｂはトランジスタ６１ｌのゲートに接続されている。このトランジスタ６１ｌの電流通路の一端はトランジスタ６１ｍを介して接地されている。このトランジスタ６１ｍのゲートには信号ＣＨＫ１が供給されている。また、トランジスタ６１ｌの電流通路の他端はトランスファーゲートを構成するトランジスタ６１ｎ、６１ｏの電流通路の一端に接続されている。このトランジスタ６１ｎのゲートには信号ＣＨＫ２ｎが供給されている。また、トランジスタ６１ｏのゲートは前記クロックドインバータ回路６１ａの出力端に接続されている。トランジスタ６１ｎ、６１ｏの電流通路の他端には、配線ＣＯＭｉが接続されている。この配線ＣＯＭｉは全データ記憶回路１０に共通の配線であり、全データ記憶回路１０のベリファイが完了した場合、配線ＣＯＭｉの電位はハイレベルとなる。すなわち、後述するように、ベリファイが完了すると、ＰＤＣのノードＮ１ｂがローレベルとなる。この状態において、信号ＣＨＫ１、ＣＨＫ２ｎをハイレベルとすると、ベリファイが完了している場合、配線ＣＯＭｉの電位はハイレベルとなる。
【００３５】
さらに、前記ＴＤＣは、例えばＭＯＳキャパシタ６１ｐにより構成されている。このキャパシタ６１ｐは、前記トランジスタ６１ｇ、６１ｈの接続ノードＮ３と接地間に接続されている。また、接続ノードＮ３には、トランジスタ６１ｑを介してＤＤＣが接続されている。トランジスタ６１ｑのゲートには、信号ＲＥＧが供給されている。
【００３６】
ＤＤＣは、トランジスタ６１ｒ、６１ｓにより構成されている。トランジスタ６１ｒの電流通路の一端には信号ＶＲＥＧが供給され、他端は前記トランジスタ６１ｑの電流通路に接続されている。このトランジスタ６１ｒのゲートはトランジスタ６１ｓを介して前記ＰＤＣのノードＮ１ａに接続されている。このトランジスタ６１ｓのゲートには信号ＤＴＧが供給されている。
【００３７】
さらに、前記接続ノードＮ３にはトランジスタ６１ｔ、６１ｕの電流通路の一端が接続されている。トランジスタ６１ｕの電流通路の他端には信号ＶＰＲＥが供給され、ゲートにはＢＬＰＲＥが供給されている。前記トランジスタ６１ｔのゲートには信号ＢＬＣＬＡＭＰが供給されている。このトランジスタ６１ｔの電流通路の他端はトランジスタ６１ｖを介してビット線ＢＬｏの一端に接続され、トランジスタ６１ｗを介してビット線ＢＬｅの一端に接続されている。ビット線ＢＬｏの他端はトランジスタ６１ｘの電流通路の一端に接続されている。このトランジスタ６１ｘのゲートには信号ＢＩＡＳｏが供給されている。ビット線ＢＬｅの他端はトランジスタ６１ｙの電流通路の一端に接続されている。このトランジスタ６１ｙのゲートには信号ＢＩＡＳｅが供給されている。これらトランジスタ６１ｘ、６１ｙの電流通路の他端には、信号ＢＬＣＲＬが供給されている。トランジスタ６１ｘ、６１ｙは、信号ＢＩＡＳｏ、ＢＩＡＳｅに応じてトランジスタ６１ｖ、６１ｗと相補的にオンとされ、非選択のビット線に信号ＢＬＣＲＬの電位を供給する。
【００３８】
上記各信号及び電圧は、図１に示す制御信号及び制御電圧発生回路７により生成され、この制御信号及び制御電圧発生回路７の制御に基づき、以下の動作が制御される。
【００３９】
また、図３に示すデータ記憶回路１０は、図６に示す構成と同様であり、ビット線との接続のみが相違している。すなわち、図６に示すように、トランジスタ６１ｔの他端部には、例えばトランジスタ６１ｖのみが接続され、このトランジスタ６１ｖを介してビット線ＢＬが接続される。
【００４０】
本メモリは、多値メモリであり、１セルに２ビットのデータを記憶することができる。２ビットの切り替えはアドレス（第１ページ、第２ページ）によって行なう。１セルに２ビットを記憶する場合、２ページであるが、１セルに３ビットを記憶する場合、アドレス（第１ページ、第２ページ、第３ページ）によって切り換える。さらに、１セルに４ビットを記憶する場合は、アドレス（第１ページ、第２ページ、第３ページ、第４ページ）によって切り換える。
【００４１】
（動作説明）
上記構成において、動作について説明する。
【００４２】
図７は、メモリセルのデータとメモリセルの閾値電圧の関係を示している。消去動作を行なうとメモリセルのデータは、図７（ａ）に示すようにデータ“０”となる。この状態において、第１ページの書き込みを行なうと、メモリセルのデータはデータ“０”とデータ“１”になる。すなわち、書き込みデータが“１”である場合、メモリセルの閾値電圧は変化されず、メモリセルはデータ“０”のままである。また、書き込みデータが“０”である場合、メモリセルの閾値電圧が上昇され、メモリセルはデータ“１”となる。図７（ａ）において、“ＬＭＶ”は、第１ページの書き込みのベリファイレベルである。
【００４３】
この後、第２ページの書き込み前に隣接セルにデータが書き込まれる。すると、図７（ｂ）に示すように、隣接セルの書き込みの影響により、メモリセルの閾値電圧が上昇し、閾値電圧分布が広がる。図７（ｂ）において、“ＬＭＲ”は、第１ページのデータを読み出すための読み出しレベルである。
【００４４】
この後、第２ページのデータが書き込まれると、メモリセルのデータは、図７（ｃ）に示すように、本来の閾値電圧を有するデータ“０”〜“３”となる。すなわち、第１ページの書き込みにおいて、メモリセルがデータ“０”であり、書き込みデータが“１”である場合、メモリセルはデータ“０”のままであり、書き込みデータが“０”である場合、閾値電圧が上昇され、メモリセルはデータ“２”となる。
【００４５】
また、第１ページの書き込みにおいて、メモリセルがデータ“１”であり、書き込みデータが“０”である場合、メモリセルはデータ“３”となり、書き込みデータが“１”である場合、閾値電圧が上昇され、メモリセルはデータ“４”となる。
【００４６】
図７（ｃ）において、“ＡＶ”“ＢＶ”“ＣＶ”は、それぞれ第２ページの書き込みのベリファイレベルであり、“ＡＲ”“ＢＲ”“ＣＲ”は、それぞれ第２ページのデータを読み出すための読み出しレベルである。
【００４７】
この後、隣接セルの書き込みが行われると、図７（ｄ）に示すように、メモリセルの閾値電圧が若干上昇し、閾値電圧分布が広がる。
【００４８】
本実施形態において、メモリセルのデータは閾値電圧の低いほうから高い方へと、定義されている。
【００４９】
図８は、ＮＡＮＤユニットに対する書き込み順序を示している。ブロック内において、ソース線に近いメモリセルからページごとに書き込み動作が行なわれる。図８は、説明の便宜上、ワード線を４本としている。
【００５０】
第１番目の書き込みは、ワード線ＷＬ０に接続されたメモリセルの第１ページに１ビットのデータが書き込まれる。
【００５１】
第２番目の書き込みは、ワード線ＷＬ０と隣接するワード線ＷＬ１に接続されたメモリセルの第１ページに１ビットのデータが書き込まれる。
【００５２】
第３番目の書き込みは、ワード線ＷＬ０に接続されたメモリセルの第２ページに１ビットのデータが書きこまれる。
【００５３】
第４番目の書き込みは、ワード線ＷＬ１と隣接するワード線ＷＬ２に接続されたメモリセルの第１ページに１ビットのデータが書き込まれる。
【００５４】
第５番目の書き込みは、ワード線ＷＬ１に接続されたメモリセルの第２ページに１ビットのデータが書きこまれる。
【００５５】
第６番目の書き込みは、ワード線ＷＬ２と隣接するワード線ＷＬ３に接続されたメモリセルの第１ページに１ビットのデータが書き込まれる。
【００５６】
第７番目の書き込みは、ワード線ＷＬ２に接続されたメモリセルの第２ページに１ビットのデータが書きこまれる。
【００５７】
以下、同様にして、順次メモリセルにデータが書き込まれる。
【００５８】
図９は、メモリセルＭＣ、及びフラグセルＦＣ、ダミーセルＤＣを含めた書き込み順序を示している。この書き込み順序は、基本的に図８と同様である。
【００５９】
フラグセルＦＣは、メモリセルＭＣと同時に選択され、第２ページのデータが書き込まれているかどうかを示す機能を有している。フラグセルＦＣは、後述するように、第２ページの書き込み時にデータが書き込まれる。
【００６０】
さらに、本実施形態は、フラグセルＦＣと同時に選択されるダミーセルＤＣにもデータが書き込まれる。ダミーセルＤＣは、フラグセルと同様に、第２ページの書き込み時に書き込まれる。
【００６１】
（プログラム及びプログラムベリファイ）
（第１ページプログラム）
図１０は、第１ページのプログラム動作を示している。第１ページのプログラム動作は、先ずアドレスを指定し、例えば図２に示す２ページ（１セクタ）が選択される。本メモリは、この２ページのうち、第１ページ、第２ページの順でしか、プログラム動作できない。したがって、先ずアドレスに応じて、第１ページが選択される。
【００６２】
次に、書き込みデータが外部より入力され、全てのデータ記憶回路１０内のＳＤＣ（図６に示す）に記憶される（ＳＴ１）。
【００６３】
書き込みコマンドが入力されると、全てのデータ記憶回路１０内のＳＤＣのデータがＰＤＣに転送される（ＳＴ２）。すなわち、信号ＢＬＣ１，ＢＬＣ２が所定の電圧、例えばＶｄｄ＋Ｖｔｈ（Ｖｄｄ：電源電圧（例えば３Ｖ又は１．８Ｖ、しかし、この電圧に限定されるものではない）、Ｖｔｈ：ＮチャネルＭＯＳトランジスタの閾値電圧）とされ、トランジスタ６１ｈ、６１ｇがオンとされる。すると、ノードＮ２ａのデータがトランジスタ６１ｇ、６１ｈを介してＰＤＣに転送される。このため、外部よりデータ“１”（書き込みを行なわない）が入力された場合、ＰＤＣのノードＮ１ａは、ハイレベルになり、データ“０”（書き込みを行なう）が入力された場合、ＰＤＣのノードＮ１ａは、ローレベルとなる。以後、ＰＤＣのデータはノードＮ１ａの電位、ＳＤＣのデータはノードＮ２ａの電位とする。
【００６４】
第１ページのプログラムにおいて、フラグセルＦＣ、及びダミーセルＤＣにはデータが書き込まれない。このため、フラグセル用のデータ記憶回路１０ａ、及びダミーセル用のデータ記憶回路１０ｂ内のＰＤＣはデータ“１”となる。
【００６５】
（プログラム動作）（ＳＴ１３）
図６示す信号ＢＬＣ１、ＢＬＣＬＡＭＰ、ＢＬＳｏ又はＢＬＳｅの電位をＶｄｄ＋Ｖｔｈとする。すると、トランジスタ６１ｈ、６１ｔ、６１ｖ又は６１ｗがオンとなり、ＰＤＣに保持されたデータがビット線に供給される。ＰＤＣにデータ“１”（書き込みを行なわない）が記憶されている時、ビット線がＶｄｄになり、データ“０”（書き込みを行なう）時、ビット線がＶｓｓ（接地電位）になる。また、選択されたワード線に接続され、非選択ページの（ビット線が非選択である）セルは書き込みが行なわれてはならない。このため、これらのセルに接続されているビット線にもデータ“１”と同じようにＶｄｄが供給される。
【００６６】
ここで、選択されているブロックのセレクト線ＳＧＤにＶｄｄ、選択ワード線に電位ＶＰＧＭ（２０Ｖ）、非選択ワード線に電位ＶＰＡＳＳ（１０Ｖ）が印加される。すると、ビット線がＶｓｓである場合、セルのチャネルがＶｓｓ、ワード線がＶＰＧＭとなるため、メモリセルが書き込まれる。一方、ビット線がＶｄｄである場合、セルのチャネルがＶｓｓではなく、ＶＰＧＭを上げることにより、カップリングで例えばＶＰＧＭ／２ぐらいになる。このため、このセルはプログラムされない。
【００６７】
書き込みデータが“０”である時、図７（ａ）に示すように、メモリセルの閾値電圧が上昇され、メモリセルはデータ“１”に設定される。また、書き込みデータが“１”である時、メモリセルの閾値電圧は変化されず、メモリセルはデータ“０”のままである。
【００６８】
（第１ページベリファイ）（Ｓ１４）
プログラムベリファイ動作において、選択されているワード線には、リード時の電位より少し高い電位が供給される。
【００６９】
すなわち、図７（ａ）に示すように、第１ページのベリファイ動作において、ベリファイ電圧“ＬＭＶ”（図１（ｃ）に示す）が選択されたワード線に供給される。
【００７０】
この状態において、先ず、選択されているブロック内の非選択ワード線及びセレクト線ＳＧＤに読み出し時の電位Ｖｒｅａｄが供給され、図６に示すデータ記憶回路１０の信号ＢＬＰＲＥに例えばＶｄｄ＋Ｖｔｈ、ＢＬＣＬＡＭＰに所定の電圧、例えば１Ｖ＋Ｖｔｈが供給され、信号ＶＰＲＥがＶｄｄとされ、ビット線が１Ｖにプリチャージされる。
【００７１】
次に、セルのソース側のセレクト線ＳＧＳがハイレベルに設定される。閾値電圧が電位“ＬＭＶ”より高いセルはオフする。このため、ビット線はハイレベルのままである。また、閾値電圧が電位“ＬＭＶ”より低いセルはオンする。このため、ビット線はＶｓｓとなる。ビット線の放電中にＶＰＲＥ＝Ｖｓｓ、ＢＬＰＲＥ＝ハイレベルとしてＴＤＣをＶｓｓとした後、信号ＲＥＧをＶｄｄ＋Ｖｔｈ、ＶＲＥＧをＶｄｄとして、トランジスタ６１ｑをオンとし、ＤＤＣのデータがＴＤＣに転送される。
【００７２】
次に、信号ＤＴＧをＶｄｄ＋Ｖｔｈとしてトランジスタ６１ｓを一旦オンとし、ＰＤＣのデータがＤＤＣに転送される。転送されたデータはトランジスタ６１ｒのゲート電位として保持される。
【００７３】
この後、信号ＢＬＣ１が例えばＶｄｄ＋Ｖｔｈとされてトランジスタ６１ｈがオンとされ、ＴＤＣのデータがＰＤＣに転送される。
【００７４】
次に、信号ＢＬＰＲＥに所定の電圧、例えばＶｄｄ＋Ｖｔｈが供給され、ＶＰＲＥ＝Ｖｄｄとすることにより、ＴＤＣのノードＮ３がＶｄｄにプリチャージされる。この後、信号ＢＬＣＬＡＭＰが所定の電圧、例えば０．９Ｖ＋Ｖｔｈとされてトランジスタ６１ｔがオンとされる。ＴＤＣのノードＮ３は、ビット線がローレベルの場合、ローレベルとなり、ビット線がハイレベルの場合、ハイレベルとなる。
【００７５】
ここで、書き込みを行なう場合、図６のＤＤＣにローレベルが記憶され、書き込みを行なわない場合、ＤＤＣにハイレベルが記憶されている。このため、信号ＶＲＥＧをＶｄｄとし、信号ＲＥＧをハイレベルにすると、書き込みを行なわない場合のみＴＤＣのノードＮ３が強制的にハイレベルとなる。この動作の後、ＰＤＣのデータがＤＤＣに転送され、ＴＤＣの電位がＰＤＣに転送される。ＰＤＣにハイレベル信号がラッチされる場合は、セルに書き込みを行なわない場合と、セルにデータ“１”を書き込んでおり、セルの閾値電圧がベリファイ電位“ＬＭＶ”に達した場合だけである。また、ＰＤＣにローレベル信号がラッチされる場合は、セルの閾値電圧が“ＬＭＶ”に達していない場合である。
【００７６】
ＰＤＣがローレベルの場合、再び書き込み動作が行なわれ、全ての又は規定数以上のデータ記憶回路１０のデータがハイレベルになるまで、プログラム動作とベリファイ動作が繰り返される（Ｓ１５−Ｓ１３）。
【００７７】
（隣接セルプログラム）
図８、図９に示すように、例えばワード線ＷＬ０に接続されたメモリセルの第１ページに１ビットのデータが書き込まれた後、ワード線ＷＬ０と隣接するワード線ＷＬ１に接続されたメモリセルに第１ページのデータが書き込まれる。このように、隣接セルの書き込み動作が行なわれると、書き込みデータによっては、隣接セルの浮遊ゲート間容量により、ワード線ＷＬ０に接続されたメモリセルの閾値電圧が図７（ｂ）に示すように上昇する。このため、メモリセルのデータ“０”とデータ“１”の閾値電圧分布が電位の高い方に広がる。
【００７８】
この後、ワード線ＷＬ０に接続されたメモリセルに第２ページのデータが書き込まれる。
【００７９】
（第２ページプログラム）
図１１は、第２ページのプログラム動作を示している。第２ページのプログラム動作も、先ずアドレスに応じて、例えば図２示す２ページが選択される。
【００８０】
次に、書き込みデータが外部より入力され、全てのデータ記憶回路内のＳＤＣに記憶される（Ｓ２１）。外部よりデータ“１”（書き込みを行なわない）が入力された場合、図６に示すデータ記憶回路１０のＳＤＣのノードＮ２ａは、ハイレベルとなり、データ“０”（書き込みを行なう）が入力された場合、ＳＤＣのノードＮ２ａは、ローレベルとなる。
【００８１】
この後、書き込みコマンドが入力されると、第２ページのプログラムであるため、フラグセルＦＣ、及びダミーセルＤＣにデータが書き込まれる。このため、フラグセル用のデータ記憶回路１０ａ、及びダミーセル用のデータ記憶回路１０ｂ内のＳＤＣに、データ“０”が入力される（Ｓ２２）。
【００８２】
前述したように、フラグセルＦＣ、ダミーセルＤＣは、信頼性を向上するため、複数のセルにより構成することも可能である。この場合、第２ページのプログラムにおいて、これら複数のフラグセルＦＣ、ダミーセルＤＣに対応するデータ記憶回路１０ａ、１０ｂのＳＤＣにデータ“０”が入力される。
【００８３】
第２ページのプログラムでは、図７（ｃ）に示すように、メモリセルのデータが“０”の場合で、外部から入力されるデータが“１”の場合、メモリセルのデータを“０”のままとし、外部から入力されるデータが“０”の場合、メモリセルのデータを“２”に設定する。
【００８４】
また、メモリセルのデータが“１”の場合で、外部から入力されるデータが“０”の場合、メモリセルのデータを“３”とし、外部から入力されるデータが“１”の場合、メモリセルのデータを“４”に設定する。
【００８５】
（内部データリード）
先ず、セルへの書き込みの前に、第１ページのメモリセルのデータが“０”か“１”であるかを判断するため、内部リード動作が行なわれる（Ｓ２３）。内部データリードは、リード動作と全く同じである。通常メモリセルのデータが“０”か“１”かの判断時において、選択ワード線には、リード時の電圧“ＬＭＲ”が供給される。
【００８６】
先ず、選択されているブロック内の非選択ワード線及びセレクト線ＳＧＤに電圧Ｖｒｅａｄが印加される。これとともに、データ記憶回路１０の信号ＶＰＲＥをＶｄｄとし、信号ＢＬＰＲＥ、ＢＬＣＬＡＭＰを所定の電圧、例えば１Ｖ＋Ｖｔｈとして、ビット線をＶｄｄにプリチャージした後、セルのソース側のセレクト線ＳＧＳをハイレベルとする。メモリセルの閾値電圧が電圧“ＬＭＲ”より高い場合、セルはオフする。このため、ビット線はハイレベルのままである。また、メモリセルの閾値電圧が電圧“ＬＭＲ”より低い場合、セルはオンする。このため、ビット線の電荷は放電され、接地電位Ｖｓｓとなる。
【００８７】
次に、データ記憶回路１０の信号ＶＰＲＥをＶｄｄ、信号ＢＬＰＲＥをＶｄｄ＋Ｖｔｈとし、ＴＤＣのノードＮ３をＶｄｄにプリチャージする。この後、信号ＢＬＣＬＡＭＰを０．９Ｖ＋Ｖｔｈとする。ＴＤＣのノードＮ３はビット線がローレベルの場合、ローレベルとなり、ビット線がハイレベルの場合、ハイレベルとなる。
【００８８】
この後、ＴＤＣの電位がＰＤＣに転送される。この結果、メモリセルのデータが“１”である場合、ＰＤＣにハイレベル信号がラッチされ、メモリセルのデータが“０”である場合、ＰＤＣにローレベル信号がラッチされる。
【００８９】
（データキャッシュの設定）（Ｓ２４）
この後、上述したようにして、ＰＤＣ、ＤＤＣ、ＳＤＣのデータが転送されて操作され、ＰＤＣ、ＤＤＣ、ＳＤＣにデータが設定される。
【００９０】
メモリセルのデータを“０”にする場合（第１ページの書き込みデータが“１”で、第２ページの書き込みデータが“１”の場合）、ＰＤＣはハイレベル、ＤＤＣはローレベル、ＳＤＣはハイレベルに設定される。
【００９１】
メモリセルのデータを“２”にする場合（第１ページの書き込みデータが“１”で、第２ページの書き込みデータが“０”の場合）、ＰＤＣはローレベル、ＤＤＣはハイレベル、ＳＤＣはハイレベルに設定される。
【００９２】
メモリセルのデータを“３”にする場合（第１ページの書き込みデータが“０”で、第２ページの書き込みデータが“０”の場合）、ＰＤＣはローレベル、ＤＤＣはハイレベル、ＳＤＣはローレベルに設定される。
【００９３】
メモリセルのデータを“４”にする場合（第１ページの書き込みデータが“０”で、第２ページの書き込みデータが“１”の場合）、ＰＤＣはローレベル、ＤＤＣはローレベル、ＳＤＣはローレベルに設定される。
【００９４】
また、フラグセルＦＣは、メモリセルＭＣのデータを“２”にするように、ダミーセルＤＣは、メモリセルＭＣのデータを“１”にするように、ＰＤＣ、ＤＤＣ、ＳＤＣのデータが設定される。
【００９５】
（第２ページベリファイ：メモリセルデータ“３”のベリファイ）（Ｓ２５）
データ“３”を書き込むセルは、隣接セルの書き込みにより閾値電圧が上昇している場合もあり、本来のベリファイ電圧“ＢＶ”に達しているセルもある。このため、先ず、データ“３”のベリファイを行っても良いが、省略することも可能である。データ“３”のベリファイ動作において、リードの時の電圧“ＢＲ”より少し高い電圧“ＢＶ”が選択されているワード線に印加される。
【００９６】
次いで、選択されているブロック内の非選択ワード線及びセレクト線ＳＧＤに電位Ｖｒｅａｄが印加され、図６に示すデータ記憶回路１０の信号ＢＬＣＬＡＭＰが１Ｖ＋Ｖｔｈに設定され、信号ＲＥＧがＶｄｄ＋Ｖｔｈとされてビット線がプリチャージされる。
【００９７】
メモリセルにデータ“０”、“４”を書き込む場合、上述したように、ＤＤＣがローレベルに設定されている。このため、ビット線はプリチャージされない。また、メモリセルにデータ“２”、“３”を書き込む場合、ＤＤＣがハイレベルに設定されている。このため、ビット線がプリチャージされる。
【００９８】
次に、ＮＡＮＤユニットのソース側のセレクト線ＳＧＳがハイレベルとされる。セルの閾値電圧が“ＢＶ”より高い場合、セルはオフする。このため、ビット線はハイレベルのままである。また、セルの閾値電圧が“ＢＶ”より低い場合、セルはオンする。このため、ビット線はＶｓｓとなる。ビット線の放電中に、ＴＤＣのノードＮ３が一旦Ｖｓｓとされる。この後、信号ＲＥＧをハイレベルとしてトランジスタ６１ｑをオンさせ、ＤＤＣのデータがＴＤＣに転送される。
【００９９】
次に、信号ＤＴＧがＶｄｄ＋Ｖｔｈとされてトランジスタ６１ｓが一旦オンとされ、ＰＤＣのデータがＤＤＣに転送される。この後、ＴＤＣのデータがＰＤＣに転送される。
【０１００】
次に、信号ＶＰＲＥがＶｄｄとされ、信号ＢＬＰＲＥがＶｄｄ＋Ｖｔｈとされることにより、ＴＤＣのノードＮ３がＶｄｄにプリチャージされる。この後、信号ＢＬＣＬＡＭＰが０．９Ｖ＋Ｖｔｈとされてトランジスタ６１ｔがオンとされる。このため、ＴＤＣのノードＮ３はビット線がローレベルの場合、ローレベルとなり、ビット線がハイレベルの場合、ハイレベルとなる。
【０１０１】
ここで、書き込みを行なう場合、ＤＤＣにローレベル信号が記憶され、書き込みを行なわない場合、ＤＤＣにハイレベル信号が記憶されている。このため、信号ＶＲＥＧをＶｄｄとし、信号ＲＥＧをＶｄｄ＋Ｖｔｈにすると、書き込みを行なわない場合のみＴＤＣのノードＮ３が強制的にハイレベルとなる。
【０１０２】
この後、ＰＤＣのデータがＤＤＣに転送され、ＴＤＣの電位がＰＤＣに読み込まれる。ＰＤＣにハイレベル信号がラッチされるのは、書き込みを行なわない場合と、メモリセルにデータ“３”を書き込み、セルの閾値電圧がベリファイ電圧である“ＢＶ”に達した場合だけである。ＰＤＣにローレベルがラッチされる場合は、セルの閾値電圧が“ＢＶ”に達しない場合と、メモリセルにデータ“２”、“４”を書き込んでいる場合である。
【０１０３】
（プログラム動作）（Ｓ２６）
プログラム動作は、第１ページのプログラム動作と全く同じである。ＰＤＣにデータ“１”が記憶されている場合、書き込みが行なわれず、データ“０”が記憶されている場合、書き込みが行なわれる。
【０１０４】
（第２ページベリファイ：メモリセルデータ“２”のベリファイ）（Ｓ２７）
図７（ｃ）に示すように、このプログラムベリファイ動作では、選択されているワード線にリードの時の電位“ＡＲ”より少し高い電位“ＡＶ”が印加される。
【０１０５】
先ず、選択されているブロック内の非選択ワード線及びセレクト線ＳＧＤに読み出し電圧Ｖｒｅａｄが印加される。データ記憶回路１０の信号ＢＬＣＬＡＭＰが１Ｖ＋Ｖｔｈ、ＢＬＣ２がＶｄｄ＋Ｖｔｈとされてビット線がプリチャージされる。メモリセルのデータ“３”、“４”への書き込み時、ＳＤＣの記憶データは“０”（ローレベル）である。このため、ビット線はプリチャージされず、メモリセルのデータ“０”、“２”への書き込み時のみ、ビット線がプリチャージされる。
【０１０６】
次に、セルのソース側のセレクト線ＳＧＳがハイレベルに設定される。メモリセルの閾値電圧が電圧“ＡＶ”より高い時、セルはオフする。このため、ビット線はハイレベルのままである。
【０１０７】
また、メモリセルの閾値電圧が電位“ＡＶ”より低い時、セルはオンする。このため、ビット線はＶｓｓとなる。ビット線の放電中に、ＴＤＣのノードＮ３が一旦Ｖｓｓとされ、信号ＲＥＧがハイレベルとされてトランジスタ６１ｑがオンとされ、ＤＤＣのデータがＴＤＣに転送される。
【０１０８】
次に、信号ＤＴＧがハイレベルとされてトランジスタ６１ｓが一旦オンとされ、ＰＤＣのデータがＤＤＣに転送される。この後、ＴＤＣのデータがＰＤＣに転送される。
【０１０９】
次に、データ記憶回路の信号ＢＬＰＲＥが電圧Ｖｄｄ＋Ｖｔｈとされて、トランジスタ６１ｕがオンとされ、ＴＤＣのノードＮ３がＶｄｄにプリチャージされる。この後、信号ＢＬＣＬＡＭＰが０．９Ｖ＋Ｖｔｈとされ、トランジスタ６１ｔがオンとされる。すると、ＴＤＣのノードＮ３はビット線がローレベルの場合ローレベルとなり、ビット線がハイレベルの場合ハイレベルとなる。
【０１１０】
ここで、書き込みを行なう場合、ＤＤＣにローレベルが記憶され、書き込みを行なわない場合、ＤＤＣにハイレベルが記憶されている。このため、信号ＶＲＥＧをＶｄｄとし、信号ＲＥＧをハイレベルにすると、書き込みを行なわない場合のみ、ＴＤＣのノードＮ３が強制的にハイレベルとなる。この動作の後、ＰＤＣのデータがＤＤＣにされ、ＴＤＣの電圧がＰＤＣに転送される。
【０１１１】
ＰＤＣにハイレベルがラッチされるのは、書き込みを行なわない場合と、メモリセルにデータ“２”を書き込んでいて、セルの閾値電圧がベリファイ電位“ＡＶ”に達した場合だけである。ＰＤＣにローレベルがラッチされる場合は、セルの閾値電圧がベリファイ電位“ＡＶ”に達しない場合と、メモリセルのデータ“３”に書き込んでいる場合である。
【０１１２】
（第２ページベリファイ：メモリセルのデータ“３”のベリファイ）（Ｓ２８）
プログラム前に行なったメモリセルのデータ“３”のベリファイと同様に、メモリセルのデータ“３”のベリファイが行なわれる。
【０１１３】
（第２ページベリファイ：メモリセルデータ“４”のベリファイ）（Ｓ２９）
このプログラムベリファイ動作では、図７（ｃ）に示すように、選択されているワード線にリードの時の電位“ＣＲ”より少し高い電位“ＣＶ”が供給される。この状態において、先ず、選択されているブロック内の非選択ワード線及びセレクト線ＳＧＤにＶｒｅａｄが供給され、信号ＢＬＣＬＡＭＰが１Ｖ＋Ｖｔｈ、信号ＢＬＰＲＥがＶｄｄ＋Ｖｔｈとされてトランジスタ６１ｔ、６１ｕがオンとされ、ビット線がプリチャージされる。
【０１１４】
次に、セルのソース側のセレクト線ＳＧＳがハイレベルに設定される。閾値電圧が電圧“ＣＶ”より高いセルはオフする。このため、ビット線はハイレベルのままである。
【０１１５】
また、閾値電圧が電位“ＣＶ”より低いセルはオンする。このため、ビット線はＶｓｓとなる。このビット線の放電中に、ＴＤＣのノードＮ３がＶｓｓとされ、信号ＲＥＧがハイレベルとされ、トランジスタ６１ｑがオンとされてＤＤＣのデータがＴＤＣに転送される。
【０１１６】
次に、信号ＤＴＧがハイレベルとされ、トランジスタ６１ｓがオンされ、ＰＤＣのデータがＤＤＣに転送される。この後、ＴＤＣのデータがＰＤＣに転送される。
【０１１７】
次に、信号ＢＬＰＲＥがＶｄｄ＋Ｖｔｈとされてトランジスタ６１ｕがオンとされ、ＴＤＣのノードＮ３がＶｄｄにプリチャージされる。この後、信号ＢＬＣＬＡＭＰが０．９Ｖ＋Ｖｔｈとされてトランジスタ６１ｔがオンとされる。ＴＤＣのノードＮ３はビット線がローレベルの場合ローレベルとなり、ビット線がハイレベルの場合ハイレベルとなる。
【０１１８】
ここで、書き込みを行なう場合、ＤＤＣにローレベルが記憶され、書き込みを行なわない場合、ＤＤＣにハイレベルが記憶されている。このため、信号ＶＲＥＧがＶｄｄとされ、信号ＲＥＧがハイレベルとされてトランジスタ６１ｑがオンとされる。すると、書き込みを行なわない場合のみＴＤＣのノードＮ３が強制的にハイレベルとなる。この動作の後、ＰＤＣのデータがＤＤＣに転送され、ＴＤＣの電圧がＰＤＣに転送される。
【０１１９】
ＰＤＣにハイレベルがラッチされるのは、書き込みを行なわない場合と、メモリセルにデータ“４”を書き込んでいて、セルの閾値電圧がベリファイ電圧“ＣＶ”に達した場合だけである。また、ＰＤＣにローレベルがラッチされる場合は、セルの閾値電圧がベリファイ電圧“ＣＶ”に達しない場合とメモリセルにデータ“２”、“３”を書き込んでいる場合である。
【０１２０】
ＰＤＣがローレベルの場合、再びプログラム動作を行ない、全ての又は規定数以上のデータ記憶回路のＰＤＣのデータがハイレベルになるまでこのプログラム動作とベリファイ動作が繰り返される（Ｓ３０−Ｓ２６）。
【０１２１】
尚、第２ページの書き込みにおいて、メモリセルにデータ“２”のプログラム及びベリファイが完了する前において、データ“２”より、閾値電圧が高いデータ“３”、“４”は、書き込まれていない可能性が高い。このため、データ“２”のプログラム及びベリファイが完了する前において、データ“３”、“４”のベリファイをスキップすることが可能である。
【０１２２】
また、データ“４”のプログラム及びベリファイにおいて、データ“２”、“３”のプログラム及びベリファイは既に完了している可能性が高い。このため、データ“４”のプログラム及びベリファイにおいて、データ“２”“３”のベリファイをスキップすることが可能である。
【０１２３】
（フラグセル及びダミーセルのプログラム）
上記メモリセルに第２ページのプログラムが実行されるとき、フラグセルＦＣ、及びダミーセルＤＣもプログラムされる。
【０１２４】
フラグセルＦＣは、図１２（ａ）に示す消去状態から図１２（ｂ）に示す状態に書き込まれる。この状態は、メモリセルのデータ“３”の書き込みと同様である。
【０１２５】
その後、隣接セルが書き込まれた際、フラグセルＦＣの閾値電圧は、図１２（ｃ）に示すように、若干上昇し、閾値電圧分布が広がる。
【０１２６】
また、ダミーセルＤＣは、図１３（ａ）に示す消去状態から図１３（ｂ）に示す状態に書き込まれる。この状態は、メモリセルのデータ“２”の書き込みと同様である。
【０１２７】
その後、隣接セルが書き込まれた際、ダミーセルＤＣの閾値電圧は、図１３（ｃ）に示すように、若干上昇し、閾値電圧分布が広がる。
【０１２８】
また、ダミーセルＤＣが書き込まれることにより、ダミーセルＤＣと隣接するフラグセルＦＣの閾値電圧が上昇される。
【０１２９】
尚、図１２、図１３において、ベリファイレベル“Ａ”“Ｂ”“Ｃ”は、メモリセルＭＣのベリファイレベル“ＡＶ”“ＢＶ”“ＣＶ”と同様の電圧である。
【０１３０】
（第２ページリード）
図１４は、第２ページの読み出し動作を示している。第２ページの読み出し動作は、先ず、アドレスを指定し、例えば図２に示す２ページを選択する。図７（ｂ）（ｃ）に示すように、第２ページの書き込み前と後で、閾値電圧の分布が変わっている。しかし、第２ページの書き込み後は、図７（ｃ）に示すような分布になっている。このため、先ず、ワード線に電圧“ＡＲ”を供給してフラグセルＦＣ及びメモリセルＭＣからデータの読み出しが行なわれ（Ｓ３１）、フラグセルＦＣが書き込まれているかどうか判別される（Ｓ３２）。
【０１３１】
上記ステップＳ３２において、フラグセルＦＣが書き込まれていると判別された場合、第２ページの書き込みが行われている。このため、ワード線に読み出しレベル“ＣＲ”が供給されてメモリセルＭＣからデータの読み出し動作が行われる（Ｓ３３）。この後、データ記憶回路に読み出されたデータが外部に出力される（Ｓ３４）。
【０１３２】
尚、ステップＳ３２の判別は、フラグセルＦＣが複数個ある場合、これらフラグセルＦＣから読み出されたデータの多数決、又は書き込まれているフラグセルＦＣの数が規定値以上であるかどうかにより判別される。
【０１３３】
一方、ステップＳ３２において、フラグセルＦＣが書き込まれていないと判別された場合、第２ページの書き込みが行われていない。このため、出力データが固定値（例えば“１”）にセットされ（Ｓ３５）、データがメモリコントローラＭＣＮに出力される（Ｓ３４）。
【０１３４】
（第１ページリード）
図１５は、第１ページの読み出し動作を示している。先ず、アドレスを指定し、例えば図２に示す２ページを選択する。図７（ｂ）（ｃ）に示すように、第２ページの書き込み前と後で、閾値電圧の分布が変わっている。したがって、先ず、ワード線の電圧を読み出しレベル“ＢＲ”としてフラグセルＦＣ及びメモリセルからデータの読み出し動作を行ないフラグセルＦＣが書き込まれているかどうか判別される（Ｓ４１、Ｓ４２）。
【０１３５】
ステップＳ４２の判別は、フラグセルＦＣが複数個ある場合、これらフラグセルＦＣから読み出されたデータの多数決、又は書き込まれているフラグセルＦＣの数が規定値以上であるかどうかにより判別される。
【０１３６】
上記ステップＳ４２において、フラグセルＦＣが書き込まれていないと判別された場合、第２ページの書き込みは行われていない。このため、セルの閾値電圧の分布は、図７（ａ）又は（ｂ）となっている。したがって、メモリセルＭＣのデータを判断するため、ワード線に読み出しレベル“ＬＭＲ”(又はＡＲ)が供給され、メモリセルからデータの読み出し動作が実行される(Ｓ４３)。この後、データ記憶回路に読み出されたデータがメモリコントローラＭＣＮに出力される（Ｓ４４）。
【０１３７】
一方、ステップＳ４２において、フラグセルＦＣが書き込まれていると判別された場合、第２ページの書き込みが行われている。このため、セルの閾値電圧分布は、図７（ｃ）又は（ｄ）に示すようになっている。したがって、ステップＳ４１において読み出されたデータが、メモリコントローラＭＣＮに出力される（Ｓ４４）。
【０１３８】
また、図１６に示すように、ステップＳ４２の結果、フラグセルＦＣからデータを読み出した結果フラグセルが書き込まれていないと判断された場合、少なくともフラグセルＦＣ以外の読み出されたデータはデータ記憶回路に保持したまま、ワード線に読み出しレベル“ＡＲ”が供給されてフラグセルＦＣ及びメモリセルからデータの読み出し動作が実行される（Ｓ４３）。この後、再度フラグセルが判定される（Ｓ４５）。この結果、フラグセルが書き込まれていない場合、第２ページの書き込みは行われていない。このため、メモリセルＭＣの閾値電圧の分布は、図７（ａ）又は（ｂ）となっている。したがって、読み出しレベル“ＡＲ”で読み出されたデータが外部に出力される（Ｓ４４）。一方、フラグセルが書き込まれている場合、第２ページのデータは書き込まれている。このため、データ記憶回路に保持したワード線電圧（読み出しレベル）“ＢＲ”でメモリセルＭＣからデータが読み出され（Ｓ４６）、この結果が読み出しデータとしてメモリコントローラＭＣＮに出力される(Ｓ４４)。このようにすると、レベル“Ｂ”の閾値レベルに書き込んだフラグセルをレベル“Ａ”の読み出しレベル“ＡＲ”で読み出しているためフラグセルの信頼性を上げることが可能となる。
【０１３９】
上記実施形態によれば、メモリセルＭＣと同時に選択されるフラグセルＦＣ及びダミーセルＤＣを有し、メモリセルＭＣに第２ページの書き込みが行われる時、フラグセルＦＣをメモリセルに設定されるデータ“３”と同様の読み出しレベル“Ｂ”に書き込み、フラグセルＦＣと隣接するダミーセルＤＣをメモリセルＭＣに設定されるデータ“２”と同様の読み出しレベル“Ａ”に書き込んでいる。このため、第２ページの書き込み後、ダミーセルＤＣに隣接するフラグセルＦＣの閾値電圧が、レベル“Ｂ”に書き込まれた他のフラグセルの閾値電圧より低くなることを防止できる。したがって、フラグセルのデータの信頼性を向上することが可能である。その結果、フラグセルＦＣのデータに基づき、第２ページが書き込まれているかどうかを判別する際、判別結果の信頼性を向上することが可能である。
【０１４０】
また、ダミーセルＤＣは、フラグセルＦＣより低いレベル“Ａ”に書き込まれる。このため、ダミーセルＤＣのフラグセルＦＣとは反対側に位置するメモリセルＭＣの閾値電圧の変動が大きくなる問題も抑えることが可能である。
【０１４１】
尚、ダミーセルＤＣのフラグセルＦＣとは反対側のメモリセルＭＣの閾値電圧の変動が問題にならないとき、ダミーセルＤＣをフラグセルＦＣと同様に、レベル“Ｂ”に書くことも可能である。
【０１４２】
上述したように、複数のフラグセルＦＣを用いる場合において、複数のフラグセルＦＣのデータを決定するとき、多数決、又は規定値以上の数のフラグセルが書き込まれているかどうかを判断した。ここで、規定値以上の数のフラグセルが書き込まれているかどうかを判断は、例えば１２個のフラグセルを用いる場合において、規定値が“５”である場合、複数のフラグセルＦＣから読み出されたデータのうち５個以上が書き込まれている場合、フラグセルのデータは書き込まれていると判別し、４個以下である場合フラグセルは書き込まれていないと判別する。
【０１４３】
なお、ダミーセルＤＣは、フラグセルＦＣのように、メモリセルの第２ページが書き込まれているかどうかの判断には、使用されない。
【０１４４】
（第１の変形例）
図１７、ステップＳ２７ａ〜Ｓ２７ｃは、本実施形態の第１の変形例を示している。
【０１４５】
上記実施形態において、ダミーセルＤＣは、メモリセルＭＣの第２ページのプログラム時に、フラグセルＦＣとともに書き込まれている。ダミーセルＤＣは、上記のように、レベル“Ａ”に書き込まれている。
【０１４６】
本変形例において、ダミーセルＤＣは、ベリファイレベル“ＡＶ”によるベリファイにおいて、メモリセルＭＣと異なる閾値電圧に書き込まれる。
【０１４７】
すなわち、ベリファイレベル“ＡＶ”によるベリファイ（Ｓ２７）において、ダミーセルＤＣのベリファイがパスしたかどうかが判別される（Ｓ２７ａ）。この結果、パスしていない場合、ベリファイレベル“ＢＶ”によるベリファイ（Ｓ２８）に制御が移行される。
【０１４８】
また、ダミーセルＤＣのベリファイがパスしている場合、ダミーセルＤＣのベリファイがパスした後、少なくとも１回（複数回数に設定しても良い）、ダミーセルＤＣにプログラム電圧が与えられたかどうかが判別される（Ｓ２７ｂ）。この結果、ダミーセルＤＣのベリファイがパスした後、プログラムが行われていない場合、ダミーセルのＰＤＣはデータ“０”が設定され、ダミーセルＤＣに再度プログラム電圧が印加される（Ｓ２７ｃ）。
【０１４９】
また、ステップＳ２７ｂにおいて、ダミーセルがベリファイをパスした後、少なくとも１回（複数回数に設定しても良い）プログラム電圧が与えられたと判別された場合、ダミーセルＤＣのＰＤＣはデータ“１”に設定され、この後、ダミーセルＤＣには書き込みが行われない。
【０１５０】
上記変形例によれば、ダミーセルＤＣのプログラムベリファイがパスし、ダミーセルＤＣの閾値電圧がレベル“Ａ”以上に設定された状態において、さらに、少なくとも１回ダミーセルＤＣにプログラム電圧が与えられ、ダミーセルＤＣの閾値電圧が上昇される。このため、ダミーセルＤＣに隣接するフラグセルＦＣの閾値電圧を上昇させることができ、フラグセルＦＣの信頼性をさらに向上することが可能である。
【０１５１】
尚、上記変形例において、ダミーセルＤＣをデータ“２”、ベリファイ電圧“ＡＶ”に設定する場合について説明した。しかし、これに限定されるものではなく、ダミーセルＤＣをデータ“３”、ベリファイ電圧ＢＶに設定する場合に適用することも可能である。
【０１５２】
（第２の変形例）
図１７、ステップＳ２８ａ〜Ｓ２８ｃは、本実施形態の第２の変形例を示している。
【０１５３】
上記実施形態において、フラグセルＦＣは、メモリセルＭＣの第２ページのプログラム時に書き込まれている。フラグセルＦＣは、上記のように、レベル“Ｂ”に書き込まれている。
【０１５４】
本変形例において、フラグセルＦＣは、ベリファイレベル“ＢＶ”によるベリファイにおいて、メモリセルＭＣと異なる閾値電圧に書き込まれる。
【０１５５】
すなわち、ベリファイレベル“ＢＶ”によるベリファイ（Ｓ２８）において、フラグセルＦＣのベリファイがパスしたかどうかが判別される（Ｓ２８ａ）。この結果、パスしていない場合、ベリファイレベル“ＣＶ”によるベリファイ（Ｓ２９）に制御が移行される。
【０１５６】
また、フラグセルＦＣのベリファイがパスしている場合、フラグセルＦＣのベリファイがパスした後、少なくとも１回（複数回数に設定しても良い）、フラグセルＦＣにプログラム電圧が与えられたかどうかが判別される（Ｓ２８ｂ）。この結果、フラグセルＦＣのベリファイがパスした後、プログラム電圧が印加されていない場合、フラグセルのＰＤＣはデータ“０”が設定され、フラグセルＦＣに再度プログラム電圧が印加される（Ｓ２８ｃ）。
【０１５７】
また、ステップＳ２８ｂにおいて、フラグセルＦＣがベリファイをパスした後、少なくとも１回（複数回数に設定しても良い）プログラム電圧印加されていると判別された場合、フラグセルＦＣのＰＤＣはデータ“１”に設定され、この後、フラグセルＦＣは書き込まれない。
【０１５８】
上記第２の変形例によれば、フラグセルＦＣのプログラムベリファイがパスし、フラグセルＦＣの閾値電圧がレベル“Ｂ”以上に設定された状態において、さらに、少なくとも１回フラグセルＦＣのみがプログラムされ、フラグセルＦＣの閾値電圧が上昇される。フラグセルの読み出しレベルは“ＢＲ”又は“ＡＲ”であるため、フラグセルＦＣの閾値電圧を上昇させることができ、フラグセルＦＣの信頼性をさらに向上することが可能である。
【０１５９】
尚、上記第１の変形例及び第２の変形例は、片方のみ実施しても良いし、両方組み合わせて使用することも可能である。
【０１６０】
（第３の変形例）
また、上記実施形態のようにしてメモリセルの信頼性を向上させることが可能である。しかし、半導体記憶装置は、例えば書き込み等において、半導体記憶装置を動作させるためのパラメータや、セキュリティ情報等、信頼性を上げておく必要のあるデータが、一部のブロック又はページに記憶される場合がある。
【０１６１】
このようにデータの信頼性を向上する場合、例えば１セルに１ビットのデータを記憶する。若しくは第２ページにはデータを書込まず第１ページのみとする。
【０１６２】
このほか、信頼性を向上する場合、チップ内にＥＣＣ回路が搭載される。しかし、この場合、回路規模が大きくなる可能性がある。
【０１６３】
また、例えば半導体記憶装置を動作させるためのパラメータ等、チップ内部において使用するデータの場合、一旦データをチップ外部に出力し、チップ外部において、ＥＣＣ処理を行った後、チップ内にデータを戻すこともできる。しかし、この場合、データ入出力動作が必要であるため煩雑となる可能性がある。
【０１６４】
そこで、図１８（ａ）（ｂ）に示すように、１ページを複数セットに分割し、各セットに同じデータを記憶しておき、読み出し時、これら複数セットから読み出されたデータが一致する場合、読み出された１ページのデータを正しいデータとする。また、各セットのデータの多数決を取った結果に基づき、読み出された１ページのデータを正しいデータとすることもできる。
【０１６５】
具体的には、１ページを例えば第１乃至第４セットに分割し、図１８（ａ）に示すように、各セットに８ビットのデータ（８bit）と、この８ビットのデータの相補データ（／８bit：／は反転データを示す）を４セットに記憶する。又は、図１８（ｂ）に示すように、８ビットのデータ（８bit）を記憶する。この記憶されたデータのうち、２セット乃至数セットのデータが正しい場合、この１ページのデータを正しいデータとすることもできる。
【０１６６】
具体的には、例えば図１８（ａ）に示すように、各セットに８ビットのデータ（８bit）と、この８ビットのデータの相補データ（／８bit）が記憶される場合において、読み出し時、（１）第１セットから読み出されたデータ（８bit）と、この８ビットのデータの相補データ（／８bit）が、例えば、制御信号及び制御電圧発生回路７に配置された比較回路により一致しているかどうかがチェックされる。すなわち、第１セットから読み出されたデータ（８bit）と、相補データ（／８bit）を反転したデータが一致するかどうかがチェックされる。この結果、第１セットのデータ（８bit）と相補データ（／８bit）が一致している場合、（２）第２セットから読み出されたデータ（８bit）と、この８ビットのデータの相補データ（／８bit）が一致しているかどうかがチェックされる。第２セットのデータ（８bit）と相補データ（／８bit）が一致している場合、（３）第１セットのデータと第２セットのデータが一致しているかチェックされ、一致する場合、読み出された１ページのデータは正しいデータとされる。
【０１６７】
（４）第１セットのデータと第２セットのデータが一致しているかどうかがチェックされ、一致しない場合、（５）第３セットから読み出されたデータ（８bit）と、この８ビットのデータの相補データ（／８bit）が一致しているかどうかチェックされる。第３セットのデータと相補データが一致している場合、（６）第１セットのデータ、第２セットのデータ、第３セットのデータのうち、一致する２つのデータがあれば、読み出された１ページのデータは正しいデータとされる。(７)一致する２つのデータが無い場合、第４セットから読み出されたデータが使用される。（８）一方、読み出されたデータ（８bit）と、この８ビットのデータの相補データ（／８bit）が一致しない場合も、次のセットから読み出されたデータが使用される。
【０１６８】
また、例えば、図１８（ａ）に示すように、各セットに８ビットのデータ（８bit）と、この８ビットのデータの相補データ（／８bit）を記憶したが、この８ビットのペアのうち、１ビットのセルが例えば製造工程において不良となっていた場合、このセットのデータは一致しない。例えば、データが“00110001”で、相補データが“11001110”である場合において、データの下位ビットが製造工程の不良で“0”となってしまった場合、書き込まれるデータは、データ“00110000”、相補データ“11001110”となる。このため、出荷時のテストにおいて、このセットのデータと相補データのペアは不一致となり、次のペアのデータが選ばれる。このペアが正しい場合、出荷が可能となる。
【０１６９】
ところが、出荷後、相補データの下位ビットがリテンション等により、例えば“0”⇒“1”に変わった場合、相補データは“11001111”となる。書き込まれたデータが“00110000であるため、相補データとデータとが一致してしまう。しかし、元々書き込んだデータは“00110001”であるため、正しいデータではない。
【０１７０】
出荷後にこのような誤りを防止するため、テスト工程において、複数セットのデータを比較してデータが一致するかを確認するとき、データと相補データが一致しないペアは、全ビットの相補が一致しないように、テストの工程でデータ及び相補データを設定する。例えばデータを“00000000”、相補データも“00000000”と書き込んでおく。このようなデータとすると、上記と同様の比較を行った場合、全ビットが不一致となるため、出荷後、データリテンションなどにより数ビットが変わってもデータと相補データが一致することは起こりにくくなる。その結果、不良したページを誤って良ページとして判断する可能性を小さくすることが出来る。
【０１７１】
また、図１８（ｂ）に示すよう１に、相補データを省略することもできる。この場合において、読み出し時、（１）第１セットのデータと第２セットのデータが一致しているかどうかがチェックされる。一致する場合、この読み出されたデータは正しいデータとされる。（２）第１セットのデータと第２セットのデータが一致しているかどうかがチェックされ、一致しない場合、（３）第１セットのデータ、第２セットデータ、第３セットのデータのうち、一致する２つのデータがあれば、読み出された１ページのデータは正しいデータとされる。(７)一致する２つのデータが無い場合、第４セットから読み出されたデータが使用される。
【０１７２】
図１８（ｂ）の場合、第１セットと第３セットは同じデータを書いておき、第２セットと第４セットは、第１セットと第３セットの相補データ（／）を書くことができる。データが一致しているかのチェック時、第２セット又は第４セットのデータは常に反転したデータを使うようにしても良い。
【０１７３】
尚、ここでは、２セットの８ビットのデータと相補データが一致するかをチェックしたが、信頼性をさらに上げるため、３セット以上の一致を確認してもよい。また、８ビットに限定されるものでなく４ビット、１６ビット等任意の数としてもよい。
【０１７４】
さらに、出荷前のテストの時に出荷後の通常使用時よりセットに記憶されたデータが一致する数を増やし、３セット以上又は４セット以上の一致を確認してもよい。その結果、スクリーニング強化により、出荷後に不良を起こす可能性を減らすことができる。
【０１７５】
本実施形態は、第１〜第４セットの４つのセットを設けたが、セットの数はこれに限定されるものではなく、例えば８セット、１６セット等任意の数としてもよい。
【０１７６】
その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１７７】
１…メモリセルアレイ、２…ビット制御回路、３…カラムデコーダ、６…ワード線制御回路、７…制御電圧発生回路、１０…データ記憶回路、１０ａ…フラグセル用データ記憶回路、１０ｂ…ダミーセル用データ記憶回路、ＦＣ…フラグセル、ＤＣ…ダミーセル。
【図１】
0005802603.tif 000002
【図２】
0005802603.tif 000003
【図３】
0005802603.tif 000004
【図４】
0005802603.tif 000005
【図５】
0005802603.tif 000006
【図６】
0005802603.tif 000007
【図７】
0005802603.tif 000008
【図８】
0005802603.tif 000009
【図９】
0005802603.tif 000010
【図１０】
0005802603.tif 000011
【図１１】
0005802603.tif 000012
【図１２】
0005802603.tif 000013
【図１３】
0005802603.tif 000014
【図１４】
0005802603.tif 000015
【図１５】
0005802603.tif 000016
【図１６】
0005802603.tif 000017
【図１７】
0005802603.tif 000018
【図１８】
0005802603.tif 000019