(57)【要約】【課題】キャッシュとして用いられる記憶装置の容量が不足することによって生じるパフォーマンス低下を防ぐ。【解決手段】ＲＡＩＤ装置１１のディスクに格納されたデータを複数のテープ装置に退避する場合に、データ書き込み速度が最も速いテープ装置を選択してデータを格納し、選択したテープ装置へのデータの格納が完了した時点で、その他のテープ装置へのデータの格納は中止するとともに、当該データをディスクからの追い出し対象データとして設定する。そして、データの格納を中止したテープ装置に対しては、その後の所定のタイミングで、すでに当該データを格納済みのテープ装置から、データをバックアップする。【選択図】        図１
2008123444.tif 000002
【特許請求の範囲】
【請求項１】
第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置であって、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、
前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、
前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、
を備えたことを特徴とするデータ格納制御装置。
【請求項２】
記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段をさらに備え、
前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、データ書き込み時間が最も短い記憶装置を前記第二の記憶装置として選択することを特徴とする請求項１に記載のデータ格納制御装置。
【請求項３】
前記データ格納手段は、前記第一の記憶装置の空き容量が所定の閾値以下であるか否かを判定し、該空き容量が所定の閾値以下であった場合に、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納することを特徴とする請求項１または２に記載のデータ格納制御装置。
【請求項４】
記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段をさらに備え、
前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、前記第二の記憶装置に前記データを記憶することを特徴とする請求項１に記載のデータ格納制御装置。
【請求項５】
前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、複数の記憶装置の中から複数または単数の記憶装置を前記第二の記憶装置として選択し、選択した第二の記憶装置に、前記第一の記憶装置に格納されたデータを格納することを特徴とする請求項４に記載のデータ格納制御装置。
【請求項６】
第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御方法であって、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納工程と、
前記データ格納工程により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定工程と、
前記追い出しデータ設定工程により前記追い出し対象データが設定された後に、前記データ格納工程により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ工程と、
を含んだことを特徴とするデータ格納制御方法。
【請求項７】
第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御プログラムであって、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手順と、
前記データ格納手順により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手順と、
前記追い出しデータ設定手順により前記追い出し対象データが設定された後に、前記データ格納手順により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手順と、
をコンピュータに実行させることを特徴とするデータ格納制御プログラム。
【請求項８】
第一の記憶装置と、該第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置とから構成されるデータ記憶システムであって、
データ格納制御装置が、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、
前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、
前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、
を備えたことを特徴とするデータ記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システムに関し、特に、キャッシュとして用いられる記憶装置の容量が不足することによって生じるパフォーマンス低下を防ぐことができるデータ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システムに関するものである。
【背景技術】
【０００２】
従来、ディスク装置を用いて仮想的なテープ装置を実現する仮想テープシステムが存在する（例えば、特許文献１参照。）。この仮想テープシステムは、ディスク装置をキャッシュとして利用することにより、データの書き込みや読み出しにかかる処理速度の高速化を実現するものである。
【０００３】
通常、仮想テープシステムには、バックエンドにテープライブラリが接続されており、ホスト装置から送られたデータは、いったん、キャッシュであるディスク装置に格納された後に、所定のタイミングでテープ装置に送られ、テープ媒体にバックアップされる。ディスク装置に格納されていたデータは、テープ媒体へのバックアップが完了するまでは、ディスク装置上に保持される。
【０００４】
テープ媒体へのバックアップでは、重要度が高いデータについては、複数のテープ媒体にバックアップすることが一般的である。複数のテープ媒体にデータをバックアップすることを、データの二重化と呼ぶ。通常、この二重化は、複数のテープ装置により並列に実行される。この場合、バックアップ対象のデータは、同時に複数のテープ装置に送られる。
【０００５】
さらに、近年では、災害時などに備え、バックエンドのテープ装置だけではなく、遠隔地に設置されたテープ装置にデータをバックアップすることも行われている。この場合、バックアップ対象のデータは、バックエンドのテープ装置に送られると同時に、ネットワークを経由して、遠隔地に設置されたテープ装置にも送られる。
【０００６】
このように、データの二重化を行なうことにより、テープ媒体の損傷や災害などによってデータが消失するのを防ぐことができる。
【０００７】
【特許文献１】特開２００３−５８３２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述したデータの二重化では、テープ装置ごとのデータの書き込み時間に差が生じる場合がある。例えば、テープ装置自体に性能差（書き込み速度の差や、インタフェースのデータ転送速度の差など）がある場合や、一部のテープ装置にハード故障が起きた場合などである。また、遠隔地のテープ装置を用いてバックアップを行なっている場合には、データの書き込み速度は、ネットワークの回線速度にも影響される。
【０００９】
書き込み時間の差が生じた場合、二重化に用いられる複数のテープ装置のうち、一部のテープ装置へのバックアップが遅れることになる。バックアップ対象のデータは、全てのテープ装置においてバックアップが完了するまではディスク装置上に保持されるため、データの二重化が集中して行われると、ディスク装置の容量不足が発生する。この場合、ホスト装置から送られるデータを格納するための領域が確保されず、ディスク装置へのデータ格納に待ち状態が発生してしまうという問題がある。
【００１０】
待ち状態が頻繁に発生すると、データの書き込み速度や読み出し速度が全体的に低下し、仮想テープシステムの本来の目的の一つである、データの書き込みや読出しの高速化を実現することができなくなる。そのため、いかにして、ディスク装置の容量不足によって生じるパフォーマンスの低下を防ぐかが極めて重要な課題となっている。
【００１１】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、キャッシュとして用いられる記憶装置の容量が不足することによって生じるパフォーマンス低下を防ぐことができるデータ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、本発明は、第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置であって、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、を備えたことを特徴とする。
【００１３】
また、本発明は、上記の発明において、記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段をさらに備え、前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、データ書き込み時間が最も短い記憶装置を前記第二の記憶装置として選択することを特徴とする。
【００１４】
また、本発明は、上記の発明において、前記データ格納手段は、前記第一の記憶装置の空き容量が所定の閾値以下であるか否かを判定し、該空き容量が所定の閾値以下であった場合に、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納することを特徴とする。
【００１５】
また、本発明は、上記の発明において、記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段をさらに備え、前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、前記第二の記憶装置に前記データを記憶することを特徴とする。
【００１６】
また、本発明は、上記の発明において、前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、複数の記憶装置の中から複数または単数の記憶装置を前記第二の記憶装置として選択し、選択した第二の記憶装置に、前記第一の記憶装置に格納されたデータを格納することを特徴とする。
【００１７】
また、本発明は、上記の発明において、データの書き込みが完了した場合に各記憶装置から応答される書込完了応答を受信する書込完了応答受信手段をさらに備え、前記データ格納手段は、前記書込完了応答受信手段により最初に書込完了応答が受信された後に、所定の時間が経過しても前記書込完了応答受信手段により次の書込完了応答が受信されなかった場合に、最初に受信された書き込み完了を応答した記憶装置を前記第二の記憶装置として選択するとともに、他の記憶装置へのデータの書き込みを中止することを特徴とする。
【００１８】
また、本発明は、上記の発明において、前記データバックアップ手段は、前記追い出しデータ設定手段により追い出し対象データとして設定されたデータの総量が所定のデータ量を越えた場合に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップすることを特徴とする。
【００１９】
また、本発明は、第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御方法であって、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納工程と、前記データ格納工程により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定工程と、前記追い出しデータ設定工程により前記追い出し対象データが設定された後に、前記データ格納工程により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ工程と、を含んだことを特徴とする。
【００２０】
また、本発明は、第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御プログラムであって、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手順と、前記データ格納手順により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手順と、前記追い出しデータ設定手順により前記追い出しデータが設定された後に、前記データ格納手順により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手順と、をコンピュータに実行させることを特徴とする。
【００２１】
また、本発明は、第一の記憶装置と、該第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置とから構成されるデータ記憶システムであって、データ格納制御装置が、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、を備えたことを特徴とする。
【発明の効果】
【００２２】
本発明によれば、第一の記憶装置に格納されたデータを第二の記憶装置に格納し、その後に当該データを第一の記憶装置からの追い出し対象データとして設定し、第三の記憶装置には、後から第二の記憶装置に格納したデータをバックアップするよう構成したので、第一の記憶装置がキャッシュとして用いられる場合に、第一の記憶装置の容量が不足することによって生じるパフォーマンス低下を防ぐことができるという効果を奏する。
【００２３】
また、本発明によれば、記憶装置ごとのデータ書き込み時間に係る情報を記憶し、記憶したデータ書き込み時間に係る情報に基づいて、データ書き込み時間が最も短い記憶装置を第二の記憶装置として選択するよう構成したので、第一の記憶装置にデータが保持される時間を最短にすることが可能になり、第一の記憶装置の容量が不足することによって生じるパフォーマンス低下を効率よく防ぐことができるという効果を奏する。
【００２４】
また、本発明によれば、第一の記憶装置の空き容量が所定の閾値以下であるか否かを判定し、空き容量が所定の閾値以下であった場合に、第一の記憶装置に格納されたデータを第二の記憶装置に格納するよう構成したので、第一の記憶装置の容量が不足した場合のみ、第三の記憶装置へのデータのバックアップを先送りすることが可能になり、第二の記憶装置と第三の記憶装置との間で生じるタイムラグを最小限に抑えることができるという効果を奏する。
【００２５】
また、本発明によれば、記憶装置ごとのデータ書き込み時間に係る情報を記憶し、記憶したデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、第二の記憶装置にデータを記憶するよう構成したので、第二の記憶装置と第三の記憶装置との間で書き込み速度が大きく異なる場合のみ、第三の記憶装置へのデータのバックアップを先送りすることが可能になり、第二の記憶装置と第三の記憶装置との間で生じるタイムラグを最小限に抑えることができるという効果を奏する。
【００２６】
また、本発明によれば、記憶したデータ書き込み時間に係る情報に基づいて、複数の記憶装置の中から複数または単数の記憶装置を第二の記憶装置として選択し、選択した第二の記憶装置に、第一の記憶装置に格納したデータを格納するよう構成したので、例えば、平均書き込み時間や、最短書き込み時間が最も短い記憶装置を第二の記憶装置として選択することにより、第一の記憶装置にデータが保持される時間を最短にすることが可能になり、第一の記憶装置の容量が不足することによって生じるパフォーマンス低下を効率よく防ぐことができるという効果を奏する。
【００２７】
また、本発明によれば、データの書き込みが完了した場合に各記憶装置から応答される書込完了応答を受信し、最初に書込完了応答を受信した後に、所定の時間が経過しても次の書込完了応答を受信しなかった場合に、最初に受信した書き込み完了を応答した記憶装置を第二の記憶装置として選択するとともに、他の記憶装置へのデータの書き込みを中止するよう構成したので、リアルタイムに書き込み速度を測定して第二の記憶装置を選択することが可能になり、各記憶装置の最新の状態に即して、最初にデータを格納する記憶装置を決めることができるという効果を奏する。
【００２８】
また、本発明によれば、追い出し対象データとして設定したデータの総量が所定のデータ量を越えた場合に、第二の記憶装置に格納したデータを第二の記憶装置から第三の記憶装置にバックアップするよう構成したので、バックアップの処理による負荷を分散することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２９】
以下に添付図面を参照して、この発明に係るデータ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システムの好適な実施例を詳細に説明する。なお、本実施例では、本発明を仮想テープシステムに適用した場合を中心に説明する。
【実施例】
【００３０】
まず、本実施例に係る仮想テープシステムの概念について説明する。図１は、本実施例に係る仮想テープシステムの概念を示す図である。この仮想テープシステム１０は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置１１を用いて仮想的なテープ装置を実現するものであり、ネットワークを介して、ホスト装置２０と、テープライブラリ３０に備えられたテープ装置３１および３２とに接続され、また、ＷＡＮ（Wide Area Network）４０を介してテープ装置５０にも接続されている。
【００３１】
このような構成のもと、仮想テープシステム１０は、ホスト装置２０から送られたデータをＲＡＩＤ装置１１に備えられたディスクに格納し、その後に、当該データを、テープ装置３１、３２および５０に多重化して格納する。そして、仮想テープシステム１０は、テープ装置３１、３２および５０への格納がそれぞれ完了した後に、当該データを、ＲＡＩＤ装置１１のディスクからの追い出し対象データとして設定する。追い出し対象データとして設定されたデータは、後に、新たなデータがディスクに書き込まれる際に、そのデータを格納するスペースを作るためにディスクから追い出される。
【００３２】
ここで、仮想テープシステム１０は、ＲＡＩＤ装置１１のディスクの容量に余裕がある場合には、テープ装置３１、３２および５０の全てにデータを格納するが（同図（ａ）を参照）、ディスク内のデータの量が増加し、ディスクの空き容量が所定の閾値以下となった場合には、テープ装置３１、３２または５０のうち、データ書き込み速度がもっとも速いテープ装置を選択し、データを格納する（同図（ｂ）の（１）を参照）。
【００３３】
例えば、テープ装置３２のデータ書き込み速度が最も速かったとする。その場合、仮想テープシステム１０は、テープ装置３２へのデータの格納が完了した時点で、テープ装置３１および５０へのデータの格納は中止し、そのうえで、当該データをＲＡＩＤ装置１１のディスクからの追い出し対象データとして設定する（同図（ｂ）の（２）を参照）。
【００３４】
そして、仮想テープシステム１０は、業務による負荷が低い時間帯など所定のタイミングで、テープ装置３２に格納したデータを、テープ装置３１および５０にバックアップする（同図（ｃ）の（３）を参照）。
【００３５】
このように、本実施例に係る仮想テープシステム１０は、ＲＡＩＤ装置１１のディスクに格納されたデータを複数のテープ装置に退避する場合に、データ書き込み速度が最も速いテープ装置を選択してデータを格納し、選択したテープ装置へのデータの格納が完了した時点で、その他のテープ装置へのデータの格納は中止するとともに、当該データをディスクからの追い出し対象データとして設定する。そして、データの格納を中止したテープ装置に対しては、その後の所定のタイミングで、すでに当該データを格納済みのテープ装置から、データをバックアップすることを特徴としている。
【００３６】
これにより、本実施例に係る仮想テープシステム１０では、キャッシュとして用いられるディスクの容量が不足することによって生じるパフォーマンス低下を防ぐことができる。
【００３７】
なお、ここでは説明の便宜上、テープライブラリ３０に備えられた２台のテープ装置、および、ＷＡＮ４０を介して接続されたテープ装置５０にそれぞれデータを退避する場合を示したが、テープライブラリ３０に備えられた２台以上のテープ装置にデータを退避する場合や、ＬＡＮ（Local Area Network）やインターネットを介して接続されたテープ装置にデータを退避する場合にも本発明を同様に適用することが可能である。
【００３８】
次に、本実施例に係る仮想テープシステム１０の構成について説明する。図２は、本実施例に係る仮想テープシステム１０の構成を示す図である。同図に示すように、この仮想テープシステム１０は、ＬＡＮ７０およびＦＣ（Fibre Channel）８０を介してホスト装置２０に接続され、ＦＣ８０を介して、テープライブラリ３０、および、テープライブラリに備えられたテープ装置３１および３２に、それぞれ接続されている。さらに、仮想テープシステム１０は、ＷＡＮ４０を介してテープ装置５０に接続され、ＬＡＮ７０を介してコンソール端末６０に接続されている。
【００３９】
仮想テープシステム１０は、ＲＡＩＤ装置１１と、ホストインタフェース制御装置１２と、テープ装置制御装置１３、１４および１５と、ロボット制御装置１６と、ＦＣスイッチ１７と、仮想テープシステム制御装置とがＦＣ８０を介して接続されて、構成されている。
【００４０】
ＲＡＩＤ装置１１は、複数のディスクを記憶媒体として備えた記憶装置であり、後述する仮想テープシステム制御装置１００からの指示に基づいて、ホスト装置２０から送信されるデータを、適宜、一つまたは複数のディスクによって定義された論理ボリュームに格納する。
【００４１】
ホストインタフェース制御装置１２は、ホストインタフェースの制御や、仮想テープ装置群のエミュレーション、データの圧縮処理などを行う処理装置である。例えば、ホストインタフェース制御装置１２は、ホスト装置２０から送られたテープ装置用の命令を、仮想テープシステム用の命令に変換する。
【００４２】
テープ装置制御装置１３、１４および１５は、それぞれ、後述する仮想テープシステム制御装置１００からの指示に基づいて、ＲＡＩＤ装置１１のディスクに格納されたデータをテープ装置３１や３２、５０に対して書き込んだり、テープ装置３１や３２、５０に格納されているデータを読み出して、ホストインタフェース制御装置に送信したりする処理装置である。
【００４３】
ロボット制御装置１６は、後述する仮想テープシステム制御装置１００からの指示に基づいて、テープライブラリ３０に備えられたロボットアームを制御し、テープライブラリ３０に備えられた複数のテープ装置に対するテープ媒体の装填および取り出しを行う処理装置である。
【００４４】
ＦＣスイッチ１７は、後述する仮想テープシステム制御装置１００によって制御され、仮想テープシステム１０を構成する各装置間でやり取りされるデータや制御信号の中継を行うスイッチであり、例えば、ホストインタフェース制御装置を介してホスト装置から受信したデータをＲＡＩＤ装置１１に中継したり、ＲＡＩＤ装置１１のディスクに格納されたデータをテープ装置制御装置１３、１４または１５を介して、テープ装置３１、３２または５０に中継したりする。
【００４５】
仮想テープシステム制御装置１００は、仮想テープシステム１０の全体制御を行う処理装置であり、ホスト装置２０からの指示に基づいて、ＦＣスイッチを介して、ホスト装置２０から受信したデータをＲＡＩＤ装置１１に送信したり、ＲＡＩＤ装置１１のディスクに格納されたデータをテープ装置３１や３２、５０に送信したり、ロボット制御装置１６に指示して、テープライブラリ３０の制御を行ったりする。
【００４６】
ホスト装置２０は、メインフレームやサーバなどの情報処理装置であり、仮想テープシステム１０に記憶させるデータを送信し、また、仮想テープシステム１０により記憶されたデータを受信する。
【００４７】
テープライブラリ３０は、テープ装置３１および３２を含む複数のテープ装置と、各テープ装置にテープ媒体を装填するためのロボットアームとを備えた記憶装置であり、仮想テープシステム１０によって制御され、所定のタイミングで、仮想テープシステムから送信されたデータをテープ媒体に格納する。
【００４８】
コンソール端末６０は、マウスやキーボードなどの入力装置と、ディスプレイなどの表示装置を備えた端末装置であり、仮想テープシステム１０に対する要求を利用者から受け付ける際に用いられる。
【００４９】
さらに、仮想テープシステム制御装置１００の機能構成について説明する。図３は、本実施例に係る仮想テープシステム制御装置１００の構成を示す機能ブロック図である。同図に示すように、この仮想テープシステム制御装置１００は、記憶部１１０と、制御部１２０とを有する。
【００５０】
記憶部１１０は、各種情報を記憶する記憶部であり、本発明に関連するものとしては、二重化定義テーブル１１１と、二重化状態テーブル１１２と、二重化監視テーブル１１３とを記憶する。
【００５１】
二重化定義テーブル１１１は、二重化を行う単位となる論理ボリュームと、当該論理ボリュームのデータを格納するテープ装置との対応付けを定義した二重化定義情報を記憶するテーブルである。この二重化定義情報は、利用者によって定義されて、あらかじめ二重化定義テーブル１１１に格納される。図４は、二重化定義情報の一例を示す図である。同図に示す二重化定義情報は、「論理ボリューム」と、「テープ装置０」と、「テープ装置１」と、「テープ装置２」とから構成されている。
【００５２】
具体的には、「論理ボリューム」は、二重化を行う単位となる論理ボリュームを識別する識別情報であり、「テープ装置０」は、論理ボリュームごとに、当該論理ボリュームのデータをテープ装置３１に格納するか否かを示す情報であり、「テープ装置１」は、論理ボリュームごとに、当該論理ボリュームのデータをテープ装置３２に格納するか否かを示す情報であり、「テープ装置２」は、論理ボリュームごとに、当該論理ボリュームのデータをテープ装置５０に格納するか否かを示す情報である。
【００５３】
例えば、「論理ボリューム」には「ＬＶ０」や「ＬＶ１」、「ＬＶ１００」、「ＬＶｘ」などが設定され、「テープ装置０」、「テープ装置１」および「テープ装置２」には、論理ボリュームごとに、当該論理ボリュームのデータを格納することを示す「○」が設定される。同図に示す例では、論理ボリュームＬＶ０のデータが、テープ装置０およびテープ装置１にそれぞれ格納され、論理テーブルＬＶ１のデータが、テープ装置０、テープ装置１およびテープ装置２にそれぞれ格納され、論理テーブルＬＶ１００のデータが、テープ装置０およびテープ装置２にそれぞれ格納されるように定義されている。
【００５４】
二重化状態テーブル１１２は、論理ボリュームごとのテープ装置への格納状態を示す二重化状態情報を記憶するテーブルである。図５は、二重化状態情報の一例を示す図である。同図に示す二重化状態情報は、「論理ボリューム」と、テープ装置ごとの「累計時間」、「書込回数」、「平均書込時間」および「等価」とを論理ボリュームごとに対応付けて構成されている。
【００５５】
具体的には、「論理ボリューム」は、二重化を行う単位となる論理ボリュームを識別する識別情報であり、「累計時間」は、テープ装置にデータを書き込む際にかかった時間の累計であり、「書込回数」は、テープ装置にデータを書き込んだ回数であり、「平均書込時間」は、１書込回数あたりの書き込み時間（累計時間÷書込回数）であり、「等価」は、最後に二重化が行われた際に、データが正しく格納されたか否かを示す情報である。
【００５６】
例えば、同図に示すように、「論理ボリューム」には「ＬＶ０」や「ＬＶ１」、「ＬＶ１００」、「ＬＶｘ」などが設定され、「累計時間」には「２３４５３２（秒）」や「３０９９９（秒）」、「１２３４５（秒）」などが設定され、「書込回数」には「３６０８（回）」や「３０９９９（回）」、「３０８（回）」などが設定され、「平均書込時間」には「６５（秒）」や「１０（秒）」、「４０（秒）」などが設定され、「等価」には、データが正しく格納されたことを示す「○」や、データが正しく格納されなかったことを示す「×」が設定される（同図の「テープ装置０」の設定内容を参照）。
【００５７】
なお、ここでは、累計時間と書込回数に基づいて平均書込時間を算出することとしたが、例えば、書込回数の代わりに、それまでに書き込んだデータのデータ長の累計を記憶しておき、単位データ長あたりの書き込み時間を平均書込時間としてもよい。
【００５８】
二重化監視テーブル１１３は、論理ボリュームごとに、二重化に係る処理の状況を示す二重化監視情報を記憶するテーブルである。図６は、二重化監視情報の一例を示す図である。同図に示す二重化監視情報は、「論理ボリューム」と、「等価」と、「二重化停止時刻」と、「二重化開始時刻」とから構成されている。
【００５９】
具体的には、「論理ボリューム」は、二重化を行う単位となる論理ボリュームを識別する識別情報であり、「等価」は、最後に二重化が行われた際に、二重化定義情報で定義されたすべてのテープ装置にデータが正しく格納されたか否かを示す情報であり、「二重化停止時刻」は、ＲＡＩＤ装置１１のディスクの容量が不足した場合などに、二重化が停止された時刻であり、「二重化開始時刻」は、業務による負荷が低い時間帯など所定のタイミングで、データのバックアップを開始した時刻である。
【００６０】
例えば、同図に示すように、「論理ボリューム」には、「ＬＶ０」や「ＬＶ１」、「ＬＶ１００」などが設定され、「等価」には、二重化定義情報で定義されたすべてのテープ装置にデータが正しく格納されていることを示す「○」や、二重化定義情報で定義されたすべてのテープ装置にデータが正しく格納されていないことを示す「×」や、後述するバックアップ処理を実施中であることを示す「コピー中」が設定され、「二重化停止時刻」には、「２００６（年）／７（月）／１（日）  １１：００（時刻）」や「２００６／７／１１（年月日）  ５：５０（時刻）」などが設定され、「二重化開始時刻」には「２００６／７／２（年月日）  １５：００（時刻）」などが設定される。
【００６１】
制御部１２０は、仮想テープシステム制御装置１００の全体制御を行う制御部であり、本発明に関連するものとしては、データ転送制御部１２１と、二重化処理部１２２と、テープライブラリ制御部１２３と、二重化指示受付部１２４とを有する。
【００６２】
データ転送制御部１２１は、ホストインタフェース制御装置１２から送られる命令に基づいてＦＣスイッチ１７やロボット制御装置１６を制御し、各種データの転送を制御する処理部である。具体的には、データ転送制御部１２１は、ホスト装置２０からデータの書き込みまたは読み出し指示を受け付けた場合に、ホストインタフェース制御装置１２から順に送られるマウント命令、テープの位置付け命令、テープへのリードおよびライト命令、テープのリワインド命令、テープのアンロード命令、テープのアンマウント命令に基づいて、ＲＡＩＤ装置１１のディスク上の論理ボリューム、または、テープ装置３１、３２または５０に対して、データの書き込みや、読み出しを行う。
【００６３】
ここで、データ転送制御部１２１は、アンロード命令を受け付けた場合には、ライト命令によってＲＡＩＤ装置１１のディスク上の論理ボリュームに書き込まれたデータを、テープライブラリ３０のテープ装置３１、３２および５０のうち、二重化定義テーブル１１１の二重化定義情報において定義されたテープ装置に対して格納する。
【００６４】
このテープ装置へのデータ格納を行う際に、データ転送制御部１２１は、ＲＡＩＤ装置１１のディスクの空き容量を確認し、ディスクの空き容量が所定の閾値以下であった場合には、二重化状態テーブル１１２の二重化状態情報を参照し、当該論理ボリュームの格納先として定義されているテープ装置の中から、平均書き込み時間が最も短いテープ装置を選択する。
【００６５】
なお、ここでは、平均書き込み時間が最も短いテープ装置を選択することとしたが、ここで選択するテープ装置は、一つだけではなく、複数でもよい。例えば、平均書き込み時間が短い順に所定の数のテープ装置を選択するようにしてもよい。
【００６６】
そして、データ転送制御部１２１は、選択したテープ装置に当該論理ボリュームのデータを格納するよう二重化処理部１２２に指示する。その後、データ転送制御部１２１は、選択したテープ装置から書き込み完了応答を受信した場合には、当該論理ボリュームに対応するデータをＲＡＩＤ装置１１からの追い出し対象データとして設定する。
【００６７】
また、データ転送制御部１２１は、テープ装置に対してデータを格納した場合には、その都度、二重化状態テーブル１１２の二重化状態情報に含まれる累計時間、書込回数、平均書込時間（累計時間および書込回数から算出）および等価を、論理ボリュームごとに更新する。
【００６８】
また、データ転送制御部１２１は、テープ装置を選択してデータを格納した場合には、その都度、二重化監視テーブル１１３の二重化監視情報に含まれる二重化停止時刻を、論理ボリュームごとに更新する。
【００６９】
上記したテープ装置へのデータ格納に係る一連の処理を、「データ格納処理」と呼ぶ。このデータ格納処理の詳細な処理手順については、後に図７を参照して説明する。
【００７０】
なお、ここでは、データ転送制御部１２１は、ＲＡＩＤ装置１１のディスクの空き容量が所定の閾値以下となった場合に、データ格納処理を開始することとしたが、例えば、二重化状態テーブル１１２に記憶された二重化状態情報に基づいて、テープ装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、データ格納処理を開始するようにしてもよい。
【００７１】
また、二重化状態テーブル１１２に記憶された二重化状態情報に基づいて、データ格納処理を介するのではなく、データの書き込みが完了した場合に各テープ装置から応答される書込完了応答を受信し、最初に書込完了応答を受信した後に、所定の時間が経過しても次の書込完了応答を受信しなかった場合に、最初に受信した書き込み完了を応答したテープ装置を選択するようにデータ格納処理を行ってもよい。
【００７２】
二重化処理部１２２は、データ格納処理においてデータが格納されたテープ装置から、データが未格納であるテープ装置に対して、データのバックアップ（二重化）を行う処理部である。この二重化処理部１２２は、業務による負荷が低い時間など所定の時間が到来した場合や、後述する二重化指示受付部１２４からの指示を受け付けた場合に、テープライブラリ制御部１２３に指示して、データ格納処理においてデータが格納されたテープ装置から、データが未格納であるテープ装置に対して、データのバックアップを行う。
【００７３】
具体的には、二重化処理部１２２は、業務による負荷が低い時間など所定の時間が到来したことを確認した場合には、二重化状態テーブル１１２に記憶された二重化状態情報を参照し、論理ボリュームごとに、データの格納先として定義されているテープ装置に対するデータの格納状況を確認する。
【００７４】
そして、二重化処理部１２２は、論理ボリュームごとに、すでにデータの格納が行われているテープ装置（二重化状態テーブル１１２において、「等価」が「○」となっているテープ装置）から、データの格納がまだ行われていないテープ装置（二重化状態テーブル１１２において、「等価」が「×」となっているテープ装置）に対して、データをバックアップするよう二重化処理部１２２に対して指示する。
【００７５】
また、二重化処理部１２２は、データのバックアップを行った場合には、その都度、二重化監視テーブル１１３の二重化監視情報に含まれる等価および二重化開始時刻を、論理ボリュームごとに更新する。
【００７６】
上記したテープ装置へのデータ格納に係る一連の処理を、「データバックアップ処理」と呼ぶ。このデータバックアップ処理の詳細な処理手順については、後に図８を参照して説明する。
【００７７】
なお、二重化処理部１２２は、二重化指示受付部１２４から指示された場合には、利用者から指定された論理ボリュームについてのみ、上述したデータバックアップ処理を行う。
【００７８】
また、ここでは、二重化処理部１２２は、業務による負荷が低い時間など所定の時間が到来した場合に、データバックアップ処理を行うこととしたが、例えば、ＲＡＩＤ装置１１に追い出し対象データとして設定したデータのデータ量を記憶し、データ量の合計が所定の閾値を超えた場合に、データバックアップ処理を行うようにしてもよい。
【００７９】
テープライブラリ制御部１２３は、ロボット制御装置１６に指示することによって、テープライブラリ３０のテープ装置を制御する処理部である。
【００８０】
二重化指示受付部１２４は、利用者からの要求に基づいて、データの二重化に係る処理の状況をコンソール端末６０の表示装置に表示するとともに、表示した論理ボリュームに対する二重化指示を利用者から受け付ける処理部である。
【００８１】
具体的には、この二重化指示受付部１２４は、利用者からの参照要求を受け付けた場合には、二重化監視テーブル１１３に格納された二重化監視情報をコンソール端末６０の表示装置に出力する。また、二重化指示受付部１２４は、利用者からの二重化指示を受け付けた場合には、指示された論理ボリュームについて、二重化処理部１２２に指示することにより、データが未格納であるテープ装置に対するデータのバックアップを行う。
【００８２】
次に、データ格納処理の処理手順について説明する。図７は、データ格納処理の処理手順を示すフローチャートである。なお、ここでは、データ転送制御部１２１による処理を中心に説明し、各種テーブル更新に関する処理については、説明を省略する。
【００８３】
同図に示すように、データ転送制御部１２１は、ディスクの空き容量が所定の閾値以下であることを確認すると（ステップＳ１０１，Ｙｅｓ）、さらに、その時点でテープ装置に対してデータの書き込みを指示中であるか否かを確認し、書き込み指示中であった場合には（ステップＳ１０２，Ｙｅｓ）、データ転送制御部１２１は、書き込み指示中のテープ装置のうち、いずれか一つのテープ装置から書き込み完了応答が送信されたか否かを確認する。
【００８４】
そして、いずれか一つのテープ装置から書き込み完了応答が送信されたことを確認した場合には（ステップＳ１０３，Ｙｅｓ）、データ転送制御部１２１は、ロボット制御装置１６および、テープ装置制御装置１３、１４または１５に指示することによって、書き込み完了応答がまだ送信されていないテープ装置に対してデータの書き込みを中止する命令を送信して、それぞれのテープ装置に対するデータの書き込みを中断する（ステップＳ１０４）。
【００８５】
一方、書き込み指示中でなかった場合には（ステップＳ１０２，Ｎｏ）、データ転送制御部１２１は、ホスト装置からアンロード命令を受け付けると（ステップＳ１０５，Ｙｅｓ）、二重化状態テーブル１１２を参照して、データが書き込まれた論理ボリュームの格納先であるテープ装置の平均書込時間を比較し、平均書込時間が最も短いテープ装置を選択する（ステップＳ１０６）。そして、データ転送制御部１２１は、二重化処理部１２２に対して、選択したテープ装置に当該論理ボリュームのデータを書き込むよう指示する（ステップＳ１０７）。
【００８６】
そして、データ転送制御部１２１は、選択したテープ装置から書き込み完了応答を受信した場合には（ステップＳ１０８，Ｙｅｓ）、当該論理ボリュームに対応するデータを、ＲＡＩＤ装置１１からの追い出し対象データとして設定する（ステップＳ１０９）。
【００８７】
次に、データバックアップ処理の処理手順について説明する。図８は、データバックアップ処理の処理手順を示すフローチャートである。なお、ここでは、二重化処理部１２２による処理を中心に説明し、各種テーブル更新に関する処理については、説明を省略する。
【００８８】
同図に示すように、二重化処理部１２２は、業務による負荷が低い時間帯など所定のタイミングが到来した場合に、データのバックアップを開始する（ステップＳ２０１，Ｙｅｓ）。まず、二重化処理部１２２は、二重化状態テーブル１１２に記憶された二重化状態情報を参照し、論理ボリュームごとに、データの格納先として定義されているテープ装置に対するデータの格納状況を確認する（ステップＳ２０２）。
【００８９】
そして、二重化処理部１２２は、論理ボリュームごとに、すでにデータの格納が行われているテープ装置から、データの格納（二重化）がまだ行われていないテープ装置に対して、データをバックアップする（ステップＳ２０３）。
【００９０】
その後、二重化処理部１２２は、全ての論理ボリュームについて、データの格納先として定義されている全てのテープ装置へのデータのバックアップが完了したことを確認すると（ステップＳ２０４，Ｙｅｓ）、処理を終了する。
【００９１】
上述してきたように、本実施例では、データ転送制御部１２１が、ＲＡＩＤ装置１１のディスクに格納されたデータを、選択されたテープ装置に格納し、その後に当該データをＲＡＩＤ装置１１のディスクからの追い出し対象データとして設定し、選択されなかった他のテープ装置には、後から、二重化処理部１２２が、データ格納済みのテープ装置からデータをバックアップするので、キャッシュとして用いられるＲＡＩＤ装置１１のディスクの容量が不足することによって生じるパフォーマンス低下を防ぐことができる。
【００９２】
また、本実施例によれば、二重化状態テーブル１１２が、テープ装置ごとのデータ書き込み時間に係る情報を記憶し、記憶したデータ書き込み時間に係る情報に基づいて、データ転送制御部１２１が、データ書き込み時間が最も短いテープ装置にデータを格納するので、ＲＡＩＤ装置１１のディスクにデータが保持される時間を最短にすることが可能になり、ＲＡＩＤ装置のディスクの容量が不足することによって生じるパフォーマンス低下を効率よく防ぐことができる。
【００９３】
また、本実施例によれば、データ転送制御部１２１が、ＲＡＩＤ装置１１のディスクの空き容量が所定の閾値以下であるか否かを判定し、空き容量が所定の閾値以下であった場合に、ＲＡＩＤ装置１１のディスクに格納されたデータを、いずれか一つのテープ装置を選択してデータを格納するので、ＲＡＩＤ装置１１のディスクの容量が不足した場合のみ、選択されなかった他のテープ装置へのデータのバックアップを先送りすることが可能になり、テープ装置間に生じるバックアップのタイムラグを最小限に抑えることができる。
【００９４】
また、本実施例によれば、二重化状態テーブル１１２が、テープ装置ごとのデータ書き込み時間に係る情報を記憶し、記憶したデータ書き込み時間に係る情報に基づいて、データ転送制御部１２１が、テープ装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、いずれか一つのテープ装置を選択して、データを記憶するので、テープ装置間で書き込み速度が大きく異なる場合のみ、選択されなかった他のテープ装置へのデータのバックアップを先送りすることが可能になり、テープ装置間に生じるバックアップのタイムラグを最小限に抑えることができる。
【００９５】
また、本実施例によれば、二重化状態テーブル１１２に記憶したデータ書き込み時間に係る情報に基づいて、複数のテープ装置の中から複数または単数のテープ装置を選択し、選択したテープ装置に、ＲＡＩＤ装置１１のディスクに格納したデータを格納するので、例えば、平均書き込み時間や、最短書き込み時間が最も短いテープ装置を選択してデータを格納することにより、ＲＡＩＤ装置１１のディスクにデータが保持される時間を最短にすることが可能になり、ＲＡＩＤ装置１１のディスクの容量が不足することによって生じるパフォーマンス低下を効率よく防ぐことができる。
【００９６】
また、本実施例によれば、データ転送制御部１２１が、データの書き込みが完了した場合に各テープ装置から応答される書込完了応答を受信し、最初に書込完了応答を受信した後に、所定の時間が経過しても次の書込完了応答を受信しなかった場合に、最初に受信した書き込み完了を応答したテープ装置を選択してデータを格納するとともに、他のテープ装置へのデータの書き込みを中止するので、リアルタイムに書き込み速度を測定してテープ装置を選択してデータを格納することが可能になり、各テープ装置の最新の状態に即して、最初にデータを格納するテープ装置を決めることができる。
【００９７】
また、本実施例によれば、二重化処理部１２２が、ＲＡＩＤ装置１１に追い出し対象データとして設定したデータの総量が所定のデータ量を越えた場合に、選択されたテープ装置に格納したデータを、選択されなかったテープ装置にバックアップするので、バックアップの処理による負荷を分散することができる。
【００９８】
なお、本実施例では、仮想テープシステム制御装置について説明したが、上述した仮想テープシステム制御装置が有する各処理部の機能をソフトウェアによって実現することで、同様の機能を有するデータ格納制御プログラムを得ることができる。そこで、このデータ格納制御プログラムを実行するコンピュータについて説明する。
【００９９】
図９は、本実施例に係るデータ格納制御プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ２００は、ＲＡＭ（Random Access Memory）２１０と、ＣＰＵ（Central Processing Unit）２２０と、ＨＤＤ（Hard Disk Drive）２３０と、ＬＡＮ（Local Area Network）インタフェース２４０と、入出力インタフェース２５０と、ＤＶＤ（Digital Versatile Disk）ドライブ２６０とを有する。
【０１００】
ＲＡＭ２１０は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、ＣＰＵ２２０は、ＲＡＭ２１０からプログラムを読み出して実行する中央処理装置である。
【０１０１】
ＨＤＤ２３０は、プログラムやデータを格納するディスク装置であり、ＬＡＮインタフェース２４０は、コンピュータ２００をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。
【０１０２】
入出力インタフェース２５０は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、ＤＶＤドライブ２６０は、ＤＶＤの読み書きを行う装置である。
【０１０３】
そして、このコンピュータ２００において実行されるデータ格納制御プログラム２１１は、ＤＶＤに記憶され、ＤＶＤドライブ２６０によってＤＶＤから読み出されてコンピュータ２００にインストールされる。
【０１０４】
あるいは、このデータ格納制御プログラム２１１は、ＬＡＮインタフェース２４０を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ２００にインストールされる。
【０１０５】
そして、インストールされたデータ格納制御プログラム２１１は、ＨＤＤ２３０に記憶され、ＲＡＭ２１０に読み出されてＣＰＵ２２０によってデータ格納制御プロセス２２１として実行される。
【０１０６】
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０１０７】
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１０８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１０９】
さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１１０】
（付記１）第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置であって、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、
前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、
前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、
を備えたことを特徴とするデータ格納制御装置。
【０１１１】
（付記２）記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段をさらに備え、
前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、データ書き込み時間が最も短い記憶装置を前記第二の記憶装置として選択することを特徴とする付記１に記載のデータ格納制御装置。
【０１１２】
（付記３）前記データ格納手段は、前記第一の記憶装置の空き容量が所定の閾値以下であるか否かを判定し、該空き容量が所定の閾値以下であった場合に、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納することを特徴とする付記１または２に記載のデータ格納制御装置。
【０１１３】
（付記４）記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段をさらに備え、
前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、前記第二の記憶装置に前記データを記憶することを特徴とする付記１に記載のデータ格納制御装置。
【０１１４】
（付記５）前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、複数の記憶装置の中から複数または単数の記憶装置を前記第二の記憶装置として選択し、選択した第二の記憶装置に、前記第一の記憶装置に格納されたデータを格納することを特徴とする付記４に記載のデータ格納制御装置。
【０１１５】
（付記６）データの書き込みが完了した場合に各記憶装置から応答される書込完了応答を受信する書込完了応答受信手段をさらに備え、
前記データ格納手段は、前記書込完了応答受信手段により最初に書込完了応答が受信された後に、所定の時間が経過しても前記書込完了応答受信手段により次の書込完了応答が受信されなかった場合に、最初に受信された書き込み完了を応答した記憶装置を前記第二の記憶装置として選択するとともに、他の記憶装置へのデータの書き込みを中止することを特徴とする付記１に記載のデータ格納制御装置。
【０１１６】
（付記７）前記データバックアップ手段は、前記追い出しデータ設定手段により設定された追い出し対象データの総量が所定のデータ量を越えた場合に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップすることを特徴とする付記１〜６のいずれか一つに記載のデータ格納制御装置。
【０１１７】
（付記８）第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御方法であって、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納工程と、
前記データ格納工程により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定工程と、
前記追い出しデータ設定工程により前記追い出し対象データが設定された後に、前記データ格納工程により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ工程と、
を含んだことを特徴とするデータ格納制御方法。
【０１１８】
（付記９）第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御プログラムであって、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手順と、
前記データ格納手順により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手順と、
前記追い出しデータ設定手順により前記追い出し対象データが設定された後に、前記データ格納手順により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手順と、
をコンピュータに実行させることを特徴とするデータ格納制御プログラム。
【０１１９】
（付記１０）第一の記憶装置と、該第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置とから構成されるデータ記憶システムであって、
データ格納制御装置が、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、
前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、
前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、
を備えたことを特徴とするデータ記憶システム。
【産業上の利用可能性】
【０１２０】
以上のように、本発明に係るデータ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システムは、仮想テープシステムなどに有用であり、特に、キャッシュとして用いられている記憶装置の記憶容量が小さい場合に適している。
【図面の簡単な説明】
【０１２１】
【図１】本実施例に係る仮想テープシステムの概念を示す図である。
【図２】本実施例に係る仮想テープシステムの構成を示す図である。
【図３】本実施例に係る仮想テープシステム制御装置の構成を示す機能ブロック図である。
【図４】二重化定義情報の一例を示す図である。
【図５】二重化状態情報の一例を示す図である。
【図６】二重化監視情報の一例を示す図である。
【図７】データ格納処理の処理手順を示すフローチャートである。
【図８】データバックアップ処理の処理手順を示すフローチャートである。
【図９】本実施例に係るデータ格納制御プログラムを実行するコンピュータの構成を示す機能ブロック図である。
【符号の説明】
【０１２２】
１０    仮想テープシステム
１１    ＲＡＩＤ装置
１２    ホストインタフェース制御装置
１３，１４，１５    テープ装置制御装置
１６    ロボット制御装置
１７    ＦＣスイッチ
２０    ホスト装置
３０    テープライブラリ
３１，３２，５０    テープ装置
４０    ＷＡＮ
６０    コンソール端末
７０    ＬＡＮ
８０    ＦＣ
１００    仮想テープシステム制御装置
１１０    記憶部
１１１    二重化定義テーブル
１１２    二重化状態テーブル
１１３    二重化監視テーブル
１２０    制御部
１２１    データ転送制御部
１２２    二重化処理部
１２３    テープライブラリ制御部
１２４    二重化指示受付部
２００    コンピュータ
２１０    ＲＡＭ
２１１    データ格納制御プログラム
２２０    ＣＰＵ
２２１    データ格納制御プロセス
２３０    ＨＤＤ
２４０    ＬＡＮインタフェース
２５０    入出力インタフェース
２６０    ＤＶＤドライブ
【図１】
2008123444.tif 000003
【図２】
2008123444.tif 000004
【図３】
2008123444.tif 000005
【図４】
2008123444.tif 000006
【図５】
2008123444.tif 000007
【図６】
2008123444.tif 000008
【図７】
2008123444.tif 000009
【図８】
2008123444.tif 000010
【図９】
2008123444.tif 000011