(57)【要約】      （修正有）【課題】ファームウェア全体もしくはその殆どを更新する場合であっても、アップデートに要する時間を短縮する。【解決手段】時点Ｔ１で、電子機器の制御部と外部のサーバ間で更新用のファームウェアの通信が可能な接続状態にされると、不揮発性メモリからＲＡＭへのファームウェアの退避を開始する。同時に、更新用のファームウェアを外部Ｉ／Ｆで受信してＲＡＭに記憶する。時点Ｔ２で、ファームウェアの退避が終了すると、不揮発性メモリ内のファームウェアの消去を開始する。時点Ｔ３で、更新用のファームウェアの転送が終了すると、更新用のファームウェアのエラーチェックを行い、時点Ｔ４で、不揮発性メモリ内のファームウェアの消去が終了すると、更新用のファームウェアを不揮発性メモリに書込むことを開始し、時点Ｔ５で、ファームウェアアップデートを終了する。【選択図】図３
2011227660.tif 000002
【特許請求の範囲】
【請求項１】
電子機器を制御するためのファームウェアを記憶した不揮発性メモリを備え、外部機器から更新用のファームウェアが転送されてくると、前記不揮発性メモリ内のファームウェアを消去して、前記更新用のファームウェアを前記不揮発性メモリに書込むデータ更新装置であって、
前記不揮発性メモリ内のファームウェアを退避させて記憶する退避メモリと、
前記外部機器から前記データ更新装置への更新用ファームウェアの転送もしくは転送のスケジュールを検出する転送検出部と、
前記転送検出部により検出された更新用ファームウェアの転送もしくは転送のスケジュールに基づき、前記更新用のファームウェアの転送終了前に、前記不揮発性メモリ内のファームウェアを前記退避メモリに退避させて、前記不揮発性メモリ内のファームウェアの消去を開始する制御部とを備えることを特徴とするデータ更新装置。
【請求項２】
請求項１に記載のデータ更新装置であって、
前記制御部は、前記転送検出部により検出された更新用ファームウェアの転送に応答して、前記不揮発性メモリ内のファームウェアを前記退避メモリに退避させて、前記不揮発性メモリ内のファームウェアの消去を開始することを特徴とするデータ更新装置。
【請求項３】
請求項１に記載のデータ更新装置であって、
前記制御部は、前記転送検出部により検出された更新用ファームウェアの転送のスケジュールに基づき、前記外部機器から前記データ更新装置への更新用ファームウェアの転送開始前に、前記不揮発性メモリ内のファームウェアを前記退避メモリに退避させて、前記不揮発性メモリ内のファームウェアの消去を開始することを特徴とするデータ更新装置。
【請求項４】
請求項３に記載のデータ更新装置であって、
前記接続検出部は、前記外部機器から転送のスケジュールを受信することを特徴とするデータ更新装置。
【請求項５】
請求項１〜４のいずれか１つに記載のデータ更新装置であって、
前記ファームウェアは、複数のファームウェア部分に分割されてそれぞれのブロックに割り振られ、
前記更新用のファームウェアは、前記各ブロックのうちの更新対象となるブロックを示す制御データを含み、
前記制御部は、前記更新用のファームウェアの制御データに基づき、前記不揮発性メモリ内の更新対象となるブロックに割り振られたファームウェア部分のみを消去して、更新対象となるブロックに割り振られた前記更新用のファームウェア部分のみを前記不揮発性メモリに書込むことを特徴とするデータ更新装置。
【請求項６】
請求項５に記載のデータ更新装置であって、
前記ブロックの容量は、該ブロックに割り振られた最初のバージョンのファームウェア部分の容量よりも大きく設定されたことを特徴とするデータ更新装置。
【請求項７】
請求項５又は６に記載のデータ更新装置であって、
前記各ブロックは、複数のグループに分けられ、
前記各グループ別に、前記不揮発性メモリ内の更新対象となるブロックに割り振られたファームウェア部分の消去及び書込みが行われることを特徴とするデータ更新装置。
【請求項８】
電子機器を制御するためのファームウェアを不揮発性メモリに記憶しておき、外部機器から更新用のファームウェアが転送されてくると、前記不揮発性メモリ内のファームウェアを消去して、前記更新用のファームウェアを前記不揮発性メモリに書込むデータ更新方法であって、
前記外部機器から前記データ更新装置への更新用ファームウェアの転送もしくは転送のスケジュールを検出する転送検出ステップと、
前記転送検出ステップで検出された更新用ファームウェアの転送もしくは転送のスケジュールに基づき、前記更新用のファームウェアの転送終了前に、前記不揮発性メモリ内のファームウェアを退避メモリに退避させて、前記不揮発性メモリ内のファームウェアの消去を開始する制御ステップとを含むことを特徴とするデータ更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェアアップデートに好適なデータ更新装置、及びその方法に関する。
【背景技術】
【０００２】
複合機（ＭＦＰ）等の電子機器においては、ファームウェアを不揮発性メモリ（フラッシュＥＥＰＲＯＭ、フラッシュＲＯＭ等）に記憶し、このファームウェアに基づき電子機器の基本制御を行っている。また、ファームウェアアップデートを行って、ファームウェアを更新している。このファームウェアアップデートは、例えば電子機器をネットワークを通じてサーバに接続し、サーバから電子機器へと更新用のファームウェアを転送し、不揮発性メモリ内のファームウェアを更新用のファームウェアに書き換えることにより行う。この場合、図１０に示すように時点Ｔ１〜時点Ｔ２で更新用のファームウェアを電子機器のＲＡＭ等に転送して一時的に記憶し、この転送及び一時的な記憶が終了すると、時点Ｔ２〜時点Ｔ３で更新用のファームウェアにエラーが無いことを確認し、時点Ｔ３〜時点Ｔ４で不揮発性メモリ内のファームウェアを消去し、時点Ｔ４〜時点Ｔ５で更新用のファームウェアを不揮発性メモリに記憶していた。
【０００３】
しかしながら、そのように更新用のファームウェアの転送、エラーの確認、不揮発性メモリからのファームウェアの消去、及び不揮発性メモリへの更新用のファームウェアの書込みをシーケンシャルに行っていたので、更新用のファームウェアの転送開始から不揮発性メモリへの記憶完了までに要する時間、つまりファームウェアアップデートに要する時間が長くなった。
【０００４】
このため、特許文献１では、ファームウェの更新部分の先頭アドレスと終了アドレスを指定し、これらのアドレスにより規定される更新部分だけをアップデートし、これによりアップデートの高速化、つまりアップデートに要する時間の短縮化を図っていた。
【０００５】
ところが、ファームウェアを部分的に更新する場合には、時間の短縮を図ることができても、ファームウェア全体もしくはその殆どを更新する場合には、時間の短縮を図ることができなかった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このように従来は、更新用のファームウェアの転送、エラーの確認、不揮発性メモリからのファームウェアの消去、及び不揮発性メモリへの更新用のファームウェアの書込みをシーケンシャルに行っていたので、ファームウェアアップデートに要する時間が長かった。また、特許文献１では、ファームウェアの更新部分だけを更新して、時間の短縮を図っているが、ファームウェア全体もしくはその殆どを更新する場合には、時間の短縮を図ることができなかった。
【０００８】
そこで、本発明は、上記従来の問題点に鑑みなされたものであり、ファームウェア全体もしくはその殆どを更新する場合であっても、アップデートに要する時間を短縮することが可能なデータ更新装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のデータ更新装置は、電子機器を制御するためのファームウェアを記憶した不揮発性メモリを備え、外部機器から更新用のファームウェアが転送されてくると、前記不揮発性メモリ内のファームウェアを消去して、前記更新用のファームウェアを前記不揮発性メモリに書込むデータ更新装置であって、前記不揮発性メモリ内のファームウェアを退避させて記憶する退避メモリと、前記外部機器から前記データ更新装置への更新用ファームウェアの転送もしくは転送のスケジュールを検出する転送検出部と、前記転送検出部により検出された更新用ファームウェアの転送もしくは転送のスケジュールに基づき、前記更新用のファームウェアの転送終了前に、前記不揮発性メモリ内のファームウェアを前記退避メモリに退避させて、前記不揮発性メモリ内のファームウェアの消去を開始する制御部とを備えている。
【００１０】
このような本発明のデータ更新装置では、転送検出部により検出された更新用ファームウェアの転送もしくは転送のスケジュールに基づき、更新用のファームウェアの転送終了前に、不揮発性メモリ内のファームウェアの消去を開始している。これに対して従来は、更新用のファームウェアの転送終了後に、不揮発性メモリ内のファームウェアの消去を開始している。従って、本発明では、従来と比較して、不揮発性メモリ内のファームウェアの消去の開始タイミングが早められており、この早められた時間だけファームウェアアップデートに要する時間を短縮することができる。また、不揮発性メモリ内のファームウェアの消去を開始するときには、不揮発性メモリ内のファームウェアを退避メモリに退避させているので、更新用のファームウェアの転送終了後に、更新用のファームウェアのエラーが検出された場合には、退避メモリ内のファームウェアを不揮発性メモリに記憶して戻すことができる。
【００１１】
また、本発明のデータ更新装置においては、前記制御部は、前記転送検出部により検出された更新用ファームウェアの転送に応答して、前記不揮発性メモリ内のファームウェアを前記退避メモリに退避させて、前記不揮発性メモリ内のファームウェアの消去を開始している。
【００１２】
このように更新用のファームウェアの転送に応答して、不揮発性メモリ内のファームウェアの消去を開始すれば、不揮発性メモリ内のファームウェアの消去の開始タイミングが確実に早められて、ファームウェアアップデートに要する時間を短縮することができる。
【００１３】
更に、本発明のデータ更新装置においては、前記制御部は、前記転送検出部により検出された更新用ファームウェアの転送のスケジュールに基づき、前記外部機器から前記データ更新装置への更新用ファームウェアの転送開始前に、前記不揮発性メモリ内のファームウェアを前記退避メモリに退避させて、前記不揮発性メモリ内のファームウェアの消去を開始している。
【００１４】
例えば、更新用のファームウェアの転送のスケジュールに基づき、更新用のファームウェアの転送開始時刻が分かっている場合には、更新用のファームウェアの転送開始時刻と不揮発性メモリ内のファームウェアの消去開始時刻を合わせて、ファームウェアの消去期間中に更新用のファームウェアの転送を遂行することができ、ファームウェアアップデートに要する時間を効果的に短縮することが可能になる。
【００１５】
また、本発明のデータ更新装置においては、前記接続検出部は、前記外部機器から接続のスケジュールを受信している。
【００１６】
更に、本発明のデータ更新装置においては、前記ファームウェアは、複数のファームウェア部分に分割されてそれぞれのブロックに割り振られ、前記更新用のファームウェアは、前記各ブロックのうちの更新対象となるブロックを示す制御データを含み、前記制御部は、前記更新用のファームウェアの制御データに基づき、前記不揮発性メモリ内の更新対象となるブロックに割り振られたファームウェア部分のみを消去して、更新対象となるブロックに割り振られた前記更新用のファームウェア部分のみを前記不揮発性メモリに書込んでいる。
【００１７】
このようにファームウェアを複数のファームウェア部分に分割してそれぞれのブロックに割り振っておき、更新用のファームウェアの制御データに基づき、不揮発性メモリ内の更新対象となるブロックに割り振られたファームウェア部分のみを更新すれば、ファームウェアアップデートに要する時間を効果的に短縮することが可能になる。
【００１８】
また、本発明のデータ更新装置においては、前記ブロックの容量は、該ブロックに割り振られた最初のバージョンのファームウェア部分の容量よりも大きく設定されている。
【００１９】
このようにブロックの容量を最初のバージョンのファームウェア部分の容量よりも大きく設定しておけば、ファームウェア部分の更新により該部分の容量が増大しても、更新されたファームウェア部分をブロックに収めることができる。
【００２０】
更に、本発明のデータ更新装置においては、前記各ブロックは、複数のグループに分けられ、前記各グループ別に、前記不揮発性メモリ内の更新対象となるブロックに割り振られたファームウェア部分の消去及び書込みが行われる。
【００２１】
この場合は、各グループの更新を、相互に異なる時刻に行うことができ、１回の更新に要する時間を短縮することができる。
【００２２】
次に、本発明のデータ更新方法は、電子機器を制御するためのファームウェアを不揮発性メモリに記憶しておき、外部機器から更新用のファームウェアが転送されてくると、前記不揮発性メモリ内のファームウェアを消去して、前記更新用のファームウェアを前記不揮発性メモリに書込むデータ更新方法であって、前記外部機器から前記データ更新装置への更新用ファームウェアの転送もしくは転送のスケジュールを検出する転送検出ステップと、前記転送検出ステップで検出された更新用ファームウェアの転送もしくは転送のスケジュールに基づき、前記更新用のファームウェアの転送終了前に、前記不揮発性メモリ内のファームウェアを退避メモリに退避させて、前記不揮発性メモリ内のファームウェアの消去を開始する制御ステップとを含んでいる。
【００２３】
このようなデータ更新方法においても、上記本発明のデータ更新装置と同様の作用効果を奏する。
【発明の効果】
【００２４】
本発明によれば、転送検出部により検出された更新用ファームウェアの転送もしくは転送のスケジュールに基づき、更新用のファームウェアの転送終了前に、不揮発性メモリ内のファームウェアの消去を開始しているので、不揮発性メモリ内のファームウェアの消去の開始タイミングが早められ、この早められた時間だけファームウェアアップデートに要する時間を短縮することができる。また、不揮発性メモリ内のファームウェアの消去を開始するときには、不揮発性メモリ内のファームウェアを退避メモリに退避させているので、更新用のファームウェアの転送終了後に、更新用のファームウェアのエラーが検出された場合には、退避メモリ内のファームウェアを不揮発性メモリに記憶して戻すことができる。
【図面の簡単な説明】
【００２５】
【図１】本発明のデータ更新装置の第１実施形態を適用した複合機（ＭＦＰ）の構成、主にデータ通信に係るハード構成を示すブロック図である。
【図２】図１の複合機におけるデータ通信プロトコルの階層構造を示す図である。
【図３】第１実施形態のデータ更新装置によるファームウェアアップデートの処理手順を示すタイミングチャートである。
【図４】ファームウェアアップデートの他の処理手順を示すタイミングチャートである。
【図５】第１実施形態のデータ更新装置によるファームウェアアップデートの処理手順を示すフローチャートである。
【図６】第１実施形態のデータ更新装置における各部のファームウェアアップデートの処理手順を示すフローチャートである。
【図７】（ａ）、（ｂ）は、第２実施形態のデータ更新装置におけるファームウェアが割り振られる各ブロック及び選択的に更新されるブロックを示す図である。
【図８】図７のブロックの容量を示す図である。
【図９】第２実施形態のデータ更新装置によるファームウェアアップデートの処理手順を示すタイミングチャートである。
【図１０】従来のファームウェアアップデートの処理手順を示すタイミングチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態を添付図面を参照して詳細に説明する。
【００２７】
図１は、本発明のデータ更新装置の第１実施形態を適用した複合機（ＭＦＰ）の構成、主にデータ通信に係るハード構成を示すブロック図である。図１において、複合機１は、主制御部１１、不揮発性メモリ１２、ＲＡＭ１３、バス制御部１４、スキャナー１５、プリンタエンジン１６、操作パネル１７、その他の機能部１８、及び外部Ｉ／Ｆ１９等を備えている。
【００２８】
主制御部１１は、ＣＰＵ、各種のインターフェース等からなり、不揮発性メモリ１２やＲＡＭ１３に対する書込み、読出し、及び消去を制御したり、バス制御部１４を通じてスキャナー１５、プリンタエンジン１６、操作パネル１７、及びその他の機能部１８等との間で各種のデータを送受する。また、主制御部１１は、外部Ｉ／Ｆ１９を通じて外部機器（図示せず）との間でデータ通信を行うことができる。外部Ｉ／Ｆ１９は、例えばネットワーク上のサーバに接続され、このサーバとの間のデータ通信を可能にする。
【００２９】
不揮発性メモリ１２は、フラッシュＥＥＰＲＯＭやフラッシュＲＯＭ等であり、複合機１全体のファームウェアを記録する。また、ＲＡＭ１２は、ワークエリア等として用いられる。
【００３０】
バス制御部１４は、その主要部をＡＳＩＣ（Application Specific Integrated Circuit）で構成されたものであり、バス１４ａ、主制御部１１とバス１４ａを接続するＩ／Ｆ１４ｂ、スキャナー１５、プリンタエンジン１６、操作パネル１７、及びその他の機能部１８に対して送受される各種のデータをパラレスシリアル相互変換する各ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）１４ｃ〜１４ｆ、各ＵＡＲＴ１４ｃ〜１４ｆとバス１４を接続するそれぞれのＵＡＲＴＩ／Ｆ１４ｇ〜１４ｊ等を備えている。
【００３１】
スキャナー１５は、原稿を読取って、原稿画像を示す画像データを出力するものであって、ＵＡＲＴ１４ｃとの間で各種のデータをシリアル通信するシリアルＩ／Ｆ１５ａ、スキャナー１５を制御するスキャナー制御部（ＡＳＩＣもしくはＣＰＵ）１５ｂ、スキャナー制御部１５ｂで用いられるファームウェアを記憶する不揮発性メモリ１５ｃ、及びワークエリア等として用いられるＲＡＭ１５ｄを含む。
【００３２】
プリンタエンジン１６は、画像データを入力し、画像データによって示される画像を記録用紙に印刷するものであって、ＵＡＲＴ１４ｄとの間で各種のデータをシリアル通信するシリアルＩ／Ｆ１６ａ、プリンタエンジン１６を制御するプリンタ制御部（ＡＳＩＣもしくはＣＰＵ）１６ｂ、プリンタ制御部１６ｂで用いられるファームウェアを記憶する不揮発性メモリ１６ｃ、及びワークエリア等として用いられるＲＡＭ１６ｄを含む。
【００３３】
操作パネル１７は、キー、液晶表示装置、及びタッチパネル等を備え、複合機１の操作ガイダンス等を液晶表示装置の画面に表示し、キーやタッチパネル等の操作により指示された内容を入力するものであって、ＵＡＲＴ１４ｅとの間で各種のデータをシリアル通信するシリアルＩ／Ｆ１７ａ、操作パネル１７を制御する操作パネル制御部（ＡＳＩＣもしくはＣＰＵ）１７ｂ、操作パネル制御部１７ｂで用いられるファームウェアを記憶する不揮発性メモリ１７ｃ、及びワークエリア等として用いられるＲＡＭ１７ｄを含む。
【００３４】
その他の機能部１８も、ＵＡＲＴ１４ｆとの間で各種のデータをシリアル通信するシリアルＩ／Ｆ１８ａ、その他の機能部１８を制御するその他の制御部（ＡＳＩＣもしくはＣＰＵ）１８ｂ、その他の制御部１８ｂで用いられるファームウェアを記憶する不揮発性メモリ１８ｃ、及びワークエリア等として用いられるＲＡＭ１８ｄを含む。
【００３５】
例えば、操作パネル１７のキーやタッチパネル等の操作により原稿の複写が指示されると、原稿の複写を示す制御データが操作パネル１７のシリアルＩ／Ｆ１７ａ→ＵＡＲＴ１４ｅ→ＵＡＲＴＩ／Ｆ１４ｉ→バス１４ａ→Ｉ／Ｆ１４ｂという経路（バス制御部１４）を介して主制御部１１に入力され、これに応答して主制御部１１は、原稿の複写を行うべく、所定のシーケンスに従い、バス制御部１４を介してスキャナー１５及びプリンタエンジン１６を制御する。スキャナー１５は、原稿画像を読取って、この原稿画像を示す画像データに画像処理を施し、画像データを例えばバス制御部１４のバス１４ａ上の記憶装置（図示せず）に記憶する。プリンタエンジン１６は、画像データをその記憶装置から読み出して入力し、画像データに画像処理を施して、画像データによって示される画像を記録用紙に印刷して出力する。
【００３６】
図２は、複合機１におけるデータ通信プロトコルの階層構造を示している。図２において、アプリケーション２１は、送信データをリンク層２２におけるシリアル通信プロトコルＩ／Ｆ２２ａに出力する。この送信データは、シリアル通信プロトコルＩ／Ｆ２２ａから送信ＦＩＦＯ２２ｂを通じて送信データリンク制御タスク２２ｃへと送受され、更にＢＳＰ、ドライバ層２３におけるインターフェースドライバ２３ａに受け渡される。これにより、図１においては、送信データが、シリアルＩ／Ｆ１５ａ、１６ａ、１７ａ、１８ａからＵＡＲＴ１４ｃ〜１４ｆへと送受されて、パラレルデータに変換され、ＵＡＲＴＩ／Ｆ１４ｇ〜１４ｊからバス１４ａへと出力される。
【００３７】
また、受信データは、ＢＳＰ、ドライバ層２３におけるインターフェースドライバ２３ａからリンク層２２における受信データリンク制御タスク２２ｄへと受け渡され、更に受信ＦＩＦＯ２２ｅを通じてシリアル通信プロトコルＩ／Ｆ２２ａへと送受され、アプリケーション２１へと入力される。これにより、図１においては、受信データが、バス１４ａからＵＡＲＴＩ／Ｆ１４ｇ〜１４ｊを通じてＵＡＲＴ１４ｃ〜１４ｆへと入力されて、シリアルデータに変換され、ＵＡＲＴ１４ｃ〜１４ｆからシリアルＩ／Ｆ１５ａ、１６ａ、１７ａ、１８ａへと入力される。
【００３８】
リンク層２２におけるメインタスク２２ｆは、送信データリンク制御タスク２２ｃ及び受信データリンク制御タスク２２ｄを調停制御する。送信リトライ発生通知用タスク２２ｇは、送信データリンク制御タスク２２ｃでのリトライの発生をアプリケーション２１等に通知する。
【００３９】
このような構成において、ファームウェアを更新するには、不揮発性メモリ１２内の複合機１全体のファームウェアの消去及び書込み、及び各不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃ内のファームウェアの消去及び書込みを行う必要があるため、このファームウェアアップデートに時間がかかる。特に、不揮発性メモリ１２内の複合機１全体のファームウェアについては、その容量が大きいため、図１０に示すように更新用のファームウェアの転送、エラーの確認、不揮発性メモリからのファームウェアの消去、及び不揮発性メモリへの更新用のファームウェアの書込みをシーケンシャルに行っていたのでは、ファームウェアアップデートに要する時間が長くなる。
【００４０】
そこで、本実施形態のデータ更新装置では、ファームウェアアップデートに際し、不揮発性メモリ１２内のファームウェアの消去の開始タイミングを早めて、この早められた時間だけファームウェアアップデートに要する時間を短縮している。
【００４１】
本実施形態のデータ更新装置２は、図１に示すようなデータ通信に係るハード構成を複合機１との間で共用して構成されるものである。このデータ更新装置２では、外部のサーバ等が外部Ｉ／Ｆ１９に接続され、外部のサーバから転送されてきた更新用のファームウェアが外部Ｉ／Ｆ１９で受信され、不揮発性メモリ１２内のファームウェアが更新用のファームウェアに書き換えられて、ファームウェアアップデートがなされる。
【００４２】
図３は、そのようなファームウェアアップデートの処理手順を示すタイミングチャートである。次に、図３を参照しつつ、その処理手順を説明する。
【００４３】
まず、主制御部１１は、外部Ｉ／Ｆ１９を通じて外部のサーバに接続されると、外部のサーバとの間で通信プロトコルを実施し、外部のサーバからデータ更新装置２への更新用ファームウェアの転送開始を検出する。そして、図３の時点Ｔ１で、更新用ファームウェアの転送が開始されると、この更新用ファームウェアを外部Ｉ／Ｆ１９で受信してＲＡＭ１３に記憶し、また不揮発性メモリ１２内のファームウェアをＲＡＭ１３に退避させることを開始する。
【００４４】
次に、図３の時点Ｔ２で、不揮発性メモリ１２からＲＡＭ１３へのファームウェアの退避が終了すると、主制御部１１は、不揮発性メモリ１２内のファームウェアの消去を開始する。そして、図３の時点Ｔ３で、外部のサーバからの更新用のファームウェアの転送が終了し、図３の時点Ｔ４で、ＲＡＭ１３内の更新用のファームウェアのエラーチェック（チェックサム、ＣＲＣ等）も終了し、ＲＡＭ１３内の更新用のファームウェアにエラーが無ければ、不揮発性メモリ１２内のファームウェアの消去が終了するのを待機する。
【００４５】
また、ＲＡＭ１３内の更新用のファームウェアにエラーが有れば、外部のサーバに対して更新用のファームウェアの再度の転送要求を出して、ファームウェアアップデートを最初からやり直す。
【００４６】
次に、図３の時点Ｔ５で、不揮発性メモリ１２内のファームウェアの消去が終了すると、主制御部１１は、ＲＡＭ１３内の更新用のファームウェアを不揮発性メモリ１２に書込むことを開始する。そして、図３の時点Ｔ６で、不揮発性メモリ１２への更新用のファームウェアの書込みが終了すると、ファームウェアアップデートが終了する。
【００４７】
図３から明らかなように本実施形態では、時点Ｔ２で不揮発性メモリ１２からＲＡＭ１３へのファームウェアの退避が終了すると、不揮発性メモリ１２の消去が開始されており、時点Ｔ２〜時点Ｔ４の期間においては不揮発性メモリ１２の消去と更新用のファームウェアの転送が並行して行われている。
【００４８】
これに対して従来は、図１０に示すように更新用のファームウェアの転送とエラーチェックが終了するまで不揮発性メモリの消去が開始されない。
【００４９】
このため、本実施形態では、従来と比較して、時点Ｔ２〜時点Ｔ４の期間だけ、不揮発性メモリ１２の消去が早められ、この期間だけファームウェアアップデートに要する時間が短縮される。
【００５０】
また、不揮発性メモリ１２内のファームウェアがＲＡＭ１３に退避されてから、不揮発性メモリ１２の消去が開始されるので、更新用のファームウェアのエラーや転送の失敗が生じても、ＲＡＭ１３内のファームウェアを不揮発性メモリ１２に戻すことができ、ファームウェアが消失することはない。
【００５１】
ここでは、外部のサーバからデータ更新装置２への更新用ファームウェアの転送開始に応答して、不揮発性メモリ１２からＲＡＭ１３へのファームウェアの退避を開始しているが更新用ファームウェアの転送スケジュールが予め設定されている場合は、更新用ファームウェアの転送が開始される前に、ファームウェアの退避を開始もしくは終了させてもよく、更には不揮発性メモリ１２の消去も開始もしくは終了させても構わない。
【００５２】
例えば、更新用ファームウェアの転送スケジュールを外部のサーバから外部Ｉ／Ｆ１９を通じて主制御部１１に送受する。主制御部１１は、転送スケジュールに基づき、外部のサーバからデータ更新装置２への更新用ファームウェアの転送が開始される時刻を判定し、この時刻になるまでに、不揮発性メモリ１２からＲＡＭ１３へのファームウェアの退避を開始もしくは終了させ、更には不揮発性メモリ１２の消去を開始もしくは終了させる。
【００５３】
詳しくは、図４に示すように外部のサーバからデータ更新装置２への更新用ファームウェアの転送が開始される時刻が時点Ｔ１３であるとすると、主制御部１１は、時点Ｔ１３よりも後の時点Ｔ１４で不揮発性メモリ１２の消去が終了するような消去開始の時点１２を求め、更に時点Ｔ１２で不揮発性メモリ１２からＲＡＭ１３へのファームウェアの退避が終了するような退避開始の時点Ｔ１１を求め、時点Ｔ１１の時刻でファームウェアの退避を開始する。この場合は、更新用ファームウェアの転送が終了して、そのエラーチェックが終了した時点Ｔ１５から更新用ファームウェアを不揮発性メモリ１２に書込むことが可能になる。
【００５４】
一方、スキャナー制御部１５ｂで用いられる不揮発性メモリ１５ｃ内のファームウェア、プリンタ制御部１６ｂで用いられる不揮発性メモリ１６ｃ内のファームウェア、操作パネル制御部１７ｂで用いられる不揮発性メモリ１７ｃ内のファームウェア、及びその他の制御部１８ｂで用いられる不揮発性メモリ１８ｃ内のファームウェアについては、主制御部１１からスキャナー１５、プリンタエンジン１６、操作パネル１７、及びその他の機能部１８へとそれぞれの更新用ファームウェアが送受されて更新される。
【００５５】
次に、図５のフローチャートを参照しつつ、主制御部１１からスキャナー１５、プリンタエンジン１６、操作パネル１７、及びその他の機能部１８へとそれぞれの更新用ファームウェアを送受する手順を説明する。
【００５６】
まず、主制御部１１は、外部のサーバからの更新用ファームウェアの受信を開始すると（ステップＳ１０１）、更新用ファームウェアをＲＡＭ１３に記憶しつつ、更新用ファームウェアのヘッダーを直ちに解析し（ステップＳ１０２）、スキャナー制御部１５ｂで用いられる更新用ファームウェア、プリンタ制御部１６ｂで用いられる更新用ファームウェア、操作パネル制御部１７ｂで用いられる更新用ファームウェア、その他の制御部１８ｂで用いられる更新用ファームウェアを順次抽出して行く（ステップＳ１０３）。外部のサーバからは、それぞれの更新用ファームウェアが順次転送されて来て、ヘッダーの解析によりそれぞれの更新用ファームウェアの先頭位置と終端位置が分かるので、それぞれの更新用ファームウェアを順次抽出することができる。
【００５７】
そして、主制御部１１は、それぞれの更新用ファームウェアを順次抽出する度に、それぞれの更新用ファームウェアをバス制御部１４を介してスキャナー１５、プリンタエンジン１６、操作パネル１７、及びその他の機能部１８に振り分けて送信する（ステップＳ１０４Ａ〜１０４Ｄ、Ｓ１０５Ａ〜１０５Ｄ）。スキャナー１５、プリンタエンジン１６、操作パネル１７、及びその他の機能部１８では、それぞれの更新用ファームウェアを受信して、各不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃ内のファームウェアを更新する（ステップＳ１０６Ａ〜１０６Ｄ）。
【００５８】
図６は、図５のステップＳ１０６Ａ〜１０６Ｄの処理、つまりスキャナー１５、プリンタエンジン１６、操作パネル１７、及びその他の機能部１８におけるファームウェアの更新処理を示すフローチャートである。
【００５９】
例えば、スキャナー１５のスキャナー制御部１５ｂは、シリアルＩ／Ｆ１５ａを通じて更新用ファームウェアの受信が開始されると（ステップＳ２０１）、これと同時に不揮発性メモリ１５ｃ内のファームウェアをＲＡＭ１５ｄに退避させることを開始する（ステップＳ２０２）。
【００６０】
そして、スキャナー制御部１５ｂは、不揮発性メモリ１５ｃからＲＡＭ１５ｄへのファームウェアの退避が終了すると（ステップＳ２０３）、不揮発性メモリ１５ｃ内のファームウェアを消去する（ステップＳ２０４）。
【００６１】
更に、スキャナー制御部１５ｂは、不揮発性メモリ１５ｃ内のファームウェアの消去が終了すると、更新用ファームウェアの受信が終了したことを確認し（ステップＳ２０５）、この後にＲＡＭ１５ｄ内の更新用ファームウェアを不揮発性メモリ１５ｃに書込んで、ファームウェアアップデートを終了する（ステップＳ２０６）。
【００６２】
このようにＲＡＭ１３への複合機１全体の更新用ファームウェアの書込みが開始されると、これと並行して、この複合機１全体の更新用ファームウェアからスキャナー制御部１５ｂで用いられる更新用ファームウェア、プリンタ制御部１６ｂで用いられる更新用ファームウェア、操作パネル制御部１７ｂで用いられる更新用ファームウェア、及びその他の制御部１８ｂで用いられる更新用ファームウェアを順次抽出し、これらの抽出した更新用ファームウェアをバス制御部１４を介してスキャナー１５、プリンタエンジン１６、操作パネル１７、及びその他の機能部１８へと振り分けて送受しそれぞれの不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃに書込んでいる。このため、各不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃ内のファームウェアの更新が不揮発性メモリ１２内のファームウェアの更新と並行してなされ、不揮発性メモリ１２内のファームウェアの更新が終了するときに、各不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃ内のファームウェアの更新も終了し、複合機１全体のファームウェアアップデートに要する時間を短くすることができる。
【００６３】
尚、図３の時点Ｔ６で不揮発性メモリ１２への複合機１全体の更新用ファームウェアの書込みが終了した後に、各不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃから各ＲＡＭ１５ｄ、１６ｄ、１７ｄ、１８ｄへとそれぞれのファームウェアを退避させ、引き続いて各不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃ内のファームウェアを消去し、不揮発性メモリ１２内の更新用ファームウェアからスキャナー制御部１５ｂで用いられるファームウェア、プリンタ制御部１６ｂで用いられるファームウェア、操作パネル制御部１７ｂで用いられるファームウェア、及びその他の制御部１８ｂで用いられるファームウェアをそれぞれ抽出し、これらの抽出したファームウェアを、バス制御部１４を介してスキャナー１５、プリンタエンジン１６、操作パネル１７、及びその他の機能部１８へと振り分けて送受しそれぞれの不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃに書込んでもよい。この場合は、スキャナー制御部１５ｂ、プリンタ制御部１６ｂ、操作パネル制御部１７ｂ、及びその他の制御部１８ｂが待機中のときに、それぞれのファームウェアを更新することができる。
【００６４】
また、各不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃ内のファームウェアを、不揮発性メモリ１２内のファームウェアと並行して更新するか、不揮発性メモリ１２内のファームウェアの更新の後で別途更新するかにかかわらず、各制御部１５ｂ、１６ｂ、１７ｂ、１８ｂにより各不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃ内のファームウェアが各ＲＡＭ１５ｃ、１６ｃ、１７ｃ、１８ｃにロードされて用いられている場合は、各不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃ内のファームウェアを各ＲＡＭ１５ｃ、１６ｃ、１７ｃ、１８ｃに退避させる処理を省略することができる。
【００６５】
次に、本発明のデータ更新装置の第２実施形態を説明する。本実施形態のデータ更新装置２も、第１実施形態と同様に、図１に示すようなデータ通信に係るハード構成を複合機１との間で共用して構成され、図２に示すようなデータ通信プロトコルの階層構造を有している。
【００６６】
本実施形態では、第１実施形態のように不揮発性メモリ１２内の複合機１全体のファームウェアを全て更新するのではなく、ファームウェアを部分的に更新しており、これによりファームウェアアップデートに要する時間を更に短縮している。
【００６７】
通常、複合機１全体のファームウェアは、連続的なバイナリーデータである。このため、ファームウェアの一部の変更であっても、その一部を抽出して更新することは困難であり、ファームウェアの全てを更新することが多い。
【００６８】
本実施形態では、図７（ａ）に示すように複合機１全体のファームウェアを、複数のファームウェア部分に分割してそれぞれのブロック３１に割り振り、ファームウェア部分単位（ブロック３１単位）での更新を可能にしている。
【００６９】
また、各ブロック３１の先頭に、各ブロック３１の識別子、先頭位置、終端位置、及び更新対象のファームウェア部分が割り振られたブロック３１の識別子を含むヘッダー（制御データ）３２を付加しており、更新対象のファームウェア部分が割り振られたブロック３１の識別子及び該識別子のブロック３１の先頭位置と終端位置をヘッダー３２から読取ることにより、更新対象のファームウェア部分が割り振られたブロック３１を抽出選択して、このブロック３１のファームウェア部分を更新することができるようにしている。例えば、図７（ｂ）に示すように２番目、３番目、５番目、６番目、１０番目、１２番目の各ブロック３１のファームウェア部分を更新する場合は、これらの順番のブロック３１の識別子、先頭位置、終端位置をヘッダー３２から読み出し、それぞれの更新対象のファームウェア部分が割り振られた該各順番のブロック３１を抽出選択して、該各順番のブロック３１のファームウェア部分を更新する。
【００７０】
ファームウェア部分単位で更新を行う場合は、１つのプログラムが２つ以上のファームウェア部分（２つ以上のブロック３１）に跨らないように、複合機１全体のファームウェアを各ファームウェア部分に分割するのが好ましく、ファームウェア部分が１つ又は複数のプログラムの全体を含むのがよい。
【００７１】
また、図８に示すようにブロック３１の容量は、該ブロック３１に割り振られた最初のバージョンのファームウェア部分３３の容量よりも大きくされており、最初のバージョンのファームウェア部分が割り振られたブロック３１に無データ領域３１ａが存在している。これにより、ファームウェア部分の更新により該部分の容量が増大しても、更新されたファームウェア部分をブロック３１に収めることが可能になる。
【００７２】
また、各ブロック３１の容量は、相互に一致しなくてもよい。ヘッダー３２には、ブロック３１の識別子、先頭位置、終端位置が含まれているので、ブロック３１の容量が一定でなくても、識別子、先頭位置、及び終端位置を参照することにより、更新対象のファームウェア部分が割り振られたブロック３１を抽出選択して、このブロック３１のファームウェア部分を更新することができる。
【００７３】
次に、図９のタイミングチャートを参照しつつ、本実施形態におけるファームウェアアップデートの処理手順を説明する。
【００７４】
まず、時点ｔ１で、外部のサーバからデータ更新装置２への更新用ファームウェアの転送が開始されると、主制御部１１は、不揮発性メモリ１２からＲＡＭ１３へのファームウェアの退避を開始する。また、外部のサーバから図７（ａ）に示すようなヘッダー３２及び各ブロック３１が順次転送されて来るので、ヘッダー３２及び各ブロック３１を外部Ｉ／Ｆ１９で順次受信してＲＡＭ１３に記憶する。
【００７５】
次に、時点ｔ２で、不揮発性メモリ１２からＲＡＭ１３へのファームウェアの退避が終了すると、主制御部１１は、ＲＡＭ１３内のヘッダー３２を参照して、更新対象のファームウェア部分が割り振られたブロック３１の識別子、先頭位置、終端位置を読取り、不揮発性メモリ１２内の各ブロック３１から更新対象のファームウェア部分が割り振られたブロック３１を抽出選択して、このブロック３１のファームウェア部分の消去を開始する。例えば、図７（ｂ）に示すように２番目、３番目、５番目、６番目、１０番目、１２番目の各ブロック３１のファームウェア部分が更新対象である場合は、これらの順番のブロック３１の識別子、先頭位置、終端位置をヘッダー３２から読み出し、不揮発性メモリ１２内の該各順番のブロック３１のファームウェア部分の消去を開始する。
【００７６】
そして、時点ｔ３で、外部のサーバからの更新用ファームウェアの転送が終了すると、ＲＡＭ１３内の更新用ファームウェアのエラーチェック（チェックサム、ＣＲＣ等）を行い、ＲＡＭ１３内の更新用ファームウェアにエラーが無ければ、不揮発性メモリ１２内の更新対象のファームウェア部分の消去が終了しているか否かを確認し、終了していなければ、消去が終了するのを待機する。
【００７７】
また、ＲＡＭ１３内の更新用ファームウェアにエラーが有れば、外部のサーバに対して更新用ファームウェアの再度の転送要求を出し、これに応答して再度転送されて来たヘッダー３２及び各ブロック３１をＲＡＭ１３に記憶する。
【００７８】
ＲＡＭ１３内の更新用ファームウェアにエラーが無く、例えば時点ｔ４で、不揮発性メモリ１２内の更新対象のファームウェア部分の消去が終了すると、主制御部１１は、ＲＡＭ１３内の各ブロック３１から更新対象のファームウェア部分が割り振られたブロック３１を抽出選択して、このブロック３１の更新対象のファームウェア部分を不揮発性メモリ１２内の該当ブロック３１に書込むことを開始する。例えば、図７（ｂ）に示すように２番目、３番目、５番目、６番目、１０番目、１２番目の各ブロック３１のファームウェア部分が更新対象である場合は、これらの順番のブロック３１の更新対象のファームウェア部分をＲＡＭ１３から読出し、これらのファームウェア部分を不揮発性メモリ１２内の該各順番のブロック３１に書込むことを開始する。そして、時点ｔ５で、不揮発性メモリ１２への更新用ファームウェア部分の書込みが終了すると、ファームウェアアップデートが終了する。
【００７９】
このように不揮発性メモリ１２内の各ブロック３１のファームウェア部分を選択的に消去して書込み、ファームウェアを部分的に更新する場合は、不揮発性メモリ１２に対する消去及び書込みに要する時間が短くなり、ファームウェアアップデートに要する時間が更に短縮される。
【００８０】
また、スキャナー制御部１５ｂで用いられる不揮発性メモリ１５ｃ内のファームウェア、プリンタ制御部１６ｂで用いられる不揮発性メモリ１６ｃ内のファームウェア、操作パネル制御部１７ｂで用いられる不揮発性メモリ１７ｃ内のファームウェア、及びその他の制御部１８ｂで用いられる不揮発性メモリ１８ｃ内のファームウェアについては、不揮発性メモリ１２内のファームウェアと並行して更新したり、不揮発性メモリ１２内のファームウェアの更新の後で別途更新することができる。この場合は、各不揮発性メモリ１５ｃ、１６ｃ、１７ｃ、１８ｃと各ブロック３１の識別子との対応関係を予め設定しておき、更新対象のファームウェア部分が割り振られたブロック３１の識別子に対応する不揮発性メモリを求め、この不揮発性メモリ内の該当ブロック３１のファームウェア部分を消去して更新対象のファームウェア部分に書き換えればよい。
【００８１】
以上、本発明の実施形態を詳述したが、本発明は、上記実施形態や変形例に限定されるものではなく、本発明の要旨を逸脱しない範疇の設計変更等が施されたものであっても、本発明の範囲に含まれる。
【００８２】
例えば、サーバからネットワークを通じて更新用ファームウェアを受信入力しているが、ＵＳＢ端子に接続された携帯メモリから更新用ファームウェアを入力したり、メモリカードや記録媒体から更新用ファームウェアを読取って入力しても構わない。この場合は、携帯メモリ、メモリカード、記録媒体がファームウェアアップデートのために接続もしくセットされたことを確認できたときに、不揮発性メモリからＲＡＭへのファームウェアの退避を開始し、更新用ファームウェアの転送を開始する。
【符号の説明】
【００８３】
１  複合機
２  データ更新装置
１１  主制御部（接続検出部、制御部）
１２  不揮発性メモリ
１３  ＲＡＭ（退避メモリ）
１４  バス制御部
１５  スキャナー
１６  プリンタエンジン
１７  操作パネル
１８  その他の機能部
１９  外部Ｉ／Ｆ
【図１】
2011227660.tif 000003
【図２】
2011227660.tif 000004
【図３】
2011227660.tif 000005
【図４】
2011227660.tif 000006
【図５】
2011227660.tif 000007
【図６】
2011227660.tif 000008
【図７】
2011227660.tif 000009
【図８】
2011227660.tif 000010
【図９】
2011227660.tif 000011
【図１０】
2011227660.tif 000012