(57)【特許請求の範囲】
【請求項１】
複数階層の記憶部における所定アクセス単位のデータ（以下、データ単位という）の配置状態を制御する制御装置であって、
前記データ単位について複数種類の性能情報を採取する採取部と、
前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する移動判定部と、
前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する移動制御部と、を有し、
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、制御装置。
【請求項２】
前記移動判定部は、前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を、前記複数階層の記憶部のうち前記保存中の記憶部よりも下位階層の記憶部への移動対象と判定し、
前記採取部によって採取される前記アクセス頻度を保存する第１テーブルと、
前記採取部によって採取される前記ストレートアクセス率を保存する第２テーブルと、
前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定する切換判定部と、
前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記移動判定部が前記第１テーブルおよび前記第２テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記移動判定部が前記第１テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える切換制御部と、を有する、請求項１に記載の制御装置。
【請求項３】
前記切換制御部は、
前記下位階層の記憶部への移動対象の判定を行なう状態から、前記上位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第２テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率を保存する領域を確保する一方、
前記上位階層の記憶部への移動対象の判定を行なう状態から、前記下位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第２テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率を保存する領域を解放する、請求項２に記載の制御装置。
【請求項４】
複数階層の記憶部における所定アクセス単位のデータ（以下、データ単位という）の配置状態を制御する制御装置であって、
前記データ単位について複数種類の性能情報を採取する採取部と、
前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する移動判定部と、
前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する移動制御部と、を有し、
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位のキャッシュヒット率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、制御装置。
【請求項５】
前記移動判定部は、前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を、前記複数階層の記憶部のうち前記保存中の記憶部よりも下位階層の記憶部への移動対象と判定し、
前記採取部によって採取される前記アクセス頻度を保存する第１テーブルと、
前記採取部によって採取される前記キャッシュヒット率を保存する第２テーブルと、
前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定する切換判定部と、
前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記移動判定部が前記第１テーブルおよび前記第２テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記移動判定部が前記第１テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える切換制御部と、を有する、請求項４に記載の制御装置。
【請求項６】
前記切換制御部は、
前記下位階層の記憶部への移動対象の判定を行なう状態から、前記上位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第２テーブルにおいて、前記データ単位に対応する前記キャッシュヒット率を保存する領域を確保する一方、
前記上位階層の記憶部への移動対象の判定を行なう状態から、前記下位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第２テーブルにおいて、前記データ単位に対応する前記キャッシュヒット率を保存する領域を解放する、請求項５に記載の制御装置。
【請求項７】
複数階層の記憶部における所定アクセス単位のデータ（以下、データ単位という）の配置状態を制御する制御装置であって、
前記データ単位について複数種類の性能情報を採取する採取部と、
前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する移動判定部と、
前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する移動制御部と、を有し、
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率と、前記データ単位のキャッシュヒット率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満で且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても、前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合または前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、制御装置。
【請求項８】
前記移動判定部は、前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を、前記複数階層の記憶部のうち前記保存中の記憶部よりも下位階層の記憶部への移動対象と判定し、
前記採取部によって採取される前記アクセス頻度を保存する第１テーブルと、
前記採取部によって採取される前記ストレートアクセス率および前記キャッシュヒット率を保存する第２テーブルと、
前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定する切換判定部と、
前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記移動判定部が前記第１テーブルおよび前記第２テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記移動判定部が前記第１テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える切換制御部と、を有する、請求項７に記載の制御装置。
【請求項９】
前記切換制御部は、
前記下位階層の記憶部への移動対象の判定を行なう状態から、前記上位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第２テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率を保存する領域を確保する一方、
前記上位階層の記憶部への移動対象の判定を行なう状態から、前記下位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第２テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率を保存する領域を解放する、請求項８に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関する。
【背景技術】
【０００２】
ストレージシステムでは、ＡＳＴ（Automated Storage Tiering）技術が導入されている。ＡＳＴは、所定のポリシに従って、ストレージ階層間でデータを自動的に移動させ再配置する技術である。例えば、レスポンスは高速であるが容量当たりの単価が高価なＳＳＤ（Solid State Drive）と、レスポンスは低速であるが容量当たりの単価が低価なＨＤＤ（Hard Disk Drive）とで、ストレージ階層が構築される。そして、アクセス頻度が高いデータ単位は、ＳＳＤに移動させて再配置される一方、アクセス頻度が低いデータ単位は、ＨＤＤに移動させて再配置される。これにより、ストレージシステムにおいて、大容量を維持しつつ高性能化（レスポンスの高速化）を実現することができる。
【０００３】
ここで、図９を参照しながら、ＡＳＴ技術を適用されたストレージシステムの概略的な構成および動作について説明する。図９に示すストレージシステムは、２つのホストコンピュータ（以下、単にホストという）＃０，＃１と、複数の記憶部（ＳＳＤ，ＨＤＤ等）を含む親プール（ＦＴＲＰ；Flexible TieR Pool）と、制御装置とを有する。
【０００４】
当該制御装置は、ホスト＃０，＃１と親プールＦＴＲＰとの間に備えられ、それぞれホスト＃０，＃１からの入出力要求に応じて親プールＦＴＲＰに対する入出力制御を行なう２つの制御部（ＣＭ；Controller Module）＃０，＃１を有している。ＣＭ＃０，＃１には、親プールＦＴＲＰにおけるデータ単位を一時的に保持するキャッシュメモリが備えられている。ＣＭ＃０とＣＭ＃１との間はＣＭ間通信可能に接続されている。
【０００５】
親プールＦＴＲＰでは、上記複数の記憶部を用いて、ＲＡＩＤの異なる複数の子プールＦＴＳＰ、あるいは、ＲＡＩＤを構成するディスクの種類の異なる複数の子プールＦＴＳＰが作成され、ストレージ階層が形成されている。なお、ＲＡＩＤはRedundant Arrays of Inexpensive Disksの略記であり、ＦＴＳＰはFlexible Tier Sub Poolの略記である。
【０００６】
特に、図９に示す親プールＦＴＲＰでは、３つの子プールＦＴＳＰ＃０，ＦＴＳＰ＃１およびＦＴＳＰ＃２が作成され、子プールＦＴＳＰ＃０はＣＭ＃０の制御下にあり、子プールＦＴＳＰ＃１およびＦＴＳＰ＃２はＣＭ＃１の制御下にある。また、子プールＦＴＳＰ＃０が最も高い性能（最も速いレスポンス）を有し、子プールＦＴＳＰ＃１が２番目に高い性能（２番目に速いレスポンス）を有し、子プールＦＴＳＰ＃２が最も低い性能（最も遅いレスポンス）を有している。例えば、子プールＦＴＳＰ＃０はＳＳＤであり、子プールＦＴＳＰ＃１はＲＡＩＤ１またはオンラインＨＤＤであり、子プールＦＴＳＰ＃２はＲＡＩＤ５またはニアラインＨＤＤである。
【０００７】
このようなストレージシステムにおいて、ＡＳＴのボリューム（論理ボリューム）は、親プールＦＴＲＰに関連付けられる。ＡＳＴのボリュームには、親プールＦＴＲＰに書き込まれた段階で子プールＦＴＳＰ＃０〜＃２から細かく分割された単位（ＴＰＰＥ；Thin Provisioning Pool Element）が割り当てられる。当該単位はチャンクと呼ばれ、複数の当該単位を一つのグループにまとめたものは、ＦＴＲＰＥ，チャンク群，チャンクグループ，データブロック，移動単位もしくはデータ単位と呼ばれる。
【０００８】
そして、データ単位ごとに、性能情報が収集される。性能情報は、例えば、当該データ単位に対するアクセス頻度（所定単位時間当たりのアクセス回数）である。収集されたアクセス頻度に基づき、各データ単位について、上位階層の子プールに移動するか、下位階層の子プールに移動するか、移動を行なわないかの判定が行なわれ、その判定結果に従って各データ単位の移動・再配置が行なわれる。例えば図９に示すように、子プールＦＴＳＰ＃１に配置されているデータ単位Ｄ０についてのアクセス頻度が所定閾値よりも高くなると、矢印Ａ０で示すように、当該データ単位Ｄ０は、子プールＦＴＳＰ＃１から上位階層の子プールＦＴＳＰ＃０へ移動され再配置される。
【０００９】
なお、下記特許文献１では、互いに接続された複数のキャッシュモジュールと、各キャッシュモジュールに接続されるストレージモジュールとを含むストレージシステムのキャッシュ動作を制御するキャッシュ制御装置が開示されている。当該キャッシュ制御装置では、あるキャッシュモジュールが管理するページのうち、アクセス要求を受ける可能性の高いページは当該キャッシュモジュールのメモリに保持される。一方、アクセス要求を受ける可能性の低いページは、他のキャッシュモジュールに割り当てられる。
【００１０】
また、下記特許文献２では、仮想論理ボリュームの使用率が閾値を超えること且つ仮想論理ボリュームの記憶領域に対応する物理的な記憶領域が他の制御部で管理されている場合に、当該仮想論理ボリュームを実論理ボリュームにマイグレーションする技術が開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０００−１８１７６３号公報
【特許文献２】特開２０１１−１３８００号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述したように、データ単位ごとに性能情報としてアクセス頻度を収集し、単にアクセス頻度の高いデータ単位を上位階層に移動し再配置すると、下記項目(1),(2)のような場合、性能が低下する可能性がある。
【００１３】
(1) データ単位の移動前には当該データ単位に対しストレートアクセスが行なわれ、当該データ単位の移動後には当該データ単位に対しクロスアクセスが行なわれる場合。例えば図９に示すように、移動前のデータ単位Ｄ０がＣＭ＃１配下の子プールＦＴＳＰ＃１に配置された状態で、ホスト＃１からデータ単位Ｄ０に対する入出力要求を受けると、データ単位Ｄ０に対するストレートアクセスが行なわれる（図９の矢印(i)参照）。このような状態が、データ単位Ｄ０をＣＭ＃０配下における上位階層の子プールＦＴＳＰ＃０へ移動し再配置した状態に変更されたとする（図９の矢印Ａ０参照）。移動後の状態で、ホスト＃１からデータ単位Ｄ０に対する入出力要求を受けると、ＣＭ＃１とＣＭ＃０との間での通信を含むクロスアクセスが、子プールＦＴＳＰ＃０上のデータ単位Ｄ０に対して行なわれる（図９の矢印(ii)参照）。クロスアクセスはストレートアクセスと異なりＣＭ間通信を含むため、クロスアクセスが生じるとレスポンスが遅くなり性能の低下を招くことになる。
【００１４】
(2) 移動しようとしているデータ単位のキャッシュヒット率が高くディスクへのアクセスがほとんど発生していない場合。例えば図９に示すように、移動対象のデータ単位Ｄ０がＣＭ＃１のキャッシュメモリに保持された状態で、ホスト＃１からデータ単位Ｄ０に対する入出力要求を受けると、移動対象のデータ単位Ｄ０のキャッシュヒット率が高くなる（矢印(iii)参照）。したがって、子プールＦＴＳＰ＃１へのアクセスがほとんど発生しなくなる。このような状態が、データ単位Ｄ０をＣＭ＃０配下における上位階層の子プールＦＴＳＰ＃０へ移動し再配置した状態に変更されると（図９の矢印Ａ０参照）、データ単位Ｄ０はＣＭ＃１のキャッシュメモリでヒットしなくなり、性能の低下を招くことになる。
【００１５】
一つの側面で、本発明は、性能の低下を招くことなく、階層間でデータの再配置を行なえるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
本件の制御装置は、複数階層の記憶部における所定アクセス単位のデータ（以下、データ単位という）の配置状態を制御するもので、採取部，移動判定部および移動制御部を有する。前記採取部は、前記データ単位について複数種類の性能情報を採取する。移動判定部は、前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する。前記移動制御部は、前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する。ここで、前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率とを採取する。そして、前記移動判定部は、前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する。
また、本件の制御装置は、複数階層の記憶部における所定アクセス単位のデータの配置状態を制御するもので、採取部，移動判定部および移動制御部を有する。前記採取部は、前記データ単位について複数種類の性能情報を採取する。移動判定部は、前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する。前記移動制御部は、前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する。ここで、前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位のキャッシュヒット率とを採取する。そして、前記移動判定部は、前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する。
さらに、本件の制御装置は、複数階層の記憶部における所定アクセス単位のデータの配置状態を制御するもので、採取部，移動判定部および移動制御部を有する。前記採取部は、前記データ単位について複数種類の性能情報を採取する。移動判定部は、前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する。前記移動制御部は、前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する。ここで、前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率と、前記データ単位のキャッシュヒット率とを採取する。そして、前記移動判定部は、前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満で且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても、前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合または前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する。
【発明の効果】
【００１７】
性能の低下を招くことなく、階層間でデータの再配置を行なうことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態としての制御装置を含むストレージシステムのハードウエア構成を示すブロック図である。
【図２】図１に示す制御装置の機能構成を示すブロック図である。
【図３】図２に示すＣＭにおける採取部の動作を説明するフローチャートである。
【図４】第１テーブルの例を示す図である。
【図５】第２テーブルの例を示す図である。
【図６】図２に示すＣＭにおける移動判定部，移動制御部，切換判定部および切換制御部の動作を説明するフローチャートである。
【図７】図６の第１処理（ステップＳ２３の処理）を説明するフローチャートである。
【図８】図６の第２処理（ステップＳ２５の処理）を説明するフローチャートである。
【図９】ＡＳＴ技術を適用されたストレージシステムの概略的な構成，動作および課題を説明する図である。
【発明を実施するための形態】
【００１９】
以下に、図面を参照し、本願の開示する制御装置の実施形態について、詳細に説明する。ただし、以下に示す実施形態は、あくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能を含むことができる。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００２０】
〔１〕本実施形態の概要
図９を参照しながら上述したように、上記項目(1),(2)の場合については、単にアクセス頻度の高いデータ単位を上位階層に移動し再配置しただけでは、性能が低下する可能性がある。
【００２１】
そこで、本実施形態の制御装置は、複数階層の記憶部における所定アクセス単位のデータの配置状態をデータ単位ごとに制御するものであって、データ単位ごとに複数種類の性能情報を採取する（採取部）。そして、当該制御装置は、採取された複数種類の性能情報に基づき各データ単位を、保存中の記憶部から上位階層の記憶部に移動するか否かを判定し（移動判定部）、当該判定結果に従って、各データ単位を複数階層の記憶部間で移動する（移動制御部）。
【００２２】
このとき、データ単位ごとに採取される複数種類の性能情報には、例えば、後述のごとく上位階層への移動判定および下位階層への移動判定の両方で用いられるアクセス頻度が含まれる。また、複数種類の性能情報には、例えば、後述のごとく上位階層への移動判定で用いられる、ストレートアクセス率およびキャッシュヒット率の少なくとも一方が含まれる。なお、本実施形態では、ストレートアクセス率およびキャッシュヒット率の両方が、前記複数種類の性能情報として採取される場合について説明する。
【００２３】
ここで、最低限必要な性能情報であるアクセス頻度は、後述するように、データ単位ごとに採取され、第１テーブル（図４の符号Ｔ１参照）に登録される。また、詳細な性能情報であるストレートアクセス率およびキャッシュヒット率は、後述するように、アクセス頻度が比較的高く上位階層への移動の可能性の高いデータ単位について採取され、第２テーブル（図５の符号Ｔ２参照）に登録される。
【００２４】
このとき、アクセス頻度が比較的高いデータ単位が存在する場合、本実施形態の制御装置は、当該データ単位を直ちに上位階層への移動対象と判定せず、第２テーブルＴ２を格納するメモリ領域（図２の第２テーブル情報格納領域１２２ｂ参照）を確保し上記詳細な性能情報を採取してから上位階層への移動判定を行なう。そして、当該データ単位のアクセス頻度が低くなった場合、本実施形態の制御装置は、第２テーブルＴ２のために確保されたメモリ領域を解放する。これにより、本実施形態の制御装置は、第２テーブルＴ２のために要するメモリ容量の増加を必要最小限に抑えつつ、詳細な性能情報であるストレートアクセス率およびキャッシュヒット率を採取することができる。
【００２５】
そして、データ単位について採取されたアクセス頻度が高い場合であっても、当該データ単位について採取されたストレートアクセス率が高い場合、上記項目(1)の場合に該当すると考えられる。そこで、このような場合、本実施形態の制御装置は、当該データ単位を上位階層に移動しても性能の低下を招く可能性があると判断し、当該データ単位を上位階層への移動対象としない。
【００２６】
同様に、データ単位について採取されたアクセス頻度が高い場合であっても、当該データ単位について採取されたキャッシュヒット率が高い場合、上記項目(2)の場合に該当すると考えられる。そこで、このような場合、本実施形態の制御装置は、当該データ単位を上位階層に移動しても性能の低下を招く可能性があると判断し、当該データ単位を上位階層への移動対象としない。
【００２７】
〔２〕本実施形態の構成
まず、図１に示すブロック図を参照しながら、本発明の一実施形態としての制御装置１０を含むストレージシステム１のハードウエア構成について説明する。
【００２８】
図１に示すストレージシステム１は、ＡＳＴ技術を適用され、２つのホスト２（ホスト＃０，＃１）と、複数のＳＳＤ，ＨＤＤ等を含む親プール（ＦＴＲＰ；ディスクエンクロージャ）３と、２つのＣＭ１２（ＣＭ＃０，＃１）を含む制御装置１０とを有する。
【００２９】
親プール（ＦＴＲＰ）３では、複数のＳＳＤ，ＨＤＤ等を用いて、ＲＡＩＤの異なる複数の子プール（ＦＴＳＰ）３０〜３２、あるいは、ＲＡＩＤを構成するディスクの種類の異なる複数の子プール（ＦＴＳＰ）３０〜３２が作成され、ストレージ階層が形成されている。
【００３０】
特に、図１に示す親プール３では、３つの子プール（複数種類の記憶部）３０，３１，３２（ＦＴＳＰ＃０，＃１，＃２）が作成され、例えば、子プール３０はＣＭ＃０の制御下にあり、子プール３１および３２はＣＭ＃１の制御下にある。また、子プール３０が最も高い性能（最も速いレスポンス）を有し、子プール３１が２番目に高い性能（２番目に速いレスポンス）を有し、子プール３２が最も低い性能（最も遅いレスポンス）を有している。例えば、子プール３０はＳＳＤであり、子プール３１はＲＡＩＤ１またはオンラインＨＤＤであり、子プール３２はＲＡＩＤ５またはニアラインＨＤＤである。
【００３１】
図９に示した例と同様、本実施形態のストレージシステム１においても、ＡＳＴのボリューム（論理ボリューム）は、親プール３に関連付けられる。ＡＳＴのボリュームには、親プール３に書き込まれた段階で子プール３０〜３２から分割された単位（ＴＰＰＥ）が割り当てられる。当該単位はチャンクと呼ばれる。また、複数の当該単位を一つのグループにまとめたものが、所定アクセス単位のデータであり、ＦＴＲＰＥ，チャンク群，データブロック，移動単位もしくはデータ単位と呼ばれる。以下、本実施形態では、当該所定アクセス単位のデータをデータ単位と呼ぶ。
【００３２】
本実施形態の制御装置１０は、ホスト＃０，＃１と親プール３との間に備えられる。そして、制御装置１０は、ＣＡ（Channel Adapter）１１と、２つの制御部１２（ＣＭ＃０，＃１）とを有する。
【００３３】
ＣＡ１１は、ホスト＃０，＃１のそれぞれに対応して備えられ、ホスト２に接続され各ホスト２との通信を制御するインタフェースである。
【００３４】
ＣＭ（コンピュータ）１２は、それぞれホスト＃０，＃１からの入出力要求（Ｉ／Ｏコマンド）に応じて親プール３に対する入出力制御を行なうもので、ＣＰＵ（Central Processing Unit）１２１，メモリ１２２，ＤＡ（Device Adaper）１２３およびＦＲＴ（Front-end RouTer）１２４を有する。
【００３５】
メモリ１２２は、ＲＡＭ（Random Access Memory），ＨＤＤ，ＳＳＤ等である。メモリ１２２は、親プール３（子プール３０〜３２）に対するアクセスを行なう際に親プール３におけるデータ単位を一時的に保持するキャッシュメモリとして機能する。また、メモリ１２２は、ＣＰＵ１２１が演算処理を行なう際のメインメモリとして機能する。メモリ１２２には、第１テーブルＴ１（図４参照）用の情報を保存する第１テーブル情報格納領域１２２ａ（図２参照）が確保されるとともに、第２テーブルＴ２（図５参照）用の情報を保存する第２テーブル情報格納領域１２２ｂ（図２参照）が必要に応じて確保される。さらに、メモリ１２２には、上記キャッシュメモリとして機能するキャッシュ領域１２２ｃが確保される。
【００３６】
さらに、メモリ１２２には、後述する第１閾値〜第５閾値も予め設定され保存されてもよい。メモリ１２２には、ＣＰＵ１２１を、図２を参照しながら後述する各部１２１ａ〜１２１ｅとして機能させるべくＣＰＵ１２１によって実行される制御プログラムが保存されてもよい。第１閾値〜第５閾値は、上記制御プログラムに組み込まれる形で設定されてもよい。
【００３７】
なお、上記制御プログラムは、フレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど），ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、ＣＰＵ１２１は、上記制御プログラムを、当該記録媒体から読み取って内部記憶装置（例えばメモリ１２２）または外部記憶装置に転送し格納して用いる。
【００３８】
ＤＡ１２３は、親プール３と接続され親プール３（各子プール３０〜３２）に対するアクセスを制御するインタフェースである。
【００３９】
ＦＲＴ１２４は、通信経路を介して他のＣＭ１２のＦＲＴ１２４に接続され、ＣＭ１２間で行なう通信を制御するインタフェースである。ＦＲＴ１２４によって、ＣＭ＃０とＣＭ＃１との間はＣＭ間通信可能に接続されている。
【００４０】
次に、図２に示すブロック図を参照しながら、図１に示す制御装置１０（ＣＭ１２）の機能構成について説明する。図２に示す機能構成は、２つのＣＭ１２のうちの少なくとも一方に備えられる。図２に示すように、ＣＭ１２を成すＣＰＵ１２１は、上記制御プログラムを実行することで、採取部１２１ａ，移動判定部１２１ｂ，移動制御部１２１ｃ，切換判定部１２１ｄおよび切換制御部１２１ｅとしての機能を果たす。また、その際、メモリ１２２上には、ＣＰＵ１２１によって、第１テーブル情報格納領域１２２ａにおける情報に基づき第１テーブルＴ１が展開されるとともに、第２テーブル情報格納領域１２２ｂにおける情報に基づき第２テーブルＴ２が展開される。そして、メモリ１２２上に展開された第１テーブルＴ１および第２テーブルＴ２が参照されるとともに、メモリ１２２上の第１閾値〜第５閾値が参照される。
【００４１】
まず、メモリ１２２上の第１テーブルＴ１，第２テーブルＴ２および第１閾値〜第５閾値について説明する。
【００４２】
第１テーブルＴ１は、後述する採取部１２１ａによってデータ単位ごとに採取された、アクセス頻度などの最低限必要な性能情報を保存する性能情報管理テーブル（図４参照）である。ここで、アクセス頻度は、各データ単位に対する所定単位時間当たりのアクセス回数である。第１テーブルＴ１に保存される性能情報（アクセス頻度）は、ホスト２からのＩ／Ｏコマンドに応じた処理を完了したタイミングで、採取部１２１ａによって更新される。
【００４３】
第２テーブルＴ２は、後述する採取部１２１ａによってデータ単位ごとに採取された、ストレートアクセス率およびキャッシュヒット率などの詳細な性能情報を保存する性能情報管理テーブル（図５参照）である。ここで、ストレートアクセス率は、各データ単位へのアクセス総数に対する、ＣＭ間通信を介すことなく各データ単位に直接的に実行されるアクセス（図９の矢印(i)参照）の回数の割合である。また、キャッシュヒット率は、各データ単位へのアクセス総数に対する、当該データ単位がキャッシュメモリ１２２ｃでヒット（図９の矢印(iii)参照）した回数の割合である。第２テーブルＴ２に保存される性能情報（ストレートアクセス率およびキャッシュヒット率）も、ホスト２からのＩ／Ｏコマンドに応じた処理を完了したタイミングで、採取部１２１ａによって更新される。
【００４４】
第１閾値は、後述する切換判定部１２１ｄによってアクセス頻度と比較される所定の切換判定閾値である。第１閾値は、後述する移動判定部１２１ｂが、第１テーブルＴ１のみを用いた判定を行なうか、第１テーブルＴ１および第２テーブルＴ２の両方を用いた判定を行なうかを決定するために用いられる。
【００４５】
第２閾値は、各データ単位を上位階層へ移動するか否かを決定する際に、後述する移動判定部１２１ｂによってアクセス頻度と比較される所定の上位階層移動判定閾値である。
【００４６】
第３閾値は、各データ単位を下位階層へ移動するか否かを決定する際に、後述する移動判定部１２１ｂによってアクセス頻度と比較される所定の下位階層移動判定閾値である。
【００４７】
上述のごとくアクセス頻度と比較される第１閾値，第２閾値および第３閾値の大小関係は、以下の通りである。
第２閾値＞第１閾値＞第３閾値
【００４８】
第４閾値は、各データ単位を上位階層へ移動するか否かを決定する際に、後述する移動判定部１２１ｂによってキャッシュヒット率と比較される所定のキャッシュヒット率閾値である。
【００４９】
第５閾値は、各データ単位を上位階層へ移動するか否かを決定する際に、後述する移動判定部１２１ｂによってストレートアクセス率と比較される所定のストレートアクセス率閾値である。
【００５０】
ついで、ＣＰＵ１２１によって実現される、採取部１２１ａ，移動判定部１２１ｂ，移動制御部１２１ｃ，切換判定部１２１ｄおよび切換制御部１２１ｅとしての機能について説明する。
【００５１】
採取部１２１ａは、ホスト２によってアクセスされたデータ単位について、当該データ単位に対するアクセス頻度と、当該データ単位に対するストレートアクセス率と、当該データ単位のキャッシュヒット率とを、複数種類の性能情報として採取する。
【００５２】
ただし、採取部１２１ａは、当該データ単位について第１テーブルＴ１のみを用いた判定を行なう際にはアクセス頻度のみを採取して第１テーブルＴ１に保存する。また、採取部１２１ａは、当該データ単位について第１テーブルＴ１および第２テーブルＴ２の両方を用いた判定を行なう際には、アクセス頻度を採取して第１テーブルＴ１に保存するとともに、ストレートアクセス率およびキャッシュヒット率を採取して第２テーブルＴ２に保存する。
【００５３】
移動判定部１２１ｂは、上位階層への移動判定を行なう場合、第１テーブルＴ１および第２テーブルＴ２の両方を参照する。そして、移動判定部１２１ｂは、アクセス頻度が第２閾値（上位階層移動判定閾値）を超え且つストレートアクセス率が第５閾値（ストレートアクセス率閾値）未満で且つキャッシュヒット率が第４閾値（キャッシュヒット率閾値）未満の場合、判定対象のデータ単位を上位階層への移動対象と判定する。一方、移動判定部１２１ｂは、アクセス頻度が第２閾値を超えても、ストレートアクセス率が第５閾値以上の場合またはキャッシュヒット率が第４閾値以上の場合、判定対象のデータ単位を上位階層への移動対象ではないと判定する。
【００５４】
また、移動判定部１２１ｂは、下位階層への移動判定を行なう場合、第１テーブルＴ１を参照する。そして、移動判定部１２１ｂは、アクセス頻度が第２閾値（上位階層移動判定閾値）よりも小さい第３閾値（下位階層移動判定閾値）未満の場合、判定対象のデータ単位を下位階層への移動対象と判定する。
【００５５】
移動制御部１２１ｃは、移動判定部１２１ｂによる判定結果に従って、移動対象であると判定されたデータ単位を複数階層の子プール３０〜３２間で移動する。
【００５６】
切換判定部１２１ｄは、アクセス頻度が、第２閾値（上位階層移動判定閾値）よりも小さく且つ第３閾値（下位階層移動判定閾値）よりも大きい第１閾値（切換判定閾値）よりも大きいか否かを判定する。
【００５７】
切換制御部１２１ｅは、切換判定部１２１ｄによってアクセス頻度が第１閾値よりも大きいと判定された場合、移動判定部１２１ｂが第１テーブルＴ１および第２テーブルＴ２の両方を用いて上位階層への移動対象の判定を行なう状態に切り換える。一方、切換制御部１２１ｅは、切換判定部１２１ｂによってアクセス頻度が第１閾値以下であると判定された場合、移動判定部１２１ｂが第１テーブルＴ１のみを用いて下位階層への移動対象の判定を行なう状態に切り換える。
【００５８】
また、切換制御部１２１ｅは、下位階層への移動対象の判定を行なう状態から、上位階層への移動対象の判定を行なう状態への切換時に、第２テーブルＴ２において、判定対象のデータ単位に対応するストレートアクセス率およびキャッシュヒット率を保存する領域を確保する。一方、切換制御部１２１ｅは、上位階層への移動対象の判定を行なう状態から、下位階層への移動対象の判定を行なう状態への切換時に、第２テーブルＴ２において、判定対象のデータ単位に対応するストレートアクセス率およびキャッシュヒット率を保存する領域を解放する。
【００５９】
〔３〕本実施形態の動作
次に、上述のごとき構成および機能を有する本実施形態の制御装置１０の動作について、図３〜図８を参照しながら説明する。
【００６０】
まず、図３〜図５を参照しながら、採取部１２１ａの動作や、第１テーブルＴ１および第２テーブルＴ２について説明する。図３は、図２に示すＣＭ１２における採取部１２１ａの動作（テーブル更新動作）を説明するフローチャート（ステップＳ１１〜Ｓ１４）である。図４および図５は、それぞれ、第１テーブルＴ１および第２テーブルＴ２の例を示す図である。
【００６１】
ホスト２がＩ／Ｏコマンドを発行し、ＣＭ１２がホスト２からのＩ／Ｏコマンドを受信すると（ステップＳ１１）、ＣＭ１２では、コマンド解析が行なわれる（ステップＳ１２）。このとき、Ｉ／ＯコマンドにおけるＯＬＵ（ホスト論理ユニット）番号やＯＬＢＡ（ホスト論理ブロックアドレス）等の情報に基づき、親プール３内に搭載されている、どのボリュームのどの部分に対して当該Ｉ／Ｏコマンドが発行されているかを判断することができる。
【００６２】
これにより、採取部１２１ａは、当該Ｉ／Ｏコマンドの対象データ単位に対するアクセスが、ストレートアクセスであるか否かを判断することができる。そして、採取部１２１ａは、その判断結果に基づき、対象データ単位について、上述したストレートアクセス率を算出することができる。このとき、採取部１２１ａは、上述のように当該Ｉ／Ｏコマンドの対象であるデータ単位を認識することができるので、当該データ単位に対するアクセス頻度を算出することもできる。なお、ステップＳ１２での解析結果に基づくストレートアクセス率の算出は、当該データ単位について第１テーブルＴ１および第２テーブルＴ２の両方を用いた判定を行なう場合に実行される。
【００６３】
そして、ステップＳ１２での解析結果に従って、Ｉ／Ｏコマンドに対応した処理が実行される（ステップＳ１３）。このとき、Ｉ／Ｏコマンドの対象となるデータ単位がメモリ１２２のキャッシュ領域（キャッシュメモリ）１２２ｃ上に存在するか否か（キャッシュヒットしたか否か）が判定されるため、採取部１２１ａは、当該データ単位のキャッシュヒット率を算出することができる。なお、ステップＳ１３での処理に基づくキャッシュヒット率の算出は、当該データ単位について第１テーブルＴ１および第２テーブルＴ２の両方を用いた判定を行なう場合に実行される。
【００６４】
Ｉ／Ｏコマンドに対応した処理を完了すると、その完了タイミングで、採取部１２１ａは、Ｉ／Ｏコマンドの対象データ単位について採取された性能情報によって、第１テーブルＴ１および第２テーブルＴ２を更新する（ステップＳ１４）。当該データ単位の性能情報が第１テーブルＴ１や第２テーブルＴ２のどの位置（offset）に保存登録されているかに関する情報は、上述したチャンク（ＴＰＰＥ）を管理するテーブル（図示略）に保持しておく。採取部１２１ａは、性能情報更新の際、当該テーブルを参照して当該データ単位の性能情報の保存領域を決定する。
【００６５】
なお、図４に示すように、第１テーブルＴ１は、データ単位（ＦＴＲＰＥ）ごとのアクセス頻度に対応するＩ／Ｏカウント（I/O count）だけを保持する。また、図５に示すように、第２テーブルＴ２は、上位階層への移動判定対象のデータ単位（ＦＴＲＰＥ）ごとの、キャッシュヒット率（Cache Hit Rate）およびストレートアクセス率（Straight Access Rate）を保持する。
【００６６】
ついで、図６〜図８に示すフローチャートに従って、図２に示すＣＭ１２における移動判定部１２１ｂ，移動制御部１２１ｃ，切換判定部１２１ｄおよび切換制御部１２１ｅの動作について説明する。図６は、その動作を説明するフローチャート（ステップＳ２１〜Ｓ２６）である。また、図７は、図６の第１処理（ステップＳ２３の処理）を説明するフローチャート（ステップＳ３１〜Ｓ３５）であり、図８は、図６の第２処理（ステップＳ２５の処理）を説明するフローチャート（ステップＳ４１〜Ｓ４６）である。
【００６７】
図６〜図８に示す処理は、ＣＭ１２のＣＰＵ１２１が制御プログラムを定期的に実行することで行なわれる。まず、図６に示すように、ＣＰＵ１２１は、未処理の一データ単位を選択参照し（ステップＳ２１）、当該データ単位が第１テーブルＴ１のみによって管理されているか否かを判断する（ステップＳ２２）。第１テーブルＴ１のみによって管理されている場合（ステップＳ２２のＹＥＳルート）、ＣＰＵ１２１は、図７を参照しながら後述する第１処理を実行する（ステップＳ２３）。この後、ＣＰＵ１２１は、全てのデータ単位について処理を完了したか否かを判断する（ステップＳ２４）。
【００６８】
一方、第１テーブルＴ１のみによって管理されていない場合、つまり当該データ単位が第１テーブルＴ１および第２テーブルＴ２の両方によって管理されている場合（ステップＳ２２のＮＯルート参照）、ＣＰＵ１２１は、図８を参照しながら後述する第２処理を実行する（ステップＳ２５）。この後、ＣＰＵ１２１は、全てのデータ単位について処理を完了したか否かを判断する（ステップＳ２４）。
【００６９】
そして、全てのデータ単位について処理を完了していない場合（ステップＳ２４のＮＯルート）、ＣＰＵ１２１は、ステップＳ２１の処理に戻る。一方、全てのデータ単位について処理を完了した場合（ステップＳ２４のＹＥＳルート）、移動制御部１２１ｃは、第１処理または第２処理で移動対象と判定されたデータ単位を、複数階層の子プール３０〜３２間で移動・再配置する（ステップＳ２６）。この後、ＣＰＵ１２１は、処理を終了する。
【００７０】
ついで、図７に示すフローチャートに従って、図６のステップＳ２３で行なわれる第１処理について説明する。上述したように、当該第１処理は、処理対象（判定対象）のデータ単位が第１テーブルＴ１のみによって管理されている場合に実行される。なお、初めて処理対象になるデータ単位は、第１テーブルＴ１のみによって管理されているものとして取り扱われる。
【００７１】
第１処理では、まず、切換判定部１２１ｄは、第１テーブルＴ１を参照し、処理対象のデータ単位のアクセス頻度が第１閾値（切換判定閾値）よりも大きいか否かを判定する（ステップＳ３１）。アクセス頻度が第１閾値よりも大きい場合（ステップＳ３１のＹＥＳルート）、切換制御部１２１ｅは、第２テーブルＴ２（第２テーブル情報格納領域１２２ｂ）に、処理対象データ単位のストレートアクセス率およびキャッシュヒット率を保存する領域分の空きがあるか否かを判断する（ステップＳ３２）。
【００７２】
第２テーブルＴ２に空きが無い場合（ステップＳ３２のＮＯルート）、ＣＰＵ１２１は、そのまま図６のステップＳ２４の処理に戻る。一方、第２テーブルＴ２に空きがある場合（ステップＳ３２のＹＥＳルート）、切換制御部１２ｅは、移動判定部１２１ｂが第１テーブルＴ１および第２テーブルＴ２の両方を用いて上位階層への移動対象の判定を行なう状態に切り換える（ステップＳ３３）。この後、ＣＰＵ１２１は、図６のステップＳ２４の処理に戻る。
【００７３】
このように、本実施形態では、アクセス頻度が初めて第１閾値を超えた処理対象のデータ単位は、たとえ第２閾値（上位階層移動判定閾値）を超えていても、直ちに上位階層への移動対象であると判定されず、第２処理の対象になる。つまり、当該データ単位は、第１テーブルＴ１および第２テーブルＴ２の両方による管理・判定対象になる。
【００７４】
一方、処理対象のデータ単位のアクセス頻度が第１閾値（切換判定閾値）以下である場合（ステップＳ３１のＮＯルート）、移動判定部１２１ｂは、下位階層への移動判定を行なう（ステップＳ３４）。このとき、移動判定部１２１ｂは、第１テーブルＴ１を参照し、処理対象のデータ単位のアクセス頻度が第３閾値（下位階層移動判定閾値）未満であるか否かを判定する。
【００７５】
処理対象のデータ単位のアクセス頻度が第３閾値未満の場合（ステップＳ３４のＹＥＳルート）、移動判定部１２１ｂは、処理対象のデータ単位を下位階層への移動対象と判定し（ステップＳ３５）、ＣＰＵ１２１は、図６のステップＳ２４の処理に戻る。一方、処理対象のデータ単位のアクセス頻度が第３閾値以上である場合（ステップＳ３４のＮＯルート）、ＣＰＵ１２１は、そのまま図６のステップＳ２４の処理に戻る。
【００７６】
ついで、図８に示すフローチャートに従って、図６のステップＳ２５で行なわれる第２処理について説明する。上述したように、当該第２処理は、処理対象（判定対象）のデータ単位が第１テーブルＴ１および第２テーブルＴ２の両方によって管理されている場合に実行される。
【００７７】
第２処理では、まず、移動判定部１２１ｂは、第１テーブルＴ１を参照し、処理対象のデータ単位のアクセス頻度が第２閾値（上位階層移動判定閾値）よりも大きいか否かを判定する（ステップＳ４１）。アクセス頻度が第２閾値よりも大きい場合（ステップＳ４１のＹＥＳルート）、移動判定部１２１ｂは、第２テーブルＴ２を参照し、処理対象のデータ単位のキャッシュヒット率が第４閾値（キャッシュヒット率閾値）未満であるか否かを判定する（ステップＳ４２）。
【００７８】
処理対象のデータ単位のキャッシュヒット率が第４閾値以上である場合（ステップＳ４２のＮＯルート）、当該データ単位のアクセス頻度が第２閾値を超えていても、上記項目(2)の場合に該当する状況であると考えられる。したがって、移動判定部１２１ｂは、処理対象のデータ単位を上位階層への移動対象とすることなく、図６のステップＳ２４の処理に戻る。
【００７９】
処理対象のデータ単位のキャッシュヒット率が第４閾値未満である場合（ステップＳ４２のＹＥＳルート）、移動判定部１２１ｂは、第２テーブルＴ２を参照し、処理対象のデータ単位のストレートアクセス率が第５閾値（ストレートアクセス率閾値）未満であるか否かを判定する（ステップＳ４３）。
【００８０】
処理対象のデータ単位のストレートアクセス率が第５閾値以上である場合（ステップＳ４３のＮＯルート）、当該データ単位のアクセス頻度が第２閾値を超えていても、上記項目(1)の場合に該当する状況であると考えられる。したがって、移動判定部１２１ｂは、処理対象のデータ単位を上位階層への移動対象とすることなく、図６のステップＳ２４の処理に戻る。
【００８１】
処理対象のデータ単位のストレートアクセス率が第５閾値未満である場合（ステップＳ４３のＹＥＳルート）、上記項目(1),(2)の場合のいずれにも該当していない。したがって、移動判定部１２１ｂは、処理対象のデータ単位を上位階層への移動対象と判定し（ステップＳ４４）、ＣＰＵ１２１は、図６のステップＳ２４の処理に戻る。
【００８２】
処理対象のデータ単位のアクセス頻度が第２閾値以下である場合（ステップＳ４１のＮＯルート）、移動判定部１２１ｂは、当該データ単位のアクセス頻度が第１閾値（切換判定閾値）よりも大きいか否かを判定する（ステップＳ４５）。アクセス頻度が第１閾値よりも大きい場合（ステップＳ４５のＹＥＳルート）、ＣＰＵ１２１は、そのまま図６のステップＳ２４の処理に戻る。
【００８３】
一方、アクセス頻度が第１閾値以下である場合（ステップＳ４５のＮＯルート）、切換制御部１２１ｅは、移動判定部１２１ｂが第１テーブルＴ１のみを用いて上位階層への移動対象の判定を行なう状態に切り換える（ステップＳ４６）。このとき、切換制御部１２１ｅは、第２テーブルＴ２において、処理対象のデータ単位に対応するストレートアクセス率およびキャッシュヒット率を保存する領域を解放する。この後、ＣＰＵ１２１は、図６のステップＳ２４の処理に戻る。
【００８４】
このように、本実施形態では、第２テーブルＴ２で管理されているデータ単位のアクセス頻度が第２閾値を上回った場合、さらに当該データ単位のキャッシュヒット率が第４閾値を下回り且つ当該データ単位のストレートアクセス率が第５閾値を下回っていることが確認される。このような確認が成された場合に限り、当該データ単位が上位階層への移動対象であると判定される。
【００８５】
なお、キャッシュヒット率が高い場合、ディスクへのアクセス頻度が低いため、アクセス経路の問題はあまり生じない。そのため、図８では、先にキャッシュヒット率をチェックし、キャッシュヒット率が第４閾値未満の場合（つまりキャッシュヒット率が低い場合）のみ、ストレートアクセス率のチェックが行なわれる。
【００８６】
〔４〕本実施形態の効果
このように、本実施形態の制御装置１０やストレージシステム１によれば、以下のような作用効果が得られる。つまり、アクセス頻度が比較的高いデータ単位が存在する場合、当該データ単位は直ちに上位階層への移動対象と判定されず、第２テーブルＴ２に確保した領域にキャッシュヒット率やストレートアクセス率を採取してから、上位階層への移動判定が行なわれる。そして、当該データ単位のアクセス頻度が低くなった場合、第２テーブルＴ２に確保された領域が解放される。これにより、第２テーブルＴ２に要する容量の増加を必要最小限に抑えつつ、ストレートアクセス率およびキャッシュヒット率を採取することができる。
【００８７】
そして、データ単位について採取されたアクセス頻度が高い場合であっても、当該データ単位について採取されたストレートアクセス率が高い場合、上記項目(1)の場合に該当すると考えられる。そこで、このような場合、当該データ単位を上位階層に移動しても性能の低下を招く可能性があると判断され、当該データ単位が上位階層への移動対象であると判定しない。
【００８８】
同様に、データ単位について採取されたアクセス頻度が高い場合であっても、当該データ単位について採取されたキャッシュヒット率が高い場合、上記項目(2)の場合に該当すると考えられる。そこで、このような場合、当該データ単位を上位階層に移動しても性能の低下を招く可能性があると判断し、当該データ単位を上位階層への移動対象としない。
【００８９】
したがって、本実施形態の制御装置１０やストレージシステム１によれば、ストレージシステム１の性能の低下を招くことなく、階層間でデータの再配置を行なうことができる。
【００９０】
〔５〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【００９１】
例えば、上述した実施形態では、階層を成す記憶部（子プール）の数が３である場合について説明したが、本発明は、これに限定されるものではなく、階層を成す記憶部（子プール）の数は２であっても４以上であってもよい。また、上述した実施形態では、ＣＭの数が２である場合について説明したが、本発明は、これに限定されるものではなく、ＣＭの数は１であっても３以上であってもよい。
【００９２】
また、上述した実施形態では、複数種類の性能情報が、アクセス頻度，キャッシュヒット率およびストレートアクセス率である場合について説明したが、本発明はこれに限定されるものではない。
【００９３】
さらに、上述した実施形態では、複数種類の性能情報として、アクセス頻度，キャッシュヒット率およびストレートアクセス率の３種類を採取して用いる場合について説明したが、本発明は、これに限定されるものではない。例えば、複数種類の性能情報として、アクセス頻度およびキャッシュヒット率の２種類、または、アクセス頻度およびストレートアクセス率の２種類を採取して用いてもよいし、４種類以上の性能情報を採取して用いてもよい。いずれの場合も、上述した実施形態と同様の作用効果を得ることができる。
【００９４】
なお、複数種類の性能情報として、アクセス頻度およびキャッシュヒット率の２種類を用いる場合、図８に示すフローチャートにおけるステップＳ４３の処理が省略される。また、複数種類の性能情報として、アクセス頻度およびストレートアクセス率の２種類を用いる場合、図８に示すフローチャートにおけるステップＳ４２の処理が省略される。
【００９５】
また、上述した実施形態では、複数種類の性能情報の一つとしてストレートアクセス率が含まれる場合について説明したが、ストレートアクセス率に代えてクロスアクセス率を用いても、上述した実施形態と同様の作用効果を得ることができる。ここで、クロスアクセス率は、各データ単位へのアクセス総数に対する。ＣＭ間通信を介して各データ単位に間接的に実行されるアクセス（図９の矢印(ii)参照）の回数の割合である。
【００９６】
〔６〕付記
以上の各実施形態を含む実施形態に関し、さらに以下の付記を開示する。
【００９７】
（付記１）
複数階層の記憶部における所定アクセス単位のデータ（以下、データ単位という）の配置状態を制御する制御装置であって、
前記データ単位について複数種類の性能情報を採取する採取部と、
前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する移動判定部と、
前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する移動制御部と、を有する、制御装置。
【００９８】
（付記２）
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記１に記載の制御装置。
【００９９】
（付記３）
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位のキャッシュヒット率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記１に記載の制御装置。
【０１００】
（付記４）
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率と、前記データ単位のキャッシュヒット率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満で且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても、前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合または前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記１に記載の制御装置。
【０１０１】
（付記５）
前記移動判定部は、前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を前記下位階層の記憶部への移動対象と判定する、付記２〜付記４のいずれか一項に記載の制御装置。
【０１０２】
（付記６）
前記採取部によって採取される前記アクセス頻度を保存する第１テーブルと、
前記採取部によって採取される前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する第２テーブルと、
前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定する切換判定部と、
前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記移動判定部が前記第１テーブルおよび前記第２テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記移動判定部が前記第１テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える切換制御部と、を有する、付記５に記載の制御装置。
【０１０３】
（付記７）
前記切換制御部は、前記下位階層の記憶部への移動対象の判定を行なう状態から、前記上位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第２テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する領域を確保する、付記６に記載の制御装置。
【０１０４】
（付記８）
前記切換制御部は、前記上位階層の記憶部への移動対象の判定を行なう状態から、前記下位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第２テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する領域を解放する、付記６または付記７に記載の制御装置。
【０１０５】
（付記９）
複数階層の記憶部と、
前記複数階層の記憶部における所定アクセス単位のデータの配置状態を制御する制御装置と、を有し、
前記制御装置は、
前記データ単位について複数種類の性能情報を採取する採取部と、
前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する移動判定部と、
前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する移動制御部と、を有する、ストレージシステム。
【０１０６】
（付記１０）
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記９に記載のストレージシステム。
【０１０７】
（付記１１）
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位のキャッシュヒット率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記９に記載のストレージシステム。
【０１０８】
（付記１２）
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率と、前記データ単位のキャッシュヒット率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満で且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても、前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合または前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記９に記載のストレージシステム。
【０１０９】
（付記１３）
前記移動判定部は、前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を前記下位階層の記憶部への移動対象と判定する、付記１０〜付記１２のいずれか一項に記載のストレージシステム。
【０１１０】
（付記１４）
前記制御装置は、
前記採取部によって採取される前記アクセス頻度を保存する第１テーブルと、
前記採取部によって採取される前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する第２テーブルと、
前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定する切換判定部と、
前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記移動判定部が前記第１テーブルおよび前記第２テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記移動判定部が前記第１テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える切換制御部と、を有する、付記１３に記載のストレージシステム。
【０１１１】
（付記１５）
前記切換制御部は、前記下位階層の記憶部への移動対象の判定を行なう状態から、前記上位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第２テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する領域を確保する、付記１４に記載のストレージシステム。
【０１１２】
（付記１６）
前記切換制御部は、前記上位階層の記憶部への移動対象の判定を行なう状態から、前記下位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第２テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する領域を解放する、付記１４または付記１５に記載のストレージシステム。
【０１１３】
（付記１７）
複数階層の記憶部における所定アクセス単位のデータ（以下、データ単位という）の配置状態を制御するコンピュータに、
前記データ単位について複数種類の性能情報を採取し、
採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中記憶部よりも上位階層の記憶部に移動するか否かを判定し、
当該判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する、
処理を実行させる、制御プログラム。
【０１１４】
（付記１８）
前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率と、前記データ単位のキャッシュヒット率とを採取し、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満で且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても、前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合または前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、
処理を、前記コンピュータに実行させる、付記１７に記載の制御プログラム。
【０１１５】
（付記１９）
前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を前記下位階層の記憶部への移動対象と判定する、
処理を、前記コンピュータに実行させる、付記１８に記載の制御プログラム。
【０１１６】
（付記２０）
前記コンピュータは、採取される前記アクセス頻度を保存する第１テーブルと、採取される前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する第２テーブルと、を有し、
前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定し、
前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記第１テーブルおよび前記第２テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記第１テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える、
処理を、前記コンピュータに実行させる、付記１９に記載の制御プログラム。
【符号の説明】
【０１１７】
１    ストレージシステム
２    ホストコンピュータ
３    親プール（ＦＴＲＰ，ディスクエンクロージャ）
１０    制御装置
１１    ＣＡ
１２    ＣＭ（制御部；コンピュータ）
１２１    ＣＰＵ
１２１ａ    採取部
１２１ｂ    移動判定部
１２１ｃ    移動制御部
１２１ｄ    切換判定部
１２１ｅ    切換制御部
１２２    メモリ
１２２ａ    第１テーブル情報格納領域
１２２ｂ    第２テーブル情報格納領域
１２２ｃ    キャッシュ領域
１２３    ＤＡ
１２４    ＦＲＴ
３０，３１，３２    子プール（ＦＴＳＰ，複数階層の記憶部）
Ｔ１    第１テーブル
Ｔ２    第２テーブル
【図１】
0006350162.tif 000002
【図２】
0006350162.tif 000003
【図３】
0006350162.tif 000004
【図４】
0006350162.tif 000005
【図５】
0006350162.tif 000006
【図６】
0006350162.tif 000007
【図７】
0006350162.tif 000008
【図８】
0006350162.tif 000009
【図９】
0006350162.tif 000010