(57)【特許請求の範囲】
【請求項１】
複数のＲＡＩＤグループのそれぞれに割り当てられた物理記憶領域を利用し、前記複数のＲＡＩＤグループに跨って、論理ボリュームのデータを所定の配置パターンに従って配置する制御を行う制御装置であって、
前記データの配置パターンの変更条件と変更後の配置パターンとを対応付けた対応情報を記憶する記憶部と、
前記論理ボリュームに対するアクセス要求に基づいてアクセスされる前記複数のＲＡＩＤグループ個々のアクセス傾向を特定し、
前記対応情報と特定した前記アクセス傾向に基づいて、前記論理ボリュームが前記変更条件を満たすか否かを判定し、
前記変更条件を満たすと判定した場合、該変更条件に対応する前記変更後の配置パターンに基づいて前記論理ボリュームのデータを再配置する、制御部と、
を有することを特徴とする制御装置。
【請求項２】
前記制御部は、前記複数のＲＡＩＤグループのそれぞれのアクセス回数を特定し、
前記複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きい場合に、前記変更条件のうちの第１の変更条件を満たすと判定する、ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記論理ボリュームのデータが、前記論理ボリュームのデータを先頭からＲＡＩＤグループの数分に分割したデータを前記複数のＲＡＩＤグループのそれぞれに１つずつ配置する第１の配置パターンに基づき、前記複数のＲＡＩＤグループに跨がって分散して配置されており、
前記制御部は、前記第１の変更条件を満たすと判定した場合に、前記論理ボリュームのデータの先頭から、アクセス単位のデータをＲＡＩＤグループの数分含むデータごとに、前記複数のＲＡＩＤグループに、前記アクセス単位のデータずつ分散して配置する第２の配置パターンに基づいて、前記論理ボリュームのデータを再配置する、ことを特徴とする請求項２に記載の制御装置。
【請求項４】
前記論理ボリュームのデータが、前記第２の配置パターンに基づき、前記複数のＲＡＩＤグループに跨がって分散して配置されており、
前記制御部は、前記第１の変更条件を満たすと判定した場合に、前記論理ボリュームのデータの先頭から、アクセス単位のデータをＲＡＩＤグループの数分含むデータごとに、前記複数のＲＡＩＤグループに、前記アクセス単位のデータずつ、前記第２の配置パターンとは異なる配置先に分散して配置する第３の配置パターンに基づいて、前記論理ボリュームのデータを再配置する、ことを特徴とする請求項３に記載の制御装置。
【請求項５】
前記制御部は、前記複数のＲＡＩＤグループのそれぞれのシーケンシャルアクセスの競合の有無を特定し、
前記複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合がある場合に、前記変更条件のうちの第２の変更条件を満たすと判定する、ことを特徴とする請求項１〜４のいずれか一つに記載の制御装置。
【請求項６】
前記制御部は、前記第２の変更条件を満たすと判定した場合に、前記論理ボリュームのデータのうち、いずれかのシーケンシャルアクセスの対象となったデータを纏めて前記複数のＲＡＩＤグループのいずれかに配置し、前記論理ボリュームのデータのうちの残余のデータの先頭から、アクセス単位のデータを前記複数のＲＡＩＤグループのうちの残余のＲＡＩＤグループの数分含むデータごとに、前記残余のＲＡＩＤグループに、前記アクセス単位のデータずつ分散して配置する第４の配置パターンに基づいて、前記論理ボリュームのデータを再配置する、ことを特徴とする請求項５に記載の制御装置。
【請求項７】
前記制御部は、前記複数のＲＡＩＤグループのそれぞれのアクセス回数と、前記複数のＲＡＩＤグループのそれぞれのシーケンシャルアクセスの競合の有無を特定し、
前記複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合があり、かつ、残余のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きい場合に、前記変更条件のうちの第３の変更条件を満たすと判定する、ことを特徴とする請求項１〜６のいずれか一つに記載の制御装置。
【請求項８】
前記制御部は、前記第３の変更条件を満たすと判定した場合に、前記論理ボリュームのデータのうち、いずれかのシーケンシャルアクセスの対象となったデータを纏めて前記複数のＲＡＩＤグループのいずれかに配置し、前記論理ボリュームのデータのうちの残余のデータの先頭から、アクセス単位のデータをＲＡＩＤグループの数の倍数分含むデータごとに、前記残余のＲＡＩＤグループの数分に分割し、前記残余のＲＡＩＤグループに分散して配置する第５の配置パターンに基づいて、前記論理ボリュームのデータを再配置する、ことを特徴とする請求項７に記載の制御装置。
【請求項９】
複数のＲＡＩＤグループのそれぞれに割り当てられた物理記憶領域を利用し、前記複数のＲＡＩＤグループに跨って、論理ボリュームのデータを所定の配置パターンに従って配置する制御を行う制御装置が、
前記論理ボリュームに対するアクセス要求に基づいてアクセスされる前記複数のＲＡＩＤグループ個々のアクセス傾向を特定し、
記憶部に記憶された前記データの配置パターンの変更条件と変更後の配置パターンとを対応付けた対応情報と特定した前記複数のＲＡＩＤグループのそれぞれのアクセス傾向に基づいて、前記論理ボリュームが前記変更条件を満たすか否かを判定し、
前記変更条件を満たすと判定した場合、該変更条件に対応する前記変更後の配置パターンに基づいて前記論理ボリュームのデータを再配置する、
処理を実行することを特徴とする制御方法。
【請求項１０】
複数のＲＡＩＤグループのそれぞれに割り当てられた物理記憶領域を利用し、前記複数のＲＡＩＤグループに跨って、論理ボリュームのデータを所定の配置パターンに従って配置する制御を行う制御装置に、
前記論理ボリュームに対するアクセス要求に基づいてアクセスされる前記複数のＲＡＩＤグループ個々のアクセス傾向を特定し、
記憶部に記憶された前記データの配置パターンの変更条件と変更後の配置パターンとを対応付けた対応情報と特定した前記複数のＲＡＩＤグループのそれぞれのアクセス傾向に基づいて、前記論理ボリュームが前記変更条件を満たすか否かを判定し、
前記変更条件を満たすと判定した場合、該変更条件に対応する前記変更後の配置パターンに基づいて前記論理ボリュームのデータを再配置する、
処理を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、および制御プログラムに関する。
【背景技術】
【０００２】
従来、複数の記憶装置によってデータを冗長化して記憶するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）グループがある。また、複数のＲＡＩＤグループによって論理ボリュームを作成するＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）連結技術がある。関連する技術としては、例えば、仕様の異なる複数のディスク装置から構成されるディスクアレイ装置において、個々のディスク装置仕様に応じ、データストライプ数比を任意に設定するものがある。また、例えば、アプリケーションの特性に合わせて、ミラーおよびパリティの冗長的な蓄積の割合を調整する技術がある。また、例えば、論理ボリュームに対して動的に記憶領域を割り当てる技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−６３２９８号公報
【特許文献２】特開平７−８４７３２号公報
【特許文献３】特開２００７−１４０７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、ＬＵＮ連結技術を適用して論理ボリュームを作成した複数のＲＡＩＤグループのそれぞれに対するアクセスに偏りがあると、論理ボリュームへのアクセス性能が低下してしまう場合がある。
【０００５】
１つの側面では、本発明は、アクセス性能の低下を抑制することができる制御装置、制御方法、および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面によれば、複数のＲＡＩＤグループに跨がって割り当てられた複数の物理記憶領域に論理ボリュームのデータを所定の配置パターンに従って配置する制御を行う制御装置、制御方法、および制御プログラムであって、前記データの配置パターンの変更条件と変更後の配置パターンとを対応付けた対応情報を記憶する記憶部を有し、前記論理ボリュームに対するアクセス要求に基づいてアクセスされる前記複数のＲＡＩＤグループ個々のアクセス傾向を特定し、前記対応情報と特定した前記アクセス傾向に基づいて、前記論理ボリュームが前記変更条件を満たすか否かを判定し、前記変更条件を満たすと判定した場合、該変更条件に対応する前記変更後の配置パターンに基づいて前記論理ボリュームのデータを再配置する制御装置、制御方法、および制御プログラムが提案される。
【発明の効果】
【０００７】
本発明の一態様によれば、アクセス性能の低下を抑制することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態にかかる制御装置１００の一実施例を示す説明図である。
【図２】図２は、ストレージシステム２００の一例を示す説明図である。
【図３】図３は、アクセステーブル３００のデータ構造の一例を示す説明図である。
【図４】図４は、制御装置１００の機能的構成例を示すブロック図である。
【図５】図５は、複数の時間帯のそれぞれにおけるアクセス傾向の一例を示す説明図である。
【図６】図６は、アクセステーブル３００の記憶内容の一例を示す説明図である。
【図７】図７は、制御装置１００が論理ボリュームのデータを再配置する一例を示す説明図である。
【図８】図８は、再配置した後のアクセス傾向の一例を示す説明図である。
【図９】図９は、再配置した後のアクセステーブル３００の記憶内容の一例を示す説明図である。
【図１０】図１０は、監視処理手順の一例を示すフローチャートである。
【図１１】図１１は、選択処理手順の一例を示すフローチャートである。
【図１２】図１２は、再配置処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に、図面を参照して、本発明にかかる制御装置、制御方法、および制御プログラムの実施の形態を詳細に説明する。
【００１０】
（実施の形態にかかる制御装置１００の一実施例）
図１は、実施の形態にかかる制御装置１００の一実施例を示す説明図である。図１において、制御装置１００は、論理ボリュームが作成された複数のＲＡＩＤグループを制御するコンピュータである。ＲＡＩＤグループは、１または複数の記憶装置によって形成される。ＲＡＩＤグループは、ＲＬＵ（ＲＡＩＤ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）とも呼ばれる。記憶装置は、例えば、磁気ディスク、光ディスク、フラッシュメモリ、磁気テープなどである。論理ボリュームは、ＬＵＮ連結技術によって作成される。論理ボリュームのデータは、複数のＲＡＩＤグループに分散して配置されることになる。
【００１１】
例えば、論理ボリュームのデータをＲＡＩＤグループ数で分割して複数のＲＡＩＤグループのそれぞれに配置する配置パターンがある。しかしながら、この配置パターンでは、論理ボリュームの先頭部分にあるデータが集中してアクセス対象になる場合には、論理ボリュームの先頭部分にあるデータが配置されたＲＡＩＤグループにアクセスが偏ってしまう。結果として、論理ボリュームへのアクセス性能の低下や、論理ボリュームの先頭部分にあるデータが配置されたＲＡＩＤグループを形成する記憶装置の消耗が生じてしまう。アクセス性能は、例えば、アクセス速度である。アクセス性能は、具体的には、制御装置１００が論理ボリュームへのアクセス要求を受け付けてから、論理ボリュームへのアクセスを完了するまでの速さである。
【００１２】
また、例えば、論理ボリュームのデータを所定量のデータごとにＲＡＩＤグループ数で分割して複数のＲＡＩＤグループのそれぞれに配置することにより、所定量のデータを複数のＲＡＩＤグループに跨るように配置する配置パターンがある。しかしながら、この配置パターンでは、所定量のデータのうちの先頭部分にあるデータが集中してアクセス対象になる場合には、先頭部分にあるデータが配置されたＲＡＩＤグループにアクセスが偏ってしまう。結果として、論理ボリュームへのアクセス性能の低下や、先頭部分にあるデータが配置されたＲＡＩＤグループを形成する記憶装置の消耗が生じてしまう。
【００１３】
このように、論理ボリュームのデータを複数のＲＡＩＤグループに分散して配置する複数の配置パターンのいずれにおいても、複数のＲＡＩＤグループのそれぞれのアクセス傾向によっては、論理ボリュームへのアクセス性能が低下してしまう場合がある。アクセス傾向は、例えば、複数のＲＡＩＤグループのそれぞれのアクセス回数、および複数のＲＡＩＤグループのそれぞれのシーケンシャルアクセスの競合の有無などである。そこで、本実施の形態では、アクセス性能の低下を抑制することができる制御方法について説明する。制御方法によれば、例えば、複数のＲＡＩＤグループのそれぞれのアクセス傾向に合わせて配置パターンを変更することにより、アクセス性能の低下を抑制することができる。
【００１４】
図１の例では、制御装置１００は、論理ボリュームのデータを配置する３つのＲＡＩＤグループ＃０〜＃２を有する。図１の例では、論理ボリュームのデータは、論理アドレスが連続する、ユニット単位のデータｄ０〜ｄ１１の集合である。ユニットは、論理ボリュームのデータを区分けする単位である。論理ボリュームのデータは、例えば、アクセスパターンＡ１〜Ａ５のようにアクセスが行われる。
【００１５】
アクセスパターンＡ１は、論理ボリューム上の所定量のデータ単位でランダムアクセスが行われるパターンである。所定量のデータは、例えば、ユニット単位のデータである。アクセスパターンＡ１は、具体的には、データｄ０〜ｄ１１のそれぞれにランダムアクセスが行われるパターンである。アクセスパターンＡ２は、論理ボリューム上の先頭から末尾までのデータにシーケンシャルアクセスが行われるパターンである。アクセスパターンＡ２は、具体的には、データｄ０〜ｄ１１にシーケンシャルアクセスが行われるパターンである。
【００１６】
アクセスパターンＡ３は、論理ボリューム上の複数の領域のそれぞれのデータにシーケンシャルアクセスが行われるパターンである。アクセスパターンＡ３は、具体的には、データｄ０〜ｄ３にシーケンシャルアクセスが行われ、データｄ４〜ｄ７にシーケンシャルアクセスが行われ、データｄ８〜ｄ１１にシーケンシャルアクセスが行われるパターンである。アクセスパターンＡ４は、論理ボリューム上の不連続な複数のデータのそれぞれにアクセスが行われるパターンである。アクセスパターンＡ３は、具体的には、データｄ０、ｄ３、ｄ６、ｄ９にアクセスが行われるパターンである。
【００１７】
アクセスパターンＡ５は、論理ボリューム上の一部の領域にあるデータにシーケンシャルアクセスが行われ、論理ボリューム上の残余の領域にある所定量のデータ単位でランダムアクセスが行われるパターンである。所定量のデータは、例えば、ユニット単位のデータである。アクセスパターンＡ５は、具体的には、データｄ０〜ｄ３にシーケンシャルアクセスが行われ、データｄ４〜ｄ１１のそれぞれにランダムアクセスが行われるパターンである。
【００１８】
ここでは、アクセスパターンの一例として、アクセスパターンＡ１〜Ａ５について説明したが、これに限らない。例えば、アクセスパターンには、論理ボリューム上の一部の領域にある所定量のデータ単位でランダムアクセスが行われるパターンがあってもよい。具体的には、アクセスパターンには、データｄ０〜ｄ３のそれぞれにランダムアクセスが行われるパターンがあってもよい。
【００１９】
図１の例では、論理ボリュームのデータｄ０〜ｄ１１を複数のＲＡＩＤグループに配置する配置パターンＰ１〜Ｐ４がある。配置パターンＰ１は、論理ボリュームのデータを先頭からＲＡＩＤグループ数で分割して、分割したデータのそれぞれを複数のＲＡＩＤグループのそれぞれに配置するパターンである。例えば、配置パターンＰ１は、データｄ０〜ｄ３、ｄ４〜ｄ７、ｄ８〜ｄ１１のそれぞれを、ＲＡＩＤグループ＃０〜＃２のそれぞれに配置する。
【００２０】
配置パターンＰ１では、例えば、アクセスパターンＡ１のようにアクセスされると、アクセス性能の低下に対する影響は不定になる。また、配置パターンＰ１では、例えば、アクセスパターンＡ２のようにアクセスされると、ＲＡＩＤグループ＃０〜＃２に対して順番にシーケンシャルアクセスが行われることになり、ＲＡＩＤグループ＃０〜＃２に並行にアクセスを行うことができない。このため、配置パターンＰ１では、アクセスパターンＡ２のようにアクセスされた場合には、アクセス性能の低下を招く。また、配置パターンＰ１では、例えば、アクセスパターンＡ３のようにアクセスされると、ＲＡＩＤグループ＃０〜＃２に対して、並行してシーケンシャルアクセスが行われることになる。このため、配置パターンＰ１では、アクセスパターンＡ３のようにアクセスされた場合には、アクセス性能の低下が抑制される。
【００２１】
配置パターンＰ２は、論理ボリュームのデータを先頭からＲＡＩＤグループ数分のデータごとにＲＡＩＤグループ数で分割して、分割したデータのそれぞれを複数のＲＡＩＤグループのそれぞれに配置するパターンである。例えば、配置パターンＰ２は、ＲＡＩＤグループ数分のデータｄ０〜ｄ２、ｄ３〜ｄ５、ｄ６〜ｄ８、ｄ９〜ｄ１１のそれぞれを、ＲＡＩＤグループ数で分割して、ＲＡＩＤグループ＃０〜＃２に跨るように配置する。具体的には、配置パターンＰ２は、データｄ０、ｄ３、ｄ６、ｄ９をＲＡＩＤグループ＃０に、データｄ１、ｄ４、ｄ７、ｄ１０をＲＡＩＤグループ＃１に、データｄ２、ｄ５、ｄ８、ｄ１１をＲＡＩＤグループ＃２に配置する。
【００２２】
配置パターンＰ２では、例えば、アクセスパターンＡ１のようにアクセスされると、アクセス性能の低下に対する影響は不定になる。また、配置パターンＰ２では、例えば、アクセスパターンＡ２のようにアクセスされると、ＲＡＩＤグループ＃０〜＃２に対して、並行してシーケンシャルアクセスが行われることになる。このため、配置パターンＰ２では、アクセスパターンＡ２のようにアクセスされた場合には、アクセス性能の低下が抑制される。また、配置パターンＰ２では、例えば、アクセスパターンＡ３のようにアクセスされると、ＲＡＩＤグループ＃０〜＃２に対して、シーケンシャルアクセスの競合が発生することになる。このため、配置パターンＰ２では、アクセスパターンＡ３のようにアクセスされた場合には、アクセス性能の低下を招く。また、配置パターンＰ２では、例えば、アクセスパターンＡ４のようにアクセスされると、ＲＡＩＤグループ＃０に対してアクセスが集中することになる。このため、配置パターンＰ２では、アクセスパターンＡ４のようにアクセスされた場合には、アクセス性能の低下を招く。
【００２３】
配置パターンＰ３は、論理ボリュームのデータを先頭からＲＡＩＤグループ数分のデータごとにＲＡＩＤグループ数で分割して、分割したデータのそれぞれを配置する順序を変えて複数のＲＡＩＤグループのそれぞれに配置するパターンである。例えば、配置パターンＰ３は、データｄ０〜ｄ２、ｄ３〜ｄ５、ｄ６〜ｄ８、ｄ９〜ｄ１１のそれぞれを、ＲＡＩＤグループ数で分割して、配置する順序を変えて、ＲＡＩＤグループ＃０〜＃２に跨るように配置する。具体的には、配置パターンＰ３は、データｄ０、ｄ５、ｄ７、ｄ９をＲＡＩＤグループ＃０に、データｄ１、ｄ３、ｄ８、ｄ１０をＲＡＩＤグループ＃１に、データｄ２、ｄ４、ｄ６、ｄ１１をＲＡＩＤグループ＃２に配置する。
【００２４】
配置パターンＰ３では、例えば、アクセスパターンＡ１のようにアクセスされると、アクセス性能の低下に対する影響は不定になる。また、配置パターンＰ３では、例えば、アクセスパターンＡ３のようにアクセスされると、ＲＡＩＤグループ＃０〜＃２に対して、シーケンシャルアクセスの競合が発生することになる。このため、配置パターンＰ３では、アクセスパターンＡ３のようにアクセスされた場合には、アクセス性能の低下を招く。また、配置パターンＰ３では、例えば、アクセスパターンＡ４のようにアクセスされると、ＲＡＩＤグループ＃０〜＃２に対して、並行してアクセスが行われることになる。このため、配置パターンＰ３では、アクセスパターンＡ４のようにアクセスされた場合には、アクセス性能の低下が抑制される。
【００２５】
配置パターンＰ４は、論理ボリュームのデータのうちの先頭から所定量のデータを複数のＲＡＩＤグループのいずれかに配置し、残余のデータを所定量のデータごとに残余のＲＡＩＤグループ数で分割して残余のＲＡＩＤグループに配置するパターンである。例えば、配置パターンＰ４は、データｄ０〜ｄ３をＲＡＩＤグループ＃０に配置する。また、配置パターンＰ４は、残余のデータｄ４およびｄ５、ｄ６およびｄ７、ｄ８およびｄ９、ｄ１０およびｄ１１のそれぞれを、ＲＡＩＤグループ数で分割して、ＲＡＩＤグループ＃１および＃２に跨るように配置する。具体的には、配置パターンＰ４は、データｄ０〜ｄ３をＲＡＩＤグループ＃０に、データｄ４、ｄ６、ｄ８、ｄ１０をＲＡＩＤグループ＃１に、データｄ５、ｄ７、ｄ９、ｄ１１をＲＡＩＤグループ＃２に配置する。
【００２６】
配置パターンＰ４では、例えば、アクセスパターンＡ１のようにアクセスされると、アクセス性能の低下に対する影響は不定になる。また、配置パターンＰ４では、例えば、アクセスパターンＡ３のようにアクセスされると、ＲＡＩＤグループ＃１、＃２に対して、シーケンシャルアクセスの競合が発生することになる。このため、配置パターンＰ４では、アクセスパターンＡ３のようにアクセスされた場合には、アクセス性能の低下を招く。また、配置パターンＰ４では、例えば、アクセスパターンＡ５のようにアクセスされると、ＲＡＩＤグループ＃０に対して独立してシーケンシャルアクセスが行われ、ＲＡＩＤグループ＃１、＃２に対してランダムアクセスが行われることになる。このため、配置パターンＰ４では、アクセスパターンＡ５のようにアクセスされた場合には、アクセス性能の低下が抑制される。
【００２７】
ここでは、配置パターンの一例として、配置パターンＰ１〜Ｐ４について説明したが、これに限らない。例えば、所定量のデータを複数のＲＡＩＤグループのいずれかに配置し、残余のデータを所定量のデータごとに残余のＲＡＩＤグループ数で分割して、分割したデータのそれぞれを配置する順序を変えて残余のＲＡＩＤグループに配置するパターンがあってもよい。
【００２８】
図１の例では、（１）制御装置１００は、アクセス要求を受け付け、アクセス要求に基づいて論理ボリュームのデータにアクセスする。図１の例では、論理ボリュームのデータは、配置パターンＰ１に基づいて配置されているとする。アクセス要求は、データの読み出し要求、またはデータの書き込み要求である。アクセス要求は、アクセス対象となる、データの読み出し、または書き込みが行われる、論理ボリューム上の領域を示す。アクセス要求は、ＩＯ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）要求とも呼ばれる。
【００２９】
（２）制御装置１００は、所定期間内に受け付けられたアクセス要求を取得する。次に、制御装置１００は、取得したアクセス要求に基づいて、複数のＲＡＩＤグループのそれぞれのアクセス傾向を特定する。アクセス傾向は、例えば、ＲＡＩＤグループのアクセス回数、およびＲＡＩＤグループのシーケンシャルアクセスの競合の有無などである。
【００３０】
（３）制御装置１００は、データの配置パターンの変更条件と変更後の配置パターンとを対応付けた対応情報を参照して、特定した複数のＲＡＩＤグループのそれぞれのアクセス傾向に基づいて、論理ボリュームが変更条件を満たすか否かを判定する。変更条件は、例えば、複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値以上であることである。また、変更条件は、複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合があることであってもよい。変更条件は、さらに、アクセスされるデータのサイズに基づいて細分化されてもよい。制御装置１００は、具体的には、複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きければ、変更条件を満たすと判定する。
【００３１】
（４）制御装置１００は、変更条件を満たすと判定した場合、変更後の配置パターンに基づいて論理ボリュームのデータを再配置する。制御装置１００は、例えば、複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きい場合、論理ボリュームのデータが配置パターンＰ１に基づいて配置されていれば、配置パターンＰ２を選択する。そして、制御装置１００は、選択した配置パターンＰ２に基づいて、論理ボリュームのデータを再配置する。
【００３２】
これにより、制御装置１００は、現在の論理ボリュームのデータの配置パターンでは複数のＲＡＩＤグループのそれぞれに対するアクセスの偏りが発生してしまう場合や、アクセスの競合が発生してしまう場合には、配置パターンを変更することができる。結果として、制御装置１００は、複数のＲＡＩＤグループのそれぞれに対するアクセスの偏りやアクセスの競合を抑制し、アクセス性能が低下したり、ＲＡＩＤグループが消耗してしまうことを抑制することができる。
【００３３】
（ストレージシステム２００の一例）
次に、図２を用いて、図１に示した制御装置１００を適用した、ストレージシステム２００の一例について説明する。
【００３４】
図２は、ストレージシステム２００の一例を示す説明図である。図２において、ストレージシステム２００は、ＲＡＩＤ装置２０１と、ホスト装置２０２とを有する。ここで、ＲＡＩＤ装置２０１は、例えば、図１に示した制御装置１００として動作するコンピュータである。
【００３５】
ＲＡＩＤ装置２０１は、２つのＣＭ（Ｃｏｎｔｒｏｌ  Ｍｏｄｕｌｅ）２１０と、２つのストレージ装置２２０とを有する。ＣＭ２１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１１と、メモリ２１２と、ＣＡ（Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）２１３と、ＲＡ（Ｒｅｍｏｔｅ  Ａｄａｐｔｅｒ）２１４と、ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）２１５と、を有する。
【００３６】
ＣＰＵ２１１は、ＣＭ２１０の全体の制御を司る。ＣＰＵ２１１は、例えば、メモリ２１２に記憶されたプログラムを実行してＣＭ２１０を動作させる。メモリ２１２は、ブートプログラムや図３に後述するアクセステーブル３００などの各種テーブルを記憶する。また、メモリ２１２は、ＣＰＵ２１１のワークエリアとして使用される。メモリ２１２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有している。
【００３７】
フラッシュＲＯＭは、具体的には、ＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）やファームウェアなどのプログラムを記憶する。ＲＯＭは、具体的には、アプリケーションプログラムを記憶する。ＲＡＭは、具体的には、ＣＰＵ２１１のワークエリアとして使用される。ＲＡＭは、具体的には、図３に後述するアクセステーブル３００などの各種テーブルを記憶する。メモリ２１２に記憶されているプログラムは、ＣＰＵ２１１にロードされることで、コーディングされている処理をＣＰＵ２１１に実行させることになる。
【００３８】
ＣＡ２１３は、ホスト装置２０２などの外部装置とのインターフェースを制御する。ＲＡ２１４は、ネットワーク２３０または専用線を介して接続される外部装置とのインターフェースを制御する。ＦＣ２１５は、ストレージ装置２２０とのインターフェースを制御する。ストレージ装置２２０は、ＲＡＩＤグループを有し、論理ボリュームの実現に使用される。ストレージ装置２２０は、例えば、１または複数の記憶装置を有する。ストレージ装置２２０は、ＤＥ（Ｄｉｓｋ  Ｅｎｃｌｏｓｕｒｅ）に搭載されている。
【００３９】
また、ホスト装置２０２は、例えば、ＲＡＩＤ装置２０１に書込要求などを送信するコンピュータである。ホスト装置２０２は、具体的には、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ノートＰＣ、携帯電話、スマートフォン、タブレット端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）などである。
【００４０】
ここでは、ＲＡＩＤ装置２０１が、２つのＣＭ２１０を有する場合について説明したが、これに限らない。例えば、ＲＡＩＤ装置２０１は、１つ、または、４つ以上のＣＭ２１０を有していてもよい。また、ＣＭ２１０が、ＣＡ２１３、ＲＡ２１４およびＦＣ２１５を１つずつ有する場合について説明したが、これに限らない。例えば、ＣＭ２１０は、ＣＡ２１３、ＲＡ２１４およびＦＣ２１５のいずれかを２つ以上含んでもよい。
【００４１】
ここでは、ＲＡＩＤ装置２０１が、図１に示した制御装置１００として動作する場合について説明したが、これに限らない。例えば、ＣＭ２１０のそれぞれが、図１に示した制御装置１００として動作してもよい。また、ＣＭ２１０のいずれかが、図１に示した制御装置１００として動作してもよい。
【００４２】
（アクセステーブル３００のデータ構造）
次に、図３を用いて、アクセステーブル３００のデータ構造の一例について説明する。アクセステーブル３００は、例えば、図２に示したメモリ２１２の記憶領域によって実現される。
【００４３】
図３は、アクセステーブル３００のデータ構造の一例を示す説明図である。図３に示すように、アクセステーブル３００は、番号項目に対応付けて、時間帯項目と、総数項目と、総量項目と、ｓｍａｌｌアクセス回数項目と、ｍｅｄｉｕｍアクセス回数項目と、ｌａｒｇｅアクセス回数項目とを有する。
【００４４】
アクセステーブル３００は、シーケンシャルアクセス１項目と、シーケンシャルアクセス１競合項目と、シーケンシャルアクセス２項目と、シーケンシャルアクセス２競合項目と、シーケンシャルアクセス３項目と、シーケンシャルアクセス３競合項目とを有する。アクセステーブル３００は、論理ボリュームを実現するＲＡＩＤグループごとに各項目に情報が設定されることにより、レコードを記憶する。
【００４５】
番号項目には、論理ボリュームを作成するＲＡＩＤグループに付された番号が記憶される。時間帯項目には、論理ボリュームが使用される時間帯が記憶される。総数項目には、時間帯項目の時間帯において、番号項目の番号が付されたＲＡＩＤグループに対してアクセスが行われたアクセス回数の総数が記憶される。総量項目には、時間帯項目の時間帯において、番号項目の番号が付されたＲＡＩＤグループに対してアクセスが行われたデータサイズの総量が記憶される。
【００４６】
ｓｍａｌｌアクセス回数項目には、時間帯項目の時間帯において、番号項目の番号が付されたＲＡＩＤグループに対して、ｓｍａｌｌサイズのアクセスが行われたアクセス回数が記憶される。ｓｍａｌｌサイズは、例えば、ユニット単位のデータの半分以下のデータサイズである。
【００４７】
ｍｅｄｉｕｍアクセス回数項目には、時間帯項目の時間帯において、番号項目の番号が付されたＲＡＩＤグループに対して、ｍｅｄｉｕｍサイズのアクセスが行われたアクセス回数が記憶される。ｍｅｄｉｕｍサイズは、例えば、ユニット単位のデータの半分より大きく、ユニット単位のデータ以下になるデータサイズである。
【００４８】
ｌａｒｇｅアクセス回数項目には、時間帯項目の時間帯において、番号項目の番号が付されたＲＡＩＤグループに対して、ｌａｒｇｅサイズのアクセスが行われたアクセス回数が記憶される。ｌａｒｇｅサイズは、例えば、ユニット単位のデータよりも大きいデータサイズである。
【００４９】
シーケンシャルアクセス１項目には、時間帯項目の時間帯において、番号項目の番号が付されたＲＡＩＤグループに対して、シーケンシャルアクセスが行われていれば、シーケンシャルアクセスが行われたアクセス範囲が記憶される。シーケンシャルアクセス１競合項目には、シーケンシャルアクセス１項目のシーケンシャルアクセスが行われたアクセス範囲において、他のシーケンシャルアクセスとの競合が発生したか否かが記憶される。
【００５０】
シーケンシャルアクセス２項目には、時間帯項目の時間帯において、番号項目の番号が付されたＲＡＩＤグループに対して、シーケンシャルアクセスが行われていれば、シーケンシャルアクセスが行われたアクセス範囲が記憶される。シーケンシャルアクセス２競合項目には、シーケンシャルアクセス２項目のシーケンシャルアクセスが行われたアクセス範囲において、他のシーケンシャルアクセスとの競合が発生したか否かが記憶される。
【００５１】
シーケンシャルアクセス３項目には、時間帯項目の時間帯において、番号項目の番号が付されたＲＡＩＤグループに対して、シーケンシャルアクセスが行われていれば、シーケンシャルアクセスが行われたアクセス範囲が記憶される。シーケンシャルアクセス３競合項目には、シーケンシャルアクセス３項目のシーケンシャルアクセスが行われたアクセス範囲において、他のシーケンシャルアクセスとの競合が発生したか否かが記憶される。
【００５２】
アクセステーブル３００は、さらに、シーケンシャルアクセス４項目、シーケンシャルアクセス４競合項目、・・・、シーケンシャルアクセスｎ項目、シーケンシャルアクセスｎ競合項目を有してもよい。ｎは自然数である。これにより、アクセステーブル３００は、ＲＡＩＤグループに対する、ｎ回目までのシーケンシャルアクセスが行われたアクセス範囲や、他のシーケンシャルアクセスとの競合が発生したか否かを記憶してもよい。
【００５３】
（制御装置１００の機能的構成例）
次に、図４を用いて、制御装置１００の機能的構成例について説明する。
【００５４】
図４は、制御装置１００の機能的構成例を示すブロック図である。制御装置１００は、制御部となる機能として、受付部４０１と、特定部４０２と、判定部４０３と、配置部４０４とを含む。
【００５５】
受付部４０１は、複数のＲＡＩＤグループによって作成された論理ボリュームに対するアクセス要求を受け付ける。受付部４０１は、例えば、ホスト装置２０２から、データサイズとアクセス範囲とを含む、アクセス要求を受信することにより、アクセス要求を受け付ける。これにより、受付部４０１は、アクセス要求を特定部４０２に出力することができる。
【００５６】
受付部４０１が受け付けたアクセス要求は、例えば、メモリ２１２に記憶される。受付部４０１は、例えば、図２に示したメモリ２１２に記憶されたプログラムをＣＰＵ２１１に実行させることにより、または、ＣＡ２１３と、ＲＡ２１４とにより、その機能を実現する。
【００５７】
特定部４０２は、受付部４０１が受け付けたアクセス要求に基づいて、複数のＲＡＩＤグループのそれぞれのアクセス傾向を特定する。特定部４０２は、例えば、受付部４０１が受け付けたアクセス要求に基づいてアクセスされる複数のＲＡＩＤグループのそれぞれのアクセス傾向を特定する。アクセス傾向は、例えば、ＲＡＩＤグループのアクセス回数、およびＲＡＩＤグループのシーケンシャルアクセスの競合の有無などである。
【００５８】
特定部４０２は、例えば、複数のＲＡＩＤグループのそれぞれのアクセス回数を特定する。特定部４０２は、具体的には、オンライン処理の時間帯において受付部４０１が受け付けたアクセス要求に基づいて、オンライン処理の時間帯における複数のＲＡＩＤグループ＃０〜＃２のそれぞれのアクセス回数を特定する。特定部４０２は、特定したアクセス回数を、図３に示したアクセステーブル３００に設定する。これにより、特定部４０２は、複数のＲＡＩＤグループのそれぞれのアクセス傾向を示す情報を、アクセステーブル３００に記憶しておくことができる。
【００５９】
特定部４０２は、例えば、複数のＲＡＩＤグループのそれぞれのシーケンシャルアクセスの競合の有無を特定する。特定部４０２は、具体的には、オンライン処理の時間帯において受付部４０１が受け付けたアクセス要求に基づいて、オンライン処理の時間帯における複数のＲＡＩＤグループ＃０〜＃２のそれぞれのシーケンシャルアクセスの競合の有無を特定する。特定部４０２は、特定したシーケンシャルアクセスの競合の有無を、図３に示したアクセステーブル３００に設定する。これにより、特定部４０２は、複数のＲＡＩＤグループのそれぞれのアクセス傾向を示す情報を、アクセステーブル３００に記憶しておくことができる。
【００６０】
特定部４０２は、さらに、アクセス要求に基づいて、複数のＲＡＩＤグループのアクセス回数の総数を特定してもよい。特定部４０２は、具体的には、オンライン処理の時間帯において受付部４０１が受け付けたアクセス要求に基づいて、オンライン処理の時間帯における複数のＲＡＩＤグループ＃０〜＃２のアクセス回数の総数を特定する。これにより、特定部４０２は、複数のＲＡＩＤグループのそれぞれのアクセス傾向を示す情報を、アクセステーブル３００に記憶しておくことができる。
【００６１】
特定部４０２が特定したアクセス傾向を示す情報は、例えば、メモリ２１２に記憶される。特定部４０２は、例えば、図２に示したメモリ２１２に記憶されたプログラムをＣＰＵ２１１に実行させることにより、その機能を実現する。
【００６２】
判定部４０３は、データの配置パターンの変更条件と変更後の配置パターンとを対応付けた対応情報を参照して、特定した複数のＲＡＩＤグループのそれぞれのアクセス傾向に基づいて、論理ボリュームが変更条件を満たすか否かを判定する。対応情報は、例えば、変更条件となる複数の分岐条件と、複数の分岐条件のいずれかを満たした場合に変更後の配置パターンとして選択する配置パターンとを対応付けた情報である。対応情報は、プログラムの一部として実現されてもよい。対応情報は、変更条件と、変更後の配置パターンとを対応付けたテーブルであってもよい。対応情報は、このようにプログラムの構成情報やテーブル情報として、メモリ２１２などの不揮発性の記憶部に記憶しておけばよい。
【００６３】
対応情報は、例えば、複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きいという条件と、現在の配置パターンが第１の配置パターンであるという条件とに、変更後の第２の配置パターンを対応付けた情報である。また、対応情報は、シーケンシャルアクセスの競合があるという条件と、シーケンシャルアクセスに関わるデータを複数のＲＡＩＤグループのいずれかに集約して配置が可能であるという条件とに、変更後の第４の配置パターンを対応付けた情報であってもよい。
【００６４】
配置パターンは、例えば、第１の配置パターン〜第５の配置パターンのいずれかである。第１の配置パターンは、論理ボリュームのデータをＲＡＩＤグループ数で分割して複数のＲＡＩＤグループのそれぞれに配置するパターンである。第１の配置パターンは、例えば、論理ボリュームのデータを複数のＲＡＩＤグループに跨がって連続的に分散配置するパターンである。第１の配置パターンは、具体的には、図１に示した配置パターンＰ１である。第２の配置パターンは、論理ボリュームのデータを、ＲＡＩＤグループ数分のユニット単位のデータごとに、ＲＡＩＤグループ数で分割して、複数のＲＡＩＤグループのそれぞれに配置するパターンである。第２の配置パターンは、例えば、論理ボリュームのデータを各ＲＡＩＤグループ内で所定量ずつ連続的に分散配置するパターンである。第２の配置パターンは、具体的には、図１に示した配置パターンＰ２である。
【００６５】
第３の配置パターンは、論理ボリュームのデータを複数のＲＡＩＤグループのそれぞれに配置する順序を変えて配置するパターンである。第３の配置パターンは、例えば、論理ボリュームのデータを、ＲＡＩＤグループ数分のユニット単位のデータごとに、ＲＡＩＤグループ数で分割して、複数のＲＡＩＤグループのそれぞれに配置する順序を変えて配置するパターンである。第３の配置パターンは、具体的には、図１に示した配置パターンＰ３である。第４の配置パターンは、シーケンシャルアクセスに関わるデータを複数のＲＡＩＤグループのいずれかに集約して配置するパターンである。さらに、第４の配置パターンは、論理ボリュームのデータのうちの残余のデータを複数のＲＡＩＤグループのうちの残余のＲＡＩＤグループのそれぞれに分散して配置するパターンである。第４の配置パターンは、例えば、残余のデータをＲＡＩＤグループ数分のユニット単位のデータごとに、残余のＲＡＩＤグループのそれぞれに分散して配置するパターンである。シーケンシャルアクセスに関わるデータは、例えば、シーケンシャルアクセスされたデータである。第４の配置パターンは、具体的には、図１に示した配置パターンＰ４である。
【００６６】
第５の配置パターンは、シーケンシャルアクセスに関わるデータを複数のＲＡＩＤグループのいずれかに集約して配置するパターンである。さらに、第５の配置パターンは、残余のデータを、ＲＡＩＤグループ数の倍数分のユニット単位のデータごとに、残余のＲＡＩＤグループ数で分割し、残余のＲＡＩＤグループのそれぞれに分散して配置するパターンである。第５の配置パターンは、例えば、残余のデータを、残余のＲＡＩＤグループの各ＲＡＩＤグループ内で所定量ずつ連続的に分散配置するパターンである。
【００６７】
判定部４０３は、例えば、複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きい場合に、変更条件のうちの第１の変更条件を満たすと判定する。判定部４０３は、具体的には、特定部４０２が特定したＲＡＩＤグループ＃０のアクセス回数が、特定部４０２が特定したＲＡＩＤグループ＃１のアクセス回数の２倍よりも大きい場合に、変更条件のうちの第１の変更条件を満たすと判定する。これにより、判定部４０３は、複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数に偏りがあるか否かを判定することにより、論理ボリュームのデータの配置パターンを変更するか否かを判定することができる。
【００６８】
判定部４０３は、例えば、複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合がある場合に、変更条件のうちの第２の変更条件を満たすと判定する。判定部４０３は、具体的には、ＲＡＩＤグループ＃０にシーケンシャルアクセスの競合がある場合に、変更条件のうちの第２の変更条件を満たすと判定する。これにより、判定部４０３は、複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合があるか否かを判定することにより、論理ボリュームのデータの配置パターンを変更するか否かを判定することができる。
【００６９】
判定部４０３は、複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合があり、かつ、残余のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きい場合に、変更条件のうちの第３の変更条件を満たすと判定する。判定部４０３は、具体的には、ＲＡＩＤグループ＃０にシーケンシャルアクセスの競合があり、ＲＡＩＤグループ＃１のアクセス回数がＲＡＩＤグループ＃２のアクセス回数の２倍より大きい場合に、変更条件のうちの第３の変更条件を満たすと判定する。これにより、判定部４０３は、論理ボリュームのデータの配置パターンを変更するか否かを判定することができる。
【００７０】
判定部４０３は、現在の配置パターンが、複数の配置パターンのいずれであるかを特定する。判定部４０３は、例えば、現在の配置パターンが、第１の配置パターン〜第４の配置パターンのいずれであるかを特定する。判定部４０３は、具体的には、現在の配置パターンが、図１に示した配置パターンＰ１〜Ｐ４のいずれであるかを特定する。これにより、判定部４０３は、変更後の配置パターンを選択する際に用いる現在の配置パターンを特定することができる。
【００７１】
判定部４０３は、特定部４０２が特定した総数が閾値より大きい場合に、変更条件を満たすか否かを判定してもよい。判定部４０３は、特定部４０２が特定した総数が閾値以下である場合には、変更条件を満たすか否かを判定せず、配置部４０４に論理ボリュームのデータを再配置させないようにしてもよい。これにより、判定部４０３は、複数のＲＡＩＤグループのアクセス回数の総数が閾値より小さく、配置パターンを変更しなくても論理ボリュームへのアクセス性能が低下しづらい場合には、配置パターンを変更しないようにすることができる。結果として、判定部４０３は、論理ボリュームのデータを再配置する際の負荷を削減することができる。
【００７２】
判定部４０３の判定結果は、例えば、メモリ２１２に記憶される。判定部４０３は、例えば、図２に示したメモリ２１２に記憶されたプログラムをＣＰＵ２１１に実行させることにより、その機能を実現する。
【００７３】
配置部４０４は、変更条件を満たすと判定した場合、該変更条件に対応する変更後の配置パターンに基づいて論理ボリュームのデータを再配置する。配置部４０４は、例えば、第１の変更条件を満たすと判定した場合に、第１の配置パターンに基づいて論理ボリュームのデータを配置していれば、第２の配置パターンに基づいて、論理ボリュームのデータを再配置する。配置部４０４は、例えば、第１の変更条件を満たすと判定した場合に、第１の配置パターンに基づいて論理ボリュームの再配置対象データを配置していれば、第２の配置パターンに基づいて、論理ボリュームの再配置対象データを再配置する。再配置対象データは、論理ボリュームのデータである。再配置対象データは、論理ボリュームのデータのうち、いずれかのＲＡＩＤグループに対応するデータ、アクセス回数が大きいデータ、シーケンシャルアクセスに関わるデータなどであってもよい。配置部４０４は、具体的には、判定部４０３が第１の変更条件を満たすと判定し、判定部４０３が現在の配置パターンが配置パターンＰ１であると判定した場合には、配置パターンＰ２に基づいて論理ボリュームのデータを再配置する。これにより、配置部４０４は、複数のＲＡＩＤグループのそれぞれのアクセス回数の平準化を図ることができる。
【００７４】
配置部４０４は、例えば、第１の変更条件を満たすと判定した場合に、第２の配置パターンに基づいて論理ボリュームのデータを配置していれば、第３の配置パターンに基づいて、論理ボリュームのデータを再配置する。配置部４０４は、例えば、第１の変更条件を満たすと判定した場合に、第２の配置パターンに基づいて論理ボリュームの再配置対象データを配置していれば、第３の配置パターンに基づいて論理ボリュームの再配置対象データを再配置する。配置部４０４は、具体的には、判定部４０３が第１の変更条件を満たすと判定し、判定部４０３が現在の配置パターンが配置パターンＰ２であると判定した場合には、配置パターンＰ３に基づいて論理ボリュームのデータを再配置する。これにより、配置部４０４は、複数のＲＡＩＤグループのそれぞれのアクセス回数の平準化を図ることができる。
【００７５】
配置部４０４は、例えば、第２の変更条件を満たすと判定した場合に、シーケンシャルアクセスされたデータを複数のＲＡＩＤグループのいずれかに集約可能であれば、第４の配置パターンに基づいて、論理ボリュームのデータを再配置する。配置部４０４は、例えば、第２の変更条件を満たすと判定した場合に、シーケンシャルアクセスに関わる再配置対象データを複数のＲＡＩＤグループのいずれかに集約して配置が可能であれば、第４の配置パターンに基づいて、論理ボリュームの再配置対象データを再配置する。配置部４０４は、具体的には、判定部４０３が第２の変更条件を満たすと判定した場合に、シーケンシャルアクセスされたデータを複数のＲＡＩＤグループのいずれかに集約可能であれば、配置パターンＰ４に基づいて論理ボリュームのデータを再配置する。配置部４０４は、より具体的には、シーケンシャルアクセスされたデータを複数のＲＡＩＤグループのいずれかにまとめて配置し、残余のデータを残余のＲＡＩＤグループに分散して配置する。これにより、配置部４０４は、複数のＲＡＩＤグループのそれぞれのアクセス回数の平準化を図ることができるとともに、複数のＲＡＩＤグループのいずれかにおいてシーケンシャルアクセスされるようにして効率化を図ることができる。
【００７６】
配置部４０４は、例えば、第３の変更条件を満たすと判定した場合に、シーケンシャルアクセスされたデータを複数のＲＡＩＤグループのいずれかに集約可能であれば、第５の配置パターンに基づいて、論理ボリュームのデータを再配置する。配置部４０４は、例えば、第３の変更条件を満たすと判定した場合に、シーケンシャルアクセスに関わる再配置対象データを複数のＲＡＩＤグループのいずれかに集約して配置が可能であれば、第５の配置パターンに基づいて、論理ボリュームのデータを再配置する。配置部４０４は、具体的には、シーケンシャルアクセスされたデータをＲＡＩＤグループ＃０に配置し、シーケンシャルアクセスされずランダムアクセスされるデータをＲＡＩＤグループ＃１、＃２に配置するように、論理ボリュームのデータを再配置する。これにより、配置部４０４は、複数のＲＡＩＤグループのそれぞれのアクセス回数の平準化を図ることができるとともに、複数のＲＡＩＤグループのいずれかにおいてシーケンシャルアクセスされるようにして効率化を図ることができる。
【００７７】
配置部４０４は、シーケンシャルアクセスの競合があると判定した場合には、シーケンシャルアクセスが複数のＲＡＩＤグループのそれぞれに分散するように、論理ボリュームのデータを再配置してもよい。配置部４０４は、例えば、図２に示したメモリ２１２に記憶されたプログラムをＣＰＵ２１１に実行させることにより、その機能を実現する。
【００７８】
（制御装置１００による実施例）
次に、図５〜図９を用いて、制御装置１００による実施例について説明する。
【００７９】
＜アクセス傾向の一例＞
図５は、複数の時間帯のそれぞれにおけるアクセス傾向の一例を示す説明図である。図５の例では、論理ボリュームのデータは、第２の配置パターンに基づいて、複数のＲＡＩＤグループに配置されている。
【００８０】
（１１）制御装置１００は、オンライン処理を行う時間帯では、ＲＡＩＤグループ＃０に対する、ｓｍａｌｌサイズのアクセス要求を、９，０００，０００回受け付ける。また、制御装置１００は、オンライン処理を行う時間帯では、ＲＡＩＤグループ＃１に対する、ｓｍａｌｌサイズのアクセス要求を、５００，０００回受け付ける。また、制御装置１００は、オンライン処理を行う時間帯では、ＲＡＩＤグループ＃２に対する、ｓｍａｌｌサイズのアクセス要求を、５００，０００回受け付ける。制御装置１００は、オンライン処理を行う時間帯においてアクセス要求を受け付ける都度、図６に後述するようにアクセステーブル３００の時間帯項目「オンライン処理」に対応する各項目を更新する。ここでは、ＲＡＩＤグループ＃０に集中してアクセスが行われるため、アクセス性能の低下を招く。
【００８１】
（１２）制御装置１００は、バッチ処理を行う時間帯では、ＲＡＩＤグループ＃０〜＃２のそれぞれに対するシーケンシャルアクセスが行われるｌａｒｇｅサイズのアクセス要求を、１，０００，０００回ずつ受け付ける。制御装置１００は、バッチ処理を行う時間帯においてアクセス要求を受け付ける都度、図６に後述するようにアクセステーブル３００の時間帯項目「バッチ処理」に対応する各項目を更新する。ここでは、ＲＡＩＤグループ＃０〜＃２のそれぞれに均等にアクセスが行われるため、アクセス性能の低下が抑制される。ここでは、制御装置１００が、ｓｍａｌｌサイズのアクセス要求と、ｌａｒｇｅサイズのアクセス要求とを受け付ける場合について説明したが、これに限らない。例えば、制御装置１００は、ｓｍａｌｌサイズのアクセス要求と、ｍｅｄｉｕｍサイズのアクセス要求と、ｌａｒｇｅサイズのアクセス要求とを受け付けてもよい。
【００８２】
＜アクセステーブル３００の記憶内容の一例＞
図６は、アクセステーブル３００の記憶内容の一例を示す説明図である。図６に示すように、制御装置１００は、（１１）において受け付けたアクセス要求に基づいて、番号項目「＃０〜＃２」のそれぞれの時間帯項目「オンライン処理」に対応する、総数項目、総量項目、ｓｍａｌｌアクセス回数項目に数値を設定する。制御装置１００は、具体的には、番号項目「＃０」の時間帯項目「オンライン処理」に対応する総数項目に「９，０００，０００」、総量項目に「１．１ＴＢ」、ｓｍａｌｌアクセス回数項目に「９，０００，０００」を設定する。
【００８３】
また、制御装置１００は、具体的には、番号項目「＃１」の時間帯項目「オンライン処理」に対応する総数項目に「５００，０００」、総量項目に「６１ＧＢ」、ｓｍａｌｌアクセス回数項目に「５００，０００」を設定する。また、制御装置１００は、具体的には、番号項目「＃２」の時間帯項目「オンライン処理」に対応する総数項目に「５００，０００」、総量項目に「６１ＧＢ」、ｓｍａｌｌアクセス回数項目に「５００，０００」を設定する。
【００８４】
同様に、制御装置１００は、（１２）において受け付けたアクセス要求に基づいて、番号項目「＃０〜＃２」のそれぞれの時間帯項目「バッチ処理」に対応する、総数項目、総量項目、ｌａｒｇｅアクセス回数項目に数値を設定する。また、制御装置１００は、（１２）において受け付けたアクセス要求に基づいて、番号項目「＃０〜＃２」のそれぞれの時間帯項目「バッチ処理」に対応する、シーケンシャルアクセス１項目、シーケンシャルアクセス１競合項目に数値を設定する。制御装置１００は、具体的には、番号項目「＃０」の時間帯項目「バッチ処理」に対応する総数項目に「１，０００，０００」、総量項目に「１．９ＴＢ」、ｌａｒｇｅアクセス回数項目に「１，０００，０００」を設定する。制御装置１００は、シーケンシャルアクセス１項目に「０ｘ１００００〜０ｘｂ００００」、シーケンシャルアクセス１競合項目に「無」を設定する。
【００８５】
また、制御装置１００は、具体的には、番号項目「＃１」の時間帯項目「バッチ処理」に対応する総数項目に「１，０００，０００」、総量項目に「１．９ＴＢ」、ｌａｒｇｅアクセス回数項目に「１，０００，０００」を設定する。制御装置１００は、シーケンシャルアクセス１項目に「０ｘ１００００〜０ｘｂ００００」、シーケンシャルアクセス１競合項目に「無」を設定する。また、制御装置１００は、具体的には、番号項目「＃２」の時間帯項目「バッチ処理」に対応する総数項目に「１，０００，０００」、総量項目に「１．９ＴＢ」、ｌａｒｇｅアクセス回数項目に「１，０００，０００」を設定する。制御装置１００は、シーケンシャルアクセス１項目に「０ｘ１００００〜０ｘｂ００００」、シーケンシャルアクセス１競合項目に「無」を設定する。
【００８６】
ここで、制御装置１００は、アクセステーブル３００を参照して、変更条件を満たすか否かを判定する。制御装置１００は、例えば、それぞれの時間帯において、複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値以上である場合に、変更条件を満たすと判定する。図６の例では、制御装置１００は、時間帯「オンライン処理」において、ＲＡＩＤグループ間のアクセス回数の差分が閾値以上であるため、変更条件を満たすと判定する。そして、制御装置１００は、現在の配置パターンが配置パターンＰ２であれば、変更後の配置パターンとして配置パターンＰ３を選択する。ここでは、制御装置１００が、ｓｍａｌｌアクセス回数項目と、ｌａｒｇｅアクセス回数項目となどを用いて、変更条件を満たすか否かを判定する場合について説明したが、これに限らない。例えば、制御装置１００は、さらに、ｍｅｄｉｕｍアクセス回数項目などを用いて、変更条件を満たすか否かを判定してもよい。
【００８７】
＜論理ボリュームのデータを再配置する一例＞
図７は、制御装置１００が論理ボリュームのデータを再配置する一例を示す説明図である。制御装置１００は、配置パターンを、配置パターンＰ２から配置パターンＰ３に変更して、論理ボリュームのデータを再配置する。
【００８８】
（２１）制御装置１００は、例えば、論理ボリュームのデータのうち、配置パターンＰ２と配置パターンＰ３とで共通する場所に配置されているデータｄ０〜ｄ２については読み出さずに、そのままにしておく。次に、制御装置１００は、論理ボリュームのデータのうち、配置パターンＰ２に基づいて配置されているデータｄ３〜ｄ５を読み出す。
【００８９】
（２２）制御装置１００は、読み出したデータｄ３〜ｄ５を、配置パターンＰ３に基づいて再配置する。制御装置１００は、具体的には、読み出したデータｄ３をＲＡＩＤグループ＃１に、読み出したデータｄ４をＲＡＩＤグループ＃２に、読み出したデータｄ５をＲＡＩＤグループ＃０に、それぞれ再配置する。
【００９０】
（２３）制御装置１００は、同様に、論理ボリュームのデータのうち、配置パターンＰ２に基づいて配置されているデータｄ６〜ｄ８を読み出して、配置パターンＰ３に基づいて再配置する。これにより、制御装置１００は、配置パターンＰ３に基づいて、論理ボリュームのデータを再配置することができる。
【００９１】
＜再配置した後のアクセス傾向の一例＞
図８は、再配置した後のアクセス傾向の一例を示す説明図である。図８の例では、図７のように再配置した結果、論理ボリュームのデータは、第３の配置パターンに基づいて、複数のＲＡＩＤグループに配置されている。
【００９２】
（３１）制御装置１００は、オンライン処理を行う時間帯では、（１１）と同様のアクセス要求を受け付ける。制御装置１００は、具体的には、オンライン処理を行う時間帯では、ＲＡＩＤグループ＃０に対する、ｓｍａｌｌサイズのアクセス要求を、３，０００，０００回受け付ける。また、制御装置１００は、オンライン処理を行う時間帯では、ＲＡＩＤグループ＃１に対する、ｓｍａｌｌサイズのアクセス要求を、３，５００，０００回受け付ける。また、制御装置１００は、オンライン処理を行う時間帯では、ＲＡＩＤグループ＃２に対する、ｓｍａｌｌサイズのアクセス要求を、３，５００，０００回受け付ける。制御装置１００は、オンライン処理を行う時間帯においてアクセス要求を受け付ける都度、図９に後述するようにアクセステーブル３００の時間帯項目「オンライン処理」に対応する各項目を更新する。ここでは、ＲＡＩＤグループ＃０〜＃２のそれぞれに均等にアクセスが行われるため、アクセス性能の低下が抑制される。
【００９３】
（３２）制御装置１００は、バッチ処理を行う時間帯では、（１２）と同様のアクセス要求を受け付ける。制御装置１００は、具体的には、ＲＡＩＤグループ＃０〜＃２のそれぞれに対するシーケンシャルアクセスが行われるｌａｒｇｅサイズのアクセス要求を、１，０００，０００回ずつ受け付ける。制御装置１００は、バッチ処理を行う時間帯においてアクセス要求を受け付ける都度、図９に後述するようにアクセステーブル３００の時間帯項目「バッチ処理」に対応する各項目を更新する。ここでは、ＲＡＩＤグループ＃０〜＃２のそれぞれに均等にアクセスが行われるため、アクセス性能の低下が抑制される。このように、再配置した後には、オンライン処理を行う時間帯に（１１）と同様のアクセス要求を受け付けた場合であっても、バッチ処理を行う時間帯に（１２）と同様のアクセス要求を受け付けた場合であっても、アクセス性能の低下が抑制されることになる。
【００９４】
＜再配置した後のアクセステーブル３００の記憶内容の一例＞
図９は、再配置した後のアクセステーブル３００の記憶内容の一例を示す説明図である。図９に示すように、制御装置１００は、（３１）において受け付けたアクセス要求に基づいて、番号項目「＃０〜＃２」のそれぞれの時間帯項目「オンライン処理」に対応する、総数項目、総量項目、ｓｍａｌｌアクセス回数項目に数値を設定する。制御装置１００は、具体的には、番号項目「＃０」の時間帯項目「オンライン処理」に対応する総数項目に「３，０００，０００」、総量項目に「３６６ＧＢ」、ｓｍａｌｌアクセス回数項目に「３，０００，０００」を設定する。
【００９５】
また、制御装置１００は、具体的には、番号項目「＃１」の時間帯項目「オンライン処理」に対応する総数項目に「３，５００，０００」、総量項目に「４２７ＧＢ」、ｓｍａｌｌアクセス回数項目に「３，５００，０００」を設定する。また、制御装置１００は、具体的には、番号項目「＃２」の時間帯項目「オンライン処理」に対応する総数項目に「３，５００，０００」、総量項目に「４２７ＧＢ」、ｓｍａｌｌアクセス回数項目に「３，５００，０００」を設定する。
【００９６】
同様に、制御装置１００は、（３２）において受け付けたアクセス要求に基づいて、番号項目「＃０〜＃２」のそれぞれの時間帯項目「バッチ処理」に対応する、総数項目、総量項目、ｌａｒｇｅアクセス回数項目に数値を設定する。また、制御装置１００は、（３２）において受け付けたアクセス要求に基づいて、番号項目「＃０〜＃２」のそれぞれの時間帯項目「バッチ処理」に対応する、シーケンシャルアクセス１項目、シーケンシャルアクセス１競合項目に数値を設定する。制御装置１００は、具体的には、番号項目「＃０」の時間帯項目「バッチ処理」に対応する総数項目に「１，０００，０００」、総量項目に「１．９ＴＢ」、ｌａｒｇｅアクセス回数項目に「１，０００，０００」を設定する。制御装置１００は、シーケンシャルアクセス１項目に「０ｘ１００００〜０ｘｂ００００」、シーケンシャルアクセス１競合項目に「無」を設定する。
【００９７】
また、制御装置１００は、具体的には、番号項目「＃１」の時間帯項目「バッチ処理」に対応する総数項目に「１，０００，０００」、総量項目に「１．９ＴＢ」、ｌａｒｇｅアクセス回数項目に「１，０００，０００」を設定する。制御装置１００は、シーケンシャルアクセス１項目に「０ｘ１００００〜０ｘｂ００００」、シーケンシャルアクセス１競合項目に「無」を設定する。また、制御装置１００は、具体的には、番号項目「＃２」の時間帯項目「バッチ処理」に対応する総数項目に「１，０００，０００」、総量項目に「１．９ＴＢ」、ｌａｒｇｅアクセス回数項目に「１，０００，０００」を設定する。制御装置１００は、シーケンシャルアクセス１項目に「０ｘ１００００〜０ｘｂ００００」、シーケンシャルアクセス１競合項目に「無」を設定する。
【００９８】
ここで、制御装置１００は、アクセステーブル３００を参照して、変更条件を満たすか否かを判定する。制御装置１００は、例えば、それぞれの時間帯において、複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値以上である場合に、変更条件を満たすと判定する。図９の例では、制御装置１００は、時間帯「オンライン処理」において、ＲＡＩＤグループ間のアクセス回数の差分が閾値より小さいため、変更条件を満たさないと判定する。そして、制御装置１００は、現在の配置パターンにおいてアクセス性能の低下を抑制することができるため、配置パターンを変更しなくてよいと判定する。
【００９９】
（監視処理手順の一例）
次に、図１０を用いて、監視処理手順の一例について説明する。
【０１００】
図１０は、監視処理手順の一例を示すフローチャートである。図１０において、制御装置１００は、アクセス要求に基づいて、アクセステーブル３００を更新する（ステップＳ１００１）。次に、制御装置１００は、監視時間を経過したか否かを判定する（ステップＳ１００２）。ここで、監視時間を経過していない場合（ステップＳ１００２：Ｎｏ）、制御装置１００は、ステップＳ１００１の処理に戻る。
【０１０１】
一方で、監視時間を経過している場合（ステップＳ１００２：Ｙｅｓ）、制御装置１００は、配置パターンを変更した回数が閾値以上か否かを判定する（ステップＳ１００３）。ここで、閾値より小さい場合（ステップＳ１００３：Ｎｏ）、制御装置１００は、図１１に後述する選択処理を実行する（ステップＳ１００４）。次に、制御装置１００は、図１２に後述する再配置処理を実行する（ステップＳ１００５）。そして、制御装置１００は、ステップＳ１００１の処理に戻る。
【０１０２】
一方で、閾値以上である場合（ステップＳ１００３：Ｙｅｓ）、制御装置１００は、制御装置１００のユーザに、配置パターンを変更した回数が閾値以上になったことを示すアラームを通知する（ステップＳ１００６）。そして、制御装置１００は、監視処理を終了する。これにより、制御装置１００は、アクセス傾向に基づいて論理ボリュームのデータを再配置することができる。
【０１０３】
（選択処理手順の一例）
次に、図１１を用いて、ステップＳ１００４において実行される選択処理手順について説明する。
【０１０４】
図１１は、選択処理手順の一例を示すフローチャートである。図１１において、制御装置１００は、アクセス回数の総数が閾値以上であるか否かを判定する（ステップＳ１１０１）。ここで、閾値より小さい場合（ステップＳ１１０１：Ｎｏ）、制御装置１００は、選択処理を終了する。
【０１０５】
一方で、閾値以上である場合（ステップＳ１１０１：Ｙｅｓ）、制御装置１００は、シーケンシャルアクセスがあるか否かを判定する（ステップＳ１１０２）。ここで、シーケンシャルアクセスがない場合（ステップＳ１１０２：Ｎｏ）、制御装置１００は、それぞれの時間帯において、それぞれのデータサイズのアクセスが行われたアクセス回数のＲＡＩＤグループ間の差分が閾値以上であるか否かを判定する（ステップＳ１１０３）。
【０１０６】
ここで、閾値以上である場合（ステップＳ１１０３：Ｙｅｓ）、制御装置１００は、現在の配置パターンが、配置パターンＰ１であれば、配置パターンＰ２を選択する（ステップＳ１１０４）。または、制御装置１００は、現在の配置パターンが、配置パターンＰ２であれば、配置パターンＰ３を選択する（ステップＳ１１０４）。
【０１０７】
または、制御装置１００は、現在の配置パターンが、配置パターンＰ１と配置パターンＰ２とでなければ、制御装置１００のユーザにアラームを通知する（ステップＳ１１０４）。そして、制御装置１００は、選択処理を終了する。一方で、閾値より小さい場合（ステップＳ１１０３：Ｎｏ）、制御装置１００は、選択処理を終了する。
【０１０８】
一方で、シーケンシャルアクセスがある場合（ステップＳ１１０２：Ｙｅｓ）、制御装置１００は、シーケンシャルアクセスの競合があるか否かを判定する（ステップＳ１１０５）。ここで、シーケンシャルアクセスの競合がない場合（ステップＳ１１０５：Ｎｏ）、制御装置１００は、ステップＳ１１０８の処理に移行する。
【０１０９】
一方で、シーケンシャルアクセスの競合がある場合（ステップＳ１１０５：Ｙｅｓ）、制御装置１００は、シーケンシャルアクセスをＲＡＩＤグループに集約可能か否かを判定する（ステップＳ１１０６）。ここで、集約可能ではない場合（ステップＳ１１０６：Ｎｏ）、制御装置１００は、ステップＳ１１０９の処理に移行する。
【０１１０】
一方で、集約可能である場合（ステップＳ１１０６：Ｙｅｓ）、制御装置１００は、配置パターンＰ４を選択する（ステップＳ１１０７）。または、制御装置１００は、シーケンシャルアクセスを、複数のＲＡＩＤグループのそれぞれに集約可能であれば、配置パターンＰ１を選択する（ステップＳ１１０７）。そして、制御装置１００は、選択処理を終了する。
【０１１１】
ステップＳ１１０８において、制御装置１００は、現在の配置パターンが配置パターンＰ４であって、かつ、シーケンシャルアクセスがいくつかのＲＡＩＤグループに集約されているか否かを判定する（ステップＳ１１０８）。ここで、現在の配置パターンが配置パターンＰ４でない場合、または、シーケンシャルアクセスがいくつかのＲＡＩＤグループに集約されていない場合（ステップＳ１１０８：Ｎｏ）、制御装置１００は、ステップＳ１１０６の処理に移行する。
【０１１２】
一方で、現在の配置パターンが配置パターンＰ４であって、かつ、シーケンシャルアクセスがいくつかのＲＡＩＤグループに集約されている場合（ステップＳ１１０８：Ｙｅｓ）、制御装置１００は、ステップＳ１１０９の処理に移行する。
【０１１３】
ステップＳ１１０９において、制御装置１００は、それぞれの時間帯において、それぞれのデータサイズのアクセスが行われたアクセス回数の、シーケンシャルアクセスが行われていないＲＡＩＤグループ間の差分が閾値以上であるか否かを判定する（ステップＳ１１０９）。ここで、閾値以上である場合（ステップＳ１１０９：Ｙｅｓ）、制御装置１００は、配置パターンＰ４から、シーケンシャルアクセスが行われていないＲＡＩＤグループに配置する順序を変更した、新たな配置パターンを選択する（ステップＳ１１１０）。そして、制御装置１００は、選択処理を終了する。
【０１１４】
一方で、閾値より小さい場合（ステップＳ１１０９：Ｎｏ）、制御装置１００は、選択処理を終了する。これにより、制御装置１００は、アクセス傾向に基づいて、変更条件を満たしていれば、変更後の配置パターンを選択することができる。
【０１１５】
（再配置処理手順の一例）
次に、図１２を用いて、ステップＳ１００５において実行される再配置処理手順について説明する。
【０１１６】
図１２は、再配置処理手順の一例を示すフローチャートである。図１２において、制御装置１００は、論理ボリュームのデータのうち、現在の配置パターンに基づいて配置されたデータを所定量読み出す（ステップＳ１２０１）。次に、制御装置１００は、読み出した所定量のデータを、選択処理によって選択された配置パターンに基づいて配置する（ステップＳ１２０２）。そして、制御装置１００は、再配置の進捗情報を更新する（ステップＳ１２０３）。
【０１１７】
次に、制御装置１００は、再配置が完了したか否かを判定する（ステップＳ１２０４）。ここで、完了していない場合（ステップＳ１２０４：Ｎｏ）、制御装置１００は、ステップＳ１２０１の処理に戻る。一方で、完了している場合（ステップＳ１２０４：Ｙｅｓ）、制御装置１００は、再配置処理を終了する。これにより、制御装置１００は、論理ボリュームのデータを再配置することができる。
【０１１８】
以上説明したように、制御装置１００によれば、複数のＲＡＩＤグループによって作成された論理ボリュームに対するアクセス要求に基づいて、複数のＲＡＩＤグループのそれぞれのアクセス傾向を特定することができる。次に、制御装置１００によれば、特定した複数のＲＡＩＤグループのそれぞれのアクセス傾向に基づいて、論理ボリュームが変更条件を満たすか否かを判定することができる。そして、制御装置１００によれば、変更条件を満たすと判定した場合、変更後の配置パターンに基づいて論理ボリュームのデータを再配置することができる。これにより、制御装置１００は、現在の論理ボリュームのデータの配置パターンでは複数のＲＡＩＤグループのそれぞれに対するアクセスの偏りが発生してしまう場合や、アクセスの競合が発生してしまう場合には、配置パターンを変更することができる。結果として、制御装置１００は、複数のＲＡＩＤグループのそれぞれに対するアクセスの偏りやアクセスの競合を抑制し、アクセス性能が低下したり、ＲＡＩＤグループが消耗してしまうことを抑制することができる。
【０１１９】
また、制御装置１００によれば、複数のＲＡＩＤグループのそれぞれのアクセス回数を特定することができる。そして、制御装置１００によれば、複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きい場合に、変更条件のうちの第１の変更条件を満たすと判定することができる。これにより、判定部４０３は、複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数に偏りがあるか否かを判定することにより、論理ボリュームのデータの配置パターンを変更するか否かを判定することができる。
【０１２０】
また、制御装置１００によれば、第１の変更条件を満たすと判定した場合に、論理ボリュームのデータを第１の配置パターンに基づいて配置していれば、第２の配置パターンに基づいて、論理ボリュームのデータを再配置することができる。これにより、制御装置１００は、複数のＲＡＩＤグループのそれぞれのアクセス回数の平準化を図ることができる。
【０１２１】
また、制御装置１００によれば、第１の変更条件を満たすと判定した場合に、論理ボリュームのデータを第２の配置パターンに基づいて配置していれば、第３の配置パターンに基づいて、論理ボリュームのデータを再配置することができる。これにより、制御装置１００は、複数のＲＡＩＤグループのそれぞれのアクセス回数の平準化を図ることができる。
【０１２２】
また、制御装置１００によれば、複数のＲＡＩＤグループのそれぞれのシーケンシャルアクセスの競合の有無を特定することができる。そして、制御装置１００によれば、複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合がある場合に、変更条件のうちの第２の変更条件を満たすと判定することができる。これにより、判定部４０３は、複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合があるか否かを判定することにより、論理ボリュームのデータの配置パターンを変更するか否かを判定することができる。
【０１２３】
また、制御装置１００によれば、第２の変更条件を満たすと判定した場合に、シーケンシャルアクセスされたデータを複数のＲＡＩＤグループのいずれかに集約可能であれば、第４の配置パターンに基づいて、論理ボリュームのデータを再配置することができる。これにより、制御装置１００は、複数のＲＡＩＤグループのそれぞれのアクセス回数の平準化を図ることができるとともに、複数のＲＡＩＤグループのいずれかにおいてシーケンシャルアクセスされるようにして効率化を図ることができる。
【０１２４】
また、制御装置１００によれば、複数のＲＡＩＤグループのそれぞれのアクセス回数と、複数のＲＡＩＤグループのそれぞれのシーケンシャルアクセスの競合の有無を特定することができる。次に、制御装置１００によれば、複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合があるか否かを判定することができる。また、制御装置１００によれば、残余のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きいか否かを判定することができる。そして、制御装置１００によれば、シーケンシャルアクセスの競合があり、かつ、アクセス回数の差分が閾値より大きい場合に、変更条件のうちの第３の変更条件を満たすと判定することができる。これにより、判定部４０３は、論理ボリュームのデータの配置パターンを変更するか否かを判定することができる。
【０１２５】
また、制御装置１００によれば、第３の変更条件を満たすと判定した場合に、シーケンシャルアクセスされたデータを複数のＲＡＩＤグループのいずれかに集約可能であれば、第５の配置パターンに基づいて、論理ボリュームのデータを再配置することができる。これにより、制御装置１００は、複数のＲＡＩＤグループのそれぞれのアクセス回数の平準化を図ることができるとともに、複数のＲＡＩＤグループのいずれかにおいてシーケンシャルアクセスされるようにして効率化を図ることができる。
【０１２６】
また、制御装置１００によれば、さらに、アクセス要求に基づいて、複数のＲＡＩＤグループのアクセス回数の総数を特定し、特定した総数が閾値より大きい場合に、変更条件を満たすか否かを判定することができる。これにより、制御装置１００は、複数のＲＡＩＤグループのアクセス回数の総数が閾値より小さく、配置パターンを変更しなくてもアクセス性能が低下しづらい場合には、配置パターンを変更しないようにすることができる。結果として、制御装置１００は、論理ボリュームのデータを再配置する際にかかる負荷を削減することができる。
【０１２７】
なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１２８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１２９】
（付記１）複数のＲＡＩＤグループに跨がって割り当てられた複数の物理記憶領域に論理ボリュームのデータを所定の配置パターンに従って配置する制御を行う制御装置であって、
前記データの配置パターンの変更条件と変更後の配置パターンとを対応付けた対応情報を記憶する記憶部と、
前記論理ボリュームに対するアクセス要求に基づいてアクセスされる前記複数のＲＡＩＤグループ個々のアクセス傾向を特定し、
前記対応情報と特定した前記アクセス傾向に基づいて、前記論理ボリュームが前記変更条件を満たすか否かを判定し、
前記変更条件を満たすと判定した場合、該変更条件に対応する前記変更後の配置パターンに基づいて前記論理ボリュームのデータを再配置する、制御部と、
を有することを特徴とする制御装置。
【０１３０】
（付記２）前記制御部は、前記複数のＲＡＩＤグループのそれぞれのアクセス回数を特定し、
前記複数のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きい場合に、前記変更条件のうちの第１の変更条件を満たすと判定する、ことを特徴とする付記１に記載の制御装置。
【０１３１】
（付記３）前記制御部は、前記第１の変更条件を満たすと判定した場合に、前記論理ボリュームの再配置対象データが前記複数のＲＡＩＤグループに跨がって連続的に分散配置されていれば、前記論理ボリュームの再配置対象データを各ＲＡＩＤグループ内で所定量ずつ連続的に分散配置する配置パターンに基づいて、前記論理ボリュームのデータを再配置する、ことを特徴とする付記２に記載の制御装置。
【０１３２】
（付記４）前記制御部は、前記第１の変更条件を満たすと判定した場合に、前記論理ボリュームの再配置対象データが前記複数のＲＡＩＤグループに跨がって連続的に分散配置されていれば、前記論理ボリュームの再配置対象データを前記複数のＲＡＩＤグループのそれぞれに配置する順序を変えて配置する配置パターンに基づいて、前記論理ボリュームのデータを再配置する、ことを特徴とする付記２または３に記載の制御装置。
【０１３３】
（付記５）前記制御部は、前記複数のＲＡＩＤグループのそれぞれのシーケンシャルアクセスの競合の有無を特定し、
前記複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合がある場合に、前記変更条件のうちの第２の変更条件を満たすと判定する、ことを特徴とする付記１〜４のいずれか一つに記載の制御装置。
【０１３４】
（付記６）前記制御部は、前記第２の変更条件を満たすと判定した場合に、前記論理ボリュームのデータのうちのシーケンシャルアクセスに関わる再配置対象データを前記複数のＲＡＩＤグループのいずれかに集約して配置が可能であれば、該シーケンシャルアクセスに関わる再配置対象データを前記複数のＲＡＩＤグループのいずれかに配置し、前記論理ボリュームのデータのうちの残余のデータを前記複数のＲＡＩＤグループのうちの残余のＲＡＩＤグループのそれぞれに分散して配置する配置パターンに基づいて、前記論理ボリュームのデータを再配置する、ことを特徴とする付記５に記載の制御装置。
【０１３５】
（付記７）前記制御部は、前記複数のＲＡＩＤグループのそれぞれのアクセス回数と、前記複数のＲＡＩＤグループのそれぞれのシーケンシャルアクセスの競合の有無を特定し、
前記複数のＲＡＩＤグループのいずれかにシーケンシャルアクセスの競合があり、かつ、残余のＲＡＩＤグループのうちのＲＡＩＤグループ間のアクセス回数の差分が閾値より大きい場合に、前記変更条件のうちの第３の変更条件を満たすと判定する、ことを特徴とする付記１〜６のいずれか一つに記載の制御装置。
【０１３６】
（付記８）前記制御部は、前記第３の変更条件を満たすと判定した場合に、前記論理ボリュームのデータのうちのシーケンシャルアクセスに関わる再配置対象データを前記複数のＲＡＩＤグループのいずれかに集約して配置が可能であれば、該シーケンシャルアクセスに関わる再配置対象データを前記複数のＲＡＩＤグループのいずれかに配置し、前記論理ボリュームのデータのうちの残余のデータを、前記複数のＲＡＩＤグループのうちの残余のＲＡＩＤグループの各ＲＡＩＤグループ内で所定量ずつ連続的に分散配置する配置パターンに基づいて、前記論理ボリュームのデータを再配置する、ことを特徴とする付記７に記載の制御装置。
【０１３７】
（付記９）前記制御部は、さらに、前記アクセス要求に基づいて、前記複数のＲＡＩＤグループのアクセス回数の総数を特定し、
特定した前記総数が閾値より大きい場合に、前記変更条件を満たすか否かを判定する、ことを特徴とする付記１〜７のいずれか一つに記載の制御装置。
【０１３８】
（付記１０）複数のＲＡＩＤグループに跨がって割り当てられた複数の物理記憶領域に論理ボリュームのデータを所定の配置パターンに従って配置する制御を行う制御装置が、
前記論理ボリュームに対するアクセス要求に基づいてアクセスされる前記複数のＲＡＩＤグループ個々のアクセス傾向を特定し、
記憶部に記憶された前記データの配置パターンの変更条件と変更後の配置パターンとを対応付けた対応情報と特定した前記複数のＲＡＩＤグループのそれぞれのアクセス傾向に基づいて、前記論理ボリュームが前記変更条件を満たすか否かを判定し、
前記変更条件を満たすと判定した場合、該変更条件に対応する前記変更後の配置パターンに基づいて前記論理ボリュームのデータを再配置する、
処理を実行することを特徴とする制御方法。
【０１３９】
（付記１１）複数のＲＡＩＤグループに跨がって割り当てられた複数の物理記憶領域に論理ボリュームのデータを所定の配置パターンに従って配置する制御を行う制御装置に、
前記論理ボリュームに対するアクセス要求に基づいてアクセスされる前記複数のＲＡＩＤグループ個々のアクセス傾向を特定し、
記憶部に記憶された前記データの配置パターンの変更条件と変更後の配置パターンとを対応付けた対応情報と特定した前記複数のＲＡＩＤグループのそれぞれのアクセス傾向に基づいて、前記論理ボリュームが前記変更条件を満たすか否かを判定し、
前記変更条件を満たすと判定した場合、該変更条件に対応する前記変更後の配置パターンに基づいて前記論理ボリュームのデータを再配置する、
処理を実行させることを特徴とする制御プログラム。
【符号の説明】
【０１４０】
１００  制御装置
２１０  ＣＭ
４０１  受付部
４０２  特定部
４０３  判定部
４０４  配置部
【図１】
0006500505.tif 000002
【図２】
0006500505.tif 000003
【図３】
0006500505.tif 000004
【図４】
0006500505.tif 000005
【図５】
0006500505.tif 000006
【図６】
0006500505.tif 000007
【図７】
0006500505.tif 000008
【図８】
0006500505.tif 000009
【図９】
0006500505.tif 000010
【図１０】
0006500505.tif 000011
【図１１】
0006500505.tif 000012
【図１２】
0006500505.tif 000013