(57)【要約】【課題】内部電源電圧が低下しても誤動作が生じない半導体装置を提供する。【解決手段】このマイクロコンピュータでは、フラッシュメモリモジュールＭＭは、ＣＰＵ８から読出要求された回数をカウントし、そのカウント値ＣＲが所定値ｎに到達した場合は待機信号ＷＴを「Ｈ」レベルにし、さらに、ＣＰＵ８から読出要求された回数をカウントし、そのカウント値ＣＷが所定値ｍに到達した場合は待機信号ＷＴを「Ｌ」レベルにする。ＣＰＵ８は、待機信号ＷＴが「Ｈ」レベルにされている期間Ｔ２は、フラッシュメモリモジュールＭＭからの読出データＤＯを無効データＤＭとして読み捨てる。【選択図】図１７
2014021892.tif 000002
【特許請求の範囲】
【請求項１】
電源電圧に基づいて内部電源電圧を発生する内部電源電圧発生回路と、
クロック信号に同期して読出要求信号およびアドレス信号を出力する中央処理装置と、
前記内部電源電圧によって駆動され、前記読出要求信号に応答して、前記アドレス信号によって指定されたアドレスから情報を読み出して前記中央処理装置に与える不揮発性半導体メモリとを備え、
前記不揮発性半導体メモリは、前記読出要求信号が与えられた回数をカウントし、そのカウント値が予め定められた第１の値に到達したことに応じて所定期間だけ待機信号を出力する第１のカウント回路を含み、
前記中央処理装置は、前記第１のカウント回路から前記待機信号が出力されている期間は、前記不揮発性半導体メモリから与えられた情報を無効情報として読み捨てする、半導体装置。
【請求項２】
前記所定期間は、前記内部電源電圧が前記第１の電圧よりも低下する期間を含む、請求項１に記載の半導体装置。
【請求項３】
前記第１のカウント回路は、前記カウント値が前記第１の値に到達したことに応じて前記待機信号の出力を開始し、前記カウント値が前記第１の値よりも大きな第２の値に到達したことに応じて前記待機信号の出力を停止する、請求項１に記載の半導体装置。
【請求項４】
前記不揮発性半導体メモリは、
各々がデータを記憶する複数のメモリセルと、
読出動作時において前記待機信号が出力されていない場合に、前記複数のメモリセルのうちの前記アドレス信号によって選択されたメモリセルに記憶されたデータの論理に応じたレベルの電圧を第１のノードに与えるとともに、第２のノードに第１の参照電圧を与える第１の電圧発生回路と、
前記読出動作時において前記待機信号が出力されている場合に、前記内部電源電圧を第３のノードに与えるとともに、第２の参照電圧を第４のノードに与える第２の電圧発生回路と、
前記読出動作時において前記待機信号が出力されていない場合は前記第１および第２のノード間の電圧を前記内部電源電圧に増幅し、前記読出動作時において前記待機信号が出力されている場合は前記第３および第４のノード間の電圧を前記内部電源電圧に増幅するセンスアンプとを備え、
前記第１のカウント回路は、前記カウント値が前記第１の値に到達したことに応じて前記待機信号の出力を開始し、前記センスアンプの出力電圧に基づき、前記内部電源電圧が前記第２の参照電圧を超えたことに応じて前記待機信号の出力を停止する、請求項１に記載の半導体装置。
【請求項５】
前記読出要求信号が与えられない回数をカウントし、そのカウント値が予め定められた第２の値に到達したことに応じてリセット信号を出力する第２のカウント回路を含み、
前記第１のカウンタのカウント値は前記リセット信号に応答して初期値にリセットされる、請求項１に記載の半導体装置。
【請求項６】
前記不揮発性半導体メモリは複数設けられ、
各前記不揮発性半導体メモリの前記第１のカウント回路は、前記中央処理装置から少なくとも２つ以上の前記不揮発性半導体メモリに前記読出要求信号が与えられたとき、前記読出要求信号が与えられた回数をカウントし、そのカウント値が予め定められた第１の値に到達したことに応じて前記待機信号を出力する、請求項１に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置に関し、たとえば内部電源電圧発生回路と不揮発性半導体メモリと中央処理装置を備えた半導体装置に好適に利用できるものである。
【背景技術】
【０００２】
従来より、内部電源電圧発生回路と不揮発性半導体メモリとＣＰＵ（Central Processing Unit：中央処理装置）を備えた半導体装置がある。内部電源電圧発生回路は、外部電源電圧を降圧して内部電源電圧を生成する。不揮発性半導体メモリは、内部電源電圧によって駆動される。ＣＰＵは、不揮発性半導体メモリから情報を読み出す。
【０００３】
また、特許文献１には、ＳＲＡＭ（Static Random Access Memory）のメモリセル用の電源電圧とセンスアンプ用の電源電圧との比をアナログ比較器を用いて検出し、検出した比が許容範囲を超えた場合に読出動作を停止するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１０２９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の半導体装置では、近年の内部電源電圧の低電圧化、読出周波数の高周波化、同時読出データのビット数の増大化に伴い、連続読出動作時に内部電源電圧が低下し、読出不良が発生し、誤動作が生じるという問題があった。
【０００６】
この対策として、内部電源電圧発生回路の応答速度を上げると、消費電流が増大してしまう。また、内部電源電圧用のデカップルコンデンサの容量値を増大させると、チップ面積が増大する。
【０００７】
また、特許文献１では、アナログ比較回路の応答速度が遅いので、読出周波数が高い場合は、読出動作を停止させる前に読出不良が発生するという問題がある。また、内部電源電圧発生回路の検知レベルを下回る前に読出動作を停止すると、内部電源電圧発生回路が活性化されず、内部電源電圧が昇圧されない。
【０００８】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
一実施の形態によれば、不揮発性半導体メモリは、読出要求信号が与えられた回数をカウントし、そのカウント値が所定値に到達したことに応じて所定期間だけ待機信号を出力する。中央処理装置は、待機信号が出力されている期間は、不揮発性半導体メモリから与えられた情報を無効情報として読み捨てする。
【発明の効果】
【００１０】
一実施の形態によれば、内部電源電圧が低下する期間は不揮発性半導体メモリから読み出された情報を読み捨てするので、誤動作は生じない。また、読出動作を停止しないので、内部電源電圧発生回路を活性化させて内部電源電圧を昇圧することができる。
【図面の簡単な説明】
【００１１】
【図１】本願の実施の形態１によるマイクロコンピュータの構成を示すブロック図である。
【図２】図１に示した内部電源電圧発生回路の構成を示す回路ブロック図である。
【図３】図１に示したフラッシュメモリモジュールに含まれるメモリセルの構成を示す断面図である。
【図４】図２に示したメモリセルの構成を示す回路図である。
【図５】図１に示したフラッシュメモリモジュールの構成を示す回路ブロック図である。
【図６】図５に示したメモリマットの階層化ビット線構造を示す回路ブロック図である。
【図７】図６に示したセンスアンプアレイの概略構成を示す回路ブロック図である。
【図８】図７に示したセンスアンプアレイの要部を示す回路ブロック図である。
【図９】図３〜図８に示したフラッシュメモリモジュールのデータ読出動作の一部分を示すタイムチャートである。
【図１０】図３〜図８に示したフラッシュメモリモジュールのデータ読出動作の残りの部分を示すタイムチャートである。
【図１１】図３〜図８に示したフラッシュメモリの連続読出動作時における内部電源電圧の変化を例示するタイムチャートである。
【図１２】図１に示したマイクロコンピュータのうちの連続読出に関連する部分を示すブロック図である。
【図１３】図１２に示したＣＰＵのダミーリードを示す図である。
【図１４】図１２に示したフラッシュメモリモジュールのうちの待機信号の生成に関連する部分を示す回路ブロック図である。
【図１５】図１４に示したカウンタの構成を示す回路ブロック図である。
【図１６】図１４に示したリセット回路の構成を示す回路ブロック図である。
【図１７】図１〜図１６に示したマイクロコンピュータの連続読出動作を示すタイムチャートである。
【図１８】本願の実施の形態２によるマイクロコンピュータの要部を示す回路ブロック図である。
【図１９】図１８に示したフラッシュメモリモジュールに含まれる信号検出回路の構成を示す回路ブロック図である。
【図２０】図１８に示したフラッシュメモリモジュールに含まれる他の信号検出回路の構成を示す回路ブロック図である。
【図２１】本願の実施の形態３によるマイクロコンピュータに含まれるフラッシュメモリモジュールのセンスアンプアレイを示す回路ブロック図である。
【図２２】図２１で説明したフラッシュメモリモジュールの待機信号の生成に関連する部分を示す回路ブロック図である。
【図２３】図２１および図２２で説明したフラッシュメモリの読出動作の一部分を示すタイムチャートである。
【図２４】図２１および図２２で説明したフラッシュメモリの読出動作の残りの部分を示すタイムチャートである。
【図２５】図２１および図２２で説明したフラッシュメモリの連続読出動作を示すタイムチャートである。
【発明を実施するための形態】
【００１２】
[実施の形態１]
本願の実施の形態１によるマイクロコンピュータは、図１に示すように、マイクロプロセッサ１と外付けのＲＯＭ（Read Only Memory）１４を備える。マイクロプロセッサ１は、基準電源２、発振回路３、分周回路４、内部電源電圧発生回路５、フラッシュメモリモジュールＭＭ１，ＭＭ２、フラッシュメモリコントローラ６を備える。また、マイクロプロセッサ１は、システムコントローラ７、ＣＰＵ８、ＲＡＭ（Random Access Memory）９、バスコントローラ１０、周辺回路１１、内部バス１２、および入出力ポート１３を備える。マイクロプロセッサ１は、１つの半導体チップに搭載されている。ＲＯＭ１４は、ＲＡＭであってもかまわない。
【００１３】
基準電源２は、一定の基準電圧ＶＢＧＲを発生する。発振回路３は、基準電源２で生成された基準電圧ＶＢＧＲに基づいて、所定周波数のクロック信号を生成する。分周回路４は、発振回路３で生成されたクロック信号を分周して動作基準クロック信号やその他の内部クロック信号を生成する。内部電源電圧発生回路５は、外部電源電圧によって駆動され、基準電圧ＶＢＧＲに応じたレベルの内部電源電圧ＦＶＤＤを生成する。
【００１４】
フラッシュメモリモジュールＭＭ１，ＭＭ２は、ともに内部電源電圧ＦＶＤＤによって駆動される。フラッシュメモリモジュールＭＭ１，ＭＭ２の各々には、ＣＰＵ８の動作プログラムやデータが格納されている。フラッシュメモリモジュールＭＭ１，ＭＭ２の各々は、ＣＰＵ８からの読出要求信号などに従って、動作プログラムやデータを読み出す。また、フラッシュメモリモジュールＭＭ１，ＭＭ２の各々は、ＣＰＵ８から読出要求信号が与えられた回数をカウントし、そのカウント値に基づいて待機信号を出力する。フラッシュメモリコントローラ６は、フラッシュメモリモジュールＭＭ１，ＭＭ２の各々にデータなどを書込む。システムコントローラ７は、外部コマンド信号ＣＭＤに基づいて内部コマンド信号を生成する。
【００１５】
ＣＰＵ８は、システムコントローラ７からの内部コマンド信号に基づいて動作する。ＣＰＵ８は、命令制御部と実行部を含み、フェッチした命令を解読し、解読結果に従って実行部で演算処理を行なう。また、ＣＰＵ８は、読出要求信号などをフラッシュメモリモジュールＭＭ１，ＭＭ２に与え、フラッシュメモリモジュールＭＭ１，ＭＭ２から動作プログラム、データなどを読み出す。また、ＣＰＵ８は、フラッシュメモリモジュールＭＭ１，ＭＭ２から待機信号が出力されている間は、フラッシュメモリモジュールＭＭ１，ＭＭ２からの情報を無効情報として読み捨てする。
【００１６】
ＲＡＭ９は、ＣＰＵ８のワーク領域などに利用される。バスコントローラ１０は、ＣＰＵ８からのアクセス要求に応答して、そのアクセス対象アドレスに応じたアクセスサイクル数、ウェイトステート数、バス幅等のバスアクセス制御を行なう。周辺回路１１は、タイマカウンタ等を含む。内部バス１２は、アドレスバス、データバス、およびコントロールバスを含み、マイクロプロセッサ１内の回路間で信号の授受を行なう。入出力ポート１３は、内部バス１２と、ＲＯＭ１４等の外部装置との間で信号の授受を行なう。ＲＯＭ１４には、割り込み命令が格納されている。
【００１７】
図２は、内部電源電圧発生回路５の構成を示す回路ブロック図である。図２において、内部電源電圧発生回路５は、演算増幅器１５，１６、セレクタ１７、分圧器１８、およびデカップルコンデンサ１９を含む。演算増幅器１５，１６は、ともに外部電源電圧ＶＥＸＴによって駆動される。分圧器１８は、演算増幅器１５の出力端子と接地電圧ＶＳＳのラインとの間に接続され、演算増幅器１５の出力電圧ＶＲを分圧して複数（たとえば１２）の電圧ＶＤ１〜ＶＤ１２を出力する。電圧ＶＤ１〜ＶＤ１２は、０ＶとＶＲの間の電圧であり、順次増大している。
【００１８】
セレクタ１７は、複数の電圧ＶＤ１〜ＶＤ１２のうちの予め実験により選択された電圧ＶＤＳを演算増幅器１５の反転入力端子（−端子）に与える。演算増幅器１５の非反転入力端子（＋端子）には、基準電圧ＶＢＧＲが与えられる。演算増幅器１５は、セレクタ１７の出力電圧ＶＤＳが基準電圧ＶＢＧＲに一致するように出力電圧ＶＲを制御する。ＶＤＳ＝αＶＲであるとすると、ＶＲ＝ＶＢＧＲ／αとなる。ただし、αは０と１の間の実数である。
【００１９】
電圧ＶＲは、演算増幅器１６の非反転入力端子に与えられる。演算増幅器１６の出力端子はその反転入力端子に接続されるとともに、内部電源電圧発生回路５の出力端子５ａとなる。演算増幅器１６は、出力電圧ＦＶＤＤが電圧ＶＲに一致するように出力電圧ＦＶＤＤを制御する。デカップルコンデンサ１９は、出力端子５ａと接地電圧ＶＳＳのラインとの間に接続され、出力電圧ＦＶＤＤを安定化させる。
【００２０】
次に、フラッシュメモリモジュールＭＭについて説明する。なお、フラッシュメモリモジュールＭＭ１とＭＭ２は同じ構成であり、それらを総括的に説明する場合はフラッシュメモリモジュールＭＭと称する。
【００２１】
図３は、フラッシュメモリモジュールＭＭに含まれる不揮発性メモリセルＭＣの構成を示す断面図である。図３において、メモリセルＭＣは、半導体基板領域２１表面に間をおいて形成される不純物領域２２ａ，２２ｂと、これらの不純物領域２２ａ，２２ｂの間の基板領域２１上にゲート絶縁膜２３を介して形成されるコントロールゲート電極２４とを含む。また、メモリセルＭＣは、ゲート絶縁膜２３およびコントロールゲート電極２４に隣接してＬ字型に形成される電荷蓄積膜２５と、電荷蓄積膜２５上に形成されるメモリゲート電極２６を含む。
【００２２】
電荷蓄積膜２５は、基板領域２１上に形成されるボトム酸化膜２５ａと、ボトム酸化膜２５ａ上に形成される窒化膜２５ｂと、窒化膜２５ｂ上に形成されるトップ酸化膜２５ｃを含む。ボトム酸化膜２５ａおよびトップ酸化膜２５ｃの間に窒化膜２５ｂを配置し、この窒化膜２５ｂに電荷を蓄積する。トップ酸化膜２５ｃにより窒化膜２５ｂとメモリゲート電極２６との間の電荷のリークを抑制する。
【００２３】
不純物領域２２ａ、ゲート絶縁膜２３、およびコントロールゲート電極２４により、選択トランジスタＳＴが形成される。電荷蓄積膜２５、不純物領域２２ｂおよびメモリゲート電極２６により、メモリセルトランジスタＭＴが形成される。これらの選択トランジスタＳＴおよびメモリセルトランジスタＭＴが直列に接続される。メモリセルＭＣの選択時、メモリセルトランジスタＭＴのしきい値電圧に応じて選択的に不純物領域２２ａ，２２ｂの間にチャネルが形成される。
【００２４】
通常、不純物領域２２ａが列方向に延在して形成され、２列のメモリセルＭＣに共通に配置される上層のビット線ＢＬに電気的に接続される。不純物領域２２ｂが列方向に連続的に延在して、２列のメモリセルＭＣに共通なソース線ＳＬを形成する。コントロールゲート電極２４は、行方向に延在するコントロールゲート線ＣＧに接続される。コントロールゲート線ＣＧに、１行に整列して配置される複数のメモリセルＭＣの選択トランジスタＳＴのコントロールゲート電極２４が共通に接続される。メモリゲート電極２６は、同様、行方向に延在するメモリゲート線ＭＧに接続される。メモリゲート線ＭＧに、１行に整列して配置される複数のメモリセルＭＣのメモリゲート電極２６が共通に接続される。
【００２５】
図３に示すメモリセルＭＣは、選択トランジスタＳＴのコントロールゲート電極２４がメモリゲート電極２６よりも先に形成される。したがって、シリコン基板界面（半導体基板領域２１）の品質のよい状態で、選択トランジスタＳＴのゲート絶縁膜を、同一半導体基板上に形成されるロジック部のゲート絶縁膜と同一工程で形成することができる。メモリセルトランジスタＭＴにおいてはフローティングゲートが用いられていないため、トランジスタ製造工程を、同一半導体チップ上に形成されるロジックのトランジスタと共通化することができる。以下の説明においては、選択トランジスタＳＴおよびメモリセルトランジスタＭＴが、ともにＮチャネルトランジスタであるものとする。
【００２６】
この図３に示すメモリセルＭＣにおいて、データの書込時においては、メモリゲート電極２６に１１Ｖ程度の電圧が印加され、不純物領域２２ｂに５Ｖ程度の電圧が印加される。コントロールゲート電極２４へは、選択トランジスタＳＴのしきい値電圧よりも少し高いレベル（たとえば１Ｖ）の電圧が与えられる。不純物領域２２ａには、コントロールゲート電極２４の電圧よりも少し低い電圧（０．８Ｖ）が印加される。この状態においては、選択トランジスタＳＴにおいて、ゲート絶縁膜２３下部に弱い反転層が形成される。メモリセルトランジスタＭＴは、強いオン状態であリ、不純物領域２２ｂから不純物領域２２ａに向かって電流が流れる。
【００２７】
チャネル領域において、選択トランジスタＳＴとメモリセルトランジスタＭＴの境界部は高抵抗状態であり、この領域において高電界が発生する。この高電界により、不純物領域２２ａから不純物領域２２ｂに流れる電子が、ホットエレクトロンとなり、メモリゲート電極２６の高電圧に引かれて、電荷蓄積膜２５の窒化膜２５ｂに注入されて蓄積される。メモリセルトランジスタＭＴにおいては、ソース側から電子が注入されるため、ソースサイド注入方式で電子が注入され、トンネル電流を利用する構成に比べて高効率で、電子を注入することができる。この書込状態は、メモリセルトランジスタＭＴのしきい値電圧が高い状態に対応する。
【００２８】
消去動作時においては、メモリゲート電極２６にたとえば−５Ｖの負の高電圧が印加され、不純物領域２２ｂに７Ｖ程度の正の高電圧が印加される。消去時においても、選択トランジスタＳＴは、コントロールゲート電極２４が例えば１Ｖ、不純物領域２２ａ（ビット線）が例えば０．８Ｖの電圧レベルに設定される。電流が不純物領域２２ｂから不純物領域２２ａに向かって流れる。不純物領域２２ｂの端部において高電界（ドレイン高電界）が発生し、ホットホールが生成される。メモリゲート電極２６の負電圧により、バンド間トンネリング電流がボトム酸化膜２５ａを介して電荷蓄積膜２５の窒化膜２５ｂに流れ、ホットホールが窒化膜２５ｂに注入されて蓄積される。これにより、書込時に注入された電子を中和して、消去状態とする。この消去状態は、メモリセルトランジスタＭＴのしきい値電圧が低い状態に対応する。
【００２９】
データ読出時においては、メモリゲート電極２６をたとえば０Ｖに設定し、選択コントロールゲート電極２４をたとえば１．５Ｖに設定し、不純物領域２２ａに１Ｖ程度の読出電圧を供給し、不純物領域２２ｂを接地電圧レベルに設定する。不純物領域２２ａ（ビット線）から不純物領域２２ｂ（ソース線）に流れる電流の大小により、メモリセルＭＣの記憶データを判定する。
【００３０】
このメモリセルトランジスタＭＴは、一例として、消去時においてはそのしきい値電圧は負の値であっても良い。したがって、たとえメモリセルトランジスタＭＴが、しきい値電圧が負となる過消去状態となっても、選択トランジスタＳＴがオフ状態であれば、電流が流れず、他のメモリセルの読出に対して影響は及ぼさない。
【００３１】
なお、メモリセルトランジスタＭＴの消去状態および書込状態のいずれにおいても、メモリセルトランジスタＭＴのしきい値電圧が、正の電圧であっても良い。データ読出時に、書込および消去状態を識別するだけの電流がビット線（不純物領域２２ａ）に流れ、この電流差が読出回路（センスアンプ）により検知することができればよい。
【００３２】
換言すると、メモリセルＭＣは、図４に示すように、ビット線ＢＬとソース線ＳＬとの間に直列接続された選択トランジスタＳＴおよびメモリセルトランジスタＭＴを含む。選択トランジスタＳＴのゲートはコントロールゲート線ＣＧに接続され、メモリセルトランジスタＭＴのゲートはメモリゲート線ＭＧに接続される。
【００３３】
データ書込時においては、メモリゲート線ＭＧに１１Ｖ程度の電圧を印加し、ビット線ＢＬに５Ｖ程度の電圧を印加する。また、コントロールゲート線ＣＧにたとえば１Ｖを印加し、ソース線ＳＬにたとえば０．８Ｖを印加する。これにより、電荷蓄積膜２５の窒化膜２５ｂに電子が注入され、メモリセルトランジスタＭＴのしきい値電圧が高い状態になる。
【００３４】
消去動作時においては、メモリゲート線ＭＧにたとえば−５Ｖの負の高電圧を印加し、ソース線ＳＬに７Ｖ程度の正の高電圧を印加する。また、コントロールゲート線ＣＧにたとえば１Ｖを印加し、ソース線ＳＬにたとえば０．８Ｖを印加する。これにより、電荷蓄積膜２５の窒化膜２５ｂにホールが注入され、メモリセルトランジスタＭＴのしきい値電圧が低い状態になる。
【００３５】
データ読出時においては、メモリゲート線ＭＧにたとえば０Ｖを印加し、コントロールゲート線ＣＧにたとえば１．５Ｖを印加し、ビット線ＢＬに１Ｖ程度の読出電圧を印加し、ソース線ＳＬに接地電圧ＶＳＳを印加する。ビット線ＢＬからソース線ＳＬに流れる電流と参照電流との大小を比較し、比較結果に基づいてメモリセルＭＣの記憶データを判定する。
【００３６】
図５は、フラッシュメモリモジュールＭＭの全体構成を示す回路ブロック図である。図５において、フラッシュメモリモジュールＭＭはメモリマットＭＡＴを備え、メモリマットＭＡＴは複数（図では４つ）のメモリアレイＭＡ０〜ＭＡ３を含む。各メモリアレイＭＡは、複数行複数列に配置された複数のメモリセルＭＣと、それぞれ複数行に対応して設けられた複数のコントロールゲート線ＣＧと、それぞれ複数行に対応して設けられた複数のメモリゲート線ＭＧとを含む。また、各メモリアレイＭＡは、それぞれ複数列に対応して設けられた複数のビット線ＢＬと、それぞれ複数列に対応して設けられた複数のソース線ＳＬ（図示せず）とを含む。
【００３７】
各メモリアレイＭＡに対応して、行デコーダ（ＲＤＥＣ）３０、列デコーダ（ＣＤＥＣ）３１、および列選択回路３２が設けられる。また、メモリアレイＭＡ０，ＭＡ１の間にセンスアンプアレイＳＡが設けられ、メモリアレイＭＡ２，ＭＡ３の間にセンスアンプアレイＳＡが設けられる。各センスアンプアレイＳＡは、複数のセンスアンプ３３を含む。また、メモリアレイＭＡ０〜３に共通に、複数のグローバル書込ビット線ＧＢＬｗと、複数のグローバル読出ビット線対ＧＢＬｒｐとが設けられる。
【００３８】
行デコーダ３０は、ＣＰＵ８からアドレスバスＡＢＵＳを介して与えられる行アドレス信号に従って、対応のメモリアレイＭＡの複数行のうちのいずれかの行を選択し、選択した行のゲート線ＣＧ，ＭＧを駆動する。アドレスバスＡＢＵＳは、内部バス１２に含まれている。列デコーダ３１は、ＣＰＵ８からアドレスバスＡＢＵＳを介して与えられる列アドレス信号に従って、対応のメモリアレイＭＡの複数のビット線ＢＬのうちのいずれかのビット線ＢＬを選択する。列選択回路３２は、列デコーダ３１によって選択されたビット線ＢＬを対応のセンスアンプ３３に接続する。
【００３９】
図５では、センスアンプアレイＳＡのうちの１つのセンスアンプ３３のみが代表的に示されている。センスアンプ３３の出力電圧は、対応のグローバル読出ビット線対ＧＢＬｒｐに与えられる。要するに、ビット線ＢＬは階層ビット線構造とされ、センスアンプ３３による増幅は階層センス方式とされる。
【００４０】
書込系として読出系とは分離されたグローバル書込ビット線ＧＢＬｗが設けられる。グローバル書込ビット線ＧＢＬｗは階層化されず、複数のメモリアレイＭＡ０〜ＭＡ３に共通化される。グローバル書込ビット線ＧＢＬｗと対応するビット線ＢＬとは、分離スイッチＤＳＷによって接続または分離可能にされている。読出動作時は、分離スイッチＤＳＷは少なくとも、読出対象メモリアレイＭＡにおいてグローバル書込ビット線ＧＢＬｗをビット線ＢＬから分離する。たとえば、グローバル読出ビット線対ＧＢＬｒｐは３２個設けられ、グローバル書込ビット線ＧＢＬｗは１０２４本設けられる。
【００４１】
コントロールゲート線ＣＧおよびメモリゲート線ＭＧは、行デコーダ３０による行アドレス信号のデコード結果に従って選択的に駆動される。ゲート線ＣＧ，ＭＧの駆動電圧レベルは、フラッシュメモリに対する消去、書込、または読出処理に応じて決まる。列選択回路３２によるビット線ＢＬの選択は、列デコーダ３１による列アドレス信号のデコード結果に従って行なわれる。分離スイッチＤＳＷやセンスアンプ３３は、メモリアレイＭＡに対する読出、消去または書込の動作に応じて行デコーダ３０により制御される。
【００４２】
グローバル読出ビット線対ＧＢＬｒｐは、バスドライバを介してデータバスＤＢＵＳに接続される。データバスＤＢＵＳは、内部バス１２に含まれている。データバスＤＢＵＳは３２ビットである。グローバル書込ビット線ＧＢＬｗは、書込回路３４に接続される。書込回路３４は、１０２４ビットの書込制御データの各ビットの論理値に応じて対応するグローバル書込ビット線ＧＢＬｗに書込電圧を印加する。書込制御データは、データラッチ回路３５から与えられる。データラッチ回路３５には、ＣＰＵ８から順次３２ビット単位で与えられる書込データがデータセレクタ３６を介して１０２４ビット入力されてプリセットされる。
【００４３】
ベリファイリードにおいてグローバル書込ビット線ＧＢＬｗに読み出されたデータはデータセレクタ３６により３２ビット単位で選択され、選択されたデータはベリファイ用アンプ３７で増幅されて外部に出力される。ベリファイリードで外部に読み出されたデータは、ＣＰＵ８によりビット単位でベリファイ判定が行なわれる。その判定結果が新たな書込制御データとしてＣＰＵ８からデータセレクタ３６を通してデータラッチ回路３５にロードされる。データセレクタ３６の選択動作は、アドレスバスＡＢＵＳから供給されるアドレス信号に基いて行なわれる。
【００４４】
制御回路３８には、ＣＰＵ８からコントロールバスＣＢＵＳおよびデータバスＤＢＵＳを介してメモリ制御情報が設定される。制御回路３８は、そのメモリ制御情報に従って読出、消去および書込の動作に応じた制御シーケンス並びに動作電源の切換制御を行なう。また、制御回路３８は、ＣＰＵ８からの読出要求信号などに従って、動作プログラムやデータをメモリアレイＭＡから読み出し、データバスＤＢＵＳを介してＣＰＵ８に供給する。また、制御回路３８は、ＣＰＵ８から読出要求信号が与えられた回数をカウントし、そのカウント値に基づいて待機信号を出力する。高電圧発生回路３９は、制御回路３８によって制御され、内部電源電圧ＦＶＤＤを昇圧して書込および消去用の高電圧を生成してフラッシュメモリモジュールＭＭ全体に供給する。
【００４５】
図６は、図５に示したメモリマットＭＡＴの階層化ビット線構造を示す回路ブロック図である。図６において、１本のグローバル書込ビット線ＧＢＬｗは、各メモリアレイＭＡにおいて２つの分離スイッチＤＳＷを介して２本のビット線ＢＬのうちのいずれか１本のビット線ＢＬに選択的に接続される。隣接する２つのメモリアレイＭＡの間に分離スイッチアレイ４０が設けられ、分離スイッチアレイ４０に分離スイッチＤＳＷがレイアウトされる。図５では、図面の簡単化のため、メモリアレイＭＡ１，ＭＡ２間の分離スイッチアレイ４０のみが示されている。
【００４６】
図６の横方向にビット線ＢＬは２０４８本、グローバル書込ビット線ＧＢＬｗは１０２４本、グローバル読出ビット線対ＧＢＬｒｐは３２個配置される。各グローバル読出ビット線対ＧＢＬｒｐは、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒを含む。各メモリアレイＭＡにおいて、２０４８本のビット線ＢＬは２本ずつグループ化されている。各ビット線グループの２本のビット線ＢＬは、２個の分離スイッチＤＳＷを介して対応のグローバル書込ビット線ＧＢＬｗに接続される。メモリアレイＭＡ０〜ＭＡ３のうちの選択されたメモリアレイＭＡのうちの２０４８本のビット線ＢＬのうちの選択された１０２４本のビット線ＢＬが１０２４個の分離スイッチＤＳＷを介して１０２４本のグローバル書込ビット線ＧＢＬｗに接続される。
【００４７】
メモリアレイＭＡ１の各ビット線グループの２本のビット線ＢＬは、２個の分離スイッチＤＳＷを介して対応のグローバル書込ビット線ＧＢＬｗに接続される。また、メモリアレイＭＡ２の各ビット線グループの２本のビット線ＢＬは、２個の分離スイッチＤＳＷを介して対応のグローバル書込ビット線ＧＢＬｗに接続される。メモリアレイＭＡ１の各ビット線グループに対応して設けられた２個の分離スイッチＤＳＷと、メモリアレイＭＡ２の各ビット線グループに対応して設けられた２個の分離スイッチＤＳＷとは、それぞれ信号Ｓ１〜Ｓ４によって制御される。信号Ｓ１〜Ｓ４のうちの選択された１つの信号が活性化レベルにされて、４つの分離スイッチＤＳＷのうちの選択された１つの分離スイッチＤＳＷがオンされる。
【００４８】
たとえば信号Ｓ１が活性化レベルにされると、メモリアレイＭＡ１の２０４８本のビット線ＢＬのうちの偶数番の１０２４本のビット線ＢＬが１０２４個の分離スイッチＤＳＷを介して１０２４本のグローバル書込ビット線ＧＢＬｗに接続される。
【００４９】
また、各メモリアレイＭＡの２０４８本のビット線ＢＬは、６４本ずつ３２のブロックに分割されている。センスアンプ３３は、１つのビット線ブロックに１個の割合で３２個配置される。列選択回路３２は、選択されたメモリアレイＭＡの各ビット線ブロックの６４本のビット線ＢＬから１本のビット線ＢＬを選択して対応するセンスアンプ３３に接続する。センスアンプ３３は、ビット線ＢＬに流れる電流と参照電流との比較結果に基づいて、対応するグローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒを駆動する。
【００５０】
また、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒの各々と内部電源電圧ＦＶＤＤのラインとの間にＰチャネルＭＯＳトランジスタ４１が接続されている。トランジスタ４１のゲートは、ＧＢＬプリチャージ信号ＧＢＬＰＣを受ける。ＧＢＬプリチャージ信号ＧＢＬＰＣが活性化レベルの「Ｌ」レベルにされると、各トランジスタ４１がオンし、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒの各々が内部電源電圧ＦＶＤＤにプリチャージされる。
【００５１】
また、各グローバル読出ビット線対ＧＢＬｒｐには、データセレクタ４２が接続されている。メモリアレイＭＡ０とＭＡ１は対をなし、メモリアレイＭＡ２とＭＡ３は対をなしている。データ読出時においては、メモリアレイＭＡ０，ＭＡ１の対と、メモリアレイＭＡ２，ＭＡ３の対とのうちのいずれか１つの対が選択される。メモリアレイＭＡ０，ＭＡ２はＡ領域とされ、メモリアレイＭＡ１，ＭＡ４はＢ領域とされている。Ａ領域が選択された場合は信号ＳＥＬＡＢが「Ｈ」レベルにされ、Ｂ領域が選択された場合は信号ＳＥＬＡＢが「Ｌ」レベルにされる。
【００５２】
データセレクタ４２は、信号ＳＥＬＡＢが「Ｈ」レベルにされた場合は、対応のグローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒ間の電圧に応じた論理の読出データ信号をデータバスＤＢＵＳに出力する。たとえば、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒ間の電圧が正電圧である場合は読出データ信号は“１”（「Ｈ」レベル）にされ、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒ間の電圧が負電圧である場合は読出データ信号は“０”（「Ｌ」レベル）にされる。
【００５３】
また、データセレクタ４２は、信号ＳＥＬＡＢが「Ｌ」レベルにされた場合は、対応のグローバル読出ビット線／ＧＢＬｒ，ＧＢＬｒ間の電圧に応じた論理の読出データ信号をデータバスＤＢＵＳに出力する。たとえば、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒ間の電圧が正電圧である場合は読出データ信号は“０”（「Ｌ」レベル）にされ、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒ間の電圧が負電圧である場合は読出データ信号は“１”（「Ｈ」レベル）にされる。
【００５４】
なお、分離スイッチＤＳＷは、読出動作および消去動作では全てオフ状態にされる。書込動作およびベリファイリードでは、書込対象のメモリアレイＭＡ側の行の１０２４個の分離スイッチＤＳＷがオン状態にされる。
【００５５】
たとえばデータ読出動作では、選択されたメモリアレイＭＡの選択された行のゲート線ＣＧ，ＭＧが駆動され、選択された行の各メモリセルＭＣの記憶情報は対応のビット線ＢＬに現われる。ビット線ＢＬは６４本に１本の割合で選択されて対応するセンスアンプ３３の入力ノードに伝達される。各トランジスタ４１がオフされてグローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒのプリチャージが停止された後、センスアンプ３３は、対応するグローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒを駆動する。この階層ビット線構造はセンスアンプ３３の入力負荷容量を低減する。グローバル書込ビット線ＧＢＬｗは、メモリアレイＭＡに対する並列書込ビット数に対応して１０２４本設けられているので、メモリアレイＭＡからの記憶情報の読出ビット数（たとえば、３２ビット）に制限されることなく、所要のビット数で並列書込が可能になる。
【００５６】
ビット線ＢＬとグローバル書込ビット線ＧＢＬｗとは、分離スイッチＤＳＷによって接続および分離可能にされている。読出動作において読出対象とされるメモリアレイＭＡの分離スイッチＤＳＷは、グローバル書込ビット線ＧＢＬｗからビット線ＢＬを分離する。このため、読出動作においてグローバル書込ビット線ＧＢＬｗによる不所望な負荷をビット線ＢＬから切り離すことができ、高速読出が可能となる。また、読出対象のメモリアレイＭＡはグローバル書込ビット線ＧＢＬｗから切り離されるので、相互に異なったメモリアレイＭＡにおいてグローバル読出ビット線ＧＢＬｒによる読出動作とグローバル書込ビット線ＧＢＬｗによる書込動作との並列化が可能になる。
【００５７】
また、ベリファイリードはたとえばグローバル書込ビット線ＧＢＬｗを用いてベリファイ用アンプ３７に伝達するから、ベリファイ用アンプをメモリアレイ毎に分散させなくて済む。
【００５８】
図７は、図６に示した２つのメモリアレイＭＡ２，ＭＡ３間のセンスアンプアレイＳＡの概略構成を示す回路ブロック図である。上述のように、各メモリアレイＭＡの２０４８本のビット線ＢＬは、６４本ずつ３２のブロックに分割されている。センスアンプ３３は、１つのビット線ブロックに１個の割合で３２個配置される。図７では、図面および説明の簡単化のため、各ビット線ブロックは８本のビット線ＢＬを含むものとする。また、各ビット線ブロックは２つのサブブロックに分割される。各サブブロックは、４本のビット線ＢＬを含む。
【００５９】
センスアンプ３３は、各ビット線ブロックに対応して設けられており、メモリアレイＭＡ２のビット線ブロックとメモリアレイＭＡ３のビット線ブロックとの間に共通に設けられている。メモリアレイＭＡ２とセンスアンプ３３の間に切換回路ＳＷＴ１，ＳＷＴ２が設けられ、メモリアレイＭＡ３とセンスアンプ３３の間に切換回路ＳＷＢ１，ＳＷＢ２が設けられる。
【００６０】
切換回路ＳＷＴ１は、メモリアレイＭＡ２の各サブブロックに対応して設けられた４つのＰチャネルＭＯＳトランジスタ５０を含む。４つのトランジスタ５０は、それぞれ対応のビット線ＢＬとノードＣＢＬＴとの間に接続され、それらのゲートはそれぞれ信号ＹＲＡＴ１〜ＹＲＡＴ４を受ける。信号ＹＲＡＴ１〜ＹＲＡＴ４のうちのいずれか１つの信号が選択レベルの「Ｌ」レベルにされると、その信号に対応するトランジスタ５０がオンし、その信号に対応するビット線ＢＬがノードＣＢＬＴに接続される。各ビット線ブロックに対応して２つのノードＣＢＬＴ１，ＣＢＬＴ２が設けられている。
【００６１】
切換回路ＳＷＴ２は、メモリアレイＭＡ２の各ビット線ブロックに対応して設けられた２つのＰチャネルＭＯＳトランジスタ５１を含む。２つのトランジスタ５１は、それぞれ対応のノードＣＢＬＴ１，ＣＢＬＴ２とセンスアンプ３３の入力ノードＬＢＴとの間に接続され、それらのゲートはそれぞれ信号ＹＲＢＴ１，ＹＲＢＴ２を受ける。信号ＹＲＢＴ１，ＹＲＢＴ２のうちのいずれか１つの信号が選択レベルの「Ｌ」レベルにされると、その信号に対応するトランジスタ５１がオンし、その信号に対応するノードＣＢＬＴが入力ノードＬＢＴに接続される。
【００６２】
同様に、切換回路ＳＷＢ１は、メモリアレイＭＡ３の各サブブロックに対応して設けられた４つのＰチャネルＭＯＳトランジスタ５２を含む。４つのトランジスタ５２は、それぞれ対応のビット線ＢＬとノードＣＢＬＢとの間に接続され、それらのゲートはそれぞれ信号ＹＲＡＢ１〜ＹＲＡＢ４を受ける。信号ＹＲＡＢ１〜ＹＲＡＢ４のうちのいずれか１つの信号が選択レベルの「Ｌ」レベルにされると、その信号に対応するトランジスタ５２がオンし、その信号に対応するビット線ＢＬがノードＣＢＬＢに接続される。各ビット線ブロックに対応して２つのノードＣＢＬＢ１，ＣＢＬＢ２が設けられている。
【００６３】
切換回路ＳＷＢ２は、メモリアレイＭＡ３の各ビット線ブロックに対応して設けられた２つのＰチャネルＭＯＳトランジスタ５３を含む。２つのトランジスタ５３は、それぞれ対応のノードＣＢＬＢ１，ＣＢＬＢ２とセンスアンプ３３の入力ノードＬＢＢとの間に接続され、それらのゲートはそれぞれ信号ＹＲＢＢ１，ＹＲＢＢ２を受ける。信号ＹＲＢＢ１，ＹＲＢＢ２のうちのいずれか１つの信号が選択レベルの「Ｌ」レベルにされると、その信号に対応するトランジスタ５３がオンし、その信号に対応するノードＣＢＬＢが入力ノードＬＢＢに接続される。
【００６４】
つまり、メモリアレイＭＡ２，ＭＡ３のうちのメモリアレイＭＡ２が選択された場合は、信号ＹＲＡＴ１〜ＹＲＡＴ４，ＹＲＢＴ１，ＹＲＢＴ２によってメモリアレイＭＡ２の各ビット線ブロックの８本のビット線ＢＬのうちのいずれか１本のビット線ＢＬが対応のセンスアンプ３３の入力ノードＬＢＴに接続される。
【００６５】
また、メモリアレイＭＡ２，ＭＡ３のうちのメモリアレイＭＡ３が選択された場合は、信号ＹＲＡＢ１〜ＹＲＡＢ４，ＹＲＢＢ１，ＹＲＢＢ２によってメモリアレイＭＡ３の各ビット線ブロックの８本のビット線ＢＬのうちのいずれか１本のビット線ＢＬが対応のセンスアンプ３３の入力ノードＬＢＢに接続される。信号ＹＲＡＴ１〜ＹＲＡＴ４，ＹＲＢＴ１，ＹＲＢＴ２，ＹＲＡＢ１〜ＹＲＡＢ４，ＹＲＢＢ１，ＹＲＢＢ２は、列アドレス信号に基いて列デコーダ３１によって生成される。
【００６６】
なお、メモリアレイＭＡ０，ＭＡ１間のセンスアンプアレイＳＡにも、メモリアレイＭＡ２，ＭＡ３間のセンスアンプアレイＳＡと同様に、切換回路ＳＷＴ１，ＳＷＴ２，ＳＷＢ１，ＳＷＢ２が配置されている。
【００６７】
また、図８は、センスアンプアレイＳＡの要部を示す回路ブロック図である。図８において、各サブブロックに対応してプリチャージ回路５５が設けられる。プリチャージ回路５５は、ＰチャネルＭＯＳトランジスタ５６，５７を含む。トランジスタ５６，５７は、それぞれ対応のノードＣＢＬＴ，ＣＢＬＢ（図８ではＣＢＬＴ１，ＣＢＬＢ１）と内部電源電圧ＦＶＤＤのラインとの間に接続され、それらのゲートはそれぞれビット線プリチャージ領域切換信号ＰＣＴ１，ＰＣＢ１を受ける。図７においては省略されているが、トランジスタ５６は、切換回路ＳＷＴ１とＳＷＴ２の間に、トランジスタ５７は、切換回路ＳＷＢ１とＳＷＢ２の間に配置されている。
【００６８】
メモリアレイＭＡ２の対応のサブブロックに含まれるビット線ＢＬが選択されて、切換回路ＳＷＴ１の１つのトランジスタ５０がオンした場合、信号ＰＣＴ１が活性化レベルの「Ｌ」レベルにされてトランジスタ５６がオンし、選択されたビット線ＢＬが内部電源電圧ＦＶＤＤにプリチャージされる。切換回路ＳＷＴ２のトランジスタ５１がオンする直前に、トランジスタ５６がオフされてプリチャージが停止される。
【００６９】
メモリアレイＭＡ３の対応のサブブロックに含まれるビット線ＢＬが選択されて、切換回路ＳＷＢ１の１つのトランジスタ５２がオンした場合、信号ＰＣＴ２が活性化レベルの「Ｌ」レベルにされてトランジスタ５７がオンし、選択されたビット線ＢＬが内部電源電圧ＶＤＤにプリチャージされる。切換回路ＳＷＢ２のトランジスタ５３がオンする直前に、トランジスタ５７がオフされてプリチャージが停止される。
【００７０】
また、各ビット線ブロックに対応して定電流源６０および切換回路ＳＷが設けられる。定電流源６０および切換回路ＳＷは、メモリアレイＭＡ２のビット線ブロックとメモリアレイＭＡ３のビット線ブロックとに共通に設けられる。
【００７１】
定電流源６０は、ノードＮ６０と接地電圧ＶＳＳのラインとの間に接続され、ゲートが定電圧ＣＣＢを受けるＮチャネルＭＯＳトランジスタを含む。切換回路ＳＷは、ＰチャネルＭＯＳトランジスタ６１，６２を含む。トランジスタ６１は、対応のセンスアンプ３３の入力ノードＬＢＴとノードＮ６０との間に接続され、そのゲートは参照電流領域切換信号ＣＣＳＴを受ける。トランジスタ６２は、対応のセンスアンプ３３の入力ノードＬＢＢとノードＮ６０との間に接続され、そのゲートは信号ＣＣＳＢを受ける。
【００７２】
メモリアレイＭＡ２の対応のビット線ブロックに含まれるビット線ＢＬが選択されて、切換回路ＳＷＴ２の１つのトランジスタ５１がオンした場合、信号ＣＣＳＢが活性化レベルの「Ｌ」レベルにされてトランジスタ６２がオンし、対応のセンスアンプ３３の入力ノードＬＢＢがトランジスタ６２および定電流源６０を介して接地電圧ＶＳＳのラインに接続される。定電流源６０は、所定の値の参照電流ＩＲを流す。
【００７３】
メモリアレイＭＡ３の対応のビット線ブロックに含まれるビット線ＢＬが選択されて、切換回路ＳＷＢ２の１つのトランジスタ５３がオンした場合、信号ＣＣＳＴが活性化レベルの「Ｌ」レベルにされてトランジスタ６１がオンし、対応のセンスアンプ３３の入力ノードＬＢＴがトランジスタ６１および定電流源６０を介して接地電圧ＶＳＳのラインに接続される。定電流源６０は、所定の値の参照電流ＩＲを流す。
【００７４】
なお、メモリアレイＭＡ０，ＭＡ１間のセンスアンプアレイＳＡにも、メモリアレイＭＡ２，ＭＡ３間のセンスアンプアレイＳＡと同様に、プリチャージ回路５５、定電流源６０、および切換回路ＳＷが配置されている。
【００７５】
センスアンプ３３は、ＰチャネルＭＯＳトランジスタ７０，７１，８２，８３，９２，９３、ＮチャネルＭＯＳトランジスタ７２〜７４，８４，９４、インバータ８０，９０、およびＮＯＲゲート８１，９１を含む。これらのうちのＰチャネルＭＯＳトランジスタ８２，８３，９２，９３、ＮチャネルＭＯＳトランジスタ８４，９４、インバータ８０，９０、およびＮＯＲゲート８１，９１は、ドライブ回路を構成する。ドライブ回路は、センスアンプ小振幅出力信号をＣＭＯＳレベルに振幅させる回路である。
【００７６】
トランジスタ７０，７１は、内部電源電圧ＦＶＤＤのラインと入力ノードＬＢＴ，ＬＢＢとの間にそれぞれ接続され、それらのゲートはそれぞれ入力ノードＬＢＢ，ＬＢＴに接続される。トランジスタ７２，７３は、それぞれ入力ノードＬＢＴ，ＬＢＢとノードＮ７４の間に接続され、それらのゲートはそれぞれ入力ノードＬＢＢ，ＬＢＴに接続される。トランジスタ７４は、ノードＮ７４と接地電圧ＶＳＳのラインとの間に接続され、そのゲートはセンスアンプ小振幅出力をＣＭＯＳレベルにフル振幅させるための活性化信号ＳＬＡＴを受ける。
【００７７】
インバータ８０は、信号ＳＬＡＴの反転信号を生成する。ＮＯＲゲート８１は、インバータ８０の出力信号とノードＬＢＴに現れる信号とを受ける。トランジスタ８２，８３は、内部電源電圧ＦＶＤＤのラインと対応のグローバル読出ビット線ＧＢＬｒとの間に直列接続される。トランジスタ８４は、対応のグローバル読出ビット線ＧＢＬｒと接地電圧ＶＳＳのラインとの間に接続される。トランジスタ８２のゲートは、インバータ８０の出力信号を受ける。トランジスタ８３，８４のゲートは、ＮＯＲゲート８１の出力信号φ８１を受ける。
【００７８】
信号ＳＬＡＴが活性化レベルの「Ｈ」レベルにされると、ＮＯＲゲート８１がインバータとして動作するとともに、トランジスタ８２がオンしてトランジスタ８３，８４がインバータとして動作する。信号ＳＬＡＴが非活性化レベルの「Ｌ」レベルにされると、トランジスタ８２，８４がオフするとともにトランジスタ８３がオンし、グローバル読出ビット線ＧＢＬｒがハイ・インピーダンス状態にされる。
【００７９】
インバータ９０は、信号ＳＬＡＴの反転信号を生成する。ＮＯＲゲート９１は、インバータ９０の出力信号とノードＬＢＢに現れる信号とを受ける。トランジスタ９２，９３は、内部電源電圧ＦＶＤＤのラインと対応のグローバル読出ビット線／ＧＢＬｒとの間に直列接続される。トランジスタ９４は、対応のグローバル読出ビット線／ＧＢＬｒと接地電圧ＶＳＳのラインとの間に接続される。トランジスタ９２のゲートは、インバータ９０の出力信号を受ける。トランジスタ９３，９４のゲートは、ＮＯＲゲート９１の出力信号φ９１を受ける。
【００８０】
信号ＳＬＡＴが活性化レベルの「Ｈ」レベルにされると、ＮＯＲゲート９１がインバータとして動作するとともに、トランジスタ９２がオンしてトランジスタ９３，９４がインバータとして動作する。信号ＳＬＡＴが非活性化レベルの「Ｌ」レベルにされると、トランジスタ９２，９４がオフするとともにトランジスタ９３がオンし、グローバル読出ビット線／ＧＢＬｒがハイ・インピーダンス状態にされる。
【００８１】
図９（ａ）〜（ｇ）および図１０（ａ）〜（ｆ）は、図３〜図８で示したフラッシュメモリモジュールＭＭの読出動作を示すタイムチャートである。図９（ａ）〜（ｇ）および図１０（ａ）〜（ｆ）では、メモリアレイＭＡ２の１つの行と、メモリアレイＭＡ２のノードＣＢＬＴ１に対応するビット線ＢＬが選択されたものとする。
【００８２】
ある時刻ｔ０にアドレス信号ＡＤＤが与えられると、列デコーダ３１によって信号ＹＲＡＴ１，ＹＲＡＢ１のうちの信号ＹＲＡＴ１が選択レベルの「Ｌ」レベルに立ち下げられる。これにより、図８の信号ＹＲＡＴ１に対応するトランジスタ５０がオンし、選択された１本のビット線ＢＬがノードＣＢＬＴ１に接続される。
【００８３】
また、信号ＣＣＳＴ，ＣＣＳＢのうちの信号ＣＣＳＢが選択レベルの「Ｌ」レベルにされるとともに、信号ＹＲＢＴ１，ＹＲＢＢ１がともに選択レベルの「Ｌ」レベルにされる。これにより、図８のトランジスタ５１，５０がオンし、センスアンプ３３の入力ノードＬＢＴがトランジスタ５１，５０を介して選択ビット線ＢＬに接続される。また、図８のトランジスタ５３がオンし、センスアンプ３３の入力ノードＬＢＢがトランジスタ５３を介してノードＣＢＬＴ１に接続される。また、図８のトランジスタ６２がオンし、センスアンプ３３の入力ノードＬＢＢがトランジスタ６２および定電流源６０を介して接地電圧ＶＳＳのラインに接続される。
【００８４】
次に時刻ｔ１において、選択された行のコントロールゲート線ＣＧが行デコーダ３０によって選択レベルの「Ｈ」レベルに立ち上げられる。その行のメモリゲート線ＭＧには、読出電圧が印加される。図９では、読出電圧は「Ｌ」レベル（０Ｖ）にされている。これにより、図４の選択トランジスタＳＴがオンする。また、時刻ｔ１において、信号ＰＣＴ１，ＰＣＢ１がともに活性化レベルの「Ｌ」レベルに立ち下げられる。これにより、図８のトランジスタ５６，５７がオンし、ノードＬＢＴ，ＬＢＢおよび選択されたビット線ＢＬが読出電圧（内部電源電圧ＦＶＤＤ）にプリチャージされる。
【００８５】
次いで時刻ｔ２において、信号ＰＣＴ１，ＰＣＢ１が非活性化レベルの「Ｈ」レベルに立ち上げられる。これにより、トランジスタ５６，５７がオフし、プリチャージが停止される。メモリアレイＭＡ２の選択ビット線ＢＬに流れる電流ＩＢＬが定電流源６０に流れる参照電流ＩＲよりも大きい場合は、ノードＬＢＴの電圧がノードＬＢＢの電圧よりも低くなる。逆に、メモリアレイＭＡ２の選択ビット線ＢＬに流れる電流ＩＢＬが定電流源６０に流れる参照電流ＩＲよりも小さい場合は、ノードＬＢＴの電圧がノードＬＢＢの電圧よりも高くなる。図１０では、後者の場合が示されている。
【００８６】
次に時刻ｔ３において、信号ＹＲＡＴ１，ＣＣＳＢ，ＹＲＢＴ１，ＹＲＢＢ１が非選択レベルの「Ｈ」レベルに立ち上げられ、トランジスタ５０，５１，５３，６２がオフされる。また、コントロールゲート線ＣＧが非選択レベルの「Ｌ」レベルにされ、図４の選択トランジスタＳＴがオフする。また、信号ＳＬＡＴが活性化レベルの「Ｈ」レベルに立ち上げられ、図８のトランジスタ７４がオンしてセンスアンプ３３が活性化され、ノードＬＢＴ，ＬＢＢ間の電圧が内部電源電圧ＦＶＤＤに増幅される。すなわち、ノードＬＢＴの電圧がノードＬＢＢの電圧よりも低い場合は、ノードＬＢＴ，ＬＢＢがそれぞれ「Ｌ」レベル（接地電圧ＶＳＳ）および「Ｈ」レベル（内部電源電圧ＦＶＤＤ）にされる。また、ノードＬＢＴの電圧がノードＬＢＢの電圧よりも高い場合は、ノードＬＢＴ，ＬＢＢがそれぞれ「Ｈ」レベル（内部電源電圧ＦＶＤＤ）および「Ｌ」レベル（接地電圧ＶＳＳ）にされる。
【００８７】
また時刻ｔ３において、信号ＧＢＬＰＣが非活性化レベルの「Ｈ」レベルに立ち上げられ、図６のトランジスタ４１がオフしてグローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒのプリチャージが停止される。また、ＮＯＲゲート８１およびトランジスタ８３，８４がバッファ回路として動作し、グローバル読出ビット線ＧＢＬｒがノードＬＢＴの電圧に駆動される。また、ＮＯＲゲート９１およびトランジスタ９３，９４がバッファ回路として動作し、グローバル読出ビット線／ＧＢＬｒがノードＬＢＢの電圧に駆動される。図１０では、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒがそれぞれ「Ｈ」レベルおよび「Ｌ」レベルに駆動された状態が示されている。また、信号ＳＥＬＡＢによってＡ領域（メモリアレイＭＡ０，ＭＡ２）が選択され、データセレクタ４２により、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒ間の電圧に応じた論理レベル（この場合は「Ｈ」レベル）のデータ信号がデータバスＤＢＵＳに出力される。
【００８８】
次いで時刻ｔ４において、信号ＳＬＡＴが非活性化レベルの「Ｌ」レベルに立ち下げられ、信号ＧＢＬＰＣが活性化レベルの「Ｌ」レベルに立ち下げられて、データ読出が終了する。また、時刻ｔ４において、アドレス信号ＡＤＤが切換えられ、次のデータ読出動作が開始される。
【００８９】
ところで、このようなマイクロプロセッサ１では、近年における内部電源電圧ＦＶＤＤの低電圧化、読出周波数の高周波化に伴い、連続読出動作時に内部電源電圧ＦＶＤＤが低下し、読出不良が発生し、誤動作が生じるという問題がある。
【００９０】
図１１は、連続読出動作時における内部電源電圧ＦＶＤＤの変化を例示するタイムチャートである。図１１において、曲線Ａは図２のデカップルコンデンサ１９の容量値が所定値である場合を示し、曲線Ｂはデカップルコンデンサ１９の容量値が所定値よりも小さな値である場合を示している。
【００９１】
図１１から分かるように、連続読出開始後の１０ｎｓ〜５０ｎｓの間で急激に内部電源電圧ＦＶＤＤが降下する。読出周波数が１００ＭＨｚ以上であれば、数回の読出動作で内部電源電圧ＦＶＤＤが降下することになる。この期間において内部電源電圧ＦＶＤＤが低下するのは、この期間は電源電圧発生用ＶＤＣが反応しないためである。この期間においては、デカップルコンデンサ１９により内部電源電圧ＦＶＤＤを保持する必要がある。
【００９２】
容量値が大きなデカップルコンデンサ１９を用いた場合は、曲線Ａに示すように、内部電源電圧ＦＶＤＤの電圧低下ΔＶを０ｍＶ〜１００ｍＶ以内に抑制することができ、読出不良を防止することができる。しかし、この場合はデカップルコンデンサ１９のレイアウト面積が大きくなってしまう。
【００９３】
一方、容量値が小さなデカップルコンデンサ１９を用いた場合は、デカップルコンデンサ１９のレイアウト面積を小さくすることができる。しかし、この場合は曲線Ｂに示すように、ある期間ＴＢにおいて内部電源電圧ＦＶＤＤの電圧低下ΔＶが１００ｍＶを超えてしまい、その期間ＴＢで読出不良が発生する。
【００９４】
また、このように内部電源電圧ＦＶＤＤが急激に低下する場合は、内部電源電圧ＦＶＤＤが低下したことを応答速度の遅いアナログ比較回路で検出してからＣＰＵ８に通知して、読出動作を停止させることは不可能である。
【００９５】
また、内部電源電圧発生回路５の検知レベルを下回る前に読出動作を停止させると、内部電源電圧発生回路５が活性化されず、内部電源電圧ＦＶＤＤが昇圧されない。内部電源電圧発生回路５を反応させて内部電源電圧ＦＶＤＤを再び昇圧させるためには、電流を消費し続けることにより、一旦は内部電源電圧発生回路５の反応検知レベルを内部電源電圧ＦＶＤＤが下回る必要があるからである。したがって、内部電源電圧発生回路５の反応検知レベルを内部電源電圧ＦＶＤＤが下回るようにするためには、読出動作を継続する必要がある。
【００９６】
そこで、本願では、容量値が小さなデカップルコンデンサ１９を使用し、読出不良が生じる期間ＴＢも読出を継続し、その期間ＴＢにおいてフラッシュメモリモジュールＭＭから読み出されたデータを無効データとし、ＣＰＵ８に読み捨てさせるものとする。
【００９７】
なお、一般にデカップルコンデンサ１９は１〜１０ｎＦ程度であり、１０ｆＦ／μｍ２で計算すると０．１〜１ｍｍ２の面積を占めている。したがって、そのうちの２０％でも面積を削減できれば大きな面積削減効果が得られる。また、内部電源電圧発生回路５の応答速度を上げる必要がないので、消費電流が増大することもない。
【００９８】
図１２は、マイクロプロセッサ１のうちの連続読出に関連する部分を示すブロック図である。図１２において、フラッシュメモリモジュールＭＭ１，ＭＭ２は、ともに内部電源電圧ＦＶＤＤのラインに接続されている。内部電源電圧ＦＶＤＤのラインと接地電圧ＶＳＳのラインとの間には、デカップルコンデンサ１９が接続されている。
【００９９】
フラッシュメモリモジュールＭＭ１は、ＣＰＵ８からの読出要求信号ＢＳＲＤＹ、モジュール選択信号ＭＳＲＯＭＮ１、アドレス信号などに従って、データを読み出し、そのデータをＣＰＵ８に与える。また、フラッシュメモリモジュールＭＭ１は、ＣＰＵ８から連続的に与えられた読出要求信号ＢＳＲＤＹの数をカウントし、そのカウント値に基づいて所定期間だけ待機信号ＷＴ１を活性化レベルの「Ｈ」レベルにする。待機信号ＷＴ１が「Ｈ」レベルにされている期間は、ＣＰＵ８はフラッシュメモリモジュールＭＭ１からの読出データをダミーリードする。
【０１００】
同様に、フラッシュメモリモジュールＭＭ２は、ＣＰＵ８からの読出要求信号ＢＳＲＤＹ、モジュール選択信号ＭＳＲＯＭＮ２、アドレス信号などに従って、データを読み出し、そのデータをＣＰＵ８に与える。また、フラッシュメモリモジュールＭＭ２は、ＣＰＵ８から連続的に与えられた読出要求信号ＢＳＲＤＹの数をカウントし、そのカウント値に基づいて所定期間だけ待機信号ＷＴ２を活性化レベルの「Ｈ」レベルにする。待機信号ＷＴ２が「Ｈ」レベルにされている期間は、ＣＰＵ８はフラッシュメモリモジュールＭＭ２からの読出データをダミーリードする。
【０１０１】
ここで、ダミーリードとは、読出動作は実施するが、読み出したデータを信頼あるデータとして扱わずに無効データとして読み捨てる動作のことである。具体的には、待機信号ＷＴが「Ｈ」レベルにされた場合、ＣＰＵ８は予め定められた割り込み処理命令を実行することとする。その割り込み処理プログラムにフラッシュメモリモジュールＭＭをダミーリードする命令を格納しておく。
【０１０２】
図１３は、ＣＰＵ８のダミーリードを示す図である。図１３に示すように、ＣＰＵ８から見たフラッシュメモリモジュールＭＭ１，ＭＭ２のアドレスは＃１０００〜に割り付けられ、外付けのＲＯＭ１４のアドレスは＃８０００〜に割り付けられ、ＲＡＭ９のアドレスは＃９０００〜に割り付けられている。ＣＰＵ８がアドレスＡＤＤａ（フラッシュメモリモジュールＭＭの所定アドレス）からデータを読み出しているときに、待機信号ＷＴが「Ｈ」レベルにされたものとする。
【０１０３】
ＣＰＵ８は、待機信号ＷＴが「Ｈ」レベルにされたことに応じて、割り込み処理を実施し、予め定められた割り込み命令格納アドレスＡＤＤｂ（たとえば、外付けのＲＯＭ１４の所定のアドレス）にジャンプする。そのアドレスＡＤＤｂには、フラッシュメモリモジュールＭＭに対してダミーリードをする命令が格納されている。ＣＰＵ８は、このダミーリード命令を実行する。具体的には、特定アドレスＡＤＤｃ（再びフラッシュメモリモジュールＭＭのダミーリード用アドレス）に対し読み出し動作を実施する。その後ＣＰＵ８は、待機信号ＷＴが「Ｌ」レベルにされると、元のアドレスＡＤＤａにジャンプしてデータを読み直す。
【０１０４】
割り込み命令格納アドレスＡＤＤｂは、フラッシュメモリモジュールＭＭ以外のメモリに割り付けられている必要がある。割り込み命令格納アドレスＡＤＤｂは、たとえば、外付けＲＯＭ１４または外付けＲＡＭや、マイクロプロセッサ１内の内部電源電圧ＦＶＤＤとは別の内部電源電圧で駆動されるＲＯＭまたはＲＡＭなどである。そうでないと、内部電源電圧ＦＶＤＤの電圧降下によりダミーリード命令自体をフェッチすることができない可能性があるからである。
【０１０５】
ＣＰＵ８にダミーリードさせる時間は、デカップルコンデンサ１９の容量値、内部電源電圧発生回路５の応答速度、フラッシュメモリモジュールＭＭ１，ＭＭ２の消費電流量などによって異なる。ＣＰＵ８にダミーリードさせる時間は予め実験により設定される。
【０１０６】
図１４は、フラッシュメモリモジュールＭＭ１の制御回路３８のうちの待機信号ＷＴ１の生成に関連する部分を示す回路ブロック図である。図１４において、制御回路３８は、信号検出回路１００、カウンタ１０５，１０９、ＡＮＤゲート１０８、判定回路１０６，１１０、フリップフロップ１０７，１１１、およびリセット回路１１２を含む。
【０１０７】
信号検出回路１００は、インバータ１０１、ＡＮＤゲート１０２、フリップフロップ１０３、および遅延回路１０４を含む。インバータ１０１は、ＣＰＵ８からのモジュール選択信号ＭＳＲＯＭＮ１を反転させる。ＡＮＤゲート１０２は、モジュール選択信号ＭＳＲＯＭＮ１の反転信号とＣＰＵ８からの読出要求信号ＢＳＲＤＹとの論理積信号を生成する。フリップフロップ１０３は、クロック信号ＣＬＫの立ち上りエッジに応答して、ＡＮＤゲート１０２の出力信号を保持および出力する。
【０１０８】
モジュール選択信号ＭＳＲＯＭＮ１が活性化レベルの「Ｌ」レベルになり、かつ読出要求信号ＢＳＲＤＹが活性化レベルの「Ｈ」レベルにされている場合だけ、ＡＮＤゲート１０２の出力信号は「Ｈ」レベルになる。フリップフロップ１０３は、クロック信号ＣＬＫの立ち上りエッジに応答してＡＮＤゲート１０２の出力信号を保持および出力する。遅延回路１０４は、フリップフロップ１０３の出力信号φ１０３を所定時間だけ遅延させてフリップフロップ１０３のリセット端子に与える。フリップフロップ１０３は、リセット端子が「Ｌ」レベルから「Ｈ」レベルに立ち上げられると、出力信号φ１０３を「Ｌ」レベルにリセットする。
【０１０９】
すなわち、信号検出回路１００は、クロック信号ＣＬＫの立ち上りエッジにおいてモジュール選択信号ＭＳＲＯＭＮ１および読出要求信号ＢＳＲＤＹがそれぞれ「Ｌ」レベルおよび「Ｈ」レベルにされた場合に、信号φ１０３を所定時間だけ「Ｈ」レベルにする。それ以外の場合は、信号φ１０３は「Ｌ」レベルに維持される。信号φ１０３は、カウンタ１０５の入力端子（ＵＰ）にも与えられる。
【０１１０】
カウンタ１０５は、信号φ１０３の立ち上りエッジの数（すなわちＣＰＵ８からの読出要求の回数）をカウントし、そのカウント値ＣＲを示す信号を判定回路１０６に出力する。判定回路１０６は、カウンタ１０５のカウント値ＣＲが予め設定された値ｎ（たとえばｎ＝３）に到達したか否かを判定し、判定結果を示す信号φ１０６を出力する。ＣＲ＜ｎである場合は、信号φ１０６は「Ｌ」レベルにされる。ＣＲ≧ｎである場合は、信号φ１０６は「Ｈ」レベルにされる。信号φ１０６は、カウンタ１０５のストップ端子（ＳＴＰ)およびフリップフロップ１０７に与えられる。
【０１１１】
信号φ１０６が「Ｈ」レベルに立ち上げられると、カウンタ１０５のカウントが停止され、カウント値ＣＲがそのまま維持される。また、フリップフロップ１０７は、信号φ１０６が「Ｌ」レベルから「Ｈ」レベルに立ち上げられたことに応じて待機信号ＷＴ１を「Ｌ」レベルから「Ｈ」レベルに立ち上げる。つまり、カウンタ１０５、判定回路１０６、およびフリップフロップ１０７は、待機信号ＷＴ１を活性化させる待機信号活性化回路１１３を構成する。
【０１１２】
ＡＮＤゲート１０８は、信号φ１０３と待機信号ＷＴ１の論理積信号φ１０８を出力する。待機信号ＷＴが「Ｌ」レベルである場合、信号φ１０８は「Ｌ」レベルに固定される。待機信号ＷＴ１が「Ｈ」レベルである場合は、信号φ１０３がＡＮＤゲート１０８を通過して信号φ１０８となる。信号φ１０８は、カウンタ１０９の入力端子（ＵＰ）に与えられる。
【０１１３】
カウンタ１０９は、信号φ１０８の立ち上りエッジの数（すなわち待機信号ＷＴ１が「Ｈ」レベルにされた後にＣＰＵ８から読出要求がされた回数）をカウントし、そのカウント値ＣＷを示す信号を判定回路１１０に出力する。判定回路１１０は、カウンタ１０９のカウント値ＣＷが予め設定された値ｍ（たとえばｍ＝６）に到達したか否かを判定し、判定結果を示す信号φ１１０を出力する。ＣＷ＜ｍである場合は、信号φ１１０は「Ｌ」レベルにされる。ＣＷ≧ｍである場合は、信号φ１１０は「Ｈ」レベルにされる。
【０１１４】
信号φ１１０は、フリップフロップ１１１に与えられる。フリップフロップ１１１は、信号φ１１０が「Ｌ」レベルから「Ｈ」レベルに立ち上げられたことに応じて信号φ１１１を「Ｌ」レベルから「Ｈ」レベルに立ち上げる。信号φ１１１は、カウンタ１０９のストップ端子（ＳＴＰ)およびフリップフロップ１０７のリセット端子に与えられる。
【０１１５】
信号φ１１１が「Ｈ」レベルに立ち上げられると、カウンタ１０９のカウントが停止され、カウント値ＣＷがそのまま維持される。また、フリップフロップ１０７は、信号φ１１１が「Ｌ」レベルから「Ｈ」レベルに立ち上げられたことに応じてリセットされ、待機信号ＷＴを「Ｈ」レベルから「Ｌ」レベルに立ち下げる。つまり、ＡＮＤゲート１０８、カウンタ１０９、判定回路１１０、およびフリップフロップ１１１は、待機信号ＷＴ１を非活性化させる待機信号非活性化回路１１４を構成する。
【０１１６】
リセット回路１１２は、所定期間だけ読出要求がなかった場合は、信号φ１１２を「Ｈ」レベルにしてカウンタ１０５，１０９およびフリップフロップ１１１をリセットする。カウンタ１０５，１０９がリセットされると、カウント値ＣＲ，ＣＷが０にリセットされ、判定回路１０６，１１０の出力信号φ１０６，φ１１１はともに「Ｌ」レベルにされる。
【０１１７】
図１５は、カウンタ１０５の構成を示す回路ブロック図である。図１５において、カウンタ１０５は、加算器１１５、セレクタ１１６，１１７、およびフリップフロップ１１８を含む。加算器１１５は、カウント値ＣＲを示す信号に１を加算する。セレクタ１１６は、ストップ端子（ＳＴＰ）に入力される信号φ１０６が「Ｌ」レベルである場合は加算器１１５の出力信号を通過させ、信号φ１０６が「Ｈ」レベルである場合はカウント値ＣＲを示す信号を通過させる。
【０１１８】
セレクタ１１７は、リセット端子（ＲＳＴ）に入力される信号φ１１２が「Ｌ」レベルである場合はセレクタ１１６の出力信号を通過させ、信号φ１１２が「Ｈ」レベルである場合はカウント値ＣＲが０であることを示す信号を通過させる。フリップフロップ１１８は、入力端子（ＵＰ）に入力される信号φ１０３が「Ｌ」レベルから「Ｈ」レベルに立ち上げられると、セレクタ１１７の出力信号を保持および出力する。
【０１１９】
したがって、信号φ１０６，φ１１２が「Ｌ」レベルである場合は、信号φ１０３が「Ｈ」レベルに立ち上げられる毎にカウント値ＣＲが加算器１１５でインクリメント（＋１）され、セレクタ１１６，１１７を通過してフリップフロップ１１８に入力される。したがって、信号φ１０３が「Ｈ」レベルに立ち上げられる毎にカウント値ＣＲがインクリメント（＋１）される。
【０１２０】
信号φ１０６が「Ｈ」レベルにされると、加算器１１５の出力信号は使用されず、カウント値ＣＲはセレクタ１１６，１１７を通過してフリップフロップ１１８に入力される。この場合は、信号φ１０３が「Ｈ」レベルに立ち上げられても、カウント値ＣＲは変化しない。信号φ１１２が「Ｈ」レベルにされると、セレクタ１１７によって、カウント値ＣＲが０であることを示す信号がフリップフロップ１１８に入力されるとともに、フリップフロップ１１８がリセットされてカウント値ＣＲは０になる。
【０１２１】
図１６は、リセット回路１１２の構成を示す回路ブロック図である。図１６において、リセット回路１１２は、信号検出回路１２０、カウンタ１２５、判定回路１２６、および遅延回路１２７を含む。
【０１２２】
信号検出回路１２０は、インバータ１２１、ＯＲゲート１２２、フリップフロップ１２３、および遅延回路１２４を含む。インバータ１２１は、ＣＰＵ８からの読出要求信号ＢＳＲＤＹを反転させる。ＯＲゲート１２２は、読出要求信号ＢＳＲＤＹの反転信号とＣＰＵ８からのモジュール選択信号ＭＳＲＯＭＮ１との論理和信号を生成する。フリップフロップ１２３は、クロック信号ＣＬＫの立ち上りエッジに応答して、ＯＲゲート１２２の出力信号を保持および出力する。
【０１２３】
モジュール選択信号ＭＳＲＯＭＮ１が非活性化レベルの「Ｈ」レベルになっているか、読出要求信号ＢＳＲＤＹが非活性化レベルの「Ｌ」レベルにされている場合、ＯＲゲート１２２の出力信号は「Ｈ」レベルになる。フリップフロップ１２３は、クロック信号ＣＬＫの立ち上りエッジに応答してＯＲゲート１２２の出力信号を保持および出力する。遅延回路１２４は、フリップフロップ１２３の出力信号φ１２３を所定時間だけ遅延させてフリップフロップ１２３のリセット端子に与える。フリップフロップ１２３は、リセット端子が「Ｌ」レベルから「Ｈ」レベルに立ち上げられると、出力信号φ１２３を「Ｌ」レベルにリセットする。
【０１２４】
すなわち、信号検出回路１２０は、クロック信号ＣＬＫの立ち上りエッジにおいて、モジュール選択信号ＭＳＲＯＭＮ１が「Ｈ」レベルであるか、読出要求信号ＢＳＲＤＹが「Ｌ」レベルである場合に、信号φ１２３を所定時間だけ「Ｈ」レベルにする。それ以外の場合は、信号φ１２３は「Ｌ」レベルに維持される。信号φ１２３は、カウンタ１２５の入力端子（ＵＰ)に与えられる。
【０１２５】
カウンタ１２５は、信号φ１２３の立ち上りエッジの数（すなわちＣＰＵ８からの読出要求がない回数）をカウントし、そのカウント値ＣＳを示す信号を判定回路１２６に出力する。判定回路１２６は、カウンタ１２５のカウント値ＣＳが予め設定された値ｐ（たとえばｐ＝１０）に到達したか否かを判定し、判定結果を示す信号φ１１２を出力する。ＣＳ＜ｐである場合は、信号φ１１２は「Ｌ」レベルにされる。ＣＳ≧ｐである場合は、信号φ１１２は「Ｈ」レベルにされる。
【０１２６】
遅延回路１２７は、判定回路１２６の出力信号φ１１２を所定時間だけ遅延させてカウンタ１２５のリセット端子（ＲＳＴ）に与える。カウンタ１２５は、リセット端子が「Ｌ」レベルから「Ｈ」レベルに立ち上げられると、カウント値ＣＳを０にリセットする。カウント値ＣＳが０にリセットされると、信号φ１１２は「Ｌ」レベルにされる。信号φ１１２が「Ｈ」レベルにされると、図１４のカウンタ１０５，１０９のカウント値ＣＲ，ＣＷが０にリセットされ、判定回路１０６，１１０の出力信号φ１０６，φ１１０が「Ｌ」レベルにされる。また、フリップフロップ１１１がリセットされて信号φ１１１が「Ｌ」レベルになる。
【０１２７】
なお、図１４〜図１７では、フラッシュメモリモジュールＭＭ１の待機信号Ｗ１の発生に関連する部分について説明したが、フラッシュメモリモジュールＭＭ２の待機信号Ｗ１の発生に関連する部分も同様である。ただし、フラッシュメモリモジュールＭＭ２では、信号検出回路１００，１２０の各々に信号ＭＳＲＯＭＮ１の代わりに信号ＭＳＲＯＭＮ２が入力され、待機信号ＷＴ１の代わりに待機信号ＷＴ２が出力される。
【０１２８】
図１７（ａ）〜（ｈ）は、マイクロプロセッサ１の連続読出動作を示すタイムチャートである。ここでは、フラッシュメモリモジュールＭＭ１，ＭＭ２のうちのフラッシュメモリモジュールＭＭ１が選択されたものとする。
【０１２９】
図１７（ａ）〜（ｈ）において、期間Ｔ１では、クロック信号ＣＬＫの立ち上りエッジにおいて、読出要求信号ＢＳＲＤＹおよびモジュール選択信号ＭＳＲＯＭＮ１が連続的にそれぞれ「Ｈ」レベルおよび「Ｌ」レベルにされる。この期間Ｔ１では、フラッシュメモリモジュールＭＭ１から読み出されたデータＤＯは有効とされる。カウンタ１０５のカウント値ＣＲが所定値ｎ（図１７では３）に到達すると、待機信号ＷＴ１が「Ｈ」レベルに立ち上げられる。
【０１３０】
この期間Ｔ１では、読出動作に伴う消費電流の増大に伴って、内部電源電圧ＦＶＤＤが低下する。内部電源電圧ＦＶＤＤが下限電圧よりも低下すると、読出不良が発生するものとする。カウンタ１０５のカウント値ＣＲが所定値ｎに到達したときの内部電源電圧ＦＶＤＤのレベルＶ１が下限電圧を下回らない程度に、予め所定値ｎが設定されている。
【０１３１】
待機信号ＷＴ１が「Ｈ」レベルにされている期間Ｔ２では、内部電源電圧ＦＶＤＤが下限電圧よりも低下して読出不良が発生する可能性があるので、読出データＤＯを無効データＤＭとして読み捨てする。また、内部電源電圧発生回路５が起動するのを待つため、ＣＰＵ８は読出動作要求を続行する。読出動作を続行すると、内部電源電圧発生回路５が起動して内部電源電圧ＦＶＤＤが上昇し始める。
【０１３２】
カウンタ１０９のカウント値ＣＷが所定値ｍ（図１７では６）に到達すると、待機信号ＷＴ１が「Ｌ」レベルに立ち下げられる。カウンタ１０９のカウント値ＣＷが所定値ｍに到達したときに内部電源電圧ＦＶＤＤが読出動作を再開してもよいレベルＶ２になっているように、予め所定値ｍが設定されている。
【０１３３】
待機信号ＷＴ１が「Ｌ」レベルにされた後の期間Ｔ３では、内部電源電圧発生回路５が起動して、内部電源電圧ＦＶＤＤが下限電圧よりも十分に高くなっているので、通常の読出動作を行なう。読出データＤＯは、有効データとされる。この期間Ｔ３では、待機信号ＷＴ１が再び「Ｈ」レベルにされないようにカウンタ１０５，１０９は停止されている。
【０１３４】
期間Ｔ４では、ＣＰＵ８からの読出要求が停止される。読出要求がされない期間が続くと内部電源電圧発生回路５が応答しなくなるので、カウンタ１２５のカウント値ＣＳが所定値ｐに到達したときに、カウンタ１０５，１０９をリセットして初期状態に戻る。
【０１３５】
以上のように、この実施の形態１では、ＣＰＵ８からフラッシュメモリモジュールＭＭに読出要求が与えられた回数をカウントし、そのカウント値ＣＲが所定値ｎに到達した場合は所定期間だけ待機信号ＷＴを「Ｈ」レベルにする。ＣＰＵ８は、待機信号ＷＴが「Ｈ」レベルにされている期間は、フラッシュメモリモジュールＭＭの読出データＤＯを無効データとして読み捨てする。したがって、内部電源電圧ＦＶＤＤが低下して読出不良が発生する可能性がある期間Ｔ２は読出データＤＯを読み捨てするので、誤動作は生じない。また、その期間Ｔ２も読出動作を続行するので、内部電源電圧発生回路５を活性化させて内部電源電圧ＦＶＤＤを昇圧することができる。
【０１３６】
また、読み捨て期間Ｔ２を長くすることにより、デカップルコンデンサ１９の容量値を小さくすることができ、チップ面積の縮小化を図ることができる。また、内部電源電圧発生回路５の応答速度を上げる必要がないので、消費電流を小さく抑制することができる。
【０１３７】
[実施の形態２]
図１８は、本願の実施の形態２によるマイクロコンピュータの要部を示す回路ブロック図であって、図１２と対比される図である。図１８を参照して、このマイクロコンピュータでは、ＣＰＵ８で生成されたモジュール選択信号ＭＳＲＯＭＮ１，ＭＳＲＯＭＮ２は、フラッシュメモリモジュールＭＭ１，ＭＭ２の各々に与えられる。
【０１３８】
フラッシュメモリモジュールＭＭ１は、ＣＰＵ８からフラッシュメモリモジュールＭＭ１，ＭＭ２の両方に読出要求がされた場合だけ、待機信号ＷＴ１を「Ｈ」レベルにする。フラッシュメモリモジュールＭＭ２は、ＣＰＵ８からフラッシュメモリモジュールＭＭ１，ＭＭ２の両方に読出要求がされた場合だけ、待機信号ＷＴ２を「Ｈ」レベルにする。ＣＰＵ８からフラッシュメモリモジュールＭＭ１，ＭＭ２のいずれか一方にのみ読出要求がされた場合は、フラッシュメモリモジュールＭＭ１，ＭＭ２はそれぞれ待機信号ＷＴ１，ＷＴ２を「Ｌ」レベルに維持する。
【０１３９】
なお、実施の形態１では、フラッシュメモリモジュールＭＭ１とＭＭ２は、互いに独立に待機信号ＷＴ１，ＷＴ２を出力していた。たとえば、ＣＰＵ８からフラッシュメモリモジュールＭＭ１に読出要求がされた場合は、フラッシュメモリモジュールＭＭ２に読出要求がされたか否かに関係なく、フラッシュメモリモジュールＭＭ１が待機信号ＷＴ１を「Ｈ」レベルに立ち上げていた。しかし、ＣＰＵ８からフラッシュメモリモジュールＭＭ１，ＭＭ２の両方に読出要求がされた場合だけ、内部電源電圧ＦＶＤＤが大きく低下するケースも想定される。そこで、実施の形態２では、ＣＰＵ８からフラッシュメモリモジュールＭＭ１，ＭＭ２の両方に読出要求がされた場合だけ、フラッシュメモリモジュールＭＭ１，ＭＭ２がそれぞれ待機信号ＷＴ１，ＷＴ２を「Ｈ」レベルにする。
【０１４０】
図１９は、図１８のフラッシュメモリモジュールＭＭ１，ＭＭ２の各々に含まれる信号検出回路１３０の構成を示す回路図である。実施の形態２のフラッシュメモリモジュールＭＭでは、図１４の信号検出回路１００が信号検出回路１３０で置換される。信号検出回路１３０は、信号検出回路１００にインバータ１３１を追加し、２入力のＡＮＤゲート１０２を３入力のＡＮＤゲート１３２で置換したものである。
【０１４１】
インバータ１３１は、ＣＰＵ８からのモジュール選択信号ＭＳＲＯＭＮ２を反転させる。ＡＮＤゲート１３２は、モジュール選択信号ＭＳＲＯＭＮ１の反転信号と、モジュール選択信号ＭＳＲＯＭＮ２の反転信号と、ＣＰＵ８からの読出要求信号ＢＳＲＤＹとの論理積信号を生成する。フリップフロップ１０３は、クロック信号ＣＬＫの立ち上りエッジに応答して、ＡＮＤゲート１３２の出力信号を保持および出力する。
【０１４２】
モジュール選択信号ＭＳＲＯＭＮ１，ＭＳＲＯＭＮ２がともに活性化レベルの「Ｌ」レベルになり、かつ読出要求信号ＢＳＲＤＹが活性化レベルの「Ｈ」レベルにされている場合だけ、ＡＮＤゲート１３２の出力信号は「Ｈ」レベルになる。フリップフロップ１０３は、クロック信号ＣＬＫの立ち上りエッジに応答してＡＮＤゲート１３２の出力信号を保持および出力する。遅延回路１０４は、フリップフロップ１０３の出力信号φ１０３を所定時間だけ遅延させてフリップフロップ１０３のリセット端子に与える。フリップフロップ１０３は、リセット端子が「Ｌ」レベルから「Ｈ」レベルに立ち上げられると、出力信号φ１０３を「Ｌ」レベルにリセットする。
【０１４３】
すなわち、信号検出回路１３０は、クロック信号ＣＬＫの立ち上りエッジにおいて、信号ＭＳＲＯＭＮ１，ＭＳＲＯＭＮ２がともに「Ｌ」レベルになり、かつ読出要求信号ＢＳＲＤＹが「Ｈ」レベルにされた場合だけ、信号φ１０３を所定時間だけ「Ｈ」レベルにする。それ以外の場合は、信号φ１０３は「Ｌ」レベルに維持される。つまり、フラッシュメモリモジュールＭＭ１，ＭＭ２の両方に読出要求がされた場合のみ、カウンタ１０５または１０９のカウント値ＣＲまたはＣＷがインクリメントされる。カウント値ＣＲまたはＣＷが所定値ｎまたはｍに到達した場合は、カウンタ１０５または１０９のカウント値ＣＲまたはＣＷのインクリメントが停止される。
【０１４４】
図２０は、図１８のフラッシュメモリモジュールＭＭ１，ＭＭ２に含まれる信号検出回路１３５の構成を示す回路図である。実施の形態２のフラッシュメモリモジュールＭＭでは、図１６の信号検出回路１２０が信号検出回路１３５で置換される。信号検出回路１３５は、信号検出回路１２０の２入力のＯＲゲート１２２を３入力のＯＲゲート１３６で置換したものである。
【０１４５】
インバータ１２１は、ＣＰＵ８からの読出要求信号ＢＳＲＤＹを反転させる。ＯＲゲート１３６は、読出要求信号ＢＳＲＤＹの反転信号と、ＣＰＵ８からのモジュール選択信号ＭＳＲＯＭＮ１と、ＣＰＵ８からのモジュール選択信号ＭＳＲＯＭＮ２との論理和信号を生成する。フリップフロップ１２３は、クロック信号ＣＬＫの立ち上りエッジに応答して、ＯＲゲート１３６の出力信号を保持および出力する。
【０１４６】
モジュール選択信号ＭＳＲＯＭＮ１が「Ｈ」レベルになっているか、モジュール選択信号ＭＳＲＯＭＮ２が「Ｈ」レベルになっているか、読出要求信号ＢＳＲＤＹが「Ｌ」レベルにされている場合、ＯＲゲート１３６の出力信号は「Ｈ」レベルになる。フリップフロップ１２３は、クロック信号ＣＬＫの立ち上りエッジに応答してＯＲゲート１３６の出力信号を保持および出力する。遅延回路１２４は、フリップフロップ１２３の出力信号φ１２３を所定時間だけ遅延させてフリップフロップ１２３のリセット端子に与える。フリップフロップ１２３は、リセット端子が「Ｌ」レベルから「Ｈ」レベルに立ち上げられると、出力信号φ１２３を「Ｌ」レベルにリセットする。
【０１４７】
すなわち、信号検出回路１３５は、クロック信号ＣＬＫの立ち上り時に、信号ＭＳＲＯＭＮ１，ＭＳＲＯＭＮ２のうちの少なくとも１つが「Ｈ」レベルであるか、読出要求信号ＢＳＲＤＹが「Ｌ」レベルである場合に、信号φ１２３を所定時間だけ「Ｈ」レベルにする。それ以外の場合は、信号φ１２３は「Ｌ」レベルに維持される。つまり、フラッシュメモリモジュールＭＭ１，ＭＭ２のいずれにも読出要求がされていない場合のみ、カウンタ１２５のカウント値ＣＳがインクリメントされる。カウント値ＣＳが所定値ｐに到達した場合は、信号φ１１２が「Ｈ」レベルにされてカウンタ１０５，１０９のカウント値ＣＲ，ＣＷが０にリセットされる。
【０１４８】
他の構成および動作は、実施の形態１と同じであるので、その説明は繰り返さない。この実施の形態２でも、実施の形態１と同じ効果が得られる。
【０１４９】
[実施の形態３]
実施の形態１，２では、読出データＤＯを読み捨てする期間Ｔ２は、実験結果などに基づいて予め定められていた。通常の読出動作に復帰する時間（期間Ｔ２を終了する時間）は、最悪のケースを想定して長めに設定する必要がある。このため、フラッシュメモリモジュールＭＭからデータを読み出す速度が遅くなることが想定される。
【０１５０】
そこで、この実施の形態３では、内部電源電圧ＦＶＤＤがデータ読出が可能な電圧Ｖ２に回復したか否かを実際に検出し、ＦＶＤＤ＞Ｖ２になったときに読み捨て期間Ｔ２を終了する。また、ＦＶＤＤ＞Ｖ２になったか否かをセンスアンプ３３で検出する。
【０１５１】
図２１は、本願の実施の形態３によるマイクロコンピュータのセンスアンプアレイＳＡの構成を示す回路ブロック図であって、図８と対比される図である。図２１を参照して、このセンスアンプアレイＳＡは、図８のセンスアンプアレイＳＡにＰチャネルＭＯＳトランジスタ１４０，１４１を追加したものである。
【０１５２】
トランジスタ１４０のソースおよびゲートは内部電源電圧ＦＶＤＤを受け、そのドレインはノードＬＢＴに接続される。トランジスタ１４１のソースは参照電圧Ｖ２（たとえば１．１Ｖ）を受け、そのゲートは信号ＰＣＲＥＦを受け、そのドレインはノードＬＢＢに接続される。
【０１５３】
トランジスタ１４０は、常時オフ状態に固定されている。トランジスタ１４１は、読み捨て期間Ｔ２以外の期間では、常時オフ状態に固定されている。ノードＬＢＴの寄生容量とノードＬＢＢの寄生容量を等しくするために、トランジスタ１４０と１４１は同じサイズに形成されている。
【０１５４】
読み捨て期間Ｔ２では各読出サイクルにおいて、信号ＰＣＴ１，ＹＲＢＴ１，ＰＣＲＥＦがともに「Ｌ」レベルにされてトランジスタ５６，５１，１４１がオンされ、ノードＬＢＴ，ＬＢＢがそれぞれ内部電源電圧ＦＶＤＤおよび参照電圧Ｖ２に充電される。トランジスタ５６，５１，１４１がオフされた後、信号ＳＬＡＴが「Ｈ」レベルにされてセンスアンプ３３が活性化される。
【０１５５】
ＦＶＤＤ＜Ｖ２である場合は、センスアンプ３３によってノードＬＢＴ，ＬＢＢ間の電圧が増幅され、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒがそれぞれ「Ｌ」レベルおよび「Ｈ」レベルにされる。逆に、ＦＶＤＤ＞Ｖ２である場合は、センスアンプ３３によってノードＬＢＴ，ＬＢＢ間の電圧が増幅され、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒがそれぞれ「Ｈ」レベルおよび「Ｌ」レベルにされる。
【０１５６】
図２２は、フラッシュメモリモジュールＭＭ１のうちの待機信号ＷＴ１の生成に関連する部分を示す回路ブロック図であって、図１４と対比される図である。図２２の回路が図１４の回路と異なる点は、ＡＮＤゲート１０８、カウンタ１０９、および判定回路１１０がＰＣ／ＹＲデコーダ１４２およびセンスアンプアレイＳＡで置換されている点である。
【０１５７】
ＰＣ／ＹＲデコーダ１４２は、待機信号ＷＴ１、モジュール選択信号ＭＳＲＯＭＮ１、読出要求信号ＢＳＲＤＹ、およびアドレス信号ＡＤＤに基づいて、センスアンプアレイＳＡ用の制御信号ＰＣＴ１，ＰＣＢ１，ＰＣＲＥＦ，ＳＬＡＴ，…を生成する。センスアンプアレイＳＡは、図２１で説明したように、読み捨て期間Ｔ２では各読出サイクルにおいて内部電源電圧ＦＶＤＤと参照電圧Ｖ２の高低を比較し、比較結果を示す信号をグローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒに出力する。内部電源電圧ＦＶＤＤと参照電圧Ｖ２の比較結果を示す信号として、図２１のＮＯＲゲート９１の出力信号φ９１がフリップフロップ１１１に与えられる。
【０１５８】
信号ＳＬＡＴが「Ｌ」レベルである場合は、信号φ９１は「Ｌ」レベルに維持される。信号ＳＬＡＴが「Ｈ」レベルにされると、ＮＯＲゲート９１は、ノードＬＢＢに現れる信号を反転させるインバータとして動作する。ＦＶＤＤ＜Ｖ２である場合は、信号φ９１は「Ｌ」レベルに維持される。ＦＶＤＤ＞Ｖ２になると、信号φ９１は「Ｈ」レベルにされる。
【０１５９】
フリップフロップ１１１は、信号φ９１が「Ｌ」レベルから「Ｈ」レベルに立ち上げられたことに応じて信号φ１１１を「Ｌ」レベルから「Ｈ」レベルに立ち上げる。信号φ１１１は、フリップフロップ１０７のリセット端子に与えられる。フリップフロップ１０７は、信号φ１１１が「Ｌ」レベルから「Ｈ」レベルに立ち上げられたことに応じてリセットされ、待機信号ＷＴ１を「Ｈ」レベルから「Ｌ」レベルに立ち下げる。したがって、待機信号ＷＴ１は、実際にＦＶＤＤ＜Ｖ２となったことに応じて、「Ｈ」レベルから「Ｌ」レベルに立ち下げられる。なお、待機信号ＷＴ２も待機信号ＷＴ１と同様に、実際にＦＶＤＤ＜Ｖ２となったことに応じて、「Ｈ」レベルから「Ｌ」レベルに立ち下げられる。
【０１６０】
図２３（ａ）〜（ｈ）および図２４（ａ）〜（ｆ）は、読み捨て期間Ｔ２におけるフラッシュメモリモジュールＭＭの読出動作を示すタイムチャートであって、図９（ａ）〜（ｇ）および図１０（ａ）〜（ｆ）と対比される図である。図９（ａ）〜（ｇ）および図１０（ａ）〜（ｆ）では、メモリアレイＭＡ２が選択されたものとする。
【０１６１】
ある時刻ｔ０にアドレス信号ＡＤＤが与えられると、ＰＣ／ＹＲデコーダ１４２によって信号ＹＲＢＴ１，ＹＲＢＢ１のうちの信号ＹＲＢＴ１が選択レベルの「Ｌ」レベルに立ち下げられる。これにより、図２１のトランジスタ５１がオンし、ノードＣＢＬＴ１がノードＬＢＴに接続される。また、ＰＣ／ＹＲデコーダ１４２によって信号ＰＣＲＥＦが「Ｌ」レベルに立ち下げられ、これにより、図２１のトランジスタ１４１がオンし、ノードＬＢＢに参照電圧Ｖ２が与えられる。
【０１６２】
次に、時刻ｔ１において、ＰＣ／ＹＲデコーダ１４２によって信号ＰＣＴ１，ＰＣＢ１のうちの信号ＰＣＴ１が選択レベルの「Ｌ」レベルに立ち下げられ、これにより、図２１のトランジスタ５６がオンし、ノードＬＢＴに内部電源電圧ＦＶＤＤが印加される。信号ＳＬＡＴが「Ｌ」レベルである期間は、図２１のトランジスタ７４，８２，９２がオフし、信号φ９１は「Ｌ」レベルになっている。
【０１６３】
なお、読み捨て期間Ｔ２であるので、信号ＹＲＡＴ１，ＹＲＡＢ１は「Ｈ」レベルに維持され、コントロールゲート線ＣＧは「Ｌ」レベルに維持され、信号ＣＣＳＴ，ＣＣＳＢは「Ｈ」レベルに維持され、メモリセルＭＣからのデータ読出は行なわれない。読出データは読み捨てられるので、問題ない。
【０１６４】
次いで時刻ｔ３において、信号ＳＬＡＴが活性化レベルの「Ｈ」レベルに立ち上げられ、図８のトランジスタ７４がオンしてセンスアンプ３３が活性化され、ノードＬＢＴ，ＬＢＢ間の電圧が内部電源電圧ＦＶＤＤに増幅される。すなわち、ノードＬＢＴの電圧がノードＬＢＢの電圧よりも低い場合は、ノードＬＢＴ，ＬＢＢがそれぞれ「Ｌ」レベル（接地電圧ＶＳＳ）および「Ｈ」レベル（内部電源電圧ＦＶＤＤ）にされる。また、ノードＬＢＴの電圧がノードＬＢＢの電圧よりも高い場合は、ノードＬＢＴ，ＬＢＢがそれぞれ「Ｈ」レベル（内部電源電圧ＦＶＤＤ）および「Ｌ」レベル（接地電圧ＶＳＳ）にされる。図２４では、ノードＬＢＴ，ＬＢＢがそれぞれ内部電源電圧ＦＶＤＤおよび接地電圧ＶＳＳにされた状態が示されている。
【０１６５】
また、信号ＳＬＡＴが「Ｈ」レベルにされると、ＮＯＲゲート８１，９１の各々がインバータとして動作する。また、トランジスタ８２がオンしてトランジスタ８３，８４がインバータとして動作するとともに、トランジスタ９２がオンしてトランジスタ９３，９４がインバータとして動作する。
【０１６６】
ノードＬＢＴ，ＬＢＢがそれぞれ「Ｈ」レベルおよび「Ｌ」レベルである場合は、ＮＯＲゲート８１，９１の出力信号φ８１，φ９１はそれぞれ「Ｌ」レベルおよび「Ｈ」レベルになる。逆に、ノードＬＢＴ，ＬＢＢがそれぞれ「Ｌ」レベルおよび「Ｈ」レベルである場合は、ＮＯＲゲート８１，９１の出力信号φ８１，φ９１はそれぞれ「Ｈ」レベルおよび「Ｌ」レベルになる。
【０１６７】
また時刻ｔ３において、信号ＧＢＬＰＣが非活性化レベルの「Ｈ」レベルに立ち上げられ、図６のトランジスタ４１がオフしてグローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒのプリチャージが停止される。また、ＮＯＲゲート８１およびトランジスタ８３，８４がバッファ回路として動作し、グローバル読出ビット線ＧＢＬｒがノードＬＢＴの電圧に駆動される。また、ＮＯＲゲート９１およびトランジスタ９３，９４がバッファ回路として動作し、グローバル読出ビット線／ＧＢＬｒがノードＬＢＢの電圧に駆動される。図２４では、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒがそれぞれ「Ｈ」レベルおよび「Ｌ」レベルに駆動された状態が示されている。また、信号ＳＥＬＡＢによってＡ領域（メモリアレイＭＡ０，ＭＡ２）が選択され、データセレクタ４２により、グローバル読出ビット線ＧＢＬｒ，／ＧＢＬｒ間の電圧に応じた論理レベル（この場合は「Ｈ」レベル）のデータ信号がデータバスＤＢＵＳに出力される。
【０１６８】
次いで時刻ｔ４において、信号ＳＬＡＴが非活性化レベルの「Ｌ」レベルに立ち下げられ、信号ＧＢＬＰＣが活性化レベルの「Ｌ」レベルに立ち下げられて、データ読出が終了する。また、時刻ｔ４において、アドレス信号ＡＤＤが切換えられ、次のデータ読出動作が開始される。
【０１６９】
結局、ＮＯＲゲート９１の出力信号φ９１は、ＦＶＤＤ＜Ｖ２である場合は「Ｌ」レベルに維持され、ＦＶＤＤ＞Ｖ２である場合は信号ＳＬＡＴと同じ波形になり、時刻ｔ３〜ｔ４で「Ｈ」レベルにされ、それ以外の期間では「Ｌ」レベルにされる。信号φ９１が「Ｈ」レベルに立ち上げられると、図２２のフリップフロップ１１１の出力信号φ１１１が「Ｈ」レベルに立ち上げられ、フリップフロップ１０７がリセットされて待機信号ＷＴ１が「Ｌ」レベルにリセットされる。
【０１７０】
図２５（ａ）〜（ｈ）は、マイクロコンピュータの連続読出動作を示すタイムチャートであって、図１７（ａ）〜（ｈ）と対比される図である。ここでは、フラッシュメモリモジュールＭＭ１，ＭＭ２のうちのフラッシュメモリモジュールＭＭ１が選択されたものとする。
【０１７１】
図２５（ａ）〜（ｈ）において、期間Ｔ１では、クロック信号ＣＬＫの立ち上りエッジにおいて、読出要求信号ＢＳＲＤＹおよびモジュール選択信号ＭＳＲＯＭＮ１が連続的にそれぞれ「Ｈ」レベルおよび「Ｌ」レベルにされる。この期間Ｔ１では、フラッシュメモリモジュールＭＭ１から読み出されたデータＤＯは有効とされる。カウンタ１０５のカウント値ＣＲが所定値ｎ（図２５では３）に到達すると、待機信号ＷＴ１が「Ｈ」レベルに立ち上げられる。
【０１７２】
この期間Ｔ１では、読出動作に伴う消費電流の増大に伴って、内部電源電圧ＦＶＤＤが低下する。内部電源電圧ＦＶＤＤが下限電圧よりも低下すると、読出不良が発生するものとする。カウンタ１０５のカウント値ＣＲが所定値ｎに到達したときの内部電源電圧ＦＶＤＤのレベルＶ１が下限電圧を下回らない程度に、予め所定値ｎが設定されている。
【０１７３】
待機信号ＷＴ１が「Ｈ」レベルにされている期間Ｔ２では、内部電源電圧ＦＶＤＤが下限電圧よりも低下して読出不良が発生する可能性があるので、読出データＤＯを無効データＤＭとして読み捨てする。また、内部電源電圧発生回路５が起動するのを待つため、ＣＰＵ８は読出動作要求を続行する。読出動作を続行すると、内部電源電圧発生回路５が起動して内部電源電圧ＦＶＤＤが上昇し始める。
【０１７４】
センスアンプアレイＳＡによって内部電源電圧ＦＶＤＤと参照電圧Ｖ２との高低を比較し、比較結果を示す信号φ１１１を生成する。ＦＶＤＤ＜Ｖ２である場合は信号φ１１１は「Ｌ」レベルに維持され、ＦＶＤＤ＞Ｖ２になると信号φ１１１は「Ｈ」レベルにされ、リセット回路１１２の出力信号φ１１２が「Ｈ」レベルにされると信号φ１１１は「Ｌ」レベルにリセットされる。
【０１７５】
待機信号ＷＴ１が「Ｌ」レベルにされた後の期間Ｔ３では、内部電源電圧発生回路５が起動して、内部電源電圧ＦＶＤＤが下限電圧よりも十分に高くなっているので、通常の読出動作を行なう。読出データＤＯは、有効データとされる。この期間Ｔ３では、待機信号ＷＴ１が再び「Ｈ」レベルにされないようにカウンタ１０５は停止されている。
【０１７６】
期間Ｔ４では、ＣＰＵ８からの読出要求が停止される。読出要求がされない期間が続くと内部電源電圧発生回路５が応答しなくなるので、カウンタ１２５のカウント値ＣＳが所定値ｐに到達したときに、カウンタ１０５をリセットして初期状態に戻る。
【０１７７】
以上のように、この実施の形態３では、内部電源電圧ＦＶＤＤがデータ読出が可能な電圧Ｖ２に回復したか否かを実際に検出し、ＦＶＤＤ＞Ｖ２になったときに読み捨て期間Ｔ２を終了する。したがって、フラッシュメモリモジュールＭＭからデータを読み出す速度が実施の形態１よりも速くなる。
【０１７８】
また、ＦＶＤＤ＞Ｖ２になったか否かをセンスアンプアレイＳＡで検出するので、レイアウト面積が大きくなるのを抑制することができる。
【０１７９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１８０】
１  マイクロプロセッサ、２  基準電源、３  発振回路、４  分周回路、５  内部電源電圧発生回路、ＭＭ１，ＭＭ２  フラッシュメモリモジュール、６  フラッシュメモリコントローラ、７  システムコントローラ、８  ＣＰＵ、９  ＲＡＭ、１０  バスコントローラ、１１  周辺回路、１２  内部バス、１３  入出力ポート、１４  ＲＯＭ、１５，１６  演算増幅器、１７  セレクタ、１８  分圧器、１９  デカップルコンデンサ、２１  半導体基板領域、２２ａ，２２ｂ  不純物領域、２３  ゲート絶縁膜、２４  コントロールゲート電極、２５  電荷蓄積膜、２５ａ  ボトム酸化膜、２５ｂ  窒化膜、２５ｃ  トップ酸化膜、２６  メモリゲート電極、ＭＣ  メモリセル、ＳＴ  選択トランジスタ、ＭＴ  メモリセルトランジスタ、ＣＧ  コントロールゲート線、ＭＧ  メモリゲート線、ＢＬ  ビット線、ＳＬ  ソース線、ＭＡＴ  メモリマット、ＭＡ  メモリアレイ、ＳＡ  センスアンプアレイ、ＤＳＷ  分離スイッチ、ＧＢＬｗ  グローバル書込ビット線、ＧＢＬｒｐ  グローバル読出ビット線対、ＧＢＬｒ，／ＧＢＬｒ  グローバル読出ビット線、３０  行デコーダ、３１  列デコーダ、３２  列選択回路、３３  センスアンプ、３４  書込回路、３５  データラッチ回路、３６，４２  データセレクタ、３７  ベリファイ用アンプ、３８  制御回路、３９  高電圧発生回路、ＤＢＵＳ  データバス、ＣＢＵＳ  コントロールバス、４０  分離スイッチアレイ、４１，５０〜５３，５６，５７，６１，６２，７０，７１，８２，８３，９２，９３，１４０，１４１  ＰチャネルＭＯＳトランジスタ、ＳＷＴ１，ＳＷＴ２，ＳＷＢ１，ＳＷＢ２，ＳＷ  切換回路、６０  定電流源、７２〜７４，８４，９４  ＮチャネルＭＯＳトランジスタ、８０，９０，１０１，１２１，１３１  インバータ、８１，９１  ＮＯＲゲート、１００，１２０，１３０，１３５  信号検出回路、１０５，１０９，１２５  カウンタ、１０２，１０８，１３２  ＡＮＤゲート、１０６，１１０，１２６  判定回路、１０３，１０７，１１１，１１８，１２３  フリップフロップ、１０４，１２４，１２７  遅延回路、１１２  リセット回路、１１３  待機信号活性化回路、１１４  待機信号非活性化回路、１１５  加算器、１１６，１１７  セレクタ、１４２  ＰＣ／ＹＲデコーダ。
【図１】
2014021892.tif 000003
【図２】
2014021892.tif 000004
【図３】
2014021892.tif 000005
【図４】
2014021892.tif 000006
【図５】
2014021892.tif 000007
【図６】
2014021892.tif 000008
【図７】
2014021892.tif 000009
【図８】
2014021892.tif 000010
【図９】
2014021892.tif 000011
【図１０】
2014021892.tif 000012
【図１１】
2014021892.tif 000013
【図１２】
2014021892.tif 000014
【図１３】
2014021892.tif 000015
【図１４】
2014021892.tif 000016
【図１５】
2014021892.tif 000017
【図１６】
2014021892.tif 000018
【図１７】
2014021892.tif 000019
【図１８】
2014021892.tif 000020
【図１９】
2014021892.tif 000021
【図２０】
2014021892.tif 000022
【図２１】
2014021892.tif 000023
【図２２】
2014021892.tif 000024
【図２３】
2014021892.tif 000025
【図２４】
2014021892.tif 000026
【図２５】
2014021892.tif 000027