JP2001209543A - フラッシュ・マイコンにおけるプログラム書き換え方法 - Google Patents

フラッシュ・マイコンにおけるプログラム書き換え方法

Info

Publication number
JP2001209543A
JP2001209543A JP2000019997A JP2000019997A JP2001209543A JP 2001209543 A JP2001209543 A JP 2001209543A JP 2000019997 A JP2000019997 A JP 2000019997A JP 2000019997 A JP2000019997 A JP 2000019997A JP 2001209543 A JP2001209543 A JP 2001209543A
Authority
JP
Japan
Prior art keywords
boot program
block
memory
memory block
program
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
JP2000019997A
Other languages
English (en)
Inventor
Shuji Takahashi
修二 高橋
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP2000019997A priority Critical patent/JP2001209543A/ja
Priority to EP01101820A priority patent/EP1120709A2/en
Priority to KR10-2001-0003902A priority patent/KR100408872B1/ko
Priority to US09/770,459 priority patent/US6789158B2/en
Publication of JP2001209543A publication Critical patent/JP2001209543A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】メモリ装置に格納されているブートプログラム
を書き換える際に、一のメモリブロックから他のメモリ
ブロックにブートプログラムを書き換える必要をなく
す。 【解決手段】第一及び第二のメモリブロック26、28
を有するメモリ装置においてブートプログラムを書き換
える際に、新しいブートプログラムを書き込む第二のメ
モリブロック28に保存されている内容を消去する第一
の過程(B)と、第二のメモリブロック28に新しいブ
ートプログラムを書き込む第二の過程(C)と、第二の
メモリブロックがブートブロックであると認識すること
ができるように第二のメモリブロック28のアドレスを
変更する第三の過程と、第一のメモリブロック26に保
存されている元のブートプログラムを消去する第四の過
程(D)と、を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリ装置に記憶
されているブートプログラムを新たなブートプログラム
に書き換える方法、装置及びその方法を実行するための
プログラムを格納した記憶媒体に関する。
【0002】
【従来の技術】これまでに、メモリ装置、特に、フラッ
シュ型メモリ装置においてプログラムを書き換える方法
は数多く提案されている。
【0003】例えば、特開平11−96779号公報
は、フラッシュ型メモリ装置におけるプログラムの書き
換え回数を低減することができるプログラム書き換え方
法を提案している。
【0004】この方法においては、フラッシュ型メモリ
側の物理アドレスにおいては、各ブロック毎にヘッダエ
リア及びプログラム・データエリアを配置し、プロセッ
サ側の論理アドレス上においては、各ブロックのヘッダ
エリア及びプログラム・データエリアを連続して配置す
る。プログラム・データエリアNに含まれるデータを書
き換える場合には、プログラム・データエリアNのブロ
ックと、それに対応するヘッダエリアのブロックきを書
き換える必要があるが、フラッシュ型メモリの物理アド
レス上においては、プログラム・データエリアNは、該
当するヘッダエリアとともに同一ブロック内にある。こ
のため、そのブロックのみが書き換えられる。
【0005】特開平11−316687号公報は、起動
プロセス中に発生するシステム・エラーを回復させる装
置を提案している。
【0006】この装置は、ROMと、不揮発性RAM
と、CPUとを備えている。ROMは、複数のブート可
能なフラッシュ・イメージを格納するとともに、プログ
ラム不可能なブート・ブロックを有している。不揮発性
RAMは、どのフラッシュ・イメージが選択されたかを
示すステータス情報を格納している。CPUは、選択さ
れたフラッシュ・イメージの完全性をテストし、完全で
ある場合には、そのフラッシュ・イメージを実行し、不
完全である場合には、他のフラッシュ・イメージを新た
に選択する。CPUは、この新たに選択されたフラッシ
ュ・イメージに対しても完全性をテストし、完全である
場合にのみ、そのフラッシュ・イメージを実行する。こ
のように、不完全なフラッシュ・イメージは実行されな
くなるため、システムを自動的に回復させることが可能
になる。
【0007】特開平6−266552号公報は、不揮発
性メモリ装置に記憶されているコード/データの一部
を、コンピュータシステムからカバーその他の部品を取
り外すことなく、動的に修正または更新することが可能
なコンピュータシステムを提案している。
【0008】具体的には、このコンピュータシステム
は、処理論理を実行するプロセッサと、このプロセッサ
に結合し、オペレーティングシステム処理論理及びデー
タを記憶している不揮発性メモリ装置と、プロセッサに
結合し、不揮発性メモリ装置の内容を読み取る手段と、
プロセッサに結合し、不揮発性メモリ装置の内容を消去
する手段と、プロセッサに結合し、不揮発性メモリをプ
ログラミングする手段と、オペレーティングシステム処
理論理の実行中にオペレーティングシステム処理論理を
更新する手段と、を備えている。
【0009】特開平10−177527号公報は、デー
タ更新中に電源断になっても、データが失われたり、あ
るいは、元のデータと異なる内容にならないようにす
る、フラッシュメモリにおけるデータ更新方法を提案し
ている。
【0010】具体的には、この方法は、ブロック毎に消
去でき、バイト毎に書き込むことができるフラッシュメ
モリのデータ更新方法であって、フラッシュメモリを二
つのブロックに分割し、一つの記憶すべきデータ単位を
フラッシュメモリの二つのブロックに交互に書き込み、
データを読み出すときに、二つのブロックに格納された
データ単位のうち、正常に書き込みが行われた最新のデ
ータ単位を読み出すものである。
【0011】特開平8−280679号公報は、プログ
ラムの書き換えを容易に行うことができるプログラムメ
モリ装置を提案している。
【0012】このプログラムメモリ装置は、動作や演算
の各種プログラムを格納し、電気的に書き込み及び消去
が可能な複数の領域を有するフラッシュメモリと、プロ
グラムにより動作する装置本体の外部に設けられ、書き
換え用のプログラムを格納する書き換え用メモリと装置
本体とを電気的に接続する接続手段と、フラッシュメモ
リのプログラムと書き換え用メモリのプログラムとを選
択して切り換える切り換え手段と、書き換え用プログラ
ムをフラッシュメモリの未使用の領域に記憶し、この書
き換え用プログラムに実行可能なアドレスを付与するプ
ログラム実行手段と、このプログラム実行手段で実行す
るためのアドレスをフラッシュメモリのプログラムのア
ドレスに変換するデータ、フラッシュメモリの使用状況
データ及びフラッシュメモリの書き換え累積回数データ
を格納する管理用メモリと、を備えている。
【0013】また、コンピュータに格納されているブー
トプログラムを書き換える際、書き換え作業中にコンピ
ュータに電源断のトラブルが発生した場合、二度とその
コンピュータにおけるブートプログラムを起動させるこ
とはできなくなる。
【0014】このような状態を回避する方法が特開平8
−255084号公報に記載されている。
【0015】図11及び図12は同公報に記載されてい
る方法のフローチャートである。
【0016】以下、主ブートブロック0に格納されてい
るブートプログラムを新しいブートプログラムに書き換
える場合を例として、同公報に記載されている方法を説
明する。
【0017】当初の状態では、図12(A)に示すよう
に、主ブートブロック0にはブートプログラムが格納さ
れ、代替ブロック1にはデータが保存されている。
【0018】先ず、図12(B)に示すように、代替ブ
ロック1に保存されているデータを消去する(図11の
ステップ300)。
【0019】次いで、図12(c)に示すように、主ブ
ートブロック0に書き込まれているブートプログラムを
代替ブロック1にコピーする(図11のステップ31
0)。
【0020】次いで、代替ブロック1がブートブロック
であると認識されるように、不揮発性メモリブロック回
路(図示せず)により、代替ブロック1のアドレスを変
更する(図11のステップ320)。
【0021】その後、図12(D)に示すように、主ブ
ートブロック0に格納されていたブートプログラムを消
去する(図11のステップ330)。
【0022】次いで、図12(E)に示すように、主ブ
ートブロック0に新しいブートプログラムを書き込む
(図11のステップ340)。
【0023】次いで、新しいブートプログラムを格納し
た主ブートブロック0がブートブロックであると認識さ
れるように、不揮発性メモリブロック回路により、主ブ
ートブロック0のアドレスを変更する(図11のステッ
プ350)。
【0024】次いで、図12(F)に示すように、元の
ブートプログラムをコピーしておいた代替ブロック1か
らブートプログラムを消去する(図11のステップ36
0)。
【0025】次いで、図12(G)に示すように、空に
なった代替ブロック1はデータ領域として使用される。
すなわち、代替ブロック1にはデータが保存される。
【0026】
【発明が解決しようとする課題】正常にブートプログラ
ムの書き換え作業が終了すると、図12(F)に示すよ
うに、主ブートブロック0が必ずブート領域となる。こ
のため、正常にブートプログラムの書き換え作業が終了
したかどうかの判断は、主ブートブロック0がブート領
域になっているか否かを判定することにより行われる。
このため、上記の手順のように、元のブートプログラム
を主ブートブロック0から代替ブロック1にコピーしな
ければならず、代替ブロック1のフラッシュメモリに対
して余計なストレスを与えていた。
【0027】さらに、図11及び図12に示す従来の方
法においては、主ブートブロック0に書き込まれている
元のブートプログラムを代替ブロック1にコピーして待
避させておく必要があるとともに、代替ブロック1にコ
ピーしたブートプログラムを再度消去して、代替ブロッ
ク1をデータ領域として使用するため、代替ブロック1
に対する消去/書き込みの一連の動作を2回行う必要が
あった。
【0028】すなわち、図12(B)に示す状態から図
12(C)に示す状態に移行する際に、第1回目の書き
換えが行われ、図12(F)に示す状態から図12
(G)に示す状態に移行する際に、第2回目の書き換え
が行われる。
【0029】また、上記の特開平11−96779号公
報、特開平11−316687号公報、特開平6−26
6552号公報、特開平10−177527号公報及び
特開平8−280679号公報に記載されている方法ま
たは装置においても、代替ブロックとなるメモリブロッ
クにプログラムをコピーする過程を備えており、代替ブ
ロックとなるメモリブロックのフラッシュメモリに対し
て余計なストレスを与える原因となっていた。
【0030】本発明は、以上のような従来のメモリ装置
における問題点に鑑みてなされたものであり、メモリ装
置に格納されているブートプログラムを書き換える際
に、一のメモリブロックから他のメモリブロックにブー
トプログラムを書き換える必要をなくしたブートプログ
ラム書き換え方法を提供することを目的とする。
【0031】
【課題を解決するための手段】この目的を達成するた
め、本発明のうち、請求項1は、ブートプログラムを電
気的に書き込み、または、消去することが可能である少
なくとも第一及び第二のメモリブロックを有するメモリ
装置においてブートプログラムを書き換える方法であっ
て、新しいブートプログラムを書き込む前記第一のメモ
リブロックに保存されている内容を消去する第一の過程
と、前記第一のメモリブロックに新しいブートプログラ
ムを書き込む第二の過程と、前記第一のメモリブロック
がブートブロックであると認識することができるように
前記第一のメモリブロックのアドレスを変更する第三の
過程と、前記第二のメモリブロックに保存されている元
のブートプログラムを消去する第四の過程と、を備える
ブートプログラム書き換え方法を提供する。
【0032】本請求項に係るブートプログラム書き換え
方法によれば、従来のプログラム書き換え方法とは異な
り、一のメモリブロック(第二のメモリブロックに相当
するメモリブロック)に書き込まれている元のブートプ
ログラムを代替ブロックとなる他の一のメモリブロック
(第一のメモリブロックに相当するメモリブロック)に
コピーし、待避させておく必要がなく、直接、代替ブロ
ックとなる第一のメモリブロックに新しいブートプログ
ラムを書き込むことが可能である。このため、代替ブロ
ックとしての第一のメモリブロックに対するブートプロ
グラムの消去/書き込みの一連の動作は1回で済む。こ
のように、本請求項に係るプログラム書き換え方法によ
れば、代替ブロックとしての第一のメモリブロックに対
するブートプログラムの消去/書き込みの回数を減らす
ことができるので、代替ブロックとしての第一のメモリ
ブロックのフラッシュメモリに対するストレスが半減
し、フラッシュメモリの寿命を伸ばすことが可能とな
る。
【0033】請求項2に記載されているように、本ブー
トプログラム書き換え方法は、前記第一のメモリブロッ
クに対応するブートプログラム情報格納領域に、新たに
書き込んだブートプログラムの情報を設定する第五の過
程をさらに備えることが好ましい。
【0034】この第五の過程によって、第一のメモリブ
ロックがブートブロック領域であることが認識されるこ
とが可能になる。
【0035】請求項3に記載されているように、本ブー
トプログラム書き換え方法は、前記第一及び第二のメモ
リブロックの双方に前記ブートプログラムが存在してい
る場合には、プログラムの書き換えが正常に行われなか
ったものと判断する過程をさらに備えることが好まし
い。
【0036】あるいは、請求項4に記載されているよう
に、前記第一及び第二のメモリブロックに対応する双方
のブートプログラム情報格納領域に前記ブートプログラ
ムの情報がセットされている場合には、プログラムの書
き換えが正常に行われなかったものと判断する過程をさ
らに備えることが好ましい。
【0037】請求項5に記載されているように、前記メ
モリ装置は3以上のメモリブロックを備えており、本ブ
ートプログラム書き換え方法においては、そのうちの任
意の二つのメモリブロックを用いることが好ましい。
【0038】本ブートプログラム書き換え方法は、二個
のメモリブロックを有するメモリ装置のみならず、三個
以上のメモリブロックを有するメモリ装置に対しても適
用することが可能である。メモリブロックの個数が多い
ほど、メモリ装置全体としての寿命を延ばすことができ
る。
【0039】請求項6または7に記載されているよう
に、前記メモリ装置としては、フラッシュメモリまたは
ROMを選択することができる。
【0040】請求項8は、少なくとも2つのメモリブロ
ックを有するメモリ装置と、前記メモリブロックへのブ
ートプログラムの書き込み及び前記メモリブロックから
のブートプログラムの消去を制御する制御回路と、前記
メモリブロックのアドレスを変更するアドレス変更回路
と、からなるコンピュータ装置であって、前記制御回路
は、前記メモリブロックのうちの第一のメモリブロック
に保存されている内容を消去し、次いで、前記第一のメ
モリブロックに新しいブートプログラムを書き込むとと
もに、前記メモリブロックのうちの第二のメモリブロッ
クに保存されている元のブートプログラムを消去するも
のであり、前記アドレス変更回路は、前記第一のメモリ
ブロックがブートブロックであると認識することができ
るように前記第一のメモリブロックのアドレスを変更す
るものであるコンピュータ装置を提供する。
【0041】本コンピュータ装置によれば、請求項1と
同様に、一のメモリブロック(第二のメモリブロックに
相当するメモリブロック)に書き込まれている元のブー
トプログラムを代替ブロックとなる他の一のメモリブロ
ック(第一のメモリブロックに相当するメモリブロッ
ク)にコピーし、待避させておく必要がなく、直接、代
替ブロックとなる第一のメモリブロックに新しいブート
プログラムを書き込むことが可能である。このため、代
替ブロックとしての第一のメモリブロックに対するブー
トプログラムの消去/書き込みの一連の動作は1回で済
む。このように、本請求項に係るコンピュータ装置によ
れば、代替ブロックとしての第一のメモリブロックに対
するブートプログラムの消去/書き込みの回数を減らす
ことができるので、代替ブロックとしての第一のメモリ
ブロックのフラッシュメモリに対するストレスが半減
し、フラッシュメモリの寿命を伸ばすことが可能とな
る。
【0042】請求項9に記載されているように、前記制
御回路は、前記第一のメモリブロックに対応するブート
プログラム情報格納領域に、新たに書き込んだブートプ
ログラムの情報を設定するものであることが好ましい。
【0043】制御回路のこのような動作により、第一の
メモリブロックがブートブロック領域として認識される
ことが可能になる。
【0044】請求項10または11に記載されているよ
うに、前記メモリ装置としては、フラッシュメモリまた
はROMを用いることができる。
【0045】請求項12乃至15は、前述のプログラム
書き換え方法をコンピュータに実行させるためのプログ
ラムを記憶したコンピュータ読み取り可能な記憶媒体を
提供する。
【0046】請求項12は、コンピュータに、ブートプ
ログラムを電気的に書き込み、または、消去することが
可能である少なくとも第一及び第二のメモリブロックを
有するメモリ装置において、新しいブートプログラムを
書き込む前記第一のメモリブロックに保存されている内
容を消去する第一の過程と、前記第一のメモリブロック
に新しいブートプログラムを書き込む第二の過程と、前
記第一のメモリブロックがブートブロックであると認識
することができるように前記第一のメモリブロックのア
ドレスを変更する第三の過程と、前記第二のメモリブロ
ックに保存されている元のブートプログラムを消去する
第四の過程と、を実行させるためのプログラムを記憶し
たコンピュータ読み取り可能な記憶媒体を提供する。
【0047】請求項13に記載されているように、前記
プログラムは、前記コンピュータに、前記第一のメモリ
ブロックに対応するブートプログラム情報格納領域に、
新たに書き込んだブートプログラムの情報を設定する第
五の過程をさらに実行させるものであることが好まし
い。
【0048】請求項14または15に記載されているよ
うに、前記メモリ装置としては、フラッシュメモリまた
はROMを用いることができる。
【0049】
【発明の実施の形態】図1は、本発明の一実施形態にか
かるプログラム書き換え方法が実施されるフラッシュ・
マイコンのブロック図である。
【0050】このフラッシュ・マイコン10は、ブート
プログラムを電気的に書き込み、または、消去可能な第
一乃至第四のフラッシュメモリブロック(0)〜(n)
26、28、30、32、及び、各フラッシュメモリブ
ロックに付随するブートプログラム情報格納領域(0)
〜(n)27、29、31、33を有するフラッシュメ
モリ20と、フラッシュメモリ20へのブートプログラ
ムの消去および書き込みを制御するフラッシュメモリ消
去書き込み制御プログラムを格納したメモリ22と、メ
モリ22に格納されたフラッシュメモリ消去書き込み制
御プログラムに従って、フラッシュメモリ20へのブー
トプログラムの消去および書き込みを実行するフラッシ
ュメモリ制御回路23と、第一乃至第四のフラッシュメ
モリブロック(0)〜(n)26、28、30、32の
アドレスを変換するアドレス変換回路24と、RAM2
5と、メモリ22に格納されたフラッシュメモリ消去書
き込み制御プログラムに従って作動し、RAM25及び
アドレス変換回路24を制御するCPU21と、から構
成されている。
【0051】図2及び図3は、図1に示したフラッシュ
・マイコン10の動作を示すフローチャートである。以
下、図2及び図3を参照して、フラッシュ・マイコン1
0の動作を説明する。
【0052】本実施形態においては、新しいブートプロ
グラムを書き込む代替ブロックとして第二のフラッシュ
メモリブロック(1)28を使用し、第一のフラッシュ
メモリブロック(0)26に既に書き込まれているブー
トプログラムを書き換えるものとする。
【0053】書き換え以前の状態においては、図3
(A)に示すように、第一のフラッシュメモリブロック
(0)26にはブートプログラムが書き込まれており、
第二のフラッシュメモリブロック(1)28にはデータ
が保存されている。
【0054】先ず、図3(B)に示すように、新しいブ
ートプログラムを書き込む代替ブロックとしての第二の
フラッシュメモリブロック(1)28に保存されている
データを消去する(図2のステップ100)。
【0055】この時点における第一のフラッシュメモリ
ブロック(0)26及び第二のフラッシュメモリブロッ
ク(1)28の状態は図4に示す通りである。第一のフ
ラッシュメモリブロック(0)26には元のブートプロ
グラムが書き込まれたままであり、第二のフラッシュメ
モリブロック(1)28は空の状態である。
【0056】第一のフラッシュメモリブロック(0)2
6に対応するブートプログラム情報格納領域(0)27
には、そのフラッシュメモリブロックにはブートプログ
ラムが格納されていることを示すプログラム情報00h
が格納されており、第二のフラッシュメモリブロック
(1)28に対応するブートプログラム情報格納領域
(1)29には、そのフラッシュメモリブロックが空で
あることを示すプログラム情報FFhが格納されてい
る。
【0057】次いで、図3(C)に示すように、代替ブ
ロックとしての第二のフラッシュメモリブロック(1)
28に新しいブートプログラムを書き込む(図2のステ
ップ110)。
【0058】この時点における第一のフラッシュメモリ
ブロック(0)26及び第二のフラッシュメモリブロッ
ク(1)28の状態は図5に示す通りである。第一のフ
ラッシュメモリブロック(0)26には元のブートプロ
グラムが書き込まれたままであり、第二のフラッシュメ
モリブロック(1)28には新しいブートプログラムが
格納されている。
【0059】第一のフラッシュメモリブロック(0)2
6に対応するブートプログラム情報格納領域(0)27
には、そのフラッシュメモリブロックにはブートプログ
ラムが格納されていることを示すプログラム情報00h
が格納されており、第二のフラッシュメモリブロック
(1)28に対応するブートプログラム情報格納領域
(1)29には、そのフラッシュメモリブロックが空で
あることを示すプログラム情報FFhが未だ格納された
ままになっている。
【0060】次いで、新しいブートプログラムを書き込
んだ第二のフラッシュメモリブロック(1)28に付随
するブートプログラム情報格納領域(1)29にプログ
ラム情報をセットする(図2のステップ120)。
【0061】この時点における第一のフラッシュメモリ
ブロック(0)26及び第二のフラッシュメモリブロッ
ク(1)28の状態は図6に示す通りである。第一のフ
ラッシュメモリブロック(0)26には元のブートプロ
グラムが書き込まれたままであり、第二のフラッシュメ
モリブロック(1)28には新しいブートプログラムが
格納されている。
【0062】第一のフラッシュメモリブロック(0)2
6に対応するブートプログラム情報格納領域(0)27
には、そのフラッシュメモリブロックにはブートプログ
ラムが格納されていることを示すプログラム情報00h
が格納されており、第二のフラッシュメモリブロック
(1)28に対応するブートプログラム情報格納領域
(1)29には、そのフラッシュメモリブロックには他
のブートプログラムが格納されていることを示すプログ
ラム情報01hが格納されている。
【0063】次いで、CPU21が、新しいブートプロ
グラムを書き込んだ第二のフラッシュメモリブロック
(1)28をブートブロックとして認識できるように、
アドレス変換回路24を介して、第二のフラッシュメモ
リブロック(1)28のアドレスを変更する(図2のス
テップ130)。
【0064】この時点における第一のフラッシュメモリ
ブロック(0)26及び第二のフラッシュメモリブロッ
ク(1)28の状態は図7に示す通りである。図6と同
様に、第一のフラッシュメモリブロック(0)26には
元のブートプログラムが書き込まれたままであり、第二
のフラッシュメモリブロック(1)28には新しいブー
トプログラムが格納されている。
【0065】ただし、図7に示す状態においては、図6
に示した状態とは異なり、新しいブートプログラムを書
き込んだ第二のフラッシュメモリブロック(1)28の
アドレスは「40000h−7FFFFh」から「00
000h−3FFFh」に変更されており、このアドレ
スの変更により、新しいブートプログラムを書き込んだ
第二のフラッシュメモリブロック(1)28はCPU2
1によってブートブロックとして認識される。逆に、元
のブートプログラムが書き込まれたままの第一のフラッ
シュメモリブロック(0)26のアドレスは「0000
0h−3FFFh」から「40000h−7FFFF
h」に変更されている。このアドレスの変更により、第
一のフラッシュメモリブロック(0)26がCPU21
によってブートブロックとして認識されることはない。
【0066】次いで、図3(D)に示すように、第一の
フラッシュメモリブロック(0)26に書き込まれてい
る元のブートプログラムを消去する(図2のステップ1
40)。
【0067】この時点における第一のフラッシュメモリ
ブロック(0)26及び第二のフラッシュメモリブロッ
ク(1)28の状態は図8に示す通りである。第一のフ
ラッシュメモリブロック(0)26は空の状態であり、
第二のフラッシュメモリブロック(1)28には新しい
ブートプログラムが書き込まれている。
【0068】第一のフラッシュメモリブロック(0)2
6に対応するブートプログラム情報格納領域(0)27
には、そのフラッシュメモリブロックが空であることを
示すプログラム情報FFhが格納されており、第二のフ
ラッシュメモリブロック(1)28に対応するブートプ
ログラム情報格納領域(1)29には、そのフラッシュ
メモリブロックにはブートプログラムが格納されている
ことを示すプログラム情報01hが格納されている。
【0069】次いで、図3(E)に示すように、空とな
った第一のフラッシュメモリブロック(0)26にデー
タが保存される。
【0070】以上によって、フラッシュ・マイコン10
におけるブートプログラムの書き換えの一連の動作が完
了する。
【0071】ここで、仮に、図6に示した状態、すなわ
ち、第一のフラッシュメモリブロック(0)26には元
のブートプログラムが書き込まれ、第二のフラッシュメ
モリブロック(1)28には新しいブートプログラムが
書き込まれている状態のときに、電源断のトラブルが発
生した場合を想定する。
【0072】この場合、フラッシュ・マイコン10の次
回の起動時には、2つのブートプログラムが存在するこ
とになる。すなわち、ブートプログラム情報格納領域
(1)29とブートプログラム情報格納領域(0)27
の両方にプログラム情報がセットされている状態とな
り、これに基づいて、ブートプログラムの書き換え動作
が正常に完了しなかったことを判断することができる。
このように、フラッシュ・マイコン10それ自体による
リカバリー処理が必要であるとの判断を行うことが可能
になる。
【0073】本実施形態におけるアドレス変換回路24
によってブートブロックメモリアドレス操作を表したシ
ステムブロックの例を図9及び図10に示す。
【0074】図9においては、第一のフラッシュメモリ
ブロック(0)26からブートを可能にするための通常
のメモリアドレス指定が示されており、図10において
は、第二のフラッシュメモリブロック(1)28からブ
ートを可能にするためのメモリアドレス指定が示されて
いる。
【0075】ブートブロック指定レジスタ44はビット
単位でセット及びリセットを行うことができるレジスタ
である。
【0076】図9はこのブートブロック指定レジスタ4
4がリセット状態の場合を示しており、XORゲート4
2の入力が、上位アドレスビットライン43が反転され
ないように、セットされる。下位アドレスビットライン
41は、メモリ40のアドレス指定にとって通常のやり
方でメモリ40の指定を行う。
【0077】図10はブートブロック指定レジスタ44
がセット状態の場合を示している。XORゲート42の
入力が、上位アドレスビットライン43が反転されるよ
うに、セットされる。このため、第二のフラッシュメモ
リブロック(1)28がブートブロック空間であると認
識される。
【0078】図11及び図12に示した従来のプログラ
ム書き換え方法においては、図12(C)に示したよう
に、主ブートブロック0に書き込まれている元のブート
プログラムを代替ブロック1にコピーして待避しておく
必要があるとともに、図12(F)に示したように、代
替ブロック1にコピーしたブートプログラムを再度消去
し、データ領域として使用する(図12(G))ため
に、代替ブロック1に対して消去/書き込みの一連の動
作を2回行う必要があった。
【0079】これに対して、本実施形態に係るプログラ
ム書き換え方法によれば、上述の従来のプログラム書き
換え方法とは異なり、主ブートブロック0(上記の実施
形態における第一のフラッシュメモリブロック(0)2
6)に書き込まれている元のブートプログラムを代替ブ
ロックとして使用されている第二のフラッシュメモリブ
ロック(1)28にコピーし、待避させておく必要はな
くなる。本実施形態においては、ブートプログラムのコ
ピーに代えて、直接、代替ブロックとしての第二のフラ
ッシュメモリブロック(1)28に新しいブートプログ
ラムを書き込むことが可能であり、代替ブロックとして
の第二のフラッシュメモリブロック(1)28に対する
プログラムの消去/書き込みの一連の動作は、図3
(C)に示すように、1回で済む。
【0080】このため、代替ブロックとしての第二のフ
ラッシュメモリブロック(1)28に対するプログラム
の消去/書き込みの回数が減ることにより、第二のフラ
ッシュメモリブロック(1)28のフラッシュメモリへ
のストレスが半減し、フラッシュメモリの寿命を伸ばす
ことが可能になる。
【0081】なお、上記の実施形態においては、以下に
述べるように、種々の変更が可能である。
【0082】例えば、上記の実施形態においては、2つ
のフラッシュメモリブロックを使ったプログラム書き換
え動作を説明したが、3つ以上のフラッシュメモリブロ
ックを有するフラッシュメモリにおいても、本発明に係
るプログラム書き換え方法を適用することは可能であ
る。フラッシュメモリブロックの個数が多いほど、フラ
ッシュメモリ全体としての寿命を伸ばすという効果があ
る。
【0083】また、上記の実施形態においては、フラッ
シュメモリを例として、ブートプログラムの書き換え方
法を説明してきたが、本発明の適用範囲はフラッシュメ
モリに限定されるものではなく、本発明は、プログラム
を書き換える必要がある他の全ての用途に対しても適用
可能である。
【0084】また、フラッシュメモリの他に、例えば、
EEPROMその他のROMを使用することも可能であ
る。
【0085】また、上記の実施形態においては、図1に
示したように、ブートプログラム情報格納領域としてユ
ーザ領域とは別の専用の領域27、29、31、33を
設け、その領域27、29、31、33としてフラッシ
ュメモリ20を用いているが、この領域27、29、3
1、33はユーザ領域内に設けることも可能であり、ユ
ーザ領域とは別の専用領域である必要は必ずしもない。
【0086】また、上記の実施形態においては、ブート
プログラム情報格納領域として専用の領域27、29、
31、33を設けているが、この領域27、29、3
1、33は容量を増やすことにより、他の情報を格納す
ることも可能である。例えば、各フラッシュメモリブロ
ック単位のプログラム書き換え回数を管理する回数管理
領域として使用することも可能である。
【0087】次いで、上述の実施形態に係るプログラム
書き換え方法を実施するためのプログラムを格納した記
憶媒体について以下に説明する。
【0088】この記憶媒体は、コンピュータが読み取り
可能なプログラム用言語を用いて上述のプログラム書き
換え方法の各過程を記述し、そのプログラムをプログラ
ムの記録が可能な媒体に記録することにより、作成する
ことができる。
【0089】プログラムの記録が可能な媒体としては、
CD−ROM、フロッピーディスク、磁気テープなどを
用いることができる。
【0090】あるいは、記憶媒体として、サーバーに備
え付けられたハードディスクを用いることも可能であ
る。
【0091】また、本発明に係る記憶媒体は、上述のコ
ンピュータプログラムを上記のような記憶媒体に格納
し、ネットワークを介して、そのコンピュータプログラ
ムを他のコンピュータにより読み取ることによっても、
作成可能である。
【0092】
【発明の効果】本発明に係るブートプログラム書き換え
方法、コンピュータ装置またはブートプログラムを記憶
した記憶媒体によれば、従来のプログラム書き換え方法
とは異なり、一のメモリブロック(第二のメモリブロッ
クに相当するメモリブロック)に書き込まれている元の
ブートプログラムを代替ブロックとなる他の一のメモリ
ブロック(第一のメモリブロックに相当するメモリブロ
ック)にコピーし、待避させておく必要はもはやない。
直接、代替ブロックとなる第一のメモリブロックに新し
いブートプログラムを書き込むことが可能である。この
ため、代替ブロックとしての第一のメモリブロックに対
するブートプログラムの消去/書き込みの一連の動作は
1回で済む。このように、本発明によれば、代替ブロッ
クとしての第一のメモリブロックに対するブートプログ
ラムの消去/書き込みの回数を減らすことができるの
で、代替ブロックとしての第一のメモリブロックのフラ
ッシュメモリに対するストレスを半減させることがで
き、ひいては、フラッシュメモリの寿命を伸ばすことが
できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るプログラム書き換え
方法を実施するためのフラッシュ・マイコンのブロック
図である。
【図2】図1に示したフラッシュ・マイコンの動作を示
すフローチャートである。
【図3】図1に示したフラッシュ・マイコンにおけるフ
ラッシュメモリの二つのフラッシュメモリブロックの記
憶内容の変化を示したフローチャートである。
【図4】プログラム書き換え時における第一及び第二の
フラッシュメモリブロックの個々の段階を表したブロッ
ク図である。
【図5】プログラム書き換え時における第一及び第二の
フラッシュメモリブロックの個々の段階を表したブロッ
ク図である。
【図6】プログラム書き換え時における第一及び第二の
フラッシュメモリブロックの個々の段階を表したブロッ
ク図である。
【図7】プログラム書き換え時における第一及び第二の
フラッシュメモリブロックの個々の段階を表したブロッ
ク図である。
【図8】プログラム書き換え時における第一及び第二の
フラッシュメモリブロックの個々の段階を表したブロッ
ク図である。
【図9】図1に示したフラッシュマイコンにおけるアド
レス変換回路の回路構成例を示すブロック図である。
【図10】図1に示したフラッシュマイコンにおけるア
ドレス変換回路の回路構成例を示すブロック図である。
【図11】従来のプログラム書き換え方法の各過程を示
すフローチャートである。
【図12】図11に示した従来のプログラム書き換え方
法における主ブートブロックと代替ブロックの記憶内容
の変化を示したフローチャートである。
【符号の説明】
10 フラッシュマイコン 20 フラッシュメモリ 21 CPU 22 メモリ 23 フラッシュメモリ制御回路 24 アドレス変換回路 25 RAM 26、28、30、32 第一乃至第四のフラッシュメ
モリブロック 27、29、31、33 ブートプログラム情報格納領
域 40 メモリ 41 下位アドレスビットライン 42 XORゲート 43 上位アドレスビットライン 44 ブートブロック指定レジスタ

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 ブートプログラムを電気的に書き込み、
    または、消去することが可能である少なくとも第一及び
    第二のメモリブロックを有するメモリ装置においてブー
    トプログラムを書き換える方法であって、 新しいブートプログラムを書き込む前記第一のメモリブ
    ロックに保存されている内容を消去する第一の過程と、 前記第一のメモリブロックに新しいブートプログラムを
    書き込む第二の過程と、 前記第一のメモリブロックがブートブロックであると認
    識することができるように前記第一のメモリブロックの
    アドレスを変更する第三の過程と、 前記第二のメモリブロックに保存されている元のブート
    プログラムを消去する第四の過程と、 を備えるブートプログラム書き換え方法。
  2. 【請求項2】 前記第一のメモリブロックに対応するブ
    ートプログラム情報格納領域に、新たに書き込んだブー
    トプログラムの情報を設定する第五の過程をさらに備え
    ることを特徴とする請求項1に記載のブートプログラム
    書き換え方法。
  3. 【請求項3】 前記第一及び第二のメモリブロックの双
    方に前記ブートプログラムが存在している場合には、プ
    ログラムの書き換えが正常に行われなかったものと判断
    する過程を備える請求項1または2に記載のブートプロ
    グラム書き換え方法。
  4. 【請求項4】 前記第一及び第二のメモリブロックに対
    応する双方のブートプログラム情報格納領域に前記ブー
    トプログラムの情報がセットされている場合には、プロ
    グラムの書き換えが正常に行われなかったものと判断す
    る過程を備える請求項1または2に記載のブートプログ
    ラム書き換え方法。
  5. 【請求項5】 前記メモリ装置は3以上のメモリブロッ
    クを備えており、そのうちの任意の二つのメモリブロッ
    クを用いることを特徴とする請求項1乃至4の何れか一
    項に記載のブートプログラム書き換え方法。
  6. 【請求項6】 前記メモリ装置はフラッシュメモリであ
    ることを特徴とする請求項1乃至5の何れか一項に記載
    のブートプログラム書き換え方法。
  7. 【請求項7】 前記メモリ装置はROMであることを特
    徴とする請求項1乃至5の何れか一項に記載のブートプ
    ログラム書き換え方法。
  8. 【請求項8】 少なくとも2つのメモリブロックを有す
    るメモリ装置と、 前記メモリブロックへのブートプログラムの書き込み及
    び前記メモリブロックからのブートプログラムの消去を
    制御する制御回路と、 前記メモリブロックのアドレスを変更するアドレス変更
    回路と、 からなるコンピュータ装置であって、 前記制御回路は、前記メモリブロックのうちの第一のメ
    モリブロックに保存されている内容を消去し、次いで、
    前記第一のメモリブロックに新しいブートプログラムを
    書き込むとともに、前記メモリブロックのうちの第二の
    メモリブロックに保存されている元のブートプログラム
    を消去するものであり、 前記アドレス変更回路は、前記第一のメモリブロックが
    ブートブロックであると認識することができるように前
    記第一のメモリブロックのアドレスを変更するものであ
    るコンピュータ装置。
  9. 【請求項9】 前記制御回路は、前記第一のメモリブロ
    ックに対応するブートプログラム情報格納領域に、新た
    に書き込んだブートプログラムの情報を設定するもので
    あることを特徴とする請求項8に記載のコンピュータ装
    置。
  10. 【請求項10】 前記メモリ装置はフラッシュメモリで
    あることを特徴とする請求項8または9に記載のコンピ
    ュータ装置。
  11. 【請求項11】 前記メモリ装置はROMであることを
    特徴とする請求項8または9に記載のコンピュータ装
    置。
  12. 【請求項12】 コンピュータに、 ブートプログラムを電気的に書き込み、または、消去す
    ることが可能である少なくとも第一及び第二のメモリブ
    ロックを有するメモリ装置において、新しいブートプロ
    グラムを書き込む前記第一のメモリブロックに保存され
    ている内容を消去する第一の過程と、 前記第一のメモリブロックに新しいブートプログラムを
    書き込む第二の過程と、 前記第一のメモリブロックがブートブロックであると認
    識することができるように前記第一のメモリブロックの
    アドレスを変更する第三の過程と、 前記第二のメモリブロックに保存されている元のブート
    プログラムを消去する第四の過程と、 を実行させるためのプログラムを記憶したコンピュータ
    読み取り可能な記憶媒体。
  13. 【請求項13】 前記プログラムは、前記コンピュータ
    に、前記第一のメモリブロックに対応するブートプログ
    ラム情報格納領域に、新たに書き込んだブートプログラ
    ムの情報を設定する第五の過程をさらに実行させるもの
    であることを特徴とする請求項12に記載のコンピュー
    タ読み取り可能な記憶媒体。
  14. 【請求項14】 前記メモリ装置はフラッシュメモリで
    あることを特徴とする請求項12または13に記載のコ
    ンピュータ読み取り可能な記憶媒体。
  15. 【請求項15】 前記メモリ装置はROMであることを
    特徴とする請求項12または13に記載のコンピュータ
    読み取り可能な記憶媒体。
JP2000019997A 2000-01-28 2000-01-28 フラッシュ・マイコンにおけるプログラム書き換え方法 Pending JP2001209543A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000019997A JP2001209543A (ja) 2000-01-28 2000-01-28 フラッシュ・マイコンにおけるプログラム書き換え方法
EP01101820A EP1120709A2 (en) 2000-01-28 2001-01-26 Method of rewriting a boot program in a flash micro-computer
KR10-2001-0003902A KR100408872B1 (ko) 2000-01-28 2001-01-27 플래시 마이크로컴퓨터의 프로그램 재기록 방법
US09/770,459 US6789158B2 (en) 2000-01-28 2001-01-29 Method of rewriting program in a flash microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000019997A JP2001209543A (ja) 2000-01-28 2000-01-28 フラッシュ・マイコンにおけるプログラム書き換え方法

Publications (1)

Publication Number Publication Date
JP2001209543A true JP2001209543A (ja) 2001-08-03

Family

ID=18546623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000019997A Pending JP2001209543A (ja) 2000-01-28 2000-01-28 フラッシュ・マイコンにおけるプログラム書き換え方法

Country Status (4)

Country Link
US (1) US6789158B2 (ja)
EP (1) EP1120709A2 (ja)
JP (1) JP2001209543A (ja)
KR (1) KR100408872B1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250882A (ja) * 2004-03-04 2005-09-15 Fuji Xerox Co Ltd 情報処理装置およびプログラムの書き換え方法
JP2007193596A (ja) * 2006-01-19 2007-08-02 Nec Corp ファームウェア更新回路およびファームウェア更新方法
JP2007528071A (ja) * 2004-03-10 2007-10-04 ソニー エリクソン モバイル コミュニケーションズ, エービー ファームウェアアップグレードにおける自動バックアップストア
US7383431B2 (en) 2002-06-11 2008-06-03 Seiko Epson Corporation Control system and method for rewriting data in a flash memory and a data storage medium in which a program is stored for rewriting data in a flash memory
JP2012008575A (ja) * 2011-07-08 2012-01-12 Seiko Epson Corp 画像表示装置、画像表示装置の起動制御方法、起動制御プログラム、および、当該起動制御プログラムをコンピュータ読取可能に記録した記録媒体
JP2013045285A (ja) * 2011-08-24 2013-03-04 Fuji Xerox Co Ltd 情報処理装置、画像形成装置およびプログラム

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209543A (ja) * 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
KR100440950B1 (ko) * 2001-06-30 2004-07-21 삼성전자주식회사 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스
JP2003022191A (ja) * 2001-07-09 2003-01-24 Topcon Corp 測定装置
US7143275B2 (en) * 2002-08-01 2006-11-28 Hewlett-Packard Development Company, L.P. System firmware back-up using a BIOS-accessible pre-boot partition
DE60314979T2 (de) * 2003-04-11 2008-04-10 Em Microelectronic-Marin S.A. Verfahren zur Aktualisierung eines nichtflüchtigen Speichers
KR20060008338A (ko) * 2003-06-24 2006-01-26 바이에리셰 모토렌 베르케 악티엔게젤샤프트 프로그래밍 가능한 읽기 전용 메모리의 부트 섹터에소프트웨어를 부팅 업 하는 방법
US20060248172A1 (en) * 2003-06-24 2006-11-02 Thomas Zurawka Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine
US7797693B1 (en) * 2003-12-12 2010-09-14 Hewlett-Packard Development Company, L.P. NAND mobile devices capable of updating firmware or software in a manner analogous to NOR mobile devices
WO2005085997A2 (en) * 2004-03-10 2005-09-15 Sony Ericsson Mobile Communications Ab Automatic backup store in firmware upgrades
US8578359B2 (en) 2004-03-15 2013-11-05 Red Bend Ltd. Method and apparatus for reliable in-place update
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7398381B2 (en) 2004-12-10 2008-07-08 Intel Corporation Utilizing paging to support dynamic code updates
ATE381061T1 (de) * 2005-03-08 2007-12-15 Bosch Gmbh Robert Verfahren und vorrichtung zum wiederbeschreiben eines sektors mit bootloader-software in einem sektor-löschbaren nichtflüchtigen halbleiterspeicher
JP2007025821A (ja) * 2005-07-12 2007-02-01 Seiko Epson Corp 情報処理装置及び情報処理装置の制御方法
CN100470504C (zh) * 2006-03-30 2009-03-18 亚洲光学股份有限公司 存储器存取方法
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
JP2008009919A (ja) 2006-06-30 2008-01-17 Toshiba Corp カードコントローラ
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
TW200825915A (en) * 2006-12-07 2008-06-16 Wistron Corp Computer system and related method for preventing from failing to update BIOS program
CN102089753B (zh) * 2008-07-11 2014-04-16 惠普开发有限公司 用于在网络上安全地更新瘦客户机操作系统的系统和方法
US8386757B1 (en) * 2009-02-13 2013-02-26 Unidesk Corporation Managed desktop system
US20100318720A1 (en) * 2009-06-16 2010-12-16 Saranyan Rajagopalan Multi-Bank Non-Volatile Memory System with Satellite File System
JP5383516B2 (ja) * 2010-01-06 2014-01-08 キヤノン株式会社 画像形成装置及びそのファームウェア更新方法、並びにプログラム
WO2011114476A1 (ja) * 2010-03-17 2011-09-22 富士通株式会社 マルチコアプロセッサシステム、通知プログラム、および通知方法
KR101305562B1 (ko) * 2010-11-30 2013-09-09 주식회사 현대케피코 이이피롬의 데이터 기록 방법 및 이를 이용한 반도체 메모리 장치
JP2012203443A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
US8595716B2 (en) 2011-04-06 2013-11-26 Robert Bosch Gmbh Failsafe firmware updates
DE102011122344A1 (de) * 2011-12-23 2013-06-27 Valeo Schalter Und Sensoren Gmbh Verfahren zum Verwalten von Daten in einem Flash-Speicher, Fahrerassistenzeinrichtung und Kraftfahrzeug
US9990255B2 (en) 2013-04-23 2018-06-05 Hewlett-Packard Development Company, L.P. Repairing compromised system data in a non-volatile memory
US9880908B2 (en) * 2013-04-23 2018-01-30 Hewlett-Packard Development Company, L.P. Recovering from compromised system boot code
US10733288B2 (en) 2013-04-23 2020-08-04 Hewlett-Packard Development Company, L.P. Verifying controller code and system boot code
KR102256472B1 (ko) * 2015-09-24 2021-05-26 한화테크윈 주식회사 부트 프로그램을 실행 및 갱신하는 방법
KR101886176B1 (ko) * 2016-10-25 2018-08-08 시큐리티플랫폼 주식회사 소유자만 기록 가능한 부트영역을 포함하는 저장장치
US11418335B2 (en) 2019-02-01 2022-08-16 Hewlett-Packard Development Company, L.P. Security credential derivation
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption
JP7128763B2 (ja) * 2019-03-18 2022-08-31 日立Astemo株式会社 電子制御装置及び制御データの設定方法
US11281454B2 (en) * 2020-01-31 2022-03-22 Dell Products L.P. Microcode update system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1254937B (it) 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
JPH0869376A (ja) 1994-08-31 1996-03-12 Hitachi Ltd Biosの書き換え制御回路
JPH08227359A (ja) 1994-12-09 1996-09-03 Olympus Optical Co Ltd ワンチップマイコンが組み込まれた電子システム装置
US5568641A (en) * 1995-01-18 1996-10-22 Hewlett-Packard Company Powerfail durable flash EEPROM upgrade
JPH08280679A (ja) 1995-04-20 1996-10-29 Hitachi Medical Corp プログラムメモリ装置及びこれを備えた超音波診断装置
JPH08328845A (ja) * 1995-06-02 1996-12-13 Hioki Ee Corp Romの制御プログラム書替え方法
KR100198382B1 (ko) * 1996-05-07 1999-06-15 윤종용 멀티-부팅 기능을 갖는 컴퓨터 장치
JPH1097427A (ja) 1996-09-20 1998-04-14 Fujitsu Ltd プログラム転送システム
JP3497066B2 (ja) 1996-10-16 2004-02-16 富士通株式会社 フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置
JPH10149282A (ja) * 1996-11-20 1998-06-02 Denso Corp 電子装置のメモリ書換システム
JP3552490B2 (ja) 1997-09-17 2004-08-11 日本ビクター株式会社 フラッシュ型メモリを備えた記憶装置,フラッシュ型メモリの管理方法
JP2914360B2 (ja) * 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
JP3667958B2 (ja) * 1997-10-09 2005-07-06 東芝テック株式会社 情報処理装置
JPH11175330A (ja) 1997-12-17 1999-07-02 Canon Inc カメラのメモリ改変システム
US6167532A (en) 1998-02-05 2000-12-26 Compaq Computer Corporation Automatic system recovery
JPH11306007A (ja) * 1998-04-24 1999-11-05 Nec Corp Bios書き換え方法及び方式
US6275931B1 (en) * 1998-06-22 2001-08-14 Elsag International N.V. Method and apparatus for upgrading firmware boot and main codes in a programmable memory
US6205548B1 (en) * 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory
US6308265B1 (en) * 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Protection of boot block code while allowing write accesses to the boot block
JP2001209543A (ja) * 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
US20020178352A1 (en) * 2001-05-22 2002-11-28 Lambino John P. Firmware upgrade using address conversion

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383431B2 (en) 2002-06-11 2008-06-03 Seiko Epson Corporation Control system and method for rewriting data in a flash memory and a data storage medium in which a program is stored for rewriting data in a flash memory
JP2005250882A (ja) * 2004-03-04 2005-09-15 Fuji Xerox Co Ltd 情報処理装置およびプログラムの書き換え方法
JP2007528071A (ja) * 2004-03-10 2007-10-04 ソニー エリクソン モバイル コミュニケーションズ, エービー ファームウェアアップグレードにおける自動バックアップストア
JP4801041B2 (ja) * 2004-03-10 2011-10-26 ソニー エリクソン モバイル コミュニケーションズ, エービー ファームウェアアップグレードにおける自動バックアップストア
JP2007193596A (ja) * 2006-01-19 2007-08-02 Nec Corp ファームウェア更新回路およびファームウェア更新方法
JP2012008575A (ja) * 2011-07-08 2012-01-12 Seiko Epson Corp 画像表示装置、画像表示装置の起動制御方法、起動制御プログラム、および、当該起動制御プログラムをコンピュータ読取可能に記録した記録媒体
JP2013045285A (ja) * 2011-08-24 2013-03-04 Fuji Xerox Co Ltd 情報処理装置、画像形成装置およびプログラム

Also Published As

Publication number Publication date
EP1120709A2 (en) 2001-08-01
KR100408872B1 (ko) 2003-12-11
KR20010086352A (ko) 2001-09-10
US6789158B2 (en) 2004-09-07
US20020002652A1 (en) 2002-01-03

Similar Documents

Publication Publication Date Title
JP2001209543A (ja) フラッシュ・マイコンにおけるプログラム書き換え方法
US8364887B2 (en) Managing memory data recovery upon power loss
US6745278B2 (en) Computer capable of rewriting an area of a non-volatile memory with a boot program during self mode operation of the computer
US20040139310A1 (en) Information processing apparatus, memory management apparatus, memory management method, and information processing method
KR920022093A (ko) 복구가능한 베이식 펌웨어를 가진 컴퓨터시스템 동작방법
JP3268130B2 (ja) フラッシュeepromを用いたデータ処理装置
JP2006323751A (ja) 情報処理装置、寿命監視方法およびプログラム
JPH10161988A (ja) フラッシュeeprom内蔵マイクロコンピュータ
JP3830867B2 (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
JP5057887B2 (ja) データ更新装置及びデータ更新方法及びデータ更新プログラム
KR20080066381A (ko) 소프트웨어의 업그레이드 방법
JP4826232B2 (ja) 情報処理装置およびブートプログラムの書き換え方法
US20050149493A1 (en) Data recording apparatus and data recording method
JP2001101071A (ja) フラッシュ型メモリを用いたデータ記憶装置及びフラッシュ型メモリのデータ管理方法
JP2004013536A (ja) フラッシュメモリ書き換え制御システム、フラッシュメモリ書き換え制御方法、フラッシュメモリ書き換え制御方法の各工程を実行させるプログラムおよび情報記録媒体
JP2000035919A (ja) フラッシュ型メモリ、その管理装置、その管理方法
JP4572205B2 (ja) フラッシュメモリドライブ装置、その制御方法及びそのプログラム
JP4031693B2 (ja) 不揮発性メモリおよびこれを有したデータ記憶装置
JP4710274B2 (ja) メモリ装置、メモリ装置の制御方法およびデータ処理システム
JP2002007152A (ja) ダウンロード方法および装置
JP2003288213A (ja) ブートプログラム記憶装置、電子機器のブートプログラム記憶方法
JP2005222531A (ja) データ記録装置及びデータ記録方法
JP2000330850A (ja) フラッシュメモリ制御方法
JP2009211152A (ja) 情報処理装置、メモリシステムおよびその制御方法
JP2001297589A (ja) フラッシュメモリ書換え制御方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060417