JP2004054421A - メモリ、情報処理装置、記憶方法および情報処理方法 - Google Patents

メモリ、情報処理装置、記憶方法および情報処理方法 Download PDF

Info

Publication number
JP2004054421A
JP2004054421A JP2002208484A JP2002208484A JP2004054421A JP 2004054421 A JP2004054421 A JP 2004054421A JP 2002208484 A JP2002208484 A JP 2002208484A JP 2002208484 A JP2002208484 A JP 2002208484A JP 2004054421 A JP2004054421 A JP 2004054421A
Authority
JP
Japan
Prior art keywords
firmware
information processing
stored
program
storage
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.)
Pending
Application number
JP2002208484A
Other languages
English (en)
Inventor
Yusuke Yamada
山田 雄介
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2002208484A priority Critical patent/JP2004054421A/ja
Publication of JP2004054421A publication Critical patent/JP2004054421A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ファームウェアをメモリに記憶させる。
【解決手段】メモリは、ファームウェアを記憶する領域202と、ファームウェアが領域202に正常に記憶されていることを表わす判断データを記憶する領域204と、プログラムを記憶する領域206とを含む。この領域206には、ファームウェアを更新する第1のプログラム、メモリを含む情報処理装置を始動する第2のプログラム、および情報処理装置の外部からファームウェアを受信する第3のプログラムが記憶される。第2のプログラムの実行により情報処理装置が起動すると、第1のプログラムが実行される。このとき、判断データが領域204に記憶されていない場合には、第3のプログラムが実行され、外部からファームウェアを受信し、領域202にファームウェアを書き込み、領域204に判断データを書き込む。
【選択図】    図2

Description

【0001】
【発明の属する技術分野】
本発明はソフトウェアを記憶/更新する技術に関し、特に、ファームウェアを更新する技術に関する。
【0002】
【従来の技術】
情報処理装置は、通常、それに組み込まれたソフトウェアにより、予め定められた処理を実行する。たとえば、PC(Personal Computer)には、BIOS(Basic Input Output System)と呼ばれるソフトウェアが含まれる。ユーザがPCを起動すると、そのBIOSが最初に実行され、PCを所定の状態に設定する。その後、オペレーティングシステムの起動やアプリケーションプログラムの実行など、他のソフトウェアによる処理が可能となる。さらに、このBIOSを更新すると、PCの機能を拡張することができる。
【0003】
また、多くの一般ユーザに行き渡った携帯電話の場合、新たなソフトウェアを追加すると、そのソフトウェアによる機能を実現することができる。通常、携帯電話の各ユーザが、このソフトウェアをインストールすることになる。インストールが完了すると、ユーザは、新しい機能を利用することができる。
【0004】
あるいは、現金自動預け払い機(Automated Teller Machine、以下、ATMと表わす。)において、たとえば、ユーザが現金の引出しを求める場合には、キャッシュカードの挿入を検出する処理、そのカードの正当性を判断する処理、カードの使用者が入力した情報(暗証番号、金額など)を判断する処理、ATMとホスト機との間の通信処理、支払い金額を準備する処理、金額を払い出す処理、明細書を発行する処理などが実行される。ATMにこれらの一連の処理を実行させるため、その処理を実行するソフトウェアが予めATMに記憶されている。したがって、このソフトウェアを更新することにより、ATMが実行する処理を変更することができる。
【0005】
一般に、これらのソフトウェアは、ファームウェアと呼ばれている。このファームウェアは、上記の例のように、情報処理装置に含まれる記憶装置(たとえば、ROM(Read Only Memory)など)に、予め記憶されている。したがって、ファームウェアの更新では、それらの記憶装置に新しいファームウェアを書き込むことになる。
【0006】
ところで、このファームウェアを更新するとき、何らかの異常により、更新が正常に完了しない場合がある。新しいファームウェアを書き込んでいた情報処理装置が、たとえば停電により、途中で停止した場合である。このような場合、情報処理装置のファームウェアは完全な状態で記憶されていないため、再起動できないことがある。
【0007】
そこで、その記憶装置を取り外し、再度、ファームウェアを書き込む処理が必要になる。たとえば、ファームウェアがROMに記憶されている場合、ROMライタなどを用いて、更新したいファームウェアを書き込むことになる。記憶装置を取り外すことができない場合、専用の冶具を用いる必要がある。このように、一度ファームウェアの更新が異常に終了すると、容易に復旧することができない。
【0008】
このような課題を解決するために、たとえば、特開平9−325887号公報は、コンピュータのBIOSを書き換えるためのシステムを開示する。この公報が開示するBIOS書換システムは、BIOSの実行を前提とせずに起動可能なBIOS書換プログラムを格納した書換プログラム記憶回路と、コンピュータのBIOS記憶回路に格納されたBIOSを書き換えるBIOS書換回路とを含む。
【0009】
このシステムによると、BIOSの更新が正常に終了しなかった場合、コンピュータの再起動を指示すると、BIOS書換プログラムが実行される。このプログラムが実行されると、BIOS書換回路により、BIOS記憶回路に新しいBIOSが書き込まれる。これにより、BIOSが正常に更新されなかった場合でも、コンピュータを再起動すると、BIOSが更新される。
【0010】
また、特開平11−338690号公報は、ファームウェア使用システムを開示する。この公報が開示するシステムは、ファームウェアを格納した第1の特定領域と、システム立ち上げプログラムおよびファームウェア書換プログラムを格納した第2の特定領域とを含むメモリと、ファームウェアを実行する回路と、ファームウェア書換プログラムを実行する回路とを含む。
【0011】
このシステムによると、ファームウェアの更新が正常に終了しなかった場合、装置の再起動を指示すると、第2の特定領域に格納されたシステム立ち上げプログラムがこの装置を起動する。装置が起動すると、ファームウェア書換プログラムが実行され、ファームウェアの更新が行なわれる。これにより、ファームウェアが第1の特定領域に書き込まれる。
【0012】
【発明が解決しようとする課題】
しかしながら、上記に開示されたシステムについては、以下のような問題点が考えられる。第1に、このシステムが適用される範囲が、たとえば、取り外し可能な記憶媒体を持つ装置に限定されるという場合が考えられる。第2に、ファームウェアの容量が大きい場合、コストが増加するという問題がある。第3に、メモリが機器から取り外されると、ファームウェアの記憶状態を把握することが困難になる場合がある。
【0013】
本発明は上述の課題を解決するためになされたものであって、ファームウェアの記憶状態に対応させて、ファームウェアの更新と実行とが切り換えられ、さらには記憶状態を確認することができるメモリ、情報処理装置、記憶方法および情報処理方法を提供することである。
【0014】
【課題を解決するための手段】
第1の発明に係るメモリは、ファームウェアを記憶する第1の記憶領域と、ファームウェアが第1の記憶領域に正常に記憶されていることを表わす判断データを記憶する第2の記憶領域とを含む。
【0015】
第1の発明によると、メモリはファームウェア(たとえば、OS(Operating System)、BIOS(Basic Input Output System)、通信機器の制御プログラムなど)を記憶する。情報処理装置がファームウェアを実行すると、予め定められた処理が実行される。このメモリの第1の記憶領域は、このようなファームウェアを記憶する。第2の記憶領域は、ファームウェアが第1の記憶領域に正常に記憶されていることを表わす判断データを記憶する。したがって、第2の記憶領域に記憶された判断データを確認することにより、そのメモリはファームウェアを正常に記憶しているか否かを確認することができる。その結果、ファームウェアの記憶状態に対応させて、ファームウェアを更新することができるメモリを提供することができる。
【0016】
第2の発明に係るメモリは、第1の発明の構成に加えて、ファームウェアを第1の記憶領域に書き込む第1のプログラムを記憶する第3の記憶領域をさらに含む。第1のプログラムが実行されると、ファームウェアを第1の領域に書き込む処理の状況に対応して、第2の記憶領域におけるデータの記憶状態が更新される。
【0017】
第2の発明によると、第3の記憶領域は、ファームウェアを第1の記憶領域に書き込むための第1のプログラムを記憶する。その第1のプログラムが実行されると、ファームウェアが更新されるのに対応して、判断データの更新(たとえば、判断データの削除、再書き込み、など)が第2の記憶領域において行なわれる。したがって、判断データが第2の記憶領域に記憶されている場合には、ファームウェアは正常に書き込まれていると判断することができる。一方、判断データが第2の記憶領域に記憶されていない場合、あるいは、判断データとは異なるデータが第2の記憶領域に記憶されている場合には、ファームウェアは正常に書き込まれていないと判断することができる。このようにして、ファームウェアの記憶状態を確認することができ、その記憶状態に対応させて、メモリに記憶されたファームウェアを更新することができる。
【0018】
第3の発明に係るメモリは、第2の発明の構成に加えて、第1のプログラムが実行されると、第1の記憶領域にファームウェアを書き込む処理が開始する前に、第2の記憶領域に記憶されたデータは消去されるものである。第1の記憶領域にファームウェアを書き込む処理が正常に完了すると、判断データは第2の記憶領域に書き込まれるものである。
【0019】
第3の発明によると、第1のプログラムが実行されると、第1の記憶領域にファームウェアを書き込む処理を開始する前に、判断データは消去される。第1の記憶領域にファームウェアを書き込む処理が正常に完了すると、判断データが第2の記憶領域に書き込まれる。したがって、判断データが第2の記憶領域に記憶されている場合には、ファームウェアはメモリに正常に記憶されていると判断することができる。一方、判断データが書き込まれていない場合には、ファームウェアを第1の記憶領域に書き込む処理が途中で終了した、すなわち、ファームウェアは正常に記憶されていないと判断することができる。このようにして、ファームウェアの記憶状態を確認することができ、その記憶状態に対応させて、ファームウェアをメモリに更新することができる。
【0020】
第4の発明に係るメモリは、第2または第3の発明の構成に加えて、メモリは、第2のプログラムを記憶する第4の記憶領域をさらに含む。第2のプログラムは、判断データに基づいて、ファームウェアおよび第3のプログラムのいずれを実行するのかを判断する。第3のプログラムは、ファームウェアの原本であるマスタファームウェアをメモリの外部から受信し、マスタファームウェアをファームウェアとして第1の記憶領域に書き込む。
【0021】
第4の発明によると、情報処理装置は、利用者の指示(たとえば、電源スイッチのオンなど)に基づいて、情報処理装置を始動するための第2のプログラム(たとえば、開始プログラムなど)を実行する。第4の記憶領域は、第2のプログラムを記憶する。この第2のプログラムは、判断データに基づいて、ファームウェアおよび第3のプログラムのいずれを実行するのかを判断する。すなわち、判断データが第2の記憶領域に記憶されている場合には、第1の記憶領域に記憶されているファームウェアが実行される。ファームウェアが実行されると、情報処理装置は、予め定められた処理を継続する。一方、判断データが第2の記憶領域に記憶されていない場合には、第3のプログラムが実行される。この第3のプログラムは、メモリの外部から、ファームウェアの原本であるマスタファームウェアを受信し、そのマスタファームウェアをファームウェアとして第1の記憶領域に書き込み、情報処理装置を再び始動する。したがって、ファームウェアの記憶状態が異常であっても、メモリに記憶された第3のプログラムを実行することにより、ファームウェアが更新され、情報処理装置の処理を継続することができる。これにより、メモリは、第2の記憶領域に記憶した判断データに対応して、ファームウェアの実行およびファームウェアの更新を切り換えることができる。その結果、記憶状態に対応させて、ファームウェアの処理を切り換えることができるメモリを提供することができる。
【0022】
第5の発明に係る情報処理装置は、ファームウェアと、ファームウェアが正常に記憶されていることを表わす判断データとを記憶するための記憶手段と、判断データに基づいて、ファームウェアが正常に記憶されているか否かを判断するための判断手段と、ファームウェアが正常に記憶されていると判断されると、ファームウェアを実行するための第1の実行手段と、ファームウェアが異常に記憶されていると判断されると、記憶装置からマスタファームウェアを読み出すための読出手段と、読み出したマスタファームウェアをファームウェアとして記憶手段に書き込むプログラムを実行するための第2の実行手段とを含む。
【0023】
第5の発明によると、ファームウェアが情報処理装置の処理を実行する。この情報処理装置は、ファームウェアの原本であるマスタファームウェアを記憶する外部の記憶装置に接続される。この情報処理装置の記憶手段は、ファームウェアと、ファームウェアが正常に記憶されていることを表わす判断データとを記憶する。判断手段は、その判断データに基づいて、ファームウェアが正常に記憶されているか否かを判断する。判断データが記憶されている場合(すなわち、ファームウェアが正常に記憶されている場合)、第1の実行手段は、ファームウェアを実行する。判断データが記憶されていない場合(すなわち、ファームウェアが正常に記憶されていない場合)、読出手段は、外部の記憶装置からマスタファームウェアを読み出す。第2の実行手段は、読み出したマスタファームウェアをファームウェアとして記憶手段に書き込むプログラムを実行する。このようにして、判断データが正常に記憶されている場合には、そのファームウェアを実行し、判断データが記憶されていない場合には、外部から取得したファームウェアを使用してファームウェアを記憶手段に更新することができる。これにより、ファームウェアの記憶状態が異常であるために情報処理装置が作動しないということを防止することができる。その結果、ファームウェアの記憶状態に対応させて、ファームウェアの更新と実行とを切り換えることができる情報処理装置を提供することができる。
【0024】
第6の発明に係る情報処理装置は、第5の発明の構成に加えて、記憶手段は、ファームウェアを記憶する第1の記憶領域と、判断データを記憶する第2の記憶領域とを含む。第2の実行手段は、マスタファームウェアを第1の記憶領域に書き込む更新プログラムを実行するための手段を含む。情報処理装置は、さらに、更新プログラムの実行が開始されると、判断データを消去するための消去手段と、更新プログラムの実行が正常に終了すると、ファームウェアが正常に記憶されていることを表わす値を判断データとして第2の記憶領域に書き込むための書込手段とを含む。
【0025】
第6の発明によると、記憶手段の第1の記憶領域は、ファームウェアを記憶する。第2の記憶領域は、判断データを記憶する。第2の実行手段が更新プログラムを実行すると、マスタファームウェアが第1の記憶領域に書き込まれる。その更新プログラムの実行が開始されると、消去手段は、判断データを消去する。更新プログラムの実行が正常に終了したときには、書込手段は、ファームウェアが正常に記憶されていることを表わす値を、判断データとして第2の記憶領域に書き込む。したがって、ファームウェアの更新が正常に終了すると、第2の記憶領域には判断データが記憶されている。一方、ファームウェアの更新が異常に終了すると、第2の記憶領域はブランク(たとえば、「0xFFFF」)のままである。これにより、第2の記憶領域に記憶されている値に基づいて、ファームウェアの記憶状態を検出することができる。その結果、情報処理装置が次回作動するときに、ファームウェアの記憶状態に対応させて予め定められた処理を実行することができる。
【0026】
第7の発明に係る情報処理装置は、第5または第6の発明の構成に加えて、情報処理装置は、ネットワークに接続され、予め定められた条件を満足すると、情報提供装置からマスタファームウェアを受信するための受信手段と、受信手段に接続され、マスタファームウェアをファームウェアとして記憶手段に書き込むプログラムを実行するため第3の実行手段とをさらに含む。
【0027】
第7の発明によると、情報処理装置は、ネットワークを介して情報提供装置に接続される。その情報提供装置は、ファームウェアの原本であるマスタファームウェアを記憶する。情報処理装置の受信手段は、予め定められた条件を満足すると(たとえば、予め定められた時間が経過すると、ファームウェアの記憶状態が異常であることが検出されると、あるいは、情報処理装置がマスタファームウェアのダウンロードの要求を送信すると等)、情報提供装置からマスタファームウェアを受信する。第3の実行手段が更新プログラムを実行すると、そのマスタファームウェアはファームウェアとして記憶手段に書き込まれる。これにより、情報処理装置がネットワークに接続されている場合、そのネットワークに接続された情報提供装置からファームウェアを受信して、情報処理装置のファームウェアを更新することができる。
【0028】
第8の発明に係る情報処理装置は、第7の発明の構成に加えて、受信手段は、ファームウェアが異常に記憶されていると判断されると、情報提供装置からマスタファームウェアを受信するための手段を含む。
【0029】
第8の発明によると、ファームウェアが異常に記憶されていると判断されると、受信手段は、情報提供装置からマスタファームウェアを受信する。第2の実行手段が更新プログラムを実行すると、マスタファームウェアはファームウェアとして記憶手段に書き込まれる。これにより、ファームウェアが正常に記憶されていない場合には、ネットワークに接続された情報処理装置のファームウェアを更新することができる。
【0030】
第9の発明に係る情報処理装置は、第7の発明の構成に加えて、受信手段は、予め定められた時間ごとに、個別のマスタファームウェアを情報提供装置から受信するための手段を含む。
【0031】
第9の発明によると、情報提供装置は、個別のマスタファームウェアを記憶する。この個別のマスタファームウェアは、ネットワークに接続された2以上の情報処理装置のそれぞれに対応したファームウェアである。情報提供装置は、予め定められた時間ごとに、それぞれの情報処理装置にその個別のマスタファームウェアを送信する。情報処理装置の受信手段は、予め定められた時間ごとに、情報提供装置から、その情報処理装置に対応したマスタファームウェアを受信する。第3の実行手段は、更新プログラムを実行して、そのマスタファームウェアをファームウェアとして記憶手段に書き込む。これにより、それぞれの情報処理装置は、予め定められた時間ごとに、ファームウェアを更新することができる。
【0032】
第10の発明に係る情報処理装置は、第7の発明の構成に加えて、固有である装置データを取得するためのデータ取得手段と、装置データとダウンロード要求とを情報提供装置に送信するための送信手段と、更新データの中から個別のファームウェアを取得するためのファームウェア取得手段とをさらに含む。
【0033】
第10の発明によると、情報提供装置は、ネットワークを介して2以上の異なる情報処理装置に接続される。これらの情報処理装置は、それぞれ異なるファームウェアを使用する。この情報提供装置は、そのような情報処理装置のそれぞれに対応した個別のマスタファームウェアと、情報処理装置のそれぞれに固有である装置データとを対応させて更新データとして記憶する。情報処理装置のデータ取得手段は、情報処理装置に固有である装置データを取得する。送信手段は、その装置データとファームウェアのダウンロード要求とを情報提供装置に送信する。情報提供装置が、2以上の情報処理装置のいずれかからファームウェアのダウンロード要求を受信すると、受信した装置データに対応するファームウェアを含む更新データを検索する。更新データが検索されると、情報提供装置は、そのダウンロード要求を送信した情報処理装置に更新データを送信する。情報処理装置のファームウェア取得手段は、受信した更新データの中からファームウェアを取得する。このようにして、情報処理装置の記憶手段におけるファームウェアの記憶状態が異常であるときには、情報処理装置は、そのファームウェアのダウンロード要求とその情報処理装置に固有な装置データとを情報提供装置に送信する。その後、情報処理装置に対応したファームウェアが、情報提供装置から情報処理装置に送信される。これにより、複数の情報処理装置およびそれらに固有なファームウェアを記憶した情報提供装置が接続されたネットワークを介して、それぞれの情報処理装置に対応したファームウェアを更新することができる。
【0034】
第11の発明に係る記憶方法は、ファームウェアを記憶する第1の記憶ステップと、ファームウェアが第1の記憶領域に正常に記憶されていることを表わす判断データを記憶する第2の記憶ステップとを含む。
【0035】
第11の発明によると、記憶方法はファームウェア(たとえば、OS(Operating System)、BIOS(Basic Input Output System)、通信機器の制御プログラムなど)を記憶する。情報処理装置がファームウェアを実行すると、予め定められた処理が実行される。この記憶方法の第1の記憶ステップは、このようなファームウェアを記憶する。第2の記憶ステップは、ファームウェアが第1の記憶方法により正常に記憶されていることを表わす判断データを記憶する。したがって、第2の記憶ステップにより記憶された判断データを確認すると、ファームウェアが正常に記憶されているか否かを確認することができる。その結果、ファームウェアの記憶状態に基づいて、ファームウェアを更新することができる記憶方法を提供することができる。
【0036】
第12の発明に係る情報処理方法は、ファームウェアと、ファームウェアが正常に記憶されていることを表わす判断データとを記憶する記憶ステップと、判断データに基づいて、ファームウェアが正常に記憶されているか否かを判断する判断ステップと、ファームウェアが正常に記憶されていると判断されると、ファームウェアを実行する第1の実行ステップと、ファームウェアが異常に記憶されていると判断されると、記憶装置からマスタファームウェアを読み出す読出ステップと、読み出したマスタファームウェアをファームウェアとして書き込むプログラムを実行する第2の実行ステップとを含む。
【0037】
第12の発明によると、ファームウェアが情報処理方法を実行する。この情報処理方法は、ファームウェアの原本であるマスタファームウェアを記憶する外部の記憶装置を使用する。この情報処理方法の記憶ステップは、ファームウェアと、ファームウェアが正常に記憶されていることを表わす判断データとを記憶する。判断ステップは、その判断データに基づいて、ファームウェアが正常に記憶されているか否かを判断する。判断データが記憶されている場合(すなわち、ファームウェアが正常に記憶されている場合)、第1の実行ステップは、ファームウェアを実行する。判断データが記憶されていない場合(すなわち、ファームウェアが正常に記憶されていない場合)、読出ステップは、外部の記憶装置からマスタファームウェアを読み出す。第2の実行ステップは、読み出したマスタファームウェアをファームウェアとして書き込むプログラムを実行する。このようにして、判断データが正常に記憶されている場合には、そのファームウェアを実行することができる。判断データが記憶されていない場合には、外部から取得したファームウェアを使用してファームウェアを更新することができる。これにより、ファームウェアの記憶状態が異常であるために情報処理方法が実行されないということを防止することができる。その結果、ファームウェアの記憶状態に対応させて、ファームウェアの更新と実行とを切り換えることができる情報処理方法を提供することができる。
【0038】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0039】
<第1の実施の形態>
図1に、本発明の実施の形態に係る情報処理装置100を含むネットワーク構成を示す。情報処理装置100は、CPU(Central Processing Unit)102と、RAM(Random Access Memory)108と、通信IF(Interface)106と、不揮発性メモリ200とを含む。この情報処理装置100は、通信IF106を介して、ファイルサーバ110に接続される。
【0040】
ファイルサーバ110は、CPU112と記憶装置114と通信IF116とを含む。記憶装置114は、情報処理装置100で使用されるファームウェアの原本を記憶する。
【0041】
情報処理装置100のCPU102は、不揮発性メモリ200に記憶されているファームウェアを実行する。CPU102は、通信IF106を介して、ファイルサーバ110から受信した情報(たとえば、プログラム、データなど)をRAM108に一時的に保存する。CPU102は、通信IF106を介して、情報(たとえば、プログラムのダウンロードの要求など)をファイルサーバ110に送信する。
【0042】
図2に、本発明の実施の形態に係る不揮発性メモリ200を示す。この不揮発性メモリ200はフラッシュメモリを想定しているが、フラッシュメモリに限らず、不揮発性のメモリであって、電気的な消去および書換が可能なメモリであればよい。不揮発性メモリ200は、第1の領域202と、第2の領域204と、第3の領域206とを含む。
【0043】
図2において、第1の領域202には、ファームウェアが記憶される。この第1の領域202は、たとえば、アドレスが「0xFC002002」から「0xFCFFFFFF」までの領域である。なお、ファームウェアとは、機器を制御するソフトウェアである。このファームウェアが実行されると、予め定められた処理が行なわれる。
【0044】
第2の領域204には、判断データが記憶される。この第2の領域204は、たとえば、アドレスが「0xFC002000」から「0xFC002002」までの領域である。この領域は、書き込み/消去が可能な領域である。すなわち、予め定められたプログラムが実行されると、そのプログラムの処理の状態に応じて、データがこの領域に書き込まれたり、あるいは、データが消去される。
【0045】
なお、判断データとは、ファームウェアが第1の領域202に正常に記憶されていることを表わすデータである。たとえば、「0x0000」という値である。すなわち、「0x0000」の値が第2の領域204に記憶されているときは、ファームウェアが第1の領域202に正常に記憶されていると判断することができる。
【0046】
一方、それ以外の値、たとえば、「0xFFFF」の値がこの領域に記憶されているときは、ファームウェアが第1の領域202に正常に記憶されていないと判断することができる。
【0047】
この判断データは、特に上述の値に限定されず、ファームウェアが正常に記憶されていることを表わすデータと、その他のデータとが区別できればよい。このようにして、ファームウェアのメモリにおける記憶の状態を判断することができる。
【0048】
第3の領域206には、第1のプログラムと、第2のプログラムと、第3のプログラムとが記憶される。この第3の領域206は、たとえば、アドレスが「0xFC000000」から「0xFC002000」までの領域である。
【0049】
ここで、第1のプログラムとは、情報処理装置100を始動するためのプログラム(以下、始動プログラムという。)である。利用者が、情報処理装置100の電源スイッチをオンにすると、この始動プログラムが実行される。
【0050】
また、第2のプログラムは、記憶状態判断プログラムである。このプログラムが実行されると、第2の領域204に記憶された判断データに基づいて、ファームウェアが第1の領域202に正常に記憶されているか否かが判断される。
【0051】
第3のプログラムは、ファームウェア復旧プログラムである。このプログラムが実行されると、ファームウェアを第1の領域202に更新するための処理が実行される。
【0052】
この第3の領域206は、データの書き込みが保護された領域である。すなわち、この領域に記憶されたプログラムは、書きかえられることがない。
【0053】
なお、この書き込みの保護は、フラッシュメモリの機能である、ブロック単位でロックをかける機能を使用することにより、あるいは、この領域にデータを書き込まないようにプログラムを作成することにより実現可能である。これにより、ファームウェアの実行および更新に必要なプログラムは、正常な状態で記憶しておくことができる。
【0054】
図3を参照して、本発明の実施の形態に係る情報処理装置100が、ファームウェアの終了状態を判断して実行するまでの手順を、フローチャートに基づいて説明する。
【0055】
ステップ102にて(以下、ステップをSと略す。)、情報処理装置100のCPU102は、システムの始動(たとえば、利用者が電源スイッチを押下したこと)を検知する。
【0056】
S104にて、CPU102は、始動プログラムを実行する。この始動プログラムが実行されると、予め定められた、情報処理装置100を利用可能にするための準備の処理が実行される。
【0057】
S200にて、CPU102は、後述する記憶状態判断処理を実行する。この記憶状態判断処理が実行されることにより、ファームウェアが第1の領域202に正常に記憶されているか否かを表わすフラグが返される。
【0058】
S108にて、CPU102は、ファームウェアが第1の領域202に正常に記憶されているか否かを判断する。ファームウェアが第1の領域202に正常に記憶されていると判断すると(S108にてYES)、処理はS110に移される。そうでないと(S108にてNO)、処理はS300に移される。
【0059】
S110にて、CPU102は、ファームウェアを実行する。このファームウェアが実行されると、情報処理装置100は利用者にとって利用可能な状態になり、その後、予め定められた処理を実行することができる。
【0060】
S300にて、CPU102は、後述するファームウェア復旧処理を実行する。このファームウェア復旧処理が実行されると、ファームウェアが更新される。その後、処理はS200に戻される。
【0061】
図4を参照して、CPU102が記憶状態判断処理を実行する手順を、フローチャートに基づいて説明する。
【0062】
S202にて、CPU102は、ファームウェアが正常に記憶されていることを表わす判断データが第2の領域204に記憶されているか否かを判断する。判断データが第2の領域204に記憶されていると判断すると(S202にてYES)、処理はS204に移される。そうでないと(S202にてNO)、処理はS206に移される。
【0063】
S204にて、CPU102は、ファームウェアが第2の領域204に正常に記憶されていることを表わすフラグ(たとえば、「0」)を出力する。S206にて、CPU102は、ファームウェアが第2の領域204に正常に記憶されていないことを表わすフラグ(たとえば、「1」)を出力する。その後、処理は、メインの処理に戻される。
【0064】
図5を参照して、本発明の実施の形態に係る情報処理装置100が、ファームウェア処理を実行する手順を、フローチャートに基づいて説明する。
【0065】
S302にて、CPU102は、通信IF106を初期化する。これにより、情報処理装置100は、ファイルサーバ110と通信可能な状態になる。
【0066】
S400にて、CPU102は、後述するファームウェア更新処理を実行する。この処理が実行されると、ファームウェアが第1の領域202に記憶される。
【0067】
S306にて、CPU102は、情報処理装置100を再起動する。その後、処理は、メインの処理に戻される。
【0068】
図6を参照して、本実施の形態に係る情報処理装置100がファームウェアを更新する手順を、フローチャートに基づいて説明する。
【0069】
S402にて、CPU102は、第2の領域204をクリアする。この領域をクリアする処理は、第2の領域204が含まれるブロックを消去することにより行なう。後述する判断データがこの領域に記憶されている場合、その判断データが削除されることになる。
【0070】
S403にて、CPU102は、不揮発性メモリ200の第1の領域202を消去する。S404にて、CPU102は、ARP(Address Resolution Protocol) Requestを送信する。この場合、情報処理装置100は、ファイルサーバ110のIP(Internet Protocol)アドレスを予め知っているものとする。このARP Requestは、ファイルサーバ110の物理アドレスであるMAC(Media Access Control)アドレスを要求するために使用される。
【0071】
S406にて、CPU102は、指定されたIPアドレスを持つファイルサーバ110からARP Responseを受信する。CPU102は、ARP Responseに基づいて、ファームウェアが記憶されたファイルサーバ110の物理アドレスを取得する。
【0072】
S408にて、CPU102は、ファイルサーバ110にファームウェアのダウンロードの要求を送信する。ここで、ファイルサーバ110において、ファイル転送プロトコルなどのサーバ側のプログラムが予め起動されているものとする。ファイルサーバ110は、クライアントからの要求に基づいて、必要なファイルを送信する。
【0073】
S410にて、CPU102は、ファームウェアのデータをファイルサーバ110から受信して、RAM108に一時的に保存する。
【0074】
S412にて、CPU102は、RAM108のデータを不揮発性メモリ200に書き込む。CPU102は、さらに、不揮発性メモリ200に書き込んだファームウェアのデータと、RAM108に一時的に保存したファームウェアのデータとを比較する。これにより、RAM108に一時的に保存されたファームウェアのデータが、不揮発性メモリ200に正常に書き込まれたことが確認される。
【0075】
S414にて、CPU102は、ファームウェアの更新が完了したか否かを判断する。ファームウェアの更新が完了したと判断されると(S414にてYES)、処理はS416に移される。そうでないと(S414にてNO)、処理はS418に移される。
【0076】
S416にて、CPU102は、第2の領域204に判断データを書き込む。この判断データは、ファームウェアが正常に記憶されたことを表わすデータである。そのデータは、たとえば「0x0000」である。すなわち、フラッシュメモリの領域のデータが消去されると、その領域の内容は「0xFFFF」となるため、「0xFFFF」以外の値であればよい。
【0077】
S418にて、CPU102は、ファームウェアのデータの受信中に異常を検出したか否かを判断する。ファームウェアのデータの受信中に異常を検出したと判断すると(S418にてYES)、処理はS420に移される。そうでないと(S418にてNO)、処理はS408に戻される。
【0078】
さらに、不揮発性メモリ200に書き込むときに異常が検出された場合(S418にてYES)、あるいは、不揮発性メモリ200に書き込んだファームウェアのデータと、RAM108に一時的に保存されたデータとを比較して、それらのデータが一致しない場合(S418にてYES)、処理はS420に移される。
【0079】
S420にて、CPU102は、予め定められたエラー処理を実行する。たとえば、情報処理装置100に、ファームウェアの更新が正常に実行できないことを表わすインジケータを表示する。
【0080】
以上のような構造およびフローチャートに基づく、本実施の形態に係る情報処理装置100において、ファームウェアが正しく記憶されていない情報処理装置100がファームウェアを更新する動作について説明する。
【0081】
ユーザが情報処理装置100の電源スイッチをオンにしたことが検知されると(S102)、不揮発性メモリ200に記憶されている始動プログラムが実行される(S104)。
【0082】
不揮発性メモリ200の第2の領域204に判断データが記憶されていないと(S202にてNO)、ファームウェアの記憶状態が異常であると判断され(S108にてNO)、ファームウェアの復旧処理が開始する(S300)。すなわち、情報処理装置100の通信IF106が初期化され(S302)、ファームウェアの更新処理が開始される(S400)。
【0083】
最初に、不揮発性メモリ200の第2の領域204がクリアされる(S402)。ARP Requestが、情報処理装置100からファイルサーバ110に送信される(S404)。その後、ARP Responseが、ファイルサーバ110から情報処理装置100に送信される(S406)。これにより、情報処理装置100が通信するファイルサーバ110の物理アドレスが取得され、情報処理装置100とファイルサーバ110との通信が可能になる。
【0084】
ファームウェアのダウンロードの要求が情報処理装置100からファイルサーバ110に送信されると(S408)、ファームウェアのデータがファイルサーバ110から情報処理装置100に送信され、RAM108に一時的に保存される(S410)。
【0085】
ファームウェアがRAM108から不揮発性メモリ200に書き込まれて(S412)、書き込みが完了したと判断されると(S414にてYES)、第2の領域204に、ファームウェアの記憶状態は正常であることを表わす判断データ(たとえば、「0x0000」)が書き込まれる(S416)。これにより、ファームウェアの更新が終了する。
【0086】
不揮発性メモリ200に記憶されたプログラムにより、情報処理装置100が再起動されると(S306)、ファームウェア復旧処理は終了して、再び記憶状態判断処理が実行される(S200)。
【0087】
ファームウェアは不揮発性メモリ200に正常に記憶されていると判断されると(S108にてYES)、ファームウェアが実行される(S110)。その後、情報処理装置100は、予め準備された処理を実行する。
【0088】
以上により、情報処理装置100の起動時に、ファームウェアの記憶状態がメモリに記憶されたデータに基づいて判断される。ファームウェアが正常に記憶されていない場合には、ファームウェアを復旧する処理が実行される。その後、ファームウェアの記憶状態が再度判断され、ファームウェアが正常に記憶されていると判断されると、予め定められた処理を実行する。すなわち、予め定められた処理が実行される前に、ファームウェアを正常な状態に更新しておくことができる。これにより、たとえファームウェアが正常に記憶されていない場合には、利用者がファームウェアの復旧処理を行なうことなく、ファームウェアは更新される。その結果、情報処理装置100は、予め定められた処理を実行することができる。
【0089】
<第2の実施の形態>
以下、本発明の第2の実施の形態に係る情報処理装置について説明する。なお、本実施の形態に係る情報処理装置は、前述の第1の実施の形態に係る情報処理装置と同じハードウェア構成を有する。それらについての機能も同じである。したがって、詳細な説明は繰り返さない。
【0090】
図7に、本実施の形態に係る情報処理装置100と同じ機種である情報処理装置を複数含む情報処理システムを示す。
【0091】
この図に示すように、各情報処理装置(情報処理装置100、…、情報処理装置130)が、HUB118を介してファイルサーバ110に接続される。ここで、接続される情報処理装置の数は特に制限されない。
【0092】
図8を参照して、利用者の指示により、各情報処理装置がファームウェアを更新する動作について、フローチャートに基づいて説明する。
【0093】
S702にて、各情報処理装置のCPU102は、ファイルサーバ110から情報を受信する。この情報は、たとえば、ファイルサーバ110と情報処理装置との間における予め定められた情報、あるいは、情報処理システムの利用者がファイルサーバ110を介して与える指示などである。
【0094】
S704にて、CPU102は、情報の中にファームウェアを更新する指示が含まれているか否かを判断する。情報の中にファームウェアを更新する指示が含まれているとき(S704にてYES)、処理はS400に移される。そうでないと(S704にてNO)、処理はS702に戻される。
【0095】
S400にて、CPU102は、前述のファームウェア更新処理を実行する。この処理が実行されると、ファームウェアが不揮発性メモリ200の第2の領域204に正常に記憶されている場合でも、ファームウェアは更新される。
【0096】
以上のような構造およびフローチャートに基づく本実施の形態に係る各情報処理装置が、利用者の指示に基づいてファームウェアを更新する動作について説明する。
【0097】
利用者が、ファイルサーバ110を介して、各情報処理装置にファームウェアを更新させるための指示を出力すると、その指示を含む情報が各情報処理装置により受信される(S702)。その情報の中から、ファームウェアを更新する指示が検出されると(S704にてYES)、ファームウェア更新処理が開始される(S400)。
【0098】
ファームウェアを受信して(S410)、書き込みが完了すると(S414にてYES)、第2の領域に判断データがセットされる(S416)。その後、処理は終了する。
【0099】
これにより、情報処理システムの利用者の指示に基づいて、HUB118を介してファイルサーバ110に接続している各情報処理装置のファームウェアを更新することができる。その結果、同種の情報処理装置を多数使用するような環境(たとえば、工場)において、ファームウェアを効率よく更新することができる。また、このような構成において、ファイルサーバ110をメンテナンスすることにより、各情報処理装置を一元的に管理することができる。
【0100】
<第3の実施の形態>
以下、本発明の第3の実施の形態に係る情報処理装置について説明する。なお、本実施の形態に係る情報処理装置およびその情報処理装置を含む情報処理システムは、前述の第1または第2の実施の形態に係る情報処理装置および情報処理システムと同じハードウェア構成を有する。それらについての機能も同じである。したがって、詳細な説明は繰り返さない。
【0101】
図9を参照して、各情報処理装置がファームウェアを定期的に更新する動作を、フローチャートに基づいて説明する。
【0102】
S502にて、各情報処理装置のCPU102は、更新タイマをリセットする。その後、CPU102内部のクロックがカウントを開始する。
【0103】
S504にて、CPU102は、ファームウェアの更新時間が経過したか否かを判断する。この更新時間は、各情報処理装置およびファイルサーバ110において予め設定しておくことができる。こうすることにより、ファームウェアの通信タイミングを同期化することができる。ファームウェアの更新時間が経過したと判断されると(S504にてYES)、処理はS600に移される。そうでないと(S504にてNO)、処理はS504に戻される。
【0104】
S600にて、CPU102は、後述するファームウェア定期更新処理を実行する。この処理が実行されると、ファームウェアが不揮発性メモリ200の第2の領域204に正常に記憶されている場合でも、ファームウェアは定期的に更新される。
【0105】
図10を参照して、各情報処理装置がファームウェア定期更新処理を実行する手順を、フローチャートに基づいて説明する。
【0106】
S602にて、CPU102は、不揮発性メモリ200の第2の領域204をクリアする。S604からS614までの処理は、S410からS420までの処理と同じであるので、ここでは繰り返さない。
【0107】
S610にて、CPU102が判断データを第2の領域に書き込む。これによりファームウェア定期更新処理は完了する。その後、処理はS502に戻される。
【0108】
以上のような構造およびフローチャートに基づく、本実施の形態に係る各情報処理装置がファームウェアを定期的に更新する動作について説明する。
【0109】
ネットワークに接続された各情報処理装置の更新タイマがリセットされると(S502)、ファームウェアの更新時間が経過するまで(S504にてNO)、処理は待機する。更新時間が経過すると(S504にてYES)、ファームウェア定期更新処理が開始される(S600)。
【0110】
第2の領域がクリアされ(S602)、ファームウェアがファイルサーバ110から各情報処理装置に送信されると(S604)、そのファームウェアは、不揮発性メモリ200に書き込まれる(S606)。ファームウェアの書き込みが完了したと判断されると(S608にてYES)、第2の領域204に判断データ(たとえば、「0x0000」)が書き込まれる(S610)。
【0111】
ファームウェア定期更新処理が完了すると、各情報処理装置の更新タイマがリセットされ(S502)、次回の更新まで(すなわち、更新時間が経過するまで)、更新処理を待機する。
【0112】
なお、本実施の形態においては、ファームウェアを更新する処理が定期的に実行されるが、その処理の開始時に、ファームウェアを更新する必要があるか否かを判断する処理を追加してもよい。たとえば、ファイルサーバ110に記憶されているファームウェアのバージョンと、各情報処理装置に記憶されているファームウェアのバージョンとを比較する処理を追加してもよい。それらのバージョンが一致する場合、更新する処理を終了することにより、不要な更新が実行されなくなる。
【0113】
これにより、HUBを介して複数の情報処理装置をファイルサーバ110に接続すると、各情報処理装置のファームウェアを一元的に管理することができる。さらに、ファームウェアの更新を容易に実行することができる。
【0114】
<第4の実施の形態>
以下、本発明の第4の実施の形態に係る情報処理装置について説明する。図11に、本実施の形態に係る複数の情報処理装置とファイルサーバ110とを含む情報処理ネットワークを示す。
【0115】
この図に示すように、複数の情報処理装置は、それぞれ異なる機種の装置である。したがって、それぞれの機種に対応したファームウェアが使用される。なお、それぞれのファームウェアが異なる点を除いて、情報処理装置の構成は、前述の第2の実施の形態の情報処理装置の構成と同じである。それらについての機能も同じである。したがって、詳細な説明は繰り返さない。
【0116】
図12および図13を参照して、本実施の形態に係る情報処理装置(A)1000によるファームウェア更新処理(B)の手順を、フローチャートに基づいて説明する。なお、このファームウェア更新処理(B)が実行されるまでの処理(メイン処理およびファームウェア復旧処理)は、上述の第1の実施の形態と同じであり、ここでは繰り返さない。
【0117】
S302にて、通信IF106が初期化される。S4000にて、ファームウェア更新処理(B)が実行される。この処理における、S402〜S406およびS410〜S420の処理は、図6における処理と同じであるので、ここでは繰り返さない。
【0118】
S4080にて、CPU102は、情報処理装置(A)1000の機種情報とファームウェアのダウンロードの要求とをファイルサーバ110に送信する。ここで、機種情報とは、複数の機種から特定の機種を識別するための情報である。この機種情報の代わりに、たとえば、機種番号、機種識別番号、機種IDなどを使用してもよい。このように、ファームウェアの更新を必要とする情報処理装置の機種情報を送信すると、その情報処理装置に固有なファームウェアがファイルサーバ110において検索される。
【0119】
なお、ファイルサーバ110は、機種情報とそれに対応したファームウェアとの対応表を記憶しており、受信した機種情報に基づいてその表を検索することにより、要求のあった情報処理装置に適したファームウェアを準備することができる。準備されたファームウェアは、ファイルサーバ110から情報処理装置(A)1000に送信される。ファームウェアの更新が完了すると、処理はS306に移され、情報処理装置は再起動される。
【0120】
以上のような構造およびフローチャートに基づく、本実施の形態に係る情報処理装置(A)1000がファームウェアを更新する動作について説明する。
【0121】
利用者が、ネットワークに接続された情報処理装置(A)1000の電源をオンにすると、始動プログラムが実行される(S104)。ファームウェアが正常に記憶されていないと判断されると(S108にてNO)、ファームウェア復旧処理が開始され、通信IF106が初期化される。
【0122】
第2の領域がクリアされ(S402)、ARP Requestが情報処理装置(A)1000から送信されると(S404)、ARP Responseがファイルサーバ110から情報処理装置(A)1000に送信される(S406)。
【0123】
情報処理装置(A)1000の機種情報とファームウェアのダウンロードの要求とがファイルサーバ110に送信されると(S4080)、情報処理装置(A)1000に固有のファームウェアがファイルサーバ110において準備される。そのファームウェアがファイルサーバ110から情報処理装置(A)1000に送信されると(S410)、不揮発性メモリ200の第1の領域202に書き込まれる(S412)。
【0124】
ファームウェアの書き込みが完了すると(S414にてYES)、不揮発性メモリ200の第2の領域に判断データ(たとえば、「0x0000」)がセットされる(S416)。
【0125】
その後、情報処理装置(A)1000は再起動され(S306)、ファームウェアの記憶状態が正常であると判断されると(S108にてYES)、ファームウェアが実行される(S110)。その後、予め定められた処理が実行される。
【0126】
これにより、異なる機種の情報処理装置が接続されたネットワークにおいて、特定の情報処理装置の機種に対応したファームウェアを更新することができる。すなわち、ファームウェアのダウンロードの要求をファイルサーバ110に送信する際に、機種情報が送信される。ファイルサーバ110は、この固有なデータに基づいて、その情報処理装置に固有なファームウェアを検索して情報処理装置に送信することができる。その結果、情報処理装置は、自身に固有なファームウェアを更新することができる。
【0127】
<第5の実施の形態>
以下、本発明の第5の実施の形態に係る情報処理装置の処理について説明する。図14に示すように、本実施の形態に係る情報処理装置100が、インターネット150を介してファイルサーバ110に接続される。この図において、情報処理装置の構成は、前述の第1の実施の形態の情報処理装置の構成と同じである。それらについての機能も同じである。したがって、詳細な説明は繰り返さない。
【0128】
この場合、情報処理装置100において、ファームウェアの記憶状態は異常であることが検出されると、インターネット150を介して、ファームウェアをファイルサーバ110から受信する。このときの通信手順は、特に限定されない。
【0129】
これにより、インターネットを介して接続された情報処理装置とファイルサーバとの間で、最新のファームウェアを更新することが可能になる。すなわち、ファイルサーバと情報処理装置とが離れて設置されていても、ファームウェアの更新を含むメンテナンスが可能になる。
【0130】
以上により、メモリに記憶された、ファームウェアが正常に記憶されていることを表わすデータに基づいて、ファームウェアを実行する処理とファームウェアを更新する処理とを切り換えることができる。
【0131】
その結果、ファームウェアの記憶状態に対応させて、処理を適切に切り換えることができる情報処理装置を提供することができる。
【0132】
なお、上述の第1の実施の形態におけるファームウェア更新処理は、ファームウェア復旧処理から呼び出される処理であるが、ファームウェア更新処理を単独で実行することも可能である。すなわち、たとえば、ファームウェアの記憶状態が正常であってそのファームウェアのバージョンアップを行ないたい場合、利用者の指示(たとえば、ファームウェアの更新開始の入力)を検知するとファームウェア更新処理を実行するように設定することもできる。これにより、ファームウェアが正常に記憶されている場合でも、利用者の意図にしたがって、ファームウェアを更新することができる。
【0133】
また、上述の第1の実施の形態における判断データは、ファームウェアが第1の領域202に正常に記憶されているか否かを表わす2値のデータであるが、これを第1の領域202のCRC(Cyclic Redundancy Check)とすることも可能である。
【0134】
すなわち、ファームウェアの更新処理においては、図6のS416にて、第2の領域にCRCの結果をセットする、とする。記憶状態判断処理においては、図4のS202にて、最初に、ファームウェアの第1の領域202のCRCを計算し、次にCRCの計算結果を第2の領域の値と比較する。比較した結果が一致すればS204にて正常フラグを出力し、異なればS206にて異常フラグを出力する。これにより、より正確にファームウェアの記憶状態を判断できる。
【0135】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るメモリを含む情報処理装置を含むネットワーク構成を表わす図である。
【図2】本発明の実施の形態に係るメモリを表わす図である。
【図3】本発明の実施の形態に係る情報処理装置が実行する処理のフローチャート(その1)である。
【図4】本発明の実施の形態に係る情報処理装置が実行する処理のフローチャート(その2)である。
【図5】本発明の実施の形態に係る情報処理装置が実行する処理のフローチャート(その3)である。
【図6】本発明の実施の形態に係る情報処理装置が実行する処理のフローチャート(その4)である。
【図7】本発明の第2の実施の形態に係る情報処理装置を含む情報処理システムの構成を表わす図である。
【図8】本発明の第2の実施の形態に係る情報処理装置が実行する処理のフローチャートである。
【図9】本発明の第3の実施の形態に係る情報処理装置が実行する処理のフローチャート(その1)である。
【図10】本発明の第3の実施の形態に係る情報処理装置が実行する処理のフローチャート(その2)である。
【図11】本発明の第4の実施の形態に係る情報処理装置を含む情報処理システムの構成を表わす図である。
【図12】本発明の第4の実施の形態に係る情報処理装置が実行する処理のフローチャート(その1)である。
【図13】本発明の第4の実施の形態に係る情報処理装置が実行する処理のフローチャート(その2)である。
【図14】本発明の第5の実施の形態に係る情報処理装置を含む情報処理システムの構成を表わす図である。
【符号の説明】
100,120,130,1000,1010 情報処理装置、102,112 CPU、114 記憶装置、106,116 通信IF、108 RAM、110 ファイルサーバ、118 HUB、150 インターネット、200 不揮発性メモリ、202 第1の領域、204 第2の領域、206 第3の領域。

Claims (12)

  1. ファームウェアを記憶するメモリであって、前記ファームウェアが情報処理装置において実行されると、前記情報処理装置は予め定められた処理を実行し、前記メモリは、
    前記ファームウェアを記憶する第1の記憶領域と、
    前記ファームウェアが前記第1の記憶領域に正常に記憶されていることを表わす判断データを記憶する第2の記憶領域とを含む、メモリ。
  2. 前記メモリは、前記ファームウェアを前記第1の記憶領域に書き込む第1のプログラムを記憶する第3の記憶領域をさらに含み、
    前記第1のプログラムが実行されると、前記ファームウェアを前記第1の領域に書き込む処理の状況に対応して、前記第2の記憶領域におけるデータの記憶状態が更新される、請求項1に記載のメモリ。
  3. 前記第1のプログラムが実行されると、前記第1の記憶領域に前記ファームウェアを書き込む処理が開始する前に、前記第2の記憶領域に記憶されたデータは消去され、
    前記第1の記憶領域に前記ファームウェアを書き込む処理が正常に完了すると、前記判断データは前記第2の記憶領域に書き込まれる、請求項2に記載のメモリ。
  4. 前記情報処理装置は、利用者の指示に基づいて前記情報処理装置を起動する第2のプログラムを実行し、
    前記メモリは、前記第2のプログラムを記憶する第4の記憶領域をさらに含み、
    前記第2のプログラムは、前記判断データに基づいて、前記ファームウェアおよび第3のプログラムのいずれを実行するのかを判断し、
    前記第3のプログラムは、前記ファームウェアの原本であるマスタファームウェアを前記メモリの外部から受信し、前記マスタファームウェアを前記ファームウェアとして前記第1の記憶領域に書き込む、請求項2または3に記載のメモリ。
  5. ファームウェアによる処理が実行される情報処理装置であって、前記情報処理装置は外部の記憶装置に接続され、前記記憶装置は前記ファームウェアの原本であるマスタファームウェアを記憶し、前記情報処理装置は、
    前記ファームウェアと、前記ファームウェアが正常に記憶されていることを表わす判断データとを記憶するための記憶手段と、
    前記判断データに基づいて、前記ファームウェアが正常に記憶されているか否かを判断するための判断手段と、
    前記ファームウェアが正常に記憶されていると判断されると、前記ファームウェアを実行するための第1の実行手段と、
    前記ファームウェアが異常に記憶されていると判断されると、前記記憶装置から前記マスタファームウェアを読み出すための読出手段と、
    前記読み出したマスタファームウェアを前記ファームウェアとして前記記憶手段に書き込むプログラムを実行するための第2の実行手段とを含む、情報処理装置。
  6. 前記記憶手段は、
    前記ファームウェアを記憶する第1の記憶領域と、
    前記判断データを記憶する第2の記憶領域とを含み、
    前記第2の実行手段は、前記マスタファームウェアを前記第1の記憶領域に書き込む更新プログラムを実行するための手段を含み、
    前記情報処理装置は、さらに、
    前記更新プログラムの実行が開始されると、前記判断データを消去するための消去手段と、
    前記更新プログラムの実行が正常に終了すると、前記ファームウェアが正常に記憶されていることを表わす値を判断データとして前記第2の記憶領域に書き込むための書込手段とを含む、請求項5に記載の情報処理装置。
  7. 前記情報処理装置はネットワークを介して情報提供装置に接続され、前記情報提供装置は前記ファームウェアの原本であるマスタファームウェアを記憶し、前記情報処理装置は、
    前記ネットワークに接続され、予め定められた条件を満足すると、前記情報提供装置から前記マスタファームウェアを受信するための受信手段と、
    前記受信手段に接続され、前記マスタファームウェアを前記ファームウェアとして前記記憶手段に書き込むプログラムを実行するため第3の実行手段とをさらに含む、請求項5または6に記載の情報処理装置。
  8. 前記受信手段は、前記ファームウェアが異常に記憶されていると判断されると、前記情報提供装置から前記マスタファームウェアを受信するための手段を含む、請求項7に記載の情報処理装置。
  9. 前記情報提供装置は、予め定められた時間ごとに、2以上の情報処理装置のそれぞれに対応した個別のマスタファームウェアを前記2以上の情報処理装置のそれぞれに送信する装置であって、
    前記受信手段は、前記予め定められた時間ごとに、前記個別のマスタファームウェアを前記情報提供装置から受信するための手段を含む、請求項7に記載の情報処理装置。
  10. 前記情報提供装置は、前記ネットワークを介して2以上の異なる情報処理装置に接続され、前記2以上の異なる情報処理装置のそれぞれに対応した個別のマスタファームウェアと、前記2以上の異なる情報処理装置のそれぞれに固有である装置データとを対応させて更新データとして記憶し、前記2以上の異なる情報処理装置のいずれかが送信した、前記個別のファームウェアのダウンロード要求に応答して、前記ダウンロード要求を送信した情報処理装置に前記更新データを送信し、前記情報処理装置は、
    前記固有である装置データを取得するためのデータ取得手段と、
    前記装置データと前記ダウンロード要求とを前記情報提供装置に送信するための送信手段と、
    前記更新データの中から前記個別のファームウェアを取得するためのファームウェア取得手段とをさらに含む、請求項7に記載の情報処理装置。
  11. ファームウェアを記憶する記憶方法であって、前記ファームウェアが情報処理装置において実行されると、前記情報処理装置は予め定められた処理を実行し、前記記憶方法は、
    前記ファームウェアを記憶する第1の記憶ステップと、
    前記ファームウェアが前記第1の記憶領域に正常に記憶されていることを表わす判断データを記憶する第2の記憶ステップとを含む、記憶方法。
  12. ファームウェアによる処理を実行する情報処理方法であって、前記情報処理方法は外部の記憶装置に接続され、前記記憶装置は前記ファームウェアの原本であるマスタファームウェアを記憶し、前記情報処理方法は、
    前記ファームウェアと、前記ファームウェアが正常に記憶されていることを表わす判断データとを記憶する記憶ステップと、
    前記判断データに基づいて、前記ファームウェアが正常に記憶されているか否かを判断する判断ステップと、
    前記ファームウェアが正常に記憶されていると判断されると、前記ファームウェアを実行する第1の実行ステップと、
    前記ファームウェアが異常に記憶されていると判断されると、前記記憶装置から前記マスタファームウェアを読み出す読出ステップと、
    前記読み出したマスタファームウェアを前記ファームウェアとして書き込むプログラムを実行する第2の実行ステップとを含む、情報処理方法。
JP2002208484A 2002-07-17 2002-07-17 メモリ、情報処理装置、記憶方法および情報処理方法 Pending JP2004054421A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002208484A JP2004054421A (ja) 2002-07-17 2002-07-17 メモリ、情報処理装置、記憶方法および情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002208484A JP2004054421A (ja) 2002-07-17 2002-07-17 メモリ、情報処理装置、記憶方法および情報処理方法

Publications (1)

Publication Number Publication Date
JP2004054421A true JP2004054421A (ja) 2004-02-19

Family

ID=31932622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002208484A Pending JP2004054421A (ja) 2002-07-17 2002-07-17 メモリ、情報処理装置、記憶方法および情報処理方法

Country Status (1)

Country Link
JP (1) JP2004054421A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119992A (ja) * 2004-10-22 2006-05-11 Sony Corp プログラム更新方法、情報処理装置およびプログラム
WO2010007675A1 (ja) * 2008-07-17 2010-01-21 Necディスプレイソリューションズ株式会社 電子機器および不正書き換え抑制方法
JP2010033251A (ja) * 2008-07-28 2010-02-12 Fujitsu Ltd プログラム修正方法、プログラム復元方法、及びデータ処理装置
JP2011150383A (ja) * 2010-01-19 2011-08-04 Hitachi Medical Corp ファームウェア書き込み方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119992A (ja) * 2004-10-22 2006-05-11 Sony Corp プログラム更新方法、情報処理装置およびプログラム
WO2010007675A1 (ja) * 2008-07-17 2010-01-21 Necディスプレイソリューションズ株式会社 電子機器および不正書き換え抑制方法
JP4729771B2 (ja) * 2008-07-17 2011-07-20 Necディスプレイソリューションズ株式会社 電子機器および不正書き換え抑制方法
JP2010033251A (ja) * 2008-07-28 2010-02-12 Fujitsu Ltd プログラム修正方法、プログラム復元方法、及びデータ処理装置
JP2011150383A (ja) * 2010-01-19 2011-08-04 Hitachi Medical Corp ファームウェア書き込み方法

Similar Documents

Publication Publication Date Title
EP1519268B1 (en) Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
US8539471B2 (en) Updating firmware of an electronic device
CN109189445B (zh) 一种物联网设备程序升级的方法
CN102667716A (zh) 使用固件更新应用程序更新部件的固件的方法及装置
CN100419698C (zh) 网络设备及监视其启动的方法
JP4482029B2 (ja) 無線基地局および無線基地局の運用方法
WO2013103023A1 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
CN101393524A (zh) 固件更新方法及系统
CN101589592A (zh) 多协议可移动存储设备
CN106020875B (zh) 嵌入式终端的固件更新管理方法和装置
WO2003083647A1 (fr) Procede de mise a jour d'un logiciel de terminaux de communication, terminal de communication et procede de mise a jour de logiciel
TW200540625A (en) Electronic system capable of using universal plug and play (upnp) protocol to update software program and method thereof
TW201025008A (en) System of updating firmware and method thereof, and method of creating firmware
EP2195741A1 (en) Firmware image update and management
JP2006040301A (ja) 不揮発性再プログラム可能半導体メモリに記憶された情報を編成する方法
JP2009169524A (ja) 宅内設備機器用のネットワークシステム
CN112015447A (zh) 电子设备的系统更新方法及装置、电子设备及存储介质
JP2001331327A (ja) 電子機器
CN109375953B (zh) 一种操作系统启动方法及装置
CN115145650A (zh) 信息处理装置、存储介质及信息处理方法
JP2004054421A (ja) メモリ、情報処理装置、記憶方法および情報処理方法
JP4004271B2 (ja) クライアント/サーバシステムにおけるクライアントの環境設定装置、方法、プログラム記録媒体およびプログラム
TW201923577A (zh) 系統資訊管理方法
CN109684134B (zh) 用于在多个设备间快速部署固件设定的方法及服务器
KR100429903B1 (ko) 홈 게이트웨이 시스템의 이미지 업데이트 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071106