(57)【特許請求の範囲】
【請求項１】
処理部と、
入出力部とを具備し、
前記入出力部は、
信号を送受信する送受信部と、
前記送受信部を制御する制御部とを具備し、
前記処理部は、
第１の機器から入力した入力信号を前記送受信部を介して第２の機器に転送し、前記第２の機器から前記入力信号を再送信する要求を受信したときに前記入力信号の再送信を行う機能と、
前記再送信が第１の所定の基準を超えて繰り返されたときに、前記再送信を停止して障害箇所の調査を開始する機能とを備え、
前記処理部は、予め設定された複数のノードに対して、試験信号を送信し且つ折り返しを要求する折り返し試験をそれぞれ行い、
前記折り返し試験は、前記複数のノードのうち前記制御部に近い側のノードから順に行われ、
前記複数のノードのうち、前記折り返し試験において前記折り返しが不成功であったノードを特定することにより、前記障害箇所の調査が行われる
入出力装置。
【請求項２】
請求項１に記載された入出力装置であって、
前記予め設定された複数のノードは、前記制御部と同一の前記入出力装置の前記送受信部を含む
入出力装置。
【請求項３】
請求項１又は２に記載された入出力装置であって、
前記処理部は、前記障害箇所の調査を、第２の所定の基準に達するまで繰り返す
入出力装置。
【請求項４】
請求項１から３のいずれかに記載された入出力装置であって、
前記第１の所定の基準は、前記第１の機器が前記入出力装置に対する通信経路を閉塞したという基準である
入出力装置。
【請求項５】
請求項１から４のいずれかに記載された入出力装置と、
前記第１の機器とを具備し、
前記入出力装置は、前記第１の機器から入力した入力信号に応答して前記第２の機器から送信された返信信号を前記第１の機器に送信する機能を有し、
前記第１の機器は、前記入出力装置に対して前記入力信号を送信した後に第３の所定の基準を超えて前記返信信号を受信しなかったとき、前記入出力装置に対する通信経路を閉塞して他の入出力装置に対する通信に切り替える
コンピュータシステム。
【請求項６】
処理部が、第１の機器から入力した入力信号を送受信部を介して第２の機器に転送し、前記第２の機器から前記入力信号を再送信する要求を受信したときに前記入力信号の再送信を行う工程と、
前記処理部が、前記再送信が第１の所定の基準を超えて繰り返されたときに、前記再送信を停止して障害箇所の調査を開始する工程とを備え、
前記障害箇所の調査は、前記処理部が、予め設定された複数のノードに対して、試験信号を送信し且つ折り返しを要求する折り返し試験をそれぞれ行う工程を備え、
前記折り返し試験は、前記複数のノードのうち前記制御部に近い側のノードから順に行われ、
前記複数のノードのうち、前記折り返し試験において前記折り返しが不成功であったノードを特定することにより、前記障害箇所の調査が行われる
障害処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの障害発生箇所を特定する技術に関する。
【背景技術】
【０００２】
Ｉ／Ｏプロセッサを介して周辺機器と接続されたコンピュータシステムにおいて、周辺機器との通信に障害が発生する場合がある。障害に対処するために、通信路の中で障害が発生した箇所を特定することが求められる。
【０００３】
特許文献１には、障害検出に関する技術の一例が記載されている。この文献に記載の障害検出装置は、階層状に接続された複数のモジュールで構成されるディスクコントローラに発生した障害を検出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４３８７９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＩＯＰ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｐｒｏｃｅｓｓｏｒ）を介して周辺装置、例えばディスク装置と接続されるコンピュータシステムにおいて、ＩＯＰと周辺装置との間でのインタフェース障害を検出することが望まれる。しかしながら、このような箇所の障害検出においては、ＩＯＰに折り返して来る信号に障害が発生した場合、その障害が送信路の障害によるのか受信路の障害によるのかを区別することが難しい。特に、通信が断続的に不調となる間欠故障（Ｉｎｔｅｒｍｉｔｔｅｎｔ  Ｆａｕｌｔ）の場合に、送信側と受信側の切り分けが出来ないことがある。
【０００６】
図５は、ＩＯＰ又はＨＢＡ（ホストバスアダプタ）１０５からディスク装置又はホストアダプタ１０７へＷｒｉｔｅデータ（ディスク装置に書き込まれるデータ）を転送する例を示す。ＩＯＰ／ＨＢＡ１０５（送信側）のトレースに転送データの送信を示すトレース情報があり、且つディスク装置／ＨＡ１０７（受信側）との間の通信に障害があった場合を考える。障害としては例えば、ディスク装置／ＨＡ１０７がファイバチャネルのフレーム抜けを検出した場合や、８Ｂ／１０Ｂ変換でエラーが発生した場合が考えられる。
【０００７】
このような障害では、ＨＢＡ１０５のファイバチャネル制御ＬＳＩ（ドライバ）１３０からＨＡ１０７のファイバチャネル制御ＬＳＩ（ドライバ）１３６までの経路のどこでデータが不正になったか分からないことがある。つまり、ＩＯＰとディスク装置間のデータ転送において、ＨＢＡ１０５のファイバチャネル制御ＬＳＩ１３０、ＨＢＡ１０５の基板１３１、ＨＢＡ１０５の光トランシーバ１３２、光ケーブル１３３、ＨＡ１０７の光トランシーバ１３４、ＨＡ１０７の基板１３５、ＨＡ１０７のファイバチャネルＬＳＩ１３６のどこでデータが不正になったか分からないことがある。
【０００８】
この課題について、図６を用いてより詳細に説明する。図６は、コンピュータシステムのＩＯＰとディスク装置間の障害処理動作の参考例を説明したシーケンスチャートである。
【０００９】
システムの起動時、ＩＯＰ／ＨＢＡとディスク／ＨＡのインタフェースの初期化が行われる（図６ステップＡ１）。初期化完了後、ＩＯＰ／ＨＢＡから転送処理が起動される。ディスク／ＨＡは、異常を検出すると、ＨＢＡに再送要求を行う（図６ステップＡ２）。ＨＢＡは再送要求を受け取り、再び転送処理を起動する。ＨＡが再び異常を検出した場合、ＨＡの再送要求とＨＢＡの転送処理が繰り返される。このようなリトライが一定期間続くと、Ｉ／Ｏのタイムアウトにかかる。その場合、ＨＢＡはＩＯＰ経由で、ＨＢＡを介して書き込みデータをＨＡに送信しているホストコンピュータのＯＳに、Ｉ／Ｏの異常終了を通知する（図６ステップＡ３）。ＯＳは当該ＨＢＡのパスでリトライを行う。それでも救済されない場合、ホストコンピュータは当該パスを切り離し（閉塞し）て、代替パスでのリトライを行う。
【００１０】
閉塞されたパスはその後、部品保守交換により復旧することが出来る。しかし、ＩＯＰとディスク装置間の経路上のどこで障害が発生したか切り分けがつかない。そのため、確実に被疑箇所を取り除くには経路上の全ての部品を交換する必要があるという問題がある。
【００１１】
コンピュータシステムのＩ／Ｏプロセッサ（ＩＯＰ）とディスク装置間などに発生するインタフェース障害の被疑（故障）箇所を特定するための手段が望まれる。
【課題を解決するための手段】
【００１２】
本発明の一側面において、入出力装置は、処理部と、入出力部とを備える。入出力部は、信号を送受信する送受信部と、送受信部を制御する制御部とを備える。処理部は、第１の機器から入力した入力信号を送受信部を介して第２の機器に転送し、第２の機器から入力信号を再送信する要求を受信したときに入力信号の再送信を行う機能と、再送信が第１の所定の基準を超えて繰り返されたときに、再送信を停止して障害箇所の調査を開始する機能とを備える。障害箇所の調査は、処理部が、予め設定された複数のノードのうち制御部に近い側のノードから順に試験信号を送信し且つ折り返しを要求した結果、折り返しが不成功であった箇所を特定することによって実行される。
【発明の効果】
【００１３】
本発明により、インタフェース障害の被疑（故障）箇所を特定することを可能とする手段が提供される。
【図面の簡単な説明】
【００１４】
【図１】図１は、コンピュータシステムの構成を示す。
【図２】図２は、ＨＢＡ（ホストバスアダプタ）とＨＡ（ホストアダプタ）の構成を示す。
【図３】図３は、信号の流れを示す。
【図４】図４は、ＨＢＡとＨＡ間での信号の流れを示すシーケンスチャートである。
【図５】図５は、参考例における技術の問題を説明するための図である。
【図６】図６は、参考例におけるＨＢＡとＨＡ間での信号の流れを示すシーケンスチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について説明する。上述のように、一般的にコンピュータシステムのＩＯＰと周辺装置（ディスク装置）間のインタフェース障害の場合、送信路の障害と受信路の障害との区別が出来ないことがある。特に間欠故障の場合は、その区別が難しい。
【００１６】
本実施形態では、ＩＯＰとディスク装置間のデータ転送経路上で、予め取り決められた基本動作をＩＯＰとディスク装置により実施する。また、部分的に転送動作を行い、どの部分まで動作が出来たか確認することにより、被疑箇所を絞りこむ。さらに間欠障害の場合に備え、上記の確認項目を規定回数繰り返す。
【００１７】
次に本発明の実施例の構成について図面を参照して説明する。図１は本発明の一実施例としてのコンピュータシステムの構成を示す概略図である。コンピュータシステムは、中央処理装置（ＣＰＵ）１、Ｉ／Ｏプロセッサ（ＩＯＰ）４、ディスク装置６、診断制御プロセッサ（ＤＧＰ）２および、サービスプロセッサ（ＳＶＰ）１５を有する。
【００１８】
障害箇所を特定する機能を有するプロセッサを、本明細書では以下、ＤＧＰ（Ｄｉａｇｎｏｓｔｉｃ  Ｐｒｏｃｅｓｓｏｒ）と呼ぶ。コンピュータシステムは、ＣＰＵを構成する各ユニット上にあるＤＧＰによってシステムの診断を行う。通常、ＤＧＰはハードウェア障害発生時、故障箇所を示すエラー表示フラグ情報や装置情報を採取する。ＣＰＵは、これらの情報と故障辞書を参照して、故障部位、被疑ユニットを指摘し、その箇所を示す情報を生成し出力する。ＣＰＵは更に、必要に応じて、システムチェック処理、故障部位をシステムから切り離す処理、及びシステム再立ち上げ処理を行う。
【００１９】
図１において、コンピュータシステムの処理部であるＣＰＵ１は、通信経路２１を介して接続されたコンピュータシステムなどの第１の機器から入力信号を入力する。ＣＰＵ１は、その入力信号を、送受信部であるＩＯＰ４を介して、第２の機器であるディスク装置６に転送する。ＣＰＵ１は、ディスク装置６側から入力信号の再送信を要求する信号を受信すると、その入力信号を再送信する機能を有する。
【００２０】
ＣＰＵ１にはＤＧＰ２が設けられる。再送信が第１の所定の基準（リトライの回数や時間によって設定される）を超えて繰り返されると、ＤＧＰ２は再送信を停止して障害箇所の調査を開始する。
【００２１】
ＤＧＰ２は、ＣＰＵ１を構成する各ユニット上にある診断制御ユニット３（ＤＧＵ）と協働し、システムの診断を行う。ＤＧＰ２は、ハードウェア障害発生時、故障箇所を示すエラー表示フラグ情報や装置情報を採取する。ＤＧＰ２は、これらの情報と故障辞書とを参照して、故障部位、被疑ユニットを指摘し特定する情報を生成する。ＤＧＰ２は更に、必要に応じて、システムチェック処理、故障部位をシステムから切り離す処理、及びシステム再立ち上げ処理を行う。ＤＧＵ３は、各ユニット上に設けられ、ＤＧＰ２と協同してシステムの診断制御を行う。
【００２２】
ＤＧＰ２は、以下のように障害箇所を調査する。ＤＧＰ２の被疑箇所切り分け情報１２には、予め設定された複数のノードの情報が格納される。複数のノードは、例えば、図２に示すＨＢＡ基板３１（ＦＣ制御ＬＳＩ３０と光トランシーバ３２とを基板上で接続する配線）、光トランシーバ３２、光ケーブル３３、ディスク装置側ＨＡ７の光トランシーバ３４、ＨＡ基板３６（光トランシーバ３４とＦＣ制御ＬＳＩ３６とを基板上で接続する配線）である。すなわち、障害箇所を特定するために区別することが望まれる通信経路上の区間を指定する箇所である。
【００２３】
障害箇所の調査は、それらの予め設定された複数のノードのうち、ＨＢＡ５の制御部であるＦＣ制御ＬＳＩ３０に近い側のノードから順に試験信号を送信し、且つ折り返しを要求した結果、折り返しが不成功となったノードを特定することによって実行される。予め設定された複数のノードには、ＦＣ制御ＬＳＩ３０と同一のＨＢＡ５の送受信部である光トランシーバ３２が含まれていると、ＨＢＡ５内での折り返しテストを行うことができるため好ましい。
【００２４】
ＣＰＵ１は更に、プロセッサやメモリも備えるが、図示は省略する。ＩＯＰ４は、ＣＰＵ１の情報をディスク装置６との間で入出力する入出力部である。ＩＯＰ４には、ＤＧＵ（Ｄｉａｇｎｏｓｔｉｃ  Ｕｎｉｔ）３等の制御部と、ディスク装置６に対する信号の送受信を行うＨＢＡ５が搭載されている。ＤＧＰ２は演算及び制御を行うプロセッサ８を備える。そのプロセッサ８上でＤＧＰファームウェア９が動作することにより、通信路の診断を行う機能が実現される。ＤＧＰ２は更に、システム構成情報１１、被疑箇所切り分け情報（ｓｕｓｐｉｃｉｏｕｓ  ｐｏｒｔｉｏｎ  ｄｉｓｃｒｉｍｉｎａｔｉｏｎ  ｉｎｆｏｒｍａｔｉｏｎ）１２、及び再現試験モード情報１３を格納するためのローカルメモリ１０を備える。
【００２５】
ＤＧＰファームウェア９は、障害処理を行うためにＩＯＰ４とディスク装置６間の障害（被疑）箇所切り分け処理を実行する被疑箇所切り分け部１４を備える。ＤＧＰ２は、ＤＧＰファームウェア９に記述された手順に従って、当該パス障害によりＯＳから切り離されたあと、継続して障害箇所の切り分け処理を行う。
【００２６】
ＣＰＵ１は、通信経路２１を介してサービスプロセッサ（ＳＶＰ）１５に接続される。ＳＶＰ１５はコンピュータシステムであり、ハードディスクを備える。そのハードディスクに、システム構成情報、被疑箇所切り分け情報、及び再現試験の手順を示す再現試験モード情報がシステム設定値として格納される。システム構成情報は、システムの構成の変更に応じてアップデートされる。ＤＧＰ２は、システム立ち上げ時にＳＶＰ１５からシステム構成情報、被疑箇所切り分け情報、及び再現試験モード情報をロードして、システム構成情報１１、被疑箇所切り分け情報１２、及び再現試験モード情報１３としてローカルメモリ１０に格納する。
【００２７】
ＳＶＰ１５のハードディスクには更に、保守交換単位や被疑箇所を指摘するための主要部品情報を納めた故障辞書１９、ならびに各種ファームウェア２０が格納される。故障辞書１９は、ＤＧＰ２が障害発生時に参照し、障害情報と照らし合わせて故障部位、被疑ユニットを指摘する際に使用する。各種ファームウェア２０はシステム立ち上げ時にＤＧＰ経由でシステムの各ユニットにロードされる。
【００２８】
次に図２において、ホストバスアダプタ（ＨＢＡ）５はファイバチャネル制御ＬＳＩ３０、ＨＢＡ基板３１、光トランシーバ３２により構成され、ディスク装置６とは光ケーブル３３を介して接続される。ディスク装置６にはＨＢＡ５とのインタフェースを持つホストアダプタ（ＨＡ）７があり、光トランシーバ（光モジュール）３４、ＨＡ基板３５、ファイバチャネル制御ＬＳＩ３６により構成される。
【００２９】
本実施形態においては、ＤＧＰ２がＩＯＰ４とディスク装置６間の障害処理を行う際、当該パス障害によりＯＳから切り離されたあと、継続して障害箇所の切り分け処理を行う。ファイバチャネル制御内の折り返し接続試験、光トランシーバの光出力停止／光出力投入、ファイバチャネルのリンクアップ、リンクダウンの繰り返し処理等、予め被疑箇所切り分け情報（システム設定値）１７にて取り決められた基本動作をＨＢＡ５とＨＡ７で実施する。これらの基本動作のうち、どこまで動作が出来たか確認することにより被疑箇所を絞りこむことが出来る。間欠障害の場合に備え、上記の切り分け処理をＯＳから切り離された状態で規定回数繰り返し行う。
【００３０】
障害が検出された場合、システムの保守ポリシーに依り、障害でＯＳから切り離されたパスの部品を即時交換するオンライン交換のケースと、業務が終了した後でシステムを停止してオフライン交換するケースがある。オフライン交換するケースでは、ＳＶＰ１５の再現試験モード（システム設定値）の設定値をオフラインに設定する。この設定のときは、ＤＧＰ２は、保守交換作業までの間、当該パスをＯＳから切り離した状態で障害再現試験の実行を行う。
【００３１】
従来、再現試験は、障害候補の装置を工場に持ち帰ってから実施していた。しかし上記のようにオフライン交換時の再現試験を行うことによって、障害が発生した条件（環境）に非常に近い環境で再現試験が行われる。その結果、障害の再現率を向上することが出来る。
【００３２】
次に、本実施形態における障害処理方法の動作を、図３の信号の流れを示す図と図４に示すシーケンスチャートを使用して説明する。本実施形態による障害処理方法を適用したコンピュータシステムにおいて、障害処理の一連の流れを説明する。
【００３３】
システムの起動時、ＩＯＰ４／ＨＢＡ５とディスク／ＨＡ７のインタフェースの初期化を行う（図４ステップＢ１）。初期化完了後、ＩＯＰ４／ＨＢＡ５から転送処理が起動される。その際、ディスク／ＨＡ７側は、異常を検出すると、ＨＢＡ５に再送要求を行う（図４ステップＢ２）。ＨＢＡ５は再送要求を受け取ると、再び転送処理を起動する。
【００３４】
ＨＡ７が再送に対して異常を検出し続けると、ＨＢＡ５はリトライを繰り返す。リトライがＩ／Ｏのタイムアウトの基準として設定された第２の所定の基準（リトライの回数又は時間によって設定される）に達するまで繰り返されると、ＨＢＡ５はＩＯＰ４経由でＯＳにＩ／Ｏの異常終了を通知する（図４ステップＢ３）。
【００３５】
異常終了の通知を受けたＯＳは、当該パスでリトライを行う。リトライがＯＳで設定された第３の所定の基準に達するまで繰り返されると、障害が救済されないと判断して当該通信経路を切り離して（閉塞して）、代替パスでのリトライを行う。ＯＳ側から見ると、ディスク装置６にデータを記録するために入出力装置であるＩＯＰ４に入力信号を送信したとき、通常は、正常にデータの書き込みが完了したことを示す返信信号が得られる。しかし、入力信号を送信した後に第３の所定の基準を超えて返信信号を受信しなかったときは、その入出力装置に対する通信経路を閉塞して、他の入出力装置に対する通信に切り替える。
【００３６】
ＤＧＰ２は、当該パスがＯＳから切り離されたあと、継続して障害箇所の切り分け処理を行う。切り分け処理は、予め被疑箇所切り分け情報（システム設定値）１２にて取り決められた基本動作を、ＤＧＰ２からの指示に従ってＨＢＡ５とＨＡ７が実施することにより行われる。基本動作としては、図４に示すステップＢ４〜Ｂ６が例示される。ファイバチャネル制御ＬＳＩ３０内での折り返し接続試験を行う（図３（ａ）、図４ステップＢ４）。光トランシーバの光出力停止／光出力投入を行い、入力光強度確認を実施する（図３（ｂ）、図４ステップＢ５）。ファイバチャネルのリンクアップ、リンクダウンの繰り返し実施（図３（ｃ）、図４ステップＢ６）を行う。
【００３７】
被疑箇所切り分け情報１２には、これらの基本動作の各々における信号の到達目標のノードと、そのノードに対して信号を送信して行う試験内容とが保存される。ＤＧＰ２は、被疑箇所切り分け情報１２に基づいて、ステップＢ４〜Ｂ６に示されるような試験を実行する。
【００３８】
このような基本動作をＨＢＡ５とＨＡ７で実施し、どこまで動作が出来たか確認することにより被疑箇所を絞りこむことが出来る。間欠障害の場合に備え上記の切り分け処理をＯＳから切り離された状態で規定回数繰り返し行うことが望ましい。
【００３９】
以上説明したように、本実施形態においては、以下に記載するような効果が得られる。
第１の効果は、ＩＯＰとディスク装置間のインタフェース障害の被疑箇所を切り分け出来るようになる。
第２の効果は、保守交換後、工場に戻ってから実施していた再現試験を、障害が発生した条件（環境）に非常に近い環境で実施することで、再現率を向上させることが出来る。
【符号の説明】
【００４０】
１  ＣＰＵ
２  ＤＧＰ
３  ＤＧＵ
４  ＩＯＰ
５  ＨＢＡ（ホストバスアダプタ）
６  ディスク装置
７  ＨＡ（ホストアダプタ）
８  プロセッサ
９  ＤＧＰファームウェア
１０  ローカルメモリ
１１  システム構成情報
１２  被疑箇所切り分け情報
１３  再現試験モード情報
１４  被疑箇所切り分け部
１５  ＳＶＰ（サービスプロセッサ）
２１  通信経路
３０  ファイバチャネル制御ＬＳＩ
３１  ＨＢＡ基板
３２  光トランシーバ
３３  光ケーブル
３４  光トランシーバ
３５  ＨＡ基板
３６  ファイバチャネル制御ＬＳＩ
１０５  ＨＢＡ（ホストバスアダプタ）
１０７  ＨＡ（ホストアダプタ）
１３０  ファイバチャネル制御ＬＳＩ
１３１  ＨＢＡ基板
１３２  光トランシーバ
１３３  光ケーブル
１３４  光トランシーバ
１３５  ＨＡ基板
１３６  ファイバチャネル制御ＬＳＩ
【図１】
0005640900.tif 000002
【図２】
0005640900.tif 000003
【図３】
0005640900.tif 000004
【図４】
0005640900.tif 000005
【図５】
0005640900.tif 000006
【図６】
0005640900.tif 000007