(57)【特許請求の範囲】
【請求項１】
情報通信装置間の通信を中継する中継装置であって、
自装置と、該自装置の前段に配置され該自装置と論理的経路で接続される第１の前段中継装置との間の第１の前段通信状態の変化、及び、該自装置と、該自装置の後段に配置され該自装置と該論理的経路で接続される第１の後段中継装置との間の第１の後段通信状態の変化を検出する検出部と、
前記自装置が中継する論理的経路とは異なる他の論理的経路を中継する別経路中継装置から、該別経路中継装置と、該別経路中継装置の前段に配置され該別経路中継装置と論理的経路で接続される第２の前段中継装置との間の第２の前段通信状態、及び、該別経路中継装置と、該別経路中継装置の後段に配置され該別経路中継装置と論理的経路で接続される第２の後段中継装置との間の第２の後段通信状態を取得する通信状態取得部と、
前記検出部が前記第１の前段通信状態の変化若しくは前記第１の後段通信状態の変化を検出した場合、前記第１及び前記第２の前段通信状態並びに前記第１及び前記第２の後段通信状態の組み合わせに応じて、前記自装置と前記別経路中継装置との間の論理的経路を有効にする経路接続部と
を備え、
前記経路接続部は、
前記第１の前段通信状態と前記第２の前段通信状態とのどちらか一方のみが異常状態である場合に、前記自装置と前記別経路中継装置との間の論理的経路を有効にし、
前記第１の前段通信状態と前記第２の前段通信状態との両方が正常状態であって且つ前記第１の後段通信状態と前記第２の後段通信状態とのうちのどちらか一方若しくは両方が異常状態である場合には、前記自装置が中継する論理的経路と前記他の論理的経路との間の論理的経路が前記自装置よりも前段で有効とされていない場合に、前記自装置と前記別経路中継装置との間の論理的経路を有効にする、
ことを特徴とする中継装置。
【請求項２】
さらに、
前記情報通信装置間において配置される中継装置の各々に対して、前記自装置と前記別経路中継装置との間の論理的経路を有効にする旨の通知を発行する処理を行う処理部
を備えることを特徴とする請求項１に記載の中継装置。
【請求項３】
さらに、
前記第１の前段通信状態の変化若しくは前記第１の後段通信状態の変化が検出された場合、該検出された変化に応じて、前記情報通信装置間において配置される中継装置の各々に対して、該中継装置の各々の前段または後段に配置され該中継装置の各々と論理的経路で接続される中継装置と、該中継装置の各々との間の通信状態を収集させる情報収集要求を発行する情報収集要求発行部
を備えることを特徴とする請求項１に記載の中継装置。
【請求項４】
情報通信装置間の通信を中継する中継装置であって、
自装置と、該自装置の前段または後段に配置され該自装置と論理的経路で接続される第1の中継装置との間の第１の通信状態の変化を検出する検出部と、
前記自装置が中継する論理的経路とは異なる他の論理的経路を中継する第２の中継装置から、該第２の中継装置と、該第２の中継装置の前段または後段に配置され該第２の中継装置と論理的経路で接続される第３の中継装置との間の第２の通信状態を取得する通信状態取得部と、
前記検出部が前記第１の通信状態の変化を検出した場合、前記第１及び第２の通信状態の組み合わせに応じて、前記自装置と前記第２の中継装置との間の論理的経路を有効にする経路接続部と、
前記情報通信装置間において配置される第５の中継装置に対して、前記自装置と前記第２の中継装置との間の論理的経路を有効にする旨の通知を発行する処理を行う処理部と
を備え、
前記経路接続部は、前記第１の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第４の中継装置と、前記第１の中継装置との間の第３の通信状態に応じて、前記自装置と前記第２の中継装置との間の論理的経路を有効にし、
前記第５の中継装置の処理部は、前記自装置から、前記通知を受信した場合、該第５の中継装置と、該第５の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第６の中継装置との間の論理的経路を有効にする
ことを特徴とする中継装置。
【請求項５】
情報通信装置間の通信を中継する複数の中継装置を備えた情報通信システムであって、
前記複数の中継装置のうちの１つである中継装置は、
自装置と、該自装置の前段に配置され該自装置と論理的経路で接続される第１の前段中継装置との間の第１の前段通信状態の変化、及び、該自装置と、該自装置の後段に配置され該自装置と該論理的経路で接続される第１の後段中継装置との間の第１の後段通信状態の変化を検出する検出部と、
前記自装置が中継する論理的経路とは異なる他の論理的経路を中継する別経路中継装置から、該別経路中継装置と、該別経路中継装置の前段に配置され該別経路中継装置と論理的経路で接続される第２の前段中継装置との間の第２の前段通信状態、及び、該別経路中継装置と、該別経路中継装置の後段に配置され該別経路中継装置と論理的経路で接続される第２の後段中継装置との間の第２の後段通信状態を取得する通信状態取得部と、
前記検出部が前記第１の前段通信状態の変化若しくは前記第１の後段通信状態の変化を検出した場合、前記第１及び前記第２の前段通信状態並びに前記第１及び前記第２の後段通信状態の組み合わせに応じて、前記自装置と前記別経路中継装置との間の論理的経路を有効にする経路接続部と
を備え、
前記経路接続部は、
前記第１の前段通信状態と前記第２の前段通信状態とのどちらか一方のみが異常状態である場合に、前記自装置と前記別経路中継装置との間の論理的経路を有効にし、
前記第１の前段通信状態と前記第２の前段通信状態との両方が正常状態であって且つ前記第１の後段通信状態と前記第２の後段通信状態とのうちのどちらか一方若しくは両方が異常状態である場合には、前記自装置が中継する論理的経路と前記他の論理的経路との間の論理的経路が前記自装置よりも前段で有効とされていない場合に、前記自装置と前記別経路中継装置との間の論理的経路を有効にする、
ことを特徴とする情報通信システム。
【請求項６】
情報通信装置間の通信を中継する複数の中継装置を備えた情報通信システムであって、
前記複数の中継装置のうちの１つである中継装置は、
自装置と、該自装置の前段または後段に配置され該自装置と論理的経路で接続される第1の中継装置との間の第１の通信状態の変化を検出する検出部と、
前記自装置が中継する論理的経路とは異なる他の論理的経路を中継する第２の中継装置から、該第２の中継装置と、該第２の中継装置の前段または後段に配置され該第２の中継装置と論理的経路で接続される第３の中継装置との間の第２の通信状態を取得する通信状態取得部と、
前記検出部が前記第１の通信状態の変化を検出した場合、前記第１及び第２の通信状態の組み合わせに応じて、前記自装置と前記第２の中継装置との間の論理的経路を有効にする経路接続部と、
前記情報通信装置間において配置される第５の中継装置に対して、前記自装置と前記第２の中継装置との間の論理的経路を有効にする旨の通知を発行する処理を行う処理部と
を備え、
前記経路接続部は、前記第１の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第４の中継装置と、前記第１の中継装置との間の第３の通信状態に応じて、前記自装置と前記第２の中継装置との間の論理的経路を有効にし、
前記第５の中継装置の処理部は、前記自装置から、前記通知を受信した場合、該第５の中継装置と、該第５の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第６の中継装置との間の論理的経路を有効にする
ことを特徴とする情報通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報通信装置間における機器の接続に関する。
【背景技術】
【０００２】
バックエンドインターフェースにＳＡＳ（Ｓｅｒｉａｌ Ａｔｔａｃｈｅｄ ＳＣＳＩ）エクスパンダ（Ｅｘｐａｎｄｅｒ）を多段に接続し、そのＳＡＳエクスパンダを介して複数の記憶装置と接続するストレージシステムが知られている。
【０００３】
ストレージシステムは、データを記憶する複数の記憶装置と、記憶装置に対するアクセスの制御を行うコントローラとを含む。
【０００４】
コントローラは、ストレージシステムに接続されるホストコンピュータから送信された処理要求やデータの入出力要求に応じて、記憶装置に対するアクセスを制御する。また、コントローラは、多段に配置されたＳＡＳエクスパンダを介して記憶装置に接続される。接続パスは二重化され、何れかのパスに障害が発生しても、他方のパスを用いて、システムを継続的に運用できる。
【０００５】
このようなストレージシステムにおいて、バックエンド接続のトポロジ変化時に、コンフィギュレーションを再構築する方法として、ＢＲＯＡＤＣＡＳＴ（ＣＨＡＮＧＥ）（以下、ＢＣ（ＣＨＧ）と記す）と呼ばれる情報フレームを発行する方法が知られている。
【０００６】
この方法において、ＳＡＳ経路切断が発生したときの処理の流れは例えば以下のようになる。
【０００７】
ＳＡＳエクスパンダは、コマンド送信中にエラーが発生したこと等から、ＳＡＳ経路切断を検出すると、上位エクスパンダもしくはコントローラに対して、ＢＣ（ＣＨＧ）を発行する。ＢＣ（ＣＨＧ）を受信したＳＡＳエクスパンダは、更にその上位のＳＡＳエクスパンダまたはコントローラに対してＢＣ（ＣＨＧ）を転送する。ＢＣ（ＣＨＧ）を受信したＳＡＳエクスパンダは、配下のデバイスの接続状態を知るために行われるディスカバリ処理（Ｓｅｌｆ-Ｄｉｓｃｏｖｅｒｙ）を実施し、その後、コントローラがディスカバリ処理（Ｄｉｓｃｏｖｅｒｙ）を実施する。コントローラは、ディスカバリ処理によりＳＡＳ経路の切断を認識すると、正常なＳＡＳ経路が接続されているポートを使用して、コマンドをリトライする。
【０００８】
一方、その他のコンフィギュレーション再構築方法として、ＳＡＳ経路に異常が発生した場合に、障害経路を迂回するように、ＳＡＳエクスパンダの接続構成を変更する方法が知られている。この方法では、コントローラがそれぞれのスイッチデバイスの状態を管理しエクスパンダ間ＳＡＳ経路の接続判断を行っている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９-１８７４８３号公報
【特許文献２】特開２０１０-６１６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、制御部が中継装置の接続状態を管理し、経路障害発生時に障害経路を迂回するように中継装置の接続構成を変更することは、制御部にかかる負荷が大きい。
【００１１】
１つの側面では、本発明は、経路障害が発生した場合、障害経路を迂回するように経路の構成を再構築する情報通信システムにおいて、制御部にかかる負荷の軽減を図ることを目的とする。
【課題を解決するための手段】
【００１２】
中継装置は、情報通信装置間の通信を中継するものであり、検出部、通信状態取得部、及び経路接続部を含む。検出部は、自装置と、自装置の前段に配置され自装置と論理的経路で接続される第1の前段中継装置との間の第１の前段通信状態の変化、及び、自装置と、自装置の後段に配置され自装置と論理的経路で接続される第１の後段中継装置との間の第１の後段通信状態の変化を検出する。通信状態取得部は、自装置が中継する論理的経路とは異なる他の論理的経路を中継する別経路中継装置から、別経路中継装置と、別経路中継装置の前段に配置され別経路中継装置と論理的経路で接続される第２の前段中継装置との間の第２の前段通信状態、及び、該別経路中継装置と、該別経路中継装置の後段に配置され該別経路中継装置と論理的経路で接続される第２の後段中継装置との間の第２の後段通信状態を取得する。経路接続部は、検出部が第１の前段通信状態の変化若しくは第１の後段通信状態の変化を検出した場合、第１及び第２の前段通信状態並びに第１及び第２の後段通信状態の組み合わせに応じて、自装置と別経路中継装置との間の論理的経路を有効にする。この構成において、経路接続部は、第１の前段通信状態と第２の前段通信状態とのどちらか一方のみが異常状態である場合に、自装置と別経路中継装置との間の論理的経路を有効にし、第１の前段通信状態と第２の前段通信状態との両方が正常状態であって且つ第１の後段通信状態と第２の後段通信状態とのうちのどちらか一方若しくは両方が異常状態である場合には、自装置が中継する論理的経路と他の論理的経路との間の論理的経路が自装置よりも前段で有効とされていない場合に、自装置と別経路中継装置との間の論理的経路を有効にする。
【発明の効果】
【００１３】
本実施形態に係る情報通信システムによれば、経路障害が発生した場合、障害経路を迂回するように経路の構成を再構築する情報通信システムにおいて、制御部にかかる負荷の軽減を図ることができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る中継装置の一例を示す。
【図２】本実施形態に係るストレージシステムの構成の一例を示す。
【図３】本実施形態に係るストレージシステムの詳細な構成の一例を示す。
【図４】本実施形態に係るストレージシステムのエクスパンダチップの構成の一例を示す。
【図５】本実施形態に係るストレージシステムのデバイスエンクロージャの構成の一例を示す。
【図６】系間ＳＡＳ経路を接続しない場合に、ＳＡＳ経路に異常が発生した場合のストレージシステムの状態を説明するための図を示す。
【図７】本実施形態に係る、ＤＥ間のＳＡＳ経路切断発生時の動作を説明するための図を示す。
【図８】ＤＥ間の片系１パス切断の説明図を示す。
【図９】コントローラ−ＤＥ間の片系１パス切断の説明図を示す。
【図１０】ＤＥ間の片系２パス切断の説明図（その１）を示す。
【図１１】ＤＥ間の片系２パス切断の説明図（その２）を示す。
【図１２】片系エクスパンダ故障の説明図を示す。
【図１３】同じＤＥ間の両系２パス切断の説明図を示す。
【図１４】異なるＤＥ間の両系２パス切断の説明図（その１）を示す。
【図１５】異なるＤＥ間の両系２パス切断の説明図（その２）を示す。
【図１６】本実施形態に係るエクスパンダ接続管理テーブルのデータ構造の一例を示す。
【図１７】本実施形態に係る接続エクスパンダＳＡＳアドレス管理テーブルのデータ構造の一例を示す。
【図１８】本実施形態に係るエクスパンダ接続通知情報の一例を示す。
【図１９】本実施形態に係るエクスパンダ接続応答情報の一例を示す。
【図２０】本実施形態に係る系間接続マトリックスの一例を示す。
【図２１】本実施形態の一例としての、ループチェックにおけるエクスパンダの動作フロー図を示す。
【図２２】本実施形態の一例としての、ＳＡＳ入出力ポートの変化時のストレージシステム全体の動作フロー図を示す。
【図２３】本実施形態の一例としての、ＳＡＳ入出力ポートの変化を検出した際のエクスパンダの処理のフロー図を示す。
【図２４】本実施形態の一例としての、ＢＣ（ＣＨＧ）発行チェックの動作フロー図を示す。
【図２５】本実施形態の一例としての、エクスパンダ接続通知情報受信時のエクスパンダの動作フロー図を示す。
【発明を実施するための形態】
【００１５】
図１は、本実施形態に係る中継装置の一例を示す。
中継装置１は、情報通信装置間の通信を中継する。中継装置１は、検出部２、通信状態取得部３、経路接続部４、処理部５、及び、情報収集要求発行部６を含む。
【００１６】
検出部２は、自装置１の前段または後段に配置され自装置１と論理的経路で接続される第1の中継装置１と、自装置１との間の第１の通信状態の変化を検出する。
【００１７】
通信状態取得部３は、自装置１が中継する論理的経路とは異なる他の論理的経路を中継する第２の中継装置１から、第２の中継装置１と、第２の中継装置１の前段または後段に配置され第２の中継装置１と論理的経路で接続される第３の中継装置１との間の第２の通信状態を取得する。
【００１８】
経路接続部４は、検出部２が第１の通信状態の変化を検出した場合、第１及び第２の通信状態の組み合わせに応じて、自装置１と第２の中継装置１との間の論理的経路を有効にする。また、経路接続部４は、第１の中継装置１と、第１の中継装置１が中継する論理的経路とは異なる他の論理的経路を中継する第４の中継装置１との間の第３の通信状態に応じて、自装置１と第２の中継装置１との間の論理的経路を有効にする。
【００１９】
処理部５は、情報通信装置間において配置される第５の中継装置１に対して、自装置１と第２の中継装置１との間の論理的経路を有効にする旨の通知を発行する処理を行う。また、第５の中継装置の処理部５は、他の中継装置１から、通知を受信した場合、第５の中継装置１と、第５の中継装置１が中継する論理的経路とは異なる他の論理的経路を中継する第６の中継装置１との間の論理的経路を有効にする。
【００２０】
情報収集要求発行部６は、第１の通信状態の変化が検出された場合、第１の通信状態の変化に応じて、情報通信装置間において配置される第７の中継装置１に対して、第７の中継装置１の前段または後段に配置され第７の中継装置１と論理的経路で接続される第８の中継装置１と、第７の中継装置１との間の第４の通信状態を収集させる情報収集要求を発行する。
【００２１】
通信状態の変化に応じて、情報収集要求発行部６が情報収集を行いＢＣ（ＣＨＧ）の発行を抑止することによって、他の中継装置１とコントローラのディスカバリ処理の実施を最低限に抑えることができる。それにより、ＳＡＳ経路の負荷を軽減することができる。
【００２２】
図２は、本実施形態に係る、バックエンド接続にＳＡＳエクスパンダを使用したストレージシステムの構成の一例を示す。
【００２３】
ストレージシステム１００は、例えば、複数のＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）を含み、それらを一つの論理ボリュームとして扱うことのできるＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ Ａｒｒａｙｓ ｏｆ Ｉｎｅｘｐｅｎｓｉｖｅ Ｄｉｓｋｓ）システムである。
【００２４】
ストレージシステム１００は、コントローラ（Ｃｏｎｔｒｏｌｌｅｒ）１０５と、１以上のデバイスエンクロージャ（Ｄｅｖｉｃｅ Ｅｎｃｌｏｓｕｒｅ）（以下、ＤＥと記す）１０６を含む。コントローラ１０５は、ストレージシステムに接続されるホストコンピュータ（図示せず）から送信された処理要求やデータの入出力要求に応じて、記憶装置１０９に対する制御を行う。ＤＥ＃００（１０１−０）は、ＳＡＳエクスパンダ１０６ａ，１０６ｂを有し、ＳＡＳエクスパンダ１０６ａ及び１０６ｂには、１以上の記憶装置１０９が接続される。同様に、ＤＥ＃０１（１０１−１）は、ＳＡＳエクスパンダ１０７ａ，１０７ｂを有し、ＳＡＳエクスパンダ１０７ａ及び１０７ｂには、１以上の記憶装置１０９が接続される。また、ＤＥ＃０２（１０１−２）は、ＳＡＳエクスパンダ１０８ａ，１０８ｂを有し、ＳＡＳエクスパンダ１０８ａ及び１０８ｂには、１以上の記憶装置１０９が接続される。
【００２５】
コントローラ１０５は二つのポートを有する。すなわち、Ｐｏｒｔ＃０とＰｏｒｔ＃１である。Ｐｏｒｔ＃０は、ＳＡＳケーブルを通じてＤＥ＃００のエクスパンダ１０６ａに接続され、Ｐｏｒｔ＃１は、ＳＡＳケーブルを通じてＤＥ＃００のエクスパンダ１０６ｂに接続される。
【００２６】
ＳＡＳエクスパンダ同士は、直列に多段接続される。すなわち、ＤＥ＃００のエクスパンダ１０６ａは、ＤＥ＃０１のエクスパンダ１０７ａに接続され、ＤＥ＃００のエクスパンダ１０６ｂは、ＤＥ＃０１のエクスパンダ１０７ｂに接続される。同様に、ＤＥ＃０１のエクスパンダ１０７ａは、ＤＥ＃０２のエクスパンダ１０８ａに接続され、ＤＥ＃０１のエクスパンダ１０７ｂは、ＤＥ＃０２のエクスパンダ１０８ｂに接続される。
【００２７】
コントローラ１０５に接続される一方のＳＡＳエクスパンダと、そのＳＡＳエクスパンダに直列に多段接続されるＳＡＳエクスパンダ群をＥＸＰ＃０系と記す。また、コントローラ１０５に接続される他方のＳＡＳエクスパンダと、そのＳＡＳエクスパンダに直列に多段接続されるＳＡＳエクスパンダ群をＥＸＰ＃１系と記す。
【００２８】
コントローラ１０５は、制御部の一例として挙げられる。また、ＳＡＳエクスパンダは、中継装置１の一例として挙げられる。さらに、記憶装置１０９は、記憶部の一例として挙げられる。
【００２９】
図２の例では、ＳＡＳエクスパンダ１０６ａ、１０７ａ及び１０８ａは、ＥＸＰ＃０系であり、ＳＡＳエクスパンダ１０６ｂ、１０７ｂ及び１０８ｂは、ＥＸＰ＃１系である。
【００３０】
図３は、本実施形態に係るストレージシステムの詳細な構成の一例を示す。
ストレージシステム１００は、コントローラエンクロージャ（Ｃｏｎｔｒｏｌｌｅｒ Ｅｎｃｌｏｓｕｒｅ）（以下、ＣＥと記す）１０２と、１以上のＤＥ１０１−１（１０１−２・・・）を含む。ＣＥ１０２には、１以上のＤＥ１０１が直列に多段接続される。すなわち、ＣＥ１０２にＤＥ１０１−１が接続され、ＤＥ１０１−１にＤＥ１０１−２が接続される。また、ストレージシステム１００は上位装置としてのホストコンピュータ（図示せず）に接続されており、ホストコンピュータはストレージシステムに対して処理要求やデータの入出力の命令を行う。
【００３１】
ＣＥ１０２は複数のコントローラモジュール（Ｃｏｎｔｒｏｌｌｅｒ Ｍｏｄｕｌｅ）（以下、ＣＭと記す）１０４を有する。ＣＭ１０４は、ストレージシステムにおける種々の制御を行なうものであり、ホストコンピュータから送信されたＩ／Ｏコマンドに基づいて、記憶装置１０９に対するアクセス制御を行なう。
【００３２】
ＣＭ１０４ａはコントローラ１０５ａおよびＳＡＳエクスパンダ１０６ａを含み、ＣＭ１０４ｂは、コントローラ１０５ｂおよびＳＡＳエクスパンダ１０６ｂを含む。コントローラ１０５ａ，１０５ｂは、それぞれＣＭ１０４ａ，１０４ｂにおける各種制御を行なうものである。ＳＡＳエクスパンダ１０６ａ，１０６ｂ，及び後述する、１０７ａ，１０７ｂ，１０８ａ，１０８ｂは、コントローラ１０５ａ，１０５ｂから送信されるアクセスコマンドに基づき、接続されている記憶装置１０９に対してアクセス制御を行なう。
【００３３】
コントローラ１０５ａは、ＳＡＳケーブル１１１を介してＳＡＳエクスパンダ１０６ａ及び１０６ｂに接続される。同様に、コントローラ１０５ｂは、ＳＡＳケーブル１１１を介してＳＡＳエクスパンダ１０６ａ及び１０６ｂに接続される。ＳＡＳエクスパンダ１０６ａ及び１０６ｂには、１以上の記憶装置１０９が接続される。また、コントローラ１０５ａとコントローラ１０５ｂは、ＰＣＩ Ｅｘｐｒｅｓｓ１１０等のバスを介して接続される。
【００３４】
ＤＥ１０１−１は、ＳＡＳエクスパンダ１０７ａ，１０７ｂを有し、ＳＡＳエクスパンダ１０７ａ及び１０７ｂには、１以上の記憶装置１０９が接続される。記憶装置１０９は、ＳＡＳエクスパンダ１０７ａ，１０７ｂのそれぞれに接続されており、ＣＭ１０４から記憶装置１０９へのアクセス経路は二重化される。
【００３５】
また、ＤＥ１０１−２は、ＤＥ１０１−１と同様に、ＳＡＳエクスパンダ１０８ａ，１０８ｂを有し、ＳＡＳエクスパンダ１０８ａ及び１０８ｂには、１以上の記憶装置１０９が接続される。各記憶装置１０９は、ＳＡＳエクスパンダ１０８ａ，１０８ｂのそれぞれに接続されており、ＣＭ１０４から記憶装置１０９へのアクセス経路は二重化される。
【００３６】
コントローラ１０５ａには、ＳＡＳエクスパンダ１０６ａ，１０７ａ，１０８ａが直列に多段接続される。つまり、図３に示すように、コントローラ１０５ａにＳＡＳエクスパンダ１０６ａが接続され、このＳＡＳエクスパンダ１０６ａにＳＡＳエクスパンダ１０７ａが接続される。更に、ＳＡＳエクスパンダ１０７ａにＳＡＳエクスパンダ１０８ａが接続される。同様に、コントローラ１０５ｂにＳＡＳエクスパンダ１０６ｂが接続され、このＳＡＳエクスパンダ１０６ｂにＳＡＳエクスパンダ１０７ｂが接続される。更に、ＳＡＳエクスパンダ１０７ｂにＳＡＳエクスパンダ１０８ｂが接続される。
【００３７】
以下の説明においては、コントローラ１０５からＳＡＳエクスパンダ１０８までのデータ経路において、コントローラ１０５側を上位側と記す場合がある。
【００３８】
図４は、ＳＡＳエクスパンダに搭載されるエクスパンダチップの構成を示す。エクスパンダチップは、メモリ３０２、プロセッサ３０１、及びＰｈｙ（ＰＨＹｓｉｃａｌ）３０３を含む。
【００３９】
メモリ３０２は、各種データやプログラムを格納するものであり、プロセッサ３０１が各種演算や制御を行なう際に、一時的にデータやプログラムを格納（展開）する。
【００４０】
ここで、メモリ３０２は、例えば半導体メモリであり、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）領域およびＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）領域を含んで構成される。
【００４１】
プロセッサ３０１はプログラムを実行することにより種々の演算および制御を行なう演算装置であり、メモリ３０２や図示しないＲＯＭに格納されたプログラムを実行することにより各種機能を実現する。このプロセッサ３０１は、図４に示すように、ＳＭＰ３０４及びＳＳＰ３０５を含む。ＳＭＰ３０４は、ＳＭＰ（Ｓｅｒｉａｌ Ｍａｎａｇｅｍｅｎｔ Ｐｒｏｔｏｃｏｌ）に基づく論理デバイスであり、ＳＳＰ３０５は、ＳＳＰ（Ｓｅｒｉａｌ ＳＣＳＩ Ｐｒｏｔｏｃｏｌ）に基づく論理デバイスである。
【００４２】
ＳＭＰ３０４はエクスパンダのポイントツーポイントトポロジとエンクロージャサービスの管理に使用される。具体的には、ＳＭＰ３０４は、ディスカバリ処理等を行う。
【００４３】
ＳＳＰ３０５は、コントローラ１０５がＳＡＳデバイスおよび既存のＳＣＳＩソフトウェアと通信するのを可能にする。具体的には、ＳＳＰ３０５は、ＤＥの状態の採取や制御等を行う。
【００４４】
ここで、このプロセッサ３０１は、メモリ３０２または、図示しないＲＯＭや記憶装置に格納されたプログラムを実行することにより、検出部２，通信状態取得部３，経路接続部４，処理部５，情報収集要求発行部６の例として機能する。
【００４５】
Ｐｈｙ３０３は、物理リンクポートであり、図４に示す例においては、Ｐｈｙ０〜２３の２４個のＰｈｙが含まれる。又、この図４に示す例においては、Ｐｈｙ０〜３が上位のＳＡＳエクスパンダやコントローラ１０５との接続に用いられる。又、Ｐｈｙ４〜７は下位側のＳＡＳエクスパンダとの接続に用いられ、Ｐｈｙ８〜１０，１５〜２３が記憶装置１０９との接続に用いられる。尚、各Ｐｈｙ３０３の接続先は、任意に変更してよい。
【００４６】
図５は、本実施形態に係るストレージシステムのＤＥ１０１の構成の一例を示す。
図５に示すように、本実施形態において、同一ＤＥ内のＥＸＰ＃０系とＥＸＰ＃１系のエクスパンダ間は、ＳＡＳ経路及び通信経路で物理的に接続される。以下の説明では、同一ＤＥ内のＥＸＰ＃０系とＥＸＰ＃１系のエクスパンダ間を接続するＳＡＳ経路を系間ＳＡＳ経路７０２と呼び、同一ＤＥ内のＥＸＰ＃０系とＥＸＰ＃１系のエクスパンダ間を接続する通信経路を系間通信経路７０１と呼ぶ。
【００４７】
系間通信経路７０１は、コントローラ１０５から送信された指示を、同一ＤＥ内のもう一方のエクスパンダに転送する場合等に使用される。また、ＬＥＤ制御やＦＡＮの回転数制御、温度監視等は通常ＥＸＰ＃０系の側にて行うが、ＥＸＰ＃０系のエクスパンダが交換されたり異常となったりした場合のことを考慮し、系間通信経路７０１を使ってこれらの情報同期を行う。系間通信経路７０１は、例えば、Ｉ２Ｃ（Ｉｎｔｅｒ-Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）（商標）やＥｔｈｅｒｎｅｔ（登録商標）等で接続される。
【００４８】
このように、本実施形態に係るストレージシステムにおいて、系間ＳＡＳ経路７０２を接続する理由を、図６を参照して説明する。
【００４９】
図６は、系間ＳＡＳ経路７０２を接続しない場合に、ＳＡＳ経路に異常が発生した場合のストレージシステムの状態を説明するための図である。図６では、ＥＸＰ＃０系とＥＸＰ＃１系のＳＡＳ経路はそれぞれ独立している。この場合、ＥＸＰ＃１系の、ＤＥ＃００とＤＥ＃０１間のＳＡＳ経路が異常により切断されると、コントローラ１０５は、Ｐｏｒｔ＃１からＥＸＰ＃１系のＳＡＳ経路を介して、ＤＥ＃０１より下位側のＥＸＰ＃１系のＳＡＳエクスパンダにアクセスできなくなる。したがって、コントローラ１０５は、ＳＡＳエクスパンダからのＢＣ（ＣＨＧ）に基づいて、ＥＸＰ＃１系の、ＤＥ＃００とＤＥ＃０１間のＳＡＳ経路が切断されたことを認識すると、ＤＥ＃０１及びＤＥ＃０２配下の記憶装置に対するアクセスはＰｏｒｔ＃０からＥＸＰ＃０系のＳＡＳ経路を介して行うこととなる。この場合、仮に、さらにＥＸＰ＃０系のＳＡＳ経路に障害が発生した場合には、システムダウンを引き起こしてしまう。また、ＥＸＰ＃０系のパスにアクセス負荷が集中するため、スループット性能が低下する。以上から、本実施形態では、系間ＳＡＳ経路７０２の接続を行う。
【００５０】
しかしながら、経路障害の発生に備えて、系間ＳＡＳ経路７０２を常時接続すると、それぞれ独立していた二つのＥＸＰ＃０系とＥＸＰ＃１系の経路が接続されるため、ＳＡＳ経路にループ接続が発生してしまう。ループが発生した場合、コントローラ１０５及びエクスパンダは、ＳＡＳ経路の認識ができないため、ディスカバリ処理が完了しない。したがって、系間ＳＡＳ経路７０２の常時接続はできない。そこで、ＳＡＳエクスパンダは、ＳＡＳ経路が正常な状態においては、系間ＳＡＳ経路７０２は無効にしておき、ＳＡＳ経路の切断が発生した場合に、系間ＳＡＳ経路７０２を有効にするように、論理的に接続を制御する。
【００５１】
本実施形態において、系間ＳＡＳ経路７０２が接続されるＰｈｙ３０３は、ｅｎａｂｌｅとｄｉｓａｂｌｅを切り替えることにより、有効・無効の切り替えが可能である。系間ＳＡＳ経路７０２は物理的には、常にＳＡＳケーブルで接続されているが、通常時は、Ｐｈｙ３０３がｄｉｓａｂｌｅの状態であるため、論理的には切断されている。そして、ＳＡＳ経路切断が発生した場合、プロセッサ３０１がＰｈｙ３０３の状態をｄｉｓａｂｌｅからｅｎａｂｌｅに切り替えることによって、系間ＳＡＳ経路７０２が接続された状態になる。
【００５２】
以下の説明において、系間ＳＡＳ経路７０２を接続する動作は、プロセッサ３０１が系間ＳＡＳ経路７０２のＰｈｙ３０３をｅｎａｂｌｅ（有効）にする動作を指す。さらに、系間ＳＡＳ経路７０２を切断する動作は、プロセッサ３０１が系間ＳＡＳ経路７０２のＰｈｙ３０３をｄｉｓａｂｌｅ（無効）にする動作を指す。また、系間ＳＡＳ経路７０２に接続されているＰｈｙを有効／無効にすることを、系間ＳＡＳ経路７０２を有効／無効にすると記す場合がある。
【００５３】
尚、記憶装置のポートのＳＡＳアドレスは、ＥＸＰ＃０系とＥＸＰ＃１系で異なるため、経路の再構築を行う場合は、元の系からアクセスできるように構成を行う。
【００５４】
図７は、本実施形態におけるＤＥとＤＥの間のＳＡＳ経路切断発生時の動作を説明するための図である。図７（ａ）は、正常時にコントローラ１０５がディスクにアクセスする様子を示している。図７（ｂ）は、経路切断発生時に、コントローラ１０５が系間ＳＡＳ経路７０２を通じてディスクにアクセスする様子を示している。
【００５５】
図７（ａ）に示すように、正常時には、どのＤＥにおいても系間ＳＡＳ経路７０２は論理的に接続されていない。このとき、ＤＥ＃００とＤＥ＃０１の、ＥＸＰ＃１系のＤＥ間で経路切断が発生した場合、図７（ｂ）に示すように、切断した経路に直接接続されているＤＥであるＤＥ＃００及びＤＥ＃０１において、系間ＳＡＳ経路７０２が論理的に接続される。
【００５６】
経路切断発生時に、系間ＳＡＳ経路７０２を接続すると、図７（ｂ）に示すように、コントローラ１０５は切断前と同じポートを使用して、記憶装置１０９にアクセスすることができる。また、障害を検出したＳＡＳエクスパンダがＢＣ（ＣＨＧ）を発行することを抑止することができる。
【００５７】
ところで、切断が発生した経路に直接接続しているＳＡＳエクスパンダが系間ＳＡＳ経路７０２を有効にする方法では、切断が発生した箇所や数によっては、ループが発生するケースが存在する。このような、系間ＳＡＳ経路７０２が有効にされることによりループが発生する場合を、図８から図１５を用いて説明する。
【００５８】
切断が発生したときのＳＡＳ経路の状況を、切断が発生した経路と数により分類すると、以下のケースが想定される。すなわち、ＤＥ間の片系１パス切断、コントローラ−ＤＥ間の片系１パス切断、ＤＥ間の片系２パス切断、片系エクスパンダ故障、同じＤＥ間の両系２パス切断、及び異なるＤＥ間の両系２パス切断である。ＤＥ間の片系２パス切断及び異なるＤＥ間の両系２パス切断は、障害が発生した２つの経路の位置関係により、さらに二つのケースに分類される。
【００５９】
まず、ＤＥ間の片系１パス切断について、図８を参照して説明する。ＤＥ間の片系１パス切断の一例として、図８では、ＥＸＰ＃１系の、ＤＥ＃００とＤＥ＃０１の間のＳＡＳ経路が切断されている。このとき、ＳＡＳ経路の切断を検出したＤＥ＃００とＤＥ＃０１のエクスパンダは、論理的にそれぞれ系間ＳＡＳ経路７０２の接続を行う。この場合、図８に示すように、それぞれの系間ＳＡＳ経路７０２が接続されたとしても、ＳＡＳ経路にループが発生することはない。
【００６０】
次に、コントローラ−ＤＥ間の片系１パス切断について、図９を参照して説明する。コントローラ−ＤＥ間の片系１パス切断の例として、図９では、コントローラ１０５のＰｏｒｔ＃１とＤＥ＃００のＥＸＰ＃１系のエクスパンダの間のＳＡＳ経路に切断が発生した場合の例を示している。このとき、ＳＡＳ経路の切断を検出したＤＥ＃００のエクスパンダは系間ＳＡＳ経路７０２の接続を行う。この場合、図９に示すように、系間ＳＡＳ経路７０２が接続されたとしても、ＳＡＳ経路にループが発生することはない。ただし、コントローラ−ＤＥ間のＳＡＳ経路が切断されたことは、コントローラ１０５によって直ちに認識される。
【００６１】
次に、ＤＥ間の片系２パス切断について、図１０及び図１１を参照して説明する。図１０では、ＤＥ間の片系２パス切断の一例として、ＥＸＰ＃１系の、ＤＥ＃００とＤＥ＃０１の間のＳＡＳ経路及びＤＥ＃０１とＤＥ＃０２の間のＳＡＳ経路が切断されている。このとき、ＳＡＳ経路の切断を検出したＤＥ＃００、ＤＥ＃０１及びＤＥ＃０２のエクスパンダは、それぞれ系間ＳＡＳ経路７０２の接続を行う。この場合、図１０に示すように、それぞれの系間ＳＡＳ経路７０２が接続されたとしても、ＳＡＳ経路にループが発生することはない。
【００６２】
図１１では、ＤＥ間の片系２パス切断の一例として、ＥＸＰ＃１系の、ＤＥ＃００とＤＥ＃０１の間のＳＡＳ経路及びＤＥ＃０２とＤＥ＃０３の間のＳＡＳ経路が切断されている。このとき、ＳＡＳ経路の切断を検出したＤＥ＃００、ＤＥ＃０１、ＤＥ＃０２及びＤＥ＃０３のエクスパンダは、それぞれ系間ＳＡＳ経路７０２の接続を行う。この場合は、図１１（ａ）に示すようにＳＡＳ経路にループが発生する。そこで、本実施形態では、ループの発生を防ぐために、図１１（ｂ）に示すように、ＤＥ＃０２の系間ＳＡＳ経路７０２の接続は行わないようにする。
【００６３】
次に、片系エクスパンダ故障について、図１２を参照して説明する。片系エクスパンダ故障の一例として、図１２では、ＤＥ＃０１のＥＸＰ＃１系のエクスパンダに故障が発生している。ＤＥ＃０１のＥＸＰ＃０系のエクスパンダは、他系のエクスパンダが故障しているので、ＤＥの入力ポートの一方が切断状態であると通知する。通知を受け取るかもしくはＳＡＳ経路の切断を検出したＤＥ＃００とＤＥ＃０２のエクスパンダは、それぞれ系間ＳＡＳ経路７０２の接続を行う。この場合、図１２に示すように、それぞれの系間ＳＡＳ経路７０２が接続されたとしても、ＳＡＳ経路にループが発生することはない。
【００６４】
次に、同じＤＥ間の両系２パス切断について、図１３を参照して説明する。同じＤＥ間の両系２パス切断の一例として、図１３では、ＥＸＰ＃０系とＥＸＰ＃１系の両系の、ＤＥ＃００とＤＥ＃０１間のＳＡＳ経路が切断されている。この場合、図１３に示すように、ＤＥ＃０１より下位のＳＡＳエクスパンダについては、アクセス不能となる。従って、この場合は、ＳＡＳエクスパンダは、ＢＣ（ＣＨＧ）を発行し、コントローラ１０５に通知を行うことで対処する。
【００６５】
次に、異なるＤＥ間の両系２パス切断について、図１４及び図１５を参照して説明する。図１４では、異なるＤＥ間の両系２パス切断の一例として、ＥＸＰ＃１系の、ＤＥ＃００とＤＥ＃０１の間のＳＡＳ経路、及び、ＥＸＰ＃０系の、ＤＥ＃０１とＤＥ＃０２の間のＳＡＳ経路が切断されている。このとき、ＳＡＳ経路の切断を検出したＤＥ＃００、ＤＥ＃０１及びＤＥ＃０２のエクスパンダは、それぞれ系間ＳＡＳ経路７０２の接続を行う。この場合、図１４に示すように、それぞれの系間ＳＡＳ経路７０２が接続されたとしても、ＳＡＳ経路にループが発生することはない。
【００６６】
図１５では、異なるＤＥ間の両系２パス切断の一例として、ＥＸＰ＃１系の、ＤＥ＃００とＤＥ＃０１の間のＳＡＳ経路、及び、ＥＸＰ＃０系の、ＤＥ＃０２とＤＥ＃０３の間のＳＡＳ経路が切断されている。このとき、ＳＡＳ経路の切断を検出したＤＥ＃００、ＤＥ＃０１、ＤＥ＃０２及びＤＥ＃０３のエクスパンダは、それぞれ系間ＳＡＳ経路７０２の接続を行う。この場合は、図１５（ａ）に示すようにＳＡＳ経路にループが発生する。そこで、ループの発生を防ぐために、本実施形態では、図１５（ｂ）に示すように、ＤＥ＃０２の系間ＳＡＳ経路７０２接続は行わないようにする。
【００６７】
以上のようにＳＡＳ経路の切断が発生した場所・個数によって、ＳＡＳエクスパンダが系間ＳＡＳ経路７０２の接続を行うべきか、そうでないかが異なる。また、コントローラ１０５に対して、ＳＡＳ経路切断が発生したことを通知すべきか否かも異なる。本実施形態では、系間ＳＡＳ経路７０２の接続を行うか否か、コントローラ１０５に対してＳＡＳ経路切断が発生したことを通知するか否かは、ＤＥ間で通知を行いＳＡＳ経路の接続状態を把握することで、コントローラ１０５の関与なくＤＥだけで判断する。
【００６８】
コントローラ１０５に対してＳＡＳ経路切断が発生したことを通知するか否かは、以下のように判定する。
【００６９】
図９に示したケースのように、最上位ＤＥ（コントローラ１０５と直結されるＤＥ）が上位側ＳＡＳ経路の接続状態の変化を検出した場合、最上位ＤＥは系間ＳＡＳ経路７０２の接続は行うが、ＢＣ（ＣＨＧ）による通知は行わない。なぜなら、コントローラ１０５はＳＡＳ経路の接続状態の変化をすぐに認識できるためである。
【００７０】
また、記憶装置に接続するＰｈｙ３０３にて経路の変化を検出した場合は、ＳＡＳエクスパンダはＢＣ（ＣＨＧ）を発行する。それに対して、上位もしくは下位のＳＡＳエクスパンダに接続するＰｈｙ３０３にて経路変化を検出した場合は、エクスパンダはＢＣ（ＣＨＧ）の発行を行わない。ただし、以下の場合は、コントローラ１０５も含めてディスカバリをやり直し、接続のコンフィギュレーションの再構築が必要となるため、ＢＣ（ＣＨＧ）が発行される。すなわち、ＳＡＳ経路が復旧した場合で、以前接続されていたエクスパンダのＳＡＳアドレスと異なるＳＡＳアドレスのエクスパンダが接続された場合、及び、図１３に示すような、両エクスパンダのＳＡＳ出力ポートが切断された場合である。
【００７１】
ＳＡＳ経路の接続状態の変化を検出したＳＡＳエクスパンダが、系間ＳＡＳ経路７０２の接続を行うか否かは、以下のように判定する。
【００７２】
図１０や図１４に示すように、あるＤＥに直接接続される上位側のＳＡＳ経路のいずれか、及び、そのＤＥに直接接続される下位側のＳＡＳ経路のいずれかが切断した場合は、系間ＳＡＳ経路７０２を接続したとしてもループは発生しない。
【００７３】
しかしながら、図１１や図１５に示すように、切断が発生した一方のＳＡＳ経路に対して、二つ以上のＤＥを挟んで、切断が発生した他方のＳＡＳ経路が存在する場合は、ループが発生する。この場合、上位側に系間ＳＡＳ経路７０２の接続がある場合は、切断を検出した下位側のＤＥの系間ＳＡＳ経路７０２を接続しないことでループの発生を防ぐ。
【００７４】
ループの発生を防ぐために、具体的には、ＳＡＳエクスパンダは以下の手順で系間ＳＡＳ経路７０２の論理的接続を行う。すなわち、系間ＳＡＳ経路７０２を接続する場合は、ＳＡＳエクスパンダは、全ＤＥのエクスパンダに対して、系間ＳＡＳ経路７０２の接続を行うことを通知する。通知のタイミングについては、系間ＳＡＳ経路７０２を接続した後に通知をするのでは、ループが発生してしまうので、接続前に接続候補のＳＡＳエクスパンダが通知を行う。そして、通知に対する全ＤＥのエクスパンダからの応答を待って、接続候補のＳＡＳエクスパンダは、実際の系間ＳＡＳ経路７０２の論理的な接続を行う。
【００７５】
本実施形態では、上記のようにループ接続の考慮を行うが、切断されていた経路が突然復旧することも考えられる。そのため、ＳＡＳエクスパンダは、ループを検出しても内部テーブル（ルーティングテーブル）には変更を加えずに、ループとして扱わないことで、コントローラ１０５からのコマンドを正常に転送できるようにする。
【００７６】
次に、ループ回避のための処理で使用するデータ構造と通知情報について説明する。すなわち、図１６〜図２０を参照して、エクスパンダ接続管理テーブル、接続エクスパンダＳＡＳアドレス管理テーブル、エクスパンダ接続通知情報、エクスパンダ接続応答情報、及び、系間接続マトリックスについて説明する。尚、以下の説明では、上位側の装置に接続されるＳＡＳエクスパンダのポートを入力ポート、下位側の装置に接続されるＳＡＳエクスパンダのポートを出力ポートと記す場合がある。また、あるエクスパンダが所属するＤＥを自ＤＥと記す場合がある
図１６は、本実施形態に係るエクスパンダ接続管理テーブルのデータ構造を示す。ＳＡＳエクスパンダ接続管理テーブルは、エクスパンダのメモリ３０２に記憶される。
【００７７】
エクスパンダ接続管理テーブルは、ストレージシステムに接続される各エクスパンダの入力ポートの状態と系間ＳＡＳ経路７０２の接続状態を示すテーブルである。具体的には、エクスパンダ接続管理テーブルは、ＤＥ-ＩＤ６１、ＥＸＰ＃０ ＳＡＳアドレス６２、ＥＸＰ＃１ ＳＡＳアドレス６３、ＥＸＰ＃０入力ポート状況６４、ＥＸＰ＃１入力ポート状況６５、及び、系間ＳＡＳ経路状況６６のデータ項目を含む。
【００７８】
ＤＥ-ＩＤ６１は、ＤＥにコントローラ１０５により一意に割り当てられる識別番号である。ＥＸＰ＃０ ＳＡＳアドレス６２は、ＤＥ-ＩＤ６１のＥＸＰ＃０系のＳＡＳエクスパンダのＳＡＳアドレスである。ＥＸＰ＃１ ＳＡＳアドレス６３は、ＤＥ-ＩＤ６１のＥＸＰ＃１系のＳＡＳエクスパンダのＳＡＳアドレスである。ＥＸＰ＃０入力ポート状況６４は、ＤＥ-ＩＤ６１のＥＸＰ＃０系のＳＡＳエクスパンダの入力ポートに接続されるＳＡＳ経路が接続状態か切断状態かを示す。ＥＸＰ＃１入力ポート状況６５は、ＤＥ-ＩＤ６１のＥＸＰ＃１系のＳＡＳエクスパンダの入力ポートに接続されるＳＡＳ経路が接続状態か切断状態かを示す。系間ＳＡＳ経路状況６６は、ＤＥ-ＩＤ６１の系間ＳＡＳ経路７０２が接続状態か切断状態かを示す。
【００７９】
例えば、図１６では、ＤＥ-ＩＤ「０ｘ００」で示されるＤＥは、ＳＡＳアドレスが「ＡＤＲ０００」のＥＸＰ＃０系のＳＡＳエクスパンダと、ＳＡＳアドレスが「ＡＤＲ００１」のＥＸＰ＃１系のＳＡＳエクスパンダとを有する。そして、ＥＸＰ＃０系及びＥＸＰ＃１系のＳＡＳエクスパンダの入力ポートの状態は「接続」状態であり、系間ＳＡＳ経路７０２の状態は「切断」状態になっている。
【００８０】
尚、最下段のＤＥは出力ポートが切断状態であるのが正常状態なので、エクスパンダ接続管理テーブルでは、入力ポートの接続状況を管理する。
【００８１】
図１７は、本実施形態に係る、接続エクスパンダＳＡＳアドレス管理テーブルのデータ構造の一例を示す図である。接続エクスパンダＳＡＳアドレス管理テーブルは、ＳＡＳエクスパンダのメモリ３０２に格納される。
【００８２】
接続エクスパンダＳＡＳアドレス管理テーブルは、ＤＥ内のＳＡＳエクスパンダの入力ポート及び出力ポートに接続されるＳＡＳエクスパンダのＳＡＳアドレスを示すテーブルである。接続エクスパンダＳＡＳアドレス管理テーブルは、ＥＸＰ＃０入力ポート接続ＳＡＳアドレス７１、ＥＸＰ＃０出力ポート接続ＳＡＳアドレス７２、ＥＸＰ＃１入力ポート接続ＳＡＳアドレス７３、ＥＸＰ＃１出力ポート接続ＳＡＳアドレス７４のデータ項目を含む。
【００８３】
ＥＸＰ＃０入力ポート接続ＳＡＳアドレス７１は、エクスパンダが所属するＤＥのＥＸＰ＃０系の入力ポートに接続されるＳＡＳエクスパンダのアドレスである。ＥＸＰ＃０出力ポート接続ＳＡＳアドレス７２は、エクスパンダが所属するＤＥのＥＸＰ＃０系の出力ポートに接続されるＳＡＳエクスパンダのアドレスである。ＥＸＰ＃１入力ポート接続ＳＡＳアドレス７３は、エクスパンダが所属するＤＥのＥＸＰ＃１系の入力ポートに接続されるＳＡＳエクスパンダのアドレスである。ＥＸＰ＃１出力ポート接続ＳＡＳアドレス７４は、エクスパンダが所属するＤＥのＥＸＰ＃１系の出力ポートに接続されるＳＡＳエクスパンダのアドレスである。
【００８４】
例えば、図１７では、エクスパンダが所属するＤＥのＥＸＰ＃０系の入力ポートに接続されるＳＡＳエクスパンダのアドレスが、「ＩＮＡＤＲ０」である。エクスパンダが所属するＤＥのＥＸＰ＃０系の出力ポートに接続されるＳＡＳエクスパンダのアドレスが、「ＯＵＴＡＤＲ０」である。エクスパンダが所属するＤＥのＥＸＰ＃１系の入力ポートに接続されるＳＡＳエクスパンダのアドレスが「ＩＮＡＤＲ１」である。エクスパンダが所属するＤＥのＥＸＰ＃１系の出力ポートに接続されるＳＡＳエクスパンダのアドレスが、「ＯＵＴＡＤＲ１」である。
【００８５】
図１８は、エクスパンダ接続通知情報の一例を示す図である。
エクスパンダ接続通知情報は、自ＤＥの接続状態を他のＤＥに通知するために用いられる。エクスパンダ接続通知情報は、ＤＥ-ＩＤ８１、ＥＸＰ＃０ ＳＡＳアドレス８２、ＥＸＰ＃１ ＳＡＳアドレス８３、ＥＸＰ＃０入力ポート状況８４、ＥＸＰ＃１入力ポート状況８５、及び系間ＳＡＳ経路動作８６のデータ項目を含む。
【００８６】
ＤＥ-ＩＤ８１は、ＤＥに一意に割り当てられた識別番号である。ＥＸＰ＃０ ＳＡＳアドレス８２は、ＤＥ-ＩＤ８１のＥＸＰ＃０系のＳＡＳエクスパンダのＳＡＳアドレスである。ＥＸＰ＃１ ＳＡＳアドレス８３は、ＤＥ-ＩＤ８１のＥＸＰ＃１系のＳＡＳエクスパンダのＳＡＳアドレスである。ＥＸＰ＃０入力ポート状況８４は、ＤＥ-ＩＤ８１のＥＸＰ＃０系のＳＡＳエクスパンダの入力ポートに接続されているＳＡＳ経路が接続状態か切断状態かを示す。ＥＸＰ＃１入力ポート状況８５は、ＤＥ-ＩＤ８１のＥＸＰ＃１系のＳＡＳエクスパンダの入力ポートに接続されているＳＡＳ経路が接続状態か切断状態かを示す。系間ＳＡＳ経路動作８６は、ＤＥ-ＩＤ８１の系間ＳＡＳ経路７０２を接続状態にするか否かを示す。
【００８７】
例えば、図１８は、ＤＥ＃０１が、他のＤＥに対して自ＤＥの接続状態を通知する場合に発行されるエクスパンダ接続通知情報の例を示す。ＤＥ-ＩＤ「０ｘ０１」で示されるＤＥは、ＳＡＳアドレスが「ＡＤＲ０１０」のＥＸＰ＃０系のＳＡＳエクスパンダと、ＳＡＳアドレスが「ＡＤＲ０１１」のＥＸＰ＃１系のＳＡＳエクスパンダを有する。そして、ＥＸＰ＃０系及びＥＸＰ＃１系のＳＡＳエクスパンダの入力ポートの状態は「接続」状態であり、系間ＳＡＳ経路７０２の状態は「切断」状態にすることを示す。
【００８８】
図１９は、エクスパンダ接続応答情報の一例を示す図である。
エクスパンダ接続応答情報は、接続通知情報に対する応答として発行される情報であり、自ＤＥの接続状態を通知するために用いられる。エクスパンダ接続通知情報は、ＤＥ-ＩＤ９１、ＥＸＰ＃０ ＳＡＳアドレス９２、ＥＸＰ＃１ ＳＡＳアドレス９３、ＥＸＰ＃０入力ポート状況９４、ＥＸＰ＃１入力ポート状況９５、及び系間ＳＡＳ経路状況９６のデータ項目を含む。
【００８９】
ＤＥ-ＩＤ９１は、ＤＥに一意に割り当てられた識別番号である。ＥＸＰ＃０ ＳＡＳアドレス９２は、ＤＥ-ＩＤ９１のＥＸＰ＃０系のＳＡＳエクスパンダのＳＡＳアドレスである。ＥＸＰ＃１ ＳＡＳアドレス９３は、ＤＥ-ＩＤ９１のＥＸＰ＃１系のＳＡＳエクスパンダのＳＡＳアドレスである。ＥＸＰ＃０入力ポート状況９４は、ＤＥ-ＩＤ９１のＥＸＰ＃０系のＳＡＳエクスパンダの入力ポートに接続されているＳＡＳ経路が接続状態か切断状態かを示す。ＥＸＰ＃１入力ポート状況９５は、ＤＥ-ＩＤ９１のＥＸＰ＃１系のＳＡＳエクスパンダの入力ポートに接続されているＳＡＳ経路が接続状態か切断状態かを示す。系間ＳＡＳ経路状況９６は、ＤＥ-ＩＤ９１の系間ＳＡＳ経路７０２が接続状態か否かを示す。
【００９０】
例えば、図１９は、ＤＥ＃０２が自ＤＥの接続状態を応答する場合に発行されるエクスパンダ接続応答情報の一例を示す。ＤＥ-ＩＤ「０ｘ０１」で示されるＤＥは、ＳＡＳアドレスが「ＡＤＲ０１０」のＥＸＰ＃０系のＳＡＳエクスパンダと、ＳＡＳアドレスが「ＡＤＲ０１１」のＥＸＰ＃１系のＳＡＳエクスパンダを有する。そして、ＥＸＰ＃０系及びＥＸＰ＃１系のＳＡＳエクスパンダの入力ポートの状態は「接続」状態であり、系間ＳＡＳ経路７０２の状態は「切断」状態であることを示す。
【００９１】
図２０は、系間接続マトリックスの一例を示す図である。尚、以下の説明において、系間ＳＡＳ経路７０２を有効にする動作を、系間接続すると記す場合がある。また、系間ＳＡＳ経路７０２を無効にする動作を、系間切断すると記す場合がある。
【００９２】
系間接続マトリックスは、入力ポートまたは出力ポートの接続状態において変化が検出された場合、エクスパンダが系間ＳＡＳ経路７０２を有効にするか否かを決定するために用いられる。系間ＳＡＳ経路７０２を有効にするか否かの決定結果は、自ＤＥの両エクスパンダの入力ポートと出力ポートの接続状態、及び、他のＤＥの系間ＳＡＳ経路７０２の接続状態に応じて異なる。
【００９３】
系間接続マトリックスは、ＤＥの入力ポート２５１の接続状態を表す列項目、すなわち、両接続、片切断、両切断の項目と、ＤＥの出力ポート２５２の接続状態を表す行項目、すなわち、両接続、片切断、両切断の項目と、から構成される。そして、それぞれの入力ポートと出力ポートの状態の組み合わせにおいて、エクスパンダが系間ＳＡＳ経路７０２を有効にするか否かの判定結果が示される。
【００９４】
ここで、入力ポートの状態が両接続の状態とは、自ＤＥの両方のエクスパンダの入力ポートが接続されている状態を指す。また、入力ポートの状態が片切断の状態とは、自ＤＥの片方のエクスパンダの入力ポートが切断されている状態を指す。また、入力ポートの状態が両切断の状態とは、自ＤＥの両方のエクスパンダの入力ポートが切断されている状態を指す。出力ポートにおける両接続、片切断、両切断の状態も、入力ポートと同様の意である。
【００９５】
入力ポートの状態が両接続であり、出力ポートの状態が両接続の場合、エクスパンダは、系間ＳＡＳ経路７０２を無効にする（系間切断）と決定する。入力ポートの状態が両接続であり、出力ポートの状態が片切断の場合、エクスパンダは、ループチェックを行い、その結果に応じて系間ＳＡＳ経路７０２を有効にするか否かを決定する。ループチェックについては、後ほど説明する。入力ポートの状態が両接続であり、出力ポートの状態が両切断の場合も、エクスパンダは、ループチェックを行い、その結果に応じて系間ＳＡＳ経路７０２を有効にするか否かを決定する。入力ポートの状態が片切断の場合は、出力ポートの状態の如何にかかわらず、エクスパンダは、系間ＳＡＳ経路７０２を有効にする（系間接続）と決定する。入力ポートの状態が両切断の場合は、出力ポートの状態の如何にかかわらず、エクスパンダは、系間ＳＡＳ経路７０２を無効にする（系間切断）と決定する。
【００９６】
次に、系間接続マトリックスの判定において、エクスパンダが行うループチェックについて説明する。
【００９７】
図２１は、ループチェックにおけるエクスパンダの動作フロー図を示す。
ループチェックでは、確認ＤＥ-ＩＤという変数が一時変数として使用される。さらに、ループチェックでは、ＤＥに一意に割り当てられた識別番号であるＤＥ-ＩＤが用いられる。本実施形態では、ＤＥ-ＩＤは以下のように振られる。すなわち、コントローラ１０５に直接接続されているＤＥ（最上位ＤＥ）のＤＥ-ＩＤは０とし、最上位ＤＥに接続されているＤＥのＤＥ-ＩＤを１とする。以下、下位のＤＥのＤＥ-ＩＤは、直接接続されている上位ＤＥのＤＥ-ＩＤに１加えた値となるようにＩＤが振られる。
【００９８】
ループチェックでは、先ず、確認ＤＥ-ＩＤに、自ＤＥのＤＥ-ＩＤから１を引いた値が代入される（Ｓ１）。次に、確認ＤＥ-ＩＤが０未満か否かが判定される（Ｓ２）。確認ＤＥ-ＩＤが０未満の場合（Ｓ２でＹｅｓ）、自ＤＥの系間ＳＡＳ経路７０２は有効にする（系間接続）ように決定される（Ｓ３）。確認ＤＥ-ＩＤが０以上の場合（Ｓ２でＮｏ）、確認ＤＥ-ＩＤのＤＥの系間ＳＡＳ経路７０２が接続中か否かが判定される（Ｓ４）。具体的には、エクスパンダ接続管理テーブルにおいて、確認ＤＥ-ＩＤと一致するＤＥ-ＩＤ６１に対応する系間ＳＡＳ経路状況６７の情報が参照され、ＤＥの系間ＳＡＳ経路７０２が接続中か否かが判定される。判定の結果、接続中であれば（Ｓ４でＹｅｓ）、自ＤＥの系間ＳＡＳ経路７０２は無効にする（系間切断）ように決定される（Ｓ５）。逆に判定の結果が接続中でなければ（Ｓ４でＮｏ）、確認ＤＥ-ＩＤの値から１を引く（Ｓ６）。そして、Ｓ２〜Ｓ６の処理を繰り返す。
【００９９】
次に、ＳＡＳ経路の接続状態の変化が発生し、エクスパンダがＳＡＳ経路の接続状態の変化を検出した場合の、ストレージシステム全体の動作の流れについて説明する。
【０１００】
図２２は、本実施形態の一例としてのＳＡＳ入出力ポートの状態変化時のストレージシステム全体の動作フロー図を示す。図２２では、ＳＡＳ入出力ポートの状態の変化を検出したＤＥのエクスパンダ（以下、「変化検出エクスパンダ」と記す）の動作と、その他のＤＥのエクスパンダ（以下、「その他エクスパンダ」と記す）の動作との関係性も示している。尚、図２２のフロー図は、最上位ＤＥ以外のＤＥについての動作フローを示す。
【０１０１】
ストレージシステム１００のエクスパンダが、ＳＡＳ入力ポートまたはＳＡＳ出力ポートの変化を検出すると（Ｓ１１）、系間接続マトリックスに従い、系間ＳＡＳ経路７０２を有効にするか否かを決定する（Ｓ１２）。尚、Ｓ１２では、系間ＳＡＳ経路７０２を有効にするか否かを「決定」するだけで、実際の動作は後ほど行う。次に、変化検出エクスパンダは、ストレージシステム１００に接続されているすべてのエクスパンダに対して、自ＤＥのＳＡＳポートの状態とＳ１２で決定した動作とを、エクスパンダ接続通知情報を用いて通知する（Ｓ１３）。
【０１０２】
その他ＤＥのエクスパンダは、エクスパンダ接続通知情報による通知を受信したら（Ｓ１４）、系間接続マトリックスに従い、系間ＳＡＳ経路７０２を有効にするか否かを決定する（Ｓ１５）。そして、その他ＤＥのエクスパンダは、エクスパンダ接続通知情報の発行元に対して、エクスパンダ接続応答情報を用いて、自ＤＥの接続状態を通知する（Ｓ１６）。
【０１０３】
ストレージシステム１００に接続されているすべてのエクスパンダからの応答を受信したら、変化検出エクスパンダは、エクスパンダ接続管理テーブルを更新して、Ｓ１２で決定した動作を実行する（Ｓ１７）。尚、Ｓ１７においてエクスパンダから応答を受信する動作は、通信状態取得部３が通信状態を取得する動作の一例として挙げられる。
【０１０４】
次に、図２２に示した、ＳＡＳ入力ポートまたはＳＡＳ出力ポートの変化を検出した際の変化検出エクスパンダの処理の詳細を、図２３に示すフローチャートに従って説明する。
【０１０５】
先ず、ストレージシステム１００のエクスパンダが、ＳＡＳ入力ポートまたはＳＡＳ出力ポートの変化を検出すると（Ｓ１０１）、変化検出エクスパンダは、自ＤＥにＤＥ-ＩＤが設定されているか否かを判定する（Ｓ１０２）。
【０１０６】
自ＤＥにＤＥ-ＩＤが設定されていない場合（Ｓ１０２でＹｅｓ）、変化検出エクスパンダは、エクスパンダ接続管理テーブルの変化を検出したフィールドを更新し（Ｓ１０３）、ＢＣ（ＣＨＧ）の発行を行う（Ｓ１０４）。この場合、変化検出エクスパンダは、系間ＳＡＳ経路７０２の接続は行わない。自ＤＥにＤＥ-ＩＤが設定されていないと、ＤＥの位置がわからないため、エクスパンダはＳＡＳループの判断ができないからである。
【０１０７】
自ＤＥにＤＥ-ＩＤが設定されている場合（Ｓ１０２でＮｏ）は、変化検出エクスパンダは、系間接続マトリックスに従い、系間ＳＡＳ経路７０２の接続を行うか否かを決定する（Ｓ１０５）。
【０１０８】
次に、変化検出エクスパンダは、Ｓ１０１で検出した変化は、入力ポートで検出した状態の変化なのか、出力ポートで検出した状態の変化なのかを判定する（Ｓ１０６）。
【０１０９】
Ｓ１０１で検出した変化が、入力ポートで検出した変化の場合（Ｓ１０６でＹｅｓ）、変化検出エクスパンダは、ストレージシステム１００に接続されているすべてのエクスパンダに対して、ＳＡＳポートの状態と動作を通知する（Ｓ１１０）。通知は、変化検出エクスパンダがエクスパンダ接続通知情報を発行することにより行われる。ここで、エクスパンダ接続通知情報の系間ＳＡＳ経路動作８６には、Ｓ１０５で決定された動作が格納される。また、接続通知情報は、異なるＤＥのエクスパンダ間は、ＳＡＳ経路を介して伝達され、ＤＥ内のＳＡＳエクスパンダ間は、系間通信経路７０１を介して伝達される。通知情報を受信したエクスパンダの動作は、後ほど説明する。
【０１１０】
通知したすべてのエクスパンダから応答が返ってきたら、変化検出エクスパンダは、自ＤＥの状態及び応答の結果を、エクスパンダ接続管理テーブルに反映し、Ｓ１０５で決定した系間ＳＡＳ経路７０２の接続動作を実行する（Ｓ１１１）。応答の結果をエクスパンダ接続管理テーブルに反映する動作は、具体的には以下のようになる。受信したエクスパンダ接続応答情報のＤＥ-ＩＤ９１で示される番号に一致する、エクスパンダ接続管理テーブルのＤＥ-ＩＤ６１の行に、受信したエクスパンダ接続応答情報の内容を更新する。すなわち、変化検出エクスパンダは、ＥＸＰ＃０ ＳＡＳアドレス９２の情報をＥＸＰ＃０ ＳＡＳアドレス６２に、ＥＸＰ＃１ ＳＡＳアドレス９３の情報をＥＸＰ＃１ ＳＡＳアドレス６３に反映する。また、変化検出エクスパンダは、ＥＸＰ＃０入力ポート状況９４の情報をＥＸＰ＃０入力ポート状況６４に、ＥＸＰ＃１入力ポート状況９５の情報をＥＸＰ＃１入力ポート状況６５に、系間ＳＡＳ経路状況９６の情報を系間ＳＡＳ経路状況６６に反映する。
【０１１１】
次に、ＢＣ（ＣＨＧ）発行チェックの結果に従い、変化検出エクスパンダは、ＢＣ（ＣＨＧ）の発行を行う（Ｓ１１２）。ＢＣ（ＣＨＧ）発行チェックについては、後ほど説明する。
【０１１２】
Ｓ１０１で検出した変化が、出力ポートで起きた変化である場合（Ｓ１０６でＮｏ）、変化検出エクスパンダは、出力ポートの変化が、「片切断」または「両接続」状態から、「両切断」の状態になった変化であるか否かを判定する（Ｓ１０７）。「片切断」から「両切断」の状態になった変化、もしくは、「両接続」から「両切断」の状態になった変化である場合には（Ｓ１０７でＹｅｓ）、Ｓ１１０に処理が移行する。この分岐により、変化を検出したポートが出力ポートの場合、必要なとき（下位のＤＥがいなくなり、通知を行うエクスパンダがいなくなった場合）のみ他ＤＥへの通知を行うようにすることで、経路切断を検出した上下のＤＥが通知し合うことを防ぐ。
【０１１３】
一方、Ｓ１０１で検出した出力ポートの変化が、「片切断」から「両切断」の状態になった変化、「両接続」から「両切断」の状態になった変化の何れの変化でもない場合には（Ｓ１０７でＮｏ）、変化検出エクスパンダは、以下の動作を実行する。すなわち、変化検出エクスパンダは、自ＤＥの状態をエクスパンダ接続管理テーブルに反映して、Ｓ１０５で決定した動作を実行する（Ｓ１０８）。
【０１１４】
次に、Ｓ１０１で検出した出力ポートの変化が、「両切断」から「片切断」になった変化、もしくは、「両切断」から「両接続」になった変化であるか否かを判定する（Ｓ１０９）。「両切断」から「片切断」、もしくは、「両切断」から「両接続」になった変化である場合（Ｓ１０９でＹｅｓ）、処理は、Ｓ１１３に遷移する。この分岐により、下位のＤＥが接続されるようになった場合、変化検出エクスパンダは両切断と同様にＢＣ（ＣＨＧ）発行を行う必要があるが、通知を行うエクスパンダは存在するため、ＢＣ（ＣＨＧ）の発行のみを行う。
【０１１５】
一方、Ｓ１０１で検出した出力ポートの変化が、「両切断」から「片切断」になった変化、「両切断」から「両接続」になった変化の何れの変化でもない場合には（Ｓ１０９でＮｏ）、処理が終了する。
【０１１６】
次に、ＢＣ（ＣＨＧ）発行チェックの動作について、図２４を参照して説明する。ＢＣ（ＣＨＧ）発行チェックでは、変化検出エクスパンダが、ＢＣ（ＣＨＧ）コマンドを発行するか否かを決定するための処理である。図２３のＳ１１２において、処理が実施され、ＢＣ（ＣＨＧ）発行チェックの結果に基づいて、変化検出エクスパンダは、ＢＣ（ＣＨＧ）を発行する。
【０１１７】
図２４は、本実施形態の一例としての、ＢＣ（ＣＨＧ）発行チェックの動作フロー図を示す。変化検出エクスパンダは、Ｓ１０１で検出したポートの変化が、出力ポートの「接続」状態が「切断」状態になった変化であり、かつ、自ＤＥの両系エクスパンダの出力ポートが切断状態となった変化であるか否かを判定する（Ｓ２０１）。Ｓ１０１で検出したポートの変化が、出力ポートの「接続」状態が「切断」状態になった変化であり、かつ、自ＤＥの両系エクスパンダの出力ポートが切断状態となった変化である場合、変化検出エクスパンダは、ＢＣ（ＣＨＧ）を発行すると決定する（Ｓ２０２）。そうでない場合、変化検出エクスパンダは、Ｓ１０１で検出したポートの変化が、「切断」から「接続」への変化か否かを判定する（Ｓ２０３）。
【０１１８】
「切断」から「接続」への変化ではない場合、変化検出エクスパンダは、ＢＣ（ＣＨＧ）を発行しないと決定する（Ｓ２０４）。一方、「切断」から「接続」への変化の場合、変化検出エクスパンダは、接続されたエクスパンダのＳＡＳアドレスが以前と異なるか否かを判定する（Ｓ２０５）。具体的には、変化検出エクスパンダは、接続エクスパンダＳＡＳアドレス管理テーブルに登録されているＳＡＳアドレス（７１〜７４）と、接続されたエクスパンダのＳＡＳアドレスを比較して、比較結果が一致しなければＳＡＳアドレスが以前と異なると判定する。
【０１１９】
ＳＡＳアドレスが以前と異なる場合は、変化検出エクスパンダは、ＢＣ（ＣＨＧ）を発行すると決定する（Ｓ２０６）。ＳＡＳアドレスが以前と同じ場合は、変化検出エクスパンダは、ＢＣ（ＣＨＧ）を発行しないと決定する（Ｓ２０７）。
【０１２０】
次に、エクスパンダ接続通知情報受信時の動作について、図２５を参照して説明する。
図２５は、本実施形態の一例として、エクスパンダ接続通知情報受信時の動作フローを示す。尚、説明の便宜上、以下では、エクスパンダ接続通知情報を受信したエクスパンダを受信エクスパンダと記す。
【０１２１】
先ず、エクスパンダ接続通知情報を受信すると（Ｓ３０１）、受信エクスパンダは、自ＤＥにＤＥ-ＩＤが設定されているか否かを判定する（Ｓ３０２）。
【０１２２】
自ＤＥにＤＥ-ＩＤが設定されている場合（Ｓ３０２でＮｏ）、受信エクスパンダは、系間接続マトリックスに従い、系間ＳＡＳ経路７０２を有効にするか否かを決定する（Ｓ３０３）。尚、Ｓ３０３における決定は、受信した接続通知情報の内容を反映した上で行われる。そして、受信エクスパンダは、受信したエクスパンダ接続通知情報の内容、及び、Ｓ３０３の決定に基づいて、エクスパンダ接続管理テーブルを更新し、また、Ｓ３０３の決定の結果を実行する（Ｓ３０４）。受信したエクスパンダ接続通知情報の内容に基づいたエクスパンダ接続管理テーブルの更新は、具体的には以下のようになる。すなわち、受信エクスパンダは、受信したエクスパンダ接続通知情報のＤＥ-ＩＤ８１で示される番号に一致する、エクスパンダ接続管理テーブルのＤＥ-ＩＤ６１の行に、受信したエクスパンダ接続通知情報の内容を更新する。受信エクスパンダは、ＥＸＰ＃０ ＳＡＳアドレス８２の情報をＥＸＰ＃０ ＳＡＳアドレス６２に、ＥＸＰ＃１ ＳＡＳアドレス８３の情報をＥＸＰ＃１ ＳＡＳアドレス６３に反映する。また、受信エクスパンダは、ＥＸＰ＃０入力ポート状況８４の情報をＥＸＰ＃０入力ポート状況６４に、ＥＸＰ＃１入力ポート状況８５の情報をＥＸＰ＃１入力ポート状況６５に、系間ＳＡＳ経路動作８６の情報を系間ＳＡＳ経路状況６６に反映する。
【０１２３】
その後、受信エクスパンダは、自ＤＥの接続状態をエクスパンダ接続応答情報にて、エクスパンダ接続通知情報の送信元に対して応答する（Ｓ３０５）。尚、エクスパンダ接続応答情報は、異なるＤＥのエクスパンダ間は、ＳＡＳ経路を介して伝達され、同一ＤＥ内のＳＡＳエクスパンダ間は、系間通信経路７０１を介して伝達される。
【０１２４】
自ＤＥにＤＥ-ＩＤが設定されていない場合（Ｓ３０２でＹｅｓ）、受信エクスパンダは、系間ＳＡＳ経路７０２は切断したまま、受信したエクスパンダ接続通知情報の内容をエクスパンダ接続管理テーブルに反映する（Ｓ３０６）。具体的には、受信エクスパンダは、受信したエクスパンダ接続通知情報のＤＥ-ＩＤ８１で示される番号に一致する、エクスパンダ接続管理テーブルのＤＥ-ＩＤ６１の行に、受信したエクスパンダ接続通知情報の内容を更新する。系間ＳＡＳ経路７０２は接続しない理由は、ＤＥ-ＩＤが設定されていないとＤＥの位置がわからないため、ＳＡＳループの判断ができないからである。その後、Ｓ３０５に処理が遷移する。
【０１２５】
次に、受信エクスパンダは、Ｓ３０４において自ＤＥの系間ＳＡＳ経路７０２の状態が変化したか否かを判定する（Ｓ３０７）。系間ＳＡＳ経路７０２の状態が変化していない場合、処理は終了する。
【０１２６】
一方、系間ＳＡＳ経路７０２の状態が変化した場合、受信エクスパンダは、ストレージシステム１００に接続されているすべてのエクスパンダに対して、ＳＡＳポートの状態と動作を通知する（Ｓ３０８）。通知は、受信エクスパンダがエクスパンダ接続通知情報を発行することにより行われる。ここで、エクスパンダ接続通知情報の系間ＳＡＳ経路動作８６には、Ｓ３０３で決定された動作が格納される。また、エクスパンダ接続通知情報は、異なるＤＥのエクスパンダ間は、ＳＡＳ経路を介して伝達され、ＤＥ内のＳＡＳエクスパンダ間は、系間通信経路７０１を介して伝達される。ここで発行された通知情報を受信したエクスパンダの動作も、図２５に示す動作フローに従う。
【０１２７】
通知したすべてのエクスパンダから応答が返ってきたら、受信エクスパンダは、自ＤＥの状態及び応答の結果を、エクスパンダ接続管理テーブルに反映する（Ｓ３０９）。
【０１２８】
尚、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【０１２９】
上記実施形態に関し、更に以下の付記を開示する。
【０１３０】
（付記１）
情報通信装置間の通信を中継する中継装置であって、
自装置と、該自装置の前段または後段に配置され該自装置と論理的経路で接続される第1の中継装置との間の第１の通信状態の変化を検出する検出部と、
前記自装置が中継する論理的経路とは異なる他の論理的経路を中継する第２の中継装置から、該第２の中継装置と、該第２の中継装置の前段または後段に配置され該第２の中継装置と論理的経路で接続される第３の中継装置との間の第２の通信状態を取得する通信状態取得部と、
前記検出部が前記第１の通信状態の変化を検出した場合、前記第１及び第２の通信状態の組み合わせに応じて、前記自装置と前記第２の中継装置との間の論理的経路を有効にする経路接続部と
を備えることを特徴とする中継装置。
【０１３１】
（付記２）
前記経路接続部は、
前記第１の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第４の中継装置と、前記第１の中継装置との間の第３の通信状態に応じて、前記自装置と前記第２の中継装置との間の論理的経路を有効にする
ことを特徴とする付記１に記載の中継装置。
【０１３２】
（付記３）
さらに、
前記情報通信装置間において配置される第５の中継装置に対して、前記自装置と前記第２の中継装置との間の論理的経路を有効にする旨の通知を発行する処理を行う処理部
を備えることを特徴とする付記２に記載の中継装置。
【０１３３】
（付記４）
前記第５の中継装置の処理部は、前記自装置から、前記通知を受信した場合、該第５の中継装置と、該第５の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第６の中継装置との間の論理的経路を有効にする
ことを特徴とする付記３に記載の中継装置。
【０１３４】
（付記５）
さらに、
前記第１の通信状態の変化が検出された場合、前記第１の通信状態の変化に応じて、前記情報通信装置間において配置される第７の中継装置に対して、該第７の中継装置の前段または後段に配置され該第７の中継装置と論理的経路で接続される第８の中継装置と、該第７の中継装置との間の第４の通信状態を収集させる情報収集要求を発行する情報収集要求発行部
を備えることを特徴とする付記１に記載の中継装置。
【０１３５】
（付記６)
情報通信装置間の通信を中継する中継装置における接続管理方法であって、
自装置と、該自装置の前段または後段に配置され該自装置と論理的経路で接続される第１の中継装置との間の第１の通信状態の変化を検出し、
前記自装置が中継する論理的経路とは異なる他の論理的経路を中継する第２の中継装置から、該第２の中継装置と、該第２の中継装置の前段または後段に配置され該第２の中継装置と論理的経路で接続される第３の中継装置との間の第２の通信状態を取得し、
前記第１の通信状態の変化を検出した場合、前記第１及び第２の通信状態の組み合わせに応じて、前記自装置と前記第２の中継装置との間の論理的経路を有効にする
処理をコンピュータが実行することを特徴とする接続管理方法。
【０１３６】
（付記７）
前記第１の中継装置と、該第１の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第４の中継装置との間の通信状態に応じて、前記自装置と前記第２の中継装置との間の論理的経路を有効にする
処理をコンピュータが実行することを特徴とする付記６に記載の接続管理方法。
【０１３７】
（付記８)
前記情報通信装置間において配置される第５の中継装置に対して、前記自装置と前記第２の中継装置との間の論理的経路を有効にする旨の通知を発行する
処理をコンピュータが実行することを特徴とする付記７に記載の接続管理方法。
【０１３８】
（付記９）
前記自装置から、前記通知を受信した場合、該第５の中継装置と、該第５の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第６の中継装置との間の論理的経路を有効にする
処理をコンピュータが実行することを特徴とする付記８に記載の接続管理方法。
【０１３９】
（付記１０)
前記第１の通信状態の変化が検出された場合、前記第１の通信状態の変化に応じて、前記情報通信装置間において配置される第７の中継装置に対して、該第７の中継装置の前段または後段に配置され該第７の中継装置と論理的経路で接続される第８の中継装置と、該第７の中継装置との間の第４の通信状態を収集させる情報収集要求を発行する
処理をコンピュータが実行することを特徴とする付記６に記載の接続管理方法。
【０１４０】
（付記１１)
情報通信装置間の通信を中継する複数の中継装置を備えた情報通信システムであって、
前記複数の中継装置のうち第1の中継装置は、
前記第１の中継装置の前段または後段に配置され該第１の中継装置と論理的経路で接続される第２の中継装置との間の第１の通信状態の変化を検出する検出部と、
前記第１の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第３の中継装置から、該第３の中継装置と、該第３の中継装置の前段または後段に配置され該第３の中継装置と論理的経路で接続される第４の中継装置との間の第２の通信状態を取得する通信状態取得部と、
前記検出部が前記第１の通信状態の変化を検出した場合、前記第１及び第２の通信状態の組み合わせに応じて、前記第１の中継装置と前記第３の中継装置との間の論理的経路を有効にする経路接続部と
を備える
ことを特徴とする情報通信システム。
【０１４１】
（付記１２）
前記経路接続部は、
前記第２の中継装置と、該第２の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第５の中継装置との間の第３の通信状態に応じて、前記第１の中継装置と前記第３の中継装置との間の論理的経路を有効にする
ことを特徴とする付記１１に記載の情報通信システム。
【０１４２】
（付記１３）
前記第１の中継装置は、さらに、
前記情報通信システムにおいて配置される第６の中継装置に対して、前記第１の中継装置と前記第３の中継装置との間の論理的経路を有効にする旨の通知を発行する処理を行う処理部と
を備えることを特徴とする付記１２に記載の情報通信システム。
【０１４３】
（付記１４）
前記第６の中継装置の処理部は、前記第１の中継装置から、前記通知を受信した場合、該第６の中継装置と、該第６の中継装置が中継する論理的経路とは異なる他の論理的経路を中継する第７の中継装置との間の論理的経路を有効にする
ことを特徴とする付記１３に記載の情報通信システム。
【０１４４】
（付記１５）
前記第１の中継装置は、さらに、
前記第１の通信状態の変化が検出された場合、前記第１の通信状態の変化に応じて、前記情報通信システムにおいて配置される第８の中継装置に対して、該第８の中継装置の前段または後段に配置され該第８の中継装置と論理的経路で接続される第９の中継装置と、該第８の中継装置との間の第４の通信状態を収集させる情報収集要求を発行する情報収集要求発行部
を備えることを特徴とする付記１１に記載の情報通信システム。
【符号の説明】
【０１４５】
１      中継装置
２      検出部
３      通信状態取得部
４      経路接続部
５      処理部
６      情報収集要求発行部
【図８】
0005962215.tif 000002
【図９】
0005962215.tif 000003
【図１０】
0005962215.tif 000004
【図１２】
0005962215.tif 000005
【図１３】
0005962215.tif 000006
【図１４】
0005962215.tif 000007
【図１６】
0005962215.tif 000008
【図１７】
0005962215.tif 000009
【図２０】
0005962215.tif 000010
【図２３】
0005962215.tif 000011
【図１】
0005962215.tif 000012
【図２】
0005962215.tif 000013
【図３】
0005962215.tif 000014
【図４】
0005962215.tif 000015
【図５】
0005962215.tif 000016
【図６】
0005962215.tif 000017
【図７】
0005962215.tif 000018
【図１１】
0005962215.tif 000019
【図１５】
0005962215.tif 000020
【図１８】
0005962215.tif 000021
【図１９】
0005962215.tif 000022
【図２１】
0005962215.tif 000023
【図２２】
0005962215.tif 000024
【図２４】
0005962215.tif 000025
【図２５】
0005962215.tif 000026