JP3157800B2 - マイクロコンピュータのメモリ書き換え装置および方法 - Google Patents

マイクロコンピュータのメモリ書き換え装置および方法

Info

Publication number
JP3157800B2
JP3157800B2 JP2108499A JP2108499A JP3157800B2 JP 3157800 B2 JP3157800 B2 JP 3157800B2 JP 2108499 A JP2108499 A JP 2108499A JP 2108499 A JP2108499 A JP 2108499A JP 3157800 B2 JP3157800 B2 JP 3157800B2
Authority
JP
Japan
Prior art keywords
data
eeprom
address
memory
control circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2108499A
Other languages
English (en)
Other versions
JP2000222891A (ja
Inventor
勇一 長田
孝 桑原
Original Assignee
日本電気アイシーマイコンシステム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気アイシーマイコンシステム株式会社 filed Critical 日本電気アイシーマイコンシステム株式会社
Priority to JP2108499A priority Critical patent/JP3157800B2/ja
Publication of JP2000222891A publication Critical patent/JP2000222891A/ja
Application granted granted Critical
Publication of JP3157800B2 publication Critical patent/JP3157800B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラツシュEEP
ROMを内蔵したマイクロコンピュータにおいてフラツ
シュEEPROMの記憶内容を書き換える装置および方
法に関数するものである。
【0002】
【従来の技術】電気的にデータを一括して書き込みまた
は消去できるフラツシュEEPROMを内蔵したマイク
ロコンピュータ(フラッシュマイコンとも呼ばれる)
は、EEPROMに保持されたプログラムデータなどを
必要に応じて書き換えることで種々の機能を柔軟に実現
できることから様々な分野で広く用いられている。とこ
ろで、この種のEEPROMは、一般的に消去、書き込
みの繰り返しによるメモリセルの劣化のため、書き換え
可能回数が制限されている。このような制限を解消ある
いは緩和すべく、製造方法などの点で様々な改善が試み
られているが、いまだ必ずしも十分に要求を満たす水準
には至っていない。
【0003】そこで、フラツシュEEPROMの使用方
法を工夫することで、書き換え可能回数を増大させるこ
とが考えられる。例えば、特開平2−66796号公報
には不揮発性メモリに複数のメモリブロック(メモリバ
ンク)を持たせ、各メモリブロックが使用可能か否かを
判断するという方式が開示されている。この方式を、フ
ラッシュマイコンに適用すると、たとえば図7に示した
ブロック図のような構成となる。このフラッシュマイコ
ン102は、CPU104、フラツシュEEPROM1
06を含み、CPU104がアドレス/データバス10
8を通じて出力したアドレスデータ(単にアドレスとも
いう)はアドレスラッチ110に保持されてEEPRO
M106に供給され、メモリ制御回路112の制御のも
とでEEPROM106に対するデータの書き込みみ、
あるいはEEPROM106からのデータの読み出しが
行われる。また、その際、CPU104が出力したデー
タはライトバッファ114を通じてEEPROM106
に供給され、一方、EEPROM106から読み出され
たデータはリードバッファ116を通じてアドレス/デ
ータバス108に出力される。
【0004】そして、EEPROM106は本例では4
つの第1ないし第4のメモリブロック118、120、
122、124に分割され、各ブロックごとにカウント
領域126が設けられている。このカウント領域126
には対応するメモリブロックにおけるデータの書き込み
回数が記録され、その値によって、同メモリブロックへ
のデータの書き込みが可能か否かが判定される。このよ
うな構成とすることで、データの書き込みをEEPRO
M106全体に分散して行うことができるので、フラツ
シュEEPROM106の寿命の延長が可能となる。
【0005】
【発明が解決しようとする課題】しかし、この方式で
は、CPU104はどのメモリブロックを使用するかに
よって異なるアドレスをEEPROM106に供給する
必要がある。そのためのアドレス制御はプログラムによ
り行うことになり、フラッシュマイコン102に組み込
むプログラムは必ずこのような機能を備えていなければ
ならず、その点で強い制約を受ける。また、このような
メモリ管理機能はメモリブロックの構成などによって変
わるため、メモリ管理機能を持たせたプログラムは汎用
性がなくなり、フラッシュマイコン102が変われば、
プログラムも変更しなければならない。さらに、上記従
来技術をフラッシュマイコン102に適用した場合、上
記カウント領域126は上記従来技術における本来の意
図とは異なる働きをさせることになるので、上記従来技
術をそのまま適用したのでは処理手順は必要以上に複雑
となる。本発明は、このような問題を解決するためにな
されたもので、その目的は、組み込まれるプログラムに
負担をかけず、またプログラムの汎用性を維持したま
ま、メモリデータの書き換え寿命の延長を実現するマイ
クロコンピュータのメモリ書き換え装置および方法を提
供することにある。
【0006】
【課題を解決するための手段】本発明は、上記目的を達
成するため、フラツシュEEPROMと、前記EEPR
OMへのデータの書き込みおよび消去を制御するメモリ
制御回とを内蔵したマイクロコンピュータに設けら
れ、メモリ制御回路の制御のもとで前記EEPROMが
保持するデータを書き換える装置であって、前記メモリ
制御回路が前記EEPROMへのデータの一括書き込み
を行う回数を計数し、計数値を不揮発的に保持するカウ
ンタと、前記EEPROMに供給されるアドレスデータ
を、前記カウンタが保持する前記計数値に応じて前記E
EPROMの異なる記憶領域のアドレスデータに変換し
前記EEPROMに供給するアドレス変換回路とを備
え、前記メモリ制御回路は前記カウンタの前記計数値が
規定値に到達したとき、前記EEPROMの各記憶領域
に記憶されているデータを一時に一括消去し、前記アド
レス変換回路は、前記アドレスデータの上位ビットを前
記カウンタの前記計数値にもとづいて変更することを特
徴とする。
【0007】また、本発明は、フラツシュEEPROM
と、前記EEPROMへのデータの書き込みおよび消去
を制御するメモリ制御回とを内蔵したマイクロコンピ
ュータで、前記EEPROMが保持するデータを書き換
える方法であって、前記メモリ制御回路により前記EE
PROMへのデータの一括書き込みが行われる回数を計
数して計数値をカウンタに不揮発的に保持し、前記EE
PROMに供給されるアドレスデータの上位ビットを、
前記カウンタに保持した前記計数値にもとづき前記EE
PROMの異なる記憶領域のアドレスデータに変換して
前記EEPROMに供給し、前記計数値が規定値に到達
したとき、前記EEPROMの各記憶領域に記憶されて
いるデータを一時に一括消去することを特徴とする。
【0008】本発明では、メモリ制御回路によりEEP
ROMへのデータの一括書き込みが行われる回数を計数
して計数値を不揮発的に保持し、EEPROMに供給さ
れるアドレスデータを、上記保持した計数値に応じEE
PROMの異なる記憶領域のアドレスデータに変換して
EEPROMに供給する。そのため、記憶領域を順番に
切り換えて使用でき、特定の記憶領域に書き換えが集中
することがなく、EEPROMの書き換え寿命の延長を
実現できる。そして、このように記憶領域を切り換えて
も、マイクロコンピュータを構成するCPUを動作させ
るプログラムにはメモリ管理の点でいっさい負担がかか
らない。したがってまた、プログラムにメモリ管理に関
する機能を持たせる必要がなく、プログラムの汎用性が
低下することもない。
【0009】また、本発明では、計数値が規定値に到達
したとき、EEPROMの各記憶領域に記憶されている
データを一時に一括して消去するので、各記憶領域でデ
ータの書き換えを行うごとに消去する場合に比べ、消去
を実行する回数が少なくなり、その点でもEEPROM
のメモリセルに対するストレスが低減して、寿命の延長
に有利である。さらに、フラッシュマイコンでは従来、
一部のデータを書き換える場合でも、他の書き換えの必
要のないデータも含め、全メモリ領域でデータの書き換
えを行っており、その結果、データのロードと、データ
の書き込みに時間がかかっていたが、本発明では、1つ
の記憶領域単位でデータの書き込みを行うことができる
ので、短時間で作業を終了することができる。また、上
述のように各記憶領域のデータを一時に一括して消去す
ることから、消去のために費やす時間も短くなり、この
点でも効率よく作業を行える。
【0010】
【発明の実施の形態】次に本発明の実施の形態例につい
て図面を参照して説明する。図1は本発明によるマイク
ロコンピュータのメモリ書き換え装置の一例を含むフラ
ッシュマイコンを示すブロック図、図2は図1のフラッ
シュマイコンを構成するアドレス制御回路を詳しく示す
ブロック図、図3は図2のアドレス制御回路を構成する
アドレス変換回路を詳しく示す回路図、図4は図1のフ
ラッシュマイコンの動作を示すフローチャートである。
以下では、これらの図面を参照して本発明のマイクロコ
ンピュータのメモリ書き換え装置の一例について説明
し、同時に本発明のマイクロコンピュータのメモリ書き
換え方法の実施の形態例について説明する。
【0011】図1に示したフラッシュマイコン2は、単
一の半導体チップにより構成され、CPU4、フラツシ
ュEEPROM6、メモリ制御回路8、アドレス制御回
路10などを含み、EEPROM6が保持する比較的少
量のデータを長期間にわたって頻繁に変更するような用
途に適した構成となっている。
【0012】CPU4がアドレス/データバス12を通
じて出力したアドレスデータ(単にアドレスともいう)
はアドレスラッチ14に保持されアドレス制御回路10
を通じてEEPROM6に供給され、メモリ制御回路8
の制御のもとでEEPROM6に対するデータの書き込
み、あるいはEEPROM6からのデータの読み出しが
行われる。また、その際、CPU4が出力したデータは
ライトバッファ16を通じてEEPROM6に供給さ
れ、一方、EEPROM6から読み出されたデータはリ
ードバッファ18を通じてアドレス/データバス12に
出力される。
【0013】EEPROM6の記憶領域は、メモリブロ
ック20および第1ないし第4のメモリブロック22、
24、26、28に分割され、第1ないし第4のメモリ
ブロック22、24、26、28においてデータの書き
換えが行われる。アドレス制御回路10は、図2に示し
たように、カウンタ30、アドレス変換回路32、なら
びにアドレスデコーダ34を含んで構成されている。カ
ウンタ30は、メモリ制御回路8がEEPROM6への
データの一括書き込みを行う回数を計数し、フラッシュ
マイコン2の電源がオフの状態でも不揮発的に計数値を
保持する。アドレス変換回路32は、EEPROM6に
供給されるアドレスデータを、カウンタ30が保持する
計数値に応じEEPROM6の第1ないし第4のメモリ
ブロック22、24、26、28をアクセスするアドレ
スデータに変換してEEPROM6に供給する。具体的
には、アドレス変換回路32は、図3に示したように、
複数の論理回路から成る一種の加算回路となっており、
本実施の形態例では、アドレスデータの上位ビットにカ
ウンタ30の計数値を加算する。
【0014】また、カウンタ30は本実施の形態例では
2ビットのカウンタであり、その計数値の最大値は3で
あって、EEPROM6に4回目の書き込みが行われる
とき、計数値は0になる。このときメモリ制御回路8
は、EEPROM6の第1ないし第4のメモリブロック
22、24、26、28に記憶されているデータを一括
消去する。
【0015】アドレスデコーダ34は、従来から行われ
ているように、CPU4から供給されたアドレスを、実
際のEEPROM6でアクセス可能なアドレスに変換す
るためのものである。なお、本発明のメモリ書き換え装
置は、本例では、主にアドレス制御回路10、メモリ制
御回路8、ならびにアドレスラッチ14により構成され
ている。
【0016】次に、このように構成されたフラッシュマ
イコンの動作について説明する。図5は、EEPROM
6においてデータの書き込みに使用されるメモリブロッ
クの変化を示す説明図である。以下では、この図面、お
よび図4のフローチャートをも適宜参照する。ここで
は、第1ないし第4のメモリブロック22、24、2
6、28の大きさは400Hバイト(Hは16進数であ
ることことを示している)であるとし、図5のもとのメ
モリマップAに示したように、第1ないし第4のメモリ
ブロック22、24、26、28はそれぞれアドレスF
000H〜F3FFH、F400H〜F7FFH、F8
00H〜BFFFH、FC00H〜FFFFHの各記憶
領域となっている。なお、メモリブロック20は000
0H〜F000Hの範囲となっている。
【0017】本実施の形態例では、最初、データは第1
のメモリブロック22に書き込まれており、1回目のデ
ータの書き換えを行うときは第2のメモリブロック24
にデータが書き込まれる。以降、2回目、3回目の書き
換えではそれぞれ第3、第4のメモリブロック26、2
8にデータが書き込まれる。
【0018】図4に示したように、カウンタ30の計数
値が初期値である0の状態で、メモリ制御回路8が、C
PU4の制御のもとでEEPROM6に対してデータの
書き換えを行うとき、カウンタ30は計数値に1を加算
し(ステップA1)、計数値は1となる。このときメモ
リ制御回路8はカウンタ30の計数値が0か否かを調べ
(ステップA2)、この場合には0ではないので、メモ
リ制御回路8はCPU4にその旨を通知するとともにデ
ータ書き換えの制御に移る。
【0019】そして、CPU4はまず書き込みアドレス
をアドレスラッチ14に保持させ(ステップA5)、さ
らに書き込むべきデータをライトバッファ16を通じて
EEPROM6に供給する(ステップA6)。アドレス
ラッチ14が保持したアドレスはアドレス制御回路10
で変換された後、EEPROM6に供給され、その状態
でメモリ制御回路8は書き込みをEEPROM6に指示
してデータの書き込みを行わせる(ステップA7)。メ
モリ制御回路8はその後、リードバッファ18を通じて
書き込まれたデータを取得し、書き込みが正常に行われ
たか否かを判定する(ステップA8)。
【0020】この判定結果がノーの場合は、メモリ制御
回路8はステップA7に戻って再書き込みを行い、ステ
ップA8における判定結果がイエスとなったところでス
テップA9に進む。ここで1つのメモリブロックにおけ
るすべてのデータの書き込みを終了したか否かを判定
し、判定結果がノーの場合はステップA5に戻って次の
データの書き込みを行い、ステップA9で判定結果がイ
エスとなるまで、書き込み動作を繰り返す。
【0021】次に、特に本発明に深く関わるアドレス制
御回路10の動作について詳しく説明する。EEPRO
M6の容量は本実施の形態例では64KBであり、アド
レスはビット0からビット15までの16ビット(00
00HからFFFFHまで)となっている。アドレス変
換回路32はこのアドレスのビット10、ビット11
(本発明にかかわる上位ビット)に、カウンタ30の2
ビットの計数値を加算し、結果を変換後のアドレスとす
る。そして、このアドレスはアドレスデコーダ34でデ
コードされた後、EEPROM6に供給される。
【0022】[表1]はカウンタ30の計数値が1の場
合(1回目のデータ書き換えの場合)における変換前と
変換後のアドレスの対応を示している。
【0023】
【表1】 表中の4桁の数字は、左から順にアドレスのビット1
1、10、9、8の値を表している。表に示したよう
に、変換前にこれら4ビットが0000の場合は計数値
1を加算して変換後は0100となる。また、変換前が
0100のときは変換後1000となり、1000は1
100へ、1100は1000へと変換される。
【0024】また、図5においてメモリマップAはアド
レス変換回路32によりアドレス変換が行われない場合
のEEPROM6のメモリマップを示し、第1ないし第
4のメモリブロック22、24、26、28が上述した
ようなアドレスに割り当てられている。これに対して
[表1]に示したような変換が行われると、上記ビット
11からビット8までの4ビットがたとえば0000の
場合、変換後は0100となるため、CPU4が出力す
るF000HからF3FFHの範囲のアドレスは、F4
00HからF7FFHの範囲のアドレスに変換される。
これは第2のメモリブロック24のアドレス範囲である
から、CPU4が第1のメモリブロック22のデータを
書き換えるべくアドレスのビット9〜ビット0(本発明
にかかわる下位側のビット)を変化させて0F000H
からF3FFHの範囲のアドレスを出力すると、データ
は第2のメモリブロック24に書き込まれることにな
る。
【0025】したがって、メモリ制御回路8は第1のメ
モリブロック22の消去を行う必要はなく、また、CP
U4にこのような書き込み動作を行わせるプログラム
は、第2のメモリブロック24にデータを書き込むよう
にアドレスを制御したりする必要はいっさいない。図5
に示したメモリマップBは、この1回目の書き換え時の
等価的なメモリマップを示しており、第2ないし第4の
メモリブロック24、26、28はそれぞれ1メモリブ
ロック分、アドレスの下位側に等価的にシフトしてい
る。
【0026】[表2]はカウンタ30の計数値が2の場
合、すなわち2回目のデータ書き換えの場合における変
換前と変換後のアドレスの対応を示している。
【0027】
【表2】 表中の4桁の数字は、左から順にアドレスのビット1
1、10、9、8の値を表している。表に示したよう
に、変換前これら4ビットが0000の場合は計数値2
を加算して変換後は1000となる。また、変換前が0
100のときは変換後1100となり、1000は00
00へ、1100は0100へと変換される。
【0028】[表2]に示したような変換が行われる
と、上記ビット11からビット8までの4ビットがたと
えば0000の場合、変換後は1000となるため、C
PU4が出力するF000HからF3FFHの範囲のア
ドレスは、F800HからFBFFHの範囲のアドレス
に変換される。これはメモリマップAに示した第3のメ
モリブロック26のアドレス範囲であるから、CPU4
が第1のメモリブロック22のデータを書き換えるべく
F000HからF3FFHの範囲のアドレスを出力する
と、データは第3のメモリブロック26に書き込まれる
ことになる。したがって、メモリ制御回路8は第1や第
2のメモリブロック22、24の消去を行う必要はな
く、また、CPU4にこのような書き込み動作を行わせ
るプログラムは、第3のメモリブロック26にデータを
書き込むようにアドレスを制御したりする必要はいっさ
いない。図5に示したメモリマップCは、この2回目の
書き換え時の等価的なメモリマップを示しており、第
3、第4のメモリブロック26、28はそれぞれさらに
1メモリブロック分、アドレスの下位側に等価的にシフ
トしている。
【0029】[表3]はカウンタ30の計数値が3の場
合、すなわち3回目のデータ書き換えの場合における変
換前と変換後のアドレスの対応を示している。
【0030】
【表3】 表中の4桁の数字は、左から順にアドレスのビット1
1、10、9、8の値を表している。表に示したよう
に、変換前これら4ビットが0000の場合は計数値2
を加算して変換後は1100となる。また、変換前が0
100のときは変換後0000となり、1000は01
00へ、1100は1000へと変換される。
【0031】[表3]に示したような変換が行われる
と、上記ビット11からビット8までの4ビットがたと
えば0000の場合、変換後は1100となるため、C
PU4が出力するF000HからF3FFHの範囲のア
ドレスは、FC00HからFFFFHの範囲のアドレス
に変換される。これはメモリマップAに示した第4のメ
モリブロック28のアドレス範囲であるから、CPU4
が第1のメモリブロック22のデータを書き換えるべく
F000HからF3FFHの範囲のアドレスを出力する
と、データは第4のメモリブロック28に書き込まれる
ことになる。
【0032】したがって、メモリ制御回路8は第1ない
し第3のメモリブロック22、24、26の消去を行う
必要はなく、また、CPU4にこのような書き込み動作
を行わせるプログラムは、第4のメモリブロック28に
データを書き込むようにアドレスを制御したりする必要
はいっさいない。図5に示したメモリマップDは、この
3回目の書き換え時の等価的なメモリマップを示してお
り、第4のメモリブロック28はさらに1メモリブロッ
ク分、アドレスの下位側に等価的にシフトしている。
【0033】[表4]はカウンタ30の計数値が0の場
合、すなわち4回目のデータ書き換えの場合における変
換前と変換後のアドレスの対応を示している。
【0034】
【表4】 この場合には計数値が0であるから変換前と変換後とで
アドレスは変化しない。したがって、この場合のメモリ
マップはもとのメモリマップAとなり、CPU4が出力
したアドレスはそのままアドレス変換回路32から出力
されることになる。
【0035】この場合には、図4のフローチャートのス
テップA2において判定結果がイエスとなるため、メモ
リ制御回路8は第1ないし第4のメモリブロック22、
24、26、28全体を一括して消去し(ステップA
3)、正しく消去されたか否かを判定し(ステップA
4)、結果が否なら再度消去を行い(ステップA3)、
結果が正なら、データの書き込みを行うべくステップA
5に進む。そして、CPU4が第1のメモリブロック2
2のデータを書き換えるために、F000HからF3F
FHの範囲のアドレスを出力すると、対応する第1のメ
モリブロック22にデータが書き込まれる。
【0036】このように本実施の形態例では、書き換え
が何回目であるかに応じてメモリブロック20が自動的
に切り換えられるので、CPU4を動作させるプログラ
ムにはメモリ管理の点でいっさい負担がかからない。し
たがってまた、プログラムにメモリ管理に関する機能を
持たせる必要がなく、プログラムの汎用性が低下するこ
ともない。そして、4つのメモリブロック20が順番に
切り換えて使用されるので、特定の記憶領域に書き換え
が集中することがなく、EEPROM6の書き換え寿命
の延長を実現できる。さらに、本実施の形態例では、4
つメモリブロック20をすべて使用した場合にのみデー
タの消去を行うので、消去の回数が少なくなり、その点
でもEEPROM6のメモリセルに対するストレスが低
減し、寿命の延長に有利である。また、フラッシュマイ
コンでは従来、一部のデータを書き換える場合でも、他
の書き換えの必要のないデータも含め、全メモリ領域で
データの書き換えを行っており、その結果、データのロ
ードと、データの書き込みに時間がかかっていたが、本
実施の形態例では、1つのメモリブロック単位でデータ
の書き込みを行うので、短時間で作業を終了することが
できる。そして、本実施の形態例では4回のデータの書
き換えごとに1回の消去動作を行うので、消去のために
費やす時間も短くなり、この点でも効率よく作業を行え
る。
【0037】なお、本実施の形態例では、上述したよう
に1回データの書き換えを行うごとに、メモリブロック
が等価的にアドレスの下位側にシフトするようにした
が、複数のメモリブロックを複数のメモリバンクとして
用意し、それらを順番に切り換えてデータを書き込む構
成とすることも可能である。また、本実施の形態例では
4つのメモリブロックを用いたが、メモリブロックの数
は2つ以上であれば、任意の数であってよく、同様の効
果を得ることができる。
【0038】次に、第2の実施の形態例について説明す
る。第2の実施の形態例は上記図1に示したフラッシュ
マイコンと同じ構成であるが、アドレス制御回路10を
構成するカウンタ30(図2)が、メモリ制御回路8の
制御のもとで、1回のデータ書き換えごとに2づつ値が
増加する点で異なっている。したがって、[表5]に示
したように、1回目の書き換えでは、カウンタ30の計
数値として2がビット11、10に加算され、変換前の
ビット11、10、9、8がたとえば0000なら変換
後は1000となり、変換前の0100、1000、1
100はそれぞれ1100、0000、0100とな
る。
【0039】
【表5】 その結果、上記図5に相当する図6の説明図において、
書き換えが一度も行われていない場合のメモリマップE
で、アドレスのF800HからFFFFHに割り当てら
れていた第3および第4のメモリブロック26、28
は、メモリマップEに示したように、等価的に2つのメ
モリブロック分だけアドレスの下位側にシフトする。し
たがって、CPU4が第1および第2のメモリブロック
22、24にデータを書き込むべく出力したアドレス
は、第3および第4のメモリブロック26、28をアク
セスするアドレスに変換され、EEPROM6に供給さ
れ、第3および第4のメモリブロック26、28にデー
タが書き込まれる。
【0040】また、2回目のデータ書き換えでは、カウ
ンタの計数値は0に戻るため、CPUが第1および第2
のメモリブロック22、24にデータを書き込むべく出
力したアドレスは、そのまま第1および第2のメモリブ
ロック22、24をアクセスするアドレスとしてEEP
ROM6に供給される([表6]参照)。
【0041】
【表6】 ただし、この場合には、カウンタの計数値が0であるこ
とから、上記実施の形態例の場合と同様、EEPROM
6においてデータの消去が行われる(図4のステップA
3)。その結果、第2の実施の形態例では、上記実施の
形態例と同様の効果が得られることに加えて、カウンタ
の計数値が2ずつ大きくなるため、上記実施の形態例の
場合と異なり、2つのメモリブロックを1回の書き換え
で用いることができ、書き換えデータ量がより多い場合
にも対応可能となる。
【0042】
【発明の効果】以上説明したように本発明では、メモリ
制御回路によりEEPROMへのデータの一括書き込み
が行われる回数を計数して計数値を不揮発的に保持し、
EEPROMに供給されるアドレスデータを、上記保持
した計数値に応じEEPROMの異なる記憶領域のアド
レスデータに変換してEEPROMに供給する。そのた
め、記憶領域を順番に切り換えて使用でき、特定の記憶
領域に書き換えが集中することがなく、EEPROMの
書き換え寿命の延長を実現できる。そして、このように
記憶領域を切り換えても、マイクロコンピュータを構成
するCPUを動作させるプログラムにはメモリ管理の点
でいっさい負担がかからない。したがってまた、プログ
ラムにメモリ管理に関する機能を持たせる必要がなく、
プログラムの汎用性が低下することもない。
【0043】また、本発明では、計数値が規定値に到達
したとき、EEPROMの各記憶領域に記憶されている
データを一時に一括して消去するので、各記憶領域でデ
ータの書き換えを行うごとに消去する場合に比べ、消去
を実行する回数が少なくなり、その点でもEEPROM
のメモリセルに対するストレスが低減して、寿命の延長
に有利である。さらに、フラッシュマイコンでは従来、
一部のデータを書き換える場合でも、他の書き換えの必
要のないデータも含め、全メモリ領域でデータの書き換
えを行っており、その結果、データのロードと、データ
の書き込みに時間がかかっていたが、本発明では、1つ
の記憶領域単位でデータの書き込みを行うことができる
ので、短時間で作業を終了することができる。また、上
述のように各記憶領域のデータを一時に一括して消去す
ることから、消去のために費やす時間も短くなり、この
点でも効率よく作業を行える。
【図面の簡単な説明】
【図1】本発明によるマイクロコンピュータのメモリ書
き換え装置の一例を含むフラッシュマイコンを示すブロ
ック図である。
【図2】図1のフラッシュマイコンを構成するアドレス
制御回路を詳しく示すブロック図である。
【図3】図2のアドレス制御回路を構成するアドレス変
換回路を詳しく示す回路図である。
【図4】図1のフラッシュマイコンの動作を示すフロー
チャートである。
【図5】EEPROMにおいてデータの書き込みに使用
されるメモリブロックの変化を示す説明図である。
【図6】第2の実施の形態例で、EEPROMにおいて
データの書き込みに使用されるメモリブロックの変化を
示す説明図である。
【図7】従来技術を適用して構成したフラッシュマイコ
ンの一例を示すブロック図である。
【符号の説明】
2……フラッシュマイコン、4……CPU、6……EE
PROM、8……メモリ制御回路、10……アドレス制
御回路、12……アドレス/データバス、14……アド
レスラッチ、16……ライトバッファ、18……リード
バッファ、20……メモリブロック、22……第1のメ
モリブロック、24……第2のメモリブロック、26…
…第3のメモリブロック、28……第4のメモリブロッ
ク、30……カウンタ、32……アドレス変換回路、3
4……アドレスデコーダ、102……フラッシュマイコ
ン、104……CPU、106……EEPROM、10
8……アドレス/データバス、110……アドレスラッ
チ、112……メモリ制御回路、114……ライトバッ
ファ、116……リードバッファ、118……第1のメ
モリブロック、120……第2のメモリブロック、12
2……第3のメモリブロック、124……第4のメモリ
ブロック、126……カウント領域。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平8−96589(JP,A) 特開 平6−150677(JP,A) 実開 平3−10398(JP,U) (58)調査した分野(Int.Cl.7,DB名) G11C 16/00 - 16/34 G11C 11/34 G06F 12/16

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 フラツシュEEPROMと、前記EEP
    ROMへのデータの書き込みおよび消去を制御するメモ
    リ制御回とを内蔵したマイクロコンピュータに設けら
    れ、メモリ制御回路の制御のもとで前記EEPROMが
    保持するデータを書き換える装置であって、 前記メモリ制御回路が前記EEPROMへのデータの一
    括書き込みを行う回数を計数し、計数値を不揮発的に保
    持するカウンタと、 前記EEPROMに供給されるアドレスデータを、前記
    カウンタが保持する前記計数値に応じて前記EEPRO
    Mの異なる記憶領域のアドレスデータに変換し前記EE
    PROMに供給するアドレス変換回路とを備え、 前記メモリ制御回路は前記カウンタの前記計数値が規定
    値に到達したとき、前記EEPROMの各記憶領域に記
    憶されているデータを一時に一括消去し、 前記アドレス変換回路は、前記アドレスデータの上位ビ
    ットを前記カウンタの前記計数値にもとづいて変更する
    ことを特徴とするマイクロコンピュータのメモリ書き換
    え装置。
  2. 【請求項2】 前記アドレス変換回路は、前記アドレス
    データの上位ビットに前記カウンタの前記計数値を加算
    することを特徴とする請求項1記載のマイクロコンピュ
    ータのメモリ書き換え装置。
  3. 【請求項3】 前記アドレスデータの前記上位ビットよ
    り下位側のビットが表すアドレス範囲において、前記メ
    モリ制御回路は前記EEPROMへのデータの一括書き
    込みを行うことを特徴とする請求項1記載のマイクロコ
    ンピュータのメモリ書き換え装置。
  4. 【請求項4】 前記マイクロコンピュータは単一の半導
    体チップにより構成されていることを特徴とする請求項
    1記載のマイクロコンピュータのメモリ書き換え装置。
  5. 【請求項5】 フラツシュEEPROMと、前記EEP
    ROMへのデータの書き込みおよび消去を制御するメモ
    リ制御回路とを内蔵したマイクロコンピュータで、前記
    EEPROMが保持するデータを書き換える方法であっ
    て、 前記メモリ制御回路により前記EEPROMへのデータ
    の一括書き込みが行わ れる回数を計数して計数値をカウ
    ンタに不揮発的に保持し、 前記EEPROMに供給されるアドレスデータの上位ビ
    ットを、前記カウンタに保持した前記計数値にもとづき
    前記EEPROMの異なる記憶領域のアドレスデータに
    変換して前記EEPROMに供給し、 前記計数値が規定値に到達したとき、前記EEPROM
    の各記憶領域に記憶されているデータを一時に一括消去
    することを特徴とするマイクロコンピュータのメモリ書
    き換え方法。
JP2108499A 1999-01-29 1999-01-29 マイクロコンピュータのメモリ書き換え装置および方法 Expired - Fee Related JP3157800B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2108499A JP3157800B2 (ja) 1999-01-29 1999-01-29 マイクロコンピュータのメモリ書き換え装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2108499A JP3157800B2 (ja) 1999-01-29 1999-01-29 マイクロコンピュータのメモリ書き換え装置および方法

Publications (2)

Publication Number Publication Date
JP2000222891A JP2000222891A (ja) 2000-08-11
JP3157800B2 true JP3157800B2 (ja) 2001-04-16

Family

ID=12045025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2108499A Expired - Fee Related JP3157800B2 (ja) 1999-01-29 1999-01-29 マイクロコンピュータのメモリ書き換え装置および方法

Country Status (1)

Country Link
JP (1) JP3157800B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005285191A (ja) * 2004-03-29 2005-10-13 Nec Electronics Corp 不揮発性半導体記憶装置及びその駆動方法

Also Published As

Publication number Publication date
JP2000222891A (ja) 2000-08-11

Similar Documents

Publication Publication Date Title
US11880602B2 (en) Data writing method and storage device
US6154808A (en) Method and apparatus for controlling data erase operations of a non-volatile memory device
US7890732B2 (en) Memory card and semiconductor device
JP4406339B2 (ja) コントローラ、メモリカード及びその制御方法
US6401166B2 (en) Data processing system, block erasing type memory device and memory storing program for controlling memory device
US8327068B2 (en) Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
US7814264B2 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
JP3251968B2 (ja) 半導体記憶装置
US20070150649A1 (en) Nonvolatile memory and method of address management
EP1898312A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
JPH07114497A (ja) 半導体集積回路装置
JP3119214B2 (ja) 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法
JP2768618B2 (ja) 半導体ディスク装置
JP2001243110A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリへのアクセス方法
KR100758300B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
JPH09282862A (ja) メモリカード
US6510083B1 (en) Electrically erasable and programmable memory that allows data update without prior erasure of the memory
US5229972A (en) Nonvolatile semiconductor memory system
JP3157800B2 (ja) マイクロコンピュータのメモリ書き換え装置および方法
JPH07153284A (ja) 不揮発性半導体記憶装置及びその制御方法
JP4433792B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
JPS58208994A (ja) 不揮発性半導体記憶装置
KR100811559B1 (ko) 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치
JP3166659B2 (ja) 記憶装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees