(57)【要約】【課題】情報取得要求を行なった結果、他の記憶装置接続装置から応答がない場合においても、その上位の記憶装置接続装置において情報収集を継続して行なうことができるようにする。【解決手段】他の記憶装置接続装置１２に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力部２と、情報取得要求出力部２が情報取得要求を出力してからの経過時間を測定するタイマ３と、情報取得要求に対する他の記憶装置接続装置１２からの応答に基づいて、他の記憶装置接続装置１２に関する接続状態を管理する接続状態管理部４とをそなえ、接続状態管理部４が、タイマ３による測定の結果、情報取得要求の出力から所定時間経過しても情報収集処理が完了していない場合に、情報取得要求を行なった他の記憶装置接続装置１２に関して正常状態である旨の設定を行なう。【選択図】図１
2011129052.tif 000002
【特許請求の範囲】
【請求項１】
１以上の記憶装置が接続されるとともに、他の記憶装置接続装置を接続可能な記憶装置接続装置であって、
該他の記憶装置接続装置に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力部と、
該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定するタイマと、
該情報取得要求に対する該他の記憶装置接続装置からの応答に基づいて、該他の記憶装置接続装置に関する接続状態を管理する接続状態管理部とをそなえ、
該接続状態管理部が、
該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報取得要求を行なった該他の記憶装置接続装置に関して正常状態である旨の設定を行なうことを特徴とする、記憶装置接続装置。
【請求項２】
該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報取得要求出力部が、該情報取得要求を再度出力することを特徴とする、請求項１記載の記憶装置接続装置。
【請求項３】
該情報取得要求出力部による該情報取得要求の出力回数を計数するカウンタをそなえ、
該接続状態管理部が、
該カウンタの計数値が所定の閾値を超えたことを検知した場合に、該情報取得要求を行なった該他の記憶装置接続装置に関して該正常状態である旨の設定を行なうことを特徴とする、請求項２記載の記憶装置接続装置。
【請求項４】
該他の記憶装置接続装置に対して、当該他の記憶装置接続装置の状態を表わす状態情報を関連付けて記録する状態情報格納部をそなえ、
該接続状態管理部が、該状態情報格納部に格納された該状態情報に基づいて、該他の記憶装置接続装置に関する接続状態を管理することを特徴とする、請求項１〜請求項３のいずれか１項に記載の記憶装置接続装置。
【請求項５】
該情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない該他の記憶装置接続装置を再起動させることにより、当該他の記憶装置接続装置の復旧を行なう復旧処理部をそなえることを特徴とする、請求項１〜請求項４のいずれか１項に記載の記憶装置接続装置。
【請求項６】
１以上の記憶装置と複数の記憶装置接続部とをそなえたストレージ装置であって、
該複数の記憶装置接続部のうち一の該記憶装置接続部が、
該複数の記憶装置接続部のうち他の記憶装置接続部に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力部と、
該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定するタイマと、
該情報取得要求に対する該他の記憶装置接続部からの応答に基づいて、該他の記憶装置接続部に関する接続状態を管理する接続状態管理部とをそなえ、
該接続状態管理部が、
該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報収集処理が完了していない該他の記憶装置接続部に関して正常状態である旨の設定を行なうことを特徴とする、ストレージ装置。
【請求項７】
１以上の記憶装置と複数の記憶装置接続部とをそなえたストレージ装置における情報管理方法であって、
該複数の記憶装置接続部のうち一の記憶装置接続部において、
該複数の記憶装置接続部のうち他の記憶装置接続部に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力ステップと、
該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定する計時ステップと、
該情報取得要求に対する該他の記憶装置接続部からの応答に基づいて、該他の記憶装置接続部に関する接続状態を管理する接続状態管理ステップとをそなえ、
該接続状態管理ステップにおいて、
該計時ステップにおける測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報収集処理が完了していない該他の記憶装置接続部に関して正常状態である旨の設定を行なうことを特徴とする、情報管理方法。
【請求項８】
１以上の記憶装置が接続されるとともに他の記憶装置接続装置を接続可能な記憶装置接続装置において、該他の記憶装置接続装置にかかる情報を管理する情報管理機能をコンピュータに実行させるための情報管理プログラムであって、
該他の記憶装置接続装置に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力部と、
該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定するタイマと、
該情報取得要求に対する該他の記憶装置接続装置からの応答に基づいて、該他の記憶装置接続装置に関する接続状態を管理する接続状態管理部として、該コンピュータを機能させるとともに、
該接続状態管理部が、
該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報収集処理が完了していない該他の記憶装置接続装置に関して正常状態である旨の設定を行なうことを特徴とする、情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ストレージシステムにおける構成情報の管理を行なう技術に関する。
【背景技術】
【０００２】
図２９はストレージシステムの構成を模式的に示す図である。
この図２９に示すストレージシステム９００は、例えば、複数の記憶装置がアレイ状に配列されたＲＡＩＤ（Redundant Arrays of Inexpensive Disks）システムであり、上位装置であるホストコンピュータ９０１に接続されている。
ストレージシステム９００は、ホストコンピュータ９０１からの入出力要求（例えば、リードコマンドやライトコマンド）に応じて、記憶装置（図示省略）に対して、データの読み出しや書き込み等の処理を行なう。
【０００３】
このストレージシステム９００は、図２９に示すように、コントローラエンクロージャ（ＣＥ）＃０００と複数（図２９に示す例では２つ）のディスクエンクロージャ（ＤＥ）＃００１，＃００２とをそなえて構成されている。又、ＣＥ＃０００にはＤＥ＃００１，＃００２が直列にカスケード接続（多段接続）されている。すなわち図２９に示すように、ＣＥ＃０００にＤＥ＃００１が接続され、ＤＥ＃００１にＤＥ＃００２が接続されている。
【０００４】
ＣＥ＃０００は、１以上（図２９に示す例では２つ）のコントローラモジュール（ＣＭ）＃００，＃０１を格納するものである。ＣＭ＃００，＃０１は、ストレージシステム９００における種々の制御を行なうものであり、ホストコンピュータ９０１から送信されたＩ／Ｏコマンドに基づいて、各ＳＡＳエクスパンダ８０２ａ，８０２ｂ，８０３ａ，８０３ｂ，８０４ａ，８０４ｂにそなえられた各記憶装置に対するアクセス制御を行なう。
【０００５】
ＣＭ＃００はコントローラ８０１ａおよびＳＡＳ（Serial Attached SCSI）エクスパンダ（ＥＸＰ）８０２ａをそなえており、ＣＭ＃０１は、コントローラ８０１ｂおよびＳＡＳエクスパンダ８０２ｂをそなえている。
コントローラ８０１ａ，８０１ｂは、それぞれＣＭ＃００，＃００における各種制御を行なうものである。又、ＣＭ＃００において、コントローラ８０１ａは、データバス８１１ａを介してＳＡＳエクスパンダ８０２ａに接続されるとともに、データバス８１２ａを介してＣＭ＃０１のＳＡＳエクスパンダ８０２ｂに接続されている。
【０００６】
同様に、ＣＭ＃０１において、コントローラ８０１ｂは、データバス８１１ｂを介してＳＡＳエクスパンダ８０２ｂに接続されるとともに、データバス８１２ｂを介してＣＭ＃００のＳＡＳエクスパンダ８０２ａに接続されている。
ＳＡＳエクスパンダ８０２ａ，８０２ｂには、共通の１以上の記憶装置（図示省略）が接続され、コントローラ８０１ａ，８０２ｂから送信されるディスクアクセスコマンドに基づき、この記憶装置に対するアクセス制御を行なう。そして、この１以上の記憶装置に対して、ＳＡＳエクスパンダ８０２ａ，８０２ｂのそれぞれが接続されることにより、記憶装置へのアクセス経路が二重化されている。
【０００７】
ＤＥ＃００１は、図示しない１以上の記憶装置をそなえるとともにＳＡＳエクスパンダ８０３ａ，８０３ｂをそなえて構成され、この１以上の記憶装置に対して、ＳＡＳエクスパンダ８０３ａ，８０３ｂのそれぞれが接続されることにより、記憶装置へのアクセス経路が二重化されている。
また、ＤＥ＃００２は、同じく図示しない１以上の記憶装置をそなえるとともにＳＡＳエクスパンダ８０４ａ，８０４ｂをそなえて構成され、この１以上の記憶装置に対して、ＳＡＳエクスパンダ８０４ａ，８０４ｂのそれぞれが接続されることにより、記憶装置へのアクセス経路が二重化されている。
【０００８】
ＳＡＳエクスパンダ８０３ａ，８０３ｂ，８０４ａ，８０４ｂは、それぞれコントローラ８０１ａ，８０１ｂから送信されるディスクアクセスコマンドに基づき、この記憶装置に対するアクセス制御を行なうものである。
そして、ＣＥ＃０００のＳＡＳエクスパンダ８０２ａにＤＥ＃００１のＳＡＳエクスパンダ８０３ａがデータパス８１３ａ−１を介して接続されている。又、ＤＥ＃００２のＳＡＳエクスパンダ８０４ａは、ＤＥ＃００１のＳＡＳエクスパンダ８０３ａにデータパス８１３ａ−２を介して接続されている。
【０００９】
同様に、ＣＥ＃０００のＳＡＳエクスパンダ８０２ｂにＤＥ＃００１のＳＡＳエクスパンダ８０３ｂがデータパス８１３ｂ−１を介して接続されている。又、ＤＥ＃００２のＳＡＳエクスパンダ８０４ｂは、ＤＥ＃００１のＳＡＳエクスパンダ８０３ｂにデータパス８１３ｂ−２を介して接続されている。
すなわち、コントローラ８０１ａには、ＳＡＳエクスパンダ８０２ａ，８０３ａ，８０４ａが直列にカスケード接続されている。つまり、図２９に示すように、コントローラ８０１ａにＳＡＳエクスパンダ８０２ａが接続され、このＳＡＳエクスパンダ８０２ａにＳＡＳエクスパンダ８０３ａが接続されている。更に、ＳＡＳエクスパンダ８０３ａにＳＡＳエクスパンダ８０４ａが接続されている。同様に、コントローラ８０１ｂにＳＡＳエクスパンダ８０２ｂ，８０３ｂ，８０４ｂが直列にカスケード接続されている。すなわち、コントローラ８０１ｂにＳＡＳエクスパンダ８０２ｂが接続され、このＳＡＳエクスパンダ８０２ｂにＳＡＳエクスパンダ８０３ｂが接続されている。更に、ＳＡＳエクスパンダ８０３ｂにＳＡＳエクスパンダ８０４ｂが接続されている。
【００１０】
また、図中、ａ，ｂの文字を有する各符号は、同じ文字を有する各符号どうしの間に、それぞれ対応関係があることを示している。例えば、上述の構成においては、ＳＡＳエクスパンダ８０２ａにはＳＡＳエクスパンダ８０３ａ及びＳＡＳエクスパンダ８０４ａがカスケード接続されるようになっている。同様に、ＳＡＳエクスパンダ８０２ｂにはＳＡＳエクスパンダ８０３ｂ及びＳＡＳエクスパンダ８０４ｂがカスケード接続されている。以下、ａ，ｂの文字を有する符号どうしは、互いに対応関係にある部分であることを示す。
【００１１】
さらに、上記のａ，ｂの符号を有する部品において、ａ，ｂの符号を有した各部品どうしの間に構成上および機能上の差異がないものに関しては、以下、便宜上ａ，ｂの各符号を省略して表記する場合がある。例えば、ＳＡＳエクスパンダ８０２ａ，８０２ｂはそれぞれ同一の構成を有しているとともに同一の機能を有するものであり、以下、ＳＡＳエクスパンダ８０２というときは、符号８０２ａ，８０２ｂで示すＳＡＳエクスパンダを表記するものとする。同様に、ＳＡＳエクスパンダ８０３というときは、符号８０３ａ，８０３ｂで示すＳＡＳエクスパンダを表記するものとし、又、ＳＡＳエクスパンダ８０４というときは、符号８０４ａ，８０４ｂで示すＳＡＳエクスパンダを表記するものとする。
【００１２】
また、以下、コントローラ８０１からＳＡＳエクスパンダ８０４までのデータ経路において、ホストコンピュータ９０１側、すなわち、コントローラ８０１側を上流側もしくは上位という場合がある。
さて、上述の如くバックエンド接続にＳＡＳエクスパンダを使用したストレージシステムにおける構成管理方法として、エクスパンダが、コンフィギュレーション変化検知時にブロードキャストチェンジ（BROADCAST(CHANGE)：以下BC(CHG)）と呼ばれる情報フレームを発行する手法が知られている。
【００１３】
このような従来のストレージシステム９００においては、ＳＡＳエクスパンダ８０２〜８０４が、それぞれコンフィギュレーション変化検知時にBC(CHG)を発行して上流側のコントローラ８０１に通知を行なうことにより、コンフィギュレーション変化時の上位通知およびコンフィギュレーション再構築を行なう。
また、コントローラ８０１やＳＡＳエクスパンダ８０２〜８０４は、配下のデバイスの接続状態をディスカバリ処理にて知ることができる（例えば、下記特許文献１参照）。
【００１４】
このディスカバリ処理は、いずれかのＳＡＳエクスパンダにおいて状態変化が検出された場合に、コントローラ８０１等が配下のデバイスの接続状態を知るために行なわれる。具体的には、ディスカバリ処理は、上位のＳＡＳエクスパンダ８０２〜８０４から下位側のＳＡＳエクスパンダ８０３〜８０４に対してREPORT GENERALやREPORT ROUTE INFORMATION等のコマンドを送信することにより行なわれる。下位側のＳＡＳエクスパンダ８０３〜８０４は、これらのコマンドに対する応答として、自らが有しているPhy（物理リンク）の数やこれらのPhyに接続されたデバイスの情報を送信する。
【００１５】
コントローラ８０１においては、下流側のＳＡＳエクスパンダから送信された情報を用いて、配下のデバイスの情報を管理する。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００８−１９７７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、このようなストレージシステムにおいては、カスケード接続された複数のＳＡＳエクスパンダにおいて、あるＳＡＳエクスパンダがディスカバリ処理中の場合に、その上位のＳＡＳエクスパンダやコントローラはディスカバリ処理を進めることができない。なお、以下、ＳＡＳエクスパンダがディスカバリ処理中であることをSelf-Configuring（自己設定）中という場合がある。
【００１８】
図３０〜図３４は従来のストレージシステムにおけるディスカバリ処理中に異常が発生した際の処理を説明するための図である。なお、これらの図３０〜図３４においては、便宜上、一つのコントローラ８０１と、このコントローラ８０１にカスケード接続されるＳＡＳエクスパンダ８０２〜８０４とを示している。又、これらの図３０〜図３４においては、ストレージシステム９００にそなえられた複数の記憶装置のうち、ＳＡＳエクスパンダ８０４に接続された一の記憶装置８１０だけを図示している。
【００１９】
ストレージシステム９００において、例えば、図３０に示すように、ＳＡＳエクスパンダ８０４は、その管理するトポロジに変化（状態変化）を検知すると、ディスカバリ処理を行なわずに、BC(CHG)をその上位のＳＡＳエクスパンダ８０３に対して送信（発行）する。
また、ＳＡＳエクスパンダ８０４からBC(CHG)を受信したＳＡＳエクスパンダ８０３は、更にその上位のＳＡＳエクスパンダ８０２に対してBC(CHG)を転送し、ＳＡＳエクスパンダ８０２は、更に、その上位のコントローラ８０１に対してBC(CHG)を転送する。
【００２０】
BC(CHG)を受信したコントローラ８０１やＳＡＳエクスパンダ８０２，８０３は、図３１に示すように、それぞれディスカバリ処理を開始する。これに伴い、ＳＡＳエクスパンダ８０２，８０３はSelf-Configuring中となる。
また、コントローラ８０１やＳＡＳエクスパンダ８０２，８０３においては、配下のＳＡＳエクスパンダ８０４，８０４がディスカバリ処理中（Discovery中）の状態（Self-Configuring中）においては、ディスカバリ処理を進めることができず、待機中（Discovery待機中，Self-Configuring中）となる（図３２参照）。
【００２１】
すなわち、例えば、ＳＡＳエクスパンダ８０２，８０３は、配下のＳＡＳエクスパンダ８０３，８０４がディスカバリ処理（Self-Configuring）を完了し、これらのＳＡＳエクスパンダ８０３，８０４からBC(CHG)が送信されるとディスカバリ処理を開始する。
ところが、図３３に示すように、例えば、ＳＡＳエクスパンダ８０３に何らかの異常がありディスカバリ処理が完了しない場合がある。このように、ＳＡＳエクスパンダ８０３においてディスカバリ処理が完了しない場合には、ＳＡＳエクスパンダ８０３からBC(CHG)が発行されない。従って、その上位のＳＡＳエクスパンダ８０２はBC(CHG)を受信することができず、ディスカバリ待機中のままディスカバリ処理を完了することができない。
【００２２】
また、ＳＡＳエクスパンダ８０３においてディスカバリ処理が完了した場合であっても、図３３に示すように、伝送路８１３−１において伝送路異常が生じＳＡＳエクスパンダ８０２がBC(CHG)を受信できない場合がある。又、同じくＳＡＳエクスパンダ８０３においてディスカバリ処理が完了した場合であっても、図３４に示すように、ＳＡＳエクスパンダ８０３もしくはＳＡＳエクスパンダ８０２に何らかの異常が生じた場合にも、ＳＡＳエクスパンダ８０２はBC(CHG)を受信できない。これらのように、ＳＡＳエクスパンダ８０２が、BC(CHG)を受信しない場合には、ＳＡＳエクスパンダ８０２やコントローラ８０１はディスカバリ待機中のままとなり、ディスカバリ処理は完了されない。
【００２３】
すなわち、ＳＡＳエクスパンダ８０２やコントローラ８０１は、Self-Configuring中のままの状態となり、その配下のデバイスの接続状態を把握することができなくなるという課題がある。なお、このような場合には、ＳＡＳエクスパンダ８０２やコントローラ８０１がSelf-Configuring中のままストレージシステム９００の運用が続けられ、最終的には、例えば、ＣＭがデグレード（縮退）することになる。
【００２４】
本件の目的の一つは、このような課題に鑑み創案されたもので、情報取得要求を行なった結果、他の記憶装置接続装置から応答がない場合においても、その上位の記憶装置接続装置において情報収集を継続して行なうことができるようにすることである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の1つとして位置付けることができる。
【課題を解決するための手段】
【００２５】
このため、この記憶装置接続装置は、１以上の記憶装置が接続されるとともに、他の記憶装置接続装置を接続可能な記憶装置接続装置であって、該他の記憶装置接続装置に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力部と、該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定するタイマと、該情報取得要求に対する該他の記憶装置接続装置からの応答に基づいて、該他の記憶装置接続装置に関する接続状態を管理する接続状態管理部とをそなえ、該接続状態管理部が、該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報取得要求を行なった該他の記憶装置接続装置に関して正常状態である旨の設定を行なう。
【００２６】
また、このストレージ装置は、１以上の記憶装置と複数の記憶装置接続部とをそなえたストレージ装置であって、該複数の記憶装置接続部のうち一の該記憶装置接続部が、該複数の記憶装置接続部のうち他の記憶装置接続部に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力部と、該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定するタイマと、該情報取得要求に対する該他の記憶装置接続部からの応答に基づいて、該他の記憶装置接続部に関する接続状態を管理する接続状態管理部とをそなえ、該接続状態管理部が、該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報収集処理が完了していない該他の記憶装置接続部に関して正常状態である旨の設定を行なう。
【００２７】
さらに、この情報管理方法は、１以上の記憶装置と複数の記憶装置接続部とをそなえたストレージ装置における情報管理方法であって、該複数の記憶装置接続部のうち一の記憶装置接続部において、該複数の記憶装置接続部のうち他の記憶装置接続部に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力ステップと、該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定する計時ステップと、該情報取得要求に対する該他の記憶装置接続部からの応答に基づいて、該他の記憶装置接続部に関する接続状態を管理する接続状態管理ステップとをそなえ、該接続状態管理ステップにおいて、該計時ステップにおける測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報収集処理が完了していない該他の記憶装置接続部に関して正常状態である旨の設定を行なう。
【００２８】
また、この情報管理プログラムは、１以上の記憶装置が接続されるとともに他の記憶装置接続装置を接続可能な記憶装置接続装置において、該他の記憶装置接続装置にかかる情報を管理する情報管理機能をコンピュータに実行させるための情報管理プログラムであって、該他の記憶装置接続装置に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力部と、該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定するタイマと、該情報取得要求に対する該他の記憶装置接続装置からの応答に基づいて、該他の記憶装置接続装置に関する接続状態を管理する接続状態管理部として、該コンピュータを機能させるとともに、該接続状態管理部が、該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報収集処理が完了していない該他の記憶装置接続装置に関して正常状態である旨の設定を行なう。
【発明の効果】
【００２９】
開示の記憶装置接続装置，ストレージ装置，情報管理方法及び情報管理プログラムによれば、以下の少なくともいずれか１つの効果ないし利点が得られる。
（１）情報収集処理の完了待ちの状態が解消され、情報収集処理を完了させることができる。これにより、その上位のデバイスにおいても情報収集処理を実行することができる。
【００３０】
（２）情報収集処理が完了していない他の記憶装置接続装置を再起動させることにより、情報収集処理異常の状態から復旧させ、記憶装置接続装置およびこの記憶装置接続装置に接続されているデバイスを安定して動作させることができる。
【図面の簡単な説明】
【００３１】
【図１】実施形態の一例としてのストレージシステムの機能構成を模式的に示す図である。
【図２】実施形態の一例としてのＳＡＳエクスパンダのハードウェア構成の例を示す図である。
【図３】実施形態の一例としての状態管理テーブルの例を示す図である。
【図４】実施形態の一例としてのストレージシステムにおける状態監視部によるPhyの監視手法を説明するためのフローチャートである。
【図５】実施例の一例としてのストレージシステムにおけるＳＡＳエクスパンダのPhyの状態遷移を示す図である。
【図６】図５に示した状態遷移図における各状態での処理を説明するためのフローチャートである。
【図７】図５に示した状態遷移図における各状態での処理を説明するためのフローチャートである。
【図８】図５に示した状態遷移図における各状態での処理を説明するためのフローチャートである。
【図９】図５に示した状態遷移図における各状態での処理を説明するためのフローチャートである。
【図１０】図５に示した状態遷移図における各状態での処理を説明するためのフローチャートである。
【図１１】実施形態の一例としてのストレージシステムにおける、ディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【図１２】実施形態の一例としてのストレージシステムにおける、ディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【図１３】実施形態の一例としてのストレージシステムにおける、ディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【図１４】実施形態の一例としてのストレージシステムにおける、ディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【図１５】実施形態の一例としてのストレージシステムにおける、ディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【図１６】実施形態の一例としてのストレージシステムにおける、ディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【図１７】（ａ）〜（ｄ）は実施形態の一例としてのストレージシステムにおけるＳＥＳコマンドを用いたＳＡＳエクスパンダの復旧手法を説明するための図である。
【図１８】実施形態の一例としてのストレージシステムにおける復旧処理部によるＳＥＳコマンドによる復旧手法を説明するためのフローチャートである。
【図１９】（ａ）〜（ｄ）は実施形態の一例としてのストレージシステムにおけるリンクダウン機能を用いたＳＡＳエクスパンダの復旧手法を説明するための図である。
【図２０】実施形態の一例としてのストレージシステムに関して、外部経路を用いた復旧手法を実現可能な構成を模式的に例示する図である。
【図２１】実施形態の一例としてのストレージシステムに関して、そのＳＡＳエクスパンダのハードウェア構成を模式的に示す図である。
【図２２】（ａ）〜（ｄ）は実施形態の一例としてのストレージシステムにおける外部経路を用いたＳＡＳエクスパンダの復旧手法を説明するための図である。
【図２３】実施形態の一例としての状態管理テーブルの他の例を示す図である。
【図２４】実施形態の一例としてのストレージシステムにおけるＳＡＳエクスパンダにおける、DISCOVERコマンドへの応答手法を説明するためのフローチャートである。
【図２５】実施形態の一例としてのストレージシステム説明するためのフローチャートである。
【図２６】実施形態の一例としてのストレージシステムにおけるＳＡＳエクスパンダＡによるＳＡＳエクスパンダＢのリカバリ処理を説明するためのフローチャートである。
【図２７】実施形態の一例としてのストレージシステムにおけるリカバリ処理を実装した場合のExpander Phyの状態遷移を示す図である。
【図２８】実施形態の一例としてのストレージシステムにおける異常状態にあるPhyの状態遷移を示す図である。
【図２９】ストレージシステムの構成を模式的に示す図である。
【図３０】従来のストレージシステムにおけるディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【図３１】従来のストレージシステムにおけるディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【図３２】従来のストレージシステムにおけるディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【図３３】従来のストレージシステムにおけるディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【図３４】従来のストレージシステムにおけるディスカバリ処理中に異常が発生した際の処理を説明するための図である。
【発明を実施するための形態】
【００３２】
以下、図面を参照して実施の形態を説明する。
図１は実施形態の一例としてのストレージシステム１の機能構成を模式的に示す図、図２はそのＳＡＳエクスパンダ１２のハードウェア構成の例を示す図である。
本ストレージシステム（ストレージ装置）１は、例えば、複数の記憶装置２０がアレイ状に配列されたＲＡＩＤシステムであり、図１に示すように、上位装置であるホストコンピュータ２００に接続されている。
【００３３】
ストレージシステム１は、このホストコンピュータ２００からの入出力要求（例えば、リードコマンドやライトコマンド）に応じて、記憶装置２０に対して、データの読み出しや書き込み等の処理を行なう。なお、ホストコンピュータ２００からの入出力要求のことをホストＩ／Ｏコマンドという場合がある。
本ストレージシステム１は、図１に示すように、コントローラエンクロージャ（Controller Enclosure：ＣＥ）１４０及び複数（図１に示す例では３つ）のデバイスエンクロージャ（Device Enclosure：ＤＥ）３０−１，３０−２，３０−３をそなえている。
【００３４】
なお、ＤＥ３０−１，３０−２，３０−３は互いにほぼ同様の構成をそなえている。以下、ＤＥを示す符号としては、複数のＤＥのうち１つを特定する必要があるときには３０−１，３０−２，３０−３を用いるが、任意のＤＥを指すときには符号３０を用いる。
ＣＥ１４０及び各ＤＥ３０は、それぞれ１以上（図１および図２に示す例では３つ）の記憶装置２０をそなえ、これらの記憶装置２０の記憶領域を、本ストレージシステム１に対して提供する。
【００３５】
記憶装置２０は、種々のデータやプログラム等を読み出し可能に格納するものであり、例えばＨＤＤ（Hard Disk Drive）である。本ストレージシステム１においては、複数の記憶装置２０をアレイ状に配列することにより、ＲＡＩＤが形成されている。
なお、記憶装置２０としては、種々の記憶装置を用いることができるが、本実施形態においては、これらの記憶装置２０として、ＳＡＳ（Serial Attached SCSI）の規格に基づいて接続されたＳＡＳディスクを用いた例について説明する。
【００３６】
ＣＥ１４０は、図１に示すように、複数（図１に示す例では２つ）のＣＭ１４１ａ，１４１ｂと、１以上（図１および図２に示す例では３つ）の記憶装置２０とをそなえている。
ＣＭ１４１ａ，１４１ｂは、本ストレージシステム１における各種制御を行なうものである。ＣＭ１４１ａは、コントローラ１０ａ及びＳＡＳエクスパンダ（SAS-EXP）１２ａをそなえている。又、ＣＭ１４１ｂは、コントローラ１０ｂ及びＳＡＳエクスパンダ１２ｂをそなえている。
【００３７】
なお、コントローラ１０ａとコントローラ１０ｂとは互いにほぼ同様の構成をそなえており、又、ＳＡＳエクスパンダ１２ａとＳＡＳエクスパンダ１２ｂとも互いにほぼ同様の構成をそなえている。
すなわち、ＣＭ１４１ａとＣＭ１４１ｂとは、互いにほぼ同様の機能・構成をそなえている。以下、ＣＭを示す符号としては、複数のＣＭのうち１つを特定する必要があるときには１４１ａ，１４１ｂを用いるが、任意のＣＭを指すときには符号１４１を用いる。同様に、以下、ＳＡＳエクスパンダを示す符号としては、複数のＳＡＳエクスパンダのうち１つを特定する必要があるときには１２ａ，１２ｂを用いるが、任意のＳＡＳエクスパンダを指すときには符号１２を用いる。又、以下、コントローラを示す符号としては、複数のコントローラのうち１つを特定する必要があるときには１０ａ，１０ｂを用いるが、任意のコントローラを指すときには符号１０を用いる。
【００３８】
コントローラ１０は、ＣＭ１４１ａ，１４１ｂにおける各種制御を行なうものであり、複数の記憶装置２０に対するアクセス制御を行なうアクセス制御部として機能する。
このコントローラ１０は、ホストコンピュータ２００から送信されるホストＩ／Ｏコマンドに基づき、本ストレージシステム１にそなえられた各記憶装置２０に対するディスクアクセスコマンドを生成する。
【００３９】
そして、コントローラ１０は、このディスクアクセスコマンドを、対象の記憶装置２０にかかるＳＡＳエクスパンダ１２ａ，１２ｂに送信する。
また、コントローラ１０ａは、データパス１８ａを介してＳＡＳエクスパンダ１２ａに接続されるとともに、データパス１６ａを介してＣＭ１４１ｂのＳＡＳエクスパンダ１２ｂに接続されている。
【００４０】
同様に、コントローラ１０ｂはデータパス１８ｂを介してＳＡＳエクスパンダ１２ｂに接続されるとともに、データパス１６ｂを介してＣＭ１４１ａのＳＡＳエクスパンダ１２ａに接続されている。
すなわち、ＣＥ１４０においては、コントローラ１０ａ，１０ｂは、それぞれ他のＣＭ１４１ｂ，１４１ａのＳＡＳエクスパンダ１２ｂ，１２ａとも接続されている（クロス接続）。
【００４１】
これにより、コントローラ１０ａは、このコントローラ１０ａと同一のＣＭ１４１ａにそなえられたＳＡＳエクスパンダ１２ａと、他のＣＭ１４１ｂにそなえられたＳＡＳエクスパンダ１２ｂとに接続されている。同様に、コントローラ１０ｂは、このコントローラ１０ｂと同一のＣＭ１４１ｂにそなえられたＳＡＳエクスパンダ１２ｂと、他のＣＭ１４１ａにそなえられたＳＡＳエクスパンダ１２ａとに接続されている。
【００４２】
なお、以下、コントローラ１０からデータパス１８ａもしくはデータパス１８ｂを介してＳＡＳエクスパンダ１２ａおよびＳＡＳエクスパンダ１２ｂへかけて接続される経路をストレートラインという場合がある。
また、コントローラ１０ａとコントローラ１０ｂとは、データパス１５を介して通信可能に接続されている。このデータパス１５は、例えば、PCI Expressの規格に基づくものである。又、データバス１８ａ，１８ｂ，１９ａ−１，１９ｂ−１，１９ａ−２，１９ｂ−２，１９ａ−３，１９ｂ−３は、例えば、ＳＡＳインタフェースの規格に基づくものである。
【００４３】
ＤＥ３０は、複数（図１に示す例では３つ）の記憶装置２０をそなえ、これらの記憶装置２０の記憶領域を利用可能に提供するものである。このＤＥ３０は、図１に示すように、ＳＡＳエクスパンダ１２ａ，１２ｂ及び記憶装置２０をそなえている。
ＳＡＳエクスパンダ１２ａ，１２ｂは、共通の１以上の記憶装置２０が接続され、コントローラ１０から送信されるディスクアクセスコマンドに基づき、これらの記憶装置２０に対するアクセス制御を行なうものである。すなわち、ＳＡＳエクスパンダ１２は、複数の記憶装置２０が接続される記憶装置接続部（記憶装置接続装置）として機能する。
【００４４】
ＳＡＳエクスパンダ１２ａとＳＡＳエクスパンダ１２ｂとには、共通の１以上（図１に示す例においては３つ）の記憶装置２０が接続されており、これらの記憶装置２０には、ＳＡＳエクスパンダ１２ａとＳＡＳエクスパンダ１２ｂのいずれからもデータの書き込みや読み出しを行なうことができる。
図１に示す例においては、ＳＡＳエクスパンダ１２ａは、データバス１９１ａを介して記憶装置２０に接続されており、ＳＡＳエクスパンダ１２ｂは、データバス１９１ｂを介して記憶装置２０に接続されている。
【００４５】
すなわち、これらの１以上の記憶装置２０に対して、ＳＡＳエクスパンダ１２ａ，１２ｂのそれぞれが接続されることにより、記憶装置２０へのアクセス経路が二重化されている。
なお、以下、コントローラ１０ａをコントローラ０と、又、コントローラ１０ｂをコントローラ１と表現する場合がある。又、以下、ＣＥ１４０に格納されたＳＡＳエクスパンダ１２ａをＳＡＳエクスパンダ０−０と、又、ＣＥ１４０に格納されたＳＡＳエクスパンダ１２ｂをＳＡＳエクスパンダ０−１と表現する場合がある。
【００４６】
同様に、以下、ＤＥ３０−１に格納されたＳＡＳエクスパンダ１２ａをＳＡＳエクスパンダ１−０と、ＤＥ３０−１に格納されたＳＡＳエクスパンダ１２ｂをＳＡＳエクスパンダ１−１と表現する場合がある。又、以下、ＤＥ３０−２に格納されたＳＡＳエクスパンダ１２ａをＳＡＳエクスパンダ２−０と、ＤＥ３０−２に格納されたＳＡＳエクスパンダ１２ｂをＳＡＳエクスパンダ２−１と表現する場合がある。更に、以下、ＤＥ３０−３に格納されたＳＡＳエクスパンダ１２ａをＳＡＳエクスパンダ３−０と、ＤＥ３０−３に格納されたＳＡＳエクスパンダ１２ｂをＳＡＳエクスパンダ３−１と表現する場合がある。
【００４７】
なお、以下、便宜上、本ストレージシステム１において、ホストＩ／Ｏコマンドの送信元であるホストコンピュータ２００側を上流側もしくは上位といい、ディスクアクセスコマンドに基づいて作成されるディスクアクセスコマンドの送信先側を下流側もしくは下位という。又、以下、下位に接続されたデバイスのことを配下のデバイスという場合もある。
【００４８】
また、図１に示す例において、コントローラ１０ａを上流側として、ＳＡＳエクスパンダ０−０，ＳＡＳエクスパンダ１−０，ＳＡＳエクスパンダ２−０，ＳＡＳエクスパンダ３−０と接続される一連のストレートラインの経路を０系と表現する場合がある。同様に、コントローラ１０ｂを上流側として、ＳＡＳエクスパンダ０−１，ＳＡＳエクスパンダ１−１，ＳＡＳエクスパンダ２−１，ＳＡＳエクスパンダ３−１と接続される一連のストレートラインの経路を１系と表現する場合がある。
【００４９】
ＳＡＳエクスパンダ１２は、図２に示すように、エクスパンダチップ１２０，ＰＬＤ（Programmable Logic Device）１３０，電源１３１，スイッチ１３２及びリピータ１３３をそなえている。
エクスパンダチップ１２０は、ＳＡＳエクスパンダ１２の各種機能を実現するものであり、電源１３１から供給される非常駐電力で動作する。このエクスパンダチップ１２０は、図２に示すように、プロセッサ１２１，メモリ１２４及びPhy（PHYsical）をそなえている。
【００５０】
Phyは、物理リンクポートであり、図２に示す例においては、Phy０〜２３の２４個のPhyがそなえられている。又、この図２に示す例においては、Phy０〜３が上位のＳＡＳエクスパンダ１２やコントローラ１０との接続に用いられ、リピータ１３３を介して上位のＳＡＳエクスパンダ１２やコントローラ１０に接続される。又、Phy４〜７は下位側のＳＡＳエクスパンダ１２との接続に用いられ、Phy８〜１０，１５〜１３が記憶装置２０との接続に用いられる。
【００５１】
リピータ１３３は、ＳＡＳエクスパンダ１２のＩＮ／ＯＵＴ インタフェースに接続され、ユニット入出力部（図示省略）での信号増幅を行なう。又、このリピータ１３３は、Phy（図２に示す例においては、Phy0〜3）のリンクアップを検出すると、ＰＬＤ１３０にその旨を通知する機能をそなえている。
電源１３１は、ＳＡＳエクスパンダ１２の各部へ電力を供給する。又、電源１３１はＰＬＤ１３０に対して常駐電力を供給するとともに（常駐電源）、スイッチ１３２を介してエクスパンダチップ１２０に非常駐電力を供給する（非常駐電源）。
【００５２】
スイッチ１３２は、電源１３１からエクスパンダチップ１２０への電力供給のＯＮ／ＯＦＦを切り替えるものである。このスイッチ１３２は、ＰＬＤ１３０からの制御に基づいて、電源１３１からエクスパンダチップ１２０への電力供給のＯＮ／ＯＦＦを選択的に切り替える。
ＰＬＤ１３０は、常駐電源で動作するデバイスであって、ＳＡＳエクスパンダ１２の電源制御等を行なう。このＰＬＤ１３０は、例えば、リピータ１３３がリンクアップ（Link Up：詳細は後述）を検出した場合に、スイッチ１３２への電源制御信号を送信して、スイッチ１３２（非常駐電源）をＯＮにし、エクスパンダチップ１２０を動作させる。
【００５３】
メモリ１２４は、各種データやプログラムを格納するものであり、プロセッサ１２１が各種演算や制御を行なう際に、一時的にデータやプログラムを格納（展開）する。又、このメモリ１２４には、図３に示す状態管理テーブルＴ１が格納される。
図３は実施形態の一例としての状態管理テーブルＴ１の例を示す図である。状態管理テーブルＴ１は、そのエクスパンダチップ１２０がそなえられたＳＡＳエクスパンダ１２の状態と、このＳＡＳエクスパンダ１２に接続されているデバイスの状態（Phyの状態）を示すものであり、後述する状態監視部７によって更新される。この状態管理テーブルＴ１は、図３に示すように、Phyの状態テーブル部Ｔ１−１と、Self-Configuring Flag部Ｔ１−２とをそなえている。
【００５４】
Phyの状態テーブル部Ｔ１−１は、各Phyの状態（Phy状態）を格納するものであり、Phyを特定するためのPhy IDに対応させてPhy状態が登録（格納）される。Phy状態は、そのPhyに接続されているデバイスの状態を示す状態情報であって、例えば、“通常状態”，“ディスカバリ（Discovery）待ち”，“異常状態（リカバリ中）”等のデバイスの状態を示す情報が格納される。すなわち、メモリ１２４が、他のＳＡＳエクスパンダ１２に対して、そのＳＡＳエクスパンダ１２の状態を表わす状態情報を関連付けて記録する状態情報格納部として機能する。
【００５５】
Self-Configuring Flag部Ｔ１−２には、そのＳＡＳエクスパンダ１２がディスカバリ処理中（Self-Configuring中，自己設定中）であるか否かの状態（Self-Configuring状態）を示す情報が格納される。例えば、そのＳＡＳエクスパンダ１２がSelf-Configuring中である場合には、“1”が格納される。
プロセッサ１２１はプログラムを実行することにより種々の演算および制御を行なう演算装置であり、メモリ１２４や図示しないＲＯＭ（Read Only Memory）に格納されたプログラムを実行することにより各種機能を実現する。このプロセッサ１２１は、図２に示すように、ＳＭＰ１２２及びＳＳＰ１２３をそなえている。なお、ＳＭＰ１２２は、SMP（Serial Management Protocol）に基づく論理デバイスであり、ＳＳＰ１２３は、SSP（Serial SCSI Protocol）に基づく論理デバイス１２３である。
【００５６】
そして、このプロセッサ１２１が、図示しないＲＯＭ（Read Only Memory）や記憶装置に格納された情報管理プログラムを実行することにより、後述する、情報取得要求出力部２，タイマ３，接続状態管理部４，リトライカウンタ制御部５，復旧処理部６及び状態監視部７として機能する。
なお、情報取得要求出力部２，タイマ３，接続状態管理部４，リトライカウンタ制御部５，復旧処理部６及び状態監視部７としての機能を実現するためのプログラム（情報管理プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００５７】
情報取得要求出力部２，タイマ３，接続状態管理部４，リトライカウンタ制御部５，復旧処理部６及び状態監視部７としての機能を実現する際には、内部記憶装置（本実施形態では図示しないＲＯＭや記憶装置）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではプロセッサ１２１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００５８】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、ＳＡＳエクスパンダ１２がコンピュータとしての機能を有しているのである。
【００５９】
情報取得要求出力部（ディスカバリ処理実行部）２は、当該ＳＡＳエクスパンダ１２に接続された下位側のＳＡＳエクスパンダ１２に対してディスカバリコマンド（情報取得要求）を出力することによりディスカバリ処理（情報収集処理）を行なう。
具体的には、情報取得要求出力部２は、下位のＳＡＳエクスパンダ１２のＳＭＰ１２２に対して、例えば、REPORT GENERAL（RPT_GENERAL），DISCOVER， REPORT ROUTE INFORMATION（RPT_RT_INFO）等のコマンドを送信する。
【００６０】
ここで、REPORT GENERALは、ＳＡＳエクスパンダ１２に対してSelf-Configuring中かどうかや、そのＳＡＳエクスパンダ１２が有するPhyの数を問い合わせるためのコマンドである。例えば、下位のＳＡＳエクスパンダ１２がSelf-Configuring中である場合には、下位のＳＡＳエクスパンダ１２はCONFIGURING＝１を上位のＳＡＳエクスパンダ１２に対して応答する。
【００６１】
また、REPORT GENERALに対する下位のＳＡＳエクスパンダ１２からの応答には、Phyの数も含まれる。
DISCOVERは、Phyの接続状態を知りたいＳＡＳエクスパンダ１２に向けて発行されるコマンドである。このDISCOVERを受信したＳＡＳエクスパンダ１２は、このコマンドを受けたＳＡＳエクスパンダ１２のPhyに直接接続されるデバイス情報（例えば、接続されるデバイスが記憶装置２０かＳＡＳエクスパンダ１２であるか等）を応答として送信する。
【００６２】
REPORT ROUTE INFORMATIONは、配下のＳＡＳエクスパンダ１２に接続されるデバイスの接続状態を取得するためのコマンドである。このREPORT ROUTE INFORMATIONを受信したＳＡＳエクスパンダ１２は、このコマンドを受けたＳＡＳエクスパンダ１２のPhyに直接接続されるデバイスの情報ではなく、そのＳＡＳエクスパンダ１２の先に接続された全てのデバイスの接続情報を応答として送信する。
【００６３】
また、情報取得要求出力部２は、後述するタイマ３による測定の結果、情報取得要求を出力してから所定時間経過しても情報収集処理が完了していない場合、すなわち、下位のＳＡＳエクスパンダ１２から応答がない場合に、再度、情報取得要求を出力する。
タイマ３は、情報取得要求出力部２が情報取得要求を出力してからの経過時間を測定する。プロセッサ（ディスカバリ状態確認部）１２０は、ディスカバリ処理の開始とともに、ディスカバリ状態の監視を開始し、タイマ３により経過時間を計測する。そして、プロセッサ１２０は、ディスカバリ処理を開始してから所定時間が経過するたびに、対象のＳＡＳエクスパンダ１２が接続されたPhyの状態を確認する。なお、このタイマ３としての機能は、既知の種々の手法を用いて実現することができ、その詳細な説明は省略する。
【００６４】
リトライカウンタ制御部５は、情報取得要求出力部２による情報取得要求の出力回数を計数するものであり、同一のＳＡＳエクスパンダ１２に対して行なった情報取得要求の回数（リトライ数）を計数する。すなわち、リトライカウンタ制御部５はディスカバリ処理のリトライ数を計数する。又、このリトライカウンタ制御部５による計数結果は、リトライカウンタ（カウンタ）５１にカウンタ値として格納される。又、このリトライカウンタ５１は、例えばメモリ１２４の所定の領域に格納される。
【００６５】
接続状態管理部４は、情報取得要求に対する他のＳＡＳエクスパンダ１２からの応答に基づいて、これらの他のＳＡＳエクスパンダ１２に関する接続状態を管理する。具体的には、この接続状態管理部４は、前述した状態管理テーブルＴ１（状態情報）により各Phyの状態、すなわち各Phyに接続されたＳＡＳエクスパンダ１２の状態を管理する。
また、接続状態管理部４は、上述したタイマ３による測定の結果、情報取得要求の出力から所定時間経過してもその情報収集処理が完了していない場合に、その情報取得要求を行なった他のＳＡＳエクスパンダ１２に関して、状態管理テーブルＴ１のPhy状態を“通常状態”と設定する。つまり、接続状態管理部４は、タイマ３による測定の結果、情報取得要求の出力から所定時間経過してもその情報収集処理が完了していない場合に、その情報取得要求を行なった他のＳＡＳエクスパンダ１２に関して正常状態である旨の設定（みなし正常設定）を行なう。
【００６６】
さらに、接続状態管理部４は、リトライカウンタ５１の値を所定の閾値と比較し、リトライカウンタ５１の値が閾値を超えたことを検知した場合に、情報取得要求を行なった他のＳＡＳエクスパンダ１２に対して、状態管理テーブルＴ１のPhy状態を“通常状態”と設定する。
このように状態管理テーブルＴ１のPhy状態を“通常状態”と設定することにより、そのＳＡＳエクスパンダ１２のディスカバリ処理を完了させることができる。そして、これにより、その上位のＳＡＳエクスパンダ１２やコントローラ１０においても、ディスカバリ処理を行なうことが可能となる。  復旧処理部６は、ディスカバリ異常となったPhy配下のＳＡＳエクスパンダ１２をディスカバリ異常の状態から復旧させるものである。この復旧処理部６は、接続状態管理部４によってみなし正常設定を行なったＳＡＳエクスパンダ１２を再起動（リブート）させることにより、このＳＡＳエクスパンダ１２を復旧させる。
【００６７】
なお、復旧処理部６は、メモリ１２４等に格納されたリカバリ対象情報（詳細は後述）を参照することにより、再起動させるPhy（ＳＡＳエクスパンダ１２）を判断する。
すなわち、復旧処理部６は、情報取得要求の出力から所定時間経過してもその情報収集処理が完了していない他のＳＡＳエクスパンダ１２を再起動させることにより、その復旧を図る。なお、この復旧処理部６によるＳＡＳエクスパンダ１２の復旧処理の詳細については後述する。
【００６８】
状態監視部７は、そのＳＡＳエクスパンダ１２に接続されているデバイスの状態を監視するものであり、そのＳＡＳエクスパンダ１２におけるPhy０〜２３の状態監視を行なう。そして、状態監視部７は、その監視結果に基づいて、上述した状態管理テーブルＴ１を更新する。
ここで、実施形態の一例としてのストレージシステム１における状態監視部７によるPhyの監視手法を図４に示すフローチャート（ステップＡ１０〜Ａ４０）に従って説明する。
【００６９】
状態監視部７は、情報取得要求出力部２が行なった情報取得要求に対して、各デバイスから行なわれた応答に基づいて、全てのPhy０〜２３について、１つずつPhyの状態監視と状態管理テーブルＴ１の更新を行なう（ステップＡ１０）。
そして、状態監視部７は、全てのPhyの状態が、「ディスカバリ待ち」もしくは「ディスカバリ処理中」のいずれかの状態であるかを確認する（ステップＡ２０）。全てのPhy０〜２３が「ディスカバリ待ち）と「ディスカバリ処理中」とのいずれの状態でもない場合には（ステップＡ２０のＹＥＳルート参照）、状態監視部７は、状態管理テーブルＴ１のSelf-Configuring Flag部Ｔ１−２に“０”を設定する（ステップＡ４０）。すなわち、全てのPhy０〜２３は、通常状態もしくは接続待ちの状態である。
【００７０】
一方、Phy０〜２３において、「ディスカバリ待ち」もしくは「ディスカバリ処理中」のものが１つでもある場合には（ステップＡ２０のＮＯルート参照）、状態監視部７は、状態管理テーブルＴ１のSelf-Configuring Flag部Ｔ１−２に“１”を設定する（ステップＡ３０）。すなわち、全てのPhy０〜２３はSelf-Configuring中の状態である。
図５は実施例の一例としてのストレージシステム１におけるＳＡＳエクスパンダ１２のPhy（以下、Expander Phyという場合がある）の状態遷移を示す図である。
【００７１】
ストレージシステム１の通常状態において（図５中のＳ１参照）、デバイスの接続切断が検出されると、そのデバイスの接続待ちに移行する（図５中のＳ２参照）。デバイスの接続が確立した場合や、通常状態においてBC(CHG)を受信した場合には、ディスカバリ処理に移行する（図５中のＳ３参照）。
このディスカバリ処理において、情報取得要求出力部２からの情報取得要求におけるREPORT GENERALへの応答がSelf-Configuring中を示す（CONFIGURING＝1）場合には、ディスカバリ待ち（Discovery待ち）に移行する（図５中のＳ４参照）。ディスカバリ待ち状態においてBC(CHG)を受信した場合には、ディスカバリ処理（Discovery処理）状態に移行する（図５中のＳ３参照）。そして、このディスカバリ処理状態において、ディスカバリが完了した場合には、通常状態に移行する。
【００７２】
また、ディスカバリ処理状態においては、ディスカバリ処理開始時に、状態監視部７によるディスカバリ状態監視を開始し、ディスカバリ状態監視（Discovery状態監視）状態に移行する（図５中のＳ５参照）。なお、このディスカバリ状態監視状態は、ディスカバリ処理完了時に停止する。
そして、このディスカバリ状態監視状態において、Phyの状態がディスカバリ処理中のまま一定時間変化がなかった場合、ディスカバリ処理を再開する。情報取得要求出力部２による情報取得要求のリトライ数が所定値以上となった場合（ディスカバリ・リトライアウト）には、異常状態に移行する（図５中のＳ６参照）。
【００７３】
すなわち、ディスカバリ処理再開後にPhyの状態がディスカバリ処理中から変化がない状態が一定回数連続で発生した場合は、そのPhyか、そのPhyに接続されるＳＡＳエクスパンダ１２、又はその経路が異常であると判断し、そのPhyのディスカバリ処理を中断する。そして、そのPhy配下のデバイス接続状態が取得できない状態のままディスカバリ処理完了とする。
【００７４】
また、ディスカバリ処理を行なった結果、配下のＳＡＳエクスパンダ１２がSelf-Configuring中のためにBC(CHG)受信待ちになった後、一定時間BC(CHG)を受信しなかった場合は、BC(CHG)の消失を疑い、配下のＳＡＳエクスパンダ１２にディスカバリ処理のリトライを行なう。
このディスカバリ処理のリトライを行なっても配下のＳＡＳエクスパンダ１２がConfiguring中であった場合には、再びBC(CHG)受信待ち状態となる。このリトライを一定回数行なっても配下のＳＡＳエクスパンダ１２がConfiguring中であった場合は、そのPhyか、そのPhyに接続されるＳＡＳエクスパンダ１２、又はその経路が異常であると判断する。そして、ディスカバリ処理を中断し、配下のデバイス接続状態が取得できない状態でディスカバリ処理完了とする。
【００７５】
このようにすることで、ディスカバリ処理が終わらないような状況が発生したとしても、その異常が発生しているPhy配下のデバイス接続状態のみが取得できないだけで済み、それより上位の正常な部分については接続状態を取得することが可能となる。
また、異常状態において、接続切断が検出された場合には、接続待ち状態に移行し（図５中のＳ２参照）、一方、BC(CHG)を受信した場合には、ディスカバリ処理に移行する（図５中のＳ３参照）。
【００７６】
本ストレージシステム１においては、状態監視部７および接続状態管理部４によりExpander Phyの状態を把握するとともに、タイマ３によりディスカバリ処理をタイマー監視する。これにより、ディスカバリ処理中の処理停滞やBC(CHG)消失によるディスカバリ処理の未完了状態を防ぐ。
次に、図５に示した状態遷移図における各状態での処理を、図６〜図１０に示すフローチャートに従って説明する。
【００７７】
先ず、実施形態の一例としてのストレージシステム１における通常状態（図５のＳ１参照）の処理を図６に示すフローチャート（ステップＢ１０，Ｂ２０）に従って説明する。
ディスカバリ処理が完了し、通常監視を開始する。この状態においては、情報取得要求出力部２からの情報取得要求（REPORT GENERAL）に対する応答がCONFIGURING＝０である。
【００７８】
状態監視部７は、接続切断が発生したかを確認する（ステップＢ１０）。ここで、接続切断が発生した場合には（ステップＢ１０のＹＥＳルート参照）、接続待ち状態（図５中のＳ２参照）へ移行する。
一方、接続切断が発生していない場合には（ステップＢ１０のＮＯルート参照）、次に、BC(CHG)を受信したかを確認する（ステップＢ２０）。BC(CHG)を受信していない場合には（ステップＢ２０のＮＯルート参照）、ステップＢ１０に戻る。又、BC(CHG)を受信した場合には（ステップＢ２０のＹＥＳルート参照）、ディスカバリ処理（図５中のＳ３参照）に移行する。
【００７９】
次に、実施形態の一例としてのストレージシステム１における接続待ち状態（図５のＳ２参照）の処理を図７に示すフローチャート（ステップＣ１０）に従って説明する。
接続待ち監視を開始する。この状態においては、情報取得要求出力部２からの情報取得要求（PEPORT GENERAL）に対する応答がCONFIGURING＝０である。
そして、接続が完了したかを繰り返し確認し（ステップＳ１０，ステップＣ１０のＮＯルート参照）、接続が完了した場合に（ステップＣ１０のＹＥＳルート参照）、接続されるデバイスがＳＡＳエクスパンダであった場合は、ディスカバリ処理（図５中のＳ３参照）に移行する。
【００８０】
次に、実施形態の一例としてのストレージシステム１におけるディスカバリ待ち状態（図５のＳ４参照）の処理を図８に示すフローチャート（ステップＤ１０，Ｄ２０）に従って説明する。
ディスカバリ待ち状態においては、情報取得要求出力部２からの情報取得要求（PEPORT GENERAL）に対する応答がCONFIGURING＝１である。
【００８１】
状態監視部７は、接続切断が発生したかを確認する（ステップＤ１０）。ここで、接続切断が発生した場合には（ステップＤ１０のＹＥＳルート参照）、接続待ち状態（図５中のＳ２参照）へ移行する。
一方、接続切断が発生していない場合には（ステップＤ１０のＮＯルート参照）、次に、BC(CHG)を受信したかを確認する（ステップＤ２０）。BC(CHG)を受信していない場合には（ステップＤ２０のＮＯルート参照）、ステップＤ１０に戻る。又、BC(CHG)を受信した場合には（ステップＤ２０のＹＥＳルート参照）、ディスカバリ処理（図５中のＳ３参照）に移行する。
【００８２】
次に、実施形態の一例としてのストレージシステム１におけるディスカバリ処理状態（図５のＳ３参照）における処理を図９に示すフローチャート（ステップＥ１０〜Ｅ５０，Ｆ１０〜Ｆ４０）に従って説明する。
ディスカバリ処理状態においては、情報取得要求出力部２からの情報取得要求（PEPORT GENERAL）に対する応答がCONFIGURING＝１である。
【００８３】
ディスカバリ処理においては、上位のＳＡＳエクスパンダ１２の情報取得要求出力部２が、下位のＳＡＳエクスパンダ１２に対してPEPORT GENERALやREPORT ROUTE INFORMATIONを発行する（ステップＥ１０，Ｅ２０）。下位のＳＡＳエクスパンダ１２は、これらの情報取得要求に対して応答を行なう（ステップＦ１０，Ｆ２０）。なお、PEPORT GENERALに対して下位のＳＡＳエクスパンダ１２から行なわれる応答には、そのＳＡＳエクスパンダ１２が有するPhyの数（NUMBER OF PHYS）が含まれる。
【００８４】
上位のＳＡＳエクスパンダ１２においては、PEPORT GENERALに対する下位のＳＡＳエクスパンダ１２からの応答がCONFIGURING＝１であるか、すなわち、Self-Configuring中であるかを確認する（ステップＥ３０）。この確認の結果CONFIGURING＝１である場合には（ステップＥ３０のＹＥＳルート参照）、ディスカバリ待ちに移行する（図５中のＳ４参照）。
【００８５】
一方、下位のＳＡＳエクスパンダ１２からの応答がCONFIGURING＝１でない場合には、情報取得要求出力部２は、その下位のＳＡＳエクスパンダ１２に対して、PEPORT GENERALに対して下位のＳＡＳエクスパンダ１２から行なわれた応答に含まれるNUMBER OF PHYS に相当する数分のDISCOVERを発行する（ステップＥ４０）。
下位のＳＡＳエクスパンダ１２は、発行された全てのDISCOVERに対して応答を行なう（ステップＦ３０）。
【００８６】
また、上位のＳＡＳエクスパンダ１２は、必要に応じてREPORT ROUTE INFORMATIONを下位のＳＡＳエクスパンダ１２に対して発行する（ステップＥ５０）。下位のＳＡＳエクスパンダ１２は、このREPORT ROUTE INFORMATIONに対する応答を行なう（ステップＦ４０）。その後、上位のＳＡＳエクスパンダ１２は通常監視状態に移行する。
次に、実施形態の一例としてのストレージシステム１におけるディスカバリ状態監視状態（図５のＳ５参照）における処理を図１０に示すフローチャート（ステップＧ１０〜Ｇ７０）に従って説明する。
【００８７】
ディスカバリ処理が開始されると、これに伴いディスカバリ状態監視も開始される。先ず、リトライカウンタ制御部５がリトライカウンタ５１をリセット（０クリア）した後（ステップＧ１０）、タイマ３により一定時間後に状態監視部７による監視が起動するよう設定が行なわれる（ステップＧ２０：計時ステップ）。この設定は、例えば、「○秒後に関数ｘｘを起動する」等のような設定を行なうことにより実現できる。
【００８８】
そして、状態監視部７は、そのＳＡＳエクスパンダ１２におけるPhy０〜２３の状態を見て、「ディスカバリ待ち」もしくは「ディスカバリ処理」の状態のものがあるかを確認する（ステップＧ３０）。ここでPhy０〜２３において「ディスカバリ待ち」も「ディスカバリ処理」もない場合には（ステップＧ３０のＮＯルート参照）、状態監視処理を終了する。
【００８９】
一方、Phy０〜２３において「ディスカバリ待ち」もしくは「ディスカバリ処理」の状態のものがある場合には（ステップＧ３０のＹＥＳルート参照）、リトライカウンタ制御部５がリトライカウンタ５１をインクリメントする（ステップＧ４０）。そして、接続状態監視部４は、リトライカウンタ５１の値を所定の閾値と比較する（ステップＧ５０）。リトライカウンタ５１の値が閾値を超えていない場合には（ステップＧ５０のＮＯルート参照）、ディスカバリ処理のリトライを行なった後（ステップＧ７０：情報取得要求出力ステップ）、ステップＧ２０に戻る。
【００９０】
また、リトライカウンタ５１の値を所定の閾値と比較した結果、リトライカウンタ５１の値が閾値を超えた場合には（ステップＧ５０のＹＥＳルート参照）、状態管理テーブルＴ１における、そのPhyのPhy状態を強制的に“通常状態”に設定し（ステップＧ６０：接続状態管理ステップ）、状態監視処理を終了する。
所定時間経過毎にディスカバリ処理をリトライした結果、予め設定した閾値以上ディスカバリ処理を繰り返し行なっても、下位のＳＡＳエクスパンダ１２のディスカバリ処理が完了しない場合には、そのPhyもしくはその配下で何らかの異常が発生していると判断することができる。本ストレージシステム１においては、状態管理テーブルＴ１における当該PhyのPhy値を“通常状態”に設定することにより、その下位のＳＡＳエクスパンダ１２についてのディスカバリ処理が完了したと同様の状態にする。すなわち、そのPhyのディスカバリ処理を強制的に完了状態に設定する。これにより、その上位のＳＡＳエクスパンダ１２においてもディスカバリ処理を完了させることが可能となる。
【００９１】
なお、ディスカバリ処理完了時には、上述したステップＧ２０における一定時間毎の状態監視部７による監視処理の実行を抑止する。すなわち、定期監視のタイマ３を停止させる。
次に、上述の如く構成された実施形態の一例としてのストレージシステム１における、ディスカバリ処理中に異常が発生した際の処理を、図１１〜図１６を参照しながら説明する。なお、これらの図１１〜図１６においては、便宜上、説明に用いるコントローラ（Controller）０を上流側とする０系のＳＡＳエクスパンダ（SAS Expander）１２ａ及び一部の記憶装置２０についてのみ図示し、他の部の図示を省略している。又、以下、０系を構成するコントローラ１０ａ及びＳＡＳエクスパンダ１２ａを例示して説明するが、コントローラ１を上流側とする１系についても同様の処理が行なわれることは言うまでもない。
【００９２】
ストレージシステム１において、図１１に示すように、例えば、ＳＡＳエクスパンダ２−０が、その管理するトポロジに変化（状態変化）を検知すると、このＳＡＳエクスパンダ２−０は、BC(CHG)をその上位のＳＡＳエクスパンダ１−０に対して発行する。なお、この場合、ＳＡＳエクスパンダ２−０においてはディスカバリ処理は行なわれない。
ＳＡＳエクスパンダ２−０からBC(CHG)を受信したＳＡＳエクスパンダ１−０は、更にその上位のＳＡＳエクスパンダ０−０にBC(CHG)を転送し、ＳＡＳエクスパンダ０−０は、更に、その上位のコントローラ０にBC(CHG)を転送する。
【００９３】
BC(CHG)を受信したコントローラ０やＳＡＳエクスパンダ０−０，１−０は、図１２に示すように、それぞれディスカバリ処理を開始する。これに伴い、ＳＡＳエクスパンダ０−０，１−０はSelf-Configuring中となる。
また、コントローラ０やＳＡＳエクスパンダ０−０，１−０においては、図１３に示すように、その配下のＳＡＳエクスパンダ１−０がディスカバリ処理中の状態においては、ディスカバリ処理を進めることができず、待機中（Discovery待機中，Self-Configuring中）となる。すなわち、コントローラ０とＳＡＳエクスパンダ０−０は、配下のＳＡＳエクスパンダ１−０がSelf-Configuring中のため、ディスカバリ中のまま待機する。
【００９４】
ここで、ＳＡＳエクスパンダ１−０のディスカバリ処理が完了した場合には、このＳＡＳエクスパンダ１−０から上位のＳＡＳエクスパンダ０−０に対してBC(CHG)が発行される。
ところが、図１４に示すように、何らかの理由により、ＳＡＳエクスパンダ１−０においてBC(CHG)が発行されない、もしくは発行されたBC(CHG)がＳＡＳエクスパンダ０−０で受信できない場合には、ＳＡＳエクスパンダ０−０はディスカバリ待機中のままとなり、ディスカバリ処理を完了できない。又、これに伴い、コントローラ０においても、BC(CHG)を受信することができず、ディスカバリ待機中のままディスカバリ処理を完了することができない。
【００９５】
本ストレージシステム１においては、ＳＡＳエクスパンダ０−０において、ディスカバリ処理を開始してから所定時間経過してもディスカバリ処理が完了しない場合には、接続状態管理部４が、ディスカバリが完了しないPhyのディスカバリを中断し、ディスカバリ処理を強制的に完了させる。具体的には、ディスカバリが完了しないPhyについて、状態管理テーブルＴ１における、そのPhy情報に、実際にはディスカバリ処理が完了していないにもかかわらず“通常状態”を示す情報を設定する（みなし正常設定）。
【００９６】
これにより、図１５に示すように、ＳＡＳエクスパンダ０−０のディスカバリ処理が開始され、ＳＡＳエクスパンダ０−０がDiscovery中もしくはSelf-Configuring中の状態になる。なお、この状態においても、コントローラ０は、配下のＳＡＳエクスパンダ０−０がSelf-Configuring中であるのでディスカバリ待機中のままである。
その後、図１６に示すように、ＳＡＳエクスパンダ０−０のSelf-Configuringが完了すると、ディスカバリが完了し、ディスカバリ処理が部分的に完了する。すなわち、ＳＡＳエクスパンダ１−０のディスカバリ処理は実際には完了していないので、ＳＡＳエクスパンダ０−０においては、ＳＡＳエクスパンダ１−０の配下の情報がない状態で、形式上にディスカバリ処理が完了した状態となる。
【００９７】
コントローラ０においては、ディスカバリを中断した部分以外のディスカバリ接続情報を取得して、ディスカバリ処理を完了させる。この場合、ＳＡＳエクスパンダ１−０以下のデバイスがデバイスマップには登録されないことになる。
このように、ディスカバリ処理中においてディスカバリ処理が完了しないＳＡＳエクスパンダ１２がある場合であっても、ＣＭ縮退等になることがなく、ＳＡＳエクスパンダ１−０以下のデバイスがデバイスマップから消えるだけで、ディスカバリ処理を完了することができる。
【００９８】
次に、上述の如くディスカバリ異常となったPhy配下のＳＡＳエクスパンダ１２を、復旧処理部６がディスカバリ異常の状態から復旧させる手法について説明する。
復旧処理部６は、ディスカバリ異常となったPhy配下のＳＡＳエクスパンダ１２を再起動することにより復旧（リカバリ）させる。
本ストレージシステム１においては、復旧処理部６は、（１）ＳＥＳ（SCSI Enclosure Service）コマンドを用いた復旧手法、（２）ＳＡＳのリンクダウン（Link Down）機能を利用した復旧手法、及び、（３）外部経路を使用した復旧手法の少なくともいずれか１つの手法をそなえている。
【００９９】
（１）ＳＥＳコマンドによる復旧手法
図１７（ａ）〜（ｄ）は実施形態の一例としてのストレージシステム１におけるＳＥＳコマンドを用いたＳＡＳエクスパンダの復旧手法を説明するための図である。
なお、これらの図１７（ａ）〜（ｄ）においては、便宜上、１つのコントローラ１０と、このコントローラ１０にカスケード接続された２つのＳＡＳエクスパンダ１２についてのみ図示し、他の部の図示を省略している。なお、これらの図１７（ａ）〜（ｄ）中においては、２つのＳＡＳエクスパンダ１２のうち、コントローラ１０に接続されたＳＡＳエクスパンダ１２をＳＡＳエクスパンダＡといい、このＳＡＳエクスパンダＡの下位に接続されたＳＡＳエクスパンダ１２をＳＡＳエクスパンダＢという。
【０１００】
図１７（ａ）に示すように、ＳＡＳエクスパンダＡにおいて、ＳＡＳエクスパンダＢからのBC(CHG)が不達である、もしくは、ＳＡＳエクスパンダＢがCONFIGURING＝１となり続けている例について説明する。
このような場合には、図１７（ｂ）に示すように、ＳＡＳエクスパンダＡにおいては、接続状態管理部４はＳＡＳエクスパンダＢが接続されるPhyのディスカバリを中断する。又、コントローラ１０は、ＳＡＳエクスパンダＡの接続状態のみ取得して、ディスカバリ処理を終了する。
【０１０１】
ここで、ディスカバリが滞ったPhyのディスカバリ処理を中断したＳＡＳエクスパンダＡは、図１７（ｃ）に示すように、ディスカバリが滞ったPhyに接続されるＳＡＳエクスパンダＢに対して、通常のディスカバリとは異なるシーケンスでDiscoverコマンドを送信する。ＳＡＳエクスパンダＡは、このDiscoverコマンドに対するＳＡＳエクスパンダＢからの応答に基づき、このＳＡＳエクスパンダＢに直結されているデバイスのデバイス情報を取得する。
【０１０２】
ここで、ＳＡＳエクスパンダＢに直結されているデバイスの中にＳＳＰ （Serial SCSI Protocol）デバイスが存在する場合に、ＳＡＳエクスパンダＡは、そのＳＳＰデバイスに対してリブートコマンド（リセットコマンド）を送信することにより、ＳＡＳエクスパンダＢをリブートさせ復旧を試みる。なお、ＳＳＰデバイスは、例えば、DISCOVERに対する応答に含まれるバーチャルPhyであるか否かを示す情報（フラグ）や、ＳＣＳＩコマンドのInquiryにＳＥＳデバイスか否かを示す情報が含まれているか否かを確認することにより判断することができる。なお、ＳＳＰデバイスの確認は、既知の種々の手法を用いて行なってもよい。
【０１０３】
この結果、ＳＡＳエクスパンダＢが再起動して、図１７（ｄ）に示すように、ＳＡＳエクスパンダＢのSelf-Configuringが完了し、ＳＡＳエクスパンダＢからＳＡＳエクスパンダＡに対してBC(CHG)が届けば、システム全体の接続状態を取得することができる。すなわち、ＳＡＳエクスパンダＢが再起動し、Phyの再接続後に処理されるＳＡＳエクスパンダＡからのディスカバリ処理が完了すれば、ＳＡＳエクスパンダＢの復旧は完了し、コントローラ１０はシステム全体の接続状態を取得することができる。
【０１０４】
ここで、実施形態の一例としてのストレージシステム１における復旧処理部６によるＳＥＳコマンドによる復旧手法を、図１８に示すフローチャート（ステップＨ１０〜Ｈ４０，Ｊ１０〜Ｊ４０）に従って説明する。
リカバリ処理においては、上位のＳＡＳエクスパンダ１２の情報取得要求出力部２が、下位のＳＡＳエクスパンダ１２に対してPEPORT GENERALやREPORT ROUTE INFORMATIONを発行する（ステップＨ１０，Ｈ２０）。下位のＳＡＳエクスパンダ１２は、これらの情報取得要求に対して応答を行なう（ステップＪ１０，Ｊ２０）。
【０１０５】
上位のＳＡＳエクスパンダ１２においては、PEPORT GENERALに対する下位のＳＡＳエクスパンダ１２からの応答のConfiguration値に関係なく、PEPORT GENERALに対して下位のＳＡＳエクスパンダ１２から行なわれた応答に含まれるNUMBER OF PHYS の数分のDISCOVERを発行する（ステップＨ３０）。
下位のＳＡＳエクスパンダ１２は、発行された全てのDISCOVERに対して応答を行なう（ステップＪ３０）。
【０１０６】
そして、これらのDISCOVERに対する応答においてＳＳＰデバイスが存在する場合には、そのＳＳＰデバイスに対してリブートコマンドを発行する（ステップＨ４０）。ＳＳＰにリブートコマンド受信したＳＡＳエクスパンダＢにおいては、リブート処理を開始する（ステップＪ４０）。
この結果、ＳＡＳエクスパンダＢが再起動し、Phyの再接続後に処理されるＳＡＳエクスパンダＡからのディスカバリ処理が完了すれば、ＳＡＳエクスパンダＢの復旧は完了し、通常監視状態（図５のＳ１参照）に移行する。
【０１０７】
（２）ＳＡＳのリンクダウン（Link Down）機能を利用した復旧手法
本ストレージシステム１においては、ＳＡＳエクスパンダ１２は、リピータ１３３がＳＡＳのリンクダウン（Link Down）やリンクアップ（Link Up）を検出する機能をそなえている。又、ＰＬＤ１３０は、このリピータ１３３によるリンクダウン／リンクアップの検出に応じて、スイッチ１３２の切り替え制御を行ない、エクスパンダチップ１２０への電力供給を制御可能に構成されている。
【０１０８】
具体的には、上述の如き、ＳＡＳのリンクダウン検出によるエクスパンダチップ１２０の電源ＯＦＦ処理は、例えば、ＳＡＳエクスパンダ１２内のプロセッサ１２１を動作させるエクスパンダ・ファームウェアにより実現することができる。
また、上述の如き、ＳＡＳのリンクアップ検出によるエクスパンダチップ１２０の電源ＯＮ処理は、例えば、ＳＡＳエクスパンダ１２のＰＬＤが有する機能により実現することができる。
【０１０９】
このように、ディスカバリが停滞したＳＡＳエクスパンダ１２が、ＳＡＳのリンクダウン／リンクアップの検出結果に応じて、エクスパンダチップ１２０への電力供給を制御するリンクダウン機能をそなえている場合には、このリンクダウン機能を用いたリカバリ制御を実現することができる。
図１９（ａ）〜（ｄ）は実施形態の一例としてのストレージシステム１におけるリンクダウン機能を用いたＳＡＳエクスパンダの復旧手法を説明するための図である。
【０１１０】
なお、これらの図１９（ａ）〜（ｄ）においては、便宜上、１つのコントローラ１０と、このコントローラ１０にカスケード接続された２つのＳＡＳエクスパンダ１２についてのみ図示し、他の部の図示を省略している。なお、これらの図１９（ａ）〜（ｄ）中においては、２つのＳＡＳエクスパンダ１２のうち、コントローラ１０に接続されたＳＡＳエクスパンダ１２をＳＡＳエクスパンダＡといい、このＳＡＳエクスパンダＡの下位に接続されたＳＡＳエクスパンダ１２をＳＡＳエクスパンダＢという。
【０１１１】
図１９（ａ）に示すように、ＳＡＳエクスパンダＡにおいて、ＳＡＳエクスパンダＢからのBC(CHG)が不達である、もしくは、ＳＡＳエクスパンダＢがCONFIGURING＝１となり続けている例について説明する。
このような場合には、図１９（ｂ）に示すように、ＳＡＳエクスパンダＡにおいては、接続状態管理部４がＳＡＳエクスパンダＢが接続されるPhyのディスカバリを中断する。又、コントローラ１０は、ＳＡＳエクスパンダＡの接続状態のみ取得して、ディスカバリ処理を終了する。
【０１１２】
ここで、ディスカバリが滞ったPhyのディスカバリ処理を中断したＳＡＳエクスパンダＡは、図１９（ｃ）に示すように、ディスカバリが滞ったPhyを一定期間ディスエーブル（disable）にし、その後、同Phyをイネーブル（Enable）にする。これにより、復旧処理部６は、接続されるＳＡＳエクスパンダＢの電源をＯＦＦ／ＯＮ（リブート）させ、このＳＡＳエクスパンダＢの復旧を試みる。
【０１１３】
この結果、ＳＡＳエクスパンダＢが再起動して、図１９（ｄ）に示すように、ＳＡＳエクスパンダＢのSelf-Configuringが完了し、ＳＡＳエクスパンダＢからＳＡＳエクスパンダＡに対してBC(CHG)が届けば、システム全体の接続状態を取得することができる。すなわち、ＳＡＳエクスパンダＢが再起動し、Phyの再接続後に処理されるＳＡＳエクスパンダＡからのディスカバリ処理が完了すれば、ＳＡＳエクスパンダＢの復旧は完了し、コントローラ１０はシステム全体の接続状態を取得することができる。
【０１１４】
（３）外部経路を使用した復旧手法
図２０は実施形態の一例としてのストレージシステム１に関して、外部経路を用いた復旧手法を実現可能な構成を模式的に例示する図、図２１はそのＳＡＳエクスパンダのハードウェア構成を模式的に示す図である。
本外部経路を使用した復旧手法を実現するには、ストレージシステム１が、例えば、図２０，図２１に示すようなハードウェア構成をそなえることが望ましい。
【０１１５】
すなわち、図２０に示すように、コントローラ１０とＳＡＳエクスパンダ１２とを、データバス１８ａ，１８ｂ，１９ａ−１，１９ｂ−１，１９ａ−２，１９ｂ−２，１９ａ−３，１９ｂ−３とは異なる通信回線（外部経路）２０１を介して通信可能に接続する。この通信回線２０１は、例えば、イーサネット（登録商標）やシリアルの規格に基づくものである。
【０１１６】
このため、図２１に示すように、各ＳＡＳエクスパンダ１２においては、エクスパンダチップ１２０に、シリアル（Serial）ポート２１０やイーサ（Ether）ポート２２０をそなえる。
なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
【０１１７】
図２２（ａ）〜（ｄ）は実施形態の一例としてのストレージシステム１における外部経路を用いたＳＡＳエクスパンダの復旧手法を説明するための図である。
なお、これらの図２２（ａ）〜（ｄ）においては、便宜上、１つのコントローラ１０と、このコントローラ１０にカスケード接続された２つのＳＡＳエクスパンダ１２についてのみ図示し、他の部の図示を省略している。なお、これらの図２２（ａ）〜（ｄ）中においては、２つのＳＡＳエクスパンダ１２のうち、コントローラ１０に接続されたＳＡＳエクスパンダ１２をＳＡＳエクスパンダ（SAS Expander）Ａといい、このＳＡＳエクスパンダＡの下位に接続されたＳＡＳエクスパンダ１２をＳＡＳエクスパンダＢという。
【０１１８】
図２２（ａ）に示すように、ＳＡＳエクスパンダＡにおいて、ＳＡＳエクスパンダＢからのBC(CHG)が不達である、もしくは、ＳＡＳエクスパンダＢがCONFIGURING＝１となり続けている例について説明する。
このような場合には、図２２（ｂ）に示すように、ＳＡＳエクスパンダＡにおいては、接続状態管理部４がＳＡＳエクスパンダＢが接続されるPhyのディスカバリを中断する。又、コントローラ１０は、ＳＡＳエクスパンダＡの接続状態のみ取得して、ディスカバリ処理を終了する。
【０１１９】
ここで、ディスカバリが滞ったPhyのディスカバリ処理を中断したＳＡＳエクスパンダＡは、図２２（ｃ）に示すように、ディスカバリが滞ったPhyに接続されるＳＡＳエクスパンダＢに対し、ＳＡＳインタフェースではない通信回線２０１を介してリブートコマンドを送信し、このＳＡＳエクスパンダＢをリブートさせ復旧を試みる。
この結果、ＳＡＳエクスパンダＢが再起動して、図２２（ｄ）に示すように、ＳＡＳエクスパンダＢのSelf-Configuringが完了し、ＳＡＳエクスパンダＢからＳＡＳエクスパンダＡに対してBC(CHG)が届けば、システム全体の接続状態を取得することができる。すなわち、ＳＡＳエクスパンダＢが再起動し、Phyの再接続後に処理されるＳＡＳエクスパンダＡからのディスカバリ処理が完了すれば、ＳＡＳエクスパンダＢの復旧は完了し、コントローラ１０はシステム全体の接続状態を取得することができる。
【０１２０】
なお、ＳＡＳエクスパンダＡがＳＡＳエクスパンダＢの不調を、データバス１８ａや通信回線２０１等を介してコントローラ１０に通知し、コントローラ１０が通信回線１０を介してＳＡＳエクスパンダＢに対してリブートコマンドを送信することにより、ＳＡＳエクスパンダＢの復旧を行なってもよい。
さて、復旧処理部６が、ディスカバリ異常となったPhy配下のＳＡＳエクスパンダ１２を再起動することにより復旧（リカバリ）させるに際して、再起動処理中のＳＡＳエクスパンダ１２配下のデバイスに対して、ホストコンピュータ２００等からディスクアクセスが行なわれるおそれがある。
【０１２１】
本ストレージシステム１においては、このような復旧処理部６によるリカバリ処理中には、ディスカバリ異常が生じたPhyにデバイスが実装されていないように偽装する機能をそなえることが望ましい。
図２３は実施形態の一例としての状態管理テーブルＴ１の他の例を示す図である。この図２３に示す状態管理テーブルＴ１においては、Phy ID=２に対して、Phy状態として “異常状態（リカバリ中）”が設定されている。
【０１２２】
実施形態の一例としてのストレージシステム１のＳＡＳエクスパンダ１２における、DISCOVERコマンドへの応答手法を、図２４に示すフローチャート（ステップＬ１０〜Ｌ５０）に従って説明する。
上位のＳＡＳエクスパンダ１２から下位のＳＡＳエクスパンダ１２に対して、Phy IDの指定とともにDISCOVERコマンドが送信され、下位のＳＡＳエクスパンダはこのDISCOVERコマンドを受信する（ステップＬ１０）。下位のＳＡＳエクスパンダ１２においては、状態管理テーブルＴ１を参照して、指定されたPhyの状態が異常状態であるか否かを確認する（ステップＬ２０）。
【０１２３】
指定されたPhyの状態が異常状態でない場合には（ステップＬ２０のＮＯルート参照）、ＳＡＳエクスパンダ１２は、そのDISCOVERコマンドに対する応答として、実際の情報を格納して作成する（ステップＬ３０）。そして、ＳＡＳエクスパンダ１２は、この作成したDISCOVERコマンドの応答を、上位のＳＡＳエクスパンダ１２に対して送信して（ステップＬ４０）、処理を終了する。
【０１２４】
一方、指定されたPhyの状態が異常状態である場合には（ステップＬ２０のＹＥＳルート参照）、DISCOVERの応答をデバイスが実装されていない状態にして（ステップＬ５０）、ステップＬ４０に移行する。
ここで、DISCOVERの応答をデバイスが実装されていない状態にする方法としては、例えば、DISCOVERの応答の“ATTACHED DEVICE TYPE field”に“ No device attached (000b)”を、又、“NEGOTIATED PHYSICAL LINK RATE field”に“UNKNOWN (0h)”を、更に、“ATTACHED SATA PORT SELECTOR and ATTACHED SATA DEVICE bits”に“00b”をそれぞれ設定することにより実現することができる。なお、これらのfield，bitはＳＡＳ規約にて定義されており、その詳細な説明は省略する。
【０１２５】
そして、DISCOVERの応答をデバイスが実装されていない状態にする方法は、これに限定されるものではなく、他の種々の手法を用いて実現してもよい。
また、復旧処理部６が、ディスカバリ異常となったPhy配下のＳＡＳエクスパンダ１２を再起動することにより復旧（リカバリ）させるに際して、ＳＡＳエクスパンダ１２の再起動によりBC(CHG)が上位のＳＡＳエクスパンダ１２に送信され、これによりディスカバリ処理が生じ、ストレージシステム１の処理に影響が生じる。このような影響を阻止するために、本ストレージシステム１においては、復旧処理部６によるリカバリ処理に関しては、BC(CHG)の発行を抑止する機能をそなえている。
【０１２６】
実施形態の一例としてのストレージシステム１のＳＡＳエクスパンダ１２によるBC(CHG)の発行手法を、図２５に示すフローチャート（ステップＭ１０〜Ｍ５０）に従って説明する。
ＳＡＳエクスパンダ１２において、状態監視部７がPhyの状態変化を検出した場合や（ステップＭ１０）、Phyに接続された下位のＳＡＳエクスパンダ１２からBC(CHG)を受信した場合に（ステップＭ２０）、接続状態管理部４は、状態変化が検出されたPhyもしくはBC(CHG)を受信したPhyの状態が異常状態であるか否かを確認する。（ステップＭ３０）。なお、Phyの異常状態としては、“リカバリ中のディスカバリ待ち”や“ディスカバリ処理状態”も含むものとする。
【０１２７】
そして、状態変化が検出されたPhyもしくはBC(CHG)を受信したPhyの状態が異常状態ではない場合には（ステップＭ３０のＮＯルート参照）、プロセッサ１２０はBC(CHG)を発行する。一方、状態変化が検出されたPhyもしくはBC(CHG)を受信したPhyの状態が異常状態である場合には（ステップＭ３０のＹＥＳルート参照）、プロセッサ１２０はBC(CHG)の発行を抑止する。
【０１２８】
次に、実施形態の一例としてのストレージシステム１におけるＳＡＳエクスパンダＡによるＳＡＳエクスパンダＢのリカバリ処理を、図２６に示すフローチャート（ステップＫ１０〜Ｋ１１０）に従って説明する。
ディスカバリ異常が発生すると、ＳＡＳエクスパンダＡの状態監視部７は、状態管理テーブルＴ１において、ディスカバリ異常が発生したPhy（対象Phyという場合がある）について、対象Phyの状態を異常状態（リカバリ対象）に移行（設定）する（ステップＫ１０）。
【０１２９】
また、ＳＡＳエクスパンダＡは、DISCOVERには、対象Phyにデバイスが接続していないように見えるよう応答する（ステップＫ２０）。又、ＳＡＳエクスパンダＡは、対象Phyの変化を検出してもBC(CHG)を発行しないよう設定する（ステップＫ３０）。
その後、ＳＡＳエクスパンダＡの復旧処理部６は、対象Phy配下のＳＡＳエクスパンダＢをリブートする（ステップＫ４０）。なお、このリカバリ処理においては、復旧処理部６は、上述した（１）、ＳＥＳコマンドを用いた復旧手法、（２）ＳＡＳのリンクダウン（Link Down）機能を利用した復旧手法、及び、（３）外部経路を使用した復旧手法のいずの手法を用いてもよい。
【０１３０】
対象Phyにて接続確立かBC(CHG)を受けると、ＳＡＳエクスパンダＡはディスカバリ処理を実施する（ステップＫ５０）。そして、このディスカバリ処理が成功したか否かの確認を行ない（ステップＫ６０）、ディスカバリ処理が失敗した場合には（ステップＫ６０のＮＯルート参照）、状態管理テーブルＴ１において、対象Phyの状態を異常状態（確定）に設定（移行）して（ステップＫ７０）、処理を終了する。
【０１３１】
一方、ディスカバリ処理が成功した場合には（ステップＫ６０のＹＥＳルート参照）、接続状態管理部４は、対象PhyにかかるPhy状態を通常状態に移行する（ステップＫ８０）。
そして、DISCOVERの対象Phyの応答として、実際の情報を応答する（ステップＫ９０）。又、プロセッサ１２０は、対象Phyの変化を検出した場合にBC(CHG)を発行するように設定する（ステップＫ１００）。
【０１３２】
その後、配下のＳＡＳエクスパンダ１２をデバイスマップから見えるようにしたためBC(CHG)を発行して（ステップＫ１１０）、処理を終了する。
図２７は実施形態の一例としてのストレージシステム１におけるリカバリ処理を実装した場合のExpander Phyの状態遷移を示す図である。なお、図中、既述の記載と同一の箇所は同一もしくは略同一の処理を示しているので、その説明は省略する。
【０１３３】
この図２７に示す状態遷移図は、図５に示した状態遷移図に対して、主に異常状態（図２７のＳ６′参照）に関する処理が異なる。すなわち、情報取得要求出力部２による情報取得要求のリトライ数が所定値以上となった場合（ディスカバリ・リトライアウト）には、異常状態（リカバリ対象）に移行する（図５中のＳ６参照）。この異常状態（リカバリ対象）においては、接続状態管理部４は、異常状態が検出されたPhyに対して、リカバリ対象である旨を示す情報（リカバリ対象情報）を設定する。
【０１３４】
このリカバリ対象情報は、例えば、Phy IDに対してリカバリ対象である旨を示す識別情報（フラグ等）を対応付けることにより構成され、例えば、メモリ１２４等の所定の領域に格納される。復旧処理部６は、このリカバリ対象情報を参照して、復旧処理の対象のPhyを判断しする。すなわち、復旧処理部６は、このリカバリ対象である旨の識別情報が設定されたPhyに接続されたＳＡＳエクスパンダ１２をリブート（リカバリ）対象とする。又、上述の図２６のフローチャートのステップＫ８０に示したように、異常状態（リカバリ対象）においてリカバリが成功した場合には、通常状態（図２７のＳ１参照）に遷移する。
【０１３５】
図２８は実施形態の一例としてのストレージシステム１における異常状態にあるPhyの状態遷移を示す図である。なお、リカバリ処理中にリカバリ対象のＳＡＳエクスパンダ１２が交換されることも考慮して、リカバリ処理全体の時間監視は行なわない。
異常状態（リカバリ対象）のPhyに関して、復旧処理部６が対象Phyに接続されるＳＡＳエクスパンダ１２をリブートする（図２８のＳ０１参照）。これにより対象Phyの状態は異常状態（リカバリ中）になる（図２８のＳ０２参照）。
【０１３６】
ここで、異常状態（リカバリ中）において、下位のＳＡＳエクスパンダ１２からBC(CHG)を受信した場合には、対象Phyの状態はディスカバリ処理（リカバリ中）となる（図２８のＳ０３参照）。又、異常状態（リカバリ中）（図２８のＳ０２参照）において、接続切断が生じた場合には、接続待ちの状態に移行する（図２８のＳ０４参照）。
そして、この接続待ちの状態において接続が確立すると、ディスカバリ処理（リカバリ中）に移行する（図２８のＳ０３参照）。
【０１３７】
また、ディスカバリ処理（リカバリ中）においてPEPORT GENERALの応答がCONFIGURAING=1となった場合には、対象Phyの状態はディスカバリ待ち（リカバリ中）に移行する（図２８のＳ０５参照）。又、このディスカバリ待ち（リカバリ中）においてBC(CHG)を受信した場合においても、対象Phyの状態はディスカバリ処理（リカバリ中）となる（図２８のＳ０３参照）。更に、ディスカバリ処理（リカバリ中）において、ディスカバリが完了した場合には、通常状態に移行する（図２８のＳ０６参照）。
【０１３８】
また、ディスカバリ処理（リカバリ中）においては（図２８のＳ０３参照）、ディスカバリ処理開始時に状態監視が開始される（図２８のＳ０７参照）。なお、この状態監視は、ディスカバリ処理の完了時に停止する。
また、この状態監視においてディスカバリのリトライアウトが生じた場合には、対象Phyの状態は異常状態（確定）となる（図２８のＳ０８参照）。そして、異常状態（確定）の状態において接続切断が生じた場合には接続待ちの状態に移行する（図２８のＳ０４参照）。リカバリ処理後にリカバリ対象のＳＡＳエクスパンダ１２が交換されることを考慮して、接続切断状態だけは監視されるのである。
【０１３９】
このように、実施形態の一例としてのストレージシステム１においては、接続状態管理部４が、タイマ３による測定の結果、ディスカバリ要求の出力、すなわち、ディスカバリ処理を開始してから所定時間経過してもディスカバリ処理が完了していない場合には、状態情報テーブルＴ１において、そのディスカバリ異常のPhyに対して正常状態である旨（通常状態）の設定（みなし正常設定）を行なう。これにより、ディスカバリ処理の完了待ちの状態が解消され、ディスカバリ処理を完了させることができ、その上位のSASエクスパンダ１２やコントローラ１０においてもディスカバリ処理を実行することができる。すなわち、本ストレージシステム１において縮退等を行なうことなく安定して運用することができる。
【０１４０】
従って、ディスカバリ処理が終わらないような状況が発生したとしても、その異常が発生しているPhy配下のデバイスの接続状態のみが取得できないだけで済み、それよりも上位の正常な部分については接続状態を取得することができる。
また、タイマ３による測定の結果、ディスカバリ処理の開始から所定時間経過してもディスカバリ処理が完了していない場合にリトライを行ない、リトライカウンタ５１の計数値が所定の閾値とを比較する。そして、リトライカウンタ５１の値が閾値を超えたことを検知した場合に、接続状態管理部４が、ディスカバリ異常のPhyに対して正常状態である旨（通常状態）の設定を行なう。このような閾値を適宜設定することにより、本ストレージシステム１の動作を、安定性重視や継続動作重視等の目的に併せて運用することができる。
【０１４１】
さらに、復旧処理部６が、ディスカバリ異常となったPhy配下のＳＡＳエクスパンダ１２を再起動させることによりディスカバリ異常の状態から復旧させるので、このＳＡＳエクスパンダ１２及びこのＳＡＳエクスパンダ１２に接続されているデバイスを安定して動作させることができる。従って、本ストレージシステム１を安定して運用することができ、信頼性を向上することができる
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【０１４２】
例えば、復旧処理部６による、ディスカバリ異常となったPhy配下のＳＡＳエクスパンダ１２を再起動する方法は、上述した実施形態に限定されるものではなく種々変形して実施することができる。又，この復旧処理部６によるＳＡＳエクスパンダ１２の復旧方法も、そのＳＡＳエクスパンダ１２を再起動させることに限定されるものではない。例えば、特定のコマンドをＳＡＳエクスパンダ１２に送信することにより、ＳＡＳエクスパンダ１２を復旧させてもよい。
【０１４３】
また、上述した実施形態においては、ストレージシステム１が３つのＤＥ３０−１，３０−２，３０−３をそなえているが、これに限定されるものではなく、２つ以下もしくは４つ以上のＤＥ３０をそなえてもよい。
同様に、上述した実施形態においては、ＣＥ１４０や各ＤＥ３０に３つの記憶装置２０をそなえているが、これに限定されるものではなく、２つ以下もしくは４つ以上の記憶装置２０をそなえてもよい。
【０１４４】
また、ＳＡＳエクスパンダ１２のハードウェア構成は上述した実施形態に限定されるものではなく、例えば、エクスパンダチップ１２０にそなえられるPhyの数等、適宜変更して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【０１４５】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
１以上の記憶装置が接続されるとともに、他の記憶装置接続装置を接続可能な記憶装置接続装置であって、
該他の記憶装置接続装置に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力部と、
該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定するタイマと、
該情報取得要求に対する該他の記憶装置接続装置からの応答に基づいて、該他の記憶装置接続装置に関する接続状態を管理する接続状態管理部とをそなえ、
該接続状態管理部が、
該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報取得要求を行なった該他の記憶装置接続装置に関して正常状態である旨の設定を行なうことを特徴とする、記憶装置接続装置。
【０１４６】
（付記２）
該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報取得要求出力部が、該情報取得要求を再度出力することを特徴とする、付記１記載の記憶装置接続装置。
（付記３）
該情報取得要求出力部による該情報取得要求の出力回数を計数するカウンタをそなえ、
該接続状態管理部が、
該カウンタの計数値が所定の閾値を超えたことを検知した場合に、該情報取得要求を行なった該他の記憶装置接続装置に関して該正常状態である旨の設定を行なうことを特徴とする、付記２記載の記憶装置接続装置。
【０１４７】
（付記４）
該他の記憶装置接続装置に対して、当該他の記憶装置接続装置の状態を表わす状態情報を関連付けて記録する状態情報格納部をそなえ、
該接続状態管理部が、該状態情報格納部に格納された該状態情報に基づいて、該他の記憶装置接続装置に関する接続状態を管理することを特徴とする、付記１〜付記３のいずれか１項に記載の記憶装置接続装置。
【０１４８】
（付記５）
該情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない該他の記憶装置接続装置を再起動させることにより、当該他の記憶装置接続装置の復旧を行なう復旧処理部をそなえることを特徴とする、付記１〜付記４のいずれか１項に記載の記憶装置接続装置。
【０１４９】
（付記６）
該復旧処理部が、該他の記憶装置接続装置に対して、物理リンクポートを介して再起動コマンドを送信することにより、当該他の記憶装置接続装置を再起動させることを特徴とする、付記５記載の記憶装置接続装置。
（付記７）
該復旧処理部が、該他の記憶装置接続装置に対して、物理リンクポートとは異なる外部経路を介して再起動コマンドを送信することにより、当該他の記憶装置接続装置を再起動させることを特徴とする、付記５記載の記憶装置接続装置。
【０１５０】
（付記８）
該復旧処理部が、当該他の記憶装置接続装置の電源断後に電源再投入を行なう電源制御を行なうことにより、当該他の記憶装置接続装置を再起動させることを特徴とする、付記５記載の記憶装置接続装置。
（付記９）
１以上の記憶装置と複数の記憶装置接続部とをそなえたストレージ装置であって、
該複数の記憶装置接続部のうち一の該記憶装置接続部が、
該複数の記憶装置接続部のうち他の記憶装置接続部に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力部と、
該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定するタイマと、
該情報取得要求に対する該他の記憶装置接続部からの応答に基づいて、該他の記憶装置接続部に関する接続状態を管理する接続状態管理部とをそなえ、
該接続状態管理部が、
該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報収集処理が完了していない該他の記憶装置接続部に関して正常状態である旨の設定を行なうことを特徴とする、ストレージ装置。
【０１５１】
（付記１０）
該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報取得要求出力部が、該情報取得要求を再度出力することを特徴とする、付記９記載のストレージ装置。
（付記１１）
該情報取得要求出力部による該情報取得要求の出力回数を計数するカウンタをそなえ、
該接続状態管理部が、
該カウンタの計数値が所定の閾値を超えたことを検知した場合に、該情報取得要求を行なった該他の記憶装置接続部に関して該正常状態である旨の設定を行なうことを特徴とする、付記１０記載のストレージ装置。
【０１５２】
（付記１２）
該他の記憶装置接続部に対して、当該他の記憶装置接続部の状態を表わす状態情報を関連付けて記録する状態情報格納部をそなえ、
該接続状態管理部が、該状態情報格納部に格納された該状態情報に基づいて、該他の記憶装置接続部に関する接続状態を管理することを特徴とする、付記９〜付記１のいずれか１項に記載のストレージ装置。
【０１５３】
（付記１３）
該情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない該他の記憶装置接続部を再起動させることにより、当該他の記憶装置接続部の復旧を行なう復旧処理部をそなえることを特徴とする、付記９〜付記１２のいずれか１項に記載のストレージ装置。
【０１５４】
（付記１４）
該復旧処理部が、該他の記憶装置接続部に対して、物理リンクポートを介して再起動コマンドを送信することにより、当該他の記憶装置接続部を再起動させることを特徴とする、付記１３記載のストレージ装置。
（付記１５）
該復旧処理部が、該他の記憶装置接続部に対して、物理リンクポートとは異なる外部経路を介して再起動コマンドを送信することにより、当該他の記憶装置接続部を再起動させることを特徴とする、付記１３記載のストレージ装置。
【０１５５】
（付記１６）
該復旧処理部が、当該他の記憶装置接続部の電源断後に電源再投入を行なう電源制御を行なうことにより、当該他の記憶装置接続部を再起動させることを特徴とする、付記１３記載のストレージ装置。
（付記１７）
１以上の記憶装置と複数の記憶装置接続部とをそなえたストレージ装置における情報管理方法であって、
該複数の記憶装置接続部のうち一の記憶装置接続部において、
該複数の記憶装置接続部のうち他の記憶装置接続部に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力ステップと、
該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定する計時ステップと、
該情報取得要求に対する該他の記憶装置接続部からの応答に基づいて、該他の記憶装置接続部に関する接続状態を管理する接続状態管理ステップとをそなえ、
該接続状態管理ステップにおいて、
該計時ステップにおける測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報収集処理が完了していない該他の記憶装置接続部に関して正常状態である旨の設定を行なうことを特徴とする、情報管理方法。
【０１５６】
（付記１８）
該情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない該他の記憶装置接続部を再起動させることにより、当該他の記憶装置接続部の復旧を行なう復旧処理ステップをそなえることを特徴とする、付記１７記載の情報管理方法。
（付記１９）
１以上の記憶装置が接続されるとともに他の記憶装置接続装置を接続可能な記憶装置接続装置において、該他の記憶装置接続装置にかかる情報を管理する情報管理機能をコンピュータに実行させるための情報管理プログラムであって、
該他の記憶装置接続装置に対して情報収集処理にかかる情報取得要求を出力する情報取得要求出力部と、
該情報取得要求出力部が該情報取得要求を出力してからの経過時間を測定するタイマと、
該情報取得要求に対する該他の記憶装置接続装置からの応答に基づいて、該他の記憶装置接続装置に関する接続状態を管理する接続状態管理部として、該コンピュータを機能させるとともに、
該接続状態管理部が、
該タイマによる測定の結果、情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない場合に、該情報収集処理が完了していない該他の記憶装置接続装置に関して正常状態である旨の設定を行なうことを特徴とする、情報管理プログラム。
【０１５７】
（付記２０）
該情報取得要求の出力から所定時間経過しても当該情報収集処理が完了していない該他の記憶装置接続装置を再起動させることにより、当該他の記憶装置接続装置の復旧を行なう復旧処理部として、該コンピュータ機能させることを特徴とする、付記１９記載の情報管理プログラム。
【符号の説明】
【０１５８】
１    ストレージシステム（ストレージ装置）
２    情報取得要求出力部
３    タイマ
４    接続状態管理部
５    リトライカウンタ制御部
６    復旧処理部
７    状態監視部
１０，１０ａ，１０ｂ    コントローラ
１２，１２ａ，１２ｂ    ＳＡＳエクスパンダ（記憶装置接続装置，記憶装置接続部）
１７ａ，
１５，１６ａ，１６ｂ，１８ａ，１８ｂ，１９ａ−１，１９ｂ−１，１９ａ−２，１９ｂ−２，１９ａ−３，１９ｂ−３，１９１ａ，１９１ｂ    データパス
２０    記憶装置  
３０，３０−１，３０−２，３０−３    ＤＥ
５１    リトライカウンタ（カウンタ）
１２０    エクスパンダチップ
１２１    プロセッサ
１２２    ＳＭＰ
１２３    ＳＳＰ
１２４    メモリ
１３０    ＰＬＤ
１３１    電源
１３２    スイッチ
１３３    リピータ
１４０    ＣＥ
Ｔ１    状態管理テーブル（状態情報）
Ｔ１−１    Phyの状態テーブル部
ｔ１−２    Self-Configuring Flag部
２００    ホストコンピュータ
【図１】
2011129052.tif 000003
【図２】
2011129052.tif 000004
【図３】
2011129052.tif 000005
【図４】
2011129052.tif 000006
【図５】
2011129052.tif 000007
【図６】
2011129052.tif 000008
【図７】
2011129052.tif 000009
【図８】
2011129052.tif 000010
【図９】
2011129052.tif 000011
【図１０】
2011129052.tif 000012
【図１１】
2011129052.tif 000013
【図１２】
2011129052.tif 000014
【図１３】
2011129052.tif 000015
【図１４】
2011129052.tif 000016
【図１５】
2011129052.tif 000017
【図１６】
2011129052.tif 000018
【図１７】
2011129052.tif 000019
【図１８】
2011129052.tif 000020
【図１９】
2011129052.tif 000021
【図２０】
2011129052.tif 000022
【図２１】
2011129052.tif 000023
【図２２】
2011129052.tif 000024
【図２３】
2011129052.tif 000025
【図２４】
2011129052.tif 000026
【図２５】
2011129052.tif 000027
【図２６】
2011129052.tif 000028
【図２７】
2011129052.tif 000029
【図２８】
2011129052.tif 000030
【図２９】
2011129052.tif 000031
【図３０】
2011129052.tif 000032
【図３１】
2011129052.tif 000033
【図３２】
2011129052.tif 000034
【図３３】
2011129052.tif 000035
【図３４】
2011129052.tif 000036