(57)【要約】【課題】  一つ以上のストレージシステムの仮想ボリュームマッピングを生成することを含む、外部ストレージシステムを接続するためのシステムと方法を提供する。【解決手段】  物理ストレージボリューム及び／又は一つ以上の第二のストレージシステムの第二の仮想ストレージボリュームに仮想ストレージボリュームを関連つける各ストレージシステムの各仮想ボリュームマッピング。アクセス要求は仮想ボリュームを特定する第一のストレージシステムで受信される。第一のストレージシステムの仮想ボリュームマッピング及び／又は一つ以上の第二のストレージシステムの仮想ボリュームマッピングを使用して、アクセス要求で特定される仮想ボリュームに関連つける物理ストレージボリュームがどのストレージシステムに配置されるかを決定する。【選択図】      図１
2006024215.tif 000002
【特許請求の範囲】
【請求項１】
物理ストレージボリュームと、少なくとも一つの第二のストレージシステムにおける少なくとも一つの第二の仮想ストレージボリュームの中の少なくとも一つとに、仮想ストレージボリュームを関連させる各ストレージシステムにおける仮想ボリュームマッピングを一つ以上のストレージシステムにおいて生成するステップと、
第一のストレージシステムにおいて仮想ボリュームを特定するアクセス要求を受信するステップと、
前記アクセス要求で特定される仮想ボリュームに関連する物理ストレージボリュームが前記第一のストレージシステムの前記仮想ボリュームマッピングと一つ以上の第二のストレージシステムの仮想ボリュームマッピングの中の少なくとも一つを使用して、どのストレージシステムに配置されるかを決定するステップと、
前記物理ストレージボリュームがどのストレージシステムに配置されるかをベースに前記物理ストレージボリュームへのアクセスを提供するステップと、
を備える、外部ストレージシステムを接続する方法。
【請求項２】
前記決定するステップは、アクセス要求のタイプを決定するステップを更に備える、請求項１に記載の方法。
【請求項３】
前記アクセス要求の処理の間に検出されるエラーをアクセス要求の送信元に報告するステップを更に備える、請求項１に記載の方法。
【請求項４】
前記アクセス要求の成功した処理をアクセス要求の送信元に報告するステップを更に備える、請求項１に記載の方法。
【請求項５】
前記アクセス要求は、データ書き込み要求を備える、請求項１に記載の方法。
【請求項６】
前記仮想ボリュームが関連キャッシュを有するかをチェックするステップを更に備える、請求項１に記載の方法。
【請求項７】
もしも、キャッシュが存在するならば、前記アクセス要求に関連する書き込みデータをキャッシュ装置に書き込み、キャッシュ要求を生成するステップを更に備える、請求項６に記載の方法。
【請求項８】
もしも、キャッシュが存在しないならば、前記アクセス要求で特定される仮想ボリュームが、前記第一のストレージシステムの物理ストレージボリューム、又は少なくとも一つの第二のストレージシステムの第二の仮想ストレージボリュームにマッピングされるかを決定するステップを更に備える、請求項６に記載の方法。
【請求項９】
もしも、前記アクセス要求で特定される仮想ボリュームが前記第一のストレージシステムの物理ストレージボリュームにマッピングされるならば、前記アクセス要求に関連する書き込みデータを前記第一のストレージシステムの前記物理ストレージボリュームに書き込むステップを更に備える、請求項８に記載の方法。
【請求項１０】
前記アクセス要求に関連する前記書き込みデータを前記第一のストレージシステムの前記物理ストレージボリュームに書き込む間にエラーが検出されたかを決定し、もしも、検出されたならば、前記エラーを記録するステップを更に備える、請求項９に記載の方法。
【請求項１１】
もしも、前記アクセス要求で特定される仮想ボリュームが、少なくとも一つの第二のストレージシステムの第二の仮想ストレージボリュームにマッピングされるならば、前記アクセス要求で特定される仮想ボリュームのマッピングタイプを決定するステップを更に備える、請求項８に記載の方法。
【請求項１２】
マッピングタイプが一対一タイプであることを決定するステップと、
前記少なくとも一つの第二のストレージシステムと前記少なくとも一つの第二のストレージシステムへのインタフェースが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムと、前記インタフェースとが動作可能であるならば、前記アクセス要求に関連する書き込みデータを、前記インタフェースを経由して、前記少なくとも一つの第二のストレージシステムの前記第二の仮想ストレージボリュームに送信するステップと、
もしも、前記少なくとも一つの第二のストレージシステム又は前記インタフェースが動作可能でないか、又は、もしも、前記アクセス要求に関連する前記書き込みデータを、前記少なくとも一つの第二のストレージシステムの前記第二の仮想ストレージボリュームに送信する間にエラーが検出されたならば、エラーを記録するステップと、
を更に備える、請求項１１に記載の方法。
【請求項１３】
マッピングタイプがデュアルパスタイプであることを決定するステップと、
前記少なくとも一つの第二のストレージシステムの主ストレージシステムと、主ストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムの前記主ストレージシステムと、前記インタフェースとが動作可能であるならば、前記アクセス要求に関連する書き込みデータを有する書き込み要求を、前記インタフェースを経由して、前記主ストレージシステムの第二の仮想ストレージボリュームに送信するステップと、
もしも、前記主ストレージシステム又は前記主ストレージシステムへの前記インタフェースが動作可能でないならば、前記少なくとも一つの第二のストレージシステムの次のストレージシステムと、次のストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムの前記次のストレージシステムと、前記次のストレージシステムへの前記インタフェースとが動作可能であり、前記主ストレージシステム、又は前記主ストレージシステムへの前記インタフェースとが動作可能でないならば、前記アクセス要求に関連する書き込みデータを有する書き込み要求を、前記次のストレージシステムへの前記インタフェースを経由して、前記次のストレージシステムの第二の仮想ストレージボリュームに送信するステップと、
もしも、前記主ストレージシステム又は前記主ストレージシステムへの前記インタフェースが動作可能でないか、又は、もしも、前記次のストレージシステム又は前記次のストレージシステムへの前記インタフェースが動作可能でないか、又はもしも、前記アクセス要求に関連する書き込みデータを有する前記書き込み要求を送信する間にエラーが検出されたならば、エラーを記録するステップと、
を更に備える、請求項１１に記載の方法。
【請求項１４】
前記少なくとも一つの第二のストレージシステムの第一の次のストレージシステムと、第一の次のストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
マッピングタイプがミラータイプであることを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムの前記第一の次のストレージシステムと、前記第一の次のストレージシステムへの前記インタフェースとが動作可能であるならば、前記アクセス要求に関連する書き込みデータを有する書き込み要求を前記第一の次のストレージシステムへの前記インタフェースを経由して前記第一の次のストレージシステムの第二の仮想ストレージボリュームに送信するステップと、
もしも、前記第一の次のストレージシステム又は前記第一の次のストレージシステムへの前記インタフェースが動作可能でないならば、前記少なくとも一つの第二のストレージシステムの第二の次のストレージシステムと前記第二の次のストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムの前記第二の次のストレージシステムと、前記第二の次のストレージシステムへの前記インタフェースとが動作可能であり、前記第一の次のストレージシステム又は前記第一の次のストレージシステムへの前記インタフェースが動作可能でないならば、前記アクセス要求に関連する書き込みデータを有する書き込み要求を前記第二の次のストレージシステムへの前記インタフェースを経由して前記第二の次のストレージシステムの第二の仮想ストレージボリュームに送信するステップと、
もしも、前記第一の次のストレージシステム又は前記第一の次のストレージシステムへの前記インタフェースが動作可能でないか、又はもしも前記第二の次のストレージシステム又は前記第二の次のストレージシステムへの前記インタフェースが動作可能でないか、又は、もしも、前記アクセス要求に関連する書き込みデータを有する前記書き込み要求を送信する間にエラーが検出されたならば、エラーを記録するステップと、
を更に備える、請求項１１に記載の方法。
【請求項１５】
マッピングタイプが鎖状タイプであることを決定するステップと、
前記少なくとも一つの第二のストレージシステムと、前記少なくとも一つの第二のストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムと、前記インタフェースとが動作可能ならば、前記アクセス要求に関連する書き込みデータを前記インタフェースを経由して前記少なくとも一つの第二のストレージシステムの前記第二の仮想ストレージボリュームに送信するステップと、
もしも、前記少なくとも一つの第二のストレージシステム又は前記インタフェースが動作可能でないか、又は、もしも、前記アクセス要求に関連する前記書き込みデータを前記少なくとも一つの第二のストレージシステムの前記第二の仮想ストレージボリュームに送信する間にエラーが検出されたならば、エラーを記録するステップと、
更に備える、請求項１１に記載の方法。
【請求項１６】
前記アクセス要求は、データ読み出し要求を備える、請求項１に記載の方法。
【請求項１７】
前記仮想ボリュームが関連キャッシュを有するかをチェックするステップを更に備える、請求項１６に記載の方法。
【請求項１８】
もしも、キャッシュが存在するならば、前記アクセス要求に関連する読み出しデータがキャッシュ装置に格納されているかを決定するステップを更に備える、請求項１７に記載の方法。
【請求項１９】
もしも、キャッシュが存在し、前記アクセス要求に関連する読み出しデータが前記キャッシュ装置に格納されているならば、前記アクセス要求に関連する読み出しデータを前記キャッシュ装置から読み出し、前記アクセス要求の要求元へ前記読み出しデータを送信するステップを更に備える、請求項１８に記載の方法。
【請求項２０】
もしも、キャッシュが存在しなければ、前記アクセス要求で特定される仮想ボリュームが前記第一のストレージシステムの物理ストレージボリューム又は前記少なくとも一つの第二のストレージシステムの第二の仮想ストレージボリュームにマッピングされるかを決定するステップを更に備える、請求項１７に記載の方法。
【請求項２１】
もしも、前記アクセス要求で特定される仮想ボリュームが前記第一のストレージシステムの前記物理ストレージボリュームにマッピングされるならば、前記第一のストレージシステムの物理ストレージボリュームから前記読み出しデータを読み出すステップを更に備える、請求項２０に記載の方法。
【請求項２２】
もしも、前記アクセス要求で特定される仮想ボリュームが前記少なくとも一つの第二のストレージシステムの第二の仮想ストレージボリュームにマッピングされるならば、前記アクセス要求で特定される仮想ボリュームの構成を決定するステップを更に備える、請求項２０に記載の方法。
【請求項２３】
構成が一対一タイプであることを決定するステップと、
前記少なくとも一つの第二のストレージシステム及び前記少なくとも一つの第二のストレージシステムへのインタフェースが動作可能であるかを決定するスッテプと、
もしも、前記少なくとも一つの第二のストレージシステム及び前記インタフェースが動作可能であるならば、読み出し要求を前記インタフェースを経由して前記少なくとも一つの第二のストレージシステムの前記第二の仮想ストレージボリュームに送るステップと、
前記読み出し要求に関連する読み出しデータを受信するステップと、
もしも、前記少なくとも一つの第二のストレージシステム又は前記インタフェースが動作可能でないか、又はもしも前記少なくとも一つの第二のストレージシステムの前記第二の仮想ストレージボリュームに前記読み出し要求を送るか、又は前記読み出し要求に関連する前記読み出しデータを受信する間にエラーが検出されたならば、エラーを記録するステップと、
を更に備える、請求項２２に記載の方法。
【請求項２４】
構成がデュアルパスタイプ又はミラータイプの一つであることを決定するステップと、
前記少なくとも一つの第二のストレージシステムの主ストレージシステムと、主ストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムの前記主ストレージシステムと、前記インタフェースとが動作可能であるならば、読み出し要求を、前記インタフェースを経由して、前記主ストレージシステムの第二の仮想ストレージボリュームに送るステップと、
もしも、前記主ストレージシステム又は前記主ストレージシステムへの前記インタフェースが動作可能でないならば、前記少なくとも一つの第二のストレージシステムの次のストレージシステムと、次のストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムの前記次のストレージシステムと、前記次のストレージシステムへの前記インタフェースとが動作可能であり、前記主ストレージシステム又は前記主ストレージシステムへの前記インタフェースが動作可能でないならば、読み出し要求を、前記次のストレージシステムへの前記インタフェースを経由して、前記次のストレージシステムの第二の仮想ストレージボリュームに送るステップと、
前記読み出し要求に関連する読み出しデータを受信するステップと、
もしも、前記主ストレージシステム又は前記主ストレージシステムへの前記インタフェースが動作可能でないか、又は、もしも、前記次のストレージシステム又は前記次のストレージシステムへの前記インタフェースが動作可能でないか、又は、もしも、前記アクセス要求に関連する書き込みデータを有する前記書き込み要求を送るか、又は前記読み出し要求に関連する前記読み出しデータを受信する間にエラーが検出されるならば、エラーを記録するステップと、
を更に備える、請求項２２に記載の方法。
【請求項２５】
構成が鎖状タイプであることを決定するステップと、
読み出しデータが読み出される少なくとも一つの第二のストレージシステムの一つを決定するステップと、
前記少なくとも一つの第二のストレージシステムと、前記少なくとも一つの第二のストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムと、前記インタフェースとが動作可能であるならば、前記インタフェースを経由して、前記少なくとも一つの第二のストレージシステムの第二の仮想ストレージボリュームへ読み出しデータ要求を送るステップと、
もしも、前記少なくとも一つの第二のストレージシステム又は前記インタフェースが動作可能でないか、又は、もしも、前記少なくとも一つの第二のストレージシステムの前記第二の仮想ストレージボリュームへ前記読み出し要求を送る間にエラーが検出されたならば、エラーを記録するステップと、
を更に備える、請求項２２に記載の方法。
【請求項２６】
前記アクセス要求は、装置情報取得要求を含む、請求項１に記載の方法。
【請求項２７】
前記アクセス要求で特定される仮想ボリュームが、前記第一のストレージシステムの物理ストレージボリューム又は少なくとも一つの第二のストレージシステムの第二の仮想ストレージボリュームにマッピングされているかを決定するステップを更に備える、請求項２６に記載の方法。
【請求項２８】
もしも、前記アクセス要求で特定される仮想ボリュームが前記第一のストレージシステムの前記物理ストレージボリュームにマッピングされているならば、前記第一のストレージシステムの前記物理ストレージボリュームが動作可能であるかを決定するステップを更に備える、請求項２７に記載の方法。
【請求項２９】
もしも、前記第一のストレージシステムの前記物理ストレージボリュームが動作可能であれば、前記物理ストレージボリュームに対する装置情報を取り出し、前記アクセス要求の要求元に装置情報を送るステップを更に備える、請求項２８に記載の方法。
【請求項３０】
前記装置情報は、ボリュームマッピング情報とパス情報とを含む、請求項２９に記載の方法。
【請求項３１】
もしも前記第一のストレージシステムの前記物理ストレージボリュームが動作可能でないならば、障害ステータスを含む装置情報を生成するステップをさらに有することを特徴とする請求項２８の方法。
【請求項３２】
もしも、前記アクセス要求で特定される仮想ボリュームが少なくとも一つの第二のストレージシステムの第二の仮想ストレージボリュームにマッピングされているならば、前記アクセス要求で特定される仮想ボリュームの構成を決定するステップを更に備える、請求項２７に記載の方法。
【請求項３３】
構成が一対一タイプであることを決定するステップと、
前記少なくとも一つの第二のストレージシステムと、前記少なくとも一つの第二のストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムと、前記インタフェースとが動作可能であるならば、前記インタフェースを経由して前記少なくとも一つの第二のストレージシステムの前記第二の仮想ストレージボリュームに装置情報取得要求を送るステップと、
前記装置情報取得要求に関連する装置情報を受信するステップと、
前記アクセス要求の要求元に装置情報を送るステップと、
を更に備える、請求項３２に記載の方法。
【請求項３４】
もしも、前記少なくとも一つの第二のストレージシステム又は前記少なくとも一つの第二のストレージシステムへのインタフェースが動作可能でないならば、障害ステータスを含む装置情報を生成するステップを更に備える、請求項３３に記載の方法。
【請求項３５】
前記装置情報は、ボリュームマッピング情報とパス情報とを含む、請求項３３に記載の方法。
【請求項３６】
構成がデュアルパスタイプとミラータイプの一つであることを決定するステップと、
前記少なくとも一つの第二のストレージシステムの主ストレージシステムと、前記主ストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムの前記主ストレージシステムと、前記インタフェースとが動作可能であれば、前記インタフェースを経由して前記主ストレージシステムの第二の仮想ストレージボリュームに装置情報取得要求を送るステップと、
前記要求に関連する装置情報を受信するステップと、
前記アクセス要求の要求元に前記装置情報を送るステップと、
もしも、前記主ストレージシステム又は前記主ストレージシステムへの前記インタフェースが動作可能でないならば、前記少なくとも一つの第二のストレージシステムの次のストレージシステムと次のストレージシステムへのインタフェースが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムの前記次のストレージシステムと、前記次のストレージシステムへの前記インタフェースとが動作可能であり、前記主ストレージシステム又は前記主ストレージシステムへの前記インタフェースが動作可能でないならば、前記次のストレージシステムへの前記インタフェースを経由して前記次のストレージシステムの第二の仮想ストレージボリュームに装置情報取得要求を送るステップと、
前記要求に関連する装置情報を受信するステップと、
前記アクセス要求の要求元に前記装置情報を送るステップと、
を更に備える、請求項３２に記載の方法。
【請求項３７】
もしも、前記主ストレージシステム又は前記主ストレージシステムへの前記インタフェースが動作可能でなく、及び、もしも、前記次のストレージシステム又は前記次のストレージシステムへの前記インタフェースが動作可能でないならば、障害ステータスを含む装置情報を生成するステップを更に備える、請求項３６に記載の方法。
【請求項３８】
前記装置情報は、ボリュームマッピング情報とパス情報とを含む、請求項３６に記載の方法。
【請求項３９】
構成が鎖状タイプであることを決定するステップと、
データ無しの装置情報を生成するステップと、
前記少なくとも一つの第二のストレージシステムと、前記少なくとも一つの第二のストレージシステムへのインタフェースとが動作可能であるかを決定するステップと、
もしも、前記少なくとも一つの第二のストレージシステムと、前記インタフェースとが動作可能であるならば、前記インタフェースを経由して前記少なくとも一つの第二のストレージシステムの前記第二の仮想ストレージボリュームに装置情報取得要求を送るステップと、
現在の装置情報を受信するステップと、
前記装置情報に受信した現在の装置情報を追加するステップと、
前記少なくとも一つの第二のストレージシステム毎に前記決定、送り、受信、追加のステップを繰り返すステップと、
前記アクセス要求の要求元に前記装置情報を送るステップと、
を更に備える、請求項３２に記載の方法。
【請求項４０】
動作可能でない前記少なくとも一つの第二のストレージシステム又は前記少なくとも一つの第二のストレージシステムへのインタフェース毎に前記装置情報に障害ステータスを追加するステップを更に備える、請求項３９に記載の方法。
【請求項４１】
前記装置情報は、ボリュームマッピング情報とパス情報とを含む、請求項３９に記載の方法。
【請求項４２】
物理ストレージボリュームへのアクセスを提供する仮想ストレージボリュームにアクセス要求を開始する少なくとも一つのホスト装置と、
物理ストレージボリュームと、少なくとも一つの第二のストレージシステムの少なくとも一つの第二の仮想ストレージボリュームの中の少なくとも一つとに仮想ストレージボリュームを関連つける仮想ボリュームマッピングを含み、及び前記仮想ストレージボリュームと、前記物理ストレージボリュームの中の少なくとも一つとをさらに含む少なくとも一つのストレージシステムと、
第一のインタフェースを経由して少なくとも一つのホスト装置と、第二のインタフェースを経由して少なくとも一つのストレージシステムに動作可能状態で接続される少なくとも一つのスイッチと、
を備え、
前記各ストレージシステムは、前記アクセス要求を受信することが可能であり、前記第一のストレージシステムの前記仮想ボリュームマッピングと、一つ以上の第二のストレージシステムの仮想ボリュームマッピングの中の少なくとも一つとを使用して、前記物理ストレージボリュームがどのストレージシステムに配置されるかを決定することが可能であり、及び前記物理ストレージボリュームがどのストレージシステムに配置されるかをベースに前記物理ストレージボリュームにアクセスを提供することが可能である、外部ストレージシステムを接続するためのシステム。
【請求項４３】
前記第一のストレージシステムと前記第二のストレージシステムとの間の相互接続を提供するワイドエリアネットワーク（ＷＡＮ：Ｗｉｄｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）を更に備える、請求項４２に記載のシステム。
【請求項４４】
少なくとも一つのゲートウェイを経由して前記第一のストレージシステムと、前記第二のストレージシステムとの間の相互接続を提供するワイドエリアネットワーク（ＷＡＮ：Ｗｉｄｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）を更に備える、請求項４３に記載のシステム。
【請求項４５】
前記少なくとも一つのストレージシステムの管理を可能にする少なくとも一つの管理サーバを更に備える、請求項４２に記載のシステム。
【請求項４６】
前記管理は、前記少なくとも一つのストレージシステムを構成すること、前記少なくとも一つのストレージシステムの可用性を監視すること、及び前記少なくとも一つのストレージシステムに関係する構成情報と監視情報を表示することの少なくとも一つを含む、請求項４５に記載のシステム。
【請求項４７】
前記少なくとも一つのストレージシステムは、前記少なくとも一つのスイッチへの外部インタフェース、前記仮想ストレージボリュームと前記物理ストレージボリュームの中の少なくとも一つ、及び前記仮想ストレージボリュームと前記物理ストレージボリュームの中の前記少なくとも一つを制御するための、少なくとも一つのディスクコントローラを含む、請求項４２に記載のシステム。
【請求項４８】
もしも、前記アクセス要求の前記仮想ストレージボリュームが少なくとも一つの第二のストレージシステムの第二の仮想ストレージボリュームにマッピングされるならば、前記少なくとも一つのストレージシステムは、前記アクセス要求の前記仮想ストレージボリュームの構成を決定する、請求項４２に記載のシステム。
【請求項４９】
前記構成は、一対一構成、デュアルパス構成、ミラー構成、鎖状構成の中の一つを含む、請求項４８に記載のシステム。
【請求項５０】
ディスクコントローラと、
少なくとも一つの仮想ストレージボリュームと、
物理ストレージボリュームへのアクセス要求を受信するため、及び少なくとも一つの第二のストレージシステムにインタフェースをとるための少なくとも一つの外部インタフェースと、
物理ストレージボリュームと、少なくとも一つの第二のストレージシステムにおける少なくとも一つの第二の仮想ストレージボリュームの中の少なくとも一つとに仮想ストレージボリュームを関連させる仮想ボリュームマッピングと、
を備えるストレージシステムにおいて、
前記ストレージシステムは、前記ストレージシステムの前記仮想ボリュームマッピングと、前記少なくとも一つの第二のストレージシステムの仮想ボリュームマッピングの中の少なくとも一つとを使用して、前記アクセス要求に関連する前記物理ストレージボリュームがどのストレージシステムに配置されるかを決定すること、及び前記物理ストレージボリュームがどのストレージシステムに配置されるかをベースに前記物理ストレージボリュームにアクセスを提供することが可能である、ストレージシステム。
【請求項５１】
キャッシュメモリを更に含む、請求項５０に記載のストレージシステム。
【請求項５２】
少なくとも一つの物理ストレージボリュームを更に備える、請求項５０に記載のストレージシステム。
【請求項５３】
管理インタフェースを更に備える、請求項５０に記載のストレージシステム。
【請求項５４】
仮想ストレージボリュームと、物理ストレージボリュームの中の少なくとも一つとに前記ディスクコントローラを動作可能状態で接続する少なくとも一つの内部インタフェースを更に備える、請求項５０に記載のストレージシステム。
【請求項５５】
前記ストレージシステムは、ストレージエリアネットワーク（ＳＡＮ：ＳｔｏｒａｇｅＡｒｅａ Ｎｅｔｗｏｒｋ）に含まれる、請求項５０に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージシステムに関連し、更に特に、ストレージエリアネットワーク（ＳＡＮ：Ｓｔｏｒａｇｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）システムの仮想ストレージボリュームマッピング経由で適切なストレージシステムにＩ／Ｏ要求をルーティングすることに関する。
【背景技術】
【０００２】
ストレージエリアネットワーク（ＳＡＮ）は多量のデータを格納し取り出す解決方法を提供する。典型的なＳＡＮネットワーク構成は、インタフェースを通して一つ以上のネットワーク装置又はスイッチに相互接続した一つ以上のホスト装置を含む。ネットワーク装置又はスイッチは第二のネットワーク又はインタフェースを通して一つ以上のデータストレージ装置に相互接続される。多くのＳＡＮ構成はファイバチャネル（ＦＣ：Ｆｉｂｒｅ Ｃｈａｎｎｅｌ）をインタフェース又はネットワークとして使用するが、イーサネット、インフィニバンド、インターネット、及び他のネットワーク／インタフェースもＳＡＮ構成の中で使用することができる。
【０００３】
ひとつのＳＡＮシステムには、一つ以上の物理的に分離し独立したＳＡＮが存在してもよい。物理的に分離し独立したＳＡＮが求められるのは、ユーザがデータアクセスの安全性を要求するためである。例えば、もしもシステムが、二つの物理的に分離し独立したＳＡＮ、ＳＡＮ＿ＡとＳＡＮ＿Ｂを含み、もしもＳＡＮ＿Ａのサーバがハックされても、ハッカーはＳＡＮ＿Ｂのストレージシステムにアクセスすることはできない。何故ならば、ＳＡＮ＿ＢのストレージシステムはＳＡＮ＿Ａのそれからは物理的に分離し独立しているからである。更にユーザは、ＳＡＮ＿ＢのサーバのＩ／Ｏ性能に影響するようなＳＡＮ＿ＡのサーバからのＩ／Ｏ負荷を望まない。従って、ＳＡＮ＿ＡとＳＡＮ＿Ｂが物理的に分離し独立していることを求める。もしもこれらのサーバが一つのＳＡＮ構成を共有するならば、性能の低下が生じるであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、安全性や入力／出力（Ｉ／Ｏ）性能が優先的でないシステムでは、物理的に分離し独立したＳＡＮは問題であるかもしれない。一つのＳＡＮ（例えば、ＳＡＮ＿Ａ）に接続したサーバは他のＳＡＮ（例えば、ＳＡＮ＿Ｂ）に接続されない。従ってＳＡＮ＿Ａからのサーバは、ＳＡＮ＿Ｂに関連し接続したいかなるストレージシステムにもアクセスすることはできない。これは、時としてＳＡＮ＿ＡのサーバがＳＡＮ＿Ｂのストレージシステムにアクセスする、又はその逆の要求がある場合に問題である。
【０００５】
いくつかの現在のＳＡＮシステムはネットワークを経由して第一のストレージシステムから第二のストレージシステムにデータを複製する。しかし一つのストレージシステムからのサーバは第二のストレージシステムに複製されたデータを含むデータをアクセスすることはできない。いくつかの他の現在のシステムでは、物理ＳＡＮを複数の論理的ＳＡＮに分離する仮想ＳＡＮ（ＶＳＡＮ）が生成される。一つのＶＳＡＮに接続したサーバから他のＶＳＡＮに接続したストレージシステムへのデータアクセスは制限される。一つのＶＳＡＮのＩ／Ｏ負荷は他のＶＳＡＮから分離できるので、異なったＶＳＡＮの間で性能の低下はない。従って、これらの可能性によって、ユーザは、一つの大きな物理ＳＡＮを生成し、全てのサーバとストレージシステムをこの物理ＳＡＮに接続し、この物理ＳＡＮを複数のＶＳＡＮに分ける選択ができる。しかし、これは、たとえユーザが異なった場所に物理ＳＡＮを有しても、ＶＳＡＮがユーザにこれらの物理ＳＡＮを一つの大きな物理ＳＡＮに接続するように要求する場合には問題である。従って、ＶＳＡＮ機能を有するスイッチは、ＶＳＡＮ構成の一貫した情報を保持するために相互にコミュニケーションする必要がある。更に、長距離のこのようなコミュニケーションはシステムの性能の低下を招く。何故ならば、このようなコミュニケーションは低速度であるからである。他の問題は、ＶＳＡＮはファイバーチャネルプロトコルを認識するが、スモールコンピュータシステムインタフェース（ＳＣＳＩ：Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ ＳｙｓｔｅｍＩｎｔｅｒｆａｃｅ）のようなより上位層を認識しない、ということに存在する。ＶＳＡＮはどのサーバがどのストレージシステムをアクセスできるかを制御するが、どのサーバがストレージシステムのどのボリュームをアクセスできるかを制御しない。さらに、ユーザはＳＣＳＩ層すなわちボリュームレベルでサーバからのデータアクセスを制限したい場合もあろう。何故ならば、ＳＣＳＩ層はより高い柔軟性ときめ細かさを提供するからである。しかし、これは不可能である。
【０００６】
さらに、他の現在のシステムでは、ストレージ仮想化装置がホストとストレージシステムの間に存在し、ホストに仮想ボリュームを提供する。ＶＳＡＮと同様に、もしもホストが異なったＳＡＮのデータをアクセスする必要があれば、仮想化装置はホストが存在するＳＡＮと他のＳＡＮをアクセスできなければならない。結果として、これは、大きな物理的に接続されたネットワークを必要とする。しかし、ストレージ仮想化装置は二つ以上の装置をカスケード接続することによっては使用できない。何故ならば、カスケード接続された環境では、どのデータがどの装置にキャッシュできるかを選択する方法、又は障害がどの装置に発生したかを判断する方法がないからである。また、このような装置は、ディスクコントローラ、キャッシュメモリ、データを格納する物理ストレージ等を有するストレージシステムではない。
【０００７】
従って、一つのＳＡＮのサーバへのアクセスを、他の物理的に分離し独立したＳＡＮのストレージ装置に提供する必要がある。
【課題を解決するための手段】
【０００８】
一つ以上のストレージシステムにおいて仮想ボリュームマッピングを生成することを含み、外部のストレージシステムを接続するためのシステムと方法。物理ストレージボリューム及び／又は一つ以上の第二のストレージシステムの一つの第二の仮想ストレージボリュームに各仮想ストレージボリュームを関連つける、各ストレージシステムにおける各仮想ボリュームマッピング。アクセス要求は仮想ボリュームを指定する第一のストレージシステムで受信される。アクセス要求において特定された仮想ボリュームに関連する物理ストレージボリュームが、どのストレージシステムに配置されるかを、第一のストレージシステムの仮想ボリュームマッピング及び／又は一つ以上の第二のストレージシステムの仮想ボリュームマッピングを使用して決定する。アクセスは、物理ストレージボリュームがどのストレージシステムに配置されるかをベースにして、物理ストレージボリュームに提供される。ストレージエリアネットワークにおいて、及び一対一、デュアルパス、ミラー、鎖状などを含む多くのストレージ構成に対して、有用である。
【発明を実施するための最良の形態】
【０００９】
本発明は、本発明の実施例に限定することなく、言及される複数の図面に関して続く詳細な記述で更に説明される。ここで同じ参照番号はいくつかの図面を通して同様な部分を示す。
【００１０】
ここに示す詳細説明は具体例であり、本発明の実施の説明論議を目的としている。図を伴った説明は、本発明がどのように実際に実施されることができるかをこの技術に精通する人達に明らかにする。
【００１１】
さらに、配置が、本発明を不明確にすることを避けるために、またブロック図配置の実現に関する詳細内容が本発明が実現されるプラットホームに非常に依存している、すなわち詳細内容がこの技術に精通する人の範囲である事実を考慮して、ブロック図の形式で示される。特定の詳細内容（例えば回路、フローチャート）が、本発明の実施例を記述するために使用される場合に、本発明がこれらの特定の詳細内容無しに実現できることはこの技術に精通する人には明確である。結局、実配線の回路とソフトウェア命令のいかなる組み合わせも本発明を実施するのに使用でき、すなわち本発明はハードウェア回路とソフトウェア命令のいかなる特定の組み合わせにも限定されないことは明確である。
【００１２】
本発明の実施例が、例示ホストユニット環境の例示システムブロック図を使用して記述されるが、本発明の実現はこれに限定されない、すなわち本発明は、他のタイプのシステムで、及び他のタイプの環境において実現することができる。
【００１３】
“実施”という言葉の明細説明の中での言及は、実施に関係する特定の特徴、構造、又は特質が本発明の少なくとも一つの実施に含まれることを意味する。明細説明のさまざまな箇所における“実施において”という言葉の出現は、必ずしも全てが同じ実施を指していない。
【００１４】
本発明の実施は、一つのＳＡＮのサーバが他の物理的に分離し独立したＳＡＮのストレージ装置にアクセスすることを可能にするシステムと方法に関係する。サーバからのＩ／Ｏ要求が一つのストレージシステムから他のストレージシステムに転送され、最終的に、最終のストレージシステムによって処理される。データは一つ以上の中間のストレージシステムにキャッシュできる。これは各ストレージシステムの各仮想ボリュームに対して選択できる。各ストレージシステムは仮想ボリュームを提供し、この仮想ボリュームは外部ストレージシステムの異なった仮想ボリュームにマッピングされる。結局、これらのマッピングはデータが格納又は取り出される実ボリュームで終了する。
【００１５】
各ストレージシステムはＩ／Ｏがどの様にルーティングされるかについての情報を提供する。例えば、ペアレントストレージシステムはチャイルドストレージシステムに仮想ボリューム情報について質問し、この情報をペアレントストレージシステムについての情報を有するグランドペアレントストレージシステムに送る。この情報はストレージシステム間のコミュニケーション遅延を含む。エラー又は障害情報は最終のストレージシステムから最初のストレージシステムに上がっていく。どのサーバ又はストレージシステムがどの仮想ボリュームをアクセスできるかは制御できる。中間のストレージシステムはいかなる実ボリューム又は物理ストレージ媒体も有する必要はなく、一つのストレージシステムから受信されたＩ／Ｏ要求を他のストレージシステムにマッピングするマッピング情報を単に有する。
【００１６】
図１は、本発明の実施例による、外部ストレージシステムを接続するシステムの図を示す。システムは、複数のＳＡＮ構成を有する。いろいろなサーバ０１０１０１、０１０１０３、０１０１０５、０１０１０７は、サーバを一つ以上のストレージシステム０１０５０１、０１０５０３、０１０５０５、０１０５０７に相互接続する一つ以上のスイッチ０１０３０１、０１０３０３、０１０３０５に接続される。サーバ、スイッチ、及びストレージシステムは、いくつかのインタフェース０１１１０１〜０１１１２５を経由して相互接続される。二つ以上のＳＡＮは、また一つ以上のゲートウェイ０１０７０１、０１０７０３及び／又は一つ以上のワイドエリアネットワーク（ＷＡＮ）０１０９を経由して相互接続される。ゲートウェイは各場所に配置され、ＷＡＮを経由して遠隔の場所の間でデータを転送する。ＷＡＮは、ＳＡＮが存在しそれらの間のデータコミュニケーションを提供する複数の地理的に分散した場所を接続する長距離ネットワークである（例えば、インターネット）。
【００１７】
一つ以上の管理サーバ０１１３もシステムの中に備えられ、ストレージシステムを管理する方法をユーザに可能にする。管理は、ストレージシステムの構成、ストレージシステムの可用性を監視すること、現在の構成とストレージシステムの監視した情報をグラフィカルユーザインタフェースに表示すること、等を含む。管理サーバはネットワーク０１１５を経由して一つ以上のストレージシステムとコミュニケーションを行う。
【００１８】
サーバはプロセッサ、メモリ、内部ディスクドライブ、等で構成される。オペレーティングシステムとアプリケーションは、オペレーティングシステムとアプリケーションがネットワークを経由してストレージシステムのボリューム上のデータを読み書きする各サーバで走行している。各サーバはホストバスアダプタ（ＨＢＡ）（示されていない）を有しスイッチに接続する。
【００１９】
スイッチ０１０３０１、０１０３０３、０１０３０５は、サーバとストレージシステムを接続し、それらの間でデータを転送する。それらはまたストレージシステムの間でデータを転送する。ファイバチャネルスイッチ、イーサネットスイッチ、インフィニバンドスイッチ、又は他のスイッチがこの目的のために使用される。サーバは、ストレージシステムとの間にスイッチを持たずに直接にストレージシステムと接続することができ、さらに二つ以上のスイッチをカスケード接続することが可能である。
【００２０】
ストレージシステム０１０５０１、０１０５０３、０１０５０５、０１０５０７は、アプリケーションデータをそのボリュームに格納する。ストレージシステムはまたネットワークを経由して他のストレージシステムとコミュニケーションを行い、外部のストレージシステムのデータを読み書きする。これは後でより詳細に議論する。
【００２１】
インタフェース又はケーブル０１１１０１〜０１１１２５は、サーバをスイッチに、サーバをストレージシステムに、ストレージシステムをスイッチに、ストレージシステムを他のストレージシステムに等の接続をする。サーバとストレージシステムは一般的にはスイッチに接続される。しかし、二つのストレージシステムは直接に接続することができる（ストレージシステムＡ（０１０５０１）は、インタフェース０１１１１３を経由してストレージシステムＣ（０１０５０７）に接続されているのを参照）。さらに、この実施例のシステムに示されるように、二つのストレージシステムはＷＡＮの上で接続される。この実施例において、サーバＡ（０１０１０１）、とサーバＢ（０１０１０３）は、スイッチを経由して、ストレージシステムＢ（０１０５０３）、ストレージシステムＣ（０１０５０７）、又はストレージシステムＤ（０１０５０５）にアクセスできない。しかし、本発明により、各ストレージシステムの仮想ボリュームは、サーバＡとサーバＢがこれらのストレージシステムにアクセスすることを可能にするマッピング情報を含む。
【００２２】
図２は本発明の実施例によるストレージシステムの図を示す。ストレージシステム０３０１は、一つ以上の外部インタフェース０３０１０１、一つ以上のディスクコントローラ０３０１０３、一つ以上のキャッシュメモリ０３０１０５、一つ以上の仮想ボリューム０３０１０９、ゼロ個以上の実ボリューム０３０１１３で構成される。これらの構成要素のそれぞれは、内部で相互接続され、お互いにコミュニケーションを行う。サーバ、スイッチ、及び外部ストレージシステムは、外部インタフェース、例えば、ファイバチャネルインタフェース、イーサネットインタフェース、インフィニバンドインタフェース等を経由してストレージシステムに接続される。ディスクコントローラ０３０１０３は、サーバ及び外部ストレージシステムによって発行されるＩ／Ｏ要求を処理する。
【００２３】
ディスクコントローラは、外部インタフェースからＩ／Ｏ要求を受信する。ディスクコントローラはまた、管理サーバによって発行される構成変更要求を処理する。ディスクコントローラは、管理インタフェース及び／又は外部インタフェースから構成変更要求を受信する。さらに、ディスクコントローラは、外部インタフェースを経由して外部ストレージシステムにＩ／Ｏ要求を発行し、ストレージシステム内部の仮想ボリュームと実ボリュームを管理し、ストレージシステム内の実ボリューム及び外部インタフェースを経由してストレージシステム外の仮想ボリュームのデータを読み書きし、高速データアクセスのためにキャッシュメモリにデータを格納する。
【００２４】
キャッシュメモリは、高速アクセスのためにデータを格納する一時的メモリである。内部インタフェースは、ストレージシステム内の実ボリュームに接続され、実ボリューム内のデータへのアクセスを制御するディスクコントローラを提供する。管理インタフェースは、管理サーバに接続される。ディスクコントローラは、管理インタフェースから構成変更要求を受信し、また管理インタフェースを使用し管理サーバに情報を送る。
【００２５】
仮想ボリュームは、データが格納される実ストレージではない。データは、実ボリュームに格納される。サーバは、ストレージシステム内の仮想ボリュームを見つけて、この仮想ボリュームにＩ／Ｏ要求を送る。仮想ボリュームは、サーバにとっては、実ボリュームに見える。ディスクコントローラは、どの仮想ボリュームがストレージシステム内のどの実ボリュームに、又はストレージシステム外のどの仮想ボリュームにマッピングされているかを知っている。実ボリュームは、データを格納し、一つ以上の物理ストレージ媒体、例えば、ハードディスクドライブ、フラッシュメモリ、ＤＶＤメディア等で構成される。本発明の実施によると、ストレージシステムは、その中にいかなる実ボリュームも持たず、すなわちサーバに仮想ボリュームを提供するだけで外部ストレージシステムを使用してデータを格納することが可能である。
【００２６】
本発明の実施によると、サーバは、遠隔のストレージシステムに接続されていないが、サーバは、遠隔のストレージシステム内のデータを読み書きできる。何故ならば、中間のストレージシステムを通過して、サーバとストレージシステムとの間のルートがあるからである。例えば、図１を使用すると、サーバＡは、ストレージシステムＡに接続している。ストレージシステムＡは、ストレージシステムＢに接続している。ストレージシステムＢは、ストレージシステムＤに接続している。もしも、サーバＡがＩ／Ｏ要求をストレージシステムＡに発行すると、Ｉ／Ｏ要求は中間のストレージシステムとネットワークとを経由して、ストレージシステムＤに到達する。一つのストレージシステムから他のストレージシステムに二つ以上のルートが存在できる。例えば、ストレージシステムＡは、ストレージシステムＣ、ゲートウェイＡ、及びＷＡＮとゲートウェイＢも通過してストレージシステムＤにアクセスできる。
【００２７】
各ストレージシステムは、サーバによってアクセス可能な仮想ボリュームを提供することができる。サーバは、サーバが接続しているストレージシステム、例えば、ペアレントストレージシステムの仮想ボリュームにＩ／Ｏ要求を発行する。仮想ボリュームは、データストレージの論理的表現であり、実ストレージではない。仮想ボリュームは、ペアレントストレージシステムが接続している外部ストレージシステム、例えば、次のストレージシステムの外部の仮想ボリュームにマッピングされ、又は、仮想ボリュームは、ペアレントストレージシステム内の実ボリュームにマッピングされる。更に、本発明の実施によると、複数の異なったストレージシステム内に仮想ボリュームの階層が存在する。ペアレントストレージシステムの仮想ボリュームへのＩ／Ｏ要求は最終ストレージシステムの実ボリュームに転送される。データが中間のストレージシステムのキャッシュメモリにキャッシュされることは可能であり、あるいは、データが各仮想ボリュームに対して中間のストレージシステムにキャッシュされるかどうかを選択することは可能である。さらに、ストレージシステムの一つの仮想ボリュームを次のストレージシステム内の一つ以上の仮想ボリュームにマッピングする複数の方法がある。
【００２８】
図３は本発明の実施例による仮想ボリュームマッピングテーブルの図を示す。各ストレージシステムは、ストレージシステムが管理する仮想ボリュームを管理するそれ自身の仮想ボリュームマッピングを有する。故に、各ストレージシステムは異なった仮想ボリュームのマッピングテーブルを有する。しかし、全てのストレージシステムが同様の仮想ボリュームのマッピングテーブルを有することも可能である。仮想ボリュームマッピングテーブルは、いかにしてストレージシステムの仮想ボリュームがストレージシステム内の実ボリュームにマッピングされ、及び／又は、次のストレージシステムの仮想ボリュームにマッピングされるかを示す。本発明による仮想ボリュームマッピングテーブルは、仮想ボリューム０５０１０１、ストレージシステム０５０１０３、次のボリューム０５０１０５、インタフェース（Ｉ／Ｆ）０５０１０７、キャッシュが存在するかどうか０５０１０９、及び、マッピングの構成又はタイプ０５０１１１に関連する情報を含む。仮想ボリューム情報０５０１０１は、ストレージシステムから与えられる仮想ボリュームのＩＤを提供する。ストレージシステム情報０５０１０３、及び、次のボリューム情報０５０１０５は、仮想ボリュームがマッピングされるボリュームのＩＤを提供する。次のストレージシステムの仮想ボリュームは、次の仮想ボリュームが存在する次のストレージシステムのＩＤ及び次の仮想ボリュームのＩＤによって特定される（例えば、ボリューム２を参照）。仮想ボリュームは、ストレージシステム内の実ボリュームにマッピングされることができる（例えば、仮想ボリューム１（ＶＶＯＬ１）を参照）。さらに、一つの仮想ボリュームが二つ以上のボリュームにマッピングされることも可能である（例えば、仮想ボリューム４（ＶＶＯＬ４）を参照）。
【００２９】
Ｉ／Ｆ情報０５０１０７は、次のストレージシステムがアクセスされるストレージシステムの外部インタフェースを示す。キャッシュ情報０５０１０９は、データがストレージシステムに格納されているかどうかを特定する。マッピング情報０５０１１１は、どのようにして仮想ボリュームが他のボリュームにマッピングされるかを特定する。仮想ボリュームは、多くの異なる構成、例えば、内部マッピング、一対一マッピング、デュアルパスマッピング、ミラーマッピング、鎖状マッピング、ＲＡＩＤ５マッピング、等のどれかで他のボリュームにマッピングされる。
【００３０】
図４Ａ〜図４Ｇは、本発明の実施例によるマッピング構成の図を示す。図４Ａは、仮想ボリュームがストレージシステム内の実ボリュームにマッピングされる内部マッピングの図を示す。例えば、ストレージシステムＡの仮想ボリューム１（ＶＶＯＬ１）はストレージシステムＡの物理ボリューム１０（ＰＶＯＬ１０）にマッピングされる。一つの仮想ボリュームがストレージシステム内の複数の実ボリュームにマッピングされることも可能である。
【００３１】
図４Ｂと図４Ｃは、それぞれキャッシュ有りとキャッシュ無しの一対一マッピングの例を示す。ここでは、一つの仮想ボリュームが次のストレージシステムの一つの仮想ボリュームにマッピングされる。例えば、ストレージシステムＡの仮想ボリューム２（ＶＶＯＬ２）は、ストレージシステムＢの仮想ボリューム１１（ＶＶＯＬ１１）にマッピングされる。図４Ｄは、デュアルパスマッピングの例を示す。ここでは、ストレージシステムが最終のストレージシステムへの二つ以上の異なるルートを有する。Ｉ／Ｏ要求はルートの一つを経由して転送され、ストレージシステムがどのルートを使ってＩ／Ｏ要求を転送したとしても、転送されたＩ／Ｏ要求は、データが最終的に読み書きされる実ボリュームを有する同じ最終のストレージシステムによって最終的に受信される。
【００３２】
例えば、仮想ボリューム４（ＶＶＯＬ４）は、ストレージシステムＤの仮想ボリューム１３（ＶＶＯＬ１３）に、及びストレージシステムＥの仮想ボリューム１４（ＶＶＯＬ１４）にマッピングされる。そして、仮想ボリューム１３（ＶＶＯＬ１３）と仮想ボリューム１４（ＶＶＯＬ１４）は、ストレージシステムＸの同じ仮想ボリューム３０（ＶＶＯＬ３０）にマッピングされる。仮想ボリューム３０（ＶＶＯＬ３０）は、ストレージシステムＸの物理ボリューム５０（ＰＶＯＬ５０）にマッピングされる。故に、一つの主パスと、一つ以上の従パスとがある。ディスクコントローラは、最初はＩ／Ｏ要求の転送に主パスを選択し、もしも、接続の障害、又は次のストレージシステムの障害のために主パスが動作可能でないならば、ディスクコントローラは、従パスの一つを選択し、それを使用してＩ／Ｏ要求を転送する。
【００３３】
図４Ｅはミラーマッピング構成の例を示す。ここでは、仮想ボリュームは、二つ以上の次の仮想ボリュームにマッピングされる。Ｉ／Ｏ要求は、次の仮想ボリュームの全てに転送される。ストレージシステムＡの仮想ボリューム５（ＶＶＯＬ５）は、ストレージシステムＦの仮想ボリューム１５（ＶＶＯＬ１５）及びストレージシステムＧの仮想ボリューム１６（ＶＶＯＬ１６）にマッピングされる。仮想ボリューム１５（ＶＶＯＬ１５）は、ストレージシステムＹの仮想ボリューム４０（ＶＶＯＬ４０）に、そして物理ボリューム７０（ＰＶＯＬ７０）にマッピングされる。仮想ボリューム１６（ＶＶＯＬ１６）は、ストレージシステムＺの仮想ボリューム６０（ＶＶＯＬ６０）に、そして物理ボリューム８０（ＰＶＯＬ８０）にマッピングされる。物理ボリューム７０（ＰＶＯＬ７０）と、物理ボリューム８０（ＰＶＯＬ８０）とは、同一のデータを有する。ディスクコントローラは、次のストレージシステムの両方、ストレージシステムＦとストレージシステムＧに、Ｉ／Ｏ要求を転送する。
【００３４】
図４Ｆは鎖状マッピング構成の例を示す。ここでは、仮想ボリュームは、複数の領域に分割され、各領域は、異なる仮想ボリュームにマッピングされる。領域の容量サイズは、マッピングされる次の仮想ボリュームの容量サイズと同じである。この実施例に示されるように、仮想ボリューム５（ＶＶＯＬ５）は、二つの領域に分割され、一つの領域は、ストレージシステムＨの仮想ボリューム１７（ＶＶＯＬ１７）にマッピングされ、他の領域は、ストレージシステムＩの仮想ボリューム１８（ＶＶＯＬ１８）にマッピングされる。
【００３５】
図４Ｇはキャッシュ有りとキャッシュ無しの混合の構成例を示す。本発明の実施により、一連の仮想ボリュームの階層に対して、キャッシュ有り／キャッシュ無しの構成を混合することが可能である。この実施例において、ストレージシステムＣにおける物理ボリューム７１（ＰＶＯＬ７１）のデータは、ストレージシステムＡでは、キャッシュされないが、ストレージシステムＢではキャッシュされる。ＷＡＮを経由するデータアクセスは低速なので、この構成は、データがＷＡＮ上でストレージシステムＣの物理ボリューム７１（ＰＶＯＬ７１）に転送される前に、ストレージシステムＢにおいてデータをキャッシュすることによって、より高速な性能を提供する。
【００３６】
従って、本発明の実施により、ディスクコントローラは、仮想ボリュームのマッピングテーブルを基に、受信したＩ／Ｏ要求を次のストレージシステムに転送することができる。マッピングには、内部マッピング、一対一マッピング、デュアルパスマッピング、ミラーマッピング、鎖状マッピング、ＲＡＩＤ５マッピング等があるが、これらに限定されずに、任意のタイプのマッピング構成でよい。
【００３７】
図５は本発明の実施例によるディスクコントローラのメインルーチンのフローチャートを示す。一度、ルーチンが開始されると（１５０１）、ストレージシステムのディスクコントローラは、サーバ又は外部のストレージシステムからの要求を待つ（１５０３）。一度、ディスクコントローラが要求を受信すると、ディスクコントローラは、要求のタイプをチェックする（１５０５）。ディスクコントローラは、次に、要求のタイプをベースに処理又はサブルーチンを実行する。例えば、要求が書き込み要求ならば、データ書き込みサブルーチン（５０７）が実行され、要求が読み出し要求ならば、データ読み出しサブルーチン（１５０９）が実行され、要求が装置情報取得要求ならば、装置情報取得サブルーチン（１５１１）が実行される。サブルーチンの実行中に、サブルーチンは発生したいかなるエラーも記録するので、実行サブルーチンの完了後に、ディスクコントローラは、記録されたエラーがあるかをチェックする（１５１３）。エラーがあると、ディスクコントローラは、エラーを管理サーバに報告し（１５１５）、エラーメッセージを要求の発行元に送る（１５１７）。エラーがなければ、ディスクコントローラは“成功”メッセージを要求の要求元又は発行元に送る（１５１９）。この処理は、繰り返される。ディスクコントローラは、また、要求に従って、ディスクコントローラが内部の構成を変更する、管理サーバによって発行される構成変更要求を処理する。変更には、例えば、仮想ボリュームマッピングテーブルの変更を含む。
【００３８】
図６は本発明の実施例によるデータ書き込み処理のフローチャートを示す。一度、データ書き込み処理がコールされると（１７０１）、ディスクコントローラは、仮想ボリュームマッピングテーブルの“キャッシュ”列をチェックすることによって、受信要求が発行される仮想ボリュームがキャッシュ可能かキャッシュ不可能かをチェックする（１７０３）。もしも、仮想ボリュームがキャッシュ可能ならば、ディスクコントローラは、受信要求に付加されているデータをそのキャッシュメモリ又は可能ならばキャッシュボリュームに格納し、キャッシュ要求を生成してそのキャッシュ要求をキャッシュ要求キューに入れる（１７０５）。キャッシュボリュームは、データが格納される物理ストレージ媒体であり、揮発性メモリであるキャッシュメモリと比較される。キャッシュボリュームは、不揮発性である。もしも、キャッシュメモリにスペースがないならば、ディスクコントローラは、データを格納するためにキャッシュボリュームを使用する。情報のキャッシュ要求は、キャッシュメモリのデータの場所、データのサイズ、Ｉ／Ｏ要求が発行された仮想ボリュームのＩＤ、及びデータが格納される必要のある仮想ボリューム内のオフセットに関係する。もしも仮想ボリュームがキャッシュ不可能ならば、データ書き込みメインルーチン（１７０７）が実行されて、その後、データ書き込みルーチン（１７０１）を抜ける（１７０９）。
【００３９】
図７は本発明の実施例によるデータ書き込みメインサブ処理のフローチャートを示す。一度、データ書き込みメインサブ処理が実行を開始すると（１９０１）、ディスクコントローラは、受信した要求によって特定される仮想ボリュームがストレージシステム内の実ボリュームにマッピングされているか、又はストレージシステム外の外部仮想ボリュームにマッピングされているかをチェックする（１９０３）。これは、仮想ボリュームマッピングテーブルを使用して行われる。もしも、要求の中で特定された仮想ボリュームが内部の実ボリュームにマッピングされていると、ディスクコントローラは、受信した要求に付加されたデータを、仮想ボリュームにマッピングされる実ボリュームに書き込む（１９０５）。もしも、データ書き込み中にエラーが発生すると（１９０５，１９０７）、ディスクコントローラは、そのメモリにエラーを記録する（１９０９）。もしも、要求の中で特定された仮想ボリュームが外部の仮想ボリュームにマッピングされていると、ディスクコントローラは、仮想ボリュームと外部の仮想ボリュームのマッピングタイプ又は構成をチェックする（１９１１）。マッピングタイプ又は構成によって、一対一書き込み処理（１９１３）が実行され、デュアルパス書き込み処理（１９１５）が実行され、ミラー書き込み処理（１９１７）が実行され、又は鎖状書き込み処理（１９１９）が実行される。構成処理の完了又は実ボリュームへのデータの書き込みの完了の後で、データ書き込みメイン処理は終了する（１９２１）。
【００４０】
図８は本発明の実施例による一対一書き込み処理のフローチャートを示す。一度、処理がコールされると（２１０１）、ディスクコントローラは、次のストレージシステムと次のストレージシステムがアクセスされる外部インタフェースが動作しているかどうかをチェックする（２１０３）。仮想ボリュームマッピングテーブルは、使用する次のストレージシステムと外部インタフェースとを示す。各ディスクコントローラは、障害管理テーブル（後で議論する）を有し、この目的に役立てる。それらの少なくとも一つが動作していなければ、ディスクコントローラは、エラーをそのメモリに記録し（２１０５）、処理を抜ける（２１１１）。もしも、両方が動作していると、ディスクコントローラは、書き込み要求を生成し、外部インタフェースを経由して、次のストレージシステムにそれを送る（２１０７）。書き込み要求は、受信した要求の修正バージョンであり、要求タイプ、読み出し又は書き込み、装置情報取得、仮想ボリュームのＩＤ、データを書き始める仮想ボリュームのオフセット、データのサイズ、及び書き込まれるデータを含むフォーマットを有する。ディスクコントローラは、受信した要求の中の仮想ボリュームのＩＤだけを変更する。ディスクコントローラは、次の仮想ボリュームのＩＤを有する新しい書き込み要求を生成する。新しい要求の他の項目は、受信した要求と同じままである。もしも、書き込み要求の送信中にエラーがあり（２１０７）、検出されると（２１０９）、ディスクコントローラは、そのメモリにエラーを記録する（２１０５）。ディスクコントローラは、エラーを障害管理テーブルにも記録する。一対一書き込み処理が終了すると、この処理を抜ける（２１１１）。
【００４１】
図９は本発明の実施例によるデュアルパス書き込み処理を示す。一度、処理が開始すると（２３０１）、ディスクコントローラは、主たる次のストレージシステムと、主たる次のストレージシステムへの外部インタフェースが動作しているかをチェックする（２３０３）。もしも、それら両方が動作していると、ディスクコントローラは、書き込み要求を生成し、外部インタフェースを経由して、次のストレージシステムにそれを送る（２３０５）。もしも、書き込み要求の送信中になんらかのエラーがあると（２３０７）、ディスクコントローラは、そのメモリと障害管理テーブルにエラーを記録し（２３０９）、ステップ２３１３に進む。もしも、書き込み要求の送信中にエラーがないならば（２３０５）、ディスクコントローラは、この処理を抜ける（２３２１）。もしも、主たる次のストレージシステム又はストレージシステムへのインタフェースが動作していないと、又は、もしも、書き込み要求の送信中にエラーが発生すると（２３０７）、ディスクコントローラは、第二の次のストレージシステムと、第二の次のストレージシステムへのインタフェースが動作しているかをチェックする（２３１３）。もしも、それらが動作していないと、ディスクコントローラは、そのメモリにエラーを記録し（２３１１）、この処理を抜ける（２３２１）。もしも、第二の次のストレージと、ストレージシステムへのインタフェースが動作していると、ディスクコントローラは、書き込み要求を生成し、インタフェースを経由して第二の次のストレージシステムにそれを送る（２３１５）。もしも、送信中にエラーがあると（２３１５，２３１９）、ディスクコントローラは、エラーをそのメモリと障害管理テーブルに記録し（２３１７）、この処理を抜ける（２３２１）。もしも、主ストレージシステムが動作していなくて、しかし、第二のストレージシステムへのＩ／Ｏ要求の送信が成功であると、ディスクコントローラは、エラー応答をディスクコントローラメインルーチンの要求元に送らない。ディスクコントローラは、主ストレージシステムのエラーを管理サーバにだけ送る。もしも、第二の次のストレージシステムへの書き込み要求の送信中にエラーが検出されないと（２３１５）、データ書き込みは、成功であり、ディスクコントローラは、この処理を抜ける（２３２１）。
【００４２】
図１０は本発明の実施例によるミラー書き込み処理のフローチャートを示す。一度、ミラー書き込み処理が開始すると（２５０１）、ディスクコントローラは、主たる次のストレージシステムと、主たる次のストレージシステムへの外部インタフェースが動作しているかをチェックする（２５０３）。もしもそれらが動作していると、ディスクコントローラは、書き込み要求を生成し、外部インタフェースを経由して、次のストレージシステムにそれを送る（２５０５）。もしも、書き込み要求の送信中にエラー検出されると（２５０７）、ディスクコントローラは、そのメモリと障害管理テーブルにエラーを記録し（２５０９）、ステップ２５１３に進む。もしも、書き込み要求の送信中にエラーが検出されないと（２５０５）、ディスクコントローラは、またステップ２５１３に進み、ここでは、ディスクコントローラは、第二の次のストレージシステムと、第二の次のストレージシステムへのインタフェースが動作しているかをチェックする。もしも、それらが動作していないと、ディスクコントローラは、そのメモリにエラーを記録し（２５１１）、この処理を抜ける（２５２１）。従って、データ書き込みは、完全に失敗した。
【００４３】
もしも、第二の次のストレージシステムと、第二の次のストレージシステムへのインタフェースが動作していると、ディスクコントローラは、書き込み要求を生成し、外部のインタフェースを経由して、第二の次のストレージシステムにそれを送る（２５１５）。もしも、書き込み要求の送信中にエラーが検出されると（２５１９）、ディスクコントローラは、エラーをそのメモリと障害管理テーブルに記録し（２５１７）、この処理を抜ける（２５２１）。もしも、主ストレージシステムへのデータ書き込みも失敗すると、データ書き込み処理は完全に失敗する。もしも、主ストレージシステムへのデータ書き込みが成功すると、データ書き込み処理は、部分的に成功である。この場合、ディスクコントローラは、エラー応答をディスクコントローラメインルーチンの要求元に送らない。ディスクコントローラは従ストレージシステムのエラーを管理サーバだけに送る。もしも、第二の次のストレージシステムへの書き込み要求の送信中にエラーがないならば（２５１５）、データ書き込みは成功であり、ディスクコントローラは、この処理を抜ける（２５２１）。もしも、主ストレージシステムへのデータ書き込みが失敗すると、データ書き込みは部分的に成功である。この場合、ディスクコントローラは、エラー応答をディスクコントローラメインルーチンの要求元に送らないが、主ストレージシステムのエラーを管理サーバだけに送る。もしも、主ストレージシステムへのデータ書き込みが成功し、第二の次のストレージシステムへのデータ書き込みが成功ならば、ディスクコントローラは要求元に成功メッセージを送る。
【００４４】
図１１は本発明の実施例による鎖状書き込み処理のフローチャートを示す。一度、鎖状書き込み処理が開始すると（２７０１）、ディスクコントローラは、どの領域データが書かれるのかを決める。ディスクコントローラは、ディスクコントローラが書き込み要求をどの次の仮想ボリュームに転送する必要があるかを決める（２７０３）。ディスクコントローラは、次のストレージシステムと、次のストレージシステムへの外部インタフェースが動作しているかをチェックする（２７０５）。もしも、それらが両方とも動作していると、ディスクコントローラは、書き込み要求を生成し、外部インタフェースを経由して、次のストレージシステムにそれを送る（２７０７）。もしも、書き込み要求の送信中にエラーが検出されると（２７０９）、ディスクコントローラは、そのメモリと障害管理テーブルにエラーを記録し（２７１１）、この処理を抜ける（２７１３）。もしも、書き込み要求の送信中にエラーが検出されないと（２７０７）、ディスクコントローラは、この処理を抜ける（２７１３）。もしも、次のストレージシステム、又は次のストレージシステムへのインタフェースが動作していないと（２７０５）、ディスクコントローラは、そのメモリと障害管理テーブルにエラーを記録し（２７１１）、この処理を抜ける（２７１３）。
【００４５】
図１２は本発明の実施例によるデータ読み出し処理のフローチャートを示す。一度、データ読み出し処理が開始すると（２９０１）、ディスクコントローラは、受信した要求で特定される仮想ボリュームがキャッシュ可能か又は不可能かをチェックする（２９０３）。もしも、仮想ボリュームがキャッシュ可能ならば、ディスクコントローラは、受信した要求で特定される要求データがキャッシュメモリ又はストレージシステムのキャッシュボリュームに格納されているかをチェックする（２９０５）。もしも、要求データが格納されていると、ディスクコントローラは、キャッシュメモリ又はキャッシュボリュームからキャッシュデータを読み出し（２９０７）、データを要求元に送り（２９０９）、処理は終了する（２９１３）。もしも、要求データがキャッシュメモリ又はキャッシュボリュームに格納されていないと（２９０５）、データ読み出しメイン処理が実行され（２９１１）、処理が終了する（２９１３）。
【００４６】
図１３は本発明の実施例によるデータ読み出しメイン処理のフローチャートを示す。一度、データ読み出しメイン処理が開始すると（３１０１）、ディスクコントローラは、受信した要求で特定する仮想ボリュームがストレージシステム内の実ボリューム又はストレージシステム外の外部の仮想ボリュームにマッピングされるかをチェックする（３１０３）。これは、仮想ボリュームマッピングテーブルを使用して行われる。もしも、仮想ボリュームがストレージシステム内の実ボリュームにマッピングされると、ディスクコントローラは、要求データを仮想ボリュームにマッピングされる実ボリュームから読み出す（３１０５）。もしも、エラーが読み出しの間に起きると（３１０７）、ディスクコントローラは、そのメモリにエラーを記録し（３１０９）、処理は終了する（３１２７）。もしも、データ読み出しの間にエラーが無いならば（３１０５）、処理はステップ３１２１に進む。もしも、要求で特定する仮想ボリュームがこのストレージシステム外に配置されているならば、ディスクコントローラは、仮想ボリュームと外部ボリュームのマッピング構成又はタイプをチェックする（３１１１）。ディスクコントローラは、対応する処理、一対一マッピング（３１１３）、デュアルパスマッピング（３１１５）、ミラーマッピング（３１１７）、鎖状マッピング（３１１９）、等を実行する。ディスクコントローラは、次に仮想ボリュームがキャッシュ可能かをチェックし（３１２１）、もしも、そうならば、ディスクコントローラは、読み出しデータをそのキャッシュメモリ又はキャッシュボリュームに格納し（３１２３）、データを要求元に送り（３１２５）、処理は終了する（３１２７）。もしも、仮想ボリュームがキャッシュ不可能ならば（３１２１）、ディスクコントローラは、読み出しデータを要求元に送り（３１２５）、処理は終了する（３１２７）。
【００４７】
図１４は本発明の実施例による一対一読み出し処理のフローチャートを示す。一度、一対一読み出し処理が開始すると（３３０１）、ディスクコントローラは、次のストレージシステムと次のストレージシステムとがアクセスされる外部インタフェースが動作しているかどうかをチェックする（３３０３）。もしも、それらの中の少なくとも一つが動作していないと、ディスクコントローラは、そのメモリにエラーを記録し（３３０５）、この処理を抜ける（３３１３）。もしも次のストレージシステムとストレージシステムへのインタフェースの両方が動作していると、ディスクコントローラは読み出し要求を生成し、外部インタフェースを経由して次のストレージシステムにそれを送る（３３０７）。データが受信され（３３０９）、もしも、データの送信又は受信の間にエラーがないならば（３３１１）、処理が終了する（３３１３）。もしも、データの送信又は受信の間にエラーがあると（３３１１）、ディスクコントローラは、そのメモリと障害管理テーブルにエラーを記録し（３３０５）、処理は終了する（３３１３）。
【００４８】
図１５は本発明の実施例によるデュアルパス読み出し処理及びミラー読み出し処理のフローチャートを示す。一度、デュアルパス読み出し又はミラー読み出し処理が開始すると（３５０１）、ディスクコントローラは、主たる次のストレージシステムと、主たる次のストレージシステムへの外部インタフェースが動作しているかをチェックする（３５０３）。もしも、それらが動作していると、ディスクコントローラは、読み出し要求を生成し、外部インタフェースを経由して、次のストレージシステムにそれを送る（３５０５）。ディスクコントローラは、次のストレージシステムからデータを受信し（３５２３）、もしも、エラーがあると（３５０７）、ディスクコントローラは、そのメモリと障害管理テーブルにエラーを記録し（３５０９）、ステップ３５１３に進む。もしも、読み出し要求の送信とデータの受信の間にエラーがないならば、ディスクコントローラは、この処理を抜ける（３５２１）。
【００４９】
もしも、主たる次のストレージシステム、又はストレージシステムへのインタフェースが動作していないと（３５０３）、又は、読み出し要求を送信するか又はデータを受信する間にエラーが発生すると（３５０５，３５２３，３５０７）、ディスクコントローラは、第二の次のストレージシステムと、第二のストレージシステムへのインタフェースが動作しているかをチェックする（３５１３）。もしも、それらが動作していないと、ディスクコントローラは、そのメモリと障害管理テーブルにエラーを記録し（３５１１）、この処理を抜ける（３５２１）。もしも、第二の次のストレージシステムと、第二の次のストレージシステムへのインタフェースが動作していると（３５１３）、ディスクコントローラは、読み出し要求を生成し、インタフェースを経由して、第二の次のストレージシステムにそれを送り（３５１５）、次のストレージシステムからデータを受信する（３５１９）。もしも、読み出し要求を送信するか、又はデータを受信する間にエラーを検出すると（３５２５）、ディスクコントローラは、そのメモリと障害管理テーブルにエラーを記録し（３５１７）、この処理を抜ける（３５２１）。もしも、エラーが検出されないと、読み出しデータは成功し、ディスクコントローラは、この処理を抜ける（３５２１）。もしも、主ストレージシステムからの読み出しデータが失敗すると、ディスクコントローラは、要求元にはエラーメッセージを送らないが、管理サーバだけにエラーを送る。
【００５０】
図１６は本発明の実施例による鎖状読み出し処理のフローチャートを示す。一度、鎖状読み出し処理が開始すると（３７０１）、ディスクコントローラは、どの領域からデータが読み出されるかを決める。次にディスクコントローラは、ディスクコントローラが要求をどの次の仮想ボリュームに転送する必要があるかを決める（３７０３）。ディスクコントローラは、次のストレージシステムと、次のストレージシステムへの外部インタフェースが動作しているかをチェックし（３７０５）、もしも、それらが動作していると、ディスクコントローラは、読み出し要求を生成し、外部インタフェースを経由して、次のストレージシステムにそれを送り（３７０７）、次のストレージシステムからデータを受信し（３７１５）、エラーが無ければ、処理を抜ける（３７１３）。もしも、読み出し要求の送信又はデータの受信の間にエラーがあると（３７０９）、ディスクコントローラは、そのメモリと障害管理テーブルにエラーを記録し（３５１１）、処理を抜ける（３７１３）。さらに、次のストレージシステム、又は次のストレージシステムへのインタフェースが動作していないと（３７０５）、ディスクコントローラは、そのメモリと障害管理テーブルにエラーを記録し（３７１１）、処理を抜ける（３７１３）。
【００５１】
図１７は本発明の実施例による装置情報取得処理のフローチャートを示す。一度、装置情報取得処理が開始すると（３９０１）、ディスクコントローラは、受信した要求で特定される仮想ボリュームが、ストレージシステム内の実ボリューム又はストレージシステム外の外部仮想ボリュームにマッピングされるかをチェックする（３９０３）。これは、仮想ボリュームマッピングテーブルを使用して行われる。もしも、仮想ボリュームがストレージシステム内の実ボリュームにマッピングされると、ディスクコントローラは、実ボリュームが動作しているかをチェックし（３９０５）、もしも、動作していると、ディスクコントローラは、実ボリュームに関する装置情報を取得し（３９０７）、装置情報にボリュームマッピング情報とパス情報を加えて（３９１１）、要求元に装置情報を送り（３９２３）、処理は終了する（３９２５）。
【００５２】
もしも、実ボリュームが動作していないと（３９０５）、ディスクコントローラは、障害ステータスを有する装置情報を生成し（３９０９）、ボリュームマッピング情報とパス情報を装置情報に加えて（３９１１）、要求元に装置情報を送り（３９２３）、処理は終了する（３９２５）。もしも、要求で特定される仮想ボリュームがこのストレージシステム外に配置されると（３９０３）、ディスクコントローラは、仮想ボリュームと外部の仮想ボリュームのマッピングタイプ又は構成をチェックし（３９１３）、対応する処理又はサブル−チン、例えば、一対一マッピング処理（３９１５）、デュアルパスマッピング処理（３９１７）、ミラーマッピング処理（３９１９）、又は鎖状マッピング処理（３９２１）を実行する。構成処理の終了にあたり、ディスクコントローラは、装置情報を要求元に送り（３９２３）、処理は終了する（３９２５）。
【００５３】
図１８は本発明の実施例による一対一情報取得処理のフローチャートを示す。一度、一対一情報取得処理が開始すると（４１０１）、ディスクコントローラは、次のストレージシステムと次のストレージシステムがアクセスされる外部インタフェースが動作しているかをチェックする（４１０３）。もしも、それらの内の少なくとも一つが動作していないと、ディスクコントローラは、障害ステータスを有する装置情報を生成し（４１０５）、装置情報にボリュームマッピング情報とパス情報を加えて（４１１１）、処理は終了する（４１１３）。もしも、次のストレージシステムとストレージシステムへのインタフェースが動作していると、ディスクコントローラは、次の仮想ボリュームに対する装置情報取得要求を生成し、外部インタフェースを経由して、次のストレージシステムにそれを送る（４１０７）。ディスクコントローラは、次のストレージシステムから送られた装置情報を受信し（４１０９）、装置情報にボリュームマッピング情報とパス情報を加えて（４１１１）、処理は終了する（４１１３）。
【００５４】
図１９は本発明の実施例によるデュアルパス情報取得及びミラー情報取得処理のフローチャートを示す。一度、デュアルパス情報取得又はミラー情報取得処理が開始すると（４３０１）、ディスクコントローラは、主たる次のストレージシステムと、主たる次のストレージシステムへのインタフェースが動作しているかをチェックする（４３０３）。もしも、それら両方が動作していると、ディスクコントローラは、主たる次のストレージシステムの次の仮想ボリュームに対する装置情報取得要求を生成し、外部インタフェースを経由して、主たる次のストレージシステムにそれを送る（４３０５）。ディスクコントローラは、主たる次のストレージシステムから送られる装置情報を受信し（４３０７）、ステップ４３１１に進む。もしも、主たる次のストレージシステム、又はインタフェースの少なくとも一つが動作していないと、ディスクコントローラは、障害ステータスを有する装置情報を生成し（４３０９）、ステップ４３１１に進む。ディスクコントローラは、従たる次のストレージシステムと、従たる次のストレージシステムへの外部インタフェースが動作しているかをチェックする（４３１１）。この実施例は、デュアルパスマッピング構成と、ミラーマッピング構成の一つの主たる次のストレージシステムと、一つの従たる次のストレージシステムを含むだけであるが、しかし、本発明はこの実施例に限定されるものではない。もしも、二つ以上の従たる次のストレージシステムがあると、ディスクコントローラは、各々の従たる次のストレージシステムに対して、ステップ４３１１〜４３２１を単に繰り返す。
【００５５】
もしも、従たる次のストレージシステムと、インタフェースとの両方が動作していると、ディスクコントローラは、従たる次のストレージシステムの次の仮想ボリュームに対する装置情報取得要求を生成し、外部インタフェースを経由して、従たる次のストレージシステムにそれを送る（４３１３）。ディスクコントローラは、従たる次のストレージシステムから送られる装置情報を受信し（４３１５）、主たる次のストレージシステムから受信する装置情報に、従たる次のストレージシステムから受信する装置情報を追加する（４３１７）。もしも、従たる次のストレージシステム、又はインタフェースの少なくとも一つが動作していないと、ディスクコントローラは、従たる次のストレージシステムから受信する装置情報に障害情報を追加し（４３１９）、装置情報にボリュームマッピング情報とパス情報を追加し（４３２１）、この処理を抜ける（４３２３）。
【００５６】
図２０は本発明の実施例による鎖状情報取得処理のフローチャートを示す。鎖状情報取得処理が開始した後に（４５０１）、ディスクコントローラは、データの無いオリジナルの装置情報を生成する（４５０３）。仮想ボリュームが有する各次の仮想ボリュームに対して、ディスクコントローラは、続くステップ４５０７〜４５１７を繰り返す（４５０５）。ディスクコントローラは、次のストレージシステムと、次のストレージシステムへの外部インタフェースとが動作しているかをチェックする（４５０７）。もしも、それらが両方とも動作していると、ディスクコントローラは、次のストレージシステムの次の仮想ボリュームに対する装置情報取得要求を生成し、インタフェースを経由して、次のストレージシステムにそれを送る（４５０９）。ディスクコントローラは、次のストレージシステムから送られる装置情報を受信し（４５１１）、ディスクコントローラは、オリジナルの装置情報に次のストレージシステムから受信する装置情報を追加する（４５１３）。もしも、次のストレージシステム、又はインタフェースの少なくとも一つが動作していないと、ディスクコントローラは、オリジナルの装置情報に障害情報を追加する（４５１５）。ステップ４５０７〜４５１５は、次の仮想ボリュームが無くなるまで繰り返される（４５１７）。もしも、次の仮想ボリュームが無いならば、ディスクコントローラは、オリジナルの装置情報にボリュームマッピング情報とパス情報を追加し（４５１９）、処理は終了する（４５２１）。
【００５７】
図２１は本発明の実施例によるキャッシュ要求処理のフローチャートを示す。一度、キャッシュ要求処理が開始すると（５５０１）、ディスクコントローラは、ディスクコントローラメインルーチンと、キャッシュ要求処理ルーチンとを平行して処理する。一つの処理は、ディスクコントローラメインルーチンを処理するディスクコントローラ上で走行し、他の処理は、キャッシュ要求処理ルーチンを処理する。更新データは、キャッシュメモリ又はキャッシュボリュームにあり、このデータは実ボリュームにまだ書かれていないので、このルーチンはディスクコントローラがこのデータを実ボリュームに書くことを可能にする。ディスクコントローラは、キャッシュ要求キューからキャッシュ要求を取得する（５５０３）。ディスクコントローラは、キャッシュ要求に対してデータ書き込みメイン処理を実行する（５５０５）。もしも、データ書き込みメイン処理の実行の間にエラーがあると、ディスクコントローラは管理サーバにエラーメッセージを送る（５５０９）。処理はキャッシュに更新データが無くなるまで繰り返す。
【００５８】
図２２は本発明の実施例による障害管理テーブルの図を示す。各ディスクコントローラは、障害管理テーブル１１０１を有する。“構成要素”列１１０１０１は、ストレージシステムに関係する構成要素を示す。これは、このストレージシステムから接続される外部ストレージシステムと、外部ストレージシステムに接続するのに使用される外部インタフェースとを含む。“可用性”列１１０１０３は、構成要素が動作しているかどうかを示す。この実施例に示されるように、全ての構成要素は、ストレージシステムＤ（ＳＳ＿Ｄ）と、外部インタフェース１以外は使用可能であり、動作している。
【００５９】
図２３は本発明の実施例によるアクセスコントロールテーブルの図を示す。各仮想ボリュームに対して、どのサーバが仮想ボリュームにアクセスできるかが特定される。この情報はアクセスコントロールテーブルに示され、第一列、５３０１０１、はストレージシステムを示し、第二列、５３０１０３、は関連する仮想ボリュームを特定し、第三列、５３０１０５、はどのサーバが仮想ボリュームにアクセスするかを示す。
【００６０】
図２４は本発明の実施例による障害を有するシステム構成の図を示す。このシステムにおいて、サーバ（示していない）はストレージシステムＡの仮想ボリューム１（Ｖ１）に対して、装置情報取得要求を発行する。ストレージシステムＡ（ＳＳ＿Ａ）の仮想ボリューム１は、ストレージシステムＢ（ＳＳ＿Ｂ）の仮想ボリューム２（Ｖ２）と、ストレージシステムＣ（ＳＳ＿Ｃ）の仮想ボリューム３（Ｖ３）とにミラーマッピングでマッピングされている。ストレージシステムＢ（ＳＳ＿Ｂ）の仮想ボリューム２は、ストレージシステムＤ（ＳＳ＿Ｄ）の仮想ボリューム５（Ｖ５）と、ストレージシステムＥ（ＳＳ＿Ｅ）の仮想ボリューム６（Ｖ６）とに鎖状マッピングでマッピングされている。しかし、ストレージシステムＢと、ストレージシステムＤとは切り離されていて、ストレージシステムＢは、ストレージシステムＤにアクセスできない。ストレージシステムＣの仮想ボリューム３は、ストレージシステムＣの実ボリュームＰ４にマッピングされている。しかし、実ボリュームＰ４が障害を起こしている。ストレージシステムＥの仮想ボリューム６は、ストレージシステムＥの実ボリュームＰ８にマッピングされている。このシステム例への情報取得要求の結果は、図２５に示される。
【００６１】
図２５Ａ〜図２５Ｃは本発明の実施例による装置情報取得要求の結果例を示す。この図表は、図２４に示されたシステムに送信された装置情報取得要求の結果として受信した情報例を反映する。この結果は、どのように仮想ボリューム１が構成されているか、どのように仮想ボリューム１へのＩ／Ｏ要求が実ボリュームに転送されるか、及び仮想ボリュームのステータス、外部インタフェース、ストレージシステムと実ボリュームを示す。装置情報取得要求の結果は、仮想ボリューム１、仮想ボリューム２、仮想ボリューム３、仮想ボリューム５、仮想ボリューム６、物理ボリュームすなわち実ボリューム４、物理ボリュームすなわち実ボリューム８に関する情報を提供する。
【００６２】
図２６は本発明の実施例によるストレージシステムの取り去りを示す図を示す。この図は、ボリューム階層から中間のストレージシステムを取り去る方法を示す例である。Ｉ／Ｏ要求は、複数の中間のストレージシステムによって転送される。ユーザが一つ以上の中間のストレージシステムを取り去りたい時、図示されたステップが実行される。この実施例では、ストレージシステムＡ、ストレージシステムＢ、ストレージシステムＣは、カスケード接続されている。ストレージシステムＢがカスケード接続から取り去さられる。ステップ１において、ストレージシステムＡとストレージシステムＢとは直接接続されていて、仮想ボリューム２のキャッシュモードは、キャッシュ可能からキャッシュ不可能に変更される。従って、ストレージシステムＡから仮想ボリューム２へのデータ書き込み要求は、ストレージシステムＣの仮想ボリューム３に転送される。ストレージシステムＡとストレージシステムＣとの間の接続は、物理接続及び／又は論理接続である。論理接続の場合は、ストレージシステムＡとストレージシステムＣとは、取り去り処理の前に物理ケーブル又はネットワークを経由して以前に接続されていた。ストレージシステムＡとストレージシステムＣとは、論理的に相互に接続して、相互にコミュニケーションを行うことができ、この場合は、ストレージシステムＢは、仮想ボリューム１からのＩ／Ｏを停止することなく、オンラインで取り去れる。ステップ２において、ストレージシステムＡの仮想ボリューム１のマッピング構成は変更される。仮想ボリューム１は、ストレージシステムＢの仮想ボリューム２だけでなくストレージシステムＣの仮想ボリューム３にデュアルパスマッピングでマッピングされる。仮想ボリューム１と仮想ボリューム２、仮想ボリューム２と仮想ボリューム３のマッピング関係は取り去られる。この後で、ストレージシステムＢはシステムから取り去られ得る。
【００６３】
デュアルパスマッピング構成においては、複数のルートの間でＩ／Ｏの負荷バランスをとることが可能である。デュアルパスマッピング構成の仮想ボリュームを有するディスクコントローラは、各パスに対してチャイルドストレージシステムによって処理されるＩ／Ｏの数を数える。Ｉ／Ｏの数をベースに、ディスクコントローラは、ディスクコントローラが受信したＩ／Ｏをどのパスに転送するかを決める。
【００６４】
装置情報取得要求の処理においては、ストレージシステム間のネットワーク遅延情報を装置情報に追加することができる。ペアレントストレージシステムは、次のストレージシステムからの装置情報取得要求に対する応答を取得するためにどのくらいの時間を要するかを測定する。
【００６５】
本発明による実施は、サーバとストレージシステム間のルートが中間のストレージシステムを通過することによって提供されるので、サーバがストレージシステムに接続されていなくても、サーバはストレージシステムのデータを読み書きできることにおいて有利である。さらに、装置情報は継続的に更新され、サーバによって取得される、従って、システムの構成要素間のインタフェースと同じくシステムの構成要素に関する現在のステータスの情報を提供する。
【００６６】
前出の例は単に説明の目的で提供されたもので、本発明を制限するものでは決してないことを記しておく。本発明は好適な実施例に関して記述されたが、ここで使用された言葉は、制限する言葉ではなく、記述や説明の言葉であることを理解すべきである。本発明の範囲と精神から離れることなく、現在の記述及び修正される添付の特許請求項の範囲で、変更をすることができる。本発明は、特定の方法、材料、実施方法に関してここに記述されたが、本発明はここに開示された特定の内容に限定されることを意図するものではなく、むしろ、本発明は、添付の特許請求項の範囲内で、全ての機能的に同等な構造、方法、使用にまで広がるものである。
【図面の簡単な説明】
【００６７】
【図１】図１は本発明の実施例による外部ストレージシステムを接続するシステムの図である。
【図２】図２は本発明の実施例によるストレージシステムの図である。
【図３】図３は本発明の実施例による仮想ボリュームマッピングテーブルの図である。
【図４Ａ】図４Ａは本発明の実施例によるマッピング構成の図である。
【図４Ｂ】図４Ｂは本発明の実施例によるマッピング構成の図である。
【図４Ｃ】図４Ｃは本発明の実施例によるマッピング構成の図である。
【図４Ｄ】図４Ｄは本発明の実施例によるマッピング構成の図である。
【図４Ｅ】図４Ｅは本発明の実施例によるマッピング構成の図である。
【図４Ｆ】図４Ｆは本発明の実施例によるマッピング構成の図である。
【図４Ｇ】図４Ｇは本発明の実施例によるマッピング構成の図である。
【図５】図５は本発明の実施例によるディスクコントローラメインルーチンのフローチャートである。
【図６】図６は本発明の実施例による、データ書き込み処理のフローチャートである。
【図７】図７は本発明の実施例によるデータ書き込みメインサブ処理のフローチャートである。
【図８】図８は本発明の実施例による、一対一書き込み処理のフローチャートである。
【図９】図９は本発明の実施例によるデュアルパス書き込み処理のフローチャートである。
【図１０】図１０は本発明の実施例によるミラー書き込み処理のフローチャートである。
【図１１】図１１は本発明の実施例による鎖状書き込み処理のフローチャートである。
【図１２】図１２は本発明の実施例によるデータ読み出し処理のフローチャートである。
【図１３】図１３は本発明の実施例によるデータ読み出しメイン処理のフローチャートである。
【図１４】図１４は本発明の実施例による一対一読み出し処理のフローチャートである。
【図１５】図１５は本発明の実施例によるデュアルパス読み出し処理及びミラー読み出し処理のフローチャートである。
【図１６】図１６は本発明の実施例による鎖状読み出し処理のフローチャートである。
【図１７】図１７は本発明の実施例による装置情報取得処理のフローチャートである。
【図１８】図１８は本発明の実施例による一対一情報取得処理のフローチャートである。
【図１９】図１９は本発明の実施例によるデュアルパス情報取得及びミラー情報取得処理のフローチャートである。
【図２０】図２０は本発明の実施例による鎖状情報取得処理のフローチャートである。
【図２１】図２１は本発明の実施例によるキャッシュ要求処理のフローチャートである。
【図２２】図２２は本発明の実施例による障害管理テーブルの図である。
【図２３】図２３は本発明の実施例によるアクセスコントロールテーブルの図である。
【図２４】図２４は本発明の実施例による障害を有するシステム構成の図である。
【図２５Ａ】図２５Ａは本発明の実施例による装置情報取得要求の結果例である。
【図２５Ｂ】図２５Ｂは本発明の実施例による装置情報取得要求の結果例である。
【図２５Ｃ】図２５Ｃは本発明の実施例による装置情報取得要求の結果例である
【図２６】図２６は本発明の実施例によるストレージシステムの取り去りを示す図である。
【符号の説明】
【００６８】
０３０１        ストレージシステム
０３０１０１    外部インタフェース
０３０１０３    ディスクコントローラ
０３０１０５    キャッシュメモリ
０３０１０７    内部インタフェース
０３０１０９    仮想ボリューム
０３０１１１    管理インタフェース
０３０１１３    実ボリューム
【図１】
2006024215.tif 000003
【図２】
2006024215.tif 000004
【図３】
2006024215.tif 000005
【図４Ａ】
2006024215.tif 000006
【図４Ｂ】
2006024215.tif 000007
【図４Ｃ】
2006024215.tif 000008
【図４Ｄ】
2006024215.tif 000009
【図４Ｅ】
2006024215.tif 000010
【図４Ｆ】
2006024215.tif 000011
【図４Ｇ】
2006024215.tif 000012
【図５】
2006024215.tif 000013
【図６】
2006024215.tif 000014
【図７】
2006024215.tif 000015
【図８】
2006024215.tif 000016
【図９】
2006024215.tif 000017
【図１０】
2006024215.tif 000018
【図１１】
2006024215.tif 000019
【図１２】
2006024215.tif 000020
【図１３】
2006024215.tif 000021
【図１４】
2006024215.tif 000022
【図１５】
2006024215.tif 000023
【図１６】
2006024215.tif 000024
【図１７】
2006024215.tif 000025
【図１８】
2006024215.tif 000026
【図１９】
2006024215.tif 000027
【図２０】
2006024215.tif 000028
【図２１】
2006024215.tif 000029
【図２２】
2006024215.tif 000030
【図２３】
2006024215.tif 000031
【図２４】
2006024215.tif 000032
【図２５Ａ】
2006024215.tif 000033
【図２５Ｂ】
2006024215.tif 000034
【図２５Ｃ】
2006024215.tif 000035
【図２６】
2006024215.tif 000036
【外国語明細書】
2006024215000001.pdf