(57)【要約】【課題】ＩＯカードの故障発生時において、中央処理装置に故障が伝播することなく、故障個所を正確に特定することが可能な障害処理方法を提供する。【解決手段】障害処理を管理するマネジメントモジュールであるサーバ管理部１０内の制御ファームウェアの一つである障害処理プログラムによって、検出した障害に関する障害処理を行う情報処理装置１として、ハードウェア論理で動作する障害処理制御部１１を備え、該障害処理制御部１１は、例えばＩＯカード４の障害を検出した際に、直ちに、中央処理装置２からＩＯカード４へ送信されるトランザクションのルーティングをルーティング設定機構１３によって無効にして該トランザクションの送信動作を抑止するとともに、サーバ管理部１０に対して障害処理抑止信号３４を送信することにより、サーバ管理部１０内の前記障害処理プログラムによる障害処理の実行を抑止する。【選択図】        図１
2013205857.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置の障害処理を管理するマネジメントモジュール内の制御ファームウェアの一つである障害処理プログラムによって、検出した障害に関する障害処理を行う障害処理方法であって、ＩＯカードの障害を検出した際に、ハードウェア論理で動作する障害処理制御部にて、中央処理装置から当該ＩＯカードへ送信されるトランザクションのルーティングを無効にして該トランザクションの送信動作を抑止するとともに、前記マネジメントモジュール内の前記障害処理プログラムによる障害処理の実行を抑止することを特徴とする障害処理方法。
【請求項２】
前記障害処理制御部は、前記中央処理装置から前記ＩＯカードへのトランザクションの送信動作の抑止と、前記障害処理プログラムによる障害処理の実行の抑止とがなされた状態において、障害が発生した前記ＩＯカード内の情報をログとして読み出して、ログ格納記憶部に保存した後に、前記障害処理プログラムによる障害処理の実行の抑止を解除することを特徴とする請求項１に記載の障害処理方法。
【請求項３】
前記障害処理プログラムは、障害処理の実行の抑止が解除されると、前記ログ格納記憶部に保存されている前記ＩＯカードのログを少なくとも取得して、取得した前記ログを用いて、障害箇所を特定することを特徴とする請求項２に記載の障害処理方法。
【請求項４】
前記障害処理制御部は、前記中央処理装置から前記ＩＯカードへのトランザクションの送信動作を抑止した際に、当該トランザクションをマスタアボートにして送信元の前記中央処理装置へ返信することを特徴とする請求項１ないし３のいずれかに記載の障害処理方法。
【請求項５】
障害処理を管理するマネジメントモジュール内の制御ファームウェアの一つである障害処理プログラムによって、検出した障害に関する障害処理を行う情報処理装置において、ハードウェア論理で動作する障害処理制御部を備え、該障害処理制御部は、ＩＯカードの障害を検出した際に、中央処理装置から当該ＩＯカードへ送信されるトランザクションのルーティングを無効にして該トランザクションの送信動作を抑止するとともに、前記マネジメントモジュール内の前記障害処理プログラムによる障害処理の実行を抑止することを特徴とする情報処理装置。
【請求項６】
前記障害処理制御部は、前記中央処理装置から前記ＩＯカードへのトランザクションの送信動作の抑止と、前記障害処理プログラムによる障害処理の実行の抑止とがなされた状態において、障害が発生した前記ＩＯカード内の情報をログとして読み出して、ログ格納記憶部に保存した後に、前記障害処理プログラムによる障害処理の実行の抑止を解除することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記障害処理プログラムは、障害処理の実行の抑止が解除されると、前記ログ格納記憶部に保存されている前記ＩＯカードのログを少なくとも取得して、取得した前記ログを用いて、障害箇所を特定することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記障害処理制御部は、前記中央処理装置からの前記ＩＯカードへのトランザクションの送信動作を抑止した際に、当該トランザクションをマスタアボートにして送信元の前記中央処理装置へ返信することを特徴とする請求項５ないし７のいずれかに記載の情報処理装置。
【請求項９】
情報処理装置の障害処理を管理するマネジメントモジュール内の制御ファームウェアとして、検出した障害に関する障害処理を行うプログラムが、請求項５ないし８のいずれかに記載の障害処理方法における障害処理プログラムを用いて構成されていることを特徴とする障害処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害処理方法、情報処理装置および障害処理プログラムに関し、特に、サーバシステムにおける障害の処理に有効に適用することができる。また、サーバシステムに限らず、汎用のＩＯカードを搭載する情報処理装置であれば、如何なる情報処理装置についても適用することが可能である。
【背景技術】
【０００２】
昨今、情報処理装置は、複数のＩＯデバイス、例えば、ＰＣＩ  Expressカードを備え、ＰＣＩ  Expressカードを制御する中央処理装置についても複数備えていることが多い。そのＰＣＩ  Expressカードと中央処理装置との間の通信は、高速化されており、このため、ＰＣＩ  Expressカードにおいて発生した障害が中央処理装置へただちに伝播し、中央処理装置においても障害を検出するといった場合があり、最初に発生した故障デバイスを特定することが難しいという課題がある。
【０００３】
また、ＰＣＩ  Expressカードが故障した場合、システムを継続動作させるためには、ＰＣＩ  Expressカードへ接続されるパスを閉塞させることが必要であるが、パスが閉塞されてしまうと、ＰＣＩ  Expressカード内部に保存されているログを採取することができず、ＰＣＩ  Expressカード内部の故障部品を特定することが難しいという課題もある。
【０００４】
以上のような課題を解決するために、従来から様々な提案がなされている。例えば、特許文献１の特開２０１０−０８６０９９号公報「ログ管理方法、ログ管理装置、ログ管理装置を備えた情報処理装置およびプログラム」においては、監視対象間の依存関係に着目して、監視対象別に分類したログを対応付けて出力することによって、ログの解析性を向上させる技術を提案している。しかし、障害の伝播については抑止することができていないため、伝播により複数の箇所で障害を検出した場合に故障部位を誤って指摘するという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０８６０９９号公報（第５−７頁）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上のように、従来の障害処理技術の課題は、ＰＣＩ  Expressカード等のＩＯカードが故障した場合に、中央処理装置にも故障が伝播してしまい、かつ、ログ情報を適切に採取することができなく、故障個所を正確に特定することができないという点にある。
【０００７】
（本発明の目的）
本発明は、かかる課題に鑑みてなされたものであり、ＩＯカードの故障発生時において、中央処理装置に故障が伝播することなく、故障個所を正確に特定することが可能な障害処理方法、情報処理装置および障害処理プログラムを提供することを、その目的としている。
【課題を解決するための手段】
【０００８】
前述の課題を解決するため、本発明による障害処理方法、情報処理装置および障害処理プログラムは、主に、次のような特徴的な構成を採用している。
【０００９】
（１）本発明による障害処理方法は、情報処理装置の障害処理を管理するマネジメントモジュール内の制御ファームウェアの一つである障害処理プログラムによって、検出した障害に関する障害処理を行う障害処理方法であって、ＩＯカードの障害を検出した際に、ハードウェア論理で動作する障害処理制御部にて、中央処理装置から当該ＩＯカードへ送信されるトランザクションのルーティングを無効にして該トランザクションの送信動作を抑止するとともに、前記マネジメントモジュール内の前記障害処理プログラムによる障害処理の実行を抑止することを特徴とする。
【００１０】
（２）本発明による情報処理装置は、障害処理を管理するマネジメントモジュール内の制御ファームウェアの一つである障害処理プログラムによって、検出した障害に関する障害処理を行う情報処理装置において、ハードウェア論理で動作する障害処理制御部を備え、該障害処理制御部は、ＩＯカードの障害を検出した際に、中央処理装置から当該ＩＯカードへ送信されるトランザクションのルーティングを無効にして該トランザクションの送信動作を抑止するとともに、前記マネジメントモジュール内の前記障害処理プログラムによる障害処理の実行を抑止することを特徴とする。
【００１１】
（３）本発明による障害処理プログラムは、情報処理装置の障害処理を管理するマネジメントモジュール内の制御ファームウェアとして、検出した障害に関する障害処理を行うプログラムが、少なくとも前記（１）に記載の障害処理方法における障害処理プログラムを用いて構成されていることを特徴とする。
【発明の効果】
【００１２】
本発明の障害処理方法、障害処理回路および障害処理プログラムによれば、以下のような効果を奏することができる。
【００１３】
第１の効果は、ハードウェア論理で動作する障害処理制御部を設けて、障害検出時に、制御ファームウェアの一つである障害処理プログラムが障害処理を実施する前に、ハードウェア論理により、障害が発生したＩＯカードへ送信されるトランザクションのルーティングを無効にして該トランザクションの送信動作を抑止することにより、ＩＯカードの障害が中央処理装置へ伝播することを抑止することができるので、障害検出箇所を容易に絞り込むことができ、故障デバイスの特定を正確に行うことができる。
【００１４】
第２の効果は、障害が発生したＩＯカードへのパスを閉塞する前に、障害処理制御部がハードウェア的にＩＯカードのログを採取して記憶しておくことによって、障害が発生したＩＯカード内部の故障部位の特定を正確かつ容易に行うことができる。
【００１５】
第３の効果は、障害が発生したＩＯカードへのトランザクションをマスタアボートにして送信元の中央処理装置へ返信することにより、当該トランザクションを発行したアプリケーションは異常終了になるものの、情報処理装置が対象としているシステム全体の動作を停止させることはなく、システムとしては継続した運用が可能である。
【図面の簡単な説明】
【００１６】
【図１】本発明による情報処理装置のブロック構成の一例を示すブロック構成図である。
【図２】図１に示す情報処理装置の動作の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明による障害処理方法、情報処理装置および障害処理プログラムの好適な実施形態について添付図を参照して説明する。なお、以下の説明においては、本発明による障害処理方法および情報処理装置について説明するが、かかる障害処理方法に記載した制御ファームウェアの一つである障害処理プログラムを用いて、本発明を実施するようにしても良いし、あるいは、該障害処理プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにしても良いことは言うまでもない。
【００１８】
（本発明の特徴）
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明は、情報処理装置に搭載されたＩＯカード例えばＰＣＩ  Expressカードにおいて発生する訂正可能障害や訂正不可能障害を情報処理装置に組み込まれた制御ファームウェアの一つである障害処理プログラムが検出し、その制御ファームウェア（すなわち障害処理プログラム）がログの採取や故障部位の特定といった障害処理を実行する機能を備えている構成に関するものである。すなわち、本発明は、情報処理装置にハードウェア論理で動作する障害処理制御部を設け、該障害処理制御部により、障害検出信号を常時監視し、障害検出信号を検出すると、制御ファームウェア（すなわち障害処理プログラム）が障害処理を実施する前に、障害が発生したＰＣＩ  Expressカードへ送信されるトランザクションのルーティングを管理することによって、障害の伝播を抑止し、かつ、障害が発生したＰＣＩ  Expressカードからログとして障害情報の読み出しを行うことによって、ログ解析性を向上させ、故障被疑部位の特定確率を高めることを可能にしていることを主要な特徴とする。
【００１９】
より具体的には、情報処理装置にハードウェア的に動作する障害処理制御部を備え、該障害処理制御部内の障害監視機構は、ＩＯ制御部からマネジメントモジュールのサーバ管理部へ送信される障害検出信号を常時監視し、障害検出信号が送信されたことを検出すると、直ちに、制御ファームウェア（すなわち障害処理プログラム）の障害処理の実行を抑止し、かつ、障害処理制御部内のルーティング設定機構が、ＩＯ制御部のルーティング制御レジスタの値を書き換えて、障害元へアクセスされるトランザクションをルーティング不可としてマスタアボートさせることにより、中央処理装置への障害の伝播を防ぐとともに、障害処理制御部内のログ採取機構が、障害元のＩＯデバイスから内部情報をログとして読み出し、障害処理制御部内のログ格納記憶部へ書き込みを行う仕組みを備えている。
【００２０】
而して、その後、障害処理の実行が許可されると、マネジメントモジュールのサーバ管理部に組み込まれた制御ファームウェア（すなわち障害処理プログラム）が、障害処理制御部内のログ格納記憶部のログの読み出しを行うことによって、障害元のログ採取が可能になり、採取したログを解析することによって、故障被疑部位の特定確率を向上させることができる。
【００２１】
（実施形態の構成例）
次に、本発明による情報処理装置の実施形態の構成例について、図１を用いて説明する。図１は、本発明による情報処理装置のブロック構成の一例を示すブロック構成図である。
【００２２】
図１に示す情報処理装置１は、中央処理装置２および中央処理装置３と、ＩＯ制御部４およびＩＯ制御部５と、ＩＯカード６、ＩＯカード７、ＩＯカード８およびＩＯカード９と、マネジメントモジュールとなるサーバ管理部１０と、ハードウェア論理で動作する障害処理制御部１１と、を少なくとも含んで構成されている。すなわち、図１に示す情報処理装置１は、２台の中央処理装置２，３と、２台のＩＯ制御部４，５と、４台のＩＯカード６，７，８，９を備えるとともに、障害監視や電源制御などの処理を司るマネジメントモジュールすなわちサーバ管理部１０と障害処理に関する動作をハードウェア論理によって制御するための障害処理制御部１１とを少なくとも備えている。
【００２３】
ここで、障害処理制御部１１は、障害監視機構１２と、ルーティング設定機構１３と、ログ採取機構１４と、ログ格納記憶部１５と、を少なくとも含んで構成される。また、ＩＯ制御部４およびＩＯ制御部５は、いずれも、ルーティング制御レジスタ１６と、コンフィグアクセスレジスタ１７と、を少なくとも含んで構成される。
【００２４】
また、中央処理装置２と中央処理装置３とは、パス１８によって相互に接続され、中央処理装置２とＩＯ制御部４とは、パス１９によって相互に接続され、中央処理装置３とＩＯ制御部５とは、パス２０によって相互に接続される。また、ＩＯ制御部４とＩＯカード６とは、パス２１によって相互に接続され、ＩＯ制御部４とＩＯカード７とは、パス２２によって相互に接続され、ＩＯ制御部５とＩＯカード８とは、パス２３によって相互に接続され、ＩＯ制御部５とＩＯカード９とは、パス２４によって相互に接続される。
【００２５】
また、中央処理装置２とサーバ管理部１０とは、パス２５によって相互に接続され、中央処理装置３とサーバ管理部１０とは、パス２６によって相互に接続され、ＩＯ制御部４とサーバ管理部１０とは、パス２７によって相互に接続され、ＩＯ制御部５とサーバ管理部１０とは、パス２８によって相互に接続される。
【００２６】
さらに、中央処理装置２は、障害検出信号２９をサーバ管理部１０へ送信し、中央処理装置３は、障害検出信号３０をサーバ管理部１０へ送信し、ＩＯ制御部４は、障害検出信号３１をサーバ管理部１０へ送信し、ＩＯ制御部５は、障害検出信号３２をサーバ管理部１０へ送信する。なお、障害検出信号３１と障害検出信号３２とは、障害処理制御部１１内の障害監視機構１２に対しても送信される。
【００２７】
ＩＯ制御部４とサーバ管理部１０とを接続するパス２７は、ＩＯ制御部４内のルーティング制御レジスタ１６およびコンフィグアクセスレジスタ１７と、障害処理制御部１１内のルーティング設定機構１３、ログ採取機構１４およびログ格納記憶部１５とも接続される。ＩＯ制御部５とサーバ管理部１０とを接続するパス２８は、ＩＯ制御部５内のルーティング制御レジスタ１６およびコンフィグアクセスレジスタ１７と、障害処理制御部１１内のルーティング設定機構１３、ログ採取機構１４およびログ格納記憶部１５とも接続される。
【００２８】
また、障害処理制御部１１内のログ採取機構１４は、ＩＯカード６〜９のうち障害が発生したＩＯカードの内部情報をログとして読み取って、ログ格納記憶部１５へ書き込み指示３３を行う。障害処理制御部１１は、サーバ管理部１０に対して、制御ファームウェア（すなわち障害処理プログラム）の障害処理の実行を抑止する障害処理抑止信号３４を送信する。
【００２９】
なお、情報処理装置１は、サーバ、汎用コンピュータ、パーソナルコンピュータなどの装置が適用される。また、中央処理装置２および中央処理装置３は、一般に、ＣＰＵ（Central  Processing  Unit）などと称され、パス１８、パス１９、パス２０といった高速インタフェースを用いて、中央処理装置２と中央処理装置３との間、中央処理装置２とＩＯ制御部４との間、中央処理装置３とＩＯ制御部５との間でトランザクションの送受信を行う。
【００３０】
また、ＩＯ制御部４およびＩＯ制御部５は、中央処理装置２および中央処理装置３からＩＯカード６、ＩＯカード７、ＩＯカード８およびＩＯカード９それぞれへのトランザクションをルーティングする機能を有するＬＳＩ（Large  Scale  Integrated  Circuit）である。ここで、ルーティングとは、トランザクション内のパス番号、デバイス番号、ファンクション番号、レジスタ番号をデコードして、ルーティング制御レジスタに設定された値にしたがって、当該トランザクションの送信先を決定する機能である。例えば、トランザクションの行き先のパス番号が'１'のときは、ＩＯカード６へルーティングし、トランザクションの行き先のパス番号が'２'のときは、ＩＯカード７へルーティングする。
【００３１】
ルーティング制御レジスタ１６は、有効か無効かを示すフラグを備え、ルーティング制御レジスタ１６が無効である場合は、いずれのＩＯカードにもトランザクションがルーティングされず、トランザクションはマスタアボートされて、送信元の中央処理装置２または中央処理装置３へ返信される。本実施形態においては、ＩＯ制御部４は、ＩＯカード６もしくはＩＯカード７へのトランザクションをルーティングし、ＩＯ制御部５は、ＩＯカード８もしくはＩＯカード９へのトランザクションをルーティングする構成とされている。
【００３２】
また、ＩＯカード６、ＩＯカード７、ＩＯカード８およびＩＯカード９は、一般に、ＰＣＩ  ExpressカードやＰＣＩカードなどと称され、中央処理装置２および中央処理装置３からのトランザクションを受信するのみならず、中央処理装置２および中央処理装置３内部の主記憶へトランザクションを送信する。このため、ＩＯ制御部４およびＩＯ制御部５は、ＩＯカード６、ＩＯカード７、ＩＯカード８およびＩＯカード９が送信するトランザクションを行き先の主記憶へルーティングする機能も有している。
【００３３】
また、サーバ管理部１０は、一般に、マネジメントモジュールなどと称され、制御ファームウェアを組み込んだＬＳＩやフラッシュメモリなどから構成され、情報処理装置１の障害監視や電源制御などを行う。なお、本実施形態においては、障害処理についてのみ言及し、それ以外の機能についての説明はここでは割愛する。
【００３４】
また、障害処理制御部１１は、ハードウェア論理によって高速に動作することが可能であり、一般に、ＣＰＬＤ（Complex  Programmable  Logic  Device）やＦＰＧＡ(Field  Programmable  Gate  Array)などと称され、ハードウェア記述言語を用いてプログラミングが可能なデバイスからなる。
【００３５】
また、サーバ管理部１０と中央処理装置２、中央処理装置３、ＩＯ制御部４、ＩＯ制御部５および障害処理制御部１１とのそれぞれを結ぶパス２５、パス２６、パス２７およびパス２８は、一般に、Ｉ２Ｃ（Inter-Integrated Circuit）バスなどと称され、一般化されたＩ２Ｃプロトコルを用いてデータの送受信を行うバス接続（１対ｎ接続）が可能なインタフェースである。該Ｉ２Ｃプロトコルは、広く用いられている一般的なプロトコルであり、詳細な説明は割愛する。
【００３６】
また、ＩＯ制御部４またはＩＯ制御部５内のコンフィグアクセスレジスタ１７は、それぞれ、ＩＯカード６、ＩＯカード７またはＩＯカード８、ＩＯカード９内のデータ送受信を行うためのレジスタであり、コンフィグアクセスレジスタ１７へパス番号、デバイス番号、ファンクション番号、レジスタ番号を書き込むことによって、対応するＩＯカード６、ＩＯカード７またはＩＯカード８、ＩＯカード９へ読み出しトランザクションを発行し、読み出した結果をコンフィグアクセスレジスタ１７へ格納する。
【００３７】
また、障害処理制御部１１内のルーティング設定機構１３は、パス２７またはパス２８を通して、ＩＯ制御部４またはＩＯ制御部５内のルーティング制御レジスタ１６のフラグを無効に設定する。また、障害処理制御部１１内のログ採取機構１４は、パス２７またはパス２８を通して、ＩＯ制御部４またはＩＯ制御部５内のコンフィグアクセスレジスタ１７へパス番号、デバイス番号、ファンクション番号、レジスタ番号を書き込んだ後に、データ読み出しを行い、対応するＩＯカード６、ＩＯカード７またはＩＯカード８、ＩＯカード９の内部情報をログとして読み出す。そして、読み出したデータすなわちログを書き込み指示３３によりログ格納記憶部１５へ書き込む。ログ格納記憶部１５は、ＣＰＬＤ内部の記憶素子もしくはフラッシュメモリなどで構成され、書き込み指示３３があったログを記憶する。
【００３８】
障害処理制御部１１からサーバ管理部１０へ送信する障害処理抑止信号３４は、信号電位がＨｉｇｈレベルにある場合、サーバ管理部１０の制御ファームウェア（すなわち障害処理プログラム）が障害処理を実行することを抑止し、信号電位がＬｏｗレベルにある場合、サーバ管理部１０の制御ファームウェア（すなわち障害処理プログラム）が障害処理を実行することを許可する。
【００３９】
（実施形態の動作の説明）
次に、図１に示した情報処理装置１の動作の一例について、図２に示すフローチャートを用いて説明する。図２は、図１に示す情報処理装置１の動作の一例を説明するためのフローチャートであり、図１のＩＯポート６に障害が発生した場合を例に採って、障害処理方法の一例を示している。
【００４０】
まず、ＩＯカード６内で訂正不可能障害が発生すると（ステップ１００）、ＩＯカード６は、パス２１を通してエラーメッセージをＩＯ制御部４に対して送信する（ステップ１０１）。ＩＯ制御部４は、ＩＯカード６から送信されてきたエラーメッセージを受信すると、障害検出信号３１をサーバ管理部１０および障害処理制御部１１内の障害監視機構１２に対して送信する（ステップ１０２）。
【００４１】
障害処理制御部１１内の障害監視機構１２は、ＩＯ制御部４から送信されてきた障害検出信号３１を受信すると、サーバ管理部１０へ障害処理抑止信号３４を送信して、障害検出信号３１に関する障害処理の開始前に、障害処理の実行を抑止するとともに、障害処理制御部１１内のルーティング設定機構１３を起動する（ステップ１０３）。障害処理制御部１１内のルーティング設定機構１３は、障害監視機構１２によって起動されると、パス２７を通して、障害検出信号３１を送信してきたＩＯ制御部４内のルーティング制御レジスタ１６を無効に設定して、中央処理装置２からのトランザクションのＩＯカード６への送信動作を抑止するとともに、障害処理制御部１１内のログ採取機構１４を起動する（ステップ１０４）。
【００４２】
障害処理制御部１１内のログ採取機構１４は、ルーティング設定機構１３によって起動されると、パス２７を通して、障害検出信号３１を送信してきたＩＯ制御部４内のコンフィグアクセスレジスタ１７へアクセスして、元々のエラーメッセージの送信を行ったＩＯカード６のログを読み出す（ステップ１０５）。コンフィグアクセスレジスタ１７からＩＯカード６のログを読み出すと、障害処理制御部１１内のログ採取機構１４は、書き込み指示３３を送信して、読み出したＩＯカード６のログをログ格納記憶部１５へ書き込む（ステップ１０６）。
【００４３】
しかる後、障害処理制御部１１は、サーバ管理部１０へ送信していた障害処理抑止信号３４を解除して、サーバ管理部１０に組み込まれた制御ファームウェア（すなわち障害処理プログラム）の動作を許可することによって、制御ファームウェア（すなわち障害処理プログラム）は、障害検出信号３１により通知されてきた障害箇所を特定するための障害処理を開始する（ステップ１０７）。制御ファームウェア（すなわち障害処理プログラム）は、障害箇所を特定するための障害処理を開始すると、障害検出信号３１に関連するすべての箇所のログ情報を収集する（ステップ１０８）。すなわち、まず、パス２７を通して、障害処理制御部１１内のログ格納記憶部１５のログ（すなわち、障害が発生したＩＯカード６のログ）を読み出す。次に、パス２５を通して、中央処理装置２のログを読み出す。パス２６を通して、中央処理装置３のログを読み出す。さらに、パス２７を通して、ＩＯ制御部４のログを読み出す。パス２８を通して、ＩＯ制御部５のログを読み出す。
【００４４】
制御ファームウェア（すなわち障害処理プログラム）は、障害検出信号３１に関連するすべての箇所から読み出したログに基づいて、障害検出信号３１が検出した故障部位としてＩＯカード６を特定する（ステップ１０９）。
【００４５】
以上のように、ＩＯ制御部４が、ＩＯカード６からのエラーメッセージを受信した際に、直ちに、ルーティング制御レジスタ１６を無効に設定するとともに、サーバ管理部１０へ障害処理抑止信号３４を送信して、障害検出信号３１に関する障害処理の開始を抑止することによって、ＩＯカード６の障害が中央処理装置２へ伝播することを抑止し、かつ、障害処理の誤処理を防ぎ、さらに、ＩＯカード６のログ情報をログ格納記憶部１５に書き込んだ後に、サーバ管理部１０へ送信していた障害処理抑止信号３４を解除して、障害検出信号３１に関する障害処理を開始させるので、障害検出箇所を絞り込むことが容易に可能になり、故障デバイスの特定を正確に行うことができる。
【００４６】
なお、以上の実施形態の説明においては、ＩＯ制御部４内のルーティング制御レジスタ１６にルーティングを無効にするフラグを備え、ルーティング制御レジスタ１６が無効に設定されている場合に、ルーティング制御レジスタ１６によりルーティング先が決定するすべてのトランザクションをマスタアボートにして、送信元の中央処理装置２または中央処理装置３へ返信する場合について説明したが、本発明は、かかる場合のみに限るものではない。例えば、前記フラグを用いる代わりに、ルーティング制御レジスタ１６の設定値を変更して、障害が発生したＩＯカード６へのアクセスのみをマスタアボートに設定して、ＩＯカード６以外のＩＯカードへのアクセスは正常にルーティングすることを可能にするようにしても良い。
【００４７】
具体的な一例として、例えば、障害が発生したＩＯカード６のパス番号を'１'、障害が発生していないＩＯカード７のパス番号を'２'とした場合、ＩＯカード６の障害が発生していない通常状態においては、トランザクション内の行き先パス番号が'１'のときは、ＩＯカード６へトランザクションをルーティングし、トランザクション内の行き先パス番号が'２'のときは、ＩＯカード７へトランザクションをルーティングする。ここで、ＩＯカード６において障害が発生した場合には、トランザクション内の行き先パス番号が'１'のときは、トランザクションをマスタアボートとして送信元の中央処理装置２へ返信し、トランザクション内の行き先パス番号が'２'のとき、障害が発生していないＩＯカード７へトランザクションをルーティングする。
【００４８】
かくのごとき制御を行うことによって、障害が発生したＩＯカード６以外の正常なＩＯカードへのトランザクションは通常通りの処理がなされるので、ＩＯカードごとにジョブが割り当てられるようなジョブスケジューリングを実施している場合には、ジョブの救済率を高めることができる。
【００４９】
また、先の実施形態においては、情報処理装置１として、中央処理装置を中央処理装置２，３の２個、ＩＯ制御部をＩＯ制御部４，５の２個、ＩＯカードをＩＯカード６〜９の４個からなっている場合について説明したが、中央処理装置、ＩＯ制御部、ＩＯカードは、それぞれ、如何なる台数からなっている場合であっても構わなく、それぞれ、ｌ、ｍ、ｎ台（ｌ、ｍ、ｎはいずれも自然数）としても良い。
【００５０】
（実施形態の効果の説明）
以上に詳細に説明したように、本実施形態においては次のような効果が得られる。
【００５１】
第１の効果は、ハードウェア論理で動作する障害処理制御部１１を設けて、障害検出時に、制御ファームウェアの一つである障害処理プログラムが障害処理を実施する前に、ハードウェア論理により、障害が発生したＩＯカード６〜９へ送信されるトランザクションのルーティングを無効にして該トランザクションの送信動作を抑止することにより、ＩＯカード６〜９の障害が中央処理装置２，３へ伝播することを抑止することができるので、障害検出箇所を容易に絞り込むことができ、故障デバイスの特定を正確に行うことができる。
【００５２】
第２の効果は、障害が発生したＩＯカード６〜９へのパスを閉塞する前に、障害処理制御部１１がハードウェア的にＩＯカード６〜９のログを採取して記憶しておくことによって、障害が発生したＩＯカード６〜９内部の故障部位の特定を正確かつ容易に行うことができる。
【００５３】
第３の効果は、障害が発生したＩＯカード６〜９へのトランザクションをマスタアボートにして送信元の中央処理装置２，３へ返信することにより、当該トランザクションを発行したアプリケーションは異常終了になるものの、情報処理装置１が対象としているシステム全体の動作を停止させることはなく、システムとしては継続した運用が可能である。
【００５４】
以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
【符号の説明】
【００５５】
１      情報処理装置
２      中央処理装置
３      中央処理装置
４      ＩＯ制御部
５      ＩＯ制御部
６      ＩＯカード
７      ＩＯカード
８      ＩＯカード
９      ＩＯカード
１０    サーバ管理部
１１    障害処理制御部
１２    障害監視機構
１３    ルーティング設定機構
１４    ログ採取機構
１５    ログ格納記憶部
１６    ルーティング制御レジスタ
１７    コンフィグアクセスレジスタ
１８    パス
１９    パス
２０    パス
２１    パス
２２    パス
２３    パス
２４    パス
２５    パス
２６    パス
２７    パス
２８    パス
２９    障害検出信号
３０    障害検出信号
３１    障害検出信号
３２    障害検出信号
３３    書き込み指示
３４    障害処理抑止信号
【図１】
2013205857.tif 000003
【図２】
2013205857.tif 000004