JP5541519B2 - 情報処理装置、故障部位判別方法および故障部位判別プログラム - Google Patents

情報処理装置、故障部位判別方法および故障部位判別プログラム Download PDF

Info

Publication number
JP5541519B2
JP5541519B2 JP2010226577A JP2010226577A JP5541519B2 JP 5541519 B2 JP5541519 B2 JP 5541519B2 JP 2010226577 A JP2010226577 A JP 2010226577A JP 2010226577 A JP2010226577 A JP 2010226577A JP 5541519 B2 JP5541519 B2 JP 5541519B2
Authority
JP
Japan
Prior art keywords
failure
processor
communication destination
cpu
bios
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.)
Expired - Fee Related
Application number
JP2010226577A
Other languages
English (en)
Other versions
JP2012079266A (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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2010226577A priority Critical patent/JP5541519B2/ja
Publication of JP2012079266A publication Critical patent/JP2012079266A/ja
Application granted granted Critical
Publication of JP5541519B2 publication Critical patent/JP5541519B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、情報処理装置、故障部位判別方法および故障部位判別プログラムに関し、特に、サーバなどに適用され、保守業務を正確かつ迅速に行わなければならないような分野に好適に適用可能な情報処理装置、故障部位判別方法および故障部位判別プログラムに関する。
最近、サーバ等に適用される情報処理装置の分野では、性能の向上を図るために、RISC(Reduced Instruction Set Computer)等に代表されるように、複数の部品すなわちCPU(Central Processor Unit)を、インターフェース回路を介してパイプライン接続したマルチプロセッサ構成とする技術が定着してきている。
かかるマルチプロセッサ構成の情報処理装置において障害を検出した場合、障害被疑部品すなわち故障の可能性が高いCPUを特定し、特定した障害被疑部品を運用系から切り離すことにより、以降の処理をスムーズに実施することを可能とする障害処理機能を実現することが重要である。このため、特許文献1の特開2006−178557号公報「コンピュータシステムおよびエラー処理方法」や特許文献2の特開2010−026677号公報「ファイル共有装置およびファイル共有システム」においては、マルチプロセッサ構成の情報処理装置において障害部位を判別するための有効な技術が提案されている。
特開2006−178557号公報(第10−13頁) 特開2010−026677号公報(第7−9頁)
前述のようなマルチプロセッサ構成の情報処理装置において、装置の立ち上げをベーシック入出力システム(BIOS:Basic Input/Output System)が行っている際に、CPU−CPU間のインターフェース回路の障害が検出された場合、インターフェース障害検出元のCPUは、インターフェース障害(すなわちリンク障害)が検出されたインターフェース回路の通信先の部品(すなわちCPUや制御装置等の処理機能を有するプロセッサ)に対してアクセスすることができないため、従来の故障部位判別方法においては、一般に、インターフェース障害であるにも関わらず、通信先の部品(すなわちCPUや制御装置等の処理機能を有するプロセッサ)に関する情報を一切利用することなく、インターフェース障害検出元の部品すなわちCPUのみの情報を用いて障害の解析を行い、故障の被疑部位の指摘を行っていた。そのため、検出した故障に対する信頼度が低く、一回の障害処理で正しい故障部位を指摘することができなく、複数回の障害処理を繰り返してしまうという場合が生じる。
一方、前記特許文献1や特許文献2に記載のような情報処理装置においては、マルチプロセッサを構成する各部品(すなわちCPUや制御装置等の処理機能を有するプロセッサ)が、ハードウェアの動作をリモート管理・監視する機能を備えたベースボード管理コントローラ(BMC:Baseboard Management Controller)とインターフェース回路を介して接続されているので、ベースボード管理コントローラ(BMC)がベーシック入出力システム(BIOS)の代わりに各部品の立ち上げ処理を行うことが可能である。
かくのごとき構成においてベースボード管理コントローラ(BMC)が各部品(すなわちCPUや制御装置等)の立ち上げ処理を行った際に、インターフェース障害が検出された場合であっても、ベースボード管理コントローラ(BMC)は、インターフェース障害検出元のCPUのみならず、インターフェース障害が検出されたインターフェース回路の通信先の部品(すなわちCPUや制御装置等)についても状態情報を収集して故障部位の解析を行うことができる。しかし、ベースボード管理コントローラ(BMC)は、ベーシック入出力システム(BIOS)に比して各部品(すなわちCPUや制御装置等)を立ち上げる動作が遅いため、立ち上げに時間がかかるという問題点がある。
ベースボード管理コントローラ(BMC)を備えた情報処理装置における従来の課題を、図9を使ってさらに説明する。図9は、従来のマルチプロセッサ構成の情報処理装置におけるブロック構成を示すブロック構成図であり、ベースボード管理コントローラ(BMC)を用いた場合の従来の故障部位判別方法の課題を説明するために、その概略構成を示している。
図9の情報処理装置は、2つのCPU11,12のマルチプロセッサ構成の場合を示しており、2つのCPU11,12それぞれには、立ち上げ処理を行うベーシック入出力システムとしてBIOS61,62を内蔵するとともに、CPU11,12それぞれの状態を保持しているステータスレジスタ21,22を備え、かつ、インターフェース回路5を介して相互に通信を行うことが可能なように構成されている。さらに、CPU11,12それぞれの動作状態をリモート管理し監視するためのBMC3がインターフェース回路41,42それぞれを介してCPU11,12に接続されている。BMC3には、リモート管理監視用の機能を実行するベースボード管理コントローラ用ファームウェアとしてBMCFW7が内蔵されていて、障害が発生した際に、保守者からの指示によりCPU11,12の状態を読み取って出力することができる。
装置の立ち上げをBIOS61,62が行うマルチプロセッサ構成の情報処理装置において、CPU11とCPU12との間のインターフェース回路5の初期化中に障害が発生した場合、CPU11−CPU12間のインターフェース回路5が使用不可能な状態になるので、例えば、インターフェース障害の検出元のCPU11上で動作するBIOS61から通信先である相手側のCPU12に直接アクセスすることができなくなる。そのため、従来の故障部位判別方法においては、通信先である相手側のCPU12の状態を調査することはしないで、障害検出元のCPU11の状態のみから、故障の被疑部位を判定しており、故障の被疑部位の指摘精度が悪くなってしまうという課題があった。
なお、図9の情報処理装置においては、CPU11,12それぞれの動作状態を管理することにより情報処理装置全体を管理、監視するBMC3に内蔵されているベースボード管理コントローラ用ファームウェアのBMCFW7はBMC3上で動作している。ここで、BMCFW7は、インターフェース回路41,42に接続した全ての部品つまりCPU11,12にアクセスすることができる。したがって、情報処理装置の立ち上げ処理の全てをBMC3上で動作するBMCFW7によって行うことも可能であり、かつ、立ち上げ中に障害が発生した場合においても、BMC3のBMCFW7において故障部位を判定することにより、より精度の高い障害処理を行うことが可能になる。しかし、BMC3のBMCFW7による情報処理装置の立ち上げ処理がBIOS61,62の場合に比べると遅くなるという課題がある。
本発明は、かかる課題を解決するためになされたものであり、マルチプロセッサ構成の情報処理装置において立ち上げ処理を迅速に行い、かつ、インターフェース障害が発生した場合であっても、故障部位を正確に判別することが可能な情報処理装置、故障部位判別方法および故障部位判別プログラムを提供することをその目的としている。
前述の課題を解決するため、本発明による情報処理装置、故障部位判別方法および故障部位判別プログラムは、主に、次のような特徴的な構成を採用している。
(1)本発明による情報処理装置は、インターフェース回路を介してプロセッサ間を接続した複数のプロセッサからなるマルチプロセッサ構成を有し、それぞれのプロセッサを接続し、接続したそれぞれのプロセッサの管理・監視を実行するベースボード管理コントローラ(BMC:Baseboard Management Controller)を備える情報処理装置であって、前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW:BMC Firmware)は、それぞれのプロセッサ上で動作するベーシック入出力システム(BIOS:Basic Input/Output System)と連携することにより、故障部位を判別して、故障部位を運用系から切り離す障害処理機能を有し、かつ、前記ベーシック入出力システム(BIOS)は、装置の立ち上げ動作を実行中に障害を検出した場合、当該ベーシック入出力システム(BIOS)が動作するプロセッサ内に備えているステータスレジスタが保持する動作状態を解析した結果として得られるエラーコードと、検出した障害が前記インターフェース回路に関するリンク障害と判定した場合には当該インターフェース回路の通信先になる相手側のプロセッサの状態の解析を要求する通信先プロセッサ調査依頼とからなる障害検出通知を、前記ベースボード管理コントローラ(BMC)に送信し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、前記インターフェース回路を介して接続されているプロセッサに関して、前記障害検出通知に含まれている前記エラーコードに基づき、障害被疑部位の可能性を示す割合を第1の被疑割合として決定するとともに、前記障害検出通知に前記通信先プロセッサ調査依頼が含まれていた場合には、障害が検出された前記インターフェース回路の通信先の相手側のプロセッサ内に備えているステータスレジスタが保持する動作状態を読み取って解析した結果に基づいて障害被疑部位の障害の可能性を示す割合を第2の被疑割合として決定し、決定した前記第1の被疑割合と前記第2の被疑割合とをあらかじめ定めた規則にしたがってマージして最終的な被疑割合を求めることにより、該最終的な被疑割合が最も高い部位を故障部位と判別して、該故障部位を運用系から切り離すことを特徴とする。
(2)本発明による故障部位判別方法は、インターフェース回路を介してプロセッサ間を接続した複数のプロセッサからなるマルチプロセッサ構成の情報処理装置において故障部位を判別する故障部位判別方法であって、それぞれのプロセッサを接続し、接続したそれぞれのプロセッサの管理・監視を実行するベースボード管理コントローラ(BMC)を備え、前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW:BMC Firmware)は、それぞれのプロセッサ上で動作するベーシック入出力システム(BIOS:Basic Input/Output System)と連携することにより、故障部位を判別して、故障部位を運用系から切り離す障害処理機能を有し、かつ、前記ベーシック入出力システム(BIOS)は、装置の立ち上げ動作を実行中に障害を検出した場合、当該ベーシック入出力システム(BIOS)が動作するプロセッサ内に備えているステータスレジスタが保持する動作状態を解析した結果として得られるエラーコードと、検出した障害が前記インターフェース回路に関するリンク障害と判定した場合には当該インターフェース回路の通信先になる相手側のプロセッサの状態の解析を要求する通信先プロセッサ調査依頼とからなる障害検出通知を、前記ベースボード管理コントローラ(BMC)に送信し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、前記インターフェース回路を介して接続されているプロセッサに関して、前記障害検出通知に含まれている前記エラーコードに基づき、障害被疑部位の可能性を示す割合を第1の被疑割合として決定するとともに、前記障害検出通知に前記通信先プロセッサ調査依頼が含まれていた場合には、障害が検出された前記インターフェース回路の通信先の相手側のプロセッサ内に備えているステータスレジスタが保持する動作状態を読み取って解析した結果に基づいて障害被疑部位の障害の可能性を示す割合を第2の被疑割合として決定し、決定した前記第1の被疑割合と前記第2の被疑割合とをあらかじめ定めた規則にしたがってマージして最終的な被疑割合を求めることにより、該最終的な被疑割合が最も高い部位を故障部位と判別して、該故障部位を運用系から切り離すことを特徴とする。
(3)本発明による故障部位判別プログラムは、少なくとも前記(2)に記載の故障部位判別方法を、コンピュータによって実行可能なプログラムとして実施していることを特徴とする。
本発明の情報処理装置、故障部位判別方法および故障部位判別プログラムによれば、以下のような効果を奏することができる。
第1の効果は、情報処理装置の立ち上げ中に、CPU上で動作するベーシック入出力システム(BIOS)が検出したインターフェース回路に関するリンク障害についても、精度良く故障の被疑部位を指摘することができることにある。本発明では、BIOSから障害検出通知を受信したベースボード管理コントローラ(BMC)が、BIOSが解析した障害被疑部品の情報のみならず、リンク障害が発生したインターフェース回路の通信先の部品に直接アクセスして取得した通信先の部品の状態の解析結果から得られる障害被疑部品の情報をも用いて、故障部位の解析を行うので、このような精度の良い故障被疑部位の指摘ができる。
第2の効果は、情報処理装置の立ち上げ中にベーシック入出力システム(BIOS)からはアクセスすることができない部品の状態を把握することができることにある。その理由は、ベーシック入出力システム(BIOS)が、ベースボード管理コントローラ(BMC)に対して、調査依頼として、アクセスしたい部品を通知するコードを障害検出通知に含めて送信し、該障害検出通知を受け取ったBMCにより、調査依頼があった部品に直接アクセスする仕組みを備えているためである。
第3の効果は、情報処理装置の立ち上げ時間を短縮することができることにある。本発明では、情報処理装置の立ち上げ時に、インターフェース回路に関するリンク障害が検出された場合であっても、ベースボード管理コントローラ(BMC)において精度良く故障の被疑部位の指摘を行うことができる。そこで、本発明によれば、その精度の良い故障被疑部位の指摘により、同じ障害に対して、切り離し処理とリブート動作とが繰り返されることを防止できるので、情報処理装置の立ち上げ時間が短縮できる。
本発明による情報処理装置のブロック構成の一例を示すブロック構成図である。 図1に示す情報処理装置においてBIOSが障害検出時のエラーコードを保持しているエラーコード表の一例を説明するためのテーブルである。 図1に示す情報処理装置においてステータスレジスタが保持する状態情報の一例を説明するためのテーブルである。 図1に示す情報処理装置においてBMCが障害被疑部品に関する情報を保持している障害表の一例を説明するためのテーブルである。 図1に示す情報処理装置の動作の一例を説明するためのフローチャートである。 図1に示す情報処理装置において障害を検出したBIOSからBMCに対して送信する障害検出通知フォーマットの一例を示すテーブルである。 図1に示す情報処理装置において障害を検出したBIOSからBMCに対して送信する障害検出通知フォーマットの他の例を示すテーブルである。 本発明による情報処理装置のブロック構成の図1とは異なる他の例を示すブロック構成図である。 従来のマルチプロセッサ構成の情報処理装置におけるブロック構成を示すブロック構成図である。
以下、本発明による情報処理装置、故障部位判別方法および故障部位判別プログラムの好適な実施形態について添付図を参照して説明する。なお、以下の説明においては、本発明による情報処理装置および故障部位判別方法について説明するが、かかる故障部位判別方法をコンピュータにより実行可能な故障部位判別プログラムとして実施するようにしても良いし、あるいは、故障部位判別プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにしても良いことは言うまでもない。
(本発明の特徴)
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明は、マルチプロセッサ構成の情報処理装置においてCPUや制御装置等の処理機能を有するプロセッサ上で動作するベーシック入出力システム(BIOS:Basic Input/Output System。以降BIOSと表記する)が装置立ち上げ中などにおいてインターフェース回路の初期化中の障害(リンク障害)を検出した場合であっても、該インターフェース回路に関するリンク障害の故障部位をより精度良く判別するための技術に関するものである。
すなわち、本発明は、マルチプロセッサ構成の複数の部品(すなわちCPUや制御装置等の処理機能を有するプロセッサ)の動作状態を管理し監視するためのベースボード管理コントローラ(BMC:Baseboard Management Controller。以降BMCと表記する)上で動作するファームウェア(BMCFW:BMC Firmware。以降BMCFWと表記する)を、情報処理装置の立ち上げを実行するBIOSと連携させ、BMCFWに、故障部位を判別するための障害処理機能を割り当て、情報処理装置を構成する複数の部品(すなわちCPUや制御装置等の処理機能を有するプロセッサ)の中の指定した部品のステータス(状態)を読み出して解析することにより、故障部位を精度良く判別することを主要な特徴としている。
さらに説明すると、本発明は、インターフェース回路に関するリンク障害が発生して、インターフェース障害検出元の部品(以降CPU11と称する)と該インターフェース回路の通信先の部品(以降CPU12と称する)との間の通信が断絶されて、CPU11上で動作するBIOSから通信先のCPU12に対して直接アクセスすることができない状況下においても、障害処理機能を受け持つBMCFWにおいて、CPU11のBIOSから調査依頼があった通信先のCPU12の状態を読み出すことにより、CPU11とCPU12との両方の状態を解析して、故障部位を精度良く判別することを可能とし、而して、情報処理装置の立ち上げ時間を短縮することを可能とすることを主要な特徴としている。
かくのごとき本発明による故障部位判定方法について、先に説明した図9のブロック構成図を用いてさらに説明する。CPU11上で動作するBIOS61が情報処理装置の立ち上げ中にインターフェース回路5のリンク障害を検出した場合、このインターフェース回路5を介する部品間(CPU11−CPU12間)のアクセスは断絶される。このため、CPU11上で動作しているBIOS61からCPU12へアクセスすることができず、従来の障害処理においては、前述したように、CPU11内の状態のみを用いて、故障部位の判別を行っていた。
これに対して、本発明においては、新たに、障害検出元のCPU11のBIOS61がインターフェース回路41を介して障害処理機能を司るBMC3に対して障害検出通知を送信するとともに、該障害検出通知を送信する際に、リンク障害が発生したインターフェース回路5の通信先であるCPU12を示すコードを通知して、通信先のCPU12の状態の調査依頼を行う仕組みを設けている。
さらに、BMC3上で動作するファームウェアであるBMCFW7には、障害検出元のCPU11のBIOS61からは読み出すことができない通信先のCPU12のステータスレジスタ22の内容をインターフェース回路42を経由して読み出して、障害検出元のCPU11のBIOS61からインターフェース回路41を介して受け取った障害検出通知に関する故障部位の解析を行うという機能を備えている。
さらに、障害検出元のCPU11のBIOS61とBMC3上で動作するBMCFW7とが、CPU11とCPU12とのそれぞれの状態を解析して得た故障部品の被疑割合をあらかじめ定めた規則に基づいてマージすることによって、最終的な被疑割合を作り直すという仕組みを、BMCFW7に用意している。
以上のごとき仕組みを採用することにより、インターフェース回路5に関するリンク障害が発生した場合であっても、CPU11とCPU12との状態をより正確に解析することができるので、従来技術よりも精度良く故障の被疑部位を指摘することができる。
(実施形態の構成例)
次に、本発明の情報処理装置のブロック構成について、その一例を、図1を参照して詳細に説明する。図1は、本発明による情報処理装置のブロック構成の一例を示すブロック構成図であり、図9にて説明した従来の情報処理装置のブロック構成と略同じであるが、マルチプロセッサ構成の各部品(すなわちCPUや制御装置等の処理機能を有するプロセッサ)の状態を管理監視するBMCに内蔵するファームウェアBMCFWに、各部品(すなわちCPUや制御装置等の処理機能を有するプロセッサ)に内蔵するBIOSと連携して動作し、故障部位を精度良く判別するための障害処理機能が備えられている点が、図9の場合とは異なっている。
図1の情報処理装置は、図9の従来の情報処理装置と同様、インターフェース回路5を介して互いに接続している2つの部品例えばCPU11,12と、CPU11,12それぞれにインターフェース回路41,42それぞれを介して接続しているベースボード管理コントローラBMC3とによって構成されている。CPU11,12上では、それぞれ、立ち上げ処理を行うベーシック入出力システム(ファームウェア)としてBIOS61,62が動作し、BMC3上では、CPU11,12のリモート管理、監視を行うベースボード管理コントローラ用ファームウェアとしてBMCFW7が動作する。CPU11,12は、インターフェース回路5に関する動作状態も含めて内部の状態を保持するステータスレジスタ21,22をそれぞれ備えている。
ステータスレジスタ21,22に保持されている状態情報は、それぞれのCPU11,12に内蔵のBIOS61,62それぞれが読み取ることが可能であるとともに、BMC3上で動作するBMCFW7も、インターフェース回路41,42それぞれを介して直接読み取ることが可能である。
CPU11上で動作するBIOS61は、装置立ち上げ中にCPU11とCPU12との間のインターフェース回路5のリンクアップを行う。インターフェース回路5のリンクアップとは、インターフェース回路5というインターフェースを使用可能にするための動作を指す。また、CPU11のBIOS61は、インターフェース回路5に関するリンク障害を検出すると、故障部位を判別するための障害処理が起動されて、障害処理機能を司るBMC3のBMCFW7に対して、障害検出通知として、検出した障害の内容を示すエラーコードと、障害発生時に通信しようとしていた通信先の部品(例えばCPU12)を示すコードとを、インターフェース回路41を介して通知する。なお、CPU11のBIOS61は、装置立ち上げ中であり、CPU11とCPU12との間のインターフェース回路5のリンクアップが成功していないので、インターフェース回路5の通信先となる相手側のCPU12に対して直接アクセスすることができない。
ここで、CPU11上で動作するBIOS61およびCPU12上で動作するBIOS62は、それぞれ、図2に一例を示すようなエラーコードの一覧を保持している。図2は、図1に示す情報処理装置においてBIOS61,62が障害検出時のエラーコードを保持しているエラーコード表の一例を説明するためのテーブルであり、エラーコード表は、故障部位が一意に決まるエラーコードと障害を検出したときに処理対象であった部品(CPUや制御装置等。本実施形態においてはCPU11,12)などがリストアップされている表である。つまり、図2に示すエラーコード表は、エラーコード81、処理対象部品82、リンク障害83、故障被疑部品84を少なくとも含んで構成されている。
図2のエラーコード表において、例えば、エラーコード81が'0x0000_0001'であった場合、該エラーコードが示す障害を検出した部品を示す処理対象部品82は、CPU11であり、リンク障害83に示すように、該エラーコードが示す障害がリンクアップ中に発生したインターフェース回路5に関するリンク障害であり、かつ、故障被疑部品84に示すように、故障の可能性が高い部品を示す故障被疑部品がCPU11であることを示している。
また、エラーコード81が'0x0000_0002'であった場合、該エラーコードが示す障害を検出した部品を示す処理対象部品82は、CPU11であり、リンク障害83に示すように、該エラーコードが示す障害がリンクアップ中に発生したインターフェース回路5に関するリンク障害であり、かつ、故障被疑部品84に示すように、故障の可能性が高い部品を示す故障被疑部品がCPU12であることを示している。
また、エラーコード81が'0x0000_1001'であった場合、該エラーコードが示す障害を検出した部品を示す処理対象部品82は、CPU11であるが、リンク障害83に示すように、該エラーコードが示す障害はリンク障害ではなく、かつ、故障被疑部品84に示すように、故障の可能性が高い部品を示す故障被疑部品がCPU11であることを示している。
また、CPU11、12それぞれのステータスレジスタ21、22の構成例を図3に示している。図3は、図1に示す情報処理装置においてステータスレジスタ21,22が保持する状態情報の一例を説明するためのテーブルであり、CPU11,12の間を接続するインターフェース回路5の送受信状態に関する情報部分のみを取り出して示している。ステータスレジスタ21,22は、図3のBit欄91に示すように、インターフェース回路5の送受信状態を示すレジスタ領域として、例えば16ビットで構成されている。
ここで、図3のBit欄91に示すように、インターフェース回路5の送信側、受信側とのそれぞれで1バイトずつ用意されていて、受信側の状態を記録するレジスタ領域は、第0ビット目から第7ビット目までのビット[0:7]であり、送信側の状態を記録するレジスタ領域は、第8ビット目から第15ビット目までのビット[8:15]である。なお、本実施形態においては、送信側および受信側ともに、インターフェース回路5の通信処理の段階として6段階からなっている場合を例示している。
説明欄92および内容欄93に示すように、受信側の状態については、第0ビット[0]は、CPU11,12が受信したか否かを表す受信の有無に関する状態を示し、'0'は受信なしの状態、'1'は受信ありの状態を示している。また、第1ビット[1]は、CPU11,12の受信処理が正常に終了したか否かを表す正常終了の有無に関する状態を示し、'0'は正常終了の状態、'1'は異常終了の状態を示している。また、第2〜第7ビット[2:7]は、CPU11,12の受信処理の進捗状況を示す6段階の各段階ごとに正常終了したか否かを表す段階別正常終了の有無に関する状態を示し、'0'は異常なしの状態、'1'は異常ありの状態を示している。
ここで、段階別正常終了の有無を示す第2〜第7ビット[2:7]について、第2ビット[2]は、受信処理の第1段階の正常終了の有無を、'0'が異常なしの状態、'1'が異常ありの状態として示し、以降、第3〜第7ビット[3:7]は、順次、受信処理の第2、第3、第4、第5、第6段階の正常終了の有無を、それぞれ、'0'が異常なしの状態、'1'が異常ありの状態として示している。
また、送信側の状態についても同様であり、第8ビット[8]は、CPU11,12が送信したか否かを表す送信の有無に関する状態を示し、'0'は送信なしの状態、'1'は送信ありの状態を示している。また、第9ビット[9]は、CPU11,12の送信処理が正常に終了したか否かを表す正常終了の有無に関する状態を示し、'0'は正常終了の状態、'1'は異常終了の状態を示している。また、第10〜第15ビット[10:15]は、CPU11,12の送信処理の進捗状況を示す6段階の各段階ごとに正常終了したか否かを表す段階別正常終了の有無に関する状態を示し、'0'は異常なしの状態、'1'は異常ありの状態を示している。
ここで、段階別正常終了の有無を示す第10〜第15ビット[10:15]について、第10ビット[10]は、送信処理の第1段階の正常終了の有無を、'0'が異常なしの状態、'1'が異常ありの状態として示し、以降、第11〜第15ビット[11:15]は、順次、送信処理の第2、第3、第4、第5、第6段階の正常終了の有無を、それぞれ、'0'が異常なしの状態、'1'が異常ありの状態として示している。
BMC3上で動作するベースボード管理コントローラ用ファームウェアであるBMCFW7は、CPU11,12それぞれの状態を保持しているステータスレジスタ21,22に、それぞれ、インターフェース回路41,42を経由して直接アクセスすることができる。さらに、BMCFW7は、ステータスレジスタ21,22を参照してCPU11,12それぞれに関する障害解析を行う障害処理機能を備えているとともに、BIOS61,62それぞれが解析した障害解析結果とBMCFW7自身が解析した障害解析結果とをマージして障害被疑割合を算出する機能を備えている。
図4は、図1に示す情報処理装置においてBMC3が障害被疑部品に関する情報を保持している障害表の一例を説明するためのテーブルであり、BIOS61,62の障害解析結果に基づいて決まる障害被疑部品の被疑割合をリストアップしている表である。
図4に示す障害表は、エラーコード101、被疑部品1 102、被疑部品2 103、被疑割合1 104、被疑割合2 105を少なくとも含んで構成されていて、障害一覧として、障害検出元のCPU11,12のBIOS61,62にて一意に決まるエラーコード101の各エラーコードごとに、被疑部品1 102、被疑部品2 103に示す故障の被疑部品と被疑割合1 104、被疑割合2 105に示す故障の被疑割合とがそれぞれ2つずつリストアップされている。ここで、図4の障害表のエラーコード101と図2のエラーコード表のエラーコード81とに示すそれぞれのエラーコードは1対1に対応している。
つまり、図4の障害表においては、BIOS61,62において一意に決定したエラーコードごとに、インターフェース回路5を介して接続される2つの部品(本実施形態においてはCPU11,12)それぞれの故障の可能性の程度を定量的に示す被疑割合を被疑割合1 104、被疑割合2 105としてあらかじめ用意している。
例えば、図2のエラーコード表において説明したように、エラーコード81が'0x0000_0001'であった場合、BIOS61,62の解析結果としては、故障の可能性が高い故障被疑部品がCPU11であるものと推定され、かつ、該エラーコードが示す障害がリンクアップ中に発生したリンク障害であることを示している。したがって、図4の障害表においては、エラーコード101が'0x0000_0001'であった場合には、被疑部品1 102および被疑割合1 104に示すように、故障被疑部品がCPU11であるとする被疑割合は70%であり、被疑部品2 103および被疑割合2 105に示すように、故障被疑部品がCPU12であるとする被疑割合は30%であるものとしてあらかじめ設定する。
また、図2のエラーコード表において説明したように、エラーコード81が'0x0000_0002'であった場合、BIOS61,62の解析結果としては、故障部位がCPU12であるものと推定され、かつ、該エラーコードが示す障害がリンクアップ中に発生したリンク障害である。したがって、図4の障害表においては、エラーコード101が'0x0000_0002'であった場合には、被疑部品1 102および被疑割合1 104に示すように、故障被疑部品がCPU12であるとする被疑割合は70%であり、被疑部品2 103および被疑割合2 105に示すように、故障被疑部品がCPU11であるとする被疑割合は30%であるものとしてあらかじめ設定する。
また、図2のエラーコード表において説明したように、エラーコード81が'0x0000_1001'であった場合、BIOS61,62の解析結果としては、CPU11であるものと推定され、かつ、該エラーコードが示す障害は、エラーコード81が'0x0000_0001'の場合とは異なり、リンク障害の場合ではなく、CPU11内部の故障である。したがって、図4のエラーコード表においては、エラーコード101が'0x0000_1001'であった場合には、被疑部品1 102および被疑割合1 104に示すように、故障被疑部品がCPU11であるとする被疑割合は100%であり、被疑部品2 103および被疑割合2 105に示すように、故障被疑部品がCPU12であるとする被疑割合は0%であるものとしてあらかじめ設定する。
(実施形態の動作の説明)
次に、図1に示す情報処理装置の動作の一例を、図5のフローチャートを参照しながら説明する。図5は、図1に示す情報処理装置の動作の一例を説明するためのフローチャートであり、図5(A)が、2つの部品すなわちCPU11,12上でそれぞれ動作するベーシック入出力システムBIOS61,62の動作の一例を示し、図5(B)がBMC3上で動作するベースボード管理コントローラ用ファームウェアBMCFW7の動作の一例を示している。なお、以下の説明においては、説明を分かり易くするために、2つのCPU11,12のうち、CPU11上で動作するBIOS61が、装置の立ち上げ中に障害を検出した場合の動作について説明するが、CPU12上で動作するBIOS62についても、BIOS61とBIOS62とを読み替えるだけで、全く同様の動作となる。
まず、CPU11上で動作するBIOS61が、CPU11の立ち上げ処理として、CPU11−CPU12間のインターフェース回路5の初期設定を行っている段階で障害を検出した場合の動作を中心にして、図5(A)を用いて説明する。
図5(A)において、CPU11のBIOS61が、立ち上げ中のCPU11−CPU12間のインターフェース回路5の初期設定を行っている段階において、つまり、インターフェース回路5のリンク初期設定中(リンクアップ中)の段階において、"CPU12側からの応答がない"または"CPU12側から期待しない応答を受信した"等の異常を検出すると(ステップA1)、故障部位を特定するための障害処理が起動され、ステップA2に移行する。
障害処理が起動されると、BIOS61は、図3に示したような構成からなるCPU11のステータスレジスタ21のビット[8:15]にアクセスして、当該CPU11からCPU12側への送信動作に異常が発生していないか否かを確認する。すなわち、BIOS61は、ステータスレジスタ21のビット[8:15]を読み取ると、インターフェース回路5すなわちリンクの初期設定動作として送信動作に異常が発生しているか否かを分析し、異常が検出された場合、図2のエラーコード表を参照して、該当するエラーコードを特定する(ステップA2)。
つまり、ステップA2においては、まず、アクセスしたステータスレジスタ21のビット[8]の「送信あり/なし」の状態を調査し、ビット[8]が'0'であれば、BIOS61が送信動作を指示していたにも関わらず、何らかの異常により送信動作が行われなかったことを検出する。一方、ビット[8]が'1'であれば、インターフェース回路5を介してCPU12に対して何らかの送信動作が行われていたことを確認する。
何らかの送信動作が行われていた場合には、次に、ステータスレジスタ21のビット[9]の「送信正常終了の有無」の状態を調査し、ビット[9]が'0'であれば、送信動作が正常に終了していることになるが、一方、ビット[9]が'1'であれば、送信動作が何らかの異常により正常には実施できず異常終了していることを検出する。
送信動作が異常終了していた場合には、次に、ステータスレジスタ21のビット[10:15]を調査する。ステータスレジスタ21のビット[10:15]には、前述したように、送信動作の進捗段階ごとの異常の有無を、各ビットごとに格納している。つまり、ビット[10]〜ビット[15]のそれぞれは、送信動作の第1段階1〜第6段階に対応し、異常がない場合は'0'であるが、異常が発生している場合は'1'を格納している。
以上のように、ステータスレジスタ21のビット[8]が'0'であれば、送信動作が実施されない何らかの異常が発生していることになり、また、ステータスレジスタ21のビット[8]が'1'であっても、ビット[9:15]の中に'1'が存在していれば、送信動作が異常終了していることになる。一方、ステータスレジスタ21のビット[8]が'1'で、かつ、ビット[9:15]の中に'1'が存在していなければ、送信動作は正常終了し、送信動作以外で異常が発生しているものと判断することができる。また、BIOS61は、障害を検出したときの処理内容に基づいて、例えば、インターフェース回路5に関連するリンク初期設定用のコマンドを送信中であったか否かに基づいて、インターフェース回路5に関連するリンク障害か否かを決定することができる。
リンク障害と決定した場合であれば、BIOS61は、ステータスレジスタ21のビット[8:15]の内容から送信動作が正常に行われたことが確認された場合には、インターフェース回路5の通信先のCPU12を故障被疑部品として決定し、一方、ステータスレジスタ21のビット[8:15]の内容から送信動作に何らかの異常が発生したことが確認された場合には、CPU11自身を故障被疑部品として決定する。
かくのごとき異常判定処理結果に基づいて、BIOS61は、図2に示したエラーコード表を参照し、当該BIOS61が動作する処理対象の部品と、障害を検出したときの処理内容から決定したリンク障害の有無と、ステータスレジスタ21のビット[8:15]の内容から決定したリンク障害時の故障被疑部品とにより、処理対象部品82、リンク障害83、故障被疑部品84を検索して、対応するエラーコードをエラーコード81から抽出する。例えば、障害を検出した処理対象部品がCPU11であり、CPU11が障害被疑部品となるリンク障害であった場合には、図2のエラーコード表に示すように、エラーコードは、'0x0000_0001'になる。また、障害を検出した処理対象部品がCPU11であり、CPU11が障害被疑部品であっても、リンク障害ではない場合には、図2のエラーコード表に示すように、エラーコードは、'0x0000_1001'になる。
図5(A)のステップA2における障害内容の分析処理を実施すると、次に、BMC3へ障害の検出を通知する情報を設定するために、まず、BIOS61は、インターフェース回路5に関するリンク初期設定中にリンク障害を検出していたか否かを判定する(ステップA3)。
リンク障害を検出していた場合は(ステップA3のyes)、ステップA2において決定したエラーコードとインターフェース回路5を介した通信の通信先となる部品を示すコードとを付した障害検出通知をBMC3にインターフェース回路41を介して送信する(ステップA4)。例えば、障害を検出した処理対象部品がCPU11であり、CPU11が障害被疑部品となるリンク障害であった場合には、前述のように、エラーコードは'0x0000_0001'であり、かつ、通信先の部品を示すコードはCPU12を示すコードとなり、障害検出通知を送信しようとするBMC3に対して、インターフェース回路5の通信先のCPU12側のステータスレジスタ22をさらに調査して、障害被疑部位を解析することを依頼することになる。
一方、リンク障害を検出していない場合は(ステップA3のno)、通信先となる部品を示すコードを含まないエラーコードのみからなる障害検出通知をBMC3にインターフェース回路41を介して送信する(ステップA5)。例えば、障害を検出した処理対象部品がCPU11であり、CPU11が障害被疑部品であっても、リンク障害ではない場合には、エラーコードが'0x0000_1001'であり、通信先の部品を示すコードとしてall'0'(通信先の部品すなわちCPU12の調査が不要である旨を示すコード)を設定した障害検出通知を送信して、BMC3に対して、該障害検出通知のみを用いて、障害被疑部位を解析することを依頼することになる。
BIOS61からBMC3へ送信する障害検出通知のフォーマットの一例を、図6に示す。すなわち、図6は、図1に示す情報処理装置において障害を検出したBIOS61からBMC3に対して送信する障害検出通知フォーマットの一例を示すテーブルである。なお、CPU12上で動作するBIOS62が障害を検出した場合であっても、図6と同様のフォーマットを用いて、BMC3に通知することができることは言うまでもない。
図6のBit欄111に示すように、BMC3へ通知する障害検出通知フォーマットは、例えば48ビットからなっており、説明欄112、内容欄113に示すように、ビット[0:31]には、BIOS61において障害分析結果として決定したエラーコード(すなわち、障害を特定するためのコード)が設定され、ビット[32:47]には、通信先の部品を示す通信先の部品コードが設定される。ここで、通信先の部品コードは、各部品に1対1に対応して付されているものであり、内容欄113に示すように、リンク障害を検出していた場合には、調査対象となる通信先の部品を示す'0x0000'以外のコード(例えば、CPU12の場合は、'0x0002'、CPU11の場合は、'0x0001')が設定され、リンク障害以外の障害を検出していた場合には、調査対象となる通信先を指定していないことを示すコードとしてall'0'の'0x0000'というコードが設定される。
なお、インターフェース回路41を介した通信量を抑制するために、BIOS61からBMC3へ送信する障害検出通知のフォーマットの図6とは異なる他の例として、図7に示すようなフォーマットを用いるようにしても良い。図7は、図1に示す情報処理装置において障害を検出したBIOS61からBMC3に対して送信する障害検出通知フォーマットの他の例を示すテーブルである。ここで、CPU12上で動作するBIOS62が障害を検出した場合であっても、図7と同様のフォーマットを用いて、BMC3に通知することができることは言うまでもない。
図7のBit欄121に示すように、BMC3へ通知する障害検出通知フォーマットは、図6に比し情報量が少ない例えば33ビットからなっており、説明欄122、内容欄123に示すように、ビット[0:31]には、図6の場合と同様、エラーコードを設定するが、ビット[32]には、図6の場合とは異なり、通信先の部品の調査を依頼するか否かを示す通信先調査依頼ビットを設定し、リンク障害を検出していた場合には、通信先の調査を依頼する旨を示す'1'(調査依頼識別子)が設定され、リンク障害以外の障害を検出していた場合には、通信先の調査を依頼していないことを示す'0'(調査不要識別子)が設定される。
ただし、図7のごとき障害検出通知フォーマットを用いる場合は、BMC3上で動作するBMCFW7は、BIOS61から受信した障害検出通知に通信先の調査を依頼する旨を示す'1'が設定されていた場合、当該障害検出通知に含まれているエラーコードに基づいて、調査対象となる通信先の部品を特定することができる通信先一覧表等を備えた構成としていることが前提になる。
次に、図6または図7に示すような障害検出通知をBIOS61から受信したBMC3のベースボード管理コントローラ用ファームウェアBMCFW7の動作について、その一例を、図5(B)のフローチャートを用いて説明する。
図5(B)に示すように、BMC3上で動作するBMCFW7は、インターフェース回路41を介して、BIOS61から障害検出通知を受信すると(ステップB1)、故障部位を特定するための障害処理が起動され、ステップB2に移行する。
障害処理が起動されると、BMCFW7は、受信した障害検出通知に含まれているエラーコードに基づいて、図4に示した障害表を参照して、該エラーコードに該当する障害被疑部品と障害被疑割合とを抽出する(ステップB2)。例えば、受信した障害検出通知に含まれているエラーコードが'0x0000_0001'であった場合は、図4の障害表の被疑部品1 102、被疑部品2 103、被疑割合1 104、被疑割合2 105に示すように、故障の部位を示す障害被疑部品がCPU11である被疑割合が70%であり、故障の部位を示す障害被疑部品がCPU12である被疑割合が30%であることを、故障部位の可能性を示す第1の被疑割合として抽出する。
次に、BMCFW7は、受信した障害検出通知内のリンク障害か否かを示す情報(例えば、図6の場合は、ビット[32:47]、図7の場合は、ビット[32])を参照して、検出された障害がインターフェース回路5に関するリンク障害であったか否かをチェックし、インターフェース回路5の通信先の部品を調査する必要があるか否かを判定する(ステップB3)。ここで、障害検出通知が図6に示すようなフォーマットであれば、前述したように、ビット[32:47]には、リンク障害の場合、通信先の部品を示す'0x0000'以外のコードが設定されており、リンク障害ではない場合は、'0x0000'が設定されている。また、図7に示すようなフォーマットであれば、通信先の部品の調査依頼ビットであるビット[32]にリンク障害の有無を示す情報が設定されている。
検出した障害が、リンク障害ではなく、通信先の部品を調査する必要がないと判定した場合には(ステップB3のno)、通信先の部品を調査することなく、直ちに、BIOS61からの障害検出通知のみに基づいて、故障の被疑部位を指摘して処置するために、ステップB7に移行する。
一方、検出した障害が、インターフェース回路5に関するリンク障害であり、通信先の部品を調査する必要があると判定した場合には(ステップB3のyes)、ステップB4に移行して、通信先の部品を特定して、該通信先の部品の状態を解析する(ステップB4)。
ここで、BMCFW7は、BIOS61からの障害検出通知が図6に示すようなフォーマットであれば、前述したように、受信した障害検出通知のビット[32:47]に設定されている通信先の部品コードに基づいて、通信先の部品を決定し、また、受信した障害検出通知が図7に示すようなフォーマットであれば、前述したように、該障害検出通知に含まれているエラーコードに基づいて通信先一覧表等を検索することにより、通信先の部品を決定する。しかる後、決定した通信先の部品にアクセスして、当該通信先の部品の状態を解析する。
例えば、図1に示す情報処理装置において障害検出通知として図6のようなフォーマットを用いている場合は、インターフェース回路5に関するリンク障害を検出したCPU11のBIOS61からの障害検出通知に含まれる通信先の部品コードには、'0x0002'とCPU12を特定するコードが設定されていることになり、BMCFW7は、通信先の部品として、インターフェース回路42を介して、CPU12のステータスレジスタ22に直接アクセスして、CPU12の状態を読み取って、CPU12のインターフェース回路5に対する送受信状態を解析する。
次いで、BMCFW7は、図3に示したような構成からなるCPU12のステータスレジスタ22のビット[0:7]を取り出して、CPU12が、相手のCPU11からの受信動作を正常に行っているか否かを確認する。
まず、取り出したCPU12のステータスレジスタ22のビット[0]の「受信あり/なし」の状態を調査し、ビット[0]が'0'であれば、相手のCPU11からは送信動作が行われているにも関わらず、CPU12においては何らかの異常により受信動作が行われなかったことを検出する。一方、ビット[0]が'1'であれば、インターフェース回路5を介してCPU11からの何らかの受信動作が行われていたことを確認する。
何らかの受信動作が行われていた場合には、次に、ステータスレジスタ22のビット[1]の「受信正常終了の有無」の状態を調査し、ビット[1]が'0'であれば、受信動作が正常に終了していることになるが、一方、ビット[1]が'1'であれば、受信動作が何らかの異常により正常には実施できず異常終了していることを検出する。
受信動作が異常終了していた場合には、次に、ステータスレジスタ22のビット[2:7]を調査する。ステータスレジスタ22のビット[2:7]には、前述したように、受信動作の進捗段階ごとの異常の有無を、各ビットごとに格納している。つまり、ビット[2]〜ビット[7]のそれぞれは、受信動作の第1段階1〜第6段階に対応し、異常がない場合は'0'であるが、異常が発生している場合は'1'を格納している。
以上のように、ステータスレジスタ22のビット[0]が'0'であれば、相手のCPU11からの送信動作があったにも関わらず、何らかの異常により受信動作ができなかったものと判断し、また、ステータスレジスタ22のビット[0]が'1'であっても、ビット[1:7]の中に'1'が存在していれば、受信動作が異常終了していることになる。一方、ステータスレジスタ22のビット[0]が'1'で、かつ、ビット[1:7]の中に'1'が存在していなければ、受信動作は正常終了しており、通信先のCPU12には異常が発生していないものと判断することができる。
次に、BMCFW7は、CPU12のステータスレジスタ22のビット[8:15]を取り出して、CPU12が、相手のCPU11からの送信に対する応答を返送する動作として、相手のCPU11への送信動作を正常に行っているか否かを確認する。
まず、取り出したCPU12のステータスレジスタ22のビット[8]の「送信あり/なし」の状態を調査し、ビット[8]が'0'であれば、CPU12が応答の送信動作を指示していたにも関わらず、何らかの異常により送信動作が行われていなかったことを検出する。一方、ビット[8]が'1'であれば、インターフェース回路5を介してCPU11に対して何らかの送信動作が行われていたことを確認する。
何らかの送信動作が行われていた場合には、次に、ステータスレジスタ22のビット[9]の「送信正常終了の有無」の状態を調査し、ビット[9]が'0'であれば、送信動作が正常に終了していることになるが、一方、ビット[9]が'1'であれば、送信動作が何らかの異常により正常には実施できず異常終了していることを検出する。
送信動作が異常終了していた場合には、次に、ステータスレジスタ22のビット[10:15]を調査する。ステータスレジスタ22のビット[10:15]には、前述したように、送信動作の進捗段階ごとの異常の有無を、各ビットごとに格納している。つまり、ビット[10]〜ビット[15]のそれぞれは、送信動作の第1段階1〜第6段階に対応し、異常がない場合は'0'であるが、異常が発生している場合は'1'を格納している。
以上のように、ステータスレジスタ22のビット[8]が'0'であれば、何らかの異常により、相手のCPU11への送信動作ができなかったものと判断し、また、ステータスレジスタ22のビット[8]が'1'であっても、ビット[9:15]の中に'1'が存在していれば、送信動作が異常終了していることになる。一方、ステータスレジスタ22のビット[8]が'1'で、かつ、ビット[9:15]の中に'1'が存在していなければ、送信動作は正常終了しているものと判断することができる。
次いで、BMCFW7は、ステップB4における通信先の部品であるCPU12の送受信状態の解析結果に基づいて、障害検出元のCPU11の障害被疑部品と通信先のCPU12の障害被疑部品との双方の被疑割合を、故障部位の可能性を示す第2の被疑割合として決定する(ステップB5)。
つまり、ステップB5においては、BMCFW7は、CPU11のBIOS61からの障害検出通知として、該障害検出通知に含まれているエラーコードが例えば'0x0000_0001'であって、リンク障害の旨が通知されてきた場合において、通信先のCPU12のステータスレジスタ22を読み取り、ステータスレジスタ22のビット[0]および[8]が'1'であり、通信先のCPU12が、障害検出側の相手のCPU11との間の何らかの送受信動作を行っていた場合であって、ステータスレジスタ22のビット[1:7]およびビット[9:15]には'1'が存在していないと認識した場合には、通信先のCPU12は、略正常に動作しているものと判定する。
而して、BMCFW7は、通信先のCPU12の送受信状態の解析結果から、故障の被疑部品はCPU11の可能性が高いものと判定し、障害検出元のCPU11が障害被疑部品である被疑割合を例えば80%とし、一方、通信先のCPU12が障害被疑部品である被疑割合を例えば20%と決定する。
一方、CPU11のBIOS61からの障害検出通知に含まれているエラーコードが例えば'0x0000_0001'であって、リンク障害の旨が通知されてきた場合において、通信先のCPU12のステータスレジスタ22のビット[0]または[8]が'0'であり、通信先のCPU12が、障害検出側の相手のCPU11と送受信動作を行うことができなかった場合、あるいは、ビット[0]および[1]が'1'であり、通信先のCPU12が、障害検出側の相手のCPU11と送受信動作を行うことができた場合であっても、ステータスレジスタ22のビット[1:7]またはビット[9:15]に'1'が存在していると認識した場合には、通信先のCPU12は、正常に動作していないものと判定する。
而して、BMCFW7は、通信先のCPU12の送受信状態の解析結果から、故障の被疑部品はCPU12の可能性が高いものと判定し、通信先のCPU12が障害被疑部品である被疑割合を例えば70%とし、一方、障害検出元のCPU11が障害被疑部品である被疑割合を例えば30%と決定する。
ここで、障害検出元のCPU11が障害被疑部品と判定した場合について、ステップB5における障害被疑部品の被疑割合の数値(すなわち第2の被疑割合の数値)が、ステップB2における障害被疑部品の被疑割合の数値(すなわち第1の被疑割合の数値)と異なる要因は、次の点を考慮したからである。すなわち、ステップB2においては、インターフェース回路5のリンク障害検出時において、「障害検出元であるCPU11から通信先のCPU12に対するインターフェース回路5を介した送信動作が正しく実施できたか否か」を、送信元のCPU11のBIOS61自身が判定した結果であるのに対して、ステップB5においては、インターフェース回路5のリンク障害検出時において、「通信先のCPU12における障害検出元のCPU11とのインターフェース回路5を介した送受信動作が正しく実施できたか否か」を、通信先のCPU12のステータスレジスタ22の読み取り結果に基づいて、BMCFW7が判定した結果であることによるからである。つまり、ステップB5における解析結果の方が、ステップB2における解析結果よりも、障害解析に対する信頼度がより高いと想定されるからである。
しかる後、ステップB2において障害検出元のCPU11からの障害検出通知に基づいて決定した障害被疑部品の被疑割合(すなわち第1の被疑割合)と、ステップB5において通信先のCPU12のステータスレジスタ22の読み取り結果に基づいて決定した障害被疑部品の被疑割合(すなわち第2の被疑割合)とを、あらかじめ定めた規則にしたがってマージして最終的な被疑割合を算出する(ステップB6)。ここで、マージを行うためのあらかじめ定めた規則としては、単純な例として、ステップB2における解析結果とステップB5における解析結果との双方の被疑割合を加算して、'2'で割った単純平均値を当該障害被疑部品の最終的な被疑割合とするようにしても良い。
例えば、第1番目の例として、CPU11から受信した障害検出通知に含まれているエラーコードが'0x0000_0001'であって、かつ、故障の可能性が高い部品がステップB2とステップB5とでいずれも障害検出元のCPU11であった場合であり、前述のように、ステップB2の解析結果としてCPU11が障害被疑部品である被疑割合が70%、CPU12が障害被疑部品である被疑割合が30%であり、一方、ステップB5の解析結果としてCPU11が障害被疑部品である被疑割合が80%、CPU12が障害被疑部品である被疑割合が20%であった場合には、ステップB2の解析結果のCPU11が障害被疑部品である被疑割合70%とステップB5の解析結果のCPU11が障害被疑部品である被疑割合80%とを単純平均して、CPU11が障害被疑部品である最終的な被疑割合を75%と決定する。また、ステップB2の解析結果のCPU12が障害被疑部品である被疑割合30%とステップB5の解析結果のCPU12が障害被疑部品である被疑割合20%とを単純平均して、CPU12が障害被疑部品である最終的な被疑割合を25%と決定する。
また、第2番目の例として、故障の可能性が高い部品が、ステップB2とステップB5で、前述のCPU11の場合とは逆に、いずれも、通信先のCPU12であって、ステップB2の解析結果とステップB5の解析結果とのいずれも、CPU11が障害被疑部品である被疑割合が30%、CPU12が障害被疑部品である被疑割合が70%であった場合には、ステップB2の解析結果のCPU11が障害被疑部品である被疑割合30%とステップB5の解析結果のCPU11が障害被疑部品である被疑割合30%とを単純平均して、CPU11が障害被疑部品である最終的な被疑割合を30%と決定する。また、ステップB2の解析結果のCPU12が障害被疑部品である被疑割合70%とステップB5の解析結果のCPU12が障害被疑部品である被疑割合70%とを単純平均して、CPU12が障害被疑部品である最終的な被疑割合を70%と決定する。
また、第3番目の例として、故障の可能性が高い部品がステップB2とステップB5とで異なり、いずれも、状態の解析対象になった部品側が故障であるものと判定して、ステップB2の解析結果のCPU11が障害被疑部品である被疑割合が70%、CPU12が障害被疑部品である被疑割合が30%であり、一方、ステップB5の解析結果のCPU11が障害被疑部品である被疑割合が30%、CPU12が障害被疑部品である被疑割合が70%であった場合には、ステップB2の解析結果のCPU11が障害被疑部品である被疑割合70%とステップB5の解析結果のCPU11が障害被疑部品である被疑割合30%とを単純平均して、CPU11が障害被疑部品である最終的な被疑割合を50%と決定する。また、ステップB2の解析結果のCPU12が障害被疑部品である被疑割合30%とステップB5の解析結果のCPU12が障害被疑部品である被疑割合70%とを単純平均して、CPU12が障害被疑部品である最終的な被疑割合を50%と決定する。
また、第4番目の例として、故障の可能性が高い部品がステップB2とステップB5とで異なり、いずれも、ステータスレジスタ21,22に基づく解析をしていない相手の部品側が故障であるものと判定して、ステップB2の解析結果のCPU11が障害被疑部品である被疑割合が30%、CPU12が障害被疑部品である被疑割合が70%であり、一方、ステップB5の解析結果の信頼性がステップB2の場合よりも高いものとして、ステップB5の解析結果のCPU11が障害被疑部品である被疑割合が80%、CPU12が障害被疑部品である被疑割合が20%と設定した場合には、ステップB2の解析結果のCPU11が障害被疑部品である被疑割合30%とステップB5の解析結果のCPU11が障害被疑部品である被疑割合80%とを単純平均して、CPU11が障害被疑部品である最終的な被疑割合を55%と決定する。また、ステップB2の解析結果のCPU12が障害被疑部品である被疑割合70%とステップB5の解析結果のCPU12が障害被疑部品である被疑割合20%とを単純平均して、CPU12が障害被疑部品である最終的な被疑割合を45%と決定する。
つまり、第4番目の例に示すように、両者の被疑割合を単純平均した場合であっても、ステップB2とステップB5との被疑割合の設定基準を異なるようにし、解析結果の信頼性がより高いステップB5により大きな差異を持たせるように被疑割合を設定することにより、両者を単純平均してマージした場合であっても、例えば、CPU11の被疑割合が55%、CPU12の被疑割合が45%と、ステップB5における解析結果であるCPU11が故障の可能性が高いとの結果を、マージ後の最終的な被疑割合として得ることができる。
従来の障害処理技術においては、インターフェース回路5に関するリンク障害が検出された場合であっても、図5(A)のステップA2に示したように、BIOS61により障害検出元の部品すなわちCPU11の状態のみを解析し、かつ、故障の被疑部品として、図2の故障被疑部品84に示したように、障害検出元のCPU11か通信先のCPU12かのいずれかしか指摘することができなかった。
しかし、BMC3に障害処理機能を備えた本実施形態においては、ステップB5において通信先の部品すなわちCPU12の状態を解析することによって得られた解析結果と、ステップB2の解析結果とを、ステップB6においてマージ処理を行い、最終的な故障の被疑割合を決定するので、CPU11,12の両方のCPUについて故障の可能性の程度を示す被疑部位を、より精度良く指摘することができるようになる。
また、前述の第4番目の例のように、ステップB2の解析結果においては、CPU12を故障の被疑部品としていた場合であっても、ステップB2の解析結果よりもより信頼度が高いステップB5の解析結果とマージすることによって、ステップB5における解析結果として故障の可能性が高いと判定したCPU11を故障の被疑部品として指摘する最終的な被疑割合をより多くし、かつ、CPU12の最終的な被疑割合をより少なくすることができる。
さらに、各CPU11,12の状態を解析することにより、故障検出元のCPU11だけで判断した障害被疑部品の被疑割合よりも、より多くのバリエーションで、障害被疑部品に関する被疑部位の指摘を行うことができるようになるので、故障部位の判定に関する信頼度と精度とを向上させることができる。
なお、ステップB2の解析結果とステップB5の解析結果とのマージを行うためにあらかじめ定めた規則としては、前述したような単純平均を行う場合のみに限るものではない。例えば、両者の被疑割合の加重平均を行うことにより、より信頼度が高いステップB5における解析結果がより重み付けされた結果が得られるようにしても良い。
図5(B)のフローチャートに戻って、最後に、ステップB6のマージ結果によって決定した障害被疑部品の最終的な被疑割合に応じて、故障の部位を決定して、決定した故障部品を指摘するとともに、当該故障部品に対する処置を実施する(ステップB7)。例えば、マージ結果として、障害検出元のCPU11が障害被疑部品であるとする最終的な被疑割合が、通信先のCPU12の最終的な被疑割合よりも大きい場合には、CPU11が故障の部品であると判定して、当該CPU11を、情報処理装置の運用系から切り離して、情報処理装置を再起動する。この結果、故障のCPU11のBIOS61は、情報処理装置の立ち上げ中に動作することがなくなるので、BIOS61が故障をさらに検出してしまうことがなくなり、立ち上げ動作を順調に進めることができるようになる。
次に、インターフェース回路5に関するリンク障害以外の障害を検出した場合の動作についてさらに説明する。インターフェース回路5に関するリンク障害以外の障害とは、BIOS61が、CPU11の初期化動作中であっても、インターフェース回路5を介して通信先のCPU12との送受信動作を行う場面ではないCPU11内部の初期設定動作中に、CPU11側の内部障害を検出した場合などである。
まず、図5(A)のフローチャートにおいて、CPU11の立ち上げ処理中に、かかるCPU11側の内部障害を、CPU11上で動作するBIOS61が検出すると、前述したように、障害処理が起動されて(ステップA1)、障害を検出したときに処理対象だった部品、リンク障害であるか否か、故障の被疑部品に基づいて、図2に示すエラーコード表を参照して、該当するエラーコードを抽出する(ステップA2)。例えば、CPU11が処理対象の部品であり、インターフェース回路5を介した通信先のCPU12との間の送受信動作に関するリンク障害でなく、CPU11側の内部処理中においてCPU11側の内部障害を検出した場合、障害被疑部品はCPU11であり、該当するエラーコードは、図2のエラーコード表に示すように、'0x0000_1001'になる。
次いで、図5(A)のステップA2における障害内容の分析処理として、リンク障害ではないことを分析しているので(ステップA3のno)、通信先となる部品を示すコードを含まないエラーコードのみからなる障害検出通知をBMC3にインターフェース回路41を介して送信する(ステップA5)。例えば、障害を検出した処理対象部品がCPU11であり、CPU11が障害被疑部品であり、リンク障害ではない場合には、前述のように、ビット[0:31]のエラーコードが'0x0000_1001'であり、図6のフォーマットの場合にはビット[32:47]の通信先の部品コードがall'0'の'0x0000'を設定した障害検出通知を送信して、BMC3に対して、障害被疑部位を解析することを依頼することになる。
次に、図5(B)に示すように、BMC3上で動作するBMCFW7が、インターフェース回路41を介して、BIOS61から障害検出通知を受信すると(ステップB1)、故障部位を特定するための障害処理が起動され、BMCFW7は、受信した障害検出通知に含まれているエラーコードに基づいて、図4に示した障害表を参照して、該エラーコードに該当する障害被疑部品と障害被疑割合とを抽出する(ステップB2)。
例えば、受信した障害検出通知に含まれているエラーコードが'0x0000_1001'であった場合は、図4の障害表の被疑部品1 102、被疑部品2 103、被疑割合1 104、被疑割合2 105に示すように、故障の部位を示す障害被疑部品がCPU11である被疑割合が100%であり、故障の部位を示す障害被疑部品がCPU12である被疑割合が0%であることを、故障部位の可能性を示す第1の被疑割合として抽出する。
次に、BMCFW7は、受信した障害検出通知内のリンク障害か否かを示す情報を参照して、検出された障害がリンク障害であったか否かをチェックし、通信先の部品を調査する必要があるか否かを判定する(ステップB3)。ここで、障害検出通知が図6に示すようなフォーマットであれば、前述したように、ビット[32:47]には、リンク障害ではない場合には、'0x0000'が設定されている。
検出した障害が、リンク障害ではなく、通信先の部品を調査する必要がないと判定した場合には(ステップB3のno)、通信先の部品を調査することなく、BIOS61からの障害検出通知のみに基づいて、故障の被疑部位を指摘して処置するために、直ちにステップB7に移行し、ステップB2にて障害表から抽出した故障の被疑割合に応じて、故障の部品を決定して、決定した故障部品を指摘するとともに、当該故障部品に対する処置を実施する(ステップB7)。
つまり、受信した障害検出通知に含まれているエラーコードが'0x0000_1001'であった場合には、ステップB2の解析結果として、CPU11が障害被疑部品の被疑割合が100%になっているので、CPU11が故障の部品であると判定して、当該CPU11を、情報処理装置の運用系から切り離して、情報処理装置を再起動する。この結果、故障のCPU11のBIOS61は、情報処理装置の立ち上げ中に動作することがなくなるので、BIOS61が故障をさらに検出してしまうことがなくなり、立ち上げ動作を順調に進めることができるようになる。
(本実施形態の効果の説明)
以上に詳細に説明したように、本実施形態においては次のような効果が得られる。
従来の技術においては、情報処理装置の立ち上げ中に、CPU11のBIOS61が、インターフェース回路5に関するリンク障害を検出した場合、CPU12との通信が断絶状態に陥るため、CPU11側の情報のみに基づいて、障害部位の解析を行わなければならなかった。
これに対して、本実施形態においては、リンク障害を検出したCPU11のBIOS61が、BMC3に対して障害検出通知を行う際に、障害の被疑部品の解析結果を示すエラーコードを通知する他に、通信先のCPU12の状態の調査を依頼することにより、該調査依頼を受け取ったBMC3は、通信先のCPU12にアクセスして、CPU11のBIOS61からはアクセスすることができなかった通信先のCPU12の状態を解析することができるので、故障の被疑部品の判定結果に関する信頼度をより向上させることができる。
また、本実施形態においては、障害検出元のCPU11のBIOS61が自部品のCPU11の状態を解析した結果とBMC3が通知先の部品のCPU12の状態を解析した結果との双方を参照して適宜マージすることができるので、従来の技術よりも、高い信頼度で、故障の部位を指摘することができる。而して、検出した障害に関して、より詳細な被疑部位の指摘を行うことも可能となり、故障指摘精度を向上させることができる。
つまり、本実施形態の効果を纏めると、次の通りである。
第1の効果は、情報処理装置の立ち上げ中に、CPU11上で動作するBIOS61が検出したインターフェース回路5に関するリンク障害についても、精度良く故障の被疑部位を指摘することができることにある。その理由は、BIOS61から障害検出通知を受信したBMC3が、BIOS61が解析した障害被疑部品の情報のみならず、リンク障害が発生したインターフェース回路5の通信先の部品(例えばCPU12)に直接アクセスして取得した通信先の部品の状態の解析結果から得られる障害被疑部品の情報をも用いて、故障部位の解析を行うことができるためである。
第2の効果は、情報処理装置の立ち上げ中にBIOS61からはアクセスすることができない部品(例えばCPU12)の状態を把握することができることにある。その理由は、BIOS61が、BMC3に対して、調査依頼として、アクセスしたい部品(例えばCPU12)を通知するコードを障害検出通知に含めて送信し、該障害検出通知を受け取ったBMC3により、調査依頼があった部品(例えばCPU12)に直接アクセスする仕組みを備えているためである。
第3の効果は、情報処理装置の立ち上げ時間を短縮することができることにある。その理由は、情報処理装置の立ち上げ時に、インターフェース回路に関するリンク障害が検出された場合であっても、BMC3において精度良く故障の被疑部位の指摘を行うことができるので、同じ障害に対して、切り離し処理とリブート動作とが繰り返されることを防止することができるためである。
(本発明の他の実施形態)
次に、本発明による情報処理装置の構成として、図1に示した前述の実施形態とは異なる他の構成例について、図8を用いて説明する。図8は、本発明による情報処理装置のブロック構成の図1とは異なる他の例を示すブロック構成図である。図8に示す情報処理装置は、図1の場合とは異なり、情報処理装置を構成する部品として、CPU11,12の2個のみではなく、複数個(図8の場合は4個)のCPUと、複数個(図8の場合は2個)のIO Hub(IO機器の接続用制御装置)と、複数個(図8の場合は2個)のNC(Network Controller)とから構成され、各部品が、ベースボード管理コントローラBMCにそれぞれのインターフェース回路を介して接続され、ベースボード管理コントローラBMCが、各部品それぞれに備えているステータスレジスタに直接アクセスすることができる構成例を示している。
つまり、図8に示す情報処理装置においては、CPU11とCPU12とはインターフェース回路51で接続されており、かつ、CPU11,12それぞれは、インターフェース回路221,222で同一のIO Hub201と接続され、かつ、インターフェース回路231,232で同一のNC211と接続されている。同様に、CPU13とCPU14とはインターフェース回路52で接続されており、かつ、CPU13,14それぞれは、インターフェース回路223,224で同一のIO Hub202と接続され、かつ、インターフェース回路233,234で同一のNC212と接続されている。
また、IO Hub201とNC211とはインターフェース回路53で接続され、IO Hub202とNC212とはインターフェース回路54で接続されており、NC211とNC212とはインターフェース回路55で接続されている。
また、CPU11,12,13,14の各部品には、BIOS61,62,63,64がそれぞれ内蔵されている。さらに、CPU11,12,13,14、IO Hub201,202、NC211,212の各部品には、ステータスレジスタ21,22,23,24,25,26,27,28がそれぞれ備えられている。また、CPU11,12,13,14、IO Hub201,202、NC211,212の各部品は、それぞれ、インターフェース回路41,42,43,44,45,46,47,48でBMC3に接続されている。
図8のごとき構成の情報処理装置において、例えば、CPU11上で動作するBIOS61は、情報処理装置の立ち上げ中に、インターフェース回路51〜55,221〜224,231〜234のリンクアップを行う。ここで、図8のごとき構成であっても、インターフェース回路51〜55,221〜224,231〜234のいずれかのリンクアップ中にインターフェース障害が発生した場合、該インターフェース障害に対して、前述した実施形態の場合と全く同様の障害処理を行うことによって、障害被疑部品の決定と最終的な被疑割合の決定とを行い、故障部位の特定を精度良く行うことができる。
なお、本発明に係る情報処理装置は、図1のCPU11,12の2個の部品から情報処理装置が構成される場合や、図8のCPU11,12,13,14、IO Hub201,202、NC211,212の8個の部品から情報処理装置が構成される場合に限るものではなく、所望の任意の個数の部品からなる情報処理装置を対象とすることができる。
さらに、情報処理装置の構成についても、CPU11,12,13,14、IO Hub201,202、NC211,212等の各部品がBMC3と接続するためのインターフェース回路を有し、各部品に内蔵のBIOS61,62,63,64,65,66,67,68がBMC3に内蔵のBMCFW7と連携して、各部品から前述の実施形態にて説明したような障害検出通知をBMC3に送信することが可能な構成であれば、図1の構成や図8の構成に限るものではない。
また、以上の実施形態の説明においては、CPU11上で動作するBIOS61が情報処理装置の立ち上げを行う例を示したが、他のCPU上で動作するBIOSを用いて情報処理装置の立ち上げを行わせることも可能である。
以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
3 BMC
5 インターフェース回路
7 BMCFW
11 CPU
12 CPU
13 CPU
14 CPU
21 ステータスレジスタ
22 ステータスレジスタ
23 ステータスレジスタ
24 ステータスレジスタ
25 ステータスレジスタ
26 ステータスレジスタ
27 ステータスレジスタ
28 ステータスレジスタ
41 インターフェース回路
42 インターフェース回路
43 インターフェース回路
44 インターフェース回路
45 インターフェース回路
46 インターフェース回路
47 インターフェース回路
48 インターフェース回路
51 インターフェース回路
52 インターフェース回路
53 インターフェース回路
54 インターフェース回路
55 インターフェース回路
61 BIOS
62 BIOS
63 BIOS
64 BIOS
81 エラーコード
82 処理対象部品
83 リンク障害
84 故障被疑部品
91 Bit欄
92 説明欄
93 内容欄
101 エラーコード
102 被疑部品1
103 被疑部品2
104 被疑割合1
105 被疑割合2
111 Bit欄
112 説明欄
113 内容欄
121 Bit欄
122 説明欄
123 内容欄
201 IO Hub
202 IO Hub
211 NC
212 NC
221 インターフェース回路
222 インターフェース回路
223 インターフェース回路
224 インターフェース回路
231 インターフェース回路
232 インターフェース回路
233 インターフェース回路
234 インターフェース回路

Claims (9)

  1. インターフェース回路を介してプロセッサ間を接続した複数のプロセッサからなるマルチプロセッサ構成を有し、それぞれのプロセッサを接続し、接続したそれぞれのプロセッサの管理・監視を実行するベースボード管理コントローラ(BMC:Baseboard Management Controller)を備える情報処理装置であって、前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW:BMC Firmware)は、それぞれのプロセッサ上で動作するベーシック入出力システム(BIOS:Basic Input/Output System)と連携することにより、故障部位を判別して、故障部位を運用系から切り離す障害処理機能を有し、かつ、前記ベーシック入出力システム(BIOS)は、装置の立ち上げ動作を実行中に障害を検出した場合、当該ベーシック入出力システム(BIOS)が動作するプロセッサ内に備えているステータスレジスタが保持する動作状態を解析した結果として得られるエラーコードと、検出した障害が前記インターフェース回路に関するリンク障害と判定した場合には当該インターフェース回路の通信先になる相手側のプロセッサの状態の解析を要求する通信先プロセッサ調査依頼とからなる障害検出通知を、前記ベースボード管理コントローラ(BMC)に送信し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、前記インターフェース回路を介して接続されているプロセッサに関して、前記障害検出通知に含まれている前記エラーコードに基づき、障害被疑部位の可能性を示す割合を第1の被疑割合として決定するとともに、前記障害検出通知に前記通信先プロセッサ調査依頼が含まれていた場合には、障害が検出された前記インターフェース回路の通信先の相手側のプロセッサ内に備えているステータスレジスタが保持する動作状態を読み取って解析した結果に基づいて障害被疑部位の障害の可能性を示す割合を第2の被疑割合として決定し、決定した前記第1の被疑割合と前記第2の被疑割合とをあらかじめ定めた規則にしたがってマージして最終的な被疑割合を求めることにより、該最終的な被疑割合が最も高い部位を故障部位と判別して、該故障部位を運用系から切り離すことを特徴とする情報処理装置。
  2. 障害を検出したベーシック入出力システム(BIOS)は、検出した障害が前記インターフェース回路に関するリンク障害と判定した場合、前記障害検出通知に含まれる前記通信先プロセッサ調査依頼に、該リンク障害が検出された前記インターフェース回路の通信先の相手側のプロセッサを特定する部品コードを設定し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、前記障害検出通知に含まれる前記部品コードによって特定される通信先の相手側のプロセッサのステータスレジスタが保持する動作状態を読み取り、前記第2の被疑割合を決定することにより、前記第1、第2の被疑割合に基づいて前記故障部位を判別する動作を行い、一方、障害を検出したベーシック入出力システム(BIOS)は、検出した障害が前記インターフェース回路に関するリンク障害ではなく、当該ベーシック入出力システム(BIOS)が動作するプロセッサ内の障害と判定した場合、前記障害検出通知に含まれる前記通信先プロセッサ調査依頼に、プロセッサを特定する部品コードとは異なるコードを設定し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、通信先の相手側のプロセッサの調査要求がないものとして、通信先の相手側のプロセッサのステータスレジスタの読み取り動作を実施することなく、前記第1の被疑割合のみを用いて、前記故障部位を判別する動作を行うことを特徴とする請求項1に記載の情報処理装置。
  3. 障害を検出したベーシック入出力システム(BIOS)は、検出した障害が前記インターフェース回路に関するリンク障害と判定した場合、前記障害検出通知に含まれる前記通信先プロセッサ調査依頼に、調査依頼を示す識別子を設定し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、あらかじめ備えている通信先一覧表を参照することによって特定した通信先の相手側のプロセッサのステータスレジスタが保持する動作状態を読み取り、前記第2の被疑割合を決定することにより、前記第1、第2の被疑割合に基づいて前記故障部位を判別する動作を行い、一方、障害を検出したベーシック入出力システム(BIOS)は、検出した障害が前記インターフェース回路に関するリンク障害ではなく、当該ベーシック入出力システム(BIOS)が動作するプロセッサ内の障害と判定した場合、前記障害検出通知に含まれる前記通信先プロセッサ調査依頼に、調査不要を示す識別子を設定し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、通信先の相手側のプロセッサの調査要求がないものとして、通信先の相手側のプロセッサのステータスレジスタの読み取り動作を実施することなく、前記第1の被疑割合のみを用いて、前記故障部位を判別する動作を行うことを特徴とする請求項1に記載の情報処理装置。
  4. 前記第1の被疑割合と前記第2の被疑割合とをマージするための前記規則として、前記第1の被疑割合と前記第2の被疑割合との単純平均を求めるか、あるいは、前記第2の被疑割合にあらかじめ定めた適当な重みを付した加重平均を求めるかのいずれかの規則を用いることを特徴とする請求項1ないし3のいずれかに記載の情報処理装置。
  5. インターフェース回路を介してプロセッサ間を接続した複数のプロセッサからなるマルチプロセッサ構成の情報処理装置において故障部位を判別する故障部位判別方法であって、それぞれのプロセッサを接続し、接続したそれぞれのプロセッサの管理・監視を実行するベースボード管理コントローラ(BMC:Baseboard Management Controller)を備え、前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW:BMC Firmware)は、それぞれのプロセッサ上で動作するベーシック入出力システム(BIOS:Basic Input/Output System)と連携することにより、故障部位を判別して、故障部位を運用系から切り離す障害処理機能を有し、かつ、前記ベーシック入出力システム(BIOS)は、装置の立ち上げ動作を実行中に障害を検出した場合、当該ベーシック入出力システム(BIOS)が動作するプロセッサ内に備えているステータスレジスタが保持する動作状態を解析した結果として得られるエラーコードと、検出した障害が前記インターフェース回路に関するリンク障害と判定した場合には当該インターフェース回路の通信先になる相手側のプロセッサの状態の解析を要求する通信先プロセッサ調査依頼とからなる障害検出通知を、前記ベースボード管理コントローラ(BMC)に送信し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、前記インターフェース回路を介して接続されているプロセッサに関して、前記障害検出通知に含まれている前記エラーコードに基づき、障害被疑部位の可能性を示す割合を第1の被疑割合として決定するとともに、前記障害検出通知に前記通信先プロセッサ調査依頼が含まれていた場合には、障害が検出された前記インターフェース回路の通信先の相手側のプロセッサ内に備えているステータスレジスタが保持する動作状態を読み取って解析した結果に基づいて障害被疑部位の障害の可能性を示す割合を第2の被疑割合として決定し、決定した前記第1の被疑割合と前記第2の被疑割合とをあらかじめ定めた規則にしたがってマージして最終的な被疑割合を求めることにより、該最終的な被疑割合が最も高い部位を故障部位と判別して、該故障部位を運用系から切り離すことを特徴とする故障部位判別方法。
  6. 障害を検出したベーシック入出力システム(BIOS)は、検出した障害が前記インターフェース回路に関するリンク障害と判定した場合、前記障害検出通知に含まれる前記通信先プロセッサ調査依頼に、該リンク障害が検出された前記インターフェース回路の通信先の相手側のプロセッサを特定する部品コードを設定し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、前記障害検出通知に含まれる前記部品コードによって特定される通信先の相手側のプロセッサのステータスレジスタが保持する動作状態を読み取り、前記第2の被疑割合を決定することにより、前記第1、第2の被疑割合に基づいて前記故障部位を判別する動作を行い、一方、障害を検出したベーシック入出力システム(BIOS)は、検出した障害が前記インターフェース回路に関するリンク障害ではなく、当該ベーシック入出力システム(BIOS)が動作するプロセッサ内の障害と判定した場合、前記障害検出通知に含まれる前記通信先プロセッサ調査依頼に、プロセッサを特定する部品コードとは異なるコードを設定し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、通信先の相手側のプロセッサの調査要求がないものとして、通信先の相手側のプロセッサのステータスレジスタの読み取り動作を実施することなく、前記第1の被疑割合のみを用いて、前記故障部位を判別する動作を行うことを特徴とする請求項5に記載の故障部位判別方法。
  7. 障害を検出したベーシック入出力システム(BIOS)は、検出した障害が前記インターフェース回路に関するリンク障害と判定した場合、前記障害検出通知に含まれる前記通信先プロセッサ調査依頼に、調査依頼を示す識別子を設定し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、あらかじめ備えている通信先一覧表を参照することによって特定した通信先の相手側のプロセッサのステータスレジスタが保持する動作状態を読み取り、前記第2の被疑割合を決定することにより、前記第1、第2の被疑割合に基づいて前記故障部位を判別する動作を行い、一方、障害を検出したベーシック入出力システム(BIOS)は、検出した障害が前記インターフェース回路に関するリンク障害ではなく、当該ベーシック入出力システム(BIOS)が動作するプロセッサ内の障害と判定した場合、前記障害検出通知に含まれる前記通信先プロセッサ調査依頼に、調査不要を示す識別子を設定し、前記障害検出通知を受け取った前記ベースボード管理コントローラ(BMC)上で動作するファームウェア(BMCFW)は、通信先の相手側のプロセッサの調査要求がないものとして、通信先の相手側のプロセッサのステータスレジスタの読み取り動作を実施することなく、前記第1の被疑割合のみを用いて、前記故障部位を判別する動作を行うことを特徴とする請求項5に記載の故障部位判別方法。
  8. 前記第1の被疑割合と前記第2の被疑割合とをマージするための前記規則として、前記第1の被疑割合と前記第2の被疑割合との単純平均を求めるか、あるいは、前記第2の被疑割合にあらかじめ定めた適当な重みを付した加重平均を求めるかのいずれかの規則を用いることを特徴とする請求項5ないし7のいずれかに記載の故障部位判別方法。
  9. 請求項5ないし8のいずれかに記載の故障部位判別方法を、コンピュータによって実行可能なプログラムとして実施していることを特徴とする故障部位判別プログラム。
JP2010226577A 2010-10-06 2010-10-06 情報処理装置、故障部位判別方法および故障部位判別プログラム Expired - Fee Related JP5541519B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010226577A JP5541519B2 (ja) 2010-10-06 2010-10-06 情報処理装置、故障部位判別方法および故障部位判別プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010226577A JP5541519B2 (ja) 2010-10-06 2010-10-06 情報処理装置、故障部位判別方法および故障部位判別プログラム

Publications (2)

Publication Number Publication Date
JP2012079266A JP2012079266A (ja) 2012-04-19
JP5541519B2 true JP5541519B2 (ja) 2014-07-09

Family

ID=46239386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010226577A Expired - Fee Related JP5541519B2 (ja) 2010-10-06 2010-10-06 情報処理装置、故障部位判別方法および故障部位判別プログラム

Country Status (1)

Country Link
JP (1) JP5541519B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK3121726T3 (en) * 2014-06-24 2018-05-22 Huawei Tech Co Ltd PROCEDURE FOR TROUBLESHOOTING, RELATED DEVICE AND COMPUTER
CN104391765A (zh) * 2014-10-27 2015-03-04 浪潮电子信息产业股份有限公司 一种自动诊断服务器启动故障的方法
CN109240863A (zh) * 2018-08-30 2019-01-18 郑州云海信息技术有限公司 一种cpu故障定位方法、装置、设备及存储介质
JP6996602B1 (ja) 2020-09-23 2022-01-17 日本電気株式会社 Bmc、サーバシステム、装置安定度判定方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887341A (ja) * 1994-09-16 1996-04-02 Fujitsu Ltd 自動縮退立ち上げ機能を有したコンピュータシステム
JP3365282B2 (ja) * 1997-11-14 2003-01-08 日本電気株式会社 クラスタ接続マルチcpuシステムのcpuデグレード方式
JP2008146222A (ja) * 2006-12-07 2008-06-26 Mitsubishi Electric Corp 計算機故障検出システムおよび計算機故障検出方法

Also Published As

Publication number Publication date
JP2012079266A (ja) 2012-04-19

Similar Documents

Publication Publication Date Title
US9256489B2 (en) Synchronized debug information generation
JP5541519B2 (ja) 情報処理装置、故障部位判別方法および故障部位判別プログラム
TW201423385A (zh) 電腦測試系統及方法
JP5425720B2 (ja) 仮想化環境監視装置とその監視方法およびプログラム
JP5152340B2 (ja) 制御回路、情報処理装置及び情報処理装置の制御方法
CN107783844A (zh) 一种计算机程序运行异常检测方法、装置和介质
US20080288828A1 (en) structures for interrupt management in a processing environment
JP2011113122A (ja) 障害影響分析装置及び業務システム及び障害影響分析方法
US8032791B2 (en) Diagnosis of and response to failure at reset in a data processing system
JP2011145824A (ja) 情報処理装置、障害解析方法及び障害解析プログラム
US20080216057A1 (en) Recording medium storing monitoring program, monitoring method, and monitoring system
CN112069032A (zh) 一种虚拟机的可用性检测方法、系统及相关装置
US10437704B2 (en) Identifying back-end components based on stack traces
JP2004110801A (ja) 再初期化したチャネル間接続の妥当性を検査するための技法
JP5440673B1 (ja) プログラマブルロジックデバイス、情報処理装置、被疑箇所指摘方法およびプログラム
US9176806B2 (en) Computer and memory inspection method
EP3660678A1 (en) Canary release for static content
CN113553243A (zh) 远端侦错方法
JP6112205B2 (ja) 情報処理システム、装置、方法及びプログラム
JP5978804B2 (ja) システムを管理するためのプログラム、方法及び情報処理装置
US20060230196A1 (en) Monitoring system and method using system management interrupt
JP7367495B2 (ja) 情報処理装置および通信ケーブルログ情報採取方法
JP2013196410A (ja) サーバ装置及び障害管理方法及び障害管理プログラム
JP5561790B2 (ja) ハードウェア障害被疑特定装置、ハードウェア障害被疑特定方法、及びプログラム
CN116701055A (zh) 一种服务器的故障隔离方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140326

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: 20140408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140423

R150 Certificate of patent or registration of utility model

Ref document number: 5541519

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees