JP3610266B2 - ログ構造化ターゲット記憶装置にデータを書き込む方法 - Google Patents
ログ構造化ターゲット記憶装置にデータを書き込む方法 Download PDFInfo
- Publication number
- JP3610266B2 JP3610266B2 JP24952999A JP24952999A JP3610266B2 JP 3610266 B2 JP3610266 B2 JP 3610266B2 JP 24952999 A JP24952999 A JP 24952999A JP 24952999 A JP24952999 A JP 24952999A JP 3610266 B2 JP3610266 B2 JP 3610266B2
- Authority
- JP
- Japan
- Prior art keywords
- space
- storage device
- data
- host
- source data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
- Y10S707/99957—Garbage collection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ログ構造化ターゲット記憶域(記憶装置)を事前構成することによって、該ターゲット記憶域にソース・データをより効率的にコピーする方法に関する。
【0002】
【従来の技術】
コンピュータの普及に伴い、ユーザが送信、受信、及び処理すべきデータは、一層多くなっている。多くの応用分野では、データ記憶域も重要である。1つの一般的なデータ記憶域構成は、「ログ構造化記憶域」である。ログ構造化は、磁気ディスクのアレイ内のデータ・トラックなどの記憶単位を管理する1つの方法である。
【0003】
ログ構造化構成では、記憶コントローラは、記憶空間を「使用中空間」、「未収集空き空間」、及び「収集済み空き空間」に分類する。使用中空間とは、有効データを保持している記憶空間を言う。未収集空き空間とは、有効データを保持していないにも関わらず、データの記憶には使用できない記憶空間を言う。例えば、データ・レコードが或る論理単位(「トラック」など)の一部のみを占有している場合、その論理単位の未占有部分は未収集空き空間である。この空間は、使用されてはいないが、それ以上のデータを記憶するために使用することができない。なぜなら、データは、トラック全体が一杯であるか否かに関わらず、トラック・サイズのセグメントに記憶されるからである。収集済み空き空間とは、データの記憶に使用可能な記憶空間を言う。この種の記憶空間は、例えば、前に有効データによって占有されていたが、それが削除又はその他の方法で解放されているようなものである。
【0004】
一般に、記憶コントローラは、連係リストを使用して様々なタイプのログ構造化記憶域を追跡する。例えば、別々の連係リストを使用して、使用中空間、未収集空き空間、及び収集済み空き空間を追跡することができる。この空間アカウンティング手法は、管理オーバヘッドをあまり要しないため、多くのユーザにとって有利である。それに対して、非ログ構造化構成では、記憶システムは、記憶域を割り振るためにユーザの要求を受け取り且つこれを処理することができなければならない。このタイプの記憶システムは、まず、データを記憶すべき十分なサイズの記憶域を割り振り、次に、割り振られた記憶域にそのデータを記憶する。ログ構造化記憶システムは、記憶域を割り振る必要をなくす。
【0005】
ログ構造化記憶システムは、事前に記憶域を割り振るのではなく、データを一度に1論理単位ずつ記憶する。記憶コントローラは、記憶すべきデータの各論理単位ごとに、まず「収集済み空き空間」リストを調べて1単位の使用可能な記憶空間を特定し、次に、その空き空間にデータを記憶する。書き込むべきデータが少量である場合、又は大量の収集済み空き空間がある場合、記憶は迅速に完了する。多くの場合、記憶コントローラは、収集プロセスを実行することによって適切なデータ記憶域を特定し、それを収集済み空き空間として再分類することによって、十分な量の収集済み空き空間を事前に確保することができる。このタイプの収集プロセスを本明細書では「オフライン収集プロセス」と呼び、未収集空き空間が特定のしきい値などを超えると、これを周期的に実行することができる。
【0006】
オフライン収集プロセスの使用にも関わらず、書き込むべきデータが収集済み空き空間を超える状況が発生することがある。その場合、記憶コントローラは、本明細書で「オンライン収集プロセス」と呼ぶ、別の収集プロセスを呼び出す。すなわち、収集済み空き空間がなくなると、記憶コントローラは、各記憶トラックごとに以下のステップを実行する。(1)未収集空き空間の1つのトラックを識別し、(2)そのトラックの状況を「収集済み空き空間」に変更し、(3)その解放された単位にデータを書き込み、(4)再使用された単位のリストを「使用中空間」に変更する。オンライン収集プロセスは、オーバーヘッドを最小限にするという観点からは有利であるが、大幅な遅延を起こし、その遅延はユーザによっては長過ぎる場合がある。特に、実行すべき書込み動作が多いにも関わらず、収集済み空き空間が比較的少ない場合には、ユーザは過度の遅延に遭うことがある。この問題を例示する1つの状況は、フル・ボリューム・コピー、すなわち、1ボリューム全体のデータをターゲット記憶域にコピーし、従って多くの書込み動作を必要とするタスクである。
【0007】
この状況の一例を図1に示す。図1には、フル・ボリューム・コピーの様々な段階のログ構造化記憶装置(記憶域)の内容が示されている。このログ構造化記憶装置の最初の内容100は、(フル・ボリューム・コピーに関係のない)他のデータ102と、コピー中ボリュームの既存バージョン104と、幾らかの収集済み空き空間106とを含む。
【0008】
フル・ボリューム・コピー動作が開始すると、まず、空き領域106が一杯になるまで、空き領域106に新規バージョンのデータを書き込む。一杯になった時点で、この記憶装置は内容103を有し、これには以前空いていて現在はコピー中ボリュームの一部分で満たされている領域108が含まれる。この時点で、この記憶装置は一杯である。フル・ボリューム・コピーを続けるには、次に、オンライン収集プロセスを使用して、記憶空間を調べて収集し、より多くの収集済み空き空間を作らなければならない。具体的には、記憶すべきソース・データの各トラックごとにオンライン収集プロセスが呼び出される。これには、ログ構造化アレイを探索して未収集空き空間を探し、次に、データの統合、移動、又はその他の再構成を行って、未収集空き空間を収集済み空き空間に変換する必要がある。例えば、2つのトラックがそれぞれ半分だけ占有されている(すなわち、一方のトラックの半分が使用中空間であり、他のトラックの半分が未収集空き空間である)場合、オンライン収集プロセスは、両トラックからのデータを一緒に単一のトラックに移動させ、古いトラックのアドレスを収集済み空き空間としてリストする。
【0009】
このプロセスをボリューム全体がコピーされるまで続け、そのコピーが完了した時点で、この記憶装置は内容105を有する。具体的には、ボリュームは、108及び110で示すように完全に書き込まれている。次に、既存バージョン104の残り部分112に対して最終的なオフライン収集プロセスが行われるか、又は場合によっては、オフライン収集プロセスが次に起動される前に記憶コントローラがさらにデータを書き込む場合はオンライン収集プロセスが行われる。
【0010】
ユーザによっては、必要な時間遅延のために図1の事例が望ましくないと考える場合がある。主な遅延は、未収集空き空間を収集済み空き空間に変換するためのデータの統合、移動、再構成によって生じる。さらに、オンライン収集プロセスが書き込むべき各トラックごとに呼び出されるため、このプロセスは繰り返し呼び出される。ソース・データがかなりの大きさで、収集済み空き空間が少ない場合、データの記憶効率は最低レベルになる。
【0011】
従って、既存のオンライン収集プロセスは、最終的に記憶プロセス全体を遅らせる特定の未解決の問題のために、ある種のアプリケーションにとっては十分とは言えない。
【0012】
【発明が解決しようとする課題】
本発明は、一般には、ログ構造化ターゲット記憶装置を事前構成することによって、該ターゲット記憶装置にソース・データをより効率的にコピーする方法に関する。本発明は、ホストと、記憶コントローラと、ログ構造化ターゲット記憶装置とを含むシステムで実施可能である。ホストは、記憶データの論理単位を識別するメタデータを維持し、記憶コントローラは、記憶空間を未収集空き空間、収集済み空き空間、又は使用中空間として分類するディレクトリを維持する。
【0013】
【課題を解決するための手段】
まず、ホストは、ソース・データとそのソース・データの論理単位の指定とを含む入力データを受け取る。ホストはそれに応答して、記憶コントローラに対し、指定された論理単位に対応するデータを既に保持しているログ構造化記憶空間のいずれかを未収集空き空間として分類するように指示する。これによって、ログ構造化記憶装置は、ソース・データをより効率的に受け取るように事前構成される。一実施形態では、ホストは、まずメタデータを調べて記憶装置内に指定された論理単位が既に存在しているかどうかを判断し、存在する場合のみ、記憶空間を未収集空き空間として分類する動作に進む。他の実施形態では、ホストは、指定された論理単位のために「空間解放」コマンドを盲目的に発行することができる。その論理単位が記憶装置内にまだ存在していない場合、このコマンドは記憶コントローラによって無視される。
【0014】
事前構成後、ホストは、記憶コントローラに対し、ソース・データをログ構造化記憶装置に書き込むように指示する。記憶コントローラが書込みを完了すると、記憶コントローラはそのディレクトリを更新して、ソース・データによって占有された記憶空間を使用中空間として示し、ホストは、書き込まれたソース・データを指定された論理単位に関連づけるようにメタデータを変更する。
【0015】
一実施形態では、本発明は、ログ構造化ターゲット記憶装置を事前構成することによって該ターゲット記憶装置にソース・データをより効率的にコピーする方法を提供するように実施することができる。
【0016】
本発明は、ユーザに幾つかの明確な利点を提供する。主として、本発明による事前構成は、時間のかかるオンライン収集プロセスを必要とせずに、ソース・データを迅速に受け取るように、ログ構造化ターゲット記憶装置を準備する。従って、書込み動作がより迅速に完了し、書き込むべきレコードが多く、ターゲット記憶装置上に残っている収集済み空き空間が少ない場合は、特にそうである。このような状況のよくある一例は、「フル・ボリューム・コピー」動作である。本発明は、以下の説明から明らかになるように、他の幾つかの利点も備える。
【0017】
【発明の実施の形態】
前述のように、本発明は、ログ構造化ターゲット記憶装置を事前構成することによって、該ターゲット記憶装置にソース・データをより効率的にコピーする方法に関する。
【0018】
<ハードウェア構成要素と相互接続>
記憶システムの構造
本発明の一側面は、後述のようにログ構造化ターゲット記憶装置にソース・データを効率的にコピーするように構成された記憶システムに関する。一例として、このシステムは、図2に示すような様々なハードウェア構成要素及び相互接続によって実施することができる。具体的には、システム200は、ホスト・コンピュータ202(以下「ホスト」と呼ぶ)を含む。ホスト202は、一次記憶サイト204と、二次記憶サイト210と、メタデータ記憶装置216と、テープ記憶装置218とに結合されている。
【0019】
ホスト202は、メインフレーム・コンピュータ、コンピュータ・ワークステーション、パーソナル・コンピュータ、スーパーコンピュータなどの、様々なディジタル処理装置で実施することができる。
【0020】
メタデータ記憶装置216には、一時記憶サイト204、二次記憶サイト210、及びテープ記憶装置218によって記憶されているデータに関する様々な制御情報(以下「メタデータ」と呼ぶ)が保持される。例えば、メタデータ記憶装置216には、名前付きデータセットとそれらが記憶されている論理ボリュームとの間のマッピングなどの、高水準メタデータを保持することができる。メタデータ記憶装置216は、ディスク記憶装置、ホスト202のオンボード記憶装置、バッテリ給電式RAM、又はその他の適合する記憶装置によって実施することができる。
【0021】
図2の例では、一次記憶サイト204は、一次記憶装置208に結合された一次コントローラ206を含む。同様に、二次記憶サイト210は、二次記憶装置214に結合された二次コントローラ212を含む。一次及び二次記憶サイト204/210の各々は、例えばIBM社のRAMAC記憶サブシステムによってそれぞれ実施することができる。この特定の実施形態では、一次及び二次記憶装置208/214は磁気ディスク記憶装置である。
【0022】
一次及び二次記憶装置208/214の磁気ディスク媒体とは異なり、テープ記憶装置218は磁気テープ媒体を使用する。従って、テープ記憶装置218は長期データのアーカイブに適している。例えば、テープ記憶装置218はIBMモデル3590テープ記憶システムとすることができる。
【0023】
前述の例は、本発明を適用することができる1つのハードウェア環境を例示するものである。この特定のセットアップは、災害時復旧などに備えてデータのバックアップ・コピーを維持するのに特に有用である。この応用分野では、一次記憶サイト204は、一次データ又は「ソース」データを記憶するために使用され、二次記憶サイト210及びテープ記憶装置218の一方又は両方は、ソース・データのバックアップ・コピーを維持する。この環境では、ホスト202は、当技術分野で周知のIBM Extended Remote Copy(「XRC」)製品などのデータ移動機構を実施する役割を果たすことができる。
【0024】
ログ構造化記憶装置
本発明の1つの特徴は、ログ構造化ターゲット記憶装置内の(ターゲット)場所にデータをコピーすることである。説明の便宜上、この場所は、図2の二次記憶サイト210であるものとする。コピー動作は、1つ以上のデータセットのコピー、又はフル・ボリューム・コピー動作などのより大規模なコピーを含むことがある。さらに、これらのコピー動作は、移動、移行、リストアなどの、記憶装置にデータを書き込み、それによってデータをコピーする形式の他の動作で実施することができる。
【0025】
ターゲット記憶装置(すなわち、この例では二次記憶装置214)は、ログ構造化記憶装置として構成される。従って、二次コントローラ212は、二次記憶装置214の記憶場所を、(1)収集済み空き空間、(2)未収集空き空間、又は(3)使用中空間として分類する制御情報を維持する。これらの制御情報は、ディレクトリ250内に記憶され、連係リスト、テーブル、データベースなどの、様々な形態に編成することができる。また、二次コントローラ212は、二次記憶装置214内に保持されている各論理単位の名前をそのデータによって実際に占有されている物理空間と相互参照するマップ251も維持する。
【0026】
ディジタル・データ処理装置
前述の全体的データ記憶システムとは異なり、本発明の他の側面は、特にホスト202を実施するように構成されたディジタル・データ処理装置(以下「データ処理装置」と呼ぶ)に関する。
【0027】
図3は、1つのデータ処理装置300の例を示す。このデータ処理装置300は、記憶装置304に結合されたマイクロプロセッサやその他の処理装置などのプロセッサ302を含む。この例では、記憶装置304は、高速アクセス記憶装置306と不揮発性記憶装置308とを含む。高速アクセス記憶装置306は、ランダム・アクセス・メモリから構成することができ、プロセッサ302によって実行されるプログラミング命令を記憶するために使用することができる。不揮発性記憶装置308は、例えば、1つ以上のディスク記憶装置、テープ記憶装置、又はその他の適合する記憶装置から構成することができる。また、データ処理装置300は、プロセッサ302がデータ処理装置300の外部の場所とデータを交換するための、線、バス、ケーブル、電磁リンク、又はその他の手段などの入力/出力線310も含む。
【0028】
前述の特定の説明にも関わらず、当業者なら、前述の装置を異なる構成の機械で実施可能であることが分かるであろう。具体的な例として、高速アクセス記憶装置306及び不揮発性記憶装置308の1つを省くこともできる。さらに、記憶装置304は、プロセッサ302と同じボードに設けることも、データ処理装置300の外部に設けることもできる。
【0029】
<動作>
前述の様々なハードウェア実施形態に加えて、本発明の異なる側面は、ログ構造化ターゲット記憶装置を事前構成することによって、該ターゲット記憶装置にソース・データをより効率的にコピーする方法に関する。
【0030】
信号記録媒体
図2及び図3の環境では、このような方法は、例えば、機械可読命令のシーケンスを実行するように(データ処理装置300によって実施される)ホスト202を動作させることによって実施することができる。これらの命令は、様々なタイプの信号記録媒体に保持させることができる。
【0031】
この信号記録媒体は、例えば、(記憶装置304によって表される)ホスト202内のRAM(図示せず)とすることができる。代替的に、これらの命令は、ホスト202が直接又は間接にアクセスすることができる磁気ディスケット400(図4)などの他の信号記録媒体に保持させることもできる。記憶装置304、ディスケット404、又は他の場所のいずれに保持されているかを問わず、これらの命令は、直接アクセス記憶装置(例えば、通常のディスク記憶装置やRAIDアレイ)、磁気テープ、電子読取り専用メモリ(例えば、ROM、EPROM、又はEEPROM)、光記憶装置(例えば、CD−ROM、WORM、DVD、ディジタル光テープ)、その他の適合する信号記録媒体などの、様々な機械可読データ記憶媒体に記憶することができる。
【0032】
全体的動作シーケンス
図5は、本発明の方法を例示するために、ログ構造化ターゲット記憶装置にデータをコピーするためのシーケンス500を示す。説明の便宜上、図5の例を前述のシステム200の環境に即して説明する。シーケンス500は、ホスト200によって実行され、ステップ502で、ホスト202がソース・データと該ソース・データ用のターゲット論理単位の指定とを含む記憶要求を受け取るときに開始される。例えば、ステップ502が生じるのは、ホスト202が100KBのソース・データセットと、ターゲット論理単位として二次記憶装置214の特定のボリュームの指定とを受け取るようなときである。ターゲット論理単位は、固有のファイル名、ボリューム名、又はその他のデータセット名などの、それに関連づけられたデータの名前を使用して識別することができる。代替的に、各論理記憶単位は、論理ボリューム、レコードのグループ、アドレス・エクステント、データセット、レコード、又はホスト202が好都合とみなす別のデータ単位を指定することもできる。
【0033】
ターゲット記憶装置が二次記憶装置214であるこの例では、ソース・データは、一次記憶装置208又はテープ記憶装置218から発生する。代替例として、ソース・データは、別のコンピュータ、サーバ・コンソール、又は人間のユーザに対するその他のインタフェース、ホスト202又はその他の場所で稼働しているアプリケーション・プログラムなどの、他の情報源から発生する。
【0034】
ステップ502の後、ホスト202は、ソース・データが最小しきい値サイズを満たしているかどうかを問い合わせる(ステップ504)。サイズが満たされている場合、後述のようにソース・データの記憶を開始する前に、「空間解放」を行うことによってデータ記憶が効率化される。しきい値は事前に決定され、ホスト202の事前プログラミング、システム管理者による入力などによって固定することができる。一例を挙げると、このしきい値は約1メガバイトとすることができる。このしきい値は、大規模コピー動作、すなわち(1)1つの記憶装置から他の記憶装置に論理ボリューム全体のデータをコピーする「フル・ボリューム・コピー」、(2)テープ記憶装置218などのバックアップ記憶装置からデータ・ボリューム全体をコピーする「フル・ボリューム・リストア」、(3)一次ボリューム全体をコピーすることによって新しいバックアップ・ボリュームを作成する「XRC初期設定」などについては、容易に満たされる。
【0035】
しきい値が満たされていない場合、データの記憶は、空間解放処置を行っても迅速化される可能性は低い。その場合、ステップ504からステップ510に進み、ターゲット記憶装置214を事前構成せずにソース・データをコピーする。ステップ510の後、シーケンス500はステップ512で終了する。
【0036】
それに対して、ステップ504でしきい値が満たされていることが分かった場合、ホスト202はステップ506で、指定されたターゲット記憶装置214がログ構造化されているかどうかを問い合わせる。ログ構造化されていない場合、(後で詳述する)空間解放の概念は適用できず、ステップ506からステップ510に進み、ターゲット記憶装置214を事前構成せずにソース・データをコピーする。その後、このシーケンス500はステップ512で終了する。
【0037】
ステップ504/506からの否定出口とは異なり、しきい値が満たされ(ステップ504)、ターゲット記憶装置214がログ構造化されている場合(ステップ506)、ステップ508が実行される。ステップ508は、「空間解放」処置である。この処置は、ホスト202が二次コントローラ212に対してターゲット記憶装置214の特定の空間を未収集空き空間として分類するように指示することによって実施される。すなわち、ホスト202は、二次コントローラ212に対し、ソース・データに対応する既存の記憶空間を収集済み空き空間として再分類するように指示する。この空間については、そのような再分類(及びその内容の実質的な削除)を行うことができる。なぜなら、新たに受け取ったソース・データは、既存のデータの新しいバージョンであるからである。空間解放コマンドは、ソース・データの論理単位のために特に発行される。従って、その空間の論理単位に対応するデータがターゲット記憶装置214上に既に存在する場合、空間解放コマンドは、そのデータをディレクトリ250内で収集済み空き空間として再分類することによってそのデータを実質的に削除することができる。ソース・データ(新しい)と記憶データ(古い)の論理単位は、例えばボリューム通し番号(「volser」)を含むことができる。詳細な例を示すと、1FX290−Eというvolserについて空間解放コマンドが発行されるとき(ステップ508)、ターゲット記憶装置214内にあるデータが同じvolserを持っている場合、空間解放コマンドは、ディレクトリ250内で既存データの記憶空間を収集済み空き空間として再分類することによって既存データを実質的に削除する。例示の実施形態では、ホスト202は、IBM社のRAMAC記憶サブシステムが使用する周知のコマンドである「空間解放」I/Oコマンドを発行する。
【0038】
RAMACシステムでは、指定されたソース・データに対応するデータがターゲット記憶装置214上にまだ存在していない場合、二次コントローラ212はホスト202から発行された空間解放コマンドを無視する。従って、ホスト202は、ソース・データの前のバージョンがターゲット記憶装置214上に存在するかどうかを判断する必要はない。
【0039】
他の実施形態では、ホスト202は、空間解放コマンドを発行する前にメタデータ記憶装置216を調べて、指定されたソース・データの前のバージョンがターゲット記憶装置214上に既に存在するかどうかを判断する。これには、メタデータ記憶装置216を調べて、その中にソース・データの論理単位(例えば、名前)が既に存在するかどうか確かめる必要がある。ソース・データがフル・ボリュームである説明中の例では、これは、メタデータ記憶装置216を調べて、ソース・データのボリューム通し番号(「volser」)がメタデータ記憶装置216内に既にリストされているかどうかを判断することによって行われる。リストされていない場合、ホスト202は、空間解放コマンドの発行をスキップすることができる。
【0040】
ステップ508の後、ホストは、ステップ510で、二次コントローラ212に対してソース・データをログ構造化ターゲット記憶装置214に書き込むように指示する。また、このプロセスの一部として、二次コントローラ212は、ソース・データによって新たに占有されるようになった空間を使用中空間としてリストするように、そのディレクトリ250を変更する。また、ステップ510で、二次コントローラ212は、ソース・データの記憶場所を示すようにマップ251を更新する。これは、例えばマップ251がソース・データのvolserとソース・データを保持している物理記憶空間とを確実に相互参照させるようにすることによって行うことができる。ステップ510の他の一部として、ホスト202は、ソース・データの記憶を正しく反映するように、そのメタデータ記憶装置216を更新することができる。例えば、この更新では、ソース・データが記憶されている正しいボリューム、シリンダ、セクタ、トラック、又はその他の論理単位を示すように、メタデータ記憶装置216を変更する。
【0041】
様々な理由から、ステップ510のコピーは従来の技法よりも効率的に行うことができる。すなわち、ステップ508の空間解放のためにターゲット記憶装置214に未収集空き空間が含まれる場合、(ステップ504のしきい値が満たされたため)その空間はかなりのサイズを有することになる。この大量の未収集空き空間は、ステップ510のコピー動作によって呼び出されるオンライン収集プロセスによって容易に収集済み空き空間に変換される。同様に、ステップ510の前にオフライン収集プロセスが呼び出される場合、この未収集空き空間は、収集済み空き空間に変換することができる。従って、このコピー動作は、各トラックのソース・データがターゲット記憶装置214に記憶されるたびに、使用中空間をより大きなブロックの未収集空き空間に再構成するという動作を必要としない。
【0042】
ステップ510の迅速化されたコピー動作が完了した後、このシーケンス500はステップ512で終了する。
【0043】
ターゲット記憶装置の段階的な状態
図6は、ターゲット記憶装置214の状態を幾つかの簡略ブロック図の形で連続的に図示することによって、本発明の動作を示す。シーケンス500を実行する前に、ターゲット記憶装置214は内容600を有する。この内容600は、(このコピー動作に関係のない)他のデータ604と、コピー中ソース・データの前のバージョン606と、幾らかの収集済み空き空間608とを含む。
【0044】
サイズしきい値が満たされ(ステップ504)、ターゲット記憶装置214がログ構造化されていることが分かった後(ステップ506)、ステップ508で前述のように空間解放動作を行う。この空間解放動作の後、ターゲット記憶装置214は内容601を有する。この内容601は、(前と同様の)他のデータ604を含み、残りの部分は現在は空き空間610である。空き空間610は収集済み空き空間608と(現在は未収集空き空間である)領域606とを含む。
【0045】
ステップ510で、ソース・データを空き空間610に効率的に書き込むことができ、その結果、内容602になる。すなわち、新しいソース・データ612は空き空間610に容易に書き込まれる。古いソース・データ606は、まず、ステップ508の空間解放動作によって未収集空き空間に変換され、最終的に、オフライン収集プロセス、又はコピー動作自体(ステップ510)の間のオンライン収集プロセスによって収集済み空き空間に変換される。
【図面の簡単な説明】
【図1】従来の技術による、フル・ボリューム・コピー動作の前後のログ構造化記憶装置の内容を例示するブロック図である。
【図2】本発明によるデータ記憶システムのハードウェア構成要素と相互接続を示すブロック図である。
【図3】本発明によるディジタル・データ処理機を示すブロック図である。
【図4】本発明による信号記録媒体の一例を示す図である。
【図5】ログ構造化記憶装置の事前構成を使用してボリューム・コピーを実行する動作シーケンスを示す流れ図である。
【図6】本発明による、記憶事前構成を使用するフル・ボリューム・コピー動作の前後のログ構造化データ記憶装置の内容を例示するブロック図である。
【符号の説明】
200 システム
202 ホスト・コンピュータ
204 一次記憶サイト
206 一次コントローラ
208 一次記憶装置
210 二次記憶サイト
212 二次コントローラ
214 二次記憶装置
216 メタデータ記憶装置
218 テープ記憶装置
250 ディレクトリ
【発明の属する技術分野】
本発明は、ログ構造化ターゲット記憶域(記憶装置)を事前構成することによって、該ターゲット記憶域にソース・データをより効率的にコピーする方法に関する。
【0002】
【従来の技術】
コンピュータの普及に伴い、ユーザが送信、受信、及び処理すべきデータは、一層多くなっている。多くの応用分野では、データ記憶域も重要である。1つの一般的なデータ記憶域構成は、「ログ構造化記憶域」である。ログ構造化は、磁気ディスクのアレイ内のデータ・トラックなどの記憶単位を管理する1つの方法である。
【0003】
ログ構造化構成では、記憶コントローラは、記憶空間を「使用中空間」、「未収集空き空間」、及び「収集済み空き空間」に分類する。使用中空間とは、有効データを保持している記憶空間を言う。未収集空き空間とは、有効データを保持していないにも関わらず、データの記憶には使用できない記憶空間を言う。例えば、データ・レコードが或る論理単位(「トラック」など)の一部のみを占有している場合、その論理単位の未占有部分は未収集空き空間である。この空間は、使用されてはいないが、それ以上のデータを記憶するために使用することができない。なぜなら、データは、トラック全体が一杯であるか否かに関わらず、トラック・サイズのセグメントに記憶されるからである。収集済み空き空間とは、データの記憶に使用可能な記憶空間を言う。この種の記憶空間は、例えば、前に有効データによって占有されていたが、それが削除又はその他の方法で解放されているようなものである。
【0004】
一般に、記憶コントローラは、連係リストを使用して様々なタイプのログ構造化記憶域を追跡する。例えば、別々の連係リストを使用して、使用中空間、未収集空き空間、及び収集済み空き空間を追跡することができる。この空間アカウンティング手法は、管理オーバヘッドをあまり要しないため、多くのユーザにとって有利である。それに対して、非ログ構造化構成では、記憶システムは、記憶域を割り振るためにユーザの要求を受け取り且つこれを処理することができなければならない。このタイプの記憶システムは、まず、データを記憶すべき十分なサイズの記憶域を割り振り、次に、割り振られた記憶域にそのデータを記憶する。ログ構造化記憶システムは、記憶域を割り振る必要をなくす。
【0005】
ログ構造化記憶システムは、事前に記憶域を割り振るのではなく、データを一度に1論理単位ずつ記憶する。記憶コントローラは、記憶すべきデータの各論理単位ごとに、まず「収集済み空き空間」リストを調べて1単位の使用可能な記憶空間を特定し、次に、その空き空間にデータを記憶する。書き込むべきデータが少量である場合、又は大量の収集済み空き空間がある場合、記憶は迅速に完了する。多くの場合、記憶コントローラは、収集プロセスを実行することによって適切なデータ記憶域を特定し、それを収集済み空き空間として再分類することによって、十分な量の収集済み空き空間を事前に確保することができる。このタイプの収集プロセスを本明細書では「オフライン収集プロセス」と呼び、未収集空き空間が特定のしきい値などを超えると、これを周期的に実行することができる。
【0006】
オフライン収集プロセスの使用にも関わらず、書き込むべきデータが収集済み空き空間を超える状況が発生することがある。その場合、記憶コントローラは、本明細書で「オンライン収集プロセス」と呼ぶ、別の収集プロセスを呼び出す。すなわち、収集済み空き空間がなくなると、記憶コントローラは、各記憶トラックごとに以下のステップを実行する。(1)未収集空き空間の1つのトラックを識別し、(2)そのトラックの状況を「収集済み空き空間」に変更し、(3)その解放された単位にデータを書き込み、(4)再使用された単位のリストを「使用中空間」に変更する。オンライン収集プロセスは、オーバーヘッドを最小限にするという観点からは有利であるが、大幅な遅延を起こし、その遅延はユーザによっては長過ぎる場合がある。特に、実行すべき書込み動作が多いにも関わらず、収集済み空き空間が比較的少ない場合には、ユーザは過度の遅延に遭うことがある。この問題を例示する1つの状況は、フル・ボリューム・コピー、すなわち、1ボリューム全体のデータをターゲット記憶域にコピーし、従って多くの書込み動作を必要とするタスクである。
【0007】
この状況の一例を図1に示す。図1には、フル・ボリューム・コピーの様々な段階のログ構造化記憶装置(記憶域)の内容が示されている。このログ構造化記憶装置の最初の内容100は、(フル・ボリューム・コピーに関係のない)他のデータ102と、コピー中ボリュームの既存バージョン104と、幾らかの収集済み空き空間106とを含む。
【0008】
フル・ボリューム・コピー動作が開始すると、まず、空き領域106が一杯になるまで、空き領域106に新規バージョンのデータを書き込む。一杯になった時点で、この記憶装置は内容103を有し、これには以前空いていて現在はコピー中ボリュームの一部分で満たされている領域108が含まれる。この時点で、この記憶装置は一杯である。フル・ボリューム・コピーを続けるには、次に、オンライン収集プロセスを使用して、記憶空間を調べて収集し、より多くの収集済み空き空間を作らなければならない。具体的には、記憶すべきソース・データの各トラックごとにオンライン収集プロセスが呼び出される。これには、ログ構造化アレイを探索して未収集空き空間を探し、次に、データの統合、移動、又はその他の再構成を行って、未収集空き空間を収集済み空き空間に変換する必要がある。例えば、2つのトラックがそれぞれ半分だけ占有されている(すなわち、一方のトラックの半分が使用中空間であり、他のトラックの半分が未収集空き空間である)場合、オンライン収集プロセスは、両トラックからのデータを一緒に単一のトラックに移動させ、古いトラックのアドレスを収集済み空き空間としてリストする。
【0009】
このプロセスをボリューム全体がコピーされるまで続け、そのコピーが完了した時点で、この記憶装置は内容105を有する。具体的には、ボリュームは、108及び110で示すように完全に書き込まれている。次に、既存バージョン104の残り部分112に対して最終的なオフライン収集プロセスが行われるか、又は場合によっては、オフライン収集プロセスが次に起動される前に記憶コントローラがさらにデータを書き込む場合はオンライン収集プロセスが行われる。
【0010】
ユーザによっては、必要な時間遅延のために図1の事例が望ましくないと考える場合がある。主な遅延は、未収集空き空間を収集済み空き空間に変換するためのデータの統合、移動、再構成によって生じる。さらに、オンライン収集プロセスが書き込むべき各トラックごとに呼び出されるため、このプロセスは繰り返し呼び出される。ソース・データがかなりの大きさで、収集済み空き空間が少ない場合、データの記憶効率は最低レベルになる。
【0011】
従って、既存のオンライン収集プロセスは、最終的に記憶プロセス全体を遅らせる特定の未解決の問題のために、ある種のアプリケーションにとっては十分とは言えない。
【0012】
【発明が解決しようとする課題】
本発明は、一般には、ログ構造化ターゲット記憶装置を事前構成することによって、該ターゲット記憶装置にソース・データをより効率的にコピーする方法に関する。本発明は、ホストと、記憶コントローラと、ログ構造化ターゲット記憶装置とを含むシステムで実施可能である。ホストは、記憶データの論理単位を識別するメタデータを維持し、記憶コントローラは、記憶空間を未収集空き空間、収集済み空き空間、又は使用中空間として分類するディレクトリを維持する。
【0013】
【課題を解決するための手段】
まず、ホストは、ソース・データとそのソース・データの論理単位の指定とを含む入力データを受け取る。ホストはそれに応答して、記憶コントローラに対し、指定された論理単位に対応するデータを既に保持しているログ構造化記憶空間のいずれかを未収集空き空間として分類するように指示する。これによって、ログ構造化記憶装置は、ソース・データをより効率的に受け取るように事前構成される。一実施形態では、ホストは、まずメタデータを調べて記憶装置内に指定された論理単位が既に存在しているかどうかを判断し、存在する場合のみ、記憶空間を未収集空き空間として分類する動作に進む。他の実施形態では、ホストは、指定された論理単位のために「空間解放」コマンドを盲目的に発行することができる。その論理単位が記憶装置内にまだ存在していない場合、このコマンドは記憶コントローラによって無視される。
【0014】
事前構成後、ホストは、記憶コントローラに対し、ソース・データをログ構造化記憶装置に書き込むように指示する。記憶コントローラが書込みを完了すると、記憶コントローラはそのディレクトリを更新して、ソース・データによって占有された記憶空間を使用中空間として示し、ホストは、書き込まれたソース・データを指定された論理単位に関連づけるようにメタデータを変更する。
【0015】
一実施形態では、本発明は、ログ構造化ターゲット記憶装置を事前構成することによって該ターゲット記憶装置にソース・データをより効率的にコピーする方法を提供するように実施することができる。
【0016】
本発明は、ユーザに幾つかの明確な利点を提供する。主として、本発明による事前構成は、時間のかかるオンライン収集プロセスを必要とせずに、ソース・データを迅速に受け取るように、ログ構造化ターゲット記憶装置を準備する。従って、書込み動作がより迅速に完了し、書き込むべきレコードが多く、ターゲット記憶装置上に残っている収集済み空き空間が少ない場合は、特にそうである。このような状況のよくある一例は、「フル・ボリューム・コピー」動作である。本発明は、以下の説明から明らかになるように、他の幾つかの利点も備える。
【0017】
【発明の実施の形態】
前述のように、本発明は、ログ構造化ターゲット記憶装置を事前構成することによって、該ターゲット記憶装置にソース・データをより効率的にコピーする方法に関する。
【0018】
<ハードウェア構成要素と相互接続>
記憶システムの構造
本発明の一側面は、後述のようにログ構造化ターゲット記憶装置にソース・データを効率的にコピーするように構成された記憶システムに関する。一例として、このシステムは、図2に示すような様々なハードウェア構成要素及び相互接続によって実施することができる。具体的には、システム200は、ホスト・コンピュータ202(以下「ホスト」と呼ぶ)を含む。ホスト202は、一次記憶サイト204と、二次記憶サイト210と、メタデータ記憶装置216と、テープ記憶装置218とに結合されている。
【0019】
ホスト202は、メインフレーム・コンピュータ、コンピュータ・ワークステーション、パーソナル・コンピュータ、スーパーコンピュータなどの、様々なディジタル処理装置で実施することができる。
【0020】
メタデータ記憶装置216には、一時記憶サイト204、二次記憶サイト210、及びテープ記憶装置218によって記憶されているデータに関する様々な制御情報(以下「メタデータ」と呼ぶ)が保持される。例えば、メタデータ記憶装置216には、名前付きデータセットとそれらが記憶されている論理ボリュームとの間のマッピングなどの、高水準メタデータを保持することができる。メタデータ記憶装置216は、ディスク記憶装置、ホスト202のオンボード記憶装置、バッテリ給電式RAM、又はその他の適合する記憶装置によって実施することができる。
【0021】
図2の例では、一次記憶サイト204は、一次記憶装置208に結合された一次コントローラ206を含む。同様に、二次記憶サイト210は、二次記憶装置214に結合された二次コントローラ212を含む。一次及び二次記憶サイト204/210の各々は、例えばIBM社のRAMAC記憶サブシステムによってそれぞれ実施することができる。この特定の実施形態では、一次及び二次記憶装置208/214は磁気ディスク記憶装置である。
【0022】
一次及び二次記憶装置208/214の磁気ディスク媒体とは異なり、テープ記憶装置218は磁気テープ媒体を使用する。従って、テープ記憶装置218は長期データのアーカイブに適している。例えば、テープ記憶装置218はIBMモデル3590テープ記憶システムとすることができる。
【0023】
前述の例は、本発明を適用することができる1つのハードウェア環境を例示するものである。この特定のセットアップは、災害時復旧などに備えてデータのバックアップ・コピーを維持するのに特に有用である。この応用分野では、一次記憶サイト204は、一次データ又は「ソース」データを記憶するために使用され、二次記憶サイト210及びテープ記憶装置218の一方又は両方は、ソース・データのバックアップ・コピーを維持する。この環境では、ホスト202は、当技術分野で周知のIBM Extended Remote Copy(「XRC」)製品などのデータ移動機構を実施する役割を果たすことができる。
【0024】
ログ構造化記憶装置
本発明の1つの特徴は、ログ構造化ターゲット記憶装置内の(ターゲット)場所にデータをコピーすることである。説明の便宜上、この場所は、図2の二次記憶サイト210であるものとする。コピー動作は、1つ以上のデータセットのコピー、又はフル・ボリューム・コピー動作などのより大規模なコピーを含むことがある。さらに、これらのコピー動作は、移動、移行、リストアなどの、記憶装置にデータを書き込み、それによってデータをコピーする形式の他の動作で実施することができる。
【0025】
ターゲット記憶装置(すなわち、この例では二次記憶装置214)は、ログ構造化記憶装置として構成される。従って、二次コントローラ212は、二次記憶装置214の記憶場所を、(1)収集済み空き空間、(2)未収集空き空間、又は(3)使用中空間として分類する制御情報を維持する。これらの制御情報は、ディレクトリ250内に記憶され、連係リスト、テーブル、データベースなどの、様々な形態に編成することができる。また、二次コントローラ212は、二次記憶装置214内に保持されている各論理単位の名前をそのデータによって実際に占有されている物理空間と相互参照するマップ251も維持する。
【0026】
ディジタル・データ処理装置
前述の全体的データ記憶システムとは異なり、本発明の他の側面は、特にホスト202を実施するように構成されたディジタル・データ処理装置(以下「データ処理装置」と呼ぶ)に関する。
【0027】
図3は、1つのデータ処理装置300の例を示す。このデータ処理装置300は、記憶装置304に結合されたマイクロプロセッサやその他の処理装置などのプロセッサ302を含む。この例では、記憶装置304は、高速アクセス記憶装置306と不揮発性記憶装置308とを含む。高速アクセス記憶装置306は、ランダム・アクセス・メモリから構成することができ、プロセッサ302によって実行されるプログラミング命令を記憶するために使用することができる。不揮発性記憶装置308は、例えば、1つ以上のディスク記憶装置、テープ記憶装置、又はその他の適合する記憶装置から構成することができる。また、データ処理装置300は、プロセッサ302がデータ処理装置300の外部の場所とデータを交換するための、線、バス、ケーブル、電磁リンク、又はその他の手段などの入力/出力線310も含む。
【0028】
前述の特定の説明にも関わらず、当業者なら、前述の装置を異なる構成の機械で実施可能であることが分かるであろう。具体的な例として、高速アクセス記憶装置306及び不揮発性記憶装置308の1つを省くこともできる。さらに、記憶装置304は、プロセッサ302と同じボードに設けることも、データ処理装置300の外部に設けることもできる。
【0029】
<動作>
前述の様々なハードウェア実施形態に加えて、本発明の異なる側面は、ログ構造化ターゲット記憶装置を事前構成することによって、該ターゲット記憶装置にソース・データをより効率的にコピーする方法に関する。
【0030】
信号記録媒体
図2及び図3の環境では、このような方法は、例えば、機械可読命令のシーケンスを実行するように(データ処理装置300によって実施される)ホスト202を動作させることによって実施することができる。これらの命令は、様々なタイプの信号記録媒体に保持させることができる。
【0031】
この信号記録媒体は、例えば、(記憶装置304によって表される)ホスト202内のRAM(図示せず)とすることができる。代替的に、これらの命令は、ホスト202が直接又は間接にアクセスすることができる磁気ディスケット400(図4)などの他の信号記録媒体に保持させることもできる。記憶装置304、ディスケット404、又は他の場所のいずれに保持されているかを問わず、これらの命令は、直接アクセス記憶装置(例えば、通常のディスク記憶装置やRAIDアレイ)、磁気テープ、電子読取り専用メモリ(例えば、ROM、EPROM、又はEEPROM)、光記憶装置(例えば、CD−ROM、WORM、DVD、ディジタル光テープ)、その他の適合する信号記録媒体などの、様々な機械可読データ記憶媒体に記憶することができる。
【0032】
全体的動作シーケンス
図5は、本発明の方法を例示するために、ログ構造化ターゲット記憶装置にデータをコピーするためのシーケンス500を示す。説明の便宜上、図5の例を前述のシステム200の環境に即して説明する。シーケンス500は、ホスト200によって実行され、ステップ502で、ホスト202がソース・データと該ソース・データ用のターゲット論理単位の指定とを含む記憶要求を受け取るときに開始される。例えば、ステップ502が生じるのは、ホスト202が100KBのソース・データセットと、ターゲット論理単位として二次記憶装置214の特定のボリュームの指定とを受け取るようなときである。ターゲット論理単位は、固有のファイル名、ボリューム名、又はその他のデータセット名などの、それに関連づけられたデータの名前を使用して識別することができる。代替的に、各論理記憶単位は、論理ボリューム、レコードのグループ、アドレス・エクステント、データセット、レコード、又はホスト202が好都合とみなす別のデータ単位を指定することもできる。
【0033】
ターゲット記憶装置が二次記憶装置214であるこの例では、ソース・データは、一次記憶装置208又はテープ記憶装置218から発生する。代替例として、ソース・データは、別のコンピュータ、サーバ・コンソール、又は人間のユーザに対するその他のインタフェース、ホスト202又はその他の場所で稼働しているアプリケーション・プログラムなどの、他の情報源から発生する。
【0034】
ステップ502の後、ホスト202は、ソース・データが最小しきい値サイズを満たしているかどうかを問い合わせる(ステップ504)。サイズが満たされている場合、後述のようにソース・データの記憶を開始する前に、「空間解放」を行うことによってデータ記憶が効率化される。しきい値は事前に決定され、ホスト202の事前プログラミング、システム管理者による入力などによって固定することができる。一例を挙げると、このしきい値は約1メガバイトとすることができる。このしきい値は、大規模コピー動作、すなわち(1)1つの記憶装置から他の記憶装置に論理ボリューム全体のデータをコピーする「フル・ボリューム・コピー」、(2)テープ記憶装置218などのバックアップ記憶装置からデータ・ボリューム全体をコピーする「フル・ボリューム・リストア」、(3)一次ボリューム全体をコピーすることによって新しいバックアップ・ボリュームを作成する「XRC初期設定」などについては、容易に満たされる。
【0035】
しきい値が満たされていない場合、データの記憶は、空間解放処置を行っても迅速化される可能性は低い。その場合、ステップ504からステップ510に進み、ターゲット記憶装置214を事前構成せずにソース・データをコピーする。ステップ510の後、シーケンス500はステップ512で終了する。
【0036】
それに対して、ステップ504でしきい値が満たされていることが分かった場合、ホスト202はステップ506で、指定されたターゲット記憶装置214がログ構造化されているかどうかを問い合わせる。ログ構造化されていない場合、(後で詳述する)空間解放の概念は適用できず、ステップ506からステップ510に進み、ターゲット記憶装置214を事前構成せずにソース・データをコピーする。その後、このシーケンス500はステップ512で終了する。
【0037】
ステップ504/506からの否定出口とは異なり、しきい値が満たされ(ステップ504)、ターゲット記憶装置214がログ構造化されている場合(ステップ506)、ステップ508が実行される。ステップ508は、「空間解放」処置である。この処置は、ホスト202が二次コントローラ212に対してターゲット記憶装置214の特定の空間を未収集空き空間として分類するように指示することによって実施される。すなわち、ホスト202は、二次コントローラ212に対し、ソース・データに対応する既存の記憶空間を収集済み空き空間として再分類するように指示する。この空間については、そのような再分類(及びその内容の実質的な削除)を行うことができる。なぜなら、新たに受け取ったソース・データは、既存のデータの新しいバージョンであるからである。空間解放コマンドは、ソース・データの論理単位のために特に発行される。従って、その空間の論理単位に対応するデータがターゲット記憶装置214上に既に存在する場合、空間解放コマンドは、そのデータをディレクトリ250内で収集済み空き空間として再分類することによってそのデータを実質的に削除することができる。ソース・データ(新しい)と記憶データ(古い)の論理単位は、例えばボリューム通し番号(「volser」)を含むことができる。詳細な例を示すと、1FX290−Eというvolserについて空間解放コマンドが発行されるとき(ステップ508)、ターゲット記憶装置214内にあるデータが同じvolserを持っている場合、空間解放コマンドは、ディレクトリ250内で既存データの記憶空間を収集済み空き空間として再分類することによって既存データを実質的に削除する。例示の実施形態では、ホスト202は、IBM社のRAMAC記憶サブシステムが使用する周知のコマンドである「空間解放」I/Oコマンドを発行する。
【0038】
RAMACシステムでは、指定されたソース・データに対応するデータがターゲット記憶装置214上にまだ存在していない場合、二次コントローラ212はホスト202から発行された空間解放コマンドを無視する。従って、ホスト202は、ソース・データの前のバージョンがターゲット記憶装置214上に存在するかどうかを判断する必要はない。
【0039】
他の実施形態では、ホスト202は、空間解放コマンドを発行する前にメタデータ記憶装置216を調べて、指定されたソース・データの前のバージョンがターゲット記憶装置214上に既に存在するかどうかを判断する。これには、メタデータ記憶装置216を調べて、その中にソース・データの論理単位(例えば、名前)が既に存在するかどうか確かめる必要がある。ソース・データがフル・ボリュームである説明中の例では、これは、メタデータ記憶装置216を調べて、ソース・データのボリューム通し番号(「volser」)がメタデータ記憶装置216内に既にリストされているかどうかを判断することによって行われる。リストされていない場合、ホスト202は、空間解放コマンドの発行をスキップすることができる。
【0040】
ステップ508の後、ホストは、ステップ510で、二次コントローラ212に対してソース・データをログ構造化ターゲット記憶装置214に書き込むように指示する。また、このプロセスの一部として、二次コントローラ212は、ソース・データによって新たに占有されるようになった空間を使用中空間としてリストするように、そのディレクトリ250を変更する。また、ステップ510で、二次コントローラ212は、ソース・データの記憶場所を示すようにマップ251を更新する。これは、例えばマップ251がソース・データのvolserとソース・データを保持している物理記憶空間とを確実に相互参照させるようにすることによって行うことができる。ステップ510の他の一部として、ホスト202は、ソース・データの記憶を正しく反映するように、そのメタデータ記憶装置216を更新することができる。例えば、この更新では、ソース・データが記憶されている正しいボリューム、シリンダ、セクタ、トラック、又はその他の論理単位を示すように、メタデータ記憶装置216を変更する。
【0041】
様々な理由から、ステップ510のコピーは従来の技法よりも効率的に行うことができる。すなわち、ステップ508の空間解放のためにターゲット記憶装置214に未収集空き空間が含まれる場合、(ステップ504のしきい値が満たされたため)その空間はかなりのサイズを有することになる。この大量の未収集空き空間は、ステップ510のコピー動作によって呼び出されるオンライン収集プロセスによって容易に収集済み空き空間に変換される。同様に、ステップ510の前にオフライン収集プロセスが呼び出される場合、この未収集空き空間は、収集済み空き空間に変換することができる。従って、このコピー動作は、各トラックのソース・データがターゲット記憶装置214に記憶されるたびに、使用中空間をより大きなブロックの未収集空き空間に再構成するという動作を必要としない。
【0042】
ステップ510の迅速化されたコピー動作が完了した後、このシーケンス500はステップ512で終了する。
【0043】
ターゲット記憶装置の段階的な状態
図6は、ターゲット記憶装置214の状態を幾つかの簡略ブロック図の形で連続的に図示することによって、本発明の動作を示す。シーケンス500を実行する前に、ターゲット記憶装置214は内容600を有する。この内容600は、(このコピー動作に関係のない)他のデータ604と、コピー中ソース・データの前のバージョン606と、幾らかの収集済み空き空間608とを含む。
【0044】
サイズしきい値が満たされ(ステップ504)、ターゲット記憶装置214がログ構造化されていることが分かった後(ステップ506)、ステップ508で前述のように空間解放動作を行う。この空間解放動作の後、ターゲット記憶装置214は内容601を有する。この内容601は、(前と同様の)他のデータ604を含み、残りの部分は現在は空き空間610である。空き空間610は収集済み空き空間608と(現在は未収集空き空間である)領域606とを含む。
【0045】
ステップ510で、ソース・データを空き空間610に効率的に書き込むことができ、その結果、内容602になる。すなわち、新しいソース・データ612は空き空間610に容易に書き込まれる。古いソース・データ606は、まず、ステップ508の空間解放動作によって未収集空き空間に変換され、最終的に、オフライン収集プロセス、又はコピー動作自体(ステップ510)の間のオンライン収集プロセスによって収集済み空き空間に変換される。
【図面の簡単な説明】
【図1】従来の技術による、フル・ボリューム・コピー動作の前後のログ構造化記憶装置の内容を例示するブロック図である。
【図2】本発明によるデータ記憶システムのハードウェア構成要素と相互接続を示すブロック図である。
【図3】本発明によるディジタル・データ処理機を示すブロック図である。
【図4】本発明による信号記録媒体の一例を示す図である。
【図5】ログ構造化記憶装置の事前構成を使用してボリューム・コピーを実行する動作シーケンスを示す流れ図である。
【図6】本発明による、記憶事前構成を使用するフル・ボリューム・コピー動作の前後のログ構造化データ記憶装置の内容を例示するブロック図である。
【符号の説明】
200 システム
202 ホスト・コンピュータ
204 一次記憶サイト
206 一次コントローラ
208 一次記憶装置
210 二次記憶サイト
212 二次コントローラ
214 二次記憶装置
216 メタデータ記憶装置
218 テープ記憶装置
250 ディレクトリ
Claims (7)
- ホストと、前記ホストに結合された記憶コントローラと、前記記憶コントローラに結合されたターゲット記憶装置とを備え、前記ホストが、前記ターゲット記憶装置内に保持されているデータの論理単位を識別するメタデータを維持し、記憶コントローラが、前記ターゲット記憶装置の記憶空間を未収集空き空間、収集済み空き空間、または使用中空間として分類するディレクトリを維持するコンピュータ・システムにおいて、前記ログ構造化ターゲット記憶装置にデータを書き込む方法であって、
(a)前記ホストが、ソース・データと前記ソース・データに関連づけられた論理単位の指定とを含む入力データを受け取るステップと、
(b)前記ホストが、前記入力データの受領に応答して、前記ソース・データが少なくとも所定のサイズを有するか否かを判断するステップと、
(c)前記ホストが、前記ステップ(b)の肯定的な判断結果に応答して、前記ターゲット記憶装置がログ構造化されているか否かを判断するステップと、
(d)前記ホストが、前記ステップ(c)の肯定的な判断結果に応答して、前記指定された論理単位に関連づけられたデータを保持する前記ターゲット記憶装置の記憶空間を未収集空き空間として分類するように前記記憶コントローラに前記指定された論理単位のための空間解放コマンドを発行するステップと、
(e)前記ホストが、前記ソース・データを前記ターゲット記憶装置に書き込むように前記記憶コントローラに指示するステップと、
(f)前記空間解放コマンドが実行された後に、前記ソース・データを前記ターゲット記憶装置に書き込む動作と同時に、前記記憶コントローラが、前記ターゲット記憶装置にオンライン収集プロセスを適用して、前記ターゲット記憶装置の未収集空き空間を前記ソース・データの書込みに使用可能な収集済み空き空間に再分類するステップと
を含む方法。 - 前記ステップ(d)の前に、前記ホストが、前記メタデータを調べて前記指定された論理単位が前記メタデータ内で既に識別されているか否かを判断し、識別されていない場合、前記ホストが前記空間解放コマンドの発行を行わない、請求項1に記載の方法。
- 前記ステップ(b)又は(c)の否定的な判断結果に応答して、前記ステップ(b)又は(c)から前記ステップ(e)に直接に移行する、請求項1に記載の方法。
- 前記指定された論理単位が1記憶ボリューム又はその一部から成る、請求項1に記載の方法。
- 前記ソース・データを前記ターゲット記憶装置に書き込む動作の前に、前記記憶コントローラが、前記ターゲット記憶装置にオフライン収集プロセスを適用して、前記ターゲット記憶装置の未収集空き空間の少なくとも一部を収集済み空き空間として再分類する、請求項1に記載の方法。
- 前記ソース・データを前記ターゲット記憶装置に書き込む動作の後に、前記記憶コントローラが、前記ソース・データによって占有されている前記ターゲット記憶装置の記憶空間を使用中空間として分類するように前記ディレクトリを変更する、請求項1に記載の方法。
- 前記ソース・データを前記ターゲット記憶装置に書き込む動作の後に、前記ホストが前記書込みソース・データを前記指定された論理単位に関連づけるように前記メタデータを更新する、請求項1に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/162264 | 1998-09-28 | ||
US09/162,264 US6321239B1 (en) | 1998-09-28 | 1998-09-28 | Efficient volume copy using pre-configuration of log structured target storage |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000122902A JP2000122902A (ja) | 2000-04-28 |
JP3610266B2 true JP3610266B2 (ja) | 2005-01-12 |
Family
ID=22584888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24952999A Expired - Fee Related JP3610266B2 (ja) | 1998-09-28 | 1999-09-03 | ログ構造化ターゲット記憶装置にデータを書き込む方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6321239B1 (ja) |
JP (1) | JP3610266B2 (ja) |
KR (1) | KR100317691B1 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6609176B1 (en) * | 1999-12-27 | 2003-08-19 | Kabushiki Kaisha Toshiba | Disk control system and data rearrangement method |
US6671801B1 (en) * | 2000-03-31 | 2003-12-30 | Intel Corporation | Replication of computer systems by duplicating the configuration of assets and the interconnections between the assets |
US7225191B1 (en) | 2000-06-27 | 2007-05-29 | Emc Corporation | Method and apparatus for verifying storage access requests in a computer storage system with multiple storage elements |
US6978324B1 (en) * | 2000-06-27 | 2005-12-20 | Emc Corporation | Method and apparatus for controlling read and write accesses to a logical entity |
US7065610B1 (en) | 2000-06-27 | 2006-06-20 | Emc Corporation | Method and apparatus for maintaining inventory of logical volumes stored on storage elements |
US6842784B1 (en) | 2000-06-27 | 2005-01-11 | Emc Corporation | Use of global logical volume identifiers to access logical volumes stored among a plurality of storage elements in a computer storage system |
JP4079244B2 (ja) * | 2001-03-30 | 2008-04-23 | 日立ソフトウエアエンジニアリング株式会社 | 追記型記憶媒体ボリュームの再編成処理方法 |
US7171453B2 (en) * | 2001-04-19 | 2007-01-30 | Hitachi, Ltd. | Virtual private volume method and system |
US7037291B2 (en) * | 2001-12-04 | 2006-05-02 | Advanced Cardiovascular Systems, Inc. | Catheter shaft junction having a polymeric reinforcing member with a high glass transition temperature |
US20040186881A1 (en) * | 2002-12-18 | 2004-09-23 | Emc Corp. | Automated media library configuration |
US7305418B2 (en) * | 2003-11-05 | 2007-12-04 | International Business Machines Corporation | Selecting and showing copy pairs in a storage subsystem copy services graphical user interface |
US7433899B2 (en) * | 2004-03-01 | 2008-10-07 | International Business Machines Corporation | Apparatus, system, and method for managing multiple copy versions |
JP2006011811A (ja) * | 2004-06-25 | 2006-01-12 | Hitachi Ltd | 記憶制御システム及び記憶制御方法 |
US8521752B2 (en) | 2005-06-03 | 2013-08-27 | Osr Open Systems Resources, Inc. | Systems and methods for arbitrary data transformations |
US7512748B1 (en) | 2006-08-17 | 2009-03-31 | Osr Open Systems Resources, Inc. | Managing lock rankings |
US8539228B1 (en) | 2006-08-24 | 2013-09-17 | Osr Open Systems Resources, Inc. | Managing access to a resource |
US8024433B2 (en) | 2007-04-24 | 2011-09-20 | Osr Open Systems Resources, Inc. | Managing application resources |
US7949693B1 (en) | 2007-08-23 | 2011-05-24 | Osr Open Systems Resources, Inc. | Log-structured host data storage |
US10198463B2 (en) * | 2010-04-16 | 2019-02-05 | Salesforce.Com, Inc. | Methods and systems for appending data to large data volumes in a multi-tenant store |
US8903874B2 (en) | 2011-11-03 | 2014-12-02 | Osr Open Systems Resources, Inc. | File system directory attribute correction |
US9921918B1 (en) * | 2013-08-30 | 2018-03-20 | Ca, Inc. | Cloud-based data backup and management |
US9213634B2 (en) | 2013-11-22 | 2015-12-15 | Apple Inc. | Efficient reuse of segments in nonoverwrite storage systems |
US9830329B2 (en) | 2014-01-15 | 2017-11-28 | W. Anthony Mason | Methods and systems for data storage |
US10601915B2 (en) | 2016-12-20 | 2020-03-24 | Striim, Inc. | Data stream processor with both in memory and persisted messaging |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5398142B1 (en) | 1989-05-31 | 1997-09-16 | Raxco Inc | Method for eliminating file fragmentation and reducing average seek times in a magnetic disk media environment |
US5403639A (en) * | 1992-09-02 | 1995-04-04 | Storage Technology Corporation | File server having snapshot application data groups |
US5416915A (en) | 1992-12-11 | 1995-05-16 | International Business Machines Corporation | Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array |
US5555371A (en) | 1992-12-17 | 1996-09-10 | International Business Machines Corporation | Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage |
US5530850A (en) | 1993-10-25 | 1996-06-25 | International Business Machines Corporation | Data storage library array with log-structured file system which allows simultaneous write and garbage collection |
US5632012A (en) * | 1993-11-24 | 1997-05-20 | Storage Technology Corporation | Disk scrubbing system |
US6038639A (en) * | 1997-09-09 | 2000-03-14 | Storage Technology Corporation | Data file storage management system for snapshot copy operations |
-
1998
- 1998-09-28 US US09/162,264 patent/US6321239B1/en not_active Expired - Fee Related
-
1999
- 1999-08-14 KR KR1019990033471A patent/KR100317691B1/ko not_active IP Right Cessation
- 1999-09-03 JP JP24952999A patent/JP3610266B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6321239B1 (en) | 2001-11-20 |
KR100317691B1 (ko) | 2001-12-22 |
KR20000022716A (ko) | 2000-04-25 |
JP2000122902A (ja) | 2000-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3610266B2 (ja) | ログ構造化ターゲット記憶装置にデータを書き込む方法 | |
JP6708929B2 (ja) | ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム | |
JP4199993B2 (ja) | スナップショット取得方法 | |
US8656123B2 (en) | Snapshot preserved data cloning | |
US7870353B2 (en) | Copying storage units and related metadata to storage | |
US8200631B2 (en) | Snapshot reset method and apparatus | |
US7694087B2 (en) | Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device | |
US7783603B2 (en) | Backing store re-initialization method and apparatus | |
JP4419884B2 (ja) | データ複製装置、方法及びプログラム並びに記憶システム | |
JP4402103B2 (ja) | データ記憶装置、そのデータ再配置方法、プログラム | |
CN1559041A (zh) | 在计算机系统之间共享对象 | |
JP2006146904A (ja) | ストレージシステムでオブジェクトレベルのスナップショットを生成するシステムと方法 | |
JP2012014286A (ja) | ストレージシステム、同システムにおけるデータバックアップ方法及びデータバックアッププログラム | |
CN106528338B (zh) | 一种远程数据复制方法、存储设备及存储系统 | |
US8140886B2 (en) | Apparatus, system, and method for virtual storage access method volume data set recovery | |
JP2005301499A (ja) | ディスクアレイ装置及びディスクアレイ装置の制御方法 | |
US8359439B2 (en) | Backup apparatus, backup method, and file reading apparatus | |
US7133987B2 (en) | Storage system and snapshot management method thereof | |
JP3315779B2 (ja) | ディスク装置間のファイル転送装置およびファイル転送方法 | |
JP4394467B2 (ja) | ストレージシステム、サーバ装置及び先行コピーデータ生成方法 | |
JP2006031446A (ja) | データ記憶装置、データ記憶方法およびデータ記憶プログラム | |
US20060026459A1 (en) | Method and apparatus for storing data | |
JP5103786B2 (ja) | 制御プログラム、制御装置、制御方法 | |
JP2006189976A (ja) | 記憶装置、そのデータ処理方法、そのデータ処理プログラム及びデータ処理システム | |
JPH0581091A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041018 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |