JP4771580B2 - プログラム制御開始方法及びファームウェア格納方法 - Google Patents
プログラム制御開始方法及びファームウェア格納方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, 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
【発明の属する技術分野】
本発明は、コンピュータプログラムの格納方法及びプログラム制御開始方法に関する。
【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ファームウェアスペースおよび第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ファームウェアスペースが有効である場合には、エラーメッセージを出力する、
方法。
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)
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)
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 |
-
1999
- 1999-11-12 US US09/439,611 patent/US6622246B1/en not_active Expired - Lifetime
-
2000
- 2000-11-10 EP EP00310029A patent/EP1100014A3/en not_active Withdrawn
- 2000-11-13 JP JP2000344549A patent/JP4771580B2/ja not_active Expired - Fee Related
- 2000-11-13 BR BR0005717-7A patent/BR0005717A/pt not_active Application Discontinuation
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 |