(57)【特許請求の範囲】
【請求項１】
複数のポートを含む第一のコントローラと、
各々異なる電源に接続し、複数のポートを含む複数の第一のSASエクスパンダと、
前記複数の第一のSASエクスパンダのうちいずれかの第一のSASエクスパンダと接続する複数の記憶装置と、を有し、
前記複数の第一のSASエクスパンダの各々の複数のポートの一部と、前記第一のコントローラの複数のポート又は他の第一のSASエクスパンダの複数のポートの一部と、を複数のリンクを介して接続することにより、複数の第一のSASエクスパンダをカスケード状に前記第一のコントローラに接続し、
前記第一のコントローラは、
ｋ＋１番目（ｋは０以上の整数）の第一のSASエクスパンダに接続する記憶装置へのコマンドを、前記ｋ＋１番目の第一のSASエクスパンダの第一のポートを経由して送信した際に、障害を検出し、前記ｋ＋１番目の第一のSASエクスパンダの第二のポートを経由して送信した際に障害を検出しなかった場合には、ｋ番目の第一のSASエクスパンダと前記ｋ＋１番目の第一のSASエクスパンダの前記第一のポートとの間のリンクに障害が発生したと判断し、
前記ｋ＋１番目の第一のSASエクスパンダに接続する記憶装置へのコマンドを、前記ｋ＋１番目の第一のSASエクスパンダのいずれのポートを経由して送信した際にも、障害を検出した場合は、前記ｋ＋１番目の第一のSASエクスパンダに接続する電源に障害が発生したと判断する、
ストレージシステム。
【請求項２】
さらに、
複数のポートを含む第二のコントローラと、
各々異なる電源に接続し、複数のポートを含む複数の第二のSASエクスパンダと、を有し、
前記複数の記憶装置の各々が、前記複数の第二のSASエクスパンダのうちいずれかの第二のSASエクスパンダと接続し、
前記複数の第二のSASエクスパンダの各々の複数のポートの一部と、前記第二のコントローラの複数のポート又は他の第二のSASエクスパンダの複数のポートの一部と、を複数のリンクを介して接続することにより、複数の第二のSASエクスパンダをカスケード状に前記第二のコントローラに接続し、
前記各電源は、一組以上の第一及び第二のSASエクスパンダに接続されており、
前記第二のコントローラは、ｋ＋１番目の第二のSASエクスパンダに接続する記憶装置へのコマンドを、前記ｋ＋１番目の第二のSASエクスパンダの第三のポートを経由して送信した際に、障害を検出し、前記ｋ＋１番目の第二のSASエクスパンダの第四のポートを経由して送信した際に障害が検出されなかった場合には、ｋ番目の第二のSASエクスパンダと前記ｋ＋１番目の第二のSASエクスパンダの第三のポートとの間のリンクに障害が発生したと判断し、
前記第一のコントローラは、前記ｋ＋１番目の第一のSASエクスパンダに接続する記憶装置へのコマンドを、前記ｋ＋１番目の第一のSASエクスパンダのいずれのポートを経由して送信した際にも、障害を検出し、さらに、前記第二のコントローラは、前記ｋ＋１番目の第二のSASエクスパンダに接続する記憶装置へのコマンドを、前記ｋ＋１番目の第二のSASエクスパンダのいずれのポートを経由して送信した際にも、障害を検出した場合は、前記ｋ＋１番目の第一のSASエクスパンダ及び第二のSASエクスパンダに接続する電源に障害が発生したと判断する、
請求項１記載のストレージシステム。
【請求項３】
前記第二のコントローラが、前記ｋ＋１番目の第二のSASエクスパンダのいずれのポートを経由したコマンド送信の際にも障害を検出した後、前記第一のコントローラが、前記ｋ＋１番目より後段の第一のSASエクスパンダに接続する記憶装置へコマンドを送信した際に障害を検出しなかった場合には、前記ｋ＋１番目の第一及び第二のSASエクスパンダに接続された電源に一時的に障害が発生したと判断する、
請求項２記載のストレージシステム
【請求項４】
前記第一のコントローラが、前記ｋ＋１番目又はそれより後段の第一のSASエクスパンダに接続する記憶装置へコマンドを送信した際に、障害を検出しなかった場合に、前記第一のコントローラの初期化を実行する、
請求項３記載のストレージシステム。
【請求項５】
前記第二のコントローラが、ｋ番目の第二のSASエクスパンダのいずれのポートを経由したコマンド送信の際にも障害を検出した後、前記第一のコントローラが、前記ｋ＋１番目又はそれより後段の第一のSASエクスパンダへ向けてコマンドを送信した際に障害を検出した場合であって、その後、前記第二のコントローラが、前記ｋ＋１番目又はそれより後段の第二のSASエクスパンダへ向けてコマンドを送信した際に障害を検出した場合には、前記第一又は第二のコントローラが、前記ｋ＋１番目の第一及び第二のSASエクスパンダに接続する電源に障害が発生したと判断する、
請求項２記載のストレージシステム
【請求項６】
前記ｋ＋１番目又はそれより後段の第二のSASエクスパンダへ向けてのコマンド送信の際に障害が検出されなかった場合には、前記第一又は前記第二のコントローラは、ｋ＋１番目のリンクに関する障害が発生したと判断する、
請求項５記載のストレージシステム
【請求項７】
前記一以上のSASエクスパンダは、更に、前記第一のコントローラにカスケード状に接続されたｎ個の第三のSASエクスパンダと、前記第二のコントローラにカスケード状に接続されたｎ個の第四のSASエクスパンダとを含み、
複数の電源は、一組以上の第一及び第二のSASエクスパンダに接続された第一の電源と、一組以上の第三及び第四のSASエクスパンダに接続された第二の電源とを含み、
前記第一のコントローラから第三のSASエクスパンダに接続されている記憶装置までの第三の経路において、ｋ＋１番目の第三のSASエクスパンダに接続されている一つ上流側のｋ番目の第三のSASエクスパンダ又は第一のコントローラにおけるいずれのポートを経由してコマンド送信した際に障害が検出された場合に、前記第二のコントローラから第四のSASエクスパンダに接続されている記憶装置までの第四の経路において、ｋ＋１番目の第四のSASエクスパンダにｋ番目の第四のSASエクスパンダ又は第二のコントローラからコマンドを送信し、ｋ番目の第四のSASエクスパンダ又は第二のコントローラにおけるいずれのポートを経由したコマンド送信の際にも障害を検出した場合に、前記第一又は第二のコントローラが、ｋ＋１番目の第三及び第四のSASエクスパンダに接続される第二の電源に障害が発生したと判断し、ｋ番目の第三のSASエクスパンダ又は第二のコントローラにおけるいずれかのポートを経由したコマンド送信の際にも障害を検出しなかった場合に、前記第三の経路におけるｋ＋１番目のリンクに関する障害が発生したと判断する、
請求項２記載のストレージシステム。
【請求項８】
前記第一及び第二のコントローラに共有される共有メモリを更に備え、
前記第一及び第二のコントローラが第一及び第二のプロセッサを備え、前記第一及び第二のプロセッサが、前記第一のコントローラと前記第二のコントローラの両方に接続されており、
前記第一及び第二のプロセッサのうちの電源に障害が発生したと判断した方のプロセッサが、電源障害の発生を表す電源障害情報を前記共有メモリに書込み、
前記第一のプロセッサが、前記記憶装置へのコマンド送信の際に障害が発生した場合、前記共有メモリに前記電源障害情報が記憶されていれば、前記第一のコントローラから前記記憶装置が接続されているSASエクスパンダまでの経路において上流側から下流側にかけてコマンドを送信することを行わない、
請求項２記載のストレージシステム。
【請求項９】
前記コントローラは、ＳＡＳ（Serial Attached SCSI）コントローラであり、
前記ポートは、ｐｈｙである、
請求項２記載のストレージシステム
【請求項１０】
前記第一のＳＡＳコントローラと前記第一のＳＡＳエクスパンダ同士、前記第一のＳＡＳエクスパンダ同士、前記第二のＳＡＳコントローラと前記第二のＳＡＳエクスパンダ同士、及び、前記第二のＳＡＳエクスパンダ同士は、１本のナロウリンク、２本のナロウリンクの集合である２ワイドポート、４本のナロウリンクの集合である４ワイドポートで接続されている、
請求項９記載のストレージシステム
【請求項１１】
前記二以上の記憶装置の或る記憶装置に障害が発生しても他の記憶装置に前記コントローラからアクセス可能なインタフェースで前記コントローラと各記憶装置とが前記SASエクスパンダを介して通信可能に接続される、
請求項１又は２記載のストレージ装置。
【請求項１２】
基本ユニットと、増設又は減設が可能な増設ユニットとで構成され、
前記基本ユニットが、前記第一及び第二のコントローラを有し、
各増設ユニットが、一組以上の第一及び第二のSASエクスパンダと、前記一組以上の第一及び第二のSASエクスパンダに接続された一以上の電源と、第一及び第二のSASエクスパンダの両方に接続された二以上の記憶装置とを備える、
請求項２記載のストレージシステム
【請求項１３】
複数のポートを含む第一のコントローラと、
各々異なる電源に接続し、複数のポートを含む複数の第一のSASエクスパンダと、
前記複数の第一のSASエクスパンダのうちいずれかの第一のSASエクスパンダと接続する複数の記憶装置と、を備え、
前記複数の第一のSASエクスパンダの各々の複数のポートの一部と、前記第一のコントローラの複数のポート又は他の第一のSASエクスパンダの複数のポートの一部と、が複数のリンクを介して接続することにより、複数の第一のSASエクスパンダがカスケード状に前記第一のコントローラに接続したストレージシステムにおける、障害が発生したことを把握する方法であって、
ｋ＋１番目（ｋは０以上の整数）の第一のSASエクスパンダに接続する記憶装置へのコマンドを、前記ｋ＋１番目の第一のSASエクスパンダの第一のポートを経由して送信した際に、障害を検出し、前記ｋ＋１番目の第一のSASエクスパンダの第二のポートを経由して送信した際に、障害が検出されなかった場合には、ｋ番目の第一のSASエクスパンダと前記ｋ＋１番目の第一のSASエクスパンダの前記第一のポートとの間のリンクに障害が発生したと判断し、
前記ｋ＋１番目の第一のSASエクスパンダに接続する記憶装置へのコマンドを、前記ｋ＋１番目の第一のSASエクスパンダのいずれのポートを経由して送信した際にも、障害を検出した場合に、前記ｋ＋１番目の第一のSASエクスパンダに接続する電源に障害が発生したと判断する、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムで発生した電源障害の把握に関する。
【背景技術】
【０００２】
ストレージシステムにおける電源障害の把握に関する技術として、例えば、特許文献１に開示の技術が知られている。特許文献１の技術によれば、ＨＤＤ（ハードディスクドライブ）の電源に障害が発生したことをＨＤＤの電源監視部が検出し、その電源監視部が、ストレージシステム内の制御部に、障害を報告する。
【０００３】
【特許文献１】特開２００６−１２６９７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば、ストレージシステムの構成として、コントローラを備えたユニット（以下、便宜上、「基本筐体」と言う）に、複数のメディアドライブを搭載した一以上のユニット（以下、便宜上、「増設筐体」と言う）をケーブル或いはバックボード等の部品を介して直列に接続する構成、言い換えれば、基本筐体と一以上の増設筐体を多段に接続した構成を採用することがある。この種の構成によれば、増設筐体の数を変更することで、ストレージシステムの記憶容量を変更することが可能である。
【０００５】
この種のストレージシステムとして、例えば、図１に例示する構成のストレージシステムがある。
【０００６】
例えば、基本筐体１０に、ｎ台の増設筐体３−１乃至３−ｎが接続される（ｎは１以上の整数（図示の例ではｎは２以上の整数））。
【０００７】
基本筐体１０には、二重化されたコントローラ（以下、「ＣＴＬ」と略記）１Ａ及び１Ｂが備えられる。ＣＴＬ１Ａ及び１Ｂは、ドライブＩ／Ｆ制御回路２Ａ及び２Ｂを備えている。ドライブＩ／Ｆ制御回路２Ａ及び２Ｂは、ドライブＩ／Ｆ回路６Ａ−１乃至６Ａ−ｎ及び６Ｂ−１乃至６Ｂ−ｎを制御する。例えば、ドライブＩ／Ｆ制御回路２Ａ及び２Ｂは、ターゲットのメディアドライブ（例えば８−１−０）が接続されているドライブＩ／Ｆ回路（例えば６Ａ−１）を制御することで、そのメディアドライブにアクセスする。
【０００８】
増設筐体３−ｎには、二重化されたＡＣ／ＤＣ電源（以下、単に「電源」と言う）４Ａ−ｎ及び４Ｂ−ｎと、二重化されたドライブ制御基板５Ａ−ｎ及び５Ｂ−ｎと、ｍ＋１台のメディアドライブ８−ｎ−０乃至８−ｎ−ｍ（ｍは０以上の整数（図示の例ではｍは１以上の整数））とが備えられる。ドライブ制御基板５Ａ−ｎ及び５Ｂ−ｎは、メディアドライブ８−ｎ−０乃至８−ｎ−ｍに対するインタフェース回路であるドライブＩ／Ｆ回路６Ａ−ｎ及び６Ｂ−ｎを備えている。両方のドライブＩ／Ｆ回路６Ａ−ｎ及び６Ｂ−ｎに、メディアドライブ８−ｎ−０乃至８−ｎ−ｍがそれぞれ接続されている。電源４Ａ−ｎ及び４Ｂ−ｎは、ＡＣ電源（商用電源）７Ａ−ｎ及び７Ｂ−ｎから供給される交流電力を直流電力に変換してドライブＩ／Ｆ回路６Ａ−ｎ及び６Ｂ−ｎやメディアドライブ８−ｎ−０乃至８−ｎ−ｍに供給する。
【０００９】
基本筐体１０におけるドライブＩ／Ｆ制御回路２Ａ（及び２Ｂ）と増設筐体３−１乃至３−ｎにおけるドライブＩ／Ｆ６Ａ−１乃至６Ａ−ｎ（及び６Ｂ−１乃至６Ｂ−ｎ）が、ファイバチャネルケーブル１１Ａ−１乃至１１Ａ−ｎ（及び１１Ｂ−１乃至１１Ｂ−ｎ）で直列に接続されている。これにより、ファイバチャネル信号線１１Ａ（及び１１Ｂ）が形成される（具体的には、例えば、ドライブＩ／Ｆ６Ａ−１乃至６Ａ−ｎ（及び６Ｂ−１乃至６Ｂ−ｎ）やファイバチャネルケーブル１１Ａ−１乃至１１Ａ−ｎ（及び１１Ｂ−１乃至１１Ｂ−ｎ）を含んだＦＣ−ＡＬ（Fibre Channel-Arbitrated Loop）が構成される）。
【００１０】
この種のストレージシステムでは、増設筐体３−１乃至３−ｎにおける電源４Ａ−１乃至４Ａ−ｎ及び４Ｂ−１乃至４Ｂ−ｎに障害が発生した場合には、その障害を検出して報告を出力することが望まれる。
【００１１】
それを実現する方法として、以下の方法が考えられる。
【００１２】
すなわち、図１に示すように、増設筐体３−１乃至３−ｎにおいて、ドライブ制御基板５Ａ−１乃至５Ａ−ｎ及び５Ｂ−１乃至５Ｂ−ｎに、電源線１５−１乃至１５−ｎの電圧を監視する電源異常検出回路９Ａ−１乃至９Ａ−ｎ及び９Ｂ−１乃至９Ｂ−ｎが備えられる。例えば増設筐体３−ｎでは、電源異常検出回路９Ａ−ｎ及び９Ｂ−ｎには、電源４Ａ−ｎ及び４Ｂ−ｎから給電される。電源異常検出回路９Ａ−１乃至９Ａ−ｎ及び９Ｂ−１乃至９Ｂ−ｎとドライブＩ／Ｆ制御回路２Ａ及び２Ｂとの間が、電源障害を表す信号が流れるケーブル（以下、電源異常報告用ケーブル）１３Ａ−１乃至１３Ａ−ｎ及び１３Ｂ−１乃至１３Ｂ−ｎで接続される。例えば、増設筐体３−ｎでは、電源４Ａ−ｎ及び４Ｂ−ｎの両方が障害となった場合、電源異常検出回路９Ａ−ｎ及び９Ｂ−ｎが、電源４Ａ−ｎ及び４Ｂ−ｎの異常（電源線１５−ｎにおける電圧の低下）を検出し、電源異常を表す信号を、電源異常報告用ケーブル１３Ａ−ｎ及び１３Ｂ−ｎを介して、ドライブＩ／Ｆ制御回路２Ａ及び２Ｂに送信するようになっている。ドライブＩ／Ｆ制御回路２Ａ及び２Ｂの両方が、電源異常検出回路９Ａ−ｎ及び９Ｂ−ｎの両方から電源異常を表す信号を受信した場合に、電源障害、つまり、電源異常検出回路９Ａ−ｎ及び９Ｂ−ｎがの両方に障害が発生したことが把握される。
【００１３】
しかし、この構成によれば、例えば以下の課題がある。
【００１４】
（１）各ドライブＩ／Ｆ回路について、電源異常報告用ケーブルが必要である。そのため、ストレージシステム内で配線しづらくなるおそれがある。また、ドライブＩ／Ｆ回路の段数が多い程、コントローラから末端までのドライブＩ／Ｆ回路までの距離が長く、電源異常報告用ケーブルの数が多いため、電源障害の報告を受信するために高性能の回路がコントローラに必要になるおそれがある。
【００１５】
（２）各ドライブＩ／Ｆ回路について、電源異常検出回路が必要である。電源異常検出回路が備えられている分、消費電力が大きい。
【００１６】
（３）前述したように、各ドライブＩ／Ｆ回路について、電源異常報告用ケーブルや電源異常検出回路が必要となる。このため、その分、部品点数が多くなるので、保守（例えば点検）の対象が多くなる。
【００１７】
従って、本発明の目的は、各ドライブＩ／Ｆ回路について電源異常検出回路及び電源異常報告用ケーブルが無くても、ドライブＩ／Ｆ回路についての電源障害が発生したことをコントローラ部で把握できるようにすることにある。
【００１８】
本発明の他の目的は、後述の説明から明らかになるであろう。
【課題を解決するための手段】
【００１９】
コントローラ部と記憶装置との間に一以上のスイッチを介在させる。或る記憶装置へのコマンド送信に失敗した場合、コントローラ部からその記憶装置が接続されているスイッチまでの経路において上流側（コントローラ部に近い方の側）から下流側にかけてコマンドを送信し、ｋ＋１番目（ｋは０以上の整数）のスイッチに接続されている一つ上流側のｋ番目のスイッチ又はコントローラ部におけるどのポートからもコマンド送信に失敗した場合に、ｋ＋１番目のスイッチに給電している電源に障害が発生したと判断する。
【発明を実施するための最良の形態】
【００２０】
実施形態１では、ストレージシステムが、一以上のスイッチと、コントローラ部と、二以上の記憶装置と、一以上のスイッチに給電する一以上の電源とを備える。コントローラ部が、一以上のスイッチの少なくとも一つのスイッチが有する二以上のポートに二以上のリンクでそれぞれ接続される二以上のポートを備えている。二以上の記憶装置は、一以上のスイッチの複数のポートのうちの二以上のポートに接続される。コントローラ部が、二以上の記憶装置から選択された記憶装置へのコマンド送信に失敗した場合、コントローラ部から上記選択された記憶装置が接続されているスイッチまでの経路において上流側から下流側にかけてコマンドを送信し、ｋ＋１番目（ｋは０以上の整数）のスイッチに接続されている一つ上流側のｋ番目のスイッチ又はコントローラ部におけるどのポートからもコマンド送信に失敗した場合に、ｋ＋１番目のスイッチに給電している電源に障害が発生したと判断する。
【００２１】
実施形態２では、実施形態１において、コントローラ部が、第一のサブコントローラを有する第一のコントローラと、第二のサブコントローラを有する第二のコントローラとを有する。一以上のスイッチは、第一のサブコントローラにカスケード状に接続されたｎ個（ｎは１以上の整数、ｎ≧ｋ＋１）の第一のスイッチと、第二のサブコントローラにカスケード状に接続されたｎ個の第二のスイッチとを含む。各電源が、一組以上の第一及び第二のスイッチに給電する。第一のサブコントローラから前記選択された記憶装置が接続されている第一のスイッチまでの第一の経路において、ｋ＋１番目のスイッチに接続されている一つ上流側のｋ番目の第一のスイッチ又は第一のサブコントローラからどのポートを使用してもコマンドの送信に失敗する場合に、第二のコントローラが、第二のサブコントローラから上記選択された記憶装置が接続されている第二のスイッチまでの第二の経路において、ｋ＋１番目の第二のスイッチにｋ番目の第二のスイッチ又は第二のサブコントローラからコマンドを送信する。ｋ番目の第二のスイッチ又は第二のサブコントローラにおけるどのポートからもコマンド送信に失敗した場合に（例えば、リンクを確保できない、或いは、リンクを確保してコマンド送信しても一定時間内に応答が返って来ない場合に）、第一又は第二のコントローラが、ｋ＋１番目の第一及び第二のスイッチに給電している電源に障害が発生したと判断し、ｋ番目の第二のスイッチ又は第二のサブコントローラにおけるいずれかのポートからコマンド送信に成功した場合に（例えば、リンクを確保してコマンド送信してから一定時間内に応答が返って来た場合に）、第一の経路におけるｋ＋１番目のリンクに関する障害が発生したと判断する。
【００２２】
実施形態３では、実施形態２において、第一のコントローラが、ｋ番目の第二のスイッチ又は第二のサブコントローラにおけるどのポートからもコマンド送信に失敗した後、ｋ＋１番目又はそれより後段の第一のスイッチへ向けてコマンドを送信し、そのコマンドの送信に成功した場合、ｋ＋１番目の第一及び第二のスイッチに給電している電源に一時的に障害が発生したと判断する。
【００２３】
実施形態４では、実施形態３において、第一のコントローラが、ｋ＋１番目又はそれより後段の第一のスイッチへ向けてのコマンド送信に成功した場合に、第一のサブコントローラの初期化を実行する。
【００２４】
実施形態５では、実施形態２乃至４のうちの少なくとも一つにおいて、第一のコントローラが、ｋ番目の第二のスイッチ又は第二のサブコントローラにおけるどのポートからもコマンド送信に失敗した後、ｋ＋１番目又はそれより後段の第一のスイッチへ向けてコマンドを送信する。そのコマンドの送信に失敗した場合、第二のコントローラが、ｋ＋１番目又はそれより後段の第二のスイッチへ向けてコマンドを送信する。そのコマンドの送信に失敗した場合、第一又は第二のコントローラが、ｋ＋１番目の第一及び第二のスイッチに給電している電源に障害が発生したと判断する。
【００２５】
実施形態６では、実施形態５において、ｋ＋１番目又はそれより後段の第二のスイッチへ向けてのコマンドの送信に成功した場合、第一又は第二のコントローラが、ｋ＋１番目のリンクに関する障害が発生したと判断する。
【００２６】
実施形態７では、実施形態２乃至６のうちの少なくとも一つにおいて、一以上のスイッチは、更に、第一のサブコントローラにカスケード状に接続されたｎ個の第三のスイッチと、第二のサブコントローラにカスケード状に接続されたｎ個の第四のスイッチとを含む。複数の電源は、一組以上の第一及び第二のスイッチに給電する第一の電源と、一組以上の第三及び第四のスイッチに給電する第二の電源とを含む。第一のサブコントローラから上位機選択された記憶装置が接続されている第三のスイッチまでの第三の経路において、ｋ＋１番目のスイッチに接続されている一つ上流側のｋ番目の第三のスイッチ又は第一のサブコントローラにおけるどのポートからもコマンドの送信に失敗する場合に、第二のコントローラが、第二のサブコントローラから上記選択された記憶装置が接続されている第四のスイッチまでの第四の経路において、ｋ＋１番目の第四のスイッチにｋ番目の第四のスイッチ又は第二のサブコントローラからコマンドを送信する。ｋ番目の第四のスイッチ又は第二のサブコントローラにおけるどのポートからもコマンド送信に失敗した場合に、第一又は第二のコントローラが、ｋ＋１番目の第三及び第四のスイッチに給電している第二の電源に障害が発生したと判断し、ｋ番目の第三のスイッチ又は第二のサブコントローラにおけるいずれかのポートからコマンド送信に成功した場合に、前記第三の経路におけるｋ＋１番目のリンクに関する障害が発生したと判断する。
【００２７】
実施形態８では、実施形態２乃至７のうちの少なくとも一つにおいて、ストレージシステムが、第一及び第二のコントローラに共有される共有メモリを更に備える。第一及び第二のコントローラが第一及び第二のプロセッサを備え、第一及び第二のプロセッサが、第一のサブコントローラと第二のサブコントローラの両方に接続されている。第一及び第二のプロセッサのうちの電源に障害が発生したと判断した方が、電源障害の発生を表す電源障害情報を共有メモリに書込む。第一のプロセッサが、上記選択された記憶装置へのコマンド送信に失敗した場合、共有メモリに電源障害情報が記憶されていれば、第一のサブコントローラから上記選択された記憶装置が接続されているスイッチまでの経路において上流側から下流側にかけてコマンドを送信することを行わない。
【００２８】
実施形態９では、実施形態２乃至８のうちの少なくとも一つにおいて、サブコントローラは、ＳＡＳ（Serial Attached SCSI）コントローラであり、ポートは、ｐｈｙであり、スイッチは、ＳＡＳエクスパンダである。
【００２９】
実施形態１０では、実施形態９において、第一のＳＡＳコントローラと第一のＳＡＳエクスパンダ同士、第一のＳＡＳエクスパンダ同士、第二のＳＡＳコントローラと第二のＳＡＳエクスパンダ同士、及び、第二のＳＡＳエクスパンダ同士は、１本のナロウリンク、２本のナロウリンクの集合である２ワイドポート、４本のナロウリンクの集合である４ワイドポートで接続されている。
【００３０】
実施形態１１では、実施形態１において、コントローラ部が、ｋ番目のスイッチ又はコントローラ部におけるいずれかのポートからのコマンド送信に成功した場合に、ｋ＋１番目のリンクに関する障害が発生したと判断する。
【００３１】
実施形態１２では、実施形態１及び１１のうちの少なくとも一つにおいて、二以上の記憶装置の或る記憶装置に障害が発生しても他の記憶装置にコントローラ部からアクセス可能なインタフェースでコントローラ部と各記憶装置とがスイッチを介して通信可能に接続される。
【００３２】
実施形態１３では、実施形態２乃至１０のうちの少なくとも一つにおいて、ストレージシステムが、基本ユニットと、増設又は減設が可能な増設ユニットとで構成される。基本ユニットが、第一及び第二のコントローラを有する。各増設ユニットが、一組以上の第一及び第二のエクスパンダと、一組以上の第一及び第二のエクスパンダに給電する一以上の電源と、第一及び第二のエクスパンダの両方に接続された二以上の記憶装置とを備える。
【００３３】
上述した実施形態１乃至１３のうちの二以上の実施形態を組み合わせても良い。
【００３４】
電源異常検出回路と電源異常報告用ケーブルを不要とするストレージシステムが構築される。具体的には、例えば、それぞれが２つのポートを有する二以上の記憶装置に対して、スイッチ（例えばＳＡＳインタフェース回路（具体例としてＳＡＳエクスパンダ））を有する記憶装置制御基板（例えばドライブ制御基板）を２枚接続する。これらに、スイッチや記憶装置に給電するための電源（例えば多重化された電源で構成されている一組の電源）を接続する。このような要素を増設或いは減設の単位となる増設ユニットに備える。コントローラ部を有する基本ユニットに、増設ユニットを１段又は多段に接続する。ストレージシステムに、信号経路が複数本構築され、各信号経路を利用して、コントローラ部が、信号経路の障害なのか電源障害なのかを判定する。また、コントローラ部においてスイッチが接続されている回路（例えば後述のＳＡＳコントローラ）の回復が可能な場合には、自動回復を行う。
【００３５】
これにより、増設ユニットについて配線が容易となる。また、増設ユニットにおける消費電力を減らすことができる。更に、増設ユニットにおける部品点数が減るため、保守の対象が減る。
【００３６】
以下、図面を参照して、本発明の幾つかの実施形態を詳細に説明する。
【００３７】
＜第一の実施形態＞。
【００３８】
図２は、本発明の第一の実施形態に係るストレージシステムの構成例を示す。
【００３９】
ストレージシステム１００は、基本筐体１０１と、ｎ台の増設筐体１０３−１乃至１０３−ｎとで構成される（ｎは１以上の整数（図２の例ではｎは２以上の整数））。基本筐体１０１に対して、ｎ台の増設筐体１０３−１乃至１０３−ｎが直列に接続される。
【００４０】
基本筐体１０１には、二重化されたコントローラ（以下、ＣＴＬ）１１２Ａ及び１１２Ｂが備えられる。ＣＴＬ１１２Ａ（及び１１２Ｂ）は、例えば、ＲＡＩＤ制御部１１８Ａ（及び１１８Ｂ）と、ＳＡＳ（Serial Attached SCSI）コントローラ１１１Ａ（及び１１１Ｂ）とを備える。
【００４１】
ＲＡＩＤ制御部１１８Ａ及び１１８Ｂは、例えば、コンピュータプログラムを実行するマイクロプロセッサ（以下、ＭＰ）１１４Ａ及び１１４Ｂや、そのコンピュータプログラムなどを記憶するメモリ１２２Ａ及び１２２Ｂを含んだモジュールであり、コマンドの処理を実行する。具体的には、例えば、ＲＡＩＤ制御部１１８Ａ及び１１８Ｂにおけるメモリ１２２Ａ及び１２２Ｂには、どの二以上のメディアドライブによってどんなＲＡＩＤレベルのＲＡＩＤグループが構成されていてそのＲＡＩＤグループにはどんなＩＤを有する論理ボリュームが形成されているかを表す情報（以下、ＲＡＩＤ構成情報）が記憶されている。ＭＰ１１４Ａ（及び１１４Ｂ）は、外部装置（ストレージシステム１００１の外部に存在する装置、例えば、ホスト計算機、或いは他のストレージシステム）からＩ／Ｏコマンド（以下、ボリュームＩ／Ｏコマンド）を受信し、それに応答して、ＲＡＩＤ構成情報を基に、そのボリュームＩ／Ｏコマンドから特定される論理ボリュームに対応した二以上のメディアドライブを特定し、特定した二以上のメディアドライブにそれぞれ対応した二以上のＩ／Ｏコマンド（以下、ドライブＩ／Ｏコマンド）を生成する。ＭＰ１１４Ａ（及び１１４Ｂ）は、ＳＡＳコントローラ１１１Ａ（及び１１１Ｂ）と通信可能に接続されており、各ドライブＩ／Ｏコマンドを、ＳＡＳコントローラ１１１Ａ（及び１１１Ｂ）に指示することで、そのドライブＩ／Ｏコマンドのターゲットとするメディアドライブに送信させる。また、ＭＰ１１４Ａ（及び１１４Ｂ）は、他方のＲＡＩＤ制御部１１８Ｂ（及び１１８Ａ）に接続されており、他方のＲＡＩＤ制御部１１８Ｂ（及び１１８Ａ）に、メディアドライブに対してドライブＩ／Ｏコマンドを発行することを指示することができる。
【００４２】
メモリ１２２Ａ（及び１２２Ｂ）には、制御プログラム１１６Ａ（及び１１６Ｂ）が記憶される（図では、「プログラム」を「ＰＧ」と略記している）。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するＣＰＵによって処理が行われるものとする。
【００４３】
ＳＡＳコントローラ１１１Ａ（及び１１１Ｂ）は、例えば、ハードウェア回路（例えばＩＣチップ）である。ＳＡＳコントローラ１１１Ａ（及び１１１Ｂ）は、ＲＡＩＤ制御部１１８Ａ及び１１８Ｂからの指示に応答して、ＲＡＩＤ制御部１１８Ａ及び１１８ＢからのドライブＩ／Ｏコマンドを、そのドライブＩ／Ｏコマンドで指定されているディスクドライブ１１１に送信する。ＳＡＳコントローラ１１１Ａ（及び１１１Ｂ）は、複数のｐｈｙを備える。ｐｈｙとは、物理的なポートである。
【００４４】
各増設筐体について、増設筐体１０３−ｎを例に採り説明する。増設筐体１０３−ｎには、二重化されたＡＣ／ＤＣ電源（以下、単に「電源」と言う）１０４Ａ−ｎ及び１０４Ｂ−ｎと、二重化されたドライブ制御基板１０５Ａ−ｎ及び１０５Ｂ−ｎと、ｍ＋１台のメディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍ（ｍは０以上の整数（図示の例ではｍは１以上の整数））とが備えられる。ドライブ制御基板１０５Ａ−ｎ及び１０５Ｂ−ｎは、エクスパンダ１０６Ａ−ｎ及び１０６Ｂ−ｎを備えている。
【００４５】
ＡＣ／ＤＣ電源１０４Ａ−ｎ及び１０４Ｂ−ｎは、ＡＣ電源（商用電源）１８１Ａ−ｎ及び１８１Ｂ−ｎに接続されており、ＡＣ電源１８１Ａ−ｎ及び１８１Ｂ−ｎから供給される交流を所定の電圧値及び電流値を有する直流に変換し、電源線１５１−ｎに出力する。電源線１５１−ｎは、例えばエクスパンダ１０６Ａ−ｎ及び１０６Ｂ−ｎやメディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍに接続されている。そのため、電源１０４Ａ−ｎ及び１０４Ｂ−ｎから電源線１５１−ｎを経由してエクスパンダ１０６Ａ−ｎ及び１０６Ｂ−ｎやメディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍに給電される。
【００４６】
ドライブ制御基板１０５Ａ−ｎ及び１０５Ｂ−ｎは、メディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍを制御する回路基板であり、例えば、エクスパンダ１０６Ａ−ｎ及び１０６Ｂ−ｎを有する。
【００４７】
エクスパンダ１０６Ａ−ｎ及び１０６Ｂ−ｎは、ＳＡＳインタフェース回路、言い換えれば、スイッチデバイスである。エクスパンダ１０６Ａ−ｎ及び１０６Ｂ−ｎは、複数のｐｈｙを有する。複数のｐｈｙには、直近且つ上流のエクスパンダのｐｈｙに接続される第一のｐｈｙと、直近且つ下流のエクスパンダのｐｈｙに接続される第二のｐｈｙと、メディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍに接続される第三のｐｈｙとがある。以下、それらのｐｈｙを、ｐｈｙに割り当てる番号で区別することにする（例えば、ｐｈｙ番号が００であるｐｈｙを「ｐｈｙ＃００」と記載する）。具体的には、第一のｐｈｙは、ｐｈｙ番号が０始まりとし（例えばｐｈｙ＃００乃至＃０３）、第二のｐｈｙは、ｐｈｙ＃が１始まりとし（例えばｐｈｙ＃１０乃至＃１３）、第三のｐｈｙは、ｐｈｙ＃が２始まりとする（例えばｐｈｙ＃２０乃至＃２ｍ）。このため、ＳＡＳコントローラ１１１Ａ及び１１１Ｂにおいて、直近且つ下流のエクスパンダ１０６Ａ−１及び１０６Ｂ−１のｐｈｙ＃００乃至＃０３にそれぞれ接続されるｐｈｙの番号も、１始まりとなっている（例えばｐｈｙ＃１０乃至＃１３）。
【００４８】
本実施形態では、ＳＡＳコントローラ１１１Ａ及び１１１Ｂにおけるｐｈｙ＃１０乃至＃１３と、エクスパンダ１０６Ａ−１及び１０６Ｂ−１におけるｐｈｙ＃１０乃至＃１３とが、４ワイドリンク１５３Ａ−１及び１５３Ｂ−１で接続されている。同様に、上流側のエクスパンダにおけるｐｈｙ＃１０乃至＃１３と下流側のエクスパンダにおけるｐｈｙ＃００乃至＃０３とが、４ワイドリンクで接続されている。これにより、ＳＡＳコントローラ１１１Ａに接続される第一のＳＡＳ信号経路（カスケード状に接続されたエクスパンダ１０６Ａ−１乃至１０６Ａ−ｎと４ワイドリンク１５３Ａ−１乃至１５３Ａ−ｎで旺盛された経路）と、ＳＡＳコントローラ１１１Ｂに接続される第二のＳＡＳ信号経路（カスケード状に接続されたエクスパンダ１０６Ｂ−１乃至１０６Ｂ−ｎと４ワイドリンク１５３Ｂ−１乃至１５３Ｂ−ｎで構成された経路）とが構築される。なお、４ワイドリンクは、４ワイドポート（４つのｐｈｙの集合）間を結ぶ４本のナロウリンクの集合である。１本のナロウリンクは、１つのｐｈｙと１つのｐｈｙとを結ぶ物理リンクである。
【００４９】
両方のエクスパンダ１０６Ａ−ｎ及び１０６Ｂ−ｎのｐｈｙ＃２０乃至＃２ｍに、メディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍがそれぞれ接続されている。メディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍは、それぞれ、記憶装置であり、ハードディスク、ＤＶＤ（Digital Versatile Disk）、フラッシュメモリ等の種々の記憶メディアのドライブである。メディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍは、それぞれ、ＳＡＴＡ（Serial
Attached SCSI）或いはＳＡＳのインタフェースを搭載したドライブである。すなわち、メディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍは、それぞれ、二つのポートを有しており、二つのポートのうちの一方のポートが一方のエクスパンダ１０６Ａ−ｎのｐｈｙ＃２０乃至＃２ｍに接続され、他方のポートが他方のエクスパンダ１０６Ｂ−ｎのｐｈｙ＃２０乃至＃２ｍに接続される。なお、もし、メディアドライブが、１つのポートしか有していない場合には、そのメディアドライブに、一方の側に１つのポート有し他方の側に２つのポートを有したドングル（インタフェース変換器）の一方の側のポートが接続されることで、二つのポートを有したメディアドライブとされる。
【００５０】
前述したＭＰ１１４Ａ（及び１１４Ｂ）は、電源障害やその他の障害の発生を把握した場合、ＳＶＰ（Service Processor）１０５に、把握した障害が何であるかや障害発生部位がどこであるかに関する情報（以下、障害報告情報）を送信する。ＳＶＰ１０５は、例えば、記憶資源、マイクロプロセッサ及び表示装置を有する装置（例えば計算機）である。ＳＶＰ１０５におけるマイクロプロセッサは、受信した障害報告情報を記憶資源（例えばメモリ及び／又はメディアドライブ）に蓄積し、その障害報告情報を基に、障害発生部位やどんな障害が発生したかを表示装置に表示する。また、ＳＶＰ１０５におけるマイクロプロセッサは、障害報告情報を基に、障害発生部位を表す情報やどんな障害であるかを表すエラーコードを含んだ情報（以下、便宜上、Service
Informationを略して「ＳＩＭ」と言う）を、保守センタ装置１３１に送信する。保守センタ装置１３１は、複数のストレージシステムに対応する複数のＳＶＰからＳＩＭを収集する装置（例えばサーバマシン）である。保守センタ装置１３１は、収集されたＳＩＭを基に、どこでどんな障害が発生したかを表す情報を出力する（例えば、表示する、或いは、ＬＡＮ（Local
Area Network）経由で所定の端末に送信する（この場合、その端末が、その情報を表示する））。
【００５１】
以上が、本実施形態に係るストレージシステム１００１の構成についての説明である。
【００５２】
ＲＡＩＤ制御部１１８Ａ（１１８Ｂ）におけるメモリ１２２Ａ（１２２Ｂ）、ＳＡＳコントローラ１１１Ａ（１１１Ｂ）における図示しないメモリ、エクスパンダ１０５Ａ−１乃至１０５Ａ−ｎ（１０５Ｂ−１乃至１０５Ｂ−ｎ）における図示しないメモリに、ルーティングテーブルが記憶される。ルーティングテーブルには、そのテーブルを有するデバイス（ＲＡＩＤ制御部、ＳＡＳコントローラ又はエクスパンダ、以下、「対象デバイス」と言う）より下流側に存在する各デバイスと、対象デバイスのｐｈｙに直接接続されている（一本のナロウリンクで接続されている）各デバイスとについて、行き先を表す情報要素（行き先情報要素）が記録される。より上流のデバイスに記憶されるルーティングテーブルほど、通常、より多くの行き先情報要素が記録される。なぜなら、より上位のデバイスほど、下位に存在するデバイスの数がより多くなるためである。そのような理由から、ＲＡＩＤ制御部１１８Ａ（及び１１８Ｂ）及びＳＡＳコントローラ１１１Ａ（及び１１１Ｂ）が保持するルーティングテーブルに、一番多くの数の行き先情報要素（すなわち、下位に存在する全てのデバイス（エクスパンダやメディアドライブ）の行き先情報要素）が記録されることになる。行き先情報要素は、例えば、デバイス（例えばエクスパンダ）のＳＡＳ規格に従うアドレス（ＳＡＳアドレス）とｐｈｙの番号とで構成することができる。制御プログラム１１６Ａは、例えば、所望のエクスパンダにおけるｐｈｙを指定したディスカバリコマンドを送信することで、そのｐｈｙに接続されているデバイスの行き先情報を取得することができる。
【００５３】
ＭＰ１１４Ａで実行される制御プログラム１１６Ａは、ＳＡＳコントローラ１１１Ａにおける４つのｐｈｙ＃１０乃至＃１３のうちの選択したｐｈｙから、ターゲットＳＡＳアドレス（例えばドライブＩ／ＯコマンドのターゲットとするＳＡＳアドレス）を指定した接続コマンドを送信すると、上流側から下流側にかけて、順次に、ナロウリンクが確保されていく。ターゲットＳＡＳアドレスまでのナロウリンクが確保されると、第一のＳＡＳ信号経路において、接続が確立される。制御プログラム１１６Ａが、接続が確立した場合に、上記選択したｐｈｙから、所望のコマンドとして、例えば、ドライブＩ／Ｏコマンドを送信する。これにより、ドライブＩ／Ｏコマンドに従うデータが、確保された各ナロウリンクを経由して、ターゲットのメディアドライブに書き込まれる、或いは、確保された各ナロウリンクを経由して、ターゲットのメディアドライブから読み出される。
【００５４】
この一連の流れにおいて、ＳＡＳ信号経路に関する障害（以下、ＳＡＳ経路障害）が発生することがある。ＳＡＳ経路障害として、例えば、ドライブアクセス障害とリンク障害がある。ドライブアクセス障害とは、ドライブＩ／Ｏコマンドを発行してから所定の時間が経っても応答が返って来ない、或いは、書込まれた或いは読み出されたデータが壊れている（例えばベリファイ処理によって検出されるデータ不一致）等である。リンク障害とは、接続が確立できない障害である。このようなＳＡＳ経路障害が生じる原因としては、例えば、ナロウリンクが壊れた、ナロウリンクが接続されたｐｈｙが壊れた、エクスパンダ自身が壊れた等が考えられる。
【００５５】
以上のように、ＳＡＳ経路障害が発生すると、ＳＡＳコントローラ１１１Ａから第一のＳＡＳ信号経路を介して所望のターゲット（例えばエクスパンダ或いはメディアドライブ）にアクセスすることができない。
【００５６】
しかし、このようにアクセスすることができなくなる原因として、ＳＡＳ経路障害以外に、電源障害が考えられる。例えば、電源１０４Ａ−ｎ及び電源１０４Ｂ−ｎの一方から給電されなくなっても、他方の電源から給電が継続されるため、エクスパンダ１０６Ａ−ｎ及び１０７Ｂ−ｎやメディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍは稼動することができるが、電源障害が発生すると（すなわち、停電などにより電源１０４Ａ−ｎ及び電源１０４Ｂ−ｎの両方からの給電がストップしてしまうと）、エクスパンダ１０６Ａ−ｎ及び１０６Ｂ−ｎやメディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍの稼働が停止してしまう。それらにとっての電源がオフとなるためである（なお、電源１０４Ａ−ｎ及び／又は１０４Ｂ−ｎが壊れた場合、交換により、回復可能である）。
【００５７】
本実施形態では、ＳＡＳの特性に着目して考案された以下の障害チェック処理を行うことで、ＳＡＳ経路障害が検出された原因が、本当にＳＡＳ経路障害の発生によるものなのか、或いは、電源障害の発生によるものなのかを区別することができる。障害チェック処理は、第一及び第二のＳＡＳ信号経路のいずれかでＳＡＳ経路障害が検出されたことを契機に開始される。以下、図３を参照して、ＳＡＳ経路障害が検出されたことを契機に開始された障害チェック処理を説明する（図では、ステップが“Ｓ”と略記されている）。なお、以下の説明では、増設筐体１０３−ｐにおけるエクスパンダ１０６Ａ−ｐに接続されているメディアドライブをターゲットとしたコマンドを送信した場合にＳＡＳ経路障害が検出されたとする（ｐはｎ以下の整数）。また、以下の説明では、４ワイドリンクやエクスパンダ（及び／又はそれに接続されているメディアドライブ）における段位を表す番号をｋ（ｋは１以上の整数）とする。ｋは、最上流に位置するＳＡＳコントローラ１１１Ａ及び１１１Ｂの段位０とした場合にＳＡＳコントローラ１１１Ａ及び１１１Ｂから何段目にあるかを表す（言い換えれば、ＳＡＳコントローラ１１１Ａ及び１１１Ｂからの位置を表す）。例えば、ｋ＝１は、第一のＳＡＳ信号経路に関して言えば、ＳＡＳコントローラ１１１Ａと直近の（つまり１番目の）エクスパンダ１１６Ａ−１とを結ぶ４ワイドリンク１５３Ａ−１や、その１番目のエクスパンダ１１６Ａ−１（又はメディアドライブ１０７−１−０乃至１０７−１−ｍのいずれか）を表し、ｋ＝ｎは、最下流の４ワイドリンク１５３Ａ−ｎや、ＳＡＳコントローラ１１１Ａから最も離れた（言い換えればカスケードの末端にある）ｎ番目のエクスパンダ１１６Ａ−ｎ（又はメディアドライブ１０７−ｎ−０乃至１０７−ｎ−ｍのいずれか）を表す。
【００５８】
ステップ１０２において、制御プログラム１１６Ａは、ＳＡＳコントローラ１１１Ａにおける４つのｐｈｙ＃１０乃至＃１３のうちの一つ（例えばｐｈｙ＃１０）を選択し、選択したｐｈｙ（例えばｐｈｙ＃１０）から、ｋ＝１であるターゲット（直近のエクスパンダ１０６Ａ−１又はそのエクスパンダ１０６Ａ−１に接続されているいずれかのメディアドライブ）を指定したコマンドを送信する。そのコマンドの送信に成功し、そのコマンド送信ではＳＡＳ経路障害が検出されなかった場合（ステップ１０２でＮＯ）、制御プログラム１１６Ａは、ステップ１１４を実行し、一方、再びＳＡＳ経路障害が検出された場合、コマンド送信元のｐｈｙを切替えて、コマンドを再送する（つまり、ＳＡＳコントローラ１１１Ａにおける別のｐｈｙを選択し、選択したｐｈｙから、ｋ＝１であるターゲットを指定したコマンドを再送する）。以上の処理を、制御プログラム１１６Ａは、選択したいずれかのｐｈｙでＳＡＳ経路障害が検出されなくなるまで繰り返す。もし、いずれのｐｈｙからコマンドを再送してもＳＡＳ経路障害が検出された場合、言い換えれば、４つのｐｈｙ＃１０乃至＃１３の全てについてＳＡＳ経路障害が検出された場合には（ステップ１０２でＹＥＳ）、ステップ１０３に進む。
【００５９】
ステップ１０３において、制御プログラム１１６Ａは、制御プログラム１１６Ｂに、第二のＳＡＳ信号経路において、ステップ１０２と同様の処理を実行させる。すなわち、制御プログラム１１６Ｂが、ＳＡＳコントローラ１１１Ｂにおける４つのｐｈｙ＃１０乃至＃１３から一つのｐｈｙを選択し、選択したｐｈｙから、ｋ＝１であるターゲット（直近のエクスパンダ１０６Ａ−１又はそのエクスパンダ１０６Ａ−１に接続されているいずれかのメディアドライブ）を指定したコマンドを送信する。ＳＡＳ経路障害が検出されなければ（ステップ１０３でＮＯ）、ステップ１１４を実行し、ＳＡＳ経路障害が検出されたならば、制御プログラム１１６Ｂは、別のｐｈｙを選択し、その別のｐｈｙから、ｋ＝１を指定したコマンドを再送する。以上の処理を、制御プログラム１１６Ｂは、選択したいずれかのｐｈｙでＳＡＳ経路障害が検出されなくなるまで繰り返す。もし、いずれのｐｈｙからコマンドを再送してもＳＡＳ経路障害が検出された場合、言い換えれば、４つのｐｈｙ＃１０乃至＃１３の全てについてＳＡＳ経路障害が検出された場合には（ステップ１０３でＹＥＳ）、ステップ１０４に進む（その際、制御プログラム１１６Ｂは、処理の結果を、制御プログラム１１６Ａに通知することができる）。
【００６０】
ステップ１０４において、制御プログラム１１６Ａ（又は制御プログラム１１６Ｂ）が、増設筐体１０３−１で電源障害が生じたと判断する。なぜなら、ｋ＝１である４ワイドリンク１５３Ａ−１及び１５３Ｂ−１のいずれも使用不能であり、その原因として、増設筐体１０３−１における電源１０４Ａ−１及び１０４Ｂ−１の両方からエクスパンダ１０６Ａ−１及び１０６Ｂ−１の両方に給電されなくなったことが考えられるためである。
【００６１】
しかし、電源障害であったとしても、ステップ１０４の時点では、その電源障害が、短時間で回復可能なタイプの電源障害（例えば、短時間の停電により発生した短時間での電源障害、以下、一時電源障害）なのか、或いは、一時電源障害よりも回復までに長い時間を要するタイプの電源障害（例えば、障害発生部位の交換が必要な電源障害、或いは、長時間の停電により発生した長時間続く電源障害、以下、通常電源障害）なのかがわからない。そこで、下記の処理流れにより、どちらの電源障害であるかが判断される。
【００６２】
すなわち、ステップ１０５において、制御プログラム１１６Ａが、ＳＡＳコントローラ１１１Ａにおける４つのｐｈｙ＃１０乃至＃１３のうちのいずれかのｐｈｙから、ｋ＝１であるターゲットを指定したコマンドを再送する。
【００６３】
ステップ１０５での再送に成功したならば（ステップ１０６でＹＥＳ）、制御プログラム１１６Ａは、増設筐体１０３−１で一時電源障害が発生したと判断し（ステップ１０７）、ＳＡＳコントローラ１１１Ａを自動で回復させる（ステップ１０８）。具体的には、ＳＡＳコントローラ１１１Ａに初期化処理を実行させる。初期化処理では、例えば、ＳＡＳコントローラ１１１Ａが、下流に存在する全てのエクスパンダの全てのｐｈｙについて、ディスカバリコマンドを送信することで、下流に存在する各デバイスの行き先情報要素を収集し、ルーティングテーブルを構築する。制御プログラム１１６Ａは、増設筐体１０３−１で一時電源障害が発生したことを表す障害報告情報をメモリ１２２Ａに書込み、直ちに又は任意のタイミングで（例えば定期的或いは不定期的に）、メモリ１２２Ａに記録されている障害報告情報をＳＶＰ１０５に送信しても良い。
【００６４】
ステップ１０５での再送に失敗したならば（ステップ１０６でＮＯ）、制御プログラム１１６Ａは、制御プログラム１１６Ｂに、ＳＡＳコントローラ１１１Ｂにおける４つのｐｈｙ＃１０乃至＃１３のうちのいずれかのｐｈｙから、ｋ＝１であるターゲットを指定したコマンドを再送させる（ステップ１０９）。
【００６５】
ステップ１０９での再送に成功したならば（ステップ１１０でＹＥＳ）、制御プログラム１１６Ａは、ｋ＝１の４ワイドリンク１５３Ａ−１についてのＳＡＳ経路障害が発生したと判断する（ステップ１１１）。なぜなら、他方の４ワイドリンク１５３Ｂ−１を使用すればｋ＝１のターゲットにコマンドを送ることができるので、この障害チェック処理が開始された契機であるＳＡＳ経路障害の検出の原因が、電源障害の発生ではないためである。
【００６６】
ステップ１０９での再送に失敗したならば（ステップ１１０でＮＯ）、制御プログラム１１６Ａは、増設筐体１０３−１で通常電源障害が発生したと判断し、そのことを表す障害報告情報をメモリ１２２Ａに書込み、直ちに又は任意のタイミングで、その障害報告情報をＳＶＰ１０５に送信する（ステップ１１２）。通常電源障害が発生したと判断する理由は、ステップ１０４で判断された電源障害が、ステップ１０５やステップ１０９での再試行を行った時点までに回復されていないタイプの電源障害であるからである。
【００６７】
ステップ１１２の後、制御プログラム１１６Ａは、増設筐体１０３−１での通常電源障害からの回復を待ち（ステップ１１３）、ステップ１０２に戻る。
【００６８】
以上のステップ１０２乃至ステップ１１３と略同様の処理が、第一のＳＡＳ信号経路におけるＳＡＳ経路障害であるか或いは増設筐体での電源障害であるかが特定されるまで、順次、下流の増設筐体１０３−ｋについて行われる。なお、障害チェック処理では、ｋはｐ−１以下の整数とされる。なぜなら、ｐは、ＳＡＳ経路障害が検出された原因となったコマンド送信におけるコマンドのターゲットの位置に関する値であるためである。
【００６９】
ステップ１１４において、制御プログラム１１６Ａは、増設筐体１０３−ｋ（初回はｋ＝１）のエクスパンダ１０６Ａ−ｋにおける４つのｐｈｙ＃１０乃至＃１３のうちの一つのｐｈｙから、ｋ＝ｋ＋１（ここでは２）であるターゲットを指定したコマンドを経由させる。ＳＡＳ経路障害が検出されない場合（ステップ１１４でＮＯ）、ｋ＝ｐ−１でなければ（ステップ１２８でＮＯ）、ｋを１インクリメントし（ステップ１１７）、インクリメント後のｋについて、ステップ１１４が実行される。ｋ＝ｐ−１となっても、ＳＡＳ経路障害が検出されない場合、障害から回復済みであると考えられる（例えば、ステップ１１３或いは１２７で電源障害から回復済みであると考えられる）。
【００７０】
ステップ１１４において、ＳＡＳ経路障害が検出されたならば、制御プログラム１１６Ａは、エクスパンダ１０６Ａ−ｋにおける４つのｐｈｙ＃１０乃至＃１３のうちの別のｐｈｙから、ｋ＝ｋ＋１を指定したコマンドを再送する。以上の処理を、制御プログラム１１６Ａは、いずれかのｐｈｙでＳＡＳ経路障害が検出されなくなるまで繰り返す。もし、いずれのｐｈｙからコマンドを再送してもＳＡＳ経路障害が検出された場合、言い換えれば、４つのｐｈｙ＃１０乃至＃１３の全てについてＳＡＳ経路障害が検出された場合には（ステップ１１４でＹＥＳ）、ステップ１１５に進む。
【００７１】
ステップ１１５において、制御プログラム１１６Ａは、制御プログラム１１６Ｂに、第二のＳＡＳ信号経路において、ステップ１１４と同様の処理を実行させる。制御プログラム１１６Ｂが、エクスパンダ１０６Ｂ−ｋにおける４つのｐｈｙ＃１０乃至＃１３のうちのいずれかのｐｈｙで、ＳＡＳ経路障害を検出しなかった場合（ステップ１１５でＮＯ）、ｋ＝ｐ−１であれば（ステップ１１６でＹＥＳ）、４ワイドリンク１５３Ａ−ｐ（つまり、ｋ＝ｋ＋１＝ｐ）についてのＳＡＳ経路障害が発生したと判断する（ステップ１１８）。なぜなら、他方の４ワイドリンク１５３Ｂ−ｐを使用すればｋ＝ｐのターゲットにコマンドを送ることができるので、この障害チェック処理が開始された契機であるＳＡＳ経路障害の検出の原因が、増設筐体１０３−ｐでの電源障害の発生ではないためである。
【００７２】
ステップ１１５のＮＯの後、ｋ＝ｐ−１でなければ（ステップ１１６でＮＯ）、ｋを１インクリメントし（ステップ１１７）、インクリメント後のｋについて、ステップ１１４が実行される。
【００７３】
ステップ１１５において、エクスパンダ１０６Ｂ−ｋにおける４つのｐｈｙ＃１０乃至＃１３の全てでＳＡＳ経路障害を検出した場合（ステップ１１５でＹＥＳ）、ステップ１０５乃至ステップ１１３とそれぞれ同様のステップ１１９乃至ステップ１２７が実行される。
【００７４】
すなわち、ステップ１１９において、制御プログラム１１６Ａが、エクスパンダ１０６Ａ−ｋにおける４つのｐｈｙ＃１０乃至＃１３のうちのいずれかのｐｈｙから、ｋ＝ｋ＋１であるターゲットを指定したコマンドを再送する。
【００７５】
ステップ１１９での再送に成功したならば（ステップ１２０でＹＥＳ）、制御プログラム１１６Ａは、増設筐体１０３−（ｋ＋１）で一時電源障害が発生したと判断し（ステップ１２１）、ＳＡＳコントローラ１１１Ａを自動で回復させる（ステップ１２２）。
【００７６】
ステップ１１９での再送に失敗したならば（ステップ１２０でＮＯ）、制御プログラム１１６Ａは、制御プログラム１１６Ｂに、エクスパンダ１０６Ｂ−ｋにおける４つのｐｈｙ＃１０乃至＃１３のうちのいずれかのｐｈｙから、ｋ＝ｋ＋１であるターゲットを指定したコマンドを再送させる（ステップ１２３）。
【００７７】
ステップ１２３での再送に成功したならば（ステップ１２４でＹＥＳ）、制御プログラム１１６Ａは、４ワイドリンク１５３Ａ−ｋについてのＳＡＳ経路障害が発生したと判断する（ステップ１２５）。
【００７８】
ステップ１２３での再送に失敗したならば（ステップ１２４でＮＯ）、制御プログラム１１６Ａは、増設筐体１０３−（ｋ＋１）で通常電源障害が発生したと判断し、そのことを表す障害報告情報をメモリ１２２Ａに書込み、直ちに又は任意のタイミングで、その障害報告情報をＳＶＰ１０５に送信する（ステップ１２６）。
【００７９】
ステップ１２６の後、制御プログラム１１６Ａは、増設筐体１０３−（ｋ＋１）での通常電源障害からの回復を待ち（ステップ１２７）、ステップ１０２に戻る。
【００８０】
以上の障害チェック処理において、通常電源障害と判断された場合、通常電源障害が生じたことを表す障害報告情報が、制御プログラム１１６Ａによって、ＳＶＰ１０５に送信される。例えば、ステップ１１２では、図４Ａに示すように、制御プログラム１１６が、増設筐体１０３−１で通常電源障害が生じたことを表す障害報告情報をＳＶＰ１０５に送信する。ＳＶＰ１０５は、その障害報告情報を、ＳＶＰ１０５内の図示しない記憶資源に蓄積し、その障害報告情報を基に、障害報告画面１０５１を表示する。障害報告画面１０５１では、増設筐体１０３−１内の電源１０４Ａ−１及び１０４Ｂ−１をオブジェクトがそれぞれ強調表示される（例えば、そのオブジェクト内の色が点滅する）。
【００８１】
また、図４Ｂに示すように、ＳＶＰ１０５が、その障害報告情報を基に、通常電源障害を表すエラーコードと増設筐体１０３−１を表す情報とを含んだＳＩＭを、保守センタ装置１３１に送信する。保守センタ装置１３１は、そのＳＩＭを基に、増設筐体１０３−１で通常電源障害が発生したかを表す情報を表示する。
【００８２】
上述した第一の実施形態によれば、電源異常報告用ケーブルが不要となる（言い換えれば、障害報告情報の送信経路を、メディアドライブとコントローラ１１２Ａとの間でやり取りされるデータの転送経路と兼用することができる）。このため、増設筐体内での配線が容易になることが期待できる。また、電源異常報告用ケーブルを介して電源障害の通知を受けるための特別な回路も不要となる。
【００８３】
また、上述した第一の実施形態によれば、電源異常検出回路も不要となる。このため、その分の消費電力を削減することができる。
【００８４】
また、前述したように、電源異常報告用ケーブル及び電源異常検出回路も不要になるので、その分、部品点数が減り、故に、保守（例えば点検）の対象が減る。そのため、部品の交換の発生頻度や、配線ミスの発生頻度を軽減することが期待できる。
【００８５】
以上、上述した第一の実施形態によれば、電源異常検出回路と電源異常報告用ケーブルの両方を不要にすることができるが、この実施形態を、複数の増設筐体に跨ったＦＣ−ＡＬにメディアドライブを接続する構成のストレージシステム（以下、便宜上、ＦＣ−ＡＬストレージシステム）に、単純に適用することは困難である。なぜなら、ＦＣ−ＡＬでは、ＦＣ−ＡＬ上の或る箇所（例えばメディアドライブ）で障害が発生すると、そのＦＣ−ＡＬに接続されている全てのメディアドライブ（複数の増設筐体におけるメディアドライブ）にはそのＦＣ−ＡＬを経由してアクセスすることができなくなってしまうためである。つまり、ＦＣ−ＡＬストレージシステムから電源異常検出回路や電源異常報告用ケーブルを除去すると、メディアドライブにアクセス不能になった原因を区別することができない（その原因が、増設筐体における電源障害なのかＦＣ−ＡＬ上での障害の発生なのかを特定することができない）。
【００８６】
そこで、この第一の実施形態では、ＦＣ−ＡＬに代えて、ＳＡＳの規格に基づいてカスケード状に接続されたエクスパンダにメディアドライブを接続する構成のストレージシステム１００１が採用される。ＳＡＳの規格によれば、エクスパンダ同士を接続する或るｐｈｙで障害が発生しても、エクスパンダ同士を接続する別のｐｈｙを経由すれば、所望のメディアドライブにアクセスすることが可能である。つまり、エクスパンダ同士を接続する或るｐｈｙや、エクスパンダに接続されているメディアドライブに障害が発生しても、ＦＣ−ＡＬと違って、カスケード状に接続されている全てのメディアドライブにアクセスすることが不能になるわけではない。
【００８７】
そして、この第一の実施形態では、このＳＡＳの特性を利用した上記障害チェック処理を行うことで、ＳＡＳ経路障害の検出の原因を区別することができる（その原因が、電源障害なのか単なるＳＡＳ経路障害（例えばエクスパンダの故障）なのかを特定することができる）。これ故、上述したように電源異常検出回路や電源異常報告用ケーブルを不要にしても、電源障害の発生を把握することができる。
【００８８】
＜第二の実施形態＞。
【００８９】
以下、本発明の第二の実施形態を説明する。その際、第一の実施形態との相違点を主に説明し、第一の実施形態との共通点については説明を省略或いは簡略する（この点は、以下の第三の実施形態以降についても同様である）。
【００９０】
図５は、本発明の第二の実施形態に係るストレージシステムの構成例を示す。図５では、図２に示した要素と実質的に同じ要素には同じ番号を付している（この点は、以下の第三の実施形態以降についても同様である）。
【００９１】
このストレージシステム１００２によれば、ＳＡＳコントローラ１１１Ａ（及び１１１Ｂ）とエクスパンダ１０６Ａ−１（及び１０６Ｂ−１）とを互いに結ぶワイドリンク、及び、エクスパンダ同士を結ぶワイドリンクは、２ワイドリンクである。２ワイドリンクは、２ワイドポート（２つのｐｈｙの集合）間を結ぶ２本のナロウリンクの集合である。
【００９２】
図６は、本発明の第二の実施形態で行われる障害チェック処理の流れを示す。
【００９３】
第二の実施形態では、４ワイドリンクに代えて２ワイドリンクが採用されているため、図３におけるステップ１０２、１０３、１１４及び１１５に代えて、ステップ２０２、２０３、２１４及び２１５が行われる。すなわち、４つのｐｈｙ＃１０乃至＃１３に代えて、２つのｐｈｙ＃１０及び＃１１の全てでＳＡＳ経路障害が検出されたか否かが判断される。
【００９４】
＜第三の実施形態＞。
【００９５】
図７は、本発明の第三の実施形態に係るストレージシステムの構成例を示す。
【００９６】
このストレージシステム１００３によれば、ＳＡＳコントローラ１１１Ａ（及び１１１Ｂ）とエクスパンダ１０６Ａ−１（及び１０６Ｂ−１）を互いに結ぶリンク、及び、エクスパンダ同士を結ぶリンクは、それぞれ、４ワイドリンクに代えて１本のナロウリンクである。
【００９７】
図８は、本発明の第三の実施形態で行われる障害チェック処理の流れを示す。
【００９８】
第三の実施形態では、４ワイドリンクに代えてナロウリンクが採用されているため、図３におけるステップ１０２、１０３、１１４及び１１５に代えて、ステップ３０２、３０３、３１４及び３１５が行われる。すなわち、４つのｐｈｙ＃１０乃至＃１３に代えて、１つのｐｈｙ＃１０でＳＡＳ経路障害が検出されたか否かが判断される。
【００９９】
＜第四の実施形態＞。
【０１００】
図９及び１０は、本発明の第四の実施形態に係るストレージシステムの構成例を示す。すなわち、図９は、第四の実施形態に係るストレージシステムの構成例の一部を示し、図１０は、第四の実施形態に係るストレージシステムの構成例の残りの一部を示す。
【０１０１】
ストレージシステム１００４では、増設筐体１０３−１乃至１０３−ｎのそれぞれに、図９と図１０において点線枠で示すように、第一の実施形態に示した構成が冗長化されている。具体的には、例えば、増設筐体１０３−ｎについて言えば、エクスパンダ１０６Ａ−ｎ及び１０６Ｂ−ｎに加えてエクスパンダ１０６Ｃ−ｎ及び１０６Ｄ−ｎが備えられ、電源１０４Ａ−ｎ及び１０４Ｂ−ｎに加えて電源１０４Ｃ−ｎ及び１０４Ｄ−ｎが備えられる。エクスパンダ１０６Ｃ−ｎ及び１０６Ｄ−ｎには、電源１０４Ｃ−ｎ及び１０４Ｄ−ｎから給電されている。一方の点線枠における一以上のメディアドライブと、他方の点線枠における一以上のメディアドライブとによって、ＲＡＩＤグループが構成される。
【０１０２】
第一のＳＡＳ信号経路及び第二のＳＡＳ信号経路がそれぞれ冗長化されている。具体的には、ＳＡＳコントローラ１１１Ａには、８つのｐｈｙ＃１０乃至＃１７が備えられ、そのうちの一つの４ワイドポート（４つのｐｈｙ＃１０乃至＃１３の集合）に、第一のＳＡＳ信号経路が接続され、そのうちの別の一つの４ワイドポート（４つのｐｈｙ＃１４乃至＃１７の集合）に、第三のＳＡＳ信号経路が接続される。同様に、ＳＡＳコントローラ１１１Ｂには、８つのｐｈｙ＃１０乃至＃１７が備えられ、そのうちの一つの４ワイドポート（４つのｐｈｙ＃１０乃至＃１３の集合）に、第二のＳＡＳ信号経路が接続され、そのうちの別の一つの４ワイドポート（４つのｐｈｙ＃１４乃至＃１７の集合）に、第四のＳＡＳ信号経路が接続される。第三のＳＡＳ信号経路は、４ワイドリンク１５３Ｃ−１乃至１５３Ｃ−ｎやエクスパンダ１０６Ｃ−１乃至１０６Ｃ−ｎで構成され、第四のＳＡＳ信号経路は、４ワイドリンク１５３Ｄ−１乃至１５３Ｄ−ｎやエクスパンダ１０６Ｄ−１乃至１０６Ｄ−ｎで構成されている。
【０１０３】
この第三の実施形態では、制御プログラム１１６Ａは、第一のＳＡＳ信号経路についてＳＡＳ経路障害を検出した場合には、図３のステップ１０２以降を実行し、第三のＳＡＳ信号経路についてＳＡＳ経路信号を検出した場合には、図１１のステップ５０２以降を実行する。図１１のステップ５０２乃至５２８は、図３のステップ１０２乃至ステップ１２８にそれぞれ対応する。相違点は、図３が、第一及び第二のＳＡＳ信号経路についての処理の流れを示しているのに対し、図１１が、第三及び第四のＳＡＳ信号経路についての処理の流れを示している点である。また、本実施形態では、電源１０４Ａ（例えば１０４Ａ−ｎ）及び１０４Ｂ（例えば１０４Ａ−ｎ）の両方の障害による電源障害（以下、第一の電源障害）であるか、電源１０４Ｃ（例えば１０４Ｃ−ｎ）及び１０４Ｄ（例えば１０４Ｄ−ｎ）の両方の障害による電源障害（以下、第二の電源障害）であるかを区別することができる。具体的には、例えば、制御プログラム１１６Ａは、第一及び第二のＳＡＳ信号経路に関して増設筐体１０３−ｎでの通常電源障害を把握した場合には、電源１０４Ａ−ｎ及び１０４Ｂ−ｎの両方の障害による第一の通常電源障害であることを障害報告情報に含め、一方、第三及び第四のＳＡＳ信号経路に関して増設筐体１０３−ｎでの通常電源障害を把握した場合には、電源１０４Ｃ−ｎ及び１０４Ｄ−ｎの両方の障害による第二の通常電源障害であることを障害報告情報に含める。
【０１０４】
＜第五の実施形態＞。
【０１０５】
図１２は、本発明の第五の実施形態に係るストレージシステムの構成例を示す。
【０１０６】
このストレージシステム１００５によれば、また、コントローラ１１２Ａ（及び１１２Ｂ）では、ＭＰ１１４Ａ（及び１１４Ｂ）とＳＡＳコントローラ１１１Ａ（及び１１１Ｂ）との間に、スイッチデバイス８１Ａ（及び８１Ｂ）が介在する。第一のスイッチデバイス８１Ａは、第二のＭＰ１１４Ｂに接続され、第二のスイッチデバイス８１Ｂは、第一のＭＰ１１４Ａに接続される。このため、例えば、第一のＭＰ１１４Ａは、第一のスイッチデバイス８１Ａを介して第一のＳＡＳコントローラ１１１Ａに命令を発行することも、第二のスイッチデバイス８１Ｂを介して第二のＳＡＳコントローラ１１１Ｂに命令を発行することもできる。
【０１０７】
基本筐体１０１´に、二つのコントローラ１１２Ａ及び１１２Ｂに共有される共有メモリ８３が備えられる。制御プログラム１１６Ａ及び１１６Ｂのうちの一方が、障害チェック処理において、通常電源障害の発生を把握した場合、どの段位ｋに対応した増設筐体１０３−ｋで通常電源障害が発生したかを表す電源障害情報８５を共有メモリ８３に記録する。制御プログラム１１６Ａ及び１１６Ｂのうちの他方が、ＳＡＳ経路障害を検出した場合、障害チェック処理を開始する前に、共有メモリ８３に電源障害情報８５が記録されているかどうかを調べ、記録されていれば、障害チェック処理を行うことなく、電源障害情報８５が表す段位ｋに対応した増設筐体１０３−ｋでの通常電源障害からの回復を待つ。
【０１０８】
図１３は、本発明の第五の実施形態でＳＡＳ経路障害が検出された場合に行われる処理の流れを示す。
【０１０９】
制御プログラム１１６Ａは、ＳＡＳ経路障害が検出された場合、共有メモリ８３に電源障害情報８５が記録されているかどうかを調べ（ステップ６４０）、記録されていると判断した場合には（ステップ６４０でＹＥＳ）、ステップ６４１を実行し（電源障害情報８５が表す段位ｋに対応した増設筐体１０３−ｋでの通常電源障害からの回復を待ち）、記録されていないと判断した場合に、ステップ１０２以降の処理を行う。
【０１１０】
また、ステップ１０３、１０９、１１５及び１２３では、制御プログラム１１６Ｂではなく制御プログラム１１６Ａが、第二のスイッチ８１Ｂを介してＳＡＳコントローラ１１１Ｂからコマンドを発行する。
【０１１１】
また、制御プログラム１１６Ａは、ステップ１０７及び１２１の後（例えば次に）、電源障害情報８５をクリア（例えば消去）する（ステップ６００及び６２０）。
【０１１２】
更に、制御プログラム１１６Ａは、ステップ１１２及び１２６の後（例えば次に）、増設筐体１０３−ｋ（ステップ１１２ではｋ＝１、ステップ１２６ではｋ＝ｎ）で通常電源障害が発生したことを表す電源障害情報８５を書き込む（ステップ６１０及び６３０）。
【０１１３】
以上、本発明の幾つかの実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【０１１４】
例えば、Ｋワイドリンク（Ｋは２以上の整数）について、Ｋが４と２の場合について説明したが、Ｋは、他の整数であっても良い。
【０１１５】
また、例えば、上述した実施形態では、一つの増設筐体に複数の段位に対応した複数のエクスパンダが備えられても良い（具体的には、例えば、増設筐体１０３−１に、エクスパンダ１０６Ａ−１及び１０６Ｂ−１に加えて、エクスパンダ１０６Ａ−２及び１０６Ｂ−２が備えられても良い）。この場合、増設筐体では、一組の電源１０４Ａ及び１０４Ｂが一組のエクスパンダ１０６Ａ及び１０６Ｂに給電しても良いし複数組のエクスパンダ１０６Ａ及び１０６Ｂに給電しても良い。更に、この場合、メモリ１２２Ａ及び１２２Ｂが、どこの増設筐体に備えられているどの電源からどのエクスパンダに給電されているかを表す情報（以下、給電管理情報）を記憶し、制御プログラム１１６Ａ及び１１６Ｂが、例えば、ｋ番目のエクスパンダの全てのｐｈｙ＃１０乃至＃１３からｋ＋１番目のエクスパンダにコマンド送信することに失敗した場合には、ｋ＋１番目のエクスパンダに給電している電源がどの組でその組の電源がどの増設筐体に備えられているかを、給電管理情報を参照することにより特定し、どの増設筐体のどの組の電源に障害が生じたかを表す障害報告情報を送信しても良い。
【０１１６】
また、例えば、エクスパンダは、どのｐｈｙから下流のエクスパンダにコマンドを送信するかを、上流側から送られてきたコマンドから特定される、そのコマンドが経由してきたｐｈｙのＩＤ（例えば、World Wide Name（ＷＷＮ））を基に制御しても良い。
【０１１７】
また、例えば、上記各実施形態において、ＳＡＳコントローラ１１１ＡだけでなくＳＡＳコントローラ１１１Ｂの自動回復が行われても良い。そのための方法としては、例えば、ＳＡＳコントローラ１１１Ａ及び／又は１１１Ｂが、定期的に、自身のｐｈｙからディスカバリコマンドの送信（失敗したならばそれのリトライ）を定期的に実行し、成功した場合に、そのｐｈｙ配下単位で、回復することができる。
【図面の簡単な説明】
【０１１８】
【図１】図１は、ＦＣ−ＡＬを利用して基本筐体及び一以上の増設筐体が直列に接続されたストレージシステムの構成例を示す。
【図２】図２は、本発明の第一の実施形態に係るストレージシステムの構成例を示す。
【図３】図３は、本発明の第一の実施形態で行われる障害チェック処理の流れを示す。
【図４】図４Ａは、コントローラからＳＶＰへの障害報告情報の送信とその障害報告情報を基にＳＶＰによって表示される画面の一例を示す。図４Ｂは、ＳＶＰから保守センタ装置への情報の送信とその情報を基に保守センタ装置によって出力される情報の一例を示す。
【図５】図５は、本発明の第二の実施形態に係るストレージシステムの構成例を示す。
【図６】図６は、本発明の第二の実施形態で行われる障害チェック処理の流れを示す。
【図７】図７は、本発明の第三の実施形態に係るストレージシステムの構成例を示す。
【図８】図８は、本発明の第三の実施形態で行われる障害チェック処理の流れを示す。
【図９】図９は、本発明の第四の実施形態に係るストレージシステムの構成例の一部を示す。
【図１０】図１０は、そのストレージシステムの構成例の残りの一部を示す。
【図１１】図１１は、本発明の第四の実施形態で第三のＳＡＳ信号経路でＳＡＳ経路障害が検出された場合に行われる障害チェック処理の流れを示す。
【図１２】図１２は、本発明の第五の実施形態に係るストレージシステムの構成例を示す。
【図１３】図１３は、本発明の第五の実施形態でＳＡＳ経路障害が検出された場合に行われる処理の流れを示す。
【符号の説明】
【０１１９】
１００１…ストレージシステム  １０１…基本ユニット  １０３−ｎ…増設ユニット  １０４Ａ−ｎ，１０４Ｂ−ｎ…ＡＣ／ＤＣ電源  １０７Ａ−ｎ，１０７Ｂ−ｎ…エクスパンダ  １１１Ａ，１１１Ｂ…ＳＡＳコントローラ  １１４Ａ，１１４Ｂ…マイクロプロセッサ（ＭＰ）  １１６Ａ，１１６Ｂ…制御プログラム
【図１】
0004982304.tif 000002
【図２】
0004982304.tif 000003
【図３】
0004982304.tif 000004
【図４】
0004982304.tif 000005
【図５】
0004982304.tif 000006
【図６】
0004982304.tif 000007
【図７】
0004982304.tif 000008
【図８】
0004982304.tif 000009
【図９】
0004982304.tif 000010
【図１０】
0004982304.tif 000011
【図１１】
0004982304.tif 000012
【図１２】
0004982304.tif 000013
【図１３】
0004982304.tif 000014