(57)【特許請求の範囲】
【請求項１】
一つ以上のディスク記憶装置と、テープ記憶装置と、前記一つ以上のディスク記憶装置及び前記テープ記憶装置を制御するコントローラと、を備えるストレージシステムであって、
前記テープ記憶装置は、データを格納する複数のテープ記憶媒体を備え、
前記複数のテープ記憶媒体は、第１テープ記憶媒体及び第２テープ記憶媒体を含み、
前記コントローラは、
前記一つ以上のディスク記憶装置の記憶領域を、第１ボリューム、第２ボリューム及び第３ボリュームを含む複数のボリュームに分割し、
前記第１ボリュームのデータ格納状況を示す第１情報、前記第２ボリュームのデータ格納状況を示す第２情報、前記第１ボリューム以外のボリュームから前記第３ボリュームへのデータのコピーによる前記第３ボリュームのデータ格納状況を示す第３情報、及び前記第２ボリューム以外のボリュームから前記第３ボリュームへのデータのコピーによる前記第３ボリュームのデータ格納状況を示す第４情報を格納するメモリを備え、
前記第１ボリュームと前記第３ボリュームとの間で第１コピーペアを設定し、
前記第１情報と前記第３情報とを組み合わせ、
前記第１情報と前記第３情報とを組み合わせた情報を基に、更新され格納された前記第１ボリュームのデータである第１データを前記第３ボリュームにコピーし、
前記第１データを前記第３ボリュームから読み出して、前記テープ記憶装置が備える前記第１テープ記憶媒体に格納し、
前記第１コピーペアから前記第２ボリュームと前記第３ボリュームとの間で設定される第２コピーペアに切り替え、
前記第２情報と前記第４情報とを組み合わせ、
前記第２情報と前記第４情報とを組み合わせた情報を基に、更新され格納された前記第２ボリュームのデータである第２データを前記第３ボリュームにコピーし、
前記第２データを前記第３ボリュームから読み出して、前記テープ記憶装置が備える前記第２テープ記憶媒体に格納することを特徴とするストレージシステム。
【請求項２】
前記コントローラは、
前記第１ボリュームの記憶領域に対応する前記第１情報のビット、及び、その記憶領域に対応する前記第３情報のビットのうち少なくとも一方が、データが更新されたことを示す値である場合、前記ビットに対応する前記第１ボリュームの記憶領域に格納されているデータの複製を前記第３ボリュームに格納することによって、前記第１データを前記第３ボリュームにコピーし、
前記第２ボリュームの記憶領域に対応する前記第２情報のビット、及び、その記憶領域に対応する前記第４情報のビットのうち少なくとも一方が、データが更新されたことを示す値である場合、前記ビットに対応する前記第２ボリュームの記憶領域に格納されているデータの複製を前記第３ボリュームに格納することによって、前記第２データを前記第３ボリュームにコピーすることを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記コントローラは、
前記第１ボリュームへのデータの書き込み要求を受信した場合、前記要求されたデータが格納される記憶領域に対応する前記第１情報のビットを、データが更新されたことを示す値に設定し、
前記第１ボリュームの記憶領域に格納されたデータの複製を前記第３ボリュームに格納した場合、前記記憶領域に対応する前記第１情報のビット及び前記第３情報のビットを、データが更新されていないことを示す値に設定し、
前記第１ボリュームの記憶領域に格納されたデータの複製を前記第３ボリュームに格納した場合、前記記憶領域に対応する前記第４情報のビットを、データが更新されたことを示す値に設定することを特徴とする請求項２に記載のストレージシステム。
【請求項４】
前記ストレージシステムは、前記第１情報の複製を含む第５情報をさらに保持し、
前記コントローラは、
前記第５情報のビットが、データが更新されたことを示す値である場合、前記ビットに対応する前記第１ボリュームの記憶領域に格納されているデータの複製を、前記第３ボリュームから読み出し、
前記第３ボリュームから読み出された複製、及び、前記第５情報を、前記第１テープ記憶媒体に格納することを特徴とする請求項２に記載のストレージシステム。
【請求項５】
前記コントローラは、前記第１ボリュームの記憶容量が前記第２ボリュームの記憶容量より大きい場合、少なくとも、前記第１ボリュームと同一の記憶容量を前記第３ボリュームに割り当てることを特徴とする請求項１に記載のストレージシステム。
【請求項６】
前記複数のボリュームは、さらに第４ボリューム及び第５ボリュームを含み、
前記コントローラは、
第１時点において前記第１ボリュームに格納されているデータの複製を前記第３ボリュームに格納する場合、前記第１時点において前記第４ボリュームに格納されているデータの複製を前記第５ボリュームに格納し、
前記第４ボリュームに格納されているデータの複製を、前記第５ボリュームから読み出して、前記テープ記憶装置が備える前記複数のテープ記憶媒体の少なくとも一つに格納することを特徴とする請求項１に記載のストレージシステム。
【請求項７】
第１ストレージシステムと、前記第１ストレージシステムとネットワークを介して接続された第２ストレージシステムと、を備える計算機システムであって、
前記第１ストレージシステムは、一つ以上の第１ディスク記憶装置と、前記一つ以上の第１ディスク記憶装置を制御する第１コントローラと、を備え、
前記第２ストレージシステムは、一つ以上の第２ディスク記憶装置と、テープ記憶装置と、前記一つ以上の第２ディスク記憶装置及び前記テープ記憶装置を制御する第２コントローラと、を備え、
前記テープ記憶装置は、データを格納する複数のテープ記憶媒体を備え、
前記複数のテープ記憶媒体は、第１テープ記憶媒体及び第２テープ記憶媒体を含み、
前記第１コントローラは、
前記一つ以上の第１ディスク記憶装置の記憶領域を、第１ボリューム及び第２ボリュームを含む複数のボリュームに分割し、
前記第１ボリュームのデータ格納状況を示す第１情報、及び前記第２ボリュームのデータ格納状況を示す第２情報を格納する第１メモリを備え、
前記第２コントローラは、
データが格納される前記一つ以上の第２ディスク記憶装置の記憶領域を、第３ボリュームを含む複数のボリュームに分割し、
前記第１ボリューム以外のボリュームから前記第３ボリュームへのデータのコピーによる前記第３ボリュームのデータ格納状況を示す第３情報、及び前記第２ボリューム以外のボリュームから前記第３ボリュームへのデータのコピーによる前記第３ボリュームのデータ格納状況を示す第４情報を格納する第２メモリを備え
前記第１コントローラ及び第２コントローラは、
前記第１ボリュームと前記第３ボリュームとの間で第１コピーペアを設定し、
前記第１情報と前記第３情報とを組み合わせ、
前記第１情報と前記第３情報とを組み合わせた情報を基に、更新され格納された前記第１ボリュームのデータである第１データを前記第３ボリュームにコピーし、
前記第１データを前記第３ボリュームから読み出して、前記テープ記憶装置が備える前記第１テープ記憶媒体に格納し、
前記第１コピーペアから前記第２ボリュームと前記第３ボリュームとの間で設定される第２コピーペアに切り替え、
前記第２情報と前記第４情報とを組み合わせ、
前記第２情報と前記第４情報とを組み合わせた情報を基に、更新され格納された前記第２ボリュームのデータである第２データを前記第３ボリュームにコピーし、
前記第２データを前記第３ボリュームから読み出して、前記テープ記憶装置が備える前記第２テープ記憶媒体に格納することを特徴とする計算機システム。
【請求項８】
前記第２コントローラは、
前記第１ボリュームの記憶領域に対応する前記第１情報のビット、及び、その記憶領域に対応する前記第３情報のビットのうち少なくとも一方が、データが更新されたことを示す値である場合、前記ビットに対応する前記第１ボリュームの記憶領域に格納されているデータの複製を前記第３ボリュームに格納することによって、前記第１データを前記第３ボリュームにコピーし、
前記第２ボリュームの記憶領域に対応する前記第２情報のビット、及び、その記憶領域に対応する前記第４情報のビットのうち少なくとも一方が、データが更新されたことを示す値である場合、前記ビットに対応する前記第２ボリュームの記憶領域に格納されているデータの複製を前記第３ボリュームに格納することによって、前記第２データを前記第３ボリュームにコピーすることを特徴とする請求項７に記載の計算機システム。
【請求項９】
前記第１コントローラは、
前記第１ボリュームへのデータの書き込み要求を受信した場合、前記要求されたデータが格納される記憶領域に対応する前記第１情報のビットを、データが更新されたことを示す値に設定し、
前記第１ボリュームの記憶領域に格納されたデータの複製が前記第３ボリュームに格納される場合、前記記憶領域に対応する前記第１情報のビットを、データが更新されていないことを示す値に設定し、
前記第２コントローラは、
前記第１ボリュームの記憶領域に格納されたデータの複製が前記第３ボリュームに格納される場合、前記記憶領域に対応する前記第３情報のビットを、データが更新されていないことを示す値に設定し、
前記第１ボリュームの記憶領域に格納されたデータの複製が前記第３ボリュームに格納される場合、前記記憶領域に対応する前記第４情報のビットを、データが更新されたことを示す値に設定することを特徴とする請求項８に記載の計算機システム。
【請求項１０】
前記第２ストレージシステムは、前記第１情報の複製を含む第５情報をさらに保持し、
前記第２コントローラは、
前記第５情報のビットが、データが更新されたことを示す値である場合、前記ビットに対応する前記第１ボリュームの記憶領域に格納されているデータの複製を、前記第３ボリュームから読み出し、
前記第３ボリュームから読み出された複製、及び、前記第５情報を、前記第１テープ記憶媒体に格納することを特徴とする請求項８に記載の計算機システム。
【請求項１１】
前記第２コントローラは、前記第１ボリュームの記憶容量が前記第２ボリュームの記憶容量より大きい場合、少なくとも、前記第１ボリュームと同一の記憶容量を前記第３ボリュームに割り当てることを特徴とする請求項７に記載の計算機システム。
【請求項１２】
前記第１ストレージシステムの複数のボリュームは、さらに第４ボリュームを含み、
前記第２ストレージシステムの複数のボリュームは、さらに第５ボリュームを含み、
前記第２コントローラは、
第１時点において前記第１ボリュームに格納されているデータの複製を前記第３ボリュームに格納する場合、前記第１時点において前記第４ボリュームに格納されているデータの複製を前記第５ボリュームに格納し、
前記第４ボリュームに格納されているデータの複製を、前記第５ボリュームから読み出して、前記テープ記憶装置が備える前記複数のテープ記憶媒体の少なくとも一つに格納することを特徴とする請求項７に記載の計算機システム。
【請求項１３】
一つ以上のディスク記憶装置と、テープ記憶装置と、前記一つ以上のディスク記憶装置及び前記テープ記憶装置を制御するコントローラと、を備えるストレージシステムを制御する方法であって、
前記テープ記憶装置は、データを格納する複数のテープ記憶媒体を備え、
前記複数のテープ記憶媒体は、第１テープ記憶媒体及び第２テープ記憶媒体を含み、
前記一つ以上のディスク記憶装置の記憶領域は、第１ボリューム、第２ボリューム及び第３ボリュームを含む複数のボリュームに分割され、
前記コントローラは、前記第１ボリュームのデータ格納状況を示す第１情報、前記第２ボリュームのデータ格納状況を示す第２情報、前記第１ボリューム以外のボリュームから前記第３ボリュームへのデータのコピーによる前記第３ボリュームのデータ格納状況を示す第３情報、及び前記第２ボリューム以外のボリュームから前記第３ボリュームへのデータのコピーによる前記第３ボリュームのデータ格納状況を示す第４情報を格納するメモリを備え、
前記第１ボリュームと前記第３ボリュームとの間で第１コピーペアが設定され、
前記方法は、
前記第１情報と前記第３情報とを組み合わせる手順と、
前記第１情報と前記第３情報とを組み合わせた情報を基に、更新され格納された前記第１ボリュームのデータである第１データを前記第３ボリュームにコピーする手順と、
前記第１データを前記第３ボリュームから読み出して、前記テープ記憶装置が備える前記第１テープ記憶媒体に格納する手順と、
前記第１コピーペアから前記第２ボリュームと前記第３ボリュームとの間で設定される第２コピーペアに切り替える手順と、
前記第２情報と前記第４情報とを組み合わせる手順と、
前記第２情報と前記第４情報とを組み合わせた情報を基に、更新され格納された前記第２ボリュームのデータである第２データを前記第３ボリュームにコピーする手順と、
前記第２データを前記第３ボリュームから読み出して、前記テープ記憶装置が備える前記第２テープ記憶媒体に格納する手順と、を含むことを特徴とする方法。
【請求項１４】
前記第１データを前記第３ボリュームにコピーする手順は、前記第１ボリュームの記憶領域に対応する前記第１情報のビット、及び、その記憶領域に対応する前記第３情報のビットのうち少なくとも一方が、データが更新されたことを示す値である場合、前記ビットに対応する前記第１ボリュームの記憶領域に格納されているデータの複製を前記第３ボリュームに格納することによって実行され、
前記第２データを前記第３ボリュームにコピーする手順は、前記第２ボリュームの記憶領域に対応する前記第２情報のビット、及び、その記憶領域に対応する前記第４情報のビットのうち少なくとも一方が、データが更新されたことを示す値である場合、前記ビットに対応する前記第２ボリュームの記憶領域に格納されているデータの複製を前記第３ボリュームに格納することによって実行されることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記方法は、さらに、
前記第１ボリュームへのデータの書き込み要求を受信した場合、前記要求されたデータが格納される記憶領域に対応する前記第１情報のビットを、データが更新されたことを示す値に設定する手順と、
前記第１ボリュームの記憶領域に格納されたデータの複製を前記第３ボリュームに格納した場合、前記記憶領域に対応する前記第１情報のビット及び前記第３情報のビットを、データが更新されていないことを示す値に設定する手順と、
前記第１ボリュームの記憶領域に格納されたデータの複製を前記第３ボリュームに格納した場合、前記記憶領域に対応する前記第４情報のビットを、データが更新されたことを示す値に設定する手順と、を含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記ストレージシステムは、前記第１情報の複製を含む第５情報をさらに保持し、
前記第１データを前記第１テープ記憶媒体に格納する手順は、
前記第５情報のビットが、データが更新されたことを示す値である場合、前記ビットに対応する前記第１ボリュームの記憶領域に格納されているデータの複製を、前記第３ボリュームから読み出す手順と、
前記第３ボリュームから読み出された複製、及び、前記第５情報を、前記第１テープ記憶媒体に格納する手順と、を含むことを特徴とする請求項１４に記載の方法。
【請求項１７】
前記方法は、さらに、前記第１ボリュームの記憶容量が前記第２ボリュームの記憶容量より大きい場合、少なくとも、前記第１ボリュームと同一の記憶容量を前記第３ボリュームに割り当てる手順を含むことを特徴とする請求項１３に記載の方法。
【請求項１８】
前記複数のボリュームは、さらに第４ボリューム及び第５ボリュームを含み、
前記方法は、さらに、
第１時点において前記第１ボリュームに格納されているデータの複製を前記第３ボリュームに格納する場合、前記第１時点において前記第４ボリュームに格納されているデータの複製を前記第５ボリュームに格納する手順と、
前記第４ボリュームに格納されているデータの複製を、前記第５ボリュームから読み出して、前記テープ記憶装置が備える前記複数のテープ記憶媒体の少なくとも一つに格納する手順と、を含むことを特徴とする請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書で開示される技術は、ストレージシステムの管理方法に関し、特に、テープライブラリへのデータのバックアップ方法に関する。
【背景技術】
【０００２】
企業等の計算機システムが扱うデータの量は、増大する傾向にある。これに伴い、障害等によるデータ消失を防ぐためのバックアップデータの量も増大している。
【０００３】
大量のデータを低コストで保存するため、一般に、階層化されたストレージシステムが使用される。階層化されたストレージシステムにおいて、アクセス頻度が高いデータは、磁気ディスクのように、比較的高価であるが高性能な記憶媒体に格納される。一方、例えばバックアップデータのようにアクセス頻度が低いデータは、磁気テープのように、比較的安価な記憶媒体に格納される。
【０００４】
磁気ディスクに格納されたデータをバックアップのために磁気テープにコピーする処理が、コピー元の磁気ディスク装置の性能に影響を与える場合がある。その結果、コピー元の磁気ディスク装置を使用する他の処理（例えば、その磁気ディスク装置内のデータにアクセスするアプリケーションの処理）の性能が低下する場合がある。このような性能の影響を防ぐため、磁気ディスク装置間のデータコピーと、磁気ディスク装置から磁気テープ装置へのデータコピーとを組み合わせた技術が開示されている（特許文献１参照）。
【０００５】
特許文献１によれば、磁気ディスク装置に設定された二つのボリュームがミラーリングされる。すなわち、一方のボリューム（正ボリューム）のデータが更新されると、その更新がもう一方のボリューム（副ボリューム）にもコピーされる。その結果、それらの二つのボリュームには同一のデータが格納される。それらのボリュームのデータを磁気テープにバックアップするとき、二つのボリューム間のコピーが停止する。副ボリュームのデータが磁気テープにコピーされる間、正ボリュームはアプリケーションによるアクセスを受けることができる。このため、アプリケーションの処理性能に影響を与えることなく、データのバックアップを実行することができる。
【０００６】
一方、ホストコンピュータに対してディスクインターフェースを持ち、論理ボリュームのデータを磁気テープに格納する機能を有するストレージシステムが開示されている（特許文献２参照）。このようなストレージシステムによれば、磁気ディスク装置と磁気テープ装置の記憶領域を論理ボリュームとして統合管理することによって、管理コストを削減することができる。
【特許文献１】特開２００３−１４０９８１号公報
【特許文献２】特開２００６−１６３４５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記特許文献１に開示された技術を実現するためには、正ボリュームと同数の副ボリュームを用意する必要がある。副ボリュームには、少なくとも、その正ボリュームに割り当てられる記憶容量と同一の記憶容量を割り当てる必要がある。このため、ストレージシステムに搭載する必要がある磁気ディスク装置の容量が増大し、その結果コストが上昇するという問題があった。
【課題を解決するための手段】
【０００８】
本願で開示する代表的な発明は、一つ以上のディスク記憶装置と、テープ記憶装置と、前記一つ以上のディスク記憶装置及び前記テープ記憶装置を制御するコントローラと、を備えるストレージシステムであって、前記テープ記憶装置は、データを格納する複数のテープ記憶媒体を備え、前記複数のテープ記憶媒体は、第１テープ記憶媒体及び第２テープ記憶媒体を含み、前記コントローラは、前記一つ以上のディスク記憶装置の記憶領域を、第１ボリューム、第２ボリューム及び第３ボリュームを含む複数のボリュームに分割し、前記第１ボリュームのデータ格納状況を示す第１情報、前記第２ボリュームのデータ格納状況を示す第２情報、前記第１ボリューム以外のボリュームから前記第３ボリュームへのデータのコピーによる前記第３ボリュームのデータ格納状況を示す第３情報、及び前記第２ボリューム以外のボリュームから前記第３ボリュームへのデータのコピーによる前記第３ボリュームのデータ格納状況を示す第４情報を格納するメモリを備え、前記第１ボリュームと前記第３ボリュームとの間で第１コピーペアを設定し、前記第１情報と前記第３情報とを組み合わせ、前記第１情報と前記第３情報とを組み合わせた情報を基に、更新され格納された前記第１ボリュームのデータである第１データを前記第３ボリュームにコピーし、前記第１データを前記第３ボリュームから読み出して、前記テープ記憶装置が備える前記第１テープ記憶媒体に格納し、前記第１コピーペアから前記第２ボリュームと前記第３ボリュームとの間で設定される第２コピーペアに切り替え、前記第２情報と前記第４情報とを組み合わせ、前記第２情報と前記第４情報とを組み合わせた情報を基に、更新され格納された前記第２ボリュームのデータである第２データを前記第３ボリュームにコピーし、前記第２データを前記第３ボリュームから読み出して、前記テープ記憶装置が備える前記第２テープ記憶媒体に格納することを特徴とする。
【発明の効果】
【０００９】
本発明の一実施形態によれば、アプリケーションの処理性能に影響を与えないデータバックアップを、低コストで実現することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態を、図面を参照して説明する。
【００１１】
最初に、本発明の第１の実施形態について説明する。
【００１２】
図１は、本発明の第１の実施形態の計算機システムの構成を示すブロック図である。
【００１３】
本実施形態の計算機システムは、ストレージシステム１０１、ホスト１０２及び管理端末１０３を備える。
【００１４】
ストレージシステム１０１は、ネットワーク１０５を介してホスト１０２と接続され、ネットワーク１０６を介して管理端末１０３と接続される。ホスト１０２は、ネットワーク１０４を介して管理端末１０３と接続される。
【００１５】
ネットワーク１０４〜１０６は、いかなる種類のネットワークであってもよい。例えば、ネットワーク１０４及び１０６は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のようなＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークであってもよい。ネットワーク１０５は、ネットワーク１０４及び１０６と同様のネットワークであってもよいし、ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）プロトコルが適用されるいわゆるストレージエリアネットワークであってもよい。
【００１６】
ホスト１０２は、ユーザに種々のサービスを提供する計算機である。ホスト１０２は、ネットワーク１０４及び１０５に接続されるインターフェース（図示省略）、インターフェースに接続されるプロセッサ（図示省略）及びプロセッサに接続されるメモリ（図示省略）を備える。
【００１７】
ホスト１０２のメモリには、アプリケーションプログラム２１０及び指示プログラム２２０が格納される。アプリケーションプログラム２１０は、ホスト１０２がユーザにサービスを提供するためにプロセッサによって実行されるプログラムである。アプリケーションプログラム２１０を実行するプロセッサは、必要に応じて、ストレージシステム１０１内のデータへのアクセス要求（すなわち、データ書き込み要求又はデータ読み出し要求）を発行する。指示プログラム２２０は、ユーザがストレージシステム１０１にデータのバックアップを指示するためにプロセッサによって実行されるプログラムである。指示プログラムによる処理については、後で詳細に説明する（図１３等参照）。
【００１８】
なお、図１の例では、ホスト１０２が指示プログラム２２０を保持する。しかし、計算機システム内のどの装置が指示プログラム２２０を保持し、実行してもよい。例えば、管理端末１０３又はストレージシステム１０１が指示プログラム２２０を保持及び実行してもよい。
【００１９】
管理端末１０３は、本実施形態の計算機システムを管理する計算機である。管理端末１０３は、ネットワーク１０４及び１０６に接続されるインターフェース（図示省略）、インターフェースに接続されるプロセッサ（図示省略）及びプロセッサに接続されるメモリ（図示省略）を備える。
【００２０】
管理端末１０３のメモリには、管理プログラム３１０が格納される。管理プログラム３１０は、ストレージシステム１０１によるデータバックアップを管理するためにプロセッサによって実行されるプログラムである。管理プログラム３１０による処理については後で詳細に説明する（図１２等参照）。以下の説明において管理プログラム３１０が実行する処理は、実際には、管理端末１０３のプロセッサ（図示省略）によって実行される。
【００２１】
ストレージシステム１０１は、ホスト１０２によって書き込まれたデータを格納する。本実施形態のストレージシステム１０１は、コントローラ１１０、一つ以上のディスク装置１２０及び一つ以上のテープライブラリ装置１３０を備える。
【００２２】
コントローラ１１０は、ディスク装置１２０及びテープライブラリ装置１３０を制御するために、少なくともコピー制御プログラム１１７、ディスク制御プログラム１１８及びテープ制御プログラム１１９を保持する。コントローラ１１０の構成については、後で詳細に説明する（図２参照）。
【００２３】
ディスク装置１２０は、典型的には磁気ディスクドライブであるが、フラッシュメモリのような半導体記憶装置又はその他の種類の記憶装置であってもよい。図１に示すディスク装置Ａ１２０Ａ及びディスク装置Ｂ１２０Ｂの各々は、複数のディスク装置１２０の一つである。ストレージシステム１００は、さらに多くのディスク装置１２０（例えば図３に示すディスク装置１２０Ｎ）を備えてもよい。複数のディスク装置１２０がＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）を構成してもよい。
【００２４】
ここで、ディスク装置１２０が提供する記憶領域について図３を参照して説明する。
【００２５】
図３は、本発明の第１の実施形態のディスク装置１２０が提供する記憶領域の説明図である。
【００２６】
図３の例では、複数のディスク装置１２０の記憶領域が一つ以上の内部ＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）１４１に分割して管理される。例えば、図３に示すように、各ディスク装置１２０の記憶領域の一部の集合が一つの内部ＬＵ１４１として管理されてもよい。図３に示す内部ＬＵ１４１Ａ、１４１Ｂ及び１４１Ｃの各々は、複数の内部ＬＵ１４１の一つである。図３に示すＬＵＮ００、ＬＵＮ０１及びＬＵＮ０２は、それぞれ、内部ＬＵ１４１Ａ、１４１Ｂ及び１４１Ｃの識別子である。コントローラ１１０は、任意の容量の内部ＬＵ１４１を任意の数設定することができる。
【００２７】
各内部ＬＵ１４１は、それぞれ一つの論理ボリューム１４０と対応付けられる。図３の例では、論理ボリューム１４０Ａ、１４０Ｂ及び１４０Ｃが、それぞれ、内部ＬＵ１４１Ａ、１４１Ｂ及び１４１Ｃと対応付けられる。論理ボリューム１４０Ａ、１４０Ｂ及び１４０Ｃの各々は、複数の論理ボリューム１４０の一つである。図３に示すＬＵＮ０、ＬＵＮ１及びＬＵＮ２は、それぞれ、論理ボリューム１４０Ａ、１４０Ｂ及び１４０Ｃの識別子である。
【００２８】
各論理ボリューム１４０は、ホスト１０２によって一つの論理的な記憶装置として認識される。例えば、ホスト１０２が論理ボリューム１４０Ａにデータを書き込む要求を発行すると、コントローラ１１０は、要求されたデータを、論理ボリューム１４０Ａに対応する内部ＬＵ１４１Ａに格納する。
【００２９】
再び図１を参照する。
【００３０】
テープライブラリ装置１３０は、一つ以上のテープドライブ１３１及び一つ以上のテープ１３２を備える。図１に示すテープライブラリ装置１３０は、テープドライブＡ１３１Ａ、テープドライブＢ１３１Ｂ、テープＡ１３２Ａ及びテープＢ１３２Ｂを備える。テープドライブＡ１３１Ａ及びテープドライブＢ１３１Ｂの各々は、複数のテープドライブ１３１の一つである。テープＡ１３２Ａ及びテープＢ１３２Ｂの各々は、複数のテープ１３２の一つである。各テープ１３２は、具体的には１巻のテープ記憶媒体に相当する。一つ以上のテープ１３２が一つのテープグループ１４２を構成してもよい（図４及び図５参照）。テープライブラリ装置１３０は、さらに多くのテープドライブ１３１及びテープ１３２を備えてもよい。
【００３１】
図２は、本発明の第１の実施形態のコントローラ１１０の構成を示すブロック図である。
【００３２】
本実施形態のコントローラ１１０は、メモリ１１１、ＣＰＵ１１２、上位インターフェース（Ｉ／Ｆ）１１３、下位Ｉ／Ｆ１１４、Ｉ／Ｆ１１５及びブリッジ１１６を備える。
【００３３】
メモリ１１１は、例えば半導体記憶装置のようなデータ記憶装置である。メモリ１１１には、ＣＰＵ１１２によって実行されるプログラム及びＣＰＵ１１２によって参照されるデータが格納される。本実施形態のメモリ１１１には、少なくとも、コピー制御プログラム１１７、ディスク制御プログラム１１８及びテープ制御プログラム１１９が格納される。
【００３４】
コピー制御プログラム１１７は、コンシステンシグループ（ＣＴＧ）管理テーブル１１７１、複製用ボリュームグループ（複製用ＶｏｌＧ）管理テーブル１１７２、複製グループ（複製Ｇ）管理テーブル１１７３及び状態管理テーブル１１７４を含む。
【００３５】
ディスク制御プログラム１１８は、ディスク管理テーブル１１８１を含む。
【００３６】
テープ管理プログラム１１９は、テープ管理テーブル１１９１を含む。
【００３７】
これらのプログラム及びテーブルについては、後で詳細に説明する。
【００３８】
ＣＰＵ１１２は、メモリ１１１に格納されたプログラムを実行するプロセッサである。以下の説明において各プログラムが実行する処理は、実際には、各プログラムを実行するＣＰＵ１１２によって実行される。
【００３９】
上位Ｉ／Ｆ１１３は、コントローラ１１０を、ネットワーク１０５を介してホスト１０２に接続するためのインターフェースである。下位Ｉ／Ｆ１１４は、コントローラ１１０をディスク装置１２０に接続するためのインターフェースである。上位Ｉ／Ｆ１１３及び下位Ｉ／Ｆ１１４は、例えばＳＣＳＩアダプタ又はＦＣアダプタであってもよい。
【００４０】
Ｉ／Ｆ１１５は、コントローラ１１０を、ネットワーク１０６を介して管理端末１０３に接続するためのインターフェースである。ネットワーク１０６がＬＡＮである場合、Ｉ／Ｆ１１５はいわゆるネットワークインターフェースカードであってもよい。
【００４１】
ブリッジ１１６は、メモリ１１１、ＣＰＵ１１２、上位Ｉ／Ｆ１１３、下位Ｉ／Ｆ１１４及びＩ／Ｆ１１５を接続し、これらの間で行われる通信を制御する。
【００４２】
図４は、本発明の第１の実施形態において実行されるバックアップの概要の説明図である。
【００４３】
図４において、論理ボリューム１４０Ａ〜１４０Ｎの各々は、複数の論理ボリューム１４０の一つである。図４に表示されたＬＵＮ０〜ＬＵＮ８は、それぞれ、論理ボリューム１４０Ａ〜１４０Ｉの識別子である。ＬＵＮ１０〜ＬＵＮ１４は、それぞれ、論理ボリューム１４０Ｊ〜１４０Ｎの識別子である。以下の説明において、各論理ボリューム１４０は、その論理ボリューム１４０の識別子によっても表示される。例えば、論理ボリューム１４０Ａは、ＬＵＮ０と表示される。
【００４４】
複数の論理ボリューム１４０が、コンシステンシグループ（ＣＴＧ）４０２を構成してもよい。コンシステンシグループ４０２とは、データの一貫性（コンシステンシ）が保証されている必要がある複数の論理ボリューム１４０の集合である。例えば、一つのアプリケーションの一つのインスタンスに関する複数の論理ボリューム１４０が一つのコンシステンシグループ４０２を構成してもよいし、一つのデータベースに関する複数の論理ボリューム１４０が一つのコンシステンシグループ４０２を構成してもよい。
【００４５】
図４の例では、ＬＵＮ０及びＬＵＮ１がコンシステンシグループ４０２Ａを構成する。ＬＵＮ２及びＬＵＮ３がコンシステンシグループ４０２Ｂを構成する。ＬＵＮ４及びＬＵＮ５がコンシステンシグループ４０２Ｃを構成する。ＬＵＮ６、ＬＵＮ７及びＬＵＮ８がコンシステンシグループ４０２Ｄを構成する。コンシステンシグループ４０２Ａ〜４０２Ｄの各々は、複数のコンシステンシグループ４０２の一つである。
【００４６】
図４に表示されたＣＴＧ０〜ＣＴＧ３は、それぞれ、コンシステンシグループ４０２Ａ〜４０２Ｄの識別子である。以下の説明において、各コンシステンシグループ４０２は、そのコンシステンシグループ４０２の識別子によっても表示される。例えば、コンシステンシグループ４０２Ａは、ＣＴＧ０とも表示される。
【００４７】
後述するように、論理ボリューム１４０から取得されたバックアップデータが、テープ１３２に格納される。バックアップデータとは、それが取得された時点で論理ボリューム１４０に格納されていたデータの複製である。コントローラ１１０は、バックアップデータを用いて、そのバックアップデータが取得された時点の論理ボリューム１４０を復元することができる。
【００４８】
前述のように、一つのコンシステンシグループ４０２に属する複数の論理ボリューム１４０において、格納されているデータの一貫性が保証される必要がある。このため、一つのコンシステンシグループ４０２に属する複数の論理ボリューム１４０のバックアップデータは、同一のタイミングを基準にして取得する必要がある。
【００４９】
例えば、図４において、ＬＵＮ０及びＬＵＮ１がＣＴＧ０に属する。この例において、ある時点のＬＵＮ０と、別のある時点のＬＵＮ１とが復元された場合、それらのＬＵＮ０及びＬＵＮ１に格納されたデータを使用することはできない。複数の論理ボリューム１４０にそれぞれ異なる時点において格納されていたデータの一貫性は保証されないためである。
【００５０】
したがって、同一の時点のＬＵＮ０及びＬＵＮ１を復元できるように、ある時点でＬＵＮ０のバックアップデータを取得するときには、その時点におけるＬＵＮ１のバックアップデータも取得する必要がある。そして、ＬＵＮ０のバックアップデータを使用してＬＵＮ０を復元するときには、そのＬＵＮ０のバックアップデータと同時に取得されたＬＵＮ１のバックアップデータを使用して、ＬＵＮ１も復元する必要がある。
【００５１】
ＬＵＮ１０〜ＬＵＮ１４は、ＬＵＮ０〜ＬＵＮ８に格納されたデータの複製を格納する論理ボリューム１４０である。以下の説明において、データのコピー元であるＬＵＮ０〜ＬＵＮ８を総称して正ボリューム（正Ｖｏｌ）、コピー先であるＬＵＮ１０〜ＬＵＮ１４を総称して副ボリューム（副Ｖｏｌ）とも記載する。正Ｖｏｌと、その正Ｖｏｌに格納されたデータの複製を格納する副Ｖｏｌとの組み合わせは、コピーペアと記載される。なお、後述するように、正Ｖｏｌと副Ｖｏｌには、それぞれ、異なるディスク装置１２０の記憶領域が割り当てられていることが望ましい。
【００５２】
正Ｖｏｌがコンシステンシグループ４０２に属する場合、その正Ｖｏｌに格納されたデータの複製を格納する副Ｖｏｌもコンシステンシグループに属する。副Ｖｏｌが構成するコンシステンシグループは、図４において複製用ボリュームグループ（複製用ＶｏｌＧ）４０３と記載される。図４に示す複製用ボリュームグループ４０３Ａ及び４０３Ｂの各々は、複数の複製用ボリュームグループ４０３の一つである。
【００５３】
図４に示す複製用ＶｏｌＧ０及び複製用ＶｏｌＧ１は、それぞれ、複製用ボリュームグループ４０３Ａ及び４０３Ｂの識別子である。以下の説明において、各複製用ボリュームグループ４０３は、その複製用ボリュームグループ４０３の識別子によっても表示される。例えば、複製用ボリュームグループ４０３Ａは、複製用ＶｏｌＧ０とも表示される。
【００５４】
正Ｖｏｌと、その正Ｖｏｌに格納されたデータの複製を格納する副Ｖｏｌとが、それぞれ、コンシステンシグループ４０２及び複製用ボリュームグループ４０３に属する場合、そのコンシステンシグループ４０２と複製用ボリュームグループ４０３との組み合わせも、コピーペアと記載される。
【００５５】
各テープグループ（ＴＧ）１４２は、一つ以上のテープ１３２を含む（詳細は図５参照）。一つのテープグループ１４２は、一つのコンシステンシグループ４０２に対応する。言い換えると、一つのテープグループ１４２には、一つのコンシステンシグループ４０２に格納されていたデータの少なくとも一部が格納される。
【００５６】
図４に示すテープグループ１４２Ａ〜１４２Ｒの各々は、複数のテープグループ１４２の一つである。図４に示すＴＧ１０〜ＴＧ２４は、それぞれ、テープグループ１４２Ａ〜１４２Ｏの識別子である。ＴＧ３０〜ＴＧ３２は、それぞれ、テープグループ１４２Ｐ〜１４２Ｒの識別子である。以下の説明において、各テープグループ１４２は、そのテープグループ１４２の識別子によっても表示される。例えば、テープグループ１４２Ａは、ＴＧ１０とも表示される。
【００５７】
正Ｖｏｌは、ホスト１０２のアプリケーションプログラム２１０によって書き込まれるデータの書き込み先として指定される。すなわち、アプリケーションプログラム２１０によって書き込まれたデータは、まず、いずれかの正Ｖｏｌに格納される。正Ｖｏｌに格納されたデータは、副Ｖｏｌにコピーされる。その結果、副Ｖｏｌには、正Ｖｏｌに格納されたデータの複製が格納される。副Ｖｏｌに格納されたデータは、バックアップデータとしてテープグループ１４２にコピーされる。このようなデータのバックアップ方法は、Ｄｉｓｋ  ｔｏ  Ｄｉｓｋ  ｔｏ  Ｔａｐｅバックアップ（Ｄ２Ｄ２Ｔバックアップ）とも呼ばれる。
【００５８】
Ｄ２Ｄ２Ｔバックアップによれば、正Ｖｏｌは、テープグループ１４２へのバックアップデータのコピーに関与しない。このため、正Ｖｏｌと副Ｖｏｌのそれぞれに、異なるディスク装置１２０の記憶領域が割り当てられていれば、アプリケーションプログラム２１０による正Ｖｏｌへのデータ書き込み処理の性能に影響を与えることなく、副Ｖｏｌからテープグループ１４２へのデータのバックアップを実行することができる。
【００５９】
従来のＤ２Ｄ２Ｔバックアップでは、正Ｖｏｌと、その正Ｖｏｌに格納されたデータの複製を格納する副Ｖｏｌとが１対１に対応付けられている必要があった。言い換えると、正Ｖｏｌと同数の副Ｖｏｌを用意する必要があった。各副Ｖｏｌは、少なくとも、その副Ｖｏｌに対応する正Ｖｏｌと同一の容量を有する必要がある。このため、従来のＤ２Ｄ２Ｔバックアップを実現するためには、正Ｖｏｌの容量の少なくとも倍の容量のディスク装置１２０を用意する必要があった。
【００６０】
一方、本実施形態によれば、一つの副Ｖｏｌが、コピーペア切り替えによって、複数の正Ｖｏｌに順次対応付けられる。
【００６１】
例えば、ある時点において、ＬＵＮ１０はＬＵＮ０とコピーペアを構成する（すなわち、ＬＵＮ１０はＬＵＮ０に対応付けられている）。この場合、ＬＵＮ１０には、ＬＵＮ０に格納されたデータの複製が格納される。そして、ＬＵＮ１０に格納されたデータが、いずれかのテープグループ（例えば、ＴＧ１０）にコピーされる。
【００６２】
その後、コピーペアが切り替えられた結果、ＬＵＮ１０はＬＵＮ２とコピーペアを構成する。この場合、ＬＵＮ１０には、ＬＵＮ２に格納されたデータの複製が格納される。そして、ＬＵＮ１０に格納されたデータが、いずれかのテープグループ（例えば、ＴＧ１５）にコピーされる。
【００６３】
このように、本実施形態によれば、正Ｖｏｌと同数の副Ｖｏｌを用意する必要がないため、ストレージシステム１０１のハードウェアのコストを削減することができる。
【００６４】
本実施形態において、一つの副Ｖｏｌ、その副Ｖｏｌに対応付けられる可能性がある正Ｖｏｌ、及び、それらの正Ｖｏｌに格納されたデータをバックアップするテープ１３２の集合は、複製グループ（複製Ｇ）４０１と記載される。図４に示す複製グループ４０１Ａ及び４０１Ｂの各々は、複数の複製グループ４０１の一つである。図４に示す複製Ｇ０及び複製Ｇ１は、それぞれ、複製グループ４０１Ａ及び４０１Ｂの識別子である。以下の説明において、各複製グループ４０１は、その複製グループ４０１の識別子によっても表示される。例えば、複製グループ４０１Ａは、複製Ｇ０とも表示される。
【００６５】
なお、副Ｖｏｌは、その副Ｖｏｌに対応付けられる可能性がある複数の正Ｖｏｌのうち、最も容量が大きいものと少なくとも同一の容量を有する必要がある。例えば、図４において、ＬＵＮ１０は、ＬＵＮ０及びＬＵＮ２に対応付けられる可能性がある。仮にＬＵＮ２の容量がＬＵＮ０の容量より大きい場合、ＬＵＮ１０は、少なくともＬＵＮ２と同一の容量を有する必要がある。
【００６６】
さらに、複製用ボリュームグループ４０３は、その複製用ボリュームグループ４０３に対応付けられる可能性がある複数のコンシステンシグループ４０２のうち、それに含まれる論理ボリューム１４０の数が最も多いものと同一の数の論理ボリューム１４０を含む必要がある。例えば、図４において、複製用ＶｏｌＧ１は、ＣＴＧ２及びＣＴＧ３と対応付けられる可能性がある。ＣＴＧ２は、二つの論理ボリューム１４０を含む。一方、ＣＴＧ３は、三つの論理ボリューム１４０を含む。この場合、複製用ＶｏｌＧ１は、少なくとも三つの論理ボリューム１４０を含む必要がある。
【００６７】
上記のように、本実施形態によれば、コピーペア切り替えによって一つの副Ｖｏｌが複数の正Ｖｏｌに共有される。この場合、コピーペア切り替えの度に、新たにコピーペアに属することになった正Ｖｏｌに格納されたデータを副Ｖｏｌにコピーする必要がある。このとき、正Ｖｏｌに格納された全てのデータを副Ｖｏｌにコピーしてもよいが、正Ｖｏｌの容量が大きくなるほど、コピーに要する時間は長くなる。このコピーに要する時間を短縮するために、ビットマップ４０５が使用されてもよい。
【００６８】
ビットマップ４０５は、メモリ１１１内の記憶領域に格納されてもよいし、ディスク装置１２０内の記憶領域に格納されてもよい。図４に示すビットマップ４０５Ａ〜４０５Ｒの各々は、複数のビットマップ４０５の一つである。図４に示すＢＭ０〜ＢＭ８は、それぞれ、ビットマップ４０５Ａ〜４０５Ｉの識別子である。ＢＭ１０〜ＢＭ１８は、それぞれ、ビットマップ４０５Ｊ〜４０５Ｒの識別子である。以下の説明において、各ビットマップ４０５は、そのビットマップ４０５の識別子によっても表示される。例えば、ビットマップ４０５Ａは、ＢＭ０とも表示される。
【００６９】
一つの正Ｖｏｌには、一つのビットマップ４０５が割り当てられる。図４の例では、ＬＵＮ０〜ＬＵＮ８には、それぞれ、ＢＭ０〜ＢＭ８が割り当てられる。
【００７０】
一方、一つの副Ｖｏｌには、複数のビットマップ４０５が割り当てられる場合がある。図４の例では、ＬＵＮ１０には、ＢＭ１０及びＢＭ１２が割り当てられる。この例において、ＢＭ１０は、ＬＵＮ０に対応するビットマップ４０５であり、ＢＭ１２は、ＬＵＮ２に対応するビットマップ４０５である。同様にして、ＬＵＮ１１には、ＢＭ１１及びＢＭ１３が割り当てられる。ＬＵＮ１２には、ＢＭ１４及びＢＭ１６が割り当てられる。ＬＵＮ１３には、ＢＭ１５及びＢＭ１７が割り当てられる。ＬＵＮ１４には、ＢＭ１８が割り当てられる。
【００７１】
各ビットマップ４０５は、複数のビットを含む。各ビットマップ４０５の各ビットは、そのビットマップ４０５が割り当てられた論理ボリューム１４０の記憶領域と対応する。各ビットマップ４０５の各ビットの値は、そのビットに対応する記憶領域のデータが更新されたか否か、すなわち、そのビットに対応する記憶領域のデータを正Ｖｏｌから副Ｖｏｌにコピーする必要があるか否かを示している。
【００７２】
具体的には、正Ｖｏｌに割り当てられたビットマップ４０５のビットの値が「ＯＮ」である場合、そのビットに対応する正Ｖｏｌの記憶領域のデータが更新されたが、その更新されたデータがまだ副Ｖｏｌにコピーされていないことを示している。一方、副Ｖｏｌに割り当てられたビットマップ４０５のビットの値が「ＯＮ」である場合、そのビットに対応する副Ｖｏｌの記憶領域のデータが、そのビットマップ４０５に対応する正Ｖｏｌのデータ以外のデータによって更新されたことを示す。
【００７３】
例えば、図４において、ＢＭ０は、ＬＵＮ０に割り当てられる。ＬＵＮ０のデータが更新されると、そのデータが格納された領域に対応するＢＭ０のビットが「ＯＮ」に設定される。そして、そのデータがＬＵＮ１０にコピーされると、そのデータを含む領域に対応するＢＭ０のビットが「ＯＦＦ」に設定される。
【００７４】
さらに、図４において、ＬＵＮ１０に割り当てられたＢＭ１０は、ＬＵＮ０に対応する。この例において、ＬＵＮ１０に、ＬＵＮ２に格納されたデータがコピーされた場合、そのデータが格納された領域に対応するＢＭ１０のビットが「ＯＮ」に設定される。そして、そのデータが格納された領域に、ＬＵＮ０に格納されたデータが新たにコピーされた場合、そのデータが格納された領域に対応するＢＭ１０のビットが「ＯＦＦ」に設定される。
【００７５】
このように、正Ｖｏｌと副Ｖｏｌとの間で同期が保証されていない領域に対応するビットマップ４０５のビットが「ＯＮ」に設定される。
【００７６】
なお、ビットマップ４０５のビットの値「１」が「ＯＮ」、「０」が「ＯＦＦ」に対応してもよいし、「０」が「ＯＮ」、「１」が「ＯＦＦ」に対応してもよい。
【００７７】
ビットマップ４０５の設定方法及び使用方法については、後で詳細に説明する（図１３から図１５参照）。
【００７８】
本実施形態では、さらに、テープグループ１４２へのバックアップの際に、ビットマップ４０６が使用されてもよい。ビットマップ４０６は、メモリ１１１内の記憶領域に格納されてもよいし、ディスク装置１２０内の記憶領域に格納されてもよい。さらに、ビットマップ４０６は、テープグループ１４２へのバックアップが実行されるときに、バックアップデータに加えてテープグループ１４２に格納される。
【００７９】
図４に示すビットマップ４０６Ａ〜４０６Ｉの各々は、複数のビットマップ４０６の一つである。図４に示すＢＭ２０〜ＢＭ２８は、それぞれ、ビットマップ４０６Ａ〜４０６Ｉの識別子である。以下の説明において、各ビットマップ４０６は、そのビットマップ４０６の識別子によっても表示される。
【００８０】
ビットマップ４０６は、正Ｖｏｌに割り当てられたビットマップ４０５の複製である。ビットマップ４０６の設定方法及び使用方法については、後で詳細に説明する（図１３から図１５参照）。
【００８１】
図５は、本発明の第１の実施形態のテープグループ１４２の説明図である。
【００８２】
各テープグループ１４２は、コンシステンシグループ４０２に対応する。一つのテープグループ１４２に要求される記憶容量が、一つのテープ１３２の記憶容量より大きい場合、一つのテープグループ１４２は、複数のテープ１３２を含む。図５の例では、テープグループ１４２Ａは、テープ１３２Ａ〜１３２Ｊを含む。テープグループ１４２Ｂは、テープ１３２Ｋ〜１３２Ｎを含む。
【００８３】
図６は、本発明の第１の実施形態のＣＴＧ管理テーブル１１７１の説明図である。
【００８４】
ＣＴＧ管理テーブル１１７１は、各コンシステンシグループ４０２に含まれる論理ボリューム１４０の識別子を管理する。
【００８５】
ＣＴＧ管理テーブル１１７１は、ＣＴＧ−ＩＤ１１７１１及びＬＵＮ１１７１２を含む。
【００８６】
ＣＴＧ−ＩＤ１１７１１は、コンシステンシグループ４０２の識別子を示す。図６の例では、ＣＴＧ−ＩＤ１１７１１として「０」〜「３」が格納される。これらは、それぞれ、図４に示すＣＴＧ０〜ＣＴＧ３に相当する。
【００８７】
ＬＵＮ１１７１２は、各コンシステンシグループ４０２に含まれる論理ボリューム１４０の識別子を示す。図６の例では、ＣＴＧ０に対応するＬＵＮ１１７１２として「０」及び「１」が格納される。これらは、それぞれ、図４に示すＬＵＮ０及びＬＵＮ１に相当する。すなわち、これらは、図４に示すように、ＣＴＧ０にＬＵＮ０及びＬＵＮ１が含まれることを意味する。
【００８８】
図７は、本発明の第１の実施形態の複製用ＶｏｌＧ管理テーブル１１７２の説明図である。
【００８９】
複製用ＶｏｌＧ管理テーブル１１７２は、各複製用ボリュームグループ４０３に含まれる論理ボリューム１４０の識別子を管理する。
【００９０】
複製用ＶｏｌＧ管理テーブル１１７２は、複製用ＶｏｌＧ−ＩＤ１１７２１及びＬＵＮ１１７２２を含む。
【００９１】
複製用ＶｏｌＧ−ＩＤ１１７２１は、複製用ボリュームグループ４０３の識別子を示す。図７の例では、複製用ＶｏｌＧ−ＩＤ１１７２１として「０」及び「１」が格納される。これらは、それぞれ、図４に示す複製用ＶｏｌＧ０及び複製用ＶｏｌＧ１に相当する。
【００９２】
ＬＵＮ１１７２２は、各複製用ボリュームグループ４０３に含まれる論理ボリューム１４０の識別子を示す。図７の例では、複製用ＶｏｌＧ０に対応するＬＵＮ１１７２２として「１０」及び「１１」が格納される。これらは、それぞれ、図４に示すＬＵＮ１０及びＬＵＮ１１に相当する。すなわち、これらは、図４に示すように、複製用ＶｏｌＧ０にＬＵＮ１０及びＬＵＮ１１が含まれることを意味する。
【００９３】
図８は、本発明の第１の実施形態の複製グループ管理テーブル１１７３の説明図である。
【００９４】
複製グループ管理テーブル１１７３は、各複製グループ４０１の構成要素（例えば、各複製グループ４０１に含まれる論理ボリューム１４０等）を管理する。
【００９５】
複製グループ管理テーブル１１７３は、複製Ｇ−ＩＤ１１７３１、複製用ＶｏｌＧ−ＩＤ１１７３２、ＣＴＧ−ＩＤ１１７３３、ＴＧ−ＩＤ１１７３４、正Ｖｏｌ用ＢＭ−ＩＤ１１７３５、副Ｖｏｌ用ＢＭ−ＩＤ１１７３６及びテープコピー用ＢＭ−ＩＤ１１７３７を含む。
【００９６】
複製Ｇ−ＩＤ１１７３１は、複製グループ４０１の識別子を示す。図８の例では、複製Ｇ−ＩＤ１１７３１として「０」及び「１」が格納される。これらは、それぞれ、図４に示す複製Ｇ０及び複製Ｇ１に相当する。
【００９７】
複製用ＶｏｌＧ−ＩＤ１１７３２は、図７の複製用ＶｏｌＧ−ＩＤ１１７２１と同様に、複製用ボリュームグループ４０３の識別子を示す。例えば、図８では、複製Ｇ０に対応する複製用ＶｏｌＧ−ＩＤ１１７３２として、「０」が格納されている。これは、図４に示すように、複製Ｇ０に複製用ＶｏｌＧ０が含まれることを示す。
【００９８】
ＣＴＧ−ＩＤ１１７３３は、図６のＣＴＧ−ＩＤ１１７１１と同様に、コンシステンシグループ４０２の識別子を示す。例えば、図８では、複製用ＶｏｌＧ０に対応するＣＴＧ−ＩＤ１１７３３として、「０」及び「１」が格納されている。これらは、図４に示すように、複製用ＶｏｌＧ０がＣＴＧ０及びＣＴＧ１に対応すること、すなわち、複製用ＶｏｌＧが、データのコピー先としてＣＴＧ０及びＣＴＧ１に共有されることを示す。
【００９９】
ＴＧ−ＩＤ１１７３４は、テープグループ１４２の識別子を示す。例えば、ＴＧ−ＩＤ１１７３４に格納されている値「１０」は、図４のＴＧ１０に相当する。例えば、図８では、ＣＴＧ０に対応するＴＧ−ＩＤ１１７３４として、「１０」〜「１４」が格納されている。これらは、ＣＴＧ０に格納されたデータが、ＴＧ１０〜ＴＧ１４にバックアップされることを示す。
【０１００】
正Ｖｏｌ用ＢＭ−ＩＤ１１７３５は、正Ｖｏｌに割り当てられたビットマップ４０５の識別子を示す。例えば、正Ｖｏｌ用ＢＭ−ＩＤ１１７３５に格納されている値「０」は、図４に示すＢＭ０に相当する。例えば、図８では、ＣＴＧ０に対応する正Ｖｏｌ用ＢＭ−ＩＤ１１７３５として、「０」及び「１」が格納されている。これらは、ＣＴＧ０に含まれる正Ｖｏｌ（すなわちＬＵＮ０及びＬＵＮ１）に、ＢＭ０及びＢＭ１が割り当てられることを示す。
【０１０１】
副Ｖｏｌ用ＢＭ−ＩＤ１１７３６は、副Ｖｏｌに割り当てられたビットマップ４０５の識別子を示す。例えば、副Ｖｏｌ用ＢＭ−ＩＤ１１７３６に格納されている値「１０」は、図４に示すＢＭ１０に相当する。例えば、図８では、ＣＴＧ０に対応する副Ｖｏｌ用ＢＭ−ＩＤ１１７３６として、「１０」及び「１１」が格納されている。これらは、複製用ＶｏｌＧ０に含まれる副Ｖｏｌ（すなわちＬＵＮ１０及びＬＵＮ１１）に、ＣＴＧ０に対応するビットマップ４０５として、ＢＭ１０及びＢＭ１１が割り当てられることを示す。例えば、ＢＭ１０は、ＬＵＮ１０に割り当てられ、ＬＵＮ０に対応する。ＢＭ１１は、ＬＵＮ１１に割り当てられ、ＬＵＮ１に対応する。
【０１０２】
テープコピー用ＢＭ−ＩＤ１１７３７は、テープグループ１４２へのデータバックアップの際に使用されるビットマップ４０６の識別子を示す。例えば、テープコピー用ＢＭ−ＩＤ１１７３７に格納されている値「２０」は、図４に示すＢＭ２０に相当する。例えば、図８では、ＣＴＧ０に対応するテープコピー用ＢＭ−ＩＤ１１７３７として、「２０」及び「２１」が格納されている。これらは、ＴＧ１０〜ＴＧ１４にデータがバックアップされる際にＢＭ２０及びＢＭ２１が使用されることを示す。
【０１０３】
図９は、本発明の第１の実施形態の状態管理テーブル１１７４の説明図である。
【０１０４】
状態管理テーブル１１７４は、コンシステンシグループ４０２と複製用ボリュームグループ４０３との間に設定されているコピーペアの状態を管理する。
【０１０５】
状態管理テーブル１１７４は、複製Ｇ−ＩＤ１１７４１、複製用ＶｏｌＧ−ＩＤ１１７４２、ＣｕｒｒｅｎｔＣＴＧ−ＩＤ１１７４３、ＣｕｒｒｅｎｔＴＧ−ＩＤ１１７４４及び状態１１７４５を含む。
【０１０６】
複製Ｇ−ＩＤ１１７４１は、図８の複製Ｇ−ＩＤ１１７３１と同様に、複製グループ４０１の識別子を示す。
【０１０７】
複製用ＶｏｌＧ−ＩＤ１１７４２は、図８の複製用ＶｏｌＧ−ＩＤ１１７３２と同様に、複製用ボリュームグループ４０３の識別子を示す。
【０１０８】
ＣｕｒｒｅｎｔＣＴＧ−ＩＤ１１７４３は、カレントコンシステンシグループの識別子、すなわち、現在複製用ボリュームグループ４０３とコピーペアを構成しているコンシステンシグループ４０２の識別子を示す。例えば、図９では、複製用ＶｏｌＧ０に対応するＣｕｒｒｅｎｔＣＴＧ−ＩＤ１１７４３として「０」が、複製用ＶｏｌＧ１に対応するＣｕｒｒｅｎｔＣＴＧ−ＩＤ１１７４３として「３」が格納されている。これらは、現在、ＣＴＧ０と複製用ＶｏｌＧ０とがコピーペアを構成し、ＣＴＧ３と複製用ＶｏｌＧ１とがコピーペアを構成していることを示す。
【０１０９】
ＣｕｒｒｅｎｔＴＧ−ＩＤ１１７４４は、現在実行されているバックアップ（すなわち複製用ボリュームグループ４０３からテープグループ１４２へのデータのコピー）のコピー先として設定されているテープグループ１４２の識別子を示す。現在バックアップが実行されていない場合、ＣｕｒｒｅｎｔＴＧ−ＩＤ１１７４４には、バックアップが実行されていないことを示す値が格納されてもよいし、有効な値が格納されなくてもよい。
【０１１０】
例えば、図９では、ＣＴＧ０及び複製用ＶｏｌＧ０に対応するＣｕｒｒｅｎｔＴＧ−ＩＤ１１７４４として有効な値が格納されておらず、ＣＴＧ３及び複製用ＶｏｌＧ１に対応するＣｕｒｒｅｎｔＴＧ−ＩＤ１１７４４として「３０」が格納されている。これらは、現在、複製用ＶｏｌＧ０からテープグループ１４２へのコピーが実行されておらず、複製用ＶｏｌＧ１からＴＧ３０へのコピーが実行されていることを示す。
【０１１１】
状態１１７４５は、コピーペアの状態を示す。具体的には、状態１１７４５には、「ペア（ＰＡＩＲ）」、「静止化（ＳＵＳＰＥＮＤ）」、「同期中（ＣＯＰＹ）」及び「テープコピー中（ＴＡＰＥ  ＣＯＰＹ）」のいずれかが格納される。
【０１１２】
状態「ペア」は、コピーペアの正Ｖｏｌにデータが書き込まれると、その書き込まれたデータの複製を副Ｖｏｌに転送し、副Ｖｏｌに書き込む処理が実行される状態を示す。その結果、正Ｖｏｌに対して行われた更新が、副Ｖｏｌにも反映される。例えば、正Ｖｏｌにデータが書き込まれ、そのデータの複製が副Ｖｏｌに書き込まれた後に、正Ｖｏｌへの書き込み処理の完了通知がホスト１０２に送信されてもよい。
【０１１３】
状態「静止化」は、コピーペアの正Ｖｏｌにデータが書き込まれても、その書き込まれたデータの複製が副Ｖｏｌに転送されない状態を示す。このため、コピーペアの状態が「静止化」である間、正Ｖｏｌに対して行われたデータの更新は、副Ｖｏｌに反映されない。
【０１１４】
状態「同期中」は、コピーペアの状態を「静止化」から「ペア」に変更するときに発生する過渡的な状態を示す。具体的には、状態が「同期中」であるコピーペアにおいて、正Ｖｏｌに格納された全てのデータが副Ｖｏｌにコピーされてもよい。
【０１１５】
あるいは、コピーペアの状態が「静止化」であった間に正Ｖｏｌ又は副Ｖｏｌにおいて更新された領域のデータのみが、正Ｖｏｌから副Ｖｏｌにコピーされてもよい。具体的には、正Ｖｏｌに割り当てられたビットマップ４０５及び副Ｖｏｌに割り当てられたビットマップ４０５のうち少なくとも一方で「ＯＮ」に設定されているビットに対応する領域のデータのみが、正Ｖｏｌから副Ｖｏｌにコピーされてもよい。副Ｖｏｌに格納されたデータが正Ｖｏｌに格納されたデータと一致した時点で、コピーペアの状態は「同期中」から「ペア」に遷移する。
【０１１６】
状態「テープコピー中」は、複製用ボリュームグループ４０３に格納されたデータのテープグループ１４２へのコピーが実行されている状態を示す。状態が「テープコピー中」であるコピーペアでは、「静止化」の場合と同様、正Ｖｏｌから副Ｖｏｌへのデータコピーが実行されない。
【０１１７】
例えば、図９では、ＣＴＧ０及び複製用ＶｏｌＧ０に対応する状態１１７４５として「ペア」が格納されている。これは、現在ＣＴＧ０へのデータの書き込みが実行されると、その書き込まれたデータの複製が複製用ＶｏｌＧ０にも書き込まれることを示す。一方、ＣＴＧ３及び複製用ＶｏｌＧ１に対応する状態１１７４５として「テープコピー中」が格納されている。これは、現在、複製用ＶｏｌＧ１からテープグループ１４２（図９の例ではＴＧ３０）へのコピーが実行されていることを示す。
【０１１８】
図１０は、本発明の第１の実施形態のディスク管理テーブル１１８１の説明図である。
【０１１９】
ディスク管理テーブル１１８１は、ディスク装置１２０の記憶領域を管理するために必要な情報を保持する。
【０１２０】
ディスク管理テーブル１１８１は、論理ボリュームＩＤ１１８１１、内部ＬＵＮ１１８１２、ＬＵサイズ１１８１３及び物理ディスクアドレス１１８１４を含む。
【０１２１】
論理ボリュームＩＤ１１８１１は、論理ボリューム１４０の識別子を示す。例えば、図１０では、論理ボリュームＩＤ１１８１１として「０」及び「１」が格納されている。これらは、それぞれ、図３及び図４に示すＬＵＮ０及びＬＵＮ１に相当する。
【０１２２】
内部ＬＵＮ１１８１２は、論理ボリューム１４０に対応付けられた内部ＬＵ１４１の識別子を示す。例えば、図１０では、ＬＵＮ０及びＬＵＮ１に対応する内部ＬＵＮ１１８１２として「００」及び「０１」が格納されている。これらは、それぞれ、図３に示すＬＵＮ００及びＬＵＮ０１に相当する。
【０１２３】
ＬＵサイズ１１８１３は、各内部ＬＵ１４１に割り当てられている記憶領域のサイズ、すなわち、その記憶領域に格納できるデータの容量を示す。例えば、図１０では、ＬＵＮ００及びＬＵＮ０１に対応するＬＵサイズ１１８１３として、それぞれ、「１テラバイト（ＴＢ）」及び「５００ギガバイト（ＧＢ）」が格納されている。これらは、ＬＵＮ００及びＬＵＮ０１としてそれぞれ１ＴＢ及び５００ＧＢの記憶領域が割り当てられていることを示す。
【０１２４】
物理ディスクアドレス１１８１４は、各内部ＬＵ１４１に割り当てられているディスク装置１２０内の記憶領域のアドレスを示す。例えば、図１０では、ＬＵＮ００に対応する物理ディスクアドレス１１８１４として、「Ａ：０−２０００、Ｂ：０−２０００、・・・、Ｎ：０−２０００」が格納されている。これは、少なくとも、ディスク装置１２０Ａのアドレス０からアドレス２０００までの記憶領域、ディスク装置１２０Ｂのアドレス０からアドレス２０００までの記憶領域、及び、ディスク装置１２０Ｎのアドレス０からアドレス２０００までの記憶領域が、ＬＵＮ００として割り当てられていることを示す。
【０１２５】
なお、図１０では省略されているが、ディスク管理テーブル１１８１は、さらに、図４に示すＬＵＮ２〜ＬＵＮ１４に対応する論理ボリュームＩＤ１１８１１、内部ＬＵＮ１１８１２、ＬＵサイズ１１８１３及び物理ディスクアドレス１１８１４を格納してもよい。
【０１２６】
図１１は、本発明の第１の実施形態のテープ管理テーブル１１９１の説明図である。
【０１２７】
テープ管理テーブル１１９１は、テープグループ１４２を管理するために必要な情報を保持する。
【０１２８】
テープ管理テーブル１１９１は、ＴＧ−ＩＤ１１９１１、Ｔａｐｅ−ＩＤ１１９１２及びＫｅｙｗｏｒｄ１１９１３を含む。
【０１２９】
ＴＧ−ＩＤ１１９１１は、テープグループ１４２の識別子を示す。例えば、図１１では、ＴＧ−ＩＤ１１９１１として「１０」、「１１」及び「１２」が格納されている。これらは、それぞれ、図４に示すＴＧ１０〜ＴＧ１２に相当する。
【０１３０】
Ｔａｐｅ−ＩＤ１１９１２は、各テープグループ１４２に含まれるテープ１３２の識別子である。例えば、図１１では、ＴＧ１０に対応するＴａｐｅ−ＩＤ１１９１２として、「１０００、１００１、１００２」が格納されている。これは、ＴＧ１０が、識別子「１０００」、「１００１」及び「１００２」によって識別される三つのテープ１３２を含むことを示す。
【０１３１】
Ｋｅｙｗｏｒｄ１１９１３は、ユーザがテープグループ１４２を検索するときに使用されるキーワードを示す。ユーザは、データをテープグループ１４２にバックアップするときに、任意のキーワードを指定することができる。例えば、ユーザは、バックアップ元であるコンシステンシグループ４０２の識別子、及び、バックアップが実行された日時等をキーワードとして指定してもよい。このようにして指定されたキーワードが、Ｋｅｙｗｏｒｄ１１９１３として格納される。図１１の例では、ＴＧ１０に対応するＫｅｙｗｏｒｄ１１９１３として、「ＡＢＣＤＥ」が格納されている。
【０１３２】
ユーザは、コンシステンシグループ４０２を復元（リストア）するために、テープグループ１４２に格納されたデータを論理ボリューム１４０にコピーすることができる。このコピーを実行するときに、ユーザは、コピー元のテープグループ１４２を、Ｋｅｙｗｏｒｄ１１９１３に格納されたキーワードによって指定することができる（図１６参照）。
【０１３３】
なお、図１１では省略されているが、テープ管理テーブル１１９１は、さらに、図４に示すＴＧ１３〜ＴＧ３２に対応するＴＧ−ＩＤ１１９１１、Ｔａｐｅ−ＩＤ１１９１２及びＫｅｙｗｏｒｄ１１９１３を格納してもよい。
【０１３４】
次に、本実施形態において実行される処理について、フローチャートを参照して説明する。
【０１３５】
以下の説明は、複数の論理ボリューム１４０がコンシステンシグループ４０２を構成する場合についてのものである。しかし、本発明は、コンシステンシグループ４０２が構成されない場合にも適用することができる。その場合にも、一つの論理ボリューム１４０が一つのコンシステンシグループ４０２を構成すると仮定することによって、以下の説明を適用することができる。その場合、論理ボリューム１４０の識別子がコンシステンシグループ４０２の識別子として使用されてもよい。
【０１３６】
図１２は、本発明の第１の実施形態において実行される複製用ボリュームグループ作成処理１２００のフローチャートである。
【０１３７】
図１２に示す処理は、複数のコンシステンシグループ４０２に対応付けられる複製用ボリュームグループ４０３を作成するために実行される。
【０１３８】
複製用ボリュームグループ作成処理１２００が開始されると、管理者は、グループ化される複数のコンシステンシグループ４０２の識別子を管理プログラム３１０に入力する（ステップ１２０１）。ここで、グループ化される複数のコンシステンシグループ４０２とは、一つの複製用ボリュームグループ４０３へのデータのコピー元となる複数のコンシステンシグループ４０２を意味する。例えば、ステップ１２０１において、図４に示す複製用ＶｏｌＧ０を作成するために、ＣＴＧ０及びＣＴＧ１が入力されてもよい。
【０１３９】
次に、管理プログラム３１０は、ステップ１２０１において入力された識別子をコントローラ１１０に送信する（ステップ１２０２）。
【０１４０】
次に、コントローラ１１０のコピー制御プログラム１１７は、ディスク管理テーブル１１８１を参照して、ステップ１２０１において入力された識別子によって識別される複数のコンシステンシグループ４０２の最大論理ボリューム数及び最大論理ボリュームサイズを算出する（ステップ１２０３）。
【０１４１】
次に、ディスク制御プログラム１１８は、ステップ１２０３において算出された最大論理ボリューム数及び最大論理ボリュームサイズに基づいて、ストレージシステム１０１内の空きディスク容量から、複製用ボリュームグループ４０３を作成するために必要な論理ボリューム１４０を作成する。または、ストレージシステム１０１内に未割り当ての内部ＬＵ１４１（即ち論理ボリューム１４０に対応付けられていない内部ＬＵ１４１）が存在する場合は、未割り当ての内部ＬＵ１４１から要件に該当する内部ＬＵ（必要容量と同一サイズまたはそれより大きなサイズの内部ＬＵ）を選択して、当該内部ＬＵを論理ボリュームとして用いてもよい（ステップ１２０４）。
【０１４２】
例えば、図４の複製Ｇ１に示すように、２個の論理ボリューム１４０を含むＣＴＧ２及び３個の論理ボリューム１４０を含むＣＴＧ３がグループ化される場合、それらのうち最大の論理ボリューム数である「３」が最大論理ボリューム数として算出される（ステップ１２０３）。この場合、３個の論理ボリューム１４０（すなわちＬＵＮ１２〜ＬＵＮ１４）が、複製用ＶｏｌＧ１のために作成される（ステップ１２０４）。
【０１４３】
さらに、この場合において、ＬＵＮ４及びＬＵＮ６のうち大きい方のサイズ、ＬＵＮ５及びＬＵＮ７のうち大きい方のサイズ、及び、ＬＵＮ８のサイズが、最大論理ボリュームサイズとして算出される（ステップ１２０３）。そして、算出されたそれらのサイズ（又はそれらより大きいサイズ）が、それぞれ、ＬＵＮ１２〜ＬＵＮ１４のサイズとして設定される（ステップ１２０４）。例えば、ＬＵＮ６よりＬＵＮ４のサイズが大きく、ＬＵＮ７よりＬＵＮ５のサイズが大きい場合、ＬＵＮ１２には少なくともＬＵＮ４と同一の容量の記憶領域が、ＬＵＮ１３には少なくともＬＵＮ５と同一の容量の記憶領域が、ＬＵＮ１４には少なくともＬＵＮ８と同一の容量の記憶領域が割り当てられる。
【０１４４】
次に、コピー制御プログラム１１７は、作成された論理ボリューム１４０の識別子及び作成された複製用ボリュームグループ４０３に関する情報を、複製用ＶｏｌＧ管理テーブル１１７２及び複製グループ管理テーブル１１７３に登録する（ステップ１２０５）。さらに、ステップ１２０５において、ディスク制御プログラム１１８は、作成または選択された論理ボリューム１４０の識別子、サイズ及びアドレスを、ディスク管理テーブル１１８１に登録する。
【０１４５】
以上で、複製用ボリュームグループ作成処理１２００が終了する。
【０１４６】
図１３は、本発明の第１の実施形態において実行されるフルバックアップ取得処理１３００のフローチャートである。
【０１４７】
フルバックアップ取得処理１３００は、コンシステンシグループ４０２に格納されている全データの複製をテープグループ１４２に格納する処理である。コンシステンシグループ４０２に格納されているデータは、図４において説明したように、複製用ボリュームグループ４０３を経由してテープグループ１４２にコピーされる。
【０１４８】
指示プログラム２２０がバックアップ指示を発行したときに、フルバックアップ取得処理１３００が開始される（ステップ１３０１）。このバックアップ指示は、バックアップ対象のコンシステンシグループ４０２、そのコンシステンシグループ４０２を含む複製グループ４０１、及び、キーワードを指定する情報を含む。バックアップ対象のコンシステンシグループ４０２とは、そのバックアップによってコピーされるデータのコピー元のコンシステンシグループ４０２である。
【０１４９】
バックアップ対象のコンシステンシグループ４０２、及び、そのコンシステンシグループ４０２を含む複製グループ４０１は、それらの識別子によって指定される。一つのコンシステンシグループ４０２のみがバックアップ対象として指定されてもよいし、複数のコンシステンシグループ４０２がバックアップ対象として指定されてもよい。バックアップ指示によって指定される情報は、指示プログラム２２０を使用するユーザによって入力されてもよい。
【０１５０】
バックアップ指示を受信したコピー制御プログラム１１７は、状態管理テーブル１１７４を参照する（ステップ１３０２）。
【０１５１】
次に、コピー制御プログラム１１７は、バックアップ対象として指定された一つ又は複数のコンシステンシグループ４０２の中に、カレントコンシステンシグループ（ＣｕｒｒｅｎｔＣＴＧ）が含まれるか否かを判定する（ステップ１３０３）。具体的には、コピー制御プログラム１１７は、バックアップ対象として指定された一つ又は複数のコンシステンシグループ４０２の識別子のうち一つが、状態管理テーブル１１７４のＣｕｒｒｅｎｔＣＴＧ−ＩＤ１１７４３に登録されている場合、ステップ１３０３において「含まれる（すなわちＹＥＳ）」と判定する。
【０１５２】
ステップ１３０３において「ＹＥＳ」と判定された場合、コピー制御プログラム１１７は、その時点のカレントコンシステンシグループを選択する（ステップ１３０４）。
【０１５３】
一方、ステップ１３０３において「ＮＯ」と判定された場合、コピー制御プログラム１１７は、未処理のコンシステンシグループ４０２のうち一つを選択して、その選択されたコンシステンシグループがカレントコンシステンシグループとなるようにペアを切り替える。このとき、同期処理のデータ量をなるべく少なくするため、未処理のコンシステンシグループのうち総容量の小さいコンシステンシグループから選択するようにしてもよい（ステップ１３０５）。未処理のコンシステンシグループとは、バックアップ対象として指定された一つ以上のコンシステンシグループ４０２のうち、格納されているデータが今回のフルバックアップ取得処理によってまだテープグループにコピーされていないものを意味する。
【０１５４】
具体的には、ステップ１３０５において、選択された未処理のコンシステンシグループの識別子を、新たに状態管理テーブル１１７４のＣｕｒｒｅｎｔＣＴＧ−ＩＤ１１７４３に登録する。ステップ１３０５の結果、選択された未処理のコンシステンシグループ４０２は、複製用ボリュームグループ４０３とコピーペアを構成する。
【０１５５】
ステップ１３０４又はステップ１３０５が実行された後、処理はステップ１３０６に進む。
【０１５６】
ステップ１３０６において、コピー制御プログラム１１７は、ステップ１３０４又はステップ１３０５において選択されたコンシステンシグループ４０２の差分管理を停止する。以後、ホスト１０２から選択されたコンシステンシグループ４０２への書き込み要求があった場合、ビットマップ４０５は更新されない。そして、書き込みを要求されたデータは選択されたコンシステンシグループ４０２に格納され、さらに、そのデータの複製が複製用ボリュームグループ４０３にも格納される。
【０１５７】
次に、コピー制御プログラム１１７は、正Ｖｏｌ用ビットマップを副Ｖｏｌ用ビットマップにマージする（ステップ１３０７）。図１３〜図１５の説明において、正Ｖｏｌ用ビットマップとは、選択されたコンシステンシグループ４０２に割り当てられたビットマップ４０５を意味する。図１３〜図１５の説明において、副Ｖｏｌ用ビットマップとは、複製用ボリュームグループ４０３に割り当てられたビットマップ４０５のうち、選択されたコンシステンシグループ４０２に対応するビットマップ４０５を意味する。
【０１５８】
具体的には、コピー制御プログラム１１７は、ステップ１３０７において、副Ｖｏｌ用ビットマップの各ビットを、正Ｖｏｌ用ビットマップの対応するビットと比較し、それらのビットのうち少なくとも一方が「ＯＮ」である場合、副Ｖｏｌ用ビットマップのビットを「ＯＮ」にする。さらに、コピー制御プログラム１１７は、ステップ１３０７において、マージが終了すると正Ｖｏｌ用ビットマップの全ビットをクリアする（すなわち、全ビットを「ＯＦＦ」にする）。
【０１５９】
次に、コピー制御プログラム１１７は、同期処理１５００を実行する（ステップ１３０８）。同期処理１５００については、後で詳細に説明する（図１５参照）。同期処理１５００の結果、複製用ボリュームグループ４０３には、選択されたコンシステンシグループ４０２に格納されているものと同一のデータが格納される。
【０１６０】
次に、コピー制御プログラム１１７は、複製用ボリュームグループ４０３に格納されている全データを、バックアップデータとしてテープグループ１４２にコピーする（ステップ１３０９）。具体的には、コピー制御プログラム１１７は、複製用ボリュームグループ４０３に格納されている全データを順次読み出し、読み出されたデータの複製を順次テープグループ１４２に格納する。
【０１６１】
次に、テープ制御プログラム１１９は、テープ管理テーブル１１９１のＫｅｙｗｏｒｄ１１９１３に、ステップ１３０１において指定されたキーワードを登録する（ステップ１３１０）。
【０１６２】
次に、コピー制御プログラム１１７は、ステップ１３０１において指定された全てのコンシステンシグループ４０２の処理が完了したか否か、すなわち、指定された全てのコンシステンシグループ４０２に格納されたデータがテープグループ１４２にコピーされたか否かを判定する（ステップ１３１１）。
【０１６３】
ステップ１３１１において、指定された全てのコンシステンシグループ４０２の処理が完了していないと判定された場合、残りのコンシステンシグループ４０２に対する処理を実行するために、処理はステップ１３０５に戻る。
【０１６４】
一方、ステップ１３１１において、指定された全てのコンシステンシグループ４０２の処理が完了したと判定された場合、フルバックアップ取得処理１３００が終了する。
【０１６５】
図１４は、本発明の第１の実施形態において実行される差分バックアップ取得処理１４００のフローチャートである。
【０１６６】
差分バックアップ取得処理１４００は、コンシステンシグループ４０２に格納されているデータのうち、前回バックアップが実行された後で更新されたデータ（すなわち差分データ）の複製のみをテープグループ１４２に格納する処理である。差分バックアップ取得処理１４００の手順のうち、フルバックアップ取得処理１３００の手順と同様のものについては、説明を省略する。
【０１６７】
差分バックアップ取得処理１４００のうち、ステップ１４０１からステップ１４０６までは、それぞれ、図１３のステップ１３０１からステップ１３０６までと同様である。
【０１６８】
コピー制御プログラム１１７は、ステップ１４０６の次に、正Ｖｏｌ用ビットマップの内容をテープコピー用ビットマップにコピーする（ステップ１４０７）。図１４の説明において、テープコピー用ビットマップとは、バックアップデータのコピー先のテープグループ１４２に割り当てられたビットマップ４０６を意味する。ステップ１４０７の結果、テープコピー用ビットマップの「ＯＮ」ビットに対応するコピー元のコンシステンシグループ４０２の記憶領域のデータは、前回バックアップが実行された後で更新されている。
【０１６９】
続いて実行されるステップ１４０８及びステップ１４０９は、それぞれ、図１３のステップ１３０７及びステップ１３０８と同様である。
【０１７０】
次に、コピー制御プログラム１１７は、ステップ１４０７においてコピーされたテープコピー用ビットマップに基づいて、複製用ボリュームグループ４０３に格納されているデータをテープグループ１４２にコピーする（ステップ１４１０）。具体的には、コピー制御プログラム１１７は、テープコピー用ビットマップの「ＯＮ」に設定されているビットに対応する複製用ボリュームグループ４０３の記憶領域のデータを順次読み出し、読み出されたデータの複製をバックアップデータとしてテープグループ１４２に格納する。さらに、コピー制御プログラム１１７は、このとき参照されたテープコピー用ビットマップも、バックアップデータと同じテープグループ１４２にコピーする。
【０１７１】
続いて実行されるステップ１４１１及びステップ１４１２は、それぞれ、図１３のステップ１３１０及びステップ１３１１と同様である。
【０１７２】
コンシステンシグループ４０２に格納されたデータをバックアップするために、フルバックアップ取得処理１３００又は差分バックアップ取得処理１４００のどちらが実行されてもよい。ただし、最初の世代のバックアップデータは、フルバックアップ取得処理１３００によって取得する必要がある。
【０１７３】
差分バックアップ取得処理１４００によれば、差分データのみがバックアップされるため、使用されるテープ１３２を節約することができる。しかし、差分データを用いてコンシステンシグループ４０２のデータを復元するためには、複数の世代のバックアップデータをマージする必要がある。このため、差分データを用いた復元に要する時間は、フルバックアップデータを用いた復元に要する時間と比較して長くなる。
【０１７４】
図１５は、本発明の第１の実施形態において実行される同期処理１５００のフローチャートである。
【０１７５】
同期処理１５００は、図１３のステップ１３０８及び図１４のステップ１４０９において実行される。
【０１７６】
同期処理１５００が開始されると、コピー制御プログラム１１７は、マージされた副Ｖｏｌ用ビットマップに基づいて、選択されたコンシステンシグループ４０２に格納されているデータを複製用ボリュームグループ４０３にコピーする（ステップ１５０１）。具体的には、コピー制御プログラム１１７は、マージされた副Ｖｏｌ用ビットマップを参照し、「ＯＮ」に設定されているビットに対応する記憶領域に格納されたデータをコンシステンシグループ４０２から読み出し、読み出されたデータの複製を複製用ボリュームグループ４０３に格納する。
【０１７７】
次に、コピー制御プログラム１１７は、ステップ１５０１においてコピーが終了した記憶領域に対応する副Ｖｏｌ用ビットマップのビットを「ＯＦＦ」にする（ステップ１５０２）。さらに、ステップ１５０２においてコピー制御プログラム１１７は、コピー先の複製用ボリュームグループ４０３に割り当てられたビットマップ４０５のうち、現在選択されているコンシステンシグループ４０２以外のコンシステンシグループ４０２に対応するビットマップ４０５において、ステップ１５０１のコピーが終了した記憶領域に対応するビットを「ＯＮ」にする。
【０１７８】
なお、本実施形態では、図１３のステップ１３０７又は図１４のステップ１４０８において、正Ｖｏｌ用ビットマップが副Ｖｏｌ用ビットマップにマージされている。しかし、これらのステップにおいてビットマップ４０５をマージする代わりに、ステップ１５０１において正Ｖｏｌ用ビットマップ及び副Ｖｏｌ用ビットマップの両方が参照されてもよい。いずれの場合であっても、結局、正Ｖｏｌ用ビットマップ及び副Ｖｏｌ用ビットマップの少なくとも一方で「ＯＮ」に設定されているビットに対応するコンシステンシグループ４０２の記憶領域に格納されたデータがコピーされる（ステップ１５０１）。そして、コピーが終了した記憶領域に対応する正Ｖｏｌ用ビットマップ及び副Ｖｏｌ用ビットマップのビットが「ＯＦＦ」に設定される（ステップ１５０２）。
【０１７９】
次に、コピー制御プログラム１１７は、まだ同期していないデータがあるか否か、すなわち、マージされた副Ｖｏｌ用ビットマップがまだ「ＯＮ」ビットを含んでいるか否かを判定する（ステップ１５０３）。
【０１８０】
マージされた副Ｖｏｌ用ビットマップがまだ「ＯＮ」ビットを含んでいると判定された場合、まだ同期していないデータが存在する。すなわち、複製用ボリュームグループ４０３に格納されているデータは、まだ選択されたコンシステンシグループ４０２に格納されているデータと一致していない。この場合、処理はステップ１５０１に戻り、ステップ１５０１以降の処理が繰り返し実行される。
【０１８１】
一方、マージされた副Ｖｏｌ用ビットマップが「ＯＮ」ビットを含んでいないと判定された場合、複製用ボリュームグループ４０３に格納されているデータは、選択されたコンシステンシグループ４０２に格納されているデータと一致した。この場合、コピー制御プログラム１１７は、選択されたコンシステンシグループ４０２及び複製用ボリュームグループ４０３からなるコピーペアの状態を「静止化」に変更し、差分管理を再開する（ステップ１５０４）。以後、ホスト１０２から選択されたコンシステンシグループ４０２への書き込み要求があった場合、コントローラ１１０は、書き込みを要求されたデータを、選択されたコンシステンシグループ４０２のみに格納する。さらに、コントローラ１１０は、書き込みを要求されたデータが格納された領域に対応する正Ｖｏｌ用ビットマップのビットを「ＯＮ」に設定する。
【０１８２】
以上で同期処理１５００が終了する。
【０１８３】
図１６は、本発明の第１の実施形態において実行されるテープからのリストア処理１６００のフローチャートである。
【０１８４】
テープからのリストア処理１６００は、テープグループ１４２に格納されたバックアップデータを使用して、コンシステンシグループ４０２を復元（リストア）する処理である。
【０１８５】
指示プログラム２２０がリストア指示を発行すると（ステップ１６０１）、テープからのリストア処理１６００が開始される。リストア指示には、これから復元しようとするコンシステンシグループ４０２の識別子及びキーワードを指定する情報が含まれる。例えば、ユーザがこれらの識別子及びキーワードを指定して、リストア指示の発行を指示プログラムに実行させることができる。このとき、ユーザは、これから復元しようとする複数のコンシステンシグループ４０２の識別子と、それに対応するキーワードとを指定することもできる。
【０１８６】
リストア指示を受信したコントローラ１１０のテープ制御プログラム１１９は、テープ管理テーブル１１９１を参照して、指定されたキーワードに対応するテープグループ１４２及びテープ１３２を特定する（ステップ１６０２）。
【０１８７】
次に、テープライブラリ装置１３０は、特定されたテープ１３２をテープドライブ１３１に装着する（ステップ１６０３）。
【０１８８】
次に、コピー制御プログラム１１７は、複製グループ管理テーブル１１７３を参照して、特定されたテープ１３２に格納されているデータを、指定されたコンシステンシグループ４０２の論理ボリューム１４０にコピーする（ステップ１６０４）。このとき、コピー制御プログラム１１７は、特定されたテープ１３２に格納されているデータを、そのデータがかつて格納されていた論理ボリューム１４０以外の論理ボリューム１４０にコピーしてもよい。
【０１８９】
次に、コピー制御プログラム１１７は、特定されたテープグループ１４２が次のテープ１３２を含むか否か、言い換えると、特定されたテープグループ１４２が、まだステップ１６０４におけるコピーが実行されていないテープ１３２を含むか否かを判定する（ステップ１６０５）。
【０１９０】
特定されたテープグループ１４２が次のテープ１３２を含むと判定された場合、次のテープ１３２のデータをコピーするために、処理はステップ１６０３に戻る。
【０１９１】
一方、特定されたテープグループ１４２が次のテープ１３２を含まないと判定された場合、特定されたテープグループ１４２の全てのデータがコンシステンシグループ４０２にコピーされた。この場合、コピー制御プログラム１１７は、指定された全てのコンシステンシグループ４０２の復元が完了したか否かを判定する（ステップ１６０６）。
【０１９２】
指定された全てのコンシステンシグループ４０２の復元が完了していないと判定された場合、残りのコンシステンシグループ４０２の復元を実行するために、処理はステップ１６０２に戻る。
【０１９３】
一方、指定された全てのコンシステンシグループ４０２の復元が完了したと判定された場合、テープからのリストア処理１６００が終了する。
【０１９４】
以上、本発明の第１の実施形態によれば、複数の正Ｖｏｌが、データのコピー先として一つの副Ｖｏｌを共有する。その結果、副Ｖｏｌに割り当てられる記憶領域を節約することができる。このため、アプリケーションの処理性能に影響を与えないＤ２Ｄ２Ｔバックアップを、低コストで実現することができる。
【０１９５】
次に、本発明の第２の実施形態について説明する。
【０１９６】
図１７は、本発明の第２の実施形態の計算機システムの構成を示すブロック図である。
【０１９７】
本実施形態の計算機システムは、ストレージシステム１０１Ａ、ストレージシステム１０１Ｂ、ホスト１０２、管理端末１０３Ａ及び管理端末１０３Ｂを備える。
【０１９８】
ストレージシステム１０１Ａ及び１０１Ｂは、第１の実施形態のストレージシステム１０１（図１及び図２参照）と同様であるため、詳細な説明を省略する。すなわち、コントローラ１１０Ａ及び１１０Ｂは、コントローラ１１０に相当する。コピー制御プログラム１１７Ａ及び１１７Ｂは、コピー制御プログラム１１７に相当する。ディスク制御プログラム１１８Ａ及び１１８Ｂは、ディスク制御プログラム１１８に相当する。テープ制御プログラム１１９Ａ及び１１９Ｂは、テープ制御プログラム１１９に相当する。ディスク装置１２０Ａ〜１２０Ｄは、図１に示すディスク装置１２０Ａ等に相当する。テープライブラリ装置１３０Ａ及び１３０Ｂは、テープライブラリ装置１３０に相当する。テープドライブＡ１３１Ａ及びテープドライブＣ１３１Ｃは、図１に示すテープドライブＡ１３１Ａ等に相当する。テープＡ１３２Ａ及びテープＣ１３２Ｃは、図１に示すテープＡ１３２Ａ等に相当する。
【０１９９】
ストレージシステム１０１Ａ及び１０１Ｂは、第１の実施形態と同様、ネットワーク１０５を介してホスト１０２と接続される。
【０２００】
ホスト１０２は、第１の実施形態のホスト１０２と同様であるため、説明を省略する。
【０２０１】
管理端末１０３Ａ及び管理端末１０３Ｂは、第１の実施形態の管理端末１０３と同様であるため、詳細な説明を省略する。管理プログラム３１０Ａ及び３１０Ｂは、管理プログラム３１０に相当する。ただし、本実施形態の管理端末１０３Ａは、ネットワーク１０４Ａを介してホスト１０２及びストレージシステム１０１Ａと接続される。一方、管理端末１０３Ｂは、ネットワーク１０４Ｂを介してストレージシステム１０１Ｂと接続される。
【０２０２】
ネットワーク１０４Ａ及び１０４Ｂは、第１の実施形態のネットワーク１０４と同様である。
【０２０３】
図１７に示すように、複数のストレージシステム１０１を含む計算機システムにも、第１の実施形態と同様の処理を適用することができる。
【０２０４】
例えば、図４におけるＬＵＮ０〜ＬＵＮ８がストレージシステム１０１Ａのディスク装置１２０Ａ等に作成され、ＬＵＮ１０〜ＬＵＮ１４がストレージシステム１０１Ｂのディスク装置１２０Ｃ等に作成され、ＴＧ１０〜ＴＧ３２がストレージシステム１０１Ｂのテープライブラリ装置１３０Ｂ内に作成されてもよい。この場合、正Ｖｏｌから副Ｖｏｌにコピーされるデータは、ネットワーク１０５を介してストレージシステム１０１Ａからストレージシステム１０１Ｂに転送される。
【０２０５】
この場合、ＢＭ０〜ＢＭ８は、ストレージシステム１０１Ａによって保持され、コントローラ１１０Ａによって更新される。ＢＭ１０〜ＢＭ１８及びＢＭ２０〜２８は、ストレージシステム１０１Ｂによって保持され、コントローラ１１０Ｂによって更新される。
【０２０６】
この場合、コントローラ１１０Ａとコントローラ１１０Ｂは、図６〜図１１に示すテーブルを保持する。なお、コントローラ１１０Ａは、図６〜図１１のうち、図１１のテープ管理テーブルを保持していなくてもよい。そして、図１２〜図１６に示す処理のうち、第１の実施形態でコピー制御プログラム１１７が実行する処理は、コピー制御プログラム１１７Ａとコピー制御プログラム１１７Ｂとが協同で実行する。第１の実施形態においてディスク制御プログラム１１８が実行する処理は、ディスク制御プログラム１１８Ａとディスク制御プログラム１１８Ｂが協同で実行する。第１の実施形態においてテープ制御プログラム１１９が実行する処理は、テープ制御プログラム１１９Ｂが実行する。
【０２０７】
コピー制御プログラム１１７Ａとコピー制御プログラム１１７Ｂとの間、ディスク制御プログラム１１８Ａとディスク制御プログラム１１８Ｂの間では、協同して処理を実行するために、適宜ネットワーク１０９を介した通信によって、処理に必要な情報がやりとりされる。この情報のやりとりは、管理端末１０３を介して行われてもよい。
【０２０８】
なお、第２の実施形態においては、論理ボリュームを識別するための識別情報として、第１の実施形態において用いられたＬＵＮに加え、各ストレージシステム１０１の識別情報が用いられてもよい。
【０２０９】
以上、本発明の第２の実施形態によれば、正Ｖｏｌと副Ｖｏｌが異なるストレージシステム１０１に含まれる場合にも、本発明を適用することによって、副Ｖｏｌに割り当てられる記憶領域を節約することができる。このため、アプリケーションの処理性能に影響を与えないＤ２Ｄ２Ｔバックアップを、低コストで実現することができる。
【図面の簡単な説明】
【０２１０】
【図１】本発明の第１の実施形態の計算機システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態のコントローラの構成を示すブロック図である。
【図３】本発明の第１の実施形態のディスク装置が提供する記憶領域の説明図である。
【図４】本発明の第１の実施形態において実行されるバックアップの概要の説明図である。
【図５】本発明の第１の実施形態のテープグループの説明図である。
【図６】本発明の第１の実施形態のＣＴＧ管理テーブルの説明図である。
【図７】本発明の第１の実施形態の複製用ＶｏｌＧ管理テーブルの説明図である。
【図８】本発明の第１の実施形態の複製グループ管理テーブルの説明図である。
【図９】本発明の第１の実施形態の状態管理テーブルの説明図である。
【図１０】本発明の第１の実施形態のディスク管理テーブルの説明図である。
【図１１】本発明の第１の実施形態のテープ管理テーブルの説明図である。
【図１２】本発明の第１の実施形態において実行される複製用ボリュームグループ作成処理のフローチャートである。
【図１３】本発明の第１の実施形態において実行されるフルバックアップ取得処理のフローチャートである。
【図１４】本発明の第１の実施形態において実行される差分バックアップ取得処理のフローチャートである。
【図１５】本発明の第１の実施形態において実行される同期処理のフローチャートである。
【図１６】本発明の第１の実施形態において実行されるテープからのリストア処理のフローチャートである。
【図１７】本発明の第２の実施形態の計算機システムの構成を示すブロック図である。
【符号の説明】
【０２１１】
１０１、１０１Ａ、１０１Ｂ  ストレージシステム
１１０、１１０Ａ、１１０Ｂ  コントローラ
１１１  メモリ
１１２  ＣＰＵ
１１３  上位インターフェース（Ｉ／Ｆ）
１１４  下位Ｉ／Ｆ
１１５  Ｉ／Ｆ
１１６  ブリッジ
１１７、１１７Ａ、１１７Ｂ  コピー制御プログラム
１１８、１１８Ａ、１１８Ｂ  ディスク制御プログラム
１１９、１１９Ａ、１１９Ｂ  テープ制御プログラム
１２０Ａ〜１２０Ｄ  ディスク装置
１３０、１３０Ａ、１３０Ｂ  テープライブラリ装置
１３１Ａ、１３１Ｂ  テープドライブ
１３２Ａ〜１３２Ｎ  テープ
１４０Ａ〜１４０Ｎ  論理ボリューム
１４２Ａ〜１４２Ｒ  テープグループ
４０１Ａ、４０１Ｂ  複製グループ
４０２Ａ〜４０２Ｄ  コンシステンシグループ
４０３Ａ、４０３Ｂ  複製用ボリュームグループ
４０５Ａ〜４０５Ｒ、４０６Ａ〜４０６Ｉ  ビットマップ
【図１】
0004990064.tif 000002
【図２】
0004990064.tif 000003
【図３】
0004990064.tif 000004
【図５】
0004990064.tif 000005
【図６】
0004990064.tif 000006
【図７】
0004990064.tif 000007
【図８】
0004990064.tif 000008
【図９】
0004990064.tif 000009
【図１０】
0004990064.tif 000010
【図１１】
0004990064.tif 000011
【図１２】
0004990064.tif 000012
【図１３】
0004990064.tif 000013
【図１４】
0004990064.tif 000014
【図１５】
0004990064.tif 000015
【図１６】
0004990064.tif 000016
【図１７】
0004990064.tif 000017
【図４】
0004990064.tif 000018