(57)【特許請求の範囲】
【請求項１】
データを記憶する第１の記憶デバイスと、前記第１の記憶デバイスの記憶領域上に論理的に設定された複数の第１の論理ボリュームに対するデータの読み書きを制御する第１のコントローラとを有する第１の記憶装置と、
データを記憶する第２の記憶デバイスと、前記第２の記憶デバイスの記憶領域上に論理的に設定された複数の第２の論理ボリュームに対するデータの読み書き制御する第２のコントローラとを有する第２の記憶装置と、
データを記憶する第３の記憶デバイスと、前記第３の記憶デバイスの記憶領域上に論理的に設定された複数の第３の論理ボリュームに対するデータの読み書きを制御する第３のコントローラとを有する第３の記憶装置と
を備え、
前記第１の記憶装置は、第１のネットワークを介して情報処理装置に接続されると共に、第２のネットワークを介して前記第２の記憶装置に接続され、かつ前記第２の論理ボリュームのうちの特殊な命令を制御するために用いる第１のコマンドデバイスを仮想化してなる第１の仮想ボリュームを前記第１の論理ボリュームの１つとして前記情報処理装置に提供し、
前記第１のコントローラは、
前記情報処理装置からの前記第１の仮想ボリュームに対する書込み要求及び書込み対象データを受信すると、当該書込み対象データを前記第１のコマンドデバイスに対する書込み要求と共に前記第２の記憶装置に送信し、
前記第２のコントローラは、
前記第１のコントローラからの書込み要求に応じて、前記書込み対象データを前記第１のコマンドデバイスに書き込み、前記第１のコマンドデバイスに書き込んだ前記書込み対象データが第１のペア形成命令であったときには、当該第１のペア形成命令において主ボリュームとして指定された第１の論理ボリュームと、当該第１のペア形成命令において副ボリュームとして指定された前記第２の論理ボリュームとをペアに設定すると共に、前記第１のペア形成命令において主ボリュームとして指定された前記第１の論理ボリュームを対象とするリード要求を前記第１の記憶装置に送信し、
前記第１のコントローラは、
前記情報処理装置からの命令に応じて前記第１のペア形成命令において主ボリュームとして指定された第１の論理ボリュームと、当該第１のペア形成命令において副ボリュームとして指定された前記第２の論理ボリュームとをペアに設定し、かつ、前記第２の記憶装置からの前記リード要求を受信したことを条件に、対応する前記第１の論理ボリュームのデータの複製を前記第２の記憶装置に転送し、
前記第２のコントローラは、
前記第１の記憶装置から転送される前記第１の論理ボリュームのデータの複製を受信すると、前記受信したデータの複製を前記第１のペア形成命令において副ボリュームとして指定された前記第２の論理ボリュームに書き込む一方、
前記第２の記憶装置は、第３のネットワークを介して前記第３の記憶装置に接続され、かつ前記第３の論理ボリュームのうちの第２のコマンドデバイスを仮想化してなる第２の仮想ボリュームを前記第２の論理ボリュームの１つとして前記第１の記憶装置に提供し、
前記第１の記憶装置は、前記第２の仮想ボリュームを仮想化してなる第３の仮想ボリュームを前記第１の論理ボリュームの１つとして前記情報処理装置に提供し、
前記第１のコントローラは、
前記情報処理装置からの前記第３の仮想ボリュームに対する書込み要求及び書込み対象データを受信すると、当該書込み対象データを前記第２の仮想ボリュームに対する書込み要求と共に前記第２の記憶装置に送信し、
前記第２のコントローラは、
前記第１の記憶装置からの前記第２の仮想ボリュームに対する書込み要求及び前記書込み対象データを受信すると、当該書込み対象データを前記第２のコマンドデバイスに対する書込み要求と共に前記第３の記憶装置に送信し、
前記第３のコントローラは、
前記第２のコントローラからの書込み要求に応じて、前記書込み対象データを前記第２のコマンドデバイスに書き込み、前記第２のコマンドデバイスに書き込んだ書込み対象データが、第２のペア形成命令であったときには、当該第２のペア形成命令において主ボリュームとして指定された第２の論理ボリュームと、当該第２のペア形成命令において副ボリュームとして指定された前記第３の論理ボリュームとをペアに設定すると共に、当該第２のペア形成命令において主ボリュームとして指定された第２の論理ボリュームに対する前記リード要求を前記第２の記憶装置に送信し、
前記第２のコントローラは、
前記第１のコントローラからの書込み要求に応じて、前記書込み対象データを前記第１のコマンドデバイスに書き込み、前記第１のコマンドデバイスに書き込んだ前記書込み対象データが前記第２のペア形成命令であったときには、当該第２のペア形成命令において主ボリュームとして指定された第２の論理ボリュームと、当該第２のペア形成命令において副ボリュームとして指定された前記第３の論理ボリュームとをペアに設定し、かつ、前記第３の記憶装置から前記リード要求を受信したことを条件に、対応する前記第２の論理ボリュームのデータの複製を前記第３の記憶装置に転送し、
前記第３のコントローラは、
前記第２の記憶装置から転送される前記第２の論理ボリュームのデータの複製を受信したときには、前記受信したデータの複製を前記前記第２のペア形成命令において副ボリュームとして指定された前記第３の論理ボリュームに書き込み、
前記第２のペア形成命令において前記主ボリュームとして指定された前記第２の論理ボリュームは、前記第１のペア形成命令において副ボリュームとして指定された前記第２の論理ボリュームである
ことを特徴とする記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶システムに関する。
【背景技術】
【０００２】
情報処理システムにおける災害復旧（ディザスタリカバリ）が注目されている。ディザスタリカバリを実現する技術として、プライマリサイトに設置されている記憶装置のデータの複製を、これとは遠隔したリモートサイトに設置されている記憶装置においても管理する技術が知られている。プライマリサイトの被災時に、リモートサイトに設置されている記憶装置のデータを使用することで、プライマリサイトで行われていた処理をリモートサイトで継続して行うことができる。
【０００３】
プライマリサイトからリモートサイトへのデータ転送の方法としては、プライマリサイトの情報処理装置とリモートサイトの情報処理装置との間でデータを授受する方法が知られている。プライマリサイトの情報処理装置は、プライマリサイトの記憶装置に書き込まれたデータの複製を、リモートサイトの情報処理装置に送信する。これを受信したリモートサイトの情報処理装置がリモートサイトの記憶装置に当該データの書き込み要求を送信する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述の方法によるデータのバックアップでは、情報処理装置間のネットワーク上を大量のデータが流れる。そのため、情報処理装置のインタフェース処理負荷の増大や、情報処理装置間で行われる他のデータ伝送の遅延等が問題となっていた。また、この方法では、各情報処理装置にデータのバックアップを制御するためのソフトウェアをインストールする必要がある。そのため、データのバックアップを行っている全ての情報処理装置に対して、当該ソフトウェアのバージョンアップ等の管理作業を行う必要があり、管理コストが増大している。
【０００５】
本発明は上記課題を鑑みてなされたものであり、記憶システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本発明の主たる発明は、データを記憶する第１の記憶デバイスと、前記第１の記憶デバイスの記憶領域上に論理的に設定された複数の第１の論理ボリュームに対するデータの読み書きを制御する第１のコントローラとを有する第１の記憶装置と、データを記憶する第２の記憶デバイスと、前記第２の記憶デバイスの記憶領域上に論理的に設定された複数の第２の論理ボリュームに対するデータの読み書き制御する第２のコントローラとを有する第２の記憶装置と、データを記憶する第３の記憶デバイスと、前記第３の記憶デバイスの記憶領域上に論理的に設定された複数の第３の論理ボリュームに対するデータの読み書きを制御する第３のコントローラとを有する第３の記憶装置とを備え、前記第１の記憶装置は、第１のネットワークを介して情報処理装置に接続されると共に、第２のネットワークを介して前記第２の記憶装置に接続され、かつ前記第２の論理ボリュームのうちの特殊な命令を制御するために用いる第１のコマンドデバイスを仮想化してなる第１の仮想ボリュームを前記第１の論理ボリュームの１つとして前記情報処理装置に提供し、前記第１のコントローラは、前記情報処理装置からの前記第１の仮想ボリュームに対する書込み要求及び書込み対象データを受信すると、当該書込み対象データを前記第１のコマンドデバイスに対する書込み要求と共に前記第２の記憶装置に送信し、前記第２のコントローラは、前記第１のコントローラからの書込み要求に応じて、前記書込み対象データを前記第１のコマンドデバイスに書き込み、前記第１のコマンドデバイスに書き込んだ前記書込み対象データが第１のペア形成命令であったときには、当該第１のペア形成命令において主ボリュームとして指定された第１の論理ボリュームと、当該第１のペア形成命令において副ボリュームとして指定された前記第２の論理ボリュームとをペアに設定すると共に、前記第１のペア形成命令において主ボリュームとして指定された前記第１の論理ボリュームを対象とするリード要求を前記第１の記憶装置に送信し、前記第１のコントローラは、前記情報処理装置からの命令に応じて前記第１のペア形成命令において主ボリュームとして指定された第１の論理ボリュームと、当該第１のペア形成命令において副ボリュームとして指定された前記第２の論理ボリュームとをペアに設定し、かつ、前記第２の記憶装置からの前記リード要求を受信したことを条件に、対応する前記第１の論理ボリュームのデータの複製を前記第２の記憶装置に転送し、前記第２のコントローラは、前記第１の記憶装置から転送される前記第１の論理ボリュームのデータの複製を受信すると、前記受信したデータの複製を前記第１のペア形成命令において副ボリュームとして指定された前記第２の論理ボリュームに書き込む一方、前記第２の記憶装置は、第３のネットワークを介して前記第３の記憶装置に接続され、かつ前記第３の論理ボリュームのうちの第２のコマンドデバイスを仮想化してなる第２の仮想ボリュームを前記第２の論理ボリュームの１つとして前記第１の記憶装置に提供し、前記第１の記憶装置は、前記第２の仮想ボリュームを仮想化してなる第３の仮想ボリュームを前記第１の論理ボリュームの１つとして前記情報処理装置に提供し、前記第１のコントローラは、前記情報処理装置からの前記第３の仮想ボリュームに対する書込み要求及び書込み対象データを受信すると、当該書込み対象データを前記第２の仮想ボリュームに対する書込み要求と共に前記第２の記憶装置に送信し、前記第２のコントローラは、前記第１の記憶装置からの前記第２の仮想ボリュームに対する書込み要求及び前記書込み対象データを受信すると、当該書込み対象データを前記第２のコマンドデバイスに対する書込み要求と共に前記第３の記憶装置に送信し、前記第３のコントローラは、前記第２のコントローラからの書込み要求に応じて、前記書込み対象データを前記第２のコマンドデバイスに書き込み、前記第２のコマンドデバイスに書き込んだ書込み対象データが、前記第２のペア形成命令であったときには、当該第２のペア形成命令において主ボリュームとして指定された第２の論理ボリュームと、当該第２のペア形成命令において副ボリュームとして指定された前記第３の論理ボリュームとをペアに設定すると共に、当該第２のペア形成命令において主ボリュームとして指定された第２の論理ボリュームに対する前記リード要求を前記第２の記憶装置に送信し、前記第２のコントローラは、前記第１のコントローラからの書込み要求に応じて、前記書込み対象データを前記第１のコマンドデバイスに書き込み、前記第１のコマンドデバイスに書き込んだ前記書込み対象データが第２のペア形成命令であったときには、当該第２のペア形成命令において主ボリュームとして指定された第２の論理ボリュームと、当該第２のペア形成命令において副ボリュームとして指定された前記第３の論理ボリュームとをペアに設定し、かつ、前記第３の記憶装置から前記リード要求を受信したことを条件に、対応する前記第２の論理ボリュームのデータの複製を前記第３の記憶装置に転送し、前記第３のコントローラは、前記第２の記憶装置から転送される前記第２の論理ボリュームのデータの複製を受信したときには、前記受信したデータの複製を前記前記第２のペア形成命令において副ボリュームとして指定された前記第３の論理ボリュームに書き込み、前記第２のペア形成命令において前記主ボリュームとして指定された前記第２の論理ボリュームは、前記第１のペア形成命令において副ボリュームとして指定された前記第２の論理ボリュームであることを特徴とする。
【０００７】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【０００８】
記憶システムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
＝＝＝全体構成例＝＝＝
まず、本実施の形態に係る記憶装置システムを含む情報処理システムの概略構成を図１に示す。本実施の形態に係る情報処理システムは、情報処理装置１１、第一の記憶装置１０、第二の記憶装置２０を含んで構成されている。また、第一の記憶装置１０は、第一の記憶装置がデータ入出力処理を行う論理ボリューム３０（以後、「第一の論理ボリューム」と称する）を備え、第二の記憶装置２０は、第二の記憶装置がデータ入出力処理を行う論理ボリューム４０（以後、「第二の論理ボリューム」と称する）を備えている。
【００１０】
また、情報処理装置１１と第一の記憶装置１０とは、第一のネットワーク５０により通信可能に接続されている。第一のネットワーク５０は、例えば、ＬＡＮ（Local Area Network）やＳＡＮ（Storage Area Network）、ｉＳＣＳＩ（Internet Small Computer System Interface）、ＥＳＣＯＮ（Enterprise Systems Connection）（登録商標）、ＦＩＣＯＮ（Fibre Connection）（登録商標）などである。
【００１１】
第一の記憶装置１０と第二の記憶装置２０とは、第二のネットワーク６０により通信可能に接続されている。第二のネットワーク６０は、例えば、ギガビットイーサネット（登録商標）、ＡＴＭ（Asynchronous Transfer Mode）、公衆回線などである。
【００１２】
＝＝＝情報処理装置＝＝＝
情報処理装置１１は、ＣＰＵ（Central Processing Unit）やメモリを備えるコンピュータであり、パーソナルコンピュータやワークステーション、メインフレームなどのコンピュータである。情報処理装置１１は、結合された複数台のコンピュータで構成されることもある。情報処理装置１１ではオペレーティングシステムが動作している。オペレーティングシステム上ではアプリケーションソフトウェアが動作している。
【００１３】
＝＝＝記憶装置＝＝＝
図２に第一及び第二の記憶装置１０，２０の一例として説明するディスクアレイ装置の具体的な構成を示している。なお、第一及び第二の記憶装置１０，２０は、ディスクアレイ装置以外にも、例えば、半導体記憶装置などであってもよい。ディスクアレイ装置は、チャネル制御部２０１、リモート通信インタフェース２０２、ディスク制御部２０３、共有メモリ２０４、キャッシュメモリ２０５、これらの間を通信可能に接続するクロスバスイッチなどで構成されるスイッチング制御部２０６、管理端末２０７、及び記憶デバイス２０８などを備えて構成される。
【００１４】
キャッシュメモリ２０５は、主としてチャネル制御部２０１とディスク制御部２０３との間で授受されるデータを一時的に記憶するために用いられる。例えばチャネル制御部２０１が情報処理装置１１から受信したデータ入出力コマンドが書き込みコマンドである場合には、チャネル制御部２０１は情報処理装置１１から受信した書き込みデータをキャッシュメモリ２０５に書き込む。またディスク制御部２０３はキャッシュメモリ２０５から書き込みデータを読み出して記憶デバイス２０８に書き込む。
【００１５】
ディスク制御部２０３は、チャネル制御部２０１により共有メモリ２０４に書き込まれたデータＩ／Ｏ要求を読み出してそのデータＩ／Ｏ要求に設定されているコマンド（例えば、ＳＣＳＩ規格のコマンド）に従って記憶デバイス２０８にデータの書き込みや読み出しなどの処理を実行する。ディスク制御部２０３は記憶デバイス２０８から読み出したデータをキャッシュメモリ２０５に書き込む。またデータの書き込み完了通知や読み出し完了通知などをチャネル制御部２０１に送信する。ディスク制御部２０３は、記憶デバイス２０８をいわゆるＲＡＩＤ（Redundant Array of Inexpensive Disks）方式に規定されるＲＡＩＤレベル（例えば、０，１，５）で制御する機能を備えることもある。
【００１６】
記憶デバイス２０８は、例えば、ハードディスク装置である。記憶デバイス２０８はディスクアレイ装置と一体型とすることもできるし、別体とすることもできる。各サイトの記憶デバイス２０８により提供される記憶領域は、この記憶領域上に論理的に設定されるボリュームである論理ボリューム２０９を単位として管理されている。記憶デバイス２０８へのデータの書き込みや読み出しは、論理ボリューム２０９に付与される識別子であるＬＵＮ（Logical Unit Number）を指定して行なうことができる。また、論理ボリューム２０９は、例えば５１２ＫＢといった決まった単位で管理され、この単位でデータの入出力が行われる。ここで、当該単位を論理ブロックと呼び、各論理ブロックには、位置情報を示す論理ブロックアドレス（以後、「ＬＢＡ」と称する）が付与されている。
【００１７】
管理端末２０７はディスクアレイ装置や記憶デバイス２０８を保守・管理するためのコンピュータである。チャネル制御部２０１やディスク制御部２０３において実行されるソフトウェアやパラメタの変更は、管理端末２０７からの指示により行われる。管理端末２０７はディスクアレイ装置に内蔵される形態とすることもできるし、別体とすることもできる。
【００１８】
リモート通信インタフェース２０２は、他の記憶装置１０，２０とデータ伝送をするための通信インタフェース（チャネルエクステンダ）であり、後述するリモートコピーにおける複製データの伝送はこのリモート通信インタフェース２０２を介して行われる。リモート通信インタフェース２０２は、チャネル制御部２０１のインタフェース（例えば、ＥＳＣＯＮ（登録商標）、ＦＩＣＯＮ（登録商標）などのインタフェース）を第一のネットワーク４０の通信方式に変換する。これにより他の記憶装置１０，２０との間でのデータ伝送が実現される。
【００１９】
なお、ディスクアレイ装置は、以上に説明した構成のもの以外にも、例えば、ＮＦＳ（Network File System）などのプロトコルにより情報処理装置１１からファイル名指定によるデータ入出力要求を受け付けるように構成されたＮＡＳ（Network Attached Storage）として機能するものなどであってもよい。
【００２０】
共有メモリ２０４はチャネル制御部２０１とディスク制御部２０３の両方からアクセスが可能である。データ入出力要求コマンドの受け渡しに利用される他、記憶装置１０，２０や記憶デバイス２０８の管理情報等が記憶される。本実施の形態においては、図３に示すＬＵＮマップ情報テーブル３０１、図５に示すコマンドデバイス管理テーブル５０１、図１０に示すペア管理テーブル１００１が共有メモリ２０４に記憶される。
【００２１】
＝＝＝仮想ボリューム＝＝＝
前述の通り、論理ボリューム２０９は物理ボリューム上に論理的に設定される記憶領域である。また、論理ボリュームとして「仮想ボリューム」を用いることにより、論理ボリューム２０９が設定されている記憶装置１０，２０と、当該論理ボリューム２０９と対応づけられた物理ボリュームが備えられた記憶装置１０，２０とを別のものとすることができる。
【００２２】
この機能を実現するため、第一の記憶装置１０は、図３に示すＬＵＮマップ情報テーブル３０１を記憶している。このＬＵＮマップ情報テーブル３０１には、第一の記憶装置１０が取り扱う論理ボリューム２０９に関する情報が記述されている。
【００２３】
ＬＵＮの欄には、各論理ボリュームのＬＵＮが記述される。論理ボリューム２０９が仮想ボリュームである場合は、ターゲットの欄に、当該仮想ボリュームと対応づけられている論理ボリューム２０９が備えられている記憶装置が設定される。さらに、マッピングＬＵＮの欄には、仮想ボリュームと対応づけられている論理ボリューム２０９のＬＵＮが設定される。つまり、マッピングＬＵＮの欄に記述のある場合は、その論理ボリュームが仮想ボリュームであることを意味している。
【００２４】
ＬＵＮマップ情報テーブル３０１の内容は、例えば、第一の記憶装置１０に接続された管理端末２０７などからオペレータにより登録される。
【００２５】
第一の記憶装置１０は、以上に説明したＬＵＮマップ情報テーブル３０１を用い、後述する仕組みにより、第二の記憶装置２０の第二の論理ボリューム４０を、あたかも第一の記憶装置１０の第一の論理ボリューム３０であるかのように、情報処理装置１１に提供する。つまり、情報処理装置１１は、第二の記憶装置２０の論理ボリューム２０９に対するデータ入出力要求を、第一の記憶装置１０に対して行うことができる。
【００２６】
情報処理装置１１から送信されたデータ入出力要求が、データ書き込み要求である場合における、記憶装置システムの処理を図４を用いて説明する。情報処理装置１１は、第一の通信規約に従い第一の記憶装置にデータの書き込みを要求する第一の書き込み要求部４０１を備えている。第一の記憶装置１０は、第一の書き込み要求部４０１からデータ書き込み要求を受信すると（Ｓ４０１）、このデータ書き込み要求とともに受信した書き込み対象データを、キャッシュメモリ２０５に記憶する。
【００２７】
第一の記憶装置１０が備えるデータ転送部４０２は、ＬＵＮマップ情報テーブル３０１を参照し、書き込み要求に設定された第一の論理ボリューム３０に対して、マッピングＬＵＮが設定されているかどうかを確認する。マッピングＬＵＮに第二の論理ボリューム４０が設定されていると、データ転送部４０２は、当該データを第二の通信規約に従い第二の論理ボリューム４０に書き込む要求を第二の書き込み要求部４０３に送信する。ここで、第二の書き込み要求部４０３とは、第二の通信規約に従い第二の記憶装置２０にデータの書き込みを要求するものである。第二の記憶装置２０は、第二の書き込み要求部４０３から、当該データの書き込み要求を受信し、当該データを第二の論理ボリューム４０に書き込む（Ｓ４０２）。
【００２８】
なお、第一の通信規約、及び第二の通信規約とは、例えばＳＣＳＩ規約により定められるＷＲＩＴＥコマンドである。従って、第一の記憶装置１０、及び第二の記憶装置２０におけるデータ書き込みインタフェースを変更する必要が無い。
【００２９】
以上は書き込み処理についての説明であったが、論理ボリュームからのデータの読み出し処理についても、以上の書き込みの場合とデータの転送の向きが逆になるだけで、それ以外は同様の仕組みで行われる。
【００３０】
以上に説明したように、この記憶装置システムにおいては、情報処理装置１１は、それがあたかも第一の記憶装置１０上の論理ボリュームであるかのように第二の論理ボリュームにアクセスする。
【００３１】
＝＝＝コマンドデバイス＝＝＝
記憶装置１０，２０は、特殊な命令を制御するための「コマンドデバイス」を備えている。コマンドデバイスは、情報処理装置１１から記憶装置１０，２０への命令伝達に用いられ、記憶装置１０，２０はコマンドデバイスに記憶されている命令を実行することができる。通常の命令と異なるのは、コマンドデバイスが論理ボリューム２０９であることである。このコマンドデバイスの機能について、説明を行う。
【００３２】
図５は、記憶装置１０，２０が記憶しているコマンドデバイス管理テーブル５０１である。装置の欄は、コマンドデバイスがどの記憶装置１０，２０に対するものであるかを示している。コマンドデバイスＬＵＮの欄には、コマンドデバイスの実体を表す論理ボリューム２０９のＬＵＮが設定されている。コマンドデバイス管理テーブル５０１の内容は、例えば、記憶装置１０，２０に接続された管理端末２０７などからオペレータにより登録される。
【００３３】
また、各記憶装置１０，２０のコマンドデバイス管理テーブル５０１には、他の記憶装置１０，２０のコマンドデバイスも登録することができる。他の記憶装置１０，２０のコマンドデバイスを登録する場合、コマンドデバイスＬＵＮには、他の記憶装置１０，２０のコマンドデバイスＬＵＮに対応する、仮想ボリュームのＬＵＮを登録する。
【００３４】
図６は、コマンドデバイスに書き込まれるデータの形式である、コマンドデバイスインタフェース６０１を表している。コマンドデバイスインタフェース６０１は、制御パラメタ、入力パラメタ、及び編集データから構成されている。制御パラメタは、記憶装置が実行する命令を示す「処理番号」と、当該命令を実行した結果、データの出力があるかどうかを示す「編集データ有無」で構成されている。入力パラメタには、当該命令を実行する際に用いられるパラメタ情報が設定される。また、編集データには、当該命令を実行した結果出力されたデータが設定される。
【００３５】
コマンドデバイスを用いて命令を実行する流れの概要を、図７を用いて説明する。情報処理装置１１は、命令設定部７０１と命令送信部７０２とを備える。命令設定部７０１は、第一の記憶装置１０で実行される命令の「処理番号」と「編集データ有無」をコマンドインタフェース６０１に設定したデータを生成する。命令送信部７０２は、当該データを第一の通信規約に従い第一の記憶装置１０のコマンドデバイスである第一の論理ボリュームに書き込む要求を第一の書き込み要求部４０１に送信する。
【００３６】
第一の記憶装置１０は、命令実行部７０３を備える。また、命令実行部７０３は、後述する論理ボリューム２０９のペアを制御する、ペア管理部７０４、形成コピー部７０５、リストア部７０６、ジャーナル記憶部７０７、ジャーナル取得部７０８、ジャーナル停止部７０９を備える。
【００３７】
命令実行部７０３は、コマンドデバイス管理テーブル５０１を参照し、第一の記憶装置１０に対するコマンドデバイスＬＵＮを取得する（Ｓ７０１）。命令実行部７０３は、当該コマンドデバイスを参照し（Ｓ７０２）、コマンドデバイスインタフェース６０１形式のデータが存在すれば、当該データの処理番号で指定された命令を実行する。
【００３８】
図８及び図９のフローチャートを用いて、情報処理装置１１、及び記憶装置１０，２０の処理の流れを説明する。まず、情報処理装置１１はコマンドデバイスインタフェース６０１の形式の第一のデータに、処理番号と編集データ有無とを設定する（Ｓ８０１）。次に、情報処理装置１１は、記憶装置１０，２０に記憶されているコマンドデバイス管理テーブル５０１を参照し、命令を実行する記憶装置１０，２０のコマンドデバイスＬＵＮを取得する。情報処理装置１１は、記憶装置１０，２０に対して、第一のデータを当該コマンドデバイスに書き込むＷｒｉｔｅ要求を送信する（Ｓ８０２）。記憶装置１０，２０は当該Ｗｒｉｔｅ要求を受信すると、第一のデータをコマンドデバイスに書き込む。なお、コマンドデバイスは論理ボリューム２０９であり、当該Ｗｒｉｔｅ要求は、コマンドデバイス以外の論理ボリューム２０９に対する書き込み要求と同じ通信規約に基づいて送信される。
【００３９】
記憶装置１０，２０は、コマンドデバイス管理テーブル５０１を参照し、自身の記憶装置１０，２０のコマンドデバイスにデータがあるかどうか監視している（Ｓ９０１）。コマンドデバイスに第一のデータが存在していると、記憶装置１０，２０は、第一のデータの処理番号で指定された命令を実行する（Ｓ９０２）。記憶装置１０，２０は、当該命令の実行が完了すると第一のデータの編集データ有無を確認する（Ｓ９０３）。記憶装置１０，２０は、編集データが無い場合は、第一のデータをコマンドデバイスから削除する（Ｓ９０６）。記憶装置１０，２０は、編集データがある場合は、当該命令を実行し出力されたデータを編集データに設定する（Ｓ９０４）。
【００４０】
情報処理装置１１は、当該命令の編集データ有無を確認し（Ｓ８０３）、編集データがある場合は、第一のデータの編集データを読み取るＲｅａｄ要求を、記憶装置１０，２０に対して送信する（Ｓ８０４）。情報処理装置１１は、記憶装置１０，２０から編集データを受領すると（Ｓ８０５）、処理を終了する。なお、当該Ｒｅａｄ要求は、コマンドデバイス以外の論理ボリューム２０９に対する読み出し要求と同じ通信規約に基づいて送信される。
【００４１】
編集データがある場合、記憶装置１０，２０は、情報処理装置１１から当該編集データに対するＲｅａｄ要求を受領した後に（Ｓ９０６）、第一のデータをコマンドデバイスから削除する（Ｓ９０６）。
【００４２】
このように、情報処理装置１１が記憶装置１０，２０の通常の論理ボリューム２０９に対するデータの読み書きに使用するＲｅａｄ／Ｗｒｉｔｅ要求を用いて、情報処理装置１１が記憶装置１０，２０に命令を伝達することができる。また、前述の仮想ボリュームを用いることにより、情報処理装置１１が、第一の記憶装置１０を経由して第二の記憶装置２０に命令を伝達し、第二の記憶装置２０に命令を実行させることができる。
【００４３】
なお、情報処理装置１１は、以後に説明する「ペア形成」、「ジャーナル取得」、「ジャーナルの処理状況の取得」、「リストア」、及び「スワップ」を記憶装置１０，２０に要求する際に、仮想ボリュームとコマンドデバイスとを使用する。
【００４４】
＝＝＝ペア形成＝＝＝
次に、本実施の形態において、第一の記憶装置１０の論理ボリューム２０９のデータの複製を第二の記憶装置２０の論理ボリューム２０９に記憶させる方法について説明する。
【００４５】
図１０にペア管理テーブル１００１を示す。複製元装置の欄には、複製元の論理ボリューム（以後、「主ボリューム」と称する）が属する記憶装置１０，２０が示されている。複製先装置の欄には、複製先の論理ボリューム（以後、「副ボリューム」と称する）が属する記憶装置１０，２０が示されている。また、主ＬＵＮの欄には主ボリュームのＬＵＮが、副ＬＵＮの欄には副ボリュームのＬＵＮが設定されている。この主ボリュームと副ボリュームとの対応を「ペア」と称する。主ボリューム、及び副ボリュームには、後述するジャーナルを格納するための論理ボリューム２０９が割り当てられている。主ジャーナルＬＵＮの欄には、主ボリューム用に割り当てられたジャーナル（以後、「主ジャーナル」と称する）の論理ボリューム２０９のＬＵＮが設定されている。副ジャーナルＬＵＮの欄には、副ボリューム用に割り当てられたジャーナル（以後、「副ジャーナル」と称する）の論理ボリューム２０９のＬＵＮが設定されている。
【００４６】
なお、ジャーナルとして論理ボリューム２０９を割り当てる方法は、ユーザ自身がジャーナルとして使用する論理ボリューム２０９を指定しても良いし、情報処理装置１１が、未使用の論理ボリューム２０９を任意に選択して使用するようにしても良い。
【００４７】
図１１を用いて、ペアを形成する流れを説明する。ここで、第一の記憶装置１０は第三の論理ボリュームと第五の論理ボリュームとを備え、第二の記憶装置２０は第四の論理ボリュームと第六の論理ボリュームとを備えているとする。情報処理装置１１は、第三の論理ボリュームを主ボリューム、第四の論理ボリュームを副ボリューム、第五の論理ボリュームを主ジャーナル、第六の論理ボリュームを副ジャーナルとするペアを形成する命令を第一の記憶装置１０と第二の記憶装置２０とに送信する（Ｓ１１０１，Ｓ１１０２）。第一及び第二の記憶装置１０，２０のペア管理部７０４は、当該ペアの状態を各記憶装置１０，２０のペア管理テーブル１００１に記憶する。第二の記憶装置２０の形成コピー部７０５は、主ボリュームのＲｅａｄ要求を第一の記憶装置１０に送信し、第一の記憶装置１０から主ボリュームのデータの複製を受信すると、そのデータを副ボリュームに書き込む（Ｓ１１０３）。これにより、主ボリュームのデータと副ボリュームのデータとを一致させることができる。ペア形成指示により、主ボリュームと副ボリュームとを一致させる処理を、「形成コピー」と呼ぶ。
【００４８】
また、第一の記憶装置１０のジャーナル記憶部７０７は、主ボリュームに書き込まれたデータの複製及び位置情報を主ジャーナルに取得する処理を開始する。主ボリュームと主ジャーナルとの対応を、図１２を用いて説明する。主ジャーナルは、メタデータ領域１２０１とジャーナルデータ領域１２０２とで構成される。第一の記憶装置１０のジャーナル記憶部７０７は、主ボリュームに書き込まれたデータの複製（以後、「ジャーナルデータ」と称する）を、ジャーナルデータ領域１２０２に格納する。また、第一の記憶装置１０のジャーナル記憶部７０７は、主ボリュームにおいてデータ１２０３が更新された時刻、データ１２０３のＬＢＡ１２０４、対応するジャーナルデータ領域のＬＢＡ１２０６、及び更新データ長を、メタデータ領域１２０１に格納する。なお、副ジャーナルも主ジャーナルと同じく、メタデータ領域１２０１とジャーナルデータ領域１２０２とで構成されている。
【００４９】
また、同様の方法を用いることで、情報処理装置１１からの指示により、第二の記憶装置２０の論理ボリューム２０９のデータの複製を第一の記憶装置１０の論理ボリューム２０９に記憶させることも可能である。
【００５０】
これにより、情報処理装置間でのデータ通信を行うことなく、かつ、情報処理装置１１のオペレーティングシステムに新たな命令を追加することなく、プライマリサイトの記憶装置のデータをリモートサイトの記憶措置にバックアップすることができる。また、本実施の形態においては、リモートサイトの記憶装置がプライマリサイトの記憶装置にＲｅａｄ要求を送信することにより形成コピーを行っている。これにより、形成コピー時におけるプライマリサイトの記憶装置の処理負荷を軽減させている。つまり、プライマリサイトの記憶装置がリモートサイトの記憶装置にデータをＷｒｉｔｅする方法においては、プライマリサイトの記憶装置は、リモートサイトの記憶装置がペア形成の準備ができているか確認した後に、リモートサイトの記憶装置にデータをＷｒｉｔｅする必要がある。そのため、プライマリサイトの記憶装置の処理負荷が高くなり、本番処理を行っているプライマリサイト全体の性能に影響を与えることとなる。本実施の形態においては、プライマリサイトの記憶装置はリモートサイトの記憶装置からのＲｅａｄ要求に対してデータを送信するだけで良く、プライマリサイトの記憶装置の処理負荷が軽減される。
【００５１】
＝＝＝リストア＝＝＝
前述の形成コピーが行われた後も、第一の記憶装置１０は情報処理装置１１からの書き込み要求を受け、主ボリュームのデータを更新している。そのため、主ボリュームのデータと副ボリュームのデータが一致していない状態となる。前述の通り、主ジャーナルには形成コピーが行われた以降のジャーナルデータが記憶されている。そこで、第二の記憶装置２０が、主ジャーナルに記憶されているデータを副ジャーナルにコピーし、副ジャーナルに記憶されているデータを副ボリュームに書き込むことにより、主ボリュームで行われたデータの更新を、副ボリュームに対しても行うことができる。
【００５２】
ここで、第二の記憶装置２０が主ジャーナルに記憶されているデータを副ジャーナルにコピーすることを「ジャーナル取得」、副ジャーナルに記憶されたジャーナルデータを副ボリュームに書き込むことを「リストア」と呼ぶ。
【００５３】
図１３は、ジャーナル取得の流れを示している。情報処理装置１１は、第二の記憶装置２０に、ジャーナル取得命令を送信する（Ｓ１３０１）。ジャーナル取得命令を受信した第二の記憶装置２０のジャーナル取得部７０８は、ペア管理テーブル１００１を参照し、当該ペアの主ジャーナルＬＵＮを取得する。第二の記憶装置２０のジャーナル取得部７０８は、主ジャーナルのＲｅａｄ要求を、第一の記憶装置１０に送信し、第一の記憶装置１０から主ジャーナルのデータの複製を受信すると、そのデータを副ジャーナルに書き込む（Ｓ１３０２）。
【００５４】
次に、図１４を用いてリストアの流れを説明する。情報処理装置１１は、第二の記憶装置２０に、副ジャーナルから副ボリュームへのリストア命令を送信する（Ｓ１４０１）。リストア命令を受信した第二の記憶装置２０のリストア部７０６は、副ジャーナルに記憶されているジャーナルデータを副ボリュームに書き込む。
【００５５】
図１５は、本実施の形態における、主ジャーナルと副ジャーナルのジャーナルデータ領域１２０２を示す図である。主ジャーナルと副ジャーナルのジャーナルデータ領域は、同じ先頭ＬＢＡと末尾ＬＢＡとで定義されている。主ジャーナルのジャーナルデータ領域１２０２は、ジャーナルデータが格納されているジャーナル格納済み領域１５０２，１５０３，及び１５０４と、ジャーナルデータが格納されていないパージ済み領域１５０１とで構成されている。
【００５６】
副ジャーナルのジャーナルデータ領域１２０２は、既に副ボリュームへのリストアに使用されたジャーナルデータが格納されているリストア済み領域１５２１、副ボリュームへのリストア対象として指定されたジャーナルデータが格納されているリストア中領域１５２２、リストア対象として指定されていないジャーナルデータが格納されているリード済み領域１５２３、及びジャーナル取得命令により主ジャーナルからＲｅａｄ中のジャーナルデータが格納されているリード中領域１５２４で構成される。
【００５７】
記憶装置１０，２０は、ジャーナルデータが作成された時刻順に、先頭ＬＢＡから末尾ＬＢＡに向かってジャーナルデータをジャーナルデータ領域１２０２に記憶する。また、記憶装置１０，２０は、ジャーナルデータが末尾ＬＢＡまで達すると、再度先頭ＬＢＡに戻ってジャーナルデータを記憶する。つまり、記憶装置１０，２０は、ジャーナルデータ領域を先頭ＬＢＡと末尾ＬＢＡとの間でサイクリックに使用する。
【００５８】
主ジャーナルを備える第一の記憶装置１０は、ジャーナル格納済み領域１５０２，１５０３，及び１５０４の先頭ＬＢＡであるジャーナル・アウトＬＢＡ１５１１と、パージ済み領域１５０１の先頭ＬＢＡであるジャーナル・インＬＢＡ１５１２とを記憶している。ここで、ジャーナル・アウトＬＢＡとジャーナル・インＬＢＡとが等しい場合は、主ジャーナルにはジャーナルデータが格納されていないことになる。
【００５９】
副ジャーナルを備える第二の記憶装置２０は、リストア済み領域１５２１の最大ＬＢＡであるリストア済みＬＢＡ、リストア中領域１５２２の最大ＬＢＡであるリストア予定ＬＢＡ、リード済み領域１５２３の最大ＬＢＡであるリード済みＬＢＡ１５３３、及びリード中領域１５３４の最大ＬＢＡであるリード予定ＬＢＡを記憶している。
【００６０】
つまり、リストア済みＬＢＡ１５３１とリストア予定ＬＢＡ１５３２とが等しい場合は、情報処理装置１１から指示されたリストア処理が完了していることになる。また、リード済みＬＢＡ１５３３とリード予定ＬＢＡ１５３４とが等しい場合は、情報処理装置１０から指示されたジャーナル取得処理が完了していることになる。
【００６１】
情報処理装置１１は、第一の記憶装置１０、及び第二の記憶装置２０に対して、ジャーナルの処理状況の取得要求を送信することができる。各記憶装置１０，２０は、前述の通り、領域の境界を示すＬＢＡの状態を確認し、これに応答する。
【００６２】
また、記憶装置１０，２０は、ジャーナルデータ領域を前述の通りサイクリックに使用しているため、不要となった領域を解放する必要がある。この解放を「パージ」と呼ぶ。記憶装置１０，２０は、領域の境界を示すＬＢＡの指すアドレスを変更することによりパージを行うことができる。第一の記憶装置１０は、主ジャーナルのジャーナル格納済み領域１５０２，１５０３，及び１５０４のうち、第二の記憶装置２０が副ジャーナルに取得済みのジャーナル格納済み領域１５０２をパージすることができる。この場合、第一の記憶装置１０は、ジャーナル・アウトＬＢＡ１５１１を、ジャーナル格納済み領域１５０３の先頭ＬＢＡに変更することにより、ジャーナル格納済み領域１５０２はパージ済み領域１５０１となる。第二の記憶装置２０は、副ジャーナルのリストア済み領域１５２１をパージされた領域として扱い、ジャーナル取得命令により取得したジャーナルデータを、リストア済み領域１５２１に格納する。
【００６３】
図１６のフローチャートを用いて、ジャーナル取得処理、及びリストア処理の流れを説明する。情報処理装置１１は、主ジャーナルの処理状況の取得要求を第一の記憶装置１０に送信する（Ｓ１６０１）。情報処理装置１１は、主ジャーナルの処理状況が設定されたコマンドデバイスの編集データのＲｅａｄ要求を第一の記憶装置１０に送信する（Ｓ１６０２）。情報処理装置１１は、第一の記憶装置からコマンドデバイスの編集データを受領すると（Ｓ１６０３）、ジャーナル・アウトＬＢＡ１５１１から、ジャーナル・インＬＢＡ１５１２の一つ前のＬＢＡまでの、ジャーナル取得要求を第二の記憶装置２０に送信する（Ｓ１６０４）。情報処理装置１１は、副ジャーナルの処理状況の取得要求を第二の記憶装置に送信する（Ｓ１６０５）。情報処理装置１１は、副ジャーナルの処理状況が設定されたコマンドデバイスの編集データのＲｅａｄ要求を第二の記憶装置２０に送信する（Ｓ１６０６）。情報処理装置１１は、第二の記憶装置からコマンドデバイスの編集データを受領すると（Ｓ１６０７）、編集データに設定されているリード済みＬＢＡ１５３３とリード予定ＬＢＡ１５３４とを比較し、ジャーナルの取得が完了しているかどうか確認する（Ｓ１６０８）。ジャーナル取得処理が完了していると、情報処理装置１１は、リード済みＬＢＡ１５３３までのリストア要求を第二の記憶装置２０に送信する（Ｓ１６０９）。その後、情報処理装置１１は、リード済みＬＢＡ１５３３までのジャーナルデータのパージ要求を、第一の記憶装置１０に送信する（Ｓ１６１０）。情報処理装置１１は、ジャーナル取得処理、及びリストア処理を繰り返し行う。
【００６４】
これにより、情報処理装置間でデータ通信を行うことなく、かつ、情報処理装置のオペレーティングシステムに新たな命令を追加することなく、プライマリサイトの記憶装置において更新されたデータをリモートサイトの記憶装置に反映させることができる。なお、リモートサイトの記憶装置と通信可能に接続された情報処理装置１１からの指示により、リモートサイトの記憶装置がプライマリサイトの記憶装置からジャーナルを取得し、データをリストアすることもできる。
【００６５】
＝＝＝スワップ＝＝＝
第一の記憶装置１０と通信可能に接続された情報処理装置１１（以後、「第一の情報処理装置」と称する）からの指示により、第一の記憶装置１０の主ボリュームと第二の記憶装置２０の副ボリュームとでペアが形成されているとする。ここで、第一の情報処理装置に障害が発生すると、第二の記憶装置２０と通信可能に接続された情報処理装置１１（以後、「第二の情報処理装置」と称する）が、前記ペアの副ボリュームを用いて第一の情報処理装置が行っていた処理を継続して行う。この際に、第二の情報処理装置は、前記ペアの主ボリュームと副ボリュームとの関係の入れ替えを行う。つまり、第二の記憶装置２０が備える論理ボリューム２０９を主ボリューム、第一の記憶装置１０が備える論理ボリューム２０９を副ボリュームとしたペアが形成されることになる。このようなペア関係の入れ替えを、「スワップ」と呼ぶ。
【００６６】
図１７，１８を用いて、ペアのスワップの流れを説明する。図１７に示すように、第二の情報処理装置１１は、第一の記憶装置１０と第二の記憶装置２０とに、ペアのスワップ命令を送信する（Ｓ１７０１，Ｓ１７０２）。スワップ命令を受信した第一の記憶装置１０のジャーナル停止部は、主ボリュームに対するジャーナルの記憶を停止する。また、第一の記憶装置１０のペア管理部７０４は、ペア管理テーブル１００１の主ボリュームと副ボリュームとを入れ替える。同様に、スワップ命令を受信した第二の記憶装置２０のペア管理部７０４は、ペア管理テーブル１００１の主ボリュームと副ボリュームとを入れ替える。第二の記憶装置２０のジャーナル記憶部７０７は、主ボリュームとなる第二の記憶装置２０が備える論理ボリューム２０９のジャーナルの記憶を開始する。
【００６７】
図１８は、当該命令を受信した第一の記憶装置１０と第二の記憶装置２０とがスワップ処理を実施し、第二の記憶装置２０の論理ボリューム２０９を主ボリューム、第一の記憶装置１０の論理ボリューム２０９を副ボリュームとしたペアが形成された状態を表している。
【００６８】
第二の情報処理装置、及び各記憶装置１０，２０で行うスワップ処理の詳細を、図１９〜図２１のフローチャートを用いて説明する。第二の情報処理装置は、前述したジャーナル取得、及びリストアの処理を実行する（Ｓ１９０１）。第二の情報処理装置は、副ジャーナルの処理状況の取得要求を第二の記憶装置２０に送信する（Ｓ１９０２）。第二の情報処理装置は、副ジャーナルの処理状況が設定されたコマンドデバイスの編集データのＲｅａｄ要求を第二の記憶装置１０に送信する（Ｓ１９０３）。第二の情報処理装置は、第二の記憶装置２０からコマンドデバイスの編集データを受領すると（Ｓ１９０４）、編集データに設定されているリストア済みＬＢＡ１５３１とリストア予定ＬＢＡ１５３２とを比較し、リストアが完了しているかどうか確認する（Ｓ１９０５）。リストアが完了していると、第二の情報処理装置は、ペアのスワップ要求を第一の記憶装置１０と第二の記憶装置とに送信する（Ｓ１９０６，Ｓ１９０７）。ペアのスワップ要求を受信した第一の記憶装置１０は、主ボリュームに対して行っていたジャーナルの取得処理を停止し（Ｓ２００１）、ペア管理テーブル１００１の複製元と複製先との関係を入れ替える（Ｓ２００２）。また、ペアのスワップ要求を受信した第二の記憶装置２０は、ペア管理テーブル１００１の複製元と複製先との関係を入れ替え（Ｓ２１０１）、第二の記憶装置２０の主ボリュームに対するジャーナルの取得処理を開始する（Ｓ２１０２）。
【００６９】
ここで、第一の情報処理装置、及び第一の記憶装置１０を備えるプライマリサイトと、第二の情報処理装置、及び第二の記憶装置２０を備えるリモートサイトとで構成される情報処理システムがあるとする。第一の情報処理装置に障害が発生すると、第二の情報処理装置は、第二の記憶装置２０を用いて、プライマリサイトで行われていた本番処理を継続して行う。第二の情報処理装置は、第一の記憶装置１０と第二の記憶装置２０とに前述のスワップ命令を指示することにより、第二の記憶装置２０を本番で使用し、かつ、第二の記憶装置２０のデータを第一の記憶装置１０にバックアップすることができる。また、第二の記憶装置２０のデータが第一の記憶装置１０にバックアップされているため、第一の情報処理装置の障害が回復した際には、本番処理の実行を迅速にプライマリサイトに切り替えることも可能である。
【００７０】
また、情報処理装置１１から記憶装置１０，２０へのスワップ指示は、情報処理装置１１が備えているＲｅａｄ／Ｗｒｉｔｅコマンドを用いて行われるため、情報処理装置１１のオペレーティングシステムに新たな命令を追加する必要がない。
【００７１】
＝＝コマンドデバイス方式での３サイト構成＝＝
前述のように、仮想ボリュームとコマンドデバイスを用いて２つの記憶装置間で命令を転送する方式を説明したが、仮想ボリュームの構成を３つ以上の記憶装置間で形成することにより、３つ以上の記憶装置間で命令を転送することも可能である。
【００７２】
図２２は、第一の記憶装置１０、第二の記憶装置２０、及び第三の記憶装置２５を含んで構成される記憶装置システムを示す図である。
【００７３】
第一の記憶装置１０の論理ボリューム２２０１は第二の記憶装置２０の論理ボリューム２２０２の仮想ボリュームであり、第二の記憶装置の論理ボリューム２２０２は第三の記憶装置２５の論理ボリューム２２０３の仮想ボリュームである。第三の論理ボリューム２２０３はコマンドデバイスである。このように、仮想ボリュームを繋げることにより、情報処理装置１１から第三の記憶装置２５に命令を伝えることが可能となる。
【００７４】
これにより、１つの情報処理装置１１と３つの記憶装置１０，２０，２５とを用いてディザスタリカバリに対応するための記憶装置システムを構築することができる。図２３は、この記憶装置システムを示す図である。
【００７５】
第一の記憶装置１０、第二の記憶装置２０、及び第三の記憶装置２５は、それぞれ論理ボリューム２３０１，２３０２，２３０３を備えている。ここで、第一の記憶装置１０の論理ボリューム２３０１と第二の記憶装置２０の論理ボリューム２３０２とは、第一の記憶装置１０の論理ボリューム２３０１を主論理ボリュームとする同期ペアが形成されている。
【００７６】
同期ペアについて、説明する。図２４は同期ペア管理テーブル２４０１を示している。同期ペア管理テーブル２４０１は、「複製元装置」、「複製先装置」、「主ＬＵＮ」、及び「副ＬＵＮ」の欄を備えている。第一の記憶装置１０の論理ボリューム２３０１と第二の記憶装置２０の論理ボリューム２３０２とが同期ペアを形成している場合、複製元装置に第一の記憶装置１０、複製先装置に第二の記憶装置２０、主ＬＵＮに第一の記憶装置１０の論理ボリューム２３０１のＬＵＮ、副ＬＵＮに第二の記憶装置２０の論理ボリューム２３０２のＬＵＮが設定されている。第一の記憶装置１０は、情報処理装置１１から主ボリュームである第一の記憶装置の論理ボリューム２３０１に対するデータの書き込み要求を受信すると、同期ペア管理テーブル２４０１を参照して、当該主ボリュームに対する副ボリュームである第二の記憶装置２０の論理ボリューム２３０２に当該データを書き込む要求を第二の記憶装置２０に送信する。第一の記憶装置１０は、第二の記憶装置２０から当該書き込み要求に対する完了通知を受信すると、情報処理装置１１に対して当該データの書き込み完了通知を送信する。つまり、情報処理装置１１に書き込み完了通知を送信する際には、主ボリュームと副ボリュームとに同じデータが書き込まれていることとなる。そのため、同期ペアを用いることで、第一の記憶装置１０のデータを失うことなく、第二の記憶装置２０にバックアップすることが可能となる。しかし、同期ペアにおいて、第一の記憶装置１０と第二の記憶装置２０との間の距離が長くなると、情報処理装置１１への書き込み完了通知の送信が遅くなり、情報処理装置１１の処理に影響を与えてしまう。
【００７７】
そこで、第一の記憶装置１０と第二の記憶装置２０とは近距離で同期ペアを形成し、第二の記憶装置２０と第三の記憶装置２５とで前述したジャーナルを用いたペア（以後、「非同期ペア」と称する）を形成する。情報処理装置１１は、第二の記憶装置２０の論理ボリュームを主ボリューム、第三の記憶装置２５の論理ボリュームを副ボリュームとするペアを形成する命令を仮想ボリュームとコマンドデバイスとを用いて第二の記憶装置２０と第三の記憶装置２５とに送信する。ペアが形成された後は、情報処理装置１１が第三の記憶装置２５に、当該ペアにおけるジャーナルの取得およびリストアの命令を仮想ボリュームとコマンドデバイスとを用いて送信する。これにより、第一の記憶装置１０とは遠距離に設置されている第三の記憶装置２５に、第一の記憶装置１０のデータをバックアップすることが可能となる。また、第三の記憶装置２５及び中継点である第二の記憶装置２０に情報処理装置を必要としない。なお、第三の記憶装置２５にはバックアップ用の情報処理装置を接続しておき、第一の記憶装置１０に障害が発生した場合は、第三の記憶装置２５のデータを用いて処理を継続することとしてもよい。
【００７８】
以上、仮想ボリュームとコマンドデバイスとを用いて記憶装置間で命令を転送し、データのバックアップを行う方法を説明した。なお、前述の説明においては、情報処理装置１１が命令を記憶装置１０，２０，２５に送信することとしたが、記憶装置１０，２０，２５が命令設定部７０１及び命令送信部７０２を有することとしてもよい。例えば、図２３の構成において、第一の記憶装置１０が、第三の記憶装置２５で実行する命令を第二の記憶装置２０の仮想ボリュームを経由して第三の記憶装置２５のコマンドデバイスに送信することができる。これにより、例えば、第一の記憶装置１０が第三の記憶装置２５の状態確認命令を第三の記憶装置２５に送信することができ、第三の記憶装置２５の障害等を検知することが可能となる。第一の記憶装置１０は、第三の記憶装置２５に障害が発生している場合は、前述した第二の記憶装置２０と第三の記憶装置２５との非同期ペアを解消する命令を第二の記憶装置２０と第三の記憶装置２５とに送信することも可能である。
【００７９】
＝＝転送先アドレス指定方式＝＝
次に、命令転送時に転送先の記憶装置のアドレスを指定する方法を説明する。  
図２５は、情報処理装置１１が記憶している経路情報管理テーブル２５０１を示す図である。経路情報管理テーブル２５０１は、「装置」の欄と「経路」の欄とを有している。装置の欄には記憶装置１０，２０のアドレスが記憶されている。なお、アドレスとは、例えば記憶装置１０，２０の製品番号やポート番号などで構成される情報である。経路の欄には、各記憶装置１０，２０が情報処理装置とどのように接続されているかを示す情報が記憶されている。例えば、図２５に示す経路情報管理テーブル２５０１においては、第一の記憶装置１０の経路は「直接」、第二の記憶装置２０の経路は「第一」となっている。これは、情報処理装置１１が、第一の記憶装置１０とは直接接続されており、第二の記憶装置２０とは第一の記憶装置１０を介して接続されていることを示している。
【００８０】
図２６は、情報処理装置１１が記憶装置１０，２０に命令を転送する際のデータの形式である、コマンドインタフェース２６０１を表している。コマンドインタフェース２６０１は、識別番号、転送先パラメタ、制御パラメタ、及び入力パラメタから構成されている。識別番号は、当該データを識別するための番号であり、情報処理装置１１が当該データを生成する際に付与するものである。転送先パラメタには当該データを転送する記憶装置１０，２０のアドレスが設定される。制御パラメタおよび入力パラメタはコマンドデバイスで用いたコマンドデバイスインタフェース６０１と同様である。
【００８１】
図２７を用いて、コマンドインタフェース２６０１を用いて情報処理装置１１が第二の記憶装置２０に命令を転送する処理の概要を説明する。  
情報処理装置１１はデータ生成部２７０１とデータ送信部２７０２とを備えている。各記憶装置１０，２０は、コマンド解析部２７０３、データ転送部２７０４、及び命令実行部２７０５を備えている。
【００８２】
情報処理装置１１のデータ生成部２７０１は、経路情報管理テーブル２５０１を参照して第二の記憶装置２０の経路を参照し、第二の記憶装置２０は第一の記憶装置１０を介して接続されていることを認識する。データ生成部２７０１は、転送先アドレスに第二の記憶装置２０のアドレスを、処理番号に第一の命令を設定したコマンドインタフェース２６０１形式のデータ２７１０を生成する。データ生成部２７０１は当該データ２７１０を第一の記憶装置１０に送信するようデータ送信部２７０２に通知する。データ送信部２７０２は当該データ２７１０を第一の記憶装置１０に送信する。
【００８３】
第一の記憶装置１０のコマンド解析部２７０３は、当該データ２７１０を受信すると、当該データ２７１０を転送先アドレスに設定されている第二の記憶装置２０に転送するよう、第一の記憶装置１０のデータ転送部２７０４に通知する。第一の記憶装置１０のデータ転送部２７０４は、当該データから転送先パラメタを削除したデータ２７１１を生成し、このデータ２７１１を第二の記憶装置に転送する。第二の記憶装置２０のコマンド解析部２７０３は、当該データ２７１１を受信すると、当該データに転送先パラメタが設定されていないため、制御パラメタから第一の命令を取得する。第二の記憶装置２０のコマンド解析部２７０３は、第二の記憶装置２０の命令実行部２７０５に第一の命令を実行するよう通知する。第二の記憶装置２０の命令実行部２７０５は、コマンド解析部２７０３からの通知を受けて、第一の命令を実行する。
【００８４】
第一の命令に出力結果がある場合、第二の記憶装置２０の命令実行部２７０５は、この出力結果を編集データ２７１２として記憶する。ここで、全てのデータ２７１０，２７１１，２７１２には、同じ識別番号が付与されている。情報処理装置１１は、第一の命令に出力結果がある場合、第一の記憶装置１０に識別番号を指定して編集データ２７１２の送信命令を送信することで、第一の命令の出力結果を取得することができる。
【００８５】
＝＝転送先アドレス指定方式での３サイト構成＝＝
転送先アドレスを指定することにより、２つの記憶装置間で命令を転送する方式を説明したが、転送先アドレスを複数指定することにより、３つ以上の記憶装置間で命令を転送することも可能である。
【００８６】
図２８は、第一の記憶装置１０，第二の記憶装置２０，及び第三の記憶装置２５の３つの記憶装置間で命令を転送する処理の流れを示す図である。情報処理装置１１は第一の記憶装置１０と通信可能に接続され、第一の記憶装置１０は第二の記憶装置２０と通信可能に接続され、第二の記憶装置２０は第三の記憶装置２５と通信可能に接続されている。このとき、情報処理装置１１の経路情報管理テーブル２５０１には、図２９のように経路が設定されている。
【００８７】
情報処理装置１１が第三の記憶装置２５に第一の命令を転送する流れを説明する。情報処理装置１１のデータ生成部２７０１は、経路情報管理テーブル２５０１を参照し、第三の記憶装置２５が、第一の記憶装置１０と第二の記憶装置２０とを経由して接続されていることを認識する。データ生成部２７０１は、転送先アドレスに、第二の記憶装置２０と第三の記憶装置２５とを設定し、処理番号に第一の命令を設定したコマンドインタフェース２６０１形式のデータ２８０１を生成する。データ生成部２７０１は、生成したデータ２８０１を経路の先頭である第一の記憶装置１０に送信するよう、データ送信部２７０２に通知する。データ送信部２７０２は、当該通知を受信すると当該データ２８０１を第一の記憶装置１０に送信する。
【００８８】
第一の記憶装置１０のコマンド解析部２７０３は、当該データ２８０１を受信すると、転送先パラメタの先頭にある第二の記憶装置２０のアドレスを取得し、当該データ２８０１を第二の記憶装置２０に送信するよう第一の記憶装置１０のデータ転送部２７０４に通知する。データ転送部２７０４は当該通知を受信すると、当該データ２８０１から第二の記憶装置２０の転送先アドレスを削除したデータ２８０２を生成し、このデータ２８０２を第二の記憶装置２０に送信する。
【００８９】
第二の記憶装置２０は、第一の記憶装置１０と同様に、転送先パラメタの先頭にある第三の記憶装置２５のアドレスを取得し、転送先パラメタから第三の記憶装置２５を削除したデータ２８０３を生成し、第三の記憶装置２５に送信する。
【００９０】
第三の記憶装置２５のコマンド解析部２７０３は、当該データ２８０３を受信すると、転送先アドレスが設定されていないため、制御パラメタから第一の命令の処理番号を取得し、第三の記憶装置２５の命令実行部２７０５に第一の命令を実行するよう通知する。第三の記憶装置２５の命令実行部２７０５は当該通知を受信すると、第一の命令を実行する。
【００９１】
このように、転送先パラメタに複数の転送先アドレスを設定することにより、３つ以上の記憶装置間で命令を転送することが可能である。
【００９２】
＝＝転送先アドレス指定方式の処理＝＝
図３０は、転送先アドレスを指定して命令を転送する場合における、情報処理装置１１での処理を示すフローチャートである。
【００９３】
まず、情報処理装置１１は、識別番号を生成してコマンドインタフェース２６０１に設定する（Ｓ３００１）。識別番号は、生成されるコマンドインタフェース２６０１を一意に識別できるものであればよい。経路情報管理テーブル２５０１を参照して、命令を転送したい記憶装置の経路を取得する（Ｓ３００２）。情報処理装置１１は、取得した経路情報をもとに、１つ又は複数の転送先アドレスを転送先パラメタに設定する（Ｓ３００３）。次に、情報処理装置１１は、転送先の記憶装置で実行する命令の処理番号と当該命令の編集データ有無とを設定する（Ｓ３００４）。そして、情報処理装置１１は、当該コマンドインタフェース２６０１のデータを転送経路の先頭の記憶装置に送信する（Ｓ３００５）。情報処理装置１１は、当該命令が編集データありかどうか確認し（Ｓ３００６）、編集データがない場合は処理を終了する。編集データがある場合、情報処理装置１１は、当該識別番号を指定して編集データ送信要求を、転送経路の先頭の記憶装置に送信する（Ｓ３００７）。情報処理装置１１は、編集データを受領するまで待機し（Ｓ３００８）、編集データを受領すると処理を終了する。
【００９４】
図３１は、転送先アドレスを指定して命令を転送する場合における、記憶装置１０，２０，２５での処理を示すフローチャートである。
【００９５】
記憶装置は、コマンドインタフェース２６０１のデータを受信すると（Ｓ３１０１）、当該データをキャッシュメモリに記憶する（Ｓ３１０２）。記憶装置は、当該データに転送先パラメタがあるかどうか確認する（Ｓ３１０３）。転送先パラメタがある場合、記憶装置は、転送先パラメタの先頭の転送先アドレスを取得する（Ｓ３１０４）。次に記憶装置は、当該データから先頭の転送先アドレスを削除し（Ｓ３１０５）、先に取得した先頭の転送先アドレスに当該データを送信する（Ｓ３１０６）。記憶装置は、当該命令が編集データありかどうか確認する（Ｓ３１０７）。編集データがある場合、記憶装置は編集データ取得処理を実行し（Ｓ３１０８）、当該データをキャッシュメモリから削除して（Ｓ３１０９）処理を終了する。編集データがない場合は、記憶装置は編集データ取得処理を行わずに当該データをキャッシュメモリから削除して（Ｓ３１０９）処理を終了する。
【００９６】
記憶装置１０，２０，２５は、受信したコマンドインタフェース２６０１に転送先パラメタが設定されていない場合、制御パラメタの処理番号を取得し（Ｓ３１１０）、処理番号で指定された命令を実行する（Ｓ３１１１）。記憶装置１０，２０，２５は当該命令が編集データありかどうか確認する（Ｓ３１１２）。編集データがある場合、記憶装置１０，２０，２５は当該コマンドインタフェース２６０１に設定されている識別番号を設定した編集データを生成し（Ｓ３１１３）、編集データ取得処理を実行し（Ｓ３１０８）、当該データをキャッシュメモリから削除して（Ｓ３１０９）処理を終了する。編集データがない場合、記憶装置１０，２０，２５は当該データをキャッシュメモリから削除して（Ｓ３１０９）処理を終了する。
【００９７】
図３２は、記憶装置１０，２０，２５における編集データ取得処理を示すフローチャートである。編集データ取得処理において、記憶装置１０，２０，２５は編集データ取得要求を受信するまで待機している（Ｓ３２０１）。記憶装置は、編集データ取得要求を受信すると、当該取得要求に設定されている識別番号のコマンドインタフェース２６０１を参照する（Ｓ３２０２）。記憶装置１０，２０，２５は、参照したコマンドインタフェース２６０１に転送先パラメタがあるかどうか確認する（Ｓ３２０３）。転送先パラメタがある場合、命令を実行した記憶装置１０，２０，２５ではないため、記憶装置１０，２０，２５は転送先パラメタの先頭の転送先アドレスを取得し（Ｓ３２０４）、取得した転送先アドレスに当該取得要求を送信する（Ｓ３２０５）。記憶装置１０，２０，２５は、編集データを受領するまで待機し（Ｓ３２０６）、受領した編集データを当該要求の送信元に送信する（Ｓ３２０７）。転送先パラメタがない場合、命令を実行した記憶装置１０，２０，２５であるため、記憶装置１０，２０，２５は当該識別番号の編集データを取得し（Ｓ３２０８）、取得した編集データを当該要求の送信元に送信する（Ｓ３２０９）。これにより、編集データは命令が転送された経路を遡って情報処理装置１１に送信される。
【００９８】
図３１に示す処理においては、コマンドインタフェース２６０１を転送する際に、先頭の転送先アドレスを削除することとしているが、削除せずにコマンドインタフェース２６０１のデータをそのまま転送先に送信することとしてもよい。図３３および図３４は、その場合における記憶装置１０，２０，２５の処理を示すフローチャートである。
【００９９】
図３３は、コマンドインタフェース２６０１を受信した記憶装置１０，２０，２５の処理を示しているが、基本的な処理の流れは図３１と同じである。異なるのは、コマンドインタフェース２６０１のデータを受信した記憶装置１０，２０，２５が、自身が転送経路の記憶装置１０，２０，２５であるか命令を実行する記憶装置１０，２０，２５であるかを判断する必要がある点である。
【０１００】
つまり、記憶装置１０，２０，２５は最後の転送先アドレスが自身のアドレスであるかどうかを確認し（Ｓ３３０３）、自身のアドレスでない場合は転送経路の記憶装置１０，２０，２５、自身のアドレスである場合は命令を実行する記憶装置１０，２０，２５であると判断する。転送経路の記憶装置１０，２０，２５である場合、記憶装置は、転送先アドレスの中に自身のアドレスがあるかどうか確認し（Ｓ３３０４）、自身のアドレスがある場合はその次の転送先アドレスを取得し（Ｓ３３０５）、自身のアドレスがない場合は先頭の転送先アドレスを取得する（Ｓ３３０６）。そして、記憶装置１０，２０，２５は取得した転送先アドレスにコマンドインタフェース２６０１のデータを送信する（Ｓ３３０７）。命令を実行する記憶装置１０，２０，２５である場合は、制御パラメタの処理番号を取得し（Ｓ３３１１）、処理番号で指定された命令を実行する（Ｓ３３１２）。その他は、編集データ取得処理（Ｓ３３０９）を除き、図３１の処理と同じである。
【０１０１】
図３４は転送先アドレスを削除しない場合における、編集データ取得処理を示すフローチャートである。図３２の編集データ取得処理と異なるのは、編集データ取得要求を受信した記憶措置が、自身が転送経路の記憶装置１０，２０，２５であるか命令を実行した記憶装置１０，２０，２５であるかを判断する必要がある点である。記憶装置１０，２０，２５は図３３と同じ方法によりこの判断を行い（Ｓ３４０３）、転送経路の記憶装置１０，２０，２５である場合は、次の転送先に編集データ取得要求を送信し（Ｓ３４０５〜Ｓ３４０８）、命令を実行した記憶装置１０，２０，２５である場合は、当該取得要求に設定されている識別番号の編集データを取得する（Ｓ３４１１）。その他は、図３２の処理と同じである。
【０１０２】
＝＝最短転送経路の判断＝＝
次に、記憶装置１０，２０，２５が最短の転送経路を判断してコマンドインタフェース２６０１を転送する処理について説明する。
【０１０３】
図３５は、第一の記憶装置１０が情報処理装置１１からコマンドインタフェースのデータ３５０１を受信した際の処理の流れを示す図である。第一の記憶装置１０の共有メモリ２０４には図３６に示す接続情報管理テーブル３６０１が記憶されている。この接続情報管理テーブル３６０１は、管理者により管理端末２０７から設定される。接続情報管理テーブル３６０１には、接続されている記憶装置１０，２０，２５のアドレスが記憶されている。例えば、図３６の接続情報管理テーブル３６０１は、第一の記憶装置１０には第二の記憶装置２０と第三の記憶装置２５とが接続されていることを表している。
【０１０４】
第一の記憶装置１０は、情報処理装置１１からコマンドインタフェースのデータ３５０１を受信すると、接続情報管理テーブル３６０１を参照して、転送先パラメタの末尾に設定されている第三の記憶装置２５のアドレスを取得する。第一の記憶装置１０は、第三の記憶装置２５のアドレスが接続情報管理テーブル３６０１に記憶されているため、第三の記憶装置２５に直接データを送信可能と判断する。第一の記憶装置１０は、第三の記憶装置２５及び第二の記憶装置２０の転送先アドレスを削除したデータ３５０２を生成し、当該データ３５０２を第二の記憶装置２０を介さず、第三の記憶装置２５に直接送信する。
【０１０５】
図３７は、記憶装置１０，２０，２５が最短経路を判断してコマンドインタフェースのデータを転送する処理のフローチャートを示す図である。図３１の処理と異なるのは、記憶装置１０，２０，２５が最短経路を判断する部分のみである。
【０１０６】
記憶装置１０，２０，２５は、転送先パラメタに設定されている転送先アドレス数を取得し、これを変数「Ｎ」に設定する（Ｓ３７０４）。そして、Ｎ番目の転送先アドレスを取得し（Ｓ３７０５）、取得した転送先アドレスが接続情報管理テーブル３６０１に記憶されているかどうか確認する（Ｓ３７０６）。接続情報管理テーブル３６０１に記憶されていない場合は、Ｎを１減じて（Ｓ３７０７）Ｎ番目の転送先アドレスの取得と接続情報管理テーブル３６０１の確認を繰り返し行う（Ｓ３７０５，Ｓ３７０６）。これにより、記憶装置１０，２０，２５は最短の転送経路を取得することができる。そして、記憶装置１０，２０，２５はコマンドインタフェース２６０１のデータからＮ番目以前の転送先アドレスを削除し（Ｓ３７０８）、当該データをＮ番目の転送先アドレスに転送する。その他は、図３１の処理と同じである。また、編集データ取得処理（Ｓ３７１１）は図３２の処理と同じである。
【０１０７】
このように、記憶装置１０，２０，２５が最短の転送経路を判断して命令を転送することにより、記憶装置間のデータ転送量を軽減し、さらに命令の転送時間を短くすることが可能となる。
【０１０８】
＝＝各記憶装置で命令実行＝＝
次に、情報処理装置１１が１回の指示で複数の記憶装置１０，２０，２５に命令を送信する方法について説明する。
【０１０９】
図３８は、複数の記憶装置１０，２０，２５に命令を送信するためのコマンドインタフェース３８０１を示す図である。これは、図２６のコマンドインタフェース２６０１を複数繋げた構成となっている。
【０１１０】
図３９は、情報処理装置１１が第二の記憶装置２０に第一の命令を第三の記憶装置２５に第二の命令を送信する例を示す図である。情報処理装置１１は、最初の転送先パラメタの転送先アドレスに第二の記憶装置２０を設定し、最初の制御パラメタの処理番号に第一の命令を設定する。そして、情報処理装置１１は、二番目の転送先パラメタの転送先アドレスに第三の記憶装置２５を設定し、二番目の制御パラメタの処理番号に第二の命令を設定する。情報処理装置１１は、このようにして生成したデータ３９０１を経路の先頭である第一の記憶装置１０に送信する。
【０１１１】
第一の記憶装置１０は、当該データ３９０１を受信すると、最初の転送先パラメタの転送先アドレスを取得し、当該データ３９０１から先頭の転送先パラメタを削除したデータ３９０２を第二の記憶装置２０に送信する。第二の記憶装置２０は、当該データ３９０２を受信すると、先頭の制御パラメタに設定されている第一の命令を実行する。そして、第二の記憶装置２０は、当該データの先頭の制御パラメタを削除し、次に転送先パラメタの転送先アドレスを取得する。第二の記憶装置２０は、当該データから先頭の転送先パラメタを削除したデータ３９０３を第三の記憶装置２５に送信する。第三の記憶装置２５は、当該データ３９０３を受信すると、先頭の制御パラメタに設定されている第二の命令を実行する。
【０１１２】
図４０は、複数の記憶装置１０，２０，２５に命令を送信する場合における、情報処理装置１１での処理のフローチャートを示す図である。情報処理装置１１は、経路情報管理テーブル２５０１を参照して、命令を送信する各記憶装置１０，２０，２５の経路を取得する（Ｓ４００１）。そして、情報処理装置１１は、経路の先頭の記憶装置１０，２０，２５から順に、転送先パラメタへの転送先アドレスの設定（Ｓ４００２）と制御パラメタへの命令の設定（Ｓ４００３）を転送先がなくなるまで（Ｓ４００４）繰り返し実行する。情報処理装置は、このようにして生成したコマンドインタフェース３８０１のデータを転送経路の先頭の記憶装置１０，２０，２５に送信する（Ｓ４００５）。
【０１１３】
図４１は、複数の記憶装置１０，２０，２５に命令を送信する場合における、記憶装置１０，２０，２５での処理のフローチャートを示す図である。記憶装置１０，２０，２５は、コマンドインタフェース３８０１のデータを受信すると（Ｓ４１０１）、当該データをキャッシュメモリに記憶する（Ｓ４１０２）。記憶装置１０，２０，２５は、当該データの先頭が転送先パラメタであるかどうか確認する（Ｓ４１０３）。先頭が転送先パラメタである場合、記憶装置１０，２０，２５は、先頭の転送先パラメタの転送先アドレスを取得し（Ｓ４１０４）、先頭の転送先パラメタを当該データから削除し（Ｓ４１０５）、取得した転送先アドレスに当該データを送信する（Ｓ４１０６）。先頭が転送先パラメタでない場合、記憶装置１０，２０，２５は先頭の制御パラメタの処理番号を取得し（Ｓ４１０７）、処理番号で指定された命令を実行する（Ｓ４１０８）。記憶装置１０，２０，２５は先頭の制御パラメタを削除し（Ｓ４１０８）、さらに転送先パラメタがあるかどうか確認する（Ｓ４１０９）。転送先パラメタがある場合、記憶装置１０，２０，２５は転送先アドレスの取得から転送先アドレスへのデータ送信までの処理（Ｓ４１０４〜Ｓ４１０６）を行う。
【０１１４】
このように複数の記憶装置１０，２０，２５に命令を送信することにより、記憶装置間で非同期ペアを形成する場合等において、情報処理装置１１は非同期ペアの主ボリュームを形成する記憶装置１０，２０，２５と副ボリュームを形成する記憶装置１０，２０，２５とに同時にペア形成の命令を送信する等の制御を行うことが可能となる。つまり、情報処理装置間で通信を行うことなく、ペアの形成等を容易に行うことができる。
【０１１５】
以上、転送先アドレスを指定して命令を転送する方法を説明した。なお、前述の説明においては、情報処理装置１１が命令を記憶装置１０，２０，２５に送信することとしたが、記憶装置１０，２０，２５がデータ生成部２７０１及びデータ送信部２７０２を有することとしてもよい。
【０１１６】
このように、転送先アドレスを指定して命令を転送する方法を用いることにより、仮想ボリュームとコマンドデバイスとを用いて命令を転送する場合と同様、情報処理装置が接続されていない記憶装置１０，２０，２５に命令を実行させることができる。これにより、情報処理装置間でデータの通信を行うことなく、データのバックアップやペアの操作等を行うことが可能となる。また、転送先アドレスを指定して命令を転送する場合、コマンドデバイスのような専用の論理ボリュームを設ける必要がないため、ユーザのデータ領域が減らされることがない。また、コマンドデバイスの場合は特定の論理ボリュームに対してデータ入出力要求が集中することによる記憶装置１０，２０，２５の性能低下が考えられるが、転送先アドレスを指定して命令を転送する場合はキャッシュメモリを用いるため記憶装置１０，２０，２５の性能低下を防ぐことが可能となる。
【０１１７】
以上、本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。例えば、本実施の形態においては、転送する命令として論理ボリュームのペアに関する命令を説明したが、転送する命令はペアに関するものに限られず、記憶装置１０，２０，２５が実行可能な命令であればよい。
【図面の簡単な説明】
【０１１８】
【図１】本実施の形態に係る情報処理システムの概略構成を示す図である。
【図２】本実施の形態に係るディスクアレイ装置の構成を示す図である。
【図３】本実施の形態に係るＬＵＮマップ情報テーブルを示す図である。
【図４】本実施の形態に係る仮想ボリュームを用いたデータ書き込みの概略を示す図である。
【図５】本実施の形態に係るコマンドデバイス管理テーブルを示す図である。
【図６】本実施の形態に係るコマンドデバイスインタフェースを示す図である。
【図７】本実施の形態に係るコマンドデバイスに設定された命令を実行する概略を示す図である。
【図８】本実施の形態に係る情報処理装置におけるコマンドデバイスの制御のフローチャートを示す図である。
【図９】本実施の形態に係る記憶装置におけるコマンドデバイスの制御のフローチャートを示す図である。
【図１０】本実施の形態に係るペア管理テーブルを示す図である。
【図１１】本実施の形態に係るペア形成の概略を示す図である。
【図１２】本実施の形態に係る主ボリュームと主ジャーナルとの関係を示す図である。
【図１３】本実施の形態に係るジャーナル取得の概略を示す図である。
【図１４】本実施の形態に係るリストアの概略を示す図である。
【図１５】本実施の形態に係る主ジャーナル及び副ジャーナルのジャーナルデータ領域を示す図である。
【図１６】本実施の形態に係る情報処理装置におけるジャーナル取得及びリストアのフローチャートを示す図である。
【図１７】本実施の形態に係るスワップの概略を示す図である。
【図１８】本実施の形態に係るスワップが完了した状態の概略を示す図である。
【図１９】本実施の形態に係る第二の情報処理装置におけるスワップのフローチャートを示す図である。
【図２０】本実施の形態に係る第一の記憶装置におけるスワップのフローチャートを示す図である。
【図２１】本実施の形態に係る第二の記憶装置におけるスワップのフローチャートを示す図である。
【図２２】本実施の形態に係る第三の記憶装置に命令を送信する概略を示す図である。
【図２３】本実施の形態に係る第二の記憶装置と第三の記憶装置とに命令を送信する概略を示す図である。
【図２４】本実施の形態にかかる同期ペア管理テーブルを示す図である。
【図２５】本実施の形態にかかる経路情報管理テーブルを示す図である。
【図２６】本実施の形態にかかるコマンドインタフェースを示す図である。
【図２７】本実施の形態にかかるコマンドインタフェースを用いて情報処理装置が第二の記憶装置に命令を送信する概略を示す図である。
【図２８】本実施の形態にかかるコマンドインタフェースを用いて情報処理装置が第三の記憶装置に命令を送信する概略を示す図である。
【図２９】本実施の形態にかかる経路情報管理テーブルに第三の記憶装置が設定されている例を示す図である。
【図３０】本実施の形態にかかる情報処理装置におけるコマンドインタフェースを用いて記憶装置に命令を送信する処理のフローチャートを示す図である。
【図３１】本実施の形態にかかる記憶装置におけるコマンドインタフェースを用いて命令を転送または実行する処理のフローチャートを示す図である。
【図３２】本実施の形態にかかる記憶装置におけるコマンドインタフェースを用いて実行された命令の編集データを取得する処理のフローチャートを示す図である。
【図３３】本実施の形態にかかる記憶装置におけるコマンドインタフェースの転送先アドレスを削除せずに命令を転送または実行する処理のフローチャートを示す図である。
【図３４】本実施の形態にかかる記憶装置におけるコマンドインタフェースの転送先アドレスを削除せずに実行された命令の編集データを取得する処理のフローチャートを示す図である。
【図３５】本実施の形態にかかる記憶装置が最短経路を探索してコマンドインタフェースを送信する概略を示す図である。
【図３６】本実施の形態にかかる接続情報管理テーブルを示す図である。
【図３７】本実施の形態にかかる記憶装置における最短経路を探索してコマンドインタフェースを転送または命令を実行する処理のフローチャートを示す図である。
【図３８】本実施の形態にかかる複数の記憶装置に命令を実行させる場合のコマンドインタフェースを示す図である。
【図３９】本実施の形態にかかるコマンドインタフェースを用いて情報処理装置が第二の記憶装置および第三の記憶装置に命令を送信する概略を示す図である。
【図４０】本実施の形態にかかる情報処理装置におけるコマンドインタフェースを用いて複数の記憶装置に命令を送信する処理のフローチャートを示す図である。
【図４１】本実施の形態にかかる記憶装置におけるコマンドインタフェースを用いて複数の記憶装置でコマンドインタフェースを転送または命令を実行する処理のフローチャートを示す図である。
【符号の説明】
【０１１９】
１０  第一の記憶装置                    １１  情報処理装置
２０  第二の記憶装置                    ３０  第一の論理ボリューム
４０  第二の論理ボリューム              ２０１  チャネル制御部
２０２  リモート通信インタフェース      ２０３  ディスク制御部
２０４  共有メモリ                      ２０５  キャッシュメモリ
２０６  スイッチング制御部              ２０７  管理端末
２０８  記憶デバイス                    ２０９  論理ボリューム
３０１  ＬＵＮマップ情報テーブル        ４０１  第一の書き込み要求部
４０２  データ転送部                    ４０３  第二の書き込み要求部
５０１  コマンドデバイス管理テーブル    ６０１  コマンドデバイスインタフェース
７０１  命令設定部                      ７０２  命令送信部
７０３  命令実行部                      ７０４  ペア管理部
７０５  形成コピー部                    ７０６  リストア部
７０７  ジャーナル記憶部                ７０８  ジャーナル取得部
７０９  ジャーナル停止部
１００１  ペア管理テーブル              １１０１  主ボリューム
１１０２  副ボリューム                  １１０３  主ジャーナル
１１０４  副ジャーナル                  １２０１  メタデータ領域
１２０２  ジャーナルデータ領域          １５０１  パージ済み領域
１５０２  ジャーナル格納済み領域        １５０３  ジャーナル格納済み領域
１５０４  ジャーナル格納済み領域
１５１１  ジャーナル・アウトＬＢＡ      １５１２  ジャーナル・インＬＢＡ
１５２１  リストア済み領域              １５２２  リストア中領域
１５２３  リード済み領域                １５２４  リード中領域
１５３１  リストア済みＬＢＡ            １５３２  リストア予定ＬＢＡ
１５３３  リード済みＬＢＡ              １５３４  リード予定ＬＢＡ
２４０１  同期ペア管理テーブル          ２５０１  経路情報管理テーブル
２６０１  コマンドインタフェース        ２７０１  データ生成部
２７０２  データ送信部                  ２７０３  コマンド解析部
２７０４  データ転送部                  ２７０５  命令実行部
【図１】
0004486632.tif 000002
【図２】
0004486632.tif 000003
【図３】
0004486632.tif 000004
【図４】
0004486632.tif 000005
【図５】
0004486632.tif 000006
【図６】
0004486632.tif 000007
【図７】
0004486632.tif 000008
【図８】
0004486632.tif 000009
【図９】
0004486632.tif 000010
【図１０】
0004486632.tif 000011
【図１１】
0004486632.tif 000012
【図１２】
0004486632.tif 000013
【図１３】
0004486632.tif 000014
【図１４】
0004486632.tif 000015
【図１５】
0004486632.tif 000016
【図１６】
0004486632.tif 000017
【図１７】
0004486632.tif 000018
【図１８】
0004486632.tif 000019
【図１９】
0004486632.tif 000020
【図２０】
0004486632.tif 000021
【図２１】
0004486632.tif 000022
【図２２】
0004486632.tif 000023
【図２３】
0004486632.tif 000024
【図２４】
0004486632.tif 000025
【図２５】
0004486632.tif 000026
【図２６】
0004486632.tif 000027
【図２７】
0004486632.tif 000028
【図２８】
0004486632.tif 000029
【図２９】
0004486632.tif 000030
【図３０】
0004486632.tif 000031
【図３１】
0004486632.tif 000032
【図３２】
0004486632.tif 000033
【図３３】
0004486632.tif 000034
【図３４】
0004486632.tif 000035
【図３５】
0004486632.tif 000036
【図３６】
0004486632.tif 000037
【図３７】
0004486632.tif 000038
【図３８】
0004486632.tif 000039
【図３９】
0004486632.tif 000040
【図４０】
0004486632.tif 000041
【図４１】
0004486632.tif 000042