(57)【特許請求の範囲】
【請求項１】
方法であって、
第１のストレージプール内に位置しているストレージホットスポットを検出するステップと、
検出した結果に基づいて、第１のストレージプール内に位置しているストレージホットスポットを含んでいる仮想ボリュームの第１のポイントインタイムコピーを、第２のストレージプールに作成するステップであって、第１のストレージプール内に位置しているストレージホットスポットを含んでいる仮想ボリュームへ向けられていた書き込み要求を、第２のストレージプールへリダイレクトするステップをさらに含んでいる、ステップと、
ストレージホットスポットを含んでいる、第１のポイントインタイムコピーの論理ブロックアドレス（ＬＢＡ）の、割合を検出するステップと、
該検出された割合に応じて、ストレージホットスポットのＬＢＡのみを含んでいる第２のポイントインタイムコピーを作成するステップと
を含んでいることを特徴とする方法。
【請求項２】
請求項１記載の方法において、該方法はさらに、
第２のストレージプール内のホットスポットに向けられている低減された入力／出力（Ｉ／Ｏ）アクティビティを検出するステップと、
第２のストレージプール内のポイントインタイムコピーを、少なくとも１つの第２のポイントインタイムコピー又は仮想ボリュームに、再統合するステップと
を含んでいることを特徴とする方法。
【請求項３】
請求項１記載の方法において、該方法はさらに、
第１のポイントインタイムコピーの非ホットスポットＬＢＡを仮想ボリュームに再統合するステップ
を含んでいることを特徴とする方法。
【請求項４】
請求項１記載の方法において、検出した結果に基づいて、第１のストレージプール内に位置しているストレージホットスポットを含んでいる仮想ボリュームの第１のポイントインタイムコピーを、第２のストレージプールに作成するステップはさらに、
仮想ボリュームのストレージホットスポットの１又は複数のＬＢＡをアドレス指定している読み出し要求を受信するステップと、
ストレージホットスポットの１又は複数の論理ブロックアドレスのコンテンツを、第２のストレージプールにコピーするステップと
を含んでいることを特徴とする方法。
【請求項５】
請求項４記載の方法において、ストレージホットスポットの１又は複数の論理ブロックアドレスのコンテンツを、第２のストレージプール内の第１のポイントインタイムコピーにコピーするステップはさらに、
ストレージホットスポットのＬＢＡが以前に第２のストレージプールに書き込まれていなければ、ストレージホットスポットの１又は複数の論理ブロックアドレスのコンテンツを、第２のストレージプール内の第１のポイントインタイムコピーにコピーするステップ
を含んでいることを特徴とする方法。
【請求項６】
請求項４記載の方法において、該方法はさらに、
ストレージホットスポットを含んでいる第１のポイントインタイムコピーの論理ブロックアドレス（ＬＢＡ）の割合を検出するステップと、
該割合に応じて、ストレージホットスポットのＬＢＡのみを含んでいる第２のポイントインタイムコピーを作成するステップと
を含んでいることを特徴とする方法。
【請求項７】
請求項６記載の方法において、該方法はさらに、
第１のポイントインタイムコピーの非ホットスポットＬＢＡを、仮想ボリュームに再統合するステップ
を含んでいることを特徴とする方法。
【請求項８】
システムであって、
第１のストレージプールに位置しているストレージホットスポットを検出する手段と、
検出した結果に基づいて、第１のストレージプール内に位置しているストレージホットスポットを含んでいる仮想ボリュームの第１のポイントインタイムコピーを、第２のストレージプールに作成する手段であって、第１のストレージプール内に位置しているストレージホットスポットを含んでいる仮想ボリュームへ向けられていた書き込み要求を、第２のストレージプールへリダイレクトする手段をさらに含んでいる、手段と、
ストレージホットスポットを含んでいる第１のポイントインタイムコピーの論理ブロックアドレス（ＬＢＡ）の割合を検出する手段と、
該割合に応じて、ストレージホットスポットのＬＢＡのみを含んでいる第２のポイントインタイムコピーを作成する手段と
を含んでいることを特徴とするシステム。
【請求項９】
請求項８記載のシステムにおいて、該システムはさらに、
第２のストレージプール内のホットスポットに向けられている低減された入力／出力（Ｉ／Ｏ）アクティビティを検出する手段と、
第２のストレージプール内のポイントインタイムコピーを、少なくとも１つの第２のポイントインタイムコピー又は仮想ボリュームに再統合する手段と
を含んでいることを特徴とするシステム。
【請求項１０】
請求項８記載のシステムにおいて、該システムはさらに、
第１のポイントインタイムコピーの非ホットスポットＬＢＡを、仮想ボリュームに再統合する手段
を含んでいることを特徴とするシステム。
【請求項１１】
請求項８記載のシステムにおいて、検出した結果に基づいて、第１のストレージプール内に位置しているストレージホットスポットを含んでいる仮想ボリュームの第１のポイントインタイムコピーを、第２のストレージプールに作成する手段はさらに、
仮想ボリュームのストレージホットスポットの１又は複数のＬＢＡをアドレス指定している読み出し要求を受信する手段と、
ストレージホットスポットの１又は複数の論理ブロックアドレスのコンテンツを、第２のストレージプールにコピーする手段と
を含んでいることを特徴とするシステム。
【請求項１２】
請求項１１記載のシステムにおいて、ストレージホットスポットの１又は複数の論理ブロックアドレスのコンテンツを、第２のストレージプール内の第１のポイントインタイムコピーにコピーする手段はさらに、
ストレージホットスポットのＬＢＡが以前に第２のストレージプールに書き込まれていなければ、ストレージホットスポットの１又は複数の論理ブロックアドレスのコンテンツを、第２のストレージプール内の第１のポイントインタイムコピーにコピーする手段
を含んでいることを特徴とするシステム。
【請求項１３】
請求項１１記載のシステムにおいて、該システムはさらに、
ストレージホットスポットを含んでいる第１のポイントインタイムコピーの論理ブロックアドレス（ＬＢＡ）の割合を検出する手段と、
該割合に応じて、ストレージホットスポットのＬＢＡのみを含んでいる第２のポイントインタイムコピーを作成する手段と
を含んでいることを特徴とするシステム。
【請求項１４】
請求項１３記載のシステムにおいて、該システムはさらに、
第１のポイントインタイムコピーの非ホットスポットＬＢＡを、仮想ボリュームに再統合する手段
を含んでいることを特徴とするシステム。
【請求項１５】
システムであって、
第１のストレージプール内に位置しているストレージホットスポットを検出するための回路と、
検出した結果に基づいて、第１のストレージプール内に位置しているストレージホットスポットを含んでいる仮想ボリュームの第１のポイントインタイムコピーを、第２のストレージプールに作成するための回路であって、第１のストレージプール内に位置しているストレージホットスポットを含んでいる仮想ボリュームへ向けられていた書き込み要求を、第２のストレージプールへリダイレクトするための回路をさらに含んでいる、回路と、
ストレージホットスポットを含んでいる第１のポイントインタイムコピーの論理ブロックアドレス（ＬＢＡ）の割合を検出するための回路と、
該割合に応じて、ストレージホットスポットのＬＢＡのみを含んでいる第２のポイントインタイムコピーを作成するための回路とを含んでいることを特徴とするシステム。
【請求項１６】
請求項１５記載のシステムにおいて、該システムはさらに、
第２のストレージプール内のホットスポットに向けられている低減された入力／出力（Ｉ／Ｏ）アクティビティを検出するための回路と、
第２のストレージプール内のポイントインタイムコピーを、少なくとも１つの第２のポイントインタイムコピー又は仮想ボリュームに再統合するための回路と
を含んでいることを特徴とするシステム。
【請求項１７】
請求項１５記載のシステムにおいて、該システムはさらに、
第１のポイントインタイムコピーの非ホットスポットＬＢＡを、仮想ボリュームに再統合するための回路
を含んでいることを特徴とするシステム。
【請求項１８】
請求項１５記載のシステムにおいて、検出結果に従い、第１のストレージプール内に位置しているストレージホットスポットを含んでいる仮想ボリュームの第１のポイントインタイムコピーを、第２のストレージプールに作成する手段はさらに、
仮想ボリュームのストレージホットスポットの１又は複数のＬＢＡをアドレス指定している読み出し要求を受信するための回路と、
ストレージホットスポットの１又は複数の論理ブロックアドレスのコンテンツを、第２のストレージプールにコピーするための回路と
を含んでいることを特徴とするシステム。
【請求項１９】
請求項１８記載のシステムにおいて、ストレージホットスポットの１又は複数の論理ブロックアドレスのコンテンツを、第２のストレージプール内の第１のポイントインタイムコピーにコピーする手段はさらに、
ストレージホットスポットのＬＢＡが、以前に第２のストレージプールに書き込まれていなければ、ストレージホットスポットの１又は複数の論理ブロックアドレスのコンテンツを、第２のストレージプール内の第１のポイントインタイムコピーにコピーするための回路
を含んでいることを特徴とするシステム。
【請求項２０】
請求項１８記載のシステムにおいて、該システムはさらに、
ストレージホットスポットを含んでいる第１のポイントインタイムコピーの論理ブロックアドレス（ＬＢＡ）の割合を検出するための回路と、
該割合に応じて、ストレージホットスポットのＬＢＡのみを含んでいる第２のポイントインタイムコピーを作成するための回路と
を含んでいることを特徴とするシステム。
【請求項２１】
請求項２０記載のシステムにおいて、該システムはさらに、
第１のポイントインタイムコピーの非ホットスポットＬＢＡを、仮想ボリュームに再統合するための回路
を含んでいることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダイナミックストレージ階層化によるオンラインデータ配置をボリュームに提供するための、アロケートオンライトのスナップショット機構に関する。
【背景技術】
【０００２】
ダイナミックストレージ階層化（ＤＳＴ）は、ストレージ装置を性能特性に応じて階層的にグループ化し、そして、特定の機能を遂行するためにダイナミックにデータをストレージ装置に再配置するという概念である。データがオンラインかつアクセス可能な状態にある間に、ＤＳＴシステムがこの再配置を実行することが望ましい。
性能（パフォーマンス）管理に関しては、高アクティビティすなわち高ロードレベルのデータは、高性能ストレージ階層に再配置される。一方、低アクティビティレベルのデータは、低性能ストレージ階層に再配置されて、高性能ストレージ階層の容量を増大させる。
【発明の概要】
【０００３】
本発明は、ダイナミックストレージ階層化のためのシステム及び方法に関する。
ダイナミックストレージ階層化のための方法は、第１のストレージプールに位置しているストレージホットスポットを検出するステップと、検出結果に従い、第１のストレージプールに位置しているストレージホットスポットを含んでいる仮想ボリュームの第１のポイントインタイムコピーを、第２のストレージプールに作成するステップと、を含んでいる。
ダイナミックストレージ階層化のためのシステムは、第１のストレージプールに位置しているストレージホットスポットを検出する手段と、検出結果に従い、第１のストレージプールに位置しているストレージホットスポットを含んでいる仮想ボリュームの第１のポイントインタイムコピーを、第２のストレージプールに作成する手段と、を含んでいる。
【図面の簡単な説明】
【０００４】
【図１】データストレージシステムを示す図である。
【図２】データストレージシステムを示す図である。
【図３】データストレージシステムを示す図である。
【図４】データストレージシステムを示す図である。
【図５】ダイナミックストレージ階層化に関する動作フローを示す図である。
【図６】Ａ〜Ｃは、ダイナミックストレージ階層化に関する動作フローを示す図である。
【図７】ダイナミックストレージ階層化に関する動作フローを示す図である。
【図８】ダイナミックストレージ階層化に関する動作フローを示す図である。
【図９】Ａ及びＢは、ダイナミックストレージ階層化に関する動作フローを示す図である。
【発明を実施するための形態】
【０００５】
以下に記載する発明の詳細な説明では、添付図面を参照して説明する。図において、文脈からそうでないと判断できる場合を除いて、類似の記号は類似のコンポーネントを表すのが通常である。発明の詳細な説明、図面、及び請求項に記載された実施形態は、限定的なものではない。本明細書に示された主題の技術的思想又は範囲から逸脱しない範囲で、別の実施形態の利用及び別の変更が可能である。
【０００６】
図１には、計算デバイスであるホスト１０１と、ＲＡＩＤコントローラ１０２と、ＲＡＩＤ１０３とを備える大容量ストレージシステム１００の説明図が示されている。ＲＡＩＤコントローラ１０２は、ボリューム管理回路／ソフトウェアを備えており、これにより、ＲＡＩＤコントローラ１０２は、ＲＡＩＤ１０３上に構成された様々な論理ボリュームにアクセスして、ホスト１０１の読み出し／書き込みの要求を処理することができる。ＲＡＩＤ１０３は、ｎ個のドライブを有するドライブグループを備えている。
【０００７】
図２に示すように、１又は複数の物理ドライブ（ドライブ０〜ドライブｎ）が、１又は複数の仮想ドライブ（ＲＡＩＤ１０３の仮想ドライブ１０４Ａ〜仮想ドライブ１０４Ｄ）に論理的に区分けされている。１又は複数の仮想ドライブの一部は、ストレージプール（例：ストレージプール１０５Ａ、ストレージプール１０５Ｂ等）にさらに分割される。ストレージプールは、類似した性能特性を有する１又は複数の物理ドライブ（或いは１又は複数の物理ドライブの論理パーティション）として定義される。例えば、ストレージプール１０５Ａ（ドライブ０）は、高性能ＳＳＤ（Solid State Drive）を備え、一方ストレージプール１０５Ｂ（ドライブ１及びドライブ２）は、シリアルＡＴＡ（ＳＡＴＡ）ハードディスクドライブ（ＨＤＤ）等の低性能デバイスを備えている。高性能ストレージプールを低性能ストレージプールから識別するファクタは、単位時間当たりに処理されるＩ／Ｏ動作の数、時間単位当たりに読み出し又は書き込みされるバイト数、及び／又はＩ／Ｏ要求に対する平均応答時間等である。
【０００８】
システム性能全体を向上させるためには、高アクティビティレベルを有するデータ（例えば、Ｉ／Ｏ要求が高頻度でアドレス指定されているデータ）を高性能ストレージプールへ配置し、かつ／又は、低アクティビティレベルのデータ（例えば、Ｉ／Ｏ要求が低頻度でアドレス指定されているデータ）を低性能ストレージプールへ配置することが望ましい。効率的なＤＳＴソリューションにするためには、ストレージプール間で移動されるデータブロックのサイズは、ＳＣＳＩ論理ユニット（ＬＵ）全体よりも小さくなる。
【０００９】
任意のＬＵに関して、高アクティビティレベルのデータは、ＬＵ内の論理ブロックアドレス（ＬＢＡ）レンジとして特定される。ＬＵの他の部分と比べて非常に大きいアクティビティロードを有するＬＢＡレンジは、ホットスポットと称される。単一のＬＵが２以上のホットスポットを含んでいる場合もある。
【００１０】
ホットスポットが現在存在しているストレージプールは、ソースストレージプール（source storage pool）と称される。ホットスポットが移動されてくるストレージプールは、宛先ストレージプール（destination storage pool）と称される。ホットスポットは頻繁にアクセスされるデータを参照させるので、高性能ストレージプールに移動される。その代わりに、アクセス頻度の低いデータはコールドスポットと称され、ホットスポットの移動に関して本明細書に記載されたものと同一のシステム及び方法を用いて、低性能ストレージプールに移動される。
【００１１】
ホットスポットは、ＲＡＩＤコントローラ１０２が、ホスト１０１から受け取ったＩ／Ｏ要求に関するアドレスロケーションをモニタすることによって特定される。任意のストレージプール内のＬＢＡの特定のセグメントに対するＩ／Ｏ要求が閾値を上回ると（すなわち、指定の要求速度及び要求数など超えると）、このようなＬＢＡはホットスポットであると指定されて、代替的な性能特性を有するストレージプールへ再配置されることになる。
【００１２】
図２を参照すると、仮想ボリューム１０６は、１又は複数のストレージプールの容量から供給されている。例えば、ストレージプール１０５Ｂは、１又は複数の仮想ドライブからのＬＢＡ（物理ドライブ０に配置された仮想ドライブ１０４Ａの一部である仮想ドライブＬＢＡセグメント１０７Ａ、物理ドライブ１に配置された仮想ドライブ１０４Ｂの一部である仮想ドライブＬＢＡセグメント１０７Ｂ、物理ドライブ２に配置された仮想ドライブ１０４Ｃの一部である仮想ドライブＬＢＡセグメント１０７Ｃ等）を含んでいる。
【００１３】
図３及び４を参照すると、仮想ボリュームは、１又は複数の仮想ドライブ内の１又は複数のＬＢＡレンジ（仮想ドライブセグメント）にマッピングされる。仮想ボリュームが１又は複数のストレージプールから供給されると、仮想ボリュームＬＢＡレンジの仮想ドライブＬＢＡレンジへのマッピングのそれぞれに対して、仮想ボリュームＬＢＡセグメントが作成される。例えば、仮想ボリュームＬＢＡセグメント１０８Ａは、仮想ドライブ１０４ＡのＬＢＡ０〜ＬＢＡｍにマッピングされているＬＢＡ０〜ＬＢＡｍを含んでいる。仮想ボリュームＬＢＡセグメント１０８Ｂは、仮想ドライブ１０４ＢのＬＢＡ０〜ＬＢＡｊにマッピングされているＬＢＡｍ＋１〜ＬＢＡｎを含んでいる。仮想ボリュームＬＢＡセグメント１０８Ｃは、仮想ドライブ１０４ＣのＬＢＡ０〜ＬＢＡｋにマッピングされているＬＢＡｎ＋１〜ＬＢＡｐを含んでいる。
【００１４】
図５に示すように、大容量ストレージシステム１００はさらに、スナップショット機能を備えている。スナップショット機能は、仮想ボリューム（例えば、仮想ボリューム１０６Ａ）の１又は複数のポイントインタイム（ＰｉＴ）コピーの作成及び記憶を可能にする。仮想ボリュームのＰｉＴが作成されると、仮想ボリュームのコンテンツが凍結され、かつ、ＰｉＴの作成後に仮想ボリュームに対して加えられた変更の全てを記録する、ＰｉＴテンポラリ仮想ボリューム（ＰＴＶＶ）が作成される。その結果、仮想ボリュームの元のコンテンツはＰｉＴが作成された時点で保護される。この種のスナップショットメカニズムは、アロケートオンライト（allocate-on-write）又はリダイレクトオンライト（re-direct-on-write）（総称して「アロケートオンライト」）のスナップショットと称される。さらに、現在のＰＴＶＶが凍結されて新たなＰＴＶＶが作成される場合に、所与のＰＴＶＶに対して後続のＰｉＴが作成される。
【００１５】
図５〜図９は、ダイナミックストレージ階層化に関する動作のフロー図を示している。図５〜図９では、上述した図１〜図４の例及び／又は他の例及びコンテクストについて論述及び説明している。しかし、この動作フローは、他の数多くの環境及びコンテクストで、並びに／又は図１〜図４を修正した動作でも実施できる。加えて、様々な動作フローが説明の順に提示されるが、様々な動作は例示されたもの以外の順序で実行されてもよく、同時に実行されてもよい。
【００１６】
ホットスポットは、ＲＡＩＤコントローラ１０２が、ホスト１０１から受け取ったＩ／Ｏ要求のためにアドレス指定されている記憶場所を、モニタすることによって検出される。任意のストレージプール内のＬＢＡの特定のセグメントに対するＩ／Ｏ要求が閾値を上回ると（すなわち特定の要求速度及び要求数等を超えると）、このようなＬＢＡはホットスポットと指定されて、代替的な性能特性を有するストレージプールへ再配置されることになる。ホットスポットは、書き込みホットスポット（例えば、Ｉ／Ｏ要求の大多数が書き込みであるようなＬＢＡレンジ）及び読み出しホットスポット（例えば、Ｉ／Ｏ要求の大多数が読み出しであるようなＬＢＡレンジ）である。書き込みホットスポットは、書き込みアクティビティのみからなる必要はない。同様に、読み出しホットスポットは、読み出しアクティビティのみから成る必要はない。
【００１７】
図５〜図７には、検出結果に従い、第１のストレージプールに位置しているストレージホットスポットを含んでいる仮想ボリュームの第１のポイントインタイムコピーを、第２のストレージプールに作成するステップ、を示す動作フローが示されている。ホットスポットを含んでいる元の仮想ボリューム（仮想ボリューム１０６Ａ）のコンテンツを凍結する第１のＰｉＴ（ＰｉＴ１）動作が生じて、第１のＰＴＶＶ（ＰＴＶＶ１）が作成される。ＰＴＶＶの作成に続いて、ホスト（ホスト１０１）からホットスポットを含んでいる仮想ボリュームへアドレスされたＩ／Ｏ動作が、後段で示すように、ＰＴＶＶに向けられる。最新のＰｉＴは、最新のＩ／Ｏ動作が全てそれに関連付けられたＰＴＶＶに向けられるので、「アクティブ」ＰｉＴと称される。
【００１８】
その次に、第２のホットスポットがＰＴＶＶ１内で検出される。ＰＴＶＶ１のコンテンツを凍結する第２のＰｉＴ（ＰｉＴ２）動作が生じて、第２のＰＴＶＶ（ＰＴＶＶ２）が作成される。ＰＴＶＶの作成後は、ホストから仮想ボリュームへのＩ／Ｏ動作は、アクティブＰＴＶＶ（ＰＴＶＶ２）に向けられる。
【００１９】
ＰｉＴ（例：ＰｉＴ１）を削除すると、元の仮想ボリューム（仮想ボリューム１０６）は、そのＰｉＴが存在している間に書きこみ要求によってアドレス指定された元のボリュームの一部のコンテンツが更新されて、ＰＴＶＶと一致するように再構成される。例えば、ＰｉＴが存在している間に書き込み要求によってアドレス指定された仮想ボリューム１０６のＬＢＡは、仮想ボリューム１０６のＬＢＡにコピーされる。
【００２０】
仮想ボリュームＬＢＡレンジは、同一サイズの仮想ボリュームＬＢＡセグメント（仮想ボリュームＬＢＡセグメント１０８）に論理的に分割される。仮想ボリュームＬＢＡセグメントのサイズは、仮想ボリューム属性であるＰｉＴ粒度と相関している。このように、各仮想ボリュームＬＢＡセグメントは、元の仮想ボリューム内のＬＢＡレンジに対応している。仮想ボリューム内の各仮想ボリュームＬＢＡセグメントへのマッピングを含んでいる再配置テーブル（ＲＴ)は、各ＰｉＴに対して作成され、かつ、そのＰｉＴに関連しているＰＴＶＶの先頭に保存される。仮想ボリュームＬＢＡセグメントの１又は複数のＬＢＡをアドレス指定している書き込み要求が、ＰｉＴが作成された後にホストから受信されると、アクティブＰｉＴのためのＲＴ内にある対応するエントリは、「アロケート済（割り当て済み）」とマークされ、仮想ボリュームＬＢＡセグメントは、ＰＴＶＶ内の次に使用可能なＬＢＡに配置され、かつその仮想ボリュームＬＢＡセグメントに対するＲＴエントリは、そのＰＴＶＶのＬＢＡセグメントにマッピングされる。
【００２１】
例えば、図６のＡ〜Ｃに示されているように、ホスト１０１は、１又は複数の仮想ボリュームＬＢＡセグメント（仮想ボリュームＬＢＡセグメント１０８Ｂ、仮想ボリュームＬＢＡセグメント１０８Ａ、仮想ボリュームＬＢＡセグメント１０８Ｃ等）をアドレス指定している、１又は複数の書き込みコマンドを発行する。アドレス指定された仮想ボリュームＬＢＡセグメントのそれぞれに対するエントリは、各仮想ボリュームＬＢＡセグメントに対応しているＲＴロケーション内（エントリ１１０Ｂ、エントリ１１０Ａ、エントリ１１０Ｃ等）に作成される。それから、書き込み動作が次に使用可能なＰＴＶＶのＬＢＡセグメント（ＰＴＶＶのＬＢＡセグメント１１１Ｂ、ＰＴＶＶのＬＢＡセグメント１１１Ａ、ＰＴＶＶのＬＢＡセグメント１１１Ｃ等）に向けられる。
【００２２】
連続したＰＴＶＶのＬＢＡセグメントが、連続した仮想ボリュームＬＢＡセグメントに相当しているとは限らない。これは、ＰＴＶＶのＬＢＡセグメントは、書き込まれた順番で配置されるのであって、関連している仮想ボリュームＬＢＡセグメントのＬＢＡレンジに応じた順番ではないからである。
【００２３】
図７を参照すると、仮想ボリュームに対する読み出し要求が受信されると、アクティブＰｉＴに対するＲＴは、その仮想ボリュームの最新バージョンをポイント（指定）する。これは、アクティブＰｉＴ自身のためのＰＴＶＶ、古いＰｉＴのためのＰＴＶＶ、又は元の仮想ボリュームである。例えば、図７に示されているように、仮想ボリュームＬＢＡセグメントはアクティブＰＴＶＶ２（ＲＴエントリ１１０Ｂに関連付けられているＰＴＶＶのＬＢＡセグメント１１１Ｂ）に書き込まれており、一方、他の仮想ボリュームＬＢＡセグメントは、ＰＴＶＶ１がアクティブであった時に（エントリ１１０Ａに関連付けられているＰＴＶＶのＬＢＡセグメント）、又はＰＴＶＶ１に関連付けられているＰｉＴ１の作成前に（仮想ボリューム１０６の元の仮想ボリュームＬＢＡセグメント）、最後に書き込まれている。
【００２４】
図８は、第１のストレージプール内に位置している、ストレージホットスポットを含んでいる仮想ボリュームに向けられた書き込み要求を、第２のストレージプールにリダイレクトするステップを示している。例えば、書き込みホットスポットは、ＲＡＩＤコントローラ１０２が、ホスト１０１から受け取ったＩ／Ｏ要求に関するアドレスロケーションをモニタすることによって検出される。上述したポイントインタイムコピーの方法を採用しているシステムに関しては、書き込みＩ／Ｏアクティビティは、アクティブ（最新の）ＰｉＴのためのＰＴＶＶに集中している。ホットスポットは、宛先ストレージプール内の仮想ボリュームに対して新たなＰｉＴを作成するだけで、宛先ストレージプールに移動される。例えば、図８に示されているように、ホスト１０１は、低性能ストレージプール（ストレージプール１０５Ｂ）内に存在している、既存のＰＴＶＶ（ＰＴＶＶ１）又は元の仮想ボリューム（仮想ボリューム１０６）内に位置しているホットスポットのＬＢＡへ、アドレス指定されている１又は複数の書き込み要求を発行する。ホットスポットのＬＢＡへアドレス指定されている書き込み要求を受信すると、新たなＰＴＶＶ（ＰＴＶＶ２）が高性能ストレージプール（ストレージプール１０５Ａ）内に作成され、そして、ホットスポットへとアドレス指定されている書き込み要求は、新たなＰＴＶＶにリダイレクトされる。したがって、書き込みＩ／Ｏアクティビティは、今は高性能ストレージプールに存在しているアクティブＰＴＶＶに引き続き集中する。
【００２５】
ホットスポットの書き込み要求アクティビティレベルを、高性能ストレージプールの使用がもはや必要ないレベルまで低減すべきである場合は、アクティブＰＴＶＶに関連付けられているＰｉＴが削除されて、アクティブＰＴＶＶのコンテンツは、以前のＰＴＶＶに再統合される。例えば、ＰＴＶＶ２内のアクティビティが閾値レベルより下に低減すると、ＰＴＶＶ２のコンテンツはＰＴＶＶ１に再統合される。
【００２６】
さらに、書き込みホットスポットのアクティビティは、実際には低減せずに、別のＬＢＡレンジに移動することも可能である。この場合には、ホットスポットのＬＢＡは、速い方の宛先ストレージプール内にまだ位置しているが、もはやホットスポットとは言えず低性能ストレージプールに移動されるべきであるようなＰＴＶＶのＬＢＡセグメントは、ＰＴＶＶ内にある。
【００２７】
上述のように、書き込みホットスポットに対してＰｉＴが作成されると、ＲＡＩＤコントローラ１０２は、宛先ストレージプール内のＰＴＶＶ内に実在するホットスポットＬＢＡの数と、該ＰＴＶＶ内で使用可能なＬＢＡの総数との比率をモニタする。ホットスポットＬＢＡの低アクティビティＬＢＡに対する比率が、特定の閾値（例えば、ユーザが設定できる閾値）を越えると、ＲＡＩＤコントローラ１０２は、宛先ストレージプール内に、書き込みホットスポットＬＢＡのみを備えてそれ以外は備えさせない新たなＰｉＴを作成する。設定可能期間終了後に、宛先ストレージプール内の「古い」ＰｉＴは削除され、これによって非アクティブチャンクによって占領されていた容量を解放することができる。
【００２８】
図９のＡに示されているように、読み出しホットスポットの場合は、対象となる仮想ボリュームＬＢＡレンジは、この仮想ボリュームに関連付けられている複数のＰｉＴに渡って分散されている。さらに、読み出しホットスポットが単一のＰｉＴ内に含まれている場合であっても、ＬＢＡレンジは、ＰＴＶＶ内で連続していない（すなわち、読み出しホットスポットを構成するＬＢＡは、ＰＴＶＶ内に散在している）。さらに、ＰＴＶＶ自身が場合によっては非常に大きくて、ＰＴＶＶ全体を高性能ストレージプールに移動することが非現実的なこともある。
【００２９】
図９のＡ及びＢは、仮想ボリュームのストレージホットスポットの１又は複数のＬＢＡをアドレス指定している読み出し要求を受信し、そして、ストレージホットスポットの１又は複数の論理ブロックアドレスのコンテンツを、第２のストレージプール内の第１のポイントインタイムコピーにコピーするステップを示している。例えば、ホスト１０１は、低性能ストレージプール（ストレージプール１０５Ｂ）内に存在している、既存のＰＴＶＶ（ＰＴＶＶ２、ＰＴＶＶ１等）又は元の仮想ボリューム（仮想ボリューム１０６）内に位置しているホットスポットのＬＢＡへ、アドレス指定されている１又は複数の読み出し要求を発行する。ホットスポットのＬＢＡへアドレス指定されている読み出し要求を受信すると、新たなＰＴＶＶ（ＰＴＶＶ３）が高性能ストレージプール（ストレージプール１０５Ａ）内に作成される。読み出し要求が処理されると、それからホットスポットのＬＢＡ（ＰＴＶＶ２のＬＢＡ）のコンテンツは、新たなＰＴＶＶのＰＴＶＶＬＢＡセグメントとしてコピーされる。このようなコピーを実行するためのメカニズムの１つは、１）ＬＢＡはホストの読み出し動作の対象である、２）ＬＢＡは、新たなＰＴＶＶ内にまだ含まれていない、及び、３）ＬＢＡはホットスポットのＬＢＡレンジ内である、という基準を満たす任意のＬＢＡに対する、各ホスト読み出し動作の終了後に、仮想ボリュームレベルの書き込み動作を追加することである。
【００３０】
この方法は、ホストの読み出し動作のおかげで、ＰＴＶＶに書き込まれる予定のＬＢＡがすでにＲＡＩＤコントローラ１０２のキャッシュに存在している、ということを巧みに利用している。宛先ＰＴＶＶから消去されているホットスポットのＬＢＡに対応している読み出しＬＢＡは、追加の書き込み動作が完了するまでは、追加的な使用のために解放されることはない。コントローラファームウェアは、書き込みデータのソースがホストではなくて、コントローラのキャッシュに既に存在するデータブロックであるような、特殊なタイプの書き込み動作をサポートする。
【００３１】
さらに、アクティブＰＴＶＶ（ＰＴＶＶ３）に関連付けられているＲＴ上でロックすることにより、ＲＡＩＤコントローラ１０２によって開始されたホットスポットＬＢＡ書き込みと、ホストによって開始されたＬＢＡ書き込み間のコンフリクト（対立）を回避できる。
仮想ボリューム内のホットスポットに対する後続の読み出し要求が受信されると、後続の読み出し要求は高性能ストレージプール内の新たなＰＴＶＶ（ＰＴＶＶ３）のＬＢＡに向けられる。
【００３２】
ホットスポットＬＢＡを以前のＰＴＶＶ及び／又は元の仮想ボリュームからコピーするプロセスの間は、新たなＰＴＶＶ（ＰＴＶＶ３）内で、ホストによって書き込まれた任意のデータを上書きすることは回避するのが望ましい。ホットスポットＬＢＡレンジ内の全てのＬＢＡが、即座に宛先ＰＴＶＶにコピーされるわけではないのは、これによって、コピーが実行されていた間に高性能ストレージプールの同一のＬＢＡレンジにホストが書き込もうとしていたデータが、上書きされてしまうからである。したがって、読み出しホットスポットは、ＰｉＴ追加コピーと称されるプロセスを用いて、宛先ストレージプールへ移動される。この場合、ホットスポットＬＢＡが宛先ＰＴＶＶの対象ＬＢＡに先にコピーされていなければ、読み出しホットスポットＬＢＡレンジ内のＬＢＡのみが、ソースから宛先ＰＴＶＶに移動される。これらのＬＢＡが、宛先ＰＴＶＶが作成されてから一度も書き込まれていない場合は、  。
【００３３】
上述のようにして読み出しホットスポットに対するＰｉＴが作成されると、ＲＡＩＤコントローラ１０２は、宛先ストレージプール内のＰＴＶＶ内に実在するホットスポットＬＢＡの数と、該ＰＴＶＶ内で使用可能なＬＢＡの総数との比率をモニタする。ホットスポットＬＢＡの低アクティビティＬＢＡに対する比率が、特定の閾値（例えば、ユーザが設定できる閾値）を越えると、ＲＡＩＤコントローラ１０２は、上述した追加コピー方法を用いて、宛先ストレージプール内に、読み出しホットスポットＬＢＡのみを備えてそれ以外は備えさせない新たなＰｉＴを作成する。設定可能期間終了後に、宛先ストレージプール内の「古い」ＰｉＴは削除され、これによって非アクティブ仮想ボリュームＬＢＡによって占領されていた容量を解放することができる。
【００３４】
読み出しホットスポットの読み出し要求のアクティビティレベルを、高性能ストレージプールの使用がもはや必要ないレベルまで低減すべきである場合は、アクティブＰＴＶＶに関連付けられているＰｉＴが削除されて、アクティブＰＴＶＶのコンテンツは、以前のＰＴＶＶに再統合される。例えば、ＰＴＶＶ３内のアクティビティが閾値レベルより下に低減すると、ＰＴＶＶ３のコンテンツはＰＴＶＶ２に再統合される。
【００３５】
ＰｉＴが削除されると、対応するＰＴＶＶ内の仮想ボリュームＬＢＡセグメントは、以前のＰｉＴか、又は以前のＰｉＴが存在しない場合は仮想ボリュームＬＢＡ自身に、再統合される。例えば、ＰＴＶＶ１のＬＢＡ内のデータは、仮想ボリューム１０６のＬＢＡにコピーされる。その代わりに、ＰｉＴが存在している間に、読み出し要求によってアドレス指定されていた仮想ボリューム１０６のＬＢＡは、ＰＴＶＶ１の関連ＬＢＡに直接再マッピングされる。
【００３６】
本発明及びそれに伴う利点の多くを前述で説明した。そのコンポーネントにおける形態、構造、及び配置については、本発明の技術思想および範囲を逸脱せずに、又はその物質的な利点の全てを犠牲にすることなしに、多様な変更が可能である。本明細書で前述した形態は、本発明の実施形態例にすぎない。以下に記載の特許請求の範囲は、変更形態を包含するものである。
【００３７】
前述した詳細な説明では、ブロック図、フロー図、及び／又は例を用いて、デバイス及び／又はプロセスに関する様々な実施形態を示した。該ブロック図、フロー図、及び／又は例が１又は複数のファンクション及び／又は動作を含んでいる場合において、該ブロック図、フロー図、又は例にある各ファンクション及び／又は動作は、様々なハードウェア、ソフトウェア、ファームウェアによって、又はそれらのほぼあらゆる組み合わせによって、別個かつ／又は集合的に実施されることが当業者には理解できるであろう。一実施形態では、本明細書で説明された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、デジタル・シグナル・プロセッサ（ＤＳＰ）、又は別の一体型フォーマットによって実施される。しかしながら、本明細書で開示された実施形態のいくつかの様態は、１又は複数のコンピュータ上で動作する１又は複数のコンピュータプログラムとして（例：１又は複数のコンピュータシステム上で動作する１又は複数のプログラムとして）、１又は複数のプロセッサ上で動作する１又は複数のプログラムとして（例：１又は複数のマイクロプロセッサ上で動作する１又は複数のプログラムとして）、ファームウェアとして、又はそれらのほぼあらゆる組み合わせとして、全体的又は部分的に、集積回路において同等に実施されることと、回路の設計、並びに／又は、ソフトウェア及び／又はファームウェアのためのコード作成は、当業者の技術の範囲内であることは、この開示に照らせば当業者には明らかであろう。
【００３８】
さらに、本明細書に記載された主題のメカニズムは、さまざまな形態のプログラム製品として流通させることが可能であること、また、本明細書に記載された主題の実施形態は、実際に流通のために使用される特定のタイプの信号記憶媒体がなんであとうと適合することが、当業者はわかるであろう。信号記憶媒体の例には、フロッピディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ等の記録可能なタイプの媒体、並びに、デジタル及び／又はアナログの通信媒体（例：光ファイバケーブル、導波管、有線通信リンク、無線通信リンク（例えばトランスミッタ、レシーバ、送信論理、受信論理）、など）等の送信タイプの媒体が含まれるが、これらに限定するものではない。
【００３９】
最先端技術は、システム的側面の実装について、ハードウェア、ソフトウェア、及び／又はファームウェアにおける区別がほぼ存在しないところまで進歩していること、すなわち、ハードウェア、ソフトウェア、及び／又はファームウェアの利用法は、コスト対効率のバランスを考慮した設計上の選択であることが通常である（しかし、場合によってはハードウェアかソフトウェアかの選択が非常に重要になるため、常にそうとも限らない）ことが、当業者にはわかるであろう。本明細書に記載されたプロセス及び／又はシステム並びに／又は他の技術は、様々な通信媒体（例：ハードウェア、ソフトウェア、及び／又はファームウェア）によって達成されることと、好ましい通信媒体は、プロセス及び／又はシステム並びに／又は他の技術が使用されるコンテクストによって異なるであろうこととを、当業者は理解できるであろう。例えば、実装者が速度及び精度を優先することを決定すれば、主としてハードウェア及び／又はファームウェアの通信媒体を選択するであろう。また、もしフレキシビリティが優先されるなら、実装者は主としてソフトウェアの実装を選択するであろう。またあるいは、実装者はハードウェア、ソフトウェア、及び／又はファームウェアのなんらかの組み合わせを選択してもよい。したがって、本明細書に記載されたプロセス及び／又はデバイス、並びに／又は他の技術は、いくつかの使用可能な通信媒体によって達成されるが、そのいずれかが本質的に他の媒体よりも優れているわけではない。なぜなら、利用される任意の媒体は、媒体が使用されるコンテクストと、実装者側のそれぞれ異なる特定の関心事項（例：速度、フレキシビリティ、又は予測可能性）に応じて選択されるからである。光学的側面の実装は、光学式のハードウェア、ソフトウェア及び／又はファームウェアを使用することが通常である。
【図１】
0005271424.tif 000002
【図２】
0005271424.tif 000003
【図３】
0005271424.tif 000004
【図４】
0005271424.tif 000005
【図５】
0005271424.tif 000006
【図６】
0005271424.tif 000007
【図７】
0005271424.tif 000008
【図８】
0005271424.tif 000009
【図９】
0005271424.tif 000010