(57)【特許請求の範囲】
【請求項１】
依頼装置からのデータアクセス要求に応じて、ストレージ装置をアクセスするストレージシステムにおいて、
複数のストレージ装置と、
前記複数のストレージ装置をアクセス制御する少なくとも１つのコントローラと、
前記コントローラと前記複数のストレージ装置で情報のやり取りを行うための、情報が単一方向に循環する一対のループと、
前記各ループに設けられ、前記ループに前記複数のストレージ装置に個々に接続するための複数のスイッチを有するスイッチ回路とを有し、
前記コントローラは、前記ストレージ装置のアクセスにおいて、ループ異常を検出した時に、前記スイッチ回路に、前記ループの復旧を指示し、
前記スイッチ回路は、前記復旧の指示に応じて、前記複数のスイッチを並列に操作して、前記ストレージ装置を診断し、診断結果に応じて、異常と判定されたストレージ装置を、前記スイッチの操作により、前記ループからバイパスする
ことを特徴とするストレージシステム。
【請求項２】
前記コントローラは、前記一方のループを介する前記ストレージ装置のアクセスにおいて、前記一方のループ異常を検出した時に、前記一方のループの前記スイッチ回路に、前記ループの復旧を指示する
ことを特徴とする請求項１のストレージシステム。
【請求項３】
前記コントローラは、前記スイッチ回路の診断結果に応じて、前記異常と判定されたストレージ装置を、前記アクセス対象から切り離す
ことを特徴とする請求項１のストレージシステム。
【請求項４】
依頼装置からのデータアクセス要求に応じて、ストレージ装置をアクセスするストレージシステムの自動復旧方法において、
前記複数のストレージ装置に一対のループで接続されたコントローラの前記ストレージ装置のアクセスにおいて、ループ異常を検出するステップと、
前記ループ異常を検出したことに応じて、前記コントローラから前記ループと前記複数のストレージ装置の各々を接続する複数のスイッチを有するスイッチ回路に、前記ループの復旧を指示するステップと、
前記復旧の指示に応じて、前記スイッチ回路により前記複数のスイッチを並列に操作して、前記ストレージ装置を診断し、診断結果に応じて、異常と判定されたストレージ装置を、前記スイッチの操作により、前記ループからバイパスして、復旧するステップからなる
ことを特徴とするストレージシステムのループ異常時の自動復旧方法。
【請求項５】
前記復旧ステップは、
前記ループのスイッチ回路を制御するポート制御回路から、前記復旧指示に応じて、前記スイッチ回路に全スイッチのバイパスを指示するステップと、
前記スイッチ回路が、前記全スイッチをバイパスした後、前記ポート制御回路から、前記スイッチ回路に、前記診断を指示するステップからなる
ことを特徴とする請求項４のストレージシステムのループ異常時の自動復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ディスク装置等の複数の物理ディスク装置をループで接続したストレージシステム及びそのループ異常時の自動復旧方法に関し、特に、ループ内にある障害ストレージ装置を切り離し、バイパスして、ループを自動復旧するストレージシステム及びそのループ異常時の自動復旧方法に関する。
【背景技術】
【０００２】
磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体を利用したストレージ機器では、データ処理装置の要求で、記憶媒体を実アクセスする。データ処理装置が、大容量のデータを使用する場合には、複数のストレージ機器と制御装置とを備えたストレージシステムを利用する。
【０００３】
このようなストレージシステムでは、保存データの信頼性や、装置の信頼性を向上するため、冗長構成を採用しており、又、高速のデータ転送のため、ＦＣ＿ＡＬ（Fiber  Channel  Arbitrated  Loop）インタフェースを使用している。このＦＣ＿ＡＬループに多数のストレージ装置を接続している。このため、ループ内のストレージ装置に故障があると、ループ全体に影響を与える。従って、ループ内から故障したストレージ装置を切り離し、ループ全体への影響を排除するループ自動復旧技術が必要である。
【０００４】
従来、このＦＣ＿ＡＬループから故障したストレージ装置（磁気ディスク装置）を切り離し、ループを復旧する方法として、図１６に示す方法が知られている。
【０００５】
図１６に示すように、複数の磁気ディスク装置１６０，１６２，１６４の各々は、一対のファイバーチャネルループ１０６，１０８に、ファイバースイッチ１３０〜１３４，１４０〜１４４により接続される。一方のファイバーチャネルループ１０６は、ファイバーチャネルコネクタ１１４により、コントローラのデバイスアダプタ１０２に接続され、他方のファイバーチャネルループ１０８は、ファイバーチャネルコネクタ１１６により、コントローラのデバイスアダプタ１０４に接続される。
【０００６】
両デバイスアダプタ１０２，１０４は、コントローラの中央制御モジュール１００に接続される。従って、中央制御モジュール１００は、各磁気ディスク装置１６０，１６２，１６４に、デバイスアダプタ１０２、一方のファイバーチャネルループ１０６を介する一方のルート（ａルート）と、デバイスアダプタ１０４、他方のファイバーチャネルループ１０８を介する他方のルート（ｂルート）との両方からアクセスできる。
【０００７】
両ファイバーチャネルループ１０６，１０８には、切り離し制御部１５０，１５２が設けられている。一方の切り離し制御部１５０は、一方のファイバーチャネルループ１０６の各ファイバースイッチ１３０、１３２、１３４の切り離し（バイパス）制御を行い、他方の切り離し制御部１５２は、他方のファイバーチャネルループ１０８の各ファイバースイッチ１４０、１４２、１４４の切り離し（バイパス）制御を行う。
【０００８】
従来、図１６に示すように、中央制御モジュール１００が、一方のファイバーチャネルループ１０６がアクセス不能であることを検出した時に、切り離し制御部１５０から、順次、１磁気ディスク装置ずつ、バイパスして、ループ１０６をチエックする作業を繰り返していた（例えば、特許文献１参照）。
【０００９】
例えば、先ず、磁気ディスク装置１６０のａポート側のファイバースイッチ１３０を、バイパス状態に切り替え、磁気ディスク装置１６０を、ファイバーチャネルループ１０６から切り離し、デバイスアダプタ１０２から、ファイバーチャネルループ１０６に診断信号を流し、ループチエックする。
【００１０】
次に、磁気ディスク装置１６０のａポート側のファイバースイッチ１３０を、ループに接続し、次の磁気ディスク装置１６２のａポート側のファイバースイッチ１３２をバイパス状態に切り替え、磁気ディスク装置１６２を、ファイバーチャネルループ１０６から切り離し、デバイスアダプタ１０２から、ファイバーチャネルループ１０６に診断信号を流し、ループチエックする。
【００１１】
以下、順次、ファイバーチャネルループ１０６内の磁気ディスク装置の個々を、ループから切り離し、ループチエックする。このようにして、異常な磁気ディスク装置が特定されると、その磁気ディスク装置（図１６では、磁気ディスク装置１６２）のａポート側のスイッチ１３２を切り離す。これにより、ループ１０６は、正常に機能し、一方、磁気ディスク装置１６２は、ファイバーチャネルループ１０８側のｂポートからアクセスすることができる。
【特許文献１】特開２００１−３０６２６２号公報（図２、図３）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
通常、１つのファイバーチャネルループに数十台（例えば、最大６０台）の磁気ディスク装置が接続される。このため、従来技術のように、１ディスクずつバイパスし、ループチエックする方法では、ループの自動復旧に要する時間が、数十秒から数分程度必要であり、復旧時間が長くなる。この自動復旧動作中は、磁気ディスク装置へのアクセスは、禁止されるため、ホストのディスクアクセスの時間が長くなる。このため、従来技術では、片側ループの異常時に、復旧処理までの時間がかかり、ホストのディスクアクセスに必要な時間を長くする。
【００１３】
このホストの待ち時間を低減するために、片方のループ異常が検出されても、他方のループから磁気ディスク装置にアクセスし、両方のループが異常と判定すると、初めて、ループ復旧処理を開始する方法が採用されている。しかしながら、この方法では、片系ループは、使用できないため、処理能力が低下するため、やはり、ホストのディスクアクセス時間がそれ程、短縮できない。
【００１４】
更に、ループが自動復旧しても、リビルド／コピーバック等のＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋ）復旧処理が開始するため、一層、ホストのディスクアクセス時間が長くなる。
【００１５】
従って、本発明の目的は、ループ異常時に、早期にループを復旧処理するためのストレージシステム及びそのループ異常時の自動復旧方法を提供することにある。
【００１６】
又、本発明の他の目的は、片側のループ異常時に、早期にその片側のループを復旧処理するためのストレージシステム及びそのループ異常時の自動復旧方法を提供するにある。
【００１７】
更に、本発明の更に他の目的は、ループ異常時に、早期に障害のあるストレージ装置を特定し、そのストレージ装置をバイパスし、自動復旧するためのストレージシステム及びそのループ異常時の自動復旧方法を提供するにある。
【課題を解決するための手段】
【００１８】
この目的の達成のため、本発明のストレージシステムは、複数のストレージ装置と、前記複数のストレージ装置をアクセス制御する少なくとも１つのコントローラと、前記コントローラと前記複数のストレージ装置で情報のやり取りを行うための、情報が単一方向に循環する一対のループと、前記各ループに設けられ、前記ループに前記複数のストレージ装置に個々に接続するための複数のスイッチを有するスイッチ回路とを有し、前記コントローラは、前記ストレージ装置のアクセスにおいて、ループ異常を検出した時に、前記スイッチ回路に、前記ループの復旧を指示し、前記スイッチ回路は、前記復旧の指示に応じて、前記複数のスイッチを並列に操作して、前記ストレージ装置を診断し、診断結果に応じて、異常と判定されたストレージ装置を、前記スイッチの操作により、前記ループからバイパスする。
【００１９】
又、本発明のループ異常時の自動復旧方法は、依頼装置からのデータアクセス要求に応じて、ストレージ装置をアクセスするストレージシステムの自動復旧方法において、前記複数のストレージ装置に一対のループで接続されたコントローラの前記ストレージ装置のアクセスにおいて、ループ異常を検出するステップと、前記ループ異常を検出したことに応じて、前記コントローラから前記ループと前記複数のストレージ装置の各々を接続する複数のスイッチを有するスイッチ回路に、前記ループの復旧を指示するステップと、前記復旧の指示に応じて、前記スイッチ回路により前記複数のスイッチを並列に操作して、前記ストレージ装置を診断し、診断結果に応じて、異常と判定されたストレージ装置を、前記スイッチの操作により、前記ループからバイパスして、復旧するステップからなる。
【００２０】
更に、本発明では、好ましくは、前記コントローラは、前記一方のループを介する前記ストレージ装置のアクセスにおいて、前記一方のループ異常を検出した時に、前記一方のループの前記スイッチ回路に、前記ループの復旧を指示する。
【００２１】
更に、本発明では、好ましくは、前記コントローラは、前記スイッチ回路の診断結果に応じて、前記異常と判定されたストレージ装置を、前記アクセス対象から切り離す。
【００２２】
更に、本発明では、好ましくは、前記ループのスイッチ回路を制御するポート制御回路を更に有し、前記ポート制御回路は、復旧指示に応じて、前記スイッチ回路に全スイッチのバイパスを指示し、前記スイッチ回路が、前記全スイッチをバイパスした後、前記スイッチ回路に、前記診断を指示する。
【００２３】
更に、本発明では、好ましくは、前記スイッチ回路は、前記診断指示に応じて、前記全スイッチをループバックし、前記ストレージ装置からの信号に応じて、前記診断を実行する。
【００２４】
更に、本発明では、好ましくは、前記スイッチ回路は、前記診断の実行後、前記異常と判定されなかったストレージ装置のスイッチを前記ループに接続する。
【００２５】
更に、本発明では、好ましくは、前記コントローラは、前記診断結果に応じて、前記ループのストレージ装置の組み込み処理を実行する。
【００２６】
更に、本発明では、好ましくは、前記コントローラは、複数のストレージ装置をアクセス制御する制御ユニットと、前記スイッチ回路に接続され、前記スイッチ回路に前記復旧を指示するサービスコントローラとを有する。
【００２７】
更に、本発明では、好ましくは、前記コントローラは、前記依頼装置とのインタフェース制御のためのチャネル回路と、前記ループを介し前記ストレージ装置と情報の授受を行うデバイス回路と、前記チャネル回路と前記デバイス回路を制御し、前記依頼装置からのデータアクセス要求に応じて、前記ストレージ装置をアクセスするための制御ユニットと、前記制御ユニットに接続され、前記スイッチ回路と接続するサービスコントローラとを有する。
【００２８】
更に、本発明では、好ましくは、前記複数のストレージ装置が、ＲＡＩＤ構成である。
【００２９】
更に、本発明では、好ましくは、前記ストレージ装置が、ディスクドライブである。
【発明の効果】
【００３０】
本発明では、ループに複数のストレージ装置に個々に接続するための複数のスイッチを有するスイッチ回路を用いて、ループ異常を検出した時に、スイッチ回路に、復旧の指示し、複数のスイッチを並列に操作して、ストレージ装置を診断し、診断結果に応じて、異常と判定されたストレージ装置を、スイッチの操作により、ループからバイパスするため、ループ異常を検出した場合に、そのループに接続されたディスクドライブの診断を並列に行うことができ、ループの自動復旧までの時間を大幅に短縮できる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態を、データストレージシステムの構成、データストレージシステムの自動復旧処理、他の実施の形態の順で説明する。
【００３２】
＊＊データストレージシステムの構成＊＊
図１は、本発明の一実施の形態のデータストレージシステムの構成図、図２は、図１のコントロールモジュールの構成図、図３は、図１のＦＣスイッチの構成図、図４は、図２のＦＣマップの説明図である。図１は、１台のストレージコントローラ（コントロールモジュール）に、１台のディスクエンクロージャを接続した例を示す。
【００３３】
図１に示すように、ストレージコントローラ（コントロールモジュール）４は、コントロールユニット（キャッシュマネージャ）４０、一対のチャネルアダプタ４１及び一対のデバイスアダプタ４２を有する。また、コントローラユニット４０に、サービスマネージメントコントローラ４４が接続されている。
【００３４】
チャネルアダプタ４１は、ファイバチャネルもしくはEthernet（登録商標）によって、図示しないホストコンピュータに接続される。デバイスアダプタ４２は、例えば、ファイバチャネルのＦＣループ２−１，２−２によって、ディスクエンクロージャ２（後述する）内の各ディスクドライブ１−１〜１−ｎに接続される。
【００３５】
即ち、コントローラモジュール４の一方のディスクアダプタ４２は、第１のＦＣループ２−１を介し各ディスクドライブ１−１〜１−ｎをアクセスし、他方のディスクアダプタ４２は、第２のＦＣループ２−２を介し各ディスクドライブ１−１〜１−ｎをアクセスする。これにより、接続パスの２重化構成を実現している。
【００３６】
ディスクエンクロージャ２は、各々ポート制御回路２２−１，２２−２、ＦＣスイッチ２４−１，２４−２を搭載する一対のプリント基板２０−１，２０−２と、ディスクドライブ１−１〜１−ｎとを有する。各ＦＣスイッチ２４−１，２４−２は、図３で後述するように、各々ＦＣループ２−１，２−２に接続され、個々のディスクドライブ１−１〜１−ｎの接続、バイパス、ループバックを行う。
【００３７】
ポート制御回路（ＰＢＣと記す）２２−１，２２−２は、コントロールモジュール４のサービスマネージメントコントローラ４４に、Ｅｔｈｅｒｎｅｔ（登録商標）等のネットワークで接続され、ディスクエンクロージャ２の状態監視や、ＦＣスイッチ２４−１，２４−２の制御を行う。
【００３８】
サービスマネージメントコントトローラ（ＳＭＣと記す）４４は、ポート制御回路２２−１，２２−２からディスクエンクロージャ２の状態情報を受け、状態監視を行い、且つポート制御回路２２−１，２２−２に必要なコマンドを発行する。
【００３９】
従って、各ディスクドライブ１−１〜１−ｎは、２つの独立したＦＣループ２−１，２−２により、コントロールモジュール４に接続される。又、ここでは、１台のディスクエンクロージャ２を示しているが、このディスクエンクロージャ２が、ＦＣループ２−１，２−２に、複数台（例えば、４台）直列に接続される。
【００４０】
図２に示すように、コントロールモジュール４は、キャッシュマネージャ４０と、チャネルアダプタ（第１インタフェース部；以下、ＣＡという）４１と、デバイスアダプタ（第２インタフェース部；以下、ＤＡという）４２と、ＤＭＡ（Direct Memory Access）エンジン（通信部；以下、ＤＭＡという）４３とを有する。
【００４１】
キャッシュマネージャ４０は、ホストコンピュータからの処理要求（リード要求もしくはライト要求）に基づいて、リード／ライト処理を行なうものであり、メモリ４１０と処理ユニット（ＣＰＵ）４００と、メモリコントローラ４２０とを備える。
【００４２】
メモリ４１０は、図１で説明したディスクエンクロージャ２の複数のディスクドライブに保持されたデータの一部を保持する、所謂、複数のディスクに対するキャッシュの役割を果たすキャッシュ領域４１２と、ＦＣループテーブル４１４と、その他のワーク領域４１６とを有する。
【００４３】
処理ユニット（ＣＰＵ）４００は、メモリ４１０，チャネルアダプタ４１、デバイスアダプタ４２、ＤＭＡ４３、サービスマネージメントコントローラ４４の制御を行う。このため、１つ又は複数（図では、１つ）のＣＰＵ４００と、メモリコントローラ４２０とを有する。メモリコントローラ４２０は、メモリ４１０のリード／ライトを制御し、且つパスの切り替えを行う。
【００４４】
メモリコントローラ４２０は、メモリバス４３２を介しメモリ４１０と接続し、ＣＰＵバス４３０を介しＣＰＵ４００と接続し、更に、メモリコントローラ４２０は、４レーンの高速シリアルバス（例えば、ＰＣＩ−Ｅｘｐｒｅｓｓ）４４０を介しデバイスアダプタ４２に接続する。
【００４５】
同様に、メモリコントローラ４２０は、４レーンの高速シリアルバス（例えば、ＰＣＩ−Ｅｘｐｒｅｓｓ）４４３，４４４，４４５，４４６を介しチャネルアダプタ４１（ここでは、４つのチャネルアダプタ４１ａ，４１ｂ、４１ｃ，４１ｄ）に接続し、４レーンの高速シリアルバス（例えば、ＰＣＩ−Ｅｘｐｒｅｓｓ）４４８を介しＤＭＡ４３に接続する。
【００４６】
このＰＣＩ−Ｅｘｐｅｓｓ等の高速シリアルバスは、パケットで通信し、且つシリアルバスを複数レーン設けることにより、信号線本線を減らしても、遅延の少ない、速い応答速度で、所謂、低レンテンシで通信することができる。
【００４７】
チャネルアダプタ４１ａ〜４１ｄは、ホストコンピュータに対するインタフェースであり、チャネルアダプタ４１ａ〜４１ｄは、それぞれ異なるホストコンピュータと接続される。また、チャネルアダプタ４１ａ〜４１ｄは、それぞれ対応するホストコンピュータのインタフェース部に、バス、例えば、ファイバチャネル（Fiber Channel）やEthernet（登録商標）によって接続されることが好ましく、この場合、バスとしては、光ファイバや同軸ケーブルが用いられる。
【００４８】
さらに、これらチャネルアダプタ４１ａ〜４１ｄそれぞれは、各コントロールモジュール４の一部として構成されている。このチャネルアダプタ４１ａ〜４１ｄが、対応するホストコンピュータとキャッシュマネージャ４０とのインタフェース部として、複数のプロトコルをサポートする。
【００４９】
又、対応するホストコンピュータによって実装すべきプロトコルが同一ではないため、各チャネルアダプタ４１ａ〜４１ｄを必要に応じて容易に交換できるように、キャッシュマネージャ４０とは、別のプリント基板に実装されている。
【００５０】
例えば、チャネルアダプタ４１ａ〜４１ｄがサポートすべきホストコンピュータとの間のプロトコルとしては、上述のように、ファイバチャネルや、Ethernet（登録商標）に対応するｉＳＣＳＩ（Internet Small Computer System Interface）等がある。
【００５１】
更に、各チャネルアダプタ４１ａ〜４１ｄは、前述のように、ＰＣＩ−Ｅｘｐｒｅｓｓバスのように，ＬＳＩ（Large Scale Integration）やプリント基板の間を接続するために設計されたバス４４３〜４４６によって、キャッシュマネージャ４０と直接結合される。これにより、各チャネルアダプタ４１ａ〜４１ｄとコントローラ４０と間に要求される高いスループットを実現することができる。
【００５２】
次に、デバイスアダプタ４２は、ディスクエンクロージャの各ディスクドライブに対するインタフェースであり、ここでは、４つのＦＣ(Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ)ポートを有する。
【００５３】
又、デバイスアダプタ４２は、前述のように、ＰＣＩ−Ｅｘｐｒｅｓｓバスのように，ＬＳＩ（Large Scale Integration）やプリント基板の間を接続するために設計されたバスによって、キャッシュマネージャ４０と直接結合されている。これにより、ディスクアダプタ４２とキャッシュマネージャ４０と間に要求される高いスループットを実現することができる。
【００５４】
図２に示すように、ＤＭＡエンジン４３は、図示しない他のコントロールモジュールのキャッシュマネージャ４０間で相互に通信を行うものであり、例えば、ミラーリング処理に使用される。
【００５５】
図３により、図１のＦＣスイッチを説明する。ＦＣスイッチ２４−１（２４−２）は、各ディスクドライブ（磁気ディスク装置）１−１〜１−ｎの各々を接続、バイパス、ループバックするためのポートスイッチ２８−１，２８−２、２８−３，２８−４、・・・、２８−ｎと、ファイバーチャネルループ２−１（２−２）に、接続され、各ポートスイッチ２８−１〜２８−ｎとファイバーチャネルループ２−１（２−２）との接続制御を行うポートスイッチコントローラ２６とを有する。
【００５６】
このＦＣスイッチ２４−１（２４−２）は、図１６に示すような、各ディスクドライブを物理的にシリアルに接続するＦＣ＿ＡＬループ構成ではないが、ポートスイッチコントローラ２６が、ＦＣ＿ＡＬループ構成でのデータの送受信を論理的にエミュレートして、ディスクドライブへのリード／ライトを制御する。
【００５７】
即ち、このポートスイッチコントローラ２６は、ファイバーチャネルループ２−１（２−２）からのＦＣヘッダを解析して、該当するポートスイッチ２８−１〜２８−ｎに、ＦＣヘッダのコマンドを分配する。即ち、ループ２−１（２−２）からのリクエスト、データを、直接、該当ポートスイッチ２８−１〜２８−ｎを介し、ディスクドライブ１−１〜１−ｎとやりとりする。
【００５８】
ポートスイッチコントローラ２６は、更に、ＰＴＢＩ（Ｐｏｒｔ  Ｔｅｓｔ  Ｂｅｆｏｒｅ  Ｉｎｓｅｒｔｉｏｎ）指示に応じて、各ポートスイッチ２８−１〜２８−ｎの診断を行い、診断結果により、各ポートスイッチ２８−１〜２８−ｎのスイッチ状態を制御する。
【００５９】
各磁気ディスク装置１−１〜１−ｎは、２つのポートスイッチと各々接続するための一対のＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｅｌ）チップと、制御回路と、ディスクドライブ機構とを有する。このＦＣチップは、ＣＲＣチエック機能を有する。
【００６０】
図４に示すように、ファイバーチャネルループテーブル（ＦＣマップ）４１４は、各ファイバチャネル経路２−１，２−２のマップテーブル４１４−１〜４１４−ｍを有する。各マップテーブル４１４−１〜４１４−ｍは、そのファイバーチャネルループに接続された磁気ディスク装置のＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）と、磁気ディスク装置が収容されたディスクエンクロージャ１０のＩＤ番号と、ディスクエンクロージャ１０内の磁気ディスク装置の収容位置を示すスロット番号と、ファイバーチャネルループのＩＤ番号とを格納する。
【００６１】
＊＊データストレージシステムの自動復旧処理＊＊
次に、図５乃至図１５により、本発明の一実施の形態の自動復旧処理を説明する。図５は、本発明の一実施の形態の自動復旧処理フロー図、図６乃至図１５は、その動作説明図である。図６乃至図１５を参照して、図５の処理フローを説明する。
【００６２】
先ず、図６で、コントロールモジュール４０の制御プログラムを説明する。ホストインタフェース部４１は、前述のチャネルアダプタである。又、監視制御インタフェース管理部４４−１は、サービスマネージメントコントローラ４４が実行する監視制御プログラムである。
【００６３】
コントロールユニット４０は、Ｉ／Ｏ制御部４６０と、エラー統計処理部４６２と、ＲＡＳ（Ｒｅｃｏｖｅｒｙ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍ）制御部４６４と、活性保守制御部４６６と、ＦＣインタフェース管理部４６８とを実行するプログラムとして、備える。
【００６４】
（Ｓ１０）図６に示すように、ホストリクエスト（リード／ライトアクセス）は、チャネルアダプタ４１で、受信され、コントロールユニット４０のＩ／Ｏ制御部４６０に通知される。Ｉ／Ｏ制御部４６０は、ＦＣインタフェース管理部４６８及び図示しないデバイスアダプタ４２（図１参照）、ＦＣループ２−１，２−２を介し、リクエストされたデータの存在する磁気ディスクドライブを、リード又はライトアクセスする。ここでは、ＲＡＩＤ−１以上の構成のため、磁気ディスクドライブ１−１をＦＣループ２−１から、磁気ディスクドライブ１−２をＦＣループ２−２からアクセスする。Ｉ／Ｏ制御部４６０は、このアクセスの応答を監視し、応答が不良の場合には、その応答のないディスクドライブのループ異常と判定する。例えば、ディスクドライブ自体の異常、ＦＣスイッチの異常、ディスクドライブとＦＣスイッチの接続不良等により、応答がない（リードの場合は、データが返答されない）場合や、ＦＣスイッチが、前述のＰＴＢＩ処理実行中の場合等に、応答が不良となる。
【００６５】
（Ｓ１２）Ｉ／Ｏ制御部４６０は、前述のループ異常と判定すると、図７に示すように、当該応答のなかったディスクドライブ異常を、エラー統計処理部４６２に報告する。エラー統計処理部４６２は、エラー内容（エラーコード）毎に、統計をとる。
【００６６】
（Ｓ１４）このエラー統計処理部４６２は、ディスクアクセスエラーの頻度を計数し、頻度が閾値を越えると、図８に示すように、ＲＡＳ制御部４６４は、該当ＦＣループ（ここでは、ＦＣループ２−２）を論理的に切り離す。即ち、物理的には接続されているが、コントロールモジュール４０が、ＦＣループ２−２を使用することを禁止する。
【００６７】
（Ｓ１６）更に、図９に示すように、ＲＡＳ制御部４６４は、サービスマネージメントコントローラ４０の監視制御インタフェース部４４−１に、ＦＣループ自動復旧を依頼し、監視制御インタフェース部４４−１は、当該ＦＣループ２−２のＰＢＣ（ポート制御回路）２２−２に、ＬＤＲ（Ｌｏｏｐ  Ｄｏｗｎ  Ｒｅｃｏｖｅｒｙ）を依頼する。
【００６８】
（Ｓ１８）図１０に示すように、ＰＢＣ２２−２は、ＦＣスイッチ２４−２にバイパスを指示する。これにより、ＦＣスイッチ２４−２のＦＣスイッチ制御回路２６は、ＦＣスイッチ２４−２の全ポートスイッチ２８−１〜２８−ｎを、ＦＣループ２−２からバイパスする。即ち、スイッチを初期化する。
【００６９】
（Ｓ２０）図１１に示すように、ＰＢＣ２２−２は、ＦＣスイッチ制御回路２６に全スイッチのコネクトを指示する。このコネクト指示により、ＦＣスイッチ制御回路２６は、ＰＴＢＩ（Ｐｏｒｔ  Ｔｅｓｔ  Ｂｅｆｏｒｅ  Ｉｎｓｅｒｔｉｏｎ）診断を行い、コネクトする。
【００７０】
（Ｓ２２）即ち、図１２に示すように、ＦＣスイッチ制御回路２６は、図３で説明したように、全ポートスイッチ２８−１〜２８−ｎをループバックする。このスイッチのループバックより、１つのディスクドライブのみが、接続しているＮ個のＦＣ＿ＡＬループを論理的に構成し、Ｎ個のＦＣ＿ＡＬループに対し、初期化プロセスを実行して、フレームを送信する。即ち、個々のディスクドライブ１−１〜１−ｎは、独立して、ＦＣループを構成し、初期化プロセスを実行して、フレーム信号を送信する。ＦＣスイッチ制御回路２６は、この個々のディスクドライブ１−１〜１−ｎのフレーム信号をモニターし、個々のディスクドライブ１−１〜１−ｎの診断を行う。例えば、ディスクドライブが異常であれば、送信したフレーム信号が戻ってこないので、ディスクドライブの異常と判断する。そして、ＦＣスイッチ制御回路２６は、診断の結果から異常でないディスクドライブのポートスイッチをコネクトし、異常であるディスクドライブのポートスイッチをバイパスする。即ち、各ディスクドライブの診断処理を並列に行う。
【００７１】
（Ｓ２４）図１３に示すように、この診断処理に要する時間を待って、ＲＡＳ制御部４６４は、監視制御インタフェース管理部４４−１を介し、ＰＢＣ２２−２に、ＬＤＲ実施結果を問い合わせる。ＰＢＣ２２−２は、ＦＣスイッチ２４−２からＰＴＢＩ診断結果を受け、ＲＡＳ制御部４６４に診断結果を応答する。
【００７２】
（Ｓ２６）図１４に示すように、ＲＡＳ制御部４６４は、診断結果から、エラー統計処理部４６２に異常ディスクの切り離し依頼を行う。エラー統計処理部４６２は、各ディスクドライブの管理情報（前述のエラー頻度を含む）の構成情報テーブルに、当該異常ディスクドライブが故障であるとの情報を書き込む。これにより、論理的に、異常ディスクドライブは切り離される。
【００７３】
（Ｓ２８）図１５に示すように、その後、ＲＡＳ制御部４６４は、活性保守制御部４６６に、ＦＣループ組込依頼を行う。活性保守制御部４６６は、ＦＣインタフェース管理部４６８を介し、ＦＣループ２−２、ＦＣスイッチ２４−２から各ディスクドライブのＷＷＮを取得して、図４で示したＦＣループマップ４１４を作成する。ここで、異常ディスクドライブ１−２は、ＦＣループ２−２にバイパス状態となっているため、異常ディスクドライブ１−２は、ＦＣマップに組み込まれない。即ち、Ｉ／Ｏ制御部４６０が、アクセスする時に、参照するＦＣループマップ４１４から除外される。これにより、誤って、異常ディスクドライブをアクセスすることを防止できる。これにより、自動復旧が完了し、Ｉ／Ｏ制御部４６０は、ＦＣループ２−２を使用して、ディスクアクセス可能となる。
【００７４】
このように、ループ異常を検出した場合に、そのループに接続されたディスクドライブの診断を並列に行うため、ループの自動復旧までの時間が数秒程度と、従来の１／１０〜１／６０程度に短縮できる。
【００７５】
又、ポートテスト機能を持つＦＣスイッチを利用して、ループに接続したディスクドライブの診断を並列に行うため、コントロールモジュールの負荷が、それ程大きくならない。これにより、コントロールモジュールの異常でないループを使用したディスクアクセスや、キャッシュ制御の性能の低下を防止でき、特に、ＲＡＩＤ構成におけるホストへの応答性能向上に寄与する。
【００７６】
更に、ディスクドライブ１−２が異常であれば、異常でないループからディスクドライブ１−２にアクセスした場合、その異常でないループもループ異常と判定され、両方のループが異常となる。この実施の形態のように、片方のループ異常で、自動復旧処理を行うため、両方のループが異常となる事態を防止できる。
【００７７】
＊＊他の実施の形態＊＊
前述の実施の形態においては、片方のループ異常で、そのループの自動復旧処理を実行しているが、両方のループ異常の場合に、両ループの自動復旧処理を行うこともできる。同様に、片方のループ異常で、自動復旧処理を行っても、復旧不可能である場合には、両方のループがダウンした場合に、ディスクエンクロージャー２の電源をＯＦＦ／ＯＮ診断する機能を自動起動することにより、プリント基板２０−１，２０−２の全回路の診断を行い、復旧処理することもできる。
【００７８】
又、前述の実施の形態では、図１のような冗長構成のＲＡＩＤで説明したが、これ以外の冗長構成のストレージシステムに適用できる。又、ストレージ装置は、磁気ディスク、光ディスク、光磁気ディスク、各種のストレージデバイスを適用できる。
【００７９】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【００８０】
（付記１）依頼装置からのデータアクセス要求に応じて、ストレージ装置をアクセスするストレージシステムにおいて、複数のストレージ装置と、前記複数のストレージ装置をアクセス制御する少なくとも１つのコントローラと、前記コントローラと前記複数のストレージ装置で情報のやり取りを行うための、情報が単一方向に循環する一対のループと、前記各ループに設けられ、前記ループに前記複数のストレージ装置に個々に接続するための複数のスイッチを有するスイッチ回路とを有し、前記コントローラは、前記ストレージ装置のアクセスにおいて、ループ異常を検出した時に、前記スイッチ回路に、前記ループの復旧を指示し、前記スイッチ回路は、前記復旧の指示に応じて、前記複数のスイッチを並列に操作して、前記ストレージ装置を診断し、診断結果に応じて、異常と判定されたストレージ装置を、前記スイッチの操作により、前記ループからバイパスすることを特徴とするストレージシステム。
【００８１】
（付記２）前記コントローラは、前記一方のループを介する前記ストレージ装置のアクセスにおいて、前記一方のループ異常を検出した時に、前記一方のループの前記スイッチ回路に、前記ループの復旧を指示することを特徴とする付記１のストレージシステム。
【００８２】
（付記３）前記コントローラは、前記スイッチ回路の診断結果に応じて、前記異常と判定されたストレージ装置を、前記アクセス対象から切り離すことを特徴とする付記１のストレージシステム。
【００８３】
（付記４）前記ループのスイッチ回路を制御するポート制御回路を更に有し、前記ポート制御回路は、復旧指示に応じて、前記スイッチ回路に全スイッチのバイパスを指示し、前記スイッチ回路が、前記全スイッチをバイパスした後、前記スイッチ回路に、前記診断を指示することを特徴とする付記１のストレージシステム。
【００８４】
（付記５）前記スイッチ回路は、前記診断指示に応じて、前記全スイッチをループバックし、前記ストレージ装置からの信号に応じて、前記診断を実行することを特徴とする付記４のストレージシステム。
【００８５】
（付記６）前記スイッチ回路は、前記診断の実行後、前記異常と判定されなかったストレージ装置のスイッチを前記ループに接続することを特徴とする付記５のストレージシステム。
【００８６】
（付記７）前記コントローラは、前記診断結果に応じて、前記ループのストレージ装置の組み込み処理を実行することを特徴とする付記１のストレージシステム。
【００８７】
（付記８）前記コントローラは、複数のストレージ装置をアクセス制御する制御ユニットと、前記スイッチ回路に接続され、前記スイッチ回路に前記復旧を指示するサービスコントローラとを有することを特徴とする付記１のストレージシステム。
【００８８】
（付記９）前記コントローラは、前記依頼装置とのインタフェース制御のためのチャネル回路と、前記ループを介し前記ストレージ装置と情報の授受を行うデバイス回路と、前記チャネル回路と前記デバイス回路を制御し、前記依頼装置からのデータアクセス要求に応じて、前記ストレージ装置をアクセスするための制御ユニットと、前記制御ユニットに接続され、前記スイッチ回路と接続するサービスコントローラとを有することを特徴とする付記１のストレージシステム。
【００８９】
（付記１０）前記複数のストレージ装置が、ＲＡＩＤ構成であることを特徴とする付記１のストレージシステム。
【００９０】
（付記１１）前記ストレージ装置が、ディスクドライブであることを特徴とする付記１のストレージシステム。
【００９１】
（付記１２）依頼装置からのデータアクセス要求に応じて、ストレージ装置をアクセスするストレージシステムの自動復旧方法において、前記複数のストレージ装置に一対のループで接続されたコントローラの前記ストレージ装置のアクセスにおいて、ループ異常を検出するステップと、前記ループ異常を検出したことに応じて、前記コントローラから前記ループと前記複数のストレージ装置の各々を接続する複数のスイッチを有するスイッチ回路に、前記ループの復旧を指示するステップと、前記復旧の指示に応じて、前記スイッチ回路により前記複数のスイッチを並列に操作して、前記ストレージ装置を診断し、診断結果に応じて、異常と判定されたストレージ装置を、前記スイッチの操作により、前記ループからバイパスして、復旧するステップからなることを特徴とするストレージシステムのループ異常時の自動復旧方法。
【００９２】
（付記１３）前記復旧指示ステップは、前記一方のループを介する前記ストレージ装置のアクセスにおいて、前記一方のループ異常を検出した時に、前記一方のループの前記スイッチ回路に、前記ループの復旧を指示するステップからなることを特徴とする付記１２のストレージシステムのループ異常時の自動復旧方法。
【００９３】
（付記１４）前記スイッチ回路の診断結果に応じて、前記異常と判定されたストレージ装置を、前記コントローラの前記アクセス対象から切り離すステップを更に有することを特徴とする付記１２のストレージシステムのループ異常時の自動復旧方法。
【００９４】
（付記１５）前記復旧ステップは、前記ループのスイッチ回路を制御するポート制御回路から、前記復旧指示に応じて、前記スイッチ回路に全スイッチのバイパスを指示するステップと、前記スイッチ回路が、前記全スイッチをバイパスした後、前記ポート制御回路から、前記スイッチ回路に、前記診断を指示するステップからなることを特徴とする付記１２のストレージシステムのループ異常時の自動復旧方法。
【００９５】
（付記１６）前記診断ステップは、前記診断指示に応じて、前記全スイッチをループバックし、前記ストレージ装置からの信号に応じて、前記診断を実行するステップからなることを特徴とする付記１５のストレージシステムのループ異常時の自動復旧方法。
【００９６】
（付記１７）前記スイッチ回路の前記診断の実行後、前記異常と判定されなかったストレージ装置のスイッチを前記ループに接続するステップを更に有することを特徴とする付記１６のストレージシステムのループ異常時の自動復旧方法。
【００９７】
（付記１８）前記コントローラにより、前記診断結果に応じて、前記ループのストレージ装置の組み込み処理を実行するステップを更に有することを特徴とする付記１２のストレージシステムのループ異常時の自動復旧方法。
【００９８】
（付記１９）前記復旧指示ステップは、複数のストレージ装置をアクセス制御する制御ユニットと前記スイッチ回路に接続されたサービスコントローラにより、前記スイッチ回路に前記復旧を指示するステップからなることを特徴とする付記１２のストレージシステムのループ異常時の自動復旧方法。
【００９９】
（付記２０）前記複数のストレージ装置が、ＲＡＩＤ構成であることを特徴とする付記１２のストレージシステムのループ異常時の自動復旧方法。
【産業上の利用可能性】
【０１００】
ループに複数のストレージ装置に個々に接続するための複数のスイッチを有するスイッチ回路を用いて、ループ異常を検出した時に、スイッチ回路に、復旧の指示し、複数のスイッチを並列に操作して、ストレージ装置を診断し、診断結果に応じて、異常と判定されたストレージ装置を、スイッチの操作により、ループからバイパスするため、ループ異常を検出した場合に、そのループに接続されたディスクドライブの診断を並列に行うことができ、ループの自動復旧までの時間を大幅に短縮できる。
【図面の簡単な説明】
【０１０１】
【図１】本発明の一実施の形態のストレージシステムの構成図である。
【図２】図１のコントロールモジュールの構成図である。
【図３】図１のＦＣスイッチの構成図である。
【図４】図１のＦＣループテーブルの説明図である。
【図５】本発明の一実施の形態の自動復旧処理フロー図である。
【図６】図５のループ異常検出処理の説明図である。
【図７】図５のエラー統計処理の説明図である。
【図８】図５のＦＣループ切り離し処理の説明図である。
【図９】図５のＬＤＲ依頼処理の説明図である。
【図１０】図５のバイパス指示依頼処理の説明図である。
【図１１】図５のＰＴＢＩ診断処理指示処理の説明図である。
【図１２】図５のコネクト処理の説明図である。
【図１３】図５のＬＤＲ実施結果確認処理の説明図である。
【図１４】図５の異常ディスク切り離し処理の説明図である。
【図１５】図５のＦＣループ組み込み処理の説明図である。
【図１６】従来の自動復旧制御の説明図である。
【符号の説明】
【０１０２】
１−１〜１−ｎ  ディスクドライブ（ストレージ機器）
２  ディスクエンクロージャ
２−１，２−２  ＦＣループ
４  コントロールモジュール
４０  制御ユニット
４１  チャネルアダプタ
４２  デバイスアダプタ
４００  ＣＰＵ
４１０  メモリ
４４  ＳＭＣ（サービスマネージメントコントローラ）
２０−１，２０−２  ＰＢＣモジュール
２２−１，２２−２  ポート制御回路（ＰＢＣ）
２４−１，２４−２  ＦＣスイッチ
２６  スイッチ制御回路
２８−１〜２８−ｎ  ポートスイッチ
【図１】
0004799273.tif 000002
【図２】
0004799273.tif 000003
【図３】
0004799273.tif 000004
【図４】
0004799273.tif 000005
【図５】
0004799273.tif 000006
【図６】
0004799273.tif 000007
【図７】
0004799273.tif 000008
【図８】
0004799273.tif 000009
【図９】
0004799273.tif 000010
【図１０】
0004799273.tif 000011
【図１１】
0004799273.tif 000012
【図１２】
0004799273.tif 000013
【図１３】
0004799273.tif 000014
【図１４】
0004799273.tif 000015
【図１５】
0004799273.tif 000016
【図１６】
0004799273.tif 000017