(57)【要約】【課題】電源遮断時に不揮発性メモリへの誤書込の可能性を低減する。【解決手段】不揮発性メモリ４は、外部から第１および第２の書換可能信号ＦＨＶＥＤ，ＦＧＶＥＩを受ける。第１の書換可能信号ＦＨＶＥＤは、ラッチ回路３０Ｄを介してデータ領域１０Ｄに設けられた第１の電圧供給制御部２０Ｄに与えられる。第１の電圧供給制御部２０Ｄは、第１の書換可能信号ＦＨＶＥＤが活性化状態の場合に、内部電源回路（昇圧回路）１１で生成された高電圧をデータ領域１０Ｄのメモリアレイ４０Ｄに供給する。第２の書換可能信号ＦＧＶＥＩは、ラッチ回路３０Ｉを介して第２の電圧供給制御部２０Ｉに与えられる。第２の電圧供給制御部２０Ｉは、第２の書換可能信号ＦＨＶＥＩが活性化状態の場合に、内部電源回路（昇圧回路）１１で生成された高電圧をコード領域１０Ｉのメモリアレイ４０Ｉに供給する。【選択図】図２
2010272156.tif 000002
【特許請求の範囲】
【請求項１】
電気的に書換可能な不揮発性のメモリセルが複数配列された第１および第２のメモリアレイと、
各前記メモリセルのデータ書換に必要な書換電圧を生成する第１の電源回路と、
前記第１および第２のメモリアレイのデータ書換を指令する書換指令部と、
第１の書換可能信号が活性化状態の場合に、前記書換指令部の指令に従って前記第１の電源回路から前記第１のメモリアレイに前記書換電圧を供給する第１の電圧供給制御部と、
第２の書換可能信号が活性化状態の場合に、前記書換指令部の指令に従って前記第１の電源回路から前記第２のメモリアレイに前記書換電圧を供給する第２の電圧供給制御部とを備える、半導体装置。
【請求項２】
前記半導体装置は、外部から受けた外部電源電圧から内部電源電圧を生成する第２の電源回路をさらに備え、
前記第１および第２の書換可能信号は、前記外部電源電圧で動作する外部の回路から前記半導体装置に出力された信号であり、
前記第１および第２の電圧供給制御部は、前記内部電源電圧によって動作する、請求項１に記載の半導体装置。
【請求項３】
前記半導体装置は、
外部から受けた外部電源電圧から内部電源電圧を生成する第２の電源回路と、
前記外部電源電圧によって動作し、外部からの指令に基づいて前記第１および第２の書換可能信号を生成する信号生成回路とをさらに備え、
前記第１および第２の電圧供給制御部は、前記内部電源電圧によって動作する、請求項１に記載の半導体装置。
【請求項４】
前記第１の電源回路は、前記第１および第２の書換可能信号の少なくも一方が活性化状態の場合に前記書換電圧を生成可能になり、
前記第１の電源回路は、前記第１および第２の書換可能信号の両方が非活性化状態の場合に前記書換電圧の生成を停止する、請求項２または３に記載の半導体装置。
【請求項５】
前記半導体装置は、
前記第１の書換可能信号を受け、前記第１のメモリアレイがデータ書換中でない場合には前記第１の書換可能信号の論理状態と同じ論理状態の信号を出力し、前記第１のメモリアレイがデータ書換中の場合には前記第１のメモリアレイがデータ書換を開始した時点の前記第１の書換可能信号の論理状態をデータ書換の終了まで保持し、かつ、保持した論理状態の信号を出力する第１のラッチ回路と、
前記第２の書換可能信号を受け、前記第２のメモリアレイがデータ書換中でない場合には前記第２の書換可能信号の論理状態と同じ論理状態の信号を出力し、前記第２のメモリアレイがデータ書換中の場合には前記第２のメモリアレイがデータ書換を開始した時点の前記第２の書換可能信号の論理状態をデータ書換の終了まで保持し、かつ、保持した論理状態の信号を出力する第２のラッチ回路とをさらに備え、
前記第１の電圧供給制御部は、前記第１のラッチ回路の出力が活性化状態の場合に前記書換指令部の指令に従って前記第１の電源回路から前記第１のメモリアレイに前記書換電圧を供給し、前記第１のラッチ回路の出力が非活性化状態の場合に前記書換指令部の指令を受けても前記第１の電源回路から前記第１のメモリアレイに前記書換電圧を供給せず、
前記第２の電圧供給制御部は、前記第２のラッチ回路の出力が活性化状態の場合に前記書換指令部の指令に従って前記第１の電源回路から前記第２のメモリアレイに前記書換電圧を供給し、前記第２のラッチ回路の出力が非活性化状態の場合に前記書換指令部の指令を受けても前記第１の電源回路から前記第２のメモリアレイに前記書換電圧を供給しない、請求項２〜４のいずれか１項に記載の半導体装置。
【請求項６】
前記第１および第２のラッチ回路は、前記外部電源電圧によって動作する、請求項５に記載の半導体装置。
【請求項７】
前記半導体装置は、前記第１および第２の書換可能信号の少なくとも一方が活性化状態であり、かつ、第３の書換可能信号が活性化状態の場合に、前記第１および第２のメモリアレイのテストに必要なテスト電圧を生成するように前記第１の電源回路に指令するテスト制御部をさらに備え、
前記第１の電源回路は、前記テスト制御部の指令に従って前記テスト電圧をさらに生成する、請求項５または６に記載の半導体装置。
【請求項８】
前記半導体装置は、第３の書換可能信号が活性化状態の場合に、前記第１および第２のメモリアレイのテストに必要なテスト電圧を生成するように前記第１の電源回路に指令するテスト制御部をさらに備え、
前記第１の電源回路は、前記テスト制御部の指令に従って前記テスト電圧をさらに生成する、請求項５または６に記載の半導体装置。
【請求項９】
前記テスト制御部は、前記第３の書換可能信号が非活性化状態の場合に、前記テスト電圧を生成するように前記第１の電源回路に指令しない、請求項７または８に記載の半導体装置。
【請求項１０】
電気的に書換可能な不揮発性のメモリセルが複数配列されたメモリアレイと、
各前記メモリセルのデータ書換に必要な書換電圧を生成する第１の電源回路と、
書換可能信号を受け、前記メモリアレイがデータ書換中でない場合には前記書換可能信号の論理状態と同じ論理状態の信号を出力し、前記メモリアレイがデータ書換中の場合には前記メモリアレイがデータ書換を開始した時点の前記書換可能信号の論理状態をデータ書換の終了まで保持し、かつ、保持した論理状態の信号を出力するラッチ回路と、
前記メモリアレイのデータ書換を指令する書換指令部と、
前記ラッチ回路の出力が活性化状態の場合に前記書換指令部の指令に従って前記第１の電源回路から前記メモリアレイに前記書換電圧を供給し、前記ラッチ回路の出力が非活性化状態の場合に前記書換指令部の指令を受けても前記第１の電源回路から前記メモリアレイに前記書換電圧を供給しない電圧供給制御部とを備える、半導体装置。
【請求項１１】
電気的に書換可能な不揮発性のメモリセルが複数配列されたメモリアレイと、
各前記メモリセルのデータ書換に必要な書換電圧を生成する第１の電源回路と、
前記メモリアレイのデータ書換を指令する書換指令部と、
第１および第２の書換可能信号が両方とも活性化状態の場合に、前記書換指令部の指令に従って前記第１の電源回路から前記メモリアレイに前記書換電圧を供給する電圧供給制御部とを備える、半導体装置。
【請求項１２】
前記半導体装置は、前記第１および第２の書換可能信号を外部から受け、
前記第１および第２の書換可能信号は、互いに異なる電源で動作する外部の回路から出力された信号である、請求項１１に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電気的に書換え可能な不揮発性メモリを備えた半導体装置に関し、特に不揮発性メモリの誤った書換えを防止する構成を備えた半導体装置に関する。
【背景技術】
【０００２】
ＥＥＰＲＯＭ（Electronically  Erasable  and  Programmable  Read  Only  Memory）やフラッシュメモリなどの不揮発性の半導体メモリでは、メモリセルのデータ書換時にはデータ読出時よりも高い電圧がメモリセルに印加される。このため、データ書換の途中で電源遮断や瞬時停電が生じると、メモリセルに記憶されていたデータが破壊される可能性がある。
【０００３】
特開平５−３４２１１５号公報（特許文献１）は、特別な補助電源を設けることなしに電源遮断時に生じる得るデータ破壊を防止するための技術を開示する。具体的に、この文献に記載の半導体装置には、主電源からの供給電圧を充電するコンデンサと、コンデンサからの逆流を阻止するダイオードとが設けられる。主電源において電源遮断が発生した場合、コンデンサの放電を安定化電源を介して、ＣＰＵ（Central  Processing  Unit）やメモリを含む後続回路に供給する。これにより、ＣＰＵによってメモリにデータを保存する時間を確保する。
【０００４】
また、特開平４−１３７０８０号公報（特許文献２）は、論理電源（５Ｖ電源）とプログラム電源（１２Ｖ電源）とによって駆動されるＩＣ（Integrated  Circuits）メモリカードにおいて、プログラム電源のみが印加されたために生じるデータの破壊を防止する技術を開示する。具体的に、この文献に記載のＩＣメモリカードは、論理電源の電圧を検出する検出手段と、この検出手段の出力に基づき、プログラム電源をオンおよびオフに制御するスイッチング手段とを備える。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−３４２１１５号公報
【特許文献２】特開平４−１３７０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特開平５−３４２１１５号公報（特許文献１）に記載の技術のように、電源電圧の低下を防止するためにコンデンサを負荷した場合には、回路面積が増加してしまうという問題がある。また、特開平４−１３７０８０号公報（特許文献２）のように、データの破壊を防止するために新たな回路を追加すると、回路構成が複雑になるとともに回路面積が増大してしまう。
【０００７】
この発明の目的は、簡単な手段によって、電源遮断時や瞬時停電時に不揮発性メモリへの誤書込の可能性を低減することができる半導体装置を提供することである。
【課題を解決するための手段】
【０００８】
この発明の実施の一形態の半導体装置は、第１および第２のメモリアレイと、第１の電源回路と、書換指令部と、第１および第２の電圧供給制御部とを備える。第１および第２のメモリアレイは、電気的に書換可能な不揮発性のメモリセルが複数配列される。第１の電源回路は、各メモリセルのデータ書換に必要な書換電圧を生成する。書換指令部は、第１および第２のメモリアレイのデータ書換を指令する。第１の電圧供給制御部は、第１の書換可能信号が活性化状態の場合に、書換指令部の指令に従って第１の電源回路から第１のメモリアレイに書換電圧を供給する。第２の電圧供給制御部は、第２の書換可能信号が活性化状態の場合に、書換指令部の指令に従って第１の電源回路から第２のメモリアレイに書換電圧を供給する。
【発明の効果】
【０００９】
この実施の形態によれば、第１のメモリアレイのデータ書換を行なうときは、第１の書換可能信号のみを活性化し、第２のメモリアレイのデータ書換を行なうときは、第２の書換可能信号のみを活性化するようにできる。したがって、データ書換を行なわないメモリアレイに対しては書換可能信号によって書換電圧の供給が禁止されるので、データの誤書込の可能性を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１に従うマイクロコンピュータ１の構成を示すブロック図である。
【図２】図１の不揮発性メモリ４の詳細な構成を示すブロック図である。
【図３】図２のラッチ回路３０の構成を示すブロック図である。
【図４】図３のレベルシフタ３１の構成の一例を示す回路図である。
【図５】図３のラッチ回路３０の動作を示すタイミング図である（書換時以外の場合）。
【図６】図３のラッチ回路３０の動作を示すタイミング図である（書換時の場合）。
【図７】図３のラッチ回路３０の動作を示すタイミング図である（書換中にリセットされた場合）。
【図８】メモリアレイ動作状態に対応した書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩ，ＶＨＶＥＸの電圧レベルを示す表である。
【図９】図２の不揮発性メモリ４の変形例としての不揮発性メモリ１０４の構成を示すブロック図である。
【図１０】図１のマイクロコンピュータ１の変形例としてのマイクロコンピュータ２０１の構成を示すブロック図である。
【図１１】この発明の実施の形態２に従うマイクロコンピュータ３０１の構成を示すブロック図である。
【図１２】図１１の不揮発性メモリ３０４の詳細な構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、この発明の各実施の形態について図面を参照して詳しく説明する。なお、同一または相当する部分には同一の参照符号を付して、その説明を繰返さない。また、以下では、不揮発性メモリを有するマイクロコンピュータを例に挙げて説明するが、この発明は不揮発性メモリを備えた他の種類の半導体装置にも適用可能である。
【００１２】
＜実施の形態１＞
［マイクロコンピュータの構成］
図１は、この発明の実施の形態１に従うマイクロコンピュータ１の構成を示すブロック図である。図１を参照して、マイクロコンピュータ１（半導体装置）は、ＣＰＵ２と、ＲＡＭ（Random  Access  Memory）３と、不揮発性メモリ４と、周辺回路５と、インターフェース回路７と、これらを相互に接続するデータバス８と、電源回路６（第２の電源回路）とを含む。
【００１３】
電源回路６は、マイクロコンピュータ１の外部から外部電源電圧ＶＣＣ（たとえば３Ｖ）を受けて、外部電源電圧ＶＣＣよりも低電圧の内部電源電圧ＶＤＤ（たとえば１．５Ｖ）を生成する。内部電源電圧ＶＤＤは、マイクロコンピュータ１の各部に供給される。
【００１４】
また、電源回路６は、生成した内部電源電圧ＶＤＤの電圧レベルを監視し、内部電源電圧ＶＤＤが所定の電圧レベルに達した場合に活性化する監視信号ＶＤＤＯＮＬを出力する。なお、監視信号ＶＤＤＯＮＬの信号レベルは、Ｈレベルのとき電源電圧ＶＣＣになり、Ｌレベルのとき接地電圧ＧＮＤになるＶＣＣ系の信号である。以下、ＶＣＣ系の信号であることを明示する場合には、監視信号ＶＤＤＯＮＬ＿ＶＣＣのように参照符号の末尾にＶＣＣを付す。同様に、Ｈレベルのとき電源電圧ＶＤＤになり、Ｌレベルのとき接地電圧ＧＮＤになるＶＤＤ系の信号の場合には、参照符号の末尾にＶＤＤを付して区別する。
【００１５】
不揮発性メモリ４は、ＥＥＰＲＯＭやフラッシュメモリなどの半導体記憶装置である。これらの半導体記憶装置の各メモリセルは、制御ゲートとチャネル層との間に浮遊ゲートを有する。この浮遊ゲートに蓄積された電荷の有無によって各メモリセルに情報が記憶される。なお、浮遊ゲートに代えて窒化ケイ素膜を電荷捕獲層として用いることもできる。
【００１６】
この種のメモリセルでは、浮遊ゲートに電荷を注入する場合（書込モード）や浮遊ゲートから電荷を引き出す場合（消去モード）には、通常の動作モードよりも高い電圧を制御ゲート、ソース領域、またはＰ型ウェルなどに印加する必要がある。そこで、不揮発性メモリ４には、内部電源電圧ＶＤＤを昇圧する昇圧回路１１（第１の電源回路）が設けられている。昇圧回路（内部電源回路）１１は、書込モード、消去モード、読出モードにおいて制御ゲートなどに印加する書込電圧、消去電圧、読出電圧を生成する。なお、この明細書では書込電圧および消去電圧を総称して書換電圧とも称する。また、昇圧回路１１で生成される電圧を総称して制御電圧とも称する。
【００１７】
図１に示す不揮発性メモリ４には、コード領域１０Ｉとデータ領域１０Ｄとが設けられる。コード領域１０Ｉのメモリアレイは、主としてプログラム情報を格納する。データ領域１０Ｄのメモリアレイは、ＣＰＵ２の演算処理による処理結果やマイクロコンピュータ１の外部からのデータを格納する。通常、コード領域１０Ｉに格納されたデータの書換回数は、データ領域１０Ｄに格納されたデータの書換回数よりも少ない。これらのコード領域１０Ｉおよびデータ領域１０Ｄの構成の詳細については、図２を参照して後述する。
【００１８】
ところで、電源回路６に供給される外部電源電圧ＶＣＣが遮断されたり、電源回路６が瞬時停電したりすると、内部電源電圧ＶＤＤが低下するので不揮発性メモリ４内部の信号の論理レベルが不定になる。このとき、不揮発性メモリ４がデータ書換中であれば、昇圧回路（内部電源回路）１１によって高電圧が生成されているので、高電圧が誤ってメモリセルに印加されてしまいデータが書換えられるおそれがある。
【００１９】
このようなデータの誤った書換の可能性を低減させるために、不揮発性メモリ４には、マイクロコンピュータ１の外部から書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩ，ＦＨＶＥＸが供給される。これらの書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩ，ＦＨＶＥＸは、ＶＣＣ系の信号であり、不揮発性メモリ４の複数の領域に個別に対応して設けられている。具体的に、書換可能信号ＦＨＶＥＤはデータ領域１０Ｄに対応し、書換可能信号ＦＨＶＥＩはコード領域１０Ｉに対応する。また、書換可能信号ＦＨＶＥＸは、データ領域１０Ｄおよびコード領域１０Ｉのメモリセルに設けられた特殊領域に対応する。各領域は、対応の書換可能信号が活性化状態の場合に書換可能な状態になるように制御される。このように、複数の領域ごとに書換可能信号が設けられていることによってデータ書換の対象でない領域への高電圧の印加が防止できるので、データを誤って書き換える可能性を低減させることができる。さらに詳しい制御手順については図２〜図８を参照して後述する。
【００２０】
なお、図１に示すように、マイクロコンピュータ１には、外部からマイクロコンピュータ１をリセットするためのリセット信号ＲＳＴを受ける端子も設けられている。
【００２１】
［不揮発性メモリの構成］
図２は、図１の不揮発性メモリ４の詳細な構成を示すブロック図である。図２には、不揮発性メモリ４の構成要素のうちメモリセルのデータ書換に用いられる構成要素が主として示される。
【００２２】
図２を参照して、不揮発性メモリ４は、データ領域１０Ｄとコード領域１０Ｉとを含む。これらのデータ領域１０Ｄおよびコード領域１０Ｉには、データを格納するメモリアレイ４０Ｄ，４０Ｉがそれぞれ設けられる。
【００２３】
データ領域１０Ｄのメモリアレイ４０Ｄは、さらに、通常領域４１Ｄと特殊領域４２Ｄとを含む。通常領域４１Ｄには、ＣＰＵ２の演算処理による処理結果やマイクロコンピュータ１の外部からのデータが格納される。また、特殊領域４２Ｄには、システム立上げ時のブートプログラムを格納する領域、不良ブロック情報や誤り訂正コードを格納するための冗長バイト、および書換電圧を微調整するための電源トリミング情報を格納する領域などが設けられる。
【００２４】
コード領域１０Ｉのメモリアレイ４０Ｉも同様に、通常領域４１Ｉと特殊領域４２Ｉとを含む。通常領域４１Ｉには、用途に応じたプログラム情報が格納される。また、特殊領域４２Ｉは、データ領域１０Ｄに設けられた特殊領域４２Ｄと同様に、ブートプログラムおよび電源トリミング情報を格納する領域、および冗長バイトなどが設けられる。
【００２５】
なお、コード領域１０Ｉは不揮発性メモリ４中に複数設けられていてもよい。コード領域１０Ｉが複数設けられた場合は、各コード領域１０Ｉに個別に対応した書換可能信号ＦＨＶＥＩがマイクロコンピュータ１の外部から供給される。
【００２６】
不揮発性メモリ４のデータ領域１０Ｄには、さらに、Ｐ／Ｅシーケンサ２１（書換指令部）、内部電源回路１１（第１の電源回路）、内部電源回路１１の制御信号を発生する電源制御信号発生部２２、およびテスト用の内部レジスタ１３（テスト制御部）が設けられる。これらの各構成要素１１，２１，２２，１３は、データ領域１０Ｄおよびコード領域１０Ｉのメモリアレイ４０Ｄ，４０Ｉに共用で設けられる。
【００２７】
データ領域１０Ｄには、さらに、電源スイッチ部１４Ｄ（ディストリビュータ）、電源スイッチ部１４Ｄの制御信号を発生する電源ＳＷ制御信号発生部２３Ｄ、Ｘデコーダ１５Ｄ、およびＸデコーダの制御信号を発生するＸ系制御信号発生部２４Ｄが設けられる。これらの各構成要素１４Ｄ，２３Ｄ，１５Ｄ，２４Ｄは、データ領域１０Ｄのメモリアレイ４０Ｄに専用で設けられる。
【００２８】
Ｐ／Ｅシーケンサ２１は、図１のＣＰＵ２からの指令に従って、データ書込時およびデータ消去時に、内部電源回路１１、電源スイッチ部１４Ｄ、およびＸデコーダ１５Ｄを所定のシーケンスで制御するために設けられる。Ｐ／Ｅシーケンサ２１からの指令に従って、電源制御信号発生部２２、電源ＳＷ制御信号発生部２３Ｄ、およびＸ系制御信号発生部２４Ｄは、それぞれ、内部電源回路１１、電源スイッチ部１４Ｄ、およびＸデコーダ１５Ｄに制御信号を出力する。
【００２９】
内部電源回路１１は、内部電源電圧ＶＤＤに基づいて、書込、消去、読出などの各動作モードで用いられる制御電圧を生成する。内部電源回路１１は、たとえば、チャージポンプ回路によって構成される。内部電源回路１１は、電源制御信号発生部２２からの制御信号に応じて、所定の電圧まで内部電源電圧ＶＤＤを昇圧したり、昇圧を停止したりする。
【００３０】
電源スイッチ部１４Ｄは、各動作モードに応じて、内部電源回路１１で生成された種々の制御電圧（書込電圧、消去電圧、読出電圧）をＸデコーダ１５Ｄ、コラム選択回路（図示省略）、センスアンプ（図示省略）などに分配する。電源スイッチ部１４Ｄは、複数の制御電圧の供給をオン／オフ制御する複数のスイッチを含む。複数のスイッチは、電源ＳＷ制御信号発生部２３Ｄからの制御信号に応じて、オン状態またはオフ状態になる。電源スイッチ部１４Ｄおよび電源ＳＷ制御信号発生部２３Ｄは、Ｐ／Ｅシーケンサ２１の指令に従って内部電源回路１１からメモリアレイ４０Ｄへ制御電圧を供給する電圧供給制御部２０Ｄとして機能する。
【００３１】
Ｘデコーダ１５Ｄは、Ｘ系制御信号発生部２４Ｄから与えられたＸアドレス信号に従って、メモリアレイ４０Ｄのワード線、ソース線、Ｐ型ウェルなどに、電源スイッチ部１４Ｄから与えられた制御電圧を供給する。
【００３２】
内部レジスタ１３は、バーン・イン・テスト時に内部電源回路１１の出力電圧を変更するために設けられる。バーン・イン・テスト時には、図１のＣＰＵ２からの指令に従って内部レジスタ１３にデータが設定される。そして、内部レジスタ１３に設定されたデータに応じた制御信号が電源制御信号発生部２２から内部電源回路１１に出力される。
【００３３】
上記と同様に、不揮発性メモリ４のコード領域１０Ｉには、コード領域１０Ｉに専用で、電源スイッチ部１４Ｉ（ディストリビュータ）、電源スイッチ部１４Ｉを制御する信号を発生する電源ＳＷ制御信号発生部２３Ｉ、Ｘデコーダ１５Ｉ、およびＸデコーダ１５Ｉを制御する信号を発生するＸ系制御信号発生部２４Ｉが設けられる。これらの各構成要素の機能はデータ領域１０Ｄの場合と同様であるので説明を繰返さない。なお、電源スイッチ部１４Ｉおよび電源ＳＷ制御信号発生部２３Ｉは、Ｐ／Ｅシーケンサ２１の指令に従って内部電源回路１１からメモリアレイ４０Ｉへ制御電圧を供給する電圧供給制御部２０Ｉとして機能する。
【００３４】
［書換可能信号による不揮発性メモリ４の制御］
さて、図１で説明したように、不揮発性メモリ４は、書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩ，ＦＨＶＥＸが活性化状態の場合に、対応の領域が書換可能になるように制御される。以下、具体的な制御方法について説明する。
【００３５】
（１．書換可能信号ＦＨＶＥＤによる電源ＳＷ制御信号発生部２３Ｄの制御）
まず、データ領域１０Ｄの電源ＳＷ制御信号発生部２３Ｄは、書換可能信号ＦＨＶＥＤが活性化状態の場合には、Ｐ／Ｅシーケンサ２１の指令に従って、電源スイッチ部１４Ｄの所定のスイッチがオン状態またはオフ状態になるように制御信号を出力する。
【００３６】
一方、書換可能信号ＦＨＶＥＤが非活性化状態の場合には、基本的には、電源ＳＷ制御信号発生部２３Ｄは、Ｐ／Ｅシーケンサ２１の指令内容によらず、電源スイッチ部１４Ｄの高電圧用のスイッチがオフ状態になるような制御信号を出力する。しかし例外的に、電源ＳＷ制御信号発生部２３Ｄは、メモリアレイ４０Ｄがデータ書換中の場合にはデータ書換が終了するまで内部電源回路１１からメモリアレイ４０Ｄへの高電圧の供給を継続するように電源スイッチ部１４Ｄを制御する。データ書換中にメモリアレイへの書換電圧の供給が急に停止すると、メモリアレイに格納されたデータが破壊されるおそれがあるからである。
【００３７】
このような制御を行なうために、不揮発性メモリ４のデータ領域１０Ｄには、書換可能信号ＦＨＶＥＤの論理状態を保持するラッチ回路３０Ｄが設けられる。ラッチ回路３０Ｄは、さらに、Ｐ／Ｅシーケンサ２１から制御信号ｓｅｑｍｏｄｅ＿ｏｎを受ける。制御信号ｓｅｑｍｏｄｅ＿ｏｎは、データ書換中に活性化状態（Ｈレベル）になる信号である。
【００３８】
具体的に、ラッチ回路３０Ｄは、制御信号ｓｅｑｍｏｄｅ＿ｏｎが活性化状態（Ｈレベル）に切替わった時点で、書換可能信号ＦＨＶＥＤの論理状態を保持し、制御信号ｓｅｑｍｏｄｅ＿ｏｎが非活性化状態（Ｌレベル）に切替わるまでの間、保持した論理状態を出力する。一方、制御信号ｓｅｑｍｏｄｅ＿ｏｎが非活性化状態（Ｌレベル）の間は、ラッチ回路３０Ｄは、入力された書換可能信号ＦＨＶＥＤの論理状態をそのまま出力する。ラッチ回路３０Ｄのさらに詳細な構成については、図３、図４を参照して後述する。
【００３９】
不揮発性メモリ４のデータ領域１０Ｄには、ラッチ回路３０Ｄの出力をＶＣＣ系からＶＤＤ系にレベルシフト（降圧）するレベルシフタ１２がさらに設けられる。レベルシフタ１２は、たとえば、内部電源電圧ＶＤＤで動作するインバータ回路によって構成することができる。
【００４０】
電源スイッチ部１４Ｄ用の電源ＳＷ制御信号発生部２３Ｄは、レベルシフタ１２によってＶＤＤ系に変換されたラッチ回路３０Ｄの出力を書換可能信号ｆｈｖｅｄ＿ｖｄｄとして受ける。電源ＳＷ制御信号発生部２３Ｄは、書換可能信号ｆｈｖｅｄ＿ｖｄｄが活性化状態（Ｈレベル）の場合に、Ｐ／Ｅシーケンサ２１の指令に従って、電源スイッチ部１４Ｄの所定のスイッチがオン状態またはオフ状態になるような制御信号を出力する。一方、電源ＳＷ制御信号発生部２３Ｄは、書換可能信号ｆｈｖｅｄ＿ｖｄｄが非活性化状態（Ｌレベル）の場合に、Ｐ／Ｅシーケンサ２１の指令内容によらず、電源スイッチ部１４Ｄの高電圧用のスイッチがオフ状態になるような制御信号を出力する。
【００４１】
（２．書換可能信号ＦＨＶＥＩによる電源ＳＷ制御信号発生部２３Ｉの制御）
書換可能信号ＦＨＶＥＩによるコード領域１０Ｉの電源ＳＷ制御信号発生部２３Ｉに対する制御方法は、データ領域１０Ｄ用の書換可能信号ＦＨＶＥＤの場合と同様である。すなわち、不揮発性メモリ４のデータ領域１０Ｄには、書換可能信号ＦＨＶＥＩの論理状態を保持するラッチ回路３０Ｉが設けられる。ラッチ回路３０Ｉは、さらに、Ｐ／Ｅシーケンサ２１から制御信号ｓｅｑｍｏｄｅ＿ｏｎを受ける。ラッチ回路３０Ｉの具体的な動作は、ラッチ回路３０Ｄと同じである。以下、ラッチ回路３０Ｄ，３０Ｉを総称する場合、または不特定のものを示す場合にラッチ回路３０とも記載する。
【００４２】
電源スイッチ部１４Ｉ用の電源ＳＷ制御信号発生部２３Ｉは、レベルシフタ１２によってＶＤＤ系に変換されたラッチ回路３０Ｉの出力を書換可能信号ｆｈｖｅｉ＿ｖｄｄとして受ける。電源ＳＷ制御信号発生部２３Ｉは、書換可能信号ｆｈｖｅｉ＿ｖｄｄが活性化状態（Ｈレベル）の場合に、Ｐ／Ｅシーケンサ２１の指令に従って、電源スイッチ部１４Ｉの所定のスイッチがオン状態またはオフ状態になるような制御信号を出力する。一方、電源ＳＷ制御信号発生部２３Ｉは、書換可能信号ｆｈｖｅｉ＿ｖｄｄが非活性化状態（Ｌレベル）の場合に、Ｐ／Ｅシーケンサ２１の指令内容によらず、電源スイッチ部１４Ｉの高電圧用のスイッチがオフ状態になるような制御信号を出力する。
【００４３】
（３．書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩによる電源制御信号発生部２２の制御）
内部電源回路１１用の電源制御信号発生部２２は、ラッチ回路３０Ｄ，３０Ｉの出力がレベルシフタ１２によってＶＤＤ系にレベル変換された書換可能信号ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄを受ける。電源制御信号発生部２２は、書換可能信号ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄの少なくとも一方が活性化状態（Ｈレベル）の場合に、Ｐ／Ｅシーケンサ２１の指令に従って、内部電源回路１１が高電圧を生成するような制御信号を出力する。一方、電源制御信号発生部２２は、書換可能信号ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄが両方とも非活性化状態（Ｌレベル）の場合に、Ｐ／Ｅシーケンサ２１の指令内容によらず、内部電源回路１１による高電圧の生成を停止するような制御信号を出力する。
【００４４】
（４．書換可能信号ＦＨＶＥＸによる特殊領域４２Ｄ，４２Ｉの制御）
メモリアレイ４０Ｄ，４０Ｉの各特殊領域４２Ｄ，４２Ｉには、書換可能信号ＦＨＶＥＸがレベルシフタ１２によってＶＤＤ系にレベル変換された書換可能信号ｆｈｖｅｘ＿ｖｄｄが供給される。特殊領域４２Ｄ，４２Ｉ内のメモリセルは、書換可能信号ｆｈｖｅｘ＿ｖｄｄが活性化状態（Ｈレベル）のとき書換可能であり、書換可能信号ｆｈｖｅｘ＿ｖｄｄが非活性化状態（Ｌレベル）のとき書換禁止になる。たとえば、フラッシュメモリの場合、書換可能信号ｆｈｖｅｘ＿ｖｄｄが非活性化状態（Ｌレベル）のときセルブロックが選択不能になる。
【００４５】
なお、通常、特殊領域４２Ｄ，４２Ｉ内のメモリセルに記憶されたデータは、マイクロコンピュータ１の製造者によって書き換えられるものである。したがって、データ書換中に誤ってリセットされ、書換可能信号ＦＨＶＥＸがＬレベルに戻る可能性は低いと考えられる。したがって、書換可能信号ＦＨＶＥＸについてはラッチ回路が設けられていない。
【００４６】
（５．書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩによる内部電源回路１１の制御）
内部電源回路１１は、外部から供給された書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩをラッチ回路３０Ｄ，３０Ｉを介さずに受ける。内部電源回路１１は、書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩの少なくとも一方が活性化状態（Ｈレベル）の場合に、電源制御信号発生部２２からの制御信号に従って、高電圧（書込電圧、消去電圧などの制御電圧）を生成可能になる。内部電源回路１１は、書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩが両方とも非活性化状態（Ｌレベル）の場合には、高電圧を生成しない。
【００４７】
したがって、電源遮断後に図１の電源回路６が復帰する際に、不揮発性メモリ４内部の信号の論理状態が不定になったとしても、書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩが両方ともＬレベルである限り、内部電源回路１１は高電圧を生成しない。この結果、メモリセルに誤って高電圧が印加されることを防止できる。
【００４８】
なお、内部電源回路１１を構成するチャージポンプ回路には電荷蓄積用のコンデンサが設けられている。このため、メモリセルのデータ書換中に書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩがＬレベルにリセットされたとしても、内部電源回路１１の出力が急に減少することはない。したがって、内部電源回路１１には、ラッチ回路３０Ｄ，３０Ｉを介さずに書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩが直接に供給されている。
【００４９】
（６．書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩ，ＦＨＶＥＸによるテスト用の内部レジスタ１３の制御）
テスト用の内部レジスタ１３は、ＶＤＤ系の書換可能信号ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄ，ｆｈｖｅｘ＿ｖｄｄを受ける。内部レジスタ１３の出力は、書換可能信号ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄ，ｆｈｖｅｘ＿ｖｄｄが全て活性化状態（Ｈレベル）の場合にのみ有効になり、それ以外の場合には内部レジスタ１３の出力は無効化される。
【００５０】
したがって、電源遮断後に図１の電源回路６が復帰する際に、テスト用の内部レジスタ１３の論理状態が不定であったとしても、誤って内部電源回路１１がバーン・イン・テスト用の高電圧を生成することはない。この結果、メモリセルに誤ってテスト用の高電圧１が印加されることを防止できる。
【００５１】
なお、書換可能信号ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄ，ｆｈｖｅｘ＿ｖｄｄに代えて新たな書換可能信号を用いてテスト用の内部レジスタ１３を制御することもできる。しかし、この場合にはマイクロコンピュータ１に新たな外部端子を設ける必要が生じる。上記のように、書換可能信号ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄ，ｆｈｖｅｘ＿ｖｄｄを内部レジスタ１３の制御のために共用することによって、マイクロコンピュータ１に設ける外部端子の総数を減らすことができる。
【００５２】
また、外部から入力される電源電圧ＶＣＣ自体が停電になった後の復帰中には、ラッチ回路３０Ｄ，３０Ｉの出力（書換可能信号ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄ）の論理状態が不定になる。上記のようにラッチ回路を通さない書換可能信号ｆｈｖｅｄ＿ｖｄｄを用いることによって、このような電源電圧ＶＣＣの停電後の復帰中においても、メモリセルに誤ってテスト用の高電圧が印加されることを防止できる。
【００５３】
［ラッチ回路の構成および動作］
以下、図２のラッチ回路３０の構成および動作についてさらに詳しく説明する。
【００５４】
図３は、図２のラッチ回路３０の構成を示すブロック図である。図２、図３を参照して、ラッチ回路３０は、ＶＤＤ系の制御信号ｓｅｑｍｏｄｅ＿ｏｎをＶＣＣ系の信号に変換（昇圧）するレベルシフタ３１と、レベルシフタ３１の出力を反転するインバータＩＶ４と、外部電源電圧ＶＣＣで動作するＤラッチ３２とを含む。
【００５５】
制御信号ｓｅｑｍｏｄｅ＿ｏｎは、Ｐ／Ｅシーケンサ２１から出力される。制御信号ｓｅｑｍｏｄｅ＿ｏｎは、メモリアレイ４０Ｄまたは４０Ｉのデータ書換中（書込モード、消去モード）に活性化状態（Ｈレベル）になり、データ書換以外のときに非活性化状態（Ｌレベル）になる。
【００５６】
インバータＩＶ４は、外部電源電圧ＶＣＣによって動作する。インバータＩＶ４の出力信号ＦｈｅｌａｔｃｈはＶＣＣ系の信号である。
【００５７】
Ｄラッチ３２は、一般に、入力端子Ｄ、出力端子Ｑ、およびクロック入力端子ＣＬＫを有する。クロック入力がＨレベルの場合、Ｄラッチ３２は、入力端子Ｄへの入力信号の論理レベルと同じ論理レベルの信号を出力端子Ｑから出力する。一方、Ｄラッチ３２は、クロック入力がＬレベルに切替わった時点の入力信号の論理レベルを入力信号がＨレベルに戻るまで保持する。そして、クロック入力がＬレベルの間、Ｄラッチ３２は、保持した論理レベルの信号を出力端子Ｑから出力する。
【００５８】
図３の場合、入力端子ＤにＶＣＣ系の書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）が入力され、クロック入力端子ＣＬＫにインバータＩＶ４の出力信号Ｆｈｅｌａｔｃｈ（ＶＣＣ系）が入力される。Ｄラッチ３２は、外部電源電圧ＶＣＣを受けて動作するので、出力端子Ｑから出力された信号Ｉｎｆｈｖｅｄ（またはＩｎｆｈｖｅｉ）はＶＣＣ系の信号である。Ｄラッチ３２を外部電源電圧ＶＣＣによって動作させることによって、図１の電源回路６が停電状態になったとしても、Ｄラッチ３２の出力の論理レベルが不定になることはない。
【００５９】
レベルシフタ３１は、ＶＤＤ系の信号をＶＣＣ系の信号に変換（昇圧）する回路である。図３の場合、レベルシフタ３１は、Ｐ／Ｅシーケンサ２１から出力された制御信号ｓｅｑｍｏｄｅ＿ｏｎをＶＣＣ系の信号にレベル変換する。
【００６０】
また、レベルシフタ３１には、電源電圧ＶＤＤが所定の電圧レベルに達しているときに活性化（Ｈレベル）する監視信号ＶＤＤＯＮＬがさらに与えられる。レベルシフタ３１には、監視信号ＶＤＤＯＮＬによって、電源遮断後の復帰中で内部電源電圧ＶＤＤが低下しているときにレベルシフタ３１に貫通電流が流れないように制御している。
【００６１】
図４は、図３のレベルシフタ３１の構成の一例を示す回路図である。図４を参照して、レベルシフタ３１は、ＰＭＯＳ（P-channel  Metal  Oxide  Semiconductor）トランジスタＱＰ１，ＱＰ２，ＱＰ３と、ＮＭＯＳ（N-channel  Metal  Oxide  Semiconductor）トランジスタＱＮ１，ＱＮ２，ＱＮ３と、内部電源電圧ＶＤＤで動作するインバータＩＶ１，ＩＶ２と、外部電源電圧ＶＣＣで動作するインバータＩＶ３とを含む。
【００６２】
まず、レベルシフタ３１の各要素間の接続について説明する。トランジスタＱＰ１，ＱＮ１は、この順で電源ノード（ＶＣＣ）とノードＮＤ３との間に接続される。トランジスタＱＰ２，ＱＮ２は、この順で電源ノード（ＶＣＣ）とノードＮＤ３との間に、トランジスタＱＰ１，ＱＮ１と並列に接続される。トランジスタＱＰ３は、トランジスタＱＰ２と並列に接続される。トランジスタＱＮ３は、ノードＮＤ３と接地ノード（ＧＮＤ）との間に接続される。トランジスタＱＰ１のゲートは、トランジスタＱＰ２のドレイン（ノードＮＤ２）に接続され、トランジスタＱＰ２のゲートは、トランジスタＱＰ１のドレイン（ノードＮＤ１）に接続される。インバータＩＶ１は、制御信号ｓｅｑｍｏｄｅ＿ｏｎを反転してトランジスタＱＮ１のゲートに出力する。また、インバータＩＶ２は、インバータＩＶ１の出力を反転してトランジスタＱＮ２のゲートに出力する。トランジスタＱＰ３，ＱＮ３のゲートには、監視信号ＶＤＤＯＮＬが入力される。インバータＩＶ３は、ノードＮＤ２の電圧を反転および整形して出力する。インバータＩＶ３の出力は、図３のインバータＩＶ４によってさらに反転され、信号ＦｈｅｌａｔｃｈとしてＤラッチ３２のクロック入力端子ＣＬＫに与えられる。
【００６３】
次に、図４のレベルシフタ３１の動作について説明する。
まず、内部電源電圧ＶＤＤが所定の電圧レベルに達するまでは監視信号ＶＤＤＯＮＬ＿ＶＣＣがＬレベルであるので、トランジスタＱＰ３は導通状態である。この結果、トランジスタＱＰ２のドレイン（ノードＮＤ２）は電源電圧ＶＣＣに等しくなり、レベルシフタ３１の出力信号／ＦｈｅｌａｔｃｈはＬレベルに固定される。このように、トランジスタＱＰ３は、内部電源電圧ＶＤＤが所定の電圧レベルに達するまでレベルシフタ３１の出力が不定にならないように設けられている。
【００６４】
内部電源電圧ＶＤＤが所定の電圧レベルに達するとトランジスタＱＮ３が導通するので、ノードＮＤ３の電圧は接地電圧ＧＮＤに等しくなる。さらに、トランジスタＱＰ３は非導通状態になるので、レベルシフタ３１は、入力された制御信号ｓｅｑｍｏｄｅ＿ｏｎに応じた値を出力する。
【００６５】
制御信号ｓｅｑｍｏｄｅ＿ｏｎがＬレベル（ＧＮＤ）の場合、トランジスタＱＮ１が導通状態になり、トランジスタＱＮ２が非導通状態になる。この結果、トランジスタＱＰ１が非導通状態になり、トランジスタＱＰ２が導通状態になるので、ノードＮＤ２の電圧は外部電源電圧ＶＣＣに等しくなる。これによって、図３のＤラッチ３２のクロック入力端子ＣＬＫには、Ｈレベル（ＶＣＣ）の信号Ｆｈｅｌａｔｃｈが与えられる。
【００６６】
一方、制御信号ｓｅｑｍｏｄｅ＿ｏｎがＨレベル（ＶＤＤ）の場合、トランジスタＱＮ１が非導通状態になり、トランジスタＱＮ２が導通状態になる。この結果、トランジスタＱＰ１が導通状態になり、トランジスタＱＰ２が非導通状態になるので、ノードＮＤ２の電圧は接地電圧ＧＮＤに等しくなる。これによって、図３のＤラッチ３２のクロック入力端子ＣＬＫには、Ｌレベル（ＧＮＤ）の信号Ｆｈｅｌａｔｃｈが与えられる。
【００６７】
図５〜図７は、図３のラッチ回路３０の動作を示すタイミング図である。以下、図５〜図７を参照しながら、これまでの説明を総括して図３のラッチ回路３０の動作について説明する。
【００６８】
図５は、データ書換時以外の場合のラッチ回路３０のタイミング図である。図３、図５を参照して、内部電源電圧ＶＤＤはいずれの時間帯もＨレベル（ＶＤＤ）にあるものとする。したがって、監視信号ＶＤＤＯＮＬもＨレベル（ＶＣＣ）である。また、データ書換中ではないので、Ｐ／Ｅシーケンサ２１から出力された制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）はＬレベル（ＧＮＤ）である。
【００６９】
図５の時刻ｔ１〜ｔ２の時間帯のように、書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）がＬレベル（ＧＮＤ）の場合は、ラッチ回路３０の出力信号Ｉｎｆｈｖｅｄ（またはＩｎｆｈｖｅｉ）はＬレベル（ＧＮＤ）になる。また、時刻ｔ３〜ｔ４のように、書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）がＨレベル（ＶＣＣ）の場合は、ラッチ回路３０の出力信号Ｉｎｆｈｖｅｄ（またはＩｎｆｈｖｅｉ）はＨレベル（ＶＣＣ）になる。すなわち、ラッチ回路３０は入力信号の論理レベルをそのまま出力する。
【００７０】
図６は、データ書換時の場合のラッチ回路３０のタイミング図である。図３、図６を参照して、内部電源電圧ＶＤＤはいずれの時間帯もＨレベル（ＶＤＤ）であり、したがって、監視信号ＶＤＤＯＮＬはＨレベル（ＶＣＣ）であるものとする。また、リセット信号ＲＳＴ（ＶＣＣ系）は、いずれの時間帯もＬレベル（ＧＮＤ）であり、外部から強制的なリセットは行なわれないものとする。
【００７１】
図６の時刻ｔ１で、書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）がＬレベルからＨレベル（ＶＣＣ）に切替わる。次の時刻ｔ２までの時間帯では、Ｐ／Ｅシーケンサ２１から出力された制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）はＬレベル（ＧＮＤ）である。したがって、ラッチ回路３０の出力信号Ｉｎｆｈｖｅｄ（またはＩｎｆｈｖｅｉ）は、入力された書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）の論理レベルに応じて、時刻ｔ１でＬレベルからＨレベル（ＶＣＣ）に切替わる。
【００７２】
次の時刻ｔ２で、制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）がＨレベル（ＶＤＤ）に切替わると、ラッチ回路３０は、この時点ｔ２における書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）の論理レベル（Ｈレベル）を保持する。この時刻ｔ２から次の時刻ｔ３までの時間帯では、Ｐ／Ｅシーケンサ２１から出力された制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）はＨレベル（ＶＤＤ）を維持する。したがって、ラッチ回路３０は、時刻ｔ３まで、保持したＨレベル（ＶＣＣ）の信号の出力を続ける。
【００７３】
次の時刻ｔ３で、制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）がＬレベル（ＧＮＤ）に戻ると、ラッチ回路３０は、入力された書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）の論理レベルに応じた論理レベルの信号を出力する。この時刻ｔ３から次の時刻ｔ４までは、書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）はＨレベルであるので、ラッチ回路３０の出力信号Ｉｎｆｈｖｅｄ（またはＩｎｆｈｖｅｉ）は、Ｈレベル（ＶＣＣ）のまま変わらない。
【００７４】
次の時刻ｔ４で、書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）がＬレベル（ＧＮＤ）に戻るので、その変化に応じてラッチ回路３０の出力信号Ｉｎｆｈｖｅｄ（またはＩｎｆｈｖｅｉ）もＬレベル（ＧＮＤ）に戻る。
【００７５】
図７は、書換中にリセットされた場合のラッチ回路３０のタイミング図である。図３、図７を参照して、内部電源電圧ＶＤＤはいずれの時間帯もＨレベル（ＶＤＤ）であり、したがって、監視信号ＶＤＤＯＮＬはＨレベル（ＶＣＣ）であるものとする。図７の場合は、図６の場合と異なり、制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）がＨレベル（ＶＤＤ）となる時刻ｔ２〜ｔ４の時間帯の途中の時刻ｔ３で、マイクロコンピュータ１が外部から強制的にリセットされる（リセット信号ＲＳＴがＨレベルに切替わる）。
【００７６】
図７の時刻ｔ１で、書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）がＬレベルからＨレベル（ＶＣＣ）に切替わる。次の時刻ｔ２までの時間帯では、Ｐ／Ｅシーケンサ２１から出力された制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）はＬレベル（ＧＮＤ）である。したがって、ラッチ回路３０の出力信号Ｉｎｆｈｖｅｄ（またはＩｎｆｈｖｅｉ）は、入力された書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）の論理レベルに応じて、時刻ｔ１でＬレベルからＨレベル（ＶＣＣ）に切替わる。
【００７７】
次の時刻ｔ２で、制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）がＨレベル（ＶＤＤ）に切替わると、ラッチ回路３０は、この時点ｔ２における書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）の論理レベル（Ｈレベル）を保持する。この時刻ｔ２から時刻ｔ４までの時間帯では、Ｐ／Ｅシーケンサ２１から出力された制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）はＨレベル（ＶＤＤ）である。したがって、ラッチ回路３０は、時刻ｔ４まで、保持したＨレベル（ＶＣＣ）の信号の出力を続ける。
【００７８】
時刻ｔ２とｔ４との間の時刻ｔ３で、リセット信号ＲＳＴがＨレベルに切替わり、書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）がＬレベル（ＧＮＤ）に戻る。この時点では、制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）はＨレベル（ＶＤＤ）のままであるので、ラッチ回路３０の出力信号Ｉｎｆｈｖｅｄ（またはＩｎｆｈｖｅｉ）は、保持したＨレベル（ＶＣＣ）のままである。
【００７９】
次の時刻ｔ４で、制御信号ｓｅｑｍｏｄｅ＿ｏｎ（ＶＤＤ系）がＬレベル（ＧＮＤ）に戻ると、ラッチ回路３０は、入力された書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）の論理レベルに応じた論理レベルの信号を出力する。書換可能信号ＦＨＶＥＤ（またはＦＨＶＥＩ）は、既に時刻ｔ３の時点でＬレベル（ＧＮＤ）に戻っているので、ラッチ回路３０の出力信号Ｉｎｆｈｖｅｄ（またはＩｎｆｈｖｅｉ）は、時刻ｔ４以降、Ｌレベル（ＧＮＤ）になる。
【００８０】
次の時刻ｔ５で、リセット信号ＲＳＴがＬレベル（ＧＮＤ）に戻る。
［まとめ］
図８は、メモリアレイの動作状態に対応した書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩ，ＶＨＶＥＸの論理レベルを示す表である。以下、図２、図８を参照して書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩ，ＶＨＶＥＸによる不揮発性メモリ４の制御方法について総括する。
【００８１】
まず、データ領域１０Ｄにおけるメモリアレイ４０Ｄの通常領域４１Ｄを書換える場合には、書換可能信号ＦＨＶＥＤがＨレベル（ＶＣＣ）になる。これによって、内部電源回路１１、電源制御信号発生部２２、および電源スイッチ部１４Ｄ用の電源ＳＷ制御信号発生部２３Ｄが活性化される。
【００８２】
次に、コード領域１０Ｉにおけるメモリアレイ４０Ｉの通常領域４１Ｉを書換える場合には、書換可能信号ＦＨＶＥＩがＨレベル（ＶＣＣ）になる。これによって、内部電源回路１１、電源制御信号発生部２２、および電源スイッチ部１４Ｉ用の電源ＳＷ制御信号発生部２３Ｉが活性化される。
【００８３】
次に、コード領域１０Ｉにおけるメモリアレイ４０Ｉの特殊領域４２Ｉを書換える場合には、書換可能信号ＦＨＶＥＩ，ＦＨＶＥＸがＨレベル（ＶＣＣ）になる。これによって、内部電源回路１１、電源制御信号発生部２２、および電源スイッチ部１４Ｉ用の電源ＳＷ制御信号発生部２３Ｉが活性化される。さらに、特殊領域４２Ｉのセルブロックが選択可能になるなどして、特殊領域４２Ｉ内のメモリセルが書換可能になる。
【００８４】
次に、データ領域１０Ｄにおけるメモリアレイ４０Ｄの特殊領域４２Ｄを書換える場合には、書換可能信号ＦＨＶＥＤ，ＦＨＶＥＸがＨレベル（ＶＣＣ）になる。これによって、内部電源回路１１、電源制御信号発生部２２、および電源スイッチ部１４Ｄ用の電源ＳＷ制御信号発生部２３Ｄが活性化される。さらに、特殊領域４２Ｄのセルブロックが選択可能になるなどして、特殊領域４２Ｄ内のメモリセルが書換可能になる。
【００８５】
一方、データ書換中でない領域に対応する書換可能信号はＬレベル（ＧＮＤ）になる。これによって、電源遮断や瞬時停電の場合に誤ったデータ書込を防止することができる。
【００８６】
以上のとおり、実施の形態１の不揮発性メモリ４によれば、メモリアレイの各領域に対応した複数の書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩ，ＦＨＶＥＸを用いるという簡単な方法によって、電源遮断や瞬時停電の場合に生じ得る誤ったデータ書込の可能性を低減することができる。したがって、従来技術に比べて、実施の形態１の不揮発性メモリ４の場合には、回路構成が複雑化することもなく、また、回路面積もほとんど増加しない。
【００８７】
さらに、書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩの論理状態を保持するラッチ回路３０Ｄ，３０Ｉを設けることによって、データ書換中に書換可能信号ＦＨＶＥＤ，ＦＨＶＥＩがリセットされた場合でも、データ書換を正常に終了させることができる。
【００８８】
［変形例１］
図９は、図２の不揮発性メモリ４の変形例としての不揮発性メモリ１０４の構成を示すブロック図である。図９の不揮発性メモリ１０４には、マイクロコンピュータ１の外部からテスト用の内部レジスタ１１３専用の書換可能信号ＦＨＶＥＴが供給される。
【００８９】
具体的に、図９のデータ領域１１０Ｄに設けられたレベルシフタ１１２は、さらに、書換可能信号ＦＨＶＥＴ＿ＶＣＣをＶＤＤ系の書換可能信号ｆｈｖｅｔ＿ｖｄｄにレベル変換する点で、図２のレベルシフタ１２と異なる。
【００９０】
また、図９の内部レジスタ１１３は、書換可能信号ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄ，ｆｈｖｅｘ＿ｖｄｄに代えて、書換可能信号ｆｈｖｅｔ＿ｖｄｄのみを受ける点で、図２の内部レジスタ１３と異なる。内部レジスタ１１３の出力は、書換可能信号ｆｈｖｅｔ＿ｖｄｄが活性化状態（Ｈレベル）の場合に有効になる。書換可能信号ｆｈｖｅｔ＿ｖｄｄが非活性化状態（Ｌレベル）の場合には、内部レジスタ１１３の出力は無効化される。
【００９１】
その他の点については、図９の不揮発性メモリ１０４は図２の不揮発性メモリ４と同様であるので、同一または相当する部分については同一の参照符号を付して説明を繰返さない。
【００９２】
［変形例２］
図１０は、図１のマイクロコンピュータ１の変形例としてのマイクロコンピュータ２０１の構成を示すブロック図である。
【００９３】
図１０のマイクロコンピュータ２０１は、外部電源電圧ＶＣＣで動作するレジスタ９（書換可能信号を生成する信号生成回路）をさらに含む点で図１のマイクロコンピュータ１と異なる。レジスタ９は、レジスタ内部の設定データに応じた論理状態の書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＩ＿ＶＣＣ，ＶＨＶＥＸ＿ＶＣＣを不揮発性メモリ４に出力する。図１の場合には書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＩ＿ＶＣＣ，ＶＨＶＥＸ＿ＶＣＣがマイクロコンピュータ１の外部から与えられていたのに対して、図１０の場合には書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＩ＿ＶＣＣ，ＶＨＶＥＸ＿ＶＣＣはマイクロコンピュータ２０１の内部で生成される。
【００９４】
図１２において不揮発性メモリ４に格納されたデータを書き換える場合には、書換すべき領域に対応した書換可能信号が活性化状態（Ｈレベル）になるように、レジスタ９のデータが設定される。レジスタ９の設定データは、インターフェース回路７およびデータバス８を介してマイクロコンピュータ２０１の外部から与えられる。
【００９５】
上記の構成によれば、書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＩ＿ＶＣＣ，ＶＨＶＥＸ＿ＶＣＣを入力するための専用の外部端子を設けなくてよい。したがって、マイクロコンピュータ２０１に設けられる外部端子数を図１のマイクロコンピュータ１の場合よりも削減することができる。図１０のその他の点については図１と同様であるので、同一または相当する部分には同一の参照符号を付して説明を繰返さない。
【００９６】
＜実施の形態２＞
図１１は、この発明の実施の形態２に従うマイクロコンピュータ３０１の構成を示すブロック図である。
【００９７】
図１１のマイクロコンピュータ３０１（半導体装置）は、電源電圧ＶＤＤを生成する内部電源回路１１を含まずに外部から電源電圧ＶＤＤが与えられる点で図１のマイクロコンピュータ１と異なる。すなわち、マイクロコンピュータ３０１は、駆動用の２つの外部電源電圧ＶＤＤ，ＶＣＣをマイクロコンピュータ３０１の外部から受ける。
【００９８】
図１１に示すように、マイクロコンピュータ３０１は、ＣＰＵ２、ＲＡＭ３、不揮発性メモリ３０４、周辺回路５、インターフェース回路７、およびこれらを相互に接続するデータバス８を含む。外部電源電圧ＶＤＤは、これらの構成要素の大部分を動作させるのに用いられる。外部電源電圧ＶＣＣは、周辺回路５に含まれるＡ／Ｄ（Analog  to  Digital）コンバータなどの一部のアナログ回路や、図２で説明したラッチ回路３０Ｄ，３０Ｉなどを動作させるのに用いられる。なお、実施の形態２の場合、外部電源電圧ＶＣＣは、外部電源電圧ＶＤＤよりも高い電圧である。
【００９９】
図１１のマイクロコンピュータ３０１は、さらに、書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＩ＿ＶＣＣ，ＶＨＶＥＸ＿ＶＣＣに加えて、書換可能信号ＦＨＶＥＤ＿ＥＸＶＤＤ，ＦＨＶＥＩ＿ＥＸＶＤＤ，ＶＨＶＥＸ＿ＥＸＶＤＤを外部から受ける点で図１のマイクロコンピュータ１と異なる。書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＩ＿ＶＣＣ，ＶＨＶＥＸ＿ＶＣＣは、ＶＣＣ系の信号（Ｈレベル：電源電圧ＶＣＣ、Ｌレベル：接地電圧ＧＮＤ）であり、電源電圧ＶＣＣで動作する外部の回路から出力された信号である。一方、書換可能信号ＦＨＶＥＤ＿ＥＸＶＤＤ，ＦＨＶＥＩ＿ＥＸＶＤＤ，ＶＨＶＥＸ＿ＥＸＶＤＤは、外部ＶＤＤ系の信号（Ｈレベル：電源電圧ＶＤＤ、Ｌレベル：接地電圧ＧＮＤ）であり、電源電圧ＶＤＤで動作する外部の回路から出力された信号である。なお、図１１、図１２では、参照符号の末尾にＥＸＶＤＤを付すことによって、外部ＶＤＤ系の信号であることが示される。
【０１００】
これらの書換可能信号は、不揮発性メモリ３０４の複数の領域に対応して設けられている。具体的に、書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＤ＿ＥＸＶＤＤはデータ領域３１０Ｄに対応し、書換可能信号ＦＨＶＥＩ＿ＶＣＣ，ＦＨＶＥＩ＿ＥＸＶＤＤはコード領域１０Ｉに対応する。また、書換可能信号ＦＨＶＥＸ＿ＶＣＣ，ＦＨＶＥＸ＿ＥＸＶＤＤは、データ領域１０Ｄおよびコード領域１０Ｉのメモリセルに設けられた特殊領域に対応する。
【０１０１】
このように、各領域に対してＶＣＣ系の書換可能信号と外部ＶＤＤ系の書換可能信号の両方が対応している。そして、各領域は、対応の２つの書換可能信号が両方とも活性化状態の場合に書換可能な状態になるように制御される。これによって、２つの外部電源のうち一方の外部電源が遮断されたり、瞬時停電が生じたりしても、他方の電源系の書換可能信号が非活性化状態（Ｌレベル）に維持されることによって、停電状態からの復帰時にメモリセルのデータを誤って書き換える可能性を低減させることができる。書換可能信号による不揮発性メモリ３０４の詳しい制御方法については、図１２を参照して説明する。
【０１０２】
その他、図１１のマイクロコンピュータ３０１には、外部からマイクロコンピュータ１をリセットするためのリセット信号ＲＳＴを受ける端子が設けられる。また、マイクロコンピュータ３０１には、外部電源電圧ＶＤＤの電圧レベルが所定の電圧レベルに達した場合に活性化する監視信号ＶＤＤＯＮＬを受ける端子も設けられる。
【０１０３】
図１２は、図１１の不揮発性メモリ３０４の詳細な構成を示すブロック図である。図１２に示すように、不揮発性メモリ３０４のデータ領域３１０Ｄは、ラッチ回路３３０Ｄ，３３０Ｉ、レベルシフタ５０、およびＡＮＤ回路５１〜５５がさらに設けられる点で図２のデータ領域１０Ｄと異なる。以下では、これらの異なる点について主に説明し、図２と同一または相当する部分については同一の参照符号を付して説明を繰返さない場合がある。
【０１０４】
まず、ラッチ回路３３０Ｄ，３３０Ｉは、図３のラッチ回路３０と類似の構成を有するが、レベルシフタ３１を含まない点で図３のラッチ回路３０と異なる。すなわち、図１２のラッチ回路３３０Ｄ（または３３０Ｉ）の場合、Ｄラッチ３２の入力端子Ｄには外部ＶＤＤ系の書換可能信号ＦＨＶＥＤ＿ＥＸＶＤＤ（またはＦＨＶＥＩ＿ＥＸＶＤＤ）が入力される。また、Ｄラッチ３２のクロック入力端子ＣＬＫには制御信号ｓｅｑｍｏｄｅ＿ｏｎがインバータＩＶ４で反転された信号が入力される。ここで、制御信号ｓｅｑｍｏｄｅ＿ｏｎは、実施の形態１の場合と同様に、Ｐ／Ｅシーケンサ２１から出力され、メモリアレイ４０Ｄまたは４０Ｉのデータ書換中（書込モード、消去モード）に活性化状態（Ｈレベル）になり、データ書換以外のときに非活性化状態（Ｌレベル）になる。なお、ラッチ回路３３０Ｄ，３３０ＩにおけるインバータＩＶ４およびＤラッチ３２は外部電源電圧ＶＣＣでなく外部電源電圧ＶＤＤで動作する。
【０１０５】
上記の構成によって、ラッチ回路３３０Ｄ（または３３０Ｉ）は、制御信号ｓｅｑｍｏｄｅ＿ｏｎが活性化状態（Ｈレベル）に切替わった時点で、書換可能信号ＦＨＶＥＤ＿ＥＸＶＤＤ（またはＦＨＶＥＩ＿ＥＸＶＤＤ）の論理状態を保持し、制御信号ｓｅｑｍｏｄｅ＿ｏｎが非活性化状態（Ｌレベル）に切替わるまでの間、保持した論理状態を出力する。一方、制御信号ｓｅｑｍｏｄｅ＿ｏｎが非活性化状態（Ｌレベル）の間は、ラッチ回路３３０Ｄは、入力された書換可能信号ＦＨＶＥＤ＿ＥＸＶＤＤ（またはＦＨＶＥＩ＿ＥＸＶＤＤ）の論理状態をそのまま出力する。
【０１０６】
レベルシフタ５０は、書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＩ＿ＶＣＣをＶＣＣ系からＶＤＤ系にレベル変換（降圧）する。レベルシフタ５０は、たとえば、外部電源電圧ＶＤＤで動作するインバータ回路によって構成することができる。
【０１０７】
ＡＮＤ回路５１〜５５はいずれも外部電源電圧ＶＤＤで動作する。ＡＮＤ回路５１は、レベルシフタ５０によってＶＤＤ系にレベル変換された書換可能信号ＦＨＶＥＤ＿ＶＣＣと、外部ＶＤＤ系の書換可能信号ＦＨＶＥＤ＿ＥＸＶＤＤとのＡＮＤ演算を行ない、演算結果を内部電源回路１１に出力する。同様に、ＡＮＤ回路５２は、レベルシフタ５０によってＶＤＤ系にレベル変換された書換可能信号ＦＨＶＥＩ＿ＶＣＣと、外部ＶＤＤ系の書換可能信号ＦＨＶＥＩ＿ＥＸＶＤＤとのＡＮＤ演算を行ない、演算結果を内部電源回路１１に出力する。
【０１０８】
内部電源回路１１は、ＡＮＤ回路５１，５２の出力のうち少なくとも一方が活性化状態（Ｈレベル）の場合に、電源制御信号発生部２２からの制御信号に従って、高電圧（書込電圧、消去電圧などの制御電圧）を生成する。一方、内部電源回路１１は、ＡＮＤ回路５１，５２の出力が両方とも非活性化状態（Ｌレベル）の場合には高電圧を生成しない。ここで、ＡＮＤ回路５１，５２の出力は、ＶＣＣ系および外部ＶＤＤ系の両方の書換可能信号が活性化状態（Ｈレベル）の場合に活性化状態（Ｈレベル）になる。したがって、外部電源電圧ＶＣＣ，ＶＤＤのうちのいずれかが停電状態になった後の復帰時に、停電状態になったほうの電源系の書換可能信号の論理状態が不定になったしても、他方の電源系の書換可能信号がＬレベルである限り内部電源回路１１は高電圧を生成しない。この結果、メモリセルに誤って高電圧が印加されることを防止できる。
【０１０９】
ＡＮＤ回路５３は、ラッチ回路３０Ｄの出力がレベルシフタ１２によってレベル変換された信号ｆｈｖｅｄ＿ｖｄｄと、ラッチ回路３３０Ｄの出力信号ｆｈｖｅｄ＿ｅｘｖｄｄとのＡＮＤ演算を行ない、演算結果を書換可能信号ｆｈｖｅｄ＿ａｎｄとして出力する。ＡＮＤ回路５３から出力された書換可能信号ｆｈｖｅｄ＿ａｎｄは、データ領域３１０Ｄの電源ＳＷ制御信号発生部２３Ｄ、テスト用の内部レジスタ１３、および電源制御信号発生部２２に入力される。
【０１１０】
ＡＮＤ回路５４は、ラッチ回路３０Ｉの出力がレベルシフタ１２によってＶＤＤ系にレベル変換された信号ｆｈｖｅｉ＿ｖｄｄと、ラッチ回路３３０Ｉの出力信号ｆｈｖｅｉ＿ｅｘｖｄｄとのＡＮＤ演算を行ない、演算結果を書換可能信号ｆｈｖｅｉ＿ａｎｄとして出力する。ＡＮＤ回路５４から出力された書換可能信号ｆｈｖｅｉ＿ａｎｄは、コード領域１０Ｉの電源ＳＷ制御信号発生部２３Ｉ、テスト用の内部レジスタ１３、および電源制御信号発生部２２に入力される。
【０１１１】
ＡＮＤ回路５５は、書換可能信号ＦＨＶＥＸ＿ＶＣＣがレベルシフタ１２によってＶＤＤ系にレベル変換された信号ｆｈｖｅｘ＿ｖｄｄと、外部ＶＤＤ系の書換可能信号ＦＨＶＥＸ＿ＶＤＤとのＡＮＤ演算を行ない、演算結果を書換可能信号ｆｈｖｅｘ＿ａｎｄとして出力する。ＡＮＤ回路５５から出力された書換可能信号ｆｈｖｅｘ＿ａｎｄは、メモリアレイ４０Ｄ，４０Ｉの各特殊領域４２Ｄ，４２Ｉおよびテスト用の内部レジスタ１３に入力される。
【０１１２】
上記の書換可能信号ｆｈｖｅｄ＿ａｎｄ，ｆｈｖｅｉ＿ａｎｄ，ｆｈｖｅｘ＿ａｎｄは、実施の形態１の書換可能信号ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄ，ｆｈｖｅｘ＿ｖｄｄにそれぞれ対応付けられる。
【０１１３】
たとえば、上記の書換可能信号ｆｈｖｅｄ＿ａｎｄによるデータ領域３１０Ｄの電源ＳＷ制御信号発生部２３Ｄの制御は、実施の形態１の場合の書換可能信号ｆｈｖｅｄ＿ｖｄｄによる電源ＳＷ制御信号発生部２３Ｄの制御と同様である。すなわち、電源ＳＷ制御信号発生部２３Ｄは、書換可能信号ｆｈｖｅｄ＿ａｎｄが活性化状態（Ｈレベル）の場合に、Ｐ／Ｅシーケンサ２１の指令に従って、電源スイッチ部１４Ｄの所定のスイッチがオン状態またはオフ状態になるような制御信号を出力する。一方、電源ＳＷ制御信号発生部２３Ｄは、書換可能信号ｆｈｖｅｄ＿ａｎｄが非活性化状態（Ｌレベル）の場合に、Ｐ／Ｅシーケンサ２１の指令内容によらず、電源スイッチ部１４Ｄの高電圧用のスイッチがオフ状態になるような制御信号を出力する。
【０１１４】
したがって、電源ＳＷ制御信号発生部２３Ｄおよび電源スイッチ部１４Ｄによって構成される電圧供給制御部２０Ｄは、外部から与えられた書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＤ＿ＥＸＶＤＤが両方とも活性化状態（Ｈレベル）の場合に、Ｐ／Ｅシーケンサ２１の指令に従って、内部電源回路１１からＸデコーダ１５Ｄを介してメモリアレイ４０Ｄに高電圧（書込電圧、消去電圧などの制御電圧）を供給する。電圧供給制御部２０Ｄは、書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＤ＿ＥＸＶＤＤの少なくとも一方が非活性化状態（Ｌレベル）であれば、Ｐ／Ｅシーケンサ２１の指令を受けても、基本的には内部電源回路１１からメモリアレイ４０Ｄに対して高電圧を供給しない。しかし例外的に、電圧供給制御部２０Ｄは、メモリアレイ４０Ｄがデータ書換中の場合には、ラッチ回路３０Ｄ，３３０Ｄの効果によってデータ書換が終了するまで内部電源回路１１からメモリアレイ４０Ｄへの高電圧の供給を継続する。
【０１１５】
このように、ＶＣＣ系および外部ＶＤＤ系の２つの書換可能信号ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＤ＿ＥＸＶＤＤが制御に用いられるので、外部電源電圧ＶＣＣ，ＶＤＤのいずれか一方が停電したとしても、停電からの復帰時にデータ領域３１０Ｄのメモリアレイ４０Ｄに誤って高電圧が印加されるのを防止できる。
【０１１６】
同様に、書換可能信号ｆｈｖｅｉ＿ａｎｄによるコード領域１０Ｉの電源ＳＷ制御信号発生部２３Ｉの制御は、実施の形態１の書換可能信号ｆｈｖｅｉ＿ｖｄｄによる電源ＳＷ制御信号発生部２３Ｉの制御と同じである。この場合も、ＶＣＣ系および外部ＶＤＤ系の２つの書換可能信号ＦＨＶＥＩ＿ＶＣＣ，ＦＨＶＥＩ＿ＥＸＶＤＤが制御に用いられるので、外部電源電圧ＶＣＣ，ＶＤＤのいずれか一方が停電したしても、停電状態からの復帰時にコード領域１０Ｉのメモリアレイ４０Ｉに誤って高電圧が印加されるのを防止できる。
【０１１７】
以下同様にして、実施の形態２においても、電源制御信号発生部２２は、書換可能信号ｆｈｖｅｄ＿ａｎｄ，ｆｈｖｅｉ＿ａｎｄのいずれか一方が活性化状態（Ｈレベル）のときに活性化される。また、テスト用の内部レジスタ１３は、書換可能信号ｆｈｖｅｄ＿ａｎｄ，ｆｈｖｅｉ＿ａｎｄ，ｆｈｖｅｘ＿ａｎｄが全て活性化状態（Ｈレベル）のときに活性化される。また、メモリアレイ４０Ｄ，４０Ｉの各特殊領域４２Ｄ，４２Ｉは書換可能信号ｆｈｖｅｘ＿ａｎｄが活性化状態のときに活性化される。ここで、各書換可能信号ｆｈｖｅｄ＿ａｎｄ，ｆｈｖｅｉ＿ａｎｄ，ｆｈｖｅｘ＿ａｎｄが活性化状態になるには、外部から与えられるＶＣＣ系の書換可能信号と外部ＶＤＤ系の書換可能信号の両方が活性化状態（Ｈレベル）になる必要がある。したがって、外部電源電圧ＶＣＣ，ＶＤＤのいずれか一方が停電したしても、停電状態からの復帰時にメモリアレイ４０Ｄ，４０Ｉに高電圧が誤って印加されるのを防止することができる。
【０１１８】
今回開示された各実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１９】
１，２０１，３０１  マイクロコンピュータ、２  ＣＰＵ、４，１０４，３０４  不揮発性メモリ、６  電源回路、１０Ｉ  コード領域、１０Ｄ，１１０Ｄ，３１０Ｄ  データ領域、１１  内部電源回路（昇圧回路）、１２，１１２  レベルシフタ、１３，１１３  内部レジスタ、１４Ｄ，１４Ｉ  電源スイッチ部、１５Ｄ，１５Ｉ  Ｘデコーダ、２０Ｄ，２０Ｉ  電圧供給制御部、２１  Ｐ／Ｅシーケンサ、２２  電源制御信号発生部（内部電源回路１１用）、２３Ｄ  電源ＳＷ制御信号発生部（電源スイッチ部１４Ｄ用）、２３Ｉ  電源ＳＷ制御信号発生部（電源スイッチ部１４Ｉ用）、３０Ｄ，３０Ｉ  ラッチ回路、３１  レベルシフタ、３２  Ｄラッチ、４０Ｄ，４０Ｉ  メモリアレイ、４１Ｄ，４１Ｉ  通常領域、４２Ｄ，４２Ｉ  特殊領域、ＦＨＶＥＤ＿ＶＣＣ，ＦＨＶＥＩ＿ＶＣＣ，ＦＨＶＥＸ＿ＶＣＣ，ＦＨＶＥＴ＿ＶＣＣ  書換可能信号（ＶＣＣ系）、ｆｈｖｅｄ＿ｖｄｄ，ｆｈｖｅｉ＿ｖｄｄ，ｆｈｖｅｘ＿ｖｄｄ，ｆｈｖｅｔ＿ｖｄｄ  書換可能信号（ＶＤＤ系）、ＦＨＶＥＤ＿ＥＸＶＤＤ，ＦＨＶＥＩ＿ＥＸＶＤＤ，ＦＨＶＥＸ＿ＥＸＶＤＤ，ＦＨＶＥＴ＿ＥＸＶＤＤ  書換可能信号（外部ＶＤＤ系）、ＶＣＣ，ＶＤＤ  電源電圧。
【図１】
2010272156.tif 000003
【図２】
2010272156.tif 000004
【図３】
2010272156.tif 000005
【図４】
2010272156.tif 000006
【図５】
2010272156.tif 000007
【図６】
2010272156.tif 000008
【図７】
2010272156.tif 000009
【図８】
2010272156.tif 000010
【図９】
2010272156.tif 000011
【図１０】
2010272156.tif 000012
【図１１】
2010272156.tif 000013
【図１２】
2010272156.tif 000014