(57)【要約】【課題】フラッシュメモリを内蔵した使い勝手の良好なマイクロコンピュータを搭載した半導体システムの製造方法を提供する。【解決手段】ＣＰＵとＩ／Ｏポートとフラッシュメモリとランダムアクセスメモリとを１つの半導体基板上に有し、該フラッシュメモリには書き換え制御プログラムと転送制御プログラムとか格納され、ＣＰＵが書き換え制御プログラムを実行することによりＩ／Ｏポートから入力された情報を該フラッシュメモリの所定の領域に書込可能な樹脂封止型半導体装置を準備する工程と、当該半導体装置をプリント基板に実装する工程と、実装工程の後、ＣＰＵは前記転送制御プログラムを実行することにより書き換え制御プログラムをランダムアクセスメモリに転送し、転送された書き換え制御プログラムをＣＰＵが実行することにより、Ｉ／Ｏポートから入力された情報を前記フラッシュメモリの所定の記憶領域に書き込む工程を含む。【選択図】図１
2008004258.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵとＩ／Ｏポートとフラッシュメモリとランダムアクセスメモリとを１つの半導体基板上に有し、該フラッシュメモリは複数の一括消去可能な記憶領域に分割され、該フラッシュメモリには書き換え制御プログラムと転送制御プログラムとか格納され、前記ＣＰＵが前記書き換え制御プログラムを実行することにより前記Ｉ／Ｏポートから入力された情報を該フラッシュメモリの所定の領域に書込可能な樹脂封止型半導体装置を準備する工程と、
前記樹脂封止型半導体装置をプリント基板に実装する工程と、
前記実装工程の後、前記ＣＰＵは前記転送制御プログラムを実行することにより前記書き換え制御プログラムを前記ランダムアクセスメモリに転送し、さらにランダムアクセスメモリに転送された書き換え制御プログラムを前記ＣＰＵが実行することにより、前記Ｉ／Ｏポートから入力された情報を前記フラッシュメモリの所定の記憶領域に書き込む工程を含む半導体システムの製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気的な消去・書込みによって情報を書換え可能な不揮発性のフラッシュメモリを備えたマイクロコンピュータに関する。
【背景技術】
【０００２】
特開平１−１６１４６９号公報には、プログラム可能な不揮発性メモリとしてＥＰＲＯＭ（イレーザブル・アンド・プログラマブル・リード・オンリ・メモリ）またはＥＥＰＲＯＭ（エレクトリカリ・イレーザブル・アンド・プログラマブル・リード・オンリ・メモリ）を単一の半導体チップに搭載したマイクロコンピュータについて記載されている。そのようなマイクロコンピュータにオン・チップ化された不揮発性メモリにはプログラムやデータが保持される。ＥＰＲＯＭは紫外線により記憶情報を消去するものであるから、それを実装システムから取り外さなければ書換えを行うことができない。ＥＥＰＲＯＭは電気的に消去・書込みを行うことができるので、システムに実装された状態でその記憶情報を書換えることができるが、それを構成するメモリセルは、ＭＮＯＳ（メタル・ナイトライド・オキサイド・セミコンダクタ）のような記憶素子のほかに選択トランジスタを必要とするため、ＥＰＲＯＭに比べて例えば２．５倍から５倍程度の大きさになり、相対的に大きなチップ占有面積を必要とする。
【０００３】
特開平２−２８９９９７号公報には一括消去型ＥＥＰＲＯＭについて記載されている。この一括消去型ＥＥＰＲＯＭは本明細書におけるフラッシュメモリと同意義に把握することができる。フラッシュメモリは、電気的な消去・書込みによって情報を書換え可能であって、ＥＰＲＯＭと同様にそのメモリセルを１個のトランジスタで構成することができ、メモリセルの全てを一括して、またはメモリセルのブロックを一括して電気的に消去する機能を持つ。したがって、フラッシュメモリは、システムに実装された状態でそれの記憶情報を書換えることができると共に、その一括消去機能により書換え時間の短縮を図ることができ、さらに、チップ占有面積の低減にも寄与する。
【０００４】
【特許文献１】特開平１−１６１４６９号公報
【特許文献２】特開平２−２８９９９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明者はマイクロコンピュータにフラッシュメモリを搭載することについて検討し、これにより以下の点をみい出した。
【０００６】
（１）マイクロコンピュータの内蔵ＲＯＭにはプログラム及びデータが格納される。更にデータには大容量データと小容量データがある。これらプログラム及びデータを書き換える場合、通常前者については数十ＫＢ（キロバイト）の大きな単位で、後者については数十Ｂ（バイト）の小さな単位で書換が行われる。このとき、フラッシュメモリの消去単位がチップ一括または同一サイズのメモリブロック単位で行われるのでは、プログラム領域にはちょうど良いがデータ領域には消去単位が大きすぎて使いにくかったり、或はその逆のケースも起こり得る。
【０００７】
（２）マイクロコンピュータをシステムに実装した後にフラッシュメモリの保持情報の一部を書換えるような場合には、当該情報を保有している一部のメモリブロックを書換え対象とすればよいが、一括消去可能なメモリブロックの記憶容量が全てのメモリブロックで等しくされているならば、メモリブロックの記憶容量よりも情報量の少ない情報だけを書換えればよい場合にも比較的記憶容量の大きなメモリブロックを一括消去した後に当該メモリブロック全体に対して順次書込みを行わなければならず、実質的に書換えを要しない情報のための書換えに無駄な時間を費やすことになる。
【０００８】
（３）フッラシュメモリに書き込むべき情報はそのマイクロコンピュータが適用されるシステムにしたがって決定されるが、当該マイクロコンピュータをシステムに実装した状態で最初から全ての情報を書込んでいたのでは非能率的な場合がある。
【０００９】
（４）マイクロコンピュータの実装状態でフラッシュメモリを書換えるとき、書換対象メモリブロックの一部の情報だけを書換えればよくても、一括消去した後のメモリブロックの全体に書込むべき情報の全てをマイクロコンピュータの外部から順次もらいながら書込みを行っていたのでは、書換対象メモリブロックの一部の情報だけを書換えればよくても、当該メモリブロック全体に書込むべき情報の全てを外部から受け取らなくてはならず、実質的に書換えを要しない情報、すなわち書換え前に内部で保持している情報も重ねて外部から転送されなければならず、メモリブロックの一部書換のための情報転送に無駄がある。
【００１０】
（５）フラッシュメモリを一括消去で書換える時間はその情報記憶形式故にＲＡＭ（ランダム・アクセス・メモリ）などのメモリに比べて相当長いため、マイクロコンピュータによる機器制御動作に同期してリアルタイムにフラッシュメモリを書換えることができない。
【００１１】
本発明の目的は、使い勝手の良好なフラッシュメモリを内蔵したマイクロコンピュータを提供することにある。更に詳しく言えば、本発明の第１の目的は、内蔵フッラシュメモリに対して行われる最初の情報書込み処理の高効率化を図ることができるマイクロコンピュータを提供することである。本発明の第２の目的は、フラッシュメモリの一部のメモリブロックが保持する情報の一部の書換えに対して、当該メモリブロックを一括消去した後の書込み動作の無駄をなくして、書換え効率を向上させることである。本発明の第３の目的は、メモリブロックの一部書換のために必要な外部からの書込み情報の転送動作の無駄をなくして、書換え効率を向上させることである。本発明の第４の目的は、マイクロコンピュータの制御動作に同期してリアルタイムにフラッシュメモリの保持情報を変更できるようにすることである。
【００１２】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１３】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１４】
すなわち、単一の半導体チップ上に、中央処理装置と、この中央処理装置によってアクセス可能なＲＡＭと、前記中央処理装置が処理すべき情報を電気的な消去・書込みによって書換え可能な不揮発性のフラッシュメモリとを備えたマイクロコンピュータに対して、前記フラッシュメモリに対する書換えを前記半導体チップの内蔵回路例えば中央処理装置に制御させる第１動作モードと前記半導体チップの外部装置に制御させる第２動作モードとを選択的に指定するための動作モード信号の入力端子を設ける。
【００１５】
前記第１動作モードの指定に応じて中央処理装置が書換え制御を行うとき、当該中央処理装置が実行すべき書換え制御プログラムはマスクＲＯＭに保有させ、或はフラッシュメモリに予め格納しておいた書換制御プログラムをＲＡＭに転送して、これを実行させることができる。
【００１６】
用途に応じてフラッシュメモリに格納すべき情報量がその情報の種類例えばプログラム、データテーブル、制御データなどに応じて相違されることを考慮した場合に、フラッシュメモリの一部のメモリブロックが保持する情報の一部の書換えに対して、当該メモリブロックを一括消去した後の書込み動作の無駄をなくして、書換え効率を向上させるために、前記フラッシュメモリにおける一括消去可能な単位として、相互に記憶容量の相違される複数個のメモリブロックを割当てる。
【００１７】
マイクロコンピュータの内外からフラッシュメモリの書換えを制御する場合に、一括消去すべきメモリブロックを容易に指定できるようにするには、一括消去すべきメモリブロックの指定情報を書換え可能に保持するためのレジスタをフラッシュメモリに内蔵させるとよい。
【００１８】
内蔵フラッシュメモリが、一括消去可能な単位として相互に記憶容量の相違される複数個のメモリブロックを有するとき、内蔵ＲＡＭをメモリブロック書換えのための作業領域もしくはデータバッファ領域として利用可能にするために、内蔵ＲＡＭの記憶容量以下に設定されたメモリブロックを設けておく。このとき、メモリブロックの一部書換のために必要な外部からの書込み情報の転送動作の無駄をなくして、書換え効率を向上させるには、前記内蔵ＲＡＭよりも記憶容量の小さなメモリブロックの保持情報を内蔵ＲＡＭに転送し、転送された情報の全部又は一部をそのＲＡＭ上で更新して、その更新された情報で当該メモリブロックを書換えるようにするとよい。また、フラッシュメモリが保持する制御データなどのチューニングを行うような場合に、マイクロコンピュータの制御動作に同期してリアルタイムにフラッシュメモリの保持情報を変更できるようにするには内蔵ＲＡＭの特定アドレスの領域を、前記内蔵ＲＡＭよりも記憶容量の小さなメモリブロックのアドレスに重なる様に変更配置し、すなわちメモリブロックをアクセスした場合に重なったＲＡＭがアクセスされる様に、変更配置し、そのＲＡＭの特定アドレスで作業を行った後でＲＡＭの配置アドレスを元の状態に復元し、メモリブロックの内容を前記ＲＡＭの特定アドレスの情報で書換える処理を行うようにするとよい。
【００１９】
上記した手段によれば、本発明に係るマイクロコンピュータをシステムに実装する前のような段階で最初にそのフラッシュメモリに情報を書き込むようなときは、第２動作モードを指定することにより、ＰＲＯＭライタのような外部書き込み装置の制御によって能率的に情報の書き込みが行われる。
【００２０】
フラッシュメモリにおける一括消去可能な単位として相互に記憶容量の相違される複数個のメモリブロックには夫々の記憶容量に応じて例えばプログラム、データテーブル、制御データなどが書き込まれる。
【００２１】
システムにマイクロコンピュータを実装した後でフラッシュメモリを書換える場合には、第１動作モードを指定することにより、書換え制御をマイクロコンピュータ内蔵の中央処理装置などに実行させる。このとき、相対的に情報量の大きなデータは相対的に記憶容量の大きなメモリブロックに、相対的に情報量の小さなデータは相対的に記憶容量の小さなメモリブロックに書き込んでおくことができる。すなわち記憶すべき情報量に見合う記憶容量のメモリブロックを利用することができる。したがって、フラッシュメモリの保持情報の一部書換えのために所要のメモリブロックを一括消去しても、実質的に書換えを要しない情報群も併せて消去した後で再び書き戻すと言うような無駄が極力防止される。
【００２２】
特に、複数個のメモリブロックのうち内蔵ＲＡＭの記憶容量以下に設定されたメモリブロックを設けておくことは、内蔵ＲＡＭをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用可能にする。すなわち、マイクロコンピュータの実装状態でフラッシュメモリを書換えるとき、書換対象メモリブロックの情報を内蔵ＲＡＭに転送し、書換えるべき一部の情報だけを外部からもらってそのＲＡＭ上で書換を行ってから、フラッシュメモリの書換を行えば、書換え前に内部で保持されている書換を要しない情報を重ねて外部から転送を受けなくても済み、メモリブロックの一部書換のための情報転送の無駄を省く。また、フラッシュメモリの一括消去時間は小メモリブロックに対してもさほど短くならないから、マイクロコンピュータによる制御動作に同期してリアルタイムにフラッシュメモリそれ自体を書換えることはできないが、内蔵ＲＡＭをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用することにより、リアルタイムに書換えたのと同じデータを結果的にメモリブロックに得ることができる。
【発明の効果】
【００２３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２４】
すなわち、本発明に係るマイクロコンピュータは第１動作モードと第２動作モードとを有するから、マイクロコンピュータをシステムに実装する前の初期データ、又は初期プログラムなどの比較的大量の情報を、汎用ＰＲＯＭライタなどで能率的に書込むことができる。更に、マイクロコンピュータが実装されたシステムを動作させながらデータのチューニングをする場合、またプログラムのバグ対策、若しくはシステムのバージョンアップに伴うプログラムの変更等、マイクロコンピュータがシステムに実装された状態でデータやプログラムの変更が必要になった時に、マイクロコンピュータを実装システムから取り外すことなくフラッシュメモリを書換えることができる。
【００２５】
フラッシュメモリにおける一括消去可能な単位として相互に記憶容量の相違される複数個のメモリブロックを設けておくことにより、相対的に情報量の大きなデータは相対的に記憶容量の大きなメモリブロックに、相対的に情報量の小さなデータは相対的に記憶容量の小さなメモリブロックに書き込んでおくことができ、記憶すべき情報量に見合う記憶容量のメモリブロックを利用することができる。したがって、プログラム領域にはちょうど良いがデータ領域には消去単位が大きすぎて使いにくかったりする事態を防止することができる。また、フラッシュメモリの保持情報の一部書換えのために所要のメモリブロックを一括消去しても、実質的に書換えを要しない情報群も併せて消去した後で再び書き戻すと言うような無駄を極力防止することができる。
【００２６】
複数個のメモリブロックのうち内蔵ＲＡＭの記憶容量以下に設定されたメモリブロックを設けておくことにより、内蔵ＲＡＭをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用できるようになる。このような条件の下で、マイクロコンピュータの実装状態でフラッシュメモリを書換えるとき、書換対象メモリブロックの情報を内蔵ＲＡＭに転送し、書換えるべき一部の情報だけを外部からもらってそのＲＡＭ上で書換を行ってから、フラッシュメモリの書換を行うことにより、書換え前に内部で保持されている書換を要しない情報を重ねて外部から転送を受けなくても済み、メモリブロックの一部書換のための情報転送の無駄を省くことができる。また、フラッシュメモリが保持するデータのチューニングなどに際して、前記内蔵ＲＡＭのアドレスを当該フラッシュメモリのメモリブロックのアドレスにオーバラップさせてそのＲＡＭ上でチューニングを行い、チューニング結果をフラッシュメモリの該当メモリブロックに転送することにより、マイクロコンピュータによる制御動作に同期してリアルタイムにフラッシュメモリそれ自体を書換えることはできなくても、リアルタイムに書換えたのと同じデータを結果的にメモリブロックに得ることができる。
【００２７】
一括消去すべきメモリブロックの指定情報を書換え可能に保持するためのレジスタをフラッシュメモリに内蔵させることにより、一括消去すべきメモリブロックをマイクロコンピュータの内外から同じ様な手順で容易に指定できるようになる。
【００２８】
上記夫々の効果によって、マイクロコンピュータに内蔵されたフラッシュメモリの使い勝手を向上させることができるという効果を得る。
【発明を実施するための最良の形態】
【００２９】
以下本発明に係るマイクロコンピュータを項目を分けて順次説明する。
【００３０】
〔１〕全面フラッシュメモリ採用のマイクロコンピュータ
図１には全面フラッシュメモリを採用したマイクロコンピュータの一実施例ブロック図が示される。同図に示されるマイクロコンピュータＭＣＵは、中央処理装置ＣＰＵ、及びこの中央処理装置ＣＰＵが処理すべき情報を電気的な消去・書込みによって書換え可能な不揮発性のフラッシュメモリＦＭＲＹ、並びにタイマＴＭＲ、シリアル・コミュニケーション・インタフェースＳＣＩ、ランダム・アクセス・メモリＲＡＭ、その他の入出力回路Ｉ／Ｏなどの周辺回路、そして制御回路ＣＯＮＴが、公知の半導体集積回路製造技術によって、シリコンのような単一の半導体チップＣＨＰ上に形成されて成る。前記フラッシュメモリＦＭＲＹは、電気的な消去・書込みによって情報を書換え可能であって、ＥＰＲＯＭと同様にそのメモリセルを１個のトランジスタで構成することができ、更にメモリセルの全てを一括して、またはメモリセルのブロック（メモリブロック）を一括して電気的に消去する機能を持つ。フラッシュメモリＦＭＲＹは、一括消去可能な単位として複数個のメモリブロックを有する。図１において、ＬＭＢは相対的に記憶容量の大きな大メモリブロックであり、ＳＭＢは相対的に記憶容量の小さな小メモリブロックである。小メモリブロックＳＭＢの記憶容量はランダム・アクセス・メモリＲＡＭの記憶容量よりも小さくされる。したがって、ランダム・アクセス・メモリＲＡＭは、小メモリブロックＳＭＢからデータ転送を受けてその情報を一時的に保持することができ、書換えのための作業領域も若しくはデータバッファ領域として利用可能になる。このフラッシュメモリＦＭＲＹには所要のデータやプログラムが書き込まれる。尚、フラッシュメモリＦＭＲＹの詳細については後述する。
【００３１】
フラッシュメモリＦＭＲＹは、マイクロコンピュータＭＣＵがシステムに実装された状態で中央処理装置ＣＰＵの制御に基づいてその記憶情報を書換え可能にされると共に、汎用ＰＲＯＭライタのような前記半導体チップＣＨＰの外部装置の制御に基づいてその記憶情報を書換え可能にされる。図においてＭＯＤＥは、前記フラッシュメモリＦＭＲＹを中央処理装置ＣＰＵに書換え制御させる第１動作モードと前記外部装置に制御させる第２動作モードとを選択的に指定するための動作モード信号であり、半導体チップＣＨＰ上のモード信号入力端子Ｐｍｏｄｅに与えられる。
【００３２】
〔２〕マスクＲＯＭ，フラッシュメモリ採用のマイクロコンピュータ
図２にはフラッシュメモリと共にマスクＲＯＭを採用したマイクロコンピュータの一実施例ブロック図が示される。同図に示されるマイクロコンピュータＭＣＵにおいては、図１のフラッシュメモリＦＭＲＹの一部がマスク・リード・オンリ・メモリＭＡＳＫＲＯＭに置換えられている。マスク・リード・オンリ・メモリＭＡＳＫＲＯＭには書換を要しないデータやプログラムが保持されている。図２に示されるフラッシュメモリＦＭＲＹは、一括消去可能な単位として前記小メモリブロックＳＭＢを複数個有する。
【００３３】
〔３〕汎用ＰＲＯＭライタによる情報書き込み
図３には汎用ＰＲＯＭライタによるフラッシュメモリＦＭＲＹの書換えに着目したブロック図が示される。同図には前記モード信号ＭＯＤＥの一例としてＭＤ０，ＭＤ１，ＭＤ２が示される。モード信号ＭＤ１乃至ＭＤ３は前記制御回路ＣＯＮＴに供給される。制御回路ＣＯＮＴに含まれるデコーダは、特に制限されないが、モード信号ＭＤ１乃至ＭＤ３を解読して、フラッシュメモリＦＭＲＹに対して書き込みを要しない動作モードが指示されているか、又は前記第１動作モード若しくは第２動作モードが指示されているかを判定する。このとき第２動作モードの指示が判断されると、制御回路ＣＯＮＴは、汎用ＰＲＯＭライタＰＲＷとインタフェースされるべきＩ／Ｏポートを指定して、内蔵フラッシュメモリＦＭＲＹを直接外部の汎用ＰＲＯＭライタＰＲＷでアクセス可能に制御する。すなわち、フラッシュメモリＦＭＲＹとの間でデータの入出力を行うためのＩ／ＯポートＰＯＲＴｄａｔａと、フラッシュメモリＦＭＲＹにアドレス信号を供給するためのＩ／ＯポートＰＯＲＴａｄｄｒと、フラッシュメモリＦＭＲＹに各種制御信号を供給するためのＩ／ＯポートＰＯＲＴｃｏｎｔとが指定される。更に、汎用ＰＲＯライタＰＲＷによる書換え制御とは直接関係ない中央処理装置ＣＰＵ，ランダム・アクセス・メモリＲＡＭ，マスク・リード・オンリ・メモリＭＡＳＫＲＯＭなどの内蔵機能ブロックの実質的な動作が抑制される。例えば、図３に例示的に示されるようにデータバスＤＢＵＳとアドレスバスＡＢＵＳの夫々に配置されたスイッチ手段ＳＷＩＴＣＨを介して前記中央処理装置ＣＰＵなどの内蔵機能ブロックとフラッシュメモリＦＭＲＹとの接続を切離す。前記スイッチ手段ＳＷＩＴＣＨは、前記ＣＰＵなどの内蔵機能ブロックからデータバスＤＢＵＳにデータを出力する回路や、アドレスバスＡＢＵＳにアドレスを出力する回路に配置された、トライステート（３ステート）形式の出力回路として把握することもできる。このようなトライステート出力回路は、第２動作モードに呼応して高出力インピーダンス状態に制御される。図３の例では汎用ＰＲＯライタによる書換え制御とは直接関係ない中央処理装置ＣＰＵ，ランダム・アクセス・メモリＲＡＭ，マスク・リード・オンリ・メモリＭＡＳＫＲＯＭなどの内蔵機能ブロックは、スタンバイ信号ＳＴＢＹ＊（記号＊はそれが付された信号がロウ・アクティブ信号であることを意味する）により低消費電力モードにされている。低消費電力モードにおいて前記トライステート出力回路が高出力インピーダンス状態に制御されるなら、モード信号でＭＤ０乃至ＭＤ２による第２動作モードの指定に呼応してそれらの機能ブロックに低消費電力モードを設定して、汎用ＰＲＯライタＰＲＷによる書換え制御とは直接関係ないＣＰＵ，ＲＡＭ，ＲＯＭなどの内蔵機能ブロックの実質的な動作を抑制してもよい。
【００３４】
第２動作モードが設定されるマイクロコンピュータＭＣＵの前記Ｉ／ＯポートＰＯＲＴｄａｔａ，ＰＯＲＴａｄｄｒ，ＰＯＲＴｃｏｎｔは変換ソケットＳＯＣＫＥＴを介して汎用ＰＲＯＭライタＰＲＷに結合される。変換ソケットＳＯＣＫＥＴは、一方においてＩ／ＯポートＰＯＲＴｄａｔａ，ＰＯＲＴａｄｄｒ，ＰＯＲＴｃｏｎｔの端子配置を有し、他方において標準メモリの端子配置を有し、相互に同一機能端子が内部で接続されている。
【００３５】
〔４〕ＣＰＵ制御による書き込み制御プログラム
図４にはＣＰＵ制御によるフラッシュメモリＦＭＲＹの書換えに着目したブロック図が示される。図１のマイクロコンピュータＭＣＵにおいて中央処理装置ＣＰＵが実行すべき書換え制御プログラムは予め汎用ＰＲＯＭライタＰＲＷにてフラッシュメモリＦＭＲＹに書き込まれている。図２のマイクロコンピュータＭＣＵでは、中央処理装置ＣＰＵが実行すべき書換え制御プログラムをマスク・リード・オンリ・メモリＭＡＳＫＲＯＭに保持させておくことができる。前記モード信号ＭＤ０乃至ＭＤ２によって第１動作モードが指示され、制御回路ＣＯＮＴがこれを認識することにより、中央処理装置ＣＰＵは、既にフラッシュメモリＦＭＲＹに書き込まれた書き込み制御プログラム、或はマスク・リード・オンリ・メモリＭＡＳＫＲＯＭが保持する書換え制御プログラムにしたがってフラッシュメモリＦＭＲＹにデータの書き込みを行っていく。
【００３６】
図５には全面フラッシュメモリとされるマイクロコンピュータ（図１参照）のメモリマップが示される。同図においてフラッシュメモリの所定の領域には書換え制御プログラムと、転送制御プログラムが予め書き込まれている。中央処理装置ＣＰＵは、第１動作モードが指示されると、転送制御プログラムを実行して書換え制御プログラムをランダム・アクセス・メモリＲＡＭに転送する。転送終了後、中央処理装置ＣＰＵの処理は、そのランダム・アクセス・メモリＲＡＭ上の書換え制御プログラムの実行に分岐され、これによって、フラッシュメモリＦＭＲＹに対する消去並びに書込み（ベリファイを含む）が繰返される。
【００３７】
図６にはフラッシュメモリと共にマスクＲＯＭを有するマイクロコンピュータ（図２参照）のメモリマップが示される。この場合には図５で説明したような転送制御プログラムは不要とされる。中央処理装置ＣＰＵは、第１動作モードが指示されると、マスク・リード・オンリ・メモリＭＡＳＫＲＯＭが保持する書換え制御プログラムを順次実行し、これにより、フラッシュメモリＦＭＲＹに対する消去並びに書込みが繰返される。
【００３８】
図７には中央処理装置ＣＰＵによる消去の一例制御手順が示される。先ず中央処理装置ＣＰＵは、前記書換え制御プログラムにしたがって、消去を行うべきアドレス範囲のメモリセルに対してプレライトを行う。これによって消去前のメモリセルの状態は全て書込み状態にそろえられる。次いで、消去対象メモリセルに対して、少しずつ消去を行いながらその都度消去の度合をベリファイし（イレーズ／ベリファイ）、過消去を防止して消去動作を完了する。汎用ＰＲＯＭライタＰＲＷによる消去も同様に行われる。なお、フラッシュメモリの消去シーケンスについては後で詳述する。
【００３９】
図８には中央処理装置ＣＰＵによる書き込みの一例制御手順が示される。先ず中央処理装置ＣＰＵは、フラッシュメモリＦＭＲＹの書込みスタートアドレスを設定する。次いで、書換え制御プログラムによって指定された周辺回路例えばシリアル・コミュニケーション・インタフェースＳＣＩ若しくはＩ／Ｏポートを介して、外部から送られるデータを読み込む。このようにして読み込んだデータをフラッシュメモリＦＭＲＹに所定時間書き込み、書込んだデータを読出して正常に書き込まれたかをベリファイをする（ライト／ベリファイ）。以下、上記データの読込み、書込み、及びベリファイを書込み終了アドレスまで繰返していく。汎用ＰＲＯＭライタＰＲＷによる書き込みも同様に行われる。但しこの場合には、書き込むべきデータはＰＲＯＭライタＰＲＷから所定のポートを介して与えられる。なお、フラッシュメモリの書込みシーケンスについては後で詳述する。
【００４０】
〔５〕汎用ＰＲＯＭライタによる書込みとＣＰＵ制御の書込みの使い分け
汎用ＰＲＯＭライタによる書込みは、主にマイクロコンピュータＭＣＵのオンボード前すなわちマイクロコンピュータＭＣＵをシステムに実装する前の初期データ、又は初期プログラムの書込みに適用される。これにより、比較的大量の情報を能率的に書込むことができる。
【００４１】
ＣＰＵ制御の書込みは、マイクロコンピュータＭＣＵが実装されたシステム（実装機とも称する）を動作させながらデータのチューニングをする場合、またプログラムのバグ対策、若しくはシステムのバージョンアップに伴うプログラムの変更等、マイクロコンピュータＭＣＵがシステムに実装された状態（オンボード状態）でデータやプログラムの変更が必要になった場合に適用される。これにより、マイクロコンピュータＭＣＵを実装システムから取り外すことなくフラッシュメモリＦＭＲＹを書換えることができる。
【００４２】
〔６〕リアルタイム書換えへの対応
図９にはフラッシュメモリのリアルタイム書換えへの対応手法の一例が示される。フラッシュメモリＦＭＲＹは、その記憶形式故に、一括消去単位としてのメモリブロックの記憶容量を小さくしても消去に要する時間は短縮されず、例えば数１０ｍｓｅｃ〜数秒かかる。これにより、マイクロコンピュータＭＣＵが実装されたシステムを動作させながら、フラッシュメモリＦＭＲＹが保持する制御データなどをリアルタイムで書換えてデータのチューニングを行うことは難しい。これに対処するため、前記内蔵ＲＡＭをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用する。すなわち、先ず、チューニングされるべきデータを保持する所定の小メモリブロックＳＭＢのデータをランダム・アクセス・メモリＲＡＭの特定アドレスに転送する。次に前記ランダム・アクセス・メモリＲＡＭの特定アドレス領域を所定の小メモリブロックＳＭＢのアドレスにオーバーラップさせる。このようなアドレス配置の変更は、所定の制御ビット若しくはフラグの設定に呼応して、ランダム・アクセス・メモリＲＡＭのデコード論理を切替え可能にしておくことによって実現することができる。そして、制御データなどのチューニングは、所定のメモリブロックＳＭＢのアドレスがオーバーラップされたランダム・アクセス・メモリＲＡＭを用いて行われる。チューニングを完了した後は、ランダム・アクセス・メモリＲＡＭとメモリブロックＳＭＢのアドレスオーバーラップを解除して、ランダム・アクセス・メモリＲＡＭの配置アドレスを元の状態に復元する。最後に、ランダム・アクセス・メモリＲＡＭが保持するチューニングされたデータを用いて、フラッシュメモリのメモリブロックＳＭＢを書換える。これにより、マイクロコンピュータＭＣＵが実装されたシステムを動作させながら、フラッシュメモリが保持する制御データなどをリアルタイムで書換えたとのと同じデータを、結果的にメモリブロックＳＭＢに得ることができる。
【００４３】
〔７〕メモリブロックの一部書換えの能率化
図１０にはフラッシュメモリのメモリブロックの一部書換えを能率化する手法の一例が示される。プログラムのバグの修正若しくはバージョンアップなどに際して、フラッシュメモリＦＭＲＹの所定メモリブロックＳＭＢが保持している情報の一部を書換える場合は、前記ＲＡＭよりも記憶容量の小さなメモリブロックＳＭＢの保持情報を内蔵ＲＡＭに転送し、転送された情報の一部をそのＲＡＭ上で更新して、その更新された情報で当該メモリブロックを書換えるようにする。これにより、メモリブロックＳＭＢの一つを一括消去しても、当該メモリブロックＳＭＢの保持情報はＲＡＭに保存されているため、書換えるべきデータだけを外部から受け取ってそのＲＡＭ上で書換を行えば、書換え前にフラッシュメモリＦＭＲＹが保持している書換を要しない情報を重ねて外部から転送を受けなくても済み、メモリブロックの一部書換のための情報転送の無駄を省くことができる。
【００４４】
〔８〕フラッシュメモリの原理
図１１にはフラッシュメモリの原理が示される。同図（Ａ）に例示的に示されたメモリセルは、２層ゲート構造の絶縁ゲート型電界効果トランジスタにより構成されている。同図において、１はＰ型シリコン基板、２は上記シリコン基板１に形成されたＰ型拡散層、４はＮ型拡散層である。５は薄い酸化膜６（例えば厚さ１０ｎｍ）を介して上記Ｐ型シリコン基板１上に形成されたフローティングゲート、７は酸化膜８を介して上記フローティングゲート５上に形成されたコントロールゲート、９はソース、１０はドレインである。このメモリセルに記憶される情報は、実質的にしきい値電圧の変化としてトランジスタに保持される。以下、特に述べないかぎり、メモリセルにおいて、情報を記憶するトランジスタ（以下、記憶トランジスタと称する）がＮチャンネル型の場合について述べる。
【００４５】
メモリセルへの情報の書き込み動作は、例えばコントロールゲート７及びドレイン１０に高圧を印加して、アバランシェ注入によりドレイン１０側からフローティングゲート５に電子を注入することで実現される。この書き込み動作により記憶トランジスタは、図１１の（Ｂ）に示されるように、そのコントロールゲート７からみたしきい値電圧が、書き込み動作を行わなかった消去状態の記憶トランジスタに比べて高くなる。
【００４６】
一方、消去動作は、例えばソースに高圧を印加して、トンネル現象によりフローティングゲート７からソース９側に電子を引き抜くことによって実現される。図１１の（Ｂ）に示されるように、消去動作により記憶トランジスタはそのコントロールゲート７からみたしきい値電圧が低くされる。図１１の（Ｂ）では、書き込み並びに消去状態の何れにおいても記憶トランジスタのしきい値は正の電圧レベルにされる。すなわちワード線からコントロールゲートに与えられるワード線選択レベルに対して、書き込み状態のしきい値電圧は高くされ、消去状態のしきい値電圧は低くされる。双方のしきい値電圧とワード線選択レベルとがそのような関係を持つことによって、選択トランジスタを採用することなく１個のトランジスタでメモリセルを構成することができる。記憶情報を電気的に消去する場合においては、フローティングゲートに蓄積された電子をソース電極に引く抜くことにより、記憶情報の消去が行われるため、比較的長い時間、消去動作を続けると、書き込み動作の際にフローティングゲートに注入した電子の量よりも多くの電子が引く抜かれることになる。そのため、電気的消去を比較的長い時間続けるような過消去を行うと、記憶トランジスタのしきい値電圧は例えば負のレベルになって、ワード線の非選択レベルにおいても選択されるような不都合を生ずる。尚、書込みも消去と同様にトンネル電流を利用して行うこともできる。
【００４７】
読み出し動作においては、上記メモリセルに対して弱い書き込み、すなわち、フローティングゲート５に対して不所望なキャリアの注入が行われないように、ドレイン１０及びコントロールゲート７に印加される電圧が比較的低い値に制限される。例えば、１Ｖ程度の低電圧がドレイン１０に印加されるとともに、コントロールゲート７に５Ｖ程度の低電圧が印加される。これらの印加電圧によって記憶トランジスタを流れるチャンネル電流の大小を検出することにより、メモリセルに記憶されている情報の“０”、“１”を判定することができる。
【００４８】
図１２は前記記憶トランジスタを用いたメモリセルアレイの構成原理を示す。同図には代表的に４個の記憶トランジスタ（メモリセル）Ｑ１乃至Ｑ４が示される。Ｘ，Ｙ方向にマトリクス配置されたメモリセルにおいて、同じ行に配置された記憶トランジスタＱ１，Ｑ２（Ｑ３，Ｑ４）のコントロールゲート（メモリセルの選択ゲート）は、それぞれ対応するワード線ＷＬ１（ＷＬ２）に接続され、同じ列に配置された記憶トランジスタＱ１，Ｑ３（Ｑ２，Ｑ４）のドレイン領域（メモリセルの入出力ノード）は、それぞれ対応するデータ線ＤＬ１，ＤＬ２に接続されている。上記記憶トランジスタＱ１，Ｑ３（Ｑ２，Ｑ４）のソース領域は、ソース線ＳＬ１（ＳＬ２）に結合される。
【００４９】
図１３にはメモリセルに対する消去動作並びに書込み動作のための電圧条件の一例が示される。同図においてメモリ素子はメモリセルを意味し、ゲートはメモリセルの選択ゲートとしてのコントロールゲートを意味する。同図において負電圧方式の消去はコントロールゲートに例えば−１０Ｖのような負電圧を印加することによって消去に必要な高電界を形成する。同図に例示される電圧条件から明らかなように、正電圧方式の消去にあっては少なくともソースが共通接続されたメモリセルに対して一括消去を行うことができる。したがって図１２の構成において、ソース線ＳＬ１，ＳＬ２が接続されていれば、４個のメモリセルＱ１乃至Ｑ４は一括消去可能にされる。この場合、同一ソース線につながるメモリビットの数を変えることによりメモリブロックのサイズを任意に設定することができる。ソース線分割方式の場合には最小の一括消去単位とされるメモリブロックはデータ線一本分となる。一方、負電圧方式の消去にあっては少なくともコントロールゲートが共通接続されたメモリセルに対して一括消去を行うことができる。
【００５０】
〔９〕記憶容量を相違させた複数メモリブロック化
図１４には一括消去可能なメモリブロックの記憶容量を相違させたフラッシュメモリの一例回路ブロック図が示される。
【００５１】
同図に示されるフラッシュメモリＦＭＲＹは、８ビットのデータ入出力端子Ｄ０〜Ｄ７を有し、各データ入出力端子毎にメモリアレイＡＲＹ０〜ＡＲＹ７を備える。メモリアレイＡＲＹ０〜ＡＲＹ７は、相対的に記憶容量の大きなメモリブロックＬＭＢと相対的に記憶容量の小さなメモリブロックＳＭＢとに２分割されている。図には代表的にメモリアレイＡＲＹ０の詳細が示されているが、その他のメモリアレイＡＲＹ１〜ＡＲＹ７も同様に構成されている。
【００５２】
夫々のメモリアレイＡＲＹ０〜ＡＲＹ７には前記図１１で説明した２層ゲート構造の絶縁ゲート型電界効果トランジスタによって構成されたメモリセルＭＣがマトリクス配置されている。同様同図においてＷＬ０〜ＷＬｎは全てのメモリアレイＡＲＹ０〜ＡＲＹ７に共通のワード線である。同一行に配置されたメモリセルのコントロールゲートは、それぞれ対応するワード線に接続される。夫々のメモリアレイＡＲＹ０〜ＡＲＹ７において、同一列に配置されたメモリセルＭＣのドレイン領域は、それぞれ対応するデータ線ＤＬ０〜ＤＬ７に接続されている。メモリブロックＳＭＢを構成するメモリセルＭＣのソース領域はソース線ＳＬ１に共通接続され、メモリブロックＬＭＢを構成するメモリセルＭＣのソース領域はソース線ＳＬ２に共通接続されている。
【００５３】
前記ソース線ＳＬ１，ＳＬ２には電圧出力回路ＶＯＵＴ１，ＶＯＵＴ２から消去に利用される高電圧Ｖｐｐが供給される。電圧出力回路ＶＯＵＴ１，ＶＯＵＴ２の出力動作は、消去ブロック指定レジスタのビットＢ１，Ｂ２の値によって選択される。例えば消去ブロック指定レジスタのビットＢ１に”１”が設定されることによって各メモリアレイＡＲＹ０〜ＡＲＹ７のメモリブロックＳＭＢだけが一括消去可能にされる。消去ブロック指定レジスタのビットＢ２に”１”が設定された場合は、各メモリアレイＡＲＹ０〜ＡＲＹ７のメモリブロックＬＭＢだけが一括消去可能にされる。双方のビットＢ１，Ｂ２に”１”が設定されたときはフラッシュメモリ全体が一括消去可能にされる。
【００５４】
前記ワード線ＷＬ０〜ＷＬｎの選択は、ロウアドレスバッファＸＡＢＵＦＦ及びロウアドレスラッチＸＡＬＡＴを介して取り込まれるロウアドレス信号ＡＸをロウアドレスデコーダＸＡＤＥＣが解読することによって行われる。ワードドライバＷＤＲＶはロウアドレスデコーダＸＡＤＥＣから出力される選択信号に基づいてワード線を駆動する。データ読出し動作においてワードドライバＷＤＲＶは電圧選択回路ＶＳＥＬから供給される５Ｖのような電圧Ｖｃｃと０Ｖのような接地電位とを電源として動作され、選択されるべきワード線を電圧Ｖｃｃによって選択レベルに駆動し、非選択とされるべきワード線を接地電位のような非選択レベルに維持させる。データの書き込み動作においてワードドライバＷＤＲＶは、電圧選択回路ＶＳＥＬから供給される１２Ｖのような電圧Ｖｐｐと０Ｖのような接地電位とを電源として動作され、選択されるべきワード線を１２Ｖのような書き込み用高電圧レベルに駆動する。データの消去動作においてワードドライバＷＤＲＶの出力は０Ｖのような低い電圧レベルにされる。
【００５５】
夫々のメモリアレイＡＲＹ０〜ＡＲＹ７において前記データ線ＤＬ０〜ＤＬ７はカラム選択スイッチＹＳ０〜ＹＳ７を介して共通データ線ＣＤに共通接続される。カラム選択スイッチＹＳ０〜ＹＳ７のスイッチ制御は、カラムアドレスバッファＹＡＢＵＦＦ及びカラムアドレスラッチＹＡＬＡＴを介して取り込まれるカラムアドレス信号ＡＹをカラムアドレスデコーダＹＡＤＥＣが解読することによって行われる。カラムアドレスデコーダＹＡＤＥＣの出力選択信号は全てのメモリアレイＡＲＹ０〜ＡＲＹ７に共通に供給される。したがって、カラムアドレスデコーダＹＡＤＥＣの出力選択信号のうちの何れか一つが選択レベルにされることにより、各メモリアレイＡＲＹ０〜ＡＲＹ７において共通データ線ＣＤには１本のデータ線が接続される。
【００５６】
メモリセルＭＣから共通データ線ＣＤに読出されたデータは選択スイッチＲＳを介してセンスアンプＳＡＭＰに与えられ、ここで増幅されて、データ出力バッファＤＯＢＵＦＦから外部に出力される。前記選択スイッチＲＳは読出し動作に同期して選択レベルにされる。外部から供給される書き込みデータはデータ入力バッファＤＩＢＵＦＦを介してデータ入力ラッチ回路ＤＩＬＡＴに保持される。データ入力ラッチ回路ＤＩＬＡＴに保持されたデータが”０”のとき、書き込み回路ＷＲＩＴは選択スイッチＷＳを介して共通データ線ＣＤに書き込み用の高電圧を供給する。この書き込み用高電圧はカラムアドレス信号ＡＹによって選択されたデータ線を通して、ロウアドレス信号ＡＸでコントロールゲートに高電圧が印加されるメモリセルのドレインに供給され、これによって当該メモリセルが書き込みされる。前記選択スイッチＷＳは書き込み動作に同期して選択レベルにされる。書き込み消去の各種タイミングや電圧の選択制御は書き込み消去制御回路ＷＥＣＯＮＴが生成する。
【００５７】
〔１０〕図１に対応されるマイクロコンピュータの詳細
図１５には図１のマイクロコンピュータに対応される更に詳細なマイクロコンピュータの実施例ブロック図が示される。同図に示されるマイクロコンピュータＭＣＵは、図１に示される機能ブロックと同一機能ブロックとして、中央処理装置ＣＰＵ、フラッシュメモリＦＭＲＹ、シリアル・コミュニケーション・インタフェースＳＣＩ、制御回路ＣＯＮＴ、及びランダム・アクセス・メモリＲＡＭを含む。図１のタイマに相当するものとして、１６ビット・インテグレーテッド・タイマ・パルスユニットＩＰＵと、ウォッチドッグタイマＷＤＴＭＲを備える。また、図１の入出力回路Ｉ／Ｏに相当するものとして、ポートＰＯＲＴ１乃至ＰＯＲＴ１２を備える。更にその他の機能ブロックとして、クロック発振器ＣＰＧ、割り込みコントローラＩＲＣＯＮＴ、アナログ・ディジタル変換器ＡＤＣ、及びウェートステートコントローラＷＳＣＯＮＴが設けられている。前記中央処理装置ＣＰＵ、フラッシュメモリＦＭＲＹ、ランダム・アクセス・メモリＲＡＭ、及び１６ビット・インテグレーテッド・タイマ・パルスユニットＩＰＵは、アドレスバスＡＢＵＳ、下位データバスＬＤＢＵＳ（例えば８ビット）、及び上位データバスＨＤＢＵＳ（例えば８ビット）に接続される。前記シリアル・コミュニケーション・インタフェースＳＣＩ、ウォッチドッグタイマＷＤＴＭＲ、割り込みコントローラＩＲＣＯＮＴ、アナログ・ディジタル変換器ＡＤＣ、ウェートステートコントローラＷＳＣＯＮＴ、及びポートＰＯＲＴ１乃至ＰＯＲＴ１２は、アドレスバスＡＢＵＳ、及び上位データバスＨＤＢＵＳに接続される。
【００５８】
図１５において、ＶｐｐはフラッシュメモリＦＭＲＹの書換え用高電圧である。ＥＸＴＡＬ及びＸＴＡＬはマイクロコンピュータのチップに外付けされる図示しない振動子から前記クロック発振器ＣＰＧに与えられる信号である。φはクロック発振器ＣＰＧから外部に出力される同期クロック信号である。ＭＤ０乃至ＭＤ２はフラッシュメモリＦＭＲＹの書換えに際して第１動作モード又は第２動作モードを設定するために制御回路ＣＯＮＴに供給されるモード信号であり、図１のモード信号ＭＯＤＥに対応される。ＲＥＳ＊はリセット信号、ＳＴＢＹ＊はスタンバイ信号であり、中央処理装置ＣＰＵ並びにその他の回路ブロックに供給される。ＮＭＩはノン・マスカブル・インタラプト信号であり、マスク不可能な割り込みを前記割り込みコントローラＩＣＯＮＴに与える。図示しないその他の割り込み信号はポートＰＯＲＴ８，ＰＯＲＴ９を介して割り込みコントローラＩＣＯＮＴに与えられる。ＡＳ＊は外部に出力されるアドレス信号の有効性を示すアドレスストローブ信号、ＲＤ＊はリードサイクルであることを外部に通知するリード信号、ＨＷＲ＊は上位８ビットのライトサイクルであることを外部に通知するアッパーバイト・ライト信号、ＬＷＲ＊は下位８ビットのライトサイクルであることを外部に通知するロアーバイト・ライト信号であり、それらはマイクロコンピュータＭＣＵの外部に対するアクセス制御信号とされる。
【００５９】
外部のＰＲＯＭライタでフラッシュメモリＦＭＲＹを直接書換え制御する第２動作モード以外において、マイクロコンピュータＭＣＵが外部をアクセスするためのデータＢＤ０乃至ＢＤ１５の入出力には、特に制限されないが、前記ポートＰＯＲＴ１，ＰＯＲＴ２が割当てられる。このときのアドレス信号ＢＡ０乃至ＢＡ１９の出力には、特に制限されないが、前記ポートＰＯＲＴ３乃至ＰＯＲＴ５が割当てられる。
【００６０】
一方、マイクロコンピュータＭＣＵに第２動作モードが設定されたとき、そのフラッシュメモリＦＭＲＹを書換え制御するＰＲＯＭライタとの接続には、特に制限されないが、前記ポートＰＯＲＴ２乃至ＰＯＲＴ５及びＰＯＲＴ８が割当てられる。すなわち、書込み並びにベリファイのためのデータＥＤ０乃至ＥＤ７入出力には前記ポートＰＯＲＴ２が割当てられ、アドレス信号ＥＡ０ないしＥＡ１６の入力並びにアクセス制御信号ＣＥ＊（チップイネーブル信号），ＯＥ＊（アウトプットイネーブル信号），ＷＥ＊（ライトイネーブル信号）の入力には前記ポートＰＯＲＴ３乃至ＰＯＲＴ５及びＰＯＲＴ８が割当てられる。前記チップイネーブル信号ＣＥ＊はＰＲＯＭライタからのフラッシュメモリＦＭＲＹの動作選択信号であり、アウトプットイネーブル信号ＯＥ＊はフラッシュメモリＦＭＲＹに対する出力動作の指示信号であり、ライトイネーブル信号ＷＥ＊はフラッシュメモリＦＭＲＹに対する書込み動作の指示信号である。尚、アドレス信号ＥＡ０ないしＥＡ１６のうちの１ビットＥＡ９の入力には前記信号ＮＭＩの入力端子が割当てられる。この様にして割当てられたポートの外部端子、並びに高電圧Ｖｐｐの印加端子などのその他必要な外部端子は、図３で説明した変換ソケットＳＯＣＫＥＴを介して汎用ＰＲＯＭライタＰＲＷに接続される。このときの斯る外部端子の割り当ては、マイクロコンピュータＭＣＵを変換ソケットＳＯＣＫＥＴを介してＰＲＯＭライタＰＲＷに接続し易い端子配列になるように考慮することができる。上記第２動作モードにおいてＰＲＯＭライタＰＲＷとの接続に割当てられる外部端子群には、マイクロコンピュータＭＣＵのその他の動作モードにおいては他の機能が割当てられることになる。
【００６１】
図１６には図１５のマイクロコンピュータＭＣＵを、例えば、樹脂によって封止することによって得られた４方向に外部端子を有するフラットパッケージの上面を示す。図１６に示された信号は図１５と共通である。信号名の示されていない外部端子（ピン）は、ウェート信号の入力ピン、バスリクエスト信号の入力ピン、バスアクノレッジ信号の出力ピン、シリアル・コミュニケーション・インタフェースＳＣＩなどの周辺回路と外部との信号入出力ピンなどに利用される。
【００６２】
図１６に示されるパッケージＦＰにおいて、上記パッケージＦＰから導出される各端子（ピン）の間隔は、０．５ｍｍ以下とされても良い。すなわち、マイクロコンピュータＭＣＵのユーザが上記マイクロコンピュータＭＣＵ内のフラッシュメモリＦＭＲＹを変換ソケットＳＯＣＫＥＴを介してＰＲＯＭライタＰＲＷに接続し、上記フラッシュメモリＦＭＲＹにデータを書き込む場合、パッケージＦＰの各端子間隔（ピンピッチ）ＰＰが０．５ｍｍ以下とされると、上記変換ソケットＳＯＣＫＥＴへ、上記パッケージＦＰを挿入する時に、変換ソケットＳＯＣＫＥＴと上記パッケージＦＰの外部端子との不所望な接触に起因するピン曲りが発生しやすくなる。この様なピン曲りが発生すると、上記変換ソケットＳＯＣＫＥＴの各端子と上記パッケージＦＰの各端子との電気的接続が、ピン曲りの発生している端子に関して、行われなくなる。その結果、ＰＲＯＭライタＰＲＷで上記フラッシュメモリＦＭＲＹにデータを書き込めなくなる。
【００６３】
この点に関し本発明においては、中央処理装置ＣＰＵがフラッシュメモリＦＭＲＹにデータを書き込み可能とされているので、ユーザは、上記フラッシュメモリＦＭＲＹへのデータ書き込みに外部ＰＲＯＭライタＰＲＷを使用せず、上記マイクロコンピュータＭＣＵのパッケージを実装基板（プリント基板）に実装した後、中央処理装置ＣＰＵで上記フラッシュメモリＦＭＲＹにデータを書き込むようにすれば、上記マイクロコンピュータＭＣＵが、ピンピッチＰＰが０．５ｍｍ以下のパッケージに封止されても、ユーザはパッケージから導出される外部端子のリード曲りを防止できる。尚、半導体メーカーは、自動ハンドラーを有しているので、０．５ｍｍ以下のピンピッチを有するパッケージに上記マイクロコンピュータＭＣＵが封止されても、上記マイクロコンピュータＭＣＵのテストをピン曲りを発生させないで確実に実行できる。
【００６４】
〔１１〕フラッシュメモリＦＭＲＹの書換え用制御回路
図１７には図１５のマイクロコンピュータＭＣＵに内蔵されるフラッシュメモリＦＭＲＹの全体的なブロック図が示される。同図においてＡＲＹは前記図１１で説明した２層ゲート構造の絶縁ゲート型電界効果トランジスタによって構成されたメモリセルをマトリクス配置したメモリアレイである。このメモリアレイＡＲＹは図１４で説明した構成と同様に、メモリセルのコントロールゲートはそれぞれ対応するワード線に接続され、メモリセルのドレイン領域はそれぞれ対応するデータ線に接続され、メモリセルのソース領域はメモリブロック毎に共通のソース線に接続されているが、メモリブロックの分割態様は図１４とは相違される。例えば、図１８に示されるように、相対的にそれぞれの記憶容量が大きな７個の大メモリブロック（大ブロック）ＬＭＢ０乃至ＬＭＢ６と、相対的にそれぞれの記憶容量が小さな８個の小メモリブロック（小ブロック）ＳＭＢ０乃至ＳＭＢ７とに分割されている。大メモリブロックはプログラム格納領域又は大容量データ格納領域などに利用される。小メモリブロックは小容量データ格納領域などに利用される。
【００６５】
図１７において、ＡＬＡＴはアドレス信号ＰＡＢ０乃至ＰＡＢ１５のラッチ回路である。第１動作モードにおいてそのアドレス信号ＰＡＢ０乃至ＰＡＢ１５は中央処理装置ＣＰＵの出力アドレス信号に対応される。第２動作モードではアドレス信号ＰＡＢ０乃至ＰＡＢ１５はＰＲＯＭライタＰＲＷの出力アドレス信号ＥＡ０乃至ＥＡ１５に対応される。ＸＡＤＥＣはアドレスラッチＡＬＡＴを介して取り込まれるロウアドレス信号を解読するロウアドレスデコーダである。ＷＤＲＶはロウアドレスデコーダＸＡＤＥＣから出力される選択信号に基づいてワード線を駆動するワードドライバである。データ読出し動作においてワードドライバＷＤＲＶは５Ｖのような電圧でワード線を駆動し、データの書き込み動作では１２Ｖのような高電圧でワード線を駆動する。データの消去動作においてワードドライバＷＤＲＶの全ての出力は０Ｖのような低い電圧レベルにされる。ＹＡＤＥＣはアドレスラッチＹＡＬＡＴを介して取り込まれるカラムアドレス信号を解読するカラムアドレスデコーダである。ＹＳＥＬはカラムアドレスデコーダＹＡＤＥＣの出力選択信号に従ってデータ線を選択するカラムアドレスデコーダである。ＳＡＭＰはデータ読出し動作においてカラム選択回路ＹＳＥＬで選択されたデータ線からの読出し信号を増幅するセンスアンプである。ＤＯＬＡＴはセンスアンプの出力を保持するデータ出力ラッチである。ＤＯＢＵＦＦはデータ出力ラッチＤＯＬＡＴが保持するデータを外部に出力するためのデータ出力バッファである。図においてＰＤＢ０乃至ＰＤＢ７は下位８ビット（１バイト）データであり、ＰＤＢ８乃至ＰＤＢ１５は上位８ビット（１バイト）データである。この例に従えば出力データは最大２バイトとされる。ＤＩＢＵＦＦは外部から供給される書き込みデータを取り込むためのデータ入力バッファである。データ入力バッファＤＩＢＵＦＦから取り込まれたデータはデータ入力ラッチ回路ＤＩＬＡＴに保持される。データ入力ラッチ回路ＤＩＬＡＴに保持されたデータが”０”のとき、書き込み回路ＷＲＩＴはカラム選択回路ＹＳＥＬで選択されたデータ線に書き込み用高電圧を供給する。この書き込み用高電圧はロウアドレス信号に従ってコントロールゲートに高電圧が印加されるメモリセルのドレインに供給され、これによって当該メモリセルが書き込みされる。ＥＲＡＳＥＣは指定されたメモリブロックのソース線に消去用高電圧を供給してメモリブロックの一括消去を行うための消去回路である。
【００６６】
ＦＣＯＮＴは、フラッシュメモリＦＭＲＹにおけるデータ読出し動作のタイミング制御、及び書き込み消去のための各種タイミングや電圧の選択制御などを行う制御回路である。この制御回路ＦＣＯＮＴは、コントロールレジスタＣＲＥＧを備える。
【００６７】
図１９にはコントロールレジスタＣＲＥＧの一例が示される。コントロールレジスタＣＲＥＧは、それぞれ８ビットのプログラム／イレーズ制御レジスタＰＥＲＥＧと、消去ブロック指定レジスタＭＢＲＥＧ１およびＭＢＲＥＧ２によって構成される。プログラム／イレーズ制御レジスタＰＥＲＥＧにおいて、Ｖｐｐは書換え用高電圧印加に応じて”１”にされる高電圧印加フラグである。Ｅビットは消去動作を指示するビットとされ、ＥＶビットは消去におけるベリファイ動作の指示ビットとされる。Ｐビットは書込み動作（プログラム動作）の指示ビットとされ、ＰＶビットは書込みにおけるベリファイ動作の指示ビットとされる。消去ブロック指定レジスタＭＢＲＥＧ１およびＭＢＲＥＧ２は、それぞれ７分割された大ブロックと８分割された小ブロックに含まれる何れのメモリブロックを消去するかを指定するレジスタであり、その第０ビットから第７ビットは各メモリブロックの指定用ビットとされ、例えばビット”１”は対応メモリブロックの選択を意味し、ビット”０”は対応メモリブロックの非選択を意味する。例えば、消去ブロック指定レジスタＭＢＲＥＧ２の第７ビットが”１”のときは、小メモリブロックＳＭＢ７の消去が指定される。
【００６８】
上記コントロールレジスタＣＲＥＧは外部からリード・ライト可能にされている。制御回路ＦＣＯＮＴは、そのコントロールレジスタＣＲＥＧの設定内容を参照し、それにしたがって消去・書込みなどの制御を行う。外部においては、そのコントロールレジスタＣＲＥＧの内容を書換えることによって、消去・書込み動作の状態を制御することができる。
【００６９】
図１７において、制御回路ＦＣＯＮＴには、制御信号としてＦＬＭ，ＭＳ−ＦＬＮ，ＭＳ−ＭＩＳＮ，Ｍ２ＲＤＮ，Ｍ２ＷＲＮ，ＭＲＤＮ，ＭＷＲＮ，ＩＯＷＯＲＤＮ，及びＲＳＴが供給され、更に、上位１バイトのデータＰＤＢ８乃至ＰＤＢ１５と、アドレス信号ＰＡＢ０乃至ＰＡＢ１５の所定ビットが与えられる。
【００７０】
制御信号ＦＬＭは、フラッシュメモリＦＭＲＹの動作モードを指定する信号であり、その”０”が第１動作モードを指定し、”１”が第２動作モードを指定する。この信号ＦＬＭは、例えば前記モード信号ＭＤ０乃至ＭＤ２に基づいて形成される。
【００７１】
制御信号ＭＳ−ＦＬＮは、フラッシュメモリＦＭＲＹの選択信号であり、その”０”が選択を指示し、”１”が非選択を指示する。第１動作モードでは中央処理装置ＣＰＵがその制御信号ＭＳ−ＦＬＮを出力し、第２動作モードにおいてその制御信号ＭＳ−ＦＬＮは、ＰＲＯＭライタＰＲＷから供給されるチップ・イネーブル信号ＣＥ＊に対応される。
【００７２】
制御信号ＭＳ−ＭＩＳＮはコントロールレジスタＣＲＥＧの選択信号である。このとき、プログラム／イレーズ制御レジスタＰＥＲＥＧと消去ブロック指定レジスタＭＢＲＥＧ１およびＭＢＲＥＧ２の何れを選択するかは、アドレス信号ＰＡＢ０乃至ＰＡＢ１５の所定ビットを参照して決定される。第１動作モードでは中央処理装置ＣＰＵがその制御信号ＭＳ−ＭＩＳＮを出力する。第２動作モードでは、特に制限されないが、ＰＲＯＭライタＰＲＷが出力する最上位アドレスビットＥＡ１６がその制御信号ＭＳ−ＭＩＳＮとみなされる。
【００７３】
Ｍ２ＲＤＮはメモリリードストローブ信号、Ｍ２ＷＲＮはメモリライトストローブ信号、ＭＲＤＮはコントロールレジスタＣＲＥＧのリード信号、ＭＷＲＮはコントロールレジスタＣＲＥＧのライト信号である。第１動作モードでは中央処理装置ＣＰＵがそれら制御信号を出力する。第２動作モードでは、特に制限されないが、ＰＲＯＭライタＰＲＷから供給されるライトイネーブル信号ＷＥ＊が前記信号Ｍ２ＷＲＮ，ＭＷＲＮとみなされ、ＰＲＯＭライタから供給されるアウトプットイネーブル信号ＯＥ＊が前記信号Ｍ２ＲＤＮ，ＭＲＤＮとみなされる。尚、メモリライトストローブ信号Ｍ２ＷＲＮは、メモリセルに書込むべきデータをデータ入力ラッチ回路ＤＩＬＡＴに書込むためのストローブ信号とみなされる。メモリセルへの実際の書込みは前記コントロールレジスタＣＲＥＧのＰビットをセットすることによって開始される。
【００７４】
ＩＯＷＯＲＤＮはフラッシュメモリＦＭＲＹに対する８ビットリードアクセスと１６ビットリードアクセスとの切換え信号とされる。第２動作モードにおいては当該制御信号ＩＯＷＯＲＤＮは８ビットリードアクセスを指示する論理値に固定される。
【００７５】
ＲＳＴはフラッシュメモリＦＭＲＹのリセット信号である。この信号ＲＳＴによってフラッシュメモリＦＭＲＹがリセットされることにより、或は前記プログラム／イレーズ制御レジスタＰＥＲＥＧのＶｐｐフラグが”０”にされることにより、前記プログラム／イレーズ制御レジスタＰＥＲＥＧにおけるＥＶ，ＰＶ，Ｅ，Ｐの各モード設定ビットがクリアされる。
【００７６】
図２０にはフラッシュメモリＦＭＲＹにおけるメモリリード動作の一例タイミングチャートが示される。同図においてＣＫ１Ｍ，ＣＫ２Ｍはノン・オーバーラップ２相のクロック信号であり、動作基準クロック信号とみなされる。ｔＣＹＣはサイクルタイムであり、ＲＡＭに対するアクセスタイムと大差ない。コントロールレジスタＣＲＥＧに対するリード動作もこれと同様のタイミングで行われる。
【００７７】
図２１にはフラッシュメモリＦＭＲＹにおけるメモリライト動作の一例タイミングチャートが示される。同図に示されるライトストローブ信号Ｍ２ＷＲＮによって指示されるメモリライト動作では、前述のように、メモリセルに対する実際の書込みは行われず、入力アドレス信号ＰＡＢ０乃至ＰＡＢ１５がアドレスラッチ回路ＡＬＡＴに保持されるとともに、入力データＰＢ８乃至ＰＢ１５がデータ入力ラッチＤＩＬＡＴに保持されて、そのライトサイクルが終了される。コントロールレジスタＣＲＥＧに対するライト動作もこれと同様のタイミングで行われるが、この場合にはコントロールレジスタＣＲＥＧへの実際のデータ書込みが行われる。
【００７８】
〔１２〕フラッシュメモリＦＭＲＹの書換え制御手順の詳細
この項目では、中央処理装置ＣＰＵ又はＰＲＯＭライタが前記制御回路ＦＣＯＮＴを介してフラッシュメモリの書込み，消去を行う制御手順の詳細な一例について説明する。フラッシュメモリに対する情報の書込みは、基本的に消去状態のメモリセルに対して行われる。マイクロコンピュータがシステムに実装された状態でフラッシュメモリの書換えを行う第１動作モードにおいて、中央処理装置ＣＰＵが実行すべき書換え制御プログラムは、消去用プログラムと、書込み用プログラムを含む。第１動作モードの指定に従って、最初に消去の処理ルーチンを実行し、ひき続いて自動的に書込みの処理ルーチンを実行するように書換え制御プログラムを構成することができる。或は消去と書込みを分けて別々に第１動作モードを指定するようにしてもよい。ＰＲＯＭライタによる書換え制御も第１動作モードの場合と同様のオペレーションによって実行される。以下、書込み制御手順と消去制御手順とをそれぞれ説明する。
【００７９】
図２２には書込み制御手順の詳細な一例が示される。同図に示される手順は、例えば１バイトのデータを書込むための手順であり、第１動作モードにおける中央処理装置ＣＰＵの制御と、第２動作モードにおけるＰＲＯＭライタの制御との双方に共通とされる。例えば制御主体を中央処理装置ＣＰＵとして説明する。
【００８０】
バイト単位でのデータ書込みの最初のステップでは、中央処理装置ＣＰＵはその内蔵カウンタｎに１をセットする（ステップＳ１）。次に、中央処理装置ＣＰＵは、図２１で説明したメモリライト動作を行って、フラッシュメモリＦＭＲＹに書込むべきデータを図１７のデータ入力ラッチ回路ＤＩＬＡＴにセットするとともに、データを書込むべきアドレスをアドレスラッチ回路ＡＬＡＴにセットする（ステップＳ２）。そして中央処理装置ＣＰＵは、コントロールレジスタＣＲＥＧに対するライトサイクルを発行して、プログラムビットＰをセットする（ステップ３）。これにより制御回路ＦＣＯＮＴは、前記ステップ２でセットされたデータ及びアドレスに基づいて、そのアドレスで指定されるメモリセルのコントロールゲートとドレインとに高圧を印加して書込みを行う。このフラッシュメモリ側での書込み処理時間として中央処理装置ＣＰＵは例えば１０μｓｅｃ待ち（ステップＳ４）、次いでプログラムビットＰをクリアする（ステップＳ５）。
【００８１】
その後、中央処理装置ＣＰＵは書込み状態を確認するために、コントロールレジスタＣＲＥＧに対するライトサイクルを発行して、プログラムベリファイビットＰＶをセットする（ステップ６）。これにより制御回路ＦＣＯＮＴは、前記ステップ２でセットされたアドレスを利用して、そのアドレスで選択されるべきワード線にベリファイ用電圧を印加して、前記書込みを行ったメモリセルのデータを読出す。ここで前記ベリファイ用電圧は、充分な書込みレベルを保証するため、例えば５Ｖのような電源電圧Ｖｃｃよりもレベルの高い７Ｖのような電圧レベルとされる。中央処理装置ＣＰＵはそれによって読出されたデータと書込みに利用したデータとの一致を確かめる（ステップＳ７）。中央処理装置ＣＰＵは、ベリファイによって一致を確認すると、プログラムベリファイビットＰＶをクリアし（ステップＳ８）、これにより当該１バイトデータの書込みが完了される。
【００８２】
一方、中央処理装置ＣＰＵは、ステップＳ７のベリファイによって不一致を確認すると、ステップＳ９でプログラムベリファイビットＰＶをクリアした後、前記カウンタｎの値が、書込みリトライ上限回数Ｎに到達しているかの判定を行う（ステップＳ１０）。この結果、書込みリトライ上限回数Ｎに到達している場合には書込み不良として処理が終了される。書込みリトライ上限回数Ｎに到達していない場合には、中央処理装置ＣＰＵは、カウンタｎの値を１だけインクリメントして（ステップＳ１１）、前記ステップＳ３から処理を繰返していく。
【００８３】
図２３には消去制御手順の詳細な一例が示される。同図に示される手順は、第１動作モードにおける中央処理装置ＣＰＵの制御と、第２動作モードにおけるＰＲＯＭライタの制御との双方に共通とされる。例えば制御主体を中央処理装置ＣＰＵとして説明する。
【００８４】
中央処理装置ＣＰＵは、消去を行うに当たりその内蔵カウンタｎに１をセットする（ステップＳ２１）。次に中央処理装置ＣＰＵは、消去対象領域のメモリセルに対してプレライトを行う（ステップＳ２２）。すなわち、消去対象アドレスのメモリセルに対してデータ”０”を書込む。このプレライトの制御手順は前記図２２で説明した書込み制御手順を流用することができる。このプレライトの処理は、消去前のフローティングゲート内の電荷量を全ビット均一にして、消去状態を均一化するために行われる。
【００８５】
次に、中央処理装置ＣＰＵは、コントロールレジスタＣＲＥＧに対するライトサイクルを発行して、一括消去対象メモリブロックを指定する（ステップＳ２３）。すなわち、消去ブロック指定レジスタＭＢＲＥＧ１およびＭＢＲＥＧ２に消去対象メモリブロック番号を指定する。消去対象メモリブロックを指定した後、中央処理装置ＣＰＵは、コントロールレジスタＣＲＥＧに対するライトサイクルを発行して、イレーズビットＥをセットする（ステップ２４）。これにより制御回路ＦＣＯＮＴは、前記ステップ２３で指定されたメモリブロックのソース線に高圧を印加させて、当該メモリブロックを一括消去する。このフラッシュメモリ側での一括消去の処理時間として中央処理装置ＣＰＵは例えば１０ｍｓｅｃ待つ（ステップＳ２５）。この１０ｍｓｅｃという時間は、１回で消去動作を完結することができる時間に比べて短い時間とされている。そして、次いでイレーズビットＥをクリアする（ステップＳ２６）。
【００８６】
その後、中央処理装置ＣＰＵは消去状態を確認するために、先ず一括消去対象メモリブロックの先頭アドレスをベリファイすべきアドレスとして内部にセットし（ステップＳ２７）、次いで、ベリファイアドレスにダミーライトを行う（ステップＳ２８）。すなわち、ベリファイすべきアドレスに対してメモリライトサイクルを発行する。これにより、ベリファイすべきメモリアドレスがアドレスラッチ回路ＡＬＡＴに保持される。その後中央処理装置ＣＰＵは、コントロールレジスタＣＲＥＧに対するライトサイクルを発行して、イレーズベリファイビットＥＶをセットする（ステップ２９）。これにより制御回路ＦＣＯＮＴは、前記ステップＳ２８でセットされたアドレスを利用して、そのアドレスで選択されるべきワード線に消去ベリファイ用電圧を印加して、前記消去されたメモリセルのデータを読出す。ここで前記消去ベリファイ用電圧は、充分な消去レベルを保証するため、例えば５Ｖのような電源電圧Ｖｃｃよりもレベルの低い３．５Ｖのような電圧レベルとされる。中央処理装置ＣＰＵはそれによって読出されたデータが消去完結状態のデータに一致するかをベリファイする（ステップＳ３０）。中央処理装置ＣＰＵは、ベリファイによって一致を確認すると、イレーズベリファイビットＥＶをクリアし（ステップＳ３１）、次いで今回のベリファイアドレスが消去したメモリブロックの最終アドレスか否かを判定し（ステップＳ３２）、最終アドレスであれば一連の消去動作を終了する。最終アドレスに至っていないと判定されたときは、ベリファイアドレスを１だけインクリメントして（ステップＳ３３）、再びステップＳ２９からの処理を繰返していく。
【００８７】
一方、中央処理装置ＣＰＵは、ステップＳ３０のベリファイによって不一致を確認すると、ステップＳ３４でイレーズベリファイビットＥＶをクリアした後、前記カウンタｎの値が、漸次消去上限回数Ｎに到達しているかの判定を行う（ステップＳ３５）。この結果、漸次消去上限回数Ｎに到達している場合には消去不良として処理が終了される。漸次消去上限回数Ｎに到達していない場合には、中央処理装置ＣＰＵは、カウンタｎの値を１だけインクリメントして（ステップＳ３６）、前記ステップＳ２４から処理を繰返していく。実際には、消去し過ぎによってメモリセルのしきい値電圧が負の値になってしまうような過消去を防止するために、１回毎にベリファイを行いながら１０ｍｓｅｃというような短時間ずつ徐々に消去がくり返し行われていく。
【００８８】
上記実施例によれば以下の作用効果がある。
【００８９】
（１）マイクロコンピュータＭＣＵを所要のシステムに実装する前のような段階で最初に当該マイクロコンピュータＭＣＵが内蔵するフラッシュメモリＦＭＲＹに情報を書き込むようなときは、第２動作モードを指定することにより、ＰＲＯＭライタＰＲＷのような外部書き込み装置の制御によって能率的に情報の書込みを行うことができる。また、マイクロコンピュータＭＣＵに第１動作モードを指定することにより、当該マイクロコンピュータＭＣＵがシステムに実装された状態でそのフラッシュメモリＦＭＲＹの記憶情報を書換えることができる。このとき、一括消去機能により書換え時間の短縮を図ることができる。
【００９０】
（２）フラッシュメモリＦＭＲＹにおける一括消去可能な単位として相互に記憶容量の相違される複数個のメモリブロック（ＬＭＢ，ＳＭＢ）を設けておくことにより、夫々のメモリブロックにはその記憶容量に応じて例えばプログラム、データテーブル、制御データなどを保持させることができる。すなわち、相対的に情報量の大きなデータは相対的に記憶容量の大きなメモリブロックに、相対的に情報量の小さなデータは相対的に記憶容量の小さなメモリブロックに書き込んでおくことができる。換言すれば、記憶すべき情報量に見合う記憶容量のメモリブロックを利用することができる。したがって、プログラム領域にはちょうど良いがデータ領域には消去単位が大きすぎて使いにくかったりする事態を防止することができる。また、フラッシュメモリの保持情報の一部書換えのために所要のメモリブロックを一括消去しても、実質的に書換えを要しない情報群も併せて消去した後で再び書き戻すと言うような無駄を極力防止することができる。
【００９１】
（３）複数個のメモリブロックのうち内蔵ＲＡＭの記憶容量以下に設定されたメモリブロックを設けておくことにより、内蔵ＲＡＭをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用できるようになる。
【００９２】
（４）上記（３）において、マイクロコンピュータの実装状態でフラッシュメモリを書換えるとき、書換対象メモリブロックの情報を内蔵ＲＡＭに転送し、書換えるべき一部の情報だけを外部からもらってそのＲＡＭ上で書換を行ってから、フラッシュメモリの書換を行うことにより、書換え前に内部で保持されている書換を要しない情報を重ねて外部から転送を受けなくても済み、メモリブロックの一部書換のための情報転送の無駄を省くことができる。
【００９３】
（５）フラッシュメモリの一括消去時間は小メモリブロックに対してもさほど短くならないから、マイクロコンピュータＭＣＵによる制御動作に同期してリアルタイムにフラッシュメモリそれ自体を書換えることはできないが、内蔵ＲＡＭをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用することにより、リアルタイムに書換えたとのと同じデータを結果的にメモリブロックに得ることができる。
【００９４】
（６）一括消去すべきメモリブロックの指定情報を書換え可能に保持するためのレジスタＭＢＲＥＧをフラッシュメモリＦＭＲＹに内蔵させることにより、一括消去すべきメモリブロックをマイクロコンピュータＭＣＵの内外（内蔵中央処理装置，外部ＰＲＯＭライタ）から同じ様な手順で容易に指定できる。
【００９５】
（７）上記夫々の作用効果によって、マイクロコンピュータＭＣＵに内蔵されたフラッシュメモリＦＭＲＹの使い勝手を向上させることができる。
【００９６】
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００９７】
例えば、マイクロコンピュータに内蔵される周辺回路は上記実施例に限定されず適宜変更することができる。フラッシュメモリのメモリセルトランジスタは上記実施例のスタックドゲート構造のＭＯＳトランジスタに限定されず、書込み動作にもトンネル現象を用いたＦＬＯＴＯＸ型のメモリセルトランジスタを用いることも可能である。上記実施例では、フラッシュメモリに対する消去並びに書込みの双方の制御を図２２及び図２３に示したようなソフトウェア的な手段を介して実現したが、本発明はそれに限定されるものではなく、例えば、比較的時間のかかる一括消去を、フラッシュメモリの内蔵専用ハードウェアによって制御させるようにしてもよい。例えばその専用ハードウェアは、ＥビットやＥＶビットのセット及びクリア制御をしたり、消去状態のベリファイを行ったりする制御論理を備えることになる。この一括消去の制御論理をフラッシュメモリに内蔵させる構成は、一括消去に関するソフトウェア的な負担が軽減されるという点においてユーザによる使い勝手を向上させるが、その制御論理は面積を増大させる。また、一括消去の単位はソース線を共通にするメモリブロックのほか、消去においてワード線を共通化できるメモリブロックとすることもできるが、その何れを選択するかは、消去電圧の極性をどうするか、或は、一括消去単位の記憶容量を極力小さくしようとする場合に単一のワード線に接続するメモリセルの数と単一のデータ線に接続されるメモリセルの数との何れの方が少ないかなどの事情を考慮して決定することができる。メモリブロックのサイズについては上記実施例のようなサイズ固定に限定されない。例えば、コントロールレジスタの設定又はモード信号の指示にしたがってそのサイズを可変にすることができる。例えば、ワード線を最小単位として一括消去電圧を印加する場合には、ワード線を消去電圧で駆動するドライバの動作をそのコントロールレジスタの設定又はモード信号の指示にしたがって選択させればよい。更にメモリブロックの分割態様としては、図２４に示される様に、全体を複数個の大ブロックＬＭＢ０〜７に分割し、更にその各大ブロックの中を複数個の小ブロックＳＭＢ０〜ＳＭＢ７に分けて、大ブロック単位又は小ブロック単位で一括消去できるようにすることも可能である。また、フラッシュメモリのメモリセルトランジスタにおいて、そのソース及びドレインは、印加される電圧によって定まる相対的なものとして把握されるものもある。
【００９８】
本発明は、少なくとも単一の半導体チップ上に中央処理装置と電気的な消去・書込みによって書換え可能な不揮発性のフラッシュメモリとを備えた条件のマイクロコンピュータに広く適用することができる。
【図面の簡単な説明】
【００９９】
【図１】図１は全面フラッシュメモリを採用したマイクロコンピュータの一実施例ブロック図である。
【図２】図２はフラッシュメモリと共にマスクＲＯＭを採用したマイクロコンピュータの一実施例ブロック図である。
【図３】図３は汎用ＰＲＯＭライタによるフラッシュメモリの書換えに着目したブロック図である。
【図４】図４にＣＰＵ制御によるフラッシュメモリの書換えに着目したブロック図である。
【図５】図５は全面フラッシュメモリとされるマイクロコンピュータの一例メモリマップである。
【図６】図６はフラッシュメモリと共にマスクＲＯＭを有するマイクロコンピュータの一例メモリマップである。
【図７】図７は消去の概略的な一例制御手順説明図である。
【図８】図８は書き込みの概略的な一例制御手順説明図である。
【図９】図９はフラッシュメモリのリアルタイム書換えへの対応手法の一例説明図である。
【図１０】図１０はフラッシュメモリのメモリブロックの一部書換えを能率化する手法の一例説明図である。
【図１１】図１１はフラッシュメモリの原理説明図である。
【図１２】図１２は図１１の記憶トランジスタを用いたメモリセルアレイの構成原理説明図である。
【図１３】図１３はメモリセルに対する消去動作並びに書込み動作のための電圧条件の一例説明図である。
【図１４】図１４は一括消去可能なメモリブロックの記憶容量を相違させたフラッシュメモリの一例回路ブロック図である。
【図１５】図１５は図１のマイクロコンピュータに対応される更に詳細なマイクロコンピュータの実施例ブロック図である。
【図１６】図１６は図１５のマイクロコンピュータがパッケージされた状態を示す平面図である。
【図１７】図１７は図１５のマイクロコンピュータに内蔵されるフラッシュメモリの全体的なブロック図である。
【図１８】図１８はメモリブロックの分割態様の一例説明図である。
【図１９】図１９はコントロールレジスタの一例説明図である。
【図２０】図２０はフラッシュメモリにおけるメモリリード動作の一例タイミングチャートである。
【図２１】図２１はフラッシュメモリにおけるメモリライト動作の一例タイミングチャートである。
【図２２】図２２は書込み制御手順の詳細な一例フローチャートである。
【図２３】図２３は消去制御手順の詳細な一例フローチャートである。
【図２４】図２４はメモリブロック分割態様の別の例を示す説明図である。
【符号の説明】
【０１００】
ＭＣＵ  マイクロコンピュータ
ＣＨＰ  半導体チップ
ＦＭＲＹ  フラッシュメモリ
ＬＮＢ  大メモリブロック
ＳＭＢ  小メモリブロック
ＣＰＵ  中央処理装置
ＲＡＭ  ランダム・アクセス・メモリ
ＣＯＮＴ  制御回路
ＭＡＳＫＲＯＭ  マスク・リード・オンリ・メモリ
ＭＯＤＥ  モード信号
Ｐｍｏｄｅ  モード信号入力端子
ＭＤ０乃至ＭＤ２  モード信号
ＰＯＲＴｄａｔａ  ポート
ＰＯＲＴａｄｄｒ  ポート
ＰＯＲＴｃｏｎｔ  ポート
ｓｏｃｋｅｔ  ソケット
ＰＲＷ  汎用ＰＲＯＭライタ
ＡＢＵＳ  アドレスバス
ＤＢＵＳ  データバス
５  フローティングゲート
７  コントロールゲート
９  ソース
１０  ドレイン
ＡＲＹ１乃至ＡＲＹ７  メモリアレイ
ＭＣ  メモリセル
ＷＬ０乃至ＷＬｎ  ワード線
ＤＬ０乃至ＤＬ７  データ線
ＳＬ１，ＳＬ２  ソース線
Ｂ１，Ｂ２  消去ブロック指定レジスタのビット
ＰＯＲＴ１乃至ＰＯＲＴ１２  ポート
ＥＤ０乃至ＥＤ７  ＰＲＯＭライタとの入出力データ
ＥＡ０乃至ＥＡ１６  ＰＲＯＭライタからの入力アドレス信号
ＣＥ＊  チップイネーブル信号
ＯＥ＊  アウトプットイネーブル信号
ＷＥ＊  ライトイネーブル信号
ＦＣＯＮＴ  制御回路
ＣＲＥＧ  コントロールレジスタ
ＮＢＲＥＧ  消去ブロック指定レジスタ
ＰＥＲＥＧ  プログラム／イレーズ制御レジスタ
Ｅ  イレーズビット
ＥＶ  イレーズベリファイビット
Ｐ  プログラムビット
ＰＥ  プログラムベリファイビット
ＥＲＡＳＥＣ  消去回路
ＬＭＢ０乃至ＬＭＢ６  大メモリブロック
ＳＭＢ０乃至ＳＭＢ７  小メモリブロック
【図１】
2008004258.tif 000003
【図２】
2008004258.tif 000004
【図３】
2008004258.tif 000005
【図４】
2008004258.tif 000006
【図５】
2008004258.tif 000007
【図６】
2008004258.tif 000008
【図７】
2008004258.tif 000009
【図８】
2008004258.tif 000010
【図９】
2008004258.tif 000011
【図１０】
2008004258.tif 000012
【図１１】
2008004258.tif 000013
【図１２】
2008004258.tif 000014
【図１３】
2008004258.tif 000015
【図１４】
2008004258.tif 000016
【図１５】
2008004258.tif 000017
【図１６】
2008004258.tif 000018
【図１７】
2008004258.tif 000019
【図１８】
2008004258.tif 000020
【図１９】
2008004258.tif 000021
【図２０】
2008004258.tif 000022
【図２１】
2008004258.tif 000023
【図２２】
2008004258.tif 000024
【図２３】
2008004258.tif 000025
【図２４】
2008004258.tif 000026