(57)【要約】【課題】  不揮発メモリで実行されるファームウェアを正しく更新することを可能とする情報処理装置等を提供することを主要な目的とする。【解決手段】  複数のファームウェアに関する情報をそれぞれ格納する領域を有する不揮発メモリと、前記不揮発メモリにおいて、前記複数のファームウェアがそれぞれ実行される番地情報を含むそれぞれの更新情報に基づいて、前記複数のファームウェアのうち、実行中でないファームウェアを更新する更新手段と、更新された前記ファームウェアを起動する切替手段と、を備える。【選択図】      図１
2020017059.tif 000002
【特許請求の範囲】
【請求項１】
複数のファームウェアに関する情報をそれぞれ格納する領域を有する不揮発メモリと、
前記不揮発メモリにおいて、前記複数のファームウェアがそれぞれ実行される番地情報を含むそれぞれの更新情報に基づいて、前記複数のファームウェアのうち、実行中でないファームウェアを更新する更新手段と、
更新された前記ファームウェアを起動する切替手段と、を備える
情報処理装置。
【請求項２】
前記不揮発メモリは、前記複数のファームウェアのうち、実行中のファームウェアが格納されている番地情報を格納する第１の領域を有し、
前記更新手段は、前記第１の領域に格納されている番地情報に基づいて、実行中でないファームウェアを識別し、当該実行中でないファームウェアに対応する更新情報を用いて、前記不揮発メモリに格納されている当該実行中でないファームウェアを更新する
請求項１に記載の情報処理装置。
【請求項３】
前記切替手段は、実行中のファームウェアによる制御対象への制御信号の出力状態を前記不揮発メモリに記憶する
請求項２に記載の情報処理装置。
【請求項４】
前記更新手段は、前記複数のファームウェアのそれぞれに対応する更新情報を含む更新ファイルを受信し、実行中のファームウェアに関連付けられた更新情報を廃棄する、
請求項２または３のいずれか１項に記載の情報処理装置。
【請求項５】
前記更新情報は、誤り検出符号を有し、
前記更新手段は、前記誤り検出符号を用いて、前記更新情報の伝送誤りを確認する、
請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の情報処理装置と、
前記情報処理装置と通信可能な外部装置とを備え、
前記外部装置は、
前記情報処理装置に対して、
前記ファームウェアの更新指示及び前記更新情報を送信し、
前記ファームウェアが更新された後、当該更新されたファームウェアの起動指示を送信する
情報処理システム。
【請求項７】
不揮発メモリに、複数のファームウェアに関する情報をそれぞれ格納する領域を有し、
前記不揮発メモリにおいて、前記複数のファームウェアがそれぞれ実行される番地情報を含むそれぞれの更新情報に基づいて、前記複数のファームウェアのうち、実行中でないファームウェアを更新し、
更新された前記ファームウェアを起動する
情報処理方法。
【請求項８】
不揮発メモリに、複数のファームウェアに関する情報を格納する処理と、
前記不揮発メモリにおいて、前記複数のファームウェアがそれぞれ実行される番地情報を含むそれぞれの更新情報に基づいて、前記複数のファームウェアのうち、実行中でないファームウェアを更新する処理と、
更新された前記ファームウェアを起動する処理と、をコンピュータに実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発メモリで実行されるファームウェアを更新する装置、システム、方法及びプログラムに関する。
【背景技術】
【０００２】
光通信ネットワークにおいて、光信号と電気信号とを相互に変換する光トランシーバは、ベンダ間の相互互換性を目的として、外形寸法やピン配置などを共通の規格として策定することが一般的となっている。このような規格は、ＭＳＡ（Ｍｕｌｔｉ  Ｓｏｕｒｃｅ  Ａｇｒｅｅｍｅｎｔ）と呼ばれる。光トランシーバのＭＳＡ規格として、例えば、ＣＦＰ（Ｃｅｎｔｕｍ  ｇｉｇａｂｉｔ  Ｆｏｒｍ−ｆａｃｔｏｒ  Ｐｌｕｇｇａｂｌｅ）が策定されている。
【０００３】
ＣＦＰ  ＭＳＡにおいて、不揮発メモリ内でファームウェアを２面管理しながら、１つのファームウェアをオンラインアップグレードする機能が規定されている。ＣＦＰ  ＭＳＡで規定されているオンラインアップグレードは、揮発メモリで実行されるファームウェアを対象としている。
【０００４】
特許文献１では、不揮発メモリで実行されるファームウェアをバージョンアップする方法が開示されている。具体的には、特許文献１には、運用面で現バージョンのファームウェアを運用させ、非運用面に新バージョンのファームウェアを書き込み、現ファームウェアと新ファームウェアとの同期がとれたタイミングでファームウェアを切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−００７３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、不揮発メモリで実行されるファームウェアが複数存在する場合、各ファームウェアは異なる番地で実行される。つまり、各ファームウェアが、同一バージョンのソースコードであっても、実行イメージはすべて同一ではない。そのため、各ファームウェアが実行される番地（以降、「動作番地」と称する）を考慮してファームウェアの更新（アップグレード）を行う必要がある。
【０００７】
しかしながら、特許文献１に開示される技術では、ダウンロードする新バージョンのファームウェアにおいて、動作番地が考慮されていない。そのため、正しく更新できない虞がある。
【０００８】
本発明は、上記課題を鑑みてなされたものであり、不揮発メモリで実行されるファームウェアを正しく更新することを可能とする情報処理装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様にかかる情報処理装置は、複数のファームウェアに関する情報をそれぞれ格納する領域を有する不揮発メモリと、前記不揮発メモリにおいて、前記複数のファームウェアがそれぞれ実行される番地情報を含むそれぞれの更新情報に基づいて、前記複数のファームウェアのうち、実行中でないファームウェアを更新する更新手段と、更新された前記ファームウェアを起動する切替手段と、を備える。
【００１０】
本発明の一態様にかかる情報処理方法は、不揮発メモリに、複数のファームウェアに関する情報をそれぞれ格納する領域を有し、前記不揮発メモリにおいて、前記複数のファームウェアがそれぞれ実行される番地情報を含むそれぞれの更新情報に基づいて、前記複数のファームウェアのうち、実行中でないファームウェアを更新し、更新された前記ファームウェアを起動する。
【００１１】
本発明の一態様にかかるプログラムは、不揮発メモリに、複数のファームウェアに関する情報を格納する処理と、前記不揮発メモリにおいて、前記複数のファームウェアがそれぞれ実行される番地情報を含むそれぞれの更新情報に基づいて、前記複数のファームウェアのうち、実行中でないファームウェアを更新する処理と、更新された前記ファームウェアを起動する処理と、をコンピュータに実行させる。
【発明の効果】
【００１２】
本発明によれば、不揮発メモリで実行されるファームウェアを正しく更新することが可能になる、という効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】各実施形態にかかる情報処理装置を実現するハードウェアの構成を示すブロック図である。
【図２】第１の実施形態にかかる情報処理装置の機能構成を示すブロック図である。
【図３】第１の実施形態にかかる情報処理装置の新バージョンのファームウェアイメージを含む更新ファイルの一例を示す図である。
【図４】第１の実施形態にかかる情報処理装置の動作を説明するフローチャートである。
【図５】第１の実施形態にかかる情報処理装置の動作を説明するフローチャートである。
【図６】第１の実施形態にかかる情報処理装置の動作を説明するフローチャートである。
【図７】第１の実施形態にかかる情報処理装置の識別ＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）の構成の一例を示す図である。
【図８】第１の実施形態にかかる情報処理装置のファームウェア識別ＩＤ判定テーブルの一例を示す図である。
【図９】第１の実施形態にかかる情報処理装置の引き継ぎテーブルの一例を示す図である。
【図１０】第２の実施形態にかかる情報処理装置の機能構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１５】
第１の実施形態
第１の実施形態及び他の実施形態にかかる情報処理装置を構成するハードウェアについて説明する。図１は、各実施形態にかかるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）システム１００を含む主信号導通モジュール１０００の構成を示すブロック図である。
【００１６】
図１に示すように、ＣＰＵシステム１００は、ＣＰＵ１１０と、不揮発メモリ１２とを備える。また、ＣＰＵシステム１００は、主信号導通デバイス１３０とＨｏｓｔシステム１４０と通信可能に接続されている。ＣＰＵシステム１００は、Ｈｏｓｔシステム１４０からの命令にしたがって処理を行う。また、ＣＰＵシステム１００は、制御対象である主信号導通デバイス１３０の、主信号を制御する機能を有する。主信号導通モジュール１０００は、例えば、図示しない光トランシーバの監視及び制御を行う回路に設けられる。
【００１７】
ＣＰＵ１１０は、主信号導通デバイス１３０の、主信号１３１を制御するための主信号制御ピン１１１を備える。ここで、ＣＰＵ１１０は、主信号制御ピンＰＩＮ１乃至ＰＩＮｎ（ｎは自然数）を有する。
【００１８】
不揮発メモリ１２は、同一の機能を実現する２種類のファームウェアに関する情報を、それぞれ格納する領域を有する（以降、ファームウェアを「ＦＷ」とも称する）。
【００１９】
各実施形態において、ＦＷは、後述する情報処理装置の機能構成を実現するプログラムを含む。図２は、ＣＰＵ１１０がＦＷを実行することにより構築される情報処理装置の一例を示すブロック図である。上記プログラムと図１に示すハードウェアとが協働することにより、本実施形態では図２に示す情報処理装置１０の受信部１１、ＦＷ更新部１３及びＦＷ切替部１４が構築される。また、当該プログラム自体も各実施形態に含まれる。
【００２０】
不揮発メモリ１２は、２種類のＦＷ、すなわちＦＷ＃Ａ、ＦＷ＃Ｂそれぞれに関する情報を格納する。ＦＷ＃Ａ及びＦＷ＃Ｂは、互いに同一の機能を実現するＦＷである（詳細は後述する）。
【００２１】
図３は、ＦＷ＃ＡまたはＦＷ＃Ｂを更新（アップグレード）するための更新ファイル３００の一例を示す図である。図３に示すように、更新ファイル３００は、ＦＷ＃Ａの更新に関する情報（更新情報）と、ＦＷ＃Ｂの更新に関する情報とを格納する。ＦＷ＃Ａの更新に関する情報は、識別ＩＤ３１０、新ＦＷ＃Ａイメージ３２０および新ＦＷ＃Ａベクタテーブル３３０を含む。ＦＷ＃Ｂの更新に関する情報は、識別ＩＤ３４０、新ＦＷ＃Ｂイメージ３５０および新ＦＷ＃Ｂベクタテーブル３６０を含む。
【００２２】
本実施形態に係るＣＰＵシステム１００は、Ｈｏｓｔシステム１４０から図３に示す更新ファイル３００を受信し、受信した更新ファイル３００を用いて、不揮発メモリ１２に格納されるＦＷ＃Ａ（ＦＷ＃Ａイメージ１２２及びＦＷ＃Ａベクタテーブル１２３）またはＦＷ＃Ｂ（ＦＷ＃Ｂイメージ１２４及びＦＷ＃Ｂベクタテーブル１２５）を更新する。
【００２３】
ここで、図３に示す新ＦＷ＃Ａと新ＦＷ＃Ｂとは同じ機能を有するＦＷの同じバージョンのソースコードであるが、実行イメージは同じではない。なぜなら、ＦＷ＃ＡおよびＦＷ＃Ｂは、それぞれ不揮発メモリ１２で動作するＦＷであるので、不揮発メモリ１２における異なる番地で動作するように実行イメージを作成すると、実行イメージに示される動作番地が異なるためである。このために、更新ファイル３００は、新ＦＷ＃Ａイメージと新ＦＷ＃Ｂイメージの２つのＦＷイメージを含む。
【００２４】
図１を参照して、不揮発メモリ１２に格納されるＦＷの情報を説明する。
【００２５】
図１に示すように、不揮発メモリ１２は、ＦＷ起動用ベクタテーブル１２１、ＦＷ＃Ａイメージ１２２、ＦＷ＃Ａベクタテーブル１２３、ＦＷ＃Ｂイメージ１２４、ＦＷ＃Ｂベクタテーブル１２５、引き継ぎテーブル１２６及びＦＷ識別ＩＤ判定テーブル１２７を、それぞれ格納する領域を有する。
【００２６】
不揮発メモリ１２の０ｘＡＡＡＡ番地に格納されるＦＷ起動用ベクタテーブル１２１は、ＦＷの起動を開始する際に読み出される番地情報を格納する。ここで番地情報とは、各種データが格納される領域を示す、不揮発メモリ１２の番地である。なお、この番地情報を「起動開始番地」とも称する。
【００２７】
０ｘＢＢＢＢ番地から始まる領域には、ＦＷ＃Ａイメージ１２２が格納される。０ｘＣＣＣＣ番地から始まる領域には、ＦＷ＃Ａベクタテーブル１２３が格納される。ここでは、ＦＷ＃Ａベクタテーブル１２３は、番地情報として「０ｘＢＢＢＢ番地」を格納する。また、ＦＷ＃Ａベクタテーブル１２３は、ＦＷ＃Ａが行う各種処理の開始番地を格納してもよい。
【００２８】
０ｘＤＤＤＤ番地から始まる領域には、ＦＷ＃Ｂイメージ１２４が格納される。０ｘＥＥＥＥ番地から始まる領域には、ＦＷ＃Ｂベクタテーブル１２５が格納される。ここでは、ＦＷ＃Ｂベクタテーブル１２５は、番地情報として「０ｘＤＤＤＤ番地」を格納する。また、ＦＷ＃Ｂベクタテーブル１２５は、ＦＷ＃Ｂが行う各種処理の開始番地を格納してもよい。
【００２９】
０ｘＦＦＦＦ番地から始まる領域には、引き継ぎテーブル１２６が格納され、０ｘＧＧＧＧ番地から始まる領域には、ＦＷ識別ＩＤ判定テーブル１２７が格納される（詳細は後述する）。
【００３０】
ＣＰＵ１１０は、不揮発メモリ１２に格納されたＦＷ＃Ａ及びＦＷ＃Ｂのうちいずれかを不揮発メモリ１２で実行する。具体的には、ＣＰＵ１１０は、ＦＷ起動用ベクタテーブル１２１に格納された起動開始番地を読み出し、読み出した起動開始番地に格納されるＦＷを実行する。例えば、ＦＷ起動用ベクタテーブル１２１に０ｘＢＢＢＢ番地が格納されていれば、ＣＰＵ１１０は、０ｘＢＢＢＢ番地に格納されるＦＷ、すなわちＦＷ＃Ａイメージ１２２を実行する。
【００３１】
不揮発メモリ１２は、以上のような情報を格納する。
【００３２】
Ｈｏｓｔシステム１４０は、オンラインアップグレードの開始命令を含む、各種命令をＣＰＵシステム１００に送る。
【００３３】
なお、情報処理装置の機能構成を実現させるプログラムを読み出したＣＰＵシステム１００と、Ｈｏｓｔシステム１４０とは、情報処理システムを構成してもよい。
【００３４】
次に、図２を参照して、本発明の第１の実施形態にかかる情報処理装置の機能構成について説明する。
【００３５】
図２に示すように、情報処理装置１０は、受信部１１と不揮発メモリ１２とＦＷ更新部１３とＦＷ切替部１４とを備える。
【００３６】
受信部１１は、Ｈｏｓｔシステム１４０から、オンラインアップグレードに関わる各種命令及び新バージョンのＦＷイメージを含む更新ファイルを受信する。
【００３７】
ＦＷ更新部１３は、受信部１１からオンラインアップグレード開始命令を受信した旨の通知を受け取ると、不揮発メモリ１２に格納されるＦＷを更新する。
【００３８】
すなわち、ＦＷ更新部１３は、不揮発メモリ１２において、ＦＷがそれぞれ実行される番地情報を含むそれぞれの更新情報に基づいて、ＦＷのうち、実行中でないＦＷを更新する更新手段を担う。
【００３９】
ＦＷ切替部１４は、受信部１１から、更新したＦＷの起動命令を受信した旨の通知を受け取ると、不揮発メモリ１２に格納されるＦＷのうち、更新されたＦＷを起動し、実行するＦＷを切り替える。
【００４０】
すなわち、ＦＷ切替部１４は、更新されたＦＷを起動する切替手段を担う。
【００４１】
図４、図５及び図６は、情報処理装置１０の動作を説明するフローチャートである。図４乃至図６を参照して、情報処理装置１０の動作について説明する。以下、本明細書において、フローチャートの各ステップを、「Ｓ４０１」のように、それぞれのステップに付した番号を用いて表現する。
【００４２】
まず、図４を参照して、Ｈｏｓｔシステム１４０からアップグレード開始命令を受信したときの情報処理装置１０の動作について説明する。図４に示すように、受信部１１は、Ｈｏｓｔシステム１４０から、オンラインアップグレードの開始命令を受信すると（Ｓ４０１）、開始命令を受信したことをＦＷ更新部１３に通知する。ＦＷ更新部１３は、通知を受け取ると、ＦＷ起動用ベクタテーブル１２１から、起動開始番地を読み出す。ＦＷ起動用ベクタテーブル１２１に格納されている起動開始番地が０ｘＢＢＢＢ番地のとき（Ｓ４０２において「０ｘＢＢＢＢ番地」）、ＦＷ更新部１３はＦＷ＃Ａイメージ１２２が実行中であると判定する（Ｓ４０３）。ＦＷ起動用ベクタテーブル１２１に格納されている起動開始番地が０ｘＤＤＤＤ番地のとき（Ｓ４０２において「０ｘＤＤＤＤ番地」）、ＦＷ更新部１３は、ＦＷ＃Ｂイメージ１２４が実行中であると判定する。図４の処理は、「Ａ」から図５の「Ａ」に進む。
【００４３】
図５に示すように、受信部１１は、Ｈｏｓｔシステム１４０から、図３に示した更新ファイル３００を受信する（Ｓ５０１）。
【００４４】
ＦＷ更新部１３は、受信した更新ファイル３００の伝送誤りがないかどうか確認する（Ｓ５０２）。
【００４５】
図７は、図３に示した識別ＩＤ３１０及び３４０の構成の一例を示す図である。図７に示すように、識別ＩＤ３１０及び３４０は、ＦＷ識別ＩＤ７１０、ＬＥＮＧＴＨ７２０及び誤り検出符号７３０を備える。ＦＷ識別ＩＤ７１０は、更新対象のＦＷを識別するための識別子である。ＬＥＮＧＴＨ７２０は、ＦＷ識別ＩＤ７１０に関連付けられた領域の長さである。例えば、ＬＥＮＧＴＨ７２０は、新ＦＷ＃Ａイメージ３２０と新ＦＷ＃Ａベクタテーブル３３０とがそれぞれ格納された領域の合計の長さを示す。誤り検出符号７３０は、ＬＥＮＧＴＨ７２０に基づいて算出され、ＦＷ識別ＩＤに関連付けられた領域のファイルの伝送誤りを検出するための符号である。
【００４６】
図５に戻り、ＦＷ更新部１３は、受信した更新ファイル３００に含まれる誤り検出符号７３０と、受信した更新ファイル３００に基づき算出した誤り検出符号とを比較し、異なっていた場合、伝送誤りがあったと判定する（Ｓ５０２の「Ｙｅｓ」）。このとき、ＦＷ更新部１３は更新ファイル３００を廃棄し（Ｓ５０３）、再度更新ファイルを受信する。ファイルの伝送誤りがなかった場合（Ｓ５０２の「Ｎｏ」）、処理をＳ５０４に進める。ここで、伝送誤りを検出する方法はこの例に限られない。
【００４７】
ＦＷ更新部１３は、受信した更新ファイル３００に含まれる識別ＩＤ３１０を検出し、検出した識別ＩＤ３１０に含まれるＦＷ識別ＩＤ７１０を、ＦＷ識別ＩＤ判定テーブル１２７と照合する（Ｓ５０４）。
【００４８】
図８は、ＦＷ識別ＩＤ判定テーブル１２７の一例を示す図である。ＦＷ識別ＩＤ判定テーブル１２７は、ＦＷ識別ＩＤ７１０毎に関連付けられた、更新ファイル３００のそれぞれの領域に格納される情報の種類を示す。例えば、本実施形態では、図８に示すように、Ｓ５０４で検出されるＦＷ識別ＩＤが「０ｘ０００１」のとき、このＦＷ識別ＩＤに関連付けられる領域には、ＦＷ＃Ａの更新に関する情報が格納され、ＦＷ識別ＩＤが「０ｘ０００２」のとき、このＦＷ識別ＩＤに関連付けられる領域には、ＦＷ＃Ｂの更新に関する情報が格納されていると判定する。また、ＦＷ識別ＩＤが、「０ｘ０００１」または「０ｘ０００２」のいずれでもない場合、このＦＷ識別ＩＤに関連付けられる領域には、ＦＷ＃ＡまたはＦＷ＃Ｂのいずれの更新に関する情報も格納されていないと判定することができる。
【００４９】
再び図５に戻り、検出したＦＷ識別ＩＤ７１０がＦＷ＃Ａの更新に関する情報を示し（Ｓ５０５において「ＦＷ＃Ａ」）、実行中のＦＷがＦＷ＃Ｂのとき（Ｓ５０６の「ＦＷ＃Ｂ」）、ＦＷ更新部１３は、実行中でないＦＷ＃Ａを更新すると判定する。すなわち、ＦＷ更新部１３は、０ｘＢＢＢＢ番地に新ＦＷ＃Ａイメージ３２０を書き込む（Ｓ５０７）。次に、ＦＷ更新部１３は、０ｘＣＣＣＣ番地に新ＦＷ＃Ａベクタテーブル３３０を書き込む（Ｓ５０８）。
【００５０】
Ｓ５０５において、検出したＦＷ識別ＩＤ７１０がＦＷ＃Ｂの更新に関する情報を示し（Ｓ５０５において「ＦＷ＃Ｂ」）、実行中のＦＷがＦＷ＃Ａのとき（Ｓ５１０において「ＦＷ＃Ａ」）、ＦＷ更新部１３は、実行中でないＦＷ＃Ｂを更新すると判定する。すなわち、ＦＷ更新部１３は、０ｘＤＤＤＤ番地に新ＦＷ＃Ｂイメージ３５０を書き込む（Ｓ５１１）。次に、ＦＷ更新部１３は、０ｘＥＥＥＥ番地に新ＦＷ＃Ｂベクタテーブル３６０を書き込む。
【００５１】
また、Ｓ５０５において、検出したＦＷ識別ＩＤ７１０がＦＷ＃Ａの更新に関する情報またはＦＷ＃Ｂの更新に関する情報のどちらでもないとき（Ｓ５０５において「ＦＷ＃Ａ、ＦＷ＃Ｂ以外」）、ＦＷ更新部１３は、このＦＷ識別ＩＤに関連付けられる領域を廃棄する。同様に、Ｓ５０６において実行中のＦＷがＦＷ＃Ａのとき（Ｓ５０６において「ＦＷ＃Ａ」）またはＳ５１０において実行中のＦＷがＦＷ＃Ｂのとき（Ｓ５１０において「ＦＷ＃Ｂ」）、それぞれ、ＦＷ識別ＩＤ７１０に関連付けられる領域を廃棄する（Ｓ５０９）。
【００５２】
Ｓ５０８、Ｓ５０９またはＳ５１２の後、ＦＷ更新部１３は、受信した更新ファイル３００のうち、すべてのＦＷ識別ＩＤを確認していない場合（Ｓ５１３の「Ｎｏ」）、再びＳ５０４に戻り、照合していないＦＷ識別ＩＤを、ＦＷ識別ＩＤ判定テーブル１２７と照合する。
【００５３】
なお、本実施形態では、ファイルの伝送誤りの確認（Ｓ５０２及びＳ５０３）を、Ｈｏｓｔシステム１４０から更新ファイル３００を受信した後（Ｓ５０１の後）に行っているが、このタイミングに限られない。例えば、新バージョンのＦＷを不揮発メモリ１２に書き込んだ後（Ｓ５０８の後またはＳ５１２の後）にファイルの伝送誤りの確認を行ってもよい。
【００５４】
ＦＷ更新部１３は、受信した更新ファイル３００のうち、すべてのＦＷ対応ファイルの識別ＩＤを確認した後（Ｓ５１３の「Ｙｅｓ」）、図５の処理を、「Ｂ」から図６の「Ｂ」に進める。
【００５５】
図６に示すように、受信部１１はＨｏｓｔシステム１４０から更新したＦＷの起動命令を受信する（Ｓ６０１）。ＦＷ切替部１４は、受信部１１がＦＷの起動命令を受信すると、主信号制御ピン１１１の極性を、引き継ぎテーブル１２６に書き込む。
【００５６】
図９は、引き継ぎテーブル１２６の一例を示す図である。図９に示すように、引き継ぎテーブル１２６には、引き継ぎ有効フラグ及び主信号制御ピン１１１のそれぞれの状態が格納される。例えば、引き継ぎ有効フラグが有効であれば「１」、有効でなければ「０」が格納される。また、引き継ぎテーブル１２６には、ＰＩＮ１乃至ＰＩＮｎのそれぞれの極性がＨｉｇｈであれば「１」、Ｌｏｗであれば「０」といった情報が格納される。ここで、引き継ぎ有効フラグが有効である場合、更新したＦＷは、主信号導通デバイスへの制御信号の出力状態として、ＰＩＮ１乃至ＰＩＮｎのそれぞれの極性を引き継ぐ。引き継ぎ有効フラグが無効である場合、更新したＦＷは、当該極性を引き継がない。
【００５７】
図６に戻り、ＦＷ切替部１４は、引き継ぎテーブル１２６の引き継ぎ有効フラグに「有効」を書き込むと共に、主信号制御ピン１１１の極性を書き込む（Ｓ６０２）。
【００５８】
ここで、実行中のＦＷがＦＷ＃Ａのとき（Ｓ６０３において「ＦＷ＃Ａ」）、ＦＷ切替部１４は、ＦＷ＃Ａの実行中に、ＦＷ＃Ｂの起動開始番地、すなわち０ｘＤＤＤＤ番地にジャンプし、ＦＷ＃Ｂの起動を開始する（Ｓ６０４）。このとき、ＦＷ切替部１４は、ＦＷ起動用ベクタテーブル１２１に、Ｓ５１２において更新したＦＷ＃Ｂベクタテーブル１２５を書き込む（Ｓ６０５）。更新したＦＷ＃Ｂは、引き継ぎテーブル１２６を読み出し、引き継ぎ有効フラグが有効であれば、主信号制御ピン１１１の極性を引き継ぎ、引き継ぎ有効フラグを無効にする（Ｓ６０６）。
【００５９】
Ｓ６０３において、実行中のＦＷがＦＷ＃Ｂのとき（Ｓ６０３の「ＦＷ＃Ｂ」）、ＦＷ切替部１４は、ＦＷ＃Ｂの実行中に、ＦＷＡの起動開始番地、すなわち０ｘＢＢＢＢ番地にジャンプし、ＦＷ＃Ａの起動を開始する（Ｓ６０７）。このときＦＷ起動用ベクタテーブル１２１に、更新したＦＷ＃Ａベクタテーブル１２３を書き込む（Ｓ６０８）。更新したＦＷ＃Ａは、引き継ぎテーブル１２６を読み出し、引き継ぎ有効フラグが有効であれば、主信号制御ピン１１１の極性を、引き継ぎ、引き継ぎ有効フラグを無効にする（Ｓ６０６）。
【００６０】
以上のように、本第１の実施形態にかかる情報処理装置１０は、不揮発メモリ１２で実行されるＦＷを２種類格納し、Ｈｏｓｔシステム１４０から、それぞれのＦＷの動作番地に応じた、各ＦＷに対応する新バージョンのＦＷを受信する。そして、不揮発メモリ１２に格納されるＦＷのうち、一方のＦＷを実行させたまま、他方の実行中でないＦＷを更新する。これにより、それぞれのＦＷの動作番地を考慮したオンラインアップグレードを行うことができるので、不揮発メモリ１２で実行されるＦＷのオンラインアップグレードを正しく行うことが可能になる、という効果が得られる。
【００６１】
また、本第１の実施形態にかかる情報処理装置１０は、更新したＦＷを起動する際に、主信号制御ピン１１１の極性を、更新したＦＷが引き継ぐことができる。そのため、主信号１３１を導通させる主信号導通デバイス１３０の制御を停止させずにオンラインアップグレードを行うことが可能になる、という効果が得られる。加えて、ＦＷをオンラインでアップグレードできるので、顧客などに納入後にアップグレードの必要が生じた場合でも、納入済みの主信号導通モジュール１０００を回収する必要がない。よって、モジュール回収費用を低減することが可能になる、という効果が得られる。
【００６２】
なお、本実施形態では、不揮発メモリ１２に２種類のＦＷが格納される場合について説明したが、格納されるＦＷは３種類以上であってもよい。
【００６３】
また、本実施形態では、ＦＷが情報処理装置１０の機能構成を実現するプログラムを含む例について説明したが、当該プログラムは、ＦＷに含まれることに限定されない。つまり、当該プログラムは、ＦＷに含まれないプログラムとして不揮発メモリ１２に格納されてもよく、ＣＰＵ１１０が当該プログラムを直接読み出すことにより、情報処理装置１０が構築されてもよい。このとき、当該プログラムは不揮発メモリ１２に格納されることに限定されず、図示しない他の不揮発メモリに格納されてもよい。
【００６４】
第２の実施形態
図１０は、本発明の第２の実施形態にかかる情報処理装置８００の機能構成を示すブロック図である。図１０に示すように、情報処理装置８００は、不揮発メモリ１２と、更新部８１０と、切替部８２０とを備える。
【００６５】
不揮発メモリ１２は、複数のＦＷに関する情報をそれぞれ格納する領域を有する。
【００６６】
更新部８１０は、不揮発メモリ１２において、ＦＷがそれぞれ実行される番地情報を含むそれぞれの更新情報に基づいて、複数のＦＷのうち、実行中でないＦＷを更新する。
【００６７】
切替部８２０は、更新された実行中でないＦＷを起動する。
【００６８】
上記構成を採用することにより、本実施形態にかかる情報処理装置８００は、それぞれのＦＷの動作番地を考慮して更新することができるので、不揮発メモリで実行されるＦＷを正しく更新することが可能になる、という効果が得られる。
【００６９】
以上、上述した実施形態を参照して本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、種々の上記開示要素の多様な組み合わせ乃至選択など、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００７０】
１０、８００  情報処理装置
１１  受信部
１２  不揮発メモリ
１３  ＦＷ更新部
１４  ＦＷ切替部
１００  ＣＰＵシステム
１１０  ＣＰＵ
１２１  ＦＷ起動用ベクタテーブル
１２２  ＦＷ＃Ａイメージ
１２３  ＦＷ＃Ａベクタテーブル
１２４  ＦＷ＃Ｂイメージ
１２５  ＦＷ＃Ｂベクタテーブル
１２６  引き継ぎテーブル
１２７  ＦＷ識別ＩＤ判定テーブル
１３０  主信号導通デバイス
１３１  主信号
１４０  Ｈｏｓｔシステム
３００  更新ファイル
３１０、３４０  識別ＩＤ
３２０  新ＦＷ＃Ａイメージ
３３０  新ＦＷ＃Ａベクタテーブル
３５０  新ＦＷ＃Ｂイメージ
３６０  新ＦＷ＃Ｂベクタテーブル
７１０  ＦＷ識別ＩＤ
７２０  ＬＥＮＧＴＨ
７３０  誤り検出符号
８１０  更新部
８２０  切替部
【図１】
2020017059.tif 000003
【図２】
2020017059.tif 000004
【図３】
2020017059.tif 000005
【図４】
2020017059.tif 000006
【図５】
2020017059.tif 000007
【図６】
2020017059.tif 000008
【図７】
2020017059.tif 000009
【図８】
2020017059.tif 000010
【図９】
2020017059.tif 000011
【図１０】
2020017059.tif 000012