(57)【要約】【課題】  スナップショットに分散されたデータを使用するデータ保護を提供する。【解決手段】  ベースボリューム（４０４）および少なくとも１つの物理ブロック（４０６Ａ、４０６Ｂ、４０６Ｃ、および４０６Ｄ）を備える物理ストア（４０２）と、  スナップショットボリューム（４１０）およびスナップショットインデックス（４１２）を備える論理ストア（４０８）と、前記スナップショットボリューム（４１０）から前記物理ブロック（４０６Ａ、４０６Ｂ、４０６Ｃ、および４０６Ｄ）のうちの選択されたものへのポインタをポイントインタイムでサポートでき、親論理ユニット（ＬＵＮ）を定義でき、かつ、該親ＬＵＮのデータが複数のスナップショットから分岐すると、前記親ＬＵＮの前記複数のスナップショットにわたってデータを分散させることができるスナップショットサブシステム（４１４）と、を備えるストレージシステム（４００）とする。【選択図】          図４Ｃ
2005310159.tif 000002
【特許請求の範囲】
【請求項１】
ストレージシステム（４００）であって、
ベースボリューム（４０４）および少なくとも１つの物理ブロック（４０６Ａ、４０６Ｂ、４０６Ｃ、および４０６Ｄ）を備える物理ストア（４０２）と、
スナップショットボリューム（４１０）およびスナップショットインデックス（４１２）を備える論理ストア（４０８）と、
前記スナップショットボリューム（４１０）から前記物理ブロック（４０６Ａ、４０６Ｂ、４０６Ｃ、および４０６Ｄ）のうちの選択されたものへのポインタをポイントインタイムでサポートでき、親論理ユニット（ＬＵＮ）を定義でき、かつ、該親ＬＵＮのデータが複数のスナップショットから分岐すると、前記親ＬＵＮの前記複数のスナップショットにわたってデータを分散させることができるスナップショットサブシステム（４１４）と、
を備えるストレージシステム。
【請求項２】
ストレージシステム（４００）であって、
前記物理ストア（４０２）のデータを指し示す、前記スナップショットボリューム（４１０）の少なくとも１つのマップポインタと、
前記スナップショットインデックス（４１２）のデータを指し示すことができる複数のスナップショットポインタ（４１８）と、
分岐したデータを、前記スナップショットインデックス（４１２）の複数のスナップショット部分に分散させ、該分散させたデータ部分を前記複数のスナップショットに書き込む前記スナップショットサブシステム（４１４）と、
をさらに備える請求項１に記載のストレージシステム。
【請求項３】
ストレージシステム（４００）であって、
前記スナップショットサブシステム（４１４）は、前記複数のスナップショットにわたってほぼ等しい割合でデータを分散させる、
請求項２に記載のストレージシステム。
【請求項４】
ストレージシステム（４００）であって、
前記スナップショットサブシステム（４１４）は、前記親ＬＵＮの削除、該親ＬＵＮへのデータ書き込みオペレーション、および該親ＬＵＮの障害を含む該親ＬＵＮのデータの分岐状態を検出することができる、
請求項１に記載のストレージシステム。
【請求項５】
ストレージシステム（４００）であって、
前記スナップショットサブシステム（４１４）は、時間の経過と共にスナップショットの個数を変更することができ、前記複数のスナップショット間におけるほぼ均一なデータの分散を各変更時に開始して行うことができる、
請求項１に記載のストレージシステム。
【請求項６】
ストレージシステム（４００）であって、
磁気ディスク、光ディスク、コンパクトディスク（ＣＤ）、ＣＤ−Ｒ、ＣＤ−ＲＷ、ディスケット、テープ、およびテープカートリッジの中から選択された媒体をさらに備える、
請求項１に記載のストレージシステム。
【請求項７】
ベースボリューム（５０６）および少なくとも１つの物理ブロック（５０８）を含む物理ストア（５０４）と、スナップショットボリューム（５１２）およびスナップショットインデックス（５１４）を含む論理ストア（５１０）とを有するストレージシステム５０２で使用されるコンピュータシステム（５００）であって、
親ＬＵＮ（５１８）のデータが複数のスナップショットから分岐すると、前記親ＬＵＮ（５１８）の前記複数のスナップショットにわたってデータを分散させるスナップショットサブシステム、
を備えるコンピュータシステム。
【請求項８】
コンピュータシステム（５００）であって、
前記物理ストア（５０４）のデータを指し示す前記スナップショットボリューム（５１２）の少なくとも１つのマップポインタと、前記スナップショットインデックス（５１４）のデータを指し示すことができる複数のスナップショットポインタとを生成するマッピングロジックと、
分岐したデータを前記スナップショットインデックスの複数のスナップショット部分に分散させ、該分散させたデータ部分を前記複数のスナップショットに書き込むスナップショットロジックと、
をさらに備える、請求項７に記載のコンピュータシステム。
【請求項９】
コンピュータシステム（５００）であって、
前記親ＬＵＮの削除、該親ＬＵＮへのデータ書き込みオペレーション、および該親ＬＵＮの障害を含む該親ＬＵＮのデータの分岐状態を検出する、前記スナップショットロジックに関連付けられたロジックと、
時間の経過と共にスナップショットの個数を変更し、前記複数のスナップショット間におけるほぼ均一なデータの分散を各変更時に開始して行う、前記スナップショットロジックに関連付けられたロジックと、
をさらに備える、請求項７に記載のコンピュータシステム。
【請求項１０】
コンピュータシステム（５００）であって、
磁気ディスク、光ディスク、コンパクトディスク（ＣＤ）、ＣＤ−Ｒ、ＣＤ−ＲＷ、ディスケット、テープ、およびテープカートリッジの中から選択された媒体にデータを記憶することができる少なくとも１つのストレージデバイス、
をさらに備える、請求項７に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スナップショットに分散されたデータを使用するデータ保護に関する。
【背景技術】
【０００２】
データストレージアドミニストレータは、長い間、システムバックアップを使用して、貴重なデータの保護を保証してきた。バックアップは、従来、他のアプリケーションのシャットダウン中に行われ、夜または休み時間に実行されることが多いプロセスである。このような従来のバックアップオペレーションでは、連続して利用可能なストレージシステムの非常に望ましい有用性を得ることはできない。
【０００３】
他のオペレーションの中断を回避するバックアップオペレーションを容易にするために、スナップショット技法が開発されている。スナップショット画像は、バックアップのソースとして使用することができる。スナップショットは、一般に、アプリケーションを静止させ、ほぼ瞬時に作成されるコピーを、その使用が基本的に遅延を気付かせないように実行することによって取り込まれる。
【０００４】
情報を復元する一般的な理由は、ユーザがその後取り消したい不注意の削除またはファイルへの変更等のユーザエラーである。スナップショット技法によって、高速で効率的なデータの位置の特定および修復に利用しやすい状態で、記憶したデータのコピーを保持することが可能になる。
【発明の開示】
【課題を解決するための手段】
【０００５】
データストレージシステムの一実施の形態によると、データを保護する方法は、親論理ユニット（ＬＵＮ）のデータがスナップショットから分岐すると、親ＬＵＮの複数のスナップショットにわたってデータを分散させることを含む。
【０００６】
オペレーションの構造および方法に関する本発明の実施の形態は、以下の説明および添付図面を参照することによって最も良く理解することができる。
【発明を実施するための最良の形態】
【０００７】
性能および信頼性の改善を可能にするようにストレージデバイスを構成することができる。例えば、独立ディスク冗長配列（ＲＡＩＤ）の形のストレージデバイスは、２つまたは３つ以上のストレージドライブを組み合わせて使用し、フォールトトレランスおよび性能を達成する。ＲＡＩＤストレージ配列は、従来型ＲＡＩＤストレージ配列タイプおよび仮想ＲＡＩＤストレージ配列タイプを含む２つのタイプに分類することができる。従来型配列は、ホストコンピュータから物理媒体へのアドレス空間の固定マッピングによって定義される。したがって、従来型配列では、ホストコンピュータが特定の１つのデータ要素にアクセスするアドレスが与えられると、ＲＡＩＤ配列を構成する実際のストレージドライブにおいて、そのデータの物理位置を特定することができる。仮想配列では、ホストコンピュータがその配列の特定の１つのデータ要素にアクセスするのに使用するアドレスと、ＲＡＩＤ配列を構成するストレージドライブのそのデータの実際の物理位置との間に、仮想化とも呼ばれる少なくとも１つのレベルの間接指定が存在する。そのデータ要素の具体的なホストアドレスが既知である仮想配列では、そのデータの実際の物理位置は、配列のドライブのいずれかにすることができる。仮想配列に存在する間接指定レイヤは、ホストベースのアドレスからストレージドライブのデータの物理位置へのマッピングによって生成される。
【０００８】
マッピングによって、仮想配列の機能が可能になり、マッピングを使用することによって、記憶されたデータボリュームのスナップショットコピーを行う機能を援助することができる。スナップショットコピーは、選択されたデータセットのポイントインタイムコピー（point-in-time copy）を可能にする情報を保存する。従来型配列では、コピーされるボリュームへの書き込みを一時停止し、そのポイントインタイムにおけるボリュームの状態を保持し、その後、ポイントインタイムコピーを表す新たなアドレス空間にコピーされるボリュームからあらゆるデータ要素をコピーすることによって、スナップショットコピーが得られる。元のボリュームからのあらゆるデータ要素がコピーされた後にのみ、コピーされるボリュームへの書き込みが再開される。例えばコピーされるデータ量といったスナップショットサイズに応じて、プロセスは、許容されない時間量を要する可能性がある。
【０００９】
仮想配列では、スナップショットプロセスを非常に簡略化することができる。仮想化の副産物として、アドレスの元のボリュームから関連付けられた物理位置へのマップがすでに存在する。仮想化マッピングを使用すると、ポイントインタイムコピーを表す新たなアドレス空間にそれらマップをコピーすることによって、ポイントインタイムコピーを簡単に作成することができる。一般の実施態様では、元のホストアドレスおよび関連付けられたスナップショットコピーアドレスの双方が、ストレージデバイスの同じ物理位置にマッピングされる。したがって、スナップショットは、マップのコピーに要する時間量が少なく完了する。仮想配列によって、或る物理位置から別の物理位置へ全データをコピーする従来型配列のオペレーションよりもはるかに高速に進むスナップショット機能が可能になる。
【００１０】
しかしながら、仮想配列スナップショット技法は、その後のデータ変更の問題が未解決のままである。元のデータの変更は、２つの状態下で発生する可能性がある。図１Ａおよび図１Ｂに示す概略ブロック図に図示した第１の状態では、配列のマップの粒度が、スナップショットコピーと元のデータとの間の分岐（divergence）が配列内に記録される粒度と同じである。粒度は、例えば、１つのマップエントリによって画定される連続した物理エリアのサイズとして定義することができる。したがって、図１Ａおよび図１Ｂに示す状態１００では、分岐の粒度は、マップエントリのサイズおよび位置と正確に一致する。
【００１１】
図１Ａは、マップエントリ１  １０２に新たなデータを書き込む前の状態１００を示している。マップエントリ１  １０２は記憶データ１  １０４を指し示す。マップエントリ２  １０６は記憶データ２  １０８を指し示す。スナップショットエントリ１  １１０も記憶データ１  １０４を指し示す。スナップショットエントリ２  １１２も記憶データ２  １０８を指し示す。
【００１２】
図１Ｂは、新たなデータがマップエントリ１  １０２に書き込まれた後の状態１２０を示している。仮想配列では、スナップショットは、変更された元のデータを新たな位置に書き込むことによって取り込まれる。この新たな位置は、この例示では、記憶データ３  １２２とラベル付けされている。スナップショットエントリ１  １１０として示すスナップショットコピーは、記憶データ１  １０４として示す元の位置の元の物理データを依然として指し示す状態にある。マップエントリ１  １０２のラベルを有する元のデータは、新たな物理位置１２２を指し示すように変更される。したがって、スナップショットコピーと元のデータとの分岐は、新たな位置に新たなデータを書き込むことによって得られる。
【００１３】
この技法は、配列のマップの粒度が分岐の粒度と同じである場合に機能する。図２Ａおよび図２Ｂに示す別の状態では、スナップショット分岐は、分岐の粒度とマップの粒度が異なる場合の状態２００に示されている。図２Ａは、マップエントリ１  ２０２に新たなデータを書き込む前の状態２００を示している。マップエントリ１  ２０２は記憶データ１  ２０４を指し示す。マップエントリ２  ２０６は記憶データ２  ２０８を指し示す。スナップショットエントリ１  ２１０はスナップショットターゲットデータ２１４を指し示し、スナップショットエントリ２  ２１２はスナップショットターゲットデータ２１６を指し示す。
【００１４】
図２Ｂは、マップエントリ１  ２０２に新たなデータが書き込まれた後の状態２２０を示している。記憶データ１  ２０４のラベルを有する元のデータを保持する記憶位置が書き込み可能になって、変更記憶データ１  ２２２を形成する前に、元のデータは、記憶データ１  ２０４の元の位置から、元の記憶データ１  ２２４として示す別の物理位置にコピーされて、適切なポイントインタイムコピーが維持される。スナップショットエントリ１  ２１０および２  ２１２は、この時点で、それぞれスナップショットターゲットデータ２１４およびスナップショットターゲットデータ２１６を収容する新たな物理位置を指し示す。元のデータである記憶データ１  ２０４だけでなく、スナップショットに関連付けられたすべての元のデータも、新たな物理位置にコピーされ、その結果、スナップショットエントリ１  ２１０およびスナップショットエントリ２  ２１２は、引き続き完全なポイントインタイムコピーを指し示す。図２Ｂに示す例示では、記憶データ２  ２０８は新たな物理位置２２６にコピーされる。元のデータを維持するために、物理記憶位置の内容は、元のデータがコピーされるまで変更されない。スナップショットオペレーションの１つの難しい点は、１つのデータ要素の変更が、はるかに多くのデータのコピーを引き起こす可能性があり、場合によっては、スナップショットを使用しないシステムと比較して、データ変更に費やす時間を劇的に増加させる可能性があるということである。
【００１５】
性能に劇的な影響を有する可能性のあるデータ変更の一例は、元のデータの削除であり、場合によっては、非常に短い期間で多数のデータ要素のコピーを引き起こす可能性がある。この問題は、同じデータの複数のスナップショットが取り込まれている場合に悪化する。従来型システムでは、親論理ユニット（ＬＵＮ）が削除されると、データは、第１のスナップショットに書き込まれ、それ以外のすべてのスナップショットは、第１のスナップショットに向けられる。その後、第１のスナップショットが削除されると、データはすべて、次のスナップショット、例えば第２のスナップショットに再書き込みされ、続いて、残りのすべてのスナップショットは、第２のスナップショットに向けられる。その後、第２のスナップショットが削除されると、同じオペレーションが再び実行され、すべてのデータは、再び、後続のスナップショットに再書き込みされる。このように、所与のスナップショットのデータのすべてが、特定のスナップショットが削除される場合に応じて多数回コピーされる可能性があり、それによって、非生産的なコピーに時間および資源が浪費される。
【００１６】
改良されたストレージシステムおよびストレージシステムハンドリング技法のさまざまな実施の形態によると、分岐が発生すると、データのすべてを１つのスナップショットにコピーするのではなく、データの一部が複数のスナップショットにわたって分散される。データの分岐は、例えば、親論理ユニット（ＬＵＮ）が削除された時に発生する可能性がある。図３Ａおよび図３Ｂを参照して、全体ブロック図が、データを保護する方法の一実施の形態に関連したストレージ構成３００を示している。この方法は、親論理ユニット（ＬＵＮ）３０６のデータがスナップショットから分岐する時に、親ＬＵＮの複数のスナップショット３０４Ａ、３０４Ｂ、３０４Ｃ、および３０４Ｄにわたってデータ３０２を分散させることを含む。
【００１７】
親ＬＵＮの削除、親ＬＵＮへのデータ書き込みオペレーション、および親ＬＵＮの障害を含む検出のために、さまざまなタイプの親ＬＵＮのデータの分岐状態を選択することができる。親ＬＵＮデータの分岐の検出に続いて、分岐したデータを複数の部分に分散させることができ、分散したデータ部分を複数のスナップショットに書き込むことができる。いくつかの実施の形態では、データを、ほぼ等しい割合で複数のスナップショットにわたって分散させることができる。
【００１８】
スナップショットの個数は、時間の経過と共に変化し得る。スナップショットの個数の変更時に、データを複数のスナップショットにわたってほぼ均一に分散させることができる。データは、スナップショットにわたってほぼ等しく、または、ほぼ均一に分散され、この分散は、数学的に正確なデータ割り当て条件に対して行われるだけでなく、正確な精度が可能でないか、望ましい状態を含む条件に対しても行われる。例えば、データは、特定のデータ粒度で、特定の個数のスナップショットに等しく分割できない場合がある。したがって、データは、概ね等しく分散したデータで、割り当てられたスナップショットに分散される場合がある。
【００１９】
スナップショットデータは、任意の適切な媒体に記憶することができる。この媒体には、例えば、磁気ディスク、光ディスク、コンパクトディスク（ＣＤ）、ＣＤ−Ｒ、ＣＤ−ＲＷ、ディスケット、テープ、テープカートリッジ等が含まれる。
【００２０】
データの分岐に応答し、データの一部を複数のスナップショットの各スナップショットにコピーすることによって、データのいずれかの特定の部分を「所有する」特定のスナップショットが変化し、単一のスナップショットが削除されると、データの一部のみが再コピーされることになる。この技法の利益は、スナップショットの個数が増加するにつれて増加する。例えば、単一のスナップショットで構成されたシステムは利点がないが、スナップショットの個数が２つまたは３つ以上に増加するにつれて、性能は改善される。
【００２１】
図３Ａおよび図３Ｂに示す状態は、４つのスナップショット３０４Ａ、３０４Ｂ、３０４Ｃ、および３０４Ｄを有する親ＬＵＮを示している。スナップショット機能を有するストレージシステムの従来の実施では、親ＬＵＮが削除されると、すべてのデータが第１のスナップショットにコピーされ、残りの３つのスナップショットが第１のスナップショットに向けられる。その後、第１のスナップショットが削除されると、すべてのデータが第２のスナップショットにコピーされ、再度、残りの第３および第４のスナップショットが第２のスナップショットに向けられる。起こり得る最悪の場合には、データは４回コピーされる。
【００２２】
これとは対照的に、図３Ａおよび図３Ｂに示す技法は、データの分岐の結果として生じるコピーを大幅に削減する。例えば親ＬＵＮの削除といった分岐が発生すると、データのすべてを第１のスナップショット３０４Ａにコピーするのではなく、データの４分の１をスナップショット３０４Ａ、３０４Ｂ、３０４Ｃ、および３０４Ｄのそれぞれにコピーすることができる。或るスナップショットが削除されると、データの４分の１のみを再コピーすることによって、データは正確に管理され、再コピーされたデータは、残りの３つのスナップショットにわたって分散される。別のスナップショットが削除されると、データの３分の１のみが再コピーされ、その再コピーされたデータは、残りの２つのスナップショットにわたって均一に分散される。最後に、残りのスナップショットの一方が削除されると、データの半分のみが残りの最後のスナップショットに再コピーされる。したがって、第１の親ＬＵＮを削除しその後データをコピーした後、次のスナップショットを削除する時には、最悪の場合でも、データの１／４＋１／３＋１／２しかコピーされない。これと対照的に、従来の技法は、最初の親ＬＵＮの削除に続いて、さらに３回、データのすべてをコピーすることがある。
【００２３】
この例示は、親ＬＵＮの削除としての分岐事象を説明しているが、この技法は、親ＬＵＮおよびスナップショットを分岐させる任意の状況にも同様に適用することができる。分岐事象には、親ＬＵＮへの分岐書き込み（diverging write）だけでなく、それ以外の事象も含まれる。したがって、この技法は、別の例では、分岐書き込みが親ＬＵＮに送られた際にデータを分散させるのに使用することができる。このように、１つの分岐書き込みは、元のデータを１つのスナップショットにコピーするのに使用することができ、次の分岐書き込みは、コピーしたデータを次のスナップショットにコピーすることができ、以下同様である。その結果、個々のスナップショットは、分岐データの基本的に均等な部分を「所有する」。
【００２４】
どの所与の時刻においても、データは、既存のスナップショットにわたってのみ基本的に均一に分散され、それによって、スナップショット管理システムのコピーの負担が低減される。親ＬＵＮが、既存の２つのスナップショットをすでに有する例では、時間の経過と共に、これら２つのスナップショットは、親ＬＵＮからの分岐したデータのすべてを均一に共有する。親の第３のスナップショットが取り込まれると、この新たなスナップショットは、元の２つのスナップショットと同じ程度に分岐したデータを最終的に受け取ることが「支持」される必要はない。その理由は、第３のスナップショットが、元の２つのスナップショットが先に受け取った、分岐したデータのいずれも共有しないからである。したがって、第３のスナップショットの発生時に、分岐書き込みは、その時にのみ３つのスナップショットにわたって均一に分散される。第３のスナップショットの生成前に発生した事象は、この現在の分散とは関係しない。分散割り当ては、現在存在するスナップショットの個数によってのみ決定される。
【００２５】
親ＬＵＮのデータがスナップショットから分岐した時に、親ＬＵＮの複数のスナップショットにわたってほぼ均一にデータを分散するコンセプトは、親ＬＵＮとスナップショットとの間の分岐を生じるあらゆる理由、状況、または状態に一般化することができる。この技法は、さらに、スナップショット機能をサポートする任意の適切な記憶方法にも一般化することができる。この適切な記憶方法には、おそらく、ＲＡＩＤ０、ＲＡＩＤ１、ＲＡＩＤ２、ＲＡＩＤ３、ＲＡＩＤ４、ＲＡＩＤ５、ＲＡＩＤ６、ＲＡＩＤ７、ＲＡＩＤ１０等の１つまたは２つ以上を含むさまざまな独立ディスク冗長配列（ＲＡＩＤ）タイプが含まれる。同様に、この技法は、スナップショット機能をサポートする任意の適切な記憶媒体に使用することができる。この記憶媒体には、おそらく、さまざまな磁気ディスク、光ディスク、コンパクトディスク（ＣＤ）、ＣＤ−Ｒ、ＣＤ−ＲＷ、ディスケット、テープ、テープカートリッジ等が含まれる。また、この技法は、さらに、任意の適切な分岐の原因、状態、今後開発されるスナップショット機能をサポートする記憶方法または記憶媒体にも一般化することができる。
【００２６】
図４Ａ、図４Ｂ、および図４Ｃを参照して、実体ブロック図が、ストレージシステム４００の一実施の形態を示している。このストレージシステム４００は、ベースボリューム４０４および少なくとも１つの物理ブロック４０６Ａ、４０６Ｂ、４０６Ｃ、および４０６Ｄを有する物理ストア４０２と、スナップショットボリューム４１０およびスナップショットインデックス４１２を含む論理ストア４０８とを含む。ストレージシステム４００は、さらに、スナップショットボリュームから、物理ブロックのうちの選択されたものへのポインタをポイントインタイムでサポートできるスナップショットサブシステム４１４も含む。スナップショットサブシステム４１４は、親論理ユニット（ＬＵＮ）を定義し、親ＬＵＮのデータがスナップショットから分岐すると、親ＬＵＮの複数のスナップショットにわたってデータを分散させる。
【００２７】
さまざまな実施の形態では、物理ストア４０２および論理ストア４０８は、磁気ディスク、光ディスク、コンパクトディスク（ＣＤ）、ＣＤ−Ｒ、ＣＤ−ＲＷ、ディスケット、テープ、テープカートリッジ等の中から選択された媒体にスナップショットデータを記憶することができる。
【００２８】
ストレージシステム４００は、物理ストア４０２のデータを指し示す、スナップショットボリューム４１０の１つまたは２つ以上のマップポインタ４１６と、スナップショットインデックス４１２のデータを指し示すことができる複数のスナップショットポインタ４１８とを含むこともできる。スナップショットサブシステム４１４は、分岐したデータを、スナップショットインデックス４１２の複数のスナップショット部分に分散させ、この分散させたデータ部分を複数のスナップショットに書き込む。
【００２９】
いくつかの実施の形態または状態では、スナップショットサブシステム４１４は、ほぼ等しい割合で複数のスナップショットにわたってデータを分散させる。また、スナップショットサブシステム４１４は、親ＬＵＮの削除、親ＬＵＮへのデータ書き込みオペレーション、親ＬＵＮの障害等を含むものの中から選択された親ＬＵＮデータ分岐状態を検出するように構成することもできる。
【００３０】
また、スナップショットサブシステム４１４は、時間の経過と共にスナップショットの個数を変更し、複数のスナップショット間におけるほぼ均一なデータの分散を各変更時に開始して行うように構成することもできる。
【００３１】
スナップショットサブシステム４１４によって、ストレージコンテナデータのポイントインタイムコピーを高速かつ効率的に作成する機能が可能になる。スナップショットは、元のデータを危険にさらすことなく、他のスナップショットから分離できて、かつ、バックアップ、アーカイブ、データ保護、テスト、および他の操作に使用できるコンテナのデータのマップをフリーズする。スナップショットが取り込まれた後、スナップショットコピーが、選択されたポイントインタイムを維持すると同時に、元のデータは、引き続き更新および使用することができる。
【００３２】
特定のポイントインタイムの複製が望まれる場合、スナップショットサブシステム４１４は、選択した時点でデータスナップショットの取得を指示する。通常、スナップショットサブシステム４１４は、複数のスナップショットを取得することができ、取得を繰り返し行うことができる。スナップショット機能によって、データのミラーおよびクローンに関連したオーバーヘッドの一部が回避される。
【００３３】
図５を参照して、概略ブロック図が、ストレージシステム５０２で使用されるコンピュータシステム５００の一実施の形態を示している。コンピュータシステム５００は、ベースボリューム５０６および少なくとも１つの物理ブロック５０８を含む物理ストア５０４と、スナップショットボリューム５１２およびスナップショットインデックス５１４を含む論理ストア５１０とを有する。このコンピュータシステムは、さらに、プロセッサ５１６で実行可能なスナップショットサブシステムを含む。このスナップショットサブシステムは、親ＬＵＮ５１８のデータがスナップショットから分岐すると、親ＬＵＮ５１８の複数のスナップショットにわたってデータを分散させる。
【００３４】
プロセッサ５１６は、ベースボリューム５０６を定義するマッピングロジックを実施でき、物理ブロック５０８をベースボリューム５０６に割り当て、スナップショットボリューム５１２から、選択された物理ブロック５０８およびスナップショットインデックス５１４へのポインタを作成する。
【００３５】
スナップショット管理機能を実行するプロセッサ５１６は、ネットワークの任意の適切なデバイスに配置することができる。図示するように、プロセッサ５１６は、ストレージコントローラ内に収容することができる。他の実施の形態では、スナップショット機能を実行できるプロセッサは、ホスト、ストレージ配列ネットワーク（ＳＡＮ）内の適切な制御デバイス、ネットワークに取り付けられたネットワーク機器、配列ファームウェア、またはポイントインタイムコピーを行うことができる他の任意のレベルの実行に存在することができる。
【００３６】
複数のスナップショットへのデータ分散プロセスは、書き込み前コピーオペレーション、書き込み時コピーオペレーション等を含めて、プログラム可能オペレーション等のさまざまなオペレーションで実施することができる。
【００３７】
プロセッサ５１６は、さらに、１つまたは２つ以上のマップポインタをスナップショットボリューム５１２に生成するマッピングロジックを実行することができる。このマップポインタは、物理ストア５０４のデータと、スナップショットインデックス５１４のデータを指し示すことができる１つまたは２つ以上のスナップショットポインタとを指し示す。プロセッサ５１６は、さらに、スナップショットロジックを実行する。このスナップショットロジックは、分岐したデータを、スナップショットインデックス５１４の複数のスナップショット部分に分散させ、分散させたデータ部分を複数のスナップショットに書き込む。データを、等しい割合またはおよそ等しい割合で複数のスナップショットにわたって最も効率的に分散させることができる。
【００３８】
プロセッサ５１６は、親ＬＵＮの削除、親ＬＵＮへのデータ書き込みオペレーション、親ＬＵＮの障害等を含む１つまたは２つ以上の親ＬＵＮのデータ分岐状態を検出することができる。
【００３９】
プロセッサ５１６は、スナップショットハンドラを実行することができる。このスナップショットハンドラは、時間の経過と共にスナップショットの個数を変更し、複数のスナップショット間におけるほぼ均一なデータの分散を各変更時に開始して行う。通常、システムは、特定の最大数のスナップショットを割り当て、タイミングインターバル、起動信号、監視状態等の選択された事象の発生時にスナップショットの作成を開始する。スナップショットの個数は、通常、選択された個数に制限される。ただし、いくつかの実施態様は、仮想的に無制限のスナップショットをサポートすることができる。
【００４０】
物理ストア５０４は、スナップショット機能に適した任意のストレージデバイスを含むことができ、磁気ディスク、光ディスク、コンパクトディスク（ＣＤ）、ＣＤ−Ｒ、ＣＤ−ＲＷ、ディスケット、テープ、テープカートリッジ等のさまざまな媒体を含むことができる。
【００４１】
システムが遂行または実行するさまざまな機能、プロセス、方法、およびオペレーションを、さまざまなタイプのロジック、プロセッサ、コントローラ、中央処理装置、マイクロプロセッサ、デジタル信号プロセッサ、状態マシン、プログラマブルロジックアレイ等で実行可能なプログラムとして実施することができる。プログラムは、任意のコンピュータ関連システムまたは方法によって、または、これらと共に使用される任意のコンピュータ可読媒体に記憶することができる。コンピュータ可読媒体は、電子デバイス、磁気デバイス、光デバイス、または、他の物理デバイスもしくは物理手段である。他の物理デバイスまたは物理手段は、コンピュータ関連システム、方法、プロセス、もしくはプロシージャによって、または、これらと共に使用されるコンピュータプログラムを収容または記憶できるものである。プログラムは、命令実行システム、デバイス、コンポーネント、エレメント、もしくは装置によって、または、これらと共に使用されるコンピュータ可読媒体に実施することができる。これら命令実行システム等は、コンピュータまたはプロセッサに基づくシステムや、任意の適切なタイプの命令メモリまたはストレージから命令をフェッチできる他のシステム等である。コンピュータ可読媒体は、任意の構造、デバイス、コンポーネント、製品、または、命令実行システム、装置、もしくはデバイスによって、もしくは、これらと共に使用されるプログラムを記憶、通信、伝搬、もしくは転送できる他の手段とすることができる。
【００４２】
例示のブロック図およびデータ構造図は、プロセスの特定の論理機能またはステップを実施する１つまたは２つ以上の実行可能命令を含むモジュール、セグメント、またはコード部分を表すことができるプロセスステップまたはブロックを示している。特定の例は、特定のプロセスステップまたは動作を示しているが、多くの代替的な実施態様が可能であり、一般に、簡単な設計選択によって行うことができる。動作およびステップは、機能、目的、標準規格への適合、レガシー、構造等の考慮に基づいて、本明細書の特定の説明とは異なる順序で実行することができる。
【００４３】
本開示はさまざまな実施の形態を説明しているが、これらの実施の形態は、例示として理解されるべきであり、特許請求の範囲を限定するものではない。説明した実施の形態の多くの変形、変更、追加、および改良が可能である。例えば、当業者は、本明細書に開示した構造および方法を提供するのに必要なステップを容易に実施し、プロセスパラメータ、材料、および寸法が単なる例として与えられているにすぎないことを理解するであろう。これらパラメータ、材料、および寸法を変更して、所望の構造および変更を得ることができる。これら所望の構造および変更も特許請求の範囲内に含まれる。本明細書に開示した実施の形態の変形および変更も、添付した特許請求の範囲内に含まれることを維持しつつ行うことができる。例えば、例示のスナップショット技法は、あらゆる適切な媒体を含めて、このような技法に適したあらゆるタイプのストレージシステムで実施することができる。同様に、例示の技法は、あらゆる適切なストレージシステムアーキテクチャで実施することができる。
【図面の簡単な説明】
【００４４】
【図１Ａ】配列のマップの粒度が、スナップショットコピーと元のデータとの間の分岐が配列内に記録される粒度と同じであるスナップショット機能を実施するストレージシステムに使用されるデータ構造を示す概略ブロック図である。
【図１Ｂ】配列のマップの粒度が、スナップショットコピーと元のデータとの間の分岐が配列内に記録される粒度と同じであるスナップショット機能を実施するストレージシステムに使用されるデータ構造を示す概略ブロック図である。
【図２Ａ】配列のマップの粒度が、スナップショットコピーと元のデータとの間の分岐が配列内に記録される粒度と同じでないスナップショット機能を実施するストレージシステムに使用されるデータ構造を示す概略ブロック図である。
【図２Ｂ】配列のマップの粒度が、スナップショットコピーと元のデータとの間の分岐が配列内に記録される粒度と同じでないスナップショット機能を実施するストレージシステムに使用されるデータ構造を示す概略ブロック図である。
【図３Ａ】データが複数のスナップショットにわたって分散されるスナップショット機能を実施するストレージシステムの一実施の形態で使用されるデータ構造を示す概略ブロック図である。
【図３Ｂ】データが複数のスナップショットにわたって分散されるスナップショット機能を実施するストレージシステムの一実施の形態で使用されるデータ構造を示す概略ブロック図である。
【図４Ａ】複数のスナップショットにわたってデータを分散させることによってスナップショット機能を管理するストレージシステムの一実施の形態を示す実体ブロック図である。
【図４Ｂ】複数のスナップショットにわたってデータを分散させることによってスナップショット機能を管理するストレージシステムの一実施の形態を示す実体ブロック図である。
【図４Ｃ】複数のスナップショットにわたってデータを分散させることによってスナップショット機能を管理するストレージシステムの一実施の形態を示す実体ブロック図である。
【図５】複数のスナップショットにわたってデータを分散させることによってスナップショット機能を管理するストレージシステムで使用されるコンピュータシステムの一実施の形態を示す概略ブロック図である。
【符号の説明】
【００４５】
１０２、１０６  マップエントリ
１０４、１０８、１２２  記憶データ
１１０、１１２  スナップショットエントリ
２０２、２０６  マップエントリ
２０４、２０８  記憶データ
２１０、２１２  スナップショットエントリ
２２２  変更記憶データ
２２４  元の記憶データ
３０２  記憶データ
３０４Ａ〜３０４Ｄ  スナップショット
３０６  親論理ユニット（ＬＵＮ）
４００  ストレージシステム
４０２  物理ストア
４０４  ベースボリューム
４０６Ａ〜４０６Ｃ  物理ブロック
４０８  論理ストア
４１０  スナップショットボリューム
４１２  スナップショットインデックス
４１４  ＳＳシステム（スナップショットサブシステム）
４１６  マップポインタ
４１８  スナップショットポインタ
５００  コンピュータシステム
５０２  ストレージシステム
５０４  物理ストア
５０６  ベースボリューム
５０８  物理ブロック
５１０  論理ストア
５１２  スナップショットボリューム
５１４  スナップショットインデックス
５１６  プロセッサ
５１８  親ＬＵＮ
【図１Ａ】
2005310159.tif 000003
【図１Ｂ】
2005310159.tif 000004
【図２Ａ】
2005310159.tif 000005
【図２Ｂ】
2005310159.tif 000006
【図３Ａ】
2005310159.tif 000007
【図３Ｂ】
2005310159.tif 000008
【図４Ａ】
2005310159.tif 000009
【図４Ｂ】
2005310159.tif 000010
【図４Ｃ】
2005310159.tif 000011
【図５】
2005310159.tif 000012