(57)【特許請求の範囲】
【請求項１】
電気的に書き換えが可能なメモリセルと、
前記メモリセル毎に、書き込み電圧を用いて書き込みを行う書き込み回数を記憶する第１，第２のラッチ回路と、
前記書き込み回数分、前記書き込み電圧による書き込みを行った後、前記書き込み電圧より低い中間電圧を用いて書き込みを行うか否かを記憶する第３のラッチ回路と、
前記第１のラッチ回路、前記第２のラッチ回路、及び前記第３のラッチ回路に記憶されたデータを用いて演算を行い、前記第１のラッチ回路、前記第２のラッチ回路、及び前記第３のラッチ回路に記憶されたデータを更新するデータを求める演算回路と、
前記メモリセル毎に、前記第１のラッチ回路、前記第２のラッチ回路、及び前記第３のラッチ回路に記憶されたデータに従って、前記書き込み電圧による書き込み、前記中間電圧による書き込みのいずれかを行うセンスアンプと、
前記第１、第２、第３のラッチ回路、前記演算回路、及び前記センスアンプの動作を制御する書き込み制御回路とを具備し、
前記書き込み制御回路は、前記メモリセル毎に、所定のベリファイレベルにあるかどうかを調べるベリファイを行い、前記所定のベリファイレベルよりも大きい電圧レベルに書き込むメモリセルに対しては、前記ベリファイ後に行う前記書き込み回数を前記第１のラッチ回路及び第２のラッチ回路に記憶し、
前記書き込み電圧による書き込みを行う毎に、前記第１のラッチ回路及び前記第２のラッチ回路に記憶された前記書き込み回数を更新し、
前記書き込み回数分、前記書き込み電圧による書き込みを行った後、前記書き込み電圧より低い前記中間電圧による書き込みを行うことを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記中間電圧による書き込みの書き込み回数が２回以上であることを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記中間電圧による書き込みに用いられる電圧が２種類以上であることを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項４】
１つのメモリセルに対してＮ（Ｎ＝２ｎ、ｎは２以上の自然数）値の多値データを記憶する不揮発性半導体記憶装置において、
電気的に書き換えが可能な複数のメモリセルと、
前記メモリセル毎に、書き込み電圧を用いて書き込みを行う書き込み回数を記憶する複数のラッチ回路と、
前記メモリセル毎に、所定のベリファイレベルにあるかどうかを調べるベリファイをＮ−２回以下行い、
前記ベリファイを行わず、前記ベリファイレベルよりも大きい電圧レベルに書き込むメモリセルについては、前記ベリファイ通過後に行う前記書き込み電圧による書き込みの前記書き込み回数をメモリセル毎に前記第１、第２のラッチ回路に記憶させ、
前記書き込み電圧による書き込みを行う毎に前記書き込み回数を減算し、最後の書き込みで前記書き込み電圧より低い中間電圧を用いて前記メモリセルの閾値変化を小さくする書き込み制御回路と、
を具備することを特徴とする不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、不揮発性半導体記憶装置に関するものであり、例えば制御ゲートと浮遊ゲートを有し、２値以上の多値を記憶するメモリセルを備えた電気的に書き換え可能なＮＡＮＤ型ＥＥＰＲＯＭ（electrically erasable and programmable ROM）に関するものである。
【背景技術】
【０００２】
ＮＡＮＤ型ＥＥＰＲＯＭの書き込み動作では、プログラム動作の後にメモリセルに書けたかどうか検証するためのベリファイ動作（リード動作）を行っている。メモリセルに２値しかデータを持たせない場合は、１回のプログラム動作に対して１回のリード動作しか必要としなかった。しかし、メモリセルに４値のデータを持たせた場合は３回、８値のデータを持たせた場合は７回と各々のレベルでのリード動作が必要になり、書き込み時間が長くなってしまう。
【０００３】
なお、本発明に関する従来技術として、メモリセルに書き込み電圧Ｖpgmと書き込み制御電圧ＶBLとを供給してメモリセルに書き込みを行い、メモリセルが第１の書き込み状態に達したら書き込み制御電圧ＶBLの値を変えてメモリセルに書き込みを行い、メモリセルが第２の書き込み状態に達したら書き込み制御電圧ＶBLの値をＶddに変えてメモリセルの書き込みを禁止する書き込み回路を備えた不揮発性半導体記憶装置が提案されている（特許文献１参照）。
【特許文献１】特開２００３−１９６９８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は、メモリセルへ多値を書き込む場合においてベリファイ動作を低減でき、書き込み時間を短縮することができる不揮発性半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明の一実施態様の不揮発性半導体記憶装置は、電気的に書き換えが可能なメモリセルと、前記メモリセル毎に、書き込み電圧を用いて書き込みを行う書き込み回数を記憶する第１，第２のラッチ回路と、前記書き込み回数分、前記書き込み電圧による書き込みを行った後、前記書き込み電圧より低い中間電圧を用いて書き込みを行うか否かを記憶する第３のラッチ回路と、前記第１のラッチ回路、前記第２のラッチ回路、及び前記第３のラッチ回路に記憶されたデータを用いて演算を行い、前記第１のラッチ回路、前記第２のラッチ回路、及び前記第３のラッチ回路に記憶されたデータを更新するデータを求める演算回路と、前記メモリセル毎に、前記第１のラッチ回路、前記第２のラッチ回路、及び前記第３のラッチ回路に記憶されたデータに従って、前記書き込み電圧による書き込み、前記中間電圧による書き込みのいずれかを行うセンスアンプと、前記第１、第２、第３のラッチ回路、前記演算回路、及び前記センスアンプの動作を制御する書き込み制御回路とを具備し、前記書き込み制御回路は、前記メモリセル毎に、所定のベリファイレベルにあるかどうかを調べるベリファイを行い、前記所定のベリファイレベルよりも大きい電圧レベルに書き込むメモリセルに対しては、前記ベリファイ後に行う前記書き込み回数を前記第１のラッチ回路及び第２のラッチ回路に記憶し、前記書き込み電圧による書き込みを行う毎に、前記第１のラッチ回路及び前記第２のラッチ回路に記憶された前記書き込み回数を更新し、前記書き込み回数分、前記書き込み電圧による書き込みを行った後、前記書き込み電圧より低い前記中間電圧による書き込みを行うことを特徴とする。
【０００６】
この発明の他の実施態様の不揮発性半導体記憶装置は、１つのメモリセルに対してＮ（Ｎ＝２ｎ、ｎは２以上の自然数）値の多値データを記憶する不揮発性半導体記憶装置において、電気的に書き換えが可能な複数のメモリセルと、前記メモリセル毎に、書き込み電圧を用いて書き込みを行う書き込み回数を記憶する複数のラッチ回路と、前記メモリセル毎に、所定のベリファイレベルにあるかどうかを調べるベリファイをＮ−２回以下行い、前記ベリファイを行わず、前記ベリファイレベルよりも大きい電圧レベルに書き込むメモリセルについては、前記ベリファイ通過後に行う前記書き込み電圧による書き込みの前記書き込み回数をメモリセル毎に前記第１、第２のラッチ回路に記憶させ、前記書き込み電圧による書き込みを行う毎に前記書き込み回数を減算し、最後の書き込みで前記書き込み電圧より低い中間電圧を用いて前記メモリセルの閾値変化を小さくする書き込み制御回路とを具備することを特徴とする。
【発明の効果】
【０００７】
この発明によれば、メモリセルへ多値を書き込む場合においてベリファイ動作を低減でき、書き込み時間を短縮することができる不揮発性半導体記憶装置を提供することが可能である。
【発明を実施するための最良の形態】
【０００８】
この発明の実施形態を説明する前に、本発明の関連技術について説明する。
【０００９】
ＮＡＮＤ型ＥＥＰＲＯＭの書き込みでは、消去状態にあるメモリセルに対し選択ワード線に書き込み電圧を与えることで浮遊ゲートに電子を注入し、メモリセルの閾値を高くする。メモリセルが２値のデータを取りうる場合は、図１に示すように、メモリセルの閾値分布は消去状態と書き込み状態の２つのみである。
【００１０】
まず、メモリセルに２値のデータを持たせる場合の書き込み動作を説明する。図２は、２値のデータを持たせる場合に使用される、ＮＡＮＤセルを含むセンスアンプＳＮＡの回路図である。図３（ａ）、図３（ｂ）はセンスアンプへ書き込みデータを転送するときのタイミングチャートであり、図３（ａ）は非書き込み時のタイミングチャートを示し、図３（ｂ）は書き込み時のタイミングチャートを示す。図４は、２値のデータを書き込む場合のタイミングチャートである。
【００１１】
まず、図２に示すセンスアンプＳＮＡの回路構成について述べる。ＮＡＮＤセルは、複数のメモリセルＭＣと、選択ゲートＳＧＤ，ＳＧＳとを有する。複数のメモリセルＭＣは、その電流通路にて直列に接続されている。直列に接続されたメモリセルの一端には選択ゲートＳＧＤが接続され、その直列に接続されたメモリセルの他端には選択ゲートＳＧＳが接続されている。メモリセルＭＣの各々は、浮遊ゲートと制御ゲートを有しており、制御ゲートにはワード線ＷＬがそれぞれ接続されている。
【００１２】
選択ゲートＳＧＳには共通ソース線ＣＥＬＳＲＣが接続され、選択ゲートＳＧＤにはビット線ＢＬが接続されている。ビット線ＢＬは、ｎチャネルＭＯＳトランジスタ（以下、ｎＭＯＳトランジスタ）Ｎ１、Ｎ２、Ｎ３を介して接地電位ＶSS端に接続されている。ｎＭＯＳトランジスタＮ１とｎＭＯＳトランジスタＮ２との間のノードは、ｎＭＯＳトランジスタＮ４、Ｎ５と、ｐチャネルＭＯＳトランジスタ（以下、ｐＭＯＳトランジスタ）Ｐ１、Ｐ２を介して電源電圧ＶDD端に接続されている。
【００１３】
ｎＭＯＳトランジスタＮ５のドレインは、ｎＭＯＳトランジスタＮ６、Ｎ７、Ｎ８を介してバスＢＵＳに接続されている。ｎＭＯＳトランジスタＮ４とｎＭＯＳトランジスタＮ５との間のノードは、ｎＭＯＳトランジスタＮ７とｎＭＯＳトランジスタＮ８との間のノードに接続されている。
【００１４】
さらに、ｎＭＯＳトランジスタＮ６とｎＭＯＳトランジスタＮ７との間のノードは、ｐＭＯＳトランジスタＰ３のゲートに接続されている。さらに、ｐＭＯＳトランジスタＰ３のゲートは、コンデンサＣを介して接地電位ＶSS端に接続されている。ｐＭＯＳトランジスタＰ３のソースは、ｐＭＯＳトランジスタＰ４を介して電源電圧ＶDD端に接続されている。さらに、ｐＭＯＳトランジスタＰ３のドレインには、ラッチ回路ＳＡが接続されている。
【００１５】
ｎＭＯＳトランジスタＮ１のゲートには信号ＢＬＳが入力され、ｎＭＯＳトランジスタＮ２のゲートには信号ＩＮＶ、ｎＭＯＳトランジスタＮ３のゲートには信号ＧＲＳ、ｎＭＯＳトランジスタＮ４のゲートには信号ＢＬＣ、ｎＭＯＳトランジスタＮ５のゲートには信号ＢＬＸ、ｎＭＯＳトランジスタＮ６のゲートには信号Ｈ００、ｎＭＯＳトランジスタＮ７のゲートには信号ＸＸ０、ｎＭＯＳトランジスタＮ８のゲートには信号ＮＣＯがそれぞれ入力されている。さらに、ｐＭＯＳトランジスタＰ１のゲートには信号ＩＮＶが入力され、ｐＭＯＳトランジスタＰ２のゲートには信号ＦＬＴ、ｐＭＯＳトランジスタＰ３のゲートには信号ＳＥＮ、ｐＭＯＳトランジスタＰ４のゲートには信号ＳＴＢがそれぞれ入力されている。
【００１６】
このような回路において、まず、信号ＮＣＯを電源電圧ＶDDにし、書き込みの時はバスＢＵＳから“Ｈ”が入力され、非書き込みのときは“Ｌ”が入力される。また、信号ＳＴＢがＨ→Ｌ→Ｈになり、ラッチ回路ＳＡに書き込みデータが入力される（図３（ａ）、図３（ｂ）参照）。
【００１７】
プログラム動作時には、まず、選択ゲートＳＧＤを“ＶDD＋Ｖth”の電圧にする。続いて、信号ＢＬＳが入力されるｎＭＯＳトランジスタＮ１をオンして書き込みビット線に０Ｖを供給し、非書き込みビット線には電源電圧ＶDDを供給する。その後、選択ゲートＳＧＤを“ＶDD＋Ｖth”より低く“Ｖth＋α”より高い電圧ＶSGDに設定する。さらに、選択ワード線（ＣＧ）を書き込み電圧ＶPGMにし、非選択ワード線（ＣＧ）を電圧ＶPASSにする。
【００１８】
このとき、書き込みの場合は、選択ゲートＳＧＤのトランジスタが０Ｖ（ビット線電圧）を転送するので、書き込みセルにおけるチャネルと浮遊ゲートの電圧差が電圧ＶPGMになり、書き込みセルの浮遊ゲートには電子が注入される。非書き込みの場合は、選択ゲートＳＧＤのトランジスタがカットオフして、メモリセルのトランジスタのチャネルは“ＶDD＋ＶPGM×定数（＜１）”までカップリングで上がり、チャネルと浮遊ゲートの電圧差がそれほどつかず、浮遊ゲートに電子は注入されない。その後、選択ワード線と非選択ワード線を０Ｖにし、選択ゲートＳＧＤを０Ｖ、ビット線を０Ｖに放電してプログラム動作を終了する。
【００１９】
次に、メモリセルに４値のデータを持たせる場合の書き込み動作を説明する。図５は、４値のデータを持たせる場合に使用されるセンスアンプを含む記憶装置のブロック図である。この記憶装置は、図２に示した２値の場合と同様なＮＡＮＤセルを含むセンスアンプＳＮＡと、メモリセルをどの電圧レベルに書き込むかを設定するデータを格納するラッチ回路ＬＡＴＡ，ＬＡＴＢと、ビット線に所定の中間電圧を供給してメモリセルに書き込みを行う（例えば、クイックパスライト）か否かを設定するデータを格納するラッチ回路ＬＡＴＱと、これらラッチ回路に格納されたデータから、メモリセルが所定の電圧レベルに書き込まれたかどうか演算する演算回路ＣＡＬとから構成されている。
【００２０】
図６を参照して４値の書き込み動作を説明する。図６は、４値のデータを書き込む場合のタイミングチャートである。選択ゲートＳＧＤを電圧ＶSGDに設定するところまでは、２値の場合の動作と同じである。その後、信号ＢＬＣが“ＶDD＋Ｖth”から０Ｖになり、ラッチ回路ＬＡＴＱから演算回路ＣＡＬを通してバスＢＵＳに、ラッチ回路ＬＡＴＱの情報が出力される。信号ＮＣＯが電源電圧ＶDDになり、書き込み電圧を抑えたいビットと非書き込みのビットは信号ＩＮＶが“Ｌ”になる。
【００２１】
その後、信号ＢＬＣが“Ｖα＋Ｖth”になり、ビット線ＢＬを介してメモリセルのチャネルに電圧Ｖαが転送される。選択ワード線を電圧ＶPGM、非選択ワード線を電圧ＶPASSにする。書き込みセルにおけるチャネルと浮遊ゲートの間の電圧差は電圧ＶPGMになり、浮遊ゲートに電子が注入される。非書き込みのセルにおけるチャネルと浮遊ゲートの間の電圧差は“ＶDD＋ＶPGM×定数（＜１）−ＶPGM”になり、それほど電圧差がつかず浮遊ゲートには電子が注入されない。
【００２２】
クイックパスライトを行う場合は、ビット線ＢＬには電圧Ｖαが充電されており、選択ゲートＳＧＤはＶαの電圧をメモリセルのチャネルに転送する。クイックパスライトが実行されるメモリセルのチャネルは電圧Ｖαになり、チャネルと浮遊ゲートの電圧差は“ＶPGM−Ｖα”になるため、書き込みセルより電圧差が小さい分、浮遊ゲートに注入される電子は少なくなる。これにより、クイックパスライトを行ったメモリセルの閾値は、書き込みセルの閾値より小さくなる。
【００２３】
４値の場合は、図７に示すように、消去状態の他に３つの状態があり、最終的に３つのセルの閾値に書き込まなければならない。図８を参照して４値の場合の上位ビットの書き込みシーケンスを説明する。図８は、メモリセルに４値のデータを持たせる場合の書き込みシーケンスを示す。
【００２４】
上位ビットに書き込みを行う場合、まず、下位ビットの書き込みか否かを判定する。下位ビットの書き込みであるとき、図示しないステップに進む。一方、下位ビットの書き込みでないときは、ステップＳ２に進む（ステップＳ１）。ステップＳ２では、下位ビットの読み出しを行い、その反転データをラッチ回路ＬＡＴＢに入力する。書き込みデータは、ラッチ回路ＬＡＴＡに格納されている。ラッチ回路ＬＡＴＡ，ＬＡＴＢに格納されたデータより“ＬＡＴＡ and ＬＡＴＢ”を求め、その反転データを演算回路ＣＡＬにて演算し、その演算結果を、プログラム前のセンスアンプＳＡＮのラッチ回路ＳＡに、信号ＮＣＯをゲート入力とするトランジスタを通して入力する（ステップＳ３）。
【００２５】
次に、図６に示したプログラムを行い（ステップＳ４）、その後、Ａレベルのベリファイ（ステップＳ５）、Ｂレベルのベリファイ（ステップＳ６）、さらにＣレベルのベリファイ（ステップＳ７）をそれぞれ行う。そして、書き込まれたビットに対応するラッチ回路ＬＡＴＡ，ＬＡＴＢのデータを“１”にする。
【００２６】
続いて、全てのビットに対応するラッチ回路ＬＡＴＡ，ＬＡＴＢが“１”であるかどうかを検知する（ステップＳ８）。ここで、全てのビットに対応するラッチ回路ＬＡＴＡ，ＬＡＴＢが“１”であるとき、書き込みが終了したとみなし、書き込み動作を終了する。一方、全てのビットに対応するラッチ回路ＬＡＴＡ，ＬＡＴＢが“１”でないときは、書き込みが終了していないとみなし、ステップＳ３に戻り、再度、プログラムを行う。
【００２７】
このように、４値の書き込み動作には、一回のプログラムに対しベリファイ動作が必ず３回必要であり、このため書き込み時間が２値の場合に比べてかなり長くなってしまう。
【００２８】
以下、前述の問題を解決した本発明の実施形態について説明する。説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００２９】
［第１実施形態］
まず、この発明の第１実施形態の不揮発性半導体記憶装置について説明する。
【００３０】
図９は、第１実施形態における不揮発性半導体記憶装置の構成を示すブロック図である。この記憶装置は、図２に示した２値の場合と同様なＮＡＮＤセルを含むセンスアンプＳＮＡと、メモリセルをどの電圧レベルに書き込むかを設定するデータを格納するラッチ回路ＬＡＴＡ，ＬＡＴＢと、ビット線に所定の中間電圧を供給してメモリセルに書き込みを行う（例えば、クイックパスライト）か否かを設定するデータを格納するラッチ回路ＬＡＴＱと、これらラッチ回路に格納されたデータから、メモリセルが所定の電圧レベルに書き込まれたかどうか演算する演算回路ＣＡＬと、センスアンプＳＮＡ、これらラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱ、及び演算回路ＣＡＬを制御して書き込み動作を制御する書き込み制御回路ＷＲＣとから構成されている。言い換えると、メモリセル毎に、書き込み電圧を用いて書き込みを行う書き込み回数を記憶するラッチ回路ＬＡＴＡ，ＬＡＴＢと、書き込み回数分書き込みを行った後、書き込み電圧より低い中間電圧を用いて中間電圧書き込みを行うか否かを記憶するラッチ回路ＬＡＴＱと、ラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱに記憶されたデータを用いて演算を行い、メモリセル毎に、ラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱに記憶されたデータを更新するデータを求める演算回路ＣＡＬと、
前記メモリセル毎に、ラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱに記憶されたデータに従って、前記書き込みあるいは前記中間電圧書き込みのいずれかを行うセンスアンプＳＮＡと、ラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱ、演算回路ＣＡＬ、及びセンスアンプＳＮＡの動作を制御する書き込み制御回路ＷＲＣとから構成されている。
【００３１】
ＮＡＮＤセルにおいて、図１０に示すように、書き込み電圧ΔＶPGMに対する閾値上昇（ΔＶth／ΔＶPGM）はどのセルにおいても殆ど変わらない。すなわち、メモリセルにΔＶPGMで書き込みを行ったとき、メモリセルにおける閾値の上昇はどのような閾値を持つメモリセルにおいても殆ど同じである。このため、図１１に示すような４値において、メモリセルの閾値をＢレベルに書き込むためのプログラム回数は、Ａレベルのベリファイを通過した後、（Ｖ（Ｂレベル）−Ｖ（Ａレベル））／（ΔＶPGM×α）になる。仮に、ΔＶPGMを１．０Ｖとし、図１１に示すように、Ａレベルを１．０Ｖ、Ｂレベルを２．５Ｖ、Ｃレベルを３．０Ｖ、α＝１とした時、Ｂレベルに書き込むためのプログラム回数は、Ａレベルのベリファイを通過した後、（２．５−１．０）／１．０＝１．５回となる。また、Ｃレベルに書き込むためのプログラム回数は（３．０−１．０）／１．０＝２回となる。ここで、Ｂレベルに書き込むためのプログラム回数は１．５回と中途半端な数字になってしまい、ΔＶPGMが０．５ＶでないとＢレベルに書き込むことはできない。
【００３２】
そこで、Ｂレベルへの書き込みでは、書き込み電圧により１回の書き込みを行った後、最後の０．５回に相当する書き込みを行うとき、書き込み電圧より低く接地電位より高い中間電圧をビット線に供給することにより、書き込み速度を遅くする。
【００３３】
図１２は、第１実施形態における書き込みシーケンスを示すフローチャートである。この書き込みシーケンスは、書き込み制御回路ＷＲＣにより制御される。
【００３４】
上位ビットに書き込みを行う場合、まず、下位ビットの書き込みか否かを判定する。下位ビットの書き込みであるとき、図示しないステップに進む。一方、下位ビットの書き込みでないときは、ステップＳ１２に進む（ステップＳ１１）。ステップＳ１２では、下位ビットの読み出しを行う。ロックアウトでは、書き込みデータを作る。例えば、下位ビットが“０”で書き込みデータが“１”の場合、Ａレベルの書き込みとなる。それぞれの書き込みレベルに対し、プログラム回数を、図１３に示すようにラッチ回路ＬＡＴＡ，ＬＡＴＢにセットする。ビット線に中間電圧を供給するべきビットに対応するラッチ回路ＬＡＴＱのみに、“１”を入れる（ステップＳ１３）。
【００３５】
このように、ラッチ回路ＬＡＴＡ，ＬＡＴＢ、ＬＡＴＱにデータを入れた後、プログラムを行う（ステップＳ１４）。続いて、Ａレベルのベリファイを行う。ベリファイをパスしたものはセンスアンプＳＮＡのラッチ回路ＳＡに“１”が入っている（ステップＳ１５）。
【００３６】
次に、図１４に示すようなアルゴリズムで、ラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱとッチ回路ＳＡとで論理を取ることにより、ラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱのデータをインクリメントする。なお、ｂは反転データであることを示す。そして、プログラムの回数が０になったところで、ラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱのデータを、非書き込みを示す“１”にする（ステップＳ１６）。
【００３７】
続いて、全てのビットに対応するラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱが“１”であるかどうかを検知する。ここで、全てのビットに対応するラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱが“１”であるとき、書き込みが終了したとみなし、書き込み動作を終了する。一方、全てのビットに対応するラッチ回路ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱが“１”でないときは、書き込みが終了していないとみなし、ステップＳ１３に戻り、再度、プログラムを行う（ステップＳ１７）。
【００３８】
このようにして、第１実施形態では書き込み動作におけるベリファイ動作を１回にすることができる。これにより、第１実施形態の４値のデータを持つ不揮発性半導体記憶装置においては、ベリファイ動作を３回から１回に減少させることができ、書き込み動作に要する時間を短縮することができる。
【００３９】
さらに、ビット線に書き込み電圧より低い中間電圧を供給して書き込みを行うか否かをラッチ回路ＬＡＴＡＱに記憶させることにより、メモリセルへの書き込みを書き込み電圧より細かく制御することができる。
【００４０】
なおここでは、４値の場合を例に説明したが、その他の多値、例えば８値、１６値、…、２ｎ（ｎは３以上の自然数）などにも適用することができ、この場合もベリファイ動作を低減でき、書き込み動作に要する時間を短縮することができる。
【００４１】
［第２実施形態］
次に、この発明の第２実施形態の不揮発性半導体記憶装置について説明する。前記第１実施形態における構成と同様の部分には同じ符号を付す。
【００４２】
図１５は、第２実施形態における不揮発性半導体記憶装置の構成を示すブロック図である。第１実施形態における構成と比べて、ビット線に中間電圧を与えて中間電圧書き込みを行うことを示すデータを格納するラッチ回路がＬＡＴＡＱ，ＬＡＴＢＱの２つになっている。
【００４３】
図１６は、第２実施形態におけるメモリセルが持つ４値のベリファイレベルの設定値を示す。図１６に示すような４値の書き込みを行う場合、図１７に示すようにラッチ回路ＬＡＴＡＱ，ＬＡＴＢＱ，ＬＡＴＡ，ＬＡＴＢにデータを格納し、プログラムを行う毎に図１８に示すようなアルゴリズムによって、ラッチ回路ＬＡＴＡＱ，ＬＡＴＢＱ，ＬＡＴＡ，ＬＡＴＢのデータをインクリメントする。
【００４４】
詳述すると、図１６に示すような４値において、メモリセルの閾値をＢレベルに書き込むためのプログラム回数は、Ａレベルのベリファイを通過した後、（Ｖ（Ｂレベル）−Ｖ（Ａレベル））／（ΔＶPGM×α）になる。仮に、ΔＶPGMを１．０Ｖとし、図１６に示すように、Ａレベルを１．０Ｖ、Ｂレベルを２．６Ｖ、Ｃレベルを３．０Ｖ、α＝１とした時、Ｂレベルに書き込むためのプログラム回数は、Ａレベルのベリファイを通過した後、（２．６−１．０）／１．０＝１．６回となる。また、Ｃレベルに書き込むためのプログラム回数は（３．０−１．０）／１．０＝２回となる。ここで、Ｂレベルに書き込むためのプログラム回数は１．６回と中途半端な数字になってしまい、ΔＶPGMが０．６ＶでないとＢレベルに書き込むことはできない。
【００４５】
そこで、Ｂレベルへの書き込みでは、書き込み電圧により１回の書き込みを行った後、０．６回に相当する書き込みを行うとき、書き込み電圧より低く接地電位より高い中間電圧をビット線に供給して、中間電圧による書き込みを行う。ここでは、０．３回に相当する中間電圧による書き込みを２回行うことにより、メモリセルをＢレベルに書き込む。
【００４６】
第２実施形態では、第１実施形態と同様に、書き込み動作におけるベリファイ動作を１回にすることができる。これにより、第２実施形態の４値のデータを持つ不揮発性半導体記憶装置においては、ベリファイ動作を３回から１回に減少させることができ、書き込み動作に要する時間を短縮することができる。
【００４７】
さらに、ビット線に書き込み電圧より低い中間電圧を供給して書き込みを行う回数をラッチ回路ＬＡＴＡＱ，ＬＡＴＢＱに記憶させることにより、メモリセルへの書き込みを書き込み電圧より細かく制御することができる。
【００４８】
なおここでは、第１実施形態と同様に、４値の場合を例に説明したが、その他の多値、例えば８値、１６値、…、２ｎ（ｎは３以上の自然数）などにも適用することができ、この場合もベリファイ動作を低減でき、書き込み動作に要する時間を短縮することができる。
【００４９】
［第３実施形態］
次に、この発明の第３実施形態の不揮発性半導体記憶装置について説明する。前記第２実施形態における構成と同様の部分には同じ符号を付す。この第３実施形態では、図１５に示した第２実施形態と同様な回路構成を用い、図１９に示すような４値の書き込みを行う場合を説明する。
【００５０】
図１９は、第３実施形態におけるメモリセルが持つ４値のベリファイレベルの設定値を示す。図１９に示すような４値の書き込みを行う場合、図２０に示すようにラッチ回路ＬＡＴＡＱ，ＬＡＴＢＱ，ＬＡＴＡ，ＬＡＴＢにデータを格納し、プログラムを行う毎に図２１に示すようなアルゴリズムによって、ラッチ回路ＬＡＴＡＱ，ＬＡＴＢＱ，ＬＡＴＡ，ＬＡＴＢのデータをインクリメントする。なお、ラッチ回路ＬＡＴＡＱにはビット線電圧を０．２５Ｖにするビットの場合のみ“１”を格納し、ラッチ回路ＬＡＴＢＱにはビット線電圧を０．５Ｖにするビットの場合のみ“１”を格納する。
【００５１】
詳述すると、図１９に示すような４値において、メモリセルの閾値をＢレベルに書き込むためのプログラム回数は、Ａレベルのベリファイを通過した後、（Ｖ（Ｂレベル）−Ｖ（Ａレベル））／（ΔＶPGM×α）になる。仮に、ΔＶPGMを１．０Ｖとし、図１９に示すように、Ａレベルを１．０Ｖ、Ｂレベルを２．２５Ｖ、Ｃレベルを３．５Ｖ、α＝１とした時、Ｂレベルに書き込むためのプログラム回数は、Ａレベルのベリファイを通過した後、（２．２５−１．０）／１．０＝１．２５回となる。また、Ｃレベルに書き込むためのプログラム回数は（３．５−１．０）／１．０＝２．５回となる。ここで、Ｂレベルに書き込むためのプログラム回数は１．２５回と中途半端な数字になってしまい、ΔＶPGMが０．２５ＶでないとＢレベルに書き込むことはできない。
【００５２】
そこで、Ｂレベルへの書き込みでは、書き込み電圧により１回の書き込みを行った後、０．２５回に相当する書き込みを行うとき、書き込み電圧より低く接地電位より高い中間電圧をビット線に供給して、中間電圧による書き込みを行う。ここでは、０．２５回に相当する中間電圧による書き込みを１回行うことにより、メモリセルをＢレベルに書き込む。
【００５３】
また、Ｃレベルへの書き込みでは、書き込み電圧により２回の書き込みを行った後、０．５回に相当する書き込みを行うとき、書き込み電圧より低く接地電位より高い中間電圧をビット線に供給して、中間電圧による書き込みを行う。ここでは、０．５回に相当する中間電圧による書き込みを１回行うことにより、メモリセルをＣレベルに書き込む。
【００５４】
第３実施形態におけるプログラムのタイミングチャートを図２２に示す。ビット線電位を、電源電圧ＶDD（非書き込み時）、０．５Ｖ、０．２５Ｖの３段階に変えることにより、メモリセルの書き込みレベルをより細かく制御することができる。
【００５５】
第３実施形態では、第１実施形態と同様に、書き込み動作におけるベリファイ動作を１回にすることができる。これにより、第３実施形態の４値のデータを持つ不揮発性半導体記憶装置においては、ベリファイ動作を３回から１回に減少させることができ、書き込み動作に要する時間を短縮することができる。
【００５６】
さらに、ビット線に書き込み電圧より低い２種類の中間電圧を供給して書き込みを行うか否かをラッチ回路ＬＡＴＡＱ，ＬＡＴＢＱにそれぞれ記憶させることにより、メモリセルへの書き込みを書き込み電圧より細かく制御することができる。
【００５７】
なおここでは、第１実施形態と同様に、４値の場合を例に説明したが、例えば４値、８値、１６値、…、２ｎ値（ｎは２以上の自然数）の多値にも適用することができ、この場合もベリファイ動作を低減でき、書き込み動作に要する時間を短縮することができる。
【００５８】
この発明の実施形態では、多値書き込みにおいて必要なベリファイ動作を低減することができ、書き込み動作にかかる時間を短縮することができる。
【００５９】
また、この発明の一実施形態の不揮発性半導体記憶装置は、１つのメモリセルに対してＮ（Ｎ＝２ｎ、ｎは２以上の自然数）値の多値データを記憶する不揮発性半導体記憶装置において、
電気的に書き換えが可能な複数のメモリセルと、
前記メモリセル毎に、書き込み電圧を用いて書き込みを行う書き込み回数を記憶する複数のラッチ回路と、
前記メモリセル毎に、所定のベリファイレベルにあるかどうかを調べるベリファイをＮ−２回以下行い、前記ベリファイを行わず、前記ベリファイレベルよりも大きい電圧レベルに書き込むメモリセルについては、前記ベリファイ通過後に行う前記書き込み電圧による書き込みの前記書き込み回数をメモリセル毎に前記第１、第２のラッチ回路に記憶させ、前記書き込み電圧による書き込みを行う毎に前記書き込み回数を減算し、最後の書き込みで前記書き込み電圧より低い中間電圧を用いて前記メモリセルの閾値変化を小さくする書き込み制御回路と、
を具備することを特徴とする。
【００６０】
また、前述した各実施形態はそれぞれ、単独で実施できるばかりでなく、適宜組み合わせて実施することも可能である。さらに、前述した各実施形態には種々の段階の発明が含まれており、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することも可能である。
【図面の簡単な説明】
【００６１】
【図１】２値のデータを持つメモリセルの閾値分布を示す図である。
【図２】メモリセルに２値のデータを持たせる場合に使用されるセンスアンプの回路図である。
【図３】センスアンプへ書き込みデータを転送するときのタイミングチャートである。
【図４】メモリセルに２値のデータを書き込む場合のタイミングチャートである。
【図５】メモリセルに４値のデータを持たせる場合に使用されるセンスアンプを含む記憶装置のブロック図である。
【図６】メモリセルに４値のデータを書き込む場合のタイミングチャートである。
【図７】４値のデータを持つメモリセルの閾値分布を示す図である。
【図８】メモリセルに４値のデータを持たせる場合の書き込みシーケンスを示すフローチャートである。
【図９】この発明の第１実施形態における不揮発性半導体記憶装置の構成を示すブロック図である。
【図１０】書き込み電圧（ΔＶPGM）で書き込みを行った場合のメモリセルの閾値上昇を示す図である。
【図１１】第１実施形態における４値のデータを持つメモリセルの閾値分布を示す図である。
【図１２】第１実施形態における書き込みシーケンスを示すフローチャートである。
【図１３】第１実施形態におけるプログラム回数に対応するラッチ回路の記憶データを示す図である。
【図１４】第１実施形態におけるラッチ回路の記憶データに対するインクリメント時のアルゴリズムを示す図である。
【図１５】この発明の第２実施形態における不揮発性半導体記憶装置の構成を示すブロック図である。
【図１６】第２実施形態における４値のデータを持つメモリセルの閾値分布を示す図である。
【図１７】第２実施形態におけるプログラム回数に対応するラッチ回路の記憶データを示す図である。
【図１８】第２実施形態におけるラッチ回路の記憶データに対するインクリメント時のアルゴリズムを示す図である。
【図１９】この発明の第３実施形態における４値のデータを持つメモリセルの閾値分布を示す図である。
【図２０】第３実施形態におけるプログラム回数に対応するラッチ回路の記憶データを示す図である。
【図２１】第３実施形態におけるラッチ回路の記憶データに対するインクリメント時のアルゴリズムを示す図である。
【図２２】第３実施形態における４値のデータを書き込む場合のタイミングチャートである。
【符号の説明】
【００６２】
ＢＬ…ビット線、ＢＵＳ…バス、Ｃ…コンデンサ、ＣＡＬ…演算回路、ＣＥＬＳＲＣ…共通ソース線、ＳＮＡ…センスアンプ、ＬＡＴＡ，ＬＡＴＢ，ＬＡＴＱ，ＬＡＴＡＱ，ＬＡＴＢＱ…ラッチ回路、ＭＣ…メモリセル、Ｎ１，Ｎ２，Ｎ３，Ｎ４，Ｎ５，Ｎ６，Ｎ７，Ｎ８…ｎチャネルＭＯＳトランジスタ（ｎＭＯＳトランジスタ）、Ｐ１，Ｐ２，Ｐ３…ｐチャネルＭＯＳトランジスタ（ｐＭＯＳトランジスタ）、ＳＧＤ，ＳＧＳ…選択ゲート、ＶDD…電源電圧、ＶSS…接地電位、ＷＬ…ワード線、ＷＲＣ…書き込み制御回路。
【図１】
0004444320.tif 000002
【図２】
0004444320.tif 000003
【図３】
0004444320.tif 000004
【図４】
0004444320.tif 000005
【図５】
0004444320.tif 000006
【図６】
0004444320.tif 000007
【図７】
0004444320.tif 000008
【図８】
0004444320.tif 000009
【図９】
0004444320.tif 000010
【図１０】
0004444320.tif 000011
【図１１】
0004444320.tif 000012
【図１２】
0004444320.tif 000013
【図１３】
0004444320.tif 000014
【図１４】
0004444320.tif 000015
【図１５】
0004444320.tif 000016
【図１６】
0004444320.tif 000017
【図１７】
0004444320.tif 000018
【図１８】
0004444320.tif 000019
【図１９】
0004444320.tif 000020
【図２０】
0004444320.tif 000021
【図２１】
0004444320.tif 000022
【図２２】
0004444320.tif 000023