JP2004038716A - 障害発生時の自動復旧機能を備えたファームウェア更新方法 - Google Patents

障害発生時の自動復旧機能を備えたファームウェア更新方法 Download PDF

Info

Publication number
JP2004038716A
JP2004038716A JP2002196892A JP2002196892A JP2004038716A JP 2004038716 A JP2004038716 A JP 2004038716A JP 2002196892 A JP2002196892 A JP 2002196892A JP 2002196892 A JP2002196892 A JP 2002196892A JP 2004038716 A JP2004038716 A JP 2004038716A
Authority
JP
Japan
Prior art keywords
firmware update
program
firmware
update data
revision
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
JP2002196892A
Other languages
English (en)
Inventor
Shigeru Masubuchi
増渕 茂
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.)
Ricoh Printing Systems Ltd
Original Assignee
Hitachi Printing Solutions 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 Printing Solutions Inc filed Critical Hitachi Printing Solutions Inc
Priority to JP2002196892A priority Critical patent/JP2004038716A/ja
Publication of JP2004038716A publication Critical patent/JP2004038716A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】本発明は、障害発生によってプログラムが破損した場合のファームウェア復旧作業を自動化しかつ効率良く実行することを課題としている。
【解決手段】本発明は,ファームウェア更新前にファームウェア更新データのレビジョンを記憶するフラグAと、ファームウェア更新後にファームウェア更新データのレビジョンを記憶するフラグBと、フラグA、Bが異なる場合にはプログラム破損と判定してファームウェアの再更新を行う復旧プログラムとを設け、ファームウェア更新中に不慮の電源切断等の障害発生等によるプログラム破損が発生した場合に、復旧プログラムによりファームウェアを復旧させることを特徴とする。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明はファームウェア更新中に障害が発生した場合の復旧手段を備えた障害発生時の自動復旧機能を備えたファームウェア更新方法に関する。
【0002】
【従来の技術】
図2は、従来のファームウェア構成例を示す概略図である。主記憶装置2は、マザーボード1を制御する主制御プログラム3やファームウェア更新データ4等を記憶している。拡張カード5は、マザーボード1との信号の送受信を制御する入出力制御部6と、プログラムに従って演算処理を行うCPU7と、プログラムを格納しておくROM8と、プログラムにより必要とされる変数やマザーボード1から送信されたファームウェア更新データ4等を一時的に記憶するRAM9とを有する。
【0003】
ROM8には、電源立ち上げ時にCPU7のレジスタ設定など拡張カードが起動するための初期化処理を実行する起動プログラム10と、ファームウェア更新作業を含めた拡張カード5の主な動作を制御する主動作プログラム11とが記憶されている。主動作プログラム11は、起動プログラム10の終了後に実行される。ファームウェア更新データ4は、主動作プログラム11を更新するためのデータである。操作パネル12は、ユーザがシステムを操作するためのメニュー画面を表示する。
【0004】
以下ファームウェア更新のフローについて説明する。まず、ユーザが操作パネル12からファームウェア更新を実行すると、マザーボード1は主制御プログラム3に従い、ファームウェア更新データ4を拡張カード5へとダウンロードする。次に、CPU7は主動作プログラム11に従い、ダウンロードされたファームウェア更新データ4をRAM9に一時記憶させる。ファームウェア更新データ4のダウンロード終了後、CPU7はROM8中の主動作プログラム11を一部または全て消去してから、RAM9中のファームウェア更新データ4をROM8に書き込む。
【0005】
しかし、CPU7がROM8中の主動作プログラム11に従って書き換えを実行していると、前述の通りROM8中の主動作プログラム11が一部または全て消去されてしまうため、CPU7は主動作プログラム11を読み取れなくなり停止してしまう。そのためROM8中のプログラムの書き換えにおいては、CPU7はROM8中の主動作プログラム11におけるファームウェア更新作業用のプログラムをRAM9へとコピーし、その後CPU7はRAM9にコピーされたファームウェア更新作業用のプログラムに従い動作させるようにする。
【0006】
ROM8へのファームウェア更新データ4の書き込み終了後、CPU7は前述のRAM9中のファームウェア更新作業用プログラムに従い、マザーボード1にファームウェア更新が終了したことを通達する。マザーボード1は主制御プログラム3に従い、操作パネル12からユーザにファームウェア更新終了を通達する。その後、電源再立ち上げ等によってシステムを再起動すれば、更新された主動作プログラム11が実行される。
【0007】
【発明が解決しようとする課題】
しかしながら、ファームウェア更新中に電源切断等の不慮の障害が発生すると、前述の通りROM8における主動作プログラム11の消去中やファームウェア更新データ4の書き込み中であるため、主動作プログラム11が不完全に書き換えられ破損してしまうこととなり、またRAM9においても、記憶していた情報が電源切断等により失われてしまうため、ファームウェアが機能しない状態になってしまう。ファームウェア復旧のためにはROM8を交換する等の手作業が必要であった。
【0008】
本発明は、前述の障害発生によってプログラムが破損した場合のファームウェア復旧作業を自動化し、かつ効率良く実行することを目的としている。
【0009】
【課題を解決するための手段】
前述の目的は、ROM8中に主動作プログラム11のレビジョンを記憶するフラグA、Bを用意し、ROM8中のデータの書き換えをフラグA、主動作プログラム11、フラグBの順にすると、ファームウェア更新が正常に終了した場合にはフラグA、Bとファームウェア更新データ4のレビジョンは同一となり、ファームウェア更新が正常に終了しなかった場合にはフラグA、Bとファームウェア更新データ4のレビジョンは少なくとも1つは異なる内容となることを利用して主動作プログラム11の破損状況を判定し、破損が認められれば主記憶装置2からファームウェア更新データ4を再度ダウンロードしてプログラムを書き換える機能を持つ復旧プログラムを備えることにより達成される。
【0010】
【発明の実施の形態】
以下実施例図面を参照して本発明を説明する。図1は、本発明の実施例におけるファームウェア構成を示す概略図である。マザーボード1、主記憶装置2、主制御プログラム3、ファームウェア更新データ4、拡張カード5、入出力制御部6、CPU7、ROM8、RAM9、起動プログラム10、主動作プログラム11、操作パネル12はそれぞれ図2と同様である。復旧プログラム13は、起動プログラム10の終了後に実行され、プログラムの破損状況をチェックし、プログラムが破損している場合には復旧作業を行う。フラグA、Bは、前述のプログラム破損の判定基準となるフラグである。主制御プログラム3には、ファームウェア更新データ4のレビジョンを読み取り、復旧プログラム13の要請に応じてファームウェア更新データ4およびファームウェア更新データ4のレビジョンを送信する機能を付加する。
【0011】
本実施例では、主動作プログラム11の更新中に障害が発生したと仮定し、その場合の復旧作業について以下説明する。図2に、本発明の実施例におけるファームウェア復旧作業に対するフロー図を示す。障害が発生し電源を再立ち上げすると、起動プログラム10の後、復旧プログラム13による主動作プログラム11の破損状況の判定が行われる。主動作プログラム11に破損が認められた場合、すなわちフラグA、Bが異なる場合には、プログラム書き換え中に障害が発生したと判定される。この場合、復旧プログラム13はマザーボード1にファームウェア更新データ4を送信するよう要請する。ファームウェア更新データ4のダウンロード後、フラグA、主動作プログラム11、フラグBの順に更新する。書き込みが正常であれば、フラグA、Bはファームウェア更新データ4のレビジョンと同一となり主動作プログラム11が実行される。
【0012】
主動作プログラム11に破損が認められない場合、すなわちフラグA、Bが同一である場合には、復旧プログラム13はマザーボード1にファームウェア更新データ4のレビジョンを送信するよう要請する。送信されたファームウェア更新データ4のレビジョンとフラグAが同一であれば、フラグB更新終了後に障害が発生したことになるので、プログラム破損なしと判定され、復旧プログラム13は終了し、主動作プログラム11が開始される。送信されたファームウェア更新データ4のレビジョンとフラグAが異なれば、フラグAの更新前に障害が発生したことになるので、プログラムの破損はないが未更新であると判定される。よって復旧プログラム13は、ファームウェアのレビジョンとファームウェア更新データ4のレビジョンとが異なることを操作パネル12からユーザに通達し、未更新である主動作プログラム11へジャンプする。ユーザはもう一度メニューからファームウェア更新を実行すれば良い。
【0013】
これらの作業を実行しても復旧しない場合は、障害発生時に拡張カード5の何処かにハードウェア的な障害が発生した可能性があるので、任意の手段にてその旨をユーザに通達する等の処置をとる。
【0014】
また、ユーザによりメニューからファームウェア更新が実行された時に、ファームウェア更新データ4のレビジョンと、フラグA、Bが既に同一であれば更新の必要がないので、主制御プログラム3または主動作プログラム11にて更新をキャンセルするよう設計しても良い。ROMは書き込み回数に制限があるため、余計な書き込みを省くことでROMの寿命を延長が期待できる。
【0015】
また、復旧プログラム13は電源立ち上げの都度フラグA、Bを監視し、かつプログラムの破損がなければファームウェア更新データ4のレビジョンも電源立ち上げの都度監視している。よって、主記憶装置2に格納されているファームウェア更新データ4がアップグレードされ、ファームウェア更新データ4のレビジョンが上がった場合には、復旧プログラム13は、前述のプログラムの破損はないが未更新である場合と同じ動作をする。このプログラムの破損はないが未更新である場合を、プログラム破損ありと判定させれば、前述のようにファームウェアは自動的に更新されるようになる。よって、ユーザがメニューからファームウェア更新作業を操作することなく、電源立ち上げ後に復旧プログラム13で自動的にファームウェアを更新するよう設計することもできる。
【0016】
【発明の効果】
以上説明したように本発明によれば、復旧プログラム、ファームウェア更新データのレビジョンおよびフラグA、Bによってプログラムの破損状況を判定することにより、ファームウェア復旧作業を自動化し、かつ効率良く実行することができる。
【0017】
また、フラグA、Bにファームウェアのレビジョンを記憶させておくことにより、ファームウェア更新データのレビジョンと、フラグA、Bが同一であった場合、ファームウェア更新をキャンセルさせることができ、書き込み回数の制限があるROMに対して余計な書き込みを省けるため、ROMの寿命延長が期待できる。
【0018】
さらには、復旧プログラムを利用して、主記憶装置に格納されているファームウェア更新データのレビジョンが上がった場合、ユーザがファームウェア更新メニューを選択することなく自動的にファームウェア更新を実行させることもできる。
【図面の簡単な説明】
【図1】本発明の実施例におけるファームウェア構成を示す概略図。
【図2】従来のファームウェア構成例を示す概略図。
【図3】本発明の実施例におけるファームウェア復旧作業のフロー図。
【符号の説明】
1はマザーボード、2は主記憶装置、3はマザーボード1の主制御プログラム、4はファームウェア更新データ、5は拡張カード、6は拡張カードの入出力制御部、7は拡張カードのCPU、8は拡張カードのROM、9は拡張カードのRAM、10は拡張カード5の起動プログラム、11は拡張カード5の主動作プログラム、12は拡張カード5の復旧プログラムである。

Claims (3)

  1. システムを動作させるマザーボード、該マザーボードを制御する主制御プログラムとファームウェア更新データとを記憶する主記憶装置、ユーザがシステムを操作するためのメニュー画面を表示する操作パネル、および外部とのデータ送受信を制御する入出力制御部とプログラムに従い演算処理を行うCPUとプログラムを格納したROMとファームウェア更新データ等を一時記憶するためのRAMとを有する拡張カードとを備え、ユーザが前記操作パネルから前記ファームウェア更新のメニューを選択でき、ユーザが前記ファームウェア更新メニューを選択した場合に前記主記憶装置から拡張カードに前記ファームウェア更新データがダウンロードされROM中のプログラムを書き換えるという前記ファームウェア更新方法に対して、前記ファームウェア更新前に該ファームウェア更新データのレビジョンを記憶するフラグAと、前記ファームウェア更新後に該ファームウェア更新データのレビジョンを記憶するフラグBと、前記フラグA、前記フラグBが異なる場合にはプログラム破損と判定して前記ファームウェアの再更新を行う復旧プログラムとを設ことを特徴とする、障害発生時の自動復旧機能を備えたファームウェア更新方法。
  2. ユーザによって前記ファームウェア更新メニューが選択されても、前記フラグA、前記フラグBおよび前記ファームウェア更新データのレビジョンが同一の場合には前記ファームウェア更新の必要なしと判定し更新を行わないことを特徴とする、請求項1記載の障害発生時の自動復旧機能を備えたファームウェア更新方法。
  3. プログラムが破損しているか否かに関わらず、前記フラグA、前記フラグBと前記主記憶装置に記憶されている前記ファームウェア更新データのレビジョンとが異なる場合には、ユーザに前記ファームウェア更新メニューを選択させることなく自動的にファームウェア更新を実行することを特徴とする、請求項2記載の障害発生時の自動復旧機能を備えたファームウェア更新方法。
JP2002196892A 2002-07-05 2002-07-05 障害発生時の自動復旧機能を備えたファームウェア更新方法 Pending JP2004038716A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002196892A JP2004038716A (ja) 2002-07-05 2002-07-05 障害発生時の自動復旧機能を備えたファームウェア更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002196892A JP2004038716A (ja) 2002-07-05 2002-07-05 障害発生時の自動復旧機能を備えたファームウェア更新方法

Publications (1)

Publication Number Publication Date
JP2004038716A true JP2004038716A (ja) 2004-02-05

Family

ID=31704798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002196892A Pending JP2004038716A (ja) 2002-07-05 2002-07-05 障害発生時の自動復旧機能を備えたファームウェア更新方法

Country Status (1)

Country Link
JP (1) JP2004038716A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073978A1 (en) 2005-09-27 2007-03-29 Samsung Electronics Co., Ltd. Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
KR100724940B1 (ko) 2005-12-05 2007-06-04 삼성전자주식회사 Dlna 시스템에서의 dms의 컨텐츠 업데이트 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073978A1 (en) 2005-09-27 2007-03-29 Samsung Electronics Co., Ltd. Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
KR100750132B1 (ko) * 2005-09-27 2007-08-21 삼성전자주식회사 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
US8166285B2 (en) 2005-09-27 2012-04-24 Samsung Electronics Co., Ltd. Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
US8825995B2 (en) 2005-09-27 2014-09-02 Samsung Electronics Co., Ltd. Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
US9792105B2 (en) 2005-09-27 2017-10-17 Samsung Electronics Co., Ltd. Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
KR100724940B1 (ko) 2005-12-05 2007-06-04 삼성전자주식회사 Dlna 시스템에서의 dms의 컨텐츠 업데이트 방법

Similar Documents

Publication Publication Date Title
US9407972B2 (en) Data processor, program updating method and storage medium
KR100415371B1 (ko) 컴퓨터
US20090240932A1 (en) Information processing device, and method of starting information processing device
JP6074064B2 (ja) 電子機器
JP2002244877A (ja) プリンタ装置およびそのプログラム更新方法
JP2000245681A (ja) 電子内視鏡装置用ファームウェアのバージョンアップ方法及び電子内視鏡装置
JP2006277225A (ja) 制御装置、方法、プログラム及び記憶媒体
JP2011164827A (ja) フラッシュメモリを備えた電子機器およびフラッシュメモリに格納されたプログラムの更新方法
JP2002189609A (ja) アクシデントに適応したソフトウェア更新方式および方法
JP6776220B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2004038716A (ja) 障害発生時の自動復旧機能を備えたファームウェア更新方法
JP2007172200A (ja) ソフトウェア更新システム
JP2023068538A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2011175352A (ja) ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム
JP2007066132A (ja) プログラムシステム
WO2012077604A1 (ja) 処理装置、プログラム更新方法、およびプログラム
JP3515922B2 (ja) 電子内視鏡装置
JPH10187454A (ja) Bios書き換え方式
JP5158883B2 (ja) ファームウェア更新方法及びファームウェア更新装置
JP2008090727A (ja) 情報処理装置、情報処理方法、情報処理プログラム
JP2008009494A (ja) 画像形成装置
JP2006099393A (ja) ファームウェア管理装置、ファームウェア管理プログラム、電子機器、記録媒体、及びファームウェア管理方法
JP2004110220A (ja) プログラムの更新方法
JP7491765B2 (ja) ファームウェア更新システムおよびファームウェア更新方法
JP2003330655A (ja) 画像形成装置および画像形成装置の制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム