(57)【要約】【課題】ある記憶装置から別の記憶装置へデータをコピーするのにかかる時間を短縮する。【解決手段】パリティ生成部１１１は、複数のデータを第１の記憶装置１０２に書き込む際に、それらのデータのうち第１のデータに付加されたダミーデータと、それらのデータのうち第１のデータ以外のデータとからパリティを生成する。そして、パリティ生成部１１１は、パリティを第２の記憶装置１０３に格納する。制御部１１２は、複数のデータを第１の記憶装置１０２から読み出して第２の記憶装置１０３に書き込む際に、読み出し処理と復元処理とを並行して行う。読み出し処理は、第１のデータを第１の記憶装置１０２から読み出して第２の記憶装置１０３に書き込む処理であり、復元処理は、ダミーデータとパリティとを用いて複数のデータのうち第２のデータを復元する処理である。【選択図】図１
2014182460.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータを第１の記憶装置に書き込む際に、前記複数のデータのうち第１のデータに付加されたダミーデータと、前記複数のデータのうち前記第１のデータ以外のデータとからパリティを生成し、前記パリティを第２の記憶装置に格納するパリティ生成部と、
前記複数のデータを前記第１の記憶装置から読み出して前記第２の記憶装置に書き込む際に、前記第１のデータを前記第１の記憶装置から読み出して前記第２の記憶装置に書き込む読み出し処理と、前記ダミーデータと前記パリティとを用いて前記複数のデータのうち第２のデータを復元する復元処理とを、並行して行う制御部と、
を備えることを特徴とするストレージ制御装置。
【請求項２】
前記制御部は、前記ダミーデータと前記パリティとを用いて前記第２のデータを復元する復元処理が終了した後、前記第１のデータのうち前記第２の記憶装置に書き込まれている部分データと、前記パリティのうちの部分パリティとを用いて、前記第２のデータのうちの部分データを復元する復元処理と、前記読み出し処理とを並行して行うことを特徴とする請求項１記載のストレージ制御装置。
【請求項３】
前記制御部は、前記第１のデータのうち読み出し中の部分データの位置と、前記第２のデータの部分データを復元するために用いられている前記第１のデータの部分データの位置との差分が所定値以下になった場合、初期間隔値を計算し、前記差分が前記初期間隔値以上になるまで次の部分データを復元しないことを特徴とする請求項２記載のストレージ制御装置。
【請求項４】
前記制御部は、前記第１のデータのうち読み出し未完了のデータのサイズと、前記第２のデータのうち復元未完了のデータのサイズと、前記第１のデータに対する前記読み出し処理の速度と、前記第２のデータに対する前記復元処理の速度とを用いて、前記初期間隔値を計算することを特徴とする請求項３記載のストレージ制御装置。
【請求項５】
複数のデータを第１の記憶装置に書き込む際に、前記複数のデータからパリティを生成し、前記パリティを第２の記憶装置に格納するパリティ生成部と、
前記複数のデータを前記第１の記憶装置から読み出して前記第２の記憶装置に書き込む際に、前記複数のデータのうち第１のデータを部分データ毎に前記第１の記憶装置から読み出して前記第２の記憶装置に書き込む読み出し処理と、前記複数のデータのうち第２のデータと前記パリティとを用いて、前記第１のデータに対して前記読み出し処理が行われる方向とは逆の方向に前記第１のデータを部分データ毎に復元する復元処理とを、並行して行う制御部と、
を備えることを特徴とするストレージ制御装置。
【請求項６】
前記制御部は、前記読み出し処理と前記復元処理とを並行して行う前に、前記第２のデータを前記第１の記憶装置から読み出して前記第２の記憶装置に書き込む読み出し処理と、前記第２のデータのうち前記第２の記憶装置に書き込まれた部分データと前記パリティのうちの部分パリティとを用いて、前記第１のデータのうちの部分データを復元する復元処理とを、並行して行うことを特徴とする請求項５記載のストレージ制御装置。
【請求項７】
前記制御部は、前記第２のデータのうち読み出し中の部分データの位置と、前記第１のデータの部分データを復元するために用いられている前記第２のデータの部分データの位置との差分が所定値以下になった場合、初期間隔値を計算し、前記差分が前記初期間隔値以上になるまで次の部分データを復元しないことを特徴とする請求項６記載のストレージ制御装置。
【請求項８】
前記制御部は、前記第２のデータのうち読み出し未完了のデータのサイズと、前記第１のデータのうち復元未完了のデータのサイズと、前記第２のデータに対する前記読み出し処理の速度と、前記第１のデータに対する前記復元処理の速度とを用いて、前記初期間隔値を計算することを特徴とする請求項７記載のストレージ制御装置。
【請求項９】
第１の記憶装置と、
第２の記憶装置と、
複数のデータを前記第１の記憶装置に書き込む際に、前記複数のデータのうち第１のデータに付加されたダミーデータと、前記複数のデータのうち前記第１のデータ以外のデータとからパリティを生成し、前記パリティを前記第２の記憶装置に格納し、前記複数のデータを前記第１の記憶装置から読み出して前記第２の記憶装置に書き込む際に、前記第１のデータを前記第１の記憶装置から読み出して前記第２の記憶装置に書き込む読み出し処理と、前記ダミーデータと前記パリティとを用いて前記複数のデータのうち第２のデータを復元する復元処理とを、並行して行うストレージ制御装置と、
を備えることを特徴とするストレージシステム。
【請求項１０】
第１の記憶装置と、
第２の記憶装置と、
複数のデータを前記第１の記憶装置に書き込む際に、前記複数のデータからパリティを生成し、前記パリティを前記第２の記憶装置に格納し、前記複数のデータを前記第１の記憶装置から読み出して前記第２の記憶装置に書き込む際に、前記複数のデータのうち第１のデータを部分データ毎に前記第１の記憶装置から読み出して前記第２の記憶装置に書き込む読み出し処理と、前記複数のデータのうち第２のデータと前記パリティとを用いて、前記第１のデータに対して前記読み出し処理が行われる方向とは逆の方向に前記第１のデータを部分データ毎に復元する復元処理とを、並行して行うストレージ制御装置と、
を備えることを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置及びストレージシステムに関する。
【背景技術】
【０００２】
仮想テープ装置は、テープライブラリ装置よりアクセス速度が高速な記憶装置に、仮想的なテープボリュームを割り当ててデータを格納することで、テープ運用を仮想的に行う装置である。この仮想的なテープボリュームは、論理ボリューム（Logical Volume）と呼ばれる。データを格納する記憶装置としては、例えば、ディスクアレイ装置等が用いられ、仮想テープ装置のバックエンドには、テープライブラリ装置が接続されていることが多い。
【０００３】
記憶装置内に空き領域がなくなると、いずれかの論理ボリュームがテープライブラリ装置内の磁気テープに書き込まれ、記憶装置から削除される。そして、削除された論理ボリュームへのアクセスが発生した場合には、その論理ボリュームのデータがテープライブラリ装置から記憶装置にコピーされる。論理ボリュームのデータをテープライブラリ装置から記憶装置にコピーする動作は、リコールと呼ばれることがある。
【０００４】
また、ディスク装置に記録されたデータをバックアップ装置に保存するバックアップシステムにおいて、データ復元用の冗長データを利用するバックアップ方法も知られている（例えば、特許文献１を参照）。
【０００５】
このバックアップ方法では、バックアップ対象となるデータが定められた大きさの分割データに分割され、データを記録する複数のデータ記録部の数より１少ない数の分割データに対してデータ復元用の冗長データが作成される。そして、対応する分割データ及び冗長データがそれぞれ異なるデータ記録部に記録される。
【０００６】
データを復元するときには、対応する分割データ及び冗長データが各データ記録部から読み込まれる。１つのデータ記録部から正常に分割データを読み込めなかった場合、対応する分割データ及び冗長データのうち、データ記録部から正常に読み込めた分割データ及び冗長データを用いて読み込めなかった分割データが作成される。そして、分割データを用いて分割前のデータが復元される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１５０３２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した従来の仮想テープ装置には、以下のような問題がある。
従来の仮想テープ装置では、リコールに伴いテープライブラリ装置からデータを読み出して記憶装置へ書き込む際に、搬送機構が磁気テープをテープドライブへマウントするため、データの読み出しを開始するまでに長い時間がかかる。さらに、磁気テープからのデータの読み出し中に読み出しエラーが発生した場合には、読み出しのリトライを行うための時間がかかる。このため、テープライブラリ装置から記憶装置へデータをコピーするのに長い時間がかかるという問題がある。
【０００９】
また、データ復元用の冗長データを利用するバックアップ方法では、データ記録部から正常に分割データを読み込めなかった場合にのみ、冗長データを用いて分割データが作成される。したがって、データの読み出しを開始するまでに長い時間がかかる点は改善されない。
【００１０】
なお、このような問題は、記録媒体として磁気テープを用いるテープライブラリ装置の場合に限らず、他の記録媒体を用いるライブラリ装置においても生ずるものである。
１つの側面において、本発明は、ある記憶装置から別の記憶装置へデータをコピーするのにかかる時間を短縮することを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、ストレージ制御装置は、パリティ生成部及び制御部を含む。
パリティ生成部は、複数のデータを第１の記憶装置に書き込む際に、それらのデータのうち第１のデータに付加されたダミーデータと、それらのデータのうち第１のデータ以外のデータとからパリティを生成する。そして、パリティ生成部は、パリティを第２の記憶装置に格納する。
【００１２】
制御部は、複数のデータを第１の記憶装置から読み出して第２の記憶装置に書き込む際に、読み出し処理と復元処理とを並行して行う。読み出し処理は、第１のデータを第１の記憶装置から読み出して第２の記憶装置に書き込む処理であり、復元処理は、ダミーデータとパリティとを用いて複数のデータのうち第２のデータを復元する処理である。
【発明の効果】
【００１３】
実施形態のストレージ制御装置によれば、ある記憶装置から別の記憶装置へデータをコピーするのにかかる時間を短縮することができる。
【図面の簡単な説明】
【００１４】
【図１】ストレージ制御装置の機能的構成図である。
【図２】ストレージシステムの構成図である。
【図３】ストレージ制御装置の構成図である。
【図４】ＬＶ管理情報を示す図である。
【図５】パリティ管理情報を示す図である。
【図６】ＬＶＧ情報を示す図である。
【図７】ライン情報を示す図である。
【図８】格納アドレス情報を示す図である。
【図９】測定情報を示す図である。
【図１０】書き込み処理のフローチャートである。
【図１１】シングルパリティの場合のコピー処理のフローチャートである。
【図１２】第１のストレージ制御方法に基づく読み出し処理のフローチャートである。
【図１３】第１のストレージ制御方法に基づく復元処理のフローチャートである。
【図１４】第１のストレージ制御方法に基づくコピー処理の第１の状態を示す図である。
【図１５】第１のストレージ制御方法に基づくコピー処理の第２の状態を示す図である。
【図１６】第１のストレージ制御方法に基づくコピー処理の第３の状態を示す図である。
【図１７】第１のストレージ制御方法に基づくコピー処理の第４の状態を示す図である。
【図１８】第１のストレージ制御方法に基づくコピー処理の第５の状態を示す図である。
【図１９】第１のストレージ制御方法に基づくコピー処理の第６の状態を示す図である。
【図２０】第１のストレージ制御方法に基づくコピー処理の第７の状態を示す図である。
【図２１】シングルパリティの場合の第２のストレージ制御方法に基づく読み出し処理のフローチャートである。
【図２２】シングルパリティの場合の第２のストレージ制御方法に基づく復元処理のフローチャートである。
【図２３】シングルパリティの場合の第２のストレージ制御方法に基づくコピー処理の第１の状態を示す図である。
【図２４】シングルパリティの場合の第２のストレージ制御方法に基づくコピー処理の第２の状態を示す図である。
【図２５】シングルパリティの場合の第２のストレージ制御方法に基づくコピー処理の第３の状態を示す図である。
【図２６】シングルパリティの場合の第２のストレージ制御方法に基づくコピー処理の第４の状態を示す図である。
【図２７】シングルパリティの場合の第２のストレージ制御方法に基づくコピー処理の第５の状態を示す図である。
【図２８】シングルパリティの場合の第２のストレージ制御方法に基づくコピー処理の第６の状態を示す図である。
【図２９】シングルパリティの場合の第２のストレージ制御方法に基づくコピー処理の第７の状態を示す図である。
【図３０】シングルパリティの場合の第２のストレージ制御方法に基づくコピー処理の第８の状態を示す図である。
【図３１】ダブルパリティの場合のコピー処理のフローチャートである。
【図３２】ダブルパリティの場合の第２のストレージ制御方法に基づく読み出し処理のフローチャートである。
【図３３】ダブルパリティの場合の第２のストレージ制御方法に基づく復元処理のフローチャートである。
【図３４】ダブルパリティの場合の第２のストレージ制御方法に基づく第１のコピー処理の第１の状態を示す図である。
【図３５】ダブルパリティの場合の第２のストレージ制御方法に基づく第１のコピー処理の第２の状態を示す図である。
【図３６】ダブルパリティの場合の第２のストレージ制御方法に基づく第１のコピー処理の第３の状態を示す図である。
【図３７】ダブルパリティの場合の第２のストレージ制御方法に基づく第１のコピー処理の第４の状態を示す図である。
【図３８】ダブルパリティの場合の第２のストレージ制御方法に基づく第１のコピー処理の第５の状態を示す図である。
【図３９】第２のストレージ制御方法に基づくパリティＰ及びパリティＱを用いた復元処理のフローチャートである。
【図４０】第２のストレージ制御方法に基づくパリティＰのみを用いた復元処理のフローチャートである。
【図４１】ダブルパリティの場合の第２のストレージ制御方法に基づく第２のコピー処理の第１の状態を示す図である。
【図４２】ダブルパリティの場合の第２のストレージ制御方法に基づく第２のコピー処理の第２の状態を示す図である。
【図４３】ダブルパリティの場合の第２のストレージ制御方法に基づく第２のコピー処理の第３の状態を示す図である。
【図４４】ダブルパリティの場合の第２のストレージ制御方法に基づく第２のコピー処理の第４の状態を示す図である。
【図４５】ダブルパリティの場合の第２のストレージ制御方法に基づく第２のコピー処理の第５の状態を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、実施形態のストレージ制御装置の機能的構成例を示している。図１のストレージ制御装置１０１は、パリティ生成部１１１及び制御部１１２を含み、第１又は第２のストレージ制御方法により、第１の記憶装置１０２及び第２の記憶装置１０３を制御する。
【００１６】
ストレージ制御装置１０１から第２の記憶装置１０３に対するアクセス速度は、ストレージ制御装置１０１から第１の記憶装置１０２に対するアクセス速度よりも高速である。第１の記憶装置１０２は、例えば、記録媒体として磁気テープ又は光ディスク等の可搬型記録媒体を用いたライブラリ装置であり、第２の記憶装置１０３は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、又はディスクアレイ装置である。
【００１７】
第１のストレージ制御方法において、パリティ生成部１１１は、複数のデータを第１の記憶装置１０２に書き込む際に、それらのデータのうち第１のデータに付加されたダミーデータと、それらのデータのうち第１のデータ以外のデータとからパリティを生成する。そして、パリティ生成部１１１は、パリティを第２の記憶装置１０３に格納する。
【００１８】
制御部１１２は、複数のデータを第１の記憶装置１０２から読み出して第２の記憶装置１０３に書き込む際に、読み出し処理と復元処理とを並行して行う。読み出し処理は、第１のデータを第１の記憶装置１０２から読み出して第２の記憶装置１０３に書き込む処理であり、復元処理は、ダミーデータとパリティとを用いて複数のデータのうち第２のデータを復元する処理である。
【００１９】
第１のストレージ制御方法によれば、第１の記憶装置１０２から第２の記憶装置１０３へデータをコピーするのにかかる時間を短縮することができる。
【００２０】
第２のストレージ制御方法において、パリティ生成部１１１は、複数のデータを第１の記憶装置１０２に書き込む際に、それらのデータからパリティを生成し、パリティを第２の記憶装置１０３に格納する。
【００２１】
制御部１１２は、複数のデータを第１の記憶装置１０２から読み出して第２の記憶装置１０３に書き込む際に、読み出し処理と復元処理とを並行して行う。読み出し処理は、複数のデータのうち第１のデータを部分データ毎に第１の記憶装置１０２から読み出して第２の記憶装置１０３に書き込む処理である。一方、復元処理は、第１のデータに対して読み出し処理が行われる方向とは逆の方向に、複数のデータのうち第２のデータとパリティとを用いて第１のデータを部分データ毎に復元する処理である。
【００２２】
第２のストレージ制御方法によれば、第１の記憶装置１０２から第２の記憶装置１０３へデータをコピーするのにかかる時間を短縮することができる。
【００２３】
図２は、図１のストレージ制御装置１０１を含むストレージシステムの構成例を示している。図２のストレージシステム２０１は、ストレージ制御装置１０１、テープライブラリ装置２１１、及びディスクアレイ装置２１２を含む。テープライブラリ装置２１１及びディスクアレイ装置２１２は、図１の第１の記憶装置１０２及び第２の記憶装置１０３にそれぞれ対応する。ストレージ制御装置１０１には、ホスト装置２０２が接続されている。
【００２４】
ホスト装置２０２は、ストレージ制御装置１０１へアクセス要求を送信することで、ストレージシステム２０１に格納されたデータにアクセスする。ストレージ制御装置１０１は、ホスト装置２０２とディスクアレイ装置２１２との間のデータ転送動作や、ディスクアレイ装置２１２とテープライブラリ装置２１１との間のデータ転送動作を制御する。
【００２５】
ストレージ制御装置１０１及びディスクアレイ装置２１２は、仮想テープ装置として動作し、テープライブラリ装置２１１は、バックエンドのライブラリ装置として動作する。ホスト装置２０２は、仮想テープ装置とデータの送受信を行うことで、テープライブラリ装置２１１に対して仮想的にアクセスすることができる。
【００２６】
テープライブラリ装置２１１は、複数の磁気テープを収容する格納部、１つ以上のテープドライブ、磁気テープを搬送する搬送機構、及びテープドライブと搬送機構とを制御する制御部を含む。
【００２７】
第１の記憶装置１０２として他のライブラリ装置を用いることも可能であり、ライブラリ装置の記録媒体としては、磁気テープ以外にも、光ディスク、光磁気ディスク、磁気ディスク等を用いることができる。
【００２８】
図３は、ストレージ制御装置１０１の構成例を示している。図３のストレージ制御装置１０１は、情報処理装置（コンピュータ）であり、Central Processing Unit（ＣＰＵ）３０１、メモリ３０２、及び補助記憶装置３０３を含む。ストレージ制御装置１０１は、さらに、テープインタフェース３０４、入力インタフェース３０５、媒体駆動装置３０６、ホストインタフェース３０７、及びディスクインタフェース３０８を含む。これらの構成要素はバス３０９により互いに接続されている。
【００２９】
メモリ３０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、制御に用いられるプログラム及びデータを格納する。
【００３０】
ＣＰＵ３０１（プロセッサ）は、例えば、メモリ３０２を利用してプログラムを実行することにより、図１のパリティ生成部１１１及び制御部１１２として動作する。
【００３１】
補助記憶装置３０３は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等である。この補助記憶装置３０３には、ハードディスクドライブも含まれる。ストレージ制御装置１０１は、補助記憶装置３０３にプログラム及びデータを格納しておき、それらをメモリ３０２にロードして使用することができる。
【００３２】
テープインタフェース３０４は、テープライブラリ装置２１１との間でデータを送受信する通信インタフェースである。ホストインタフェース３０７は、ホスト装置２０２との間でデータを送受信する通信インタフェースである。ディスクインタフェース３０８は、ディスクアレイ装置２１２との間でデータを送受信する通信インタフェースである。
【００３３】
入力インタフェース３０５には、入力装置３１１が接続される。入力装置３１１は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。入力装置３１１は、ストレージ制御装置１０１に含まれていてもよい。
【００３４】
媒体駆動装置３０６は、可搬型記録媒体３１２を駆動し、その記録内容にアクセスする。可搬型記録媒体３１２は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体３１２には、Compact Disk Read Only Memory （ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等も含まれる。ユーザ又はオペレータは、この可搬型記録媒体３１２にプログラム及びデータを格納しておき、それらをメモリ３０２にロードして使用することができる。
【００３５】
このように、制御に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ３０２、補助記憶装置３０３、及び可搬型記録媒体３１２のような、物理的な（非一時的な）記録媒体が含まれる。
【００３６】
ストレージ制御装置１０１は、さらにネットワーク接続装置を含んでいてもよい。このネットワーク接続装置は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ストレージ制御装置１０１は、プログラム及びデータを外部の装置からネットワーク接続装置を介して受信し、それらをメモリ３０２にロードして使用することができる。
【００３７】
なお、ストレージ制御装置１０１が図３のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータがストレージ制御装置１０１に指示を入力する必要がない場合は、入力インタフェース３０５及び入力装置３１１を省略してもよい。
【００３８】
図２のホスト装置２０２についても、図３のような情報処理装置として実装することができる。
【００３９】
ストレージ制御装置１０１からテープライブラリ装置２１１へのデータ転送は、１つ以上の論理ボリューム（ＬＶ）からなる論理ボリュームグループ（ＬＶＧ）を単位として実行される。補助記憶装置３０３は、例えば、ＬＶ管理情報及びパリティ管理情報を制御データとして記憶し、メモリ３０２は、例えば、測定情報を制御データとして記憶する。ＬＶ管理情報及びパリティ管理情報は、ディスクアレイ装置２１２に格納されていてもよい。
【００４０】
ＬＶ管理情報は、テープライブラリ装置２１１に格納されている各論理ボリュームに関する情報であり、パリティ管理情報は、ディスクアレイ装置２１２に格納されている各論理ボリュームグループのパリティに関する情報である。また、測定情報は、ストレージシステム２０１の動作中に測定される情報に基づいて、更新される情報である。
【００４１】
ストレージ制御装置１０１のパリティ生成部１１１は、論理ボリュームグループをテープライブラリ装置２１１へ転送する際に、その論理ボリュームグループに属する各論理ボリュームのデータを用いてパリティを生成する。そして、パリティ生成部１１１は、生成したパリティをディスクアレイ装置２１２に格納する。
【００４２】
制御部１１２は、ホスト装置２０２からのアクセス要求に応じて、テープライブラリ装置２１１に対してデータの読み出しを要求する。次に、制御部１１２は、テープライブラリ装置２１１から読み出されたデータを、ディスクアレイ装置２１２に書き込む。そして、制御部１１２は、ディスクアレイ装置２１２からデータを読み出し、ホスト装置２０２へ送信する。
【００４３】
このとき、制御部１１２は、１つの論理ボリュームグループに属する複数の論理ボリュームのデータのうち、一部のデータをテープライブラリ装置２１１から読み出さずに、ディスクアレイ装置２１２に格納されたパリティを用いてそのデータを復元する。
【００４４】
テープライブラリ装置２１１からデータを読み出すのにかかる時間は、ディスクアレイ装置２１２からデータを読み出すのにかかる時間と比較して長いと考えられる。しかし、一部のデータを読み出さずにパリティを用いて復元することで、実際に読み出されるデータ量が減少し、テープライブラリ装置２１１からディスクアレイ装置２１２へ論理ボリュームグループをコピーするのにかかる時間が短縮される。
【００４５】
制御部１１２は、論理ボリュームグループ内の一部のデータを、その論理ボリュームグループ内のデータのうち、テープライブラリ装置２１１から読み出し済みのデータと、ディスクアレイ装置２１２に格納されたパリティとを用いて復元する。
【００４６】
図４は、ＬＶ管理情報の例を示している。図４のＬＶ管理情報は、ストレージシステム上で定義された論理ボリュームが、どの磁気テープのどの位置に格納されているかを示す情報を保持する。ＬＶ管理情報は、論理ボリューム毎に設けられ、「ＬＶ番号」、「格納先テープ番号」、「ＬＶサイズ」、及び「先頭アドレス」を含む。
【００４７】
「ＬＶ番号」は、対応する論理ボリュームを識別するための識別情報である。「格納先テープ番号」は、対応する論理ボリュームが格納された磁気テープを識別するための識別情報である。「ＬＶサイズ」は、対応する論理ボリュームのサイズを示す情報である。「先頭アドレス」は、「格納先テープ番号」が示す磁気テープにおいて、対応する論理ボリュームが格納された領域の先頭アドレスを示す情報である。
【００４８】
制御部１１２は、アクセス対象の論理ボリュームがディスクアレイ装置２１２内に存在しない場合、ＬＶ管理情報を参照して、その論理ボリュームが格納されている磁気テープを特定する。そして、制御部１１２は、特定した磁気テープからその論理ボリュームのデータを読み出して、ディスクアレイ装置２１２に書き込む。
【００４９】
図５は、パリティ管理情報の例を示している。図５のパリティ管理情報は、複数の論理ボリュームグループに共通する情報として「パリティサイズ」を含み、論理ボリュームグループ毎にＬＶＧ情報を含む。「パリティサイズ」は、パリティの１ブロック当たりのサイズを示し、データの１ブロック当たりのサイズであるブロックサイズと一致する。
【００５０】
図６は、図５の各ＬＶＧ情報の例を示している。図６のＬＶＧ情報は、「ＬＶＧ番号」、「ＬＶ数」、「ＬＶリスト」、「パリティ種別」、「ＬＶサイズ１」、「ＬＶサイズ２」、「ＬＶサイズ３」、「ＬＶサイズ４」、及び「ライン数」を含む。
【００５１】
「ＬＶＧ番号」は、対応する論理ボリュームグループを識別するための識別情報である。「ＬＶ数」は、対応する論理ボリュームグループに属する論理ボリュームの数を示す。「ＬＶリスト」は、対応する論理ボリュームグループに属する論理ボリュームのＬＶ番号のリストである。なお、どの論理ボリュームグループにどの論理ボリュームを所属させるかは、例えば、ホスト装置２０２を通じてユーザが設定可能であり、「ＬＶ数」及び「ＬＶリスト」には、ユーザの設定操作に応じた情報が登録される。
【００５２】
「パリティ種別」は、対応する論理ボリュームグループをテープライブラリ装置２１１内の磁気テープに書き込む際に生成されるパリティの種別を示す。１種類のパリティ（パリティＰ）のみを生成する場合は、「パリティ種別」として「シングルパリティ」が登録され、２種類のパリティ（パリティＰとパリティＱ）を生成する場合は、「パリティ種別」として「ダブルパリティ」が登録される。なお、「パリティ種別」についても、例えば、ユーザの設定操作に応じた情報が登録される。
【００５３】
「ＬＶサイズ１」は、対応する論理ボリュームグループに属する論理ボリュームのうち、最大の論理ボリュームのサイズを示す。「ＬＶサイズ２」は、対応する論理ボリュームグループに属する論理ボリュームのうち、２番目に大きい論理ボリュームのサイズを示す。「ＬＶサイズ３」は、対応する論理ボリュームグループに属する論理ボリュームのうち、３番目に大きい論理ボリュームのサイズを示す。「ＬＶサイズ４」は、対応する論理ボリュームグループに属する論理ボリュームのうち、最小の論理ボリュームのサイズを示す。
【００５４】
「ライン数」は、対応する論理ボリュームグループに属する論理ボリュームのうち、最大の論理ボリュームに含まれるブロックの数を示す。「ライン数」は、「ＬＶサイズ１」を「パリティサイズ」（ブロックサイズ）で除算することで得られる。
【００５５】
「ＬＶサイズ１」、「ＬＶサイズ２」、「ＬＶサイズ３」、「ＬＶサイズ４」、及び「ライン数」は、例えば、論理ボリュームグループに所属させる論理ボリュームが設定されたときに、制御部１１２によって自動的に登録される。なお、「ＬＶサイズ３」は、「パリティ種別」が「ダブルパリティ」である場合に登録される。
【００５６】
さらに、ＬＶＧ情報は、ライン毎にライン情報を含む。ライン情報の数は、「ライン数」と一致する。
【００５７】
図７は、図６の各ライン情報の例を示している。図７のライン情報は、「ライン番号」、「ＬＶ数」、及び「ＬＶリスト」を含む。
【００５８】
「ライン番号」は、対応するラインを識別するための識別情報である。「ＬＶ数」は、対応する論理ボリュームグループに属する論理ボリュームの数に、パリティの数を加えた数を示す。
【００５９】
論理ボリュームグループに対して生成されるパリティには、フローティング領域に属する１つ以上の論理ボリュームが割り当てられる。例えば、シングルパリティの場合は、フローティング領域に属する１つの論理ボリュームが割り当てられ、ダブルパリティの場合は、フローティング領域に属する２つの論理ボリュームが割り当てられる。したがって、ライン情報の「ＬＶ数」は、シングルパリティの場合はＬＶＧ情報の「ＬＶ数」＋１であり、ダブルパリティの場合はＬＶＧ情報の「ＬＶ数」＋２である。
【００６０】
「ＬＶリスト」は、対応する論理ボリュームグループに属する論理ボリュームのＬＶ番号と、パリティに割り当てられた論理ボリュームのＬＶ番号とからなるリストである。
【００６１】
さらに、ライン情報は、論理ボリューム毎に格納アドレス情報を含む。格納アドレス情報の数は、ライン情報の「ＬＶ数」と一致する。
【００６２】
図８は、図７の各格納アドレス情報の例を示している。図８の格納アドレス情報は、「ＬＶ番号」、「開始アドレス」、及び「終了アドレス」を含む。
【００６３】
「ＬＶ番号」は、対応する論理ボリュームを識別するための識別情報である。「開始アドレス」は、対応する論理ボリュームのデータ又はパリティのうち、対応するラインに属する１ブロック分の部分データ又は部分パリティが格納される、ディスクアレイ装置２１２内の格納領域の開始アドレスを示す。「終了アドレス」は、その格納領域の終了アドレスを示す。
【００６４】
図９は、測定情報の例を示している。測定情報は、テープライブラリ装置２１１からデータを読み出してディスクアレイ装置２１２に書き込む際に、制御部１１２によって生成され、参照される。図９の測定情報は、「ＬＶＧ番号」、「読み出し中ライン番号」、「復元中ライン番号１」、「復元中ライン番号２」、「初期間隔値１」、「初期間隔値２」、「読み出し処理速度」、「復元処理速度１」、及び「復元処理速度２」を含む。
【００６５】
「ＬＶＧ番号」は、処理対象の論理ボリュームグループを識別するための識別情報である。制御部１１２は、１つの論理ボリュームグループのデータをテープライブラリ装置２１１から読み出してディスクアレイ装置２１２へ書き込むコピー処理を実行する際に、その論理ボリュームグループの「ＬＶＧ番号」を含む測定情報をメモリ３０２内に生成する。その後、論理ボリュームグループ全体がディスクアレイ装置２１２に書き込まれるまでの間、生成された測定情報における「ＬＶＧ番号」以外の情報が、制御部１１２によって随時更新される。
【００６６】
「読み出し中ライン番号」は、磁気テープから読み出し中の論理ボリュームにおいて、どのラインのデータが読み出し中であるかを示すライン番号である。「復元中ライン番号１」は、パリティを用いて復元中の論理ボリュームにおいて、どのラインのデータが復元中であるかを示すライン番号である。「復元中ライン番号２」は、２つの論理ボリュームのデータを並行して復元する場合に追加される情報であり、パリティを用いて復元中の２番目の論理ボリュームにおいて、どのラインのデータが復元中であるかを示すライン番号である。
【００６７】
「初期間隔値１」は、パリティを用いてデータを復元するタイミングを決定するために用いられるライン数を示す。制御部１１２は、ある論理ボリュームにおける復元中のラインと、別の論理ボリュームにおける読み出し中又は復元中のラインとの間隔が、「初期間隔値１」が示すライン数以上になるように制御する。
【００６８】
「初期間隔値２」は、２つの論理ボリュームのデータを並行して復元する場合に追加される情報である。「初期間隔値２」は、２つの論理ボリュームのうち２番目の論理ボリュームのデータを、パリティを用いて復元するタイミングを決定するために用いられるライン数を示す。「初期間隔値１」及び「初期間隔値２」は、制御部１１２によって計算される。
【００６９】
「読み出し処理速度」は、制御部１１２による磁気テープからの論理ボリュームの読み出し処理速度の測定結果であり、単位時間当たりに読み出されるデータのサイズを示す。「復元処理速度１」は、制御部１１２によるパリティを用いた論理ボリュームの復元処理速度の測定結果であり、単位時間当たりに復元されるデータのサイズを示す。「復元処理速度２」は、２つの論理ボリュームのデータを並行して復元する場合に追加される情報であり、２つの論理ボリュームのうち２番目の論理ボリュームの復元処理速度の測定結果を示す。
【００７０】
図１０は、第１及び第２のストレージ制御方法において、ディスクアレイ装置２１２のデータをテープライブラリ装置２１１へ書き込む書き込み処理の例を示すフローチャートである。
【００７１】
まず、制御部１１２は、図５のパリティ管理情報において、書き込み対象の論理ボリュームグループのＬＶＧ番号に対応するＬＶＧ情報を参照し、ＬＶリストに含まれる各ＬＶ番号を読み出す（ステップ１００１）。
【００７２】
次に、制御部１１２は、図４のＬＶ管理情報を参照して、各ＬＶ番号に対応するＬＶサイズを読み出し（ステップ１００２）、すべてのＬＶサイズが同じであるか否かをチェックする（ステップ１００３）。
【００７３】
すべてのＬＶサイズが同じでない場合（ステップ１００３，ＮＯ）、制御部１１２は、その論理ボリュームグループに属する論理ボリュームのうち、最大サイズの論理ボリューム以外の論理ボリュームに対してダミーデータを付加する（ステップ１００４）。
【００７４】
ダミーデータは、各論理ボリュームのデータと区別可能なデータであり、例えば、“０”のような所定値を有する。最大サイズの論理ボリューム以外の論理ボリュームに対して、その論理ボリュームのサイズと最大サイズとの差分のサイズのダミーデータを付加することで、各論理ボリュームのサイズを最大サイズに揃えることができる。
【００７５】
なお、複数の論理ボリュームの差分のサイズの和に対応するダミーデータの格納領域を確保する必要はなく、例えば、１ブロックのサイズの格納領域だけを確保してもよい。そして、その格納領域に１ブロック分のダミーデータを格納しておき、各論理ボリュームに付加されたダミーデータの格納アドレス情報として、その格納領域のアドレスを登録すればよい。この場合、図７の格納アドレス情報のうちダミーデータの格納アドレス情報については、図８の開始アドレス及び終了アドレスとして、ダミーデータの格納領域の開始アドレス及び終了アドレスが登録される。
【００７６】
以下の説明では、論理ボリュームにダミーデータが付加されているとき、付加されたダミーデータを含む全体のデータを論理ボリュームのデータと呼ぶことがある。ただし、ダミーデータは、パリティ生成のために一時的に付加されるデータであるため、テープライブラリ装置２１１に書き込まれる必要はない。
【００７７】
次に、パリティ生成部１１１は、各論理ボリュームのブロックのデータをライン番号順にディスクアレイ装置２１２から読み出し、それらのデータを用いてパリティを生成する（ステップ１００５）。「パリティ種別」は「シングルパリティ」の場合、パリティＰが生成され、「パリティ種別」が「ダブルパリティ」の場合、パリティＰ及びパリティＱが生成される。
【００７８】
このとき、パリティ生成部１１１は、ライン番号に対応する図７のライン情報を参照して、ＬＶリストに含まれる各論理ボリュームのＬＶ番号を読み出す。そして、パリティ生成部１１１は、そのＬＶ番号に対応する図８の格納アドレス情報を参照して、開始アドレス及び終了アドレスにより示されるディスクアレイ装置２１２の格納領域から、対応するブロックのデータを読み出す。
【００７９】
最大サイズの論理ボリューム以外の論理ボリュームでは、読み出されるブロックのデータがダミーデータではない場合もあり、ダミーデータである場合もある。最大サイズの論理ボリューム以外の論理ボリュームに対してダミーデータを付加することで、各論理ボリュームのサイズが均等でない場合でも、パリティを生成できるようになる。
【００８０】
パリティ生成部１１１は、図７のライン情報のＬＶリストに含まれる、パリティに割り当てられた論理ボリュームのＬＶ番号を読み出す。そして、パリティ生成部１１１は、そのＬＶ番号に対応する図８の格納アドレス情報を参照して、開始アドレス及び終了アドレスにより示されるディスクアレイ装置２１２の格納領域に、生成したパリティを書き込む。
【００８１】
次に、制御部１１２は、各論理ボリュームのデータをディスクアレイ装置２１２から読み出してテープライブラリ装置２１１に書き込む（ステップ１００６）。
【００８２】
このとき、制御部１１２は、各ライン番号に対応する図７のライン情報を参照して、ＬＶリストに含まれる各論理ボリュームのＬＶ番号を読み出す。次に、制御部１１２は、そのＬＶ番号に対応する図８の格納アドレス情報を参照して、開始アドレス及び終了アドレスにより示されるディスクアレイ装置２１２の格納領域から、対応するブロックのデータを読み出す。そして、制御部１１２は、読み出したデータをテープライブラリ装置２１１へ転送する。
【００８３】
テープライブラリ装置２１１は、例えば、未使用の磁気テープを順次選択して、制御部１１２から受信したデータを選択した磁気テープに書き込んでいく。制御部１１２は、各論理ボリュームのデータが書き込まれた磁気テープのテープ番号と、その磁気テープにおける書き込み位置を、テープライブラリ装置２１１から受信する。そして、制御部１１２は、受信したテープ番号及び書き込み位置を、各論理ボリュームのＬＶ番号に対応する図４のＬＶ管理情報に、格納先テープ番号及び先頭アドレスとして登録する。
【００８４】
なお、すべてのＬＶサイズが同じである場合（ステップ１００３，ＹＥＳ）、パリティ生成部１１１及び制御部１１２は、ダミーデータを付加することなく、ステップ１００５以降の処理を行う。
【００８５】
次に、図１１から図２０までを参照しながら、第１のストレージ制御方法の実施形態について説明する。
【００８６】
図１１は、第１のストレージ制御方法において、１つの論理ボリュームグループのデータをテープライブラリ装置２１１から読み出してディスクアレイ装置２１２へ書き込むコピー処理の例を示すフローチャートである。この例では、「パリティ種別」は「シングルパリティ」である。
【００８７】
この場合、図６のＬＶＧ情報のうち、「ＬＶサイズ１」、「ＬＶサイズ２」、及び「ＬＶサイズ３」を省略することができ、図９の測定情報のうち、「復元中ライン番号２」、「初期間隔値２」、及び「復元処理速度２」を省略することができる。
【００８８】
まず、制御部１１２は、図５のパリティ管理情報において、コピー対象の論理ボリュームグループのＬＶＧ番号に対応するＬＶＧ情報を参照し、ＬＶリストに含まれる各ＬＶ番号を読み出す（ステップ１１０１）。
【００８９】
次に、制御部１１２は、図４のＬＶ管理情報を参照して、各ＬＶ番号に対応するＬＶサイズを読み出し（ステップ１１０２）、ＬＶサイズに基づいて論理ボリュームの処理順位を決定する（ステップ１１０３）。
【００９０】
このとき、制御部１１２は、例えば、コピー対象の論理ボリュームグループに属するＮ個（Ｎは２以上の整数）の論理ボリュームのうち、最大サイズの論理ボリュームの処理順位をＮ番目（最後）に決定する。また、制御部１１２は、例えば、最小サイズの論理ボリュームの処理順位を（Ｎ−１）番目に決定する。そして、Ｎが３以上の整数の場合、制御部１１２は、残りの（Ｎ−２）個の論理ボリュームの処理順位を、例えば、サイズが小さい方から順に１番目〜（Ｎ−２）番目に決定する。
【００９１】
次に、制御部１１２は、読み出しが未完了である残りの論理ボリュームの数が２であるか否かチェックする（ステップ１１０４）。残りの論理ボリュームの数が３以上である場合（ステップ１１０４，ＮＯ）、制御部１１２は、読み出し順が最も前の論理ボリュームを選択する（ステップ１１０５）。そして、制御部１１２は、選択した論理ボリュームのデータをテープライブラリ装置２１１から読み出して、ディスクアレイ装置２１２に書き込む。
【００９２】
このとき、制御部１１２は、選択した論理ボリュームのＬＶ番号に対応する図４のＬＶ管理情報を参照して、格納先テープ番号により示される磁気テープからブロック単位でデータを読み出す。次に、制御部１１２は、各ブロックのライン番号に対応する図７のライン情報において、ＬＶ番号に対応する図８の格納アドレス情報を参照する。そして、制御部１１２は、開始アドレス及び終了アドレスにより示されるディスクアレイ装置２１２の格納領域に、読み出したデータを書き込み、ステップ１１０４以降の処理を繰り返す。
【００９３】
一方、残りの論理ボリューム数が２である場合（ステップ１１０４，ＹＥＳ）、制御部１１２は、コピー対象の論理ボリュームグループのＬＶＧ番号に対応する測定情報をメモリ３０２内に生成する（ステップ１１０６）。
【００９４】
このとき、制御部１１２は、図９の測定情報の「読み出し中ライン番号」に、論理ボリュームグループにおける先頭のライン番号を登録し、「読み出し処理速度」に所定の初期値を登録する。
【００９５】
そして、制御部１１２は、読み出し処理と復元処理とを並行して行う並行処理を実行する（ステップ１１０７）。
【００９６】
図１２は、図１１のステップ１１０７における読み出し処理の例を示すフローチャートである。図１２の読み出し処理の対象は、処理順位が（Ｎ−１）番目の論理ボリューム（最小サイズの論理ボリューム）である。
【００９７】
まず、制御部１１２は、読み出し処理の対象である論理ボリュームのブロックのうち、測定情報の「読み出し中ライン番号」に対応するブロックを選択する（ステップ１２０１）。そして、制御部１１２は、選択したブロックのデータをテープライブラリ装置２１１から読み出して、ディスクアレイ装置２１２に書き込む。
【００９８】
このとき、制御部１１２は、読み出し処理の対象である論理ボリュームのＬＶ番号に対応する図４のＬＶ管理情報を参照して、格納先テープ番号により示される磁気テープから、選択したブロックのデータを読み出す。次に、制御部１１２は、選択したブロックのライン番号に対応する図７のライン情報において、ＬＶ番号に対応する図８の格納アドレス情報を参照する。そして、制御部１１２は、開始アドレス及び終了アドレスにより示されるディスクアレイ装置２１２の格納領域に、読み出したデータを書き込む。
【００９９】
次に、制御部１１２は、論理ボリュームに含まれる全ブロックの読み出しが完了したか否かをチェックする（ステップ１２０２）。全ブロックの読み出しが完了していない場合（ステップ１２０２，ＮＯ）、制御部１１２は、論理ボリュームの先頭ブロックから直前に読み出したブロックまでの読み出し処理速度を計算する（ステップ１２０３）。そして、制御部１１２は、図９の測定情報の「読み出し処理速度」を、計算した読み出し処理速度により更新する。
【０１００】
なお、制御部１１２は、（Ｎ−１）番目の論理ボリュームの読み出し処理速度の代わりに、１番目の論理ボリュームの先頭ブロックから（Ｎ−１）番目の論理ボリュームの直前に読み出したブロックまでの読み出し処理速度を計算してもよい。
【０１０１】
次に、制御部１１２は、測定情報の「読み出し中ライン番号」を１だけインクリメントして（ステップ１２０４）、ステップ１２０１以降の処理を繰り返す。そして、全ブロックの読み出しが完了した場合（ステップ１２０２，ＹＥＳ）、読み出し処理を終了する。
【０１０２】
図１３は、図１１のステップ１１０７における復元処理の例を示すフローチャートである。図１３の復元処理の対象は、処理順位がＮ番目の論理ボリューム（最大サイズの論理ボリューム）であり、復元処理は、図１２の読み出し処理と並行して実行される。
【０１０３】
図１４〜図２０は、第１のストレージ制御方法に基づくコピー処理の例を示している。この例では、コピー対象の論理ボリュームグループに属する論理ボリュームは、ＬＶ０及びＬＶ１の２つであり、「パリティ種別」は「シングルパリティ」である。
【０１０４】
図１４に示す第１の状態において、ＬＶ０は、最大サイズの論理ボリュームに対応し、そのサイズは１７ブロック分に相当する。一方、ＬＶ１は、最小サイズの論理ボリュームに対応し、そのサイズは１１ブロック分に相当する。したがって、ディスクアレイ装置２１２内におけるＬＶ０及びＬＶ１の各々の格納領域は、ライン番号０〜ライン番号１６に対応する１７ブロックの領域である。この場合、ＬＶ０は、復元処理の対象の論理ボリュームであり、ＬＶ１は、読み出し処理の対象の論理ボリュームである。
【０１０５】
ＬＶ１の格納領域のうち、ライン番号０〜ライン番号１０に対応する１１ブロックの領域には、テープライブラリ装置２１１から読み出されるデータが格納される。また、ライン番号１１〜ライン番号１６に対応する６ブロックの領域には、ダミーデータが格納されている。一方、ＬＶ０の格納領域には、ＬＶ１のデータとパリティとを用いて復元されたデータが格納される。
【０１０６】
まず、制御部１１２は、読み出し処理の対象である論理ボリュームのダミーデータが格納されているブロックのうち、先頭ブロックのライン番号を、図９の測定情報の「復元中ライン番号１」に登録する（ステップ１３０１）。そして、測定情報の「復元処理速度１」に所定の初期値を登録する。
【０１０７】
次に、制御部１１２は、復元処理の対象である論理ボリュームのブロックのうち、「復元中ライン番号１」に対応するブロックを選択する（ステップ１３０３）。そして、制御部１１２は、同じライン番号に対応する他の論理ボリュームのブロック及びパリティのブロックのデータを、ディスクアレイ装置２１２から読み出す。制御部１１２は、読み出した各ブロックのデータを用いて、選択したブロックのデータを復元し、復元したブロックのデータをディスクアレイ装置２１２に書き込む。
【０１０８】
このとき、制御部１１２は、「復元中ライン番号１」に対応する図７のライン情報を参照して、ＬＶリストに含まれる各論理ボリュームのＬＶ番号を読み出す。そして、制御部１１２は、そのＬＶ番号に対応する図８の格納アドレス情報を参照して、開始アドレス及び終了アドレスにより示されるディスクアレイ装置２１２の格納領域から、対応するブロックのデータを読み出す。
【０１０９】
「復元中ライン番号１」に対応する他の論理ボリュームのうち、読み出し処理の対象以外の論理ボリュームでは、読み出されるブロックのデータが、図１１のステップ１１０５でテープライブラリ装置２１１から読み出されたデータである場合がある。また、読み出し処理の対象以外の論理ボリュームでは、読み出されるブロックのデータがダミーデータである場合もある。一方、読み出し処理の対象である論理ボリュームでは、読み出されるブロックのデータはダミーデータである。いずれの論理ボリュームについても、「復元中ライン番号１」に対応するブロックのデータは、既にディスクアレイ装置２１２に格納されている。
【０１１０】
制御部１１２は、復元処理の対象である論理ボリュームのＬＶ番号に対応する図８の格納アドレス情報を参照して、開始アドレス及び終了アドレスにより示されるディスクアレイ装置２１２の格納領域に、復元したブロックのデータを書き込む。
【０１１１】
次に、制御部１１２は、復元処理の対象である論理ボリュームの全ブロックの復元が完了したか否かをチェックする（ステップ１３０４）。全ブロックの復元が完了していない場合（ステップ１３０４，ＮＯ）、制御部１１２は、論理ボリュームの復元開始位置のブロックから直前に復元したブロックまでの復元処理速度を計算する（ステップ１３０５）。そして、制御部１１２は、図９の測定情報の「復元処理速度１」を、計算した復元処理速度により更新する。
【０１１２】
次に、制御部１１２は、測定情報の「復元中ライン番号１」を１だけインクリメントする（ステップ１３０６）。ただし、現在の「復元中ライン番号１」が最終ラインのライン番号である場合は、「復元中ライン番号１」を先頭ラインのライン番号に更新する。
【０１１３】
次に、制御部１１２は、測定情報の「復元中ライン番号１」と「読み出し中ライン番号」の差分が、所定値以下か否かをチェックする（ステップ１３０７）。所定値は、図６のＬＶＧ情報の「ライン数」と比較して十分に小さい値であり、例えば、“１”又は“２”であってもよい。差分が所定値より大きい場合（ステップ１３０７，ＮＯ）、制御部１１２は、ステップ１３０３以降の処理を繰り返す。
【０１１４】
一方、差分が所定値以下である場合（ステップ１３０７，ＹＥＳ）、制御部１１２は、初期間隔値Ｌｐを次式（１）により計算し、測定情報の「初期間隔値１」に登録する（ステップ１３０８）。
Ｌｐ＝Ｖｒ（Ｌ２／Ｖｒ−Ｌ１／Ｖｐ）／Ｂｓ      （１）
【０１１５】
式（１）のＢｓは、ブロックサイズであり、図５のパリティ管理情報の「パリティサイズ」と一致する。
【０１１６】
Ｌ１は、復元処理の対象である論理ボリュームのデータのうち、復元未完了のデータのサイズである。ここでは、復元未完了のブロックの総サイズがＬ１として用いられる。
【０１１７】
読み出し処理の対象である論理ボリュームのダミーデータとパリティとを用いてデータを復元している間は、「復元中ライン番号１」と「読み出し中ライン番号」の差分が所定値以下になることはない。その差分が所定値以下になる可能性があるのは、「復元中ライン番号１」が先頭ラインのライン番号に更新された後である。
【０１１８】
この場合、制御部１１２は、図９の測定情報の「復元中ライン番号１」とＢｓとを用いて、復元が完了したブロックの総サイズを求めることができる。そして、制御部１１２は、図６のＬＶＧ情報の「ＬＶサイズ４」から、復元が完了したブロックの総サイズを減算することで、復元未完了のブロックの総サイズを求めることができる。
【０１１９】
Ｌ２は、読み出し処理の対象である論理ボリュームのデータのうち、読み出し未完了のデータのサイズである。ここでは、読み出し未完了のブロックの総サイズがＬ２として用いられる。
【０１２０】
制御部１１２は、図９の測定情報の「読み出し中ライン番号」とＢｓとを用いて、読み出しが完了したブロックの総サイズを求めることができる。そして、制御部１１２は、図６のＬＶＧ情報の「ＬＶサイズ４」から、読み出しが完了したブロックの総サイズを減算することで、読み出し未完了のブロックの総サイズを求めることができる。
【０１２１】
Ｖｐは、制御部１１２によるパリティを用いた論理ボリュームの復元処理速度の測定結果であり、測定情報の「復元処理速度１」に登録されている。Ｖｒは、読み出し処理の対象である論理ボリュームの読み出し処理速度であり、測定情報の「読み出し処理速度」に登録されている。
【０１２２】
式（１）のＬ２／Ｖｒは、読み出し処理の対象である論理ボリュームの読み出しが完了するまでの予想時間であり、Ｌ１／Ｖｐは、復元処理の対象である論理ボリュームの復元が完了するまでの予想時間である。初期間隔値Ｌｐは、Ｌ２／ＶｒとＬ１／Ｖｐとの差分に応じたライン数である。
【０１２３】
パリティを用いた復元処理は、テープライブラリ装置２１１からの読み出し処理より高速に実行されるため、Ｌ２／ＶｒよりＬ１／Ｖｐの方が短くなる場合があり得る。そこで、制御部１１２は、初期間隔値Ｌｐを用いて復元中のラインの位置を調整することで、読み出し処理の終了タイミングと復元処理の終了タイミングとがほぼ同じになるように制御することができる。
【０１２４】
ただし、初期間隔値Ｌｐの値は１以上の整数であり、式（１）の計算では、小数点以下第１位の値を切り上げるとともに、切り上げ後の値が１未満になる場合、計算結果は１に固定される。初期間隔値Ｌｐを１以上にする理由は、復元対象のブロックと同じライン番号のブロックの読み出しが完了するまでは、復元対象のブロックの復元を開始できないからである。
【０１２５】
次に、制御部１１２は、測定情報の「復元中ライン番号１」と「読み出し中ライン番号」の差分が、初期間隔値Ｌｐ以上か否かをチェックする（ステップ１３０９）。差分が初期間隔値Ｌｐ未満である場合（ステップ１３０９，ＮＯ）、制御部１１２は、差分が初期間隔値Ｌｐ以上になるまで待機する。
【０１２６】
一方、差分が初期間隔値Ｌｐ以上である場合（ステップ１３０９，ＹＥＳ）、制御部１１２は、ステップ１３０３以降の処理を繰り返す。そして、全ブロックの復元が完了した場合（ステップ１３０４，ＹＥＳ）、制御部１１２は、復元処理を終了する。
【０１２７】
このような第１のストレージ制御方法に基づくコピー処理によれば、残りの論理ボリューム数が２になった時点で、（Ｎ−１）番目の論理ボリュームの読み出し処理とＮ番目の論理ボリュームの復元処理とが並行して実行される。このため、すべての論理ボリュームをテープライブラリ装置２１１から読み出す場合と比較して、テープライブラリ装置２１１からディスクアレイ装置２１２へデータをコピーするのにかかる時間を短縮することができる。
【０１２８】
このとき、コピー対象の論理ボリュームグループに属するＮ個の論理ボリュームのうち、最大サイズの論理ボリュームの処理順位をＮ番目に決定して、その論理ボリュームを復元処理の対象にすることで、パリティを用いて復元されるデータの量が最大になる。パリティを用いた復元処理は、テープライブラリ装置２１１からの読み出し処理より高速に実行されるため、復元処理のデータ量が最大になれば、コピー処理時間の短縮効果が大きくなる。
【０１２９】
さらに、最小サイズの論理ボリュームの処理順位を（Ｎ−１）番目に決定して、その論理ボリュームを読み出し処理の対象にすることで、復元処理と並行してテープライブラリ装置２１１から読み出されるデータの量が最小になる。このため、コピー処理時間の短縮効果がさらに大きくなる。
【０１３０】
しかしながら、Ｎ個の論理ボリュームの処理の順番は、この順番に限られることはなく、Ｎ番目の論理ボリュームのサイズが（Ｎ−１）番目の論理ボリュームのサイズより大きければ、他の順番であっても構わない。
【０１３１】
図１４〜図２０に示すコピー処理の例では、図１１のステップ１１０３において、ＬＶ１の処理順位は１番目に決定され、ＬＶ０の処理順位は２番目（最後）に決定される。この例では、コピー対象の論理ボリュームグループに属する論理ボリュームの数が２であるため、ステップ１１０５の処理は行われずに、最初からステップ１１０７の並行処理が実行される。ステップ１１０７の並行処理において、読み出し処理は、ＬＶ１のライン番号０のブロックから開始され、復元処理は、ＬＶ０のライン番号１１のブロックから開始される。
【０１３２】
まず、図１４に示す第１の状態では、ライン番号０に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号１１に対応するＬＶ１のダミーデータとパリティとを用いて、ＬＶ０のライン番号１１のデータが復元される。
【０１３３】
次に、図１５に示す第２の状態では、ライン番号１に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号１２に対応するＬＶ１のダミーデータとパリティとを用いて、ＬＶ０のライン番号１２のデータが復元される。
【０１３４】
このような処理が繰り返された後、図１６に示す第３の状態では、ライン番号４に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号１６に対応するＬＶ１のダミーデータとパリティとを用いて、ＬＶ０のライン番号１６のデータが復元される。ここで、復元中のラインが最終ラインに達したため、次の復元処理は先頭ラインから実行される。
【０１３５】
次に、図１７に示す第４の状態では、ライン番号５に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号０に対応するＬＶ１のダミーデータとパリティとを用いて、ＬＶ０のライン番号０のデータが復元される。
【０１３６】
このような処理が繰り返された後、図１８に示す第５の状態では、ライン番号１０に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号７に対応するＬＶ１のダミーデータとパリティとを用いて、ＬＶ０のライン番号７のデータが復元される。ここで、ＬＶ１の全ブロックの読み出しが完了したため、読み出し処理が終了する。
【０１３７】
次に、図１９に示す第６の状態では、ライン番号８に対応するＬＶ１のダミーデータとパリティとを用いて、ＬＶ０のライン番号８のデータが復元される。
【０１３８】
このような処理が繰り返された後、図２０に示す第７の状態では、ライン番号１０に対応するＬＶ１のダミーデータとパリティとを用いて、ＬＶ０のライン番号１０のデータが復元される。ここで、ＬＶ０の全ブロックの復元が完了したため、復元処理が終了する。
【０１３９】
次に、図２１から図３０までを参照しながら、第２のストレージ制御方法において「パリティ種別」が「シングルパリティ」の場合の実施形態を説明する。この場合、１つの論理ボリュームグループのコピー処理の例は、図１１のフローチャートと同様である。
【０１４０】
この場合、図６のＬＶＧ情報のうち、「ＬＶサイズ３」及び「ＬＶサイズ４」を省略することができ、図９の測定情報のうち、「復元中ライン番号２」、「初期間隔値２」、及び「復元処理速度２」を省略することができる。
【０１４１】
ただし、図１１のステップ１１０３において、制御部１１２は、コピー対象の論理ボリュームグループに属するＮ個の論理ボリュームの処理順位を、例えば、サイズが小さい方から順に１番目〜Ｎ番目に決定する。
【０１４２】
図２１は、図１１のステップ１１０７において行われる読み出し処理の例を示すフローチャートである。図２１の読み出し処理の対象は、処理順位が（Ｎ−１）番目の論理ボリューム（２番目に大きいサイズの論理ボリューム）と、処理順位がＮ番目の論理ボリューム（最大サイズの論理ボリューム）である。
【０１４３】
図２１のステップ２１０１〜ステップ２１０４の処理は、図１２のステップ１２０１〜ステップ１２０４の処理と同様である。
【０１４４】
ステップ２１０２において全ブロックの読み出しが完了した場合（ステップ２１０２，ＹＥＳ）、制御部１１２は、読み出し処理の対象を、（Ｎ−１）番目の論理ボリュームからＮ番目の論理ボリュームに変更する（ステップ２１０５）。そして、制御部１１２は、制御部１１２は、図９の測定情報の「読み出し中ライン番号」を最後のラインのライン番号に変更する。
【０１４５】
これにより、Ｎ番目の論理ボリュームに対して、図２１の読み出し処理と図２２の復元処理とを並行して行う並行処理が開始される。このとき、Ｎ番目の論理ボリュームに対する読み出し処理は、最終ブロックから先頭ブロックに向かう方向に行われ、Ｎ番目の論理ボリュームに対する復元処理は、先頭ブロックから最終ブロックに向かう方向に行われる。したがって、読み出し処理と復元処理は互いに逆の方向に行われる。
【０１４６】
次に、制御部１１２は、変更された読み出し処理の対象である論理ボリュームのブロックのうち、「読み出し中ライン番号」に対応するブロックを選択する（ステップ２１０６）。そして、制御部１１２は、選択したブロックのデータをテープライブラリ装置２１１から読み出して、ディスクアレイ装置２１２に書き込む。
【０１４７】
このとき、制御部１１２は、Ｎ番目の論理ボリュームのＬＶ番号に対応する図４のＬＶ管理情報を参照して、格納先テープ番号により示される磁気テープから、選択したブロックのデータを読み出す。次に、制御部１１２は、選択したブロックのライン番号に対応する図７のライン情報において、ＬＶ番号に対応する図８の格納アドレス情報を参照する。そして、制御部１１２は、開始アドレス及び終了アドレスにより示されるディスクアレイ装置２１２の格納領域に、読み出したデータを書き込む。
【０１４８】
次に、制御部１１２は、Ｎ番目の論理ボリュームに含まれる全ブロックのコピーが完了したか否かをチェックする（ステップ２１０７）。全ブロックのコピーが完了するのは、各ブロックのデータが復元されるか又はテープライブラリ装置２１１から読み出されて、ディスクアレイ装置２１２に書き込まれた時点である。
【０１４９】
全ブロックのコピーが完了していない場合（ステップ２１０７，ＮＯ）、制御部１１２は、測定情報の「読み出し中ライン番号」を１だけデクリメントして（ステップ２１０８）、ステップ２１０６以降の処理を繰り返す。そして、全ブロックのコピーが完了した場合（ステップ２１０７，ＹＥＳ）、読み出し処理を終了する。
【０１５０】
図２２は、図１１のステップ１１０７において行われる復元処理の例を示すフローチャートである。図２２の復元処理の対象は、処理順位がＮ番目の論理ボリューム（最大サイズの論理ボリューム）であり、復元処理は、図２１の読み出し処理と並行して実行される。
【０１５１】
まず、制御部１１２は、図９の測定情報の「復元中ライン番号１」に、先頭ラインのライン番号を登録する（ステップ２２０１）。そして、測定情報の「復元処理速度１」に所定の初期値を登録する。
【０１５２】
次に、制御部１１２は、初期間隔値Ｌｐを式（１）により計算し、測定情報の「初期間隔値１」に登録する（ステップ２２０２）。このとき、図６のＬＶＧ情報の「ＬＶサイズ１」がＬ１として用いられ、「ＬＶサイズ２」がＬ２として用いられる。
【０１５３】
次に、制御部１１２は、測定情報の「復元中ライン番号１」と「読み出し中ライン番号」の差分が、初期間隔値Ｌｐ以上か否かをチェックする（ステップ２２０３）。差分が初期間隔値Ｌｐ未満である場合（ステップ２２０３，ＮＯ）、制御部１１２は、差分が初期間隔値Ｌｐ以上になるまで待機する。
【０１５４】
一方、差分が初期間隔値Ｌｐ以上である場合（ステップ２２０３，ＹＥＳ）、制御部１１２は、復元処理の対象である論理ボリュームのブロックのうち、「復元中ライン番号１」に対応するブロックを選択する（ステップ２２０４）。そして、制御部１１２は、同じライン番号に対応する他の論理ボリュームのブロック及びパリティのブロックのデータを、ディスクアレイ装置２１２から読み出す。制御部１１２は、読み出した各ブロックのデータを用いて、選択したブロックのデータを復元し、復元したブロックのデータをディスクアレイ装置２１２に書き込む。
【０１５５】
次に、制御部１１２は、復元処理の対象である論理ボリュームの全ブロックのコピーが完了したか否かをチェックする（ステップ２２０５）。全ブロックの復元が完了していない場合（ステップ２２０５，ＮＯ）、制御部１１２は、論理ボリュームの先頭ブロックから直前に復元したブロックまでの復元処理速度を計算する（ステップ２２０６）。そして、制御部１１２は、図９の測定情報の「復元処理速度１」を、計算した復元処理速度により更新する。
【０１５６】
次に、制御部１１２は、測定情報の「復元中ライン番号１」を１だけインクリメントして（ステップ２２０７）、読み出し処理の対象が（Ｎ−１）番目の論理ボリュームからＮ番目の論理ボリュームに変更されているか否かをチェックする（ステップ２２０８）。読み出し処理の対象が変更されている場合（ステップ２２０８，ＹＥＳ）、制御部１１２は、ステップ２２０４以降の処理を繰り返す。
【０１５７】
一方、読み出し処理の対象が変更されていない場合（ステップ２２０８，ＮＯ）、制御部１１２は、測定情報の「復元中ライン番号１」と「読み出し中ライン番号」の差分が、所定値以下か否かをチェックする（ステップ２２０９）。差分が所定値より大きい場合（ステップ２２０９，ＮＯ）、制御部１１２は、ステップ２２０４以降の処理を繰り返す。
【０１５８】
一方、差分が所定値以下である場合（ステップ２２０９，ＹＥＳ）、制御部１１２は、初期間隔値Ｌｐを式（１）により再計算し、測定情報の「初期間隔値１」に登録する（ステップ２２１０）。
【０１５９】
このとき、復元未完了のブロックの総サイズがＬ１として用いられる。制御部１１２は、図９の測定情報の「復元中ライン番号１」とＢｓとを用いて、復元が完了したブロックの総サイズを求めることができる。そして、制御部１１２は、図６のＬＶＧ情報の「ＬＶサイズ１」から、復元が完了したブロックの総サイズを減算することで、復元未完了のブロックの総サイズを求めることができる。
【０１６０】
さらに、読み出し未完了のブロックの総サイズがＬ２として用いられる。制御部１１２は、図９の測定情報の「読み出し中ライン番号」とＢｓとを用いて、読み出しが完了したブロックの総サイズを求めることができる。そして、制御部１１２は、図６のＬＶＧ情報の「ＬＶサイズ２」から、読み出しが完了したブロックの総サイズを減算することで、読み出し未完了のブロックの総サイズを求めることができる。
【０１６１】
次に、制御部１１２は、測定情報の「復元中ライン番号１」と「読み出し中ライン番号」の差分が、初期間隔値Ｌｐ以上か否かをチェックする（ステップ２２１１）。差分が初期間隔値Ｌｐ未満である場合（ステップ２２１１，ＮＯ）、制御部１１２は、差分が初期間隔値Ｌｐ以上になるまで待機する。
【０１６２】
一方、差分が初期間隔値Ｌｐ以上である場合（ステップ２２１１，ＹＥＳ）、制御部１１２は、ステップ２２０４以降の処理を繰り返す。そして、全ブロックのコピーが完了した場合（ステップ２２０５，ＹＥＳ）、制御部１１２は、復元処理を終了する。
【０１６３】
このような第２のストレージ制御方法に基づくコピー処理によれば、第１のストレージ制御方法に基づくコピー処理と同様に、（Ｎ−１）番目の論理ボリュームの読み出し処理とＮ番目の論理ボリュームの復元処理とが並行して実行される。このため、すべての論理ボリュームをテープライブラリ装置２１１から読み出す場合と比較して、テープライブラリ装置２１１からディスクアレイ装置２１２へデータをコピーするのにかかる時間を短縮することができる。
【０１６４】
さらに、（Ｎ−１）番目の論理ボリュームの読み出しが完了したとき、Ｎ番目の論理ボリュームの一部をテープライブラリ装置２１１から読み出す処理が開始される。これにより、Ｎ番目の論理ボリュームの一部を復元する処理と、他の一部をテープライブラリ装置２１１から読み出す処理とが並行して行われる。このため、コピー処理時間の短縮効果がさらに大きくなる。
【０１６５】
Ｎ個の論理ボリュームの処理の順番は、サイズが小さい順に限られることはなく、Ｎ番目の論理ボリュームのサイズが（Ｎ−１）番目の論理ボリュームのサイズより大きければ、他の順番であっても構わない。
【０１６６】
図２３〜図３０は、第２のストレージ制御方法において「パリティ種別」が「シングルパリティ」の場合のコピー処理の例を示している。この例では、コピー対象の論理ボリュームグループに属する論理ボリュームは、ＬＶ０及びＬＶ１の２つである。
【０１６７】
図２３に示す第１の状態において、ＬＶ０は、最大サイズの論理ボリュームに対応し、そのサイズは１７ブロック分に相当する。一方、ＬＶ１は、２番目に大きいサイズの論理ボリュームに対応し、そのサイズは１４ブロック分に相当する。したがって、ディスクアレイ装置２１２内におけるＬＶ０及びＬＶ１の各々の格納領域は、ライン番号０〜ライン番号１６に対応する１７ブロックの領域である。
【０１６８】
ＬＶ１の格納領域のうち、ライン番号０〜ライン番号１３に対応する１４ブロックの領域には、テープライブラリ装置２１１から読み出されるデータが格納される。また、ライン番号１４〜ライン番号１６に対応する３ブロックの領域には、ダミーデータが格納されている。一方、ＬＶ０の格納領域には、ＬＶ１のデータとパリティとを用いて復元されたデータが格納される。
【０１６９】
図１１のステップ１１０３において、ＬＶ１の処理順位は１番目に決定され、ＬＶ０の処理順位は２番目（最後）に決定される。この例では、コピー対象の論理ボリュームグループに属する論理ボリュームの数が２であるため、ステップ１１０５の処理は行われずに、最初からステップ１１０７の並行処理が実行される。ステップ１１０７の並行処理において、読み出し処理は、ＬＶ１のライン番号０のブロックから開始され、復元処理は、ＬＶ０のライン番号０のブロックから開始される。
【０１７０】
まず、図２３に示す第１の状態では、ライン番号０に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。このとき、図２２のステップ２２０２において計算されたＬｐが“３”であるとすると、「復元中ライン番号１」と「読み出し中ライン番号」の差分が“３”になるまで、ＬＶ０のデータの復元は開始されない。
【０１７１】
次に、図２４に示す第２の状態では、ライン番号３に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。このとき、「復元中ライン番号１」と「読み出し中ライン番号」の差分が“３”になったため、ＬＶ０のデータの復元が開始され、ライン番号０に対応するＬＶ１のデータとパリティとを用いて、ＬＶ０のライン番号０のデータが復元される。
【０１７２】
次に、図２５に示す第３の状態では、ライン番号４に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。このとき、ＬＶ０の復元処理の方が速く進行しており、ライン番号２に対応するＬＶ１のデータとパリティとを用いて、ＬＶ０のライン番号２のデータが復元される。
【０１７３】
ここで、ステップ２２０９において再計算されたＬｐが“３”であるとすると、「復元中ライン番号１」と「読み出し中ライン番号」の差分が“３”より小さくなったため、ＬＶ０のデータの復元が一時的に停止される。
【０１７４】
次に、図２６に示す第４の状態では、ライン番号５に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。
【０１７５】
次に、図２７に示す第５の状態では、ライン番号６に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。このとき、「復元中ライン番号１」と「読み出し中ライン番号」の差分が“３”になったため、ＬＶ０のデータの復元が再開され、ライン番号３に対応するＬＶ１のデータとパリティとを用いて、ＬＶ０のライン番号３のデータが復元される。
【０１７６】
このような処理が繰り返された後、図２８に示す第６の状態では、ライン番号１３に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号８に対応するＬＶ１のダミーデータとパリティとを用いて、ＬＶ０のライン番号８のデータが復元される。
【０１７７】
ここで、ＬＶ１の全ブロックの読み出しが完了したため、図２１のステップ２１０５において、読み出し処理の対象がＬＶ１からＬＶ０に変更され、「読み出し中ライン番号」がライン番号１６に変更される。
【０１７８】
次に、図２９に示す第７の状態では、ライン番号１６に対応するＬＶ０のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。このとき、ＬＶ０の復元処理の方が速く進行しており、ライン番号１０に対応するＬＶ１のデータとパリティとを用いて、ＬＶ０のライン番号１０のデータが復元される。
【０１７９】
このような処理が繰り返された後、図３０に示す第８の状態では、ライン番号１４に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号１３に対応するＬＶ１のダミーデータとパリティとを用いて、ＬＶ０のライン番号１３のデータが復元される。ここで、ＬＶ０の全ブロックのコピーが完了したため、読み出し処理及び復元処理が終了する。
【０１８０】
次に、図３１から図３８までを参照しながら、第２のストレージ制御方法において「パリティ種別」が「ダブルパリティ」の場合の実施形態を説明する。
【０１８１】
この場合、図６のＬＶＧ情報のうち、「ＬＶサイズ２」及び「ＬＶサイズ４」を省略することができ、図９の測定情報のうち、「復元中ライン番号２」、「初期間隔値２」、及び「復元処理速度２」を省略することができる。
【０１８２】
図３１は、１つの論理ボリュームグループのデータをテープライブラリ装置２１１から読み出してディスクアレイ装置２１２へ書き込むコピー処理の例を示すフローチャートである。
【０１８３】
図３１のステップ３１０１〜ステップ３１０３及びステップ３１０５〜ステップ３１０７の処理は、図１１のステップ１１０１〜ステップ１１０３及びステップ１１０５〜ステップ１１０７の処理と同様である。
【０１８４】
ただし、ステップ３１０３において、制御部１１２は、コピー対象の論理ボリュームグループに属するＮ個の論理ボリュームの処理順位を、例えば、サイズが小さい方から順に１番目〜Ｎ番目に決定する。
【０１８５】
次に、制御部１１２は、読み出しが未完了である残りの論理ボリュームの数が３であるか否かチェックする（ステップ３１０４）。残りの論理ボリュームの数が４以上である場合（ステップ３１０４，ＮＯ）、制御部１１２は、ステップ３１０５の処理を行う。
【０１８６】
一方、残りの論理ボリューム数が３である場合（ステップ３１０４，ＹＥＳ）、制御部１１２は、ステップ３１０６以降の処理を行う。
【０１８７】
図３２は、図３１のステップ３１０７において行われる読み出し処理の例を示すフローチャートである。図３２の読み出し処理の対象は、処理順位が（Ｎ−２）番目の論理ボリューム、（Ｎ−１）番目の論理ボリューム、及びＮ番目の論理ボリュームである。
【０１８８】
図３２のステップ３２０１〜ステップ３２０４の処理は、図１２のステップ１２０１〜ステップ１２０４の処理と同様である。ただし、ステップ３２０１〜ステップ３２０４の処理は、（Ｎ−２）番目の論理ボリュームを対象として行われる。
【０１８９】
ステップ３２０２において全ブロックの読み出しが完了した場合（ステップ３２０２，ＹＥＳ）、制御部１１２は、読み出し処理の対象を、（Ｎ−２）番目の論理ボリュームから（Ｎ−１）番目の論理ボリュームに変更する（ステップ３２０５）。そして、制御部１１２は、図９の測定情報の「読み出し中ライン番号」を、（Ｎ−１）番目の論理ボリュームにおける復元未完了のブロックのうち、最終ブロックのライン番号に変更する。
【０１９０】
これにより、（Ｎ−１）番目の論理ボリュームに対して、図３２の読み出し処理と図３３の復元処理とを並行して行う並行処理が開始される。このとき、（Ｎ−１）番目の論理ボリュームに対する読み出し処理は、最終ブロックから先頭ブロックに向かう方向に行われ、（Ｎ−１）番目の論理ボリュームに対する復元処理は、先頭ブロックから最終ブロックに向かう方向に行われる。したがって、読み出し処理と復元処理は互いに逆の方向に行われる。
【０１９１】
次に、制御部１１２は、変更された読み出し処理の対象である論理ボリュームのブロックのうち、「読み出し中ライン番号」に対応するブロックを選択する（ステップ３２０６）。そして、制御部１１２は、選択したブロックのデータをテープライブラリ装置２１１から読み出して、ディスクアレイ装置２１２に書き込む。
【０１９２】
次に、制御部１１２は、（Ｎ−１）番目の論理ボリュームに含まれる全ブロックのコピーが完了したか否かをチェックする（ステップ３２０７）。全ブロックのコピーが完了していない場合（ステップ３２０７，ＮＯ）、制御部１１２は、測定情報の「読み出し中ライン番号」を１だけデクリメントして（ステップ３２０８）、ステップ３２０６以降の処理を繰り返す。
【０１９３】
そして、全ブロックのコピーが完了した場合（ステップ３２０７，ＹＥＳ）、制御部１１２は、読み出し処理の対象を、（Ｎ−１）番目の論理ボリュームからＮ番目の論理ボリュームに変更する（ステップ３２０９）。そして、制御部１１２は、図９の測定情報の「読み出し中ライン番号」を、Ｎ番目の論理ボリュームにおける復元未完了のブロックのうち、最終ブロックのライン番号に変更する。
【０１９４】
これにより、Ｎ番目の論理ボリュームに対して、図３２の読み出し処理と図３３の復元処理とを並行して行う並行処理が開始される。このとき、Ｎ番目の論理ボリュームに対する読み出し処理は、最終ブロックから先頭ブロックに向かう方向に行われ、Ｎ番目の論理ボリュームに対する復元処理は、先頭ブロックから最終ブロックに向かう方向に行われる。したがって、読み出し処理と復元処理は互いに逆の方向に行われる。
【０１９５】
次に、制御部１１２は、変更された読み出し処理の対象である論理ボリュームのブロックのうち、「読み出し中ライン番号」に対応するブロックを選択する（ステップ３２１０）。そして、制御部１１２は、選択したブロックのデータをテープライブラリ装置２１１から読み出して、ディスクアレイ装置２１２に書き込む。
【０１９６】
次に、制御部１１２は、Ｎ番目の論理ボリュームに含まれる全ブロックのコピーが完了したか否かをチェックする（ステップ３２１１）。全ブロックのコピーが完了していない場合（ステップ３２１１，ＮＯ）、制御部１１２は、測定情報の「読み出し中ライン番号」を１だけデクリメントして（ステップ３２１２）、ステップ３２１０以降の処理を繰り返す。そして、全ブロックのコピーが完了した場合（ステップ３２１１，ＹＥＳ）、読み出し処理を終了する。
【０１９７】
図３３は、図３１のステップ３１０７において行われる復元処理の例を示すフローチャートである。図３３の復元処理の対象は、処理順位がＮ番目の論理ボリュームと（Ｎ−１）番目の論理ボリュームである。復元処理に用いられる２つのパリティは、例えば、パリティＰ及びパリティＱである。
【０１９８】
まず、制御部１１２は、図９の測定情報の「復元中ライン番号１」に、先頭ラインのライン番号を登録する（ステップ３３０１）。そして、測定情報の「復元処理速度１」に所定の初期値を登録する。
【０１９９】
次に、制御部１１２は、初期間隔値Ｌｐを式（１）により計算し、測定情報の「初期間隔値１」に登録する（ステップ３３０２）。このとき、図６のＬＶＧ情報の「ＬＶサイズ１」がＬ１として用いられ、「ＬＶサイズ３」がＬ２として用いられる。
【０２００】
次に、制御部１１２は、測定情報の「復元中ライン番号１」と「読み出し中ライン番号」の差分が、初期間隔値Ｌｐ以上か否かをチェックする（ステップ３３０３）。差分が初期間隔値Ｌｐ未満である場合（ステップ３３０３，ＮＯ）、制御部１１２は、差分が初期間隔値Ｌｐ以上になるまで待機する。
【０２０１】
一方、差分が初期間隔値Ｌｐ以上である場合（ステップ３３０３，ＹＥＳ）、制御部１１２は、復元処理の対象である２つの論理ボリュームのブロックのうち、「復元中ライン番号１」に対応するブロックを選択する（ステップ３３０４）。そして、制御部１１２は、同じライン番号に対応する他の論理ボリュームのブロック及び２つのパリティのブロックのデータを、ディスクアレイ装置２１２から読み出す。制御部１１２は、読み出した各ブロックのデータを用いて、２つの論理ボリュームの選択したブロックのデータを復元し、復元したブロックのデータをディスクアレイ装置２１２に書き込む。
【０２０２】
次に、制御部１１２は、復元処理の対象である２つの論理ボリュームの全ブロックのコピーが完了したか否かをチェックする（ステップ３３０５）。全ブロックのコピーが完了していない場合（ステップ３３０５，ＮＯ）、制御部１１２は、Ｎ番目の論理ボリュームの先頭ブロックから直前に復元したブロックまでの復元処理速度を計算する（ステップ３３０６）。そして、制御部１１２は、図９の測定情報の「復元処理速度１」を、計算した復元処理速度により更新する。
【０２０３】
次に、制御部１１２は、測定情報の「復元中ライン番号１」を１だけインクリメントして（ステップ３３０７）、読み出し処理の対象が（Ｎ−２）番目の論理ボリュームから変更されているか否かをチェックする（ステップ３３０８）。読み出し処理の対象が変更されている場合（ステップ３３０８，ＹＥＳ）、制御部１１２は、ステップ３３０４以降の処理を繰り返す。
【０２０４】
一方、読み出し処理の対象が変更されていない場合（ステップ３３０８，ＮＯ）、制御部１１２は、測定情報の「復元中ライン番号１」と「読み出し中ライン番号」の差分が、所定値以下か否かをチェックする（ステップ３３０９）。差分が所定値より大きい場合（ステップ３３０９，ＮＯ）、制御部１１２は、ステップ３３０４以降の処理を繰り返す。
【０２０５】
一方、差分が所定値以下である場合（ステップ３３０９，ＹＥＳ）、制御部１１２は、初期間隔値Ｌｐを式（１）により再計算し、測定情報の「初期間隔値１」に登録する（ステップ３３１０）。
【０２０６】
このとき、Ｎ番目の論理ボリュームのブロックのうち、復元未完了のブロックの総サイズがＬ１として用いられる。制御部１１２は、図９の測定情報の「復元中ライン番号１」とＢｓとを用いて、復元が完了したブロックの総サイズを求めることができる。そして、制御部１１２は、図６のＬＶＧ情報の「ＬＶサイズ１」から、復元が完了したブロックの総サイズを減算することで、復元未完了のブロックの総サイズを求めることができる。
【０２０７】
さらに、（Ｎ−２）番目の論理ボリュームのブロックのうち、読み出し未完了のブロックの総サイズがＬ２として用いられる。制御部１１２は、図９の測定情報の「読み出し中ライン番号」とＢｓとを用いて、読み出しが完了したブロックの総サイズを求めることができる。そして、制御部１１２は、図６のＬＶＧ情報の「ＬＶサイズ３」から、読み出しが完了したブロックの総サイズを減算することで、読み出し未完了のブロックの総サイズを求めることができる。
【０２０８】
次に、制御部１１２は、測定情報の「復元中ライン番号１」と「読み出し中ライン番号」の差分が、初期間隔値Ｌｐ以上か否かをチェックする（ステップ３３１１）。差分が初期間隔値Ｌｐ未満である場合（ステップ３３１１，ＮＯ）、制御部１１２は、差分が初期間隔値Ｌｐ以上になるまで待機する。
【０２０９】
一方、差分が初期間隔値Ｌｐ以上である場合（ステップ３３１１，ＹＥＳ）、制御部１１２は、ステップ３３０４以降の処理を繰り返す。そして、全ブロックのコピーが完了した場合（ステップ３３０５，ＹＥＳ）、制御部１１２は、復元処理を終了する。
【０２１０】
このような第２のストレージ制御方法に基づくコピー処理によれば、（Ｎ−２）番目の論理ボリュームの読み出し処理と（Ｎ−１）番目及びＮ番目の論理ボリュームの復元処理とが並行して実行される。このため、すべての論理ボリュームをテープライブラリ装置２１１から読み出す場合と比較して、テープライブラリ装置２１１からディスクアレイ装置２１２へデータをコピーするのにかかる時間を短縮することができる。
【０２１１】
また、（Ｎ−２）番目の論理ボリュームの読み出しが完了したとき、（Ｎ−１）番目の論理ボリュームの一部をテープライブラリ装置２１１から読み出す処理が開始される。これにより、（Ｎ−１）番目及びＮ番目の論理ボリュームの一部を復元する処理と、（Ｎ−１）番目の論理ボリュームの他の一部をテープライブラリ装置２１１から読み出す処理とが並行して行われる。
【０２１２】
さらに、（Ｎ−１）番目の論理ボリュームのコピーが完了したとき、Ｎ番目の論理ボリュームの一部をテープライブラリ装置２１１から読み出す処理が開始される。これにより、（Ｎ−１）番目及びＮ番目の論理ボリュームの一部を復元する処理と、Ｎ番目の論理ボリュームの他の一部をテープライブラリ装置２１１から読み出す処理とが並行して行われる。このため、コピー処理時間の短縮効果がさらに大きくなる。
【０２１３】
Ｎ個の論理ボリュームの処理の順番は、サイズが小さい順に限られることはない。Ｎ番目の論理ボリュームのサイズが（Ｎ−２）番目の論理ボリュームのサイズより大きいか、又は（Ｎ−１）番目の論理ボリュームのサイズが（Ｎ−２）番目の論理ボリュームのサイズより大きければ、他の順番であっても構わない。
【０２１４】
図３４〜図３８は、第２のストレージ制御方法において「パリティ種別」が「ダブルパリティ」の場合のコピー処理の例を示している。この例では、コピー対象の論理ボリュームグループに属する論理ボリュームは、ＬＶ０、ＬＶ１、及びＬＶ２の３つである。
【０２１５】
図３４に示す第１の状態において、ＬＶ０は、最大サイズの論理ボリュームに対応し、そのサイズは２３ブロック分に相当する。ＬＶ１は、２番目に大きいサイズの論理ボリュームに対応し、そのサイズは２０ブロック分に相当する。また、ＬＶ２は、３番目に大きいサイズの論理ボリュームに対応し、そのサイズは１８ブロック分に相当する。したがって、ディスクアレイ装置２１２内におけるＬＶ０〜ＬＶ２の各々の格納領域は、ライン番号０〜ライン番号２２に対応する２３ブロックの領域である。
【０２１６】
ＬＶ２の格納領域のうち、ライン番号０〜ライン番号１７に対応する１８ブロックの領域には、テープライブラリ装置２１１から読み出されるデータが格納される。また、ライン番号１８〜ライン番号２２に対応する５ブロックの領域には、ダミーデータが格納されている。
【０２１７】
ＬＶ１の格納領域のうち、ライン番号０〜ライン番号１９に対応する２０ブロックの領域には、ＬＶ２のデータ、パリティＰ、及びパリティＱを用いて復元されたデータ、又はテープライブラリ装置２１１から読み出されるデータが格納される。また、ライン番号２０〜ライン番号２２に対応する３ブロックの領域には、ダミーデータが格納されている。
【０２１８】
ＬＶ０の格納領域には、ＬＶ２のデータ、パリティＰ、及びパリティＱを用いて復元されたデータ、又はテープライブラリ装置２１１から読み出されるデータが格納される。
【０２１９】
図３１のステップ３１０３において、ＬＶ２の処理順位は１番目に決定され、ＬＶ１の処理順位は２番目に決定され、ＬＶ０の処理順位は３番目（最後）に決定される。この例では、コピー対象の論理ボリュームグループに属する論理ボリュームの数が３であるため、ステップ３１０５の処理は行われずに、最初からステップ３１０７の並行処理が実行される。ステップ３１０７の並行処理において、読み出し処理は、ＬＶ２のライン番号０のブロックから開始され、復元処理は、ＬＶ０及びＬＶ１のライン番号０のブロックから開始される。
【０２２０】
まず、図３４に示す第１の状態では、読み出し処理及び復元処理が既に進行しており、ライン番号１７に対応するＬＶ２のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号６に対応するＬＶ２のデータ、パリティＰ、及びパリティＱを用いて、ＬＶ０及びＬＶ１のライン番号６のデータが復元される。
【０２２１】
ここで、ＬＶ２の全ブロックの読み出しが完了したため、図３２のステップ３２０５において、読み出し処理の対象がＬＶ２からＬＶ１に変更され、「読み出し中ライン番号」がライン番号１９に変更される。
【０２２２】
次に、図３５に示す第２の状態では、ライン番号１９に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号７に対応するＬＶ２のデータ、パリティＰ、及びパリティＱを用いて、ＬＶ０及びＬＶ１のライン番号７のデータが復元される。
【０２２３】
このような処理が繰り返された後、図３６に示す第３の状態では、ライン番号１２に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号１１に対応するＬＶ２のデータ、パリティＰ、及びパリティＱを用いて、ＬＶ０及びＬＶ１のライン番号１１のデータが復元される。
【０２２４】
ここで、ＬＶ１の全ブロックのコピーが完了したため、図３２のステップ３２０９において、読み出し処理の対象がＬＶ１からＬＶ０に変更され、「読み出し中ライン番号」がライン番号２２に変更される。
【０２２５】
次に、図３７に示す第４の状態では、ライン番号２２に対応するＬＶ０のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号１２に対応するＬＶ２のデータ、パリティＰ、及びパリティＱを用いて、ＬＶ０及びＬＶ１のライン番号１２のデータが復元される。
【０２２６】
このような処理が繰り返された後、図３８に示す第５の状態では、ライン番号１６に対応するＬＶ０のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号１５に対応するＬＶ２のデータ、パリティＰ、及びパリティＱを用いて、ＬＶ０及びＬＶ１のライン番号１５のデータが復元される。ここで、ＬＶ０の全ブロックのコピーが完了したため、読み出し処理及び復元処理が終了する。
【０２２７】
次に、図３９から図４５までを参照しながら、第２のストレージ制御方法において「パリティ種別」が「ダブルパリティ」の場合の別の実施形態を説明する。この場合、１つの論理ボリュームグループのコピー処理の例は、図３１のフローチャートと同様であり、図３１のステップ３１０７において行われる読み出し処理の例は、図３２のフローチャートと同様である。
【０２２８】
ただし、図３１のステップ３１０７において、パリティＰ及びパリティＱを用いた復元処理と、パリティＰのみを用いた復元処理とが、読み出し処理と並行して行われる。この場合、図６のＬＶＧ情報のうち、「ＬＶサイズ４」を省略することができる。
【０２２９】
図３９は、パリティＰ及びパリティＱを用いた復元処理の例を示すフローチャートである。図３９の復元処理の対象は、処理順位が（Ｎ−１）番目の論理ボリュームである。
【０２３０】
まず、制御部１１２は、図９の測定情報の「復元中ライン番号２」に、先頭ラインのライン番号を登録する（ステップ３９０１）。そして、測定情報の「復元処理速度２」に所定の初期値を登録する。
【０２３１】
次に、制御部１１２は、初期間隔値Ｌｐｑを次式（２）により計算し、測定情報の「初期間隔値２」に登録する（ステップ３９０２）。
Ｌｐｑ＝Ｖｒ（Ｌ２／Ｖｒ−Ｌ３／Ｖｐｑ）／Ｂｓ      （２）
【０２３２】
式（２）のＢｓは、ブロックサイズであり、図５のパリティ管理情報の「パリティサイズ」と一致する。
【０２３３】
Ｌ３は、パリティＰ及びパリティＱを用いた復元処理の対象である論理ボリュームのデータのうち、コピー未完了のデータのサイズである。ここでは、復元未完了のブロックの総サイズがＬ３として用いられる。
【０２３４】
Ｌ２は、読み出し処理の対象である論理ボリュームのデータのうち、読み出し未完了のデータのサイズである。ここでは、読み出し未完了のブロックの総サイズがＬ２として用いられる。
【０２３５】
ステップ３９０２では、図６のＬＶＧ情報の「ＬＶサイズ２」がＬ３として用いられ、「ＬＶサイズ３」がＬ２として用いられる。
【０２３６】
Ｖｐｑは、制御部１１２によるパリティＰ及びパリティＱを用いた論理ボリュームの復元処理速度の測定結果であり、測定情報の「復元処理速度２」に登録されている。Ｖｒは、読み出し処理の対象である論理ボリュームの読み出し処理速度であり、測定情報の「読み出し処理速度」に登録されている。
【０２３７】
初期間隔値Ｌｐｑの値は１以上の整数であり、式（２）の計算では、小数点以下第１位の値を切り上げるとともに、切り上げ後の値が１未満になる場合、計算結果は１に固定される。
【０２３８】
次に、制御部１１２は、測定情報の「復元中ライン番号２」と「読み出し中ライン番号」の差分が、初期間隔値Ｌｐｑ以上か否かをチェックする（ステップ３９０３）。差分が初期間隔値Ｌｐｑ未満である場合（ステップ３９０３，ＮＯ）、制御部１１２は、差分が初期間隔値Ｌｐｑ以上になるまで待機する。
【０２３９】
一方、差分が初期間隔値Ｌｐｑ以上である場合（ステップ３９０３，ＹＥＳ）、制御部１１２は、復元処理の対象である論理ボリュームのブロックのうち、「復元中ライン番号２」に対応するブロックを選択する（ステップ３９０４）。
【０２４０】
そして、制御部１１２は、同じライン番号に対応する他の論理ボリュームのブロックと、パリティＰ及びパリティＱのブロックのデータを、ディスクアレイ装置２１２から読み出す。ただし、Ｎ番目の論理ボリュームは、パリティＰのみを用いた復元処理の対象であるため、Ｎ番目の論理ボリュームのデータは読み出されない。制御部１１２は、読み出した各ブロックのデータを用いて、選択したブロックのデータを復元し、復元したブロックのデータをディスクアレイ装置２１２に書き込む。
【０２４１】
次に、制御部１１２は、復元処理の対象である論理ボリュームの全ブロックのコピーが完了したか否かをチェックする（ステップ３９０５）。全ブロックのコピーが完了していない場合（ステップ３９０５，ＮＯ）、制御部１１２は、論理ボリュームの先頭ブロックから直前に復元したブロックまでの復元処理速度を計算する（ステップ３９０６）。そして、制御部１１２は、図９の測定情報の「復元処理速度２」を、計算した復元処理速度により更新する。
【０２４２】
次に、制御部１１２は、測定情報の「復元中ライン番号２」を１だけインクリメントして（ステップ３９０７）、読み出し処理の対象が（Ｎ−２）番目の論理ボリュームから変更されているか否かをチェックする（ステップ３９０８）。読み出し処理の対象が変更されている場合（ステップ３９０８，ＹＥＳ）、制御部１１２は、ステップ３９０４以降の処理を繰り返す。
【０２４３】
一方、読み出し処理の対象が変更されていない場合（ステップ３９０８，ＮＯ）、制御部１１２は、測定情報の「復元中ライン番号２」と「読み出し中ライン番号」の差分が、所定値以下か否かをチェックする（ステップ３９０９）。差分が所定値より大きい場合（ステップ３９０９，ＮＯ）、制御部１１２は、ステップ３９０４以降の処理を繰り返す。
【０２４４】
一方、差分が所定値以下である場合（ステップ３９０９，ＹＥＳ）、制御部１１２は、初期間隔値Ｌｐｑを式（２）により再計算し、測定情報の「初期間隔値２」に登録する（ステップ３９１０）。
【０２４５】
このとき、復元処理の対象である論理ボリュームのブロックのうち、復元未完了のブロックの総サイズがＬ３として用いられる。制御部１１２は、図９の測定情報の「復元中ライン番号２」とＢｓとを用いて、復元が完了したブロックの総サイズを求めることができる。そして、制御部１１２は、図６のＬＶＧ情報の「ＬＶサイズ２」から、復元が完了したブロックの総サイズを減算することで、復元未完了のブロックの総サイズを求めることができる。
【０２４６】
さらに、読み出し処理の対象である論理ボリュームのブロックのうち、読み出し未完了のブロックの総サイズがＬ２として用いられる。制御部１１２は、図９の測定情報の「読み出し中ライン番号」とＢｓとを用いて、読み出しが完了したブロックの総サイズを求めることができる。そして、制御部１１２は、図６のＬＶＧ情報の「ＬＶサイズ３」から、読み出しが完了したブロックの総サイズを減算することで、読み出し未完了のブロックの総サイズを求めることができる。
【０２４７】
次に、制御部１１２は、測定情報の「復元中ライン番号２」と「読み出し中ライン番号」の差分が、初期間隔値Ｌｐｑ以上か否かをチェックする（ステップ３９１１）。差分が初期間隔値Ｌｐｑ未満である場合（ステップ３９１１，ＮＯ）、制御部１１２は、差分が初期間隔値Ｌｐｑ以上になるまで待機する。
【０２４８】
一方、差分が初期間隔値Ｌｐｑ以上である場合（ステップ３９１１，ＹＥＳ）、制御部１１２は、ステップ３９０４以降の処理を繰り返す。そして、全ブロックのコピーが完了した場合（ステップ３９０５，ＹＥＳ）、制御部１１２は、復元処理を終了する。
【０２４９】
図４０は、図３１のステップ３１０７において行われるパリティＰのみを用いた復元処理の例を示すフローチャートである。図４０の復元処理の対象は、処理順位がＮ番目の論理ボリュームである。
【０２５０】
まず、制御部１１２は、図９の測定情報の「復元中ライン番号１」に、先頭ラインのライン番号を登録する（ステップ４００１）。そして、測定情報の「復元処理速度１」に所定の初期値を登録する。
【０２５１】
次に、制御部１１２は、初期間隔値Ｌｐｑを次式（３）により計算し、測定情報の「初期間隔値１」に登録する（ステップ３９０２）。
Ｌｐ＝Ｖｐｑ（Ｌ２／Ｖｐｑ−Ｌ１／Ｖｐ）／Ｂｓ      （３）
【０２５２】
式（３）のＢｓは、ブロックサイズであり、図５のパリティ管理情報の「パリティサイズ」と一致する。
【０２５３】
Ｌ１は、パリティＰを用いた復元処理の対象である論理ボリュームのデータのうち、復元未完了のデータのサイズである。ここでは、復元未完了のブロックの総サイズがＬ１として用いられる。
【０２５４】
Ｌ２は、パリティＰ及びパリティＱを用いた復元処理の対象である論理ボリュームのデータのうち、復元未完了のデータのサイズである。ここでは、復元未完了のブロックの総サイズがＬ２として用いられる。
【０２５５】
ステップ３９０２では、図６のＬＶＧ情報の「ＬＶサイズ１」がＬ１として用いられ、「ＬＶサイズ２」がＬ２として用いられる。
Ｖｐは、制御部１１２によるパリティＰのみを用いた論理ボリュームの復元処理速度の測定結果であり、測定情報の「復元処理速度１」に登録されている。Ｖｐｑは、制御部１１２によるパリティＰ及びパリティＱを用いた論理ボリュームの復元処理速度の測定結果であり、測定情報の「復元処理速度２」に登録されている。
【０２５６】
初期間隔値Ｌｐの値は１以上の整数であり、式（３）の計算では、小数点以下第１位の値を切り上げるとともに、切り上げ後の値が１未満になる場合、計算結果は１に固定される。
【０２５７】
次に、制御部１１２は、測定情報の「復元中ライン番号２」と「復元中ライン番号１」の差分が、初期間隔値Ｌｐ以上か否かをチェックする（ステップ４００３）。差分が初期間隔値Ｌｐ未満である場合（ステップ４００３，ＮＯ）、制御部１１２は、差分が初期間隔値Ｌｐ以上になるまで待機する。
【０２５８】
一方、差分が初期間隔値Ｌｐ以上である場合（ステップ４００３，ＹＥＳ）、制御部１１２は、Ｎ番目の論理ボリュームのブロックのうち、「復元中ライン番号１」に対応するブロックを選択する（ステップ４００４）。そして、制御部１１２は、同じライン番号に対応する他の論理ボリュームのブロック及びパリティＰのブロックのデータを、ディスクアレイ装置２１２から読み出す。制御部１１２は、読み出した各ブロックのデータを用いて、選択したブロックのデータを復元し、復元したブロックのデータをディスクアレイ装置２１２に書き込む。
【０２５９】
なお、パリティＰの代わりにパリティＱのみを用いて、選択したブロックのデータを復元してもよい。
【０２６０】
次に、制御部１１２は、Ｎ番目の論理ボリュームの全ブロックのコピーが完了したか否かをチェックする（ステップ４００５）。全ブロックのコピーが完了していない場合（ステップ４００５，ＮＯ）、制御部１１２は、Ｎ番目の論理ボリュームの先頭ブロックから直前に復元したブロックまでの復元処理速度を計算する（ステップ４００６）。そして、制御部１１２は、図９の測定情報の「復元処理速度１」を、計算した復元処理速度により更新する。
【０２６１】
次に、制御部１１２は、測定情報の「復元中ライン番号１」を１だけインクリメントして（ステップ４００７）、読み出し処理の対象がＮ番目の論理ボリュームであるか否かをチェックする（ステップ４００８）。読み出し処理の対象がＮ番目の論理ボリュームである場合（ステップ４００８，ＹＥＳ）、制御部１１２は、ステップ４００４以降の処理を繰り返す。
【０２６２】
一方、読み出し処理の対象が（Ｎ−２）番目又は（Ｎ−１）番目の論理ボリュームである場合（ステップ４００８，ＮＯ）、制御部１１２は、測定情報の「復元中ライン番号２」と「復元中ライン番号１」の差分が、所定値以下か否かをチェックする（ステップ４００９）。差分が所定値より大きい場合（ステップ４００９，ＮＯ）、制御部１１２は、ステップ４００４以降の処理を繰り返す。
【０２６３】
一方、差分が所定値以下である場合（ステップ４００９，ＹＥＳ）、制御部１１２は、初期間隔値Ｌｐを式（３）により再計算し、測定情報の「初期間隔値１」に登録する（ステップ４０１０）。
【０２６４】
このとき、Ｎ番目の論理ボリュームのブロックのうち、復元未完了のブロックの総サイズがＬ１として用いられる。制御部１１２は、図９の測定情報の「復元中ライン番号１」とＢｓとを用いて、復元が完了したブロックの総サイズを求めることができる。そして、制御部１１２は、図６のＬＶＧ情報の「ＬＶサイズ１」から、復元が完了したブロックの総サイズを減算することで、復元未完了のブロックの総サイズを求めることができる。
【０２６５】
さらに、（Ｎ−１）番目の論理ボリュームのブロックのうち、復元未完了のブロックの総サイズがＬ２として用いられる。制御部１１２は、図９の測定情報の「復元中ライン番号２」とＢｓとを用いて、復元が完了したブロックの総サイズを求めることができる。そして、制御部１１２は、図６のＬＶＧ情報の「ＬＶサイズ２」から、復元が完了したブロックの総サイズを減算することで、復元未完了のブロックの総サイズを求めることができる。
【０２６６】
ここで、読み出し処理の対象が（Ｎ−１）番目の論理ボリュームである場合、（Ｎ−１）番目の論理ボリュームに対して、図３２の読み出し処理と図３９の復元処理とが並行して行われている。そこで、（Ｎ−１）番目の論理ボリュームにおける復元未完了のブロックの総サイズから、読み出しが完了したブロックの総サイズを減算した値を、Ｌ２として用いてもよい。
【０２６７】
次に、制御部１１２は、測定情報の「復元中ライン番号２」と「復元中ライン番号１」の差分が、初期間隔値Ｌｐ以上か否かをチェックする（ステップ４０１１）。差分が初期間隔値Ｌｐ未満である場合（ステップ４０１１，ＮＯ）、制御部１１２は、差分が初期間隔値Ｌｐ以上になるまで待機する。
【０２６８】
一方、差分が初期間隔値Ｌｐ以上である場合（ステップ４０１１，ＹＥＳ）、制御部１１２は、ステップ４００４以降の処理を繰り返す。そして、全ブロックのコピーが完了した場合（ステップ４００５，ＹＥＳ）、制御部１１２は、復元処理を終了する。
【０２６９】
このような第２のストレージ制御方法に基づくコピー処理によれば、図３３の復元処理を行う場合と同様に、テープライブラリ装置２１１からディスクアレイ装置２１２へデータをコピーするのにかかる時間を短縮することができる。
【０２７０】
また、（Ｎ−２）番目の論理ボリュームの読み出しが完了したとき、（Ｎ−１）番目の論理ボリュームの一部をテープライブラリ装置２１１から読み出す処理が開始される。さらに、（Ｎ−１）番目の論理ボリュームのコピーが完了したとき、Ｎ番目の論理ボリュームの一部をテープライブラリ装置２１１から読み出す処理が開始される。このため、図３３の復元処理を行う場合と同様に、コピー処理時間の短縮効果がさらに大きくなる。
【０２７１】
Ｎ個の論理ボリュームの処理の順番は、サイズが小さい順に限られることはない。Ｎ番目の論理ボリュームのサイズが（Ｎ−２）番目の論理ボリュームのサイズより大きいか、又は（Ｎ−１）番目の論理ボリュームのサイズが（Ｎ−２）番目の論理ボリュームのサイズより大きければ、他の順番であっても構わない。
【０２７２】
図４１〜図４５は、第２のストレージ制御方法において、図３２の読み出し処理と、図３９の復元処理と、図４０の復元処理とを並行して行うコピー処理の例を示している。この例では、コピー対象の論理ボリュームグループに属する論理ボリュームは、図３４の場合と同じである。
【０２７３】
ＬＶ１の格納領域のうち、ライン番号０〜ライン番号１９に対応する２０ブロックの領域には、ＬＶ２のデータ、パリティＰ、及びパリティＱを用いて復元されたデータ、又はテープライブラリ装置２１１から読み出されるデータが格納される。
【０２７４】
ＬＶ０の格納領域には、ＬＶ１のデータ、ＬＶ２のデータ、及びパリティＰを用いて復元されたデータ、又はテープライブラリ装置２１１から読み出されるデータが格納される。
【０２７５】
図３１のステップ３１０３において、ＬＶ２の処理順位は１番目に決定され、ＬＶ１の処理順位は２番目に決定され、ＬＶ０の処理順位は３番目（最後）に決定される。この例では、コピー対象の論理ボリュームグループに属する論理ボリュームの数が３であるため、ステップ３１０５の処理は行われずに、最初からステップ３１０７の並行処理が実行される。
【０２７６】
ステップ３１０７の並行処理において、読み出し処理は、ＬＶ２のライン番号０のブロックから開始される。また、パリティＰ及びパリティＱを用いた復元処理は、ＬＶ１のライン番号０のブロックから開始され、パリティＰのみを用いた復元処理は、ＬＶ０のライン番号０のブロックから開始される。
【０２７７】
まず、図４１に示す第１の状態では、並行処理が既に進行しており、ライン番号１７に対応するＬＶ２のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。また、ライン番号６に対応するＬＶ２のデータ、パリティＰ、及びパリティＱを用いて、ＬＶ１のライン番号６のデータが復元される。そして、ライン番号２に対応するＬＶ１のデータ、ＬＶ２のデータ、及びパリティＰを用いて、ＬＶ０のライン番号２のデータが復元される。
【０２７８】
ここで、ＬＶ２の全ブロックの読み出しが完了したため、図３２のステップ３２０５において、読み出し処理の対象がＬＶ２からＬＶ１に変更され、「読み出し中ライン番号」がライン番号１９に変更される。
【０２７９】
次に、図４２に示す第２の状態では、ライン番号１９に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。また、ライン番号７に対応するＬＶ２のデータ、パリティＰ、及びパリティＱを用いて、ＬＶ１のライン番号７のデータが復元される。そして、ライン番号３に対応するＬＶ１のデータ、ＬＶ２のデータ、及びパリティＰを用いて、ＬＶ０のライン番号３のデータが復元される。
【０２８０】
このような処理が繰り返された後、図４３に示す第３の状態では、ライン番号１２に対応するＬＶ１のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。また、ライン番号１１に対応するＬＶ２のデータ、パリティＰ、及びパリティＱを用いて、ＬＶ１のライン番号１１のデータが復元される。そして、ライン番号７に対応するＬＶ１のデータ、ＬＶ２のデータ、及びパリティＰを用いて、ＬＶ０のライン番号７のデータが復元される。
【０２８１】
ここで、ＬＶ１の全ブロックのコピーが完了したため、図３２のステップ３２０９において、読み出し処理の対象がＬＶ１からＬＶ０に変更され、「読み出し中ライン番号」がライン番号２２に変更される。
【０２８２】
次に、図４４に示す第４の状態では、ライン番号２２に対応するＬＶ０のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号９に対応するＬＶ１のデータ、ＬＶ２のデータ、及びパリティＰを用いて、ＬＶ０のライン番号９のデータが復元される。
【０２８３】
このような処理が繰り返された後、図４５に示す第５の状態では、ライン番号１４に対応するＬＶ０のデータがテープライブラリ装置２１１から読み出されてディスクアレイ装置２１２に書き込まれる。そして、ライン番号１３に対応するＬＶ１のデータ、ＬＶ２のデータ、及びパリティＰを用いて、ＬＶ０のライン番号１３のデータが復元される。ここで、ＬＶ０の全ブロックのコピーが完了したため、並行処理が終了する。
【０２８４】
図１０〜図１３、図２１、図２２、図３１〜図３３、図３９、及び図４０のフローチャートは一例に過ぎず、ストレージシステム２０１の構成や条件に応じて一部の処理を省略又は変更してもよい。
【０２８５】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【０２８６】
１０１  ストレージ制御装置
１０２  第１の記憶装置
１０３  第２の記憶装置
１１１  パリティ生成部
１１２  制御部
２０１  ストレージシステム
２０２  ホスト装置
２１１  テープライブラリ装置
２１２  ディスクアレイ装置
３０１  ＣＰＵ
３０２  メモリ
３０３  補助記憶装置
３０４  テープインタフェース
３０５  入力インタフェース
３０６  媒体駆動装置
３０７  ホストインタフェース
３０８  ディスクインタフェース
３０９  バス
３１１  入力装置
３１２  可搬型記録媒体
【図１】
2014182460.tif 000003
【図２】
2014182460.tif 000004
【図３】
2014182460.tif 000005
【図４】
2014182460.tif 000006
【図５】
2014182460.tif 000007
【図６】
2014182460.tif 000008
【図７】
2014182460.tif 000009
【図８】
2014182460.tif 000010
【図９】
2014182460.tif 000011
【図１０】
2014182460.tif 000012
【図１１】
2014182460.tif 000013
【図１２】
2014182460.tif 000014
【図１３】
2014182460.tif 000015
【図２１】
2014182460.tif 000016
【図２２】
2014182460.tif 000017
【図３１】
2014182460.tif 000018
【図３２】
2014182460.tif 000019
【図３３】
2014182460.tif 000020
【図３９】
2014182460.tif 000021
【図４０】
2014182460.tif 000022
【図１４】
2014182460.tif 000023
【図１５】
2014182460.tif 000024
【図１６】
2014182460.tif 000025
【図１７】
2014182460.tif 000026
【図１８】
2014182460.tif 000027
【図１９】
2014182460.tif 000028
【図２０】
2014182460.tif 000029
【図２３】
2014182460.tif 000030
【図２４】
2014182460.tif 000031
【図２５】
2014182460.tif 000032
【図２６】
2014182460.tif 000033
【図２７】
2014182460.tif 000034
【図２８】
2014182460.tif 000035
【図２９】
2014182460.tif 000036
【図３０】
2014182460.tif 000037
【図３４】
2014182460.tif 000038
【図３５】
2014182460.tif 000039
【図３６】
2014182460.tif 000040
【図３７】
2014182460.tif 000041
【図３８】
2014182460.tif 000042
【図４１】
2014182460.tif 000043
【図４２】
2014182460.tif 000044
【図４３】
2014182460.tif 000045
【図４４】
2014182460.tif 000046
【図４５】
2014182460.tif 000047