【手続補正書】
【提出日】平成19年8月6日(2007.8.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ローカル側の上位装置とリモート側の記憶システムとに接続され、前記上位装置から与えられる書込み対象のデータを記憶すると共に、当該書込み対象のデータを前記リモート側の記憶システムに送信する記憶システムであって、
前記リモート側の記憶システムが前記書込み対象のデータを受信したか否かを問い合わせる問合せコマンドを前記上位装置から受信する手段と、
前記上位装置へ、前記問合せコマンドに対する応答を送信する手段と
を備えることを特徴とする記憶システム。
【請求項２】
前記リモート側の記憶システムが前記データを受信したか否かは、前記書込み対象のデータが前記リモート側の記憶システムのキャッシュに記憶されたか否かである
ことを特徴とする請求項１記載の記憶システム。
【請求項３】
前記リモート側の記憶システムから、前記書込み対象のデータを受信したか否かの応答を受信する手段を備える
ことを特徴とする請求項１記載の記憶システム。
【請求項４】
自記憶システムに対する前記上位装置からの前記書込み対象のデータの書き込みとは非同期に、当該書込み対象のデータを前記リモート側の記憶システムに送信する
ことを特徴とする請求項１記載の記憶システム。
【請求項５】
前記問合せコマンドは、当該問合せコマンドの発行前に前記上位装置から送信された前記書込み対象のデータに関する問合せである
ことを特徴とする請求項１記載の記憶システム。
【請求項６】
データを記憶するディスク装置と、外部上位装置と前記ディスク装置との間で前記データを転送するディスク制御装置とを有する記憶システムであって、
前記ディスク制御装置は、
前記上位装置から与えられた前記ディスク装置に書き込むべき書込み対象のデータを他の記憶システムへ送信する回路と、
前記上位装置から入力されるコマンドを実行する回路及びソフトウェアと
を備え、
前記コマンドは、
前記他の記憶システムが前記書込み対象のデータを受信したか否かに関する情報を問合せるものであり、かつ、自記憶システムに対して、前記外部上位装置にその問合せに対する結果を報告することを要求するものである
ことを特徴とする記憶システム。
【請求項７】
前記他の記憶システムが前記書込み対象のデータを受信したか否かは、当該他の記憶システムのキャッシュに前記書込み対象のデータが記憶されたか否かである
ことを特徴とする請求項６記載の記憶システム。
【請求項８】
上位装置に対する記憶システムの応答方法であって、
前記上位装置から送信される書込みコマンドを受信する第１のステップと、
前記書込みコマンドに対する応答を前記上位装置に返す第２のステップと、
前記書込みコマンド内のデータを他記憶システムへ送信する第３のステップと、
前記上位装置から送信される前記他の記憶システムが前記データを受信したか否かを問う問合せコマンドを受信する第４のステップと、
前記上位装置へ、前記問合せコマンドに対する応答を送信する第５のステップと
を備えることを特徴とする記憶システムの応答方法。
【請求項９】
前記記憶システムは、
前記第３のステップ以降において、前記他の記憶システムから前記書込み対象のデータを受信したか否かの報告を受け、
前記第５のステップにおいて、
当該報告に応じた応答を前記上位装置に送信する
ことを特徴とする請求項８記載の記憶システムの応答方法。
【請求項１０】
ローカル側の上位装置とリモート側の記憶システムとに接続され、前記上位装置から与えられる書込み対象のデータを対応する正ボリュームに格納すると共に、当該書込み対象のデータを副ボリュームが設けられた前記リモート側の記憶システムに送信する記憶システムであって、
上位装置との間で情報を送受信するための第１のインタフェース回路と、
他の記憶システムとの間で情報を送受信するための第２のインタフェース回路と
を備え、
前記上位装置から送信される書込み対象のデータを前記第１のインタフェース回路を介して受信し、
当該書込み対象のデータを、当該書込みデータに付与した識別情報と共に前記第２のインタフェース回路を介して前記他の記憶システムに送信し、
前記上位装置からの前記書込み対象のデータに関する問合せコマンドを前記第１のインタフェース回路を介して受信し、
前記問合せコマンドにおいて指定された前記書込み対象データに付与した前記識別情報を前記第１のインタフェース回路を介して前記上位装置に送信すると共に、最後に前記副ボリュームに格納された前記書込み対象のデータに付与された前記識別情報を、前記第２のインタフェース回路を介して前記他の記憶システムに問い合わせ、
前記他の記憶システムから送信される、最後に前記副ボリュームに格納された前記書込み対象のデータに付与された前記識別情報を前記第２のインタフェース回路を介して受信し、
当該識別情報を、前記第１のインタフェース回路を介して前記上位装置に送信する
ことを特徴とする記憶システム。
【請求項１１】
前記識別情報は、
複数の前記書込み対象のデータの順序性を示す情報である
ことを特徴とする請求項１０記載の記憶システム。
【請求項１２】
前記上位装置からの前記書込み対象のデータの送信とは非同期に当該書込み対象のデータを前記第２のインタフェース回路を介して前記他の記憶システムに送信する
ことを特徴とする請求項１０記載の記憶システム。
【請求項１３】
それぞれ前記記憶システムにデータを読み書きする複数のアプリケーションプログラムが前記上位装置に実装されると共に、各前記アプリケーションプログラムはグループ分けされ、
前記識別情報は、対応する前記アプリケーションプログラムのグループを識別するための情報を含む
ことを特徴とする請求項１０記載の記憶システム。
【請求項１４】
コンピュータ上で動作するアプリケーションから複数の書込み要求を受けた際に、前記複数の書込み要求内のデータを他記憶システムに非同期にコピーする記憶システムと接続される前記コンピュータに、インストールされるプログラムが記録された記録媒体であって、
前記プログラムは、
前記アプリケーションから問合せコマンドを受ける第１ステップと、
前記記憶システムから、前記記憶システムに記憶された前記アプリケーションに関する書込み対象のデータを識別する識別情報を得る第２ステップと、
前記記憶システムから、前記他の記憶システムに記憶された前記アプリケーションに関する書込み対象のデータを識別する識別情報を得る第３ステップと、
前記第２ステップで得た識別情報と前記第３ステップで得た識別情報を基に、前記問合せに応答する第４のステップと
を備える処理を前記コンピュータに実行させることを特徴とする記録媒体。
【請求項１５】
前記第２ステップで得た識別情報と前記第３ステップで得た識別情報は、前記アプリケーションが前記記憶システムに送信する書込み対象のデータの順序性に関する情報である
ことを特徴とする請求項１４記載の記録媒体。
【請求項１６】
ローカル側ホストからの書込み対象のデータを、他の記憶システムへリモート非同期データ転送を行う記憶システムであって、
前記ローカル側のホストから与えられた最新の書込み対象のデータに関する番号と、前記他の記憶システムが受信した最新の書込み対象のデータに関する番号とを前記ローカル側ホストに通知する
ことを特徴とする記憶システム。
【請求項１７】
前記記憶システムは、前記ローカル側ホストから要求があった場合に、前記最新の書込み対象のデータに関する情報を前記ローカル側ホストに通知する
ことを特徴とする請求項１６記載の記憶システム。
【請求項１８】
ローカル側ホストからの書込み対象のデータを、他の記憶システムへリモート非同期データ転送を行う記憶システムであって、
前記記憶システムは、前記書込み対象のデータが前記他の記憶システムへ記憶されたか否かを前記ローカル側ホストへ報告する
ことを特徴とする記憶システム。
【請求項１９】
前記報告は、定期的、又は、前記ローカル側ホストから要求があった際に行なう
ことを特徴とする請求項１８に記載の記憶システム。
【請求項２０】
他の記憶システムへデータの非同期リモートコピーを行う記憶システムに接続されるコンピュータにインストールされるプログラムを記録する記録媒体であって、
前記プログラムは、
前記コンピュータ内で動作するアプリケーションからコミットコマンドを受けると前記コンピュータ内のバッファにある前記アプリケーションが発行した書込み対象のデータを実際に前記記憶システムへ書込む書込み要求を発行する第１のステップと、
前記記憶システムから前記書込み要求に対する書込み完了を受信する第２のステップと、
前記書込み対象のデータが前記他の記憶システムにコピーされたか否かを問い合わせる問合せコマンドを前記記憶システムへ発行する第３のステップと、
前記記憶システムから前記問合わせコマンドに対する応答を受ける第４のステップと、
前記書込み完了を受信し、かつ、前記応答を受けた後で、前記コミットコマンドに対する応答を返す第５のステップと
を備える処理を前記コンピュータに実行させることを特徴とする記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】記憶システム、記憶システムの応答方法及び記録媒体
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
初めに、コンピュータに１つの記憶システムが接続されている場合を説明する。コンピュータのアプリケーションが、書込みコマンド（要求）を実行すると、通常、コミット（commit）コマンド無しの状態では、その書込みコマンドのデータはコンピュータ内のデータバッファ上に書込まれるだけで、データバッファ上のデータと、記憶システム内のデータは一致しない。その後、アプリケーションがコミットコマンドを発行すると、データバッファ上のデータが記憶システムへ実際に書込みコマンドによって書込まれる。その後、記憶システムは、書込みデータをキャッシュメモリに記憶すると（この時点で記憶システム内のデータとコンピュータ内のデータは一致する）、書込みコマンドを発行したコンピュータに対し、書込み要求完了で応答する。コンピュータは、その書込み要求完了を確認すると、前記コミットコマンドに対するリターンをアプリケーションへ発行する。アプリケーションは、このリターンにより、記憶システム内のデータとコンピュータ内のデータが一致していることを知る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、ローカル側の上位装置とリモート側の記憶システムとに接続され、前記上位装置から与えられる書込み対象のデータを記憶すると共に、当該書込み対象のデータを前記リモート側の記憶システムに送信する記憶システムであって、前記リモート側の記憶システムが前記書込み対象のデータを受信したか否かを問い合わせる問合せコマンドを前記上位装置から受信する手段と、前記上位装置へ、前記問合せコマンドに対する応答を送信する手段とを備えることを特徴とする。
また本発明においては、データを記憶するディスク装置と、外部上位装置と前記ディスク装置との間で前記データを転送するディスク制御装置とを有する記憶システムであって、前記ディスク制御装置は、前記上位装置から与えられた前記ディスク装置に書き込むべき書込み対象のデータを他の記憶システムへ送信する回路と、前記上位装置から入力されるコマンドを実行する回路及びソフトウェアとを備え、前記コマンドは、前記他の記憶システムが前記書込み対象のデータを受信したか否かに関する情報を問合せるものであり、かつ、自記憶システムに対して、前記外部上位装置にその問合せに対する結果を報告することを要求するものであることを特徴とする。
さらに本発明においては、上位装置に対する記憶システムの応答方法であって、前記上位装置から送信される書込みコマンドを受信する第１のステップと、前記書込みコマンドに対する応答を前記上位装置に返す第２のステップと、前記書込みコマンド内のデータを他記憶システムへ送信する第３のステップと、前記上位装置から送信される前記他の記憶システムが前記データを受信したか否かを問う問合せコマンドを受信する第４のステップと、前記上位装置へ、前記問合せコマンドに対する応答を送信する第５のステップとを備えることを特徴とする。
さらに本発明においては、ローカル側の上位装置とリモート側の記憶システムとに接続され、前記上位装置から与えられる書込み対象のデータを対応する正ボリュームに格納すると共に、当該書込み対象のデータを副ボリュームが設けられた前記リモート側の記憶システムに送信する記憶システムであって、上位装置との間で情報を送受信するための第１のインタフェース回路と、他の記憶システムとの間で情報を送受信するための第２のインタフェース回路とを備え、前記上位装置から送信される書込み対象のデータを前記第１のインタフェース回路を介して受信し、当該書込み対象のデータを、当該書込みデータに付与した識別情報と共に前記第２のインタフェース回路を介して前記他の記憶システムに送信し、前記上位装置からの前記書込み対象のデータに関する問合せコマンドを前記第１のインタフェース回路を介して受信し、前記問合せコマンドにおいて指定された前記書込み対象データに付与した前記識別情報を前記第１のインタフェース回路を介して前記上位装置に送信すると共に、最後に前記副ボリュームに格納された前記書込み対象のデータに付与された前記識別情報を、前記第２のインタフェース回路を介して前記他の記憶システムに問い合わせ、前記他の記憶システムから送信される、最後に前記副ボリュームに格納された前記書込み対象のデータに付与された前記識別情報を前記第２のインタフェース回路を介して受信し、当該識別情報を、前記第１のインタフェース回路を介して前記上位装置に送信することを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
さらに本発明においては、コンピュータ上で動作するアプリケーションから複数の書込み要求を受けた際に、前記複数の書込み要求内のデータを他記憶システムに非同期にコピーする記憶システムと接続される前記コンピュータに、インストールされるプログラムが記録された記録媒体であって、前記プログラムは、前記アプリケーションから問合せコマンドを受ける第１ステップと、前記記憶システムから、前記記憶システムに記憶された前記アプリケーションに関する書込み対象のデータを識別する識別情報を得る第２ステップと、前記記憶システムから、前記他の記憶システムに記憶された前記アプリケーションに関する書込み対象のデータを識別する識別情報を得る第３ステップと、前記第２ステップで得た識別情報と前記第３ステップで得た識別情報を基に、前記問合せに応答する第４のステップとを備える処理を前記コンピュータに実行させることを特徴とする。
さらに本発明においては、ローカル側ホストからの書込み対象のデータを、他の記憶システムへリモート非同期データ転送を行う記憶システムであって、前記記憶システムは、前記書込み対象のデータが前記他の記憶システムへ記憶されたか否かを前記ローカル側ホストへ報告することを特徴とする。
さらに本発明においては、他の記憶システムへデータの非同期リモートコピーを行う記憶システムに接続されるコンピュータにインストールされるプログラムを記録する記録媒体であって、前記プログラムは、前記コンピュータ内で動作するアプリケーションからコミットコマンドを受けると前記コンピュータ内のバッファにある前記アプリケーションが発行した書込み対象のデータを実際に前記記憶システムへ書込む書込み要求を発行する第１のステップと、前記記憶システムから前記書込み要求に対する書込み完了を受信する第２のステップと、前記書込み対象のデータが前記他の記憶システムにコピーされたか否かを問い合わせる問合せコマンドを前記記憶システムへ発行する第３のステップと、前記記憶システムから前記問合わせコマンドに対する応答を受ける第４のステップと、前記書込み完了を受信し、かつ、前記応答を受けた後で、前記コミットコマンドに対する応答を返す第５のステップとを備える処理を前記コンピュータに実行させることを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
大型ディスクアレイ装置１３ａ、１３ｂは、ＨＯＳＴ Ｉ／Ｆ制御回路１７ａ、１７ｂでホストからのＩＯ要求を受け、キャッシュ２１ａ、２１ｂに、書込み要求のデータ（ＷＲＩＴＥデータ）を書込む。このキャッシュ２１ａ、２１ｂに書かれたデータはドライブ制御２２ａ、２２ｂによって実際の物理ディスク９ａ、９ｂに書込まれる。ここで、キャッシュに書込まれたデータに関しては、大型ディスクアレイ装置は、そのデータの記憶を保証するものとする。また、大型ディスクアレイ装置は、複数の物理ディスク９をＲＡＩＤ（ＲｅｄｕｎｄａｎｃｙＡｒｒａｙ ｏｆ Ｉｎｅｘｐｅｎｓｉｖｅ Ｄｒｉｖｅｓ）１、ＲＡＩＤ５等で保護し物理ディスクの障害に備える。なお、ＲＡＩＤに関しては、"A Casefor Redundant Arrays of Inexpensive Disks (RAID)"by David A. Patterson, et al., Dec 1987, U. C. Berkleyに記載がある。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
ローカルサイトである大型ディスクアレイ装置１３ａと、リモートサイトである大型ディスクアレイ装置１３ｂは、図示しない光ファイバ、広域回線網等のデータ転送路（図３の２０ａ、２０ｂ）で接続される。大型ディスクアレイ装置１３ａ、１３ｂ内のボリュームは、ＰＶＯＬ（正ボリューム）１０ａとＳＶＯＬ（副ボリューム）１０ｂで構成され、ホストからのデータはＰＶＯＬ１０ａからＳＶＯＬ１０ｂにコピーされ二重化される。なお、これらボリュームは物理ディスク（図３の９ａ、９ｂ）の中に保持される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
ローカル側からリモート側へのデータの転送が進むと、ＦＩＦＯ７内にはデータが無くなる。一方、ＦＩＦＯ８には、データが受信され、例えば、ＦＩＦＯ８内にシーケンス番号「１」〜「５」を持つデータが記憶される。その後、ＦＩＦＯ８からＳＶＯＬ対応のキャッシュへ受信データが格納されると、ＦＩＦＯ８内のデータは減る。この際、ＳＶＯＬへ新たに書込まれたデータに割り付けられていたシーケンス番号が新たなＳＶＯＬ書込みシーケンス番号となる。従って、ＦＩＦＯ８から実際にＳＶＯＬ対応のキャッシュへ書込まれたデータに割り当てられているシーケンス番号をリモート側の大型記憶システム内に設けられるメモリにＳＶＯＬ書込みシーケンス番号として記憶しておき、ローカル側から問合せがあった場合に、このメモリ内のシーケンス番号をＳＶＯＬ書込みシーケンス番号として報告すれば良い。そして、リモート側がＳＶＯＬ書込みシーケンス番号として「５」を報告すると、ミドルウェア３ａは、（ＰＶＯＬシーケンス番号「５」）＜＝（ＳＶＯＬ書込みシーケンス番号「５」）が成立したことから、データ同期が確立したと判断する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
また、ホスト１ａ内のアプリケーションソフト単位にグループ化して、このグループ単位に同期確認をとることも可能である。この場合、このグループ単位に非同期転送のシーケンス番号を維持する。大型ディスクアレイ装置内に複数のグループを定義しておき、アプリケーションソフトが同期確認を行う場合、そのアプリケーションソフトが同期完了要求にグループ名を指定することでグループ単位に独立して同期確認が可能になる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００８３
【補正方法】変更
【補正の内容】
【００８３】
以上説明したようにディスクアレイ装置が、Ｓｙｎｃコマンドを受信すると、ホストからの書込み要求のデータが確実にリモート側のディスクアレイ装置にコピーされたか否か確認した上で、ホストに対し報告することが可能となる。従って、ホストはディスクアレイ装置が非同期リモートコピーを行っている場合でも、Ｓｙｎｃコマンドを発行することによって、Ｓｙｎｃコマンドの発行前にディスクアレイ装置へ書込まれているデータがリモート側へ転送されているかを正確に知ることができ、データベース等で必要となるＣｏｍｍｉｔ制御を確実なものとすることができる。見方を変えれば、本実施例を使用するホストコンピュータ内のアプリケーションからは、非同期コピーが、Ｓｙｎｃコマンドを発行することによってアプリケーション毎に同期処理（データがコンピュータ内とリモートの記憶装置内で一致する処理）ができるリモートコピーとして見えることになる。