(57)【特許請求の範囲】
【請求項１】
プロセッサを備えるストレージ・システムにおいて、サービス品質（ＱｏＳ）に基づくストレージ階層化及び階層化されたストレージ間でデータのマイグレーションを行うために、前記プロセッサにより実行される方法であって、
アプリケーション・プロセスが前記ストレージ・システムの第１のストレージ階層にアクセスしているときに、前記アプリケーション・プロセスにおけるデータのＱｏＳファクタをモニタリングするステップと、
所与の時間において、前記モニタリングに基づいて、前記アプリケーション・プロセスにおける前記データのＱｏＳファクタに基づくＱｏＳファクタ測定値を測定するステップと、
前記ＱｏＳファクタ測定値を、前記ＱｏＳファクタに関する第１の所定ＱｏＳファクタ閾値および第２の所定ＱｏＳファクタ閾値と比較するステップと、
前記比較に従い、前記ＱｏＳファクタ測定値が前記第１の所定ファクタ閾値よりも大きいことが示された場合に、前記第１のストレージ階層のデータに基づいてポイント・イン・タイム（ＰｉＴ）コピーを作成し、該ＰｉＴコピーのアクセス・パーミッションを読み取り専用として確定するステップと、
前記比較に従い、前記ＱｏＳファクタ測定値が前記第１の所定ＱｏＳファクタ閾値よりも小さく、前記第２の所定ＱｏＳファクタ閾値よりは大きいことが示された場合に、前記ＰｉＴコピーから第２のストレージ階層にデータをマイグレーションするステップと
を含み、
前記ＱｏＳファクタが、データ・アクセス・レイテンシに少なくとも基づくものであり、
前記ＱｏＳファクタ測定値が、読み取りレイテンシ、書き込みレイテンシ、記憶媒体応答時間、アイドル時間、データの広がり、データの局在性、データの古さ、及びアプリケーション・ファイルの古さの内の少なくとも１つの値を含み、
前記第１の所定ＱｏＳファクタ閾値は階層化の閾値であり、前記第２の所定ＱｏＳファクタ閾値はマイグレーションの閾値であることを特徴とする方法。
【請求項２】
請求項１記載の方法において、該方法はさらに、
前記ＰｉＴコピーから前記第２のストレージ階層へのデータのマイグレーションが完了した後に、前記第２のストレージ階層へのアクセス・パーミッションを読み取り及び書き込みとして設定し、Ｉ／Ｏコマンドを前記第２のストレージ階層に向けて発するステップ
を備えていることを特徴とする方法。
【請求項３】
請求項２記載の方法において、該方法はさらに、
前記比較によって、前記ＱｏＳファクタ測定値が前記第１の所定ＱｏＳファクタ閾値よりも小さく、且つ、前記第２の所定ＱｏＳファクタ閾値よりも小さいことが示された場合、前記第１ストレージ階層及び前記第２ストレージ階層の書き込みコマンドの同期のために、前記第２ストレージ階層のデータを前記第１ストレージ階層にミラーリングするステップ
を備えていることを特徴とする方法。
【請求項４】
請求項３記載の方法において、該システムはさらに、
前記第２のストレージ階層のデータの前記第１のストレージ階層へのミラーリングを同期させるときに、読み取りコマンドを前記第２のストレージ階層に向けて発するステップ
を備えていることを特徴とする方法。
【請求項５】
請求項４記載の方法において、該方法はさらに、
前記第２のストレージ階層のデータの前記第１のストレージ階層へのミラーリングを同期させるときに、前記第１のストレージ階層と前記第２のストレージ階層との間で書き込みコマンドを同期させるステップ
を備えていることを特徴とする方法。
【請求項６】
コンピュータ・プログラムであって、
アプリケーション・プロセスがストレージ・システムの第１のストレージ階層にアクセスしているときに、前記アプリケーション・プロセスにおけるデータのＱｏＳファクタをモニタリングするように構成されているコンピュータ使用可能コードと、
所与の時間において、前記モニタリングに基づいて、前記アプリケーション・プロセスにおける前記データのＱｏＳファクタに基づくＱｏＳファクタ測定値を測定するように構成されているコンピュータ使用可能コードと、
前記ＱｏＳファクタ測定値を、前記ＱｏＳファクタに関する第１の所定ＱｏＳファクタ閾値及び第２の所定ＱｏＳファクタ閾値と比較するように構成されているコンピュータ使用可能コードと、
前記比較に従い、前記ＱｏＳファクタ測定値が前記第１の所定ＱｏＳファクタ閾値よりも大きいことが示された場合に、前記第１のストレージ階層のデータに基づいてポイント・イン・タイム（ＰｉＴ）コピーを作成し、該ＰｉＴコピーのアクセス・パーミッションを読み取り専用として確定すると共に、
前記比較に従い、前記ＱｏＳファクタ測定値が前記第１の所定ＱｏＳファクタ閾値よりも小さく、前記第２の所定ＱｏＳファクタ閾値よりは大きいことが示された場合に、前記ＰｉＴコピーから第２のストレージ階層にデータをマイグレーションするように構成されているコンピュータ使用コードと、
を含み、前記ＱｏＳファクタが、データ・アクセス・レイテンシに少なくとも基づくものであり、
前記ＱｏＳファクタ測定値が、読み取りレイテンシ、書き込みレイテンシ、記憶媒体応答時間、アイドル時間、データの広がり、データの局在性、データの古さ、及びアプリケーション・ファイルの古さの内の少なくとも１つの値を含み、
前記第１の所定ＱｏＳファクタ閾値は階層化の閾値であり、前記第２の所定ＱｏＳファクタ閾値はマイグレーションの閾値である
ことを特徴とするコンピュータ・プログラム。
【請求項７】
請求項６記載のコンピュータ・プログラムにおいて、さらに、
前記ＰｉＴコピーから前記第２のストレージ階層への前記データのマイグレーションが完了した後に、第２のストレージ階層のアクセス・パーミッションを読み取り及び書き込みとして設定し、Ｉ／Ｏコマンドを前記第２のストレージ階層に向けて発するように構成されているコンピュータ使用可能コード
を含むことを特徴とするコンピュータ・プログラム。
【請求項８】
請求項７記載のコンピュータ・プログラムにおいて、さらに、
前記比較によって、前記ＱｏＳファクタ測定値が前記第１の所定ＱｏＳファクタ閾値よりも小さく、且つ、前記第２の所定ＱｏＳファクタ閾値よりも小さいことが示された場合、前記第１ストレージ階層及び前記第２ストレージ階層の書き込みコマンドの同期のために、前記第２ストレージ階層のデータを前記第１ストレージ階層にミラーリングするように構成されているコンピュータ使用可能コード
を含むことを特徴とするコンピュータ・プログラム。
【請求項９】
請求項８記載のコンピュータ・プログラムにおいて、さらに、
前記第２のストレージ階層のデータの前記第１のストレージ階層へのミラーリングを同期させるときに、読み取りコマンドを前記第２のストレージ階層に向けて発するように構成されているコンピュータ使用可能コード
を含むことを特徴とするコンピュータ・プログラム。
【請求項１０】
請求項９記載のコンピュータ・プログラムにおいて、さらに、
前記第２のストレージ階層のデータの前記第１のストレージ階層へのミラーリングを同期させるときに、前記第１のストレージ階層と前記第２のストレージ階層との間で書き込みコマンドを同期させるように構成されているコンピュータ使用可能コード
を含むことを特徴とするコンピュータ・プログラム。
【請求項１１】
ストレージ・システムであって、
プロセッサと、
前記プロセッサに接続されているメモリと、
前記プロセッサ上で実行される制御プログラムであって、
アプリケーション・プロセスが前記ストレージ・システムの第１のストレージ階層にアクセスしているときに、前記アプリケーション・プロセスにおけるデータのＱｏＳファクタをモニタリングし、
所与の時間において、前記モニタリングに基づいて、前記アプリケーション・プロセスにおける前記データのＱｏＳファクタに基づくＱｏＳファクタ測定値を測定し、
前記ＱｏＳファクタ測定値を、前記ＱｏＳファクタに関する第１の所定ＱｏＳファクタ閾値及び第２の所定ＱｏＳファクタ閾値と比較し、
前記比較に従い、前記ＱｏＳファクタ測定値が前記第１の所定ＱｏＳファクタ閾値よりも大きいことが示された場合に、前記第１のストレージ階層のデータに基づいてポイント・イン・タイム（ＰｉＴ）コピーを作成し、該ＰｉＴコピーのアクセス・パーミッションを読み取り専用として確定すると共に、
前記比較に従い、前記ＱｏＳファクタ測定値が前記第１の所定ＱｏＳファクタ閾値よりも小さく、前記第２の所定ＱｏＳファクタ閾値よりは大きいことが示された場合に、前記ＰｉＴコピーから第２のストレージ階層にデータをマイグレーションするように構成されている、制御プログラムと
を備えており、前記ＱｏＳファクタが、データ・アクセス・レイテンシに少なくとも基づくものであり、
前記ＱｏＳファクタ測定値が、さらに、読み取りレイテンシ、書き込みレイテンシ、記憶媒体応答時間、アイドル時間、データの広がり、データの局在性、データの古さ、及びアプリケーション・ファイルの古さの少なくとも１つの値を含み、
前記第１の所定ＱｏＳファクタ閾値は階層化の閾値であり、前記第２の所定ＱｏＳファクタ閾値はマイグレーションの閾値である
ことを特徴とするストレージ・システム。
【請求項１２】
請求項１１記載のストレージ・システムにおいて、前記ＰｉＴコピーから前記第２のストレージ階層への前記データのマイグレーションが完了した後に、第２のストレージ階層のアクセス・パーミッションを読み取り及び書き込みとして設定し、Ｉ／Ｏコマンドを前記第２のストレージ階層に向けて発し、前記比較によって、前記ＱｏＳファクタ測定値が前記第１の所定ＱｏＳファクタ閾値よりも小さく、且つ、前記第２の所定ＱｏＳファクタ閾値よりも小さいことが示された場合、前記第１ストレージ階層及び前記第２ストレージ階層の書き込みコマンドの同期のために、前記第２ストレージ階層のデータを前記第１ストレージ階層にミラーリングし、前記第２のストレージ階層のデータの前記第１のストレージ階層へのミラーリングを同期させるときに、読み取りコマンドを前記第２のストレージ階層に向けて発し、前記第２のストレージ階層のデータの前記第１のストレージ階層へのミラーリングを同期させるときに、前記第１のストレージ階層と前記第２のストレージ階層との間で書き込みコマンドを同期させるように構成されていることを特徴とするストレージ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ資源（記憶資源）及びデータ管理の分野に関し、特に、サービス品質（ＱｏＳ）に基づくストレージ階層化(tiering)及びデータ移動(migration)技法のためのシステム及び方法に関する。
【背景技術】
【０００２】
データストレージ・システムにおいてストレージ資源及びデータ管理に現在利用可能な方法では、所望の性能レベルが発揮できない場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、データストレージ・システムにおいて、ストレージ資源及びデータ管理を行い、現在利用可能な解決策について先に引用した欠点に対処する、システム及び方法を提供することが望ましい。
【課題を解決するための手段】
【０００４】
本発明は、ストレージ・システムにおいて、サービス品質（ＱｏＳ）に基づいたストレージの階層化及び移動を行う方法を提供する。該方法は、アプリケーション・プロセスがストレージ・システムの第１のストレージ階層にアクセスしているときに、アプリケーション・プロセスをモニタリングするステップと、前記モニタリングに基づいて、アプリケーション・プロセスのＱｏＳファクタ測定値を決定するステップと、ＱｏＳファクタ測定値を、第１の所定のＱｏＳファクタ閾値及び第２の所定のＱｏＳファクタ閾値の内少なくとも１つと比較するステップと、前記比較によって、ＱｏＳファクタ測定値が第１の所定のＱｏＳファクタ閾値よりも大きいことが示された場合、第１のストレージ階層に基づいているポイント・イン・タイム（ＰｉＴ）コピーを作成し、ＰｉＴコピーのアクセス許可を読み取り専用として確定するステップと、前記比較によって、ＱｏＳファクタ測定値が第１の所定ＱｏＳファクタ閾値よりも小さく、第２の所定ＱｏＳファクタ閾値よりは大きいことが示された場合、ＰｉＴコピーから第２のストレージ階層にデータを移動させるステップと、ＰｉＴコピーから第２のストレージ階層へのデータ移動が完了した後、第２のストレージ階層のアクセス許可確定を読み取り及び書き込みとして設定し、Ｉ／Ｏコマンドを第２のストレージ階層に向けて発するステップと、前記比較によって、ＱｏＳファクタ測定値が第１の所定ＱｏＳファクタ閾値よりも小さく、第２の所定ＱｏＳファクタ閾値よりも小さいことが示された場合、第２のストレージ階層のデータを第１のストレージ階層にミラーリングするステップと、第２のストレージ階層のデータの第１のストレージ階層へのミラーリングを同期させるときに、読み取りコマンドを第２のストレージ階層に向けて発するステップと、第２のストレージ階層のデータの第１のストレージ階層へのミラーリングを同期させるときに、第１のストレージ階層と第２のストレージ階層との間で書き込みコマンドを同期させるステップとを含む。
【０００５】
本発明は更に、コンピュータ・プログラム生産物を提供する。このコンピュータ・プログラム生産物は信号記憶媒体を備えており、この信号記憶媒体は、アプリケーション・プロセスがストレージ・システムの第１のストレージ階層にアクセスしているときに、アプリケーション・プロセスをモニタリングするように構成されているコンピュータ使用可能コードと、前記モニタリングに基づいて、アプリケーション・プロセスのＱｏＳファクタ測定値を決定するように構成されているコンピュータ使用可能コードと、ＱｏＳファクタ測定値を、第１の所定ＱｏＳファクタ閾値及び第２の所定ＱｏＳファクタ閾値の内少なくとも１つと比較するように構成されているコンピュータ使用コードと、前記比較によって、ＱｏＳファクタ測定値が第１の所定ＱｏＳファクタ閾値よりも大きいことが示された場合、ポイント・イン・タイム（ＰｉＴ）コピーを作成し、ＰｉＴコピーのアクセス許可を読み取り専用として確定するように構成されているコンピュータ使用コードであって、ＰｉＴコピーが第１のストレージ階層に基づく、コンピュータ使用コードと、前記比較によって、ＱｏＳファクタ測定値が第１の所定ＱｏＳファクタ閾値よりも小さく、第２の所定ＱｏＳファクタ閾値よりは大きいことが示された場合、ＰｉＴコピーから第２のストレージ階層にデータを移動させるように構成されているコンピュータ使用コードと、ＰｉＴコピーから第２のストレージ階層へのデータ移動が完了した後、第２のストレージ階層のアクセス許可確定を読み取り及び書き込みとして設定し、Ｉ／Ｏコマンドを第２のストレージ階層に向けて発するように構成されているコンピュータ使用コードと、前記比較によって、ＱｏＳファクタ測定値が第１の所定ＱｏＳファクタ閾値よりも小さく、第２の所定ＱｏＳファクタ閾値よりも小さいことが示された場合、第２のストレージ階層のデータを第１のストレージ階層にミラーリングするように構成されているコンピュータ使用コードと、第２のストレージ階層のデータの第１のストレージ階層へのミラーリングを同期させるときに、読み取りコマンドを第２のストレージ階層に向けて発するように構成されているコンピュータ使用コードと、第２のストレージ階層のデータの第１のストレージ階層へのミラーリングを同期させるときに、第１のストレージ階層と第２のストレージ階層との間で書き込みコマンドを同期させるように構成されているコンピュータ使用コードとを支持する。
【０００６】
本発明はまた、ストレージ・システムを提供する。このストレージ・システムは、プロセッサと、該プロセッサに接続されている、メモリと、プロセッサ上で実行する制御プログラミングとを含む。制御プログラミングは、アプリケーション・プロセスがストレージ・システムの第１のストレージ階層にアクセスしているときに、アプリケーション・プロセスをモニタリングし、該モニタリングに基づいて、アプリケーション・プロセスのＱｏＳファクタ測定値を決定し、ＱｏＳファクタ測定値を、第１の所定ＱｏＳファクタ閾値及び第２の所定ＱｏＳファクタ閾値の少なくとも１つと比較し、比較によって、ＱｏＳファクタ測定値が第１の所定ＱｏＳファクタ閾値よりも大きいことが示された場合、ポイント・イン・タイム（ＰｉＴ）コピーを作成し、ＰｉＴコピーのアクセス許可を読み取り専用として確定し、ＰｉＴコピーが第１のストレージ階層に基づくように構成されている。制御プログラミングは、更に、比較によって、ＱｏＳファクタ測定値が第１の所定ＱｏＳファクタ閾値よりも小さく、第２の所定ＱｏＳファクタ閾値よりは大きいことが示された場合、ＰｉＴコピーから第２のストレージ階層にデータを移動させ、ＰｉＴコピーから第２のストレージ階層へのデータ移動が完了した後、第２のストレージ階層のアクセス許可確定を読み取り及び書き込みとして設定し、Ｉ／Ｏコマンドを第２のストレージ階層に向けて発し、比較によって、ＱｏＳファクタ測定値が第１の所定ＱｏＳファクタ閾値よりも小さく、第２の所定ＱｏＳファクタ閾値よりも小さいことが示された場合、第２のストレージ階層のデータを第１のストレージ階層にミラーリングし、第２のストレージ階層のデータの第１のストレージ階層へのミラーリングを同期させるときに、読み取りコマンドを第２のストレージ階層に向けて発し、第２のストレージ階層のデータの第１のストレージ階層へのミラーリングを同期させるときに、第１のストレージ階層と第２のストレージ階層との間で書き込みコマンドを同期させるように構成されている。
【０００７】
以上の概略的説明及び以下の詳細な説明は例示であり説明のためのものに過ぎず、必ずしも本開示を限定するのではないことは言うまでもない。本明細書に組み込まれその一部をなす添付図面は、本開示の主題を例示する。説明及び図面が一緒になって、本開示の原理を説明する役割を果たす。
【図面の簡単な説明】
【０００８】
【図１Ａ】本発明の実施形態の一例にしたがう、アプリケーション・プロセスと関連のあるＱｏＳファクタが実行時間中に最適レベルになったときに、本発明のストレージ・システムのストレージ・プールにアクセスする複数のアプリケーション・プロセスを示すブロック図である。
【図１Ｂ】本発明の実施形態の一例にしたがう、アプリケーション・プロセスの内の１つと関連のあるＱｏＳファクタが低下したときに、本発明のストレージ・システムのストレージ・プールにアクセスする複数のアプリケーション・プロセスを示すブロック図である。
【図２】本発明の実施形態の一例による本発明のストレージ・システムの一例について、サンプリング時間に対してプロットしたＱｏＳファクタの測定値のグラフを、階層化閾値及び移動閾値トリガ点設定値と共に示す図である。
【図３Ａ】本発明の実施形態の一例にしたがって、ＱｏＳファクタ測定値の階層化閾値（ＴＴＨ）に対する比較において、ＱｏＳファクタ測定値の方がＴＴＨよりも大きいことを示すときにおける、本発明のストレージ・システム内部における活動（例えば、データ・フロー）を示すブロック図である。
【図３Ｂ】本発明の実施形態の一例にしたがう、ＱｏＳファクタ測定値の階層化閾値（ＴＴＨ）及び移動閾値（ＭＴＨ）に対する比較において、ＱｏＳファクタ測定値の方がＴＴＨよりも小さいがＭＴＨよりも大きいことを示すときに行うことができる、本発明のストレージ・システム内部におけるデータの移動を示すブロック図である。
【図３Ｃ】本発明の実施形態の一例にしたがう、ＱｏＳファクタ測定値の階層化閾値（ＴＴＨ）及び移動閾値（ＭＴＨ）に対する比較において、ＱｏＳファクタ測定値の方がＴＴＨよりも小さいくかつＭＴＨよりも小さいことを示すときに行うことができる、本発明のストレージ・システム内部におけるデータのミラーリングを示すブロック図である。
【図４】本発明の実施形態の別の例にしたがって、ストレージ・システムにおいてサービス品質（ＱｏＳ）に基づくストレージ階層化及び移動を行う方法を示すフロー図である。
【発明を実施するための形態】
【０００９】
これより、本発明の現時点における好ましい実施形態について、その例を添付図面を参照して、詳細に説明する。
【００１０】
入手可能なストレージ階層化メカニズムの多くは、１）記憶空間のバイト当たりのコスト、２）データ・アクセス・パターン、並びに３）アクセス頻度が少ないデータの下位クラスの記憶装置への移動及び配置に基づいている。しかしながら、これら入手可能なストレージ階層化メカニズムには、ユーザが日毎アクセスするデータに関する品質の面に取り組んでいるものが存在していない。更に、これら現在市販されているストレージ階層化メカニズムでは、設定変更可能なサービス品質（ＱｏＳ：Quality Of Service）パラメータは、アプリケーション・プロセス及びユーザ・データに基づいて階層化／移動プロセスを誘起するためのデータ・アクセス・レイテンシ閾値を設定するために利用することができない。
【００１１】
本明細書において開示するような本発明のシステム及び方法は、ユーザ毎及び／又はアプリケーション毎に、設定変更可能なアプリケーション・データ・レイテンシ閾値を設定することを可能とし、アプリケーション・データを異なるクラスのストレージに移すために、ストレージ階層化メカニズム（例えば、ストレージ移動メカニズム）を誘起する。更に、本明細書において開示するような本発明のシステム及び方法は、以下の特徴も更に提供することができる。１）ストレージ・サブシステムによってホストされるアプリケーションと関連のあるＱｏＳレベルの著しい改善の促進。２）ストレージ・アクセスに付随する予測可能なレイテンシ。３）最も高いＱｏＳを発揮するストレージ資源の完全な利用を確保することにより、高性能の階層(tier)において最大の投資収益をもたらす調整可能性(tunability)。４）業務上不可欠なアプリケーション及び／又は時間厳格アプリケーションの要望に合わせてＱｏＳを向上させるための実行中における手動管理。５）ＱｏＳ閾値に基づく、性能が劣るストレージの自動回収。６）ＱｏＳ閾値に基づくユーザ・データ及びアプリケーション・データの異なるストレージ階層への自動移動。７）共有ストレージにおいて予測可能なアプリケーション性能を維持する際における大幅な改善。８）アプリケーション特定のデータ・アクセスに付随するレイテンシの大幅な改善。９）人の介入を必要としない、方針に基づく自動的階層化及び移動。１０）これまでの仕様に基づいて、高性能階層及び性能が低い方の階層に必要とされる容量を推奨するための予測モデリング及び推定。更に、本明細書において開示するような本発明のシステム及び方法は、管理運営者によって、ユーザ毎又はアプリケーション毎に、企業レベルで設定変更可能なＱｏＳパラメータを変更することも伴う場合がある。更にまた、本発明のシステム及び方法は、ユーザ・レベル及び／又はアプリケーション・データ・レベルにおいて適用されるＱｏＳ概念に基づいた自発的ストレージ階層化及び移動を提供する。
【００１２】
図１Ａ、図１Ｂ、及び図３Ａ〜図３Ｂを参照すると、本発明の実施形態例にしたがって、サービス品質（ＱｏＳ）に基づくストレージ階層化及び移動を行う方法を実現することができるストレージ・システム１００が示されている。実施形態例では、ストレージ・システム１００はプロセッサ１０２を含んでいる。さらに実施形態では、ストレージ・システム１００は、メモリ１０４（例えば、ランダム・アクセス・メモリ（ＲＡＭ））を含み、また、バス１０６を含んでいる。本発明のこの実施形態では、ストレージ・システム１００は、ストレージ・サブシステムを含み、このストレージ・サブシステムは、第１のストレージ階層１０８及び第２のストレージ階層１１２等の複数のストレージ階層を含んでいる。各ストレージ階層は、１又は複数の記憶装置を含み、これらの記憶装置が当該ストレージ階層のストレージ・プール（例えば、基準ボリューム１０８）を構成する。更に、第１のストレージ階層は、第２のストレージ階層とは異なるクラスのストレージとすることができ、これら２つのストレージ階層は、これら階層に属する記憶装置の性能によって区別される（例えば、一方の階層の記憶装置の方が、他方の階層の記憶装置よりも性能が高い記憶装置である）。本発明の更に別の実施形態では、ストレージ・システム１００のストレージ・サブシステムは、バス１０６を通じてプロセッサ１０２及びメモリ１０４に接続される。本発明の更に別の実施形態では、システム１００は、サービス品質（ＱｏＳ）に基づくストレージ階層化及び移動を行う方法を、ストレージ・システム１００を通じて及び／又はその内部で実行することを可能にするように構成することもできる（例えば、プロセッサ１０２上で実行する制御プログラムによって）。これについては、以下で説明する。
【００１３】
図４は、本発明の実施形態の一例にしたがって、ストレージ・システムにおいてサービス品質（ＱｏＳ）に基づくストレージ階層化及び移動を行う方法４００のフローチャートを示している。該方法４００のステップ４０２において、アプリケーション・プロセスがストレージ・システムの第１のストレージ階層にアクセスしているときにアプリケーション・プロセスをモニタリングする。例えば、本発明のストレージ・システム１００において、アプリケーション・プロセスが（図１Ａ及び図１Ｂに示すような）第１のストレージ階層のストレージ・プール（例えば、基準ボリューム１０８）にアクセスしているときに、１又は複数のアプリケーション・プロセス１５０の１又は複数のＱｏＳファクタ１６００、若しくは、１又は複数のアプリケーション・プロセス１５０に対応する１又は複数のＱｏＳファクタ１６００をモニタリングすることができる（例えば、連続的にモニタリング及び／又はサンプリングする）。本発明の実施形態例では、ＱｏＳファクタ１６０は、アプリケーション・プロセス１５０に付随する（すなわち、関連／対応する）リアル・タイムＱｏＳファクタとすることができる。図１Ａにおいては、ＱｏＳファクタ１６０が実行時間中に最適レベルにあるときに、第１のストレージ階層のストレージ・プール１０８にアクセスしている複数のアプリケーション・プロセス１５０を示す。モニタリング（例えば、サンプリング）は、アプリケーション・プロセス１５０がアクティブである限りモニタリング・ウィンドウを開いたままにしておくために、リアル・タイムで行うとよい。本発明のこの実施形態では、アプリケーション・プロセス１５０をリアル・タイムで統制するＱｏＳファクタ１６０の一部には、限定ではないが、以下のものを含むことができる。すなわち、読み出しレイテンシ、書き込みレイテンシ、記憶媒体応答時間、アイドル時間（例えば、アクティブな読み出し／書き込みが行われていない時間）、データの広がり（pervasiveness）（例えば、書き込まれるデータ及び読み出されるデータが、ストレージ・サブシステムの記憶装置にホスティングされているアプリケーション割り当て区域において近接している）、データの局在性(localization)（例えば、特定の１又は複数のデータ位置が、他と比較して、アクセスされている度合い）、データの古さ、及びアプリケーション・ファイルの古さである。
【００１４】
方法４００は更に、ステップ４０４において、モニタリングに基づいて、アプリケーション・プロセスのＱｏＳファクタ測定値を決定する。例えば、アプリケーション・プロセス１５０の（例えば、これと関連のある）１又は複数のＱｏＳファクタをモニタリングしているとき、これらのＱｏＳファクタの読み取り値又は測定値を決定することができる。これらの測定値（例えば、ＱｏＳファクタ測定値）は、モニタリングの期間中に連続的に決定することもできる。ある期間の後、特定のアプリケーション・プロセス１５０と関連のある１又は複数のＱｏＳファクタ１６０が劣化し始め（図１Ｂにおける「限界ＱｏＳ」という名称で示すように）、これによってこの特定のアプリケーション・プロセスに対するＱｏＳ閾値全体に影響を及ぼす可能性がある。本発明の実施形態例では、方法４００は、ステップ４０６において、第１の所定ＱｏＳ閾値（例えば、階層化閾値（ＴＴＨ））及び第２の所定ＱｏＳファクタ閾値（例えば、移動閾値（ＭＨ））の内少なくとも１つと、ＱｏＳファクタ測定値を比較する。この実施形態では、これらの閾値は、システム１００のレイテンシの側面に対する誘起点としての役割を果たすことができる。例えば、比較に基づいてシステム１００を誘起し、階層化閾値及び移動閾値は、一連のステップ、ａ）ストレージ階層化ステップ、又はｂ）アプリケーション・データを異なるクラスのストレージにそれぞれ移動させるステップを実行させることができる。これについては、以下で更に詳しく説明する。図２に示すグラフ２００は、サンプリング時間（例えば、モニタリング時間）に対してプロットしたＱｏＳ（例えば、アプリケーション・データに付随する格納レイテンシ）を表すＱｏＳレベル／測定値を示している。グラフ２０２の第１の領域は、アプリケーション・プロセス１５０が最適なＱｏＳレベルで実行している状態を示す。実線２０４は、実際の非階層化記憶レイテンシを示す。破線２０６は、予測した非階層化記憶レイテンシを示す。点線２０８は、アプリケーション・データを異なるクラス（例えば、階層）のストレージに階層化した後に測定した実際のレイテンシを示す。サンプリング期間（ＳＰ）の間に、ＱｏＳレベルを測定し、トリガ閾値（例えば、積層閾値（ＴＴＨ）及び移動閾値（ＭＴＨ））と比較することができる。
【００１５】
本発明の方法４００は更に、比較の結果、ＱｏＳファクタ測定値の方が第１の所定ＱｏＳファクタ閾値よりも大きい場合、ステップ４０８において、ポイント・イン・タイム（ＰｉＴ：Point-in-Time）のコピーを作成し、ＰｉＴコピーの読み取り専用としてのアクセス許可を確定する。この場合、ＰｉＴコピーは、第１のストレージ階層４０８に基づく。例えば、図３Ａに示すように、ＱｏＳファクタ測定値と階層化閾値（ＴＴＨ）との比較によって、ＱｏＳファクタ測定値の方がＴＴＨよりも大きいことが示された場合、第１のストレージ階層に基づいて、１又は複数のＰｉＴコピー１１０（例えば、ＰｉＴスナップショット又はＰｉＴ）を作成することができる（たとえば、基準ボリューム１０８から作成することができる）。
【００１６】
本発明の方法４００は更に、比較の結果、ＱｏＳファクタ測定値の方が第１の所定ＱｏＳファクタ閾値よりも小さく、第２の所定ＱｏＳファクタ閾値４１０よりも大きい場合、ステップ４１０において、データをＰｉＴコピーから第２のストレージ階層に移動させる。例えば、図３Ｂに示すように、ＱｏＳファクタ測定値の階層化閾値（ＴＴＨ）及び移動閾値（ＭＴＨ）に対する比較によって、ＱｏＳファクタ測定値の方がＴＴＨよりも小さいがＭＴＨよりは大きいことが示された場合、データを１又は複数のＰｉＴコピー（例えば、ＰｉＴ）１１０から第２の（例えば、次の）ストレージ階層１１２に移動させることができる。データを移動させるとき、ＱｏＳファクタ測定値（例えば、ＱｏＳ）が閾値間で素早く変動する可能性がある場合、スラッシング(thrashing)を防止し易くするために、発見的（heuristic）手法を実施するとよい。
【００１７】
本発明の方法４００は更に、ステップ４１２において、ＰｉＴコピーから第２のストレージ階層へのデータ移動が完了した後に、第２のストレージ階層のアクセス許可確定を読み取り及び書き込みとして設定し、Ｉ／Ｏコマンドを第２のストレージ階層４１２に向けて発する。例えば、一旦全てのデータを１又は複数のＰｉＴコピー１１０から第２のストレージ階層４１２に移動させたならば、入来するＩ／Ｏを第２のストレージ階層１１２に導き直して、第２のストレージ階層１１２によって処理することができ、第２のストレージ階層１１２のアクセス許可を読み出し及び書き込み（Ｒ／Ｗ）に設定し、ＰｉＴコピーを基準ボリューム１０８から連続的に発生する。
【００１８】
本発明の方法４００は更に、比較の結果、ＱｏＳファクタ測定値の方が第１の所定ＱｏＳファクタ閾値よりも小さく、第２の所定ＱｏＳファクタ閾値よりも小さい場合、ステップ４１４において、第２のストレージ階層のデータを第１のストレージ階層４１４にミラーリングする。例えば、図３Ｃに示すように、ＱｏＳファクタ測定値の階層化閾値（ＴＴＨ）及び移動閾値（ＭＴＨ）に対する比較によって、ＱｏＳファクタ閾値の方がＴＴＨよりも小さく、かつＭＴＨよりも小さいことが示された場合、第２のストレージ階層１１２の中にあるデータを第１のストレージ階層１０８にミラーリングすることができる。閾値間のスラッシングを防止するために、データをミラーリングするときに発見的手法を実施してもよい。
【００１９】
本発明の方法４００は更に、ステップ４１６において、第２のストレージ階層のデータの第１のストレージ階層へのミラーリングが同期されたときに、読み取りコマンドを第２のストレージ階層に向けて送り、そして、ステップ４１８において、第１のストレージ階層と第２のストレージ階層４１８との間で書き込みコマンドを同期させる。例えば、ミラーリング（例えば、ミラー）を同期させる場合、全ての読み取りは第２の階層１１２によって処理することができ、全ての書き込みは基準ボリューム１０８と第２の階層１１２との間で同期させることができる。
【００２０】
コンピュータ技術の当業者には明白であろうが、以上に記載した本発明による実施形態は、本明細書の教示にしたがってプログラミングした従来の汎用ディジタル・コンピュータを用いると都合良く実現できることを注記しておく。ソフトウェア技術の当業者には明白であろうが、習熟したプログラマであれば、本開示の教示に基づいてしかるべきソフトウェア・コーディングを容易に用意することができる。
【００２１】
本発明は、ソフトウェア・パッケージの形態で適切に実現できることは言うまでもない。このようなソフトウェア・パッケージは、開示した本発明の機能及びプロセスを実行するようにコンピュータをプログラミングするために用いられるコンピュータ・コードが格納されているコンピュータ読み取り可能記憶媒体を用いた、コンピュータ・プログラム生産物とすることができる。コンピュータ読み取り可能媒体／コンピュータ読み取り可能記憶媒体は、あらゆる種類の従来からのフロッピ・ディスク、光ディスク、ＣＤ−ＲＯＭ、磁気ディスク、ハード・ディスク・ドライブ、光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、あるいは電子命令を格納するのに適したその他のあらゆある媒体を含むことができるが、これらに限定されるのではない。
【００２２】
先に開示した方法におけるステップの具体的な順序又は階層は、代表的手法の例であることは言うまでもない。設計の優先順位に基づいて、本方法におけるステップの具体的な順序又は階層を並び変えても、本発明の範囲に該当することに変わりはないことは言うまでもない。添付する方法の請求項は、種々のステップの要素を単純な順序で紹介するが、この紹介する具体的な順序又は階層に限定されることを意味するのではない。
【００２３】
本開示及びそれに付随する利点の多くは、以上の説明によって理解されるであろうことを確信する。また、本発明の範囲及び主旨から逸脱することなく、またその重要な利点の全てを犠牲にすることなく、その構成要素の形態、構造、及び配置には種々の変更を加えることができることは明白であろうことも確信する。本明細書において先に記載した形態は、その説明のための実施形態に過ぎず、以下の特許請求の範囲はこのような変更全てに及びこれらを包含することを意図するものである。
【図１Ａ】
0005594664.tif 000002
【図１Ｂ】
0005594664.tif 000003
【図２】
0005594664.tif 000004
【図３Ａ】
0005594664.tif 000005
【図３Ｂ】
0005594664.tif 000006
【図３Ｃ】
0005594664.tif 000007
【図４】
0005594664.tif 000008