(57)【要約】【課題】フラッシュメモリなどの不揮発性メモリを内蔵したマイクロコンピュータでは、当該メモリ上に配置されたプログラムから自動消去や自動ブロック消去のコマンドを実行した場合、自動消去が完了するまでの間、周辺装置及び外部からの割り込み要求を受けつけられないという課題があった。【解決手段】フラッシュメモリの自動書き込み、自動消去処理を制御する外部からの入力としてマイコンの割り込み要求信号を用いることにより、自動書き込みや自動消去中に割り込みが発生すると自動書き込み、自動消去を一時中断し、割り込み処理を受け付けるといった作業を自動で行うことができる不揮発性半導体メモリ内蔵のマイクロコンピュータを提供する。【選択図】　　　　図１
2004030438.tif 000002
【特許請求の範囲】
【請求項１】
少なくともＣＰＵ、このＣＰＵにより実行可能である自動消去および自動書き込みシーケンスを備え、外部からの制御により上記自動消去および自動書き込みの中断・再開が可能な不揮発性メモリおよび周辺機器を備えたマイクロコンピュータにおいて、
上記周辺機器または外部からの割り込み要求により、上記不揮発性メモリの自動消去または自動書き込み処理が一時中断し、当該メモリ内のデータを上記ＣＰＵが読み出し可能となることを特徴とするマイクロコンピュータ。
【請求項２】
自動消去または自動書き込みの中断・再開を制御するためのレジスタをさらに備え、上記自動消去または自動書き込み中にマイクロコンピュータに内蔵される周辺機器または外部からの割り込み要求が生じると、このレジスタに自動的に“１”書き込みが行われ、当該自動消去処理は一時中断し不揮発性メモリ内のデータをＣＰＵが読み出し可能となり、このＣＰＵが上記レジスタに“０”書き込みを行うと、中断していた自動消去処理が再開するといった機構を備えることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
自動消去および自動書き込みの中断・再開の機能を有効とするか、無効とするかを切り替える機能を有するレジスタを備えることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項４】
不揮発性メモリは、不揮発性トランジスタからなる複数のメモリセルが行列状に配置されたメモリアレイを有するメモリブロックを、複数個集めてブロックメモリアレイを構成するとともに、
書き込み及び消去処理を処理シーケンス中の各フェーズ後に中断する割り込み手段と、
書き込み及び消去処理を中断する第一の割り込みでは、処理シーケンス中の第一の割り込みの入ったタイミングに応じたフェーズで処理を中断し、
書き込み及び消去処理を中断する第二の割り込みでは、処理シーケンス中の特定のフェーズで処理を中断する手段とを備え、
前記処理の中断中は、前記不揮発性メモリの内容が読み出せることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項５】
不揮発性メモリは、不揮発性トランジスタからなる複数のメモリセルが行列状に配置されたメモリアレイを有するメモリブロックを、複数個集めてブロックメモリアレイを構成するとともに、
書き込み及び消去処理を処理シーケンス中の各フェーズ後に中断する割り込み手段と、
書き込み及び消去処理を中断する第一の割り込みでは、処理シーケンス中の第一の割り込みの入ったタイミングに応じたフェーズで処理を中断し、
書き込み及び消去処理を中断する第二の割り込みでは、処理シーケンス中の特定のフェーズで処理を中断する手段とを備え、
消去処理を中断する第一、第二の割り込みの有無により、
１ブロックメモリを消去する消去方式を備えることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項６】
不揮発性メモリは、不揮発性トランジスタからなる複数のメモリセルが行列状に配置されたメモリアレイを有するメモリブロックを、複数個集めてブロックメモリアレイを構成するとともに、
書き込み及び消去処理を処理シーケンス中の各フェーズ後に中断する割り込み手段と、
書き込み及び消去処理を中断する第一の割り込みでは、処理シーケンス中の第一の割り込みの入ったタイミングに応じたフェーズで処理を中断し、
書き込み及び消去処理を中断する第二の割り込みでは、処理シーケンス中の特定のフェーズで処理を中断する手段とを備え、
消去処理を中断する第一、第二の割り込みの有無により、
ブロックメモリアレイ全てを消去する消去方式を備えることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項７】
外部からの入力により中断・再開の可能な自動消去および自動書き込み手段と、当該自動消去または自動書き込みシーケンスの中断時に、そのシーケンス中のどこで中断しているかという情報を数ビットのデータとして出力する回路とを備え、ＣＰＵまたはテスタからその情報を読み出すことが可能なことを特徴とする請求項１記載のマイクロコンピュータ。
【請求項８】
不揮発性メモリは、外部からの入力により中断・再開の可能な自動消去および自動書き込み手段と、当該自動消去または自動書き込みシーケンスの実行前にあらかじめそのシーケンス中のどこで中断するかという情報を数ビットのデータにてＣＰＵまたはテスタから指定することができる回路とを備えたことを特徴とする請求項１記載のマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、フラッシュメモリ等の電気的に書き換え可能な不揮発性メモリ（不揮発性半導体メモリ）を内蔵したマイクロコンピュータに関するものであり、特に、不揮発性メモリ（以下、代表して「フラッシュメモリ」として記載する。）の書き換え時の機能に関するものである。
【０００２】
【従来の技術】
フラッシュメモリの自動書き込みおよび自動消去シーケンス中は、通常メモリ内のデータを読み出すことができない。フラッシュメモリ内蔵のマイクロコンピュータ（以下、略して「マイコン」という。）の場合では、そのフラッシュメモリの書き込みまたは消去を行う時は、実行プログラムを内部ＲＡＭ等のフラッシュメモリ以外においておくか、または、フラッシュメモリ上の実行プログラムから書き込みまたは消去を行う場合でも、その自動シーケンスが完了するまでの間、ＣＰＵは次のコードをフェッチすることができないため、マイコンの動作を一時的に停止させておく必要があった。
【０００３】
例えば、ＮＯＲ型のフラッシュメモリ内蔵のマイクロコンピュータでは、消去時間が最大数秒程度かかるため、この数秒間ＣＰＵはフラッシュメモリをアクセスすることができない。このため、ＲＯＭ上プログラムからイレーズを実行するとＣＰＵはイレーズが終了するまでホールド状態等にする必要があり、長期間外部割り込み等を一切受け付けられなくなってしまう。
【０００４】
ここで、特開平２−２５７４９６号公報には、書き込み処理の中断要求が発生すると、消去・書き込みのＶＰＰ電圧が印加されているときに中断要求が生じた場合、タイマーのカウント値を停止・保持し、一旦ＶＰＰ電圧を立ち上げ、リード等の処理を行った後、再度ＶＰＰを立ち上げ保持したカウント値から電圧印加を再開するマイクロコンピュータを開示している。
【０００５】
【発明が解決しようとする課題】
従来の不揮発性メモリ内蔵のマイクロコンピュータは以上のように構成されているので、フラッシュメモリの自動消去は最長で数秒程度の時間を要するため、ＲＯＭ上のプログラムから自動消去を実行した場合には、マイコンはその期間フラッシュメモリ上の次のプログラムコードをフェッチすることができず、一度自動消去を実行すると自動消去が完了し、リード可能になるまで停止しておく必要があった。このため、周辺回路や外部からの割り込み要求が発生した場合でも、その割り込みベクタがフラッシュメモリ内の番地に設定されている場合、割り込み要求の発生から実行できるようになるまでには最大数秒程度かかる場合があった。
【０００６】
また、自動消去終了まで待てないような場合には、強制的にリセットを入力して自動一括消去、自動ブロック消去の処理を中止してから、メモリデータを読み出すしかなく、リセットを入力して自動一括消去、自動ブロック消去の処理を中止してからメモリデータを読み出す場合には、メモリデータを読み出した後に再び自動一括消去、自動ブロック消去を最初から実行しなければならないといった課題があった。
【０００７】
この発明は上記のような課題を解決するためになされたもので、自動書き込みおよび自動消去において、外部から（マイコン側から）の入力によりその処理を一時中断・再開できる機能を備えた不揮発性メモリ内蔵のマイクロコンピュータを得ることを目的とする。
【０００８】
【課題を解決するための手段】
この発明に係るマイクロコンピュータは、ＣＰＵにより実行可能である自動消去又は自動書き込みシーケンスを備え、外部からの制御により自動消去および自動書き込みの中断・再開が可能な不揮発性メモリおよび周辺機器を備え、周辺機器または外部からの割り込み要求により、不揮発性メモリの自動消去または自動書き込み処理が一時中断し、当該メモリ内のデータをＣＰＵが読み出し可能となるものであり、マイコンの割り込み要求をフラッシュメモリ等の不揮発性メモリの自動消去中断のトリガーに使用する。例えば、ＣＰＵにより消去期間中に割り込みが入るとフラッシュメモリなどの不揮発性メモリは、これを受けて消去中断可能なところまで進んだ後、消去処理を一時中断し、ＲＯＭ読みだしのみを許可する（消去／書き込みは禁止）。なお、フラッシュメモリ側では予めシーケンス中断可能な場所を設けておく。
【０００９】
この発明に係るマイクロコンピュータは、自動消去または自動書き込みの中断・再開を制御するためのレジスタを備え、自動消去または自動書き込み中にマイクロコンピュータに内蔵される周辺機器または外部からの割り込み要求が生じると、このレジスタに自動的に“１”書き込みが行われ、当該自動消去処理は一時中断し不揮発性メモリ内のデータをＣＰＵが読み出し可能となり、このＣＰＵがこのレジスタに“０”書き込みを行うと、中断していた自動消去処理が再開するといった機構を備えるものである。例えば、消去中断要求および消去再開をレジスタ（消去中断／再開要求ビット）で行い、マイコン側のＣＰＵでこのビットを読み込むことにより中断（サスペンド）中かどうかを判断できるようにする。
【００１０】
この発明に係るマイクロコンピュータは、自動消去および自動書き込みの中断・再開の機能を有効とするか、無効とするかを切り替える機能を有するレジスタを備えるものである。すなわち、許可レジスタなどにより消去中に割り込みを受け付け、中断モードに入るかをプログラマブルに選択可能とする。
【００１１】
この発明に係るマイクロコンピュータは、不揮発性メモリは、不揮発性トランジスタからなる複数のメモリセルが行列状に配置されたメモリアレイを有するメモリブロックを、複数個集めてブロックメモリアレイを構成するとともに、書き込み及び消去処理を処理シーケンス中の各フェーズ後に中断する割り込み手段と、書き込み及び消去処理を中断する第一の割り込みでは、処理シーケンス中の第一の割り込みの入ったタイミングに応じたフェーズで処理を中断し、書き込み及び消去処理を中断する第二の割り込みでは、処理シーケンス中の特定のフェーズで処理を中断する手段とを備え、処理の中断中は、不揮発性メモリの内容が読み出せるものである。
【００１２】
この発明に係るマイクロコンピュータは、不揮発性メモリは、不揮発性トランジスタからなる複数のメモリセルが行列状に配置されたメモリアレイを有するメモリブロックを、複数個集めてブロックメモリアレイを構成するとともに、書き込み及び消去処理を処理シーケンス中の各フェーズ後に中断する割り込み手段と、書き込み及び消去処理を中断する第一の割り込みでは、処理シーケンス中の第一の割り込みの入ったタイミングに応じたフェーズで処理を中断し、書き込み及び消去処理を中断する第二の割り込みでは、処理シーケンス中の特定のフェーズで処理を中断する手段とを備え、消去処理を中断する第一、第二の割り込みの有無により、１ブロックメモリを消去する消去方式を備えるものである。
【００１３】
この発明に係るマイクロコンピュータは、不揮発性メモリは、不揮発性トランジスタからなる複数のメモリセルが行列状に配置されたメモリアレイを有するメモリブロックを、複数個集めてブロックメモリアレイを構成するとともに、書き込み及び消去処理を処理シーケンス中の各フェーズ後に中断する割り込み手段と、書き込み及び消去処理を中断する第一の割り込みでは、処理シーケンス中の第一の割り込みの入ったタイミングに応じたフェーズで処理を中断し、書き込み及び消去処理を中断する第二の割り込みでは、処理シーケンス中の特定のフェーズで処理を中断する手段とを備え、消去処理を中断する第一、第二の割り込みの有無により、ブロックメモリアレイ全てを消去する消去方式を備えるものである。
【００１４】
この発明に係るマイクロコンピュータは、外部からの入力により中断・再開の可能な自動消去および自動書き込み手段と、当該自動消去または自動書き込みシーケンスの中断時に、そのシーケンス中のどこで中断しているかという情報を数ビットのデータとして出力する回路とを備え、ＣＰＵまたはテスタからその情報を読み出すことが可能なものである。例えば、消去中断できる箇所をあらかじめシーケンス中にいくつも設定しておくが、実際割り込みが入った際、シーケンス中のどの場所で中断しているかをレジスタなどの回路から読み出せるようにする。
【００１５】
この発明に係るマイクロコンピュータは、不揮発性メモリは、外部からの入力により中断・再開の可能な自動消去および自動書き込み手段と、当該自動消去または自動書き込みシーケンスの実行前にあらかじめそのシーケンス中のどこで中断するかという情報を数ビットのデータにてＣＰＵまたはテスタから指定することができる回路とを備えたものである。例えば、予めレジスタなどの回路にストップ位置を指定して消去を実行し、任意の位置でシーケンスを止められるようにする。
なお、消去、書き戻しのループ処理回数を指定できるようにし、ループ回数を消去後読めるようにしておくとよい。
【００１６】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１によるフラッシュメモリ内蔵のマイクロコンピュータ全体の構成を示すブロック図である。図において、１はフラッシュメモリ内蔵のマイコンであり、２は不揮発性メモリとしてのフラッシュメモリ、３はフラッシュメモリ２とマイコン部のインタフェース回路、４は中央処理装置（ＣＰＵ）とバスインタフェース装置（ＢＩＵ）（以下、略してＣＰＵ／ＢＩＵという。）、５は割り込み制御回路、６はその他マイコンを構成するＲＡＭ、タイマー、シリアル通信回路、ポート制御ブロック等の周辺装置（周辺機器）である。７はサスペンド要求レジスタ、８はサスペンド許可レジスタ、９はＣＰＵホールド制御回路であり、インタフェース回路３内に配置される。
【００１７】
１０は周辺装置割り込み信号、１１は外部割り込み信号であり、それぞれ周辺装置６と外部より割り込み制御回路５に入る。１２はその割り込み制御回路５からの割り込み要求信号であり、ＣＰＵ／ＢＩＵ４およびインタフェース回路３へと入力される。１３はサスペンド要求信号、１４はサスペンド受付信号、１５はＣＰＵホールド信号、１６はアドレスバス、１７はデータバスである。なお、インタフェース回路３内のサスペンド許可レジスタ８の出力と、サスペンド要求レジスタ７の出力のＡＮＤ処理されたものがフラッシュメモリ２に対するイレーズ処理中断要求（以下、サスペンド要求）信号１３となる。
図２にサスペンド要求レジスタ７およびサスペンド許可レジスタ８の機能について示してある。
【００１８】
ここで、マイクロコンピュータの割り込み要求とは、通常マイコンが保有するＣＰＵのプログラム処理動作に対する割り込み要求のことをいう。通常マイコンはプログラム番地をシーケンシャルに実行して行くが、外部入力や周辺装置からこの要求が入るとマイコンはシーケンシャルな動作を中断し、特定（指定）番地のプログラムを実行する。
【００１９】
次にフラッシュメモリ２の構成について説明する。
図４は、この発明の実施の形態１による不揮発性半導体メモリの全体構成を示すブロック図であり、図において、２０１はマイクロシーケンサ、２０２はチャージポンプ、２０３はメモリデコーダ、２０４はメモリブロック、２０５はアドレス／データ／制御信号デラッチ入回路であり、これらが不揮発性半導体メモリであるフラッシュメモリ２を構成する。なお、メモリ外部から、アドレスＡ（１６：０）バス、データＤ（１５：０）バス、各種制御信号が入出力される。
【００２０】
図５に、この発明の不揮発性半導体メモリの動作モード一覧を示す。
次に、各動作モードの説明をする。読み出しは、不揮発性半導体メモリ内の任意のアドレスのデータを読み出す。
ステータスレジスタリードは、自動消去／自動書き込みのステータス情報を読み出す。ステータスリードは、データＤ（１５：０）バスから入力されるコマンド７０ＨでモードにエントリーしてＦＦＨで戻る。
ステータスレジスタクリアは、ステータスレジスタの内容をクリアする。ステータスレジスタクリアは、データＤ（１５：０）バスから入力されるコマンド５０ＨでモードにエントリーしてＦＦＨに戻る。
【００２１】
自動書き込みは、データＤ（１５：０）バスから入力されるコマンド４０Ｈでセットアップモードに入り、次のサイクルで書き込みデータとアドレスを取り込みモードエントリーする。自動書き込み終了後は、ステータスレジスタに書き込みステータスを書き込む。
自動一括消去は、データＤ（１５：０）バスから入力されるコマンド２０Ｈでセットアップモードに入り、次のサイクルで確認コマンドの２０Ｈでモードエントリーする。自動一括消去終了後は、ステータスレジスタに一括消去ステータスを書き込む。
自動ブロック消去では、データＤ（１５：０）バスから入力されるコマンド２０Ｈでセットアップモードに入り、次のサイクルで、Ｄ０Ｈ／ブロックアドレスを取り込みモードエントリーする。自動ブロック消去１後は、ステータスレジスタに自動ブロック消去ステータスを書き込む。
【００２２】
（マイクロシーケンサ）
図６はマイクロシーケンサ２０１のブロック図を示すもので、図において、２０１はマイクロシーケンサ、２０６はコマンドポート、２０７はステータスレジスタ、２０８は自動消去シーケンサ、３０３は自動書き込みシーケンサ、２０９はテストモード・シーケンサ、２１０はパワーリセット回路、２１１はクロック生成回路、２１２はデコーダ・チャージポンプ制御信号生成回路、３０４はタイマー回路である。
【００２３】
図５を参照しつつ、コマンドポート２０６は、アドレス／データ／制御信号デラッチ入回路２０５から送られてくる情報を元に、各種モードの設定を行い、チャージポンプ２０２、メモリデコーダ２０３、メモリブロック２０４を制御する。また、アドレスラッチ回路は、自動ブロック消去２を実行の際は、第１バスサイクルで消去メモリブロック開始アドレスをラッチし、第２バスサイクルで消去メモリブロック終了アドレスをラッチする。さらに、自動ブロック消去１を実行の際は、第２バスサイクルで消去メモリブロックのブロックアドレスをラッチする。
【００２４】
自動ブロック消去２を実行の際にラッチした消去メモリブロック開始アドレスと消去メモリブロック終了アドレスは、自動ブロック消去２シーケンス中の消去前書き込みと消去ベリファイ実行の際に使用される。
【００２５】
自動消去シーケンサ２０８は、コマンドポート２０６の指示により、自動消去の動作を制御する。
チャージポンプ２０２、メモリデコーダ２０３、メモリブロック２０４の制御は、デコーダ・チャージポンプ制御信号生成回路２１２を介して行われる。消去パルスの発行やポンプ立ち上げ時間設定など、自動消去シーケンスで必要な各種時間の計測は、タイマー回路３０４を呼び出して行われる。また、自動消去時のステータス状態をステータスレジスタ２０７に書き込む。
【００２６】
自動書き込みシーケンサ３０３は、コマンドポート２０６の指示により、自動書き込みの動作を制御する。チャージポンプ２０２、メモリデコーダ２０３の制御は、デコーダ・チャージポンプ制御信号生成回路２１２を介して行われる。書き込みパルスの発行やポンプ立ち上げ時間設定など、自動書き込みシーケンスで必要な各種時間の計測は、タイマー回路３０４を呼び出して行われる。また、自動書き込み動作時のステータス状態をステータスレジスタ２０７に書き込む。
【００２７】
テストモード・シーケンサ２０９は、コマンドポート２０６の指示により、テストモードの動作を制御する。チャージポンプ２０２、メモリデコーダ２０３、メモリブロック２０４の制御は、デコーダ・チャージポンプ制御信号生成回路２１２を介して行われる。書き込みパルスや消去パルスの発行やポンプ立ち上げ時間設定など、各種テストシーケンスで必要な時間の計測は、タイマー回路３０４を呼び出して行われる。
【００２８】
パワーリセット回路２１０は、電源の立ち上げエッジを感知してリセット信号を内部回路に出力するか、またはコマンドポート２０６経由から入力される外部リセット入力によって内部全ての回路をリセット状態にする。
クロック生成回路２１１は、１０ＭＨｚ相当のクロックパルスを自動消去シーケンサ２０８、自動書き込みシーケンサ３０３とテストモード・シーケンサ２０９に出力する。
パワーリセット回路２１０により全ての回路が非動作状態となった時は、クロック生成回路２１１も機能が停止しクロック信号も停止する。
【００２９】
ステータスレジスタ２０７は、自動消去／自動書き込み時のステータス状態を保持し、必要であればその値をコマンドポート２０６を介して外部に出力する
デコーダ・チャージポンプ制御信号生成回路２１２は、自動消去シーケンサ２０８、自動書き込みシーケンサ３０３、テストモード・シーケンサ２０９の出力を受け、チャージポンプ２０２とメモリデコーダ２０３、メモリブロック２０４の制御する制御信号を生成する。
【００３０】
タイマー回路３０４は、自動消去シーケンサ２０８、自動書き込みシーケンサ３０３、ロックビットフラグ生成回路２９２からの信号を受け、要求のあった時間を計測し、要求元のブロックに終了信号を返す。
サスペンド制御回路３０５は、アドレス／データ／制御信号デラッチ入回路２０５を通して外部から要求のあるサスペンド要求を受け付ける。サスペンド要求は、サスペンド制御回路３０５を通して、自動消去シーケンサ２０８に対して処理の中断を要求する。
【００３１】
（チャージポンプ）
図７はチャージポンプ２０２のブロック図を示すもので、図において、２０２はチャージポンプ、２１３は負電圧チャージポンプ、２１４は正電圧チャージポンプ、２１５は読み出し電圧チャージポンプである。
チャージポンプ２０２は、マイクロシーケンサ２０１によって制御され、各チャージポンプの出力は、電圧切り替え回路２１６によってメモリデコーダ２０３とメモリブロック２０４に供給される。
【００３２】
負電圧チャージポンプ２１３は、消去用の負チャージポンプであり、自動消去時に負の電圧を発生する。
正電圧チャージポンプ２１４は、書き込み／消去用の正チャージポンプであり、書き込みと消去時に正の電圧を発生する。
読み出し電圧チャージポンプ２１５は、読み出し／ベリファイ用の正チャージポンプであり、読み出し動作時に読み出し電圧を発生し、書き込み／書き込みベリファイ時にはベリファイ読み出し電圧を発生する。
【００３３】
（メモリデコーダ）
図８に、メモリブロック２０４中のメモリデコーダ２３０の構成図を示す。図において、２３０はメモリデコーダ、２１８はＹ（コラム）アドレス入力バッファラッチ、２１７はＸ（ロウ）アドレスラッチ、２２０はＹ（コラム）アドレスプリデコーダ、２１９はＸ（ロウ）アドレスプリデコーダ、２３２はセレクトゲートアドレスラッチ、２３３はセレクトゲートアドレスプリデコーダである。
【００３４】
Ｙ（コラム）アドレス入力バッファラッチ２１８、Ｘ（ロウ）アドレスラッチ２１７、セレクトゲートアドレスラッチ２３２は、ステータスレジスタ２０７から送られてきたアドレスをラッチする。
ラッチされたアドレスは、Ｙ（コラム）アドレスプリデコーダ２２０、Ｘ（ロウ）アドレスプリデコーダ２１９、セレクトゲートアドレスプリデコーダ２３３において、アドレスのプリデコード処理が行われ、メモリブロックアレイ２３１に対してプリデコードされた結果を出力する。
【００３５】
（メモリブロック）
同じく、図８に、メモリブロック２０４中のメモリブロックアレイ２３１の構成図を示す。図において、２３１はメモリブロックアレイ、２２１は８ＫＢのメモリブロック０、２２２は４ＫＢのメモリブロック１、２２３は６０ＫＢのメモリブロック２、２２４は１２８ＫＢのメモリブロック３、２２５は４ＫＢのメモリブロック４、２２６はセンスアンプ／書き込み回路、２２７はセレクタ回路、２３４はグローバルビット線、２２８はデータバスＤＤＢ（１５：０）、２２９はブロック選択信号である。
【００３６】
各メモリブロックアレイとセンスアンプ／書き込み回路２２６間は、グローバルビット線２３４で接続されている。
それぞれのメモリブロックは、Ｘデコーダ、ＳＧ（セレクトゲート）／Ｙデコーダ、メモリアレイからなる。
センスアンプ／書き込み回路２２６は、それぞれのメモリブロックからの出力をグローバルビット線２３４、セレクタ回路２２７を介してデータバスにデータを出力する経路と、データバスの値をセレクタ回路２２７、センスアンプ／書き込み回路２２６，グローバルビット線２３４を介して各メモリブロックにデータを書き込む経路がある。
【００３７】
（メモリアドレス空間）
図９に、メモリブロック２０４のアドレス空間を示す。
メモリブロック４は、１６進表記で、“０００００ｈ”〜“０７ＦＦＦｈ”のアドレス空間を持つ。
メモリブロック３は、１６進表記で、“０８０００ｈ”〜“０ＦＦＦＦｈ”のアドレス空間を持つ。
メモリブロック２は、１６進表記で、“１００００ｈ”〜“１７ＦＦＦｈ”のアドレス空間を持つ。
メモリブロック１は、１６進表記で、“１８０００ｈ”〜“１ＦＦＦＦｈ”のアドレス空間を持つ。
メモリブロック（０）は、１６進表記で、“０００００ｈ”〜“０１ＦＦＦｈ”のアドレス空間を持つ。
【００３８】
（メモリアレイ構成１）
図１０は、図９に示すブロック中の１メモリブロックを例に取って説明するもので、図において、２２６はセンスアンプ／書き込み回路、２２７はセレクタ回路、２２８はデータバスＤＤＢ（１５：０）、２３４はグローバルビット線、２３５〜２３８はビット線を選択するトランジスタ、２３９〜２４２はメインビット線、２４３〜２４６はサブビット線を選択するトランジスタ、２５１はＹデコーダ、２５２はＳＧデコーダ、２５３はＸデコーダである。ＣＳ０〜ＣＳ１５、ＳＧ０〜ＳＧ３は制御信号、Ｔｒ０−０〜Ｔｒ６３−０，Ｔｒ０−１〜Ｔｒ６３−１，Ｔｒ０−２〜Ｔｒ６３−２，Ｔｒ０−３〜Ｔｒ６３−３はメモリセルを表す。ここで、メモリセルアレイは、１メインビット線に結合される分のみを示している。
【００３９】
Ｙデコーダ２５１は、Ｙアドレスプリデコーダ２２０からの出力を受けて（図８参照）、１６本のメインビット線２３９〜２４２から一本のビット線を選択するための１６本の制御信号ＣＳ０〜ＣＳ１５を生成する。制御信号ＣＳ０〜ＣＳ１５は、ビット線を選択するトランジスタ２３５〜２３８のゲートに結合されている。それぞれのメインビット線２３９〜２４２は、それぞれ４本のサブビット線がつながっている。
【００４０】
ＳＧ（セレクトゲート）デコーダ２５２は、セレクトゲートアドレスプリデコーダ２３３からの出力を受けて（図８参照）、４本のサブビット線ＳＢＬ０〜ＳＢＬ３から一本のサブビット線を選択するための制御信号ＳＧ０〜ＳＧ３を生成する。制御信号ＳＧ０〜ＳＧ３は、サブビット線を選択するトランジスタ２４３〜２４６のゲートに結合されている。
【００４１】
Ｘデコーダ２５３は、Ｘアドレスプリデコーダ２１９からの出力を受けて、６４本のワード線ＷＬ０〜ＷＬ６３から一本のワード線を選択制御する。
それぞれのサブビット線には、フローティングゲートを有する不揮発性トランジスタからなるメモリセルＴｒ０−０〜Ｔｒ０−３、Ｔｒ１−０〜Ｔｒ１−３、Ｔｒ６３−０〜Ｔｒ６３−３が行列状に配置されている。
このうち、同一行に配置されたメモリセルＴｒ０−０〜Ｔｒ６３−０、Ｔｒ０−１〜Ｔｒ６３−１、Ｔｒ０−２〜Ｔｒ６３−２、Ｔｒ０−３〜Ｔｒ６３−３には、同一サブビット線ＳＢＬ０〜ＳＢＬ３がソース端子に接続されており、それぞれ異なるワード線ＷＬ０〜ＷＬ６３がゲート端子に接続されている。
【００４２】
メモリデータの読み出しは、Ｘアドレスプリデコーダ２１９、Ｙアドレスプリデコーダ２２０、セレクトゲートアドレスプリデコーダ２３３の出力に従って、サブビット線ＳＢＬ０〜ＳＢＬ３とワード線ＷＬ０〜ＷＬ６３からそれぞれ一本のサブビット線とワード線が選択され、選択されたビット線とワード線に接続されたフローティングゲートを有する不揮発性トランジスタからなるメモリセルの内容が、センスアンプ／書き込み回路２２６中のセンスアンプを介してデータバスに出力される。
【００４３】
また、メモリデータへの書き込みは、Ｘアドレスプリデコーダ２１９、Ｙアドレスプリデコーダ２２０、セレクトゲートアドレスプリデコーダ２３３の出力に従って（図８参照）、サブビット線ＳＢＬ０〜ＳＢＬ３とワード線ＷＬ０〜ＷＬ６３からそれぞれ一本のビット線とワード線が選択され、選択されたビット線とワード線に接続されたフローティングゲートを有する不揮発性トランジスタからなるメモリセルに、センスアンプ／書き込み回路２２６中の書き込み回路を介してデータバスの値が書き込まれる。
【００４４】
さらに、メモリデータへの消去は、消去パルスが消去の対象となっているメモリブロックに印加され、フローティングゲートを有する不揮発性トランジスタからなるメモリセルのゲートに消去電圧が印加されメモリの内容が消去される。
【００４５】
次に、この発明の実施の形態１の動作および作用・効果について説明する。
通常、フラッシュメモリ内蔵マイコンのシングルチップモードでは、ＣＰＵ／ＢＩＵ４はフラッシュメモリ２上のプログラムコードを読み込んで動作している。フラッシュメモリ２は自動消去中には消去ベリファイ等でセンスアンプ等の読み出し回路を使用して消去が正しく実行できたかの確認を行うため、消去中以外のブロックのデータに関しても通常読み出しを行うことができなくなる。そのため、フラッシュメモリ上のプログラムに配置された自動消去コマンドが実行されると、その自動消去のシーケンスが完了するまで、ＣＰＵが次のフラッシュメモリ上のプログラムコードを読みに行かないように、ＣＰＵの動作を停止させてやる必要がある。インタフェース回路３内のＣＰＵホールド制御回路９では、自動消去コマンド実行中には、ＣＰＵ／ＢＩＵ４が全てのバスアクセスを停止させるための信号、ＣＰＵホールド信号１５を出力し、これを受けてＣＰＵ／ＢＩＵ４はバスアクセスを停止する（コードフェッチ停止）。
【００４６】
しかしながら、従来どおりのこのままでは、マイコンは最長数秒程度はかかる自動消去の時間中は動作できない状態であるため、割り込み等が発生しても数秒間は受け付けることができないため、実システム上では割り込み禁止とせざるを得ない場合があり、また不定期の割り込みが必須のシステムでは使用できなかった。
【００４７】
この発明の実施の形態１では、この自動消去実行中のＣＰＵが停止中に外部からまたはマイコン内の周辺装置６等から割り込み要求１０，１１が発生すると、割り込み制御回路５はこの要求を受けて、インタフェース回路３に割り込み要求信号を出力する（図１参照）。
【００４８】
インタフェース回路３では、この割り込み要求信号１２がアクティブになるのに対して、サスペンド許可レジスタ８を許可状態に設定していると、サスペンド要求レジスタ７に“１”が立ち、その出力であるサスペンド要求信号１３がアクティブ（要求状態）となる。
【００４９】
自動消去中にサスペンドモードが入った場合のフラッシュメモリ２の動作は後で詳述するが、フラッシュメモリ２はサスペンド要求を受けると、イレーズシーケンスを一時停止するための処理に入る。イレーズパルス印加中などのメモリセルに高負荷がかかった状態で停止するのは好ましくないため、また容易に再開できるポイントで停止しておきたいため、サスペンド要求信号１３が入力後停止可能なところまで進んだ後、イレーズシーケンスは一時停止する。この一時停止処理が完了した時点でフラッシュメモリは消去中ブロック以外の読み出しが可能となり、インタフェース回路３に対して、サスペンド受付信号１４を出力する。
【００５０】
インタフェース回路３はサスペンド受付信号１４がアクティブになり、メモリリードが可能な状態になったのを受けて、ＣＰＵ／ＢＩＵ４へのバスアクセスを停止させている。ＣＰＵホールド信号１５を解除し、ＣＰＵ／ＢＩＵ４の動作を開放する。ホールドを解除されたＣＰＵ／ＢＩＵ４は割り込み要求に応じた割り込みルーチンを処理することが可能になる。
【００５１】
割り込み処理終了後、イレーズを再開させるにはソフトウェアによってサスペンド要求レジスタ７に“０”を書き込む。そのサスペンド要求信号１３は非アクティブとなり、ＣＰＵホールド信号１５もＣＰＵ／ＢＩＵ４を再度ホールド状態にする。フラッシュメモリ２では再開のための処理を実施後、サスペンド受付信号１４を非アクティブにし、イレーズ処理をストップしていた位置から再開する。
【００５２】
以下、マイコンプログラムの大まかな流れを図３に示す。メインプログラムには以下の▲１▼〜▲４▼のような流れで記述する。
▲１▼　サスペンド許可レジスタ８に“１”を書き込み（ステップＳＴ１）、サスペンド許可状態に設定、
▲２▼　自動消去実行コマンド発行（２０ｈ，Ｄ０ｈ連続書き込み）（ステップＳＴ２）→自動消去開始、
▲３▼　サスペンド要求レジスタ７に“０”を書き込み（ステップＳＴ３）→停止中の自動消去再開、
▲４▼　サスペンド要求レジスタ７の値が“０”かどうか判定（ステップＳＴ４）、
・“０”の場合、終了、
・“１”の場合、再度▲３▼に戻る。
【００５３】
上記プログラムにて自動消去を実行すると、まず▲２▼を実行後にフラッシュメモリ２は自動消去動作に入り、ＣＰＵ／ＢＩＵ４はＣＰＵホールド信号１５により、バスアクセス禁止状態となる。この間に割り込みが発生しない場合は、自動消去は最終ステップまで進み、イレーズ（Ｅｒａｓｅ）処理終了（ステップＳＴ２１）となる。その後、▲３▼、▲４▼は実行されるもののフラッシュメモリの自動消去自体が終了しているため、そのまま終了となる。割り込み（Ｉｎｔｅｒｒｕｐｔ）（ステップＳＴ１９）が発生した場合は、サスペンド要求レジスタ７に自動的に“１”が立ち、フラッシュメモリ２がこの要求を受け付けるとＣＰＵ／ＢＩＵ４のバスアクセスは開放され、プログラムは割り込みルーチン処理（ステップＳＴ２０）へとジャンプし、割り込み処理を実行する。割り込みルーチン処理（ステップＳＴ２０）が終了すると、プログラムは再びメインルーチンへと戻り、▲３▼を実行し、フラッシュメモリの自動消去処理が再開される。
【００５４】
▲３▼によってフラッシュメモリの自動消去処理が再開されると、ＣＰＵ／ＢＩＵ４は再びバスアクセス禁止状態になり、▲２▼の後と同じくこの間に割り込みが発生しない場合は自動消去は最終ステップまで進み、イレーズ処理終了（ステップＳＴ２４）となる。その後、▲４▼は実行されるもののフラッシュメモリの自動消去自体が終了しているため、そのまま終了となる。再度割り込み（ステップＳＴ２２）が発生した場合は、前述と同様にサスペンド要求レジスタ７に自動的に“１”が立ち、フラッシュメモリ２がこの要求を受け付けるとＣＰＵ／ＢＩＵ４のバスアクセスは開放され、プログラムは割り込みルーチン処理（ステップＳＴ２３）へとジャンプし、割り込み処理を実行する。割り込みルーチン処理（ステップＳＴ２３）が終了すると、プログラムは再びメインルーチンへと戻り、▲４▼を実行する。ここでは、割り込みが発生してＳＵＳＰＥＮＤＲＥＱ＝“１”となっているため、▲３▼へと戻りフラッシュメモリの自動消去処理が再開される。その後は、フラッシュメモリの自動消去処理が完了するまで▲３▼、▲４▼が繰り返される。
上記動作のようにサスペンド要求レジスタ７を持たすことによって自動消去の一時停止・再開の動作が容易になる。
【００５５】
またサスペンド許可レジスタを禁止状態に設定することによって、上記の自動消去中の割り込みによる一時停止・再開を禁止することができるので、消去の実行を最優先させたいといった場合にも対応でき、ユーザにとって使い勝手のいいものとなる。
さらにサスペンド要求ビットへの書き込みが無効になるため、ＣＰＵの暴走等の誤動作による自動消去の停止といった事態を回避しやすくなる。
【００５６】
以下に、フラッシュメモリ２の詳細な動作について説明する。
（自動一括消去）
次に、この発明の実施の形態１による不揮発性半導体メモリの自動消去シーケンサ２０８の構成について図１１を用いて説明する。図において、２５４は自動消去シーケンス制御回路、２５５はサスペンド要求受け付け回路、２５６は消去前書き込み制御回路、２５７は消去／消去ベリファイ制御回路、２５８は消去前書き込み信号生成回路、２５９はアドレスインクリメンタ、２６０は消去ベリファイ回路である。
【００５７】
自動消去シーケンス制御回路２５４は、コマンドポート２０６、クロック生成回路２１１からの制御信号を受け（図６参照）、この発明の実施の形態１による不揮発性半導体メモリが自動消去モードに入ると、自動消去シーケンス制御回路２５４、消去前書き込み制御回路２５６、消去／消去ベリファイ制御回路２５７を制御する。
自動消去は、アドレス読み出し、消去前書き込み、消去／消去ベリファイの一連の動作を、メモリブロック２０４中の分割されたメモリブロック単位で実行する。
【００５８】
消去前書き込み制御回路２５６は、自動消去シーケンス制御回路２５４からの信号を受けて、メモリブロックに対して消去前書き込み処理を行う。消去前書き込み制御回路２５６は、アドレスインクリメンタ２５９を使用し、消去対象となっているメモリブロックの、アドレスを最下位アドレスから最上位アドレスまでインクリメントしながら、消去前書き込み信号生成回路２５８から消去前書き込み信号を発生させて処理を行う。
【００５９】
アドレスインクリメンタ２５９は、消去対象となっているメモリブロックの、アドレスを最下位アドレスから最上位アドレスまでインクリメントさせる。
消去／消去ベリファイ制御回路２５７は、自動消去シーケンス制御回路２５４からの信号を受けて、消去と消去ベリファイ処理を行う。
【００６０】
消去ベリファイ回路２６０は、消去動作後、メモリのデータを読み出し期待値と比較処理し、消去されているか否かを確認する。メモリのデータ読み出し処理は、アドレスインクリメンタ２５９を使用し、消去対象となっているメモリブロックの、アドレスを最下位アドレスから最上位アドレスまでインクリメントして順次行う。
【００６１】
サスペンド要求受け付け回路２５５は、サスペンド制御回路３０５を介して送られてくる外部割込みを受け付ける。サスペンド要求は、消去前書き込み制御回路２５６または消去／消去ベリファイ制御回路２５７に送られ、サスペンド要求のあった時点での自動消去の処理内容に応じて自動消去シーケンスを途中で中止する。
【００６２】
（サスペンド制御回路およびサスペンド位置設定レジスタ）
図１６に、サスペンド制御回路３０５の構成を示す。図において、２０５はアドレス／データ／制御信号デラッチ入回路、２５５はサスペンド要求受け付け回路、３０６はサスペンド要求処理回路、３０７はサスペンド位置設定レジスタである。サスペンド制御回路３０５は、サスペンド要求処理回路３０６とサスペンド位置設定レジスタ３０７からなる。
【００６３】
サスペンド要求処理回路３０６はアドレス／データ／制御信号デラッチ入回路２０５を通して外部から要求のあるサスペンド要求信号（ＳＵＳＰＥＮＤＲＥＱ）信号がＨレベルになると要求を受け付け、自動消去シーケンサ２０８中のサスペンド要求受け付け回路２５５に対して処理の中断を要求する。
【００６４】
サスペンド要求受け付け回路２５５は、自動消去処理の中断が始まるとサスペンド要求処理回路３０６に対して中断中であることを知らせる信号を出力する。サスペンド要求処理回路３０６は、アドレス／データ／制御信号デラッチ入回路２０５を通して外部に処理の中断を知らせる信号（ＳＵＳＰＥＮＤＬ）をＨレベルにして出力する。
【００６５】
サスペンド要求の解除は、サスペンド要求信号（ＳＵＳＰＥＮＤＲＥＱ）がＬレベルになると、サスペンド要求処理回路３０６を通してサスペンド要求受け付け回路２５５に対してサスペンド要求の解除が要求される。
【００６６】
サスペンド要求受け付け回路２５５は、自動消去処理の再開が始まるとサスペンド要求処理回路３０６に対して処理の再開を知らせる信号を出力する。サスペンド要求処理回路３０６は、アドレス／データ／制御信号デラッチ入回路２０５を通して外部に処理の中断を知らせる（ＳＵＳＰＥＮＤＬ）をＬレベルにして出力する。
【００６７】
また、サスペンド位置設定レジスタ３０７は、自動消去処理の中断場所を任意に設定できる２ビットのレジスタである。サスペンド位置設定レジスタ３０７へのデータのセットは、アドレス／データ／制御信号デラッチ入回路２０５を通して外部から任意のデータを設定できる。
【００６８】
サスペンド位置設定レジスタ３０７の設定内容を示す図を図１７に示す。ｂ０は、自動消去シーケンス中の消去前書き込み終了後にサスペンドを実行するビットである。ｂ０＝１によって、消去前書き込み終了後にサスペンドが実行される。ｂ０＝０では、サスペンドの処理は行われない。
ｂ１は、自動消去シーケンス中の消去パルス印加後にサスペンドを実行するビットである。ｂ１＝１によって、消去パルス印加後にサスペンドが実行される。ｂ１＝０では、サスペンドの処理は行われない。
ｂ２は、自動書き込みシーケンス中の書き込みパルス印加後にサスペンドを実行するビットである。ｂ２＝１によって、書き込みパルス印加後にサスペンドが実行される。ｂ２＝０では、サスペンド処理は行なわれない。
【００６９】
サスペンド位置設定レジスタ３０７に、任意のサスペンド位置を設定すれば、アドレス／データ／制御信号デラッチ入回路２０５を通してサスペンド要求信号（ＳＵＳＰＥＮＤＲＥＱ）がＨレベルにならなくても、レジスタの設定内容に従って自動消去のサスペンドが実行できる。
【００７０】
このように、フラッシュメモリの自動書き込みおよび自動消去シーケンスの指定した位置でとめることを可能にすることによって、従来確認することができなかった自動消去シーケンス中でのメモリセルのＶｔｈの遷移を確認することが可能になるといった、消去の不具合解析の容易化を実現する。
【００７１】
（自動一括消去フローチャート１）
次に、この発明の実施の形態１による不揮発性半導体メモリの自動一括消去の動作を、図１２のフローチャートを用いて説明する。サスペンド要求の無い場合を説明する。
この場合の自動一括消去では、ブロック１、ブロック２、ブロック３、ブロック４の全てのブロックを対象にする。
【００７２】
まず、自動一括消去は、データＤ（１５：０）バスから入力される第１コマンド２０Ｈでセットアップモードに入り（ステップＳＴ２６１）、次のサイクルで確認コマンドの第２コマンド２０Ｈでモードエントリーする（ステップＳＴ２６２）。
消去前書き込みのフェーズ（ステップＳＴ２６４）では、自動消去シーケンサ２０８が、消去対象となっているメモリブロックに対して、データ“１”を書き込み動作を行う。消去前書き込みのフェーズ（ステップＳＴ２６４）では、アドレスインクリメンタを使用し、順次アドレスをインクリメントさせながらワード単位で書き込んでいく。消去前書き込みのフェーズ（ステップＳＴ２６４）終了後、消去パルス印加のフェーズ（ステップＳＴ２６５）に移行する。
【００７３】
消去パルス印加のフェーズ（ステップＳＴ２６５）では、消去パルスを消去対象となっているメモリブロックのみに印加して消去動作を行う。消去パルス印加のフェーズ終了後、消去ベリファイのフェーズ（ステップＳＴ２６６）に移行する。
消去ベリファイのフェーズ（ステップＳＴ２６６）では、消去対象となっているメモリブロックに対して、最下位アドレスから最上位アドレスまでアドレスをインクリメントさせながら消去ベリファイ処理を行う。消去ベリファイのフェーズ（ステップＳＴ２６６）でベリファイフェイルが生じた場合、再消去を行うために再消去前処理のフェーズ（ステップＳＴ２６７）に移行する。再消去前処理のフェーズ（ステップＳＴ２６７）では、再消去前処理回数のカウンター値を１だけインクリメントさせ、処理を消去パルス印加のフェーズ（ステップＳＴ２６５）に再度移行させる。
【００７４】
消去パルス印加のフェーズ（ステップＳＴ２６５）では、再び消去動作を行う。消去パルス印加のフェーズ（ステップＳＴ２６５）終了後、消去ベリファイのフェーズ（ステップＳＴ２６６）に移行する。消去ベリファイのフェーズ（ステップＳＴ２６６）では、前回消去ベリファイに失敗したアドレスから再びベリファイを開始する。消去パルス印加のフェーズ（ステップＳＴ２６５）、消去ベリファイのフェーズ（ステップＳＴ２６６）、再消去前処理のフェーズ（ステップＳＴ２６７）では、消去ベリファイのフェーズ（ステップＳＴ２６６）で最終アドレスまでベリファイが行われるか、再消去前処理のフェーズ（ステップＳＴ２６７）で再消去前処理回数のカウンター値が最大値になるかまでループ処理が続けられる。再消去前処理フェーズ（ステップＳＴ２６７）で、再消去前処理回数のカウンター値が最大値に到達すると、消去エラー終了（ステップＳＴ２７０）として処理が終了する。
【００７５】
また、ベリファイ処理でパスすれば、最終ブロックチェックのフェーズ（ステップＳＴ２６８）に移行する。最終ブロックチェックのフェーズ（ステップＳＴ２６８）では、まだ消去するブロックが存在する場合には、再度消去前書き込みのフェーズ（ステップＳＴ２６４）のフェーズに移行して、次のメモリブロックの消去前書き込みを行う。また、最終ブロックであることが確認されれば、正常終了（ステップＳＴ２６９）として、自動一括消去の処理を終了する。
【００７６】
（自動一括消去フローチャート２）
次に、この発明の実施の形態１による不揮発性半導体メモリの自動一括消去の動作を、図１５のフローチャートを用いて説明する。サスペンド要求の有る場合を説明する。
この場合の自動一括消去では、ブロック１、ブロック２、ブロック３、ブロック４の全てのブロックを対象にする。
【００７７】
まず自動ブロック消去は、データＤ（１５：０）バスから入力される第１コマンド２０Ｈでセットアップモードに入り（ステップＳＴ２９０）、次のサイクルで確認コマンドの第２コマンドＤ０Ｈでモードエントリーする（ステップＳＴ２９１）。
次に、消去前書き込みのフェーズ（ステップＳＴ２９２）では、自動消去シーケンサ２０８が消去対象となっているメモリブロックに対して、データ“１”を書き込む動作を行う。消去前書き込み（ステップＳＴ２９２）では、アドレスインクリメンタを使用し、順次アドレスをインクリメントさせながらワード単位で書き込んでいく。消去前書き込み（ステップＳＴ２９２）終了後、サスペンド要求の無い場合には、消去パルス印加のフェーズ（ステップＳＴ２９５）に移行する。
【００７８】
第１コマンド２０Ｈの受け付け（ステップＳＴ２９０）から消去前書き込みのフェーズ（ステップＳＴ２９２）まで、途中でサスペンド要求があった場合またはサスペンド位置設定レジスタのｂ０に１が設定された場合には、消去前書き込みのフェーズ（ステップＳＴ２９２）終了まで自動消去の処理の中断は行われない。消去前書き込みのフェーズ（ステップＳＴ２９２）終了後、サスペンド要求受け付けのフェーズ（ステップＳＴ２９３）では、要求の有る場合には自動消去中断（ステップＳＴ２９４）を行いメモリデータ読み出し可能となる。要求の無い場合には、次の消去パルス印加のフェーズ（ステップＳＴ２９５）に進む。また、サスペンド要求受け付け後復帰する場合にも、次の消去パルス印加のフェーズ（ステップＳＴ２９５）に進む。
【００７９】
消去パルス印加のフェーズ（ステップＳＴ２９５）では、消去パルスを消去対象となっているメモリブロックのみに印加して消去動作を行う。消去パルス印加のフェーズ（ステップＳＴ２９５）終了後、サスペンド要求の無い場合には、消去ベリファイのフェーズ（ステップＳＴ２９８）に移行する。
消去パルス印加のフェーズ（ステップＳＴ２９５）中、途中でサスペンド要求のあった場合には、消去パルス印加のフェーズ（ステップＳＴ２９５）終了まで自動消去の処理の中断は行われない。消去パルス印加（ステップＳＴ２９５）終了後、サスペンド要求受け付けのフェーズ（ステップＳＴ２９６）では、要求の有る場合には自動消去中断（ステップＳＴ２９７）を行いメモリデータ読み出し可能となる。要求の無い場合には、次の消去ベリファイのフェーズ（ステップＳＴ２９８）に進む。また、サスペンド要求受け付け後復帰する場合にも次のベリファイのフェーズ（ステップＳＴ２９８）に進む。
【００８０】
消去ベリファイのフェーズ（ステップＳＴ２９８）では、消去対象となっているメモリブロックに対して、最下位アドレスから最上位アドレスまでアドレスをインクリメントさせながら消去ベリファイ処理を行う。消去ベリファイのフェーズ（ステップＳＴ２９８）でベリファイフェイルが生じた場合、再消去を行うために再消去前処理のフェーズ（ステップＳＴ２９９）に移行する。再消去前処理のフェーズ（ステップＳＴ２９９）では、再消去前処理回数のカウンター値を１だけインクリメントさせ、処理を消去パルス印加のフェーズ（ステップＳＴ２９５）に再度移行させる。
【００８１】
消去パルス印加のフェーズ（ステップＳＴ２９５）では、再び消去動作を行う。消去パルス印加のフェーズ（ステップＳＴ２９５）終了後、サスペンド要求の無い場合には、消去ベリファイのフェーズ（ステップＳＴ２９８）に移行する。
【００８２】
消去ベリファイ（ステップＳＴ２９８）、消去パルス印加のフェーズ（ステップＳＴ２９５）中、途中でサスペンド要求のあった場合またはサスペンド位置設定レジスタのｂ１に１が設定された場合には、消去パルス印加のフェーズ（ステップＳＴ２９５）終了まで自動消去の処理の中断は行われない。消去パルス印加（ステップＳＴ２９５）終了後、サスペンド要求受け付けフェーズ（ステップＳＴ２９６）では、要求の有る場合には自動消去中断（ステップＳＴ２９７）を行いメモリデータ読み出し可能となる。要求の無い場合には、次の消去ベリファイのフェーズ（ステップＳＴ２９８）に進む。また、サスペンド要求受け付け後復帰する場合にも次の消去ベリファイのフェーズ（ステップＳＴ２９８）に進む。
【００８３】
消去ベリファイのフェーズ（ステップＳＴ２９８）では、前回消去ベリファイに失敗したアドレスから再びベリファイを開始する。消去パルス印加のフェーズ（ステップＳＴ２９５）、消去ベリファイのフェーズ（ステップＳＴ２９８）、再消去前処理フェーズ（ステップＳＴ２９９）では、消去ベリファイのフェーズ（ステップＳＴ２９８）で最終アドレスまでベリファイが行われるか、再消去前処理のフェーズ（ステップＳＴ２９９）で再消去前処理回数のカウンター値が最大値になるかまでループ処理が続けられる。再消去前処理のフェーズ（ステップＳＴ２９９）で、再消去前処理回数のカウンター値が最大値に到達すると、消去エラー終了（ステップＳＴ３００）として処理が終了する。
【００８４】
また、ベリファイ処理でパスすれば、最終ブロックチェックのフェーズ（ステップＳＴ３０１）に移行する。最終ブロックチェックのフェーズ（ステップＳＴ３０１）では、まだ消去するブロックが存在する場合には、再度消去前書き込みのフェーズ（ステップＳＴ２９２）に移行して、次のメモリブロックの消去前書き込みを行う。また、最終ブロックであることが確認されれば、正常終了（ステップＳＴ３０２）として、自動一括消去の処理を終了する。
【００８５】
消去ベリファイフェーズ（ステップＳＴ２９８）、再度消去前書き込みのフェーズ（ステップＳＴ２９２）中、途中でサスペンド要求のあった場合、または、サスペンド位置設定レジスタのｂ０に１が設定された場合には、消去前書き込みのフェーズ（ステップＳＴ２９２）終了まで自動消去の処理の中断は行われない。消去前書き込み（ステップＳＴ２９２）終了後、サスペンド要求受け付けのフェーズ（ステップＳＴ２９４）では、要求の有る場合には自動消去中断（ステップＳＴ２９４）を行いメモリデータ読み出し可能となる。要求の無い場合には、次の消去パルス印加のフェーズ（ステップＳＴ２９５）に進む。また、サスペンド要求受け付け後復帰する場合にも次の消去パルス印加のフェーズ（ステップＳＴ２９５）に進む。
【００８６】
（自動ブロック消去フローチャート１）
次に、この発明の実施の形態１による不揮発性半導体メモリの、ブロック０、ブロック１、ブロック２、ブロック３、ブロック４のいずれかのブロックを対象とする自動ブロック消去の動作を、図１３のフローチャートを用いて説明する。サスペンド要求の無い場合を説明する。
この場合の自動一括消去では、ブロック１、ブロック２、ブロック３、ブロック４の全てのブロックを対象にする。
【００８７】
まず、自動一括消去は、データＤ（１５：０）バスから入力される第１コマンド２０Ｈでセットアップモードに入り（ステップＳＴ２７１）、次のサイクルで確認コマンドの第２コマンドＤ０Ｈでモードエントリーする（ステップＳＴ２７２）。第２コマンドＤ０Ｈの入力の際（ステップＳＴ２７２）には、消去の対象となるメモリブロックのブロックアドレスを読み込む。
【００８８】
消去前書き込みのフェーズ（ステップＳＴ２７４）では、自動消去シーケンス（ステップＳＴ２０８）が、消去対象となっているメモリブロックに対して、データ“１”を書き込む動作を行う。消去前書き込み（ステップＳＴ２７４）では、アドレスインクリメンタを使用し、順次アドレスをインクリメントさせながらワード単位で書き込んでいく。消去前書き込みのフェーズ（ステップＳＴ２７４）の終了後、消去パルス印加のフェーズ（ステップＳＴ２７５）に移行する。
【００８９】
消去パルス印加のフェーズ（ステップＳＴ２７５）では、消去パルスを消去対象となっているメモリブロックに印加して消去動作を行う。消去パルス印加フェーズ（ステップＳＴ２７５）終了後、消去ベリファイのフェーズ（ステップＳＴ２７６）に移行する。
【００９０】
消去ベリファイのフェーズ（ステップＳＴ２７６）では、消去対象となっているメモリブロックに対して、最下位アドレスから最上位アドレスまでアドレスをインクリメントさせながら消去ベリファイ処理を行う。消去ベリファイのフェーズ（ステップＳＴ２７６）でベリファイフェイルが生じた場合、再消去を行うために再消去前処理フェーズ（ステップＳＴ２７７）に移行する。再消去前処理のフェーズ（ステップＳＴ２７７）では、再消去前処理回数のカウンター値を１だけインクリメントさせ、処理を消去パルス印加フェーズ（ステップＳＴ２７５）に再度移行させる。
【００９１】
消去パルス印加フェーズ（ステップＳＴ２７５）では、再び消去動作を行う。消去パルス印加フェーズ（ステップＳＴ２７５）終了後、消去ベリファイのフェーズ（ステップＳＴ２７６）に移行する。消去ベリファイのフェーズ（ステップＳＴ２７６）では、前回消去ベリファイに失敗したアドレスから再びベリファイを開始する。消去パルス印加のフェーズ（ステップＳＴ２７５）、消去ベリファイのフェーズ（ステップＳＴ２７６）、再消去前処理フェーズ（ステップＳＴ２７７）では、消去ベリファイフェーズ（ステップＳＴ２７６）で最終アドレスまでベリファイが行われるか、再消去前処理フェーズ（ステップＳＴ２７７）で再消去前処理回数のカウンター値が最大値になるかまでループ処理が続けられる。再消去前処理フェーズ（ステップＳＴ２７７）で、再消去前処理回数のカウンター値が最大値に到達すると、消去エラー終了（ステップＳＴ２７９）として処理が終了する。
また、ベリファイ処理でパスすれば、正常終了（ステップＳＴ２７８）として、自動ブロック消去１の処理を終了する。
【００９２】
（自動ブロック消去フローチャート２）
次に、この発明の実施の形態１による不揮発性半導体メモリのブロック０、ブロック１、ブロック２、ブロック３、ブロック４のいずれかのブロックを対象とする自動ブロック消去の動作を、図１４のフローチャートを用いて説明する。サスペンド要求の有る場合を説明する。
【００９３】
まず、自動ブロック消去は、データＤ（１５：０）バスから入力される第１コマンド２０Ｈでセットアップモードに入り（ステップＳＴ２８０）、次のサイクルで確認コマンドの第２コマンドＤ０Ｈでモードエントリーする（ステップＳＴ２８１）。第２コマンドＤ０Ｈの入力（ステップＳＴ２８１）の際には、消去の対象となるメモリブロックのブロックアドレスを読み込む。
【００９４】
次に、消去前書き込みのフェーズ（ステップＳＴ２８２）では、自動消去シーケンサ２０８が、消去対象となっているメモリブロックに対して、データ“１”を書き込む動作を行う。消去前書き込み（ステップＳＴ２８２）では、アドレスインクリメンタを使用し、順次アドレスをインクリメントさせながらワード単位で書き込んでいく。消去前書き込みのフェーズ（ステップＳＴ２８２）終了後、サスペンド要求の無い場合には、消去パルス印加のフェーズ（ステップＳＴ２８３）に移行する。
【００９５】
第１コマンドの受け付けのフェーズ（ステップＳＴ２８０）から、消去前書き込みのフェーズ（ステップＳＴ２８２）まで、途中でサスペンド要求のあった場合またはサスペンド位置設定レジスタのｂ０に１が設定された場合には、消去前書き込みのフェーズ（ステップＳＴ２８２）終了まで自動消去の処理の中断は行われない。消去前書込みのフェーズ（ステップＳＴ２８２）終了後、サスペンド要求受け付けのフェーズ（ステップＳＴ２６３）では、要求の有る場合には、自動消去中断（ステップＳＴ２７３）を行いメモリデータ読み出し可能となる。要求の無い場合には、次の消去パルス印加のフェーズ（ステップＳＴ２８３）に進む。また、サスペンド要求受け付け後復帰する場合にも、次の消去パルス印加のフェーズ（ステップＳＴ２８３）に進む。
【００９６】
消去パルス印加のフェーズ（ステップＳＴ２８３）では、消去パルスを消去対象となっているメモリブロックのみに印加して消去動作を行う。消去パルス印加のフェーズ（ステップＳＴ２８３）終了後、サスペンド要求の無い場合には、消去ベリファイフェーズのフェーズ（ステップＳＴ２８４）に移行する。
【００９７】
消去パルス印加のフェーズ（ステップＳＴ２８３）中、途中でサスペンド要求のあった場合、または、サスペンド位置設定レジスタのｂ１に１が設定された場合には、消去パルス印加のフェーズ（ステップＳＴ２８３）終了まで自動消去の処理の中断は行われない。消去パルス印加（ステップＳＴ２８３）終了後、サスペンド要求受け付けのフェーズ（ステップＳＴ２８８）では、要求の有る場合には、自動消去中断（ステップＳＴ２８９）を行いメモリデータ読み出し可能となる。要求の無い場合には、次の消去ベリファイのフェーズ（ステップＳＴ２８４）に進む。また、サスペンド要求の受け付け後に復帰する場合にも、次の消去ベリファイのフェーズ（ステップＳＴ２８４）に進む。
【００９８】
消去ベリファイのフェーズ（ステップＳＴ２８４）では、消去対象となっているメモリブロックに対して、最下位アドレスから最上位アドレスまでアドレスをインクリメントさせながら消去ベリファイ処理を行う。消去ベリファイのフェーズ（ステップＳＴ２８４）でベリファイフェイルが生じた場合、再消去を行うために再消去前処理のフェーズ（ステップＳＴ２８５）に移行する。再消去前処理のフェーズ（ステップＳＴ２８５）では、再消去前処理回数のカウンター値を１だけインクリメントさせ、処理を消去パルス印加のフェーズ（ステップＳＴ２８３）に再度移行させる。
【００９９】
消去パルス印加のフェーズ（ステップＳＴ２８３）では、再び消去動作を行う。消去パルス印加のフェーズ（ステップＳＴ２８３）終了後、サスペンド要求の無い場合には、消去ベリファイのフェーズ（ステップＳＴ２８４）に移行する。
【０１００】
消去ベリファイ（ステップＳＴ２８４）、消去パルス印加のフェーズ（ステップＳＴ２８３）中、途中でサスペンド要求のあった場合またはサスペンド位置設定レジスタのｂ１に１が設定された場合には、消去パルス印加のフェーズ（ステップＳＴ２８３）終了後まで自動消去の処理の中断は行われない。消去パルス印加（ステップＳＴ２８３）終了後、サスペンド要求受け付けのフェーズ（ステップＳＴ２８８）では、要求の有る場合には自動消去中断（ステップＳＴ２８９）を行いメモリデータ読み出し可能となる。要求の無い場合には、次の消去ベリファイのフェーズ（ステップＳＴ２８４）に進む。また、サスペンド要求受け付け後復帰する場合にも、次の消去ベリファイのフェーズ（ステップＳＴ２８４）に進む。
【０１０１】
消去ベリファイのフェーズ（ステップＳＴ２８４）では、前回消去ベリファイに失敗したアドレスから再びベリファイを開始する。消去パルス印加のフェーズ（ステップＳＴ２８３）、消去ベリファイのフェーズ（ステップＳＴ２８４）、再消去前処理フェーズ（ステップＳＴ２８５）では、消去ベリファイのフェーズ（ステップＳＴ２８４）で最終アドレスまでベリファイが行われるか、再消去前処理フェーズ（ステップＳＴ２８５）で再消去前処理回数のカウンター値が最大値になるかまでループ処理が続けられる。再消去前処理フェーズ（ステップＳＴ２８５）で、再消去前処理回数のカウンター値が最大値に到達すると、消去エラー終了（ステップＳＴ２８７）として処理が終了する。
また、ベリファイ処理でパスすれば、正常終了（ステップＳＴ２８６）として、自動ブロック消去の処理を終了する。
次に、本発明の不揮発性半導体メモリの自動書き込み動作を、図１８のフローチャートを用いて説明する。
まず自動書き込みは、データＤ（１５：０）バスから入力される第一コマンド４０Ｈ（ステップＳＴ３０３）でセットアップモードに入り、次のサイクル（ステップＳＴ３０４）で書き込みデータと書き込みアドレスを取り込み、モードエントリーする。
書き込みパルス印加（ステップＳＴ３０５）のフェーズでは、取り込んだ書き込みアドレスとデータに従って、書き込みパルスを印加する。
パルスの印加後、サスペンド要求受け付けのフェーズ（ステップＳＴ３０６）では、要求のある場合には、自動書き込み中断（ステップＳＴ３０７）を行いメモリデータ読み出し可能となる。要求の無い場合には、次の書き込みベリファイのフェーズ（ステップＳＴ３０８）に進む。
書き込みベイファイ（ステップＳＴ３０８）のフェーズでは、書き込みパルス印加後、書き込んだアドレスのデータを読み出し、外部より取り込んだデータと比較する。
比較はワード単位で実行する。１ビットでも比較で不一致が生じれば、再度書き込みを行うために再書き込み前処理（ステップＳＴ３０９）に処理を移す。比較で全データが一致すれば、正常終了（ステップＳＴ３１０）として処理を終了する。再書き込み前処理（ステップＳＴ３０９）のフェーズでは、書き込み回数をカウントするカウンターの値を＋１インクリメントする。
また、書き込みが失敗したビットを特定し、再び書き込みパルスを印加するために、処理を書き込みパルス印加（ステップＳＴ３０５）に移す。カウンター値が、最大回数に到達すると、書き込みエラー（ステップＳＴ３１１）として処理を終了する。
【０１０２】
以上のように、この実施の形態１によれば、上記の各自動消去のフローにより、不揮発性半導体メモリの自動消去中に処理中断命令が外部よりある場合には消去処理を中断し、メモリデータを読み出した後に不揮発性半導体メモリの自動消去を再開できる。
また、不揮発性半導体メモリの自動ブロック消去中に処理中断命令が外部よりある場合には消去処理を中断し、メモリデータを読み出した後に不揮発性半導体メモリの自動消去を再開することにより自動ブロック消去を実行できる。
さらに、不揮発性半導体メモリの自動一括消去中に処理中断命令が外部よりある場合には消去処理を中断し、メモリデータを読み出した後に不揮発性半導体メモリの自動消去を再開することにより自動一括消去を実行できる。
これにより、不揮発性半導体メモリの自動一括消去、自動ブロック消去を実行中にメモリデータを読み出す必要が生じた場合でも、消去処理が終了するまで待つか、または、リセット入力するといった必要が無くなるという効果が得られる。
【０１０３】
なお、上述の特開平２−２５７４９６号公報と対比して説明しておくと、この発明の実施の形態１によるフラッシュメモリ内蔵のマイクロコンピュータの特徴としては、回路簡素化のため、ＶＰＰ電圧印加時には中断要求が生じても消去処理等を中断せず、予め設定してある中断可能ポイントに達するまで処理を継続する。つまり、消去シーケンスに予めいくつかの中断可能ポイントを設定しておき、そこに達すると初めて中断可能になる。
【０１０４】
こうすることにより、中断要求から実際に中断されるまでは、従来技術と比較して時間を要するものの、本発明に含まれるどこで中断しているかという情報を読み出す機能で情報を読み出す際に、中断したポイントは有限数のため数ビットのデータとして知る事が可能となり、不具合解析に有効となる。なお、中断ポイントを指定する場合も同様の理由で数ビットのデータを書き込むことで可能となる。
【０１０５】
このような本発明における中断可能なフラッシュメモリの特徴は、
・フラッシュメモリ外部からの要求により消去処理を一時中断・再開可能、
・どこで止まったかを知ることが可能、
・止める位置をレジスタに書き込むことにより指定することが可能、
といった機能を併せ持つことが可能なシーケンサ（制御回路）を備えることにある。これにより、ユーザの使い勝手が向上するとともに、解析性も向上している。
【０１０６】
【発明の効果】
以上のように、この発明によれば、周辺機器または外部からの割り込み要求により、不揮発性メモリの自動消去または自動書き込み処理が一時中断し、当該メモリ内のデータをＣＰＵが読み出し可能となるように構成したので、自動書き込み、自動消去中に割り込みが発生すると、当該割り込み要求により、自動消去を一時中断し、割り込み処理を受け付けるといった作業を自動で行うことができ、これにより、不揮発性メモリの自動消去を実行中にメモリデコーダを読み出す必要が生じた場合でも、消去処理が終了するまで待つか、または、リセット入力するといった必要がなくなる効果がある。
【０１０７】
この発明によれば、自動消去または自動書き込みの中断・再開を制御するためのレジスタを備えるように構成したので、不揮発性メモリの当該処理の中断・再開を容易に行うことができる効果がある。
【０１０８】
この発明によれば、消去および自動書き込みの中断・再開の機能を有効とするか、無効とするかを切り替える機能を有するレジスタを備えるように構成したので、従来どおり自動書き込み、消去を優先させることもできる効果がある。
【０１０９】
この発明によれば、不揮発性メモリは、書き込み及び消去処理を処理シーケンス中の各フェーズ後に中断する割り込み手段と、書き込み及び消去処理を中断する第一の割り込みでは、処理シーケンス中の第一の割り込みの入ったタイミングに応じたフェーズで処理を中断し、書き込み及び消去処理を中断する第二の割り込みでは、処理シーケンス中の特定のフェーズで処理を中断する手段とを備え、処理の中断中は、不揮発性メモリの内容が読み出せるように構成したので、自動消去の一時停止・再開の動作が容易になるという効果がある。
【０１１０】
この発明によれば、不揮発性メモリは、書き込み及び消去処理を処理シーケンス中の各フェーズ後に中断する割り込み手段と、書き込み及び消去処理を中断する第一の割り込みでは、処理シーケンス中の第一の割り込みの入ったタイミングに応じたフェーズで処理を中断し、書き込み及び消去処理を中断する第二の割り込みでは、処理シーケンス中の特定のフェーズで処理を中断する手段とを備え、消去処理を中断する第一、第二の割り込みの有無により、１ブロックメモリを消去する消去方式を備えるように構成したので、当該割り込みが有った時点で消去処理を中断しメモリデータを読み出し後、不揮発性メモリの自動消去を再開することにより自動ブロック消去を実行できる効果がある。
【０１１１】
この発明によれば、不揮発性メモリは、書き込み及び消去処理を処理シーケンス中の各フェーズ後に中断する割り込み手段と、書き込み及び消去処理を中断する第一の割り込みでは、処理シーケンス中の第一の割り込みの入ったタイミングに応じたフェーズで処理を中断し、書き込み及び消去処理を中断する第二の割り込みでは、処理シーケンス中の特定のフェーズで処理を中断する手段とを備え、消去処理を中断する第一、第二の割り込みの有無により、ブロックメモリアレイ全てを消去する消去方式を備えるように構成したので、当該割り込みが有った時点で消去処理を中断しメモリデータを読み出し後、不揮発性メモリの自動消去を再開することにより自動一括消去を実行できる効果がある。
【０１１２】
この発明によれば、不揮発性メモリは、外部からの入力により中断・再開の可能な自動消去および自動書き込み手段と、当該自動消去または自動書き込みシーケンスの中断時に、そのシーケンス中のどこで中断しているかという情報を数ビットのデータとして出力する回路とを備え、ＣＰＵまたはテスタからその情報を読み出すことが可能なように構成したので、書き込みおよび消去シーケンスの指定した位置でとめることを可能にし、書き込みおよび消去の不具合解析の容易化を実現する効果がある。
【０１１３】
この発明によれば、不揮発性メモリは、外部からの入力により中断・再開の可能な自動消去および自動書き込み手段と、当該自動消去または自動書き込みシーケンスの実行前にあらかじめそのシーケンス中のどこで中断するかという情報を数ビットのデータにてＣＰＵまたはテスタから指定することができる回路とを備えるように構成したので、書き込みおよび消去シーケンスの指定した位置でとめることを可能にし、書き込みおよび消去の不具合解析の容易化を実現する効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１によるフラッシュメモリ内蔵のマイクロコンピュータの構成を示すブロック図である。
【図２】サスペンド制御レジスタの構成を示す図である。
【図３】この発明の実施の形態１によるマイクロコンピュータのプログラムフロー例を示した図である。
【図４】この発明の実施の形態１による不揮発性半導体メモリの機能ブロックを示す図である。
【図５】この発明の実施の形態１による不揮発性半導体メモリの動作モード一覧を示す図である。
【図６】図４に示す機能ブロック中のマイクロシーケンサの機能ブロックを示す図である。
【図７】図４に示す機能ブロック中のチャージポンプの機能ブロックを示す図である。
【図８】図４に示す機能ブロック中のメモリデコーダ・メモリブロックの構成図である。
【図９】図４に示す機能ブロック中のメモリブロックのアドレス空間を示す図である。
【図１０】図８に示すブロック中のＸデコーダ、Ｙデコーダ、メモリセルアレイ、センスアンプ／書き込み回路を抽出して示す図である。
【図１１】自動消去シーケンサを示す図である。
【図１２】自動一括消去シーケンスを示すフローチャートの図である。
【図１３】自動ブロック消去シーケンスを示すフローチャートの図である。
【図１４】自動消去中断の有る自動ブロック消去シーケンスを示すフローチャートの図である。
【図１５】自動消去中断の有る場合の自動一括消去シーケンスを示すフローチャートの図である。
【図１６】サスペンドレジスタの構成を示す図である。
【図１７】サスペンド位置設定レジスタの構成を示す図である。
【図１８】自動書き込みシーケンスを示すフローチャートの図である。
【符号の説明】
１　フラッシュメモリ内蔵マイコン（マイクロコンピュータ）、２　フラッシュメモリ（不揮発性メモリ）、３　インタフェース回路、４　ＣＰＵ／ＢＩＵ、５　割り込み制御回路、６　周辺装置（周辺機器）、７　サスペンド要求レジスタ、８　サスペンド許可レジスタ、２０１　マイクロシーケンサ、２０２　チャージポンプ、２０３　メモリデコーダ、２０４　メモリブロック、２０５　アドレス／データ／制御信号デラッチ入回路、２０６　コマンドポート、２０７　ステータスレジスタ、２０８　自動消去シーケンサ、２０９　テストモード・シーケンサ、２１０　パワーリセット回路、２１１　クロック生成回路、２１２　デコーダ・チャージポンプ制御信号生成回路、２１３　負電圧チャージポンプ、２１４　正電圧チャージポンプ、２１５　読み出し電圧チャージポンプ、２１７　Ｘ（ロウ）アドレスラッチ、２１８　Ｙ（コラム）アドレス入力バッファラッチ、２１９　Ｘ（ロウ）アドレスプリデコーダ、２２０　Ｙ（コラム）アドレスプリデコーダ、２２１〜２２５　メモリブロック、２２６　センスアンプ／書き込み回路、２２７　セレクタ回路、２２８　データバス、２２９　ブロック選択信号、２３０　メモリデコーダ、２３１　メモリブロックアレイ、２３２　セレクトゲートアドレスラッチ、２３３　セレクトゲートアドレスプリデコーダ、２３４　グローバルビット線、２３５〜２３８，２４３〜２４６　トランジスタ、２３９〜２４２　メインビット線、２５２　ＳＧデコーダ、２５３　Ｘデコーダ、２５４　自動消去シーケンス制御回路、２５５　サスペンド要求受け付け回路、２５６　消去前書き込み制御回路、２５７　消去／消去ベリファイ制御回路、２５８　消去前書き込み信号生成回路、２５９　アドレスインクリメンタ、２６０消去ベリファイ回路、２９２　ロックビットフラグ生成回路、３０３　自動書き込みシーケンサ、３０４　タイマー回路、３０５　サスペンド制御回路、３０６　サスペンド要求処理回路、３０７　サスペンド位置設定レジスタ、ＣＳ０〜ＣＳ１５，ＳＧ０〜ＳＧ３　制御信号、Ｔｒ０−０〜Ｔｒ６３−０，Ｔｒ０−１〜Ｔｒ６３−１，Ｔｒ０−２〜Ｔｒ６３−２，Ｔｒ０−３〜Ｔｒ６３−３　メモリセル。
【図１】
2004030438.tif 000003
【図２】
2004030438.tif 000004
【図３】
2004030438.tif 000005
【図４】
2004030438.tif 000006
【図５】
2004030438.tif 000007
【図６】
2004030438.tif 000008
【図７】
2004030438.tif 000009
【図８】
2004030438.tif 000010
【図９】
2004030438.tif 000011
【図１０】
2004030438.tif 000012
【図１１】
2004030438.tif 000013
【図１２】
2004030438.tif 000014
【図１３】
2004030438.tif 000015
【図１４】
2004030438.tif 000016
【図１５】
2004030438.tif 000017
【図１６】
2004030438.tif 000018
【図１７】
2004030438.tif 000019
【図１８】
2004030438.tif 000020