JP2011044087A - ファームウェア更新システム、及び情報機器、並びにプログラム - Google Patents

ファームウェア更新システム、及び情報機器、並びにプログラム Download PDF

Info

Publication number
JP2011044087A
JP2011044087A JP2009193235A JP2009193235A JP2011044087A JP 2011044087 A JP2011044087 A JP 2011044087A JP 2009193235 A JP2009193235 A JP 2009193235A JP 2009193235 A JP2009193235 A JP 2009193235A JP 2011044087 A JP2011044087 A JP 2011044087A
Authority
JP
Japan
Prior art keywords
update
data
firmware
processing
block
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.)
Granted
Application number
JP2009193235A
Other languages
English (en)
Other versions
JP5346253B2 (ja
Inventor
Nobuyuki Ohama
伸之 大浜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2009193235A priority Critical patent/JP5346253B2/ja
Priority to EP10811738.3A priority patent/EP2362312B1/en
Priority to CN201080002439.8A priority patent/CN102132258B/zh
Priority to PCT/JP2010/063934 priority patent/WO2011024688A1/ja
Priority to US13/120,219 priority patent/US8726262B2/en
Publication of JP2011044087A publication Critical patent/JP2011044087A/ja
Application granted granted Critical
Publication of JP5346253B2 publication Critical patent/JP5346253B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】更新中断時の復旧と、バックアップおよび差分データ保存に使われる不揮発性メモリ容量の節約を、同時に実現することができるファームウェア更新処理を提供する。
【解決手段】新旧ファームウェアの他に、書き換え中のファームウェアの状態を常に保持する中間データを備え、ファームウェアを構成するすべてのブロックを任意の順番で更新する場合について、前期中間データと新しいファームウェアの該ブロックを逐次比較し、更新中断時の復旧のためのデータのアドレスとそれに必要なバックアップ容量の計算と、配布すべき差分データ抽出とその容量の計算と更新手順の作成を行い、バックアップ容量と差分データ容量の合計が最小となる処理順序を導き出す。
【選択図】図2

Description

本発明は、ファームウェア更新システム、及びその一部を構成する情報機器であって、例えば、組込み機器分野でNOR型フラッシュメモリ等の不揮発性メモリに格納されているファームウェアを書き換える技術に関するものである。
家電分野では、Read-Onlyなファイルシステムが多用されているため、ファイルシステムの機能を利用したファイル単位の書き込みは不可能である。そのため、ファームウェアを更新する際は、ファームウェアのイメージを書き換える必要がある。ファームウェアイメージは、一般に、サイズが大きいため、ファームウェアを更新する場合、イメージ全体を配信するのではなく、差分のみを抽出・配信する方法が利用される。
差分を抽出する手法として、新旧ファームウェアイメージ全体同士を、バイト単位で比較し、差分を抽出するイメージ全体比較法がある(例えば、非特許文献1参照)。イメージ全体比較法では、情報機器側で差分から新イメージを作る場合、旧イメージ全体が必要であるため、更新中断時の復旧のためには、旧イメージ全体のバックアップが必要である。書き換えてしまった旧データはRAM上に残っていないので、旧イメージを復旧させるためにはその全体のバックアップを取っておく必要があるからである。
また、ファームウェアイメージとその全体のバックアップを保持する方法もある(例えば、特許文献1参照)。
さらに、更新中断時に復旧できる形にファームウェアイメージの差分を抽出する手法として、新旧のイメージを構成する各ブロック(ファームウェアを格納する不揮発性メモリのブロックに対応)同士をブロック単位で比較し、一致しないブロックのデータを配布すべき差分データに追加するという、分割ブロック比較法がある。この方法で差分を適用する場合、書き換え対象のブロックをバックアップする。
特開平11−110218号公報
xdelta: URL=http://xdelta.org/
しかしながら、非特許文献1に記載されているイメージ全体比較法では、差分データのサイズは小さくなるものの、更新中断時に復帰するために必要なバックアップは旧イメージ全体となるのでサイズが大きくなってしまう。
また、分割ブロック比較法では、更新中断時に復帰するためのバックアップは書き換え中のブロックのみで済むが、旧イメージ内に書き換え対象のデータと同一のデータが他のブロックに存在する場合でもそれとは別にバックアップを取るため、不揮発性メモリの無駄が発生してしまう。また、ブロック単位でしか比較しないため、差分データが大きくなってしまう。
本発明はこのような状況に鑑みてなされたものであり、不揮発メモリにおいて、更新中断時に復旧するために必要なバックアップ領域と差分データの保存領域との合計サイズを小さくして効率よくかつ廉価にファームウェア更新を実行することのできる技術を提供するものである。
上記課題を解決するために、本発明によるファームウェア更新システムは、ファームウェア更新用データを生成する管理装置と、ファームウェア更新用データを取得して旧ファームウェアを新ファームウェアに更新する情報機器と、を備えている。管理装置は、旧ファームウェア及び新ファームウェアのデータから差分データを生成し、情報機器において旧ファームウェア及び差分データから新ファームウェアを生成するための更新処理を記述する更新手順書を生成し、情報機器における更新処理が中断した場合に更新処理途中のデータを更新処理開始前の状態に戻す処理(書き戻し処理)を実行するための情報を記述する書き戻し参照情報(書き戻し元アドレステーブル)を生成する。ファームウェア更新用データ(配布パッケージ)は、ブロック単位で更新処理するためのデータとして生成される。
管理装置は、複数のブロックを更新処理するための順番を示す処理順序を複数種類用意し、各処理順序について、旧ファームウェアから新ファームウェアに書き換え中の各ブロックの状態を示す中間データを生成し、新ファームウェア及び前記中間データを用いてブロック単位でバックアップの必要性及び差分データ抽出の必要性をチェックする。また、管理装置は、バックアップの必要性及び差分データ抽出の必要性に関するチェック結果に基づいて、複数の処理順序の中でバックアップに必要な容量と差分データ格納に必要な容量の合計値が最小となる処理順序を特定する。この特定された処理順序が更新手順書に記述される。より具体的には、管理装置は、中間データ内において処理対象のブロックとそれ以外のブロックとを比較し、一致するか否かによって前記バックアップの必要性をチェックし、新ファームウェア内の処理対象のブロックと中間データの全ブロックとを比較し、一致するか否かによって差分データ抽出の必要性をチェックする。
なお、管理装置は、書き戻し処理を実行する際のデータの参照位置及びサイズをブロックのサイズより小さい単位で指示して複数の位置から前記書き戻し処理のデータを取得できるように、書き戻し参照情報を記述するようにしてもよい。また、管理装置は、更新処理を実行する際のデータの参照位置及びサイズをブロックサイズより小さい単位で指示して複数の位置から更新処理のデータを取得できるように、更新手順書の更新手順を記述するようにしてもよい。
一方、情報機器は、更新手順書の処理手順に対応させて、ブロック単位で、バックアップが終了したことを示す情報、及び更新処理が終了したことを示す情報を含む更新状況を管理する。
また、情報機器は、処理中断が起こった場合、更新状況を確認してどの処理手順に従って処理していたときに中断が発生したか特定し、更新手順書を参照して特定された処理手順によって処理途中であったブロックを特定し、書き戻し参照情報を確認し、特定された処理途中のブロックについてデータ書き戻し処理を実行して当該ブロックを更新処理開始前の状態にする。
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
本発明によれば、バックアップデータや差分データ保存に使われる不揮発性メモリ容量の節約をしながら、更新中断時の復旧を実現することができるようになる。
中断が対象データのブロック書き換え中であった場合は、該当ブロックを元に書き戻して更新再開するという第4のポリシーの必要性を示すための図である。 本発明の実施形態によるファームウェア更新システムの概略構成を示す図である。 管理装置における差分抽出処理の概略を説明するためのフローチャートである。 バックアップの必要性調査処理の詳細を説明するためのフローチャートである。 差分配布(抽出)必要性調査処理の詳細を説明するためのフローチャートである。 バックアップ及び差分配布(抽出)の必要性調査処理(図4及び5)の例であって、所定の処理順序で処理した場合の例を示す図である。 バックアップ及び差分配布(抽出)の必要性調査処理(図4及び5)の例であって、図6Aとは異なる処理順序で処理した場合の例を示す図である。 書き戻し元アドレステーブルの例を示す図である。 更新手順書の例を示す図である。 更新状況の例を示す図である。 情報機器における更新処理(復旧処理を含む)を説明するためのフローチャートである。 ブロック単位より小さな単位での操作を可能にするための更新手順と書き戻しアドレステーブルの例を示す図である。
本発明は、組込み機器分野でNOR型フラッシュメモリ等の不揮発性メモリに格納されているファームウェアについて、変更のあった差分データを書き換える際に更新中断が発生したときの復旧と不揮発性メモリ容量の節約の両方を実現する差分抽出・差分適用の方法および装置に関する。
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
<前提条件>
本発明の実施形態は、組込み機器で用いられる不揮発性メモリには、ブロック単位でしか消去できないという制限があるという前提で説明される。よって、ブロックを書き換える際、書き換え後のブロックのデータを揮発性のメモリ内に作った後、それを該当ブロックに書き込むという動作が実行される。
また、本実施形態では、次の4つのポリシーに基づいたファームウェアの更新について説明する。つまり、
第1のポリシー:バックアップ領域は最大1ブロックとすること、
第2のポリシー:バックアップ領域は各ブロックの書き換え終了時にクリアすること、
第3のポリシー:差分データは最後まで保存すること、
第4のポリシー:中断が対象データのブロック書き換え中であった場合は、該当ブロックを元に書き戻して更新再開すること、
である。なお、第4のポリシーは、図1のように書き換え対象ブロックの一部のデータが、書き換えのために必要な場合があるためである。以後この場合を自己参照と呼ぶこととする。図1は、第4のポリシーの必要性を示すための自己参照がある場合の例を示す図である。
<ファームウェア更新システムの構成>
図2は本発明の実施形態によるファームウェア更新システムの概略構成を示す図である。実施形態によるファームウェア更新システムは、管理装置1と、配布装置2と、少なくとも1つの情報機器3と、を備えている。
管理装置1は、CPU11A及びメモリ11Bを有する端末部11と、通信ポート12と、外部記憶装置13と、を備えている。外部記憶装置13は不揮発性メモリで構成され、差分抽出手段13Aと、転送手段13Bと、旧データ格納部13Cと、新データ格納部13Dと、更新途中の不揮発性メモリの状態を常時保持するためのデータ(書き換え途中のデータの様子、つまりファームウェアの書き換え途中の状態を示すデータ)である中間データ格納部13Eと、不揮発メモリの各ブロックのデータが未処理(0)か処理中(−1)か処理済(1)かを記録するための処理状況テーブル13Fと、バックアップ必要性テーブル13Gと、差分を抽出して配布すべきデータであるかを示す差分配布必要性テーブル13Hと、差分データ格納部13Iと、更新手順格納部13Jと、書き戻し元アドレステーブル13Kと、を備えている。
配布装置2は、CPU21A及びメモリ21Bを有する端末部21と、通信ポート22と、外部記憶装置23と、を備えている。外部記憶装置23は不揮発性メモリで構成され、転送手段23Aと、配布パッケージ23Bと、を備えている。
情報機器3は、CPU31A及びメモリ31Bを有する端末部31と、通信ポート32と、外部記憶装置33と、を備えている。外部記憶装置33は不揮発性メモリで構成され、情報機器3の起動時に最初に実行されるブートブロック3301と、通常利用される通常ファームウェアブロック3302と、ファームウェアの更新時に利用される更新用ファームウェアブロック3303と、ファームウェア更新時に利用される差分データ保存ブロック3304と、ファームウェア更新時に利用されるバックアップブロック3305と、を備えている。
ブートブロック3301には、本装置起動時最初に実行されるブートローダ3301Aと、次回起動時にロードするファームウェア(具体的には、次回に3302Aと3303Aのどちらを起動させるか)を識別する起動設定情報3301Bが格納されている。ブートローダ3301Aは、起動後、通常ファームウェアブロック3302もしくは更新用ファームウェアブロック3303のいずれかを読み込む。いずれを読み込むかは、起動設定情報3301Bに従う。起動設定情報3301Bは、更新の必要性が生じた場合に、通常ファームウェアブロックから、更新用ファームウェアブロック3303に切り替えられ、更新が無事終了すると、通常ファームウェアブロックに戻される。なお、更新の必要性は、例えば、配布装置2から情報機器3に更新が指示された場合、若しくは、情報機器3が定期的に配布装置2にファームウェアのバージョンを確認し、新しいバージョンとなっていた場合に、更新必要と判断するようにすれば良い。
通常ファームウェアブロック3302には、通常基盤ソフトウェア3302A及び通常応用ソフトウェア3302Bが保存される。
更新用ファームウェアブロック3303には、更新用基盤ソフトウェア3303A及び更新プログラム(更新処理部)3303Bが保存される。
差分データ保存ブロック3304には、現在のファームウェアと新しいファームウェアの差分である差分データ3304Aと、更新手順を記録する更新手順3304Bと、更新の中断から復旧する際、書き換え中のデータ領域にあった古いデータを書き戻す際に利用する書き戻し元アドレステーブル3304Cと、該更新手順の中のどの部分まで終了しているかを表す更新手順実行終了位置を記録するための更新状況3305Dとが保存される。
<差分抽出処理の全体概要>
図3は、管理装置1における差分抽出処理の全体を説明するためのフローチャートである。なお、差分抽出処理は、例えば、新しいファームウェアが管理装置1に入力されたときに実行される。また、CPU11Aが差分抽出手段13Aを介して(両者が協働して)当該差分抽出処理を実行することになるが、以下では、差分抽出手段13Aを動作主体として説明する。
まず、差分抽出手段13Aは、次の書き換えブロック順序を決定する(ステップ201)。この書き換えブロック順序とは書き換えるべきブロックが複数ある場合の書き換えの順序を示す。例えば、不揮発性メモリが3つのブロックから構成されているとすると、1→2→3、2→3→1、・・・、3→2→1の順での書き換え処理について検討される。従って、ステップ201では、これら複数の書き換え順序のうち、当該ループではどの順序で検討するか決定される。
差分抽出手段13Aは、決定した順序に従い、次に処理対象のブロックを1つ進めて、処理状況テーブルを更新する(ステップ202)。例えば、2→3→1の順で処理している場合、前回ブロック2を処理したとすると、今回の処理対象をブロック3とされる。
次に、差分抽出手段13Aは、中間データを更新する(ステップ203)。ここで、中間データとは、更新途中の不揮発性メモリの状態を常時保持するためのデータである。つまり、ステップ203では、該当ブロックを新データから取得し、中間データにコピーされる(例えば、図6参照)。
また、差分抽出手段13Aは、該当ブロックデータについてバックアップの必要性調査を行なう(ステップ204)。さらに、差分抽出手段13Aは、該当ブロックデータについて差分配布の必要性調査を行なう(ステップ205)。バックアップ必要性調査及び差分配布必要性調査の処理の詳細は、図4及び5を用いてそれぞれ後述する。
続いて、差分抽出手段13Aは、全部ブロックを処理したか調べ、処理していない場合は、ステップ202に処理を移行させ、処理している場合は、ステップ207に処理を移行させる(ステップ206)。また、差分抽出手段13Aは、全ての書き換えブロック順序を処理したかどうか調べ、処理していない場合は、ステップ201に処理を移行させ、処理している場合は、ステップ208に処理を移行させる(ステップ207)。
そして、差分抽出手段13Aは、バックアップ領域と差分領域の容量の和が最小の書き換え順序を決定する(ステップ208)。例えば、バックアップ領域の容量については、バックアップ必要性テーブルの各レコードのうち最大値を取る。差分領域の容量については、差分必要性テーブルの各レコードの和を取る。この最大値と各レコードの和の合計値が最小となる書き換え順序を更新手順13J内の書き換え順序に決定するが、合計値が同一の順序が複数ある場合は最初に計算した手順が選択されるようにする。
最後に、差分抽出手段13Aは、差分データ13I、更新手順13J、及び書き戻しアドレステーブル13Kをパッケージ化する(ステップ209)。
<バックアップ必要性調査処理の詳細>
図4は、バックアップ必要性調査処理(ステップ204)の詳細を説明するためのフローチャートである。
まず、差分抽出手段13Aは、中間データ中の対象ブロックと、中間データ中のその他の各ブロックと比較し、一致するかチェックする。例えば、図6Aの状態6A−1のブロック1については、C(ブロック1)と、B(ブロック2)及びA(ブロック3)とを比較する。この場合、Cと一致するものがないため、バックアップの必要性はあると判断される。
一致するものがある場合(ステップ401でYES)、バックアップの必要性が無いため、差分抽出手段13Aは、バックアップ必要性テーブルの該レコードに0を記述するとともに、書き換え中のファームウェアデータ中の一致するデータから復旧ができるように、書き戻し元アドレステーブルに記述する(ステップ402)。
一方、一致するものがない場合(ステップ401でNO)、バックアップの必要性があるため、差分抽出手段13Aは、バックアップ必要性テーブルの該レコードにそのブロック数を表す1(本実施形態はブロック単位での書き換えを行う形態であるため)を記述するとともに、バックアップ領域からデータの復旧ができるように、書き戻し元アドレステーブルに記述する(ステップ403)。
<差分配布必要性調査処理の詳細>
図5は、差分配布必要性調査処理(ステップ205)の詳細を説明するためのフローチャートである。
差分抽出手段13Aは、新データ中の対象ブロックと、中間データ中の各ブロックを比較し、一致するか調べる(ステップ501)。例えば、図6Aの状態6A−1のブロック1については、B(新データのブロック1)と、C(中間データのブロック1)、B(中間データのブロック2)及びA(中間データのブロック3)と、を比較する。この場合、新データのブロック1のBと一致するものが中間データのブロック2にあるため、差分配布の必要性なしと判断される。
一致するものがある場合(ステップ501でYES)、差分配布の必要性が無いため、差分抽出手段13Aは、差分配布必要性テーブルの該レコードに0を記述するとともに、更新手順の該レコードに、旧データ中の一致するデータからのコピー命令を記述する(ステップ502)。
一方、一致するものが無い場合(ステップ501でNO)、差分配布の必要性があるため、差分抽出手段13Aは、差分配布必要性テーブルの該レコードにそのブロック数を表す1を記述するとともに、配布した差分データからのコピー命令を記述する(ステップ503)。
<状態遷移の具体例>
図6は、中間データ更新処理(ステップ203)、バックアップ必要性調査処理(ステップ204及び図4)、及び差分配布必要性調査処理(ステップ205及び図5)を実行した場合の状態遷移例を示す図である。
図6Aは、ステップ201において、ブロック1、ブロック2、ブロック3の処理順序とした場合で、状態6A−1、6A−2、6A−3は、それぞれ、ブロック1についてのステップ205の処理直後の状態、ブロック2についてのステップ205の処理直後の状態、ブロック3についてのステップ205の処理直後の状態を表している。また、図6Bは、ブロック2、ブロック1、ブロック3の処理順序とした場合で、状態6B−1、6B−2、6B−3は、それぞれ、ブロック2についてステップ205の処理直後の状態、ブロック1についてのステップ205直後の状態、ブロック3についてのステップ205の処理直後の状態を表している。
なお、ブロックの処理順序として、1→2→3、1→3→2、3→1→2、3→2→1のいずれかの場合、図6に示されるように、バックアップが1、差分容量が1の合計2であるのに対し、2→1→3、または、2→3→1の場合、図6Bに示したように、バックアップが1、差分容量が2の合計3である。このため、前者のうち最初に処理した順序がステップ208で最適な更新順序として選ばれることになる。
本実施形態では、バックアップデータを、該当ブロック処理後消去するという前提であるが、仮にバックアップデータを、該当ブロック処理後消去せず、例えば上記2→1→3または2→3→1の場合でデータBのバックアップをこれらの2つ目のブロックの処理後まで保持していた場合でも、必要なフラッシュメモリ容量は、バックアップが2、差分容量が1の合計3である。
<書き戻し元アドレステーブルの例>
図7は、図6Aの例に対応する書き戻し元アドレステーブルの例を示す図である。書き戻し元アドレステーブルとは、更新中断が発生したときに旧データ若しくはバックアップ領域から書き換え途中のデータを元に戻すために用いられるテーブルである。なお、図6Aの処理手順がブロック1→2→3であるため、図7の書き戻し元アドレステーブルでもブロック番号が1→2→3となっているが、処理手順が異なれば、ブロック番号の順序もそれによって異なってくる。
更新処理中断時に処理対象ブロックのデータ復旧を実現する際には、書き戻し元アドレステーブルにおける、当該処理対象のブロック番号に対応するレコードが参照される。
例えば、図7に示されるように、バックアップ領域のアドレスをFbup_start、ファームウェア領域(旧データ)の第nブロックのアドレスをFdat_n_start、差分データのアドレスをFdlt_startとしている。なお、データのサイズは、ここでは簡単のため、不揮発性メモリのイレースブロックサイズを表すsizeに統一した。
図7では、第1レコードにはバックアップ領域から、第2レコードには書き換え中のファームウェアブロック中から、第3レコードにはバックアップ領域から書き戻すように記述されている。
<更新手順書の例>
図8は、図6Aの例に対応する更新手順書の例を示す図である。図8において、処理手順番号は、行番号と一致する。図8の例では、第1手順は、ファームウェアブロックの第2ブロックの先頭からsize分のデータをコピーする処理を実行させるための命令を示している。第2手順は、差分領域の先頭からsize分のデータをコピーする処理を実行させるための命令を示している。第3手順は、ファームウェアブロックの第1ブロックの先頭からsize分のデータをコピーする処理を実行させるための命令を示している。
<更新状況の例>
図9は、処理手順1が終了し、処理手順2に関してはバックアップ処理までが終わった場合の更新状況を示す更新状況テーブルの例を示す図である。
更新状況の管理方法には、図9A及びBに示す方法がある。つまり、例えば、図9Aのようにファイルに更新手順の各手順の開始時に手順の番号を、バックアップ終了時にそれを表す文字BupEndを記述し、更新処理終了時に終了を表す文字ENDをファイルに記述するか、若しくは、図9Bのように、バックアップ用ログ領域(B−1)と更新手順の各レコードの終了用のログ領域(B−2)に分ける方法である。
図9Bの場合、バックアップ用ログ(B−1)は、更新手順の各レコード開始時に0クリアしておき、バックアップ終了時に1を記述する。従って、バックアップ用ログ領域(B−1)には、現在更新処理中のブロックがバックアップ完了であることを示す「1」のみが表示されることになる。そして、更新状況用ログ(B−2)は、更新状況を記録するブロックを設け、最初はすべて0の状態から始め、処理が終われば、上位バイトから数えて該当する処理手順番号と一致する位置のバイトについて「0」が「1」に書き換えられる。
例えば、処理中断(例えば電源OFF)が発生した場合、図9を見ると処理手順2の更新途中であったことが分かる。そして、更新手順(図8)の該当行(処理手順2)を参照し、処理先(コピー先或いは追加先)をチェックして処理対象のブロック番号を確認する。この場合、Fdat_2_startなのでブロック2となっている。よって、書き戻し元アドレスは、図7を参照して、(Fdat_1_start size)であることが分かる。
<更新処理の内容>
図10は、情報機器3において実行される、中断からの復旧処理を含めた更新処理を説明するためのフローチャートである。なお、CPU31Aが更新プログラム3303Bを介して(両者が協働して更新処理部を構成する)当該更新処理を実行することになる。以下では、更新プログラム3303Bを動作主体として説明する。
まず、更新プログラム3303Bは、更新状況テーブル(図9)を参照して更新状況が全て空かどうか調べる(ステップ1101)。更新状況テーブルが空でなければ、処理はステップ1002に進み、当該テーブルが空であれば、処理はステップ1004に進む。なお、1つでも更新状況に関する情報が更新状況テーブルに含まれていれば、更新状況は空ではないと判断される。
更新状況が空であると判断された場合(ステップ1001でYES)、つまり、更新が中断された場合でないとき、更新プログラム3303Bは、更新手順書(図8)を参照して処理対象ブロックを確定する(ステップ1004)。また、更新プログラム3303Bは、書き戻し元アドレステーブルの該処理番号(処理対象ブロック番号)のレコードを参照し、バックアップが必要なら行なう(ステップ1005)。例えば、書き戻し元アドレスがFbupで始まるものであればバックアップが必要であり、Fdatで始まるものであればデータが旧データ中に存在するのでバックアップ領域にバックアップする必要はない。また、バックアップ処理途中で中断があった場合は、再度バックアップを取るだけであるので書き戻し処理は行われない。
そして、更新プログラム3303Bは、更新手順に従って、処理対象ブロックの処理を実行する(ステップ1006)。さらに、更新プログラム3303Bは、更新手順の最終行か確認し、最終行であれば処理をステップ1004に移行させ、最終行でなければ処理を終了する。
一方、更新状況が空でない場合、更新が中断した場合であるので、更新プログラム3303Bは、更新状況と書き戻し元アドレステーブルの該処理番号のレコードを参照し、書き戻しが必要なら行なう(ステップ1002)。ここで「書き戻しが必要な場合」とは、バックアップ終了後更新手順書に従って更新処理中に中断が発生した場合を意味する。バックアップ処理中に中断が発生した場合は再度バックアップするだけなので「書き戻しが必要な場合」には該当しない。例えば、図9の更新状況の場合に中断が発生したとすると、処理手順2を実行しているときに中断発生したことになるので、更新手順書(図8)の処理手順2を参照する。処理手順2の処理(コピー)先を見ると、処理対象ブロックがブロック2であることが判明する。そして、書き戻し元アドレステーブル(図7)を参照するとFdat_startであるので、旧データのブロック1の先頭からサイズ分だけ当該処理対象のブロック2のデータを書き戻す処理が実行される。
ステップ1002が終了すると、更新プログラム3303Bは、更新手順書(図8)を参照して処理対象ブロックを確定する(ステップ1003)。その後、処理はステップ1005に移行する。
なお、通常ファームウェアブロック3302からの起動時に、更新用ファームウェアブロック3303をマウントし、更新プログラム3303Bを実行してもよい。その場合でも、中断があった場合には、更新用ファームウェアブロック3303から起動させ、更新を再開することができる。
<変形例>
(1)上記実施形態では、処理単位をブロック単位としたが、更新手順と書き戻し元アドレステーブルの各レコードをカンマで区切り、複数のデータを並べることで、ブロック単位より小さな単位での操作を可能にすることができる。
図11は、ブロック単位より小さな単位での操作を可能にするための更新手順と書き戻し元アドレステーブルの例を示す図である。
図11Aは、書き戻し処理時に、ブロックサイズの半分のデータをバックアップ領域の先頭から取得し、残りの半分のデータをブロック1の後ろ半分のデータより取得することを意味している。これにより1つのブロックのデータが分割されて複数の位置に退避している場合でも更新中断時に復旧できる。
また、図11Bは、更新処理時に、ブロックサイズの半分のデータを差分ブロックの先頭から取得してブロック2の先頭から挿入し、ブロック1の前半部分のデータをブロック2の後半部分にコピーする処理を実行することを意味する。これにより1つのブロックのデータを、複数の位置のデータから書き換えることができるため、差分データのサイズを抑えることができる。
(2)図10においては、ステップ1002で中断からの再開、及び書き戻しと記述したが、RAM上に復元しても良い。
(3)第1のポリシーについて、バックアップ容量が最大1ブロックの場合を示したが、これを1ブロック以上も可としても良い。
また、第2のポリシーについて、中断点から元のデータに戻すためのデータは、更新が完了するまでずっとバックアップ領域に保管していても良い。その際必要なデータ以外は削除してよい。
第3のポリシーについて、差分データは不要になった時点で削除しても良い。
さらに、第4のポリシーについて、自己参照がある場合のみ書き戻し処理を実行するようにしても良い。
<まとめ>
本実施形態において、管理装置は、旧データと新データから差分データを生成し、情報機器において旧ファームウェア及び差分データから新ファームウェアを生成するための更新処理を記述する更新手順書を生成し、情報機器における更新処理が中断した場合に更新処理途中のデータを更新処理開始前の状態に戻す処理(書き戻し処理)を実行するための情報を記述する書き戻し参照情報(書き戻し元アドレステーブル)を生成する。そして、情報機器はこのファームウェア更新用データに従って更新処理を実行する。このようにすることにより、情報機器において更新処理が中断され場合でも中断からの復旧をスムーズに実行でき、書き戻し処理により中断が発生したところから更新処理を再開することができるようになる。
また、管理装置は、複数のブロック(不揮発性メモリの分割ブロックに相当)を更新処理するための順番を示す処理順序を複数種類用意し、各処理順序について、旧ファームウェアから新ファームウェアに書き換え中の各ブロックの状態を示す中間データを生成する。そして、管理装置は、新ファームウェア及び前記中間データを用いてブロック単位でバックアップの必要性及び差分データ抽出の必要性をチェックする。また、管理装置は、バックアップの必要性及び差分データ抽出の必要性に関するチェック結果に基づいて、複数の処理順序の中でバックアップに必要な容量と差分データ格納に必要な容量の合計値が最小となる処理順序を特定する。この特定された処理順序が更新手順書に記述される。より具体的には、管理装置は、中間データ内において処理対象のブロックとそれ以外のブロックとを比較し、一致するか否かによって前記バックアップの必要性をチェックし、新ファームウェア内の処理対象のブロックと中間データの全ブロックとを比較し、一致するか否かによって差分データ抽出の必要性をチェックする。このように、中間データという概念を導入すると、バックアップの必要性及び差分データ抽出の必要性をチャックすることができるようになる。そして、これらの必要性が少ない処理順序を特定することにより、更新中断からの復旧処理を実行する際に必要なメモリ領域を小さくすることができる。よって、情報機器のコストを低減することができるようになる。
なお、管理装置は、書き戻し処理を実行する際のデータの参照位置及びサイズをブロックのサイズより小さい単位で指示して複数の位置から前記書き戻し処理のデータを取得できるように、書き戻し参照情報を記述するようにしてもよい。また、管理装置は、更新処理を実行する際のデータの参照位置及びサイズをブロックサイズより小さい単位で指示して複数の位置から更新処理のデータを取得できるように、更新手順書の更新手順を記述するようにしてもよい。このようにすることにより、1つのブロックのデータを複数の位置に保存されたデータから書き換えることができるようになり、差分データのサイズをさらに抑えることができるようになる。
一方、情報機器は、更新手順書の処理手順に対応させて、ブロック単位で、バックアップが終了したことを示す情報、及び更新処理が終了したことを示す情報を含む更新状況を管理する。このように更新状況を管理することにより、中断が発生した場合にどこのブロックまでどのような処理を実行していたか、どのブロックから復旧すれば良いか容易に把握することができ、スムーズに復旧処理に移行することができる。
また、情報機器は、処理中断が起こった場合、更新状況を確認してどの処理手順に従って処理していたときに中断が発生したか特定し、更新手順書を参照して特定された処理手順によって処理途中であったブロックを特定し、書き戻し参照情報を確認し、特定された処理途中のブロックについてデータ書き戻し処理を実行して当該ブロックを更新処理開始前の状態にする。このようにすることにより、書き戻し処理を行うべきブロックを容易に特定でき、どの領域から当該処理対象のブロックに対する書き戻し処理を実行すれば良いか容易に判断することができる。また、ファームウェア全体についてではなく、必要なブロックについてのみ更新処理開始前の状態にすれば良い。そして、バックアップデータや差分データ保存に使われる不揮発性メモリ容量の節約をしながら、更新中断時の復旧を実現することができるようになる。
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
1・・・管理装置
11A、21A、31A・・CPU
11B、21B、31B・・・メモリ
12、22、32・・・通信ポート
13、23・・・外部記憶装置
33・・・不揮発性メモリ
13A・・・差分抽出手段
13B、23A・・・転送手段
13C・・・旧データ
13D・・・新データ
13E・・・中間データ
13F・・・処理状況テーブル
13G・・・バックアップ必要性テーブル
13H・・・差分配布必要性テーブル
13I・・・差分データ
13J・・・更新手順
13K・・・書き戻し元アドレステーブル
23B・・・配布パッケージ
3301・・・ブートブロック
3302・・・通常ファームウェアブロック
3303・・・更新用ファームウェアブロック
3304・・・差分データ保存ブロック
3305・・・バックアップブロック
3301A・・・ブートローダ
3301B・・・起動設定
3302A・・・通常基盤ソフトウェア
3302B・・・通常応用ソフトウェア
3303A・・・更新用基盤ソフトウェア
3303B・・・更新プログラム
3304A・・・差分データ
3304B・・・更新手順書
3304C・・・書き戻し元アドレステーブル
3304D・・・更新状況

Claims (11)

  1. 情報機器における旧ファームウェアを新ファームウェアに更新するファームウェア更新システムであって、
    ファームウェア更新用データを生成する管理装置と、前記ファームウェア更新用データを取得して前記旧ファームウェアを前記新ファームウェアに更新する情報機器と、を備え、
    前記管理装置は、前記旧ファームウェア及び前記新ファームウェアのデータから差分データを生成し、前記情報機器において前記旧ファームウェア及び前記差分データから前記新ファームウェアを生成するための更新処理を記述する更新手順書を生成し、前記情報機器における更新処理が中断した場合に更新処理途中のデータを更新処理開始前の状態に戻す処理(書き戻し処理)を実行するための情報を記述する書き戻し参照情報を生成し、前記差分データ、前記更新手順書、及び前記書き戻し参照情報を前記ファームウェア更新用データとして生成し、
    前記情報機器は、前記ファームウェア更新用データに含まれる前記差分データ、前記更新手順書、及び前記書き戻し参照情報に基づいて、前記旧ファームウェアを前記新ファームウェアに更新することを特徴とするファームウェア更新システム。
  2. 請求項1において、
    前記管理装置は、前記旧ファームウェア及び前記新ファームウェアを複数のブロックに分割し、ブロック単位で処理して前記ファームウェア更新用データを生成することを特徴とするファームウェア更新システム。
  3. 請求項2において、
    前記管理装置は、前記複数のブロックを更新処理するための順番を示す処理順序を複数提供し、
    各処理順序について、前記旧ファームウェアから前記新ファームウェアに書き換え中の各ブロックの状態を示す中間データを生成し、前記新ファームウェア及び前記中間データを用いて前記ブロック単位でバックアップの必要性及び差分データ抽出の必要性をチェックし、
    前記バックアップの必要性及び前記差分データ抽出の必要性に関するチェック結果に基づいて、前記複数の処理順序の中で前記バックアップに必要な容量と前記差分データ格納に必要な容量の合計値が最小となる処理順序を特定し、当該特定された処理順序を前記更新手順書に記述することを特徴とするファームウェア更新システム。
  4. 請求項3において、
    前記管理装置は、前記中間データ内において処理対象のブロックとそれ以外のブロックとを比較し、一致するか否かによって前記バックアップの必要性をチェックし、
    前記新ファームウェア内の処理対象のブロックと前記中間データの全ブロックとを比較し、一致するか否かによって前記差分データ抽出の必要性をチェックすることを特徴とするファームウェア更新システム。
  5. 請求項2において、
    前記管理装置は、前記書き戻し処理を実行する際のデータの参照位置及びサイズを前記ブロックのサイズより小さい単位で指示して複数の位置から前記書き戻し処理のデータを取得できるように、前記書き戻し参照情報を記述することを特徴とするファームウェア更新システム。
  6. 請求項2において、
    前記管理装置は、前記更新処理を実行する際のデータの参照位置及びサイズを前記ブロックサイズより小さい単位で指示して複数の位置から前記更新処理のデータを取得できるように、前記更新手順書の更新手順を記述することを特徴とするファームウェア更新システム。
  7. 請求項2乃至6の何れか1項において、
    前記情報機器は、前記更新手順書の処理手順に対応させて、前記ブロック単位で、バックアップが終了したことを示す情報、及び更新処理が終了したことを示す情報を含む更新状況を管理することを特徴とするファームウェア更新システム。
  8. 請求項7において、
    前記情報機器は、処理中断が起こった場合、前記更新状況を確認してどの処理手順に従って処理していたときに中断が発生したか特定し、
    前記更新手順書を参照して、前記特定された処理手順によって処理途中であったブロックを特定し、
    前記書き戻し参照情報を確認し、前記特定された処理途中のブロックについてデータ書き戻し処理を実行して当該ブロックを更新処理開始前の状態にすることを特徴とするファームウェア更新システム。
  9. ファームウェア更新用データに基づいて、旧ファームウェアを新ファームウェアに更新する情報機器であって、
    前記ファームウェア更新用データは、前記旧ファームウェア及び前記新ファームウェアのデータから生成された差分データと、前記旧ファームウェア及び前記差分データから前記新ファームウェアを生成するための更新処理を記述する更新手順書と、前記更新処理が中断した場合に更新処理途中のデータを更新処理開始前の状態に戻す処理(書き戻し処理)を実行するための情報を記述する書き戻し参照情報と、を含み、
    前記ファームウェア更新用データを取得する更新用データ取得部と、
    前記ファームウェア更新用データに含まれる前記差分データ、前記更新手順書、及び前記書き戻し参照情報に基づいて、前記旧ファームウェアを前記新ファームウェアに更新する更新処理部を備え、
    前記更新処理部は、前記旧ファームウェア及び前記新ファームウェアを複数に分割して得られるブロックを単位として、前記更新手順書の処理手順に対応させて、前記ブロック単位で、バックアップが終了したことを示す情報、及び更新処理が終了したことを示す情報を含む更新状況を管理することを特徴とする情報機器。
  10. 請求項9において、
    前記情報機器は、処理中断が起こった場合、前記更新状況を確認してどの処理手順に従って処理していたときに中断が発生したか特定し、
    前記更新手順書を参照して、前記特定された処理手順によって処理途中であったブロックを特定し、
    前記書き戻し参照情報を確認し、前記特定された処理途中のブロックについてデータ書き戻し処理を実行して当該ブロックを更新処理開始前の状態にすることを特徴とする情報機器。
  11. コンピュータを請求項10に記載の情報機器として機能させるためのプログラム。
JP2009193235A 2009-08-24 2009-08-24 ファームウェア更新システム、及び情報機器、並びにプログラム Expired - Fee Related JP5346253B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009193235A JP5346253B2 (ja) 2009-08-24 2009-08-24 ファームウェア更新システム、及び情報機器、並びにプログラム
EP10811738.3A EP2362312B1 (en) 2009-08-24 2010-08-18 Firmware update system, and information apparatus, as well as program
CN201080002439.8A CN102132258B (zh) 2009-08-24 2010-08-18 固件更新系统、信息设备以及程序
PCT/JP2010/063934 WO2011024688A1 (ja) 2009-08-24 2010-08-18 ファームウェア更新システム、及び情報機器、並びにプログラム
US13/120,219 US8726262B2 (en) 2009-08-24 2010-08-18 Firmware update system and information apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009193235A JP5346253B2 (ja) 2009-08-24 2009-08-24 ファームウェア更新システム、及び情報機器、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2011044087A true JP2011044087A (ja) 2011-03-03
JP5346253B2 JP5346253B2 (ja) 2013-11-20

Family

ID=43627794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009193235A Expired - Fee Related JP5346253B2 (ja) 2009-08-24 2009-08-24 ファームウェア更新システム、及び情報機器、並びにプログラム

Country Status (5)

Country Link
US (1) US8726262B2 (ja)
EP (1) EP2362312B1 (ja)
JP (1) JP5346253B2 (ja)
CN (1) CN102132258B (ja)
WO (1) WO2011024688A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013205933A (ja) * 2012-03-27 2013-10-07 Mitsubishi Electric Corp ファームウェア更新装置およびその方法
KR101341003B1 (ko) 2011-11-21 2013-12-12 웹싱크 주식회사 펌웨어 업데이트 방법 및 이를 위한 장치
JP2016509305A (ja) * 2013-01-31 2016-03-24 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ファームウェアインタフェース変数リポジトリに書き込まれるデータを示すためのコミットリストの更新

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5342302B2 (ja) * 2009-03-30 2013-11-13 株式会社日立ソリューションズ ファームウェア更新システム、ファームウェア配信サーバ、及びプログラム
JP2013127748A (ja) * 2011-12-19 2013-06-27 Fujitsu Ltd 情報処理装置、データ記憶方法及びプログラム
WO2013094003A1 (ja) * 2011-12-19 2013-06-27 富士通株式会社 ソフトウェアのインストール順序を決定する方法、プログラム、及び装置
WO2013126046A1 (en) * 2012-02-21 2013-08-29 Hewlett-Packard Development Company, L.P. Maintaining system firmware images remotely using a distribute file system protocol
CN104220981A (zh) * 2012-02-23 2014-12-17 惠普发展公司,有限责任合伙企业 用于修改有效固件的固件包
CN102693145B (zh) * 2012-05-31 2015-02-25 红石阳光(北京)科技有限公司 用于嵌入式系统的差分升级方法
CN103713964B (zh) * 2012-09-29 2017-06-27 联想(北京)有限公司 一种数据备份、恢复的方法和电子设备
WO2014158194A1 (en) * 2013-03-29 2014-10-02 Hewlett-Packard Development Company, L.P. Update of programmable for computing nodes
TWI525542B (zh) * 2013-09-09 2016-03-11 Insyde Software Corp Uefi bios開機及更新之系統及方法、記錄媒體及電腦程式產品
WO2015060853A1 (en) * 2013-10-24 2015-04-30 Intel Corporation Techniques for pre-os image rewriting to provide cross-architecture support, security introspection, and performance optimization
US20160267273A1 (en) * 2013-11-06 2016-09-15 Mitsubishi Electric Corporation Software update apparatus and computer-readable storage medium storing software update program
CN105917306B (zh) 2014-01-22 2020-04-10 惠普发展公司,有限责任合伙企业 用于配置系统固件配置数据的系统和方法
IN2015CH02762A (ja) * 2015-06-01 2015-07-17 Wipro Ltd
EP3510483B1 (en) 2016-09-23 2023-12-20 Huawei Technologies Co., Ltd. Binary image differential patching
JP6760813B2 (ja) * 2016-10-14 2020-09-23 日立オートモティブシステムズ株式会社 ソフトウェア更新装置、ソフトウェア更新方法、ソフトウェア更新システム
CN109284123A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种采用版本分割实现压缩版本升级的方法及系统
CN109324810A (zh) * 2017-07-26 2019-02-12 深圳市中兴微电子技术有限公司 物联网设备升级包的制作方法及系统
US20190155598A1 (en) * 2017-11-17 2019-05-23 Apple Inc. Techniques for updating a file using a multi-version patch file
JP7013918B2 (ja) * 2018-02-16 2022-02-01 トヨタ自動車株式会社 車両制御装置、プログラム更新方法およびプログラム
JP7069826B2 (ja) * 2018-02-27 2022-05-18 株式会社リコー 情報処理装置、ファームウェア更新方法、プログラム
JP7249735B2 (ja) * 2018-03-05 2023-03-31 日本電産株式会社 ロボット制御装置、バックアップファイルの保存方法およびプログラム
TWI676933B (zh) * 2018-07-05 2019-11-11 慧榮科技股份有限公司 韌體更新方法
CN111104149A (zh) * 2018-10-25 2020-05-05 华为技术有限公司 一种固件升级方法、装置及终端
KR20200089939A (ko) * 2019-01-18 2020-07-28 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
CN114265613B (zh) * 2021-12-21 2022-06-28 红石阳光(北京)科技股份有限公司 一种整车所有电控单元固件差分升级方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002506249A (ja) * 1998-03-03 2002-02-26 シーベル システムズ,インコーポレイティド ソフトウェア・アップグレードの分配およびインスタンス化のための方法、システム、装置およびプログラム製品
JP2004194298A (ja) * 2002-11-18 2004-07-08 Ricoh Co Ltd 画像形成装置、プログラム更新方法
JP2004310221A (ja) * 2003-04-02 2004-11-04 Denso Corp データ書換方法及び電子制御装置
JP2008501180A (ja) * 2004-06-01 2008-01-17 レッド ベンド エルティーディー 記憶装置に記憶されたコンテンツをインプレース更新するための方法およびシステム
JP2008027331A (ja) * 2006-07-25 2008-02-07 Seiko Epson Corp ファームウェア書き換え方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110218A (ja) 1997-10-03 1999-04-23 Hitachi Ltd ファームウェア書き換え装置
US7080371B1 (en) 1998-03-03 2006-07-18 Siebel Systems, Inc. Method, system, apparatus and program product for distribution and instantiation of software upgrades
JP4302970B2 (ja) 2002-12-16 2009-07-29 富士通株式会社 差分更新方法、プログラム及び装置
DE602004013120T2 (de) 2004-03-10 2009-05-14 Sony Ericsson Mobile Communications Ab Automatisierter Datensicherungsspeicher in Firmware-Aufwertungen
US7873669B2 (en) * 2004-07-09 2011-01-18 Microsoft Corporation Direct write back systems and methodologies
JP2006260058A (ja) * 2005-03-16 2006-09-28 Fujitsu Ltd 計算機サーバ・システムにおけるファームウェアアップデート方法
US20080172584A1 (en) 2007-01-11 2008-07-17 Red Bend Ltd. Method and system for in-place updating content stored in a storage device
EP1956482B1 (en) * 2007-02-09 2011-08-17 Telefonaktiebolaget LM Ericsson Generating delta updates for a processing device
CN101510161A (zh) 2009-03-30 2009-08-19 北京中星微电子有限公司 一种引导程序的实现方法、装置和便携式电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002506249A (ja) * 1998-03-03 2002-02-26 シーベル システムズ,インコーポレイティド ソフトウェア・アップグレードの分配およびインスタンス化のための方法、システム、装置およびプログラム製品
JP2004194298A (ja) * 2002-11-18 2004-07-08 Ricoh Co Ltd 画像形成装置、プログラム更新方法
JP2004310221A (ja) * 2003-04-02 2004-11-04 Denso Corp データ書換方法及び電子制御装置
JP2008501180A (ja) * 2004-06-01 2008-01-17 レッド ベンド エルティーディー 記憶装置に記憶されたコンテンツをインプレース更新するための方法およびシステム
JP2008027331A (ja) * 2006-07-25 2008-02-07 Seiko Epson Corp ファームウェア書き換え方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101341003B1 (ko) 2011-11-21 2013-12-12 웹싱크 주식회사 펌웨어 업데이트 방법 및 이를 위한 장치
JP2013205933A (ja) * 2012-03-27 2013-10-07 Mitsubishi Electric Corp ファームウェア更新装置およびその方法
JP2016509305A (ja) * 2013-01-31 2016-03-24 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ファームウェアインタフェース変数リポジトリに書き込まれるデータを示すためのコミットリストの更新

Also Published As

Publication number Publication date
EP2362312A4 (en) 2014-04-23
EP2362312A1 (en) 2011-08-31
US20110179406A1 (en) 2011-07-21
CN102132258A (zh) 2011-07-20
US8726262B2 (en) 2014-05-13
WO2011024688A1 (ja) 2011-03-03
EP2362312B1 (en) 2015-09-23
CN102132258B (zh) 2014-05-14
JP5346253B2 (ja) 2013-11-20

Similar Documents

Publication Publication Date Title
JP5346253B2 (ja) ファームウェア更新システム、及び情報機器、並びにプログラム
US7533378B2 (en) File-update apparatus for updating a file recorded on a recording medium
JP5342302B2 (ja) ファームウェア更新システム、ファームウェア配信サーバ、及びプログラム
JP5478986B2 (ja) 情報機器及びプログラム
JP5113700B2 (ja) ファームウェア更新装置及び方法
CN105260270A (zh) 一种Flash存储空间的动态恢复方法及装置
CN104484240A (zh) 一种终端数据存储的方法及装置
CN109086078A (zh) 安卓系统升级方法、装置、服务器及移动终端
US11176089B2 (en) Systems and methods for implementing dynamic file systems
JP2016057811A (ja) 蓄積配信サーバ及び蓄積配信システム
JP2013025655A (ja) ログファイル管理モジュールおよびログファイル管理方法
JP2008217202A (ja) ディスクアレイ装置及びファームウェア更新方法
JP4550869B2 (ja) データ同期システム及びデータ同期プログラム
JP6221702B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2007328824A (ja) メモリカード、不揮発性メモリ、不揮発性メモリのデータ書込み方法及びデータ書込み装置
KR101821120B1 (ko) 메모리 적재 데이터 재활용 시스템 및 이를 이용한 메모리 적재 데이터 재활용 방법
JP2005078368A (ja) ファイル制御プログラム、ファイル制御装置及びファイル制御方法
JP2005235110A (ja) 電子機器及び同機器に用いるプログラム
JP2006178551A (ja) 自動データバックアップシステム
US8555020B2 (en) Reclaiming space occupied by an expired variable record in a non-volatile record storage
CN114020533A (zh) 一种数据备份方法、装置、计算设备及存储介质
JP2004005524A (ja) データ記録装置、データ記録方法、当該方法を実行するためのプログラム及びプログラム記録媒体
JP2008299664A (ja) フォーマット装置及びフォーマット方法
JP2005165557A (ja) 情報処理装置及び制御方法並びに制御プログラム
JP2010152832A (ja) 情報記録装置、半導体記憶装置のファイル管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130816

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees