(57)【特許請求の範囲】
【請求項１】
不揮発性メモリセルが配列されて成るメモリアレイと、
供給された電源電圧を昇圧して出力するためのチャージポンプと、
上記メモリアレイへのデータ書き込み又は消去動作のために上記チャージポンプの出力電圧を選択するディストリビュータと、
上記チャージポンプと上記ディストリビュータとの動作を制御可能なシーケンサと、を含む不揮発性メモリであって、
電源電圧レベルに対応して予め設定された複数の電源電圧モードの中から選択的に指定された電源電圧モードを上記シーケンサに指示するとともに、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なアナライザを含むことを特徴とする不揮発性メモリ。
【請求項２】
上記アナライザは、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合の検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なエラー信号をアサートし、
上記シーケンサは、上記メモリアレイへの書き込み又は消去中に、上記アナライザによって上記エラー信号がアサートされた場合に、上記チャージポンプの電荷が放電されるのを待って上記ディストリビュータを初期化する請求項１記載の不揮発性メモリ。
【請求項３】
上記アナライザによって上記シーケンサに指示された電源電圧モードに応じて、上記メモリアレイへの書き込み速度及び消去速度が異なる請求項２記載の不揮発性メモリ。
【請求項４】
上記アナライザは、上記シーケンサによる制御期間中、上記シーケンサに対してそれまでの電源電圧モードを維持させるための保持回路を含む請求項３記載の不揮発性メモリ。
【請求項５】
不揮発性記憶部と、上記不揮発性記憶部にアクセス可能な中央処理装置と、を含むデータ処理装置であって、
上記不揮発性記憶部は、不揮発性メモリセルが配列されて成るメモリアレイと、
供給された電源電圧を昇圧して出力するためのチャージポンプと、
上記メモリアレイへのデータ書き込み又は消去動作のために上記チャージポンプの出力電圧を選択するディストリビュータと、
上記チャージポンプと上記ディストリビュータとの動作を制御可能なシーケンサと、
電源電圧レベルに対応して予め設定された複数の電源電圧モードの中から選択的に指定された電源電圧モードを上記シーケンサに指示するとともに、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なエラー信号をアサートするアナライザと、を含むことを特徴とするデータ処理装置。
【請求項６】
上記電源電圧モードとして、対応する電源電圧レベルが互いに異なる第１電源電圧モードと第２電源電圧モードとを含むとき、上記第１電源電圧モードで回路動作可能な最低電圧と、上記第２電源電圧モードで回路動作可能な最大電圧と、実際に供給された電源電圧との関係を検出するディテクタを含み、
上記アナライザは、上記ディテクタでの検出結果と上記電源電圧モードとに基づいて、上記電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なエラー信号をアサートする請求項５記載のデータ処理装置。
【請求項７】
所定のプログラムを実行するマイクロコンピュータを搭載して成るマイクロコンピュータ応用システムであって、
上記マイクロコンピュータとして、請求項５又は請求項６記載のデータ処理装置を適用したことを特徴とするマイクロコンピュータ応用システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性記憶装置の安定した書き換え動作を図るための技術に係り、例えばフラッシュメモリに適用して有効な技術に関する。
【背景技術】
【０００２】
特許文献１には、ワイド電源仕様ＰＳＲＡＭにて、ワード線駆動電圧用の昇圧を行うに当り、昇圧動作のモード切換点付近での電流値の不安定化による消費電流の浪費をなくして低消費電力化を図るための技術が記載されている。それによれば、ＰＳＲＡＭは、電源電圧ＶCCHが供給される通常動作モードと、電源電圧ＶCCLが供給されるデータリテンションモードにて作動し、電圧供給回路の倍電圧発生回路は電源電圧ＶCCが所定値ＶCCM以上であるか否かに応じて昇圧電圧ＶCH発生時の昇圧モードを切り換えるようにしている。
【０００３】
特許文献２には、外部電源電圧に反応して調整可能なチャージポンプが記載されている。チャージポンプの作動に際して使用されるステージの段数は、集積回路の作動状態に応じて変化する。使用されるステージの段数は、例えば電圧電源レベルの変動のような作動状態変化に拘わらず適切な電圧出力の生成を保証する。電源の電圧レベルは、電源レベル検出回路を用いて検出される。論理回路は、電圧レベル検出回路から情報を受け取り、特定段数のステージのみを使用するようにチャージポンプを調節する。
【０００４】
特許文献３には、外部電源電圧をそれより低い電圧にクランプし、それをチャージポンプの基準電源とする回路方式が記載されている。これにより、外部電源電圧の範囲が広い場合でも動作可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−１８９９６１号公報
【特許文献２】特開２００２−５１９８０８号公報
【特許文献３】特開平１０−２１４４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
不揮発性メモリの一例とされるフラッシュメモリにおいては、主にチャージポンプなどに使用される外部から供給された高電位側電源電圧Ｖｃｃや、主に論理回路などに使用される電源電圧Ｖｄｄが電源として用いられる。電源電圧Ｖｄｄについては外部から供給される場合と高電位側電源電圧Ｖｃｃを内部で降圧して得た内部電源電圧Ｖｄｄが用いられる場合がある。マイクロコンピュータなどに内蔵されたフラッシュメモリへの書き込み及び消去は、ＣＰＵとフラッシュメモリの間のインターフェース回路であるメインシーケンサを介して行われる。メインシーケンサは、例えばＣＰＵからフラッシュメモリへの書き込み指示を受けた場合には、フラッシュメモリの閾値電圧が書き込み状態に到達するまで、フラッシュメモリに対し書き込み指示と書き込みベリファイ指示を繰り返し発行する。また、ＣＰＵからフラッシュメモリへの消去指示を受けた場合には、フラッシュメモリの閾値電圧が消去状態に到達するまで、フラッシュメモリに対し消去指示と消去ベリファイ指示を繰り返し発行する。以下、メインシーケンサからフラッシュメモリへの書き込み指示が出された状態を書き込みモード、書き込みベリファイ指示が出された状態を書き込みベリファイモード、消去指示が出された状態を消去モード、消去ベリファイ指示が出された状態を消去ベリファイモードと記載する。フラッシュメモリには、上記書き込み、書き込みベリファイ、消去、消去ベリファイ等のモードに応じ、シーケンスを管理するためのサブシーケンサが設けられる。サブシーケンサは、チャージポンプ、チャージポンプと直接周辺回路の接続を切り替えるディストリビュータ等を制御している。フラッシュメモリ内部では電源電圧Ｖｃｃに基づいてチャージポンプで高電圧を発生させているため、サブシーケンサはデバイスを破壊しないように細かくシーケンスを制御しながら、電源立ち上げ処理、バイアス印加（電圧印加）、放電処理を行う必要がある。この点について本願発明者が検討したところ、以下の課題を見出した。
【０００７】
チャージポンプは電源電圧Ｖｃｃを昇圧しているため、低めの電源電圧Ｖｃｃ（以下「低Ｖｃｃ」という）向けに設計されたチャージポンプを搭載したフラッシュメモリに、高めの電源電圧Ｖｃｃ（以下「高Ｖｃｃ」という）を印加すると過剰昇圧となりデバイス破壊が起きる虞がある。
【０００８】
一方、高Ｖｃｃ向けに設計されたチャージポンプを搭載したフラッシュメモリに低Ｖｃｃを印加すると必要な昇圧レベルに到達せず、書き込みや消去を行うことができない。
【０００９】
上記課題を解決するために、特許文献３に記載されているように、電源電圧Ｖｃｃをその下限より低い電圧にクランプし、それを基準に昇圧することが考えられるが、かかる場合には、電源電圧Ｖｃｃが高い場合でも、チャージポンプは、クランプされた低い基準電圧を昇圧することになるため、昇圧に時間がかかり、高Ｖｃｃでの書き込み速度や消去速度の低下を招く。
【００１０】
フラッシュメモリの電源電圧モードとして、低Ｖｃｃに対応する電源電圧モード（「低Ｖｃｃモード」という）と、高Ｖｃｃに対応する電源電圧モード（「高Ｖｃｃモード」という）とを設けることができるが、書き込みや消去中（ベリファイを含む）に電源電圧モードが切り替わると回路誤動作の虞れがあるだけでなく、ベリファイの信頼性を確保できなくなる。
【００１１】
尚、引用文献１，２，３では、上記のような課題については考慮されていない。
【００１２】
本発明の目的は、電源電圧レベルに対応して予め設定された複数の電源電圧モードにおいて、不揮発性メモリの安定動作を図るための技術を提供することにある。また本発明の別の目的は、電源電圧レベルに対応して予め設定された複数の電源電圧モードにおいて安定動作可能な不揮発性メモリを搭載して成るデータ処理装置、及びそのようなデータ処理装置を搭載して成るマイクロコンピュータ応用システムを提供することにある。
【００１３】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１５】
すなわち、不揮発性メモリセルが配列されて成るメモリアレイ（１４９）と、供給された電源電圧を昇圧して出力するためのチャージポンプ（１５２）と、上記メモリアレイへのデータ書き込み又は消去動作のために上記チャージポンプの出力電圧を選択するディストリビュータ（１５１）と、上記チャージポンプと上記ディストリビュータとの動作を制御可能なシーケンサ（１４５）とを含んで不揮発性メモリを構成する。このとき、電源電圧レベルに対応して予め設定された複数の電源電圧モードの中から選択的に指定された電源電圧モードを上記シーケンサに指示するとともに、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なアナライザを設ける。また、そのような不揮発性メモリセルを含んでデータ処理装置を構成する。さらにそのようなデータ処理装置を含んで、マイクロコンピュータ応用システムを構成する。
【発明の効果】
【００１６】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１７】
すなわち、電源電圧レベルに対応して予め設定された複数の電源電圧モードにおいて、不揮発性メモリの安定動作を図るための技術を提供することができる。また、電源電圧レベルに対応して予め設定された複数の電源電圧モードにおいて安定動作可能な不揮発性メモリを搭載して成るデータ処理装置、及びそのようなデータ処理装置を搭載して成るマイクロコンピュータ応用システムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明にかかるデータ処理装置の一例とされるマイクロコンピュータの構成例ブロック図である。
【図２】図１に示されるマイクロコンピュータに含まれるディテクタの出力論理の真理値表説明図である。
【図３】図１に示されるマイクロコンピュータに含まれるＶｃｃアナライザの出力論理の真理値表説明図である。
【図４】図１に示されるマイクロコンピュータに含まれるＶｃｃ＿ｍｏｄｅ保持回路の構成例回路図である。
【図５】図１に示されるマイクロコンピュータに含まれるメインシーケンサにおける主要処理のフローチャートである。
【図６】図１に示されるマイクロコンピュータに含まれるサブシーケンサにおける主要処理のフローチャートである。
【図７】高電位側電源電圧Ｖｃｃの適正範囲とＶｃｃモード指定との関係説明図である。
【図８】本発明にかかるマイクロコンピュータの別の構成例に含まれるメインシーケンサにおける主要処理のフローチャーである。
【図９】高電位側電源電圧Ｖｃｃの適正範囲とＶｃｃモード指定との別の関係説明図である。
【図１０】Ｖｃｃモードの判定例説明図である。
【図１１】本発明にかかるデータ処理装置の一例とされるマイクロコンピュータの別の構成例ブロック図である。
【図１２】図１１に示されるマイクロコンピュータに含まれるディテクタの出力論理の真理値表説明図である。
【図１３】図１１に示されるマイクロコンピュータに含まれるＶｃｃアナライザの出力論理の真理値表説明図である。
【図１４】図１１に示されるマイクロコンピュータに含まれるメインシーケンサにおける主要処理のフローチャートである。
【図１５】図１１に示されるマイクロコンピュータに含まれるサブシーケンサにおける主要処理のフローチャートである。
【図１６】マイクロコンピュータ応用システムの説明図である。
【図１７】マイクロコンピュータ応用システムの別の説明図である。
【発明を実施するための形態】
【００１９】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００２０】
〔１〕本発明の代表的な実施の形態に係る不揮発性メモリ（１４）は、以下のように構成される。
【００２１】
すなわち、不揮発性メモリセルが配列されて成るメモリアレイ（１４９）と、供給された電源電圧を昇圧して出力するためのチャージポンプ（１５２）と、上記メモリアレイへのデータ書き込み又は消去動作のために上記チャージポンプの出力電圧を選択するディストリビュータ（１５１）と、上記チャージポンプと上記ディストリビュータとの動作を制御可能なシーケンサ（１４５）とを含む。このとき、電源電圧レベルに対応して予め設定された複数の電源電圧モードの中から選択的に指定された電源電圧モードを上記シーケンサに指示するとともに、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なアナライザ（１４６）を設ける。
【００２２】
上記の構成によれば、電源電圧モードに応じてディストリビュータ及びチャージポンプの制御シーケンスを切り替えることができるので、電源電圧モードに対して電源電圧Ｖｃｃが適切な範囲にあれば過剰昇圧や昇圧不足が起きない。これにより電源電圧レベルに対応して予め設定された複数の電源電圧モードにおいて、不揮発性メモリの安定動作を確保することができる。また、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限することができるので、例えば低Ｖｃｃモードにおいて、誤って高Ｖｃｃが印加されてデバイス破壊が起きるのを回避することができる。
【００２３】
〔２〕上記〔１〕において、上記アナライザは、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合の検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なエラー信号をアサートするように構成することができる。また、上記シーケンサは、上記メモリアレイへの書き込み又は消去中に、上記アナライザによって上記エラー信号がアサートされた場合に、上記チャージポンプの電荷が放電されるのを待って上記ディストリビュータを初期化するように構成することができる。これにより、上記チャージポンプに不所望な電荷が蓄積されることがないので、デバイス破壊を回避することができる。
【００２４】
〔３〕上記〔２〕において、上記アナライザによって上記シーケンサに指示された電源電圧モードに応じて、上記メモリアレイへの書き込み速度及び消去速度を異ならせることにより、上記シーケンサに指示された電源電圧モードに応じた速度で書き込みや消去を行うことができる。
【００２５】
〔４〕上記〔３〕において、上記アナライザは、上記シーケンサによる制御期間中、上記シーケンサに対してそれまでの電源電圧モードを維持させるための保持回路を含んで構成することができる。上記保持回路を含むことにより、シーケンサによる制御期間中において、電源電圧モードが不所望に切り替わるのを防止することができるので、回路誤動作の防止することができ、また、ベリファイの信頼性を確保できる。
【００２６】
〔５〕本発明の別の実施の形態に係る不揮発性メモリ（１４）は、以下のように構成される。
【００２７】
すなわち、不揮発性メモリセルが配列されて成るメモリアレイ（１４９）と、供給された電圧を昇圧して出力するためのチャージポンプ（１５２）と、上記メモリアレイへのデータ書き込み又は消去動作のために上記チャージポンプの出力電圧を選択するディストリビュータ（１５１）と、上記チャージポンプと上記ディストリビュータとの動作を制御可能なシーケンサ（１４５）とを含む。このとき、予め設定された基準レベルと実際に供給された電源電圧との比較結果に基づいて電源電圧モードを決定し、当該電源電圧モードを上記シーケンサに指示するとともに、上記シーケンサに指示した上記電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なアナライザ（１４６）を設ける。
【００２８】
上記の構成によれば、予め設定された基準レベルと実際に供給された電源電圧との比較結果に基づいて電源電圧モードが決定されるため、電源電圧モードを指定することなく、適切な電源電圧モードが自動的に決定される。これにより、電源電圧レベルに対応して予め設定された複数の電源電圧モードにおいて、不揮発性メモリの安定動作を図ることができる。また、上記シーケンサに指示した上記電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作が制限されることにより、例えば低Ｖｃｃモードにおいて、誤って高Ｖｃｃが印加されてデバイス破壊が起きるのを回避することができる。
【００２９】
〔６〕上記〔５〕において、上記アナライザは、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合の検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なエラー信号をアサートするように構成することができる。また、上記シーケンサは、上記メモリアレイへの書き込み又は消去中に、上記アナライザによって上記エラー信号がアサートされた場合に、上記チャージポンプの電荷が放電されるのを待って上記ディストリビュータを初期化するように構成することができる。これにより、上記チャージポンプに不所望な電荷が蓄積されることがないので、デバイス破壊を回避することができる。
【００３０】
〔７〕本発明の代表的な実施の形態に係るデータ処理装置（１０）は、不揮発性記憶部（１４）と、上記不揮発性記憶装置にアクセス可能な中央処理装置（１１）とを含む。このとき、上記不揮発性記憶部には、不揮発性メモリセルが配列されて成るメモリアレイ（１４９）と、供給された電源電圧を昇圧して出力するためのチャージポンプ（１５２）と、上記メモリアレイへのデータ書き込み又は消去動作のために上記チャージポンプの出力電圧を選択するディストリビュータ（１５１）と、上記チャージポンプと上記ディストリビュータとの動作を制御可能なシーケンサ（１４５）とを設ける。また上記不揮発性記憶部には、電源電圧レベルに対応して予め設定された複数の電源電圧モードの中から選択的に指定された電源電圧モードを上記シーケンサに指示するアナライザ（１４６）を設ける。上記アナライザは、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なエラー信号をアサートする
上記の構成によれば、電源電圧モードによりディストリビュータ及びチャージポンプの制御シーケンスを切り替えているため、電源電圧モードに対して電源電圧Ｖｃｃが適切な範囲にあれば過剰昇圧や昇圧不足が起きない。また、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限することができるので、例えば低Ｖｃｃモードにおいて、誤って高Ｖｃｃが印加されてデバイス破壊が起きるのを回避することができる。これにより、データ処理装置の信頼性の向上を図ることができる。
【００３１】
〔８〕上記〔７〕において、上記電源電圧モードとして、対応する電源電圧レベルが互いに異なる第１電源電圧モードと第２電源電圧モードとを含む。このとき、上記第１電源電圧モードで回路動作可能な最低電圧と、上記第２電源電圧モードで回路動作可能な最大電圧と、実際に供給された電源電圧との関係を検出するディテクタを設けることにより、上記第１電源電圧モードで回路動作可能な最低電圧と、上記第２電源電圧モードで回路動作可能な最大電圧と、実際に供給された電源電圧との関係を容易に検出することができる。また上記アナライザは、上記ディテクタでの検出結果と上記電源電圧モードとに基づいて、上記電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なエラー信号をアサートするように構成することができる。
【００３２】
〔９〕本発明の別の実施の形態に係るデータ処理装置（１０）は、不揮発性記憶部と、上記不揮発性記憶装置にアクセス可能な中央処理装置とを含む。このとき、上記不揮発性記憶部には、不揮発性メモリセルが配列されて成るメモリアレイ（１４９）と、供給された電源電圧を昇圧して出力するためのチャージポンプ（１５２）と、上記メモリアレイへのデータ書き込み又は消去動作のために上記チャージポンプの出力電圧を選択するディストリビュータ（１５１）と、上記チャージポンプと上記ディストリビュータとの動作を制御可能なシーケンサ（１４５）とを設ける。また上記不揮発性記憶部には、電源電圧レベルに対応して予め設定された複数の電源電圧モードの中から選択的に指定された電源電圧モードを上記シーケンサに指示するとともに、上記シーケンサに指示した電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なエラー信号をアサートするアナライザを設ける。
【００３３】
上記の構成によれば、予め設定された基準レベルと実際に供給された電源電圧との比較結果に基づいて電源電圧モードが決定されるため、電源電圧モードを指定することなく、適切な電源電圧モードが自動的に決定される。また、上記シーケンサに指示した上記電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作が制限されることにより、例えば低Ｖｃｃモードにおいて、誤って高Ｖｃｃが印加されてデバイス破壊が起きるのを回避することができる。これにより、データ処理装置の信頼性の向上を図ることができる。
【００３４】
〔１０〕上記〔９〕において、上記電源電圧モードとして、対応する電源電圧レベルが互いに異なる第１電源電圧モードと第２電源電圧モードとを含むとき、上記第１電源電圧モードで回路動作可能な最低電圧と、上記第２電源電圧モードで回路動作可能な最大電圧と、実際に供給された電源電圧との関係を検出するディテクタ（１２３）を含む。上記ディテクタにより、上記第１電源電圧モードで回路動作可能な最低電圧と、上記第２電源電圧モードで回路動作可能な最大電圧と、実際に供給された電源電圧との関係を容易に検出することができる。上記アナライザ（１４６）は、上記ディテクタでの検出結果と上記電源電圧モードとに基づいて、上記電源電圧モードと、実際に供給された電源電圧との不整合を検出し、その検出結果に基づいて、上記シーケンサによる上記チャージポンプと上記ディストリビュータとの動作を制限可能なエラー信号をアサートするように構成することができる。
【００３５】
〔１１〕所定のプログラムを実行するマイクロコンピュータを搭載して成るマイクロコンピュータ応用システムにおいて、上記マイクロコンピュータとして、上記〔７〕乃至〔１０〕記載のデータ処理装置を適用することにより、マイクロコンピュータ応用システムの信頼性の向上を図ることができる。
【００３６】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００３７】
《実施の形態１》
図１には、本発明にかかるデータ処理装置の一例とされるマイクロコンピュータ（「マイクロコントロールユニット」と称されることもある）が示される。
【００３８】
図１に示されるマイクロコンピュータ１０は、特に制限されないが、ＣＰＵ（中央処理装置）１１、電源管理ユニット（ＰＭＵ）１２、メインシーケンサ（Ｍａｉｎ  Ｓｅｑｕｅｎｃｅｒ）１３、フラッシュメモリ１４を含み、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。図１には、主としてフラッシュメモリ１４への書き込み及び消去に関連するブロック構成が示される。
【００３９】
上記ＣＰＵ１１は、フラッシュメモリ１４内のプログラムに従って所定の演算処理を実行する。ＣＰＵ１１からフラッシュメモリ１４への書き込み及び消去は、メインシーケンサ１３を介して行われる。メインシーケンサ１３は、ステータスレジスタ（ｓｔａｔｕｓ  ｒｅｇ．）１３１、モードレジスタ（ｍｏｄｅ  ｒｅｇ．）１３２、コマンドレジスタ（ｃｍｄ  ｒｅｇ．）１３３を含み、ＣＰＵ１１からの命令に従ってフラッシュメモリ１４の動作をシーケンシャルに制御する。ステータスレジスタ１３１にはメインシーケンサ１３のステータスが設定され、モードレジスタ１３２には、高Ｖｃｃモードや低ＶｃｃモードなどのＶｃｃモードが設定され、コマンドレジスタ１３３には、ＣＰＵ１１から発行された書き込みコマンドや消去コマンドなどの各種コマンドが設定される。
【００４０】
電源管理ユニット１２は、レギュレータ（Ｒｅｇｕｒａｔｏｒ）１２１、ノイズフィルタ（Ｎｏｉｓｅ  Ｆｉｌｔｅｒ）１２２、ディテクタ（Ｄｅｔｅｃｔｏｒ）１２３を含み、このマイクロコンピュータ１０における電源管理を行う。ノイズフィルタ１２２は、低電位側電源電圧Ｖｓｓ（グランドレベル）を基準とする高電位側電源電圧Ｖｃｃに含まれるノイズを低減する。レギュレータ１２１は、ノイズフィルタ１２２から出力された高電位側電源電圧Ｖｃｃを降圧して内部電源電圧Ｖｄｄを形成する。この内部電源電圧Ｖｄｄは、ＣＰＵ１１、メインシーケンサ１３、及びフラッシュメモリ１４に伝達される。ディテクタ１２３は、ノイズフィルタ１２２から出力された高電位側電源電圧Ｖｃｃを検出し、その検出結果Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌを出力する。Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌの論理は、図２に示される真理値表に基づいて決定される。
【００４１】
図２には、ディテクタ１２３の出力論理の真理値表が示される。「Ｈ」はハイレベル（論理値“１”）を示し、「Ｌ」はローレベル（論理値“０”）を示す。高Ｖｃｃモードで回路動作可能な最低電圧を「ＶｃｃＨｍｉｎ」とし、低Ｖｃｃモードで回路動作可能な最大電圧を「ＶｃｃＬｍａｘ」とした場合に、Ｖｃｃ＜ＶｃｃＨｍｉｎが成立すれば、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌは、Ｌ，Ｌとされる。ＶｃｃＨｍｉｎ≦Ｖｃｃ＜ＶｃｃＬｍａｘが成立する場合、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌは、Ｌ，Ｈとされる。ＶｃｃＬｍａｘ≦Ｖｃｃが成立する場合、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌは、Ｈ，Ｈとされる。
【００４２】
フラッシュメモリ１４は、Ｉ／Ｏコントロール回路１４１、発振器（ＯＳＣ）１４４、サブシーケンサ（Ｓｕｂ  Ｓｅｑｕｅｎｃｅｒ）１４５、Ｖｃｃアナライザ（Ｖｃｃ  Ａｎａｌｙｚｅｒ）１４６、センスアンプ（Ｓｅｎｓｅ  Ａｍｐ）１４７、カラムデコーダ（Ｙ  Ｄｅｃ）１４８、フラッシュメモリアレイ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ａｒｒａｙ）１４９、ローデコーダ（Ｘ  Ｄｅｃ）１５０を含む。また、フラッシュメモリ１４には、ディストリビュータ（Ｄｉｓｔｒｉｂｕｔｅｒ）１５１、チャージポンプ回路１５２が設けられる。
【００４３】
Ｉ／Ｏコントロール回路（Ｉ／Ｏ  Ｃｏｎｔｒｏｌ）１４１は、フラッシュメモリ１４における信号入出力を制御する機能を有し、Ｉ／Ｏバッファ（Ｉ／Ｏ  Ｂｕｆｆ）１４２と、アドレスバッファ（Ａｄｄｒｅｓｓ  Ｂｕｆｆ）１４３とを含む。発振器１４４は、クロック信号Ｃｌｏｃｋを生成する。生成されたクロック信号Ｃｌｏｃｋは、サブシーケンサ１４５に伝達される。サブシーケンサ１４５は、ディストリビュータ１５１やチャージポンプ回路１５２の動作をシーケンシャルに制御する。Ｖｃｃアナライザ１４６は、Ｖｃｃ＿ｍｏｄｅ、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌ、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈの整合性をチェックし、不整合を生じた場合、エラー信号Ｖｃｃ＿ｅｒｒをアサートする。エラー信号Ｖｃｃ＿ｅｒｒのアサート状態は、メインシーケンサ１３によってクリアされるまで保持される。センスアンプ１４７は、カラムデコーダ１４８の出力に基づいてフラッシュメモリアレイ１４９から選択的に出力された信号をリファレンスレベルと比較することで読み出しデータを得る。カラムデコーダ１４８は、カラムアドレスをデコードすることでカラム系の選択信号を形成する。フラッシュメモリアレイ１４９は、複数のフラッシュメモリセルが、行方向及び列方向に配列されて成る。この不揮発性メモリセルは、コントロールゲート、フローティングゲート、ドレイン、ソースの各電極を有する。列方向に配置された複数のフラッシュメモリセルのドレインは共通接続されて、副ビット線セレクタを介してビット線に結合される。複数のフラッシュメモリセルのソースは、共通ソース線に接続される。上記共通ソース線に接続されるフラッシュメモリセルが１ブロックを構成し、それらは半導体基板の共通のウエル領域内に形成されて消去の単位とされる。一方、行方向に並んだ複数のフラッシュメモリセルのコントロールゲートは行単位でワード線に接続される。ローデコーダ１５０は、アドレスバッファ１４３を介して伝達されたローアドレスをデコードすることでフラッシュメモリアレイ１４９におけるワード線を選択レベルに駆動する。チャージポンプ回路１５２は、複数のチャージポンプＰｕｍｐ  ０〜Ｐｕｍｐ  Ｌ（ここで「Ｌ」は０を除く正の整数）を意味する）を含む。複数のチャージポンプＰｕｍｐ  ０〜Ｐｕｍｐ  Ｌは、それぞれ所定の出力電圧Ｖ０〜ＶＬを形成する。この出力電圧Ｖ０〜ＶＬはディストリビュータ１５１に伝達される。ディストリビュータ１５１は、サブシーケンサ１４５の出力に応じて、複数のチャージポンプＰｕｍｐ  ０〜Ｐｕｍｐ  Ｌの出力電圧Ｖ０〜ＶＬを選択的に、カラムデコーダ１４８，ローデコーダ１５０に伝達する。
【００４４】
上記の構成において、供給される電源電圧は、回路によって相違する。
【００４５】
例えばパワーマネージメントユニット１２では、低電位側電源電圧Ｖｓｓを基準とする高電位側電源電圧Ｖｃｃや内部電源電圧Ｖｄｄが使用される。ＣＰＵ１１、メインレギュレータ１３、Ｉ／Ｏコントローラ１４１、発振器１４４、サブシーケンサ１４５、Ｖｃｃアナライザ１４６には、低電位側電源電圧Ｖｓｓを基準とする内部電源電圧Ｖｄｄが印加されて動作する。センスアンプ１４７、カラムデコーダ１４８、フラッシュメモリ１４９、ローデコーダ１５０、ディストリビュータ１５１、チャージポンプ回路１５２には、低電位側電源電圧Ｖｓｓを基準とする高電位側電源電圧Ｖｃｃや内部電源電圧Ｖｄｄに加えて、チャージポンプ回路１５２で生成された高電圧が印加される。
【００４６】
図３には、Ｖｃｃアナライザ１４６におけるＶｃｃ整合確認結果の出力論理の真理値表が示される。
【００４７】
Ｖｃｃ＿ｍｏｄ＿ｌａｔｃｈｅｄと、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌとに不整合を生じた場合、Ｖｃｃアナライザ１４６によって、Ｖｃｃ＿ｅｒｒがハイレベル（Ｈ）にアサートされる。例えばユーザ指定によってＶｃｃ＿ｍｏｄ＿ｌａｔｃｈｅｄがＨとされているにもかかわらず、検出結果Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿ＬがＬ，Ｌの場合（Ｖｃｃ＜ＶｃｃＨｍｉｎ）には、不整合を生じているため、Ｖｃｃアナライザ１４６によって、Ｖｃｃ＿ｅｒｒがハイレベル（Ｈ）にアサートされる。また、ユーザ指定によってＶｃｃ＿ｍｏｄ＿ｌａｔｃｈｅｄがＬとされているにもかかわらず、検出結果Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿ＬがＨ，Ｈの場合（ＶｃｃＬｍａｘ≦Ｖｃｃ）には、不整合を生じているため、Ｖｃｃアナライザ１４６によって、Ｖｃｃ＿ｅｒｒがハイレベル（Ｈ）にアサートされる。Ｖｃｃ＿ｅｒｒの論理は、メインシーケンサ１３によってクリアされるまで、Ｖｃｃアナライザ１４６によって保持される。尚、Ｖｃｃ＿ｍｏｄ＿ｌａｔｃｈｅｄと、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌとが整合する場合には、Ｖｃｃ＿ｅｒｒはローレベル（Ｌ）にネゲートされる。
【００４８】
サブシーケンサ１４５の各ステート長をＶｃｃモードに応じて切り替える必要がある。また、Ｖｃｃモードに応じて状態遷移も異なる。そのため、各状態の途中でＶｃｃモードが切り替わると、タイマーの誤動作、電源やディストリビュータ内の想定外の電圧状態によるデバイス破壊を起こす可能性がある。このような事態を防ぐには、サブシーケンサ１４５が書き込み／消去／ベリファイ等の制御期間中において、メインシーケンサ１３から伝達されたＶｃｃ＿ｍｏｄｅの論理変化をサブシーケンサ１４５に伝達しないようにすればよい。これを実現するには、メインシーケンサ１３から伝達されたＶｃｃ＿ｍｏｄｅを保持するためのＶｃｃ＿ｍｏｄｅ保持回路をＶｃｃアナライザ１４６内に設ければ良い。図４には、上記Ｖｃｃ＿ｍｏｄｅ保持回路の構成例が示される。Ｖｃｃアナライザ１４６内のＶｃｃ＿ｍｏｄｅ保持回路１４６Ａは、セレクタ１４６１，１４６２と、フリップフロップ１４６３とを含む。サブシーケンサ１４５が書き込み／消去／ベリファイ等の制御を行っているか否かは、サブシーケンサ１４５からＳｔａｔｅ信号によってＶｃｃアナライザ１４６に伝達される。サブシーケンサ１４５が書き込み／消去／ベリファイ等の制御を行っている場合、Ｓｔａｔｅ信号によってビジー（ＢＳＹ）状態であることが示される。セレクタ１４６１は、サブシーケンサ１４５からのＳｔａｔｅ信号がビジー（ＢＳＹ）か否かによって「１’ｂ１」と「１’ｂ０」と選択する。セレクタ１４６２は、セレクタ１４６１の出力が「１’ｂ０」の場合に、Ｖｃｃ＿ｍｏｄｅの論理を選択的にフリップフロップ１４６３に伝達し、セレクタ１４６１の出力が「１’ｂ１」の場合に、フリップフロップ１４６３の出力を当該フリップフロップの入力とすることで、フリップフロップ１４６３を保持状態とする。つまり、Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄの論理が固定される。この保持状態は、サブシーケンサ１４５が書き込み／消去／ベリファイ等の制御を行っていない状態がｓｔａｔｅ信号によって示されるまで維持される。
【００４９】
図５には、メインシーケンサ１３における主要処理のフローチャートが示される。
【００５０】
メインシーケンサ１３は、ＣＰＵ１１から書き込み（又は消去）コマンドが伝達されると、それに応じてコマンドレジスタ１３３の設定を行い（５０１）、フラッシュメモリ１４からの終了応答を待つ（５０２）。フラッシュメモリ１４内のサブシーケンサ１４５は、コマンドレジスタ１３３の設定内容に応じて、フラッシュメモリアレイ１４９の書き込み（又は消去）制御を行い、その書き込み（又は消去）が完了した時点でメインシーケンサ１３に終了応答を返す。メインシーケンサ１３は、サブシーケンサ１４５から終了応答を受け取ると、コマンドレジスタ１３３をクリアし（５０３）、その後、エラー信号Ｖｃｃ＿ｅｒｒの論理に基づいて、Ｖｃｃアナライザ１４６によってＶｃｃエラーが検出されているか否かの判別を行う（５０４）。メインシーケンサ１３は、Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされていた場合、Ｖｃｃエラーを生じていると判断し（Ｙ）、ステータスレジスタ１３１を介して、ＣＰＵ１１にＶｃｃエラーステータスを返す（５１１）。また、メインシーケンサ１３は、Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされていない場合、Ｖｃｃエラーを生じていないと判断し（Ｎ）、フラッシュメモリのしきい値Ｖｔｈが書き込みレベル（又は消去レベル）に到達したか否かを確認するため、コマンドレジスタ１３３に、書き込みベリファイコマンド（又は消去ベリファイコマンド）の設定を行う（５０５）。そしてフラッシュメモリ１４からの終了応答を待つ（５０６）。フラッシュメモリ１４内のサブシーケンサ１４５は、コマンドレジスタ１３３の設定内容に応じて、フラッシュメモリアレイ１４９の書き込みベリファイ（又は消去ベリファイ）を行い、その書き込みベリファイ（又は消去ベリファイ）が終了した時点で、サブシーケンサ１４５からメインシーケンサ１３に終了応答を返す。メインシーケンサ１３は、サブシーケンサ１４５から終了応答を受け取ると、コマンドレジスタ１３３をクリアし（５０７）、その後、その後、エラー信号Ｖｃｃ＿ｅｒｒの論理に基づいて、Ｖｃｃアナライザ１４６によってＶｃｃエラーが検出されているか否かの判別を行う（５０８）。メインシーケンサ１３は、Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされていた場合、Ｖｃｃエラーを生じていると判断し（Ｙ）、ＣＰＵ１１に対してＶｃｃエラーステータスを返す（５１１）。また、メインシーケンサ１３は、Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされていない場合、Ｖｃｃエラーを生じていないと判断し（Ｎ）、フラッシュメモリアレイ１４９の書き込みベリファイ（又は消去ベリファイ）の結果に基づいて、フラッシュメモリのしきい値Ｖｔｈが所望レベルに達しているか否かの判別を行う（５０９）。この判別において、フラッシュメモリのしきい値Ｖｔｈが所望レベルに達している（Ｙ）と判断した場合、ＣＰＵ１１に対して終了ステータスを返す（５１０）。また、メインシーケンサ１３は、上記ステップ５０９の判別において、フラッシュメモリのしきい値Ｖｔｈが所望レベルに達していない（Ｎ）と判断した場合には、上記ステップ５０１の処理に戻り、再び書き込み（又は消去）を実行するためにコマンドレジスタ１３３の設定を行い（５０１）、フラッシュメモリ１４からの終了応答を待つ（５０２）。以下、上記ステップ５０９の判別において、フラッシュメモリのしきい値Ｖｔｈが所望レベルに達している（Ｙ）と判断されるまで、書き込み（又は消去）と、書き込みベリファイ（又は消去ベリファイ）が繰り返される。
【００５１】
図６には、サブシーケンサ１４５における主要処理のフローチャートが示される。
【００５２】
サブシーケンサ１４５は、メインシーケンサ１３におけるコマンドレジスタ１３３が設定されると、設定されたコマンドに応じた処理を制御する。
【００５３】
サブシーケンサ１４５は、エラー信号Ｖｃｃ＿ｅｒｒの論理に基づいて、Ｖｃｃアナライザ１４６によってＶｃｃエラーが検出されているか否かの判別を行う（６０１）。Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされていない場合にはＶｃｃエラーが検出されていない（Ｎ）と判断し、Ｖｃｃモードに応じて、ディストリビュータ１５１のシーケンスが制御される。すなわち、Ｖｃｃアナライザ１４６によって低Ｖｃｃモードが指示された場合には、ディストリビュータ１５１を制御して、低Ｖｃｃモードに対応するバイアス印加のための電圧選択が行われ（６０２）、Ｖｃｃアナライザ１４６によって高Ｖｃｃモードが指示された場合には、ディストリビュータ１５１を制御して、高Ｖｃｃモードに対応するバイアス印加のための電圧選択が行われる（６０３）。
【００５４】
次に、サブシーケンサ１４５は、再びエラー信号Ｖｃｃ＿ｅｒｒの論理に基づいて、Ｖｃｃアナライザ１４６によってＶｃｃエラーが検出されているか否かの判別を行う（６０４）。Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされていない場合にはＶｃｃエラーが検出されていない（Ｎ）と判断し、Ｖｃｃモードに応じて、チャージポンプが起動される。Ｖｃｃアナライザ１４６によって低Ｖｃｃモードが指示されている場合には、ディストリビュータ１５１を制御して、低Ｖｃｃモードに対応するチャージポンプ制御が行われ（６０５）、Ｖｃｃアナライザ１４６によって高Ｖｃｃモードが指示されている場合には、高Ｖｃｃモードに対応するチャージポンプが起動される（６０６）。
【００５５】
チャージポンプの起動後、サブシーケンサ１４５は、再びエラー信号Ｖｃｃ＿ｅｒｒの論理に基づいて、Ｖｃｃアナライザ１４６によってＶｃｃエラーが検出されているか否かの判別を行う（６０７）。Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされていない場合にはＶｃｃエラーが検出されていない（Ｎ）と判断し、Ｖｃｃモードに応じたチャージポンプのセットアップの完了を待つ。チャージポンプの出力が所定の電圧レベルに達するまで待つ必要がある。Ｖｃｃアナライザ１４６によって低Ｖｃｃモードが指示されている場合には、低Ｖｃｃモードに応じたチャージポンプのセットアップの完了を待ち（６０８）、Ｖｃｃアナライザ１４６によって高Ｖｃｃモードが指示されている場合には、高Ｖｃｃモードに応じたチャージポンプのセットアップの完了を待つ（６０９）。
【００５６】
チャージポンプのセットアップ完了後、サブシーケンサ１４５は、再びエラー信号Ｖｃｃ＿ｅｒｒの論理に基づいて、Ｖｃｃアナライザ１４６によってＶｃｃエラーが検出されているか否かの判別を行う（６１０）。Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされていない場合にはＶｃｃエラーが検出されていない（Ｎ）と判断し、ディストリビュータ１５１を介して、バイアスのための電圧供給を行う（６１１）。
【００５７】
そして、チャージポンプがオフされ（６１２）、チャージポンプの電荷が放電されるのを待って（６１３）、ディストリビュータ１５１が初期化され（６１４）、終了応答がメインシーケンサ６１５に伝達される（６１５）。
【００５８】
また、上記ステップ６０１の判別において、Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされている場合にはＶｃｃエラーが検出されている（Ｙ）と判断し、終了応答がメインシーケンサ６１５に伝達される（６１５）。
【００５９】
上記ステップ６０４の判別において、Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされている場合にはＶｃｃエラーが検出されている（Ｙ）と判断し、ディストリビュータ１５１が初期化される（６１４）。
【００６０】
上記ステップ６０７の判別において、Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされている場合や、上記ステップ６１０の判別において、Ｖｃｃアナライザ１４６によってエラー信号Ｖｃｃ＿ｅｒｒがアサートされている場合には、Ｖｃｃエラーが検出されている（Ｙ）と判断し、チャージポンプがオフされる（６１２）。
【００６１】
電源電圧モードに応じてサブシーケンサ１４５の各ステートが切り替えられ、また、電源電圧モードに応じて状態遷移も異なる。高Ｖｃｃモードに対応する電圧選択が行われた場合には、低Ｖｃｃモードに対応する電圧選択が行われた場合に比べて高速動作が可能になり、フラッシュメモリアレイ１４９への書き込みや消去を短時間で完了することができる。
【００６２】
図７には、高電位側電源電圧Ｖｃｃの適正範囲とＶｃｃモード指定との関係が示される。
【００６３】
Ｖｃｃのサポート範囲、低Ｖｃｃモードに対応した制御が必要な範囲、高Ｖｃｃモードに対応した制御が必要な範囲は、図７（Ａ）に示される。
【００６４】
Ｖｃｃのサポート範囲はＶｃｃｍｉｎ以上、Ｖｃｃｍａｘ以下である。ＶｃｃがＶｃｃｍｉｎ以上、ＶｃｃＬｍａｘ以下では低Ｖｃｃモードに対応した制御が必要である。ＶｃｃがＶｃｃＬｍａｘより高い時に低Ｖｃｃモードに対応した制御を行うと過剰昇圧となりデバイス破壊が起きる。ＶｃｃがＶｃｃＨｍｉｎ以上、Ｖｃｃｍａｘ以下では高Ｖｃｃモードに対応した制御が必要である。ＶｃｃがＶｃｃＨｍｉｎより低い時に高Ｖｃｃモードに対応した制御を行うと必要な昇圧レベルに到達しないため、書き込みや消去ができない。
【００６５】
低Ｖｃｃモード及び高Ｖｃｃモードにおける制御は、図７（Ｂ）に示されるように行われる。図７（Ｂ）において横軸は時間である。
【００６６】
Ｖｃｃモード（低Ｖｃｃモード／高Ｖｃｃモード）は、ユーザによりメインシーケンサ１３におけるＶｃｃモードレジスタ１３２に設定される。
【００６７】
Ｖｃｃモードレジスタ１３２に低Ｖｃｃモードが設定され、書き込み／消去開始から書き込み／消去終了までＶｃｃがＶｃｃｍｉｎ以上ＶｃｃＬｍａｘ以下であった場合、低Ｖｃｃモードで書き込み／消去を実施し、正常終了する（正常ケース１）。
【００６８】
Ｖｃｃモードレジスタ１３２に低Ｖｃｃモードが設定され、書き込み／消去開始時にＶｃｃがＶｃｃＬｍａｘを超えていた場合、Ｖｃｃアナライザ１４６によってＶｃｃ不整合が検出され、Ｖｃｃ＿ｅｒｒがアサートされる。この場合、図５におけるステップ５０４又は５０８の判別でＶｃｃエラーを生じていると判断され、ステータスレジスタ１３１を介して、ＣＰＵ１１にＶｃｃエラーステータス（エラー通知）が返される。この場合、ＣＰＵ１１にエラー通知されるのみで、書き込み／消去は行われない（異常ケース１）。
【００６９】
Ｖｃｃモードレジスタ１３２に低Ｖｃｃモードが設定され、書き込み／消去中にＶｃｃがＶｃｃＬｍａｘを超えた場合には、図６におけるステップ６０７又は６１０の判別でＶｃｃエラーを生じていると判断され、チャージポンプがオフされ（６１２）、チャージポンプの電荷が放電されるのを待って（６１３）、ディストリビュータ１５１が初期化され（６１４）、終了応答がメインシーケンサ６１５に伝達される（６１５）。ステータスレジスタ１３１を介して、ＣＰＵ１１にＶｃｃエラーステータス（エラー通知）が返される（異常ケース２）。
【００７０】
Ｖｃｃモードレジスタ１３２に高Ｖｃｃモードが設定され、書き込み／消去開始から書き込み／消去終了までＶｃｃがＶｃｃＨｍｉｎ以上Ｖｃｃｍａｘ以下であった場合、高Ｖｃｃモードで書き込み／消去を実施し、正常終了する（正常ケース２）。
【００７１】
Ｖｃｃモードレジスタ１３２に高Ｖｃｃモードが設定され、書き込み／消去開始時にＶｃｃがＶｃｃＨｍｉｎより低かった場合、Ｖｃｃアナライザ１４６によってＶｃｃ不整合が検出され、Ｖｃｃ＿ｅｒｒがアサートされる。この場合、図５におけるステップ５０４又は５０８の判別でＶｃｃエラーを生じていると判断され、ステータスレジスタ１３１を介して、ＣＰＵ１１にＶｃｃエラーステータス（エラー通知）が返される。書き込み／消去は開始されない（異常ケース３）。
【００７２】
Ｖｃｃモードレジスタ１３２に高Ｖｃｃモードが設定され、書き込み／消去中にＶｃｃがＶｃｃＨｍｉｎより低くなった場合、図６におけるステップ６０７又は６１０の判別でＶｃｃエラーを生じていると判断され、チャージポンプがオフされ（６１２）、チャージポンプの電荷が放電されるのを待って（６１３）、ディストリビュータ１５１が初期化され（６１４）、終了応答がメインシーケンサ６１５に伝達される（６１５）。ステータスレジスタ１３１を介して、ＣＰＵ１１にＶｃｃエラーステータス（エラー通知）が返される（異常ケース４）。
【００７３】
ここで、異常ケース３や異常ケース４では、そのまま、高Ｖｃｃモードで制御を継続しても、必要な昇圧レベルに到達せず書き込み／消去は正常に行われないが、デバイス破壊は起きない。したがって、異常ケース３や異常ケース４の場合には、放電処理等はせずに、Ｖｃｃアナライザ１４６においてそれまでの高Ｖｃｃモードから低Ｖｃｃモードに切り替えてから、制御を継続するようにしても良い。
【００７４】
実施の形態１によれば、以下の作用効果を奏する。
【００７５】
（１）Ｖｃｃモードによりディストリビュータ及びチャージポンプの制御シーケンスを切り替えており、また、待ち時間もＶｃｃモードにより切り替えているため、Ｖｃｃモードに対して電源電圧Ｖｃｃが適切な範囲にあれば過剰昇圧や昇圧不足が起きない。これにより、電源電圧レベルに対応して予め設定された複数の電源電圧モードにおいて不揮発性メモリの安定動作を図ることができる。
【００７６】
（２）ユーザは低Ｖｃｃモードを指定してＶｃｃ不整合のエラー通知を受信した場合（異常ケース１、異常ケース２）、高Ｖｃｃモードを指定し直して再度書き込み／消去をやり直すことにより、正常に書き込み／消去が可能である。同様に高Ｖｃｃモードを指定し、Ｖｃｃ不整合のエラー通知を受信した場合（異常ケース３、異常ケース４）、低Ｖｃｃモードを指定し直して再度書き込み／消去をやり直すことにより、正常に書き込み／消去が可能である。すなわち、ＶｃｃｍｉｎからＶｃｃｍａｘまでのＶｃｃにおいて書き込み／消去が可能である。
【００７７】
（３）メインシーケンサ１３から伝達されたＶｃｃ＿ｍｏｄｅを保持するためのＶｃｃ＿ｍｏｄｅ保持回路をＶｃｃアナライザ１４６内に設けているので、サブシーケンサ１４５が書き込み／消去／ベリファイ等の制御期間中において、メインシーケンサ１３から伝達されたＶｃｃ＿ｍｏｄｅの論理変化がサブシーケンサ１４５には伝達されない。これにより、書き込みや消去中（ベリファイを含む）に電源電圧モードが切り替わるのを防止することができるので、回路誤動作の防止することができ、また、ベリファイの信頼性を確保できる。
【００７８】
（４）上記（１）〜（３）の作用効果により、フラッシュメモリ１４の信頼性を向上させることができる。そしてそのようなフラッシュメモリ１４を備えるマイクロコンピュータ１０の信頼性の向上を図ることができる。
【００７９】
《実施の形態２》
実施の形態１では、Ｖｃｃ不整合が発生した場合、エラーを通知し、ユーザはそれを見てＶｃｃモードを指定し直すことで、ＶｃｃｍｉｎからＶｃｃｍａｘまでサポートする。これに対して実施の形態２では、Ｖｃｃモードを指定し直すことなく、ＶｃｃｍｉｎからＶｃｃｍａｘまでサポートする。
【００８０】
図８には、メインシーケンサ１３における主要処理のフローチャートが示される。
【００８１】
図８に示される主要処理のフローチャートが、図５に示される場合と大きく相違するのは、ステップ８１１，８１２でモードレジスタ１３２の設定内容を変更してからコマンドレジスタ１３３の設定に戻るようになっている点である。
【００８２】
ステップ８００では、ユーザのリクエストに応じて、モードレジスタ１３２の初期設定が行われる。ステップ８０１〜８１０は、図５におけるステップ５０１〜５１０に対応する。
【００８３】
図９には、高電位側電源電圧Ｖｃｃの適正範囲とＶｃｃモード指定との関係が示される。図９において横軸は時間である。
【００８４】
Ｖｃｃモード（低Ｖｃｃモード／高Ｖｃｃモード）の初期値は、実施の形態１の場合と同様にユーザがメインシーケンサのＶｃｃモードレジスタに設定する。
【００８５】
低Ｖｃｃモードがユーザにより設定され、書き込み／消去開始から書き込み／消去終了までＶｃｃがＶｃｃｍｉｎ以上ＶｃｃＬｍａｘ以下であった場合、低Ｖｃｃモード制御で書き込み／消去を実施し、正常終了する（正常ケース１）。
【００８６】
低Ｖｃｃモードがユーザにより設定され、書き込み／消去開始時にＶｃｃがＶｃｃＬｍａｘを超えていた場合、メインシーケンサはＶｃｃモードレジスタを高Ｖｃｃモードに変更して書き込み／消去を実施し、正常終了する（正常ケース１−１）。
【００８７】
低Ｖｃｃモードがユーザにより設定され、書き込み／消去中にＶｃｃがＶｃｃＬｍａｘを超えた場合、放電処理を実施した後、メインシーケンサはＶｃｃモードレジスタを高Ｖｃｃモードに変更して書き込み／消去を再度実施し、正常終了する（正常ケース１−２）。
【００８８】
高Ｖｃｃモードがユーザにより設定され、書き込み／消去開始から書き込み／消去終了までＶｃｃがＶｃｃＨｍｉｎ以上Ｖｃｃｍａｘ以下であった場合、高Ｖｃｃモードで書き込み／消去を実施し、正常終了する（正常ケース２）。
【００８９】
高Ｖｃｃモードがユーザにより設定され、書き込み／消去開始時にＶｃｃがＶｃｃＨｍｉｎより低かった場合、メインシーケンサはＶｃｃモードレジスタを低Ｖｃｃモードに変更して書き込み／消去を実施し、正常終了する（正常ケース２−３）。
【００９０】
高Ｖｃｃモード制御がユーザにより設定され、書き込み／消去中にＶｃｃがＶｃｃＨｍｉｎより低くなった場合、放電処理を実施した後、メインシーケンサはＶｃｃモードレジスタを低Ｖｃｃモードに変更して書き込み／消去を再度実施し、正常終了する（正常ケース２−４）。
【００９１】
実施の形態２によれば、以下の特有な効果を奏する。
【００９２】
実施の形態１では、Ｖｃｃ不整合が発生した場合、エラーを通知し、ユーザが指定するＶｃｃモードを指定し直すことでＶｃｃｍｉｎからＶｃｃｍａｘまでサポートする。これに対して実施の形態２によれば、ユーザがＶｃｃモードを指定し直すことなく、ＶｃｃｍｉｎからＶｃｃｍａｘまでサポートすることが可能となる。
【００９３】
《実施の形態３》
実施の形態１及び実施の形態２では、ユーザがＶｃｃモード又はＶｃｃモードの初期値を指定したが、以下に述べるように、高電位側電源電圧Ｖｃｃの検出レベルに応じてＶｃｃモードを自動的に判定するように構成することができる。
【００９４】
例えば図１０に示されるように、Ｖｃｃモードを判定するための基準レベルＶｃｃJを設定する。ＶｃｃJはＶｃｃＨｍｉｎより高く、ＶｃｃＬｍａｘより低く設定する。書き込み／消去開始時にＶｃｃモードの判定を行い、高電位側電源電圧ＶｃｃがＶｃｃJよりも低い場合は低Ｖｃｃモードと判定し、高電位側電源電圧ＶｃｃがＶｃｃJ以上であれば高Ｖｃｃモードと判定するように回路を構成すればよい。
【００９５】
図１１には、高電位側電源電圧Ｖｃｃの検出レベルに応じてＶｃｃモードを自動的に判定可能なマイクロコンピュータが示される。図１１に示されるマイクロコンピュータ１０が図１に示されるのと大きく相違するのは、パワーマネージメントユニット１２からＶｃｃアナライザ１４６に対して、Ｖｃｃ＿ｄｅｔｅｃｔ＿L／Hに加えて、Ｖｃｃ＿ｄｅｔｅｃｔ＿Jが伝達される点である。尚、本例では、Ｖｃｃモードを自動的に判定するようにしているため、図１に示されるモードレジスタ１３２に相当するものは省略されている。
【００９６】
Ｖｃｃ＿ｄｅｔｅｃｔ＿Jの論理は、パワーマネージメントユニット１２内のディテクタ１２３において、図１２に示される真理値表に従って決定される。すなわち、ディテクタ１２３は、高電位側電源電圧ＶｃｃがＶｃｃJよりも低い場合はＶｃｃ＿ｄｅｔｅｃｔ＿JをＬ（ローレベル）とし、高電位側電源電圧ＶｃｃがＶｃｃJ以上であればＶｃｃ＿ｄｅｔｅｃｔ＿JをＨ（ハイレベル）とする。
【００９７】
Ｖｃｃアナライザ１４６は、伝達されたＶｃｃ＿ｄｅｔｅｃｔ＿Jをラッチして、Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄを形成する。Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄ生成回路はこれまで説明した実施の形態と同様、図４に示される。ただし、図４に示すＶＣＣ＿ｍｏｄｅの代わりにＶｃｃ＿ｄｅｔｅｃｔ＿Ｊを接続する。Ｖｃｃアナライザ１４６は、図１３に示されるように、Ｖｃｃ＿ｄｅｔｅｃｔ＿Jがローレベルであれば、Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄをローレベルとし、Ｖｃｃ＿ｄｅｔｅｃｔ＿Jがハイレベルであれば、Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄをハイレベルとする。ただし、これまで説明した実施の形態と同様、サブシーケンサ１４５が書き込み／消去／ベリファイ等の制御を行っていない状態がｓｔａｔｅ信号によって示されるまで維持される。
【００９８】
また、Ｖｃｃアナライザ１４６は、Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄ、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌ、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈの整合性をチェックし、不整合を生じた場合、メインシーケンサ１３に対してエラー信号Ｖｃｃ＿ｅｒｒをアサートする。Ｖｃｃアナライザ１４６におけるＶｃｃ整合確認結果の出力論理は、図３の真理値表に基づいて決定される。Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄと、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌとに不整合を生じた場合、Ｖｃｃアナライザ１４６によって、Ｖｃｃ＿ｅｒｒがハイレベル（Ｈ）にアサートされる。例えばＶｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄがＨとされているにもかかわらず、検出結果Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿ＬがＬ，Ｌの場合（Ｖｃｃ＜ＶｃｃＨｍｉｎ）には、不整合を生じているため、Ｖｃｃアナライザ１４６によって、Ｖｃｃ＿ｅｒｒがハイレベル（Ｈ）にアサートされる。また、Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄがＬとされているにもかかわらず、検出結果Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿ＬがＨ，Ｈの場合（Ｖｃｃｍａｘ≦Ｖｃｃ）には、不整合を生じているため、Ｖｃｃアナライザ１４６によって、Ｖｃｃ＿ｅｒｒがハイレベル（Ｈ）にアサートされる。Ｖｃｃ＿ｅｒｒの論理は、メインシーケンサ１３によってクリアされるまで、Ｖｃｃアナライザ１４６によって保持される。尚、Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄと、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈ，Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌとが整合する場合には、Ｖｃｃ＿ｅｒｒはローレベル（Ｌ）にネゲートされる。
【００９９】
図１４には、図１１に示されるメインシーケンサ１３における主要処理のフローチャートが示される。
【０１００】
図１４に示されるフローチャートが、図５に示されるのと大きく相違するのは、ステップ５０４及び５０８のＶｃｃエラー判別、並びにステップ５１１のＶｃｃエラーステータスを返す処理に相当するものが省略されている点である。
【０１０１】
尚、図１４におけるステップ１４０１〜１４０３の処理は、図５におけるステップ５０１〜５０３の処理に相当し、図１４におけるステップ１４０５〜１４０７の処理は、図５におけるステップ５０５〜５０７の処理に相当し、図１４におけるステップ１４０９，１４１０の処理は、図５におけるステップ５０９，５１０の処理に相当する。
【０１０２】
図１５には、図１１に示されるサブシーケンサ１４５における主要処理のフローチャートが示される。
【０１０３】
図１１に示されるサブシーケンサ１４５は、Ｖｃｃアナライザ１４６から伝達されたＶｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄの論理を判定する（１５０１）。Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄがローレベルの場合には低Ｖｃｃモードとされ、Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄがハイレベルの場合には高Ｖｃｃモードとされる。図１５におけるステップ１５０２〜１５１５までの処理は、図６におけるステップ６０２〜６１５までの処理と同様とされる。ただし、ステップ１５０４の判別においてＶｃｃエラーが検出されている（Ｙ）と判断された場合には、ディストリビュータ１５１が初期化された後に（１５１８）、ステップ１５０１のＶｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄ論理判定に戻される。また、ステップ１５０７，１５１０の判別においてＶｃｃエラーが検出されている（Ｙ）と判断された場合には、チャージポンプがオフされる（１５１６）。そしてチャージポンプの電荷が放電されるのを待って（１５１７）、ディストリビュータ１５１が初期化された後に（１５１８）、ステップ１５０１のＶｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄ論理判定に戻され、再びＶｃｃアナライザ１４６から伝達されたＶｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄの論理判定が行われる。
【０１０４】
実施の形態３によれば、以下の特有な効果を奏する。
【０１０５】
（１）高電位側電源電圧Ｖｃｃの検出レベルに応じてＶｃｃモードを自動的に判定することができるので、ユーザがＶｃｃモードを指定することなく、ＶｃｃｍｉｎからＶｃｃｍａｘまでをサポートすることが可能になる。
【０１０６】
（２）パワーマネージメントユニット１２からＶｃｃアナライザ１４６に対して、Ｖｃｃ＿ｄｅｔｅｃｔ＿L／Hに加えて、Ｖｃｃ＿ｄｅｔｅｃｔ＿Jが伝達される。Ｖｃｃアナライザ１４６において、Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄはＶｃｃ＿ｄｅｔｅｃｔ＿Jをラッチすることにより生成され、Ｖｃｃ＿ｍｏｄｅ＿ｌａｔｃｈｅｄ、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｌ、Ｖｃｃ＿ｄｅｔｅｃｔ＿Ｈの整合性をチェックし、不整合を生じた場合、エラー信号Ｖｃｃ＿ｅｒｒをアサートするようにしている。このため、フラッシュメモリ１４の信頼性を向上させることができる。そしてそのようなフラッシュメモリ１４を備えるマイクロコンピュータ１０の信頼性の向上を図ることができる。
【０１０７】
《実施の形態４》
実施の形態１〜３のマイクロコンピュータ１０は、種々のマイクロコンピュータ応用システムに適用することができる。例えば図１６に示されるように、自動車１６０１のエンジン制御用ボード１６０２に適用することができる。適用されたマイクロコンピュータ１０では、マイクロコンピュータ応用システム毎に作成された所定の制御用プログラムが実行される。
【０１０８】
エンジン制御用ボード１６０２は、エンジンコントロールユニット(Engine Control Unit,ECU)とも称され、主に自動車１６０１における点火系と燃料系の制御を行っている。オートマチック車ではトランスミッションを含むパワートレイン全体の制御も行う。さらに、エンジンに対するほぼ全ての制御を行う場合もある。このようなエンジン制御用ボード１６０２において、実施の形態１〜３のマイクロコンピュータ１０が搭載される。
【０１０９】
また、実施の形態１〜３のマイクロコンピュータ１０は、図１７に示されるように、家電製品の一例とされる洗濯機１７０１の制御用ボード１７０２に適用することができる。この制御用ボード１７０２では、洗濯機に搭載されたインバータモータの制御が行われる。
【０１１０】
図１６に示されるエンジン制御用ボード１６０２や、図１７に示される家電制御用ボード１７０２においては、フラッシュメモリ１４を備えるマイクロコンピュータ１０の信頼性により、マイクロコンピュータ応用システムの信頼性の向上を図ることができる。
【０１１１】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１１２】
例えば、フラッシュメモリ１４が不揮発性メモリとして単体で提供される場合においても本発明を適用することができる。
【符号の説明】
【０１１３】
１０  マイクロコンピュータ
１１  ＣＰＵ
１２  パワーマネージメントユニット
１３  メインシーケンサ
１４  フラッシュメモリ
１２１  レギュレータ
１２２  ノイズフィルタ
１２３  ディテクタ
１４１  Ｉ／Ｏコントロール回路
１４２  Ｉ／Ｏバッファ
１４３  アドレスバッファ
１４４  発振器
１４５  サブシーケンサ
１４６  Ｖｃｃアナライザ
１４７  センスアンプ
１４８  カラムデコーダ
１４９  フラッシュメモリアレイ
１５０  ローデコーダ
１５１  ディストリビュータ
１５２  チャージポンプ
【図１】
0005385220.tif 000002
【図２】
0005385220.tif 000003
【図３】
0005385220.tif 000004
【図４】
0005385220.tif 000005
【図５】
0005385220.tif 000006
【図６】
0005385220.tif 000007
【図７】
0005385220.tif 000008
【図８】
0005385220.tif 000009
【図９】
0005385220.tif 000010
【図１０】
0005385220.tif 000011
【図１１】
0005385220.tif 000012
【図１２】
0005385220.tif 000013
【図１３】
0005385220.tif 000014
【図１４】
0005385220.tif 000015
【図１５】
0005385220.tif 000016
【図１６】
0005385220.tif 000017
【図１７】
0005385220.tif 000018