(57)【特許請求の範囲】
【請求項１】
コンピュータデバイスによって実行されるストレージ階層化のための方法であって、
ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームへ向けられた書き込み動作を、ポイントインタイムテンポラリ仮想ボリュームへリダイレクトするステップと、
ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーするステップと、
第２のストレージプール内のコピーされた仮想ボリュームセグメントを参照するために、仮想ボリュームの論理ブロックアドレスマッピングを再構成するステップと、
仮想ボリュームのポイントインタイムが削除されると、第２のストレージプール内のコピーされた仮想ボリュームセグメントを、ポイントインタイムテンポラリ仮想ボリュームからのデータで更新するステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１記載の方法において、ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーするステップは、
ホットスポットを含んでいる仮想ボリュームセグメントを、より高性能なストレージプールの仮想ボリュームセグメントにコピーするステップ
を含むことを特徴とする方法。
【請求項３】
請求項１記載の方法において、ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーするステップは、
コールドスポットを含んでいる仮想ボリュームセグメントを、より低性能なストレージプールの仮想ボリュームセグメントにコピーするステップ
を含むことを特徴とする方法。
【請求項４】
請求項１記載の方法において、該方法はさらに、
ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントの割り当てを、第１のストレージプールの仮想ボリュームから解除するステップ
を含むことを特徴とする方法。
【請求項５】
ダイナミックストレージ階層化のためのシステムであって、
ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームへ向けられた書き込み動作をポイントインタイムテンポラリ仮想ボリュームへリダイレクトする手段と、
ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーする手段と、
第２のストレージプール内のコピーされた仮想ボリュームセグメントを参照するように仮想ボリュームの論理ブロックアドレスマッピングを再構成する手段と、
仮想ボリュームのポイントインタイムが削除されると、第２のストレージプール内のコピーされた仮想ボリュームセグメントを、ポイントインタイムテンポラリ仮想ボリュームからのデータで更新する手段と、
を含むことを特徴とするシステム。
【請求項６】
請求項５記載のシステムにおいて、ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーする手段は、
ホットスポットを含んでいる仮想ボリュームセグメントを、より高性能なストレージプールの仮想ボリュームセグメントにコピーする手段
を含むことを特徴とするシステム。
【請求項７】
請求項５記載のシステムにおいて、ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーする手段は、
コールドスポットを含んでいる仮想ボリュームセグメントを、より低性能なストレージプールの仮想ボリュームセグメントにコピーする手段
を含むことを特徴とするシステム。
【請求項８】
請求項５記載のシステムにおいて、該システムはさらに、
ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントについて、第１のストレージプールの仮想ボリュームから割り当てを解除する手段
を含むことを特徴とするシステム。
【請求項９】
ダイナミックストレージ階層化のためのシステムであって、
ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームへ向けられた書き込み動作を、ポイントインタイムテンポラリ仮想ボリュームへリダイレクトするための回路と、
ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーする回路と、
第２のストレージプール内のコピーされた仮想ボリュームセグメントが参照されるように、仮想ボリュームの論理ブロックアドレスマッピングを再構成するための回路と、
仮想ボリュームのポイントインタイムが削除されると、第２のストレージプール内のコピーされた仮想ボリュームセグメントを、ポイントインタイムテンポラリ仮想ボリュームからのデータで更新する回路と、
を備えていることを特徴とするシステム。
【請求項１０】
請求項９記載のシステムにおいて、ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーするための回路は、
ホットスポットを含んでいる仮想ボリュームセグメントを、より高性能なストレージプールの仮想ボリュームセグメントにコピーするための回路
を備えていることを特徴とするシステム。
【請求項１１】
請求項９記載のシステムにおいて、ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーするための回路は、
コールドスポットを含んでいる仮想ボリュームセグメントを、より低性能なストレージプールの仮想ボリュームセグメントにコピーするための回路
を備えていることを特徴とするシステム。
【請求項１２】
請求項９記載のシステムにおいて、該システムはさらに、
ストレージのホットスポットとストレージのコールドスポットのうち少なくとも１つを含んでいる仮想ボリュームセグメントについて、第１のストレージプールの仮想ボリュームから割り当てを解除するための回路
を備えていることを特徴とするシステム。
【請求項１３】
請求項１記載の方法であって、仮想ボリュームセグメントは論理ブロックアドレスセグメントを備えていることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アロケートオンライトのスナップショットを用いた、ダイナミックストレージ階層化のための方法及びシステムに関する。
【背景技術】
【０００２】
ダイナミックストレージ階層化（DST）は、ストレージ装置を性能特性に応じて階層的にグループ化し、そして、特定の機能を遂行するためにデータをダイナミックにストレージ装置に再配置するという概念である。データがオンラインかつアクセス可能な状態にある間に、DSTシステムがこの再配置を実行することが望ましい。
性能（パフォーマンス）管理に関しては、高アクティビティすなわち高ロードレベルのデータは、高性能ストレージ階層に再配置される。一方、低アクティビティレベルのデータは、訂正能ストレージ階層に再配置されて、高性能ストレージ階層の容量を増大させる。
【発明の概要】
【０００３】
本発明は、ダイナミックストレージ階層化のためのシステム及び方法に関する。
ダイナミックストレージ階層化のための方法は、ストレージのホットスポットを含む仮想ボリュームのポイントインタイムコピーを作成するステップと、ホットスポットを含む仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーするステップと、第２のストレージプール内の仮想ボリュームセグメントコピーが参照されるように、仮想ボリュームの論理ブロックアドレスマッピングを再構成するステップと、を含んでいる。
【０００４】
本発明によるダイナミックストレージ階層化のためのシステムは、ストレージのホットスポットを含む仮想ボリュームのポイントインタイムコピーを作成する手段と、ホットスポットを含む仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーする手段と、第２のストレージプール内の仮想ボリュームセグメントコピーが参照されるように、仮想ボリュームの論理ブロックアドレスマッピングを再構成する手段と、を含んでいる。
【図面の簡単な説明】
【０００５】
【図１】データストレージシステムを示す図である。
【図２】データストレージシステムを示す図である。
【図３】データストレージシステムを示す図である。
【図４】データストレージシステムを示す図である。
【図５】ダイナミックストレージ階層化に関する動作のフロー図である。
【図６】ダイナミックストレージ階層化に関する動作のフロー図である。
【図７】ダイナミックストレージ階層化に関する動作のフロー図である。
【図８】ダイナミックストレージ階層化に関する動作のフロー図である。
【図９】ダイナミックストレージ階層化に関する動作のフロー図である。
【発明を実施するための形態】
【０００６】
以下に記載する発明の詳細な説明では、本明細書の一部である添付図面を参照して説明する。図面においては、文脈からそうでないと判断できる場合を除いて、類似の記号は類似のコンポーネントを表すのが通常である。発明の詳細な説明、及び図面に記載された実施形態は、限定的なものではない。本明細書に示された主題の技術的思想又は範囲から逸脱しない範囲で、別の実施形態の利用及び別の変更が可能である。
【０００７】
図１には、計算デバイスであるホスト１０１と、RAIDコントローラ１０２と、RAID１０３とを備える大容量ストレージシステム１００の説明図が示されている。RAIDコントローラ１０２は、ボリューム管理回路／ソフトウェアを備えており、これにより、RAIDコントローラ１０２は、RAID１０３上に構成された様々な論理ボリュームにアクセスして、ホスト１０１の読み出し／書き込みの要求を処理することができる。RAID１０３は、ｎ個のドライブからなるドライブグループを備えている。
【０００８】
図２に示すように、１又は複数の物理ドライブ（ドライブ0〜ドライブｎ）が、１又は複数の仮想ドライブ（RAID１０３の仮想ドライブ１０４A〜仮想ドライブ１０４D）に論理的に分割されている。１又は複数の仮想ドライブの一部は、ストレージプール（ストレージプール１０５A、ストレージプール１０５B、等）にさらに分割される。ストレージプールは、類似した性能特性を有する１又は複数の物理ドライブ（或いは１又は複数の物理ドライブの論理パーティション）として定義される。例えば、ストレージプール１０５A（ドライブ０）は、高性能SSD(Solid State Drive）を備え、一方、ストレージプール１０５B（ドライブ１及びドライブ２）は、シリアルATA（SATA）ハードディスクドライブ（HDD）等の低性能デバイスを備えている。高性能ストレージプールを低性能ストレージプールから識別するファクタは、単位時間当たりに処理されるI/O動作の数、時間単位当たりに読み出し又は書き込みされるバイト数、及び／又はI/O要求に対する平均応答時間等である。
【０００９】
システム性能全体を向上させるためには、高アクティビティレベルを有するデータ（例えば、多数のI/O要求がアドレス指定されているデータ）を高性能ストレージプールへ配置し、一方で、低アクティビティレベルのデータを低性能ストレージプールへ配置することが望ましい。効率的なDSTソリューションにするためには、ストレージプール間で移動されるデータブロックのサイズは、SCSI論理ユニット（LU)全体よりも小さくなる。
【００１０】
任意のLUに関して、高アクティビティレベルのデータは、LU内の論理ブロックアドレス（LBA）レンジとして特定される。LUの他の部分と比べて非常に大きいアクティビティロードを有するLBAレンジは、ホットスポットと称される。単一のLUが２以上のホットスポットを含んでいる場合もある。
【００１１】
ホットスポットが現在存在しているストレージプールは、ソースストレージプール（source storage pool)と称される。ホットスポットが移動されてくるストレージプールは、宛先ストレージプール（destination storage pool)と称される。ホットスポットは頻繁にアクセスされるデータを参照させるので、高性能ストレージプールに移動される。その代わりに、アクセス頻度の低いデータはコールドスポットと称され、ホットスポットの移動に関して本明細書に記載されたシステム及び方法を用いて、低性能ストレージプールに移動される。
【００１２】
ホットスポットは、RAIDコントローラ１０２が、ホスト１０１から受け取ったI/O要求に関するアドレスロケーションをモニタすることによって特定される。任意のストレージプール内のLBAの特定のセグメントに対するI/O要求が閾値を上回ると（すなわち、所定の要求速度及び要求数など超えると）、このようなLBAはホットスポットと指定されて、代替的な性能特性を有するストレージプールへ再配置されることになる。
【００１３】
図３を参照すると、仮想ボリューム１０６は、１又は複数のストレージプールの容量から供給されている。例えば、ストレージプール１０５Bは、１又は複数の仮想ドライブからのLBA（仮想ドライブ１０４Aの一部である仮想ドライブLBAセグメント１０７A、仮想ドライブ１０４Bの一部である仮想ドライブLBAセグメント１０７B、仮想ドライブ１０４Cの一部である仮想ドライブLBAセグメント１０７C等）を含んでいる。
【００１４】
図４を参照すると、仮想ボリュームは、１又は複数の仮想ドライブ内の１又は複数のLBAレンジ（仮想ドライブセグメント）にマッピングされる。仮想ボリュームが１又は複数のストレージプールから供給されると、仮想ボリュームLBAレンジの仮想ドライブLBAレンジへのマッピングのそれぞれに対して、仮想ボリュームセグメントが作成される。例えば、仮想ボリュームセグメント１０８Aは、仮想ドライブ１０４AのLBA０〜ｍにマッピングされているLBA0〜ｍを含んでいる。仮想ボリュームLBAセグメント１０８Bは、仮想ドライブ１０４BのLBA０~ｊにマッピングされているLBAｍ+１〜ｎを含んでいる。仮想ボリュームLBAセグメント１０８Cは、仮想ドライブ１０４CのLBA０〜ｋにマッピングされているLBAｎ+１〜ｐを含んでいる。
【００１５】
大容量ストレージシステム１００はさらに、スナップショット機能を実装している。スナップショット機能は、仮想ボリューム（例えば、仮想ボリューム１０６）の１又は複数のポイントインタイム（PiT）コピーの作成及び記憶を可能にする。仮想ボリュームのPiTが作成されると、仮想ボリュームのコンテンツが凍結され、かつ、PiTの作成後に仮想ボリュームに対して加えられた変更の全てを記録する、PiTテンポラリ仮想ボリューム（PTVV）が作成される。その結果、仮想ボリュームの元のコンテンツはPiTが作成された時点で保護される。この種のスナップショットメカニズムは、アロケートオンライト（allocate-on-write)又はリダイレクトオンライト(re-direct-on-write）（総称して「アロケートオンライト」）のスナップショットと称される。さらに、現在のPTVVが凍結されて新たなPTVVが作成される場合に、所与のPTVVに対して後続のPiTが作成される。
【００１６】
図５〜９は、ダイナミックストレージ階層化に関する動作例を表す動作フローを示している。図５〜９では、上述した図１〜４の例及び／又は他の例及びコンテクストについて論述及び説明している。しかし、この動作フローは、他の数多くの環境及びコンテクストで、並びに／又は図１〜４の修正版でも実施できる。加えて、様々な動作フローが説明の順に提示されるが、様々な動作は例示されたもの以外の順序で実行されてもよく、同時に実行されてもよい。
【００１７】
図５を参照すると、ストレージのホットスポットを含む仮想ボリュームの、ポイントインタイムコピーを作成するステップを示す動作フローが示されている。元の仮想ボリューム（仮想ボリューム１０６）のコンテンツを凍結する第１のPiT（PiT1）が生じて、第１のPTVV（PTVV1）が作成される。PTVVの作成に続いて、ホスト（ホスト１０１）から仮想ボリュームへの書き込み動作がPTVVに向けられる。ホストから仮想ボリュームへの読み出し動作は、PiT以降に修正されていないデータに対しては、元の仮想ボリュームへ向けられ、PiT以降に修正されているデータに対してはPTVVに向けられる。最新のPiTは、最新の書き込み動作が全てそのPTVVに向けられので、「アクティブ」PiTと称される。
【００１８】
次に、PTVV１のコンテンツを凍結する第２のPiT（PiT2）が生じて、第２のPTVV（PTVV2）が作成される。PTVVの作成後は、ホストから仮想ボリュームへの書き込み動作は、アクティブPTVV（PTVV2)に向けられる。ホストから仮想ボリュームへの読み出し動作は、第１のPiT（PiT1)以降に修正されていないデータに対しては、元の仮想ボリュームへ向けられ、第１のPiT以降かつ第２のPiT（PiT2）以前に修正されているデータに対しては、第１のPTVV（PTVV1）に向けられ、第２のPiTの後に修正されたデータに対しては、アクティブPTVV（PTVV2）に向けられる。
【００１９】
PiT（例：PiT1）を削除すると、元の仮想ボリューム（仮想ボリューム１０６）は、そのPiTが存在している間に書き込み要求によってアドレス指定された元のボリュームの一部のコンテンツが更新されて、PTVVと一致するように再構成される。例えば、PiTが存在している間に書き込み要求によってアドレス指定されていた仮想ボリューム１０６のLBAは、仮想ボリューム１０６のLBAにコピーされる。
【００２０】
図６には、ホットスポットを含んでいる仮想ボリュームセグメントを、第１のストレージプールから第２のストレージプールにコピーするステップを示す動作フローが示されている。例えば、仮想ドライブLBAセグメント１０７B（今はストレージプール１０５Bに位置する仮想ドライブ１０４Bの一部と関連付けられている）は、ストレージプール１０５Aにコピーされる。ホットスポットを含んでいる仮想ボリュームセグメントのコピー動作は、関連する仮想ボリュームのためのPiT作成後に行われる。これは、コピー動作の間、仮想ボリュームセグメント内のデータに対する修正がPiTによって確実に維持されるようにするためである。
【００２１】
図７を参照すると、第２のストレージプール内の仮想ボリュームセグメントコピーが参照されるように、仮想ボリュームの論理ブロックアドレスマッピングを再構成するステップを示す動作フローが示されている。
【００２２】
図８を参照すると、第２のストレージプール内の仮想ボリュームセグメントコピーを、第２の記憶場所からのデータで更新するステップを示す動作フローが示されている。図５に関連して上述したように、仮想ボリューム（例：仮想ボリューム１０６）は、PiTが削除されると自動的に更新され、仮想ボリュームのコンテンツをそのPiTに関連付けられているPTVVに対応させる。例えば、より高性能なストレージプールに移された仮想ボリューム１０６のセグメント（例：ストレージプール１０５Aの仮想ドライブ１０４D）は、以前に作成されたPTVV1に対応するよう更新される。PTVV1のLBA内のデータは、仮想ドライブ１０４D上の仮想ドライブLBAセグメント１０７Dにコピーされるので、PTVV1に関連付けられているPiTは削除される。
【００２３】
図９を参照すると、ホットスポットを含んでいる仮想ボリュームセグメントについて、第１のストレージプールから割り当てを解除するステップを示す動作フローが示されている。例えば、仮想ドライブLBAセグメント１０７Bをストレージプール１０５Aにコピーすると、ストレージプール１０５Bの仮想ドライブLBAセグメント１０７Bは割り当てを解除されて、以前に仮想ドライブLBAセグメント１０７Bに関連付けられていた仮想ドライブ１０４Bの一部が利用可能なシステムメモリプールに戻される。
【００２４】
本発明及びそれに伴う利点の多くを前述で説明した。そのコンポーネントにおける形態、構造、及び配置については、本発明の技術思想および範囲を逸脱せずに、又はその物質的な利点の全てを犠牲にすることなしに、多様な変更が可能である。本明細書で前述した形態は、本発明の実施形態例にすぎない。
【００２５】
前述した詳細な説明では、ブロック図、フロー図、及び／又は例を用いて、デバイス及び／又はプロセスに関する様々な実施形態を示した。該ブロック図、フロー図、及び／又は例が１又は複数のファンクション及び／又は動作を含んでいる場合において、該ブロック図、フロー図、又は例にある各ファンクション及び／又は動作は、様々なハードウェア、ソフトウェア、ファームウェアによって、又はそれらのほぼあらゆる組み合わせによって、別個かつ／又は集合的に実施されることが当業者には理解できるであろう。一実施形態では、本明細書で説明された主題のいくつかの部分は、特定用途向け集積回路（ASIC)、フィールド・プログラマブル・ゲート・アレイ（FPGA）、デジタル・シグナル・プロセッサ（DSP）、又は別の一体型フォーマットによって実施される。しかしながら、本明細書で開示された実施形態のいくつかの様態は、１又は複数のコンピュータ上で動作する１又は複数のコンピュータプログラムとして（例：１又は複数のコンピュータシステム上で動作する１又は複数のプログラムとして）、１又は複数のプロセッサ上で動作する１又は複数のプログラムとして（例：１又は複数のマイクロプロセッサ上で動作する１又は複数のプログラムとして）、ファームウェアとして、又はそれらのほぼあらゆる組み合わせとして、全体的又は部分的に、集積回路において同等に実施されることと、回路の設計、並びに／又は、ソフトウェア及び／又はファームウェアのためのコード作成は、当業者の技術の範囲内であることは、この開示に照らせば当業者には明らかであろう。
【００２６】
さらに、本明細書に記載された主題のメカニズムは、さまざまな形態のプログラム製品として流通させることが可能であること、また、本明細書に記載された主題の実施形態は、実際に流通のために使用される特定のタイプの信号記憶媒体がなんであとうと適合することが、当業者はわかるであろう。信号記憶媒体の例には、フロッピディスク、ハードディスクドライブ、コンパクトディスク（CD）、デジタルビデオディスク（DVD）、デジタルテープ、コンピュータメモリ等の記録可能なタイプの媒体、並びに、デジタル及び／又はアナログの通信媒体（例：光ファイバケーブル、導波管、有線通信リンク、無線通信リンク（例えばトランスミッタ、レシーバ、送信論理、受信論理）、など）等の送信タイプの媒体が含まれるが、これらに限定するものではない。
【００２７】
最先端技術は、システム的側面の実装について、ハードウェア、ソフトウェア、及び／又はファームウェアにおける区別がほぼ存在しないところまで進歩していること、すなわち、ハードウェア、ソフトウェア、及び／又はファームウェアの利用法は、コスト対効率のバランスを考慮した設計上の選択であることが通常である（しかし、場合によってはハードウェアかソフトウェアかの選択が非常に重要になるため、常にそうとも限らない）ことが、当業者にはわかるであろう。本明細書に記載されたプロセス及び／又はシステム並びに／又は他の技術は、様々な通信媒体（例：ハードウェア、ソフトウェア、及び／又はファームウェア）によって達成されることと、好ましい通信媒体は、プロセス及び／又はシステム並びに／又は他の技術が使用されるコンテクストによって異なるであろうこととを、当業者は理解できるであろう。例えば、実装者が速度及び精度を優先することを決定すれば、主としてハードウェア及び／又はファームウェアの通信媒体を選択するであろう。また、もしフレキシビリティが優先されるなら、実装者は主としてソフトウェアの実装を選択するであろう。またあるいは、実装者はハードウェア、ソフトウェア、及び／又はファームウェアのなんらかの組み合わせを選択してもよい。したがって、本明細書に記載されたプロセス及び／又はデバイス、並びに／又は他の技術は、いくつかの使用可能な通信媒体によって達成されるが、そのいずれかが本質的に他の媒体よりも優れているわけではない。なぜなら、利用される任意の媒体は、媒体が使用されるコンテクストと、実装者側のそれぞれ異なる特定の関心事項（例：速度、フレキシビリティ、又は予測可能性）に応じて選択されるからである。光学的側面の実装は、光学式のハードウェア、ソフトウェア及び／又はファームウェアを使用することが通常である。
【図１】
0005456063.tif 000002
【図２】
0005456063.tif 000003
【図３】
0005456063.tif 000004
【図４】
0005456063.tif 000005
【図５】
0005456063.tif 000006
【図６】
0005456063.tif 000007
【図７】
0005456063.tif 000008
【図８】
0005456063.tif 000009
【図９】
0005456063.tif 000010