(57)【特許請求の範囲】
【請求項１】
少なくとも１つのアレイへのアクセスを制御するアレイコントローラであって、前記少なくとも１つのアレイが有する物理領域を複数の物理エクステントに区分して管理し、前記複数の物理エクステントのうちの１つ以上を論理ディスクの論理エクステントに割り当てるアレイコントローラを備えたディスクアレイ装置と、
前記ディスクアレイ装置を利用するホスト装置とを具備し、
前記ホスト装置は、前記論理ディスク上の前記ホスト装置によって使用されている連続する第１の領域の第１のサイズと前記論理ディスク上の前記ホスト装置によって使用されていない連続する第２の領域の第２のサイズとを、前記ホスト装置で動作するオペレーティングシステムが使用するファイルシステムに基づいて検出し、前記検出された第１のサイズ及び第２のサイズに基づいて、前記検出された第１のサイズ及び第２のサイズのサイズ毎の出現数を示す度数分布を取得して、度数が高い上位の一定順位までのサイズの最大公約数を算出し、当該算出された最大公約数、または当該最大公約数の整数倍のサイズであって、当該最大公約数の計算に用いられたサイズのうちの最大値を超えない範囲のサイズを前記アレイコントローラに通知するデータ配置解析手段を備え、
前記アレイコントローラは、
前記論理ディスクの論理エクステント及び前記論理エクステントに新たに割り当てられる物理エクステントのエクステントサイズを現在のエクステントサイズから前記通知されたサイズに変更するエクステントサイズ変更手段と、
前記変更後のエクステントサイズが前記現在のエクステントサイズよりも小さい場合に、前記論理ディスクの第１の論理エクステントに割り当てられていた第１の物理エクステントを、前記変更後のエクステントサイズで区分し、区分されたそれぞれの領域に対応するデータを前記変更後のエクステントサイズの第２の物理エクステント群にコピーするデータコピー手段とを備え、
前記エクステントサイズ変更手段は、前記１の論理エクステントを前記変更後のエクステントサイズの第２の論理エクステント群に区分し、前記第２の論理エクステント群に前記対応するデータがコピーされた前記第２の物理エクステント群を割り当てる
ストレージシステム。
【請求項２】
前記データコピー手段は、前記対応するデータ全体が所定のデータパターンであるかをチェックし、
前記エクステントサイズ変更手段は、前記対応するデータ全体が所定のデータパターンである場合、前記第２の物理エクステント群のうち前記対応するデータがコピーされる第２の物理エクステントの、前記第２の論理エクステント群のうちの対応する第２の論理エクステントへの割り当てを解消する
請求項１記載のストレージシステム。
【請求項３】
前記少なくとも１つのアレイは、前記第１の物理エクステント群を有する第１のアレイと、前記第２の物理エクステント群を有する第２のアレイとを含む複数のアレイであり、
前記アレイコントローラは、前記データのコピーに際し、コピー先として用いられる前記第２の物理エクステント群を前記第２のアレイから確保する物理エクステント確保手段を更に備えている
請求項２記載のストレージシステム。
【請求項４】
前記現在のエクステントサイズは、前記ストレージシステムの運用開始時に設定された、管理可能な最大のエクステントサイズである請求項１乃至３のいずれかに記載のストレージシステム。
【請求項５】
少なくとも１つのアレイと、
ホスト装置と接続され、前記少なくとも１つのアレイへのアクセスを制御するアレイコントローラであって、前記少なくとも１つのアレイが有する物理領域を複数の物理エクステントに区分して管理し、前記複数の物理エクステントのうちの１つ以上を論理ディスクの論理エクステントに割り当てるアレイコントローラとを具備し、
前記アレイコントローラは、
前記ホスト装置によって使用されている論理ディスク上の連続する第１の領域の第１のサイズと前記ホスト装置によって使用されていない前記論理ディスク上の連続する第２の領域の第２のサイズとを、前記論理ディスクの論理エクステントに割り当てられている物理エクステント内で所定のデータパターンが連続する領域を検出することにより検出し、前記検出された第１のサイズ及び第２のサイズに基づいて、前記検出された第１のサイズ及び第２のサイズのサイズ毎の出現数を示す度数分布を取得して、度数が高い上位の一定順位までのサイズの最大公約数を算出し、当該算出された最大公約数、または当該最大公約数の整数倍のサイズであって、当該最大公約数の計算に用いられたサイズのうちの最大値を超えない範囲のサイズを検出し、前記論理ディスクの論理エクステント及び前記論理エクステントに新たに割り当てられる物理エクステントのエクステントサイズを、現在のエクステントサイズから前記検出されたサイズに変更するエクステントサイズ変更手段と、
前記変更後のエクステントサイズが前記現在のエクステントサイズよりも小さい場合に、前記論理ディスクの第１の論理エクステントに割り当てられていた第１の物理エクステントを、前記変更後のエクステントサイズで区分し、区分されたそれぞれの領域に対応するデータを前記変更後のエクステントサイズの第２の物理エクステント群にコピーするデータコピー手段とを備え、
前記エクステントサイズ変更手段は、前記１の論理エクステントを前記変更後のエクステントサイズの第２の論理エクステント群に区分し、前記第２の論理エクステント群に前記対応するデータがコピーされた前記第２の物理エクステント群を割り当てる
ディスクアレイ装置。
【請求項６】
少なくとも１つのアレイへのアクセスを制御するアレイコントローラであって、前記少なくとも１つのアレイが有する物理領域を複数の物理エクステントに区分して管理し、前記複数の物理エクステントのうちの１つ以上を論理ディスクの論理エクステントに割り当てるアレイコントローラを備えたディスクアレイ装置と、前記ディスクアレイ装置を利用するホスト装置とを具備するストレージシステムにおけるエクステント変更方法であって、
前記ホスト装置のデータ配置解析手段が、前記論理ディスク上の前記ホスト装置によって使用されている連続する第１の領域の第１のサイズと前記論理ディスク上の前記ホスト装置によって使用されていない連続する第２の領域の第２のサイズとを、前記ホスト装置で動作するオペレーティングシステムが使用するファイルシステムに基づいて検出するステップと、
前記データ配置解析手段が、前記検出された第１のサイズ及び第２のサイズに基づいて、前記検出された第１のサイズ及び第２のサイズのサイズ毎の出現数を示す度数分布を取得して、度数が高い上位の一定順位までのサイズの最大公約数を算出し、当該算出された最大公約数、または当該最大公約数の整数倍のサイズであって、当該最大公約数の計算に用いられたサイズのうちの最大値を超えない範囲のサイズを検出するステップと、
前記データ配置解析手段が、前記検出されたサイズを前記アレイコントローラに通知するステップと、
前記アレイコントローラのエクステントサイズ変更手段が、前記論理ディスクの論理エクステント及び前記論理エクステントに新たに割り当てられる物理エクステントのエクステントサイズを、現在のエクステントサイズから前記通知されたサイズに変更するステップと、
前記変更後のエクステントサイズが前記現在のエクステントサイズよりも小さい場合に、前記アレイコントローラのデータコピー手段が、前記論理ディスクの第１の論理エクステントに割り当てられていた第１の物理エクステントを、前記変更後のエクステントサイズで区分し、区分されたそれぞれの領域に対応するデータを前記変更後のエクステントサイズの第２の物理エクステント群にコピーするステップと、
前記エクステントサイズ変更手段が、前記１の論理エクステントを前記変更後のエクステントサイズの第２の論理エクステント群に区分し、前記第２の論理エクステント群に前記対応するデータがコピーされた前記第２の物理エクステント群を割り当てるステップと
を具備するエクステント変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、論理ディスクの論理エクステントにアレイ内の物理エクステントが割り当てられるディスクアレイ装置を備えたストレージシステム、ディスクアレイ装置及びエクステントサイズ変更方法に関する。
【背景技術】
【０００２】
一般に、ディスクアレイ装置は、１つ以上のディスク装置、例えば複数のハードディスクドライブ（ＨＤＤ：Hard Disk Drive）と、これらのＨＤＤと接続されたアレイコントローラとを備えている。アレイコントローラは、一般に知られる例えばＲＡＩＤ（Redundant Arrays of Inexpensive DisksまたはRedundant Arrays of Independent Disks）の手法により複数のＨＤＤを管理する。つまり、アレイコントローラは、ホスト装置（ホスト計算機）からのデータ読み出し／書き込み要求に対し、接続された複数のＨＤＤを並列に動かしてデータの読み出し／書き込みを分散して実行することでアクセスの高速化を図ると共に、冗長構成によって信頼性の向上を図っている。
【０００３】
ディスクアレイ装置は、上記した複数のＨＤＤ（または１つ以上のＨＤＤ）の記憶領域が連続した１つの領域として定義されるアレイ（ディスクアレイ）を含む。また、ディスクアレイ装置は、ホスト装置から認識される論理ディスク（論理ボリューム）を有する。論理ディスクは、その領域（論理アドレス空間）にアレイ内の記憶領域（物理領域）が割り当てられることにより構成される。
【０００４】
このようなディスクアレイ装置では、ホスト装置がアクセスを行う論理ディスクと、その論理ディスクを構成する物理領域を提供するアレイとの対応関係は固定的である。したがって、システムによっては、実際に論理ディスクとして使用されていない領域の割合が高くなり、無駄が大きい場合がある。
【０００５】
そこで、例えばディスクアレイ装置に含まれるアレイの全領域（物理領域）をエクステント（物理エクステント）という一定サイズに区分して管理し、論理ディスクへのライトアクセスが発生した場合に当該ライトアクセスの対象となる領域に割り当てる物理エクステントを実際に確保するという仮想論理ディスク方式が提案されている。
【０００６】
つまり、ディスクアレイ装置では、当該ディスクアレイ装置に含まれるアレイの全領域が分割された全物理エクステントのうちの１つ以上の物理エクステントを組み合わせることによって、ホスト装置から認識される論理ディスクが構成される。
【０００７】
このようなディスクアレイ装置は、ホスト装置からアクセス（認識）される論理ディスクと当該論理ディスクの領域に割り当てられる物理エクステントとの対応関係を管理し、論理ディスクの構築後にホスト装置から書込み要求を受信する都度、当該論理ディスク上の対応する領域に割り当てる物理エクステントを確保するという仮想論理ボリューム機能を備える。
【０００８】
また、一旦物理エクステントを確保した後、不使用となった領域をディスクアレイ装置自身が検出することによって、当該確保された物理エクステントを再度解放し、記憶容量を効率よく使う仕組みが提案されている
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第４３３１２２０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、エクステントは、当該エクステントのサイズが小さい程、きめ細かく記憶容量の割り当て管理や解放が行える。このため、一般にエクステントのサイズは小さくなり、記憶容量の利用効率は良くなる傾向にある。一方、エクステントのサイズが小さくなると、割り当てが管理されるエクステントの数が増加し、割り当て管理に必要な管理情報が増大する。また、アクセスの都度、例えば論理エクステントから物理エクステントへ変換する必要がある。この変換のためには、管理情報内で該当の管理エントリをアクセスの都度検索する必要がある。このため、アクセス性能としては悪化する傾向にある。
【００１１】
一方、論理ディスク上のデータ配置については、ホスト装置で動作するオペレーティングシステムが使用するファイルシステムやアプリケーションプログラム（以下、アプリケーションと略称する）によって性質が異なる。このデータ配置の性質については、アプリケーションを動作させて初めて明らかになる場合も多い。このため、論理ディスクが作成されるシステム構築段階でディスクアレイ装置へ適切なサイズを設定することは一般に困難である。
【００１２】
本発明が解決しようとする課題は、ホスト装置による論理ディスクへのデータ配置の状況に合わせて、より適切なエクステント管理を行うことができる、ディスクアレイ装置を備えたストレージシステム、ディスクアレイ装置及びエクステントサイズ変更方法を提供することにある。
【課題を解決するための手段】
【００１３】
実施形態によれば、ストレージ装置は、ディスクアレイ装置と、前記ディスクアレイ装置を利用するホスト装置とを具備する。前記ディスクアレイ装置は、少なくとも１つのアレイへのアクセスを制御するアレイコントローラであって、前記少なくとも１つのアレイが有する物理領域を複数の物理エクステントに区分して管理し、前記複数の物理エクステントのうちの１つ以上を論理ディスクの論理エクステントに割り当てるアレイコントローラを備える。前記ホスト装置は、前記論理ディスク上の前記ホスト装置によって使用されている連続する第１の領域の第１のサイズと前記論理ディスク上の前記ホスト装置によって使用されていない連続する第２の領域の第２のサイズとを検出して、検出された第１のサイズ及び第２のサイズに基づいて、前記ホスト装置の前記論理ディスクを使用する状況に適合するエクステントサイズを検出し、検出されたエクステントサイズを前記アレイコントローラに通知するデータ配置解析手段を備えている。前記アレイコントローラは、前記論理ディスクの論理エクステント及び前記論理エクステントに割り当てられる物理エクステントのエクステントサイズを、現在のエクステントサイズから前記通知されたエクステントサイズに変更するエクステントサイズ変更手段を備えている。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係るディスクアレイ装置を備えたストレージシステムの構成を示すブロック図。
【図２】論理ディスク上の使用連続領域及び不使用連続領域の例を示す図。
【図３】連続領域サイズの度数分布の例を示す図。
【図４】連続領域サイズの度数の順位付けの結果の一覧を示す図。
【図５】エクステントサイズ変更前における、論理ディスクの論理エクステントに対する物理エクステントの割り当ての状況の例を示す図。
【図６】エクステントサイズ変更前における、エクステント管理テーブルＴ１の例を示す図。
【図７】エクステントサイズ変更前における、エクステント管理テーブルＴ１０の例を示す図。
【図８】エクステントサイズ変更前における、エクステント管理テーブルＴ１１の例を示す図。
【図９】エクステントサイズ変更前における、エクステント管理テーブルＴ１２の例を示す図。
【図１０】エクステントサイズ変更前における、エクステントコピー管理テーブルの例を示す図。
【図１１】エクステントサイズ変更実行中における、論理ディスクの論理エクステントに対する物理エクステントの割り当ての状況の例を示す図。
【図１２】エクステントサイズ変更実行中における、エクステント管理テーブルＴ１の例を示す図。
【図１３】エクステントサイズ変更実行中における、エクステント管理テーブルＴ１０の例を示す図。
【図１４】エクステントサイズ変更実行中における、エクステント管理テーブルＴ１１の例を示す図。
【図１５】エクステントサイズ変更実行中における、エクステント管理テーブルＴ１２の例を示す図。
【図１６】エクステントサイズ変更実行中における、エクステント管理テーブルＴ２０の例を示す図。
【図１７】エクステントサイズ変更完了状態における、論理ディスクの論理エクステントに対する物理エクステントの割り当ての状況の例を示す図。
【図１８】エクステントサイズ変更完了状態における、エクステント管理テーブルＴ１の例を示す図。
【図１９】エクステントサイズ変更完了状態における、エクステント管理テーブルＴ１０の例を示す図。
【図２０】エクステントサイズ変更完了状態における、エクステント管理テーブルＴ１１の例を示す図。
【図２１】エクステントサイズ変更完了状態における、エクステント管理テーブルＴ１２の例を示す図。
【図２２】エクステントサイズ変更完了状態における、エクステント管理テーブルＴ２０の例を示す図。
【図２３】第２の実施形態おいて、変更前のエクステントサイズの物理エクステントの一部のデータを変更後のエクステントサイズの物理エクステントにコピーしている状況の例を示す図。
【図２４】第２の実施形態おいて、変更前のエクステントサイズの物理エクステントの一部のデータの、変更後のエクステントサイズの物理エクステントへのコピーが完了した際に、変更後のエクステントサイズの物理エクステントの割り当てが解消される例を示す図。
【図２５】第２の実施形態おけるエクステントサイズ変更完了状態のエクステント管理テーブルＴ１の例を示す図。
【図２６】第２の実施形態おけるエクステントサイズ変更完了状態のエクステント管理テーブルＴ１２の例を示す図。
【発明を実施するための形態】
【００１５】
以下、実施の形態につき図面を参照して説明する。  
［第１の実施形態］
図１は第１の実施形態に係るディスクアレイ装置を備えたストレージシステムの構成を示すブロック図である。
【００１６】
図１に示すストレージシステムは、ディスクアレイ装置１及びホスト装置２から構成される。ディスクアレイ装置１及びホスト装置２は、例えばネットワークを介して接続されている。ホスト装置２は、ディスクアレイ装置１を例えば自身の外部記憶装置として利用する。ホスト装置２は、後述するホストインタフェースＩＦ１を介してディスクアレイ装置１との間のデータ転送を含むデータ通信を行う。つまりホスト装置２は、ディスクアレイ装置１（より詳細には、ディスクアレイ装置１に構築される論理ディスク）に対してリードアクセスやライトアクセスを行う。
【００１７】
ホスト装置２は、データ配置解析部２０１を備えている。データ配置解析部２０１は、ホスト装置２によって使用されている論理ディスク上の連続する第１の領域（以下、使用連続領域と称する）の第１のサイズ（以下、使用連続領域サイズと称する）を検出する。データ配置解析部２０１はまた、ホスト装置２によって使用されていない論理ディスク上の連続する第２の領域（以下、不使用連続領域と称する）の第２のサイズ（以下、不使用連続領域サイズと称する）を検出する。データ配置解析部２０１は更に、検出された使用連続領域サイズ及び不使用連続領域サイズの度数分布に基づき、現在のシステム運用状況に適合するエクステントサイズを検出する。ここではデータ配置解析部２０１は、上記度数分布において度数が高い上位の一定順位までのサイズについて最大公約数を算出し、当該最大公約数を基準として適切なエクステントサイズを検出する。
【００１８】
図２は、論理ディスク上の使用連続領域及び不使用連続領域の例を示す。図２に示すように、論理ディスク上には、ｎ個の使用連続領域ＵＣＡ0，ＵＣＡ1，…，ＵＣＡｋ，…，ＵＣＡn-1と、ｍ個の不使用連続領域ＵＵＣＡ0，ＵＵＣＡ1，…，ＵＵＣＡｋ，…，ＵＵＣＡm-1とが存在する。図２の例では。ｍ＝ｎ＋１である。この場合、データ配置解析部２０１は、使用連続領域ＵＣＡ0，ＵＣＡ1，…，ＵＣＡｋ，…，ＵＣＡn-1のサイズ（使用連続領域サイズ）Ｓ［０］，Ｓ［１］，…，Ｓ［ｋ］，…，Ｓ［ｎ−１］と、不使用連続領域ＵＵＣＡ0，ＵＵＣＡ1，…，ＵＵＣＡｋ，…，ＵＵＣＡm-1のサイズ（不使用連続領域サイズ）Ｇ［０］，Ｇ［１］，…，Ｇ［ｋ］，…，Ｇ［ｍ−１］とを検出する。
【００１９】
再び図１を参照すると、ディスクアレイ装置１は、アレイコントローラ１０及びアレイ部２０から構成される。アレイ部２０は、１つ以上のディスク装置（ストレージデバイス）、例えばｐ個の磁気ディスクドライブ（ＨＤＤ）２１-1（＃１）〜２１-p（＃p）を備えている。ＨＤＤ２１-1〜２１-pの一部または全部は、１つ以上のアレイ、例えば複数のアレイを構成するのに用いられる。複数のアレイの各々は、ＨＤＤ２１-1〜２１-pのうちの１つ以上のＨＤＤの記憶領域の一部または全部が連続した１つの領域として定義される。本実施形態では、ＨＤＤ２１-1〜２１-pのうちのそれぞれ異なるＨＤＤの集合により、アレイ２１０-0，２１０-1及び２１０-2を含むアレイの群が構成されているものとする。本実施形態において、アレイ２１０-0，２１０-1及び２１０-2は、それぞれ、グループ番号（ＧＲＯＵＰｎｏ）０,１及び２で識別される。また、アレイ２１０-0及び２１０-1の全領域はサイズが２ＭＢの物理エクステントに区分して管理され、アレイ２１０-2の全領域はサイズが３２ＫＢの物理エクステントに区分して管理されるものとする。
【００２０】
アレイコントローラ１０は、上述のアレイ群へのアクセス（より詳細には、アレイ群を構成するＨＤＤ２１-1〜２１-pへのアクセス）を制御すると共に、ホスト装置２との間のデータ送受信を行う。アレイコントローラ１０は、ホストインタフェースＩＦ１、ディスクインタフェースＩＦ２及び主制御部１００から構成される。
【００２１】
ホストインタフェースＩＦ１は、ホスト装置２との間の、データ入出力処理を含むインタフェース処理を担当する。ディスクインタフェースＩＦ２は、ＨＤＤ２１-1〜２１-pとの間の、データ入出力処理を含むインタフェース処理を担当する。主制御部１００は、アレイコントローラ１０の中枢をなし、例えばＲＡＩＤの手法によりＨＤＤ２１-1〜２１-pを管理する。より詳細に述べるならば、主制御部１００は、ホスト装置２からのリード／ライト要求に応じて、ＨＤＤ２１-1〜２１-pの一部または全部を並列に動かしてデータの読み出し／書き込みを分散して実行する。
【００２２】
主制御部１００は、アレイ構成部１０１、論理ディスク構成部１０２、管理テーブル記憶部１０３、物理エクステント確保部１０４、データコピー部１０５、エクステントサイズ変更部１０６及び論理ディスク再構成部１０７を備えている。
【００２３】
アレイ構成部１０１は、ＨＤＤ２１-1〜２１-pのうちの１つ以上のＨＤＤの記憶領域の一部または全部が連続した１つの領域として定義され、複数の物理エクステントから構成される１つ以上のアレイを構築する。ここでは、前述したようにアレイ２１０-0，２１０-1及び２１０-2を含む複数のアレイが構築されている。複数のアレイは、例えばＲＡＩＤ構成のアレイであるものとする。
【００２４】
論理ディスク構成部１０２は、例えば、ホスト装置２からの指示に応じて、１つ以上の論理エクステントから構成される１つ以上の論理ディスクを構築する。本実施形態では、複数の論理エクステントから構成される複数の論理ディスクが構築されるものとする。複数の論理ディスクは、論理ディスク番号（ＬＤＩＳＫｎｏ）がそれぞれ０及び１の２つの論理ディスクを含む。管理テーブル記憶部１０３は、各種の管理テーブルを記憶するのに用いられる。管理テーブル記憶部１０３に格納される管理テーブルの具体例については後述する。
【００２５】
論理エクステント確保部１０４は、論理ディスクへのライトアクセスが発生した場合に当該ライトアクセスの対象となる論理エクステントに割り当てる物理エクステントを、アレイ２１０-0〜２１０-2のいずれかから確保する。
【００２６】
データコピー部１０５は、物理エクステントのサイズ（物理エクステントサイズ）の変更に伴って必要となった、変更前の物理エクステントサイズの物理エクステントから変更後の物理エクステントサイズの物理エクステントへのデータコピーを行う。エクステントサイズ変更部１０６は、データ配置解析部２０１による解析結果に基づいて物理エクステントサイズを変更する。より詳細には、エクステントサイズ変更部１０６は、物理エクステントサイズをデータ配置解析部２０１から通知されたサイズに変更する。論理ディスク再構成部１０７は、例えばホスト装置２からの指示に応じて論理ディスクを再構成する。
【００２７】
次に、図１に示すストレージシステムの動作について説明する。なお、本実施形態において、ディスクアレイ装置１での初期状態でのエクステントサイズが２ＭＢであり、管理可能なエクステントサイズが、２ＭＢ、１ＭＢ、５１２ＫＢ、２５６ＫＢ、１２８ＫＢ、６４ＫＢ、３２ＫＢ、１６ＫＢ、８ＫＢ及び４ＫＢのいずれかであるとする。つまり、本実施形態において、ディスクアレイ装置１での初期状態でのエクステントサイズは、管理可能なエクステントサイズの最大値に設定される。また本実施形態では、アレイ部２０は、アレイ２１０-0〜２１０-2に加えて、物理エクステントサイズがそれぞれ１ＭＢ、５１２ＫＢ、２５６ＫＢ、１２８ＫＢ、６４ＫＢ、１６ＫＢ、８ＫＢ及び４ＫＢのアレイを含んでいる。
【００２８】
ホスト装置２内のデータ配置解析部２０１は、ストレージシステムの運用開始後に、随時、または定期的に、またはユーザからの指示により、ホスト装置２によって利用される論理ディスクを対象に、使用連続領域と不使用連続領域とをそれぞれ検出する。この検出は、例えば、ホスト装置２で動作するオペレーティングシステムが使用するファイルシステムに基づいて行われる。
【００２９】
データ配置解析部２０１は、使用連続領域を検出した際に、検出された使用連続領域のサイズを使用連続領域サイズとして検出する。また、データ配置解析部２０１は、不使用連続領域を検出した際に、検出された不使用連続領域のサイズを不使用連続領域サイズとして検出する。
【００３０】
図２に示す論理ディスクの場合、データ配置解析部２０１は、ｎ個の使用連続領域ＵＣＡ0，ＵＣＡ1，…，ＵＣＡｋ，…，ＵＣＡn-1を検出することにより、対応する使用連続領域サイズＳ［０］，Ｓ［１］，…，Ｓ［ｋ］，…，Ｓ［ｎ−１］を検出する。またデータ配置解析部２０１は、ｍ個の不使用連続領域ＵＵＣＡ0，ＵＵＣＡ1，…，ＵＵＣＡｋ，…，ＵＵＣＡm-1を検出することにより、対応する不使用連続領域サイズＧ［０］，Ｇ［１］，…，Ｇ［ｋ］，…，Ｇ［ｍ−１］を検出する。
【００３１】
データ配置解析部２０１は、検出された使用連続領域サイズＳ［０］，Ｓ［１］，…，Ｓ［ｋ］，…，Ｓ［ｎ−１］及び不使用連続領域サイズＧ［０］，Ｇ［１］，…，Ｇ［ｋ］，…，Ｇ［ｍ−１］に基づき、連続領域サイズに関する度数分布を計算する。即ちデータ配置解析部２０１は、使用連続領域サイズまたは不使用連続領域サイズを検出すると、当該検出されたサイズに一致するサイズＸの度数（つまり出現数）が度数分布に存在するかを判定する。もし、サイズＸの度数が存在するならば、データ配置解析部２０１は、当該サイズＸの度数を１インクリメントする。これに対し、サイズＸの度数が存在しないならば、データ配置解析部２０１は、サイズＸについての値が１の度数を度数分布に追加する。
【００３２】
データ配置解析部２０１は以上の度数分布の計算を、検出された全ての使用連続領域サイズ及び不使用連続領域サイズについて繰り返す。これにより、例えば図３に示すような連続領域サイズの度数分布が取得されたものとする。この連続領域サイズの度数分布は、ホスト装置２で動作するオペレーティングシステムが使用するファイルシステムやアプリケーションプログラムの稼動状態を反映している。
【００３３】
データ配置解析部２０１は、取得された連続領域サイズの度数分布に基づき、例えば度数が最も高い連続領域サイズから度数順に順位付けする。データ配置解析部２０１は、度数の順位付け結果に基づき、度数が第１位から予め定められた順位（つまり度数が高い上位の一定順位）までの連続領域サイズを検出する。ここでは、第３位までの度数の連続領域サイズが検出されるものとすると、図３の例では、第１位から順に、１ＭＢ（＝１０２４ＫＢ）、３２ＫＢ及び６４ＫＢが検出される。図４は、連続領域サイズの度数の順位付けの結果の一覧を示す。
【００３４】
データ配置解析部２０１は、検出された１ＭＢ、３２ＫＢ及び６４ＫＢの最大公約数Ｇ．Ｃ．Ｍ．｛１ＭＢ，３２ＫＢ，６４ＫＢ｝＝３２ＫＢを算出する。データ配置解析部２０１は、算出された最大公約数Ｇ．Ｃ．Ｍ．を基準に、ホスト装置２で現在動作しているファイルシステムやアプリケーション（つまり現在のシステム運用状況）に適合する、適切なエクステントサイズを検出する。ここでは、計算された最大公約数Ｇ．Ｃ．Ｍ．、つまり３２ＫＢが、適切なエクステントサイズとして検出される。
【００３５】
もし、検出されたエクステントサイズを物理エクステントサイズとして適用するならば、度数（出現回数）が第１位から第３位までのサイズの連続領域に、物理エクステントを過不足なく割り当てることが可能となる。なお、最大公約数Ｇ．Ｃ．Ｍ．の整数倍のサイズであって、当該最大公約数Ｇ．Ｃ．Ｍ．の計算に用いられたエクステントサイズのうちの最大値（１ＭＢ）を超えない範囲のサイズを、適切なエクステントサイズとしても構わない。  
データ配置解析部２０１は、検出されたエクステントサイズ「３２ＫＢ」をディスクアレイ装置１のアレイコントローラ１０に対して通知する。
【００３６】
アレイコントローラ１０のエクステントサイズ変更部１０６は、データ配置解析部２０１からアレイコントローラ１０にエクステントサイズが通知されると、エクステントサイズを２ＭＢから３２ＫＢに変更するためのエクステントサイズ変更処理を、物理エクステント確保部１０４及びデータコピー部１０５と協働して実行する。
【００３７】
図５は、エクステントサイズ変更前における、論理ディスク番号が０（ＬＤＩＳＫｎｏ＝０）の論理ディスクの論理エクステントに対する物理エクステントの割り当ての状況の例を示す。図５の例では、論理ディスクの領域はエクステントサイズが２ＭＢの複数の論理エクステントに分割されている。各論理エクステントには、当該論理エクステントと同一エクステントサイズ（つまり２ＭＢ）の物理エクステントが割り当てられる。
【００３８】
例えば、ＬＤＩＳＫｎｏ＝０の論理ディスクの論理エクステント番号（ＬＥｎｏ）が偶数の論理エクステントＬＥ０［２ｎ］2MBに、グループ番号が０（ＧＲＯＵＰｎｏ＝０）のアレイ２１０-0内の物理エクステントＰＥ０「ｘ」2MBが割り当てられる。一方、ＬＤＩＳＫｎｏ＝０の論理ディスクの論理エクステント番号（ＬＥｎｏ）が奇数の論理エクステントＬＥ０［２ｎ＋１］2MBに、グループ番号が１（ＧＲＯＵＰｎｏ＝１）のアレイ２１０-1内の物理エクステントＰＥ１［ｙ］2MBが割り当てられる。
【００３９】
図５には、ＬＥｎｏ＝０の論理エクステントＬＥ０［０］2MBに、アレイ２１０-0内のＰＥｎｏ＝０の物理エクステントＰＥ０［０］2MBが割り当てられ、ＬＥｎｏ＝１の論理エクステントＬＥ０［１］2MBに、アレイ２１０-1内のＰＥｎｏ＝０の物理エクステントＰＥ１［０］2MBが割り当てられている様子が示されている。
【００４０】
図６は、エクステントサイズ変更前における、論理ディスクのためのエクステント管理テーブルＴ１の例を示す。エクステント管理テーブルＴ１は、管理テーブル記憶部１０３に格納される。エクステント管理テーブルＴ１の各エントリは、論理ディスク番号（ＬＤＩＳＫｎｏ）フィールドと、論理エクステント番号（ＬＥｎｏ）フィールドと、グループ番号（ＧＲＯＵＰｎｏ）フィールドと、物理エクステント番号（ＰＥｎｏ）フィールドと、エクステントサイズ（Ｅｓｉｚｅ）フィールドとを備えている。
【００４１】
論理ディスク番号フィールドは、対応する論理ディスクの論理ディスク番号（ＬＤＩＳＫｎｏ）を保持するのに用いられる。論理エクステント番号フィールドは、対応する論理ディスクの論理エクステントの論理エクステント番号（ＬＥｎｏ）を保持するのに用いられる。グループ番号（ＧＲＯＵＰｎｏ）フィールドは、対応する論理エクステントに割り当てられる物理エクステントが属するアレイのグループ番号（ＧＲＯＵＰｎｏ）を保持するのに用いられる。物理エクステント番号フィールドは、対応する論理エクステントに割り当てられる物理エクステントの物理エクステント番号（ＰＥｎｏ）を保持するのに用いられる。
【００４２】
図７は、エクステントサイズ変更前における、ＧＲＯＵＰｎｏ＝０のアレイ２１０-0のためのエクステント管理テーブルＴ１０の例を示す。図８は、エクステントサイズ変更前における、ＧＲＯＵＰｎｏ＝１のアレイ２１０-1のためのエクステント管理テーブルＴ１１の例を示す。図９は、エクステントサイズ変更前における、ＧＲＯＵＰｎｏ＝２のアレイ２１０-2のためのエクステント管理テーブルＴ１２の例を示す。エクステント管理テーブルＴ１０，Ｔ１１及びＴ１２は、管理テーブル記憶部１０３に格納される。
【００４３】
エクステント管理テーブルＴ１０，Ｔ１１及びＴ１２の各エントリは、エクステント管理テーブルＴ１と同様の、論理ディスク番号フィールド、グループ番号フィールド、論理エクステント番号フィールド、物理エクステント番号フィールド及びエクステントサイズフィールドを備えている。エクステント管理テーブルＴ１０，Ｔ１１及びＴ１２の各エントリは更に、第１のコピー管理フィールド（ＣＯＰＹｄｏｎｅ）及び第２のコピー管理フィールド（ＣＯＰＹｅｎｔｒｙｎｏ）を備えている。
【００４４】
第１のコピー管理フィールドは、コピー完了フラグ（ＣＯＰＹｄｏｎｅ）を保持するのに用いられる。コピー完了フラグ（ＣＯＰＹｄｏｎｅ）は、対応するエントリの物理エクステント番号フィールドで示される物理エクステントへのデータコピーまたは当該物理エクステントからのデータコピーが完了している（ＣＯＰＹｄｏｎｅ＝１）か否（ＣＯＰＹｄｏｎｅ＝０）かを示す。第２のコピー管理フィールドは、対応するエントリの物理エクステント番号フィールドで示される物理エクステントがコピー元またはコピー先として登録される、エクステントコピー管理テーブルＴ２０のエントリのエントリ番号（ＣＯＰＹｅｎｔｒｙｎｏ）を保持するのに用いられる。
【００４５】
図１０は、エクステントサイズ変更前における、エクステントコピー管理テーブルＴ２０の例を示す。エクステントコピー管理テーブルＴ２０は、管理テーブル記憶部１０３に格納される。エクステントコピー管理テーブルＴ２０の各エントリは、コピーエントリ番号（ＣＯＰＹｅｙｔｒｙｎｏ）フィールド、コピー元グループ番号（ＧＲＯＵＰｎｏ_ｏｒｉｇｉｎ）フィールドと、コピー元物理エクステント番号（ＰＥｎｏ_ｏｒｉｇｉｎ）フィールドと、コピー元エクステントサイズ（Ｅｓｉｚｅ_ｏｒｉｇｉｎ）フィールドと、コピー先エクステントサイズ（Ｅｓｉｚｅ_ｄｅｓｔ）フィールドと、コピー先グループ番号（ＧＲＯＵＰｎｏ_ｄｅｓｔ）フィールドと、コピー先物理エクステント番号（ＰＥｎｏ_ｄｅｓｔ）フィールドとを備えている。
【００４６】
コピーエントリ番号フィールドは、対応するエントリに有効なエントリ情報が登録される際に、当該対応するエントリのエントリ番号をコピーエントリ番号として保持するのに用いられる。コピー元グループ番号フィールドはコピー元の物理エクステントが属するアレイのグループ番号をコピー元グループ番号として保持するのに用いられる。コピー元物理エクステント番号フィールドは、コピー元の物理エクステントの物理エクステント番号をコピー元物理エクステント番号として保持するのに用いられる。コピー元エクステントサイズフィールドは、コピー元の物理エクステントのエクステントサイズをコピー元エクステントサイズとして保持するのに用いられる。
【００４７】
コピー先エクステントサイズフィールドは、コピー先の物理エクステントのエクステントサイズをコピー先エクステントサイズとして保持するのに用いられる。コピー先グループ番号フィールドはコピー先の物理エクステントが属するアレイのグループ番号をコピー先グループ番号として保持するのに用いられる。コピー先物理エクステント番号フィールドは、コピー先の物理エクステントの物理エクステント番号をコピー先物理エクステント番号として保持するのに用いられる。
【００４８】
本実施形態では、エクステントサイズは、縮小される方向に変更される。この場合、コピー元の物理エクステントからのデータのコピーは、複数のコピー先物理エクステントに対して行われる。このため、エクステントコピー管理テーブルＴ２０の各エントリは、複数のコピー先グループ番号フィールド及び複数のコピー先物理エクステント番号フィールドを備えている。
【００４９】
さて、エクステントサイズ変更部１０６はエクステントサイズ変更処理において、エクステントサイズの２ＭＢから３２ＫＢへの変更に伴って必要となるデータコピーをデータコピー部１０５に指示する。これにより、例えばＬＤＩＳＫｎｏ＝０の論理ディスクへのアクセスのために既に確保されているエクステントサイズが２ＭＢの物理エクステント群から、新たに確保されるエクステントサイズが３２ＫＢの物理エクステント群へのデータのコピーが行われるものとする。
【００５０】
図１１は、エクステントサイズ変更実行中における、ＬＤＩＳＫｎｏ＝０の論理ディスクの論理エクステントに対する物理エクステントの割り当ての状況の一例を示す。図１１の例では、２ＭＢの論理エクステントＬＥ０［０］2MBに、２ＭＢの物理エクステントＰＥ０［０］2MBに代えて、グループ番号が２（ＧＲＯＵＰｎｏ＝２）のアレイ２１０-2に存在する６４個の３２ＫＢの物理エクステントＰＥ２［０］32KB，ＰＥ２［１］32KB，ＰＥ２［２］32KB，…，ＰＥ２［６３］32KBが割り当てられる。本実施形態において、物理エクステントＰＥ２［０］32KB，ＰＥ２［１］32KB，ＰＥ２［２］32KB，…，ＰＥ２［６３］32KBの物理エクステント番号（ＰＥｎｏ）は、それぞれ、０，１，２，…，６３であるものとする。しかし、論理エクステントＬＥ０［０］2MB（より詳細には、論理エクステントＬＥ０［０］2MBが６４分割された論理エクステント）に割り当てられる６４個の３２ＫＢの物理エクステントが、アレイ２１０-2内で必ずしも連続している必要はない。
【００５１】
同様に、２ＭＢの論理エクステントＬＥ０［１］2MBに、２ＭＢの物理エクステントＰＥ１［０］2MBに代えて、アレイ２１０-2に存在する６４個の３２ＫＢの物理エクステントＰＥ２［６４］32KB，ＰＥ２［６５］32KB，ＰＥ２［６６］32KB，…，ＰＥ２［１２７］32KBが割り当てられる。本実施形態において、物理エクステントＰＥ２［６４］32KB，ＰＥ２［６５］32KB，ＰＥ２［６６］32KB，…，ＰＥ２［１２７］32KBの物理エクステント番号（ＰＥｎｏ）は、それぞれ、６４，６５，６６，…，１２７であるものとする。しかし、論理エクステントＬＥ０［１］2MB（より詳細には、論理エクステントＬＥ０［１］2MBが６４分割された論理エクステント）に割り当てられる６４個の３２ＫＢの物理エクステントが、アレイ２１０-2内で必ずしも連続している必要はない。
【００５２】
物理エクステントＰＥ２［０］32KB〜ＰＥ２［６３］32KB及びＰＥ２［６４］32KB〜ＰＥ２［１２７］32KBの物理エクステント群は、エクステントサイズ変更部１０６からの問い合わせに従って、物理エクステント確保部１０４によって確保される。より詳細には、ＬＤＩＳＫｎｏ＝０の論理ディスクの全ての論理エクステントにそれぞれ割り当てられている２ＭＢの物理エクステントからデータがコピーされるべき、ＧＲＯＵＰｎｏ＝２のアレイ２１０-2に存在する３２ＫＢの物理エクステント群が物理エクステント確保部１０４によって確保される。するとエクステントサイズ変更部１０６は、エクステントコピー管理テーブルＴ２０を図１６に示すように更新する。この図１６に示すエクステントコピー管理テーブルＴ２０については後述する。
【００５３】
エクステントサイズ変更部１０６は、図１６に示すエクステントコピー管理テーブルＴ２０に基づき、データコピー部１０５に対して、物理エクステントＰＥ０［０］2MBから物理エクステントＰＥ２［０］32KB〜ＰＥ２［６３］32KBへの３２ＫＢ単位のデータコピーを指示する。するとデータコピー部１０５は、２ＭＢの物理エクステントＰＥ０［０］2MBを３２ＫＢで６４分割（２ＭＢ／３２ＫＢ）し、分割された３２ＫＢ毎に、当該３２ＫＢのデータを対応する物理エクステントＰＥ２［ｉ］32KB（ｉ＝０，１，…，６３）にコピーする。
【００５４】
エクステントサイズ変更部１０６は、データコピー部１０５によるデータコピーの進行状況に応じて、エクステント管理テーブルＴ１０，Ｔ１１及びＴ１２を更新する。やがて物理エクステントＰＥ０［０］2MBから物理エクステントＰＥ２［０］32KB〜ＰＥ２［６３］32KBへのデータコピーが完了すると、エクステントサイズ変更部１０６はエクステントコピー管理テーブルＴ２０に基づいて、データコピー部１０５に対して、物理エクステントＰＥ１［０］2MBから物理エクステントＰＥ２［６４］32KB〜ＰＥ２［１２７］32KBへの３２ＫＢ単位のデータコピーを指示する。するとデータコピー部１０５は、２ＭＢの物理エクステントＰＥ１「０」2MBを３２ＫＢで６４分割し、分割された３２ＫＢ毎に、当該３２ＫＢのデータを対応する物理エクステントＰＥ２［ｊ］32KB（ｊ＝６４，６５，…，１２７）にコピーする。
【００５５】
図１１には、物理エクステントＰＥ２［０］32KB〜ＰＥ２［６３］32KB及びＰＥ２［６４］32KB〜ＰＥ２［６６］32KBへのデータコピーが完了している状態、つまり物理エクステントＰＥ２［６６］32KBまでデータコピーが完了している状態が示されている。
【００５６】
図１２、図１３、図１４及び図１５は、図１１に示すエクステントサイズ変更実行中の状態における、それぞれ、エクステント管理テーブルＴ１，Ｔ１０，Ｔ１１及びＴ１２の例を示す。図１６は、図１１に示すエクステントサイズ変更実行中の状態における、エクステントコピー管理テーブルＴ２０の例を示す。
【００５７】
図１２から明らかなように、エクステントサイズ変更実行中は、エクステント管理テーブルＴ１の内容は、図６に示すエクステントサイズ変更前から変化しない。これに対し、例えばエクステントコピー管理テーブルＴ２０は、上述したように、データがコピーされるべき３２ＫＢの物理エクステント群が確保された際に更新される。図１６は、このときのエクステントコピー管理テーブルＴ２０の状態を示す。この図１６に示すエクステントコピー管理テーブルＴ２０の状態は、エクステントサイズ変更実行が完了するまで維持される。
【００５８】
エクステント管理テーブルＴ２０では、図１６に示すように、先頭エントリに、コピーエントリ番号（ＣＯＰＹｅｙｔｒｙｎｏ）、コピー元グループ番号（ＧＲＯＵＰｎｏ_ｏｒｉｇｉｎ）、コピー元物理エクステント番号（ＰＥｎｏ_ｏｒｉｇｉｎ）、コピー元エクステントサイズ（Ｅｓｉｚｅ_ｏｒｉｇｉｎ）及びコピー先エクステントサイズ（Ｅｓｉｚｅ_ｄｅｓｔ）として、それぞれ、ＣＯＰＹｅｙｔｒｙｎｏ＝０、ＧＲＯＵＰｎｏ_ｏｒｉｇｉｎ＝０、ＰＥｎｏ_ｏｒｉｇｉｎ＝０、Ｅｓｉｚｅ_ｏｒｉｇｉｎ＝２ＭＢ及びＥｓｉｚｅ_ｄｅｓｔ＝３２ＫＢが設定されている。
【００５９】
また、エクステント管理テーブルＴ２０の先頭エントリには、６４個のコピー先物理エクステント番号、つまりＰＥｎｏ_ｄｅｓｔ＝０，ＰＥｎｏ_ｄｅｓｔ＝１，…，ＰＥｎｏ_ｄｅｓｔ＝６３が設定されている。エクステント管理テーブルＴ２０の先頭エントリには更に、ＰＥｎｏ_ｄｅｓｔ＝０，ＰＥｎｏ_ｄｅｓｔ＝１，…，ＰＥｎｏ_ｄｅｓｔ＝６３に対応付けて、いずれもアレイ２１０-2を示す同一のコピー先グループ番号（ＧＲＯＵＰｎｏ_ｄｅｓｔ＝２）が設定されている。
【００６０】
エクステントコピー管理テーブルＴ２０の先頭エントリは、ＧＲＯＵＰｎｏ_ｏｒｉｇｉｎ＝０及びＰＥｎｏ_ｏｒｉｇｉｎ＝０で示されるコピー元の物理エクステントを６４分割して、分割された３２ＫＢ毎に、当該３２ＫＢのデータを、ＧＲＯＵＰｎｏ_ｄｅｓｔ＝２及びＰＥｎｏ_ｄｅｓｔ＝ｉ（ｉ＝０，１，…，６３）で示されるコピー先の物理エクステントにコピーすることを示す。同様に、エクステントコピー管理テーブルＴ２０の２番目のエントリは、図１６から明らかなように、ＧＲＯＵＰｎｏ_ｏｒｉｇｉｎ＝０及びＰＥｎｏ_ｏｒｉｇｉｎ＝１で示されるコピー元の物理エクステントを６４分割して、分割された３２ＫＢ毎に、当該３２ＫＢのデータを、ＧＲＯＵＰｎｏ_ｄｅｓｔ＝２及びＰＥｎｏ_ｄｅｓｔ＝ｊ（ｊ＝６３，６４，６５，…）で示されるコピー先の物理エクステントにコピーすることを示す。
【００６１】
これに対し、エクステント管理テーブルＴ１１〜Ｔ１２は、エクステントサイズ変更（データコピー）の進行状況に応じて更新される。つまり、エクステント管理テーブルＴ１０〜Ｔ１２の内容は、エクステントサイズ変更処理の実行中変化する。
【００６２】
例えばエクステント管理テーブルＴ１０、つまりＧＲＯＵＰｎｏ＝０のアレイ２１０-0のためのエクステント管理テーブルＴ１０では、図１３に示すように、各エントリの第２のコピー管理フィールド（ＣＯＰＹｅｎｔｒｙｎｏ）に、コピーエントリ番号が設定されている。また、エクステント管理テーブルＴ１０の先頭エントリ、つまりＧＲＯＵＰｎｏ＝０及びＰＥｎｏ＝０で指定される２ＭＢの物理エクステントＰＥ０［０］（図１１参照）を管理するのに用いられるエントリの第１のコピー管理フィールド（ＣＯＰＹｄｏｎｅ）には、コピー完了を示すコピー完了フラグ（ＣＯＰＹｄｏｎｅ＝１）が設定されている。
【００６３】
次に、ＧＲＯＵＰｎｏ＝１のアレイ２１０-1のためのエクステント管理テーブルＴ１１においても、図１４に示すように、各エントリの第２のコピー管理フィールド（ＣＯＰＹｅｎｔｒｙｎｏ）に、コピーエントリ番号が設定されている。一方、エクステント管理テーブルＴ１１の各エントリの第１のコピー管理フィールド（ＣＯＰＹｄｏｎｅ）には、コピー未完了を示すコピー完了フラグ（ＣＯＰＹｄｏｎｅ＝０）が依然として設定されている。
【００６４】
次に、ＧＲＯＵＰｎｏ＝２のアレイ２１０-2のためのエクステント管理テーブルＴ１２においても、図１５に示すように、各エントリの第２のコピー管理フィールド（ＣＯＰＹｅｎｔｒｙｎｏ）に、コピーエントリ番号が設定されている。一方、エクステント管理テーブルＴ１２の第１乃至第６６エントリ、つまりＧＲＯＵＰｎｏ＝２のアレイ２１０-2内のＰＥｎｏ＝０乃至ＰＥｎｏ＝６６で示される３２ＫＢの物理エクステントＰＥ２［０］乃至ＰＥ２［６６］（図１１参照）を管理するための第１乃至第６６エントリの第１のコピー管理フィールド（ＣＯＰＹｄｏｎｅ）には、コピー完了を示すコピー完了フラグ（ＣＯＰＹｄｏｎｅ＝１）が設定されている。
【００６５】
上述の動作が繰り返された結果、エクステントサイズ変更処理が完了したものとする。つまり、ＬＤＩＳＫｎｏ＝０の論理ディスクの全ての論理エクステントにそれぞれ割り当てられていた２ＭＢの物理エクステントから、ＧＲＯＵＰｎｏ＝２のアレイ２１０-2に存在する３２ＫＢの物理エクステント群へのデータコピーが完了したものとする。するとエクステントサイズ変更部１０６は、エクステント管理テーブルＴ１２に基づいてエクステント管理テーブルＴ１を更新することにより、ＬＤＩＳＫｎｏ＝０の論理ディスクを、２ＭＢの論理エクステント群から構成され論理ディスクから、３２ＫＢの論理エクステント群から構成される論理ディスクに再構成する。このときエクステントサイズ変更部１０６は、３２ＫＢの論理エクステント群のそれぞれに、ＧＲＯＵＰｎｏ＝２のアレイ２１０-2内の３２ＫＢの物理エクステントを割り当てる。
【００６６】
このように本実施形態では、エクステントサイズ変更部１０６が、物理エクステントサイズの変更に伴う論理ディスクの再構成を行う。しかし、このような論理ディスクの再構成を論理ディスク再構成部１０７が行っても構わない。
【００６７】
図１７は、エクステントサイズ変更完了状態における、ＬＤＩＳＫｎｏ＝０の論理ディスクの論理エクステントに対する物理エクステントの割り当ての状況の一例を示す。図１７の例では、図１１に示す２ＭＢの論理エクステントＬＥ０［０］2MB及びＬＥ０［１］2MBにそれぞれ対応する３２ＫＢの論理エクステントＬＥ０［０］32KB〜ＬＥ［６３］32KB及びＬＥ０［６４］32KB〜ＬＥ［１２７］32KBに、ＧＲＯＵＰｎｏ＝２のアレイ２１０-2内の３２ＫＢの物理エクステントＰＥ０［０］32KB〜ＰＥ［６３］32KB及びＰＥ０［６４］32KB〜ＰＥ［１２７］32KBが割り当てられている。
【００６８】
図１８、図１９、図２０及び図２１は、図１７に示すエクステントサイズ変更完了状態における、それぞれ、エクステント管理テーブルＴ１，Ｔ１０，Ｔ１１及びＴ１２の例を示す。図２２は、図１７に示すエクステントサイズ変更完了状態における、エクステントコピー管理テーブルＴ２０の例を示す。
【００６９】
上述したように第１の実施形態において、ホスト装置２のデータ配置解析部２０１は、ストレージシステムの運用開始後に、ホスト装置２によって利用される論理ディスクを対象に、使用連続領域のサイズと不使用連続領域のサイズとをそれぞれ検出する。そしてデータ配置解析部２０１は、この使用連続領域のサイズ及び不使用連続領域のサイズの検出結果に基づいて、ストレージシステムの現在の運用状況に適合するエクステントサイズを検出する。より詳細には、データ配置解析部２０１は、検出された使用連続領域サイズ及び不使用連続領域サイズの度数分布に基づき、度数が高い上位の一定順位までのサイズについて最大公約数を算出し、当該最大公約数を基準として適切なエクステントサイズを検出する。データ配置解析部２０１は、検出されたエクステントサイズをディスクアレイ装置１のアレイコントローラ１０に通知する。
【００７０】
これを受けてアレイコントローラ１０のエクステントサイズ変更部１０６は、論理ディスクの論理エクステント及び当該論理エクステントに割り当てられる物理エクステントのエクステントサイズを、通知されたエクステントサイズに変更する。これによりアレイコントローラ１０は、ストレージシステムの運用状況、つまりホスト装置２で動作するオペレーティングシステムが使用するファイルシステムやアプリケーションの稼動に伴う論理ディスク上へのデータ配置の状況に合わせて、より適切なエクステントサイズでのエクステント管理（ディスクアレイ装置１の運用）を行うことができる。
【００７１】
［第２の実施形態］
次に、第２の実施形態について説明する。  
第２の実施形態の第１の特徴は、エクステントサイズ変更処理におけるデータコピーで、コピー先物理エクステントにコピーされるべきデータ全体が所定のデータパターン、例えばオールゼロであるかをデータコピー部１０５がチェックする点にある。第２の実施形態の第２の特徴は、コピー先物理エクステントにコピーされるべきデータがオールゼロの場合、対応する論理エクステントへの当該コピー先物理エクステントの割り当てをエクステントサイズ変更部１０６が解消する点にある。
【００７２】
第２の実施形態におけるストレージシステムの基本構成は、第１の実施形態のそれと同様である。したがって、第２の実施形態においても、図１を援用する。但し、第２の実施形態では、データコピー部１０５及びエクステントサイズ変更部１０６の機能が、上述のように、第１の実施形態におけるデータコピー部１０５及びエクステントサイズ変更部１０６の機能と異なる。
【００７３】
今、第１の実施形態と同様に、エクステントサイズ変更部１０６が、エクステントサイズを２ＭＢから３２ＫＢに変更するためのエクステントサイズ変更処理を、物理エクステント確保部１０４及びデータコピー部１０５と協働して実行するものとする。また、エクステントサイズ変更処理の中で、エクステントサイズ変更部１０６が図１６に示すエクステントコピー管理テーブルＴ２０に基づき、データコピー部１０５に対して、ＧＲＯＵＰｎｏ＝０のアレイ２１０-1に存在する２ＭＢの物理エクステントＰＥ０［０］2MBから、ＧＲＯＵＰｎｏ＝２のアレイ２１０-2に存在する、新たに確保された３２ＫＢの物理エクステントＰＥ２［０］32KB〜ＰＥ２［６３］32KBへの３２ＫＢ単位のデータコピーを指示したものとする。
【００７４】
するとデータコピー部１０５は、２ＭＢの物理エクステントＰＥ０［０］2MBを３２ＫＢで６４分割（２ＭＢ／３２ＫＢ）し、分割された３２ＫＢ毎に、当該３２ＫＢのデータを対応する物理エクステントＰＥ２［ｉ］32KB（ｉ＝０，１，…，６３）にコピーする。ここで、物理エクステントＰＥ０［０］2MBの６４の分割された３２ＫＢのデータのうち、当該物理エクステントＰＥ０［０］2MBの先頭からｉ番目（ｉ＝０，１，…，６３）の３２ＫＢのデータを、第ｉデータと呼ぶ。データコピー部１０５は、物理エクステントＰＥ０［０］2MBの第ｉデータを物理エクステントＰＥ２［ｉ］32KBにコピーする際、当該第ｉデータがオールゼロであるかをチェックする。このチェックをゼロデータチェックと呼ぶ。
【００７５】
図２３は、物理エクステントＰＥ０［０］2MBの第２データを物理エクステントＰＥ２［２］32KBにコピーしている状況の例を示す。図２３に示す状況では、物理エクステントＰＥ０［０］2MBの第０データ及び第１データの、それぞれ物理エクステントＰＥ２［０］32KB及びＰＥ２［１］32KBへのコピーは完了している。
【００７６】
また図２３に示す状態では、データコピー部１０５は、物理エクステントＰＥ０［０］2MBの第２データの先頭から所定バイト（例えば１セクタのサイズ）ずつオールゼロであるかをチェックしながら、矢印２３１で示すように、当該第２のデータを物理エクステントＰＥ２［２］32KBにコピーしている。データコピー部１０５は、所定バイトがオールゼロである場合、例えば管理テーブル記憶部１０３に格納されている、ゼロデータチェック済み最終アドレス２３２を所定バイトだけ更新する。
【００７７】
やがて、ゼロデータチェック済み最終アドレス２３２が物理エクステントＰＥ２［２］32KBの最終アドレスと一致したものとする。図２４は、このときの状態を示す。エクステントサイズ変更部１０６は、ゼロデータチェック済み最終アドレス２３２と物理エクステントＰＥ２［２］32KBの最終アドレスとを比較している。もし、ゼロデータチェック済み最終アドレス２３２が物理エクステントＰＥ２［２］32KBの最終アドレスと一致したならば、エクステントサイズ変更部１０６は、矢印２４０で示すように、物理エクステントＰＥ２［２］32KBの対応する３２ＫＢの論理エクステント（ここではＬＥ０［２］32KB）への割り当てを解消する。このように、論理エクステントへの割り当てを解消された物理エクステントは、新たに物理エクステントの確保が必要となった場合に論理エクステントへ割当てられる。
【００７８】
図２５及び図２６は、物理エクステントＰＥ２［２］32KBの論理エクステントＬＥ０［２］32KBへの割り当てが解消され、且つエクステントサイズ変更が完了している状態における、それぞれ、エクステント管理テーブルＴ１及びＴ１２の例を示す。
【００７９】
図２５から明らかなように、ＬＤＩＳＫｎｏ＝０のＬＥｎｏ＝２の３２ＫＢの論理エクステント、つまり論理エクステントＬＥ０［２］32KBに、３２ＫＢの物理エクステントは割り当てられていない。図２６から明らかなように、ＧＲＯＵＰｎｏ＝２のアレイ２１０-2に存在するＰＥｎｏ＝２の３２ＫＢの物理エクステント、つまり物理エクステントＰＥ２［２］32KBは、３２ＫＢの論理エクステントに割り当てられていない。
【００８０】
第２の実施形態によれば、第ｉデータがオールゼロであることが検出された場合、当該第ｉデータがコピーされるべき、アレイ内の物理エクステントは解放される。これにより、エクステントサイズ変更処理後における、アレイの記憶容量の利用効率を向上することができる。
【００８１】
［第３の実施形態］
次に、第３の実施形態について説明する。  
第３の実施形態の特徴は、第１の実施形態においてデータ配置解析部２０１が行っていたような使用連続領域のサイズと不使用連続領域のサイズとの検出を、エクステントサイズ変更部１０６が行う点にある。
【００８２】
第３の実施形態におけるストレージシステムの基本構成は、第１の実施形態のそれと同様である。したがって、第３の実施形態においても、図１を援用する。但し、第３の実施形態では、データ配置解析部２０１は必ずしも必要はない。一方、エクステントサイズ変更部１０６は、第１の実施形態と異なり、使用連続領域のサイズと不使用連続領域のサイズとを検出し、その検出結果に基づいて適切なエクステントサイズを検出する機能を有している。
【００８３】
次に、エクステントサイズ変更部１０６によるエクステントサイズの検出について、説明する。エクステントサイズ変更部１０６は、ストレージシステムの運用開始後に、随時、または定期的に、またはユーザからの指示により、データ配置解析手段として機能する。そしてエクステントサイズ変更部１０６は、ホスト装置２によって利用される論理ディスクを対象に、使用連続領域と不使用連続領域とをそれぞれ検出する。但し、データ配置解析部２０１と異なり、この使用連続領域と不使用連続領域の検出に、エクステントサイズ変更部１０６がファイルシステムを利用することは一般に難しい。
【００８４】
そこで第３の実施形態においてエクステントサイズ変更部１０６は、例えばＬＤＩＳＫｎｏ＝０の論理ディスクにおける使用連続領域と不使用連続領域の検出を次のように行う。エクステントサイズ変更部１０６は、図６に示すエクステント管理テーブルＴ１のエントリを、例えばＬＥｎｏ＝０が設定されているエントリから順に参照する。そしてエクステントサイズ変更部１０６は、参照エントリに、グループ番号（ＧＲＯＵＰno）及び物理エクステント番号（ＰＥｎｏ）が設定されているか否か、つまり参照エントリに設定されている論理エクステント番号（ＬＥｎｏ）の論理エクステントに物理エクステントが割り当てられているか否かを判定する。エクステントサイズ変更部１０６は、物理エクステントが割り当てられていない論理エクステントを、不使用連続領域の少なくとも一部であるとして検出する。
【００８５】
エクステントサイズ変更部１０６は、物理エクステントが割り当てられている論理エクステントについては、当該物理エクステントを対象に第２の実施形態で適用されたようなゼロデータチェックを行うことにより、使用連続領域と不使用連続領域とを検出する。ここで、第１の論理エクステントに後続する第２の論理エクステントに第２の物理エクステントが割り当てられているものとする。エクステントサイズ変更部１０６は、第２の物理エクステントの先頭から順にゼロデータであるかをチェックすることにより、ゼロデータが連続する領域に対応する第２の論理エクステント内の領域を不使用連続領域として検出する。またエクステントサイズ変更部１０６は、不使用連続領域以外の領域に対応する第２の論理エクステント内の領域を使用連続領域として検出する。
【００８６】
もし、第１の論理エクステントの少なくとも終端側が使用連続領域であり、第２の論理エクステントの少なくとも始端側が使用連続領域であるならば、エクステントサイズ変更部１０６は、両使用連続領域を１つの使用連続領域にまとめて、そのまとめられた使用連続領域のサイズを検出する。また、第１の論理エクステントの少なくとも終端側が不使用連続領域であり、第２の論理エクステントの少なくとも始端側が不使用連続領域であるならば、エクステントサイズ変更部１０６は、両不使用連続領域を１つの不使用連続領域にまとめて、そのまとめられた不使用連続領域のサイズを検出する。このようにしてエクステントサイズ変更部１０６は、ＬＤＩＳＫｎｏ＝０の論理ディスクにおける全ての使用連続領域のサイズと不使用連続領域のサイズとを検出する。
【００８７】
ここでは、第１の実施形態と同様に、図２の例のように、ｎ個の使用連続領域ＵＣＡ0，ＵＣＡ1，…，ＵＣＡｋ，…，ＵＣＡn-1の、それぞれ使用連続領域サイズＳ［０］，Ｓ［１］，…，Ｓ［ｋ］，…，Ｓ［ｎ−１］が検出されたものとする。同様に、ｍ個の不使用連続領域ＵＵＣＡ0，ＵＵＣＡ1，…，ＵＵＣＡｋ，…，ＵＵＣＡm-1の、それぞれ不使用連続領域サイズＧ［０］，Ｇ［１］，…，Ｇ［ｋ］，…，Ｇ［ｍ−１］が検出されたものとする。
【００８８】
この場合、エクステントサイズ変更部１０６は、第１の実施形態におけるデータ配置解析部２０１と同様にして、図３に示すに示すような連続領域サイズの度数分布を取得する。そしてエクステントサイズ変更部１０６は、取得された連続領域サイズの度数分布に基づき、度数が第１位から例えば第３位までの連続領域サイズとして、１ＭＢ（＝１０２４ＫＢ）、３２ＫＢ及び６４ＫＢを検出する。エクステントサイズ変更部１０６は、検出された１ＭＢ、３２ＫＢ及び６４ＫＢの最大公約数Ｇ．Ｃ．Ｍ．｛１ＭＢ，３２ＫＢ，６４ＫＢ｝＝３２ＫＢを算出し、算出された最大公約数Ｇ．Ｃ．Ｍ．を基準に、適切なエクステントサイズを検出する。ここでは、算出された最大公約数Ｇ．Ｃ．Ｍ．＝３２ＫＢが、適切なエクステントサイズとして検出される。
【００８９】
するとエクステントサイズ変更部１０６は、第１の実施形態においてデータ配置解析部２０１からエクステントサイズが通知されるた場合と同様に、エクステントサイズを２ＭＢ（現在のエクステントサイズ）から３２ＫＢ（検出された適切なエクステントサイズ）に変更するためのエクステントサイズ変更処理を、物理エクステント確保部１０４及びデータコピー部１０５と協働して実行する。
【００９０】
第３の実施形態によれば、システム運用状況に適合するエクステントサイズを、アレイコントローラ１０がホスト装置２から独立に検出することができる。なお、第３の実施形態おいても、エクステントサイズ変更に伴って必要となる、変更後のエクステントサイズの物理エクステントへのデータコピーにおいて、第２の実施形態で適用されたようなゼロデータチェックを適用してもよい。この場合、エクステントサイズ変更部１０６が使用連続領域のサイズと不使用連続領域のサイズとを検出する際に、変更前のエクステントサイズの物理セグメント内でゼロデータが連続するゼロデータ領域毎に、対応するゼロデータ領域のアレイ内の開始位置及び終了位置を例えば管理テーブル記憶部１０３に格納しておくとよい。このようにすると、ゼロデータ領域毎の開始位置及び終了位置の情報に基づいて、変更前のエクステントサイズの物理セグメントから変更後のエクステントサイズの物理セグメントコピーされるべきデータがオールゼロであるかを簡単にチェックできる。
【００９１】
以上説明した少なくとも１つの実施形態によれば、ホスト装置による論理ディスクへのデータ配置の状況に合わせて、より適切なエクステント管理を行うことができる、ディスクアレイ装置を備えたストレージシステム、ディスクアレイ装置及びエクステントサイズ変更方法を提供することができる。
【００９２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９３】
１…ディスクアレイ装置、２…ホスト装置、１０…アレイコントローラ、２０…アレイ部、２１-1〜２１-p…ＨＤＤ、１００…主制御部、１０１…アレイ構成部、１０２…論理ディスク構成部、１０３…管理テーブル記憶部、１０４…物理エクステント確保部、１０５…データコピー部、１０６…エクステントサイズ変更部、１０７…論理ディスク再構成部、２０１…データ配置解析部、２１０-0〜２１０-2…アレイ。
【図１】
0005472930.tif 000002
【図２】
0005472930.tif 000003
【図３】
0005472930.tif 000004
【図４】
0005472930.tif 000005
【図５】
0005472930.tif 000006
【図６】
0005472930.tif 000007
【図７】
0005472930.tif 000008
【図８】
0005472930.tif 000009
【図９】
0005472930.tif 000010
【図１０】
0005472930.tif 000011
【図１１】
0005472930.tif 000012
【図１２】
0005472930.tif 000013
【図１３】
0005472930.tif 000014
【図１４】
0005472930.tif 000015
【図１５】
0005472930.tif 000016
【図１６】
0005472930.tif 000017
【図１７】
0005472930.tif 000018
【図１８】
0005472930.tif 000019
【図１９】
0005472930.tif 000020
【図２０】
0005472930.tif 000021
【図２１】
0005472930.tif 000022
【図２２】
0005472930.tif 000023
【図２３】
0005472930.tif 000024
【図２４】
0005472930.tif 000025
【図２５】
0005472930.tif 000026
【図２６】
0005472930.tif 000027