JP6911591B2 - 情報処理装置、制御装置および情報処理装置の制御方法 - Google Patents

情報処理装置、制御装置および情報処理装置の制御方法 Download PDF

Info

Publication number
JP6911591B2
JP6911591B2 JP2017133914A JP2017133914A JP6911591B2 JP 6911591 B2 JP6911591 B2 JP 6911591B2 JP 2017133914 A JP2017133914 A JP 2017133914A JP 2017133914 A JP2017133914 A JP 2017133914A JP 6911591 B2 JP6911591 B2 JP 6911591B2
Authority
JP
Japan
Prior art keywords
unit
control
control device
processing unit
arithmetic processing
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.)
Active
Application number
JP2017133914A
Other languages
English (en)
Other versions
JP2019016218A (ja
Inventor
義仁 山上
義仁 山上
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017133914A priority Critical patent/JP6911591B2/ja
Publication of JP2019016218A publication Critical patent/JP2019016218A/ja
Application granted granted Critical
Publication of JP6911591B2 publication Critical patent/JP6911591B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、制御装置および情報処理装置の制御方法に関する。
交換機の動作を監視する保守運用システムにおいて、交換機を監視する制御装置は、監視処理に使用する情報を含むファイルを保持する。制御装置が保持するファイルが壊れた場合、保守運用システムによる交換機を監視する動作は停止し、監視処理の再開は困難になる。そこで、ファイルを制御装置と交換機との両方に保持し、制御装置が保持するファイルが壊れた場合、交換機から制御装置にファイルを転送することで、交換機を監視する監視処理を再開可能にする手法が提案されている(例えば、特許文献1参照)。
特開平4−68742号公報
ところで、サーバ等の情報処理装置は、情報処理を実行するシステム基板を制御する制御装置を有する。制御装置は、システム基板の制御を実行するファームウェアを保持するフラッシュメモリやEEPROM(Electrically Erasable Programmable Read-Only Memory)等の書き替え可能な不揮発性の記憶装置を有し、記憶装置が保持するファームウェアを実行することで、システム基板を制御する。例えば、制御装置によりファームウェアを書き替え中に停電等が発生し、ファームウェアが破壊された場合、制御装置は正常に起動できなくなる。制御装置が正常に起動しない場合、ファームウェアを記憶装置に書き込めないため、制御装置は動作不能になる。この場合、制御装置に含まれる記憶装置を正常なファームウェアが保持された記憶装置に交換するなどの保守作業を行うことで、制御装置は動作可能になる。
一方、情報処理装置に運用系と予備系の2つ制御装置を設け、2つ制御装置を排他的に使用してシステム基板を制御することで、情報処理装置の信頼性は、情報処理装置に1つの制御装置を設ける場合に比べて向上する。しかしながら、1つの制御装置が設けられる情報処理装置と同様に、制御装置のいずれかにおいてファームウェアが破壊された場合、破壊されたファームウェアを保持する記憶装置を有する制御装置は動作不能になる。この場合にも、制御装置を動作させるために、記憶装置の交換などの保守作業が行われる。
1つの側面では、本発明は、情報処理装置の情報処理部を排他的に制御する2つの制御装置の一方の記憶部が保持する情報が破壊された場合、制御装置の他方により、破壊された情報を修復することを目的とする。
一つの実施態様では、情報処理を実行する情報処理部と、情報処理部を制御する第1の制御装置と、情報処理部を制御する第2の制御装置とを有する情報処理装置において、第1の制御装置は、情報処理部を制御する制御プログラムと第2の制御装置を監視する監視プログラムとを保持する第1の記憶部と、第1の記憶部が保持する制御プログラムと監視プログラムとを実行する第1の演算処理部と、第2の制御装置を制御する指示を第2の制御装置に出力するとともに、第2の制御装置からの指示に基づいて、第1の演算処理部の状態と第1の記憶部のアクセスとを制御する第1の制御部とを有し、第2の制御装置は、情報処理部を制御する制御プログラムと第1の制御装置を監視する監視プログラムとを保持する第2の記憶部と、第2の記憶部が保持する監視プログラムを実行する第2の演算処理部と、第1の制御装置を制御する指示を第1の制御装置に出力するとともに、第1の制御装置からの指示に基づいて、第2の演算処理部の状態と第2の記憶部のアクセスとを制御する第2の制御部とを有し、第1の演算処理部は、第2の制御装置の停止を検出した場合、第1の制御部および第2の制御部を介して第2の記憶部をアクセスし、第2の記憶部が保持する情報が誤りを含む場合、第2の記憶部が保持する情報の誤りを修復し、第1の制御部および第2の制御部を介して第2の演算処理部を再起動させ、第2の演算処理部に第1の制御装置を監視する監視プログラムを実行させる。
1つの側面では、本発明は、情報処理装置の情報処理部を排他的に制御する2つの制御装置の一方の記憶部が保持する情報が破壊された場合、制御装置の他方により、破壊された情報を修復することができる。
情報処理装置、制御装置および情報処理装置の制御方法の一実施形態を示す図である。 図1に示す情報処理装置の動作の一例を示す図である。 図1に示す情報処理装置の動作の別の例を示す図である。 情報処理装置、制御装置および情報処理装置の制御方法の別の実施形態を示す図である。 図4に示す情報処理装置の動作の一例を示す図である。 図4に示す情報処理装置の動作の別の例を示す図である。 図4に示す情報処理装置の動作のさらなる別の例を示す図である。 図5、図6および図7に示すフラッシュメモリの診断と修復の一例を示す図である。 図4に示す情報処理装置において、運用系の制御ボードのMPUの動作の一例を示す図である。 図4に示す情報処理装置において、待機系の制御ボードのMPUの動作の一例を示す図である。 図4に示す情報処理装置において、FPGAの動作の一例を示す図である。 情報処理装置、制御装置および情報処理装置の制御方法の別の実施形態を示す図である。 図12に示す情報処理装置において、運用系の制御ボードのMPUの動作の一例を示す図である。 図12に示す情報処理装置において、待機系の制御ボードのMPUの動作の一例を示す図である。
以下、図面を用いて実施形態を説明する。
図1は、情報処理装置、制御装置および情報処理装置の制御方法の一実施形態を示す。図1に示す情報処理装置100は、例えば、サーバであり、情報処理を実行する情報処理部10と、情報処理部10を制御する制御装置20、30とを有する。情報処理部10は、CPU(Central Processing Unit)等の演算処理装置としてのプロセッサ12と、図示しない主記憶装置、電源ユニット、ハードディスクドライブ装置および通信インタフェース等を有する。
制御装置20、30は、互いに同じ構成を有し、制御装置20、30の一方が運用系の制御装置として動作し、制御装置20、30の他方が待機系の制御装置として機能する。すなわち、二重化された制御装置20、30のいずれかにより、情報処理部10の制御が排他的に実行される。なお、以下では、制御装置20が運用系として動作し、制御装置30が待機系として動作する例が説明される。
制御装置20は、演算処理部22と、制御プログラムPGM1および監視プログラムPGM2を保持する記憶部24と、制御部26とを有する。制御装置30は、演算処理部32と、制御プログラムPGM1および監視プログラムPGM2を保持する記憶部34と、制御部36とを有する。例えば、演算処理部22、32は、MPU(Micro-Processing Unit)等のプロセッサであり、制御部26、36は、FPGA(Field-Programmable Gate Array)等の動的に論理を再構成可能なデバイスを含む。
なお、制御装置20は、記憶部24から転送される制御プログラムPGM1および監視プログラムPGM2を保持するSDRAM(Synchronous Dynamic Random Access Memory)等のメモリ(図示せず)を有する。同様に、制御装置30は、記憶部34から転送される制御プログラムPGM1および監視プログラムPGM2を保持するSDRAM等のメモリ(図示せず)を有する。演算処理部22は、制御装置20が運用系として動作する場合、制御装置20のメモリに転送された制御プログラムPGM1および監視プログラムPGM2を実行する。演算処理部32は、制御装置30が待機系として動作する場合、制御装置30のメモリに転送された監視プログラムPGM2を実行する。
制御プログラムPGM1は、情報処理部10を制御するとともに情報処理部10の動作状態を監視するために、制御装置20の記憶部24および制御装置30の記憶部34にそれぞれ組み込まれた組み込みファームウェアの一例である。監視プログラムPGM2は、他の制御装置(30または20)の動作を監視するために、自制御装置(20または30)の記憶部(24、34)に組み込まれた組み込みファームウェアの一例である。
なお、記憶部24、34は、情報処理部10のCPU12が実行するPOST(Power-On Self-Test)ファームウェアまたはOBP(OpenBoot PROM)ファームウェア等のファームウェアを保持してもよい。この場合、記憶部24(または記憶部34)に保持されたCPU12用のファームウェアは、情報処理部10の主記憶装置に転送された後、CPU12により実行される。
演算処理部22、32は、通信線CL1を介して互いに接続される。演算処理部22は、制御部26を介して通信線CL2に接続され、演算処理部32は、制御部36を介して通信線CL2に接続される。通信線CL2は、情報処理部10と制御部26、36とを相互に接続する。記憶部24は、演算処理部22または制御部26によりアクセス可能であり、記憶部34は、演算処理部32または制御部36によりアクセス可能である。
制御部26は、制御装置20が運用系として動作中に、演算処理部22からの指示に基づいて、情報処理部10を制御し、情報処理部10の動作状態(温度、電圧等)を示す情報を情報処理部10から読み出し、読み出した情報を記憶部24等に格納する。また、制御部26は、制御装置20が運用系または待機系として動作中に、演算処理部22からの指示に基づいて、通信線CL2および制御部36を介して記憶部34にアクセス可能である。さらに、制御部26は、制御装置20が運用系または待機系として動作中に、制御部36および通信線CL2を介して受信する演算処理部32からの指示に基づいて、記憶部24にアクセスし、または演算処理部22のリセット状態を制御する。
制御部36は、制御装置30が運用系として動作中に、演算処理部32からの指示に基づいて、情報処理部10を制御し、情報処理部10の動作状態(温度、電圧等)を示す情報を情報処理部10から読み出し、読み出した情報を記憶部34等に格納する。また、制御部36は、制御装置30が運用系または待機系として動作中に、演算処理部32からの指示に基づいて、通信線CL2および制御部26を介して記憶部24にアクセス可能である。さらに、制御部36は、制御装置30が運用系または待機系として動作中に、制御部26および通信線CL2を介して受信する演算処理部22からの指示に基づいて、記憶部34にアクセスし、または演算処理部32のリセット状態を制御する。
すなわち、演算処理部22は、制御部26、36を介して、制御装置30の記憶部34が保持する情報を読み出すことができ、記憶部34に情報を書き込むことができる。同様に、演算処理部32は、制御部36、26を介して、制御装置20の記憶部24が保持する情報を読み出すことができ、記憶部24に情報を書き込むことができる。
演算処理部22は、記憶部24が保持する監視プログラムPGM2を実行することで、通信線CL1を介して演算処理部32の動作を監視する。演算処理部32は、記憶部34が保持する監視プログラムPGM2を実行することで、通信線CL1を介して演算処理部22の動作を監視する。すなわち、制御装置20は、制御装置30の動作を監視し、制御装置30は、制御装置20の動作を監視する。
運用系の制御装置20の演算処理部22は、記憶部24が保持する制御プログラムPGM1を実行することで、制御部26および通信線CL2を介して情報処理部10を制御するとともに情報処理部10の動作状態を監視する。制御装置30が待機系から運用系に切り替えられた場合、制御装置30の演算処理部32は、記憶部34が保持する制御プログラムPGM1を実行する。そして、演算処理部32は、制御部36および通信線CL2を介して情報処理部10を制御するとともに情報処理部10の動作状態を監視する。
なお、各記憶部24、34は、情報処理部10に設定された設定データおよび情報処理部10の動作状態を示すステータスを保持するために割り当てられた図示しないデータ領域を有する。運用系の制御装置20(または、制御装置30)は、制御プログラムPGM1の実行により、情報処理部10の設定データまたはステータスを監視する。例えば、運用系の制御装置20は、設定データまたはステータスが変更された場合、変更された設定データまたはステータスを記憶部24のデータ領域に書き込む。
また、運用系の制御装置20は、監視プログラムPGM2の実行により、待機系の制御装置30と通信し、変更された設定データまたはステータスを待機系の記憶部34のデータ領域に書き込ませる。すなわち、運用系の制御装置20の記憶部24が保持する設定データおよびステータスと、待機系の制御装置30の記憶部34が保持する設定データおよびステータスとは、互いに同期される。制御装置30が運用系の場合にも、待機系の制御装置20との間で、設定データまたはステータスは同期される。
図2は、図1に示す情報処理装置100の動作の一例を示す。すなわち、図2は、情報処理装置100の制御方法の一例を示す。図2は、制御装置20が運用系として動作し、制御装置30が待機系として動作している状態で、待機系の制御装置30がハングアップした場合の動作を示す。
運用系の制御装置20の演算処理部22は、制御プログラムPGM1および監視プログラムPGM2を実行する(図2(a))。待機系の制御装置30の演算処理部32は、監視プログラムPGM2を実行する(図2(b))。演算処理部22は、所定の周期で演算処理部32の動作状態を監視し、演算処理部32は、所定の周期で演算処理部22の動作状態を監視する(図2(c))。
演算処理部32は、例えば、記憶部34に誤った情報が書き込まれたことにより、監視プログラムPGM2を正常に実行できなくなり、ハングアップする(図2(d))。演算処理部22は、例えば、演算処理部32に発行した監視用のパケットに対する演算処理部32からの応答を所定の時間受信しないことに基づいて、演算処理部32のハングアップを検出する(図2(e))。すなわち、運用系の制御装置20は、待機系の制御装置30の停止を検出する。
なお、監視プログラムPGM2等の更新中に、情報処理装置100の電源ケーブルが電源タップ等から誤って外れされた場合、または停電が発生した場合にも、ハングアップが発生する。ハングアップの発生により、監視プログラムPGM2等の更新処理が正常に終了しない場合、例えば、制御装置30は、更新後の再起動で正常に起動されず、再起動を繰り返す。この場合、演算処理部32は、監視プログラムPGM2を実行する状態まで遷移しないため、監視用のパケットに対する応答を発行せず、制御装置20により制御装置30の停止が検出される。
次に、演算処理部22は、制御部26、通信線CL2および制御部36を介して記憶部34にアクセスし、記憶部34に保持された情報を読み出し、読み出した情報に基づいて、記憶部34が保持する情報が正しいか否かの診断を実行する(図2(f))。例えば、記憶部34の診断は、記憶部34から読み出した情報を、記憶部24が保持する情報と比較することにより実行される。なお、演算処理部22は、記憶部34の診断を開始する前に、制御部26、通信線CL2および制御部36を介して演算処理部32をリセット状態に設定してもよい。
例えば、演算処理部22は、記憶部34が保持する情報に誤りが含まれることを検出し、記憶部34に保持された誤った情報が演算処理部32のハングアップの原因であると判定する。そして、演算処理部22は、記憶部24から読み出した正しい情報を記憶部34に格納することで、記憶部34に保持された情報を修復する(図2(g))。
すなわち、待機系の制御装置30が停止した場合、運用系の制御装置20は、制御部26、36を介して待機系の制御装置30の記憶部34にアクセスすることで、記憶部34に保持された情報の診断および修復を実行することができる。換言すれば、記憶部34を演算処理部32、22のいずれからもアクセス可能にすることで、待機系の制御装置30の演算処理部32が再起動できない場合にも、記憶部34に保持されたファームウェア等を書き替えることができる。また、記憶部24、34に保持された情報は、互いに同期されているため、記憶部24に保持された情報を記憶部34にコピーすることで、記憶部34に保持された情報を修復することができる。
次に、演算処理部22は、記憶部34に保持された情報を修復した後、制御部26、通信線CL2および制御部36を介して演算処理部32を再起動する(図2(h))。再起動された演算処理部32は、記憶部34に保持された修復済みの監視プログラムPGM2を図示しないSDRAM等のメモリに転送し、監視プログラムPGM2の実行を再開する(図2(i))。記憶部34に保持された情報が修復されたため、演算処理部32は、正常に起動され、監視プログラムPGM2を正常に実行する。そして、演算処理部32は、演算処理部22の動作状態の監視を再開する(図2(j))。すなわち、動作を停止した待機系の制御装置30の動作が復旧される。
図3は、図1に示す情報処理装置100の動作の別の例を示す。すなわち、図3は、情報処理装置100の制御方法の別の例を示す。図3は、制御装置20が運用系として動作し、制御装置30が待機系として動作している状態で、運用系の制御装置20がハングアップした場合の動作を示す。図2と同一または同様の動作については、詳細な説明は省略する。
図3では、運用系の制御装置20の演算処理部22は、例えば、記憶部24に誤った情報が書き込まれたことにより、制御プログラムPGM1および監視プログラムPGM2の少なくともいずれかを正常に実行できなくなり、ハングアップする(図3(a))。演算処理部32は、例えば、演算処理部22に発行した監視用のパケットに対する演算処理部22からの応答を所定の時間受信しないことに基づいて、演算処理部22のハングアップを検出する(図3(b))。すなわち、待機系の制御装置30は、運用系の制御装置20の停止を検出する。
なお、制御プログラムPGM1または監視プログラムPGM2等の更新中に、情報処理装置100の電源ケーブルが電源タップ等から誤って外れた場合、または停電が発生した場合にも、ハングアップが発生する。この場合、演算処理部22は、例えば、再起動を繰り返し、制御プログラムPGM1および監視プログラムPGM2を実行する状態まで遷移しない。
待機系の制御装置30の演算処理部32は、運用系の制御装置30の停止を検出した場合、記憶部34に保持された制御プログラムPGM1の実行を開始する(図3(c))。すなわち、待機系の制御装置30が、運用系に切り替わり、制御装置20に代わって、情報処理部10の制御および監視を実行する。これにより、運用系の制御装置20が停止した場合にも情報処理部10の制御および監視を継続することができる。
図2と同様に、演算処理部32は、制御部36、通信線CL2および制御部26を介して記憶部24にアクセスし、記憶部24に保持された情報を読み出し、読み出した情報に基づいて、記憶部24が保持する情報が正しいか否かの診断を実行する(図3(d))。例えば、記憶部24の診断は、記憶部24から読み出した情報を、記憶部34が保持する情報と比較することにより実行される。なお、演算処理部32は、記憶部24の診断を開始する前に、制御部36、通信線CL2および制御部26を介して演算処理部22をリセット状態に設定してもよい。
演算処理部32は、記憶部24が保持する情報に誤りが含まれるため、記憶部24に保持された誤った情報が演算処理部22のハングアップの原因であると判定する。そして、演算処理部32は、記憶部34から読み出した正しい情報を記憶部24に格納することで、記憶部24に保持された情報を修復する(図3(e))。
すなわち、運用系の制御装置20が停止した場合、待機系の制御装置30は、制御部36、26を介して運用系の制御装置20の記憶部24にアクセスすることで、記憶部24に保持された情報の診断および修復を実行することができる。換言すれば、記憶部24を演算処理部32、22のいずれからもアクセス可能にすることで、運用系の制御装置20の演算処理部22が再起動できない場合にも、記憶部24に保持されたファームウェア等を書き替えることができる。また、記憶部24、34に保持された情報は、互いに同期されているため、記憶部34に保持された情報を記憶部24にコピーすることで、記憶部24に保持された情報を修復することができる。
次に、図2と同様に、演算処理部32は、記憶部24に保持された情報を修復した後、制御部36、通信線CL2および制御部26を介して演算処理部22を再起動する(図3(f))。再起動された演算処理部22は、停止していた監視プログラムPGM2の実行を再開する(図3(g))。この際、演算処理部32は、制御プログラムPGM1の実行を再開しない。すなわち、動作を停止した運用系の制御装置20は、待機系に切り替わる。そして、演算処理部22は、演算処理部32の動作状態の監視を再開する(図3(h))。
以上、図1に示す実施形態では、制御装置20、30の一方が停止した場合、制御装置20、30の他方により、制御装置20、30の一方の記憶部24(または、記憶部34)の診断および修復を実行することができる。すなわち、記憶部24、34を演算処理部32、22のいずれからもアクセス可能にすることで、停止した制御装置20(または、制御装置30)の記憶部24(または、記憶部34)に保持されたファームウェア等を書き替えることができる。また、記憶部24、34に保持された情報は、互いに同期されているため、例えば、記憶部24に保持された情報を記憶部34にコピーすることで、記憶部34に保持された情報を修復することができる。
図4は、情報処理装置、制御装置および情報処理装置の制御方法の別の実施形態を示す。図1に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。図4に示す情報処理装置110は、例えば、サーバであり、情報処理を実行する部品を有するシステムボード11と、システムボード11を制御する制御ボード40、50とを有する。システムボード11は、情報処理を実行する情報処理部の一例であり、制御ボード40、50は、システムボード11を制御する制御装置の一例である。
制御ボード40、50は、互いに同じ構成を有しており、制御ボード40、50の一方が運用系の制御ボードとして動作し、制御ボード40、50の他方が待機系の制御ボードとして機能する。以下では、制御ボード40が運用系として動作し、制御ボード50が待機系として動作する例が説明される。
制御ボード40は、MPU42と、USB(Universal Serial Bus)インタフェースを有するフラッシュメモリ44と、FPGA46と、スイッチ48とを有する。制御ボード50は、MPU52と、USBインタフェースを有するフラッシュメモリ54と、FPGA56と、スイッチ58とを有する。MPU42は、第1の演算処理部の一例であり、MPU52は、第2の演算処理部の一例である。フラッシュメモリ44は、第1の記憶部の一例であり、フラッシュメモリ54は、第2の記憶部の一例である。FPGA46は、第1の制御部の一例であり、FPGA56は、第2の制御部の一例である。スイッチ48は、第1の接続部の一例であり、スイッチ58は、第2の接続部の一例である。
MPU42は、複数の入出力ポートを含むUSBコントローラ43(USBC)を有し、MPU52は、複数の入出力ポートを含むUSBコントローラ53(USBC)を有する。USBコントローラ43の入出力ポートのいずれかは、信号線を介してスイッチ48に接続され、USBコントローラ43の入出力ポートの他のいずれかは、信号線を介して制御ボード50のスイッチ58に接続される。USBコントローラ53の入出力ポートのいずれかは、信号線を介してスイッチ58に接続され、USBコントローラ53の入出力ポートの他のいずれかは、信号線を介して制御ボード40のスイッチ48に接続される。
フラッシュメモリ44、54の各々は、1ポートタイプであり、制御プログラムPGM1、監視プログラムPGM2、および様々なデータDTを保持する記憶領域を有する。データDTは、制御プログラムPGM1および監視プログラムPGM2で使用するデータと、システムボード11を監視することで得られるシステムボード11の設定データおよびステータス情報とを含む。以下では、制御プログラムPGM1および監視プログラムPGM2は、プログラムファイルとも称され、データDTは、データファイルとも称される。なお、フラッシュメモリ44、54は、CPU12が実行するPOSTファームウェアまたはOBPファームウェア等のファームウェアを保持してもよい。フラッシュメモリ44、54に保持されたCPU12用のファームウェアは、システムボード11の主記憶装置に転送された後、CPU12により実行される。
FPGA46は、MPU42のリセットを制御するリセット制御部RSTCNT1と、スイッチ48の切り替えを制御するスイッチ制御部SWCNT1とを有する。FPGA56は、MPU52のリセットを制御するリセット制御部RSTCNT2と、スイッチ58の切り替えを制御するスイッチ制御部SWCNT2とを有する。リセット制御部RSTCNT1は、第1の起動制御部の一例であり、リセット制御部RSTCNT2は、第2の起動制御部の一例である。スイッチ制御部SWCNT1は、第1の切替制御部の一例であり、スイッチ制御部SWCNT2は、第2の切替制御部の一例である。
スイッチ48は、FPGA46のスイッチ制御部SWCNT1による制御に基づいて、USBコントローラ43、53のいずれか一方をフラッシュメモリ44に接続する。スイッチ58は、FPGA56のスイッチ制御部SWCNT2による制御に基づいて、USBコントローラ43、53のいずれか一方をフラッシュメモリ54に接続する。すなわち、スイッチ48により、MPU42、52を1ポートタイプのフラッシュメモリ44に接続することができ、スイッチ58により、MPU42、52を1ポートタイプのフラッシュメモリ54に接続することができる。そして、フラッシュメモリ44、54の各々を、MPU42、52の両方からアクセスすることができる。換言すれば、MPU42は、スイッチ58を介して他の制御ボード50のフラッシュメモリ54に直接アクセスすることができ、MPU52は、スイッチ48を介して他の制御ボード40のフラッシュメモリ44に直接アクセスすることができる。
MPU42、52は、LAN(Local Area Network)等の通信線CL1を介して互いに接続される。MPU42は、FPGA46を介して通信線CL2に接続され、MPU52は、FPGA56を介して通信線CL2に接続される。通信線CL2は、システムボード11とFPGA46、56とを相互に接続する。
なお、フラッシュメモリ44、54がUSBインタフェース以外の入出力インタフェースを有する場合、MPU42、52は、フラッシュメモリ44、54が有する入出力インタフェースに適合するコントローラを有する。
図5は、図4に示す情報処理装置110の動作の一例を示す。すなわち、図5は、情報処理装置110の制御方法の一例を示す。図5は、制御ボード40が運用系として動作し、制御ボード50が待機系として動作している状態で、待機系の制御ボード50がハングアップした場合の動作を示す。図2と同様の動作については、詳細な説明は省略する。
図5の初期状態において、MPU42は、スイッチ48を介して接続されたフラッシュメモリ44に保持された制御プログラムPGM1および監視プログラムPGM2を実行する。MPU52は、スイッチ58を介して接続されたフラッシュメモリ54に保持された監視プログラムPGM2を実行する(図5(a)、(b))。MPU42、52は、図2と同様に、互いに監視する動作を実行し、MPU42は、MPU52のハングアップを検出する(図5(c))。ハングアップの原因は、フラッシュメモリ54に誤った情報が書き込まれたことにより、監視プログラムPGM2を正常に実行できなくなったこととする。
MPU42は、FPGA46および通信線CL2を介して、MPU52をリセットする指示をFPGA56に発行する(図5(d))。FPGA56は、指示に基づいて、MPU52をリセットし、リセット状態を維持する。MPU52のリセット状態は、MPU42によりMPU52のリセットが解除されるまで維持される。また、MPU42は、FPGA46および通信線CL2を介して、FPGA56にスイッチ58の切替指示を発行する(図5(e))。FPGA56は、切替指示に基づいて、スイッチ58を制御し、MPU52とフラッシュメモリ54との接続を解除させ、フラッシュメモリ54をMPU42に接続させる。
MPU42は、スイッチ58を介して接続されたフラッシュメモリ54をマウントした後、図2と同様に、フラッシュメモリ54に保持されたファイルの診断を実行し、壊れたファイルを修復する(図5(f))。例えば、ファイルの診断とファイルの修復とは、独立ではなく並行して実行される。MPU42は、診断によりプログラムファイルの破壊を検出した場合、フラッシュメモリ44が保持するプログラムファイルをフラッシュメモリ54に書き込む。MPU42は、診断によりデータファイルの破壊を検出した場合、フラッシュメモリ44が保持するデータファイルをフラッシュメモリ54に書き込む。ファイルの診断と修復の例は、図8に示される。
この後、MPU42は、FPGA46および通信線CL2を介して、FPGA56にスイッチ58の切替指示を発行する(図5(g))。FPGA56は、切替指示に基づいて、スイッチ58を制御し、MPU42とフラッシュメモリ54との接続を解除し、フラッシュメモリ54をMPU52に接続する。次に、MPU42は、FPGA46および通信線CL2を介して、MPU52のリセットを解除する指示をFPGA56に発行する(図5(h))。FPGA56は、指示に基づいて、MPU52のリセットを解除する。
リセットの解除により、MPU52は、再起動され、フラッシュメモリ54から監視プログラムPGM2をSDRAM等のメモリに転送する。そして、MPU52は、メモリに転送された監視プログラムPGM2の実行を再開し、MPU42の動作状態の監視を再開する(図5(i))。
図6は、図4に示す情報処理装置110の動作の別の例を示す。すなわち、図6は、情報処理装置110の制御方法の別の例を示す。図6は、制御ボード40が運用系として動作し、制御ボード50が待機系として動作している状態で、運用系の制御ボード40がハングアップした場合の動作を示す。図3および図5と同様の動作については、詳細な説明は省略する。
図6では、MPU42、52は、互いに監視する動作を実行し、MPU52がMPU42のハングアップを検出する(図6(a))。ハングアップの原因は、フラッシュメモリ44に誤った情報が書き込まれたことにより、監視プログラムPGM2を正常に実行できなくなったこととする。
MPU52は、運用系の制御ボード40が実行していた制御プログラムPGM1の代わりに、フラッシュメモリ54に保持された制御プログラムPGM1の実行を開始し、制御ボード50を運用系として動作させる(図6(b))。次に、MPU52は、FPGA56および通信線CL2を介して、MPU42をリセットする指示をFPGA46に発行する(図6(c))。FPGA46は、指示に基づいて、MPU42をリセットし、リセット状態を維持する。MPU42のリセット状態は、MPU52によりMPU42のリセットが解除されるまで維持される。また、MPU52は、FPGA56および通信線CL2を介して、FPGA46にスイッチ48の切替指示を発行する(図6(d))。FPGA46は、切替指示に基づいて、スイッチ48を制御し、MPU42とフラッシュメモリ44との接続を解除させ、フラッシュメモリ44をMPU52に接続させる。
MPU52は、スイッチ48を介してフラッシュメモリ44をマウントした後、フラッシュメモリ44に保持されたファイルの診断を実行し、壊れたファイルを修復する(図6(e))。MPU52は、診断によりプログラムファイルの破壊を検出した場合、フラッシュメモリ54が保持するプログラムファイルをフラッシュメモリ44に書き込む。MPU52は、診断によりデータファイルの破壊を検出した場合、フラッシュメモリ54が保持するデータファイルをフラッシュメモリ44に書き込む。ファイルの診断と修復の例は、図8に示される。
この後、MPU52は、FPGA56および通信線CL2を介して、FPGA46にスイッチ48の切替指示を発行する(図6(f))。FPGA46は、切替指示に基づいて、スイッチ48を制御し、MPU52とフラッシュメモリ44との接続を解除し、フラッシュメモリ44をMPU42に接続する。そして、MPU52は、FPGA56および通信線CL2を介して、MPU42のリセットを解除する指示をFPGA46に発行する(図6(g))。FPGA46は、指示に基づいて、MPU42のリセットを解除する。リセットの解除により、MPU42は、再起動され、監視プログラムPGM2の実行を再開する(図6(h))。制御プログラムPGM1は、制御ボード50により実行されているため、MPU42は、制御プログラムPGM1を実行しない。すなわち、制御ボード50は、待機系として動作する。
図7は、図4に示す情報処理装置110の動作のさらなる別の例を示す。すなわち、図7は、情報処理装置110の制御方法の別の例を示す。図3および図5と同様の動作については、詳細な説明は省略する。
図7において、MPU42がフラッシュメモリ54の診断と修復を開始するまでの動作は、図5と同じである。図7では、MPU42は、フラッシュメモリ54の診断と修復の途中で、フラッシュメモリ54が修復できないと判定する。すなわち、MPU42は、フラッシュメモリ54の物理的な故障を検出する。物理的な故障を検出した場合、MPU42は、情報処理装置110の外部に接続される表示装置等に、制御ボード50が故障したことを表示し、制御プログラムPGM1を実行を継続する。これにより、情報処理装置110の管理者は、表示装置に表示された制御ボード50の故障を示すメッセージ等を見ることで、制御ボード50の故障を認識することができ、制御ボード50を交換することができる。なお、図6において、フラッシュメモリ44の診断と修復の途中で、待機系のMPU52がフラッシュメモリ44を修復できないと判定した場合、MPU52は、表示装置等に、制御ボード40が故障したことを表示する。
図8は、図5、図6および図7に示すフラッシュメモリの診断と修復の一例を示す。図8に示すフローは、MPU42が、フラッシュメモリ44に保持された監視プログラムPGM2を実行することで実現され、あるいは、MPU52が、フラッシュメモリ54に保持された監視プログラムPGM2を実行することで実現される。以下では、MPU42がフラッシュメモリ54に保持された情報の診断と修復を実行する例が説明される。
まず、ステップS10において、MPU42は、フラッシュメモリ54からMBR(Master Boot Record)の情報を読み出し、フラッシュメモリ44に保持されたMBRの情報と比較することで、MBRを診断する。次に、ステップS12において、MPU42は、MBRの比較結果が一致しない場合、MBRに異常があると診断し、処理をステップS14に移行し、MBRの比較結果が一致する場合、MBRが正常であると診断し、処理をステップS16に移行する。
ステップS14において、MPU42は、MBRが保持される記憶領域をフォーマットし、フォーマットした記憶領域にブートストラップローダ等のファームウェアとパーティション情報等のデータを書き込み、処理をステップS16に移行する。ファームウェアとデータの書き込みは、例えば、フラッシュメモリ44からフラッシュメモリ54にファームウェアとデータをコピーすることにより実行される。なお、ステップS10、S12、S14の処理は、プログラムファイルの診断とデータファイルの診断とに含まれる共通の処理である。
ステップS16において、MPU42は、フラッシュメモリ54に保持されたプログラムファイルのファイルシステムの整合性を、例えば、ファイルシステムの整合性をチェックするためのツールであるfsck(file system check)コマンドを使用して検証する。次に、ステップS18において、MPU42は、プログラムファイルのファイルシステムに異常がある場合、処理をステップS20に移行し、プログラムファイルのファイルシステムが正常である場合、処理をステップS22に移行する。
ステップS20において、MPU42は、プログラムファイルが保持されるフラッシュメモリ54の記憶領域をフォーマットし、フォーマットした記憶領域に制御プログラムPGM1および監視プログラムPGM2等の正常なプログラムファイルを書き込む。この後、処理はステップS22に移行される。プログラムファイルの書き込みは、例えば、フラッシュメモリ44からフラッシュメモリ54にプログラムファイルをコピーすることにより実行される。
ステップS22において、MPU42は、フラッシュメモリ54に保持されたプログラムファイルのチェックサムを診断する。例えば、チェックサムの診断は、プログラムファイルのチェックサムを算出し、算出したチェックサムと、フラッシュメモリ54に予め保持されたプログラムファイルのチェックサムとを比較することで実行される。次に、ステップS24において、MPU42は、チェックサムに異常がある場合、処理をステップS26に移行し、チェックサムが正常である場合、処理をステップS22に移行する。
ステップS26において、MPU42は、制御プログラムPGM1および監視プログラムPGM2等の正常なプログラムファイルを、フラッシュメモリ54の所定の記憶領域に書き込み、処理をステップS28に移行する。プログラムファイルの書き込みは、例えば、フラッシュメモリ44からフラッシュメモリ54にプログラムファイルをコピーすることにより実行される。
ステップS28において、ステップS16と同様に、MPU42は、フラッシュメモリ54に保持されたデータファイルのファイルシステムの整合性を、例えば、fsckコマンドを使用して検証する。次に、ステップS30において、MPU42は、データファイルのファイルシステムに異常がある場合、処理をステップS32に移行し、データファイルのファイルシステムが正常である場合、処理をステップS34に移行する。
ステップS32において、MPU42は、データファイルが保持されるフラッシュメモリ54の記憶領域をフォーマットし、フォーマットした記憶領域に、フラッシュメモリ44が保持するデータファイルをコピーし、処理をステップS34に移行する。
ステップS34において、MPU42は、例えば、データベースの検査ユーティリティであるdb_verifyを使用して、フラッシュメモリ54に保持されたデータファイルを診断する。次に、ステップS36において、MPU42は、データファイルに異常がある場合、処理をステップS38に移行し、データファイルが正常である場合、処理をステップS40に移行する。ステップS38において、MPU42は、正常なデータファイルを、フラッシュメモリ54の所定の記憶領域に書き込み、処理をステップS40に移行する。データファイルの書き込みは、例えば、フラッシュメモリ44からフラッシュメモリ54にデータファイルをコピーすることにより実行される。
ステップS40において、MPU42は、全ての修復が完了した場合、処理を終了し、MBR、プログラムファイルおよびデータファイルの少なくともいずれかの修復ができなかった場合、処理をステップS42に移行する。ステップS42において、MPU42は、フラッシュメモリ54が物理的に故障したと判定し、処理を終了する。なお、ステップS40、S42による判定は、ステップS14、S20、S32、S38による修復毎に実行されてもよい。
図9は、図4に示す情報処理装置110において、運用系の制御ボードのMPUの動作の一例を示す図である。運用系の制御ボードのMPUは、監視プログラムPGM2を実行することで、図9に示す動作を実現する。図9に示す動作は、所定の頻度で繰り返し実行される。図9では、制御ボード40が運用系であり、制御ボード50が待機系であるとする。
制御ボード40のMPU42は、制御ボード50のMPU52に送信した監視用のパケットに対する応答の有無に基づいて、制御ボード50の生存監視を実行する。ステップS50において、MPU42は、監視用のパケットに対する応答を所定時間(例えば、5分)受信しない場合、制御ボード50のハングアップを検出し、処理をステップS52に移行する。MPU42は、監視用のパケットに対する応答を所定時間内に受信した場合、制御ボード50が正常に動作していると判断し、処理を終了する。
ステップS52において、MPU42は、待機系のFPGA56に待機系のMPU52のリセットを指示する。次に、ステップS54において、MPU42は、待機系のフラッシュメモリ54をMPU42に接続するために、待機系のFPGA56に待機系のスイッチ58の切り替えを指示する。
次に、ステップS56において、MPU42は、待機系のフラッシュメモリ54に保持されたプログラムファイルの診断を実行する。次に、ステップS58において、MPU42は、プログラムファイルに異常がある場合、処理をステップS60に移行し、プログラムファイルが正常な場合、処理をステップS62に移行する。ステップS60において、MPU42は、待機系のフラッシュメモリ54に保持されたプログラムファイルを修復する。ステップS56、S58、S60の処理は、図8に示したステップS10からS26の処理に対応する。
次に、ステップS62において、MPU42は、待機系のフラッシュメモリ54に保持されたデータファイルの診断を実行する。次に、ステップS64において、MPU42は、データファイルに異常がある場合、処理をステップS66に移行し、データファイルが正常な場合、処理をステップS68に移行する。ステップS64において、MPU42は、待機系のフラッシュメモリ54に保持されたデータファイルを修復する。ステップS62、S64、S66の処理は、図8に示したステップS10、S12、S28からS38の処理に対応する。
次に、ステップS68において、MPU42は、ステップS52からS66による診断および修復において、修復できない異常があった場合、または、他に修復できない異常があった場合、処理をステップS74に移行する。ステップS68において、MPU42は、修復できない異常がない場合、処理をステップS70に移行する。
ステップS70において、MPU42は、待機系のフラッシュメモリ54を待機系のMPU52に接続するために、待機系のFPGA56に待機系のスイッチ58の切り替えを指示する。次に、ステップS72において、MPU42は、待機系のFPGA56に待機系のMPU52のリセットの解除を指示し、処理を終了する。一方、ステップS74において、MPU42は、待機系の制御ボード50に故障が発生したことを、情報処理装置110を管理する管理装置等に通知し、処理を終了する。管理装置等は、MPU42からの通知に基づいて、制御ボード50の故障の発生を、情報処理装置110に接続された表示装置等に表示する。なお、情報処理装置110の管理者等は、故障の発生の表示に基づいて、待機系の制御ボード50を交換するなどの処置を行う。
図10は、図4に示す情報処理装置において、待機系の制御ボードのMPUの動作の一例を示す。待機系の制御ボードのMPUは、監視プログラムPGM2を実行することで、図10に示す動作を実現する。図10に示す動作は、所定の頻度で繰り返し実行される。図10では、制御ボード40が運用系であり、制御ボード50が待機系であるとする。図9と同様の動作については、詳細な説明は省略する。図10は、ステップS51を含むことを除き、図9の動作と同様である。但し、図9では監視の対象が待機系であるのに対して、図10では監視の対象は運用系である。
制御ボード50のMPU52は、制御ボード40のMPU42に送信した監視用のパケットに対する応答の有無に基づいて、制御ボード40の生存監視を実行する。MPU52は、ステップS50において、監視用のパケットに対する応答を所定時間受信せずに制御ボード40のハングアップを検出した場合、ステップS52の処理を実行する前に、ステップS51の処理を実行する。
ステップS51において、MPU52は、ハングアップしたMPU42に代わって、制御プログラムPGM1の実行を開始し、処理をステップS52に移行する。すなわち、制御ボード50は、運用系としての動作を開始する。この後の処理は、図9と同様である。
図11は、図4に示す情報処理装置110において、FPGAの動作の一例を示す図である。図11に示す動作は、所定の頻度で繰り返し実行される。図11に示す動作は、制御ボード40のFPGA46および制御ボード50のFPGA56に共通の動作であるため、以下では、FPGA46の動作が説明される。
まず、ステップS80において、FPGA46は、FPGA56を介してMPU52からMPU42のリセットの指示を受信した場合、処理をステップS82に移行し、MPU42のリセットの指示を受信しない場合、処理をステップS84に移行する。ステップS82において、FPGA46は、MPU42をリセットし、リセット状態を維持し、処理を終了する。
ステップS84において、FPGA46は、フラッシュメモリ44をMPU52(他MPU)に接続する指示を、FPGA56を介してMPU52から受信した場合、処理をステップS86に移行する。FPGA46は、フラッシュメモリ44をMPU52に接続する指示を受信しない場合、処理をステップS88に移行する。ステップS86において、FPGA46は、MPU42とフラッシュメモリ44との接続を解除し、フラッシュメモリ44をMPU52(他MPU)に接続し、処理を終了する。
ステップS88において、FPGA46は、フラッシュメモリ44をMPU42(自MPU)に接続する指示を、FPGA56を介してMPU52から受信した場合、処理をステップS90に移行する。FPGA46は、フラッシュメモリ44をMPU42に接続する指示を受信しない場合、処理をステップS92に移行する。ステップS90において、FPGA46は、MPU52とフラッシュメモリ44との接続を解除し、フラッシュメモリ44をMPU42(自MPU)に接続し、処理を終了する。
ステップS92において、FPGA46は、FPGA56を介してMPU52からMPU42のリセットの解除の指示を受信した場合、処理をステップS94に移行し、MPU42のリセットの解除の指示を受信しない場合、処理を終了する。ステップS94において、FPGA46は、MPU42のリセットを解除し、処理を終了する。
以上、図4から図11に示す実施形態においても、図1から図3に示す実施形態と同様の効果を得ることができる。例えば、制御ボード40、50の一方が停止した場合、制御ボード40、50の他方により、制御ボード40、50の一方のフラッシュメモリ(44または54)の診断および修復を実行することができる。また、フラッシュメモリ44、54が保持する情報は、互いに同期しているため、フラッシュメモリ44、54の一方からフラッシュメモリ44、54の他方に情報をコピーすることで、フラッシュメモリ44、54の他方に保持された情報を修復することができる。
さらに、図4から図11に示す実施形態では、スイッチ48、58の切り替えにより、フラッシュメモリ44、54の各々を、MPU42、52の両方から直接アクセスすることができる。フラッシュメモリ44、54に保持された情報を修復できない場合、情報処理装置110に接続される表示装置等を介して、情報処理装置110の管理者にフラッシュメモリ44、54の故障を通知することで、管理者に制御ボード50の交換を促すことができる。
図12は、情報処理装置、制御装置および情報処理装置の制御方法の別の実施形態を示す。図1から図11に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。図12に示す情報処理装置120は、例えば、サーバであり、システムボード11と、システムボード11を制御する制御ボード60、70とを有する。制御ボード60、70は、システムボード11を制御する制御装置の一例である。
制御ボード60、70は、互いに同じ構成を有しており、制御ボード60、70の一方が運用系の制御ボードとして動作し、制御ボード60、70の他方が待機系の制御ボードとして機能する。以下では、制御ボード60が運用系として動作し、制御ボード70が待機系として動作する例が説明される。
制御ボード60は、図4に示す制御ボード40と同様に、MPU62と、フラッシュメモリ64およびFPGA66を有する。制御ボード70は、図4に示す制御ボード50と同様に、MPU72、フラッシュメモリ74およびFPGA76を有する。MPU62、72は、LAN等の通信線CL1を介して互いに接続され、FPGA66、76とシステムボード11とは、通信線CL2を介して相互に接続される。MPU62は、第1の演算処理部の一例であり、MPU72は、第2の演算処理部の一例である。フラッシュメモリ64は、第1の記憶部の一例であり、フラッシュメモリ74は、第2の記憶部の一例である。FPGA66は、第1の制御部の一例であり、FPGA76は、第2の制御部の一例である。
フラッシュメモリ64、74は、2つのアクセス要求をそれぞれ独立に受信可能な2ポートタイプである。フラッシュメモリ64、74の各々は、図4に示すフラッシュメモリ44、54と同様に、制御プログラムPGM1を保持するプログラム領域と、監視プログラムPGM2を保持するプログラム領域と、様々なデータDTを保持するデータ領域とを有する。
MPU62は、フラッシュメモリ64のアクセスを制御するメモリコントローラMCNTを含み、メモリコントローラMCNTは、フラッシュメモリ64の入出力ポートのいずれかに接続される。MPU72は、フラッシュメモリ74のアクセスを制御するメモリコントローラMCNTを含み、メモリコントローラMCNTは、フラッシュメモリ74の入出力ポートのいずれかに接続される。
FPGA66は、MPU62のリセットを制御するリセット制御部RSTCNT1と、DMAC1(Direct Memory Access Controller)と、フラッシュメモリ64のアクセスを制御するメモリコントローラMCNT1とを含む。メモリコントローラMCNT1は、フラッシュメモリ64の入出力ポートのいずれかに接続される。FPGA76は、MPU72のリセットを制御するリセット制御部RSTCNT2と、DMAC2と、フラッシュメモリ74のアクセスを制御するメモリコントローラMCNT2とを含む。メモリコントローラMCNT2は、フラッシュメモリ74の入出力ポートのいずれかに接続される。メモリコントローラMCNT1は、第1のアクセス制御部の一例であり、メモリコントローラMCNT2は、第2のアクセス制御部の一例である。
DMAC1は、MPU62から受信するメモリアクセス要求パケットおよびデータ等をFPGA76のメモリコントローラMCNT2に転送し、メモリコントローラMCNT2から転送されるメモリアクセス要求パケットに対応する応答等をMPU62に転送する。メモリコントローラMCNT2は、DMAC1を介してMPU62からメモリアクセス要求パケット(読み出し要求)を受信した場合、フラッシュメモリ74からデータを読み出し、読み出したデータを含む応答をDMAC1を介してMPU62に出力する。メモリコントローラMCNT2は、DMAC1を介してMPU62からメモリアクセス要求パケット(書き込み要求)を受信した場合、メモリアクセス要求パケットに含まれる書き込みデータをフラッシュメモリ74に書き込む。
DMAC2は、MPU72から受信するメモリアクセス要求パケットおよびデータ等をFPGA66のメモリコントローラMCNT1に転送し、メモリコントローラMCNT1から転送されるメモリアクセス要求パケットに対応する応答等をMPU72に転送する。メモリコントローラMCNT1は、DMAC2を介してMPU72からメモリアクセス要求パケット(読み出し要求)を受信した場合、フラッシュメモリ64からデータを読み出し、読み出したデータを含む応答をDMAC2を介してMPU72に出力する。メモリコントローラMCNT1は、DMAC2を介してMPU72からメモリアクセス要求パケット(書き込み要求)を受信した場合、メモリアクセス要求パケットに含まれる書き込みデータをフラッシュメモリ64に書き込む。
図12に示す情報処理装置120の動作は、スイッチ48、58を切り替える制御がないことを除き、図5から図7に示した動作と同様である。すなわち、図5から図7に示した動作から、スイッチ48、58を切り替える制御を省き、MPU、フラッシュメモリおよびFPGAの符号を図12に合わせることで、情報処理装置120の動作が実現される。
なお、上述したように、MPU62による他の制御ボード70のフラッシュメモリ74に対するアクセスは、DMAC1およびメモリコントローラMCNT2を介して実行される。MPU72による他の制御ボード60のフラッシュメモリ64に対するアクセスは、DMAC2およびメモリコントローラMCNT1を介して実行される。FPGA66にDMAC1およびメモリコントローラMCNT1を設け、FPGA76にDMAC2およびメモリコントローラMCNT2を設けることで、フラッシュメモリ64、74の各々を、MPU62、72の両方からアクセスすることができる。
図13は、図12に示す情報処理装置120において、運用系の制御ボードのMPUの動作の一例を示す。運用系の制御ボードのMPUは、監視プログラムPGM2を実行することで、図13に示す動作を実現する。図13では、制御ボード60が運用系であり、制御ボード70が待機系であるとする。図9と同じ動作については、詳細な説明は省略する。
図13に示す動作は、図9に示したステップS54、S70の動作がないことを除き、図9に示した動作と同様である。すなわち、ステップS52の処理の後、ステップS56の処理が実行され、ステップS68において異常がないと判定された場合、ステップS72の処理が実行される。フラッシュメモリ74に保持されたプログラムファイルおよびデータファイルの診断と修復は、MPU62がDMCA1およびメモリコントローラMCNT2を介してフラッシュメモリ74にアクセスすることで実行される。
なお、2ポートタイプのフラッシュメモリ74では、メモリコントローラMCNT2がフラッシュメモリ74をアクセスしている間に、MPU72がフラッシュメモリ74にアクセスすることが可能である。ハングアップしたMPU72によるフラッシュメモリ74への意図しないアクセスが実行された場合、MPU62によるフラッシュメモリ74の診断と修復とが正しく実行されないおそれがある。そこで、ステップS52でMPU72のリセットを指示されたFPGA76は、MPU62によりフラッシュメモリ74の診断と修復とが実行されている期間、MPU72のリセット状態を維持する。換言すれば、リセット制御部RSTCNT2は、MPU62がフラッシュメモリ74にアクセスする期間、MPU62からの指示に基づいて、MPU72をリセット状態に設定する。これにより、ハングアップしたMPU72によるフラッシュメモリ74への意図しないアクセスを抑止することができ、フラッシュメモリ74の診断と修復とが正しく実行されないことを抑止することができる。
図14は、図12に示す情報処理装置120において、待機系の制御ボードのMPUの動作の一例を示す。待機系の制御ボードのMPUは、監視プログラムPGM2を実行することで、図14に示す動作を実現する。図14では、制御ボード60が運用系であり、制御ボード70が待機系であるとする。図10および図13と同じ動作については、詳細な説明は省略する。
図14に示す動作は、図10に示したステップS54、S70の動作がないことを除き、図10および図13に示した動作と同様である。すなわち、図13と同様に、ステップS52の処理の後、ステップS56の処理が実行され、ステップS68において異常がないと判定された場合、ステップS72の処理が実行される。また、ステップS52では、MPU62のリセットを指示されたFPGA66が、MPU72によりフラッシュメモリ64の診断と修復とが実行されている期間、MPU62のリセット状態を維持する。これにより、ハングアップしたMPU62によるフラッシュメモリ64への意図しないアクセスを抑止することができ、MPU72によるフラッシュメモリ64の診断と修復とが正しく実行されないことを抑止することができる。
以上、図12から図14に示す実施形態においても、図1から図11に示す実施形態と同様の効果を得ることができる。さらに、図12から図14に示す実施形態では、FPGA66にDMAC1およびメモリコントローラMCNT1を設け、FPGA76にDMAC2およびメモリコントローラMCNT2を設ける。これにより、フラッシュメモリ64、74の各々を、MPU62、72の両方からアクセスすることができる。また、例えば、MPU62がフラッシュメモリ74の診断と修復を実行する場合、ハングアップしたMPU72のリセット状態をFPGA76により維持する。これにより、2ポートタイプのフラッシュメモリ74が制御ボード70に設けられる場合にも、ハングアップしたMPU72によるフラッシュメモリ74への意図しないアクセスを抑止することができる。この結果、MPU62によるフラッシュメモリ74の診断と修復とが正しく実行されないことを抑止することができる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
10…情報処理部;11…システムボード;12…プロセッサ;20…制御装置;22…演算処理部;24…記憶部;26…制御部;30…制御装置;32…演算処理部;34…記憶部;36…制御部;40…制御ボード;42…MPU;43…USBコントローラ;44…フラッシュメモリ;46…FPGA;48…スイッチ;50…制御ボード;52…MPU;53…USBコントローラ;54…フラッシュメモリ;56…FPGA;58…スイッチ;60…制御ボード;62…MPU;64…フラッシュメモリ;66…FPGA;70…制御ボード;72…MPU;74…フラッシュメモリ;76…FPGA;100、110、120…情報処理装置;CL1、CL2…通信線;DT…データ;PGM1…制御プログラム;PGM2…監視プログラム;RSTCNT1、RSTCNT2…リセット制御部;SWCNT1、SWCNT2…スイッチ制御部

Claims (11)

  1. 情報処理を実行する情報処理部と、前記情報処理部を制御する第1の制御装置と、前記情報処理部を制御する第2の制御装置とを有する情報処理装置において、
    前記第1の制御装置は、
    前記情報処理部を制御する制御プログラムと前記第2の制御装置を監視する監視プログラムとを保持する第1の記憶部と、
    前記第1の記憶部が保持する制御プログラムと監視プログラムとを実行する第1の演算処理部と、
    前記第2の制御装置を制御する指示を前記第2の制御装置に出力するとともに、前記第2の制御装置からの指示に基づいて、前記第1の演算処理部の状態と前記第1の記憶部のアクセスとを制御する第1の制御部とを有し、
    前記第2の制御装置は、
    前記情報処理部を制御する制御プログラムと前記第1の制御装置を監視する監視プログラムとを保持する第2の記憶部と、
    前記第2の記憶部が保持する監視プログラムを実行する第2の演算処理部と、
    前記第1の制御装置を制御する指示を前記第1の制御装置に出力するとともに、前記第1の制御装置からの指示に基づいて、前記第2の演算処理部の状態と前記第2の記憶部のアクセスとを制御する第2の制御部とを有し、
    前記第1の演算処理部は、前記第2の制御装置の停止を検出した場合、前記第1の制御部および前記第2の制御部を介して前記第2の記憶部をアクセスし、前記第2の記憶部が保持する情報が誤りを含む場合、前記第2の記憶部が保持する情報の誤りを修復し、前記第1の制御部および前記第2の制御部を介して前記第2の演算処理部を再起動させ、前記第2の演算処理部に前記第1の制御装置を監視する監視プログラムを実行させることを特徴とする情報処理装置。
  2. 前記情報処理装置において、
    前記第2の演算処理部は、前記第1の制御装置の停止を検出した場合、前記第2の記憶部が保持する制御プログラムの実行を開始し、前記第2の制御部および前記第1の制御部を介して前記第1の記憶部をアクセスし、前記第1の記憶部が保持する情報が誤りを含む場合、前記第1の記憶部が保持する情報の誤りを修復し、前記第2の制御部および前記第1の制御部を介して前記第1の演算処理部を再起動させ、前記第1の演算処理部に前記第2の制御装置を監視する監視プログラムを実行させることを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1の制御部は、
    前記第1の記憶部を前記第1の演算処理部または前記第2の演算処理部のいずれかに接続する第1の接続部と、
    前記第2の制御装置からの指示に基づいて、前記第1の接続部の接続を切り替える第1の切替制御部と、
    前記第2の制御装置からの指示に基づいて、前記第1の演算処理部を再起動する第1の起動制御部とを有し、
    前記第2の制御部は、
    前記第2の記憶部を前記第1の演算処理部または前記第2の演算処理部のいずれかに接続する第2の接続部と、
    前記第1の制御装置からの指示に基づいて、前記第2の接続部の接続を切り替える第2の切替制御部と、
    前記第1の制御装置からの指示に基づいて、前記第2の演算処理部を再起動する第2の起動制御部とを有することを特徴とする請求項1または請求項2に記載の情報処理装置。
  4. 前記第1の制御部は、
    前記第2の制御装置からの指示に基づいて、前記第1の記憶部のアクセスを制御する第1のアクセス制御部と、
    前記第2の制御装置からの指示に基づいて、前記第1の演算処理部を再起動する第1の起動制御部とを有し、
    前記第2の制御部は、
    前記第1の制御装置からの指示に基づいて、前記第2の記憶部のアクセスを制御する第2のアクセス制御部と、
    前記第1の制御装置からの指示に基づいて、前記第2の演算処理部を再起動する第2の起動制御部とを有することを特徴とする請求項1または請求項2に記載の情報処理装置。
  5. 前記第1の起動制御部は、前記第2の演算処理部が前記第1の記憶部にアクセスする期間、前記第2の制御装置からの指示に基づいて、前記第1の演算処理部をリセット状態に設定し、
    前記第2の起動制御部は、前記第1の演算処理部が前記第2の記憶部にアクセスする期間、前記第1の制御装置からの指示に基づいて、前記第2の演算処理部をリセット状態に設定することを特徴とする請求項3または請求項4に記載の情報処理装置。
  6. 前記第1の演算処理部または前記第2の演算処理部のうち、前記制御プログラムを実行する演算処理部は、前記第1の記憶部が保持する情報と前記第2の記憶部が保持する情報とを互いに同期させる処理を実行し、
    前記第2の制御装置を監視する監視プログラムを実行する前記第1の演算処理部は、前記第2の記憶部が保持する情報が誤りを含む場合、前記第1の記憶部が保持する情報を使用して、前記第2の記憶部が保持する情報の誤りを修復し、
    前記第1の制御装置を監視する監視プログラムを実行する前記第2の演算処理部は、前記第1の記憶部が保持する情報が誤りを含む場合、前記第2の記憶部が保持する情報を使用して、前記第1の記憶部が保持する情報の誤りを修復することを特徴とする請求項1ないし請求項5のいずれか1項に記載の情報処理装置。
  7. 前記第1の演算処理部は、前記第2の記憶部が保持する情報の誤りを修復できない場合、前記第2の制御装置の故障を示す情報を前記第1の制御装置の外部に出力することを特徴とする請求項1ないし請求項6のいずれか1項に記載の情報処理装置。
  8. 前記第2の演算処理部は、前記第1の記憶部が保持する情報の誤りを修復できない場合、前記第1の制御装置の故障を示す情報を前記第2の制御装置の外部に出力することを特徴とする請求項2ないし請求項7のいずれか1項に記載の情報処理装置。
  9. 情報処理を実行する情報処理部と第1の制御装置とともに情報処理装置に含まれ、前記第1の制御装置により監視され、前記情報処理部を制御するとともに前記第1の制御装置を監視する制御装置において、
    前記情報処理部を制御する制御プログラムと前記第1の制御装置を監視する監視プログラムとを保持する記憶部と、
    前記記憶部が保持する制御プログラムと監視プログラムとを実行する演算処理部と、
    前記第1の制御装置を制御する指示を前記第1の制御装置に出力するとともに、前記第1の制御装置からの指示に基づいて、前記演算処理部の状態と前記記憶部のアクセスとを制御する制御部とを有し、
    前記演算処理部は、前記第1の制御装置の停止を検出した場合、前記制御部を介して前記第1の制御装置が有する第1の記憶部のアクセスを制御し、前記第1の記憶部が保持する情報が誤りを含む場合、前記第1の記憶部が保持する情報の誤りを修復し、前記制御部を介して前記第1の制御装置が有する第1の演算処理部を再起動させ、前記制御装置を監視する監視プログラムを前記第1の演算処理部に実行させることを特徴とする制御装置。
  10. 情報処理を実行する情報処理部と第1の制御装置とともに情報処理装置に含まれ、前記情報処理部を制御する前記第1の制御装置により監視され、前記第1の制御装置を監視し、前記情報処理部を制御する制御装置において、
    前記情報処理部を制御する制御プログラムと前記第1の制御装置を監視する監視プログラムとを保持する記憶部と、
    前記記憶部が保持する監視プログラムを実行する演算処理部と、
    前記第1の制御装置を制御する指示を前記第1の制御装置に出力するとともに、前記第1の制御装置からの指示に基づいて、前記演算処理部の状態と前記記憶部のアクセスとを制御する制御部とを有し、
    前記演算処理部は、前記第1の制御装置の停止を検出した場合、前記記憶部が保持する制御プログラムの実行を開始し、前記制御部を介して前記第1の制御装置が有する第1の記憶部のアクセスを制御し、前記第1の記憶部が保持する情報が誤りを含む場合、前記第1の記憶部が保持する情報の誤りを修復し、前記制御部を介して前記第1の制御装置が有する第1の演算処理部を再起動させ、前記制御装置を監視する監視プログラムを前記第1の演算処理部に実行させることを特徴とする制御装置。
  11. 情報処理を実行する情報処理部と、前記情報処理部を制御する第1の制御装置と、前記情報処理部を制御する第2の制御装置とを有する情報処理装置であって、前記第1の制御装置が、前記情報処理部を制御する制御プログラムと前記第2の制御装置を監視する監視プログラムとを保持する第1の記憶部と、前記第1の記憶部が保持する制御プログラムと監視プログラムとを実行する第1の演算処理部と、前記第2の制御装置を制御する指示を前記第2の制御装置に出力するとともに、前記第2の制御装置からの指示に基づいて、前記第1の演算処理部の状態と前記第1の記憶部のアクセスとを制御する第1の制御部とを有し、前記第2の制御装置が、前記情報処理部を制御する制御プログラムと前記第1の制御装置を監視する監視プログラムとを保持する第2の記憶部と、前記第2の記憶部が保持する監視プログラムを実行する第2の演算処理部と、前記第1の制御装置を制御する指示を前記第1の制御装置に出力するとともに、前記第1の制御装置からの指示に基づいて、前記第2の演算処理部の状態と前記第2の記憶部のアクセスとを制御する第2の制御部とを有する情報処理装置に制御方法において、
    前記第1の演算処理部は、前記第2の制御装置の停止を検出した場合、前記第1の制御部および前記第2の制御部を介して前記第2の記憶部をアクセスし、前記第2の記憶部が保持する情報が誤りを含む場合、前記第2の記憶部が保持する情報の誤りを修復し、前記第1の制御部および前記第2の制御部を介して前記第2の演算処理部を再起動させ、前記第2の演算処理部に前記第1の制御装置を監視する監視プログラムを実行させることを特徴とする情報処理装置の制御方法。
JP2017133914A 2017-07-07 2017-07-07 情報処理装置、制御装置および情報処理装置の制御方法 Active JP6911591B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017133914A JP6911591B2 (ja) 2017-07-07 2017-07-07 情報処理装置、制御装置および情報処理装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017133914A JP6911591B2 (ja) 2017-07-07 2017-07-07 情報処理装置、制御装置および情報処理装置の制御方法

Publications (2)

Publication Number Publication Date
JP2019016218A JP2019016218A (ja) 2019-01-31
JP6911591B2 true JP6911591B2 (ja) 2021-07-28

Family

ID=65356569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017133914A Active JP6911591B2 (ja) 2017-07-07 2017-07-07 情報処理装置、制御装置および情報処理装置の制御方法

Country Status (1)

Country Link
JP (1) JP6911591B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7220397B2 (ja) * 2019-12-09 2023-02-10 パナソニックIpマネジメント株式会社 情報処理装置および情報処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6375843A (ja) * 1986-09-18 1988-04-06 Fujitsu Ltd 異常監視方式
JPH04263333A (ja) * 1991-02-19 1992-09-18 Nec Corp メモリ二重化方式
JPH06161800A (ja) * 1992-11-24 1994-06-10 Nippon Telegr & Teleph Corp <Ntt> 二重化電子計算機
JPH0916427A (ja) * 1995-06-29 1997-01-17 Fujitsu Ltd 二重化制御方法並びにそのためのマスタ制御装置及びスレーブ制御装置
JPH11259325A (ja) * 1998-03-11 1999-09-24 Matsushita Electric Ind Co Ltd 二重化システム及び二重化システムにおける情報処理方法
US7376870B2 (en) * 2004-09-30 2008-05-20 Intel Corporation Self-monitoring and updating of firmware over a network
JP2008046685A (ja) * 2006-08-10 2008-02-28 Fujitsu Ltd 二重化システム及び系切り換え方法
JP2010061258A (ja) * 2008-09-02 2010-03-18 Fujitsu Ltd デュプレックスプロセッサシステム及びプロセッサ二重化方法
JP2012150555A (ja) * 2011-01-17 2012-08-09 Hitachi Kokusai Electric Inc 監視システム
JP5719744B2 (ja) * 2011-10-11 2015-05-20 株式会社日立製作所 多重系制御装置
JP6211842B2 (ja) * 2013-07-26 2017-10-11 Necプラットフォームズ株式会社 通信システム及び通信装置、並びにファームウェア稼動異常復旧制御方法

Also Published As

Publication number Publication date
JP2019016218A (ja) 2019-01-31

Similar Documents

Publication Publication Date Title
JP5909264B2 (ja) セキュア・リカバリ装置及び方法
US7340638B2 (en) Operating system update and boot failure recovery
TWI386847B (zh) 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置
US20120084508A1 (en) Disk array apparatus and firmware update method therefor
TW201020779A (en) System for auto-operating backup firmware and method thereof
JP2004199277A (ja) Biosの冗長管理方法、データ処理装置及びストレージシステム
JP2010224847A (ja) 計算機システム及び設定管理方法
US20130117518A1 (en) System controller, information processing system and method of saving and restoring data in the information processing system
JP5314731B2 (ja) データ処理装置間の基本入出力プログラムの同期化方法及びコンピュータシステム
JP2019139373A (ja) 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム
JP4836732B2 (ja) 情報処理装置
JP2008158768A (ja) 情報記憶装置の制御方法、情報記憶装置、プログラム及びコンピュータ読取可能な情報記録媒体
JP6911591B2 (ja) 情報処理装置、制御装置および情報処理装置の制御方法
US10824517B2 (en) Backup and recovery of configuration files in management device
JP5909948B2 (ja) 情報処理装置および情報処理装置の試験方法
TWI786871B (zh) 電腦和系統啓動方法
TWI808362B (zh) 可自我監視及恢復作業系統運作的電腦系統及方法
TWI779682B (zh) 電腦系統、電腦伺服器及其啟動方法
US11467898B2 (en) Information processing apparatus and method of controlling the same
JP4715552B2 (ja) 障害検出方式
JP2004054616A (ja) ファームウェア自動修復機能を有する情報処理装置
JP2010198314A (ja) 情報管理装置
JP5345655B2 (ja) 基本入出力プログラムの冗長管理方法及びデータ処理装置
TWI781452B (zh) 監控及復原異質性元件的系統及方法
TWI777664B (zh) 嵌入式系統的開機方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20170803

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170803

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170804

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210621

R150 Certificate of patent or registration of utility model

Ref document number: 6911591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150