(57)【要約】【課題】  １つのホスト内ＩＤを用いて、関連付けられた複数の論理ボリュームをホスト計算機から切り替えて使うことができる手段を提供すること。【解決手段】  ホスト計算機１０が送信する切替コマンドが、ストレージ装置２０に、切替元ボリュームとの間でボリュームペアの関係を形成している切替先候補ボリュームから、切替先ボリュームの特定情報に合致する切替先ボリュームをボリュームテーブルから検索させ、切替元ボリュームのホスト内ＩＤと、検索された切替先ボリュームのストレージ内ＩＤと、を対応付けて切替テーブルに記憶させ、切替元ボリュームのホスト内ＩＤをキーとするアクセス要求を受信したとき、切替テーブルを参照して切替先ボリュームのストレージ内ＩＤを取得し、切替先ボリュームに対してアクセスするように切り替えさせることを特徴とする。【選択図】      図１
2006309638.tif 000002
【特許請求の範囲】
【請求項１】
ボリュームをホスト内ＩＤで識別するホスト計算機、および、ボリュームをストレージ内ＩＤで識別するストレージ装置を含む計算機システムに用いられる前記ストレージ装置であって、
複数のボリューム間で複製を行うボリュームペアを管理するボリュームペア管理テーブルと、
切替元ボリュームの前記ホスト内ＩＤと、切替先ボリュームの特定情報と、を対応付ける切替コマンドを前記ホスト計算機から受信する入出力受付処理部と、
前記切替元ボリュームとの間で前記ボリュームペアの関係を形成している切替先候補ボリュームから、前記切替先ボリュームの特定情報に合致する前記切替先ボリュームをボリュームテーブルから検索する入出力対象検索処理部と、
前記切替元ボリュームの前記ホスト内ＩＤと、検索された前記切替先ボリュームの前記ストレージ内ＩＤと、を対応付けて切替テーブルに記憶する入出力対象記憶処理部と、
前記切替元ボリュームの前記ホスト内ＩＤをキーとするアクセス要求を受信したとき、前記切替テーブルを参照して前記切替先ボリュームの前記ストレージ内ＩＤを取得し、前記切替先ボリュームに対してアクセスするように切り替える入出力処理部と、
を有することを特徴とするストレージ装置。
【請求項２】
前記ボリュームテーブルは、複数の前記ストレージ装置内にあるボリュームを管理し、前記切替元ボリュームと前記切替先ボリュームとが別々の前記ストレージ装置内に位置することを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記ホスト内ＩＤのデータ長が、前記ストレージ内ＩＤのデータ長よりも短いことを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記切替先ボリュームの特定情報が、前記切替先ボリュームの前記ストレージ内ＩＤと、前記切替先ボリュームを有する前記ストレージ装置のＩＤであることを特徴とする請求項１に記載のストレージ装置。
【請求項５】
前記切替先ボリュームの特定情報が、前記切替先ボリュームの前記ボリュームペアにおけるサスペンド時刻であることを特徴とする請求項１に記載のストレージ装置。
【請求項６】
前記切替先候補ボリュームは、前記切替元ボリュームとの間で前記ボリュームペアの関係を形成している所定のボリュームと、所定のボリュームとの間で前記ボリュームペアの関係を形成しているボリュームと、を含むことを特徴とする請求項１に記載のストレージ装置。
【請求項７】
前記ボリュームペアは、前記切替元ボリュームから前記切替先ボリュームに複製を行うペアであり、前記切替元ボリュームからの差分データを受信可能なペア状態のとき、差分データの受信を不可能なペア状態に変更し、差分データの受信を不可能なペア状態への変更が完了するまで待つペア状態遷移処理部、を有することを特徴とする請求項１に記載のストレージ装置。
【請求項８】
前記切替元ボリュームから所定のボリュームへ複製を行う前記ボリュームペアを監視する状態監視処理部を有し、
前記入出力対象記憶処理部は、前記ボリュームペアのペア状態が整合性を保つことが保障された障害状態であれば、所定のボリュームを前記切替先ボリュームとして前記切替テーブルに記憶し、ペア状態が整合性を保つことが保障されない障害状態であれば、所定のボリュームの複製先であるボリュームを前記切替先ボリュームとして前記切替テーブルに記憶すること
を特徴とする請求項１に記載のストレージ装置。
【請求項９】
ボリュームをホスト内ＩＤで識別するホスト計算機、および、前記ホスト計算機と通信線を介して接続され、ボリュームをストレージ内ＩＤで識別するストレージ装置を含む計算機システムであって、
前記ホスト計算機が、複数のボリューム間で複製を行うボリュームペアを管理する前記ストレージ装置に、切替元ボリュームの前記ホスト内ＩＤと、切替先ボリュームの特定情報と、を対応付ける切替コマンドを前記通信線に接続される入出力インタフェースを介して送信する中央処理装置を有し、
前記ストレージ装置は、前記通信線に接続されるポートと、前記ポートに接続されるチャネルアダプタと、前記チャネルアダプタに接続され、複数のボリューム間で複製を行うボリュームペアを格納する共有メモリと、前記チャネルアダプタに接続されるディスクアダプタと、前記ディスクアダプタに接続され、前記複数のボリュームが構成される複数のディスク装置を有し、
前記チャネルアダプタが、切替元ボリュームの前記ホスト内ＩＤと、切替先ボリュームの特定情報と、を対応付ける切替コマンドを前記ホスト計算機から受信し、
前記チャネルアダプタが、前記切替元ボリュームとの間で前記ボリュームペアの関係を形成している切替先候補ボリュームから、前記切替先ボリュームの特定情報に合致する前記切替先ボリュームを前記共有メモリから検索し、
前記チャネルアダプタが、前記切替元ボリュームの前記ホスト内ＩＤと、検索された前記切替先ボリュームの前記ストレージ内ＩＤと、を対応付けて前記共有メモリに記憶し、
前記チャネルアダプタが、前記切替元ボリュームの前記ホスト内ＩＤをキーとするアクセス要求を受信したとき、前記共有メモリを参照して前記切替先ボリュームの前記ストレージ内ＩＤを取得し、前記切替先ボリュームに対してアクセスするように切り替え、
前記ボリュームペアは、前記切替元ボリュームから前記切替先ボリュームに複製を行うペアであり、前記チャネルアダプタが、前記切替元ボリュームからの差分データを受信可能なペア状態のとき、差分データの受信を不可能なペア状態に変更し、差分データの受信を不可能なペア状態への変更が完了するまで待ち、
前記チャネルアダプタが、切替元ボリュームから所定のボリュームへ複製を行う前記ボリュームペアを監視し、
前記チャネルアダプタが、前記ボリュームペアのペア状態が整合性を保つことが保障された障害状態であれば、所定のボリュームを前記切替先ボリュームとして前記共有メモリに記憶し、ペア状態が整合性を保つことが保障されない障害状態であれば、所定のボリュームの複製先であるボリュームを前記切替先ボリュームとして前記共有メモリに記憶し、
前記共有メモリは、複数の前記ストレージ装置内にあるボリュームを管理し、前記切替元ボリュームと前記切替先ボリュームとが別々の前記ストレージ装置内に位置し、
前記ホスト内ＩＤのデータ長が、前記ストレージ内ＩＤのデータ長よりも短いように構成されており、
前記切替先ボリュームの特定情報が、前記切替先ボリュームの前記ストレージ内ＩＤおよび前記切替先ボリュームを有する前記ストレージ装置のＩＤ、ならびに、前記切替先ボリュームの前記ボリュームペアにおけるサスペンド時刻であること
を特徴とする計算機システム。
【請求項１０】
ボリュームをホスト内ＩＤで識別するホスト計算機、および、ボリュームをストレージ内ＩＤで識別するストレージ装置を含む計算機システムによるボリューム切替方法であって、
前記ストレージ装置が、
複数のボリューム間で複製を行うボリュームペアを共有メモリに管理し、
切替元ボリュームの前記ホスト内ＩＤと、切替先ボリュームの特定情報と、を対応付ける切替コマンドを前記ホスト計算機から受信し、
前記切替元ボリュームとの間で前記ボリュームペアの関係を形成している切替先候補ボリュームから、前記切替先ボリュームの特定情報に合致する前記切替先ボリュームを前記共有メモリから検索し、
前記切替元ボリュームの前記ホスト内ＩＤと、検索された前記切替先ボリュームの前記ストレージ内ＩＤと、を対応付けて前記共有メモリに記憶し、
前記切替元ボリュームの前記ホスト内ＩＤをキーとするアクセス要求を受信したとき、前記共有メモリを参照して前記切替先ボリュームの前記ストレージ内ＩＤを取得し、前記切替先ボリュームに対してアクセスするように切り替える
ことを特徴とするボリューム切替方法。
【請求項１１】
前記ホスト内ＩＤのデータ長が、前記ストレージ内ＩＤのデータ長よりも短いことを特徴とする請求項１０に記載のボリューム切替方法。
【請求項１２】
前記切替先ボリュームの特定情報が、前記切替先ボリュームの前記ストレージ内ＩＤと、前記切替先ボリュームを有する前記ストレージ装置のＩＤであることを特徴とする請求項１０に記載のボリューム切替方法。
【請求項１３】
前記切替先ボリュームの特定情報が、前記切替先ボリュームの前記ストレージ内ＩＤと、前記切替先ボリュームを有する前記ストレージ装置のＩＤであることを特徴とする請求項１０に記載のボリューム切替方法。
【請求項１４】
前記切替先ボリュームの特定情報が、前記切替先ボリュームの前記ボリュームペアにおけるサスペンド時刻であることを特徴とする請求項１０に記載のボリューム切替方法。
【請求項１５】
ボリュームをホスト内ＩＤで識別するホスト計算機、および、ボリュームをストレージ内ＩＤで識別するストレージ装置を含む計算機システムに用いられる前記ホスト計算機であって、
複数のボリューム間で複製を行うボリュームペアを管理する前記ストレージ装置に、切替元ボリュームの前記ホスト内ＩＤと、切替先ボリュームの特定情報と、を対応付ける切替コマンドを入出力インタフェースを介して送信する中央処理装置を有し、
前記切替コマンドは、前記ストレージ装置に、
前記切替元ボリュームとの間で前記ボリュームペアの関係を形成している切替先候補ボリュームから、前記切替先ボリュームの特定情報に合致する前記切替先ボリュームをボリュームテーブルから検索させ、
前記切替元ボリュームの前記ホスト内ＩＤと、検索された前記切替先ボリュームの前記ストレージ内ＩＤと、を対応付けて切替テーブルに記憶させ、
前記切替元ボリュームの前記ホスト内ＩＤをキーとするアクセス要求を受信したとき、前記切替テーブルを参照して前記切替先ボリュームの前記ストレージ内ＩＤを取得し、前記切替先ボリュームに対してアクセスするように切り替えさせること
を特徴とするホスト計算機。
【請求項１６】
前記ホスト内ＩＤのデータ長が、前記ストレージ内ＩＤのデータ長よりも短いことを特徴とする請求項１５に記載のホスト計算機。
【請求項１７】
前記切替先ボリュームの特定情報が、前記切替先ボリュームの前記ストレージ内ＩＤと、前記切替先ボリュームを有する前記ストレージ装置のＩＤであることを特徴とする請求項１５に記載のホスト計算機。
【請求項１８】
前記切替先ボリュームの特定情報が、前記切替先ボリュームの前記ボリュームペアにおけるサスペンド時刻であることを特徴とする請求項１５に記載のホスト計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムおよびその計算機システムに用いられるホスト計算機およびストレージ装置、ならびに、計算機システムに用いられるボリューム切替方法に関する。
【背景技術】
【０００２】
災害や障害によるストレージ装置内データの消失リスクを低減する技術の１つに、ホストフリーコピーがある。ホストフリーコピーとは、ストレージ装置内またはストレージ装置間で、ホスト計算機の介在なしに、データの複製を作成する技術である。複製は、論理ボリューム（適宜、ボリュームと略す）と呼ばれる、ストレージ装置内の記憶装置を論理的に分割した記憶領域を単位として行われる。
【０００３】
ホスト計算機では、スクリプトやアプリケーションからファイルの領域割当先を特定するときなどにおいて、論理ボリュームを特定するためのホストＩＤ（IDentifier：識別子を意味する）が必要となる。このホストＩＤは、ホスト計算機から一意に識別するためのＩＤであり、ストレージ装置内で論理ボリュームを特定するためのストレージ内ＩＤとは別である。ホスト内ＩＤとストレージ内ＩＤとは、ストレージ装置ジェネレーションという事前設定作業により、関連付けされる。
【０００４】
ホスト内ＩＤとストレージ内ＩＤとは通常１：１に対応しているが、１つのホスト内ＩＤで複数の論理ボリュームをアクセスするための技術が、特許文献１に掲載されている。特許文献１は、ホスト内ＩＤと論理ボリュームとの対応関係をホスト内で入れ替えることにより、ある論理ボリュームに対応付けされたホスト内ＩＤを用いて入出力を要求されたときに、別のホスト内ＩＤに対応付けされた論理ボリュームをアクセスする旨が開示されている。
【特許文献１】特開平１１−３２７９８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、ホスト内ＩＤとストレージ内ＩＤとを１：１に対応付けることが困難な事象が発生している。このような事象は、例えば、割り当て可能なＩＤの個数が、双方のＩＤで異なるときに発生する。なお、割り当て可能なＩＤの個数を規定するアドレス空間の大きさは、標準規格などによって決まっていることが多い。よって、標準規格に準拠するときには、標準規格によって定められた所定の大きさのアドレス空間を使用することとなり、割り当て可能なＩＤの個数を制限してしまう。
【０００６】
例えば、ホスト計算機は、様々なベンダのストレージ装置にアクセスするために、標準規格によって定められたホスト内ＩＤを採用している。一方、ストレージ装置は、ストレージ装置の内部処理に閉じて、ストレージ内ＩＤを管理すればよいので、ストレージ内ＩＤは、個々のベンダの独自仕様により自由に決められる。
【０００７】
よって、標準規格によるホスト内ＩＤが狭いアドレス空間を採用し、独自仕様によるストレージ内ＩＤが広いアドレス空間を採用すると、両ＩＤとの間に差が生じてしまう。つまり、ホスト計算機は、ホスト内ＩＤとして割り当て可能なＩＤの個数が足かせとなり、ストレージ装置内のすべての記憶領域をアクセスすることができず、ストレージ装置を有効活用することができなくなってしまう。
【０００８】
従来は、ストレージにアクセスするためのホスト内ＩＤは、ストレージのボリュームごとに割り当てられていた。具体的には、あるホスト計算機Ａの業務で使用しているボリュームの複製を別のホスト計算機Ｂでバックアップやテストなどに使っている場合、ホスト計算機Ａが障害になったとき、特許文献１に記載した技術を使ってホスト計算機Ｂでホスト計算機Ａの業務を即時に開始できるようにするためには、ホスト計算機Ｂでも、複製先のボリュームとは別に、複製元のボリュームに対しても、ホスト内ＩＤを割り当てておかなければならない。また、ボリュームの複製を作成している場合も、複製先のボリュームにもホスト内ＩＤを割り当てておかなければ、複製元のボリュームが障害になったときや、複製元ボリュームに整合性がなくなったときに、即座に複製先にアクセスすることができない。
【０００９】
本発明の目的は、１つのホスト内ＩＤを用いて、関連付けられた複数の論理ボリュームをホスト計算機から切り替えて使うことができる手段を提供することである。
【課題を解決するための手段】
【００１０】
前記目的達成のため、本発明は、ボリュームをホスト内ＩＤで識別するホスト計算機、および、ボリュームをストレージ内ＩＤで識別するストレージ装置を含む計算機システムに用いられる前記ホスト計算機であって、複数のボリューム間で複製を行うボリュームペアを管理する前記ストレージ装置に、切替元ボリュームの前記ホスト内ＩＤと、切替先ボリュームの特定情報と、を対応付ける切替コマンドを送信する手段を有し、前記切替コマンドが、前記ストレージ装置に、前記切替元ボリュームとの間で前記ボリュームペアの関係を形成している切替先候補ボリュームから、前記切替先ボリュームの特定情報に合致する前記切替先ボリュームをボリュームテーブルから検索させ、前記切替元ボリュームの前記ホスト内ＩＤと、検索された前記切替先ボリュームの前記ストレージ内ＩＤと、を対応付けて切替テーブルに記憶させ、前記切替元ボリュームの前記ホスト内ＩＤをキーとするアクセス要求を受信したとき、前記切替テーブルを参照して前記切替先ボリュームの前記ストレージ内ＩＤを取得し、前記切替先ボリュームに対してアクセスするように切り替えさせることを特徴とする。その他の手段は、後記する。
【発明の効果】
【００１１】
本発明により、１つのホスト内ＩＤを用いて、関連付けられた複数の論理ボリュームをホスト計算機から切り替えて使うことができる手段を提供することが可能となり、ホスト内ＩＤの枯渇を抑制することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。図１は、本発明が適用されるストレージ装置のハードウェア構成の一例を示した図である。図１に示す計算機システムは、ホスト計算機１０、主記憶装置１１、中央処理装置１２（制御ＣＰＵ）、ホストチャネルアダプタなどの入出力インタフェース１３、を含む。なお、図１に示すように入出力インタフェース１３は、中央処理装置１２と内部バスによって接続されている。
【００１３】
ストレージ装置２０は、光ファイバケーブルやスイッチなどから構成されるネットワーク３０ａを介して、入出力インタフェース１３と接続される。
【００１４】
ストレージ装置２０には、ファイバチャネルやＳＣＳＩなどのインタフェースであるポート２１、ポート２１を制御するＣＨＡ（CHannel Adapter）２２、物理的記憶領域を有するハードウェアであるディスク装置２５、１つないし複数のディスク装置２５の入出力を制御するＤＫＡ（DisK Adapter）２４、ポート２１とディスク装置２５間のデータ通信路であるバスやスイッチ２３、ＣＨＡ２２やＤＫＡ２４からアクセスできる記憶装置である共有メモリ２７、が含まれる。なお、これらストレージ装置２０の各構成要素は、１つのストレージ装置２０内に複数含むことができる。
【００１５】
ホスト計算機１０は、ディスク装置２５が有する物理的な記憶領域を論理的に分割した記憶領域を単位として記憶領域を管理し、使用する。ボリューム２６は、ディスク装置２５を論理的に分割した記憶領域である。ボリューム２６のディスク装置２５内の物理的な位置は、共有メモリ２７内に保存される。なお、図１の構成において、論理ボリューム２６ｐはデバイス番号が割り当てられており、他の論理ボリューム２６は、デバイス番号が割り当てられていない。
【００１６】
ボリューム２６は、ストレージ装置２０内ではボリュームＩＤ（請求項におけるストレージ内ＩＤ）で識別されるが、ホスト計算機１０内では、デバイス番号（請求項におけるホスト内ＩＤ）というＩＤで識別される。なお、デバイス番号のデータ長は、ボリュームＩＤのデータ長よりも短いものとしてもよい。具体的には、ホスト計算機１０が、標準規格に従ってストレージを管理するので、デバイス番号として割り当て可能なアドレス空間は標準規格によって制限され、例えば、アドレス空間が２バイト長となる。一方、ストレージ装置２０は、独自規格に従ってストレージを管理するので、デバイス番号として割り当て可能なアドレス空間は自由に規定でき、例えば、アドレス空間が４バイト長となる。その場合、ホスト計算機１０がデバイス番号を管理するメモリ量と、ストレージ装置２０がボリュームＩＤを管理するメモリ量とが、異なる。
【００１７】
ホスト計算機１０のデバイス管理テーブル５００およびチャネルパス管理テーブル６００は、ホスト計算機１０を起動するときに、あらかじめデバイス番号と入出力経路やストレージ装置２０内の入出力発行先ボリュームのボリュームＩＤとの関係を定義しておいた情報を格納する。主記憶装置１１上の入出力処理では、デバイス管理テーブル５００やチャネルパス管理テーブル６００を参照して、デバイス番号から入出力経路を求め、経路先の入出力発行先ボリュームに対して入出力要求を行う。
【００１８】
切替要求処理部１１００は、１つのデバイス番号で複数のボリューム２６をアクセス可能とするために、入出力対象切替コマンド９００の入力を契機として、デバイス番号とボリューム２６との対応関係を切り替える要求を行う。ホスト入出力処理部８００は、デバイス番号に対応する入出力経路やボリューム２６を求めて転送データ構造７００を生成し、ネットワーク３０経由でストレージ装置２０に転送する。
【００１９】
切替要求処理部１１００は、入出力対象切替要求データ１０００を生成する。そして、入出力対象ボリューム検索処理１３００、ペア状態遷移処理部１８００、および、入出力対象記憶処理部１９００は、受信した転送データ構造７００内に埋め込まれた、入出力対象切替要求データ１０００を参照して、他のストレージ装置２０と通信して切替先のボリュームを決定し、切替先の情報を共有メモリ２７内の入出力対象管理テーブル４００（請求項における切替テーブル）に記憶する。
【００２０】
入出力処理部２０００は、デバイス番号に対応付けされているボリューム２６に対する入出力を入出力対象管理テーブル４００にて指定されたボリューム２６に対して行う。また、状態監視処理部２２００は、ペア状態を監視してホスト計算機１０からの要求なしに入出力受付処理部１２００を起動する。
【００２１】
本発明の一実施形態では、切替要求処理部１１００や状態監視処理部２２００からの要求に従って、ホストフリーコピーのボリュームペア管理テーブル２００（請求項におけるボリュームテーブル）やグループ管理テーブル３００を参照し、切替可能なペア状態になった時点で、ボリュームやボリュームが属するグループを単位として、デバイス番号に対応付けされているボリュームに対する入出力要求を、デバイス番号に対応付けされていない、自ストレージ装置２０内や他ストレージ装置２０内のペア相手のボリュームやペア相手とペアになっているボリューム、過去ペアになったことのあるボリュームに変更するところに特長がある。
【００２２】
ここで、ホストフリーコピーとは、ストレージ装置２０が有するリモートコピーとローカルコピーの総称である。リモートコピーでは、ホスト計算機１０に接続されたストレージ装置２０ｐ内の正ボリューム２６ｐの副ボリューム２６ｓを、他のストレージ装置２０ｓ内の装置２５内にホスト計算機１０が介在することなく作成する。ストレージ装置２０ｓは、正ストレージ装置２０ｐと接続されていれば、ホスト計算機１０と直接接続されていなくてもよい。なお、論理ボリューム２６ｓは、論理ボリューム２６ｐのリモートコピー副ボリュームである。
【００２３】
複製元の正ボリューム２６ｐを正ボリューム、複製先の副ボリューム２６ｓを副ボリュームと称し、正ボリュームと副ボリュームの対をボリュームペアと称する。ボリュームペアは、整合性を維持したり同時に操作・管理したりすることを目的に、１つないし複数のボリュームでグループを構成することができる。
【００２４】
ローカルコピーでは、ストレージ装置２０ｐ内の正ボリューム２６ｐの副ボリューム２６ｑを、同一ストレージ装置２０ｐ内の装置２５内にホスト計算機１０が介在することなく作成する。リモートコピーと同様に、複製元の正ボリューム２６ｐを正ボリューム、複製先の副ボリューム２６ｑを副ボリューム、正ボリュームと副ボリュームの対をボリュームペアと称し、１つないし複数のボリュームでグループを構成することができる。なお、論理ボリューム２６ｑは、論理ボリューム２６ｐのローカルコピー副ボリュームである。
【００２５】
ボリュームペアは、以下の（ａ）〜（ｃ）のように、あるペアＡの正ボリュームまたは副ボリュームと、別のペアＢの正ボリュームまたは副ボリュームが同じ構成が可能である。このペアＡとペアＢに含まれるボリュームのように、オリジナルのボリュームが同じボリュームの集合を以下複製ボリューム群と称する。
（ａ）あるリモートコピーのボリュームペアの副ボリュームと別のリモートボリュームペアの正ボリュームが同じ構成
（ｂ）あるリモートコピーまたはローカルコピーのボリュームペアの正ボリュームと、別のリモートコピーまたはローカルコピーのボリュームペアの正ボリュームが同じ構成
（ｃ）リモートコピーのボリュームペアの正ボリュームまたは副ボリュームと、ローカルコピーの正ボリュームが同じ構成
【００２６】
図２から図４は、図１の構成におけるストレージ装置２０ｐ内の各テーブルの内容を示す。なお、テーブルの値は、以下の表によって割り当てられた各値を前提とするが、これは一例である。
【表１】
2006309638.tif 000003
【００２７】
図２は、共有メモリ２７内に設けられた、ホストフリーコピーのボリュームペアを管理するボリュームペア管理テーブル２００を示す。
【００２８】
ボリュームペア管理テーブル２００内にボリュームペアごとに設けられるエントリには、正ボリューム２６ｐが属する正ストレージ装置２０ｐを一意に識別する製造番号などの正ストレージ装置ＩＤ２１１、正ボリューム２６ｐをストレージ装置２０ｐ内で一意に識別する正ボリュームＩＤ２１２、副ボリューム２６ｓが属するストレージ装置２０ｓを一意に識別する副ストレージ装置ＩＤ２２１、副ボリューム２６ｓをストレージ装置２０ｓ内で一意に識別する副ボリュームＩＤ２２２、正ボリュームが同じで副ボリュームが異なる複数のペアを識別する自ストレージ装置内のボリューム（ローカルコピーの場合は副ボリューム）が属するグループのグループＩＤ２０１、ペア状態２０２、ローカルコピーやリモートコピーなどのホストフリーコピーのコピータイプ２０３が含まれる。
【００２９】
ここで、ペア状態２０２とは、ボリュームペアの一致状態や、差分データの転送状態を識別するための、以下のいずれかの状態である。
【表２】
2006309638.tif 000004
【００３０】
ボリュームペア管理テーブル２００のエントリは、ペア確立要求がされたときに、未割り当てのエントリを割り当てるか、ＳＩＭＰＬＥＸ状態のエントリを上書きする。ペアを解消するときは、エントリを消去してもよいが、消去せずに状態のみをＳＩＭＰＬＥＸにすることで、切り替え処理に必要なボリュームＩＤやストレージ装置ＩＤが残るため、ペアを解消したあとも、解消前のペア相手のボリューム２６に切り替えることができる。
【００３１】
図３は、共有メモリ２７内に設けられた、グループ管理テーブル３００の構造を示す。グループ管理テーブル３００内にグループごとに設けられるエントリには、グループのグループＩＤ３０１、グループ内の全ボリュームペア共通のコピータイプ３０２、このグループに属するボリュームのボリュームペアが最後にサスペンドされたサスペンド時刻３０３が含まれる。
【００３２】
図４は、共有メモリ２７内に設けられた、入出力対象管理テーブル４００の構造を示す。入出力対象管理テーブル４００内に切替要求されたボリューム２６ごとに設けられるエントリには、正ボリューム２６ｐのボリュームＩＤ４０１、ボリュームが属するストレージ装置の切替先正ストレージ装置ＩＤ４０２、入出力対象のボリューム２６の切替先ボリュームＩＤ４０３、ボリュームが属するストレージ装置の中継正ストレージ装置ＩＤ４０４、および、入出力対象ボリュームと入出力発行先ボリュームが異なるストレージ装置である場合に転送データ構造７００を転送する中継先となるボリューム２６の中継ボリュームＩＤ４０５が含まれる。なお、切り替え先をボリューム２６ｓとしている。
【００３３】
図５は、デバイス管理テーブル５００の構造を示す。デバイス管理テーブル５００のエントリは、各ストレージ装置２０内のボリューム２６のうち、ホスト計算機１０からアクセスするボリューム２６ごとのエントリである。エントリには、デバイス番号５０１とサブチャネルＩＤ５０２の情報が含まれる。
【００３４】
図６は、チャネルパス管理テーブル６００の構造を示す。チャネルパス管理テーブル６００は、サブチャネルＩＤごとにエントリを有する。エントリには、サブチャネルＩＤ６０１、入出力発行先のポート２１の入出力発行先ポートＩＤ６０２、入出力発行先のアダプタ２２の入出力発行先ＣＨＡＩＤ６０３、正ボリューム２６ｐの入出力発行先ボリュームＩＤ６０４が含まれる。
【００３５】
図７は、ホスト計算機１０からストレージ装置２０にネットワーク３０を介して転送される転送データ構造７００の構造を示す。転送データ構造７００は、入出力発行元のホスト計算機１０の計算機ＩＤ７０１、入出力発行先のポート２１の入出力発行先ポートＩＤ７０２、入出力発行先のアダプタ２２の入出力発行先ＣＨＡＩＤ７０３、正ボリューム２６ｐの入出力発行先ボリュームＩＤ７０４、入力や出力などのボリューム２６に対する要求を判別する要求コード７０５、ボリューム２６に出力する切替データ７０６を含む。
【００３６】
図８は、ホスト計算機１０内のアプリケーションやスクリプトがデバイス番号５０１を指定して入出力要求を行った場合の、ホスト入出力処理部８００における転送データ構造７００の生成処理のフローチャートである。
【００３７】
まず、ホスト入出力処理部８００は、デバイス番号５０１が含まれるエントリをデバイス管理テーブル５００から検索し（Ｓ８０１）、検索されたエントリ内のサブチャネルＩＤ５０２が含まれるエントリをチャネルパス管理テーブル６００から検索する（Ｓ８０２）。
【００３８】
次に、ホスト入出力処理部８００は、検索されたエントリを転送データ構造７００にコピーする（Ｓ８０３）。具体的には、検索されたエントリ内の入出力発行先ポートＩＤ６０２を入出力発行先ポートＩＤ７０２に、入出力発行先ＣＨＡＩＤ６０３を入出力発行先ＣＨＡＩＤ７０３に、入出力発行先ボリュームＩＤ６０４を入出力発行先ボリュームＩＤ７０４にそれぞれコピーする。
【００３９】
そして、ホスト入出力処理部８００は、入出力要求のときには入力要求または出力要求のコードを、切替要求処理部１１００からの入出力対象切替要求のときには入出力対象切替要求のコードを、転送データ構造７００の要求コード７０５に付加する（Ｓ８０４）。
【００４０】
さらに、ホスト入出力処理部８００は、出力データまたは入出力対象切替要求データを、転送データ構造７００の切替データ７０６に代入して、入出力発行先ポートＩＤ７０２が示すポートに、転送データ構造７００を転送する（Ｓ８０５）。
【００４１】
なお、デバイス番号に対応付けされている正ボリューム２６ｐを、デバイス番号に対応付けされている以外のボリューム（ボリューム２６ｑ、または、ボリューム２６ｓ）に切り替えたい場合は、ユーザやホスト計算機１０のアプリケーションやスクリプトから、ホスト計算機１０に入出力対象切替コマンドを入力する。
【００４２】
図９に、アクセス対象切替コマンド９００の文法を示す。アクセス対象切替コマンド９００のオペランドには、少なくとも正ボリューム２６ｐのデバイス番号と切替先特定情報１０１０（図１０参照）を指定する。オペランドには、切替先特定情報１０１０に指定したボリュームのみを対象とするか、ボリュームが属するグループ内の全ボリュームを対象とするかを指定する切替範囲を含んでもよい。
【００４３】
切替先特定情報１０１０は、入出力発行先ボリュームへの入出力要求の切替先ボリュームを特定するための情報であり、切替先ボリュームの切替先ボリュームＩＤ１０１２と切替先ストレージ装置ＩＤ１０１１との組、または、最後にサスペンドした要求サスペンド時刻１０１３のうち、少なくとも１つを指定する。
【００４４】
図１０に、入出力対象切替要求データ１０００の構造と切替先特定情報１０１０の構造を示す。入出力対象切替要求データ１０００には、要求元のストレージ装置の要求元ストレージ装置ＩＤ１００１、要求元ボリュームＩＤ１００２、切り替え範囲がボリュームかグループかを示す切替範囲１００３、および、切替先特定情報１０１０が含まれる。
【００４５】
切替先特定情報１０１０は、切替先ストレージ装置ＩＤ１０１１、入出力対象切替コマンド９００にボリュームＩＤを指定したときに代入される切替先ボリュームの切替先ボリュームＩＤ１０１２、サスペンド時刻を指定したときに代入される要求サスペンド時刻１０１３、および、要求サスペンド時刻１０１３に最も近い切替先サスペンド時刻１０１４を含む。
【００４６】
なお、要求元のストレージ装置の要求元ストレージ装置ＩＤ１００１について、ホスト計算機１０から正ストレージ装置２０ｐに送信される入出力対象切替要求データ１０００には、値が規定されていないが、正ストレージ装置２０ｐから副ストレージ装置２０ｑに送信される入出力対象切替要求データ１０００には、正ストレージ装置２０ｐの論理ボリュームのＩＤが書き込まれている。
【００４７】
以下、図７に示すホスト計算機１０からのアクセス対象切替コマンド９００により、切替先特定情報１０１０のエントリをボリュームペア管理テーブル２００に登録する手順（図１１、図１２、図１３、図１４、図１５、図１６、図１７、図１８、図１９）、および、エントリが登録されたボリュームペア管理テーブル２００を参照して、ボリュームへのアクセスを適切なボリュームへ切り替える手順（図２０、図２１、図２２）、を順に説明する。
【００４８】
図１１は、切替要求処理部１１００のフローチャートである。
【００４９】
まず、切替要求処理部１１００は、入出力対象切替コマンド９００が入力されると、コマンドのオペランドを解析し、オペランドに指定された内容を切替先特定情報１０１０に設定して入出力対象切替要求データ１０００を作成する（Ｓ１１０１）。
【００５０】
次に、切替要求処理部１１００は、入出力対象切替要求データ１０００を指定して入出力処理を呼び出し、切替データ７０６に入出力対象切替要求データ１０００を埋め込んだ転送データ構造７００をストレージ装置２０に転送して切替要求を行い（Ｓ１１０２）、ストレージ装置２０からの応答を待つ（Ｓ１１０３）。
【００５１】
図１２は、正ストレージ装置２０ｐの入出力受付処理部１２００のフローチャートである。
【００５２】
まず、入出力受付処理部１２００は、要求コード７０５が、ホスト計算機１０のホスト入出力処理部８００または他のストレージ装置２０の入出力処理部２０００からの要求である入出力要求コードであれば（Ｓ１２０１、Ｙｅｓ）、入出力処理部２０００を呼び出し（Ｓ２０００）、処理を終了する。
【００５３】
次に、入出力受付処理部１２００は、要求コード７０５が、他のストレージ装置からの入出力対象検索要求である入出力対象検索要求コードであれば（Ｓ１２０２、Ｙｅｓ）、入出力対象検索処理部１３００を呼び出し（Ｓ１３００）、処理を終了する。
【００５４】
そして、入出力受付処理部１２００は、要求コード７０５が、状態遷移要求コードであれば（Ｓ１２０３、Ｙｅｓ）、ペア状態遷移処理部１８００を呼び出し（Ｓ１８００）、処理を終了する。
【００５５】
さらに、入出力受付処理部１２００は、要求コード７０５が、対象記憶要求コードであれば（Ｓ１２０４、Ｙｅｓ）、入出力対象記憶処理部１９００を呼び出し（Ｓ１９００）、処理を終了する。
【００５６】
そして、入出力受付処理部１２００は、ホスト計算機１０の切替要求処理部１１００からの要求である入出力対象切替要求コードであれば（Ｓ１２０５、Ｙｅｓ）、入出力対象検索処理部１３００を呼び出す（Ｓ１３００）。
【００５７】
ここで、入出力受付処理部１２００は、Ｓ１３００の検索処理が成功でなければ（Ｓ１２０６、Ｎｏ）、ホスト計算機１０にエラー応答して（Ｓ１２０８）、処理を終了する。
【００５８】
一方、入出力受付処理部１２００は、Ｓ１３００の検索処理が成功であれば（Ｓ１２０６、Ｙｅｓ）、ペア状態遷移処理部１８００を呼び出し（Ｓ１８００）、自己ストレージ装置のＩＤを要求元ストレージ装置ＩＤ１００１に、入出力発行先ボリュームＩＤ７０４を要求元ボリュームＩＤ１００２に代入する（Ｓ１２０７）。
【００５９】
そして、入出力受付処理部１２００は、入出力対象記憶処理部１９００を呼び出す（Ｓ１９００）。
【００６０】
図１３は、入出力対象検索処理部１３００のフローチャートである。
【００６１】
まず、入出力対象検索処理部１３００は、入出力発行先ボリュームＩＤ７０４のボリュームを副ボリュームとするボリュームペアの正ボリューム方向の他ストレージ装置２０のボリュームを対象とした副ボリュームの検索処理部１４００を呼び出す（Ｓ１３０１）。
【００６２】
次に、入出力対象検索処理部１３００は、Ｓ１３０１の検索が成功であれば（Ｓ１３０２、Ｙｅｓ）、検索された切替先ボリュームのボリュームＩＤと、切替先ボリュームが属するストレージ装置のストレージ装置ＩＤとを切替先特定情報１０１０に代入して送信し（Ｓ１３０３）、処理を終了する。
【００６３】
そして、入出力対象検索処理部１３００は、自ストレージ装置内の切替先ボリュームの検索処理部１５００を呼び出し（Ｓ１３０４）、検索が成功であれば（Ｓ１３０５、Ｙｅｓ）、切替先特定情報１０１０の送信（Ｓ１３０３）を実行する。
【００６４】
さらに、入出力対象検索処理部１３００は、入出力発行先ボリュームＩＤ７０４のボリュームを正ボリュームとするボリュームペアの副ボリューム方向の他ストレージ装置２０のボリュームを対象とした副ストレージ装置の入出力対象検索処理部１７００を呼び出し（Ｓ１３０６）、検索が成功であれば（Ｓ１３０７、Ｙｅｓ）、切替先特定情報１０１０の送信（Ｓ１３０３）を実行する。
【００６５】
そして、入出力対象検索処理部１３００は、すべての検索に失敗すれば（Ｓ１３０７、Ｎｏ）、検索に失敗したことを送信する（Ｓ１３０８）。
【００６６】
図１４は、副ボリュームの検索処理部１４００のフローチャートである。
【００６７】
まず、副ボリュームの検索処理部１４００は、自ストレージ装置２０のＩＤと副ストレージ装置ＩＤ２２１が一致し、入出力発行先ボリュームＩＤ７０４と副ボリュームＩＤ２２２が一致するエントリをテーブル２００内から検索し（Ｓ１４０１）、エントリが存在しなければ（Ｓ１４０２、Ｎｏ）、検索失敗とする（Ｓ１４０３）。
【００６８】
次に、副ボリュームの検索処理部１４００は、エントリが存在するときに（Ｓ１４０２、Ｙｅｓ）、エントリの正ストレージ装置ＩＤ２１１が自ストレージ装置２０のＩＤと一致すれば（Ｓ１４０４、Ｙｅｓ）、ローカルコピーのペアであるため、ローカルコピーの正ボリュームを副ボリュームとするリモートコピーのペアを検索するために正ボリュームＩＤ２１２を入出力発行先ボリュームＩＤ７０４として（Ｓ１４０５）、Ｓ１４０１から再度実行する。
【００６９】
そして、副ボリュームの検索処理部１４００は、一致しなければ（Ｓ１４０４、Ｎｏ）、入出力発行先ボリュームＩＤ７０４に正ボリュームのＩＤである正ボリュームＩＤ２１２を、要求コード７０５に入出力対象検索要求コードを、それぞれ代入し、正ストレージ装置ＩＤ２１１のストレージ装置２０に転送データ構造７００を転送する（Ｓ１４０６）。
【００７０】
さらに、副ボリュームの検索処理部１４００は、正ストレージ装置ＩＤ２１１のストレージ装置２０内を検索し、正ストレージ装置ＩＤ２１１のストレージ装置２０からの応答を待って検索結果を受信する（Ｓ１４０７）。
【００７１】
そして、副ボリュームの検索処理部１４００は、対象が見つかったら（Ｓ１４０８、Ｙｅｓ）、検索成功とする（Ｓ１４０９）。
【００７２】
図１５は、切替先特定情報１０１０に切替先ストレージ装置ＩＤ１０１１と切替先ボリュームＩＤ１０１２を指定した場合の、自ストレージ装置２０内のボリューム２６を対象とした入出力対象ボリューム検索処理のフローチャートである。
【００７３】
まず、切替先ボリュームの検索処理部１５００は、切替先特定情報１０１０内の切替先ストレージ装置ＩＤ１０１１が自ストレージ装置２０のＩＤと一致しなければ（Ｓ１５０１、Ｎｏ）、検索失敗とする（Ｓ１５０２）。
【００７４】
次に、切替先ボリュームの検索処理部１５００は、切替先特定情報１０１０内の切替先ストレージ装置ＩＤ１０１１が入出力発行先ボリュームＩＤ７０４と一致すれば（Ｓ１５０３、Ｙｅｓ）、検索成功とし、入出力発行先ボリュームＩＤ７０４のボリュームを検索結果とする（Ｓ１５０４）。
【００７５】
そして、切替先ボリュームの検索処理部１５００は、正ストレージ装置ＩＤ２１１と副ストレージ装置ＩＤ２２１とが共に自ストレージ装置２０のＩＤと一致し、正ボリュームＩＤ２１２または副ボリュームＩＤ２２２が入出力発行先ボリュームＩＤ７０４と一致するエントリをボリュームペア管理テーブル２００から検索する（Ｓ１５０５）。
【００７６】
さらに、切替先ボリュームの検索処理部１５００は、Ｓ１５０５でエントリが存在すれば（Ｓ１５０６、Ｙｅｓ）、すべてのエントリに対して、切替先特定情報１０１０内の切替先ボリュームＩＤ１０１２が検索されたエントリの正ボリュームＩＤ２１２または副ボリュームＩＤ２２２と一致するかどうか調べ、一致すれば（Ｓ１５０７、Ｙｅｓ）、検索成功とし、一致したエントリの正ボリュームＩＤ２１２または副ボリュームＩＤ２２２のボリュームを検索結果とする（Ｓ１５０８）。
【００７７】
そして、切替先ボリュームの検索処理部１５００は、一致しなければ（Ｓ１５０７、Ｎｏ）、入出力発行先ボリュームＩＤ７０４と一致しないエントリの正ボリュームＩＤ２１２または副ボリュームＩＤ２２２を入出力発行先ボリュームＩＤ７０４として（Ｓ１５０９）、Ｓ１５０５から繰り返す。
【００７８】
図１６は、切替先特定情報１０１０に要求サスペンド時刻１０１３を指定した場合の、自ストレージ装置内のボリュームを対象とした入出力対象ボリューム検索処理のフローチャートである。
【００７９】
まず、サスペンド時刻の検索処理部１６００は、正ストレージ装置ＩＤ２１１と副ストレージ装置ＩＤ２２１とが共に自ストレージ装置２０のＩＤと一致し、正ボリュームＩＤ２１２または副ボリュームＩＤ２２２が入出力発行先ボリュームＩＤ７０４と一致するエントリをボリュームペア管理テーブル２００から検索する（Ｓ１６０１）。
【００８０】
次に、サスペンド時刻の検索処理部１６００は、エントリが存在しなければ（Ｓ１６０２）、処理を終了する。
【００８１】
そして、サスペンド時刻の検索処理部１６００は、エントリ内のグループＩＤ２０１とコピータイプ２０３に等しいグループ管理テーブル３００内のエントリのサスペンド時刻３０３が、切替先サスペンド時刻１０１４より要求サスペンド時刻１０１３に近い場合（Ｓ１６０３、Ｙｅｓ）、エントリの副ストレージ装置ＩＤ２２１を切替先ストレージ装置ＩＤ１０１１に、副ボリュームＩＤ２２２を切替先ボリュームＩＤ１０１２に、サスペンド時刻３０３を切替先サスペンド時刻１０１４に代入し、検索候補とする（Ｓ１６０４）。
【００８２】
さらに、サスペンド時刻の検索処理部１６００は、入出力発行先ボリュームＩＤ７０４と一致しないエントリの正ボリュームＩＤ２１２または副ボリュームＩＤ２２２を入出力発行先ボリュームＩＤ７０４とし（Ｓ１６０５）、Ｓ１６０１から再実行する。
【００８３】
図１７は、副側ストレージ装置内入出力対象ボリューム検索処理のフローチャートである。
【００８４】
まず、副ストレージ装置の入出力対象検索処理部１７００は、自ストレージ装置２０のＩＤと正ストレージ装置ＩＤ２１１が一致し、入出力発行先ボリュームＩＤ７０４と正ボリュームＩＤ２１２が一致するエントリをテーブル２００内から検索し（Ｓ１７０１）、エントリが存在しなければ（Ｓ１７０２、Ｎｏ）、検索失敗とする（Ｓ１７０３）。
【００８５】
次に、副ストレージ装置の入出力対象検索処理部１７００は、エントリの副ストレージ装置ＩＤ２２１が自ストレージ装置２０のＩＤと一致すれば（Ｓ１７０４、Ｙｅｓ）、ローカルコピーのペアであるため、ローカルコピーの副ボリュームを正ボリュームとするリモートコピーのペアを検索するために副ボリュームＩＤ２２２を入出力発行先ボリュームＩＤ７０４として（Ｓ１７０５）、Ｓ１７０１から再度実行する。
【００８６】
そして、副ストレージ装置の入出力対象検索処理部１７００は、一致しなければ（Ｓ１７０４、Ｎｏ）、入出力発行先ボリュームＩＤ７０４に副ボリュームのＩＤである副ボリュームＩＤ２２２を、要求コード７０５に入出力対象検索要求コードをそれぞれ代入し、副ストレージ装置ＩＤ２２１のストレージ装置２０に転送データ構造７００を転送して（Ｓ１７０６）、副ストレージ装置ＩＤ２２１のストレージ装置２０内を検索し、副ストレージ装置ＩＤ２２１のストレージ装置２０からの応答を待って検索結果を受信する（Ｓ１７０７）。
【００８７】
さらに、副ストレージ装置の入出力対象検索処理部１７００は、対象が見つかったら（Ｓ１７０８、Ｙｅｓ）、検索成功とする（Ｓ１７０９）。
【００８８】
このように、図１３〜図１７の処理により、入出力発行先以外のストレージ装置内のボリュームも含めて、入出力発行先が含まれるボリュームの複製ボリューム群から、入出力対象となるボリュームを検索し特定することができる。
【００８９】
次に、入出力対象となるボリュームが切替可能な状態であるかどうかをチェックする。入出力対象となるボリュームがボリュームペアの副ボリュームであるとき、ペア状態がＤＵＰＬＥＸやＰＥＮＤＩＮＧであると、ホスト計算機１０からの入出力要求とは別に差分情報が転送されてしまい、ボリューム内容の整合性を保つことができなくなる。
【００９０】
このため、ペア状態遷移処理部１８００により、切り替える前に、入出力対象となるボリュームを副ボリュームとするボリュームペアの状態をサスペンドに変更する必要がある。なお、ペアの正ボリュームがさらに副ボリュームとなっている場合は、サスペンド状態かペアでない（ＳＩＭＰＬＥＸ状態のペア）ボリュームにまでさかのぼり、そのペアから順にサスペンドに変更していく。
【００９１】
図１８は、ペア状態遷移処理部１８００のフローチャート図である。
【００９２】
まず、ペア状態遷移処理部１８００は、入出力対象となるボリュームのペア状態を参照するため、入出力対象となるボリュームが属するストレージ装置２０に転送データ構造７００を転送する。切替先ストレージ装置ＩＤ１０１１が自ストレージ装置２０のＩＤと一致しなければ（Ｓ１８０１、Ｎｏ）、要求コード７０５にペア状態遷移要求コードを、入出力発行先ボリュームＩＤ７０４に副ボリュームＩＤ２２２を代入し、副ストレージ装置ＩＤ２２１のストレージ装置２０に転送データ構造７００を転送し（Ｓ１８０２）、応答を待って（Ｓ１８０３）、処理を終了する。
【００９３】
次に、ペア状態遷移処理部１８００は、一致すれば（Ｓ１８０１、Ｙｅｓ）、ＰＥＮＤＩＮＧやＤＵＰＬＥＸ以外のペア状態をもつペアまで移行する。
【００９４】
そして、ペア状態遷移処理部１８００は、要求元ボリュームＩＤ１００２と副ボリュームＩＤ２２２が一致するエントリをボリュームペア管理テーブル２００から検索する（Ｓ１８１１）。
【００９５】
さらに、ペア状態遷移処理部１８００は、ペア状態２０２がＰＥＮＤＩＮＧかＤＵＰＬＥＸであるエントリが存在しなければ（Ｓ１８１２、Ｎｏ）、呼び出し元に応答して（Ｓ１８２５）、処理を終了する。
【００９６】
そして、ペア状態遷移処理部１８００は、エントリのＩＤと自ストレージ装置のＩＤが等しくなければ（Ｓ１８１３、Ｎｏ）、エントリの正ストレージ装置ＩＤ２１１が示す、正ボリュームが属するストレージ装置２０に転送データ構造７００を転送し（Ｓ１８１４）、応答を待つ（Ｓ１８１５）。
【００９７】
さらに、ペア状態遷移処理部１８００は、ペア状態をサスペンドに移行させ、エントリのペア状態２０２がＰＥＮＤＩＮＧであれば（Ｓ１８２１、Ｙｅｓ）、ペア状態２０２がＤＵＰＬＥＸになるまで待つ（Ｓ１８２２）。
【００９８】
そして、ペア状態遷移処理部１８００は、ペア状態がＤＵＰＬＥＸであれば（Ｓ１８２３、Ｙｅｓ）、ペアをサスペンドしてペア状態２０２がサスペンドになるまで待つ（Ｓ１８２４）。
【００９９】
切替可能な状態に移行したあとは、入出力要求時に入出力対象を判別できるように、入出力対象となるボリュームのＩＤとそのボリュームが属するストレージ装置２０のＩＤを、複製ボリューム群の各ボリュームが含まれるストレージ装置２０内の共有メモリ２７に記憶する。
【０１００】
図１９は、入出力対象記憶処理部１９００のフローチャートである。
【０１０１】
まず、入出力対象記憶処理部１９００は、入出力対象管理テーブル４００にエントリを割り当て、入出力発行先ボリュームＩＤ７０４をボリュームＩＤ４０１に、切替先のストレージ装置ＩＤを切替先正ストレージ装置ＩＤ４０２に、切替先のボリュームＩＤを切替先ボリュームＩＤ４０３に、要求元ストレージ装置ＩＤ１００１を中継正ストレージ装置ＩＤ４０４に、要求元ボリュームＩＤ１００２を中継ボリュームＩＤ４０５に、代入する（Ｓ１９０１）。
【０１０２】
次に、入出力対象記憶処理部１９００は、正ストレージ装置ＩＤ２１１と自ストレージ装置２０のＩＤとが一致し正ボリュームＩＤ２１２と入出力発行先ボリュームＩＤ７０４とが一致し副ストレージ装置ＩＤ２２１と要求元ストレージ装置ＩＤ１００１とが一致せず副ボリュームＩＤ２２２と要求元ボリュームＩＤ１００２とが一致しないエントリ、または副ストレージ装置ＩＤ２２１と自ストレージ装置２０のＩＤとが一致し副ボリュームＩＤ２２２と入出力発行先ボリュームＩＤ７０４とが一致し正ストレージ装置ＩＤ２１１と要求元ストレージ装置ＩＤ１００１とが一致せず正ボリュームＩＤ２１２と要求元ボリュームＩＤ１００２とが一致しないエントリを、すべてボリュームペア管理テーブル２００内から検索する（Ｓ１９０２）。
【０１０３】
そして、入出力対象記憶処理部１９００は、Ｓ１９０２で検索されたすべてのエントリに対して、後記するＳ１９０４〜Ｓ１９１０を実行し、エントリがひとつも存在しない場合は（Ｓ１９０３、Ｎｏ）、処理を終了する。
【０１０４】
さらに、入出力対象記憶処理部１９００は、切替範囲１００３にグループが指定されていれば（Ｓ１９０４、Ｙｅｓ）、入出力発行先ボリュームＩＤ７０４のボリュームと同一グループに属するボリュームの切替先のストレージ装置とグループのＩＤを記憶し、エントリのグループＩＤ２０１とコピータイプ２０３が共に等しいエントリをボリュームペア管理テーブル２００から検索する（Ｓ１９０５）。
【０１０５】
そして、入出力対象記憶処理部１９００は、入出力対象管理テーブル４００にエントリを割り当て、切替先のストレージ装置ＩＤを切替先正ストレージ装置ＩＤ４０２に、ＮＵＬＬを切替先ボリュームＩＤ４０３に代入する。入出力発行先ボリュームＩＤ７０４がグループの副ボリュームに属する場合は、副ボリュームＩＤ２２２をボリュームＩＤ４０１に、正ストレージ装置ＩＤ２１１を中継正ストレージ装置ＩＤ４０４に、正ボリュームＩＤ２１２を中継ボリュームＩＤ４０５に代入し、入出力発行先ボリュームＩＤ７０４がグループの正ボリュームに属する場合は、正ボリュームＩＤ２１２をボリュームＩＤ４０１に、副ストレージ装置ＩＤ２２１を中継正ストレージ装置ＩＤ４０４に、副ボリュームＩＤ２２２を中継ボリュームＩＤ４０５に代入する（Ｓ１９０６）。
【０１０６】
さらに、入出力対象記憶処理部１９００は、エントリの正ストレージ装置ＩＤ２１１と副ストレージ装置ＩＤ２２１が共に自ストレージ装置２０のＩＤと一致すれば（Ｓ１９０７、Ｙｅｓ）、ローカルコピーのペア相手のボリューム２６に対しても入出力対象管理テーブル４００のエントリを割り当てるため、入出力発行先ボリュームＩＤ７０４と一致しない正ボリュームＩＤ２１２または副ボリュームＩＤ２２２を入出力発行先ボリュームＩＤ７０４として（Ｓ１９０８）、Ｓ１９０１から再度実行する。
【０１０７】
そして、入出力対象記憶処理部１９００は、一致しなければ（Ｓ１９０７、Ｎｏ）、リモートコピーのペア相手のボリュームのストレージ装置に入出力対象管理テーブル４００のエントリを割り当てるため、自ストレージ装置２０のＩＤを要求元ストレージ装置ＩＤ１００１に代入し、入出力発行先ボリュームＩＤ７０４を要求元ボリュームＩＤ１００２に代入する（Ｓ１９０９）。
【０１０８】
さらに、入出力対象記憶処理部１９００は、入出力発行先ボリュームＩＤ７０４と一致しない正ストレージ装置ＩＤ２１１または正ボリュームＩＤ２１２を入出力発行先ボリュームＩＤ７０４に代入し、自ストレージ装置２０と一致しない正ストレージ装置ＩＤ２１１または正ストレージ装置ＩＤ２１１のストレージ装置２０に転送データ構造７００を転送する（Ｓ１９１０）。
【０１０９】
図２０は、入出力処理部２０００のフローチャートである。
【０１１０】
まず、入出力処理部２０００は、入出力発行先ボリュームＩＤ７０４とボリュームＩＤ４０１とが一致するエントリＡをテーブル４００内から検索し（Ｓ２００１）、エントリＡが存在しなければ（Ｓ２００２、Ｎｏ）、切替対象でないため、入出力発行先ボリュームＩＤ７０４のボリューム２６に対して入出力を実行する（Ｓ２００３）。
【０１１１】
次に、入出力処理部２０００は、エントリＡが存在し（Ｓ２００２、Ｙｅｓ）、エントリＡの切替先正ストレージ装置ＩＤ４０２が自ストレージ装置２０のＩＤと一致し（Ｓ２００４、Ｙｅｓ）、切替先ボリュームＩＤ４０３がＮＵＬＬでないときには（Ｓ２００５、Ｎｏ）、切替先ボリュームＩＤ４０３のボリューム２６に対して入出力を実行する（Ｓ２００６）。
【０１１２】
なお、グループ指定のときは、切替先ボリュームＩＤ４０３がＮＵＬＬであるため、中継ボリュームＩＤ４０５を参照する（切替先正ストレージ装置ＩＤ４０２と中継正ストレージ装置ＩＤ４０４が等しければ、中継ボリュームＩＤ４０５は切替先を示す）。
【０１１３】
そして、入出力処理部２０００は、切替先ボリュームＩＤ４０３がＮＵＬＬの場合は（Ｓ２００５、Ｙｅｓ）、中継ボリュームＩＤ４０５のボリューム２６に対して入出力を実行する（Ｓ２００７）。
【０１１４】
さらに、入出力処理部２０００は、エントリＡの切替先正ストレージ装置ＩＤ４０２が自ストレージ装置２０のＩＤと一致しなければ（Ｓ２００４、Ｎｏ）、入出力発行先ポートＩＤ７０２に中継正ストレージ装置ＩＤ４０４のストレージ装置のポート２１のＩＤ、入出力発行先ＣＨＡＩＤ７０３に中継正ストレージ装置ＩＤ４０４のストレージ装置のアダプタ２２のＩＤ、入出力発行先ボリュームＩＤ７０４に中継ボリュームＩＤ４０５をそれぞれ代入し、中継正ストレージ装置ＩＤ４０４のストレージ装置２０に転送データ構造７００を転送する（Ｓ２００８）。
【０１１５】
そして、入出力処理部２０００は、入出力結果などのデータの応答を待ち、入出力結果を呼出元のホスト計算機１０またはストレージ装置２０に送信する（Ｓ２０１０）。
【０１１６】
今までの説明では、ある計算機から入出力対象の切替要求を行うと、どの計算機からの入出力要求でも入出力対象が切り替わる。しかし、入出力対象の切替要求を行った計算機のみ入出力対象を切り替えることも可能である。そのためには、図１９と図２０において、入出力対象記憶処理部１９００のＳ１９０１において入出力対象管理テーブル４００を記憶し、入出力処理部２０００のＳ２００２において、エントリＡが存在した場合でも、計算機ＩＤ７０１と入出力対象管理テーブル４００に記憶した計算機ＩＤが一致してなければ、切り替え先ではなく入出力発行先ボリュームＩＤ７０４のボリューム２６に対して入出力を実行する。
【０１１７】
図２１に、カスケード構成における本発明の一実施形態で使用するテーブル内容の例を示す。入出力対象管理テーブル４００ｐは、ホスト計算機１０からのホスト内ＩＤを有する正ボリューム２６ｐが属し、ホスト計算機１０と接続されているストレージ装置２０ｐ内の入出力対象管理テーブルである。副ボリューム２６ｑは、正ボリューム２６ｐのローカルコピーの副ボリュームである。入出力対象管理テーブル４００ｓは、正ストレージ装置２０ｐと接続されているストレージ装置２０ｓの入出力対象管理テーブル４００であり、副ボリューム２６ｓは、副ボリューム２６ｑのリモートコピーの副ボリュームである。入出力対象管理テーブル４００ｔは、ストレージ装置２０ｓと接続されているストレージ装置２０ｔの入出力対象管理テーブル４００であり、ボリューム２６ｔは、副ボリューム２６ｓのリモートコピーの副ボリュームである。
【０１１８】
図２１では、入出力対象は、ボリューム２６ｔであり、切替先ボリュームＩＤ４０３は、ボリューム２６ｔのＩＤが設定される。ホスト計算機１０からボリューム２６ｔへアクセスするには、正ストレージ装置２０ｐからストレージ装置２０ｓを経由してストレージ装置２０ｔに転送データ構造７００を転送するストレージ装置２０ｓに転送データ構造７００を転送するため、正ストレージ装置２０ｐの中継正ストレージ装置ＩＤ４０４は、ストレージ装置２０ｓのＩＤが設定される。
【０１１９】
今までの説明では、ホスト計算機１０からの要求により入出力対象を切り替えていた。しかし、ストレージ装置２０内の状態により、切り替えることが可能である場合がある。例えば、リモートコピーの副ボリュームがローカルコピーの正ボリュームと等しい構成のとき、リモートコピーの正ボリュームが属するストレージ装置２０に障害が生じる直前のリモートコピーのペア状態がＤＵＰＬＥＸであれば、ローカルコピーの正ボリュームは更新されているため、整合性が保障されておらず、ローカルコピーのペア状態がＳＵＳＰＥＮＤであれば、ローカルコピーの副ボリュームにアクセスする必要がある。リモートコピーのペア状態がＳＵＳＰＥＮＤであれば、ローカルコピーの正ボリュームは整合性がとれており、正ボリュームを使ったほうが、より最新のデータが得られる。
【０１２０】
このように、ペア状態からローカルコピーのどちらにアクセスするかペア状態から判断することができる。ローカルコピーに接続されたホスト計算機１０にローカルコピーの正ボリュームにしかホスト内ＩＤを割り当てていない場合でも、副ボリュームにアクセス先を切り替えることで、副ボリュームから正ボリュームにデータを戻すまで待たずに整合性のとれたデータをアクセスすることができる。ストレージ装置２０内にペア状態を監視する状態監視処理部２２００を設けることで、ホスト計算機１０からの指示を待たずに切り替えることも可能となる。
【０１２１】
図２２は、状態監視処理部２２００のフローチャートである。
【０１２２】
まず、状態監視処理部２２００は、ボリュームペア管理テーブル２００に、ペア状態が異常状態であるエントリＡがあるまで、ペア状態を調べる（Ｓ２２０１）。
【０１２３】
次に、状態監視処理部２２００は、エントリＡが存在する場合（Ｓ２２０１、Ｙｅｓ）、エントリＡの副ストレージ装置ＩＤ２２１がストレージ装置２０と一致し、エントリＡのペア状態２０２がＤＵＰＬＥＸ−ＥＲＲであり、正ストレージ装置ＩＤ２１１と副ストレージ装置ＩＤ２２１が共にストレージ装置２０のＩＤと同じで正ボリュームＩＤ２１２がエントリＡの副ボリュームＩＤ２２２と等しいエントリＢが存在するかどうか調べる（Ｓ２２０２）。
【０１２４】
そして、状態監視処理部２２００は、存在すれば（Ｓ２２０２、Ｙｅｓ）、入出力対象管理テーブル４００から、ボリュームＩＤ４０１がエントリＢの正ボリュームＩＤ２１２または副ボリュームＩＤ２２２と等しいエントリを検索し、中継ボリュームＩＤ４０５をエントリＢの副ボリュームＩＤ２２２に変更する（Ｓ２２０３）。
【０１２５】
以上説明した、本発明の一実施形態に関するストレージ装置では、ホスト内ＩＤに割り当てられたストレージ装置内の第一の論理ボリュームに対して送信された、入出力対象とする第二の論理ボリュームを特定するために必要な、ボリュームＩＤないしサスペンド時刻の情報を受信する手段と、各ストレージ装置内のペア管理テーブルを参照し、第一の論理ボリュームと、第一の論理ボリュームとホストフリーコピー機能の複製元または複製先の関係を形成しているひとつないし複数の第三の論理ボリュームとのなかから第二の論理ボリュームを検索する手段と、検索された第二の論理ボリュームのＩＤを、第二の論理ボリュームのペアボリュームが属する各ストレージ装置の共有メモリに記憶する手段と、差分データの受信を不可能なペア状態に変更し変更が完了するまで待つ手段と、第一の論理ボリュームに対する入出力要求を受信したとき、記憶された第二の論理ボリュームのＩＤを参照して第二の論理ボリュームに対して入出力を行う手段とを有する。
【０１２６】
このストレージ装置によれば、複製関係にあるか過去にあったボリューム群に対して、ボリュームごとにホスト内ＩＤを設定することなく各ボリュームをアクセスすることができるため、その分のホスト内ＩＤを他のボリューム用に割り当てることで同一のホスト計算機１０からアクセス可能なボリューム数を増加させ、ストレージを有効活用することができる。
【０１２７】
以下、本発明の一実施形態による顕著な効果について、具体的に説明する。
【０１２８】
まず、比較例のホスト内ＩＤと、ストレージ内ＩＤとを１対１で対応付ける方式において、切替元ボリュームおよび切替先ボリュームの組を定義すると、以下の表のようになる。なお、ホスト内ＩＤは、２バイト長（２の１６乗個＝６５５３６個のアドレスを割り当てられる）と仮定する。
【表３】
2006309638.tif 000005
【０１２９】
この比較例の方式では、ストレージ内ＩＤが、ホスト内ＩＤと同じ数（６５５３６個）に制限されてしまう。よって、仮に、ホスト内ＩＤよりも多い数のボリュームが存在していても、ホスト内ＩＤよりも多い数のボリュームは、使用されないこととなり、計算機資源の無駄となる。
【０１３０】
一方、本発明の一実施形態による方式は、ホスト計算機１０が発する切替コマンドにより、例えば、以下の表が切替テーブルとして生成される。
【表４】
2006309638.tif 000006
【０１３１】
この本発明の一実施形態による方式では、切替元ボリュームではホスト内ＩＤを使用するが、切替先ボリュームではストレージ内ＩＤを使用する。そして、切替コマンドに含まれる切替先ボリュームの特定情報を満たすボリュームが全て切替先ボリュームとなる。よって、表に含まれるボリュームは、ホスト内ＩＤの個数に制限される切替元ボリュームに加え、ホスト内ＩＤの個数に制限されない切替先ボリュームである。これにより、ホスト内ＩＤよりも多い数のボリュームが存在していても、切替先ボリュームとして使用することができ、計算機資源であるボリュームを有効に活用することができる。
【図面の簡単な説明】
【０１３２】
【図１】本発明の一実施形態に関するハードウェア構成の一例を示す説明図である。
【図２】本発明の一実施形態に関するボリュームペア管理テーブルの構造を示す説明図である。
【図３】本発明の一実施形態に関するグループ管理テーブルの構造を示す説明図である。
【図４】本発明の一実施形態に関する入出力対象管理テーブルの構造を示す説明図である。
【図５】本発明の一実施形態に関するデバイス管理テーブルの構造を示す説明図である。
【図６】本発明の一実施形態に関するチャネルパス管理テーブルの構造を示す説明図である。
【図７】本発明の一実施形態に関するホスト計算機からストレージ装置への転送データの構造を示す説明図である。
【図８】本発明の一実施形態に関する入出力処理を示すフローチャートである。
【図９】本発明の一実施形態に関する入出力対象切替コマンドの文法を示す説明図である。
【図１０】本発明の一実施形態に関する入出力対象切替要求データの構造を示す説明図である。
【図１１】本発明の一実施形態に関する切替要求処理を示すフローチャートである。
【図１２】本発明の一実施形態に関する入出力受付処理を示すフローチャートである。
【図１３】本発明の一実施形態に関する入出力対象ボリューム検索処理を示すフローチャートである。
【図１４】本発明の一実施形態に関する正側ストレージ装置内入出力対象ボリューム検索処理を示すフローチャートである。
【図１５】本発明の一実施形態に関する切替先特定情報がボリュームＩＤである場合の自ストレージ装置内入出力対象ボリューム検索処理を示すフローチャートである。
【図１６】本発明の一実施形態に関する切替先特定情報がサスペンド時刻である場合の自ストレージ装置内入出力対象ボリューム検索処理を示すフローチャートである。
【図１７】本発明の一実施形態に関する副側ストレージ装置内入出力対象ボリューム検索処理を示すフローチャートである。
【図１８】本発明の一実施形態に関するペア状態遷移処理を示すフローチャートである。
【図１９】本発明の一実施形態に関する入出力対象記憶処理を示すフローチャートである。
【図２０】本発明の一実施形態に関する入出力処理を示すフローチャートである。
【図２１】本発明の一実施形態に関するカスケード構成における本発明で使用するテーブル内容の例を示す説明図である。
【図２２】本発明の一実施形態に関する状態監視処理を示すフローチャートである。
【符号の説明】
【０１３３】
１０    ホスト計算機
１１    主記憶装置
１２    中央処理装置
１３    入出力インタフェース
２０    ストレージ装置
２１    ポート
２２    ＣＨＡ
２３    スイッチ
２４    ＤＫＡ
２５    ディスク装置
２６    論理ボリューム
２７    共有メモリ
３０    ネットワーク
２００  ボリュームペア管理テーブル（ボリュームテーブル）
３００  グループ管理テーブル
４００  入出力対象管理テーブル（切替テーブル）
５００  デバイス管理テーブル
６００  チャネルパス管理テーブル
７００  転送データ構造
１０００  入出力対象切替要求データ構造
【図１】
2006309638.tif 000007
【図２】
2006309638.tif 000008
【図３】
2006309638.tif 000009
【図４】
2006309638.tif 000010
【図５】
2006309638.tif 000011
【図６】
2006309638.tif 000012
【図７】
2006309638.tif 000013
【図８】
2006309638.tif 000014
【図９】
2006309638.tif 000015
【図１０】
2006309638.tif 000016
【図１１】
2006309638.tif 000017
【図１２】
2006309638.tif 000018
【図１３】
2006309638.tif 000019
【図１４】
2006309638.tif 000020
【図１５】
2006309638.tif 000021
【図１６】
2006309638.tif 000022
【図１７】
2006309638.tif 000023
【図１８】
2006309638.tif 000024
【図１９】
2006309638.tif 000025
【図２０】
2006309638.tif 000026
【図２１】
2006309638.tif 000027
【図２２】
2006309638.tif 000028