(57)【要約】【課題】バックアップサーバー不要でバックアップ及びリストアができ、バックアップを行った記憶サブシステムにリストア必要情報がなくても、一部バックアップされたデータのリストアが可能であるようにする。【解決手段】フルバックアップ後の論理ボリュームとシーケンシャル装置群との差分を表す情報である差分管理情報を、該論理ボリュームの更新に応じて更新する。論理ボリュームとシーケンシャル装置群との差分に相当するデータである一部データを、更新後の差分管理情報を用いて特定し、該一部データを用いて更新後の論理ボリューム内のデータ群をリストアするために必要なリストア必要情報をシーケンシャル装置群に記録し、且つ、該一部データを更新後の論理ボリュームからシーケンシャル装置群にバックアップする。【選択図】図１
2008059443.tif 000002
【特許請求の範囲】
【請求項１】
シーケンシャルアクセスは高速に処理できるがランダムアクセスは高速に処理できないタイプの記憶装置であるシーケンシャルアクセス型記憶装置を複数個と、前記シーケンシャルアクセス型記憶装置よりランダムアクセスを高速に処理できるタイプの記憶装置であるランダムアクセス型記憶装置を一つ以上とを有し、前記一以上のランダムアクセス型記憶装置上の論理ボリューム内のデータを前記シーケンシャルアクセス型記憶装置にバックアップする記憶システムであって、
前記複数のシーケンシャルアクセス型記憶装置から成るシーケンシャル装置群に前記論理ボリューム内の全てのデータを該論理ボリュームから前記シーケンシャル装置群にバックアップすることであるフルバックアップを実行するフルバックアップ部と、
前記フルバックアップ後の前記論理ボリュームと前記シーケンシャル装置群との差分を表す情報である差分管理情報を記憶する差分管理情報記憶部と、
前記論理ボリュームの更新に応じて前記差分管理情報を更新する差分管理部と、
前記論理ボリュームと前記シーケンシャル装置群との差分に相当するデータである一部データを前記更新後の差分管理情報を用いて特定し、該一部データを用いて前記更新後の論理ボリューム内のデータ群をリストアするために必要なリストア必要情報を前記シーケンシャル装置群に記録し、且つ、該一部データを前記更新後の論理ボリュームから前記シーケンシャル装置群にバックアップすることである一部バックアップを実行する一部バックアップ部と
を備える記憶システム。
【請求項２】
前記一部バックアップ部は、前記リストア必要情報に、前記更新後の差分管理情報を含め、
前記差分管理部は、前記一部バックアップが行われた場合、前記更新後の差分管理情報をリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後の差分管理情報を更新する、
請求項１記載の記憶システム。
【請求項３】
前記差分管理情報は、ビットマップであり、
前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応しており、
前記一部バックアップ部は、前記リストア必要情報に、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含める、
請求項１記載の記憶システム。
【請求項４】
前記シーケンシャル装置群へのバックアップによって消費された、該シーケンシャル装置群の記憶領域をバックアップ単位として表すバックアップ単位管理情報を記憶するバックアップ管理記憶部を更に備えた、
請求項１記載の記憶システム。
【請求項５】
前記フルバックアップ或いは前記一部バックアップが終了したときに、前記バックアップ単位管理情報に、該バックアップにより消費された記憶領域を一つのバックアップ単位として表す情報を追加するバックアップ単位管理部を更に備えた、
請求項４記載の記憶システム。
【請求項６】
前記一以上のランダムアクセス型記憶装置には複数の論理ボリュームがあり、
前記一部バックアップ部は、前記複数の論理ボリュームの各々について前記一部バックアップを行い、
前記バックアップ単位管理部が、前記各々の一部バックアップによって各々記録されたデータを含んだ記憶領域を前記バックアップ単位とする、
請求項５記載の記憶システム。
【請求項７】
前記バックアップ単位管理部は、前記バックアップ単位管理情報に、各バックアップ単位毎に、バックアップ単位識別子と、バックアップの種別を表すバックアップ種別と、バックアップの順序を表す順序情報とを含め、
前記一部バックアップ部が、該一部バックアップのリストアに必要なデータのバックアップが記録されているバックアップ単位を、前記バックアップ単位管理情報中の順序情報とバックアップ種別とを基に特定し、該特定されたバックアップ単位のバックアップ単位識別子と、一部バックアップであることを表すバックアップ種別とを、前記リストア必要情報に含める、
請求項５記載の記憶システム。
【請求項８】
前記一部バックアップ部は、前記リストア必要情報を前記一部データよりも前記シーケンシャル装置群の上流側に記録する、
請求項１記載の記憶システム。
【請求項９】
前記一部バックアップ部は、前記フルバックアップにより記録された前記全てのデータよりも下流側に前記リストア必要情報及び前記一部データを記録する、
請求項１記載の記憶システム。
【請求項１０】
前記シーケンシャル装置群に記録された前記リストア必要情報を用いて前記更新後の論理ボリュームをリストアするリストア部を更に備えた、
請求項１記載の記憶システム。
【請求項１１】
前記差分管理情報は、ビットマップであり、
前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応しており、
前記一部バックアップ部は、前記リストア必要情報に、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含め、
前記リストア部は、前記リストア必要情報中の前記記憶サイズと前記記憶容量とに基づいて、前記更新後の論理ボリュームをリストアする、
請求項１０記載の記憶システム。
【請求項１２】
前記論理ボリュームは、コピー元である正論理ボリュームとコピー先である副論理ボリュームとで構成されるボリュームペアのうちの前記副論理ボリュームである、
請求項１記載の記憶システム。
【請求項１３】
前記一部バックアップは、差分バックアップと増分バックアップとのいずれか一方である、
請求項１記載の記憶システム。
【請求項１４】
前記差分管理情報は、ビットマップであり、
前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応しており、
前記一部バックアップ部は、前記リストア必要情報に、更新後の前記ビットマップと、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含め、前記フルバックアップにより記録された前記全てのデータよりも下流側に前記リストア必要情報及び前記一部データを記録し、その際、該リストア必要情報を、該一部データよりも前記シーケンシャル装置群の上流側に記録し、
前記差分管理部は、前記一部バックアップが行われた場合、前記更新後のビットマップをリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後のビットマップを更新し、
前記一部バックアップは、差分バックアップと増分バックアップとのいずれか一方である、
請求項１記載の記憶システム。
【請求項１５】
前記ビットマップとして、差分バックアップ用のビットマップと、増分バックアップ用のビットマップとがあり、
前記増分バックアップの場合には、前記リストア必要情報に、前記増分バックアップ用のビットマップが含められる、
請求項１４記載の記憶システム。
【請求項１６】
シーケンシャルアクセスは高速に処理できるがランダムアクセスは高速に処理できないタイプの記憶装置であるシーケンシャルアクセス型記憶装置を複数個と、前記シーケンシャルアクセス型記憶装置よりランダムアクセスを高速に処理できるタイプの記憶装置であるランダムアクセス型記憶装置を一つ以上とを有する記憶システムで、前記一以上のランダムアクセス型記憶装置上の論理ボリューム内のデータを前記シーケンシャルアクセス型記憶装置にバックアップする方法であって、
前記複数のシーケンシャルアクセス型記憶装置から成るシーケンシャル装置群に前記論理ボリューム内の全てのデータを該論理ボリュームから前記シーケンシャル装置群にバックアップすることであるフルバックアップを実行し、
前記フルバックアップ後の前記論理ボリュームと前記シーケンシャル装置群との差分を表す情報である差分管理情報を、前記論理ボリュームの更新に応じて前記差分管理情報を更新し、
前記論理ボリュームと前記シーケンシャル装置群との差分に相当するデータである一部データを前記更新後の差分管理情報を用いて特定し、該一部データを用いて前記更新後の論理ボリューム内のデータ群をリストアするために必要なリストア必要情報を前記シーケンシャル装置群に記録し、且つ、該一部データを前記更新後の論理ボリュームから前記シーケンシャル装置群にバックアップすることである一部バックアップを実行する、
バックアップ方法。
【請求項１７】
前記リストア必要情報に、前記更新後の差分管理情報を含め、
前記一部バックアップが行われた場合、前記更新後の差分管理情報をリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後の差分管理情報を更新する、
請求項１６記載のバックアップ方法。
【請求項１８】
前記差分管理情報は、ビットマップであり、
前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応しており、
前記リストア必要情報に、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含める、
請求項１６記載のバックアップ方法。
【請求項１９】
前記シーケンシャル装置群に記録された前記リストア必要情報を用いて前記更新後の論理ボリュームをリストアする、
請求項１６記載のバックアップ方法。
【請求項２０】
前記差分管理情報は、ビットマップであり、
前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応しており、
前記リストア必要情報に、更新後の前記ビットマップと、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含め、
前記一部バックアップでは、前記フルバックアップにより記録された前記全てのデータよりも下流側に前記リストア必要情報及び前記一部データを記録し、その際、該リストア必要情報を、該一部データよりも前記シーケンシャル装置群の上流側に記録し、
前記一部バックアップが行われた場合、前記更新後のビットマップをリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後のビットマップを更新し、
前記一部バックアップは、差分バックアップと増分バックアップとのいずれか一方である、
請求項１６記載のバックアップ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのバックアップのための技術に関する。
【背景技術】
【０００２】
例えば、特開平１１−２１２８７５号公報には、主サブシステムと副サブシステムから構成される記憶サブシステムにおいて、主サブシステムが、上位装置から受信したデータを、副サブシステムにフルバックアップ及び差分バックアップを行う方法が開示されている。また、副サブシステムにバックアップされたデータから、データリストアを行う方法も開示されている。
【０００３】
【特許文献１】特開平１１−２１２８７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば、計算機、ディスクストレージ及びテープライブラリ装置を、SAN（Storage Area Network）と呼ばれる通信ネットワークに接続し、バックアップ処理用のサーバー（以下、バックアップサーバーと称する）により、ディスクストレージに記憶されたデータをテープライブラリ装置へバックアップする方法がある。この場合、バックアップ対象のデータがバックアップサーバーを経由してバックアップされる。そのため、バックアップ性能は、バックアップサーバーに依存し、バックアップサーバーの処理性能が低い場合は、バックアップに要する時間が長大化してしまうという課題がある。
【０００５】
これと同様の課題は、例えば、バックアップされたデータを、バックアップと逆の流れでリストアする場合、具体的には、テープライブラリ装置からバックアップサーバーを経由してディスクストレージにデータをリストアする場合にも、存在し得る。
【０００６】
これらの課題は、特開平１１−２１２８７５号公報で開示されているバックアップ方法によって解決可能である。しかし、そのバックアップ方法によれば、差分バックアップの場合は、データをテープに記録し、データのリストアに必要な情報、例えば、データの差分を管理するための情報（以下、差分データ情報）は、副サブシステムの制御メモリに格納されている。そのため、データリストア処理は、テープに記録されているデータと、副サブシステムの制御メモリに記憶されている差分データ情報との両方を使って、行われる。そのため、例えば、障害などによって、副サブシステムの制御メモリの情報が失われてしまった場合、差分バックアップされたデータのリストアを行うことができないという課題がある。
【０００７】
また、差分データ情報を副サブシステムの制御メモリに格納するため、複数世代の差分バックアップを行うためには、それぞれの世代の差分データ情報を格納できるだけの記憶容量が制御メモリに必要となり、差分バックアップが行える世代数は制御メモリの記憶容量に制限されるという課題がある。
【０００８】
これと同様の課題は、差分バックアップに限らず、差分データ情報などリストアに必要な情報（以下、リストア必要情報）が無いとリストアすることのできないタイプのバックアップ（以下、便宜上、「一部バックアップ」と称する）、例えば増分バックアップを行う場合にも存在し得る。
【０００９】
従って、本発明の目的は、バックアップサーバー不要でバックアップ及びリストアができ、バックアップを行った記憶サブシステムにリストア必要情報がなくても、一部バックアップされたデータのリストアが可能であるようにする。
【００１０】
本発明の更なる目的は、差分管理できる世代数が、記憶サブシステムのメモリの記憶容量に制限されないようにすることにある。
【００１１】
本発明の他の目的は、後述の説明から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本発明に従う記憶システムは、シーケンシャルアクセスは高速に処理できるがランダムアクセスは高速に処理できないタイプの記憶装置であるシーケンシャルアクセス型記憶装置を複数個と、前記シーケンシャルアクセス型記憶装置よりランダムアクセスを高速に処理できるタイプの記憶装置であるランダムアクセス型記憶装置を一つ以上とを有し、前記一以上のランダムアクセス型記憶装置上の論理ボリューム内のデータを前記シーケンシャルアクセス型記憶装置にバックアップする。この記憶システムは、前記複数のシーケンシャルアクセス型記憶装置から成るシーケンシャル装置群に前記論理ボリューム内の全てのデータを該論理ボリュームから前記シーケンシャル装置群にバックアップすることであるフルバックアップを実行するフルバックアップ部と、前記フルバックアップ後の前記論理ボリュームと前記シーケンシャル装置群との差分を表す情報である差分管理情報を記憶する差分管理情報記憶部と、前記論理ボリュームの更新に応じて前記差分管理情報を更新する差分管理部と、前記論理ボリュームと前記シーケンシャル装置群との差分に相当するデータである一部データを前記更新後の差分管理情報を用いて特定し、該一部データを用いて前記更新後の論理ボリューム内のデータ群をリストアするために必要なリストア必要情報を前記シーケンシャル装置群に記録し、且つ、該一部データを前記更新後の論理ボリュームから前記シーケンシャル装置群にバックアップすることである一部バックアップを実行する一部バックアップ部とを備える。ランダムアクセス型記憶装置としては、ハードディスク、フラッシュメモリなど種々の記憶装置を採用することができる。同様に、シーケンシャルアクセス型記憶装置としても、磁気テープなど、種々の記憶装置を採用することができる。
【００１３】
この記憶システムは、例えば、一又は複数の記憶サブシステムで構成することができる。一つの記憶サブシステムには、例えば、ホスト計算機或いは他の記憶サブシステムといった上位装置が接続されて良い。
【００１４】
また、前記論理ボリュームに対する新たなデータは、該論理ボリュームに書込まれても良いし、該論理ボリュームと対応付けられた別の論理ボリュームに書込まれても良い。後者の場合、前記更新後の論理ボリュームとは、前記論理ボリュームと該別の論理ボリュームとの組み合わせとすることができる。
【００１５】
第一の実施態様では、前記一部バックアップ部は、前記リストア必要情報に、前記更新後の差分管理情報を含める。前記差分管理部は、前記一部バックアップが行われた場合、前記更新後の差分管理情報をリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後の差分管理情報を更新する。
【００１６】
第二の実施態様では、前記差分管理情報は、ビットマップである。前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応している。前記一部バックアップ部は、前記リストア必要情報に、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含める。
【００１７】
第三の実施態様では、前記シーケンシャル装置群へのバックアップによって消費された、該シーケンシャル装置群の記憶領域をバックアップ単位として表すバックアップ単位管理情報を記憶するバックアップ管理記憶部が更に備えられる。
【００１８】
第四の実施態様では、前記第三の実施態様において、前記フルバックアップ或いは前記一部バックアップが終了したときに、前記バックアップ単位管理情報に、該バックアップにより消費された記憶領域を一つのバックアップ単位として表す情報を追加するバックアップ単位管理部が更に備えられる。
【００１９】
第五の実施態様では、前記第四の実施態様において、前記一以上のランダムアクセス型記憶装置には複数の論理ボリュームがある。前記一部バックアップ部は、前記複数の論理ボリュームの各々について前記一部バックアップを行う。前記バックアップ単位管理部が、前記各々の一部バックアップによって各々記録されたデータを含んだ記憶領域を前記バックアップ単位とする。
【００２０】
第六の実施態様では、前記第四の実施態様において、前記バックアップ単位管理部は、前記バックアップ単位管理情報に、各バックアップ単位毎に、バックアップ単位識別子と、バックアップの種別を表すバックアップ種別と、バックアップの順序を表す順序情報とを含める。前記一部バックアップ部が、該一部バックアップのリストアに必要なデータのバックアップが記録されているバックアップ単位を、前記バックアップ単位管理情報中の順序情報とバックアップ種別とを基に特定し、該特定されたバックアップ単位のバックアップ単位識別子と、一部バックアップであることを表すバックアップ種別とを、前記リストア必要情報に含める。
【００２１】
第七の実施態様では、前記一部バックアップ部は、前記リストア必要情報を前記一部データよりも前記シーケンシャル装置群の上流側に記録する。
【００２２】
第八の実施態様では、前記一部バックアップ部は、前記フルバックアップにより記録された前記全てのデータよりも下流側に前記リストア必要情報及び前記一部データを記録する。
【００２３】
第九の実施態様では、前記シーケンシャル装置群に記録された前記リストア必要情報を用いて前記更新後の論理ボリュームをリストアするリストア部が更に備えられる。
【００２４】
第十の実施態様では、前記第九の実施態様において、前記差分管理情報は、ビットマップである。前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応している。前記一部バックアップ部は、前記リストア必要情報に、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含める。前記リストア部は、前記リストア必要情報中の前記記憶サイズと前記記憶容量とに基づいて、前記更新後の論理ボリュームをリストアする。
【００２５】
第十一の実施態様では、前記論理ボリュームは、コピー元である正論理ボリュームとコピー先である副論理ボリュームとで構成されるボリュームペアのうちの前記副論理ボリュームである。正論理ボリューム及び副論理ボリュームは、一つの記憶サブシステムにあっても良いし、別々の記憶サブシステムにあってもよい。
【００２６】
第十二の実施態様では、前記一部バックアップは、差分バックアップと増分バックアップとのいずれか一方である。
【００２７】
第十三の実施態様では、前記差分管理情報は、ビットマップである。前記ビットマップの各ビットが、前記論理ボリュームの各ボリューム部分に対応している。前記一部バックアップ部は、前記リストア必要情報に、更新後の前記ビットマップと、前記ビットマップのビットに対応した前記ボリューム部分の記憶サイズと、前記論理ボリュームの記憶容量とを含め、前記フルバックアップにより記録された前記全てのデータよりも下流側に前記リストア必要情報及び前記一部データを記録し、その際、該リストア必要情報を、該一部データよりも前記シーケンシャル装置群の上流側に記録する。前記差分管理部は、前記一部バックアップが行われた場合、前記更新後のビットマップをリセットし、その後に前記論理ボリュームが更新された場合には、該リセット後のビットマップを更新する。前記一部バックアップは、差分バックアップと増分バックアップとのいずれか一方である。
【００２８】
第十四の実施態様では、前記第十三の実施態様において、前記ビットマップとして、差分バックアップ用のビットマップと、増分バックアップ用のビットマップとがある。前記増分バックアップの場合には、前記増分バックアップ用のビットマップが含められる。
【００２９】
上述した各記憶部は、例えば、メモリなどの記憶資源により構築することができる。また、他の各部は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ（例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること）により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、ＣＤ−ＲＯＭ等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
【発明の効果】
【００３０】
本発明によれば、バックアップサーバー不要でバックアップ及びリストアができ、バックアップを行った記憶サブシステムにリストア必要情報がなくても、一部バックアップされたデータのリストアが可能であり、且つ、差分管理できる世代数が、記憶サブシステムのメモリの記憶容量に制限されないようにすることができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照して、本発明の幾つかの実施例を説明する。なお、以下の説明では、バックアップのタイプとして、フルバックアップと、差分バックアップと、増分バックアップの３タイプがあるものとする。これら３タイプのバックアップのうち、差分バックアップ及び増分バックアップが、一部バックアップに属するタイプのバックアップである。以下、３タイプのバックアップのうちの２以上のバックアップタイプを言う場合、スラッシュ“/”を使ってまとめて記載することとする。例えば、３タイプのバックアップの全てを指す場合には、フル/差分/増分バックアップと記載することにする。なお、そのときの“/”は、「及び／又は」という意味で使用される。
【実施例１】
【００３２】
例えば、この第一実施例では、記憶システムが、一台の記憶サブシステムであり、上位装置が、ホスト計算機であり、ランダムアクセス型記憶装置が、磁気ディスク（以下、単に「ディスク」と言う）であり、シーケンシャルアクセス型記憶装置が、磁気テープ（以下、単に「テープ」と言う）である。
【００３３】
この第一実施例では、前記記憶サブシステムに接続された管理端末が備えられる。また、記憶サブシステムには、複数のテープを備えるテープライブラリ装置と、ディスクとテープライブラリ装置を制御するコントローラとが備えられる。
【００３４】
前記コントローラは、前記ディスクを制御するディスク制御プログラムと、前記テープライブラリ装置を制御するテープライブラリ制御プログラムと、ディスクからテープへのコピー制御を行うバックアップ/リストア制御プログラムとを備える。
【００３５】
前記テープライブラリ装置は、テープの移動を行うロボットと、テープへの読込み/書込み（アクセス）を行うテープドライブと、テープをテープライブラリ装置からエクスポート/インポートするテープエクスポート/インポートスロットとを備える。
【００３６】
前記ホスト計算機は、前記記憶サブシステムにデータの書込み/読込みを行うアプリケーションと、前記記憶サブシステムにボリュームのペア制御指示を送信するボリュームのペア制御指示プログラムと、前記記憶サブシステムにバックアップ/リストア制御指示を送信するバックアップ/リストア制御指示プログラムと、前記アプリケーション、ボリュームの制御指示プログラム及びバックアップ/リストア制御指示プログラムの制御を行うCPUとを備える。
【００３７】
前記ディスク制御プログラムは、前記ホスト計算機から前記ボリュームのペア制御指示を受信し、前記ボリュームのペア制御指示に応答して、ディスクのボリュームのペア制御を行う。前記バックアップ/リストア制御プログラムは、前記ホスト計算機から前記バックアップ/リストア制御指示を受信し、前記バックアップ/リストア制御指示に応答して、ディスクからテープへのバックアップ及びテープからディスクへのリストアを行い、その際、バックアップデータ及びバックアップ間差分データの管理を行う。前記テープライブラリ制御プログラムは、前記管理端末からテープインポート指示を受信し、前記テープインポート指示に応答して、テープインポートを行い、また、前記管理端末からテープエクスポート指示を受信し、前記テープエクスポート指示に応答して、テープエクスポートを行う。
【００３８】
具体的には、前記ディスク制御プログラムは、前記ボリュームのペア制御指示によって、前記ディスクにおいて正ボリュームと副ボリュームのペアを作成することができる。前記ディスク制御プログラムは、正ボリュームと副ボリュームの差分データ管理ができ、前記ボリュームのペア制御指示によって、差分データコピーやペア分割ができる。前記バックアップ/リストア制御プログラムは、バックアップ間の差分データ管理ができ、前記バックアップ制御指示によって、ペア分割された副ボリュームをテープにフル/差分/増分バックアップすることができ、その際、差分/増分バックアップの場合は、バックアップ対象のデータだけでなく、リストア必要情報もテープに格納することができる。前記バックアップ/リストア制御プログラムは、前記リストア制御指示によって、テープに格納されたフル/差分/増分バックアップデータから前記ペア分割された副ボリュームにデータを回復でき、その際、差分/増分バックアップデータからのリストアの場合は、テープに格納されているリストア必要情報を使用して、データリストアができる。前記ディスク制御プログラムは、前記ボリュームのペア制御指示によって、前記データリストアが行われた副ボリュームを正ボリュームにコピーすることができる。また、バックアップを行った記憶サブシステムとは別の記憶サブシステムでも、テープに格納されたフル/差分/増分バックアップデータからデータリストアができる。リストア必要情報がテープに記録されているためである。前記テープライブラリ制御プログラムは、前記テープエクスポート指示によって、前記記憶サブシステムからテープをエクスポートすることができる。前記テープライブラリ制御プログラムは、前記テープインポート指示によって、前記記憶サブシステムにテープをインポートすることができ、さらに、前記インポートされたテープからデータリストアすることができる。
【００３９】
以下、この第一実施例について詳述する。
【００４０】
図１は、本発明の第一実施例に係る計算機システムの構成例を示す。図２は、図１のコントローラ１２３の構成例を示した図である。
【００４１】
ホスト計算機１００、記憶サブシステム１０１及び管理端末１０３は、ファイバチャネルを用いて接続されており、情報や処理要求等の受け渡しが行われる。ホスト計算機１００、記憶サブシステム１０１及び管理端末１０３は、ＬＡＮ（Local Area Network）等の通信ネットワークで接続されていても良いし、専用線などで接続されても良い。
【００４２】
ホスト計算機１００は、記憶サブシステム１０１に情報を書き込んだり読み込んだりするアプリケーション１１１と、ボリュームのペア制御指示を発行するボリュームのペア制御指示プログラム１１２と、バックアップ/リストア制御指示を発行するバックアップ/リストア制御指示プログラム１１３と、アプリケーション１１１、ボリュームのペア制御指示プログラム１１２及びバックアップ/リストア制御指示プログラム１１３を記憶するメモリ１２１と、アプリケーション１１１、ボリュームのペア制御指示プログラム１１２及びバックアップ/リストア制御指示プログラム１１３を実行するためのＣＰＵ(Central Processing Unit)１２２とを備える。ボリュームのペア制御指示プログラム１１２を実行するＣＰＵ１２２は、ペア形成指示、ペア再同期指示、ペア分割指示及びペア削除指示等の種々のコマンドを発行する。以下、プログラムが主語になる場合は、実際にはそのプログラムを実行するＣＰＵによって処理が行われるものとする。バックアップ/リストア制御指示プログラム１１３は、フルバックアップ開始指示、差分バックアップ開始指示、増分バックアップ開始指示及びリストア開始指示等の種々のコマンドを発行する。
【００４３】
記憶サブシステム１０１は、コントローラ１２３、複数のディスク１２４及びテープライブラリ装置１２５を備える。コントローラ１２３は、バックアップデータ管理、バックアップ処理及びリストア処理等を行うバックアップ/リストア制御プログラム１３１と、ディスク管理、ボリュームのペア管理、ホストI/O処理及びボリュームのペア操作処理等を行うディスク制御プログラム１３２と、テープ管理、テープインポート処理及びテープエクスポート処理等を行うテープライブラリ制御プログラム１３３とを備える。
【００４４】
テープライブラリ装置１２５は、複数のテープ１３６と、テープ１３６の移動を行うロボット１３４、テープ１３６に情報を書き込んだり読み込んだりするテープドライブ１３５と、テープ１３６を記憶サブシステム１０１から出したり入れたりするためのテープエクスポート/インポートスロット１３７とを備える。
【００４５】
ディスク制御プログラム１３２は、正ボリューム１２４ａと副ボリューム１２４ｂから構成されるボリュームのペアを作成する機能を有し、さらに、ボリューム間の差分データコピーを行うペア再同期、ボリューム間を分割するペア分割、ボリュームのペアを削除するペア削除等の機能も有する。ディスク制御プログラム１３２は、ディスク１２４の管理を行うプログラム２１４と、ボリュームのペア管理を行うプログラム２１５と、ホスト計算機１００からの情報の書き込み読み込み等のI/Oを処理するプログラム２１６と、ボリュームのペア操作処理を行うプログラム２１７とから構成される。なお、ここで、「ボリューム」とは、論理的な記憶装置である論理ボリュームのことであり、具体的には、例えば、一又は複数のディスク１２４（例えば、ＲＡＩＤグループを構成する二以上のディスク１２４）により提供される記憶空間から切り出された記憶空間部分である。「正ボリューム」とは、コピー元の論理ボリュームであり、「副ボリューム」とは、コピー先の論理ボリュームである。
【００４６】
バックアップ/リストア制御プログラム１３１は、バックアップデータ管理を行うプログラム２１１と、バックアップ処理を行うプログラム２１２と、リストア処理を行うプログラム２１３とから構成される。バックアップデータ管理２１１は、バックアップデータの管理をする機能を有し、さらに、差分/増分バックアップを行うために、バックアップ間の差分データを管理する機能も有する。さらに、バックアップ/リストア制御プログラム１３１は、副ボリューム１２４ｂの情報をテープ１３６にフル/差分/増分バックアップしたり、テープ１３６の情報を副ボリューム１２４ｂにリストアしたりする機能を有する。もちろん、バックアップ元及びリストア先は正ボリューム１２４ａでも良いし、ボリュームのペアを構成していないディスク１２４でも良い。
【００４７】
テープライブラリ制御プログラム１３３は、テープ１３６の管理を行うプログラム２１８と、テープインポート処理を行うプログラム２１９と、テープエクスポート処理を行うプログラム２２０とから構成される。テープライブラリ制御プログラム１３３は、テープエクスポート/インポートスロット１３７を用いて、テープ１３６をエクスポートする機能及びインポートする機能を有する。
【００４８】
管理端末１０２は、管理画面１４１を有し、記憶サブシステム１０１の管理を行う機能を有する。例えば、ディスク１２４に論理ボリューム（以下、ＬＵと称する）を作成したり、テープ１３６のエクスポート/インポート指示を発行したりする。管理画面１４１は、例えば、管理端末１０２の図示しない表示装置が有するディスプレイ画面である。
【００４９】
コントローラ１２３は、バックアップ/リストア制御プログラム１３１、ディスク制御プログラム１３２及びテープライブラリ制御プログラム１３３を記憶するメモリ（以下、制御メモリ）２０１と、バックアップ/リストア制御プログラム１３１、ディスク制御プログラム１３２及びテープライブラリ制御プログラム１３３を実行するプロセッサ（例えば、ＣＰＵ、以下、制御プロセッサ）２０２と、一時的に情報を記憶するキャッシュメモリ２０３と、ホスト計算機１０１、ディスク１２４及びテープライブラリ装置１２５間のデータ転送を行うデータ転送ＬＳＩ（Large Scale Integration）２０４とを備える。
【００５０】
図３は、ボリュームのペア管理２１５がもつ管理情報例を示している。
【００５１】
ボリュームのペア管理２１５がもつ管理情報には、例えば、ペア構成管理テーブル３０１と、ディスク間差分データ管理テーブル３０２と、ディスク間の差分ビットマップ３０３とが含まれる。
【００５２】
ペア構成管理テーブル３０１は、ボリュームのペア操作処理２１７によって作成されたボリュームのペアの構成情報や状態を管理するためのものである。このテーブル３０１には、各ボリュームペア毎に、ボリュームペア番号３１１と、正ボリューム３１２と、副ボリューム３１３と、状態３１４とが記録される。ボリュームペア番号３１１は、ボリュームのペアを一意に識別する番号である。正ボリューム３１２は、正ボリューム１２４ａとなるＬＵ（論理ユニット）のＬＵＮ（論理ユニット番号）である。副ボリューム３１３は、副ボリューム１２４ｂとなるＬＵのＬＵＮである。状態３１４は、ペア状態、分割状態、ペア状態移行中、分割状態移行中、エラー状態等のボリュームのペアの状態である。ペア状態は正ボリューム１２４ａと副ボリューム１２４ｂの情報が同期している状態で、分割状態は正ボリューム１２４ａと副ボリューム１２４ｂの情報が同期していない状態である。ペア状態移行中はペア状態への移行処理を行っている状態で、分割状態移行中は分割状態への移行処理を行っている状態である。
【００５３】
ディスク間差分データ管理テーブル３０２は、ボリュームのペアごとに、正ボリューム１２４ａと副ボリューム１２４ｂ間の差分を管理するためのものである。その差分は、例えば、ディスク間の差分ビットマップ３０３によって管理される。このテーブル３０２には、各ボリュームペア毎に、ボリュームペア番号３２１と、差分ビットマップ番号３２２と、差分管理サイズ３２３と、差分ビットマップ格納位置３２４とが記録される。ボリュームのペア番号３２１は、どのボリュームのペアの差分ビットマップかを示している。差分ビットマップ番号３２２は、ディスク間の差分ビットマップ３０３を一意に識別する番号である。差分管理サイズ３２３は、差分ビットマップの１ビットが対応するサイズを示す。差分ビットマップ格納位置３２４は、ディスク１２４のどこに差分ビットマップを格納しているかを示す。例えば、差分ビットマップ格納位置３２４が、０：０−０：１０００であれば、ＬＵＮが０のＬＵのＬＢＡ０から１０００に格納していることを示す。差分ビットマップの格納位置は、参照速度の高速化のために、ディスク１２４上ではなく、制御メモリ２０１上やキャッシュメモリ２０３上に格納しても良い。
【００５４】
例えば、差分管理サイズ３２３が１ＭＢであれば、３３１ａがＬＵの先頭から１ＭＢ、３３１ｂがＬＵの先頭１ＭＢから２ＭＢに対応するブロックの差分ビットを示す。差分ビット３３１は、対応するブロックのどれか一つで、正ボリューム１２４ａと副ボリューム１２４ｂの情報が異なっていれば、ビットを反転する。例えば、３３１ａ、３３１ｂ、３３１ｅは正ボリューム１２４ａと副ボリューム１２４ｂの情報は一致しており、３３１ｃと３３１ｄは正ボリューム１２４ａと副ボリューム１２４ｂの情報が一致していないことを表す。正ボリューム１２４ａと副ボリューム１２４ｂにそれぞれ１枚ずつ差分ビットマップをもち、差分ビット３３１は、対応するブロックのどれか一つが更新されたら差分ビットを反転して、それぞれの差分ビットマップを比較することによって、正ボリューム１２４ａと副ボリューム１２４ｂの差分データを管理しても良い。差分ビットマップのサイズは、ＬＵの容量と差分管理サイズ３２３で決まり、例えば、ＬＵの容量が１００ＭＢで、差分管理サイズ３２３が１ＭＢであれば、１枚の差分ビットマップのサイズは１００ビットとなる。
【００５５】
図４は、テープ管理２１８が管理しているテーププール４０１の論理イメージ例を示す。
【００５６】
テーププール４０１は、複数のテープ１３６から構成され、そのうちのいくつかのテープ１３６がグループ化されてテープグループ４１１を構成している。テープ１３６ｊのように、テープグループ４１１でグループ化されていないものもある。例えば、テープグループ４１１ａは、テープ１３６ａとテープ１３６ｂから構成される。テープ１３６ｄのように、半分はテープグループ４１１ｂで使用され、残りの半分はテープグループ４１１ｃで使用されても良い。また、テープグループ４１１は、必ずしも二以上のテープ１３６から構成されるとは限らず、例えば、一つのテープ１３６、或いはテープ１３６の一部でテープグループ４１１とされることもある。なお、この図４では、複数のテーププール４０１を示し、各テーププール４０１内での構成が同じになっているが、勿論、各テーププール４０１毎に構成は異なって良い。
【００５７】
管理端末１０２を用いて、テープライブラリ装置１２５単位でテーププール４０１を作成する。テーププール４０１は、テープライブラリ装置１２５がもつテープ１３６から構成される。テーププール４０１の作成は、ホスト計算機１００から行っても良い。テーププール４０１は、テープライブラリ装置１２５内に複数個作成しても良いし、複数のテープライブラリ装置１２５にまたがって作成しても良い。バックアップ処理において、バックアップ先としてテーププール４０１が指定され、未使用のテープに、順に、バックアップが行われる。バックアップ元ボリュームは複数個指定されても良い。バックアップで使用するテープは、データが全く記録されていないテープ、つまり、完全な未使用でなくても良い。例えば、バックアップでは、不要なバックアップデータが記録されているテープにデータが上書きされても良いし、途中までバックアップデータが記録されているテープに続けて追記されても良い。バックアップで使用したテープをグループ化することで、テープグループ４１１ができる。そのため、バックアップ単位がテープグループ４１１となり、バックアップデータの管理がテープグループ単位で行われる。テープグループ４１１は、バックアップ前に管理端末１０２等を用いて作成しておき、バックアップ先としてテープグループ４１１を指定しても良い。作成されたテープグループ４１１は、必要に応じてテープ１３６ｊのようなテープグループ４１１を構成していないテープを追加する機能を有する。例えば、あらかじめ作成しておいたテープグループ４１１ａをバックアップ先として指定したが、バックアップデータがテープ１３６ａとテープ１３６ｂに入りきらなかった場合、テープ１３６ｊに残りのバックアップデータを格納し、テープ１３６ａ、１３６ｂ、１３６ｊでテープグループ４１１ａを構成する。
【００５８】
なお、バックアップの際に、バックアップ対象のデータのサイズと、そのデータと共に格納する管理情報（リストア必要情報を含んだ情報）のサイズとを基に、予め、テーププール４０１から、テープグループ４１１を構成するためのテープ領域（一又は複数のテープ１３６の全体又は一部の記録領域）を確保しておき、その確保したテープ領域に、バックアップしていっても良いが、本実施例のように、バックアップが終了した場合にテープグループ４１１を構成した方が効率的である。なぜなら、バックアップが終了するまで、テープ１３６に書込まれるデータサイズがわからないからである。この要因として、テープドライブ１３５の機能により、テープ１３６に書込まれるデータが圧縮される点にある。つまり、書込み対象としてテープドライブ１３５に送られたデータのサイズよりも、実際にテープ１３６に記録されたデータのサイズの方が小さくなる。このため、予めテープ１３６を確保しても、容量が余ってしまったり、逆に足りなくなってしまったりすることがあり得る。この実施例では、バックアップが終了した場合にテープグループ４１１が構成されるので、このような問題点が生じるのを防げる。
【００５９】
また、図４に示すように、一つのテーププール４０１に、複数のテープグループ４１１が連続するが、或るバックアップ元ＬＵについて複数のバックアップを行う場合、バックアップした日時が後のものは、それが先のものよりも、下流側の場所にバックアップされてよい。例えば、フルバックアップの後に差分バックアップを行う場合、差分バックアップは、フルバックアップに対応したテープグループよりも下流（例えばその直後）から行われて良い。また、例えば、その差分バックアップの後に増分バックアップを行う場合、その差分バックアップに対応したテープグループよりも下流（例えばその直後）から、増分バックアップが行われて良い。こうすることで、リストアの際に、テープの先送りと巻き戻しとが頻発してしまうといったことを防ぐことができる。
【００６０】
図５は、テープグループ４１１の格納情報例を示す。
【００６１】
テープグループ４１１は、テープグループ情報５０１とバックアップデータ５０２から構成される。バックアップデータ５０２は、データ管理情報５１１とデータ５１２から構成される。テープグループ情報５０１は、リストア処理で必要となるテープグループ４１１の管理情報である。
【００６２】
バックアップデータ５０２は、バックアップ元ＬＵのバックアップデータである。データ管理情報５１１は、リストア処理で必要となるバックアップ元ＬＵの管理情報である。データ５１２は、バックアップ元ＬＵ（バックアップ元となる副ボリューム）のユーザーデータ（ホスト計算機１００のアプリケーション１１１に使用されるデータ）である。すなわち、本実施例で言うバックアップデータとは、ユーザーデータとデータ管理情報との組み合わせとすることができる。テープグループ情報５０１とデータ管理情報５１１の説明は、図８、９、１０で後述する。
【００６３】
図６は、テープ管理２１８がもつ管理情報例を示している。
【００６４】
この管理情報には、テーププール管理テーブル６０１、テープグループ管理テーブル６０２及びテープメディア管理テーブル６０３が含まれる。
【００６５】
テーププール管理テーブル６０１は、テーププール４０１を管理するためのテーブルである。このテーブル６０１には、テーププール番号６１１、テーププール構成テープ番号６１２及び格納テープグループ番号６１３が記録される。テーププール番号６１１は、テーププール４０１を一意に識別するための番号である。テーププール構成テープ番号６１２は、テーププール４０１を構成しているテープの番号である。１０１、１０２、１０３と順にテープ番号を記録しても良いし、テーブル容量削減のために１１１−１３１と記録して、テープ番号１１１からテープ番号１３１のテープで構成されるとしても良い。また、前者、後者の組合せで記録しても良い。格納テープグループ番号６１３は、テーププール４０１に作成されているテープグループ４１１の番号である。例えば、テーププール番号１のテーププール４０１は、テープ番号１０１、１０２、１０３のテープ１３６から構成されており、テープグループ番号１１、１２、１３のテープグループ４１１が作成されている。
【００６６】
テープグループ管理テーブル６０２は、テープグループ４１１を管理するためのテーブルである。このテーブル６０２には、テープグループ番号６２１、テープグループ状態６２２、テープグループ構成テーブル６２３、バックアップ元ＬＵＮ６２４、バックアップデータ種別６２５、リストアに必要なテープグループ番号６２６、所属テーププール番号６２７及び記録日時６２８が記録される。テープグループ番号６２１は、テープグループ４１１を一意に識別するための番号である。テープグループ状態６２２は、正常、バックアップ中、リストア中、エラー等の、テープグループの状態を示す。テープグループ構成テープ６２３は、テープグループの位置を表す情報（位置情報）であり、その位置情報は、例えば、テープ番号６３１と対象アドレスとの組み合わせで表される。１０１：１０−９００は、テープ番号１０１のアドレス１０から９００を表す。バックアップ元ＬＵＮ６２４は、バックアップ元ＬＵ（バックアップ元ボリューム）のＬＵＮを示す。バックアップデータ種別６２５は、フルバックアップデータ、差分バックアップデータ及び増分バックアップデータのいずれであるかを示す。リストアに必要なテープグループ番号６２６は、リストア時に必要となるテープグループ番号６２１を示す。所属テーププール番号６２７は、テープグループ４１１が所属するテーププール番号６１１を示す。記録日時６２８は、バックアップを開始した日時を示す。記録日時６２８は、バックアップ終了日時を記録しても良いし、バックアップ処理時に指定された日時を記録しても良い。
【００６７】
例えば、２００６／４／４の２２：００：００にフルバックアップを、２００６／４／１１の２２：００：００に差分バックアップを、２００６／４／１２の２２：００：００に増分バックアップを、順に行ったとする。テープグループ番号１１のテープグループ４１１には、２００６／４／４の２２：００：００に、ＬＵＮ２００１と２００２のＬＵを、テープ番号１０１、１０２、１０３に、フルバックアップしたデータが記録されている。テープグループ番号１２のテープグループ４１１には、２００６／４／１１の２２：００：００に、ＬＵＮ２００１と２００２のＬＵを、テープ番号１０４、１０５に、差分バックアップしたデータが記録されている。テープグループ番号１３のテープグループ４１１には、２００６／４／１２の２２：００：００に、ＬＵＮ２００１と２００２のＬＵを、テープ番号１０６に、増分バックアップしたデータが記録されている。テープグループ番号１１のテープグループ４１１のフルバックアップデータからリストア処理を行うためには、テープグループ番号１１のテープグループ４１１だけで良いので、リストアに必要なテープグループ番号６２６には何も記録されていない。テープグループ番号１２のテープグループ４１１の差分バックアップデータからリストア処理を行うためには、テープグループ番号１１のテープグループ４１１も必要となるので、リストアに必要なテープグループ番号６２６には１１が記録されている。テープグループ番号１３のテープグループ４１１の増分バックアップデータからリストア処理を行うためには、テープグループ番号１１と１２のテープグループ４１１も必要となるので、リストアに必要なテープグループ番号６２６には１１、１２が記録されている。この場合、リストア処理では、テープグループ番号１１、１２、１３の順で、テープグループ４１１のコピー処理（テープからリストア先のボリュームへのコピー）が行われる。もしくは、リストアに必要なテープグループ番号６２６には、前回のバックアップデータが記録されているテープグループ４１１のテープグループ番号６２１だけが記録されており、例えば、テープグループ番号１３のテープグループ４１１を指定してリストア要求がきたら、テープグループ番号１３のリストアに必要なテープグループ番号６２６を参照して、先にテープグループ番号１２のテープグループ４１１のコピー処理が必要なことが分かり、さらに、テープグループ番号１２のリストアに必要なテープグループ番号６２６を参照して、先にテープグループ番号１１のテープグループ４１１のコピー処理が必要なことが分かり、さらに、テープグループ番号１１のリストアに必要なテープグループ番号６２６を参照して、テープグループ番号６２１がフルバックアップデータであることが分かり、リストア処理では、テープグループ番号１１、１２、１３の順で、テープグループ４１１のコピー処理が行われても良い。
【００６８】
テープメディア管理テーブル６０３は、テープ１３６を管理するためのテーブルである。このテーブル６０３には、テープ番号６３１、テープ種別６３２、１ブロックサイズ６３３、テープ容量６３４、使用済み容量６３５、テープ状態６３６、所属テーププール番号６３７及び所属テープグループ番号６３８が記録される。テープ番号６３１は、テープ１３６を一意に識別するための番号である。テープ種別６３２は、ＬＴＯ３やＬＴＯ４等、テープの規格を示すものである。１ブロックサイズ６３３は、テープ１３６の１ブロックの容量を示す。テープ容量６３４は、テープ１３６の容量を示す。使用済み容量６３５は、テープ１３６にどれだけのバックアップデータ容量が記録されているかを示す。テープ状態６３６は、正常、未使用、エラー等のテープ１３６の状態を示す。例えば、正常はバックアップデータが正常に記録されている状態を、未使用はバックアップデータが記録されていない状態を、エラーはメディア障害等によってテープ１３６が使用できない状態を表す。所属テーププール番号６３７は、テープ１３６が所属するテーププール番号６１１を示す。所属テープグループ番号６３８は、テープ１３６が所属するテープグループ番号６２１を示す。例えば、テープ番号１０１のテープ１３６は、バックアップデータが記録されており、テーププール番号１のテーププール４０１とテープグループ番号１１のテープグループ４１１に所属している。テープ番号１１１のテープ１３６は、バックアップデータが記録されておらず、テーププール番号４のテーププール４０１に所属している。
【００６９】
図７は、バックアップデータ管理２１１がもつ管理情報例を示している。
【００７０】
この管理情報には、バックアップデータ管理テーブル７０１、バックアップ間差分データ管理テーブル７０２及びバックアップ間の差分ビットマップ７０３が含まれる。
【００７１】
バックアップデータ管理テーブル７０１は、バックアップデータを管理するためのテーブルである。このテーブル７０１には、バックアップデータ番号７１１、バックアップ元ＬＵＮ７１２、バックアップ先テープグループ番号７１３、バックアップデータの状態７１４、バックアップデータ種別７１５及びバックアップ取得日時７１６が記録される。バックアップデータ番号７１１は、バックアップデータを一意に識別するための番号である。バックアップ元ＬＵＮ７１２は、バックアップ元ＬＵのＬＵＮを示す。バックアップ先テープグループ番号７１３は、バックアップデータが記録されているテープグループ番号６２１を示す。バックアップデータの状態７１４は、正常、リストア不可、エラー等のバックアップデータの状態を示す。例えば、“正常”は、バックアップデータが記録されておりリストアできる状態を表す。“リストア不可”は、バックアップデータが失われておりリストアできないが、テープ１３６は使用可能な状態であることを表す。“エラー”は、テープメディア障害でテープ１３６が使用できない状態を表す。バックアップデータ種別７１５は、フルバックアップデータ、差分バックアップデータ及び増分バックアップデータのいずれであるかを示す。バックアップ取得日時７１６は、バックアップを開始した日時を示す。バックアップ取得日時７１６は、バックアップ終了日時を記録しても良いし、バックアップ処理時に指定された日時を記録しても良い。
【００７２】
バックアップ間差分データ管理テーブル７０２とバックアップ間の差分ビットマップ７０３は、差分/増分バックアップを行うために、バックアップ間の差分データ管理を行うためのものである。バックアップ元ＬＵごとに、差分ビットマップにより、差分データ管理が行われる。もちろん、差分ビットマップではなく、他の手法、例えば、差分データのリストによって、差分データが管理されても良い。例えば、月の初めはフルバックアップ、平日は増分バックアップ、日曜日は差分バックアップといった、フル/差分/増分バックアップ運用では、差分ビットマップが１枚では、差分バックアップと増分バックアップを組み合わせることはできないので、バックアップ元ＬＵごとに、差分バックアップ用と増分バックアップ用の２枚の差分ビットマップが備えられる。
【００７３】
バックアップ間差分データ管理テーブル７０２には、ＬＵＮ７２１、差分ビットマップ番号７２２、バックアップ種別７２３、差分管理サイズ７２４及び差分ビットマップ格納位置７２５が記録される。ＬＵＮ７２１は、差分データ管理を行っているＬＵ（つまり、差分データ管理の対象となっている副ボリューム）のＬＵＮを示す。差分ビットマップ番号７２２は、バックアップ間の差分ビットマップ７０３を一意に識別する番号である。バックアップ種別７２３は、対応する差分ビットマップが差分バックアップ用であるか増分バックアップ用であるかを示す。差分管理サイズ７２４は、差分ビットマップの１ビットが対応するサイズを示す。差分ビットマップ格納位置７２５は、ディスク１２４のどこに差分ビットマップを格納しているかを示す。例えば、差分ビットマップ格納位置７２５が、５：０−５：１０００であれば、ＬＵＮが５のＬＵのＬＢＡ０から１０００に格納していることを示す。差分ビットマップの格納位置は、参照速度の高速化のために、ディスク１２４上ではなく、制御メモリ２０１上やキャッシュメモリ２０３上に格納しても良い。
【００７４】
バックアップ間の差分ビットマップ７０３は、例えば、差分管理サイズ７２４が１ＭＢであれば、７３１ａがＬＵの先頭から１ＭＢ、７３１ｂがＬＵの先頭１ＭＢから２ＭＢに対応するブロックの差分ビットを示す。対応するブロックのどれか一つが更新されたら差分ビットを反転する。例えば、７３１ａ、７３１ｂ、７３１ｅは更新されておらず、７３１ｃ、７３１ｄが更新されていることを表し、差分/増分バックアップ時は、７３１ｃ、７３１ｄに対応するブロックが、バックアップ対象となる。フルバックアップ終了時に、差分バックアップ用と増分バックアップ用の差分ビットマップがリセットされる。差分バックアップと増分バックアップ終了時は、増分バックアップ用の差分ビットマップだけがリセットされる。差分ビットマップのサイズは、ＬＵの容量と差分管理サイズ７２４で決まり、例えば、ＬＵの容量が１００ＭＢで、差分管理サイズ７２４が１ＭＢであれば、１枚の差分ビットマップのサイズは１００ビットとなる。
【００７５】
図８は、テープ１３６の記録形式例を示している。図９は、フルバックアップ時にテープに記録する管理情報例を示し、図１０は、差分/増分バックアップ時にテープに記録する管理情報例を示す。バックアップ時にテープに記録する管理情報は、制御メモリ２０１がもつ管理情報を記録する。
【００７６】
テープ１３６には、複数個のブロック８１１と複数個のＥＯＤ（End Of Data）８１２が記録される。ブロック８１１には、各々ブロック８１１を識別するブロック番号が付けられていて、ブロック番号は、テープ１３６の始端（ＢＯＴ（Beginning Of Tape）側）から終端（ＥＯＴ（End Of Tape）側）に向かって、１、２、３、・・・と１つずつ増加する値をとる。テープ１３６をテープドライブ１３５にマウントした直後にテープ１３６にブロック８１１を記録すると、ブロック番号が１のところにブロック８１１が記録され、次のブロック８１１を記録するとブロック番号が２のところにブロック８１１が記録される。以降、ブロック８１１を記録すると、ブロック番号が３のところに、ブロック番号が４のところに、、、というように順次ＥＯＴ側に向かってブロック８１１が記録される。また、テープ１３６を巻き戻した直後にブロック８１１を再生すると、ブロック番号が１のブロック８１１が再生され、次にブロック８１１を再生するとブロック番号が２のブロック８１１が再生されるというように順次ＥＯＴ側に向かってブロック８１１が再生される。また、ブロック８１１の再生は、最後に記録されたブロック８１１まで再生される。
【００７７】
テープ情報８２１は、テープ１３６Ａの先頭ブロックであるブロック番号１に記録される。テープ情報８２１は、ブロック番号１と２等、複数ブロックに記録されても良い。フルバックアップ時、差分/増分バックアップ時ともに、テープメディア管理テーブル６０３を参照して、テープ情報８２１として、テープ番号６３１、テープ種別６３２、１ブロックサイズ６３３、テープ容量６３４が記録される。
【００７８】
テープ情報８２１を記録したブロックの次のブロック番号に、テープグループ情報５０１が記録される。テープグループ情報５０１は複数ブロックに記録されても良い。テープグループ管理テーブル６０２を参照して、テープグループ情報５０１として、フルバックアップの場合は、装置番号９２１、テープグループ番号６２１、バックアップ元ＬＵＮ６２４、バックアップデータ種別６２５、記録日時６２８が記録され、差分/増分バックアップの場合は、バックアップ先装置番号９２１、テープグループ番号６２１、バックアップ元ＬＵＮ６２４、バックアップデータ種別６２５、記録日時６２８、リストアに必要なテープグループ番号６２６が記録される。装置番号９２１は、バックアップを行った記憶サブシステム１０１を一意に識別するための番号である。
【００７９】
テープグループ情報５０１を記録したブロックの次のブロック番号に、データ管理情報５１１が記録される。データ管理情報５１１は複数ブロックに記録されても良い。データ管理情報５１１として、フルバックアップ場合は、ＬＵＮ９３１、ＬＵ容量９３２が記録され、差分/増分バックアップの場合は、バックアップ間差分データ管理テーブル７０２を参照して、ＬＵＮ９３１、ＬＵ容量９３２、差分管理サイズ７２４、差分ビットマップ７０３を記録する。ＬＵＮ９３１は、バックアップ元ＬＵのＬＵＮである。ＬＵ容量９３２は、バックアップ元ＬＵのＬＵ容量である。増分バックアップの場合、データ管理情報５１１に含まれる差分ビットマップ７０３は、増分バックアップ用である。すなわち、増分バックアップの場合、テープに記録するのは、増分ビットマップだけで（つまりＬＵ毎に１枚だけで）、差分ビットマップは記録しなくてよい。差分バックアップを行うか、増分バックアップを行うかは、ホスト計算機１００からの指示で決めることができるため、差分ビットマップには、差分バックアップ対象のビットが記録され、増分ビットマップには、増分バックアップ対象のビットが記録される。
【００８０】
データ管理情報５１１を記録したブロックの次のブロック番号から、バックアップ元ＬＵのデータが記録される。フルバックアップ処理では、バックアップ元ＬＵの全てのデータが記録され、差分/増分バックアップ処理では、差分データのみが記録される。データ管理情報５１１ａのバックアップ元ＬＵの記録が終わったら、次のブロック番号のブロックに、データ管理情報５１１ｂのバックアップ元ＬＵの記録を行う。データ管理情報５１１ａの次のブロック番号のブロックにデータ管理情報５１１ｂの記録を行い、データ管理情報５１１の次のブロック番号のブロックに、バックアップ元ＬＵの全てのＬＵのデータを記録しても良い。
【００８１】
バックアップ元ＬＵ全ての記録が終わったら、ＥＯＤ８１２を記録して、バックアップ処理におけるテープへの記録を終了する。同じテープ１３６Ａに、別のバックアップデータを記録する場合は、ＥＯＤ８１２の次のブロック番号のブロックから、テープへの記録を行う。また、バックアップデータが、テープ１３６Ａと１３６Ｂにまたがって記録する場合は、テープ１３６Ｂの先頭ブロックにテープ情報８２１を記録し、次のブロック番号のブロックに、テープ１３６Ａの最終ブロックに記録した情報の続きを記録する。
【００８２】
図１１は、ホスト計算機１００からディスク１２４へのライト要求を記憶サブシステム１０１が受領した場合に実行される処理のフローを示している。
【００８３】
ステップ１０００では、コントローラ１２３が、ホスト計算機１００からディスク１２４へのライト要求を受領する。これにより、ディスク制御プログラム１３２が実行される。ディスク制御プログラム１３２によって、ライト要求に従うライト対象データが、キャッシュメモリ２０３に一時格納される。
【００８４】
ステップ１０１０では、ディスク制御プログラム１３２が、ペア構成管理テーブル３０１を参照して、ライト先ＬＵのＬＵＮが、正ボリューム３１２もしくは副ボリューム３１３にあるかどうかを調べる。あったらステップ１０２０に進み、なかったらステップ１０４０に進む。
【００８５】
ステップ１０２０では、ディスク制御プログラム１３２が、ペア構成管理テーブル３０１の状態３１４とディスク間の差分ビットマップ３０３を参照して、ライト対象の差分ビットを反転する必要があるかどうかを調べる。差分ビットを反転する必要がある場合（例えば、ペア分割状態であり、差分ビットが反転されてない場所にライト対象データが書かれると判断した場合）は、ステップ１０３０へ進み、差分ビットを反転する必要がない場合（例えば、ペア状態である場合、或いは、ペア分割状態であるが、差分ビットが既に反転されている場合）は、ステップ１０４０へ進む。
【００８６】
ステップ１０３０では、ディスク制御プログラム１３２が、ディスク間の差分ビットマップ３０３のライト対象の差分ビットを反転する。
【００８７】
ステップ１０４０では、バックアップ/リストア制御プログラム１３１が、バックアップ間差分データ管理テーブル７０２を参照して、ライト先ＬＵのＬＵＮが、ＬＵＮ７２１にあるかどうかを調べる。あったらステップ１０５０へ進み、なかったらステップ１０７０へ進む。
【００８８】
ステップ１０５０では、バックアップ/リストア制御プログラム１３１が、バックアップ間の差分ビットマップ７０３を参照し、すでにライト対象の差分ビットが反転しているかどうかを調べる。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップがあれば、それらの両方を調べる。反転している場合はステップ１０７０へ進み、反転していない場合はステップ１０６０へ進む。
【００８９】
ステップ１０６０では、バックアップ/リストア制御プログラム１３１が、バックアップ間の差分ビットマップ７０３のライト対象の差分ビットを反転する。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップがあれば、両方の差分ビットを反転する。
【００９０】
ステップ１０７０では、ディスク制御プログラム１３２が、キャッシュメモリ２０３に一時格納されたデータをディスク１２４に書き込む。ステップ１０８０では、ディスク制御プログラム１３２が、ホスト計算機１００に完了報告を行う。
【００９１】
図１２、１３はフルバックアップ処理の処理フローを、図１２、１４は差分バックアップ処理の処理フローを、図１２、１５は増分バックアップ処理の処理フローを示している。
【００９２】
ステップ２０００では、バックアップしたいＬＵが、ボリュームのペアを形成しているかどうかを調べる。ユーザーが調べても良いし、ボリュームのペア制御指示プログラム１１２が、ペア構成管理テーブル３０１を調べても良い。ペアを形成していない場合はステップ２０１０へ進み、ペアを形成している場合はステップ２０４０へ進む。
【００９３】
ステップ２０１０では、ホスト計算機１００のボリュームのペア制御指示プログラム１１２から記憶サブシステム１０１へ、ペア形成指示を発行する。ステップ２０２０では、ディスク制御プログラム１３２が、ペア形成指示を受領する。ステップ２０３０では、ディスク制御プログラム１３２が、ペア構成管理テーブル３０１、ディスク間差分データ管理テーブル３０２、ディスク間の差分ビットマップ３０３を更新して、正ボリューム１２４ａの情報を副ボリューム１２４ｂにコピーし、コピーが完了したらペア構成管理テーブル３０１の状態３１４をペア状態にする。
【００９４】
ステップ２０４０では、ホスト計算機１００のボリュームのペア制御指示プログラム１１２から記憶サブシステム１０１へ、ペア再同期(通常)指示を発行する。ステップ２０５０では、ディスク制御プログラム１３２が、ペア再同期(通常)指示を受領する。ステップ２０６０では、ペア再同期(通常)処理が行われる。説明は図１９で後述する。
【００９５】
ステップ２０７０では、ホスト計算機１００のボリュームのペア制御指示プログラム１１２から記憶サブシステム１０１へ、ペア分割指示を発行する。ステップ２０８０では、ディスク制御プログラム１３２が、ペア分割指示を受領する。ステップ２０９０では、ペア分割処理が行われる。説明は図２０で後述する。なお、このペア分割指示では、前述したバックアップしたいＬＵ（つまりバックアップ元ＬＵ）が副ボリュームとなっているペア番号が指定される。
【００９６】
図１３に示すように、ステップ３０００では、ホスト計算機１００のバックアップ/リストア制御指示プログラム１１３から記憶サブシステム１０１に、フルバックアップ開始指示を発行する。このフルバックアップ開始指示では、例えば、ペア分割指示で指定したペア番号に対応するボリュームペアでの副ボリュームのＬＵＮが、バックアップ元ＬＵＮとして指定される。
【００９７】
ステップ３０１０では、バックアップ/リストア制御プログラム１３１が、フルバックアップ処理開始指示を受領する。なお、このタイミングで、バックアップ/リストア制御プログラム１３１が、ディスク制御プログラム１３２に、ライト禁止要求を出して良い。これは、ステップ４０００やステップ５０００で同様であっても良い。
【００９８】
ステップ３０２０では、バックアップ/リストア制御プログラム１３１が、バックアップ間差分データ管理テーブル７０２のＬＵＮ７２１に、バックアップ元ＬＵのＬＵＮ（例えば、フルバックアップ開始指示で指定されたバックアップ元ＬＵＮ）があるかどうかを調べる。ない場合はステップ３０３０へ進み、ある場合はステップ３０４０へ進む。
【００９９】
ステップ３０３０では、バックアップ/リストア制御プログラム１３１が、バックアップ元ＬＵのバックアップ間の差分データ管理を開始する。バックアップ元ＬＵのＬＵ容量（ボリューム容量）と差分管理サイズ７２４から差分ビットマップのサイズを計算し、差分ビットマップ格納位置を確保する。差分管理サイズ７２４は、予め記憶サブシステム１０１で決められていても良いし、ユーザーが設定しても良い。バックアップ/リストア制御プログラム１３１が、差分バックアップ用と増分バックアップ用の２枚の差分ビットマップを作成し、それの格納位置を、バックアップ間差分データ管理テーブル７０２に登録する。
【０１００】
ステップ３０４０では、ディスク制御プログラム１３２が、所定の契機（例えば、バックアップ/リストア制御プログラム１３１からライト禁止要求を受けたとき）で、バックアップ元ＬＵへのライトを禁止する。具体的には、例えば、ディスク制御プログラム１３２は、ライト要求を受信しても、所定の応答（例えば書込み完了報告）を返さないようにする。これは、ステップ４０２０やステップ５０２０で同様であっても良い。
【０１０１】
ステップ３０５０では、テープライブラリ制御プログラム１３３が、ロボット１３４を制御して、バックアップ先となるテープ１３６をテープドライブ１３５にマウントさせる。この時、必要となるテープ１３６を複数のテープドライブ１３５にマウントして、並列書き込みを行なっても良いし、コピーの終わったテープ１３６とコピーの終わっていないテープ１３６を入れ替えながらコピー処理を行なっても良い。なお、バックアップ先となるテープ１３６は、例えば、テープライブラリ制御プログラム１３３によって、任意に選択された未使用のテープである。これは、ステップ４０３０やステップ５０３０で同じであっても良い。
【０１０２】
ステップ３０６０では、バックアップ/リストア制御プログラム１３１とテープライブラリ制御プログラム１３３が協働することにより、フルバックアップ時にテープに記録する管理情報９０１を構築し、構築された管理情報９０１を、テープ１３６に記録する。管理情報９０１は、例えば、制御メモリ２０１を参照し、マウントされたテープ１３６のテープ番号６３１に対応した情報をテープメディア管理テーブル６０３から取得する等の処理を行うことで、構築することができる。管理情報９０１に含まれるテープグループ番号６２１は、今回のフルバックアップ開始指示で記録されることになる一以上のフルバックアップデータを含むためのテープグループの番号である。ＬＵＮ９３１やＬＵ容量９３２は、このフルバックアップでのバックアップ元ＬＵのＬＵＮとＬＵ容量である。なお、例えば、今回のテープグループがテープ１３６の途中から始まるが別のテープ１３６に跨がない場合には、テープ情報８２１は構築されなくて良い。テープ情報８２１は、図８に示すように、テープ１３６の先頭に記録される情報であるためである。これは、ステップ４０４０及び５０４０でも同様とすることができる。
【０１０３】
ステップ３０７０では、バックアップ/リストア制御プログラム１３１、ディスク制御プログラム１３２及びテープライブラリ制御プログラム１３３が協働することにより、バックアップ元として指定されたＬＵのデータを全てディスク１２４からテープ１３６にコピーする。このフルバックアップ中では、例えば、テープ管理２１８によって、図６のテープグループ管理テーブル６０２において、テープグループ番号６２１として１４が記録されると共に、テープグループ状態６２２としてバックアップ中が記録され、バックアップデータ種別６２５としてフルが記録され、バックアップが済んだ場合に、テープグループ状態６２２として正常が記録される。
【０１０４】
ステップ３０８０では、バックアップ/リストア制御プログラム１３１、ディスク制御プログラム１３２及びテープライブラリ制御プログラム１３３が協働することにより、バックアップ元として指定された全てのＬＵのコピーが終わるまで、ステップ３０６０とステップ３０７０を繰り返す。なお、この繰返しでのステップ３０６０では、データ管理情報５１１のみが構築され記録される。データ管理情報５１１は、各バックアップデータ毎に含まれるためである。これは、ステップ４０６０での繰返しによるステップ４０４０や、ステップ５０６０での繰返しによるステップ５０４０でも同様とすることができる。
【０１０５】
ステップ３０９０では、バックアップデータ管理２１１とテープ管理２１８の管理情報が更新される。例えば、バックアップデータ管理２１１が、バックアップデータ管理テーブル７０１に、フルバックアップしたバックアップデータに関する情報を追加する。また、テープ管理２１８が、テープグループ管理テーブル６０２に、テープグループ４１１に関する情報を追加（もしくはすでに登録されている場合は情報を更新）し、テーププール管理テーブル６０１の格納テープグループ番号６１３に、今回のフルバックアップデータを記憶するテープグループの番号を追加する。なお、上記括弧内で、情報を更新する場合としては、例えば、バックアップ前にあらかじめテープグループが定義されている場合がある（これは、フル/差分/増分の違いは関係ない）。この場合、例えば、バックアップ前に、621,622,627が登録されており、バックアップ後に、622,623,624,625,626,628が登録（更新）される場合、テープグループ管理テーブル６０２で情報を更新することがある。
【０１０６】
ステップ３１００では、テープライブラリ制御プログラム１３３が、ロボット１３４を制御して、テープ１３６をテープドライブ１３５からアンマウントさせる。このとき、テープライブラリ制御プログラム１３３は、ライト許可要求を、ディスク制御プログラム１３２に出して良い。これは、ステップ４０８０やステップ５０８０で同様であっても良い。
【０１０７】
ステップ３１１０では、ディスク制御プログラム１３２が、所定の契機（例えば、テープライブラリ制御プログラム１３３からライト許可要求を受けたとき）で、バックアップ元ＬＵへのライトを許可する。これは、ステップ４０９０やステップ５０９０で同様であっても良い。
【０１０８】
ステップ３１２０では、バックアップ/リストア制御プログラム１３１が、バックアップデータ管理２１１のバックアップ元ＬＵのバックアップ間の差分ビットマップ７０３を、差分バックアップ用と増分バックアップ用の両方ともリセットする（例えば、差分ビットマップを全て０にする）。ステップ３１３０では、バックアップ/リストア制御プログラム１３１が、フルバックアップ処理終了をホスト計算機１００に通知する。
【０１０９】
図１４に示すように、ステップ４０００では、ホスト計算機１００のバックアップ/リストア制御指示プログラム１１３から記憶サブシステム１０１に、差分バックアップ開始指示を発行する。この差分バックアップ開始指示では、例えば、ペア分割指示で指定したペア番号に対応するボリュームペアでの副ボリュームのＬＵＮが、バックアップ元ＬＵＮとして指定される。
【０１１０】
ステップ４０１０では、バックアップ/リストア制御プログラム１３１が、差分バックアップ処理開始指示を受領する。ステップ４０２０では、ディスク制御プログラム１３２が、バックアップ元ＬＵへのライトを禁止する。ステップ４０３０では、テープライブラリ制御プログラム１３３が、バックアップ先となるテープ１３６をテープドライブ１３５にマウントさせる。なお、この時、必要となるテープ１３６を複数のテープドライブ１３５にマウントして、並列書き込みを行なっても良いし、コピーの終わったテープ１３６とコピーの終わっていないテープ１３６を入れ替えながらコピー処理を行なっても良い。
【０１１１】
ステップ４０４０では、バックアップ/リストア制御プログラム１３１とテープライブラリ制御プログラム１３３が協働することにより、差分バックアップ時にテープに記録する管理情報９０２を構築し、その管理情報９０２を、テープ１３６に記録する。テープグループ番号６２１は、今回の差分バックアップ開始指示で記録されることになる一以上の差分バックアップデータを含むための今回のテープグループの番号である。管理情報９０２には、リストアに必要なテープグループ番号６２６が含まれるが、この番号６２６は、例えば、バックアップデータ管理テーブル７０１から、以下の３つの条件、
（１）今回の差分バックアップのバックアップ元ＬＵＮと同一のＬＵＮがバックアップ元ＬＵＮ７１２である、
（２）バックアップデータ種別７１５がフルである、
（３）（１）及び（２）を満たすバックアップ取得日時７１６のうち、現在の日時から最も近い日時である、
を満たすバックアップ先テープグループ番号７１３から取得される。また、データ管理情報５１１には、バックアップ元ＬＵＮのＬＵＮ７２１に対応した差分管理サイズ７２４や、
そのＬＵＮ７２１に対応した差分ビットマップ格納位置７２５にある差分ビットマップ７０３が含められる。なお、増分バックアップの場合は、例えば、上記（１）及び（３）を満たすテープグループ番号(フル/差分/増分のどの可能性もある)に登録されているリストアに必要なテープグループ番号６２６に、前記テープグループ番号（（１）と（３）を満たすテープグループ番号）を追加したテープグループ番号（例えば複数個）登録される。
【０１１２】
ステップ４０５０では、バックアップ/リストア制御プログラム１３１、ディスク制御プログラム１３２及びテープライブラリ制御プログラム１３３が協働することにより、ＬＵＮ７２１がバックアップ元ＬＵＮでありバックアップ種別７２３が差分に対応した差分ビットマップ格納位置７２５にある差分ビットマップ７０３を参照し、差分ビットの反転しているデータだけをディスク１２４からテープ１３６にコピーする。この差分バックアップ中では、例えば、テープ管理２１８によって、図６のテープグループ管理テーブル６０２において、テープグループ番号６２１として、今回のテープグループの番号が記録されると共に、テープグループ状態６２２としてバックアップ中が記録され、バックアップデータ種別６２５として差分が記録され、バックアップが済んだ場合に、テープグループ状態６２２として正常が記録される。
【０１１３】
ステップ４０６０では、バックアップ/リストア制御プログラム１３１、ディスク制御プログラム１３２及びテープライブラリ制御プログラム１３３が協働することにより、バックアップ元として指定された全てのＬＵのコピーが終わるまで、ステップ４０４０とステップ４０５０を繰り返す。
【０１１４】
ステップ４０７０では、バックアップデータ管理２１１とテープ管理２１８の管理情報を更新する。例えば、バックアップデータ管理２１１が、バックアップデータ管理テーブル７０１に、差分バックアップデータに関する情報を追加する。テープ管理２１８が、テープグループ管理テーブル６０２に、差分バックアップデータが記録された新規のテープグループ４１１に関する情報を追加（もしくはすでに登録されている場合は情報を更新）し、テーププール管理テーブル６０１の格納テープグループ番号６１３に、その新規のテープグループ４１１の番号を追加する。
【０１１５】
ステップ４０８０では、テープライブラリ制御プログラム１３３が、ロボット１３４を制御し、テープ１３６をテープドライブ１３５からアンマウントさせる。ステップ４０９０では、ディスク制御プログラム１３２が、バックアップ元ＬＵへのライトを許可する。ステップ４１００では、バックアップ/リストア制御プログラム１３１が、バックアップ元ＬＵのバックアップ間の差分ビットマップ７０３を、増分バックアップ用だけリセットする（例えば、差分ビットマップを全て０にする）。ステップ４１１０では、バックアップ/リストア制御プログラム１３１が、差分バックアップ処理終了をホスト計算機１００に通知する。
【０１１６】
図１５に示すように、ステップ５０００では、ホスト計算機１００のバックアップ/リストア制御指示プログラム１１３から記憶サブシステム１０１に、増分バックアップ開始指示を発行する。
【０１１７】
ステップ５０１０では、バックアップ/リストア制御プログラム１３１が、増分バックアップ処理開始指示を受領する。ステップ５０２０では、ディスク制御プログラム１３２が、バックアップ元ＬＵへのライトを禁止する。ステップ５０３０では、テープライブラリ制御プログラム１３３が、バックアップ先となるテープ１３６をテープドライブ１３５にマウントさせる。この時、必要となるテープ１３６を複数のテープドライブ１３５にマウントして、並列書き込みを行なっても良いし、コピーの終わったテープ１３６とコピーの終わっていないテープ１３６を入れ替えながらコピー処理を行なっても良い。
【０１１８】
ステップ５０４０では、バックアップ/リストア制御プログラム１３１とテープライブラリ制御プログラム１３３が協働することにより、増分バックアップ時にテープに記録する管理情報９０２を構築し、その管理情報９０２を、テープ１３６に記録する。テープグループ番号６２１は、今回の増分バックアップ開始指示で記録されることになる一以上の増分バックアップデータを含むための今回のテープグループの番号である。
【０１１９】
ステップ５０５０では、バックアップ/リストア制御プログラム１３１、ディスク制御プログラム１３２及びテープライブラリ制御プログラム１３３が協働することにより、ＬＵＮ７２１がバックアップ元ＬＵＮでありバックアップ種別７２３が増分に対応した差分ビットマップ格納位置７２５にある差分ビットマップ７０３を参照し、差分ビットの反転しているデータだけをディスク１２４からテープ１３６にコピーする。この増分バックアップ中では、例えば、テープ管理２１８によって、図６のテープグループ管理テーブル６０２において、テープグループ番号６２１として、今回のテープグループの番号が記録されると共に、テープグループ状態６２２としてバックアップ中が記録され、バックアップデータ種別６２５として増分が記録され、バックアップが済んだ場合に、テープグループ状態６２２として正常が記録される。
【０１２０】
ステップ５０６０では、バックアップ/リストア制御プログラム１３１、ディスク制御プログラム１３２及びテープライブラリ制御プログラム１３３が協働することにより、バックアップ元として指定された全てのＬＵのコピーが終わるまで、ステップ５０４０とステップ５０５０を繰り返す。
【０１２１】
ステップ５０７０では、バックアップデータ管理２１１とテープ管理２１８の管理情報を更新する。例えば、バックアップデータ管理２１１が、バックアップデータ管理テーブル７０１に、増分バックアップデータに関する情報を追加する。テープ管理２１８が、テープグループ管理テーブル６０２に、増分バックアップデータが記録された新規のテープグループ４１１に関する情報を追加（もしくはすでに登録されている場合は情報を更新）し、テーププール管理テーブル６０１の格納テープグループ番号６１３に、その新規のテープグループ４１１の番号を追加する。
【０１２２】
ステップ５０８０では、テープライブラリ制御プログラム１３３が、ロボット１３４を制御し、テープ１３６をテープドライブ１３５からアンマウントさせる。ステップ５０９０では、ディスク制御プログラム１３２が、バックアップ元ＬＵへのライトを許可する。ステップ５１００では、バックアップ/リストア制御プログラム１３１が、バックアップデータ管理２１１のバックアップ元ＬＵのバックアップ間の差分ビットマップ７０３を、増分バックアップ用だけリセットする（例えば、差分ビットマップを全て０にする）。ステップ５１１０では、バックアップ/リストア制御プログラム１３１が、増分バックアップ処理終了をホスト計算機１００に通知する。
【０１２３】
図１６、１７、１８はリストア処理の処理フローを示している。
【０１２４】
図１６に示すように、ステップ６０１０では、ユーザー或いはペア制御指示プログラム１１２が、ボリュームのペア管理２１５のペア構成管理テーブル３０１を参照し、リストアしたいＬＵ（リストア先ＬＵ、例えばユーザ所望のＬＵ）の状態３１４がペア状態かどうか調べる。ペア状態であればステップ６０２０へ進み、ペア状態でなければステップ７０００へ進む。
【０１２５】
ステップ６０２０では、ホスト計算機１００のボリュームのペア制御指示プログラム１１２から記憶サブシステム１０１に、ペア分割指示を発行する。ステップ６０３０では、ディスク制御プログラム１３２が、ペア分割指示を受領する。ステップ６０４０では、ペア分割処理が行われる。説明は図２０で後述する。
【０１２６】
図１７に示すように、ステップ７０００では、ホスト計算機１００のバックアップ/リストア制御指示プログラム１１３から記憶サブシステム１０１に、リストア開始指示を発行する。
【０１２７】
ステップ７０１０では、バックアップ/リストア制御プログラム１３１が、リストア開始指示を受領する。このとき、バックアップ/リストア制御プログラム１３１が、ライト禁止要求をディスク制御プログラム１３２に発行して良い。
【０１２８】
ステップ７０２０では、ディスク制御プログラム１３２が、所定の契機（例えば、ライト禁止要求をバックアップ/リストア制御プログラム１３１から受けたとき）で、リストア先ＬＵへのホスト計算機１００からのライトを禁止する。
【０１２９】
ステップ７０３０では、バックアップ/リストア制御プログラム１３１とテープライブラリ制御プログラム１３３が協働することにより、リストア元として指定されたテープグループ４１１のテープグループ管理テーブル６０２のリストアに必要なテープグループ番号６２６を参照し、フルバックアップデータが記録されているテープ１３６をテープドライブ１３５にマウントする。例えば、リストアに必要なテープグループ番号６２６に何も記録されていなければ、リストア元として指定されたテープグループ４１１がフルバックアップデータであり、リストアに必要なテープグループ番号６２６に１１、１２と記録されていれば、先頭の番号であるテープグループ番号１１のテープグループ４１１がフルバックアップデータである。また、例えば、バックアップ/リストア制御プログラム１３１が、リストアしたいバックアップデータのバックアップ取得日時の指定を受けた場合、そのバックアップ取得日時に対応したバックアップ先テープグループ番号７１３のテープグループ４１１が、上記「リストア元として指定されたテープグループ４１１」である。
【０１３０】
ステップ７０４０では、バックアップ/リストア制御プログラム１３１、ディスク制御プログラム１３２及びテープライブラリ制御プログラム１３３が協働することにより、フルバックアップデータが記録されているテープ１３６から、リストア先として指定されたＬＵのディスク１２４に、フルバックアップデータ中のデータ５１２をコピーする。リストア先ＬＵは、格別指定されていなければ、自動的に、バックアップ元であったＬＵとされてもよい。
【０１３１】
ステップ７０５０では、テープライブラリ制御プログラム１３３が、フルバックアップデータが記録されているテープ１３６をテープドライブ１３５からアンマウントさせる。
【０１３２】
ステップ７０６０では、バックアップ/リストア制御プログラム１３１が、リストア元として指定されたテープグループ４１１に対応したバックアップデータ種別６２５を参照し、フルバックアップデータかどうかを調べる。フルバックアップデータの場合はステップ７１１０へ進み、差分バックアップデータもしくは増分バックアップデータの場合はステップ７０７０へ進む。
【０１３３】
ステップ７０７０では、バックアップ/リストア制御プログラム１３１とテープライブラリ制御プログラム１３３が協働することにより、リストア元として指定されたテープグループ４１１に対応したリストアに必要なテープグループ番号６２６を参照し、次にコピー処理をするべき差分/増分バックアップデータ（差分バックアップデータもしくは増分バックアップデータ）が記録されているテープ１３６をテープドライブ１３５にマウントする。例えば、リストアに必要なテープグループ番号６２６に２１、２２、２３と記録されていれば、テープグループ番号が２１のテープグループ４１１のコピーが終わった場合は、次にテープグループ番号が２２のテープグループ４１１のコピーを行い、テープグループ番号が２２のテープグループ４１１のコピーが終わった場合は、次にテープグループ番号が２３のテープグループ４１１のコピーを行う。
【０１３４】
ステップ７０８０では、バックアップ/リストア制御プログラム１３１、ディスク制御プログラム１３２及びテープライブラリ制御プログラム１３３が協働することにより、差分/増分バックアップデータが記録されているテープ１３６内の管理情報９０２を参照し、データ５１２をコピーするべきリストア先ＬＵのＬＢＡを計算しながら、テープ１３６のデータ５１２を、リストア先として指定されたＬＵのディスク１２４にコピーする。例えば、テープ１３６に記録されている差分管理サイズ７２４と差分ビットマップ７０３を用いて、データ５１２をコピーするべきリストア先ＬＵのＬＢＡを計算する。具体的には、例えば、リストア先ＬＵの先頭ＬＢＡが１００、ブロックサイズが１ＭＢ、差分管理サイズ７２４が１ＭＢとし、差分ビットマップ７０３が先頭から０１１００１・・・とした場合、テープ１３６に記録されている先頭のデータ５１２をコピーするべきリストア先ＬＵのＬＢＡは１０１であり、２番目のデータ５１２をコピーするべきリストア先ＬＵのＬＢＡは１０２であり、３番目のデータ５１２をコピーするべきリストア先ＬＵのＬＢＡは１０５であり、・・・というように計算していく。
【０１３５】
ステップ７０９０では、テープライブラリ制御プログラム１３３が、コピー処理の完了した差分/増分バックアップデータが記録されているテープ１３６をテープドライブ１３５からアンマウントさせる。
【０１３６】
ステップ７１００では、リストアに必要なテープグループ番号６２６に記録されているテープグループ番号６２１が全てコピー処理されるまで、ステップ７０７０、７０８０、７０９０を繰り返す。ステップ７１１０では、バックアップ/リストア制御プログラム１３１が、リストア処理終了をホスト計算機１００に通知する。
【０１３７】
図１８に示すように、ステップ８０００では、ホスト計算機１００のボリュームのペア制御指示プログラム１１２から記憶サブシステム１０１に、ペア再同期(逆方向)指示を発行する。ステップ８０１０では、ディスク制御プログラム１３２が、ペア再同期(逆方向)指示を受領する。ステップ８０２０では、ディスク制御プログラム１３２が、ペア再同期(逆方向)処理を行う。例えば、テープ１３６に記録してあるバックアップデータをコピーした副ボリューム１２４ｂから、正ボリューム１２４ａにコピーし、データを一致させる。
【０１３８】
すなわち、「ペア再同期（逆方向）指示」とは、ペア分割状態のボリュームペアをペア状態移行中とし、その状態の間に、逆方向のコピー、具体的には、副ボリューム内のデータ（全てのデータ、或いは、正ボリュームとの間の差分データ）を正ボリュームへコピーすることで、副ボリュームの内容と正ボリュームの内容とを一致させる指示を言う。それに対し、「ペア再同期（通常）指示」とは、ペア分割状態のボリュームペアをペア状態移行中とし、その状態の間に、通常方向のコピー、具体的には、正ボリューム内のデータ（全てのデータ、或いは、副ボリュームとの間の差分データ）を副ボリュームへコピーすることで、正ボリュームの内容と副ボリュームの内容とを一致させる指示を言う。
【０１３９】
図１９は、ペア再同期(通常)処理の処理フローを示している。
【０１４０】
ステップ９０００では、ボリュームのペア管理２１５が、ペア構成管理テーブル３０１の状態３１４を、ペア状態移行中にする。
【０１４１】
ステップ９０１０では、ディスク制御プログラム１３２が、ボリュームのペア管理２１５のディスク間の差分ビットマップ３０３を参照し、差分データを正ボリューム１２４ａから副ボリューム１２４ｂにコピーする。
【０１４２】
ステップ９０２０では、バックアップデータ管理２１１が、バックアップ間差分データ管理テーブル７０２のＬＵＮ７２１を参照し、副ボリューム１２４ｂのＬＵＮがあるかどうかを調べる。ない場合はステップ９０５０へ進み、ある場合はステップ９０３０へ進む。
【０１４３】
ステップ９０３０では、バックアップデータ管理２１１が、バックアップ間の差分ビットマップ７０３を参照し、すでにコピー対象の差分ビットが反転しているかどうかを調べる。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップを調べる。反転している場合はステップ９０５０へ進み、反転していない場合はステップ９０４０へ進む。
【０１４４】
ステップ９０４０では、バックアップデータ管理２１１が、バックアップ間の差分ビットマップ７０３のコピー対象の差分ビットを反転する。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップの差分ビットを反転する。
【０１４５】
ステップ９０５０では、正ボリューム１２４ａと副ボリューム１２４ｂのデータが一致するまで、ステップ９０１０、９０２０、９０３０、９０４０を繰り返す。
【０１４６】
ステップ９０６０では、ボリュームのペア管理２１５が、ペア構成管理テーブル３０１の状態３１４を、ペア状態にする。
【０１４７】
図２０は、ペア分割処理の処理フローを示している。
【０１４８】
ステップ９１００では、ボリュームのペア管理２１５が、ペア構成管理テーブル３０１の状態３１４を、ペア分割移行中にする。
【０１４９】
ステップ９１１０では、ディスク制御プログラム１３２が、ボリュームのペア管理２１５のディスク間の差分ビットマップ３０３を参照し、反転しているビットがあれば、そのビットに対応した差分データを、正ボリューム１２４ａから副ボリューム１２４ｂにコピーする。この時点で反転しているビットが存在する場合の例としては、正ボリューム１２４ａと副ボリューム１２４ｂとの間で非同期型のコピーが行われる場合がある。
【０１５０】
ステップ９１２０では、バックアップデータ管理２１１が、バックアップ間差分データ管理テーブル７０２のＬＵＮ７２１を参照し、副ボリューム１２４ｂのＬＵＮがあるかどうかを調べる。ない場合はステップ９１５０へ進み、ある場合はステップ９１３０へ進む。
【０１５１】
ステップ９１３０では、バックアップデータ管理２１１が、バックアップ間の差分ビットマップ７０３を参照し、すでにコピー対象の差分ビットが反転しているかどうかを調べる。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップを調べる。反転している場合はステップ９１５０へ進み、反転していない場合はステップ９１４０へ進む。
【０１５２】
ステップ９１４０では、バックアップデータ管理２１１が、バックアップ間の差分ビットマップ７０３のコピー対象の差分ビットを反転する。差分ビットマップ用と増分バックアップ用の両方の差分ビットマップの差分ビットを反転する。
【０１５３】
ステップ９１５０では、副ボリューム１２４ｂが、ペア分割指示を受領した時点の正ボリューム１２４ａのデータと一致するまで、ステップ９１１０、９１２０、９１３０、９１４０を繰り返す。
【０１５４】
ステップ９１６０では、ボリュームのペア管理２１５が、ペア構成管理テーブル３０１の状態３１４を、分割状態にする。
【０１５５】
以上、上述した第一実施例によれば、ユーザーデータの差分/増分バックアップの場合には、ユーザーデータに加えて管理情報９０２がテープ１３６に記録される。これにより、リストアの場合には、バックアップを行った記憶サブシステム１０１の制御メモリ２０１の情報が無くても、テープ１３６に記録されている管理情報９０２を使用することで、リストアすることが可能となる。
【０１５６】
また、上述した第一実施例によれば、差分/増分バックアップの都度に、バックアップ間の差分ビットマップ７０３がテープ１３６に記録される。そして、差分バックアップが行われたときには、差分バックアップ用或いは増分バックアップ用の両方の差分ビットマップ７０３がリセットされ、増分バックアップが行われたときには、増分バックアップ用の差分ビットマップ７０３がリセットされる。つまり、差分管理すべき世代数に関わらず、記憶サブシステムで保持すべき差分ビットマップは、一つのバックアップ元ＬＵにつき、多くても、差分バックアップ用と増分バックアップ用の２枚で良い。これにより、差分管理できる世代数が、記憶サブシステムのメモリの記憶容量に制限されないようにすることができる。
【実施例２】
【０１５７】
例えば、正ボリューム１２４ａが第一の記憶サブシステムに存在し、副ボリューム１２４ｂが第二の記憶サブシステムに存在し、第一と第二の記憶サブシステム間でのリモートコピーが行われても良い。その際、テープライブラリ装置１２５は、第二の記憶サブシステムに備えられる。
【０１５８】
以上、本発明の好適な幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【図面の簡単な説明】
【０１５９】
【図１】図１は、本発明の第一実施例に係る計算機システムの構成例を示す。
【図２】図２は、記憶サブシステム１０１のコントローラ１２３の構成例を示した図である。
【図３】図３は、ボリュームのペア管理２１５がもつ管理情報例を示す。
【図４】図４は、テープ管理２１８が管理しているテーププール４０１の論理イメージ例を示す。
【図５】図５は、テープグループ４１１の格納情報例を示す。
【図６】図６は、テープ管理２１８がもつ管理情報例を示す。
【図７】図７は、バックアップデータ管理２１１がもつ管理情報例を示す。
【図８】図８は、テープ１３６の記録形式例を示す。
【図９】図９は、フルバックアップ時にテープに記録する管理情報例を示す。
【図１０】図１０は、差分/増分バックアップ時にテープに記録する管理情報例を示す。
【図１１】図１１は、記憶サブシステム１０１が、ホスト計算機１００からディスク１２４へのライト要求を受領した場合の処理フローを示す。
【図１２】図１２は、バックアップの前処理の処理フローを示す。
【図１３】図１３は、フルバックアップ処理の処理フローを示す。
【図１４】図１４は、差分バックアップ処理の処理フローを示す。
【図１５】図１５は、増分バックアップ処理の処理フローを示す。
【図１６】図１６は、リストア処理の処理フローを示す。
【図１７】図１７は、図１６に続くリストア処理の処理フローを示す。
【図１８】図１８は、図１７に続くリストア処理の処理フローを示す。
【図１９】図１９は、ペア再同期(通常)処理の処理フローを示す。
【図２０】図２０は、ペア分割処理の処理フローを示す。
【符号の説明】
【０１６０】
１００…ホスト計算機、１０１…記憶サブシステム、１２３…コントローラ、１２４…磁気ディスク、１２５…テープライブラリ装置、１３６…磁気テープ、２０１…制御メモリ
【図１】
2008059443.tif 000003
【図２】
2008059443.tif 000004
【図３】
2008059443.tif 000005
【図４】
2008059443.tif 000006
【図５】
2008059443.tif 000007
【図６】
2008059443.tif 000008
【図７】
2008059443.tif 000009
【図８】
2008059443.tif 000010
【図９】
2008059443.tif 000011
【図１０】
2008059443.tif 000012
【図１１】
2008059443.tif 000013
【図１２】
2008059443.tif 000014
【図１３】
2008059443.tif 000015
【図１４】
2008059443.tif 000016
【図１５】
2008059443.tif 000017
【図１６】
2008059443.tif 000018
【図１７】
2008059443.tif 000019
【図１８】
2008059443.tif 000020
【図１９】
2008059443.tif 000021
【図２０】
2008059443.tif 000022