(57)【特許請求の範囲】
【請求項１】
上位階層のストレージ装置として用いられ、且つ前記上位階層に対応する第１の種類の複数の物理エクステントを含む記憶領域を備えた第１のストレージ装置と、
下位階層のストレージ装置として用いられ、且つ前記下位階層に対応する第２の種類の複数の物理エクステントを含む記憶領域を備えた第２のストレージ装置と、
前記第１及び第２のストレージ装置を制御するストレージコントローラとを具備し、
前記ストレージコントローラは、システム管理部と、レプリケーションコントローラと、アクセスコントローラとを備え、
前記システム管理部は、前記物理エクステントと同一サイズを有する複数の論理エクステントをそれぞれ含む、前記第１及び第２のストレージ装置の前記記憶領域の少なくとも一部が前記物理エクステントを単位に割り当てられる複数の論理ディスクを管理し、
前記アクセスコントローラは、前記複数の論理ディスクそれぞれにおける前記複数の論理エクステントへのライトアクセスの状況をそれぞれ示すライトアクセス統計値を収集し、
前記レプリケーションコントローラは、
前記複数の論理ディスクに含まれる第１及び第２の論理ディスクを、それぞれマスタ及びサブ論理ディスクとして同期化するためのレプリケーション初期化処理において、前記第１の論理ディスク内の第１の論理エクステント及び前記第１の論理エクステントに対応する前記第２の論理ディスク内の第２の論理エクステントを、それぞれマスタ及びサブ論理エクステントとして同期化する場合、前記第２の論理エクステントに現在割り当てられている第２の物理エクステントの種類が、前記第１の論理エクステントに現在割り当てられている第１の物理エクステントの種類と異なるならば、前記第２の論理エクステントに割り当てられる物理エクステントの種類を前記第１の物理エクステントの種類に一致させるために、前記第１の物理エクステントと同一の種類の前記第１または第２のストレージ装置内の空きの第３の物理エクステントを確保して、前記第３の物理エクステントに前記第１の物理エクステント内のデータをコピーし、且つ前記第３の物理エクステントを前記第２の論理エクステントに新たに割り当て、
前記第１の論理エクステントのライトアクセス統計値が閾値未満である場合、前記第２の論理エクステントに割り当てられる物理エクステントとして、前記第２の物理エクステントの種類が前記第１の物理エクステントの種類と異なるかに無関係に、前記第２のストレージ装置内の物理エクステントを用いる
階層化ストレージシステム。
【請求項２】
前記レプリケーションコントローラは、前記第１の論理エクステントの前記ライトアクセス統計値が前記閾値未満である場合、前記第２の物理エクステントが前記第１のストレージ装置内にあるならば、前記第２のストレージ装置内の空きの第４の物理エクステントを確保して、前記第４の物理エクステントに前記第１の物理エクステント内の前記データをコピーし、且つ前記第４の物理エクステントを前記第２の論理エクステントに新たに割り当て、前記第２の物理エクステントが前記第２のストレージ装置内にあるならば、前記第２の物理エクステントに前記第１の物理エクステント内の前記データをコピーする請求項１記載の階層化ストレージシステム。
【請求項３】
上位階層のストレージ装置として用いられ、且つ前記上位階層に対応する第１の種類の複数の物理エクステントを含む記憶領域を備えた第１のストレージ装置と、
下位階層のストレージ装置として用いられ、且つ前記下位階層に対応する第２の種類の複数の物理エクステントを含む記憶領域を備えた第２のストレージ装置と、
前記第１及び第２のストレージ装置を制御するストレージコントローラとを具備し、
前記ストレージコントローラは、システム管理部と、レプリケーションコントローラとを備え、
前記システム管理部は、前記物理エクステントと同一サイズを有する複数の論理エクステントをそれぞれ含む、前記第１及び第２のストレージ装置の前記記憶領域の少なくとも一部が前記物理エクステントを単位に割り当てられる複数の論理ディスクを管理し、
前記複数の論理ディスクは第１及び第２の論理ディスクを含み、前記第１及び第２の論理ディスクそれぞれの記憶領域の少なくとも一部は読み出し専用領域であり、
前記レプリケーションコントローラは、
前記第１及び第２の論理ディスクを、それぞれマスタ及びサブ論理ディスクとして同期化するためのレプリケーション初期化処理において、前記第１の論理ディスク内の第１の論理エクステント及び前記第１の論理エクステントに対応する前記第２の論理ディスク内の第２の論理エクステントを、それぞれマスタ及びサブ論理エクステントとして同期化する場合、前記第２の論理エクステントに現在割り当てられている第２の物理エクステントの種類が、前記第１の論理エクステントに現在割り当てられている第１の物理エクステントの種類と異なるならば、前記第２の論理エクステントに割り当てられる物理エクステントの種類を前記第１の物理エクステントの種類に一致させるために、前記第１の物理エクステントと同一の種類の前記第１または第２のストレージ装置内の空きの第３の物理エクステントを確保して、前記第３の物理エクステントに前記第１の物理エクステント内のデータをコピーし、且つ前記第３の物理エクステントを前記第２の論理エクステントに新たに割り当て、
前記第１の論理エクステントが前記第１の論理ディスク内の前記読み出し専用領域内にある場合、前記第２の論理エクステントに割り当てられる物理エクステントとして、前記第２の物理エクステントの種類が前記第１の物理エクステントの種類と異なるかに無関係に、前記第２のストレージ装置内の物理エクステントを用いる
階層化ストレージシステム。
【請求項４】
前記レプリケーションコントローラは、前記第１の論理エクステントが前記第１の論理ディスク内の前記読み出し専用領域内にある場合、前記第２の物理エクステントが前記第１のストレージ装置内にあるならば、前記第２のストレージ装置内の空きの第４の物理エクステントを確保して、前記第４の物理エクステントに前記第１の物理エクステント内の前記データをコピーし、且つ前記第４の物理エクステントを前記第２の論理エクステントに新たに割り当て、前記第２の物理エクステントが前記第２のストレージ装置内にあるならば、前記第２の物理エクステントに前記第１の物理エクステント内の前記データをコピーする請求項３記載の階層化ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、階層化ストレージシステム、ストレージコントローラ及びレプリケーション初期化方法に関する。
【背景技術】
【０００２】
近年、アクセス速度の異なる第１及び第２のストレージ装置を備えたストレージシステムが開発されている。ここで、第１のストレージ装置のアクセス速度及び記憶容量は高速で小容量であり、第２のストレージ装置は、第１のストレージ装置のそれと比較して低速で大容量であるものとする。ストレージシステムは、第１のストレージ装置（以下、高速ストレージ装置と称する）及び第２のストレージ装置（以下、低速ストレージ装置と称する）を階層的に組み合わせることにより実現される。そこで、このようなストレージシステムは、階層化ストレージシステムとも呼ばれる。階層化ストレージシステムにおいて、高速ストレージ装置は上位階層のストレージ装置として、低速ストレージ装置は下位階層のストレージ装置として、それぞれ用いられるのが一般的である。【０００３】
また近年は、ストレージシステム全般に、記憶領域の仮想化が一般的になってきている。このことは、階層化ストレージシステムにおいても同様である。このような階層化ストレージシステムにおいて、高速ストレージ装置及び低速ストレージ装置の物理的な記憶領域の少なくとも一部は、論理ディスクに割り当てられる。論理ディスクとは、ストレージシステム（階層化ストレージシステム）を利用するホストコンピュータ（以下、ホストと称する）によって単体のストレージ装置と差異なくアクセス可能なストレージとして認識される論理的な記憶領域を指す。【０００４】
階層化ストレージシステムでは、論理ディスクの論理的な記憶領域と、高速ストレージ装置及び低速ストレージ装置の物理的な記憶領域とは、いずれも、管理のために、一定サイズを有する複数の部分領域に分割される。このような部分領域はエクステントと呼ばれる。論理的な記憶領域内のエクステントと物理的な記憶領域内のエクステント内のエクステントとを区別する必要がある場合には、前者を論理エクステント、後者を物理エクステントと呼ぶ。【０００５】
ところで、ストレージシステムで利用される機能の一つとして「ティアリング」が知られている。ここで、ストレージシステムが階層化ストレージシステムである場合を例に、「ティアリング」について説明する。階層化ストレージシステムのコントローラ（つまり、ストレージコントローラ）は、論理ディスク内の論理エクステント毎に、アクセス回数のようなアクセス統計値を取得する。ここで、アクセス統計値が大きい第１の論理エクステントに低速ストレージ装置内の第１の物理エクステントが既に割り当てられているものとする。この場合、ストレージコントローラは、第１の論理エクステントに割り当てられる物理エクステントを、第１の物理エクステントから高速ストレージ装置内の第２の物理エクステントに変更する。つまりストレージコントローラは、第１の論理エクステントに割り当てられる階層を、下位階層から上位階層に変更する。このような階層変更により、限られたストレージ装置リソースで論理ディスクの性能の最適化を図ることができる。【０００６】
近年多くのストレージシステムにおいて、データの保全性の向上のためにレプリケーションという機能が実現されている。レプリケーション機能とは、任意の複数の論理ディスクを、複製されたデータを保持するために統括して管理する機能を指す。階層化ストレージシステムの提供する論理ディスクもレプリケーションの対象となる。【０００７】
例えば、階層化ストレージシステムのストレージコントローラは、レプリケーション機能を使って２個の論理ディスクのデータを完全に同期（一致化）させて運用することが可能である。２個の論理ディスクの一方は、マスタ論理ディスクとして、他方はサブ論理ディスクとして、それぞれ用いられる。ホストからの入出力（Ｉ／Ｏ）要求は、マスタ論理ディスクへのＩ／Ｏ要求として処理される。ホストからのＩ／Ｏ要求に応じてマスタ論理ディスク内のデータが変更される場合、その変更がサブ論理ディスクに同時に反映される。ストレージコントローラは、このような状態で運用するための準備として、レプリケーション初期化処理を実行する。レプリケーション初期化処理においてストレージコントローラは、マスタ及びサブ論理ディスクのデータを一致化させるために、マスタ論理ディスクからサブ論理ディスクに対してデータをコピーする。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１６３６４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述の階層化ストレージシステムにおいてレプリケーション初期化処理が実行されると、当該システムは、マスタ及びサブ論理ディスクの内容が一致している同期状態に遷移する。同期状態では、マスタ及びサブ論理ディスクは、ホストから単一の論理ディスクとして認識される。この状態で、ホストからストレージコントローラに、論理ディスク（マスタ論理ディスク）へのデータの書き込みが要求されたものとする。この場合、ストレージコントローラは、ホストによって指定された論理アドレスに基づき、マスタ及びサブ論理ディスクそれぞれの同一の論理アドレスに割り当てられた第１及び第２の物理記憶領域にデータを書き込む。この第１及び第２の物理記憶領域へのデータの書き込みが完了するまでは、ホストから要求されたデータ書き込みは完了しない。【００１０】
ここで、第１及び第２の物理記憶領域の一方が高速ストレージ装置内の物理記憶領域（つまり、高速物理記憶領域）で、第１及び第２の物理記憶領域の他方が低速ストレージ装置内の物理記憶領域（つまり、低速物理記憶領域）であるものとする。この場合、要求されたデータ書き込みが完了する時期は、低速物理記憶領域へのデータの書き込みに要する時間に依存する。つまり、ホストによって認識される論理ディスクへのデータの書き込みの性能が、低速物理記憶領域へのデータの書き込みに依存して低下する。【００１１】
本発明が解決しようとする課題は、ホストによって認識される論理ディスクへのデータの書き込みの性能の低下を防止できる階層化ストレージシステム、ストレージコントローラ及びレプリケーション初期化方法を提供することにある。
【課題を解決するための手段】
【００１２】
実施形態によれば、階層化ストレージシステムは、第１のストレージ装置と、第２のストレージ装置と、ストレージコントローラとを具備する。前記第１のストレージ装置は、上位階層のストレージ装置として用いられ、且つ前記上位階層に対応する第１の種類の複数の物理エクステントを含む記憶領域を備える。第２のストレージ装置は、下位階層のストレージ装置として用いられ、且つ前記下位階層に対応する第２の種類の複数の物理エクステントを含む記憶領域を備える。前記ストレージコントローラは、前記第１及び第２のストレージ装置を制御し、システム管理部と、レプリケーションコントローラと、アクセスコントローラとを備える。前記前記システム管理部は複数の論理ディスクを管理する。前記複数の論理ディスクは、前記物理エクステントと同一サイズを有する複数の論理エクステントをそれぞれ含む。前記複数の論理ディスクには、前記第１及び第２のストレージ装置の前記記憶領域の少なくとも一部が前記物理エクステントを単位に割り当てられる。前記アクセスコントローラは、前記複数の論理ディスクそれぞれにおける前記複数の論理エクステントへのライトアクセスの状況をそれぞれ示すライトアクセス統計値を収集する。前記レプリケーションコントローラは、前記複数の論理ディスクに含まれる第１及び第２の論理ディスクを、それぞれマスタ及びサブ論理ディスクとして同期化するためのレプリケーション初期化処理において、前記第１の論理ディスク内の第１の論理エクステント及び前記第１の論理エクステントに対応する前記第２の論理ディスク内の第２の論理エクステントを、それぞれマスタ及びサブ論理エクステントとして同期化する場合、前記第２の論理エクステントに現在割り当てられている第２の物理エクステントの種類が、前記第１の論理エクステントに現在割り当てられている第１の物理エクステントの種類と異なるならば、前記第２の論理エクステントに割り当てられる物理エクステントの種類を前記第１の物理エクステントの種類に一致させるために、前記第１の物理エクステントと同一の種類の前記第１または第２のストレージ装置内の空きの第３の物理エクステントを確保して、前記第３の物理エクステントに前記第１の物理エクステント内のデータをコピーし、且つ前記第３の物理エクステントを前記第２の論理エクステントに新たに割り当てる。前記レプリケーションコントローラは更に、前記第１の論理エクステントのライトアクセス統計値が閾値未満である場合、前記第２の論理エクステントに割り当てられる物理エクステントとして、前記第２の物理エクステントの種類が前記第１の物理エクステントの種類と異なるかに無関係に、前記第２のストレージ装置内の物理エクステントを用いる。
【図面の簡単な説明】
【００１３】
【図１】図１は、１つの実施形態に係るコンピュータシステムの典型的なハードウェア構成を示すブロック図である。
【図２】図２は、図１に示される階層化ストレージシステムで適用される２つの論理ディスクの典型的な構成を説明するための図である。
【図３】図３は、図１に示されるストレージコントローラの典型的な機能構成を主として示すブロック図である。
【図４】図４は、図３に示されるアドレス変換テーブルのデータ構造の例を示す図である。
【図５】図５は、図３に示されるアクセスカウンタテーブルのデータ構造の例を示す図である。
【図６】図６は、同実施形態に係るレプリケーション初期化処理の典型的な手順を説明するためのフローチャートである。
【図７】図７は、同実施形態に係る階層変更処理の典型的な手順を説明するためのフローチャートである。
【図８】図８は、同実施形態の変形例に係るレプリケーション初期化処理の典型的な手順を説明するためのフローチャートである。
【図９】図９は、前記レプリケーション初期化処理に含まれる第２のコピー処理の典型的な手順を説明するためのフローチャートである。
【図１０】図１０は、同変形例に係る階層変更処理の典型的な手順を説明するためのである。
【図１１】図１１は、前記階層変更処理に含まれる第２の再配置処理の典型的な手順を説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
以下、種々の実施の形態につき図面を参照して説明する。  
図１は、１つの実施形態に係るコンピュータシステムの典型的なハードウェア構成を示すブロック図である。図１に示されるコンピュータシステムは、階層化ストレージシステム１０及びホストコンピュータ（以下、ホストと称する）２０から構成される。つまりコンピュータシステムは、単一のホストを備えている。しかし、コンピュータシステムが、複数のホストを備えていても良い。
【００１５】
ホスト２０は、階層化ストレージシステム１０が提供する論理ディスクを自身の外部記憶装置として利用する。ホスト２０は、例えば、ホストインタフェースバス２１を介して階層化ストレージシステム１０（より、詳細には、階層化ストレージシステム１０のストレージコントローラ１３）と接続されている。本実施形態においてホストインタフェースバス２１は、ファイバチャネル（ＦＣ）である。しかしホストインタフェースバス２１が、スモールコンピュータシステムインタフェース（ＳＣＳＩ）、シリアルアタッチドＳＣＳＩ（ＳＡＳ）、インターネットＳＣＳＩ（ｉＳＣＳＩ）、イーサネット（登録商標）、或いはシリアルＡＴアタッチメント（ＳＡＴＡ）のような、ＦＣ以外のインタフェースバスであっても構わない。またホスト２０が、ネットワークを介して階層化ストレージシステム１０と接続されていても良い。
【００１６】
ホスト２０は、サーバ、或いはクライアントパーソナルコンピュータ（クライアントＰＣ）のような物理計算機である。ホスト２０内では、階層化ストレージシステム１０が提供する論理ディスク内のデータにアクセスするためのアプリケーションプログラムが動作する。このアプリケーションプログラムに従い、ホスト２０はホストインタフェースバス２１を介して階層化ストレージシステム１０を利用する。
【００１７】
階層化ストレージシステム１０は、高速ストレージ装置（第１のストレージ装置）１１と、低速ストレージ装置（第２のストレージ装置）１２と、ストレージコントローラ１３とを備えている。高速ストレージ装置１１及び低速ストレージ装置１２は、ストレージインタフェースバス２２を介してストレージコントローラ１３と接続されている。本実施形態においてストレージインタフェースバス２２はＦＣ（ファイバチャネル）である。しかしストレージインタフェースバス２２が、ホストインタフェースバス２１と同様に、ＦＣ以外のインタフェースバスであっても構わない。
【００１８】
高速ストレージ装置１１は、例えば、ハードディスクドライブ（ＨＤＤ）との互換性を有する単一のソリッドステートドライブ（ＳＳＤ）から構成される。一方、低速ストレージ装置１２は、アクセス応答性能及び記憶容量に関し、一定の条件（第１の条件）を満足するストレージ装置から構成される。第１の条件を満足するストレージ装置とは、高速ストレージ装置１１と比較してアクセス応答性能は低い（つまり、アクセス速度が低速である）ものの記憶容量が大きいストレージ装置を指す。本実施形態では、低速ストレージ装置１２は単一のＨＤＤから構成される。以下の説明では、高速ストレージ装置１１及び低速ストレージ装置１２を、それぞれ、ＳＳＤ１１及びＨＤＤ１２と表記する。
【００１９】
なお、ＳＳＤ１１に代えて、フラッシュメモリを搭載したフラッシュアレイストレージ或いはオールフラッシュアレイと呼ばれる高速ストレージ装置が用いられても構わない。同様に、ＨＤＤ１２に代えて、複数のＨＤＤから構成されるアレイ構成の低速ストレージ装置が用いられても構わない。また、ＳＳＤ１１に代えて、ＦＣ用のＨＤＤのような高速ＨＤＤが用いられ、ＨＤＤ１２に代えて、ＳＡＴＡ用のＨＤＤのような低速ＨＤＤが用いられても構わない。また、ＨＤＤ１２に代えて、ブルーレイディスク（登録商標）ドライブ、或いはＤＶＤ（登録商標）ドライブのような光学式ディスクドライブ、或いはテープ装置が用いられても構わない。また、ＨＤＤ１２に代えてテープ装置が用いられる場合、ＳＳＤ１１に代えて光学式ディスクドライブが用いられても構わない。
【００２０】
このように、高速ストレージ装置及び低速ストレージ装置には、種々のアクセス速度及び記憶容量を有する複数のストレージ装置から選択されたストレージ装置を用いることができる。但し、低速ストレージ装置は、前述のように、アクセス応答性能及び記憶容量に関し、第１の条件を満足する必要がある。なお、高速ストレージ装置が、アクセス応答性能及び記憶容量に関し、第２の条件を満足するストレージ装置から構成されても良い。第２の条件を満足するストレージ装置とは、低速ストレージ装置と比較して記憶容量は小さいもののアクセス応答性能が高い（つまり、アクセス速度が高速である）ストレージ装置を指す。
【００２１】
上述のように、図１に示される階層化ストレージシステム１０には、ＳＳＤ１１及びＨＤＤ１２が、アクセス速度の異なる２つのストレージ装置（つまり、高速ストレージ装置及び低速ストレージ装置）として存在する。この場合、ＳＳＤ１１は上位階層（高速階層、第１の階層）として、ＨＤＤ１２は下位階層（低速階層、第２の階層）として、それぞれ用いられる。なお、階層化ストレージシステム１０が、ＨＤＤ１２よりも更に低速（低階層）で且つ大容量のストレージ装置（第３の階層のストレージ装置）を備えていても良い。
【００２２】
ストレージコントローラ１３は、ホスト２０から与えられる、論理アドレスを用いたアクセス（リードアクセスまたはライトアクセス）の要求（入出力要求）を受信して、要求された入出力（Ｉ／Ｏ）を実行する。このＩ／Ｏの実行に際し、ストレージコントローラ１３は、周知のアドレス変換機能を用いて、論理アドレスを物理アドレスに変換する。論理アドレスは、ホスト２０によって認識される論理ディスク内のアドレスを指す。物理アドレスは、ＳＳＤ１１またはＨＤＤ１２に含まれていて、且つ論理アドレスに対応付けられている物理記憶領域の物理位置を示す。ストレージコントローラ１３は、物理アドレスに基づいて、ＳＳＤ１１またはＨＤＤ１２にアクセスする。
【００２３】
ストレージコントローラ１３は、ホストインタフェースコントローラ（以下、ＨＩＦＣと称する）１３１と、ストレージインタフェースコントローラ（以下、ＳＩＦＣと称する）１３１と、メモリ１３３と、ローカルＨＤＤ１３４と、ＣＰＵ１３５とを備えている。
【００２４】
ＨＩＦＣ１３１は、当該ＨＩＦＣ１３１とホスト２０との間のデータ転送（データ転送プロトコル）を制御する。ＨＩＦＣ１３１は、ホストからのＩ／Ｏ（入出力）要求（リード要求またはライト要求）を受信し、当該Ｉ／Ｏ要求に対する応答を返信する。このＩ／Ｏ要求は、論理ディスクからデータをリードすること、或いは当該論理ディスクにデータをライトすることを指定する。ＨＩＦＣ１３１は、ホスト２０からＩ／Ｏ要求を受信すると、当該Ｉ／Ｏ要求を、ＣＰＵ１３５に伝達する。Ｉ／Ｏ要求を受け取ったＣＰＵ１３５は、当該Ｉ／Ｏ要求を処理する。
【００２５】
ＳＩＦＣ１３２は、ＣＰＵ１３５が受信したホスト２０からのＩ／Ｏ要求に対応するアクセス要求（より詳細には、ＳＳＤ１１またはＨＤＤ１２に対する読み出し要求または書き込み要求）を、ＣＰＵ１３５から受信する。ＳＳＤ１１及びＨＤＤ１２それぞれの物理的な記憶領域は、物理ディスク（または物理ボリューム）とも呼ばれる。本実施形態では、ＳＳＤ１１及びＨＤＤ１２それぞれの物理的な記憶領域全体が、物理ディスクとして定義される。しかし、ＳＳＤ１１及びＨＤＤ１２それぞれの物理的な記憶領域の一部が、物理ディスクとして定義されても構わない。また、ＳＳＤ１１及びＨＤＤ１２それぞれを用いて、複数の物理ディスクが定義されても構わない。上述のアクセス要求は、物理ディスクからデータをリードすること、或いは当該物理ディスクにデータをライトすることを指定する。ＳＩＦＣ１３２は、受信されたアクセス要求に応じて、ＳＳＤ１１またはＨＤＤ１２へのアクセスを実行する。
【００２６】
メモリ１３３は、ＤＲＡＭのような、書き換えが可能な揮発性メモリである。メモリ１３３の記憶領域の一部は、ローカルＨＤＤ１３４からロードされる制御プログラム３２１（図３）を格納するのに用いられる。メモリ１３３の記憶領域の他の一部は、ローカルＨＤＤ１３４からロードされるアドレス変換テーブル３２２（図３）を格納するのに用いられる。メモリ１３３の記憶領域の更に他の一部は、ローカルＨＤＤ１３４からロードされるアクセスカウンタテーブル３２３（図３）を格納するのに用いられる。
【００２７】
ローカルＨＤＤ１３４には、制御プログラム３２１（図３）が格納されている。ＣＰＵ１３５は、ストレージコントローラ１３が起動されたときにイニシャルプログラムローダ（ＩＰＬ）を実行することにより、ローカルＨＤＤ１３４に格納されている制御プログラム３２１の少なくとも一部をメモリ１３３にロードする。ＩＰＬは、読み出し専用メモリ（ＲＯＭ）またはフラッシュＲＯＭ（ＦＲＯＭ）のような不揮発性メモリに格納されている。
【００２８】
ＣＰＵ１３５は、メモリ１３３にロードされた制御プログラム３２１に従い、システム管理部３０１、アクセスコントローラ３０２、レプリケーションコントローラ３０３、及び階層化コントローラ３０４（図３）として機能する。つまりＣＰＵ１３５は、メモリ１３３に格納されている制御プログラム３２１を実行することで、階層化ストレージシステム１０全体（特にストレージコントローラ１３内の各部）を制御する。
【００２９】
本実施形態においてストレージコントローラ１３は、図１に示されているようにホスト２０から独立して備えられている。しかし、ストレージコントローラ１３が、ホスト２０に内蔵されていても構わない。この場合、ストレージコントローラ１３（より詳細には、ストレージコントローラ１３の機能）が、ホスト２０の有するオペレーティングシステム（ＯＳ）の機能の一部を用いて実現されていても構わない。
【００３０】
また、ストレージコントローラ１３が、ホスト２０のカードスロットに装着して用いられるカードに備えられていても構わない。また、ストレージコントローラ１３の一部がホスト２０に内蔵され、当該ストレージコントローラ１３の残りがカードに備えられていても構わない。また、ホスト２０と、ストレージコントローラ１３と、ＳＳＤ１１及びＨＤＤ１２の一部または全部とが、１つの筐体に収められていても構わない。
【００３１】
図２は、図１に示される階層化ストレージシステム１０で適用される２つの論理ディスクの典型的な構成を説明するための図である。本実施形態において、階層化ストレージシステム１０は、論理ディスク（ＬＤ）２１１及び２１２を、それぞれ、マスタＬＤ及びサブＬＤとして用いる。このため、ＬＤ２１１及び２１２が、使用状態に応じて、マスタＬＤ２１１及びサブＬＤ２１２と称されることもある。
【００３２】
マスタＬＤ２１１及びサブＬＤ２１２の論理的な記憶領域は、管理のために、第１のサイズを有する複数の論理エクステントに分割される。つまり、マスタＬＤ２１１及びサブＬＤ２１２の各々は、複数の論理エクステントを備えている。本実施形態では、マスタＬＤ２１１及びサブＬＤ２１２の各々は、論理エクステント番号０乃至ｎ−１を有するｎ個の論理エクステントを備えているものとする。一方、ＳＳＤ１１及びＨＤＤ１２の物理的な記憶領域は、管理のために、論理エクステントと同一サイズ（第１のサイズ）を有する複数の物理エクステントに分割される。つまり、ＳＳＤ１１及びＨＤＤ１２の各々は、複数の物理エクステントを備えている。以下の説明では、ＳＳＤ１１（上位階層のストレージ装置）内の物理エクステントが高速物理エクステント（または第１の種類の物理エクステント）と称され、ＨＤＤ１２（下位階層のストレージ装置）内の物理エクステントが低速物理エクステント（または第２の種類の物理エクステント）と称されることがある。第１の種類及び第２の種類は、それぞれ、前述の上位階層及び下位階層に対応する。この場合、高速物理エクステント及び低速物理エクステントを、それぞれ、上位階層の物理エクステント及び下位階層の物理エクステントと見なすこともできる。
【００３３】
ＳＳＤ１１内の物理エクステントの群に含まれるＭ１個の物理エクステントは、マスタＬＤ２１１内のＭ１個の論理エクステントに割り当てられる。ＳＳＤ１１内の物理エクステントの群に含まれるＭ２個の物理エクステントは、サブＬＤ２１２内のＭ２個の論理エクステントに割り当てられる。ＨＤＤ１２内の物理エクステントの群に含まれるＮ１個の物理エクステントは、マスタＬＤ２１１内のＮ１個の論理エクステントに割り当てられる。ＨＤＤ１２内の物理エクステントの群に含まれるＮ２個の物理エクステントは、サブＬＤ２１２内のＮ２個の論理エクステントに割り当てられる。
【００３４】
論理エクステント及び物理エクステントの各々は、管理のために、第２のサイズを有する小領域に分割される。この小領域は、ブロックまたはセクタと呼ばれる。ＳＳＤ１１及びＨＤＤ１２は、いずれも、ブロック（またはセクタ）を単位としてアクセスが可能である。本実施形態において、第１のサイズは４キロバイト（ＫＢ）であり、第２のサイズは５１２Ｂである。つまり、第１のサイズは第２のサイズの８倍である。勿論、第１のサイズが、４ＫＢ以外、例えば４メガバイト（ＭＢ）であっても構わない。
【００３５】
図３は、図１に示されるストレージコントローラ１３の典型的な機能構成を主として示すブロック図である。ストレージコントローラ１３は、システム管理部３０１、アクセスコントローラ３０２、レプリケーションコントローラ３０３、及び階層化コントローラ３０４を備えている。これらの機能要素３０１乃至３０４は、図１に示されるストレージコントローラ１３のＣＰＵ１３４が制御プログラム３２１を実行することにより実現されるソフトウェアモジュールである。しかし、機能要素３０１乃至３０４の少なくとも１つがハードウェアモジュールによって実現されても構わない。
【００３６】
システム管理部３０１は、ホスト２０に提供される（つまり、ホスト２０により認識可能な）論理ディスクを構築（定義）し、且つ管理する。システム管理部３０１は更に、ホスト２０に提供される全ての論理ディスクにおける論理エクステント毎のマッピング状態（つまり、論理エクステントの論理アドレスと物理エクステントの物理アドレスとの対応）を、アドレス変換テーブル３２２を用いて管理する。システム管理部３０１は、アドレス変換テーブル３２２に基づいて、論理アドレスを物理アドレスに変換する。
【００３７】
アクセスコントローラ３０２は、論理アドレスから変換された物理アドレスに基づいて、ＳＳＤ１１またはＨＤＤ１２にアクセスする。アクセスコントローラ３０２は更に、マスタＬＤ２１１の論理エクステント毎のアクセス統計値を、アクセスカウンタテーブル３２３を用いて収集する。
【００３８】
レプリケーションコントローラ３０３は、マスタＬＤ２１１及びサブＬＤ２１２の内容を同一に保つための、いわゆるレプリケーション（同期レプリケーション）を制御する。同期レプリケーションを実現するには、レプリケーション初期化処理が必要である。レプリケーション初期化処理とは、例えば、独立に利用されていたＬＤ２１１及び２１２を、マスタＬＤ２１１及びサブＬＤ２１２として用いて、当該マスタＬＤ２１１及びサブＬＤ２１２のデータを一致化させる処理を指す。
【００３９】
階層化コントローラ３０４は、マスタＬＤ２１１及びサブＬＤ２１２内のそれぞれの論理エクステントの階層化を制御する。階層化コントローラ３０４は特に、マスタＬＤ２１１及びサブＬＤ２１２の性能を最適化するために、マスタＬＤ２１１及びサブＬＤ２１２内のそれぞれの論理エクステントに割り当てられる階層を動的に変更する。階層化コントローラ３０４は、割り当てられる階層が変更されるべきマスタＬＤ２１１及びサブＬＤ２１２内の論理エクステントの組を、アクセスカウンタテーブル３２３に基づいて決定する。階層化コントローラ３０４は、決定された論理エクステントの組内のデータを再配置する。つまり階層化コントローラ３０４は、マスタＬＤ２１１内の決定された論理エクステントに割り当てられていた物理エクステント内のデータを、当該物理エクステントが属する階層とは異なる階層の２つの物理エクステントに再配置する。
【００４０】
以下の説明では、マスタＬＤ２１１及びサブＬＤ２１２内のそれぞれの論理エクステントが、マスタ論理エクステント及びサブ論理エクステントと称されることもある。また、マスタ論理エクステント及びサブ論理エクステントにそれぞれ割り当てられる物理エクステントが、マスタ物理エクステント及びサブ物理エクステントと称されることもある。
【００４１】
メモリ１３２は、制御プログラム領域３１１及びテーブル領域３１２を含む。制御プログラム領域３１１は、ＣＰＵ１３４によって実行される制御プログラム３２１の少なくとも一部を格納するのに用いられる。テーブル領域３１２は、アドレス変換テーブル３２２及びアクセスカウンタテーブル３２３を格納するのに用いられる。
【００４２】
ＨＤＤ１３３は、制御プログラム３２１を予め格納するのに用いられる。またＨＤＤ１３３は、アドレス変換テーブル３２２及びアクセスカウンタテーブル３２３を保存するのに用いられる。制御プログラム３２１の少なくとも一部、アドレス変換テーブル３２２及びアクセスカウンタテーブル３２３は、例えばストレージコントローラ１３の起動時に、ＨＤＤ１３３からメモリ１３２の制御プログラム領域３１０、及びテーブル領域３１２にロードされて用いられる。メモリ１３２にロードされたアドレス変換テーブル３２２及びアクセスカウンタテーブル３２３は、適宜ＨＤＤ１３３に保存される。つまり、メモリ１３２のテーブル領域３１２における情報の更新は、ＨＤＤ１３３に保存されているアドレス変換テーブル３２２及びアクセスカウンタテーブル３２３に適宜反映される。但し、以降の説明では簡略化のために、アドレス変換テーブル３２２及びアクセスカウンタテーブル３２３は、ＨＤＤ１３３に格納されている状態で用いられるものとする。
【００４３】
図４は、図３に示されるアドレス変換テーブル３２２のデータ構造の例を示す。アドレス変換テーブル３２２は、マスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂから構成される。マスタＬＤアドレス変換テーブル３２２ａは、マスタＬＤ２１１の論理アドレスを物理アドレスに変換するのに用いられるアドレス変換情報を保持し、サブＬＤアドレス変換テーブル３２２ｂは、サブＬＤ２１２の論理アドレスを物理アドレスに変換するのに用いられるアドレス変換情報を保持する。
【００４４】
マスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂの各々は、論理エクステント番号０乃至ｎ−１を有するｎ個の論理エクステント０乃至ｎ−１に対応付けられたｎ個のエントリ０乃至ｎ−１を備えている。マスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂの各エントリは、論理ディスク識別子（ＬＤＩＤ）フィールド、論理アドレスフィールド、物理ディスク識別子（ＰＤＩＤ）フィールド、物理アドレスフィールド、第１のフラグ（Ｆ１）フィールド、及び第２のフラグ（Ｆ２）フィールドから構成される。
【００４５】
エントリｉ（ｉ＝０，１，…，ｎ−１）のＬＤＩＤフィールドは、ＬＤのＩＤを示す。つまり、マスタＬＤアドレス変換テーブル３２２ａのエントリ０乃至ｎ−１のＬＤＩＤフィールドは、いずれもマスタＬＤ２１１のＩＤを示し、サブＬＤアドレス変換テーブル３２２ｂのエントリ０乃至ｎ−１のＬＤＩＤフィールドは、いずれもサブＬＤ２１２のＩＤを示す。本実施形態において、マスタＬＤ２１１のＩＤは０であり、サブＬＤ２１２のＩＤは１である。
【００４６】
エントリｉの論理アドレスフィールドは、当該エントリｉと対応付けられた論理エクステントｉの論理アドレス（より詳細には、論理エクステントｉの先頭ブロックの論理アドレス）を示す。マスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂの両エントリｉの論理アドレスフィールドには、同一論理エクステントｉの論理アドレスが設定される。
【００４７】
エントリｉのＰＤＩＤフィールドは、論理エクステントｉに割り当てられた物理エクステントを含むＰＤ（物理ディスク）のＩＤを示す。エントリｉの物理アドレスフィールドは、論理エクステントｉに割り当てられた物理エクステントの物理アドレス（より詳細には、論理エクステントｉに割り当てられた物理エクステントの先頭ブロックの物理アドレス）を示す。
【００４８】
エントリｉのＦ１フィールドは、マスタ及びサブ論理エクステントｉが同期化されているかを示すフラグＦ１を保持するのに用いられる。エントリｉのＦ２フィールドは、論理エクステントｉが読み出し専用領域に含まれているかを示すフラグＦ２を保持するのに用いられる。但し、エントリｉのＦ２フィールドは、後述の変形例で用いられるため、本実施形態では必ずしも必要ない。
【００４９】
なお、Ｆ１及びＦ２フィールドが、マスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂの少なくとも一方（例えば、マスタＬＤアドレス変換テーブル３２２ａ）に用意されても構わない。また、マスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂを単一のアドレス変換テーブルにマージして、この単一のアドレス変換テーブルをアドレス変換テーブル３２２として用いても構わない。この場合、アドレス変換テーブル３２２が２ｎ個のエントリを有し、当該２ｎ個のエントリの各々に、論理エクステントの論理エクステント番号を示す論理エクステント番号フィールドを追加すれば良い。また、図４の例のように、アドレス変換テーブル３２２がマスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂから構成される場合、当該両テーブル３２２ａ及び３２２ｂの各エントリｉが、必ずしもＬＤＩＤフィールドを有する必要はない。
【００５０】
図５は、図３に示されるアクセスカウンタテーブル３２３のデータ構造の例を示す。アクセスカウンタテーブル３２３はマスタＬＤ２１１のＬＤＩＤに対応付けられており、当該マスタＬＤ２１１の各論理エクステントへのアクセスの回数を示すアクセスカウンタ情報として用いられる。アクセスカウンタテーブル３２３は、論理エクステント番号０乃至ｎ−１を有するｎ個の論理エクステント０乃至ｎ−１に対応付けられたｎ個のエントリ０乃至ｎ−１を備えている。
【００５１】
アクセスカウンタテーブル３２３のエントリｉは、アクセスカウントＡＣＮＴ及びライトカウントＷＣＮＴを保持するのに用いられる。エントリｉのアクセスカウントＡＣＮＴ及びライトカウントＷＣＮＴを、それぞれ、ＡＣＮＴｉ及びＷＣＮＴｉと表記する。アクセスカウントＡＣＮＴｉは、論理エクステントｉへのアクセスの回数、つまりライトアクセスの回数とリードアクセスの回数の総和を示すアクセス統計値である。ライトカウントＷＣＮＴｉは、論理エクステントｉへのライトアクセスの回数を示すライトアクセス統計値である。アクセスカウンタテーブル３２３の各エントリが、マスタＬＤ２１１のＬＤＩＤが設定されるＬＤＩＤフィールドを有していても構わない。
【００５２】
なお、ライトカウントＷＣＮＴｉは変形例で用いられるため、本実施形態では必ずしも必要ない。また、２つのＬＤ２１１及び２１２が、独立したＬＤとして用いられる場合、アクセスカウンタテーブル３２３と同様の２つのアクセスカウンタテーブルが、ＬＤ２１１及び２１２それぞれのＬＤＩＤに対応付けて用意される。
【００５３】
ここで、レプリケーションの状態遷移について説明する。まず、ＬＤ２１１及び２１２が、独立したＬＤとして、ストレージコントローラ１３のシステム管理部３０１によってホスト２０に提供されているものとする。この状態では、ホスト２０は、ＬＤ２１１及び２１２を個々に認識して、当該ＬＤ２１１及び２１２に別々にアクセスすることができる。このような状態は、スプリット状態と呼ばれる。つまり、ＬＤ２１１及び２１２はスプリット状態にある。ＬＤ２１１及び２１２がスプリット状態にある場合、ＬＤ２１１及び２１２の、それぞれ、同一の論理エクステント番号ｉを有する論理エクステントｉに割り当てられる物理エクステントは、必ずしも同一階層のストレージ装置に存在するとは限らない。
【００５４】
このようにスプリット状態にあるＬＤ２１１及び２１２を、システム管理部３０１が、それぞれマスタＬＤ２１１及びサブＬＤ２１２として定義し直すものとする。この場合、レプリケーションコントローラ３０３は、ＬＤ２１１（サブＬＤ２１２）の内容を、ＬＤ２１１（マスタＬＤ２１１）の内容に一致させるレプリケーション初期化処理を、システム管理部３０１と協同して実行する。レプリケーション初期化処理が実行されている状態を、コピー状態と呼ぶ。また、レプリケーション初期化処理が完了して、サブＬＤ２１２の内容がマスタＬＤ２１１の内容に一致している状態を同期状態と呼ぶ。
【００５５】
マスタＬＤ２１１及びサブＬＤ２１２がコピー状態または同期状態にある場合、ホスト２０は、マスタＬＤ２１１及びサブＬＤ２１２のうちのマスタＬＤ２１１のみにアクセスする。アクセスコントローラ３０２は、コピー状態または同期状態にあるマスタＬＤ２１１へのライトアクセスがホスト２０によって要求された場合、マスタＬＤ２１１及びサブＬＤ２１２の双方にデータをライトする。
【００５６】
次に、本実施形態の動作について、レプリケーション初期化処理を例に、図６を参照して説明する。図６は、レプリケーション初期化処理の典型的な手順を説明するためのフローチャートである。まず、システム管理部３０１は、マスタＬＤ２１１及びサブＬＤ２１２から、レプリケーション初期化の対象となるマスタ及びサブ論理エクステントの組を選択する（ステップＳ１）。ここでは、論理エクステント番号ｉ（例えば、ｉ＝０）を有するマスタ及びサブ論理エクステントｉ（第１及び第２の論理エクステント）の組が選択されるものとする。
【００５７】
次にシステム管理部３０１は、マスタ及びサブ論理エクステントｉの組の論理エクステント番号ｉに基づいてアドレス変換テーブル３２２ａ及び３２２ｂを参照することにより、当該マスタ及びサブ論理エクステントｉに割り当てられているマスタ及びサブ物理エクステント（第１及び第２の物理エクステント）を特定する（ステップＳ２）。つまりシステム管理部３０１は、マスタ及びサブ論理エクステントｉに割り当てられているマスタ及びサブ物理エクステントのアドレス情報を取得する。取得されたマスタ物理エクステントのアドレス情報は、当該マスタ物理エクステントを備えたストレージ装置のＰＤＩＤ（物理ディスク識別子）と、当該マスタ物理エクステントの物理アドレスとを含む。取得されたサブ物理エクステントのアドレス情報は、当該サブ物理エクステントを備えたストレージ装置のＰＤＩＤと、当該サブ物理エクステントの物理アドレスとを含む。
【００５８】
システム管理部３０１は、ステップＳ２を実行すると、レプリケーションコントローラ３０３に制御を渡す。するとレプリケーションコントローラ３０３は、特定されたマスタ物理エクステント内のデータを、サブ論理エクステントｉに現在割り当てられているサブ物理エクステント（つまり、特定されたサブ物理エクステント）または当該サブ論理エクステントｉに新たに割り当てられる物理エクステントにコピーするための第１のコピー処理（ステップＳ３）を、システム管理部３０１と協同して次のように実行する。
【００５９】
まずレプリケーションコントローラ３０３は、特定されたマスタ物理エクステントがＳＳＤ１１内に存在するかを、取得されたマスタ物理エクステントのアドレス情報中のＰＤＩＤに基づいて判定する（ステップＳ３０１）。もし、特定されたマスタ物理エクステントがＳＳＤ１１内に存在するならば（ステップＳ３０１のＹｅｓ）、つまり特定されたマスタ物理エクステントが高速物理エクステント（第１の種類の物理エクステント）であるならば、レプリケーションコントローラ３０３はステップＳ３０２に進む。これに対して、特定されたマスタ物理エクステントがＳＳＤ１１内に存在しないならば（ステップＳ３０１のＮｏ）、つまり特定されたマスタ物理エクステントが低速物理エクステント（第２の種類の物理エクステント）であるならば、レプリケーションコントローラ３０３はステップＳ３０３に進む。ステップＳ３０２及びＳ３０３のいずれにおいても、レプリケーションコントローラ３０３は、特定されたサブ物理エクステントがＳＳＤ１１内に存在するかを、取得されたサブ物理エクステントのアドレス情報中のＰＤＩＤに基づいて判定する。
【００６０】
ステップＳ３０２の判定がＮｏの場合、レプリケーションコントローラ３０３は、特定されたマスタ及びサブ物理エクステントがそれぞれ異なる階層のストレージ装置内に存在すると判断する。つまりレプリケーションコントローラ３０３は、特定されたマスタ及びサブ物理エクステントの種類が異なると判断する。この場合、レプリケーションコントローラ３０３は、マスタ及びサブ論理エクステントｉにそれぞれ割り当てられるマスタ及びサブ物理エクステントの種類を一致させるために、ステップＳ３０４に進む。ステップＳ３０４において、レプリケーションコントローラ３０３は、ＳＳＤ１１内の空き物理エクステント（つまり、特定されたマスタ物理エクステントと同種の空き物理エクステント）を確保する。空き物理エクステントとは、有効なデータが格納されていない物理エクステントを指す。
【００６１】
同様に、ステップＳ３０３の判定がＹｅｓの場合、レプリケーションコントローラ３０３は、特定されたマスタ及びサブ物理エクステントがそれぞれ異なる種類のストレージ装置内に存在すると判断する。この場合、レプリケーションコントローラ３０３は、マスタ及びサブ論理エクステントｉにそれぞれ割り当てられるマスタ及びサブ物理エクステントの種類を一致させるために、ステップＳ３０５に進む。ステップＳ３０５において、レプリケーションコントローラ３０３は、ＨＤＤ１２内の空き物理エクステント（つまり、特定されたマスタ物理エクステントと同種の空き物理エクステント）を確保する。
【００６２】
空き物理エクステントを管理する手法は、従来からよく知られている。これらの手法は、例えば、空き物理エクステントの物理エクステント番号（つまり、ＩＤ）の集合が保持される空き物理エクステントリストをストレージ装置毎に用いる手法を含む。なお、全てのストレージ装置（本実施形態では、ＳＳＤ１１及びＨＤＤ１２）に共通の空き物理エクステントリストが用いられても良い。この場合、空き物理エクステントリストに保持される物理エクステント番号に、当該物理エクステント番号で示される物理エクステントを持つストレージ装置のＰＤＩＤが付加されれば良い。
【００６３】
レプリケーションコントローラ３０３は、ステップＳ３０４またはＳ３０５を実行すると、特定されたマスタ物理エクステント（第１の物理エクステント）内のデータを、確保された物理エクステント（第３の物理エクステント）にコピーする（ステップＳ３０６）。これにより、ステップＳ３０４に続いてステップＳ３０６が実行されたならば、ＳＳＤ１１に存在する、特定されたマスタ物理エクステント内のデータが、当該ＳＳＤ１１に存在する、確保された物理エクステントにコピーされる。これに対し、ステップＳ３０５に続いてステップＳ３０６が実行されたならば、ＨＤＤ１２に存在する、特定されたマスタ物理エクステント内のデータが、当該ＨＤＤ１２に存在する、確保された物理エクステントにコピーされる。
【００６４】
レプリケーションコントローラ３０３は、ステップＳ３０６を実行すると、システム管理部３０１に制御を返す。するとシステム管理部３０１は、サブＬＤアドレス変換テーブル３２２ｂを更新する（ステップＳ３０７）。即ちシステム管理部３０１は、サブＬＤアドレス変換テーブル３２２ｂにおいて、論理エクステント番号ｉに対応付けられたエントリｉに設定されているＰＤＩＤ及び物理アドレスを、それぞれ、ステップＳ３０４またはＳ３０５で確保された物理エクステントのＰＤＩＤ及び物理アドレスに変更する。これにより、確保された物理エクステントは、特定されたマスタ物理エクステントに対応する新たなサブ物理エクステントとしてサブＬＤアドレス変換テーブル３２２ｂに登録される。
【００６５】
このときシステム管理部３０１は、ステップＳ２で特定されたサブ物理エクステントの物理エクステント番号（及びＰＤＩＤ）を空き物理エクステントリストに追加する。つまり、特定されたサブ物理エクステントは、空き物理エクステントとして空き物理エクステントリストに登録される。これにより、第１のコピー処理（ステップＳ３）は終了する。すると、システム管理部３０１はステップＳ４に進む。
【００６６】
一方、ステップＳ３０２の判定がＹｅｓの場合、レプリケーションコントローラ３０３は、特定されたマスタ及びサブ物理エクステントがそれぞれ同一の階層（上位階層）のストレージ装置（つまり、ＳＳＤ１１）内に存在すると判断する。つまりレプリケーションコントローラ３０３は、特定されたマスタ及びサブ物理エクステントの種類が同一（第１の種類）であると判断する。この場合、レプリケーションコントローラ３０３はステップＳ３０８に進む。
【００６７】
同様に、ステップＳ３０３の判定がＮｏの場合、レプリケーションコントローラ３０３は、特定されたマスタ及びサブ物理エクステントがそれぞれ同一の階層（下位階層）のストレージ装置（つまり、ＨＤＤ１２）内に存在すると判断する。つまりレプリケーションコントローラ３０３は、特定されたマスタ及びサブ物理エクステントの種類が同一（第２の種類）であると判断する。この場合も、レプリケーションコントローラ３０３はステップＳ３０８に進む。
【００６８】
ステップＳ３０８においてレプリケーションコントローラ３０３は、特定されたマスタ物理エクステント（第１の物理エクステント）内のデータを、特定されたサブ物理エクステント（第２の物理エクステント）にコピーする。これにより、特定されたサブ物理エクステントが現在割り当てられているサブ論理エクステントｉは、特定されたマスタ物理エクステントが現在割り当てられているマスタ論理エクステントｉに同期化される。すると第１のコピー処理（ステップＳ３）は終了し、レプリケーションコントローラ３０３はシステム管理部３０１に制御を返す。これを受けて、システム管理部３０１はステップＳ４に進む。
【００６９】
ステップＳ４においてシステム管理部３０１は、現在選択されているマスタ及びサブ論理エクステントｉの組が、マスタＬＤ２１１及びサブＬＤ２１２における最後の論理エクステントｎ−１の組であるかを判定する。もし、ステップＳ４の判定がＮｏであるならば、システム管理部３０１は論理エクステント番号ｉを１インクリメントした後、ステップＳ１に戻る。ステップＳ１においてシステム管理部３０１は、次のマスタ及びサブ論理エクステントｉ（ｉ＝ｉ＋１）の組を選択する。これに対し、ステップＳ４の判定がＹｅｓであるならば、システム管理部３０１はレプリケーション初期化処理を終了する。
【００７０】
さて、レプリケーション初期化処理が実行されているコピー状態においても、ホスト２０からストレージコントローラ１３にマスタＬＤ２１１へのデータ書き込みが要求される。ここで、マスタＬＤ２１１の論理エクステントｘ（ｘは０，１，…，ｎ−１のいずれか）へのデータの書き込みが要求されたものとする。この場合、レプリケーションコントローラ３０３は、マスタＬＤ２１１及びサブＬＤ２１２の論理エクステントｘの組にデータが書き込まれるように、アクセスコントローラ３０２を制御する。コピー状態におけるデータ書き込みの動作は、マスタＬＤ２１１及びサブＬＤ２１２それぞれの論理エクステントｘ（つまり、マスタ及びサブ論理エクステントｘ）の同期化が完了しているかによって異なる。マスタ及びサブ論理エクステントｘの同期化が完了しているかは、マスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂにおいて、マスタ及びサブ論理エクステントｘに対応付けられたエントリｘのＦ１フィールドによって示される。
【００７１】
もし、同期化が完了している場合、アクセスコントローラ３０２は、マスタ及びサブ論理エクステントｘに割り当てられているマスタ及びサブ物理エクステントの双方に、ホスト２０によって指定されたデータを書き込む。ここで、サブ物理エクステントは、マスタ物理エクステントと同一の種類である。つまり、マスタ物理エクステントがＳＳＤ１１内の高速物理エクステントであるならば、サブ物理エクステントもＳＳＤ１１内の高速物理エクステントである。このため、マスタＬＤ２１１及びサブＬＤ２１２へのデータの書き込みの性能が、サブ物理エクステントへのデータの書き込みの性能に依存して低下するおそれはない。
【００７２】
一方、同期化が完了していない場合、アクセスコントローラ３０２は、マスタ論理エクステントｘに割り当てられているマスタサブ物理エクステントのみにデータを書き込む。この書き込みの後、レプリケーションコントローラ３０３が、前述の第１のコピー処理（ステップＳ３）を実行する。これにより、マスタ及びサブ論理エクステントｘへの書き込みデータの書き込みと同時に、マスタ及びサブ論理エクステントｘが同期化される。この場合、システム管理部３０１は、マスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂにおいて、マスタ及びサブ論理エクステントｘに対応付けられたエントリ中のＦ１フィールドに設定されているフラグＦ１を、同期状態を示すように更新する。
【００７３】
なお、第１のコピー処理（ステップＳ３）におけるステップＳ３０６に代えて、アクセスコントローラ３０２（またはレプリケーションコントローラ３０３）が、ホスト２０によって指定されたデータを、確保された物理エクステントに書き込んでも構わない。同様に、第１のコピー処理（ステップＳ３）におけるステップＳ３０８に代えて、アクセスコントローラ３０２（またはレプリケーションコントローラ３０３）が、ホスト２０によって指定されたデータを特定されたサブ物理エクステントに書き込んでも構わない。
【００７４】
ところでホスト２０は、論理エクステントｘの一部へのデータの書き込みを要求することがある。この場合、アクセスコントローラ３０２（またはレプリケーションコントローラ３０３）は、ホスト２０によって指定されたデータ（書き込みデータ）と、特定されたマスタ物理エクステント内のデータとをマージして、そのマージされたデータを、確保されたマスタ物理エクステントまたは特定されたサブ物理エクステントに書き込めば良い。
【００７５】
ホスト２０からの書き込み要求に伴うマスタ及びサブ論理エクステントｘの同期化の後、前述のレプリケーション処理のステップＳ１で、当該マスタ及びサブ論理エクステントｘ（ｉ＝ｘ）の組が選択されたものとする。この場合、第１のコピー処理（ステップＳ３）は必ずしも必要でない。そこで、前記実施形態と異なって、選択されたマスタ及びサブ論理エクステントｘが同期化されているかを、例えばレプリケーションコントローラ３０３が判定しても良い。そして、選択されたマスタ及びサブ論理エクステントｘが同期化されている場合、アクセスコントローラ３０２は、第１のコピー処理（ステップＳ３）を抑止しても良い。つまり、第１のコピー処理（ステップＳ３）をスキップしてステップＳ４が実行されても良い。
【００７６】
次に、本実施形態で適用される、マスタＬＤ２１１及びサブＬＤ２１２の性能の最適化を図るための階層変更処理について、図７を参照して説明する。図７は、階層変更処理の典型的な手順を説明するためのフローチャートである。階層変更処理は、例えば、ユーザによる指定に基づくホスト２０からの要求に応じて起動される。この階層変更処理が、予め定められた階層変更スケジュールに基づくホスト２０からの要求に応じて起動されても構わない。本実施形態では、階層変更処理は、マスタＬＤ２１１及びサブＬＤ２１２が同期している状態で起動されるものとする。この場合、例えばマスタ及びサブ論理エクステントｉに割り当てられるマスタ及びサブ物理エクステントは、同一階層のストレージ装置内に存在する。
【００７７】
まず階層化コントローラ３０４は、階層変更の候補となるマスタ論理エクステントを、アクセスカウンタテーブル３２３に基づいて選択する（ステップＳ１１）。即ち階層化コントローラ３０４は、アクセスカウンタテーブル３２３内で最大のアクセスカウントＡＣＮＴを含むエントリｚを探して、当該エントリｚに対応付けられていて、且つマスタＬＤ２１１に含まれているマスタ論理エクステントｚ（第３の論理エクステント）を、階層変更の候補として選択する。
【００７８】
階層化コントローラ３０４は、ステップＳ１１を実行すると、システム管理部３０１に制御を渡す。するとシステム管理部３０１は、選択されたマスタ論理エクステントｚの論理エクステント番号ｚに基づいてアドレス変換テーブル３２２ａを参照することにより、当該マスタ論理エクステントｚに割り当てられているマスタ物理エクステント（第３の物理エクステント）を特定する（ステップＳ１２）。つまりシステム管理部３０１は、マスタ論理エクステントｚに割り当てられているマスタ物理エクステントのアドレス情報を取得する。
【００７９】
システム管理部３０１はステップＳ１２を実行すると、階層化コントローラ３０４に制御を返す。すると階層化コントローラ３０４は、選択されたマスタ論理エクステントｚに割り当てられる階層の変更が必要であるかを、特定されたマスタ物理エクステントがＨＤＤ１２内に存在するかに基づいて判定する（ステップＳ１３）。
【００８０】
もし、特定されたマスタ物理エクステントがＳＳＤ１１内に存在する高速物理エクステントである場合、階層化コントローラ３０４は、選択されたマスタ論理エクステントｚに割り当てられている階層は上位階層であり、したがって階層変更は必要ないと判定する（ステップＳ１３のＮｏ）。この場合、階層が変更されるべき論理エクステントが選択されなかったのと等価であり、階層化コントローラ３０４は、次のステップＳ１４（第１の再配置処理）をスキップしてステップＳ１５に進む。第１の再配置処理は、マスタ論理エクステントｚに割り当てられている階層を変更するために、当該マスタ論理エクステントｚに現在割り当てられているマスタ物理エクステント（低速物理エクステント）内のデータを、マスタ及びサブ論理エクステントｚ（第３及び第４の論理エクステント）に新たに割り当てられるべき２つの高速物理エクステント（第４及び第５の物理エクステント）に再配置（コピー）する処理を含む。
【００８１】
これに対し、特定されたマスタ物理エクステントがＨＤＤ１２内に存在する低速物理エクステントである場合、階層化コントローラ３０４は、選択されたマスタ論理エクステントｚに割り当てられている階層は下位階層であり、したがって階層変更は必要であると判定する（ステップＳ１３のＹｅｓ）。この場合、階層が変更されるべき論理エクステントとして、マスタ論理エクステントｚが選択されたのと等価であり、階層化コントローラ３０４は、第１の再配置処理（ステップＳ１４）を、システム管理部３０１と協同して次のように実行する。
【００８２】
まず階層化コントローラ３０４は、データの再配置先のストレージ装置（つまり、ＳＳＤ１１）内の２つの空き物理エクステント（第４及び第５の物理エクステント）を確保する（ステップＳ１４１）。次に階層化コントローラ３０４は、特定されたマスタ物理エクステント内のデータを、確保された２つの物理エクステントにコピー（再配置）する（ステップＳ１４２）。
【００８３】
なお、ＳＳＤ１１内に２つの空き物理エクステントが存在しない場合、階層化コントローラ３０４は、新たに空き物理エクステントに変更すべきＳＳＤ１１内の２つの物理エクステントを、マスタＬＤアドレス変換テーブル３２２ａ、サブＬＤアドレス変換テーブル３２２ｂ及びアクセスカウンタテーブル３２３に基づいて、次のように決定する。まず階層化コントローラ３０４は、高速物理エクステントが割り当てられているマスタ論理エクステントの中で、アクセスカウントＡＣＮＴが最小のマスタ論理エクステントｙを、マスタＬＤアドレス変換テーブル３２２ａ及びアクセスカウンタテーブル３２３に基づいて探す。
【００８４】
次に階層化コントローラ３０４は、マスタ論理エクステントｙに割り当てられているマスタ物理エクステント（高速物理エクステント）と、マスタ論理エクステントｙと同一論理エクステント番号ｙを有するサブ論理エクステントｙに割り当てられているサブ物理エクステント（高速物理エクステント）とを特定する。次に階層化コントローラ３０４は、特定されたマスタ物理エクステント内のデータを、ＨＤＤ１２内の２つの空き物理エクステント（つまり、低速物理エクステント）にコピーする。そして、データがコピーされた２つの物理エクステントを、マスタ及びサブ論理エクステントｙに割り当てられる新たなマスタ及びサブ物理エクステントに変更するために、システム管理部３０１は、マスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂを更新する。これにより、階層化コントローラ３０４は、ＳＳＤ１１内に２つの空き物理エクステントを確保することができる。
【００８５】
階層化コントローラ３０４は、ステップＳ１４２を実行すると、システム管理部３０１に制御を返す。するとシステム管理部３０１は、マスタＬＤアドレス変換テーブル３２２ａを更新する（ステップＳ１４３）。即ちシステム管理部３０１は、マスタＬＤアドレス変換テーブル３２２ａにおいて、論理エクステント番号ｚに対応付けられたエントリｚに設定されているＰＤＩＤ及び物理アドレスを、それぞれ、ステップＳ１４１で確保された例えば第４の物理エクステントのＰＤＩＤ及び物理アドレスに変更する。これにより、確保された第４の物理エクステントが、ステップＳ１２で特定されたマスタ物理エクステント（第３の物理エクステント）に代わる新たなマスタ物理エクステントとしてマスタＬＤアドレス変換テーブル３２２ａに登録される。
【００８６】
次にシステム管理部３０１は、サブＬＤアドレス変換テーブル３２２ｂを更新する（ステップＳ１４４）。即ちシステム管理部３０１は、サブＬＤアドレス変換テーブル３２２ｂにおいて、論理エクステント番号ｚに対応付けられたエントリｚに設定されているＰＤＩＤ及び物理アドレスを、それぞれ、ステップＳ１４１で確保された例えば第５の物理エクステントのＰＤＩＤ及び物理アドレスに変更する。これにより、確保された第５の物理エクステントが、今回の第１の再配置処理の前にサブ論理エクステントｚに割り当てられていたサブ物理エクステントに代わる新たなサブ物理エクステントとしてサブＬＤアドレス変換テーブル３２２ｂに登録される。なお、ステップＳ１４４が、ステップＳ１４３に先行して実行されても構わない。
【００８７】
システム管理部３０１は、ステップＳ１４３及びＳ１４４を実行すると、即ちステップＳ１４を実行すると、階層化コントローラ３０４に制御を返す。すると階層化コントローラ３０４は、ステップＳ１５に進む。
【００８８】
ステップＳ１５において階層化コントローラ３０４は、現在選択されているマスタ論理エクステントｚが、最後の階層変更候補であるかを、例えば次のように判定する。まず階層化コントローラ３０４は、階層変更処理において現在までに選択された階層変更候補の数を基準値と比較する。そして階層化コントローラ３０４は、選択された階層変更候補の数が基準値未満であるならば、マスタ論理エクステントｚは最後の階層変更候補ではないと判定する（ステップＳ１５のＮｏ）。これに対し、選択された階層変更候補の数が基準値に一致しているならば、マスタ論理エクステントｚは最後の階層変更候補であると判定する（ステップＳ１５のＹｅｓ）。
【００８９】
ステップＳ１５の判定がＮｏである場合、階層化コントローラ３０４はステップＳ１１に戻る。ステップＳ１１において階層化コントローラ３０４は、アクセスカウンタテーブル３２３内で次に大きいアクセスカウントＡＣＮＴを含むエントリｚを探して、当該エントリｚに対応付けられていて、且つマスタＬＤ２１１に含まれている新たなマスタ論理エクステントｚを、次の階層変更候補として選択する。つまり、階層化コントローラ３０４は、階層変更候補として未だ選択されていないマスタ論理エクステントの中で、最大のアクセスカウントＡＣＮＴを持つ新たなマスタ論理エクステントｚを、次の階層変更候補として選択する。以降の動作は、最初の階層変更候補が選択された場合と同様である。一方、ステップＳ１５の判定がＹｅｓである場合、階層化コントローラ３０４は、階層変更処理を終了する。
【００９０】
本実施形態における階層配置処理によれば、マスタ論理エクステントに割り当てられる物理エクステントが低速物理エクステントから高速物理エクステントに変更される場合、サブ論理エクステントに割り当てられる物理エクステントも低速物理エクステントから高速物理エクステントに変更される。これにより、マスタＬＤ２１１及びサブＬＤ２１２へのデータの書き込みの性能が、サブ物理エクステントへのデータの書き込みの性能に依存して低下するおそれはない。
【００９１】
＜変形例＞
前記実施形態において、マスタＬＤ２１１及びサブＬＤ２１２それぞれの少なくとも一部の領域が読み出し専用領域として用いられる場合を想定する。また、マスタＬＤ２１１及びサブＬＤ２１２それぞれの読み出し専用領域内の論理エクステントが、論理エクステントｉ（つまり、マスタ及びサブ論理エクステントｉ）であるものとする。
【００９２】
この場合、マスタ及びサブ論理エクステントｉに割り当てられているマスタ及びサブ物理エクステントにデータが書き込まれることはない。つまり、マスタＬＤ２１１及びサブＬＤ２１２それぞれの読み出し専用領域に関しては、同期化のためのデータ書き込みを考慮する必要はなく、したがって同期化のためのデータ書き込みに伴う性能の低下を考慮する必要はない。よって、例えば、ＳＳＤ１１内の物理エクステント（つまり、高速物理エクステント）が、マスタ論理エクステントｉに既に割り当てられている（または新たに割り当てられる）としても、ＳＳＤ１１内の別の物理エクステントを、サブ論理エクステントｉに必ずしも割り当てる必要はない。
【００９３】
本変形例の特徴は、マスタ及びサブ論理エクステントがマスタＬＤ２１１及びサブＬＤ２１２それぞれの読み出し専用領域に含まれている場合、サブ論理エクステントには常にＨＤＤ１２内の物理エクステント（つまり、低速エクステント）が割り当てられることにある。以下、本変形例の動作について、レプリケーション初期化処理を例に、図８を参照して説明する。図８は、本変形例に係るレプリケーション初期化処理の典型的な手順を説明するためのフローチャートである。
【００９４】
まず、システム管理部３０１は、前記実施形態におけるステップＳ１と同様に、マスタ及びサブ論理エクステントｉ（第１及び第２の論理エクステント）の組を選択する（ステップＳ２１）。次にシステム管理部３０１は、前記実施形態におけるステップＳ２と同様に、マスタ及びサブ論理エクステントｉに割り当てられているマスタ及びサブ物理エクステント（第１及び第２の物理エクステント）を特定する（ステップＳ２２）。そしてシステム管理部３０１は、レプリケーションコントローラ３０３に制御を渡す。このときシステム管理部３０１は、例えば、マスタＬＤアドレス変換テーブル３２２ａ及びサブＬＤアドレス変換テーブル３２２ｂにおいて、マスタ及びサブ論理エクステントｉに対応付けられているエントリｉのＦ２フィールドに設定されたフラグＦ２を、レプリケーションコントローラ３０３に渡す。
【００９５】
レプリケーションコントローラ３０３は、システム管理部３０１によって渡されたフラグＦ２に基づいて、選択されたマスタ及びサブ論理エクステントｉが、マスタＬＤ２１１及びサブＬＤ２１２それぞれの読み出し専用領域内に存在するかを判定する（ステップＳ２３）。なお、システム管理部３０１が、マスタＬＤアドレス変換テーブル３２２ａまたはサブＬＤアドレス変換テーブル３２２ｂのいずれか一方において、論理エクステントｉに対応付けられているエントリｉ中のフラグＦ２のみを、レプリケーションコントローラ３０３に渡しても構わない。
【００９６】
もし、選択されたマスタ及びサブ論理エクステントｉが読み出し専用領域内に存在しないならば（ステップＳ２３のＮｏ）、レプリケーションコントローラ３０３はステップＳ２４に進む。ステップＳ２４においてレプリケーションコントローラ３０３は、論理エクステント番号ｉに対応付けられたライトカウントＷＣＮＴｉが、閾値ＷＣＮＴＴＨ未満であるかを判定する。ライトカウントＷＣＮＴｉは、アクセスカウンタテーブル３２３において、論理エクステント番号ｉに対応付けられたエントリｉに設定されている。
【００９７】
もし、ライトカウントＷＣＮＴｉが閾値ＷＣＮＴＴＨ未満でないならば（ステップＳ２４のＮｏ）、レプリケーションコントローラ３０３は、マスタ及びサブ論理エクステントｉへのデータ書き込みの頻度は高いと判定する。この場合、レプリケーションコントローラ３０３は、前記実施形態におけるＳ３と同様に、システム管理部３０１と協同して第１のコピー処理を実行する（ステップＳ２５）。
【００９８】
一方、選択されたマスタ及びサブ論理エクステントｉが読み出し専用領域内に存在するならば（ステップＳ２３のＹｅｓ）、レプリケーションコントローラ３０３は、マスタ及びサブ論理エクステントｉに関し、同期化のためのデータ書き込みを考慮する必要はないと判断する。この場合、レプリケーションコントローラ３０３はステップＳ２６に進む。また、ライトカウントＷＣＮＴｉが閾値ＷＣＮＴＴＨ未満である場合（ステップＳ２４のＹｅｓ）、レプリケーションコントローラ３０３は、マスタ及びサブ論理エクステントｉへのデータ書き込みの頻度が低く、したがって同期化のためのデータ書き込みに伴う性能の低下を考慮する必要はないと判断する。そこで、この場合も、レプリケーションコントローラ３０３はステップＳ２６に進む。
【００９９】
ステップＳ２６においてレプリケーションコントローラ３０３は、システム管理部３０１と協同して第２のコピー処理を実行する。第２のコピー処理の内容は、第１のコピー処理と異なって、特定されたサブ物理エクステントがＳＳＤ１１内に存在するかのみに依存する。つまり、第２のコピー処理の内容は、特定されたマスタ物理エクステントがＳＳＤ１１内に存在するかには依存しない。以下、第２のコピー処理（ステップＳ２６）について、図９を参照して説明する。図９は、第２のコピー処理の典型的な手順を説明するためのフローチャートである。
【０１００】
まずレプリケーションコントローラ３０３は、特定されたサブ物理エクステント（第１の物理エクステント）がＳＳＤ１１内に存在するかを、当該サブ物理エクステントのアドレス情報中のＰＤＩＤに基づいて判定する（ステップＳ２６１）。もし、特定されたサブ物理エクステントがＳＳＤ１１内に存在するならば（ステップＳ２６１のＹｅｓ）、つまり特定されたサブ物理エクステントが高速物理エクステントであるならば、レプリケーションコントローラ３０３はステップＳ２６２に進む。ステップＳ２６２において、レプリケーションコントローラ３０３は、ＨＤＤ１２内の空き物理エクステント（つまり、特定されたサブ物理エクステントと異なる種類の空き物理エクステント）を確保する。
【０１０１】
次にレプリケーションコントローラ３０３は、特定されたマスタ物理エクステント内のデータを、確保された物理エクステント（第４の物理エクステント）にコピーする（ステップＳ２６３）。これにより、特定されたマスタ物理エクステントがＳＳＤ１１またはＨＤＤ１２のいずれに存在するかに無関係に、当該特定されたマスタ物理エクステント内のデータは、確保された物理エクステント（つまり、ＨＤＤ１２内の物理エクステント）にコピーされる。
【０１０２】
レプリケーションコントローラ３０３は、ステップＳ２６３を実行すると、システム管理部３０１に制御を返す。するとシステム管理部３０１は、サブＬＤアドレス変換テーブル３２２ｂを更新する（ステップＳ２６４）。即ちシステム管理部３０１は、サブＬＤアドレス変換テーブル３２２ｂにおいて、論理エクステント番号ｉに対応付けられたエントリｉに設定されているＰＤＩＤ及び物理アドレスを、それぞれ、ステップＳ２６２で確保された物理エクステントのＰＤＩＤ及び物理アドレスに変更する。これにより、第２のコピー処理（ステップＳ２６）は終了し、レプリケーションコントローラ３０３はシステム管理部３０１に制御を返す。すると、システム管理部３０１はステップＳ２７に進む。
【０１０３】
一方、特定されたサブ物理エクステントがＳＳＤ１１内に存在しないならば（ステップＳ２６１のＮｏ）、つまり特定されたサブ物理エクステントが低速物理エクステントであるならば、レプリケーションコントローラ３０３はステップＳ２６５に進む。ステップＳ２６５においてレプリケーションコントローラ３０３は、特定されたマスタ物理エクステント（第１の物理エクステント）内のデータを、特定されたサブ物理エクステント（第２の物理エクステント）にコピーする。このコピーにより、特定されたサブ物理エクステントが現在割り当てられているサブ論理エクステントｉは、特定されたマスタ物理エクステントが現在割り当てられているマスタ論理エクステントｉに同期化される。これにより、第２のコピー処理（ステップＳ２６）は終了し、レプリケーションコントローラ３０３はシステム管理部３０１に制御を返す。すると、システム管理部３０１はステップＳ２７に進む。
【０１０４】
ステップＳ２７においてシステム管理部３０１は、現在選択されているマスタ及びサブ論理エクステントｉの組が、マスタＬＤ２１１及びサブＬＤ２１２における最後の論理エクステントｎ−１の組であるかを、前記実施形態におけるステップＳ４と同様に判定する。もし、ステップＳ２７の判定がＮｏであるならば、システム管理部３０１は論理エクステント番号ｉを１インクリメントした後、ステップＳ２１に戻る。ステップＳ２１においてシステム管理部３０１は、次のマスタ及びサブ論理エクステントｉ（ｉ＝ｉ＋１）の組を選択する。これに対し、ステップＳ２７の判定がＹｅｓであるならば、システム管理部３０１はレプリケーション初期化処理を終了する。
【０１０５】
本変形例におけるレプリケーション初期化処理によれば、マスタ論理エクステントに割り当てられている物理エクステントが高速物理エクステントである場合でも、当該マスタ論理エクステントが読み出し専用領域に含まれているか、或いは当該マスタ論理エクステントへのデータ書き込みの頻度が低いならば、サブ論理エクステントに高速物理エクステントが割り当てられるのを抑止する。これにより、高価で小容量のＳＳＤ１１のリソースを節約することができる。
【０１０６】
次に、本変形例に係る階層変更処理について、図１０を参照して説明する。図１０は、階層変更処理の典型的な手順を説明するためのフローチャートである。本変形例においても、階層変更処理は前記実施形態と同様に、マスタＬＤ２１１及びサブＬＤ２１２が同期している状態で起動されるものとする。この場合、例えばマスタ及びサブ論理エクステントｚに割り当てられるマスタ及びサブ物理エクステントは、同一階層のストレージ装置内に存在するとは限らない。但し、マスタ物理エクステントがＨＤＤ１２内の物理エクステント（つまり、低速物理エクステント）である場合、サブ物理エクステントも低速物理エクステントである点に注意すべきである。
【０１０７】
まず階層化コントローラ３０４は、前記実施形態におけるステップＳ１１と同様に、階層変更の候補となるマスタ論理エクステントｚ（第３の論理エクステント）を、アクセスカウンタテーブル３２３に基づいて選択する（ステップＳ３１）。階層化コントローラ３０４は、ステップＳ３１を実行すると、システム管理部３０１に制御を渡す。するとシステム管理部３０１は、前記実施形態におけるステップＳ１２と同様に、選択されたマスタ論理エクステントｚに割り当てられているマスタ物理エクステント（第３の物理エクステント）を特定する（ステップＳ３２）。
【０１０８】
システム管理部３０１はステップＳ３２を実行すると、階層化コントローラ３０４に制御を返す。すると階層化コントローラ３０４は、前記実施形態におけるステップＳ１３と同様に、選択されたマスタ論理エクステントｚに割り当てられる階層の変更が必要であるか判定する（ステップＳ３３）。
【０１０９】
もし、特定されたマスタ物理エクステントがＳＳＤ１１内に存在する場合、階層化コントローラ３０４は、階層変更は必要ないと判定する（ステップＳ３３のＮｏ）。この場合、階層化コントローラ３０４は、前記実施形態におけるステップＳ１５に相当するステップＳ３８に進む。
【０１１０】
これに対し、特定されたマスタ物理エクステントがＨＤＤ１２内に存在する場合、階層化コントローラ３０４は、階層変更は必要であると判定する（ステップＳ３３のＹｅｓ）。この場合、階層化コントローラ３０４は、選択されたマスタ論理エクステントｚ及び当該マスタ論理エクステントｚに対応付けられているサブ論理エクステントｚが、マスタＬＤ２１１及びサブＬＤ２１２それぞれの読み出し専用領域内に存在するかを判定する（ステップＳ３４）。
【０１１１】
サブ論理エクステントｚは、例えばシステム管理部３０１が、マスタ論理エクステントｚの論理エクステント番号ｚに基づいてサブＬＤアドレス変換テーブル３２２ｂ内のエントリｚを参照することにより特定される。サブ論理エクステントｚが割り当てられるサブ物理エクステントも、サブＬＤアドレス変換テーブル３２２ｂ内のエントリｚに基づいて特定される。また、ステップＳ３４の判定は、本変形例におけるステップＳ２３（図８）と同様に、マスタ及びサブ論理エクステントｚに対応付けられているエントリｚのＦ２フィールドに設定されたフラグＦ２に基づいて実行される。
【０１１２】
もし、マスタ及びサブ論理エクステントｚが読み出し専用領域内に存在しないならば（ステップＳ３４のＮｏ）、階層化コントローラ３０４は、ステップＳ３５に進む。ステップＳ３５において階層化コントローラ３０４は、論理エクステント番号ｚに対応付けられたライトカウントＷＣＮＴｚが、閾値ＷＣＮＴＴＨ未満であるかを判定する。
【０１１３】
もし、ライトカウントＷＣＮＴｚが閾値ＷＣＮＴＴＨ未満でないならば（ステップＳ３５のＮｏ）、階層化コントローラ３０４はステップＳ３６に進む。ステップＳ３６において階層化コントローラ３０４は、前記実施形態におけるＳ１４と同様に、システム管理部３０１と協同して第１の再配置処理を実行する。これにより、特定されたマスタ物理エクステント（第３の物理エクステント）のデータは、新たなマスタ及びサブ物理エクステントとして用いられるＳＳＤ１１内の２つの空き物理エクステント（第４及び第５の物理エクステント）にコピー（再配置）される。すると階層化コントローラ３０４は、ステップＳ３８に進む。
【０１１４】
一方、選択されたマスタ及びサブ論理エクステントｚが読み出し専用領域内に存在するならば（ステップＳ３４のＹｅｓ）、階層化コントローラ３０４はステップＳ３７に進む。また、ライトカウントＷＣＮＴｚが閾値ＷＣＮＴＴＨ未満である場合にも（ステップＳ３５のＹｅｓ）、階層化コントローラ３０４はステップＳ３７に進む。
【０１１５】
ステップＳ３７において階層化コントローラ３０４は、システム管理部３０１と協同して第２の再配置処理を実行する。第２の再配置処理の特徴は、特定されたマスタ物理エクステント内のデータを、第１の再配置処理と異なって、マスタ論理エクステントｚに新たに割り当てられるべき１つの高速物理エクステント（ＳＳＤ１１内の１つの空き物理エクステント）のみに再配置（コピー）する点にある。以下、第２の再配置処理（ステップＳ３７）について、図１１を参照して説明する。図１１は、第２の再配置処理の典型的な手順を説明するためのフローチャートである。
【０１１６】
まず階層化コントローラ３０４は、ＳＳＤ１１内の１つの空き物理エクステントを確保する（ステップＳ３７１）。次に階層化コントローラ３０４は、特定されたマスタ物理エクステント（第３の物理エクステント）内のデータを、確保された物理エクステント（第６の物理エクステント）にコピー（再配置）する（ステップＳ３７２）。
【０１１７】
階層化コントローラ３０４は、ステップＳ３７２を実行すると、システム管理部３０１に制御を渡す。するとシステム管理部３０１は、マスタＬＤアドレス変換テーブル３２２ａを更新する（ステップＳ３７３）。即ちシステム管理部３０１は、マスタＬＤアドレス変換テーブル３２２ａにおいて、論理エクステント番号ｚに対応付けられたエントリｚに設定されているＰＤＩＤ及び物理アドレスを、それぞれ、ステップＳ３７１で確保された物理エクステントのＰＤＩＤ及び物理アドレスに変更する。これにより、第２の配置処理（ステップＳ３７）は終了し、システム管理部３０１は階層化コントローラ３０４に制御を返す。すると、階層化コントローラ３０４はステップＳ３８に進む。
【０１１８】
上述の第２の配置処理（ステップＳ３７）によれば、ステップＳ３７１で確保された物理エクステント（第６の物理エクステント）が、ステップＳ３２で特定されたマスタ物理エクステント（第３の物理エクステント）に代えてマスタ論理エクステントｚに新たに割り当てられるマスタ物理エクステントとして、マスタＬＤアドレス変換テーブル３２２ａに登録される。つまり、マスタ物理エクステントが、低速物理エクステントから高速物理エクステントに変更される。これに対し、サブ物理エクステントは低速物理エクステントに維持される。
【０１１９】
ステップＳ３８において階層化コントローラ３０４は、前記実施形態におけるステップＳ１５と同様に、現在選択されているマスタ論理エクステントｚが、最後の階層変更候補であるかを判定する。ステップＳ３８の判定がＮｏである場合、階層化コントローラ３０４はステップＳ３１に戻る。一方、ステップＳ３８の判定がＹｅｓである場合、階層化コントローラ３０４は、階層変更処理を終了する。
【０１２０】
本変形例における階層変更処理によれば、マスタ論理エクステントに割り当てられる物理エクステントが低速物理エクステントから高速物理エクステントに変更されても、当該マスタ論理エクステントが読み出し専用領域に含まれているか、或いは当該マスタ論理エクステントへのデータ書き込みの頻度が低いならば、サブ論理エクステントに高速物理エクステントが割り当てられるのを抑止する。これにより、高価で小容量のＳＳＤ１１のリソースを節約することができる。
【０１２１】
前記変形例で適用されるレプリケーション初期化処理及び階層変更処理は、制御プログラム３２１によって予め定められている。しかし、前記実施形態で適用されるようなレプリケーション初期化処理及び階層変更処理と、前記変形例で適用されるようなレプリケーション初期化処理及び階層変更処理のいずれを実行するかが、ユーザによる指定に基づくホスト２０からの要求に応じて決定されても構わない。
【０１２２】
以上説明した少なくとも１つの実施形態によれば、ホストによって認識される論理ディスクへのデータの書き込みの性能の低下を防止できる。
【０１２３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【要約】
実施形態によれば、階層化ストレージシステムは、上位階層のストレージ装置として用いられる第１のストレージ装置と、下位階層のストレージ装置として用いられる第２のストレージ装置と、ストレージコントローラとを含む。ストレージコントローラ内のレプリケーションコントローラは、第１及び第２の論理ディスクを、それぞれマスタ及びサブ論理ディスクとして同期化するためのレプリケーション初期化処理において、前記第１の論理ディスク内の第１の論理エクステントに対応する前記第２の論理ディスク内の第２の論理エクステントに割り当てられる物理エクステントの種類を、前記第１の論理エクステントに現在割り当てられている第１の物理エクステントの種類に一致させる。【図１】
0006022116.tif 000002
【図２】
0006022116.tif 000003
【図３】
0006022116.tif 000004
【図４】
0006022116.tif 000005
【図５】
0006022116.tif 000006
【図６】
0006022116.tif 000007
【図７】
0006022116.tif 000008
【図８】
0006022116.tif 000009
【図９】
0006022116.tif 000010
【図１０】
0006022116.tif 000011
【図１１】
0006022116.tif 000012