(57)【特許請求の範囲】
【請求項１】
上位装置よりファームウェアのダウンロードを行うダウンロードシステムであって、
前記ダウンロードシステムは、
メインバスと、
サブバスと、
前記メインバスに接続され、システムの運用に用いられる現用ファームウェアが格納されるワークメモリ部と、
前記サブバスに接続され、ファームウェアが格納される第１のファームウェアメモリ部と、
前記サブバスに接続され、ファームウェアが格納される第２のファームウェアメモリ部と、
主制御部が前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部から読み出した現用ファームウェアが格納されるワークメモリ部と、
前記サブバスに接続され、上位装置からのファームウェア更新要求に応答して、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに更新ファームウェアを格納する外部インタフェース部と、
前記メインバスと前記サブバスとの間に設けられ、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに現用ファームウェアが格納されているかの格納情報を保持し、前記主制御部からの現用ファームウェアの読出しの指示に応答して、前記格納情報に基づいて現用ファームウェアが格納されているファームウェアメモリ部を指示し、また、前記外部インタフェース部からの要求に応答し、前記格納情報に基づいて現用ファームウェアが格納されていないファームウェアメモリ部を指示し、そのファームウェアメモリ部に更新ファームウェアを格納させるバス制御部と
を有し、
前記第１のファームウェアメモリ部及び前記第２のファームウェアメモリ部は、非運用ファームウェアが格納されている場合は、障害情報が格納されることを特徴とするダウンロードシステム。
【請求項２】
前記バス制御部は、
上位装置からの更新ファームウェアの誤り検出の実行要求に応答し、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに格納された更新ファームウェアの誤り検出を行う誤り検出手段と、
前記誤り検出手段の結果が正常である場合、現用ファームウェアと更新ファームウェアとのヴァージョンの照合を行う照合手段と、
前記照合手段の結果に基づいて、現用ファームウェアが格納されているファームウェアメモリ部から更新ファームウェアが格納されているファームウェアメモリ部に更新する手段と
を有することを特徴とする請求項１に記載のダウンロードシステム。
【請求項３】
前記主制御部は、障害が発生した場合、現用ファームウェアが格納されている前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかへのアクセス要求を前記バス制御部に通知する手段を有し、
前記バス制御部は、前記通知に応答して、前記格納情報に基づいて現用ファームウェアが格納されているファームウェアメモリ部にアクセスするよう前記主制御部に指示する手段を有する
ことを特徴とする請求項１又は請求項２に記載のダウンロードシステム。
【請求項４】
上位装置よりファームウェアのダウンロードを行う情報処理装置のプログラムであって、
前記情報処理装置は、メインバスと、サブバスと、前記メインバスに接続され、システムの運用に用いられる現用ファームウェアが格納されるワークメモリ部と、前記サブバスに接続され、ファームウェアが格納される第１のファームウェアメモリ部と、前記サブバスに接続され、ファームウェアが格納される第２のファームウェアメモリ部とを有し、
前記プログラムは、前記情報処理装置を、
前記現用ファームウェアを、第１のファームウェアメモリ部又は第２のファームウェアメモリ部から読み出し、読み出したファームウェアをワークメモリ部に格納する主制御部と、
上位装置からのファームウェア更新要求に応答して、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに更新ファームウェアを格納する外部インタフェース部と、
前記メインバスと前記サブバスとを分離し、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに現用ファームウェアが格納されているかの格納情報を保持し、前記主制御部からの現用ファームウェアの読出しの指示に応答して、前記格納情報に基づいて現用ファームウェアが格納されているファームウェアメモリ部を指示し、また、前記外部インタフェース部からの要求に応答し、前記格納情報に基づいて現用ファームウェアが格納されていないファームウェアメモリ部を指示し、そのファームウェアメモリ部に更新ファームウェアを格納させるバス制御部と、
非運用ファームウェアが格納されているファームウェアメモリ部を、障害情報を収集する機能部と
して機能させることを特徴とするプログラム。
【請求項５】
前記プログラムは、前記バス制御部を、
上位装置からの更新ファームウェアの誤り検出の実行要求に応答し、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに格納された更新ファームウェアの誤り検出を行う誤り検出手段と、
前記誤り検出手段の結果が正常である場合、現用ファームウェアと更新ファームウェアとのヴァージョンの照合を行う照合手段と、
前記照合手段の結果に基づいて、現用ファームウェアが格納されているファームウェアメモリ部から更新ファームウェアが格納されているファームウェアメモリ部に更新する手段と
して更に機能させることを特徴とする請求項４に記載のプログラム。
【請求項６】
前記プログラムは、
前記主制御部を、障害が発生した場合、現用ファームウェアが格納されている前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかへのアクセス要求を前記バス制御部に通知する手段として更に機能させ、
前記バス制御部を、前記通知に応答して、前記格納情報に基づいて現用ファームウェアが格納されているファームウェアメモリ部にアクセスするよう前記主制御部に指示する手段として更に機能させることを特徴とする請求項４又は請求項５に記載のプログラム。
【請求項７】
メインバスと、サブバスと、前記メインバスに接続されたワークメモリ部と、前記サブバスに接続された第１及び第２のファームウェアメモリ部と、前記サブバスに接続された外部インタフェース部と、前記メインバスに接続された主制御部と、前記メインバスと前記サブバスとの間に設けられたバス制御部とを有する情報処理装置が上位装置よりファームウェアをダウンロードする方法であって、
前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに現用ファームウェアが格納されているかの格納情報を前記バス制御部が保持するステップと、
前記主制御部が、ブート起動時に、前記バス制御部に現用ファームウェアが格納されているファームウェアメモリ部を問合わせするステップと、
前記バス制御部は、前記問合せに応答し、前記格納情報に基づいて、現用ファームウェアが格納されているファームウェアメモリ部を、前記主制御部に通知するステップと、
前記主制御部は、前記バス制御部の通知に基づいて、現用ファームウェアが格納されているファームウェアメモリ部から現用ファームウェアを読出し、前記ワークメモリ部に格納するステップと、
前記主制御部は、前記ワークメモリ部に格納されている現用ファームウェアに基づいて、システムを運用するステップと、
前記主制御部がシステム運用時において、前記バス制御部は、前記外部インタフェース部から更新ファームウェアのダウンロードの要求に応答し、前記格納情報に基づいて現用ファームウェアが格納されていないファームウェアメモリ部を、前記外部インタフェース部に指示するステップと、
前記外部インタフェース部は、前記バス制御部の指示に従って、ダウンロードされてくる更新ファームウェアを、現用ファームウェアが格納されていないファームウェアメモリ部に格納するステップと、
通常運用中に、障害情報を非運用ファームウェアが格納されているファームウェアメモリ部に格納するステップと
を有することを特徴とするダウンロード方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、システムの不具合の対処や機能改善等のために、ファームウェアをシステム内の各種機能ブロック装置へダウンロードするシステムであって、特に各種機能ブロック装置によって構成されている局用電話交換機のように、サービスの運用状態の信頼性を重視する基幹通信網システムにおいて、この基幹通信網システムの運用中におけるファームウェアダウンロードシステム及び方法に関する。
【０００２】
【従来の技術】
一般に、不具合の対処又は機能向上を目的として、各機能ブロック装置にファームウェアのダウンロードを行う必要が生じる。このダウンロードを行う技術として、従来は、ファームウェアをダウンロードする機能ブロック装置とこの機能ブロック装置と同一機能を持った機能ブロック装置類とが具備された二重化運用形態にあるシステムの場合、ファームウェアの交換や更新等が必要な機能ブロック装置が非運用状態時にファームウェアのダウンロードの実行、あるいは上記機能ブロック装置の交換を局内の人手を介して行っていた。一方、二重化運用形態ではないシステムの場合、システムの一時停止、あるいはシステム機能の低下を伴いながら、各機能ブロック装置にファームウェアのダウンロードを行っていた。
【０００３】
しかし、各機能ブロック装置に対するファームウェアのダウンロードを実施するにあたって、近年、システム運用面における人員コストの削減や、運用中にシステムが一時的に一重化となることによる信頼性の低下が懸念されている。
【０００４】
そこで、これらの問題を解決するために特開平１１−７３８２号公報には、ファームウェアメモリ領域を現用ファームウェアの格納領域と、新ファームウェアを格納する領域とに分けてメモリ領域を２面構成することによって、システムを一時停止することなくファームウェアのダウンロードを行う方法が提案されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した公報に開示されている技術は、ファームウェアのダウンロード中、システムが二重化運用形態から一重化運用形態へと状態遷移されてしまい、システムに対する信頼性を低下させてしまっていた。
【０００６】
また、上述の状態ではシステムは一重化運用形態なので、現用ファームウェアが格納されている運用系機能ブロック装置に障害が発生した場合、非運用系機能ブロック装置への切り替えが不可能となるため、システム全体の信頼性を保持することができず、発生した障害内容によってはサービス停止となってしまう欠点があった。
【０００７】
更に、上述した公報に開示されている技術は、装置主制御部とファームウェアとが直結した構成となっているため、通常運用処理中のファームウェアのダウンロードは装置主制御部に多大な負荷を与えてしまい、通常運用に影響が出てしまうことが懸念されていた。
【０００８】
また、上述した公報に開示されている技術では、ファームウェアのデータ更新を行う際、同期点を設ける必要があり、大幅なファームウェアの更新が生じた場合、多数の同期点を設けなければならないため、この方式では実現が困難であった。
【０００９】
そこで、本発明は上記の課題に鑑みて発明されたものであって、その目的は、システムの運用状態でありながら、装置主制御部の処理に影響を与えずに外部からファームウェアのダウンロードを行い、また、サービスの二重化形態を可能な限り損なわずにシステムの運用を行い、冗長性と信頼性とを向上させるシステムを提供することにある。
【００１０】
【課題を解決するための手段】
上記課題を解決する第１の発明は、
上位装置よりファームウェアのダウンロードを行うダウンロードシステムであって、
前記ダウンロードシステムは、
メインバスと、
サブバスと、
前記メインバスに接続され、システムの運用に用いられる現用ファームウェアが格納されるワークメモリ部と、
前記サブバスに接続され、ファームウェアが格納される第１のファームウェアメモリ部と、
前記サブバスに接続され、ファームウェアが格納される第２のファームウェアメモリ部と、
主制御部が前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部から読み出した現用ファームウェアが格納されるワークメモリ部と、
前記サブバスに接続され、上位装置からのファームウェア更新要求に応答して、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに更新ファームウェアを格納する外部インタフェース部と、
前記メインバスと前記サブバスとの間に設けられ、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに現用ファームウェアが格納されているかの格納情報を保持し、前記主制御部からの現用ファームウェアの読出しの指示に応答して、前記格納情報に基づいて現用ファームウェアが格納されているファームウェアメモリ部を指示し、また、前記外部インタフェース部からの要求に応答し、前記格納情報に基づいて現用ファームウェアが格納されていないファームウェアメモリ部を指示し、そのファームウェアメモリ部に更新ファームウェアを格納させるバス制御部と
を有し、
前記第１のファームウェアメモリ部及び前記第２のファームウェアメモリ部は、非運用ファームウェアが格納されている場合は、障害情報が格納されることを特徴とする。
【００１１】
また、上記課題を解決する第２の発明は、上記第１の発明において、前記バス制御部は、
上位装置からの更新ファームウェアの誤り検出の実行要求に応答し、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに格納された更新ファームウェアの誤り検出を行う誤り検出手段と、
前記誤り検出手段の結果が正常である場合、現用ファームウェアと更新ファームウェアとのヴァージョンの照合を行う照合手段と、
前記照合手段の結果に基づいて、現用ファームウェアが格納されているファームウェアメモリ部から更新ファームウェアが格納されているファームウェアメモリ部に更新する手段と
を有することを特徴とする。
【００１２】
また、上記課題を解決する第３の発明は、上記第１の発明又は第２の発明において、前記主制御部は、障害が発生した場合、現用ファームウェアが格納されている前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかへのアクセス要求を前記バス制御部に通知する手段を有し、
前記バス制御部は、前記通知に応答して、前記格納情報に基づいて現用ファームウェアが格納されているファームウェアメモリ部にアクセスするよう前記主制御部に指示する手段を有する
ことを特徴とする。
【００１３】
また、上記課題を解決する第４の発明は、上位装置よりファームウェアのダウンロードを行う情報処理装置のプログラムであって、
前記情報処理装置は、メインバスと、サブバスと、前記メインバスに接続され、システムの運用に用いられる現用ファームウェアが格納されるワークメモリ部と、前記サブバスに接続され、ファームウェアが格納される第１のファームウェアメモリ部と、前記サブバスに接続され、ファームウェアが格納される第２のファームウェアメモリ部とを有し、
前記プログラムは、前記情報処理装置を、
前記現用ファームウェアを、第１のファームウェアメモリ部又は第２のファームウェアメモリ部から読み出し、読み出したファームウェアをワークメモリ部に格納する主制御部と、
上位装置からのファームウェア更新要求に応答して、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに更新ファームウェアを格納する外部インタフェース部と、
前記メインバスと前記サブバスとを分離し、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに現用ファームウェアが格納されているかの格納情報を保持し、前記主制御部からの現用ファームウェアの読出しの指示に応答して、前記格納情報に基づいて現用ファームウェアが格納されているファームウェアメモリ部を指示し、また、前記外部インタフェース部からの要求に応答し、前記格納情報に基づいて現用ファームウェアが格納されていないファームウェアメモリ部を指示し、そのファームウェアメモリ部に更新ファームウェアを格納させるバス制御部と、
非運用ファームウェアが格納されているファームウェアメモリ部を、障害情報を収集する機能部と
して機能させることを特徴とする。
【００１４】
また、上記課題を解決する第５の発明は、前記第４の発明において、前記プログラムは、前記バス制御部を、
上位装置からの更新ファームウェアの誤り検出の実行要求に応答し、前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに格納された更新ファームウェアの誤り検出を行う誤り検出手段と、
前記誤り検出手段の結果が正常である場合、現用ファームウェアと更新ファームウェアとのヴァージョンの照合を行う照合手段と、
前記照合手段の結果に基づいて、現用ファームウェアが格納されているファームウェアメモリ部から更新ファームウェアが格納されているファームウェアメモリ部に更新する手段と
して更に機能させることを特徴とする。
【００１５】
また、上記課題を解決する第６の発明は、前記第４の発明又は前記第５の発明において、前記プログラムは、
前記主制御部を、障害が発生した場合、現用ファームウェアが格納されている前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかへのアクセス要求を前記バス制御部に通知する手段として更に機能させ、
前記バス制御部を、前記通知に応答して、前記格納情報に基づいて前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに格納されている現用ファームウェアを前記主制御部に転送させる手段として更に機能させることを特徴とする。
【００１６】
また、上記課題を解決する第７の発明は、
メインバスと、サブバスと、前記メインバスに接続されたワークメモリ部と、前記サブバスに接続された第１及び第２のファームウェアメモリ部と、前記サブバスに接続された外部インタフェース部と、前記メインバスに接続された主制御部と、前記メインバスと前記サブバスとの間に設けられたバス制御部とを有する情報処理装置が上位装置よりファームウェアをダウンロードする方法であって、
前記第１のファームウェアメモリ部又は前記第２のファームウェアメモリ部のいずれかに現用ファームウェアが格納されているかの格納情報を前記バス制御部が保持するステップと、
前記主制御部が、ブート起動時に、前記バス制御部に現用ファームウェアが格納されているファームウェアメモリ部を問合わせするステップと、
前記バス制御部は、前記問合せに応答し、前記格納情報に基づいて、現用ファームウェアが格納されているファームウェアメモリ部を、前記主制御部に通知するステップと、
前記主制御部は、前記バス制御部の通知に基づいて、現用ファームウェアが格納されているファームウェアメモリ部から現用ファームウェアを読出し、前記ワークメモリ部に格納するステップと、
前記主制御部は、前記ワークメモリ部に格納されている現用ファームウェアに基づいて、システムを運用するステップと、
前記主制御部がシステム運用時において、前記バス制御部は、前記外部インタフェース部から更新ファームウェアのダウンロードの要求に応答し、前記格納情報に基づいて現用ファームウェアが格納されていないファームウェアメモリ部を、前記外部インタフェース部に指示するステップと、
前記外部インタフェース部は、前記バス制御部の指示に従って、ダウンロードされてくる更新ファームウェアを、現用ファームウェアが格納されていないファームウェアメモリ部に格納するステップと、
通常運用中に、障害情報を非運用ファームウェアが格納されているファームウェアメモリ部に格納するステップと
を有することを特徴とする。
【００１８】
【発明の実施の形態】
図１、図２は本発明の実施形態を示すもので、図１は本発明によるシステムに搭載される機能ブロック装置及びその周辺装置のブロック構成の概略図であり、図２は機能ブロック装置の詳細構成図である。
【００１９】
図１に示すように本発明におけるシステムには、機能ブロック装置Ａ１０と、上位装置Ａ１３とから構成されている。
【００２０】
機能ブロック装置Ａ１０は、装置主制御部Ａ１と、ブート起動プログラムメモリ部Ａ２と、装置主制御部Ａ１が使用するデータを格納するワークメモリ部Ａ３と、装置主制御部Ａ１の制御の対象である個別機能部Ａ４及び個別機能部Ａ５と、メモリ選択制御機能を具備したバス制御部Ａ８と、ファームウェアを格納するファームウェアメモリ部Ａ６及びＡ７と、システム主制御装置Ａ１及び上位装置Ａ１３からの制御に用いる外部インタフェース制御部Ａ９とを有する。
【００２１】
装置主制御部Ａ１と、ブート起動プログラムメモリ部Ａ２と、ワークメモリ部Ａ３と、個別機能部Ａ４及び個別機能部Ａ５と、バス制御部Ａ８とは、各ブロック間のメインバスＢ１にて接続されている。バス制御部Ａ８と、ファームウェアメモリ部Ａ６及びＡ７と、外部インタフェース制御部とは、各ブロック間のサブバスＢ２にて接続されている。
【００２２】
次に構成の詳細について図２を用いて説明する。
【００２３】
装置主制御部Ａ１は、個別機能部Ａ４と個別機能部Ａ５とをシステム運用時に制御するものである。
【００２４】
ブート起動プログラムメモリ部Ａ２は、システム搭載時において装置主制御部Ａ１に電源が投入された際、装置主制御部Ａ１が最初に読込むプログラムを格納されるものである。
【００２５】
ワークメモリ部Ａ３は、装置主制御部Ａ１が使用するファームウェアが格納されるものである。
【００２６】
ファームウェアメモリ部Ａ６及びファームウェアメモリ部Ａ７は、一方に現在運用中のファームウェアが格納されているものであり、もう一方に更新ファームウェアが格納されている。
【００２７】
バス制御部Ａ８は、機能ブロック装置Ａ１０が現在使用しているファームウェアがどちらのファームウェアメモリ部に格納されているかという格納識別情報を保持し、上位装置Ａ１３からのファームウェアの更新要求を受信すると格納識別情報に基づいて更新ファームウェアを格納するファームウェアメモリ部Ａ６又はファームウェアメモリ部Ａ７のいずれかを選択し、この選択結果を選択情報として外部インタフェースＡ９へ通知するものである。
【００２８】
外部インタフェースＡ９は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送機能を具備しており、バス制御部Ａ８からの選択情報より転送先のファームウェアメモリ部を認識し、更新ファームウェアのデータをＤＭＡ転送するものである。
【００２９】
上位装置Ａ１３は、機能ブロック装置Ａ１０を監視し、制御するものであり、更新ファームウェアを外部インタフェースＡ９へ転送するものである。
【００３０】
メインバスＢ１は、装置主制御部Ａ１と、ブート起動プログラムメモリ部Ａ２と、ワークメモリ部Ａ３と、個別機能部Ａ４及び個別機能部Ａ５と、バス制御部Ａ８とを接続するものである。
【００３１】
サブバスＢ２は、メインバスＢ１からバス制御部Ａ８を介して分離したものであり、バス制御部Ａ８と、ファームウェアメモリ部Ａ６及びＡ７と、外部インタフェースＡ９とを接続するものである。
【００３２】
外部インタフェースＢ３は、上位装置Ａ１３と外部インタフェース制御部Ａ９とを接続するものである。
【００３３】
次に、システム運用中における機能ブロック装置Ａ１０の詳細について図２を用いて説明する。尚、ここでは、ファームウェアメモリ部Ａ６、ファームウェアメモリ部Ａ７のうち、ファームウェアメモリ部Ａ６に現在の運用に使用されているファームウェアが格納されているものとする。
【００３４】
機能ブロック装置Ａ１０は、システム搭載時に電源が投入されると、ブート起動プログラムメモリ部Ａ２に保持されているプログラムに従って初期状態に遷移される。
【００３５】
装置主制御部Ａ１は、個別機能部Ａ４と個別機能部Ａ５との処理の制御を行いながら、ファームウェアメモリ部Ａ６又はファームウェアメモリ部Ａ７に格納されている現用ファームウェアをワークメモリ部Ａ３へリードデータ転送する。そして、機能ブロック装置Ａ１０は、システム主制御装置Ａ１１による制御に従ってシステムを運用状態に遷移させる。
【００３６】
上位装置Ａ１３は、ファームウェアの更新要求を外部インタフェース制御部Ａ９を介してバス制御部Ａ８へ通知する。
【００３７】
バス制御部Ａ８は、ファームウェアの更新要求を受信すると自分自身で保持している格納識別情報に基づいて、更新ファームウェアを格納すべきファームウェアメモリ部Ａ６又はファームウェアメモリ部Ａ７を選択する。
【００３８】
本例では、格納識別情報がファームウェアメモリ部Ａ６を示しているので、ファームウェアメモリ部Ａ６に現在使用しているファームウェアが格納されていると判断し、更新ファームウェアを格納すべきファームウェアメモリ部としてファームウェアメモリ部Ａ７を選択する。そして、バス制御部Ａ８は、ファームウェアメモリ部の選択の結果である選択情報を外部インタフェース制御部Ａ９に通知する。更にバス制御部Ａ８は、上位装置Ａ１３に対しファームウェアの更新許可を通知する。
【００３９】
上位装置Ａ１３は更新許可を受信後、ファームウェアのダウンロード対象装置である機能ブロック装置Ａ１０のバス制御部Ａ８に更新ファームウェアとなるデータの転送開始を通知し、外部インタフェースＡ９へ更新ファームウェアのデータの転送を開始する。
【００４０】
上位装置Ａ１３よりデータとして転送されてくる更新ファームウェアは、外部インタフェースＡ９で受信される。外部インタフェースＡ９は、バス制御部Ａ８より通知された選択情報に基づいて、ファームウェアメモリ部Ａ７に更新ファームウェアのデータをＤＭＡ転送する。
【００４１】
上位装置Ａ１３は、更新ファームウェアのデータの転送がすべて終了すると、バス制御部Ａ８に転送終了を通知する。転送終了の通知後、上位装置Ａ１３は、更新ファームウェアの誤り検出の実行をバス制御部Ａ８に要求する。
【００４２】
上位装置Ａ１３からの更新ファームウェアの誤り検出の実行要求に従い、バス制御部Ａ８は、ファームウェアメモリ部Ａ７に格納された更新ファームウェアの誤り検出を行い、その誤り検出の結果を上位装置Ａ１３に通知する。
【００４３】
本実施例の基本的な動作について説明する。
【００４４】
図３は更新ファームウェアのダウンロードにおける動作を説明するシーケンス図であり、図４はファームウェアのダウンロード終了後における動作を説明するシーケンス図である。
【００４５】
まず、本発明のシステムを構成する機能ブロック装置に対するファームウェアのダウンロードの動作について図３を用いて説明する。尚、ここでは、ファームウェアメモリ部Ａ６、ファームウェアメモリ部Ａ７のうち、ファームウェアメモリ部Ａ６に現在の運用に使用されているファームウェアが格納されているものとする。
【００４６】
システム搭載時に電源投入されると、ブート起動プログラムメモリ部Ａ２に保持されたプログラムに従い、機能ブロック装置Ａ１０を初期状態に遷移させる。装置主制御部Ａ１は、ファームウェアメモリ部Ａ６に格納されている現用ファームウェアをワークメモリ部Ａ３に転送し、システムを運用状態に遷移する。
【００４７】
運用状態（Ｃ１）にある機能ブロック装置Ａ１０に更新ファームウェアのダウンロードを実施する場合、上位装置Ａ１３は、更新要求（Ｃ２）をバス制御部Ａ８へ通知する。
【００４８】
バス制御部Ａ８は更新要求（Ｃ２）を受信後、格納識別情報に基づいて、現用ファームウェアが格納されていない方のファームウェアメモリ部Ａ６又はファームウェアメモリ部Ａ７の選択（Ｃ３）を行う。
【００４９】
本例では、格納識別情報がファームウェアメモリ部Ａ６を示しているので、ファームウェアメモリ部Ａ６に現在使用しているファームウェアが格納されていると判断し、更新ファームウェアを格納すべきファームウェアメモリ部としてファームウェアメモリ部Ａ７を選択する。
【００５０】
そして、バス制御部Ａ８は、ファームウェアメモリ部の選択結果である選択情報（Ｃ４）を外部インタフェース制御部Ａ９に通知する。
【００５１】
外部インタフェース制御部Ａ９は、選択情報（Ｃ４）受信後、その応答となるメモリ選択情報応答（Ｃ５）をバス制御部Ａ８に通知する。メモリ選択情報応答（Ｃ５）を受信したバス制御部Ａ８は、上位装置Ａ１３に更新要求応答（Ｃ６）を通知する。
【００５２】
更新要求応答（Ｃ６）を受信した上位装置Ａ１３は、更新ファームウェアの転送開始（Ｃ７）をバス制御部Ａ８に通知する。バス制御部Ａ８は、受信した更新ファームウェアの転送開始通知の応答となる転送開始応答（Ｃ８）を上位装置Ａ１３に通知する。
【００５３】
転送開始応答（Ｃ８）を受信した上位装置Ａ１３は、外部インタフェース制御部Ａ９に更新ファームウェアのデータの転送（Ｃ９）を開始する。
【００５４】
外部インタフェース制御部Ａ９は、上位装置Ａ１３から転送されてくる更新ファームウェアのデータを、バス制御部Ａ８から通知された選択情報（Ｃ４）に基づいて、ファームウェアメモリ部Ａ７にＤＭＡ転送（Ｃ１０）する。更新ファームウェアのデータのＤＭＡ転送（Ｃ９）、（Ｃ１０）は、上位装置Ａ１３からの更新ファームウェアのデータの転送が終了するまで繰り返し実施される。
【００５５】
上位装置Ａ１３は、更新ファームウェアのデータの転送（Ｃ９）、（Ｃ１０）が終了すると、転送完了通知（Ｃ１１）をバス制御部Ａ８に通知する。バス制御部Ａ８は、受信した転送完了通知（Ｃ１１）に転送完了通知応答（Ｃ１２）を上位装置Ａ１３に通知する。
【００５６】
転送完了通知応答（Ｃ１２）を受信した上位装置Ａ１３は、転送した更新ファームウェアに誤りがないかを確認するために、更新ファームウェアの誤り検出の開始（Ｃ１３）をバス制御部Ａ８に要求する。
【００５７】
更新ファームウェアの誤り検出の開始（Ｃ１３）を受信したバス制御部Ａ８は、ファームウェアメモリ部Ａ７に格納された更新ファームウェアの誤り検出（Ｃ１４）を実施する。バス制御部Ａ８は、誤り検出の結果を判定（Ｃ１５）し、更新ファームウェアの転送が失敗と判定した場合は転送失敗の通知（Ｃ１６）を、更新ファームウェアの転送が成功したと判定した場合は更新ファームウェアの誤り検出完了通知（Ｃ１７）を、上位装置Ａ１３に通知する。
【００５８】
次に、誤り検出完了後の機能ブロック装置Ａ１０内の動作概要については図４を用いて説明する。
【００５９】
図４に示すように装置主制御部Ａ１は運用状態（Ｄ３）にあり、ファームウェアメモリ部Ａ６には装置主制御部Ａ１が現在使用しているファームウェア（Ｄ１）が格納され、ファームウェアメモリ部Ａ７には更新ファームウェア（Ｄ２）が格納されている状態である。この状態においてバス制御部Ａ８は、現用ファームウェアと更新ファームウェアとのヴァージョンを照合（Ｄ４）する。
【００６０】
バス制御部Ａ８は、自分自身が保持している現用ファームウェアの格納情報を更新するために、更新ファームウェアのヴァージョンの照合結果の判定（Ｄ５）を行う。この時、更新ファームウェアのヴァージョンが現用ファームウェアのヴァージョンより新しいと判定した場合はファームウェアメモリ部Ａ７（Ｄ６）を、更新ファームウェアのヴァージョンが現用ファームウェアのヴァージョンより古いと判定した場合はファームウェアメモリ部Ａ６（Ｄ７）を、現用ファームウェアの格納情報として更新（Ｄ９）する。
【００６１】
更新ファームウェアのダウンロード終了後、障害発生又は二重化システムの系切替（Ｄ８）により装置主制御部Ａ１からバス制御部Ａ８にファームウェアメモリ部Ａ６又はファームウェアメモリ部Ａ７へのアクセス要求（Ｄ１０）があった場合、バス制御部Ａ８は現用ファームウェアの格納情報に基づいてアクセス切替（Ｄ１１）を行い、装置主制御部Ａ１は現用ファームウェアを格納しているファームウェアメモリ部Ａ６又はファームウェアメモリ部Ａ７にアクセス（Ｄ１２）する。
【００６２】
装置主制御部Ａ１は、ファームウェアメモリ部Ａ６又はファームウェアメモリ部Ａ７から、現用ファームウェアのデータのリードデータ転送（Ｄ１３）を開始し、その現用ファームウェアをワークメモリ部Ａ３へ格納（Ｄ１４）する。
【００６３】
なお上記で述べた実施例では、更新ファームウェアのダウンロードを実施する際、２面構成になっているファームウェアメモリ部それぞれに現用ファームウェアと更新ファームウェアとを格納する構成としている。しかし通常運用中において２面構成になっているファームウェアメモリ部は、現用ファームウェアと非運用ファームウェアとを格納していることになるので、機能ブロック装置で発生した障害の情報を非運用ファームウェアが格納されているファームウェアメモリ部に格納すれば、非運用ファームウェアが格納されているファームウェアメモリ部を障害の情報を収集する機能部として使用することも可能となる。
【００６４】
また、上記実施例では図１に示した構成を基にしているが、図１はあくまでも機能分割した一例であり、例えば図５に示した通り、バス制御部と外部インタフェース制御部とを制御部Ａ８９として同一素子に統合する構成にしてもよい。この構成の場合、バス制御部Ａ８と外部インタフェース部Ａ９との間で情報の送受信時に経由していたサブバスを用いずに送受信が行え、機能ブロック装置Ａ１０上の実装面における効率化の効果が得られる。
【００６５】
【発明の効果】
本発明は、従来技術では装置主制御部に直結したメインバスに接続していたファームウェアメモリ部を切り離し、バス制御部を介したサブバスに接続した構成となっているので、機能ブロック装置が装置主制御部の制御によるシステム運用状態であっても通常の運用処理に影響を与えることなくバス制御部による制御の下で自立的かつ並列的に更新ファームウェアのダウンロードが可能となる。
【００６６】
また本発明は、ワークメモリ部に装置主制御部が使用する現用ファームウェアを格納し、２面構成となっているファームウェアメモリ部それぞれに現用ファームウェアと更新ファームウェアとを格納する構成となっているので、更新ファームウェアのダウンロード中に通常の運用処理における障害が発生しても、装置主制御部は現用ファームウェアを格納しているファームウェアメモリ部への切替が可能となり、システムに対する信頼性を保持することができる。
【００６７】
更に上述の通り、装置主制御部にて使用すべきファームウェアの選択をメモリ制御部にて切り替えることが可能となるため、システム運用前の検証及び、機能の確認等における作業の効率化及び作業時間の短縮といった効果も得られる。
【図面の簡単な説明】
【図１】本発明に係る実施形態の概略図である。
【図２】本発明に係る実施形態の詳細構成図である。
【図３】本発明に係る更新ファームウェアのダウンロードにおける各部動作を示すシーケンス図である。
【図４】本発明に係る更新ファームウェアのダウンロード後における各部動作を示すシーケンス図である。
【図５】本発明に係る第二の実施形態の構成図である。
【符号の説明】
Ａ１          装置主制御部
Ａ２          ブート起動プログラムメモリ部
Ａ３          ワークメモリ部
Ａ４，Ａ５    個別機能部
Ａ６，Ａ７    ファームウェアメモリ部
Ａ８          バス制御部
Ａ９          外部インタフェース制御部
Ａ１０        機能ブロック装置
Ａ１１        システム主制御装置
Ａ１２        外部保守制御装置
Ａ１３        上位装置
Ｂ１          メインバス
Ｂ２          サブバス
Ｂ３          外部インタフェース
【図１】
0003778280.tif 000002
【図２】
0003778280.tif 000003
【図３】
0003778280.tif 000004
【図４】
0003778280.tif 000005
【図５】
0003778280.tif 000006