(57)【特許請求の範囲】
【請求項１】
複数のワード線、及び複数のビット線に接続された複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、
複数の前記ワード線、及び複数の前記ビット線の電位を制御する制御回路を具備し、
前記制御回路は、消去動作前に、第１の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、前記第１の読み出しレベルを超えているメモリセルの数“ａ”を計数し、消去動作時に、第１の消去電圧により前記メモリセルアレイの複数のメモリセルのうち、ｎ個（２以上の自然数）のメモリセルを同時に消去し、第１のベリファイレベルによりベリファイ動作を行い、前記数“ａ”の内、前記第１のベリファイレベルを超えているセルの数ｋ（ｋ＜＝ａ）（ｋは、１以上の自然数）を求め、この数“ｋ／ａ”に基づき、第２の消去電圧を決定し、前記第２の消去電圧により第２の消去動作を行うことを特徴とする半導体記憶装置。
【請求項２】
複数のワード線、及び複数のビット線に接続された複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、
複数の前記ワード線、及び複数の前記ビット線の電位を制御する制御回路を具備し、
前記制御回路は、消去動作前に、第１の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、前記第１の読み出しレベルを超えているメモリセルの数“ａ”を計数し、前記数“ａ”が規定数以上の場合、消去動作時に、第１の消去電圧により前記メモリセルアレイの複数の前記メモリセルのうち、ｎ個（２以上の自然数）のメモリセルを同時に消去し、第１のベリファイレベルによりベリファイ動作を行い、前記数“ａ”の内、前記第１のベリファイレベルを超えているセルの数ｋ（ｋ＜＝ａ）（ｋは、１以上の自然数）を求め、この数“ｋ／ａ”に応じて、第２の消去電圧を決定し、前記第１の読み出しレベルを超えているメモリセルの数“ａ”を計数し、前記数“ａ”が規定数規定数以下の場合、第２の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、第２の読み出しレベルを超えているメモリセルの数“ｂ”を計数し、消去動作時に、第１の消去電圧により前記メモリセルアレイの複数の前記メモリセルのうち、ｎ個（２以上の自然数）のメモリセルを同時に消去し、第２のベリファイレベルによりベリファイ動作を行い、前記数“ｂ”の内、前記第２のベリファイレベルを超えているセルの数ｈ（ｈ＜＝ｂ）（ｈは、１以上の自然数）を求め、この数“ｈ／ｂ”に応じて、第２の消去電圧を決定し、前記第２の消去電圧により第２の消去動作を行うことを特徴とする半導体記憶装置。
【請求項３】
複数のワード線、及び複数のビット線に接続された複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、
複数の前記ワード線、及び複数の前記ビット線の電位を制御する制御回路を具備し、
前記制御回路は、消去動作前に、第１の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、前記第１の読み出しレベルを超えているメモリセルを検出し、消去動作時に、第１の消去電圧により前記メモリセルアレイの複数のメモリセルのうち、ｎ個（２以上の自然数）のメモリセルを同時に消去し、複数のベリファイレベルによりベリファイ動作を行い、前記第１の読出しレベルを超えているメモリセルに対して、各ベリファイレベルを超えているメモリセルの数をそれぞれ計数することにより、第１の消去電圧による消去動作後の閾値電圧分布を求め、この閾値電圧分布に基づき第２の消去電圧を決定し、前記第２の消去電圧により第２の消去動作を行うことを特徴とする半導体記憶装置。
【請求項４】
複数のワード線、及び複数のビット線に接続された複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、
複数の前記ワード線、及び複数の前記ビット線の電位を制御する制御回路を具備し、
前記制御回路は、消去動作前に、第１の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、前記第１の読み出しレベルを超えているメモリセルの数“ａ”を計数し、数“ａ”が規定数以下の場合、第２の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、前記第２の読み出しレベルを超えているメモリセルを検出し、消去動作時に、第１の消去電圧により前記メモリセルアレイの複数のメモリセルのうち、ｎ個（２以上の自然数）のメモリセルを同時に消去し、複数のベリファイレベルによりベリファイ動作を行い、前記第２の読出しレベルを超えているメモリセルに対して、各ベリファイレベルを超えているメモリセルの数をそれぞれ計数することにより、第１の消去電圧による消去動作後の閾値電圧分布を求め、この閾値電圧分布に基づき第２の消去電圧を決定し、前記第２の消去電圧により第２の消去動作を行うことを特徴とする半導体記憶装置。
【請求項５】
前記制御回路は前記閾値電圧分布の中心を検出することを特徴とする請求項３又は４記載の半導体記憶装置。
【請求項６】
前記制御回路は、２分法により前記閾値電圧分布の中心を検出することを特徴とする請求項３又は４記載の半導体記憶装置。
【請求項７】
前記第１の消去電圧は、前記メモリセルの書込み及び消去回数に応じた消去電圧とすることを特徴とする請求項１乃至４のいずれかに記載の半導体記憶装置。
【請求項８】
前記制御回路は、消去動作前に、前記メモリセルの書込み及び消去回数に応じた消去電圧を設定することを特徴とする請求項７に記載の半導体記憶装置。
【請求項９】
前記第２の消去電圧は、さらに前記メモリセルの書込み及び消去回数に応じた消去電圧とすることを特徴とする請求項１乃至４のいずれかに記載の半導体記憶装置。
【請求項１０】
前記消去電圧は、前記書込み及び消去回数が第１の回数の場合、消去電圧は第１消去電圧で、前記書込み及び消去回数が第２の回数（第１の回数＜第２の回数）の場合、消去電圧は第２消去電圧（第１消去電圧＜第２消去電圧）であることを特徴とする請求項８記載の半導体記憶装置。
【請求項１１】
前記メモリセルの書込み及び消去回数は、前記半導体記憶装置内に記憶されることを特徴とする前記請求項８記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置、例えば多値データを記憶するＮＡＮＤ型フラッシュメモリに関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリは、選択されたワード線に接続された複数のセル全て、又は半数のセルが、それぞれビット線に接続され、これらビット線に接続されたラッチ回路を用いてロウ方向に並んだ全てのセル、又は半数のセル（例えば２〜４ｋＢのセル）に対して一括してデータの書き込み、又は読み出し動作が行なわれる。
【０００３】
ＮＡＮＤ型フラッシュメモリは、消去動作において、メモリセルの閾値電圧が負に設定され、書き込み動作により、メモリセル内に電子を注入することによって閾値電圧が正に設定される。消去動作は例えばブロック単位（例えば１ＭＢ単位）に行われ、複数のＮＡＮＤストリングに含まれる全てのセルが同時に消去される（例えば特許文献１参照）。
【０００４】
消去動作により、閾値電圧が負の大きな値となり、深く消去が行われた場合、セルにストレスがかかり劣化が進む。このため、データリテンション（data retention）特性が悪化する。したがって、なるべく閾値電圧が負の小さな値となるよう、浅く消去を行う必要がある。浅く消去するため、消去電圧を低くし、少しずつ消去電圧をステップアップさせ、少しずつ消去させることが可能である。しかし、この場合、消去時間が増大するとともに、セルに何度も消去パルスが印加されるため、セルにストレスがかかる。
【０００５】
このため、消去回数を抑えて、オーバーイレースにより深く消去されることを防止するため、次のような方法が提案されている。第１の提案は、低い消去電圧で消去する弱消去を行った後、消去されたセルの数を数え、消去セルの数に応じて消去電圧を設定し、次の消去動作を行う方法である（例えば特許文献２参照）。第２の提案は、弱消去後の弱消去ベリファイにおいて、ベリファイレベルを少しずつ変えて複数回読み出し動作を行い、閾値電圧分布の中心を調べ、この閾値電圧分布の中心のレベルに応じて、消去電圧を設定して、次の消去動作を行う方法である（例えば特許文献３参照）。さらに、関連技術として消去パルスの印加回数を削減して消去時間を短縮し、消去ベリファイの精度を向上することが可能な半導体記憶装置が開発されている（例えば特許文献４参照）。
【０００６】
しかし、弱消去後のメモリセルの閾値電圧の分布は一定ではなく、消去前にメモリセルに記憶されたデータの分布に依存する。このため、上記の方法によっても弱消去後、次の消去電圧を正確に設定することが困難であり、消去時間を短縮して正確に消去を行うことが困難であった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１９２７８９号公報
【特許文献２】特開２００２−２５２８３号公報
【特許文献３】特開２００２−１５７８９０号公報
【特許文献４】特開２００９−１６３７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、弱消去後、次の消去電圧を正確に設定することが可能な半導体記憶装置を提供しようとするものである。
【課題を解決するための手段】
【０００９】
本発明の半導体記憶装置の第１の態様は、複数のワード線、及び複数のビット線に接続された複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、複数の前記ワード線、及び複数の前記ビット線の電位を制御する制御回路を具備し、前記制御回路は、消去動作前に、第１の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、前記第１の読み出しレベルを超えているメモリセルの数“ａ”を計数し、消去動作時に、第１の消去電圧により前記メモリセルアレイの複数のメモリセルのうち、ｎ個（２以上の自然数）のメモリセルを同時に消去し、第１のベリファイレベルによりベリファイ動作を行い、前記数“ａ”の内、前記第１のベリファイレベルを超えているセルの数ｋ（ｋ＜＝ａ）（ｋは、１以上の自然数）を求め、この数“ｋ／ａ”に基づき、第２の消去電圧を決定し、前記第２の消去電圧により第２の消去動作を行うことを特徴とする。
【００１０】
本発明の半導体記憶装置の第２の態様は、複数のワード線、及び複数のビット線に接続された複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、複数の前記ワード線、及び複数の前記ビット線の電位を制御する制御回路を具備し、前記制御回路は、消去動作前に、第１の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、前記第１の読み出しレベルを超えているメモリセルの数“ａ”を計数し、前記数“ａ”が規定数以上の場合、消去動作時に、第１の消去電圧により前記メモリセルアレイの複数の前記メモリセルのうち、ｎ個（２以上の自然数）のメモリセルを同時に消去し、第１のベリファイレベルによりベリファイ動作を行い、前記数“ａ”の内、前記第１のベリファイレベルを超えているセルの数ｋ（ｋ＜＝ａ）（ｋは、１以上の自然数）を求め、この数“ｋ／ａ”に応じて、第２の消去電圧を決定し、前記第１の読み出しレベルを超えているメモリセルの数“ａ”を計数し、前記数“ａ”が規定数規定数以下の場合、第２の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、第２の読み出しレベルを超えているメモリセルの数“ｂ”を計数し、消去動作時に、第１の消去電圧により前記メモリセルアレイの複数の前記メモリセルのうち、ｎ個（２以上の自然数）のメモリセルを同時に消去し、第２のベリファイレベルによりベリファイ動作を行い、前記数“ｂ”の内、前記第２のベリファイレベルを超えているセルの数ｈ（ｈ＜＝ｂ）（ｈは、１以上の自然数）を求め、この数“ｈ／ｂ”に応じて、第２の消去電圧を決定し、前記第２の消去電圧により第２の消去動作を行うことを特徴とする。
【００１１】
本発明の半導体記憶装置の第３の態様は、複数のワード線、及び複数のビット線に接続された複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、複数の前記ワード線、及び複数の前記ビット線の電位を制御する制御回路を具備し、前記制御回路は、消去動作前に、第１の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、前記第１の読み出しレベルを超えているメモリセルを検出し、消去動作時に、第１の消去電圧により前記メモリセルアレイの複数のメモリセルのうち、ｎ個（２以上の自然数）のメモリセルを同時に消去し、複数のベリファイレベルによりベリファイ動作を行い、前記第１の読出しレベルを超えているメモリセルに対して、各ベリファイレベルを超えているメモリセルの数をそれぞれ計数することにより、第１の消去電圧による消去動作後の閾値電圧分布を求め、この閾値電圧分布に基づき第２の消去電圧を決定し、前記第２の消去電圧により第２の消去動作を行うことを特徴とする。
【００１２】
本発明の半導体記憶装置の第４の態様は、複数のワード線、及び複数のビット線に接続された複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、複数の前記ワード線、及び複数の前記ビット線の電位を制御する制御回路を具備し、前記制御回路は、消去動作前に、第１の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、前記第１の読み出しレベルを超えているメモリセルの数“ａ”を計数し、数“ａ”が規定数以下の場合、第２の読み出しレベルで選択されたワード線に接続されたメモリセルからデータを読み出し、前記第２の読み出しレベルを超えているメモリセルを検出し、消去動作時に、第１の消去電圧により前記メモリセルアレイの複数のメモリセルのうち、ｎ個（２以上の自然数）のメモリセルを同時に消去し、複数のベリファイレベルによりベリファイ動作を行い、前記第２の読出しレベルを超えているメモリセルに対して、各ベリファイレベルを超えているメモリセルの数をそれぞれ計数することにより、第１の消去電圧による消去動作後の閾値電圧分布を求め、この閾値電圧分布に基づき第２の消去電圧を決定し、前記第２の消去電圧により第２の消去動作を行うことを特徴とする。
【発明の効果】
【００１３】
本発明は、弱消去後、次の消去電圧を正確に設定することが可能な半導体記憶装置を提供できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に適用される半導体記憶装置の一例を示す構成図。
【図２】図１に示すメモリセルアレイ及びビット線制御回路の一例を示す回路図。
【図３】図１に示すメモリセルアレイ及びビット線制御回路の他の例を示す回路図。
【図４】図４（ａ）はメモリセルの断面図、図４（ｂ）は選択ゲートの断面図。
【図５】本発明の実施形態に適用される半導体記憶装置を概略的に示す断面図。
【図６】メモリセルの各部に供給される電圧の例を示す図。
【図７】図２、図３に示すデータ記憶回路１０の一例を示す回路図。
【図８】図８（ａ）は、メモリセルの閾値電圧分布と読み出しレベル、ベリファイレベルの関係を示す図、図８（ｂ）は、消去ベリファイレベルを示す図、図８（ｃ）はソフトプログラムベリファイレベルを示す図。
【図９】読み出し動作を概略的に示すフローチャート。
【図１０】読み出し、ベリファイ動作を説明するために示す波形図。
【図１１】書き込み動作を概略的に示すフローチャート。
【図１２】書き込み動作を説明するために示す波形図。
【図１３】一般的な消去動作を概略的に示すフローチャート。
【図１４】消去動作を説明するために示す波形図。
【図１５】ソースフロワー方式の消去ベリファイ動作を説明するために示す波形図。
【図１６】ＥＡＳＢ（Erase self boost）方式の書き込み動作を説明するために示す図。
【図１７】図１７（ａ）は、第１の実施形態に係わるメモリセルの閾値電圧の遷移を示す図、図１７（ｂ）は消去ベリファイレベルを示す図。
【図１８】第１の実施形態に係る消去動作を示すフローチャート。
【図１９】第２の実施形態に係る消去動作の一部を示すフローチャート。
【図２０】第２の実施形態に係る消去動作の一部を示すフローチャート。
【図２１】第１の実施形態に係る消去動作を示す図。
【図２２】第３の実施形態に係る消去動作を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１６】
図１は、本発明の実施形態に適用される半導体記憶装置、例えば４値（２ビット）を記憶することが可能なＮＡＮＤ型フラッシュメモリの構成を示している。
【００１７】
メモリセルアレイ１は、複数のビット線と複数のワード線と共通ソース線を含み、例えばＥＥＰＲＯＭセルからなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。このメモリセルアレイ１には、ビット線を制御するためのビット制御線回路２とワード線制御回路６が接続されている。
【００１８】
ビット線制御回路２は、ビット線を介してメモリセルアレイ１中のメモリセルのデータを読み出したり、ビット線を介してメモリセルアレイ１中のメモリセルの状態を検出したり、ビット線を介してメモリセルアレイ１中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行なう。ビット線制御回路２には、カラムデコーダ３、データ入出力バッファ４が接続されている。ビット線制御回路２内のデータ記憶回路はカラムデコーダ３によって選択される。データ記憶回路に読み出されたメモリセルのデータは、前記データ入出力バッファ４を介してデータ入出力端子５から外部へ出力される。データ入出力端子５は、例えばメモリチップ外部の図示せぬホストに接続される。このホストは例えばマイクロコンピュータにより構成され、前記データ入出力端子５から出力されたデータを受ける。さらに、ホストは、ＮＡＮＤ型フラッシュメモリの動作を制御する各種コマンドＣＭＤ、アドレスＡＤＤ、及びデータＤＴを出力する。ホストからデータ入出力端子５に入力された書き込みデータは、データ入出力バッファ４を介して、カラムデコーダ３によって選択されたデータ記憶回路に供給され、コマンド及びアドレスは制御信号及び制御電圧発生回路７に供給される。
【００１９】
ワード線制御回路６は、メモリセルアレイ１に接続されている。このワード線制御回路６は、メモリセルアレイ１中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。
【００２０】
メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４、及びワード線制御回路６は、制御信号及び制御電圧発生回路７に接続され、この制御信号及び制御電圧発生回路７によって制御される。制御信号及び制御電圧発生回路７は、制御信号入力端子８に接続され、ホストから制御信号入力端子８を介して入力される制御信号ＡＬＥ（アドレス・ラッチ・イネーブル）、ＣＬＥ（コマンド・ラッチ・イネーブル）、ＷＥ（ライト・イネーブル）、ＲＥ（リード・イネーブル）によって制御される。
【００２１】
前記ビット線制御回路２、カラムデコーダ３、ワード線制御回路６、制御信号及び制御電圧発生回路７は書き込み回路、読み出し回路及び消去回路を構成している。
【００２２】
図２は、図１に示すメモリセルアレイ１及びビット線制御回路２の構成を示している。メモリセルアレイ１には複数のＮＡＮＤストリングが配置されている。１つのＮＡＮＤストリングは、直列接続された例えば３２個のＥＥＰＲＯＭからなるメモリセルＭＣと、選択ゲートＳ１、Ｓ２とにより構成されている。選択ゲートＳ２はビット線ＢＬ０ｅに接続され、選択ゲートＳ１はソース線ＳＲＣに接続されている。各ロウに配置されたメモリセルＭＣの制御ゲートはワード線ＷＬ０〜ＷＬ２９、ＷＬ３０、ＷＬ３１に共通接続されている。また、選択ゲートＳ２はセレクト線ＳＧＤに共通接続され、選択ゲートＳ１はセレクト線ＳＧＳに共通接続されている。
【００２３】
ビット線制御回路２は複数のデータ記憶回路１０を有している。各データ記憶回路１０には、一対のビット線（ＢＬ０ｅ、ＢＬ０ｏ）、（ＢＬ１ｅ、ＢＬ１ｏ）…（ＢＬｉｅ、ＢＬｉｏ）、（ＢＬ８ｋｅ、ＢＬ８ｋｏ）が接続されている。
【００２４】
メモリセルアレイ１は、破線で示すように、複数のブロックを含んでいる。各ブロックは、複数のＮＡＮＤストリングにより構成され、例えばこのブロック単位でデータが消去される。また、消去動作は、データ記憶回路１０に接続されている２本のビット線について同時に行なわれる。
【００２５】
また、ビット線の１つおきに配置され、１つのワード線に接続された複数のメモリセル（破線で囲まれた範囲のメモリセル）は、１セグメントを構成する。このセグメント毎にデータが書き込まれ、読み出される。
【００２６】
リード動作、プログラムベリファイ動作及びプログラム動作において、データ記憶回路１０に接続されている２本のビット線（ＢＬｉｅ、ＢＬｉｏ）のうち外部より供給されるアドレス信号（ＹＡ０、ＹＡ１…ＹＡｉ…ＹＡ８ｋ）に応じて１本のビット線が選択される。さらに、外部アドレスに応じて、１本のワード線が選択される。
【００２７】
さらに、外部アドレスにより、１本のワード線が選択され、図２の点線で示す、２ページが選択される。この２ページの切り替えはアドレスによって行われる。１セルに２ビットを記憶する場合は、２ページであるが、１セルに３ビット記憶する場合は３ページ、１セルに４ビット記憶する場合は４ページ選択される。消去動作は、図２の点線で示しているブロック単位で行う。
【００２８】
図３は、ロウ方向に並んだ全てのセルを一括して書き込む場合の構成を示している。この例の場合、各ビット線ＢＬ０，ＢＬ１…ＢＬ８ｋ−１，ＢＬ８ｋは、それぞれデータ記憶回路１０に接続され、各データ記憶回路１０には、アドレス信号ＹＡ０、ＹＡ１…ＹＡ８ｋ−１、ＹＡ８ｋがそれぞれ供給されている。
【００２９】
図４（ａ）はメモリセル、図４（ｂ）は選択ゲートの断面図を示している。図４（ａ）において、基板５１（後述するＰ型ウェル領域５５）にはメモリセルのソース、ドレインとしてのｎ型拡散層４２が形成されている。Ｐ型ウェル領域５５の上にはゲート絶縁膜４３を介して浮遊ゲート（ＦＧ）４４が形成され、この浮遊ゲート４４の上には絶縁膜４５を介して制御ゲート（ＣＧ）４６が形成されている。図４（ｂ）において、Ｐ型ウェル領域５５にはソース、ドレインとしてのｎ型拡散層４７が形成されている。Ｐ型ウェル領域５５の上にはゲート絶縁膜４８を介して制御ゲート４９が形成されている。
【００３０】
図５は、半導体記憶装置の断面図を示している。例えばＰ型半導体基板５１内には、Ｎ型ウェル領域５２、５３、５４、Ｐ型ウェル領域５６が形成されている。Ｎ型ウェル領域５２内にはＰ型ウェル領域５５が形成され、このＰ型ウェル領域５５内にメモリセルアレイ１を構成する低電圧ＮチャネルトランジスタＬＶＮＴｒが形成されている。さらに、前記Ｎ型ウェル領域５３、Ｐ型ウェル領域５６内に、データ記憶回路１０を構成する低電圧ＰチャネルトランジスタＬＶＰＴｒ、低電圧ＮチャネルトランジスタＬＶＮＴｒが形成されている。前記基板５１内には、ビット線とデータ記憶回路１０を接続する高電圧ＮチャネルトランジスタＨＶＮＴｒが形成されている。また、前記Ｎ型ウェル領域５４内には例えばワード線駆動回路等を構成する高電圧ＰチャネルトランジスタＨＶＰＴｒが形成されている。図５に示すように、高電圧トランジスタＨＶＮＴｒ、ＨＶＰＴｒは、低電圧トランジスタＬＶＮＴｒ、ＬＶＰＴｒに比べて例えば厚いゲート絶縁膜を有している。
【００３１】
図６は、メモリセルの消去、プログラム、リード時において、図５に示す各部に供給される電圧の例を示している。
【００３２】
図７は、図２、図３に示すデータ記憶回路１０の一例を示す回路図である。
【００３３】
このデータ記憶回路１０は、プライマリデータキャッシュ（ＰＤＣ）、セコンダリデータキャッシュ（ＳＤＣ）、ダイナミックデータキャッシュ（ＤＤＣ０）、ダイナミックデータキャッシュＱ（ＤＤＣ１）、テンポラリデータキャッシュ（ＴＤＣ）を有している。ＳＤＣ、ＰＤＣ、ＤＤＣ０は、書き込み時に入力データを保持し、読み出し時に読み出しデータを保持し、ベリファイ時に一時的にデータを保持し、多値データを記憶する際に内部データの操作に使用される。ＴＤＣは、データの読み出し時にビット線のデータを増幅し、一時的に保持するとともに、多値データを記憶する際に内部データの操作に使用される。
【００３４】
ＳＤＣは、ラッチ回路を構成するクロックドインバータ回路６１ａ、６１ｂ、及びトランジスタ６１ｃ、６１ｄにより構成されている。トランジスタ６１ｃはクロックドインバータ回路６１ａの入力端と、クロックドインバータ回路６１ｂの入力端の間に接続されている。このトランジスタ６１ｃのゲートには信号ＥＱ２が供給されている。トランジスタ６１ｄはクロックドインバータ回路６１ｂの出力端と接地間に接続されている。このトランジスタ６１ｄのゲートには信号ＰＲＳＴが供給されている。ＳＤＣのノードＮ２ａは、カラム選択トランジスタ６１ｅを介して入出力データ線ＩＯに接続され、ノードＮ２ｂは、カラム選択トランジスタ６１ｆを介して入出力データ線ＩＯｎに接続される。これらトランジスタ６１ｅ、６１ｆのゲートにはカラム選択信号ＣＳＬｉが供給されている。ＳＤＣのノードＮ２ａは、トランジスタ６１ｇ、６１ｈを介してＰＤＣのノードＮ１ａに接続されている。トランジスタ６１ｇのゲートには信号ＢＬＣ２が供給され、トランジスタ６１ｈのゲートには信号ＢＬＣ１が供給されている。
【００３５】
ＰＤＣは、クロックドインバータ回路６１ｉ、６１ｊ及びトランジスタ６１ｋにより構成されている。トランジスタ６１ｋは、クロックドインバータ回路６１ｉの入力端とクロックドインバータ回路６１ｊの入力端の相互間に接続されている。このトランジスタ６１ｋのゲートには信号ＥＱ１が供給されている。ＰＤＣのノードＮ１ｂはトランジスタ６１ｌのゲートに接続されている。このトランジスタ６１ｌの電流通路の一端はトランジスタ６１ｍを介して接地されている。このトランジスタ６１ｍのゲートには信号ＣＨＫ１が供給されている。また、トランジスタ６１ｌの電流通路の他端はトランスファーゲートを構成するトランジスタ６１ｎ、６１ｏの電流通路の一端に接続されている。このトランジスタ６１ｎのゲートには信号ＣＨＫ２ｎが供給されている。また、トランジスタ６１ｏのゲートは前記クロックドインバータ回路６１ａの出力端に接続されている。トランジスタ６１ｎ、６１ｏの電流通路の他端には、配線ＣＯＭｉが接続されている。この配線ＣＯＭｉは全データ記憶回路１０に共通の配線であり、全データ記憶回路１０のベリファイが完了した場合、配線ＣＯＭｉの電位はハイレベルとなる。すなわち、後述するように、ベリファイが完了すると、ＰＤＣのノードＮ１ｂがローレベルとなる。この状態において、信号ＣＨＫ１、ＣＨＫ２ｎをハイレベルとすると、ベリファイが完了している場合、配線ＣＯＭｉの電位はハイレベルとなる。
【００３６】
さらに、前記ＴＤＣは、例えばＭＯＳキャパシタ６１ｐにより構成されている。このキャパシタ６１ｐは、一端が前記トランジスタ６１ｇ、６１ｈの接続ノードＮ３に接続され、他端に信号ＢＯＯＳＴが供給される。また、接続ノードＮ３には、トランジスタ６１ｑを介してＤＤＣ０が接続されている。トランジスタ６１ｑのゲートには、信号ＲＥＧ０が供給されている。
【００３７】
ＤＤＣ０は、トランジスタ６１ｒ、６１ｓにより構成されている。トランジスタ６１ｒの電流通路の一端には信号ＶＰＲＥが供給され、他端は前記トランジスタ６１ｑの電流通路に接続されている。このトランジスタ６１ｒのゲートはトランジスタ６１ｓを介して前記ＰＤＣのノードＮ１ａに接続されている。このトランジスタ６１ｓのゲートには信号ＤＴＧ０が供給されている。
【００３８】
ＤＤＣ１は、トランジスタ６１Ｑｒ、６１Ｑｓにより構成されている。トランジスタ６１Ｑｒの電流通路の一端には信号ＶＰＲＥが供給され、他端は前記トランジスタ６１Ｑｑを介して接続ノードＮ３に接続されている。トランジスタ６１Ｑｑのゲートには、信号ＲＥＧ１が供給されている。トランジスタ６１Ｑｒのゲートはトランジスタ６１Ｑｓを介して前記ＰＤＣのノードＮ１ａに接続されている。このトランジスタ６１Ｑｓのゲートには信号ＤＴＧ１が供給されている。
【００３９】
さらに、前記接続ノードＮ３にはトランジスタ６１ｔ、６１ｕの電流通路の一端が接続されている。トランジスタ６１ｕの電流通路の他端には信号ＶＰＲＥが供給され、ゲートにはＢＬＰＲＥが供給されている。前記トランジスタ６１ｔのゲートには信号ＢＬＣＬＡＭＰが供給されている。このトランジスタ６１ｔの電流通路の他端はトランジスタ６１ｖを介してビット線ＢＬｏの一端に接続され、トランジスタ６１ｗを介してビット線ＢＬｅの一端に接続されている。
【００４０】
上記各信号及び電圧は、図１に示す制御信号及び制御電圧発生回路７により生成され、この制御信号及び制御電圧発生回路７の制御に基づき、以下の動作が制御される。
【００４１】
図７は、図２に示すデータ記憶回路１０であるが、図３に示すデータ記憶回路１０は、図７に示す構成と同様であり、ビット線との接続のみが相違している。すなわち、図７の破線で示すように、トランジスタ６１ｔの他端部には、例えばトランジスタ６１ｖのみが接続され、このトランジスタ６１ｖを介してビット線ＢＬｅ又はＢＬｏが接続される。
【００４２】
本メモリは、多値メモリであり、１セルに２ビットのデータを記憶することができる。２ビットの切り替えはアドレス（第１ページ、第２ページ）によって行なう。１セルに２ビットを記憶する場合、２ページであるが、１セルに３ビットを記憶する場合、３ページであり、アドレス（第１ページ、第２ページ、第３ページ）によって切り換える。さらに、１セルに４ビットを記憶する場合は、４ページであり、アドレス（第１ページ、第２ページ、第３ページ、第４ページ）によって切り換える。
【００４３】
図８（ａ）は、メモリセルのデータとメモリセルの閾値電圧の関係を示している。以下、１セルに２ビットを記憶する４値の場合について説明する。
【００４４】
消去動作を行なうとメモリセルのデータは０となる。第１ページと第２ページの書き込みにより、メモリセルのデータはデータ“０”、“１”、“２”、“３”となる。本例において、メモリセルのデータは閾値電圧の低い方から高い方へと、定義されている。
【００４５】
（読み出し動作）
図８（ａ）に示すように、書き込まれた場合、メモリセルのデータは、“０”、“１”、“２”、“３”のいずれかにある。このため、読み出し動作において、“ａ”、“ｂ”、“ｃ”のレベルが用いられる。これらのレベル“ａ”、“ｂ”、“ｃ”は、それぞれ各閾値電圧分布のほぼ中間電位である。
【００４６】
図９は、読み出し動作のフローチャートを示している。読み出し時、選択セルのデータが読み出しレベル“ａ”、“ｂ”、“ｃ”により順次読み出される（ステップＳ１１，Ｓ１２，Ｓ１３）。これにより、２ビットのデータをセルから読み出すことができる。
【００４７】
図１０は、読み出し（リード）及び、ベリファイリード動作の波形を示している。先ず、選択セルのウェル、ソース線、非選択ビット線を０Ｖとする。
【００４８】
選択ワード線にリードの時の電位“ａ”、“ｂ”、“ｃ”（例えば“ａ”＝０Ｖ）を供給する。これと同時に、選択ブロックの非選択ワード線に電圧Ｖｒｅａｄ、選択ブロックのセレクト線ＳＧＤに電圧ＶＳＧ（Ｖｄｄ＋Ｖｔｈ＋Ｖｘ）、セレクト線ＳＧＳに電圧Ｖｓｓ（例えば接地電位）を供給する。さらに、図７に示すデータ記憶回路１０の信号ＶＰＲＥをＶｄｄ（例えば２．５Ｖ）、信号ＢＬＰＲＥを電圧ＶＳＧ、信号ＢＬＣＬＡＭＰを例えば（０．６Ｖ＋Ｖｔｈ＋Ｖｘ）に一旦設定し、ビット線を例えば（０．６Ｖ＋Ｖｘ）にプリチャージする。
【００４９】
次に、セルのソース側のセレクト線ＳＧＳを電圧ＶＳＧに設定する。セルの閾値電圧が電位“ａ”又は“ｂ”、“ｃ”（例えばａ＝０Ｖ）より高い時、セルはオフするためビット線はハイレベル（例えば０．６Ｖ＋Ｖｘ）のままとなる。また、セルの閾値電圧が電位“ａ”又は“ｂ”、“ｃ”より低い場合、セルはオンするためビット線が放電され、ソースと同電位、つまりＶｘとなる。
【００５０】
この後、データ記憶回路１０の信号ＢＬＰＲＥを一旦ＶＳＧに設定し、ＴＤＣのノードＮ３をＶｄｄにプリチャージした後、信号ＢＯＯＳＴをＶｓｓからＶｄｄにする。これによりＴＤＣのノードＮ３は２Ｖｄｄとなる。次に、信号ＢＬＣＬＡＭＰを例えば（０．４５Ｖ＋Ｖｔｈ＋Ｖｘ）に設定する。ＴＤＣのノードＮ３は、ビット線の電位が０．４５Ｖ＋Ｖｘより低い場合、ローレベルとなり、ビット線の電位が０．４５Ｖ＋Ｖｘより高い場合、ハイレベルのままとなる。ここで、信号ＢＯＯＳＴをＶｄｄからＶｓｓにした後、信号ＢＬＣ１を電圧ＶＳＧとして、ＴＤＣの電位をＰＤＣに読み込む。したがって、セルの閾値電圧が、“ａ”、“ｂ”、“ｃ”のレベルより低い場合、ＰＤＣのノードＮ１ａはローレベル、高い場合、ＰＤＣのノードＮ１ａはハイレベルとなる。
【００５１】
（プログラム及びプログラムベリファイ）
図１１は、プログラム動作（書き込み動作）のフローチャートを示している。プログラム動作は、先ず、アドレスを指定し、例えば図２又は図３に示す２ページが選択される。本例のメモリは、第１ページ、第２ページが同時に書き込まれる。外部より供給された書き込みデータとしての第１ページのデータは、全てのデータ記憶回路１０内のＳＤＣに記憶される。この後、全てのデータ記憶回路１０内のＳＤＣのデータがＰＤＣに転送される。次に、第２ページのデータが全てのデータ記憶回路１０内のＳＤＣに記憶される（Ｓ２１）。この後、データが操作され、ＳＤＣ、ＰＤＣ、ＤＤＣは、入力データに応じて、データがセットされる。ここで、ＰＤＣのノードＮ１ａが“０”（ローレベル）の場合、データが書き込まれ、“１”（ハイレベル）の場合、非書き込みとなる。
【００５２】
（プログラム動作）（Ｓ２２）
図１２は、プログラム動作の波形を示している。上記状態において、データ記憶回路１０の信号ＢＬＣ１が電圧Ｖｄｄ＋Ｖｔｈに設定される。ＰＤＣにデータ“１”が記憶されている時、ビット線の電位はＶｄｄとなり、データ“０”が記憶されている時、ビット線の電位はＶｓｓになる。また、図２の場合は、選択されたワード線に接続され、非選択ページ（ビット線が非選択である）のセルは書き込みが行なわれてはならない。このため、これらのセルに接続されているビット線もＰＤＣにデータ“１”が記憶されている場合と同様に、Ｖｄｄに設定される。
【００５３】
ここで、選択されているブロックのセレクト線ＳＧ１に電圧Ｖｄｄ、選択ワード線に電圧ＶＰＧＭ（２０Ｖ）、非選択ワード線に電圧ＶＰＡＳＳ（１０Ｖ）を供給する。すると、ビット線がＶｓｓである場合、セルのチャネルがＶｓｓ、ワード線がＶＰＧＭであるため書き込みが行なわれる。一方、ビット線がＶｄｄになっている場合、セルのチャネルがＶｓｓでなくＶＰＧＭを上げることにより、カップリングでＶＰＧＭ／２程度となる。このため。プログラムが行われない。
【００５４】
（プログラムベリファイリード）（Ｓ２３，Ｓ２４，Ｓ２５）
プログラムベリファイリードは、リード動作と同様であるが、選択ワード線にリード時の電位ａ、ｂ、ｃ、ｄより少し高い電位ａ’、ｂ’、ｃ’、ｄ’（例えばａ＝０Ｖとするとａ’＝０．５Ｖ）が供給される。以後、“’”はベリファイ電位を示し、リード時の電位より若干高い値とする。ベリファイ動作の結果、ターゲットの閾値電圧に達している場合、データ記憶回路１０のＰＤＣのノードＮ１ａは“１”にセットされ、次回の書き込み動作では、書き込み非選択となる。この後、全てのセルのベリファイがパスしたかが、信号線ＣＯＭｉを用いて判別される（Ｓ２６）。この結果、書き込み不十分なセルがある場合、プログラム電圧が僅かにステップアップされ（Ｓ２７）、全てのセルのベリファイがパスするまで、上記と同様にして、プログラム及びプログラムベリファイが繰り返される。書き込み後、メモリセルのデータは、図８（ａ）に示すように、データ“０”、“１”、“２”、“３”となる。
【００５５】
（消去動作）
図１３は、一般的な消去動作のフローチャートを示している。消去動作は、図２に点線で示すブロック単位で行われる。先ず、アドレスが指定され、指定されたブロックが消去される（Ｓ３２）。消去動作は、選択されたブロック内の全てのセルが一括して消去される。図１４は、消去動作のタイミングチャートを示している。
【００５６】
図８（ｂ）は、消去後の、セルの理想的な閾値分布を示している。このように、消去後、セルの閾値電圧は負となる。
【００５７】
次に、消去ベリファイ動作が実行される（Ｓ３３）。この場合、ソースフロワー方式の消去ベリファイを用いて、選択されたブロック内の全てのセルが一括してベリファイされる。
【００５８】
図１５は、ソースフロワー方式の消去ベリファイ動作のタイミングチャートを示している。図１５を参照してソースフロワー方式の消去ベリファイについて説明する。
【００５９】
先ず、選択されたブロック内の偶数番目のビット線に接続されている全セルを一括してベリファイする。この後、奇数番目のビット線に接続されている全を一括してベリファイする。具体的には、ワード線にベリファイレベルに応じた電圧を印加し、先ず偶数番目のビット線をＶｓｓに設定し、奇数番目の非選択ビット線をＶｄｄに設定した後、ソース線をＶｄｄとして選択ゲートＳ１，Ｓ２をオンさせる。ここで、ワード線の電圧Ｖｇが０Ｖで、ＮＡＮＤストリング内の例えば４つのセルの閾値電圧Ｖｔｈｃｅｌｌが、−２Ｖ、−１．５Ｖ、−０．５Ｖ、−１Ｖである場合、選択ビット線の電位は、｜Ｖｇ−Ｖｔｈｃｅｌｌ｜となる。このため、０Ｖ−（−０．５Ｖ（閾値電圧が一番浅いセルの閾値電圧））＝０．５Ｖとなる。
【００６０】
ここで、データ記憶回路１０のＴＤＣをＶｄｄにプリチャージした後、信号ＢＯＯＳＴをＶｓｓからＶｄｄとし、ＴＤＣのノードＮ３を２Ｖｄｄの電位に設定した後、信号ＢＬＣＬＡＭＰを０．８Ｖ＋Ｖｔｈとする。ビット線のレベルが０．５Ｖであるため、ＴＤＣはローレベルとなる。この後、信号ＢＯＯＳＴをＶｄｄからＶｓｓに設定し、信号ＢＬＣ１をＶＳＧとし、ＴＤＣのローレベルがＰＤＣに取り込まれる。
【００６１】
一方、ＮＡＮＤストリング内のセルの閾値電圧が、例えば−２Ｖ、−１．５Ｖ、−１．０Ｖ、−１．０Ｖである場合、選択ビット線の電位｜Ｖｇ−Ｖｔｈｃｅｌｌ｜は、０Ｖ−（−１Ｖ（閾値電圧が一番浅いセルの閾値電圧））＝１．０Ｖとなる。
【００６２】
ここで、データ記憶回路１０のＴＤＣをＶｄｄにプリチャージした後、信号ＢＯＯＳＴをＶｓｓからＶｄｄとし、ＴＤＣのノードＮ３を２Ｖｄｄの電位に設定した後、信号ＢＬＣＬＡＭＰを０．８＋Ｖｔｈとする。ビット線のレベルが１Ｖであるため、ＴＤＣはハイレベルとなる。この後、信号ＢＯＯＳＴをＶｄｄからＶｓｓに設定し、信号ＢＬＣ１をＶＳＧにし、ＴＤＣのハイレベルがＰＤＣに取り込まれる。
【００６３】
つまり、セルの閾値電圧が、−０．８Ｖ以下である場合、ＰＤＣが“１”となり、−０．８Ｖ以上である場合、ＰＤＣが０”となる。この後、奇数番目のビット線に接続されているメモリセルが上記と同様にベリファイされる（Ｓ３３）。これらベリファイ結果が合わせられ、選択ブロックの全てのセルが、消去ベリファイレベルに達しているかどうかが判断される（Ｓ３４）。この結果、消去ベリファイレベルに達していない場合、消去電圧が僅かに増加され（Ｓ３５）、再度消去動作、消去ベリファイ動作が実行される。このような動作が、選択ブロックの全てのセルが消去ベリファイレベルに達するまで繰り返される。この後、ソフトプログラムシーケンスが実行され（Ｓ３６）、消去後の消去レベルが深くなり過ぎないように、閾値電圧が僅かに上昇される。ソフトプログラムシーケンスは、データキャッシュが設定された後（Ｓ３６ａ）、ソフトプログラム（Ｓ３６ｂ）、ソフトプログラムベリファイ１（Ｓ３６ｃ）、ソフトプログラム電圧のステップアップ（Ｓ３６ｅ）が、全て又は規定値以上のＮＡＮＤストリングのセルがソフトプログラムベリファイレベルを超えるまで繰り返される（Ｓ３６ｄ）。
【００６４】
これは、図１６に示すように、プログラム時に、ＥＡＳＢ（Erase self boost）方式を採用している場合の問題を解決するためのものである。すなわち、ＥＡＳＢ方式の書き込みは、必ずソース側から書き込まれる。ビット線は書き込みの場合Ｖｓｓ、非書き込みの場合Ｖｄｄに設定される。例えばワード線ＷＬ７に接続されたセルを書き込む場合、ワード線ＷＬ０〜ＷＬ４はＶｐａｓｓ、ワード線ＷＬ５はＶｓｓ、ワード線ＷＬ６はＶｄｄ、中間電位、又はＶｐａｓｓ、ワード線ＷＬ７はＶｐｇｍ、ワード線ＷＬ８〜３１はＶｐａｓｓにそれぞれ設定される。このとき、書き込みの場合、ワード線ＷＬ７のゲートがＶｐｇｍ、チャネルがＶｓｓとなり、書き込みが行なわれる。しかし、ワード線ＷＬ７に接続されたメモリセルより、先に書き込まれるワード線ＷＬ５に接続されたセルの消去レベルが深過ぎると、ワード線ＷＬ５をＶｓｓにしてもオフしなくなり、Ｖｐｇｍが印加されるセルのチャネルの電位が上昇され、非書き込みとすることができなくなる。これを防止するため、消去動作の後、全ワード線を選択状態としてソフトプログラム動作が実行される。
【００６５】
この後、図１３に示すように、ソフトプログラムベリファイが全ＮＡＮＤストリングについて実行される（Ｓ３６）。このソフトプログラムベリファイは、前述した消去ベリファイ動作と同様である。しかし、ソフトプログラムベリファイのレベルは、消去ベリファイ
のレベル−０．８Ｖより浅く、例えば−０．５Ｖである。このため、ワード線の電位を０．３Ｖとするか、若しくは信号ＢＬＣＬＡＭＰを０．５Ｖにする。
【００６６】
また、図８（ｃ）に示すように、ソフトプログラムベリファイにおいて、ＮＡＮＤストリング内で閾値電圧が一番浅いセルがソフトプログラムベリファイレベルを超えた場合、次回のソフトプログラムにおいて非書き込みにする。このようにして全て又は規定値以上のＮＡＮＤストリングのセルがソフトプログラムベリファイレベルを超えるように書き込みを行う。この後、更にソフトプログラムベリファイのレベルを、ソフトプログラムベリファイ２に少し上げ、全てのセルがこのソフトプログラムベリファイ２以下になっていることを確認する。この結果、ベリファイがパスしない場合、再度消去動作が実行される。このソフトプログラム動作は、消去中に行う必要は必ずしもなく、プログラム中にレベル“０”を書き上げても良い。無論、ソフトプログラムが不要の場合は省略可能である。また、本実施形態におけるイレーズベリファイ動作及びソフトプログラム動作は、ソースフロワー方式としたが、図１０に示す通常のリード、ベリファイ動作と同様に行ってもよい。但し、ブロック内のワード線は、全ワード線又は、半数のワード線、又は複数のワード線を選択にして、選択ブロック内のセルが所定のレベルに達しているかどうかを判断する。
【００６７】
（第１の実施形態）
図１７は、第１の実施形態におけるメモリセルの閾値電圧の遷移を示し、図１８は、第１の実施形態に係る消去シーケンスを示している。
【００６８】
図１７（ａ）に示すように、消去後のセルの閾値電圧は、消去前にセルに書き込まれた閾値電圧に依存する。すなわち、消去前のセルの閾値電圧が高い場合、消去後の閾値電圧も高く、消去前のセルの閾値電圧が低い場合、消去後の閾値電圧も低くなる傾向がある。特に、この傾向は、消去電圧が小さい場合、顕著である。そこで、第１の実施形態は、消去前に、読み出し動作により、メモリセルの閾値電圧の分布状態をモニタし、さらに、弱消去後のメモリセルの閾値電圧の分布状態をモニタし、これらのモニタ結果に基づき、消去電圧を設定する。
【００６９】
図１８に示すように、先ず、例えば図８（ａ）に示すレベル“ｃ”を用いてメモリセルからデータが読み出される（Ｓ４１）。この結果、メモリセルにデータ“３”が書き込まれている場合、データ記憶回路１０のＰＤＣのノードＮ１ａは“１”となり、データ“３”以外のデータが書き込まれている場合、ＰＤＣのノードＮ１ａは“０”となる。この後、低い消去電圧を用いて、選択されたブロックに対して弱消去が実行される。この弱消去とともに、“１”になっているＰＤＣの数が計数される（Ｓ４２）。この計数動作は、弱消去中に行うことにより消去シーケンスに要する時間を短縮できるため好ましいが、弱消去前に行ってもよい。
【００７０】
この後、弱消去ベリファイが実行される（Ｓ４３）。この弱消去ベリファイは、例えば読み出し動作と同じであるが、ワード線のレベルが弱消去ベリファイのレベルに設定される。この弱消去ベリファイのレベルは、図１７（ａ）に示すように、例えば図１７（ｂ）に示す消去ベリファイのレベルより、若干高いレベルに設定される。
【００７１】
弱消去ベリファイの結果はＰＤＣに記憶される。すなわち、弱消去ベリファイの結果と、レベル“ｃ”で読み出されたＰＤＣのデータのＡＮＤが取られる。この結果、弱消去前にデータ“３”に書き込まれていて、弱消去により十分消去されなかったセルのＰＤＣのみが“１”となる。ここで、“１”となっているＰＤＣの数が計数される（Ｓ４４）。この後、メモリセルにデータ“３”が書き込まれている数が“ｘ”、弱消去前にデータ“３”に書き込まれていて、弱消去により十分消去されなかった数が“ｙ”である場合、“ｙ／ｘ”を計算する。
【００７２】
また、レベル“ｃ”での読み出し結果の反転したデータと、弱消去ベリファイが記憶されたＰＤＣのデータとのＡＮＤを取ると、弱消去前にデータ“３”に書き込まれていて、弱消去により消去されたセルに対応するＰＤＣのみが“１”となる。ここで、“１”になっているＰＤＣの数を計数する。このような構成とすることも可能である。
【００７３】
上記計数結果（“ｙ／ｘ”）に基づき、消去電圧が設定され（Ｓ４５）、次の消去動作が実行される（Ｓ４６）。すなわち、計数結果が例えば基準値より大きい場合、消去電圧が高く設定され、基準値より小さい場合、消去電圧が低く設定される。図１８にＳ４６〜Ｓ５２で示す消去、消去ベリファイ、ソフトプログラムなどは、図１３に示す消去シーケンスと同様である。また、ソフトプログラムが必要でない場合、省略することが可能であることも図１３に示す消去シーケンスと同様である。
【００７４】
上記第１の実施形態によれば、弱消去前に、読み出し動作により、メモリセルの閾値電圧の分布状態をモニタし、この後、弱消去後のメモリセルの閾値電圧の分布状態をモニタし、これらのモニタ結果に基づき、消去電圧を設定している。このため、消去前のメモリセルの閾値電圧分布に依存することなく、消去電圧を正確に設定することができる。したがって、消去シーケンスのループ回数を削減でき、消去シーケンスに要する時間を短縮することができる。
【００７５】
図２１は、第１の実施形態の動作を示すものであり、弱消去前に、読み出し動作を行い、この後、弱消去動作、弱消去ベリファイを行うことにより、消去電圧を正確に設定でき、消去電圧の印加回数を抑制できることが分かる。
【００７６】
尚、上記実施形態は、ステップＳ４４において、ＰＤＣが“１”である数を計数した結果に基づき、消去電圧を設定した。しかし、図１７（ａ）に示すように、例えばデータ“１”“２”“３”に対応して弱消去後の閾値電圧分布は、広い範囲に亘っている。このため、弱消去ベリファイの結果が閾値電圧分布の主分布（中心）に対応してない可能性がある。
【００７７】
そこで、図１８に破線で示すように、例えばベリファイリードのレベルを変更し弱消去前にレベル“ｃ”に書き込んでいたセルの数の計数を、複数回繰り返すことにより計数値の極大値を求め、閾値電圧分布の主分布を検出することで、正確に消去電圧を設定することが可能である。ここで、例えば、ベリファイレベルを０Ｖ〜１．６Ｖまで、０．１Ｖ刻みで変更し、主分布を検出する場合、（１．６Ｖ−０Ｖ）／０．１＝１６回繰り返さなくてはならない。しかし、高速化のため、二分法を用いてもよい。この場合、例えば、先ず、０．８Ｖで読み出し、０．８Ｖ以上のセル数が多い場合、１．２Ｖで読み出し、０．８Ｖ以上１．２Ｖ以下のセル数が、１．２Ｖ以上１．６Ｖ以下のセル数より多い場合、１．０Ｖで読出し、１．０Ｖ以上１．２Ｖ以下のセル数が、０．８Ｖ以上１．０Ｖ以下のセル数より多い場合、１．１Ｖで読み出し、１．１Ｖ以上１．２Ｖ以下のセル数が、１．０Ｖ以上１．１Ｖ以下のセル数より多い場合、主分布は、１．１Ｖ以上１．２Ｖ以下であると分かる。このように、二分法を用いることにより、４回の繰り返しで済む。
【００７８】
尚、本実施形態は、弱消去前に前記第１の読み出しレベルを超えているメモリセルの数“ａ”の計数を行ったが、特許文献４に記載された発明のように、弱消去前に前記第１の読み出しレベルを超えているメモリセルの数“ａ”の計数が不要の場合で、弱消去後の閾値電圧分布を求めるとき、このような２分法用いることにより高速に処理することが可能である。
【００７９】
また、弱消去前のレベル“ｃ”を用いた読み出し動作、弱消去ベリファイ、消去ベリファイ、ソフトプログラムベリファイは、例えば特定の数のワード線を用いて行ってもよいし、全ワード線に対して一括してベリファイ読み出しを行ってもよい。又は、特定の数のワード線のみ、或いは、数本、又は、全ワード線を１本ずつベリファイ読み出し、これらの読み出し結果を累積した値を用いることも可能である。無論、弱消去前の読み出し方法と、弱消去後の消去ベリファイ読み出し方法を変えても良い。さらに、ＮＡＮＤストリング一括、或いはＮＡＮＤストリング内の一部を複数回に分割したりして前述したソースフロワー方式の消去ベリファイを行ってもよい。また、通常のリード及びプログラムベリファイリードと同様に行ってもよい。
【００８０】
（第２の実施形態）
図１９、図２０は、第２の実施形態に係る消去シーケンスを示している。
【００８１】
上記第１の実施形態は、弱消去前にレベル“ｃ”によりメモリセルのデータを読み出し、データ“１”のＰＤＣの数を計数した。
【００８２】
これに対して、第２の実施形態は、弱消去前に、第１の実施形態と同様に、例えばレベル“ｃ”でメモリセルのデータが読み出され（Ｓ６１）、“３”の閾値電圧分布に書き込まれているセルの数が計数される（Ｓ６２）。次いで、この計数値が規定値と比較される（Ｓ６３）。この結果、計数値が規定値以下である場合、レベル“ｂ”でメモリセルのデータが読み出され（Ｓ６４）、レベル“ｃ”の場合と同様にして“２”の閾値電圧分布に書き込まれているセルの数が計数される（Ｓ６５）。次いで、この計数値が規定値と比較される（Ｓ６６）。この結果、計数値が規定値以下である場合、レベル“ａ”でメモリセルのデータが読み出され（Ｓ６７）、“１”の閾値電圧分布に書き込まれているセルの数が計数される（Ｓ６８）。次いで、この計数値が規定値と比較される（Ｓ６９）。“１”の閾値電圧分布に書き込まれているセルの数が規定値以下である場合、消去セルの数が多いことを示している。このため、この状態に応じた消去電圧が設定される（Ｓ７０）。すなわち、この場合、図２０に示すように、例えば低い消去電圧を設定して消去するか（Ｓ７４，Ｓ７５）、又は、消去せずに終了する。
【００８３】
一方、前記ステップＳ６３，Ｓ６６，Ｓ６９において、各計数値が規定値以上である場合、図２０に示す弱消去Ｓ７０ａが行われる。ここでの弱消去電圧は、“３”の閾値電圧分布に書き込まれているセルの数が規定値以上の場合、“２”の閾値電圧分布に書き込まれているセルの数が規定値以上と判断された場合、“１”の閾値電圧分布に書き込まれているセルの数が規定値以上場合のそれぞれに応じた電圧に設定することも可能である。すなわち、“３”の閾値電圧分布に書き込まれているセルの数が規定値以上の場合、消去電圧は高く設定され、“１”の閾値電圧分布に書き込まれているセルの数が規定値以上場合、消去電圧は低く設定される。
【００８４】
この後、弱消去ベリファイが行われる（Ｓ７０）。すなわち、“３”の閾値電圧分布に書き込まれているセルの数が規定値以上の場合、レベル“ｃ”に応じたレベル、“２”の閾値電圧分布に書き込まれているセルの数が規定値以上と判断された場合、レベル“ｂ”に応じたレベル、“１”の閾値電圧分布に書き込まれているセルの数が規定値以上と判断された場合、レベル“ａ”に応じたレベルで弱消去ベリファイが行われる（Ｓ７０）。この結果、データ記憶回路１０のＰＤＣには、弱消去ベリファイの結果と、レベル“ｃ”で読み出されたＰＤＣのデータのＡＮＤのデータ、又は、弱消去ベリファイの結果と、レベル“ｂ”で読み出されたＰＤＣのデータのＡＮＤのデータ、或いは弱消去ベリファイの結果と、レベル“ａ”で読み出されたＰＤＣのデータのＡＮＤのデータが保持される。このうち、データ“１”のＰＤＣの数が計数される（Ｓ７１）。すなわち、第１の実施形態と同様に、弱消去前に、ある閾値分布に込まれているセルの数が“ｘ”、このセルの内、弱消去により十分消去されなかった数が“ｙ”である場合、“ｙ／ｘ”を計算する。この計数結果（“ｙ／ｘ”）に基づき、消去電圧が設定され（Ｓ７４）、次の消去動作が実行される（Ｓ７５）。
【００８５】
すなわち、計数結果が例えば基準値より大きい場合、消去電圧が高く設定され、基準値より小さい場合、消去電圧が低く設定される。図２０にＳ７５〜Ｓ８１で示す消去、消去ベリファイ、ソフトプログラムなどは、図１３に示す消去シーケンスと同様である。また、ソフトプログラムが必要でない場合、省略することが可能であることも図１３に示す消去シーケンスと同様である。
【００８６】
上記第２の実施形態によれば、弱消去前にレベル“ｃ”でデータを読み出し、弱消去後、レベル“ｃ”又はレベル“ｂ”又はレベル“ａ”の何れかの閾値電圧分布に書かれていたセルの数のうち、幾つのセルが弱消去ベリファイのレベル以下になったかをモニタし、このモニタ結果に基づき、消去電圧を設定している。このため、例えば弱消去前にレベル“ｃ”に書き込まれたセルが極端に少ない場合、消去前のメモリセルの閾値電圧分布に依存することなく、消去電圧を正確に設定することができる。したがって、消去シーケンスのループ回数を削減でき、消去シーケンスに要する時間を短縮することができる。
【００８７】
また、図２０に破線で示すように、第１の実施形態と同様に、閾値電圧分布の主分布を検出し（Ｓ７２）、主分布ではない場合、ベリファイリードのレベルを変更し（Ｓ７３）、ベリファイを及び計数動作を繰り返してもよい（Ｓ５４、Ｓ４３、Ｓ４４、Ｓ５３）。主分布は、例えばベリファイリードのレベルを変更して計数された計数値の極大値を求めることにより検出できる。
【００８８】
このように、弱消去ベリファイのベリファイレベルを少しずつ変えて複数回読み出し、もともと“３”又は“２”又は“１”の閾値電圧分布の主分布を検出し、この検出結果に基づき、次の消去電圧を設定することにより、一層正確に消去電圧を設定することが可能である。
【００８９】
尚、弱消去前のレベル“ｃ”を用いた読み出し動作、弱消去ベリファイ、消去ベリファイ、ソフトプログラムベリファイは、例えば特定の数のワード線を用いて行ってもよいし、全ワード線に対して一括してベリファイ読み出しを行ってもよい。又は、特定の数のワード線のみ、或いは、数本、又は、全ワード線を１本ずつベリファイ読み出し、これらの読み出し結果を累積した値を用いることも可能である。無論、弱消去前の読み出し方法と、弱消去後の消去ベリファイ読み出し方法を変えても良い。さらに、ＮＡＮＤストリング一括、或いはＮＡＮＤストリング内の一部を複数回に分割したりして前述したソースフロワー方式の消去ベリファイを行ってもよい。また、通常のリード及びプログラムベリファイリードと同様に行ってもよい。
【００９０】
また、弱消去後の消去ベリファイ読み出しは、ある１つのレベルでベリファイ読み出し動作を行わず、複数のレベルでベリファイ読み出し動作を行い、読み出しレベル及び消去セルの数により、次の消去電圧を決めても良い。この場合、例えばワード線の電位を例えば０．１Ｖずつステップアップさせ、０Ｖから２．０Ｖまで行うと、２１回のベリファイ動作が必要となってしまう。このため、例えば、先ずワード線の電位を０Ｖから２．０Ｖの中央の１Ｖでベリファイ動作し、この結果、セルの閾値電圧分布がワード線の電位（１Ｖ）より低い場合、ワード線の電位を０．５Ｖとし、セルの閾値電圧分布がワード線の電位（１Ｖ）より高い場合、ワード線の電位を１．５Ｖとするという、所謂二分法を用いることにより、少ない回数で、セルの閾値電圧分布の中心を調べることが可能である。
【００９１】
尚、本実施形態は、弱消去前に第１の読み出しレベルを超えているメモリセルの数“ａ”の計数を行った。しかし、特許文献４に記載された発明のように、弱消去前に第１の読み出しレベルを超えているメモリセルの数“ａ”の計数が不要の場合で、弱消去後の閾値電圧分布を求めるとき、このような２分法用いることにより高速に処理することが可能である。
【００９２】
(第３の実施形態）
図２２は、第３の実施形態を示すものである。
【００９３】
第１及び第２の実施形態は、弱消去を行った後に、弱消去ベリファイ読み出しを行い、セルの閾値電圧を調べ、この結果に応じて、次の消去電圧を決めていた。しかし、ＮＡＮＤ型フラッシュメモリのメモリセルは、書き込み消去回数が少ない場合、書き込み難く消去され易く、書き込み消去回数が多い場合、書き込み易く、消去し難い特性がある。このため、書き込み及び消去回数に応じて、消去電圧を決めることも可能である。
【００９４】
書き込み及び消去回数は、ＮＡＮＤ型フラッシュメモリに接続されたコントローラにより管理してもよいし、ＮＡＮＤ型フラッシュメモリの特定ブロックに、全てのブロックの書き込み及び消去回数を記憶して管理してもよい。また、各ブロックのページ長を拡張し、拡張された領域に書き込み及び消去回数を記憶可能とし、通常のページの書き込みシーケンスにおいて、書き込みデータと書き込み及び消去回数を同時に書き込むことも可能である。さらに、通常の消去シーケンスの消去動作後に、書き込み及び消去回数を拡張された領域に書き込んでもよい。
【００９５】
図２２に示す消去シーケンスは、図１３に示す消去シーケンスとほぼ同様であるが、消去動作前に、書き込み及び消去回数をロードし、この回数に応じて、消去電圧を設定するステップＳ３１を有している。
【００９６】
ステップＳ３１において、例えば書き込み及び消去回数が少ない場合、消去電圧は低い電圧（例えば２０Ｖ）に設定され、書き込み及び消去回数が多い場合、消去電圧は高い電圧（例えば２４Ｖ）に設定される。この後、消去動作が行われる。
【００９７】
第３の実施形態によれば、消去電圧を正確に設定することができる。したがって、消去シーケンスのループ回数を削減でき、消去シーケンスに要する時間を短縮することができる。
【００９８】
尚、第１、第２、第３の実施形態、及び参考文献４を合わせて行うことも可能である。特に、ＮＡＮＤ型フラッシュメモリの書き込み及び消去回数により、書き込み及び消去の特性が異なるだけでなく、閾値電圧分布も異なる。このため、書き込み及び消去回数の情報と、弱消去を行った後に、弱消去ベリファイ読み出しを行い、セルの閾値電圧を調べた結果の情報を組み合わせて、次の消去電圧を決める。書き込み及び消去回数の情報により、弱消去電圧を設定し、弱消去を行った後に、弱消去ベリファイ読み出しを行い、閾値電圧を調べた結果の情報と組み合わせて、次の消去電圧を決めるなど行うことにより、消去電圧を最適化でき、消去シーケンスに要する時間を短縮することができる。
【００９９】
その他、本発明の要旨を変えない範囲において、種々変形実施可能なことは勿論である。
【符号の説明】
【０１００】
１…メモリセルアレイ、２…ビット線制御回路、７…制御信号及び制御電圧発生回路、１０…データ記憶回路、ＭＣ…メモリセル。
【図１】
0005414550.tif 000002
【図２】
0005414550.tif 000003
【図３】
0005414550.tif 000004
【図４】
0005414550.tif 000005
【図５】
0005414550.tif 000006
【図６】
0005414550.tif 000007
【図７】
0005414550.tif 000008
【図８】
0005414550.tif 000009
【図９】
0005414550.tif 000010
【図１０】
0005414550.tif 000011
【図１１】
0005414550.tif 000012
【図１２】
0005414550.tif 000013
【図１３】
0005414550.tif 000014
【図１４】
0005414550.tif 000015
【図１５】
0005414550.tif 000016
【図１６】
0005414550.tif 000017
【図１７】
0005414550.tif 000018
【図１８】
0005414550.tif 000019
【図１９】
0005414550.tif 000020
【図２０】
0005414550.tif 000021
【図２１】
0005414550.tif 000022
【図２２】
0005414550.tif 000023