(57)【要約】【課題】消去セルの閾値電圧の変化を抑制することが困難であった。【解決手段】メモリセルアレイ１は、第１、第２乃至第ｎの状態からなるｎ値（ｎは２以上の自然数）を記憶する複数のメモリセルがマトリックス状に配置されている。制御回路７は、メモリセルアレイ１のｊ値（ｊ＜ｎ）のデータが記憶されている第１メモリセルに、次の少なくとも１値のデータを記憶する前に、第１メモリセルに隣接する少なくとも１つの第２メモリセルが第１の状態であり、第１の閾値電圧に達していない場合、第１の閾値電圧まで書き込み動作を行なう。【選択図】      図１
2006139864.tif 000002
【特許請求の範囲】
【請求項１】
第１、第２乃至第ｎの状態からなるｎ値（ｎは２以上の自然数）を記憶する複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、
前記メモリセルアレイのｊ値（ｊ＜ｎ）のデータが記憶されている第１メモリセルに、次の少なくとも１値のデータを記憶する前に、前記第１メモリセルに隣接する少なくとも１つの第２メモリセルが第１の状態であり、第１の閾値電圧に達していない場合、前記第１の閾値電圧まで書き込み動作を行なう制御回路と
を具備することを特徴とする半導体記憶装置。
【請求項２】
前記第２メモリセルの前記第１の閾値電圧までの書き込み動作前に、前記第２メモリセルに隣接する少なくとも１つの第３メモリセルにｋ値（ｋ＜ｎ）のデータを記憶することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
第１、第２、第３、第４の状態を記憶する複数のメモリセルがマトリックス状に配置されて構成されたメモリセルアレイと、
前記メモリセルアレイの第１又は第３の状態が記憶されている第１メモリセルに、次の少なくとも１値のデータを記憶する前に、前記第１メモリセルに隣接する少なくとも１つの第２メモリセルが第１の状態であり、第１の閾値電圧に達していない場合、前記第１の閾値電圧まで書き込み動作を行ない、この後、前記第１のメモリセルが第１の状態を有する場合、第１の状態に保持、又は第２の状態に書き込み、第３の状態を有する場合、第３の状態に保持、又は第４の状態に書き込む制御回路と
を具備することを特徴とする半導体記憶装置。
【請求項４】
前記半導体記憶回路において、前記第２メモリセルの前記第１の閾値電圧までの書き込み動作前に、前記第２メモリセルに隣接する少なくとも１つの第３メモリセルに第１又は第３の状態のデータを記憶することを特徴とする請求項３記載の半導体記憶装置。
【請求項５】
前記第１の閾値電圧は、消去時の閾値電圧より高い電圧であることを特徴とする請求項１乃至４のいずれかに記載の半導体記憶装置。
【請求項６】
第１、第２乃至第ｎの状態からなるｎ値（ｎは２以上の自然数）を記憶する複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、
前記メモリセルアレイのｊ値（ｊ＜ｎ）のデータが記憶されている第１メモリセルに、次の少なくとも１値のデータを記憶する時に、前記第１メモリセルが第１の状態であり、第１の閾値に達していない場合、前記第１の閾値電圧まで書き込み動作を行なう制御回路と
を具備することを特徴とする半導体記憶装置。
【請求項７】
前記メモリセルは、消去動作により、第１の状態となることを特徴とする請求項６記載の半導体記憶装置。
【請求項８】
前記書込み動作を行なう前に、前記第１メモリセルに隣接する少なくとも１つの第２メモリセルにｋ値（ｋ＜ｎ）のデータを記憶することを特徴とする請求項６記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば１つのメモリセルに２ビット以上のデータを記憶することが可能な半導体記憶装置に関する。
【背景技術】
【０００２】
ＥＥＰＲＯＭを用いたＮＡＮＤ型フラッシュメモリであって、１つのメモリセルに多値データを記憶可能な不揮発性半導体記憶装置が提案されている（例えば、特許文献１参照）。ＮＡＮＤ型フラッシュメモリは、ロウ（行）方向に配置された複数のメモリセルの全て、又は半数のメモリセルが、それぞれビット線を介して対応するラッチ回路に接続されている。各ラッチ回路はデータの書き込み、及び読み出し時にデータを保持する。ロウ方向に配置された全てのセル、又は半数のセルは、一括してデータの書き込み、又は読み出しが行なわれる。
【０００３】
ところで、素子の微細化が進み、セルとセルの距離が小さくなっている。これに伴い、隣接するセルの浮遊ゲート相互間の容量（ＦＧ−ＦＧ間容量）が大きくなっている。このため、先にデータを書き込んだセルの閾値電圧が、隣接するセルにデータを書き込んだ際変動してしまうという問題が生じている。特に、１つのセルに多ビットのデータを記憶する多値メモリは、複数の閾値電圧により対応するデータを記憶するため、１つの閾値電圧の分布を非常に狭く制御する必要がある。このため、隣接セルの書き込みによる閾値電圧の変動の問題が顕著となっている。
【０００４】
この問題を解決するため、次のような方法が考えられている。例えばｋビットのデータを記憶することが可能なメモリセルにおいて、ｉビット（ｉ＜ｋ）のデータが記憶されている場合、次のデータを記憶する前に、隣接セルにｉビット以下のデータを事前に書き込む。これにより、閾値電圧の変動を、理想的には４値を記憶するセルの場合１／３、８値を記憶するセルの場合１／７、ｎ値を記憶するセルの場合１／（ｎ−１）に抑えることができる（例えば、特許文献２参照）。
【０００５】
上記方法は、データが書き込まれたセルに対して閾値電圧の変動を抑制するものであり、データの消去後、書き込みが行れていないセルについては上記方法が適用されていない。このため、消去状態のセル（以下、消去セルと称す）の閾値電圧は、隣接セルに書き込まれるデータの影響を受ける。したがって、消去セルの閾値電圧をこの分だけ低く設定する必要がある。しかし、消去セルの閾値電圧をより低く設定した場合、消去状態から、所要のデータを書き込む際、閾値電圧の変化量が大きくなり、閾値電圧を理想値に抑えることが難しい。
【特許文献１】特開２０００−１９５２８０号公報
【特許文献２】特開２００４−１９２７８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、消去セルの閾値電圧の変化を抑制することが可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００７】
本発明の半導体記憶装置の第１の態様は、第１、第２乃至第ｎの状態からなるｎ値（ｎは２以上の自然数）を記憶する複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、前記メモリセルアレイのｊ値（ｊ＜ｎ）のデータが記憶されている第１メモリセルに、次の少なくとも１値のデータを記憶する前に、前記第１メモリセルに隣接する少なくとも１つの第２メモリセルが第１の状態であり、第１の閾値電圧に達していない場合、前記第１の閾値電圧まで書き込み動作を行なう制御回路とを具備している。
【０００８】
本発明の半導体記憶装置の第２の態様は、第１、第２、第３、第４の状態を記憶する複数のメモリセルがマトリックス状に配置されて構成されたメモリセルアレイと、前記メモリセルアレイの第１又は第３の状態が記憶されている第１メモリセルに、次の少なくとも１値のデータを記憶する前に、前記第１メモリセルに隣接する少なくとも１つの第２メモリセルが第１の状態であり、第１の閾値電圧に達していない場合、前記第１の閾値電圧まで書き込み動作を行ない、この後、前記第１のメモリセルが第１の状態を有する場合、第１の状態に保持、又は第２の状態に書き込み、第３の状態を有する場合、第３の状態に保持、又は第４の状態に書き込む制御回路とを具備している。
【０００９】
本発明の半導体記憶装置の第３の態様は、第１、第２乃至第ｎの状態からなるｎ値（ｎは２以上の自然数）を記憶する複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、前記メモリセルアレイのｊ値（ｊ＜ｎ）のデータが記憶されている第１メモリセルに、次の少なくとも１値のデータを記憶する時に、前記第１メモリセルが第１の状態であり、第１の閾値に達していない場合、前記第１の閾値電圧まで書き込み動作を行なう制御回路とを具備している。
【発明の効果】
【００１０】
本発明によれば、消去セルの閾値電圧の変化を抑制することが可能な半導体記憶装置を提供できる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１２】
（第１の実施形態）
図２は、不揮発性半導体記憶装置の概略構成を示すものであり、例えば４値（２ビット）を記憶するＮＡＮＤフラッシュメモリの構成を示している。
【００１３】
メモリセルアレイ１は複数のビット線と複数のワード線と共通ソース線を含み、例えばＥＥＰＲＯＭセルからなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。このメモリセルアレイ１には、ビット線を制御するためのビット制御回路２とワード線制御回路６が接続されている。
【００１４】
ビット線制御回路２は、後述するように複数のデータ記憶回路及びフラグ用データ記憶回路を含んでいる。このビット線制御回路２は、ビット線を介してメモリセルアレイ１中のメモリセルのデータを読み出したり、ビット線を介してメモリセルアレイ１中のメモリセルの状態を検出したり、ビット線を介してメモリセルアレイ１中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行なう。ビット線制御回路２には、カラムデコーダ３、データ入出力バッファ４が接続されている。ビット線制御回路２内のデータ記憶回路はカラムデコーダ３によって選択される。データ記憶回路に読み出されたメモリセルのデータは、前記データ入出力バッファ４を介してデータ入出力端子５から外部へ出力される。
【００１５】
また、外部からデータ入出力端子５に入力された書き込みデータは、データ入出力バッファ４を介して、カラムデコーダ３によって選択されたデータ記憶回路に入力される。
【００１６】
ワード線制御回路６は、メモリセルアレイ１に接続されている。このワード線制御回路６は、メモリセルアレイ１中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。
【００１７】
メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４、及びワード線制御回路６は、制御信号及び制御電圧発生回路７に接続され、この制御信号及び制御電圧発生回路７によって制御される。制御信号及び制御電圧発生回路７は、制御信号入力端子８に接続され、外部から制御信号入力端子８を介して入力される制御信号によって制御される。
【００１８】
前記ビット線制御回路２、カラムデコーダ３、ワード線制御回路６、制御信号及び制御電圧発生回路７は書き込み回路、及び読み出し回路を構成している。
【００１９】
図３は、図２に示すメモリセルアレイ１及びビット線制御回路２の構成を示している。メモリセルアレイ１には複数のＮＡＮＤセルが配置されている。１つのＮＡＮＤセルは、直列接続された例えば３２個のＥＥＰＲＯＭからなるメモリセルＭＣと、選択ゲートＳ１、Ｓ２とにより構成されている。選択ゲートＳ２はビット線ＢＬ０に接続され、選択ゲートＳ１はソース線ＳＲＣに接続されている。各ロウに配置されたメモリセルＭＣの制御ゲートはワード線ＷＬ０、ＷＬ１、ＷＬ２〜ＷＬ３１に共通接続されている。また、選択ゲートＳ２はセレクト線ＳＧＤに共通接続され、選択ゲートＳ１はセレクト線ＳＧＳに共通接続されている。
【００２０】
ビット線制御回路２は複数のデータ記憶回路１０及び第１のフラグ用データ記憶回路１０ａを有している。各データ記憶回路１０及び第１のフラグ用データ記憶回路１０ａには、一対のビット線（ＢＬ０、ＢＬ１）、（ＢＬ２、ＢＬ３）…（ＢＬｉ、ＢＬｉ＋１）、（ＢＬｆ１、ＢＬｆ２）が接続されている。
【００２１】
メモリセルアレイ１は、破線で示すように、複数のブロックを含んでいる。各ブロックは、複数のＮＡＮＤセルにより構成され、このブロック単位でデータが消去される。また、消去動作は、データ記憶回路１０、第１のフラグ用データ記憶回路１０ａに接続されている２本のビット線について同時に行なわれる。
【００２２】
また、ビット線の１つおきに配置され、１つのワード線に接続された複数のメモリセル（破線で囲まれた範囲のメモリセル）は、１セクタを構成する。このセクタ毎にデータが書き込まれ、読み出される。１セクタには例えば２ページ分のデータが記憶される。また、各ワード線には、フラグを記憶するための複数の第１のフラグセルＦＣ１が接続されている。すなわち、この実施形態の場合、１セクタは１つの第１のフラグセルＦＣ１を含んでいる。
【００２３】
リード動作、プログラムベリファイ動作及びプログラム動作時において、データ記憶回路１０、１０ａに接続されている２本のビット線（ＢＬｉ、ＢＬｉ＋１）のうち外部より供給されるアドレス信号（ＹＡ１、ＹＡ２…ＹＡｉ、ＹＡＦｌａｇ）に応じて１本のビット線が選択される。さらに、外部アドレスに応じて、１本のワード線が選択され、１セクタ（２ページ分）が選択される。この２ページの切り替えはアドレスによって行われる。
【００２４】
図４（ａ）（ｂ）はメモリセル及び選択トランジスタの断面図を示している。図４（ａ）はメモリセルを示している。基板４１にはメモリセルのソース、ドレインとしてのｎ型拡散層４２が形成されている。基板４１の上にはゲート絶縁膜４３を介して浮遊ゲート（ＦＧ）４４が形成され、この浮遊ゲート４４の上には絶縁膜４５を介して制御ゲート（ＣＧ）４６が形成されている。図４（ｂ）は選択ゲートを示している。基板４１にはソース、ドレインとしてのｎ型拡散層４７が形成されている。基板４１の上にはゲート絶縁膜４８を介して制御ゲート４９が形成されている。
【００２５】
図５は、メモリセルアレイの１つのＮＡＮＤセルの断面を示している。この例において、１つのＮＡＮＤセルは、図４（ａ）に示す構成のメモリセルＭＣが３２個直列接続されて構成されている。ＮＡＮＤセルのソース側、ドレイン側には、図４（ｂ）に示す構成の選択ゲートＳ１及び選択ゲートＳ２が設けられている。
【００２６】
図６は、図３に示すデータ記憶回路１０の一例を示す回路図である。第１のフラグ用データ記憶回路１０ａもデータ記憶回路１０と同様の構成とされている。
【００２７】
このデータ記憶回路１０は、プライマリデータキャッシュ（ＰＤＣ）、セコンダリデータキャッシュ（ＳＤＣ）、ダイナミックデータキャッシュ（ＤＤＣ）、テンポラリデータキャッシュ（ＴＤＣ）を有している。ＳＤＣ、ＰＤＣ、ＤＤＣは、書き込み時に入力データを保持し、読み出し時に読み出しデータを保持し、ベリファイ時に一時的にデータを保持し、多値データを記憶する際に内部データの操作に使用される。ＴＤＣは、データの読み出し時にビット線のデータを増幅し、一時的に保持するとともに、多値データを記憶する際に内部データの操作に使用される。
【００２８】
ＳＤＣは、ラッチ回路を構成するクロックドインバータ回路６１ａ、６１ｂ、及びトランジスタ６１ｃ、６１ｄにより構成されている。トランジスタ６１ｃはクロックドインバータ回路６１ａの入力端と、クロックドインバータ回路６１ｂの入力端の間に接続されている。このトランジスタ６１ｃのゲートには信号ＥＱ２が供給されている。トランジスタ６１ｄはクロックドインバータ回路６１ｂの出力端と接地間に接続されている。このトランジスタ６１ｄのゲートには信号ＰＲＳＴが供給されている。ＳＤＣのノードＮ２ａは、カラム選択トランジスタ６１ｅを介して入出力データ線ＩＯに接続され、ノードＮ２ｂは、カラム選択トランジスタ６１ｆを介して入出力データ線ＩＯｎに接続される。これらトランジスタ６１ｅ、６１ｆのゲートにはカラム選択信号ＣＳＬｉが供給されている。ＳＤＣのノードＮ２ａは、トランジスタ６１ｇ、６１ｈを介してＰＤＣのノードＮ１ａに接続されている。トランジスタ６１ｇのゲートには信号ＢＬＣ２が供給され、トランジスタ６１ｈのゲートには信号ＢＬＣ１が供給されている。
【００２９】
ＰＤＣは、クロックドインバータ回路６１ｉ、６１ｊ及びトランジスタ６１ｋにより構成されている。トランジスタ６１ｋは、クロックドインバータ回路６１ｉの入力端とクロックドインバータ回路６１ｊの入力端の相互間に接続されている。このトランジスタ６１ｋのゲートには信号ＥＱ１が供給されている。ＰＤＣのノードＮ１ｂはトランジスタ６１ｌのゲートに接続されている。このトランジスタ６１ｌの電流通路の一端はトランジスタ６１ｍを介して接地されている。このトランジスタ６１ｍのゲートには信号ＣＨＫ１が供給されている。また、トランジスタ６１ｌの電流通路の他端はトランスファーゲートを構成するトランジスタ６１ｎ、６１ｏの電流通路の一端に接続されている。このトランジスタ６１ｎのゲートには信号ＣＨＫ２ｎが供給されている。また、トランジスタ６１ｏのゲートは前記ＳＤＣのノードＮ２ａに接続されている。トランジスタ６１ｎ、６１ｏの電流通路の他端には、信号ＣＯＭｉが供給されている。この信号ＣＯＭｉは全データ記憶回路１０に共通の信号であり、全データ記憶回路１０のベリファイが完了したかどうかを示す信号である。すなわち、後述するように、ベリファイが完了すると、ＰＤＣのノードＮ１ｂがローレベルとなる。この状態において、信号ＣＨＫ１、ＣＨＫ２ｎをハイレベルとすると、ベリファイが完了している場合、信号ＣＯＭｉがハイレベルとなる。
【００３０】
さらに、前記ＴＤＣは、例えばＭＯＳキャパシタ６１ｐにより構成されている。このキャパシタ６１ｐは、前記トランジスタ６１ｇ、６１ｈの接続ノードＮ３と接地間に接続されている。また、接続ノードＮ３には、トランジスタ６１ｑを介してＤＤＣが接続されている。トランジスタ６１ｑのゲートには、信号ＲＥＧが供給されている。
【００３１】
ＤＤＣは、トランジスタ６１ｒ、６１ｓにより構成されている。トランジスタ６１ｒの電流通路の一端には信号ＶＲＥＧが供給され、他端は前記トランジスタ６１ｑの電流通路に接続されている。このトランジスタ６１ｒのゲートはトランジスタ６１ｓを介して前記ＰＤＣのノードＮ１ａに接続されている。このトランジスタ６１ｓのゲートには信号ＤＴＧが供給されている。
【００３２】
さらに、前記接続ノードＮ３にはトランジスタ６１ｔ、６１ｕの電流通路の一端が接続されている。トランジスタ６１ｕの電流通路の他端には信号ＶＰＲＥが供給され、ゲートにはＢＬＰＲＥが供給されている。前記トランジスタ６１ｔのゲートには信号ＢＬＣＬＡＭＰが供給されている。このトランジスタ６１ｔの電流通路の他端はトランジスタ６１ｖを介してビット線ＢＬｏの一端に接続され、トランジスタ６１ｗを介してビット線ＢＬｅの一端に接続されている。ビット線ＢＬｏの他端はトランジスタ６１ｘの電流通路の一端に接続されている。このトランジスタ６１ｘのゲートには信号ＢｌＡＳｏが供給されている。ビット線ＢＬｅの他端はトランジスタ６１ｙの電流通路の一端に接続されている。このトランジスタ６１ｙのゲートには信号ＢｌＡＳｅが供給されている。これらトランジスタ６１ｘ、６１ｙの電流通路の他端には、信号ＢＬＣＲＬが供給されている。トランジスタ６１ｘ、６１ｙは、信号ＢｌＡＳｏ、ＢｌＡＳｅに応じてトランジスタ６１ｖ、６１ｗと相補的にオンとされ、非選択のビット線に信号ＢＬＣＲＬの電位を供給する。
【００３３】
上記各信号及び電圧は、図２に示す制御信号及び制御電圧発生回路７により生成され、この制御信号及び制御電圧発生回路７の制御に基づき、以下の動作が制御される。
【００３４】
本メモリは、多値メモリであり、１セルに例えば２ビットのデータを記憶することができる。この２ビットの切り替えはアドレス（第１ページ、第２ページ）によって行なわれる。
【００３５】
（動作説明）
図１は、メモリセルのデータとメモリセルの閾値電圧の関係を示している。消去動作を行なうとメモリセルのデータは“０”（負の閾値電圧）となる。図１（ａ）に示すように、第１ページの書き込みを行なうと、メモリセルのデータはデータ“０”と例えばデータ“２”になる。図１（ｂ）に示すように、第２ページの書き込み前に隣接セルに隣接セルの第１のデータ以下のデータが書き込まれる。すると、このセルに書き込まれたデータにより、データ“０”と“２”の閾値電圧の分布が大きくなる。第１の実施形態は、図１（ｃ）に示すように、第２ページの書き込み前にデータ“０”が記憶された消去セルに対して僅かな書き込み（以下、ソフトプログラムと称す）を行い、データ“０”の閾値電圧の分布を閾値電圧の高い方に狭める。この後、第２ページのデータが書き込まれると、メモリセルのデータは、図１（ｄ）に示すように、本来の閾値電圧を有するデータ“０”〜“３”となる。第１の実施形態では、メモリセルのデータは閾値電圧の低いほうから高い方へと、定義されている。
【００３６】
図７は、第１の実施形態に係るメモリセルの書き込み順序を示している。ブロック内において、書き込み動作はソース線ＳＲＣに近いメモリセルからページ毎に行なわれる。図７に示すように、ソース線ＳＲＣ側からビット線側へメモリセルをＭＣ０〜ＭＣ３１と定義して、書き込み順序について説明する。
【００３７】
第０番目の書き込みは、メモリセルＭＣ０の第１ページに１ビットのデータを書く。
【００３８】
第１番目の書き込みは、メモリセルＭＣ０とロウ（行）方向に隣接したメモリセルＭＣ１の第１ページに１ビットのデータを書き込む。
【００３９】
第２番目の書き込みは、メモリセルＭＣ０とカラム（列）方向に隣接したメモリセルＭＣ２の第１ページに１ビットのデータを書く。
【００４０】
この後、第２ａ番目の書き込みにおいて、メモリセルＭＣ０のデータが“０”で、図１（ｃ）に示すように、閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超える値までソフトプログラムを行う。
【００４１】
第３番目の書き込みは、メモリセルＭＣ０と対角に隣接したメモリセルＭＣ３の第１ページに１ビットのデータを書く。
【００４２】
この後、第３ａ番目の書き込みにおいて、メモリセルＭＣ３のデータが“０”で、閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超える値までソフトプログラムを行う。
【００４３】
第４番目の書き込みは、メモリセルＭＣ１とカラム方向に隣接したメモリセルＭＣ４の第１ページに１ビットのデータを書く。
【００４４】
この後、第４ａ番目の書き込みにおいて、メモリセルＭＣ２のデータが“０”で、閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超える値までソフトプログラムを行う。
【００４５】
第５番目の書き込みは、メモリセルＭＣ２と対角に隣接したメモリセルＭＣ５の第１ページに１ビットのデータを書く。
【００４６】
この後、第５ａ番目の書き込みにおいて、メモリセルＭＣ３のデータが“０”で、閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超える値までソフトプログラムを行う。
【００４７】
第６番目の書き込みは、メモリセルＭＣ０の第２ページに１ビットのデータを書く。
【００４８】
第７番目の書き込みは、メモリセルＭＣ１の第２ページに１ビットのデータを書く。
【００４９】
第８番目の書き込みは、メモリセルＭＣ４とカラム方向に隣接したメモリセルＭＣ６の第１ページに１ビットのデータを書く。
【００５０】
この後、第８ａ番目の書き込みにおいて、メモリセルＭＣ４のデータが“０”で、閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超える値までソフトプログラムを行う。
【００５１】
第９番目の書き込みは、メモリセルＭＣ４と対角に隣接したメモリセルＭＣ７の第１ページに１ビットのデータを書く。
【００５２】
この後、第９ａ番目の書き込みにおいて、メモリセルＭＣ５のデータが“０”で、閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超える値までソフトプログラムを行う。
【００５３】
第１０番目の書き込みは、メモリセルＭＣ２の第２ページに１ビットのデータを書く。
【００５４】
第１１番目の書き込みは、メモリセルＭＣ３の第２ページに１ビットのデータを書く。
【００５５】
以下、同様にして、順次メモリセルにデータが書き込まれる。
【００５６】
ここで、第１２０番目の書き込み、又は第１２２番目の書き込みの後、第１２０ａ番目、又は第１２２ａ番目の書き込みにおいて、メモリセルＭＣ６２のデータ“０”の閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超えるまでソフトプログラムを行う。さらに、第１２１番目の書き込み、又は第１２３番目の書き込みの後、第１２１ａ番目、又は第１２３ａ番目の書き込みにおいて、メモリセルＭＣ６３のデータ“０”の閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超えるまでソフトプログラムを行う。
【００５７】
（プログラム及びプログラムベリファイ）
次に、図８、図９を参照してプログラム及びプログラムベリファイの具体的な動作について説明する。
【００５８】
（第１ページプログラム）
図８は、第１ページのプログラムを示している。プログラム動作は、先ずアドレスを指定し、図３に示す２ページ（１つのセクタ）が選択される。本メモリは、２ページのうち、第１ページ、第２ページの順でのみプログラムできる。したがって、先ずアドレスにより第１ページが選択される。
【００５９】
次に、書き込むべきデータが外部より入力され、全てのデータ記憶回路１０内のＳＤＣに記憶される（Ｓ１１）。この後、書き込みコマンドが入力されると、全てのデータ記憶回路１０内の図６に示すＳＤＣのデータがＰＤＣに転送される（Ｓ１２）。外部よりデータ“１”（書き込みを行なわない）が供給された場合、ＰＤＣのノードＮ１ａはハイレベルになり、データ“０”（書き込みを行なう）が供給された場合、ＰＤＣのノードＮ１ａはローレベルとなる。以後、ＰＤＣのデータはノードＮ１ａの電位、ＳＤＣのデータはノードＮ２ａの電位とする。
【００６０】
（プログラム動作）（Ｓ１３）
図６中の信号ＢＬＣ１の電位をＶｄｄ＋Ｖｔｈとすると、ＰＤＣにデータ“１”（非書き込み）が記憶されている時、ビット線の電位はＶｄｄとなる。一方、ＰＤＣにデータ“０”（書き込み）が記憶されている時、ビット線の電位はＶｓｓとなる。また、選択されたワード線に接続され、非選択ページの（ビット線が非選択である）セルは書き込みが行なわれてはならない。このため、これらのセルに接続されているビット線にもデータ“１”と同じように電位Ｖｄｄを供給する。
【００６１】
ここで、選択されているブロックのセレクト線ＳＧＤに電位Ｖｄｄ、選択ワード線にＶｐｇｍ（２０Ｖ）、非選択ワード線にＶＰＡＳＳ（１０Ｖ）を供給する。すると、ビット線が電位Ｖｓｓである場合、セルのチャネルが電位Ｖｓｓ、ワード線がＶｐｇｍとなるため、書き込みが行なわれる。一方、ビット線が電位Ｖｄｄである場合、セルのチャネルがＶｓｓでなくＶｐｇｍを上げることになり、カップリングでＶｐｇｍ／２となる。このため、プログラムが行われない。
【００６２】
書き込みデータが“０”の時、図１に示すように、メモリセルのデータは“２”となる。また、書き込みデータが“１”の時、メモリセルのデータは“０”のままである。
【００６３】
（第１ページベリファイ）（Ｓ１４）
プログラムベリファイ動作において、選択されているワード線にリードの時の電位“ｖ”より少し高い電位“ｖ’”を供給する。以後“’”はベリファイ電位を示し、リードの電位より若干高い電位とする。
【００６４】
先ず、選択されているブロック内の非選択ワード線及びセレクト線ＳＧＤに読み出し電位Ｖｒｅａｄ（＜Ｖｐｇｍ）を供給し、図６に示すデータ記憶回路１０の信号ＢＬＰＲＥに例えばＶｄｄ＋Ｖｔｈ、信号ＢＬＣＬＡＭＰに所定の電圧、例えばＶｄｄ＋Ｖｔｈを供給し、信号ＶＰＲＥをＶｄｄとし、ビット線をプリチャージする。
【００６５】
次に、セルのソース側のセレクト線ＳＧＳに例えば電位Ｖｄｄを供給する。セルの閾値電圧が電位ｖ’より高い時、セルはオフする。このため、ビット線はハイレベルのままである。一方、セルの閾値電圧が電位ｖ’より低い時、セルはオンする。このため、ビット線の電位はＶｓｓとなる。ビット線の放電中、ＴＤＣのノードＮ３を電位Ｖｓｓとし、信号ＲＥＧをハイレベルとしてトランジスタ６１ｑをオンさせ、ＤＤＣのデータをＴＤＣに移す。次に、信号ＤＴＧをハイレベルとしてトランジスタ６１ｓをオンさせ、ＰＤＣのデータをＤＤＣに転送する。この後、トランジスタ６１ｈをオンさせ、ＴＤＣのデータをＰＤＣに転送する。次に、信号ＶＰＲＥを電位Ｖｄｄ、信号ＢＬＰＲＥをＶｄｄ＋Ｖｔｈとしてトランジスタ６１ｕをオンさせ、ＴＤＣのノードＮ３を電位Ｖｄｄにプリチャージした後、信号ＢＬＣＬＡＭＰに所定の電圧を与える。ＴＤＣのノードＮ３はビット線がローレベルの場合ローレベルとなり、ビット線がハイレベルの場合ハイレベルとなる。ここで、書き込みを行なう場合、ＤＤＣにローレベルが記憶され、書き込みを行なわない場合、ＤＤＣにハイレベルが記憶されている。このため、信号ＶＲＥＧを電位Ｖｄｄとし、信号ＲＥＧをハイレベルにすると、書き込みを行なわない場合のみＴＤＣのノードＮ３が強制的にハイレベルとなる。この動作の後、ＰＤＣのデータをＤＤＣに移し、ＴＤＣの電位をＰＤＣに転送する。ＰＤＣにハイレベルがラッチされるのは、書き込みを行なわない場合と、メモリセルにデータ“１”を書き込んでいて、セルの閾値電圧がベリファイ電位ｖ’に達した場合だけである。また、ＰＤＣにローレベルがラッチされる場合は、セルの閾値電圧がベリファイ電位ｖ’に達しない場合である。
【００６６】
ＰＤＣがローレベルの場合、再び書き込み動作を行ない、全てのデータ記憶回路１０のＰＤＣのデータがハイレベルになるまで、プログラム動作とベリファイ動作を繰り返す（Ｓ１５）。
【００６７】
尚、プログラム及びベリファイの回数は、制限する必要があるが、この実施形態において、プログラム及びベリファイの回数は、重要ではないため、説明は省略する。
【００６８】
（隣接セルプログラム）
図７に示すように、メモリセルＭＣ０の第１ページに１ビットのデータを書き込んだ後、メモリセルＭＣ０と同一のワード線により選択されているメモリセルＭＣ１の第１ページに１ビットのデータが書き込まれる。この後、メモリセルＭＣ０とカラム（ビット線）方向に隣接するメモリセルＭＣ２の第１ページに１ビットのデータが書き込まれる。これらの書き込みが行なわれると、書き込みデータによっては、ＦＧ−ＦＧ間容量によって、メモリセルＭＣ０の閾値電圧が変化し、図１（ｂ）に示すように、閾値電圧の分布が上側に広がる。
【００６９】
第１の実施形態では、カラム方向の隣接セルの書き込み動作が終了した場合、消去セルの閾値電圧の分布を判定し、消去セルの閾値電圧の分布が所定値より広い場合、ソフトプログラムを行い、消去セルの閾値電圧の分布を狭める。
【００７０】
（ソフトプログラム）
そこで、カラム方向の隣接セルをプログラムした後（Ｓ１６）、ＤＤＣ、ＴＤＣ、ＰＤＣの間で、前述したようにデータが転送され、ＰＤＣに書き込みデータとしてローレベルが設定される。
【００７１】
この状態において、メモリセルＭＣ０のデータが“０”で、閾値電圧がベリファイ電圧“ｚ”より低いかどうかベリファイされる（Ｓ１９）。このベリファイ動作は、上記プログラムベリファイと同様である。このベリファイの結果、メモリセルＭＣ０の閾値電圧がベリファイ電圧“ｚ”より低い場合、ベリファイ電圧“ｚ”を超えるまで書き込みが行われる（Ｓ２０、Ｓ１８、Ｓ１９）。
【００７２】
上記ソフトプログラムが終了後、メモリセルＭＣ３の第１ページの書き込みが行われる。メモリセルＭＣ１に対してビット線方向に隣接するメモリセルＭＣ３の書き込みが終了すると、書き込みデータによっては、ＦＧ−ＦＧ間容量によって、メモリセルＭＣ１の閾値電圧が上昇し、閾値分布は図１（ｂ）に示すように広がる。そこで、メモリセルＭＣ１のデータが“０”で、閾値電圧がベリファイ電圧“ｚ”より低い場合、メモリセルＭＣ０と同様に、メモリセルＭＣ１に対してソフトプログラムが実行される。
【００７３】
この後、メモリセルＭＣ４の第１ページの書き込みが行われる。この書き込み動作が行なわれると、書き込みデータによっては、ＦＧ−ＦＧ間容量によって、メモリセルＭＣ２の閾値電圧が上昇し、閾値分布は図１（ｂ）に示すように広がる。そこで、メモリセルＭＣ２のデータが“０”で、閾値電圧がベリファイ電圧“ｚ”より低い場合、メモリセルＭＣ２に対してソフトプログラムが実行される。
【００７４】
この後、メモリセル５の第１ページの書き込みが行われる。この書き込み動作が行なわれると、書き込みデータによっては、ＦＧ−ＦＧ間容量によって、メモリセルＭＣ５の閾値電圧が上昇し、閾値分布は図１（ｂ）に示すように広がる。そこで、メモリセルＭＣ３のデータが“０”で、閾値電圧がベリファイ電圧“ｚ”より低い場合、メモリセルＭＣ３に対してソフトプログラムが実行される。このソフトプログラムは、ｉビット（ｉ＜ｋ：２ｋ＝ｎ）以下のデータを書き込むものである。
【００７５】
具体的には、選択ワード線の電位を通常のプログラム電圧Ｖｐｇｍより低い電位とし、セルのチャネルをＶｓｓとしてデータを書き込む。この後、消去セルの閾値電圧がベリファイ電圧“ｚ”に達したかどうかベリファイされ、消去セルの閾値電圧がベリファイ電圧“ｚ”に達するまで、ソフトプログラムが実行される。
【００７６】
このようにして、第１ページのプログラム及びソフトプログラムが終了した後、メモリセルＭＣ０に対して第２ページのデータが書き込まれる。
【００７７】
（第２ページプログラム）
図９は、第２ページのプログラム動作を示している。第２ページのプログラム動作も、先ずアドレスを指定して、図３に示す２ページが選択される。
【００７８】
次に、書き込むべきデータが、外部より全てのデータ記憶回路１０内のＳＤＣに記憶される（Ｓ２１）。外部よりデータ“１”（書き込みを行なわない）が供給された場合、図６のデータ記憶回路１０のＳＤＣは、ハイレベルになり、データ“０”（書き込みを行なう）が入力されるとローレベルとなる。次に、フラグ用データ記憶回路１０ａにデータ“０”がロードされる（Ｓ２２）。
【００７９】
第２ページのプログラムは、図１（ｄ）に示すように、メモリセルのデータが“０”の場合で、外部から入力されるデータが“１”の場合、メモリセルのデータを“０”のままとし、外部から入力されるデータが“０”の場合、メモリセルのデータを例えば“１”にする。メモリセルのデータが“２”の場合で、外部から入力されるデータが“１”の場合、メモリセルのデータを例えば“２”にし、メモリセルのデータが“２”の場合で、外部から入力されるデータが“０”の場合、メモリセルのデータを例えば“３”にする。
【００８０】
（内部データリード）（Ｓ２３）
先ず、セルへの書き込みの前に、第１ページのメモリセルのデータが“０”か“２”であるか判断するため、内部リード動作を行なう。内部データリードは、リード動作と全く同じであり、ワード線の電位を“ａ”として読み出し動作を行なう。
【００８１】
先ず、選択されているブロック内の非選択ワード線及びセレクト線ＳＧＤに読み出し電圧Ｖｒｅａｄを供給し、図６に示すデータ記憶回路１０の信号ＢＬＰＲＥ、信号ＢＬＣＬＡＭＰに所定の電圧を与え、ビット線をプリチャージした後、セルのソース側のセレクト線ＳＧＳをハイレベルにする。閾値電圧が電位“ａ”より高い時は、セルがオフするためビット線はハイレベルのままであり、閾値電圧が電位“ａ”より低い場合、セルがオンするためビット線が接地電位Ｖｓｓとなる。
【００８２】
次に、データ記憶回路１０の信号ＶＰＲＥを例えばＶｄｄ、信号ＢＬＰＲＥに例えば電圧Ｖｄｄ＋Ｖｔｈを供給し、ＴＤＣのノードＮ３をＶｄｄにプリチャージした後、ＢＬＣＬＡＭＰに所定の電圧を与える。ＴＤＣのノードＮ３はビット線がローレベルの場合ローレベルとなり、ビット線がハイレベルの場合、ハイレベルとなる。この後、ＴＤＣの電位をＰＤＣに読み込む。メモリセルのデータが“２”の場合、ＰＤＣにハイレベルがラッチされ、メモリセルのデータが“０”の場合、ＰＤＣにローレベルがラッチされる。
【００８３】
（データキャッシュ設定）（Ｓ２４）
この後、外部からのデータ、及び内部データリードの結果によりデータキャッシュが設定される。外部からＳＤＣに格納されたデータ、及び内部データリードによりＴＤＣに格納されたデータがＰＤＣ、ＤＤＣを用いて操作され、第２ページのデータを書き込むためのデータが生成される。
【００８４】
すなわち、メモリセルのデータを“０”にする場合、（第１ページにおいてデータ“１”、第２のページにおいてデータ“１”の場合）、ＰＤＣ、ＤＤＣ、ＳＤＣは全てハイレベルに設定される。
【００８５】
メモリセルのデータを“１”にする場合（第１ページにおいてデータ“１”、第２ページにおいてデータ“０”の場合）、ＰＤＣはローレベル、ＤＤＣはローレベル、ＳＤＣはハイレベルに設定される。
【００８６】
メモリセルのデータを“２”する場合（第１ページにおいてデータ“０”、第２ページにおいてデータ“１”の場合）、ＰＤＣはローレベル、ＤＤＣはハイレベル、ＳＤＣはローレベルに設定される。
【００８７】
メモリセルのデータを“３”する場合（第１ページにおいてデータ“０”、第２ページにおいてデータ“０”の場合）、ＰＤＣ、ＤＤＣ、ＳＤＣは全てローレベルに設定される。
【００８８】
（プログラム動作）（Ｓ２５）
プログラム動作は、第１ページのプログラム動作と全く同じで、ＰＤＣにデータ“１”が記憶されている場合、書き込みが行なわれず。データ“０”が記憶されている場合、書き込みが行なわれる。
【００８９】
（第２ページベリファイ）（Ｓ２６〜Ｓ３３）
プログラムベリファイ動作も、第１ページのベリファイ動作と同様にして行われる。選択されているワード線に供給する電位は、図１（ｄ）に示すように、“ａ’”“ｂ’”“ｃ’”である。各ベリファイ電位におけるベリファイ回数は予め設定されており、各ベリファイ回数に応じて所定のベリファイが実行される。このようにして、不要なベリファイ動作をスキップして第２ページのプログラムベリファイ動作が実行される。第２ページのプログラムが実行されることにより、図１（ｄ）に示すような閾値電圧の分布となる。
【００９０】
この後、隣接セルに第２ページの書き込みが行われると、この書き込み動作に応じて、図１（ｅ）に示すように、メモリセルの閾値電圧の分布が高いほうに広がる。データ読み出し時にワード線に供給する電位は、これら各閾値電圧のほぼ中間となるように設定されている。
【００９１】
尚、メモリセルにデータを書き込む際、プログラム電圧Ｖｐｇｍを徐々に増加している。この増分ｄＶｐｇｍは、第１ページの書き込みの場合、例えば０．６Ｖ、第２ページの書き込みの場合、０．４Ｖである。
【００９２】
上記第１の実施形態によれば、ワード線に接続されるメモリセルの半数ずつ第１ページのデータ、第２ページのデータを順次書き込む場合において、カラム方向に隣接するセルに第１ページのデータを書き込んだ後、先に書き込んだメモリセルのデータが“０”である場合、そのメモリセルに対してｉビット（ｉ＜ｋ：２ｋ＝ｎ）以下のデータを書き込むソフトプログラムを行っている。このため、隣接セルの書き込みにより、消去セルの閾値電圧が広がった場合においても、ソフトプログラムにより、閾値電圧が高くなるように書き込みを行い、閾値電圧の分布を狭めている。したがって、第２ページのデータの書き込みおいて、メモリセルのデータ“０”からデータ“１”への移動量を少なくすることができ、メモリセルのデータ“０”からデータ“１”への移動と、メモリセルのデータ“２”から“３”への移動をほぼ等しくすることができる。このため、各データの閾値電圧の変動をほぼ理想の４値の１／３に設定することができる。
【００９３】
また、データ“１”を書き込むとき、消去セルの閾値電圧がプログラムディスターブにより上がる問題もあるが、第１ページの書き込みの後に、ソフトプログラムにより消去セルの閾値電圧を上げている。このため、第１ページ書き込み前は、消去セルの閾値電圧を低く設定することも可能であり、プログラムディスターブにより上がっても消去状態を保持することが可能である。
【００９４】
（第２の実施形態）
次に、第２の実施形態について説明する。
【００９５】
上記第１の実施形態は、一対のビット線がデータ記憶回路１０に接続されロウ（ワード線）方向に並んだ半数のセルに対してデータを一括して書き込んだ。これに対して、第２の実施形態は、ロウ方向に並んだ全セルに対してデータを一括して書き込む。
【００９６】
図１０は、第２の実施形態に適用されるメモリセルアレイとデータ記憶回路の一例を示している。図１０において、各ビット線は、対応するデータ記憶回路１０、１０ａにそれぞれ接続されている。データ記憶回路１０、１０ａの構成は、図６とほぼ同様である。しかし、ビット線を選択するトランジスタ６１ｖ、６１ｗがなく、各ビット線がトランジスタ６１ｔに直接接続されている。
【００９７】
図１１は、第２の実施形態に係る書き込み順序を示している。
【００９８】
第０番目の書き込みは、メモリセルＭＣ０の第１ページに１ビットのデータを書く。
【００９９】
第１番目の書き込みは、メモリセルＭＣ０とカラム方向に隣接したメモリセルＭＣ１の第１ページに１ビットのデータを書き込む。
【０１００】
この後、第１ａ番目の書き込みにおいて、メモリセルＭＣ０のデータが“０”で、図１に示すように、閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超える値までソフトプログラムを行う。
【０１０１】
第２番目の書き込みは、メモリセルＭＣ１とカラム方向に隣接したメモリセルＭＣ２の第１ページに１ビットのデータを書き込む。
【０１０２】
この後、第２ａ番目の書き込みにおいて、メモリセルＭＣ１のデータが“０”で、図１に示すように、閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超える値までソフトプログラムを行う。
【０１０３】
第３番目の書き込みは、メモリセルＭＣ０の第２ページに１ビットのデータを書く。
【０１０４】
第４番目の書き込みは、メモリセルＭＣ２とカラム方向に隣接したメモリセルＭＣ３の第１ページに１ビットのデータを書く。
【０１０５】
この後、第４ａ番目の書き込みにおいて、メモリセルＭＣ２のデータが“０”で、閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超える値までソフトプログラムを行う。
【０１０６】
第５番目の書き込みは、メモリセルＭＣ１の第２ページに１ビットのデータを書く。
【０１０７】
以下、同様にして、順次メモリセルにデータが書き込まれる。
【０１０８】
ここで、第６１番目の書き込みの後、第６１ａ番目の書き込みにおいて、メモリセルＭＣ３１のデータ“０”の閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超えるまでソフトプログラムを行う。あるいは、第６０番目の書き込みの後、メモリセルＭＣ３１のデータ“０”の閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超えるまでソフトプログラムが行われる。
【０１０９】
上記第２の実施形態によっても、カラム方向に隣接するメモリセルの書き込み後、カラム方向手前の消去セルのデータ“０”の閾値電圧が“ｚ”より低い場合、閾値電圧“ｚ”を超えるまでソフトプログラムを行っている。このため、隣接セルの書き込みに伴い、消去セルの閾値電圧の分布が広がった場合においても、ソフトプログラムにより、閾値電圧の分布を高いほうに狭めることができる。したがって、第２ページのデータを書き込む際、データ“０”からデータ“１”への移動量を少なくすることができるため、第２ページのデータを書き込んだ後の閾値電圧の変動をほぼ理想の４値の１／３に設定することが可能である。
【０１１０】
（第３の実施形態）
第１、第２の実施形態は、１つのメモリセルに４値のデータを記憶する場合について説明した。これに対して、第３の実施形態は、１つのメモリセルに８値のデータを記憶する。
【０１１１】
図１２は、第３の実施形態に適用されるメモリセルアレイとデータ記憶回路の一例を示している。この例は、第１の実施形態と同様に、ワード線に接続されたメモリセルの半数のメモリセルにデータを一括して書き込む場合を示している。このため、各データ記憶回路１０には、一対のビット線が接続されている。また、各ワード線には、４個のフラグセルＦＣ１、ＦＣ１、ＦＣ２、ＦＣ２が接続されている。これらフラグセルＦＣ１、ＦＣ１、ＦＣ２、ＦＣ２が接続される一対のビット線ＢＬｆ１、ＢＬｆ２は、第１のフラグ用データ記憶回路１０ａに接続され、ビット線ＢＬｆ３、ＢＬｆ４は、第２のフラグ用データ記憶回路１０ｂに接続されている。データ記憶回路１０ａ、第１、第２のフラグ用データ記憶回路１０ａ、１０ｂの構成は図６に示す回路と同様である。
【０１１２】
図１３は、８値のデータを書き込む場合の動作を示している。図１３（ａ）は第１ページのデータの書き込みを示し、図１３（ｂ）は、隣接セルの書き込みを示している。これらの書き込み動作は、４値のデータの書き込みと同様である。第１ページのデータを書き込む際のプログラム電圧Ｖｐｇｍの増加分ｄＶｐｇｍは例えば０．６Ｖである。第１、第２の実施形態に示す４値のデータの書き込みの場合、第１ページの隣接セルにデータを書き込んだ後、ソフトプログラムを行った。
【０１１３】
これに対して、８値の場合、図１３（ｃ）に示すように、第２ページのデータが書き込まれる。第２ページのデータを書き込む際のプログラム電圧Ｖｐｇｍの増加分ｄＶｐｇｍは例えば０．４Ｖである。次いで、図１３（ｄ）に示すように、隣接セルにデータが書き込まれる。これにより、第２ページのデータの閾値電圧の分布が広がる。
【０１１４】
この後、図１３（ｅ）に示すように、セルのデータが“０”の場合、ベリファイ電圧“ｚ”を超えるまで、ソフトプログラムが実行される。
【０１１５】
次いで、図１３（ｆ）に示すように、第３ページのデータが書き込まれ、８値の閾値電圧が設定される。第３ページのデータを書き込む際のプログラム電圧Ｖｐｇｍの増加分ｄＶｐｇｍは例えば０．２Ｖである。この後、隣接セルのプログラムが行われ、これに伴い、図１３（ｇ）に示すように、８値の閾値電圧の分布が広がる。
【０１１６】
図１４は、第３の実施形態におけるメモリセルの書き込み順序を示している。図１４は、ワード線により選択されるメモリセルの半数に対して一括してデータを書き込む場合を示している。
【０１１７】
第０番目の書き込みにおいて、メモリセルＭＣ０対して第１ページのデータが書き込まれる。
【０１１８】
第１番目の書き込みにおいて、メモリセルＭＣ０のロウ方向に隣接するメモリセルＭＣ１に対して第１ページのデータが書き込まれる。
【０１１９】
第２番目の書き込みにおいて、メモリセルＭＣ０のカラム方向に隣接するメモリセルＭＣ２に対して第１ページのデータが書き込まれる。
【０１２０】
第３番目の書き込みにおいて、メモリセルＭＣ１のカラム方向に隣接するメモリセルＭＣ３に対して第１ページのデータが書き込まれる。
【０１２１】
第４番目の書き込みにおいて、メモリセルＭＣ０に対して第２ページのデータが書き込まれる。
【０１２２】
第５番目の書き込みにおいて、メモリセルＭＣ０のロウ方向に隣接するメモリセルＭＣ１に対して第２ページのデータが書き込まれる。
【０１２３】
第６番目の書き込みにおいて、メモリセルＭＣ２のカラム方向に隣接するメモリセルＭＣ４に対して第１ページのデータが書き込まれる。
【０１２４】
第７番目の書き込みにおいて、メモリセルＭＣ３のカラム方向に隣接するメモリセルＭＣ５に対して第１ページのデータが書き込まれる。
【０１２５】
第８番目の書き込みにおいて、メモリセルＭＣ０のカラム方向に隣接するメモリセルＭＣ２に対して第２ページのデータが書き込まれる。
【０１２６】
第８ａ番目の書き込みにおいて、メモリセルＭＣ０のデータが“０”であり、ベリファイ電圧“ｚ”より低い場合、メモリセルＭＣ０の閾値電圧がベリファイ電圧“ｚ”を超えるまで、ソフトプログラムが実行される。
【０１２７】
第９番目の書き込みにおいて、メモリセルＭＣ１のカラム方向に隣接するメモリセルＭＣ３に対して第２ページのデータが書き込まれる。
【０１２８】
第９ａ番目の書き込みにおいて、メモリセルＭＣ１のデータが“０”であり、ベリファイ電圧“ｚ”より低い場合、メモリセルＭＣ１の閾値電圧がベリファイ電圧“ｚ”を超えるまで、ソフトプログラムが実行される。
【０１２９】
以下同様にして順次データが書き込まれる。
【０１３０】
図１５は、ワード線に接続された全メモリセルに一括してデータを書き込む場合の順序を示している。この場合の回路構成は、図１０に示すように、各ビット線にデータ記憶回路１０が接続され、図１２に示すフラグセルに接続された４本のビット線は図示せぬ２つのフラグ用データ記憶回路に接続される。図１５に示すように、例えばメモリセルＭＣ０と、このメモリセルＭＣ０のビット線方向に隣接されたメモリセルＭＣ１に第２ページのデータが書き込まれる。この後、メモリセルＭＣ０のデータが“０”である場合、閾値電圧がベリファイ電圧“ｚ”を超えるまでソフトプログラムが実行される。次いで、メモリセルＭＣ０に第３ページのデータが書き込まれる。
【０１３１】
上記第３の実施形態によれば、８値のデータを記憶する場合であって、ワード線に接続されるメモリセルの半数ずつにデータを順次書き込む場合において、ビット線方向に隣接するセルに第２ページのデータを書き込んだ後、先に書き込んだメモリセルのデータが“０”である場合、そのメモリセルに対してｉビット（ｉ＜ｋ：２ｋ＝ｎ）以下のデータを書き込むソフトプログラムを行っている。このため、隣接セルの書き込みにより、消去セルの閾値電圧が広がった場合においても、ソフトプログラムにより、閾値電圧が高くなるように書き込みを行い、閾値電圧の分布を狭めている。したがって、第３ページのデータの書き込みおいて、メモリセルのデータ“０”からデータ“１”への移動量を少なくすることができる。このため、各データの閾値電圧の変動をほぼ理想の８値の１／７に設定することができる。
【０１３２】
（第４の実施形態）
次に、第４の実施形態について説明する。８値のデータを記憶する半導体記憶装置において、第３ページの書き込みを失敗した場合、第２ページ及び第１ページのデータも破壊してしまう。このため、ユーザは、第３ページの書き込みが終了するまで、第２、第１ページのデータを外部の記憶部に記憶させることが多い。しかし、図１４に示す第３の実施形態において、例えばメモリセルＭＣ６は、第１０番目の書き込みにおいて、第１ページのデータが書き込まれた後、第３２番目の書き込みにおいて、第３ページのデータの書き込みが終了しないと全ての書き込みが終了しない。このため、この間のデータを記憶するために、２３ページ分の記憶容量を有するランダムアクセスメモリ（ＲＡＭ）が必要である。
【０１３３】
図１６は、第４の実施形態における８値のデータのプログラム動作を示している。図１３に示す第３の実施形態の場合、第２ページのプログラム後、隣接セルをプログラムし、この後、ソフトプログラムを行っていた。これに対して、第４の実施形態におけるプログラム動作は、図１６（ｃ）に示す第２ページのプログラムの後、図１６（ｄ）に示すように、ソフトプログラムを行う。次いで、図１６（ｅ）に示すように、隣接セルをプログラムし、さらに、図１６（ｆ）に示すように、第３ページのプログラムを行う。
【０１３４】
図１７は、第４の実施形態におけるワード線に接続されたメモリセルの半数ずつに一括してデータを書き込む場合の順序を示している。図１７に示す第４の実施形態の場合、メモリセルＭＣは、第１２番目の書き込みにおいて、第１ページのデータを書き込み、第２８番目の書き込みにおいて、第３ページのデータを書き込んでいる。このため、外部において、データを保持するＲＡＭは、１７ページ分の記憶容量を有していれば十分である。
【０１３５】
図１８は、ワード線に接続された全メモリセルに対して一括してデータを書き込む場合を示している。この場合、例えばメモリセルＭＣ１に注目すると、第１番目の書き込みにおいて、第１ページのデータを書き込み、第８番目の書き込みにおいて、第３ページの書き込みが終了する。このため、外部において、データを保持するＲＡＭは、８ページ分の記憶容量を有していれば十分であり、一層ＲＡＭの記憶容量を削減することが可能である。
【０１３６】
このように、第４の実施形態によれば、第２ページのプログラムの後、ソフトプログラムを行い、この後、隣接セルのプログラム、第３ページのプログラムを行っている。このため、第１ページのプログラムから第３ページのプログラムまでのステップを第３の実施形態に比べて削減できる。したがって、第４の実施形態によれば、第３の実施形態に比べて外部においてデータを保持するＲＡＭの記憶容量を大幅に削減することが可能である。
【０１３７】
（第５の実施形態）
上記第１乃至第４の実施形態は、隣接セルのプログラムによる閾値電圧の分布の変化を理想値まで抑える例であった。消去領域のセルの閾値電圧を自己で昇圧する（Erased Area Self Boost：消去領域自己昇圧）書き込み方法の場合、消去セルの閾値電圧を浅くする必要がある。
【０１３８】
先ず、消去領域自己昇圧の書き込み方法について説明する。この書き込み方法は、必ずソース側のセルから書き込みを行う。
【０１３９】
図１９において、書き込みの場合、ビット線ＢＬに電位Ｖｓｓを供給し、非書き込みの場合、電位Ｖｄｄを供給する。次に、例えばワード線ＷＬ７に接続されたセルにデータを書き込む場合、ワード線ＷＬ０〜ＷＬ４に電位Ｖｐａｓｓを供給し、ワード線ＷＬ５に電位Ｖｓｓ、ＷＬ６に電位Ｖｄｄ、ＷＬ７に電位Ｖｐｇｍ、ＷＬ８〜ＷＬ３１に電位Ｖｐａｓｓをそれぞれ供給する。ここで、書き込みの場合、ワード線ＷＬ７の電位がＶｐｇｍ、チャネルが電位Ｖｓｓとなり、このワード線に接続されたセルにデータが書き込まれる。一方、非書き込みの場合、チャネル電位がブーストされ、例えばＶｐａｓｓ／２となる。しかし、ＮＡＮＤセルのうち、書き込まれたセルの数が多いと、チャネルはブーストされにくくなる。ところが、消去領域自己昇圧書き込み方法は、必ずソース側から書き込まれている。したがって、ワード線ＷＬ５の電位をＶｓｓとしてブーストすると、ワード線ＷＬ４〜ＷＬ３１のセルは消去されているためチャネルはブーストされ書き込まれなくなる。このように、既に書き込まれたセルにブーストした電荷が移動しないようにしなくてはならず、ワード線ＷＬ５のセルが消去状態の場合で、閾値電圧が深い（Ｖｔｈ＜＜０Ｖ）とオフしなくなってしまう。したがって、消去セルの閾値電圧を浅く（Ｖｔｈ＜０Ｖ）する必要がある。
【０１４０】
図２０、図２１は、第５の実施形態に係る書き込み順序を示している。この書き込み順序に従って書き込みを行うことにより、消去セルの閾値電圧を浅くすることができる。
【０１４１】
図２０（ａ）、図２１に示すように、第１ページのプログラムにおいて、書き込みの場合、メモリセルのデータ“０”からメモリセルのデータ“２”へ書き込みを行い、非書き込みの場合、メモリセルのデータは“０”のままに保持される。
【０１４２】
この後、図２０（ｂ）、図２１に示すように、メモリセル１に対してビット線方向に隣接するメモリセル２の書き込みが行われる。
【０１４３】
この後、図２０（ｃ）、図２１に示すように、メモリセル１に対する第２ページの書き込みにおいて、メモリセル１のデータが“０”の場合で、書き込みの場合、メモリセル１はデータ“０”からデータ“１”へプログラムされる。また、非書き込みの場合、メモリセル１は、データ“０”からデータ“０’”へプログラムされる。メモリセル１のデータが“１”の場合で、書き込みの場合、メモリセル１のデータ“２”からデータ“３”へプログラムされ、非書き込みの場合、メモリセル１のデータ“２”からメモリセルのデータ“２’”へプログラムされる。
【０１４４】
上記第５の実施形態によれば、消去セルの閾値電圧を浅く設定することができるため、ブロック内のセルを一括消去した後、ソース線側のセルから確実にプログラムすることが可能である。
【０１４５】
尚、図２１は、１つのＮＡＮＤセル内のメモリセルに対する書き込み順序を示している。しかし、図２１に限らず、図２２に示すように、隣接する２つのＮＡＮＤセルを構成するメモリセルに対して書き込み順序を設定することも可能である。このような順序によっても第５の実施形態と同様の効果を得ることが可能である。
【０１４６】
さらに、図２０は、４値の例であるが、図２３に示すように、８値のデータを記憶する場合にも適用することが可能である。図２３（ａ）乃至図２３（ｃ）の動作は４値の場合と同様である。図２３（ｄ）において、隣接セルをプログラムした後、図２３（ｅ）に示すように、第３ページのデータが書き込まれる。この場合、図２１に示すように、メモリセル１のデータが“０”の場合で、非書き込みの場合、メモリセル１はデータ“０”からデータ“０’”にプログラムされる。
【０１４７】
４値の場合、消去セルを書き込むことにより、“０’”“１”“２”“３”の４つ閾値電圧を書き込む必要があり、従来のように、“１”“２”“３”の３つ閾値電圧を書き込む場合に比べて書き込み速度が低下する。すなわち、従来に比べて書き込み時間は４／３倍増加する。しかし、８値の場合、従来７つの閾値電圧を書き込んでいたのに対して、８つの閾値電圧への書き込みとなり、書き込み時間は８／７倍の増加で済む。さらに、１６値の場合、従来１５個の閾値電圧を書き込んでいたのに対して、１６個の閾値電圧への書き込みとなり、書き込み時間の増加は１６／１５倍で済む。このように、書き込む閾値電圧の数が増加するに従って、消去セルへの書き込みによる全体的な書き込み速度に対する影響が少なくなる。
【０１４８】
また、第１乃至第５の実施形態は、１つのセルに４値又は８値のデータを記憶する場合について説明した。しかし、これに限らず、１つのセルに１６値あるいはｎ値（ｎは自然数）のデータを記憶する場合も第１乃至第５の実施形態と同様の動作を行うことにより、第１乃至第５の実施形態と同様の効果を得ることができる。
【０１４９】
さらに、上記フラグセルの数は、各実施形態において説明した数に限定されるものではない。すなわち、フラグセルの数は、少なくとも１つ必要であるが、これ以上の数としてもよい。
【０１５０】
その他、本発明の要旨を変えない範囲において、種々変形実施可能なことは勿論である。
【図面の簡単な説明】
【０１５１】
【図１】第１の実施形態のプログラム動作を示す図。
【図２】不揮発性半導体記憶装置の概略構成を示す図。
【図３】第１の実施形態に係り、図２に示すメモリセルアレイ及びビット線制御回路の構成を示す回路図。
【図４】図４（ａ）（ｂ）はメモリセル及び選択トランジスタを示す断面図。
【図５】メモリセルアレイの１つのＮＡＮＤセルを示す断面図。
【図６】図３に示すデータ記憶回路の一例を示す回路図。
【図７】第１の実施形態に係るメモリセルの書き込み順序を示す図。
【図８】第１の実施形態に係る第１ページのプログラムを示すフローチャート。
【図９】第１の実施形態に係る第２ページのプログラムを示すフローチャート。
【図１０】第２の実施形態に適用されるメモリセルアレイとデータ記憶回路の一例を示す回路図。
【図１１】第２の実施形態に係る書き込み順序を示す図。
【図１２】第３の実施形態に適用されるメモリセルアレイとデータ記憶回路の一例を示す回路図。
【図１３】８値のデータを書き込む場合の動作を示す図。
【図１４】第３の実施形態におけるメモリセルの書き込み順序を示す図。
【図１５】ワード線に接続された全メモリセルに一括してデータを書き込む場合の順序を示す図。
【図１６】第４の実施形態における８値のデータのプログラム動作を示す図。
【図１７】第４の実施形態におけるワード線に接続されたメモリセルの半数ずつ一括してデータを書き込む場合の順序を示す図。
【図１８】ワード線に接続された全メモリセルに対して一括してデータを書き込む場合を示す図。
【図１９】消去領域自己昇圧の書き込み方法を説明するために示す図。
【図２０】第５の実施形態に係るプログラム動作を示す図。
【図２１】第５の実施形態に係る書き込み順序を示す図。
【図２２】第５の実施形態の変形例を示すものであり、書き込み順序を示す図。
【図２３】第５の実施形態の変形例に係るプログラム動作を示す図。
【符号の説明】
【０１５２】
１…メモリセルアレイ、２…ビット線制御回路、７…制御信号及び制御電圧発生回路、１０…データ記憶回路、ＭＣ、ＭＣ０〜ＭＣ３１…メモリセル、ＢＬ０〜ＢＬｎ、ＢＬｆ１〜ＢＬｆ４…ビット線、ＷＬ０〜ＷＬ３１…ワード線。
【図１】
2006139864.tif 000003
【図２】
2006139864.tif 000004
【図３】
2006139864.tif 000005
【図４】
2006139864.tif 000006
【図５】
2006139864.tif 000007
【図６】
2006139864.tif 000008
【図７】
2006139864.tif 000009
【図８】
2006139864.tif 000010
【図９】
2006139864.tif 000011
【図１０】
2006139864.tif 000012
【図１１】
2006139864.tif 000013
【図１２】
2006139864.tif 000014
【図１３】
2006139864.tif 000015
【図１４】
2006139864.tif 000016
【図１５】
2006139864.tif 000017
【図１６】
2006139864.tif 000018
【図１７】
2006139864.tif 000019
【図１８】
2006139864.tif 000020
【図１９】
2006139864.tif 000021
【図２０】
2006139864.tif 000022
【図２１】
2006139864.tif 000023
【図２２】
2006139864.tif 000024
【図２３】
2006139864.tif 000025