(57)【要約】【課題】本発明の目的は、ファームウェアを更新するとき、トラブルを未然に防止し、失敗なく確実に書き換えができる更新方法を提供することにある。【解決手段】ファームウェアを更新する装置７の一時記憶メモリ１２に更新すべきファームウェア５のデータを転送し（Ｓ１０５）、転送動作が正常に行われたかどうかを判定する（Ｓ１０６）。正常に行われた場合に、再度一時記憶メモリ１２に更新すべきファームウェアのデータの転送を行い（Ｓ１０８）、一時記憶メモリ１２から読み出したデータにて、不揮発メモリ１０に格納されるファームウェア１１のデータを書き換え更新する（Ｓ２０７）。【選択図】図３
2005316667.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置の各種動作を制御するファームウェアを更新する方法であって、
該情報処理装置の第１の記憶手段に更新すべきファームウェアのデータを転送し、
該転送の動作が正常に行われたかどうかを判定し、
正常に行われたと判定した場合に、再度該第１の記憶手段に更新すべきファームウェアのデータの転送を行い、該第１の記憶手段から読み出したファームウェアのデータにて、当該装置のファームウェアを格納する第２の記憶手段のデータを書き換え更新することを特徴とするファームウェアの更新方法。
【請求項２】
請求項１記載のファームウェアの更新方法において、
前記第１の記憶手段は、前記更新すべきファームウェアのデータサイズよりも記憶容量が小さいことを特徴とするファームウェアの更新方法。
【請求項３】
請求項１記載のファームウェアの更新方法において、
前記ファームウェアのデータを、前記第１の記憶手段の記憶容量以下となるように全体を複数個に分割して転送し、かつ前記第２の記憶手段への書き換えも分割したデータ毎に行うことを特徴とするファームウェアの更新方法。
【請求項４】
請求項３記載のファームウェアの更新方法において、
前記転送動作の判定は、前記分割したデータを転送する毎に行うことを特徴とするファームウェアの更新方法。
【請求項５】
請求項１記載のファームウェアの更新方法において、
前記転送動作の判定は、転送されたデータのエラーが所定量以上の場合に異常と判定することを特徴とするファームウェアの更新方法。
【請求項６】
請求項１記載のファームウェアの更新方法において、
前記転送動作の判定で異常と判定した場合は、更新動作を終了することを特徴とするファームウェアの更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置のファームウェアを更新する方法に関し、特にファームウェアの更新を失敗なく確実に行う方法に関する。
【背景技術】
【０００２】
最近の情報機器は、その複雑で多機能な動作を制御するために、各機器のメモリにはファームウェアが格納され、これにより機器内の命令実行の制御を行っている。機器のバージョンアップによりファームウェアを高機能に更新する必要があるが、その都度メモリを交換するのでは作業が容易でなく、簡単に新たなファームウェアに更新（アップデート）する方法が求められている。更新作業は各機器のメモリに格納されたファームウェアのデータを書き換えるものであるが、作業性を改善するため以下の提案がなされている。
【０００３】
特許文献１に開示される方法は、ファームウェアを受け取るバッファメモリを装置に設け、更新する必要が生じた場合にオペレータが作業を行う必要がなく、自動的に更新作業を行えるようにしたものである。
【０００４】
特許文献２に示される方法は、携帯電話のファームウェア更新方法に関し、ネットワーク経由で複数の携帯電話に対して自動的に更新するものである。そのため、各携帯電話には、更新するためのプログラムを格納し、ファームウェアを受信したら自動的に更新するものである。
【０００５】
【特許文献１】特開２０００−１７２５０８号公報
【０００６】
【特許文献２】特開２００３−２０９５１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
一般に、情報処理装置のファームウェアは不揮発メモリに記録されている。これを更新（アップデート）する場合、ホストコンピュータなどの新ファームウェア供給元からデータを転送するが、情報処理装置は小容量の一時記憶メモリしか持たない場合がある。このような場合、一時記憶メモリへのデータ転送と不揮発メモリへの書き込みを交互に行う必要があり、データ転送時にホストコンピュータの暴走やデータ転送路の異常が原因となり、不揮発メモリへのデータ更新に失敗することがある。不揮発メモリへのデータ書換えが途中で一旦停止すると、更新作業を続行することができないばかりでなく、以前格納していたファームウェアのデータをも復元できなくなり、ユーザは大きな被害を被ることになる。
【０００８】
上記特許文献１や特許文献２においては、ファームウェアの更新における作業性改善に有効な提案ではあるが、上記トラブルについては何ら考慮されず示唆するものではない。
【０００９】
本発明の目的は、上記トラブルを未然に防止するため、ファームウェアを更新するとき、失敗なく確実に書き換えができる更新方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明による情報処理装置へのファームウェアの更新方法は、情報処理装置の第１の記憶手段に更新すべきファームウェアのデータを転送し、転送動作が正常に行われたかどうかを判定する。正常に行われたと判定した場合に、再度第１の記憶手段に更新すべきファームウェアのデータの転送を行い、第１の記憶手段から読み出したファームウェアのデータにて、情報処理装置のファームウェアを格納する第２の記憶手段のデータを書き換え更新するようにした。
【００１１】
特に第１の記憶手段は、更新すべきファームウェアのデータサイズよりも記憶容量が小さいものとし、転送すべきファームウェアのデータを、第１の記憶手段の記憶容量以下となるように全体を複数個に分割して転送し、かつ第２の記憶手段への書き換えも分割したデータ毎に行うようにした。
【００１２】
また転送動作の判定は、分割したデータを転送する毎に行うようにし、転送されたデータのエラーが所定量以上の場合に異常と判定するようにした。
【００１３】
そして、転送動作の判定で異常と判定した場合は、ファームウェアの更新動作を終了するものとする。
【発明の効果】
【００１４】
本発明によれば、ファームウェアを更新するとき、データ転送の異常を事前に判定できるので、ファームウェアを失敗なく確実に書き換えができるという効果がある。
【発明を実施するための最良の形態】
【００１５】
以下、本発明によるファームウェアの更新方法の実施形態を図面を用いて説明する。
【実施例１】
【００１６】
図１は、本発明に係るファームウェア更新システムの一例を示すブロック図であり、上位装置（ホストコンピュータ）からドライブ装置（光ディスク装置を例にする）へファームウェアの転送を行う場合を示す。上位装置（ホストコンピュータ）１は、ＣＰＵ２、インターフェース３、メモリ４を有し、メモリ４には更新すべき新しいファームウェア５と、更新作業を制御するアップデートアプリケーション（更新ツール）６を格納している。
【００１７】
一方ドライブ装置（光ディスク装置）７は、インターフェース８、制御回路９、不揮発メモリ１０、一時記憶メモリ１２、記録再生回路１３、光ヘッド１４を備える。不揮発メモリ１０は、例えばフラッシュＲＯＭなどであり、光ディスク装置の動作を制御するためのファームウェア１１が格納されている。一時記憶メモリは例えば小容量のＤＲＡＭであり、ファームウェアを不揮発メモリ１０へ格納する前のバッファメモリとして用いる。ホストコンピュータ１のインターフェース３と光ディスク装置７のインターフェース８とは、例えばＡＴＡ／ＡＴＡＰＩ規格インターフェースにて接続され、これを介してファームウェアの更新（アップデート）を行う。
【００１８】
次に図３は、図１のファームウェア更新システムの動作を説明する図である。これを用いて、本発明のファームウェアの更新方法を詳細に説明する。
【００１９】
上位装置１はメモリ４からアップデートアプリケーション６を起動し、ドライブ装置７へアップデートの作業開始指令を発行する（Ｓ１０１、Ｓ２０１）。一時記憶メモリ１２のサイズ（容量）を要求し（Ｓ１０２）、ドライブ装置はこれに返信する（Ｓ２０２）。上位装置は受信したメモリサイズに基づき、転送するデータサイズを計算し（Ｓ１０３）、その値をドライブ装置へ指定する（Ｓ１０４）。すなわち本実施例では、一時記憶メモリ１２のサイズは更新するファームウェアの全データサイズよりも小さく、従って、データを複数個に分割して転送することを前提とする。
【００２０】
上位装置は、メモリ４に格納している新ファームウェア５を読み出し、これを上記データサイズに分割し、ドライブ装置へテスト用に転送する（Ｓ１０５）。ドライブ装置は、転送されたデータを一時記憶メモリ１２に書き込む（Ｓ２０３）だけであり、不揮発メモリ１０のファームウェア１１は、そのまま保持し、書き換え動作は行わない。
【００２１】
ドライブ装置は、データが正常に受信できたかどうか、受信データのエラーチェックを行う。例えばウルトラＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送時にＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）エラーが発生した場合や、転送するデータにチェックサムを付けてその計算が合わない場合には、転送路に異常があるものと判定する。このようなエラーの発生は、転送路ケーブルの不良や外乱ノイズの影響などが原因と考えられる。また転送時の異常は、上位装置（ホストコンピュータ）側が原因となる場合もある。これは、アップデートアプリケーション６自身がホストコンピュータ内の他のアプリケーションと競合し、いわゆるコンピュータが暴走する場合である。この場合には、データの送信自身の異常であって、所定時間内にデータの転送が完了しないとか、あるいは装置電源が緊急遮断することになる。ドライブ装置はこのような転送テスト結果を記録し、上位装置へ返信する（Ｓ２０４）。転送結果が異常のときは、アラーム信号として通報、表示することもできる。
【００２２】
上位装置は、テスト結果を判断し、もし異常と判定したら更新作業を終了する（Ｓ１０６）。正常の場合は、全データについて上記転送テストを繰り返す（Ｓ１０７）。分割したデータ毎に転送結果を判定することで、精度の高いテストを実行できる。
【００２３】
全データについて転送テストした結果正常であった場合、上位装置は、工程（Ｓ１０５）と同様に分割したファームウェアのデータをドライブ装置へ、更新用に再度転送する（Ｓ１０８）。ドライブ装置は、これを一時記憶メモリ１２に書き込む（Ｓ２０５）とともに、これから読み出し（Ｓ２０６）、読み出したデータで不揮発メモリ１０のファームウェア１１を書き換える（Ｓ２０７）。これらの工程（Ｓ１０８、Ｓ２０５、Ｓ２０６、Ｓ２０７）では、既に前記転送テストにて正常に動作することを確認しているので、基本的に動作は正常に実行される。このようにして全データの転送を繰り返し（Ｓ１０９）、更新作業を終了する（Ｓ２０８、Ｓ１１０）。
【００２４】
本実施例によれば、データ転送テストの工程を設けたので、転送が正常に行えるか否かを事前に判定できる。よって、本番のファームウェア転送更新時の失敗を未然に防止することができる。すなわち、本実施例の転送テストでは、本番の転送更新を行う際と同一の転送路と同一のデータを用いて動作確認を行うものである。よってテスト結果が正常であれば、本番の動作も正常に実行されることが保証される。またテスト用データを本番用データと同一としたので、ホストコンピュータの暴走などによるトラブルの有無を、的確に確認することができる。この転送テストにて仮に異常が生じた場合、一時記憶メモリ１２のデータが破壊されることになるが、ドライブ装置にとってこれが何ら支障になるものではない。
【００２５】
上記実施例においては、転送テストとして一時記憶メモリ１２へのデータ転送及び書き込みを行ったが、さらにテスト内容を拡張して、一時記憶メモリ１２からデータを読み出し不揮発メモリ１０への書き込みをも含めても良い。この場合は、不揮発メモリ１０に未使用の空領域があることを前提とし、その領域に数バイトだけデータを書き込むことにより不揮発メモリの書き込みが正常に行えるかどうか、すなわちドライブ装置の内部の動作を事前に判定することができる。
【実施例２】
【００２６】
図２は、本発明に係るファームウェア更新システムの他の例を示すブロック図であり、上位装置（サーバ）から複数の携帯電話端末へファームウェアの転送を行う場合を示す。上位装置（サーバ）２１の基本構成は、前記実施例１の場合と同じである。複数の携帯電話端末２８ａ、２８ｂ、２８ｃは、公衆回線（インターネット）２７を介して接続される。各端末は、インターフェース２９ａ、２９ｂ、２９ｃと、一時記憶メモリ３０ａ、３０ｂ、３０ｃと、不揮発メモリ３１ａ、３１ｂ、３１ｃとこれに格納されるファームウェア３２ａ、３２ｂ、３２ｃを備える。
【００２７】
個々の携帯電話端末における更新動作は、前記図３の説明の通りである。すなわち、上位装置の新ファームウェア２５のデータを、公衆回線２７を介して各端末の一時記憶メモリ３０ａ、３０ｂ、３０ｃに転送テストを行う。その結果異常がないことを確認して、再度データを一時記憶メモリ３０ａ、３０ｂ、３０ｃ転送し、さらに不揮発メモリのファームウェア３２ａ、３２ｂ、３２ｃを書き換える。ここに上位装置は、各端末毎に転送テスト結果を判定し、異常と判定した端末に対しては更新作業を終了し、正常と判定した端末に対してのみファームウェアの書換えを実行する。
【００２８】
本実施例においても、本番のファームウェア転送更新時の失敗を未然に防止することができるだけでなく、複数の端末に対して、同時に更新作業を実行することができる効果がある。この場合転送路は公衆回線であり、外乱ノイズの影響を受けやすく、また端末毎にその環境が異なるのに対し、好適に対応できる効果がある。
【００２９】
上記実施例１、２においては、更新動作を上位装置側にて制御するため、アップデートアプリケーション（更新ツール）６、２６を上位装置側にて所有する構成とした。本発明はこれに限らず、アップデートアプリケーションをドライブ装置７や携帯電話端末２８ａ、２８ｂ、２８ｃにて所有し、更新動作をドライブ装置や携帯電話端末側にて制御する場合にも適用できる。
【産業上の利用可能性】
【００３０】
本発明のファームウェア更新方法は、ファームウェアを所有する情報処理装置すべてに対し適用可能である。
【図面の簡単な説明】
【００３１】
【図１】本発明に係るファームウェア更新システムの一例を示すブロック図。
【図２】本発明に係るファームウェア更新システムの他の例を示すブロック図。
【図３】本発明のファームウェア更新システムの動作を説明する図。
【符号の説明】
【００３２】
１…上位装置（ホストコンピュータ）
４…メモリ
５…新ファームウェア
６…アップデートアプリケーション
７…ドライブ装置（光ディスク装置）
１０…不揮発メモリ
１１…ファームウェア
１２…一時記憶メモリ
２１…上位装置（サーバ）
２７…公衆回線（インターネット）
２８ａ，２８ｂ，２８ｃ…携帯電話端末。
【図１】
2005316667.tif 000003
【図２】
2005316667.tif 000004
【図３】
2005316667.tif 000005