(57)【要約】【解決課題】ストレージ装置のインタフェース内に障害が発生した場合に、上位装置とのデータの授受を継続して行なうこと。【解決手段】上位装置と、この上位装置と通信回線を介して接続されるストレージ装置を含み、ストレージ装置は、上位装置と複数の光モジュールを用いてデータ通信を行なう通信制御部を有するストレージシステムにおいて、通信制御部は、上位装置とデータ通信を行なう複数の第１の光モジュールと、第１の光モジュールに代えて上位装置とデータ通信を行なう第２の光モジュールと、第１の光モジュールのいずれかに障害が発生したときに、その障害が発生した第１の光モジュールを第２の光モジュールに切り替える制御部とを備える。【選択図】図５
2009110386.tif 000002
【特許請求の範囲】
【請求項１】
上位装置と、この上位装置と通信回線を介して接続されるストレージ装置を含み、
前記ストレージ装置は、前記上位装置と複数の光モジュールを用いてデータ通信を行なう通信制御部を有する、
ストレージシステムであって、
前記通信制御部は、
前記上位装置と前記データ通信を行なう複数の第１の光モジュールと
前記第１の光モジュールに代えて前記上位装置とデータ通信を行なう第２の光モジュールと、
前記第１の光モジュールのいずれかに障害が発生したときに、その障害が発生した第１の光モジュールを前記第２の光モジュールに切り替える制御部とを備えること、
を特徴とするストレージシステム。
【請求項２】
前記制御部は、
前記第１の光モジュールに障害が発生したか否かを検出するための閾値を所定の項目毎に設定する閾値テーブルと、
前記第１の光モジュールが、前記所定の項目毎に設定された閾値以上となったか否かを監視する第１の監視処理部とを有し、
前記制御部は、
前記第１の監視処理部が前記前記所定の項目毎に設定された閾値のいずれか以上となったことを監視したときに前記障害が発生したと判定すること、
を特徴とする請求項１記載のストレージシステム。
【請求項３】
前記制御部は、
前記障害が発生した第１の光モジュールから前記第２の光モジュールに切替えた後、前記障害が発生した第１の光モジュールの障害が前記所定の項目が全て前記閾値テーブルに設定された閾値以上でなくなったか否かを監視する第２の監視処理部を有し、
前記制御部は、
前記第２の監視処理部で前記所定の項目が全て前記閾値テーブルに設定された閾値以上でなくなった場合、前記第２の光モジュールを前記障害が発生した第１の光モジュールに切替えること、
を特徴とする請求項２記載のストレージシステム。
【請求項４】
前記閾値テーブルは、光モジュール自体の状態を監視するための複数の項目が設定された第１の閾値テーブルと、光モジュールの通信の状態を監視するための複数の項目が設定された第２の閾値テーブルとを含むこと、
を特徴とする請求項３記載のストレージシステム。
【請求項５】
前記複数の第１の光モジュールは、前記上位装置内の複数のスイッチと１対１で対応するとともに、前記複数の第１の光モジュールと前記複数のスイッチは、それぞれ第１のスプリッターを介して接続して前記上位装置とデータ通信を行い、
前記第２の光モジュールは、前記複数の第１のスプリッターそれぞれと接続された第２のスプリッターと接続して前記上位装置とデータ通信を行なうこと、
を特徴とする請求項１記載のストレージシステム。
【請求項６】
前記通信回線は、ファイバーケーブルであること、
を特徴とする請求項１記載のストレージシステム。
【請求項７】
上位装置と、この上位装置と通信回線を介して接続されるストレージ装置を含み、
前記ストレージ装置は、前記上位装置と複数の光モジュールを用いてデータ通信を行なう通信制御部を有する、
ストレージシステムの光モジュール切替え方法であって、
前記通信制御部は、
前記上位装置と前記データ通信を行なう複数の第１の光モジュールと
前記第１の光モジュールに代えて前記上位装置とデータ通信を行なう第２の光モジュールとを備え、
前記第１の光モジュールのいずれかに障害が発生したときに、その障害が発生した第１の光モジュールを前記第２の光モジュールに切り替えるステップを備えること、
を特徴とするストレージシステム光モジュール切替え方法。
【請求項８】
前記第１の光モジュール及び前記第２の光モジュールに障害が発生したか否かを検出するための閾値が所定の項目毎に設定された閾値テーブルに基づいて、前記第１の光モジュールが、前記所定の項目毎に設定された閾値を超えたか否かを監視するステップを備え、
前記切り替えるステップは、前記監視するステップが前記前記所定の項目毎に設定された閾値のいずれか以上となったことを監視したときに前記障害が発生したと判定すること、
を特徴とする請求項７記載のストレージシステムの光モジュール切替え方法。
【請求項９】
前記障害が発生した第１の光モジュールから前記第２の光モジュールに切替えた後、前記障害が発生した第１の光モジュールの障害が前記所定の項目が全て前記閾値テーブルに設定された閾値以上でなくなったか否かを監視するステップと、
この監視するステップで前記所定の項目が全て前記閾値テーブルに設定された閾値以上でなくなった場合、前記第２の光モジュールを前記障害が発生した第１の光モジュールに切替えるステップとを備えること、
を特徴とする請求項８記載のストレージシステムの光モジュール切替え方法。
【請求項１０】
前記閾値テーブルは、光モジュール自体の状態を監視するための複数の項目が設定された第１の閾値テーブルと、光モジュールの通信の状態を監視するための複数の項目が設定された第２の閾値テーブルとを含むこと、
を特徴とする請求項９記載のストレージシステムの光モジュール切替え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びストレージシステムの光モジュール切替え方法に関し、例えば、ストレージシステム内のストレージ装置の上位装置と接続するためのインタフェース内の光モジュールを切替えるストレージシステム及びストレージシステムのｈ仮モジュール切替え方法に適用しても好適なものである。
【背景技術】
【０００２】
従来、ストレージシステムにおいては、例えば、上位装置とストレージ装置とは、ファイバーチャネルを利用して接続される。ストレージ装置は、内部に上位装置と接続するためのインタフェースを有し、そのインタフェース内にある複数の光モジュール部がそれぞれ上位装置と接続されている。このようなストレージ装置では、インタフェースラインの故障に備え、上位装置−ストレージ装置間のパスを二重化している。パスを二重化することにより、インタフェースラインに故障が生じた場合に、上位装置にインストールされる交替パスソフトウェアにより、パスを切替えることにより対応していた。
【０００３】
また、ストレージシステムにおいて、トラフィックが集中しボトルネックとなる可能性のある箇所を事前に把握してアクセスパスの管理を簡単にする技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００６−２６８６２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ストレージシステムのインタフェースラインに発生する障害は、インタフェース内の光モジュールの故障が多数を占めている。このため、従来技術のように交替パスソフトウェアによりパスを交替する構成だと、インタフェース内の光モジュール部に故障が発生した場合には対応することができず、光モジュール部を交換するまでの間、ストレージ装置は上位装置とデータの授受を行なうことができない。
【０００５】
また、特許文献１では、インタフェース内の光モジュール部に故障が発生した場合については、考慮されていない。
【０００６】
本発明は、以上の点を考慮してなされたもので、ストレージ装置のインタフェース内に障害が発生した場合に、上位装置とのデータの授受を継続して行なうことができるストレージシステム及びストレージシステムの光モジュール切替え方法を提案しようとするものである。
【課題を解決するための手段】
【０００７】
本発明は、上位装置と、この上位装置と通信回線を介して接続されるストレージ装置を含み、前記ストレージ装置は、前記上位装置と複数の光モジュールを用いてデータ通信を行なう通信制御部を有するストレージシステムであって、前記通信制御部は、前記上位装置と前記データ通信を行なう複数の第１の光モジュールと、前記第１の光モジュールに代えて前記上位装置とデータ通信を行なう第２の光モジュールと、前記第１の光モジュールのいずれかに障害が発生したときに、その障害が発生した第１の光モジュールを前記第２の光モジュールに切り替える制御部とを備えるものである。
【０００８】
この構成によると、ストレージ装置のインタフェース内に障害が発生した場合に、障害が発生した第１の光モジュールから第２の光モジュールに切替えることにより、上位装置とのデータの授受を継続して行なうことができる。
【発明の効果】
【０００９】
本発明によれば、ストレージ装置のインタフェース内に障害が発生した場合に、上位装置とのデータの授受を継続して行なうことができるストレージシステム及びストレージシステムの光モジュール切替え方法を提案することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態について図面を参照して説明する。
【００１１】
（第１の実施形態）
先ず第１の実施形態について説明する。図１は、ストレージシステム１の構成を示す図である。ストレージシステム１は、サーバ１０とストレージ装置１００を含んで構成されている。また、サーバ１０とストレージ装置１００とは、ファイバーケーブルを介して接続されている。
【００１２】
ストレージ装置１００は、ディスクコントローラ（ＤＫＣ）１１０とディスクユニット（ＤＫＵ）１３０を有している。ディスクコントローラ１１０は、チャネルアダプタ（ＣＨＡ）１１１，１１６、共有メモリ（ＳＭ）１１２，１１７、ディスクアダプタ（ＤＫＡ）１１３，１１８、キャッシュスイッチ（ＣＳＷ）１１４，１１９、キャッシュメモリ（ＣＡＳＨＥ）１１５，１２０を有している。
【００１３】
チャネルアダプタ（ＣＨＡ）１１１，１１６は、サーバ１０とのデータの授受を制御する。共有メモリ（ＳＭ）１１２，１１７は、チャネルアダプタ１１１，１１６、ディスクアダプタ１１３，１１８等で使用するストレージ装置１００内における各種設定等を記憶する。ディスクアダプタ（ＤＫＡ）１１３，１１８は、ディスクユニット１３０とのデータの授受を制御する。キャッシュスイッチ（ＣＳＷ）１１４，１１９はキャッシュメモリ１１５，１２０のスイッチチングを行なう。キャッシュメモリ（ＣＡＳＨＥ）１１５，１２０はデータを一時的に保存する。また、ディスクユニット１３０は、複数のＨＤＤ１３１を有している。この複数のＨＤＤ１３１には、サーバ１０から送信されたデータ等を保存する。
【００１４】
なお、この実施形態においては、ディスクコントローラ１１０は、チャネルアダプタ１１１、共有メモリ１１２、ディスクアダプタ１１３、キャッシュスイッチ１１１４、キャッシュメモリ１１５からなるコントローラと、チャネルアダプタ１１６、共有メモリ１１７、ディスクアダプタ１１８、キャッシュスイッチ１１９、キャッシュメモリ１２０からなるコントローラとの２つのコントローラを有する場合で説明したが、このような構成に限らず、ディスクコントローラ１１０は、コントローラを１つのみ有する構成としても良い。
【００１５】
図２は、ストレージシステム１のインタフェース部の構成を説明するための図である。サーバ１０内の複数のファイバーチャネルスイッチ（ＦＣ−ＳＷ）１１Ａ〜１１Ｄとストレージ装置１００のディスクコントローラ１１０内の複数のチャネルアダプタ１１１Ａ〜１１１Ｄが１対１で対応している。なお、この第１の実施形態では、図２に示すようにディスクコントローラ１１０に搭載されているチャネルアダプタ１１１Ａ〜１１１Ｄがインタフェースとなる場合で説明しているが、図３に示すように、サーバ１０内の複数のファイバーチャネルスイッチ１１Ａ〜１１Ｄとディスクコントローラ１１０内のコントローラ１２１Ａ，１２１Ｂが複数のファイバーチャネルスイッチ１１Ａ〜１１Ｄと対応するようにインタフェースを構成しても良い。図２に示すインタフェースは、例えば、大型のディスクサブシステム装置に搭載され、図３に示すインタフェースは、例えば、小型のディスクサブシステム装置に搭載される。
【００１６】
図４は、チャネルアダプタ１１１の構成を示すブロック図である。チャネルアダプタ１１１は、ファイバー部１４０、マイクロプロセッサ部１５０、データ転送部１６０を有している。
【００１７】
ファイバー部１４０は、サーバ１０のファイルバーチャネルスイッチ１１から送信されるデータを受信する処理を行う処理部である。ファイバー部１４０は、ファイバーチャネルスイッチ１１を介してデータを受信するためのポートユニット１４１，１４２，１４３及び１４４を有し、さらにポートユニット１４５を有している。以下では、ポートユニット１４１，１４２，１４３及び１４４内のポートＡ〜ポートＨ（ポートＡ〜ポートＨは、それぞれ後述のＳＦＰ−Ａ１７１〜ＳＦＰ１７８に対応する。）は、ファイバーチャネルスイッチ１１のスイッチと対応しているため通常ポートと称することとし、ポートユニット１４５内のポートＺ（後述のＳＦＰ−Ｚ１７９に対応する。）は通常ポートに障害等の異常が発生したときに通常ポートに代替して使用されるポートであるため予備ポートと称する場合もある。
【００１８】
マイクロプロセッサ部１５０は、マイクロプロセッサ１５１，１５２及び１５３を有している。マイクロプロセッサ１５１，１５２及び１５３は、チャネルアダプタ１１１として動作するための処理に加え、エラー検出処理、ポート切替え処理（これらの詳細は後述する。）を実現する。
【００１９】
データ転送部１６０は、ハブ（ＯＨＵＢ）１６１，１６２，１６３を有している。ハブ１６１は、ポートユニット１４１，１４２、マイクロプロセッサ１５１及びキャッシュメモリ１１５間のデータ転送を制御する。また、ハブ１６２は、ポートユニットユニット１４３，１４４、マイクロプロセッサ１５２及びキャッシュメモリ１１５間のデータ転送を制御する。さらに、ハブ１６３は、ポートユニット１４５、マイクロプロセッサ１５３及びキャッシュメモリ１１５間のデータ転送を制御する。
【００２０】
なお、図４を用いてチャネルアダプタ１１１の構成について説明したが、チャネルアダプタ１１６も実質的に同様の説明となるため、チャネルアダプタ１１６について図示及び説明を省略する。
【００２１】
図５は、ファイバー部１４０の構成を詳細に示す図である。ファイバーチャネルスイッチ１１とファイバー部１４０は、スプリッターＡ１９１〜１９８を介して接続されている。すなわち、８本のパスを使用してデータ転送する構成となっている。また、ポートユニット１４１は、ＳＦＰ−Ａ１７１、ＳＦＰ−Ｂ１７２及びプロトコルチップ１８１を有し、ポートユニット１４２は、ＳＦＰ−Ｃ１７３、ＳＦＰ−Ｄ１７４及びプロトコルチップ１８２を有し、ポートユニット１４３は、ＳＦＰ−Ｅ１７５、ＳＦＰ−Ｆ１７６及びプロトコルチップ１８３を有し、ポートユニット１４４は、ＳＦＰ−Ｇ１７７、ＳＦＰ−Ｈ１７８及びプロトコルチップ１８４を有している。さらに、ポートユニット１４５は、ＳＦＰ−Ｚ１７９及びプロトコルチップ１８５を有するとともに、スプリッターＢ１９９を介してスプリッターＡ１９１〜１９８と接続している。
【００２２】
スプリッターＡ１９１とＳＦＰ−Ａ１７１、スプリッターＡ１９２とＳＦＰ−Ｂ１７２がそれぞれ接続されており、プロトコルチップ１８１は、ＳＦＰ−Ａ１７１，ＳＦＰ−Ｂ１７２を介したスプリッターＡ１９１、スプリッターＡ１９２とのデータ通信を制御する。スプリッターＡ１９３とＳＦＰ−Ｃ１７３、スプリッターＡ１９４とＳＦＰ−Ｄ１７４がそれぞれ接続されており、プロトコルチップ１８２は、ＳＦＰ−Ｃ１７３，ＳＦＰ−Ｄ１７４を介したスプリッターＡ１９３、スプリッターＡ１９４とのデータ通信を制御する。スプリッターＡ１９５とＳＦＰ−Ｅ１７５、スプリッターＡ１９６とＳＦＰ−Ｆ１７６がそれぞれ接続されており、プロトコルチップ１８３は、ＳＦＰ−Ｅ１７５，ＳＦＰ−Ｆ１７６を介したスプリッターＡ１９５，スプリッターＡ１９６とのデータ通信を制御する。スプリッターＡ１９７とＳＦＰ−Ｇ１７７、スプリッターＡ１９８とＳＦＰ−Ｈ１７８がそれぞれと接続されており、プロトコルチップ１８４は、ＳＦＰ−Ｇ１７７、ＳＦＰ−Ｈ１７８を介したスプリッターＡ１９７、スプリッターＡ１９８とのデータ通信を制御する。
【００２３】
ここで、スプリッターＡ１９１〜１９８及びスプリッターＢ１９９の構成について説明する。先ず、スプリッターＡ１９１〜１９８について説明する。図６は、スプリッターＡ１９１の構成を示すブロック図である。
【００２４】
図６に示すように、ファイバーチャネルスイッチ１１及びＳＦＰ−Ａ１７１、ＳＦＰ−Ｚ１７９は、スプリッターＡ１９１内部の延長コネクタ１９１Ａ〜１９１Ｆを介して接続されている。ファイバーチャネルスイッチ１１から受信したデータは、延長コネクタ１９１Ａを介して延長コネクタ１９１Ｃ，１９１Ｅに入力され、そのデータは延長コネクタ１９１ＣからＳＦＰ−Ａ１７１へ、延長コネクタ１９１ＥからＳＦＰ−Ｚ１７９へ入力される。一方、ＳＦＰ−Ａ１７１，ＳＦＰ−Ｚ１７９からそれぞれ受信されたデータは、延長コネクタ１９１Ｄ，１９１Ｆを介して延長コネクタ１９１Ｂに入力され、そのデータはファイバーチャネルスイッチ１１に入力される。
【００２５】
なお、ファイバーチャネルスイッチ１１、延長コネクタ１９１Ａ〜１９１Ｆ、ＳＦＰ−Ａ１７１，ＳＦＰ−Ｚ１７９はそれぞれファイバーケーブルで接続されている。また、スプリッターＡ１９２〜１９８については、スプリッターＡ１９１における説明と実質的に同様な説明となるため、図示及び説明を省略する。
【００２６】
次に、スプリッターＢ１９９について説明する。図７は、スプリッターＢ１９９の構成を示すブロック図である。図７に示すように、スプリッターＡ１９１〜１９８及びＳＦＰ−Ｚ１７９は、スプリッターＢ１９９内部の延長コネクタ１９９Ａ〜１９９Ｒを介して接続されている。スプリッターＡ１９１から延長コネクタ１９９Ａを介して受信したデータは、延長コネクタ１９９Ｑを介してＳＦＰ−Ｚ１７９に入力される。他のスプリッターＡから延長コネクタを介して受信されたデータも、同様に延長コネクタ１９９Ｑを介してＳＦＰ−Ｚ１７９に入力される。一方、ＳＦＰ−Ｚ１７９からスプリッターＢ１９９から延長コネクタ１９９Ｒを介して入力されるデータは、延長コネクタ１９９Ｂを介してスプリッターＡ１９１に入力される。他のスプリッターＡ１９２〜１９８に入力されるデータもスプリッターＡ１９１の場合と同様に、延長コネクタ１９９Ｒ、それぞれのスプリッターＡに対応する延長コネクタを介して入力される。
【００２７】
次に、ＳＦＰ−Ａ１７１の構成について説明する。図８は、ＳＦＰ−Ａ１７１の構成を示すブロック図である。ＳＦＰ（Small Form factor Pluggable media）は、ファイバーケーブルとストレージ装置間で、シグナルの変換に利用するオプティカルトランシーバである。なお、この第１の実施形態では、ＳＦＰを用いているが、例えば、ＧＢＩＣ（Gigabit Interface Converter）／ｍｉｎｉ−ＧＢＩＣなどの光モジュールをＳＦＰ−Ａ１７１に代えて使用する構成でも良い。すなわち、一般的な光モジュールを用いることができる。
【００２８】
図８に示すように、ＳＦＰ−Ａ１７１は、受信部１７１Ａと送信部１７１Ｂを有している。なお、受信部１７１Ａは、ファイバーケーブルを介してファイバーチャネルスイッチ１１からデータを受信し、プロトコルチップ１８１へデータを送信する。送信部１７１Ｂは、プロトコルチップ１８１から受信したデータを、ファイバーケーブルを介してファイバーチャネルスイッチ１１へ送信する。なお、図８においては、ファイバーチャネルスイッチ１１及びプロトコルチップ１８１の図示を省略している。以下では、受信部１７１Ａ及び送信部１７１Ｂの詳細について説明する。
【００２９】
受信部１７１Ａは、受光部１７１Ｃと、増幅部１７１Ｄを有している。受光部１７１Ｃは、ファイバーケーブルを介してファイバーチャネルスイッチ１１から受信した光信号を電気信号に変換する。増幅部１７１Ｄは、受光部１７１Ｃで変換された電気信号を増幅してプロトコルチップ１８１へ送信する。一方、送信部１７１Ｂは、ＡＣ変換部１７１Ｅ、発光部１７１Ｆ、レベル監視部１７１Ｇ及び異常監視部１７１Ｈを有している。ＡＣ変換部１７１Ｅは、プロトコルチップ１８１からの電気信号を光成分へ変換する。発光部１７１Ｆは、ＡＣ変換部１７１Ｅで変換された光成分に基づいて、レーザによりファイバーケーブルを介してファイバーチャネルスイッチ１１へ出力する。また、レベル監視部１７１Ｇは、発光部１７１Ｆから出力されるレーザのレベルを監視する。異常監視部１７１Ｈは、予め設定された基準レベル以外の値を検出したときは、異常ステータスをプロトコルチップ１８１へ送信する。そして、レベル監視部１７１Ｇ及び異常監視部１７１Ｈは、プロトコルチップ１８１より前記送信した異常ステータスに応答されたレーザを遮断するための信号を受信すると、発光部１７１Ｆのレーザの出力を停止する。
【００３０】
なお、ＳＦＰ−Ｂ１７２〜ＳＦＰ−Ｚ１７９については、ＳＦＰ−Ａ１７１と実質的に同様な説明となるため、図示及び説明を省略する。
【００３１】
図９は、マイクロプロセッサ部１５０の構成を詳細に示す図である。図９においては、ポートユニット１４１〜１４５も図示しているが、これらの説明は図５で既述した説明と同様になるため、以下では、マイクロプロセッサ部１５０の説明を行なう。
【００３２】
図９に示すように、マイクロプロセッサ部１５０は、マイクロプロセッサ１５１〜１５３を有している。マイクロプロセッサ１５１は、バスラインを介してポートユニット１４１，１４２と接続されている。また、マイクロプロセッサ１５２は、バスラインを介してポートユニット１４３、１４４と接続されている。さらに、マイクロプロセッサ１５３は、バスラインを介してポートユニット１４５と接続されている。また、各マイクロプロセッサ１５１〜１５３は、マイクロプロセッサ間通信用バスを介して通信可能に接続され、各マイクロプロセッサ１５１〜１５３の有する情報を共有できるようになっている。
【００３３】
マイクロプロセッサ１５１は、エラー検出回路２１１、切替え回路２１２、ＳＦＰ／ポート情報保存部２１３、ポートグループ情報保存部２１４及びポート情報保存部２１５を有している。なお、この第１の実施形態では、エラー検出回路２１１、切替え回路２１２はそれぞれソフトウェアにより実現しているが、ハードウェアで実現するように構成しても勿論よい。
【００３４】
エラー検出回路２１１は、ポートユニット１４１，１４２とＳＦＰ−Ａ１７１〜ＳＦＰ−Ｄ１７４におけるエラーを検出する処理を行う。切替え回路２１２は、通常ポート（ポートユニット１４１〜１４４）と、予備ポート（ポートユニット１４５）とを切替える処理を行う。ＳＦＰ／ポート情報保存部２１３は、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｚ１７９の状態を示すＳＦＰ情報テーブルと、ポートユニット１４１〜１４５の状態を示すポート情報テーブルを保存する。ポートグループ情報保存部２１４は、通常ポートと予備ポートをグループ化したことを示すポートグループテーブルを保存する。ポート情報保存部２１５は、通常ポートと予備ポートの設定情報を格納するためのポート情報テーブルを保存する。
【００３５】
なお、マイクロプロセッサ１５２、１５３は、マイクロプロセッサ１５１と同様な構成をしており、それぞれエラー検出回路２２１，２３１、切替え回路２２２，２３２、ＳＦＰ／ポート情報保存部２２３，２３３、ポートグループ情報保存部２２４，２３４、ポート情報保存部２２５，２３５を有している。これらの詳細な説明については、マイクロプロセッサ１５１での説明と同様であるため省略する。
【００３６】
次に、エラー検出回路２１１で各ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｄ１７４がエラーであるか否かを判定するための閾値を保存したＳＦＰ閾値テーブル３００について説明する。このＳＦＰ閾値テーブル３００は、マイクロプロセッサ１５１内のメモリ（図示せず）に保存される。図１０は、ＳＦＰ閾値テーブル３００の一例を示す図である。
【００３７】
図１０に示すように、ＳＦＰ閾値テーブル３００は、監視項目を保存する監視項目欄３１０及び閾値を保存する閾値欄３２０を有している。監視項目欄３１０は、各ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｄ１７９の温度、電流、電圧、受光パワー及び発光パワーを監視するための温度（Temperature）欄３３１、電流（Current）欄３３２、電圧（Voltage）欄３３３、受光パワー（RX Power）欄３３４及び発光パワー（TX Power）欄３３５が設けられている。なお、温度欄３３１、電流欄３３２、電圧欄３３３、受光パワー欄３３４及び発光パワー欄３３５に保存される情報単位は、温度の単位は“Centigrade”、電流の単位は“mAmps”、電圧の単位は“mVolts”、受光パワーの単位は“uWatts”、発光パワーの単位は“uWatts”である。また、閾値欄３２０には、温度欄３３１、電流欄３３２、電圧欄３３３、受光パワー欄３３４及び発光パワー欄３３５に対応して、温度、電流、電圧、受光パワー及び発光パワーの閾値が保存される。閾値欄３２０には、温度の閾値として“-20~85”、電流の閾値として“0~20”、電圧の閾値として“3000~3600”、受光パワーの閾値として“158~1000”、発光パワーの閾値として“126~562”が保存されている。なお、図１０に示すＳＦＰ閾値テーブル３００に保存されている閾値は一例であり、閾値の値はこれらに限られるものではない。
【００３８】
次に、エラー検出回路２１１で各ポートＡ〜ポートＤがエラーであるか否かを判定するための閾値を保存したポート閾値テーブル４００について説明する。このポート閾値テーブル４００は、マイクロプロセッサ１５１内のメモリ（図示せず。）に保存される。図１１は、ポート閾値テーブル４００の一例を示す図である。なお、エラー検出回路２１１は、各ポートＡ〜ポートＤで検出したエラーをカウントし、閾値を越えたか否かを監視する。
【００３９】
図１１に示すように、ポート閾値テーブル４００は、監視項目を保存する監視項目欄４１０及び閾値欄４２０を有している。監視項目欄４２０は、“enc in”欄４３１、“enc out”欄４３２、“crc error”欄４３３、“too shrt”欄４３４、“too long”欄４３５、“bad eof”欄４３６、“disk C3”欄４３７、“link fail”欄４３８、“loss sync”欄４３９、“loss sig”欄４４０、“frjt”欄４４１及び“fbsy”欄４４２を有している。
【００４０】
“enc in”欄４３１の保存される“enc in”は、フレーム内のエンコーディングエラーである。“enc out”欄４３２に保存される“enc out”は、フレーム外のエンコーディングエラーである。“crc error”欄４３３に保存される“crc error”は、ＣＲＣ（Cyclic Redundancy Check）のエラーを示している。なお、ＣＲＣとは、巡回冗長調査のことであり、データ伝送等において、データが正しく伝送できたかどうかを検査するための方法の１つである。“too shrt”欄４３４に保存される“too shrt”は、最小フレームより短いフレームを示している。“too long”欄４３５に保存される“too long”は、最大フレームより長いフレームを示している。“bad eof”欄４３６に保存される“bad eof”は、不良なエンドオブフレームのデリミタフレームを示している。“disk C3”欄４３７に保存される“disk C3”は、破棄されたクラス３のフレームを示している。“link fail”欄４３８に保存される“link fail”は、リンク失敗（LF1又はLF2状態）を示している。“loss sync”欄４３９に保存される“loss sync”は、同期失敗を示している。“loss sig”欄４４０に保存される“loss sig”は、シグナル損失を示している。“frjt”欄４４１に保存される“frjt”は、“Fabric Reject”（リジェクトフレーム：Fiber規格上のフレーム（Class-F））によって拒否されたフレームを示している。“fbsy”欄４４２に保存される“fbsy”は、“Fabric busy”（ビジーフレーム：Fiber規格上のフレーム（Class-F））によってビジーになったフレームを示している。
【００４１】
閾値欄４２０には、例えば、“enc in”欄４３１、“enc out”欄４３２、“crc error”欄４３３、“too shrt”欄４３４、“too long”欄４３５、“bad eof”欄４３６、“disk C3”欄４３７、“link fail”欄４３８、“loss sync”欄４３９、“loss sig”欄４４０、“frjt”欄４４１及び“fbsy”欄４４２の各欄に応じて“１”、“１”、“１”、“１”、“１”、“１”、“１”、“４”、“４”、“４”、“１”、“１”が保存される。なお、図１１に示すポート閾値テーブル４００に設定されている閾値は一例であり、閾値の値はこれらに限るものではない。
【００４２】
上記ＳＦＰ閾値テーブル３００、ポート閾値テーブル４００は、エラー検出回路２２１、２３１でも同様な閾値のものが用いられる。
【００４３】
図１２は、ＳＦＰ情報テーブル５００の一例を示す図である。ＳＦＰ情報テーブル５００は、マイクロプロセッサ１５１内のＳＦＰ／ポート情報保存部２１３に作成されるテーブルである。ＳＦＰ情報テーブル５００は、各ＳＦＰ−Ａ１７１〜ＳＦＰ−１７９の温度、電流、電圧、受光パワー、及び発光パワーの状態を保存するテーブルである。なお、各マイクロプロセッサ１５１〜１５３は、既述のようにマイクロプロセッサ通信用バスで接続されているため、他のマイクロプロセッサと通信を行い、ＳＦＰに関する情報を取得して、ＳＦＰ−Ａ１７１〜ＳＦＰ−１７９の全てについての状態をＳＦＰ情報テーブル５００に保存することができる。したがって、他のマイクロプロセッサ１５２，１５３においても、同内容のＳＦＰ情報テーブル５００がＳＦＰ／ポート情報保存部２２３，２３３に作成される。
【００４４】
図１２に示すように、ＳＦＰ情報テーブル５００は、各各ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｚ１７９に対応して、温度欄５０１、電流欄５０２、電圧欄５０３、受光パワー欄５０４、発光パワー欄５０５を有している。したがって、各ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｚ１７９について、温度欄５０１に温度、電流欄５０２に電流値、電圧欄５０３に電圧値、受光パワー欄５０４に受光電力値、発光パワー欄５０５に発光電力値が作成される。例えば、ＳＦＰ−Ａ１７１に対応する温度欄５０１に“６０”、電流欄５０２に“１０”、電圧欄５０３に“３３０００”、受光パワー欄５０４に“５００”、発光パワー欄５０５に“３００”が保存される。
【００４５】
図１３は、ポート情報テーブル６００の一例を示す図である。ポート情報テーブル６００は、マイクロプロセッサ１５１内のＳＦＰ／ポート情報保存部２１３に作成されるテーブルである。各ポートＡ〜Ｈ，ポートＺで発生したエラーをカウントするためのテーブルである。なお、各マイクロプロセッサ１５１〜１５３は、既述のようにマイクロプロセッサ通信用バスで接続されているため、他のマイクロプロセッサと通信を行い、ポートに関する情報を取得して、各ポートＡ〜Ｈ，ポートＺの全てについての状態をポート情報テーブル６００に保存する。したがって、他のマイクロプロセッサ１５２，１５３においても、同内容のポート情報テーブル６００がＳＦＰ／ポート情報保存部２２３，２３３に作成される。
【００４６】
図１３に示すように、ポート情報テーブル６００は、各ポートＡ〜Ｈ，ポートＺに対応して、“enc in”欄６０１、“enc out”欄６０２、“crc error”欄６０３、“too shrt”欄６０４、“too long”欄６０５、“bad eof”欄６０６、“disk C3”欄６０７、“link fail”欄６０８、“loss sync”欄６０９、“loss sig”欄６１０、“frjt”欄６１１及び“fbsy”欄６１２を有している。したがって、各ポートＡ〜Ｈ，ポートＺについて、“enc in”欄６０１、“enc out”欄６０２、“crc error”欄６０３、“too shrt”欄６０４、“too long”欄６０５、“bad eof”欄６０６、“disk C3”欄６０７、“link fail”欄６０８、“loss sync”欄６０９、“loss sig”欄６１０、“frjt”欄６１１及び“fbsy”欄６１２にそれぞれエラー回数が保存される。例えば、ポートＡに対応する“enc in”欄６０１に“０”、“enc out”欄６０２に“０”、“crc error”欄６０３に“０”、“too shrt”欄６０４に“０”、“too long”欄６０５に“０”、“bad eof”欄６０６に“０”、“disk C3”欄６０７に“０”、“link fail”欄６０８に“１”、“loss sync”欄６０９に“２”、“loss sig”欄６１０に“１”、“frjt”欄６１１に“０”及び“fbsy”欄６１２に“０”が保存される。
【００４７】
図１４は、ポートグループ情報テーブル７００の一例を示す図である。ポートグループ情報テーブル７００に保存されるポートグループ情報は、通常ポートと予備ポートをグループ化した関係を示す情報である。ポートグループを設定するには、各通常ポート毎にオプションビット（フラグ）を設け、ストレージシステム１の導入時等に必要に応じてオプションビットをＯＮする。このフラグの設定は、例えば既存のストレージ装置１００の保守端末装置のポート設定画面でユーザ等により設定する。なお、このフラグの設定が“ＯＮ”となっていない通常ポートは、障害が発生したときに予備ポートに切替えられる処理は行われない。この切替え処理については、図１９及び図２０を用いて後述する。このようにポートグループ情報テーブル７００を設けることにより、ユーザ等が通常ポートに障害が発生したときに予備ポートに切替えて引き続きデータ通信を継続して実行させるか否かを選択することが可能となる。
【００４８】
図１４に示すように、ポートグループ情報テーブル７００は、各ポートＡ〜ＨとポートＺでグループ設定を行なうフラグを設定できるようになっている。フラグ“ＯＮ”はグループ設定がある場合を示し、“ＯＦＦ”はグループ設定がない場合とする。なお、デフォルト設定では、“ＯＦＦ”が設定されている。
【００４９】
図１５は、通常ポート情報テーブル８００の一例を示す図である。通常ポート情報テーブル８００は、各ポートＡ〜ポートＨ（通常ポート）の設定情報を管理するテーブルである。この通常ポート情報テーブル８００は、各マイクロプロセッサ１５１〜１５３内のメモリ（図示しない。）に保持される。
【００５０】
図１５に示すように、通常ポート情報テーブル８００は、ホストモード欄８１０とポートパラメータ欄８２０を有している。ホストモード欄８１０は、各ポートＡ〜ポートＨ毎に、ポートに接続されるホスト装置にインストールされているオペレーションシステムの種類を保存する。ホストモード欄８１０は、オペレーションシステムの種類として、ＨＰ−ＵＸ欄８１１、ＡＩＸ欄８１２、Ｓｏｌａｒｉｓ欄８１３、Ｗｉｎｄｏｗｓ（登録商標）欄８１４及びその他欄８１５を有している。オペレーションシステムと対応するいずれかの欄にフラグが立てられる。また、ポートパラメータ欄８２０は、アドレス欄８２１、ファブリック（Fabric）欄８２２、コネクション欄８２３、チャネルスピード欄８２４を有している。各ポートＡ〜ポートＨに設定されるアドレス、ファブリック、コネクション、チャネルスピードをアドレス欄８２１、ファブリック欄８２２、コネクション欄８２３、チャネルスピード欄８２４にそれぞれ保存する。
【００５１】
図１６は、予備ポート情報テーブル９００の一例を示す図である。予備ポート情報テーブル９００は、通常ポートに障害が発生したときの予備として使用されるポートＺに関する情報を保存するテーブルである。このため、予備ポート情報テーブル９００は、通常ポート情報テーブル８００の内容を確保するためのエリアを有している。なお、通常／予備ポート切り替え時に通常ポート情報テーブル８００に保存された情報又は切替えるポートの情報を予備ポート情報テーブル９００にコピーする。
【００５２】
図１６に示すように、予備ポート情報テーブル９００は、通常ポート情報テーブル８００と同様に、各ポートＡ〜ポートＨに、ホストモード欄８１０及びポートパラメータ欄８０２を有している。これらホストモード８１０欄及びポートパラメータ欄８２０に保存される情報の内容は、予備ポートテーブル８００における説明と符号が異なるのみであるため説明を省略する。
【００５３】
次に、マイクロプロセッサ１５１のエラー検出回路２１１が実行する処理について説明する。エラー検出回路２１１は、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７４の閾値を監視するＳＦＰ閾値監視処理とポートＡ〜ポートＨの閾値を監視するポート閾値監視処理を実行する。
【００５４】
先ず、ＳＦＰ閾値を監視するＳＦＰ閾値監視処理について説明する。図１７は、このＳＦＰ閾値監視処理を示すフローチャートである。このＳＦＰ監視処理は、ストレージ装置１００に電源が投入後、常時行なわれる処理である。
【００５５】
先ず、ステップＳ１０１において、エラー検出回路２１１は、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｄ１７４が保有している情報を読み込む。そして、ステップＳ１０２において、エラー検出回路２１１は、読み込んだ情報に基づいて、ＳＦＰ情報テーブル５００を更新する。次に、ステップＳ１０３において、エラー検出回路２１１は、マイクロプロセッサ１５１内のメモリからＳＦＰ閾値テーブル３００に保存されている閾値を読み込む。次に、ステップＳ１０４において、エラー検出回路２１１は、ＳＦＰ／ポート情報保存部２１３のＳＦＰ情報テーブル５００に保存されている情報を読み込む。
【００５６】
そして、ステップＳ１０５において、エラー検出回路２１１は、ＳＦＰ情報チェックを行う。このチェックは、ステップＳ１０３で読み込んだＳＦＰ閾値テーブル３００の内容と、ステップＳ１０４で読み込んだＳＦＰ情報テーブル５００の内容とを比較し、閾値以上となっているものがあるかないかをチェックすることにより行なう。
【００５７】
次に、ステップＳ１０６において、ステップＳ１０５のチェック結果に基づいてエラー検出回路２１１は、閾値以上となっているＳＦＰが、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｄ１７４にあるか否かを判定する。閾値以上となっているＳＦＰがあれば（Ｓ１０６：ＹＥＳ）、ステップＳ１０７において、エラー検出回路２１１は、ＳＦＰ閾値以上メッセージをマイクロプロセッサ１５１内部のログへ出力する。このようにＳＦＰ閾値以上メッセージを出力した後、又はステップＳ１０６で閾値以上のＳＦＰがなければ（Ｓ１０６：ＮＯ）、エラー検出回路２１１は、ステップＳ１０１の処理に戻り、上述した処理を繰り返す。
【００５８】
次に、ポート閾値を監視するポート閾値監視処理について説明する。図１８は、このポート閾値監視処理を示すフローチャートである。このポート閾値監視処理は、ストレージ装置１００に電源が投入された後、常時行なわれる処理である。
【００５９】
先ず、ステップＳ２０１において、エラー検出回路２１１は、ポートＡ〜ポートＤが保有している情報を読み込む。そして、ステップＳ２０２において、エラー検出回路２１１は、読み込んだ情報に基づいて、ポート情報テーブル６００を更新する。次に、ステップＳ２０３において、エラー検出回路２１１は、マイクロプロセッサ１５１内のメモリからポート閾値テーブル４００に保存されている情報を読み込む。次に、ステップＳ１０４において、エラー検出回路２１１は、ＳＦＰ／ポート情報保存部２１３のポート情報テーブル６００に保存されている情報を読み込む。
【００６０】
そして、ステップＳ２０５において、エラー検出回路２１１は、ポート情報のチェックを行う。このチェックは、ステップＳ２０３で読み込んだポート閾値テーブル４００の内容と、ステップＳ２０４で読み込んだポート情報テーブル６００の内容とを比較し、閾値以上となっているものがあるかないかをチェックする。
【００６１】
次に、ステップＳ２０６において、ステップＳ２０５のチェック結果に基づいてエラー検出回路２１１は、閾値以上のポートがポートＡ〜ポートＤにあるか否かを判定する。閾値以上となっているポートがあれば（Ｓ２０６：ＹＥＳ）、ステップＳ２０７において、エラー検出回路２１１は、ポート閾値以上メッセージをマイクロプロセッサ１５１内部のログへ出力する。このようにポート閾値以上メッセージを出力した後、又はステップＳ２０６で閾値以上のポートがなければ（Ｓ２０６：ＮＯ）、エラー検出回路２１１は、ステップＳ２０１の処理に戻り、上述した処理を繰り返す。
【００６２】
図１７及び図１８を用いてエラー検出回路２１１が実行する処理について説明したが、エラー検出回路２２１，２３１も実質的に同様な処理を実行する。このように、ポートＡ〜ポートＨ，ポートＺの状態、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８，ＳＦＰ−Ｚ１７９の状態を常時監視する処理を実行することによりポートＡ〜ポートＨ，ポートＺの状態、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８，ＳＦＰ−Ｚ１７９の状態を的確に把握することができる。
【００６３】
次に、マイクロプロセッサ１５１内部のログにＳＦＰ閾値以上メッセージ又はポート閾値以上メッセージが出力されたときに実行されるＳＦＰ（ポート）を切替える切替え回路２１２の処理について説明する。図１９及び図２０は、切替え回路２１２の処理を示すフローチャートである。なお、図１９は当該処理の前半を示しており、図２０は当該処理の後半を示すものである。
【００６４】
先ずステップＳ３０１において、ＳＦＰ又はポート閾値以上メッセージがマイクロプロセッサ１５１の内部ログに出力されると、切替え回路２１２は、当該メッセージに対応するＳＦＰ又はポートについて、ＳＦＰ情報テーブル３００、ポート情報テーブル４００から番号を読み込む。
【００６５】
そして、ステップＳ３０２において、切替え回路２１２は、閾値以上となったＳＦＰ又はポートが通常ポート（ポートＡ〜ポートＨ）であるか否かを判定する。通常ポートでないと判定すると（Ｓ３０２：ＮＯ）、すなわち、予備ポート（ポートＺ）であると判定すると、切替え回路２１２は、マイクロプロセッサ１５１の内部のログに予備ポート無しメッセージを出力する。既に予備ポートが使用されているため切替え先がないためである。そして、ステップＳ３０５において、切替え回路２１２は、予備ポートは使用できないため、予備ポートを閉塞し、処理を終了する。
【００６６】
ステップＳ３０２で通常ポートであると判定したときは（Ｓ３０２：ＹＥＳ）、ステップＳ３０５において、切替え回路２１２は、ポートグループ情報保存部２１４からポートグループ情報を読み込む。そして、ステップＳ３０６において、対象となっているポートが、ポートグループ有りか否かを判定する。具体的には、対象となっているポートのフラグの設定が“ＯＮ”となっているか否かで判定される。ポートグループが設定されていないと判定されると（Ｓ３０６：ＮＯ）、ステップＳ３０７において、切替え回路２１２は、マイクロプロセッサ１５１の内部ログへポートグループ無しメッセージを出力する。そして、ステップＳ３０８において、切替え回路２１２は、対象となっている通常ポートを閉塞し、処理を終了する。ポートグループが設定されていないため、ポートの切り替え先がないためである。
【００６７】
ステップＳ３０６でポートグループがあると判定したときは（Ｓ３０６：ＹＥＳ）、ステップＳ３０９において、切替え回路２１２は、ＳＦＰ情報テーブル３００又はポート情報テーブル４００を読み込む。そして、ステップＳ３１０において、切替え回路２１２は、予備ポートのＳＦＰ及びポートが、閾値以上か否かを判定する。閾値以上であると判定すると（Ｓ３１０：ＹＥＳ）、ステップＳ３１１において、切替え回路２１２は、マイクロプロセッサ１５１の内部ログへ予備ポート使用不可メッセージを出力する。予備ポートは閾値以上となっているため使用ができないからである。そして、ステップＳ３１２において、切替え回路２１２は、対象となっている通常ポート及び予備ポートを閉塞し、処理を終了する。
【００６８】
ステップＳ３１０で閾値以上でないと判定したときは（Ｓ３１０：ＹＥＳ）、ステップＳ３１３において、切替え回路２１２は、マイクロプロセッサ１５１の内部ログにポート切替えメッセージを出力する。そして、ステップＳ３１４において、切替え回路２１２は、通常ポート情報テーブル８００のポート情報を予備ポート情報テーブル９００へコピーする。続いて、ステップＳ３１５において、切替え回路２１２は、コピーが完了したか否かを判定する。コピーが完了しない場合は（Ｓ３１５：ＮＯ）、ステップＳ３１６において、切替え回路２１２は、ポート情報のコピー失敗メッセージをマイクロプロセッサ１５１の内部ログに出力する。そして、ステップＳ３１７において、切替え回路２１２は、通常ポート及び予備ポートを閉塞し、処理を終了する。ポート情報のコピーが完了しなければ、予備ポートが使用できないからである。
【００６９】
ステップＳ３１５でコピーが完了したと判定したときは（Ｓ３１５：ＹＥＳ）、ステップＳ３１８において、切替え回路２１２は、予備ポートにイネーブルコマンドを発行し、予備ポートをイネーブルにする。そして、ステップＳ３１９において、切替え回路２１２は、予備ポートのイネーブルが完了したか否かを判定する。予備ポートのイネーブルが完了しない場合は（Ｓ３１９：ＮＯ）、ステップＳ３２０において、切替え回路２１２は、マイクロプロセッサ１５１の内部ログに予備ポートイネーブル失敗メッセージを出力する。そして、ステップＳ３２１において、通常ポート及び予備ポートを閉塞し、処理を終了する。予備ポートのイネーブルが完了しなければ、予備ポートは使用できないからである。
【００７０】
ステップＳ３１９で予備ポートのイネーブルが完了したと判定したときは（Ｓ３１９：ＹＥＳ）、ステップＳ３２２において、切替え回路２１２は、対象となる通常ポートにディスエイブルコマンドを発行し、当該対象となる通常ポートをディスエイブルにする。そして、ステップＳ３２３において、切替え回路２１２は、当該対象となる通常ポートのディスエイブルが完了したか否かを判定する。当該対象となる通常ポートのディスエイブルが完了しない場合は（Ｓ３２３：ＮＯ）、ステップＳ３２４において、切替え回路２１２は、マイクロプロセッサ１５１の内部ログに通常ポートディスエイブル失敗メッセージを出力する。そして、ステップＳ３２５において、切替え回路２１２は、対象となる通常ポートを閉塞し、処理を終了する。
【００７１】
ステップＳ３２３で当該対象となる通常ポートのディスエイブルが完了したと判定した場合は（Ｓ２３３：ＹＥＳ）、ステップＳ３２６において、切替え回路２１２は、ＳＦＰ情報テーブル３００及びポート情報テーブル４００から対象となる通常ポートの情報を読み込む。すなわち、予備ポートに切替えた通常ポートの情報を読み込む。ステップＳ３２７において、切替え回路２１２は、通常ポートのポート情報がポート閾値テーブル２００に設定されている閾値以内か否かを判定する。閾値以内と判定されなければ（Ｓ３２７：ＮＯ）、処理は、ステップＳ３２６へ戻る。
【００７２】
ステップＳ３２７で閾値以内と判定したときは（Ｓ３２７：ＹＥＳ）、ステップＳ３２８において、切替え回路２１２は、マイクロプロセッサ１５１の内部ログにポート切替えメッセージを出力する。なお、予備ポートに切替えられていた通常ポートが閾値以内になった場合は、障害が発生していた通常ポートが、例えば、ユーザにより交換等が行なわれ正常な状態に戻り、予備ポートを使用する必要がなくなった場合である。そして、ステップＳ３２９において、切替え回路２１２は、対象となる通常ポートにイネーブルコマンドを発行し、その通常ポートをイネーブルにする。そして、ステップＳ３３０において、切替え回路２１２は、対象となる通常ポートのイネーブルが完了したか否かを判定する。
【００７３】
ステップＳ３３０でイネーブルが完了しない場合は（Ｓ３３０：ＮＯ）、ステップＳ３３１において、切替え回路２１２は、マイクロプロセッサ１５１の内部ログに通常ポートイネーブル失敗メッセージを出力する。そして、ステップＳ３３２において、切替え回路２１２は、通常ポートを閉塞し、処理を終了する。
【００７４】
ステップＳ３３０でイネーブルが完了した場合は（Ｓ３３０：ＹＥＳ）、ステップＳ３３３において、切替え回路２１２は、予備ポートにディスエイブルコマンドを発行し、予備ポートをディスエイブルにする。そして、ステップＳ３３４において、切替え回路２１２は、予備ポートのディスエイブルが完了したか否かを判定する。ステップＳ３３４で予備ポートのディスエイブルが完了しない場合は（Ｓ３３４：ＮＯ）、ステップＳ３３５において、切替え回路２１２は、マイクロプロセッサ１５１の内部ログに予備ポートディスエイブル失敗メッセージを出力する。そして、ステップＳ３３６において、切替え回路２１２は、予備ポートを閉塞し、ステップＳ３０１の処理へ戻る。
【００７５】
一方、ステップＳ３３４で予備ポートのディスエイブルが完了した場合は（Ｓ３３４：ＹＥＳ）、処理は、ステップＳ３０１へ戻る。そして、マイクロプロセッサ１５１内部のログにＳＦＰ閾値以上メッセージ又はポート閾値以上メッセージが再度出力されると、上述した処理を再び実行する。
【００７６】
この第１の実施形態のストレージシステム１によると、ストレージ装置１００のサーバ１０とのファイバー部１４０内のポートＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８のいずれかに障害が発生した場合に、サーバ１０とのデータの授受を障害が発生したＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８のいずれかからＳＦＰ−Ｚ１７９に切替えてデータ通信を継続して行なうことができる。したがって、ストレージ装置１００側でＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８のいずれかからＳＦＰ−Ｚ１７９への切替えを行なうことができるので、サーバ１０によるパス交替の処理は不要となる。
【００７７】
なお、上記第１の実施形態では、ストレージ装置１００は、サーバ１０との接続のインタフェースを、ファイバー部１４０とした場合で説明しているが、本発明はファイバーケーブルによる接続を行わない他のインフェースに対しても適用することができるものである。
【００７８】
（第２の実施形態）
次に第２の実施形態について説明する。この第２の実施形態は、ファイバー部１４０内に予備ポートを２つ設けた場合について説明する。なお、第１の実施形態と同様な要素については同様な符号を付すこととし、詳細な説明は省略する。また、この第２の実施形態では予備ポートをファイバー部１４０内に２つ設けた場合で説明するが、３つ以上予備ポートを設ける構成としても良い。
【００７９】
図２１は、ファイバー部１４０の構成を示す図である。ファイバー部１４０は、スプリッターＢ１９９Ａ，１９９Ｂ、予備ポートであるポート１４５Ａ，１４５Ｂを含んでいる。また、ポート１４５Ａは、ＳＦＰ−Ｚ１７９Ａ、プロトコルチップ１８５Ａを有しており、ポート１４５Ｂは、ＳＦＰ−Ｚ１７９Ｂ、プロトコルチップ１８５Ｂを有している。さらに、スプリッターＢ１９９Ａは、スプリッターＡ１９１〜１９４と接続されており、スプリッターＢ１９９Ｂは、スプリッターＡ１９５〜１９８と接続されている。
【００８０】
このようにファイバー部１４０を構成することにより、ストレージシステム１は、通常ポートであるポート１９１〜１９４に障害が発生したときは予備ポートであるポート１４５Ａに切替えてストレージ装置１００とサーバ１０のデータの授受を行なうことができ、通常ポートであるポート１９５〜１９８に障害が発生したときは予備ポートであるポート１４５Ｂに切替えてストレージ装置１００とサーバ１０とのデータの授受を継続して行なうことができる。
【００８１】
このように予備ポートを２つ設ける構成にしても第１の実施の形態と同様な効果を奏すことができる。さらに、予備ポートを２つ設けることにより、２つの通常ポートに障害が同時に発生しても対応することができる。
【００８２】
（ゾーンニング機能との差異）
なお、ファイバーチャネルスイッチには、ゾーンニングという機能があることが知られている。このゾーニングは、ＳＡＮ（Storage Area Network）内に論理デバイスのサブセットを作成するためのファブリック管理サービスである。ゾーンニングは、管理やアクセス制御のために、リソースを分割するものである。
【００８３】
ゾーンニングにより、より高度にＳＡＮを分割することが可能となり、また、異なるオペレーティング環境にバリアをつくり、定義ユーザ・グループを作成して、論理ファブリックのサブセットを設定することが可能となる。また、ファブリック内にテスト領域（保守領域）を分けて作成することができる。したがって、ゾーンニングにより、定義されたユーザ・グループ内のそれぞれの目的に合うように、柔軟にＳＡＮを管理することができる。
【００８４】
ゾーンニング機能は、ＳＡＮ分割、異種ＯＳ（Operation System）接続が可能であるがポートユニットの切替えを実現することはできない。また、交代パスの切替えを上位装置内に配置されるパス切り替えソフトウェアで実現する。これに対し、本実施形態の予備ポートを用いる構成は、ＳＡＮ分割、異種ＯＳの接続は実現できないが、ポートユニットの切替えを行なうことができる。また、交替パスへの切替えをストレージ装置１００の内部機能として実現できる点が異なっている。
【００８５】
（他の実施形態）
なお、上記第１の実施形態では、本発明をサーバ１０と、このサーバ１０とファイバーケーブルを介して接続されるストレージ装置１００を含み、ストレージ装置１００は、サーバ１０と複数のＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８を用いてデータ通信を行なうチャネルアダプタ１１１内のファイバー部１４０を有するストレージシステム１であって、チャネルアダプタ１１１は、サーバ１０とデータ通信を行なうＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８と、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８に代えてサーバ１０とデータ通信を行なうＳＦＰ−Ｚ１７９と、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８のいずれかに障害が発生したときにその障害が発生したＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８のいずれかをＳＦＰ−Ｚ１７９に切り替えるマイクロプロセッサ１５１〜１５３とを備える場合で説明したが、本発明はこのような構成に限られるものではない。
【００８６】
さらに、マイクロプロセッサ１５１〜１５３は、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８に障害が発生したか否かを検出するための閾値を所定の項目（３３１〜３３５，４３１〜４４２）毎に設定するＳＦＰ閾値テーブル３００、ポート閾値テーブル４００と、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８が、ＳＦＰ閾値テーブル３００、ポート閾値テーブル４００に設定された項目毎に設定された閾値以上となったか否かを監視するエラー検出回路２１１とを有し、マイクロプロセッサ１５１〜１５３は、エラー検出回路２１１が、設定された項目毎に設定された閾値のいずれか以上となったことを監視したときに障害が発生したと判定する場合で説明しているが、本発明はこのような構成に限られるものではない。
【００８７】
さらに、マイクロプロセッサ１５１〜１５３は、障害が発生したＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８のいずれかからＳＦＰ−Ｚ１７９に切替えた後、その障害が発生したＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８のいずれか設定された項目が全てＳＦＰ閾値テーブル３００、ポート閾値テーブル４００に設定された閾値以上でなくなったか否かを監視する監視処理部（Ｓ３２６，Ｓ３２７）を有し、マイクロプロセッサ１５１は、監視処理部（Ｓ３２６，Ｓ３２７）で設定された項目が全て閾値以上でなくなった場合、ＳＦＰ−Ｚ１７９を障害が発生したＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８のいずれかに切替える場合で説明したが、本発明はこのような構成に限られるものではない。
【００８８】
ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８は、サーバ１０内のファイバーチャネルスイッチ１１内のスイッチと１対１で対応するとともに、ＳＦＰ−Ａ１７１〜ＳＦＰ−Ｈ１７８とスイッチは、それぞれスプリッターＡ１９１〜１９８を介して接続してサーバ１０とデータ通信を行い、ＳＦＰ−Ｚ１７９は、スプリッターＡ１９１〜１９８とそれぞれと接続されたスプリッターＢ１９９と接続してサーバ１０とデータ通信を行なう場合で説明したが、本発明はこのような構成に限られるものではない。
【００８９】
なお、上記各実施形態では、予備ポートを設け通常ポートのいずれかに障害が発生したときに予備ポートを用いてデータ授受の継続を行なう場合で説明しているが、予備ポートを設けずに通常ポートのいずれかに障害が発生したときに他の通常ポートを用いてデータの授受の継続を行なうように構成することも可能である。
【産業上の利用可能性】
【００９０】
本発明は、ストレージシステム及びストレージシステムの光モジュール切替え方法に広く適用することができる。
【図面の簡単な説明】
【００９１】
【図１】本発明の第１の実施形態に係わるストレージシステムの構成を示す図である。
【図２】同実施形態に係わる大型のストレージシステムのインタフェース部の構成を説明するための図である。
【図３】同実施形態に係わる小型のストレージシステムのインタフェース部の構成を説明するための図である。
【図４】同実施形態に係わるチャネルアダプタの構成を示すブロック図である。
【図５】同実施形態に係わるファイバー部の構成を詳細に示す図である。
【図６】同実施形態に係わるスプリッターＡの構成を示すブロック図である。
【図７】同実施形態に係わるスプリッターＢの構成を示すブロック図である。
【図８】同実施形態に係わる光モジュール（ＳＦＰ−Ａ）の構成を示すブロック図である。
【図９】同実施形態に係わるマイクロプロセッサ部の構成を詳細に示す図である。
【図１０】同実施形態に係わるＳＦＰ閾値テーブルの一例を示す図である。
【図１１】同実施形態に係わるポート閾値テーブルの一例を示す図である。
【図１２】同実施形態に係わるＳＦＰ情報テーブルの一例を示す図である。
【図１３】同実施形態に係わるポート情報テーブルの一例を示す図である。
【図１４】同実施形態に係わるポートグループ情報テーブルの一例を示す図である。
【図１５】同実施形態に係わる通常ポート情報テーブルの一例を示す図である。
【図１６】同実施形態に係わる予備ポート情報テーブルの一例を示す図である。
【図１７】同実施形態に係わるＳＦＰ閾値監視処理を示すフローチャートである。
【図１８】同実施形態に係わるポート閾値監視処理を示すフローチャートである。
【図１９】同実施形態に係わるポート切替え処理の前半を示すフローチャートである。
【図２０】同実施形態に係わるポート切替え処理の後半を示すフローチャートである。
【図２１】本発明の第２の実施形態に係わるファイバー部の構成を詳細に示す図である。
【符号の説明】
【００９２】
１…ストレージシステム、１０…サーバ、１１…ファイバーチャネルスイッチ、１００…ストレージ装置、１１０…ディスクコントローラ、１３０…ディスクユニット、１４０…ファイバー部、１４１〜１４５…ポートユニット、１５０…マイクロプロセッサ部、１５１〜１５３…マイクロプロセッサ、１６０…データ転送部、１７１〜１７９…光モジュール（ＳＦＰ）、１８１〜１８５…プロトコルチップ、１９１〜１９８…スプリッターＡ、１９９，１９９Ａ，１９９Ｂ…スプリッターＢ、３００…ＳＦＰ閾値テーブル、４００…ポート閾値テーブル、５００…ＳＦＰ情報テーブル、６００…ポート情報テーブル、７００…ポートグループ情報テーブル、８００…通常ポート情報テーブル、９００…予備ポート情報テーブル
【図１】
2009110386.tif 000003
【図２】
2009110386.tif 000004
【図３】
2009110386.tif 000005
【図４】
2009110386.tif 000006
【図５】
2009110386.tif 000007
【図６】
2009110386.tif 000008
【図７】
2009110386.tif 000009
【図８】
2009110386.tif 000010
【図９】
2009110386.tif 000011
【図１０】
2009110386.tif 000012
【図１１】
2009110386.tif 000013
【図１２】
2009110386.tif 000014
【図１３】
2009110386.tif 000015
【図１４】
2009110386.tif 000016
【図１５】
2009110386.tif 000017
【図１６】
2009110386.tif 000018
【図１７】
2009110386.tif 000019
【図１８】
2009110386.tif 000020
【図１９】
2009110386.tif 000021
【図２０】
2009110386.tif 000022
【図２１】
2009110386.tif 000023