JP3741609B2 - 複製されたデータに独立してアクセスできるようにするためのデータプロセッシングの方法及び装置 - Google Patents

複製されたデータに独立してアクセスできるようにするためのデータプロセッシングの方法及び装置 Download PDF

Info

Publication number
JP3741609B2
JP3741609B2 JP2000404617A JP2000404617A JP3741609B2 JP 3741609 B2 JP3741609 B2 JP 3741609B2 JP 2000404617 A JP2000404617 A JP 2000404617A JP 2000404617 A JP2000404617 A JP 2000404617A JP 3741609 B2 JP3741609 B2 JP 3741609B2
Authority
JP
Japan
Prior art keywords
data
storage device
track
entry
data storage
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 - Lifetime
Application number
JP2000404617A
Other languages
English (en)
Other versions
JP2002041368A (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.)
EMC Corp
Original Assignee
EMC 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 EMC Corp filed Critical EMC Corp
Publication of JP2002041368A publication Critical patent/JP2002041368A/ja
Application granted granted Critical
Publication of JP3741609B2 publication Critical patent/JP3741609B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Description

【0001】
(関連特許出願の説明)
ユワル・オフェックの名において「共通データセットへの独立的且つ同期的アクセスのための方法及び装置」に対して付与(1997年4月25日出願)された、本発明と同じ譲受人に対して譲渡されている米国特許証(出願番号第08/842,953号)。
【0002】
マシュー・ギャグニー他による1999年2月17日出願の「冗長なデータ記憶装置を介したデータをカスケードするための方法及び装置」に対する米国特許証、出願番号第09/251,812号。但し、この出願は本発明と同じ譲受人に対して譲渡されている。
【0003】
(発明の技術的分野)
本発明は、概括的にはデータ処理システムに、より厳密には、そのようなデータ処理システムにおいて使用される、独立したアクセスに対してデータを複製するための、そして標準からデータを周期的に更新するための容量を有するデータ記憶機構に関する。
【0004】
(発明の背景)
上記米国特許証(出願番号第08/842,953号)には、通常のデータ処理活動への割込を最小限に抑えた、様々な目的に沿ってデータを複製するための方法及び装置が開示されている。ある特定のインプリメンテーションでは、データ記憶機構はビジネス・コンティヌエーション・ボリューム(BCV)コンセプトを使用する。このコンセプトの下では、ホストからBCV能力を備えたディスク記憶機構への設定コマンドは、第1論理ボリューム(以後「標準ボリューム」と称す)と第2論理ボリューム(以後「BCVボリューム」と称す)の間の関係を作り出す。記憶機構は、データを標準ボリュームからBCVボリュームへ、順序付けられた様式で、何れのホストアプリケーションにも見えないようにコピーする。つまりは、ホストアプリケーション又はプログラムは、データが標準ボリュームからBCVボリュームにコピーされている時でも、従来のI/Oリクエストを使って標準ボリュームと通常どおり通信を継続することができる。
【0005】
BCVボリュームが標準ボリュームからのデータの正確なコピーを有している場合、BCVボリュームは「同期した」状態であり、データは複製されている。一旦同期すると、分割コマンドは、標準ボリュームとそのホストアプリケーションの間の活動とは無関係に、他の用途のためBCVボリュームを分離することができる。特に、BCVボリュームは、標準ボリューム上の何れのデータも壊す恐れ無しに、テスト中の開発プログラム又はバックアッププログラムのような他のアプリケーションプログラムと対話することができる。これらの独立したオペレーションの間、標準ボリュームに関連するアプリケーションは、当該データを変更することができ、その間他のアプリケーションはBCVボリューム上の複製されたデータを変更することができる。各変更はトラック又は他のデータブロックに関して生じる。これらのオペレーションの間に、各変更の位置、又はトラックも識別される。
【0006】
BCVボリューム上のデータを標準デバイス上のデータで更新することが求められる場合は、2つの方法のうち一方が使用される。1つ目として、設定コマンドは標準デバイス内の全データがBCVボリュームに対してコピーされるようにする。2番目の方法はより効率的である。再設定コマンドは、標準及びBCVボリューム内で、先の分割コマンド以降データに変更があった位置又はトラック全てを識別する。再設定コマンドは、ここで、標準又はBCVボリュームの何れかで変更になったデータだけが、標準デバイスからBCVデバイスに転送されるようにする。明らかなように、変更されたのが全トラックの100%よりも少なければ、再設定方式は、BCVボリュームを標準ボリュームと同期させる時間を省くことができる。
【0007】
上記特許に開示されている様々なコマンドを使ってBCVボリュームを使用すれば、データ処理にとって非常に強力なツールになることが証明されている。それは各人にデータを取り扱う際の柔軟性を提供し、通常のオペレーションへの干渉を最小に抑えながらデータを複製できる能力のおかげで、データ処理システム全体の信頼性を高める。しかしながら最近では、データを多数のBCVボリュームへ複製し、複製されたデータを反復的に更新することが強く望まれるという、新しい必要条件が浮上してきている。
【0008】
現在利用可能なシステムには制約がある。2つのBCVボリュームが設定され分割される場合、最も新しく定義された標準−BCVデバイスペアをつなぐためには再設定コマンドしか使えない。この制約は、標準デバイス内の変更が各BCVデバイスに対して別々には保守されないことから課せられるものである。そうでなければ、再設定コマンドは拒否される。例えば、第1BCVボリュームに対して標準−BCVペア(即ち、標準STD−BCV(1)ペア)を設定し、当該ペアを分割し、STD−BCV(2)ペアを設定し、当該ペアを分割し、そしてBCV(1)ボリュームを更新するという場合を想定しよう。先行技術によるシステムでは、BCV(1)ボリュームを更新するには設定コマンドを処理することが必要であった。
【0009】
このような設定コマンドに応じて全てのデータを転送するのに必要な時間は、再設定コマンドに応じてデータを転送する時間をはるかに上回ると考えられる。従って、先行するコマンドシーケンスとは無関係に、多数の標準STD−BCVペアで再設定コマンドの使用が許される方法及び装置を提供することが強く望まれている。
【0010】
(発明の概要)
従って、本発明の目的は、標準デバイス上のデータを多数の記憶装置デバイスに複製できるようにするデータ記憶機構を提供し、それにより各コピー内のデータを効率的な方法で周期的に更新できるようにすることである。
【0011】
本発明の別の目的は、標準デバイス上のデータを多数の記憶装置デバイスに複製できるようにし、且つ標準デバイス内のデータに生じ他の記憶装置デバイスにコピーされた変更を反映するのに必要なデータだけを標準デバイスから転送することにより、コピーを更新できるようにするデータ記憶機構を提供することである。
【0012】
本発明の更に別の目的は、標準デバイスからの多数のデータのコピーを可能にし、ホストデバイスと標準デバイス内のデータとの間の如何なる対話に関しても効率的に且つ見えないようにそれらのコピーを更新することを可能にするデータ記憶機構を提供することである。
【0013】
本発明のある態様によれば、データ記憶機構は、第1、第2、及び第3のプログラムそれぞれと個別に対話する第1、第2、及び第3のデータ記憶装置を備えている。第2及び第3データ記憶装置はそれぞれ、異なる時期に、第1データ記憶装置のミラーとして選択的に接続することができる。第2及び第3のデータ記憶装置はそれぞれ、異なる時期に、第1データ記憶装置から取り外し又は分割することもでき、それによりそれらは第2及び第3のプログラムそれぞれと対話することが可能になる。第2及び第3データ記憶装置の一方でデータの更新が求められる場合は、それはミラーとして再設定されるが、対応する第2又は第3のデータ記憶装置において変更されたデータと第1記憶装置において変更されたデータだけが転送される。
【0014】
本発明の別の態様によれば、データ処理システムは、第1物理ディスク記憶装置ユニット上に位置する第1記憶装置デバイス内のデータと対話できるようになっている第1アプリケーションプログラムを有している。当該同一データのコピーと同時に且つ独立して対話するために、少なくとも2つの追加的なプログラムが使用可能となる。厳密には、システムは、追加プログラムそれぞれに対し、異なる物理ディスク記憶装置ユニット上の追加的記憶装置デバイスを識別する。追加的記憶装置デバイスの各々に対するセッションリファレンスは、第1記憶装置デバイス上のデータの対応する部分に対してなされた各変更を記録するためのエントリを有している。デバイスリファレンスは、それぞれのプログラムが対応する記憶装置デバイス上のデータ部分に対して行なう各変更を記録するためのエントリを備えた第1及び各追加的記憶装置デバイスに対しても設定される。他の記憶装置デバイスへの転送のため、及びそれぞれの各追加的プログラムにより使用するため、独立したコピーが生成される。プログラムがデータ部に変更を行なう都度、そのイベントは、当該プログラムとデータ記憶装置デバイスに関連付けられたデバイス変更リファレンス内に記録され、一方その間もシステムは独立して作動している。要求があり次第、対応するセッション内のエントリとデバイス変更リファレンスを組み合わせて、変更されたデータ部を識別し、第1記憶装置デバイスから選択された記憶装置デバイスへと転送されるデータを制御することにより、選択された記憶装置デバイスにでコピーの更新が行われる。
【0015】
本発明の別の態様によれば、マルチプロセッサ・データ処理システムは、1つのプログラムが1つのデータ記憶装置デバイス内のデータで作動するデータ記憶機構と、他のプログラムそれぞれが別のデータ記憶装置デバイスと対話する複数の他のプログラムを含んでいる。この1つのデータ記憶装置デバイスからのデータの多数のコピーは、対応するプログラムを使ったオペレーションのため追加的データ記憶装置デバイスそれぞれに作成される。これらのデバイス間の対話は、コピーが作成されることになる追加的記憶装置デバイスそれぞれのための第1バッファと、各追加的記憶装置デバイスと1つの記憶装置デバイスとのための第2バッファとを定義することを含んでいる。1つの記憶装置デバイスからのデータは、追加的データ記憶装置デバイスの1つにコピーされ、それにより別のプログラムが、その1つのデータ記憶装置デバイスで使用されているデータ及びプログラムとは無関係に、追加的データ記憶装置デバイス上のデータコピーと対話できるようになる。この1つのプログラムによりこの1つの記憶装置デバイス上のデータに対して行なわれた各変更、及び他のプログラムにより対応する追加的記憶装置デバイスに対して行われた各変更は、第1及び第2バッファにそれぞれ記録される。独立したオペレーションが完了すると、対応する第1及び第2バッファ内の情報は組み合わせられ、この1つのデータ記憶装置デバイスからある追加的記憶装置デバイスへとコピーされるべきデータを識別し、それによりコピーされるべきデータが使用可能になるので、追加的記憶装置デバイス内のデータはその1つのデータ記憶装置デバイス内のデータを複製する。
【0016】
(好適な実施例の詳細な説明)
各請求項は、本発明の主題を厳密に指摘し明確に請求している。本発明の様々な目的、利点、及び新しい特徴は、添付図面を参照しながら以下の詳細な説明を読むことによりより深く理解されるであろう。なお、図面では、類似の部分を類似の符号で表している。
【0017】
図1は、1つ又はそれ以上のホストデバイスを備えたマイクロプロセッサ・ホストアレイ21がオペレーションを制御する、データ処理システム20を示している。各ホストデバイスはプログラムを処理するが、以下の説明にある「ホストアプリケーション」とは、ホストで処理されている特定のアプリケーションプログラム、手続き、プロセス、モジュール等を指す。図1は、このようなアプリケーション、即ち、HOST APP Aアプリケーション22、HOST APP Bアプリケーション23、HOST APP Cアプリケーション24、の3つを示している。
【0018】
各ホストアプリケーションは、システムバス26上で、データ記憶機構25に記憶されているデータにアクセスして処理するが、前記システムバス26は、シングル及びパラレル・バス構造を含む既知の形態のうち何れの形態であってもよい。説明上、データ記憶機構25は、HOST APP Aアプリケーション、HOST APP Bアプリケーション、又はHOST APP Cアプリケーション、22、23、24の何れかで処理されるデータ全てを記憶するものと考えることにする。
【0019】
本発明は、様々なタイプ及び構成の数多くのディスク記憶機構で実現することができる。以下の説明は、特定のデータ記憶機構25、即ち、シンメトリクス・ディスク・アレイ記憶装置(DASD)に関連付けて記述する。しかしながら、このように特定的に説明した実施例を他のデバイスに適用できるということは、当業者には容易に理解されるであろう。
【0020】
データ記憶機構25であるシンメトリクス・ディスク・アレイ記憶装置は、相互間で、且つ一連のディスクアダプタ及び物理的ディスクと通信する、ホストアダプタ27とキャッシュメモリ28とを含んでいる。図1は、例として、論理ボリューム31を含む1つ又はそれ以上の論理ボリュームを記憶する物理ディスクのアレイを備えた第1ディスクアダプタ(DA)30、論理ボリューム33を備えたディスクアダプタ32、論理ボリューム35を備えたディスクアダプタ34を示している。本発明を説明する上で、物理デバイスは論理ボリュームを記憶するものとする。図1では、各ディスクアダプタには記憶装置デバイスが1つしか付いていないが、各ディスクアダプタは多数の物理ディスク記憶装置ユニットのオペレーションを制御でき、多数の論理ボリュームにアクセスできることは言うまでもない。
【0021】
しかしながら、よく知られているように、論理ボリュームは、1つの物理デバイスの一部分、物理デバイス一式、多数の物理デバイスの各部分を備えていてもよいし、又更には物理デバイス一式を多数個具備していてもよい。本説明では以下の語が使用されている。図1に関して「標準デバイス」とは論理ボリューム31を意味し「BCV(1)デバイス」及び「BCV(2)デバイス」はそれぞれに論理ボリューム33及び35を意味する。
【0022】
バス36は、ホストアダプタ27、キャッシュメモリ28、及びディスクアダプタ30、32、34を含むディスクアダプタと相互接続している。アダプタ27、30、32、34それぞれは、コマンドに応じて様々なオペレーションを実行するためのプログラム可能な制御を含んでいる。加えて、各ディスクアダプタは、コピープログラム37、38、39のようなコピープログラムをディスクアダプタ30、32、34それぞれに含んでいる。
【0023】
図2は、本発明に関連するキャッシュメモリ28の部分、厳密には図1に示している書き込みペンディングスロット42及びデバイスヘッダ43について詳しく示している。キャッシュメモリ内のデータ構造を書き込みペンディングスロットとデバイスヘッダとして使用することは、当技術では一般的によく知られている。図2の書き込みペンディングスロット44のような個々の書き込みペンディングスロットは、ヘッダ45を含んでおり、そのヘッダの後にデータブロック46のデータがついている。普通は、このデータブロックは1物理トラック分のデータを保有している。各ヘッダ45は、書き込みオペレーションが必要か、それとも書き込みペンディングスロット42の1つから物理ディスクデバイス内のある位置へデータをデステージする必要があるかを指示するWPフラグ47を含んでいる。一旦、データがキャッシュメモリ28から対応するデータ記憶装置デバイスに転送されると、システムはそのスロットに対するWPビット47をクリアする。各ヘッダには、本発明とは関係のない他のデータも含まれているが、ここには図示しない。
【0024】
デバイスヘッダ43は、シンメトリクスDASD内の各記憶装置デバイス毎にエントリを1つずつ含んでいる。このようなエントリである3つのエントリ、即ち、標準デバイス31用のエントリ48、BVC(1)デバイス33用のエントリ49、BCV(2)デバイス35用のエントリ50を示している。これらエントリの各々は同じ編成である。つまり、デバイスエントリ48は、ヘッダ51とデバイス31内の各シリンダ毎の複数のエントリを含んでいる。3つの特定のエントリ、即ちシリンダ0エントリ52、シリンダ1エントリ53、及びシリンダnエントリ54を示している。
【0025】
シリンダ0エントリ52のような各シリンダエントリは、トラックID表55のようなトラックID表を定義する位置のブロックを指し、各位置はシリンダ内の特定のトラックに割当てられている。トラックID表55には、2つのトラックエントリ、即ち、個々の物理デバイスに対するトラック0エントリ56とトラックEエントリ57が示されているが、シリンダ毎に15のデータトラックがある。
【0026】
デバイスエントリ49は、ヘッダ61とシリンダエントリを含んでいるブロック60を備えている。図2では、トラックID表63を識別するシリンダ0エントリ62を含む3つの特定のシリンダエントリを示している。トラックID表63は、この特定の実施例では、2つのエントリ、即ちトラック0エントリ64とトラックEエントリ66を含んでいる。ブロック60の追加的シリンダのエントリも含まれることになる。図2では、このようなエントリを2つ、即ちシリンダ1エントリ67とシリンダmエントリ68を示している。デバイスエントリ50は同じデータ構造になっており、ヘッダとシリンダエントリを備えたブロック70を含んでいる。各シリンダエントリはトラック表71を指すことになる。
【0027】
各トラックID表に対応して、データブロック若しくは、PB表とも呼ばれる「保護ビット」を含んでいる表がある。このようなPB表の1つ72は、PBヘッダ73によりトラックID表55に対応付けられている。このPB表72は、シリンダ内のトラック毎に1行、セッション毎に1列の2次元アレイと捉えることができる。集合的に、標準デバイス内の全シリンダに対するPB表は、標準デバイス内の多数のセッションと各トラックを規定している。以下の論において、「PB表72」とは、図2に示す個々の表、又は標準デバイス内の全シリンダに対するこのような特定の表の集合体のことを言う。
【0028】
シンメトリクス・ディスク・アレイ記憶装置システムにおいて、各行は2バイト幅で16セッションまでを規定する。以下の論において、特定のPBビット位置は、PB(x,y)の形で識別され、xはシリンダ内のトラックを示し、yはセッション番号を示す。図2は、DDF(1)及びDDF(2)セッション等のようなセッションを示しており、DDF(n)は本発明のプリセスを取り入れたセッション用の名称である。16ビット幅の表では、16のセッションを定義することができる。しかしながら、PB表は本発明以外のアプリケーションにも使用することができるので、DDFセッションの数は制限してもよい。より厳密に言えば、DDFセッション生成中は、他のセッションの生成と同様に、標準デバイスに対応付けられたコントローラが、何れの「y」桁が利用できるかを判定する。ある桁が利用できるのであれば、コントローラは、選択されたPBビット桁に相関付けられたセッション・アイデンティフィケーションを設定する。
【0029】
米国特許証出願番号第08/842,953号に記述されている先行技術によるデータ記憶機構では、データをトラックに書き込むためのI/Oリクエスト、即ち書き込みリクエストは、トラックID表のM1からM4ビット位置により表される様々なトラックID表を変更する。この発明は、標準デバイスに関連付けられたPB表と、標準及びBCVデバイスに関連付けられたトラック表との組み合わせを用いて、1つの標準デバイスに関して多数のBCVセッションを使用可能にする。図1に示すように、これは標準デバイス31上のデータが、異なる時期に、BCV(1)デバイス33及びBCV(2)デバイス35に複製できるようにする。HOST APP Aアプリケーション22は、標準デバイス31と継続して作動する。分割後、HOST APP Bアプリケーション23は、BCV(1)デバイス33と作動可能になり、HOST APP Cアプリケーション24は、BCV(2)デバイス35と作動可能になる。明らかになっていくであろうが、PB表とトラック表を組み合わせることにより、BCVデバイス33又は35のどちらもが、どんな順序ででも標準デバイス31から更新できるようになる。
【0030】
図3は、書き込みリクエストへ応答する時のデータ記憶機構25の作動に対する修正を示している。先行技術によるデバイスでは、ステップ80は、ホストアダプタ内のホストアプリケーションの1つからの書き込みリクエストの受信を表す。ステップ81はこのリクエストをステージする。次に、ディスクアダプタはステップ82で書き込みリクエストを受信し、変更すべきトラックを識別する。
【0031】
書き込みリクエストに対する正確な応答は、標準デバイス又はBCVデバイスとしての論理ボリュームの状態によって決まる。ステップ84が、書き込みリクエストが標準デバイスに向けたものであると判定すると、ステップ84は制御をステップ85に送る。ステップ85は、識別されたトラックに対するPB表内のあるビットを各セッション毎の変更値にセットする。つまり、これらが2つのDDFセッション、即ちDDF(1)及びDDF(2)であり、書き込みリクエストが標準デバイス31のトラック1を識別している場合、PB表72のDDF(1)とDDF(2)列内のトラック1ビット(即ちPB(DDF(1)、1)ビットとPB(DDF(2)、1)ビット)が「変更された」値を引き継ぐことになる。以下の議論では「C」は「変更された」値を示し「U」は「変更されていない」値を示す。この「変更された」値を表すのに「1」ビットか「0」ビットのどちらを使うかは好みの問題であるが、本発明のある特定の実施例では「変更された」値を「0」としている。ステップ85はここで、ステップ90においてトラック(図示せず)に対する書き込みペンディングフラグがクリアできるという承認を返す前に、制御を、完了状態を通知するステップ86及び書き込みオペレーションを実行するステップ87に転送する。
【0032】
識別されたトラックが、BCV(1)デバイス33又はBCV(2)デバイス35のようなBCVデバイス内にあれば、ステップ84は、制御をステップ91に転送するす。ステップ91は、対応するBCVトラック表の「M4」ビットを無効に設定する。BCVオペレーションでは、このビットは「M4b」ビットという名称で指定される。図1のHOST Bアプリケーション23が、書き込みリクエストを、デバイス33のシリンダ0トラック0に対して生成したものと想定する。ステップ91は、トラックID表63の行64のM4bの状態に無効状態を表示させる。以下の議論において「V」及び「I」はそれぞれ有効及び無効を表す。シンメトリクス・インプリメンテーションでは、V及びI値はそれぞれ「0」及び「1」である。
【0033】
以下の議論では、「〜としてマークされた」という語句を用いるが、これはビット位置に関して起こされるアクションのことである。明らかになることだが、ほとんどの状況において、特定のビット位置の状態は予測不可能である。我々は、先行状態とは関係ない最優先オペレーションを表すために「〜としてマークされた」という語句を用いる。
【0034】
設定コマンド
このような背景が理解された上で、これより、BCVデバイスに記憶された標準デバイスからの多数のデータのコピーを使用する、多数の独立して作動するセッションを使用可能にする様々なコマンドについて説明する。このようなセッションは何れも、ホストアプリケーション又は他のソースが設定コマンドを発行すると開始される。設定コマンドは、標準デバイス31のような標準デバイスと、BCVデバイス33又は35の内の1つのようなBVCデバイスを識別する。図1のホストアダプタ27のようなホストアダプタがステップ100でコマンドを受信すると、エラーが存在する場合には打ち切るために、ステップ101でエラーについて検査する。エラーがなければ、ホストアダプタはステップ102で設定リクエストを発行する。
【0035】
ディスクアダプタがステップ103で設定リクエストを受信すると、ディスクアダプタコントローラはそのリクエストがあるセッションを識別しているかどうかを判断する。標準デバイスとBCVデバイス間に関係を確立させるという初期の試みの場合に当てはまるように、セッションが含まれていないのであれば、ステップ104は、DDFセッション番号の割り付け及び標準デバイスに関係付けられたPB表内の対応するビット位置の選択を含む、多数のテスト及び機能を実行するステップ105に制御を転送する。加えて、他の機能も実行できる。ステップ105は又、必要なリソースが利用可能なことを保証する。図1及び2のシステムに関連して、ステップ105は、標準デバイス31とデバイス33BCV(1)をペアにしたDDF(1)セッションを確立することができる。条件が適合しない場合は、エラーメッセージが送信される。全てのテストにパスすると、ステップ105は制御をステップ106に転送し、設定機能は、米国特許証出願番号第08/842,953号に開示されているのと同じやり方で続ける。セッションが設定リクエスト用に定義されているのであれば、ステップ104はステップ105を迂回して制御を106に転送する。
【0036】
以降のステップは、選択されたBCVボリュームを何れの対応するアプリケーションからも隔離し、選択されたBCVデバイスをミラーとして標準デバイス31に接続する。知られているように、これが起きると、トラック表又はミラー位置のある特定の列が、他のミラーデバイスのトラックの状態を表すものとして指定される。これは、いつも未使用のミラー位置として選択される。これが起きると、正確な位置が変更されることになり「MM」という名前で移動ミラーと呼ばれる。設定コマンドは、標準デバイスに関係付けられた全ての移動ミラービットを無効状態にする。これにより、標準デバイス上のコピープログラムが、選択されたBCVデバイスにデータをコピーできるようになる。BCVデバイスが標準デバイスと同期しているときは、通常の鏡映オペレーションが継続される。
【0037】
厳密には、ステップ106は、対応するBCVデバイスをBCVミラーとして選択し、先に説明したように、次に利用可能な標準デバイスミラーを加える。本発明の構成には入っていないが、当技術ではよく知られている種々のブックキーピングオペレーションも実行される。BCVデバイスと、それと共に作動するプログラムとの間のこれ以上の通信は不可能なので、ステップ107は、選択されたBCVデバイスに対する全ての書き込みペンディング・オペレーションを捨てる。ステップ108は、選択されたBCVデバイスをその機能において、対応するアプリケーション用の記憶機構として、ノット・レディ(NR)にセットすることにより隔離を完遂する。
【0038】
次にステップ110は、標準デバイストラックID表の全移動ミラー(MM)トラック状態ビットを無効状態にセットする。標準デバイス内の割り当てられていないM1からM4ビット位置の内の何れか1つは、ミラーデバイスの状態を表すために割当てることができる。割当てられたビット位置はMMビット位置と呼ばれる。全MMビットを無効とマークすることにより、標準デバイスからの全データが選択されたBCVデバイスに確実にコピーされることになる。従来の設定コマンドが発行された場合には、ステップ111は、制御をステップ112に転送し、そこで、ステップ113でホストアダプタに送り戻すため、そして設定コマンドを発行しているアプリケーションに更に転送するため、完了状態を通知する。しかしながら、本発明により、あるセッションが含まれている場合は、ステップ111はプロセス中にステップ114を挿入する。ステップ114は、対応するPB表内のセッションと関係付けられた全てのトラックエントリを「変更された」セットとしてマークする。こうして、設定コマンドがDDF(0)セッションとして生成される場合は、PB表72を含む全てのPB表内の全てのPBビットが「変更された」値を反映することになる。その後、完了状態はステップ112で通知され、ステップ113で転送されることになる。一旦、このプロセスが完了すると、デバイスアダプタ30内のコピープログラム37は、標準デバイス31からの全てのデータを、ミラーとして機能する選択されたデバイスへとコピーする。
【0039】
分割コマンド
一旦、設定コマンドが発行されると、標準デバイスと選択されたBCVデバイスとの間の関係は、BCVボリュームの同調の後まで継続する。次に、分割コマンドは、BCVデバイスとその対応するアプリケーションとの間の経路を作り出すことができる。例えば、図1で、設定コマンドが、標準デバイス31とBCV(1)デバイス33との間にBCV関係を作り出す場合は、分割コマンドは標準デバイス31とBCVデバイス33を隔離して、デバイス33に、HOST APP Bアプリケーション23にセットされた複製データを再び接続する。図5で説明したように、手続きは、ホストアダプタがステップ121で分割コマンドを受信すると開始される。ホストアダプタはステップ122で様々な状況をテストする。例えば、ある特定のテストは、BCVデバイスが標準デバイスと実際に同期しているか否かを判定する。エラー状況が存在する場合は、ステップ122はステップ123に逸れ、応答を打ち切る。そうでなければ、ステップ124はデバイスアダプタに分割リクエストを発行し、他のホストから当該デバイスアダプタへの以降の通信を遮断する。
【0040】
ステップ125で、選択されたBCVデバイス用のデバイスコントローラは、分割コマンド又はリクエストを受信する。分割コマンドに対する応答の間、如何なる活動をも防止するために、何れのミラーデバイスもステップ126でロックされる。これにより、分割コマンドに対する応答が処理されている間は、何れの新規の書き込みリクエストも他のホストから当該デバイスに通知されないようになる。ステップ127では、選択されたBCVデバイスに関係付けられたデバイスコントローラは、BCVミラーを標準デバイスから取り外し、BCV(1)デバイス33用のHOST APP Bアプリケーション23のような、その元々のBCVアプリケーションに再び割り当てる。構成変更を反映するため、あるデバイスの記録を更新するというような種々のブックキーピング手続きが実行される。次に、BCVデバイスのそのミラーオペレーションという意味での状態は、ミラーとして機能しているデバイスをノット・レディ(NR)状態にセットすることにより停止される。
【0041】
ステップ130は、選択されたBCVデバイスに対する何れの書き込みペンディング・オペレーションをも、当技術では知られているやり方で管理する。制御はここでステップ131へ移り、識別表を標準デバイスから選択されたBCVデバイスへコピーする。
【0042】
ステップ132は、分割コマンドが、米国特許証第08/842,953号に開示されている完全分割コマンドであるのか、米国特許証出願番号第09/251,812号に開示されている差分(DIFF)分割コマンドであるのかによって、次のオペレーションを制御する。完全分割コマンドが関係する場合は、ステップ132は、制御をステップ133に転送し、全てのM4bビット、即ち選択されたBCVデバイス・トラックID表のM4ビットを有効とマークする。従って、BCVデバイスがデバイス33であれば、トラックID表63内の全てのM4ビットが「有効」とマークされる。これは、選択されたBCVデバイスに対して、その対応するアプリケーションはデータに何の変更も行なわなかったことを示している。
【0043】
DIFF分割リクエストが関係する場合は、トラック毎に解析が実行されねばならない。ステップ132は、トラックを選択することでループを始めるステップ135に制御を転送する。ステップ135は、ここで、対応するビットが「変更された」とマークされているかどうかを判定することにより、書き込みリクエストが割り込んできて標準デバイスのデータを変更したかどうかを判定する。DDF(n)ビットが「変更された」とマークされていれば、ステップ135は、制御をステップ135に転送する。ステップ136は対応するBFMビットをどれも無効とマークする。BCVボリュームは独立して作動してもよいし、分割された後に他のミラーと一緒に作動してもよい。このようなミラーが存在するのであれば、それらはBCVデバイス用のトラックID表中に識別される。例えば、BCVデバイス33がM2ミラーと共に作動している場合は、トラックID表中のM2ビット位置は、BFMビットとして指定されることになり、トラック毎に1ビットが割当てられる。このようなミラーデバイスが存在しなければ、ステップ136は何れのビット値も変更しない。
【0044】
ステップ137は、もっと多くのトラックをテストすることによりループを終了する。より多くのトラックが存在する場合、ステップ138は、制御をステップ135に戻す。そうでなければ、ステップ137は、制御をステップ138に転送し、選択されたBCVデバイスに対するトラックID表中の全てのM4bビットを有効とマークする。
【0045】
ステップ133がその機能を完了した後、制御はステップ134に移動し、そこでセッションに対する全てのDDF(n)ビットが「変更されていない」とマークされる。つまり、分割コマンドが、標準デバイス31をBCVデバイス33に関連付けているセッションを識別するのであれば、セッション識別子DDF(1)により、図2のPB表72のDDF(1)列内の全てのビットは「変更された」とマークされることになる。これにより、PB表は確実に、選択されたBCVデバイス上に複製データを正確に反映するものとなる。
【0046】
次に、ステップ140は、その対応するアプリケーションに関して、選択されたBCVデバイスをレディ状態にセットする。ステップ141は、ステップ142でホストアダプタに戻すため完了状態を通知する。これが起きると、BCVデバイス33の場合はHOST APP Bアプリケーション23のような、選択されたBCVデバイスに対応するアプリケーションは、分割コマンドの時に存在したコンテキストの複製データと対話できるようになる。このデータの処理は、標準デバイスと対話しているアプリケーション、及びBCVデバイス35のHOST C APPアプリケーション24のような、他のBCVデバイス上でデータを処理するための他のアプリケーションの処理と並行して又は同時に起きる。
【0047】
先に指摘したように、図1のHOST APP Aアプリケーション22のようなアプリケーションは、標準デバイス31上のトラックを変更するので、図2のトラックID表55内の対応するトラック位置をマークし、全てのセッションに対しPB表72中の対応するビットを「変更された」とマークする。つまり、DDF(1)及びDDF(2)セッションがアクティブであれば、標準デバイス31に対する書き込みリクエストは、PB表72中のDDF(1)列及びDDF(2)列の双方について対応するトラック位置を変更する。
【0048】
例えば、関係するBCVデバイスがBCVデバイス33であると仮定すると、HOST APP Bアプリケーション23は、BCVデバイス33上のデータを変更する。これにより、変更されたトラックに対するM1ビット位置は有効とマークされ、M4bビット位置は無効とマークされ、当該トラックは標準デバイス上の対応するトラックともはや同期していないことが表示される。
【0049】
分割コマンドが処理された後、別のアプリケーションプログラムが、図3に従って取り扱われる書き込みリクエストを発行する。時間中、所与のセッションに関する全てのPBビット、並びに対応するBCVデバイスに対するM4bビットは、BCVデバイス及び標準デバイスに対してなされた全ての変更を、トラック毎に(即ち、トラック単位で)まとめて表示することになる。
【0050】
再設定コマンド
場合によっては、特定のBCVデバイス上の複製データを更新することが望ましいこともある。その1つのアプローチは、別の設定コマンドを発行することである。しかしながら、再設定コマンドは、標準デバイスから選択されたBCVデバイスまで、どちらかのデバイスにおいて変更されたトラックのデータを転送することしかしない。これにより、設定コマンドの処理にかかる時間のうち転送する時間をかなり削減できる。
【0051】
図6は、再設定コマンドに応答して、ホストアダプタ及び選択されたデバイスコントローラが行う手続きを示している。先の事例のように、ホストアダプタはステップ150でホストから再設定コマンドを受信し、ステップ151でエラーをテストする。エラーが発見されると、ステップ152は処理を打ち切り、適当なエラーコードを出す。先行システムにおいては、指定されたBCVデバイスが設定コマンドを初期化するデバイスでなかった場合に、このようなエラーが起きた。本発明によれば、再設定コマンドがセッション中のどんなBCVデバイスでも識別できるので、そのようなエラーはもはや起きない。エラーが存在しないとすると、ステップ153はディスクアダプタに再設定リクエストを出し、他のコマンドに応答する際に行われる切断と同じやり方で切断を実行する。
【0052】
ステップ154では、デバイスアダプタは再設定リクエストを受信する。ステップ155は、ローカルBCVミラーとして選択されたBCVデバイスに、次に利用可能なデバイスミラー指定を加える。ステップ156で、BCVデバイスは、図1のBCVデバイス33に対するHOST APP Bアプリケーション23のような、対応するアプリケーションに対してノット・レディ(NR)にセットされる。BCVデバイスに対する全ての書き込みペンディングはステップ157で無効にセットされる。
【0053】
ステップ160は、次に、記憶装置デバイスがトラック毎ベースに解析されるループ内の第1ステップとして、あるトラックを選択する。ステップ161は、選択されたBCVデバイス用のトラックID表から選択されたトラックに対するトラックM4bビットを、DDFセッション用の選択されたトラックに対するPBビットと組み合わせる。例えば、DDF(1)セッションが、標準デバイス31とBCV(1)デバイス33の間の関係を確立する場合、ステップ167は、図2のトラックID表63からのM4ビットと、PB表72のDDF(1)列からの対応するPBビットを、論理OR演算で組み合わせる。その結果により、標準デバイス31又はBCVデバイス33の何れかで特定のトラックが変更されたか否かが識別される。
【0054】
ステップ162は、対応するMMビットを、そのビットの組み合わせに基づいてマークする。組み合わせは通常、論理OR演算である。ステップ163は、ここで、全てのトラックを解析し終えたかどうかを判定する。解析が終わっていなければ、ステップ164は次のトラックを選択して、制御をステップ160に戻す。解析が完了していれば、システムはステップ165を用いて、完了状態を通知し、ステップ166で、その状態をホストアダプタを介して再設定コマンドのソースに転送して戻す。
【0055】
ステップ160で開始したループが終了すると、標準デバイス内のMMビットは、標準デバイスから選択されたBCVデバイスへ転送する必要のある各トラックを識別する。次に、コピープログラム、一般的には標準デバイスに関係付けられたコピープログラムは、MMビットを使って転送を制御する。
【0056】
このプロセスの間に、HOST APP Aアプリケーション22が標準デバイス31に対して書き込みリクエストを生成すれば、対応するPBビットを変更することになる。しかしながら、再設定コマンドがアクティブである限り、ステップ160で開始されたループは作動するので、新規データは、次の分割で、選択されたBCVデバイスに転送される。
【0057】
復元コマンド
図7は、標準デバイスの全てのデータを選択されたBCVデバイスから復元する復元コマンドを示している。この手続きは、BCVデバイスが有効コピーを持っている間に、標準デバイスに故障が起きた場合に役立つ。例えば、BCVデバイスの1つがバックアップ・オペレーションに使用中であれば、分割コマンド後にはデータは一切変更されない。ディスクの故障又はファイル破壊というイベントが起きた場合、復元コマンドは、特定のDDFセッションに対する先の分割コマンドの時に存在していたバージョンで、標準デバイス内のデータを復元する。
【0058】
図7に示すように、ホストアダプタはステップ170で復元コマンドを受信して、ステップ171でエラー状況をテストする。BCVデバイスが無効トラックを有する場合、標準デバイスに対して書き込みペンディング・オペレーションがある場合、又は標準デバイスがノット・レディ(NR)状態により特徴づけられている場合には、復元コマンドに固有のエラー状況が存在する。ステップ172は、このようなエラー状況が存在するのであれば、復元コマンドの何れのプロセッシングをも打ち切る。
【0059】
エラー状況が存在しないならば、ステップ173は復元リクエストを発行し、次に切断する。デバイスアダプタがステップ174で復元コマンドに出会うと、ステップ175で、選択されたBCVデバイスに対する次に利用可能な標準ミラーデバイス指定を選択する。ステップ176は、BCVデバイスを、当該デバイスが対応するアプリケーションに対してもはや使用可能状態にないか又は利用できないことを表示することにより、そのアプリケーションから隔離する。
【0060】
様々なペンディングになっている書き込みオペレーションはステップ177で管理される。選択されたBCVに対する書き込みペンディング・オペレーションが存在する場合には、同一の書き込みペンディング・キャッシュ・スロットが保守されるが、その属性は、BCVデバイスではなく標準デバイスのデバイス番号を反映するため、そしてミラーが、現在、BCVデバイス上の第1の利用可能なローカルミラーではなく、標準デバイスにミラーとして関係付けられていることを反映するために、変更される。先行技術で既知のように、種々の書き込みペンディング及びイン・キャッシュ・フラグがここでセットされる。
【0061】
復元コマンドの実行例として、選択されたBCVデバイスだけが有効なデータを保持していると仮定すれば、デバイスコントローラは、ステップ180を用いて、標準デバイス及びあらゆるローカルミラーに対するトラックID表内の全てのエントリを無効とマークする。ステップ181では、コントローラは、有効とされている選択されたBCVデバイスに対する標準デバイス表内の全てのトラックを有効とマークする。標準デバイスに対するトラックID表内に常駐しているのはMMビットである。ステップ182では、現在のDDFセッションに対する全てのトラックエントリは「変更されていない」とマークされる。つまり、関連セッションがDDF(1)セッションであれば、図2のDDF(1)PB表72内の全てのトラックは「変更されていない」値にセットされる。ステップ183では、DDF(2)セッションのような他の全てのDDFセッションに対するPBビットは「変更された」とマークされる。ステップ184は、完了状態を通知し、ステップ185は、その状態を、ホストアダプタを介してリクエスト中のアプリケーションに戻す。これに伴い、標準デバイスに関係付けられたコピープログラムは、ここで、トラックID表55のようなトラック表のMMビット内の信号の状態を使って、選択されたBCVデバイスからデータをコピーし、当該データ全てを標準デバイスに復元する。
【0062】
増分復元コマンド
増分復元コマンドは、先回の分割コマンド以降標準デバイス内で変更されたトラックに対応するBCVデバイス内のトラックからのデータだけを転送することにより、標準デバイスを選択されたBCVデバイスと同期状態にする。これにより、完全復元を実行する高価なオーバーヘッドを使わずに、デバイスとの同期が確立できる。図8は、ホストアダプタがステップ192で増分復元コマンドを受信して、ステップ191でエラーのテストを行い、エラーが存在すればステップ192で打ち切る、というプロセスを示している。エラーが存在しなければ、制御はステップ193に移り、増分復元コマンドをシステムバス上でデバイスアダプタに送る。
【0063】
ステップ194は、デバイスアダプタでの、増分リクエストの受信を表している。ステップ195及び186は、図7のステップ175及び176と同じやり方で作動する。ステップ197は、標準デバイスに対するあらゆる書き込みペンディング・オペレーションを、それらを無効とマークすることにより処理する。ステップ200は標準デバイス表内の全てのMMビットを有効とマークする。
【0064】
次のステップ201は、トラック毎に解析するためのループを開始する。各トラック毎に、ステップ202は、選択されたBCVデバイスに関するM4bビットが有効であるか否かを判定する。ステップ203は、DDF(n)セッションに関するPBビットが変更されているか否かを判定する。何れの場合にも、制御は204に移り、選択されたトラックに対する標準デバイス内のMMビットを無効とマークする。ステップ205は、選択されたトラックに対するDDF(n)セッションに関する対応するPBビットを「変更されていない」とマークする。次に、ステップ206は、当該トラックに関する他の全てのDDFセッションに対する全てのPBビットを「変更された」とマークする。
【0065】
ステップ207はループ制御として機能し、ステップ210で次のトラックが識別され、制御はステップ202に戻る。全てのトラックが調べられると、ステップ207は制御をステップ211に転送し、ここで完了状態が通知され、ステップ212はこの状態を、ホストアダプタを介して、増分復元コマンドを発行しているアプリケーションに転送することができる。
【0066】
特定の例
図3から図8はそれぞれ特定のオペレーションを定義している。本発明については、特定の構造コマンドシーケンスを使った特定の例を参照することにより、理解が一層深まるであろう。図9は、メインアプリケーションと2個のミラーを使って作動する標準デバイス31を備えたデータ記憶機構220を示している。特定のミラー位置を特定の順序で識別するための要件がないので、図9では、標準デバイス31は、ミラー222をM2ミラーとして、そしてミラー223をM4ミラーとして割当てている。その結果、トラックID表内のM1とM3ビット位置は未使用のままとなる。BCV(1)と表示されている第1BCVデバイス33は、バックアップ・オペレーションのためにデータを提供するよう構成されている。この場合、バックアップアプリケーション23は、BCV(1)デバイス33から、テープバックアップまたは他の媒体のバックアップ機構に、データを周期的にコピーする。これは、そのトラックID表内にM1ミラーとして割当てられる。M2及びM3ビットは割り当てられていない。M4ビットはM4bビット位置である。第2BCVデバイス、即ちBCV(2)デバイス35は、M2ミラー224、及びM3/RIミラーと表示されたM3/RDF(遠隔データ機構)ミラー225を含んでいる。RDFミラーは当技術では既知である。
【0067】
この特定の配置を使うと、様々なトラックID表ビットに対して、代わりの指示が適用できる。標準デバイス31はM2及びM4ビット位置を占めている。BCVデバイスが使用されるとき、次に利用可能な位置がそのBCVデバイスに割当てられる。図9の標準デバイスの場合、次に利用可能な位置はM1位置であるので、標準デバイスが設定コマンド又は再設定コマンドの間にBCVデバイス33又は35の何れかにつながると、それはMMビット位置になる。BCV(1)デバイス33はM1ミラーと定義され、M4ビット位置はM4bビット位置である。BCVデバイス33が自身のプログラムで作動している場合、M1ビット位置はMMビット位置である。BCVデバイス35は、BCV(2)デバイスをM2ミラーとして含んでおり、一方その遠隔デバイスはM3/RIミラーである。この場合は、M2ビット位置はBCVデバイス35に対するMMビット位置であり、M4ビット位置はM4bビット位置になる。RDFデバイス225は、固定ミラーを構成しているので、M3ビット位置はBFM(又はBCV固定ミラー)ビット位置とも呼ばれる。
【0068】
図10は、図9に示す構成内で起き得るイベントのシーケンスを示している。イベント230では、HOST APP Aアプリケーション22が、標準デバイス31内の特定されたトラックに書き込みをする。これが起きると、リクエストは標準デバイスに対するものであり、図3のオペレーションはアクティブなセッションがなくても継続するので、そのトラックに対するDDF(1)ビットとDDF(2)ビットの両方が「変更された」とマークされる。当該トラックに対するトラックID表内のM1ビットは「無効」とマークされ、一方M2及びM4ビットは「有効」とマークされる。M3ビットは使用されないので、その値は、何れの未使用のビットも常に「無効」とマークされることを要件とする一般ルールに従って割当てられる。他の何れのトラックも変更されない。
【0069】
イベント231は、あるオペレーションを示しており、それによってHOSTAPP Bアプリケーション23がBCV(1)デバイス33内のあるトラックに書き込みをする。この場合、DDF(1)値とDDF(2)値、又はトラックID表55又は71には如何なる変更も起きない。しかし、トラックID表63には変更がある。厳密には、M1ビットは「有効」とマークされ、M4ビット若しくはM4bビットは「無効」とマークされる。M2及びM3ビット位置は、対応するデバイスがないので、イベントのシーケンスを通してずっと「無効」とマークされたままである。
【0070】
イベント232は、アプリケーション24からの書き込みリクエストがBCV(2)デバイス24上のトラックを識別する場合の、同様のオペレーションを示している。この場合は、対応するトラックに関するトラックID表71内のM2及びM3ビットが「有効」とマークされ、一方M4ビット若しくはM4bビットは無効とマークされる。
【0071】
ここで、標準デバイス31とBCVデバイス33の間に第1のセッションを確立することが求められていると仮定しよう。アプリケーションはこれらのデバイスを識別するための設定コマンドを生成する。図4に示す設定コマンド・プロセッシングが完了すると直ちに、PB表に対するDDF(1)エントリ内のトラックビット位置全てが「変更された」とマークされることになる。DDF(2)セッションについての対応するトラックは影響を受けないままである。その結果、標準デバイス55に関係付けられたコピープログラムは、標準デバイス31からの全てのデータを、BCV(1)デバイス33に複製する。各トラックが転送されるので、標準デバイストラックID表55内の対応するMMビット位置は「有効」とマークされることになる。データがBCV(1)デバイスの対応するトラックに転送されると、表63内の全てのM1ビットは「有効」とマークされ、DDF(1)セッションについての対応するPBビットは「変更された」とマークされる。
【0072】
イベント234は、DDF(1)セッションに関する完全分割コマンドに対する応答を表している。図5のステップ133及び134に示すように、トラックID表63内の全てのM4bビットは「有効」とマークされ、DDF1(1)セッションに対するPBビットは全て「変更されていない」とマークされる。
【0073】
イベント235は、HOST APP Aアプリケーション22がデータを標準デバイス31のトラックに書き込む状況を表している。図3に示すように、この書き込みリクエストは、対応するトラックに関するDDF(1)セッション及びDDF(2)セッションの両方を「変更された」とマークすることになる。他のトラックに関する他のPBビットには変更がない。
【0074】
ステップ236は、標準デバイス31とBCV(2)デバイス35の間のDDF(2)セッションの確立を表している。ここで、トラックID表72に対するDDF(2)部の全ての値は「変更された」とマークされている。この関係を使って、標準デバイストラックID表55内の各M1ビットは、MMビットとしてBCV(2)デバイス35のトラックを指すので、全てのM1ビットの値は「無効」とマークされる。同期性が確立されると、BCV(2)デバイス35に対するトラックID表71内のM2及びM3ビット位置は「有効」とマークされる。又、M4ビットは、このセッションに対するM4bビットとして「有効」とマークされる。トラックID表63には如何なる変更も起きない。
【0075】
データが同期化されると、標準デバイス31に対するトラックID表55内のM1ビットは「有効」とマークされる。システムが次に、イベント237でDDF(2)セッションに対する完全分割オペレーションを発行するときには、BCV(2)デバイスのトラックID表71内の全てのM4bビットは「有効」とマークされる。各トラックに対するDDF(2)PBビット位置は「変更されていない」とマークされる。
【0076】
HOST APP Aアプリケーション22が、イベント240で標準デバイス31内のトラックにデータを書き込むと再度仮定しよう。標準デバイスは、両方のセッションに関する対応するトラック位置内のPBビットを「変更された」とマークすることにより応答する。他には変更はない。
【0077】
ここで、BCV(1)デバイス33と標準デバイス31の間に同期性を再確立することにより、DDF(1)セッションを更新することが求められていると仮定しよう。本発明によれば、イベント241は再設定コマンドを処理する。図6に示すように、トラック毎に、システムは、選択されたBCVデバイスに関するトラックID状態表に対するM4ビットと、DDFセッションに対するPBビットを組み合わせ、トラックID表55内のMMビットを「無効」にセットする。イベント234でのBCVデバイス33の分割と、イベント241での再設定の間に、HOST APP Bアプリケーション23が何れかのトラックを変更していれば、トラックID表63内のM4bビットは「無効」とマークされ、DDFセッションに対する対応するPBビットが「変更された」とマークされたか否かに拘わらず、トラックID表55のM1ビットにも変更が生じることとなる。一旦ペアが再確立されると、コピープログラムはマークされた各トラック内のデータを転送し、対応するDDF(1)ビットは「変更されていない」とマークされ、トラックID表63では、対応する各M4bビットが「有効」とマークされることになる。
【0078】
イベント242は、BCVデバイス35からデータを増分的に復元するための決定を表している。BCVデバイスは、例えば、標準デバイス31上に情報の更新されたバージョンを有しているかもれない。増分復元オペレーションの終了時には、標準デバイスに対するトラックID表55内の全M1ビットは「有効」とマークされる。PB表72のDDF(2)ビットは「変更されていない」とマークされ、DDF(1)ビットは「変更された」とマークされる。これは、BCVデバイス33のような他のBCVデバイス内のデータが、標準デバイス31内のデータのレプリカをもはや保有していないことを意味する。しかしながら、DDF(1)ビットを変更されたとマークしておけば、本例でのBCV(1)デバイスのような別のBCVデバイスが関係する次の再設定又は設定コマンド手続きに応じて、正確なデータを確実に転送できる。
【0079】
イベント243は、標準デバイス31に対する別の書き込みオペレーションを表している。標準デバイス31は、全てのDDFセッション内の変更された1つ又は複数のトラックに対する全てのPB位置を「変更された」とマークすることにより応答する。
【0080】
イベント244は、標準デバイス31からBCV(2)デバイス35を切り離すための、DIFF分割コマンドの受信を表している。これが起きると、図5のステップ137は、図9のM3/R1ミラー225に対するBFMビットに対応するトラックID表71内のビット位置を「無効」とマークすることになる。BFMビットは、トラックID表71内のM2ビットである。これは、変更がM3/R1ミラー225に及ぶことを保証している。
【0081】
先の例は、1つのトラックに関連して起き得るイベントの多くのシーケンスの内の1つを表している。しかしながら、他のトラックのデータも変更され、より複雑なシーケンスが展開し得ることは明らかである。しかしながら、図9及び10は、1つの標準デバイスと異なったBCVデバイスとを含んでいる多くのセッションを確立するための能力を実証している。これは、種々のコマンドに応答する転送が、全て、HOST APP Aアプリケーション22及び標準デバイス31のような、基本的ホストアプリケーションと標準デバイスとの間の対話に対して独立的し、且つ見えないように起きることから、強力なツールを提供すると言える。差分分割、再設定、及び増分復元の間に生成される転送は、必要とされる変更のみに限定される。更に、標準デバイス31上の何れのデータも破壊する恐れなしに、データは複製され使用される。
【0082】
以上、本発明を、基本的記憶装置ユニットとしてトラックを用い且つトラック毎の解析と状態を保守する特定のデータ記憶機構に関わる特定の実施例に関連して説明してきた。本発明は、ファイル、レコード、又はセクターを含む他の細分化のレベルにも容易に適用できる。特定のコマンド及びシーケンスを開示してきた。それらシーケンスの多くは変更可能であり、同様の結果を得るために異なるステップが取り入れられてもよいことは明らかであろう。従って、請求の範囲に述べる意図は、本発明の真の精神と範囲内にあるこのような変更及び修正を全て網羅することである。
【0083】
新規なものとして請求され、特許証によって保証されることを求めているものは、特許請求の範囲に述べる通りである。
【図面の簡単な説明】
【図1】本発明により構成されたデータ処理システムのブロック図である。
【図2】図1のデータ処理システムにおいて使用されるデータ編成を示す図である。
【図3】図1のシステムのオペレーションの間の、書き込みリクエストに応答するフロー線図である。
【図4】本発明により接続を確立するための手続きを示す図である。
【図5】図1のシステムによって達成される分割オペレーションのための手続きを示す図である。
【図6】図1のシステムにより達成される再設定のための手続きを示す図である。
【図7】図1のシステムにより達成される復元のための手続きを示す図である。
【図8】図1のシステムにより達成される増分的復元のための手続きを示す図である。
【図9】本発明の詳細なオペレーションを理解する上で役立つ特定の構成における記憶装置を幾つか示す概略図である。
【図10】オペレーションの典型的なシーケンスに存在する様々なオペレーティング状態を示す表である。

Claims (18)

  1. 第1のプログラムが第1のデータ記憶装置(31)のデータと相互作用し、第2のデータ記憶装置(33)及び第3のデータ記憶装置(35)の各々が前記第1のデータ記憶装置のデータをミラーするように動作したり、又は第2及び第3のプログラムと各々相互作用するために前記第1のデータ記憶装置から分離されることが可能であり、且つ前記プログラムの各々がそれぞれのデータ記憶装置のデータを変更することができる、複数のプログラム(22,23,24)と共に使用するためのデータ記憶機構(ファシリティ)であって、
    A)前記第2のデータ記憶装置を前記第1データ記憶装置のミラーとして設定するため、及び当該設定とは異なる時期に前記第3のデータ記憶装置を前記第1のデータ記憶装置との間で独立して相互作用する前記第1のデータ記憶装置のミラーとして設定するための、前記データ記憶装置に作動可能に接続されたミラー設定手段と、
    B)前記第1のデータ記憶装置から前記第2のデータ記憶装置を分割するための、且つ当該分割とは異なる時期に前記第1のデータ記憶装置から前記第3のデータ記憶装置を分割するための、前記第1のプログラムと前記第1のデータ記憶装置との間の相互作用と同時に作動可能なミラー分割手段であって、前記ミラー分割手段の動作後、前記第2のプログラム及び前記第3のプログラムが、前記第2及び第3のデータ記憶装置のそれぞれで前記データを相互作用することが可能である前記ミラー分割手段と、
    C)前記第2及び第3のデータ記憶装置の1つを任意のタイミングで選択して、当該選択された一方の装置を前記第1データ記憶装置のミラーとして周期的に再設定するための、これらのデータ記憶装置に接続された再設定手段であって、前記第1のデータ記憶装置から前記第2及び第3のデータ記憶装置のうちで選択された一方の装置に対して、前に分割された時点を境にそれ以降、前記第1のデータ記憶装置及び前記選択された一方の装置において変更されたデータに対応するデータのみを、前記第1のデータ記憶装置から前記選択された一方の装置に転送する手段を含む前記再設定手段とを、
    備えていることを特徴とするデータ記憶機構。
  2. 各データ記憶装置がブロック内のデータを転送するとともに、前記第1のデータ記憶装置が前記第2及び第3のデータ記憶装置のための第1表を含み、そして前記第2及び第3のデータ記憶装置が、前記第2及び第3のデータ記憶装置のうち対応する一方の装置用並びに前記第1のデータ記憶装置用の個々のデータ記憶装置内のデータブロックに一致し、且つデータのコピー処理を制御するための前記ミラー設定手段、前記ミラー分割手段、及び前記再設定手段により使用されるためのエントリを備えた表を含むように構成され、
    更にデータブロックとして前記データ記憶装置の各々にデータを書き込む手段を含み、
    前記第1のデータ記憶装置内の書き込み手段は、前記第1表内における前記第2及び第3のデータ記憶装置に対する各エントリを変更し、そして前記第2及び第3のデータ記憶装置の各々における書き込み手段は、個々の表のうち対応した表内のエントリを変更し、これによって前記変更されたエントリが各データブロックのデータに対する変更を識別することを特徴とする請求項1に記載のデータ記憶機構。
  3. 前記第2及び第3のデータ記憶装置のうち選択された一方から、前記第1データ記憶装置にデータを復元するための完全復元手段を更に備えており、前記完全復元手段は、前記第2及び第3のデータ記憶装置のうち選択された一方から前記第1データ記憶装置へと次のデータ全てのコピーを行わせることができ、前記第1記憶装置から選択されなかったもう一方のデータ記憶装置に復元されたデータをコピーすることができることを特徴とする請求項1に記載のデータ記憶機構。
  4. 前記各データ記憶装置がデータブロックによって特徴付けられ、前記第1データ記憶装置が、前記第1のデータ記憶装置用のエントリ(56)、第2及び第3のデータ記憶装置用のエントリ(セッションDDF(1),DDF(2)のPBビット)を備えた第1表を含んでおり、前記第2及び第3のデータ記憶装置はそれぞれ、前記第2及び第3のデータ記憶装置の内の対応する一方の装置に対するエントリを備えた表(63,71)を含んでおり、表内のエントリはデータブロックに対応し、更に、前記データ記憶機構は、前記データ記憶装置それぞれの各データブロックに対してデータを書き込むための手段(30,32,34)を含んでおり、前記完全復元手段は、前記第1データ記憶装置に対する第1表中のエントリを無効(180)に変更し、前記選択されたデータ記憶装置内のエントリを前記選択された記憶装置内のデータは変更されていない(182)と表示するように変更し、前記第2および第3のデータ記憶装置の内の選択されなかったもう一方に対するエントリを選択されなかった各データ記憶装置内のデータは変更された(183)と表示するように変更することを特徴とする請求項3に記載のデータ記憶機構。
  5. 前記第2及び第3のデータ記憶装置の内の選択された一方から前記第1データ記憶装置にデータを復元するための増分復元手段を更に備えており、前記増分復元手段は、前記第2及び第3のデータ記憶装置のうち選択された一方から前記第1記憶装置へと変更後のデータをコピーをさせることができ、前記第1記憶装置から選択されなかったデータ記憶装置に、復元されたデータをコピーすることができることを特徴とする請求項1に記載のデータ記憶機構。
  6. 前記第1データ記憶装置は、前記第1、第2、第3のデータ記憶装置それぞれに対するエントリを備えた第1の表を含んでおり、前記第2及び第3のデータ記憶装置はそれぞれ、前記第2及び第3のデータ記憶装置の内の対応する一方に対する、データのコピー処理を制御するための前記ミラー設定手段、前記ミラー分割手段、及び前記再設定手段により使用されるためのエントリを備えた表を含んでいることを特徴とする請求項5に記載のデータ記憶機構。
  7. 第1のアプリケーションプログラムが第1物理ディスク記憶装置ユニット上に配置された第1記憶装置デバイス内のデータと対話するようになっているデータ処理システムで、前記第1記憶装置デバイス内に記憶されたデータのコピーと同時的且つ独立的に対話するために少なくとも2つの追加的プログラム(23,24)を使用可能にするための方法において、
    A)各追加的プログラム用に追加的記憶装置デバイスを識別する段階であって、前記追加的記憶装置のそれぞれはデータトラック内にデータを記憶し、
    B)前記追加的記憶装置デバイス各々に対し、前記第1記憶装置デバイス上のデータトラックに対して加えられた各変更を記録するためのエントリ(PB)を有するセッションリファレンスを、それぞれに定義づける段階と、
    C)前記第1記憶装置デバイス上のデータトラックへの各変更を、前記セッションリファレンスの対応するエントリ内に記録する段階と、
    D)各プログラムがデータトラック中に加える各変更を記録するためのエントリを備えた前記第1及び追加的記憶装置デバイスそれぞれのためのデバイスリファレンスを定義する段階と、
    E)各追加的プログラムとの対話のために、他の記憶装置デバイス上へ前記第1記憶装置デバイス内のデータの独立したコピーを生成する段階と、
    F)各追加的プログラムがそのそれぞれの記憶装置デバイス内に記憶されたデータトラック内に対して加える各変更をデバイス変更リファレンスに記録する段階と、
    G)前記追加的記憶装置デバイスのうちの選択された1つのデバイス上のデータトラックの選択を更新しながら、対応するセッション内のエントリとデバイス変更リファレンスとを論理的に組み合わせ処理(161)して変更されたデータトラックを識別する段階と、
    H)第1記憶装置デバイスの変更されたデータトラックから、選択された記憶装置デバイスの対応するトラックへとコピーする段階とから成ることを特徴とする方法。
  8. 前記独立したコピーを生成する段階が、
    i)前記選択された記憶装置デバイス上のデータを前記第1記憶装置デバイス上のデータと同期させる段階と、
    ii)同期が達成された後、前記1つの追加的記憶装置デバイスを前記第1記憶装置デバイスから分割し、それにより前記選択された記憶装置デバイスとその対応するプログラムの間の対話を可能にする段階とを含んでいることを特徴とする請求項7に記載の方法。
  9. 前記分割する段階が、前記選択された記憶装置デバイスに対するセッションリファレンス内の各エントリを変更されていないとマークする段階と、対応するデバイス変更リファレンス内の各エントリを有効とマークする段階とを含んでいることを特徴とする請求項8に記載の方法。
  10. 前記デバイス変更リファレンスの各々が、異なる記憶装置デバイスに対する多数のエントリセットを有しており、前記分割する段階が、
    i)前記セッションリファレンス内の対応するエントリが変更されたとマークされた場合には、前記選択された記憶装置デバイスに対するミラーである別の記憶装置デバイス用のデバイス変更リファレンスのあるエントリセット内のエントリを無効とマークする段階と、
    ii)前記第1記憶装置デバイスに対応する前記選択された記憶装置デバイスに対する1つのエントリセット内のエントリを有効とマークする段階と、
    iii)前記セッションリファレンス内の全てのエントリを変更されていないとマークする段階を含んでいることを特徴とする請求項8に記載の方法。
  11. 前記第1記憶装置デバイス内のデータは、選択された記憶装置デバイスから復元することができ、この復元する方法が、
    i)前記第1記憶装置デバイスに対応する前記第1記憶装置デバイス内の1つのエントリセットの中の全てのエントリを無効とマークする段階と、
    ii)前記選択された記憶装置デバイスに対応する前記第1記憶装置デバイスに対するデバイス変更リファレンス内の1つのエントリセットの中の全てのエントリを有効とマークする段階と、
    iii)前記選択された記憶装置デバイスに対するセッションリファレンス内の全てのエントリを変更されていないとマークする段階と、
    iv)他のセッションリファレンス内の全てのエントリを変更されたとマークして、それにより前記選択された記憶装置デバイス内のデータが前記第1記憶装置デバイス内のデータを復元することが可能で、何れの選択されていない記憶装置デバイスに対しても次のデータ転送が可能になる段階を含んでいることを特徴とする請求項10に記載の方法。
  12. 復元すべき前記第1記憶装置デバイス内のデータが、前記第1及び選択された記憶装置デバイスの最前の分割以降に起きた前記第1記憶装置デバイス内のデータ変更に限定され、この復元する方法が、
    i)前記選択された記憶装置デバイスに対応する前記第1記憶装置デバイスに対するデバイス変更リファレンス内の1つのエントリセットの中の全てのエントリを有効とマークする段階と、
    ii)前記選択された記憶装置デバイスに対するデバイス変更リファレンス内の対応するエントリが有効である場合、又は前記選択された記憶装置デバイスに対するセッションリファレンス内のエントリが変更された場合は、前記第1記憶装置デバイスに対応する前記第1記憶装置デバイス内の1つのエントリセットの中の全てのエントリを無効とマークする段階と、
    iii)前記選択された記憶装置デバイスに対するセッションリファレンス内の全てのエントリを変更されていないとマークする段階と、
    iv)他のセッションリファレンス内の全てのエントリを変更されたとマークして、それにより前記第1及び選択された記憶装置デバイス内の変更されたエントリに対応するデータ部分だけが前記第1記憶装置デバイスに転送され、それにより、システムは復元されたデータを何れの選択されていない記憶装置デバイスにも転送できるようになる段階を含んでいることを特徴とする請求項7に記載の方法。
  13. 前記セッションリファレンスを定義する段階が、前記第1記憶装置デバイスと選択された記憶装置デバイスを識別し、且つ前記第1及び追加的記憶装置デバイスそれぞれが各データ部分をデータトラックに記憶し、そして前記デバイスリファレンスを定義する段階が、自身に対応する第1のエントリセットと、前記選択された記憶装置デバイスに対応する第2のエントリセットを定義する段階を含んでおり、前記セッションリファレンス及びデバイスリファレンスを定義する段階それぞれが、対応するエントリとトラックの間に対応を設定することを特徴とする請求項7に記載の方法。
  14. 独立したコピーを生成する前記段階が、
    i)前記選択された記憶装置デバイス上のデータを前記第1記憶装置デバイス上のデータと同期させる段階と、
    ii)同期が達成された後、前記選択された記憶装置デバイスを前記第1記憶装置デバイスから分割し、それにより前記選択された記憶装置デバイスとその対応するプログラムの間の対話を可能にする分割段階を含んでいることを特徴とする請求項13に記載の方法。
  15. 前記分割する段階が、前記選択された記憶装置デバイスに対するセッションリファレンス内の各トラックエントリを変更されていないとマークする段階と、対応するデバイス変更リファレンス内の各トラックエントリを有効とマークする段階を含んでいることを特徴とする請求項14に記載の方法。
  16. 前記分割する段階が、
    i)前記選択された記憶装置デバイスに対するセッションリファレンス内の対応するトラックエントリが変更された場合は、何れの鏡映記憶装置デバイスに対するエントリセット内のトラックエントリをも、前記選択された記憶装置デバイスに対するデバイス変更リファレンス内で無効とマークする段階と、
    ii)前記第1記憶装置デバイスに対するエントリセット内のトラックエントリを、前記選択された記憶装置デバイスに対するデバイス変更リファレンス内で有効とマークする段階と、
    iii)前記選択された記憶装置デバイスに対するセッションリファレンス内の全てのトラックエントリを変更されていないとマークする段階を含んでいることを特徴とする請求項14に記載の方法。
  17. 前記第1記憶装置デバイス内のデータが他の記憶装置デバイスの内の選択されたデバイスから復元でき、この復元する方法が、
    i)前記第1記憶装置デバイスに対応する前記第1記憶装置デバイス内のエントリセットの中の全てのトラックエントリを無効とマークする段階と、
    ii)前記選択された他の記憶装置デバイスに対応する前記第1記憶装置デバイスに対するデバイス変更リファレンス内のエントリセットの中の全てのトラックエントリを有効とマークする段階と、
    iii)前記選択された記憶装置デバイスに対するセッションリファレンス内の全てのトラックエントリを変更されていないとマークする段階と、
    iv)他のセッションリファレンス内の全てのトラックエントリを変更されたとマークし、それにより追加的記憶装置デバイスのうちの選択された記憶装置デバイス内のデータが前記第一記憶装置デバイス内のデータを復元することが可能な段階を含んでいることを特徴とする請求項13に記載の方法。
  18. 復元すべき前記第1記憶装置デバイス内のデータが、前記第1及び選択された記憶装置デバイスの最前の分割以降に起きた前記第1及び選択された記憶装置デバイス内のデータ変更に限定され、この復元する方法が、
    i)前記選択された記憶装置デバイスに対応する前記第1記憶装置デバイスに関するデバイス変更リファレンスに対するエントリセット内の全てのトラックエントリを有効とマークする段階と、
    ii)前記選択された記憶装置デバイスに対するデバイス変更リファレンス内の対応するトラックエントリが有効である場合、又は前記選択された記憶装置デバイスに対するセッションリファレンス内のトラックエントリが変更された場合には、自身に対応する前記第1記憶装置デバイス内のエントリセットの中の全てのトラックエントリを無効とマークする段階と、
    iii)前記選択された記憶装置デバイスに対するセッションリファレンス内の全てのトラックエントリを変更されていないとマークする段階と、
    iv)他のセッションリファレンス内の全てのトラックエントリを変更されたとマークし、それにより前記第1及び選択された記憶装置デバイス内の変更されたエントリに対応するデータ部分だけが第1記憶装置デバイス内にデータを復元する段階を含んでいることを特徴とする請求項13に記載の方法。
JP2000404617A 1999-12-23 2000-12-25 複製されたデータに独立してアクセスできるようにするためのデータプロセッシングの方法及び装置 Expired - Lifetime JP3741609B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/471848 1999-12-23
US09/471,848 US6401178B1 (en) 1999-12-23 1999-12-23 Data processing method and apparatus for enabling independent access to replicated data

Publications (2)

Publication Number Publication Date
JP2002041368A JP2002041368A (ja) 2002-02-08
JP3741609B2 true JP3741609B2 (ja) 2006-02-01

Family

ID=23873218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000404617A Expired - Lifetime JP3741609B2 (ja) 1999-12-23 2000-12-25 複製されたデータに独立してアクセスできるようにするためのデータプロセッシングの方法及び装置

Country Status (4)

Country Link
US (2) US6401178B1 (ja)
EP (1) EP1111509B1 (ja)
JP (1) JP3741609B2 (ja)
DE (1) DE60042055D1 (ja)

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581077B2 (en) 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
US6418478B1 (en) 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
US7756986B2 (en) * 1998-06-30 2010-07-13 Emc Corporation Method and apparatus for providing data management for a storage system coupled to a network
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US8234477B2 (en) 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7389311B1 (en) 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US6725238B1 (en) * 2000-01-06 2004-04-20 International Business Machines Corporation Method, system, and program for using a remotely accessed desktop interface and network drive to access a shared file system
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
JP3951547B2 (ja) * 2000-03-24 2007-08-01 株式会社日立製作所 レプリケーションによるホスト間データ共有方式
US6950871B1 (en) * 2000-06-29 2005-09-27 Hitachi, Ltd. Computer system having a storage area network and method of handling data in the computer system
US6505200B1 (en) * 2000-07-06 2003-01-07 International Business Machines Corporation Application-independent data synchronization technique
US7010579B1 (en) * 2000-09-26 2006-03-07 Cisco Technology, Inc. Direct data routing system
US7007151B1 (en) * 2000-10-04 2006-02-28 Nortel Networks Limited System, device, and method for controlling access to a memory
JP2002189570A (ja) * 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム
US7260636B2 (en) 2000-12-22 2007-08-21 Emc Corporation Method and apparatus for preventing unauthorized access by a network device
US6976139B2 (en) 2001-11-14 2005-12-13 Emc Corporation Reversing a communication path between storage devices
US6862632B1 (en) 2001-11-14 2005-03-01 Emc Corporation Dynamic RDF system for transferring initial data between source and destination volume wherein data maybe restored to either volume at same time other data is written
US7152078B2 (en) * 2001-12-27 2006-12-19 Hitachi, Ltd. Systems, methods and computer program products for backup and restoring storage volumes in a storage area network
US6728791B1 (en) * 2002-01-16 2004-04-27 Adaptec, Inc. RAID 1 read mirroring method for host adapters
US6701385B1 (en) * 2002-01-16 2004-03-02 Adaptec, Inc. Raid 1 write mirroring method for host adapters
US6816950B2 (en) * 2002-05-08 2004-11-09 Lsi Logic Corporation Method and apparatus for upgrading disk drive firmware in a RAID storage system
US7103727B2 (en) * 2002-07-30 2006-09-05 Hitachi, Ltd. Storage system for multi-site remote copy
CA2498174C (en) 2002-09-09 2010-04-13 Commvault Systems, Inc. Dynamic storage device pooling in a computer system
CA2499073C (en) 2002-09-16 2013-07-23 Commvault Systems, Inc. Combined stream auxiliary copy system and method
JP4136615B2 (ja) 2002-11-14 2008-08-20 株式会社日立製作所 データベースシステム及びデータベースのアクセス方法
US7080225B1 (en) * 2002-12-10 2006-07-18 Emc Corporation Method and apparatus for managing migration of data in a computer system
US7370025B1 (en) 2002-12-17 2008-05-06 Symantec Operating Corporation System and method for providing access to replicated data
JP4704660B2 (ja) * 2002-12-18 2011-06-15 株式会社日立製作所 記憶デバイス制御装置の制御方法、記憶デバイス制御装置、及びプログラム
JP4305007B2 (ja) * 2003-03-05 2009-07-29 株式会社日立製作所 系切り替えシステムおよびその処理方法並びにその処理プログラム
WO2004090740A1 (en) 2003-04-03 2004-10-21 Commvault Systems, Inc. System and method for dynamically sharing media in a computer network
US7363531B2 (en) * 2003-05-30 2008-04-22 Sun Microsystems, Inc. Data synchronization for system controllers
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US7219257B1 (en) * 2003-06-27 2007-05-15 Adaptec, Inc. Method for boot recovery
JP4415610B2 (ja) * 2003-08-26 2010-02-17 株式会社日立製作所 系切替方法、レプリカ作成方法、及びディスク装置
US7089357B1 (en) * 2003-09-22 2006-08-08 Emc Corporation Locally buffered cache extensions having associated control parameters to determine use for cache allocation on subsequent requests
US7546324B2 (en) 2003-11-13 2009-06-09 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
WO2005050489A1 (en) * 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for stored data archive verification
CA2546304A1 (en) 2003-11-13 2005-05-26 Commvault Systems, Inc. System and method for performing an image level snapshot and for restoring partial volume data
US7613748B2 (en) 2003-11-13 2009-11-03 Commvault Systems, Inc. Stored data reverification management system and method
WO2005050383A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. Combining data streams in storage network
US7724599B2 (en) * 2003-12-03 2010-05-25 Hitachi, Ltd. Remote copy system
US7437389B2 (en) * 2004-03-10 2008-10-14 Hitachi, Ltd. Remote copy system
US7085788B2 (en) * 2003-12-03 2006-08-01 Hitachi, Ltd. Remote copy system configured to receive both a write request including a write time and a write request not including a write time.
US20050131965A1 (en) * 2003-12-11 2005-06-16 Lam Wai T. System and method for replicating data
US7266656B2 (en) * 2004-04-28 2007-09-04 International Business Machines Corporation Minimizing system downtime through intelligent data caching in an appliance-based business continuance architecture
US7246258B2 (en) * 2004-04-28 2007-07-17 Lenovo (Singapore) Pte. Ltd. Minimizing resynchronization time after backup system failures in an appliance-based business continuance architecture
JP4477950B2 (ja) * 2004-07-07 2010-06-09 株式会社日立製作所 リモートコピーシステム及び記憶装置システム
JP4575059B2 (ja) 2004-07-21 2010-11-04 株式会社日立製作所 ストレージ装置
US7330861B2 (en) 2004-09-10 2008-02-12 Hitachi, Ltd. Remote copying system and method of controlling remote copying
JP4915775B2 (ja) * 2006-03-28 2012-04-11 株式会社日立製作所 ストレージシステム及びストレージシステムのリモートコピー制御方法
US7809914B2 (en) 2004-11-05 2010-10-05 Commvault Systems, Inc. Methods and system of pooling storage devices
US7490207B2 (en) * 2004-11-08 2009-02-10 Commvault Systems, Inc. System and method for performing auxillary storage operations
US7660800B2 (en) 2005-11-28 2010-02-09 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
US7822749B2 (en) * 2005-11-28 2010-10-26 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US7617253B2 (en) * 2005-12-19 2009-11-10 Commvault Systems, Inc. Destination systems and methods for performing data replication
US8661216B2 (en) 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US7617262B2 (en) * 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
CA2632935C (en) 2005-12-19 2014-02-04 Commvault Systems, Inc. Systems and methods for performing data replication
US7962709B2 (en) 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US7620710B2 (en) 2005-12-19 2009-11-17 Commvault Systems, Inc. System and method for performing multi-path storage operations
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US7543125B2 (en) * 2005-12-19 2009-06-02 Commvault Systems, Inc. System and method for performing time-flexible calendric storage operations
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
JP4839133B2 (ja) * 2006-05-22 2011-12-21 株式会社日立製作所 ストレージ装置のデータ管理方法及び計算機システム
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US7882077B2 (en) * 2006-10-17 2011-02-01 Commvault Systems, Inc. Method and system for offline indexing of content and classifying stored data
US8370442B2 (en) 2008-08-29 2013-02-05 Commvault Systems, Inc. Method and system for leveraging identified changes to a mail server
US8312323B2 (en) 2006-12-22 2012-11-13 Commvault Systems, Inc. Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved
US20080228771A1 (en) 2006-12-22 2008-09-18 Commvault Systems, Inc. Method and system for searching stored data
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US8296301B2 (en) 2008-01-30 2012-10-23 Commvault Systems, Inc. Systems and methods for probabilistic data classification
US7836174B2 (en) 2008-01-30 2010-11-16 Commvault Systems, Inc. Systems and methods for grid-based data scanning
JP4620134B2 (ja) * 2008-01-30 2011-01-26 株式会社日立製作所 記憶デバイス制御装置の制御方法及び記憶デバイス制御装置
US8122203B2 (en) * 2008-04-10 2012-02-21 International Business Machines Corporation Serviceability level indicator processing for storage alteration
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US8788751B2 (en) * 2009-05-01 2014-07-22 Ca, Inc. Restoring spanned volumes of data
US8230187B1 (en) * 2009-07-06 2012-07-24 Symantec Corporation Techniques for integrating backup modules with virtualized storage
WO2011082113A1 (en) 2009-12-31 2011-07-07 Commvault Systems, Inc. Asynchronous methods of data classification using change journals and other data structures
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
WO2011150391A1 (en) 2010-05-28 2011-12-01 Commvault Systems, Inc. Systems and methods for performing data replication
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US8719264B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Creating secondary copies of data based on searches for content
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US9237195B2 (en) * 2012-04-27 2016-01-12 Netapp, Inc. Virtual storage appliance gateway
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9336226B2 (en) 2013-01-11 2016-05-10 Commvault Systems, Inc. Criteria-based data synchronization management
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
US9904481B2 (en) 2015-01-23 2018-02-27 Commvault Systems, Inc. Scalable auxiliary copy processing in a storage management system using media agent resources
US9996262B1 (en) * 2015-11-09 2018-06-12 Seagate Technology Llc Method and apparatus to abort a command
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10922189B2 (en) 2016-11-02 2021-02-16 Commvault Systems, Inc. Historical network data-based scanning thread generation
US10389810B2 (en) 2016-11-02 2019-08-20 Commvault Systems, Inc. Multi-threaded scanning of distributed file systems
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data
US10984041B2 (en) 2017-05-11 2021-04-20 Commvault Systems, Inc. Natural language processing integrated with database and data storage management
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US20190251204A1 (en) 2018-02-14 2019-08-15 Commvault Systems, Inc. Targeted search of backup data using calendar event data
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US11159469B2 (en) 2018-09-12 2021-10-26 Commvault Systems, Inc. Using machine learning to modify presentation of mailbox objects
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11494417B2 (en) 2020-08-07 2022-11-08 Commvault Systems, Inc. Automated email classification in an information management system
US11593223B1 (en) 2021-09-02 2023-02-28 Commvault Systems, Inc. Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5592660A (en) * 1991-03-04 1997-01-07 Fujitsu Limited Database management system to alternately perform retrieval process and updating process
US5511177A (en) * 1991-11-21 1996-04-23 Hitachi, Ltd. File data multiplexing method and data processing system
US5596745A (en) * 1994-05-16 1997-01-21 International Business Machines Corporation System and procedure for concurrent database access by multiple user applications through shared connection processes
US5799147A (en) * 1994-10-19 1998-08-25 Shannon; John P. Computer recovery backup method
US5649089A (en) * 1994-11-30 1997-07-15 Motorola, Inc. Method and apparatus for maintaining a redundant database system
US5793867A (en) * 1995-12-19 1998-08-11 Pitney Bowes Inc. System and method for disaster recovery in an open metering system
US5819310A (en) * 1996-05-24 1998-10-06 Emc Corporation Method and apparatus for reading data from mirrored logical volumes on physical disk drives
US5889935A (en) * 1996-05-28 1999-03-30 Emc Corporation Disaster control features for remote data mirroring
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US5822434A (en) * 1996-06-19 1998-10-13 Sun Microsystems, Inc. Scheme to allow two computers on a network to upgrade from a non-secured to a secured session
US5845295A (en) * 1996-08-27 1998-12-01 Unisys Corporation System for providing instantaneous access to a snapshot Op data stored on a storage medium for offline analysis
GB2325380B (en) * 1997-05-14 2002-01-30 Int Computers Ltd Information delivery systems
US6112257A (en) * 1997-09-24 2000-08-29 Emc Corporation Dynamic adjustment of mirror service policy for logical volumes in a disk drive system based on collected statistics
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
US6253295B1 (en) * 1998-07-20 2001-06-26 International Business Machines Corporation System and method for enabling pair-pair remote copy storage volumes to mirror data in another pair of storage volumes
US6237008B1 (en) * 1998-07-20 2001-05-22 International Business Machines Corporation System and method for enabling pair-pair remote copy storage volumes to mirror data in another storage volume
US6209002B1 (en) * 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring

Also Published As

Publication number Publication date
JP2002041368A (ja) 2002-02-08
EP1111509A2 (en) 2001-06-27
US6581143B2 (en) 2003-06-17
EP1111509B1 (en) 2009-04-22
US6401178B1 (en) 2002-06-04
DE60042055D1 (de) 2009-06-04
US20020129203A1 (en) 2002-09-12
EP1111509A3 (en) 2003-08-06

Similar Documents

Publication Publication Date Title
JP3741609B2 (ja) 複製されたデータに独立してアクセスできるようにするためのデータプロセッシングの方法及び装置
US7496718B2 (en) Data transfer and access control between disk array systems
US5682513A (en) Cache queue entry linking for DASD record updates
US7194487B1 (en) System and method for recording the order of a change caused by restoring a primary volume during ongoing replication of the primary volume
US7958372B1 (en) Method and apparatus to convert a logical unit from a first encryption state to a second encryption state using a journal in a continuous data protection environment
US5615329A (en) Remote data duplexing
EP0902923B1 (en) Method for independent and simultaneous access to a common data set
JP2576847B2 (ja) 記憶制御装置及び関連する方法
US5720029A (en) Asynchronously shadowing record updates in a remote copy session using track arrays
US5504861A (en) Remote data duplexing
CN100470490C (zh) 用于存储卷的一致拷贝的方法、系统和制造品
US6701455B1 (en) Remote copy system with data integrity
US7139851B2 (en) Method and apparatus for re-synchronizing mirroring pair with data consistency
CN101755257B (zh) 管理在不同的网络上将写入从首要存储器拷贝到次要存储器
US20040193660A1 (en) Method and apparatus for cascading data through redundant data storage units
US20050071710A1 (en) Method, system, and program for mirroring data among storage sites
JPH07244597A (ja) 災害復旧機能を提供するために整合性グループを形成する方法および関連するシステム
JP2004252686A (ja) 情報処理システム
US20050246576A1 (en) Redundant system utilizing remote disk mirroring technique, and initialization method for remote disk mirroring for in the system
US7647357B2 (en) Data transfer management in consistency group formation
JP2002278706A (ja) ディスクアレイ装置
CN114442942B (zh) 一种数据迁移方法、系统、设备及存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040301

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050418

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050502

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051005

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: 20051031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051108

R150 Certificate of patent or registration of utility model

Ref document number: 3741609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101118

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20111118

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121118

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20131118

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term