(57)【特許請求の範囲】
【請求項１】
データを使用する複数の装置に共用のデータを記憶するマスターボリュームと、
データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する１つ以上のリンクボリュームと、
前記マスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出部と、
前記マスターボリュームの負荷状態及び前記リンクボリュームそれぞれの負荷状態を判定する負荷状態判定部と、
前記マスターボリュームが高負荷状態にあると前記負荷状態判定部が判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定部と、
前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定部と、
前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御部と、
を備える記憶システム。
【請求項２】
前記コピー先のリンクボリュームが高負荷状態にあると負荷状態判定部が判定した場合、当該リンクボリュームが記憶しているデータのうち前記コピー制御部がコピーしたデータである参照先変更対象データと同じデータを記憶している参照先候補ボリュームを、マスターボリューム及びリンクボリュームの中から検出する参照先候補検出部と、
前記参照先候補ボリュームの負荷に基づいて、前記参照先変更対象データの読出要求に対する読出先のボリュームを前記参照先候補ボリュームのいずれかに決定するデータアクセス制御部と、
を備える請求項１に記載の記憶システム。
【請求項３】
前記リンクボリュームへコピーされた前記コピー対象データの読出頻度をリンクボリューム毎且つコピー対象データ毎に検出するコピーデータ読出頻度検出部と、
前記リンクボリュームへコピーされた前記コピー対象データの読出頻度が低いか否かをリンクボリューム毎且つコピー対象データ毎に判定する読出頻度判定部と、
前記読出頻度判定部が読出頻度低と判定したコピー対象データを削除する削除制御部と、
を備える請求項１または請求項２に記載の記憶システム。
【請求項４】
データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出部と、
前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する１つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定部と、
前記マスターボリュームが高負荷状態にあると前記負荷状態判定部が判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定部と、
前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定部と、
前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御部と、
を備える記憶システム制御装置。
【請求項５】
記憶システム制御装置が、データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出ステップと、
前記記憶システム制御装置が、前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する１つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定ステップと、
前記記憶システム制御装置が、前記マスターボリュームが高負荷状態にあると前記負荷状態判定ステップで判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定ステップと、
前記記憶システム制御装置が、前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定ステップと、
前記記憶システム制御装置が、前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御ステップと、
を含む記憶システム制御方法。
【請求項６】
コンピュータに、
データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出ステップと、
前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する１つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定ステップと、
前記マスターボリュームが高負荷状態にあると前記負荷状態判定ステップで判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定ステップと、
前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定ステップと、
前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラムに関する。
【背景技術】
【０００２】
ディスクアレイ装置などの記憶システムにおける負荷を分散させるための幾つかの技術が提案されている。
例えば、特許文献１には、ディレクトリツリー形式のファイルシステムに対する負荷分散方法が記載されている。この負荷分散方法では、ディスク装置上の負荷の高い局所を含むディレクトリとディレクトリ下のすべての情報を別のディスクに移動し、移動元と移動先のディレクトリを関連付ける。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２１５７１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
記憶システムにおける負荷分散のために、記憶システムの一部が高負荷になっているか否かを判定する必要がある。この判定の対象が多ければ多いほど、判定を行う装置の負荷が高くなる。また、この判定を逐次的に行う場合、判定対象が多ければ高負荷の部分を検出するまでに時間を要する可能性がある。高負荷の部分の検出に時間を要すると、高負荷の解消が遅くなる。
これに対し、特許文献１には、高負荷か否かの判定対象の限定については記載されていない。
【０００５】
本発明は、上述の課題を解決することのできる記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、記憶システムは、データを使用する複数の装置に共用のデータを記憶するマスターボリュームと、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する１つ以上のリンクボリュームと、前記マスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出部と、前記マスターボリュームの負荷状態及び前記リンクボリュームそれぞれの負荷状態を判定する負荷状態判定部と、前記マスターボリュームが高負荷状態にあると前記負荷状態判定部が判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定部と、前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定部と、前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御部と、を備える。
【０００７】
本発明の第２の態様によれば、記憶システム制御装置は、データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出部と、前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する１つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定部と、前記マスターボリュームが高負荷状態にあると前記負荷状態判定部が判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定部と、前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定部と、前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御部と、を備える。
【０００８】
本発明の第３の態様によれば、記憶システム制御装置が、記憶システム制御方法は、データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出ステップと、前記記憶システム制御装置が、前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する１つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定ステップと、前記記憶システム制御装置が、前記マスターボリュームが高負荷状態にあると前記負荷状態判定ステップで判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定ステップと、前記記憶システム制御装置が、前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定ステップと、前記記憶システム制御装置が、前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御ステップと、を含む。
【０００９】
本発明の第４の態様によれば、プログラムは、コンピュータに、データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出するマスターデータ読出し頻度検出ステップと、前記マスターボリュームの負荷状態、及び、データを使用する装置毎に設けられるリンクボリュームであって、対応する前記データを使用する装置に個別のデータを記憶する１つ以上のリンクボリュームそれぞれの負荷状態を判定する負荷状態判定ステップと、前記マスターボリュームが高負荷状態にあると前記負荷状態判定ステップで判定した場合、前記マスターボリュームが記憶しているデータの中からコピー対象データを前記読出頻度に基づいて決定するコピー対象決定ステップと、前記コピー対象データのコピー先のリンクボリュームを、前記リンクボリュームの負荷状態に基づいて決定するコピー先決定ステップと、前記コピー対象データを前記コピー先のリンクボリュームへコピーするコピー制御ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１０】
この発明によれば、記憶システムにおける負荷分散のためにデータコピーを行うか否かを判定する負荷を、より小さくすることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態に係るコンピュータシステムの装置構成を示す概略構成図である。
【図２】同実施形態に係る記憶システム制御装置の機能構成を示す概略ブロック図である。
【図３】同実施形態に係るアクセス頻度テーブル記憶部が記憶するアクセス頻度テーブルのデータ構造の例を示す説明図である。
【図４】同実施形態に係るプールビジー監視テーブル記憶部が記憶するプールビジー監視テーブルのデータ構造の例を示す説明図である。
【図５】同実施形態におけるコピーされていないマスターデータの参照先の例を示す説明図である。
【図６】同実施形態におけるコピー済みデータの参照先の例を示す説明図である。
【図７】同実施形態で、マスターデータに含まれる単位データをコピーする際の記憶システム制御装置の処理手順の例を示すフローチャートである。
【図８】本発明の第２の実施形態に係る記憶システム制御装置の機能構成を示す概略ブロック図である。
【図９】同実施形態に係るボリュームデータ管理テーブル記憶部が記憶するボリュームデータ管理テーブルのデータ構造の例を示す説明図である。
【図１０】同実施形態で、コピーされたデータの参照先が固定の場合のデータ参照先の例を示す説明図である。
【図１１】同実施形態に係るデータアクセス制御部が参照先候補ボリュームの中からデータの読出先を決定する場合のデータ参照先の例を示す説明図である。
【図１２】同実施形態に係る記憶システム制御装置がコピー済みデータの参照先を変更する処理手順の例を示すフローチャートである。
【図１３】本発明の第３の実施形態に係る記憶システム制御装置の機能構成を示す概略ブロック図である。
【図１４】同実施形態に係るボリュームデータ管理テーブル記憶部が記憶するボリュームデータ管理テーブルのデータ構造の例を示す説明図である。
【図１５】同実施形態に係る削除制御部によるコピー済みデータの削除の例を示す説明図である。
【図１６】同実施形態に係る記憶システム制御装置がコピー済みデータを削除する処理手順の例を示すフローチャートである。
【図１７】本発明に係る記憶システムの最小構成を示す概略構成図である。
【図１８】本発明に係る記憶システム制御装置の最小構成を示す概略構成図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１３】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るコンピュータシステムの装置構成を示す概略構成図である。同図に示すように、コンピュータシステム１は、記憶システム２と、ホストコンピュータ３０ａ〜３０ｃとを備える。記憶システム２は、ディスクアレイ（Disk Array）装置３と、記憶システム制御装置１００とを備える。ディスクアレイ装置３は、マスターボリューム５と、リンクボリューム６ａ〜６ｃとを備える。
以下では、ホストコンピュータ３０ａ〜３０ｃを総称してホストコンピュータ３０と表記する。また、リンクボリューム６ａ〜６ｃを総称してリンクボリューム６と表記する。また、マスターボリュームとリンクボリュームとを総称してボリュームと表記する。
【００１４】
記憶システム２は、ホストコンピュータ３０に対する外部記憶装置として機能する。
ディスクアレイ装置３は、リンクドクローン（Linked Clone）を構成する。ここで、ディスクアレイ装置とは、複数のハードディスク装置を備えた記憶デバイスである。また、リンクドクローンとは、クライアントに共通のマスターデータを記憶する共通の記憶領域と、クライアント毎に個別のデータを記憶する個別の記憶領域との組み合わせにて、各クライアント（データを使用する装置）用のデータを記憶する記憶方式である。ここでいうクライアントは、ディスクアレイ装置３が記憶しているデータを使用する装置である。図１の例では、ホストコンピュータ３０の各々がクライアントの例に該当する。
但し、本実施形態でリンクドクローンを構成する装置はディスクアレイ装置に限らず、リンクドクローンを構成可能な記憶容量を有し、かつ、記憶領域全体が、負荷の異なり得る複数の記憶領域から構成されている記憶装置であればよい。
【００１５】
マスターボリューム５は、マスターデータを記憶する。ここでいうマスターデータは、ホストコンピュータ３０ａ〜３０ｃに共通のデータ（すなわち、ホストコンピュータ３０ａ〜３０ｃに共用のデータ）である。また、ここでいうボリュームとは、外部記憶装置の管理単位である。例えば１つのハードディスク装置が１つのボリュームを構成していてもよいが、これに限らない。複数のハードディスク装置が１つのボリュームを構成していてもよいし、１つのハードディスク装置が複数のボリュームを構成していてもよい。
図１の線Ｌ１２ａ〜Ｌ１２ｃは、ホストコンピュータ３０の各々によるマスターデータの参照先がマスターボリューム５であることを示している。
【００１６】
リンクボリューム６の各々は、ホストコンピュータ３０毎に個別のデータを記憶する。具体的には、リンクボリューム６ａは、ディスクアレイ装置３がホストコンピュータ３０ａに提供するデータからマスターデータを除いた差分データを記憶する。同様に、リンクボリューム６ｂは、ディスクアレイ装置３がホストコンピュータ３０ｂに提供するデータからマスターデータを除いた差分データを記憶する。リンクボリューム６ｃは、ディスクアレイ装置３がホストコンピュータ３０ｃに提供するデータからマスターデータを除いた差分データを記憶する。以下では、ディスクアレイ装置３がホストコンピュータ３０に提供するデータからマスターデータを除いた差分データを単に差分データと称する。
【００１７】
図１の線Ｌ１１ａは、ホストコンピュータ３０ａによる差分データの参照先がリンクボリューム６ａであることを示している。同様に、線Ｌ１１ｂは、ホストコンピュータ３０ｂによる差分データの参照先がリンクボリューム６ｂであることを示している。線Ｌ１１ｃは、ホストコンピュータ３０ｃによる差分データの参照先がリンクボリューム６ｃであることを示している。
このように、ホストコンピュータ３０の各々は、マスターデータを参照する場合、マスターボリューム５にアクセスする。一方、ホストコンピュータ３０ａ〜３０ｃは、差分データを参照する場合、それぞれリンクボリューム６ａ〜６ｃにアクセスする。これにより、ディスクアレイ装置３は、リンクドクローンを構成している。
【００１８】
また、マスターボリューム５は、プール（Pool）４ａに含まれている。リンクボリューム６ａ及び６ｂは、プール４ｂに含まれている。リンクボリューム６ｃは、プール４ｃに含まれている。以下では、プール４ａ〜４ｃを総称してプール４と表記する。
ここでいうプールとは、ディスクアレイ装置３が備える１つ以上のボリュームで構成した記憶領域である。例えば、プール４の各々は、ディスクアレイ装置３が備える１つ以上の物理ディスクを束ねてＲＡＩＤ（Redundant Arrays Of Inexpensive Disks、又は、Redundant Arrays Of Independent Disks）を構成した記憶領域の各々であってもよいが、これに限らない。
また、以下では、ディスクアレイ装置３における負荷の測定単位がプール４である場合を例に説明するが、これに限らず、ディスクアレイ装置３が備えるボリューム間で負荷が異なり得るものであればよい。例えば、負荷の測定単位がボリュームであってもよい。すなわち、ボリューム毎に負荷を測定可能であってもよい。
【００１９】
ホストコンピュータ３０は、それぞれディスクアレイ装置３が記憶しているデータを使用する装置である。上記のように、ホストコンピュータ３０の各々は、マスターデータを参照する場合、マスターボリューム５にアクセスする。一方、ホストコンピュータ３０ａ〜３０ｃは、差分データを参照する場合、それぞれリンクボリューム６ａ〜６ｃにアクセスする。
ホストコンピュータ３０の各々は、例えばコンピュータを用いて構成される。
【００２０】
記憶システム制御装置１００は、ディスクアレイ装置３を制御する。記憶システム制御装置１００が、ディスクアレイ装置３の一部として構成されていてもよいし、ディスクアレイ装置３とは別の装置として構成されていてもよい。以下では、記憶システム制御装置１００がディスクアレイ装置３とは別の装置として構成されている場合を例に説明する。
図２は、記憶システム制御装置１００の機能構成を示す概略ブロック図である。同図に示すように、記憶システム制御装置１００は、通信部１１０と、記憶部１４０と、制御部１６０とを備える。記憶部１４０は、アクセス頻度テーブル記憶部１５１と、プールビジー監視テーブル記憶部１５２とを備える。制御部１６０は、マスターデータ読出頻度検出部１７１と、負荷状態判定部１７２と、コピー対象決定部１７３と、コピー先決定部１７４と、コピー制御部１７５と、データアクセス制御部１７６とを備える。
【００２１】
通信部１１０は、他の装置と通信を行う。特に、通信部１１０は、ディスクアレイ装置３と通信を行って、ディスクアレイ装置３の状態を示す情報を受信する。また、通信部１１０は、ディスクアレイ装置３に対する制御信号を送信する。なお、記憶システム制御装置１００がディスクアレイ装置３の一部として構成されている場合、通信部１１０は、ディスクアレイ装置３が備えるハードディスク装置の各々と信号のやり取りを行うインタフェースとして構成される。
【００２２】
記憶部１４０は、各種データを記憶する。記憶部１４０は、記憶システム制御装置１００が内蔵している記憶デバイスを用いて構成されていてもよいし、記憶システム制御装置１００に外付けの記憶デバイスを用いて構成されていてもよい。あるいは、記憶部１４０が、記憶システム制御装置１００が内蔵している記憶デバイスと、記憶システム制御装置１００に外付けの記憶デバイスとの組み合わせにて構成されていてもよい。
【００２３】
アクセス頻度テーブル記憶部１５１は、アクセス頻度テーブルを記憶する。アクセス頻度テーブルは、マスターボリューム５が記憶しているデータ毎のアクセス頻度の高さを示すデータである。ここで、各ボリュームが記憶しているデータは、例えば一定の記憶容量毎、或いはファイル毎など、何らかの纏まりを単位として扱われる。この単位毎にマスターデータ読出頻度検出部１７１がマスターボリューム５におけるデータアクセス頻度を測定して、アクセス頻度テーブルを生成し更新する。以下では、この単位毎のデータを単にデータとも称する。また、単位毎のデータであることを明示する必要がある場合、単位データとも称する。
【００２４】
図３は、アクセス頻度テーブル記憶部１５１が記憶するアクセス頻度テーブルのデータ構造の例を示す説明図である。同図の例では、アクセス頻度テーブルは、表形式（テーブル形式）のデータとして構成され、行毎に、１つの番号と１つのデータ識別情報とが対応付けられている。
アクセス頻度テーブルの「データ識別情報」は、マスターボリューム５が記憶しているデータ（特に、マスターデータ）に対して上記の単位毎に（従って、単位データ毎に）付される識別情報である。
また、アクセス頻度テーブルの「番号」は、単位データ毎のアクセス頻度の高い順を示す通し番号である。図３の例では、マスターボリューム５が記憶している単位データのうちデータＡが最もアクセス頻度が高い。
なお、アクセス頻度テーブル記憶部１５１が記憶するデータは表形式のデータに限らず、単位データ毎のアクセス頻度の高さを示すものであればよい。
【００２５】
プールビジー監視テーブル記憶部１５２は、プールビジー監視テーブルを記憶する。プールビジー監視テーブルは、プール毎にビジー（Busy）か否かを示すデータである。ここでいうビジーは、プール４のアクセス能力の上限に達してアクセスに待ちが生じている状態である。負荷状態判定部１７２がプール４の各々の負荷情報を取得しビジー状態か否かを判定して、プールビジー監視テーブルを生成し更新する。
なお、ここでのビジーは高負荷の一例でありこれに限らない。例えば負荷状態判定部１７２が、プール４がビジーか否かに代えて、プール４の負荷が所定の負荷以上に高負荷か否かを監視するようにしてもよい。
【００２６】
図４は、プールビジー監視テーブル記憶部１５２が記憶するプールビジー監視テーブルのデータ構造の例を示す説明図である。同図の例では、プールビジー監視テーブルは、表形式のデータとして構成され、行毎に、１つのボリューム番号と、１つのプール番号と、１つの負荷状態とが対応付けられている。
プールビジー監視テーブルの「ボリューム番号」は、ボリューム毎に付された識別情報である。図４の例でボリューム番号「５」はマスターボリューム５を示す。また、ボリューム番号「６ａ」、「６ｂ」、「６ｃ」は、それぞれリンクボリューム６ａ、６ｂ、６ｃを示す。
【００２７】
プールビジー監視テーブルの「プール番号」は、プール４の各々に付された識別情報である。図４の例でプール番号「４ａ」、「４ｂ」、「４ｃ」は、それぞれプール４ａ、４ｂ、４ｃを示す。特に、プールビジー監視テーブルのプール番号は、対応付けられたボリューム番号が示すボリュームを含むプール４を示す。図４の例では、マスターボリューム５がプール４ａに含まれることから、ボリューム番号「５」とプール番号「４ａ」とが対応付けられている。また、リンクボリューム６ａ、６ｂがいずれもプール４ｂに含まれることから、ボリューム番号「６ａ」、「６ｂ」が、それぞれプール番号「４ｂ」と対応付けられている。また、リンクボリューム６ｃがプール４ｃに含まれることから、ボリューム番号「６ｃ」とプール番号「４ｃ」とが対応付けられている。
【００２８】
プールビジー監視テーブルの「負荷状態」は、プール４の各々の負荷の状態を示すデータである。負荷状態の値「高」は、対応付けられたプール４がビジー状態（従って、高負荷な状態）にあることを示す。また、負荷状態の値「低」は、対応付けられたプール４がビジーではない状態（従って、比較的低負荷な状態）にあることを示す。
【００２９】
制御部１６０は、記憶システム制御装置１００の各部を制御して各種処理を実行する。制御部１６０は、例えば記憶システム制御装置１００が備えるＣＰＵ（Central Processing Unit）が、記憶部１４０からプログラムを読み出して実行することで構成される。
マスターデータ読出頻度検出部１７１は、マスターボリューム５が記憶しているデータ（単位データ）の各々の読出頻度を検出する。
【００３０】
負荷状態判定部１７２は、マスターボリューム５の負荷状態及びリンクボリューム６それぞれの負荷状態を判定する。具体的には、負荷状態判定部１７２は、プール４の各々の負荷を示す情報を取得して、ビジー状態か否かを判定する。上記のように、負荷状態判定部１７２は、プールビジー監視テーブルを生成し更新する。
【００３１】
コピー対象決定部１７３は、マスターボリューム５がビジー状態にあると負荷状態判定部１７２が判定した場合、マスターボリューム５が記憶しているデータの中からコピー対象データを読出頻度に基づいて決定する。ここでいうコピー対象データは、マスターボリューム５からいずれか１つ以上のリンクボリューム６へコピーするデータ（単位データ）である。コピー対象決定部１７３は、例えばマスターデータのうち読出頻度が最も高い単位データをコピー対象データに決定する。あるいは、コピー対象決定部１７３が、所定の読出頻度以上の単位データをコピー対象データに決定するなど、複数の単位データをコピー対象データに決定するようにしてもよい。
コピー対象データのコピーにより、記憶システム２は負荷分散を行う。具体的には、ホストコンピュータ３０の各々がマスターボリューム５にリードアクセス（読出）していたデータをリンクボリューム６にリードアクセスするようにすることで、マスターボリューム５の負荷を軽減させる。
【００３２】
コピー先決定部１７４は、コピー対象決定部１７３が決定したコピー対象データのコピー先のリンクボリューム６を、リンクボリューム６の各々の負荷に基づいて決定する。具体的には、コピー先決定部１７４は、プールビジー監視テーブルを参照し、ビジーでないプールに属するリンクボリューム６のいずれか１つをコピー対象データのコピー先に決定する。
なお、コピー先決定部１７４が、１つのコピー対象データのコピー先を２つ以上のリンクボリューム６に決定するようにしてもよい。例えば、コピー先決定部１７４が、ビジーでない全てのリンクボリューム６をコピー先のリンクボリューム６に決定するようにしてもよい。
【００３３】
コピー制御部１７５は、コピー対象決定部１７３が決定したコピー対象データを、コピー先決定部１７４が決定したコピー先のリンクボリューム６へコピーする。以下では、コピー済みのコピー対象データをコピー済みデータと称する。
データアクセス制御部１７６は、ホストコンピュータ３０による記憶システム制御装置１００へのアクセスを制御する。特に、データアクセス制御部１７６は、ホストコンピュータ３０が記憶システム制御装置１００からコピー済みデータを読み出す際、データの読出先を、マスターボリューム５、又は、コピー先のリンクボリューム６のいずれかに決定する。例えば、データアクセス制御部１７６は、コピー済みデータの読出先を、コピー先のリンクボリューム６に決定する。
また、データアクセス制御部１７６は、コピーされていないマスターデータの参照先をマスターボリューム５に決定する。ここでいうコピーされていないマスターデータとは、マスターデータのうちコピーされていない単位データである。
また、データアクセス制御部１７６は、ホストコンピュータ３０に個別のデータの参照先を、ホストコンピュータ３０に対応付けて決定されているリンクボリューム６に決定する。図１に示す例の場合、データアクセス制御部１７６は、ホストコンピュータ３０ａ、３０ｂ、３０ｃに個別のデータの参照先を、それぞれリンクボリューム６ａ、６ｂ、６ｃに決定する。
【００３４】
次に、図５〜図７を参照して記憶システム制御装置１００の動作について説明する。
図５は、コピーされていないマスターデータの参照先の例を示す説明図である。図５では、図１に示す装置構成において、ホストコンピュータ３０がコピーされていないマスターデータを読み出す際の読出先を示している。
図５の例ではデータＡは、コピーされていないマスターデータである。また、ホストコンピュータ３０ａ、３０ｂ、３０ｃがデータＡを読み出す際の読出先を、それぞれ線Ｌ２２ａ、Ｌ２２ｂ、Ｌ２２ｃで示している。
【００３５】
ホストコンピュータ３０ａ、３０ｂ、３０ｃのいずれがデータＡを読み出す際も、マスターボリューム５にアクセスする。このため、複数のホストコンピュータ３０によるデータＡの読出が同時に行われると、マスターボリューム５の負荷が上昇する。
そこで、上記のようにコピー制御部１７５が、マスターデータのうちコピー対象決定部１７３がコピー対象データに決定した単位データを、コピー先決定部１７４が決定したコピー先のリンクボリューム６にコピーする。
【００３６】
図６は、コピー済みデータの参照先の例を示す説明図である。図６では、図５の状態からデータＡがリンクボリューム６ｂにコピーされた場合の、データＡの読出先の例を示している。線Ｌ３３ａ、３３ｂは、それぞれホストコンピュータ３０ａ、３０ｂがデータＡを読み出す際の読出先を示す。ホストコンピュータ３０ａ、３０ｂのいずれも、リンクボリューム６ｂからデータＡを読み出す。
【００３７】
なお、図６の例では、ホストコンピュータ３０ｃがデータＡを参照する際はマスターボリューム５にアクセスする。データアクセス制御部１７６は、例えば、データをコピーされたリンクボリューム６と同一のプール４に属している全てのリンクボリューム６を検出する。そして、データアクセス制御部１７６は、検出したリンクボリューム６に対応付けられているホストコンピュータ３０について、このホストコンピュータ３０が当該データを読み出す際の読出先を、データをコピーされた当該リンクボリューム６に決定する。
【００３８】
ただし、データアクセス制御部１７６が決定するデータの読出先はこれに限らない。例えば、データアクセス制御部１７６が、いずれのホストコンピュータ３０がコピー済みデータを読み出す際も、コピー済みデータのコピー先のリンクボリューム６を読出先に決定するようにしてもよい。
このように、マスターデータの一部の読出先をリンクボリューム６に分散することで、マスターボリューム５の負荷を軽減させることができる。
【００３９】
図７は、マスターデータに含まれる単位データをコピーする際の記憶システム制御装置１００の処理手順の例を示すフローチャートである。記憶システム制御装置１００は、例えば定期的に図７の処理を行う。
図７の処理で、負荷状態判定部１７２は、マスターボリューム５の負荷の状態を示す情報（負荷情報）を取得する（ステップＳ１０１）。例えば負荷状態判定部１７２は、負荷状態判定部１７２自らが生成し更新しているプールビジー監視テーブルからマスターボリューム５の負荷情報を読み出す。
【００４０】
そして、負荷状態判定部１７２は、マスターボリューム５が高負荷の状態にあるか否かを判定する（ステップＳ１０２）。本実施形態では、負荷状態判定部１７２は、マスターボリューム５がビジー状態にあるか否かを判定する。
マスターボリューム５が高負荷の状態にあると判定した場合（ステップＳ１０２：ＹＥＳ）、コピー対象決定部１７３がコピー対象データを決定する（ステップＳ１０３）。コピー対象決定部１７３は、アクセス頻度テーブルを参照し、マスターデータに含まれる単位データへのアクセス頻度に基づいて、例えばアクセス頻度が最も高い単位データをコピー対象データに決定する。
【００４１】
次に、コピー先決定部１７４は、リンクボリューム６の各々の負荷情報を取得する（ステップＳ１０４）。コピー先決定部１７４は、プールビジー監視テーブルからリンクボリューム６の各々の負荷情報を読み出す。
そして、コピー先決定部１７４は、ステップＳ１０４で読み出した負荷情報に基づいて、コピー対象データのコピー先を決定する（ステップＳ１０５）。例えば、コピー先決定部１７４は、ビジーでないリンクボリューム６のうち、予め定められている順番が最も早いリンクボリューム６を、コピー先に決定する。
【００４２】
次に、コピー制御部１７５は、コピー対象決定部１７３が決定したコピー対象データを、コピー先決定部１７４が決定したコピー先のリンクボリューム６へコピーする（ステップＳ１０６）
そして、データアクセス制御部１７６は、データの参照先を設定（更新）する（ステップＳ１０７）。例えば、データアクセス制御部１７６は、データをコピーされたリンクボリューム６と同一のプール４に属している全てのリンクボリューム６を検出する。そして、データアクセス制御部１７６は、検出したリンクボリューム６に対応付けられているホストコンピュータ３０について、このホストコンピュータ３０が当該データを読み出す際の読出先を、データをコピーされた当該リンクボリューム６に決定する。
【００４３】
ステップＳ１０７の後、図７の処理を終了する。
一方、ステップＳ１０２で、マスターボリューム５が高負荷の状態ではないと判定した場合（ステップＳ１０２：ＮＯ）、図７の処理を終了する。この場合は、記憶システム制御装置１００は、マスターデータのコピー（マスターデータに含まれる単位データのコピー）を行わない。
【００４４】
以上のように、マスターボリューム５は、ホストコンピュータ３０の各々に共用のデータを記憶する。リンクボリューム６の各々は、ホストコンピュータ３０毎に個別のデータを記憶する。
また、マスターデータ読出頻度検出部１７１は、マスターボリューム５が記憶しているデータの各々の読出頻度を検出する。負荷状態判定部１７２は、マスターボリューム５の負荷状態及びリンクボリューム６それぞれの負荷状態を判定する。
また、コピー対象決定部１７３は、マスターボリューム５が高負荷状態にあるとマスターデータ読出頻度検出部１７１が判定した場合、マスターボリューム５が記憶しているデータの中からコピー対象データを読出頻度に基づいて決定する。コピー先決定部１７４は、コピー対象データのコピー先のリンクボリュームを、リンクボリューム６の負荷状態に基づいて決定する。
そして、コピー制御部１７５は、コピー対象データをコピー先のリンクボリューム６へコピーする。
【００４５】
これにより、記憶システム制御装置１００（負荷状態判定部１７２）は、マスターデータの一部をコピーするか否かを判定するために、マスターボリューム５の負荷状態のみを参照すればよく、他の装置の負荷状態を参照する必要がない。記憶システム制御装置１００によれば、この点で、記憶システムにおける負荷分散のためにデータコピーを行うか否かを判定する負荷を、より小さくすることができる。
特に、記憶システム２が備えるリンクボリューム６の数が多い場合でも、記憶システム２における負荷分散のためにデータコピーを行うか否かを記憶システム制御装置１００が判定する負荷が増大しない。
【００４６】
＜第２の実施形態＞
第２の実施形態では、記憶システム制御装置が、コピー済みデータの参照先を、当該データを記憶しているボリュームの負荷状態に基づいて決定する場合について説明する。
第２の実施形態における装置構成は、図１を参照して説明したのと同様であり、ここでは図示及び説明を省略する。第２の実施形態では、図１の記憶システム制御装置１００を記憶システム制御装置１０１と読み替える。
【００４７】
図８は、記憶システム制御装置１０１の機能構成を示す概略ブロック図である。同図に示すように、記憶システム制御装置１０１は、通信部１１０と、記憶部１４１と、制御部１６１とを備える。記憶部１４１は、アクセス頻度テーブル記憶部１５１と、プールビジー監視テーブル記憶部１５２と、ボリュームデータ管理テーブル記憶部１５３とを備える。制御部１６１は、マスターデータ読出頻度検出部１７１と、負荷状態判定部１７２と、コピー対象決定部１７３と、コピー先決定部１７４と、コピー制御部１７５と、参照先候補検出部１８１と、データアクセス制御部１８２とを備える。
図８に示す各部のうち、図２の各部に対応して同様の機能を有する部分には、同一の符号（１５１〜１５２、１７１〜１７５）を付して説明を省略する。図８では、記憶部１４１が、ボリュームデータ管理テーブル記憶部１５３を備える点で、図２の記憶部１４０と異なる。また、制御部１６１が、参照先候補検出部１８１を備える点、及び、データアクセス制御部１８２の動作が、図２の制御部１６０と異なる。それ以外は、記憶システム制御装置１０１、記憶部１４１、制御部１６１は、それぞれ図２の記憶システム制御装置１００、記憶部１４０、制御部１６０と同様である。
【００４８】
ボリュームデータ管理テーブル記憶部１５３は、ボリュームデータ管理テーブルを記憶する。ボリュームデータ管理テーブルは、ボリューム毎に当該ボリュームが記憶しているコピー済みデータを示す情報である。ボリュームデータ管理テーブルの生成及び更新は、例えば参照先候補検出部１８１が行う。コピー制御部１７５がコピー対象データをコピーした場合、参照先候補検出部１８１は、行われたコピーをボリュームデータ管理テーブルに反映させるように、ボリュームデータ管理テーブルを生成し更新する。
【００４９】
図９は、ボリュームデータ管理テーブル記憶部１５３が記憶するボリュームデータ管理テーブルのデータ構造の例を示す説明図である。同図の例では、ボリュームデータ管理テーブルは、表形式のデータとして構成され、行毎に、１つのボリューム番号と、０個以上のデータ識別情報とが対応付けられている。すなわち、１つのボリューム番号に複数のデータ識別情報が対応付けられていてもよいし、データ識別情報が１つも対応付けられていないボリューム番号があってもよい。
ボリュームデータ管理テーブルの「ボリューム番号」は、図４の場合と同様、ボリューム毎に付された識別情報である。
【００５０】
ボリュームデータ管理テーブルの「データ識別情報」は、ボリュームが記憶しているコピー済みデータに対して単位データ毎に付されている識別情報である。
ボリュームデータ管理テーブルは、各ボリュームが記憶しているコピー済みデータを、コピーデータに付されているデータ識別情報にて示している。図９の例では、マスターボリューム５、リンクボリューム６ｂ及び６ｃが、いずれもデータＡを記憶しており、リンクボリューム６ａは、コピー済みデータを記憶していない場合の例を示している。ボリュームが複数のコピー済みデータを記憶している場合は、１つのボリューム番号と複数のデータ識別情報とが対応付けられる。
【００５１】
参照先候補検出部１８１は、コピー済みデータのコピー先のリンクボリューム６が高負荷状態にあると負荷状態判定部１７２が判定した場合、当該リンクボリューム６が記憶しているコピー済みデータを参照先変更対象データとして検出する。例えば、リンクボリューム６のいずれかが高負荷状態にあることを検出すると、参照先候補検出部１８１は、ボリュームデータ管理テーブルを参照して、当該リンクボリューム６が記憶しているコピー済みデータを参照先変更対象データとして検出する。
【００５２】
そして、参照先候補検出部１８１は、検出した参照先変更対象データと同じデータを記憶しているボリュームを参照先候補ボリュームとして検出する。参照先候補検出部１８１は、ボリュームデータ管理テーブルを参照して、参照先変更対象データと同じデータを記憶しているボリュームを検出する。
【００５３】
参照先候補検出部１８１は、記憶システム２が備える全てのボリューム（マスターボリューム５、及び、リンクボリューム６ａ〜６ｃ）のうち、検出した参照先変更対象データと同じデータを記憶している全てのボリュームを参照先候補ボリュームとして検出する。あるいは、参照先候補検出部１８１が、マスターボリューム５を参照先候補ボリュームの対象から除外するなど、記憶システム２が備えるボリュームのうち一部のボリュームの中から参照先候補ボリュームを検出するようにしてもよい。
【００５４】
データアクセス制御部１８２は、図２のデータアクセス制御部１７６と同様、ホストコンピュータ３０による記憶システム制御装置１０１へのアクセスを制御する。但し、データアクセス制御部１８２は、ホストコンピュータ３０から参照先変更対象データの読出要求があった場合、参照先候補ボリュームの中から読出先を決定する点で、データアクセス制御部１７６と異なる。それ以外の点では、データアクセス制御部１８２はデータアクセス制御部１７６と同様である。
【００５５】
ホストコンピュータ３０から参照先変更対象データの読出要求があった場合、データアクセス制御部１８２は、参照先候補検出部１８１が検出した参照先候補ボリュームの負荷状態を、プールビジー監視テーブルから読み出す。そして、データアクセス制御部１８２は、読み出した負荷状態に基づいて、参照先変更対象データの読出要求に対する読出先のボリュームを参照先候補ボリュームのいずれかに決定する。例えば、データアクセス制御部１８２は、参照先候補ボリューム、かつ、ビジー状態でないボリュームのうち、予め設定されている順番が最も早いボリュームを読出先のボリュームに決定する。
【００５６】
あるいは、データアクセス制御部１８２が、参照先候補ボリュームのうち最も負荷の低いボリュームを読出先のボリュームに決定するようにしてもよい。この場合、プールビジー監視テーブルが各ボリュームの負荷の高さを定量的に示す情報を記憶しておくようにしてもよい。データアクセス制御部１８２は、プールビジー監視テーブルを参照して、参照先候補ボリュームのうち最も負荷の低いボリュームを検出する。
【００５７】
次に、図１０〜図１２を参照して記憶システム制御装置１０１の動作について説明する。
図１０は、コピーされたデータの参照先が固定の場合のデータ参照先の例を示す説明図である。図１０では、図１に示す装置構成において、ホストコンピュータ３０ｂがコピー済みデータをリンクボリューム６ｂから読み出す場合の例を示している。
【００５８】
図１０の例ではデータＡは、マスターデータに含まれる単位データであり、リンクボリューム６ｂ、６ｃにそれぞれコピーされている。ホストコンピュータ３０ｂは、このデータＡを記憶システム２から読み出す際、データアクセス制御部１８２の制御に従ってリンクボリューム６ｂにアクセスしてデータＡを読み出す。ホストコンピュータ３０ｂがデータＡを読み出す際の読出先を線Ｌ４３ｂで示している。
【００５９】
データ読出先のボリュームの負荷が低い場合（本実施形態では、ビジーでない場合）、データアクセス制御部１８２は、データ読出先を固定する。図１０の例では、データアクセス制御部１８２は、ホストコンピュータ３０ｂがデータＡを読み出す読出先をリンクボリューム６ｂに固定している。この場合、データアクセス制御部１８２がデータの読出要求の度に読出先を決定する必要が無い点で、データアクセス制御部１８２の負荷が比較的低くて済む。また、データ要求元のホストコンピュータ３０は、データ読出先の決定を待つ必要が無い点で、比較的速やかにデータを読み出すことができる。
【００６０】
図１１は、データアクセス制御部１７６が参照先候補ボリュームの中からデータの読出先を決定する場合のデータ参照先の例を示す説明図である。図１１では、図１０の状態からリンクボリューム６ｂがビジー状態になった場合に、ホストコンピュータ３０ｂがデータＡを記憶システム２から読み出す場合の例を示している。
【００６１】
リンクボリューム６ｂがビジー状態になったため、データアクセス制御部１７６は、リンクボリューム６ｂと同じくデータＡを有しているマスターボリューム５又はリンクボリューム６ｃのいずれかを、データＡの読出先に決定する。線Ｌ５３ｂは、リンクボリューム６ｂがビジー状態になる前のデータＡの読出先を示している。線Ｌ５３ｃ及びＬ５３ｄは、図１１の状態でホストコンピュータ３０ｂがデータＡを読み出す先の候補がリンクボリューム６ｃ及びマスターボリューム５であることを示している。リンクボリューム６ｂは、データＡを記憶しているものの、ビジー状態にあるため、データアクセス制御部１７６はリンクボリューム６ｂをデータＡの読出先の候補から除外する。
このように、データアクセス制御部１７６がコピー済みデータの参照先を切り替えることで、いずれかのボリュームの負荷が高い場合に、コピー済みデータの参照先を当該ボリュームから他のボリュームに切り替えることができる。これにより、負荷が高い当該ボリュームの負荷を低減させることができる。
【００６２】
図１２は、記憶システム制御装置１０１がコピー済みデータの参照先を変更する処理手順の例を示すフローチャートである。記憶システム制御装置１０１は、例えば定期的に図１２の処理を行う。
図１２の処理で、負荷状態判定部１７２は、リンクボリューム６の各々の負荷状態を示す情報（負荷情報）を取得する（ステップＳ２０１）。負荷状態判定部１７２は、プールビジー監視テーブルからリンクボリューム６の各々の負荷情報を読み出す。
次に、負荷状態判定部１７２は、ステップＳ２０１で読み出した負荷状態情報に基づいて、高負荷のリンクボリューム６の有無を判定する（ステップＳ２０２）。本実施形態では、負荷状態判定部１７２は、ビジー状態のリンクボリューム６の有無を判定する。
【００６３】
高負荷のリンクボリューム６が無いと判定した場合（ステップＳ２０２：ＮＯ）、図１２の処理を終了する。この場合、データアクセス制御部１８２は、データのアクセス先を変更しない。
一方、高負荷のリンクボリューム６が有ると判定した場合（ステップＳ２０２：ＹＥＳ）、参照先候補検出部１８１は、負荷状態判定部１７２が検出した高負荷のリンクボリューム６よりも低負荷のボリュームを検出する（ステップＳ２０３）。本実施形態では、参照先候補検出部１８１は、ビジー状態でないボリュームを検出する。
【００６４】
次に、参照先候補検出部１８１は、ステップＳ２０３で検出したボリュームのうち、負荷状態判定部１７２が検出した高負荷のリンクボリューム６と同じコピー済みデータを記憶しているボリュームを検出する（ステップＳ２０４）。ステップＳ２０４で参照先候補検出部１８１が検出したボリュームは、参照先候補ボリュームの例に該当する。負荷状態判定部１７２が検出したリンクボリューム６が複数のコピー済みデータを記憶している場合、参照先候補検出部１８１は、コピー済みデータ毎に参照先候補ボリュームを検出する。
【００６５】
次に、データアクセス制御部１８２は、ステップＳ２０４で検出したボリュームのいずれかを、コピー済みデータの新たな読出先に決定する（ステップＳ２０５）。上述したように、データアクセス制御部１８２は、例えば、予め設定されている順番が最も早いボリュームをコピー済みデータの新たな読出先のボリュームに決定する。あるいは、データアクセス制御部１８２が、最も負荷の低いボリュームを読出先のボリュームに決定するようにしてもよい。
【００６６】
負荷状態判定部１７２が検出したリンクボリューム６が複数のコピー済みデータを記憶している場合、データアクセス制御部１８２は、コピー済みデータ毎に当該コピー済みデータの新たな読出先を決定する。
そして、データアクセス制御部１８２は、ステップＳ２０５の決定に基づいて、ホストコンピュータ３０からデータ読出要求があった際のデータ読出先を予め変更しておく（ステップＳ２０６）。
ステップＳ２０６の後、図１２の処理を終了する。
【００６７】
なお、ホストコンピュータ３０からデータ読出要求があったタイミングで、データアクセス制御部１８２がデータ読出先を決定するようにしてもよい。この場合、負荷状態判定部１７２も、ホストコンピュータ３０からデータ読出要求があったタイミングで、参照先候補を検出するようにしてもよい。あるいは、負荷状態判定部１７２が予め参照先候補を検出しておき、ホストコンピュータ３０からデータ読出要求があったタイミングで、データアクセス制御部１８２が、参照先候補の中からデータ読出先を決定するようにしてもよい。
【００６８】
以上のように、参照先候補検出部１８１は、コピー済みデータのコピー先のリンクボリューム６が高負荷状態にあると負荷状態判定部１７２が判定した場合、当該リンクボリューム６が記憶しているデータのうちコピー制御部１７５がコピーしたデータ（コピー済みデータ）である参照先変更対象データと同じデータを記憶している参照先候補ボリュームを、マスターボリューム５及びリンクボリューム６の中から検出する。
そして、データアクセス制御部１８２は、参照先候補ボリュームの負荷に基づいて、参照先変更対象データの読出要求に対する読出先のボリュームを参照先候補ボリュームのいずれかに決定する。
これにより、リンクボリューム６の負荷が上昇した場合に負荷を低減させることができる。特に、第１の実施形態で説明したように、マスターデータの一部をリンクボリューム６にコピーして負荷分散を行ったことでリンクボリューム６の負荷が上昇した場合に、当該リンクボリューム６の負荷を低減させ、アクセス遅延を回避することができる。
【００６９】
＜第３の実施形態＞
第３の実施形態では、記憶システム制御装置が、アクセス頻度の低いコピー済みデータを削除する場合について説明する。
第３の実施形態における装置構成は、図１を参照して説明したのと同様であり、ここでは図示及び説明を省略する。第３の実施形態では、図１の記憶システム制御装置１００を記憶システム制御装置１０２と読み替える。
【００７０】
図１３は、記憶システム制御装置１０２の機能構成を示す概略ブロック図である。同図に示すように、記憶システム制御装置１０２は、通信部１１０と、記憶部１４１と、制御部１６２とを備える。記憶部１４１は、アクセス頻度テーブル記憶部１５１と、プールビジー監視テーブル記憶部１５２と、ボリュームデータ管理テーブル記憶部１５３とを備える。制御部１６２は、マスターデータ読出頻度検出部１７１と、負荷状態判定部１７２と、コピー対象決定部１７３と、コピー先決定部１７４と、コピー制御部１７５と、参照先候補検出部１８１と、データアクセス制御部１８２と、コピーデータ読出頻度検出部１９１と、読出頻度判定部１９２と、削除制御部１９３とを備える。
【００７１】
図１３に示す各部のうち、図８の各部に対応して同様の機能を有する部分には、同一の符号（１４１、１５１〜１５３、１７１〜１７５、１８１〜１８２）を付して説明を省略する。図１３では、制御部１６２が、コピーデータ読出頻度検出部１９１と、読出頻度判定部１９２と、削除制御部１９３とを備える点で、図８の制御部１６１と異なる。また、後述するように、記憶システム制御装置１０２では、ボリュームデータテーブルにアクセス頻度の情報が含まれる点で、記憶システム制御装置１０１の場合と異なる。それ以外は、記憶システム制御装置１０２、制御部１６２は、それぞれ図８の記憶システム制御装置１０１、制御部１６１と同様である。
なお、記憶システム制御装置１０２にとって第２の実施形態で説明した機能は必須ではない。例えば、記憶システム制御装置１０２が、参照先候補検出部１８１を備えず、データアクセス制御部１８２に代えてデータアクセス制御部１７６を備えるようにしてもよい。
【００７２】
記憶システム制御装置１０２では、ボリュームデータ管理テーブル記憶部１５３は、ボリュームデータ管理テーブルにアクセス頻度の情報を含んで記憶しておく。このアクセス頻度の情報は、読出頻度判定部１９２がボリュームデータ管理テーブルに書き込む。
図１４は、ボリュームデータ管理テーブル記憶部１５３が記憶するボリュームデータ管理テーブルのデータ構造の例を示す説明図である。同図の例では、ボリュームデータ管理テーブルは、表形式のデータとして構成され、行毎に、１つのボリューム番号と、１つ以上のデータ識別情報と、データ識別情報毎のアクセス頻度情報とが対応付けられている。
【００７３】
ボリュームデータ管理テーブルの「ボリューム番号」、「データ識別情報」は、いずれも図９の場合と同様である。
ボリュームデータ管理テーブルの「アクセス頻度」は、データ識別情報が示すコピー済みデータに対するアクセス頻度が高いか否かをリンクボリューム６毎に示す。１つのリンクボリューム６が複数のコピー済みデータを記憶している場合、読出頻度判定部１９２は、リンクボリューム６毎、かつ、コピー済みデータ毎に、アクセス頻度をボリュームデータ管理テーブルに書き込む。読出頻度判定部１９２は、コピー済みデータのデータ識別情報と、当該コピー済みデータに対するアクセス頻度とを１対１に対応付けてボリュームデータ管理テーブルに書き込む。
なお、マスターボリューム５は、削除制御部１９３によるデータ削除の対象外である。このため、ボリュームデータ管理テーブルでは、マスターボリューム５が記憶しているコピー済みデータに対するアクセス頻度は示されない。
【００７４】
コピーデータ読出頻度検出部１９１は、コピー済みデータ（リンクボリューム６へコピーされたコピー対象データ）の読出頻度をリンクボリューム６毎且つコピー済みデータ毎に検出する。
読出頻度判定部１９２は、コピーデータ読出頻度検出部１９１が検出したコピー済みデータの読出頻度が低いか否かをリンクボリューム毎且つコピー済みデータ毎に判定する。例えば、読出頻度判定部１９２は、コピーデータ読出頻度検出部１９１がリンクボリューム６毎かつコピー済みデータに検出した読出頻度と所定の閾値とを比較し、読出頻度が閾値よりも低い場合に読出頻度低（読出頻度が低い）と判定する。
【００７５】
削除制御部１９３は、読出頻度判定部１９２が読出頻度低と判定したコピー済みデータを削除する。読出頻度判定部１９２は、リンクボリューム６毎且つコピー済みデータ毎に読出頻度が低いか否かの判定を行う。そして、削除制御部１９３は、読出頻度判定部１９２が読出頻度低と判定したコピー済みデータを、読出頻度低と判定したリンクボリューム６から削除する。
【００７６】
次に、図１５及び図１６を参照して記憶システム制御装置１０２の動作について説明する。
図１５は、削除制御部１９３によるコピー済みデータの削除の例を示す説明図である。図１５では、図１に示す装置構成において、図１４に示すように、マスターボリューム５、リンクボリューム６ａ〜６ｃのいずれもデータＡを記憶しており、かつ、リンクボリューム６ｃにおけるデータＡのアクセス頻度が低い場合の例を示している。ここでのデータＡは、コピー済みデータの例に該当する。
リンクボリューム６ｃにおけるデータＡのアクセス頻度が低いことから、削除制御部１９３は、リンクボリューム６からデータＡを削除する。図１５では、削除制御部１９３によるリンクボリューム６からのデータＡの削除を「×」印にて示している。
【００７７】
図１６は、記憶システム制御装置１０２がコピー済みデータを削除する処理手順の例を示すフローチャートである。記憶システム制御装置１０２は、例えば定期的に、リンクボリューム６毎、かつ、当該リンクボリューム６が記憶しているコピー済みデータ毎に図１６の処理を行う。
図１６の処理で、制御部１６２は、リンクボリューム６の各々に対して処理を行うループＬ１１を開始する（ステップＳ３０１）。以下では、ループＬ１１で処理対象になっているリンクボリューム６を対象リンクボリュームと称する。
【００７８】
次に、マスターデータ読出頻度検出部１７１は、対象リンクボリュームが記憶しているコピー済みデータを記憶する（ステップＳ３０２）。例えば、マスターデータ読出頻度検出部１７１はボリュームデータ管理テーブルを参照して、対象リンクボリュームに対応付けられているデータ識別情報を全て読み出す。
次に、制御部１６２は、ステップＳ３０２でマスターデータ読出頻度検出部１７１が検出してコピー済みデータの各々に対して処理を行うループＬ１２を開始する（ステップＳ３０３）。以下では、ループＬ１２で処理対象になっているコピー済みデータを対象データと称する。
【００７９】
次に、読出頻度判定部１９２は、対象データのアクセス頻度情報を取得する（ステップＳ３０４）。具体的には、読出頻度判定部１９２は、対象リンクボリュームの対象データに対するアクセス頻度の高低をボリュームデータ管理テーブルから読み出す。
そして、読出頻度判定部１９２は、対象リンクボリュームの対象データに対するアクセス頻度が低いか否かを判定する（ステップＳ３０５）。具体的には、読出頻度判定部１９２は、ステップＳ３０４で読み出した情報が、アクセス頻度低を示しているか否かを判定する。
【００８０】
アクセス頻度低と判定した場合（ステップＳ３０５：ＹＥＳ）、削除制御部１９３は、アクセス頻度低のデータを削除する（ステップＳ３０６）。すなわち、削除制御部１９３は、対象データを対象リンクボリュームから削除する。
そして、データアクセス制御部１８２は、ステップＳ３０６で削除制御部１９３が削除したデータの参照先を変更する（ステップＳ３０７）。例えば、データアクセス制御部１８２は、当該データの参照先をマスターボリューム５に決定する。
【００８１】
次に、制御部１６２は、ループＬ１２の終端処理を行う（ステップＳ３０８）。具体的には、制御部１６２は、ステップＳ３０２で得られた全てのコピー済みデータに対してループＬ１２の処理を完了したか否かを判定する。完了したと判定した場合、ループＬ１２を終了する。一方、未処理のコピー済みデータがあると判定した場合、ステップＳ３０３へ戻り、未処理のコピー済みデータに対して引き続きループＬ１２の処理を行う。
【００８２】
ステップＳ３０８でループＬ１２を終了した場合、制御部１６２は、ループＬ１１の終端処理を行う（ステップＳ３０８）。具体的には、制御部１６２は、全てのリンクボリューム６に対してループＬ１１の処理を完了したか否かを判定する。完了したと判定した場合、ループＬ１１を終了する。一方、未処理のリンクボリューム６があると判定した場合、ステップＳ３０１へ戻り、未処理のリンクボリューム６に対して引き続きループＬ１１の処理を行う。
ステップＳ３０９でループＬ１１を終了した場合、制御部１６２は図１６の処理を終了する。
一方、ステップＳ３０５でアクセス頻度が低くないと判定した場合（ステップＳ３０５：ＮＯ）、ステップＳ３０８へ進む。
【００８３】
以上のように、コピーデータ読出頻度検出部１９１は、コピー済みデータの読出頻度をリンクボリューム６毎且つコピー済みデータ毎に検出する。そして、読出頻度判定部１９２は、コピー済みデータの読出頻度が低いか否かをリンクボリューム６毎且つコピー済みデータ毎に判定する。削除制御部１９３は、読出頻度判定部１９２が読出頻度低と判定したコピー済みデータを、当該リンクボリューム６から削除する。
これにより、記憶システム制御装置１０２では、アクセス頻度が低下したコピー済みデータを削除することで、リンクボリューム６の容量の肥大化を抑えることができる。
【００８４】
次に、図１７及び図１８を参照して、本発明の最小構成について説明する。
図１７は、本発明に係る記憶システムの最小構成を示す概略構成図である。同図に示す記憶システム２００は、マスターボリューム２０１と、リンクボリューム２０２と、マスターデータ読出頻度検出部２０３と、負荷状態判定部２０４と、コピー対象決定部と２０５と、コピー先決定部２０６と、コピー制御部２０７とを備える。
【００８５】
かかる構成にて、マスターボリューム２０１は、データを使用する複数の装置に共用のデータを記憶する。リンクボリューム２０２は、データを使用する装置毎に個別のデータを記憶する。マスターデータ読出頻度検出部２０３は、マスターボリューム２０１が記憶しているデータの各々の読出頻度を検出する。負荷状態判定部２０４は、マスターボリューム２０１の負荷状態及びリンクボリューム２０２それぞれの負荷状態を判定する。
コピー対象決定部と２０５は、マスターボリューム２０１が高負荷状態にあると負荷状態判定部２０４が判定した場合、マスターボリューム２０１が記憶しているデータの中からコピー対象データを読出頻度に基づいて決定する。コピー先決定部２０６は、コピー対象データのコピー先のリンクボリューム２０２を、リンクボリューム２０２の負荷状態に基づいて決定する。コピー制御部２０７は、コピー対象データをコピー先のリンクボリューム２０２へコピーする。
【００８６】
これにより、記憶システム２００は、マスターデータの一部をコピーするか否かを判定するために、マスターボリューム２０１の負荷状態のみを参照すればよく、他の装置の負荷状態を参照する必要がない。記憶システム２００によれば、この点で、記憶システム２００自らにおける負荷分散のためにデータコピーを行うか否かを判定する負荷を、より小さくすることができる。
【００８７】
図１８は、本発明に係る記憶システム制御装置の最小構成を示す概略構成図である。同図に示す記憶システム制御装置３００は、マスターデータ読出頻度検出部３０３と、負荷状態判定部３０４と、コピー対象決定部３０５と、コピー先決定部３０６と、コピー制御部３０７とを備える。
【００８８】
かかる構成にて、マスターデータ読出頻度検出部３０３は、データを使用する複数の装置に共用のデータを記憶するマスターボリュームが記憶しているデータの各々の読出頻度を検出する。負荷状態判定部３０４は、マスターボリュームの負荷状態、及び、データを使用する装置毎に個別のデータを記憶する１つ以上のリンクボリュームそれぞれの負荷状態を判定する。
コピー対象決定部３０５は、マスターボリュームが高負荷状態にあると負荷状態判定部３０４が判定した場合、マスターボリュームが記憶しているデータの中からコピー対象データを読出頻度に基づいて決定する。コピー先決定部３０６は、コピー対象データのコピー先のリンクボリュームを、リンクボリュームの負荷状態に基づいて決定する。コピー制御部３０７は、コピー対象データをコピー先のリンクボリュームへコピーする。
【００８９】
これにより、記憶システム制御装置３００は、マスターデータの一部をコピーするか否かを判定するために、マスターボリュームの負荷状態のみを参照すればよく、他の装置の負荷状態を参照する必要がない。記憶システム制御装置３００によれば、この点で、記憶システムにおける負荷分散のためにデータコピーを行うか否かを判定する負荷を、より小さくすることができる。
【００９０】
なお、制御部１６０、１６１、及び、１６２と、マスターデータ読出頻度検出部２０３及び３０３と、負荷状態判定部２０４及び３０４と、コピー対象決定部と２０５及び３０５と、コピー先決定部２０６及び３０６と、コピー制御部２０７及び３０７との機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００９１】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００９２】
１  コンピュータシステム
２、２００  記憶システム
３  ディスクアレイ装置
４、４ａ、４ｂ、４ｃ  プール
５、２０１  マスターボリューム
６、６ａ、６ｂ、６ｃ、２０２  リンクボリューム
３０、３０ａ、３０ｂ、３０ｃ  ホストコンピュータ
１００、１０１、１０２、３００  記憶システム制御装置
１１０  通信部
１４０、１４１  記憶部
１５１  アクセス頻度テーブル記憶部
１５２  プールビジー監視テーブル記憶部
１５３  ボリュームデータ管理テーブル記憶部
１６０、１６１、１６２  制御部
１７１、２０３、３０３  マスターデータ読出頻度検出部
１７２、２０４、３０４  負荷状態判定部
１７３、２０５、３０５  コピー対象決定部
１７４、２０６、３０６  コピー先決定部
１７５、２０７、３０７  コピー制御部
１７６、１８２  データアクセス制御部
１８１  参照先候補検出部
１９１  コピーデータ読出頻度検出部
１９２  読出頻度判定部
１９３  削除制御部
【図１】
0006747018.tif 000002
【図２】
0006747018.tif 000003
【図３】
0006747018.tif 000004
【図４】
0006747018.tif 000005
【図５】
0006747018.tif 000006
【図６】
0006747018.tif 000007
【図７】
0006747018.tif 000008
【図８】
0006747018.tif 000009
【図９】
0006747018.tif 000010
【図１０】
0006747018.tif 000011
【図１１】
0006747018.tif 000012
【図１２】
0006747018.tif 000013
【図１３】
0006747018.tif 000014
【図１４】
0006747018.tif 000015
【図１５】
0006747018.tif 000016
【図１６】
0006747018.tif 000017
【図１７】
0006747018.tif 000018
【図１８】
0006747018.tif 000019