JP4644446B2 - 関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム - Google Patents

関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム Download PDF

Info

Publication number
JP4644446B2
JP4644446B2 JP2004173661A JP2004173661A JP4644446B2 JP 4644446 B2 JP4644446 B2 JP 4644446B2 JP 2004173661 A JP2004173661 A JP 2004173661A JP 2004173661 A JP2004173661 A JP 2004173661A JP 4644446 B2 JP4644446 B2 JP 4644446B2
Authority
JP
Japan
Prior art keywords
relationship
new
volume
source
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004173661A
Other languages
English (en)
Other versions
JP2005352821A (ja
Inventor
ミカエル・イー・ファクトル
アミラム・ハヤルデニ
トーマス・チャールズ・ジャーヴィス
ゲイル・アンドレア・スピア
ウィリアム・フランク・ミッカ
シヴァン・タル
ダリト・トザフリル
リヴカ・マヤラズ・マトセヴィッチ
シェリ・ラハヴ
イファト・ヌリエル
シャチャル・フィエンブリト
スヴェトラナ・シュケヴィッチ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004173661A priority Critical patent/JP4644446B2/ja
Publication of JP2005352821A publication Critical patent/JP2005352821A/ja
Application granted granted Critical
Publication of JP4644446B2 publication Critical patent/JP4644446B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、1つのターゲット・ボリュームと1つのソース・ボリュームの間の関係を管理する方法、システム、およびプログラムに関する。
コンピューティング・システムに、しばしば、データを処理し、アプリケーション・プログラムを実行する1つまたは複数のホスト・コンピュータ(「ホスト」)、データを保管する直接アクセス記憶装置(「DASD」)、およびホストとDASDの間のデータの転送を制御するストレージ・コントローラが含まれる。ストレージ・コントローラは、制御ユニットまたはストレージ・ディレクタとも称するが、直接アクセス記憶装置(DASD)とも称する、ループ・アーキテクチャで接続された多数のハード・ディスク・ドライブからなるストレージ・スペースへのアクセスを管理する。ホストは、ストレージ・コントローラを介してストレージ・スペースに入出力要求を通信することができる。
多くのシステムで、DASDなどのストレージ・デバイス上のデータを、同一のまたは別のストレージ・デバイスにコピーすることができ、その結果、データ・ボリュームへのアクセスを、2つの異なるデバイスから提供できるようになる。ポイントインタイム・コピー(point-in-time copy)には、ソース・ボリュームからターゲット・ボリュームへすべてのデータを物理的にコピーし、その結果、ターゲット・ボリュームが、ある時点(ポイントインタイム)のデータのコピーを有するようにすることが含まれる。ポイントインタイム・コピーは、論理的にデータのコピーを作り、必要な時にのみデータをコピーし、結果的に物理的なコピーを遅延することによっても行うことができる。この論理的なコピー動作は、ターゲット・ボリュームとソース・ボリュームがアクセス不能になる時間を最小限にするために実行される。
そのような論理コピー動作の1つを、FlashCopy(登録商標)と称する(FlashCopyは、InternationalBusiness Machines,Corp.または「IBM」の登録商標である)。FlashCopy(登録商標)には、異なるデバイス上のソース・ボリュームとターゲット・ボリュームの間の論理ポイントインタイム関係を確立することが含まれる。FlashCopy機能によって、FlashCopy関係のトラックが、ターゲット・ディスク上のその位置にハードン(harden)されるまで、トラックがソース・ディスクに存在することが保証される。関係テーブルを使用して、サブシステム内のすべての既存のFlashCopy関係に関する情報が維持される。FlashCopy関係の確立フェーズ中に、1つの項目が、確立されるFlashCopyに参加するソースおよびターゲットについて、ソースおよびターゲットの関係テーブルに記録される。追加される項目のそれぞれによって、FlashCopy関係に関する必要なすべての情報が維持される。ソース・エクステントからのすべてのFlashCopyトラックがターゲット・エクステントにコピーされた時、または撤回コマンドが受け取られる時に、関係に関する両方の項目が、関係テーブルから除去される。
ターゲット関係テーブルに、さらに、FlashCopy関係に含まれるどのトラックが、まだコピーされておらず、したがって保護されるトラックであるかを識別するビットマップが含まれる。ターゲット・デバイス内の各トラックが、ビットマップ内の1ビットによって表される。ターゲット・ビットは、対応するトラックが、FlashCopy関係のターゲット・トラックとして確立される時にセットされる。ターゲット・ビットは、対応するトラックがソース位置からコピーされ、ソース・デバイスまたはターゲット・デバイスの書込またはバックグラウンド・コピー・タスクに起因してターゲット・デバイスにデステージング(destage)される時にリセットされる。
従来技術では、FlashCopy(登録商標)動作中の論理ポイントインタイム関係の確立の一部として、FlashCopyに含まれるソース・キャッシュのすべてのトラックを、物理ソース・ボリューム、たとえばソースDASDにデステージングしなければならず、FlashCopy(登録商標)に含まれるターゲット・キャッシュのすべてのトラックを、破棄しなければならない。FlashCopy(登録商標)動作のさらなる詳細は、同時係属であり本願と同一の譲受人に譲渡される1999年7月2日出願の米国特許出願第09/347344号明細書、米国特許第6611901号明細書「Method,System, and Program for Maintaining Electronic Data as of a Point-in-Time」に記載されている。
論理的関係が確立されたならば、ホストは、ソース・ボリュームおよびターゲット・ボリュームのデータへの即時アクセスを有することができ、データを、バックグラウンド動作の一部としてコピーすることができる。FlashCopy関係のターゲットであり、キャッシュ内にないトラックに対する読取によって、ステージ・インターセプトがトリガされ、これによって、要求されたターゲット・トラックに対応するソース・トラックが、まだコピーされていない時に、ターゲット・キャッシュからのトラックへのアクセスが提供される前に、そのソース・トラックが、ターゲット・キャッシュにステージングされる。これによって、ターゲットが、FlashCopy(登録商標)動作のポイントインタイムに存在したソースからのコピーを有することが保証される。さらに、まだコピーされていないソース・デバイス上のトラックへの書込によって、デステージ・インターセプトがトリガされ、これによって、ソース・デバイスのトラックが、ターゲット・デバイスにコピーされる。
米国特許出願第09/347344号、米国特許第6611901号明細書
本発明の目的は、1つのターゲット・ボリュームと1つのソース・ボリュームの間の関係を管理する方法、システム、およびプログラムを提供することである。
(i)各要素がボリューム内のシーケンシャル・データ・ユニットの範囲を表す少なくとも1つの要素と、(ii)各関係項目が1つの関係を表す少なくとも1つの関係項目と、(iii)1つの要素を1つの関係項目に関連付ける少なくとも1つの要素ポインタであって、要素によって表されるデータ・ユニットが、ポインタによってその要素に関連付けられる関係項目によって表される関係の一部である、要素ポインタとを含む、少なくとも1つのソース・ボリュームと少なくとも1つのターゲット・ボリュームとの間の既存の関係に関する情報が、メモリ内で維持される。少なくとも1つのターゲット・ボリュームと少なくとも1つのソース・ボリュームの間の新しい関係が、追加される。さらに、新しい関係を表すメモリ内の新しい関係項目が、追加され、新しい関係に含まれるデータ・ユニットを含む各要素を新しい関係項目に関連付けるために、各要素について1つの新しい要素ポインタが追加され、要素によって表されるデータ・ユニットは、新しい関係の一部である。
もう1つの実施形態では、新しい関係項目および追加される少なくとも1つの要素ポインタが、新しい関係のソース・ボリュームおよびターゲット・ボリュームのそれぞれについて追加される。
さらに、少なくとも2つの新しい要素が作成されて、新しい関係に含まれるデータを表し、新しい関係に含まれないデータを表す1つの要素が置換される。
さらに、1つのターゲット・ボリュームと1つのソース・ボリュームの間の関係を管理する方法、システム、およびプログラムを提供する。(i)各要素がボリューム内のシーケンシャル・データ・ユニットの範囲を表す少なくとも1つの要素と、(ii)各関係項目が1つの関係を表す少なくとも1つの関係項目と、(iii)1つの要素を1つの関係項目に関連付ける少なくとも1つの要素ポインタであって、要素によって表されるデータ・ユニットが、ポインタによってその要素に関連付けられる関係項目によって表される関係の一部である、要素ポインタとを含む、少なくとも1つのソース・ボリュームと少なくとも1つのターゲット・ボリュームの間の関係に関する情報が、メモリに含まれる。撤回要求が、対象関係に関して受け取られ、撤回要求に応答して、1つの要素を対象関係を表す関係項目に関連付ける少なくとも1つのポインタが、メモリ内で削除される。
さらに、1つのターゲット・ボリュームと1つのソース・ボリュームの間の関係を管理する方法、システム、およびプログラムを提供する。(i)各要素がボリューム内のシーケンシャル・データ・ユニットの範囲を表す少なくとも1つの要素と、(ii)各関係項目が1つの関係を表す少なくとも1つの関係項目と、(iii)1つの要素を1つの関係項目に関連付ける少なくとも1つの要素ポインタであって、要素によって表されるデータ・ユニットが、ポインタによってその要素に関連付けられる関係項目によって表される関係の一部である、要素ポインタとを含む、少なくとも1つのソース・ボリュームと少なくとも1つのターゲット・ボリュームの間の関係に関する情報が、メモリに含まれる。リカバリ処理が開始されて、それぞれソース関係およびターゲット関係に関する、ソース要素、ターゲット要素、ソース関係項目、ターゲット関係項目、ソース要素を関連付けるソース・ポインタ、およびターゲット要素を関連付けるターゲット・ポインタを含む、少なくとも1つのソース・ボリュームと少なくとも1つのターゲット・ボリュームの間の関係に関するメモリ内の情報が再構築される。
説明される実施形態によって、ソース・ボリュームとターゲット・ボリュームの間の関係に関する情報および、そのような関係情報を使用可能にするためのメモリ内のそのような情報の関連が提供される。
これから図面を参照するが、図では、同一の符号によって、図面全体を通じて対応する部分を表す。
以下の説明では、添付図面を参照するが、添付図面は、本明細書の一部を形成し、本発明の複数の実施形態を示すものである。本発明の範囲から逸脱せずに、他の実施形態を使用することができ、構造および動作の変更を行えることを理解されたい。
図1に、本発明の諸態様が実施されるコンピューティング・アーキテクチャを示す。ストレージ・コントローラ2が、ネットワーク6を介してボリューム10a、10b、…、10nおよび12a、12b、…、12m(たとえば、論理ユニット番号、論理ドライブなど)を有するように構成されたストレージ・デバイス8aおよび8bに向けられた入出力要求をホスト・システム4a、4b、…、4nから受け取る。ここで、mおよびnは、異なる整数値または同一の値とすることができる。ストレージ・コントローラ2には、さらに、ソース・ストレージ8aのトラックの入出力データを保管するソース・キャッシュ14aおよびターゲット・ストレージ8bのトラックの入出力データを保管するターゲット・キャッシュ14bが含まれる。ソース・キャッシュ14aおよびターゲット・キャッシュ14bに、別々のメモリ・デバイスまたは同一のメモリ・デバイスの異なる部分を含めることができる。キャッシュ14a、14bは、ホスト4a、4b、…、4nとストレージ8a、8bの間で転送される読取データおよび書込データをバッファリングするのに使用される。さらに、キャッシュ14aおよび14bを、それぞれ、ポイントインタイム・コピー関係でソース・トラックまたはターゲット・トラックを保持する、ソース・キャッシュおよびターゲット・キャッシュと称するが、キャッシュ14aおよび14bに、異なるポイントインタイム・コピー関係でのソース・トラックおよびターゲット・トラックを同時に保管することができる。
ストレージ・コントローラ2には、システム・メモリ16も含まれ、システム・メモリ16は、揮発性デバイスまたは不揮発性デバイスあるいはその両方で実施される。ストレージ管理ソフトウェア18が、システム・メモリ16内で実行されて、FlashCopy(登録商標)動作中に発生するタイプの論理コピーなど、異なるストレージ・デバイス8a、8bの間でのデータのコピーが管理される。ストレージ管理ソフトウェア18によって、本明細書に記載のコピー動作に加えて、動作を実行することができる。システム・メモリ16は、キャッシュ14a、14bと別々のメモリ・デバイス内とするか、その一部とすることができる。ストレージ管理ソフトウェア18によって、システム・メモリ16内の1つのインメモリ関係テーブル20が維持されて、ストレージ・コントローラ2によって管理される各ボリュームのポイントインタイム・コピー関係に関する情報が提供され、ボリュームごとに1つのインメモリ関係テーブル20を設けることができる。いくつかの実施形態で、トラックが、コピー関係の対象になる。しかし、トラックのブロック、サブブロックなどの他のデータ・ユニットを、コピー関係の対象にすることができ、ここで、関係の各ソース・データ・ユニットごとに、対応するターゲット・データ・ユニットがある。
ストレージ・コントローラ2に、さらに、プロセッサ・コンプレックス(図示せず)が含まれ、IBMエンタープライズ・ストレージ・サーバ(ESS)(登録商標)、3990ストレージ・コントローラなどの、当技術分野で既知のあらゆるストレージ・コントローラまたはサーバを含めることができる(エンタープライズ・ストレージ・サーバは、IBM社の登録商標である)。ホスト4a、4b、…、4nに、サーバ、メインフレーム、ワークステーション、パーソナル・コンピュータ、ハンド・ヘルド・コンピュータ、ラップトップ機、電話機、ネットワーク・アプライアンスなど、当技術分野で既知のあらゆるコンピューティング・デバイスを含めることができる。ストレージ・コントローラ2およびホスト・システム4a、4b、…、4nは、ネットワーク6を介して通信し、ネットワーク6には、ストレージ・エリア・ネットワーク(SAN)、ローカル・エリア・ネットワーク(LAN)、イントラネット、インターネット、広域ネットワーク(WAN)などが含まれる。ストレージ・システム8a、8bに、JBOD(Just a Bunch of Disks)、新磁気ディスク制御機構(RAID)アレイ、バーチャライゼーション・デバイスなどのストレージ・デバイスのアレイを含めることができる。
ポイントインタイム・コピーを、ソース・ボリュームのトラックの範囲とターゲット・ボリュームのトラックの範囲の間で確立することができ、この関係に含まれるソース・ボリュームのトラック数とターゲット・ボリュームのトラック数は、同一または異なる数とすることができる。ある実施形態で、ソース・エクステントおよびターゲット・エクステントを、そのめいめいのボリュームの先頭からの異なる相対オフセットにあるものとすることができる。これによって、たとえば、不連続のデータ・セットの組をトラックの連続した組に合体する、データ・セットの再編成が可能になる。図2に、ソース・ボリューム54の途中に配置された不連続なソース・エクステント50および52が、どのようにして、ターゲット・ボリューム60の先頭にあるターゲット・ボリューム56および58に再配置され、ソース54とターゲット60の異なる順序が現れるかを示す。
説明される実施形態では、さらに、1トラックあたり複数のポイントインタイム・コピー関係が可能であり、この場合に、トラックの所与のエクステント(範囲)を、同時に複数のポイントインタイム・コピー関係の一部にすることができる。トラックは、ソース・エクステントまたはターゲット・エクステントのいずれかに属することができる。さらに、トラックは、複数のソース関係に属することができるが、いくつかの実施形態で、単一のターゲット関係だけが許容される。図3に、1トラックあたり複数の関係を示すが、この場合に、ソース・ボリューム70は、エクステント(トラックの範囲)72、74、76、および78を有し、これらのエクステントは、ターゲット・ボリューム80の異なるターゲット・エクステント82、84、86、および88にマッピングされる。ソース・エクステント72および74は、ターゲット・エクステント82に関係し、ソース・エクステント74および76は、ターゲット・エクステント84に関係し、この2つの関係によって、トラックのオーバーラップするエクステント74が共用される。さらに、ソース・エクステント78は、複数のターゲット・エクステント86および88に関係し、ソース・エクステント74も、複数のターゲット・エクステント82および84に関係する。複数のターゲットが、この例では同一のボリューム内に示されているが、ターゲット・トラックを、異なるボリュームに置くことができる。
ポイントインタイム・コピー関係が、ソース・ボリュームのトラックのエクステントとターゲット・ボリュームのエクステントの間で確立される時に、その関係に関する持続的な情報が、ソース・ボリューム10a、10b、…、10nおよびターゲット・ボリューム12a、12b、…、12mのボリューム・メタデータに保管される。図4に関して、ソース・ボリュームおよびターゲット・ボリュームのそれぞれのボリューム・メタデータ100に、関係メタデータ102、関係ビットマップ・メタデータ104、およびボリューム生成番号などのメタデータ・コンポーネントを含めることができる。関係メタデータ102には、関係ブロック106a、106b、…、106nが含まれ、この関係ブロックのそれぞれに、ボリューム内のトラックのエクステントに関する1つのポイントインタイム・コピーに関する情報が含まれる。図5に、下記を含む、図4の関係ブロック106a、106b、…、106nなどの関係ブロックの詳細を示す。
関係ID110:関係の一意識別子を提供する。この数は、ソースとターゲットの両方によって、関係を識別するのに使用される。
関係役割112:ボリューム内のトラックのエクステントが、関係のソースまたはターゲットのどちらであるかを示す。
エクステント114:ポイントインタイム・コピー関係に含まれるトラックのエクステント(範囲)を含むボリューム内のトラックを識別する。
ボリューム対116:関係のもう一方のボリュームを識別する。
関係ブロック106a、106b、…、106nを、リンク・リストに配置することができる。関係メタデータ102の、使用されていないブロックを、関係ブロックとして関係情報を保管するのに使用するのに使用可能な空きブロックの空きリストに保管することができる。関係ブロック106a、106b、…、106nを、固定長およびインデックス付きとし、インデックスを介してこれらにアクセスするようにすることができる。
ビットマップ・メタデータ104には、ボリューム内のトラックごとに1ビットを備える1つまたは複数のビットマップ・データ構造が含まれる。ビットが「オン」である場合に、これは、対応するターゲット・トラックに、まだソースからのポイントインタイム・データが含まれず、そのデータをコピーしなければならないことを示す。エクステントの範囲に対応するビット値を、関係ビットマップ・メタデータ104のオフセットに直接にマッピングすることができる。
図6に、インメモリ関係テーブル20のデータ構造実施形態を示す。ストレージ・コントローラ2によって管理されるボリュームごとに1つのインメモリ関係テーブル20を設けることができる。インメモリ関係テーブル20には、複数の要素(element)130a、130b、130c、および130dが含まれ、これらの要素のそれぞれが、対応するボリューム内の連続するトラックのエクステントを表す。図7に、図6の要素130a、130b、130c、および130dなどの要素130のそれぞれの内容を示すが、この要素には、ボリューム内のトラックの連続する範囲の始めと終りを表す開始トラック132および終了トラック134ならびに1つまたは複数の関係項目(entry)140a、140b、および140cへのポインタのアレイ136が含まれる。関係項目は、リンク・リストに置いても置かなくてもよい。さらに、複数の要素が、同一の関係項目140a、140b、および140cをポイントすることができる。図6に、要素130a、130b、および130dが、関係項目140a、140b、および140cをポイントするポインタ136a、136b、136c、および136dによって表されるように、ポイントインタイム・コピー関係に含まれるトラックの範囲を表し、要素130a、130b、および130dによって表されるトラックを含む関係に関する情報が提供されることが示されている。要素130cは、関係項目140a、140b、および140cへのポインタがないことによって示されるように、ポイントインタイム関係に含まれないトラックの範囲を表す。要素、たとえば要素130aに、異なる関係項目140a、140bをポイントするポインタ136a、136bのアレイが含まれる場合に、そのトラックの範囲は、2つの関係に関連し、その範囲が、複数のターゲットへのソースであることが示される。
図8に、図6の関係項目140a、140b、および140cなどの各関係項目140に含めることができる内容を示すが、これには、関係役割112または関係ID110(図5)あるいはその両方などのボリューム・メタデータ100内の対応する関係ブロック106a、106b、…、106nからの持続的な関係情報150と、関係項目140によって表される関係に関する持続的な情報を含む関係ブロック106へのポインタ152が含まれる。関係項目140内のポインタ152は、図6でポインタ152a、152b、および152cとして示されている。ポインタ152に、さらに、関係メタデータ162内の対応する関係ブロックへのインデックスを含めることができる。図6には、さらに、ボリューム・メタデータ160の関係メタデータ162部分内の、ポインタ152a、152b、および152cによってアドレッシングされる関係ブロック164a、164b、および164cが示されている。インメモリ関係テーブル(IMRT)20には、さらに、インメモリ関係テーブル20に関係するボリューム10a、10b、…、10n、12a、12b、…、12mを識別するボリューム情報166が含まれる。
本明細書に記載のデータ構造を用いると、関係情報の多くが、ボリューム10a、10b、…、10n、12a、12b、…、12m(図1)を用いて保管されるボリューム・メタデータ100内の持続性ストレージで維持される。さらにある種の実施形態で、関係の各メンバすなわちソースおよびターゲットによって、めいめいのボリュームに関する関係メタデータが別々に維持される。この形で、関係に含まれるボリュームに障害が発生する場合に、ストレージ・コントローラ2は、まだ、障害を発生したボリュームとのポイントインタイム・コピー関係にあるソースまたはターゲットが実際に関係の一部であるかどうかを判定でき、したがって、デステージング動作およびステージング動作中に特別な扱いを必要とするかどうかを判定することができる。
図9に、ストレージ・コントローラ2によって管理されるボリューム10a、10b、…、10n、12a、12b、…、12m内のボリューム・メタデータ100からインメモリ関係テーブル(IMRT)20を初期化する、ストレージ管理ソフトウェア18で実施される論理を示す。初期化の始めに(ブロック200で)、ストレージ管理ソフトウェア18によって、ストレージ・コントローラ2からアクセス可能なボリュームのそれぞれについて、ブロック202から226のループが実行される。(ブロック208で)ボリュームiのアクセスされるボリューム・メタデータ100に関係ブロック106がない場合に、制御は、次のボリュームに関するブロック226に進んで、IMRT20は、ボリュームiについて構成されない。ボリュームに関してIMRT20がないことの揮発性の指示を、ボリュームiのボリューム構造内で行うことができる。代替案では、関係ブロックがない場合に、そのボリュームに関する関係がないことを示すNULL要素をポイントするIMRT20を構成することができる。そうではなく(ブロック208で)、ボリュームiの関係ブロック106がある場合には、関係ブロックをポイントしないIMRT20が、メモリ16内で構成される(ブロック212で)。その後、ボリュームiの関係ブロックjごとに、ブロック214から224のループを実行する。最初のブロックから最後のブロックまでの関係ブロックjのそれぞれについて、関係ブロックj内のトラックのエクステント114(図5)内で識別される開始トラックおよび終了トラックを含む開始フィールド132および終了フィールド134(図7)を示す、IMRT20内の1つまたは複数の要素130が作られる(ブロック216で)。構成された要素を、ボリュームiの連続する前のトラックを表す要素にリンクする(ブロック218で)。ストレージ管理ソフトウェア18によって、さらに、関係情報IDおよび役割150(図8)ならびにボリューム・メタデータ内のアクセスされる関係ブロックjへのポインタ152など、持続的な関係ブロックjからの関係情報を含むIMRT20内の関係項目140が構成される(ブロック220で)。さらに、ある関係から前の関係へのリンクを追加することができる。ポインタに、関係ブロック106a、106b、…、106n(図4)のアレイへのインデックスを含めることができる。関係項目は、アレイに編成され、アレイ内の各関係項目140a、140b、および140cのインデックスは、対応する関係ブロック164a、164b、および164cのインデックスによって決定される。制御は、ブロック214に戻って(ブロック222で)、関係メタデータ102内の次の関係ブロック106を処理する。ブロック208からまたはボリュームiの関係ブロックのすべてを処理した後に、制御は、ブロック202に戻って(ブロック226で)、ストレージ・コントローラ2によって管理されるデバイス内のさらなるボリュームの情報を処理する。
図9の論理の結果として、関係を含むIMRT20が、ストレージ・コントローラ2によって管理されるボリュームごとにメモリ16に追加されるが、このIMRT20は、ユーザがポイントインタイム・コピー関係に含まれるトラックに関する入出力を実行する時に、ストレージ・コントローラ2がポイントインタイム・コピー関係のデータ保全性を維持できるようにするのに使用される。
図10および11に、新しい確立されたポイントインタイム・コピー関係のソース・ボリュームおよびターゲット・ボリュームのIMRTを更新するためにストレージ管理ソフトウェア18によって実行される動作を示す。図10に関して、追加された関係を反映するためのIMRTの更新の開始時に(ブロック250で)、関係に含まれる最初のソース・ボリュームおよびターゲット・ボリュームについて、ブロック252から282のループが実行される。ブロック254で、それぞれが新しい関係に関する情報を供給する関係ブロックを追加し、新しい関係のすべてのトラックがソースからターゲットにコピーされていないことを示すために関係ビットマップ104を更新することによって、ボリューム・メタデータ100(最初のソースおよびターゲットに関する)を更新する。関係に関する情報を持続性メタデータに追加した後に、関係項目140が、ある関係情報150(図8)を含めて、ボリューム(ソースまたはターゲット)についてIMRT20内で生成され(ブロック256で)、ソース・ボリュームまたはターゲット・ボリューム内の持続性の関係ブロック164a、164b、および164cへのポインタ152が、関係項目140について生成されて、メモリ内の関係の表現(関係項目140)が、ストレージ内の対応する持続性の関係ブロック106に関連付けられる。ストレージ管理ソフトウェア18によって、新しい関係に含まれるトラックのエクステントを含む1つまたは複数の要素130が突き止められる(ブロック258で)。
(ブロック262で)要素iによって表されるすべてのトラックが、新しい関係のトラックのエクステントに含まれる場合に、ポインタ136が追加され(ブロック264で)、要素iが、新しい関係を表す関係項目140に関連付けられる。そうではなく(ブロック262で)、要素iによって表されるトラックの一部だけが、新しい関係のトラックのエクステントにオーバーラップする場合には、図11に関して、要素iに、新しい関係のトラックのエクステントの最初のトラックが含まれるかどうかを判定する(ブロック266で)。要素iに(ブロック266のno分岐から)新しい関係のトラックのエクステントの最後のトラックが含まれる場合に、要素iを(ブロック268で)、2つの新しい要素に置換し、第1の新しい要素には、関係エクステントにオーバーラップし、新しい関係のトラックのエクステントの最後のトラックで終わるトラックが含まれ、第2の新しい要素には、関係エクステントにオーバーラップしないトラックが含まれる。要素iに(ブロック266のyes分岐から)エクステントの最初のトラックが含まれる場合に、要素iを(ブロック270で)2つの新しい要素に置換し、第1の新しい要素には、関係エクステントにオーバーラップしないトラックが含まれ、第2の新しい要素jには、関係エクステントにオーバーラップし、関係エクステントの最初のトラックから始まるトラックが含まれる。(ブロック272で)要素jに、要素jの最後のトラックでない、エクステントの最後のトラックが含まれる場合に、要素jについてブロック268の動作を実行して(ブロック274で)、エクステントにオーバーラップしない要素jの終りのトラックを抽出するためにさらなる分割を実行し、そのようなオーバーラップしないトラックをもう1つの要素に置く。2つまたは3つの新しい要素が、要素のリンク・リストの、置換された要素が配置されていた場所に追加される。
要素iを2つまたは3つの新しい要素に置換した後に、置換された要素iによってポイントされるすべての関係項目への1つまたは複数のポインタ136を、(ブロック276で)2つまたは3つの新しい要素130に追加する。作成された関係項目140をポイントする新しい関係からのトラックを含むポインタ136を新しい要素に追加して(ブロック278で)、関係エクステントのトラックを表す新しい要素を、その関係を表す関係項目に関連付ける。その後、制御は、新しい関係のトラックに含まれる次に突き止められる要素について、図10のブロック260に戻る(ブロック280で)。新しい関係のソース・ボリュームに関係するすべての要素を処理した後に、制御は、追加されたポイントインタイム・コピー関係を反映するターゲット・ボリュームに関するIMRT20の更新のためにブロック252に戻る(ブロック282で)。
図12に、関係全体から撤回するか関係全体を終了するためにストレージ管理ソフトウェア18によって実行される動作を示す。図12の動作は、ポイントインタイム・コピー関係のすべてのトラックが、ソース・ボリュームからターゲット・ボリュームにコピーされた後に実行することができる。代替案では、管理者が、関係全体を終了すると決定することによって、関係全体を撤回することができる。関係全体を撤回する動作を開始する(ブロック300で)際に、ストレージ管理ソフトウェア18によって、ソース・ボリュームおよびターゲット・ボリュームの関係メタデータ102から、削除される関係のソース・トラックおよびターゲット・トラックのエクステントが判定される(ブロック302で)。撤回要求によって、関係エクステントを供給することができ、これを使用して、IMRT20または関係メタデータ102あるいはその両方に照会して、ソース・ボリュームおよびターゲット・ボリュームのボリューム・メタデータを突き止めることができ、このボリューム・メタデータに、関係の指定されたエクステント114または関係ID110(図5)が含まれる。撤回される関係の最初のターゲット・ボリュームについて、ブロック304から326のループを実行し、次に、ソース・ボリュームについて実行する。ブロック306で、撤回される関係を表すソースおよびターゲットのボリューム・メタデータ100の関係ブロック106を削除する。削除される関係を表す(まずターゲット、次にソース)ボリュームのIMRT20の関係項目140を除去する(ブロック308で)。その後、ストレージ管理ソフトウェア18によって、削除された関係項目140をアドレッシングする1つまたは複数の要素130が突き止められ(ブロック310で)、除去された関係項目140へのポインタ136が、突き止められた要素から削除される(ブロック312で)。
撤回される関係に関する情報を削除した後に、ストレージ管理ソフトウェア18によって、ブロック314での処理が開始されて、正確に同一の関係項目をポイントする要素および関係項目をポイントしない要素がマージされる。ブロック314で、ストレージ管理ソフトウェア18によって、除去されたエクステントにオーバーラップする、IMRT20内の最初の要素130a(図6)がアクセスされ、(ブロック316で)アクセスされた要素と同一の関係項目をポイントするか、関係項目を全くポイントしない0個以上の後続の連続する要素が判定される。(ブロック318で)1つまたは複数の後続の要素130が突き止められる場合に、アクセスされた要素およびすべての判定された後続要素が、アクセスされた要素および突き止められた要素の同一の0個以上のポインタ136を有するアクセスされた要素および突き止められた要素のすべてのシーケンシャル・トラックを表す単一の要素に置換される。(ブロック318で)後続の要素130が突き止められない場合に、最後にアクセスされた要素に続く(ブロック318のno分岐からマージが行われない場合)または最後にマージされた要素に続く(ブロック320からマージが発生する場合)複数の要素があるかどうかの判定が行われる(ブロック322で)。マージできる要素がまだある場合に、ストレージ管理ソフトウェア18によって、(ブロック324で)最後にアクセスされた要素(マージが行われない場合)または突き止められたマージされた要素(マージが行われた場合)に続く要素にアクセスする。次の要素にアクセスした(ブロック324で)後に、制御は、ブロック316に戻って、次にアクセスされた要素と後続の要素のマージが試みられる。(ブロック322で)マージに使用可能な複数の要素がない場合には、制御は(ブロック326で)ブロック304に戻って、撤回された関係がソースIMRT20から除去される。
図13および14に、連続するトラックのサブセットをポイントインタイム・コピー関係のエクステントから除去するためにストレージ管理ソフトウェア18で実行される動作を示す。この動作は、関係エクステント内のトラックの一部がソースおよびターゲットからコピーされた場合に、ソースおよびターゲットのコピーされたトラックを将来のポイントインタイム関係で使用可能にするために実行することができる。さらに、管理者からの要求に応答してなど、他の情況でトラックをエクステントから除去することができる。図13に関して、関係エクステント内のトラックのサブセットを撤回する部分撤回の動作の開始時に(ブロック350で)、ソース・ボリュームおよびターゲット・ボリュームの関係メタデータ102から、削除される関係のソース・トラックおよびターゲット・トラックのエクステントを判定する(ブロック352で)。撤回要求によって、関係IDまたは関係エクステントを供給することができ、この関係IDまたは関係エクステントを使用して、関係メタデータ102に照会して、部分的撤回の対象になる関係に関するメタデータを含むソース・ボリュームおよびターゲット・ボリュームを突き止めることができる。第1に関係のターゲット・ボリューム、第2にソース・ボリュームについてブロック354から図14の378までのループを実行して、関係の対象のトラックのエクステントからトラックのサブセットを撤回する。ブロック356で、ストレージ管理ソフトウェア18によって、部分的撤回の対象になるトラックを含む1つまたは複数の要素130を突き止める。次に、撤回されるトラックを含む突き止められた要素iのそれぞれについて、ブロック358から図14の372までの内側ループを実行する。(ブロック360で)要素iによって表されるすべてのトラックが、関係からの撤回の対象である場合に、撤回の対象である関係項目140への要素i内のポインタ136を除去する(ブロック362で)。
(ブロック360で)要素iによって表されるトラックの一部が、撤回の対象でない場合に、関係から撤回されるトラックの範囲の最後のトラックが要素iに含まれるかどうかを判定する(図14のブロック364で)。要素iに、撤回される範囲の最後のトラックが含まれる場合に(ブロック364のno分岐から)、要素iを2つの新しい要素に置換し(ブロック366で)、第1の新しい要素には、関係エクステントにオーバーラップし、撤回されるトラックの範囲の最後のトラックで終わるトラックが含まれ、第2の新しい要素は、撤回されるトラックにオーバーラップしないトラックを表す。(ブロック364のyes分岐から)撤回される範囲の最初のトラックが要素iに含まれる場合に、要素iを(ブロック368で)2つの新しい要素に置換し、第1の新しい要素iに、撤回されるトラックにオーバーラップしないトラックが含まれ、第2の新しい要素jに、撤回されるトラックにオーバーラップし、撤回されるトラックの範囲の最初のトラックから始まるトラックが含まれる。(ブロック370で)、要素jに、要素jの最後のトラックではない、エクステントの最後のトラックが含まれる場合に、要素jについてブロック366での動作を実行して(ブロック372で)、要素jの末尾のエクステントにオーバーラップしないトラックを抽出するためにさらに分割し、そのようなオーバーラップしないトラックをもう1つの要素に置く。2つまたは3つの新しい要素を、要素のリンク・リストの、置換された要素が配置されていた場所に追加する。ブロック366または370から、制御はブロック374に進み、置換された要素iによってポイントされるすべての関係項目をポイントする1つまたは複数のポインタを両方の新しい要素に追加し、(ブロック376で)撤回の対象であるトラックを含む、新しい要素からの関係項目140へのポインタを削除する。次に、制御は、(ブロック378で)ブロック358に進んで、撤回の対象であるトラックのすべてを、撤回の対象である関係から除去する。撤回の対象である関係からトラックを除去した後に、ストレージ管理ソフトウェア18によって、図12のステップ314から324を実行して(ブロック380で)、同一の関係項目をポイントするか関係項目をポイントしない連続する要素130をマージする。ターゲット・ボリュームの関係からトラックを除去した後に、制御は(ブロック382で)ブロック354に戻って、ソース・ボリュームから関係のトラックを除去する。
図13および14の動作の結果は、関係エクステントのトラックのサブセットが、ソースおよびターゲットのIMRT20ならびにボリューム・メタデータの関係から除去されると同時に、部分的撤回の対象でないトラックに関して関係が残されることである。撤回の後に、エクステントから撤回されたトラックは、さらに確立される関係での使用に使用することができる。さらに、そのような撤回されるトラックのデステージングおよびステージングを、追加のインターセプト検査を実行する必要なしに行うことができる。
代替実施形態では、図13から14の論理を、関係の一部を撤回する時に使用しなくすることができる。その代わりに、古い(先在する)関係を置換するために図10および11の動作を実行することによって1つまたは複数の関係を追加することができ、新しい関係のソース・エクステントまたはターゲット・エクステントあるいはその両方が、古い関係のエクステントのサブセットになる。その後、図12の論理を使用して、古い(先在する)関係を構成するエクステントを除去する。
図15に、本発明の実施形態による、デステージング動作およびステージング動作を実行するためにメモリ16内のIMRT20を使用するのにストレージ管理ソフトウェア18によって実行される動作を示す。キャッシュ14a、14b内のトラックのデステージングまたはステージングの要求を受け取る時に(ブロック400で)、デステージングまたはステージングされるトラックを含むボリュームのIMRT20を判定し(ブロック402で)デステージングまたはステージングされるトラックを含む、判定されたIMRT20内の要素130を突き止める(ブロック404で)。突き止められた要素に関係項目140へのポインタ136(図7)が含まれる場合(ブロック406で)に、ストレージ管理ソフトウェア18によって、(ブロック408で)ステージ・インターセプト・ルーチンまたはデステージ・インターセプト・ルーチンが開始されて、ステージングまたはデステージングを行う時のポイントインタイム・コピー関係のデータ保全性が保証される。ステージ・インターセプトまたはデステージ・インターセプトによって、ターゲット・ステージングまたはソース・デステージングを実行する前に、ソース・トラックが、ポイントインタイム・コピー関係の対応するターゲット・トラックにコピーされるか、ターゲット・キャッシュ14bにステージングされることが保証される。関係項目140が処理されて、関係メタデータ102およびビットマップ104が突き止められて、トラックがソースからターゲットにコピーされたかどうかが判定され、ステージ・インターセプトまたはデステージ・インターセプトを処理する方法が決定される。そうではなく(ブロック406で)、突き止められた要素130に、関係項目140へのポインタ136が含まれない場合には、トラックのデステージングまたはステージングが実行される。
図16に、エラー・リカバリ処理を開始するためにストレージ管理ソフトウェア18によって実行される動作を示すが、このエラー・リカバリ処理は、電力消失後のコールド・スタート、ウォーム・スタート初期化、または電力消失なしのリブート、あるいは他の検出されたエラー状態に応答して実行することができる。エラー・リカバリ処理の開始時に(ブロック450で)、ストレージ管理ソフトウェア18によって、図9の動作が実行されて、ストレージ・コントローラ2によって管理されるすべてのボリュームのメモリ内のIMRT20が再構築される。ある種の実施形態で、メモリが失われたか、IMRTが一貫性のない状態または破壊されている場合に限って、IMRTが再構築される。その後、ストレージ管理ソフトウェア18によって、(ブロック454で)関係のソースを表すソース関係項目のそれぞれについて、同一の関係IDを有するIMRT内の対応するターゲット関係項目があるかどうかを検査することによって、構築されたIMRT20を検討するための検証動作が実行される。上で述べたように、関係項目140に、関係項目140がそれのために定義されたボリュームがソースまたはターゲットのどちらに関するかおよび関係IDなどの関係情報150(図8)を含めることができる。ソース関係項目140が突き止められた時に、ストレージ管理ソフトウェア18によって、同一のまたは異なるIMRT20内の他の関係項目140ならびに不揮発性の関係メタデータ162内の情報を照会して、1つのIMRTに、同一の関係IDを有するターゲットを示す関係項目140が含まれるかどうかを判定することができる。(ブロック456で)ターゲット関係項目が、IMRT20内で構築されていない場合に、制御が図12のブロック304から326に進んで(ブロック458で)、ソース関係メタデータ102内の関係ブロック106a、106b、…、106nを除去し、ソースIMRT20から関係項目140を除去する。
(ブロック456で)各突き止められたソース関係項目に対応するターゲット関係項目がある場合に、ストレージ管理ソフトウェア18によって、(ブロック460で)関係のソースを表すターゲット関係項目のそれぞれについて、同一の関係IDを有するIMRT内に対応するソース関係項目があるかどうかを検査し、関係の各ソースについてその逆を検査することによって、構築されたソースIMRT20を検討するための検証動作を実行する。ターゲットに関する関係項目140を突き止めた時に、ストレージ管理ソフトウェア18によって、同一のまたは異なるIMRT20内の他の関係項目140を照会して、その関係情報150から関係項目140が同一の関係IDを有するソースに関するものであることが示される関係項目140が1つのIMRTに含まれるかどうかを判定することができる。(ブロック462で)IMRT20内でソース関係項目が作成されていない場合に、制御は、図12のブロック304から326の実行に進んで(ブロック464で)、ターゲット関係メタデータ102内の関係ブロック106a、106b、…、106nを除去し、ターゲットIMRT20から関係項目140を除去する。
追加の実施形態の詳細
上で説明した、ポイントインタイム・コピー関係を確立し、管理する技法は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組合せを作る標準的なプログラミング技法またはエンジニアリング技法あるいはその両方を使用して、方法、装置、または製造品として実施することができる。用語「製造品」は、本明細書では、ハードウェア・ロジック(たとえば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定応用分野向け集積回路(ASIC)など)、または、磁気記憶媒体(たとえば、ハード・ディスク・ドライブ、フロッピ・ディスク、テープなど)、光学媒体(CD−ROM、光ディスクなど)、揮発性および不揮発性のメモリ・デバイス(たとえば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウェア、プログラマブル・ロジックなど)などのコンピュータ記憶媒体で実施されるコードまたは論理を指す。コンピュータ可読媒体内のコードは、プロセッサ・コンプレックスによってアクセスされ、実行される。好ましい実施形態を実施するコードは、さらに、伝送媒体を介してまたはファイルサーバからネットワークを介してアクセス可能とすることができる。その場合に、コードを実施する製造品に、ネットワーク伝送回線、無線伝送媒体、空間を介する信号伝搬、無線波、赤外線信号などの伝送媒体を含めることができる。したがって、「製造品(article of manufacture)」に、コードが実施される媒体を含めることができる。さらに、「製造品」に、コードが実施され、処理され、実行される、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントの組合せ、さらにはソフトウェアとしてのプログラムそのものを含めることができる。もちろん、本発明の範囲から逸脱せずに、この構成に対して多数の修正を行うことができ、製造品に、当技術分野で既知のすべての情報担持媒体を含めることができることを、当業者は諒解するであろう。
論理ポイントインタイム・コピー関係を確立する、上で説明した実施形態は、高い可用性が最も重要なクリティカル・データ環境で使用されるシステムを伴う使用について説明された。しかし、本明細書に記載のポイントインタイム・コピー動作を、高い可用性が絶対に必要ではない非クリティカル・データについて使用されるストレージ・システムに適用できることを、当業者は諒解するであろう。
ソース・キャッシュおよびターゲット・キャッシュは、同一のメモリ・デバイス内または別々のメモリ・デバイス内で実施することができる。
ポイントインタイム・コピー関係を管理する、上で説明した技法は、ソース・トラックおよびターゲット・トラックが同一のまたは異なるトラック番号を有する時に適用することができる。
上で説明した実施形態では、関係が、異なるボリュームのトラックの間のポイントインタイム・コピー関係に関するものであった。代替実施形態では、関係に、当技術分野で既知の、追加のタイプのコピー関係またはデータ関係を含めることができる。
図9から16に示された論理では、ある順序で発生するあるイベントが示された。代替実施形態では、ある動作を、異なる順序で実行する、修正する、あるいは除去することができる。さらに、ステップを、上で説明した論理に追加することができ、なおかつ説明した実施形態に準拠することができる。さらに、本明細書に記載の動作を、シーケンシャルに行うことができ、あるいは、動作を、並列に処理することができる。さらに、動作を、単一の処理ユニットによって、または分散処理ユニットによって実行することができる。
変数nおよびmは、説明される実施形態のいくつかの整数変数を示すのに使用され、変数nおよびmによって、異なる場合に使用される時に同一のまたは異なる整数を示すことができる。
図17に、図1に示されたホストおよびストレージ・コントローラなどのネットワーク・コンポーネントのコンピュータ・アーキテクチャ500の1実施形態を示す。アーキテクチャ500に、プロセッサ502(たとえば、マイクロプロセッサ)、メモリ504(たとえば、揮発性メモリ・デバイス)、ストレージ506(たとえば、磁気ディスク・ドライブ、光学ディスク・ドライブ、テープ・ドライブなどの不揮発性ストレージ)を含めることができる。ストレージ506に、内部記憶装置あるいは付加されるかネットワーク・アクセス可能なストレージを含めることができる。ストレージ506内のプログラムが、当技術分野で既知の形で、メモリ504にロードされ、プロセッサ502によって実行される。このアーキテクチャには、さらに、ネットワークとの通信を可能にするネットワーク・カード508が含まれる。入力装置510が、プロセッサ502にユーザ入力を供給するのに使用され、入力装置510には、キーボード、マウス、ペンスタイラス、マイクロホン、接触感知型ディスプレイ・スクリーン、あるいは当技術分野で既知の他のアクティベーション方法または入力方法を含めることができる。出力装置512によって、プロセッサ502から送られる情報をレンダリングすることができ、あるいは、出力装置512は、ディスプレイ・モニタ、プリンタ、ストレージなどの他のコンポーネントである。
本発明のさまざまな実施形態の前述の説明は、例示および説明のために提示されたものである。前述の説明は、網羅的であることまたは開示される正確な形態に本発明を制限することを意図されたものではない。上の教示に鑑みて、多数の修正形態および変形形態が可能である。本発明の範囲は、この詳細な説明によって制限されるのではなく、請求項によって制限されることが意図されている。上の明細書、例、およびデータによって、本発明の構成の製造および使用の完全な説明が提供される。本発明の多数の実施形態を、本発明の趣旨および範囲から逸脱せずに作ることができるので、本発明は、請求項に存在する。
説明された実施形態によって、ある関係のソース・トラックおよびターゲット・トラックが異なるトラック番号を有することを可能にするポイントインタイム・コピー関係を管理する技法が提供される。ある関係のソース・トラックおよびターゲット・トラックが異なるトラック番号に存在することを可能にすることによって、ポイントインタイム・コピー関係を確立する時の追加の柔軟性がもたらされ、ポイントインタイム・コピー関係のより多くの組合せを確立できるようになる。
本発明の諸態様が実施されるコンピューティング環境を示す図である。 本発明の実施形態による、ソース・ボリューム内のトラックとターゲット・ボリューム内のトラックの間の関係を示す図である。 本発明の実施形態による、ソース・ボリューム内のトラックとターゲット・ボリューム内のトラックの間の関係を示す図である。 本発明の実施形態による、コピー関係でのソース・トラックとターゲット・トラックの関係を表すために維持される情報の実施形態を示す図である。 本発明の実施形態による、コピー関係でのソース・トラックとターゲット・トラックの関係を表すために維持される情報の実施形態を示す図である。 本発明の実施形態による、コピー関係でのソース・トラックとターゲット・トラックの関係を表すために維持される情報の実施形態を示す図である。 本発明の実施形態による、コピー関係でのソース・トラックとターゲット・トラックの関係を表すために維持される情報の実施形態を示す図である。 本発明の実施形態による、コピー関係でのソース・トラックとターゲット・トラックの関係を表すために維持される情報の実施形態を示す図である。 本発明の実施形態による、メモリ内の関係情報を初期化する動作を示す図である。 本発明の実施形態による、新しい関係を反映するためにメモリ内の関係情報を更新する動作を示す図である。 本発明の実施形態による、新しい関係を反映するためにメモリ内の関係情報を更新する動作を示す図である。 本発明の実施形態による、関係からのトラックの撤回を反映するためにメモリ内の関係情報を更新する動作を示す図である。 本発明の実施形態による、関係からのトラックの撤回を反映するためにメモリ内の関係情報を更新する動作を示す図である。 本発明の実施形態による、関係からのトラックの撤回を反映するためにメモリ内の関係情報を更新する動作を示す図である。 本発明の実施形態による、キャッシュからのトラックをデステージングおよびステージングする時に関係を考慮する動作を示す図である。 本発明の実施形態による、リカバリ処理を実行する動作を示す図である。 ホストおよびストレージ・コントローラなどのネットワーク環境内のコンピューティング・コンポーネントおよび他のコンピューティング・デバイスのアーキテクチャを示す図である。
符号の説明
20 インメモリ関係テーブル
130a 要素
130b 要素
130c 要素
130d 要素
136a ポインタ
136b ポインタ
136c ポインタ
136d ポインタ
140a 関係項目
140b 関係項目
140c 関係項目
152a ポインタ
152b ポインタ
152c ポインタ
160 ボリューム・メタデータ
162 関係メタデータ
164a 関係ブロック
164b 関係ブロック
164c 関係ブロック
166 ボリューム情報

Claims (7)

  1. ストレージ・コントローラによりストレージ・デバイス間で1つのターゲット・ボリュームと1つのソース・ボリュームとの間のポイントインタイム・コピーの論理的関係を管理する方法であって、前記ストレージ・コントローラが、
    (a)管理する各ボリュームの既存の論理的関係に関する情報を含む持続的なボリューム・メタデータにアクセスして、少なくとも1つのソース・ボリュームと少なくとも1つのターゲット・ボリュームとの間の前記既存の論理的関係に関するメモリ内の各ボリューム毎に設けられたインメモリテーブルを初期化するステップであって、該インメモリテーブルが、
    (i)少なくとも1つの要素であって、各該要素が、前記各ボリューム内のシーケンシャル・データ・ユニットの範囲を表す、該要素と、
    (ii)少なくとも1つの関係項目であって、各該関係項目が、ターゲットまたはソースの別を示す関係役割を含む1つの論理的関係を表す、該関係項目と、
    (iii)1つの前記要素と複数の前記関係項目との間または複数の前記要素と1つの前記関係項目との間に定義可能な、少なくとも1つの要素ポインタであって、各該要素ポインタが、1つの前記要素を1つの前記関係項目に、該要素によって表される範囲に含まれる前記データ・ユニットが該関係項目によって表される前記論理的関係の一部であるように関連付ける、該要素ポインタと、
    (iv)前記関係項目ごとに1つの関係ポインタであって、各該関係ポインタが、1つの前記関係項目を前記各ボリュームの前記ボリューム・メタデータ内の、該関係項目によって表される前記論理的関係に関する情報を提供する関係ブロックに関連付ける、該関係ポインタと
    を含む、当該初期化するステップと、
    (b)少なくとも1つのターゲット・ボリュームと少なくとも1つのソース・ボリュームとの間の新しい論理的関係を記述する関係ブロックを、該ソース・ボリュームおよび該ターゲット・ボリュームのそれぞれの前記ボリューム・メタデータに追加するステップと、
    (c)前記新しい論理的関係を表す新しい関係項目を、前記新しい論理的関係を記述する関係ブロックへの関係ポインタとともに、前記新しい論理的関係の前記ソース・ボリュームおよびターゲット・ボリュームのそれぞれについて、前記メモリ内の前記インメモリテーブルに追加するステップと、
    (d)既存の要素が表すデータ・ユニットの範囲の一部が前記新しい論理的関係に含まれるデータ・ユニットの範囲とオーバーラップする場合に、1つが前記新しい論理的関係に含まれるデータ・ユニットを含む範囲を表し、1つが前記新しい論理的関係に含まれないデータ・ユニットを含む範囲を表す、既存の1つの要素を置換する少なくとも2つの新しい要素を作成するステップと、
    (e)前記新しい論理的関係に含まれるデータ・ユニットを範囲に含む要素ごとに、該要素によって表される範囲に含まれる前記データ・ユニットが前記新しい論理的関係の一部であるように、該要素を前記新しい関係項目に関連付ける1つの新しい要素ポインタを、前記新しい論理的関係の前記ソース・ボリュームおよびターゲット・ボリュームのそれぞれについて、前記メモリ内の前記インメモリテーブルに追加するステップと
    を実行する方法。
  2. 前記少なくとも2つの新しい要素の1つが、前記新しい論理的関係内のデータ・ユニットだけを含む範囲を表し、前記少なくとも2つの新しい要素の1つが、前記新しい論理的関係に含まれないデータ・ユニットだけを含む範囲を表し、追加される1つの前記新しい要素ポインタが、前記新しい論理的関係内のデータ・ユニットだけを範囲に含む前記新しい要素を前記新しい関係項目に関連付ける、請求項に記載の方法。
  3. 前記ストレージ・コントローラが、置換される前記要素が、前記新しい論理的関係が追加される以前の1つの既存の論理的関係を表す1つの関係項目に関連する場合に、前記新しい要素ごとに1つ、置換される前記要素に関連する前記関係項目に前記新しい要素を関連付ける要素ポインタを、前記メモリ内の前記インメモリテーブルに追加するステップをさらに実行する、請求項に記載の方法。
  4. ストレージ・コントローラによりストレージ・デバイス間で1つのターゲット・ボリュームと1つのソース・ボリュームとの間のポイントインタイム・コピーの論理的関係を管理するシステムであって、
    (a)管理する各ボリュームの既存の論理的関係に関する情報を含む持続的なボリューム・メタデータに従って初期化される、少なくとも1つのソース・ボリュームと少なくとも1つのターゲット・ボリュームとの間の既存の論理的関係に関する各ボリューム毎に設けられたインメモリテーブルを含むメモリであって、該インメモリテーブルが、
    (i)少なくとも1つの要素であって、各該要素が、前記各ボリューム内のシーケンシャル・データ・ユニットの範囲を表す、該要素と、
    (ii)少なくとも1つの関係項目であって、各該関係項目が、ターゲットまたはソースの別を示す関係役割を含む1つの論理的関係を表す、該関係項目と、
    (iii)1つの前記要素と複数の前記関係項目との間または複数の前記要素と1つの前記関係項目との間に定義可能な、少なくとも1つの要素ポインタであって、各該要素ポインタが、1つの前記要素を1つの前記関係項目に、該要素によって表される範囲に含まれる前記データ・ユニットが該関係項目によって表される前記論理的関係の一部であるように関連付ける、該要素ポインタと、
    (iv)前記関係項目ごとに1つの関係ポインタであって、各該関係ポインタが、1つの前記関係項目を、前記ボリューム・メタデータ内の、該関係項目によって表される前記論理的関係に関する情報を提供する関係ブロックに関連付ける、該関係ポインタと
    を含む、当該メモリと、
    (b)少なくとも1つのターゲット・ボリュームと少なくとも1つのソース・ボリュームとの間の新しい論理的関係を、該ソース・ボリュームおよび該ターゲット・ボリュームのそれぞれの前記ボリューム・メタデータに追加する手段と、
    (c)前記新しい論理的関係を表す新しい関係項目を、前記新しい論理的関係の前記ソース・ボリュームおよびターゲット・ボリュームのそれぞれについて、前記メモリ内の前記インメモリテーブルに追加する手段と、
    (d)既存の要素が表すデータ・ユニットの範囲の一部が前記新しい論理的関係に含まれるデータ・ユニットの範囲とオーバーラップする場合に、1つが前記新しい論理的関係内のデータ・ユニットを含む範囲を表し、1つが前記新しい論理的関係に含まれないデータ・ユニットを含む範囲を表す、1つの要素を置換する少なくとも2つの新しい要素を作成する手段と
    (e)前記新しい論理的関係に含まれるデータ・ユニットを範囲に含む要素ごとに、該要素によって表される範囲に含まれる前記データ・ユニットが前記新しい論理的関係の一部であるように、該要素を前記新しい関係項目に関連付ける1つの新しい要素ポインタを、前記新しい論理的関係の前記ソース・ボリュームおよびターゲット・ボリュームのそれぞれについて、前記メモリ内の前記インメモリテーブルに追加する手段と
    を含むシステム。
  5. ストレージ・コントローラによりストレージ・デバイス間でメモリ内で1つのターゲット・ボリュームと1つのソース・ボリュームとの間のポイントインタイム・コピーの論理的関係を管理するためのコンピュータ実行可能なプログラムであって、前記ストレージ・コントローラに対し、
    (a)管理する各ボリュームの既存の論理的関係に関する情報を含む持続的なボリューム・メタデータにアクセスして、少なくとも1つのソース・ボリュームと少なくとも1つのターゲット・ボリュームとの間の既存の論理的関係に関するメモリ内の各ボリューム毎に設けられたインメモリテーブルを初期化する手段であって、該インメモリテーブルが、
    (i)少なくとも1つの要素であって、各該要素が、前記ボリューム内のシーケンシャル・データ・ユニットの範囲を表す、該要素と、
    (ii)少なくとも1つの関係項目であって、各該関係項目が、ターゲットまたはソースの別を示す関係役割を含む1つの関係を表す、該関係項目と、
    (iii)1つの前記要素と複数の前記関係項目との間または複数の前記要素と1つの前記関係項目との間に定義可能な、少なくとも1つの要素ポインタであって、各該要素ポインタが、1つの前記要素を1つの前記関係項目に、該要素によって表される前記データ・ユニットが該関係項目によって表される前記論理的関係の一部であるように関連付ける、該要素ポインタと、
    (iv)前記関係項目ごとに1つの関係ポインタであって、各該関係ポインタが、1つの前記関係項目を、前記ボリューム・メタデータ内の、該関係項目によって表される前記論理的関係に関する情報を提供する関係ブロックに関連付ける、該関係ポインタと
    を含む、当該初期化する手段と、
    (b)少なくとも1つのターゲット・ボリュームと少なくとも1つのソース・ボリュームとの間の新しい論理的関係を、該ソース・ボリュームおよび該ターゲット・ボリュームのそれぞれの前記ボリューム・メタデータに追加する手段と、
    (c)前記新しい論理的関係を表す新しい関係項目を、前記新しい論理的関係の前記ソース・ボリュームおよびターゲット・ボリュームのそれぞれについて、前記メモリ内の前記インメモリテーブルに追加する手段と、
    (d)既存の要素が表すデータ・ユニットの範囲の一部が前記新しい論理的関係に含まれるデータ・ユニットの範囲とオーバーラップする場合に、1つの要素を置換する少なくとも2つの新しい要素を作成する手段であって、前記新しい要素は、1つが前記新しい論理的関係内のデータ・ユニットを含む範囲を表し、1つが前記新しい論理的関係に含まれないデータ・ユニットを含む範囲を表す、該作成する手段と、
    (e)前記新しい論理的関係に含まれるデータ・ユニットを範囲に含む要素ごとに、該要素によって表される範囲に含まれる前記データ・ユニットが前記新しい論理的関係の一部であるように、該要素を前記新しい関係項目に関連付ける1つの新しい要素ポインタを、前記新しい論理的関係の前記ソース・ボリュームおよびターゲット・ボリュームのそれぞれについて、前記メモリ内の前記インメモリテーブルに追加する手段と
    を実現する、プログラム。
  6. 前記少なくとも2つの新しい要素の1つが、前記新しい論理的関係内のデータ・ユニットだけを含む範囲を表し、前記少なくとも2つの新しい要素の1つが、前記新しい論理的関係に含まれないデータ・ユニットだけを含む範囲を表し、前記追加される1つの新しい要素ポインタが、前記新しい論理的関係内のデータ・ユニットだけを範囲に含む前記新しい要素を前記新しい関係項目に関連付ける、請求項に記載のプログラム。
  7. 前記ストレージ・コントローラに対し、さらに、
    置換される前記要素が、前記新しい論理的関係が追加される以前の1つの既存の論理的関係を表す1つの関係項目に関連する場合に、前記新しい要素ごとに1つ、置換される前記要素に関連する前記関係項目に前記新しい要素を関連付ける要素ポインタを、前記メモリ内の前記インメモリテーブルに追加する手段を実現する、請求項に記載のプログラム。
JP2004173661A 2004-06-11 2004-06-11 関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム Expired - Fee Related JP4644446B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004173661A JP4644446B2 (ja) 2004-06-11 2004-06-11 関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004173661A JP4644446B2 (ja) 2004-06-11 2004-06-11 関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム

Publications (2)

Publication Number Publication Date
JP2005352821A JP2005352821A (ja) 2005-12-22
JP4644446B2 true JP4644446B2 (ja) 2011-03-02

Family

ID=35587250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004173661A Expired - Fee Related JP4644446B2 (ja) 2004-06-11 2004-06-11 関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム

Country Status (1)

Country Link
JP (1) JP4644446B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103415843B (zh) * 2011-03-08 2016-12-21 国际商业机器公司 删除多目标体系结构中的源和省空间的目标之间的关系

Also Published As

Publication number Publication date
JP2005352821A (ja) 2005-12-22

Similar Documents

Publication Publication Date Title
US10698773B2 (en) Replicating a source data set to a target data store
US7587564B2 (en) System, method and computer program product for managing data versions
US9965216B1 (en) Targetless snapshots
US7593973B2 (en) Method and apparatus for transferring snapshot data
CN103365743B (zh) 用于在计算环境中处理快照的方法和系统
US6434681B1 (en) Snapshot copy facility for a data storage system permitting continued host read/write access
US8005800B2 (en) Data storage system for fast reverse restore
US7613889B2 (en) System, method, and program for determining if write data overlaps source data within a data migration scheme
US9280578B1 (en) Combining transactions in a metadata transaction log
US8433867B2 (en) Using the change-recording feature for point-in-time-copy technology to perform more effective backups
KR100819022B1 (ko) 하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계 관리
US7433902B2 (en) Non-disruptive backup copy in a database online reorganization environment
US10740187B1 (en) Systems and methods of managing and creating snapshots in a cache-based storage system
US6338114B1 (en) Method, system, and program for using a table to determine an erase operation to perform
US8627011B2 (en) Managing metadata for data in a copy relationship
US7818533B2 (en) Storing location identifier in array and array pointer in data structure for write process management
US20050076263A1 (en) Data I/O system using a plurality of mirror volumes
US7047378B2 (en) Method, system, and program for managing information on relationships between target volumes and source volumes when performing adding, withdrawing, and disaster recovery operations for the relationships
US20060015696A1 (en) Integrated storage device
US8447944B2 (en) Information processing device and data shredding method
JP4644446B2 (ja) 関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060919

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060919

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070814

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071113

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080502

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080606

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080627

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101104

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20101130

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101206

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees