JP4868216B2 - ファームウェア更新回路およびファームウェア更新方法 - Google Patents
ファームウェア更新回路およびファームウェア更新方法 Download PDFInfo
- Publication number
- JP4868216B2 JP4868216B2 JP2006011461A JP2006011461A JP4868216B2 JP 4868216 B2 JP4868216 B2 JP 4868216B2 JP 2006011461 A JP2006011461 A JP 2006011461A JP 2006011461 A JP2006011461 A JP 2006011461A JP 4868216 B2 JP4868216 B2 JP 4868216B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- update
- control device
- boot loader
- signal
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
-
- 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
Description
本発明は、既存のブートローダを格納した読出し用のアドレス(10)と更新用のブートローダを格納する書込み用のアドレス(10)とを異なるようにすることができる。それにより、不揮発性メモリ(3)において、既存のブートローダの格納領域と異なる領域に、更新用のブートローダを書き込むことができる。それにより、ファームウェア(ブートローダ+メインプログラム)の更新中に電源断などの障害が発生した場合においても、不揮発性メモリ(3)内に、既存のブートローダ及び更新用のブートローダの少なくとも一方が上書きされずに残ることができる。したがって、不揮発性メモリ(3)を交換することなく、ファームウェア更新を再実行することができる。
図10を参照すると、クロック300は、コンピュータ装置1内のクロック信号を示す。時間は、本実施例の説明のための時間の経過を表し、クロック300の1クロックごとに1加算される。
図11を参照すると、クロック300はコンピュータ装置1内のクロック信号を示す。時間は、本実施例の説明のための時間の経過を表し、クロック300の1クロックごとに1加算される。ただし、T0〜T8までは図10の正常終了時と同一であるため、それらの説明は省略する。
1a ファームウエア更新回路
2 制御装置
3 フラッシュメモリ
4 アドレス反転回路
5 アドレス識別フラグ回路
5a アドレス識別フラグ
6 タイムアウト監視回路
7 ブートローダ
8 メインプログラム
10 アドレス信号
10a 入力アドレス信号
11 データ信号
12 PC(Personal Computer)
13 更新用ファームウェア
14 LAN
15 更新フラグ回路
15a 更新フラグ
40 インバータ
41〜44 AND回路
45 OR回路
100、104 アドレス信号(0)
101、105 アドレス信号(1)
102、106 アドレス信号(2)
103、107 アドレス信号(3)
Claims (9)
- 不揮発性メモリに格納されたブートローダ及びメインプログラムを更新するためのファームウェア更新回路であって、
前記不揮発性メモリにおける前記ブートローダのアドレスに対応する識別データを格納する識別部と、
制御装置が前記ブートローダ及び前記メインプログラムの更新を実行するとき、前記識別データに基づいて、前記制御装置が前記不揮発性メモリから読み出す前記ブートローダの読出し用のアドレスについて反転及び非反転のいずれか一方を行い、前記制御装置が前記不揮発性メモリに書き込む前記更新用のブートローダの書込み用のアドレスについて他方を行うアドレス反転部と
を具備し、
前記ブートローダは、
前記メインプログラム及び前記ブートローダを更新するためのプログラムであり、
前記更新のとき、
前記制御装置に前記読み出し用のアドレスに基づいて前記不揮発性メモリから読み出され、
前記更新用のブートローダ及び前記更新用のメインプログラムをこの順で前記不揮発性メモリの前記書込み用のアドレスから書き込み、
前記不揮発性メモリの格納領域において、前記ブートローダは一方の端部側、前記更新用のブートローダは他方の端部側、及び前記更新用のメインプログラムは、前記更新用のブートローダの後側に格納される
ファームウェア更新回路。 - 請求項1に記載のファームウェア更新回路において、
前記アドレス反転部は、
前記識別データが第1状態の場合、前記読出し用のアドレスについて非反転を行い、
前記書込み用のアドレスについて反転を行う
ファームウェア更新回路。 - 請求項1又は2に記載のファームウェア更新回路において、
前記アドレス反転部は、
前記識別データが第2状態の場合、前記読出し用のアドレスについて反転を行い、前記書込み用のアドレスについて非反転を行う
ファームウェア更新回路。 - 請求項1乃至3のいずれか一方に記載のファームウェア更新回路において、
前記更新のとき、当該更新に関するタイムアウトを監視する監視部を更に具備し、
前記識別部は、前記監視部が前記タイムアウトを検出したとき、前記識別データを前記タイムアウト前の値から変更し、
前記アドレス反転部は、変更された前記識別データに基づいて、前記読出し用のアドレス及び前記書込み用のアドレスの反転及び非反転について、それぞれ前記タイムアウト前のものから変更する
ファームウェア更新回路。 - 制御装置と、
ブートローダ及びメインプログラムを格納する不揮発性メモリと、
前記制御装置と前記不揮発性メモリとに通信可能に接続され、請求項1乃至4のいずれか一項に記載されたファームウェア更新回路と
を具備する
情報処理装置。 - 不揮発性メモリに格納されたブートローダ及びメインプログラムを更新するためのファームウェア更新回路を用いたファームウェア更新方法であって、
ここで、前記ファームウェア更新回路は、アドレス反転部を備え、
(a)制御装置が前記ブートローダ及び前記メインプログラムの更新を実行するとき、前記アドレス反転部は、前記不揮発性メモリにおける前記ブートローダのアドレスに対応する識別データに基づいて、前記制御装置が前記不揮発性メモリから読み出す前記ブートローダの読出し用のアドレスについて反転及び非反転のいずれか一方を行い、前記不揮発性メモリへ送信するステップと、
(b)前記アドレス反転部は、前記識別データに基づいて、前記制御装置が前記不揮発性メモリに書き込む前記更新用のブートローダの書込み用のアドレスについて他方を行い前記不揮発性メモリへ送信するステップと
を具備し、
前記ブートローダは、
前記メインプログラム及び前記ブートローダを更新するためのプログラムであり、
前記更新のとき、
前記制御装置に前記読み出し用のアドレスに基づいて前記不揮発性メモリから読み出され、
前記更新用のブートローダ及び前記更新用のメインプログラムをこの順で前記不揮発性メモリの前記書込み用のアドレスから書き込み、
前記不揮発性メモリの格納領域において、前記ブートローダは一方の端部側、前記更新用のブートローダは他方の端部側、及び前記更新用のメインプログラムは、前記更新用のブートローダの後側に格納される
ファームウェア更新方法。 - 請求項6に記載のファームウェア更新方法において、
前記(a1)ステップは、
(a11)前記アドレス反転部は、前記識別データが第1状態の場合、前記読出し用のアドレスについて非反転を行うステップを含み、
前記(b1)ステップは、
(b11)前記アドレス反転部は、前記識別データが第1状態の場合、前記書込み用のアドレスについて反転を行うステップを含む
ファームウェア更新方法。 - 請求項6又は7に記載のファームウェア更新方法において、
前記(a1)ステップは、
(a12)前記アドレス反転部は、前記識別データが第2状態の場合、前記読出し用のアドレスについて反転を行うステップを含み、
前記(b1)ステップは、
(b12)前記アドレス反転部は、前記識別データが第2状態の場合、前記書込み用のアドレスについて非反転を行うステップを含む
ファームウェア更新方法。 - 請求項6乃至8のいずれか一方に記載のファームウェア更新方法において、
前記ファームウェア更新回路は、
前記更新のとき、当該更新に関するタイムアウトを監視する監視部と、
前記識別データを格納する識別部と
を更に備え、
(c)前記監視部は、前記更新のとき、当該更新に関するタイムアウトを監視するステップと、
(d)前記識別部は、前記タイムアウトを検出したとき、前記識別データを前記タイムアウト前の値から変更するステップと、
(e)前記アドレス反転部は、変更された前記識別データに基づいて、前記(a)ステップ及び前記(b)ステップを実行するステップと
を更に具備する
ファームウェア更新方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006011461A JP4868216B2 (ja) | 2006-01-19 | 2006-01-19 | ファームウェア更新回路およびファームウェア更新方法 |
US11/623,664 US20070169098A1 (en) | 2006-01-19 | 2007-01-16 | Firmware updating circuit and firmware updating method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006011461A JP4868216B2 (ja) | 2006-01-19 | 2006-01-19 | ファームウェア更新回路およびファームウェア更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007193596A JP2007193596A (ja) | 2007-08-02 |
JP4868216B2 true JP4868216B2 (ja) | 2012-02-01 |
Family
ID=38264898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006011461A Expired - Fee Related JP4868216B2 (ja) | 2006-01-19 | 2006-01-19 | ファームウェア更新回路およびファームウェア更新方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070169098A1 (ja) |
JP (1) | JP4868216B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851053A (zh) * | 2015-07-16 | 2018-03-27 | 高通技术国际有限公司 | 用于管理快闪存储器内容的损坏的方法和设备 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008033827A (ja) * | 2006-07-31 | 2008-02-14 | Hitachi Ltd | ストレージ装置及びプログラム更新方法 |
JP4903071B2 (ja) | 2007-03-15 | 2012-03-21 | 株式会社リコー | 情報処理装置、ソフトウェア更新方法及び画像処理装置 |
US7925877B2 (en) * | 2007-09-27 | 2011-04-12 | Texas Instruments Incorporated | Method, system and apparatus for providing a boot loader of an embedded system |
US9069990B2 (en) * | 2007-11-28 | 2015-06-30 | Nvidia Corporation | Secure information storage system and method |
US8392762B2 (en) * | 2008-02-04 | 2013-03-05 | Honeywell International Inc. | System and method for detection and prevention of flash corruption |
US9069706B2 (en) * | 2008-02-11 | 2015-06-30 | Nvidia Corporation | Confidential information protection system and method |
US8719585B2 (en) * | 2008-02-11 | 2014-05-06 | Nvidia Corporation | Secure update of boot image without knowledge of secure key |
US20090204803A1 (en) * | 2008-02-11 | 2009-08-13 | Nvidia Corporation | Handling of secure storage key in always on domain |
US20090204801A1 (en) * | 2008-02-11 | 2009-08-13 | Nvidia Corporation | Mechanism for secure download of code to a locked system |
US9158896B2 (en) * | 2008-02-11 | 2015-10-13 | Nvidia Corporation | Method and system for generating a secure key |
JP2009230407A (ja) | 2008-03-21 | 2009-10-08 | Toshiba Corp | データの更新方法、メモリシステムおよびメモリデバイス |
US9613215B2 (en) | 2008-04-10 | 2017-04-04 | Nvidia Corporation | Method and system for implementing a secure chain of trust |
US8245214B2 (en) * | 2008-06-05 | 2012-08-14 | International Business Machines Corporation | Reliably updating computer firmware while performing command and control functions on a power/thermal component in a high-availability, fault-tolerant, high-performance server |
US8954552B2 (en) * | 2008-09-18 | 2015-02-10 | Dell Products, Lp | Method of using an information handling system to receive an update while in abare metal state, and an information handling system and machine-executable code for carrying out the method |
KR101605875B1 (ko) | 2009-04-03 | 2016-03-24 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 펌웨어 업데이트 방법 |
JP5383516B2 (ja) * | 2010-01-06 | 2014-01-08 | キヤノン株式会社 | 画像形成装置及びそのファームウェア更新方法、並びにプログラム |
WO2011114476A1 (ja) | 2010-03-17 | 2011-09-22 | 富士通株式会社 | マルチコアプロセッサシステム、通知プログラム、および通知方法 |
JPWO2012077604A1 (ja) * | 2010-12-08 | 2014-05-19 | 三洋電機株式会社 | 処理装置、プログラム更新方法、およびプログラム |
JP5810295B2 (ja) | 2011-03-15 | 2015-11-11 | パナソニックIpマネジメント株式会社 | 携帯端末 |
JP5542768B2 (ja) * | 2011-09-28 | 2014-07-09 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置及び情報処理方法 |
TWI528285B (zh) * | 2011-12-20 | 2016-04-01 | 緯創資通股份有限公司 | 製造系統及韌體燒錄方法 |
US9489924B2 (en) | 2012-04-19 | 2016-11-08 | Nvidia Corporation | Boot display device detection and selection techniques in multi-GPU devices |
JP5939896B2 (ja) * | 2012-06-12 | 2016-06-22 | キヤノン株式会社 | 画像形成装置 |
US9208072B2 (en) | 2013-06-25 | 2015-12-08 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Firmware storage and maintenance |
FR3010553B1 (fr) | 2013-09-10 | 2015-09-04 | Sagemcom Broadband Sas | Procede de mise a jour d'un logiciel de demarrage d'un dispositif multiprocesseur |
WO2015060853A1 (en) * | 2013-10-24 | 2015-04-30 | Intel Corporation | Techniques for pre-os image rewriting to provide cross-architecture support, security introspection, and performance optimization |
US10977050B2 (en) * | 2018-01-11 | 2021-04-13 | Macronix International Co., Ltd. | Method for managing system boot code memory, memory device and electronic system using the same |
US10795746B2 (en) * | 2018-12-13 | 2020-10-06 | Micron Technology, Inc. | Automated power down based on state of firmware |
KR20200089939A (ko) * | 2019-01-18 | 2020-07-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568641A (en) * | 1995-01-18 | 1996-10-22 | Hewlett-Packard Company | Powerfail durable flash EEPROM upgrade |
US6088759A (en) * | 1997-04-06 | 2000-07-11 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
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 |
JP2001209543A (ja) * | 2000-01-28 | 2001-08-03 | Nec Ic Microcomput Syst Ltd | フラッシュ・マイコンにおけるプログラム書き換え方法 |
JP4731020B2 (ja) * | 2001-01-24 | 2011-07-20 | 富士通セミコンダクター株式会社 | 半導体記憶装置、セクタアドレス変換回路、アドレス変換方法及び半導体記憶装置の使用方法 |
US20030217357A1 (en) * | 2002-05-14 | 2003-11-20 | Parry Travis J. | Monitoring firmware |
US7730326B2 (en) * | 2004-11-12 | 2010-06-01 | Apple Inc. | Method and system for updating firmware stored in non-volatile memory |
US7523350B2 (en) * | 2005-04-01 | 2009-04-21 | Dot Hill Systems Corporation | Timer-based apparatus and method for fault-tolerant booting of a storage controller |
-
2006
- 2006-01-19 JP JP2006011461A patent/JP4868216B2/ja not_active Expired - Fee Related
-
2007
- 2007-01-16 US US11/623,664 patent/US20070169098A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851053A (zh) * | 2015-07-16 | 2018-03-27 | 高通技术国际有限公司 | 用于管理快闪存储器内容的损坏的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20070169098A1 (en) | 2007-07-19 |
JP2007193596A (ja) | 2007-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4868216B2 (ja) | ファームウェア更新回路およびファームウェア更新方法 | |
US7900036B2 (en) | System and method for implementing boot/recovery on a data processing sysem | |
US5568641A (en) | Powerfail durable flash EEPROM upgrade | |
TWI501253B (zh) | 於裝置開機期間處置來自非揮發性記憶體之錯誤 | |
US7313683B2 (en) | Computer system and method which boots from a bootup-memory-image stored in nonvolatile memory and copies data within an address range of predetermined width to main memory so that the system boots quickly after initialization | |
EP2124151B1 (en) | Information processing system and method for starting/recovering the system | |
WO2000019317A1 (en) | Protection of boot block code while allowing write accesses to the boot block | |
JPH11110306A (ja) | 記憶装置、データ処理システム並びにデータ処理方法 | |
US10108469B2 (en) | Microcomputer and microcomputer system | |
US7096351B2 (en) | Single-chip microcomputer and boot region switching method thereof | |
US10977050B2 (en) | Method for managing system boot code memory, memory device and electronic system using the same | |
US6925522B2 (en) | Device and method capable of changing codes of micro-controller | |
EP1589427B1 (en) | Boot control system | |
JP4483876B2 (ja) | 二重化システムにおける記憶装置の制御方法 | |
US20050055530A1 (en) | Method and apparatus for protecting a specific memory section | |
JP2000293376A (ja) | ブートプログラムの切替回路及び切替方法 | |
JP2000235483A (ja) | 情報処理装置 | |
JP3358214B2 (ja) | 電子装置 | |
KR100575927B1 (ko) | 이동통신 단말기에서 부팅 방법 | |
JP4165423B2 (ja) | コアi/oカードを実装したシステムボード | |
US7069471B2 (en) | System PROM integrity checker | |
CN117894362A (zh) | 一次性可编程存储器修改方法、装置和电子设备 | |
JPH08185354A (ja) | メモリ管理装置 | |
JP2007058505A (ja) | 情報処理装置および情報処理装置起動方法 | |
JP2007128204A (ja) | コンピュータシステム、および、コンピュータシステムの起動方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110727 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110922 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111020 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111102 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4868216 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141125 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |