JP2012008640A - Firmware update method, information device, and firmware update system - Google Patents

Firmware update method, information device, and firmware update system Download PDF

Info

Publication number
JP2012008640A
JP2012008640A JP2010141662A JP2010141662A JP2012008640A JP 2012008640 A JP2012008640 A JP 2012008640A JP 2010141662 A JP2010141662 A JP 2010141662A JP 2010141662 A JP2010141662 A JP 2010141662A JP 2012008640 A JP2012008640 A JP 2012008640A
Authority
JP
Japan
Prior art keywords
firmware
image data
update
information device
data
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
JP2010141662A
Other languages
Japanese (ja)
Inventor
Nobuyuki Ohama
伸之 大浜
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.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions 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 Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2010141662A priority Critical patent/JP2012008640A/en
Publication of JP2012008640A publication Critical patent/JP2012008640A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a firmware update method with which no trouble occurs even when a firmware update process is interrupted in the middle of update, distribution load of image data is suppressed, and storage capacity for storing image data is saved.SOLUTION: In the firmware update method, when it is judged that the last process of updating the firmware has not been interrupted in the middle of process, only a difference in image data of the firmware just after the last update from the present firmware is obtained via a network, and the difference is applied to the firmware before the update so as to update the firmware. When it is judged that the last process of updating the firmware has been interrupted in the middle of process, whole of the image data of the firmware after the last update is obtained via the network and it is used to update the firmware.

Description

本発明は、情報機器のファームウェアを更新する手法に関するものである。   The present invention relates to a method for updating firmware of an information device.

読み込み専用のファイルシステムに格納されているファームウェアを書き換える際は、ファイル単位で書き換えることができないので、ファームウェアのイメージデータ全体を書き換える必要がある。その主な手法として、以下の2つがある。   When rewriting firmware stored in a read-only file system, it is not possible to rewrite in units of files, so it is necessary to rewrite the entire image data of the firmware. There are the following two main methods.

第1の手法は、全体配布・全体退避法である。本手法では、ファームウェアを格納する不揮発性記憶領域を2つ設ける。ファームウェアを更新する時は、新しいファームウェアのイメージデータ全体を配布し、古いファームウェアを一方の記憶領域へ退避させ、他方の記憶領域に新しいファームウェアを書き込む。本手法を用いる場合、ファームウェア更新処理が途中で中断しても支障はないが、不揮発性メモリの記憶領域が新旧イメージ全体分必要であり、かつイメージデータの配信負荷が大きい。本手法を用いた例として、下記特許文献1がある。   The first method is a whole distribution / whole evacuation method. In this method, two nonvolatile storage areas for storing firmware are provided. When updating the firmware, the entire image data of the new firmware is distributed, the old firmware is saved in one storage area, and the new firmware is written in the other storage area. When this method is used, there is no problem even if the firmware update process is interrupted in the middle, but the storage area of the nonvolatile memory is required for the entire new and old images, and the distribution load of image data is large. As an example using this method, there is Patent Document 1 below.

第2の手法は、バイト単位差分配布・全体退避法である。本手法では、ファームウェアのイメージデータ全体ではなく、新旧ファームウェアのバイト単位の差分イメージデータのみを配布する。古いファームウェア全体を退避させる点は共通である。本手法では、ファームウェア更新処理が途中で中断しても支障がなく、かつイメージデータの配信負荷が小さいという利点はあるが、不揮発性メモリの記憶領域が新旧イメージ全体分必要である点は同様である。データの差分をバイト単位で抽出する手法の例として、下記非特許文献1がある。   The second method is a byte-by-byte differential distribution / whole saving method. In this method, only the difference image data in bytes of old and new firmware is distributed, not the entire image data of firmware. The point of evacuating the entire old firmware is common. This method has the advantages that there is no problem even if the firmware update process is interrupted in the middle, and the distribution load of the image data is small, but the storage area of the non-volatile memory is necessary for the entire new and old images. is there. The following non-patent document 1 is an example of a method for extracting a data difference in byte units.

また、上記第2の手法の派生手法として、ファームウェアを書き換える際に古いファームウェアを不揮発性メモリに退避する手法もあるが、やはり不揮発性メモリに退避領域を設ける必要が生じる。   Further, as a derivation method of the second method, there is a method of saving old firmware to the nonvolatile memory when rewriting the firmware. However, it is also necessary to provide a save area in the nonvolatile memory.

特開平11−110218号公報JP-A-11-110218

http://xdelta.org/(2010年5月14日取得)http://xdelta.org/ (acquired on May 14, 2010)

上述の各手法では、ファームウェアを格納するための記憶領域が新旧イメージ全体分必要となる。また、イメージデータ全体を配信する場合は、これに加えイメージデータの配信負荷が大きくなるという課題がある。   In each of the above-described methods, a storage area for storing firmware is required for the entire old and new images. In addition, when distributing the entire image data, there is a problem that the distribution load of the image data is increased.

本発明は、上記のような課題を解決するためになされたものであり、ファームウェア更新処理が途中中断しても支障がなく、イメージデータの配信負荷を抑え、かつイメージデータを格納するための記憶容量を節約することのできるファームウェア更新手法を提供することを目的とする。   The present invention has been made in order to solve the above-described problems, and there is no problem even if the firmware update process is interrupted halfway. The memory for suppressing the distribution load of the image data and storing the image data is provided. An object of the present invention is to provide a firmware update method capable of saving capacity.

本発明に係るファームウェア更新方法では、ファームウェアを更新する処理が前回途中で中断していないと判定した場合は、ファームウェアの更新後イメージデータのうち現在のファームウェアとの間の差分のみをネットワーク経由で取得し、当該差分を更新前のファームウェアに適用することによりファームウェアを更新する。ファームウェアを更新する処理が前回途中で中断したと判定した場合は、ファームウェアの更新後イメージデータを全てネットワーク経由で取得し更新する。   In the firmware update method according to the present invention, if it is determined that the process of updating the firmware is not interrupted in the middle of the previous time, only the difference from the current firmware in the image data after the firmware update is acquired via the network. Then, the firmware is updated by applying the difference to the firmware before the update. If it is determined that the process of updating the firmware was interrupted in the middle of the previous time, all the image data after the firmware update is acquired and updated via the network.

本発明に係るファームウェア更新方法によれば、前回のファームウェア更新処理が途中中断した場合は、更新後イメージデータを全て取得して更新するので、イメージデータが破損したままになるなどの支障なく更新を完了することができる。また、前回のファームウェア更新処理が途中中断していない場合は、差分イメージデータのみを取得し、当該差分を適用することによりファームウェアを更新するので、イメージデータの配信負荷と記憶容量を抑えることができる。   According to the firmware update method of the present invention, when the previous firmware update process is interrupted, all the image data after the update is acquired and updated, so that the update can be performed without any trouble such as the image data remains damaged. Can be completed. If the previous firmware update process is not interrupted, only the difference image data is acquired, and the firmware is updated by applying the difference. Therefore, the distribution load and storage capacity of the image data can be reduced. .

また、取得するイメージデータは、ファームウェアブロック全体ではなく、アプリケーションを除いた、起動と更新に必要なファームウェアのみのため、記憶容量を抑えることができる。更に、取得したイメージデータは、不揮発性メモリではなく揮発性メモリに保存するため、不揮発性メモリの容量を節約できる。   Further, since the image data to be acquired is not the entire firmware block but only the firmware necessary for activation and update, excluding applications, the storage capacity can be reduced. Furthermore, since the acquired image data is stored not in the nonvolatile memory but in the volatile memory, the capacity of the nonvolatile memory can be saved.

従って、更新処理の中断が起こる可能性が低く、かつ揮発性メモリ領域が不揮発性メモリ領域と比較して大きい情報機器に対しては、本発明に係るファームウェア更新方法は特に有効である。   Therefore, the firmware update method according to the present invention is particularly effective for an information device that has a low possibility of interruption of the update process and has a large volatile memory area compared to the nonvolatile memory area.

実施の形態1に係るファームウェア更新システム1000の構成図である。1 is a configuration diagram of a firmware update system 1000 according to Embodiment 1. FIG. 全体データマッピングテーブル243のデータ例を示す図である。It is a figure which shows the example of data of the whole data mapping table 243. 差分更新手順データ244のデータ例を示す図である。It is a figure which shows the data example of the difference update procedure data 244. 全体更新手順データ2452のデータ例を示す図である。It is a figure which shows the example of data of the whole update procedure data 2452. 配信パッケージ取得先テーブル1442のデータ例を示す図である。It is a figure which shows the example of data of the delivery package acquisition destination table 1442. 情報機器100が通常起動する際の動作フローである。It is an operation | movement flow at the time of the information apparatus 100 starting normally. 情報機器100が緊急起動する際の動作フローである。It is an operation | movement flow at the time of emergency starting of the information equipment 100. FIG. 図6のステップS604および図7のステップS703の詳細フローである。It is a detailed flow of step S604 of FIG. 6 and step S703 of FIG. 情報機器100が通常起動する際の動作フローである。It is an operation | movement flow at the time of the information apparatus 100 starting normally. 情報機器100が緊急起動する際の動作フローである。It is an operation | movement flow at the time of emergency starting of the information equipment 100. FIG. 管理装置200が差分配信パッケージ244と全体配信パッケージ245を作成する処理フローを示す図である。6 is a diagram illustrating a processing flow in which the management apparatus 200 creates a differential distribution package 244 and an entire distribution package 245. FIG. 実施形態4に係るファームウェア更新システム1000の構成図である。It is a block diagram of the firmware update system 1000 which concerns on Embodiment 4.

本明細書において配信負荷とは、ファームウェアの更新後イメージデータまたは差分データを更新対象である情報機器に対して配信する際の、配信装置と配信ネットワークにかかる通信負荷を指す。本明細書において更新中断時への対応とは、ファームウェア更新中に予期せぬ電源断等の中断があった場合でも、ファームウェア更新を正常に完了させることができることを指す。   In this specification, the distribution load refers to a communication load applied to a distribution apparatus and a distribution network when image data after update of firmware or difference data is distributed to an information device to be updated. In this specification, the response to an update interruption means that the firmware update can be completed normally even if there is an interruption such as an unexpected power interruption during the firmware update.

<実施の形態1>
図1は、本発明の実施の形態1に係るファームウェア更新システム1000の構成図である。ファームウェア更新システム1000は、情報機器100、管理装置200を有する。情報機器100は、ファームウェアを更新する対象となる機器である。管理装置200は、更新前後のファームウェアのイメージデータを管理する装置である。
<Embodiment 1>
FIG. 1 is a configuration diagram of a firmware update system 1000 according to Embodiment 1 of the present invention. The firmware update system 1000 includes an information device 100 and a management device 200. The information device 100 is a device whose firmware is to be updated. The management apparatus 200 is an apparatus that manages firmware image data before and after the update.

情報機器100は、ファームウェアを不揮発性メモリ内に格納した機器であり、CPU(Central Processing Unit)110、メモリ120、通信ポート130、不揮発性メモリ140を備える。   The information device 100 is a device in which firmware is stored in a nonvolatile memory, and includes a CPU (Central Processing Unit) 110, a memory 120, a communication port 130, and a nonvolatile memory 140.

CPU110は、不揮発性メモリ140が格納しているブートローダ1411、通常用ファームウェア1421、通常用OS(Operating System)1422、通常アプリケーション1423、緊急用ファームウェア1431、緊急用OS1432、ファームウェア更新プログラム1441を実行する。これらプログラムの詳細については後述する。以下の説明では、記載の都合上、各プログラムを動作主体として説明する場合があるが、実際に各プログラムを実行する動作主体はCPU110であることを付言しておく。これは管理装置200についても同様である。   The CPU 110 executes a boot loader 1411, normal firmware 1421, normal OS (Operating System) 1422, normal application 1423, emergency firmware 1431, emergency OS 1432, and firmware update program 1441 stored in the nonvolatile memory 140. Details of these programs will be described later. In the following description, for convenience of description, each program may be described as an operating subject. However, it is added that the operating subject that actually executes each program is the CPU 110. The same applies to the management apparatus 200.

メモリ120は、CPU110が動作する際に用いる一時的なデータを格納する揮発性メモリである。また、ファームウェアを更新するため管理装置200が配信する配信パッケージ121を一時的に格納する。   The memory 120 is a volatile memory that stores temporary data used when the CPU 110 operates. Further, the distribution package 121 distributed by the management apparatus 200 for updating the firmware is temporarily stored.

通信ポート130は、情報機器100がネットワーク300を介して管理装置200と通信するための通信インターフェースである。   The communication port 130 is a communication interface for the information device 100 to communicate with the management apparatus 200 via the network 300.

不揮発性メモリ140は、情報機器100のファームウェアを格納するメモリ装置であり、ブートブロック141、通常ファームウェアブロック142、緊急ファームウェアブロック143、更新用ブロック144を有する。   The nonvolatile memory 140 is a memory device that stores firmware of the information device 100, and includes a boot block 141, a normal firmware block 142, an emergency firmware block 143, and an update block 144.

ブートブロック141は、情報機器100が起動するときに最初に実行すべきプログラム等を格納する記憶領域であり、ブートローダ1411、起動設定データ1412を格納する。ブートローダ1411は、起動設定データ1412の記述にしたがって、通常用ファームウェア1421または緊急用ファームウェア1431を起動する。起動設定データ1412は、通常用ファームウェア1421と緊急用ファームウェア1431のいずれを起動すべきかを記述する。起動設定データ1421は、ファームウェアを更新する過程で書き換えられる。詳細は後述する。   The boot block 141 is a storage area for storing a program to be executed first when the information device 100 is activated, and stores a boot loader 1411 and activation setting data 1412. The boot loader 1411 activates the normal firmware 1421 or the emergency firmware 1431 according to the description of the activation setting data 1412. The activation setting data 1412 describes which of the normal firmware 1421 and the emergency firmware 1431 should be activated. The startup setting data 1421 is rewritten in the process of updating the firmware. Details will be described later.

通常ファームウェアブロック142は、情報機器100を通常起動するときに実行すべきプログラムを格納する記憶領域であり、通常用ファームウェア1421、通常用OS1422、および通常アプリケーション1423を格納する。   The normal firmware block 142 is a storage area for storing a program to be executed when the information device 100 is normally activated, and stores normal firmware 1421, a normal OS 1422, and a normal application 1423.

通常用ファームウェア1421は、情報機器100を通常起動するときにCPU110が実行するファームウェアである。通常用OS1422は、情報機器100を通常起動するときにCPU110が実行するオペレーティングシステムである。通常アプリケーション1423は、情報機器100が通常起動した後にCPU110が実行するアプリケーションプログラムである。   The normal firmware 1421 is firmware executed by the CPU 110 when the information device 100 is normally activated. The normal OS 1422 is an operating system executed by the CPU 110 when the information device 100 is normally started. The normal application 1423 is an application program that is executed by the CPU 110 after the information device 100 is normally activated.

緊急ファームウェアブロック143は、情報機器100が異常終了するなどした後、非常状態として起動するとき(緊急起動)に実行すべきプログラムを格納する記憶領域であり、緊急用ファームウェア1431、緊急用OS1432を格納する。緊急用ファームウェア1431は、情報機器100を緊急起動するときにCPU110が実行するファームウェアである。緊急用OS1432は、情報機器100を緊急起動するときにCPU110が実行するオペレーティングシステムである。   The emergency firmware block 143 is a storage area for storing a program to be executed when the information device 100 is abnormally terminated and then activated as an emergency state (emergency activation). The emergency firmware block 143 stores the emergency firmware 1431 and the emergency OS 1432. To do. The emergency firmware 1431 is firmware executed by the CPU 110 when the information device 100 is urgently activated. The emergency OS 1432 is an operating system executed by the CPU 110 when the information device 100 is urgently activated.

なお、図1においては、通常ファームウェアブロック142、緊急ファームウェアブロック143において、それぞれ、通常用ファームウェア1421と通常用OS1422、緊急用ファームウェア1431と緊急用OS1432を分離して記載しているが、例えばOSをLinux(登録商標)とするような場合、OSのコア部分(kernel)も通常用ファームウェア1421または緊急用ファームウェア1431に含め、ファームウェアと一体的に更新するような構成としてもよい。   In FIG. 1, in the normal firmware block 142 and the emergency firmware block 143, the normal firmware 1421 and the normal OS 1422 are described separately, and the emergency firmware 1431 and the emergency OS 1432 are described separately. In the case of Linux (registered trademark), the core part (kernel) of the OS may be included in the normal firmware 1421 or the emergency firmware 1431 so as to be updated integrally with the firmware.

更新用ブロック144は、ファームウェアを更新する処理に係る必要なデータ等を格納する記憶領域であり、ファームウェア更新プログラム1441、配信パッケージ取得先テーブル1442を格納する。ファームウェア更新プログラム1441は、通常用ファームウェア1421または緊急用ファームウェア1431を更新するプログラムである。配信パッケージ取得先テーブル1442は、ファームウェアを更新するためのイメージデータ等を含む配信パッケージの配信元アドレスを記述する。これらの詳細は後述する。   The update block 144 is a storage area for storing necessary data related to the process of updating the firmware, and stores a firmware update program 1441 and a distribution package acquisition destination table 1442. The firmware update program 1441 is a program for updating the normal firmware 1421 or the emergency firmware 1431. The distribution package acquisition destination table 1442 describes a distribution source address of a distribution package including image data for updating firmware. Details of these will be described later.

管理装置200は、CPU210、メモリ220、通信ポート230、記憶装置240を備える。   The management device 200 includes a CPU 210, a memory 220, a communication port 230, and a storage device 240.

CPU210は、記憶装置240が格納している後述の各データを用いて、情報機器100に配信するための配信パッケージを作成する。配信パッケージについては後述する。メモリ220は、CPU210が動作する際に用いる一時的なデータを格納する揮発性メモリである。通信ポート230は、管理装置200がネットワーク300を介して情報機器100と通信するための通信インターフェースである。   The CPU 210 creates a distribution package for distribution to the information device 100 using each data to be described later stored in the storage device 240. The distribution package will be described later. The memory 220 is a volatile memory that stores temporary data used when the CPU 210 operates. The communication port 230 is a communication interface for the management apparatus 200 to communicate with the information device 100 via the network 300.

記憶装置240は、旧イメージデータ241、新イメージデータ242、全体データマッピングテーブル243、差分配信パッケージ244、および全体配信パッケージ245を格納する記憶装置である。記憶装置240は、例えばHDD(Hard Disk Drive)などの不揮発性記憶装置で構成することができる。   The storage device 240 is a storage device that stores the old image data 241, the new image data 242, the entire data mapping table 243, the difference distribution package 244, and the entire distribution package 245. The storage device 240 can be configured by a nonvolatile storage device such as an HDD (Hard Disk Drive).

旧イメージデータ241と新イメージデータ242は、それぞれ情報機器100のファームウェアの更新前後に対応するイメージデータである。全体データマッピングテーブル243は、旧イメージデータ241と新イメージデータ242が情報機器100上のどの記憶領域に格納されるかを記述するデータである。   The old image data 241 and the new image data 242 are image data corresponding to before and after the firmware of the information device 100 is updated. The entire data mapping table 243 is data describing in which storage area on the information device 100 the old image data 241 and the new image data 242 are stored.

差分配信パッケージ244は、旧イメージデータ241と新イメージデータ242の差分を情報機器100に配信し、その差分のみを情報機器100上で反映するためのデータである。差分配信パッケージ244は、差分イメージデータ2441、差分更新手順データ2442を含む。差分イメージデータ2441は、旧イメージデータ241と新イメージデータ242の差分を抽出したデータである。差分更新手順データ2442は、差分イメージデータ2441を情報機器100上で反映するため情報機器100が実行すべき手順を記述したデータである。   The difference distribution package 244 is data for distributing the difference between the old image data 241 and the new image data 242 to the information device 100 and reflecting only the difference on the information device 100. The difference distribution package 244 includes difference image data 2441 and difference update procedure data 2442. The difference image data 2441 is data obtained by extracting the difference between the old image data 241 and the new image data 242. The difference update procedure data 2442 is data describing a procedure to be executed by the information device 100 in order to reflect the difference image data 2441 on the information device 100.

全体配信パッケージ245は、新イメージデータ242を情報機器100に配信し、情報機器100上で反映するためのデータである。全体配信パッケージ245は、新イメージデータ2451、全体更新手順データ2452を含む。新イメージデータ2451は、新イメージデータ242に相当する。全体更新手順データ2452は、新イメージデータ2451を情報機器100上で反映するため情報機器100が実行すべき手順を記述したデータである。   The entire distribution package 245 is data for distributing the new image data 242 to the information device 100 and reflecting it on the information device 100. The overall distribution package 245 includes new image data 2451 and overall update procedure data 2452. The new image data 2451 corresponds to the new image data 242. The overall update procedure data 2452 is data describing a procedure to be executed by the information device 100 in order to reflect the new image data 2451 on the information device 100.

CPU210は、旧イメージデータ241、新イメージデータ242、および全体データマッピングテーブル243に基づき、各配信パッケージを作成し、記憶装置240に格納する。作成するタイミングは、例えば新たな新イメージデータ242を受け取ったときなどとすればよい。   The CPU 210 creates each distribution package based on the old image data 241, the new image data 242, and the entire data mapping table 243 and stores the distribution packages in the storage device 240. The generation timing may be, for example, when new new image data 242 is received.

図2は、全体データマッピングテーブル243のデータ例を示す図である。1行目は、情報機器100の不揮発性メモリ140上において、更新前のファームウェアイメージを保持する旧イメージデータ(OLDDATA)が格納されているデバイスパス(/device1)を記述している。2行目は、情報機器100の不揮発性メモリ140上において、更新後のファームウェアイメージを保持する新イメージデータ(NEWDATA)を書き込む先のデバイスパス(/device1)を記述している。   FIG. 2 is a diagram illustrating an example of data in the entire data mapping table 243. The first line describes a device path (/ device1) in which the old image data (OLDDATA) that holds the firmware image before update is stored in the nonvolatile memory 140 of the information device 100. The second line describes a device path (/ device1) to which new image data (NEWDATA) holding the updated firmware image is written on the nonvolatile memory 140 of the information device 100.

図2では、新イメージデータ、旧イメージデータともに単一のデバイスに格納されている例を示したが、イメージデータを複数のデバイスに分けて格納してもよい。例えば2つのデバイス「/device1」、「/device2」に新旧イメージデータがそれぞれ分かれて格納されている場合は、「/device1 OLDDATA1」、「/device2 OLDDATA2」、「/device1 NEWDATA1」、「/device2 NEWDATA2」という記述をすることもできる。   Although FIG. 2 shows an example in which both new image data and old image data are stored in a single device, the image data may be stored separately in a plurality of devices. For example, if the old and new image data are stored separately on two devices "/ device1" and "/ device2," "/ device1 OLDDATA1", "/ device2 OLDDATA2", "/ device1 NEWDATA1", "/ device2 NEWDATA2" Can also be described.

図3は、差分更新手順データ244のデータ例を示す図である。同データ例は、情報機器100のファームウェア更新プログラム1441が以下の手順を実行すべき旨を記述している。   FIG. 3 is a diagram illustrating a data example of the difference update procedure data 244. This data example describes that the firmware update program 1441 of the information device 100 should execute the following procedure.

まずファームウェア更新プログラム1441は、差分イメージデータ2441内に含まれている差分データdeltaを、情報機器100上の「/device1」というデバイスパスにあらかじめ書き込まれている旧イメージデータに適用し、新イメージデータをデバイスパス「/device1」上で直接作成する。これにより、新旧イメージデータ双方を格納するための記憶領域を設ける必要がなくなるので、必要となる記憶容量を抑えることができる。   First, the firmware update program 1441 applies the difference data delta included in the difference image data 2441 to the old image data written in advance in the device path “/ device1” on the information device 100 to obtain new image data. Is created directly on the device path "/ device1". As a result, it is not necessary to provide a storage area for storing both the old and new image data, and the required storage capacity can be suppressed.

図4は、全体更新手順データ2452のデータ例を示す図である。同データ例によれば、情報機器100のファームウェア更新プログラム1441は、新イメージデータ「NEWDATA」を情報機器100上のデバイスパス「/device1」に対して書き込むべきことが分かる。   FIG. 4 is a diagram illustrating a data example of the overall update procedure data 2452. According to the data example, it is understood that the firmware update program 1441 of the information device 100 should write the new image data “NEWDATA” to the device path “/ device1” on the information device 100.

図3〜図4に示したデータ例では、イメージデータをデバイスに書き込めばファームウェア更新処理が完了することとしたが、必要に応じて情報機器100を再起動するステップを更新手順に追加してもよい。   In the data examples shown in FIGS. 3 to 4, the firmware update process is completed when the image data is written in the device. However, even if a step of restarting the information device 100 is added to the update procedure if necessary. Good.

図5は、配信パッケージ取得先テーブル1442のデータ例を示す図である。1行目は情報機器100が差分配信パッケージ244を取得するためにアクセスすべきアドレスを記述している。2行目は情報機器100が全体配信パッケージ245を取得するためにアクセスすべきアドレスを記述している。いずれも管理装置200が各配信パッケージを公開しているアドレスである。ここではHTTP(Hyper Text Transfer Protocol)を用いて各配信パッケージを配信する例を示したが、配信手法は任意でよい。   FIG. 5 is a diagram illustrating an example of data in the distribution package acquisition destination table 1442. The first line describes an address to be accessed in order for the information device 100 to acquire the differential distribution package 244. The second line describes an address to be accessed in order for the information device 100 to acquire the entire distribution package 245. Both are addresses at which the management apparatus 200 publishes each distribution package. Here, an example in which each distribution package is distributed using HTTP (Hyper Text Transfer Protocol) is shown, but any distribution method may be used.

以上、ファームウェア更新システム1000の各機器の構成について説明した。次に、情報機器100のファームウェアを更新する手順について説明する。   The configuration of each device of the firmware update system 1000 has been described above. Next, a procedure for updating the firmware of the information device 100 will be described.

図6は、情報機器100が通常起動する際の動作フローである。以下、図6の各ステップについて説明する。   FIG. 6 is an operation flow when the information device 100 is normally activated. Hereinafter, each step of FIG. 6 will be described.

(図6:ステップS600)
CPU110は、情報機器100の電源がONになると始めに、ブートローダ1411を起動する。本動作フローでは、起動設定1412が通常用ファームウェア1421を起動するようセットされているものとする。ブートローダ1411は、まず、通常用OS1422を起動する。次に、通常用ファームウェア1421を起動して所定の初期化処理などを実行する。なお、通常用OS1422が通常用ファームウェア1421と一体化している構成の場合は、両者は同時に起動される。
(FIG. 6: Step S600)
The CPU 110 first activates the boot loader 1411 when the information device 100 is powered on. In this operation flow, it is assumed that the activation setting 1412 is set to activate the normal firmware 1421. The boot loader 1411 first starts the normal OS 1422. Next, the normal firmware 1421 is activated to execute predetermined initialization processing and the like. In the case where the normal OS 1422 is integrated with the normal firmware 1421, both are activated simultaneously.

(図6:ステップS601)
通常用OS1422は、ファームウェア更新プログラム1441を起動する。ファームウェア更新プログラム1441は、ファームウェア(通常用ファームウェア1421と緊急用ファームウェア1431を含む、以下同じ)を更新すべきか否かを判定する。更新する場合はステップS602へ進み、更新しない場合はステップS608へ進む。
(FIG. 6: Step S601)
The normal OS 1422 activates the firmware update program 1441. The firmware update program 1441 determines whether or not the firmware (including the normal firmware 1421 and the emergency firmware 1431, the same applies hereinafter) should be updated. When updating, it progresses to step S602, and when not updating, it progresses to step S608.

(図6:ステップS601:補足)
ファームウェアを更新すべきか否かを確認する具体的な手順としては、例えばファームウェア更新プログラム1441から管理装置200に対して、新たなファームウェアの新イメージデータ242が発行されているか否かを問い合わせればよい。
(FIG. 6: Step S601: Supplement)
As a specific procedure for confirming whether or not the firmware should be updated, for example, the firmware update program 1441 may inquire of the management apparatus 200 whether or not new image data 242 of new firmware has been issued. .

(図6:ステップS602)
ファームウェア更新プログラム1441は、配信パッケージ取得先テーブル1442の記述にしたがって管理装置200から差分配信パッケージ244を取得し、揮発性のメモリ120に一時的に保存する。
(FIG. 6: Step S602)
The firmware update program 1441 acquires the differential distribution package 244 from the management apparatus 200 according to the description of the distribution package acquisition destination table 1442 and temporarily stores it in the volatile memory 120.

(図6:ステップS603)
ファームウェア更新プログラム1441は、情報機器100を次回ブートする時に緊急用ファームウェア1431を起動すべき旨を、起動設定1412にセットする。
(FIG. 6: Step S603)
The firmware update program 1441 sets in the activation setting 1412 that the emergency firmware 1431 should be activated when the information device 100 is next booted.

(図6:ステップS604)
ファームウェア更新プログラム1441は、ファームウェアを更新する処理を実行する。本ステップの詳細は後述の図8で改めて説明する。
(FIG. 6: Step S604)
The firmware update program 1441 executes a process for updating the firmware. Details of this step will be described later with reference to FIG.

(図6:ステップS605)
ファームウェア更新プログラム1441は、情報機器100を次回ブートする時に通常用ファームウェア1421を起動すべき旨を、起動設定1412にセットする。
(FIG. 6: Step S605)
The firmware update program 1441 sets in the activation setting 1412 that the normal firmware 1421 should be activated when the information device 100 is next booted.

(図6:ステップS606)
差分更新手順データ2442に、情報機器100の常駐プロセス、OSなどを再起動すべき旨が記述されている場合は、ステップS607へ進む。それ以外であれば本動作フローを終了する。
(FIG. 6: Step S606)
If the difference update procedure data 2442 describes that the resident process of the information device 100, the OS, and the like should be restarted, the process proceeds to step S607. Otherwise, the operation flow ends.

(図6:ステップS607)
ファームウェア更新プログラム1441は、差分更新手順データ2442の記述にしたがって、再起動する必要があるコンポーネントを再起動する。
(FIG. 6: Step S607)
The firmware update program 1441 restarts components that need to be restarted in accordance with the description of the difference update procedure data 2442.

(図6:ステップS608)
ステップS601において、ファームウェアを更新しないと判断した場合は、ステップS602〜S607は実行されず、通常OS1422は通常手順通りに起動する。
(FIG. 6: Step S608)
If it is determined in step S601 that the firmware is not updated, steps S602 to S607 are not executed, and the normal OS 1422 is activated in accordance with a normal procedure.

図7は、情報機器100が緊急起動する際の動作フローである。以下、図7の各ステップについて説明する。   FIG. 7 is an operation flow when the information device 100 is urgently activated. Hereinafter, each step of FIG. 7 will be described.

(図7:ステップS700)
CPU110は、情報機器100の電源がONになると始めに、ブートローダ1411を起動する。本動作フローでは、起動設定1412が緊急用ファームウェア1431を起動するようセットされているものとする。ブートローダ1411は、まず、緊急用OS1432を起動する。次に、緊急用ファームウェア1431を起動して所定の初期化処理などを実行する。なお、緊急用OS1432が緊急用ファームウェア1431と一体化している構成の場合は、両者は同時に起動される。
(FIG. 7: Step S700)
The CPU 110 first activates the boot loader 1411 when the information device 100 is powered on. In this operation flow, it is assumed that the activation setting 1412 is set to activate the emergency firmware 1431. First, the boot loader 1411 activates the emergency OS 1432. Next, the emergency firmware 1431 is activated to execute predetermined initialization processing and the like. In the case where the emergency OS 1432 is integrated with the emergency firmware 1431, both are activated simultaneously.

(図7:ステップS700:補足)
起動設定1412が緊急用ファームウェア1431を起動するようセットされている場合の典型として、図6のステップS603とS605の間で処理が異常中断した場合が挙げられる。すなわち、ファームウェアを更新する処理が異常中断した場合は、本動作フローが実行されることになる。
(FIG. 7: Step S700: Supplement)
A typical case where the activation setting 1412 is set to activate the emergency firmware 1431 is a case where the process is abnormally interrupted between steps S603 and S605 in FIG. That is, when the process of updating the firmware is abnormally interrupted, this operation flow is executed.

(図7:ステップS701)
緊急用OS1432は、ファームウェア更新プログラム1441を起動する。ファームウェア更新プログラム1441は、緊急用OS1432の配下で起動された場合は、ファームウェアを更新する処理が途中中断したものと判断する。ファームウェア更新プログラム1441は、配信パッケージ取得先テーブル1442の記述にしたがって管理装置200から全体配信パッケージ245を取得し、メモリ120に一時的に保存する。
(FIG. 7: Step S701)
The emergency OS 1432 activates the firmware update program 1441. When the firmware update program 1441 is started under the emergency OS 1432, the firmware update program 1441 determines that the process of updating the firmware has been interrupted. The firmware update program 1441 acquires the entire distribution package 245 from the management apparatus 200 according to the description of the distribution package acquisition destination table 1442 and temporarily stores it in the memory 120.

(図7:ステップS702)
緊急用OS1432を起動した場合、緊急用OS1432は緊急ファームウェアブロック143の配下で稼動する。ファームウェア更新プログラム1441は、通常用ファームウェア1421を更新するため、通常ファームウェアブロック142をマウントする。
(FIG. 7: Step S702)
When the emergency OS 1432 is activated, the emergency OS 1432 operates under the emergency firmware block 143. The firmware update program 1441 mounts the normal firmware block 142 in order to update the normal firmware 1421.

(図7:ステップS703)
ファームウェア更新プログラム1441は、ファームウェアを更新する処理を実行する。本ステップの詳細は後述の図8で改めて説明する。
(FIG. 7: Step S703)
The firmware update program 1441 executes a process for updating the firmware. Details of this step will be described later with reference to FIG.

(図7:ステップS704)
ファームウェア更新プログラム1441は、情報機器100を次回ブートする時に通常用ファームウェア1421を起動すべき旨を、起動設定1412にセットする。
(FIG. 7: Step S704)
The firmware update program 1441 sets in the activation setting 1412 that the normal firmware 1421 should be activated when the information device 100 is next booted.

(図7:ステップS705)
ファームウェア更新プログラム1441は、情報機器100を再起動する。
(FIG. 7: Step S705)
The firmware update program 1441 restarts the information device 100.

図8は、図6のステップS604および図7のステップS703の詳細フローである。以下、図8の各ステップについて説明する。   FIG. 8 is a detailed flow of step S604 in FIG. 6 and step S703 in FIG. Hereinafter, each step of FIG. 8 will be described.

(図8:ステップS801)
ファームウェア更新プログラム1441は、メモリ120内に保存されている配信パッケージ121(=差分配信パッケージ244または全体配信パッケージ245)から更新手順データを1行分読み込む。
(FIG. 8: Step S801)
The firmware update program 1441 reads the update procedure data for one line from the distribution package 121 (= the differential distribution package 244 or the entire distribution package 245) stored in the memory 120.

(図8:ステップS802)
ファームウェア更新プログラム1441は、更新手順データの記述にしたがって、差分イメージデータ2441または新イメージデータ2451を、指定先に書き込む。このときの書込単位は、必ずしもファイル単位である必要はない。例えば不揮発性メモリ140がFlashメモリであれば、ブロック単位などの所定書込単位で書き込んでもよい。
(FIG. 8: Step S802)
The firmware update program 1441 writes the difference image data 2441 or the new image data 2451 in the designated destination according to the description of the update procedure data. The writing unit at this time is not necessarily a file unit. For example, if the nonvolatile memory 140 is a flash memory, writing may be performed in a predetermined writing unit such as a block unit.

(図8:ステップS803)
ファームウェア更新プログラム1441は、更新手順データの全ての記述について更新を完了したか否かを判定する。更新が済んでいない手順が残っていればステップS801へ戻り、全て更新完了していれば本動作フローを終了する。
(FIG. 8: Step S803)
The firmware update program 1441 determines whether or not the update has been completed for all the descriptions of the update procedure data. If a procedure that has not been updated remains, the process returns to step S801, and if all the updates have been completed, the operation flow ends.

<実施の形態1:まとめ>
以上のように、本実施の形態1に係るファームウェア更新プログラム1441は、緊急用ファームウェア1431および緊急用OS1432の配下で起動した場合は、前回のファームウェア更新処理が途中中断したものと判断し、全体配信パッケージ245を取得してファームウェアのイメージデータを全て更新する。これにより、ファームウェア更新処理が途中中断した場合でも、ファームウェアが破損などしたままの異常状態から適切に復帰することができる。
<Embodiment 1: Summary>
As described above, when the firmware update program 1441 according to the first embodiment is started under the emergency firmware 1431 and the emergency OS 1432, the firmware update program 1441 determines that the previous firmware update process has been interrupted and is distributed as a whole. The package 245 is acquired and all the firmware image data is updated. As a result, even when the firmware update process is interrupted halfway, it is possible to appropriately recover from an abnormal state in which the firmware remains damaged.

また、本実施の形態1に係るファームウェア更新プログラム1441は、通常用ファームウェア1421および通常用OS1422の配下で起動した場合は、前回のファームウェア更新処理が正常完了したものと判断し、差分配信パッケージ244を取得してファームウェアのイメージデータを新旧の差分のみ更新する。これにより、通常時は配信パッケージのデータサイズを小さく抑え、配信負荷を低減し、配信パッケージを格納するためのメモリ容量も抑えることができる。   Also, when the firmware update program 1441 according to the first embodiment is started under the normal firmware 1421 and the normal OS 1422, the firmware update program 1441 determines that the previous firmware update process has been normally completed, and the differential distribution package 244 is stored. Obtain and update the firmware image data only for the old and new differences. Thereby, normally, the data size of the distribution package can be suppressed, the distribution load can be reduced, and the memory capacity for storing the distribution package can also be suppressed.

また、本実施の形態1に係るファームウェア更新プログラム1441において、差分配信パッケージ244を用いてファームウェアを更新する場合は、通常アプリケーション1423を実行している最中でもファームウェアを更新することができる。これにより、ファームウェアを更新するために必ずしも情報機器100を再起動する必要がなくなり、ユーザにとって便宜である。   In the firmware update program 1441 according to the first embodiment, when the firmware is updated using the differential distribution package 244, the firmware can be updated even while the normal application 1423 is being executed. Thereby, it is not always necessary to restart the information device 100 in order to update the firmware, which is convenient for the user.

<実施の形態2>
実施の形態1では、差分配信パッケージ244を用いてファームウェアを更新する場合は、情報機器100を再起動することなくファームウェアを更新する旨を説明した。一方通常アプリケーション1423を実行しているとき、プロセスの割り込みなどにより、ファームウェアを更新する処理が遮られる可能性がある。そこで本発明の実施形態2では、ファームウェアを更新する処理を、緊急用OS1432の配下に集中的に配置した動作例を説明する。各機器の構成は実施形態1と同様である。
<Embodiment 2>
In the first embodiment, it has been described that when the firmware is updated using the differential distribution package 244, the firmware is updated without restarting the information device 100. On the other hand, when the normal application 1423 is executed, there is a possibility that the process of updating the firmware may be interrupted by a process interruption or the like. Therefore, in the second embodiment of the present invention, an operation example in which the process of updating the firmware is centrally arranged under the emergency OS 1432 will be described. The configuration of each device is the same as that of the first embodiment.

図9は、情報機器100が通常起動する際の動作フローである。本動作フローは、実施形態1の図6に対応するものである。以下、図9の各ステップについて説明する。   FIG. 9 is an operation flow when the information device 100 is normally activated. This operation flow corresponds to FIG. 6 of the first embodiment. Hereinafter, each step of FIG. 9 will be described.

(図9:ステップS900〜S901)
これらのステップは、図6のステップS600〜S601と同様である。ステップS901においてファームウェアを更新しないと判断した場合は、ステップS904へ進む。
(FIG. 9: Steps S900 to S901)
These steps are the same as steps S600 to S601 in FIG. If it is determined in step S901 that the firmware is not updated, the process proceeds to step S904.

(図9:ステップS902)
ファームウェア更新プログラム1441は、情報機器100を次回ブートする時に緊急用ファームウェア1431を起動すべき旨を、起動設定1412にセットする。配信パッケージを取得する処理は、後述する図10で実行するので、本動作フローには存在しない。
(FIG. 9: Step S902)
The firmware update program 1441 sets in the activation setting 1412 that the emergency firmware 1431 should be activated when the information device 100 is next booted. Since the process of acquiring the distribution package is executed in FIG. 10 described later, it does not exist in this operation flow.

(図9:ステップS903)
ファームウェア更新プログラム1441は、情報機器100を再起動する。
(FIG. 9: Step S903)
The firmware update program 1441 restarts the information device 100.

(図9:ステップS904)
本ステップは、図6のステップS608と同様である。
(FIG. 9: Step S904)
This step is the same as step S608 in FIG.

図10は、情報機器100が緊急起動する際の動作フローである。本動作フローは、実施形態1の図7に対応するものである。以下、図10の各ステップについて説明する。   FIG. 10 is an operation flow when the information device 100 is urgently activated. This operation flow corresponds to FIG. 7 of the first embodiment. Hereinafter, each step of FIG. 10 will be described.

(図10:ステップS1000)
本ステップは、図7のステップS700と同様である。
(FIG. 10: Step S1000)
This step is the same as step S700 in FIG.

(図10:ステップS1001)
緊急用OS1432は、ファームウェア更新プログラム1441を起動する。ファームウェア更新プログラム1441は、ファームウェアを更新する前回の処理が途中中断したか否かを判断する。途中中断したと判断する場合はステップS1002へ進み、それ以外であればステップS1003へ進む。
(FIG. 10: Step S1001)
The emergency OS 1432 activates the firmware update program 1441. The firmware update program 1441 determines whether or not the previous process for updating the firmware was interrupted. If it is determined that the process has been interrupted, the process proceeds to step S1002. Otherwise, the process proceeds to step S1003.

(図10:ステップS1001:補足)
ファームウェアを更新する前回の処理が途中中断したか否かは、適当なフラグなどを用いて判定すればよい。例えば、ファームウェア更新プログラム1441がファームウェアの更新処理を開始したときに不揮発性メモリ140の適当な領域にその旨のフラグを書き込んでおき、更新完了するときにそのフラグをクリアする、などとすればよい。
(FIG. 10: Step S1001: Supplement)
Whether or not the previous process of updating the firmware has been interrupted may be determined using an appropriate flag or the like. For example, when the firmware update program 1441 starts the firmware update process, a flag to that effect is written in an appropriate area of the nonvolatile memory 140, and the flag is cleared when the update is completed. .

(図10:ステップS1002〜S1003)
ファームウェア更新プログラム1441は、配信パッケージ取得先テーブル1442の記述にしたがって、管理装置200から差分配信パッケージ244または全体配信パッケージ245を取得し、揮発性のメモリ120に一時的に保存する。
(FIG. 10: Steps S1002 to S1003)
The firmware update program 1441 acquires the differential distribution package 244 or the entire distribution package 245 from the management apparatus 200 in accordance with the description of the distribution package acquisition destination table 1442, and temporarily stores it in the volatile memory 120.

(図10:ステップS1004〜S1007)
これらのステップは、図7のステップS702〜S705と同様である。
(FIG. 10: Steps S1004 to S1007)
These steps are the same as steps S702 to S705 in FIG.

<実施の形態2:まとめ>
以上のように、本実施形態2に係るファームウェア更新プログラム1441は、ファームウェア更新処理が前回途中中断したか否かを判断するステップ、配信パッケージを取得するステップ、およびイメージデータを書き込むステップを、緊急用ファームウェア1431および緊急用OS1432の配下で実行する。これにより、通常アプリケーション1423がファームウェア更新処理を遮る心配がなくなり、ファームウェア更新をスムーズに実施することができる。
<Embodiment 2: Summary>
As described above, the firmware update program 1441 according to the second embodiment performs the steps of determining whether the firmware update process has been interrupted halfway last time, the step of acquiring a distribution package, and the step of writing image data. It is executed under the control of the firmware 1431 and the emergency OS 1432. As a result, there is no concern that the normal application 1423 may block the firmware update process, and the firmware update can be performed smoothly.

<実施の形態3>
本発明の実施形態3では、管理装置200が差分配信パッケージ244と全体配信パッケージ245を作成する手順例を説明する。各機器の構成およびその他の動作は、実施形態1〜2と同様である。
<Embodiment 3>
In the third embodiment of the present invention, a procedure example in which the management apparatus 200 creates the difference distribution package 244 and the entire distribution package 245 will be described. The configuration and other operations of each device are the same as those in the first and second embodiments.

図11は、管理装置200が差分配信パッケージ244と全体配信パッケージ245を作成する処理フローを示す図である。以下、図11の各ステップについて説明する。   FIG. 11 is a diagram illustrating a processing flow in which the management apparatus 200 creates the difference distribution package 244 and the entire distribution package 245. Hereinafter, each step of FIG. 11 will be described.

(図11:ステップS1100)
管理装置200のCPU210は、例えば所定時間間隔、または新イメージデータ242を受け取った時点などで、本処理フローを起動する。
(FIG. 11: Step S1100)
The CPU 210 of the management apparatus 200 activates this processing flow, for example, at a predetermined time interval or when new image data 242 is received.

(図11:ステップS1101)
CPU210は、旧イメージデータ241、新イメージデータ242を読み込む。
(FIG. 11: Step S1101)
The CPU 210 reads the old image data 241 and the new image data 242.

(図11:ステップS1102)
CPU210は、全体データマッピングテーブル243を読み込む。
(FIG. 11: Step S1102)
The CPU 210 reads the entire data mapping table 243.

(図11:ステップS1103)
CPU210は、全体データマッピングテーブル243が記述している各イメージデータを比較する。図2で説明したデータ例の場合、OLDDATA(旧イメージデータ241)とNEWDATA(新イメージデータ242)を比較する。CPU210は、両者が異なる場合はイメージデータが更新されたものとみなし、新イメージデータ2451を反映すべき旨を全体更新手順データ2452に記述し、新イメージデータ242を全体配信パッケージ245に追加する。
(FIG. 11: Step S1103)
The CPU 210 compares each image data described in the overall data mapping table 243. In the case of the data example described with reference to FIG. 2, OLDDATA (old image data 241) and NEWDATA (new image data 242) are compared. If they are different, the CPU 210 considers that the image data has been updated, describes in the overall update procedure data 2452 that the new image data 2451 should be reflected, and adds the new image data 242 to the overall distribution package 245.

(図11:ステップS1104)
CPU210は、全てのイメージデータについてステップS1103の比較を完了したか否かを判定する。全て比較完了していればステップS1105へ進み、比較していないイメージデータが残っていればステップS1103へ戻る。
(FIG. 11: Step S1104)
The CPU 210 determines whether or not the comparison in step S1103 has been completed for all image data. If all the comparisons have been completed, the process proceeds to step S1105, and if there remains uncompared image data, the process returns to step S1103.

(図11:ステップS1105)
CPU210は、新イメージデータ2451と全体更新手順データ2452をパッケージ化して全体配信パッケージ245を作成する。
(FIG. 11: Step S1105)
The CPU 210 packages the new image data 2451 and the overall update procedure data 2452 to create an overall distribution package 245.

(図11:ステップS1106)
CPU210は、ステップS1103と同様に各イメージデータを比較する。両者の差分があればこれを差分イメージデータ2441として抽出し、差分配信パッケージ244に追加する。また、差分イメージデータ2441を反映する手順を、差分更新手順データ2442に記述する。
(FIG. 11: Step S1106)
The CPU 210 compares the image data as in step S1103. If there is a difference between the two, it is extracted as difference image data 2441 and added to the difference distribution package 244. Further, a procedure for reflecting the difference image data 2441 is described in the difference update procedure data 2442.

(図11:ステップS1107)
CPU210は、差分イメージデータ2441を反映した後に再起動が必要であれば、その旨を差分更新手順データ2442に記述する。再起動の対象とするのは、ファームウェアの更新を完了するために必要な範囲でよい。例えば、常駐プロセスを再起動すれば差分を更新するのに十分である場合は、その旨を記述すれば足りる。OSを再起動する必要がある場合は、同様にその旨を記述する。全体更新手順データ2452についても同様に再起動手順を記述することができる。
(FIG. 11: Step S1107)
If the CPU 210 needs to be restarted after reflecting the difference image data 2441, the CPU 210 describes that fact in the difference update procedure data 2442. The target of restart may be a range necessary for completing the firmware update. For example, if restarting the resident process is sufficient to update the difference, it is sufficient to describe that fact. If it is necessary to restart the OS, this is described in the same way. Similarly, the restart procedure can be described for the entire update procedure data 2452.

(図11:ステップS1108)
CPU210は、全てのイメージデータについてステップS1106の比較を完了したか否かを判定する。全て比較完了していればステップS1109へ進み、比較していないイメージデータが残っていればステップS1106へ戻る。
(FIG. 11: Step S1108)
The CPU 210 determines whether or not the comparison in step S1106 has been completed for all image data. If all the comparisons have been completed, the process proceeds to step S1109, and if there remains uncompared image data, the process returns to step S1106.

(図11:ステップS1109)
CPU210は、差分イメージデータ2441と差分更新手順データ2442をパッケージ化して差分配信パッケージ244を作成する。
(FIG. 11: Step S1109)
The CPU 210 packages the difference image data 2441 and the difference update procedure data 2442 to create a difference distribution package 244.

<実施の形態3:まとめ>
以上のように、本実施形態3によれば、管理装置200は、旧イメージデータ241、新イメージデータ242、および全体データマッピングテーブル243を用いて各配信パッケージを作成することができる。これにより、ファームウェアを更新する必要が生じたとき、管理者は新イメージデータ242を管理装置200に格納するのみで作業が完了するので、ファームウェア更新作業の負担を軽減することができる。
<Embodiment 3: Summary>
As described above, according to the third embodiment, the management apparatus 200 can create each distribution package using the old image data 241, the new image data 242, and the entire data mapping table 243. As a result, when the firmware needs to be updated, the administrator can complete the work only by storing the new image data 242 in the management apparatus 200, so that the burden of the firmware update work can be reduced.

<実施の形態4>
図12は、本発明の実施形態4に係るファームウェア更新システム1000の構成図である。本実施形態4に係るファームウェア更新システム1000は、実施形態1〜3で説明した構成に加えて、新たに配信装置400を有する。その他の構成は実施形態1〜3と同様である。配信装置400の台数は任意でよい。
<Embodiment 4>
FIG. 12 is a configuration diagram of a firmware update system 1000 according to the fourth embodiment of the present invention. The firmware update system 1000 according to the fourth embodiment newly includes a distribution device 400 in addition to the configurations described in the first to third embodiments. Other configurations are the same as those in the first to third embodiments. The number of distribution apparatuses 400 may be arbitrary.

配信装置400は、管理装置200に代わって情報機器100に差分配信パッケージ244と全体配信パッケージ245を配信する装置である。配信装置400は、CPU410、メモリ420、通信ポート430、記憶装置440を備える。   The distribution apparatus 400 is an apparatus that distributes the differential distribution package 244 and the entire distribution package 245 to the information device 100 in place of the management apparatus 200. The distribution apparatus 400 includes a CPU 410, a memory 420, a communication port 430, and a storage device 440.

CPU410は、各配信パッケージを管理装置200から取得して記憶装置440に格納し、さらに情報機器100に配信する。メモリ420は、CPU410が動作する際に用いる一時的なデータを格納する揮発性メモリである。通信ポート430は、配信装置400がネットワーク300を介して情報機器100および管理装置200と通信するための通信インターフェースである。   The CPU 410 acquires each distribution package from the management apparatus 200, stores it in the storage device 440, and further distributes it to the information device 100. The memory 420 is a volatile memory that stores temporary data used when the CPU 410 operates. The communication port 430 is a communication interface for the distribution apparatus 400 to communicate with the information device 100 and the management apparatus 200 via the network 300.

記憶装置440は、差分配信パッケージ244、全体配信パッケージ245を格納する記憶装置である。記憶装置440は、例えばHDDなどの不揮発性記憶装置で構成することができる。   The storage device 440 is a storage device that stores the differential distribution package 244 and the entire distribution package 245. The storage device 440 can be configured by a nonvolatile storage device such as an HDD.

管理装置200は、各配信パッケージを作成すると、情報機器100ではなく配信装置400に配信する。配信装置400は、情報機器100から配信リクエストを受け付けると、各配信パッケージを情報機器100に配信する。   When the management apparatus 200 creates each distribution package, the management apparatus 200 distributes it to the distribution apparatus 400 instead of the information device 100. Upon receiving a distribution request from the information device 100, the distribution device 400 distributes each distribution package to the information device 100.

<実施の形態4:まとめ>
以上のように、本実施形態4に係るファームウェア更新システム1000は、管理装置200に代わって各配信パッケージを配信する配信装置400を有するので、情報機器100が多数存在し、配信負荷が大きくなる場合でも、支障なくファームウェア更新を実施することができる。また、管理装置200自体は性能がさほど高くない端末を用いて構成しても特段の支障はないので、余剰なコンピュータなどを管理装置200として活用することができる。
<Embodiment 4: Summary>
As described above, since the firmware update system 1000 according to the fourth embodiment includes the distribution device 400 that distributes each distribution package in place of the management device 200, there are a large number of information devices 100 and the distribution load increases. However, firmware can be updated without any problem. In addition, even if the management apparatus 200 itself is configured using a terminal that does not have a very high performance, there is no particular problem, so that an excess computer or the like can be used as the management apparatus 200.

<実施の形態5>
以上の実施形態1〜4において、情報機器100が各配信パッケージを取得する際に、配信パッケージ取得先テーブル1442に記述されているアドレスに加え、各配信パッケージのバージョンを指定できるようにしてもよい。
<Embodiment 5>
In the first to fourth embodiments, when the information device 100 acquires each distribution package, in addition to the address described in the distribution package acquisition destination table 1442, the version of each distribution package may be specified. .

以上の実施の形態1〜4において、配信パッケージ取得先テーブル1442を管理装置200上または配信装置400上に配置しておき、情報機器100上にはその取得先アドレスのみを保持しておくようにしてもよい。   In the above first to fourth embodiments, the distribution package acquisition destination table 1442 is arranged on the management apparatus 200 or the distribution apparatus 400, and only the acquisition destination address is held on the information device 100. May be.

以上の実施の形態1〜4において、不揮発性メモリ140に新たなファームウェアイメージをどの記憶領域まで書き込んだかをログに取っておき、ファームウェア更新処理が途中中断したときは書き込みが完了していない記憶領域以後のイメージデータに対応する差分データのみを管理装置200または配信装置400から取得するようにしてもよい。これにより、全体配信パッケージ244に代えて差分データのみを取得すればよいので、ファームウェア更新処理が途中中断した場合でも、配信負荷と記憶容量を抑えることができる。   In the above first to fourth embodiments, the storage area to which a new firmware image is written in the nonvolatile memory 140 is stored in a log, and when the firmware update process is interrupted halfway, the writing after the storage area where writing has not been completed Only the difference data corresponding to the image data may be acquired from the management apparatus 200 or the distribution apparatus 400. As a result, since only the difference data needs to be obtained instead of the entire distribution package 244, the distribution load and the storage capacity can be suppressed even when the firmware update process is interrupted.

以上の実施の形態1〜4において、ファームウェアをイメージ単位で更新することを説明したが、ファイル単位で更新する場合でも同様の手法を採用し、配信負荷と記憶容量を抑えることはできる。   In the first to fourth embodiments described above, it has been described that the firmware is updated in units of images. However, even when the firmware is updated in units of files, the same technique can be adopted to reduce the distribution load and the storage capacity.

100:情報機器、110:CPU、120:メモリ、121:配信パッケージ、130:通信ポート、140:不揮発性メモリ、141:ブートブロック、1411:ブートローダ、1412:起動設定データ、142:通常ファームウェアブロック、1421:通常用ファームウェア、1422:通常用OS、1423:通常アプリケーション、143:緊急ファームウェアブロック、1431:緊急用ファームウェア、1432:緊急用OS、144:更新用ブロック、1441:ファームウェア更新プログラム、1442:配信パッケージ取得先テーブル、200:管理装置、210:CPU、220:メモリ、230:通信ポート、240:記憶装置、241:旧イメージデータ、242:新イメージデータ、243:全体データマッピングテーブル、244:差分配信パッケージ、2441:差分イメージデータ、2442:差分更新手順データ、245:全体配信パッケージ、2451:新イメージデータ、2452:全体更新手順データ、300:ネットワーク、400:配信装置、410:CPU、420:メモリ、430:通信ポート、440:記憶装置、1000:ファームウェア更新システム。   100: Information device, 110: CPU, 120: Memory, 121: Distribution package, 130: Communication port, 140: Non-volatile memory, 141: Boot block, 1411: Boot loader, 1412: Startup setting data, 142: Normal firmware block, 1421: Normal firmware, 1422: Normal OS, 1423: Normal application, 143: Emergency firmware block, 1431: Emergency firmware, 1432: Emergency OS, 144: Update block, 1441: Firmware update program, 1442: Distribution Package acquisition destination table, 200: management device, 210: CPU, 220: memory, 230: communication port, 240: storage device, 241: old image data, 242: new image data, 243: overall data Ping table, 244: difference distribution package, 2441: difference image data, 2442: difference update procedure data, 245: overall distribution package, 2451: new image data, 2452: overall update procedure data, 300: network, 400: distribution device 410: CPU, 420: memory, 430: communication port, 440: storage device, 1000: firmware update system.

Claims (7)

通常動作時に用いる通常ファームウェアと緊急動作時に用いる緊急ファームウェアを格納した不揮発性メモリ及び一時的にデータを保存する揮発性メモリを備える情報機器のファームウェアを更新する方法であって、
前記情報機器を次回起動する時に用いるファームウェアを前記緊急ファームウェアに設定するステップと、
前記ファームウェアを更新する処理が前回途中で中断したか否かを判定する中断判定ステップと、
新たな前記ファームウェアをネットワーク経由で取得して前記ファームウェアを更新する更新ステップと、
前記情報機器を次回起動する時に用いるファームウェアを前記通常ファームウェアに設定するステップと、
を有し、
前記更新ステップでは、
前記中断判定ステップにおいて、前記ファームウェアを更新する処理が前回途中で中断したと判定した場合は、前記ファームウェアの更新後イメージデータを全てネットワーク経由で取得して前記揮発性メモリに保存し、
前記中断判定ステップにおいて、前記ファームウェアを更新する処理が前回途中で中断していないと判定した場合は、前記ファームウェアの更新後イメージデータのうち現在の前記ファームウェアとの間の差分のみをネットワーク経由で取得して前記揮発性メモリに保存し、当該差分を更新前の前記ファームウェアに適用することによって前記ファームウェアを更新する
ことを特徴とするファームウェア更新方法。
A method for updating firmware of an information device including a normal memory used during normal operation and a non-volatile memory storing emergency firmware used during emergency operation and a volatile memory temporarily storing data,
Setting the firmware to be used when the information device is activated next time as the emergency firmware;
An interruption determination step for determining whether or not the process of updating the firmware was interrupted in the middle of the previous time;
An update step of acquiring new firmware via a network and updating the firmware;
Setting firmware to be used when the information device is started next time as the normal firmware;
Have
In the updating step,
In the interruption determination step, when it is determined that the process of updating the firmware was interrupted in the middle of the previous time, all the updated image data of the firmware is acquired via the network and stored in the volatile memory,
In the interruption determination step, when it is determined that the process for updating the firmware has not been interrupted in the middle of the previous time, only the difference from the current firmware in the image data after the firmware update is acquired via the network. Then, the firmware is updated by storing in the volatile memory and applying the difference to the firmware before update.
前記中断判定ステップでは、
前記緊急ファームウェアを用いて前記情報機器が起動された場合は、前記ファームウェアを更新する処理が前回途中で中断したと判定する
ことを特徴とする請求項1記載のファームウェア更新方法。
In the interruption determination step,
The firmware update method according to claim 1, wherein when the information device is activated using the emergency firmware, it is determined that the process of updating the firmware was interrupted in the middle of the previous time.
前記情報機器を次回起動する時に用いるファームウェアを前記緊急ファームウェアに設定した後、前記情報機器を再起動するステップを有し、
前記中断判定ステップおよび前記更新ステップを前記緊急ファームウェアの配下で実行する
ことを特徴とする請求項1記載のファームウェア更新方法。
After setting the firmware to be used when the information device is started next time to the emergency firmware, the step of restarting the information device,
The firmware update method according to claim 1, wherein the interruption determination step and the update step are executed under the emergency firmware.
請求項1から3のいずれか1項記載のファームウェア更新方法をコンピュータに実行させることを特徴とするファームウェア更新プログラム。   A firmware update program for causing a computer to execute the firmware update method according to claim 1. 通常動作時に用いる通常ファームウェアと緊急動作時に用いる緊急ファームウェアを格納した不揮発性メモリと、
一時的にデータを保存する揮発性メモリと、
請求項4記載のファームウェア更新プログラムと、
前記ファームウェア更新プログラムを実行する演算装置と、
を備えたことを特徴とする情報機器。
A non-volatile memory storing normal firmware used during normal operation and emergency firmware used during emergency operation;
Volatile memory to temporarily store data,
A firmware update program according to claim 4,
An arithmetic unit that executes the firmware update program;
An information device characterized by comprising:
請求項5記載の情報機器と、
前記ファームウェアの更新後イメージデータを保持する管理装置と、
を有し、
前記管理装置は、
前記情報機器内における前記更新後イメージデータの格納場所を記述したデータマッピングテーブルをさらに備え、
前記情報機器が前記更新後イメージデータまたは前記差分を用いて前記ファームウェアを更新する手順を記述した手順データを、前記データマッピングテーブルの記述にしたがって作成し、
前記情報機器は、
前記更新後イメージデータまたは前記差分と前記手順データをネットワーク経由で取得し、前記手順データの記述にしたがって前記ファームウェアを更新する
ことを特徴とするファームウェア更新システム。
Information equipment according to claim 5;
A management device for holding the image data after the firmware update;
Have
The management device
A data mapping table describing a storage location of the updated image data in the information device,
The information device creates procedure data describing a procedure for updating the firmware using the updated image data or the difference according to the description of the data mapping table,
The information device is
The firmware update system, wherein the updated image data or the difference and the procedure data are acquired via a network, and the firmware is updated according to a description of the procedure data.
前記管理装置は、
前記ファームウェアの更新前後のイメージデータを比較し、
更新前後で差分が生じている場合は、当該差分を差分イメージデータとして抽出するとともに、当該差分イメージデータを反映すべき旨を前記手順データに記述する
ことを特徴とする請求項6記載のファームウェア更新システム。
The management device
Compare the image data before and after the firmware update,
The firmware update according to claim 6, wherein when a difference occurs before and after the update, the difference is extracted as difference image data, and the fact that the difference image data should be reflected is described in the procedure data. system.
JP2010141662A 2010-06-22 2010-06-22 Firmware update method, information device, and firmware update system Pending JP2012008640A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010141662A JP2012008640A (en) 2010-06-22 2010-06-22 Firmware update method, information device, and firmware update system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010141662A JP2012008640A (en) 2010-06-22 2010-06-22 Firmware update method, information device, and firmware update system

Publications (1)

Publication Number Publication Date
JP2012008640A true JP2012008640A (en) 2012-01-12

Family

ID=45539140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010141662A Pending JP2012008640A (en) 2010-06-22 2010-06-22 Firmware update method, information device, and firmware update system

Country Status (1)

Country Link
JP (1) JP2012008640A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018160208A (en) * 2017-03-24 2018-10-11 日立オートモティブシステムズ株式会社 On-vehicle controller and program update software

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018160208A (en) * 2017-03-24 2018-10-11 日立オートモティブシステムズ株式会社 On-vehicle controller and program update software

Similar Documents

Publication Publication Date Title
JP5113700B2 (en) Firmware update apparatus and method
US20190384678A1 (en) System and method for managing backup and restore of objects over cloud platforms
CN110088733B (en) Storage layer-based orchestration of virtual machine migration
JP5342302B2 (en) Firmware update system, firmware distribution server, and program
US8752039B1 (en) Dynamic upgrade of operating system in a network device
CN103946807A (en) Method, system and device for generating snapshot
US10778762B2 (en) Cloud computing service architecture
US9930112B2 (en) Maintaining system firmware images remotely using a distribute file system protocol
JP2016126443A (en) Electronic device and firmware recovery program
JP2010541044A (en) Software deployment in large networked systems
US20240012652A1 (en) Operating system upgrade method, device, storage medium, and computer program product
JP5821393B2 (en) Information processing apparatus, activation method, program
WO2005071522A1 (en) High-speed restart method, information processing device, and program
US10620871B1 (en) Storage scheme for a distributed storage system
US20160162278A1 (en) System and method for applying an update to a device system via a system snapshot
JP2005533318A (en) Storage services and storage systems
US10496493B1 (en) Method and system for restoring applications of particular point in time
US8285680B2 (en) Individual object restore
US20150269029A1 (en) Immediate Recovery of an Application from File Based Backups
US20190265964A1 (en) Electronic apparatus, updating method, and recording medium
CN110941516B (en) Operating system restoration method, device, equipment and storage medium
WO2017173924A1 (en) Method and device for switching between file systems
US10896201B2 (en) Synchronization of block based volumes
KR102123701B1 (en) Network boot system
JP2012008640A (en) Firmware update method, information device, and firmware update system