(57)【要約】【課題】電源電圧の供給停止を検出せずに、かつメモリセルからデータを読み出すことなく、書き換え動作中の電源遮断が容易に検出できる不揮発性半導体記憶装置を提供する。【解決手段】行列上にフラッシュメモリセルが配置されたメモリアレイ９９は、メモリブロック８＿０〜８＿３に分割される。メモリブロック８＿０〜８＿３は、データを記憶するノーマルメモリセルＮＣと、消去動作の完了の有無表わすためのフラグメモリセルＦＣを含む。制御回路６は、メモリブロックの消去動作が終了後に、フラグメモリセルＦＣを書込状態に設定する。【選択図】図１
2013033565.tif 000002
【特許請求の範囲】
【請求項１】
記憶情報を電気的に書込みおよび消去が可能である複数のメモリセルを含み、かつメモリブロックに分割されるメモリアレイを備え、前記メモリブロックは、データを記憶する第１のメモリセルと、消去動作の完了の有無表わすための第２のメモリセルを含み、
前記メモリブロックの消去動作が終了後に、前記第２のメモリセルを書込状態に設定する制御部を備えた、不揮発性半導体記憶装置。
【請求項２】
前記メモリブロックは、さらに、消去動作の完了の有無を表わすための第３のメモリセルを含み、
前記制御部は、前記メモリブロックの消去前書込みを実施し、
前記制御部は、前記メモリブロックの消去動作が完了後に前記第３のメモリセルを消去状態に設定する、請求項１記載の不揮発性半導体記憶装置。
【請求項３】
前記メモリブロックは、前記メモリブロックの使用の有無を表わす情報を記憶する第４のメモリセルを含み、
前記制御部は、初めて前記メモリブロックの前記第１のメモリセルにデータを書き込む前に、前記第４のメモリセルを書込状態に設定する、請求項２記載の不揮発性半導体記憶装置。
【請求項４】
前記メモリブロックは、消去動作および書込み動作が禁止状態であることを表わすロックビットを記憶する第５のメモリセルを含み、
前記第２のメモリセル、前記第３のメモリセル、前記第４のメモリセルおよび前記第５のメモリセルは、別個の外部との接続用の入出力部と接続し、
前記制御部は、前記第２のメモリセル、前記第３のメモリセル、前記第４のメモリセルおよび前記第５のメモリセルを同時に読出す、請求項３記載の不揮発性半導体記憶装置。
【請求項５】
前記制御部は、外部より指定アドレスと、前記指定アドレスに本来書き込まれているはずのデータとを受けて、
前記制御部は、前記指定アドレスのメモリセルからデータを読み出し、前記外部から入力された本来書き込まれているはずのデータと、前記読み出したデータとを比較し、一致すれば外部にパスを表わす信号を出力し、不一致であればエラーを表わす信号を出力する、請求項１記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置に関し、特に書き換え動作中の電源遮断が容易に検出できる不揮発性半導体記憶装置に関する。
【背景技術】
【０００２】
フラッシュメモリは、コントロールゲートおよびフローティングゲートを有する２重ゲ
ート構造のＭＯＳＦＥＴからなる不揮発性記憶素子をメモリセルに使用しており、フロー
ティングゲートの蓄積電荷量を変えることでＭＯＳＦＥＴのしきい値電圧を変化させ情報
を記憶するようにしている。
【０００３】
消去動作中に電源遮断が発生した場合、メモリからデータを読み出し、消去状態になっているかを確認していた。
【０００４】
この動作フロー中、消去ベリファイパスまでで動作が中断した場合、メモリからデータを読み出すと消去状態になっているが、過消去状態のメモリセルがある場合、このメモリセルに影響され、他のメモリセルのデータが正確に読み出さないだけでなく、書き込めないという問題がある。すなわち、メモリからデータを読み出すだけでは消去動作が正常終了したかは判断できない。その結果、電源遮断が発生した場合は直前の消去動作は有効ではなく、再度、消去動作を実施する必要がある。
【０００５】
また、書込み動作中に電源遮断が発生した場合、書込んだとおりにデータが書込まれているか、メモリからデータを読み出すことで正常終了を確認していた。
【０００６】
しかしながら、書込み動作において書込まれたことの確認は、単なるリード時よりマージンをもった確認を行っている。たとえば、リード時に印加する電圧より高い電圧を印加し、その状態でも電流が流れないことを確認している。すなわち、書込んだとおりにデータが書込まれているか、メモリからデータを読み出すだけでは実際に正常終了した場合とは異なる確認方法になっている。
【０００７】
上記の問題に対して、特許文献１（特開２００８−１８１６６１号公報）には以下のような方式が記載されている。
【０００８】
不揮発性半導体記憶装置の複数のメモリセルには、データ格納メモリセルと、書込み動作状態または消去動作状態を示すフラグ情報の格納に用いられる書込み動作または消去動作のフラグメモリセルが含まれる。制御回路はデータ格納メモリセルへのデータの書込み動作を制御する一方、書込み動作または消去動作に関係してフラグメモリセルへのフラグ情報の格納を制御する。書込み動作または消去動作の途中での電源電圧の供給停止の発生に応答して書込み動作または消去動作を中断する一方、書込み動作または消去動作の間の電源電圧供給停止の発生を示すフラグ情報がフラグメモリセルに格納される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−１８１６６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１に記載の方式では、書込み動作または消去動作の途中での電源電圧の供給停止の発生に応答して書込み動作または消去動作を中断する。すなわち、電源電圧の供給停止を検出する必要がある。したがって、電源電圧の供給停止を検出するための回路が必要となる。
【００１１】
それゆえに、本発明の目的は、電源電圧の供給停止を検出せずに、かつメモリセルからデータを読み出すことなく、書き換え動作中の電源遮断が容易に検出できる不揮発性半導体記憶装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明の一実施形態の不揮発性半導体記憶装置は、記憶情報を電気的に書込みおよび消去が可能である複数のメモリセルを含み、かつメモリブロックに分割されるメモリアレイを備える。メモリブロックは、データを記憶する第１のメモリセルと、消去動作の完了の有無表わすための第２のメモリセルを含む。不揮発性半導体記憶装置は、メモリブロックの消去動作が終了後に、第２のメモリセルを書込状態に設定する制御部を備える。
【発明の効果】
【００１３】
本発明の一実施形態によれば、電源電圧の供給停止を検出せずに、かつメモリからデータを読み出すことなく、書き換え動作中の電源遮断が容易に検出できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態の不揮発性半導体記憶装置の構成を表わす図である。
【図２】図１に含まれるメモリブロック＃０（８−０）の構成を表わす図である。
【図３】サブブロック＃０（２０−０）のメモリセルの配置を表わす図である。
【図４】ＮＯＲ型フラッシュメモリを表わす図である。
【図５】各動作時にＮＯＲ型フラッシュメモリに与える電位を表わす図である。
【図６】本実施の形態のブロック消去動作のフローチャートである。
【図７】ブロック消去動作の過程でのメモリセルの閾値電圧分布を表わす図である。
【図８】ステップＳ１２２の第１のブロック消去完了フラグの書込み動作のフローチャートである。
【図９】第１の実施形態の変形例３のブロックステータスチェックコマンドによる消去動作の確認手順を表わすフローチャートである。
【図１０】ロックビットを備えるメモリにおけるブロック消去の動作手順を表わすフローチャートである。
【図１１】第２の実施形態のブロックステータスチェックコマンドによる消去動作の確認手順を表わすフローチャートである。
【図１２】第２の実施形態の書込み手順を表わすフローチャートである。
【図１３】ロックビットの書込み手順を表わすフローチャートである。
【図１４】データステータスチェックコマンドによる制御手順を表わすフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図面を参照して説明する。
［第１の実施形態］
（構成）
図１は、第１の実施形態の不揮発性半導体記憶装置の構成を表わす図である。
【００１６】
図１を参照して、この半導体記憶装置１は、電源回路２と、プリデコーダ３と、ロウデコーダ４と、カラムデコーダ５と、メモリブロック＃０〜＃３からなるメモリアレイ９９と、カラムゲート９と、センスアンプ＋書込み回路７と、制御回路６とを備える。
【００１７】
電源回路２は、各構成要素に電力を供給する。
メモリアレイ９９内には行列上に複数のフラッシュメモリセルが配置される。フラッシュメモリセルは、記憶情報を電気的に書込み、消去可能である。フラッシュメモリセルは、閾値電圧に対応して情報を記憶する。
【００１８】
プリデコーダ３は、アドレスをプリデコードする。
ロウデコーダ４は、プリデコードされたアドレスをさらにデコードしてロウアドレスを選択する。
【００１９】
カラムデコーダ５は、プリデコードされたアドレスをさらにデコードしてカラムアドレスを選択する。
【００２０】
カラムゲート９は、センスアンプ＋書込み回路７と、メモリアレイ９９内の選択されたカラムとを接続する。
【００２１】
センスアンプ＋書込み回路７は、読出し時には、メモリアレイ９９内のメモリセルから読み出されたデータを増幅し、書込み時には、メモリアレイ９９内のメモリセルにデータを書込む。
【００２２】
制御回路６は、外部から制御信号、アドレス信号、コマンド、ライトデータ（書込みデータ）を受けて、様々な制御を行なう。また、制御回路６は、外部へリードデータ（読出しデータ）を出力する。
【００２３】
図２は、図１に含まれるメモリブロック＃０（８−０）の構成を表わす図である。メモリブロック＃１〜＃３の構成も、これと同様である。
【００２４】
図２を参照して、メモリブロック＃０が、（ｎ＋２）ビットを単位としてサブブロック＃０（２０−０）〜サブブロック＃７（２０−７）を有する場合を示している。サブブロックごとに外部との接続用のＩ／Ｏ（入出力部）を有する。
【００２５】
図２に示すように、メモリブロック＃０は、行ごとのワード線ＷＬと、ブロックで共通となるソース線ＳＬとを有する。
【００２６】
サブブロック＃ｉ（２０−ｉ）は、（ｎ＋２）個の列からなる。サブブロック＃ｉ（２０−ｉ）には、（ｎ＋１）個のメインビット線ＭＢＬ＿ｉ０〜ＭＢＬ＿ｉｎと、１個のフラグメインビット線ＭＢＬ＿ｉＦｌａｇが設けられている。
【００２７】
図３は、サブブロック＃０（２０−０）のメモリセルの配置を表わす図である。
図３に示すように、１行に、（ｎ＋１）ｘ２個のノーマルメモリセルＮＣと、１個のフラグメモリセルＦＣとを備える。
【００２８】
フラグメモリセルＦＣは、フラグメインビット線ＭＢＬ＿０Ｆｌａｇに接続されたサブビット線に接続される。なお、フラグメモリセルＦＣは、独立のメインビット線ではなく、ノーマルメモリセルのメインビット線に接続されたサブビット線に接続するものであってもよい。また、フラグメモリセルＦＣが、サブブロックに１個のみが含まれることとしたが、サブブロックに複数個のセルが含まれるものであってもよい。
【００２９】
本実施の形態では、サブブロック＃０のフラグメモリセルＦＣに、第１のブロック消去完了フラグを記憶することとしたが、他のサブブロック＃１〜＃７に割り当てることとしてもよい。
【００３０】
本実施の形態では、制御回路６は、サブブロック＃０のフラグメモリセルＦＣのベリファイをノーマルメモリセルＮＣに先んじて実施するように制御する。また、制御回路６は、消去動作フローの終了後に、第１のブロック消去完了フラグに対してのみ書込みを行う。その結果、ブロック消去動作完了後、第１のブロック消去完了フラグの値は書込み状態を表わす「０」となる。
【００３１】
図４は、ＮＯＲ型フラッシュメモリを表わす図である。
図５は、各動作時にＮＯＲ型フラッシュメモリに与える電位を表わす図である。
【００３２】
図５に示すように、読出し時には、コントロールゲートＣＧに５Ｖが与えられ、ドレインＤに１Ｖが与えられ、ソースＳに０Ｖが与えられ、ＰウエルＰｗに０Ｖが与えられる。
【００３３】
書込みパルス印加時には、コントロールゲートＣＧに９Ｖが与えられ、ドレインＤに４Ｖが与えられ、ソースＳに０Ｖが与えられ、ＰウエルＰｗに−１Ｖが与えられる。
【００３４】
書込みベリファイ時には、コントロールゲートＣＧに７Ｖが与えられ、ドレインＤに１Ｖが与えられ、ソースＳに０Ｖが与えられ、ＰウエルＰｗに０Ｖが与えられる。
【００３５】
消去前書込み時には、コントロールゲートＣＧに９Ｖが与えられ、ドレインＤがフローティグ状態に、ソースＳに−９Ｖが与えられ、ＰウエルＰｗに−９Ｖが与えられる。
【００３６】
消去パルス印加時には、コントロールゲートＣＧに−９Ｖが与えられ、ドレインＤに１Ｖが与えられ、ソースＳに０Ｖが与えられ、ＰウエルＰｗに０Ｖが与えられる。
【００３７】
過消去ベリファイ時には、コントロールゲートＣＧに１Ｖが与えられ、ドレインＤに１Ｖが与えられ、ソースＳに０Ｖが与えられ、ＰウエルＰｗに０Ｖが与えられる。
【００３８】
書戻しパルス印加時には、コントロールゲートＣＧに１Ｖが与えられ、ドレインＤに４Ｖが与えられ、ソースＳに０Ｖが与えられ、ＰウエルＰｗに−１Ｖが与えられる。
【００３９】
（ブロック消去動作）
図６は、本実施の形態のブロック消去動作のフローチャートである。図７は、ブロック消去動作の過程でのメモリセルの閾値電圧分布を表わす図である。
【００４０】
図６および図７を参照して、図７（ａ）に示すように、消去前の状態は、消去状態（「１」）と書込み状態（「０」）とが混在する。
【００４１】
まず、制御回路６は、消去前の書込みが行なわれるように制御する（ステップＳ１０１）。
【００４２】
図７（ｂ）に示す前に、消去前の書込みによって、すべてのメモリセルが書込み状態となる。
【００４３】
次に、制御回路６は、アドレスをフラグ領域（サブブロック＃０のフラグメモリセルＦＣ）を指定するアドレスに設定する（ステップＳ１０２）。
【００４４】
次に、消去ベリファイがパスするまで、制御回路６は、消去パルスが印加されるように制御する（ステップＳ１０３〜Ｓ１０５）。
【００４５】
次に、制御回路６は、アドレスを先頭のアドレス「０」に設定する（ステップＳ１０６）。
【００４６】
次に、消去ベリファイがパスするまで、制御回路６は、消去パルスが印加されるように制御する（ステップＳ１０７〜Ｓ１０９）。図７（ｃ）は、消去ベリファイが失敗している状態を表わす。図７（ｄ）は、消去ベリファイが成功している状態を表わす。
【００４７】
制御回路６は、アドレスが最終アドレスに設定されるまで（ステップＳ１１０でＹＥＳ）、設定アドレスをインクリメントし（ステップＳ１１１）、ステップＳ１０７〜Ｓ１０９の動作が繰返される。
【００４８】
設定アドレスが最終アドレスとなると、制御回路６は、アドレスがフラグ領域を指定するアドレスに設定する（ステップＳ１１２）。
【００４９】
次に、過消去ベリファイがパスするまで、制御回路６は、書き戻しパルスが印加されるように制御する（ステップＳ１１３〜Ｓ１１５）。
【００５０】
次に、制御回路６は、アドレスを先頭のアドレス「０」に設定する（ステップＳ１１６）。
【００５１】
次に、過消去ベリファイがパスするまで、制御回路６は、書き戻しパルスが印加されるように制御する（ステップＳ１１７〜Ｓ１１９）。図７（ｅ）は、過消去ベリファイが成功し、消去が完了した状態を表わす。
【００５２】
設定アドレスが最終アドレスとなるまで（ステップＳ１２０でＹＥＳ）、制御回路６は、設定アドレスをインクリメントして（ステップＳ１２１）、ステップＳ１１７〜Ｓ１１９の動作が繰返される。
【００５３】
次に、制御回路６は、第１のブロック消去完了フラグが書込まれるように制御する（ステップＳ１２２）。
【００５４】
以上のようにして、フラグメインビット線上のフラグメモリセルＦＣは他のメモリセルと同様に、ブロック消去動作フローに従ったパルス印加およびベリファイが行われる。
【００５５】
（消去完了フラグ書込動作）
図８は、ステップＳ１２２の第１のブロック消去完了フラグの書込み動作のフローチャートである。
【００５６】
まず、制御回路６は、アドレスがフラグ領域（サブブロック＃０のフラグメモリセルＦＣ）を指定するアドレスに設定する（ステップＳ３０１）。
【００５７】
次に、書込みベリファイがパスするまで、制御回路６は、書込みパルスが印加されるように制御する。この結果、第１のブロック消去完了フラグの値は書込み状態を表わす「０」となる（ステップＳ３０２〜Ｓ３０４）。
【００５８】
以上のように、第１のブロック消去完了フラグが書込まれていることを確認すれば、ブロック消去動作が正常に完了していると判断できる。従来、電源遮断が発生した場合は直前の消去動作は有効ではなく、再度、消去動作を実施する必要があったが、本実施の形態では、確実に判断できるようになる。さらにこのフラグは、ブロック消去動作が正常に完了していることを示していることから、そのブロックが消去状態（ブランク状態）であることの確認にも利用できる。
【００５９】
［第１の実施形態の変形例１］
第１の実施形態では、サブブロック＃０のフラグメモリセルＦＣについてのみ説明した。通常は、サブブロック＃０のフラグメモリセルＦＣに第１のブロック消去完了フラグを割り当て、ブロック消去動作完了後、第１のブロック消去完了フラグを書込み状態に設定することでブロック消去動作完了を認識することができる。
【００６０】
しかしながら、図６のステップＳ１０１のように、ブロック消去動作中に消去前書込みが実施される場合、消去前書込み直後の電源遮断では、第１のブロック消去完了フラグフラグが書込み状態となっているのもかかわらずブロック消去動作は完了していないことになる。
【００６１】
この問題を解決するために、本変形例では、サブブロック＃１（２０−１）のフラグメモリセルＦＣに第２のブロック消去完了フラグを割り当てる。
【００６２】
サブブロック＃１のフラグメモリセルＦＣは他のメモリセルと同様にブロック消去動作フローに従ったパルス印加、ベリファイが行われる。
【００６３】
制御回路６は、サブブロック＃１のフラグメモリセルＦＣのベリファイを他のメモリセルに先んじて実施する。本変形例では、消去動作フロー終了後、図６のステップＳ１２２において、制御回路６は、サブブロック＃０のフラグメモリセルＦＣに割り当てられた第１のブロック消去完了フラグに対してのみ書込みを行うが、サブブロック＃１のフラグメモリセルＦＣに割り当てられた第２のブロック消去完了フラグに対して書込みを行なわない。その結果、ブロック消去動作完了後、第１のブロック消去完了フラグの値は書込み状態を表わす「０」となり、第２のブロック消去完了フラグの値は消去状態を表わす「１」となる。
【００６４】
制御回路６は、第２のブロック消去完了フラグが消去状態であり、かつ第１のブロック消去完了フラグが書込み状態であることを確認することによって、ブロック消去動作フロー中に消去前書込み動作が含まれている場合であっても、ブロック消去動作が正常に完了していると判断できる。
【００６５】
第１のブロック消去完了フラグおよび第２のブロック消去完了フラグは、別個のＩ/Ｏに割り当てられているため、確認のためのリード動作を同時に実施することができる。
【００６６】
なお、本変形例では、サブブロック＃１のフラグメインビット線と接続されたサブビット線に接続するフラグメモリセルＦＣに第２のブロック消去完了フラグを割り当てることとしたが、サブブロック＃２〜サブブロック＃７のフラグメインビット線と接続されたサブビット線に接続するフラグメモリセルＦＣに第２のブロック消去完了フラグを割り当てることとしてもよい。なお、フラグメモリセルＦＣは、独立のメインビット線ではなく、ノーマルメモリセルのメインビット線に接続されたサブビット線に接続するものであってもよい。また、フラグメモリセルＦＣが、サブブロックに１個のみが含まれることとしたが、サブブロックに複数個のセルが含まれるものであってもよい。
【００６７】
［第１の実施形態の変形例２］
第１の実施形態および変形例１で、サブブロック＃０およびサブブロック＃１のフラグメモリセルＦＣについてのみ説明した。これらは、ブロック消去動作完了で値が固定される。
【００６８】
ブロック消去動作が正しく完了していることを認識するには十分であるが、本変形例では、さらにサブブロック＃２のフラグメインビット線に接続されるフラグメモリセルＦＣに「ブロック使用フラグ」を記憶させる。
【００６９】
制御回路６は、初めてメモリブロックにデータを書込む前に、そのメモリブロックのサブブロック＃２のブロック使用フラグを書込み状態を表わす「０」に設定する。
【００７０】
ブロック使用フラグの書込動作は、図８に示したものと同様のステップで構成される。
制御回路６は、サブブロック＃２のフラグメモリセルＦＣのベリファイを他のメモリセルに先んじて実施する。本変形例では、消去動作フロー終了後、図６のステップＳ１２２において、制御回路６は、サブブロック＃０のフラグメモリセルＦＣに割り当てられた第１のブロック消去完了フラグに対して書込みを行うが、サブブロック＃１のフラグメモリセルＦＣに割り当てられた第２のブロック消去完了フラグに対して書込みを行なわず、サブブロック＃２のフラグメモリセルＦＣに割り当てたブロック使用フラグに対しても書込みを行なわない。
【００７１】
その結果、ブロック消去動作完了後、第１のブロック消去完了フラグの値は書込み状態を表わす「０」となり、第２のブロック消去完了フラグの値は消去状態を表わす「１」となり、ブロック使用フラグの値は消去状態を表わす「１」となる。
【００７２】
制御回路６は、ブロック使用フラグが消去状態であり、かつ第２のブロック消去完了フラグが消去状態であり、かつ第１のブロック消去完了フラグが書込み状態であることを確認することによって、ブロック消去動作が正常に完了していると判断できる。
【００７３】
第１のブロック消去完了フラグ、第２のブロック消去完了フラグ、およびブロック使用フラグは別個のＩ/Ｏに割り当てられているため、確認のためのリード動作を同時に実施することができる。
【００７４】
なお、本変形例では、サブブロック＃２のフラグメインビット線と接続されたサブビット線に接続するフラグメモリセルＦＣにブロック使用フラグを割り当てることとしたが、サブブロック＃３〜サブブロック＃７のフラグメインビット線と接続されたサブビット線に接続するフラグメモリセルＦＣにブロック使用フラグを割り当てることとしてもよい。なお、フラグメモリセルＦＣは、独立のメインビット線ではなく、ノーマルメモリセルのメインビット線に接続されたサブビット線に接続するものであってもよい。また、フラグメモリセルＦＣが、サブブロックに１個のみが含まれることとしたが、サブブロックに複数個のセルが含まれるものであってもよい。
【００７５】
［第１の実施形態の変形例３］
第１の実施形態およびその変形例では、サブブロック＃０、サブブロック＃１、およびサブブロック＃２のフラグメモリセルＦＣについてのみ説明した。
【００７６】
これらのフラグビットの確認時は、通常のリードと同様に読み出してもよいが、読み出し時のコントロールゲート電圧を図７に示すような読出しレベルよりも高く、かつ書込みベリファイ電圧よりも低い電圧とすることで、各フラグビットの値をより正しく認識することができる。
【００７７】
そのために、本実施の形態では、ブロックステータスチェックコマンドを用いて、メモリブロックが正常に消去動作を終了し、かつ消去状態が保持されているかを確認する。
【００７８】
図９は、第１の実施形態の変形例３のブロックステータスチェックコマンドによる消去動作の確認手順を表わすフローチャートである。
【００７９】
図９を参照して、ブロックステータスチェックコマンドが入力されたときに、制御回路６は、アドレスをフラグ領域（サブブロック＃０のフラグメモリセルＦＣ、サブブロック＃１のフラグメモリセルＦＣ、およびサブブロック＃２のフラグメモリセルＦＣ）を指定するアドレスに設定する（ステップＳ４０１）。
【００８０】
次に、制御回路６は、サブブロック＃０のフラグメモリセルＦＣに割り当てられた第１のブロック消去完了フラグの値をチェックする（ステップＳ４０２）。
【００８１】
制御回路６は、第１のブロック消去完了フラグの値が消去状態を表わす「１」の場合には（ステップＳ４０３でＮＯ）、消去動作が失敗したと判定して終了する。
【００８２】
制御回路６は、第１のブロック消去完了フラグの値が書込み状態を表わす「０」の場合には（ステップＳ４０３でＹＥＳ）、サブブロック＃１のフラグメモリセルＦＣに割り当てられた第２のブロック消去完了フラグの値をチェックする（ステップＳ４０４）。
【００８３】
制御回路６は、第２のブロック消去完了フラグの値が書込状態を表わす「０」の場合には（ステップＳ４０５でＮＯ）、消去動作が失敗したと判定して終了する。
【００８４】
制御回路６は、第２のブロック消去完了フラグの値が消去状態を表わす「１」の場合には（ステップＳ４０５でＹＥＳ）、サブブロック＃２のフラグメモリセルＦＣに割り当てられたブロック使用フラグの値をチェックする（ステップＳ４０６）。
【００８５】
制御回路６は、ブロック使用フラグの値が書込状態を表わす「０」の場合には（ステップＳ４０７でＮＯ）、消去動作が失敗したと判定して終了する。
【００８６】
制御回路６は、ブロック使用フラグの値が消去状態を表わす「１」の場合には（ステップＳ４０７でＹＥＳ）、消去動作が成功した（すなわちメモリブロックが正常に消去動作を終了し、かつ消去状態が保持されている）と判定して終了する。
【００８７】
本実施の形態によれば、ブロックステータスチェックコマンドによって、そのメモリブロックが正常に消去動作終了し、消去状態が保持されていることを容易に確認できる。
【００８８】
「第２の実施形態］
第１の実施形態、第１の実施形態の変形例では、サブブロック＃０、サブブロック＃１、およびサブブロック＃２のフラグメモリセルＦＣについてのみ説明した。
【００８９】
メモリアレイによっては、メモリブロックのデータを保護する「ロックビット」を備えているものもある。ロックビットは消去動作および書込み動作開始時にチェックされるビットであり、このビットが書込み状態の場合には、消去動作および書込み動作は中止される。
【００９０】
本実施の形態では、ロックビットを備えるメモリにおけるブロック消去動作を説明する。
【００９１】
本実施の形態では、ロックビットを、第１のブロック消去完了フラグ、第２のブロック消去完了フラグ、およびブロック使用フラグと同時に読み出させるように、サブブロック＃７のフラグメインビット線に接続されるフラグメモリセルＦＣに記憶することとする。
【００９２】
図１０は、ロックビットを備えるメモリにおけるブロック消去の動作手順を表わすフローチャートである。
【００９３】
図１０のフローチャートが、図６のフローチャートと相違する点は、動作開始直後にロックビットをチェックする（ステップＳ５０１）である。なわち、ロックビットが書込み状態であれば消去動作が中止される。
【００９４】
図１１は、第２の実施形態のブロックステータスチェックコマンドによる消去動作の確認手順を表わすフローチャートである。
【００９５】
図１１を参照して、ブロックステータスチェックコマンドが入力されたら、制御回路６は、アドレスがフラグ領域（サブブロック＃０のフラグメモリセルＦＣ、サブブロック＃１のフラグメモリセルＦＣ、サブブロック＃２のフラグメモリセルＦＣ）を指定するアドレスに設定する（ステップＳ６０１）。
【００９６】
次に、制御回路６は、サブブロック＃０のフラグメモリセルＦＣに割り当てられた第１のブロック消去完了フラグの値をチェックする（ステップＳ６０２）。
【００９７】
制御回路６は、第１のブロック消去完了フラグの値が消去状態を表わす「１」の場合には（ステップＳ６０３でＮＯ）、消去動作が失敗したと判定して終了する。
【００９８】
制御回路６は、第１のブロック消去完了フラグの値が書込み状態を表わす「０」の場合には（ステップＳ６０３でＹＥＳ）、サブブロック＃１のフラグメモリセルＦＣに割り当てられた第２のブロック消去完了フラグの値をチェックする（ステップＳ６０４）。
【００９９】
制御回路６は、第２のブロック消去完了フラグの値が書込状態を表わす「０」の場合には（ステップＳ６０５でＮＯ）、消去動作が失敗したと判定して終了する。
【０１００】
制御回路６は、第２のブロック消去完了フラグの値が消去状態を表わす「１」の場合には（ステップＳ６０５でＹＥＳ）、サブブロック＃２のフラグメモリセルＦＣに割り当てられたブロック使用フラグの値をチェックする（ステップＳ６０６）。
【０１０１】
制御回路６は、ブロック使用フラグの値が書込状態を表わす「０」の場合には（ステップＳ６０７でＮＯ）、消去動作が失敗したと判定して終了する。
【０１０２】
制御回路６は、ブロック使用フラグの値が消去状態を表わす「１」の場合には（ステップＳ６０７でＹＥＳ）、サブブロック＃７のフラグメモリセルＦＣに割り当てられたロックビットの値をチェックする（ステップＳ６０８）。
【０１０３】
制御回路６は、ロックの値が書込状態を表わす「０」の場合には（ステップＳ６０９でＮＯ）、消去動作が失敗したと判定して終了する。
【０１０４】
制御回路６は、ロックビットの値が消去状態を表わす「１」の場合には（ステップＳ６０９でＹＥＳ）、消去動作が成功した（すなわちメモリブロックが正常に消去動作を終了し、かつ消去状態が保持されている）と判定して終了する。
【０１０５】
本実施の形態によれば、ブロックステータスチェックコマンドによって、そのメモリブロックが正常に消去動作終了し、消去状態が保持されていることを容易に確認できる。
【０１０６】
図１２は、第２の実施形態の書込み手順を表わすフローチャートである。
まず、制御回路６は、アドレスをフラグ領域（サブブロック＃２およびサブブロック＃７のフラグメモリセルＦＣおよび）を指定するアドレスに設定する（ステップＳ７０１）。
【０１０７】
次に、制御回路６は、サブブロック＃２のフラグメモリセルＦＣに割り当てられたブロック使用フラグの値と、サブブロック＃７のフラグメモリセルＦＣに割り当てられたロックビットの値をチェックする（ステップＳ７０２）。
【０１０８】
制御回路６は、ブロック使用フラグの値が消去状態を表わす「１」で、かつロックビットの値が消去状態を表わす「１」でない場合には（ステップＳ７０３でＮＯ）、消去動作が正常に終了していないと判断して終了する。
【０１０９】
制御回路６は、ブロック使用フラグの値が消去状態を表わす「１」で、かつロックビットの値が消去状態を表わす「１」である場合には（ステップＳ７０３でＹＥＳ）、アドレスを書込みアドレスに設定する（ステップＳ７０４）。
【０１１０】
次に、書込みベリファイがパスするまで、制御回路６は、書込みパルスが印加されるように制御する（ステップＳ７０５〜Ｓ７０７）。
【０１１１】
図１２で説明したように、ロックビットとブロック使用フラグを、データを書込み前に確認することで、書込みのための動作時間が従来より増加することなく、機能組み込みが可能である。
【０１１２】
図１３は、ロックビットの書込み手順を表わすフローチャートである。
まず、制御回路６は、アドレスをフラグ領域（サブブロック＃２およびサブブロック＃７のフラグメモリセルＦＣ）を指定するアドレスに設定する（ステップＳ８０１）。
【０１１３】
次に、制御回路６は、サブブロック＃２のフラグメモリセルＦＣに割り当てられたブロック使用フラグの値と、サブブロック＃７のフラグメモリセルＦＣに割り当てられたロックビットの値をチェックする（ステップＳ８０２）。
【０１１４】
制御回路６は、第１のブロック消去完了フラグが「０」、第２のブロック消去完了フラグが「１」（消去が正常終了）、ブロック使用フラグの値が使用開始していることを表す「０」で、かつロックビットの値が消去状態を表わす「１」である場合には（ステップＳ８０３でＹＥＳ）、アドレスをフラグ領域（サブブロック＃７のフラグメモリセルＦＣ）を指定するアドレスに設定する（ステップＳ８０４）。
【０１１５】
これ以外の場合には（ステップＳ８０３でＮＯ）、消去動作が正常に終了していない、または、ブロックが未使用と判断して終了する。
【０１１６】
次に、書込みベリファイがパスするまで、制御回路６は、書込みパルスが印加されるように制御する（ステップＳ８０５〜Ｓ８０７）。
【０１１７】
［第３の実施形態］
本実施の形態では、データステータスチェックコマンドによる制御について説明する。
【０１１８】
データステータチェックコマンドは、外部から入力されるもので、指定アドレスと、指定アドレスのメモリセルに本来書込まれているはずのデータとを伴う。
【０１１９】
制御回路６は、メモリアレイ９９の指定アドレスのメモリセルにすでに書込まれているデータとデータスタータスチェックコマンドと同時に入力される指定アドレスのメモリセルに本来書込まれているはずのデータとを比較し、一致すればパスを出力し、不一致であればエラーを出力する。
【０１２０】
メモリアレイ９９のデータを内部で読み出す際は、読み出し時のコントロールゲート電圧を図７に示すような読出しレベルよりも高く、かつ書込みベリファイ電圧よりも低い電圧とする。
【０１２１】
図１４は、データステータスチェックコマンドによる制御手順を表わすフローチャートである。
【０１２２】
まず、制御回路６は、アドレスをデータステータスチェックコマンドと同時に入力された指定アドレスに設定する（ステップＳ９０１）。
【０１２３】
次に、指定アドレスのメモリセルからデータを読み出して、読み出したデータと、データステータスチェックコマンドと同時に入力される指定アドレスのメモリセルに本来書込まれているはずのデータとを比較する（ステップＳ９０２）。
【０１２４】
制御回路６は、指定アドレスのメモリセルから読み出したデータと、本来書込まれているはずのデータとが一致する場合には（ステップＳ９０３でＹＥＳ）、書込み動作が成功したと判定して終了する。
【０１２５】
制御回路６は、指定アドレスのメモリセルから読み出したデータと、本来書込まれているはずのデータとが一致しない場合には（ステップＳ９０３でＮＯ）、書込み動作が失敗したと判定して終了する。
【０１２６】
以上のように、従来では、電源遮断が発生した場合には直前の書込み動作の有効性の判断が難しかったが、本実施の形態によれば、確実に判断できるようになる。さらにデータ比較は不揮発性半導体記憶装置の内部で実施されることから、不揮発性半導体記憶装置外部での比較装置が不要となる。
【０１２７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２８】
１  不揮発性半導体記憶装置、２  電源回路、３  プリデコーダ、４  ロウデコーダ、４  カラムデコーダ、６  制御回路、７  センスアンプ＋書込み回路、８＿０〜８＿３  メモリブロック、９  カラムゲート、２０＿０〜２０＿７  サブブロック、９９  メモリアレイ、ＦＣ  フラグメモリセル、ＮＣ  ノーマルメモリセル、ＣＧ  コントロールゲート、ＦＧ  フローティングゲート。
【図１】
2013033565.tif 000003
【図２】
2013033565.tif 000004
【図３】
2013033565.tif 000005
【図４】
2013033565.tif 000006
【図５】
2013033565.tif 000007
【図６】
2013033565.tif 000008
【図７】
2013033565.tif 000009
【図８】
2013033565.tif 000010
【図９】
2013033565.tif 000011
【図１０】
2013033565.tif 000012
【図１１】
2013033565.tif 000013
【図１２】
2013033565.tif 000014
【図１３】
2013033565.tif 000015
【図１４】
2013033565.tif 000016