JP4771580B2 - プログラム制御開始方法及びファームウェア格納方法 - Google Patents

プログラム制御開始方法及びファームウェア格納方法 Download PDF

Info

Publication number
JP4771580B2
JP4771580B2 JP2000344549A JP2000344549A JP4771580B2 JP 4771580 B2 JP4771580 B2 JP 4771580B2 JP 2000344549 A JP2000344549 A JP 2000344549A JP 2000344549 A JP2000344549 A JP 2000344549A JP 4771580 B2 JP4771580 B2 JP 4771580B2
Authority
JP
Japan
Prior art keywords
firmware
space
valid
erased
firmware space
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
JP2000344549A
Other languages
English (en)
Other versions
JP2001175488A (ja
Inventor
シー.ビオンディ マーク
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.)
Xerox Corp
Original Assignee
Xerox Corp
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 Xerox Corp filed Critical Xerox Corp
Publication of JP2001175488A publication Critical patent/JP2001175488A/ja
Application granted granted Critical
Publication of JP4771580B2 publication Critical patent/JP4771580B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータプログラムの格納方法及びプログラム制御開始方法に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】
イメージスキャナ、モデム、及びプリンタ等のコンピュータ周辺機器の大半は、一般的に、揮発性及び/又は不揮発性であり得るランダムアクセスメモリ(RAM)等の可変メモリと、読取り専用メモリ(ROM)等の不変メモリと、ファームウェアの転送を容易にする種々のハードウェア回路とを含む内蔵された制御システムを用いている。初期の周辺機器の1つの短所は、サービス技術者が不変メモリに収容されている古いプログラムを物理的に取り除き、アップグレードされたソフトウェアを収容している新しい不変メモリをインストールしないと、機器内のソフトウェアをアップグレード及び改良できないことであった。
【0003】
不揮発性メモリ、特に、電子的に消去可能なプログラム可能読み取り専用フラッシュメモリ(EEPROM)が改良されると、ハードウェアの販売者は、アップグレードされたソフトウェアを遠隔でダウンロードして周辺機器に格納する技術を開発した。この方法は、一般的に、周辺機器に新しいソフトウェアを供給し、周辺機器の内臓コントローラに新しいプログラムを不揮発性可変メモリに格納するよう指示することを含む。このソフトウェア及びそのようなソフトウェアの不変メモリへの格納は、一般的に、両方を合わせてファームウェアと呼ばれる。
【0004】
しかし、この新しいファームウェアをダウンロード及び格納する方法の1つの短所として、このファームウェアのアップグレードルーチン中に、例えば不意の停電によって処理が中断されると、データ及びプログラムが壊れて、システムが使用できなくなることがある。この事態が生じると、しばしば、周辺機器を修理するための救済策は、サービス技術者を呼んで、不揮発性可変メモリ、又は場合によっては回路基板全体を物理的に交換することしかなくなる。
【0005】
【課題を解決するための手段】
本発明は、不揮発性可変メモリに収容されるソフトウェアのアップグレードを修復可能にするシステム、方法、及びアーキテクチャを提供する。
【0006】
本発明は、ファームウェアのアップグレード手続きの失敗からの修復を可能にするファームウェアアーキテクチャを個別に提供する。
【0007】
本発明は、アップグレードされるファームウェアを除去せずに、ファームウェアをアップグレードできるようにするファームウェアアーキテクチャを個別に提供する。
【0008】
本発明の様々な例示的な実施形態では、ファームウェアを収容するシステムは、ブートストラッププログラムを格納するメモリを含む。このシステムは、少なくとも2つのファームウェア記憶スペースを有する不揮発性可変メモリを更に含む。ファームウェア記憶スペースのうち第1の記憶スペースは、現在のファームウェアプログラムを格納する。
【0009】
そのファームウェアプログラムをアップグレードする際には、アップグレード用ファームウェアは、少なくとも2つの記憶スペースのうち第2の記憶スペースに受け取られて格納される。アップグレード用ファームウェアが第2記憶スペースに完全に受け取られて格納されると、第1記憶スペースの元のファームウェアは消去又はもはや有効でないとマークされる。これにより、有効なファームウェアは第2記憶スペースのアップグレードされたファームウェアのみとなる。ブートストラッププログラムは、有効なファームウェアを収容しているいずれかの記憶スペースにアクセスする。
【0010】
本発明の方法及びシステムの様々な例示的な実施形態の、他の特徴及び長所は、以下に述べられ、又は添付の図面及び次の詳細説明から明らかとなる。
【0011】
【発明の実施の形態】
本発明を、添付の図面に関して詳細に述べる。図中、同一参照番号は同一要素を示す。
【0012】
図1は、ファームウェアデータソース100を用いる、ファームウェアをアップグレードするためのシステムのブロック図である。ファームウェアデータソース100は、第1リンク120を介して1つ以上のモデム200と、第2リンク130を介してプリンタ300と、第3リンク140を介してイメージスキャナ400と、又は第4データリンク150を介してファームウェアデータソース100に接続される一般的なファームウェアを含むデバイス500等の公知の又は今後開発される任意のファームウェアを含むデバイスと接続され得る。新しい、アップグレード又は交換用ファームウェアを、ファームウェアデータソース100から、リンク110乃至150を介して、ファームウェアを含む種々のデバイス200乃至500に転送できる。
【0013】
ファームウェアデータソース100は、ファームウェアを含むデバイス200乃至500に新しいファームウェアプログラムを供給する能力がある、公知の又は今後開発される任意のデータソースであってよい。同様に、リンク120乃至150は、それぞれ、ファームウェアを含むデバイス200乃至500をファームウェアデータソース100に接続するための、シリアルバスやSCSIポート等の直接ケーブル接続、ワイドエリアネットワーク又はローカルエリアネットワークを介した接続、イントラネットや外部ネットを介した接続、インターネットを介した接続、又は他の任意の分散形処理ネットワーク又はシステムを介した接続を含む、公知の又は今後開発される任意の装置、ソフトウェアユーティリティ、又はシステムであってよい。
【0014】
更に、ファームウェアデータソース100及び個々のリンクは、共に、全体的又は部分的にファームウェアを含むデバイス500に組み込まれていてもよい。例えば、ファームウェアデータソース100が、ファームウェアを含むデバイスに組み込まれたフロッピーディスクドライブであり、個別のリンク150が、ディスクドライブコントローラ及び接続ケーブルハードウェアであってもよい。
【0015】
図2は、ファームウェアを含むデバイス500の例示的な一実施形態である。ファームウェアを含むデバイス500は、コントローラ510と、任意の可変メモリ520と、任意の不変メモリ530と、不揮発性可変メモリ540と、周辺ハードウェア550とを含む。コントローラ510と種々のメモリ520乃至540及び周辺ハードウェア550との通信は、バス512を用いて行われる。
【0016】
コントローラ510は、ファームウェアを含む特定のデバイス500によって供給される、メモリ520乃至550の任意の1つに格納されているファームウェアに基く新しい又は交換用ファームウェアのダウンロードを含む様々な機能を実行する。任意の可変メモリ520は、プログラム及び一時的なデータの格納に一般的に用いられる揮発性の高速メモリである。任意の不変メモリ530は、時間が経っても更新の必要がなく電力を供給し続けられる必要がない、デフォルトシステム設定及び基本的入出力ルーチン等のデータ及びプログラムの格納に用いられる不揮発性メモリである。
【0017】
不揮発性可変メモリ540もデータ及びプログラムを格納でき、可変であるとともに不揮発性である、即ち、電力が除去されても情報が失われないという長所を有する。
【0018】
ファームウェアを含むデバイス500は、周辺ハードウェア550及びデータリンク150を介して外部と接続される。
【0019】
パワーアップ中に、コントローラ510は、不変メモリ530又は不揮発性可変メモリ540のいずれかに格納されている予めプログラムされた命令を用いて、リセット状態から周知の動作状態に遷移する。コントローラ510は、不変メモリ530又は不揮発性可変メモリ540からのプログラムを実行し続けてもよく、又は種々のプログラムを可変メモリ520に転送し、可変メモリ520に格納されたプログラムを実行してもよい。
【0020】
一般的なファームウェアを含むデバイス500のプログラムアップグレード操作中、ファームウェアデータソース100は、リンク150を用いて、新しいプログラム及びデータをダウンロードする。コントローラ510によって新しいプログラムが受け取られると、それらは一時的な格納のために可変メモリ520に送られる。任意に、コントローラ510は、巡回冗長検査やチェックサムルーチン等の検証技術を用いて、新しいデータ及びプログラムに対する検証チェックを行ってもよい。新しいデータ及びプログラムが検証されると、コントローラ510は、新しい情報を格納するための適切なロケーションを見つけるために、不揮発性可変メモリ540を検査する。
【0021】
図3は、本発明に従った図2の不揮発性可変メモリ540のアーキテクチャの例示的な一実施形態をより詳細に示す。
【0022】
パワーアップ後にコントローラ510が操作を開始するデフォルトのロケーションとして、ブートコードスペース542が設けられている。しかしながら、ブートスペース部は、代わりに不変メモリ530の一部であってもよいことを認識されたい。2つのファームウェアコードスペース544及び546は、ファームウェアを含むデバイス500によって用いられるファームウェアを格納するために確保されている。ファームウェアコードスペース544及び546の各々は、ファームウェアを含むデバイス500の完全なファームウェアを収容するのに十分な大きさがある。ブートコードスペース546は第1又は第2のファームウェアスペース544及び546より小さく示されており、第1及び第2のファームウェアスペース544及び546は同じサイズで示されているが、これらのスペース542、544及び546は任意の相対的及び絶対的なサイズであってよい。
【0023】
チェックサムメモリ部545及び547は、各々のファームウェアスペースのデータの有効性に対する信頼性の測度を与える。第1及び第2チェックサムメモリ部545及び547は任意のサイズであってよいが、本発明に従った不揮発性可変メモリの様々な例示的な実施形態では、第1及び第2チェックサム部545及び547は、少なくとも32ビットのデータを格納するのに十分な大きさである。
【0024】
本発明に従ったシステム及び方法の様々な例示的な実施形態は、チェックサムを用いて、個々のファームウェアスペース544及び546の正当性をチェックするが、公知の又は今後開発される任意の技術を用いて、第1チェックサムメモリ部545及び/又は第2チェックサムメモリ部542のデータを検証することができる。例えば、巡回冗長検査、多重チェックサム、及びマルコフモデルを用いる技術を用いることができる。
【0025】
パワーアップ中に、コントローラ510はブートコードスペース542内の命令を用いて操作を開始する。この間、コントローラ510は種々のハードウェアを初期状態にし、2つのファームウェアスペース544又は546のどちらが有効なファームウェアを収容しているかを判定する。適切なファームウェアスペース544又は546を識別したら、コントローラ510は、ブートコードスペース542に格納されている命令からの指示を受けて、識別されたファームウェアスペース544又は546に格納されている命令を実行する。
【0026】
新しいファームウェアを格納する前に、コントローラ510は、2つのファームウェアスペース544又は546のどちらが有効なファームウェアを収容しているかを判定しなければならない。ファームウェアスペース544又は546が、有効な又は現在のファームウェアをもはや収容していない場合は、そのファームウェアは一般的に消去されるか、無効である又はチェックサムに合わないとしてマークされる。或いは、コントローラ510は、コントローラ510が用いている現在のファームウェアスペースを、有効なファームウェアスペースとして定めてもよく、又は、ある記録保存スキームに基いて有効性を判定してもよい。第1及び第2ファームウェアスペース544又は546のどちらが有効なデータを収容しているかを識別する、公知の又は今後開発される任意の技術を用いることができることを認識されたい。第1及び第2ファームウェアスペース544又は546のどちらが有効なファームウェアを収容しているかを判定すると、コントローラ510は、有効なファームウェアを収容していないファームウェアスペース544又は546に新しいデータ及びプログラムをロードする。
【0027】
図4は、本発明に従ったプログラム制御開始方法の例示的な第1実施形態の概要を示すフロー図である。制御はステップS100で開始し、ステップS110に進み、そこで、ブートコードスペースのコードが実行される。次に、ステップS120で、ファームウェアを含むデバイスの種々のハードウェア要素が必要に応じて初期状態にされる。例えば、割込みコントローラ、ダイナミックRAMコントローラ、種々の周辺機器及び種々のマイクロプロセッサレジスタを操作する必要があろう。次に、ステップS130で、第1ファームウェアスペースが消去されているか否かが判定される。第1ファームウェアスペースが消去されている場合は、制御はステップS150にジャンプし、消去されていない場合は、制御はステップS140に進む。
【0028】
第1ファームウェアスペースが消去されていない場合は、ステップS140で、第1ファームウェアスペース内のデータが有効であるか否かが判定される。第1ファームウェアスペース内のデータが有効でない場合は、制御はステップS150に進む。有効である場合は、制御はステップS160にジャンプする。
【0029】
ステップS150では、第1ファームウェアスペースのファームウェアが実行される。一方、ステップS160では、第2ファームウェアスペースに格納されているファームウェアが実行される。
【0030】
図5は、本発明に従ったプログラム制御開始方法の例示的な第2実施形態の概要を示すフロー図である。制御はステップS200で開始し、ステップS210に進み、そこで、ブートスペースのコードが実行される。次に、ステップS220で、種々のハードウェア要素が必要に応じて初期状態にされる。次に、制御はステップS230に進む。
【0031】
ステップS230では、第1ファームウェアスペース544が消去されているか否かが判定される。第1ファームウェアスペースが消去されている場合は、制御はステップS260にジャンプする。消去されていない場合は、制御はステップS240に進む。第1ファームウェアスペース544が消去されていない場合は、ステップS240で、第1ファームウェアスペース544のデータの有効性がチェックされる。第1ファームウェアスペース544のデータが有効である場合は、制御はステップS250に進む。有効でない場合は、制御はステップS260にジャンプする。ステップS250では、第1ファームウェアスペースにファームウェアが存在するとともに有効であるので、第1ファームウェアスペース544のファームウェアが実行される。
【0032】
第1ファームウェアスペース546が消去されている又は第1ファームウェアスペース546のデータが有効でない場合は、ステップS260が実行される。ステップS260では、第2ファームウェアスペース546が消去されているか否かが判定される。第2ファームウェアスペース546が消去されていない場合は、制御はステップS270に進む。消去されている場合は、制御はステップS290にジャンプする。
【0033】
第2ファームウェアスペース546が消去されていない場合は、ステップS270で、第2ファームウェアスペース546のデータが有効であるか否かが判定される。第2ファームウェアスペース546のデータが有効である場合には、制御はステップS280に進む。有効でない場合には、制御はステップS290にジャンプする。
【0034】
ステップS280では、第2ファームウェアスペース546にデータが存在するとともに有効であるので、第2ファームウェアスペース546のファームウェアが実行される。
【0035】
第2ファームウェアスペース546が消去されている又は第2ファームウェアスペース546のデータが有効でない場合は、ステップS290が実行される。ステップS290では、エラーメッセージが表示又は出力される。出力されるエラーメッセージは、単純なライトの点滅や、問題を記述する詳細なテキストのメッセージを含む、どのような形態をとってもよい。エラーメッセージルーチンは、新しいファームウェアプログラムをダウンロードするための簡単なダウンロードルーチン等の他の機能を備えることもできる。次に、制御はステップS295に進み、そこで、このプログラム初期化方法は終了する。
【0036】
図6及び図7は、本発明に従った、新しいプログラム及びデータ制御をロード及び格納するための1つの例示的な操作の概要を示すフロー図である。制御はステップS300で開始してステップS310に進み、そこで、新しいファームウェアが取得される。次に、ステップS320で、新しいファームウェアが有効であるか否かが判定される。新しいファームウェアのデータが有効でない場合は、制御はステップS330に進む。有効である場合は、制御はステップS340にジャンプする。
【0037】
ステップS330では、新しいファームウェアデータのデータが有効でないので、エラーメッセージが表示又は出力される。そして、制御はステップS460にジャンプする。
【0038】
ステップS340では、新しいファームウェアデータが有効であるので、第1ファームウェアスペース544が消去されているか否かが判定される。第1ファームウェアスペース544が消去されている場合は、制御はステップS380にジャンプする。消去されていない場合は、制御はステップS350に進む。
【0039】
ステップS350では、第1ファームウェアスペースが消去されていないので、第2ファームウェアスペースが消去されているか否かが判定される。第2ファームウェアスペースが消去されている場合は、制御はステップS410にジャンプする。消去されていない場合は、制御はステップS360に進む。
【0040】
ステップS360では、第2ファームウェアスペースが消去されていないので、第1ファームウェアスペースが有効であるか否かが判定される。第1ファームウェアスペースが有効である場合は、制御はステップS370に進む。有効でない場合は、制御はステップS380にジャンプする。
【0041】
ステップS370では、第1ファームウェアスペースが有効であるので、第2ファームウェアスペースが有効であるか否かが判定される。第2ファームウェアスペースが有効である場合は、制御はステップS450にジャンプし、有効でない場合は、制御はステップS410にジャンプする。
【0042】
ステップS380では、第1ファームウェアスペースが消去されているか又は第1ファームウェアスペースが有効でないかの、いずれかであるので、新しいファームウェアが第1ファームウェアスペースにダウンロードされ、任意に、第1ファームウェアスペースが有効とマークされる。そして、ステップS390で、第2ファームウェアスペースが消去及び/又は無効とマークされる。次に、ステップS400で、第1ファームウェア記憶スペースのファームウェアが実行される。
【0043】
一方、ステップS410では、第2ファームウェアスペースが消去されているか又は第2ファームウェアスペースが有効でないかの、いずれかであるので、新しいファームウェアが第2ファームウェアスペースに格納され、任意に、第2ファームウェアスペースが有効とマークされる。そして、ステップS420で、第1ファームウェアスペースが消去及び/又は無効とマークされる。次に、ステップS430で、第2ファームウェアスペースのファームウェアが実行される。
【0044】
ステップS450では、第2ファームウェアスペースが有効であるので、エラーメッセージが表示又は出力される。出力されるエラーメッセージは、単純なライトの点滅や、問題を記述する詳細なテキストのメッセージを含む、どのような形態をとってもよい。次に、制御はステップS460に進み、そこで、ファームウェアのロード及び格納方法は停止する。
【0045】
図6及び図7に示されている、本発明に従ったファームウェアのロード及び格納方法のこの例示的な実施形態では、ステップS340及びステップS350はスキップされてもよい。この場合には、制御はステップS320から直接ステップS360に進む。消去されているファームウェアスペースが無効なファームウェアスペースとして見えるとすれば、ステップS340及びステップS350で実行される操作は、それぞれ、ステップS360及びステップS370で実行される操作に対して冗長である。或いは、第1ファームウェアスペース及び第2ファームウェアスペースの一方が前に消去されていれば、ステップS360及びステップS370がスキップされてもよい。
【0046】
図1から図3の一般的なファームウェアを含むデバイス500及び図4から図7の方法は、プログラムされたコントローラ510及び周辺集積回路素子を用いて実現できる。しかし、一般的なファームウェアを含むデバイス500は、汎用コンピュータ、専用コンピュータ、ASIC若しくは他の集積回路、デジタル信号プロセッサ、ディスクリート素子等のハードワイヤード電子又は論理回路、又はPLD、PLA、FPGA若しくはPAL等のプログラム可能論理デバイス等でも実現できる。概して、有限状態機械を実行でき、ひいては図1から図7のシステム又は方法を実現できる、任意のデバイスを用いることができる。
【0047】
本発明は、概要を上述した例示的な実施形態とともに述べられてきたが、当業者には多くの代替、修正及び変更が明白であることは明らかである。従って、上述した本発明の例示的な実施形態は、説明を意図したものであり、限定するものではない。本発明の精神及び範囲を逸脱することなく、様々な変更がなされ得る。
【図面の簡単な説明】
【図1】ファームウェアデータソース及びファームウェアを含む種々のデバイスのブロック図である。
【図2】本発明に従ったファームウェアを含むデバイスの例示的な一実施形態のブロック図である。
【図3】図2の不揮発性可変メモリの例示的な一実施形態のブロック図である。
【図4】本発明に従ったプログラム制御開始方法の例示的な第1実施形態の概要を示すフロー図である。
【図5】本発明に従ったプログラム制御開始方法の例示的な第2実施形態の概要を示すフロー図である。
【図6】本発明に従ったファームウェアのアップグレード方法の例示的な実施形態の概要を示すフロー図である。
【図7】本発明に従ったファームウェアのアップグレード方法の例示的な実施形態の概要を示すフロー図である。
【符号の説明】
100 ファームウェアデータソース
510 コントローラ
540 不揮発性可変メモリ
544 第1ファームウェアメモリスペース
546 第2ファームウェアメモリスペース

Claims (1)

  1. 少なくとも第1ファームウェアスペースおよび第2ファームウェアスペースを有するシステムに新しいファームウェアを格納する方法であって、
    前記第1ファームウェアスペースが消去されているか否か判定し、
    前記第1ファームウェアスペースが消去されている場合には、該第1ファームウェアスペースにファームウェアをダウンロードし、該第1ファームウェアスペースを有効とし、
    前記第2ファームウェアスペースを消去するとともに、該第2ファームウェアスペースを無効とし、
    前記第1ファームウェアスペースが消去されていない場合には、前記第2ファームウェアスペースが消去されているか否か判定し、
    前記第2ファームウェアスペースが消去されている場合には、該第2ファームウェアスペースにファームウェアをダウンロードし、該第2ファームウェアスペースを有効とし、
    前記第1ファームウェアスペースを消去するとともに、該第1ファームウェアスペースを無効とし、
    前記第2ファームウェアスペースが消去されていない場合には、前記第1ファームウェアスペースが有効であるか否か判定し、
    前記第1ファームウェアスペースが有効でない場合には、該第1ファームウェアスペースにファームウェアをダウンロードし、該第1ファームウェアスペースを有効とし、前記第2ファームウェアスペースを消去するとともに、該第2ファームウェアスペースを無効とし、
    前記第1ファームウェアスペースが有効である場合には、前記第2ファームウェアスペースが有効であるか否か判定し、
    前記第2ファームウェアスペースが有効でない場合には、該第2ファームウェアスペースにファームウェアをダウンロードし、該第2ファームウェアスペースを有効とし、前記第1ファームウェアスペースを消去するとともに、該第1ファームウェアスペースを無効とし、
    前記第2ファームウェアスペースが有効である場合には、エラーメッセージを出力する、
    方法。
JP2000344549A 1999-11-12 2000-11-13 プログラム制御開始方法及びファームウェア格納方法 Expired - Fee Related JP4771580B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/439,611 US6622246B1 (en) 1999-11-12 1999-11-12 Method and apparatus for booting and upgrading firmware
US439611 2003-05-15

Publications (2)

Publication Number Publication Date
JP2001175488A JP2001175488A (ja) 2001-06-29
JP4771580B2 true JP4771580B2 (ja) 2011-09-14

Family

ID=23745405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000344549A Expired - Fee Related JP4771580B2 (ja) 1999-11-12 2000-11-13 プログラム制御開始方法及びファームウェア格納方法

Country Status (4)

Country Link
US (1) US6622246B1 (ja)
EP (1) EP1100014A3 (ja)
JP (1) JP4771580B2 (ja)
BR (1) BR0005717A (ja)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100253229B1 (ko) * 1997-04-14 2000-04-15 구자홍 디지탈 방송 수신기 및 그의 다운 로딩 방법
KR100322006B1 (ko) * 1999-06-09 2002-02-06 윤종용 펌웨어 보드의 프로그램을 변경하기 위한 장치 및 방법
US20050027966A1 (en) * 1999-12-09 2005-02-03 Pei-Jei Hu Device and method for digital signal processor code downloading
CA2396100A1 (en) * 2000-01-07 2001-07-19 Xiaodong Liu Method and apparatus for backing up application code upon power failure during a code update
JP2002091834A (ja) * 2000-09-19 2002-03-29 Nissan Motor Co Ltd Rom診断装置
US7268900B1 (en) 2000-09-29 2007-09-11 Marvell International Technology Ltd. Printer formatter in a cable
US6954850B1 (en) * 2000-10-30 2005-10-11 Matsushita Electric Works, Ltd. Electronic device that uses a pager network for remote reprogramming of the device
US6859876B2 (en) * 2000-12-29 2005-02-22 Hewlett-Packard Development Company, L.P. System and method for detecting and using a replacement boot block during initialization by an original boot block
US7082603B2 (en) * 2001-01-03 2006-07-25 Intel Corporation Upgrading peripheral devices
US6957328B2 (en) * 2001-01-05 2005-10-18 International Business Machines Corporation System and method using a first counter and a second counter to select a code image during a reboot routine
US20020178352A1 (en) * 2001-05-22 2002-11-28 Lambino John P. Firmware upgrade using address conversion
JP2002366426A (ja) 2001-06-11 2002-12-20 Mitsumi Electric Co Ltd プログラム実行装置およびプログラム実行方法
US7103641B2 (en) * 2001-06-18 2006-09-05 Intel Corporation Method and apparatus for distributing computer platform firmware across a network
US7248381B2 (en) * 2001-07-10 2007-07-24 Avago Technologies Imaging Ip (Singapore) Pte. Ltd. Point-of-sale demonstration of computer peripherals
JP2003025688A (ja) * 2001-07-12 2003-01-29 Fujitsu Ltd プリンタのファームウエアインストール方法、プリンタ及びプリンタシステム
DE10137505B4 (de) 2001-07-16 2005-06-23 Francotyp-Postalia Ag & Co. Kg Anordnung und Verfahren zum Ändern der Funktionalität eines Sicherheitsmoduls
US6918027B2 (en) * 2001-07-30 2005-07-12 Hewlett-Packard Development Company, L.P. System and method for in-system programming through an on-system JTAG bridge of programmable logic devices on multiple circuit boards of a system
US20040225783A1 (en) * 2001-07-30 2004-11-11 Erickson Michael John Bus to multiple jtag bus bridge
US6954929B2 (en) * 2001-07-30 2005-10-11 Hewlett-Packard Development Company, L.P. Method for just-in-time updating of programming parts
US6883109B2 (en) * 2001-07-30 2005-04-19 Hewlett-Packard Development Company, L.P. Method for accessing scan chains and updating EEPROM-resident FPGA code through a system management processor and JTAG bus
US6836859B2 (en) * 2001-08-15 2004-12-28 Sun Microsystems, Inc. Method and system for version control in a fault tolerant system
US7624391B2 (en) * 2001-11-05 2009-11-24 Hewlett-Packard Development Company, L.P. Device-based model for software driver delivery and upgrade
US6816985B2 (en) * 2001-11-13 2004-11-09 Sun Microsystems, Inc. Method and apparatus for detecting corrupt software code
US7266731B2 (en) * 2001-11-13 2007-09-04 Sun Microsystems, Inc. Method and apparatus for managing remote software code update
JP3961483B2 (ja) * 2001-11-29 2007-08-22 富士通株式会社 中央演算装置および演算プログラム
US7346672B2 (en) * 2002-03-12 2008-03-18 Hewlett-Packard Development Company, L.P. Automatic TFTP firmware download
US6880149B2 (en) * 2002-04-01 2005-04-12 Pace Anti-Piracy Method for runtime code integrity validation using code block checksums
US7305668B2 (en) * 2002-07-31 2007-12-04 Intel Corporation Secure method to perform computer system firmware updates
US7089414B2 (en) * 2003-04-10 2006-08-08 International Business Machines Corporation Method and apparatus for updating a microcode image in a memory
EP1494119A1 (en) * 2003-06-30 2005-01-05 Thomson Multimedia Broadband Belgium Network equipment and a method for monitoring the start up of a such an equipment
US7178019B2 (en) * 2003-11-13 2007-02-13 Hewlett-Packard Development Company, L.P. Networked basic input output system read only memory
US7562360B2 (en) * 2003-12-01 2009-07-14 Texas Instruments Incorporated Method and system for firmware downloads
EP1607865B1 (en) * 2004-06-14 2013-08-14 Micron Technology, Inc. Data control unit capable of correcting boot errors, and corresponding method
US7376870B2 (en) * 2004-09-30 2008-05-20 Intel Corporation Self-monitoring and updating of firmware over a network
TWI276994B (en) * 2004-11-23 2007-03-21 Mediatek Inc Method and chip for upgrading flash ROM of optical disk drive
FR2879777B1 (fr) * 2004-12-17 2007-02-16 Actaris Sas Soc Par Actions Si Telechargement pour un compteur d'ernergie
EP1672491A1 (fr) * 2004-12-17 2006-06-21 Actaris SAS Téléchargement pour un compteur d'énergie
WO2006069492A1 (en) * 2004-12-31 2006-07-06 Intel Corporation Manageability extension mechanism for system firmware
CN102156653B (zh) * 2004-12-31 2017-05-10 英特尔公司 ***固件的可管理扩展方法、装置和***
US7516315B2 (en) 2005-03-18 2009-04-07 Research In Motion Ltd. Electronic device having an alterable configuration and methods of manufacturing and configuring the same
EP1703383A1 (en) 2005-03-18 2006-09-20 Research In Motion Limited Electronic device having an alterable configuration and methods of manufacturing and configuring the device
US8237951B2 (en) * 2005-05-11 2012-08-07 Sharp Laboratories Of America, Inc. Intermediate stage emulation of firmware on connected host
JP2007047993A (ja) * 2005-08-09 2007-02-22 Rohm Co Ltd 制御回路、それを用いた電子機器およびファームウェアの更新方法
US7627746B1 (en) * 2005-08-10 2009-12-01 Infoblox Inc. Network appliance management
US20070061813A1 (en) * 2005-08-30 2007-03-15 Mcdata Corporation Distributed embedded software for a switch
KR100778293B1 (ko) * 2005-10-10 2007-11-22 삼성전자주식회사 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법
US7743224B2 (en) * 2006-01-06 2010-06-22 Dot Hill Systems Corp. Method and apparatus for virtual load regions in storage system controllers
KR101324187B1 (ko) * 2006-08-24 2013-11-06 삼성전자주식회사 디스플레이장치 및 그 정보갱신방법
TW200825915A (en) * 2006-12-07 2008-06-16 Wistron Corp Computer system and related method for preventing from failing to update BIOS program
US20080184020A1 (en) * 2007-01-25 2008-07-31 International Business Machines Corporation Apparatus and method to update firmware disposed in multiple devices sharing a common address in a computing system
TWI384367B (zh) * 2008-12-31 2013-02-01 Askey Computer Corp 韌體更新系統及方法
US9104521B2 (en) * 2009-03-16 2015-08-11 Tyco Electronics Subsea Communications Llc System and method for remote device application upgrades
US8812854B2 (en) * 2009-10-13 2014-08-19 Google Inc. Firmware verified boot
US20110320794A1 (en) * 2010-06-28 2011-12-29 Chung-Jen Yang Flash System And Method For Updating The Flash System
US8595716B2 (en) 2011-04-06 2013-11-26 Robert Bosch Gmbh Failsafe firmware updates
TWI486874B (zh) * 2012-03-27 2015-06-01 華擎科技股份有限公司 電子裝置及開機方法
JP6070360B2 (ja) * 2013-03-29 2017-02-01 沖電気工業株式会社 情報処理装置およびその処理方法
US9838250B1 (en) 2014-04-04 2017-12-05 Seagate Technology Llc Recipient-specific feature activation
US9535676B1 (en) 2014-04-04 2017-01-03 Seagate Technology Llc Remote feature activation
US9633330B1 (en) 2014-04-04 2017-04-25 Seagate Technoglogy LLC Late stage SKU assignment
US9584498B1 (en) 2014-04-04 2017-02-28 Seagate Technology Llc Feature activation using near field communication
JP6959153B2 (ja) * 2018-01-19 2021-11-02 株式会社Pfu 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003591A (en) * 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
US5878256A (en) * 1991-10-16 1999-03-02 International Business Machine Corp. Method and apparatus for providing updated firmware in a data processing system
US5432927A (en) * 1992-06-17 1995-07-11 Eaton Corporation Fail-safe EEPROM based rewritable boot system
US5495611A (en) 1992-06-22 1996-02-27 International Business Machines Corporation Method and apparatus for dynamic load of an ABIOS device support layer in a computer system
IT1255618B (it) 1992-09-30 1995-11-09 Sits Soc It Telecom Siemens Unita' di controllo e di elaborazione duplicata per apparati di telecomunicazioni
US5623604A (en) * 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
US5568641A (en) * 1995-01-18 1996-10-22 Hewlett-Packard Company Powerfail durable flash EEPROM upgrade
JP3200661B2 (ja) * 1995-03-30 2001-08-20 富士通株式会社 クライアント/サーバシステム
US6009500A (en) * 1995-06-07 1999-12-28 Compaq Computer Corporation Replacement of erroneous firmware in a redundant non-volatile memory system
EP0790554A1 (de) 1996-02-16 1997-08-20 Siemens Aktiengesellschaft Verfahren und Schaltungsanordnung zur Steuerung eines Firmwareladeprozesses
JPH09231065A (ja) * 1996-02-21 1997-09-05 Matsushita Electric Ind Co Ltd プログラム変更可能な電子制御装置
US5781921A (en) 1996-05-06 1998-07-14 Ohmeda Inc. Method and apparatus to effect firmware upgrades using a removable memory device under software control
US5974461A (en) 1996-06-03 1999-10-26 Webtv Networks, Inc. Method for automatically regenerating information at a client system in the event of power or communication disruption between the client system and the server
US5940074A (en) * 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
US5812857A (en) 1996-08-28 1998-09-22 Extended Systems, Inc. Field configurable embedded computer system
US5937434A (en) * 1997-02-14 1999-08-10 Intel Corporation Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
JPH11110218A (ja) * 1997-10-03 1999-04-23 Hitachi Ltd ファームウェア書き換え装置
US5974454A (en) 1997-11-14 1999-10-26 Microsoft Corporation Method and system for installing and updating program module components
US6360362B1 (en) 1998-02-20 2002-03-19 Intel Corporation Automatic update of camera firmware
US5987605A (en) * 1998-02-28 1999-11-16 Hewlett-Packard Co. Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device
JP4016359B2 (ja) * 1998-03-24 2007-12-05 ソニー株式会社 受信装置及びプログラム書き換え方法
US6070012A (en) * 1998-05-22 2000-05-30 Nortel Networks Corporation Method and apparatus for upgrading software subsystems without interrupting service
US6357021B1 (en) * 1999-04-14 2002-03-12 Mitsumi Electric Co., Ltd. Method and apparatus for updating firmware

Also Published As

Publication number Publication date
BR0005717A (pt) 2001-07-17
JP2001175488A (ja) 2001-06-29
EP1100014A2 (en) 2001-05-16
EP1100014A3 (en) 2002-10-30
US6622246B1 (en) 2003-09-16

Similar Documents

Publication Publication Date Title
JP4771580B2 (ja) プログラム制御開始方法及びファームウェア格納方法
US5987605A (en) Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device
US6615404B1 (en) Method and apparatus for downloading software into an embedded-system
US6757838B1 (en) Hardware independent implementation of computer system BIOS recovery
CN101815988A (zh) 固件映像更新和管理
US7349327B2 (en) System and method for remotely updating a network device
CN110809755A (zh) 电子控制***
CN111522562B (zh) 洗碗机软件烧录方法、装置及其设备
JP2005258996A (ja) Fpgaのリモートメンテナンス方式
JP2001512869A (ja) インサーキット・プログラミングための障害の許容アーキテクチャ
JPH10307726A (ja) 起動エラー時におけるファームウェアリカバリ方式
JP5846016B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP4062429B2 (ja) メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム
US20030018858A1 (en) Signal processing apparatus having a plurality of microcomputers and a shared ROM
JP4375857B2 (ja) プログラム再書き込み機能付コンピュータ
JP2002351687A (ja) プリンタのファームウェアの更新方式
JP2004192329A (ja) プログラム書換え方法および端末装置
JP2013125405A (ja) ファームウェア書換方法およびファームウェア、ならびに電子機器
JP4238930B2 (ja) メモリ書き換え制御システム。
KR100575996B1 (ko) 시스템 구동을 위한 이미지 파일 업그레이드 방법
US7287141B2 (en) Apparatus and method for booting a system
JP2001344156A (ja) フラッシュメモリを有する装置およびデータの書き換え方法
JPH08305561A (ja) ファームウエアダウンロード方法とその装置
EP1768411A1 (en) Television camera system and respective configuring method
JP2000207180A (ja) 情報処理装置及びプログラム書換方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110621

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees