(57)【要約】      （修正有）【課題】バックアップデータのための保持期間に関して特定の必要条件に従ってジャーナル領域の適切なサイズをユーザが判定できる方法および装置を提供する。【解決手段】データのバックアップおよび復元のためにジャーナル処理を実施する記憶システムで、時間の期間全体にわたって作り出されたジャーナルデータの複数の量の間の関係の情報をユーザに提供。空きスペースからの記憶容量の動的な割り当てもやはり必要ベースでジャーナルボリュームに適用されることが可能であり、或るジャーナル入力がもはや必要ないと判定されるときにジャーナルボリュームのサイズを最小にする。【選択図】図１
2008198184.tif 000002
【特許請求の範囲】
【請求項１】
記憶のための第１の書き込みデータを記憶システム内の第１のボリュームに受け取るステップと、
前記第１の書き込みデータに関する第１のメタデータであって第１の時間と第１の順序情報を含むメタデータを作り出すステップと、
前記第１のメタデータ、および第１の記憶サイズを有する第１のジャーナルデータとなる前記第１の書き込みデータのコピーをジャーナルボリューム内のジャーナル入力として保存するステップと、
所定の期間全体にわたる各々のジャーナル入力について前記第１の記憶サイズを累積するステップであって、それにより、前記ジャーナルボリュームが更新されるときに複数の所定の期間のうちの各々の所定の期間に関するジャーナルデータの合計量が判定されて保存されるステップと、
前記記憶システムと通信するコンピュータで複数の前記所定の期間についてジャーナルデータの前記合計量を受信するステップと、
指定された時間の期間全体にわたるジャーナルデータの前記合計量と前記複数の期間との間の関係を前記コンピュータのユーザに提示するステップと
を含む、前記記憶システムを操作する方法。
【請求項２】
前記ジャーナル入力の前記第１の時間を、前記ジャーナルボリューム内のジャーナル入力を管理するために割り当てられた前記所定の期間の開始時間と比較するステップと、
前記第１のジャーナルデータの前記第１の記憶サイズを、前記第１の時間が現在の期間に続く次期期間の開始時間よりも前であるときに前記現在の期間に関するジャーナルデータの前記合計量に追加するステップと、
前記次期期間を新たな現在期間として設定し、前記第１のジャーナルデータの前記第１の記憶サイズを、前記第１の時間が前記次期期間の前記開始時間よりも後であるときに前記次期期間に関するジャーナルデータの新たな現在合計量として設定するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ジャーナルボリュームの新たなサイズを判定するために、前記提示された関係を参照するステップと、
前記判定された新たなサイズに基づいて前記ジャーナルボリュームの前記サイズを変えるように前記記憶システムに命令するステップと、
をさらに含む、請求項１に記載の方法。
【請求項４】
前記ジャーナルボリュームの前記サイズの変更を実行する前に、前記ジャーナルボリュームに残っている最古のジャーナル入力が前記第１のボリュームの最新のスナップショットよりも古いかどうかを判定するステップと、
前記ジャーナルボリュームに残っている前記最古のジャーナル入力が前記最新のスナップショットよりも古くないと判定が為されると前記ジャーナルボリュームの前記サイズを変更する命令を拒絶するステップと、
をさらに含む、請求項３に記載の方法。
【請求項５】
前記ジャーナルボリュームの前記サイズの変更を実行する前に、前記ジャーナルボリュームに残っている最古のジャーナル入力が前記第１のボリュームの最新のスナップショットよりも古いかどうかを判定するステップと、
前記ジャーナルボリュームに残っている前記最古のジャーナル入力が前記最新のスナップショットよりも古いと判定が為されると前記ジャーナルボリュームの前記サイズを変更する命令を実行するステップと、
をさらに含む、請求項３に記載の方法。
【請求項６】
前記最新のスナップショットよりも古いジャーナル入力に関してジャーナル情報を消去することによって前記ジャーナルボリュームの前記サイズを変更するステップと、
前記ジャーナルボリュームの超過分の容量を前記記憶システムによって他の用途に解放するステップと、
をさらに含む、請求項５に記載の方法。
【請求項７】
前記所定の期間にある情報を、各々の所定の期間の開始時間、各々の所定の期間内の最古の順序情報、および各々の所定の期間について作り出されたジャーナルデータの前記合計量を含む表に保持するステップをさらに含む、請求項１に記載の方法。
【請求項８】
複数のディスクドライブと通信するアレイ制御器を含む記憶システムであって、前記アレイ制御器が複数のボリュームを与えるために構成され、それによって前記ボリュームに保存されるデータが前記ディスクドライブ上の物理的場所に保存され、前記複数のボリュームが第１の書き込みデータを含めた書き込みデータを保存するための第１のボリュームおよびジャーナルボリュームを含む記憶システムと、
ネットワークを介して前記記憶システムと通信し、前記第１の書き込みデータを前記第１のボリュームに書き込むように構成された１つまたは複数のホストコンピュータと
を含む情報システムであって、
前記記憶システムが前記第１の書き込みデータを受け取ると、前記記憶システムが前記第１の書き込みデータに関して第１のメタデータを作成し、前記第１のメタデータが第１の時間と第１の順序情報を含み、
前記記憶システムが前記第１のメタデータ、および第１の記憶サイズを有する第１のジャーナルデータとなる前記第１の書き込みデータのコピーを前記ジャーナルボリューム内のジャーナル入力として保存し、
前記記憶システムが前記ジャーナル入力の前記第１の時間を、ジャーナル入力を管理するために前記ジャーナルボリュームに割り当てられた所定の期間の開始時間と比較し、
前記記憶システムが前記第１のジャーナルデータの前記第１の記憶サイズを、前記第１の時間が現在の期間に続く次期期間の開始時間よりも前であるときに前記現在の期間に関するジャーナルデータの合計量に追加し、
前記記憶システムが前記次期期間を新たな現在期間として設定し、前記第１のジャーナルデータの前記第１の記憶サイズを、前記第１の時間が前記次期期間の前記開始時間よりも後であるときに前記次期期間に関するジャーナルデータの新たな現在合計量として設定し、
前記ジャーナルボリュームが更新されるときに各々の所定の期間に関するジャーナルデータの前記合計量が判定されて保存される情報システム。
【請求項９】
前記記憶システムと通信する管理コンピュータをさらに含み、
前記管理コンピュータが複数の前記所定の期間に関するジャーナルデータの合計量を受信し、
前記管理コンピュータのユーザが指定された時間の期間全体にわたるジャーナルデータの前記合計量と前記複数の所定期間との間の関係を提示される、
請求項８に記載のシステム。
【請求項１０】
前記提示された関係が前記ジャーナルボリュームの新たなサイズを決定するために参照される過程と、
前記決定された新たなサイズに基づいて前記ジャーナルボリュームの前記サイズを変更するように前記記憶システムが命令される過程と
をさらに含む、請求項９に記載のシステム。
【請求項１１】
前記記憶システムが前記ジャーナルボリュームの前記サイズの変更を実行する前に、前記ジャーナルボリュームに残っている最古のジャーナル入力が前記第１のボリュームの最新のスナップショットよりも古いかどうかを判定する過程と、
前記ジャーナルボリュームに残っている前記最古のジャーナル入力が前記最新のスナップショットよりも古くないと判定が為されると、前記記憶システムが前記ジャーナルボリュームの前記サイズを変更する命令を拒絶する過程と
をさらに含む、請求項１０に記載のシステム。
【請求項１２】
前記記憶システムが前記ジャーナルボリュームの前記サイズの変更を実行する前に、前記ジャーナルボリュームに残っている最古のジャーナル入力が前記第１のボリュームの最新のスナップショットよりも古いかどうかを判定する過程と、
前記ジャーナルボリュームに残っている前記最古のジャーナル入力が前記最新のスナップショットよりも古いと判定が為されると、前記記憶システムが前記ジャーナルボリュームの前記サイズを変更する命令を実行する過程と
をさらに含む、請求項１０に記載のシステム。
【請求項１３】
前記記憶システムが、前記最新のスナップショットよりも古いジャーナル入力に関してジャーナル情報を消去することによって前記ジャーナルボリュームの前記サイズを変更する過程と、
前記記憶システムが前記ジャーナルボリュームの超過分の容量を前記記憶システムによる他の用途に解放する過程と
をさらに含む、請求項１２に記載のシステム。
【請求項１４】
前記記憶システムが前記所定の期間にある情報を、各々の所定の期間の開始時間、各々の所定の期間内の最古の順序情報、および各々の所定の期間について作り出されたジャーナルデータの前記合計量を含む表に保持する過程をさらに含む、請求項８に記載のシステム。
【請求項１５】
記憶のための書き込みデータを記憶システム内の第１のボリュームに受け取る工程と、
前記書き込みデータに関するメタデータであって第１の時間と順序情報を含むメタデータを作り出す工程と、
前記メタデータ、およびジャーナルデータとなる前記書き込みデータのコピーをジャーナルボリュームに保存する工程であって、前記ジャーナルボリュームが複数の論理区分で構成され、前記記憶システムが、現在のチャンクに残っている容量をチェックすることによって物理的記憶領域のチャンクを各々の区分に個々に必要ベースで割り当てることで前記現在のチャンク内の前記容量が前記ジャーナルデータまたは前記メタデータを受け取るのに十分かどうかを判定するように構成され、かつ前記現在のチャンクが十分な容量を有さないと判定されると物理的記憶領域の新たなチャンクを前記ジャーナルボリューム内の次期区分に割り当てる工程と、
最古のジャーナルデータを含む既にあるチャンク内のすべてのジャーナルデータが消去されてもよいかどうかを判定する工程と、
前記既にあるチャンクに含まれるすべての前記ジャーナルデータが消去されてもよいときに前記ジャーナルボリュームから前記既にあるチャンクを解放する工程と
を含む、前記記憶システムを操作する方法。
【請求項１６】
最古のジャーナルデータを含む既にあるチャンク内のすべてのジャーナルデータが消去されてもよいかどうかを判定する工程が、前記既にあるチャンク内の最新のジャーナルデータの時間が所定の時間の期間よりも前であるかどうかを判定することによって実行される工程と、
前記既にあるチャンク内の前記最新のジャーナルデータの前記時間が前記所定の時間の期間よりも前であるときに前記既にあるチャンクに含まれるすべての前記ジャーナルデータが消去されてもよいと決定する工程と
をさらに含む、請求項１５に記載の方法。
【請求項１７】
最古のジャーナルデータを含む既にあるチャンク内のすべてのジャーナルデータが消去されてもよいかどうかを判定する工程が、前記ジャーナルボリュームの前記サイズが所定のサイズを超えたかどうかを判定することによって実行される工程と、
前記ジャーナルボリュームの前記サイズが前記所定のサイズを超えたときに前記既にあるチャンクに含まれるすべての前記ジャーナルデータが消去されてもよいと決定する工程と
をさらに含む、請求項１５に記載の方法。
【請求項１８】
メタデータチャンク内に含まれるすべてのメタデータが前記既にあるチャンクの解放によって無効にされたかどうかを判定する工程と、
前記メタデータチャンク内に含まれるすべてのメタデータが前記既にあるチャンクの解放によって無効にされたときに前記メタデータチャンクを解放する工程と
をさらに含む、請求項１５に記載の方法。
【請求項１９】
現在のチャンク内に残っている容量をチェックすることで前記現在のチャンク内の前記容量が前記ジャーナルデータを受け取るのに十分であるかどうかを判定する工程と、
前記現在のチャンクが十分な容量を有さないと判定されると物理的記憶領域の新たなチャンクを前記ジャーナルボリューム内の次期区分に割り当てる工程と、
前記ジャーナルデータの第１の部分を前記現在のチャンクに保存し、前記ジャーナルデータの第２の部分を前記新たなチャンクに保存する工程と
をさらに含む、請求項１５に記載の方法。
【請求項２０】
前記ジャーナルボリュームから前記現在のチャンクを解放する前に、前記現在のチャンク内、および前記現在のチャンク内に保存された最新のジャーナルデータの一部を含むいずれのチャンク内のジャーナルデータも無効にするためにジャーナル情報を更新する工程をさらに含む、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0002]  本発明は概して、記憶システムおよびデータのバックアップと回復に関する。
【背景技術】
【０００２】
[0004]  記憶システム内のデータのバックアップと回復を達成するための従来式の方法は記憶システムから磁気テープなどのバックアップ媒体へとデータを定期的に（例えば１日１回）バックアップすることである。バックアップデータの作成において、一貫性を備えたデータを得るために記憶領域のスナップショット（ボリュームのポイントインタイムのコピー）がしばしば使用される。すなわち、バックアップされるべきデータがスナップショットボリューム（または一次ボリュームから分割されたミラーイメージボリューム）から読み取られ、バックアップ媒体へとコピーされる。記憶領域のスナップショットを論理的または物理的に供給するいくつかの方法が記憶システムに関して当該技術でよく知られている。データが復元される必要があるとき、バックアップ媒体に保管されたデータがバックアップ媒体から読み取られ、バックアップされたデータへのアクセスを可能にするために同じ記憶システムまたは異なる記憶システム内の新たな記憶領域（例えば新たなボリューム）に書き込まれてもよい。
【０００３】
[0005]  しかしながら、上記の方法ではスナップショットがとられた特定のポイントインタイムにおけるデータのイメージを復元することのみが可能である。したがって、定期的にのみとられたバックアップデータからのデータ復元は、保管されたバックアップデータと最新データなどの実際に復元が望まれるデータとの間に違いがあるので、オリジナルデータに対しいくらかの量の更新の損失という結果につながることもあり得る。さらに、例えば最新のバックアップデータが不正確または破損した実際のデータを有する場合、さらに古いバックアップデータを使用する必要があり、これはデータの正確性におけるさらに大きな不一致にさえ結び付く。
【０００４】
[0006]  最近、データの更新が起こるとデータの更新をジャーナルの中にジャーナル処理し、その後、必要なときに、ときには「連続的データ保護」（ＣＤＰ）と称される技術のジャーナルを使用してデータを復元する能力を備えたいくつかの記憶システムが構成されてきた。この能力を有する記憶システムでは、記憶領域に関するすべての更新がジャーナルとして記録され、時間内の任意の点におけるデータがジャーナルを使用して復元されることが可能である。このジャーナル処理および復元処理の技術では、ポイントインタイムのスナップショットもやはり使用されることが可能である。すなわち、ジャーナルに加えて記憶領域のスナップショットが所定の間隔で保持されることが可能であり、時間内の望ましい任意の点におけるデータの復元が、復元が望まれる時間内の特定の任意の点までジャーナルのデータをスナップショットのうちの１つに適用することによって達成される。この技術は２００３年１月２６日に提出されたＫ．Ｙａｍａｇａｍｉの米国特許出願公開第２００４／０２６８０６７号明細書に詳しく開示されており、この開示は本願明細書に参照で組入れられる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
[0007]  上記で検討されたジャーナル処理能力を備えたシステムでは、ジャーナルを保存するために大量の記憶領域（記憶容量）が要求される可能性がある。ジャーナルの保存に専用の過剰な記憶容量を維持することはシステムの所有の総合コストを増大させると見込まれる。このようにして、最新のＣＤＰ技術に伴なう基本的な問題は、ジャーナルデータの保存に専用の大きい記憶領域を維持することがそのような記憶システムの所有の総合コストを増大させることである。したがって、ジャーナルの保存に専用の記憶領域の量を自動的に調節し、かつ最小限にするように試みるための方法および装置に関するニーズがある。２００４年２月２３日に出願され、その開示が本願明細書に参照で組入れられるＫａｎｏらの米国特許出願公開第２００４／０１６２９５８号明細書は記憶デバイスのための自動化されたオンライン式容量拡張を開示している。しかしながら、この先行技術は上記で検討された課題に対処、または解決策を提供していない。
【課題を解決するための手段】
【０００６】
[0008]  本発明はバックアップデータのための保持期間に関して特定の必要条件に従ってジャーナル領域の適切なサイズをユーザが判定することを可能にする。本発明はまた、ジャーナル領域を管理するための単純化された制御手段をユーザに提供し、ジャーナル領域を管理するコストを下げる。本発明はジャーナルの量（サイズ）とジャーナルの期間との間の関係をユーザが判定するための方法および手段を含む。これらの手段でもって、ユーザはジャーナル領域の適切なサイズを、バックアップデータの保存期間に関するそれらの特定の必要条件に合致するように判定することが可能である。本発明はまた、空き容量から必要に応じた原則でジャーナル記憶領域の動的割り当てを達成するために、シンプロビジョニング能力を有する単純化され、柔軟性があり、かつ自動的なジャーナル領域の調節を実現するための方法も開示する。本発明のこれら、およびその他の特徴と利点は以下の好ましい実施形態の詳細な説明を考慮すると当業者に明らかになるであろう。
【０００７】
[0009]  上記に与えられた概略の説明と併せて、添付の図面および下記で与えられる好ましい実施形態の詳細な説明は、現在意図される本発明の最良の様式の好ましい実施形態の原理を具体的に示し、かつ説明するのに役立つ。
【発明を実施するための最良の形態】
【０００８】
[0035]  以下の本発明の詳細な説明では本開示の一部を形成する添付の図面に参照が為され、ここでは具体的例示であって限定ではない方式で、本発明が実践されることが可能な特定の実施形態が示される。図中で、類似した数字はいくつかの図面全体を通じて実質的に同様の部品を記述する。さらに、図面、前述の検討、および以下の説明は単に実例と説明に過ぎず、どのような方法でも本発明または本出願の範囲を限定するように意図されていない。
【０００９】
[0036]  第１の実施形態では、本システムはホストコンピュータ、管理端末、および上述のようなジャーナル処理能力を有する記憶システムを含む。この記憶システムはジャーナルの量（サイズ）およびジャーナルの時間（期間）についての情報を保持する。管理端末からの問合わせに応答して、記憶システムはジャーナルのサイズと期間についての情報を提供する。このようにして、管理端末は、作成されて記憶システム内に保存されているジャーナルのサイズと期間との間の関係をモニタすることが可能である。管理端末はまた、この関係をユーザに提示する。この情報を使用することによって、ユーザはジャーナル領域の適切なサイズを判定することが可能であり、ジャーナル領域の適切なサイズへの調節のための命令を与えることが可能である。
【００１０】
[0037]  第２の実施形態および第３の実施形態では、記憶システム内の記憶領域は多数の一定サイズの領域（すなわち記憶チャンク）へと分割され、記憶システムはチャンクの動的割り当て（すなわちシンプロビジョニング）を実行する。記憶システムはオンデマンドでジャーナル領域にチャンクを割り当て、ジャーナルの保存期間に関するユーザの方針に基づいてジャーナル領域からチャンクを解放する。
【００１１】
[0038]  第１の実施形態：システム構成
[0039]  図１は本発明の第１の実施形態が実践され得る情報システムの一例のシステムとハードウェアの構成を記述している。記憶システム１００はネットワーク９０１を介して１つまたは複数のホストコンピュータ５００からデータアクセス命令を受け取るためのアレイ制御器１１０を有する。ネットワーク９０１はファイバチャネルネットワークなどのストレージエリアネットワーク（ＳＡＮ）、ｉＳＣＳＩ（ＩＰ）、またはホスト５００と記憶システム１００との間の通信を可能にする他のネットワークタイプもしくは通信リンクであってもよい。
【００１２】
[0040]  アレイ制御器１１０は主プロセッサ１１１、スイッチ１１２、１つまたは複数のホストインターフェース（Ｉ／Ｆ）制御器１１３、システムメモリ２００、キャッシュメモリ３００、および１つまたは複数のディスク制御器４００を有してもよい。ディスク制御器４００はバックエンド経路６０１を介してアレイ制御器１１０を１つまたは複数のハードディスクドライブ（ＨＤＤ）６００に連結する。バックエンド経路６０１はファイバチャネル、ＳＡＴＡ、ＳＡＳ、ｉＳＣＳＩ（ＩＰ）、または他の適切な接続タイプであってもよい。
【００１３】
[0041]  主プロセッサ１１１はＨＤＤ６００にデータを保存することおよびそこからデータを取り出すことを容易にするためにアレイ制御器１００内で様々な処理を実行する。付け加えると、本発明の動作を可能にするためにメモリ２００は整合グループ情報２０１、ボリューム情報２０２、ジャーナル情報２０３、および期間−量の情報２０４を保存するが、これらの各々は下記で詳しく述べられる。
【００１４】
[0042]  管理端末５２０はＳＡＮ９０１を介したアレイ制御器１００のホストインターフェース１１３との通信のために接続されることが可能である。ホスト５００と管理端末５２０はローカルエリアネットワーク（ＬＡＮ）９０３を介した通信のために互いに接続されることもやはり可能である。さらに、管理端末５２０はモニタリング機能などを可能にするためにＳＡＮ９０１とは別の帯域外ネットワーク９０２（例えばＩＰ）を介したアレイ制御器１１０との通信のために接続されることもやはり可能である。
【００１５】
[0043]  ホスト５００から受け取られたデータの保存のために１つまたは複数の論理ボリューム６０２（論理ユニット）が記憶システム１００によって供給される。ボリューム６０２はＨＤＤ６００内の１つまたは複数の物理的記憶領域の連続を使用して供給される。好ましくは、ボリューム６０２は保存されたデータに関してパリティ符号を保存することによって（すなわちＲＡＩＤ構成などによって）保護され、ボリューム６０２に保存されたデータについてデータ保護を提供するために多数のＨＤＤ６００全体にわたって配分された物理的記憶領域を有してもよい。下記で検討されるボリュームは各々、本願明細書に述べられて図１に例示されたタイプのボリューム６０２であってもよい。さらに、図１は本発明を実践するための一例のシステム配列を例示しているが、開示される本発明を考慮すると他のシステムとハードウェアの配列は当業者に明らかになるであろう。
【００１６】
[0044]  ジャーナル処理の基本的処理
[0045]  図２は図１で述べられた構成で実行されるジャーナル処理とスナップショット作成の基本的な処理を記述している。図２では、ホスト５００はアプリケーションソフトウェア（ＡＰＰ）などのソフトウェア５０１、データベース管理システム（ＤＢＭＳ）、およびプロダクションボリューム６２０に保存されるデータを作り出すオペレーティングシステム（ＯＳ）を含む。ソフトウェア５０１は記憶システム１００によって供給されるプロダクションボリューム６２０に書き込み命令などを通じてデータを保存する。記憶システム１００はまた、プロダクションボリューム６２０と対を構成する（すなわち複製の）ベースボリューム６４０を含む。データ保護がプロダクションボリューム６２０に関して開始されるとき、対応する対のプロダクションボリューム６２０に含まれるデータの複製であるベースボリューム６４０が作り出される。ベースボリュームは下記で述べられる方式で、プロダクションボリューム６２０に為されるのと同じデータの更新を受ける。
【００１７】
[0046]  １つまたは複数のプロダクションボリューム６２０が整合グループ６１０を構成する。各々の整合グループ６１０は１つまたは複数の割り当てジャーナルボリューム６３０を有し、ここにジャーナルの入力が記録される。記憶システム１００内のジャーナル生成機能（Ｇｅｎｅｒａｔｅ  Ｊｏｕｒｎａｌ（ＪＮＬ）  Ｆｕｎｃｔｉｏｎ）８１０はプロダクションボリューム６２０に書き込まれる書き込みデータ（更新データ）を入手する。ジャーナル生成機能８１０は受け取った更新データをジャーナルデータとして複製し、書き込み順（すなわち年代順）で各々のジャーナルに連番（増加番号）を割り当てる。この連番は各々の整合グループ６１０に関して作り出され、言い換えると整合グループ６１０内のジャーナルデータはこの整合グループ６１０のための独自の連番を有する。次いで、ジャーナル生成機能８１０はこの整合グループ６１０のために割り当てられるジャーナルボリューム６３０へのジャーナル入力としてこのジャーナルデータと連番を記録する。この連番は下記で述べられるメタデータ６３４に記録される。
【００１８】
[0047]  図３は本発明による各々の整合グループ６１０に関して保持される整合グループ情報２０１の一例を具体的に示す。整合グループ情報２０１は整合グループＩＤ２０１１、ジャーナルボリュームＩＤ２０１２、プロダクションボリュームＩＤ２０１３、連番２０１４、および状態２０１５に関する入力を含む。したがって、整合グループ情報２０１は各々の整合グループについての情報を含み、プロダクションボリューム６２０とジャーナルボリューム６３０との関係を保持する。整合グループ情報２０１はまた、各々の整合グループ６１０の最新の連番も記録する。
【００１９】
[0048]  図４は各々のプロダクションボリューム６２０に関して保持されるボリューム情報２０２の一例を具体的に示す。ボリューム情報２０２はプロダクションボリュームＩＤ２０２１、整合グループＩＤ２０２２、ボリュームのＩＤと状態を含めたベースボリューム情報２０２３、およびスナップショットのＩＤ、ボリュームのＩＤ、スナップショットのポイントインタイム、およびスナップショットに関する連番を含めたスナップショット情報２０２４に関する入力を含む。したがって、ボリューム情報２０２はプロダクションボリューム６２０、ベースボリューム６４０、およびスナップショットボリューム６５０の間の関係についての情報を含む。
【００２０】
[0049]  図５はジャーナルボリューム６３０内にジャーナル入力を保存する方法を具体的に示す。ジャーナルボリューム６３０は２つの領域すなわちメタデータ領域６３１とジャーナルデータ領域６３２に分割される。ジャーナル生成機能８１０が更新データをジャーナルデータ６３５としてジャーナルデータ領域６３２内に保存するための場所を決定する。次いで、ジャーナル生成機能８１０は各々のジャーナル入力６３５について一定の長さを備えた情報（メタデータ６３４）を作り出し、ジャーナルデータ６３５の場所をメタデータ６３４に記録し、このメタデータ入力６３４をメタデータ領域６３１に保存する。次いで、ジャーナル生成機能８１０はまた、更新データをジャーナルデータ領域６３２内の場所にジャーナルデータ６３５として保存する。通常、ジャーナル入力はデータ更新がホストコンピュータ５００から受信されるときに順序に従ってジャーナルボリューム６３０の中に保存される。
【００２１】
[0050]  図６はジャーナルボリューム６３０内のメタデータ入力６３４の内容の一例を具体的に示す。例えば、メタデータ６３４は整合グループの領域６３４１、連番の領域６３４２、時間の領域６３４３、ジャーナルボリューム領域のためのシステムＩＤ６３４４、メタデータ領域のボリュームＩＤ６３４５、メタデータ領域の場所６３４６、ジャーナルデータ領域のボリュームＩＤ６３４７、ジャーナルデータ領域の場所６３４８、プロダクションボリューム領域のためのシステムＩＤ６３４９、プロダクションボリュームＩＤ領域６３５０、プロダクションボリューム領域内の場所６３５１、ベースボリューム領域のためのシステムＩＤ６３５２、ベースボリュームＩＤ領域６３５３、ベースボリューム領域内の場所６３５４、データ長の領域６３５５、およびタイプの領域６３５６を含んでもよい。したがってメタデータ６３４から、ジャーナル入力の連番と時間を含めたジャーナル入力６３５についての情報、および同様にデータ長、ジャーナルボリューム６３０内のジャーナル入力の場所およびプロダクションボリューム６２０内の対応するデータの場所についての情報が得られることが可能である。
【００２２】
[0051]  図２では、記憶システム１００内のベースボリューム更新機能８２０はメタデータを読み取り、ジャーナルボリューム６３０からジャーナルデータを入手し、連番に従ってベースボリューム６４０をジャーナルデータで更新する。付け加えると、記憶システム１００内のスナップショット作成機能８３０は所定のポイントインタイムの間隔で各々のベースボリューム６４０のスナップショット６５０を入手し、ボリューム情報２０２内のスナップショット情報２０２４を更新する。図４で述べられたように、ボリューム情報２０２はスナップショットボリューム６５０についてのスナップショット情報２０２４を有する。スナップショット作成機能８３０はボリューム情報２０２にあるスナップショット６５０に対応するジャーナル入力の時間と連番を記録する。メタデータ６３４の時間領域６３４２に入れられてボリューム情報２０２内に記録されたタイムスタンプは受信時間を使用して記憶制御器１１０によって添付されるかまたは書き込み時間を使用してホスト５００によって添付される。
【００２３】
[0052]  ジャーナルでデータを保存する工程の基本的な処理
[0053]  図７はジャーナルボリューム６３０とスナップショットボリューム６５０を使用することによってデータを保存する基本的な処理を具体的に示す。最初に、プロダクションボリューム６２０を指定することによって、およびデータが復元されるべきポイントインタイムを示すことによってホスト５００が復元データ動作を命令する。データとポイントインタイムの指示を含む命令に従って、記憶システム１００は指定されたポイントインタイムの前のデータを含むスナップショットを選択するためにジャーナル適用機能８４０を使用する。
【００２４】
[0054]  次いで、ジャーナル適用機能８４０は選択されたスナップショットボリューム６５０に対応するジャーナルボリューム６３０からジャーナル入力を当てはめる（書き込む）。このジャーナル入力は、スナップショットのポイントインタイムの直後のジャーナル入力から始まってメタデータ６３４内の指定されたポイントインタイムと連番まで順序に従ってジャーナル入力を適用することによってスナップショットボリュームを指定されたポイントインタイムに更新するためにスナップショットボリュームに当てはめられる。好ましくは、指定されたポイントインタイムに最も近い時点にとられたスナップショットはスナップショットに当てはめられねばならないジャーナル入力の数を最小限にするようにジャーナル入力を当てはめるために選択されるべきである。ジャーナル適用機能８４０はボリューム情報２０２とメタデータ６３４を参照することによって当てはめられるべきジャーナル入力を見分けることが可能である。選択されたスナップショットボリューム６５０へのジャーナル入力の適用の完了後に、ジャーナル適用機能８４０はスナップショットの状態をアクセス可能にする（すなわち読み取り／書き込みが可能にされる）ために変える。その後、図８に例示されるように、ホスト５００はデータの再生されたポイントインタイム（ＰｉＴ）イメージを最新のプロダクションボリューム６２０として使用することができる。
【００２５】
[0055]  ジャーナルを作り出す処理
[0056]  図９はジャーナルを作り出す処理を具体的に示す。この処理は下記で詳しく述べられるように工程１００１〜１００６を含む。
【００２６】
[0057]  工程１００１で、ホスト５００は書き込み要求を出し、標的のプロダクションボリューム６２０への書き込みデータの保存のために書き込みデータをアレイ制御器１１０に移す。
【００２７】
[0058]  工程１００２で、アレイ制御器１１０は書き込み要求に従って標的のプロダクションボリューム６２０内に書き込みデータを保存する。
【００２８】
[0059]  工程１００３で、アレイ制御器１１０はまた、適切なジャーナルボリューム６３０内にジャーナル入力として書き込みデータを保存する。整合グループ６１０のケースでは、書き込みデータは標的のプロダクションボリューム６２０を含む対応する整合グループ６１０に関するジャーナルボリューム６３０内のジャーナル入力として保存されるであろう。このジャーナル入力に関するメタデータもやはりこの工程で作り出されてジャーナルボリューム６３０内に保存される。
【００２９】
[0060]  工程１００３の中でもやはり、アレイ制御器１１０はメモリ２００内に保持されるジャーナル情報２０３を更新する。図１０はジャーナル情報２０３の一例を具体的に示す。ジャーナル情報２０３は整合グループＩＤのための領域２０３１、最古のジャーナルの領域２０３２、および最新のジャーナルの領域２０３３を含み、各々について連番と時間を含む。整合グループ６１０の最終の（最も新しい）ジャーナルに関連する情報は、その整合グループについて新たなジャーナル入力が作られるときに連番とタイムスタンプに従って更新される。ジャーナル情報２０３内の最古の連番と最新の連番との間のジャーナル入力は各々の整合グループ６１０に関する現在の有効なジャーナルを示す。
【００３０】
[0061]  工程１００４で、アレイ制御器１１０はジャーナルの時間を判定し、判定された時間をメモリ２００内に保持された期間−量の情報２０４に規定された期間の開始時間と比較する。図１１は各々の整合グループ６１０に関してアレイ制御器１１０によって保持される期間−量の情報２０４の一例を具体的に示す。期間−量の情報２０４は期間番号の領域２０４１、開始時間の領域２０４２、最古の連番の領域２０４３、および作り出されたジャーナルの合計サイズ（量）の領域２０４４を含む。したがって期間−量の情報２０４ではユーザによって指定された間隔に従って各々の整合グループ６１０に関して期間が規定される。期間−量の情報２０４は、ジャーナル入力の連番といった各々の期間の最初のジャーナル入力にある情報に加えて各々の期間内に作り出されるジャーナルの合計サイズを維持する。
【００３１】
[0062]  工程１００４で判定されたジャーナル入力の時間が期間−量の情報２０４内の「未記録」の期間に相当するとき、これは新たな時間期間が始まったことを意味し、これはこの次期期間に関する最初のジャーナル入力である。したがって、このジャーナル入力が期間の最初のジャーナル入力であるとき、処理は工程１００５へと進む。しかしながら、ジャーナル入力の時間が次期期間にないとき、処理は工程１００６へとスキップする。
【００３２】
[0063]  工程１００５で、アレイ制御器１１０は期間−量の情報２０４内の相当する期間に関するジャーナル入力についての情報を記録する。言い換えると、例示された実施形態においてジャーナル入力の連番は期間−量の情報２０４の最古の連番の領域２０４３の中に入れられる。
【００３３】
[0064]  アレイ制御器１１０はジャーナル入力のサイズを相当する期間のジャーナルの合計サイズの領域２０４４に追加することによって期間−量の情報２０４を更新し、処理が終了する。
【００３４】
[0065]  ジャーナル領域を削減するための操作と処理
[0066]  図１２はジャーナル領域を削減する（最少にする）ための処理を具体的に示す。実行される処理は下記に述べられるような工程１１０１〜１１１０を含む。
【００３５】
[0067]  工程１１０１で、管理端末５２０は指定された時間期間などの整合グループ６１０のジャーナルボリューム６３０内に保存されたジャーナルについての情報を得るためにアレイ制御器１１０に要求を送る。
【００３６】
[0068]  工程１１０２で、アレイ制御器１１０は指定された期間中に指定された整合グループ６１０内で作り出されたジャーナルのサイズを入手する。作り出されたジャーナルデータの量を入手するための１つの方法は期間−量の情報２０４を参照すること、およびジャーナルのサイズを計算することによる。対応するメタデータを検索する処理およびその中に含まれるデータを読み取る処理が指定された時間期間全体にわたるサイズ情報を入手するための別の方法として使用されることが可能である。
【００３７】
[0069]  工程１１０３で、アレイ制御器１１０は要求された期間に関するジャーナルのサイズについての情報を管理端末５２０に通報し、整合グループ６１０の最新のスナップショット時間を通報することもやはりあり得る。最新のスナップショット時間はボリューム情報２０２から得られることが可能である。
【００３８】
[0070]  工程１１０４で、管理端末５２０は要求された期間と要求された期間全体にわたって作り出されたジャーナルデータの量との間の関係をユーザに提示する。最新のスナップショット時間が提示されることもやはりあり得る。
【００３９】
[0071]  図１３は指定された時間期間と指定された時間期間全体にわたって作り出されたジャーナルデータの量との間の関係の一例である。管理端末５２０はグラフィカルユーザーインターフェース（ＧＵＩ）を介して、ならびにジャーナルデータの量と時間期間の数値データ（値）を表示することによってこのような図表をユーザに示すことが可能である。
【００４０】
[0072]  工程１１０５で、ユーザまたは管理端末５２０にある管理ソフトウェア５２１が上述の提示された情報を参照することによって整合グループ６１０に関してジャーナルを保存するための新たな記憶サイズ（すなわちジャーナルボリューム６３０のための新たなサイズ）を判定する。
【００４１】
[0073]  工程１１０６で、ユーザまたは管理ソフトウェア５２１がアレイ制御器１１０に対して整合グループ６１０に関するジャーナル領域のサイズを変更するように命令する。ジャーナルボリューム６３０のサイズを小さくする処理については、これはアレイ制御器１１０が最新のスナップショットよりも古いジャーナル入力を保存する記憶領域を取り除くことによってジャーナルボリュームのサイズを小さくすることを必要とする。ジャーナルボリュームのサイズを大きくする処理については、追加の物理的記憶スペースが割り当てられてもよい。
【００４２】
[0074]  工程１１０７で、命令されたジャーナル領域サイズの変更の影響が既に保存されているジャーナルデータに対して有するであろう事象をアレイ制御器１１０が調べる。変更後の最古のジャーナルが最終の（最も新しい）スナップショットよりも古ければ、提案された変更は受容可能であり、処理は工程１１０８へと進む。しかしながら変更後の最古のジャーナルが最終のスナップショットよりも新しければ、変更は受容不可能であり、処理は工程１１１０へと進む。
【００４３】
[0075]  工程１１０８で、削除されるべきジャーナルデータを無効にするためにアレイ制御器１１０がジャーナル情報２０３内の最古のジャーナルについての情報を更新し、それにより、新たな最古のジャーナル入力はサイズ変更後に残る最古のジャーナル入力になる。
【００４４】
[0076]  工程１１０９で、アレイ制御器１１０が整合グループ６１０のジャーナル領域のサイズを変更し、新たな最古のジャーナル入力よりも古いジャーナル入力を含む超過分の記憶領域を解放し、それにより、この超過分の記憶領域は他の用途に利用されることが可能になる。ジャーナル領域のサイズは、いくつかの方法で減少させることができる。これの２つの例は以下の工程、すなわち
（１）有効なジャーナル入力をコピーすること（または移動させること）によってジャーナルボリューム６３０（ボリューム６０２）の最後の部分に連続的な空き（未使用）領域を作る工程、または
（２）ボリューム６０２の構成を（ボリューム６０２の圧縮によって）変える工程を含む。
【００４５】
[0077]  工程１１１０で、最古のジャーナル入力よりも古いスナップショットが無ければジャーナル入力をスナップショットに当てはめることによるデータの復元が実行されることは不可能であるので、アレイ制御器１１０はジャーナル領域のサイズを変えるための命令を拒絶する。場合によっては、記憶制御器１１０から受け取った最新のスナップショットの時間の評価の結果として、最新のスナップショットの時間に起因する命令の拒絶が管理端末５２０によって実行されることもあり得る。
【００４６】
[0078]  ジャーナルデータの一部を保ちながらのジャーナル領域の動的な変更に加えて、上述されたように、ジャーナル領域のサイズの変更を達成するために初期の状態から再構成が為されることもやはりあり得る。そのような初期の再構成のケースでは、スナップショットの存在に関する調査は不要である。
【００４７】
[0079]  保存されるジャーナルの量と期間との間の関係の連続モニタリング
[0080]  管理端末５２０は、規則的な継続ベースで各々のジャーナルボリューム内のジャーナルデータの量と期間との間の関係に関連してアレイ制御器１１０に問い合わせることによって各々の整合グループ６１０内に保存されるジャーナルデータの量と時間期間との間の関係をモニタすることが可能である。管理端末５２０はモニタリングデータ５２２として入手される情報の記録を保存することが可能であり、入手情報をユーザに示すことが可能である。ユーザまたは管理ソフトウェア５２１は、ジャーナル記憶領域の最適なサイズの判定を含めた様々な決定を行うために入手情報を使用することが可能である。
【００４８】
[0081]  第２の実施形態：システム構成
[0082]  図１４は第２の実施形態のシステム構成を具体的に示す。第１の実施形態の構成との違いはメモリ２００がチャンクマッピング情報２０５とチャンク利用情報２０６を含むことである。この構成では、ディスク６００によって供給される記憶領域はいくつかの一定長さの記憶領域（すなわちチャンク６９０）に分割され、ジャーナルボリューム６３０を含むボリューム（論理ユニット）がオンデマンドで記憶のチャンクを割り当てることによって供給される。さらに、第２の実施形態では図１５に例示されるように、整合グループ情報２０１は追加的な保存期間領域２０１６を含み、これは下記でさらに検討されるようにジャーナルデータに関して指定された保存期間にある情報を保有する。
【００４９】
[0083]  図１６は第２の実施形態の記憶システム１００内にボリューム６０２を供給するための方式を具体的に示す。図１６で、ジャーナルボリューム６３０は事実上多数の区分６９２で構成され、１つのチャンク６９０が物理的記憶領域として使用ベースで１つの区分６９２に割り当てられる。このようにして各々の論理ボリューム６０２は複数の論理区分６９２で構成され、ボリュームの各々の区分６９２は物理的記憶領域のチャンク６９０のサイズに等しい区分サイズを有する。例えば、図１４に例示されるように一実施形態では各々のチャンク６９０は各々のＨＤＤに５１２バイトといった４つのＨＤＤ６００から成る物理的記憶スペースで構成されてもよく、それにより、チャンクのサイズは２０４８バイトの量の記憶容量になるであろう。そのような構成の区分６９２のサイズもやはり２０４８バイトであることが好ましいであろう。区分６９２は通常では図１６に例示されるようにゼロから始まって最大数の区分サイズへと順序に従って番号を付けられ、その一方で記憶のための論理ブロックアドレスを付随する。初期ではジャーナルボリューム６３０にチャンクは割り当てられないかまたは所定の少数のチャンクが割り当てられてもよい。未だ割り当てられた物理的記憶チャンクを有さないジャーナルボリュームの区分内のアドレスに書き込みが行われるとき、記憶システムがこの標的の区分にチャンクを割り当てる。
【００５０】
[0084]  この動的なチャンク割り当て機能を可能にするために、アレイ制御器１１０は図１７に例示されるようなチャンクマッピング情報２０５および図１８に例示されるようなチャンク利用情報２０６を使用する。図１７はチャンクマッピング情報２０５の一例であって、これはボリュームＩＤ領域２０５１、区分ＩＤ領域２０５２、割り当て／非割り当て領域２０５３、およびチャンクＩＤ領域２０５４を含むことが可能である。このようにして、チャンクマッピング情報２０５は各々のボリュームのチャンク６９０と区分６９２との間のマッピングを維持する。区分にチャンクが割り当てられなければ領域２０５３内の割り当ての状態は「Ｎｏ」であり、チャンクが割り当てられているときでは「Ｙｅｓ」である。この情報２０５はまた、さらに速い検索能力を達成するために各々の要素のリストまたはディレクトリとして構成されてもよい。
【００５１】
[0085]  図１８はチャンク利用情報２０６の一例を具体的に示しており、これはチャンクＩＤ領域２０６１、利用領域２０６２、ボリュームＩＤ領域２０６３、および区分ＩＤ領域２０６４を含む。チャンク利用情報２０６はチャンクが使用されるか否かをアレイ制御器１１０が迅速に決定することを可能にし、チャンクが使用される場合にはボリュームおよびボリュームの区分にそれが割り当てられる。この情報を使用することによって、アレイ制御器１１０は下記に述べられる処理に従って空き（未使用）チャンクを見つけることが可能である。この情報はまた、さらに速い検索能力を達成するために各々の要素のリストまたはディレクトリとして構成されてもよい。
【００５２】
[0086]  ジャーナルを作り出す処理
[0087]  図１９は第２の実施形態でジャーナルを作り出す処理を具体的に示す。この処理は下記で詳しく述べられるような工程１３０１〜１３１２を含む。
【００５３】
[0088]  工程１３０１で、ホスト５００が書き込み要求を出し、書き込みデータをアレイ制御器１１０に移す。
【００５４】
[0089]  工程１３０２で、アレイ制御器１１０がこの書き込み要求に従って標的のプロダクションボリューム６２０内に書き込みデータを保存する。
【００５５】
[0090]  工程１３０３で、アレイ制御器１１０がジャーナルボリューム６３０内のメタデータおよびジャーナルデータに関して現在のチャンク（または区分）の残りの（未使用の）サイズをチェックする。
【００５６】
[0091]  工程１３０４で、工程１３０３の調査の結果として新たなジャーナル入力のメタデータのサイズがメタデータ領域６３１のための現在のチャンク（または区分）の残りのサイズよりも大きければ、処理は工程１３０５へと進み、そうでなければ処理は工程１３０７へと進む。
【００５７】
[0092]  工程１３０５で、アレイ制御器１１０はメタデータを保存するための領域として新たなチャンクを区分に割り当てる。この新たなチャンクはチャンク利用情報２０６を使用して所在確認された空きチャンクから割り当てられ、このチャンクが割り当てられるとチャンクマッピング情報２０５およびチャンク利用情報２０６が更新される。
【００５８】
[0093]  工程１３０６で、アレイ制御器１１０がこのメタデータを新たなチャンクに保存する。
【００５９】
[0094]  工程１３０７で、新たなジャーナル入力に関してメタデータを保存するための十分な記憶容量が既に存在することが工程１３０４で判定されたので、アレイ制御器１１０はメタデータを現在のチャンク／区分に保存する。
【００６０】
[0095]  工程１３０８で、工程１３０３の調査の結果として新たなジャーナル入力に関する書き込みデータ（すなわちジャーナルデータ）のサイズがジャーナルデータ領域６３２のための現在のチャンク／区分の残りのサイズよりも大きければ処理は工程１３０９へと進む。他方で、新たなジャーナル入力に関するジャーナルデータを保存するために現在のチャンク／区分に十分な容量があれば処理は工程１３１１へと進む。
【００６１】
[0096]  工程１３０９で、アレイ制御器１１０はこの新たなジャーナル入力に関してジャーナルデータを保存するための領域として新たなチャンクをジャーナルボリューム６３０の１つの区分に割り当てる。この新たなチャンクはチャンク利用情報２０６を参照することによって空きチャンクから選択され、チャンクマッピング情報２０５およびチャンク利用情報２０６が更新される。新たなチャンクを保存するために選択されるジャーナルボリューム６３０内の区分６９２は通常ではジャーナルボリューム６３０内の次期未使用区分であり、それにより、ジャーナルボリューム内の区分は下位の番号の区分から上位の番号の区分へと順序に従って満たされる。
【００６２】
[0097]  工程１３１０で、アレイ制御器１１０は書き込みデータを新たなチャンク／区分にジャーナルデータとして保存する。
【００６３】
[0098]  工程１３１１で、既にあるチャンク／区分内に十分な容量があったのでアレイ制御器１１０は書き込みデータを現在のチャンク／区分にジャーナルデータとして保存する。
【００６４】
[0099]  工程１３１２で、アレイ制御器１１０はジャーナル情報２０３内の連番および時間といった最新のジャーナル入力についての情報を更新し、処理が終了する。
【００６５】
[0100]  したがって、上記の処理によって一連のジャーナル入力が図２０に例示されるように多数のチャンク／区分内に保存されることが分かり得る。この方法を使用すると、チャンクの出発点は常にジャーナル入力（ジャーナルデータかまたはメタデータのどちらか）の出発点である。現在のチャンクの残りの長さ（容量）が保存されるべきジャーナルデータまたはメタデータそれぞれの長さ（サイズ）よりも小さいときに新たなチャンクが割り当てられる。
【００６６】
[0101]  ジャーナル領域を削減するための処理
[0102]  図２１は第２の実施形態の記憶システム内のジャーナル領域を削減または最少にするための処理を具体的に示す。アレイ制御器１１０は連番の順序、すなわち年代順でジャーナルボリュームをチェックする処理などによって規則的周期ベースで各々の整合グループに関してジャーナル領域を削減するための処理を実行することが可能である。したがって。工程１４０１〜１４０６が記憶システム内の各々のジャーナルボリュームに関して実行されることが可能である。
【００６７】
[0103]  工程１４０１で、アレイ制御器１１０は整合グループ６１０内の最古のジャーナルデータを保存するチャンク内の最新のジャーナル入力についての情報をチェックする。このようにしてアレイ制御器は最古のジャーナルデータを有するチャンク内の最も最近のジャーナル入力のタイムスタンプをチェックすることでそのジャーナル入力の時間を判定する。
【００６８】
[0104]  工程１４０２で、工程１４０１の調査の結果としてこのチャンク内の最新のジャーナルデータの時間が情報２０１の領域２０１６に入れられた指定の保存期間の外側にある（これよりも古い）場合、このチャンク／区分内に含まれるデータはもはや不要であり、それゆえに処理はこのチャンクを解放する準備をするために工程１４０３へと進む。しかしながら、このチャンク内の最新のジャーナルの時間が指定の保存期間よりも古くなければ、ジャーナルデータに関する所定の保存期間が満了するまでジャーナルデータが保持される必要があるので処理は終了する。
【００６９】
[0105]  工程１４０３で、アレイ制御器１１０は解放されるべきチャンク内のすべてのジャーナルデータを無効にするためにジャーナル情報２０３内の最古のジャーナルについての情報を更新する。整合グループのジャーナルボリューム６３０に関する最古のジャーナルの領域２０３２が工程１４０１で識別されたジャーナル入力の直後に続くジャーナル入力の連番と時間に更新される。これは解放されるべきチャンクに続く次期チャンク／区分の開始部にある第１のジャーナル入力を判定することによって実行される。
【００７０】
[0106]  工程１４０４で、アレイ制御器１１０は解放されるべきチャンクを解放する。これは解放されるべきチャンクを空きチャンクにするためにアレイ制御器１１０がチャンクマッピング情報２０５とチャンク利用情報２０６を更新することによって達成される。
【００７１】
[0107]  工程１４０５で、アレイ制御器１１０は工程１４０４で解放されたチャンクの解放によって無効にされたメタデータをチェックする。メタデータを保存する１つのチャンク／区分内のすべてのメタデータが無効にされていれば、処理は工程１４０６へと進む。そうでない場合、このチャンク／区分内のメタデータのうちの少なくともいくつかがまだ保存されたジャーナル入力に関連するので処理は終了する。
【００７２】
[0108]  工程１４０６で、アレイ制御器１１０はメタデータのためのチャンクを解放する。これはメタデータを保存するチャンクを空きチャンクにするためにアレイ制御器１１０がチャンクマッピング情報２０５とチャンク利用情報２０６を更新することによって達成される。
【００７３】
[0109]  上述の所定の保存期間（保持期間）はユーザまたは方針によって各々の整合グループ６１０について決定され、管理端末５２０を介してアレイ制御器１１０に設定される。第１の実施形態で述べられたように、管理端末５２０はジャーナルデータの量と期間との間の関係について問合わせとモニタリングを実行することが可能である。ユーザは、第１の実施形態で図１３に関連して上記で検討されたように管理端末５２０によって提示されるモニタリングデータ５２２に基づいて入手された量−期間の情報を参照することによって所定の保存期間を決定することが可能である。
【００７４】
[0110]  図２２はジャーナル領域を削減するための他の方法を具体的に示す。この処理では、図２１および図１５に述べられた保存期間ではなく、ジャーナルの量がジャーナル入力を消去してジャーナル領域を削減するための条件として使用される。この処理でもって、ユーザはジャーナルデータの量の観点からジャーナル領域を削減することが可能である。
【００７５】
[0111]  工程１５０１で、アレイ制御器１１０は整合グループ内のジャーナルデータの量をチェックする。これを達成するための１つの技術はジャーナルボリューム６３０に割り当てられたチャンクの数をチャンクマッピング情報２０５を使用して判定し、次いでジャーナルボリュームのために使用されるチャンクの数を個々のチャンクの規定の記憶容量で乗算することによる。
【００７６】
[0112]  工程１５０２で、工程１５０１の調査に続いてアレイ制御器１１０はジャーナルデータの量がユーザによって設定された、または所定の方針に従って設定された所定の量よりも大きいかどうかを判定する。ジャーナルデータの量が所定の量を超えていれば処理は工程１５０３へと進む。ジャーナルデータの量が所定の量を超えていなければ処理は終了する。
【００７７】
[0113]  工程１５０３で、アレイ制御器１１０は最古のジャーナルデータを保存するチャンク内のジャーナルを無効にするためにジャーナル情報を更新する。したがって整合グループのジャーナルボリューム６３０のための最古のジャーナルの領域２０３２は最古から２番目のチャンク内の最初のジャーナル入力の連番と時間に更新される。
【００７８】
[0114]  工程１５０４で、アレイ制御器１１０は最古のチャンクを空きチャンクにするためにチャンクマッピング情報２０５とチャンク利用情報２０６を更新することによって最古のチャンクを解放する。
【００７９】
[0115]  工程１５０５で、アレイ制御器１１０は工程１５０４で解放された最古のチャンクの解放によって無効にされたメタデータをチェックする。メタデータを保存する１つのチャンク／区分内のすべてのメタデータが無効にされていれば処理は工程１５０６へと進む。そうでなければメタデータを含むそのチャンク／区分内のメタデータのうちの少なくともいくつかが保存されたジャーナル入力に関連するので処理は終了する。
【００８０】
[0116]  工程１５０６で、アレイ制御器１１０はメタデータのためのチャンクを解放する。これはアレイ制御器１１０がメタデータを保存するチャンクを空きチャンクにするためにチャンクマッピング情報２０５とチャンク利用情報２０６を更新することによって達成される。
【００８１】
[0117]  以上の工程が各々の整合グループまたは個々のジャーナルボリュームについて定期的に繰り返される。さらに、第１の実施形態で述べられたように、最新のスナップショットの時間をチェックするための工程を上記の処理の両方が含むこともあり得る。ジャーナルデータの消去後の最古のジャーナルよりも古いスナップショットが無ければこの消去は実行されない。このようにして、上述のシステムおよび処理によって、ジャーナル領域の柔軟的で自動的な調節が実行され、ジャーナル領域の管理が単純化される。
【００８２】
[0118]  第３の実施形態：ジャーナルを作り出す処理
[0119]  図２３は第３の実施形態でジャーナルを作り出す処理を具体的に示す。第３の実施形態のシステム構成は第２の実施形態に関して上記で述べられたものと同じであってもよい。第３の実施形態ではジャーナル入力は複数のチャンクにまたがって保存されることが可能であり、それにより、ジャーナル入力の一部が第１のチャンクに保存されてこのジャーナル入力の残り部分が第２のチャンクに保存されることが可能であり、それによって無駄な記憶容量を削減する。この処理は下記で述べられるような工程１６０１〜１６０９を含む。
【００８３】
[0120]  工程１６０１で、ホスト５００は書き込み要求を出し、書き込みデータをアレイ制御器１１０に移す。
【００８４】
[0121]  工程１６０２で、アレイ制御器１１０はこの書き込み要求に従って書き込みデータをプロダクションボリューム６２０に保存する。
【００８５】
[0122]  工程１６０３で、アレイ制御器１１０はメタデータを含むための現在のチャンクの残っている未使用の容量（長さ）およびジャーナルデータを含むための現在のチャンクの残っている未使用の容量をチェックする。
【００８６】
[0123]  工程１６０４で、工程１６０３の調査の結果として新たなジャーナル入力のメタデータのサイスがメタデータ領域のための現在のチャンクの残っているサイズよりも大きければ処理は工程１６０５へと進む。そうでなければ処理は工程１６０６へと進む。
【００８７】
[0124]  工程１６０５で、アレイ制御器１１０はチャンクマッピング情報２０５とチャンク利用情報２０６を更新することによって、メタデータを保存するための領域として新たなチャンクを空きチャンクから割り当てる。
【００８８】
[0125]  工程１６０６で、工程１６０３の調査の結果として新たなジャーナル入力のための書き込みデータ（すなわちジャーナルデータ）のサイズが新たなジャーナルデータを保存するために使用される現在のチャンクの残っているサイズよりも大きければ処理は工程１６０７へと進む。そうでなければ処理は工程１６０８へと進む。
【００８９】
[0126]  工程１６０７で、アレイ制御器１１０はチャンクマッピング情報２０５とチャンク利用情報２０６を更新することによって、新たなジャーナルデータを保存するための領域として新たなチャンクを空きチャンクから割り当てる。
【００９０】
[0127]  工程１６０８で、アレイ制御器１１０はメタデータを保存するための（複数の）チャンクに新たなジャーナル入力に関する新たなメタデータを隣接させて保存し、ジャーナルデータを保存するための（複数の）チャンクに新たなジャーナル入力に関する書き込みデータを新たなジャーナルデータとして隣接させて保存し、それにより、この入力がチャンクの残っている容量にとって大き過ぎれば入力の一部がこの残っている容量内に保存され、入力の残りは新たに割り当てられるチャンク内に隣接させて保存される。
【００９１】
[0128]  工程１６０９で、アレイ制御器１１０はジャーナル情報２０３内の最新のジャーナル入力についての情報を更新する。
【００９２】
[0129]以上の処理によって、図２４に例示されるように一連のジャーナルが複数のチャンク内に保存される。このようにして、ジャーナルデータまたはメタデータの第１の部分が第１のチャンクの一部分に保存され、ジャーナルデータまたはメタデータの第２の部分が第２のチャンクに保存されるように１つのジャーナルが複数の部分に分割されて複数のチャンクにまたがって保存されることが可能である。
【００９３】
[0130]  ジャーナル領域を削減するための処理
[0131]  図２５は第３の実施形態でジャーナル領域を削減または最少にするための処理を具体的に示す。アレイ制御器１１０は連番の順序、すなわち年代順でジャーナルをチェックすることによって各々の整合グループについてこの処理を規則的に実行することが可能である。この処理の工程１７０１〜１７０２および１７０４〜１７０６は第２の実施形態で図２１に述べられた処理の工程１４０１〜１４０２および１４０４〜１４０６と同様であり、したがって工程１７０３が異なる。
【００９４】
[0132]  工程１７０１で、アレイ制御器１１０は整合グループ６１０内の最古のジャーナルデータを保存するチャンク内の最新のジャーナル入力についての情報をチェックする。このようにして、アレイ制御器は最古のジャーナルデータを有するチャンク内の最も最近のジャーナル入力のタイムスタンプをチェックすることでこのジャーナル入力の時間を判定する。
【００９５】
[0133]  工程１７０２で、工程１７０１の調査の結果としてこのチャンク内の最新のジャーナルデータの時間が情報２０１の領域２０１６に入れられた指定の保存期間の外側にある（これよりも古い）場合、このチャンク／区分内に含まれるデータはもはや不要であり、それゆえに処理はこのチャンクを解放する準備をするために工程１７０３へと進む。しかしながら、このチャンク内の最新のジャーナルの時間が指定の保存期間よりも古くなければ、ジャーナルデータに関する所定の保存期間が満了するまでジャーナルデータが保持される必要があるので処理は終了する。
【００９６】
[0134]  工程１７０３で、アレイ制御器１１０は解放されるべきチャンク内のすべてのジャーナルデータおよび隣接する（次に続く）チャンク内に置かれることもあり得るチャンクの最終のジャーナル入力に関するいずれの隣接ジャーナルデータも無効にするためにジャーナル情報２０３内の最古のジャーナルについての情報を更新する。このようにして、次期チャンク内の次期ジャーナルに関する時間と連番が最古のジャーナルの領域２０３２に入れられる。
【００９７】
[0135]  工程１７０４で、アレイ制御器１１０は解放されるべきチャンクを解放する。これは解放されるべきチャンクを空きチャンクにするためにアレイ制御器１１０がチャンクマッピング情報２０５とチャンク利用情報２０６を更新することによって達成される。
【００９８】
[0136]  工程１７０５で、アレイ制御器１１０は工程１７０４で解放されたチャンクの解放によって無効にされたメタデータをチェックする。メタデータを保存する１つのチャンク／区分内のすべてのメタデータが無効にされていれば、処理は工程１７０６へと進む。そうでない場合、このチャンク／区分内のメタデータのうちの少なくともいくつかがまだ保存されたジャーナル入力に関連するので処理は終了する。
【００９９】
[0137]  工程１７０６で、アレイ制御器１１０はメタデータのためのチャンクを解放する。これはメタデータを保存するチャンクを空きチャンクにするためにアレイ制御器１１０がチャンクマッピング情報２０５とチャンク利用情報２０６を更新することによって達成される。
【０１００】
[0138]  このようにして、本発明がジャーナル領域の柔軟的で自動的な調節を提供し、ジャーナル領域の管理を単純化することが分かり得る。ジャーナル「後」の状況（すなわちジャーナルが更新後のデータを有する場合）で本発明が述べられてきたが、本発明は例えばその開示が本願明細書に参照で組入れられる２００４年９月２８日に出願されたＴａｋａｓｈｉ  Ａｍａｎｏの米国特許第７０６２６２８号明細書に述べられるようなジャーナル「前」の状況（すなわち、更新が実施されたよりも前にあったデータをジャーナルが有する場合）にもやはり実行され得る。したがって、ジャーナル「前」のケースでは、ジャーナル領域が大きくなるにつれてジャーナル領域は上記で検討された３つの実施形態で述べられたように管理されることが可能である。さらに、特定の実施形態が本願明細書に例示されて述べられてきたが、同じ目的を達成するように計算されるいずれの配列も開示されたこの特定の実施形態に置き換えられ得ることを当業者は理解する。この開示は本発明のいずれの、およびすべての脚色および変形例も網羅することを意図されており、以上の記述が具体的例示の様式で為されていて限定ではないことは理解されるべきである。したがって、本発明の範囲は添付の特許請求項、ならびにそのような請求項が権利を与えられる同等事項の全範囲に準拠して適切に決定されるべきである。
【図面の簡単な説明】
【０１０１】
【図１】[0010]本発明の方法および装置が応用され得るシステムとハードウェアの構成の一例を具体的に示す図である。
【図２】[0011]図１の構成で実行されるジャーナル処理の基本的な処理の一例を具体的に示す図である。
【図３】[0012]本発明に従って利用される整合グループ情報を具体的に示す図である。
【図４】[0013]本発明に従って利用されるボリューム情報を具体的に示す図である。
【図５】[0014]ジャーナルボリューム内にジャーナルデータを保存する方法を具体的に示す図である。
【図６】[0015]本発明によるメタデータ情報の内容の一例を具体的に示す図である。
【図７】[0016]ジャーナルを使用することによってデータを保存する基本的な処理を具体的に示す図である。
【図８】[0017]復元されたポイントインタイムのデータのイメージを使用することが可能なホストを具体的に示す図である。
【図９】[0018]ジャーナルを作成する処理のフローを具体的に示す図である。
【図１０】[0019]本発明に従って保持されるジャーナル情報の一例を具体的に示す図である。
【図１１】[0020]本発明に従って保持される時間−量の情報の一例を具体的に示す図である。
【図１２】[0021]本発明の下でジャーナル領域を削減するための処理を具体的に示す図である。
【図１３】[0022]ジャーナルの特定の期間と量との間の関係の一例を具体的に示す図である。
【図１４】[0023]本発明の第２の実施形態のシステム構成を具体的に示す図である。
【図１５】[0024]第２の実施形態について整合グループ情報を具体的に示す図である。
【図１６】[0025]記憶システム内にボリュームを与えるための方式を具体的に示す図である。
【図１７】[0026]チャンクマッピング情報の一例を具体的に示す図である。
【図１８】[0027]チャンク利用情報の一例を具体的に示す図である。
【図１９】[0028]ジャーナルを作成する処理を具体的に示す図である。
【図２０】[0029]多数のチャンクに保存された一連のジャーナルを具体的に示す図である。
【図２１】[0030]ジャーナル領域を最小限にするための処理を具体的に示す図である。
【図２２】[0031]ジャーナル領域を最小限にするための別の処理を具体的に示す図である。
【図２３】[0032]本発明の第３の実施形態においてジャーナルを作成する処理を具体的に示す図である。
【図２４】[0033]多数のチャンクに保存された一連のジャーナルを具体的に示す図である。
【図２５】[0034]本発明の第３の実施形態においてジャーナル領域を削減するための処理を具体的に示す図である。
【図１】
2008198184.tif 000003
【図２】
2008198184.tif 000004
【図３】
2008198184.tif 000005
【図４】
2008198184.tif 000006
【図５】
2008198184.tif 000007
【図６】
2008198184.tif 000008
【図７】
2008198184.tif 000009
【図８】
2008198184.tif 000010
【図９】
2008198184.tif 000011
【図１０】
2008198184.tif 000012
【図１１】
2008198184.tif 000013
【図１２】
2008198184.tif 000014
【図１３】
2008198184.tif 000015
【図１４】
2008198184.tif 000016
【図１５】
2008198184.tif 000017
【図１６】
2008198184.tif 000018
【図１７】
2008198184.tif 000019
【図１８】
2008198184.tif 000020
【図１９】
2008198184.tif 000021
【図２０】
2008198184.tif 000022
【図２１】
2008198184.tif 000023
【図２２】
2008198184.tif 000024
【図２３】
2008198184.tif 000025
【図２４】
2008198184.tif 000026
【図２５】
2008198184.tif 000027
【外国語明細書】
2008198184000001.pdf