説明

マイクロコンピュータ

【課題】マイクロコンピュータに内蔵されたフラッシュメモリの使い勝手を向上させる。
【解決手段】本発明のマイクロコンピュータは、CPUとI/Oポートとフラッシュメモリとランダムアクセスメモリとを単一の半導体チップに構成される。フラッシュメモリは、複数の一括消去可能な記憶領域に分割され、書換え制御プログラムと転送制御プログラムとを格納し、消去・書込み等の動作状態を設定するコントロールレジスタを有する。コントロールレジスタは、消去動作を指示するビット、書込み動作を指示するビット、ベリファイ動作を指示するビット、および消去対象となる記憶領域を指定するビットとを有し、CPUによって制御される。CPUは、転送制御プログラムを実行して、書換え制御プログラムを前記ランダムアクセスメモリへ転送し、さらに、転送された前記書換え制御プログラムを実行して、用意されたデータをフラッシュメモリへ書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電気的な消去・書込みによって情報を書換え可能な不揮発性のフラッシュメモリを備えたマイクロコンピュータに関する。
【背景技術】
【0002】
特開平1−161469号公報には、プログラム可能な不揮発性メモリとしてEPROM(イレーザブル・アンド・プログラマブル・リード・オンリ・メモリ)またはEEPROM(エレクトリカリ・イレーザブル・アンド・プログラマブル・リード・オンリ・メモリ)を単一の半導体チップに搭載したマイクロコンピュータについて記載されている。そのようなマイクロコンピュータにオン・チップ化された不揮発性メモリにはプログラムやデータが保持される。EPROMは紫外線により記憶情報を消去するものであるから、それを実装システムから取り外さなければ書換えを行うことができない。EEPROMは電気的に消去・書込みを行うことができるので、システムに実装された状態でその記憶情報を書換えることができるが、それを構成するメモリセルは、MNOS(メタル・ナイトライド・オキサイド・セミコンダクタ)のような記憶素子のほかに選択トランジスタを必要とするため、EPROMに比べて例えば2.5倍から5倍程度の大きさになり、相対的に大きなチップ占有面積を必要とする。
【0003】
特開平2−289997号公報には一括消去型EEPROMについて記載されている。この一括消去型EEPROMは本明細書におけるフラッシュメモリと同意義に把握することができる。フラッシュメモリは、電気的な消去・書込みによって情報を書換え可能であって、EPROMと同様にそのメモリセルを1個のトランジスタで構成することができ、メモリセルの全てを一括して、またはメモリセルのブロックを一括して電気的に消去する機能を持つ。したがって、フラッシュメモリは、システムに実装された状態でそれの記憶情報を書換えることができると共に、その一括消去機能により書換え時間の短縮を図ることができ、さらに、チップ占有面積の低減にも寄与する。
【0004】
【特許文献1】特開平1−161469号公報
【特許文献2】特開平2−289997号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明者はマイクロコンピュータにフラッシュメモリを搭載することについて検討し、これにより以下の点をみい出した。
【0006】
(1)マイクロコンピュータの内蔵ROMにはプログラム及びデータが格納される。更にデータには大容量データと小容量データがある。これらプログラム及びデータを書き換える場合、通常前者については数十KB(キロバイト)の大きな単位で、後者については数十B(バイト)の小さな単位で書換が行われる。このとき、フラッシュメモリの消去単位がチップ一括または同一サイズのメモリブロック単位で行われるのでは、プログラム領域にはちょうど良いがデータ領域には消去単位が大きすぎて使いにくかったり、或はその逆のケースも起こり得る。
【0007】
(2)マイクロコンピュータをシステムに実装した後にフラッシュメモリの保持情報の一部を書換えるような場合には、当該情報を保有している一部のメモリブロックを書換え対象とすればよいが、一括消去可能なメモリブロックの記憶容量が全てのメモリブロックで等しくされているならば、メモリブロックの記憶容量よりも情報量の少ない情報だけを書換えればよい場合にも比較的記憶容量の大きなメモリブロックを一括消去した後に当該メモリブロック全体に対して順次書込みを行わなければならず、実質的に書換えを要しない情報のための書換えに無駄な時間を費やすことになる。
【0008】
(3)フッラシュメモリに書き込むべき情報はそのマイクロコンピュータが適用されるシステムにしたがって決定されるが、当該マイクロコンピュータをシステムに実装した状態で最初から全ての情報を書込んでいたのでは非能率的な場合がある。
【0009】
(4)マイクロコンピュータの実装状態でフラッシュメモリを書換えるとき、書換対象メモリブロックの一部の情報だけを書換えればよくても、一括消去した後のメモリブロックの全体に書込むべき情報の全てをマイクロコンピュータの外部から順次もらいながら書込みを行っていたのでは、書換対象メモリブロックの一部の情報だけを書換えればよくても、当該メモリブロック全体に書込むべき情報の全てを外部から受け取らなくてはならず、実質的に書換えを要しない情報、すなわち書換え前に内部で保持している情報も重ねて外部から転送されなければならず、メモリブロックの一部書換のための情報転送に無駄がある。
【0010】
(5)フラッシュメモリを一括消去で書換える時間はその情報記憶形式故にRAM(ランダム・アクセス・メモリ)などのメモリに比べて相当長いため、マイクロコンピュータによる機器制御動作に同期してリアルタイムにフラッシュメモリを書換えることができない。
【0011】
本発明の目的は、使い勝手の良好なフラッシュメモリを内蔵したマイクロコンピュータを提供することにある。更に詳しく言えば、本発明の第1の目的は、内蔵フッラシュメモリに対して行われる最初の情報書込み処理の高効率化を図ることができるマイクロコンピュータを提供することである。本発明の第2の目的は、フラッシュメモリの一部のメモリブロックが保持する情報の一部の書換えに対して、当該メモリブロックを一括消去した後の書込み動作の無駄をなくして、書換え効率を向上させることである。本発明の第3の目的は、メモリブロックの一部書換のために必要な外部からの書込み情報の転送動作の無駄をなくして、書換え効率を向上させることである。本発明の第4の目的は、マイクロコンピュータの制御動作に同期してリアルタイムにフラッシュメモリの保持情報を変更できるようにすることである。
【0012】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0013】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0014】
すなわち、単一の半導体チップ上に、中央処理装置と、この中央処理装置によってアクセス可能なRAMと、前記中央処理装置が処理すべき情報を電気的な消去・書込みによって書換え可能な不揮発性のフラッシュメモリとを備えたマイクロコンピュータに対して、前記フラッシュメモリに対する書換えを前記半導体チップの内蔵回路例えば中央処理装置に制御させる第1動作モードと前記半導体チップの外部装置に制御させる第2動作モードとを選択的に指定するための動作モード信号の入力端子を設ける。
【0015】
前記第1動作モードの指定に応じて中央処理装置が書換え制御を行うとき、当該中央処理装置が実行すべき書換え制御プログラムはマスクROMに保有させ、或はフラッシュメモリに予め格納しておいた書換制御プログラムをRAMに転送して、これを実行させることができる。
【0016】
用途に応じてフラッシュメモリに格納すべき情報量がその情報の種類例えばプログラム、データテーブル、制御データなどに応じて相違されることを考慮した場合に、フラッシュメモリの一部のメモリブロックが保持する情報の一部の書換えに対して、当該メモリブロックを一括消去した後の書込み動作の無駄をなくして、書換え効率を向上させるために、前記フラッシュメモリにおける一括消去可能な単位として、相互に記憶容量の相違される複数個のメモリブロックを割当てる。
【0017】
マイクロコンピュータの内外からフラッシュメモリの書換えを制御する場合に、一括消去すべきメモリブロックを容易に指定できるようにするには、一括消去すべきメモリブロックの指定情報を書換え可能に保持するためのレジスタをフラッシュメモリに内蔵させるとよい。
【0018】
内蔵フラッシュメモリが、一括消去可能な単位として相互に記憶容量の相違される複数個のメモリブロックを有するとき、内蔵RAMをメモリブロック書換えのための作業領域もしくはデータバッファ領域として利用可能にするために、内蔵RAMの記憶容量以下に設定されたメモリブロックを設けておく。このとき、メモリブロックの一部書換のために必要な外部からの書込み情報の転送動作の無駄をなくして、書換え効率を向上させるには、前記内蔵RAMよりも記憶容量の小さなメモリブロックの保持情報を内蔵RAMに転送し、転送された情報の全部又は一部をそのRAM上で更新して、その更新された情報で当該メモリブロックを書換えるようにするとよい。また、フラッシュメモリが保持する制御データなどのチューニングを行うような場合に、マイクロコンピュータの制御動作に同期してリアルタイムにフラッシュメモリの保持情報を変更できるようにするには内蔵RAMの特定アドレスの領域を、前記内蔵RAMよりも記憶容量の小さなメモリブロックのアドレスに重なる様に変更配置し、すなわちメモリブロックをアクセスした場合に重なったRAMがアクセスされる様に、変更配置し、そのRAMの特定アドレスで作業を行った後でRAMの配置アドレスを元の状態に復元し、メモリブロックの内容を前記RAMの特定アドレスの情報で書換える処理を行うようにするとよい。
【0019】
上記した手段によれば、本発明に係るマイクロコンピュータをシステムに実装する前のような段階で最初にそのフラッシュメモリに情報を書き込むようなときは、第2動作モードを指定することにより、PROMライタのような外部書き込み装置の制御によって能率的に情報の書き込みが行われる。
【0020】
フラッシュメモリにおける一括消去可能な単位として相互に記憶容量の相違される複数個のメモリブロックには夫々の記憶容量に応じて例えばプログラム、データテーブル、制御データなどが書き込まれる。
【0021】
システムにマイクロコンピュータを実装した後でフラッシュメモリを書換える場合には、第1動作モードを指定することにより、書換え制御をマイクロコンピュータ内蔵の中央処理装置などに実行させる。このとき、相対的に情報量の大きなデータは相対的に記憶容量の大きなメモリブロックに、相対的に情報量の小さなデータは相対的に記憶容量の小さなメモリブロックに書き込んでおくことができる。すなわち記憶すべき情報量に見合う記憶容量のメモリブロックを利用することができる。したがって、フラッシュメモリの保持情報の一部書換えのために所要のメモリブロックを一括消去しても、実質的に書換えを要しない情報群も併せて消去した後で再び書き戻すと言うような無駄が極力防止される。
【0022】
特に、複数個のメモリブロックのうち内蔵RAMの記憶容量以下に設定されたメモリブロックを設けておくことは、内蔵RAMをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用可能にする。すなわち、マイクロコンピュータの実装状態でフラッシュメモリを書換えるとき、書換対象メモリブロックの情報を内蔵RAMに転送し、書換えるべき一部の情報だけを外部からもらってそのRAM上で書換を行ってから、フラッシュメモリの書換を行えば、書換え前に内部で保持されている書換を要しない情報を重ねて外部から転送を受けなくても済み、メモリブロックの一部書換のための情報転送の無駄を省く。また、フラッシュメモリの一括消去時間は小メモリブロックに対してもさほど短くならないから、マイクロコンピュータによる制御動作に同期してリアルタイムにフラッシュメモリそれ自体を書換えることはできないが、内蔵RAMをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用することにより、リアルタイムに書換えたのと同じデータを結果的にメモリブロックに得ることができる。
【発明の効果】
【0023】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0024】
すなわち、本発明に係るマイクロコンピュータは第1動作モードと第2動作モードとを有するから、マイクロコンピュータをシステムに実装する前の初期データ、又は初期プログラムなどの比較的大量の情報を、汎用PROMライタなどで能率的に書込むことができる。更に、マイクロコンピュータが実装されたシステムを動作させながらデータのチューニングをする場合、またプログラムのバグ対策、若しくはシステムのバージョンアップに伴うプログラムの変更等、マイクロコンピュータがシステムに実装された状態でデータやプログラムの変更が必要になった時に、マイクロコンピュータを実装システムから取り外すことなくフラッシュメモリを書換えることができる。
【0025】
フラッシュメモリにおける一括消去可能な単位として相互に記憶容量の相違される複数個のメモリブロックを設けておくことにより、相対的に情報量の大きなデータは相対的に記憶容量の大きなメモリブロックに、相対的に情報量の小さなデータは相対的に記憶容量の小さなメモリブロックに書き込んでおくことができ、記憶すべき情報量に見合う記憶容量のメモリブロックを利用することができる。したがって、プログラム領域にはちょうど良いがデータ領域には消去単位が大きすぎて使いにくかったりする事態を防止することができる。また、フラッシュメモリの保持情報の一部書換えのために所要のメモリブロックを一括消去しても、実質的に書換えを要しない情報群も併せて消去した後で再び書き戻すと言うような無駄を極力防止することができる。
【0026】
複数個のメモリブロックのうち内蔵RAMの記憶容量以下に設定されたメモリブロックを設けておくことにより、内蔵RAMをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用できるようになる。このような条件の下で、マイクロコンピュータの実装状態でフラッシュメモリを書換えるとき、書換対象メモリブロックの情報を内蔵RAMに転送し、書換えるべき一部の情報だけを外部からもらってそのRAM上で書換を行ってから、フラッシュメモリの書換を行うことにより、書換え前に内部で保持されている書換を要しない情報を重ねて外部から転送を受けなくても済み、メモリブロックの一部書換のための情報転送の無駄を省くことができる。また、フラッシュメモリが保持するデータのチューニングなどに際して、前記内蔵RAMのアドレスを当該フラッシュメモリのメモリブロックのアドレスにオーバラップさせてそのRAM上でチューニングを行い、チューニング結果をフラッシュメモリの該当メモリブロックに転送することにより、マイクロコンピュータによる制御動作に同期してリアルタイムにフラッシュメモリそれ自体を書換えることはできなくても、リアルタイムに書換えたのと同じデータを結果的にメモリブロックに得ることができる。
【0027】
一括消去すべきメモリブロックの指定情報を書換え可能に保持するためのレジスタをフラッシュメモリに内蔵させることにより、一括消去すべきメモリブロックをマイクロコンピュータの内外から同じ様な手順で容易に指定できるようになる。
【0028】
上記夫々の効果によって、マイクロコンピュータに内蔵されたフラッシュメモリの使い勝手を向上させることができるという効果を得る。
【発明を実施するための最良の形態】
【0029】
以下本発明に係るマイクロコンピュータを項目を分けて順次説明する。
【0030】
〔1〕全面フラッシュメモリ採用のマイクロコンピュータ
図1には全面フラッシュメモリを採用したマイクロコンピュータの一実施例ブロック図が示される。同図に示されるマイクロコンピュータMCUは、中央処理装置CPU、及びこの中央処理装置CPUが処理すべき情報を電気的な消去・書込みによって書換え可能な不揮発性のフラッシュメモリFMRY、並びにタイマTMR、シリアル・コミュニケーション・インタフェースSCI、ランダム・アクセス・メモリRAM、その他の入出力回路I/Oなどの周辺回路、そして制御回路CONTが、公知の半導体集積回路製造技術によって、シリコンのような単一の半導体チップCHP上に形成されて成る。前記フラッシュメモリFMRYは、電気的な消去・書込みによって情報を書換え可能であって、EPROMと同様にそのメモリセルを1個のトランジスタで構成することができ、更にメモリセルの全てを一括して、またはメモリセルのブロック(メモリブロック)を一括して電気的に消去する機能を持つ。フラッシュメモリFMRYは、一括消去可能な単位として複数個のメモリブロックを有する。図1において、LMBは相対的に記憶容量の大きな大メモリブロックであり、SMBは相対的に記憶容量の小さな小メモリブロックである。小メモリブロックSMBの記憶容量はランダム・アクセス・メモリRAMの記憶容量よりも小さくされる。したがって、ランダム・アクセス・メモリRAMは、小メモリブロックSMBからデータ転送を受けてその情報を一時的に保持することができ、書換えのための作業領域も若しくはデータバッファ領域として利用可能になる。このフラッシュメモリFMRYには所要のデータやプログラムが書き込まれる。尚、フラッシュメモリFMRYの詳細については後述する。
【0031】
フラッシュメモリFMRYは、マイクロコンピュータMCUがシステムに実装された状態で中央処理装置CPUの制御に基づいてその記憶情報を書換え可能にされると共に、汎用PROMライタのような前記半導体チップCHPの外部装置の制御に基づいてその記憶情報を書換え可能にされる。図においてMODEは、前記フラッシュメモリFMRYを中央処理装置CPUに書換え制御させる第1動作モードと前記外部装置に制御させる第2動作モードとを選択的に指定するための動作モード信号であり、半導体チップCHP上のモード信号入力端子Pmodeに与えられる。
【0032】
〔2〕マスクROM,フラッシュメモリ採用のマイクロコンピュータ
図2にはフラッシュメモリと共にマスクROMを採用したマイクロコンピュータの一実施例ブロック図が示される。同図に示されるマイクロコンピュータMCUにおいては、図1のフラッシュメモリFMRYの一部がマスク・リード・オンリ・メモリMASKROMに置換えられている。マスク・リード・オンリ・メモリMASKROMには書換を要しないデータやプログラムが保持されている。図2に示されるフラッシュメモリFMRYは、一括消去可能な単位として前記小メモリブロックSMBを複数個有する。
【0033】
〔3〕汎用PROMライタによる情報書き込み
図3には汎用PROMライタによるフラッシュメモリFMRYの書換えに着目したブロック図が示される。同図には前記モード信号MODEの一例としてMD0,MD1,MD2が示される。モード信号MD1乃至MD3は前記制御回路CONTに供給される。制御回路CONTに含まれるデコーダは、特に制限されないが、モード信号MD1乃至MD3を解読して、フラッシュメモリFMRYに対して書き込みを要しない動作モードが指示されているか、又は前記第1動作モード若しくは第2動作モードが指示されているかを判定する。このとき第2動作モードの指示が判断されると、制御回路CONTは、汎用PROMライタPRWとインタフェースされるべきI/Oポートを指定して、内蔵フラッシュメモリFMRYを直接外部の汎用PROMライタPRWでアクセス可能に制御する。すなわち、フラッシュメモリFMRYとの間でデータの入出力を行うためのI/OポートPORTdataと、フラッシュメモリFMRYにアドレス信号を供給するためのI/OポートPORTaddrと、フラッシュメモリFMRYに各種制御信号を供給するためのI/OポートPORTcontとが指定される。更に、汎用PROライタPRWによる書換え制御とは直接関係ない中央処理装置CPU,ランダム・アクセス・メモリRAM,マスク・リード・オンリ・メモリMASKROMなどの内蔵機能ブロックの実質的な動作が抑制される。例えば、図3に例示的に示されるようにデータバスDBUSとアドレスバスABUSの夫々に配置されたスイッチ手段SWITCHを介して前記中央処理装置CPUなどの内蔵機能ブロックとフラッシュメモリFMRYとの接続を切離す。前記スイッチ手段SWITCHは、前記CPUなどの内蔵機能ブロックからデータバスDBUSにデータを出力する回路や、アドレスバスABUSにアドレスを出力する回路に配置された、トライステート(3ステート)形式の出力回路として把握することもできる。このようなトライステート出力回路は、第2動作モードに呼応して高出力インピーダンス状態に制御される。図3の例では汎用PROライタによる書換え制御とは直接関係ない中央処理装置CPU,ランダム・アクセス・メモリRAM,マスク・リード・オンリ・メモリMASKROMなどの内蔵機能ブロックは、スタンバイ信号STBY*(記号*はそれが付された信号がロウ・アクティブ信号であることを意味する)により低消費電力モードにされている。低消費電力モードにおいて前記トライステート出力回路が高出力インピーダンス状態に制御されるなら、モード信号でMD0乃至MD2による第2動作モードの指定に呼応してそれらの機能ブロックに低消費電力モードを設定して、汎用PROライタPRWによる書換え制御とは直接関係ないCPU,RAM,ROMなどの内蔵機能ブロックの実質的な動作を抑制してもよい。
【0034】
第2動作モードが設定されるマイクロコンピュータMCUの前記I/OポートPORTdata,PORTaddr,PORTcontは変換ソケットSOCKETを介して汎用PROMライタPRWに結合される。変換ソケットSOCKETは、一方においてI/OポートPORTdata,PORTaddr,PORTcontの端子配置を有し、他方において標準メモリの端子配置を有し、相互に同一機能端子が内部で接続されている。
【0035】
〔4〕CPU制御による書き込み制御プログラム
図4にはCPU制御によるフラッシュメモリFMRYの書換えに着目したブロック図が示される。図1のマイクロコンピュータMCUにおいて中央処理装置CPUが実行すべき書換え制御プログラムは予め汎用PROMライタPRWにてフラッシュメモリFMRYに書き込まれている。図2のマイクロコンピュータMCUでは、中央処理装置CPUが実行すべき書換え制御プログラムをマスク・リード・オンリ・メモリMASKROMに保持させておくことができる。前記モード信号MD0乃至MD2によって第1動作モードが指示され、制御回路CONTがこれを認識することにより、中央処理装置CPUは、既にフラッシュメモリFMRYに書き込まれた書き込み制御プログラム、或はマスク・リード・オンリ・メモリMASKROMが保持する書換え制御プログラムにしたがってフラッシュメモリFMRYにデータの書き込みを行っていく。
【0036】
図5には全面フラッシュメモリとされるマイクロコンピュータ(図1参照)のメモリマップが示される。同図においてフラッシュメモリの所定の領域には書換え制御プログラムと、転送制御プログラムが予め書き込まれている。中央処理装置CPUは、第1動作モードが指示されると、転送制御プログラムを実行して書換え制御プログラムをランダム・アクセス・メモリRAMに転送する。転送終了後、中央処理装置CPUの処理は、そのランダム・アクセス・メモリRAM上の書換え制御プログラムの実行に分岐され、これによって、フラッシュメモリFMRYに対する消去並びに書込み(ベリファイを含む)が繰返される。
【0037】
図6にはフラッシュメモリと共にマスクROMを有するマイクロコンピュータ(図2参照)のメモリマップが示される。この場合には図5で説明したような転送制御プログラムは不要とされる。中央処理装置CPUは、第1動作モードが指示されると、マスク・リード・オンリ・メモリMASKROMが保持する書換え制御プログラムを順次実行し、これにより、フラッシュメモリFMRYに対する消去並びに書込みが繰返される。
【0038】
図7には中央処理装置CPUによる消去の一例制御手順が示される。先ず中央処理装置CPUは、前記書換え制御プログラムにしたがって、消去を行うべきアドレス範囲のメモリセルに対してプレライトを行う。これによって消去前のメモリセルの状態は全て書込み状態にそろえられる。次いで、消去対象メモリセルに対して、少しずつ消去を行いながらその都度消去の度合をベリファイし(イレーズ/ベリファイ)、過消去を防止して消去動作を完了する。汎用PROMライタPRWによる消去も同様に行われる。なお、フラッシュメモリの消去シーケンスについては後で詳述する。
【0039】
図8には中央処理装置CPUによる書き込みの一例制御手順が示される。先ず中央処理装置CPUは、フラッシュメモリFMRYの書込みスタートアドレスを設定する。次いで、書換え制御プログラムによって指定された周辺回路例えばシリアル・コミュニケーション・インタフェースSCI若しくはI/Oポートを介して、外部から送られるデータを読み込む。このようにして読み込んだデータをフラッシュメモリFMRYに所定時間書き込み、書込んだデータを読出して正常に書き込まれたかをベリファイをする(ライト/ベリファイ)。以下、上記データの読込み、書込み、及びベリファイを書込み終了アドレスまで繰返していく。汎用PROMライタPRWによる書き込みも同様に行われる。但しこの場合には、書き込むべきデータはPROMライタPRWから所定のポートを介して与えられる。なお、フラッシュメモリの書込みシーケンスについては後で詳述する。
【0040】
〔5〕汎用PROMライタによる書込みとCPU制御の書込みの使い分け
汎用PROMライタによる書込みは、主にマイクロコンピュータMCUのオンボード前すなわちマイクロコンピュータMCUをシステムに実装する前の初期データ、又は初期プログラムの書込みに適用される。これにより、比較的大量の情報を能率的に書込むことができる。
【0041】
CPU制御の書込みは、マイクロコンピュータMCUが実装されたシステム(実装機とも称する)を動作させながらデータのチューニングをする場合、またプログラムのバグ対策、若しくはシステムのバージョンアップに伴うプログラムの変更等、マイクロコンピュータMCUがシステムに実装された状態(オンボード状態)でデータやプログラムの変更が必要になった場合に適用される。これにより、マイクロコンピュータMCUを実装システムから取り外すことなくフラッシュメモリFMRYを書換えることができる。
【0042】
〔6〕リアルタイム書換えへの対応
図9にはフラッシュメモリのリアルタイム書換えへの対応手法の一例が示される。フラッシュメモリFMRYは、その記憶形式故に、一括消去単位としてのメモリブロックの記憶容量を小さくしても消去に要する時間は短縮されず、例えば数10msec〜数秒かかる。これにより、マイクロコンピュータMCUが実装されたシステムを動作させながら、フラッシュメモリFMRYが保持する制御データなどをリアルタイムで書換えてデータのチューニングを行うことは難しい。これに対処するため、前記内蔵RAMをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用する。すなわち、先ず、チューニングされるべきデータを保持する所定の小メモリブロックSMBのデータをランダム・アクセス・メモリRAMの特定アドレスに転送する。次に前記ランダム・アクセス・メモリRAMの特定アドレス領域を所定の小メモリブロックSMBのアドレスにオーバーラップさせる。このようなアドレス配置の変更は、所定の制御ビット若しくはフラグの設定に呼応して、ランダム・アクセス・メモリRAMのデコード論理を切替え可能にしておくことによって実現することができる。そして、制御データなどのチューニングは、所定のメモリブロックSMBのアドレスがオーバーラップされたランダム・アクセス・メモリRAMを用いて行われる。チューニングを完了した後は、ランダム・アクセス・メモリRAMとメモリブロックSMBのアドレスオーバーラップを解除して、ランダム・アクセス・メモリRAMの配置アドレスを元の状態に復元する。最後に、ランダム・アクセス・メモリRAMが保持するチューニングされたデータを用いて、フラッシュメモリのメモリブロックSMBを書換える。これにより、マイクロコンピュータMCUが実装されたシステムを動作させながら、フラッシュメモリが保持する制御データなどをリアルタイムで書換えたとのと同じデータを、結果的にメモリブロックSMBに得ることができる。
【0043】
〔7〕メモリブロックの一部書換えの能率化
図10にはフラッシュメモリのメモリブロックの一部書換えを能率化する手法の一例が示される。プログラムのバグの修正若しくはバージョンアップなどに際して、フラッシュメモリFMRYの所定メモリブロックSMBが保持している情報の一部を書換える場合は、前記RAMよりも記憶容量の小さなメモリブロックSMBの保持情報を内蔵RAMに転送し、転送された情報の一部をそのRAM上で更新して、その更新された情報で当該メモリブロックを書換えるようにする。これにより、メモリブロックSMBの一つを一括消去しても、当該メモリブロックSMBの保持情報はRAMに保存されているため、書換えるべきデータだけを外部から受け取ってそのRAM上で書換を行えば、書換え前にフラッシュメモリFMRYが保持している書換を要しない情報を重ねて外部から転送を受けなくても済み、メモリブロックの一部書換のための情報転送の無駄を省くことができる。
【0044】
〔8〕フラッシュメモリの原理
図11にはフラッシュメモリの原理が示される。同図(A)に例示的に示されたメモリセルは、2層ゲート構造の絶縁ゲート型電界効果トランジスタにより構成されている。同図において、1はP型シリコン基板、2は上記シリコン基板1に形成されたP型拡散層、4はN型拡散層である。5は薄い酸化膜6(例えば厚さ10nm)を介して上記P型シリコン基板1上に形成されたフローティングゲート、7は酸化膜8を介して上記フローティングゲート5上に形成されたコントロールゲート、9はソース、10はドレインである。このメモリセルに記憶される情報は、実質的にしきい値電圧の変化としてトランジスタに保持される。以下、特に述べないかぎり、メモリセルにおいて、情報を記憶するトランジスタ(以下、記憶トランジスタと称する)がNチャンネル型の場合について述べる。
【0045】
メモリセルへの情報の書き込み動作は、例えばコントロールゲート7及びドレイン10に高圧を印加して、アバランシェ注入によりドレイン10側からフローティングゲート5に電子を注入することで実現される。この書き込み動作により記憶トランジスタは、図11の(B)に示されるように、そのコントロールゲート7からみたしきい値電圧が、書き込み動作を行わなかった消去状態の記憶トランジスタに比べて高くなる。
【0046】
一方、消去動作は、例えばソースに高圧を印加して、トンネル現象によりフローティングゲート7からソース9側に電子を引き抜くことによって実現される。図11の(B)に示されるように、消去動作により記憶トランジスタはそのコントロールゲート7からみたしきい値電圧が低くされる。図11の(B)では、書き込み並びに消去状態の何れにおいても記憶トランジスタのしきい値は正の電圧レベルにされる。すなわちワード線からコントロールゲートに与えられるワード線選択レベルに対して、書き込み状態のしきい値電圧は高くされ、消去状態のしきい値電圧は低くされる。双方のしきい値電圧とワード線選択レベルとがそのような関係を持つことによって、選択トランジスタを採用することなく1個のトランジスタでメモリセルを構成することができる。記憶情報を電気的に消去する場合においては、フローティングゲートに蓄積された電子をソース電極に引く抜くことにより、記憶情報の消去が行われるため、比較的長い時間、消去動作を続けると、書き込み動作の際にフローティングゲートに注入した電子の量よりも多くの電子が引く抜かれることになる。そのため、電気的消去を比較的長い時間続けるような過消去を行うと、記憶トランジスタのしきい値電圧は例えば負のレベルになって、ワード線の非選択レベルにおいても選択されるような不都合を生ずる。尚、書込みも消去と同様にトンネル電流を利用して行うこともできる。
【0047】
読み出し動作においては、上記メモリセルに対して弱い書き込み、すなわち、フローティングゲート5に対して不所望なキャリアの注入が行われないように、ドレイン10及びコントロールゲート7に印加される電圧が比較的低い値に制限される。例えば、1V程度の低電圧がドレイン10に印加されるとともに、コントロールゲート7に5V程度の低電圧が印加される。これらの印加電圧によって記憶トランジスタを流れるチャンネル電流の大小を検出することにより、メモリセルに記憶されている情報の“0”、“1”を判定することができる。
【0048】
図12は前記記憶トランジスタを用いたメモリセルアレイの構成原理を示す。同図には代表的に4個の記憶トランジスタ(メモリセル)Q1乃至Q4が示される。X,Y方向にマトリクス配置されたメモリセルにおいて、同じ行に配置された記憶トランジスタQ1,Q2(Q3,Q4)のコントロールゲート(メモリセルの選択ゲート)は、それぞれ対応するワード線WL1(WL2)に接続され、同じ列に配置された記憶トランジスタQ1,Q3(Q2,Q4)のドレイン領域(メモリセルの入出力ノード)は、それぞれ対応するデータ線DL1,DL2に接続されている。上記記憶トランジスタQ1,Q3(Q2,Q4)のソース領域は、ソース線SL1(SL2)に結合される。
【0049】
図13にはメモリセルに対する消去動作並びに書込み動作のための電圧条件の一例が示される。同図においてメモリ素子はメモリセルを意味し、ゲートはメモリセルの選択ゲートとしてのコントロールゲートを意味する。同図において負電圧方式の消去はコントロールゲートに例えば−10Vのような負電圧を印加することによって消去に必要な高電界を形成する。同図に例示される電圧条件から明らかなように、正電圧方式の消去にあっては少なくともソースが共通接続されたメモリセルに対して一括消去を行うことができる。したがって図12の構成において、ソース線SL1,SL2が接続されていれば、4個のメモリセルQ1乃至Q4は一括消去可能にされる。この場合、同一ソース線につながるメモリビットの数を変えることによりメモリブロックのサイズを任意に設定することができる。ソース線分割方式の場合には最小の一括消去単位とされるメモリブロックはデータ線一本分となる。一方、負電圧方式の消去にあっては少なくともコントロールゲートが共通接続されたメモリセルに対して一括消去を行うことができる。
【0050】
〔9〕記憶容量を相違させた複数メモリブロック化
図14には一括消去可能なメモリブロックの記憶容量を相違させたフラッシュメモリの一例回路ブロック図が示される。
【0051】
同図に示されるフラッシュメモリFMRYは、8ビットのデータ入出力端子D0〜D7を有し、各データ入出力端子毎にメモリアレイARY0〜ARY7を備える。メモリアレイARY0〜ARY7は、相対的に記憶容量の大きなメモリブロックLMBと相対的に記憶容量の小さなメモリブロックSMBとに2分割されている。図には代表的にメモリアレイARY0の詳細が示されているが、その他のメモリアレイARY1〜ARY7も同様に構成されている。
【0052】
夫々のメモリアレイARY0〜ARY7には前記図11で説明した2層ゲート構造の絶縁ゲート型電界効果トランジスタによって構成されたメモリセルMCがマトリクス配置されている。同様同図においてWL0〜WLnは全てのメモリアレイARY0〜ARY7に共通のワード線である。同一行に配置されたメモリセルのコントロールゲートは、それぞれ対応するワード線に接続される。夫々のメモリアレイARY0〜ARY7において、同一列に配置されたメモリセルMCのドレイン領域は、それぞれ対応するデータ線DL0〜DL7に接続されている。メモリブロックSMBを構成するメモリセルMCのソース領域はソース線SL1に共通接続され、メモリブロックLMBを構成するメモリセルMCのソース領域はソース線SL2に共通接続されている。
【0053】
前記ソース線SL1,SL2には電圧出力回路VOUT1,VOUT2から消去に利用される高電圧Vppが供給される。電圧出力回路VOUT1,VOUT2の出力動作は、消去ブロック指定レジスタのビットB1,B2の値によって選択される。例えば消去ブロック指定レジスタのビットB1に”1”が設定されることによって各メモリアレイARY0〜ARY7のメモリブロックSMBだけが一括消去可能にされる。消去ブロック指定レジスタのビットB2に”1”が設定された場合は、各メモリアレイARY0〜ARY7のメモリブロックLMBだけが一括消去可能にされる。双方のビットB1,B2に”1”が設定されたときはフラッシュメモリ全体が一括消去可能にされる。
【0054】
前記ワード線WL0〜WLnの選択は、ロウアドレスバッファXABUFF及びロウアドレスラッチXALATを介して取り込まれるロウアドレス信号AXをロウアドレスデコーダXADECが解読することによって行われる。ワードドライバWDRVはロウアドレスデコーダXADECから出力される選択信号に基づいてワード線を駆動する。データ読出し動作においてワードドライバWDRVは電圧選択回路VSELから供給される5Vのような電圧Vccと0Vのような接地電位とを電源として動作され、選択されるべきワード線を電圧Vccによって選択レベルに駆動し、非選択とされるべきワード線を接地電位のような非選択レベルに維持させる。データの書き込み動作においてワードドライバWDRVは、電圧選択回路VSELから供給される12Vのような電圧Vppと0Vのような接地電位とを電源として動作され、選択されるべきワード線を12Vのような書き込み用高電圧レベルに駆動する。データの消去動作においてワードドライバWDRVの出力は0Vのような低い電圧レベルにされる。
【0055】
夫々のメモリアレイARY0〜ARY7において前記データ線DL0〜DL7はカラム選択スイッチYS0〜YS7を介して共通データ線CDに共通接続される。カラム選択スイッチYS0〜YS7のスイッチ制御は、カラムアドレスバッファYABUFF及びカラムアドレスラッチYALATを介して取り込まれるカラムアドレス信号AYをカラムアドレスデコーダYADECが解読することによって行われる。カラムアドレスデコーダYADECの出力選択信号は全てのメモリアレイARY0〜ARY7に共通に供給される。したがって、カラムアドレスデコーダYADECの出力選択信号のうちの何れか一つが選択レベルにされることにより、各メモリアレイARY0〜ARY7において共通データ線CDには1本のデータ線が接続される。
【0056】
メモリセルMCから共通データ線CDに読出されたデータは選択スイッチRSを介してセンスアンプSAMPに与えられ、ここで増幅されて、データ出力バッファDOBUFFから外部に出力される。前記選択スイッチRSは読出し動作に同期して選択レベルにされる。外部から供給される書き込みデータはデータ入力バッファDIBUFFを介してデータ入力ラッチ回路DILATに保持される。データ入力ラッチ回路DILATに保持されたデータが”0”のとき、書き込み回路WRITは選択スイッチWSを介して共通データ線CDに書き込み用の高電圧を供給する。この書き込み用高電圧はカラムアドレス信号AYによって選択されたデータ線を通して、ロウアドレス信号AXでコントロールゲートに高電圧が印加されるメモリセルのドレインに供給され、これによって当該メモリセルが書き込みされる。前記選択スイッチWSは書き込み動作に同期して選択レベルにされる。書き込み消去の各種タイミングや電圧の選択制御は書き込み消去制御回路WECONTが生成する。
【0057】
〔10〕図1に対応されるマイクロコンピュータの詳細
図15には図1のマイクロコンピュータに対応される更に詳細なマイクロコンピュータの実施例ブロック図が示される。同図に示されるマイクロコンピュータMCUは、図1に示される機能ブロックと同一機能ブロックとして、中央処理装置CPU、フラッシュメモリFMRY、シリアル・コミュニケーション・インタフェースSCI、制御回路CONT、及びランダム・アクセス・メモリRAMを含む。図1のタイマに相当するものとして、16ビット・インテグレーテッド・タイマ・パルスユニットIPUと、ウォッチドッグタイマWDTMRを備える。また、図1の入出力回路I/Oに相当するものとして、ポートPORT1乃至PORT12を備える。更にその他の機能ブロックとして、クロック発振器CPG、割り込みコントローラIRCONT、アナログ・ディジタル変換器ADC、及びウェートステートコントローラWSCONTが設けられている。前記中央処理装置CPU、フラッシュメモリFMRY、ランダム・アクセス・メモリRAM、及び16ビット・インテグレーテッド・タイマ・パルスユニットIPUは、アドレスバスABUS、下位データバスLDBUS(例えば8ビット)、及び上位データバスHDBUS(例えば8ビット)に接続される。前記シリアル・コミュニケーション・インタフェースSCI、ウォッチドッグタイマWDTMR、割り込みコントローラIRCONT、アナログ・ディジタル変換器ADC、ウェートステートコントローラWSCONT、及びポートPORT1乃至PORT12は、アドレスバスABUS、及び上位データバスHDBUSに接続される。
【0058】
図15において、VppはフラッシュメモリFMRYの書換え用高電圧である。EXTAL及びXTALはマイクロコンピュータのチップに外付けされる図示しない振動子から前記クロック発振器CPGに与えられる信号である。φはクロック発振器CPGから外部に出力される同期クロック信号である。MD0乃至MD2はフラッシュメモリFMRYの書換えに際して第1動作モード又は第2動作モードを設定するために制御回路CONTに供給されるモード信号であり、図1のモード信号MODEに対応される。RES*はリセット信号、STBY*はスタンバイ信号であり、中央処理装置CPU並びにその他の回路ブロックに供給される。NMIはノン・マスカブル・インタラプト信号であり、マスク不可能な割り込みを前記割り込みコントローラICONTに与える。図示しないその他の割り込み信号はポートPORT8,PORT9を介して割り込みコントローラICONTに与えられる。AS*は外部に出力されるアドレス信号の有効性を示すアドレスストローブ信号、RD*はリードサイクルであることを外部に通知するリード信号、HWR*は上位8ビットのライトサイクルであることを外部に通知するアッパーバイト・ライト信号、LWR*は下位8ビットのライトサイクルであることを外部に通知するロアーバイト・ライト信号であり、それらはマイクロコンピュータMCUの外部に対するアクセス制御信号とされる。
【0059】
外部のPROMライタでフラッシュメモリFMRYを直接書換え制御する第2動作モード以外において、マイクロコンピュータMCUが外部をアクセスするためのデータBD0乃至BD15の入出力には、特に制限されないが、前記ポートPORT1,PORT2が割当てられる。このときのアドレス信号BA0乃至BA19の出力には、特に制限されないが、前記ポートPORT3乃至PORT5が割当てられる。
【0060】
一方、マイクロコンピュータMCUに第2動作モードが設定されたとき、そのフラッシュメモリFMRYを書換え制御するPROMライタとの接続には、特に制限されないが、前記ポートPORT2乃至PORT5及びPORT8が割当てられる。すなわち、書込み並びにベリファイのためのデータED0乃至ED7入出力には前記ポートPORT2が割当てられ、アドレス信号EA0ないしEA16の入力並びにアクセス制御信号CE*(チップイネーブル信号),OE*(アウトプットイネーブル信号),WE*(ライトイネーブル信号)の入力には前記ポートPORT3乃至PORT5及びPORT8が割当てられる。前記チップイネーブル信号CE*はPROMライタからのフラッシュメモリFMRYの動作選択信号であり、アウトプットイネーブル信号OE*はフラッシュメモリFMRYに対する出力動作の指示信号であり、ライトイネーブル信号WE*はフラッシュメモリFMRYに対する書込み動作の指示信号である。尚、アドレス信号EA0ないしEA16のうちの1ビットEA9の入力には前記信号NMIの入力端子が割当てられる。この様にして割当てられたポートの外部端子、並びに高電圧Vppの印加端子などのその他必要な外部端子は、図3で説明した変換ソケットSOCKETを介して汎用PROMライタPRWに接続される。このときの斯る外部端子の割り当ては、マイクロコンピュータMCUを変換ソケットSOCKETを介してPROMライタPRWに接続し易い端子配列になるように考慮することができる。上記第2動作モードにおいてPROMライタPRWとの接続に割当てられる外部端子群には、マイクロコンピュータMCUのその他の動作モードにおいては他の機能が割当てられることになる。
【0061】
図16には図15のマイクロコンピュータMCUを、例えば、樹脂によって封止することによって得られた4方向に外部端子を有するフラットパッケージの上面を示す。図16に示された信号は図15と共通である。信号名の示されていない外部端子(ピン)は、ウェート信号の入力ピン、バスリクエスト信号の入力ピン、バスアクノレッジ信号の出力ピン、シリアル・コミュニケーション・インタフェースSCIなどの周辺回路と外部との信号入出力ピンなどに利用される。
【0062】
図16に示されるパッケージFPにおいて、上記パッケージFPから導出される各端子(ピン)の間隔は、0.5mm以下とされても良い。すなわち、マイクロコンピュータMCUのユーザが上記マイクロコンピュータMCU内のフラッシュメモリFMRYを変換ソケットSOCKETを介してPROMライタPRWに接続し、上記フラッシュメモリFMRYにデータを書き込む場合、パッケージFPの各端子間隔(ピンピッチ)PPが0.5mm以下とされると、上記変換ソケットSOCKETへ、上記パッケージFPを挿入する時に、変換ソケットSOCKETと上記パッケージFPの外部端子との不所望な接触に起因するピン曲りが発生しやすくなる。この様なピン曲りが発生すると、上記変換ソケットSOCKETの各端子と上記パッケージFPの各端子との電気的接続が、ピン曲りの発生している端子に関して、行われなくなる。その結果、PROMライタPRWで上記フラッシュメモリFMRYにデータを書き込めなくなる。
【0063】
この点に関し本発明においては、中央処理装置CPUがフラッシュメモリFMRYにデータを書き込み可能とされているので、ユーザは、上記フラッシュメモリFMRYへのデータ書き込みに外部PROMライタPRWを使用せず、上記マイクロコンピュータMCUのパッケージを実装基板(プリント基板)に実装した後、中央処理装置CPUで上記フラッシュメモリFMRYにデータを書き込むようにすれば、上記マイクロコンピュータMCUが、ピンピッチPPが0.5mm以下のパッケージに封止されても、ユーザはパッケージから導出される外部端子のリード曲りを防止できる。尚、半導体メーカーは、自動ハンドラーを有しているので、0.5mm以下のピンピッチを有するパッケージに上記マイクロコンピュータMCUが封止されても、上記マイクロコンピュータMCUのテストをピン曲りを発生させないで確実に実行できる。
【0064】
〔11〕フラッシュメモリFMRYの書換え用制御回路
図17には図15のマイクロコンピュータMCUに内蔵されるフラッシュメモリFMRYの全体的なブロック図が示される。同図においてARYは前記図11で説明した2層ゲート構造の絶縁ゲート型電界効果トランジスタによって構成されたメモリセルをマトリクス配置したメモリアレイである。このメモリアレイARYは図14で説明した構成と同様に、メモリセルのコントロールゲートはそれぞれ対応するワード線に接続され、メモリセルのドレイン領域はそれぞれ対応するデータ線に接続され、メモリセルのソース領域はメモリブロック毎に共通のソース線に接続されているが、メモリブロックの分割態様は図14とは相違される。例えば、図18に示されるように、相対的にそれぞれの記憶容量が大きな7個の大メモリブロック(大ブロック)LMB0乃至LMB6と、相対的にそれぞれの記憶容量が小さな8個の小メモリブロック(小ブロック)SMB0乃至SMB7とに分割されている。大メモリブロックはプログラム格納領域又は大容量データ格納領域などに利用される。小メモリブロックは小容量データ格納領域などに利用される。
【0065】
図17において、ALATはアドレス信号PAB0乃至PAB15のラッチ回路である。第1動作モードにおいてそのアドレス信号PAB0乃至PAB15は中央処理装置CPUの出力アドレス信号に対応される。第2動作モードではアドレス信号PAB0乃至PAB15はPROMライタPRWの出力アドレス信号EA0乃至EA15に対応される。XADECはアドレスラッチALATを介して取り込まれるロウアドレス信号を解読するロウアドレスデコーダである。WDRVはロウアドレスデコーダXADECから出力される選択信号に基づいてワード線を駆動するワードドライバである。データ読出し動作においてワードドライバWDRVは5Vのような電圧でワード線を駆動し、データの書き込み動作では12Vのような高電圧でワード線を駆動する。データの消去動作においてワードドライバWDRVの全ての出力は0Vのような低い電圧レベルにされる。YADECはアドレスラッチYALATを介して取り込まれるカラムアドレス信号を解読するカラムアドレスデコーダである。YSELはカラムアドレスデコーダYADECの出力選択信号に従ってデータ線を選択するカラムアドレスデコーダである。SAMPはデータ読出し動作においてカラム選択回路YSELで選択されたデータ線からの読出し信号を増幅するセンスアンプである。DOLATはセンスアンプの出力を保持するデータ出力ラッチである。DOBUFFはデータ出力ラッチDOLATが保持するデータを外部に出力するためのデータ出力バッファである。図においてPDB0乃至PDB7は下位8ビット(1バイト)データであり、PDB8乃至PDB15は上位8ビット(1バイト)データである。この例に従えば出力データは最大2バイトとされる。DIBUFFは外部から供給される書き込みデータを取り込むためのデータ入力バッファである。データ入力バッファDIBUFFから取り込まれたデータはデータ入力ラッチ回路DILATに保持される。データ入力ラッチ回路DILATに保持されたデータが”0”のとき、書き込み回路WRITはカラム選択回路YSELで選択されたデータ線に書き込み用高電圧を供給する。この書き込み用高電圧はロウアドレス信号に従ってコントロールゲートに高電圧が印加されるメモリセルのドレインに供給され、これによって当該メモリセルが書き込みされる。ERASECは指定されたメモリブロックのソース線に消去用高電圧を供給してメモリブロックの一括消去を行うための消去回路である。
【0066】
FCONTは、フラッシュメモリFMRYにおけるデータ読出し動作のタイミング制御、及び書き込み消去のための各種タイミングや電圧の選択制御などを行う制御回路である。この制御回路FCONTは、コントロールレジスタCREGを備える。
【0067】
図19にはコントロールレジスタCREGの一例が示される。コントロールレジスタCREGは、それぞれ8ビットのプログラム/イレーズ制御レジスタPEREGと、消去ブロック指定レジスタMBREG1およびMBREG2によって構成される。プログラム/イレーズ制御レジスタPEREGにおいて、Vppは書換え用高電圧印加に応じて”1”にされる高電圧印加フラグである。Eビットは消去動作を指示するビットとされ、EVビットは消去におけるベリファイ動作の指示ビットとされる。Pビットは書込み動作(プログラム動作)の指示ビットとされ、PVビットは書込みにおけるベリファイ動作の指示ビットとされる。消去ブロック指定レジスタMBREG1およびMBREG2は、それぞれ7分割された大ブロックと8分割された小ブロックに含まれる何れのメモリブロックを消去するかを指定するレジスタであり、その第0ビットから第7ビットは各メモリブロックの指定用ビットとされ、例えばビット”1”は対応メモリブロックの選択を意味し、ビット”0”は対応メモリブロックの非選択を意味する。例えば、消去ブロック指定レジスタMBREG2の第7ビットが”1”のときは、小メモリブロックSMB7の消去が指定される。
【0068】
上記コントロールレジスタCREGは外部からリード・ライト可能にされている。制御回路FCONTは、そのコントロールレジスタCREGの設定内容を参照し、それにしたがって消去・書込みなどの制御を行う。外部においては、そのコントロールレジスタCREGの内容を書換えることによって、消去・書込み動作の状態を制御することができる。
【0069】
図17において、制御回路FCONTには、制御信号としてFLM,MS−FLN,MS−MISN,M2RDN,M2WRN,MRDN,MWRN,IOWORDN,及びRSTが供給され、更に、上位1バイトのデータPDB8乃至PDB15と、アドレス信号PAB0乃至PAB15の所定ビットが与えられる。
【0070】
制御信号FLMは、フラッシュメモリFMRYの動作モードを指定する信号であり、その”0”が第1動作モードを指定し、”1”が第2動作モードを指定する。この信号FLMは、例えば前記モード信号MD0乃至MD2に基づいて形成される。
【0071】
制御信号MS−FLNは、フラッシュメモリFMRYの選択信号であり、その”0”が選択を指示し、”1”が非選択を指示する。第1動作モードでは中央処理装置CPUがその制御信号MS−FLNを出力し、第2動作モードにおいてその制御信号MS−FLNは、PROMライタPRWから供給されるチップ・イネーブル信号CE*に対応される。
【0072】
制御信号MS−MISNはコントロールレジスタCREGの選択信号である。このとき、プログラム/イレーズ制御レジスタPEREGと消去ブロック指定レジスタMBREG1およびMBREG2の何れを選択するかは、アドレス信号PAB0乃至PAB15の所定ビットを参照して決定される。第1動作モードでは中央処理装置CPUがその制御信号MS−MISNを出力する。第2動作モードでは、特に制限されないが、PROMライタPRWが出力する最上位アドレスビットEA16がその制御信号MS−MISNとみなされる。
【0073】
M2RDNはメモリリードストローブ信号、M2WRNはメモリライトストローブ信号、MRDNはコントロールレジスタCREGのリード信号、MWRNはコントロールレジスタCREGのライト信号である。第1動作モードでは中央処理装置CPUがそれら制御信号を出力する。第2動作モードでは、特に制限されないが、PROMライタPRWから供給されるライトイネーブル信号WE*が前記信号M2WRN,MWRNとみなされ、PROMライタから供給されるアウトプットイネーブル信号OE*が前記信号M2RDN,MRDNとみなされる。尚、メモリライトストローブ信号M2WRNは、メモリセルに書込むべきデータをデータ入力ラッチ回路DILATに書込むためのストローブ信号とみなされる。メモリセルへの実際の書込みは前記コントロールレジスタCREGのPビットをセットすることによって開始される。
【0074】
IOWORDNはフラッシュメモリFMRYに対する8ビットリードアクセスと16ビットリードアクセスとの切換え信号とされる。第2動作モードにおいては当該制御信号IOWORDNは8ビットリードアクセスを指示する論理値に固定される。
【0075】
RSTはフラッシュメモリFMRYのリセット信号である。この信号RSTによってフラッシュメモリFMRYがリセットされることにより、或は前記プログラム/イレーズ制御レジスタPEREGのVppフラグが”0”にされることにより、前記プログラム/イレーズ制御レジスタPEREGにおけるEV,PV,E,Pの各モード設定ビットがクリアされる。
【0076】
図20にはフラッシュメモリFMRYにおけるメモリリード動作の一例タイミングチャートが示される。同図においてCK1M,CK2Mはノン・オーバーラップ2相のクロック信号であり、動作基準クロック信号とみなされる。tCYCはサイクルタイムであり、RAMに対するアクセスタイムと大差ない。コントロールレジスタCREGに対するリード動作もこれと同様のタイミングで行われる。
【0077】
図21にはフラッシュメモリFMRYにおけるメモリライト動作の一例タイミングチャートが示される。同図に示されるライトストローブ信号M2WRNによって指示されるメモリライト動作では、前述のように、メモリセルに対する実際の書込みは行われず、入力アドレス信号PAB0乃至PAB15がアドレスラッチ回路ALATに保持されるとともに、入力データPB8乃至PB15がデータ入力ラッチDILATに保持されて、そのライトサイクルが終了される。コントロールレジスタCREGに対するライト動作もこれと同様のタイミングで行われるが、この場合にはコントロールレジスタCREGへの実際のデータ書込みが行われる。
【0078】
〔12〕フラッシュメモリFMRYの書換え制御手順の詳細
この項目では、中央処理装置CPU又はPROMライタが前記制御回路FCONTを介してフラッシュメモリの書込み,消去を行う制御手順の詳細な一例について説明する。フラッシュメモリに対する情報の書込みは、基本的に消去状態のメモリセルに対して行われる。マイクロコンピュータがシステムに実装された状態でフラッシュメモリの書換えを行う第1動作モードにおいて、中央処理装置CPUが実行すべき書換え制御プログラムは、消去用プログラムと、書込み用プログラムを含む。第1動作モードの指定に従って、最初に消去の処理ルーチンを実行し、ひき続いて自動的に書込みの処理ルーチンを実行するように書換え制御プログラムを構成することができる。或は消去と書込みを分けて別々に第1動作モードを指定するようにしてもよい。PROMライタによる書換え制御も第1動作モードの場合と同様のオペレーションによって実行される。以下、書込み制御手順と消去制御手順とをそれぞれ説明する。
【0079】
図22には書込み制御手順の詳細な一例が示される。同図に示される手順は、例えば1バイトのデータを書込むための手順であり、第1動作モードにおける中央処理装置CPUの制御と、第2動作モードにおけるPROMライタの制御との双方に共通とされる。例えば制御主体を中央処理装置CPUとして説明する。
【0080】
バイト単位でのデータ書込みの最初のステップでは、中央処理装置CPUはその内蔵カウンタnに1をセットする(ステップS1)。次に、中央処理装置CPUは、図21で説明したメモリライト動作を行って、フラッシュメモリFMRYに書込むべきデータを図17のデータ入力ラッチ回路DILATにセットするとともに、データを書込むべきアドレスをアドレスラッチ回路ALATにセットする(ステップS2)。そして中央処理装置CPUは、コントロールレジスタCREGに対するライトサイクルを発行して、プログラムビットPをセットする(ステップ3)。これにより制御回路FCONTは、前記ステップ2でセットされたデータ及びアドレスに基づいて、そのアドレスで指定されるメモリセルのコントロールゲートとドレインとに高圧を印加して書込みを行う。このフラッシュメモリ側での書込み処理時間として中央処理装置CPUは例えば10μsec待ち(ステップS4)、次いでプログラムビットPをクリアする(ステップS5)。
【0081】
その後、中央処理装置CPUは書込み状態を確認するために、コントロールレジスタCREGに対するライトサイクルを発行して、プログラムベリファイビットPVをセットする(ステップ6)。これにより制御回路FCONTは、前記ステップ2でセットされたアドレスを利用して、そのアドレスで選択されるべきワード線にベリファイ用電圧を印加して、前記書込みを行ったメモリセルのデータを読出す。ここで前記ベリファイ用電圧は、充分な書込みレベルを保証するため、例えば5Vのような電源電圧Vccよりもレベルの高い7Vのような電圧レベルとされる。中央処理装置CPUはそれによって読出されたデータと書込みに利用したデータとの一致を確かめる(ステップS7)。中央処理装置CPUは、ベリファイによって一致を確認すると、プログラムベリファイビットPVをクリアし(ステップS8)、これにより当該1バイトデータの書込みが完了される。
【0082】
一方、中央処理装置CPUは、ステップS7のベリファイによって不一致を確認すると、ステップS9でプログラムベリファイビットPVをクリアした後、前記カウンタnの値が、書込みリトライ上限回数Nに到達しているかの判定を行う(ステップS10)。この結果、書込みリトライ上限回数Nに到達している場合には書込み不良として処理が終了される。書込みリトライ上限回数Nに到達していない場合には、中央処理装置CPUは、カウンタnの値を1だけインクリメントして(ステップS11)、前記ステップS3から処理を繰返していく。
【0083】
図23には消去制御手順の詳細な一例が示される。同図に示される手順は、第1動作モードにおける中央処理装置CPUの制御と、第2動作モードにおけるPROMライタの制御との双方に共通とされる。例えば制御主体を中央処理装置CPUとして説明する。
【0084】
中央処理装置CPUは、消去を行うに当たりその内蔵カウンタnに1をセットする(ステップS21)。次に中央処理装置CPUは、消去対象領域のメモリセルに対してプレライトを行う(ステップS22)。すなわち、消去対象アドレスのメモリセルに対してデータ”0”を書込む。このプレライトの制御手順は前記図22で説明した書込み制御手順を流用することができる。このプレライトの処理は、消去前のフローティングゲート内の電荷量を全ビット均一にして、消去状態を均一化するために行われる。
【0085】
次に、中央処理装置CPUは、コントロールレジスタCREGに対するライトサイクルを発行して、一括消去対象メモリブロックを指定する(ステップS23)。すなわち、消去ブロック指定レジスタMBREG1およびMBREG2に消去対象メモリブロック番号を指定する。消去対象メモリブロックを指定した後、中央処理装置CPUは、コントロールレジスタCREGに対するライトサイクルを発行して、イレーズビットEをセットする(ステップ24)。これにより制御回路FCONTは、前記ステップ23で指定されたメモリブロックのソース線に高圧を印加させて、当該メモリブロックを一括消去する。このフラッシュメモリ側での一括消去の処理時間として中央処理装置CPUは例えば10msec待つ(ステップS25)。この10msecという時間は、1回で消去動作を完結することができる時間に比べて短い時間とされている。そして、次いでイレーズビットEをクリアする(ステップS26)。
【0086】
その後、中央処理装置CPUは消去状態を確認するために、先ず一括消去対象メモリブロックの先頭アドレスをベリファイすべきアドレスとして内部にセットし(ステップS27)、次いで、ベリファイアドレスにダミーライトを行う(ステップS28)。すなわち、ベリファイすべきアドレスに対してメモリライトサイクルを発行する。これにより、ベリファイすべきメモリアドレスがアドレスラッチ回路ALATに保持される。その後中央処理装置CPUは、コントロールレジスタCREGに対するライトサイクルを発行して、イレーズベリファイビットEVをセットする(ステップ29)。これにより制御回路FCONTは、前記ステップS28でセットされたアドレスを利用して、そのアドレスで選択されるべきワード線に消去ベリファイ用電圧を印加して、前記消去されたメモリセルのデータを読出す。ここで前記消去ベリファイ用電圧は、充分な消去レベルを保証するため、例えば5Vのような電源電圧Vccよりもレベルの低い3.5Vのような電圧レベルとされる。中央処理装置CPUはそれによって読出されたデータが消去完結状態のデータに一致するかをベリファイする(ステップS30)。中央処理装置CPUは、ベリファイによって一致を確認すると、イレーズベリファイビットEVをクリアし(ステップS31)、次いで今回のベリファイアドレスが消去したメモリブロックの最終アドレスか否かを判定し(ステップS32)、最終アドレスであれば一連の消去動作を終了する。最終アドレスに至っていないと判定されたときは、ベリファイアドレスを1だけインクリメントして(ステップS33)、再びステップS29からの処理を繰返していく。
【0087】
一方、中央処理装置CPUは、ステップS30のベリファイによって不一致を確認すると、ステップS34でイレーズベリファイビットEVをクリアした後、前記カウンタnの値が、漸次消去上限回数Nに到達しているかの判定を行う(ステップS35)。この結果、漸次消去上限回数Nに到達している場合には消去不良として処理が終了される。漸次消去上限回数Nに到達していない場合には、中央処理装置CPUは、カウンタnの値を1だけインクリメントして(ステップS36)、前記ステップS24から処理を繰返していく。実際には、消去し過ぎによってメモリセルのしきい値電圧が負の値になってしまうような過消去を防止するために、1回毎にベリファイを行いながら10msecというような短時間ずつ徐々に消去がくり返し行われていく。
【0088】
上記実施例によれば以下の作用効果がある。
【0089】
(1)マイクロコンピュータMCUを所要のシステムに実装する前のような段階で最初に当該マイクロコンピュータMCUが内蔵するフラッシュメモリFMRYに情報を書き込むようなときは、第2動作モードを指定することにより、PROMライタPRWのような外部書き込み装置の制御によって能率的に情報の書込みを行うことができる。また、マイクロコンピュータMCUに第1動作モードを指定することにより、当該マイクロコンピュータMCUがシステムに実装された状態でそのフラッシュメモリFMRYの記憶情報を書換えることができる。このとき、一括消去機能により書換え時間の短縮を図ることができる。
【0090】
(2)フラッシュメモリFMRYにおける一括消去可能な単位として相互に記憶容量の相違される複数個のメモリブロック(LMB,SMB)を設けておくことにより、夫々のメモリブロックにはその記憶容量に応じて例えばプログラム、データテーブル、制御データなどを保持させることができる。すなわち、相対的に情報量の大きなデータは相対的に記憶容量の大きなメモリブロックに、相対的に情報量の小さなデータは相対的に記憶容量の小さなメモリブロックに書き込んでおくことができる。換言すれば、記憶すべき情報量に見合う記憶容量のメモリブロックを利用することができる。したがって、プログラム領域にはちょうど良いがデータ領域には消去単位が大きすぎて使いにくかったりする事態を防止することができる。また、フラッシュメモリの保持情報の一部書換えのために所要のメモリブロックを一括消去しても、実質的に書換えを要しない情報群も併せて消去した後で再び書き戻すと言うような無駄を極力防止することができる。
【0091】
(3)複数個のメモリブロックのうち内蔵RAMの記憶容量以下に設定されたメモリブロックを設けておくことにより、内蔵RAMをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用できるようになる。
【0092】
(4)上記(3)において、マイクロコンピュータの実装状態でフラッシュメモリを書換えるとき、書換対象メモリブロックの情報を内蔵RAMに転送し、書換えるべき一部の情報だけを外部からもらってそのRAM上で書換を行ってから、フラッシュメモリの書換を行うことにより、書換え前に内部で保持されている書換を要しない情報を重ねて外部から転送を受けなくても済み、メモリブロックの一部書換のための情報転送の無駄を省くことができる。
【0093】
(5)フラッシュメモリの一括消去時間は小メモリブロックに対してもさほど短くならないから、マイクロコンピュータMCUによる制御動作に同期してリアルタイムにフラッシュメモリそれ自体を書換えることはできないが、内蔵RAMをメモリブロック書換えのための作業領域若しくはデータバッファ領域として利用することにより、リアルタイムに書換えたとのと同じデータを結果的にメモリブロックに得ることができる。
【0094】
(6)一括消去すべきメモリブロックの指定情報を書換え可能に保持するためのレジスタMBREGをフラッシュメモリFMRYに内蔵させることにより、一括消去すべきメモリブロックをマイクロコンピュータMCUの内外(内蔵中央処理装置,外部PROMライタ)から同じ様な手順で容易に指定できる。
【0095】
(7)上記夫々の作用効果によって、マイクロコンピュータMCUに内蔵されたフラッシュメモリFMRYの使い勝手を向上させることができる。
【0096】
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0097】
例えば、マイクロコンピュータに内蔵される周辺回路は上記実施例に限定されず適宜変更することができる。フラッシュメモリのメモリセルトランジスタは上記実施例のスタックドゲート構造のMOSトランジスタに限定されず、書込み動作にもトンネル現象を用いたFLOTOX型のメモリセルトランジスタを用いることも可能である。上記実施例では、フラッシュメモリに対する消去並びに書込みの双方の制御を図22及び図23に示したようなソフトウェア的な手段を介して実現したが、本発明はそれに限定されるものではなく、例えば、比較的時間のかかる一括消去を、フラッシュメモリの内蔵専用ハードウェアによって制御させるようにしてもよい。例えばその専用ハードウェアは、EビットやEVビットのセット及びクリア制御をしたり、消去状態のベリファイを行ったりする制御論理を備えることになる。この一括消去の制御論理をフラッシュメモリに内蔵させる構成は、一括消去に関するソフトウェア的な負担が軽減されるという点においてユーザによる使い勝手を向上させるが、その制御論理は面積を増大させる。また、一括消去の単位はソース線を共通にするメモリブロックのほか、消去においてワード線を共通化できるメモリブロックとすることもできるが、その何れを選択するかは、消去電圧の極性をどうするか、或は、一括消去単位の記憶容量を極力小さくしようとする場合に単一のワード線に接続するメモリセルの数と単一のデータ線に接続されるメモリセルの数との何れの方が少ないかなどの事情を考慮して決定することができる。メモリブロックのサイズについては上記実施例のようなサイズ固定に限定されない。例えば、コントロールレジスタの設定又はモード信号の指示にしたがってそのサイズを可変にすることができる。例えば、ワード線を最小単位として一括消去電圧を印加する場合には、ワード線を消去電圧で駆動するドライバの動作をそのコントロールレジスタの設定又はモード信号の指示にしたがって選択させればよい。更にメモリブロックの分割態様としては、図24に示される様に、全体を複数個の大ブロックLMB0〜7に分割し、更にその各大ブロックの中を複数個の小ブロックSMB0〜SMB7に分けて、大ブロック単位又は小ブロック単位で一括消去できるようにすることも可能である。また、フラッシュメモリのメモリセルトランジスタにおいて、そのソース及びドレインは、印加される電圧によって定まる相対的なものとして把握されるものもある。
【0098】
本発明は、少なくとも単一の半導体チップ上に中央処理装置と電気的な消去・書込みによって書換え可能な不揮発性のフラッシュメモリとを備えた条件のマイクロコンピュータに広く適用することができる。
【図面の簡単な説明】
【0099】
【図1】図1は全面フラッシュメモリを採用したマイクロコンピュータの一実施例ブロック図である。
【図2】図2はフラッシュメモリと共にマスクROMを採用したマイクロコンピュータの一実施例ブロック図である。
【図3】図3は汎用PROMライタによるフラッシュメモリの書換えに着目したブロック図である。
【図4】図4にCPU制御によるフラッシュメモリの書換えに着目したブロック図である。
【図5】図5は全面フラッシュメモリとされるマイクロコンピュータの一例メモリマップである。
【図6】図6はフラッシュメモリと共にマスクROMを有するマイクロコンピュータの一例メモリマップである。
【図7】図7は消去の概略的な一例制御手順説明図である。
【図8】図8は書き込みの概略的な一例制御手順説明図である。
【図9】図9はフラッシュメモリのリアルタイム書換えへの対応手法の一例説明図である。
【図10】図10はフラッシュメモリのメモリブロックの一部書換えを能率化する手法の一例説明図である。
【図11】図11はフラッシュメモリの原理説明図である。
【図12】図12は図11の記憶トランジスタを用いたメモリセルアレイの構成原理説明図である。
【図13】図13はメモリセルに対する消去動作並びに書込み動作のための電圧条件の一例説明図である。
【図14】図14は一括消去可能なメモリブロックの記憶容量を相違させたフラッシュメモリの一例回路ブロック図である。
【図15】図15は図1のマイクロコンピュータに対応される更に詳細なマイクロコンピュータの実施例ブロック図である。
【図16】図16は図15のマイクロコンピュータがパッケージされた状態を示す平面図である。
【図17】図17は図15のマイクロコンピュータに内蔵されるフラッシュメモリの全体的なブロック図である。
【図18】図18はメモリブロックの分割態様の一例説明図である。
【図19】図19はコントロールレジスタの一例説明図である。
【図20】図20はフラッシュメモリにおけるメモリリード動作の一例タイミングチャートである。
【図21】図21はフラッシュメモリにおけるメモリライト動作の一例タイミングチャートである。
【図22】図22は書込み制御手順の詳細な一例フローチャートである。
【図23】図23は消去制御手順の詳細な一例フローチャートである。
【図24】図24はメモリブロック分割態様の別の例を示す説明図である。
【符号の説明】
【0100】
MCU マイクロコンピュータ
CHP 半導体チップ
FMRY フラッシュメモリ
LNB 大メモリブロック
SMB 小メモリブロック
CPU 中央処理装置
RAM ランダム・アクセス・メモリ
CONT 制御回路
MASKROM マスク・リード・オンリ・メモリ
MODE モード信号
Pmode モード信号入力端子
MD0乃至MD2 モード信号
PORTdata ポート
PORTaddr ポート
PORTcont ポート
socket ソケット
PRW 汎用PROMライタ
ABUS アドレスバス
DBUS データバス
5 フローティングゲート
7 コントロールゲート
9 ソース
10 ドレイン
ARY1乃至ARY7 メモリアレイ
MC メモリセル
WL0乃至WLn ワード線
DL0乃至DL7 データ線
SL1,SL2 ソース線
B1,B2 消去ブロック指定レジスタのビット
PORT1乃至PORT12 ポート
ED0乃至ED7 PROMライタとの入出力データ
EA0乃至EA16 PROMライタからの入力アドレス信号
CE* チップイネーブル信号
OE* アウトプットイネーブル信号
WE* ライトイネーブル信号
FCONT 制御回路
CREG コントロールレジスタ
NBREG 消去ブロック指定レジスタ
PEREG プログラム/イレーズ制御レジスタ
E イレーズビット
EV イレーズベリファイビット
P プログラムビット
PE プログラムベリファイビット
ERASEC 消去回路
LMB0乃至LMB6 大メモリブロック
SMB0乃至SMB7 小メモリブロック

【特許請求の範囲】
【請求項1】
CPUと、
I/Oポートと、
フラッシュメモリと、
ランダムアクセスメモリと、を単一の半導体チップに構成されるマイクロコンピュータにおいて、
前記フラッシュメモリは、複数の一括消去可能な記憶領域に分割され、書換え制御プログラムと転送制御プログラムとを格納し、
消去・書込み等の動作状態を設定するためのコントロールレジスタを有し、
前記コントロールレジスタは、消去動作を指示するビット、書込み動作を指示するビット、ベリファイ動作を指示するビット、および消去対象となる記憶領域を指定するビットとを有し、前記CPUによって制御可能とされ、
前記CPUは、前記コントロールレジスタの設定に応じて動作可能とされ、前記転送制御プログラムを実行することにより、前記書換え制御プログラムを前記ランダムアクセスメモリへ転送し、さらに前記ランダムアクセスメモリへ転送された書換え制御プログラムを前記CPUが実行することにより、用意されたデータを前記フラッシュメモリへ書き込むマイクロコンピュータ。
【請求項2】
前記フラッシュメモリに対する書込みは、前記I/Oポートを介してマイクロコンピュータに入力されたデータを用いて行われる請求項1記載のマイクロコンピュータ。
【請求項3】
前記フラッシュメモリの所定の記憶領域に格納された情報の更新は、前記情報を前記ランダムアクセスメモリへ転送し、前記ランダムアクセスメモリ上で情報を更新し、さらに、更新された情報を用いて前記フラッシュメモリに書き込むことで制御される請求項1または2記載のマイクロコンピュータ。
【請求項4】
前記更新された情報は、前記所定の記憶領域に格納される請求項3記載のマイクロコンピュータ。
【請求項5】
前記マイクロコンピュータは、さらに外部から動作モードを指定する信号を入力する端子を有し、
前記端子から入力される信号に応じて、前記フラッシュメモリに対して書き込みを要しない動作モードか、書き込みを行う動作モードであるかを判定することが可能である請求項1乃至4の何れか1項に記載のマイクロコンピュータ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2008−276938(P2008−276938A)
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願番号】特願2008−176658(P2008−176658)
【出願日】平成20年7月7日(2008.7.7)
【分割の表示】特願2007−190517(P2007−190517)の分割
【原出願日】平成4年3月17日(1992.3.17)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【Fターム(参考)】