(57)【要約】【課題】  障害区間のデバイスをバイパスせずにアクセス可能とし、システムの可用性を向上したＦＣ−ＡＬシステム、ＦＣ−ＡＬシステムのコマンド発行方法及び当該ＦＣ−ＡＬシステムに適用可能なデータ記憶装置を提供する。【解決手段】  ホスト装置１０は、コマンドを送信するＦＣ−ＡＬループと、コマンド送信先の磁気ディスク装置１１乃至１４がコマンドに対する応答を送信すべきＦＣ−ＡＬループとの組み合わせを定めた規則に基づいて、コマンドを送信する（Ｓ１０１）。ホスト装置１０は、コマンドの送信先の磁気ディスク装置から応答が受信できなかった場合、コマンドを送信するＦＣ−ＡＬループと、応答を送信すべきＦＣ−ＡＬループとの組み合わせを変更してコマンドの再送を行う（ステップＳ１０３、Ｓ１０５）。【選択図】  図２
2007026148.tif 000002
【特許請求の範囲】
【請求項１】
複数のＦＣ−ＡＬループによってホスト装置と複数のデータ記憶装置とを接続したＦＣ−ＡＬシステムであって、
前記ホスト装置は、
前記データ記憶装置に対するコマンドを送信するＦＣ−ＡＬループと、前記データ記憶装置が前記コマンドに対する応答を送信すべきＦＣ−ＡＬループとの組み合わせを定めた規則に基づいて、前記ＦＣ−ＡＬループを介して前記コマンドを送信するとともに、
前記コマンドの送信先データ記憶装置から前記応答が受信できなかった場合、前記規則に基づいて、前記コマンドを送信するＦＣ−ＡＬループと、前記データ記憶装置が前記コマンドに対する応答を送信するＦＣ−ＡＬループとの組み合わせを変更してコマンドを再送し、
前記データ記憶装置は、
前記ホスト装置より前記コマンドを受信するとともに、
前記コマンドに対する応答を、前記ホスト装置によって指定されたＦＣ−ＡＬループを介して送信するＦＣ−ＡＬシステム。
【請求項２】
前記コマンドには、前記データ記憶装置が応答を送信すべきＦＣ−ＡＬループの指定情報が付与されており、
前記データ記憶装置は、前記指定情報に基づいて前記応答を送信する請求項１に記載のＦＣ−ＡＬシステム。
【請求項３】
前記規則は、
前記コマンドを送信するＦＣ−ＡＬループと前記データ記憶装置が応答を送信するＦＣ−ＡＬループをともに第１のＦＣ−ＡＬループとして第１のコマンドを送信し、
前記第１のコマンドに対する応答が受信できない場合、前記データ記憶装置が応答を送信するＦＣ−ＡＬループを前記第１のＦＣ−ＡＬループと異なる第２のＦＣ−ＡＬループに変更して第２のコマンドを送信し、
前記第２のコマンドに対する応答が受信できない場合、前記コマンドを送信するＦＣ−ＡＬループを前記第２のＦＣ−ＡＬループとし、前記データ記憶装置が応答を送信するＦＣ−ＡＬループを前記第１のＦＣ−ＡＬループとして第３のコマンドを送信することを定めたものである請求項１に記載のＦＣ−ＡＬシステム。
【請求項４】
前記ホスト装置は、１の前記データ記憶装置から前記応答が受信できたか否かに基づいて、他の前記データ記憶装置に対する前記組合せを変更する請求項１に記載のＦＣ−ＡＬシステム。
【請求項５】
前記ホスト装置は、前記複数のデータ記憶装置における前記組合せの差異に基づいて、前記ＦＣ−ＡＬループの障害発生区間を特定する請求項１に記載のＦＣ−ＡＬシステム。
【請求項６】
前記データ記憶装置と前記ＦＣ−ＡＬループとの間を切り離し可能なバイパス回路を備え、
前記ホスト装置は、前記バイパス回路により、前記障害発生区間の両端の前記データ記憶装置を切り離したときの障害回復の有無に基づいて、前記障害発生区間内での障害箇所を特定する請求項５に記載のＦＣ−ＡＬシステム。
【請求項７】
複数のＦＣ−ＡＬループによってホスト装置と複数のデータ記憶装置を接続したＦＣ−ＡＬシステムでの前記ホスト装置によるコマンド送信方法であって、
前記データ記憶装置に対するコマンドを送信するＦＣ−ＡＬループと、前記データ記憶装置が前記コマンドに対する応答を送信すべきＦＣ−ＡＬループとの組み合わせを定めた規則に基づいて、前記ＦＣ−ＡＬループを介して前記コマンドを送信し、
前記コマンドの送信先の前記データ記憶装置から前記応答が受信できなかった場合、前記規則に基づいて、前記コマンドを送信するＦＣ−ＡＬループと、前記データ記憶装置が前記コマンドに対する応答を送信すべきＦＣ−ＡＬループとの組み合わせを変更して前記コマンドを再送するコマンド送信方法。
【請求項８】
前記規則は、
前記コマンドを送信するＦＣ−ＡＬループと前記データ記憶装置が応答を送信するＦＣ−ＡＬループをともに第１のＦＣ−ＡＬループとして第１のコマンドを送信し、
前記第１のコマンドに対する応答が受信できない場合、前記データ記憶装置が応答を送信するＦＣ−ＡＬループを前記第１のＦＣ−ＡＬループと異なる第２のＦＣ−ＡＬループに変更して第２のコマンドを送信し、
前記第２のコマンドに対する応答が受信できない場合、前記コマンドを送信するＦＣ−ＡＬループを前記第２のＦＣ−ＡＬループとし、前記データ記憶装置が応答を送信するＦＣ−ＡＬループを前記第１のＦＣ−ＡＬループとして第３のコマンドを送信することを定めたものである請求項７に記載のコマンド送信方法。
【請求項９】
１の前記データ記憶装置から前記応答が受信できたか否かに基づいて、他の前記データ記憶装置に対する前記組合せを変更する請求項７に記載のコマンド送信方法。
【請求項１０】
複数のＦＣ−ＡＬループに接続され、ホスト装置が発行するコマンドを前記ＦＣ−ＡＬループを介して受信するとともに、前記コマンドに対する応答を前記ＦＣ−ＡＬループを介して前記ホスト装置に送信するデータ記憶装置であって、
前記ホスト装置から受信した前記コマンドに基づいて、前記コマンドに対する応答を送信する前記ＦＣ−ＡＬループを決定し、
決定した前記ＦＣ−ＡＬループを介して前記ホスト装置に対する前記応答を送信するデータ記憶装置。
【請求項１１】
前記コマンドには、前記応答を送信すべき前記ＦＣ−ＡＬループの指定情報が付与されており、
前記指定情報を参照して前記応答を送信する前記ＦＣ−ＡＬループを決定する請求項１０に記載のデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＣ−ＡＬインタフェースにより接続されるディスク・サブシステムに関し、特に、ディスク・サブシステムの障害対策に関する。
【背景技術】
【０００２】
ＦＣ−ＡＬ（Fibre Channel Arbitrated Loop）は、ファイバチャネルのトポロジの１つであり、最大１２６台のデバイスをループ状に接続することができる。
【０００３】
ＦＣ−ＡＬは、主に複数のストレージ・サーバとこれを利用するホスト装置との間を接続するインタフェースとして利用され、また、ディスク・アレイ等のストレージ・サブシステム内で磁気ディスク装置等のデータ記憶装置の間を接続する内部インタフェースとしても利用されている。以下では、ＦＣ−ＡＬでループ状に接続されたデバイスからなるシステムをＦＣ−ＡＬシステムと呼ぶ。
【０００４】
ＦＣ−ＡＬシステムを構成する各デバイスは、ループ上の他のデバイスに対してリピータとして動作することになる。したがって、ループを構成するデバイス又は伝送路の１箇所で障害が発生すると、ループを構成する全てのデバイスにその影響が波及することになる。
【０００５】
このような障害の影響を回避するために、ＦＣ−ＡＬシステムではポート・バイパス回路（PBC：Port Bypass Circuit）が用いられている。ポート・バイパス回路は、デバイスをループから切り離すことができる回路であり、電気スイッチ等により構成されている。ポート・バイパス回路によって障害の発生したデバイスをバイパスし、他の正常なデバイスのみによってループを再構成することにより、正常なデバイス間での通信を継続することが可能となる。
【０００６】
さらに、ループの可用性を高めるために、ＦＣ−ＡＬのループを二重化することも行われている。ループを二重化することにより、一方のループが伝送路障害の発生等によって使用不可能となった場合にも、他方のループを用いてデバイス間の通信を維持することができる。
【０００７】
ＦＣ−ＡＬの二重ループ構成を採用する従来のディスク・サブシステム８の構成例を図８に示す。図８に示すように、ディスク・サブシステム８は、ホスト装置８０と磁気ディスク装置８１乃至８４との間がＦＣ−ＡＬループ３０及びループ４０の二重のループによって接続されたＦＣ−ＡＬシステムである。
【０００８】
ここで、ホスト装置８０は、外部ホストに対するインタフェースを提供し、外部ホストによる磁気ディスク装置８１乃至８４に対する書き込み要求及び読み出し要求を処理するとともに、磁気ディスク装置８１乃至８４のＲＡＩＤ（Redundant Arrays of Inexpensive Disks）管理やデータ圧縮等の制御を行う機能部である。
【０００９】
ループ３０及び４０は、一方向にデータを転送する伝送路であり、図中の矢印がデータの転送方向を示している。例えば、ループ３０を介してホスト装置８０から磁気ディスク装置８２に対してライト・コマンド、リード・コマンド等のデータを送信する場合、まずホスト装置８０がファイバチャネルのフレーム形式に組み立てた送信データをループ３０に送出する。ホスト装置８０によって送出されたデータは、磁気ディスク装置８１によって中継された後に磁気ディスク装置８２の受信ポートに到達する。
【００１０】
ポート・バイパス回路２１０乃至２１４並びに２２０乃至２２４は、ホスト装置８０並びに磁気ディスク装置８１乃至８４の各デバイスをＦＣ−ＡＬループ３０又は４０から切り離すことが可能である。
【００１１】
上述したように、ＦＣ−ＡＬシステムに障害が発生した場合は、ポート・バイパス回路を制御して障害の発生したデバイスをバイパスし、正常なデバイス間で通信を継続する技術が従来から知られている（例えば、特許文献１及び２を参照）。図８に示したディスク・サブシステム８における磁気ディスク装置８１乃至８４の切り離し動作の具体例を、図９を用いて説明する。
【００１２】
図９（ａ）は、磁気ディスク装置８３のループ３０側のトランスミッタ８３２に障害が発生した場合に、ポート・バイパス回路２１３を制御して磁気ディスク装置８３をバイパスした構成を示すものである。なお、簡略化のため、図９では、ポート・バイパス回路２１０乃至２１４並びに２２０乃至２２４の表示を省略している。
【００１３】
ループ３０のいずれかの箇所で障害が発生した場合に、すぐにもう一方のループ４０に処理を切り替えてしまうと、次の障害でシステム全体がダウンすることとなってしまい、好ましくない。このため、図９（ａ）に示すように、障害の発生した磁気ディスク装置８３をバイパスすることとすれば、残りのホスト装置８０、磁気ディスク装置８１、８２及び８４の間でループ３０を使用した通信を維持することができる。
【００１４】
しかし、障害の発生したデバイスをバイパスすると当該デバイスにアクセスが不可能となる。このため、ディスク・サブシステムはＲＡＩＤを採用することが一般的である。例えば、ＲＡＩＤ５の場合、バイパスした磁気ディスク装置８３の内容を他の磁気ディスク装置８１、８２及び８４によって継続して提供することができる。また、バイパスした磁気ディスク装置８３の内容を予備の磁気ディスク装置に復元することによって、ＲＡＩＤ５を再構成できる。なお、このような予備の磁気ディスク装置によるＲＡＩＤ５の再構成をリビルドと呼ぶ。
【００１５】
一方、図９（ｂ）は、ループ３０の磁気ディスク装置８３と８４の間の伝送路に障害が発生した場合を示している。この場合、磁気ディスク装置８１乃至８４のいずれをバイパスしても、ループ３０は使用不可能である。このため、ホスト装置８０は、ループ３０が不稼動状態（以下、ループ・ダウンと呼ぶ）であることを検出し、ループ３０を用いた通信からループ４０を用いた通信への切り替えが行われる。
【特許文献１】特開２００２−７０７７号公報
【特許文献２】特開２００２−３７４２７１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
上述したように、従来のＦＣ−ＡＬシステムでは、デバイスに障害が発生した場合に当該デバイスをバイパスする必要があること、ループ伝送路自体に障害が発生した場合はループ切り替えを必要とすることから、システムの可用性が低いという問題がある。
【００１７】
本発明は、このような問題点を解決するためになされたものであり、本発明の目的は、二重ループでデバイス間を接続したＦＣ−ＡＬシステムにおいて、障害区間のデバイスをバイパスせずにアクセス可能とするＦＣ−ＡＬシステム、ＦＣ−ＡＬシステムのコマンド発行方法及び当該ＦＣ−ＡＬシステムに適用可能なデータ記憶装置を提供することである。
【課題を解決するための手段】
【００１８】
本発明にかかるＦＣ−ＡＬシステムは、複数のＦＣ−ＡＬループによってホスト装置と複数のデータ記憶装置とを接続したＦＣ−ＡＬシステムであって、前記ホスト装置は、前記データ記憶装置に対するコマンドを送信すべきＦＣ−ＡＬループと、前記データ記憶装置が前記コマンドに対する応答を送信するＦＣ−ＡＬループとの組み合わせを定めた規則に基づいて、前記ＦＣ−ＡＬループを介して前記コマンドを送信するとともに、前記コマンドの送信先データ記憶装置から前記応答が受信できなかった場合、前記規則に基づいて、前記コマンドを送信するＦＣ−ＡＬループと、前記データ記憶装置が前記コマンドに対する応答を送信すべきＦＣ−ＡＬループとの組み合わせを変更して前記コマンドを再送する。さらに、前記データ記憶装置は、前記ホスト装置より前記コマンドを受信するとともに、前記コマンドに対する応答を、前記ホスト装置によって指定されたＦＣ−ＡＬループを介して送信するものである。
【００１９】
このような構成により、ＦＣ−ＡＬループの障害によってコマンドが完了しない場合に、ホスト装置においてコマンドを送信するループと応答を受信するループを適宜変更することができる。このため、ＦＣ−ＡＬループに障害が発生した場合に、障害発生区間のデータ記憶装置をバイパスすることなく、それぞれのデータ記憶装置にアクセスすることができる。また、ループ伝送路自体に障害が発生した場合も、ループ切り替えを行うことなくデータ記憶装置に対するアクセスが可能である。
【００２０】
なお、前記コマンドには、前記データ記憶装置が応答を送信すべきＦＣ−ＡＬループの指定情報が付与され、前記データ記憶装置は、前記指定情報に基づいて前記応答を送信することとしてもよい。これにより、前記データ記憶装置が応答を送信すべきループを容易に指定できる。
【００２１】
さらに、前記規則は、前記コマンドを送信する前記ＦＣ−ＡＬループと前記データ記憶装置が応答を送信するＦＣ−ＡＬループをともに第１のＦＣ−ＡＬループとして第１のコマンドを送信し、前記第１のコマンドに対する応答が受信できない場合、前記データ記憶装置が応答を送信するＦＣ−ＡＬループを前記第１のＦＣ−ＡＬループと異なる第２のＦＣ−ＡＬループに変更して第２のコマンドを送信し、前記第２のコマンドに対する応答が受信できない場合、前記コマンドを送信するＦＣ−ＡＬループを前記第２のＦＣ−ＡＬループとし、前記データ記憶装置が応答を送信するＦＣ−ＡＬループを前記第１のＦＣ−ＡＬループとして第３のコマンドを送信することを定めたものとすることが望ましい。このような規則に従って、使用するＦＣ−ＡＬループの組合せを変更することにより、ＦＣ−ＡＬループに障害が発生した場合でも、データ記憶装置に対するアクセスを速やかに行うことができる。
【００２２】
また、前記ホスト装置は、１の前記データ記憶装置から前記応答が受信できたか否かに基づいて、他の前記データ記憶装置に対する前記組合せを変更することが望ましい。これにより、無駄なコマンド発行を減らし、データ記憶装置に対するアクセスを速やかに行うことができる。
【００２３】
なお、前記ホスト装置は、前記複数のデータ記憶装置における前記組合せの差異に基づいて、前記ＦＣ−ＡＬループの障害発生区間を特定することができる。これにより、特別な診断プロセスを実行することなく障害発生区間を特定できる。
【００２４】
さらに、前記データ記憶装置と前記ＦＣ−ＡＬループとの間を切り離し可能なバイパス回路を備え、前記ホスト装置は、前記バイパス回路により、前記障害発生区間の両端の前記データ記憶装置を切り離したときの障害回復の有無に基づいて、前記障害発生区間内での障害箇所を特定することとしてもよい。これにより、ＦＣ−ＡＬループの伝送路の障害を含む詳細な障害箇所の特定が可能となる。
【００２５】
一方、本発明にかかるＦＣ−ＡＬシステムのコマンド送信方法は、複数のＦＣ−ＡＬループによってホスト装置と複数のデータ記憶装置を接続したＦＣ−ＡＬシステムでの前記ホスト装置によるコマンド送信方法であって、前記データ記憶装置に対するコマンドを送信するＦＣ−ＡＬループと、前記データ記憶装置が前記コマンドに対する応答を送信すべきＦＣ−ＡＬループとの組み合わせを定めた規則に基づいて、前記ＦＣ−ＡＬループを介して前記コマンドを送信し、前記コマンドの送信先の前記データ記憶装置から前記応答が受信できなかった場合、前記規則に基づいて、前記コマンドを送信するＦＣ−ＡＬループと、前記データ記憶装置が前記コマンドに対する応答を送信すべきＦＣ−ＡＬループとの組み合わせを変更して前記コマンドを再送するものである。このような方法により、ＦＣ−ＡＬループに障害が発生した場合でも、障害発生区間のデータ記憶装置をバイパスすることなく、それぞれのデータ記憶装置にアクセスすることができる。
【００２６】
また、本発明にかかるデータ記憶装置は、複数のＦＣ−ＡＬループに接続され、ホスト装置が発行するコマンドを前記ＦＣ−ＡＬループを介して受信するとともに、前記コマンドに対する応答を前記ＦＣ−ＡＬループを介して前記ホスト装置に送信するデータ記憶装置であって、前記ホスト装置から受信した前記コマンドに基づいて、前記コマンドに対する応答を送信する前記ＦＣ−ＡＬループを決定し、決定した前記ＦＣ−ＡＬループを介して前記ホスト装置に対する前記応答を送信するものである。
【００２７】
このようなデータ記憶装置を用いることにより、上述した本発明のＦＣ−ＡＬシステム及び本発明のコマンド発行方法において、ＦＣ−ＡＬループに障害が発生した場合でも、障害発生区間のデータ記憶装置をバイパスすることなく、それぞれのデータ記憶装置にアクセスすることが可能となる。
【発明の効果】
【００２８】
本発明により、障害区間のデバイスをバイパスせずにアクセス可能とし、システムの可用性を向上したＦＣ−ＡＬシステム、ＦＣ−ＡＬシステムのコマンド発行方法及び当該ＦＣ−ＡＬシステムに適用可能なデータ記憶装置を提供することができる。
【発明を実施するための最良の形態】
【００２９】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。なお、本実施の形態は、本発明をディスク・サブシステムに適用したものである。
【００３０】
発明の実施の形態１．
図１は、本実施の形態にかかるディスク・サブシステム１の構成図である。図１に示すように、ディスク・サブシステム１は、ホスト装置１０と磁気ディスク装置１１乃至１４とがＦＣ−ＡＬループ３０及び４０によって接続されたＦＣ−ＡＬシステムである。
【００３１】
ホスト装置１０は、外部ホストに対するインタフェースを提供し、外部ホストによる磁気ディスク装置１１乃至１４に対する書き込み要求及び読み出し要求を処理するとともに、磁気ディスク装置１１乃至１４のＲＡＩＤ管理やデータ圧縮等の制御を行う機能部である。
【００３２】
ホスト装置１０並びに磁気ディスク装置１１乃至１４は、それぞれトランスミッタ１０２、１１２、１２２、１３２又は１４２によってＦＣ−ＡＬループ３０に転送データを送信し、レシーバ１０１、１１１、１２１、１３１、又は１４１によってＦＣ−ＡＬループ３０上の転送データを受信する。また同様に、トランスミッタ１０４、１１４、１２４、１３４又は１４４によってＦＣ−ＡＬループ４０に転送データを送信し、レシーバ１０３、１１３、１２３、１３３、又は１４３によってＦＣ−ＡＬループ４０上の転送データを受信する。
【００３３】
ディスク・サブシステム１は、ホスト装置１０が磁気ディスク装置１１乃至１４にコマンドを送信する際に、コマンド送信に使用するＦＣ−ＡＬループと、コマンドに対する磁気ディスク装置１１乃至１４の応答時に使用するループの組合せを所定の規則に基づいて変更することを特徴としている。
【００３４】
ここで、コマンドとは、磁気ディスク装置１１乃至１４へのデータ書き込みを要求するライト・コマンド、データ読み出しを要求するリード・コマンド、さらには、磁気ディスク装置の設定を行うコマンドやディスク装置の診断を要求するコマンド等の監視系コマンドを意味する。要するに、ここでのコマンドとは、ホスト装置１０が磁気ディスク装置１１乃至１４に対して発行し、コマンドを受信した磁気ディスク装置１１乃至１４による読み出しデータ、ライト終了報告、装置診断結果等の応答を要求するものである。
【００３５】
以下では、ディスク・サブシステム１が、ＦＣ−ＡＬループの障害発生時に、上記の所定の規則に従ってコマンドの送信及び応答の送信に使用するＦＣ−ＡＬループを変更する際の動作を、図２及び図３を参照して説明する。
【００３６】
図２は、ホスト装置１０が磁気ディスク装置１１乃至１４に対してコマンドを送信する際の動作フローを示すものである。まず、ステップＳ１０１では、ホスト装置１０がコマンドを現用ループに送信する。ここで、現用ループとはコマンドを優先的に送信するループとして予め定められたループを意味する。また、二重ループのもう一方のループを予備ループと呼ぶ。ホスト装置１０は、当該コマンドに対する送信先磁気ディスク装置からの応答がないまま所定の時間が経過した場合（以下、コマンド・タイムアウトと呼ぶ）、予備ループから応答するよう指定したコマンドを現用ループに送信する（ステップＳ１０２、Ｓ１０３）。一方、コマンドに対する応答を受信した場合は、コマンドを完了する（ステップＳ１０２）。
【００３７】
ここで、磁気ディスク装置に対するコマンド応答方向の指定は、個々のコマンドにおいて、応答を出力するループを明示的に指定すればよい。なお、個々のコマンドで、受信ループと同じループより送信するか、別のループより送信するかを指定することとしてもよい。また、個々のコマンドで指定するのではなく、コマンドに対する応答を送信する方向を設定するためのコマンドをホスト装置１０が送信することとしてもよい。
【００３８】
ステップＳ１０３での送信コマンドもコマンド・タイムアウトにより完了しなかった場合、ホスト装置１０は、現用ループから応答するように指定したコマンドを予備ループに送信する（ステップＳ１０４、Ｓ１０５）。
【００３９】
ステップＳ１０５での送信コマンドもコマンド・タイムアウトにより完了しなかった場合、ホスト装置１０は、コマンド送信先磁気ディスク装置の障害と判定する（ステップＳ１０６、Ｓ１０７）。
【００４０】
このように、コマンドが完了するか否かに応じて、ホスト装置１０がコマンドを送信するループ及び磁気ディスク装置１１乃至１４がコマンドに対する応答を送信するループを、図２のフローチャートに示す規則に従って変更することにより、現用ループに障害が発生した場合にも、障害区間の磁気ディスク装置が備えるディスク・ドライブ自体が正常であれば、コマンドを完了することができる。つまり、障害区間の磁気ディスク装置を無条件にバイパスする従来のディスク・サブシステム８と異なり、障害区間の磁気ディスク装置にアクセスすることが可能となる。このため、従来のディスク・サブシステム８に比べてシステムの可用性を向上することができる。
【００４１】
図３を用いて具体例を説明する。図３（ａ）は磁気ディスク装置１３のループ３０側のトランスミッタ１３２に障害が発生した場合を示しており、従来のディスク・サブシステム８における図９（ａ）の具体例に対応する。また、図３（ｂ）はループ３０の磁気ディスク装置１３と１４の間の伝送路に障害が発生した場合を示しており、図３（ｂ）は図９（ｂ）の具体例に対応する。なお、以下では、ループ３０を現用ループ、ループ４０を予備ループとして説明する。
【００４２】
図３（ａ）の場合、現用ループ３０からホスト装置１０が磁気ディスク装置１３に対してコマンドを発行すると、コマンド・タイムアウトが発生する。トランスミッタ１３２に障害が発生しており、ホスト装置１０がループ３０を介してコマンドに対する応答を受信できないためである。この動作は、図２のステップＳ１０１及びＳ１０２に相当する。
【００４３】
そこで、ホスト装置１０は、予備ループ４０から応答するよう指定したコマンドを、現用ループ３０を介して磁気ディスク装置１３に送信する。この動作は、図２のステップＳ１０３に相当する。当該コマンドに対する応答はトランスミッタ１３４を介して送信され、ホスト装置１０に到達することができる。
【００４４】
なお、現用ループ３０のデータ転送方向において、障害の発生した磁気ディスク装置１３よりホスト装置１０側に位置する磁気ディスク装置１１及び１２に対しても、図２のステップＳ１０３に相当する予備ループ４０からの応答を指定したコマンドを送信することによって、コマンドを完了することができる。また、ループ３０のデータ転送方向において、障害の発生した磁気ディスク装置１３よりもホスト装置１０から遠い磁気ディスク装置１４については、図２のステップＳ１０５に相当する現用ループ３０からの応答を指定したコマンドを、予備ループ４０を介して送信することにより、コマンドを完了することができる。
【００４５】
従来のディスク・サブシステム８は、図９（ａ）に示したように障害区間の磁気ディスク装置８３のバイパスを行うのに対し、本発明にかかるディスク・サブシステム１は、障害発生後も障害区間の磁気ディスク装置１３に継続してアクセスすることが可能となる。
【００４６】
さらに、本発明にかかるディスク・サブシステム１は、障害区間の磁気ディスク装置に継続してアクセスできることによって、障害区間の磁気ディスク装置が格納するデータを予備の磁気ディスク装置にコピーすることによって、予備の磁気ディスク装置の立ち上げが可能となるという利点がある。
【００４７】
従来のディスク・サブシステム８では、障害区間の磁気ディスク装置にアクセスできないため、その他の磁気ディスク装置に格納されたデータを用いて、予備の磁気ディスク装置に障害区間の磁気ディスク装置が格納していたデータを復元するリビルド動作を行う必要があった。例えば、上述した図９（ａ）の事象の場合、磁気ディスク装置８３のトランスミッタ８３２が故障すると、これをバイパスする必要がある。したがって、磁気ディスク装置８３の備えるディスク・ドライブ自体は正常にアクセス可能である場合であっても、リビルド等のデータ復元動作が発生してしまう。しかし、リビルドには数十時間を要する場合が多く、データの復元に時間がかかるという問題がある。
【００４８】
これに対して、本発明のディスク・サブシステム１では、障害区間の磁気ディスク装置にアクセス可能であるからリビルドを行う必要がなく、また、予備の磁気ディスク装置にデータを復元する場合も、障害区間の磁気ディスク装置から予備の磁気ディスク装置に対して直接データをコピーすればよいため、リビルドに比べて遥かに短時間、通常は数時間程度で完了することができる。
【００４９】
一方、図３（ｂ）の場合、現用ループ３０からホスト装置１０が磁気ディスク装置１３に対してコマンドを発行すると、コマンド・タイムアウトが発生する。そこで、ホスト装置１０は、予備ループ４０から応答するよう指定したコマンドを、現用ループ３０を介して磁気ディスク装置１３に送信する。図３（ａ）の場合と同様に、当該コマンドに対する応答はトランスミッタ１３４を介して送信され、ホスト装置１０に到達することができる。
【００５０】
従来のディスク・サブシステム８では、ループの伝送路の断絶等の障害が発生すると磁気ディスク装置８１乃至８３のいずれをバイパスしてもループ３０が復旧しない。このため、図９（ｂ）に示したように、ループ全体を予備ループ４０に切り替える必要があった。これに対して、本発明にかかるディスク・サブシステム１では、伝送路障害時にもループ切り替えを行う必要がなく、障害区間の磁気ディスク装置に継続してアクセスすることが可能となる。
【００５１】
上述したように、本実施の形態にかかるディスク・サブシステム１は、障害の有無、障害箇所に応じて３通りのコマンド送信種別を有するものである。このため、ホスト装置１０は、接続された実記ディスク装置１１乃至１４それぞれのコマンド送信種別を保持することが望ましい。ホスト装置１０が保持するコマンド送信種別テーブル１０５の一例を図４に示す。
【００５２】
図４のコマンド送信種別テーブル１０５は、磁気ディスク装置１１乃至１４それぞれに対するコマンド送信種別を表形式で表したものである。なお、図４では、コマンド送信種別を以下の４通りで識別している。まず、コマンドを現用ループ３０から送信し、現用ループ３０から応答を受信する場合を"０"、コマンドを現用ループ３０から送信し、予備ループ４０から応答を受信する場合を"１"、予備ループ４０から送信し、現用ループ３０から応答を受信する場合を"２"としている。さらに、図２のステップＳ１０７に相当し、上記の３通りのコマンド送信種別のいずれによってもコマンドを完了できない場合を"３"としている。
【００５３】
図４（ａ）は、現用ループ３０に障害が発生していない状態を示しており、磁気ディスク装置１１乃至１４の全てに対し、現用ループ３０を介してアクセス可能な状態である。図４（ｂ）は、図３（ａ）又は（ｂ）のように、磁気ディスク装置１３と１４の間で障害が発生した場合を示している。具体的には、磁気ディスク装置１１乃至１３に対しては、コマンドを現用ループ３０から送信し、予備ループ４０から応答を受信するため、コマンド送信種別が"１"となる。磁気ディスク装置１４に対しては、コマンドを予備ループ４０から送信し、現用ループ３０から応答を受信するため、コマンド送信種別が"２"となる。また、図４（ｃ）は、磁気ディスク装置１３のディスク・ドライブに障害があり、上記３通りのコマンド送信種別のいずれによっても、磁気ディスク装置１３にアクセスできない状態を示している。
【００５４】
なお、このようにコマンド送信種別を記憶することにより、ある磁気ディスク装置に対するコマンド送信種別の更新に応じて、他の磁気ディスク装置のコマンド送信種別を併せて更新することが可能である。図３を用いて説明したように、障害発生時のコマンド送信種別は、障害区間を境界として区別できるためである。例えば、図３（ａ）の障害の場合、磁気ディスク装置１３に対するアクセスにおいて、コマンド送信種別が"０"から"１"に更新されると、ループ３０上で磁気ディスク装置１３よりホスト装置１１側に接続された磁気ディスク装置１１及び１２についても、磁気ディスク装置１３と同様に予備ループ４０から応答を受信すべきことを判定できる。このため、こられの磁気ディスク装置に対するコマンド送信種別も"１"に更新することとすればよい。
【００５５】
これにより、磁気ディスク装置１１及び１２のアクセス時には、コマンド送信種別"０"に相当するコマンドを送信して不要なコマンド・タイムアウトを繰り返すことなく、これらの磁気ディスク装置に速やかにアクセスすることが可能となる。
【００５６】
さらに、図３（ａ）の故障の場合は、磁気ディスク装置１３よりもホスト装置１０から遠い磁気ディスク装置１４についても、少なくとも現用ループ３０のみを用いるコマンド送信種別"０"ではアクセスを完了できないことが判定できる。このため、磁気ディスク装置１４に対するコマンド送信種別も"１"に更新することとすればよい。これにより、コマンド送信種別"０"に相当するコマンドを送信して不要なコマンド・タイムアウトを繰り返す必要がなくなる。
【００５７】
また、さらに、図４のコマンド送信種別テーブル１０５のように、ホスト装置１０が各磁気ディスク装置に対するコマンド送信種別を保持することにより、ホスト装置１０において障害区間を特定することが可能となる。上述したように、障害発生時のコマンド送信種別は、障害区間を境界として区別することができる。これにより、従来のＦＣ−ＡＬシステムのような障害箇所を特定するための診断プロセスを実行することなく、障害区間を特定することが可能となる。
【００５８】
具体的には、ホスト装置１０は、コマンド送信種別テーブル１０５を参照し、ＦＣ−ＡＬループのデータ送信方向においてコマンド送信種別が"１"から"２"に変化する磁気ディスク装置を識別することにより、コマンド送信種別が変化する磁気ディスク装置とその手前の磁気ディスク装置との間が障害区間であることを特定することができる。例えば、図３（ａ）又は（ｂ）の障害では、図４（ｂ）で示されるコマンド送信種別テーブル１０５を参照することにより、磁気ディスク装置１３と１４の間の区間が障害区間であることを特定できる。
【００５９】
次に、コマンド送信種別に応じたコマンド送信動作を図５のフローチャートを用いて説明する。まず、ステップＳ２０１では、ホスト装置１０が、コマンド送信先の磁気ディスク装置のコマンド送信種別にしたがって、コマンドを送信する。当該コマンドがタイムアウトした場合（ステップＳ２０２）、ホスト装置１０は送信先磁気ディスク装置のコマンド送信種別を更新する（ステップＳ２０３）。なお、コマンド送信種別は、"０"、"１"、"２"、"３"の順で更新する。コマンド送信種別の更新後に、改めてコマンド送信を行う（ステップＳ２０１）。
【００６０】
以上に述べたように、本実施の形態にかかるディスク・サブシステム１は、ＦＣ−ＡＬループ３０に障害が発生した場合に、障害区間の磁気ディスク装置をバイパスすることなく、さらに障害の発生したＦＣ−ＡＬループ全体を予備ループに切り替えることなく、障害区間の磁気ディスク装置にアクセス可能な状態を維持することができるため、充良に比べてディスク・サブシステムの可用性を高めることができる。
【００６１】
なお、本実施の形態で示したディスク・サブシステム１が備える、ホスト装置１０の台数、磁気ディスク装置１１乃至１４の台数は一例である。ＦＣ−ＡＬに接続可能なデバイス数の範囲内において、より多数の磁気ディスク装置が接続される大規模な構成においても本発明は適用可能である。
【００６２】
発明の実施の形態２．
図６は、本実施の形態にかかるディスク・サブシステム２の構成図である。ディスク・サブシステム２は、発明の実施の形態１にかかるディスク・サブシステム１と同様に、ホスト装置１０と磁気ディスク装置１１乃至１４とがＦＣ−ＡＬループ３０及び４０によって接続されたＦＣ−ＡＬシステムである。
【００６３】
ポート・バイパス回路２１０乃至２１４並びに２２０乃至２２４は、図８に示した従来のポート・バイパス回路２１０乃至２１４並びに２２０乃至２２４と同様に、ホスト装置１０並びに磁気ディスク装置１１乃至１４の各デバイスをＦＣ−ＡＬループ３０又は４０から切り離すことが可能である。なお、その他の構成要素については、発明の実施の形態１にかかるディスク・サブシステム１が備えるものと同様であるため、同一の符号を付して説明を省略する。
【００６４】
ディスク・サブシステム２は、ポート・バイパス回路２１０乃至２１４並びに２２０乃至２２４を備えることにより、発明の実施の形態１で説明したコマンド送信種別に基づいてＦＣ−ＡＬループの障害区間を特定することに加え、障害区間に含まれるトランスミッタ、伝送路、レシーバのうち、いずれが障害箇所であるかを判定することを可能としたものである。以下では、ポート・バイパス回路を使用した障害箇所の特定方法を、図７を用いて説明する。
【００６５】
図７（ａ）は、磁気ディスク装置１３のループ３０側のトランスミッタ１３２に障害が発生した場合を示している。このとき、コマンド送信種別テーブル１０５を参照することにより、磁気ディスク装置１３と１４の間が障害区間であることが特定できる。さらに、障害区間においてホスト装置１０に近い側の磁気ディスク装置１３を、ポート・バイパス回路２１３を制御することによってバイパスする。図７（ａ）の場合、磁気ディスク装置１３のバイパスによって、ループ３０の障害が回復するため、磁気ディスク装置１３のトランスミッタ１３２の故障であることが特定できる。一方、ループ３０の障害が回復しない場合は、伝送路又は磁気ディスク装置１４のレシーバ１４１の故障であることが分かる。
【００６６】
一方、図７（ｂ）は、磁気ディスク装置１３と１４の間の伝送路に障害が発生した場合を示している。この場合には、上記の磁気ディスク装置１３のバイパスではループ３０の障害が回復しないため、伝送路又は磁気ディスク装置１４のレシーバ１４１の故障であることが分かる。そこで、さらに、ポート・バイパス回路２１４を制御することによって磁気ディスク装置１４をバイパスする。これにより障害が回復する場合は、磁気ディスク装置１４のレシーバ１４１の障害と特定でき、障害が回復しない場合は、伝送路の障害と特定できる。
【００６７】
このように、コマンド送信種別に基づいて障害区間を特定した後、特定した障害区間の両端の磁気ディスク装置のバイパスを実行することにより、障害区間中での障害箇所の特定を速やかに行うことができる。
【００６８】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。上述の実施の形態では、本発明をディスク・サブシステムに適用した場合について説明したが、例えばテープ・ドライブ等の磁気ディスク装置以外のデータ記憶装置を含むストレージ・サブシステム、その他のＦＣ−ＡＬシステムにも適用可能である。
【図面の簡単な説明】
【００６９】
【図１】本発明にかかるディスク・サブシステムの構成図である。
【図２】本発明にかかるディスク・サブシステムの動作を示すフローチャートである。
【図３】本発明にかかるディスク・サブシステムの動作を説明するための図である。
【図４】コマンド送信種別テーブルの一例を示す図である。
【図５】本発明にかかるディスク・サブシステムの動作を示すフローチャートである。
【図６】本発明にかかるディスク・サブシステムの構成図である。
【図７】本発明にかかるディスク・サブシステムにおける故障箇所の特定方法を説明するための図である。
【図８】従来のディスク・サブシステムの構成図である。
【図９】従来のディスク・サブシステムの動作を説明するための図である。
【符号の説明】
【００７０】
１、２  ディスク・サブシステム
１０  ホスト装置
１１〜１４  磁気ディスク装置
３０、４０  ＦＣ−ＡＬループ
１０１、１１１、１２１、１３１、１４１、１０３、１１３、１２３、１３３、１４３  レシーバ
１０２、１１２、１２２、１３２、１４２、１０４、１１４、１２４、１３４、１４４  トランスミッタ
１０５  コマンド送信種別テーブル
２１０〜２１４、２２０〜２２４  ポート・バイパス回路
【図１】
2007026148.tif 000003
【図２】
2007026148.tif 000004
【図３】
2007026148.tif 000005
【図４】
2007026148.tif 000006
【図５】
2007026148.tif 000007
【図６】
2007026148.tif 000008
【図７】
2007026148.tif 000009
【図８】
2007026148.tif 000010
【図９】
2007026148.tif 000011