(57)【要約】【課題】セル特性を改善することなく、自動消去に要する時間を短縮することが可能な不揮発性半導体記憶装置を提供する。【解決手段】メモリセルアレイ１１は、複数のブロックを有し、各ブロックは複数のメモリセルを有する。リダンダンシーメモリセルアレイ３１は、複数ブロックを有し、各ブロックは複数のメモリセルを有する。書き込み回路は、メモリセルアレイにデータを書き込む。消去回路は、メモリセルアレイのデータをブロック単位に消去する。記憶回路７１は、消去回路によるメモリセルアレイの所定のブロックに対するデータの消去動作時に不良が発生した場合、ブロックのアドレスを記憶する。【選択図】      図２６
2008084530.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックを有し、前記各ブロックは複数のメモリセルを有するメモリセルアレイと、
複数ブロックを有し、前記各ブロックは複数のメモリセルを有するリダンダンシーメモリセルアレイと、
前記メモリセルアレイにデータを書き込む書き込み回路と、
前記メモリセルアレイのデータを前記ブロック単位に消去する消去回路と、
前記消去回路による前記メモリセルアレイの所定のブロックに対するデータの消去動作時に不良が発生した場合、前記ブロックのアドレスを記憶する記憶回路と
を具備することを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記メモリセルアレイの前記ブロックを選択する第１のブロック選択回路と、
前記リダンダンシーメモリセルアレイの前記ブロックを選択する第２のブロック選択回路と、
前記記憶回路に記憶されたブロックのアドレスと前記第１のブロック選択回路に供給されるブロックアドレスとを比較し、これらが一致した場合、前記第１のブロック選択回路を非選択とし、前記第２のブロック選択回路を選択する比較回路と
をさらに具備することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
前記消去回路による前記メモリセルアレイの所定のブロックに対するデータの消去動作時に不良が発生した場合、前記記憶回路又は前記リダンダンシーメモリセルアレイの空き領域の有無を判別する判別手段をさらに具備することを特徴とする請求項２記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気的にデータを書き換えることが可能な不揮発性半導体記憶装置、例えばフラッシュＥＥＰＲＯＭに関する。
【背景技術】
【０００２】
フラッシュＥＥＰＲＯＭは、電気的にデータを書き換えることが可能であり、種々の電子機器に使用されている。このフラッシュＥＥＰＲＯＭには、複数のブロックを選択し、この選択した複数のブロックのデータを自動的に消去することが可能な自動消去モードが設けられている。この自動消去モードにおいて、データはブロック毎に消去される。消去に必要な一連の動作は、ブロック内の全セルを書き込み状態にするプリプログラム（消去前書き込み）、消去ベリファイ、ブロック内のセルデータの消去、過消去ベリファイ、ウィークプログラム（弱い書き込み）等からなっている。
【０００３】
図２９は、従来の自動消去モードのシーケンスを示している。従来の自動消去モードでは、先ず、ブロックカウンタ（ＢＬＯＣＫ）がゼロに初期設定され（ＳＴ２００）、１ブロックずつ上記一連の消去動作が行われる。すなわち、先ず、選択された最初のブロックに対してプリプログラムが行われる（ＳＴ２０１〜ＳＴ２０３）。このプリプログラムが正常に終了すると、選択された最初のブロックのセルが消去される（ＳＴ２０４〜ＳＴ２０５）。消去が正常に終了すると、過消去ベリファイが行われる（ＳＴ２０６）。この結果、過消去されたセルがある場合、そのセルに対してウィークプログラムが行われる（ＳＴ２０７〜ＳＴ２０８）。ウィークプログラムが正常終了すると、消去ベリファイが行われる（ＳＴ２０９）。消去ベリファイが正常終了すると、１つのブロックの消去動作が終了する。この後、ブロックカウンタ（ＢＬＯＣＫ）がインクリメントされ（ＳＴ２１１）、次のブロックが順次消去される。このようにして、選択された最後のブロックまで上記のような動作が実行されると、読み出しのセットアップが行われ、自動消去モードが終了される（ＳＴ２１０、ＳＴ２１２）。
【０００４】
ところで、上記従来の自動消去は、１つのブロック毎に一連の消去動作が行われている。したがって、複数のブロックを消去する場合、消去に要する総合時間は、（１ブロックの一連の消去動作時間）×（消去ブロック個数）となる。このため、消去ブロックの数が多い場合、消去に長時間を必要とする。
【０００５】
また、消去時間を短縮するためには、１ブロックを消去する際の一連の消去動作時間を短縮する必要がある。しかし、一連の消去動作において、各ステップの動作時間はセルの書き込み特性や消去特性に依存している。したがって、セル特性の改善なくして、消去時間の大幅な短縮は困難である。しかし、セル特性の改善には限界がある。
【０００６】
尚、フラッシュメモリの自動消去及び自動ページプログラムに要する時間の短縮を図る技術が開発されている（例えば特許文献１参照）。
【特許文献１】特開平５−２１７３８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記課題を解決するためになされたものであり、その目的とするところは、セル特性を改善することなく、自動消去に要する時間を短縮することが可能な不揮発性半導体記憶装置を提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明の不揮発性半導体記憶装置の態様は、複数のブロックを有し、前記各ブロックは複数のメモリセルを有するメモリセルアレイと、複数ブロックを有し、前記各ブロックは複数のメモリセルを有するリダンダンシーメモリセルアレイと、前記メモリセルアレイにデータを書き込む書き込み回路と、前記メモリセルアレイのデータを前記ブロック単位に消去する消去回路と、前記消去回路による前記メモリセルアレイの所定のブロックに対するデータの消去動作時に不良が発生した場合、前記ブロックのアドレスを記憶する記憶回路とを具備することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、セル特性を改善することなく、自動消去に要する時間を短縮することが可能な不揮発性半導体記憶装置を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１１】
（第１の実施例）
図１は、本発明の第１の実施例を示すものであり、自動消去機能を有するフラッシュＥＥＰＲＯＭの構成を示している。
【００１２】
メモリセルアレイ１１は、例えばＮＯＲ型のメモリセルにより構成されており、後述するように、例えば８個のブロックに分割されている。各ブロックは５２８×１０２４個のメモリセルがマトリクス状に配置されている。このメモリセルアレイ１１は、例えば１６ビットのデータを同時に入出力可能な×１６ビット構成とされ、前記ブロック単位でメモリセルのデータが一括して消去される。メモリセルアレイのブロック数、各ブロック内のメモリセルの数、及びビット構成はこれに限定されるものではない。
【００１３】
前記メモリセルアレイ１１に隣接してリダンダンシー（Ｒ／Ｄ）メモリセルアレイ３１が配置されている。このリダンダンシーメモリセルアレイ３１は、メモリセルアレイ１１と同様の構成とされており、メモリセルアレイ１１の例えば不良ブロックがリダンダンシーメモリセルアレイ３１のブロックを用いて救済される。
【００１４】
この実施例の場合、外部アドレス信号Ａ０〜Ａｎ（ｎ＝１７）のうち、例えばＡ０〜Ａ９がロウアドレス、Ａ１０〜Ａ１４がカラムアドレス、Ａ１５〜Ａ１７がブロックアドレスとされる。前記外部アドレス信号Ａ０〜Ａｎは、直接、又は、アドレスレジスタ１２を経由してマルチプレクサ１３に入力される。アドレスカウンタ１６は、内部アドレス信号を生成する。
【００１５】
マルチプレクサ１３は、外部アドレス信号及び内部アドレス信号のいずれか一方をブロックデコーダ３２に供給する。このブロックデコーダ３２は供給されたアドレスをデコードしてブロックアドレス信号を生成する。このブロックアドレス信号はロウデコーダ１４及びカラムデコーダ１５に供給される。
【００１６】
また、マルチプレクサ１３は、外部アドレス及び内部アドレスのいずれか一方をロウデコーダ１４、３４及びカラムデコーダ１５、３５に供給する。ロウデコーダ１４、カラムデコーダ１５により、メモリセルアレイ１１の所定のブロックが選択され、この選択されたブロックのメモリセルが選択される。
【００１７】
さらに、マルチプレクサ１３は、外部アドレス信号及び内部アドレス信号のいずれか一方をリダンダンシーアドレス検出回路３６に供給する。リダンダンシーアドレス検出回路３６は記憶回路、例えばフューズを有しており、このフューズにメモリセルアレイ１１の不良アドレスが記憶されている。このリダンダンシーアドレス検出回路３６は、フューズに記憶されている不良アドレスとマルチプレクサ１３から供給されるアドレスが一致した場合、ディスエーブル信号／ＤＳＥ、及びイネーブル信号ＥＮを発生する。前記ディスエーブル信号／ＤＳＥはブロックデコーダ３２に供給され、前記イネーブル信号ＥＮはブロックデコーダ３３に供給される。前記ブロックデコーダ３２はディスエーブル信号／ＤＳＥに応じて非活性とされ、ブロックデコーダ３３はイネーブル信号ＥＮに応じて活性化される。このブロックデコーダ３３により、ロウデコーダ３４、カラムデコーダ３５が選択され、これらロウデコーダ３４、カラムデコーダ３５により、リダンダンシーメモリセルアレイ３１のメモリセルが選択される。
【００１８】
入力データは、入出力バッファ１７を経由して、データ入力レジスタ１８及び、コマンドレジスタ１９に供給される。データ入力レジスタ１８から出力されるデータは、カラム選択回路２０を経由してメモリセル１１に供給される。また、リダンダンシーメモリセルアレイ３１に対するデータの書き込み、読み出しはカラム選択回路３９を介して行われる。
【００１９】
前記コマンドレジスタ１９は、アドレス及びデータからなるコマンドを認識し、そのコマンドに応じて、アドレスレジスタ１２、マルチプレクサ１３、データ入力レジスタ１８及びベリファイビットレジスタ２７に制御信号を供給する。
【００２０】
また、前記コマンドレジスタ１９は、自動書き込みモードのコマンドを認識すると、自動書き込みモードを認識したことを示す信号ＰＲＧＣＭＤを“１”に設定する。さらに、コマンドレジスタ１９から出力される信号ＰＲＧＣＭＤ、ＥＲＳＣＭＤ、ＷＰＲＧＣＭＤは、制御回路２１に供給され、信号ＰＲＧＣＭＤは、ベリファイビットレジスタ２７に供給される。ベリファイビットレジスタ２７は、コマンドレジスタ１９からの信号ＰＲＧＣＭＤ、テスト回路２８からの信号ＴＥＳＴ１〜３、及びベリファイ回路２３からの信号ＶＥＲＩＯＫに基づいて、新たな３つの信号ＰＶＯＫ、ＥＶＯＫ、ＯＥＶＯＫを生成し、これを制御回路２１に供給する。
【００２１】
信号ＰＶＯＫは、書き込み動作（消去前書き込み動作を含む）が正常に終了したか否かを示すものである。この信号ＰＶＯＫが“１”のとき、書き込み動作が正常に終了したことを示している。また、信号ＥＶＯＫは、消去動作が正常に終了したか否かを示すものである。この信号ＥＶＯＫが“１”のとき、消去動作が正常に終了したことを示している。信号ＯＥＶＯＫは、自動収束動作が正常に終了したか否かを示すものである。この信号ＯＥＶＯＫが“１”のとき、自動収束動作が正常に終了したことを示している。
【００２２】
上記３つの信号ＰＶＯＫ、ＥＶＯＫ、ＯＥＶＯＫは、それぞれベリファイ回路２３からの信号ＶＥＲＩＯＫによって“０”又は“１”に制御される。また、３つの信号ＰＶＯＫ、ＥＶＯＫ、ＯＥＶＯＫは、それぞれテスト信号ＴＥＳＴ１〜３によって、独立かつ強制的に、“１”に設定することも可能である。
【００２３】
前記制御回路２１は、ベリファイビットレジスタ２７から供給される３つの信号ＰＶＯＫ、ＥＶＯＫ、ＯＥＶＯＫに基づいて、次に実行すべき動作モードを認識する。
【００２４】
また、制御回路２１は、現在行われているモードを示す信号ＰＲＧＭＯＤＥ、ＥＲＯＭＯＤＥ、ＷＰＲＧＭＯＤＥを前記ベリファイビットレジスタ２７に出力する。例えば、自動書き込みモード及び自動消去モードのプリプログラム（消去前書き込み）動作が実行されているとき、信号ＰＲＧＭＯＤＥが“１”となり、他の信号ＥＲＯＭＯＤＥ、ＷＰＲＧＭＯＤＥは、“０”となる。
【００２５】
同様に、自動消去モードにおける消去動作が実行されているとき、信号ＥＲＳＭＯＤＥは“１”となり、他の信号ＰＲＧＭＯＤＥ、ＷＰＲＧＭＯＤＥは、“０”となる。自動消去モードのウィークプログラムが実行されているとき、信号ＷＰＲＧＭＯＤＥは“１”となり、他の信号ＰＲＧＭＯＤＥ、ＥＲＳＭＯＤＥは、“０”となる。
【００２６】
電圧発生回路２２は、各動作モードに対応した各種の電圧を生成する。電圧発生回路２２により生成された電圧は、各動作モードにおいて、メモリセルのコントロールゲート及びビット線に供給される。
【００２７】
前記ベリファイ回路２３は、前記データ入力レジスタ１８及びセンスアンプ４２から供給される信号に応じて、選択されたメモリセルに対するデータの書き込み又は消去が確実に行われた否かを判定する。このベリファイ回路２３は、ベリファイを実行する度に、その結果を示す信号ＶＥＲＩＯＫを制御回路２１に供給する。書き込みが正常に終了した場合、又は消去が正常に終了した場合、信号ＶＥＲＩＯＫが“１”となる。
【００２８】
最終アドレス検知回路２４は、メモリセルアレイ１１の各ブロックにおいて最終アドレスが検知されたか否かを示す検知信号ＡＥＮＤを出力すると共に、メモリセルアレイ１１の最終ブロックが検知されたか否かを示す検知信号ＢＥＮＤを出力する。
【００２９】
最終アドレス検知回路２４には、前記コマンドレジスタ１９の出力信号が供給され、検知信号ＡＥＮＤ、ＢＥＮＤは、特定のコマンドが成立したとき、強制的に“１”に設定される。また、検知信号ＡＥＮＤ、ＢＥＮＤは、テスト信号ＴＥＳＴ１〜３によって強制的に“１”に設定することもできる。
【００３０】
タイマ２５は、選択されたメモリセルに対するデータの書き込み又は消去が何回実行されたかをカウントする。タイマ２５は、選択されたメモリセルに対するデータの書き込み又は消去が所定回数に達したときに、タイムアウト信号ＴＩＭＥＯＵＴを制御回路２１に出力する。
【００３１】
クロック発生回路２６は、ライトイネーブル信号／ＷＥ、チップイネーブル信号／ＣＥ、アウトプットイネーブル信号／ＯＥなどの信号に基づいて、フラッシュＥＥＰＲＯＭの内部動作を制御するクロックを発生する。
【００３２】
さらに、前記マルチプレクサ１３の出力信号は、プロテクトＲＯＭ４０に供給される。このプロテクトＲＯＭ４０には、メモリセルアレイ１１の書き込みを禁止する領域のアドレスが記憶される。プロテクト回路４１は、プロテクトＲＯＭ４０に記憶された領域のアドレスが供給された場合、制御回路２１にプロテクト信号ＰＲＴＣを供給する。
【００３３】
一方、前記ブロックデコーダ３２には消去レジスタ３７が設けられ、前記ブロックデコーダ３３には消去レジスタ３８が設けられている。これら消去レジスタ３７、３８は、後述する自動消去時に選択されたブロックの消去動作を制御する。
【００３４】
図２は、図１に示すベリファイビットレジスタ２７の構成の一例を示している。
【００３５】
制御回路２１から供給される信号ＰＲＧＭＯＤＥは、レジスタ２９−１に入力され、信号ＥＲＳＭＯＤＥは、レジスタ２９−２に入力され、信号ＷＰＲＧＭＯＤＥは、レジスタ２９−３に入力される。
【００３６】
レジスタ２９−１〜２９−３の動作は、クロック信号ＣＬＫにより制御される。レジスタ２９−１〜２９−３にラッチされるデータは、リセット信号ＲＥＳＥＴにより“０”に初期化することができる。
【００３７】
図３に示すように、信号ＰＲＧＭＯＤＥは、書き込み動作（消去前書き込み動作を含む）を実行しているとき“１”に設定され、信号ＥＲＳＭＯＤＥは、消去動作を実行しているとき“１”に設定され、信号ＷＰＲＧＭＯＤＥは、ウィークプログラム動作を実行しているとき“１”に設定される。
【００３８】
また、ベリファイ回路２３の出力信号ＶＥＲＩＯＫは、ベリファイがＯＫのときに“１”となるものであるから、ブロック内の全てのメモリセルについて書き込み動作（消去前書き込み動作を含む）、消去動作、又はウィークプログラム動作がＯＫであるときは、当然“１”となっている。
【００３９】
また、書き込み動作を実行している場合において、信号ＰＲＧＭＯＤＥは“１”であり、信号ＥＲＳＭＯＤＥ、ＷＰＲＧＭＯＤＥは“０”である。よって、書き込み動作を実行している場合、ベリファイ回路２０の出力信号ＶＥＲＩＯＫが“０”となると、レジスタ２９−１にはデータ“０”がラッチされ、ベリファイ回路２３の出力信号ＶＥＲＩＯＫが“１”になると、レジスタ２９−１にはデータ“１”がラッチされる。
【００４０】
一方、書き込み動作以外の消去動作又はウィークプログラム動作を実行している場合、信号ＰＲＧＭＯＤＥは、“０”である（信号ＥＲＳＭＯＤＥ、ＷＰＲＧＭＯＤＥのいずれか一方が“１”で他方が“０”）。よって、この場合、レジスタ２９−１は、ベリファイ回路２３の出力信号ＶＥＲＩＯＫの値にかかわらず、現在、レジスタ２９−１にラッチされているデータ“０”又は“１”をラッチし続ける。
【００４１】
ＯＲ回路３０−１には、レジスタ２９−１の出力信号及びテスト信号ＴＥＳＴ１が供給される。ＯＲ回路３０−１の出力信号ＰＶＯＫは、レジスタ２９−１の出力信号が“１”のときに“１”となる他、テスト信号ＴＥＳＴ１が“１”になると、強制的に“１”となる。
【００４２】
ＯＲ回路３０−２には、レジスタ２９−２の出力信号、テスト信号ＴＥＳＴ２及びコマンドレジスタ１９の出力信号ＰＲＧＣＭＤが供給される。ＯＲ回路３０−２の出力信号ＥＶＯＫは、レジスタ２９−２の出力信号が“１”のときに“１”となる他、信号ＰＲＧＣＭＤ又はテスト信号ＴＥＳＴ２が“１”になると、強制的に“１”となる。
【００４３】
ＯＲ回路３０−３には、レジスタ２９−３の出力信号、テスト信号ＴＥＳＴ３及びコマンドレジスタ１９の出力信号ＰＲＧＣＭＤが供給される。ＯＲ回路３０−３の出力信号ＯＥＶＯＫは、レジスタ２９−３の出力信号が“１”のときに“１”となる他、信号ＰＲＧＣＭＤ又はテスト信号ＴＥＳＴ３が“１”になると強制的に“１”となる。
【００４４】
なお、図４は、信号ＰＲＧＭＯＤＥ、ＥＲＳＭＯＤＥ、ＷＰＲＧＭＯＤＥと、信号ＶＥＲＩＯＫと、信号ＰＶＯＫ、ＥＶＯＫ、ＯＥＶＯＫとの関係を示している。
【００４５】
また、図５は、各モードとテスト信号ＴＥＳＴ１〜３との関係を示し、図６は、各モードと信号ＰＶＯＫ、ＥＶＯＫ、ＯＥＶＯＫ、ＡＥＮＤ、ＢＥＮＤとの関係を示している。
【００４６】
図７は、図１に示すメモリセルアレイ１１の一例を示している。メモリセルアレイ１１は、例えば同時に１６ビットのデータの入出力が可能な×１６構成とされ、８個のブロックＢｌｏｃｋ０〜Ｂｌｏｃｋ７により構成されている。
【００４７】
図７において、１ブロックには、メモリセルが例えば１列に１０２４個、１行に５２８個配置され、各列に配置されたメモリセルのドレインはビット線ＢＬ０〜ＢＬ５２７にそれぞれ接続され、各行に配置されたメモリセルのコントロールゲートはワード線ＷＬ０〜ＷＬ１０２３にそれぞれ接続されている。各セルのソースはソース線ＳＬ０（〜ＳＬ７）に共通接続されている。また、各ブロックの全セルを共通のＮウェル・Ｐウェル内に形成することにより、これらで１つの消去単位となる１ブロックが構成される。
【００４８】
書き込み動作及び書き込みベリファイ動作は、ブロックｉ〈ｉ＝０〜７〉の各メモリセルに対して１つずつ行われる。また、消去動作において、ブロックｉの全てのメモリセルが一括して同時に消去される。消去ベリファイ動作は、ブロックｉの各メモリセルに対して１つずつ行われる。
【００４９】
本発明は、メモリセルの消去方式として、例えばチャネル消去を採用している。この場合、消去の際に電流を多く消費せず、例えばチップ内の全ブロックを一括消去しても内部電源が不安定になることはない。
【００５０】
図８は、読み出し、書き込み、消去時における各部の電位を示している。読み出し動作は、ドレインに０．８Ｖ、コントロールゲートに４．８Ｖを印加し、書き込み状態のメモリセルの閾値電圧と、消去状態のメモリセルの閾値電圧をメモリセルに流れる電流量の差として読み取る。
【００５１】
書き込み動作は、ドレインに５Ｖ、コントロールゲートに９Ｖが印加され、チャネルホットエレクトロン注入によりドレイン側からフローティングゲートに電子が注入される。
【００５２】
消去動作は、Ｐウェルに１０Ｖ、コントロールゲートに−７．５Ｖが印加され、ＦＮトンネリングによりフローティングゲートよりＰウェル側に電子が引き抜かれる。
【００５３】
ウィークプログラムは、例えばドレインに５Ｖ、コントロールゲートに２．３Ｖが印加され、チャネルホットエレクトロン注入によりドレイン側からフローティングゲートに電子が注入される。ウィークプログラムにおける書き込み時間は、通常の書き込み時間と同様である。
【００５４】
図９は、図１に示すブロックデコーダ３２と消去レジスタ３７の一部を示している。すなわち、消去レジスタ３７はメモリセルアレイ１１の各ブロック毎に設けられており、図９は１つのブロックに対応する消去レジスタを示している。
【００５５】
ブロックデコーダ３２は、例えばナンド回路３２ａ及びクロックド・インバータ回路３２ｂにより構成されている。前記ナンド回路３２ａには前記マルチプレクサ１３から出力されるブロックアドレス信号ＢＬＡＤ１、ＢＬＡＤ２、ＢＬＡＤ３が供給されるとともに、前記リダンダンシーアドレス検出回路３６からディスエーブル信号／ＤＳＥが供給される。
【００５６】
通常動作時、ディスエーブル信号／ＤＳＥはハイレベルとされている。このため、ブロックアドレス信号ＢＬＡＤ１、ＢＬＡＤ２、ＢＬＡＤ３がデコードされ、所要の１つのブロックを選択するブロック選択信号ＢＬＫｉがクロックド・インバータ回路３２ｂを介して出力される。
【００５７】
また、不良置き換え時、ディスエーブル信号／ＤＳＥはローレベルとされる。このため、ナンド回路３２ａの出力信号はハイレベルに固定される。
【００５８】
一方、前記消去レジスタ３７は、インバータ回路３７ａ、ナンド回路３７ｂ、３７ｃ、ノア回路３７ｄ、ＰチャネルＭＯＳトランジスタ３７ｅ、３７ｆ、ＮチャネルＭＯＳトランジスタ３７ｇ、２個のインバータ回路からなるラッチ回路３７ｈ、クロックド・インバータ回路３７ｉ、及びインバータ回路３７ｊにより構成されている。
【００５９】
前記ナンド回路３７ｂの入力端には、インバータ回路３７ａを介して前記ナンド回路３２ａの出力信号が供給されるとともに、消去ベリファイが正常終了したことを示す信号ＥＶＯＫ、過消去ベリファイが正常終了したことを示す信号ＯＥＶＯＫが供給される。
【００６０】
前記ノア回路３７ｄの入力端には初期設定の信号ＩＳ及び電源投入時に発生されるパワーオンリセット信号ＰＯＲが供給される。このオア回路３７ｄから出力される初期リセットの関する信号は、ナンド回路３７ｂの出力信号ととものナンド回路３７ｃに供給される。
【００６１】
前記ＰチャネルＭＯＳトランジスタ３７ｅ、３７ｆ及びＮチャネルＭＯＳトランジスタ３７ｇは、電源電圧ＶＤＤが供給されるノードと接地間に直列接続される。トランジスタ３７ｅのゲートには前記ナンド回路３２ａの出力信号が供給され、トランジスタ３７ｆのゲートには、プリプログラムモードを示す信号／ＰＲＧＭＯＤＥが供給される。前記トランジスタ３７ｇのゲートには前記ナンド回路３７ｃの出力信号が供給される。
【００６２】
前記ラッチ回路３７ｈの入力端は前記トランジスタ３７ｆと３７ｇの接続ノードに接続され、出力端はクロックド・インバータ回路３７ｉを介して前記クロックド・インバータ回路３２ｂの出力端に接続されている。これらクロックド・インバータ回路３２ｂ、３７ｉは、消去モードを示す信号ＥＲＳＭＯＤＥ及びインバータ回路３７ｊにより反転された信号に応じて相補的に制御される。
【００６３】
上記クロックド・インバータ回路３２ｂは消去モード時、信号ＥＲＳＭＯＤＥがハイレベル“１”となると非導通とされ、クロックド・インバータ回路３７ｉが導通される。従って、消去モード時は、ブロックデコーダ３２の出力信号に替わり、消去レジスタ３７に設けられたラッチ回路３７ｈの信号が出力される。
【００６４】
前記ラッチ回路３７ｈがセットされる条件は、次の通りである。
【００６５】
（１）プリプログラムモード時に信号／ＰＲＧＭＯＤＥがローレベル“Ｌ”とされる。
【００６６】
（２）ブロックアドレス信号ＢＬＡＤ１〜３に応じてナンド回路３２ａの出力信号がローレベルとされる。すなわち、いずれかのブロックが選択されている。
【００６７】
上記２つの条件が満足されると、ＰチャネルＭＯＳトランジスタ３７ｅ、３７ｆがオンとなり、ラッチ回路３７ｈの入力端がハイレベルにセットされる。
【００６８】
また、ラッチ回路３７ｈのリセット条件は次の通りである。ブロックアドレス信号ＢＬＡＤ１〜３に応じていずれかのブロックが選択されている状態において、
（１）消去ベリファイが正常に終了している（ＥＶＯＫ＝“１”）。
【００６９】
（２）過消去ベリファイが正常に終了している（ＯＥＶＯＫ＝“１”）。
【００７０】
あるいは、
（１）初期設定の信号ＩＳ＝“１”。
【００７１】
（２）パワーオンリセット信号ＰＯＲ＝“１”。
【００７２】
の場合である。
【００７３】
図１０は、図１に示すブロックデコーダ３３、消去レジスタ３８の構成を示している。ブロックデコーダ３３、消去レジスタ３８は、図９に示すブロックデコーダ３２、消去レジスタ３３とほぼ同一構成であり、同一部分には同一符号を付し、異なる部分についてのみ説明する。図１０において、図９と異なるのは、ナンド回路３２ａの入力信号である。この例の場合、ナンド回路３２ａの全入力端にはリダンダンシーアドレス検出回路３６から出力されるイネーブル信号ＥＮが供給されている。したがって、消去モード時以外の動作において、クロックド・インバータ回路３２ｂが導通されている場合、このナンド回路３２ａの出力信号に応じて、リダンダンシーメモリセルアレイ３１が選択される。
【００７４】
また、消去モード時には、ラッチ回路３７ｈの出力信号がクロックド・インバータ回路３７ｉを介して出力され、この信号に応じて、リダンダンシーメモリセルアレイ３１が選択される。
【００７５】
上記フラッシュＥＥＰＲＯＭは、自動書き込み動作、自動消去動作等を行うことが可能とされている。しかし、本実施例は、自動消去動作に関するものであるため、自動消去動作以外の動作は説明を省略する。
【００７６】
次に、図１１を参照して自動消去動作について説明する。コマンドレジスタ１９が消去コマンドを認識すると、コマンドレジスタ１９は、まず、消去するメモリセルアレイ１１のブロックを確認するとともに、各種初期設定を行う（ＳＴ１）。
【００７７】
すなわち、コマンドレジスタ１９が、自動消去モードのコマンドを認識すると、アドレスカウンタ１６の内部アドレスがロウデコーダ１４及びカラムデコーダ１５に供給されるようにマルチプレクサ１３に制御信号を出力する。
【００７８】
また、制御回路２１は、まず、信号ＰＲＧＭＯＤＥを“１”に設定し、信号ＥＲＳＭＯＤＥを“０”に設定する。この時、コマンドレジスタ１９の出力信号ＰＲＧＣＭＤは“０”であり、レジスタ２９−１〜２９−３の出力は、“０”に初期化されている。このため、信号ＰＶＯＫ、ＥＶＯＫ、ＯＥＶＯＫは、それぞれ“０”のままである。なお、テスト信号ＴＥＳＴ１〜３は、全て“０”となっている。
【００７９】
また、初期設定信号ＩＳにより、消去レジスタ３７の各ラッチ回路３７ｈがリセットされ、さらに、アドレスカウンタ１６、タイマ２５などがリセットされる。
【００８０】
この後、プロテクトＲＯＭ４０の内容に基づいて、選択されたブロックがプロテクトされているか否かが判別され、プロテクトされていない場合、プリプログラムが開始される（ＳＴ２、ＳＴ３）。このプリプログラムとは、各選択ブロックにおいて、消去前に全メモリセルの閾値電圧を揃える動作のことである。
【００８１】
選択された１つのブロックに対するプリプログラムが正常に終了したか否かが判断され（ＳＴ４）、正常に終了している場合、図９に示すプリプログラムモード信号／ＰＲＧＭＯＤＥがローレベルとされ、トランジスタ３７ｆがオンとされる。このとき、ブロックデコーダ３２の出力信号により、トランジスタ３７ｅもオンとされている。このため、このブロックに対応するラッチ回路３７ｈに“１”がセットされる（ＳＴ５）。
【００８２】
この後、ブロックカウンタ（ＢＬＯＣＫ）がインクリメントされ、選択された次のブロックに対して、上記の動作が繰り返される（ＳＴ６、ＳＴ７）。このようにして、選択されたブロックに対してプリプログラムが終了する毎に、消去レジスタ３７内の選択されたブロックに対応するラッチ回路３７ｈが“１”にセットされる。
【００８３】
図１２（ａ）は、消去レジスタ３７を概略的に示すものである。この消去レジスタ３７において、“１”がセットされている箇所は、選択されたブロックで、且つプリプログラムが実行されたブロックを示している。“０”は非選択のブロックを示している。以下、消去レジスタ３７にセットされた“１”を消去許可信号とも呼ぶ。
【００８４】
図１３は、前記プリプログラム動作の一例を示すものである。このプリプログラムでは、先ず、初期設定において（ＳＴ２１）、アドレスカウンタ１６のアドレスＡＤＤ、及びタイマ２５の数値（書き込み回数に対応）ＣＹＣがクリアされる。これとともに、入出力バッファ１７、データ入力レジスタ１８を介してベリファイ回路２３にベリファイ用の入力データがセットされる。
【００８５】
この後、電圧発生回路２２において、プログラムベリファイ（ＰＶ）用の電圧がセットアップされる（ＳＴ２２）。
【００８６】
次いで、アドレスＡＤＤにより選択されたメモリセル（×１６ビット構成の場合は、１６個のメモリセル）のデータが読み出される（ＳＴ２３）。すなわち、書き込み状態と判別できる閾値の下限となるＰＶ電圧を境界値とし、選択メモリセルの閾値が境界値よりも高ければ、選択メモリセルのデータは“０”として読み出され、選択メモリセルの閾値が境界値よりも低ければ、選択メモリセルのデータは“１”として読み出される。
【００８７】
この読み出されたメモリセル（以下、選択メモリセル）のデータは、センスアンプ４２を介してベリファイ回路２３に供給され、入力データと比較される（ＳＴ２４）。
【００８８】
選択メモリセルのデータと入力データが不一致の場合、書き込みがＮＧと判断され、選択メモリセルに対してデータの書き込み（フローティングゲートに対する電子の注入）が実行される（ＳＴ２４〜ＳＴ２７）。
【００８９】
先ず、入力データと読み出したデータの関係からプログラムデータが設定され（ＳＴ２６）、このデータに基づいてプログラム動作が実行される（ＳＴ２７）。
【００９０】
図１４は、前記入力データ、読み出しデータ、プログラムデータの関係を示している。
【００９１】
上記データの書き込みは、カウンタＣＹＣをインクリメントしながら予め設定された規定回数を限度として繰り返される。カウンタＣＹＣの値が規定値に達した場合、プリプログラムエラー（ＥＲＲＯＲ＝“１”）として終了される（ＳＴ２９）。
【００９２】
一方、選択メモリセルのデータと入力データが一致した場合、選択メモリセルの書き込みが正常に終了したものと判断され、カウンタＣＹＣがクリアされる（ＳＴ３０）。
【００９３】
この後、アドレスＡＤＤがインクリメントされ、次のアドレスの選択メモリセルについて同様の動作が行われる（ＳＴ３１、ＳＴ３２）。
【００９４】
このようにして、ブロック内の全てのメモリセルについて、正常に書き込みが実行されると、信号ＰＶＯＫが“１”に設定され、プリプログラムが終了される（ＳＴ３１、ＳＴ３３）。
【００９５】
すなわち、上記のように、全てのメモリセルについて書き込みが正常終了しているため、ベリファイ回路２３の出力信号ＶＥＲＩＯＫ（ベリファイの度に出力される）は、“１”に設定されている。ベリファイ回路２３の出力信号ＶＥＲＩＯＫが“１”の場合、ベリファイビットレジスタ２７のレジスタ２９−１（図２参照）は、データ“１”をラッチする。レジスタ２９−１にテータ“１”がラッチされているとき、信号ＰＶＯＫは“１”となる。
【００９６】
図１１のステップＳＴ６に示すように、プリプログラム及び消去ブロックのセットが終了すると、ブロックカウンタＢＬＯＣＫがリセットされる（ＳＴ８）。この後、前記ステップＳＴ２と同様にして、選択されたブロックがプロテクトされているか否かが判別され（ＳＴ９）、プロテクトされていない場合、消去が開始される（ＳＴ１０）。
【００９７】
図１５は、消去動作の一例を示している。消去動作とは、選択ブロックごとに、全メモリセルのデータを一括で消去する動作のことである。しかし、本発明の自動消去モードにおいては、アドレスカウンタが指示しているブロックではなく、消去許可信号がセットされているブロックを消去対象とし、消去許可信号がセットされている全ブロックを一度に消去する。
【００９８】
この消去動作では、先ず、初期設定において（ＳＴ４１）、アドレスカウンタ１６のアドレスＡＤＤ、及びタイマ２５の数値（消去回数に対応）ＣＹＣがクリアされる。さらに、制御回路２１は、信号ＥＲＳＭＯＤＥを“１”に設定し、信号ＰＲＧＭＯＤＥを“０”に設定する。ベリファイビットレジスタ２７のレジスタ２９−１（図２参照）は、信号ＰＲＧＭＯＤＥが“０”になった後においても、テータ“１”をラッチし続ける。よって、信号ＰＶＯＫは、“１”のままである。なお、テスト信号ＴＥＳＴ１〜３は、全て“０”となっている。
【００９９】
この後、電圧発生回路２２において、消去ベリファイ（ＥＶ）用の電圧がセットアップされる（ＳＴ４２）。
【０１００】
次いで、アドレスＡＤＤによって選択されたメモリ（×１６ビット構成の場合は、１６個のメモリセル）のデータが読み出される（ＳＴ４３）。
【０１０１】
この読み出されたデー夕は、期待値“１”と比較される（ＳＴ４４）。すなわち、消去状態と判別できる閾値の上限となる電圧を境界値とし、選択メモリセルの閾値が境界値よりも高ければ、選択メモリセルのデータは“０”と判定され、選択メモリセルの閾値が境界値よりも低ければ、選択メモリセルのデータは“１”と判定される。選択メモリセルのデータと期待値“１”が不一致である場合、消去が不十分と判断され、消去許可信号がセットされている全ブロック内の全てのメモリセルに対してデータの消去（フローティングゲートから電子を抜く動作）が実行される（ＳＴ４４〜ＳＴ４８）。
【０１０２】
すなわち、消去電圧がセットアップされ（ＳＴ４６）、消去許可信号がセットされている全ブロック内の全てのメモリセルのデータが消去される。このとき、図９に示すクロックド・インバータ回路３２ｂは信号ＥＲＳＭＯＤＥによりオフとされ、クロックド・インバータ回路３２ｉはオンとされている。したがって、ラッチ回路３７ｈにラッチされた消去許可信号によりブロックが選択される。
【０１０３】
この消去動作は、カウンタＣＹＣに予め設定された規定値を限度として繰り返し行われる。また、選択ブロックに対する消去回数ＣＹＣが前記規定値に達した場合、消去の結果がＮＧであることを示す信号ＥＲＲＯＲが“１”に設定される（ＳＴ４５、ＳＴ４９）。
【０１０４】
一方、ステップ４４の消去ベリファイにおいて、選択メモリセルのデータと期待値が一致下場合、選択メモリセルの消去が十分であると判断され、カウンタＣＹＣがクリアされる（ＳＴ５０）。
【０１０５】
この後、アドレスＡＤＤがインクリメントされ、上記動作が繰り返される（ＳＴ５１、ＳＴ５２）。
【０１０６】
消去許可信号がセットされている全てのブロックの消去が正常に終了されると、前述したような動作により、ベリファイビットレジスタ２７から出力される信号ＥＶＯＫが“１”とされ、消去モードが終了される（ＳＴ５３）。
【０１０７】
上記消去動作が終了すると、図１１に示すように、消去が正常に終了したか否かが判断される（ＳＴ１１）。この結果、正常に終了している場合、過消去ベリファイ及びウィークプログラムが行われる（ＳＴ１３）。この過消去ベリファイ及びウィークプログラムは、消去されたブロック毎に順次実行される。
【０１０８】
図１６は、過消去ベリファイ及びウィークプログラム動作の一例を示している。先ず、初期設定において（ＳＴ６１）、アドレスカウンタ１６のアドレスＡＤＤ、及びタイマ２５の数値（消去回数に対応）ＣＹＣがクリアされる。
【０１０９】
この後、電圧発生回路２２において、過消去ベリファイ（ＯＥＶ）用の電圧がセットアップされる（ＳＴ６２）。
【０１１０】
次いで、アドレスＡＤＤによって選択されたメモリ（×１６ビット構成の場合は、１６個のメモリセル）のデータが読み出される（ＳＴ６３）。すなわち、消去状態と判別できる閾値の下限となるＯＥＶ電圧を境界値とし、選択メモリセルの閾値が境界値よりも高ければ、選択メモリセルのデータは“０”として読み出され、選択メモリセルの閾値が境界値よりも低ければ、選択メモリセルのデータは“１”として読み出される。
【０１１１】
この読み出されたメモリセル（以下、選択メモリセル）のデータは、センスアンプ４２を介してベリファイ回路２３に供給され、入力データと比較される（ＳＴ６４）。
【０１１２】
選択メモリセルのデータと入力データが不一致の場合、過消去状態と判断され、選択メモリセルに対してウィークプログラム（弱い書き込み）が実行される（ＳＴ６４〜ＳＴ６９）。このウィークプログラムの動作は、基本的に前記プリプログラムと同様である。
【０１１３】
先ず、図１４に示すように、入力データと読み出したデータの関係からプログラムデータが設定され（ＳＴ６６）、このデータに基づいてウィークプログラム動作が実行される（ＳＴ６７）。このウィークプログラムにおいて、各部の電位は図８に示すように設定され、通常の書き込み（プログラム）時間より短い時間、書き込みが行われる。このウィークプログラムにより、メモリセルの閾値電圧が若干上昇される。
【０１１４】
上記ウィークプログラムは、カウンタＣＹＣをインクリメントしながら予め設定された規定回数を限度として繰り返される（ＳＴ６８）。
【０１１５】
この後、ウィークプログラムにより書き戻し過ぎ、閾値電圧が高くなっている可能性がある。したがって、再度消去ベリファイを行うために、信号ＥＶＯＫが“０”に設定される（ＳＴ６９）。
【０１１６】
カウンタＣＹＣの値が規定値に達した場合、ウィークプログラムエラー（ＥＲＲＯＲ＝“１”）として終了される（ＳＴ７０）。
【０１１７】
一方、選択メモリセルのデータと入力データが一致した場合、選択メモリセルが過消去状態ではないと判断されると、カウンタＣＹＣがクリアされる（ＳＴ７１）。
【０１１８】
この後、アドレスＡＤＤがインクリメントされ、次のアドレスの選択メモリセルについて同様の動作が行われる（ＳＴ７２、ＳＴ７３）。
【０１１９】
このようにして、ブロック内の全てのメモリセルが過消去状態でないと確認されると、信号ＯＥＶＯＫが“１”に設定され、過消去ベリファイ及びウィークプログラムが終了される（ＳＴ７２、ＳＴ７４）。
【０１２０】
図１１に示すステップＳＴ１３において、過消去ベリファイ及びウィークプログラムが終了されると、過消去ベリファイ及びウィークプログラムが正常に終了したか否かが判断される（ＳＴ１４）。この結果、正常に終了している場合、消去ベリファイが正常に終了しているかが判断される（ＳＴ１５）。
【０１２１】
ウィークプログラムが実際に行われた場合、ステップＳＴ６９において、信号ＥＶＯＫが“０”に設定されている。このため、ステップＳＴ１０に制御が移行される。しかし、書き戻し過ぎていない場合、消去動作は行われない。この後、ステップＳＴ１１を介してステップＳＴ１２に制御が移行される。このステップＳＴ１２では信号ＯＥＶＯＫが“１”とされているため、ウィークプログラムへは移行されない。
【０１２２】
一方、前記ステップＳＴ１５において、正常に終了している場合、消去レジスタ３７内の消去されたブロックに対応する消去許可信号がリセットされる（ＳＴ１６）。
【０１２３】
すなわち、図９に示すナンド回路３７ｂの入力条件が満足されるため、ナンド回路３７ｂの出力信号がローレベルとなり、ナンド回路３７ｃの出力信号がハイレベルとなる。このため、トランジスタ３７ｇがオンとなり、ラッチ回路３７ｈの入力端がローレベルとされる。尚、このとき、信号／ＰＲＧＭＯＤＥはハイレベルとされている。
【０１２４】
図１２（ｂ）は、消去レジスタ３７において、選択されたブロックのうち最初の消去許可信号がリセットされた状態を示している。
【０１２５】
この後、最終ブロックまで、消去及び過消去ベリファイ等が行われたか否か判断される（ＳＴ１７）。この結果、最終ブロックまで終了していない場合、ブロックカウンタＢＬＯＣＫがインクリメントされ（ＳＴ１８）、上記ステップＳＴ９〜ＳＴ１６の動作が繰り返される。
【０１２６】
ところで、２番目以降のブロックは、前述したように最初のブロックと同時に既に消去されている。このため、図１５に示す消去動作において、消去前の消去ベリファイはＯＫとなる。したがって、２番目以降のブロックに対して消去動作は省略され、消去ベリファイのみが行われる。
【０１２７】
この後、消去ベリファイが正常終了すると（ＳＴ１１）、過消去ベリファイ及びウィークプログラム（ＳＴ１３）、及び消去レジスタの消去許可信号のリセット（ＳＴ１６）が順次繰り返される。
【０１２８】
このようにして、最終ブロックまで上記動作が実行されると、例えばチャージポンプ回路によって生成された昇圧電圧を放電するための読み出しセットアップ（ＳＴ１９）を経由した後、自動消去動作が終了する。
【０１２９】
尚、メモリセルアレイ１１の不良箇所がリダンダンシーメモリセルアレイ３１により、置き換えられている場合、プリプログラムの際、メモリセルアレイ１１の不良箇所が指定されると、リダンダンシーアドレス検出回路３６からブロックデコーダ３２にディスエーブル信号／ＤＳＥが供給され、イネーブル-ブ信号ＥＮがプロックデコーダ３３に供給される。このため、ブロックデコーダ３２が非活性とされ、ブロックデコーダ３３が活性化される。この状態において、リダンダンシーメモリセルアレイ３１がプリプログラムされ、消去レジスタ３８のラッチ回路３７ｈに消去許可信号がセットされる。この後、消去動作時には消去レジスタ３８にセットされた消去許可信号に従って、リダンダンシーメモリセルアレイ３１が選択される。
【０１３０】
上記第１の実施例によれば、ブロックデコーダ３２に加えて、消去時に選択されたブロックを指示する消去レジスタ３７を設け、プリプログラムにおいて、選択されたブロックに対応して消去レジスタ３７に消去許可信号をセットし、消去時に最初のブロックを消去するとき、消去レジスタ３７にセットされた消去許可信号に従って選択された全ブロックを同時に消去している。このため、２番目以降のブロックについては、消去動作を省略することがきる。したがって、自動消去動作を高速化することが可能である。
【０１３１】
また、前記消去レジスタ３７にセットされた消去許可信号は、過消去ベリファイ及びウィークプログラムが正常終了した後、リセットされている。このため、過消去ベリファイ及びウィークプログラムが終了したブロックが選択されることを防止できる。
【０１３２】
また、リダンダンシーメモリセルアレイ３１に対しても消去レジスタを設けている。このため、リダンダンシーメモリセルアレイ３１により、メモリセルアレイの不良箇所が置き換えられている場合において、自動消去動作を高速化することが可能である。
【０１３３】
チャネル消去方式を使用しているため、消去に多くの電流を必要としない。しかも、最初のブロックを消去する際、消去対象とされている全ブロックを一括して消去しているため、消費電力を削減できる。
【０１３４】
（第２の実施例）
上記第１の実施例は、チャネル消去を行う場合を例に説明した。これに対して、第２の実施例は、ソース消去方式の場合を示している。この場合、セルのソースに６．５Ｖ、コントロールゲートに−７．５Ｖが印加され、フローティングゲートからソース側に電子が引き抜かれる。このソース消去方式の場合、チャネル消去方式と比較して消去の際に電流を多く消費する。このため、チップ内部に設けられた昇圧電源を用いて複数のブロックを一括消去することが困難となる。
【０１３５】
そこで、第２の実施例では、チップの外部から消去電圧を供給するようにしている。
【０１３６】
図１７は、本発明の第２の実施例を示すものであり、図１と同一部分には同一符号を付し、異なる部分についてのみ説明する。
【０１３７】
図１７において、チップ外部から供給される高電圧ＶHHは、ＶHH（高電圧）検出回路５１に供給される。マルチプレクサ５２の入力端には、前記高電圧ＶHH、及び前記電圧発生回路２２から供給される内部電圧ＶINが供給される。このマルチプレクサ５２は、前記ＶHH検出回路５１の出力信号に応じて、高電圧ＶHHと内部電圧ＶINのいずれか一方を選択する。このマルチプレクサ５２の出力電圧は前記ロウデコーダ１４、３４等に供給される。
【０１３８】
図１８は、前記マルチプレクサ５２を具体的に示している。マルチプレクサ５２は、第１の選択回路５２ａ、第２の選択回路５２ｂにより構成されている。第１の選択回路５２ａにおいて、高電圧ＶHHが供給されるパッドＰ１と出力ノードＮ１の相互間には、閾値電圧がほぼ０ＶのＮチャネルＭＯＳトランジスタ５２ｃ、５２ｄが直列接続されている。前記トランジスタ５２ｃのゲートは前記出力ノードＮ１に接続され、トランジスタ５２ｄのゲートはトランジスタ５２ｃとトランジスタ５２ｄの接続ノードＮ２に接続されている。前記ＶHH検出回路５１の出力端と前記トランジスタ５２ｄのソースとの相互間にはＮチャネルＭＯＳトランジスタ５２ｅが接続されている。このトランジスタ５２ｅのゲートには電源電圧ＶDDが供給されている。
【０１３９】
前記第２の選択回路５２ｂにおいて、内部電圧ＶINが供給されるノードと出力ノードＮ１の相互間には、閾値電圧がほぼ０ＶのＮチャネルＭＯＳトランジスタ５２ｆ、５２ｇが直列接続されている。前記トランジスタ５２ｆのゲートは前記出力ノードＮ１に接続され、トランジスタ５２ｇのゲートはトランジスタ５２ｆとトランジスタ５２ｇの接続ノードＮ３に接続されている。前記ＶHH検出回路５１の出力端と前記トランジスタ５２ｇのソースとの相互間にはインバータ回路５２ｈとＮチャネルＭＯＳトランジスタ５２ｉが直列接続されている。このトランジスタ５２ｉのゲートには電源電圧ＶDDが供給されている。
【０１４０】
チャージポンプ回路５３は前記接続ノードＮ２、Ｎ３の電位を昇圧するものであり、クロック信号発生回路５３ａと、このクロック信号発生回路５３ａの出力端と前記接続ノードＮ２、Ｎ３の相互間にそれぞれ接続されたキャパシタ５３ｂ、５３ｃにより構成されている。
【０１４１】
ＶHH検出回路５１は、高電圧ＶHHを検出すると、ハイレベルの信号を出力する。前記マルチプレクサ５２は、このハイレベルの信号に応じて第１の選択回路５２ａが動作され、出力ノードＮ１に高電圧ＶHHが出力される。また、ＶHH検出回路５１の出力信号がローレベルの場合、第２の選択回路５２ｂが動作され、出力ノードＮ１に内部電圧ＶINが出力される。
【０１４２】
上記第２の実施例によれば、チップ外部から供給される高電圧ＶHHを使用することができる。このため、ソース消去方式を用いて同時に複数のブロックを一括消去することができる。
【０１４３】
尚、第１の実施例において、消去レジスタ３７のラッチ回路は、プリプログラムが終了した状態で消去許可信号をセットしたが、これに限定されるものではない。例えばコマンド入力の際のブロック選択時に、外部より入力したブロックアドレスに応じて消去許可信号をセットしてもよい。
【０１４４】
しかし、入力ブロックアドレスに対応するブロックがリダンダンシーブロックと置き換えられている場合、ブロックデコーダやリダンダンシーアドレス検出回路の遅延により、消去レジスタ３８ヘ消去許可信号をセットするタイミングがコマンドの入力周期内に間に合わない可能性がある。このため、確実にセットするためには、プリプログラムが行われたブロックに対して消去許可信号をセットする方がよい。
【０１４５】
（第３の実施例）
次に、本発明の第３の実施例について説明する。
【０１４６】
この種の不揮発性半導体記憶装置は、製造時にメモリセルの不良を検出するため、例えば書き込み／消去テストが行われる。この書き込み／消去テストは、テスト時間を短縮するため、自動書き込み／消去コマンドを使用することが多い。中でもチップ消去コマンドは、チップ内の全メモリセルに対して消去前書き込みと消去を実行する機能であるため、書き込み／消去テストによく使用される。
【０１４７】
ところで、上記チップ消去による書き込み／消去テスト中に、書き込み又は消去が所定時間内、あるいは所定回数内に正常に終了しない場合、エラー状態となり、リセットコマンドを入力するか、電源を遮断しない限り他のコマンドを受け付けない状態となる。その結果、書き込み／消去テストは中断され、それ以降のテストデータの収集が困難となる。
【０１４８】
また、リセットコマンド等によりエラー状態を解除しても、次回のテストでまた、同じ不良セルまでテストが進んだ時点で動作不良となる。このため、事実上、この不良セル以降のアドレス空間に存在するセルの書き込み／消去テストのデータが収集できなくなる。
【０１４９】
そこで、第３の実施例では、書き込み／消去テストにおいて、不良が発生した場合、不良セルを含むブロックをプロテクトすることにより不良履歴を残し、次回のテストにおいて、このブロックを書き込み／消去テストの対象から外すようにする。
【０１５０】
図１９は、第３の実施例を示すものであり、図１と同一部分には同一符号を付し、異なる部分についてのみ説明する。
【０１５１】
図１９において、マルチプレクサ１３の出力端には、プロテクトＲＯＭデコーダ６１が接続されている。このプロテクトＲＯＭデコーダ６１は、書き込み／消去テストにおいて不良が発生した場合、制御回路２１の出力信号に応じて、マルチプレクサ１３から出力される不良セルを含むブロックのアドレスをデコードする。このプロテクトＲＯＭデコーダ６１の出力端は、プロテクトＲＯＭ４０に接続されている。プロテクトＲＯＭ４０はメモリセルアレイ１１の消去単位、例えば各ブロックに対応して例えば１ビットの読み書き可能な不揮発性メモリからなる記憶領域としてのメモリセルを有している。このため、前記プロテクトＲＯＭデコーダ６１の出力信号に応じて不良のブロックに対応したメモリセルにプロテクトを示すデータ、例えば“１”を書き込むことにより、このブロックを書き込み禁止とすることができる。したがって、書き込み／消去テストにおいて不良が発生したブロックは、以降アクセスすることができなくなる。
【０１５２】
上記構成において、図２０を参照して書き込み／消去テストの動作について説明する。この書き込み／消去テストの動作は、前記自動消去モードの動作と類似している。
【０１５３】
すなわち、コマンドレジスタ１９が書き込み／消去テストのコマンドを認識すると、まず、各種初期設定を行う（ＳＴ８０）。この初期設定は、図１１に示す初期設定（ＳＴ１）と同様であり、マルチプレクサ１３をアクティブとして、アドレスカウンタ１６の内部アドレスをロウデコーダ１４及びカラムデコーダ１５に供給したり、制御回路２１により、各種信号が設定される。
【０１５４】
この後、プロテクトＲＯＭ４０の内容に基づいて、選択されたブロックがプロテクトされているか否かが判別される（ＳＴ８１）。この結果、プロテクトされていない場合、ブロック毎に、図１３に示すプリプログラム（ＳＴ８２）、図１５に示す消去（ＳＴ８４）、過消去ベリファイ（ＳＴ８６）、図１６に示すウィークプログラム（ＳＴ８７）、消去ベリファイ（ＳＴ８９）が順次実行される。
【０１５５】
ここで、前記プリプログラム、消去、ウィークプログラムが、設定された回数以内に終了しない場合、プリプログラム、消去、ウィークプログラムのそれぞれにおいて、エラー信号が設定される。すなわち、ＥＲＲＯＲ＝“１”とされる。プリプログラム、消去、ウィークプログラムの各動作が終了すると、ステップＳＴ８３、ＳＴ８５、ＳＴ８８において、ＥＲＲＯＲ＝“１”であるかどうか、すなわち、エラーが発生しているかどうかが判別される。この結果、エラーが発生している場合、そのブロックの書き込み／消去テストを中断し、プロテクト動作が実行される（ＳＴ９０）。
【０１５６】
このプロテクト動作では、上記のようにプロテクトＲＯＭデコーダ６１によりマルチプレクサ１３から出力される不良セルを含むブロックのアドレスがデコードされる。このプロテクトＲＯＭデコーダ６１のデコード出力信号に応じて、プロテクトＲＯＭ４０の不良が発生したブロックのメモリセルにプロテクトデータが書き込まれる。
【０１５７】
図２１は、プロテクトＲＯＭ４０の書き込み動作を示している。先ず、タイマ２５の数値（書き込み回数を示すカウンタ）ＣＹＣがクリアされる（ＳＴ９０１）。
【０１５８】
この後、電圧発生回路２２において、プロテクトＲＯＭのベリファイ電圧がセットアップされる（ＳＴ９０２）。
【０１５９】
次いで、プロテクトＲＯＭデコーダ６１により選択されたメモリセルのデータが読み出される（ＳＴ９０３）。この読み出されたデータは、前記ベリファイ電圧と比較される（ＳＴ９０４）。このベリファイの結果、メモリセルにデータが十分に書き込まれていない場合、プロテクトＲＯＭ４０のメモリセルがプログラムされる（ＳＴ９０５〜ＳＴ９０７）。このプログラム動作は、カウンタＣＹＣをインクリメントしながら繰り返される。
【０１６０】
また、プログラム動作の途中でカウンタＣＹＣの値が規定値に達した場合、プロテクト書き込みエラー（ＥＲＲＯＲ＝“１”）が設定されて終了される（ＳＴ９０８）。
【０１６１】
上記プロテクトＲＯＭの書き込み動作が終了すると、図２０に示すステップ９１において、プロテクトＲＯＭの書き込み動作が正常に終了したかどうかが判別される。この結果、プロテクトＲＯＭの書き込み動作でエラーが発生した場合、例えばチャージポンプ回路によって生成された昇圧電圧を放電するための読み出しセットアップ（ＳＴ９５）を経由した後、書き込み／消去テストが終了される。
【０１６２】
また、プロテクトＲＯＭの書き込み動作が正常終了している場合、前記プリプログラム、消去、ウィークプログラムのいずれかにおいて、設定されたエラー信号がリセットされる（ＳＴ９２）。
【０１６３】
この後、ブロックアドレスをインクリメントして、上記動作が最終ブロックまで繰り返される（ＳＴ９３、ＳＴ９４）。
【０１６４】
このようにして、最終ブロックまで上記動作が実行された場合、前記読み出しセットアップ（ＳＴ９５）を経由して書き込み／消去テストが終了される。
【０１６５】
上記第３の実施例によれば、書き込み／消去テストにおいて、不良セルが発生した場合、プロテクトＲＯＭデコーダ６１により、この不良セルを含むブロックに対応するプロテクトＲＯＭ４０のメモリセルを選択し、このメモリセルにプロテクトデータを書き込んでいる。このため、不良セルを含むブロックはプロテクト状態に設定されるため、不良情報をチップ内に履歴として残すことができる。
【０１６６】
しかも、次回の書き込み／消去テストにおいて、このプロテクトされたブロックはテスト対象から外され、さらに、不良セルを含むブロック以降のアドレス空間のセルを継続してテストすることができる。このため、従来のように、不良セルが発生した場合、リセットコマンドを使用したり、電源を遮断して、テストを終了し、テストをやり直す必要がない。したがって、テスト効率を向上することができる。
【０１６７】
また、上記書き込み／消去テストは、テストモードとして製造時に使用するだけではなく、ユーザに公開した場合も有効である。すなわち、これまでの製品は、不良が発生した場合、ユーザ側でその不良番地を管理する必要があった。しかし、この実施例の機能を用いることにより、プロテクトＲＯＭ４０内に不良セルを含むブロックの情報が記憶されている。したがって、プロテクトＲＯＭ４０の情報に応じて不良セルを含むブロックが自動的にプロテクトされるため、この不揮発性半導体記憶装置が接続されるホストコンピュータ等の電子機器側で不良番地を管理する必要がなくなる利点を有している。
【０１６８】
今後、半導体記憶装置は大容量化され、データの書き換え回数も増加することが予想される。従来、不良セルを含むブロックがある場合、その製品は使用することが困難であった。しかし、この実施例のように、不良のブロックをプロテクトすることにより、容量の一部が不足するだけで、他の正常な領域を使用することができる。したがって、メモリを有効に利用できる利点を有している。
【０１６９】
（第４の実施例）
図２２は、本発明の第４の実施例を示している。図２２において、図１９と同一部分には同一符号を付し、異なる部分についてのみ説明する。
【０１７０】
図２２において、コマンドレジスタ１９には、カウンタ６２が接続されている。このカウンタ６２はコマンドレジスタ１９に供給されるチップ消去コマンドの回数をカウントする。チップ消去の動作は、プログラムと消去を有している。このため、このカウンタ６２のカウント値は書き込み／消去回数と一致する。このカウンタ６２には前記制御回路２１からセット／リセット信号ＳＥＴ／ＲＥＳＥＴ信号が供給される。このカウンタ６２の出力端には、レジスタブロック６３が接続されている。このレジスタブロック６３には、前記ブロックデコーダ３２の出力信号が接続されている。このレジスタブロック６３は各ブロックに対応した複数のレジスタを有しており、これらレジスタに前記カウンタ６２のカウント値を保持可能とされている。
【０１７１】
すなわち、このレジスタブロック６３は、書き込み／消去テストにおいて、不良セルが発生した場合、ブロックデコーダ３２から供給される選択ブロックに対応したレジスタに、カウンタ６２から供給されるカウント値を保持する。このレジスタブロック６３の出力端は入出力バッファ１７に接続されており、この入出力バッファ１７を介してレジスタブロック６３に保持されたデータを出力可能とされている。
【０１７２】
上記構成において、図２３を参照して図２２の動作について説明する。図２３において、書き込み／消去テストの動作は図２０と同一であるため、同一部分には同一符号を付し、異なる部分についてのみ説明する。
【０１７３】
すなわち、書き込み／消去テストにおいて、不良セルが検出されると上述したようにプロテクト動作に移行する（ＳＴ８０〜ＳＴ９０）。この後、プロテクト動作が終了すると、次のブロックの書き込み／消去テストに移行する（ＳＴ９１〜ＳＴ９４）。
【０１７４】
前記プロテクト動作に移行する際、レジスタブロック６３の選択ブロックに対応するレジスタにカウンタ６２のカウント値がセットされる（ＳＴ９６）。前述したように、カウンタ６２には、書き込み／消去回数と一致したカウント値が記憶されている。このような構成とすることにより、書き込み／消去テストの何回目で不良が発生したかを示す情報をレジスタブロック６３に保持することができる。
【０１７５】
上記書き込み／消去テストが終了した後、不揮発性半導体記憶装置の電源を切らずに、レジスタブロック６３に記憶された情報を入出力バッファ１７を介して外部に取り出す。このような構成とすることにより、不良が発生したブロックと、書き込み／消去テストの何回目で不良が発生したかを知ることができる。したがって、セルの信頼性データを簡単に取得することができる。
【０１７６】
上記第４の実施例によれば、コマンドレジスタ１９に供給されるチップ消去コマンドの回数をカウントするカウンタ６２と、プロテクト動作に移行する際、カウンタ６２のカウント値を選択ブロックに対応して保持するレジスタブロック６３を設けている。このため、レジスタブロック６３に不良が発生したブロックに対応して、書き込み／消去回数を保持することができる。したがって、このレジスタブロック６３に記録されたカウント値から、セルの信頼性を示すデータを取得することができる。
【０１７７】
（第５の実施例）
図２４は、図２２を変形した本発明の第５の実施例を示している。図２４において、図２２と同一部分には、同一符号を付し異なる部分についてのみ説明する。
【０１７８】
第４の実施例において、カウンタ６２のカウント値は、レジスタブロック６３の各レジスタに保持した。これに対して、第５の実施例はレジスタブロック６３に代えてＲＯＭブック６４を設けている。このＲＯＭブロック６４は、不揮発性メモリ、例えば複数のＥＥＰＲＯＭセルからなり、このＲＯＭブロック６４は、ブロックに対応した複数の記憶領域を有している。
【０１７９】
上記構成において、図２５に示すように、書き込み／消去テスト時に、不良セルが発生した場合、ＲＯＭブロック６４の選択ブロックに対応する記憶領域にカウンタ６２のカウント値がセットされる（ＳＴ９７）。この後、プロテクト動作が実行される。図２５において、その他の動作は、図２３と同様である。
【０１８０】
第５の実施例によれば、不揮発性メモリにより構成されたＲＯＭブロック６４にカウンタ６２からのカウント値を記憶するように構成している。このため、テスト中に電源が遮断された場合においても、ＲＯＭブロック６４内に不良が発生した際の書き込み／消去回数を記憶させておくことができる。したがって、電源が復旧した後、ＲＯＭブロック６４内の値を利用することにより、再度同じテストを繰り返す必要がないため、テストの効率を向上することができる。
【０１８１】
尚、前記プロテクトＲＯＭ４０、レジスタブロック６３、ＲＯＭブロック６４は、メモリセルアレイのブロック単位にデータを保持するように設定されている。しかし、これに限定されるものではなく、例えば消去単位であればよい。
【０１８２】
（第６の実施例）
上述したように、自動消去モードにおいて、選択された複数のブロックに記憶されたデータを順次消去している際に不良が生じた場合、デバイスは消去動作を中断し、エラー動作に入る。エラー動作に入った場合、デバイスはこれ以降使用不可能となる。この種のフラッシュＥＥＰＲＯＭは、今後一層大容量化される傾向にある。このため、デバイスの一部の不良によりデバイス自体を不良とすることは、デバイスの寿命を考慮した場合、不利なシステムとなる。
【０１８３】
そこで、第６の実施例は、消去動作中に不良が発生した場合、不良救済用の冗長ブロックが残っているかどうかを確認し、冗長ブロックが残っている場合、不良アドレスを記憶するとともに、不良ブロックを冗長ブロックに自動的に置き換えるように構成している。
【０１８４】
図２６は、第６の実施例を示している。図２６において、図１等と同一部分には同一符号を付し異なる部分についてのみ説明する。
【０１８５】
図２６において、マルチプレクサ１３から出力されるアドレス信号の一部は、ブロックデコーダ３２に供給されるとともに、不良アドレス記憶部（ＦＡＭ）７１及びアドレス比較部７２に供給される。前記不良アドレス記憶７１は、例えば不揮発性メモリにより構成され、メモリセルアレイ１１に不良ブロックが発生した場合、前記マルチプレクサ１３から供給される不良ブロックのアドレスを記憶する。この不良アドレス記憶部７１は、例えばリダンダンシーメモリセルアレイ３１のブロック数を記憶できる記憶容量を有している。
【０１８６】
一方、前記アドレス比較部７２は前記マルチプレクサ１３から供給されるアドレス信号と前記不良アドレス記憶部７１から供給されるアドレス信号とを比較する。この比較の結果、これらアドレス信号が一致した場合、アドレス比較部７２はブロックデコーダ３２を非活性化し、ブロックデコーダ３３を活性化する。このため、ロウデコーダ３４、カラムデコーダ３５を介してリダンダンシーメモリセルアレイ３１が選択される。このように、メモリセルアレイ１１の不良ブロックに対するアクセスが指示された場合、メモリセルアレイ１１からリダンダンシーメモリセルアレイ３１に置き換えられる。
【０１８７】
前記不良アドレス記憶部７１、及びブロックデコーダ３２、３３は、前記制御回路２１により制御されている。
【０１８８】
次に、図２７、図２８を参照して、自動消去モード中にエラーが発生した場合の動作について具体的に説明する。
【０１８９】
図２７において、自動消去動作は、例えば図２０と同様であるため、詳細な説明は省略する。図２７に示すプリプログラム（ＳＴ８２）、消去（ＳＴ８４）、ウィークプログラム（ＳＴ８７）において、予め設定された回数あるいは時間内に書き込み又は消去が終了しない場合、これら各サブルーチン内でエラー信号（ERROR）が“１”に設定される。このようにエラー信号が“１”に設定された場合、制御回路２１は、そのブロックにおける書き込み又は消去動作を中断し、現ブロックアドレスを不良アドレス記憶部７１に記憶させる動作に移行される。
【０１９０】
ここでは、先ず、不良アドレス記憶部（ＦＡＭ）７１に空き領域が存在するかどうかを判別する（ＳＴ１０１）。この判別は、不良アドレス記憶７１の空き領域に限らず、リダンダンシーメモリセルアレイ３１の空き領域を判別しても良い。この判別の結果、空き領域が無い場合、動作不良のため、読み出しセットアップ（ＳＴ９５）を経由した後、書き込み／消去が終了される。また、空き領域が有る場合、不良アドレス記憶部７１のプログラム動作が実行される（ＳＴ１０２）。
【０１９１】
図２８は、不良アドレス記憶部７１に対する不良アドレスの書き込み動作を示している。ここでは、図２６に示すブロックデコーダ３２、３３が強制的に非選択とされる。この状態において、先ず、タイマ２５の数値（書き込み回数を示すカウンタ）ＣＹＣがクリアされる（ＳＴ１１１）。
【０１９２】
この後、電圧発生回路２２において、不良アドレス記憶部（ＦＡＭ）７１のベリファイ電圧がセットアップされる（ＳＴ１１２）。
【０１９３】
次いで、不良アドレス記憶部（ＦＡＭ）７１のデータが読み出される（ＳＴ１１３）。この読み出されたデータは、前記ベリファイ電圧と比較される（ＳＴ１１４）。このベリファイの結果、メモリセルにデータが十分に書き込まれていない場合、不良アドレス記憶部（ＦＡＭ）７１のメモリセルがプログラムされる（ＳＴ１１５〜ＳＴ１１７）。不良アドレス記憶部（ＦＡＭ）７１に記憶する情報は、不良ブロックアドレスと、そのブロックの置き換え許可を示す例えば１ビットの置き換え許可情報である。このプログラム動作は、カウンタＣＹＣをインクリメントしながら繰り返される。
【０１９４】
また、プログラム動作の途中でカウンタＣＹＣの値が規定値に達した場合、書き込みエラー（ＥＲＲＯＲ＝“１”）が設定されて終了される（ＳＴ１１８）。不良アドレス記憶部（ＦＡＭ）７１のベリファイの結果（ＳＴ１１４）、正常である場合、制御が図２７に示すステップＳＴ１０３に移行する。
【０１９５】
ステップＳＴ１０３において、不良アドレス記憶部（ＦＡＭ）７１に対する書き込みエラーが発生しているかどうが判別される。この判別の結果、エラーが発生していない場合、信号ＰＶＯＫ、ＥＶＯＫ、ＯＥＶＯＫ、Ａｄｄ、ＥＲＲＯＲがリセットされ（ＳＴ１０４）、再度消去動作が開始される（ＳＴ８２）。この消去動作は前記設定されたリダンダンシーメモリセルアレイ３１に対して実行される。この消去動作は正常に終了するか、リダンダンシーメモリセルアレイ３１のブロックが無くなるまで繰り返される。
【０１９６】
ステップＳＴ８９において、消去ベリファイが正常に終了されたものと判別された場合、選択された最終ブロックかどうかが判別され（ＳＴ９３）、最終ブロックではない場合、ブロックカウンタをインクリメントして消去動作が繰り返される（ＳＴ９４）。また、前記判別の結果、最終ブロックである場合、動作が終了される。
【０１９７】
上記第６の実施例によれば、自動消去動作中に不良が発生した場合、不良アドレス記憶部７１又は、リダンダンシーメモリセルアレイ３１に不良救済用の冗長ブロックが残っているかどうかを確認し、冗長ブロックが残っている場合、不良ブロックアドレスを不良アドレス記憶部７１に記憶している。さらに、アドレス比較部７２は、メモリセルアレイ１１のブロックアドレスと不良アドレス記憶部７１に記憶されている不良アドレスとを比較し、これらが一致した場合、ブロックデコーダ３２を非選択、ブロックデコーダ３３を選択する。このため、メモリセルアレイ１１の不良ブロックがアクセスされた場合、この不良ブロックが冗長ブロックに自動的に置き換える。したがって、製品の出荷後に、不良ブロックが発生した場合においても、デバイス自体を不良とすることを回避できる。したがって、デバイスの寿命を延ばすことができる利点を有している。
【０１９８】
その他、本発明の要旨を変えない範囲において種々変形実施可能なことは勿論である。
【図面の簡単な説明】
【０１９９】
【図１】本発明の第１の実施例を示す構成図。
【図２】図１に示すベリファイビットレジスタ２７の一例を示す構成図。
【図３】図１の各種動作と信号の関係を示す図。
【図４】図１の各種動作と信号の関係を示す図。
【図５】図１の各種動作と信号の関係を示す図。
【図６】図１の各種動作と信号の関係を示す図。
【図７】図１に示すメモリセルアレイの一例を示す回路図。
【図８】各種動作時における各部の電位を示す図。
【図９】図１に示すブロックデコーダ３２と消去レジスタ３７の構成例を示す回路図。
【図１０】図１に示すブロックデコーダ３３、消去レジスタ３８の構成例を示す回路図。
【図１１】本発明の自動消去動作を示すフローチャート。
【図１２】消去レジスタ３７の動作を概略的に示す図。
【図１３】図１１に示すプリプログラム動作の一例を示すフローチャート。
【図１４】プログラムデータを示す図。
【図１５】図１１に示す消去動作の一例を示すフローチャート。
【図１６】図１１に示す過消去ベリファイ及びウィークプログラム動作の一例を示すフローチャート。
【図１７】本発明の第２の実施例を示す構成図。
【図１８】図１７の要部を示す回路図。
【図１９】本発明の第３の実施例を示す構成図。
【図２０】図１９の動作を示すフローチャート。
【図２１】図２０のプロテクト動作を示すフローチャート。
【図２２】本発明の第４の実施例を示す構成図。
【図２３】図２２の動作を示すフローチャート。
【図２４】本発明の第５の実施例を示す構成図。
【図２５】図２４の動作を示すフローチャート。
【図２６】本発明の第６の実施例を示す構成図。
【図２７】図２６の動作を示すフローチャート。
【図２８】図２７の一部の動作を具体的に示すフローチャート。
【図２９】従来の自動消去動作を示すフローチャート。
【符号の説明】
【０２００】
１１…メモリセルアレイ、
１２…アドレスレジスタ、
１４、３４…ロウデコーダ、
２１…制御回路、
３１…リダンダンシー（Ｒ／Ｄ）メモリセルアレイ、
３２、３３…ブロックデコーダ、
３７、３８…消去レジスタ、
３７ｈ…ラッチ回路、
４０…プロテクトＲＯＭ、
６１…プロテクトＲＯＭデコーダ、
６２…カウンタ、
６３…レジスタブロック、
６４…ＲＯＭブロック、
７１…不良アドレス記憶部（ＦＡＭ）、
７２…アドレス比較部。
【図１】
2008084530.tif 000003
【図２】
2008084530.tif 000004
【図３】
2008084530.tif 000005
【図４】
2008084530.tif 000006
【図５】
2008084530.tif 000007
【図６】
2008084530.tif 000008
【図７】
2008084530.tif 000009
【図８】
2008084530.tif 000010
【図９】
2008084530.tif 000011
【図１０】
2008084530.tif 000012
【図１１】
2008084530.tif 000013
【図１２】
2008084530.tif 000014
【図１３】
2008084530.tif 000015
【図１４】
2008084530.tif 000016
【図１５】
2008084530.tif 000017
【図１６】
2008084530.tif 000018
【図１７】
2008084530.tif 000019
【図１８】
2008084530.tif 000020
【図１９】
2008084530.tif 000021
【図２０】
2008084530.tif 000022
【図２１】
2008084530.tif 000023
【図２２】
2008084530.tif 000024
【図２３】
2008084530.tif 000025
【図２４】
2008084530.tif 000026
【図２５】
2008084530.tif 000027
【図２６】
2008084530.tif 000028
【図２７】
2008084530.tif 000029
【図２８】
2008084530.tif 000030
【図２９】
2008084530.tif 000031