(57)【要約】  内部レジスタ（４１）には、フラッシュメモリ（１１）の動作を制御するための値が格納される。電源遮断検出用レジスタ（４７）は、電源遮断が発生したときに保持する値が変化するものであり、特定のメモリセル（３６）に記憶されるデータが書込まれる。そして、ＥＸ−ＯＲ回路（４８）は、特定のメモリセル（３６）に記憶されるデータと、電源遮断検出用レジスタ（４７）の値とを比較して電源遮断を検出する。電源遮断が検出されたときに、内部レジスタ（４１）の値が再設定される。したがって、電源遮断が発生したときにフラッシュメモリ（１１）が誤動作するのを防止することができる。
2012120591.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリ（１１）を含んだ半導体装置であって、  前記不揮発性メモリ（１１）の動作を制御するための値が格納される内部レジスタ（４１）と、  電源遮断が発生したときに、保持する値が変化する電源遮断検出用レジスタ（４７）と、  前記内部レジスタ（４１）に格納される値に応じて前記不揮発性メモリ（１１）の動作を制御する制御手段（３４）とを含み、  前記制御手段（３４）は、前記電源遮断検出用レジスタ（４７）が保持する値の変化によって電源遮断を検出したときに、前記内部レジスタ（４１）の値を再設定する、半導体装置。
【請求項２】
前記制御手段（３４）は、前記電源遮断検出用レジスタ（４７）が保持する値の変化によって電源遮断を検出すると外部に電源遮断の発生を通知し、外部からのリセット指示に応じて前記内部レジスタ（４１）の値を再設定する、請求項１記載の半導体装置。
【請求項３】
前記制御手段（３４）は、前記不揮発性メモリ（１１）の特定のメモリセル（３６）に記憶されるデータを前記電源遮断検出用レジスタ（４７）に設定し、前記特定のメモリセル（３６）に記憶されるデータと前記電源遮断検出用レジスタ（４７）に記憶される値とを比較して電源遮断を検出する、請求項１記載の半導体装置。
【請求項４】
前記半導体装置はさらに、第２の不揮発性メモリ（７１）を含み、  前記制御手段（３４）は、前記第２の不揮発性メモリ（７１）の特定アドレスに記憶されるデータを前記電源遮断検出用レジスタ（４７）に設定し、前記特定アドレスに記憶されるデータと前記電源遮断検出用レジスタ（４７）に記憶される値とを比較して電源遮断を検出する、請求項１記載の半導体装置。
【請求項５】
前記電源遮断検出用レジスタ（４７）は、電源遮断発生時に、前記内部レジスタ（４１）よりも保持する値が変化しやすいラッチ回路によって構成される、請求項１記載の半導体装置。
【請求項６】
前記半導体装置はさらに、前記不揮発性メモリ（１１）のメモリセルを選択するためのアドレスを格納するアドレスラッチ回路（４２，４３）を含み、  前記電源遮断検出用レジスタ（４７）は、電源遮断発生時に、前記アドレスラッチ回路（４２，４３）よりも保持する値が変化しやすいラッチ回路によって構成される、請求項１記載の半導体装置。
【請求項７】
前記電源遮断検出用レジスタ（４７）は、複数のＰチャネルＭＯＳトランジスタ（５９，６１）およびＮチャネルＭＯＳトランジスタ（６４，６７）を含み、特定のＰチャネルＭＯＳトランジスタおよびＮチャネルＭＯＳトランジスタのゲート幅を他のＰチャネルＭＯＳトランジスタおよびＮチャネルＭＯＳトランジスタよりも大きくして駆動能力を高くすることにより、電源遮断発生時に、保持する値が変化しやすくなるように構成される、請求項５記載の半導体装置。
【請求項８】
不揮発性メモリ（１１）を含んだ半導体装置であって、  前記不揮発性メモリ（１１）の動作を制御するための値が格納される内部レジスタ（４１）と、  電源遮断が発生したときに、保持する値が変化する電源遮断検出用レジスタ（４７）と、  前記内部レジスタ（４１）に格納される値に応じて前記不揮発性メモリ（１１）の動作を制御する制御手段（３４）とを含み、  前記制御手段（３４）は、前記不揮発性メモリ（１１）のデータ書換え動作を行なっているときに、前記電源遮断検出用レジスタ（４７）が保持する値の変化によって電源遮断を検出すると、前記データ書換え動作を停止する、半導体装置。
【請求項９】
前記制御手段（３４）は、前記データ書換え動作を停止した後、前記内部レジスタ（４１）の値を再設定してデータ書換え動作を再実行する、請求項８記載の半導体装置。
【請求項１０】
プロセッサ（１７）と不揮発性メモリ（１１）とを含んだ半導体装置であって、  前記不揮発性メモリ（１１）の動作を制御するための値が格納される内部レジスタ（４１）と、  電源遮断が発生したときに、保持する値が変化する電源遮断検出用レジスタ（４７）と、  前記内部レジスタ（４１）に格納される値に応じて前記不揮発性メモリ（１１）の動作を制御する制御手段（３４）とを含み、  前記制御手段（３４）は、前記不揮発性メモリ（１１）のデータ書換え動作を行なっているときに、前記電源遮断検出用レジスタ（４７）が保持する値の変化によって電源遮断を検出すると、前記データ書換え動作を停止して、前記プロセッサ（１７）に電源遮断の発生を通知する、半導体装置。
【請求項１１】
前記プロセッサ（１７）は、前記制御手段（３４）から電源遮断の発生の通知を受けると、前記制御手段（３４）に書換えコマンドを再発行してデータ書換えを行なわせる、請求項１０記載の半導体装置。
【請求項１２】
前記プロセッサ（１７）は、前記制御手段（３４）に電源遮断検出コマンドを発行し、  前記制御手段（３４）は、前記プロセッサ（１７）から電源遮断検出コマンドを受けたときに、前記電源遮断検出用レジスタ（４７）が保持する値の変化によって電源遮断を検出する、請求項１０記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、不揮発性メモリを含んだ半導体装置に関し、特に、電源瞬停などによって不揮発性メモリが誤動作するのを防止した半導体装置に関する。
【背景技術】
【０００２】  近年、携帯電話、パーソナルコンピュータなどの情報端末にフラッシュメモリなどの不揮発性メモリが搭載されることが多くなってきており、それに伴って不揮発性メモリを搭載したマイクロコンピュータやＳｏＣ（System  on  Chip）の開発が進んでいる。【０００３】  このような不揮発性メモリ、特にフラッシュメモリにおいては、メモリデータ書換え時に高電圧を発生させる必要があり、書換え時の高電圧レベル情報を設定する内部レジスタが設けられている。また、書換え対象のメモリアドレス情報を格納するアドレスラッチ回路が設けられており、その情報に応じて書換え対象メモリセルのワード線が選択される構成となっている。【０００４】  フラッシュメモリのメモリデータ書換え時に、電源瞬停などが発生した場合には、内部レジスタに格納された高電圧レベル情報やアドレスラッチ回路に格納されたメモリアドレス情報が破壊される可能性がある。【０００５】  このとき、システム側で電源瞬停を検知できなければ、フラッシュメモリ内部の高電圧レベル情報やメモリアドレス情報が破壊されたことを把握できないため、異常書換え電圧の発生、書換え対象メモリセル以外のメモリセルへの誤書き込みなどによってメモリデータが破壊される可能性がある。これに関連する技術として、下記の特許文献１〜２に開示された発明がある。【０００６】  特許文献１は、高速動作中に電源が瞬停しても、短時間で高速動作に復帰できるマイクロコンピュータを提供することを目的とする。電源投入後、比較レジスタの値を確認する。比較レジスタが特定値に設定されていない場合は、比較レジスタに特定値をセットし、発振選択レジスタ及び補助レジスタにセラミック発振器を選択する為の選択データを同時セットする。一方、比較レジスタが特定値に設定された状態で電源が瞬停した場合、補助レジスタの値を発振選択レジスタ１３にセットする。【０００７】  特許文献２は、主記憶が全て不揮発性メモリで構成された場合において、突発的な電源の遮断が発生すると電源再投入時にシステムが正常に動作を再開できないことを課題とする。装置は、電源異常遮断判定部と、電源異常終了通知レジスタとを備える。電源異常遮断判定部は、装置の電源投入時に、電源異常終了通知レジスタを参照し、電源異常終了通知レジスタが装置の電源が異常に遮断されたことを示す情報を格納しており、プロセッサが不揮発性のプロセッサでない場合、装置の電源が遮断される前に実行されていたプロセスを再起動し、デバイスドライバを確認する。また、電源異常終了通知レジスタが装置の電源が異常に遮断されたことを示す情報を格納しており、プロセッサが不揮発性のプロセッサである場合、装置の電源が遮断される前に実行されていたプロセスを、プロセスが中断された処理から再開し、デバイスドライバを確認する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−２３１９６５号公報
【特許文献２】特開２０１０−１０８２５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】  上述のように、システム側で電源瞬停を検知できなければ、異常書換え電圧の発生、書換え対象メモリセル以外のメモリセルへの誤書込みなどによってメモリデータが破壊される可能性があるといった問題点がある。【００１０】  一方、特許文献１は、比較レジスタによって電源瞬停の発生を検出して高速復帰動作を行なうものであるが、この比較レジスタと不揮発性メモリの誤動作との関連については開示されていないため、上記問題点を解決することはできない。【００１１】  また、特許文献２は、電源異常終了通知レジスタによって電源が異常遮断されたかを判断し、プロセスの再起動または再開するものであるが、特許文献１と同様に、この電源異常終了通知レジスタと不揮発性メモリの誤動作との関連が開示されていないため、上記問題点を解決することはできない。【００１２】  本発明は、上記問題点を解決するためになされたものであり、その目的は、電源遮断が発生したときに不揮発性メモリが誤動作するのを防止した半導体装置を提供することである。
【課題を解決するための手段】
【００１３】  本発明の一実施例によれば、フラッシュメモリを含んだ半導体装置が提供される。半導体装置は、フラッシュメモリの動作を制御するための値が格納される内部レジスタと、電源遮断が発生したときに、保持する値が変化する電源遮断検出用レジスタと、内部レジスタに格納される値に応じてフラッシュメモリの動作を制御する制御論理回路とを含む。制御論理回路は、電源遮断検出用レジスタが保持する値の変化によって電源遮断を検出したときに、内部レジスタの値を再設定する。
【発明の効果】
【００１４】  本発明の一実施例によれば、制御論理回路が、電源遮断検出用レジスタが保持する値の変化によって電源遮断を検出したときに、内部レジスタの値を再設定するので、電源遮断が発生したときにフラッシュメモリが誤動作するのを防止することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態におけるフラッシュメモリを含んだシステムの一例であるマイクロコンピュータの構成を示す図である。
【図２】本発明の実施の形態におけるフラッシュメモリ１１の概略構成を示すブロック図である。
【図３】電源遮断時に発生する誤書換え動作を説明するための図である。
【図４】本発明の第１の実施の形態におけるフラッシュメモリ１１の構成例を示す図である。
【図５】フラッシュメモリ１１の消去パルスシーケンスにおける電源遮断の検出を説明するためのタイミングチャートである。
【図６】本発明の第１の実施の形態におけるフラッシュメモリ１１の電源遮断検出動作の一例を示すフローチャートである。
【図７】内部レジスタ４１および電源遮断検出用レジスタ４７の内部構成の一例を示す図である。
【図８】フラッシュメモリ１１の消去パルスシーケンスにおける電源遮断の検出を説明するためのタイミングチャートである。
【図９】本発明の第２の実施の形態におけるフラッシュメモリ１１の電源遮断検出動作の一例を示すフローチャートである。
【図１０】本発明の第５の実施の形態におけるフラッシュメモリ１１の構成例を示す図である。
【図１１】本発明の第６の実施の形態におけるフラッシュメモリ１１の構成例を示す図である。
【図１２】本発明の第８の実施の形態におけるフラッシュメモリ１１を含んだマイクロコンピュータ１の構成例を示すブロック図である。
【図１３】本発明の第８の実施の形態におけるマイクロコンピュータ１がデータ書換え動作時に電源遮断を検出したときの動作を説明するためのタイミングチャートである。
【図１４】本発明の第８の実施の形態におけるマイクロコンピュータ１がデータ書換え動作以外で電源遮断を検出したときの動作を説明するためのタイミングチャートである。
【図１５】フラッシュメモリ１１のメモリ部３５のメモリセル構成を示す図である。
【発明を実施するための形態】
【００１６】  図１は、本発明の実施の形態におけるフラッシュメモリを含んだシステムの一例であるマイクロコンピュータの構成を示す図である。このマイクロコンピュータ１は、フラッシュメモリ１１と、周辺回路１２と、発振回路１３と、分周回路１４と、バスコントローラ１５と、ＲＡＭ（Random  Access  Memory）１６と、ＣＰＵ（Central  Processing  Unit）１７と、システムコントローラ１８と、フラッシュメモリコントローラ１９と、入出力ポート２０とを含む。
【００１７】  分周回路１４は、発振回路１３から出力される原発振信号を分周し、フラッシュメモリ１１、周辺回路１２、バスコントローラ１５、ＲＡＭ１６、ＣＰＵ１７、フラッシュメモリコントローラ１９、入出力ポート２０などにクロック信号として供給する。
【００１８】  フラッシュメモリ１１は、後述のように電源遮断検出用レジスタによって電源遮断が発生したことを検出して誤動作を防止する機能を有しており、主に、ＣＰＵ１７によって実行されるプログラム、システムのセットアップに必要なデータなどを記憶する。
【００１９】  システムコントローラ１８は、マイクロコンピュータ１の外部からの指示を受け、指示に応じてＣＰＵ１７を制御する。ＣＰＵ１７は、システムコントローラ１８からの指示に応じて、マイクロコンピュータ１全体の制御を行なう。たとえば、フラッシュメモリ１１に格納されるプログラムをＲＡＭ１６にロードし、そのプログラムを実行することによってマイクロコンピュータ１全体の制御を行なう。
【００２０】  バスコントローラ１５は、バスマスタであるＣＰＵ１７からのアクセス要求に応じて、システムバス２１に接続されるフラッシュメモリ１１、周辺回路１２、ＲＡＭ１６、入出力ポート２０などへのアクセスを制御する。
【００２１】  また、マイクロコンピュータ１にＤＭＡ（Direct  Memory  Access）コントローラが搭載されている場合には、バスコントローラ１５は、メモリ間のＤＭＡ転送や、メモリと周辺回路１２などのＩ／Ｏ（Input/Output）ポートとの間のＤＭＡ転送に伴うバスアクセスの制御も行なう。
【００２２】  フラッシュメモリコントローラ１９は、ＣＰＵ１７からのアクセス要求に応じて、フラッシュメモリ１１を制御する。
【００２３】  周辺回路１２は、ＵＡＲＴ（Universal  Asynchronous  Receiver-Transmitter）、タイマなどの機能ブロックによって構成される。また、入出力ポート２０は、マイクロコンピュータ１の外部に設けられたＩ／Ｏデバイスとの間のデータ入出力を制御する。
【００２４】  図２は、本発明の実施の形態におけるフラッシュメモリ１１の概略構成を示すブロック図である。フラッシュメモリ１１は、Ｉ／Ｏ３１と、電源３２と、電源スイッチ（ｓｗ）３３と、制御論理回路３４と、記憶部（メモリアレイ／デコーダ／センスアンプ）３５とを含む。
【００２５】  Ｉ／Ｏ３１は、システムバス２１に接続されており、メモリアドレスの入力、データの入出力、制御信号の入力などを行なう。なお、フラッシュメモリ１１が個別の半導体装置として提供される場合には、Ｉ／Ｏ１１は外部端子と接続される。
【００２６】  制御論理回路３４は、後述の内部レジスタ、アドレスラッチ回路、電源遮断検出用レジスタなどを有しており、Ｉ／Ｏ３１を介して受けたコマンドに応じてデータ書換え、データ読出しなどの制御を行なう。
【００２７】  たとえば、制御論理回路３４がデータ書換えコマンドを受けた場合、内部レジスタに設定された高電圧レベル設定情報に応じて電源３２にデータ書換え時の高電圧を生成させると共に、電源ｓｗ３３を制御して記憶部３５に書換えパルスを印加させる。このとき、アドレスラッチ回路に格納されたメモリアドレスを記憶部３５に出力して、書換え対象のメモリセルのデータを書換える。
【００２８】  電源３２は、データ書換え時などの高電圧を生成するためのチャージポンプを有しており、制御論理回路３４による制御によってデータ書換え時の電源昇圧を行ない、電源ｓｗ３３を介して書換えパルスを記憶部３５に印加する。
【００２９】  記憶部３５は、メモリアレイ、デコーダ、センスアンプなどによって構成され、データ書換え時には、デコーダがアドレスラッチ回路から出力されるアドレスをデコードすることによって書換え対象のメモリセルを選択する。そして、電源ｓｗ３３を介して印加される書換えパルスに応じて書換え対象のメモリセルにデータが書込まれる。
【００３０】  また、記憶部３５は、データ読出し時には、デコーダがアドレスラッチ回路から出力されるアドレスをデコードすることによって読出し対象のメモリセルを選択する。そして、センスアンプによって選択されたメモリセルに記憶されるデータを増幅することによってデータが読出される。
【００３１】  図３は、電源遮断時に発生する誤書換え動作を説明するための図である。フラッシュメモリ１１は、フラッシュメモリ１１の動作を制御するための値が設定される内部レジスタ４１と、アドレスラッチ回路４２および４３と、書込み動作時にメモリセルに書込み電圧を供給するチャージポンプ４４と、バッファ４５および４６と、記憶部３５とを含む。
【００３２】  フラッシュメモリ１１のデータ書換え時に、チャージポンプ４４は、内部レジスタ４１に格納される高電圧レベル設定情報に応じて電源昇圧を行ない、バッファ４５および４６に供給する。
【００３３】  アドレスラッチ回路４２および４３は、Ｉ／Ｏ３１を介して外部から入力されたアドレスを格納して、バッファ４５および４６に出力する。バッファ４５および４６は、チャージポンプ４４による昇圧に応じた電圧を出力し、書換え対象のメモリセルを選択する。なお、アドレスラッチ回路およびバッファは、アドレスの本数に対応した個数だけあるものとする。
【００３４】  ここで、瞬停や急な電源遮断が発生して、内部レジスタ４１に格納されるデータや、アドレスラッチ回路４２および４３に格納されるアドレス情報が破壊された場合、予め設定された高電圧レベル設定情報と異なる電圧で書換えを行なったり、書換え対象のメモリセルとは異なるメモリセルが選択されたりする可能性がある。
【００３５】  （第１の実施の形態）  図４は、本発明の第１の実施の形態におけるフラッシュメモリ１１の構成例を示す図である。フラッシュメモリ１１は、フラッシュメモリ１１の動作を制御するための値が設定される内部レジスタ４１と、アドレスラッチ回路４２および４３と、チャージポンプ４４と、バッファ４５および４６と、電源遮断検出用レジスタ４７と、ＥＸ−ＯＲ（排他的論理和）回路４８と、記憶部３５とを含む。なお、図３に示すフラッシュメモリと同じ構成および機能を有する部分については、同じ参照符号を付すものとする。
【００３６】  マイクロコンピュータ１による初期設定時に、記憶部３５の特定のメモリセル３６のデータが読み出されて電源遮断検出用レジスタ４７に設定される。この電源遮断検出用レジスタ４７は、後述のように電源遮断が発生したときに、内部レジスタ４１やアドレスラッチ回路４２または４３などと比較して、保持する値が変化しやすいように構成されている。すなわち、瞬停や電源遮断に対する保持する値の変化感度が敏感になるよう構成されている。そのように構成することにより電源遮断が発生したときに電源遮断検出用レジスタ４７の値と不揮発性であるメモリセル３６の値とが不一致となり、ＥＸ−ＯＲ回路４８の出力であるＥＲＲＯＲ信号がロウレベル（以下、Ｌレベルと略す。）からハイレベル（以下、Ｈレベルと略す。）に変化する。
【００３７】  制御論理回路３４は、データ書換えシーケンスに含まれるＰＰ（ＰＲＧパルスシーケンス）およびＥＰ（ＥＲＳパルスシーケンス）の前後でＥＲＲＯＲ信号を確認し、電源遮断を検出した場合には、電源遮断検出エラーフラグを外部、たとえばＣＰＵ１７に出力する。
【００３８】  図１５は、フラッシュメモリ１１のメモリ部３５のメモリセル構成を示す図である。メモリセルアレイ１１０においては、メモリセルＭＣが行列状に配列される。このメモリセルＭＣは、選択トランジスタＳＴと、メモリセルトランジスタＭＴとを含む。図１５においては、メモリセルトランジスタＭＴの電荷蓄積膜を太い線で示す。
【００３９】  メモリセルＭＣの各行に対応してメモリゲート線ＭＧ０−ＭＧｎおよびコントロールゲート線ＣＧ０−ＣＧｎが設けられる。メモリゲート線ＭＧ０−ＭＧｎは、対応の行のメモリセルトランジスタＭＴのゲート（メモリセルゲート電極）に接続される。コントロールゲート線ＣＧ０−ＣＧｎは、それぞれ対応の行のメモリセルＭＣの選択トランジスタＳＴのゲート（コントロールゲート電極）に接続される。
【００４０】  メモリセル列に対応して、ビット線ＢＬ０−ＢＬｍが配設される。隣接列のメモリセルＭＣに共有されるように、ソース線ＳＬ０−ＳＬｋが配設される。ここで、ｋ＝ｍ／２である。ビット線ＢＬ０−ＢＬｍは、それぞれ対応の列のメモリセルの選択トランジスタの第１の導通ノード（不純物領域）に接続される。ソース線ＳＬ０−ＳＬｋは、対応の列のメモリセルＭＣのメモリセルトランジスタＭＴの第２の導通ノード（不純物領域）に接続される。
【００４１】  図１５においては、ソース線が隣接列のメモリセルにより共有されるように示す。しかしながら、メモリセル各列に対応してローカルソース線が配設され、所定数のメモリセル列ごとにローカルソース線がコモンソース線に接続されても良い。このソース線配置の場合、コモンソース線単位でデータの書込が行われる。
【００４２】  コントロールゲート線選択駆動回路１１２は、コントロールゲート線ＣＧ０−ＣＧｎそれぞれに対応して設けられるコントロールゲート線ドライバＣＤＲ０−ＣＤＲｎを含む。これらのコントロールゲート線ドライバＣＤＲ０−ＣＤＲｎは、コントロールゲート線選択駆動回路１１２に含まれる図示しないデコード回路からの行指定信号（デコード信号）に従って対応のコントロールゲート線に選択／非選択電圧を伝達する。コントロールゲート線ドライバＣＤＲ０−ＣＤＲｎは、コントロールゲート線電圧Ｖｃｇを、動作電源電圧として受ける。
【００４３】  メモリゲート線選択駆動回路１１４は、メモリゲート線ＭＧ０−ＭＧｎそれぞれに対応して設けられるメモリゲート線ドライバＭＤＲ０−ＭＤＲｎを含む。メモリゲート線選択駆動回路１１４も、図示しないデコード回路からの行指定信号（デコード信号）に従って対応のメモリゲート線へ、選択または非選択電圧レベルのメモリゲート線電圧Ｖｍｇを伝達する。
【００４４】  ソース線選択駆動回路１１６は、図示しないシフトクロック信号に従ってシフト動作を行なうシフトレジスタ回路ＳＦＲと、ソース線ＳＬ０−ＳＬｋそれぞれに対応して設けられるソース線ドライバＳＤＲ０−ＳＤＲｋを含む。このシフトレジスタ回路ＳＦＲは、データ書込時、図示しないシフトクロック信号に従って、その出力を、順次選択状態へ駆動する。ソース線ドライバＳＤＲ０−ＳＤＲｋは、それぞれシフトレジスタ回路ＳＦＲの対応の出力ノードからの出力信号に従って、対応のソース線ＳＬ０−ＳＬｋを順次選択状態へ駆動する。
【００４５】  列選択回路１１８は、ビット線ＢＬ０−ＢＬｍそれぞれに対応して設けられる列選択ゲートＣＧＹ０−ＣＧＹｍを含む。これらの列選択ゲートＣＧＹ０−ＣＧＹｍは、それぞれ、図示しない列デコーダ（列選択回路１１８に含まれる）からの列選択信号Ｙ０−Ｙｍに従って導通し、導通時、対応のビット線ＢＬ（ＢＬ０−ＢＬｍ）を内部データ線ＩＯＬに結合する。
【００４６】  データラッチ回路１２０は、ビット線ＢＬ０−ＢＬｍそれぞれに対応して設けられるデータラッチＤＬ０−ＤＬｍを含む。これらのデータラッチＤＬ０−ＤＬｍは、データ書込時、対応のビット線に伝達されたデータをラッチする。これらのラッチデータに従って、データラッチＤＬ０−ＤＬｍは、ビット線電圧Ｖｄを動作電源電圧として受け、書込時、対応のビット線に書込電圧または書込阻止電圧を伝達する。
【００４７】  図５は、フラッシュメモリ１１のデータ書換えシーケンスに含まれるＥＰ（ＥＲＳパルスシーケンス）における電源遮断の検出を説明するためのタイミングチャートである。たとえば、図１５に示すメモリセル構成において、メモリゲート線ＭＧ０およびソース線ＳＬ０〜ＳＬ３に接続されるメモリセルを消去する場合、メモリゲート線ドライバＭＤＲ０がメモリゲートＭＧ０をＬレベルし、ソース線ドライバＳＤＲ０〜ＳＤＲ３がソース線ＳＬ０〜ＳＬ３を順次Ｈレベルにする。
【００４８】  図５に示すように、メモリゲートＭＧ０をＬレベルにし、ソース線ＳＬ０〜ＳＬ３を順次ＨレベルにするＥＰ（ＥＲＳパルスシーケンス）の前後、すなわちタイミングＴ１およびＴ２において、電源遮断検出エラー判定、すなわち、電源遮断検出用レジスタ４７の値とメモリセル３６の値との比較を行なう。より具体的には、メモリセル３６の値の読み出しタイミングや、ＥＸ−ＯＲ回路４８の活性化タイミングでの制御が可能である。そして、制御論理回路３４はＥＲＲＯＲ信号を確認し、その値が“１”となっている場合には、電源遮断検出エラーフラグをＣＰＵ１７に出力する。
【００４９】  ＣＰＵ１７は、フラッシュメモリ１１から出力される電源遮断検出エラーフラグが活性されているのを検出して、電源遮断の発生を検知し、たとえばＣＰＵ１７が有している電源遮断レジスタにエラーフラグ値を格納する。
【００５０】  図６は、本発明の第１の実施の形態におけるフラッシュメモリ１１の電源遮断検出動作の一例を示すフローチャートである。まず、マイクロコンピュータ１に電源が投入されて（Ｓ１）、システムのリセットが行なわれると（Ｓ２）、制御論理回路３４は、記憶部３５のメモリセル３６の値を読出して、電源遮断検出用レジスタ４７にその値を設定する（Ｓ３）。
【００５１】  次に、制御論理回路３４は、電源遮断検出エラーフラグが活性されているか否かを判定する（Ｓ４）。電源遮断検出エラーフラグが活性されていれば（Ｓ４，Ｙｅｓ）、ステップＳ１２に処理が進む。
【００５２】  また、電源遮断検出エラーフラグが活性されていない場合（Ｓ４，Ｎｏ）、ＣＰＵ１７から書換えコマンドが発行されると（Ｓ５）、制御論理回路３４は、電源３２を制御して書換え電源昇圧を開始する（Ｓ６）。
【００５３】  そして、制御論理回路３４は、再度電源遮断検出エラーフラグが活性されているか否かを判定する（Ｓ７）。電源遮断検出エラーフラグが活性されていれば（Ｓ７，Ｙｅｓ）、ステップＳ１２に処理が進む。
【００５４】  また、電源遮断検出エラーフラグが活性されていない場合（Ｓ７，Ｎｏ）、制御論理回路３４は、書換え対象のメモリセルに対して書換えパルスを印加して、データ書換えを行なう（Ｓ８）。
【００５５】  そして、制御論理回路３４は、再度電源遮断検出エラーフラグが活性されているか否かを判定する（Ｓ９）。電源遮断検出エラーフラグが活性されていれば（Ｓ９，Ｙｅｓ）、ステップＳ１２に処理が進む。
【００５６】  また、電源遮断検出エラーフラグが活性されていない場合（Ｓ９，Ｎｏ）、制御論理回路３４は、ベリファイ動作を行なって（Ｓ１０）、データ書換え動作を完了する（Ｓ１１）。
【００５７】  また、電源遮断検出エラーフラグが活性されている場合、制御論理回路３４は、データ書換え動作を停止して（Ｓ１２）、データ書換え動作を再実行するか否かを判定する（Ｓ１３）。たとえば、フラッシュメモリ１１に再実行するか否かを設定する再実行設定レジスタが設けられており、初期設定時にＣＰＵ１７がそのレジスタに再実行を行なうか否かを設定する。
【００５８】  また、ＣＰＵ１７がフラッシュメモリ１１から電源遮断検出エラーフラグを受けたときに、書換えコマンドをフラッシュメモリ１１に再発行することによって、データ書換え動作を再実行するようにしてもよい。
【００５９】  データ書換え動作を再実行しない場合には（Ｓ１３，Ｎｏ）、異常終了を行なう（Ｓ１５）。また、データ書換え動作を再実行する場合（Ｓ１３、Ｙｅｓ）、フラッシュメモリ１１のリセットが再度行なわれる場合には（Ｓ１４，Ｙｅｓ）、ステップＳ２以降の処理が繰り返される。また、フラッシュメモリ１１のリセットが再度行なわれない場合には（Ｓ１４，Ｎｏ）、ステップＳ３以降の処理が繰り返される。
【００６０】  図７は、図４に示される内部レジスタ４１および電源遮断検出用レジスタ４７の内部構成の一例を示す図である。これらのレジスタは、インバータ５１〜５６と、ＮＯＲ回路５７と、ＰチャネルＭＯＳ（Metal  Oxide  Semiconductor）トランジスタ５８〜６２と、ＮチャネルＭＯＳトランジスタ６３〜６７とを含む。図中に示されるＣＬＫ信号は、このレジスタにデータを取り込むタイミングを特定するための信号である。
【００６１】  たとえば、このレジスタに“１”を設定する場合、まずＤＡＴＡがＨレベルにされ、ＣＬＫがＨレベルにされる。また、レジスタをリセットするためのリセット信号を受けるＲＢはＨレベルとなっている。このとき、ＰチャネルＭＯＳトランジスタ５８およびＮチャネルＭＯＳトランジスタ６３がＯＮして、ＤＡＴＡの値がＰチャネルＭＯＳトランジスタ５９（以下、ＰＢ５９とも呼ぶ。）およびＮチャネルＭＯＳトランジスタ６４（以下、ＮＢ６４とも呼ぶ。）のゲートに与えられる。
【００６２】  このとき、ＰＢ５９がＯＦＦとなり、ＮＢ６４がＯＮとなるため、ＱＢノードがＬレベルとなって、インバータ５２の出力であるＱにＨレベルが出力される。また、ＰチャネルＭＯＳトランジスタ６１（以下、ＰＡ６１とも呼ぶ。）がＯＮとなり、ＮチャネルＭＯＳトランジスタ６７（以下、ＮＡ６７とも呼ぶ。）がＯＦＦとなる。
【００６３】  その後、ＣＬＫがＬレベルになると、ＰチャネルＭＯＳトランジスタ５８およびＮチャネルＭＯＳトランジスタ６３がＯＦＦとなるが、ＰチャネルＭＯＳトランジスタ６２がＯＮとなるため、ＰＢ５９およびＮＢ６４のゲートに与えられるＨレベルが維持される。その結果、Ｑに出力されるＨレベルが維持される。
【００６４】  上述のように、電源遮断検出用レジスタ４７は、電源遮断が発生したときに、内部レジスタ４１やアドレスラッチ回路４２または４３などと比較して、保持する値が変化しやすいように構成される必要がある。そこで、たとえば、図７に示した回路で電源遮断検出用レジスタを構成する場合には、ＰＢ５９およびＮＡ６７のゲート幅を広くして駆動能力を上げ、ＰＡ６１およびＮＢ６４のゲート幅を狭くして駆動能力を下げる。
【００６５】  このようにレジスタを構成すると、電源遮断検出用レジスタ４７が“１”を保持した状態で、電源遮断が発生して電源電圧が中間レベルとなり、ＰＢ５９およびＮＢ６４が同時にＯＮとなった場合には、ＰＢ５９の駆動能力の方がＮＢ６４の駆動能力よりも大きいためＱＢノードがＨレベルとなる。その結果、インバータ５２の出力であるＱがＬレベルに変化することになる。
【００６６】  同様に、ＰＡ６１およびＮＡ６７が同時にＯＮとなった場合にも、ＮＡ６７の駆動能力の方がＰＡ６１の駆動能力よりも大きいため、ＰＢ５９およびＮＢ６４のゲートがＬレベルとなる。その結果、ＱＢノードのＨレベルが維持され、インバータ５２の出力であるＱのＬレベルが維持される。
【００６７】  また、電源遮断検出用レジスタを構成する場合には、ＰＢ５９およびＮＡ６７のゲート幅を狭くして駆動能力を下げ、ＰＡ６１およびＮＢ６４のゲート幅を広くして駆動能力を上げることも可能である。
【００６８】  このようにレジスタを構成すると、電源遮断検出用レジスタ４７が“０”を保持した状態で、電源遮断が発生して電源電圧が中間レベルとなり、ＰＢ５９およびＮＢ６４が同時にＯＮとなった場合には、ＰＢ５９の駆動能力の方がＮＢ６４の駆動能力よりも小さいためＱＢノードがＬレベルとなる。その結果、インバータ５２の出力であるＱがＨレベルに変化することになる。
【００６９】  同様に、ＰＡ６１およびＮＡ６７が同時にＯＮとなった場合にも、ＮＡ６７の駆動能力の方がＰＡ６１の駆動能力よりも小さいため、ＰＢ５９およびＮＢ６４のゲートがＨレベルとなる。その結果、ＱＢノードのＬレベルが維持され、インバータ５２の出力であるＱのＨレベルが維持される。
【００７０】  このように、電源遮断検出用レジスタ４７のトランジスタサイズ、特にゲート幅をアンバランス化することによって、ＶＤＤｍｉｎレベルを上げた（Ｖｔｈの高い）レジスタを構成することができ、内部レジスタ４１やアドレスラッチ回路４２または４３よりも電源遮断に敏感なレジスタを構成することができる。
【００７１】  また、電源遮断検出用レジスタ４７に設定されるデータと異なるレベルのときに有効となる負荷容量をＱＢノードに付加することによって電源遮断検出用レジスタを構成することも可能である。たとえば、負荷容量の一方の端子をＱＢノードに接続し、他方の端子をＶＤＤまたはＧＮＤに接続する。これによって、電源遮断検出用レジスタ４７が“１”を保持した状態で電源遮断が発生すると、電源遮断検出用レジスタ４７の値が“０”になり易くなる。逆に、電源遮断検出用レジスタ４７が“０”を保持した状態で電源遮断が発生すると、電源遮断検出用レジスタの値が“１”になり易くなる。
【００７２】  また、電源遮断検出用レジスタ４７のトランジスタ、特にラッチを構成する部分のトランジスタをフラッシュメモリ１１内部の高電圧制御回路やポンプ回路などで使用されるＶｔｈの高い厚膜トランジスタなどを用いて電源遮断検出用レジスタを構成するようにしてもよい。
【００７３】  また、高電圧発生回路は、ＶＤＤ電源以外のＶＣＣ電源を使用する回路も多いため、ＶＣＣ電源に対応した電源遮断検出用レジスタを設け、ＶＣＣの電源遮断の発生を検出するようにしてもよい。
【００７４】  以上説明したように、本実施の形態における半導体装置によれば、電源遮断検出用レジスタ４７を設け、電源遮断が検出されたときにデータ書換え動作を停止または再実行するようにしたので、異常書換え電圧の発生、書換え対象メモリセル以外のメモリセルへの誤書込みなどを防止でき、ディスターブ動作を回避することが可能となった。
【００７５】  また、システム側で検知できない局所的な電源遮断が発生した場合でも、フラッシュメモリ１１が電源遮断を検出して、自立的にデータ書換え動作の停止または再実行を行なうことが可能となった。
【００７６】  また、フラッシュメモリ１１が電源遮断を検知したときに、ＣＰＵ１７に電源遮断検出エラーフラグを出力するようにしたので、ＣＰＵ１７側でも電源遮断の発生、データ書換え動作の停止などを認識することができ、再度同じコマンドを発行することによって所望の書換え動作を行なうことが可能となった。
【００７７】  （第２の実施の形態）  本発明の第１の実施の形態におけるフラッシュメモリは、データ書換えシーケンスに含まれるＰＰおよびＥＰの前後でＥＲＲＯＲ信号を確認し、電源遮断を検出するものであった。第２の実施の形態におけるフラッシュメモリは、常時ＥＲＲＯＲ信号を確認し、電源遮断を検出するものである。
【００７８】  本発明の第２の実施の形態におけるマイクロコンピュータ１の構成、フラッシュメモリ１１の構成、電源遮断検出用レジスタ４７の構成などは、第１の実施の形態において説明したものと同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【００７９】  図８は、フラッシュメモリ１１の消去パルスシーケンスにおける電源遮断の検出を説明するためのタイミングチャートである。図８に示すように、メモリゲートＭＧ０をＬレベルにし、ソース線ＳＬ０〜ＳＬ３を順次Ｈレベルにする消去パルスシーケンスのすべてのタイミングにおいて、メモリセル３６の値の読み出しを行なう。そして、制御論理回路３４はＥＲＲＯＲ信号を確認し、その値が“１”となっている場合には、電源遮断検出エラーフラグをＣＰＵ１７に出力する。
【００８０】  図９は、本発明の第２の実施の形態におけるフラッシュメモリ１１の電源遮断検出動作の一例を示すフローチャートである。まず、マイクロコンピュータ１に電源が投入されて（Ｓ２１）、システムのリセットが行なわれると（Ｓ２２）、制御論理回路３４は、記憶部３５のメモリセル３６の値を読出して、電源遮断検出用レジスタ４７にその値を設定する（Ｓ２３）。
【００８１】  次に、制御論理回路３４は、リードスタンバイ状態において電源遮断検出エラーフラグが活性されているか否かを判定する（Ｓ２４）。電源遮断検出エラーフラグが活性されていれば（Ｓ２４，Ｙｅｓ）、ステップＳ３４に処理が進む。
【００８２】  また、電源遮断検出エラーフラグが活性されていない場合（Ｓ２４，Ｎｏ）、ＣＰＵ１７から書換えコマンドが発行されると（Ｓ２５）、制御論理回路３４は、電源３２を制御して書換え電源昇圧を開始する（Ｓ２６）。
【００８３】  次に、制御論理回路３４は、書換え対象のメモリセルに対して書換えパルスを印加して、データ書換えを行なう（Ｓ２７）。そして、制御論理回路３４は、ベリファイ動作を行なって（Ｓ２８）、データ書換え動作を完了する（Ｓ２９）。
【００８４】  次に、制御論理回路３４は、リードスタンバイ状態において電源遮断検出エラーフラグが活性されているか否かを判定する（Ｓ３０）。電源遮断検出エラーフラグが活性されていれば（Ｓ３０，Ｙｅｓ）、ステップＳ３４に処理が進む。また、電源遮断検出エラーフラグが活性されていない場合（Ｓ３０，Ｎｏ）、ステップＳ２４に処理が進む。
【００８５】  制御論理回路３４は、ステップＳ２５〜Ｓ２９において常時電源遮断検出エラーフラグが活性されているか否かを判定している。電源遮断検出エラーフラグが活性されている場合、制御論理回路３４は、データ書換え動作を停止して（Ｓ３１）、データ書換え動作を再実行するか否かを判定する（Ｓ３２）。
【００８６】  データ書換え動作を再実行しない場合には（Ｓ３２，Ｎｏ）、異常終了を行なう（Ｓ３３）。また、データ書換え動作を再実行する場合（Ｓ３２、Ｙｅｓ）、フラッシュメモリ１１のリセットが再度行なわれる場合には（Ｓ３４，Ｙｅｓ）、ステップＳ２２以降の処理が繰り返される。また、フラッシュメモリ１１のリセットが再度行なわれない場合には（Ｓ３４，Ｎｏ）、ステップＳ２３以降の処理が繰り返される。
【００８７】  以上説明したように、本実施の形態におけるフラッシュメモリ１１によれば、常時電源遮断検出エラーフラグが活性されているか否かを判定して電源遮断を検出するようにしたので、第１の実施の形態において説明した効果に加えて、書換えパルスを印加している最中でも電源遮断が発生した場合にはデータ書換え動作を停止することが可能となった。
【００８８】  また、ＣＰＵ１が電源遮断検出エラーフラグを受けたときに、システムをリセットして内部レジスタ４１の値を初期化するようにしたので、内部レジスタ４１が記憶する値が破壊されてフラッシュメモリ１１が誤動作するのを防止することが可能となった。
【００８９】  （第３の実施の形態）  本発明の第３の実施の形態におけるマイクロコンピュータ１の構成、フラッシュメモリ１１の構成、電源遮断検出用レジスタ４７の構成などは、第１の実施の形態において説明したものと同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【００９０】  本発明の第３の実施の形態におけるフラッシュメモリ１１は、ＣＰＵ１７から電源遮断検出コマンドを受けたときに、制御論理回路３４が、電源遮断検出用レジスタ４７の値とメモリセル３６の値とを比較して、電源遮断発生の検出を行なう。
【００９１】  以上説明したように、本実施の形態におけるフラッシュメモリ１１によれば、ＣＰＵ１７から電源遮断検出コマンドを受けたときに、電源遮断発生の検出を行なうようにしたので、システム側で電源遮断検知タイミングの設定、電源遮断検知確認の要否を決定することができ、電源遮断検知確認の自由度が向上する。
【００９２】  また、データ書換え動作において、ＣＰＵ１７が適切なシーケンスで電源遮断検出コマンドを発行して電源遮断検出を行うことによって、適切な書換えフローを実行することが可能となった。
【００９３】  （第４の実施の形態）  本発明の第４の実施の形態におけるマイクロコンピュータ１の構成、フラッシュメモリ１１の構成、電源遮断検出用レジスタ４７の構成などは、第１の実施の形態において説明したものと同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【００９４】  第１〜第３の実施の形態においては、マイクロコンピュータ１による初期設定時に、記憶部３５の特定のメモリセル３６のデータが読み出されて電源遮断検出用レジスタ４７に設定するものであった。本発明の第４の実施の形態におけるフラッシュメモリ１１は、電源が投入されてリセットが行なわれると、メモリセル３６のデータが自動的に電源遮断検出用レジスタ４７に転送されて、電源遮断検出用レジスタ４７の値とメモリセル３６の値とが比較されるものである。
【００９５】  以上説明したように、本実施の形態におけるフラッシュメモリ１１によれば、リセット時にメモリセル３６の値が自動的に電源遮断検出用レジスタ４７に転送されるようにしたので、メモリセル３６の読み出しや電源遮断検出用レジスタ４７への書込みが不要となり、動作を簡略化することが可能となった。
【００９６】  （第５の実施の形態）  本発明の第５の実施の形態におけるマイクロコンピュータ１の構成、フラッシュメモリ１１の構成、電源遮断検出用レジスタ４７の構成などは、第１の実施の形態において説明したものと同様であり、フラッシュメモリ１１内にＲＯＭ（Read  Only  Memory）が設けられ、ＲＯＭの特定アドレスのデータが読出されて電源遮断検出用レジスタ４７に設定される点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【００９７】  図１０は、本発明の第５の実施の形態におけるフラッシュメモリ１１の構成例を示す図である。フラッシュメモリ１１は、電源遮断検出用レジスタ４７と、ＥＸ−ＯＲ回路４８と、ＲＯＭ７１とを含む。なお、図４に示すフラッシュメモリと同じ構成および機能を有する部分については、同じ参照符号を付すものとする。
【００９８】  マイクロコンピュータ１による初期設定時に、ＲＯＭ７１の特定アドレスのデータ７２が読み出されて電源遮断検出用レジスタ４７に設定される。そして、電源遮断が発生したときに電源遮断検出用レジスタ４７の値とＲＯＭ７１の特定アドレスのデータ７２とが不一致となり、ＥＸ−ＯＲ回路４８の出力であるＥＲＲＯＲ信号がＬレベルからＨレベルに変化する。
【００９９】  以上説明したように、本実施の形態におけるフラッシュメモリ１１によれば、ＲＯＭ７１の特定アドレスのデータ７２が読み出されて電源遮断検出用レジスタ４７に設定されるようにしたので、第１の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【０１００】  （第６の実施の形態）  本発明の第６の実施の形態におけるマイクロコンピュータ１の構成、フラッシュメモリ１１の構成、電源遮断検出用レジスタ４７の構成などは、第１の実施の形態において説明したものと同様であり、フラッシュメモリ１１内の電源遮断を検出する部分の構成のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【０１０１】  図１１は、本発明の第６の実施の形態におけるフラッシュメモリ１１の構成例を示す図である。フラッシュメモリ１１は、フラッシュメモリ１１の動作を制御するための値が設定される内部レジスタ４１と、アドレスラッチ回路４２および４３と、チャージポンプ４４と、バッファ４５および４６と、電源遮断検出用レジスタ４７と、ＥＸ−ＯＲ回路４８と、記憶部３５とを含む。なお、図４に示すフラッシュメモリと同じ構成および機能を有する部分については、同じ参照符号を付すものとする。
【０１０２】  ＥＸ−ＯＲ回路４８の一方の端子には電源ＶＤＤが接続され、他方の端子には電源遮断検出用レジスタ４７の出力が接続される。そして、電源遮断検出用レジスタ４７には“１”が設定される。
【０１０３】  また、ＥＸ−ＯＲ回路４８の一方の端子にはＶＳＳ（ＧＮＤ）が接続され、他方の端子には電源遮断検出用レジスタ４７の出力が接続され、電源遮断検出用レジスタ４７には“０”が設定されるようにしてもよい。
【０１０４】  以上説明したように、本実施の形態におけるフラッシュメモリ１１によれば、ＥＸ−ＯＲ回路４８の一方の端子がＶＤＤまたはＶＳＳに接続され、他方の端子に電源遮断検出用レジスタ４７の出力が接続されるようにしたので、記憶部３５の特定のメモリセルからデータを読み出して電源遮断検出用レジスタ４７の出力と比較する必要がなくなり、動作を簡略化することが可能となった。
【０１０５】  （第７の実施の形態）  本発明の第７の実施の形態におけるマイクロコンピュータ１の構成、フラッシュメモリ１１の構成、電源遮断検出用レジスタ４７の構成などは、第１の実施の形態において説明したものと同様であり、フラッシュメモリ１１内に電源遮断検出用レジスタ４７が複数設けられる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【０１０６】  複数の電源遮断検出用レジスタ４７は分散して配置され、“０”が設定されるものと“１”が設定されるものとを混在させる。そして、第１〜第６の実施の形態において説明したのと同様に、電源遮断検出用レジスタ４７のそれぞれが記憶部３５の特定のメモリセル３６の値やＲＯＭ７１の特定アドレスの値７２と比較して電源遮断を検出する。
【０１０７】  以上説明したように、本実施の形態におけるフラッシュメモリ１１によれば、複数の電源遮断検出用レジスタ４７を設け、“０”が設定されるものと“１”が設定されるものとを混在させるようにしたので、電源遮断が発生したときに、“０”が設定された電源遮断検出用レジスタの値が“１”に変化する場合、“１”が設定された電源遮断検出用レジスタの値が“０”に変換する場合の両方を検出することができ、さらに電源遮断検出の精度を向上させることが可能となった。
【０１０８】  また、複数の電源遮断検出用レジスタ４７を分散して配置するようにしたので、フラッシュメモリ１１内の局所的な電源遮断の検出も容易に行なえるようになった。
【０１０９】  （第８の実施の形態）  図１２は、本発明の第８の実施の形態におけるフラッシュメモリ１１を含んだマイクロコンピュータ１の構成例を示すブロック図である。第１の実施の形態におけるマイクロコンピュータ１およびフラッシュメモリ１１と同じ構成および機能を有する部分には同じ参照符号を付すものとする。
【０１１０】  フラッシュメモリ１１には、ＥＸ−ＯＲ回路４８から出力されるＥＲＲＯＲ信号を保持するためのフリップフロップ（以下、ＦＦと略す。）８１が追加されている。このＦＦ８１（ＥＲＲフラグレジスタ８１）が電源遮断検出エラーフラグをチャージポンプ４４およびＣＰＵ１７に出力する。
【０１１１】  ＣＰＵ１７には、ＦＦ８２〜８４および組合わせ回路８５が追加されている。ＣＰＵ１７は、フラッシュメモリ１１から電源遮断検出エラーフラグを受けたときに、電源遮断レジスタ８２にエラーフラグ値を設定する。
【０１１２】  また、組合せ回路８５およびＦＦ８４は、電源遮断レジスタ８２にエラーフラグ値が格納されたときに、システムをリセットするためのＲＳＴ信号を生成する回路である。ＣＰＵ１７は、このＲＳＴ信号をフラッシュメモリ１１、周辺回路１２、バスコントローラ１５、フラッシュメモリコントローラ１９に出力する。
【０１１３】  また、ＦＦ８３は、フラッシュメモリコントローラ１９から電源遮断検知によってデータ書換え動作を中止したことを示す情報を受けて保持する。
【０１１４】  フラッシュメモリコントローラ１９には、ＦＦ８６〜８７および組合わせ回路８８が追加されている。フラッシュメモリコントローラ１９は、フラッシュメモリ１１から電源遮断検出エラーフラグを受けたときに、レジスタ８６にエラーフラグ値を設定する。
【０１１５】  また、組合せ回路８８およびＦＦ８７は、レジスタ８６にエラーフラグ値が格納されたときに、電源遮断検知によってデータ書換え動作を中止したことを示す情報を生成し、フラッシュメモリ１１およびＣＰＵ１７に出力する。
【０１１６】  図１３は、本発明の第８の実施の形態におけるマイクロコンピュータ１がデータ書換え動作時に電源遮断を検出したときの動作を説明するためのタイミングチャートである。まず、Ｔ１において、ＣＰＵ１７が書換えコマンドをフラッシュメモリ１１に発行する。
【０１１７】  Ｔ２において、ＦＲＤＹ（フラッシュレディ）信号がＬレベルとされて、フラッシュメモリ１１によるデータ書換え動作が開始される。このとき、ＰＥ制御信号が活性され、チャージポンプ４４による高電圧の生成が開始される。
【０１１８】  Ｔ３において、ＭＧ０信号がＨレベルにされ、ＳＬ０〜ＳＬ３が順次Ｈレベルにされて、データ書換えが行なわれる。Ｔ４においても同様に、ＭＧ０信号がＨレベルにされ、ＳＬ０〜ＳＬ３が順次Ｈレベルにされて、データ書換えが行なわれる。
【０１１９】  Ｔ５において、データ書換え動作の途中で電源遮断が検出されると、フラッシュメモリ１１はＥＲＲフラグレジスタ８１にエラーフラグ値“１”を設定する。このとき、チャージポンプ４４は高電圧の放電を開始し、フラッシュメモリコントローラ１９からＰＥ制御信号の非活性化が実施される。
【０１２０】  そして、Ｔ６において、ＣＰＵ１７は、電源遮断レジスタ（ステータスレジスタ）８２にエラーフラグ値を設定する。Ｔ７において、ＣＰＵ１７がＲＳＴ信号を生成してフラッシュメモリ１１、周辺回路１２、バスコントローラ１５、フラッシュメモリコントローラ１９に出力する。
【０１２１】  このとき、フラッシュメモリ１１は、内部レジスタ４１などの再設定を行なう。また、ＦＲＤＹ信号がＨレベルにされる。Ｔ８において、フラッシュメモリ１１は、ＥＲＲフラグレジスタ８１の値をクリアして、新たな電源遮断の検出に備える。
【０１２２】  図１４は、本発明の第８の実施の形態におけるマイクロコンピュータ１がデータ書換え動作中以外で電源遮断を検出したときの動作を説明するためのタイミングチャートである。まず、Ｔ１において、マイクロコンピュータ１の電源が投入される。
【０１２３】  Ｔ２において、電源遮断が検出されると、フラッシュメモリ１１はＥＲＲフラグレジスタ８１にエラーフラグ値“１”を設定する。そして、Ｔ３において、ＣＰＵ１７は、電源遮断レジスタ（ステータスレジスタ）８２にエラーフラグ値を設定する。このとき、ＦＲＤＹ信号がＬレベルとされる。
【０１２４】  Ｔ４において、ＣＰＵ１７がＲＳＴ信号を生成してフラッシュメモリ１１、周辺回路１２、バスコントローラ１５、フラッシュメモリコントローラ１９に出力する。このとき、フラッシュメモリ１１は、内部レジスタ４１などの再設定を行なう。また、ＦＲＤＹ信号がＨレベルにされる。そして、Ｔ５において、フラッシュメモリ１１は、ＥＲＲフラグレジスタ８１の値をクリアして、新たな電源遮断の検出に備える。
【０１２５】  以上説明したように、本実施の形態におけるマイクロコンピュータ１によれば、ＣＰＵ１７がフラッシュメモリ１１から電源遮断検出エラーフラグを受けたときに、ＲＳＴ信号を生成してシステムを自動的にリセットするようにしたので、第１の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【０１２６】  今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２７】  １  マイクロコンピュータ、１１  フラッシュメモリ、１２  周辺回路、１３  発振回路、１４  分周回路、１５  バスコントローラ、１６  ＲＡＭ、１７  ＣＰＵ、１８  システムコントローラ、１９  フラッシュメモリコントローラ、２０  入出力ポート、２１  システムバス、３１  Ｉ／Ｏ、３２  電源、３３  電源ｓｗ、３４  制御論理回路、３５  記憶部、３６  メモリセル、４１  内部レジスタ、４２，４３  アドレスラッチ回路、４４  チャージポンプ、４５，４６  バッファ、４７  電源遮断検出用レジスタ、４８  ＥＸ−ＯＲ回路、５１〜５６  インバータ、５７  ＮＯＲ回路、５８〜６２  ＰチャネルＭＯＳトランジスタ、６３〜６７  ＮチャネルＭＯＳトランジスタ、７１  ＲＯＭ、８１〜８４，８６，８７  ＦＦ、８５，８８  組合せ回路、１１０  メモリセルアレイ、１１２  コントロールゲート線選択駆動回路、１１４  メモリゲート線選択駆動回路、１１６  ソース線選択駆動回路、１１８  列選択回路、１２０  データラッチ回路。
【図１】
2012120591.tif 000003
【図２】
2012120591.tif 000004
【図３】
2012120591.tif 000005
【図４】
2012120591.tif 000006
【図５】
2012120591.tif 000007
【図６】
2012120591.tif 000008
【図７】
2012120591.tif 000009
【図８】
2012120591.tif 000010
【図９】
2012120591.tif 000011
【図１０】
2012120591.tif 000012
【図１１】
2012120591.tif 000013
【図１２】
2012120591.tif 000014
【図１３】
2012120591.tif 000015
【図１４】
2012120591.tif 000016
【図１５】
2012120591.tif 000017
【国際調査報告】
2012120591.tif 000018
2012120591.tif 000019