(57)【要約】【課題】電源供給の遮断時に退避データを格納することが可能な半導体装置を提供する。【解決手段】電源供給を受ける半導体装置であって、データを記憶することが可能な複数のメモリセルを有するメモリ部と、電源供給の遮断を検出する電源検出回路と、電源供給の遮断時に電源供給の代わりに動作電圧を一時的に供給することが可能なコンデンサとを備える。メモリ部は、電源供給が遮断した場合にコンデンサからの動作電圧に基づいて複数の書込電圧を生成する電圧生成部と、電圧生成部で生成された複数の書込電圧に基づいて複数のメモリセルに対する退避データのデータ書込を実行するための書込回路とを含む。【選択図】図１
2017220025.tif 000002
【特許請求の範囲】
【請求項１】
電源供給を受ける半導体装置であって、
データを記憶することが可能な複数のメモリセルを有するメモリ部と、
前記電源供給の遮断を検出する電源検出回路と、
前記電源供給の遮断時に前記電源供給の代わりに動作電圧を一時的に供給することが可能なコンデンサとを備え、
前記メモリ部は、
前記電源供給が遮断した場合に前記コンデンサからの前記動作電圧に基づいて複数の書込電圧を生成する電圧生成部と、
前記電圧生成部で生成された前記複数の書込電圧に基づいて前記複数のメモリセルに対する退避データの前記データ書込を実行するための書込回路とを含む、半導体装置。
【請求項２】
前記書込回路は、
前記電圧生成部で生成された前記複数の書込電圧を受けて動作するための複数のドライバと、
前記複数のドライバにそれぞれ対応して設けられる複数の書込電圧線と、
前記複数のドライバと、前記複数の書込電圧線との間にそれぞれ設けられた複数のトランジスタとを含み、
前記複数のトランジスタは、前記複数のドライバによる前記複数の書込電圧線のチャージ後に非導通状態に設定される、請求項１記載の半導体装置。
【請求項３】
前記半導体装置は、外部からの電源供給を受けて内部回路に対して電源供給する内部電源回路をさらに備え、
前記電源検出回路は、前記内部電源回路からの電源供給の遮断を検出する、請求項１または２記載の半導体装置。
【請求項４】
前記退避データは、退避コードを含み、
前記電源供給の回復時に前記メモリ部に前記退避コードが格納されているか否かを判断し、前記退避コードが格納されている場合には、前記退避データに基づく復帰動作を実行する復帰処理実行部をさらに備える、請求項１に記載の半導体装置。
【請求項５】
前記復帰処理実行部は、前記退避データが格納されていない場合には、通常の復帰動作を実行する、請求項４記載の半導体装置。
【請求項６】
前記復帰処理実行部は、前記電源検出回路からの電源復帰信号の入力を受ける、請求項４記載の半導体装置。
【請求項７】
電源供給を受ける半導体装置であって、
アナログ回路と、
前記アナログ回路に対して供給する電圧を生成するアナログ電圧生成回路と、
データを記憶することが可能な複数のメモリセルを有するメモリ部と、
前記電源供給の遮断を検出する電源検出回路と、
前記電源供給が遮断した場合に前記アナログ電圧生成回路で生成される電圧に基づいて書込電圧を生成する電圧生成部とを備え、
前記メモリ部は、前記電圧生成部で生成された前記書込電圧に基づいて前記複数のメモリセルに対する退避データのデータ書込を実行するための書込回路を含む、半導体装置。
【請求項８】
前記書込回路は、
前記電圧生成部で生成された前記複数の書込電圧を受けて動作するための複数のドライバと、
前記複数のドライバにそれぞれ対応して設けられる複数の書込電圧線と、
前記複数のドライバと、前記複数の書込電圧線との間にそれぞれ設けられた複数のトランジスタとを含み、
前記複数のトランジスタは、前記複数のドライバによる前記複数の書込電圧線のチャージ後に非導通状態に設定される、請求項７記載の半導体装置。
【請求項９】
前記半導体装置は、外部からの電源供給を受けて内部回路に対して電源供給する内部電源回路をさらに備え、
前記電源検出回路は、前記内部電源回路からの電源供給の遮断を検出する、請求項７記載の半導体装置。
【請求項１０】
前記退避データは、退避コードを含み、
前記電源供給の回復時に前記メモリ部に前記退避コードが格納されているか否かを判断し、前記退避コードが格納されている場合には、前記退避データに基づく復帰動作を実行する復帰処理実行部をさらに備える、請求項７記載の半導体装置。
【請求項１１】
前記復帰処理実行部は、前記退避データが格納されていない場合には、通常の復帰動作を実行する、請求項１０記載の半導体装置。
【請求項１２】
前記復帰処理実行部は、前記電源検出回路からの電源復帰信号の入力を受ける、請求項１０記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、半導体装置に関し、たとえば、不揮発性メモリを備えたマイクロコンピュータなどの半導体装置に関する。
【背景技術】
【０００２】
データの書込途中において停電等のシステム側の電源遮断が行われると、データ書込動作が中断される。一般にファイル形式の記憶装置に記憶するデータは、誤りビットの検出や修正を目的にエラー検出、修正用のコードをあるひとかたまりのデータの一部に付加して記憶しているため、データ書込途中に中断してしまうと、新しいデータと、古いデータとが入り混じったデータとなるために、エラー検出、修正用のコードが新しいデータ、古いデータとも合わなくなり、エラーになる可能性が高い。
【０００３】
この点で、特開２００６−１６３７５３号公報においては、電源供給の遮断を検知した場合に、外部側との信号の授受を遮断して、残電荷によりデータ書込を完了する方式が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１６３７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方で、電源供給の遮断が生じた場合、それが緊急状態として位置づけられるため、退避すべき制御データ（退避データ）等を格納することが望ましい。
【０００６】
本開示は、上記の課題を解決するためになされたものであって、電源供給の遮断時に退避データを格納することが可能な半導体装置を提供することを目的とする。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施例によれば、電源供給を受ける半導体装置であって、データを記憶することが可能な複数のメモリセルを有するメモリ部と、電源供給の遮断を検出する電源検出回路と、電源供給の遮断時に電源供給の代わりに動作電圧を一時的に供給することが可能なコンデンサとを備える。メモリ部は、電源供給が遮断した場合にコンデンサからの動作電圧に基づいて複数の書込電圧を生成する電圧生成部と、電圧生成部で生成された複数の書込電圧に基づいて複数のメモリセルに対する退避データのデータ書込を実行するための書込回路とを含む。
【発明の効果】
【０００９】
一実施例によれば、電源供給の遮断時に退避データを格納することが可能である。
【図面の簡単な説明】
【００１０】
【図１】実施形態１に基づく半導体装置の構成を示すブロック図である。
【図２】メモリセルの構成および動作を説明するための別の図である。
【図３】図１のフラッシュメモリモジュール４の構成を表わすブロック図である。
【図４】実施形態１に基づく電源供給の遮断時のタイミングチャートを説明する図である。
【図５】実施形態に基づくフラッシュメモリモジュール４の退避モードのフローを説明する図である。
【図６】実施形態２に基づくマイクロコンピュータ１Ａの構成を示すブロック図である。
【図７】実施形態２に基づく内部電源の電源供給の遮断時のタイミングチャートを説明する図である。
【図８】実施形態３に基づくマイクロコンピュータ１Ｂの構成を示すブロック図である。
【図９】実施形態３に基づく外部電源の電源供給の遮断時のタイミングチャートを説明する図である。
【図１０】実施形態４に基づく半導体装置の復帰処理を説明するフロー図である。
【発明を実施するための形態】
【００１１】
実施形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【００１２】
（実施形態１）
＜Ａ．マイクロコンピュータの構成＞
（ａ１．全体構成）
図１は、実施形態１に基づく半導体装置の構成を示すブロック図である。
【００１３】
図１を参照して、本例においては半導体装置の例としてマイクロコンピュータ（ＭＣＵ）１の構成が示されている。
【００１４】
マイクロコンピュータ１は、たとえばＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）集積回路製造技術などを用いることによって、単結晶シリコンのような１個の半導体チップに形成される。
【００１５】
マイクロコンピュータ１は、コントローラ７と、フラッシュメモリモジュール４とを備える。コントローラ７は、中央処理装置（ＣＰＵ）で実現するようにしても良い。また、本例においては、コントローラ７は、ランダムアクセスメモリ（ＲＡＭ）８を有する。コントローラ７は、命令制御部と実行部を備えて命令を実行する。フラッシュメモリモジュール４は、データおよびプログラムを格納する不揮発性メモリとして設けられる。
【００１６】
ＲＡＭ８は、ワーク領域などに利用されるとともに退避するべき制御データを格納する。コントローラ７は、マイクロコンピュータ内の各部の制御パラメータを所定周期毎に取得して制御データとしてＲＡＭ８に格納する。
【００１７】
マイクロコンピュータ１は、外部電源ＶＤＤの供給を受ける電源パッド２と、電源パッド２と接続され、各部に対して外部電源を供給するための電源バス９と、電源バス９に供給される電源供給の状態を監視する電源検出回路３とを備える。
【００１８】
さらに、マイクロコンピュータ１は、コンデンサ５と、スイッチ６とを含む。
コンデンサ５は、電源供給の遮断時に動作電圧を一時的に供給することが可能な容量を有する。
【００１９】
スイッチ６は、コンデンサ５に蓄積された電荷に基づいて各部に電源供給するための経路を接続するために設けられる。
【００２０】
スイッチ６は、コントローラ７からの指示により制御される。
コントローラ７は、フラッシュメモリモジュール４に対してデータ書込、データ読出および初期化等の処理等を指示する。フラッシュメモリモジュール４は、コントローラ７からの指示に従ってデータ書込、データ読出および初期化等の制御を実行する。
【００２１】
フラッシュメモリモジュール４は、メモリ制御回路４０と、電圧生成回路４１と、デコーダ群４２と、メモリマット２０とを含む。
【００２２】
メモリ制御回路４０は、フラッシュメモリモジュール４の動作全体を制御する。
電圧生成回路４１は、データ書込、データ読出および初期化（消去）に必要な各種動作電圧を生成する。
【００２３】
具体的には、データ書込、データ読出および初期化（消去）に必要なワード線ＷＬ、ソース線ＳＬ、ウェル（ＷＥＬＬ）、ビット線ＢＬへそれぞれ与える電圧は、メモリ制御回路４０からの指示に従って電圧生成回路４１で生成されてデコーダ群４２に供給される。
【００２４】
デコーダ群４２は、ワード線ＷＬ、ソース線ＳＬ、ウェル領域等を駆動するドライバ４３〜４５等を有し、電圧生成回路４１からの必要な各種動作電圧の供給を受けて各信号線を駆動する。
【００２５】
また、ワード線ＷＬを駆動するドライバ４３と、ワード線ＷＬとの間には選択トランジスタ４６が設けられる。
【００２６】
また、ソース線ＳＬを駆動するドライバ４４と、ソース線ＳＬとの間には選択トランジスタ４７が設けられる。
【００２７】
また、ウェル領域と接続される信号線ＷＥＬＬを駆動するドライバ４５と、当該信号線ＷＥＬＬとの間には選択トランジスタ４８が設けられる。
【００２８】
選択トランジスタ４６〜４８は、メモリ制御回路４０からの制御信号の入力を受けて動作する。具体的には、メモリ制御回路４０は、制御信号を選択トランジスタ４６〜４８に出力することにより導通／非導通を制御する。
【００２９】
また、図示しないが電圧生成回路４１は、ビット線を駆動するための電圧を生成し、一例として書込系の回路に当該電圧を供給する。
【００３０】
メモリマット２０は、複数の行列状に配置されたメモリセルＭＣを含む。メモリマット２０等の詳細については後述する。
【００３１】
（ａ２．メモリセルの構成および動作）
図２は、メモリセルの構成および動作を説明するための別の図である。
【００３２】
図２（Ａ）に示されたスタックド・ゲート型フラッシュメモリ素子は、ソース領域とドレイン領域との間のチャネル形成領域の上にゲート絶縁膜を介してフローティングゲートＦＧとコントロールゲートＣＧがスタックされることによって構成される。コントロールゲートＣＧはワード線ＷＬに接続される。ドレイン領域はビット線ＢＬに接続され、ソース領域はソース線ＳＬに接続される。
【００３３】
図２（Ｂ）および（Ｃ）には、スタックド・ゲート型フラッシュメモリ素子の読出および書込／消去時におけるビット線ＢＬ、ワード線ＷＬ、ソース線ＳＬ、およびウェル領域（ＷＥＬＬ）の電圧設定の例が示されている。
【００３４】
図２（Ｂ）はＦＮトンネル書込方式によって閾値電圧Ｖｔｈを上げ、ビット線ＢＬへの電子の放出によって閾値電圧Ｖｔｈを下げる場合の電圧設定例が示されている。
【００３５】
図２（Ｃ）は、ホットキャリア書込方式によって閾値電圧Ｖｔｈを上げ、ウェル領域への電子の放出によって閾値電圧Ｖｔｈを下げる場合の電圧設定例が示されている。
【００３６】
なお、コントロールゲートＣＧを制御電極とも称し、ビット線ＢＬに接続される不純物領域を第１の主電極とも称し、ソース線ＳＬに接続される不純物領域を第２の主電極とも称する。
【００３７】
読出時には、たとえば、ＢＬ＝１．５Ｖ、ＷＬ＝１．５Ｖ，ＳＬ＝０Ｖ、ＷＥＬＬ＝０Ｖに設定される。メモリセルの閾値電圧Ｖｔｈが低ければメモリセルの抵抗は小さくなり（オン状態）、閾値電圧Ｖｔｈが高ければメモリセルの抵抗は大きくなる（オフ状態）。
【００３８】
メモリセルの閾値電圧Ｖｔｈを上げるには、たとえば、ＢＬ＝−１０Ｖ、ＷＬ＝１０Ｖ、ＳＬ＝−１０Ｖ、ＷＥＬＬ＝−１０Ｖに設定される。
【００３９】
一方、メモリセルの閾値電圧Ｖｔｈを下げるには、たとえば、ＢＬ＝１０Ｖ、ＷＬ＝−１０Ｖ、ＳＬ＝０Ｖ、ＷＥＬＬ＝０Ｖに設定される。
【００４０】
例えば、メモリセルの閾値電圧Ｖｔｈが高い場合を「１」または「０」のデータとして記憶させ、メモリセルの閾値電圧Ｖｔｈが低い場合を「０」または「１」のデータとして記憶させることが可能である。
【００４１】
（ａ３．フラッシュメモリの構成）
図３は、図１のフラッシュメモリモジュール４の構成を表わすブロック図である。
【００４２】
図３を参照して、上下方向を列方向と称し、左右方向を行方向と称する。フラッシュメモリモジュール４は、メモリマット２０と、出力バッファ（ＯＢＵＦ）３４と、デコーダ群４２とを含む。
【００４３】
本例においては、デコーダ群４２は、第１の行デコーダ（ＲＤＥＣ１）３０と、第２の行デコーダ（ＲＤＥＣ２）３１と、列デコーダ（ＣＤＥＣ）３２とを含む。
【００４４】
メモリマット２０は、階層センスアンプ帯２３と、階層センスアンプ帯２３に対して列方向の両側に設けられたメモリアレイ２２，２４とを１つの構成単位（以下、メモリブロック２１と称する）として含む。メモリマット２０には、このようなメモリブロック２１が列方向に複数配置されている（図３では１つのメモリブロック２１のみが代表的に示されている）。以下では、メモリアレイ２２を「上側のメモリアレイ２２」とも称し、メモリアレイ２４を「下側のメモリアレイ２４」とも称する。
【００４５】
メモリマット２０は、行方向に延びる複数のワード線ＷＬ、行方向に延びる複数のソース線ＳＬ、列方向に延びる複数の副ビット線ＳＢＬを含む。これらの制御信号線はメモリアレイ２２，２４ごとに設けられている。
【００４６】
メモリマット２０は、メモリマット２０で共通に設けられた複数の書込系主ビット線ＷＭＢＬと読出系主ビット線ＲＷＢＬとを含む。書込系主ビット線ＷＭＢＬの各々は、複数の副ビット線ＳＢＬに対応し、対応する副ビット線ＳＢＬに副ビット線セレクタ２６Ｕ，２６Ｄを介して接続される。すなわち、書込系主ビット線ＷＭＢＬおよび副ビット線ＳＢＬは階層化されている。
【００４７】
メモリアレイ２２，２４には、複数のメモリセルＭＣが行列状に配設されている。メモリアレイの行は複数のワード線ＷＬにそれぞれ対応するとともに、すなわち、ワード線ＷＬは、メモリアレイの行単位で設けられている。メモリアレイの列は、複数の副ビット線ＳＢＬにそれぞれ対応する。すなわち、副ビット線ＳＢＬは、メモリアレイの列単位で設けられている。ソース線ＳＬは、メモリアレイの複数行で共通に接続される。データ読出時には、ソース線ＳＬは接地ノードＶＳＳに接続されている。
【００４８】
なお、図３には、各メモリセルがスタックド・ゲート型フラッシュメモリ素子である場合が示されているが、各メモリセルは、スプリットゲート型フラッシュメモリ素子であってもよいことは言うまでもない。
【００４９】
フラッシュメモリモジュール４では、共通のワード線ＷＬに接続された書換え可能な１対の不揮発性メモリセルがツインセルとして用いられる。図３のメモリアレイ２４では、共通のワード線ＷＬに接続された１対のメモリセルＭＣ１，ＭＣ２が代表的に示されている。同様にメモリアレイ２２では、共通のワード線ＷＬに接続された１対のメモリセルＭＣ３，ＭＣ４が代表的に示されている。本明細書では、メモリセルＭＣ１，ＭＣ３を「ポジティブセル」と称し、メモリセルＭＣ２，ＭＣ４を「ネガティブセル」と称する。
【００５０】
ツインセルを構成するメモリセルＭＣ１，ＭＣ２において、各コントロールゲートＣＧは、対応する共通のワード線ＷＬに接続される。各メモリセルのソースは、共通のソース線ＳＬに接続される。メモリセルＭＣ１，ＭＣ２は、さらに、列単位でそれぞれ対応する副ビット線ＳＢＬに接続される。
【００５１】
階層センスアンプ帯２３は、センスアンプＳＡと、読出列セレクタ２５と、副ビット線セレクタ２６Ｕ，２６Ｄとを含む。
【００５２】
センスアンプＳＡは、第１および第２の入力ノードを備え、第１の入力ノードに接続された第１の出力信号線ＣＢＬＵに流れる電流と、第２の入力ノードに接続された第２の出力信号線ＣＢＬＤに流れる電流との差を増幅することによって、両電流値の比較結果を出力する。以下では、第１の出力信号線ＣＢＬＵを上側の出力信号線とも称し、第２の出力信号線ＣＢＬＤを下側の出力信号線とも称する。センスアンプＳＡの出力信号は、列方向に延びる読出系主ビット線ＲＭＢＬを介して出力バッファ（ＯＢＵＦ）３４に伝達される。出力バッファ３４は、センスアンプＳＡの出力を図１のＣＰＵ２などに出力する。
【００５３】
読出列セレクタ２５は、複数のＰＭＯＳトランジスタ５１Ｕ〜５４Ｕ，５１Ｄ〜５４Ｄを含み、これらのＰＭＯＳトランジスタを切替えることによって、各副ビット線ＳＢＬと上記の出力信号線ＣＢＬＵ，ＣＢＬＤとの接続切替えを行う接続切替え部として機能する（以下、上記のようにスイッチとして用いられるＭＯＳトランジスタをＭＯＳトランジスタスイッチとも称する）。基本的に、上側のメモリアレイ２２で用いられる副ビット線ＳＢＬは、ＰＭＯＳ（Positive-channel  MOS）トランジスタスイッチ（５１Ｕ，５３Ｕ；５２Ｕ，５４Ｕなど）を介して、上側の出力信号線ＣＢＬＵに接続される。同様に、下側のメモリアレイ２４で用いられる副ビット線ＳＢＬは、ＰＭＯＳトランジスタスイッチ（５１Ｄ，５３Ｄ；５２Ｄ，５４Ｄなど）を介して、下側の出力信号線ＣＢＬＤに接続される。
【００５４】
さらに、読出列セレクタ２５は、相補リード方式の場合に、ネガティブセルを上記の基本的な場合の接続先と逆の出力信号線（ＣＢＬＵまたはＣＢＬＤ）に接続するためのＰＭＯＳトランジスタスイッチ５５Ｕ，５５Ｄを含む。たとえば、メモリセルＭＣ１，ＭＣ２によって構成されるツインセルのデータを読み出す場合には、メモリセルＭＣ１は、ＰＭＯＳトランジスタスイッチ５３Ｄ，５１Ｄを介して下側の出力信号線ＣＢＬＤに接続される。メモリセルＭＣ２は、ＰＭＯＳトランジスタスイッチ５４Ｄ，５５Ｄを介して上側の出力信号線ＣＢＬＵに接続される。同様に、メモリセルＭＣ３，ＭＣ４によって構成されるツインセルのデータを読み出す場合には、メモリセルＭＣ３は、ＰＭＯＳトランジスタスイッチ５３Ｕ，５５Ｕを介して下側の出力信号線ＣＢＬＤに接続される。メモリセルＭＣ４は、ＰＭＯＳトランジスタスイッチ５４Ｕ，５２Ｕを介して上側の出力信号線ＣＢＬＵに接続される。
【００５５】
副ビット線セレクタ２６Ｕ，２６Ｄは、複数のＮＭＯＳ（Negative-channel  MOS）トランジスタスイッチ６０Ｕ，６０Ｄを含み、これらのＮＭＯＳトランジスタスイッチ６０Ｕ，６０Ｄのオンおよびオフを切り替えることによって、書込系主ビット線ＷＭＢＬに対して、対応する副ビット線ＳＢＬを選択的に接続する。
【００５６】
具体的には、メモリアレイ２２に設けられた副ビット線ＳＢＬは、対応する主ビット線ＷＭＢＬとＮＭＯＳトランジスタスイッチ６０Ｕを介して接続される。メモリアレイ２４に設けられた副ビット線ＳＢＬは、対応する主ビット線ＷＭＢＬとＮＭＯＳトランジスタスイッチ６０Ｄを介して接続される。副ビット線セレクタ２６Ｕ，２６Ｄは、データ書込時のみに用いられ、データ読出時には用いられない。
【００５７】
第１の行デコーダ（ＲＤＥＣ１）３０は、ワード線ＷＬを選択的に活性化するためのドライバ１８０を含む。第２の行デコーダ（ＲＤＥＣ２）３１は、およびソース線ＳＬを選択的に活性化するためのドライバ１８３を含む。第２の行デコーダ３１は、さらに、副ビット線セレクタ２６Ｕ，２６Ｄを制御する制御信号線ＺＬを選択的に活性化するためのドライバ１８４を含む。
【００５８】
ワード線ＷＬを駆動するドライバ１８０と、ワード線ＷＬとの間には選択トランジスタが設けられる。また、ソース線ＳＬを駆動するドライバ１８３と、ソース線ＳＬとの間には選択トランジスタが設けられる。
【００５９】
制御信号線ＺＬは、副ビット線セレクタ２６Ｕ，２６Ｄに設けられたＮＭＯＳトランジスタスイッチ６０Ｕ，６０Ｄのゲートに接続される。第１の行デコーダ３０および第２の行デコーダ３１による選択動作は、読出アクセス、データの書込動作および初期化動作（消去動作）ではアドレス情報などに従う。
【００６０】
フラッシュメモリモジュール４は、さらに、入出力バッファ（ＩＯＢＵＦ）３３と、主ビット線電圧制御回路３９と、列デコーダ（ＣＤＥＣ）３２と、書換列セレクタ３８と、ベリファイ回路３７と、タイミングジェネレータ（ＴＭＧ）３６とを含む。
【００６１】
入出力バッファ（ＩＯＢＵＦ）３３は、コントローラ７に接続される。入出力バッファ３３は、コントローラ７から書込データを受ける。入出力バッファ３３は、さらに、ベリファイセンスアンプＶＳＡの判定結果をコントローラ７に出力する。また、入出力バッファ３３は、読出データをコントローラ７に出力する。
【００６２】
主ビット線電圧制御回路３９は、書込系主ビット線ＷＭＢＬにそれぞれ対応して設けられた複数のプログラムラッチ回路ＰＲＧＬを含む。プログラムラッチ回路ＰＲＧＬは、入出力バッファ３３を介して供給された書込データを保持する。データ書込の際に書込系主ビット線ＷＭＢＬには、対応するプログラムラッチ回路ＰＲＧＬに保持されたデータ（「１」または「０」）に従った書込電流が選択的に流れる。
【００６３】
列デコーダ（ＣＤＥＣ）３２は、アドレス情報などに従って、書込系主ビット線ＷＭＢＬを選択するための制御信号などを生成する。
【００６４】
書換列セレクタ３８は、各書込系主ビット線ＷＭＢＬとベリファイセンスアンプＶＳＡとを選択的に接続するためのＮＭＯＳトランジスタスイッチ８０Ｂと、入出力バッファ３３とプログラムラッチ回路ＰＲＧＬとを選択的に接続するためのＮＭＯＳトランジスタスイッチ８０Ｌとを含む。ＮＭＯＳトランジスタスイッチ８０Ｂ，８０Ｌは、列デコーダ３２からの制御信号に従ってオンまたはオフに切り替わる。ＮＭＯＳトランジスタスイッチ８０Ｌがオンすることによって、対応するプログラムラッチ回路ＰＲＧＬに入出力バッファ３３から書込データが入力される。
【００６５】
ベリファイ回路３７は、書込対象のメモリセルのデータと、プログラムラッチ回路ＰＲＧＬに保持されている書込データとが一致するか否かを判定することによって、書込対象のメモリセルに所望のデータが書き込まれているかどうかを判定する。ベリファイ回路３７は、書込対象のメモリセルのデータを読み出すためのベリファイセンスアンプＶＳＡを含む。ベリファイセンスアンプＶＳＡは、書換列セレクタ３８の選択動作によって（すなわち、対応するＮＭＯＳトランジスタスイッチ８０Ｂがオンすることによって）、書込対象のメモリセルに対応する書込系主ビット線ＷＭＢＬと接続される。
【００６６】
タイミングジェネレータ(ＴＭＧ)３６は、メモリ制御回路４０からの指示に従って内部動作タイミングを規定する内部制御信号を生成する。
【００６７】
＜Ｂ．電源供給の遮断時の動作説明＞
（ｂ１．電源供給の遮断時のタイミングチャート）
図４は、実施形態１に基づく電源供給の遮断時のタイミングチャートを説明する図である。
【００６８】
図４に示されるように、時刻Ｔ１において、外部電源ＶＤＤがある検知レベルまで低下すると電源検出回路３は、検出信号（「Ｈ」レベル）を出力する。
【００６９】
電源検出回路３は、検出信号をコントローラ７に出力する。
コントローラ７は、電源検出回路３からの検出信号（「Ｈ」レベル）を受けてフラッシュメモリモジュール４に対して通常（Ｎｏｒｍａｌ）モードから退避モードへと移行するように指示する。また、コントローラ７は、ＲＡＭ８に格納されている退避データを読み出して、当該退避データをフラッシュメモリモジュール４に出力する。
【００７０】
フラッシュメモリモジュール４は、コントローラ７からの指示に従って通常モードから退避モードへと移行する。具体的には、メモリ制御回路４０は、電圧生成回路４１に指示してデータ書込のための書込電圧を生成するように指示する。また、メモリ制御回路４０は、現在の動作を停止して退避データのデータ書込を実行する。
【００７１】
電圧生成回路４１は、メモリ制御回路４０からの指示に従ってポンピング動作により書込電圧（高電圧）を生成する。なお、正の高電圧と共に負の高電圧も生成する。
【００７２】
そして、デコーダ群４２を活性化させて書込電圧線（ＷＬ，ＳＬ，ＷＥＬＬ等）を所望の電圧レベルにチャージする。
【００７３】
時刻Ｔ２において、書込電圧線が所望の電圧になった場合に選択トランジスタを非導通（ＯＦＦ）に設定する。
【００７４】
そして、時刻Ｔ３において、当該チャージされた書込電圧線に基づいてメモリセルに対するデータ書込を実行する。本例においては、ＲＡＭ８に格納されている制御データ（退避データ）をメモリセルに格納する。メモリセルに対するＦＮトンネル書込方式等の場合には低消費電力でのデータ書込が可能である。
【００７５】
そして、時刻Ｔ４において、フラッシュメモリモジュール４は、外部電源ＶＤＤが所定の閾値以下に低下したことを検知してリセット処理を実行する。
【００７６】
（ｂ２．フロー説明）
フラッシュメモリモジュール４における退避モードのフローについて説明する。
【００７７】
図５は、実施形態に基づくフラッシュメモリモジュール４の退避モードのフローを説明する図である。
【００７８】
図５を参照して、メモリ制御回路４０は、コントローラ７からの退避指示が有るか否かを判断する（ステップＳ０）。メモリ制御回路４０は、コントローラ７からの退避指示が有る場合に退避モードに移行する。退避指示が無い場合には通常モードで動作する。
【００７９】
次に、メモリ制御回路４０は、コントローラ７からの退避指示が有ると判断した場合（ステップＳ０においてＹＥＳ）には、通常モードから退避モードに移行させると共に、チャージ処理を実行する（ステップＳ２）。
【００８０】
具体的には、メモリ制御回路４０は、電圧生成回路４１に指示してデータ書込のための書込電圧を生成するように指示する。電圧生成回路４１は、メモリ制御回路４０からの指示に従ってポンピング動作により書込電圧（高電圧）を生成する。なお、正の高電圧とともに負の高電圧も生成する。そして、デコーダ群４２を活性化させて書込電圧線（ＷＬ，ＳＬ，ＷＥＬＬ等）を所望の電圧レベルにチャージする。
【００８１】
次に、メモリ制御回路４０は、停止処理を実行する（ステップＳ４）。具体的には、メモリ制御回路４０は、選択トランジスタを非導通（ＯＦＦ）に設定する。これにより書込電圧線はフローティング状態になる。
【００８２】
次に、メモリ制御回路４０は、書込処理を実行する（ステップＳ６）。
具体的には、当該チャージされた書込電圧線に基づいてメモリセルに対するデータ書込を実行する。本例においては、ＲＡＭ８に格納されている制御データ（退避データ）をメモリセルに格納する。なお、制御データの格納については、フラッシュメモリモジュール４の予め定めた特定のアドレスに格納することが可能である。特定のアドレスを指定することにより復帰動作時におけるデータ読出を簡易にすることが可能である。
【００８３】
また、制御データとは別に、退避モードによりデータの退避を実行したことを示すコード情報（Emergency Key Code(EKC)）を特定のアドレスに書き込むことも可能である。また、コード情報を含めておくことにより、データの退避の実行の有無を容易に判断することが可能である。
【００８４】
次に、メモリ制御回路４０は、リセット処理を実行する（ステップＳ８）。
そして、退避モードから通常モードに復帰させ、処理を終了する（エンド）。
【００８５】
当該退避モードにおける処理により、電源供給の遮断時に、フラッシュメモリモジュール４にＲＡＭ８に格納されている制御データ（退避データ）を格納することが可能となる。
【００８６】
（実施形態２）
上記の実施形態１においては、外部電源ＶＤＤの電源供給の遮断を検知して、当該遮断時に制御データ（退避データ）を退避する方式について説明した。
【００８７】
一方で、外部電源ＶＤＤに限られず内部電源としても良い。
図６は、実施形態２に基づくマイクロコンピュータ１Ａの構成を示すブロック図である。
【００８８】
図６を参照して、実施形態２に基づくマイクロコンピュータ１Ａは、外部電源ＶＤＤの供給を受けて内部電源ＶＤＤＩを生成する内部電源回路１６と、電源バス９の代わりに内部電源電圧を供給する内部電源バス１７を設けた点が異なる。
【００８９】
その他の構成については図１と同様であるので、その詳細な説明については省略する。
各部は、内部電源ＶＤＤＩの供給を受けて動作する。そして、電源検出回路３は、内部電源ＶＤＤＩの電源供給の状態を監視する。
【００９０】
図７は、実施形態２に基づく内部電源の電源供給の遮断時のタイミングチャートを説明する図である。
【００９１】
図７に示されるように、時刻Ｔ５において、外部電源ＶＤＤの電源供給が遮断した場合の動作が示されている。
【００９２】
時刻Ｔ６において、内部電源ＶＤＤＩがある検知レベルまで低下すると電源検出回路３は、検出信号（「Ｈ」レベル）を出力する。
【００９３】
電源検出回路３は、検出信号をコントローラ７に出力する。
コントローラ７は、電源検出回路３からの検出信号（「Ｈ」レベル）を受けてフラッシュメモリモジュール４に対して通常（Ｎｏｒｍａｌ）モードから退避モードへと移行するように指示する。また、コントローラ７は、ＲＡＭ８に格納されている退避データを読み出して、当該退避データをフラッシュメモリモジュール４に出力する。
【００９４】
フラッシュメモリモジュール４は、コントローラ７からの指示に従って通常モードから退避モードへと移行する。具体的には、メモリ制御回路４０は、電圧生成回路４１に指示してデータ書込のための書込電圧を生成するように指示する。また、メモリ制御回路４０は、現在の動作を停止して退避データのデータ書込を実行する。
【００９５】
電圧生成回路４１は、メモリ制御回路４０からの指示に従ってポンピング動作により書込電圧（高電圧）を生成する。なお、正の高電圧とともに負の高電圧も生成する。
【００９６】
そして、デコーダ群４２を活性化させて書込電圧線（ＷＬ，ＳＬ，ＷＥＬＬ等）を所望の電圧レベルにチャージする。
【００９７】
時刻Ｔ７において、書込電圧線が所望の電圧になった場合に選択トランジスタを非導通（ＯＦＦ）に設定する。
【００９８】
そして、時刻Ｔ８において、当該チャージされた書込電圧線に基づいてメモリセルに対するデータ書込を実行する。本例においては、ＲＡＭ８に格納されている制御データ（退避データ）をメモリセルに格納する。メモリセルに対するＦＮトンネル書込方式等の場合には低消費電力でのデータ書込が可能である。
【００９９】
そして、時刻Ｔ９において、フラッシュメモリモジュール４は、外部電源ＶＤＤが所定の閾値以下に低下したことを検知してリセット処理を実行した後、退避モードから通常モードに復帰させる。
【０１００】
当該退避モードにおける処理により、内部電源の電源供給の遮断時においてもフラッシュメモリモジュール４にＲＡＭ８に格納されている制御データ（退避データ）を格納することが可能となる。
【０１０１】
（実施形態３）
上記の実施形態においては、フラッシュメモリモジュール４内においてポンピング動作により書込電圧（高電圧）を生成する方式について説明した。一方で、当該書込電圧をフラッシュメモリモジュール４の外部から入力するようにしても良い。
【０１０２】
図８は、実施形態３に基づくマイクロコンピュータ１Ｂの構成を示すブロック図である。
【０１０３】
図８を参照して、実施形態３に基づくマイクロコンピュータ１Ｂは、実施形態１のマイクロコンピュータ１の構成と比較して、アナログ回路１２と、アナログ回路１２に対して電圧を供給するアナログ電圧生成回路１１と、アナログ電圧生成回路１１で生成した電圧の電圧レベルを調整する電圧生成部１３とをさらに設けた点と、フラッシュメモリモジュール４をフラッシュメモリモジュール４＃に置換した点が異なる。また、本例においては、コンデンサ５が設けられない構成が示されている。
【０１０４】
フラッシュメモリモジュール４＃は、フラッシュメモリモジュール４と比較して、電圧生成部１３からのデコーダ群４２に対して電圧を供給する経路が設けられるとともに、当該電圧の供給経路にトランジスタ１５が設けられる点が異なる。
【０１０５】
当該トランジスタ１５は、メモリ制御回路４０からの指示に従って動作する。本例においては、退避モードにおいて当該トランジスタ１５は導通する、通常モード（Ｎｏｒｍａｒ）においては当該トランジスタ１５は非導通とする。
【０１０６】
なお、本例においては、電圧生成部１３からデコーダ群４２に対する電圧の供給経路について簡易に説明するために１つの場合について説明しているが、複数の書込電圧の供給経路とすることも当然に可能である。その場合には、トランジスタ１５も複数設けるようにすることが可能である。
【０１０７】
その他の構成については図１と同様の構成であるので、その詳細な説明については省略する。
【０１０８】
一般的に、アナログ回路１２で用いられる電圧は、フラッシュメモリモジュール４＃で用いられる電圧よりも高電圧である場合が多い。したがって、実施形態３においては、アナログ回路１２用の電圧を利用してフラッシュメモリモジュール４＃で利用する書込電圧を生成する。
【０１０９】
図９は、実施形態３に基づく外部電源の電源供給の遮断時のタイミングチャートを説明する図である。
【０１１０】
図９に示されるように、時刻Ｔ１０において、外部電源ＶＤＤがある検知レベルまで低下すると電源検出回路３は、検出信号（「Ｈ」レベル）を出力する。
【０１１１】
電源検出回路３は、検出信号をコントローラ７に出力する。
コントローラ７は、電源検出回路３からの検出信号（「Ｈ」レベル）を受けて電圧生成部１３が活性化するように指示する。
【０１１２】
電圧生成部１３は、コントローラ７からの指示に従って活性化されてアナログ電圧生成回路１１で生成した電圧を降圧して書込電圧（高電圧）を生成する。なお、正の高電圧とともに負の高電圧も生成する。
【０１１３】
電圧生成部１３で生成された書込電圧は、フラッシュメモリモジュール４＃に供給される。
【０１１４】
また、コントローラ７は、フラッシュメモリモジュール４に対して通常（Ｎｏｒｍａｌ）モードから退避モードへと移行するように指示する。また、コントローラ７は、ＲＡＭ８に格納されている退避データを読み出して、当該退避データをフラッシュメモリモジュール４に出力する。フラッシュメモリモジュール４は、コントローラ７からの指示に従って通常モードから退避モードへと移行する。メモリ制御回路４０は、現在の動作を停止して退避データのデータ書込を実行する。具体的には、メモリ制御回路４０は、トランジスタ１５を導通させてデコーダ群４２に電圧生成部１３で生成された書込電圧を供給する。
【０１１５】
そして、メモリ制御回路４０は、デコーダ群４２を活性化させて書込電圧線（ＷＬ，ＳＬ，ＷＥＬＬ等）を所望の電圧レベルにチャージする。
【０１１６】
時刻Ｔ１１において、書込電圧線が所望の電圧になった場合に選択トランジスタを非導通（ＯＦＦ）に設定する。
【０１１７】
そして、時刻Ｔ１２において、当該チャージされた書込電圧線に基づいてメモリセルに対するデータ書込を実行する。本例においては、ＲＡＭ８に格納されている制御データ（退避データ）をメモリセルに格納する。メモリセルに対するＦＮトンネル書込方式等の場合には低消費電力でのデータ書込が可能である。
【０１１８】
そして、時刻Ｔ１３において、フラッシュメモリモジュール４は、外部電源ＶＤＤが所定の閾値以下に低下したことを検知してリセット処理を実行した後、退避モードから通常モードに復帰させる。
【０１１９】
当該退避モードにおける処理により、外部電源の電源供給の遮断時においてもフラッシュメモリモジュール４にＲＡＭ８に格納されている制御データ（退避データ）を格納することが可能となる。
【０１２０】
また、フラッシュメモリモジュール４内においてポンピング動作による書込電圧（高電圧）を生成することなく、アナログ回路１２用の電圧を利用して書込電圧を生成することが可能である。これによりポンピング動作のための時間を確保する必要がなく、高速に制御データ（退避データ）を格納することが可能である。
【０１２１】
（実施形態４）
実施形態４においては、制御データ（退避データ）を用いて復帰処理を実行する方式について説明する。
【０１２２】
図１０は、実施形態４に基づく半導体装置の復帰処理を説明するフロー図である。
図１０を参照して、コントローラ７は、電源が回復したか否かを判断する（ステップＳ１０）。コントローラ７は、電源検出回路３からの検出信号（「Ｌ」レベル）に従って電源が回復したか否かを判断する。
【０１２３】
次に、ステップＳ１０において、コントローラ７は、電源が回復したと判断した場合（ステップＳ１０においてＹＥＳ）には、データ読出を実行する（ステップＳ１２）。コントローラ７は、フラッシュメモリモジュール４に指示してメモリセルに格納されているデータのデータ読出を指示する。その際、予め定まっている特定アドレスのデータ読出を実行するようにしても良い。
【０１２４】
そして、コントローラ７は、退避データが有るか否かを判断する（ステップＳ１４）。コントローラ７は、読み出したデータに退避データが含まれているか否かを判断する。具体的には、読み出したデータにデータの退避を実行したことを示すコード情報が含まれているか否かを判断するようにしても良い。コード情報が予め保持するデータと一致する場合には、退避データが含まれていると判断するようにしても良い。
【０１２５】
ステップＳ１４において、コントローラ７は、退避データが有ると判断した場合（ステップＳ１４においてＹＥＳ）には、データ読出により読み出した退避データに基づいて復帰処理を実行する（ステップＳ１６）。コントローラ７は、退避データに基づいて半導体装置の各部のパラメータ等を復帰前の状態に設定する復帰処理を実行する。
【０１２６】
そして、コントローラ７は、退避データの消去処理を実行する（ステップＳ１８）。具体的には、ＲＡＭ８に格納されているデータのリセット処理を実行した後、退避モードから通常モードに復帰させる。
【０１２７】
そして、処理を終了する（エンド）。
一方、ステップＳ１４において、コントローラ７は、退避データが無いと判断した場合（ステップＳ１４においてＮＯ）には、通常の復帰処理を実行する（ステップＳ２０）。コントローラ７は、半導体装置の各部のパラメータ等を初期値の状態に設定する復帰処理を実行する。
【０１２８】
そして、処理を終了する（エンド）。
なお、本例においては、電源検出回路３からの検出信号に従って電源が回復したかを判断する場合について説明したが、当該構成に限られずパワーオンリセット信号を用いて電源が回復したかを判断するようにしても良い。
【０１２９】
以上、本開示を実施形態に基づき具体的に説明したが、本開示は、実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１３０】
１，１Ａ，１Ｂ  マイクロコンピュータ、２  電源パッド、３  電源検出回路、４  フラッシュメモリモジュール、５  コンデンサ、６  スイッチ、７  コントローラ、８  ＲＡＭ、９  電源バス、１１  アナログ電圧生成回路、１２  アナログ回路、１３  電圧生成部、１６  内部電源回路、１７  内部電源バス、２０  メモリマット、２１  メモリブロック、２２，２４  メモリアレイ、２３  階層センスアンプ帯、３０  第１の行デコーダ、３１  第２の行デコーダ、３２  列デコーダ、４０  メモリ制御回路、４１  電圧生成回路、４２  デコーダ群。
【図１】
2017220025.tif 000003
【図２】
2017220025.tif 000004
【図３】
2017220025.tif 000005
【図４】
2017220025.tif 000006
【図５】
2017220025.tif 000007
【図６】
2017220025.tif 000008
【図７】
2017220025.tif 000009
【図８】
2017220025.tif 000010
【図９】
2017220025.tif 000011
【図１０】
2017220025.tif 000012