(57)【要約】      （修正有）【課題】複雑な分析や運用を行うことなく、複数の記憶装置を階層化して管理する。【解決手段】低速な記憶デバイスで構成された記憶装置１６０と、高速な記憶デバイスで構成された記憶装置１６１と、各記憶装置に対するデータの入出力処理を制御する制御部１５０を有し、制御部１５０は、ホスト３００からのアクセス要求元がライトアクセスであるときには、アクセス要求に伴うデータを記憶装置１６０、１６１に同時に書き込み、その後、記憶装置１６１のデータのうちアクセス頻度が低下したデータを削除する。【選択図】図１
2011242862.tif 000002
【特許請求の範囲】
【請求項１】
性能が異なる複数の記憶装置と、アクセス要求元からのアクセス要求に応答して前記複数の記憶装置に対するデータの入出力処理を制御する制御部と、を有し、
前記制御部は、
前記アクセス要求元からのアクセス要求がライトアクセスであるときには、前記アクセス要求に伴うデータを前記各記憶装置に書き込み、前記アクセス要求元からのアクセス要求に応答して前記複数の記憶装置のうち一方の記憶装置に対するアクセス時間を計測し、前記計測結果を基に前記一方の記憶装置に格納されたデータのうち、前記アクセス要求元のアクセス対象から一定時間以上外れたデータを削除することを特徴とするストレージサブシステム。
【請求項２】
請求項１に記載のストレージサブシステムにおいて、
前記制御部は、
前記アクセス要求元からのアクセス要求に応答して前記複数の記憶装置のうち他方の記憶装置に格納されたデータに対するアクセス頻度を計測し、前記他方の記憶装置に格納されたデータの中から、前記計測によるアクセス頻度が高い順に設定数だけ読み出し、前記読み出したデータを前記一方の記憶装置に書き込むことを特徴とするストレージサブシステム。
【請求項３】
請求項１に記載のストレージサブシステムにおいて、
前記制御部は、
前記アクセス要求元からのアクセス要求に応答して前記複数の記憶装置のうち他方の記憶装置に格納されたデータに対するアクセス頻度を計測し、前記他方の記憶装置に格納されたデータの中から、前記計測によるアクセス頻度が閾値より大きいデータを読み出し、前記読み出したデータを前記一方の記憶装置に書き込むことを特徴とするストレージサブシステム。
【請求項４】
請求項１に記載のストレージサブシステムにおいて、
前記制御部は、
前記アクセス要求元からのアクセス要求がライトアクセスであるときには、前記アクセス要求で指定された書き込み先のアドレスとして、前記複数の記憶装置のうち他方の記憶装置のアドレスを特定し、前記特定した前記他方の記憶装置のアドレスに対応した前記一方の記憶装置のアドレスが存在するか否かを判定し、前記判定結果から、前記特定した前記他方の記憶装置のアドレスに対応した前記一方の記憶装置のアドレスが存在する場合、前記特定した前記他方の記憶装置のアドレスおよび前記特定した前記他方の記憶装置のアドレスに対応した前記一方の記憶装置のアドレスに前記アクセス要求に伴うデータを書き込み、前記判定結果から、前記特定した前記他方の記憶装置のアドレスに対応した前記一方の記憶装置のアドレスが存在しない場合、前記一方の記憶装置に対するアクセス時間の計測結果を基に最終アクセス時間に対応したアドレスまたは前記最終アクセス時間が存在しないアドレスを前記一方の記憶装置に対するアドレスとして特定し、前記特定した前記他方の記憶装置のアドレスおよび前記特定した前記一方の記憶装置のアドレスに前記アクセス要求に伴うデータを書き込むことを特徴とするストレージサブシステム。
【請求項５】
請求項１に記載のストレージサブシステムにおいて、
前記制御部は、
前記アクセス要求元からのアクセス要求がリードアクセスであるときには、  前記アクセス要求で指定された読み出し先のアドレスとして、前記複数の記憶装置のうち他方の記憶装置のアドレスの存在の有無を判定し、前記判定結果から、前記他方の記憶装置のアドレスが存在する場合、前記アクセス要求で指定されたデータを前記他方の記憶装置から読み出し、前記判定結果から、前記他方の記憶装置のアドレスが存在しない場合、前記アクセス要求で指定されたデータを前記一方の記憶装置から読み出すことを特徴とするストレージサブシステム。
【請求項６】
請求項１に記載のストレージサブシステムにおいて、
前記制御部は、
前記複数の記憶装置のうち前記一方の記憶装置からその論理的記憶領域が割り当てられるストレージプールと、前記複数の記憶装置のうち他方の記憶装置からその論理的記憶領域が割り当てられるとともに、一定の条件の下に前記ストレージプールから前記論理的記憶領域が割り当てられる複数の論理ユニットを有し、
前記制御部は、
前記複数の論理ユニットのうち、一部の論理ユニットを、前記ストレージプールに属する前記論理的記憶領域と前記他方の記憶装置に属する前記論理的記憶領域が、それぞれ前記アクセス要求元のアクセス対象として割り当てられる論理ユニットとして管理し、前記複数の論理ユニットのうち、前記一部の論理ユニットとは異なる他の論理ユニットを、前記他方の記憶装置に属する前記論理的記憶領域が、前記アクセス要求元のアクセス対象として割り当てられる論理ユニットとして管理し、前記アクセス要求元からのアクセス要求が、前記一部の論理ユニットに対するライトアクセスであるときには、前記ストレージプールに属する前記論理的記憶領域と前記他方の記憶装置に属する前記論理的記憶領域をライトアクセス先として、当該ライトアクセス先に前記アクセス要求に伴うデータを書き込み、前記アクセス要求元からのアクセス要求に応答して前記ストレージプールに割り当てられた前記論理的記憶領域に対するアクセス時間を計測し、前記計測結果を基に前記ストレージプールに割り当てられた前記論理的記憶領域に格納されたデータのうち、前記アクセス要求元のアクセス対象から一定時間以上外れたデータを削除することを特徴とするストレージサブシステム。
【請求項７】
請求項６に記載のストレージサブシステムにおいて、
前記制御部は、
前記アクセス要求元からのアクセス要求に応答して前記複数の論理ユニットのうち前記一部の論理ユニットに対するアクセス頻度またはアクセス時間を計測し、前記計測によるアクセス頻度が閾値以上または前記計測によるアクセス時間が予め設定された設定時間である場合には、前記一定の条件を満たすとして、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域を割り当てることを特徴とするストレージサブシステム。
【請求項８】
請求項６に記載のストレージサブシステムにおいて、
前記制御部は、
前記アクセス要求元からのアクセス要求に応答して前記複数の論理ユニットのうち前記一部の論理ユニットに対するアクセス頻度またはアクセス時間を計測し、前記計測によるアクセス頻度が閾値未満または前記計測によるアクセス時間が予め設定された設定時間でない場合には、前記一定の条件を満たさないとして、前記一部の論理ユニットに割り当てられていた前記論理的記憶領域を前記ストレージプールから切り離すことを特徴とするストレージサブシステム。
【請求項９】
請求項６に記載のストレージサブシステムにおいて、
前記制御部は、
前記アクセス要求元からのアクセス要求がライトアクセスであるときには、前記アクセス要求で指定された書き込み先のアドレスとして、前記複数の記憶装置のうち他方の記憶装置のアドレスを特定し、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられているか否かの第１の判定を実行し、前記第１の判定結果から、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられていない場合、前記特定した前記他方の記憶装置のアドレスに前記アクセス要求に伴うデータを書き込み、前記第１の判定結果から、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられている場合、前記特定した前記他方の記憶装置のアドレスに対応した前記ストレージプールのアドレスが存在するか否かの第２の判定を実行し、前記第２の判定結果から、前記特定した前記他方の記憶装置のアドレスに対応した前記ストレージプールのアドレスが存在する場合、前記特定した前記他方の記憶装置のアドレスおよび前記特定した前記他方の記憶装置のアドレスに対応した前記ストレージプールのアドレスに前記アクセス要求に伴うデータを書き込み、前記第２の判定結果から、前記特定した前記他方の記憶装置のアドレスに対応した前記ストレージプールのアドレスが存在しない場合、前記ストレージプールに割り当てられた前記論理的記憶領域に対するアクセス時間の計測結果を基に最終アクセス時間に対応したアドレスまたは前記最終アクセス時間が存在しないアドレスを前記ストレージプールのアドレスとして特定し、前記特定した前記他方の記憶装置のアドレスおよび前記特定した前記ストレージプールのアドレスに前記アクセス要求に伴うデータを書き込むことを特徴とするストレージサブシステム。
【請求項１０】
請求項６に記載のストレージサブシステムにおいて、
前記制御部は、
前記アクセス要求元からのアクセス要求がリードアクセスであるときには、  前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられているか否かの第１の判定を実行し、前記第１の判定結果から、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられていない場合、前記アクセス要求で指定されたデータを、前記他方の記憶装置のうち前記一部の論理ユニットとは異なる他の論理ユニットに属する前記他方の記憶装置から読み出し、前記第１の判定結果から、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられている場合、前記アクセス要求で指定された読み出し先のアドレスとして、前記複数のユニットのうち前記一部の論理ユニットに属する前記ストレージプールのアドレスが存在するか否かの第２の判定を実行し、前記第２の判定結果から、前記ストレージプールのアドレスが存在する場合、前記アクセス要求で指定されたデータを前記ストレージプールから読み出し、前記第２の判定結果から、前記ストレージプールのアドレスが存在しない場合、前記アクセス要求で指定されたデータを、前記他方の記憶装置のうち前記一部の論理ユニットに属する前記他方の記憶装置から読み出すことを特徴とするストレージサブシステム。
【請求項１１】
性能が異なる複数の記憶装置と、アクセス要求元からのアクセス要求に応答して前記複数の記憶装置に対するデータの入出力処理を制御する制御部と、を有するストレージサブシステムの制御方法であって、
前記制御部が、前記アクセス要求元からのアクセス要求がライトアクセスであるときには、前記アクセス要求に伴うデータを前記各記憶装置に書き込むステップと、
前記制御部が、前記アクセス要求元からのアクセス要求に応答して前記複数の記憶装置のうち一方の記憶装置に対するアクセス時間を計測するステップと、
前記制御部が、前記計測結果を基に前記一方の記憶装置に格納されたデータのうち、前記アクセス要求元のアクセス対象から一定時間以上外れたデータを削除するステップを含む、ことを特徴とするストレージサブシステムの制御方法。
【請求項１２】
請求項１１に記載のストレージサブシステムの制御方法において、
前記制御部が、前記アクセス要求元からのアクセス要求に応答して前記複数の記憶装置のうち他方の記憶装置に格納されたデータに対するアクセス頻度を計測するステップと、
前記制御部が、前記他方の記憶装置に格納されたデータの中から、前記計測によるアクセス頻度が高い順に設定数だけ読み出すステップと、
前記制御部が、前記読み出したデータを前記一方の記憶装置に書き込むステップを含む、ことを特徴とするストレージサブシステムの制御方法。
【請求項１３】
請求項１１に記載のストレージサブシステムの制御方法において、
前記制御部が、前記アクセス要求元からのアクセス要求に応答して前記複数の記憶装置のうち他方の記憶装置に格納されたデータに対するアクセス頻度を計測するステップと、
前記制御部が、前記他方の記憶装置に格納されたデータの中から、前記計測によるアクセス頻度が閾値より大きいデータを読み出すステップと、
前記制御部が、前記読み出したデータを前記一方の記憶装置に書き込むステップを含む、ことを特徴とするストレージサブシステムの制御方法。
【請求項１４】
請求項１１に記載のストレージサブシステムの制御方法において、
前記制御部が、前記アクセス要求元からのアクセス要求がライトアクセスであるときには、前記アクセス要求で指定された書き込み先のアドレスとして、前記複数の記憶装置のうち他方の記憶装置のアドレスを特定するステップと、
前記制御部が、前記特定した前記他方の記憶装置のアドレスに対応した前記一方の記憶装置のアドレスが存在するか否かを判定するステップと、
前記制御部が、前記判定結果から、前記特定した前記他方の記憶装置のアドレスに対応した前記一方の記憶装置のアドレスが存在する場合、前記特定した前記他方の記憶装置のアドレスおよび前記特定した前記他方の記憶装置のアドレスに対応した前記一方の記憶装置のアドレスに前記アクセス要求に伴うデータを書き込むステップと、
前記制御部が、前記判定結果から、前記特定した前記他方の記憶装置のアドレスに対応した前記一方の記憶装置のアドレスが存在しない場合、前記一方の記憶装置に対するアクセス時間の計測結果を基に最終アクセス時間に対応したアドレスまたは前記最終アクセス時間が存在しないアドレスを前記一方の記憶装置に対するアドレスとして特定するステップと、
前記制御部が、前記特定した前記他方の記憶装置のアドレスおよび前記特定した前記一方の記憶装置のアドレスに前記アクセス要求に伴うデータを書き込むステップを含む、ことを特徴とするストレージサブシステムの制御方法。
【請求項１５】
請求項１１に記載のストレージサブシステムの制御方法において、
前記制御部が、前記アクセス要求元からのアクセス要求がリードアクセスであるときには、  前記アクセス要求で指定された読み出し先のアドレスとして、前記複数の記憶装置のうち他方の記憶装置のアドレスの存在の有無を判定するステップと、
前記制御部が、前記判定結果から、前記他方の記憶装置のアドレスが存在する場合、前記アクセス要求で指定されたデータを前記他方の記憶装置から読み出すステップと、
前記制御部が、前記判定結果から、前記他方の記憶装置のアドレスが存在しない場合、前記アクセス要求で指定されたデータを前記一方の記憶装置から読み出すステップを含む、ことを特徴とするストレージサブシステムの制御方法。
【請求項１６】
請求項１１に記載のストレージサブシステムの制御方法において、
前記制御部が、前記複数の記憶装置のうち前記一方の記憶装置からその論理的記憶領域が割り当てられるストレージプールと、前記複数の記憶装置のうち他方の記憶装置からその論理的記憶領域が割り当てられるとともに、一定の条件の下に前記ストレージプールから前記論理的記憶領域が割り当てられる複数の論理ユニットを有し、
前記制御部が、前記複数の論理ユニットのうち、一部の論理ユニットを、前記ストレージプールに属する前記論理的記憶領域と前記他方の記憶装置に属する前記論理的記憶領域が、それぞれ前記アクセス要求元のアクセス対象として割り当てられる論理ユニットとして管理するステップと、
前記制御部が、前記複数の論理ユニットのうち、前記一部の論理ユニットとは異なる他の論理ユニットを、前記他方の記憶装置に属する前記論理的記憶領域が、前記アクセス要求元のアクセス対象として割り当てられる論理ユニットとして管理するステップと、
前記制御部が、前記アクセス要求元からのアクセス要求が、前記一部の論理ユニットに対するライトアクセスであるときには、前記ストレージプールに属する前記論理的記憶領域と前記他方の記憶装置に属する前記論理的記憶領域をライトアクセス先として、当該ライトアクセス先に前記アクセス要求に伴うデータを書き込むステップと、
前記制御部が、前記アクセス要求元からのアクセス要求に応答して前記ストレージプールに割り当てられた前記論理的記憶領域に対するアクセス時間を計測するステップと、
前記制御部が、前記計測結果を基に前記ストレージプールに割り当てられた前記論理的記憶領域に格納されたデータのうち、前記アクセス要求元のアクセス対象から一定時間以上外れたデータを削除するステップを含む、ことを特徴とするストレージサブシステムの制御方法。
【請求項１７】
請求項１６に記載のストレージサブシステムの制御方法において、
前記制御部が、前記アクセス要求元からのアクセス要求に応答して前記複数の論理ユニットのうち前記一部の論理ユニットに対するアクセス頻度またはアクセス時間を計測するステップと、
前記制御部が、前記計測によるアクセス頻度が閾値以上または前記計測によるアクセス時間が予め設定された設定時間である場合には、前記一定の条件を満たすとして、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域を割り当てるステップを含む、ことを特徴とするストレージサブシステムの制御方法。
【請求項１８】
請求項１６に記載のストレージサブシステムの制御方法において、
前記制御部が、前記アクセス要求元からのアクセス要求に応答して前記複数の論理ユニットのうち前記一部の論理ユニットに対するアクセス頻度またはアクセス時間を計測するステップと、
前記制御部が、前記計測によるアクセス頻度が閾値未満または前記計測によるアクセス時間が予め設定された設定時間でない場合には、前記一定の条件を満たさないとして、前記一部の論理ユニットに割り当てられていた前記論理的記憶領域を前記ストレージプールから切り離すステップを含む、ことを特徴とするストレージサブシステムの制御方法。
【請求項１９】
請求項１６に記載のストレージサブシステムの制御方法において、
前記制御部が、前記アクセス要求元からのアクセス要求がライトアクセスであるときには、前記アクセス要求で指定された書き込み先のアドレスとして、前記複数の記憶装置のうち他方の記憶装置のアドレスを特定するステップと、
前記制御部が、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられているか否かの第１の判定を実行するステップと、
前記制御部が、前記第１の判定結果から、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられていない場合、前記特定した前記他方の記憶装置のアドレスに前記アクセス要求に伴うデータを書き込むステップと、
前記制御部が、前記第１の判定結果から、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられている場合、前記特定した前記他方の記憶装置のアドレスに対応した前記ストレージプールのアドレスが存在するか否かの第２の判定を実行するステップと、
前記制御部が、前記第２の判定結果から、前記特定した前記他方の記憶装置のアドレスに対応した前記ストレージプールのアドレスが存在する場合、前記特定した前記他方の記憶装置のアドレスおよび前記特定した前記他方の記憶装置のアドレスに対応した前記ストレージプールのアドレスに前記アクセス要求に伴うデータを書き込むステップと、
前記制御部が、前記第２の判定結果から、前記特定した前記他方の記憶装置のアドレスに対応した前記ストレージプールのアドレスが存在しない場合、前記ストレージプールに割り当てられた前記論理的記憶領域に対するアクセス時間の計測結果を基に最終アクセス時間に対応したアドレスまたは前記最終アクセス時間が存在しないアドレスを前記ストレージプールのアドレスとして特定するステップと、
前記制御部が、前記特定した前記他方の記憶装置のアドレスおよび前記特定した前記ストレージプールのアドレスに前記アクセス要求に伴うデータを書き込むステップを含む、ことを特徴とするストレージサブシステムの制御方法。
【請求項２０】
請求項１６に記載のストレージサブシステムの制御方法において、
前記制御部が、前記アクセス要求元からのアクセス要求がリードアクセスであるときには、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられているか否かの第１の判定を実行するステップと、
前記制御部が、前記第１の判定結果から、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられていない場合、前記アクセス要求で指定されたデータを、前記他方の記憶装置のうち前記一部の論理ユニットとは異なる他の論理ユニットに属する前記他方の記憶装置から読み出すステップと、
前記制御部が、前記第１の判定結果から、前記一部の論理ユニットに前記ストレージプールから前記論理的記憶領域が割り当てられている場合、前記アクセス要求で指定された読み出し先のアドレスとして、前記複数のユニットのうち前記一部の論理ユニットに属する前記ストレージプールのアドレスが存在するか否かの第２の判定を実行するステップと、
前記制御部が、前記第２の判定結果から、前記ストレージプールのアドレスが存在する場合、前記アクセス要求で指定されたデータを前記ストレージプールから読み出すステップと、
前記制御部が、前記第２の判定結果から、前記ストレージプールのアドレスが存在しない場合、前記アクセス要求で指定されたデータを、前記他方の記憶装置のうち前記一部の論理ユニットに属する前記他方の記憶装置から読み出すステップを含む、ことを特徴とするストレージサブシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムおよびその制御方法に係り、特に、性能が異なる複数の記憶装置に対するデータの入出力処理を制御するためのストレージサブシステム及びその制御方法に関する。
【背景技術】
【０００２】
ストレージサブシステムまたはストレージ装置として、ハードディスクドライブなどの記憶装置に対するデータの入出力処理を制御する制御装置を備えたものがある。この種のストレージサブシステムまたはストレージ装置においては、例えば、ディスク制御装置間の通信によりデータのコピーを行ってデータを二重化することが行われている（特許文献１参照）。データを二重化することで、一方の記憶装置が故障しても、他方の正常な記憶装置に格納されたデータを用いて処理を継続することができる。
【０００３】
また、ストレージサブシステムまたはストレージ装置においては、記憶装置をレスポンス性能に応じて階層化し、アクセス頻度の高いデータを高速・高価な記憶装置に格納し、アクセス頻度に低いデータを低速・安価な記憶装置に格納することで、システムのコストを削減することが行われている。しかし、特許文献１に記載されている装置の場合には、記憶装置を階層化して管理することについては配慮されていない。
【０００４】
一方、記憶装置を階層化して管理するに際して、階層化された記憶装置のデータ移動をマイグレーショングループで行うとともに、マイグレーショングループにおける論理デバイス間の相対階層ポジション情報とマイグレーショングループの階層のヒエラルキーを保持し、マイグレーションに伴う物理デバイスの管理を容易にするようにしたものが提案されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−２０１１３２号公報
【特許文献２】特開２００６−９９７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
階層化された記憶装置を管理するに際して、特許文献２に記載された技術を用いた場合、例えば、アクセス頻度が低くなったデータについては、ボリュームやファイル単位で高速な記憶装置から低速な記憶装置に一度に移動する必要がある。この場合、移動のスケジュールや性能の影響を事前に考慮したシステム設計を行う必要がある。
【０００７】
具体的には、データを一度に移動させるには、階層化された記憶装置の性能をモニタニングするとともに、ストレージ装置に対する負荷状況の分析や負荷の低い時間帯を予測し、この予測結果を基にデータを移動することで、業務に影響を与えないように、データの移動を管理する必要がある。また、高速な記憶装置と低速な記憶装置の最適な搭載容量比率については、実際のデータの書込・読込の状況を見ながら判断する必要がある。
【０００８】
しかも、データを一度に移動させると、一時的にストレージ装置が高負荷状態になるととともに、データの移動に多くの時間を要することがある。
【０００９】
本発明は、前記従来技術の課題に鑑みて為されたものであり、その目的は、複雑な分析や運用を行うことなく、複数の記憶装置を階層化して管理することができるストレージサブシステム及びその制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
前記目的を達成するために、本発明は、性能が異なる複数の記憶装置に対して同時にデータを書き込み、一方の記憶装置、例えば、高速な記憶装置のデータの中からアクセス頻度が低いデータを削除することで、複雑な分析や運用を行うことなく、複数の記憶装置を階層化して管理することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複雑な分析や運用を行うことなく、複数の記憶装置を階層化して管理することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係るストレージサブシステムが適用された計算機システムのブロック構成図である。
【図２】ホストと記憶装置との関係を説明するための模式図である。
【図３】制御メモリの構成図である。
【図４】アドレス情報の構成図である。
【図５】アクセス時刻情報の構成図である。
【図６】戻し処理設定情報の構成図である。
【図７】領域解放処理設定情報の構成図である。
【図８】第１実施例における書き込み処理を説明するためのフローチャートである。
【図９】第１実施例における読み出し処理を説明するためのフローチャートである。
【図１０】第１実施例における領域解放処理を説明するためのフローチャートである。
【図１１】第１実施例におけるデータ戻し処理を説明するためのフローチャートである。
【図１２】第２実施例におけるストレージサブシステムの記憶装置とホストとの関係を説明するための模式図である。
【図１３】制御メモリの構成図である。
【図１４】アドレス情報の構成図である。
【図１５】アクセス時刻情報の構成図である。
【図１６】LU割当設定情報の構成図である。
【図１７】スケジュール情報の構成図である。
【図１８】第２実施例における処理の概要を説明するための模式図である。
【図１９】第２実施例における書き込み処理を説明するためのフローチャートである。
【図２０】第２実施例における読み出し処理を説明するためのフローチャートである。
【図２１】第２実施例における領域解放処理を説明するためのフローチャートである。
【図２２】第２実施例におけるデータ戻し処理を説明するためのフローチャートである。
【図２３】第２実施例におけるストレージプール割当処理を説明するためのフローチャートである。
【図２４】第２実施例におけるストレージプール切り離し処理を説明するためのフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１３】
以下、本発明の一実施形態を図面に基づいて説明する。本実施例は、レスポンス性能が異なる複数の記憶装置に対して同時にデータを書き込み、その後、一方の記憶装置、例えば、高速な記憶デバイスで構成された記憶装置のデータの中からアクセス頻度が低いデータを削除するものである。
【００１４】
図１は、本発明に係るストレージサブシステムが適用された計算機システムのブロック構成図である。図１において、計算機システムは、ストレージサブシステム１００と、ネットワーク２００と、複数のホスト計算機（以下、ホストと称する。）３００を備えて構成されており、ストレージサブシステム１００は、例えば、FC（Fibre  Channel）ネットワークで構成されたネットワーク２００を介して各ホスト３００に接続されている。
【００１５】
ストレージサブシステム１００は、ネットワークインタフェース１１０と、キャッシュメモリ１２０と、制御メモリ１３０と、接続部１４０と、制御部１５０と、複数の記憶装置１６０、１６１を備えて構成される。
【００１６】
ネットワークインタフェース１１０は、ネットワーク２００とストレージサブシステム１００とを結ぶ通信路を構成する。キャッシュメモリ１２０はデータを一時的に記憶する記憶領域を構成する。制御メモリ１３０は、各種情報や制御プログラムを格納する。接続部１４０は、ネットワークインタフェース１１０と、キャッシュメモリ１２０と、制御メモリ１３０および制御部１５０を相互に接続するための内部ネットワークを構成する。
【００１７】
制御部１５０は、CPU（Central  Processing  Unit）あるいはマイクロプロセッサを有し、制御メモリ１３０に格納された制御プログラムに従って各種の処理を実行する。例えば、制御部１５０は、アクセス要求元となるホスト３００からのアクセス要求に応答して、記憶装置１６０、１６１に対するデータの入出力処理を制御する。
【００１８】
この際、アクセス要求がライトアクセスであるときには、制御部１５０は、アクセス要求に伴うデータをキャッシュメモリ１２０に一時的に格納し、その後、記憶装置１６０、１６１に対して同時にデータを書き込む。また、アクセス要求がリードアクセスであるときには、制御部１５０は、アクセス要求で指定されたデータを記憶装置１６０または記憶装置１６１から読み出し、読み出したデータを、ネットワークインタフェース１１０を介して、アクセス要求元のホスト３００に転送する。
【００１９】
記憶装置１６０、１６１は、性能、例えば、レスポンス性能が異なる記憶装置として、階層化されて構成されている。記憶装置１６０は、例えば、低速で安価な記憶デバイスとして、SATA（Serial  ATA）ディスクで構成され、記憶装置１６１は、高速で高価な記憶デバイスとして、SAS （Serial  Attached  SCSI）ディスクで構成される。
【００２０】
なお、記憶装置１６０の記憶デバイスとして、SASディスクを用いたときには、記憶装置１６１の記憶デバイスとして、SASディスクよりも高速で高価なSSD（Solid  State  Drive）を用いることができる。
【００２１】
また、記憶装置１６０、１６１に用いる記憶デバイスとしては、記憶装置１６０に用いる記憶デバイスとして低速のものを用い、記憶装置１６１に用いる記憶デバイスとして高速のものを用いれば、他の記憶デバイスを用いることもできる。
【００２２】
次に、図２に、各ホストと各記憶装置との関係を示す模式図を示す。記憶装置１６０、１６１の論理的記憶領域は論理デバイスとして構成され、各論理デバイスは論理ユニット（LU（Logical  Unit））１７０に割り当てられている。論理ユニット１７０に関する情報は各ホスト３００に提供される。これにより、ホスト３００は、論理ユニット１７０を用いてストレージサブシステム１００をアクセスすることで、記憶装置１６０、１６１に対してリードアクセスまたはライトアクセスを行うことができる。
【００２３】
次に、図３に制御メモリの構成図を示す。制御メモリ１３０には、アドレス情報１３１と、アクセス時刻情報１３２と、戻し処理設定情報１３３と、領域解放処理設定情報１３４が格納されるとともに、制御部１５０が各種処理を実行するための制御プログラム１３５が格納される。以下、アドレス情報１３１、アクセス時刻情報１３２、戻し処理設定情報１３３、領域解放処理設定情報１３４の具体的内容を、図４乃至図７を用いて説明する。
【００２４】
まず、図４に、アドレス情報１３１の構成図を示す。アドレス情報１３１は、LUアドレスフィールド１３１０と、アクセスカウンタフィールド１３１１と、記憶装置Aアドレスフィールド１３１２と、記憶装置Bアドレス１３１３から構成される。
【００２５】
LUアドレスは、論理ユニット１７０を一意に識別するためのアドレスであり、LUアドレスフィールド１３１０の各エントリには、例えば、「００００」、「０００１」、「０００２」、「０００３」が格納される。
【００２６】
アクセスカウンタは、各ホスト３００が論理ユニット１７０をリードアクセスまたはライトアクセスしたときの計測値（制御部１５０による計測値）に関する情報である。アクセスカウンタフィールド１３１１の各エントリには、例えば、LUアドレスに対応して、「１１５８」、「３」、「７２」、「１８０」が格納される。
【００２７】
記憶装置Aアドレスは、記憶装置１６０を一意に識別するためのアドレスであり、記憶装置Aアドレスフィールド１３１２の各エントリには、例えば、LUアドレス「０００」〜「０００３」に対応して、「００００」、「０００１」、「０００２」、「０００３」が格納される。即ち、記憶装置１６０を常に各ホスト３００のアクセス先とするために、記憶装置１６０のアドレスと論理ユニット１７０のアドレスとが対応付けられている。
【００２８】
記憶装置Bアドレスは、記憶装置１６１を一意に識別するためのアドレスであり、記憶装置Bアドレスフィールド１３１３の各エントリには、例えば、LUアドレス「００００」〜「０００３」に対応して、「００１」、「００００」、「NULL」、「０００２」が格納される。なお、エントリに「NULL」が格納されているときには、記憶装置Aアドレスに対応した記憶装置Bアドレスがないことを示す。
【００２９】
次に、図５にアクセス時刻情報１３２の構成を示す。アクセス時刻情報１３２は、記憶装置Bアドレスフィールド１３１３と、最終アクセス時刻フィールド１３２０から構成される。
【００３０】
記憶装置Bアドレスフィールド１３１３の各エントリには、記憶装置１６１を一意に識別するためのアドレスとして、例えば、「００００」〜「０００３」が格納される。
【００３１】
最終アクセス時刻は、制御部１５０が、記憶装置１６１をアクセスしたときの最終アクセス時間に関する情報である。最終アクセス時刻フィールド１３２０の各エントリには、最終アクセス時刻が、年月日とともに格納される。即ち、最終アクセス時刻を基に、記憶装置１６１に格納されたデータの中からアクセス頻度が低下したデータを削除するために、記憶装置１６１については、アクセス時刻情報１３２を用いて最終アクセス時刻を管理することとしている。
【００３２】
なお、エントリに「NULL」が格納されているときには、このアドレスについては、制御部１５０がアクセスをしていないことを示す。
【００３３】
次に、図６に、戻し処理設定情報１３３の構成を示す。戻し処理設定情報１３３は、スイッチ設定１３３１と、戻し処理実行間隔設定１３３２と、戻し処理実行回数設定１３３３に関する情報から構成される。
【００３４】
スイッチ設定１３３１には、制御部１５０が、記憶装置１６０のデータの一部を記憶装置１６１に戻すための戻し処理を行うときには「オン」の情報が格納され、戻し処理を実行しないときには「オフ」の情報が格納される。
【００３５】
戻し処理実行間隔設定１３３２には、制御部１５０による戻し処理の実行間隔として、時間をパラメータとした情報が格納される。例えば、制御部１５０が、戻し処理を１日あるいは１週間の間隔で実行する場合には、１日または１週間に関する情報が、戻し処理実行間隔設定１３３２に格納される。
【００３６】
戻し処理実行回数設定１３３３には、制御部１５０が、戻し処理を実行する回数に関する情報が格納される。例えば、複数のアドレスのうちアクセスカウンタの値の大きいものから上位１０％に属するアドレスを、戻し処理の対象とした場合、この戻し処理の対象となったアドレスの数が、戻し処理実行回数として格納される。
【００３７】
次に、図７に領域解放処理設定情報１３４の構成を示す。領域解放処理設定情報１３４は、スイッチ設定１３４１と、領域解放処理実行間隔設定１３４２と、領域解放処理期間設定１３４３から構成される。
【００３８】
スイッチ設定１３４１には、制御部１５０が、記憶装置１６１に格納されたデータのうちアクセス頻度（使用頻度）が低いデータを削除するための領域解放処理を実行するときには「オン」の情報が格納され、領域解放処理を実行しないときには「オフ」の情報が格納される。
【００３９】
領域解放処理実行間隔設定１３４２には、制御部１５０が、領域解放処理を実行するための間隔として、時間に関するパラメータが格納される。
【００４０】
領域解放処理期間設定１３４３には、制御部１５０が、領域解放処理を実行するための期間として、時間をパラメータとした情報が格納される。例えば、最終アクセス時刻からの一定期間が格納される。
【００４１】
次に、書き込み処理を図８のフローチャートに従って説明する。この処理は、いずれかのホスト３００からのアクセス要求がライトアクセスであるときに、制御部１５０によって開始される。
【００４２】
まず、制御部１５０は、ホスト３００からのアクセス要求に応答して、アドレス要求に付加されたLUアドレスを基にアドレス情報１３１を参照し、アドレス情報１３１から、書き込み先の記憶装置A（記憶装置１６０）のアドレスを特定し（S１）、記憶装置Aのアドレスに対応する記憶装置Bのアドレスは存在するか否かを判定する（S２）。
【００４３】
ステップS２において、YESと判定したときには、制御部１５０は、特定した記憶装置Aのアドレスおよび記憶装置Bのアドレスにデータを書き込み（S３）、アクセス時刻情報１３２の最終アクセス時刻を更新し（S４）、このルーチンでの処理を終了する。
【００４４】
例えば、LUアドレスが「００００」であるときには、記憶装置Aアドレス「００００」と記憶装置Bアドレス「０００１」にそれぞれアクセス要求に伴うデータを書き込むとともに、アクセス時刻情報１３２の第１のエントリの最終アクセス時刻を更新する。
【００４５】
一方、ステップS２において、NOと判定したときには、制御部１５０は、アクセス時刻情報１３２で最終アクセス時刻が存在しない記憶装置Bのアドレスは存在するか否かを判定し（S５）、このステップS５でYESと判定したときには、最終アクセス時刻が存在しない記憶装置Bのアドレスを特定し（S６）、この後、ステップs８の処理に移行し、ステップs５でnoと判定したときには、アクセス時刻情報１３２から最終アクセス時刻の一番古い記憶装置bのアドレスを特定し（s７）、この後、ステップs８の処理に移行する。
【００４６】
ここで、制御部１５０は、ステップs５でyesと判定したときには、最終アクセス時刻が存在しないbのアドレスとして、例えば、アクセス時刻情報１３２のうち第４のエントリのアドレス「０００３」を特定し、ステップs５でnoと判定したときには、アクセス時刻情報１３２の第１〜第３のエントリのうち最終アクセス時刻の一番古い記憶装置bのアドレスとして、「０００２」を特定する。
【００４７】
次に、ステップS８において、制御部１５０は、特定した記憶装置Aのアドレスおよび記憶装置Bのアドレスにデータを書き込み（S８）、アドレス情報１３１の記憶装置Bアドレスおよびアクセス時刻情報１３２の最終アクセス時刻を更新し（S９）、このルーチンでの処理を終了する。
【００４８】
この際、ステップS８、S９においては、ステップS２において、記憶装置Aのアドレスに対応する記憶装置Bのアドレスが存在しない場合であって、LUアドレスが「０００２」である場合には、記憶装置Aアドレスとなるアドレス「０００２」と、記憶装置Bアドレスとなるアドレス「０００２」または「０００３」にデータを書き込み、記憶装置Bアドレスに対応した最終アクセス時刻を更新する。
【００４９】
上記書き込み処理を実行することで、アクセス要求に伴うデータを記憶装置１６０と記憶装置１６１に同時に書き込むことができる。
【００５０】
なお、この書き込み処理においては、ステップS４、S９の後に、アクセスカウンタの値を＋１とする処理を追加することもできる。これにより、書き込み処理が行われる毎に、LUアドレスに対応したアクセスカウンタの値が変化することになる。
【００５１】
次に、読み出し処理を図９のフローチャートに従って説明する。この処理は、ホスト３００からのアクセス要求がリードアクセスであるときに、制御部１５０によって開始される。
【００５２】
まず、制御部１５０は、ホスト３００からのアクセス要求に応答して、アクセス要求に付加されたLUアドレスを基にアドレス情報１３１を参照し、読み出し先の論理ユニット（LU）１７０のアドレスに対応する記憶装置Bのアドレスは存在するか否かを判定する（S１１）。
【００５３】
このステップS１１でYESと判定したときには、制御部１５０は、記憶装置B（記憶装置１６１）からデータを読み出し（S１２）、アクセス時刻情報１３２の最終アクセス時刻を更新し（S１３）、ステップS１５の処理に移行し、ステップS１１でNOと判定したときには、記憶装置A（記憶装置１６０）からデータを読み出し（S１４）、ステップS１５の処理に移行する。
【００５４】
ステップS１５では、制御部１５０は、アドレス情報１３１のアクセスカウンタを＋１増やし（S１５）、このルーチンでの処理を終了する。
【００５５】
この読み出し処理では、リードアクセスの対象となるデータが記憶装置１６０、１６１にそれぞれ格納されている場合、ステップS１１でYESと判定したときには、制御部１５０は、高速の記憶デバイスで構成されている記憶装置１６１からデータを読み出ることになる。一方、リードアクセスの対象となるデータが記憶装置１６０のみに存在する場合、ステップS１１でNOと判定したときには、制御部１５０は、低速の記憶デバイスで構成された記憶装置１６０からデータを読み出すことになる。
【００５６】
次に、領域解放処理を図１０のフローチャートに従って説明する。この処理は、記憶装置１６１に格納されたデータのうちアクセス頻度が低く古くなったデータを削除するために、領域解放処理設定情報１３４のスイッチ設定１３４１が「オン」であることを条件に、制御部１５０によって開始される。
【００５７】
まず、制御部１５０は、現在時刻から領域解放処理期間設定１３４３の時間を引き（減算）、得られた時刻を領域解放時刻とする（S２１）。即ち、現在時刻よりも設定時間だけ古い時刻を領域解放時刻とする。
【００５８】
次に、制御部１５０は、アクセス時刻情報１３２の最終アクセス時刻が領域解放時刻よりも古い記憶装置Bアドレスを特定し（S２２）、特定した記憶装置Bアドレスをアドレス情報１３１から削除し（S２３）、特定した記憶装置Bアドレスの最終アクセス時刻をアクセス時刻情報１３２から削除し（S２４）、領域解放処理を終了する。
【００５９】
この領域解放処理では、記憶装置１６１のアドレスの中に、最終アクセス時刻として、領域解放時刻よりも古い最終アクセス時刻が存在するときには、そのアドレスをアドレス情報１３１とアクセス時刻情報１３２から削除することが実行される。この領域解放処理を実行することで、高速の記憶デバイスで構成された記憶装置１６１のデータの中からアクセス頻度が低く古くなったデータを削除する処理に相当する処理が実行されたことになる。
【００６０】
即ち、制御部１５０は、アクセス要求元からのアクセス要求に応答して記憶装置（記憶装置B）１６１に対するアクセス時間を最終アクセス時刻として計測し、この計測結果を基に記憶装置１６１に格納されたデータのうち、アクセス要求元のアクセス対象から一定時間以上外れたデータを削除することになる。
【００６１】
次に、データ戻し処理を図１１のフローチャートに従って説明する。このデータ戻し処理は、記憶装置１６１からアクセス頻度が低くなったデータを削除した後、削除したデータに対するアクセスが記憶装置１６０に対して行われ、このデータに対するアクセス頻度が高くなったときに、戻し処理設定情報１３３のスイッチ設定１３３１が「オン」であることを条件に、記憶装置１６０のデータの一部を記憶装置１６１に戻すために、制御部１５０によって開始される。
【００６２】
まず、制御部１５０は、戻し処理設定情報１３３のうち戻し処理実行間隔設定１３３２で設定された戻し処理実行間隔毎にアドレス情報１３１を参照し、アクセスカウンタフィールド１３１１のエントリのうち、アクセスカウンタの数値が大きい順にLUアドレスを特定し（S３１）、特定した論理ユニット（LU）１７０のアドレスに対応する記憶装置Bのアドレスは存在するか否かを判定する（S３２）。
【００６３】
ステップS３２において、YESと判定したときには、制御部１５０は、ステップS３５の処理に移行し、一方、ステップS３２でNOと判定したときには、特定した論理ユニット１７０のアドレスに対応する記憶装置Aのアドレスからデータを読み込み（S３３）、読み込んだデータを記憶装置Bのアドレスに書き込み処理を実施し（S３４）、ステップS３５の処理に移行する。
【００６４】
ステップS３３、S３４においては、アドレス情報１３１のうちアクセスカウンタの数値が、例えば、最も大きい数値に対応するLUアドレスとして「００００」を特定し、この特定したLUアドレスに対応する記憶装置Aアドレスであるアドレス「００００」からデータを読み込み、読み込んだデータを記憶装置Bアドレスであるアドレス「０００１」に書き込む。
【００６５】
この後、制御部１５０は、戻し処理設定情報１３３のうち戻し処理実行回数設定１３３３に規定された回数だけ戻し処理を実施したか否かを判定し（S３５）、データ戻し処理を規定された回数実施していないときには、ステップS３２の処理に戻り、ステップS３２〜S３５の処理を繰り返し、データ戻し処理を規定された回数実施したと判定したときには、アドレス情報１３１の全てのアクセスカウンタを０に変更してリセットし（S３６）、このルーチンでの処理を終了する。
【００６６】
上記データ戻し処理を行うことで、記憶装置１６１に存在しないデータであって、記憶装置１６０には存在するデータの一部を記憶装置１６１に戻すことができる。これにより、アクセス頻度の高いデータが記憶装置１６１に戻されたときには、データ戻し処理の後、アクセス頻度の高いデータに対して、高速の記憶デバイスで構成された記憶装置１６１からデータを読み出すことができる。
【００６７】
なお、本実施例におけるデータ戻し処理では、アクセスカウンタの数値が大きい順に処理を実行しているものについて述べたが、アクセスカウンタの数値が閾値よりも大きいものに対して、データ戻し処理を実行することもできる。この際、ステップS３５においては、アクセスカウンタの数値が閾値を超えたものについて、全て処理を実施したか否かを判定することで、データ戻し処理が、規定された回数実施したか否かを判定することができる。
【００６８】
本実施例によれば、レスポンス性能が異なる複数の記憶装置１６０、１６１に対して同時にデータを書き込み、その後、高速な記憶デバイスで構成された記憶装置１６１のデータの中からアクセス頻度が低いデータを削除するようにしたため、複雑な分析や運用を行うことなく、複数の記憶装置１６０、１６１を低速・高速の２階層に分けて階層化して管理することができる。
【００６９】
また、本実施例によれば、高速な記憶デバイスで構成された記憶装置１６１のデータの中からアクセス頻度が低いデータを削除した後、低速な記憶デバイスで構成された記憶装置１６０のデータの中からアクセス頻度が高いデータのみを記憶装置１６１に戻すようにしたため、データを戻すための処理を低負荷状態で且つ短時間で実現できる。
【００７０】
さらに、記憶装置１６１から削除したデータであっても、その後、アクセス頻度が高くなった場合には、記憶装置１６０から記憶装置１６１に戻すことで、高速な記憶デバイスで構成された記憶装置１６１からデータを読み出すことができる。
【実施例２】
【００７１】
次に、本発明の第２実施例を図１２に基づいて説明する。図１２は、ホストと記憶装置との関係を示す模式図である。
【００７２】
本実施例は、複数の記憶装置１６０によって複数のRAIDグループ１６２〜１６４を構成し、複数の記憶装置１６１によってRAIDグループ１６５を構成し、論理ユニット（LU）１７０の代わりに、複数の論理ユニット（LU）１７１、１７２、１７３を設け、複数の論理ユニット（LU）１７１〜１７３を用いて、各RAIDグループ１６２〜１６５に対するデータの入出力処理を制御するようにしたものであり、ストレージサブシステム１００におけるハードウエアの構成は、第１実施例のものと同様である。
【００７３】
具体的には、論理ユニット（LU）１７１には、RAIDグループ１６２に属する複数の記憶装置１６０で構成された複数の論理的記憶領域または複数の論理デバイス（LDEV）が割り当てられ、論理ユニット（LU）１７２には、RAIDグループ１６３に属する複数の記憶装置１６０で構成された複数の論理的記憶領域または複数の論理デバイス（LDEV）が割り当てられ、論理ユニット（LU）１７３には、RAIDグループ１６４に属する複数の記憶装置１６０で構成された複数の論理的記憶領域または複数の論理デバイス（LDEV）が割り当てられる。
【００７４】
一方、RAIDグループ１６５に属する複数の記憶装置１６１で構成された複数の論理的記憶領域または複数の論理デバイス（LDEV）はストレージプール１８０に割り当てられる。このストレージプール１８０に割り当てられる各論理的記憶領域または論理デバイスは、例えば、論理ユニット（LU）１７１、１７２に割り当てられる。
【００７５】
この場合、複数の記憶装置１６０と複数の記憶装置１６１を複数のRAIDグループに分けて階層化し、低速な記憶デバイスで構成されたRAIDグループ１６２〜１６４に属する論理デバイスを論理ユニット（LU）１７１〜１７３に割り当て、高速な記憶デバイスで構成されたRAIDグループ１６５に属する論理デバイスをストレージプール１８０に割り当て、ストレージプール１８０に割り当てられた論理デバイスを論理ユニット（LU）１７１、１７２に割り当てる構成を採用している。
【００７６】
次に、図１３に制御メモリ１３０の構成を示す。本実施例における制御メモリ１３０には、アドレス情報１３１の代わりに、アドレス情報１３６が格納され、アクセス時刻情報１３２の代わりに、アクセス時刻情報１３７が格納され、戻し処理設定情報１３３と領域解放処理設定情報１３４および制御プログラム１３５は、第１実施例と同一のものが格納される。
【００７７】
また、制御メモリ１３０には、LU割当設定情報１３８とスケジュール情報１３９が格納される。以下、アドレス情報１３６、アクセス時刻情報１３７、LU割り当て設定情報１３８、スケジュール情報１３９の具体的内容を、図１４乃至図１７を用いて説明する。
【００７８】
まず、図１４にアドレス情報１３６の構成を示す。アドレス情報１３６は、LU  IDフィールド１３６０と、LUアドレスフィールド１３１０と、アクセスカウンタフィールド１３１１と、RAIDグループIDフィールド１３６１と、RAIDグループアドレスフィールド１３６２と、ストレージプールアドレスフィールド１３６３から構成される。
【００７９】
LU  IDフィールド１３６０の各エントリには、各論理ユニット１７１〜１７３を一意に識別するための識別子が格納される。例えば、第１〜第４のエントリには、論理ユニット１７１を識別するための識別子として、「００」が格納され、第５〜第７のエントリには、論理ユニット１７２を一意に識別するための識別子として、「０１」が格納され、第８〜第１０のエントリには、論理ユニット１７３を識別するための識別子として、「０２」が格納される。
【００８０】
LUアドレスフィールド１３１０の各エントリには、各論理ユニット１７１〜１７３に割り当てられた論理デバイス（LDEV）あるいは論理的記憶領域を特定するためのアドレスが格納される。例えば、第１〜第４のエントリには、論理ユニット１７１のアドレスとして、「００００」、「０００１」、「０００２」、「０００３」が格納され、第５〜第７のエントリには、論理ユニット１７２のアドレスとして、「００００」、「０００１」、「０００２」が格納され、第８〜第１０のエントリには、論理ユニット１７３のアドレスとして、「００００」、「０００１」、「０００２」が格納される。
【００８１】
なお、LU  IDフィールド１３６０とLUアドレスフィールド１３１０に格納された情報は、ホスト３００からのアクセス要求に付加される。アクセス要求に付加された情報は、例えば、アクセス要求で指定された書き込み先のアドレスや読み出し先のアドレスとして用いられる。
【００８２】
アクセスカウンタフィールド１３１１の各エントリには、各論理ユニット１７１〜１７３に割り当てられた論理デバイスがアクセスされる回数を示す計測値（制御部１５０による計測値）が格納される。例えば、第１のエントリには、論理ユニット１７１のアドレス「００００」に対応したアクセスカウンタの値として、「１１５８」が格納され、第２のエントリには、論理ユニット１７１のアドレス「０００１」に対応したアクセスカウンタの値として「３」が格納され、第３のエントリには、論理ユニット１７１のアドレス「０００２」に対応したアクセスカウンタの値として、「７２」が格納され、第４のエントリには、論理ユニット１７１のアドレス「００００」に対応したアクセスカウンタの値として、「１８０」が格納される。
【００８３】
RAIDグループIDフィールド１３６１の各エントリには、各RAIDグループ１６２〜１６３を識別するための識別子に関する情報が格納される。例えば、第１〜第４のエントリには、RAIDグループ１６２を識別するための識別子として、「００」が格納され、第５〜第１０のエントリには、RAIDグループ１６３を識別するための識別子として、「０１」が格納される。
【００８４】
RAIDグループアドレスフィールド１３６２の各エントリには、各RAIDグループ１６２〜１６４に属する論理デバイスを特定するためのアドレスが格納される。例えば、第１〜第４のエントリには、RAIDグループ１６２に属する論理デバイスを特定するためのアドレスとして、「００００」〜「０００３」が格納され、第５〜第１０のエントリには、RAIDグループ１６３に属する論理デバイスを特定するためのアドレスとして、「００００」〜「０００５」が格納される。
【００８５】
ストレージプールアドレスフィールド１３６３の各エントリには、RAIDグループアドレスに対応したアドレスとして、ストレージプール１８０に割り当てられた論理デバイスまたは論理的記憶領域を特定するためのアドレスが格納される。例えば、RAIDグループ１６２に属するRAIDグループアドレス「００００」、「０００１」、「０００２」、「０００３」に対応するストレージプールアドレスとして、「０００１」、「００００」、「NULL」、「０００２」が格納される。なお、エントリに、「NULL」が格納されているときには、このアドレスについては、ストレージプール１８０に論理デバイスまたは論理的記憶領域が割り当てられていないことを示す。
【００８６】
次に、図１５にアクセス時刻情報１３７の構成を示す。アクセス時刻情報１３７は、ストレージプールアドレスフィールド１３６３と、最終アクセス時刻情報フィールド１３２０から構成される。
【００８７】
ストレージプールアドレスフィールド１３６３の各エントリには、ストレージプール１３０に割り当てられた論理デバイスまたは論理的記憶領域を特定するためのアドレスが格納される。例えば、ストレージプール１８０に、４つの論理ボリュームまたは４つの論理的記憶領域が割り当てられていた場合、これらのアドレスとして、第１〜第４のエントリには、「００００」、「０００１」、「０００２」、「０００３」が格納される。
【００８８】
最終アクセス時刻フィールド１３２０の各エントリには、ストレージプール１８０に割り当てられた論理デバイスまたは論理的記憶領域に対するアクセス時間に関する情報として、最終アクセス時刻が格納される。なお、最終アクセス時刻フィールド１３２０のエントリに、「NULL」が格納されているときには、このアドレスに対応する論理デバイスには、制御部１５０からアクセスがないことを示す。
【００８９】
次に、図１６にLU割り当て設定情報１３８の構成を示す。LU割り当て設定情報１３８は、LU  IDフィールド１３６０と、LU割り当て設定フィールド１３８０から構成される。
【００９０】
LU  IDフィールド１３６０の各エントリには、各論理ユニット１７１〜１７３を識別するための識別子が格納される。例えば、第１のエントリには、論理ユニット１７１を識別するための識別子として、「００」が格納され、第２のエントリには、論理ユニット１７２を識別するための識別子として「０１」が格納され、第３のエントリには、論理ユニット１７３を識別するための識別子として、「０２」が格納される。なお、第４のエントリには、他の論理ユニットを識別するための識別子として、「０３」が格納される。
【００９１】
LU割り当て設定フィールド１３８０の各エントリには、各論理ユニット１７１〜１７３にストレージプール１８０が接続され、各論理ユニット１７１〜１７３にストレージプール１８０の論理デバイスが割り当てられるときに「オン」の情報が格納され、各論理ユニット１７１〜１７３とストレージプール１８０とが切り離されて、各論理ユニット１７１〜１７３にストレージプール１８０の論理デバイスが割り当てられないときには、「オフ」の情報が格納される。
【００９２】
次に、図１７に、スケジュール情報１３９の構成を示す。スケジュール情報１３９は、LU  IDフィールド１３９０と、割り当て時刻フィールド１３９１と、切り離し時刻フィールド１３９２から構成される。
【００９３】
LU  IDフィールド１３９０の各エントリには、各論理ユニット１７１〜１７３を識別するための識別子が格納される。例えば、第１〜第３のエントリには、論理ユニット１７１〜１７３に対応した識別子として、「００」、「０１」、「０２」が格納される。
【００９４】
割り当て時刻フィールド１３９１の各エントリには、各論理ユニット１７１〜１７３に対して、ストレージプール１８０の論理デバイスが割り当てられたときの時刻、即ち、制御部１５０が、LU割り当て設定処理を行ったときの時刻が格納される。
【００９５】
切り離し時刻フィールド１３９２の各エントリには、制御部１５０が、論理ユニット１７１〜１７３からストレージプール１８０を切り離し、各論理ユニット１７１〜１７３に対して、ストレージプール１８０の論理デバイスの割り当てを解除したときの時刻が格納される。
【００９６】
次に、図１８に、第２実施例における処理の概要を説明するための模式図を示す。
【００９７】
本実施例においては、例えば、論理ユニット１７１をアクセス対象としてホスト３００から論理ユニット１７１にアクセスを行った場合、アクセス要求がライトアクセスであるときには、RAIDグループ１６２に属する記憶装置１６０にデータを書き込むとともに、ストレージプール１８０にデータを書き込み、その後、ストレージプール１８０に対するアクセス頻度が低下し、ストレージプール１８０をアクセス先とする必要がなくなったときには、論理ユニット１７１とストレージプール１８０とを切り離すこととしている。
【００９８】
一方、RAIDグループ１６４に属する記憶装置１６０に、アクセス頻度が低いデータを格納している過程で、RAIDグループ１６４に属する記憶装置１６０に対するアクセス頻度が増加したときには、RAIDグループ１６５に属する複数の記憶装置１６１で構成された論理デバイスが割り当てられたストレージプール１８０と論理ユニット１７３とを接続し、論理ユニット１７３に対してストレージプール１８０の論理デバイスを割り当て、アクセス頻度が高くなったデータをストレージプール１８０の論理デバイスに格納することとしている。
【００９９】
次に、第２実施例における書き込み処理を図１９のフローチャートに従って説明する。この書き込み処理は、ホスト３００から論理ユニット１７１〜１７３のうちいずれかの論理ユニットに対してアクセス要求が送信され、アクセス要求がライトアクセスであるときに、制御部１５０によって開始される。
【０１００】
まず、制御部１５０は、ホスト制御部１５０からのアクセス要求に付加されたLU  IDとLUアドレスを基にアドレス情報１３６を参照し、書き込み先のRAIDグループIDとRAIDグループアドレスを特定し（S４１）、次にLU割り当て設定情報１３８を参照し、書き込み先LUのLU割り当て設定はオンか、あるいはオフかを判定する（S４２）。
【０１０１】
ステップS４２において、制御部１５０は、LU  IDが、例えば「０２」であるときには、LU割り当て設定がオフであると判定し、特定したRAIDグループIDとRAIDグループアドレスに、アクセス要求に伴うデータを書き込み、このルーチンでの処理を終了する。この場合、制御部１５０は、LU割り当て設定がオフであるとして、RAIDグループ１６４に属する記憶装置１６０にデータを書き込む。
【０１０２】
一方、ステップS４２において、制御部１５０は、LU  IDが「００」または「０１」であって、LU割り当て設定がオンであると判定したときには、アドレス情報１３６を参照し、ステップS４１で特定したアドレスに対応するストレージプールアドレスは存在するか否かを判定し（S４４）、YESと判定したときには、特定したRAIDグループIDとRAIDグループアドレスおよびストレージプールアドレスにデータを書き込み（S４５）、アクセス時刻情報１３７のうちストレージプールアドレスに対応した最終アクセス時刻を更新し（S４６）、このルーチンでの処理を終了する。
【０１０３】
この場合、ステップS４４〜S４６では、アドレス情報１３６のエントリのうち、例えば、第１のエントリのアドレスを特定したときには、RAIDグループ１６２に属する記憶装置１６０のアドレス「００００」とRAIDグループ１６５に属する記憶装置１６１のアドレス「０００１」にデータを同時に書き込むことになる。
【０１０４】
次に、ステップS４４でNOと判定したときには、制御部１５０は、アクセス時刻情報１３７を参照し、最終アクセス時刻が存在しないストレージプールアドレスは存在するか否かを判定し（S４７）、このステップでYESと判定したときには、最終アクセス時刻が存在しないストレージプールアドレスを特定し（S４８）、この後、ステップS５０の処理に移行し、ステップS４７でNOと判定したときには、アクセス時刻情報１３７を参照し、ストレージプールアドレスのうち最終アクセス時刻の一番古いストレージプールアドレスを特定し（S４９）、この後、ステップS５０の処理に移行する。
【０１０５】
次に、ステップS５０において、制御部１５０は、ステップS４１で特定したRAIDグループIDとRAIDグループアドレスおよびステップS４８またはステップS４９で特定したストレージプールアドレスにデータを書き込み、この後、アドレス情報１３６のストレージプールアドレスおよびアクセス時刻情報１３７の最終アクセス時刻を更新し（S５１）、このルーチンでの処理を終了する。
【０１０６】
ステップS４７〜S５１では、例えば、LU割り当て設定がオンであって、RAIDグループアドレスに対応したストレージプールアドレスが存在しないアドレスとして、「０００３」を特定し、または最終アクセス時刻の一番古いストレージプールアドレスとして、「０００２」を特定し、特定したアドレスとステップS４１で特定したアドレスにデータを格納することになる。
【０１０７】
なお、ステップS４６とステップS５１の後に、アドレス情報１３６のアクセスカウンタを＋１とする処理を追加することもできる。
【０１０８】
次に、読み出し処理を図２０のフローチャートに従って説明する。この読み出し処理は、ホスト３００から各論理ユニット１７１〜１７３に対するアクセス要求がリードアクセスであるときに、制御部１５０によって開始される。
【０１０９】
まず、制御部１５０は、ホスト３００からのアクセス要求に応答して、LU割り当て設定情報１３８を参照し、アクセス要求で指定された読み出し先LUのLU割り当て設定はオンかオフかを判定し（S６１）、このステップS６１でオフと判定したときには、LU割り当て設定がオフとなっているRAIDグループからデータを読み出し（S６２）、この後、ステップS６７の処理に移行する。この場合、ステップS６２では、例えば、RAIDグループ１６４に属する記憶装置１６０からデータを読み出す。
【０１１０】
一方、ステップS６１において、読み出し先LUのLU割り当て設定はオンであると判定したときには、制御部１５０は、ホスト３００から送信されたアクセス要求に付加された情報のうちLU  IDとLUアドレスを基にアドレス情報１３６を参照し、読み出し先のLU  IDとLUアドレスに対応するストレージプールアドレスが存在するか否かを判定する（S６３）。
【０１１１】
ステップS６３において、YESと判定したときには、制御部１５０は、ストレージプール１８０からデータを読み出し（S６４）、アクセス時刻情報１３７のうちデータを読み出したストレージプールアドレスに対応した最終アクセス時刻を更新し（S６５）、この後、ステップS６７の処理に移行し、一方、ステップS６３でNOと判定したときには、RAIDグループからデータを読み出し（S６６）、この後、ステップS６７の処理に移行する。
【０１１２】
ステップS６３〜S６５では、高速な記憶デバイスで構成された記憶装置１６１から、論理デバイスが割り当てられたストレージプール１８０からデータを読み出し、ステップS６３とステップS６６では、RAIDグループ１６２またはRAIDグループ１６３に属し、低速な記憶デバイスで構成された記憶装置１６０からデータを読み出すことになる。
【０１１３】
次に、制御部１５０は、ステップS６７において、アドレス情報１３６のアクセスカウンタを１増やし、このルーチンでの処理を終了する。
【０１１４】
この読み出し処理を実行することで、論理ユニット１７１がリードアクセスの対象となった場合、ストレージプール１８０にリードアクセスの対象となるデータが存在するときには、ストレージプール１８０からデータを読み出し、ストレージプール１８０にリードアクセスの対象となるデータが存在しないときには、RAIDグループ１６２または１６３に属する記憶装置１６０からデータを読み出し、ストレージプール１８０が設定されていない論理ユニット１７３がリードアクセスの対象となったときには、RAIDグループ１６４に属する記憶装置１６０からデータを読み出すことになる。
【０１１５】
次に、領域解放処理を図２１のフローチャートに従って説明する。この領域解放処理は、ストレージプール１８０のデータのうちアクセス頻度が低く古くなったデータを削除するために、現在時刻が、領域解放処理設定情報１３４に設定された時刻となったときに、制御部１５０によって開始される。
【０１１６】
まず、制御部１５０は、戻し処理設定情報１３３を参照し、現在時刻から領域解放処理設定期間の時間を引き（減算）、得られた時刻を領域解放時刻とし（S７１）、次にアクセス時刻情報１３７を参照し、最終アクセス時刻が領域解放時刻よりも古いストレージプールアドレスを特定し（S７２）、特定したストレージプールアドレスをアドレス情報１３６から削除し（S７３）、特定したストレージプールアドレスの最終アクセス時刻をアクセス時刻情報１３７から削除し（S７４）、このルーチンでの処理を終了する。
【０１１７】
この領域解放処理を実行することで、高速な記憶デバイスで構成された記憶装置１６１から、論理デバイスが割り当てられたストレージプール１８０のデータのうちアクセス頻度が低く古くなったデータを削除することができる。
【０１１８】
次に、データ戻し処理を図２２のフローチャートに従って説明する。このデータ戻し処理は、戻し処理設定情報１３３のうち戻し処理実行間隔設定１３３２に設定された戻し処理実行間隔毎に、制御部１５０によって開始される。
【０１１９】
まず、制御部１５０は、LU割り当て設定がオンになっている論理ユニット（LU  IDが「００」または「０１」の論理ユニット）を処理対象として、アドレス情報１３６を参照し、アクセスカウンタの数値が閾値よりも大きいLUのアドレスを特定する（S８１）。例えば、閾値が、「１００」として設定されているときには、アクセスカウンタの数値が閾値より大きいLUのアドレスとして、「００００」、「０００３」、「００００」、「０００１」、「０００２」を特定する。
【０１２０】
次に、制御部１５０は、特定したLUのアドレスに対応するストレージプールアドレスは存在するか否かを判定し（S８２）、このステップS８２でYESと判定したときには、この後、ステップS８５の処理に移行し、一方、ステップS８２でNOと判定したときには、特定したLUのアドレスに対応するRAIDグループIDとRAIDグループアドレスからデータを読み込み（S８３）、読み込んだデータをストレージプールアドレスに書き込むための処理（図１９の書き込み処理）を実施する（S８４）。
【０１２１】
次に、ステップS８５において、制御部１５０は、戻し処理設定情報１３３を参照し、戻し処理実行回数設定１３３３２に規定された回数だけ、データ戻し処理を実施したか否かを判定し、ステップS８５でNOと判定したときには、ステップS８２〜S８５の処理を繰り返し、一方、ステップS８５でYESと判定したときには、アドレス情報１３６を参照し、アドレス情報１３６の全てのアクセスカウンタを０に変更してリセットし（S８６）、このルーチンでの処理を終了する。
【０１２２】
このデータ戻し処理を実行することで、RAIDグループ１６２、１６３に属する記憶装置１６０に格納されたデータのうちアクセスカウンタの値が閾値よりも大きく、アクセス頻度が高いデータをストレージプール１８０に戻すことができる。
【０１２３】
次に、ストレージプール割り当て処理を図２３のフローチャートに従って説明する。このストレージプール割り当て処理は、各論理ユニット１７１〜１７３に対するアクセス頻度を計測する過程あるいはスケジュール情報１３９を管理する過程で、制御部１５０によって開始される。
【０１２４】
まず、制御部１５０は、LU割り当て設定情報１３８のうちLU割り当て設定がオフになっている論理ユニットを対象として、アドレス情報１３６を参照し、アクセスカウンタの値を基に各LUのアクセス頻度（使用頻度）が閾値以上であるか、あるいはスケジュール情報１３９を参照し、現在時刻が、論理ユニット１７１〜１７３に設定されたLU（論理ユニット）へのストレージプール割り当て時刻か否かを判定する（S９１）。
【０１２５】
ステップS９１でNOと判定したときには、制御部１５０は、LU割り当て設定をオフとしたまま、このルーチンでの処理を終了し、一方、ステップS９１でYESと判定したときには、LU割り当て設定情報１３８のうち変更対象となるLU  IDのLU割り当て設定をオフからオンに設定し（S９２）、このルーチンでの処理を終了する。
【０１２６】
この処理では、例えば、論理ユニット１７３に対するアクセス頻度が閾値を超えたときに、論理ユニット１７３に対するLU割り当て設定をオフからオンに設定し、論理ユニット１７３とストレージプール１８０とを接続することになる。
【０１２７】
次に、ストレージプール切り離し処理を図２４のフローチャートに従って説明する。このストレージプール切り離し処理は、各論理ユニット１７１〜１７３に対するアクセス頻度を管理している過程またはスケジュール情報１３９を管理している過程で、制御部１５０によって開始される。
【０１２８】
まず、制御部１５０は、LU割り当て設定情報１３８のうちLU割り当て設定がオンになっている論理ユニットを対象として、アドレス情報１３６を参照し、各論理ユニット１７１〜１７３のアクセス頻度（使用頻度）が閾値未満であるか、あるいはスケジュール情報１３９を参照し、現在時刻が、各論理ユニット１７１〜１７３に設定されたLU（論理ユニット）へのストレージプール切り離し時刻か否かを判定する（S１０１）。
【０１２９】
ステップS１０１でNOと判定したときには、制御部１５０は、このルーチンでの処理を終了し、一方、ステップS１０１でYESと判定したときには、LU割り当て設定情報１３８のうち処理対象となるLU  IDのLU割り当て設定をオンからオフに設定し（S１０２）、次に、アドレス情報１３６を参照し、処理対象となるLU  IDのLUアドレスに対応するストレージプールアドレスは存在するか否かを判定する（S１０３）。
【０１３０】
ステップS１０３でNOと判定したときには、制御部１５０は、このルーチンでの処理を終了し、一方、ステップS１０３でYESと判定したときには、アクセス時刻情報１３７のうち最終アクセス時刻を削除し（S１０４）、次に、アドレス情報１３６のうちストレージプールアドレスを削除し（S１０５）、処理対象のLU  IDの全てのLUアドレスに対して処理が終了したか否かを判定し（S１０６）、このステップS１０６でNOと判定したときには、ステップS１０４〜ステップS１０６の処理を繰り返し、一方、ステップS１０６でYESと判定したときには、全てのLUアドレスに対する処理が終了したとして、このルーチンでの処理を終了する。
【０１３１】
このストレージプール切り離し処理を実行することで、例えば、ストレージプール１８０に対するアクセス頻度が閾値未満となったときには、論理ユニット１７１に割り当てられていたストレージプール１８０が論理ユニット１７１から切り離され、論理ユニット１７１に割り当てられていたストレージプールアドレスが削除されるとともに、このストレージプールアドレスに対応した最終アクセス時刻が削除されることになる。
【０１３２】
本実施例によれば、低速な記憶デバイスで構成された記憶装置１６０から論理デバイスが割り当てられるRAIDグループ１６２と高速な記憶デバイスで構成された記憶装置１６１から論理デバイスが割り当てられるストレージプール１８０に対して同時にデータを書き込み、その後、ストレージプール１８０のデータの中からアクセス頻度が低いデータを削除するようにしたため、複雑な分析や運用を行うことなく、複数の記憶装置１６０、１６１を低速・高速の２階層に分けて階層化して管理することができる。
【０１３３】
また、本実施例によれば、ストレージプール１８０のデータの中からアクセス頻度が低いデータを削除した後、低速な記憶デバイスで構成された記憶装置１６０から論理デバイスが割り当てられたRAIDグループ１６２のデータの中からアクセス頻度が高いデータをストレージプール１８０に戻すようにしたため、データを戻すための処理を低負荷状態で且つ短時間で実現できる。
【０１３４】
さらに、低速な記憶デバイスで構成された記憶装置１６０から論理デバイスが割り当てられているRAIDグループ１６４に対するアクセス頻度が低く、論理ユニット１７３にストレージプール１８０が接続されていない場合でも、その後、RAIDグループ１６４に対するアクセス頻度が高くなった場合には、論理ユニット１７３にストレージプール１８０を接続することで、論理ユニット１７３をアクセス対象とするデータのうちアクセス頻度が高くなったデータをストレージプール１８０に格納することができるとともに、ストレージプール１８０からデータを読み出すことができる。
【０１３５】
また、論理ユニット１７１をアクセス対象としているときに、ストレージプール１８０に対するアクセス頻度が低下し、ストレージプール１８０をアクセス先とする必要がなくなったときには、論理ユニット１７１とストレージプール１８０とを切り離すことができる。
【符号の説明】
【０１３６】
１００  ストレージサブシステム、２００  ネットワーク、３００  ホスト（ホスト計算機）、１２０  キャッシュメモリ、１１０  ネットワークインタフェース、１３０  制御メモリ、１４０  制御部、１５０  制御部、１６０、１６１  記憶装置、１７０、１７１、１７２、１７３  論理ユニット、１３１  アドレス情報、１３２  アクセス時刻情報、１３３  戻し処理設定情報、１３４  領域解放処理設定情報、１３５  制御プログラム、１３６  アドレス情報、１３７  アクセス時刻情報、１３８  LU割り当て設定情報、１３９  スケジュール情報
【図１】
2011242862.tif 000003
【図２】
2011242862.tif 000004
【図３】
2011242862.tif 000005
【図４】
2011242862.tif 000006
【図５】
2011242862.tif 000007
【図６】
2011242862.tif 000008
【図７】
2011242862.tif 000009
【図８】
2011242862.tif 000010
【図９】
2011242862.tif 000011
【図１０】
2011242862.tif 000012
【図１１】
2011242862.tif 000013
【図１２】
2011242862.tif 000014
【図１３】
2011242862.tif 000015
【図１４】
2011242862.tif 000016
【図１５】
2011242862.tif 000017
【図１６】
2011242862.tif 000018
【図１７】
2011242862.tif 000019
【図１８】
2011242862.tif 000020
【図１９】
2011242862.tif 000021
【図２０】
2011242862.tif 000022
【図２１】
2011242862.tif 000023
【図２２】
2011242862.tif 000024
【図２３】
2011242862.tif 000025
【図２４】
2011242862.tif 000026