(57)【要約】【課題】書き込み時間の増加を抑えつつ、書き込み後のしきい値電圧の分布幅を狭める。【解決手段】電気的にデータの書き換えが可能な不揮発性半導体メモリセルと、メモリセルにデータを書き込む書き込み回路であり、メモリセルに書き込み電圧Vpgmと書き込み制御電圧VBLとを供給してメモリセルに書き込みを行ってメモリセルの書き込み状態を変化させ、書き込み制御電圧VBLの供給状態を変えて書き込み状態の変化速度を緩和し、書き込み制御電圧VBLの供給状態をさらに変えて緩和された書き込み状態の変化速度を制御し、書き込み状態の変化速度が緩和されている間にメモリセルに対する書き込みを終了させる書き込み回路とを具備する。【選択図】図８
2005174414.tif 000002
【特許請求の範囲】
【請求項１】
電気的にデータの書き換えが可能な不揮発性半導体メモリセルと、
前記メモリセルにデータを書き込む書き込み回路であり、前記メモリセルに書き込み電圧と書き込み制御電圧とを供給して前記メモリセルに書き込みを行って前記メモリセルの書き込み状態を変化させ、前記書き込み制御電圧の供給状態を変えて前記書き込み状態の変化速度を緩和し、前記書き込み制御電圧の供給状態をさらに変えて前記緩和された書き込み状態の変化速度を制御し、前記書き込み状態の変化速度が制御されている間に前記メモリセルに対する書き込みを終了させる書き込み回路
とを具備したことを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記書き込み回路は、前記メモリセルに対して書き込みを行う際に前記書き込み電圧の値を順次増加するように変化させて書き込みを行うことを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
前記書き込み回路は、前記書き込み制御電圧の値を順次増加させて前記緩和された書き込み状態の変化速度を制御する請求項２記載の不揮発性半導体記憶装置。
【請求項４】
前記書き込み電圧の値の増加率は、前記書き込み制御電圧の値の増加率より大きいことを特徴とする請求項３記載の不揮発性半導体記憶装置。
【請求項５】
前記書き込み回路は、前記メモリセルの書き込み状態が第１のレベルに達したかを検出し、前記メモリセルの書き込み状態が第１のレベルに達したと検出すると前記書き込み制御電圧の供給状態を変えて前記書き込み状態の変化速度を緩和することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項６】
前記書き込み回路は、前記メモリセルの書き込み状態が第２のレベルに達したかを検出し、前記メモリセルの書き込み状態が第２のレベルに達したと検出すると前記メモリセルに対する書き込みを終了させることを特徴とする請求項３記載の不揮発性半導体記憶装置。
【請求項７】
前記メモリセルのゲートに接続されたワード線と、
前記メモリセルのドレインに接続されたビット線とを具備し、
前記書き込み回路は、前記書き込み電圧を前記ワード線に供給し、前記書き込み制御電圧を前記ビット線に供給することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項８】
前記書き込み回路は、前記メモリセルに１ビットより多いデータを記憶させることを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項９】
前記書き込み回路は、前記書き込み制御電圧の供給状態を変えて前記書き込み状態の変化速度を緩和した後の一定時間後に、前記メモリセルに対する書き込みを終了させることを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項１０】
電気的に書き換えが可能な不揮発性半導体メモリセルと、
前記メモリセルにデータを書き込む書き込み回路であり、前記メモリセルに第１のベリファイ電圧を印加して前記メモリセルの書き込み状態が第１のレベルに達したかを検出し、前記メモリセルの書き込み状態が前記第１のレベルに達していなければ前記メモリセルに書き込み電圧と第１の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、前記メモリセルの書き込み状態が前記第１のレベルに達していれば前記メモリセルに前記書き込み電圧と第２の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、前記メモリセルに第２のベリファイ電圧を印加して前記メモリセルの書き込み状態が第２のレベルに達したかを検出し、前記メモリセルの書き込み状態が前記第２のレベルに達していれば前記メモリセルに前記書き込み電圧と第３の実効電圧を有する書き込み制御電圧を印加して書き込みを禁止する書き込み回路とを具備し、
前記第２の実効電圧は時間と共に値が変化することを特徴とする不揮発性半導体記憶装置。
【請求項１１】
前記メモリセルに読み出し電圧を印加して前記メモリセルに記憶されているデータを読み出す読み出し回路を具備し、
前記読み出し電圧と前記第２のベリファイ電圧との差は前記第１のベリファイ電圧と前記第２のベリファイ電圧の差より大きいことを特徴とする請求項１０記載の不揮発性半導体記憶装置。
【請求項１２】
前記書き込み回路は、前記メモリセルに対して書き込みを行う際に前記書き込み電圧の値を順次増加するように変化させて書き込みを行うことを特徴とする請求項１０記載の不揮発性半導体記憶装置。
【請求項１３】
前記書き込み回路は、前記メモリセルに対して書き込みを行う際に前記第２の実効電圧を順次増加させて書き込みを行うことを特徴とする請求項１２記載の不揮発性半導体記憶装置。
【請求項１４】
前記書き込み電圧の値の増加率が前記第２の実効電圧の増加率より大きいことを特徴とする請求項１３記載の不揮発性半導体記憶装置。
【請求項１５】
前記書き込み回路は、前記メモリセルに前記第２の実効電圧を印加した後の一定時間後に、前記メモリセルに対する書き込みを禁止することを特徴とする請求項１０記載の不揮発性半導体記憶装置。
【請求項１６】
前記書き込み回路は、前記メモリセルに１ビットより多いデータを記憶させることを特徴とする請求項１０記載の不揮発性半導体記憶装置。
【請求項１７】
前記書き込み回路は、前記メモリセルに対して書き込みを行う際に前記書き込み電圧の値を階段状に一定の値づつ増加するように変化させて書き込みを行い、前記一定の値は前記第１のベリファイ電圧と前記第２のベリファイ電圧との差より大きいことを特徴とする請求項１０記載の不揮発性半導体記憶装置。
【請求項１８】
電気的に書き換えが可能な不揮発性半導体メモリセルと、
前記メモリセルにデータを書き込む書き込み回路であり、前記メモリセルの書き込み状態が第１のレベルに達していなければ前記メモリセルに書き込み電圧と第１の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、前記メモリセルの書き込み状態が前記第１のレベルに達していれば前記メモリセルに前記書き込み電圧と第２の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、前記メモリセルの書き込み状態が前記第２のレベルに達していれば前記メモリセルに前記書き込み電圧と第３の実効電圧を有する書き込み制御電圧を印加して書き込みを禁止する書き込み回路とを具備し、
前記第２の実効電圧の値は時間と共に変化することを特徴とする不揮発性半導体記憶装置。
【請求項１９】
前記書き込み回路は、前記メモリセルに対して書き込みを行う際に前記書き込み電圧の値を順次増加するように変化させて書き込みを行うことを特徴とする請求項１８記載の不揮発性半導体記憶装置。
【請求項２０】
前記書き込み回路は、前記メモリセルに対して書き込みを行う際に前記第２の実効電圧の値を順次増加させて書き込みを行うことを特徴とする請求項１９記載の不揮発性半導体記憶装置。
【請求項２１】
前記書き込み電圧の値の増加率は、前記第２の実効電圧の増加率より大きいことを特徴とする請求項２０記載の不揮発性半導体記憶装置。
【請求項２２】
前記書き込み回路は、前記メモリセルに前記第２の実効電圧を印加した後の一定時間後に、前記メモリセルに対する書き込みを禁止することを特徴とする請求項１８記載の不揮発性半導体記憶装置。
【請求項２３】
前記書き込み回路は、前記メモリセルに１ビットより多いデータを記憶させることを特徴とする請求項１８記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電気的にデータの書替えが可能な不揮発性半導体記憶装置に係り、特に１つのメモリセルに対して２値以上の多値データを記憶する多値フラッシュメモリに関する。
【背景技術】
【０００２】
フラッシュメモリは、消去、書き込みが行われることでメモリセルトランジスタの浮遊ゲートの蓄積電荷量を変え、これによりしきい値電圧を変えてデータを記憶する。例えば、負のしきい値電圧は“１”データに、正のしきい値電圧は“０”データに対応している。
【０００３】
近年、ビット単価を下げるため、あるいは記憶容量を増やすために、１つのメモリセルに複数ビットのデータを記憶させる多値フラッシュメモリが開発されている。例えば、２ビットのデータを１つのメモリセルに記憶させるものでは、そのメモリセルは４つのしきい値帯をデータに応じて持つ。
【０００４】
精度良くしきい値電圧をメモリセルに持たせることで信頼性の高いデバイスが得られる。しきい値電圧の制御を精度良く行うため、書き込み電圧Vpgmを一定の割合で高めながらデータ書き込みを行う方法が、例えば非特許文献１で提案されている。
【０００５】
この方法では、書き込み電圧Vpgmを、例えば、0.2V/10μsecの割合で高めながら書き込むことで、原理的に１つのしきい値電圧の分布幅を0.2Vに制御できる。通常、書き込み電圧Vpgmは複数の書き込みパルスに分割され、各パルスの電圧Vpgmを一定の割合でステップアップさせる。これにより同等の効果が得られる。各パルスのメモリセルへの印加後にしきい値電圧を確認し、所定のベリファイレベルに達したら、書き込みを終了させる。
【０００６】
一方、加工寸法の微細化も進んでいる。このため、メモリセル間の距離が縮まり、多値フラッシュメモリにおいても、様々な問題を引き起こしている。すなわち、微細化が進むにつれて浮遊ゲート間の距離が縮まり、以下のような問題を引き起こしている。
【０００７】
２つの隣り合うメモリセルＡとＢを考える。まず、２つとも同時に消去され、それぞれ-3Vのしきい値電圧を持つとする。先にＡのメモリセルにあるデータを書き込む。これによってそのしきい値電圧が例えば0.5V〜1Vになる。その後、Ｂのメモリセルに異なるデータを書き込む。Ｂのメモリセルのしきい値電圧が例えば1.5V〜2Vになると、浮遊ゲート間相互の容量結合により、Ａのメモリセルの浮遊ゲートの電位が下がり、そのしきい値電圧が上昇する。例えば、1V〜1.5Vに上昇する。
【０００８】
この例では、本来、ＡとＢのメモリセルのしきい値電圧の差（読み出しマージン）は最小で0.5Vのはずであるが、浮遊ゲート間相互の容量結合により0Vに縮まる。つまり異なるデータを区別するためのしきい値電圧の差が縮まり、読み出しマージンが消滅する。
【０００９】
この問題を回避するために、書き込み電圧Vpgmの１ステップ当りの増加量（ステップアップ量）Dvpgmを減らすことが考えられる。例えば、ステップアップ量Dvpgmを0.5Vから0.1Vにすることで、しきい値電圧の分布幅が0.5Vから0.1Vに狭められ、読み出しマージンは0.4V増加する。
【００１０】
しかし、ステップアップ量が1/5になることで、書き込みパルスの数が５倍必要になり、書き込み時間も５倍になる問題が新たに生じる。
【００１１】
例えば、特許文献１には、書き込み電圧Vpgmのステップアップ量Dvpgmを減らすことなく、しきい値電圧を狭める技術が開示されている。この技術は、まず、Dvpgm毎にステップアップされる書き込み電圧と、ビット線に印加される0Vの書き込み制御電圧とをメモリセルに供給して書き込みを行う。そして、メモリセルが所定の書き込み状態に近づくと、書き込み制御電圧を0Vから例えば0.4Vに引き上げてしきい値電圧の変化速度を緩和し、しきい値電圧の変化速度が緩和されている間にメモリセルに対する書き込みを終了させる。
【００１２】
上記のように、特許文献１に記載されたものでは、しきい値電圧の変化速度を緩和するために、書き込みの途中で書き込み制御電圧を上げている。しかし、書き込み電圧自体はステップアップするので、しきい値電圧の変化速度はいずれは元に戻る。従って、しきい値電圧の変化速度を十分に落とす必要があり、しきい値電圧の変化速度が緩和されてから書き込みが完了するまでに時間がかかる。また、しきい値電圧の制御性も必ずしも良いとは言えない。
【非特許文献１】Fast and Accurate Programming Method for Multi-level NAND EEPROMs, pp129-130, Digest of 1995 Symposium on VLSI Technology
【特許文献１】特開２００３−１９６９８８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
このように従来では、読み出しマージンを確保して信頼性を高めようとすると書き込み時間が増加するという問題があった。
【００１４】
この発明は上記のような事情を考慮してなされたものであり、その目的は、書き込み時間の増加を抑えつつ、しきい値電圧の分布幅を縮め、信頼性の高い不揮発性半導体記憶装置を提供することである。
【課題を解決するための手段】
【００１５】
この発明の不揮発性半導体記憶装置は、電気的にデータの書き換えが可能な不揮発性半導体メモリセルと、前記メモリセルにデータを書き込む書き込み回路であり、前記メモリセルに書き込み電圧と書き込み制御電圧とを供給して前記メモリセルに書き込みを行って前記メモリセルの書き込み状態を変化させ、前記書き込み制御電圧の供給状態を変えて前記書き込み状態の変化速度を緩和し、書き込み制御電圧の供給状態をさらに変えて前記緩和された書き込み状態の変化速度を制御し、前記書き込み状態の変化速度が緩和されている間に前記メモリセルに対する書き込みを終了させる書き込み回路とを具備したことを特徴とする。
【００１６】
この発明の不揮発性半導体記憶装置は、電気的に書き換えが可能な不揮発性半導体メモリセルと、前記メモリセルにデータを書き込む書き込み回路であり、前記メモリセルに第１のベリファイ電圧を印加して前記メモリセルの書き込み状態が第１のレベルに達したかを検出し、前記メモリセルの書き込み状態が前記第１のレベルに達していなければ前記メモリセルに書き込み電圧と第１の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、前記メモリセルの書き込み状態が前記第１のレベルに達していれば前記メモリセルに前記書き込み電圧と第２の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、前記メモリセルに第２のベリファイ電圧を印加して前記メモリセルの書き込み状態が第２のレベルに達したかを検出し、前記メモリセルの書き込み状態が前記第２のレベルに達していれば前記メモリセルに前記書き込み電圧と第３の実効電圧を有する書き込み制御電圧を印加して書き込みを禁止する書き込み回路とを具備し、前記第２の実効電圧は時間と共に値が変化することを特徴とする。
【００１７】
この発明の不揮発性半導体記憶装置は、電気的に書き換えが可能な不揮発性半導体メモリセルと、前記メモリセルにデータを書き込む書き込み回路であり、前記メモリセルの書き込み状態が前記第１のレベルに達していなければ前記メモリセルに書き込み電圧と第１の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、前記メモリセルの書き込み状態が前記第１のレベルに達していれば前記メモリセルに前記書き込み電圧と第２の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、前記メモリセルの書き込み状態が前記第２のレベルに達していれば前記メモリセルに前記書き込み電圧と第３の実効電圧を有する書き込み制御電圧を印加して書き込みを禁止する書き込み回路とを具備し、前記第２の実効電圧の値は時間と共に変化することを特徴とする。
【発明の効果】
【００１８】
この発明によれば、書き込み時間の増加を抑えつつ、しきい値電圧の分布幅を縮めることができて、信頼性の高い不揮発性半導体記憶装置を提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明を実施の形態により説明する。
【００２０】
図１は、本発明の一実施の形態に係る多値フラッシュメモリ全体の構成を示すブロック図である。
【００２１】
メモリセルアレイ１内には複数のフラッシュメモリセル、複数のビット線及びワード線が設けられている。複数のフラッシュメモリセルはマトリクス状に配置されている。
【００２２】
カラム制御回路２及びロウ制御回路３が、メモリセルアレイ１に隣接して設けられている。カラム制御回路２は、メモリセルアレイ１内のビット線を制御し、メモリセルのデータ消去、メモリセルへのデータ書き込み、さらには、メモリセルからのデータ読み出しを行う。ロウ制御回路３は、メモリセルアレイ１内のワード線を選択し、消去、書き込み、読み出しに必要な電圧を供給する。
【００２３】
また、メモリセルアレイ１のソース線を制御するソース線制御回路４と、メモリセルアレイ１が形成されるｐ型ウェルを制御するＰウェル制御回路５とが設けられている。
【００２４】
データ入出力バッファ６は、外部Ｉ／Ｏ線を介してホストに接続されている。データ入出力バッファ６は、書き込みデータの受け取り、読み出しデータの出力、アドレスデータやコマンドデータの受け取りを行う。データ入出力バッファ６で受け取られた書き込みデータはカラム制御回路２に送られる。また、データ入出力バッファ６は、カラム制御回路２から読み出されたデータを受け取る。
【００２５】
メモリセルアレイ１内のメモリセルの選択を行うために、外部からのアドレスデータがステートマシン８を介してカラム制御回路２及びロウ制御回路３に送られる。
【００２６】
また、ホストからのコマンドデータがコマンド・インターフェイス７に送られる。コマンド・インターフェイス７は、ホストからの制御信号を受け、データ入出力バッファ６に入力されたデータが書き込みデータかコマンドデータかアドレスデータかを判断し、コマンドデータであれば受け取りコマンド信号としてステートマシン８に転送する。
【００２７】
ステートマシン８は、フラッシュメモリ全体の管理を行うものであり、ホストからのコマンドを受け、読み出し、書き込み、消去の各動作及びデータの入出力管理を行う。なお、ステートマシン８内には各メモリセルに対するデータの書き込み回数をカウントするための書き込みカウンタPCが設けられている。
【００２８】
図２（ａ）は、図１中のメモリセルアレイ１の内部構成を示すブロック図である。メモリセルアレイ１内の複数のメモリセルは複数のブロックBLOCK0〜BLOCK1023に分割されている。ブロックは消去の最小単位である。各ブロックBLOCKi（i=0〜1023）内にはそれぞれ、図２（ｂ）に示すように8512個のNAND型メモリユニットが設けられている。
【００２９】
この例では、各NAND型メモリユニットには直列に接続された４個のメモリセルＭが設けられており、その一端は選択ゲート線SGD iに共通に接続された選択ゲートS1を介してビット線BLeまたはBLoに接続され、他端は選択ゲート線SGS iに共通に接続された選択ゲートS2を介して共通ソース線C-sourceに接続されている。
【００３０】
それぞれのメモリセルＭは制御ゲート、浮遊ゲート、ソース及びドレインを有し、各４個のメモリセルＭの制御ゲートはワード線WL0 i〜WL3 iのうち対応するものに共通に接続されている。
【００３１】
０から数えて偶数番目のビット線BLeと奇数番目のビット線BLoに対し、互いに独立にデータの書き込みと読み出しが行われる。１本のワード線WLに制御ゲートが接続されている8512個のメモリセルのうち、偶数番目のビット線BLeに接続されている4256個のメモリセルに対して同時にデータの書き込みと読み出しが行われる。
【００３２】
各メモリセルがそれぞれ１ビットのデータを記憶する場合、4256個のメモリセルに記憶される4256ビットのデータがページという単位を構成する。１つのメモリセルが２ビットのデータを記憶する場合、4256個のメモリセルは２ページ分のデータを記憶する。奇数番目のビット線BLoに接続されている4256個のメモリセルで別の２ページが構成され、同一ページ内のメモリセルに対して同時にデータの書き込みと読み出しが行われる。
【００３３】
図３は、図１中のメモリセルアレイ１のカラム方向の素子構造を示す断面図である。ｐ型基板１０上にｎ型ウェル１１が形成され、ｎ型ウェル１１内にｐ型ウェル１２が形成されている。各メモリセルＭは、ｎ型拡散層１３で形成されたソース、ドレインと、ソース・ドレイン間のチャネル領域上にトンネル酸化膜を介して設けられた浮遊ゲートFGと、この浮遊ゲートFG上に絶縁膜を介して設けられ、ワード線WLとなる制御ゲートCGとから構成されている。
【００３４】
各選択ゲートS1、S2は、ｎ型拡散層１３で形成されたソース、ドレインと、積層された２重構造の選択ゲート線SGとからそれぞれ構成されている。ワード線WLと選択ゲート線SGは、共に図１中のロウ制御回路３に接続され、ロウ制御回路３からの出力信号によって制御される。
【００３５】
４個のメモリセルＭと選択ゲートS1、S2とからなるNAND型メモリユニットの一端は、コンタクトホールCB1を介して第１層のメタル配線層M0に接続されている。このメタル配線層M0は、ヴイアホール（via hole）V1を介して、ビット線BLとなる第２層のメタル配線層M1に接続されている。ビット線BLは図２中のカラム制御回路２に接続されている。
【００３６】
NAND型メモリユニットの他端はコンタクトホールCB2を介して、共通ソース線C-sourceとなる第１層のメタル配線層M2に接続されている。共通ソース線C-sourceは図１中のソース線制御回路４に接続されている。
【００３７】
ｎ型ウェル１１の表面にはｎ型拡散層１４が、ｐ型ウェル１２の表面にはｐ型拡散層１５がそれぞれ形成され、ｎ型拡散層１４及びｐ型拡散層１５はコンタクトホールCB3、CB4を介して、ウェル線C-p-wellとなる第１層のメタル配線層M3に共に接続されている。ウェル線C-p-wellは図１中のＰウェル制御回路５に接続されている。
【００３８】
図４（ａ）、（ｂ）は、メモリセルアレイ１のロウ方向の素子構造を示す断面図である。図４（ａ）、（ｂ）に示すように、各メモリセルは素子分離STIによって互いに分離されている。
【００３９】
図４（ａ）に示すように、各メモリセルでは、トンネル酸化膜１６を介して浮遊ゲートFGがチャネル領域上に積層されている。浮遊ゲートFG上には例えばONO膜からなる絶縁膜１７を介してワード線WLが積層されている。
【００４０】
図４（ｂ）に示すように、選択ゲート線SGは２重構造にされている。そして、メモリセルアレイ１の端あるいは一定数のビット線毎に上下の選択ゲート線SGが接続されている。
【００４１】
図５は、図１中のカラム制御回路２の主要部の構成を抽出して示している。
【００４２】
カラム制御回路２には、同一カラム番号の偶数番目のビット線BLeと奇数番目のビット線BLoからなる２本のビット線毎にデータ記憶回路２０がそれぞれ設けられている。また、カラム制御回路２には、上記各データ記憶回路２０に対応して、メモリセルにデータを書き込みかつメモリセルからデータを読み出すセンスアンプが設けられている。
【００４３】
上記データ記憶回路２０と偶数番目のビット線BLeとの間にはカラム選択用のｎチャネルMOSトランジスタQn1が接続され、奇数番目のビット線BLoとの間にはカラム選択用のｎチャネルMOSトランジスタQn2が接続されている。
【００４４】
各データ記憶回路２０に接続された偶数番目及び奇数番目のビット線BLe、BLoは、いずれか一方が選択されてデータ記憶回路２０に接続され、データ書き込みあるいは読み出しのため制御される。すなわち、信号EVENBLがHレベル、信号ODDBLがLレベルのときは、MOSトランジスタQn1が導通して偶数番目のビット線BLeが選択され、このビット線BLeがデータ記憶回路２０に接続される。信号EVENBLがLレベル、信号ODDBLがHレベルのときは、MOSトランジスタQn2が導通して奇数番目のビット線BLoが選択され、このビット線BLoがデータ記憶回路２０に接続される。なお、上記信号EVENBLは偶数番目のビット線BLeに接続されている全てのカラム選択用のｎチャネルMOSトランジスタに共通に供給され、信号ODDBLは奇数番目のビット線BLoに接続されている全てのカラム選択用のｎチャネルMOSトランジスタに共通に供給される。非選択のビット線BLについては、図示しない他の回路で制御される。
【００４５】
上記各データ記憶回路２０内には３つのバイナリデータ記憶部DS1、DS2、DS3が設けられている。データ記憶部DS1は内部のデータ入出力線（I/O線）を介してデータ入出力バッファ６と接続され、外部から入力された書き込みデータや外部へ出力する読み出しデータを記憶する。データ記憶部DS2は、書き込み後にメモリセルのしきい値電圧を確認する（書き込みベリファイ）時の検出結果を記憶する。データ記憶部DS3は、メモリセルのデータを書き込みと読み出しの時に一時的に記憶する。
【００４６】
図６は、図１に示す多値フラッシュメモリの多値データとメモリセルのしきい値電圧との関係を示す図である。
【００４７】
次に、図６を参照して、上記構成でなる多値フラッシュメモリの概略的な動作を説明する。なお、本例では、２ビット、つまり４値のデータを１つのメモリセルに記憶する場合を説明する。この２ビットのデータとしては“11”、“10”、“01”、“00”が全てである。この２つのビットは異なるロウアドレス（異なるページ）に属する。上記４値のデータはしきい値電圧の違いとしてメモリセルに記憶される。
【００４８】
図６に示すように、例えばしきい値電圧が最も低い状態（例えばしきい値電圧が負の状態）をデータ“11”とし、メモリセルのしきい値電圧が２番目に低い状態（例えばしきい値電圧が正の状態を）データ“10”とし、メモリセルのしきい値電圧が３番目に低い状態（例えばしきい値電圧が正の状態を）データ“01”とし、メモリセルのしきい値電圧が最も高い状態（例えばしきい値電圧が正の状態を）データ“00”とする。
【００４９】
消去後、メモリセルのデータは“11”となっているとする。このメモリセルへの下位ページの書き込みデータが“０”であれば、書き込みにより“11”の状態から“10”に移る。“１”データ書き込みの場合は“11”のままである。
【００５０】
次に、上位ページのデータが書き込まれる。もし書き込みデータが“１”であれば、“11”あるいは“10”の状態がそのまま維持される。もし書き込みデータが“０”であれば、“11”の状態は“01”に、“10”の状態は“00”にそれぞれ変わる。
【００５１】
書き込み動作中に、書き込みが行われたメモリセルからデータを読み出して、十分に書き込みが行われたか否かが検証されるいわゆる書き込みベリファイが行われる。
【００５２】
センスアンプによる読み出しデータは、しきい値電圧が0V以下であれば“11”とみなされ、しきい値電圧が0V以上1V以下なら“10”とみなされる。また、しきい値電圧が1V以上2V以下なら“01”とみなされ、しきい値電圧が2V以上なら“00”とみなされる。
【００５３】
表１は、図１の多値フラッシュメモリの消去、書き込み、読み出し、書き込みベリファイ時における各部の電圧値を一例を示している。なお、表１では、書き込みと読み出し時にワード線WL2と偶数番目のビット線BLeが選択された場合の例を示している。
【表１】
2005174414.tif 000003
【００５４】
消去は、ｐ型ウェル１２（ウェル線C-p-well）に20Vが、選択されたブロックの全ワード線WLに0Vが供給される。これにより、ブロック内の全てのメモリセルＭの浮遊ゲートFGから電子が放出されてしきい値電圧が負となり、“11”の状態になる。ここで非選択ブロックのワード線及びビット線BLなどは電位的にフローティング状態にされるが、ｐ型ウェル１２との容量結合により20V近くとなっている。
【００５５】
書き込みは、第１段階、第２段階及び書き込み禁止の順で行われる。まず、選択されたワード線WL2に14V〜20Vの値を持つプログラム電圧（書き込み電圧）Vpgmが供給される。非選択のワード線のうち選択メモリセルよりもビット線側に配置されたメモリセルの各ワード線、例えばワード線WL3には、このワード線WL3が接続されたメモリセルが導通するような高い電圧、例えば10Vが供給される。他方、非選択のワード線のうち選択メモリセルよりもウェル線C-p-well側に配置されたメモリセルの各ワード線、例えばワード線WL1には、このワード線WL1が接続されたメモリセルが非導通となるような低い電圧、例えば0Vが供給される。また、選択されたビット線BLeには0Vの電圧（書き込み制御電圧）が供給される。すると、ビット線BLeに供給された0Vの電圧が、選択されたメモリセルのドレインまで伝わり、かつ制御ゲートCGと浮遊ゲートFGとの間の容量結合によって浮遊ゲートFGの電位が上昇し、トンネル酸化膜（図４（ａ）中のトンネル酸化膜１６）を介して、トンネル現象によって電子がドレインから浮遊ゲートFGに注入され、しきい値電圧が高速に上昇する（第１段階書き込み）。書き込み時に、しきい値電圧の上昇速度を抑えるには、ビット線BLeの電圧が例えば0.3V〜0.4Vに上げられる（第２段階書き込み）。しきい値電圧の上昇を禁止するには、ビット線BLeは十分に高い電圧、例えば電源電圧Vdd（〜3V)にされる（書き込み禁止）。
【００５６】
読み出しは、選択されたワード線WL2に異なる値の読み出し電圧（0V、1V、2V)が順次供給されることで行われる。非選択の残りのワード線には、非選択のメモリセルが導通するような値の電圧、例えば4.5Vが供給される。選択メモリセルのしきい値電圧が読み出し電圧以下なら、ビット線BLeと共通ソース線C-sourceとの間が導通して電流が流れ、ビット線BLeの電位は比較的低いレベルLとなる。選択メモリセルのしきい値電圧が読み出し電圧以上なら、ビット線BLeと共通ソース線C-sourceとの間は非導通となり、ビット線BLeの電位は比較的高いレベルHとなる。メモリセルが“10”状態のしきい値電圧より高いか否かを検出するには、読み出し電圧が0Vにされて読み出しが行われる（“10”読み出し）。メモリセルが“01”状態のしきい値電圧より高いか否かを検出するには、読み出し電圧が1Vにされて読み出しが行われる（“01”読み出し）。また、メモリセルが“00”状態のしきい値電圧より高いか否かを検出するには、読み出し電圧が2Vにされて読み出しが行われる（“00”読み出し）。
【００５７】
“10”状態のメモリセルは、読み出し電圧0Vに対して0.4Vの読み出しマージンを持たせるため、しきい値電圧が0.4V以上となるように書き込まれる。このため、“10”に書き込む場合、書き込みベリファイによりメモリセルのしきい値電圧が0.4Vに達したと検出されたら、書き込みが禁止される。
【００５８】
従来では、しきい値電圧が0.4Vに達したか否かしか検出していないので、図６中に破線で示すように、しきい値電圧は比較的幅広い分布を持ってしまう。
【００５９】
この実施形態では、しきい値電圧が目標のしきい値電圧より若干低いレベルに達したか否かを検出して、しきい値電圧の上昇速度が第２段階書き込みにより抑制される。このため、しきい値電圧の分布幅は図６中の実線で示すように、従来よりも狭めることができる。他の“01”、“00”状態に関しても同様である。
【００６０】
書き込みベリファイは、選択されたワード線WL2に異なる値のベリファイ電圧（0.2V、0.4V、1.2V、1.4V、2.2V、2.4V）が順次供給されることで行われる。メモリセルのしきい値電圧がベリファイ電圧以下なら、ビット線BLeと共通ソース線C-sourceとの間が導通して、ビット線BLeの電位は比較的低いレベルLとなる。メモリセルのしきい値電圧がベリファイ電圧以上なら、ビット線BLeと共通ソース線C-sourceとの間は非導通となり、ビット線BLeの電位は比較的高いレベルHとなる。
【００６１】
メモリセルの目標のしきい値電圧が0.4Vの場合、その目標のしきい値電圧よりも若干低いレベルのしきい値電圧、本例では0.2Vより高いか否かを検出するには、ベリファイ電圧が0.2Vにされて書き込みベリファイが行われる（“10”第１段階書き込みベリファイ）。メモリセルのしきい値電圧が目標のしきい値電圧0.4Vより高いか否かを検出するには、ベリファイ電圧が0.4Vにされて書き込みベリファイが行われる（“10”第２段階書き込みベリファイ）。
【００６２】
メモリセルの目標のしきい値電圧が1.4Vの場合、その目標のしきい値電圧よりも若干低いレベルのしきい値電圧、本例では1.2Vより高いか否かを検出するには、ベリファイ電圧が1.2Vにされて書き込みベリファイが行われる（“01”第１段階書き込みベリファイ）。メモリセルのしきい値電圧が目標のしきい値電圧1.4Vより高いか否かを検出するには、ベリファイ電圧が1.4Vにされて書き込みベリファイが行われる（“01”第２段階書き込みベリファイ）。
【００６３】
メモリセルの目標のしきい値電圧が2.4Vの場合、その目標のしきい値電圧よりも若干低いレベルのしきい値電圧、本例では2.2Vより高いか否かを検出するには、ベリファイ電圧が2.2Vにされて書き込みベリファイが行われる（“00”第１段階書き込みベリファイ）。メモリセルのしきい値電圧が目標のしきい値電圧2.4Vより高いか否かを検出するには、ベリファイ電圧が2.4Vにされて書き込みベリファイが行われる（“00”第２段階書き込みベリファイ）。
【００６４】
ここで、読み出し電圧と前記第２のベリファイ電圧との差は前記第１のベリファイ電圧と前記第２のベリファイ電圧の差より大きくされている。例えば、“10”読み出し、“10”第１段階書き込みベリファイ、“10”第２段階書き込みベリファイに着目すると、表１に示すように、“10”読み出し時の選択ワード線（WL2）の電圧は0V、“10”第１段階書き込みベリファイ時の選択ワード線の電圧は0.2V、“10”第２段階書き込みベリファイ時の選択ワード線の電圧は0.4Vなので、読み出し電圧と前記第２のベリファイ電圧との差は0.4V、第１のベリファイ電圧と第２のベリファイ電圧の差は0.2Vとなり、読み出し電圧と第２のベリファイ電圧との差は第１のベリファイ電圧と第２のベリファイ電圧の差より大きい。
【００６５】
図７は、特許文献１に記載された従来の書き込み方法と、しきい値電圧の変化状態を示している。図中、白抜きの四角は書き込み易いメモリセルのしきい値電圧及びこのメモリセルに供給される書き込み制御電圧（ビット線BLの電圧VBL）を示し、黒の四角は書き込み難いメモリセルのしきい値電圧及びこのメモリセルに供給される書き込み制御電圧（ビット線BLの電圧VBL）を示している。この２つのメモリセルは同一ページのデータを記憶する。どちらも初期状態では消去されており、負のしきい値電圧を持っているとする。
【００６６】
書き込み電圧Vpgmは複数のパルスに分割されており、１パルス毎に例えば0.3Vづつ上昇する。すなわち、書き込み電圧Vpgmの１パルス当たりの増加分Dvpgmは0.3Vである。
【００６７】
第１段階書き込みでは、書き込み制御電圧であるビット線BLの電圧VBLは0Vにされる。第１段階書き込みでは、書き込み電圧Vpgmの数パルス後に、しきい値電圧は書き込み電圧Vpgmの電圧増加分と同じ0.3V/パルスの速度で上がっていく。各書き込みパルス印加後に第１段階書き込みベリファイ及び第２段階書き込みベリファイが行われる。第１段階書き込みベリファイ電圧にしきい値電圧が達したと検出されたメモリセルのビット線電圧VBLは0.4Vにステップアップされ、メモリセル毎に第２段階書き込みがなされる。さらに、第２段階書き込みベリファイ電圧にしきい値電圧が達したと検出されたメモリセルのビット線電圧VBLはVddにされ、メモリセル毎に書き込みが禁止されていく。第２段階書き込みになってから数パルスの間は、しきい値電圧の上昇率が例えばほぼ0V/パルスから0.1V/パルスに抑制されるため、しきい値電圧は0.1Vの分布幅しか持たない。
【００６８】
図８は、この実施形態による多値フラッシュメモリにおけるデータの書き込み方法と、しきい値電圧の変化状態を示している。図７の場合と同様に、白抜きの四角は書き込み易いメモリセルのしきい値電圧及びこのメモリセルに供給される書き込み制御電圧（ビット線BLの電圧VBL）を示し、黒の四角は書き込み難いメモリセルのしきい値電圧及びこのメモリセルに供給される書き込み制御電圧（ビット線BLの電圧VBL）を示している。この２つのメモリセルは同一ページのそれぞれのカラムのデータを記憶する。どちらも初期状態では消去されており、負のしきい値電圧を持っている。
【００６９】
書き込み電圧Vpgmは複数のパルスに分割されており、１パルス毎に例えば0.3Vづつ上昇する。すなわち、書き込み電圧Vpgmの１パルス当たりの増加分Dvpgmは0.3Vである。
【００７０】
書き込み制御電圧であるビット線BLの電圧VBLが0Vにされて第１段階書き込みが行われる。そして、第１段階書き込みにおいて、書き込み電圧Vpgmが数パルス分供給された後毎に、しきい値電圧は書き込み電圧Vpgmの電圧増加分と同じ0.3V/パルスの速度で上がっていく。書き込みパルスを１回印加した後毎に第１段階書き込みベリファイあるいは第２段階書き込みベリファイが行われる。
【００７１】
第１段階書き込みベリファイ電圧にしきい値電圧が達したと検出されたメモリセルのビット線電圧VBLは、その後、0Vから0.3Vにされ、メモリセル毎に第２段階書き込みに移る。第２段階書き込み中、ビット線電圧VBLは、0.3Vから例えば0.1Vづつ増加される。書き込み電圧Vpgmの値の増加率0.3Vは、書き込み制御電圧であるビット線BLの値の増加率0.1Vより大きい。従って、第２段階書き込み中の実効的な書き込み電圧は依然増加し、その増加率は下げられて0.2Vとなる。第１段階書き込みから第２段階書き込みになると、ビット線電圧VBLが0.3Vに上昇し、実質的な書き込み電圧が低下するので、メモリセルのしきい値電圧の上昇率は抑えられる。かつ、第２段階書き込みの期間ではビット線電圧VBLが0.3Vから0.1Vステップで順次ステップアップするので、継続的にしきい値電圧の上昇率が抑えられる。従って、図７の場合と比べて、第２段階書き込み中におけるメモリセルのしきい値電圧がほぼ一定となるように制御でき、精度良くしきい値電圧の分布幅を縮めることができる。
【００７２】
また、第２段階書き込みベリファイ電圧にしきい値電圧が達したと検出されたメモリセルのビット線電圧VBLがVddとされ、メモリセル毎に書き込みが禁止されていく。第２段階書き込みになって、数パルスの間はしきい値電圧の上昇が例えばほぼ0.1V/パルスに抑制されるため、しきい値電圧は0.1Vの分布幅しか持たない。
【００７３】
図７の場合、第２段階書き込みに入った直後は、しきい値電圧の上昇率が必要以上に抑え込まれるので、第２段階書き込みには時間がかかっていた。これに対し、図８の場合には、第２段階書き込みに入った直後のビット線電圧VBLの増加を、図７の場合の0.4Vよりも小さな0.3Vとし、第２段階書き込みに入った後は0.3Vに上昇したビット線電圧VBLの値をさらに0.1Vづつステップアップさせるようにしている。このため、図７のように第２段階書き込みに入った直後に、しきい値電圧の上昇率が必要以上に抑え込まれることがなくなり、図７の場合と比べて書き込み時間を短くすることができる。
【００７４】
ここで、第１段階書き込みベリファイ電圧を“10”第１段階書き込みベリファイ電圧とし、第２段階書き込みベリファイ電圧を“10”第２段階書き込みベリファイ電圧とすることで、“10”書き込みが行われる。
【００７５】
また、第２段階書き込みに入ってからビット線電圧VBLが例えば３回ステップアップした後、つまり第２段階書き込みに入ってから一定時間が経過すると、書き込みが禁止される。
【００７６】
また、図８に示すように、第１、第２段階書き込み時に、書き込み電圧Vpgmの値は0.3Vつづ増加するように変化させて書き込みが行われる。この書き込み電圧Vpgmの増加率0.3Vは、第１段階書き込みベリファイ電圧と第２段階書き込みベリファイ電圧との差の電圧である0.2Vよりも大きくされている。
【００７７】
図９は、この実施形態の多値フラッシュメモリにおける同一メモリセルへの上位ページデータの書き込み方法と、しきい値電圧の変化状態を示している。図７、図８の場合と同様に、白抜きの四角は書き込み易いメモリセルのしきい値電圧及びこのメモリセルに供給される書き込み制御電圧（ビット線BLの電圧VBL）を示し、黒の四角は書き込み難いメモリセルのしきい値電圧及びこのメモリセルに供給される書き込み制御電圧（ビット線BLの電圧VBL）を示している。この２つのメモリセルは同一ページのそれぞれのカラムのデータを記憶する。
【００７８】
白抜きの四角で示される書き込み易いメモリセルは、初期状態では消去されており負のしきい値電圧を持っており、このメモリセルは“01”状態に書き込まれるとする。黒の四角で示されるメモリセルは、初期状態では“10”の状態に既に書き込まれており、このメモリセルは“00”状態に書き込まれるとする。
【００７９】
書き込み電圧Vpgmは複数のパルスに分割されており、１パルス毎に例えば0.3Vづつ上昇する。すなわち、書き込み電圧Vpgmの１パルス当たりの増加分Dvpgmは0.3Vである。書き込み制御電圧であるビット線BLの電圧VBLが0Vにされて第１段階書き込みが行われる。そして、数パルス後には、しきい値電圧は書き込み電圧Vpgmの電圧増加分と同じ0.3V/パルスの速度で上がっていく。書き込みパルスが印加された後毎に“01”第１段階書き込みベリファイと“01”第２段階書き込みベリファイが行われ、その後、“00”第１段階書き込みベリファイと“00”第２段階書き込みベリファイが行われる。
【００８０】
白抜きの四角で示される書き込み易いメモリセルのしきい値電圧が“01”第１段階書き込みベリファイに達したと検出されたら、その後、ビット線電圧VBLが0.3Vにされ、第２段階書き込みに移る。第２段階書き込み中、ビット線電圧VBLは0.3Vから例えば0.1Vづつステップアップされる。黒の四角で示されるメモリセルのしきい値電圧が“00”第１段階書き込みベリファイ電圧に達したと検出されたら、その後、ビット線電圧VBLは0.3Vにされ、第２段階書き込みに移る。第２段階書き込み中、ビット線電圧VBLは0.3Vから例えば0.1Vづつステップアップされる。
【００８１】
白抜きの四角で示されるメモリセルのしきい値電圧が“01”第２段階書き込みベリファイ電圧に達したと検出されたら、その後、ビット線電圧VBLがVddにされ、書き込みが禁止される。さらに、黒の四角で示されるメモリセルのしきい値電圧が“00”第２段階書き込みベリファイ電圧に達したと検出されたら、その後、ビット線電圧VBLがVddにされ、書き込みが禁止される。
【００８２】
データ“01”及び“00”の両方に関し、第２段階書き込みになってから、書き込み電圧の数パルスの間（本例では２パルスの間）は、しきい値電圧の増加分が例えばほぼ0.1V/パルスに抑制されるため、しきい値電圧は0.1Vの分布幅しか持たない。すなわち、精度良くしきい値電圧の分布幅を縮めることかできる。
【００８３】
図１０は、この実施形態の多値フラッシュメモリにおいて、１つのメモリセルに対する下位ページのデータ書き込み時の制御アルゴリズムを示している。
【００８４】
まず、ホストからのデータ入力コマンドを受け取り、ステートマシン８にデータ入力コマンドを設定する（ステップＳ１）。ホストからのアドレスデータを受け取り、ステートマシン８に書き込みページを選択するためのアドレスを設定する（ステップＳ２）。次に、１ページ分の書き込みデータを受け取り、それぞれの対応するデータ記憶部DS1に書き込みデータを設定する（ステップＳ３）。ホストが発行した書き込みコマンドを受け取り、ステートマシン８に書き込みコマンドを設定する（ステップＳ４）。書き込みコマンドが設定されて、Ｓ５からＳ１６のステップが自動的に内部でステートマシン８によって起動される。
【００８５】
各データ記憶部DS1のデータは対応するデータ記憶部DS2にコピーされる（ステップＳ５）。その後、書き込み電圧Vpgmの初期値を12Vに設定し、また、書き込みカウンタPCを０に設定する（ステップＳ６）。データ記憶部DS1のデータが０でかつデータ記憶部DS2のデータが０なら第１段階書き込みであるので、書き込み制御電圧であるビット線BLの電圧VBLを0Vにする。データ記憶部DS1のデータが０かつデータ記憶部DS2のデータが１なら第２段階書き込みであるので、書き込み制御電圧であるビット線BLの電圧VBLを0.3V+0.1V*DS2にする。また、データ記憶部DS1のデータが１なら書き込み禁止であるので、書き込み制御電圧であるビット線BLの電圧VBLをVddにする（ステップＳ７）。
【００８６】
設定された書き込み電圧Vpgmと書き込み制御電圧VBLとを用いて１ページ分のメモリセルに対して書き込みパルスを与える書き込みステップを実行する（ステップＳ８）。全てのデータ記憶部DS2のデータが１以上か否かを検出し、全て１以上ならば第１段階ステータスをパスと判断し、そうでなければパスでないと判断する（ステップＳ９）。後述するが、全てのデータ記憶部DS2のデータが１以上であれば、前段の書き込みステップ（ステップＳ８）で第１段階書き込みされたメモリセルは無い。
【００８７】
第１段階ステータスがパスでなければ、“10”第１段階書き込みベリファイが起動され（ステップＳ１０）、１ページ分のメモリセルのうち検出結果がパスとなったメモリセルに対応するデータ記憶部DS2のデータを０から１に変える。データ記憶部DS2のデータが１以上（DS2＞0）であるものは、DS2の値に１を加える。例えば、DS2の値が１なら、その１に１を加えて２とする。
【００８８】
第１段階ステータスがパスの場合、あるいは“10”第１段階書き込みベリファイが終了すると、“10”第２段階書き込みベリファイが起動される（ステップＳ１１）。１ページ分のメモリセルのうち検出結果がパスとなったメモリセルに対応するデータ記憶部DS1のデータを０から１に変える。データ記憶部DS1のデータが１であるものは、その１状態を保持する。ここで、データ記憶部DS1のデータが２なら、データ記憶部DS1のデータを強制的に１にしてもよい。この場合、第２段階書き込みは常に２回行われて終了することになる。図８の例で、第２段階書き込み中に、メモリセルのしきい値電圧が0.1Vづつ上昇すると、２回目に第２段階書き込みベリファイをパスする見込みがあるためである。これは、第２段階書き込みベリファイ電圧にほんの少し達していない場合、再度、第２段階書き込みみて書き込み時間が延びるのを防ぐためである。
【００８９】
“10”第２段階書き込みベリファイ後、全てのデータ記憶部DS1のデータが１か否かを検出し、全て１なら第２段階ステータスをパスと判断し、そうでなければパスでないと判断する（ステップＳ１２）。第２段階ステータスがパスであれば、正常に書き込みが終了したとして、書きこみステータスをパスに設定して書き込み終了となる（ステップＳ１３）。
【００９０】
第２段階ステータスがパスでなければ書き込みカウンタPCを調べ（ステップＳ１４）、その値が20以上であれば正常に書き込めなかったとして、書きこみステータスをフェイルに設定して書き込み終了となる（ステップＳ１５）。書き込みカウンタPCの値が20より少なければ、書き込みカウンタPCの値を１だけ増やし、さらに、書き込み電圧Vpgmの設定値を0.3V増やし（ステップＳ１６）、再度ステップＳ７を経て書き込みステップＳ８となる。なお、上記書き込み回数は20回に限定されるものではなく、適宜変更してもよい。
【００９１】
図１１は、この実施形態の多値フラッシュメモリにおいて、メモリセルに対する上位ページのデータ書き込み時の制御アルゴリズムを示している。
【００９２】
まず、ホストからのデータ入力コマンドを受け取りステートマシン８にデータ入力コマンドを設定する（ステップＳ１）。ホストからのアドレスデータを受け取り、ステートマシン８に書き込みページを選択するためのアドレスを設定する（ステップＳ２）。次に、１ページ分の書き込みデータを受け取り、それぞれのデータ記憶部DS1に対応する書き込みデータを設定する（ステップＳ３）。ホストが発行した書き込みコマンドを受け取り、ステートマシン８に書き込みコマンドを設定する（ステップＳ４）。書き込みコマンドが設定されて、Ｓ５〜Ｓ２０のステップが自動的に内部でステートマシン８によって起動される。
【００９３】
まず、“10”読み出しが起動され（ステップＳ５）、パス（メモリセルのデータが“10”）の場合は、対応するデータ記憶部DS3に０を設定する。パスでなければ対応するデータ記憶部DS3に１を設定する。次に、各データ記憶部DS1のデータを対応するデータ記憶部DS2にコピーする（ステップＳ６）。その後、書き込み電圧Vpgmの初期値を14Vに設定し、書き込みカウンタPCを０に設定する（ステップＳ７）。データ記憶部DS1のデータが０でかつデータ記憶部DS2のデータが０なら第１段階書き込みであるので、書き込み制御電圧であるビット線BLの電圧VBLを0Vにし、データ記憶部DS1のデータが０でかつデータ記憶部DS2のデータが１以上ならば第２段階書き込みであるので、書き込み制御電圧であるビット線BLの電圧VBLを0.3V+0.1V*DS2にし、さらに、データ記憶部DS1のデータが１でかつデータ記憶部DS2のデータが１なら書き込み禁止であるので、書き込み制御電圧であるビット線BLの電圧VBLをVddに設定する（ステップＳ８）。この後は、設定された書き込み電圧Vpgmと書き込み制御電圧VBLとを用いて１ページ分のメモリセルに対して書き込みパルスを与える書き込みステップとなる（ステップＳ９）。
【００９４】
データ記憶部DS3に０が記憶されているデータ記憶回路２０で、その全てのデータ記憶部DS2のデータが１以上か否かを検出し、全て１以上ならば“00”第１段階ステータスをパスと判断し、そうでなければパスでないと判断する（ステップＳ１０）。後ほど説明するが、全てのデータ記憶部DS2のデータが１以上であれば、前段の書き込みステップ（ステップＳ９）で“00”第１段階書き込みされたメモリセルは無い。
【００９５】
“00”第１段階ステータスがパスでなければ、“00”第１段階書き込みベリファイが起動され（ステップＳ１１）、１ページ分のメモリセルのうち検出結果がパスとなったメモリセルに対応しかつデータ記憶部DS3のデータが０であるデータ記憶回路２０内のデータ記憶部DS2のデータを０から１に変える。データ記憶部DS2のデータが１以上であるものは、DS2の値に１を加える。例えば、DS2が１ならば、その１に１を加えて２とする。
【００９６】
“00”第１段階ステータスがパスの場合、あるいは“00”第１段階書き込みベリファイが終了すると、“00”第２段階書き込みベリファイが起動される（ステップＳ１２）。１ページ分のメモリセルのうち検出結果がパスとなったメモリセルに対応しかつデータ記憶部DS3のデータが０であるデータ記憶回路２０中のデータ記憶部DS1のデータを０から１に変える。既にデータ記憶部DS1のデータが１であるものは、その１状態を保持する。ここで、データ記憶部DS3の値が０でかつデータ記憶部DS2の値が２なら、データ記憶部DS1のデータを強制的に１としてもよい。この場合、第２段階書き込みは常に２回行われて終了することになる。つまり、第２段階書き込みは一定時間後に終了する。図９の場合、第２段階書き込み中にメモリセルのしきい値電圧が0.1Vつづ上昇すると、２回目の書き込み後に第２段階書き込みベリファイをパスする見込みがあるためである。これにより、第２段階書き込みベリファイ電圧にほんの少し達していない場合、再度、第２段階書き込みされて、書き込み時間が延びるのを防ぐことができる。
【００９７】
次に、データ記憶部DS3に１を記憶している全てのデータ記憶回路２０で、その全てのデータ記憶部DS2のデータが１以上か否かを検出し、全て１以上なら“01”第１段階ステータスをパスと判断し、そうでなければパスでないと判断する（ステップＳ１３）。後ほど説明するが、その全てのデータ記憶部DS2のデータが１であれば、前段の書き込みステップ（ステップＳ９）で“01”第１段階書き込みされたメモリセルは無い。
【００９８】
“01”第１段階ステータスがパスでなければ、“01”第１段階書き込みベリファイが起動され（ステップＳ１４）、１ページ分のメモリセルのうち検出結果がパスとなったメモリセルに対応しかつデータ記憶部DS3のデータが１であるデータ記憶回路２０内のデータ記憶部DS2のデータを０から１に変える。データ記憶部DS3のデータが１でかつデータ記憶部DS2のデータが１以上（DS2＞１）であるものは、DS2の値に１を加える（DS2←DS2+1）。例えば、DS2が１なら、その１に１を加えて２とする。
【００９９】
“01”第１段階ステータスがパスの場合、あるいは“01”第１段階書き込みベリファイが終了すると、“01”第２段階書き込みベリファイが起動される（ステップＳ１５）。１ページ分のメモリセルのうち検出結果がパスとなったメモリセルに対応しかつデータ記憶部DS3のデータが１であるデータ記憶回路２０内のデータ記憶部DS1のデータを０から１に変える。既にデータ記憶部DS1のデータが１であるものは、その１状態を保持する。ここで、データ記憶部DS3の値が１でかつデータ記憶部DS2の値が２ならば、データ記憶部DS1の値を強制的に１としてもよい。この場合にも、第２段階書き込みは常に２回行われて終了することになる。つまり、第２段階書き込みは一定時間後に終了する。図９の場合、第２段階書き込み中にメモリセルのしきい値電圧が0.1Vつづ上昇すると、２回目の書き込み後に第２段階書き込みベリファイをパスする見込みがあるためである。これにより、第２段階書き込みベリファイ電圧にほんの少し達していない場合、再度、第２段階書き込みされて、書き込み時間が延びるのを防ぐことができる。
【０１００】
“01”第２段階書き込みベリファイ後、全てのデータ記憶部DS1のデータが１か否かを検出し、全て１なら第２段階ステータスをパスと判断し、そうでなければパスでないと判断する（ステップＳ１６）。第２段階ステータスがパスであれば、正常に書き込みが終了したとして、書きこみステータスをパスに設定して書き込み終了となる（ステップＳ１７）。第２段階ステータスがパスでなければ書き込みカウンタPCを調べ（ステップＳ１８）、その値が20以上であれば正常に書き込めなかったとして、書き込みステータスをフェイルに設定して書き込み終了となる（ステップＳ１９）。書き込みカウンタPCの値が20より少なければ、書き込みカウンタPCの値を１だけ増やし、さらに、書き込み電圧Vpgmの設定値を0.3V増加し（ステップＳ２０）、再度ステップＳ８を経て書き込みステップＳ９となる。この場合にも、上記書き込み回数は20回に限定されるものではなく、適宜変更してもよい。
【０１０１】
図１２は、この実施形態において、メモリセルの下位ページのデータの読み出しを行う際の制御アルゴリズムを示している。
【０１０２】
まず、ホストからの読み出しコマンドを受け取り、ステートマシン８に読み出しコマンドを設定する（Ｓ１）。ホストからのアドレスデータを受け取り、ステートマシン８に読み出しページを選択するためのアドレスを設定する（Ｓ２）。アドレスが設定されて、Ｓ３〜Ｓ５のステップが自動的に内部でステートマシン８によって起動される。
【０１０３】
まず始めに“01”読み出しが起動される（Ｓ３）。例えば、メモリセルのしきい値電圧が“01”データよりも低ければ、センスアンプによる読み出し結果は１となり、“01”データよりも高ければ読み出し結果は０となる。読み出した結果は対応するデータ記憶部DS3に記憶される。次に“10”読み出しが起動される（Ｓ４）。例えば、メモリセルのしきい値電圧が“10”データよりも低ければ、センスアンプによる読み出し結果は１となり、“10”データよりも高ければ読み出し結果は０となる。読み出した結果は対応するデータ記憶部DS2に記憶される。最後に“00”読み出しが起動される（Ｓ５）。例えば、メモリセルのしきい値電圧が“00”データよりも低ければ、センスアンプによる読み出し結果は１となり、“00”データよりも高ければ読み出し結果は０となる。“00”読み出しで得られた結果と、対応するデータ記憶部DS2とDS3のデータとから下位のページのデータが論理演算され、それが対応するデータ記憶部DS1に記憶される。そして、データ記憶部DS1に記憶されたデータが下位のページのデータとして外部に出力される。
【０１０４】
図１３は、この実施形態において、メモリセルの上位ページのデータの読み出しを行う際の制御アルゴリズムを示している。
【０１０５】
まず、ホストからの読み出しコマンドを受け取り、ステートマシン８に読み出しコマンドを設定する（Ｓ１）。ホストからのアドレスデータを受け取り、ステートマシン８に読み出しページを選択するためのアドレスを設定する（Ｓ２）。アドレスが設定されて、Ｓ３のステップが自動的に内部でステートマシン８によって起動される。
【０１０６】
ステップＳ３では“01”読み出しが起動される。読み出した結果は上位ページのデータであり、対応するデータ記憶部DS1に記憶される。すなわち、“01”読み出しの結果がそのまま上位のページのデータとなる。そして、データ記憶部DS1のデータが外部に出力される。
【０１０７】
以上のように、この実施の形態の多値フラッシュメモリによれば、書き込み時間の増加を抑えつつ、しきい値電圧分布幅を縮めることができて信頼性の向上を図ることができる。
【０１０８】
次にこの発明の第２の実施の形態について説明する。
【０１０９】
図１４（ａ）は、図１０及び図１１に示された第１の実施形態の書き込みステップによる書き込み時における図２（ｂ）中の各部の信号波形を示している。なお、ここでは、書き込み直後にビット線BLeの電圧は0.3Vにされ、第２段階書き込みの場合が示されている。第１の実施の形態では、書き込みステップの際、ワード線WL（WL2）に所定の書き込み電圧（図では例えば18.0V）が印加されている間中、書き込み制御電圧であるビット線BLeの電圧は0.3Vから0.1Vステップでステップアップさせて書き込みを行っている。
【０１１０】
これに対し、第２の実施の形態では、書き込み制御電圧であるビット線BLeの電圧（VBL）を第２段階書き込み時の開始から直ちに0.3Vにするのではなく、図１４（ｂ）に示すように、選択されたワード線WL2に書き込み電圧Vpgmが印加されている期間のうちの一定期間中（図中のＴwr）は書き込み制御電圧であるビット線BLeの電圧を0Vとし、その後、書き込みを禁止するようにVddとする。これにより、実効的な書き込みパルス幅が短くなり、しきい値電圧の上昇が抑えられ、書き込み制御電圧であるビット線電圧VBL（本例ではビット線BLeの電圧）を0.3Vにするのと同様の効果が得られる。この実効的なビット線電圧の値（実効電圧）は、選択されたワード線WL2に書き込み電圧Vpgmが印加されている間に、ビット線がどのくらいの期間にわたって0Vにされているかで決まる。この期間を長くすれば、実効的なビット線電圧を0.3Vにすることができる。
【０１１１】
すなわち、第１の発明の不揮発性半導体記憶装置は、電気的にデータの書き換えが可能な不揮発性半導体メモリセルと、メモリセルにデータを書き込む書き込み回路であり、メモリセルに書き込み電圧と書き込み制御電圧とを供給してメモリセルに書き込みを行ってメモリセルの書き込み状態を変化させ、書き込み制御電圧の供給状態を変えて書き込み状態の変化速度を緩和し、書き込み制御電圧の供給状態をさらに変えて緩和された書き込み状態の変化速度を制御し、書き込み状態の変化速度が緩和されている間にメモリセルに対する書き込みを終了させる書き込み回路とを具備している。
【０１１２】
さらに、第１の発明の望ましい実施形態としては次のようなものが挙げられる。
【０１１３】
（１）書き込み回路は、メモリセルに対して書き込みを行う際に書き込み電圧の値を順次増加するように変化させて書き込みを行う。
【０１１４】
（２）書き込み回路は、書き込み制御電圧の値を順次増加させて前記緩和された書き込み状態の変化速度を制御する。
【０１１５】
（３）書き込み電圧の値の増加率は、書き込み制御電圧の値の増加率より大きい。
【０１１６】
（４）書き込み回路は、メモリセルの書き込み状態が第１のレベルに達したかを検出し、メモリセルの書き込み状態が第１のレベルに達したと検出すると書き込み制御電圧の供給状態を変えて書き込み状態の変化速度を緩和する。
【０１１７】
（５）書き込み回路は、メモリセルの書き込み状態が第２のレベルに達したかを検出し、メモリセルの書き込み状態が第２のレベルに達したと検出するとメモリセルに対する書き込みを終了させる。
【０１１８】
（６）さらに、メモリセルのゲートに接続されたワード線と、メモリセルのドレインに接続されたビット線とを具備し、書き込み回路は、書き込み電圧を前記ワード線に供給し、書き込み制御電圧をビット線に供給する。
【０１１９】
（７）書き込み回路は、メモリセルに１ビットより多いデータを記憶させる。
【０１２０】
（８）書き込み回路は、書き込み制御電圧の供給状態を変えて書き込み状態の変化速度を緩和した後の一定時間後に、メモリセルに対する書き込みを終了させる。
【０１２１】
また、第２の発明の不揮発性半導体記憶装置は、電気的に書き換えが可能な不揮発性半導体メモリセルと、メモリセルにデータを書き込む書き込み回路であり、メモリセルに第１のベリファイ電圧を印加してメモリセルの書き込み状態が第１のレベルに達したかを検出し、メモリセルの書き込み状態が第１のレベルに達していなければメモリセルに書き込み電圧と第１の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、メモリセルの書き込み状態が第１のレベルに達していればメモリセルに書き込み電圧と第２の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、メモリセルに第２のベリファイ電圧を印加してメモリセルの書き込み状態が第２のレベルに達したかを検出し、メモリセルの書き込み状態が第２のレベルに達していればメモリセルに書き込み電圧と第３の実効電圧を有する書き込み制御電圧を印加して書き込みを禁止する書き込み回路とを具備し、第２の実効電圧は時間と共に値が変化するようにしている。
【０１２２】
さらに、第２の発明の望ましい実施形態としては次のようなものが挙げられる。
【０１２３】
（１）メモリセルに読み出し電圧を印加してメモリセルに記憶されているデータを読み出す読み出し回路を具備し、読み出し電圧と第２のベリファイ電圧との差は第１のベリファイ電圧と第２のベリファイ電圧の差より大きい。
【０１２４】
（２）書き込み回路は、メモリセルに対して書き込みを行う際に書き込み電圧の値を順次増加するように変化させて書き込みを行う。
【０１２５】
（３）書き込み回路は、メモリセルに対して書き込みを行う際に第２の実効電圧を順次増加させて書き込みを行う。
【０１２６】
（４）書き込み電圧の値の増加率が第２の実効電圧の増加率より大きい。
【０１２７】
（５）書き込み回路は、メモリセルに第２の実効電圧を印加した後の一定時間後に、メモリセルに対する書き込みを禁止する。
【０１２８】
（６）書き込み回路は、メモリセルに１ビットより多いデータを記憶させる。
【０１２９】
（７）書き込み回路は、メモリセルに対して書き込みを行う際に書き込み電圧の値を階段状に一定の値づつ増加するように変化させて書き込みを行い、先の一定の値は第１のベリファイ電圧と第２のベリファイ電圧との差より大きい。
【０１３０】
また、第３の発明の不揮発性半導体記憶装置は、電気的に書き換えが可能な不揮発性半導体メモリセルと、メモリセルにデータを書き込む書き込み回路であり、メモリセルの書き込み状態が第１のレベルに達していなければメモリセルに書き込み電圧と第１の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、メモリセルの書き込み状態が第１のレベルに達していればメモリセルに書き込み電圧と第２の実効電圧を有する書き込み制御電圧を印加して書き込みを行い、メモリセルの書き込み状態が第２のレベルに達していればメモリセルに書き込み電圧と第３の実効電圧を有する書き込み制御電圧を印加して書き込みを禁止する書き込み回路とを具備し、第２の実効電圧の値は時間と共に変化するようにしている。
【０１３１】
さらに、第３の発明の望ましい実施形態としては次のようなものが挙げられる。
【０１３２】
（１）書き込み回路は、メモリセルに対して書き込みを行う際に書き込み電圧の値を順次増加するように変化させて書き込みを行う。
【０１３３】
（２）書き込み回路は、メモリセルに対して書き込みを行う際に第２の実効電圧の値を順次増加させて書き込みを行う。
【０１３４】
（３）書き込み電圧の値の増加率は、第２の実効電圧の増加率より大きい。
【０１３５】
（４）書き込み回路は、メモリセルに第２の実効電圧を印加した後の一定時間後に、メモリセルに対する書き込みを禁止する。
【０１３６】
（５）書き込み回路は、メモリセルに１ビットより多いデータを記憶させる。
【０１３７】
なお、上記各実施の形態では、１つのメモリセルに対し２ビットのデータ、つまりそれぞれ４値のデータを記憶させる場合について説明したが、これは１つのメモリセルに対し４値を越えるデータを記憶させる場合にも容易に実施をすることができることはもちろんである。
【図面の簡単な説明】
【０１３８】
【図１】本発明の第１の実施の形態に係わるフラッシュメモリの全体の構成を示すブロック図。
【図２】図１中のメモリセルアレイの内部構成を示すブロック図及びメモリセルアレイ内に設けられるNAND型メモリユニットの回路図。
【図３】図１中のメモリセルアレイのカラム方向の素子構造を示す断面図。
【図４】図１中のメモリセルアレイのロウ方向の素子構造を示す断面図。
【図５】図１中のカラム制御回路の主要部の構成を抽出して示すブロック図。
【図６】第１の実施の形態の多値フラッシュメモリの多値データとメモリセルのしきい値電圧の関係を示す図。
【図７】従来の書き込み方法としきい値電圧の変化状態を示す図。
【図８】第１の実施の形態の多値フラッシュメモリにおけるデータの書き込み方法としきい値電圧の変化状態を示す図。
【図９】第１の実施の形態の多値フラッシュメモリにおける同一メモリセルへの上位ページデータの書き込み方法としきい値電圧の変化状態を示す図。
【図１０】第１の実施の形態の多値フラッシュメモリにおける下位ページのデータ書き込み時の制御アルゴリズムを示す図。
【図１１】第１の実施の形態の多値フラッシュメモリにおける上位ページのデータ書き込み時の制御アルゴリズムを示す図。
【図１２】第１の実施の形態の多値フラッシュメモリにおける下位ページのデータの読み出しを行う際の制御アルゴリズムを示す図。
【図１３】第１の実施の形態の多値フラッシュメモリにおける上位ページのデータの読み出しを行う際の制御アルゴリズムを示す図。
【図１４】第１及び第２の実施の形態による書き込みステップの信号波形図。
【符号の説明】
【０１３９】
１…メモリセルアレイ、２…カラム制御回路、３…ロウ制御回路、４…ソース線制御回路、５…Ｐウェル制御回路、６…データ入出力バッファ、７…コマンド・インターフェイス、８…ステートマシン、１０…ｐ型半導体基板、１１…ｎ型ウェル、１２…ｐ型ウェル、１３…ｎ型拡散層、１４…ｐ型拡散層、１５…ｎ型拡散層、１６…トンネル酸化膜、１７…ONO膜、２０…データ記憶回路、BLOCK…メモリセルブロック、BL…ビット線、WL…ワード線、SG…選択ゲート線、C-source…共通ソース線、Ｍ…メモリセル、S1、S2…選択ゲート、C-p-well…ウェル線、STI…素子分離、CG…制御ゲート、FG…浮遊ゲート、DS1、DS2、DS3…データ記憶部、Qn1、Qn2…ｎチャネルMOSトランジスタ。
【図１】
2005174414.tif 000004
【図２】
2005174414.tif 000005
【図３】
2005174414.tif 000006
【図４】
2005174414.tif 000007
【図５】
2005174414.tif 000008
【図６】
2005174414.tif 000009
【図７】
2005174414.tif 000010
【図８】
2005174414.tif 000011
【図９】
2005174414.tif 000012
【図１０】
2005174414.tif 000013
【図１１】
2005174414.tif 000014
【図１２】
2005174414.tif 000015
【図１３】
2005174414.tif 000016
【図１４】
2005174414.tif 000017