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 PDFInfo
- 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
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
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.
上記特許文献1に記載されている方式では、上記管理サーバから、LANに接続されている上記組み込み機器へ上記F/Wイメージ全体を送信し、上記組み込み機器内の不揮発性メモリに上記F/Wイメージ全体を書き込んでいた。また、上記不揮発性メモリへデータを書き込むために上記不揮発性メモリのイレースが必要な場合、上記不揮発性メモリ上の更新前のF/Wのイレースを行ってから、上記F/Wイメージ全体を書き込んでいた。
この方式では、上記不揮発性メモリに書き込まれている上記更新前のF/Wに新しいF/Wと同じバイト列が存在した場合、当該箇所に同じバイト列を書き込む。上記イレースが必要な不揮発性メモリを内蔵している組み込み機器の場合、当該箇所のイレースを行ってから上記同じバイト列を書き込む。
このような方式でのF/Wの更新は、不揮発性メモリのイレース、F/Wイメージの書き込みに冗長な時間がかかる。また、不揮発性メモリへのアクセス回数が冗長となり、不揮発性メモリの寿命を早める。
In the method described in
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(ファームウェア)を新しいバージョンのファームウェアに更新するF/W更新システムについて説明する。但し、F/Wは更新対象データの一例である。
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
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 /
Each embedded device is connected to the
組み込み機器の台数は、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
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 /
The F /
組み込み機器A301と組み込み機器B302とには、旧バージョン(例えば、バージョン「V1」)のF/Wが組み込まれているものとする。以下、組み込み機器A301と組み込み機器B302とに組み込まれて使用されているF/Wを「更新前F/W(1)391」という。
組み込み機器C303と組み込み機器D304とには、更新前F/W(1)391より新しいバージョン(例えば、バージョン「V2」)の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より新しいバージョン(例えば、バージョン「V3」)のF/Wである。新しいF/W291と各更新前F/Wとは少なくともデータの一部が異なる。新しいF/W291のデータサイズと各更新前F/Wのデータサイズとは同じであっても異なっても構わない。
The
The personal
The personal computer
The new F /
図2は、実施の形態1におけるパソコン側ツール210の構成図である。
実施の形態1におけるパソコン側ツール210の構成について、図2に基づいて以下に説明する。
FIG. 2 is a configuration diagram of the personal
The configuration of the personal
パソコン側ツール210は、ツール制御部211、更新前F/Wハッシュファイル作成部212(使用データ分割部、使用データハッシュ値算出部の一例)、新F/Wハッシュファイル作成部213(新データ分割部、新データハッシュ値算出部の一例)、差分情報ファイル作成部214(差分情報生成部の一例)、差分データ出力部215(差分データ入力部の一例)およびパソコン側通信部219を備える。
The PC-
パソコン側記憶部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 /
Each “˜file” will be described later.
ツール制御部211は、パソコン側ツール210の各「〜部」をCPUを用いて制御する。
The
パソコン側通信部219は、各組み込み機器と通信する通信装置である。
例えば、パソコン側通信部219は、新しいF/W291や差分情報ファイル294を含んだコマンド110を各組み込み機器へ送信する。また例えば、パソコン側通信部219は、各組み込み機器から更新前F/Wを受信する。
The personal computer
For example, the personal computer
更新前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
The pre-update F / W hash
例えば、更新前F/Wハッシュファイル作成部212は、組み込み機器A301により更新前F/W(1)391に対して1回あたりに書き込まれるデータのサイズとして予め定められた書き込み単位サイズWAと、組み込み機器B302により更新前F/W(1)391に対して1回あたりに書き込まれるデータのサイズとして予め定められた書き込み単位サイズWBとの公倍数となるサイズをブロックサイズとして更新前F/W(1)391を分割する。
同様に、更新前F/Wハッシュファイル作成部212は、組み込み機器C303により更新前F/W(2)392に対して1回あたりに書き込まれるデータのサイズとして予め定められた書き込み単位サイズWCと、組み込み機器D304により更新前F/W(2)392に対して1回あたりに書き込まれるデータのサイズとして予め定められた書き込み単位サイズWDとの公倍数となるサイズをブロックサイズとして更新前F/W(2)392を分割する。
For example, before update F / W hash
Similarly, the pre-update F / W hash
また例えば、更新前F/Wハッシュファイル作成部212は、書き込み単位サイズWAと、書き込み単位サイズWBと、組み込み機器A301により更新前F/W(1)391に対して1回あたりにイレースされるデータのサイズとして予め定められたイレース単位サイズEAと、組み込み機器B302により更新前F/W(1)391に対して1回あたりにイレースされるデータのサイズとして予め定められたイレース単位サイズEBとの公倍数となるサイズをブロックサイズとして更新前F/W(1)391を分割する。
同様に、更新前F/Wハッシュファイル作成部212は、書き込み単位サイズWCと、書き込み単位サイズWDと、組み込み機器C303により更新前F/W(2)392に対して1回あたりにイレースされるデータのサイズとして予め定められたイレース単位サイズECと、組み込み機器D304により更新前F/W(2)392に対して1回あたりにイレースされるデータのサイズとして予め定められたイレース単位サイズEDとの公倍数となるサイズをブロックサイズとして更新前F/W(2)392を分割する。
イレースとは、データの削除、初期値の設定やメモリ領域の初期化を意味する。
Further, for example, before update F / W hash
Erase Similarly, before update F / W hash
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
新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
Further, the new F / W hash
差分情報ファイル作成部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
For example, the difference information
Further, for example, the difference information
差分データ出力部215は、差分情報ファイル294に基づいて、新しいF/W291の複数の分割データのうち、データの並び順が対応する更新前F/Wの分割データと異なる各分割データをCPUを用いて特定する。
さらに、差分情報ファイル作成部214は、特定した新しいF/W291の各分割データを差分データとしてパソコン側通信部219を用いて特定の組み込み機器に送信する。
Based on the difference information file 294, the difference
Further, the difference information
図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
In FIG. 3, a
通信ボード915は、有線または無線で、LAN、インターネット、電話回線などの通信網を介して(または、直接)、各組み込み機器に接続している。
The
磁気ディスク装置920には、OS921(オペレーティングシステム)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
The
プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラムは、CPU911により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
The
ファイル群924には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
The
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。 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
The personal
The personal
図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 /
The personal
The F /
図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
ツール制御部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
The
The
The
The personal computer
The difference
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
The processing from S110 to S119 described later is looped.
For example, the
図8は、実施の形態1における機器構成管理ファイル299の構成を示す図である。
実施の形態1における機器構成管理ファイル299について、図8に基づいて以下に説明する。
FIG. 8 is a diagram showing the configuration of the device
The device
機器構成管理ファイル299には「組み込み機器」「F/Wのバージョン」「イレース単位サイズ」「書き込み単位サイズ」がシステム管理者により予め設定されている。
In the device
「組み込み機器」は、各組み込み機器の識別情報(例えば、名称)を示す。
「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
In addition, the
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
The pre-update F /
当該更新前F/Wハッシュファイル292が有る場合、処理はS112に進み、当該更新前F/Wハッシュファイル292が無い場合、処理はS120に進む。
If the pre-update F /
初回のループ時(選択機器は「組み込み機器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 /
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 /
In the third loop (the selected device is “embedded device C303”), since there is no pre-update F /
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 /
<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
The pre-update F /
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
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は「EA」「WA」「EB」「WB」の最小公倍数をブロックサイズとして算出する(図8参照)。
<S122>
Based on the device
A selection device is "embedded device A301", when a particular device is a "embedded device B302", before update F / W hash
ブロックサイズは「書き込み単位サイズ」と「イレース単位サイズ」との公倍数であれば最小公倍数でなくても構わない。さらに、イレースが不要であれば、ブロックサイズは「書き込み単位サイズ」の公倍数であれば構わない。
但し、ブロックサイズが大きくなるに従い、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
After S123, the process proceeds to S124.
<S124>
更新前F/Wハッシュファイル作成部212は、所定のハッシュ関数を用いて、S123で得られた複数のブロックそれぞれについてハッシュ値を算出する。
同一のハッシュ関数を用いて算出されたハッシュ値が同じである2つのデータは同じデータである。
ハッシュ関数は、処理速度を速めるために計算量とハッシュ長とが小さければ小さいほど良い。
S124の後、処理はS125に進む。
<S124>
The pre-update F / W hash
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
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
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 /
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
A new F /
当該新F/Wハッシュファイル293が有る場合、処理はS113に進み、当該新F/Wハッシュファイル293が無い場合、処理はS130に進む。
If the new F /
初回のループ時(選択機器は「組み込み機器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 /
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 /
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 /
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 /
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 /
<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
The new F /
図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
Then, the new F / W hash
図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
The difference information file 294 is created for each combination of the pre-update F /
当該差分情報ファイル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 /
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 /
図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 /
First, the difference information
Next, the difference information
Similarly, the difference information
前述の通り、同一のハッシュ関数を用いて算出されたハッシュ値が同じである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 /
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 /
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 /
図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
The
The erase request command is a
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 /
図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 /
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 /
The erase unit size is a data size per time that the F /
図13において、F/W更新タスク310は、差分情報ファイル294の先頭ビット(1ビット目)が「0」であるため、更新前F/Wの第1ブロックをイレースしない。
また、F/W更新タスク310は、差分情報ファイル294の2ビット目が「1」であるため、更新前F/Wの第2ブロックをイレース単位サイズずつイレースする。
In FIG. 13, the F /
Further, since the second bit of the difference information file 294 is “1”, the F /
図中の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 /
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 /
The processing from S152 to S157 described later is looped.
The F /
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 /
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 /
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
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
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 /
S155 and later-described S156 are loop-processed.
When the erase unit size is “3 bytes”, the F /
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 /
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 /
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
図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 /
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 /
The write unit size is a data size per time that the F /
図15において、パソコン側ツール210は、差分情報ファイル294の先頭ビット(1ビット目)が「0」であるため、新しいF/W291の第1ブロックを送信しない。
また、パソコン側ツール210は、差分情報ファイル294の2ビット目が「1」であるため、新しいF/W291の第2ブロックを書き込み単位サイズずつ読み込んで送信する。
In FIG. 15, the personal
Further, since the second bit of the difference information file 294 is “1”, the personal
組み込み機器のF/W更新タスク310は、F/W更新タスク310により送信された各差分データを更新前F/Wの対応領域に書き込む(S164)。
The F /
図中の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
The processing from S161 to S166 described later is looped.
The difference
If the first bit (first bit) of the difference information file 294 is “1”, the first block (first block) of the new F /
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
The processing from S162 to S165 described later is looped.
When the write unit size is “4 bytes”, the difference
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
The differential
The write request command is a
After S163, the process proceeds to S164.
<S164>
選択機器のF/W更新タスク310は、差分単位データと書き込み領域情報とを含んだ書き込み要求コマンドを受信し、差分単位データを更新前F/Wの書き込み領域に書き込む。
S164の後、処理はS165に進む。
<S164>
The F /
After S164, the process proceeds to S165.
<S165>
差分データ出力部215は、S162において差分特定ブロックのデータを全て読み込んだ場合に差分特定ブロックの処理を完了したと判定し、S162において差分特定ブロックから読み込んでいないデータがある場合に差分特定ブロックの処理を完了していないと判定する。
差分特定ブロックの処理を完了した場合(YES)、処理はS165に進む。
差分特定ブロックの処理を完了していない場合(NO)、処理はS162に戻る。
<S165>
The difference
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
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
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 /
(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
(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 /
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.
前記使用データ分割部は、前記選択機器名に対応付けられた書き込み単位サイズと、前記特定機器名に対応付けられた書き込み単位サイズと、前記選択機器名に対応付けられたイレース単位サイズと、前記特定機器名に対応付けられたイレース単位サイズと、の公倍数であるサイズを前記特定のサイズとして算出し、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〜請求項3いずれかに記載のデータ更新装置。 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.
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)
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)
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)
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 |
-
2009
- 2009-03-06 JP JP2009053795A patent/JP5225163B2/en not_active Expired - Fee Related
Cited By (3)
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 |