(57)【特許請求の範囲】
【請求項１】
複数のメモリセルを含むメモリセルアレイと、
前記メモリセルのデータを消去する制御部と、
を具備し、
前記制御部は、前記メモリセルの消去動作中に、第１のコマンドに応じて消去動作を中断させ、前記中断前の消去条件を保持し、
前記制御部は、第２のコマンドに応じて前記消去動作を再開させ、
前記制御部は、前記消去動作を中断させたのちかつ消去動作の再開前に第３のコマンドを受けると、前記第３のコマンドに応じてステータスを外部に出力し、
前記ステータスは、中断時点で消去がパスしたか、前記中断時点で消去がフェイルしたかに関するステータスを含むことを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記制御部は、前記中断前の消去条件を保持手段に保持し、前記第２のコマンドに応じて前記保持された消去条件に基づき前記消去動作を再開させ、前記第３のコマンドと異なる第４のコマンドを受けると、プログラムベリファイのステータスを外部に出力することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
前記消去条件は、前記中断前の消去電圧を決定するパラメータ、又は前記消去動作のループ回数であることを特徴とする請求項２記載の不揮発性半導体記憶装置。
【請求項４】
前記制御部は、前記第２のコマンドを受けると、最初に消去ベリファイを行い、ベリファイ結果がパスである場合、前記メモリセルに消去電圧を印加せずに消去動作を終了させ、前記ベリファイ結果がフェイルである場合、前記消去条件に基づき消去動作を開始することを特徴とする請求項２又は請求項３に記載の不揮発性半導体装置。
【請求項５】
前記制御部は、前記第２のコマンドを受けると、前記消去動作を再開させて、前記中断時点の消去電圧以上の電圧を印加することを特徴とする請求項２乃至請求項４いずれか１項に記載の不揮発性半導体記憶装置。
【請求項６】
前記制御部は、前記第２のコマンドを受けると、前記中断時点の消去電圧より一つ前のループの消去電圧で消去動作を再開させることを特徴とする請求項２乃至請求項４いずれか１項に記載の不揮発性半導体装置。
【請求項７】
前記制御部は、消去動作中のどのタイミングでリセットされたかを記憶しておき、そのステータスによって消去シーケンス再開時の開始ポイントを変更することを特徴とする請求項２記載の不揮発性半導体装置。
【請求項８】
前記メモリセルに対するデータの書き込み、及び読み出しを行う書き込み／読み出し回路と、
前記書き込み／読み出し回路に設けられたキャッシュメモリをさらに具備し、
前記制御部は、前記消去動作の再開後、前記キャッシュメモリをリセットせず、キャッシュメモリがレディ状態になることで前段での読み出し動作により読み出されたデータを外部端子にシリアル出力しながら、内部では消去動作を実行することを特徴とする請求項７記載の不揮発性半導体装置。
【請求項９】
複数のメモリセルを含むメモリセルアレイと、
前記メモリセルアレイに書き込むデータ又は読み出したデータを保持する書き込み／読み出し回路と、
前記メモリセルに対するデータの読み出し、書き込み、及び消去を行う制御部と、
を具備し、
前記制御部は、消去動作中に読み出し又は書き込み動作を指示するコマンドが入力された場合、前記消去動作を中断させ、読み出し又は書き込み動作の割り込みが実行され、  前記制御部は、前記消去動作を中断させたのちかつ消去動作の再開前に第１のコマンドを受けると、前記第１のコマンドに応じてステータスを外部に出力し、
前記制御部は、第２のコマンドに応じて前記消去動作を再開させ、
前記ステータスは、中断時点で消去がパスしたか、前記中断時点で消去がフェイルしたかに関するステータスを含むことを特徴とする不揮発性半導体記憶装置。
【請求項１０】
前記制御部は、再開後最初に消去ベリファイを実行し、ベリファイ結果がパスである場合、メモリセルに消去電圧を印加せずに消去動作を終了させ、ベリファイ結果がフェイルである場合、割り込み前と同じ電圧で消去を開始させ、前記第１のコマンド及び前記第２のコマンドと異なる第３のコマンドを受けると、プログラムベリファイのステータスを外部に出力することを特徴とする請求項９記載の不揮発性半導体装置。
【請求項１１】
複数のメモリセルを含むメモリセルアレイを含む不揮発性半導体記憶装置の制御方法であって、
前記メモリセルの消去動作中に、第１のコマンドに応じて消去動作を中断し、
前記中断前の消去条件を保持し、
第２のコマンドに応じて前記保持された消去条件に基づき前記消去動作を再開し、
前記消去動作を中断させたのちかつ消去動作の再開前に第３のコマンドを受けると、前記第３のコマンドに応じてステータスを外部に出力する不揮発性半導体記憶装置の制御方法であって、
前記ステータスは、中断時点で消去がパスしたか、前記中断時点で消去がフェイルしたかに関するステータスを含むことを特徴とする不揮発性半導体記憶装置の制御方法。
【請求項１２】
前記第２のコマンドを受けると、前記消去動作を再開させて、前記中断時点の消去電圧以上の電圧を印加し、
前記第３のコマンドと異なる第４のコマンドを受けると、プログラムベリファイのステータスを外部に出力することを特徴とする請求項１１記載の不揮発性半導体記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、例えば電気的に書き換え可能な不揮発性半導体記憶装置に係わり、特にその消去動作の制御方法に関する。
【背景技術】
【０００２】
電気的に書き換え可能な不揮発性半導体記憶装置の１つにＮＡＮＤ型フラッシュメモリがある。このＮＡＮＤ型フラッシュメモリは、ブロック単位で消去動作が行われる。この消去動作中にホストから読み出し又は書き込み動作の要求があった場合、システムによっては、ＮＡＮＤ型フラッシュメモリのコントローラは、消去動作が終了するまで待ってから読み出し又は書き込みのための動作コマンドを発行する。消去動作は、通常、読み出しや書き込み動作と比較して長時間を要するため、読み出しや書き込み動作の要求が発生してから、これらの動作が実行されるまでに時間がかかっている。
【０００３】
消去動作は、先ず、最も低い初期電圧を用いて、ブロック内のメモリセルのデータが消去される。この後、メモリセルの閾値電圧が所定の閾値電圧まで消去されたかどうかを確認するため、消去ベリファイ動作が行われる。この結果、消去不十分（ベリファイがフェイル）である場合、初期電圧にステップアップ電圧が加算され、消去電圧が少し高めに設定されて再度消去動作が行われる。この一連の動作が繰り返し実行され、消去ベリファイがパスするか所定のループ回数に達した場合、消去動作シーケンスが終了される。
【０００４】
現在、消去動作時にメモリセルが劣化する懸念があるため、比較的低い初期消去電圧、及び低いステップアップ電圧を用いて消去動作が実行されている。このため、ループ回数が増加し、消去動作に要する時間が増大する傾向にある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２２６９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記消去動作中に読み出し又は書き込み動作の要求があった場合、消去動作を中断し、読み出し又は書き込み動作を割り込ませる方法がシステムによっては実施されている。この場合、消去動作中にリセットコマンドを入力し、消去動作を強制終了させた後、要求のあった読み出し又は書き込み動作が実行される。その後、消去動作が最初からやり直されるため、最も低い初期電圧を用いて消去動作が再開されることになる。このため、中断前までに実行していた消去動作が無駄になっていた。さらに、中断前の閾値電圧を考慮せずに消去動作を再開した場合、メモリセルが過消去状態となる可能性を有していた。
【０００７】
本実施形態は、消去動作中に読み出し又は書き込み動作要求が発生した場合、要求発生から短時間で読み出し又は書き込み動作を実行することが可能であり、しかも、消去動作再開後、過消去状態の発生を防止可能な不揮発性半導体記憶装置とその制御方法を提供しようとするものである。
【課題を解決するための手段】
【０００８】
実施形態の不揮発性半導体記憶装置によれば、メモリセルアレイは、複数のメモリセルがマトリックス状に配置されている。制御部は、メモリセルのデータを消去する。制御部は、メモリセルＭＣの消去動作中に、第１のコマンドに応じて消去動作を中断させ、前記中断前の消去条件を保持し、第２のコマンドに応じて保持された消去条件に基づき消去動作を再開させる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る不揮発性半導体記憶装置を示す構成図。
【図２】第１の実施形態の動作を示すタイミングチャート。
【図３】第１の実施形態の動作を示すフローチャート。
【図４】第１の実施形態の消去電圧を生成用パラメータの生成回路の一例を示す構成図。
【図５】第１の実施形態のループ回数の計数回路の一例を示す構成図。
【図６】第１の実施形態の第１の変形例を示すタイミングチャート。
【図７】第１の実施形態の第２の変形例を示すフローチャート。
【図８】第２の実施形態の動作を示すタイミングチャート。
【図９】第２の実施形態の動作を示すフローチャート。
【図１０】第２の実施形態の変形例（第３の変形例）を示す構成図。
【発明を実施するための形態】
【００１０】
以下、実施の形態について、図面を参照して説明する。
【００１１】
（第１の実施形態）
図１は、ＮＡＮＤ型フラッシュメモリの概略構成を示している。
【００１２】
メモリセルアレイ１は、複数のビット線ＢＬと複数のワード線ＷＬと共通ソース線ＳＬを含み、例えばＥＥＰＲＯＭセルからなる電気的にデータを書き換え可能なメモリセルＭＣがマトリクス状に配置されている。このメモリセルアレイ１には、ビット線を制御するためのビット制御回路２とワード線制御回路６が接続されている。
【００１３】
ビット線制御回路２は、ビット線を介してメモリセルアレイ１中のメモリセルのデータを読み出したり、ビット線を介してメモリセルアレイ１中のメモリセルの状態を検出したり、ビット線を介してメモリセルアレイ１中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行なう。ビット線制御回路２には、カラムデコーダ３、データ入出力バッファ４が接続されている。
【００１４】
データ入出力端子５は、例えばコントローラ１０に接続される。コントローラ１０は、ＮＡＮＤ型フラッシュメモリの動作を制御する各種コマンドＣＭＤ、アドレスＡＤＤ、及びデータＤＴを出力する。データ入出力端子５はコントローラ１０から出力されたコマンドＣＭＤ、アドレスＡＤＤ、及びデータＤＴを受ける。データ入出力端子５に入力された書き込みデータは、データ入出力バッファ４を介して、カラムデコーダ３によって選択されたデータ記憶回路に供給され、コマンド及びアドレスは制御部７に供給される。
【００１５】
制御部７は、制御信号入力端子８に接続されている。制御信号入力端子８は、コントローラ１０から出力される制御信号、例えば／ＣＥ（チップイネーブル）ＡＬＥ（アドレス・ラッチ・イネーブル）、ＣＬＥ（コマンド・ラッチ・イネーブル）、／ＷＥ（ライト・イネーブル）、／ＲＥ（リード・イネーブル）を受ける。
【００１６】
制御部７は、制御信号入力端子８から供給される各種制御信号、データ入出力バッファ４から供給されるコマンドやアドレスに応じてＮＡＮＤ型フラッシュメモリの動作を制御する。
【００１７】
電圧発生回路９は、制御部７に接続されている。電圧発生回路９は、例えば図示せぬポンプ回路を有し、書き込み時の高電圧としてのプログラム電圧ＶＰＧＭや、書き込み時に非選択のワード線に供給される中間電圧や、プログラム電圧ＶＰＧＭを僅かに上昇させるステップアップ電圧、ベリファイ電圧、読み出し電圧、消去電圧、消去電圧を僅かに上昇させるステップアップ電圧などを生成する。電圧発生回路９により生成された電圧は、メモリセルアレイ１、ワード線制御回路６、ビット線制御回路２、カラムデコーダ３などに供給される。
【００１８】
ワード線制御回路６は、メモリセルアレイ１に接続されている。このワード線制御回路６は、メモリセルアレイ１中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。
【００１９】
さらに、制御部７は、複数のレジスタ７ａ、７ｂ、７ｃを有している。レジスタ７ａ、７ｂは、後述するように、消去動作の中断時に、中断前の消去電圧や消去動作のループ回数を保持する。レジスタ７ｃは、例えば消去動作中断時のステータスを保持する。
【００２０】
図２、図３は、上記構成の不揮発性半導体記憶装置の消去動作を示している。図２（ａ）（ｂ）は、連続した動作を示している。図２、図３を参照して第１の実施形態の消去動作について説明する。
【００２１】
図２（ａ）に示すように、消去動作は、コントローラ１０から消去アドレス入力コマンド、消去ブロックを選択するアドレス、及び消去コマンドが順次供給されることにより、開始される。すなわち、制御部７は、消去コマンドに応じてレディ／ビジー信号をビジー状態として、消去動作を開始する。
【００２２】
消去動作では、図３に示すように、先ず、セットアップ動作により、例えば初期の消去電圧Ｖｅｒａ１が生成されるとともに、ループ回数がクリアされる（Ｓ１１）。この後、消去中断後かどうかが判別される（Ｓ１２）。この判別は、後述するプリコマンドの有無に基づき実行される。この場合、消去中断後ではないため、初期の消去電圧Ｖｅｒａ１が所定時間、消去ブロックに印加され、消去動作が実行される（Ｓ１３）。
【００２３】
この後、消去ベリファイ（Ｅｖｆｙ）が行われる（Ｓ１４）。次いで、消去ベリファイの結果に基づき、所定の消去レベルまで十分に消去されているかどうか、又はループ回数が規定値に達しているかどうかが判別される（Ｓ１５）。この結果、消去ベリファイがフェイル（消去不十分）である場合、及びループ回数が規定値に達していない場合、消去電圧（消去パルス）がセットアップされる（Ｓ１６）。すなわち、図２（ａ）に示すように、消去電圧Ｖｅｒａ１にステップアップ電圧ΔＶｅｒａが加算された消去電圧Ｖｅｒａ２が生成される。さらに、ループ回数が更新され（Ｓ１７）、消去電圧Ｖｅｒａ２が所定時間、選択されたブロックに印加されて再度消去動作が実行される（Ｓ１３）。尚、消去動作中にループ回数を更新してもよい。この後、消去ベリファイが行われる（Ｓ１４）。このような動作が、消去ベリファイがパス（消去十分）するか、又はループ回数が規定値に達するまで繰り返される。
【００２４】
図２（ａ）に示すように、上記消去動作中に読み出し動作を割り込ませる場合、リセットコマンドがコントローラ１０から供給される。制御部７は、このリセットコマンドに応じて消去動作を強制的に中断させる。具体的には、消去電圧が選択ブロックに印加されている間に中断させる場合、直ちに消去電圧が放電され、消去シーケンスが終了される。消去シーケンスが終了されると、レディ／ビジー信号が、レディ状態に設定される。コントローラ１０はレディ／ビジー信号が、レディ状態であることを確認後、読み出しアドレス入力コマンド、アドレス、読み出しコマンドを順次発行する。制御部７は、読み出しコマンドに応じてレディ／ビジー信号をビジー状態に設定し、通常の読み出し動作を実行する。
【００２５】
また、リセットコマンドを受けると、制御部７は、消去シーケンスを直ちに終了させるが、リセット前の消去条件は、レジスタ７ａ、７ｂに保存される。この消去条件については後述する。
【００２６】
一方、読み出し動作が終了し、図２（ｂ）に示すように、データを外部にシリアルに出力した後、中断していた消去動作が再開可能となる。しかし、通常の消去動作コマンドを発行すると、前述したように、初期の消去電圧Ｖｅｒａ１により消去動作が開始され、消去終了までに無駄な時間がかかる。このため、リセットコマンドを入力した時点での消去電圧から再開させるようにする。しかし、中断前と同じ消去電圧で消去動作を開始した場合、リセットコマンド入力のタイミングによっては、消去動作の第１ループにおける所定時間以上、消去電圧を印加することになる。このため、既に選択ブロックのメモリセルが所定の閾値電圧まで消去されている場合、過消去となりメモリセルを劣化させてしまう。
【００２７】
そこで、第１の実施形態では、通常の消去動作と中断後の消去動作とを区別するため、図２（ｂ）に示すように、通常の消去動作コマンド前にプリコマンドが入力される。このプリコマンド後の消去コマンドシーケンスに対応して、例えば中断時点より、１ループ前の消去電圧から再開させるか、消去動作の開始前に消去ベリファイを実行することにより、既に選択ブロックの消去がパスしているかどうかを確認する。
【００２８】
第１の実施形態の場合、図２（ｂ）に示すように、例えば消去電圧Ｖｅｒａ３を印加する前に消去ベリファイを実行する。消去ベリファイの結果、ベリファイがパスしている場合、消去動作を終了させる。また、消去がパスしていない場合、レジスタ７ａ、７ｂに保持された中断時の消去条件に基づき、消去電圧、又はループ回数がセットアップされ、これらを用いて消去動作が実行される。
【００２９】
具体的には、制御部７は、プリコマンド後に消去アドレス入力コマンド、アドレス、消去コマンドが入力された場合、中断後の消去動作であると判断する（図３、Ｓ１２−Ｓ１４）。この場合、消去動作の前に消去ベリファイが実行される（Ｓ１４）。消去ベリファイの結果、ベリファイがフェイルである場合、上記レジスタ７ａ、７ｂに保持された消去条件に基づき、消去電圧がセットアップされる（Ｓ１６）。
【００３０】
上記レジスタ７ａに保持される消去条件は、例えば消去電圧を決定するためのパラメータであり、レジスタ７ｂに保持される消去条件は、例えばループ回数である。消去電圧は、制御部７から出力されるパラメータによって決定される。このため、リセットコマンドが入力された際、消去電圧を決定するパラメータ値をレジスタ７ａに保持しておくことにより、消去動作の再開時に、レジスタ７ａに保持されているパラメータ値に基づき、リセットコマンドの入力時と同じ消去電圧を生成でき、消去動作を開始することができる。
【００３１】
また、レジスタ７ｂに保持されたループ回数と、消去のステップアップ電圧とにより、再開時の初期消去電圧を決定することも可能である。尚、消去電圧のパラメータを生成し、保持する回路、及びループ回数を生成し、保持する回路については、後述する。
【００３２】
このようにして、セットアップされた消去電圧を用いて消去動作が再開される。
【００３３】
なお、リセットコマンドは、通常使用されているリセットコマンドでもよいし、リセット動作にリセット入力時の状態を保持しておく機能を加えた新たなリセットコマンドを用いてもよい。
【００３４】
図４は、消去電圧を生成するためのパラメータを生成し、保持する回路を示している。この回路は、例えば選択回路２１、２２、加算器２３、レジスタ７ａにより構成されている。選択回路２１の一方の入力端には、消去電圧を生成するためのパラメータの初期値Ｆ_ＶＥＲＡが供給され、他方の入力端には、レジスタ７ａの出力信号ＢＩＮＶＥＲＡが供給されている。選択回路２１は、信号ｌｏａｄｖｅｒａ、又はプリコマンドにより入力端の一方が選択される。
【００３５】
また、選択回路２２の一方の入力端には、ステップアップ電圧を生成するためのパラメータ値Ｆ_ΔＶＥＲＡが供給され、他方の入力端には、接地電圧のパラメータ値ＶＳＳが供給されている。選択回路２２は、信号ｓｔｅｐｕｐにより入力端の一方が選択される。
【００３６】
選択回路２１，２２の出力信号は加算器２３に供給され、加算器２３の出力信号は、レジスタ７ａに供給される。
【００３７】
上記構成において、通常の消去動作の場合、例えば信号ｌｏａｄｖｅｒａに応じて、消去電圧の初期値Ｆ_ＶＥＲＡが選択される。また、選択回路２２は、信号ｓｔｅｐｕｐがディスエブールとされ、例えばＶＳＳが選択される。選択回路２１、２２の出力信号は加算器２３に供給され、加算される。加算器２３の出力信号Ｆ_ＶＥＲＡ＋ＶＳＳは、実質的に初期値Ｆ_ＶＥＲＡであり、この信号はレジスタ７ａに供給される。このレジスタ７ａに保持された初期値Ｆ_ＶＥＲＡが消去電圧を生成するためのパラメータＢＩＮＶＥＲＡとして電圧発生回路９に供給される。
【００３８】
１回目の消去電圧が選択されたブロックに供給された後、消去ベリファイがファイルである場合、選択回路２１は、信号ｌｏａｄｖｅｒａがディスエブールとされ、レジスタ７ａの出力信号が選択される。また、選択回路２２は信号ｓｔｅｐｕｐがイネーブルとされ、ステップアップ電圧Ｆ_ΔＶＥＲＡが選択される。このため、加算器２３からＦ_ＶＥＲＡ＋Ｆ_ΔＶＥＲＡが出力され、この信号がレジスタ７ａに保持される。２回目の消去電圧Ｖｅｒａ２は、このパラメータに基づき生成される。このような動作が、ベリファイがパスするまで繰り返される。
【００３９】
一方、消去動作が中断された後、消去動作が再開される場合、選択回路２１は、プリコマンドに応じた信号ｐｒｅｃｏｍにより、レジスタ７ａの出力信号ＢＩＮＶＥＲＡが選択され、選択回路２２は、信号ｓｔｅｐｕｐがディスエブールとされ、例えばＶＳＳが選択される。このため、加算器２３より実質的に初期値ＢＩＮＶＥＲＡが出力される。
【００４０】
すなわち、例えば図２（ａ）に示すように、消去電圧Ｖｅｒａ３を印加している状態で、中断した場合、図２（ｂ）に示すように、再開時に消去電圧Ｖｅｒａ３を発生することができる。
【００４１】
図５は、ループ回数をカウントし、保持する回路を示している。この回路は、カウンタ３１、リセット回路３２、レジスタ７ｂにより構成されている。カウンタ３１は、インクリメント・イネーブル信号に基づき、ループ回数を更新する。リセット回路３２は、リセット信号に基づきカウンタ３１のカウント値をリセットしてレジスタ７ｂに供給し、プリコマンドが入力された場合、カウンタ３１のカウント値をリセットせずに、レジスタ７ｂに供給する。
【００４２】
このため、消去動作において、カウンタ３１は、ベリファイがフェイルである場合、インクリメント・イネーブル信号に基づき、ループ回数を“＋１”し、このカウント値がリセット回路３２を介してレジスタ７ｂに保持される。このような動作が、ベリファイがパスするか、ループ回数が規定値に達するまで繰り返される。
【００４３】
一方、消去動作が再開される場合、プリコマンドに基づき、リセット回路３２によるカウント値のリセットが禁止される。このため、中断前にレジスタ７ｂに保持されたカウント値が初期値として、ループ回数が更新される。
【００４４】
上記第１の実施形態によれば、消去動作の途中においてリセットコマンドが発行された場合、消去動作が中断されるとともに、中断時における消去電圧のパラメータ値、消去動作のループ回数がレジスタ７ａ、７ｂに保存される。このため、消去動作の再開時にレジスタ７ａに保存された消去電圧のパラメータ値、又は消去動作のループ回数に基づき消去電圧を生成することができるため、消去動作に要する時間を短縮することが可能である。
【００４５】
しかも、消去動作の再開時、消去動作コマンドに先立ってプリコマンドが発行され、このコマンドより、中断後の消去動作であることを判別でき、中断後の消去動作である場合、消去動作に先立って消去ベリファイを行い、消去がパスしているかどうかを判別している。このため、メモリセルが過消去状態となることを防止することが可能である。
【００４６】
（第１の変形例）
図６は、第１の実施形態の第１の変形例を示している。
【００４７】
上記第１の実施形態は、消去動作を中断して読み出されたデータのシリアル出力後、プリコマンド及び通常の消去動作コマンドを用いて消去動作を再開した。これに対して、図６に示す第１の変形例は、図６（ｂ）に示すように、消去コマンドに代えて、キャッシュ消去コマンドを用いることにより、消去動作を中断して読み出されたデータのシリアル出力の前に消去動作を再開している。キャッシュ消去コマンドは、消去動作中に次の書き込みのデータをキャッシュにロードすることが可能とされている。このため、消去動作とデータロードをオーバーラップさせることができる。
【００４８】
第１の変形例は、このキャッシュ消去コマンドを用いて、消去動作を中断して読み出されたデータのシリアル出力を消去動作にオーバーラップさせている。つまり、図６（ｂ）に示すように、データのシリアル出力を再開された消去動作と同時に実行可能としている。
【００４９】
但し、通常のキャッシュ消去コマンドは、これが発行されると、図６（ｂ）に示すダミービジー中に、キャッシュ、すなわちページバッファがリセットされて次の書き込みのデータロードが実行される。このため、キャッシュ消去シーケンス中に、読み出しデータを保持しているページバッファがリセットされ、読み出しデータが失われることとなる。したがって、第１の変形例では、ページバッファのリセット動作を実行しないように変更する必要がある。すなわち、キャッシュ消去シーケンスにおいて、ページバッファをリセットするかしないかの制御は、プリコマンドの有無により判別される。つまり、プリコマンドが検出された場合、キャッシュ消去シーケンスにおいて、ページバッファのリセット動作が回避される。
【００５０】
上記第１の変形例によれば、消去動作を中断して読み出されたデータのシリアル出力と消去動作をオーバーラップさせることができる。このため、消去動作及びデータ出力動作を含むトータルの動作時間を短縮できる。
【００５１】
（第２の変形例）
図７は、第１の実施形態の第２の変形例を示している。
【００５２】
消去動作において、消去電圧を印加する前に選択ブロックの全てのセルに書き込み動作を行うプリプログラムや、消去終了後（消去ベリファイがパスの後）に、閾値電圧を僅かに上昇させるソフト・プログラムを実行する場合がある。これらプリプログラムやソフト・プログラム中に、前述したリセットコマンドが入力される可能性がある。第２の変形例は、この場合に対応して、例えば次のように制御する。尚、ソフト・プログラムは、ダミーワード線に接続されているメモリセルのみに書き込みを行い、その他のメモリセルの書き込みを行わない場合がある。
【００５３】
図７に示すステップＳ２１〜Ｓ２９は、プリプログラムを含む消去シーケンスを示している。この消去シーケンスは、プリプログラムのステップＳ２２、Ｓ２３を除き、図３に示す消去シーケンスとほぼ同様である。
【００５４】
先ず、セットアップ（Ｓ２１）の後、前回どのステータスにおいてリセットされたかが判別される（Ｓ２２）。すなわち、前回のステータスが、プリプログラム、消去、消去ベリファイ、及びソフト・プログラムのうちのいずれであるかが判別される。この判別は、例えば制御部７に設けられたステータスレジスタ７ｃに保持されているステータスデータに基づいて行われる。初期状態において、ステータスレジスタ７ｃに保持されたステータスデータは、上記のいずれでもない。このため、プリプログラムが実行される（Ｓ２３）。この後、消去動作（Ｓ２４）、消去ベリファイ動作（Ｓ２５）が実行され、ベリファイ結果が判別される（Ｓ２６）。ベリファイの結果がフェイルである場合、及びループ回数が規定値に達していない場合、消去電圧がセットアップされ（Ｓ２７）、ループ回数が更新されて（Ｓ２８）、再度消去動作が実行される。
【００５５】
また、ステップＳ３１〜Ｓ３８は、消去ベリファイがパスした後のソフト・プログラム・シーケンスを示している。ソフト・プログラム・シーケンスは、消去状態の閾値電圧分布を狭くするため、僅かな書き込みが実行される。すなわち、ソフト・プログラムＳ３１において、プログラム電圧が設定されて僅かな書き込み動作が実行される。この後、所定のベリファイ電圧に従ってベリファイされる。ソフト・プログラム・シーケンスは、２つのベリファイを含んでいる。第１のベリファイは、インテリジェント・ソフト・プログラム・ベリファイ（Ｓ３２、Ｓ３３）であり、第２のベリファイは、ソフト・プログラム・ベリファイ（Ｓ３７、Ｓ３８）である。インテリジェント・ソフト・プログラム・ベリファイと、ソフト・プログラム・ベリファイは、ベリファイ電圧が異なっている。具体的には、インテリジェント・ソフト・プログラム・ベリファイの方が、ソフト・プログラム・ベリファイより、ベリファイ電圧が低く設定されている。このため、先ず、インテリジェント・ソフト・プログラム・ベリファイにより、メモリセルの閾値電圧がある程度の分布に書き戻されているかどうかが検証され、この後、ソフト・プログラム・ベリファイにより、書き戻し過ぎていないかが検証される。
【００５６】
つまり、ソフト・プログラム（Ｓ３１）の後、インテリジェント・ソフト・プログラム・ベリファイが行われ（Ｓ３２、Ｓ３３）、この結果、書き戻しが十分ではない場合、ソフト・プログラム電圧がステップアップされ（Ｓ３４）、ループ回数が更新されて（Ｓ３５）、再度ソフト・プログラムが実行される（Ｓ３１）。このような動作が、ベリファイがパスするか、ループ回数が規定値に達するまで繰り返される。
【００５７】
この後、インテリジェント・ソフト・プログラム・ベリファイがフェイルかどうか判別される（Ｓ３６）。すなわち、ベリファイがパスせず、ループ回数が規定値に達したかどうかが判別される。この結果、インテリジェント・ソフト・プログラム・ベリファイがパスしている場合、ソフト・プログラム・ベリファイが実行され、書き戻し過ぎていないかが判別される（Ｓ３７、Ｓ３８）。この結果、書き戻し過ぎている場合、制御がステップＳ２１に移行され、再度、消去動作から実行される。
【００５８】
また、消去ベリファイ、又はインテリジェント・ソフト・プログラム・ベリファイがフェイルである場合、消去処理が終了され、例えばエラー処理が実行される。
【００５９】
一方、消去中断後、消去再開時動作において、セットアップ（Ｓ２１）の後、ステータスレジスタ７ｃに保持されたステータスデータに基づき、どの状態において、消去が中断されたかが判別される（Ｓ２２）。この判別の結果、プリプログラム（Ｓ２３）の途中でリセットコマンドが入力され、リセットされた場合、例えば制御が前回のステータスの判別ステップＳ２２から消去ステップＳ２４に移行され、消去シーケンスの最初から、すなわち、１回目の消去電圧の印加から再開される。或いは、プリプログラムが最初から実行されたり、中断したタイミングからプリプログラムが再開される。
【００６０】
また、１回目の消去電圧の印加中にリセットコマンドが入力された場合、再度１回目の消去電圧の印加から実行するか、再開時は、消去ベリファイから実行してもよい。あるいは、ソフト・プログラム中にリセットコマンドが入力された場合、１回目のソフト・プログラムから実行される。
【００６１】
上記第２の変形例によれば、プリプログラムや、ソフト・プログラムを含む消去シーケンスの途中において、リセットコマンドが発行され、消去シーケンスが中断した場合においても、再開後、短時間に消去動作を行うことができるとともに、過消去を防止することができる。
【００６２】
しかも、上記第１、第２の変形例によれば、既存の回路を大きく変更することなく、比較的簡単な構成により、消去動作中に読み出し／書き込み動作を割り込ませることが可能である。
【００６３】
（第２の実施形態）
図８、図９は、第２の実施形態を示している。図９において、図７と同一部分には同一符号を付している。
【００６４】
上記第１の実施形態は、消去動作中にリセットコマンドを入力して消去動作を中断させ、且つ中断前と同じ消去電圧により、消去動作を再開させるために、プリコマンド、及び通常の消去コマンドを入力する必要がある。
【００６５】
これに対して、第２の実施形態は、消去動作の再開時にコマンド入力を必要とせず、１つの消去シーケンスの中に読み出し／書き込み動作を割り込ませることを可能とする。
【００６６】
すなわち、図８（ａ）に示すように、消去動作において、先ず、コントローラ１０から消去アドレス入力コマンド、アドレス、及び例えばサスペンドイレースコマンドと称するコマンドが入力されると、レディ／ビジー信号がダミービジー状態とされる。また、内部レディ／ビジー信号がビジー状態とされ、消去動作が開始される。消去動作は、第１の実施形態と同様である。内部レディ／ビジー信号は、制御部７内の応答信号である。
【００６７】
また、ダミービジー状態がレディ状態に戻った場合、読み出し動作又は書き込み動作を割り込ませるためのコマンドが発行可能となる。この状態において、コントローラ１０から、例えば読み出しアドレス入力コマンド、アドレス、読み出しコマンドが順次供給されるとレディ／ビジー信号がビジー状態とされる。
【００６８】
制御部７は、読み出しコマンドに基づき、内部クロック信号と同期して後述するタイミングにおいて、割り込み要求を発生する。すると、消去動作が中断され、直ちに読み出し動作が開始される。
【００６９】
割り込み要求を発生して消去動作が中断されるタイミングは、プリプログラム後（Ｓ２３）、又は消去電圧印加後（Ｓ２４）、又は消去ベリファイ終了後（Ｓ２５）、或いはソフト・プログラム後（Ｓ３１）とされる。尚、割り込み要求から読み出し動作開始までの時間を極力短縮するため、プリプログラム中、消去電圧の印加中、及びソフト・プログラム中に強制的に終了させてもよい。また、これら割り込み要求が発生された時点のステータスは、例えばレジスタ７ｃに保持される。
【００７０】
一方、読み出し動作が終了し、割り込み動作が終了すると、図８（ｂ）に示すように、レディ／ビジー信号がレディ状態に戻り、読み出し動作により読み出されたデータの出力が可能となる。このとき、制御部７により、中断時の動作が再開される。制御部７は、レジスタ７ｃに保持されたステータスデータに基づき、中断時の動作を再開する。
【００７１】
すなわち、再開時の動作は、図９に示すように、中断時のタイミングが、消去パルス印加後である場合、消去ベリファイから実行され、消去ベリファイ後である場合、消去電圧をセットアップされるとともに、ループ回数が更新され、消去電圧の印加が開始される。
【００７２】
さらに、プリプログラムの途中で中断された場合、次の動作のいずれかが実行される。（１）プリプログラムの最初から再開される。（２）１回目の消去電圧印加から再開される（３）中断したタイミングからプリプログラムが再開される。（４）プリプログラムの終了を待ってから割り込み動作を開始する。
【００７３】
また、１回目の消去電圧印加中であった場合は、再度１回目の消去電圧の印加から再開するか、消去ベリファイから再開してもよい。また、ソフト・プログラムの途中で中断された場合、１回目のソフト・プログラムから再開される。この再開された動作は、ページバッファに保持された読み出しデータを外部へ出力する動作と同時に行うことが可能である。
【００７４】
また、消去電圧印加中に強制終了された場合、第１の実施形態と同様に、メモリセルの過消去を避けるため、消去ベリファイから開始される。
【００７５】
上記動作は、消去動作中に読み出し動作を割り込ませる場合について説明したが、これに限定されるものではなく、消去動作中に書き込み動作を割り込ませる場合も、上記と同様の動作により実行することが可能である。
【００７６】
上記第２の実施形態によれば、消去コマンドが入力された場合、レディ／ビジー信号をダミービジー状態とし、内部レディ／ビジー信号をビジー状態として消去動作を開始した後、レディ／ビジー信号をダミービジー状態からレディ状態に戻して、読み出し又は書き込みコマンドの入力を可能とし、読み出し又は書き込みコマンドが入力された場合、割り込みにより、消去動作を中断させ、割り込み動作が終了した場合、消去動作を再開させている。このため、消去動作を再開させるためのコマンドを入力する必要がなく、且つ割り込みが読み出し動作である場合、データを外部で出力させる動作と、消去動作をオーバーラップさせることができる。また、割り込みが書き込み動作である場合、ページバッファへのデータの入力と、消去動作をオーバーラップさせることができる。したがって、消去動作とデータの読み出し、データの入力動作を同時に行うことにより、動作時間を短縮するこが可能である。
【００７７】
図１０は、第２の実施形態の変形例（第３の変形例と称す）を示している。例えば消去動作中に書き込み動作（プログラム）を割り込ませた場合において、プログラムベリファイがパスしたか、フェイルであるかを知りたい場合がある。プログラムベリファイの結果は、コントローラ１０からステータスコマンドを発行することによりパスしたか、フェイルであるかを知ることができる。
【００７８】
しかし、第２の実施形態の場合、消去動作とプログラム動作を同時に実行することが可能とされているため、単にステータスコマンドを発行した場合、消去動作とプログラム動作のどちらのステータスが出力されるか区別することが困難となる。
【００７９】
そこで、図１０に示すように、制御部７に通常用のステータスレジスタ４１と、サスペンドイレースコマンドを使用した場合のステータスを保持するサスペンドイレース用ステータスレジスタ４２を接続している。ステータスレジスタ４１には、プログラムベリファイ時のステータスが保持される。また、サスペンドイレース用ステータスレジスタ４２には、サスペンドイレースコマンドを使用して消去が実行された場合において、消去がパスしたか、フェイルか、つまり、消去ベリファイ、インテリジェント・ソフトプログラム・ベリファイ、及びソフト・プログラム・ベリファイの全てがパスしたか、フェイルかのステータスが保持される。
【００８０】
ステータスレジスタ４１、及びサスペンドイレース用ステータスレジスタ４２の出力端は選択回路４３に接続され、この選択回路４３は、通常用のステータスコマンドと消去中断用のステータスコマンドによりステータスレジスタ４１とサスペンドイレース用ステータスレジスタ４２の一方を選択可能としている。このため、コントローラ１０より通常用のステータスコマンドが発行された場合、ステータスレジスタ４１に保持されているプログラムベリファイのステータスが選択され、これがステータスデータとしてデータ入出力バッファ４を介してコントローラ１０に送られ、コントローラ１０より消去中断用のステータスコマンドが発行された場合、サスペンドイレース用ステータスレジスタ４２に保持されている消去実行時のステータスが選択され、これがステータスデータとしてデータ入出力バッファ４を介してコントローラ１０に送られる。
【００８１】
上記第３の変形例によれば、消去実行時のステータスとプログラムベリファイのステータスを確実に取り出すことができる。したがって、不揮発性半導体記憶装置の動作状態を正確に認識することが可能である。
【００８２】
尚、図７、図９において、消去シーケンスは、消去動作以外にプリプログラムやソフト・プログラムなどの異なる動作を含んでいるが、これらプリプログラムやソフト・プログラムを消去シーケンスから独立させ、コマンドを使用してこれらの動作を単独で動作ささせることも可能である。
【００８３】
また、消去中断シーケンスは、第１の実施形態、及び第２の実施形態のどちらも適用可能である。
【００８４】
その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００８５】
１…メモリセルアレイ、７…制御部、７ａ、７ｂ、７ｃ…レジスタ、９…電圧発生回路。
【図１】
0005378326.tif 000002
【図２】
0005378326.tif 000003
【図３】
0005378326.tif 000004
【図４】
0005378326.tif 000005
【図５】
0005378326.tif 000006
【図６】
0005378326.tif 000007
【図７】
0005378326.tif 000008
【図８】
0005378326.tif 000009
【図９】
0005378326.tif 000010
【図１０】
0005378326.tif 000011