JP5225163B2 - Data update device, data update method for data update device, and data update program - Google Patents

Data update device, data update method for data update device, and data update program Download PDF

Info

Publication number
JP5225163B2
JP5225163B2 JP2009053795A JP2009053795A JP5225163B2 JP 5225163 B2 JP5225163 B2 JP 5225163B2 JP 2009053795 A JP2009053795 A JP 2009053795A JP 2009053795 A JP2009053795 A JP 2009053795A JP 5225163 B2 JP5225163 B2 JP 5225163B2
Authority
JP
Japan
Prior art keywords
data
update
unit
new
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009053795A
Other languages
Japanese (ja)
Other versions
JP2010211295A (en
Inventor
暁 藤澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009053795A priority Critical patent/JP5225163B2/en
Publication of JP2010211295A publication Critical patent/JP2010211295A/en
Application granted granted Critical
Publication of JP5225163B2 publication Critical patent/JP5225163B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、例えば、組み込み機器のF/W(ファームウェア)を更新するデータ更新装置、データ更新装置のデータ更新方法およびデータ更新プログラムに関するものである。   The present invention relates to, for example, a data update device that updates F / W (firmware) of an embedded device, a data update method of the data update device, and a data update program.

従来、組み込み機器のF/Wを新しいF/Wへ更新するには、上記F/Wのイメージ(データ)が格納されたコンパクトフラッシュ(登録商標)カードやUSBメモリ等の媒体を使用し、上記F/Wイメージを上記組み込み機器にインストールすることで行われていた。上記インストールとは、上記組み込み機器内の不揮発性メモリに上記F/Wイメージを書き込むことである。
しかし、F/Wの更新対象となる組み込み機器が複数ある場合、組み込み機器毎にF/Wの更新を行わなければならないため、F/Wの更新が煩雑となっていた。また、全ての組み込み機器のF/Wの更新を完了するのに時間がかかっていた。
Conventionally, in order to update the F / W of an embedded device to a new F / W, a medium such as a compact flash (registered trademark) card or USB memory storing the F / W image (data) is used. This is done by installing the F / W image in the embedded device. The installation refers to writing the F / W image into a nonvolatile memory in the embedded device.
However, when there are a plurality of embedded devices that are F / W update targets, it is necessary to update the F / W for each embedded device, which makes it difficult to update the F / W. In addition, it took time to complete the update of the F / W of all the embedded devices.

この課題点の解決手段として、特許文献1に記載のF/W更新方式がある。
この方式は、複数の組み込み機器と管理サーバとをLAN(Local Area Network)で接続し、上記F/Wイメージを上記管理サーバから上記組み込み機器へ送信し、F/Wの更新を行う。
これにより、組み込み機器毎にF/Wの更新を行う必要がなくなるため、F/W更新にかかる時間や煩雑さを軽減することができる。
As a means for solving this problem, there is an F / W update method described in Patent Document 1.
In this method, a plurality of embedded devices and a management server are connected via a LAN (Local Area Network), the F / W image is transmitted from the management server to the embedded device, and the F / W is updated.
This eliminates the need to update the F / W for each embedded device, thereby reducing the time and complexity of the F / W update.

特開2004−288106号公報JP 2004-288106 A

上記特許文献1に記載されている方式では、上記管理サーバから、LANに接続されている上記組み込み機器へ上記F/Wイメージ全体を送信し、上記組み込み機器内の不揮発性メモリに上記F/Wイメージ全体を書き込んでいた。また、上記不揮発性メモリへデータを書き込むために上記不揮発性メモリのイレースが必要な場合、上記不揮発性メモリ上の更新前のF/Wのイレースを行ってから、上記F/Wイメージ全体を書き込んでいた。
この方式では、上記不揮発性メモリに書き込まれている上記更新前のF/Wに新しいF/Wと同じバイト列が存在した場合、当該箇所に同じバイト列を書き込む。上記イレースが必要な不揮発性メモリを内蔵している組み込み機器の場合、当該箇所のイレースを行ってから上記同じバイト列を書き込む。
このような方式でのF/Wの更新は、不揮発性メモリのイレース、F/Wイメージの書き込みに冗長な時間がかかる。また、不揮発性メモリへのアクセス回数が冗長となり、不揮発性メモリの寿命を早める。
In the method described in Patent Document 1, the entire F / W image is transmitted from the management server to the embedded device connected to the LAN, and the F / W is transmitted to a nonvolatile memory in the embedded device. I was writing the entire image. Further, when the nonvolatile memory needs to be erased in order to write data to the nonvolatile memory, the entire F / W image is written after erasing the F / W before update on the nonvolatile memory. It was out.
In this method, when the same byte string as the new F / W exists in the F / W before update written in the non-volatile memory, the same byte string is written in the corresponding part. In the case of an embedded device incorporating a non-volatile memory that needs to be erased, the same byte string is written after erasing the relevant part.
Updating the F / W by such a method requires redundant time for erasing the nonvolatile memory and writing the F / W image. In addition, the number of accesses to the nonvolatile memory becomes redundant, and the life of the nonvolatile memory is shortened.

本発明は、例えば、複数の組み込み機器のF/Wの更新時間を短縮し、また、前記複数の組み込み機器に内蔵されている不揮発性メモリへのアクセス回数を減らすことにより不揮発性メモリの寿命を延ばせるF/W更新システムの提供を目的とする。   The present invention, for example, shortens the F / W update time of a plurality of embedded devices, and reduces the number of accesses to the nonvolatile memory incorporated in the plurality of embedded devices, thereby reducing the lifetime of the nonvolatile memory. The object is to provide an F / W update system that can be extended.

本発明のデータ更新装置は、特定の機器で使用されている使用データと前記使用データとは少なくとも一部が異なる新データとを記憶媒体を用いて記憶するデータ記憶部と、前記データ記憶部に記憶された使用データを特定のサイズで複数の分割データにCPU(Central Processing Unit)を用いて分割する使用データ分割部と、前記データ記憶部に記憶された新データを前記特定のサイズで複数の分割データにCPUを用いて分割する新データ分割部と、前記使用データの分割データ毎に当該使用データの分割データとデータの並び順が対応する新データの分割データと同じであるか否かを示す情報を差分情報としてCPUを用いて生成する差分情報生成部と、前記差分情報生成部により生成された差分情報に基づいて新データの複数の分割データのうちデータの並び順が対応する使用データの分割データと異なる各分割データをCPUを用いて特定し、特定した新データの各分割データを差分データとして前記特定の機器に入力して前記特定の機器に前記使用データ内の前記差分データに対応する部分を前記差分データで更新させる差分データ入力部とを備える。   The data updating device of the present invention includes a data storage unit that stores, using a storage medium, usage data that is used in a specific device and new data that is at least partially different from the usage data, and the data storage unit A used data dividing unit that divides the stored use data into a plurality of divided data with a specific size using a CPU (Central Processing Unit), and a plurality of new data stored in the data storage unit with the specific size A new data dividing unit that divides the divided data using a CPU, and whether or not the divided data of the used data and the arrangement order of the data correspond to the divided data of the new data corresponding to the divided data of the used data. Based on the difference information generated by the CPU and the difference information generated by the difference information generator. And using the CPU, each of the plurality of divided data of the new data is specified using the CPU, and each of the specified divided data is determined as the difference data by using the CPU. A difference data input unit that inputs to a device and causes the specific device to update a portion corresponding to the difference data in the usage data with the difference data.

本発明によれば、例えば、複数の組み込み機器のF/Wの更新時間を短縮し、前記複数の組み込み機器に内蔵されている不揮発性メモリへのアクセス回数を減らすことにより不揮発性メモリの寿命を延ばせるF/W更新システムを提供できる。   According to the present invention, for example, the F / W update time of a plurality of embedded devices is shortened, and the lifetime of the nonvolatile memory is reduced by reducing the number of accesses to the nonvolatile memory incorporated in the plurality of embedded devices. An F / W update system that can be extended can be provided.

実施の形態1におけるF/W更新システム100の構成図。1 is a configuration diagram of an F / W update system 100 according to Embodiment 1. FIG. 実施の形態1におけるパソコン側ツール210の構成図。FIG. 3 is a configuration diagram of a PC-side tool 210 in the first embodiment. 実施の形態1におけるパソコン200のハードウェア資源の一例を示す図。FIG. 3 is a diagram illustrating an example of hardware resources of the personal computer 200 according to the first embodiment. 実施の形態1におけるF/W更新方法の概要図。FIG. 3 is a schematic diagram of an F / W update method according to the first embodiment. 実施の形態1におけるF/W更新方法の概要図。FIG. 3 is a schematic diagram of an F / W update method according to the first embodiment. 実施の形態1におけるF/W更新方法を示すフローチャート。3 is a flowchart illustrating an F / W update method according to the first embodiment. 実施の形態1におけるF/W更新方法を示すフローチャート。3 is a flowchart illustrating an F / W update method according to the first embodiment. 実施の形態1における機器構成管理ファイル299の構成を示す図。The figure which shows the structure of the apparatus configuration management file 299 in Embodiment 1. FIG. 実施の形態1における更新前F/Wハッシュファイル作成処理(S120)のフローチャート。5 is a flowchart of pre-update F / W hash file creation processing (S120) according to the first embodiment. 実施の形態1における更新前F/Wと更新前F/Wハッシュファイル292との関係図。FIG. 6 is a relationship diagram between the pre-update F / W and the pre-update F / W hash file 292 according to the first embodiment. 実施の形態1における新F/Wハッシュファイル作成処理(S130)のフローチャート。5 is a flowchart of new F / W hash file creation processing (S130) according to the first embodiment. 実施の形態1における差分情報ファイル作成処理(S140)の概要図。FIG. 4 is a schematic diagram of difference information file creation processing (S140) in the first embodiment. 実施の形態1における更新前F/W差分領域イレース処理(S150)の概要図。FIG. 6 is a schematic diagram of a pre-update F / W difference area erase process (S150) in the first embodiment. 実施の形態1における更新前F/W差分領域イレース処理(S150)のフローチャート。6 is a flowchart of a pre-update F / W difference area erase process (S150) according to the first embodiment. 実施の形態1における更新前F/W差分領域書き込み処理(S160)の概要図。FIG. 6 is a schematic diagram of a pre-update F / W difference area writing process (S160) in the first embodiment.

実施の形態1.
複数の組み込み機器それぞれのF/W(ファームウェア)を新しいバージョンのファームウェアに更新するF/W更新システムについて説明する。但し、F/Wは更新対象データの一例である。
Embodiment 1 FIG.
An F / W update system that updates F / W (firmware) of each of a plurality of embedded devices to a new version of firmware will be described. However, F / W is an example of update target data.

図1は、実施の形態1におけるF/W更新システム100の構成図である。
実施の形態1におけるF/W更新システム100の構成について、図1に基づいて以下に説明する。
FIG. 1 is a configuration diagram of the F / W update system 100 according to the first embodiment.
The configuration of the F / W update system 100 according to Embodiment 1 will be described below with reference to FIG.

F/W更新システム100は、F/Wが組み込まれた組み込み機器(301〜304)と、各組み込み機器のF/Wを新しいF/W291に更新するパソコン200(データ更新装置の一例)とを有する。
各組み込み機器はケーブル101でパソコン200に接続され、パソコン200と各組み込み機器とはケーブル101を介して通信を行う。ケーブル101は通信回線の一例である。例えば、パソコン200と各組み込み機器とは無線で通信を行ってもよい。
The F / W update system 100 includes an embedded device (301 to 304) in which the F / W is incorporated, and a personal computer 200 (an example of a data update device) that updates the F / W of each embedded device to a new F / W 291. Have.
Each embedded device is connected to the personal computer 200 with a cable 101, and the personal computer 200 communicates with each embedded device through the cable 101. The cable 101 is an example of a communication line. For example, the personal computer 200 and each embedded device may communicate wirelessly.

組み込み機器の台数は、4つ未満または5つ以上であっても構わない。
各F/Wは、ウイルスや不正アクセス等による改ざんが成されていないものとする。
パソコン200の処理速度は十分に速いものとする。組み込み機器の処理速度および組み込み機器に内蔵されている不揮発性メモリ390へのアクセス速度は遅いものとする。ケーブル101の通信速度は十分に速いものとする。
The number of embedded devices may be less than four or five or more.
It is assumed that each F / W has not been altered by a virus or unauthorized access.
The processing speed of the personal computer 200 is assumed to be sufficiently fast. It is assumed that the processing speed of the embedded device and the access speed to the nonvolatile memory 390 built in the embedded device are slow. It is assumed that the communication speed of the cable 101 is sufficiently high.

F/Wは、不揮発性メモリ390(記憶媒体、記憶装置の一例)に書き込まれることにより、組み込み機器に組み込まれる(インストールされる)。書き込みは記憶や設定を意味する。   The F / W is written into the non-volatile memory 390 (an example of a storage medium or a storage device) to be incorporated (installed) in an embedded device. Writing means storage and setting.

各組み込み機器は、F/W更新タスク310、不揮発性メモリ390およびCPU(Central Processing Unit)(図示省略)を備える。不揮発性メモリ390には更新前F/Wが記憶されている。
F/W更新タスク310は、組み込まれているF/Wをパソコン200からコマンド110で送信される新しいF/W291によりCPUを用いて更新する。
Each embedded device includes an F / W update task 310, a nonvolatile memory 390, and a CPU (Central Processing Unit) (not shown). The non-updated F / W is stored in the nonvolatile memory 390.
The F / W update task 310 updates the incorporated F / W using the CPU with a new F / W 291 transmitted from the personal computer 200 by the command 110.

組み込み機器A301と組み込み機器B302とには、旧バージョン(例えば、バージョン「V」)のF/Wが組み込まれているものとする。以下、組み込み機器A301と組み込み機器B302とに組み込まれて使用されているF/Wを「更新前F/W(1)391」という。
組み込み機器C303と組み込み機器D304とには、更新前F/W(1)391より新しいバージョン(例えば、バージョン「V」)のF/Wが組み込まれているものとする。以下、組み込み機器C303と組み込み機器D304とに組み込まれて使用されているF/Wを「更新前F/W(2)392」という。
更新前F/W(1)391と更新前F/W(2)392とは少なくともデータの一部が異なる。更新前F/W(1)391のデータサイズと更新前F/W(2)392のデータサイズとは同じであっても異なっていても構わない。
It is assumed that the F / W of the old version (for example, version “V 1 ”) is incorporated in the embedded device A301 and the embedded device B302. Hereinafter, the F / W incorporated in the embedded device A301 and the embedded device B302 is referred to as “pre-update F / W (1) 391”.
It is assumed that a newer version (for example, version “V 2 ”) of the F / W than the pre-update F / W (1) 391 is incorporated in the embedded device C303 and the embedded device D304. Hereinafter, the F / W incorporated and used in the embedded device C303 and the embedded device D304 is referred to as “pre-update F / W (2) 392”.
The pre-update F / W (1) 391 and the pre-update F / W (2) 392 are at least partially different in data. The data size of the pre-update F / W (1) 391 and the data size of the pre-update F / W (2) 392 may be the same or different.

パソコン200は、パソコン側ツール210およびパソコン側記憶部290を備える。
パソコン側ツール210は、新しいF/W291をコマンド110で各組み込み機器へ送信して、各組み込み機器に更新前F/Wを更新させる。
パソコン側記憶部290は、パソコン200で使用される各データを記憶媒体を用いて記憶する記憶装置である。例えば、パソコン側記憶部290には新しいF/W291が記憶されている。
新しいF/W291は、各更新前F/Wより新しいバージョン(例えば、バージョン「V」)のF/Wである。新しいF/W291と各更新前F/Wとは少なくともデータの一部が異なる。新しいF/W291のデータサイズと各更新前F/Wのデータサイズとは同じであっても異なっても構わない。
The personal computer 200 includes a personal computer side tool 210 and a personal computer side storage unit 290.
The personal computer side tool 210 transmits a new F / W 291 to each embedded device with the command 110, and causes each embedded device to update the pre-update F / W.
The personal computer side storage unit 290 is a storage device that stores each data used in the personal computer 200 using a storage medium. For example, a new F / W 291 is stored in the personal computer side storage unit 290.
The new F / W 291 is an F / W of a version (for example, version “V 3 ”) that is newer than each pre-update F / W. The new F / W 291 and each pre-update F / W are at least partially different in data. The data size of the new F / W 291 and the data size of each pre-update F / W may be the same or different.

図2は、実施の形態1におけるパソコン側ツール210の構成図である。
実施の形態1におけるパソコン側ツール210の構成について、図2に基づいて以下に説明する。
FIG. 2 is a configuration diagram of the personal computer side tool 210 according to the first embodiment.
The configuration of the personal computer side tool 210 in the first embodiment will be described below with reference to FIG.

パソコン側ツール210は、ツール制御部211、更新前F/Wハッシュファイル作成部212(使用データ分割部、使用データハッシュ値算出部の一例)、新F/Wハッシュファイル作成部213(新データ分割部、新データハッシュ値算出部の一例)、差分情報ファイル作成部214(差分情報生成部の一例)、差分データ出力部215(差分データ入力部の一例)およびパソコン側通信部219を備える。   The PC-side tool 210 includes a tool control unit 211, a pre-update F / W hash file creation unit 212 (an example of a used data division unit and a used data hash value calculation unit), and a new F / W hash file creation unit 213 (new data division). A difference data file creation unit 214 (an example of difference information generation unit), a difference data output unit 215 (an example of difference data input unit), and a personal computer side communication unit 219.

パソコン側記憶部290(データ記憶部の一例)には、新しいF/W291の他に、機器構成管理ファイル299、更新前F/Wハッシュファイル292、新F/Wハッシュファイル293、差分情報ファイル294、更新前F/W(1)391および更新前F/W(2)392が記憶される。機器構成管理ファイル299はシステム管理者により予め記憶される。更新前F/Wハッシュファイル292、新F/Wハッシュファイル293および差分情報ファイル294はそれぞれ、更新前F/Wハッシュファイル作成部212、新F/Wハッシュファイル作成部213および差分情報ファイル作成部214により生成されて記憶される。更新前F/W(1)391および更新前F/W(2)392は、更新前F/Wハッシュファイル作成部212により組み込み機器から取得されて記憶される。
各「〜ファイル」については後述する。
In addition to the new F / W 291, the personal computer side storage unit 290 (an example of a data storage unit) includes a device configuration management file 299, a pre-update F / W hash file 292, a new F / W hash file 293, and a difference information file 294. F / W (1) 391 before update and F / W (2) 392 before update are stored. The device configuration management file 299 is stored in advance by the system administrator. The pre-update F / W hash file 292, the new F / W hash file 293, and the difference information file 294 are the pre-update F / W hash file creation unit 212, the new F / W hash file creation unit 213, and the difference information file creation unit, respectively. Generated by 214 and stored. The pre-update F / W (1) 391 and the pre-update F / W (2) 392 are acquired from the embedded device by the pre-update F / W hash file creation unit 212 and stored.
Each “˜file” will be described later.

ツール制御部211は、パソコン側ツール210の各「〜部」をCPUを用いて制御する。   The tool control unit 211 controls each “˜ unit” of the personal computer side tool 210 using a CPU.

パソコン側通信部219は、各組み込み機器と通信する通信装置である。
例えば、パソコン側通信部219は、新しいF/W291や差分情報ファイル294を含んだコマンド110を各組み込み機器へ送信する。また例えば、パソコン側通信部219は、各組み込み機器から更新前F/Wを受信する。
The personal computer side communication unit 219 is a communication device that communicates with each embedded device.
For example, the personal computer side communication unit 219 transmits a command 110 including a new F / W 291 and a difference information file 294 to each embedded device. For example, the personal computer side communication unit 219 receives the pre-update F / W from each embedded device.

更新前F/Wハッシュファイル作成部212は、パソコン側通信部219を用いて各組み込み機器から更新前F/W(使用データの一例)を受信する。更新前F/Wハッシュファイル作成部212は、組み込み機器A301または組み込み機器B302から更新前F/W(1)391を受信し、受信した更新前F/W(1)391をパソコン側記憶部290に記憶する。更新前F/Wハッシュファイル作成部212は、組み込み機器C303または組み込み機器D304から更新前F/W(2)392を受信し、受信した更新前F/W(2)392をパソコン側記憶部290に記憶する。
更新前F/Wハッシュファイル作成部212は、更新前F/Wを特定のブロックサイズで複数の分割データにCPUを用いて分割する。
The pre-update F / W hash file creation unit 212 receives the pre-update F / W (an example of use data) from each embedded device using the personal computer side communication unit 219. The pre-update F / W hash file creation unit 212 receives the pre-update F / W (1) 391 from the embedded device A301 or the embedded device B302, and stores the received pre-update F / W (1) 391 in the personal computer side storage unit 290. To remember. The pre-update F / W hash file creation unit 212 receives the pre-update F / W (2) 392 from the embedded device C303 or the embedded device D304, and stores the received pre-update F / W (2) 392 in the personal computer side storage unit 290. To remember.
The pre-update F / W hash file creation unit 212 divides the pre-update F / W into a plurality of divided data with a specific block size using the CPU.

例えば、更新前F/Wハッシュファイル作成部212は、組み込み機器A301により更新前F/W(1)391に対して1回あたりに書き込まれるデータのサイズとして予め定められた書き込み単位サイズWと、組み込み機器B302により更新前F/W(1)391に対して1回あたりに書き込まれるデータのサイズとして予め定められた書き込み単位サイズWとの公倍数となるサイズをブロックサイズとして更新前F/W(1)391を分割する。
同様に、更新前F/Wハッシュファイル作成部212は、組み込み機器C303により更新前F/W(2)392に対して1回あたりに書き込まれるデータのサイズとして予め定められた書き込み単位サイズWと、組み込み機器D304により更新前F/W(2)392に対して1回あたりに書き込まれるデータのサイズとして予め定められた書き込み単位サイズWとの公倍数となるサイズをブロックサイズとして更新前F/W(2)392を分割する。
For example, before update F / W hash file creation unit 212, and before the update by embedded device A301 F / W (1) 391 write unit predetermined as the size of data written per one time for size W A , before updating the size to be a common multiple of the previous updated by embedded device B302 F / W (1) a predetermined write unit size W B 391 relative to the size of the data written to the per a block size F / W (1) 391 is divided.
Similarly, the pre-update F / W hash file creation unit 212 writes the write unit size W C that is predetermined as the size of data written to the pre-update F / W (2) 392 by the embedded device C303. If, before updating the size to be a common multiple of the previous updated by embedded device D304 F / W (2) 392 for a predetermined write unit size W D as the size of data written to per a block size F / W (2) 392 is divided.

また例えば、更新前F/Wハッシュファイル作成部212は、書き込み単位サイズWと、書き込み単位サイズWと、組み込み機器A301により更新前F/W(1)391に対して1回あたりにイレースされるデータのサイズとして予め定められたイレース単位サイズEと、組み込み機器B302により更新前F/W(1)391に対して1回あたりにイレースされるデータのサイズとして予め定められたイレース単位サイズEとの公倍数となるサイズをブロックサイズとして更新前F/W(1)391を分割する。
同様に、更新前F/Wハッシュファイル作成部212は、書き込み単位サイズWと、書き込み単位サイズWと、組み込み機器C303により更新前F/W(2)392に対して1回あたりにイレースされるデータのサイズとして予め定められたイレース単位サイズEと、組み込み機器D304により更新前F/W(2)392に対して1回あたりにイレースされるデータのサイズとして予め定められたイレース単位サイズEとの公倍数となるサイズをブロックサイズとして更新前F/W(2)392を分割する。
イレースとは、データの削除、初期値の設定やメモリ領域の初期化を意味する。
Further, for example, before update F / W hash file creation unit 212, the erase and write unit size W A, a write unit size W B, per once for before updating the embedded device A301 F / W (1) 391 and the erase unit size E a predetermined as the size of the data to be, before the update by embedded device B302 F / W (1) 391 for a predetermined erase unit as the size of the data to be erased in per dividing the pre-update F / W (1) 391 size to be a common multiple of the size E B as the block size.
Erase Similarly, before update F / W hash file creation section 212, a write unit size W C, and write unit size W D, per once for before updating the embedded device C303 F / W (2) 392 The erase unit size E C previously determined as the size of the data to be processed and the erase unit predetermined as the size of the data to be erased once for the pre-update F / W (2) 392 by the embedded device D304 dividing the pre-update F / W (2) 392 size to be a common multiple of the size E D as the block size.
Erase means data deletion, initial value setting, and memory area initialization.

さらに、更新前F/Wハッシュファイル作成部212は、所定のハッシュ関数により更新前F/Wの分割データ毎にハッシュ値をCPUを用いて算出する。更新前F/Wハッシュファイル作成部212は、更新前F/Wの各分割データのハッシュ値を設定した更新前F/Wハッシュファイル292を生成し、生成した更新前F/Wハッシュファイル292をパソコン側記憶部290に記憶する。   Further, the pre-update F / W hash file creation unit 212 calculates a hash value for each divided data of the pre-update F / W using a predetermined hash function using the CPU. The pre-update F / W hash file creation unit 212 generates a pre-update F / W hash file 292 in which a hash value of each divided data of the pre-update F / W is set, and generates the generated pre-update F / W hash file 292. Store in the personal computer storage unit 290.

新F/Wハッシュファイル作成部213は、新しいF/W291(新データの一例)を更新前F/Wのブロックサイズで複数の分割データにCPUを用いて分割する。
さらに、新F/Wハッシュファイル作成部213は、前記ハッシュ関数により新しいF/W291の分割データ毎にハッシュ値をCPUを用いて算出する。新F/Wハッシュファイル作成部213は、新しいF/W291の各分割データのハッシュ値を設定した新F/Wハッシュファイル293を生成し、生成した新F/Wハッシュファイル293をパソコン側記憶部290に記憶する。
The new F / W hash file creation unit 213 divides a new F / W 291 (an example of new data) into a plurality of divided data with the block size of the F / W before update using a CPU.
Further, the new F / W hash file creation unit 213 uses the CPU to calculate a hash value for each new divided data of the F / W 291 using the hash function. The new F / W hash file creation unit 213 generates a new F / W hash file 293 in which the hash value of each divided data of the new F / W 291 is set, and the generated new F / W hash file 293 is stored on the personal computer side storage unit Store in 290.

差分情報ファイル作成部214は、更新前F/Wの分割データ毎に当該更新前F/Wの分割データとデータの並び順が対応する新しいF/W291の分割データと同じであるか否かを示す差分情報ファイル294をCPUを用いて生成し、生成した差分情報ファイル294をパソコン側記憶部290に記憶する。
例えば、差分情報ファイル作成部214は、更新前F/Wハッシュファイル292に設定されているハッシュ値と新F/Wハッシュファイル293に設定されているハッシュ値とに基づいて差分情報ファイル294を生成する。
また例えば、差分情報ファイル作成部214は、更新前F/Wの分割データ毎に当該更新前F/Wの分割データとデータの並び順が対応する新しいF/W291の分割データと同じであるか否かを1ビットで表して差分情報ファイル294を生成する。
The difference information file creation unit 214 determines whether the divided data of the F / W before update is the same as the divided data of the new F / W 291 corresponding to the divided data of the F / W before update and the arrangement order of the data. The difference information file 294 shown is generated using the CPU, and the generated difference information file 294 is stored in the personal computer storage unit 290.
For example, the difference information file creation unit 214 generates the difference information file 294 based on the hash value set in the pre-update F / W hash file 292 and the hash value set in the new F / W hash file 293. To do.
Further, for example, the difference information file creation unit 214 is the same as the divided data of the new F / W 291 corresponding to the divided data of the F / W before update corresponding to the divided data of the F / W before update corresponding to the arrangement order of the data. A difference information file 294 is generated by expressing whether or not by 1 bit.

差分データ出力部215は、差分情報ファイル294に基づいて、新しいF/W291の複数の分割データのうち、データの並び順が対応する更新前F/Wの分割データと異なる各分割データをCPUを用いて特定する。
さらに、差分情報ファイル作成部214は、特定した新しいF/W291の各分割データを差分データとしてパソコン側通信部219を用いて特定の組み込み機器に送信する。
Based on the difference information file 294, the difference data output unit 215 stores the divided data different from the pre-update F / W divided data corresponding to the data arrangement order among the plurality of divided data of the new F / W 291. Use to identify.
Further, the difference information file creation unit 214 transmits each divided data of the specified new F / W 291 as difference data to a specific embedded device using the personal computer side communication unit 219.

図3は、実施の形態1におけるパソコン200のハードウェア資源の一例を示す図である。
図3において、パソコン200は、CPU911(マイクロプロセッサ、マイクロコンピュータともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、ドライブ装置904、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。ドライブ装置904は、FD(Flexible・Disk・Drive)、CD(Compact Disc)、DVD(Digital・Versatile・Disc)などの記憶媒体を読み書きする装置である。
FIG. 3 is a diagram illustrating an example of hardware resources of the personal computer 200 according to the first embodiment.
In FIG. 3, a personal computer 200 includes a CPU 911 (also referred to as a microprocessor or a microcomputer). The CPU 911 is connected to the ROM 913, the RAM 914, the communication board 915, the display device 901, the keyboard 902, the mouse 903, the drive device 904, and the magnetic disk device 920 via the bus 912, and controls these hardware devices. The drive device 904 is a device that reads and writes a storage medium such as an FD (Flexible Disk Drive), a CD (Compact Disc), and a DVD (Digital Versatile Disc).

通信ボード915は、有線または無線で、LAN、インターネット、電話回線などの通信網を介して(または、直接)、各組み込み機器に接続している。   The communication board 915 is wired or wirelessly connected to each embedded device via a communication network such as a LAN, the Internet, a telephone line (or directly).

磁気ディスク装置920には、OS921(オペレーティングシステム)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。   The magnetic disk device 920 stores an OS 921 (operating system), a window system 922, a program group 923, and a file group 924.

プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラムは、CPU911により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。   The program group 923 includes programs that execute the functions described as “units” in the embodiment. The program is read and executed by the CPU 911. That is, the program causes the computer to function as “to part”, and causes the computer to execute the procedures and methods of “to part”.

ファイル群924には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。   The file group 924 includes various data (input, output, determination result, calculation result, processing result, etc.) used in “˜part” described in the embodiment.

実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。   In the embodiment, arrows included in the configuration diagrams and flowcharts mainly indicate input and output of data and signals.

実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。   In the embodiment, what is described as “to part” may be “to circuit”, “to apparatus”, and “to device”, and “to step”, “to procedure”, and “to processing”. May be. That is, what is described as “to part” may be implemented by any of firmware, software, hardware, or a combination thereof.

図4および図5は、実施の形態1におけるF/W更新方法の概要図である。
実施の形態1におけるF/W更新方法の概要について、図4および図5に基づいて以下に説明する。
4 and 5 are schematic diagrams of the F / W update method according to the first embodiment.
An overview of the F / W update method in the first embodiment will be described below based on FIG. 4 and FIG.

図4において、パソコン200のパソコン側ツール210は、新しいF/W291を構成する各ブロックのハッシュ値を設定した新F/Wハッシュファイル293を生成(S130)すると共に、組み込み機器の更新前F/Wを構成する各ブロックのハッシュ値を設定した更新前F/Wハッシュファイル292を生成する(S120)。
パソコン側ツール210は、新F/Wハッシュファイル293に設定された各ハッシュ値と更新前F/Wハッシュファイル292に設定された各ハッシュ値とを比較して、新F/Wハッシュファイル293の各ブロックと更新前F/Wハッシュファイル292の各ブロックとが同じであるか否かを示す差分情報ファイル294を生成する(S140)。
パソコン側ツール210は、生成した差分情報ファイル294を組み込み機器へ送信する(S114)。
In FIG. 4, the personal computer side tool 210 of the personal computer 200 generates a new F / W hash file 293 in which the hash value of each block constituting the new F / W 291 is set (S 130), and the F / W before updating the embedded device. A pre-update F / W hash file 292 in which the hash value of each block constituting W is set is generated (S120).
The personal computer side tool 210 compares each hash value set in the new F / W hash file 293 with each hash value set in the pre-update F / W hash file 292, and stores the new F / W hash file 293. A difference information file 294 indicating whether each block and each block of the pre-update F / W hash file 292 are the same is generated (S140).
The personal computer side tool 210 transmits the generated difference information file 294 to the embedded device (S114).

図5において、組み込み機器のF/W更新タスク310は、パソコン側ツール210から送信された差分情報ファイル294を参照して更新前F/Wの各ブロックのうち新しいF/W291と異なるブロックをイレースする(S150)。
パソコン側ツール210は、差分情報ファイル294を参照して新しいF/W291から更新前F/Wと異なるブロックを読み出して組み込み機器に送信する(S161〜S163)。
F/W更新タスク310は、送信された新しいF/W291のブロックを更新前F/Wの当該ブロックに書き出して更新前F/Wを更新する(S164)。
In FIG. 5, the F / W update task 310 of the embedded device refers to the difference information file 294 transmitted from the personal computer side tool 210 and erases a block different from the new F / W 291 among the blocks of the pre-update F / W. (S150).
The personal computer side tool 210 refers to the difference information file 294, reads out a block different from the pre-update F / W from the new F / W 291 and transmits it to the embedded device (S161 to S163).
The F / W update task 310 writes the transmitted new F / W 291 block to the corresponding block of the pre-update F / W and updates the pre-update F / W (S164).

図4および図5に示した「Sxxx」は、以下に説明するフローチャートの処理番号に対応している。   “Sxxx” shown in FIGS. 4 and 5 corresponds to a process number in the flowchart described below.

図6および図7は、実施の形態1におけるF/W更新方法を示すフローチャートである。
実施の形態1におけるF/W更新方法(データ更新方法の一例)について、図6および図7に基づいて以下に説明する。
6 and 7 are flowcharts illustrating the F / W update method according to the first embodiment.
The F / W update method (an example of the data update method) in the first embodiment will be described below with reference to FIGS.

パソコン側ツール210の各「〜部」と各組み込み機器のF/W更新タスク310とは、以下に説明する各処理(S110〜S119)をCPUを用いて実行する。   Each “unit” of the personal computer side tool 210 and the F / W update task 310 of each embedded device execute each process (S110 to S119) described below using the CPU.

ツール制御部211は機器構成管理ファイル299から組み込み機器を一つ選択する(S110)。
ツール制御部211は選択機器F/Wのバージョンに対応する更新前F/Wハッシュファイル292がパソコン側記憶部290に有るか確認する(S111)。更新前F/Wハッシュファイル292が無い場合、更新前F/Wハッシュファイル作成部212は更新前F/Wハッシュファイル292を作成する(S120)。
ツール制御部211は選択機器F/Wのブロックサイズに対応する新F/Wハッシュファイル293がパソコン側記憶部290に有るか確認する(S112)。新F/Wハッシュファイル293が無い場合、新F/Wハッシュファイル作成部213は新F/Wハッシュファイル293を作成する(S130)。
ツール制御部211は更新前F/Wハッシュファイル292と新F/Wハッシュファイル293とに対応する差分情報ファイル294がパソコン側記憶部290に有るか確認する(S113)。差分情報ファイル294が無い場合、差分情報ファイル作成部214は差分情報ファイル294を作成する(S140)。
パソコン側通信部219は差分情報ファイル294を含んだイレース命令コマンドを選択機器へ送信し(S114)、選択機器のF/W更新タスク310は差分情報ファイル294に基づいて差分領域をイレースする(S150)。
差分データ出力部215は差分情報ファイル294に基づいて新しいF/W291の差分データを含んだ書き込み要求コマンドを選択機器へ送信し(S161〜S163)、選択機器のF/W更新タスク310は新しいF/W291の差分データを更新前F/Wの書き込み領域へ書き込む(S164)。S161〜S164は新しいF/W291の全差分ブロックが更新前F/Wに書き込みされるまで繰り返される(S165、S166)。
S110〜S166は、組み込み機器毎に繰り返される(S119)。
The tool control unit 211 selects one embedded device from the device configuration management file 299 (S110).
The tool control unit 211 confirms whether the pre-update F / W hash file 292 corresponding to the version of the selected device F / W exists in the personal computer side storage unit 290 (S111). When the pre-update F / W hash file 292 does not exist, the pre-update F / W hash file creation unit 212 creates the pre-update F / W hash file 292 (S120).
The tool control unit 211 confirms whether the new F / W hash file 293 corresponding to the block size of the selected device F / W exists in the personal computer side storage unit 290 (S112). If there is no new F / W hash file 293, the new F / W hash file creation unit 213 creates a new F / W hash file 293 (S130).
The tool control unit 211 confirms whether or not the difference information file 294 corresponding to the pre-update F / W hash file 292 and the new F / W hash file 293 exists in the personal computer side storage unit 290 (S113). If there is no difference information file 294, the difference information file creation unit 214 creates the difference information file 294 (S140).
The personal computer side communication unit 219 transmits an erase command command including the difference information file 294 to the selected device (S114), and the F / W update task 310 of the selected device erases the difference area based on the difference information file 294 (S150). ).
The difference data output unit 215 transmits a write request command including the difference data of the new F / W 291 to the selected device based on the difference information file 294 (S161 to S163), and the F / W update task 310 of the selected device is the new F / W. The difference data of / W291 is written to the writing area of the F / W before update (S164). S161 to S164 are repeated until all the differential blocks of the new F / W 291 are written in the pre-update F / W (S165, S166).
S110 to S166 are repeated for each embedded device (S119).

以下に、各処理(S110〜S119)の詳細について説明する。   Details of each process (S110 to S119) will be described below.

<S110>
ツール制御部211は、機器構成管理ファイル299を参照して複数の組み込み機器の中から組み込み機器を一つ選択する。
S110から後述するS119までの処理はループ処理される。
例えば、ツール制御部211は、更新前F/Wのバージョンの古い順、機器構成管理ファイル299内での設定順に組み込み機器を選択する。
<S110>
The tool control unit 211 refers to the device configuration management file 299 and selects one embedded device from a plurality of embedded devices.
The processing from S110 to S119 described later is looped.
For example, the tool control unit 211 selects the embedded devices in the order of the old version of the F / W before update, in the order set in the device configuration management file 299.

図8は、実施の形態1における機器構成管理ファイル299の構成を示す図である。
実施の形態1における機器構成管理ファイル299について、図8に基づいて以下に説明する。
FIG. 8 is a diagram showing the configuration of the device configuration management file 299 according to the first embodiment.
The device configuration management file 299 according to the first embodiment will be described below with reference to FIG.

機器構成管理ファイル299には「組み込み機器」「F/Wのバージョン」「イレース単位サイズ」「書き込み単位サイズ」がシステム管理者により予め設定されている。   In the device configuration management file 299, “embedded device”, “F / W version”, “erase unit size”, and “write unit size” are preset by the system administrator.

「組み込み機器」は、各組み込み機器の識別情報(例えば、名称)を示す。
「F/Wのバージョン」は、当該組み込み機器に組み込まれている更新前F/Wのバージョン情報(例えば、バージョン番号)を示す。
「イレース単位サイズ」は、当該組み込み機器により更新前F/Wに対して1回あたりにイレースされるデータのサイズを示す。
「書き込み単位サイズ」は、当該組み込み機器により更新前F/Wに対して1回あたりに書き込まれるデータのサイズを示す。
“Embedded device” indicates identification information (for example, name) of each embedded device.
“F / W version” indicates version information (for example, version number) of the pre-update F / W incorporated in the embedded device.
“Erase unit size” indicates the size of data to be erased once per F / W before update by the embedded device.
“Writing unit size” indicates the size of data written per time by the embedded device to the pre-update F / W.

イレース単位サイズと書き込み単位サイズは更新前F/Wのデータサイズより小さいものとする。   Assume that the erase unit size and the write unit size are smaller than the data size of the pre-update F / W.

S110(図6)において、ツール制御部211は、初回のループ時には更新前F/Wのバージョンが最も古い組み込み機器A301と組み込み機器B302とのうち機器構成管理ファイル299に先に設定されている組み込み機器A301を選択し、2回目のループ時には組み込み機器B302を選択するものとする。
また、ツール制御部211は、3回目のループ時には更新前F/Wのバージョンが次に古い組み込み機器C303と組み込み機器D304とのうち機器構成管理ファイル299に先に設定されている組み込み機器C303を選択し、4回目のループ時には組み込み機器D304を選択するものとする。
In S110 (FIG. 6), the tool control unit 211 performs the installation that is set in the device configuration management file 299 first in the embedded device A301 and the embedded device B302 having the oldest version of the pre-update F / W in the first loop. Assume that the device A301 is selected, and the embedded device B302 is selected in the second loop.
In addition, the tool control unit 211 selects the embedded device C303 previously set in the device configuration management file 299 among the embedded device C303 and the embedded device D304 having the next oldest F / W version before update at the third loop. In the fourth loop, the embedded device D304 is selected.

F/W更新方法(図6、7)の説明を続ける。   The description of the F / W update method (FIGS. 6 and 7) will be continued.

S110の後、処理はS111に進む。   After S110, the process proceeds to S111.

<S111>
ツール制御部211は、S110において選択した組み込み機器(以下、「選択機器」という)の更新前F/Wのバージョンに対応する更新前F/Wハッシュファイル292がパソコン側記憶部290に有るか確認する。
更新前F/Wハッシュファイル292は、更新前F/Wのバージョン毎に作成される。
<S111>
The tool control unit 211 confirms whether or not the pre-update F / W hash file 292 corresponding to the pre-update F / W version of the embedded device selected in S110 (hereinafter referred to as “selected device”) exists in the personal computer side storage unit 290. To do.
The pre-update F / W hash file 292 is created for each version of the pre-update F / W.

当該更新前F/Wハッシュファイル292が有る場合、処理はS112に進み、当該更新前F/Wハッシュファイル292が無い場合、処理はS120に進む。   If the pre-update F / W hash file 292 exists, the process proceeds to S112. If the pre-update F / W hash file 292 does not exist, the process proceeds to S120.

初回のループ時(選択機器は「組み込み機器A301」)、当該更新前F/Wハッシュファイル292は無いため、処理はS120に進み、S120において当該更新前F/Wハッシュファイル292が生成される。
2回目のループ時(選択機器は「組み込み機器B302」)、組み込み機器A301の更新前F/Wと組み込み機器B302の更新前F/Wとのバージョンが同じであるため(図8参照)、初回のループ時に生成された更新前F/Wハッシュファイル292が当該更新前F/Wハッシュファイル292となり、処理はS112に進む。
3回目のループ時(選択機器は「組み込み機器C303」)、当該更新前F/Wハッシュファイル292は無いため、処理はS120に進み、S120において当該更新前F/Wハッシュファイル292が生成される。
4回目のループ時(選択機器は「組み込み機器D304」)、組み込み機器C303の更新前F/Wと組み込み機器D304の更新前F/Wとのバージョンが同じであるため(図8参照)、3回目のループ時に生成された更新前F/Wハッシュファイル292が当該更新前F/Wハッシュファイル292となり、処理はS112に進む。
At the first loop (selected device is “embedded device A301”), since there is no pre-update F / W hash file 292, the process proceeds to S120, and the pre-update F / W hash file 292 is generated in S120.
At the time of the second loop (selected device is “embedded device B302”), the version of the pre-update F / W of the built-in device A301 is the same as the version of the pre-update F / W of the built-in device B302 (see FIG. 8). The pre-update F / W hash file 292 generated at the time of the loop becomes the pre-update F / W hash file 292, and the process proceeds to S112.
In the third loop (the selected device is “embedded device C303”), since there is no pre-update F / W hash file 292, the process proceeds to S120, and the pre-update F / W hash file 292 is generated in S120. .
At the time of the fourth loop (selected device is “embedded device D304”), the F / W before update of the embedded device C303 and the F / W before update of the embedded device D304 are the same (see FIG. 8), 3 The pre-update F / W hash file 292 generated at the time of the second loop becomes the pre-update F / W hash file 292, and the process proceeds to S112.

<S120:更新前F/Wハッシュファイル作成処理>
更新前F/Wハッシュファイル作成部212は、機器構成管理ファイル299に基づいて、選択機器の更新前F/Wのバージョンに対応する更新前F/Wハッシュファイル292を作成する。
更新前F/Wハッシュファイル292は、選択機器の更新前F/Wのバージョンに対応する特定のブロックサイズで分割した更新前F/Wのブロック順に、各ブロックのハッシュ値を並べたデータである。
以下、選択機器の更新前F/Wを「選択機器F/W」という。
<S120: F / W hash file creation process before update>
Based on the device configuration management file 299, the pre-update F / W hash file creation unit 212 creates a pre-update F / W hash file 292 corresponding to the pre-update F / W version of the selected device.
The pre-update F / W hash file 292 is data in which the hash values of the respective blocks are arranged in the order of the pre-update F / W blocks divided by the specific block size corresponding to the pre-update F / W version of the selected device. .
Hereinafter, the pre-update F / W of the selected device is referred to as “selected device F / W”.

図9は、実施の形態1における更新前F/Wハッシュファイル作成処理(S120)のフローチャートである。
実施の形態1における更新前F/Wハッシュファイル作成処理(S120)について、図9に基づいて以下に説明する。
FIG. 9 is a flowchart of the pre-update F / W hash file creation process (S120) in the first embodiment.
The pre-update F / W hash file creation process (S120) in the first embodiment will be described below with reference to FIG.

<S121>
更新前F/Wハッシュファイル作成部212は、機器構成管理ファイル299に基づいて、更新前F/Wのバージョンが選択機器と同じである組み込み機器を特定する。
選択機器が「組み込み機器A301」である場合、特定される組み込み機器は「組み込み機器B302」である(図8参照)。
S121の後、処理はS122に進む。
<S121>
Based on the device configuration management file 299, the pre-update F / W hash file creation unit 212 identifies an embedded device having the same version of the pre-update F / W as the selected device.
When the selected device is “embedded device A301”, the identified embedded device is “embedded device B302” (see FIG. 8).
After S121, the process proceeds to S122.

<S122>
更新前F/Wハッシュファイル作成部212は、機器構成管理ファイル299に基づいて、選択機器の「イレース単位サイズ」と選択機器の「書き込み単位サイズ」と特定機器(S121において特定された組み込み機器)の「イレース単位サイズ」と特定機器の「書き込み単位サイズ」との最小公倍数をブロックサイズとして算出する。
選択機器が「組み込み機器A301」であり、特定機器が「組み込み機器B302」である場合、更新前F/Wハッシュファイル作成部212は「E」「W」「E」「W」の最小公倍数をブロックサイズとして算出する(図8参照)。
<S122>
Based on the device configuration management file 299, the pre-update F / W hash file creation unit 212 selects the “erase unit size” of the selected device, the “write unit size” of the selected device, and the specified device (the embedded device specified in S121). The least common multiple of the “erase unit size” and the “write unit size” of the specific device is calculated as a block size.
A selection device is "embedded device A301", when a particular device is a "embedded device B302", before update F / W hash file creation unit 212 "E A", "W A", "E B" "W B" Is calculated as a block size (see FIG. 8).

ブロックサイズは「書き込み単位サイズ」と「イレース単位サイズ」との公倍数であれば最小公倍数でなくても構わない。さらに、イレースが不要であれば、ブロックサイズは「書き込み単位サイズ」の公倍数であれば構わない。
但し、ブロックサイズが大きくなるに従い、2つのF/Wの差分情報の粒度が大きくなり、1つのブロックのデータが異なる可能性が高くなり、結果的にF/Wの更新速度が遅くなる可能性が高くなる。
The block size need not be the least common multiple as long as it is a common multiple of the “write unit size” and the “erase unit size”. Further, if erasing is unnecessary, the block size may be a common multiple of the “write unit size”.
However, as the block size increases, the granularity of the difference information of the two F / Ws increases, and the possibility that the data of one block will differ increases, and as a result, the update rate of the F / W may decrease. Becomes higher.

S122の後、処理はS123に進む。   After S122, the process proceeds to S123.

<S123>
更新前F/Wハッシュファイル作成部212は、選択機器F/WをS122において算出したブロックサイズで複数のブロックに分割する。
S123の後、処理はS124に進む。
<S123>
The pre-update F / W hash file creation unit 212 divides the selected device F / W into a plurality of blocks with the block size calculated in S122.
After S123, the process proceeds to S124.

<S124>
更新前F/Wハッシュファイル作成部212は、所定のハッシュ関数を用いて、S123で得られた複数のブロックそれぞれについてハッシュ値を算出する。
同一のハッシュ関数を用いて算出されたハッシュ値が同じである2つのデータは同じデータである。
ハッシュ関数は、処理速度を速めるために計算量とハッシュ長とが小さければ小さいほど良い。
S124の後、処理はS125に進む。
<S124>
The pre-update F / W hash file creation unit 212 calculates a hash value for each of the plurality of blocks obtained in S123, using a predetermined hash function.
Two pieces of data having the same hash value calculated using the same hash function are the same data.
For the hash function, the smaller the calculation amount and the hash length, the better the processing speed.
After S124, the process proceeds to S125.

<S125>
更新前F/Wハッシュファイル作成部212は、S124において算出した各ブロックのハッシュ値を設定した更新前F/Wハッシュファイル292を作成する。
S125の後、処理はS126に進む。
<S125>
The pre-update F / W hash file creation unit 212 creates a pre-update F / W hash file 292 in which the hash value of each block calculated in S124 is set.
After S125, the process proceeds to S126.

<S126>
更新前F/Wハッシュファイル作成部212は、S125において作成した更新前F/Wハッシュファイル292をパソコン側記憶部290に記憶する。
S126の後、更新前F/Wハッシュファイル作成処理(S120)は終了する。
<S126>
The pre-update F / W hash file creation unit 212 stores the pre-update F / W hash file 292 created in S125 in the personal computer side storage unit 290.
After S126, the pre-update F / W hash file creation process (S120) ends.

図10は、実施の形態1における更新前F/Wと更新前F/Wハッシュファイル292との関係図である。
図10を含む各図において、「0x」は16進数表記を意味する。例えば、「0xFF」は10進数の「255」を示す。
図10に示すように、ブロックサイズが「3バイト」である場合、更新前F/Wは3バイトずつに分割され(S123)、各ブロック(第1ブロック、第2ブロック、・・・)のハッシュ値が計算され(S124)、各ブロックのハッシュ値が更新前F/Wハッシュファイル292に順に設定される(S125)。
FIG. 10 is a relationship diagram between the pre-update F / W and the pre-update F / W hash file 292 according to the first embodiment.
In each figure including FIG. 10, “0x” means hexadecimal notation. For example, “0xFF” indicates the decimal number “255”.
As shown in FIG. 10, when the block size is “3 bytes”, the pre-update F / W is divided into 3 bytes (S123), and each block (first block, second block,...) The hash value is calculated (S124), and the hash value of each block is sequentially set in the pre-update F / W hash file 292 (S125).

図6に戻り、F/W更新方法の説明を続ける。   Returning to FIG. 6, the description of the F / W update method will be continued.

S120の後、処理はS112に進む。   After S120, the process proceeds to S112.

<S112>
ツール制御部211は、選択機器F/Wのブロックサイズ(S122において算出された値)に対応する新F/Wハッシュファイル293がパソコン側記憶部290に有るか確認する。
新F/Wハッシュファイル293は、ブロックサイズ毎に作成される。
<S112>
The tool control unit 211 confirms whether the new F / W hash file 293 corresponding to the block size of the selected device F / W (the value calculated in S122) exists in the personal computer side storage unit 290.
A new F / W hash file 293 is created for each block size.

当該新F/Wハッシュファイル293が有る場合、処理はS113に進み、当該新F/Wハッシュファイル293が無い場合、処理はS130に進む。   If the new F / W hash file 293 exists, the process proceeds to S113. If the new F / W hash file 293 does not exist, the process proceeds to S130.

初回のループ時(選択機器は「組み込み機器A301」)、当該新F/Wハッシュファイル293は無いため、処理はS130に進み、S130において当該新F/Wハッシュファイル293が生成される。
2回目のループ時(選択機器は「組み込み機器B302」)、組み込み機器A301の更新前F/Wと組み込み機器B302の更新前F/Wとのブロックサイズが共通するため(S122参照)、初回のループ時に生成された新F/Wハッシュファイル293が当該新F/Wハッシュファイル293となり、処理はS113に進む。
3回目のループ時(選択機器は「組み込み機器C303」)、組み込み機器A301の更新前F/Wと組み込み機器C303の更新前F/Wとのブロックサイズが同じであれば、初回のループ時に生成された新F/Wハッシュファイル293が当該新F/Wハッシュファイル293となり、処理はS113に進む。
3回目のループ時(選択機器は「組み込み機器C303」)、組み込み機器A301の更新前F/Wと組み込み機器C303の更新前F/Wとのブロックサイズが異なれば、当該新F/Wハッシュファイル293は無いため処理はS130に進み、S130において当該新F/Wハッシュファイル293が生成される。
4回目のループ時(選択機器は「組み込み機器D304」)、組み込み機器C303の更新前F/Wと組み込み機器D304の更新前F/Wとのブロックサイズが共通するため(S122参照)、3回目のループ時(または初回のループ時)に生成された新F/Wハッシュファイル293が当該新F/Wハッシュファイル293となり、処理はS113に進む。
At the first loop (selected device is “embedded device A301”), since there is no new F / W hash file 293, the process proceeds to S130, and the new F / W hash file 293 is generated in S130.
During the second loop (the selected device is “embedded device B302”), since the F / W before update of the embedded device A301 and the F / W before update of the embedded device B302 are common (see S122), the first time The new F / W hash file 293 generated at the time of the loop becomes the new F / W hash file 293, and the process proceeds to S113.
If the block size of the pre-update F / W of the embedded device A301 and the pre-update F / W of the embedded device C303 is the same at the third loop (selected device is “embedded device C303”) The new F / W hash file 293 thus made becomes the new F / W hash file 293, and the process proceeds to S113.
If the block size of the F / W before update of the embedded device A301 and the F / W before update of the embedded device C303 are different at the third loop (selected device is “embedded device C303”), the new F / W hash file Since there is no 293, the process proceeds to S130, and the new F / W hash file 293 is generated in S130.
At the time of the fourth loop (the selected device is “embedded device D304”), the F / W before update of the embedded device C303 and the F / W before update of the embedded device D304 are common (see S122), the third time The new F / W hash file 293 generated at the time of the loop (or at the first loop) becomes the new F / W hash file 293, and the process proceeds to S113.

<S130:新F/Wハッシュファイル作成処理>
新F/Wハッシュファイル作成部213は、S120の更新前F/Wハッシュファイル作成部212と同様にして、選択機器F/Wのブロックサイズに対応する新F/Wハッシュファイル293を作成する。
新F/Wハッシュファイル293は、選択機器F/Wのブロックサイズで分割した新しいF/W291のブロック順に、各ブロックのハッシュ値を並べたデータである。
<S130: New F / W hash file creation process>
The new F / W hash file creation unit 213 creates a new F / W hash file 293 corresponding to the block size of the selected device F / W in the same manner as the pre-update F / W hash file creation unit 212 in S120.
The new F / W hash file 293 is data in which the hash values of the respective blocks are arranged in the block order of the new F / W 291 divided by the block size of the selected device F / W.

図11は、実施の形態1における新F/Wハッシュファイル作成処理(S130)のフローチャートである。
実施の形態1における新F/Wハッシュファイル作成処理(S130)について、図10および図11に基づいて以下に説明する。
FIG. 11 is a flowchart of the new F / W hash file creation process (S130) in the first embodiment.
The new F / W hash file creation process (S130) in the first embodiment will be described below based on FIG. 10 and FIG.

新F/Wハッシュファイル作成部213は、新しいF/W291をブロックサイズ(S122において算出された値)で複数のブロックに分割し(S131)、所定のハッシュ関数(S124で用いられたハッシュ関数)を用いて分割ブロック毎にハッシュ値を算出する(S132)。
そして、新F/Wハッシュファイル作成部213は、各ブロックのハッシュ値を設定した新F/Wハッシュファイル293を作成し(S133)、新F/Wハッシュファイル293をパソコン側記憶部290に記憶する(S134)。
The new F / W hash file creation unit 213 divides the new F / W 291 into a plurality of blocks with the block size (value calculated in S122) (S131), and a predetermined hash function (the hash function used in S124) Is used to calculate a hash value for each divided block (S132).
Then, the new F / W hash file creation unit 213 creates a new F / W hash file 293 in which the hash value of each block is set (S133), and stores the new F / W hash file 293 in the personal computer side storage unit 290. (S134).

図6に戻り、F/W更新方法の説明を続ける。   Returning to FIG. 6, the description of the F / W update method will be continued.

S130の後、処理はS113に進む。   After S130, the process proceeds to S113.

<S113>
ツール制御部211は、選択機器F/Wのバージョンに対応する更新前F/Wハッシュファイル292と選択機器F/Wのブロックサイズに対応する新F/Wハッシュファイル293とに対応する差分情報ファイル294がパソコン側記憶部290に有るか確認する。
差分情報ファイル294は、更新前F/Wハッシュファイル292と新F/Wハッシュファイル293との組み合わせ毎に作成される。
<S113>
The tool control unit 211 stores a difference information file corresponding to the pre-update F / W hash file 292 corresponding to the version of the selected device F / W and the new F / W hash file 293 corresponding to the block size of the selected device F / W. It is confirmed whether 294 is in the personal computer side storage unit 290.
The difference information file 294 is created for each combination of the pre-update F / W hash file 292 and the new F / W hash file 293.

当該差分情報ファイル294が有る場合、処理はS114に進み、当該差分情報ファイル294が無い場合、処理はS140に進む。   If the difference information file 294 exists, the process proceeds to S114. If the difference information file 294 does not exist, the process proceeds to S140.

初回のループ時(選択機器は「組み込み機器A301」)、当該差分情報ファイル294は無いため、処理はS140に進み、S140において当該差分情報ファイル294が生成される。
2回目のループ時(選択機器は「組み込み機器B302」)、組み込み機器A301の更新前F/Wと組み込み機器B302の更新前F/Wとのバージョンおよびブロックサイズが共通するため、初回のループ時に生成された差分情報ファイル294が当該差分情報ファイル294となり、処理はS114に進む。
3回目のループ時(選択機器は「組み込み機器C303」)、当該新F/Wハッシュファイル293は無いため、処理はS140に進み、S140において当該差分情報ファイル294が生成される。
4回目のループ時(選択機器は「組み込み機器D304」)、組み込み機器C303の更新前F/Wと組み込み機器D304の更新前F/Wとのバージョンおよびブロックサイズが共通するため、3回目のループ時に生成された差分情報ファイル294が当該差分情報ファイル294となり、処理はS114に進む。
At the first loop (the selected device is “embedded device A301”), since there is no difference information file 294, the process proceeds to S140, and the difference information file 294 is generated in S140.
During the second loop (the selected device is “embedded device B302”), the version and block size of the pre-update F / W of the built-in device A301 and the pre-update F / W of the built-in device B302 are common. The generated difference information file 294 becomes the difference information file 294, and the process proceeds to S114.
In the third loop (the selected device is “embedded device C303”), since there is no new F / W hash file 293, the process proceeds to S140, and the difference information file 294 is generated in S140.
Since the version and block size of the pre-update F / W of the embedded device C303 and the pre-update F / W of the embedded device D304 are common at the time of the fourth loop (selected device is “embedded device D304”), the third loop The difference information file 294 generated at this time becomes the difference information file 294, and the process proceeds to S114.

<S140:差分情報ファイル作成処理>
差分情報ファイル作成部214は、選択機器F/Wのバージョンに対応する更新前F/Wハッシュファイル292と選択機器F/Wのブロックサイズに対応する新F/Wハッシュファイル293とに基づいて、差分情報ファイル294を作成する。
差分情報ファイル294は、更新前F/Wハッシュファイル292に設定されているハッシュ値と新F/Wハッシュファイル293に設定されているハッシュ値とを順番に一つずつ比較した結果を1ビット(一致「0」、不一致「1」)で示すビット列データである。
<S140: Difference information file creation process>
Based on the pre-update F / W hash file 292 corresponding to the version of the selected device F / W and the new F / W hash file 293 corresponding to the block size of the selected device F / W, the difference information file creation unit 214 A difference information file 294 is created.
The difference information file 294 is obtained by comparing the hash value set in the pre-update F / W hash file 292 and the hash value set in the new F / W hash file 293 one by one in order (1 bit ( Bit string data indicated by a match “0” and a mismatch “1”).

図12は、実施の形態1における差分情報ファイル作成処理(S140)の概要図である。
実施の形態1における差分情報ファイル作成処理(S140)について、図12に基づいて以下に説明する。
FIG. 12 is a schematic diagram of difference information file creation processing (S140) in the first embodiment.
The difference information file creation process (S140) in the first embodiment will be described below with reference to FIG.

例えば、更新前F/Wハッシュファイル292と新F/Wハッシュファイル293とが図12の値を示す場合、差分情報ファイル作成部214は以下のようにして差分情報ファイル294を作成する。
まず、差分情報ファイル作成部214は、更新前F/Wハッシュファイル292の1番目のハッシュ値「0xFF」と新F/Wハッシュファイル293の1番目のハッシュ値「0xFF」とが一致するため、差分情報ファイル294の1ビット目に「一致」を示すビット「0」を設定する。
次に、差分情報ファイル作成部214は、更新前F/Wハッシュファイル292の2番目のハッシュ値「0x3C」と新F/Wハッシュファイル293の2番目のハッシュ値「0x00」とが一致しないため、差分情報ファイル294の2ビット目に「不一致」を示すビット「1」を設定する。
以下同様に、差分情報ファイル作成部214は、更新前F/Wハッシュファイル292のx番目のハッシュ値と新F/Wハッシュファイル293のx番目のハッシュ値を比較し、一致する場合には差分情報ファイル294のxビット目にビット「0」を設定し、一致しない場合には差分情報ファイル294のxビット目にビット「1」を設定する。
For example, when the pre-update F / W hash file 292 and the new F / W hash file 293 indicate the values in FIG. 12, the difference information file creation unit 214 creates the difference information file 294 as follows.
First, the difference information file creation unit 214 matches the first hash value “0xFF” of the pre-update F / W hash file 292 with the first hash value “0xFF” of the new F / W hash file 293. A bit “0” indicating “match” is set in the first bit of the difference information file 294.
Next, the difference information file creation unit 214 does not match the second hash value “0x3C” of the pre-update F / W hash file 292 and the second hash value “0x00” of the new F / W hash file 293. The bit “1” indicating “mismatch” is set to the second bit of the difference information file 294.
Similarly, the difference information file creation unit 214 compares the xth hash value of the pre-update F / W hash file 292 and the xth hash value of the new F / W hash file 293, and if they match, Bit “0” is set to the x bit of the information file 294, and if they do not match, bit “1” is set to the x bit of the difference information file 294.

前述の通り、同一のハッシュ関数を用いて算出されたハッシュ値が同じである2つのデータは同じデータであるため、差分情報ファイル294に設定されたビット「0」は選択機器F/Wの当該ブロックと新しいF/W291の当該ブロックとが同じデータであることを示し、差分情報ファイル294に設定されたビット「1」は選択機器F/Wの当該ブロックと新しいF/W291の当該ブロックとが異なるデータであることを示す。
つまり、図12の差分情報ファイル294は、ブロックサイズが「3バイト」である場合、選択機器F/Wの先頭ブロック(先頭から3バイトのデータ)と新しいF/W291の先頭ブロックとが同じデータであることを示している。
また、選択機器F/Wの2番目のブロック(4バイト目から3バイトのデータ)と新しいF/W291の2番目のブロックとが異なるデータであることを示している。
As described above, since two pieces of data having the same hash value calculated using the same hash function are the same data, the bit “0” set in the difference information file 294 indicates the relevant device F / W. The block and the block of the new F / W 291 indicate the same data, and the bit “1” set in the difference information file 294 indicates that the block of the selected device F / W and the block of the new F / W 291 are Indicates different data.
That is, in the difference information file 294 of FIG. 12, when the block size is “3 bytes”, the first block of the selected device F / W (data of 3 bytes from the top) and the first block of the new F / W 291 are the same data. It is shown that.
Further, the second block (3 bytes data from the fourth byte) of the selected device F / W and the second block of the new F / W 291 are different data.

図6に戻り、F/W更新方法の説明を続ける。   Returning to FIG. 6, the description of the F / W update method will be continued.

S140の後、処理はS114に進む。   After S140, the process proceeds to S114.

<S114>
ツール制御部211は、選択機器F/Wのバージョンに対応する更新前F/Wハッシュファイル292と選択機器F/Wのブロックサイズに対応する新F/Wハッシュファイル293とに対応する差分情報ファイル294を含むと共に、選択機器F/Wのブロックサイズを含んだイレース要求コマンドを生成する。
ツール制御部211は、生成したイレース命令コマンドをパソコン側通信部219を用いて選択機器へ送信する。
イレース要求コマンドは、選択機器F/Wの差分領域のイレースを要求するコマンド110である。
差分領域は、選択機器F/Wの各ブロックのうち新しいF/W291の対応ブロック(F/W内での並び順が対応するブロック)とデータの異なるブロックを意味する。
イレースは、データの削除、初期値の設定、メモリ領域の初期化などを意味する。
S114の後、処理はS150に進む。
<S114>
The tool control unit 211 stores a difference information file corresponding to the pre-update F / W hash file 292 corresponding to the version of the selected device F / W and the new F / W hash file 293 corresponding to the block size of the selected device F / W. And an erase request command including the block size of the selected device F / W.
The tool control unit 211 transmits the generated erase command command to the selected device using the personal computer side communication unit 219.
The erase request command is a command 110 for requesting erasure of the difference area of the selected device F / W.
The difference area means a block whose data is different from the corresponding block of the new F / W 291 (the block corresponding to the arrangement order in the F / W) among the blocks of the selected device F / W.
Erase means data deletion, initial value setting, memory area initialization, and the like.
After S114, the process proceeds to S150.

<S150:更新前F/W差分領域イレース処理>
選択機器のF/W更新タスク310は、S114において送信されたイレース要求コマンドを受信し、受信したイレース命令コマンドに含まれる差分情報ファイル294およびブロックサイズに基づいて更新前F/Wの差分領域をイレースする。
<S150: Pre-update F / W difference area erase process>
The F / W update task 310 of the selected device receives the erase request command transmitted in S114, and based on the difference information file 294 and the block size included in the received erase command command, determines the difference area of the F / W before update. Erase.

図13は、実施の形態1における更新前F/W差分領域イレース処理(S150)の概要図である。
実施の形態1における更新前F/W差分領域イレース処理(S150)の概要について、図13に基づいて以下に説明する。
FIG. 13 is a schematic diagram of the pre-update F / W difference area erase process (S150) in the first embodiment.
The outline of the pre-update F / W difference area erase process (S150) in the first embodiment will be described below with reference to FIG.

F/W更新タスク310は、差分情報ファイル294のビットが更新前F/Wと新しいF/W291との対応ブロックの一致を意味するビット「0」である場合(S153)、当該ビットに対応する更新前F/Wのブロックをイレースしない。
F/W更新タスク310は、差分情報ファイル294のビットが更新前F/Wと新しいF/W291との対応ブロックの不一致を意味するビット「1」である場合(S153)、当該ビットに対応する更新前F/Wのブロックを特定し(S154)、特定したブロックを所定のイレース単位サイズずつイレースする(S155)。
イレース単位サイズは、F/W更新タスク310が更新前F/Wをイレースできる1回あたりのデータサイズである。
When the bit of the difference information file 294 is the bit “0” indicating the matching of the corresponding block between the pre-update F / W and the new F / W 291 (S153), the F / W update task 310 corresponds to the bit. Do not erase the F / W block before update.
When the bit of the difference information file 294 is a bit “1” indicating a mismatch between corresponding blocks of the pre-update F / W and the new F / W 291 (S153), the F / W update task 310 corresponds to the bit. The F / W block before update is specified (S154), and the specified block is erased by a predetermined erase unit size (S155).
The erase unit size is a data size per time that the F / W update task 310 can erase the pre-update F / W.

図13において、F/W更新タスク310は、差分情報ファイル294の先頭ビット(1ビット目)が「0」であるため、更新前F/Wの第1ブロックをイレースしない。
また、F/W更新タスク310は、差分情報ファイル294の2ビット目が「1」であるため、更新前F/Wの第2ブロックをイレース単位サイズずつイレースする。
In FIG. 13, the F / W update task 310 does not erase the first block of the F / W before update because the first bit (first bit) of the difference information file 294 is “0”.
Further, since the second bit of the difference information file 294 is “1”, the F / W update task 310 erases the second block of the F / W before update for each erase unit size.

図中のS153〜S155は、次に説明するフローチャートの処理番号に対応している。   S153 to S155 in the figure correspond to the processing numbers in the flowchart described below.

図14は、実施の形態1における更新前F/W差分領域イレース処理(S150)のフローチャートである。
実施の形態1における更新前F/W差分領域イレース処理(S150)の流れについて、図14に基づいて以下に説明する。
FIG. 14 is a flowchart of the pre-update F / W difference area erase process (S150) according to the first embodiment.
The flow of the pre-update F / W difference area erase process (S150) in the first embodiment will be described below with reference to FIG.

<S151>
選択機器のF/W更新タスク310は、差分情報ファイル294とブロックサイズとを含んだイレース要求コマンドを受信する。
S151の後、処理はS152に進む。
<S151>
The F / W update task 310 of the selected device receives an erase request command including the difference information file 294 and the block size.
After S151, the process proceeds to S152.

<S152>
F/W更新タスク310は、差分情報ファイル294から1ビットを取得する。
S152から後述するS157までの処理はループ処理される。
F/W更新タスク310は、初回のループ時には差分情報ファイル294の先頭ビット(1ビット目)を取得し、2回目のループ時には差分情報ファイル294の2ビット目を取得する。
差分情報ファイル294が5ビットである場合、S152〜S157は5回ループする。
S152の後、処理はS153に進む。
<S152>
The F / W update task 310 acquires 1 bit from the difference information file 294.
The processing from S152 to S157 described later is looped.
The F / W update task 310 acquires the first bit (first bit) of the difference information file 294 during the first loop, and acquires the second bit of the difference information file 294 during the second loop.
When the difference information file 294 is 5 bits, S152 to S157 loop five times.
After S152, the process proceeds to S153.

<S153>
F/W更新タスク310は、S152で取得した1ビット(以下、「取得ビット」という)が、更新前F/Wと新しいF/W291との対応ブロックの一致を意味するビット「0」であるか、または更新前F/Wと新しいF/W291との対応ブロックの不一致を意味するビット「1」であるかを判定する。
取得ビットがビット「0」である場合、処理はS157に進み、取得ビットがビット「1」である場合、処理はS154に進む。
<S153>
In the F / W update task 310, the 1 bit acquired in S152 (hereinafter referred to as “acquired bit”) is a bit “0” indicating the matching of the corresponding block between the pre-update F / W and the new F / W 291. Or a bit “1” indicating a mismatch between corresponding blocks of the pre-update F / W and the new F / W 291.
If the acquired bit is “0”, the process proceeds to S157, and if the acquired bit is “1”, the process proceeds to S154.

<S154>
F/W更新タスク310は、差分情報ファイル294に含まれるブロックサイズに基づいて、更新前F/W内から取得ビット(ビット「1」)に対応するブロック(以下、「差分ブロック」という)を特定する。
例えば、ブロックサイズが「12バイト」であり、取得ビットが差分情報ファイル294の1ビット目である場合、差分ブロックは差分情報ファイル294の先頭から12バイトの領域である。
また、取得ビットが差分情報ファイル294の2ビット目である場合、差分ブロックは差分情報ファイル294の13バイト目から12バイトの領域である。
S154の後、処理はS155に進む。
<S154>
Based on the block size included in the difference information file 294, the F / W update task 310 selects a block (hereinafter referred to as “difference block”) corresponding to the acquired bit (bit “1”) from the pre-update F / W. Identify.
For example, when the block size is “12 bytes” and the acquired bit is the first bit of the difference information file 294, the difference block is an area of 12 bytes from the top of the difference information file 294.
When the acquired bit is the second bit of the difference information file 294, the difference block is a 12-byte area from the 13th byte of the difference information file 294.
After S154, the process proceeds to S155.

<S155>
F/W更新タスク310は、S154で特定した差分ブロックをイレース単位サイズ分イレースする。
S155と後述するS156とはループ処理される。
イレース単位サイズが「3バイト」である場合、F/W更新タスク310は、初回のループ時には差分ブロックの先頭から3バイトの領域をイレースし、2回目のループ時には差分ブロックの4バイト目から3バイトの領域をイレースする。
ブロックサイズが「12バイト」であり、イレース単位サイズが「3バイト」である場合、S155〜S156は4(=12÷3)回ループする。
S155の後、処理はS156に進む。
<S155>
The F / W update task 310 erases the difference block specified in S154 by the erase unit size.
S155 and later-described S156 are loop-processed.
When the erase unit size is “3 bytes”, the F / W update task 310 erases the area of 3 bytes from the top of the difference block at the first loop, and from the 4th byte of the difference block at the second loop. Erase byte area.
When the block size is “12 bytes” and the erase unit size is “3 bytes”, S155 to S156 loop 4 times (= 12 ÷ 3).
After S155, the process proceeds to S156.

<S156>
F/W更新タスク310は、S155において差分ブロックの全領域のイレースが完了したか判定する。
差分ブロックのイレースが完了した場合(YES)、処理はS157に進む。
差分ブロックのイレースが完了していない場合(NO)、処理はS155に戻る。
<S156>
The F / W update task 310 determines in step S155 whether the erasure of all areas of the difference block has been completed.
When the erasure of the difference block is completed (YES), the process proceeds to S157.
If the erasure of the difference block has not been completed (NO), the process returns to S155.

<S157>
F/W更新タスク310は、S142において差分情報ファイル294の全ビットを取得した場合に差分情報ファイル294の処理を完了したと判定し、S142において差分情報ファイル294に取得していないビットがある場合に差分情報ファイル294の処理を完了していないと判定する。
差分情報ファイル294の処理を完了した場合(YES)、更新前F/W差分領域イレース処理(S150)は終了する。
差分情報ファイル294の処理を完了していない場合(NO)、処理はS152に戻る。
<S157>
The F / W update task 310 determines that the processing of the difference information file 294 has been completed when all the bits of the difference information file 294 have been acquired in S142, and there are bits that have not been acquired in the difference information file 294 in S142. It is determined that the processing of the difference information file 294 has not been completed.
When the process of the difference information file 294 is completed (YES), the pre-update F / W difference area erase process (S150) ends.
When the process of the difference information file 294 has not been completed (NO), the process returns to S152.

図6に戻り、F/W更新方法の説明を続ける。   Returning to FIG. 6, the description of the F / W update method will be continued.

S150の後、処理はS160(図7)に進む。   After S150, the process proceeds to S160 (FIG. 7).

<S160:更新前F/W差分領域書き込み処理>
差分データ出力部215は新しいF/W291の差分領域のデータを書き込み単位サイズずつ選択機器へ送信し、選択機器のF/W更新タスク310は受信した新しいF/W291の差分領域のデータを更新前F/Wに書き込んで更新前F/Wを更新する(S161〜S166)。
<S160: F / W differential area writing process before update>
The difference data output unit 215 transmits the new F / W291 difference area data to the selected device in units of writing unit sizes, and the F / W update task 310 of the selected device receives the received new F / W291 difference area data before the update. The F / W before update is updated by writing to the F / W (S161 to S166).

図15は、実施の形態1における更新前F/W差分領域書き込み処理(S160)の概要図である。
実施の形態1における更新前F/W差分領域書き込み処理(S160)の概要について、図15に基づいて以下に説明する。
FIG. 15 is a schematic diagram of the pre-update F / W difference area writing process (S160) in the first embodiment.
An overview of the pre-update F / W difference area writing process (S160) in the first embodiment will be described below with reference to FIG.

パソコン側ツール210は、差分情報ファイル294のビットが更新前F/Wと新しいF/W291との対応ブロックの一致を意味するビット「0」である場合、当該ビットに対応する新しいF/W291のブロックを組み込み機器(選択機器)へ送信しない(S161)。
パソコン側ツール210は、差分情報ファイル294のビットが更新前F/Wと新しいF/W291との対応ブロックの不一致を意味するビット「1」である場合、当該ビットに対応する新しいF/W291のブロックを特定し(S161)、特定したブロックを所定の書き込み単位サイズずつ読み込み(S162)、読み込んだ差分データを組み込み機器(選択機器)へ送信する(S163)。
書き込み単位サイズは、組み込み機器のF/W更新タスク310が更新前F/Wのメモリ領域に書き込みできる1回あたりのデータサイズであり、機器構成管理ファイル299に設定されている。
When the bit of the difference information file 294 is the bit “0” indicating the coincidence of the corresponding block between the pre-update F / W and the new F / W 291, the personal computer side tool 210 sets the new F / W 291 corresponding to the bit. The block is not transmitted to the embedded device (selected device) (S161).
If the bit of the difference information file 294 is a bit “1” indicating that the corresponding block of the pre-update F / W and the new F / W 291 does not match, the personal computer side tool 210 has a new F / W 291 corresponding to the bit. A block is specified (S161), the specified block is read in units of a predetermined writing unit size (S162), and the read difference data is transmitted to an embedded device (selected device) (S163).
The write unit size is a data size per time that the F / W update task 310 of the embedded device can write in the memory area of the pre-update F / W, and is set in the device configuration management file 299.

図15において、パソコン側ツール210は、差分情報ファイル294の先頭ビット(1ビット目)が「0」であるため、新しいF/W291の第1ブロックを送信しない。
また、パソコン側ツール210は、差分情報ファイル294の2ビット目が「1」であるため、新しいF/W291の第2ブロックを書き込み単位サイズずつ読み込んで送信する。
In FIG. 15, the personal computer side tool 210 does not transmit the first block of the new F / W 291 because the first bit (first bit) of the difference information file 294 is “0”.
Further, since the second bit of the difference information file 294 is “1”, the personal computer side tool 210 reads and transmits the second block of the new F / W 291 for each writing unit size.

組み込み機器のF/W更新タスク310は、F/W更新タスク310により送信された各差分データを更新前F/Wの対応領域に書き込む(S164)。   The F / W update task 310 of the embedded device writes each difference data transmitted by the F / W update task 310 in the corresponding area of the pre-update F / W (S164).

図中のS161〜S164は、以下に説明するフローチャートの処理番号に対応している。   S161 to S164 in the figure correspond to the process numbers of the flowcharts described below.

図7に戻り、F/W更新方法の説明をS160のS161から続ける。   Returning to FIG. 7, the description of the F / W update method is continued from S161 of S160.

<S161>
差分データ出力部215は、差分情報ファイル294から値が「1」であるビットを検索し、値が「1」であるビットに対応する新しいF/W291の差分ブロックを一つ特定する。
S161から後述するS166までの処理はループ処理される。
差分データ出力部215は、初回のループ時には差分情報ファイル294内で値が「1」である各ビットのうち1番目のビットに対応する新しいF/W291の差分ブロックを特定し、2回目のループ時には2番目のビット(ビット値「1」)に対応する新しいF/W291の差分ブロックを特定する。
差分情報ファイル294の先頭ビット(1ビット目)が「1」であれば、新しいF/W291の先頭ブロック(第1ブロック)は差分ブロックである。差分情報ファイル294の2ビット目が「1」であれば、新しいF/W291の第2ブロックは差分ブロックである。
差分情報ファイル294に値が「1」であるビットが5つある場合、S161〜S166は5回ループする。
S161の後、処理はS162に進む。
<S161>
The difference data output unit 215 searches the difference information file 294 for a bit whose value is “1”, and identifies one new F / W 291 difference block corresponding to the bit whose value is “1”.
The processing from S161 to S166 described later is looped.
The difference data output unit 215 specifies a new F / W291 difference block corresponding to the first bit among the bits having a value of “1” in the difference information file 294 during the first loop, and the second loop Sometimes a new F / W291 differential block corresponding to the second bit (bit value “1”) is identified.
If the first bit (first bit) of the difference information file 294 is “1”, the first block (first block) of the new F / W 291 is a difference block. If the second bit of the difference information file 294 is “1”, the second block of the new F / W 291 is a difference block.
When the difference information file 294 has five bits having a value “1”, S161 to S166 loop five times.
After S161, the process proceeds to S162.

<S162>
差分データ出力部215は、差分特定ブロック(S161で特定した新しいF/W291の差分ブロック)のデータを選択機器F/Wの書き込み単位サイズ分読み込む。選択機器F/Wの書き込み単位サイズは機器構成管理ファイル299に設定されている。
S162から後述するS165までの処理はループ処理される。
書き込み単位サイズが「4バイト」である場合、差分データ出力部215は、初回のループ時には差分特定ブロックの先頭から4バイトの領域を読み込み、2回目のループ時には差分特定ブロックの5バイト目から4バイトの領域を読み込む。
ブロックサイズが「12バイト」であり、書き込み単位サイズが「4バイト」である場合、S162〜S165は3(=12÷4)回ループする。
S162の後、処理はS163に進む。
<S162>
The difference data output unit 215 reads the data of the difference specifying block (the new F / W291 difference block specified in S161) by the writing unit size of the selected device F / W. The writing unit size of the selected device F / W is set in the device configuration management file 299.
The processing from S162 to S165 described later is looped.
When the write unit size is “4 bytes”, the difference data output unit 215 reads the 4-byte area from the beginning of the difference specifying block at the first loop, and 4 bytes from the fifth byte of the difference specifying block at the second loop. Read a byte area.
When the block size is “12 bytes” and the write unit size is “4 bytes”, S162 to S165 loop three times (= 12 ÷ 4).
After S162, the process proceeds to S163.

<S163>
差分データ出力部215は、差分単位データ(S162において読み込んだデータ)と差分単位データを書き込む領域を示す書き込み領域情報(例えば、新しいF/W291の先頭から差分単位データの先頭までのバイト数)とを含んだ書き込み要求コマンドを生成する。
差分データ出力部215は、生成した書き込み要求コマンドをパソコン側通信部219を用いて選択機器へ送信する。
書き込み要求コマンドは、選択機器F/Wのメモリ領域への差分単位データの書き込みを要求するコマンド110である。
S163の後、処理はS164に進む。
<S163>
The difference data output unit 215 includes difference unit data (data read in S162), write area information indicating an area in which the difference unit data is written (for example, the number of bytes from the beginning of the new F / W 291 to the beginning of the difference unit data), and A write request command including is generated.
The differential data output unit 215 transmits the generated write request command to the selected device using the personal computer side communication unit 219.
The write request command is a command 110 for requesting writing of differential unit data to the memory area of the selected device F / W.
After S163, the process proceeds to S164.

<S164>
選択機器のF/W更新タスク310は、差分単位データと書き込み領域情報とを含んだ書き込み要求コマンドを受信し、差分単位データを更新前F/Wの書き込み領域に書き込む。
S164の後、処理はS165に進む。
<S164>
The F / W update task 310 of the selected device receives the write request command including the difference unit data and the write area information, and writes the difference unit data in the pre-update F / W write area.
After S164, the process proceeds to S165.

<S165>
差分データ出力部215は、S162において差分特定ブロックのデータを全て読み込んだ場合に差分特定ブロックの処理を完了したと判定し、S162において差分特定ブロックから読み込んでいないデータがある場合に差分特定ブロックの処理を完了していないと判定する。
差分特定ブロックの処理を完了した場合(YES)、処理はS165に進む。
差分特定ブロックの処理を完了していない場合(NO)、処理はS162に戻る。
<S165>
The difference data output unit 215 determines that the processing of the difference identification block has been completed when all the data of the difference identification block has been read in S162, and if there is data that has not been read from the difference identification block in S162, It is determined that the process has not been completed.
When the process of the difference specifying block is completed (YES), the process proceeds to S165.
When the process of the difference specifying block has not been completed (NO), the process returns to S162.

<S166>
差分データ出力部215は、S161において新しいF/W291の差分ブロックを全て特定した場合に全差分ブロックの処理を完了したと判定し、S161において新しいF/W291に特定していない差分ブロックがある場合に全差分ブロックの処理を完了していないと判定する。
全差分ブロックの処理を完了した場合(YES)、処理はS119に進む。
全差分ブロックの処理を完了していない場合(NO)、処理はS161に戻る。
<S166>
The difference data output unit 215 determines that the processing of all the difference blocks has been completed when all the difference blocks of the new F / W 291 are specified in S161, and there is a difference block that is not specified in the new F / W 291 in S161 It is determined that the processing of all the difference blocks has not been completed.
When the process for all the difference blocks is completed (YES), the process proceeds to S119.
If all the difference blocks have not been processed (NO), the process returns to S161.

<S119>
ツール制御部211は、S110において組み込み機器を全て選択した場合に全組み込み機器の処理を完了したと判定し、S110において選択していない組み込み機器がある場合に全組み込み機器の処理を完了していないと判定する。
全組み込み機器の処理を完了した場合(YES)、F/W更新方法は終了する。
全組み込み機器の処理を完了していない場合(NO)、処理はS110に戻る。
<S119>
The tool control unit 211 determines that the processing for all the embedded devices is completed when all the embedded devices are selected in S110, and does not complete the processing for all the embedded devices when there is an embedded device that is not selected in S110. Is determined.
When the processing of all the embedded devices is completed (YES), the F / W update method ends.
If the processing for all the embedded devices has not been completed (NO), the processing returns to S110.

実施の形態1において、例えば、以下のようなF/W更新方式について説明した。
パソコンから複数の組み込み機器へケーブルを介して新しいF/Wを送信し、複数の組み込み機器に内蔵されている不揮発性メモリ上の更新前F/Wを新しいF/Wに更新する。
In the first embodiment, for example, the following F / W update method has been described.
A new F / W is transmitted from the personal computer to the plurality of embedded devices via a cable, and the pre-update F / W on the nonvolatile memory incorporated in the plurality of embedded devices is updated to a new F / W.

実施の形態1のF/W更新システムによる組み込み機器のF/Wの更新は、不揮発性メモリ上の更新前F/W全体をイレースするのではなく、新しいF/Wと更新前のF/W間の差分箇所のみをイレースする。また、新しいF/Wの全てのデータを書き込むのではなく、新しいF/Wと更新前のF/W間の差分をパソコン側ツールから組み込み機器へ送信し、書き込む。
データの書き込みに、イレースが不要な不揮発性メモリを内蔵している組み込み機器のF/Wを更新する場合は、前述のイレース処理は不要である。
このようにすることで、不揮発性メモリへのアクセスエリア数が減少し、パソコン側ツールから組み込み機器へ送信する新しいF/Wのデータ量が減少する。結果的に組み込み機器のF/Wの更新速度が向上し、不揮発性メモリの寿命が延長する。
また、この方式は、データの書き込みにイレースが必要な不揮発性メモリを内蔵している組み込み機器、イレースが不要な不揮発性メモリを内蔵している組み込み機器のどちらにも適用できる。
In the F / W update of the embedded device by the F / W update system according to the first embodiment, the entire F / W before update on the nonvolatile memory is not erased, but the new F / W and the F / W before update are updated. Erase only the difference between them. Also, instead of writing all the data of the new F / W, the difference between the new F / W and the F / W before update is transmitted from the personal computer side tool to the embedded device and written.
When updating the F / W of an embedded device having a built-in nonvolatile memory that does not require erasing for data writing, the above-described erasing process is not necessary.
By doing so, the number of access areas to the nonvolatile memory is reduced, and the amount of new F / W data transmitted from the personal computer side tool to the embedded device is reduced. As a result, the F / W update speed of the embedded device is improved, and the lifetime of the nonvolatile memory is extended.
Further, this method can be applied to both an embedded device incorporating a non-volatile memory that requires erasing for writing data and an embedded device incorporating a non-volatile memory that does not require erasing.

F/Wの更新時には、新しいF/Wと更新前F/W間の差分情報ファイルを使用する。差分情報ファイルがパソコン上にない場合は新規に作成する。作成した前記差分情報ファイルは、同じバージョンの更新前F/Wを格納している他の複数の組み込み機器の更新に使用でき、1つの組み込み機器のF/Wの更新の度に差分情報ファイルを作成する必要がない。また、前記複数の組み込み機器のそれぞれのイレース単位、前記それぞれのデータの書き込み単位は異なっていても構わない。差分情報ファイルは、新しいF/Wのハッシュファイル、更新前F/Wのハッシュファイルを使用して作成するため、前記新しいF/W、前記更新前F/Wの差分箇所の検出が高速に行える。よって、差分情報ファイルが高速に作成できる。また、作成した前記新しいF/Wのハッシュファイル、前記更新前F/Wのハッシュファイルは、他の複数の組み込み機器の更新時の差分情報ファイルの作成に使用でき、1つの組み込み機器のF/Wの更新の度に前記ハッシュファイルを作成する必要がない。結果的に、複数の組み込み機器のF/Wの更新時間の短縮、また、前記複数の組み込み機器に内蔵されている不揮発性メモリへのアクセス回数の減少による不揮発性メモリの寿命の延長が可能となる。   When updating the F / W, a difference information file between the new F / W and the pre-update F / W is used. If the difference information file is not on the computer, create a new one. The created difference information file can be used for updating a plurality of other embedded devices that store the same version of the pre-update F / W. The difference information file can be used each time the F / W of one embedded device is updated. There is no need to create it. In addition, the erase unit of each of the plurality of embedded devices may be different from the data writing unit. Since the difference information file is created using the hash file of the new F / W and the hash file of the pre-update F / W, the difference between the new F / W and the pre-update F / W can be detected at high speed. . Therefore, the difference information file can be created at high speed. The created hash file of the new F / W and the hash file of the pre-update F / W can be used to create a difference information file when updating a plurality of other embedded devices. There is no need to create the hash file every time W is updated. As a result, the F / W update time of a plurality of embedded devices can be shortened, and the lifetime of the nonvolatile memory can be extended by reducing the number of accesses to the nonvolatile memory incorporated in the plurality of embedded devices. Become.

F/W更新方式は、以下の手段を有する。
(1)前記パソコンへ接続されている複数の組み込み機器に内蔵されている不揮発性メモリのイレース単位、F/Wの書き込み単位、前記不揮発性メモリに格納されているF/Wのバージョンを知る手段(機器構成管理ファイル299)。
(2)前記新しいF/Wのハッシュファイル、前記更新前F/Wのハッシュファイルを作成する手段(更新前F/Wハッシュファイル292、新F/Wハッシュファイル293)。
(3)前記ハッシュファイル作成の際のブロックサイズを決定する手段(更新前F/Wハッシュファイル292)。
(4)前記ハッシュファイルから、前記新しいF/Wと前記更新前F/Wとの差分情報ファイルを作成する手段(差分情報ファイル294)。
(5)前記差分情報ファイルを参照し、前記不揮発性メモリ上の前記更新前F/Wを、前記新しいF/Wと前記更新前F/Wとの差分箇所のみイレースする手段(F/W更新タスク310)。
(6)前記差分情報ファイルを参照し、前記新しいF/Wの前記差分箇所のみを前記パソコンから前記組み込み機器へ送信し、前記不揮発性メモリへ書き込む手段(差分データ出力部215、F/W更新タスク310)。
(7)前記組み込み機器に格納されている更新前F/Wと同じバージョンの更新前F/Wが格納されている前記組み込み機器とは異なる組み込み機器の更新前F/Wの更新に、既存の前記ハッシュファイル、既存の前記差分情報ファイルを使用する手段(更新前F/Wハッシュファイル292、新F/Wハッシュファイル293、差分情報ファイル294)。
The F / W update method has the following means.
(1) Means for knowing erase unit of nonvolatile memory built in a plurality of embedded devices connected to the personal computer, F / W write unit, and F / W version stored in the nonvolatile memory (Device configuration management file 299).
(2) Means for creating the new F / W hash file and the pre-update F / W hash file (pre-update F / W hash file 292, new F / W hash file 293).
(3) A means for determining a block size when creating the hash file (pre-update F / W hash file 292).
(4) Means for creating a difference information file between the new F / W and the pre-update F / W from the hash file (difference information file 294).
(5) Means for referring to the difference information file and erasing the pre-update F / W on the non-volatile memory only at the difference between the new F / W and the pre-update F / W (F / W update) Task 310).
(6) A means for referring to the difference information file, transmitting only the difference portion of the new F / W from the personal computer to the embedded device, and writing it in the nonvolatile memory (difference data output unit 215, F / W update) Task 310).
(7) An existing F / W before update of an embedded device that is different from the embedded device in which an F / W before update of the same version as the F / W before update stored in the embedded device is stored. Means for using the hash file and the existing difference information file (pre-update F / W hash file 292, new F / W hash file 293, difference information file 294).

F/W更新システムは、組み込み機器に格納されている更新前F/Wと新しいF/Wとに対して一定のブロックサイズ単位でハッシュ値を算出し、そのハッシュ値が同じであれば「0」、異なれば「1」とし、前記「0」をビット値「0」、前記「1」をビット値「1」と見なし、前記ビット値の列を前記更新前F/Wと前記新しいF/Wとの差分情報とする。   The F / W update system calculates a hash value in units of a fixed block size for the pre-update F / W and the new F / W stored in the embedded device, and if the hash values are the same, “0”. “0”, “0” is regarded as a bit value “0”, “1” is regarded as a bit value “1”, and the column of bit values is regarded as the pre-update F / W and the new F / W. Difference information from W is assumed.

また、ひとつの組み込み機器のF/Wの更新時に作成された、ハッシュファイル、差分情報ファイルを他の組み込み機器のF/Wの更新に再利用する。   Further, the hash file and the difference information file created when updating the F / W of one embedded device are reused for updating the F / W of another embedded device.

また、差分情報ファイルの作成に、別の組み込み機器のF/Wの更新時に作成された、既存のハッシュファイルを使用し、前記ハッシュファイルがなければ、前記差分情報ファイルの作成に必要なハッシュファイルを新規作成する。   In addition, an existing hash file created when updating the F / W of another embedded device is used to create the difference information file. If there is no hash file, a hash file necessary for creating the difference information file Create a new.

また、ハッシュファイル作成時のブロックサイズが、同じバージョンの更新前F/Wを格納している複数の組み込み機器の、それぞれの不揮発性メモリのイレース単位、データの書き込み単位の最小公倍数である。そして、前記複数の組み込み機器間において、イレース単位、データの書き込み単位が異なっていても、前記複数の組み込み機器のF/Wの更新に、同じ差分情報ファイルが使用できる。   The block size at the time of creating the hash file is the least common multiple of the erase unit and the data write unit of each nonvolatile memory of a plurality of embedded devices that store the same version of the pre-update F / W. Even if the erase unit and the data writing unit are different among the plurality of embedded devices, the same difference information file can be used to update the F / W of the plurality of embedded devices.

100 F/W更新システム、101 ケーブル、110 コマンド、200 パソコン、210 パソコン側ツール、211 ツール制御部、212 更新前F/Wハッシュファイル作成部、213 新F/Wハッシュファイル作成部、214 差分情報ファイル作成部、215 差分データ出力部、219 パソコン側通信部、290 パソコン側記憶部、291 新しいF/W、292 更新前F/Wハッシュファイル、293 新F/Wハッシュファイル、294 差分情報ファイル、299 機器構成管理ファイル、301 組み込み機器A、302 組み込み機器B、303 組み込み機器C、304 組み込み機器D、310 F/W更新タスク、390 不揮発性メモリ、391 更新前F/W(1)、392 更新前F/W(2)、901 表示装置、902 キーボード、903 マウス、904 ドライブ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群。   100 F / W update system, 101 cable, 110 command, 200 PC, 210 PC side tool, 211 Tool control unit, 212 F / W hash file creation unit before update, 213 New F / W hash file creation unit, 214 Difference information File creation unit, 215 Difference data output unit, 219 PC side communication unit, 290 PC side storage unit, 291 New F / W, 292 F / W hash file before update, 293 New F / W hash file, 294 Difference information file, 299 Device configuration management file, 301 Embedded device A, 302 Embedded device B, 303 Embedded device C, 304 Embedded device D, 310 F / W update task, 390 Non-volatile memory, 391 F / W (1) before update, 392 Update Previous F / W (2), 901 Display device, 902 keyboard, 903 mouse, 904 drive device, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 magnetic disk device, 921 OS, 922 window system, 923 program group, 924 file group.

Claims (6)

データ記憶部と、使用データ分割部と、新データ分割部と、差分情報生成部と、差分データ入力部とを備え、
前記データ記憶部は、複数の特定の機器で使用されている1つ以上の使用データと前記1つ以上の使用データとは少なくとも一部が異なる新データと、機器構成管理ファイルとを記憶媒体を用いて記憶する記憶部であり
前記機器構成管理ファイルは、特定の機器を識別する機器名と、特定の機器で使用されている使用データのバージョンと、特定の機器に1回あたりに書き込むデータのサイズを示す書き込み単位サイズと、を対応付けるファイルであり、
前記使用データ分割部は、前記機器構成管理ファイルに含まれる機器名のうちいずれかの機器名を選択機器名として選択し、前記機器構成管理ファイルに含まれる機器名のうち前記選択機器名に対応付けられたバージョンと同じバージョンに対応付けられた機器名を特定機器名として特定し、
前記使用データ分割部は、前記選択機器名に対応付けられた書き込み単位サイズと、前記特定機器名に対応付けられた書き込み単位サイズとの公倍数であるサイズを特定のサイズとして算出し、
前記使用データ分割部は、前記データ記憶部に記憶された使用データのうち前記選択機器名に対応付けられたバージョンと同じバージョンの使用データを前記特定のサイズで複数の分割データにCPU(Central Processing Unit)を用いて分割
前記新データ分割部は、前記データ記憶部に記憶された新データを前記特定のサイズで複数の分割データにCPUを用いて分割
前記差分情報生成部は、前記使用データの分割データ毎に当該使用データの分割データと、当該使用データの分割データとデータの並び順が対応する新データの分割データと同じであるか否かを示す情報を差分情報としてCPUを用いて生成
前記差分データ入力部は、前記差分情報生成部により生成された差分情報に基づいて新データの複数の分割データのうちデータの並び順が対応する使用データの分割データと異なる各分割データをCPUを用いて特定し、特定した新データの各分割データを差分データとして前記選択機器名で識別される選択機器と前記特定機器名で識別される特定機器とに入力して前記選択機器と前記特定機器とに前記使用データ内の前記差分データに対応する部分を前記差分データで更新させ
とを特徴とするデータ更新装置。
A data storage unit, a use data dividing unit, a new data dividing unit, a difference information generating unit, and a difference data input unit;
The data storage unit includes one or more usage data that is used by a plurality of specific equipment, said one or more at least partially different from the new data from the usage data, device configuration management file and the storage medium A storage unit for storing using
The device configuration management file includes a device name that identifies a specific device, a version of use data that is used by the specific device, a write unit size that indicates the size of data to be written to the specific device once, Is a file that associates
The usage data dividing unit selects any one of the device names included in the device configuration management file as a selected device name, and corresponds to the selected device name among the device names included in the device configuration management file. Specify the device name associated with the same version as the assigned version as the specific device name,
The use data dividing unit calculates, as a specific size, a size that is a common multiple of a write unit size associated with the selected device name and a write unit size associated with the specific device name,
The usage data dividing unit, CPU (Central Processing usage data of the same version as the version associated with the selected device name into a plurality of divided data with the particular size of the usage data stored in the data storage unit Unit) resolved using,
The new data dividing unit divides a CPU into a plurality of divided data in the data storage unit the specific size stored new data to,
The difference information generating unit determines whether the divided data of the used data is the same as the divided data of the new data corresponding to the divided data of the used data and the arrangement order of the data for each divided data of the used data . generated using the CPU as the difference information information indicating,
The difference data input unit stores each divided data different from the divided data of the use data corresponding to the data arrangement order among the plurality of divided data of the new data based on the difference information generated by the difference information generating unit. used to identify it, wherein the selection device identified by the selected device name the said selected device to enter into a specific device identified by the specific device name specified equipment the divided data of the new data specified as difference data a portion corresponding to the difference data in the usage data Ru is updated with the differential data in preparative
Data update apparatus according to claim and this.
前記機器構成管理ファイルは、特定の機器を識別する機器名に対応付けて、特定の機器から1回あたりにイレースするデータのサイズを示すイレース単位サイズを含み、The device configuration management file includes an erase unit size indicating the size of data to be erased from a specific device at one time in association with a device name for identifying the specific device.
前記使用データ分割部は、前記選択機器名に対応付けられた書き込み単位サイズと、前記特定機器名に対応付けられた書き込み単位サイズと、前記選択機器名に対応付けられたイレース単位サイズと、前記特定機器名に対応付けられたイレース単位サイズと、の公倍数であるサイズを前記特定のサイズとして算出し、The use data dividing unit includes a writing unit size associated with the selected device name, a writing unit size associated with the specific device name, an erase unit size associated with the selected device name, Calculate the size which is a common multiple of the erase unit size associated with the specific device name as the specific size,
前記使用データ分割部は、前記使用データを前記特定のサイズで複数の分割データ分割するThe use data dividing unit divides the use data into a plurality of divided data with the specific size.
ことを特徴とする請求項1記載のデータ更新装置。The data updating apparatus according to claim 1, wherein:
前記データ更新装置は、さらに、
所定のハッシュ関数により前記使用データの分割データ毎にハッシュ値をCPUを用いて算出する使用データハッシュ値算出部と、
前記ハッシュ関数により前記新データの分割データ毎にハッシュ値をCPUを用いて算出する新データハッシュ値算出部とを備え、
前記差分情報生成部は、前記使用データハッシュ値算出部により算出されたハッシュ値と前記新データハッシュ値算出部により算出されたハッシュ値とに基づいて前記差分情報を生成する
ことを特徴とする請求項1または請求項2記載のデータ更新装置。
The data update device further includes:
A use data hash value calculation unit that calculates a hash value for each divided data of the use data using a CPU by a predetermined hash function;
A new data hash value calculation unit that calculates a hash value for each divided data of the new data using the CPU by the hash function;
The difference information generation unit generates the difference information based on the hash value calculated by the use data hash value calculation unit and the hash value calculated by the new data hash value calculation unit. The data update device according to claim 1 or 2 .
前記差分情報生成部は、前記使用データの分割データ毎に当該使用データの分割データとデータの並び順が対応する新データの分割データと同じであるか否かを1ビットで表して前記差分情報を生成する
ことを特徴とする請求項1〜請求項いずれかに記載のデータ更新装置。
The difference information generation unit represents, for each divided data of the use data, whether or not the divided data of the use data and the data arrangement order are the same as the divided data of the new data corresponding to the one bit. generating a data updating apparatus according to any one of claims 1 to 3, characterized in.
データ記憶部と、使用データ分割部と、新データ分割部と、差分情報生成部と、差分データ入力部とを備えるデータ更新装置のデータ更新方法であって、
前記データ記憶部は、複数の特定の機器で使用されている1つ以上の使用データと、前記1つ以上の使用データとは少なくとも一部が異なる新データと、機器構成管理ファイルとを記憶媒体を用いて記憶する記憶部であり、
前記機器構成管理ファイルは、特定の機器を識別する機器名と、特定の機器で使用されている使用データのバージョンと、特定の機器に1回あたりに書き込むデータのサイズを示す書き込み単位サイズと、を対応付けるファイルであり、
前記使用データ分割部が、前記機器構成管理ファイルに含まれる機器名のうちいずれかの機器名を選択機器名として選択し、前記機器構成管理ファイルに含まれる機器名のうち前記選択機器名に対応付けられたバージョンと同じバージョンに対応付けられた機器名を特定機器名として特定し、
前記使用データ分割部が、前記選択機器名に対応付けられた書き込み単位サイズと、前記特定機器名に対応付けられた書き込み単位サイズとの公倍数であるサイズを特定のサイズとして算出し、
前記使用データ分割部が、前記データ記憶部に記憶された使用データのうち前記選択機器名に対応付けられたバージョンと同じバージョンの使用データを前記特定のサイズで複数の分割データにCPU(Central Processing Unit)を用いて分割し、
前記新データ分割部が、前記使用データとは少なくとも一部が異なる新データを前記特定のサイズで複数の分割データにCPUを用いて分割し、
前記差分情報生成部が、前記使用データの分割データ毎に当該使用データの分割データと、当該使用データの分割データとデータの並び順が対応する新データの分割データと同じであるか否かを示す情報を差分情報としてCPUを用いて生成し、
前記差分データ入力部が、前記差分情報生成部により生成された差分情報に基づいて新データの複数の分割データのうちデータの並び順が対応する使用データの分割データと異なる新データの各分割データをCPUを用いて特定し、特定した新データの各分割データを差分データとして前記選択機器名で識別される選択機器と前記特定機器名で識別される特定機器とに入力して前記選択機器と前記特定機器とに前記使用データ内の前記差分データに対応する部分を前記差分データで更新させる
ことを特徴とするデータ更新装置のデータ更新方法。
A data updating method for a data updating device comprising a data storage unit, a used data dividing unit, a new data dividing unit, a difference information generating unit, and a difference data input unit,
The data storage unit stores one or more usage data used in a plurality of specific devices, new data at least partially different from the one or more usage data, and a device configuration management file. A storage unit for storing using
The device configuration management file includes a device name that identifies a specific device, a version of use data that is used by the specific device, a write unit size that indicates the size of data to be written to the specific device once, Is a file that associates
The usage data dividing unit selects one of the device names included in the device configuration management file as a selected device name, and corresponds to the selected device name among the device names included in the device configuration management file Specify the device name associated with the same version as the assigned version as the specific device name,
The use data dividing unit calculates a size that is a common multiple of a writing unit size associated with the selected device name and a writing unit size associated with the specific device name as a specific size,
The usage data division unit, CPU (Central Processing usage data of the same version as the version associated with the selected device name into a plurality of divided data with the particular size of the usage data stored in the data storage unit Unit),
The new data dividing unit divides new data at least partially different from the use data into a plurality of divided data with the specific size using a CPU,
The difference information generating unit, wherein the data segment of the usage data for each data segment of the usage data, whether order of divided data and data of the usage data is the divided data of the new data corresponding the same Is generated using the CPU as the difference information,
The differential data input unit, the difference information divided data divided data different from the new data using the data arrangement order of the data among the plurality of divided data of the new data corresponding based on the difference information generated by the generating unit were identified using a CPU, a said selected device to enter into a specific device identified by the specified equipment name select device identified by the selected device name of each data segment of new data identified as difference data A data updating method for a data updating apparatus, comprising causing the specific device to update a portion corresponding to the difference data in the usage data with the difference data.
請求項記載のデータ更新方法をコンピュータに実行させるデータ更新プログラム。 A data update program for causing a computer to execute the data update method according to claim 5 .
JP2009053795A 2009-03-06 2009-03-06 Data update device, data update method for data update device, and data update program Expired - Fee Related JP5225163B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009053795A JP5225163B2 (en) 2009-03-06 2009-03-06 Data update device, data update method for data update device, and data update program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009053795A JP5225163B2 (en) 2009-03-06 2009-03-06 Data update device, data update method for data update device, and data update program

Publications (2)

Publication Number Publication Date
JP2010211295A JP2010211295A (en) 2010-09-24
JP5225163B2 true JP5225163B2 (en) 2013-07-03

Family

ID=42971429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009053795A Expired - Fee Related JP5225163B2 (en) 2009-03-06 2009-03-06 Data update device, data update method for data update device, and data update program

Country Status (1)

Country Link
JP (1) JP5225163B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7046768B2 (en) 2018-09-20 2022-04-04 株式会社デンソーアイティーラボラトリ Information estimation device and information estimation method
JP7442964B2 (en) 2018-09-26 2024-03-05 キヤノンメディカルシステムズ株式会社 Medical information collection system and medical information collection device
JP7468155B2 (en) 2020-05-29 2024-04-16 セイコーエプソン株式会社 Method, apparatus and computer program

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101341003B1 (en) 2011-11-21 2013-12-12 웹싱크 주식회사 Method of updating firmware and apparatus for the same
JP2018160208A (en) * 2017-03-24 2018-10-11 日立オートモティブシステムズ株式会社 On-vehicle controller and program update software
JP7013918B2 (en) * 2018-02-16 2022-02-01 トヨタ自動車株式会社 Vehicle control device, program update method and program
KR102254146B1 (en) * 2018-08-16 2021-05-21 주식회사 페스카로 Method, system and computer program for updating firmware of ecu
CN110413441A (en) * 2019-06-18 2019-11-05 平安科技(深圳)有限公司 Active and standby storage volume synchrodata method of calibration, device, equipment and storage medium
WO2023175752A1 (en) * 2022-03-16 2023-09-21 日立Astemo株式会社 Onboard program update system and onboard program update method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240632A (en) * 1997-02-27 1998-09-11 Nippon Telegr & Teleph Corp <Ntt> On-line exchange method for external storage device
JP2001333461A (en) * 2000-05-23 2001-11-30 Hitachi Building Systems Co Ltd Method for remote rewrite of terminal program
JP2004086771A (en) * 2002-08-28 2004-03-18 Ntt Data Corp Processing apparatus, processing method, and program
JP2005141457A (en) * 2003-11-06 2005-06-02 Konica Minolta Business Technologies Inc Program updating system
EP1533695B1 (en) * 2003-11-19 2013-08-07 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating data in a mobile terminal
JP4804101B2 (en) * 2005-10-19 2011-11-02 京セラミタ株式会社 Firmware update method and information processing apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7046768B2 (en) 2018-09-20 2022-04-04 株式会社デンソーアイティーラボラトリ Information estimation device and information estimation method
JP7442964B2 (en) 2018-09-26 2024-03-05 キヤノンメディカルシステムズ株式会社 Medical information collection system and medical information collection device
JP7468155B2 (en) 2020-05-29 2024-04-16 セイコーエプソン株式会社 Method, apparatus and computer program

Also Published As

Publication number Publication date
JP2010211295A (en) 2010-09-24

Similar Documents

Publication Publication Date Title
JP5225163B2 (en) Data update device, data update method for data update device, and data update program
US9928167B2 (en) Information processing system and nonvolatile storage unit
JP5640845B2 (en) Storage system, storage control device, and storage control method
JP5017462B2 (en) Information processing apparatus and removable media management method
JP5420814B2 (en) Storage system having scheme for invalidating data stored in buffer memory and computing system including the same
US20120233523A1 (en) Programmable Data Storage Management
JP2008537192A (en) How to manage copy operations in flash memory
JP2016509309A5 (en)
CN101271383A (en) Data processing system operating method, method and computer program product
TW201241623A (en) Handling dynamic and static data for a system having non-volatile memory
JP2014126989A (en) Control device, control method, and program
JP2007280108A (en) Storage medium controller, storage medium control method, and program
TW201945975A (en) Method and apparatus for data encryption using a standardized data storage and retrieval protocol
JPWO2020075303A1 (en) Software verification device, software verification method and software verification program
KR100746036B1 (en) Apparatus and method for controlling flash memory
EP2998903B1 (en) System and method for robust full-drive encryption
KR20100121389A (en) Storage device based on a flash memory and user device including the same
JP6307962B2 (en) Information processing system, information processing method, and information processing program
KR100941368B1 (en) Flash memory device having secure file deletion function and method for securely deleting flash file
JP2015053075A (en) Memory system, information processing device, and storage device
US20170076073A1 (en) License information management device, license information management method, and program
JP5458938B2 (en) Information processing apparatus, information processing program, and information processing method
KR101648262B1 (en) Method for managing encrypted files based on password with secure file deleting function suitable for ssd and system for managing encrypted files using the same
JP6045707B2 (en) License management apparatus, license management method, and program
TWI668636B (en) Update method for server firmware

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130121

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: 20130212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130312

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees