(57)【要約】【課題】調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができること。【解決手段】ＨＤＤ１１−１〜ｍ、サーバ１２−１〜ｎと、ＨＤＤ１１−１〜ｍ、サーバ１２−１〜ｎを接続制御するスイッチ装置１０を有する調停ループの状態を監視するループ状態監視装置２０であり、ループ状態データ読取部２０３は、スイッチ装置１０からループ状態データを読み取り、初期化障害検出部２０４１は、ループ状態検出データから調停ループの初期化における接続障害である初期化障害が発生したことを検出し、障害デバイス特定部２０４２は、初期化障害の発生が検出された場合に、プリミティブ検出データまたはフレーム数データから初期化障害に係るデバイスを特定する。【選択図】        図１
2006048162.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスと、該複数のデバイスを接続制御するスイッチを有する調停ループの状態を監視するループ状態監視装置であって、
前記調停ループの状態を検出したデータであるループ状態検出データと、前記複数のデバイスを接続する前記スイッチの複数のポートのそれぞれでプリミティブを受信したか否かを検出したデータであるプリミティブ検出データと、該複数のポートのそれぞれで受信したフレーム数を検出したデータであるフレーム数データとのいずれか一つを少なくとも含むループ状態データを有し、
前記ループ状態検出データから前記調停ループの初期化における接続障害である初期化障害が発生したことを検出するループ初期化障害検出手段と、
前記初期化障害の発生が検出された場合に、前記プリミティブ検出データまたは前記フレーム数データから該初期化障害に係るデバイスを特定する障害デバイス特定手段と、
を備えたことを特徴とするループ状態監視装置。
【請求項２】
前記スイッチから前記初期化における前記ループ状態データを読み取って、読み取ったループ状態データに識別情報を付加するループ状態データ読取手段と、
前記識別情報を付加されたループ状態データを順次追加して、ループ初期化データとして記憶するループ初期化データ記憶手段と、をさらに備え、
前記ループ初期化障害検出手段は、前記ループ初期化データ記憶手段に記憶されたループ初期化データのループ状態検出データから前記初期化障害が発生したことを検出し、
前記障害デバイス特定手段は、前記初期化障害の発生が検出された場合に、前記ループ初期化データのプリミティブ検出データまたはフレーム数データから該初期化障害に係るデバイスを特定することを特徴とする請求項１に記載のループ状態監視装置。
【請求項３】
前記識別情報は、前記ループ初期化データを時系列データとして識別するインデックスと該ループ初期化データの先頭のアドレス情報であることを特徴とする請求項２に記載のループ状態監視装置。
【請求項４】
前記スイッチは、前記初期化障害に係るデバイスを分離する障害デバイス分離手段をさらに備え、
前記障害デバイス特定手段は、前記初期化障害に係るデバイスを前記調停ループから分離させるよう前記障害デバイス分離手段を制御することを特徴とする請求項１または２に記載のループ状態監視装置。
【請求項５】
前記初期化に係るプリミティブまたはフレームの受信が検出されていない前記プリミティブ検出データまたはフレーム数データを前記デバイス毎に計数するデータ計数手段をさらに備え、
前記障害デバイス特定手段は、前記データ計数手段によって計数されたプリミティブ検出データまたはフレーム数データの数が所定の数以上である場合、前記デバイスを前記初期化障害に係るデバイスとして特定することを特徴とする請求項１または２に記載のループ状態監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ループ状態監視装置に関し、特に調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができるループ状態監視装置に関するものである。
【背景技術】
【０００２】
従来、複数のデバイスと、複数のデバイスを接続制御するスイッチを有する調停ループの状態を監視するループ状態監視装置が知られている。かかるループ状態監視装置において、調停ループに接続障害が発生した場合に接続障害を引き起しているデバイスを特定するには、調停ループの初期化処理が完了するのを待たねばならなかった。初期化処理が停止している間、調停ループは、使用できず、デバイスへのアクセスも中断されたままとなる。また、信号異常により初期化処理中の接続障害を検出できたとしても、接続障害に係るデバイスを特定することができないので、予備の調停ループに切替えるなどの対策が必要であった。また、予備の調停ループに切替えても接続障害に係るデバイスを分離できないと、予備の調停ループでも同じ接続障害が引き起される可能性があった。
【０００３】
さらに、デバイスは、近年のデバイスの発達により障害を発生した場合でも一定の信号を自動的に送出することができる。このような場合、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されないので接続障害に係るデバイスを特定することができず、迅速にループを正常な状態に復旧することができないという課題があった。例えば、特許文献１では、ディスクが接続されている調停ループにおいて間欠的に接続障害が発生した場合、接続障害が発生したループでの通常のディスク処理を一時停止して故障部品を特定するためのループ診断処理を行い、その間も予備ループで通常のディスク処理を行う従来技術を開示している。
【０００４】
【特許文献１】特開２００２−００７０７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の従来技術では、ディスクが接続されている調停ループにおいて間欠的に接続障害が発生した場合、接続障害が発生したループでの通常のディスク処理を一時停止して故障部品を特定するためのループ診断処理を行い、その間も予備ループで通常のディスク処理を行うことができる。しかし、特許文献１の従来技術では、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されないので接続障害に係るデバイスを特定することができず、迅速にループを正常な状態に復旧することができないという課題は解決できなかった。
【０００６】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができるループ状態監視装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、請求項１の発明に係るループ状態監視装置は、複数のデバイスと、該複数のデバイスを接続制御するスイッチを有する調停ループの状態を監視するループ状態監視装置であって、前記調停ループの状態を検出したデータであるループ状態検出データと、前記複数のデバイスを接続する前記スイッチの複数のポートのそれぞれでプリミティブを受信したか否かを検出したデータであるプリミティブ検出データと、該複数のポートのそれぞれで受信したフレーム数を検出したデータであるフレーム数データとのいずれか一つを少なくとも含むループ状態データを有し、前記ループ状態検出データから前記調停ループの初期化における接続障害である初期化障害が発生したことを検出するループ初期化障害検出手段と、前記初期化障害の発生が検出された場合に、前記プリミティブ検出データまたは前記フレーム数データから該初期化障害に係るデバイスを特定する障害デバイス特定手段と、を備えたことを特徴とする。
【０００８】
この請求項１の発明によれば、ループ状態検出データから調停ループの初期化における接続障害である初期化障害が発生したことを検出し、初期化障害の発生が検出された場合に、プリミティブ検出データまたはフレーム数データから初期化障害に係るデバイスを特定することとしたので、ループ状態監視装置は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができる。
【０００９】
また、請求項２の発明に係るループ状態監視装置は、請求項１の発明において、前記スイッチから前記初期化における前記ループ状態データを読み取って、読み取ったループ状態データに識別情報を付加するループ状態データ読取手段と、前記識別情報を付加されたループ状態データを順次追加して、ループ初期化データとして記憶するループ初期化データ記憶手段と、をさらに備え、前記ループ初期化障害検出手段は、前記ループ初期化データ記憶手段に記憶されたループ初期化データのループ状態検出データから前記初期化障害が発生したことを検出し、前記障害デバイス特定手段は、前記初期化障害の発生が検出された場合に、前記ループ初期化データのプリミティブ検出データまたはフレーム数データから該初期化障害に係るデバイスを特定することを特徴とする。
【００１０】
この請求項２の発明によれば、スイッチから初期化におけるループ状態データを読み取って、読み取ったループ状態データに識別情報を付加し、識別情報を付加されたループ状態データを順次追加して、ループ初期化データとして記憶し、記憶されたループ初期化データのループ状態検出データから初期化障害が発生したことを検出し、初期化障害の発生が検出された場合に、ループ初期化データのプリミティブ検出データまたはフレーム数データから初期化障害に係るデバイスを特定することとしたので、ループ状態監視装置は、、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができる。
【００１１】
また、請求項３の発明に係るループ状態監視装置は、請求項２の発明において、識別情報は、前記ループ初期化データを時系列データとして識別するインデックスと該ループ初期化データの先頭のアドレス情報であることを特徴とする。
【００１２】
この請求項３の発明によれば、識別情報は、ループ初期化データを時系列データとして識別するインデックスとループ初期化データの先頭のアドレス情報であることとしたので、ループ状態監視装置は、ループ初期化データを時系列データとして識別することができ、またループ初期化データを記憶装置から容易に取り出すことができる。
【００１３】
また、請求項４の発明に係るループ状態監視装置は、請求項１または２の発明において、スイッチは、前記初期化障害に係るデバイスを分離する障害デバイス分離手段をさらに備え、前記障害デバイス特定手段は、前記初期化障害に係るデバイスを前記調停ループから分離させるよう前記障害デバイス分離手段を制御することを特徴とする。
【００１４】
この請求項４の発明によれば、スイッチは、初期化障害に係るデバイスを分離し、初期化障害に係るデバイスを調停ループから分離させるよう制御することとしたので、ループ状態監視装置は、特定した接続障害に係るデバイスを調停ループから容易に分離し、迅速にループを正常な状態に復旧することができる。
【００１５】
また、請求項５の発明に係るループ状態監視装置は、請求項１または２の発明において、前記初期化に係るプリミティブまたはフレームの受信が検出されていない前記プリミティブ検出データまたはフレーム数データを前記デバイス毎に計数するデータ計数手段をさらに備え、前記障害デバイス特定手段は、前記データ計数手段によって計数されたプリミティブ検出データまたはフレーム数データの数が所定の数以上である場合、前記デバイスを前記初期化障害に係るデバイスとして特定することを特徴とする。
【００１６】
この請求項５の発明によれば、初期化に係るプリミティブまたはフレームの受信が検出されていないプリミティブ検出データまたはフレーム数データをデバイス毎に計数し、計数されたプリミティブ検出データまたはフレーム数データの数が所定の数以上である場合、デバイスを初期化障害に係るデバイスとして特定することとしたので、ループ状態監視装置は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを容易に特定することができる。
【発明の効果】
【００１７】
請求項１の発明によれば、ループ状態検出データから調停ループの初期化における接続障害である初期化障害が発生したことを検出し、初期化障害の発生が検出された場合に、プリミティブ検出データまたはフレーム数データから初期化障害に係るデバイスを特定するよう構成したので、ループ状態監視装置は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができるという効果を奏する。
【００１８】
また、請求項２の発明によれば、スイッチから初期化におけるループ状態データを読み取って、読み取ったループ状態データに識別情報を付加し、識別情報を付加されたループ状態データを順次追加して、ループ初期化データとして記憶し、記憶されたループ初期化データのループ状態検出データから初期化障害が発生したことを検出し、初期化障害の発生が検出された場合に、ループ初期化データのプリミティブ検出データまたはフレーム数データから初期化障害に係るデバイスを特定するよう構成したので、ループ状態監視装置は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができるという効果を奏する。
【００１９】
また、請求項３の発明によれば、ループ初期化データを時系列データとして識別するインデックスとループ初期化データの先頭のアドレス情報であるよう構成したので、ループ状態監視装置は、ループ初期化データを時系列データとして識別することができ、またループ初期化データを記憶装置から容易に取り出すことができるという効果を奏する。
【００２０】
また、請求項４の発明によれば、スイッチは、初期化障害に係るデバイスを分離し、初期化障害に係るデバイスを調停ループから分離させるよう制御するよう構成したので、ループ状態監視装置は、特定した接続障害に係るデバイスを調停ループから容易に分離し、迅速にループを正常な状態に復旧することができるという効果を奏する。
【００２１】
また、請求項５の発明によれば、初期化に係るプリミティブまたはフレームの受信が検出されていないプリミティブ検出データまたはフレーム数データをデバイス毎に計数し、計数されたプリミティブ検出データまたはフレーム数データの数が所定の数以上である場合、デバイスを初期化障害に係るデバイスとして特定するよう構成したので、ループ状態監視装置は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを容易に特定することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照して、この発明に係るループ状態監視装置の好適な実施の形態を詳細に説明する。ここでは、以下の２つの実施例について説明する。
（１）実施例１は、ループ状態監視装置がスイッチ装置から調停ループのループ初期化データを読み取って記憶し、記憶したループ初期化データに基づいて接続障害に係るデバイスを特定する場合について説明する。
（２）実施例２は、ループ状態監視装置がスイッチ装置に記憶されたループ初期化データに基づいて接続障害に係るデバイスを特定する場合について説明する。
【実施例１】
【００２３】
本実施例１は、ループ状態監視装置がスイッチ装置から調停ループのループ初期化データを読み取って記憶し、記憶したループ初期化データに基づいて接続障害に係るデバイスを特定する場合について説明する。ここでは、（１−１）ループ状態監視装置の概要と主要な特徴、（１−２）ファイバチャンネル調停ループシステムの構成、（１−３）初期化処理におけるファイバチャンネル調停ループプロトコル、（１−４）ループ状態データおよびループ初期化データ、（１−５）初期化処理手順、（１−６）初期化障害処理手順、（１−７）ＬＩＰ受信時のデバイス障害処理手順、（１−８）ＬＩＳＭ〜ＬＩＬＰフレーム受信時のデバイス障害処理手順、（１−９）ＣＬＳ受信時のデバイス障害処理手順の順番に説明する。なお、ＬＩＰ、ＬＩＳＭ、ＬＩＬＰ、ＣＬＳについては別途詳細に説明する。
【００２４】
（１−１）ループ状態監視装置の概要と主要な特徴
図１を参照して、本実施例１に係るループ状態監視装置の概要と主要について説明する。図１は、実施例１に係るファイバチャンネル調停ループシステムの構成を示す機能ブロック図である。本実施例１に係るループ状態監視装置２０は、複数のデバイスと、複数のデバイスを接続制御するスイッチ装置１０を有する調停ループの状態を監視する装置であり、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができることを特徴とする。
【００２５】
初期化障害検出部２０４１は、ループ状態検出データから調停ループの初期化における接続障害である初期化障害が発生したことを検出し、障害デバイス特定部２０４２は、初期化障害の発生が検出された場合に、プリミティブ検出データまたはフレーム数データから初期化障害に係るデバイスを特定することとしたので、ループ状態監視装置２０は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができる。なお、ループ状態監視装置２０は、調停ループの状態を検出したデータであるループ状態検出データと、複数のデバイスを接続するスイッチの複数のポートのそれぞれでプリミティブを受信したか否かを検出したデータであるプリミティブ検出データと、複数のポートのそれぞれで受信したフレーム数を検出したデータであるフレーム数データとのいずれか一つを少なくとも含むループ状態データを有する。
【００２６】
（１−２）ファイバチャンネル調停ループシステムの構成
次に、図１を参照して、実施例１に係るファイバチャンネル調停ループシステム１の構成について説明する。ファイバチャンネル調停ループシステム１は、スイッチ装置１０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１１−１〜ｍ、サーバ１２−１〜ｎ、ファイバチャンネル１３−１〜ｍ、１４−１〜ｎ、ループ状態監視装置２０からなっている。なお、ファイバチャンネル調停ループシステム１は、ＨＤＤやサーバなどのデバイスを最大１２６台接続することができる。
【００２７】
スイッチ装置１０は、ファイバチャンネル１３−１〜ｍ、１４−１〜ｎを介して、ＨＤＤ１１−１〜１１−ｍおよびサーバ１２−１〜ｎを接続し、データの転送を制御するスイッチチップであり、ＩＦ部１０１、ポート１０２−１〜ｍ、１０３−１〜ｎ、記憶部１０４、制御部１０５を有する。例えば、スイッチ装置１０は、１８台のデバイスを接続することができる。したがって、ファイバチャンネル調停ループシステム１が１２６台のデバイスを接続するためにはスイッチ装置１０を８台カスケード状に接続すればよい。ＩＦ部１０１は、スイッチ装置１０とループ状態監視装置２０とのループ状態データの入出力インタフェースであり、例えば、ＩＩＣ（Ｉｎｔｅｒ  ＩＣ  Ｂｕｓ）インタフェースである。
【００２８】
ポート１０２−１〜ｍ、１０３−１〜ｎは、ＨＤＤ１１−１〜ｍ、サーバ１２−１〜ｎをファイバチャンネルで接続する送受信ポートである。また、記憶部１０４は、スイッチ装置１０の状態を記憶するレジスタであり、ループ状態データ記憶部１０４１を有する。ループ状態データ記憶部１０４１は、スイッチ装置１０およびスイッチ装置１０の１８のポートに関する状態であるループ状態データを記憶する。なお、ループ状態データについては別途詳細に説明する。
【００２９】
制御部１０５は、ファイバチャンネル調停ループシステム１の接続を制御する制御部であり、障害デバイス分離部１０５１、ループ状態検出部１０５２を有する。障害デバイス分離部１０５１は、ループ状態監視装置２０によって接続障害が検出された場合に、接続障害に係るＨＤＤ１１−１〜ｍ、サーバ１２−１〜ｎを接続するポートをバイパスして、ファイバチャンネル調停ループシステム１から分離する処理部である。また、ループ状態検出部１は、スイッチ装置１０およびポート１０２−１〜ｍ、１０３−１〜ｎに関する状態であるループ状態データを検出する検出部であり、検出したループ状態データをループ状態データ記憶部１０４１に記憶させる。
【００３０】
ＨＤＤ１１−１〜ｍは、磁気ディスク記憶装置であり、ファイバチャンネル１３−１〜ｍによってスイッチ装置１０と接続されている。また、サーバ１２−１〜ｎは、ＨＤＤ１１−１〜ｍにデータを入出力するサーバ装置であり、ファイバチャンネル１４−１〜ｎによってスイッチ装置１０と接続されている。
【００３１】
ファイバチャンネル１３−１〜ｍ、１４−１〜ｎは、シリアル伝送を行う調停ループの伝送媒体であり、例えば、送信と受信の２本のファイバケーブルである。なお、伝送媒体は、レーザ波伝送用のマルチモードまたはシングルモードの光ファイバ、ＳＴＰ（Ｓｈｉｅｌｄｅｄ  Ｔｗｉｓｔｅｄ  ｐａｉｒ）、同軸ケーブルなどが用いられる。
【００３２】
ループ状態監視装置２０は、複数のデバイスと、複数のデバイスを接続制御するスイッチを有する調停ループの状態を監視する装置であり、ＩＦ部２０１、記憶部２０２、ループ状態データ読取部２０３、制御部２０４を有する。ＩＦ部２０１は、スイッチ装置１０とループ状態監視装置２０との間のループ状態データまたは制御要求に関する入出力インタフェースであり、例えば、ＩＩＣインタフェースである。
【００３３】
記憶部２０２は、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリなどの記憶装置であり、ループ初期化データ記憶部２０２１、ループ障害検出データ記憶部２０２２を有する。ループ初期化データ記憶部２０２１は、スイッチ装置１０から取得した調停ループの初期化における一連のループ状態データであるループ初期化データにインデックスとアドレスを対応付けて記憶する記憶部である。また、ループ障害検出データ記憶部２０２２は、スイッチ装置１０から取得されたループ初期化データを識別するインデックスと初期化障害を検出したことを示す障害検出フラグとを対応付けたループ障害検出データを記憶する記憶部である。なお、ループ初期化データについては別途詳細に説明する。
【００３４】
ループ状態データ読取部２０３は、スイッチ装置１０のループ状態データ記憶部１０４１からループ状態データを読み取る読取部であり、具体的には、ハードウエアリーダである。また、ループ状態データ読取部２０３は、識別情報付加部２０３１を有する。識別情報付加部２０３１は、初期化における一連のループ状態データであるループ初期化データに識別情報を付加する。識別情報は、ループ初期化データを時系列データとして識別するインデックスとループ初期化データの先頭のアドレスである。例えば、ハードウエアリーダは、調停ループの初期化処理中に５０μｓｅｃ間隔でループ状態データを読み出し、読み出した一連のループ状態データの先頭にインデックスとアドレスを付加し、インデックスとアドレスを付加した一連のループ状態データをループ初期化データとしてループ初期化データ記憶部２０２１に記憶させる。
【００３５】
制御部２０４は、ループ状態監視装置２０の全体を制御する制御部であり、初期化障害検出部２０４１、障害デバイス特定部２０４２を有する。初期化障害検出部２０４１は、ループ状態検出データから調停ループの初期化時の接続障害である初期化障害が発生したことを検出する検出部である。
【００３６】
障害デバイス特定部２０４２は、初期化障害の発生が検出された場合に、初期化障害に係るデバイスを特定する特定部であり、データ計数部２０４２ａを有する。データ計数部２０４２ａは、初期化に係るプリミティブまたはフレームの受信が検出されていないプリミティブ検出データまたはフレーム数データをデバイス毎に計数する。また、障害デバイス特定部２０４２は、データ計数部２０４２ａによって計数されたプリミティブ検出データまたはフレーム数データの数が所定の数以上である場合、デバイスを初期化障害に係るデバイスとして特定する。
【００３７】
具体的には、データ計数部２０４２ａは、初期化を開始するループ初期化開始プリミティブの受信が検出されていないプリミティブ検出データをデバイス毎に計数する。また、データ計数部２０４２ａは、初期化におけるフレームの受信が検出されていないフレーム数データをデバイス毎に計数する。また、データ計数部２０４２ａは、初期化を終了する初期化終了プリミティブの受信が検出されていないプリミティブ検出データをデバイス毎に計数する。
【００３８】
障害デバイス特定部２０４２は、初期化障害に係るデバイスを調停ループから分離させるよう障害デバイス分離部１０５１を制御する。また、障害デバイス特定部２０４２は、初期化障害に係るデバイスを接続するスイッチ装置１０のポートをバイパスさせるようスイッチ装置１０を制御する。
【００３９】
（１−３）初期化処理におけるファイバチャンネル調停ループプロトコル
次に、図２を参照して、図１に示すファイバチャンネル調停ループシステム１の初期化における接続について説明する。図２は、図１に示すファイバチャンネル調停ループシステム１の初期化における接続を示す図である。
【００４０】
同図に示すように、ファイバチャンネル調停ループシステム１は、その初期化においてはＨＤＤ１１−１〜ｍ、サーバ１２−１〜ｎなどのデバイスをループ状に接続し、初期化が終了するとデバイスを一対一で接続する。調停ループの初期化は、スイッチ装置１０がＨＤＤやサーバなどのデバイスのＡＬＰＡ（Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ  Ｐｈｙｓｉｃａｌ  Ａｄｄｒｅｓｓ）と呼ばれる物理アドレスのマップであるＡＬＰＡマップを取得することを目的としておこなわれる。スイッチ装置１０は、接続されたデバイスのＡＬＰＡマップを取得するとデバイス間を一対一で接続できるようになる。
【００４１】
このように、調停ループは、デバイスをループ状に接続した状態で初期化処理を行うので、初期化処理中にデバイス障害が発生すると初期化処理が途中で停止してしまう。しかも、障害が発生したデバイスが一定の信号を発し、見かけ上、他のデバイスと識別できない場合は障害デバイスとして特定できない。したがって、いつまでたってもループを正常な状態に復旧することができないという事態が発生する。ここでは、このような事態を解消する本発明の技術背景として調停ループの初期化処理について説明する。調停ループの初期化は、以下で説明するように（ａ）ＬＩＰ受信フェーズ、（ｂ）ＬＩＳＭ〜ＬＩＬＰフレーム受信フェーズ、（ｃ）ＣＬＳ受信フェーズに区分できる。
【００４２】
（ａ）ＬＩＰ（Ｌｏｏｐ  Ｉｎｉｔｉａｌｉｚａｔｉｏｎ  Ｐｒｉｍｉｔｉｖｅ）受信フェーズ：例えば、スイッチ装置１０がＬＩＰと呼ばれる初期化開始プリミティブを一定方向、例えば、ＨＤＤ１１−１、ＨＤＤ１１−２、・・、ＨＤＤ１１−ｍ、サーバ１２−１、サーバ１２−２・・サーバ１２−ｎの方向へ送信して、送信した初期化開始プリミティブを調停ループに接続されたデバイスが順次転送し、スイッチ装置１０が一回りしてきた初期化開始プリミティブを受信して初期化が開始する。一つ前のデバイスから転送されてきた初期化開始プリミティブを次のデバイスに転送できないと、そのデバイスで初期開始信号が滞留し、スイッチ装置１０に戻らないのでＬＩＰフェーズは、終了しない。したがって、各受信ポートでＬＩＰを受信したか否かを検出することにより障害の発生したデバイスを特定することができる。なお、プリミティブとは、ファイバチャンネル調停ループプロトコルにおいて規定されているコマンドである。
【００４３】
（ｂ）ＬＩＳＭ（Ｌｏｏｐ  Ｉｎｉｔｉａｌｉｚａｔｉｏｎ  Ｓｅｌｅｃｔ  Ｍａｓｔｅｒ）〜ＬＩＬＰ（Ｌｏｏｐ  Ｉｎｉｔｉａｌｉｚａｔｉｏｎ  ｆｏｒ  Ｒｅｐｏｒｔｉｎｇ  ｒｅｌａｔｉｖｅ  Ｐｏｓｉｔｉｏｎｓ  ｏｆ  ＡＬＰＡｓ）フレーム受信フェーズ：ＬＩＳＭフレームは、ループマスタと呼ばれる初期化処理を主導するデバイスを決定するフレームであり、このフェーズの最初に配信される。また、ＬＩＬＰフレームは、各デバイスにＡＬＰＡマップを周知させるためのフレームであり、このフェーズの最後に配信される。ＬＩＳＭフレームによってループマスタと呼ばれるデバイスが決定した後は、ループマスタが以後の初期化処理を主導する。したがってＬＩＳＭ〜ＬＩＬＰフレーム受信フェーズは、ループマスタ決定前とループマスタ決定後に分かれる。
【００４４】
（ｂ−１）ループマスタ決定前：各デバイスはＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅという固有の識別情報をフレームというデータ形式（各４バイトのＳＯＦ（Ｓｔａｒｔ  Ｏｆ  Ｆｉｌｅ）とＥＯＦ（Ｅｎｄ  Ｏｆ  Ｆｉｌｅ）の間に挟まれた４バイトのデータ）で一定方向、例えば、ＨＤＤ１１−１、ＨＤＤ１１−２、・・、ＨＤＤ１１−ｍ、サーバ１２−１、サーバ１２−２・・サーバ１２−ｎの方向へ送信する。次にフレームを受け取ったデバイスは、フレームに書き込まれたＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅと自分のＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅを算術比較して、自分のＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅのほうが小さければ、受け取ったフレームのＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅを自分のＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅに書き換えて、次のデバイスに転送する。
【００４５】
一方、自分のＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅのほうが大きければ、そのままのフレームを次のデバイスに転送する。結果的に、フレームには最小のＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅが書き込まれる。従って、自分のＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅを書き込んだフレームが自分の所に戻ってきたところで、自分のＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅが最小であることが分かる。この最小のＷｏｒｌｄ−ｗｉｄｅ  ｎａｍｅを持ったデバイスをループマスタとする。以後、ファイバチャンネル調停ループシステム１の初期化はループマスタが主導する。
【００４６】
ループマスタ決定前においてデバイスに障害が生じると、ＬＩＳＭフレームが障害の発生したデバイスで堰きとめられて以降のデバイスに転送されない。したがって、各受信ポートで受信したＬＩＳＭフレームの数を比較することにより障害の発生したデバイスを特定することができる。
【００４７】
（ｂ−２）ループマスタ決定後：ループマスタが主導して各デバイスの物理アドレスを決定する。このフェーズが終了すると、スイッチ装置１０は、各デバイスのＡＬＰＡマップを取得する。このフェーズではループマスタポートを起点にフレームが転送されるので、ループマスタポートを起点に各受信ポートで受信したフレームの数を比較することにより障害の発生したデバイスを特定することができる。
【００４８】
（ｃ）ＣＬＳ（Ｆｉｂｒｅ  Ｃｈａｎｎｎｅｌ  Ｃｌｏｓｅ  Ｐｒｉｍｉｔｉｖｅ）受信フェーズ：ループマスタがＣＬＳと呼ばれる初期化終了プリミティブを送信して、調停ループに接続されたデバイスがその初期化終了プリミティブを順次転送し、ループマスタが一回りしてきた初期化終了プリミティブを受信して初期化が終了する。一つ前のデバイスから転送されてきた初期化終了プリミティブを次のデバイスに転送できないと、そのデバイスで初期化終了プリミティブが滞留し、ループマスタに戻らないのでＣＬＳ受信フェーズは、終了しない。したがって、各受信ポートでＣＬＳを受信したか否かを検出することにより障害の発生したデバイスを特定することができる。
【００４９】
（１−４）ループ状態データおよびループ初期化データ
次に、図３および図５を参照して、図１に示すループ状態データ記憶部１０４１に記憶されたループ状態データおよびループ初期化データ記憶部２０２１に記憶されたループ初期化データについて説明する。図３は、図１に示すループ状態データ記憶部１０４１に記憶されたループ状態データを示す図である。また、図５は、図１に示すループ初期化データ記憶部２０２１に記憶されたループ初期化データを示す図である。
【００５０】
まず、図３に示すように、ループ状態データ記憶部１０４１は、１８のポートレジスタと代表レジスタからなっている。また、ループ状態検出部１０５２は、１８の各ポートに関してプリミティブ検出データ、フレーム数データを検出し、記録する。また、代表レジスタに関してループ状態検出データ、ＡＬＰＡマップを検出し、記録する。
【００５１】
ループ状態検出部１０５２は、各受信ポートでＬＩＰまたはＣＬＳなどのプリミティブを受信した場合は、受信したプリミティブをプリミティブ検出データとして該当するポートレジスタに記録する。また、各受信ポートで受信したＬＩＳＭフレームなどのフレーム数をカウントした結果をフレーム数データとして該当するポートレジスタに記録する。
【００５２】
ループ状態検出部１０５２は、調停ループの状態を検出し、検出した調停ループの状態をループ状態検出データとして代表レジスタに記録する。ここで、図４を参照して、図３に示すループ状態検出データのデータ構造について説明する。図４は、図３に示すループ状態検出データのデータ構造を示す図である。
【００５３】
同図に示すように、ループ状態検出データは、４バイトのデータであり、０〜３ビットがループの状態を識別するループ状態ビットを示し、ループ状態ビットの変化からループに接続障害が発生したか否かを検出することができる。具体的には、ループ状態ビットは、（ａ）“００００”が何もしていない状態、（ｂ）“０００１”がループ初期化開始プリミティブが検出される状態、（ｃ）“００１０”がフレームのＳＯＦが検出される状態、（ｄ）“１０１１”が初期化完了の状態を示す。例えば、ループ初期化が開始しているに関わらずループ状態ビットが“００００”で、何もしていない状態であることからループに接続障害が発生していることが分かる。また、ループ状態ビットが変化しないことから初期化が何らかの理由で停止していることが分かる。また、ループ状態ビットが“１０１１”から他の状態に遷移した場合にループに接続障害が発生したことが分かる。
【００５４】
また、ループ状態検出データは、１０〜１４ビットがＬＩＰ開始ポートまたはループマスタポートを示す。ＬＩＰ開始ポートまたはループマスタポートからＬＩＰプリミティブを送信したポートまたはループマスタポートが識別できる。なお、ループ状態検出データのその他のビットは、本実施例に直接関わらないので説明は省略する。
【００５５】
続いて、図５に示すように、ループ初期化データは、インデックスとアドレスとを付加した一連のループ状態データである。インデックスは、ループ状態データ読取部２０３によって５０μｓｅｃごとに読み出された最新のループ状態データを識別するインデックスであり、アドレスは、インデックスで識別された最新のループ状態データから始まる一連のループ状態データの記憶領域の開始アドレスである。
【００５６】
初期化障害検出部２０４１は、ループ状態検出データのループ状態ビットの変化から初期化障害が発生したか否かを検出し、初期化障害が発生したことを検出した場合は、ループ初期化データのインデックスに障害検出フラグを対応付けたループ障害検出データをループ障害検出データ記憶部２０２２に記憶させる。また、障害デバイス特定部２０４２は、ループ初期化データ記憶部２０２１に記憶されているループ初期化データを読み出して各ポートのプリミティブ検出データまたはフレーム数データから障害の発生した障害デバイスを特定する。
【００５７】
（１−５）初期化処理手順
次に、図６を参照して、図１に示すループ状態監視装置２０の初期化処理手順について説明する。図６は、図１に示すループ状態監視装置２０の初期化処理手順を示すフローチャートである。本手順は、ファイバチャンネル調停ループシステム１が始動する場合の初期化処理として繰り返し行われる。
【００５８】
同図に示すように、まず、ループ状態データ読取部２０３は、スイッチ装置１０から読み取ったループ状態データをループ初期化データに順次追加し、更新したインデックスおよびアドレスに対応付けてループ初期化データ記憶部２０２１に記憶させる（ステップＳ６０１）。そして、初期化障害検出部２０４１は、ループ初期化データ記憶部２０２１からループ初期化データを読み出して、ループ初期化データからインデックスを参照する（ステップＳ６０２）。
【００５９】
そして、初期化障害検出部２０４１は、前回の読み出し時からインデックスが更新されているか否かを判定する（ステップＳ６０３）。その結果、前回の読み出し時からインデックスが更新されていない場合は（ステップＳ６０３否定）、初期化障害検出部２０４１は、ステップＳ６０１に戻る。一方、前回の読み出し時からインデックスが更新されている場合は（ステップＳ６０３肯定）、初期化障害検出部２０４１は、最新のループ初期化データを参照する（ステップＳ６０４）。
【００６０】
そして、初期化障害検出部２０４１は、ループ障害検出データ記憶部２０２２に記憶されているループ障害検出データに障害検出フラグが設定されているか否かを判定する（ステップＳ６０５）。その結果、ループ障害検出データに障害検出フラグが設定されている場合は（ステップＳ６０５肯定）、制御部２０４は、初期化障害処理を行う（ステップＳ６０８）。一方、ループ障害検出データに障害検出フラグが設定されていない場合は（ステップＳ６０５否定）、初期化障害検出部２０４１は、ループ初期化データのループ状態検出データから初期化障害が検出されたか否かを判定する（ステップＳ６０６）。例えば、ループ初期化が開始しているに関わらずループ状態ビットが“００００”で、何もしていない状態であることからループに接続障害が発生していると判定する。
【００６１】
その結果、ループ状態検出データから初期化障害が検出されなかった場合は（ステップＳ６０６否定）、初期化障害検出部２０４１は、本手順を終了する。一方、ループ状態検出データから初期化障害が検出された場合は（ステップＳ６０６肯定）、初期化障害検出部２０４１は、インデックスに対応付けられた障害検出フラグをオンにしてループ障害検出データとして記憶し（ステップＳ６０７）、初期化障害検出部２０４１は、初期化障害処理を行う（ステップＳ６０８）。
【００６２】
このように、初期化障害検出部２０４１は、ループ状態検出データから初期化障害が検出されたか否かを判定し、初期化障害が検出された場合は初期化障害処理を行うこととしたので、ループ状態監視装置２０は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に初期化障害を検出し、迅速にループを正常な状態に復旧することができる。
【００６３】
（１−６）初期化障害処理手順
次に、図７を参照して、図６に示す初期化障害処理手順、ステップＳ６０８をさらに詳細に説明する。図７は、図６に示す初期化障害処理手順、ステップＳ６０８をさらに詳細に示すフローチャートである。同図に示すように、初期化障害検出部２０４１は、図４に示すループ初期化データのループ状態検出データをさかのぼって参照する（ステップＳ７０１）。さらに、初期化障害検出部２０４１は、ループ状態検出データのループ状態ビットから初期化の進行状態を判定する（ステップＳ７０２）。
【００６４】
そして、初期化障害検出部２０４１は、ループ状態ビットからＬＩＰ受信時にデバイス障害が発生したか否かを判定する（ステップＳ７０３）。その結果、ＬＩＰ受信時にデバイス障害が発生した場合は（ステップＳ７０３肯定）、初期化障害検出部２０４１は、ＬＩＰ受信時のデバイス障害処理手順に進む（ステップＳ７０４）。
【００６５】
一方、ＬＩＰ受信時にデバイス障害が発生しなかった場合は（ステップＳ７０３否定）、初期化障害検出部２０４１は、さらにループ状態ビットからＬＩＳＭ〜ＬＩＬＰフレーム受信時にデバイス障害が発生したか否かを判定する（ステップＳ７０５）。その結果、ＬＩＳＭ〜ＬＩＬＰフレーム受信時にデバイス障害が発生した場合は（ステップＳ７０５肯定）、初期化障害検出部２０４１は、ＬＩＳＭ〜ＬＩＬＰフレーム受信時のデバイス障害処理手順に進む（ステップＳ７０６）。
【００６６】
一方、ＬＩＳＭ〜ＬＩＬＰフレーム受信時にデバイス障害が発生しなかった場合は（ステップＳ７０５否定）、初期化障害検出部２０４１は、さらにループ状態ビットからＣＬＳ受信時にデバイス障害が発生したか否かを判定する（ステップＳ７０７）。その結果、ＣＬＳ受信時にデバイス障害が発生した場合は（ステップＳ７０７肯定）、初期化障害検出部２０４１は、ＣＬＳ受信時のデバイス障害処理手順に進む（ステップＳ７０８）。一方、ＣＬＳ受信時にデバイス障害が発生しなかった場合は（ステップＳ７０７否定）、初期化障害検出部２０４１は、本手順を終了する。
【００６７】
このように、初期化障害検出部２０４１は、ループ状態検出データのループ状態ビットからデバイス障害が発生した初期化フェーズを検出し、それぞれの初期化フェーズでデバイス障害処理手順を行うこととしたので、ループ状態監視装置２０は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係る初期化フェーズを検出し、迅速にループを正常な状態に復旧することができる。
【００６８】
（１−７）ＬＩＰ受信時のデバイス障害処理手順
次に、図８を参照して、図７に示すＬＩＰ受信時の障害デバイス処理手順、ステップＳ７０４をさらに詳細に説明する。図８は、図７に示すＬＩＰ受信時の障害デバイス処理手順、ステップＳ７０４をさらに詳細に示すフローチャートである。同図に示すように、障害デバイス特定部２０４２は、図４に示すループ状態検出データの１０〜１４ビットからＬＩＰ開始ポートを参照する（ステップＳ８０１）。
【００６９】
そして、障害デバイス特定部２０４２は、ＬＩＰ開始ポートからポート毎にプリミティブ検出データを参照する（ステップＳ８０２）。そして、ループ初期化データを過去にさかのぼって１ｍｓｅｃの間ＬＩＰを受信していないデバイスがあるか否かを判定する（ステップＳ８０３）。その結果、１ｍｓｅｃの間ＬＩＰを受信していないデバイスがある場合は（ステップＳ８０３肯定）、障害デバイス特定部２０４２は、１ｍｓｅｃの間ＬＩＰを受信していないデバイスをバイパスさせるよう障害デバイス分離部１０５１を制御する（ステップＳ８０４）。一方、１ｍｓｅｃの間ＬＩＰを受信していないデバイスがない場合は（ステップＳ８０３否定）、障害デバイス特定部２０４２は、本手順を終了する。なお、ループ初期化データは、５０μｓｅｃ毎に読み出されているので、１ｍｓｅｃとは２０領域分のデータに相当する。
【００７０】
このように、障害デバイス特定部２０４２は、１ｍｓｅｃの間ＬＩＰの受信がないデバイスがある場合は障害デバイス分離部１０５１に該当するデバイスをバイパスさせることとしたので、ループ状態監視装置２０は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができる。
【００７１】
（１−８）ＬＩＳＭ〜ＬＩＬＰフレーム受信時のデバイス障害処理手順
次に、図９を参照して、図７に示すＬＩＳＭ〜ＬＩＬＰフレーム受信時の障害デバイス処理手順、ステップＳ７０６をさらに詳細に説明する。図９は、図７に示すＬＩＳＭ〜ＬＩＬＰフレーム受信時の障害デバイス処理手順、ステップＳ７０６をさらに詳細に示すフローチャートである。同図に示すように、障害デバイス特定部２０４２は、初期化フェーズがループマスタ決定前か否かを判定する（ステップＳ９０１）。その結果、初期化フェーズがループマスタ決定後である場合は（ステップＳ９０１否定）、障害デバイス特定部２０４２は、図４に示すループ初期化データの１０〜１４ビットからループマスタポートを参照する（ステップＳ９０２）。
【００７２】
一方、初期化フェーズがループマスタ決定前である場合は（ステップＳ９０１肯定）、障害デバイス特定部２０４２は、ループ初期化データからポート毎にフレーム数データを参照する（ステップＳ９０３）。そして、障害デバイス特定部２０４２は、１０ｍｓの間フレームを受信していないデバイスがあるか否かを判定する（ステップＳ９０４）。その結果、１０ｍｓの間フレームを受信していないデバイスがある場合は（ステップＳ９０４肯定）、障害デバイス特定部２０４２は、１０ｍｓｅｃの間フレームを受信していないデバイスをバイパスするようスイッチ装置１０を制御する（ステップＳ９０５）。一方、１０ｍｓｅｃの間フレームを受信していないデバイスがない場合は（ステップＳ９０４否定）、障害デバイス特定部２０４２は、本手順を終了する。なお、ループ初期化データは、５０μｓｅｃ毎に読み出されているので、１０ｍｓｅｃとは２００領域分のデータに相当する。
【００７３】
このように、障害デバイス特定部２０４２は、１０ｍｓｅｃの間フレームを受信していないデバイスがある場合は障害デバイス分離部１０５１に該当するデバイスをバイパスさせることとしたので、ループ状態監視装置２０は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができる。
【００７４】
（１−９）ＣＬＳ受信時のデバイス障害処理手順
次に、図１０を参照して、図７に示すＣＬＳ受信時の障害デバイス処理手順、ステップＳ７０８をさらに詳細に説明する。図１０は、図７に示すＣＬＳ受信時の障害デバイス処理手順、ステップＳ７０８をさらに詳細に示すフローチャートである。同図に示すように、障害デバイス特定部２０４２は、図４に示すループ状態検出データの１０〜１４ビットからループマスタポートを参照する（ステップＳ１００１）。
【００７５】
そして、障害デバイス特定部２０４２は、ループマスタポートからポート毎にプリミティブ検出データを参照する（ステップＳ１００２）。そして、ループ初期化データを過去にさかのぼって１ｍｓｅｃの間ＣＬＳを受信していないデバイスがあるか否かを判定する（ステップＳ１００３）。その結果、１ｍｓｅｃの間ＣＬＳを受信していないデバイスがある場合は（ステップＳ１００３肯定）、障害デバイス特定部２０４２は、１ｍｓｅｃの間ＣＬＳを受信していないデバイスをバイパスするようスイッチ装置１０を制御する（ステップＳ１００４）。一方、１ｍｓｅｃの間ＣＬＳを受信していないデバイスがない場合は（ステップＳ１００３否定）、障害デバイス特定部２０４２は、本手順を終了する。
【００７６】
このように、障害デバイス特定部２０４２は、１ｍｓｅｃの間ＣＬＳを受信していないデバイスがある場合はスイッチ装置１０に該当するデバイスをバイパスさせることとしたので、ループ状態監視装置２０は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができる。
【００７７】
上述してきたように、本実施例１では、初期化障害検出部２０４１は、ループ状態検出データから調停ループの初期化における接続障害である初期化障害が発生したことを検出し、障害デバイス特定部２０４２は、初期化障害の発生が検出された場合に、プリミティブ検出データまたはフレーム数データから初期化障害に係るデバイスを特定することとしたので、ループ状態監視装置２０は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができる。
【００７８】
また、ループ状態データ読取部２０３は、スイッチ装置１０から初期化におけるループ状態データを読み取って、読み取ったループ状態データに識別情報を付加し、ループ初期化データ記憶部２０２１は、識別情報を付加されたループ状態データを順次追加して、ループ初期化データとして記憶し、ループ初期化障害検出部２０４１は、ループ初期化データ記憶２０２１に記憶されたループ初期化データのループ状態検出データから初期化障害が発生したことを検出し、障害デバイス特定部２０４２は、初期化障害の発生が検出された場合に、ループ初期化データのプリミティブ検出データまたはフレーム数データから初期化障害に係るデバイスを特定することとしたので、ループ状態監視装置２０は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができる。
【００７９】
また、識別情報は、ループ初期化データを時系列データとして識別するインデックスとループ初期化データの先頭のアドレス情報であることとしたので、ループ状態監視装置２０は、ループ初期化データを時系列データとして識別することができ、またループ初期化データを記憶装置から容易に取り出すことができる。
【００８０】
また、スイッチ装置１０は、障害デバイス分離部２０５１が初期化障害に係るデバイスを分離し、障害デバイス特定部２０４２は、初期化障害に係るデバイスを調停ループから分離させるよう制御することとしたので、ループ状態監視装置２０は、特定した接続障害に係るデバイスを調停ループから容易に分離し、迅速にループを正常な状態に復旧することができる。
【００８１】
また、データ計数部２０４２ａは、初期化に係るプリミティブまたはフレームの受信が検出されていないプリミティブ検出データまたはフレーム数データをデバイス毎に計数し、障害デバイス特定部２０４２は、データ計数部２０４２ａによって計数されたプリミティブ検出データまたはフレーム数データの数が所定の数以上である場合、デバイスを前記初期化障害に係るデバイスとして特定することとしたので、ループ状態監視装置２０は、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを容易に特定することができる。
【実施例２】
【００８２】
ところで、実施例１では、ループ状態監視装置２０がスイッチ装置１０から調停ループのループ初期化データを読み取って記憶し、記憶したループ初期化データに基づいて接続障害に係るデバイスを特定する場合について説明した。しかし、本発明はこれに限定されるものではなく、ループ状態監視装置がスイッチ装置に記憶されたループ初期化データに基づいて接続障害に係るデバイスを特定する場合に適用することができる。本実施例２では、ループ状態監視装置がスイッチ装置に記憶されたループ初期化データに基づいて接続障害に係るデバイスを特定する場合について説明する。
【００８３】
図１１を参照して、実施例２に係るファイバチャンネル調停ループシステム１ａの構成について説明する。図１１は、実施例２に係るファイバチャンネル調停ループシステム１ａの構成を示す機能ブロック図である。ここでは、実施例１に係るファイバチャンネル調停ループシステム１の構成と共通な内容については説明を省略する。
【００８４】
同図に示すように、実施例１に係るファイバチャンネル調停ループシステム１の構成との相違は、実施例１のループ状態データ読取部２０３をスイッチ装置１０ａに取り込んだことである。これに伴い、スイッチ装置１０ａには、ループ初期化データ記録部１０５３、ループ初期化データ記憶部１０４２が追加された。また、ループ状態監視装置２０ａからループ状態データ読取部２０３、ループ初期化データ記憶部２０２１がなくなり、ループ初期化データ取得部２０４３が追加された。
【００８５】
ループ初期化データ記録部１０５３は、調停ループの初期化における一連のループ状態データをループ初期化データとしてループ初期化データ記憶部１０４２に記録する記録部である。例えば、ループ初期化データ記録部１０５３は、調停ループの初期化処理中にループ状態データ記憶部１０４１から５０μｓｅｃ間隔でループ状態データを読み出し、読み出すたびに、読み出した一連のループ状態データの先頭にインデックスとアドレスを付加し、インデックスとアドレスを付加した一連のループ状態データをループ初期化データとしてループ初期化データ記憶部１０４２に記憶させる。
【００８６】
ループ初期化データ取得部２０４３は、スイッチ装置１０ａのループ初期化データ記憶部１０４２からループ初期化データを取得する取得部である。なお、ループ状態監視装置２０ａの初期化処理手順、初期化障害処理手順などについては、スイッチ装置１０ａのループ初期化データ記憶部１０４２からループ初期化データを読み出して、読み出したループ初期化データに基づいて実施することを除けば実施例１の場合と同じ手順で行うことができる。
【００８７】
このように、初期化障害検出部２０４１は、スイッチ装置１０ａから取得したループ初期化データに基づいて調停ループの初期化における初期化障害を検出し、障害デバイス特定部２０４２は、初期化障害に係る初期化フェーズ、初期化障害に係るデバイスを特定し、特定したデバイスを調停ループから分離するよう障害デバイス分離部１０５１を制御することとしたので、ループ状態監視装置１０ａは、調停ループにおいて初期化処理が停止しているにも関わらず信号異常が検出されない場合に接続障害に係るデバイスを特定し、迅速にループを正常な状態に復旧することができる。
【００８８】
（付記１）複数のデバイスと、該複数のデバイスを接続制御するスイッチを有する調停ループの状態を監視するループ状態監視装置であって、
前記調停ループの状態を検出したデータであるループ状態検出データと、前記複数のデバイスを接続する前記スイッチの複数のポートのそれぞれでプリミティブを受信したか否かを検出したデータであるプリミティブ検出データと、該複数のポートのそれぞれで受信したフレーム数を検出したデータであるフレーム数データとのいずれか一つを少なくとも含むループ状態データを有し、
前記ループ状態検出データから前記調停ループの初期化における接続障害である初期化障害が発生したことを検出するループ初期化障害検出手段と、
前記初期化障害の発生が検出された場合に、前記プリミティブ検出データまたは前記フレーム数データから該初期化障害に係るデバイスを特定する障害デバイス特定手段と、
を備えたことを特徴とするループ状態監視装置。
【００８９】
（付記２）前記スイッチから前記初期化における前記ループ状態データを読み取って、読み取ったループ状態データに識別情報を付加するループ状態データ読取手段と、
前記識別情報を付加されたループ状態データを順次追加して、ループ初期化データとして記憶するループ初期化データ記憶手段と、をさらに備え、
前記ループ初期化障害検出手段は、前記ループ初期化データ記憶手段に記憶されたループ初期化データのループ状態検出データから前記初期化障害が発生したことを検出し、
前記障害デバイス特定手段は、前記初期化障害の発生が検出された場合に、前記ループ初期化データのプリミティブ検出データまたはフレーム数データから該初期化障害に係るデバイスを特定することを特徴とする付記１に記載のループ状態監視装置。
【００９０】
（付記３）前記識別情報は、前記ループ初期化データを時系列データとして識別するインデックスと該ループ初期化データの先頭のアドレス情報であることを特徴とする付記２に記載のループ状態監視装置。
【００９１】
（付記４）前記スイッチは、前記初期化障害に係るデバイスを分離する障害デバイス分離手段をさらに備え、
前記障害デバイス特定手段は、前記初期化障害に係るデバイスを前記調停ループから分離させるよう前記障害デバイス分離手段を制御することを特徴とする付記１または２に記載のループ状態監視装置。
【００９２】
（付記５）前記初期化に係るプリミティブまたはフレームの受信が検出されていない前記プリミティブ検出データまたはフレーム数データを前記デバイス毎に計数するデータ計数手段をさらに備え、
前記障害デバイス特定手段は、前記データ計数手段によって計数されたプリミティブ検出データまたはフレーム数データの数が所定の数以上である場合、前記デバイスを前記初期化障害に係るデバイスとして特定することを特徴とする付記１または２に記載のループ状態監視装置。
【００９３】
（付記６）前記データ計数手段は、前記初期化を開始するループ初期化開始プリミティブの受信が検出されていない前記プリミティブ検出データを前記デバイス毎に計数することを特徴とする付記５に記載のループ状態監視装置。
【００９４】
（付記７）前記データ計数手段は、前記初期化におけるフレームの受信が検出されていない前記フレーム数データを前記デバイス毎に計数することを特徴とする付記５に記載のループ状態監視装置。
【００９５】
（付記８）前記データ計数手段は、前記初期化を終了する初期化終了プリミティブの受信が検出されていない前記プリミティブ検出データを前記デバイス毎に計数することを特徴とする付記８に記載のループ状態監視装置。
【００９６】
（付記９）複数のデバイスと、該複数のデバイスを接続制御するスイッチを有する調停ループの状態を監視するループ状態監視方法であって、
前記調停ループの状態を検出したデータであるループ状態検出データと、前記複数のデバイスを接続する前記スイッチの複数のポートのそれぞれでプリミティブを受信したか否かを検出したデータであるプリミティブ検出データと、該複数のポートのそれぞれで受信したフレーム数を検出したデータであるフレーム数データとのいずれか一つを少なくとも含むループ状態データを有し、
前記ループ状態検出データから前記調停ループの初期化における接続障害である初期化障害が発生したことを検出するループ初期化障害検出工程と、
前記初期化障害の発生が検出された場合に、前記プリミティブ検出データまたは前記フレーム数データから該初期化障害に係るデバイスを特定する障害デバイス特定工程と、
を含んだことを特徴とするループ状態監視方法。
【００９７】
（付記１０）複数のデバイスと、該複数のデバイスを接続制御するスイッチを有する調停ループの状態を監視するループ状態監視プログラムであって、
前記調停ループの状態を検出したデータであるループ状態検出データと、前記複数のデバイスを接続する前記スイッチの複数のポートのそれぞれでプリミティブを受信したか否かを検出したデータであるプリミティブ検出データと、該複数のポートのそれぞれで受信したフレーム数を検出したデータであるフレーム数データとのいずれか一つを少なくとも含むループ状態データを有し、
前記ループ状態検出データから前記調停ループの初期化における接続障害である初期化障害が発生したことを検出するループ初期化障害検出手順と、
前記初期化障害の発生が検出された場合に、前記プリミティブ検出データまたは前記フレーム数データから該初期化障害に係るデバイスを特定する障害デバイス特定手順と、
をコンピュータに実行させることを特徴とするループ状態監視プログラム。
【産業上の利用可能性】
【００９８】
以上のように、本発明にかかるループ状態監視装置は、スイッチ装置、ファイバチャンネル調停ループに適している。
【図面の簡単な説明】
【００９９】
【図１】実施例１に係るファイバチャンネル調停ループシステムの構成を示す機能ブロック図である。
【図２】図１に示すファイバチャンネル調停ループシステムの初期化における接続を示す図である。
【図３】図１に示すループ状態データ記憶部に記憶されたループ状態データを示す図である。
【図４】図３に示すループ状態検出データのデータ構造を示す図である。
【図５】図１に示すループ初期化データ記憶部に記憶されたループ初期化データを示す図である。
【図６】図１に示すループ状態監視装置の初期化処理手順を示すフローチャートである。
【図７】図６に示す初期化障害処理手順をさらに詳細に示すフローチャートである。
【図８】図７に示すＬＩＰ受信時の障害デバイス処理手順をさらに詳細に示すフローチャートである。
【図９】図７に示すＬＩＳＭ〜ＬＩＬＰフレーム受信時の障害デバイス処理手順をさらに詳細に示すフローチャートである。
【図１０】図７に示すＣＬＳ受信時の障害デバイス処理手順をさらに詳細に示すフローチャートである。
【図１１】実施例２に係るファイバチャンネル調停ループシステムの構成を示す機能ブロック図である。
【符号の説明】
【０１００】
１、１ａ    ファイバチャンネル調停ループシステム
１０、１０ａ    スイッチ装置
２０、２０ａ    ループ状態監視装置
１１−１、１１−２、１１−ｍ    ＨＤＤ
１２−１、１２−２、１２−ｎ    サーバ
１３−１、１３−２、１３−ｍ、１４−１、１４−２、１４−ｎ    ファイバチャンネル
１０１、２０１    ＩＦ部
１０２−１、１０２−２、１０２−ｍ、１０３−１、１０３−２、１０３−ｎ    ポート
１０４、２０２    記憶部
１０５、２０４    制御部
２０３    ループ状態データ読取部
１０４１    ループ状態データ記憶部
１０５１    障害デバイス分離部
１０５２    ループ状態検出部
１０５３    ループ初期化データ記録部
１０４２、２０２１    ループ初期化データ記憶部
２０２２    ループ障害検出データ記憶部
２０４１    初期化障害検出部
２０４２    障害デバイス特定部
２０４３    ループ初期化データ取得部
【図１】
2006048162.tif 000003
【図２】
2006048162.tif 000004
【図３】
2006048162.tif 000005
【図４】
2006048162.tif 000006
【図５】
2006048162.tif 000007
【図６】
2006048162.tif 000008
【図７】
2006048162.tif 000009
【図８】
2006048162.tif 000010
【図９】
2006048162.tif 000011
【図１０】
2006048162.tif 000012
【図１１】
2006048162.tif 000013