JP2001092713A - データ書き込み装置とその書き込み方法 - Google Patents

データ書き込み装置とその書き込み方法

Info

Publication number
JP2001092713A
JP2001092713A JP26675799A JP26675799A JP2001092713A JP 2001092713 A JP2001092713 A JP 2001092713A JP 26675799 A JP26675799 A JP 26675799A JP 26675799 A JP26675799 A JP 26675799A JP 2001092713 A JP2001092713 A JP 2001092713A
Authority
JP
Japan
Prior art keywords
data
block
written
address
block number
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.)
Pending
Application number
JP26675799A
Other languages
English (en)
Inventor
Shoichiro Miyashita
正一郎 宮下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric Inc
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 Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Priority to JP26675799A priority Critical patent/JP2001092713A/ja
Publication of JP2001092713A publication Critical patent/JP2001092713A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 携帯端末など、制御プログラムを書き込んで
いる不揮発性メモリをの更新を効率よく行う。 【解決手段】 新しいプログラムとすでに不揮発性メモ
リに書き込まれているプログラムのデータをアドレスご
とに比較し、異なったデータのあるアドレスが含まれて
いるブロックのみを抽出し、そのブロックのデータのみ
を書き換えることで、大幅に書き込み時間を減少させ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、書き換え可能な不
揮発性メモリのデータを更新するためのデータ書き込み
装置とそのデータ書き換え方法に関するものである。
【0002】
【従来の技術】携帯電話端末やポケットベル端末、携帯
情報端末などには、不揮発性メモリに制御プログラムや
データが書き込まれており、プログラムやデータが新し
くなると、新しいプログラムやデータをその不揮発性メ
モリに再書き込みしていた。この不揮発性メモリは、通
常ブロック単位で書き込みが可能で、その書き込み時に
は予め当該ブロックを消去しておく必要がある。このた
め、新しいプログラムをメモリにダウンロードし書き込
むためには以下の手順で行なっている。すなわち、
(1)コンパイルして作成したファイルを書き込みのた
めのダウンロード用のフォーマットに変換し、(2)記
憶されていた元のプログラムを全て消去し、(3)ダウ
ンロードプログラムを不揮発性メモリに書き込む。
【0003】具体例を図で説明する。図4は、図5に示
すダウンロードプログラムP1がすでに書き込まれてい
る不揮発性メモリの内容例を示す。不揮発性メモリのア
ドレスは10アドレス毎のブロックに分割されていて、
アドレス「0000」から「0009」まではブロック
番号「1」に、アドレス「0010」から「0019」
までがブロック番号「2」に、アドレス「0020」か
ら「0029」までがブロック番号「3」にそれぞれ対
応している。書き込まれているデータ、すなわち図5の
ダウンロードプログラムP1のデータは、わかりやすい
ようにアドレス「0000」には「00」が、アドレス
「0001」には「01」がというように、アドレス番
号の下2桁とデータが同じとした。
【0004】図4に示す不揮発性メモリに、新たに図6
に示すダウンロードプログラムP2を書き込むものとす
る。この図6のダウンロードプログラムP2と、すでに
書き込まれているダウンロードプログラムP1とは、最
後のデータ3個、すなわち、アドレス「0027」、
「0028」、「0029」のデータのみが異なってい
る。従来は、このダウンロードプログラムP2によりダ
ウンロードプログラムP1を更新するときは、ダウンロ
ードプログラムP2のデータを書き込むアドレス「00
00」から「0029」に対応するブロック番号
「1」、「2」、「3」のメモリ内容を全て消去する。
次に、ブロック番号「1」から順次ダウンロードプログ
ラムP2のデータをブロック単位で書き込み、最終的に
図7に示す内容を持つ不揮発性メモリを得ていた。
【0005】
【発明が解決しようとする課題】以上に示すように、不
揮発性メモリのデータを書き換えるには、まず書き換え
るアドレスにすでに存在しているデータを消去し、それ
から書き込みを行なわねばならないため、書き込むべき
ダウンロードプログラムのサイズが大きいと、消去と再
書き込みに大きな時間が必要であった。
【0006】本発明の目的は、変更があるブロックのみ
を書き換えることで、更新のための書き込み時間を大幅
に減少できるようにしたデータ書き込み装置とその書き
込み方法を提供することにある。
【0007】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明は、複数のアドレスを含むブロックの単位
でデータを消去した後そのブロックへ書き込みが可能な
不揮発性メモリのデータを更新するためのデータ書き込
み装置であって、新たに書き込むデータとすでに書き込
まれているデータとをアドレスごとに比較する比較手段
と、同一のブロック内に少なくとも1つの異なったデー
タが前記比較手段により検出されたときに当該ブロック
のブロック番号を記憶する更新ブロック番号記憶手段
と、この手段に記憶されたブロックに対してだけそのブ
ロックのデータを消去し当該ブロック対応の新しいデー
タを書き込む書き込み手段と、を備えたことを特徴とす
るデータ書き込み装置を提供する。
【0008】また、本発明は、複数のアドレスを含むブ
ロックの単位でデータを消去した後そのブロックへ書き
込みが可能な不揮発性メモリのデータを更新するための
データ書き込み方法であって、新たに書き込むデータと
すでに書き込まれているデータとをアドレスごとに比較
し、同一のブロック内に少なくとも1つの異なったデー
タがあればそのブロック番号を記憶し、記憶したブロッ
クに対してだけデータの消去と書き込みを行うことを特
徴とするデータ書き込み方法を提供する。
【0009】
【発明の実施の形態】以下、本発明の実施の形態を詳細
に説明する。図1は、本発明のデータ書き込み装置の構
成例を示すブロック図で、CPU10は、RAM11,
ROM12と外部とのインタフェース15とに接続され
ている。RAM11は、新たに書き込みを行なうダウン
ロードプログラムのデータを記憶しておくメモリエリア
112と、不揮発性メモリにすでに書き込まれているデ
ータを記憶しておくメモリエリア111と、制御用メモ
リエリア113とを持っている。制御用メモリエリア1
13には、アドレスカウンタAC、ブロック番号カウン
タBC、及び更新ブロック番号配列BN<>を格納する
エリア114、115、及び116が設けられている。
ROM12には、CPU10が実行するプログラムなど
が格納されており、以下で述べる更新用プログラム12
1も含まれている。
【0010】この装置により不揮発性メモリの書き込み
を行なうときは、まず書き込みを行なう不揮発性メモリ
にすでに書き込まれているデータを、入出力インタフェ
ース15を通して受信し、メモリエリア111に書き込
んでおく。もちろんこの書き込みには不揮発性メモリの
ブロック構成も書き込まれ、アドレスがどのブロック番
号に含まれるかが識別できている。またメモリエリア1
12には新しく書き込むことになるダウンロードプログ
ラムのデータが入出力インタフェース15を通して書き
込まれているものとする。メモリエリア112において
も、書き込む予定の不揮発性メモリのブロック構成、す
なわちブロック番号とそのブロック番号に含まれるアド
レスが識別できるように、ダウンロードプログラムのデ
ータとともに記憶されているものとする。すなわち、書
き込みを行なう前の不揮発性メモリの内容がメモリエリ
ア111に構成され、書き込みを行なったあとに得られ
る不揮発性メモリの内容がメモリエリア112に構成さ
れている。先の例では、RAM11のメモリエリア11
1には図4に示す不揮発性メモリの内容と同じものが構
成され、メモリエリア112には図7に示す書き込みが
終了したときの不揮発性メモリの内容と同じデータが構
成されている。
【0011】図2は、本発明の特徴とする更新用プログ
ラム121のフローチャートで、CPU10により実行
される。この処理では、まず制御用メモリエリア113
のアドレスカウンタACをクリア、すなわち0とし(ST
EP21)、ブロック番号カウンタBCを1にセットする
(STEP22)。次にブロック番号カウンタBCの値を見
て、メモリエリア112に書き込まれているダウンロー
ドプログラムの最終ブロック番号より大きいかを見る
(STEP23)。この例ではメモリエリア112の内容は
図7に示すものと同じであるので、最終ブロック番号は
「3」である。最初は、当然最終ブロック番号より小さ
いので(STEP23でNO)、次に変更するデータ、すなわ
ち新しいダウンロードプログラムがあるメモリエリア1
12から、アドレスカウンタACが示しているアドレス
のデータを読む(STEP24)。最初はアドレスカウンタ
ACの値は「0000」であるので、データは「00」
である。次にこのデータ値がすでに不揮発性メモリに書
き込まれているデータと同じであるかを比較する(STEP
25)。すなわち、メモリエリア111に書き込まれて
いる不揮発性メモリのデータからアドレスカウンタAC
が示しているアドレスのデータを読み出し比較する。本
例では、アドレス「0000」のデータはメモリエリア
111でも同じ「00」である(STEP25でYES)。そ
こで、アドレスカウンタACの値を一つ増やし(STEP2
6)、そのアドレスカウンタACの値が次のブロックの
先頭アドレスになっているかをチェックする。そのため
に、まず現在のブロック番号カウンタBCが示している
ブロックの次のブロックの先頭アドレスを読み出し(ST
EP27)、アドレスカウンタACの値と比較する(STEP
28)。この、次のブロックの先頭アドレスの読み出し
(STEP27)は、メモリエリア112の書き込みを行な
うデータ上で行なう。この例では、メモリエリア112
の内容は図7に示すものであるので、現在のブロック番
号カウンタBCの値が「1」であれば、次のブロックの
番号は「2」で、その先頭アドレスは「0010」であ
る。アドレスカウンタACの値がこのようにして読み出
した次のブロックの先頭アドレスと一致していなければ
(STEP28でNO)、同じブロック内のアドレスであるの
で、ブロック番号カウンタBCの値はそのままにして、
STEP24に戻る。アドレスカウンタACの値が次のブロ
ックの先頭アドレスと一致すると(STEP28でYES)、
ブロック番号カウンタBCの値を一つ増やし(STEP3
2)、そのブロックカウンタBCの値がメモリエリア1
12の最終ブロック番号を越えているかをチェックする
ステップ(STEP23)に戻る。ここで超えていれば処理
を終了するが、超えていなければSTEP24以下を続け
る。
【0012】以上の動作で、アドレスカウンタACとブ
ロック番号カウンタBCの値を増やしながら、メモリエ
リア112とメモリエリア111の、アドレスカウンタ
ACが示すアドレスのデータを比較していく。この過程
で、メモリエリア112の新しく書き込むダウンロード
プログラムのデータがメモリエリア111の不揮発性メ
モリにすでに書き込まれているデータと異なれば(STEP
25でNO)、そのブロック番号のデータは、不揮発性メ
モリの書き換えを必要とすると判断し、そのときのブロ
ック番号カウンタBCの値を更新ブロック番号配列BN
<>に記憶する(STEP29)。書き込みはブロック単位
で行なう必要があるので、当該ブロック内の以後のアド
レスのデータを比較する必要がない。そこで、次のブロ
ックの先頭アドレスを求め(STEP30)、その値をアド
レスカウンタACにセット(STEP31)し、ブロック番
号カウンタBCの値を一つ増やし(STEP32)、STEP2
3にもどる。
【0013】以上のような処理を、ブロック番号カウン
タBCの値が最終ブロック番号になるまで実行すると、
更新前と更新後のプログラムにおいて少なくとも1つの
異なるデータを持つブロックの番号が更新ブロック番号
配列BN<>にリストアップされる。従って、このリス
トアップされたブロック番号に対してだけデータ消去と
データ書き込みを行なうことで、すべてのブロック番号
の書き込みを行なうのに比較し大幅に時間が短縮でき
る。図4〜図7の例では、すでに書き込まれている不揮
発性メモリのダウンロードプログラムP1と新しく書き
込まれるダウンロードプログラムP2との違っているデ
ータが存在するブロック番号は「3」だけであるので、
更新ブロック番号配列BN<>には「3」が書き込ま
れ、このブロックだけ消去、書き込みを行えばよい。
【0014】次に、この更新ブロック番号配列BN<>
に格納されている番号のブロックに対する書き込み動作
について詳しく説明する。図1の入出力インタフェース
15に、不揮発性メモリをもつ機器の書き込み用端子を
接続する。CPU10は、制御用メモリエリア113の
更新ブロック番号配列BN<>に記憶されているブロッ
ク番号を読み出し、不揮発性メモリのそのブロックに含
まれるアドレスのデータのみを消去する。上記の例で
は、ブロック番号が「3」のブロックを消去する。消去
が終わると、CPU10は、更新ブロック番号配列BN
<>に記憶されているブロック番号に含まれるアドレス
のデータをメモリエリア112から読み出し、不揮発性
メモリに書き込む。上記例では、メモリエリア112の
ブロック番号が「3」の先頭アドレスである「002
0」から「0029」までのデータを読み出し、これを
不揮発性メモリの該当アドレスへ書き込む。
【0015】なお、以上の制御では、不揮発性メモリの
データを更新する必要のあるブロック番号を抽出し、更
新ブロック番号配列BN<>に記憶する方法で説明した
が、更新する必要のあるブロック番号を、メモリエリア
112の該当するブロック番号やブロック番号の先頭ア
ドレスにフラグを設けて、そのフラグをONさせるなど
の方法で記憶してもよい。また、メモリエリア111や
112に記憶するデータの入出力を行なう入出力インタ
フェース15で、不揮発性メモリへの書き込み制御を行
なうものとしたが、不揮発性メモリとの接続は別の専用
入出力インタフェース部で行なってもよい。
【0016】実際の不揮発性メモリの書き換えは、一つ
の機器の不揮発性メモリにたいして行なうのでなく、同
じプログラムを持つ多数の機器に対して行なうのが通常
である。その場合の不揮発性メモリの書き換えの実際の
作業フローを図3に示す。まず、携帯電話など不揮発性
メモリにプログラムを格納している機器の新しいプログ
ラムを作成し(STEP41)、つぎにそのプログラムをコン
パイルし、不揮発性メモリへダウンロードするプログラ
ムを作成する(STEP42)。つぎに、このダウンロードプ
ログラムのデータとダウンロードする不揮発性メモリに
すでに記憶されているプログラムデータを比較して、実
際に書き換えを行なうブロック番号を抽出する(STEP4
3)。この処理は、本発明の不揮発性メモリへのデータ
書き換え装置を用い、図2のフローチャートを用いて行
なう。そして、不揮発性メモリへのデータ書き換え装置
に、書き込みを行なう不揮発性メモリをもつ機器を接続
し、接続されれば(STEP44でYES)、不揮発性メモリ
の書き換えを行なうブロック番号に含まれるアドレスの
データを消去し、消去したあとに、書き込みを行なう
(STEP45)。この作業を繰り返し、書き換えを必要と
する機器がなくなるまで繰り返す。
【0017】本発明によると、すでに不揮発性メモリに
書き込まれているデータと異なったデータのあるブロッ
クのみを書き込むことで、不揮発性メモリ全体の書き込
みを行なう場合に比し、大幅に書き込み時間が減少す
る。例えば、ブロック数が32で、最終のブロックのみ
を書き換えるだけでよければ、書き込み時間は1/32
になる。しかし、更新ブロック番号「32」を抽出する
ためにブロック番号「1」からブロック番号「31」ま
でのデータを比較し、これらのブロック内のデータは同
じで書き込みの必要のないことをチェックしておかねば
ならず、そのための時間が余分に必要である。しかしな
がら、不揮発性メモリをもつ機器は多数あるのが普通
で、図11の作業フローに示すように、このチェックは
最初の1回目のみおこなっておけばよく、二つ目以上の
機器の不揮発性メモリの書き換えには必要ないので、全
体から見ると無視出来るものである。
【0018】
【発明の効果】本発明によれば、従来、些細なプログラ
ムの変更による不揮発性メモリの書き換えにおいても、
不揮発性メモリの全体を書き換えていたのを、変更され
た部分を含んでいるブロックだけを書き換えるようにす
ることで、書き換え時間を大幅に減少できる効果があ
る。
【図面の簡単な説明】
【図1】本発明になるデータ書き込み装置の構成例を示
すブロック図である。
【図2】更新用プログラムのフローチャートである。
【図3】多数の不揮発性メモリを更新するときの作業フ
ローである。
【図4】不揮発性メモリ更新前のデータ例を示す図であ
る。
【図5】図4のデータに対応するダウンロードプログラ
ムP1である。
【図6】更新するデータ例としてのダウンロードプログ
ラムP2である。
【図7】図6のデータに更新した不揮発性メモリの内容
図である。
【符号の説明】
10 CPU 11 RAM 111、112 メモリエリア 113 制御用メモリエリア 114 アドレスカウンタACの格納エリア 115 ブロック番号カウンタBCの格納エリア 116 更新ブロック番号配列BN<>格納エリア 15 入出力インタフェース

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のアドレスを含むブロックの単位で
    データを消去した後そのブロックへ書き込みが可能な不
    揮発性メモリのデータを更新するためのデータ書き込み
    装置であって、 新たに書き込むデータとすでに書き込まれているデータ
    とをアドレスごとに比較する比較手段と、同一のブロッ
    ク内に少なくとも1つの異なったデータが前記比較手段
    により検出されたときに当該ブロックのブロック番号を
    記憶する更新ブロック番号記憶手段と、この手段に記憶
    されたブロックに対してだけそのブロックのデータを消
    去し当該ブロック対応の新しいデータを書き込む書き込
    み手段と、を備えたことを特徴とするデータ書き込み装
    置。
  2. 【請求項2】 複数のアドレスを含むブロックの単位で
    データを消去した後そのブロックへ書き込みが可能な不
    揮発性メモリのデータを更新するためのデータ書き込み
    方法であって、 新たに書き込むデータとすでに書き込まれているデータ
    とをアドレスごとに比較し、同一のブロック内に少なく
    とも1つの異なったデータがあればそのブロック番号を
    記憶し、記憶したブロックに対してだけデータの消去と
    書き込みを行うことを特徴とするデータ書き込み方法。
JP26675799A 1999-09-21 1999-09-21 データ書き込み装置とその書き込み方法 Pending JP2001092713A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26675799A JP2001092713A (ja) 1999-09-21 1999-09-21 データ書き込み装置とその書き込み方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26675799A JP2001092713A (ja) 1999-09-21 1999-09-21 データ書き込み装置とその書き込み方法

Publications (1)

Publication Number Publication Date
JP2001092713A true JP2001092713A (ja) 2001-04-06

Family

ID=17435296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26675799A Pending JP2001092713A (ja) 1999-09-21 1999-09-21 データ書き込み装置とその書き込み方法

Country Status (1)

Country Link
JP (1) JP2001092713A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100484485B1 (ko) * 2002-10-01 2005-04-20 한국전자통신연구원 비휘발성 메모리에의 데이터 저장 방법 및 장치
KR100653280B1 (ko) 2004-06-18 2006-12-04 이처닷컴 주식회사 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법
WO2009045113A1 (en) * 2007-10-04 2009-04-09 Arc Innovations Limited Method and system for updating a stored data value in a non-volatile memory
JP2009301128A (ja) * 2008-06-10 2009-12-24 Dainippon Printing Co Ltd 不揮発性メモリの劣化軽減方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100484485B1 (ko) * 2002-10-01 2005-04-20 한국전자통신연구원 비휘발성 메모리에의 데이터 저장 방법 및 장치
US6970970B2 (en) 2002-10-01 2005-11-29 Electronics And Telecommunications Research Institute Method of storing data in a non-volatile memory and apparatus therefor
KR100653280B1 (ko) 2004-06-18 2006-12-04 이처닷컴 주식회사 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법
WO2009045113A1 (en) * 2007-10-04 2009-04-09 Arc Innovations Limited Method and system for updating a stored data value in a non-volatile memory
US7813176B2 (en) 2007-10-04 2010-10-12 Arc Innovations Limited Method and system for updating a stored data value in a non-volatile memory
JP2009301128A (ja) * 2008-06-10 2009-12-24 Dainippon Printing Co Ltd 不揮発性メモリの劣化軽減方法

Similar Documents

Publication Publication Date Title
JP3692313B2 (ja) 不揮発性メモリの制御方法
JP2007241576A (ja) 不揮発性記憶装置およびそのデータ書込み方法
WO2003067605A1 (fr) Dispositif a memoire non volatile et son procede de commande
US6286757B1 (en) Portable electronic apparatus
JP2005222202A (ja) 不揮発性記憶装置のデータ保護方法
JP2006003966A (ja) フラッシュメモリの書込方法
JP2001092713A (ja) データ書き込み装置とその書き込み方法
KR100350972B1 (ko) 식별번호저장기능을갖는컴퓨터시스템및그방법
JPH07153284A (ja) 不揮発性半導体記憶装置及びその制御方法
JP2000243093A (ja) フラッシュメモリへのデータ記憶方法及びフラッシュメモリからのデータ読出方法
KR20070048384A (ko) 메모리 맵에서 배드 블록 처리방법
JP2007052558A (ja) フラッシュメモリ書換え装置、フラッシュメモリ書換え方法及びフラッシュメモリ書換えプログラム
JP4910402B2 (ja) 不揮発性メモリの書き換え装置及び書き換え方法
JP2009276883A (ja) 半導体補助記憶装置
JP2005321843A (ja) ファームウェアの書換え方法
KR100520192B1 (ko) 이동통신단말기의 소프트웨어 변경방법
JP4031693B2 (ja) 不揮発性メモリおよびこれを有したデータ記憶装置
JP4362777B2 (ja) プログラミング装置、シンボル自動登録方法、プログラムおよび記録媒体
JP2004310268A (ja) フラッシュメモリ内蔵の半導体装置、フラッシュメモリの制御方法およびそのプログラム
JP2011108161A (ja) 情報処理装置
CN116954499A (zh) 模拟eeprom的数据处理方法及装置
KR20000033437A (ko) 부트스트랩로더 기능 구현 장치
KR20080013247A (ko) 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치
JPH1091490A (ja) フラッシュメモリを利用した記憶装置
JP2003015942A (ja) メモリへのデータ書き込み方法、データ書き込み処理プログラム及びデータ書き込み装置