(57)【特許請求の範囲】
【請求項１】
データの電気消去及びデータの書き込み読み出しが可能な特性を有する不揮発性メモリの消去及び書き込み読み出しを制御する制御回路において、
前記制御回路は、不揮発性メモリの消去及び書き込みなどの制御信号を格納するレジスタ回路と、システムリセット信号に応じて前記レジスタ回路の各種制御信号を格納するレジスタを順次初期化するリセット制御手段とを有することを特徴とする不揮発性メモリの制御回路。
【請求項２】
前記リセット制御手段は、前記システムリセット信号をシステムクロックに応じて順次遅延した第１及び第２のリセット信号を前記レジスタ回路へ出力し、前記第１のリセット信号に応じて前記レジスタ回路の消去及び書き込み制御信号を格納するそれぞれのレジスタが初期化され、前記第２のリセット信号に応じて前記不揮発性メモリの消去及び書き込み動作の実行を制御する動作制御信号を格納する前記レジスタのレジスタが初期化されることを特徴とする請求項１記載の不揮発性メモリの制御回路。
【請求項３】
前記リセット制御手段はシフトレジスタで構成されることを特徴とする請求項１又は請求項２記載の不揮発性メモリの制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データを一括又は部分的（セクター単位等）に電気的消去でき且つデータを繰り返し書き込み及び読み出しできる不揮発性メモリ（フラッシュメモリ等）を内蔵したマイクロコンピュータに関し、特に、システムリセット信号発生に伴う不揮発性メモリの誤消去及び誤書き込みを防止する不揮発性メモリの制御回路に関する。
【０００２】
【従来の技術】
１チップマイクロコンピュータは各種の論理演算動作を実行するためのプログラムメモリを内蔵する。最近では、このプログラムメモリとして、マスクＲＯＭの代わりにデータの電気的消去及び書き込み可能なフラッシュメモリを内蔵する傾向が高い。これは、プログラム内容を変更する際、マスクＲＯＭの場合は、マスクＲＯＭ自体の設計変更を必要とするために多額の開発費と長い納期を強いられるが、これに対し、フラッシュメモリの場合は書き換え命令を実行して外部から書き換えデータを供給することで容易に対応でき、プログラム開発及びデバッグ作業の効率化が図れ、開発期間の短縮化と汎用性の向上を実現できる利点に起因する。
【０００３】
１チップマイクロコンピュータは、例えば、フラッシュメモリの内容を書き換えるための命令が格納された書き換えメモリを別途内蔵するか、または、フラッシュメモリ内蔵の場合フラッシュメモリの特定の領域に書き換え命令プログラムを格納するように構成されている。フラッシュメモリのデータ書き換えは、フラッシュメモリの書き換え命令が実行されると、書き換えデータが１チップマイクロコンピュータ内部に取り込まれ、書き換えるべき記憶領域のデータを消去したのち、書き換えデータを書き込むことにより実行される。
【０００４】
フラッシュメモリは、そのメモリの内容を消去及び書き込み読み出しを制御する各種制御信号入力を有する。また、フラッシュメモリにおいて、一般には、セクターアドレス単位でデータの消去を行うセクターイレーズ機能と、全記憶領域のデータ消去を行うチップイレーズ機能と、データの書き込みを行うプログラム機能とを有し、また、その各々のアクセスに要する時間はメモリの容量やセクターのサイズ等によって異なる。
【０００５】
フラッシュメモリを内蔵する１チップマイクロコンピュータにおいて、メモリの容量やセクターサイズや書き込み等に要する時間などの特性の異なるフラッシュメモリ内蔵に対応するため、夫々の制御信号を格納するレジスタ回路を設け、夫々の制御信号の設定及び解除タイミング、消去及び書き込み時間の制御をプログラムで実行することにより、汎用性を実現している。
【０００６】
図４は、従来の不揮発性メモリと、その不揮発性メモリの制御回路を示す図である。図４において、１はフラシュメモリであって、ロウアドレス入力ＸＡＤＲ［１１：０］、カラムアドレス入力ＹＡＤＲ［７：０］、データ入力ＤＩ［３１：０］、データ出力ＤＯ［３１：０］、チップイネーブル信号入力ＣＥＸ、アウトプットイネーブル信号入力ＯＥＸ、セクターイレーズ信号入力ＳＥＲＳ、チップイレーズ信号入力ＣＥＲＳ、プログラム信号入力ＰＲＯＧ、及び、ライトプロテクト信号入力ＷＰＸとを有している。１１はアドレス保持回路であって、メモリ１の消去及び書き込みの際に、チップイネーブル信号ＣＥＸの立下りに応じてアドレスデータが保持される。２はＣＰＵであって、各種論理演算等が実行されると共に、周辺回路等へ夫々の制御信号が出力される。３はレジスタ回路であって、ＣＰＵ２からバスを介してフラッシュメモリ１の制御信号ＣＥＸ、ＯＥＸ、ＳＥＲＳ、ＣＥＲＳ、ＰＲＯＧ及びＷＰＸが格納される。
【０００７】
また、フラッシュメモリ１のデータの消去及び書き込みのアクセスのタイミングは、図５に示すように所定のシーケンスに基づいてアクセスを実行する必要がある。
【０００８】
次に、フラッシュメモリ１の内容の消去及び書き込み動作を図５を用いて詳しく説明する。図５（Ａ）は、フラッシュメモリ１の全記憶領域のデータを消去するチップイレーズ動作の制御タイミングである。
【０００９】
第１のステップとして、ＣＰＵ２からバスを介してレジスタ回路３へプロテクト信号ＷＰＸ及びアウトプットイネーブル信号ＯＥＸがＨレベルに設定される。すると、フラシュメモリ１では、プロテクト信号ＷＰＸのＨレベルに応じて、データの書き込み及び消去動作の禁止が解除される。また、フラシュメモリ１では、アウトプットイネーブル信号ＯＥＸがＨレベルに応じて、データ出力ＤＯ［３１：０］が高インピーダンスとなる。
【００１０】
次に、第２のステップとして、ＣＰＵ２からバスを介してレジスタ回路３へチップイレーズ信号ＣＥＲＳがＨレベルに設定される。そして、フラッシュメモリの特性に依って決まる所定の時間（一般的には、数十ｎｓｅｃ）後、ＣＰＵ３からバスを介してレジスタ回路３へチップイネーブル信号ＣＥＸがＬレベルに設定されると、フラシュメモリ１では全記憶領域のデータ消去が開始される。そして、フラッシュメモリ１が全記憶領域のデータ消去に必要な期間、ライトプロテクト信号ＷＰＸ及びチップイレーズ信号ＣＥＲＳがＨレベル、チップイネーブル信号ＣＥＸがＬレベルに保持されることにより、全記憶領域のデータ消去が完了する。
【００１１】
次に、第３のステップとして、ＣＰＵ２からバスを介してレジスタ回路４へチップイネーブル信号ＣＥＸがＨレベルに戻され、フラッシュメモリの特性に依って決まる所定の時間後、ＣＰＵ２からバスを介してレジスタ回路３へチップイレーズ信号ＣＥＲＳとプロテクト信号ＷＰＸとがＬレベルに戻されることにより、フラッシュメモリ１ではチップイレーズモードが解除される。これで、フラッシュメモリ１の全記憶領域のデータを消去するチップイレーズ動作が終了される。
【００１２】
なお、プロテクト信号ＷＰＸとチップイレーズＣＥＲＳとの設定順は、特に制限されるものでなく、信号ＷＰＸ及びＣＥＲＳがＨレベルに設定され、チップイネーブル信号ＣＥＸがＬレベルに設定されるまでの時間がラッシュメモリの特性に依って決まる所定の時間確保されていればよい。
【００１３】
次に、図５（Ｂ）は、フラッシュメモリ１のロウアドレスＸＡＤＲ［１１：３］に対応したセクター領域のデータを消去するセクターイレーズ動作の制御タイミングである。
【００１４】
まず、第１のステップとして、フラッシュメモリ１のデータを消去するセクター領域を示すロウアドレスＸＡＤＲ［１１：３］の値がＣＰＵ２からアドレスバスを介してフラッシュメモリ１へ入力される。さらに、ＣＰＵ２からバスを介してレジスタ回路３へライトプロテクトＷＰＸ、アウトプットイネーブルＯＥＸ、及び、セクターイレーズ信号ＳＥＲＳがＨレベルに設定される。
【００１５】
次に、第２のステップとして、フラッシュメモリの特性に依って決まる所定の時間（一般的には、数十ｎｓｅｃ）後、ＣＰＵ２からバスを介してレジスタ回路３へチップイネーブル信号ＣＥＸがＬレベルに設定されると、フラシュメモリ１では１セクター分のデータ消去が開始される。尚、チップイネーブル信号ＣＥＸのＨレベルからＬレベルに遷移する立下りに基づいてアドレスデータがアドレス保持回路１１で保持される。
【００１６】
そして、フラッシュメモリ１が１セクター分のデータ消去に必要な期間、ライトプロテクト信号ＷＰＸ及びセクターイレーズ信号ＳＥＲＳがＨレベル、チップイネーブル信号ＣＥＸがＬレベルに保持されると、１セクター分のデータが消去完了する。
【００１７】
次に、第３のステップとして、１セクター分のデータ消去が完了した後、ＣＰＵ２からバスを介してレジスタ回路３へチップイネーブル信号ＣＥＸがＨレベルに戻され、フラッシュメモリの特性に依って決まる所定の時間後、ＣＰＵ２からバスを介してレジスタ回路３へセクターイレーズ信号ＳＥＲＳとプロテクト信号ＷＰＸとがＬレベルに戻されると、フラッシュメモリ１ではセクターイレーズモードが解除される。これで、セクター領域のデータを消去するセクターイレーズ動作が終了される。
【００１８】
図５（Ｃ）は、アドレスＸＡＤＲ［１１：０］及びＹＡＤＲ［７：０］に対応した領域にデータＤＩ［３１：０］を書き込むプログラム動作の制御タイミングである。
【００１９】
まず、第１のステップとして、フラッシュメモリ１のデータを書き込む領域を示すアドレスＸＡＤＲ［１１：０］及びＹＡＤＲ「７：０」の値がＣＰＵ２からアドレスバスを介してフラッシュメモリ１へ入力される。さらに、そのアドレスに書き込むデータの値がＣＰＵ２からデータバスを介してフラッシュメモリ１へ入力される。そして、ＣＰＵ２からバスを介してレジスタ回路３へライトプロテクトＷＰＸ、アウトプットイネーブルＯＥＸ、及び、プログラム信号ＰＲＯＧがＨレベルに設定される。
【００２０】
次に、第２のステップとして、フラッシュメモリの特性に依って決まる所定の時間（一般的には、数十ｎｓｅｃ）後、ＣＰＵ２からバスを介してレジスタ回路３へチップイネーブル信号ＣＥＸがＬレベルに設定されると、フラシュメモリ１ではデータ書き込みが開始される。尚、チップイネーブル信号ＣＥＸのＨレベルからＬレベルに遷移する立下りに基づいてアドレスデータがアドレス保持回路１１に保持される。
【００２１】
そして、フラッシュメモリ１がデータ書き込みに必要な期間、ライトプロテクト信号ＷＰＸ及びプログラム信号ＰＲＯＧがＨレベル、チップイネーブル信号ＣＥＸがＬレベルに保持されることにより、データの書き込みが完了する。
【００２２】
次に、第３のステップとして、データの書き込みが完了した後、ＣＰＵ２からバスを介してレジスタ回路３へチップイネーブル信号ＣＥＸがＨレベルに戻され、フラッシュメモリの特性に依って決まる所定の時間後、ＣＰＵ２からバスを介してレジスタ回路３へプログラム信号ＰＲＯＧとプロテクト信号ＷＰＸとがＬレベルに戻されると、フラッシュメモリ１ではプログラムモードが解除される。これにより、フラッシュメモリ１へデータを書き込むプログラム動作が終了される。
【００２３】
ところで、レジスタ回路３では、マイクロコンピュータ全体を初期化するシステムリセット信号ＲＳＴＸが入力されるリセット入力を有している。このシステムリセット信号ＲＳＴＸは、外部から入力され、システム動作に用いるクロックとは非同期である。
そして、例えば、チップイレーズ動作中に外部から非同期にシステムリセット信号ＲＳＴＸが入力されると、レジスタ回路３では、信号ＣＥＸ、ＣＥＲＳ、ＯＥＸ、ＷＰＸが格納されるレジスタが初期化され、チップイネーブル信号ＣＥＸがＨレベル、チップイレーズ信号ＣＥＲＳがＬレベル、アウトプットイネーブル信号ＯＥＸ及びライトプロテクト信号ＷＰＸがＨレベルとして出力される。これより、フラッシュメモリ１では、チップイレーズ動作が強制終了される。なお、信号ＯＥＸ、ＳＥＲＳ、ＣＥＲＳ、ＰＲＯＧ及びＷＰＸを格納するレジスタの出力段には、チップイネーブル信号ＣＥＸがＨレベルに初期化出力されてからフラッシュメモリの特性に依って決まる所定の時間（一般的には、数十ｎｓｅｃ）分遅延させる遅延手段が設けられている。よって、システムリセットＲＳＴＸが発生しても所定の終了シーケンスを実行できる。
【００２４】
【発明が解決しようとする課題】
フラッシュメモリのデータ消去及び書き込みは、その消去又は書き込み動作の開始及び終了時に、フラッシュメモリの特性に依存するタイミングで各種制御信号の設定及び解除を行う必要があり、どの様な場合においても、そのタイミングに基づいて所定のシーケンスを実行しなければならない。そして、フラッシュメモリへの消去及び書き込みの動作中にシステム全体に対するシステムリセット信号が発生した場合でも同様に所定のシーケンスを実行して終了させる必要がある。
【００２５】
しかし、マイコンに内蔵されるレジスタは、一般的に、システムリセット信号に応じてレジスタの値が初期化されるため、フラッシュメモリへの制御信号を格納するレジスタもシステムリセット信号の発生によって初期化されてしまう。そのため、フラッシュメモリの消去および書き込みのシーケンスを実行中にシステムリセット信号が発生すると、フラッシュメモリの消去及び書き込みが所定のシーケンスで終了されないため、フラッシュメモリのデータ消去及び書き込み回路が正常に終了されないという問題が発生する。これにより、フラッシュメモリの消去及び書き込み回路が全て非アクティブな状態とならず、システムリセット解除後に記憶領域のデータ読み出しが正常に行えないという問題が生じる。
【００２６】
また、上述のフラッシュメモリの消去及び書き込み回路には、記憶領域のデータを消去及び書き込みを行うメモリセルに高電圧を印可するための高電圧を発生する昇圧回路を内蔵している。さらに、昇圧回路の昇圧電位と制御信号とに応じて、消去および書き込み動作を実行又は終了させるためのタイミング調整回路もフラッシュメモリに内蔵されていた。このため、新たにフラッシュメモリを設計、例えば、メモリ容量の変更などを行う場合、そのタイミング調整回路のタイミングや特性も再設計が必要となり、設計期間短縮化の障害の一因となっていた。また、上述したメモリの動作を調整するタイミング調整回路やアドレス保持回路などを内蔵することによりフラッシュメモリ全体の面積が増大していた。このため、システムＬＳＩなどの大規模ＬＳＩにおいては、メモリ等の大きい固定されたサイズのセル（例えば、メガセルと呼ばれる）があると、ＬＳＩ全体の素子の集積度や配線密度が低くなり、チップ面積が増大するという問題となる。
【００２７】
このため、本発明の課題は、フラッシュメモリに内蔵する各種タイミング調整回路等を削減し、フラッシュメモリの各種制御信号の設定タイミング等をマイクロコンピュータのプログラムを用いてＣＰＵで行い、さらに、フラッシュメモリの記憶領域のデータ消去又は書き込み中にシステムリセット信号が発生しても、その消去及び書き込み動作を確実に終了させることができるフラシュメモリ（不揮発性メモリ）の制御回路を提供することを目的とする。
【００２８】
【課題を解決するための手段】
本発明は、上述した点に鑑みて、創作されたものであり、その特徴とするところは、データの電気消去及びデータの書き込み読み出しが可能な特性を有する不揮発性メモリの消去及び書き込み読み出しを制御する制御回路において、前記制御回路は、不揮発性メモリの消去及び書き込みなどの制御信号を格納するレジスタ回路と、システムリセット信号に応じて前記レジスタ回路の各種制御信号を格納するレジスタを順次初期化するリセット制御手段とを有することを特徴とする。
【００２９】
また、前記リセット制御手段は、前記システムリセット信号をシステムクロックに応じて順次遅延した第１及び第２のリセット信号を前記レジスタ回路へ出力し、前記第１のリセット信号に応じて前記レジスタ回路の消去及び書き込み制御信号を格納するそれぞれのレジスタが初期化され、前記第２のリセット信号に応じて前記不揮発性メモリの消去及び書き込み動作の実行を制御する動作制御信号を格納する前記レジスタのレジスタが初期化されることを特徴とする。
【００３０】
さらに、前記リセット制御手段はシフトレジスタで構成されることを特徴とする。
【００３１】
本発明によれば、フラッシュメモリの制御回路に、メモリの各種制御信号を格納するレジスタ回路を設け、そのそれぞれの制御信号の設定及び解除タイミングをマイクロコンピュータのプログラムを用いて行い、さらに、レジスタ回路の初期化を制御するリセット制御回路を設け、メモリのデータ消去及び書き込み中にシステムリセット信号が発生しても、所定の終了シーケンスでメモリのデータ消去及び書き込み動作を終了させることができる。また、制御回路には、メモリのデータ消去及び書き込み領域のアドレスを格納するアドレス保持回路も備え、システムリセット信号が発生した場合、メモリのデータ消去及び書き込み動作を終了させたときに初期化するようにしたので、フラッシュメモリのデータ消去又は書き込み中にシステムリセット信号が発生しても、所定の終了シーケンスを実行してアドレス保持回路が初期化されるので、消去又は書き込み中にシステムリセット発生による誤消去又は誤書き込みを確実に防止できる。
【００３２】
本発明によれば、不揮発性メモリの各種制御信号の設定タイミングをマイコンのプログラムによって調整し、さらに、そのメモリの制御回路にアドレス保持回路を設けたので、フラッシュメモリ（不揮発性メモリ）であるメガセルが占める面積を縮小することができる。
【００３３】
【発明の実施の形態】
本発明の詳細を図面に従って具体的に説明する。図１は本発明の不揮発性メモリの制御回路の一例を示すブロック図である。
図１において、１はフラッシュメモリであって、マイクロコンピュータのプログラム等のデータを格納するメモリセル群と、そのメモリセル群の特定の領域を選択するアドレスデコーダと、メモリセルに記憶されるデータの消去及び書き込みを実行する消去及び書き込み回路とを有している。また、消去及び書き込み回路には、データの消去及び書き込みを実行するメモリセルに高電圧、例えば、１０Ｖ程度を印加するための昇圧回路が設けられている。また、フラッシュメモリ１には、ロウ（行）アドレス信号ＸＡＤＲ［１１：０］、カラム（列）アドレス信号ＹＡＤＲ［７：０］、Ｘアドレスイネーブル信号ＸＥ、Ｙアドレスイネーブル信号ＹＥ、イレーズ信号ＥＲＡＳＥ、チップイレーズ信号ＭＡＳ、書き込み信号ＰＲＯＧ、消去及び書き込み動作制御信号ＮＶＳＴＲ、アウトプットイネーブル信号ＯＥ及びデータ信号ＤＩＮの入力とデータ信号ＤＯＵＴの出力とを有している。
【００３４】
２はＣＰＵであって、各種論理演算等を実行すると共に、周辺回路等へそれぞれの制御信号等を出力する。
【００３５】
３はフラシュメモリ１の制御回路であって、信号ＸＥ、ＹＥ、ＥＲＡＳＥ、ＰＲＯＧ、ＮＶＳＴＲ及びＯＥの値を格納するレジスタ回路３１と、シフトレジスタで構成されるリセット制御回路３２と、フラッシュメモリ１の消去及び書き込み時のアドレスの値を保持するアドレス保持回路２３とから成る。リセット制御回路３２は、例えば、１１段のシフトレジスタで構成され、システムクロックＣＬＫに応じてシステムリセット信号ＲＥＳを順次シフトすることにより遅延させたリセット信号ＲＥＳ１及びＲＥＳ２が出力される。リセット信号ＲＥＳ１は、リセット制御回路３２を構成するシフトレジスタの２段目ＤＦＦ２の出力であって、レジスタ回路３１の信号ＥＲＡＳＥ及びＰＲＯＧが格納されるそれぞれのレジスタが信号ＲＥＳ１に応じて初期化される。
また、リセット信号ＲＥＳ２は、リセット制御回路３２の最終段ＤＦＦ１１の出力信号であって、レジスタ回路３１の信号ＸＥ及びＮＶＳＴＲが格納されるそれぞれのレジスタが信号ＲＥＳ２に応じて初期化される。
また、アドレス保持回路３３は、リセット信号ＲＥＳ２に応じて初期化される。なお、レジスタ回路３１の信号ＹＥを格納するレジスタは、リセット信号ＲＥＳに応じて初期化される。
【００３６】
システムクロック信号ＣＬＫには、高い発振周波数、例えば、十数ＭＨｚのセラミック発振クロックと、低い発振周波数、例えば、１ＭＨｚのＣＲ発振クロックとの２種類のクロックがある。そして、この２種類のクロック信号の選択データを格納する選択レジスタが設けられていて、この選択レジスタはシステムリセット信号ＲＥＳに応じて初期化され、ＣＲ発振クロックがシステムクロック信号ＣＬＫとして選択使用される。
【００３７】
次に、図１の不揮発性メモリの制御回路の動作を図２を用いて、具体的に説明する。図２（Ａ）は、セクター単位の領域のデータを消去するセクターイレーズ動作のタイミング図である。
第１の処理ステップとして、アドレス保持回路３３では、データの消去を行うセクター領域を指定するＸアドレス信号ＸＡＤＲ［１１：０］の値がＣＰＵ２からバスを介して設定される。
【００３８】
次に、第２のステップとして、レジスタ回路３１では、ＣＰＵ２からバスを介してレジスタ回路３１の信号ＸＥ対応するレジスタにＸＡＤＲ［１１：０］の値を有効とする信号ＸＥの値がＨレベルに設定されると共に、レジスタ回路３１の信号ＥＲＡＳＥに対応するレジスタにデータの消去モードに設定する信号ＥＲＡＳＥの値がＨレベルに設定される。
すると、フラッシュメモリ１では、信号ＥＲＡＳＥの値のＨレベルに応じて、消去及び書き込み用の高電圧を発生する昇圧回路（図示せず）が昇圧動作を開始する。
【００３９】
次に、第３のステップとして、昇圧電圧がメモリのデータ消去を行える電圧まで昇圧されるまでの所定の時間、例えば、５μＳ経過すると、レジスタ回路３１では、信号ＮＶＳＴＲに対応するレジスタに消去及び書き込み動作の実行を指示する値のＨレベルが設定される。これより、フラッシュメモリ１では、ＸアドレスＸＡＤＲ［１１：０］の値で指定されたセクターのデータ消去が開始される。
【００４０】
そして、第４のステップとして、フラッシュメモリ１のセクター単位のデータ消去に要する時間、例えば、１０ｍＳ経過すると、レジスタ回路３１では、イレーズ信号ＥＲＡＳＥの値が消去動作モードを解除するＬレベルに設定される。すると、フラッシュメモリ１では、消去及び書き込み用の高電圧を発生する昇圧回路が昇圧動作を停止する。
【００４１】
次に、第５のステップとして、フラッシュメモリ１の昇圧回路の昇圧電圧がメモリのデータ消去を行えない電圧まで降下するまでの所定の時間、例えば、５μＳ経過すると、レジスタ回路３１では、信号ＮＶＳＴＲに対応するレジスタに消去及び書き込み動作の実行を禁止する値のＬレベルが設定される。これにより、セクターイレーズ動作を終える。
【００４２】
一方、上述の第４ステップにおいて、ＸアドレスＸＡＤＲ［１１：０］の値で指定されたセクター領域のデータ消去が完了する前に、システムリセット信号ＲＥＳが発生すると、即ち、フラッシュメモリのセクターイレーズに必要な時間が経過する前にシステムリセット信号ＲＥＳが図３に示すように発生すると、ＣＰＵ２及びその周辺回路等は初期化される。また、システムクロックＣＬＫに用いるクロックをセラミック発振とＣＲ発振とを選択する選択データが設定されるレジスタ（図示せず）も初期化され、ＣＲ発振の１ＭＨｚクロックがシステムクロック信号ＣＬＫとして選択される。
【００４３】
次に、リセット制御回路３２では、システムクロック信号ＣＬＫの２サイクル分遅延されたシステムリセット信号ＲＥＳがリセット信号ＲＥＳ１として出力される。すると、レジスタ回路３１のイレーズ信号ＥＲＡＳＥを格納するレジスタでは、リセット信号ＲＥＳ１によって初期化され、イレーズ信号ＥＲＡＳＥがＬレベルとして出力される。これより、フラッシュメモリ１では、データの消去動作モードが強制終了されると共に、消去及び書き込み用の高電圧を発生する昇圧回路が昇圧動作を停止する。
【００４４】
次に、リセット制御回路３２では、システムクロック信号ＣＬＫの１２サイクル分遅延されたシステムリセット信号ＲＥＳがリセット信号ＲＥＳ２として出力される。そして、レジスタ回路３１の信号ＸＥ、信号ＮＶＳＴＲを格納するそれぞれのレジスタでは、リセット信号ＲＥＳ２に応じて初期化される。また、アドレス保持回路３３では、リセット信号ＲＥＳ２に応じて初期化される。なお、リセット信号ＲＥＳ２は、リセット信号ＲＥＳ１から１ＭＨｚのシステムクロック信号ＣＬＫの１０サイクル分遅延されたリセット信号である。システムクロック信号ＣＬＫの１０サイクル分の遅延時間は、１０μＳである。この遅延時間の１０μＳは、信号ＥＲＡＳＥの初期化に応じてフラッシュメモリ１の昇圧動作が停止したのち、昇圧電圧がデータの消去及び書き込み動作を行える電圧値より下がり、フラッシュメモリ１内部の消去及び書き込み制御回路（図示せず）が完全に動作を終了するまでに必要とする時間である。
【００４５】
これより、フラッシュメモリ１では、所定の手順でデータの消去動作が終了されると共に、レジスタ回路４及びアドレス保持回路３３の初期化も実行されているので、リセット解除後のフラッシュメモリ１からのデータ読み出し動作を確実に実行することができる。
【００４６】
なお、実施例の説明では、フラシュメモリ１の１セクター分のデータ消去を行うセクターイレーズ動作の場合を説明したが、チップイレーズ動作の場合は、図２（Ｂ）に示すように信号ＥＲＡＳＥがＨレベルに設定される時に、信号ＭＡＳ１もＨレベルに設定されることによりチップイレーズ動作となる。そして、システムリセット信号ＲＥＳ発生時には、リセット信号ＲＥＳ２に応じてレジスタ回路３１の信号ＭＡＳ１が格納されるレジスタが初期化される。
また、プログラム動作の場合は、図２（Ｃ）に示すように信号ＰＲＯＧがＨレベルに設定されることにより書き込み動作となる。そして、システムリセット信号ＲＥＳが発生すると、外部からのシステムリセット信号ＲＥＳに応じて、直ちに、レジスタ回路３１の信号ＹＥが格納されるレジスタが初期化される。すると、フラッシュメモリ１のデータ書き込みであるプログラム動作の場合、フラシュメモリ１のアドレスデコーダでは、ＹアドレスＹＡＤＲ［５：０］入力のアドレス値が無効とされ、書き込み先のアドレスが何れのメモリセルのアドレスも選択せず、書き込み動作が強制終了される。そして、レジスタ回路３１の信号ＥＲＡＳＥ及びＰＲＯＧの値が格納されるレジスタでは、リセット信号ＲＥＳ１に応じて初期化され、また、レジスタ回路３１の信号ＮＶＳＴＲ及びＸＥが格納されるそれぞれのレジスタでは、リセット信号ＲＥＳ２に応じて初期化される。これにより、フラッシュメモリ１では、消去及び書き込み動作が終了される。
【００４７】
なお、リセット信号ＲＥＳ２は、リセット信号ＲＥＳ１からシステムクロックＣＬＫの１０サイクル分である１０μＳ遅延されたリセット信号であって、この遅延時間の１０μＳは、フラッシュメモリ１の消去及び書き込み回路の昇圧回路が昇圧動作を停止したのち、昇圧電圧の電位がメモリセルのデータ消去及び書き込みができなくなる電位まで下がるのに必要な時間である。そして、この昇圧電圧が十分に下がることによりフラッシュメモリ１の消去及び書き込み回路では、動作を完全に停止される。
【００４８】
以上で、フラッシュメモリ１では、消去及び書き込み動作が所定のタイミングで終了される。
【００４９】
このように、フラッシュメモリのデータ書き込み時に、システムリセット信号ＲＥＳが発生した場合、その書き込みであるプログラム動作のシーケンスを制御する制御信号が所定の手順で初期化されることにより、プログラムの所定の終了シーケンスで終了されると共に、アドレス保持回路３３の初期化が成されるので、誤ったアドレスに対しての誤書き込みが防止される。
【００５０】
以上より、フラッシュメモリの消去及び書き込みシーケンスの実行中においてシステムリセット信号ＲＥＳが発生した場合、リセット制御回路３３がシステムリセット信号ＲＥＳをシステムクロック信号ＣＬＫに応じて遅延したリセット信号ＲＥＳ１及びＲＥＳ２によって、レジスタ回路３１のそれぞれの制御信号を格納するレジスタを順次初期化するようにしたので、フラッシュメモリの消去及び書き込みの終了シーケンスを確実に実行することができる。
【００５１】
【発明の効果】
上述の如く、本発明によれば、フラッシュメモリ１の制御回路３にメモリの各種制御信号を格納するレジスタ回路３１と、そのレジスタ回路３１の初期化動作を制御するリセット制御回路３２とを設け、フラッシュメモリ１のデータの消去及び書き込み動作中にシステムリセット信号ＲＥＳが発生したとき、リセット制御回路３２でシステムリセット信号を遅延したリセット信号ＲＥＳ１及びＲＥＳ２を用いて、レジスタ回路３１の各種制御信号を格納するそれぞれのレジスタを順次初期化するようにしたので、フラッシュメモリのデータ消去及び書き込み動作中にシステムリセット信号ＲＥＳが発生しても、フラッシュメモリの特性に依存する所定のタイミングで確実、且つ、安定にフラッシュメモリのデータ消去及び書き込み動作状態を終了させることが可能となる効果を奏する。
【００５２】
また、フラッシュメモリ１のデータ消去及び書き込み動作を所定の終了シーケンスで終了し、アドレス保持回路３３を初期化しているので、メモリのデータ消去及び書き込み動作中にシステムリセット信号ＲＥＳが発生しても、メモリの誤消去又は誤書き込みを確実に防止できるという有利な効果を得る。
【００５３】
また、フラッシュメモリの消去及び書き込み中にシステムリセット信号が発生したとき、フラッシュメモリの特性に依存する所定の終了シーケンスで消去及び書き込み動作を確実に終了するようにしたので、フラッシュメモリの消去及び書き込み回路の動作状態が不安定とならず、システムリセット解除後に確実にフラッシュＲＯＭからデータの読み出しを実行できるという有利な効果が得られる。
【００５４】
本発明によれば、フラッシュメモリ（不揮発性メモリ）の各種制御信号の設定タイミングをマイコンのプログラムによって調整し、さらに、そのメモリの制御回路３にアドレス保持回路３３を設けたので、フラッシュメモリ（不揮発性メモリ）であるメガセルが占める面積を縮小することができ、システムＬＳＩ全体の素子配置及び配線に自由度が増し、システムＬＳＩの集積度を向上させることができるという有利な効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態を示す不揮発性メモリの制御回路の一例を示すブロック図である。
【図２】図１の不揮発性メモリの消去及び書き込みタイミングを説明する図である。
【図３】図１の不揮発性メモリのデータ消去動作中にシステムリセット信号が発生した場合の制御回路のタイミングを説明する図である。
【図４】従来の不揮発性メモリの制御回路の構成を示す図である。
【図５】図４の不揮発性メモリの消去及び書き込みタイミングを説明する図である。
【符号の説明】
１  フラッシュメモリ
２  ＣＰＵ
３  メモリ制御回路
３１  レジスタ回路
３２  リセット制御回路
３３  アドレス保持回路
【図１】
0004043270.tif 000002
【図２】
0004043270.tif 000003
【図３】
0004043270.tif 000004
【図４】
0004043270.tif 000005
【図５】
0004043270.tif 000006