JP2003518659A - コンピュータ・ストレージ・システムを操作するための装置および方法 - Google Patents

コンピュータ・ストレージ・システムを操作するための装置および方法

Info

Publication number
JP2003518659A
JP2003518659A JP2000592751A JP2000592751A JP2003518659A JP 2003518659 A JP2003518659 A JP 2003518659A JP 2000592751 A JP2000592751 A JP 2000592751A JP 2000592751 A JP2000592751 A JP 2000592751A JP 2003518659 A JP2003518659 A JP 2003518659A
Authority
JP
Japan
Prior art keywords
data
physical
storage
backup
logical
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.)
Pending
Application number
JP2000592751A
Other languages
English (en)
Inventor
オーフェク,ユバル
カケルジック,ゾラン
ビットナー,ハイム
ガルトズー,シャロン
イッシュ−シャロム,アリエル・ジェイ
ケデム,ナダブ
クリクラー,サムエル
アーノン,ダン
Original Assignee
イーエムシー コーポレーション
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 イーエムシー コーポレーション filed Critical イーエムシー コーポレーション
Publication of JP2003518659A publication Critical patent/JP2003518659A/ja
Pending legal-status Critical Current

Links

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/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/1456Hardware arrangements for backup
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

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)
  • Information Transfer Between Computers (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 複数のホスト・コンピュータと複数の記憶要素を含むコンピュータ・システム用の方法と装置が開示されている。前記ホスト・コンピュータは、ホスト・ドメインに構成され、前記記憶要素は記憶ドメインに構成され得る。前記記憶ドメインは、複数の1次記憶装置と、2次記憶装置を含む。前記2次記憶装置は、ネットワークを介して前記複数の1次記憶装置に接続され得る。他の実施例においては、前記2次記憶装置は、異種のホスト・コンピュータのセットと情報を送受信できる。他の実施例においては、前記2次記憶装置上のデータ転送用の接続は自動的に生成され得る。

Description

【発明の詳細な説明】
【0001】
【発明の技術分野】
本発明はコンピュータ用のデータ・ストレージに関係し、特に装置およびコン
ピュータ・ストレージ・システムを操作するための装置および方法に関係する。
【0002】
【従来の技術】
事実上、コンピュータのアプリケーション(あるいはプログラム)はすべてス
トレージ(記憶装置)に依存する。このストレージは、コンピュータ・コードを
格納するためと、コードによって操作されるデータを格納するための両方に使用
される。(「データ」という用語は、アプリケーション・プログラムによって操
作されるフォーマット情報、実行コード、およびデータを含むすべての情報を指
す。) ストレージ技術はいろいろな異なった方向へ発展した。従って、種々様々なス
トレージ・システムが利用可能である。したがって、コンピュータ・アプリケー
ションを作成する人が、ストレージ・システム上にデータがどう格納されるかと
いう詳細な管理に対しても責任を負うことは、実際的ではなくなった。
【0003】 この(そして他の)理由のために、アプリケーション・プログラムは、一般的
にオペレーティング・システム(例えば、Unix(登録商標)、Window
s(登録商標)、MS DOS、Linux、およびそれぞれの多くのバリエー
ション)上で作動する。しかしながら、また、オペレーティング・システムがさ
まざまなストレージ・システムと共に使用されてもよい。
【0004】 物理的なストレージ装置に変更がなされるたびに、オペレーティング・システ
ムあるいはアプリケーション・プログラムの変更がなされなければならないこと
は非常に非効率的だろう。その結果、データが実際にどのようにストレージ・シ
ステムに格納されているかを見るために、いろいろな抽象化されたレイヤが発展
した。
【0005】 図1は、抽象化されたレイヤを見る1つの方法を示す。最上位の10で、アプ
リケーション・プログラムは、データが物理的な装置上にどのように配置されて
いるかということに、ほとんど関知しなくてもよいようなやり方でデータが格納
されていると想定してもよい。例えば、アプリケーションはストレージ・システ
ムを、多くのディレクトリと、そのディレクトリ内のデータ・ファイルを含むも
のとして見なしてもよい。したがって、Unixオペレーティング・システム上
で使用されるように作成されたアプリケーションでは、そのアプリケーションは
Unixのディレクトリ構造(階層的なディレクトリとそのディレクトリ内に置
かれたファイルを含む)に従ってファイルが格納されているものと想定するだろ
う。このように想定される物理的なストレージ装置の機構は、そのデータが実際
のストレージ装置上にどのように格納されているかということに関知すべきこと
はほとんどない。アプリケーションのレベルから見たデータの論理的な見え方(
ビュー)が、データが物理的にどのように格納されているかといういかなる見え
方からも切り離されているという分離があるために、この見え方を「論理ビュー
」と呼んでもよい。ファイル、データベース、あるいはその他の論理構成といっ
たような論理的なコンポーネントを、論理レベルで「論理オブジェクト」と呼ん
でもよい。
【0006】 アプリケーション・レベル10は、ファイルシステム・レベル12と結合して
作動する。ファイルシステム・レベルは、ファイルをディスク上に格納する方法
、そしてすべてを効率的に確実に働かせる方法に関わる。したがって、ファイル
システム・レベルは、ディレクトリ構造の格納、および物理的なストレージ・シ
ステム上でストレージを構成するデータ・ブロックにファイルを細分化する役割
を担う。例えば、Unixのほとんどの実装では、各ファイルは関連するIノー
ドを持つ。このノードは、アカウンティングと保護情報、さらにデータ・ブロッ
クへのポインタの一式を含んでもよい。
【0007】 コンピュータ・システムの開発の比較的初期の段階では、ディスク・ドライブ
がストレージのための基本装置となった。従って、コンピュータのオペレーティ
ング・システムは、メモリがディスク・ドライブへの入力/出力(「I/O」)
に依存するだろうと想定して開発されてきた。そのために、ファイル・システム
12は、ディスクドライブ上のブロックに格納されるデータを備えた、ディスク
・ドライブ(あるいは他のストレージ装置)のような物理ストレージ装置に相当
する1つ以上の「ボリューム」を、想定してもよい。
【0008】 アプリケーションによって使用される利用可能なストレージに対する需要が、
急激に上昇した。その結果、多くの別個の物理装置がシステムに必要とされるス
トレージの総量を提供するために要求されてもよい。さらに、ストレージ・シス
テムはたびたび変更されたり再構成されたりする。
【0009】 物理ストレージ装置システム内のいかなる変化からも、オペレーティング・シ
ステムを隔離するために、実際の物理ストレージの標準(ボリューム)ビューを
、物理ストレージ・システム上に弾力的にマッピングするためのあるメカニズム
がしばしば使用される。図1の論理ボリューム・マネージャ(LVM)14は、
データ・ストレージのファイル・システム・ビューをある中間層へマッピングす
ることによって、この機能の達成を支援することができる。
【0010】 図1で示されるように、最終的な実際のストレージの読み出し、書き込み(そ
して、もしかすると物理ストレージ装置上への追加マッピング)が、物理ストレ
ージ・システム・レベル16でなされる。したがって、例えば、論理ボリューム
・マネージャは、物理装置上のストレージ用の固定された物理ストレージ・セグ
メント・サイズ(例えば、ブロック・サイズ)に対応するボリューム・サイズに
、データのファイルシステム・レベル・ビューをマッピングしてもよい。その後
、物理ストレージ・システム・レベルは、物理ストレージ・セグメント(例えば
、後で説明されるハイパー・ボリューム)上に論理ボリューム・マネージャ・レ
ベルのボリュームをマッピングしてもよい。
【0011】 論理ボリューム・マネージャは、例として、ヒューレット・パッカード社によ
るHP−UXや、VERITASオペレーティング・システムで使用されるため
に導入された。マサチューセッツ州ホプキントンのEMC社から入手可能なスト
レージ・システムであるSymmetrix製品ラインは、物理装置上にハイパ
ー・ボリュームをマッピングする能力を持つ1つのシステムである。(統合され
たキャッシュ・ディスク・アレイを持つSymmetrix製品ラインは、Sy
mmetrixモデル55xx製品マニュアルp−n200−810−550の
1996年2月改訂版fを含むEMC社からの多数の出版物に記述されている。
) 上記の例で、実際の物理ストレージの中へアプリケーション・レベルのデータ
をマッピングする作業は、アプリケーション・レベルからファイルシステム・レ
ベルへ、ファイルシステム・レベルからLVMレベルへ、LVMレベルから物理
ストレージ・システム・レベルへ、そして物理ストレージ・システム・レベルか
ら実際の物理ストレージ装置へという4つのレベルで生じる。多かれ少なかれマ
ッピングはいくつかのレベルで実施されることになる。あるシステムでは、1レ
ベルのマッピングだけが実施され、例えばアプリケーション・レベルから直ちに
実際の物理ストレージ装置上になされる。多くのシステムでは、LVMレベルで
のマッピング段階が省略される。同様に、多くのシステムでは、物理ストレージ
・レベルでのマッピングがなされない(例えば、データはその前のレベルのフォ
ーマットに対応する実際の装置上に直接に格納され、物理ストレージ・コンポー
ネント上にそれ以上のいかなるマッピングもなされない)。
【0012】 図2Aは、実際の物理装置上にデータを格納するために、論理ボリューム・マ
ネージャ14および物理ストレージ・システム16によって実行されてもよいマ
ッピングの例を示す。そのアプリケーションあるいはファイルシステムのストレ
ージ・システムの図は、ボリュームA20、ボリュームB21、ボリュームC2
2という3つの別個のストレージ装置として表わされる。したがって、ファイル
システム・レベル12が識別できる範囲では、システムは3つの別個のストレー
ジ装置20〜22になる。それぞれ別個のストレージ装置は「仮想ボリューム」
あるいは「仮想ディスク」と呼ばれてもよい。このことは、オペレーティング・
システムのストレージ装置構造の図が、その構造を実現する実際の物理ストレー
ジ・システムと一致していなくてもよいことを示す(以後、「仮想」と呼ぶ)。
しかしながら、アプリケーション・レベル10と異なり、ファイルシステム12
の全体像は、まるで生の物理装置あるいはボリュームに対処しているかのようで
ある。
【0013】 ファイルシステム・レベルに関する限りでは、仮想ボリュームは、ストレージ
の連続的なセグメントである「パーティション」に分割されてもよい。パーティ
ションは実際にさまざまな物理ストレージ・セグメント(例えば、ハイパー・ボ
リューム)を横断して格納されてもよいので、これらのパーティションはまさに
「仮想の」パーティションである。
【0014】 図2Aでは、データが物理ストレージ装置24〜26上に物理的に格納される
。特にこの例において、3つの物理装置24〜26と3つのボリューム20〜2
2があるが、物理装置への仮想ボリュームのマッピングは1対1であるというわ
けではない。特にこの例において、20a、20b、および20cで示されるよ
うに、ボリュームA20の中のデータは実際には物理装置24〜26上に格納さ
れる。この例において、22a、22bで示されるように、ボリュームBはすべ
て物理装置24上に格納される。最後に、2la、21bで示されるように、ボ
リュームCは物理装置24および物理装置26上に格納される。
【0015】 特にこの例において、ボックス20a〜20c、21a〜21b、および22
a〜22bはそれぞれ、物理装置24〜26内でストレージの隣接するセグメン
トを表わす。ストレージのこれらの隣接するセグメントは同じ大きさであっても
よいが、同じである必要はない。ストレージのセグメントは「ハイパー・ボリュ
ーム」と呼ばれてもよく、ファイルシステムによって用いられる仮想ボリューム
を構築する時のコンポーネントとして使用されることができる物理ストレージの
セグメントに対応してもよい。ハイパー・ボリュームは多くの「データ・ブロッ
ク」で構成されてもよい。データ・ブロックは物理ストレージ装置から一度に書
き込み、あるいは読み出しされるストレージの1単位(例えば、512バイトの
ブロック)である。
【0016】 メインプロセッサ上で作動するアレイ管理ソフトウェア(あるいはカスタム・
ハードウェア回路のようなまた別のメカニズム)23は、ホスト・コンピュータ
(示されていない)(論理ボリューム構造20〜22を想定してなされた)から
のリクエストを、データが物理装置24〜26上に実際に格納される方法に相当
するリクエストに翻訳する。実際上、アレイ管理ソフトウェア23は、物理装置
24〜26を含む一体のストレージ・システムの一部として導入されてもよいし
、ホスト・コンピュータ上に導入されてもよいし、あるいは他のある方法でなさ
れてもよい。
【0017】 図2Aでは、アレイ管理ソフトウェア23が、物理装置24〜26上に格納さ
れることができるセグメントに、ファイルシステムの仮想ボリューム20〜22
をマッピングすることにより、論理ボリューム・マネージャ14(現在の場合)
および物理ストレージ・レベル16の両方の機能を実行する。アレイ管理ソフト
ウェア23は、さらに、ハイパー・ボリューム20A〜20C、21A〜21B
および22A〜22Bをどこに格納すべきかを決定することにより、物理ストレ
ージ・システム・レベル16の機能も実行する。
【0018】 図2Aの例で示される物理ストレージ装置はディスクドライブである。ディス
クドライブは、1枚以上の記録媒体ディスク(磁気記録媒体あるいは光記録媒体
のような)を含んでもよい。情報は、記憶させる目的のために、このストレージ
媒体から書き込まれ、そして読み出されることができる。記録媒体は、回転する
ディスクの形を一般的にしている。ディスクは一般的に、情報が記録され、そこ
から情報が読み出される多くのトラックを含む。各トラックは1つ以上の「デー
タ・ブロック」を含んでもよい。データ・ブロックは1つのまとまりとして読み
出されることができるデータの1単位である。データ・ブロックは、データのブ
ロックか、32kトラック上の8kセグメントか、あるいはまた別の構造に従っ
て、512であってもよい。これらの例では、ブロックのサイズは固定されてい
る。他のケースでは、そのブロックはCKDレコードのような可変サイズであっ
てもよい。複数のディスクを含むディスクドライブでは、各ディスクの対応する
トラックが互いに重なるように、ディスクが規格どおりに積み重ねられる。この
場合、その情報がディスクドライブ内に格納されるたった1つのトラックの明細
が、ディスク上の個々のトラックの明細だけでなく、複数のディスクのどのディ
スクに情報が格納されているかということも含む。
【0019】 個々のデータ・ブロックを認定するために、アドレスは、ディスク(いくつか
の「プラッタ」で構成されていてもよい)の明細、ディスク(あるいは「シリン
ダ」)内のトラックの明細、ヘッドの明細(あるいはプラッタのどれがその「デ
ィスク」からなっているか)、およびトラック内の特定のデータ・ブロックの明
細を含んでもよい。トラック内のデータ・ブロックの位置の明細は、例えばトラ
ック上に現われる3番目のデータ・ブロックである、オフセットとしてアドレス
が指定されてもよい。したがって、ddcccch:オフセットというアドレス
は、ディスクdd、シリンダcccc、ヘッドh、および明示されたオフセット
といったように、ブロックを明示してもよい。しかしながら、本発明で用いられ
る物理ストレージ装置は、何等かの他のジオメトリで作成されてもよいし、何等
かの他の方法でアドレス指定されてもよいし、異なるタイプのストレージ・メカ
ニズムでさえ構成してもよい。
【0020】 図2Bは、抽象化の最上位レベル(アプリケーション・レベル)と実際の物理
ストレージ・レベル間のマッピングの一例を示す。アプリケーション・レベルの
ファイル200は可視的な情報を含む。この情報は、従来のファイルの形をして
おり、一連のビットを含む。
【0021】 アプリケーション・レベルのファイルが物理ストレージ上にマッピングされる
場合、アプリケーション・レベルのファイルは、例えばセグメント203のよう
な、個々のビットのセグメントに変換されてもよい。したがって、アプリケーシ
ョン・レベルのファイル203のセグメントは実際の物理ストレージ装置204
〜206上にマッピングされる(例えば図1を参照しながら上で記述された一般
的なマッピング構造に従って)。この例において、アプリケーション・レベルの
ファイル200中の203のビットの第1セグメントは、物理ストレージ装置2
04の一部208で、物理ストレージ装置204上にマッピングされる。図2B
で示されるように、アプリケーション・レベルのファイル200中のビットから
なる個々のセグメントは、複数の実際の物理ストレージ装置中のいかなる場所に
マッピングされてもよい。ビットからなるセグメントの細分度(例えば、セグメ
ント203)は、さまざまな異なるレベルのうちの1つに対応しているかもしれ
ない。例えば、セグメントの細分度は512バイトのデータ・ブロックでもよい
。別の実施例では、細分度が、物理ストレージ装置204〜206の1つのトラ
ックに格納されるデータ量に対応してもよい(物理ストレージ装置がディスクド
ライブである場合)。
【0022】 図2Cは、6つのデータ・ブロックあるいは論理ブロック・エレメント27a
〜27fを含む論理オブジェクト27の例を示す。論理オブジェクト自体は、い
かなるデータ構造やデータの集まりでもよい。例えば、論理オブジェクトは、デ
ータベース・テーブル、ファイルシステムのファイルの一部、あるいは完全なフ
ァイルシステムのファイル、あるいはその他の何等かの識別可能な論理オブジェ
クトであってよい。データ・ブロック27a〜27fの各々は、固定サイズのデ
ータ・ブロック、あるいはCKDレコードのような可変サイズのデータ・ブロッ
クでもよい。
【0023】 図2Cの例で、論理オブジェクトが物理ストレージ装置28上に格納される。
この例において、ストレージ装置は多くの列を含み、その各々がディスクのトラ
ックを表わしている。
【0024】 物理ストレージ装置の各行は、適用可能な列/トラック内の物理的なデータか
、あるいはブロック・エレメントを表わす。例えば、行28aの列28bは、論
理ブロック・エレメント27bに対応するデータ・ブロックを格納している。ト
ラック28bは、論理ブロック・エレメント27aおよび27bの内容を持つ物
理的なデータ・ブロックを格納しているだろう。図2Cから見ることができるよ
うに、論理ブロック・エレメントは物理装置上のいかなる順からでも格納される
ことができる。
【0025】 物理ストレージ装置28が連続的なアレイとして示されているが、これはそう
である必要はない。例えば、列28bのようなトラックの各々は、異なるディス
クドライブ上に格納されてもよいし、あるいは異なるハイパー・ボリュームの一
部であってもよい。
【0026】 図2Aのディスク装置24〜26のような物理ディスク装置のアレイを含むシ
ステムでは、各装置が、特定の物理装置上に格納されたデータのエラー検知およ
び(または)データ修正を一般的に実行する。従って、それぞれの個々の物理デ
ィスク装置は、提供すべき有効なデータをいつ持っていないかを検知し、可能な
らばエラー修正を行う。しかしながら、物理装置上に格納されたデータに対して
、エラー修正が許可される場合でさえ、装置の突発的な故障は、データの回復不
能な損失という結果に終わるだろう。
【0027】 従って、余分のストレージを含むストレージ・システムが設計された。回復を
可能にするやり方でディスク上にデータを格納するさまざまな方法が発達した。
多くのそのような方法が、ミネソタのRAID諮問委員会のセントピーターによ
って出版されたディスク・アレイ技術の原典であるRAIDブック(1996年
2月の第5版)に記述されている。これらのシステムは「RAID」ストレージ
・システムを含む。RAIDはRedundant Array of Ind
ependent Disksの略語である。
【0028】 図3Aは、RAIDシステムに余剰情報を格納するための1つの技術を示す。
この技術の下では、複数の物理装置31〜33がデータの同じコピーを含む。し
たがって、データMlは物理装置3lの一部31a、物理装置32の一部32a
、および物理装置33の一部33a上に「ミラー」(正確に模倣)されることが
できる。この場合、複写されたデータ31a、32aおよび33aを格納する、
物理的なディスクの集まった部分は、「ミラー・グループ」と呼ばれてもよい。
データM1がミラーされる場所の数は、一般的にデータの回復不可能な損失に対
して防衛したいレベルに依存して選択される。
【0029】 ミラー・グループでは、そのコピーが「リンク」されている。すなわち、1つ
のミラーへのいかなる更新もグループ内の他のそれぞれのミラーに更新をもたら
す。
【0030】 図3Aは、例えば単一のストレージ・システム装置内に隣接して置かれている
ように見える3つの物理装置31〜33を示す。しかしながら、非常に敏感なデ
ータについては、ミラーされたデータを保持する物理装置の1つ以上が遠隔の設
備に置かれてもよい。
【0031】 「RAID1」は、データをミラーすることによってデータ余剰を行う一例で
ある。RAIDlアーキテクチャでは、例えばストレージ・システムの性能を改
善するために、いかにデータをアクセスしたり更新すべきかを決定するために、
多くの異なるメカニズムが使用されてもよい。どんな場合も、RAID1アーキ
テクチャは、失われたデータを回復する能力を確かに持っている。残念なことに
、RAIDlアーキテクチャは、ミラー・グループに含まれる「ミラー」の数だ
け、物理ストレージ装置のコストを増加させる。
【0032】 図3Bは、加えられるストレージが少なくて済む解決法を示す。図3Bでは、
データがストレージ箇所34a〜34dに格納される。特にこの例では、物理装
置33が35a、35bにパリティ情報P1を含む。パリティ情報は、データの
対応するビットの単純な排他的論理和(XOR)によって生成される。したがっ
て、パリティ情報P1は、データD1およびデータD2の対応するビットを排他
的に論理和することにより生成されるだろう。
【0033】 物理装置上にそのパリティ情報を割り当てるための、さまざまなメカニズムが
知られている。図3Bの中で示される例では、パリティ情報のすべてが単一の物
理装置33上に格納されている。他のケースでは、パリティ情報が物理装置を越
えて割り当てられてもよい。
【0034】 図4は、与えられたディスク・アレイ内で、データのすべてが同じ余剰規則に
従う必要はないという概念を示す。図4で、物理装置40〜42上のストレージ
・セグメントの第1グループが、ミラー・グループ44を形成している。ミラー
・グループ44では、1つの論理ボリューム(HV−A)の全内容が、異なる3
つの物理装置40〜42上にミラーされている。
【0035】 図4では、46に示されるように、1つの仮想ボリュームがいかなる余剰情報
も持たずに、第4物理装置43上に格納されている。 最終的に、4つの物理装置40〜43のすべての上にあるデータ・セグメント
の最後のグループ45が、パリティ余剰スキームを実行している。特にこの例に
おいて、47aと47bで示されるように、パリティ情報は、異なる2つの物理
装置42〜43上のメモリ・セグメントに格納されている。
【0036】 図4のストレージ・システムは、破局的な故障からの回復をも可能にする、遠
隔の設備に置かれたデータのミラーの使用を含み、エラーからの回復を可能にす
る余剰情報を持つ。
【0037】 図5は、本発明のある側面に従って使用され、あるいは適応されてもよい、さ
らなるバックアップ・システムの1つを示す。図5では、コンピュータまたはク
ライアント50がストレージ・システム52を使用して、その操作を行う。クラ
イアント50は、サン・マイクロシステムズから利用可能であるSolaris
オペレーティング・システム(Unixの1つのバージョン)を実行するネット
ワーク・クライアント、HP−UXを実行するHPクライアント(Unixオペ
レーティング・システムのHewlett−Packardバージョンを実行す
るHewlett−Packardクライアント)、あるいはAIXオペレーテ
ィング・システム(UnixのIBMバージョン)やそれに関連するオペレーテ
ィング・システムを備えた他のシステムを実行するIBMクライアントといった
ような、従来のいかなるコンピューティング・システムであってもよい。ストレ
ージ・システム52は、上で記述されたSymmetrixストレージ・システ
ムを含む従来のいかなるストレージ・システムでもよい。クライアント50は、
ネットワーク56を通して、他の多くの装置と接続されてもよい。
【0038】 バックアップ・ストレージ・システム54もまた、ネットワーク56に取り付
けられる。バックアップ・ストレージ・システム54は、データをストレージに
しまい、そのストレージからデータを回復させるためのシステムと共に、バック
アップ・ストレージ装置(ディスクドライブ、テープ・ストレージ装置、あるい
は他のいかなるストレージ・メカニズムであってもよい)を含む。
【0039】 バックアップを実行するために、クライアント50は、ネットワーク56を介
してストレージ・システム52からのデータを、バックアップストレージ・シス
テム54にコピーする。この処理は図1を参照して、非常に詳しく説明されるこ
とができる。ストレージ・システム52は図1の実際の物理ストレージ装置16
に相当するだろう。クライアント50が、ネットワーク56を介してバックアッ
プ・データをバックアップ・ストレージ・システム54に書き込むには、クライ
アント50はまずバックアップ・データをファイル・データに変換する。つまり
、物理ストレージ・システム・レベル16からデータを得て、論理ボリューム・
マネージャ・レベル14、ファイルシステム・レベル12、およびアプリケーシ
ョン・レベル10を通して、データをアプリケーション・レベルのフォーマット
(例えば、ファイル)に変換する。したがって、実際のデータ・ファイルは、ネ
ットワーク56を介してバックアップ・ストレージ装置54に伝えられてもよい
。バックアップ・ストレージ装置54がデータ・ファイルを受け取ると、バック
アップ・ストレージ・システム54はアプリケーション・レベル10のデータ・
ファイルを取得することになり、それがバックアップ・ストレージ・システムに
とって適切なファイルシステム・レベル12のフォーマットに変換され、その後
、論理ボリューム・マネージャ・レベル14を通して変換され、物理ストレージ
装置16に格納される。
【0040】 データをバックアップするこの方式は、「論理−論理」バックアップと呼ばれ
てもよい。すなわち、論理データがバックアップ・ストレージ装置54上にバッ
クアップされる。バックアップされるデータは、物理ストレージ・システム・レ
ベル16でストレージ・システム52上に物理的に格納される方法から独立して
、またクライアント50上のファイルシステム・レベルのメカニズムからも独立
して、またバックアップ・ストレージ装置54上にデータがどう格納されるかと
いうことからも独立して、提供される。
【0041】 EDMユーザ・ガイド(ネットワーク)「基本EDMマニュアル(Basic
EDM Manual)」を含む、EMCから利用可能な多数の出版物に記述
されているように、EDM(EMCデータ・マネージャ)製品ラインは、ネット
ワーク上で論理−論理バックアップを行う能力を持つ。
【0042】 図6は、本発明に従ってさらに使用されてもよい、データをバックアップのた
めの代案となる構造を表す1つの実施例を示す。図6の実施例で、直接接続60
はストレージ・システム52とバックアップ・ストレージ・システム54との間
でなされる。この実施例でのバックアップ・ストレージ・システムは、一般的に
EMCデータ・マネージャに記述されるようなシステムでよく、その本はマサチ
ューセッツ州ホプキントンのEMC社から利用可能である1997年12月改訂
版CのP/N200−113−591のSymmetrix接続ユーザ・ガイド
(Symmetrix Connect User Guide)である。直接
接続60はSCSIケーブル、あるいは1本以上のファイバ・チャンネル・ケー
ブルのような高速データ・チャンネルでよい。このシステムでは、ユーザは、ネ
ットワーク56を通してデータをバックアップしてもよいし、直接接続60を通
して行ってもよい。
【0043】 本発明の方法および装置が、上記のシステムや概念を参照しながら、そして関
連する技術を説明しながら記述されているが、これは制限するものではない。本
発明はより広いアプリケーションを持つ。本発明のある側面は、いかなるストレ
ージ・システムに適用されてもよい。従って、本発明は添付される特許請求の範
囲によってのみ制限される。
【0044】 復元処理およびバックアップ処理が論理レベルでなされようが、物理レベルで
なされようが、従来技術でのバックアップはバックアップ用の完全なファイル(
あるいはある場合には、全パーティションといったようなことすらある)をコピ
ーすることを要求する。図6のシステム上のデータをバックアップしたり復元す
る方法は、係属中で、一般に所有された米国特許出願番号09/052,579
の発明者としてJohn DeshayesおよびMadhav Mutali
kの名が付けられ1998年3月31日にファイルされた題名「コンピュータ・
ストレージ・システムにおける物理バックアップからの論理復元(Logica
l Restore From Physical Backup In A
Computer Storage System)」に記述されており、それ
は参考としてその全体がここに組み入れられる。
【0045】 図7は、図6のストレージ・システム52として使用されてもよいストレージ
・システム70を示す。クライアント50はチャンネルまたはバス71を使用し
て、ストレージ装置に接続されてもよい。クライアント50との通信のためのチ
ャンネルは、スモール・コンピュータ・システム・インターフェース(SCSI
)あるいはエンタープライズ・システム・コネクション・アーキテクチャ(ES
CON)のような適切な接続であればいかなるものでもよい。図7のストレージ
・システム70の中には1つの通信チャンネル71だけが示されているが、他の
チャンネルが含まれてもよい。(本発明の方法および装置は、図6のストレージ
・システム、および図7の物理ストレージ・システム(そしてそれに関連する機
能や方法)に関して記述されているけれども、このことに制限されるものではな
い。本発明はより広いアプリケーションを持つ。本発明のある側面はいかなるス
トレージ・システムに適用されてもよい。) ストレージ・システム70内に、ホスト・アダプタ72がある。特にこの実施
例では、ホスト・アダプタ72は、仮想ディスク構造(例えば、ファイルシステ
ムや論理ボリューム・マネージャのレベルからの)に基づくホスト・コンピュー
タ(例えば、クライアント52あるいはバックアップ・ストレージ・システム5
4)からの読み出し書き込みリクエストを管理し、ストレージ・システム70の
実際の物理ストレージ装置76a〜76d上にどのようにデータを格納させるか
ということに対応する1つ以上のリクエストに翻訳する役割を担っている。した
がって、この実施例では、ホスト・アダプタ72は、図2のアレイ管理ソフトウ
ェア23の機能のうちの少なくともいくつかを実行している。ホスト・アダプタ
72は、メインプロセッサやユーザ定義ハードウェアの使用を含め、たくさんあ
る方法のうちのいずれのやり方で実装されてもよい。さらに、多数のホスト・ア
ダプタが、ストレージ・システム70に対して追加のI/Oチャンネルを持たせ
るために含まれてもよい。
【0046】 ホスト・アダプタ72は、バス73を使用して、ストレージ・システム70の
他のコンポーネントと交信する。バス73はSCSI、ESCON、およびその
他のバス・プロトコルの使用を含む適切ないかなる通信エレメントでもよい。
【0047】 物理ストレージ装置76a〜76dへのアクセスは、ディスク・アダプタ75
a〜75dの使用を通して制御される。さらにディスク・アダプタ75a〜75
dは、メインプロセッサーあるいはユーザ定義ハードウェアを用いて、実装され
ることができる。図7に示された実施例では、ディスク・アダプタがそれぞれの
物理ストレージ装置に対して用意されている。もちろんディスク・アダプタには
、1つ以上のストレージ装置を取り付けることができる。さらに、ディスク・ア
ダプタには、別のディスク・アダプタの物理ストレージ装置への第2の接続が含
まれていてもよい。このことは、第2のディスク・アダプタへその機能を移すこ
とにより、1つのディスク・アダプタの故障からの復帰を可能にする。
【0048】 図7の実施例では、ディスク・アダプタ75a〜75dを通して物理ストレー
ジ装置76a〜76dへ読み取り書き込む作業が、キャッシュ74を使用するこ
とで促進される。キャッシュ74は、ディスクドライブより大きな速度を持つラ
ンダム・アクセス・メモリでもよい。データを読み取る場合、データがキャッシ
ュに一時的に格納されているなら、読み取り要求は、キャッシュ74からデータ
をとることによって、より迅速に達成させることができる。同様に、データを書
き込む場合、書き込まれるべきデータがキャッシュに格納されることが可能であ
る。データが、キャッシュから適切な物理ストレージ装置に書き込まれている間
も、システムの他のコンポーネントは続行することができる。
【0049】 キャッシュを実装し管理するために、さまざまなメカニズムのうちのどれが使
用されてもよい。そのようなメカニズムの例は、1996年7月16日に発効さ
れた米国特許番号5,537,568の題名「キャッシュ・インデックスを維持
し、連続データ・アクセスを制御するキャッシュ・マネージャをダイナミックに
制御するためのシステム(System for dynamically c
ontrolling cache manager maintaining
cache index and controlling sequent
ial data access)」という米国特許の中に含まれている。同様
に、書き込みは、さまざまなメカニズムや方法のうちのどれを使用し、キャッシ
ュを通して遂行されてもよい。キャッシュから書き込むための1つのメカニズム
は、キャッシュに書き込まれるべきデータを格納し、「書き込み保留」ビットに
マークを付けておくことである。書き込み保留ビットに出くわすと、適切なデー
タがディスクに書き込まれることができる。この技術は、1994年8月23日
に発効された米国特許番号5,341、493の題名「電源故障中の書き込み保
護を備えたディスク・ストレージ・システム(Disk storage sy
stem with write preservation during
power failure)」に概ね記述されている。
【0050】 キャッシュは1つ以上の領域に分割されてもよい。例えば、キャッシュは、物
理ストレージ装置76a〜76dから読み取られ書き込まれるデータを格納する
ために、領域74aを含んでもよい。キャッシュはさらに「メールボックス」領
域74bを含んでもよい。メールボックス領域74bは、ディスク・アダプタ7
5a〜75d間とホスト・アダプタ72との交信を促進するために使用されても
よい。例えば、各ディスク・アダプタが、メールボックス74b内にそれ自身の
領域を持っていてもよい。ディスク・アダプタ75a〜75dの各々は、状態お
よび他の情報を交信するために、適切なメールボックス領域74bからの情報を
供給するか読み取ることができる。
【0051】 さらにリモート・アダプタ78が、ストレージ・システム70のバス73に取
り付けられてもよい。リモート・アダプタは、遠隔のデータ設備(RDF)と交
信するために、例えばミラー余剰グループを維持管理するための別のストレージ
装置との接続のために使用されてもよい。RDFリンクの1つの方式および実装
の方法は、EMC社から利用可能である1995年6月改訂版BのP/N200
−999−554のSYMMETRIX遠隔データ設備製品マニュアル(SYM
METRIX Remote Data Facility Product
Manual)を含む、さまざまな出版物に記述されている。さらにRDF実施
例は、米国特許番号5,544,347(Yanai)に記述されており、参考
としてその全体がここに組み入れられる。しかしながら本発明が、RDFの使用
あるいはSYMMETRIXディスク・アレイを使用するシステムに制限される
のではなく、多数の他のタイプのストレージ・システムのいかなるものでも使用
されることができることが認識されるべきである。
【0052】 サービス・プロセッサ77は、ストレージ・システム70のバス73に連結さ
れてもよい。サービス・プロセッサ77は、サービス・プロセッサ77を使用す
るオペレータが、ストレージ・システム70のコンポーネントのコンフィギュレ
ーションを行い、設備の診断と維持管理を行ったり開始できるように、ディスプ
レイ、キーボード、およびその他のI/O装置を含んでもよい。
【0053】
【課題を解決するための手段】
本発明の1つの実施例に従って、あるコンピュータ・システムが開示される。
この実施例に従って、そのコンピュータ・システムは、少なくとも1つのホスト
・コンピュータを持つホスト・ドメインを含む。コンピュータ・システムはさら
に、そのホスト・ドメインに連結されたストレージ・ドメインを含むが、それは
複数の第1次ストレージ装置、第2次ストレージ装置、および第1次ストレージ
・ノードと第2次ストレージ・ノードを連結するスイッチド・ネットワークから
なる。
【0054】 本発明の別の実施例に従って、ホスト・コンピュータの各々が異なるプラット
フォームを構成する複数のホスト・コンピュータを含むコンピュータ・システム
が開示される。さらにそのコンピュータ・システムは、複数の第1次ストレージ
装置を含み、その各々がホスト・コンピュータの少なくとも1つと結び付く。シ
ステムはさらに複数の第1次ストレージ装置と連結された第2次ストレージ装置
を含み、その第2次ストレージ装置はホスト・コンピュータのそれぞれからバッ
クアップ・データを受け取るように構成される。
【0055】 本発明の別の実施例に従って、第1次ストレージ・ノードから第2次ストレー
ジ・ノードまでデータを転送する方法が開示される。この実施例に従って、第2
次ストレージ・エレメントにデータを転送するために、第1次ストレージ・エレ
メントの1つから第2次ストレージ・エレメントへの接続が自動的に確立される
。データは、第1接続を通して、第1次ストレージ・エレメントから第2次スト
レージ・エレメントに直接転送される。
【0056】 本発明の別の実施例に従って、コンピュータ・システムのストレージ・エレメ
ントからデータのコピーを送る方法が開示される。この実施例に従って、データ
は、まず抽象ブロック・セットに定式化される。抽象ブロック・セットが伝達さ
れる。この実施例および他の実施例では、定式化するステップと伝達するステッ
プが、順次あるいは同時に実行されてもよい。
【0057】 本発明の別の実施例に従って、論理オブジェクトを格納する方法が開示される
。この実施例に従って、論理オブジェクトは抽象ブロック・セットへ定式化され
格納される。
【0058】 本発明の別の実施例に従って、ストレージ装置が開示される。この実施例に従
って、ストレージ装置は、メモリ、およびメモリから抽象ブロック・セットに伝
達するための手段を含む。
【0059】 本発明の別の実施例に従って、第2次ストレージ・システムが開示される。こ
の実施例に従って、第2次ストレージ・システムは、第2次ストレージ媒体、お
よび第2次ストレージ媒体上に抽象ブロック・セットを格納するための手段を含
む。
【0060】 本発明の別の実施例に従って、論理オブジェクトを格納する、コンピュータで
読取り可能な媒体が開示される。この実施例に従って、その媒体は、その各々が
論理オブジェクトからのデータの一部を読取り可能な媒体上に格納している複数
のデータ・ブロックと、論理オブジェクト中のデータ・ブロックの順番を識別す
るために読取り可能な媒体上に格納されるメタデータ・セグメントとを含む。
【0061】 本発明の別の実施例に従って、論理オブジェクト用のバックアップを生成する
方法が開示される。この実施例に従って、以前以来、変化したことがある論理オ
ブジェクトのデータ・ブロックが識別される。識別されたデータ・ブロックは、
差分の抽象ブロック・セットとして格納される。
【0062】 本発明の別の実施例に従って、ストレージ装置が開示される。この実施例に従
って、ストレージ装置は、メモリと、以前以来、変化のあったデータ・ブロック
を識別するための手段と、差分の抽象ブロック・セットをメモリから伝達するた
めの手段を含む。
【0063】 本発明の別の実施例に従って、更新された抽象ブロック・セットを作成する方
法が開示される。この実施例に従って、全体の抽象ブロック・セットが提供され
る。差分の抽象ブロック・セットがさらに提供される。全体の抽象ブロック・セ
ットと、差分の抽象ブロック・セットが、更新された抽象ブロック・セットを作
成するために結合される。
【0064】 本発明の別の実施例に従って、論理オブジェクトの更新されたバックアップを
作成する方法が開示される。この実施例に従って、論理オブジェクトの第1バッ
クアップが提供される。さらに論理オブジェクトの差分のバックアップが提供さ
れるが、その差分のバックアップは第1バックアップが作成されて以来、変化の
あった複数のバックアップ・データ・ブロックを含む。そのバックアップ・デー
タ・ブロックが第1バックアップに加えられ、そして更新されたバックアップの
中のデータ・ブロックの順番を識別するメタデータが、加えられる。
【0065】 本発明の別の実施例に従って、第2次ストレージ装置が開示される。この実施
例に従って、ストレージ装置は第2次ストレージ媒体、および全体の抽象ブロッ
ク・セットを作成するために第1バックアップと差分の抽象ブロック・セットを
結合するようにプログラムされたコントローラを含む。
【0066】 本発明の別の実施例に従って、論理オブジェクトをコピーする方法が開示され
る。この実施例に従って、コンピュータ・ストレージ装置のストレージ・セグメ
ント一式から、論理オブジェクトの少なくとも1つの物理ブロックからのデータ
を含むセグメントが識別される。識別されたストレージ・セグメントがコピーさ
れる。この実施例に従って、コピーされたストレージ・セグメントの少なくとも
1つは、複数の物理データ・ブロックを含む。したがって、ストレージ・セグメ
ントのサイズは、個々の物理データ・ブロックのサイズと必ずしも同じではない
【0067】 本発明の別の実施例に従って、論理オブジェクトのバックアップを作成する方
法が開示される。この実施例に従って、バックアップ・セグメント一式が受け取
られるが、その各々のバックアップ・セグメントは、論理オブジェクトの少なく
とも1つの物理ブロックを含む。受け取られたストレージ・エレメントが格納さ
れるが、ストレージ・セグメントの少なくとも1つは、複数の物理データ・ブロ
ックを含む。
【0068】 本発明の別の実施例に従って、論理オブジェクトのバックアップ・コピーを格
納するコンピュータで読取り可能な媒体が開示される。この実施例に従って、複
数のデータ・セグメントが読取り可能な媒体上に格納されるが、それぞれのデー
タ・セグメントは論理オブジェクトの少なくとも1つのデータ・ブロックを含み
、データ・セグメントの少なくとも1つは、複数の論理データ・ブロックを含む
。さらにこの実施例は、データ・セグメント中の論理オブジェクトのデータ・ブ
ロックを識別するために、読取り可能な媒体上に格納されているメタデータ・セ
グメントを含む。この実施例では、データ・セグメントは、例えば複数の固定サ
イズのブロックを含むトラックであってもよい。
【0069】 本発明の別の実施例に従って、コンピュータ・ストレージ・システムが開示さ
れる。この実施例に従って、システムは、それぞれが少なくとも1つのデータ・
ブロックを格納する複数の物理ストレージ・セグメント(1つの実施例では、そ
れは1つのトラックである)を含むコンピュータ・ストレージ装置を含む。さら
にシステムは、ストレージ・エレメントの一式から、論理オブジェクトの少なく
とも1つの物理ブロックを含むストレージ・セグメントを識別するための手段と
、識別されたストレージ・セグメントを伝達するための手段とを含む。
【0070】 本発明の別の実施例に従って、時間の固定されたある一点で論理オブジェクト
をバックアップする方法が開示される。この実施例によって、論理オブジェクト
の論理データ・ブロックを含むストレージ・セグメントの一式が識別される。こ
れらのストレージ・セグメントは、論理オブジェクトに現われるストレージ・セ
グメントあるいは論理データ・ブロックの順序がバラバラのまま、バックアップ
・ストレージ装置にコピーされる。コピーをしているステップの間に、論理オブ
ジェクトの物理ブロックを含んでいるストレージ・セグメントが修正されようと
しているなら、そのストレージ・セグメントが直ちにバックアップされる。この
実施例および他の実施例で、ストレージ・セグメントはデータ・ブロックの大き
さに一致していてもよい(しかし必要はない)。
【0071】 本発明の別の実施例に従って、コンピュータ・ストレージ・システムが開示さ
れる。この実施例に従って、システムは、複数のストレージ・セグメントを持つ
コンピュータ・ストレージ装置を含む。さらにシステムは、論理オブジェクトあ
るいは論理データ・ブロックを含むストレージ・セグメントの一式を識別する手
段と、論理データ・ブロックおよび論理オブジェクトの順序と無関係に、その識
別されたストレージ・セグメントをコピーする手段と、ストレージ・セグメント
の物理ブロックが修正されようとしている場合は、直ちにバックアップ・ストレ
ージ装置にストレージ・セグメントをコピーする手段とを含む。
【0072】 本発明の別の実施例に従って、第1次ストレージ装置に論理オブジェクトをコ
ピーする方法が開示される。この実施例に従って、論理オブジェクトのコピーが
提供される。第1次ストレージ装置中のメモリの物理ブロックが、論理オブジェ
クトを格納するために割り当てられる。第1次ストレージ装置の物理ブロックへ
論理オブジェクトをコピーするためのデータ・ブロックのマップが作成される。
データ・ブロックはマップに基づいて、物理ブロックにコピーされる。
【0073】 本発明の別の実施例に従って、第1次ストレージ装置に論理オブジェクトをコ
ピーする方法が開示される。この実施例に従って、論理オブジェクトの抽象ブロ
ック・セット・コピーが提供される。メモリの物理ブロックが、論理オブジェク
トを格納するために第1次ストレージ装置の中に割り当てられる。論理オブジェ
クトをコピーするためのデータ・ブロックが、第1次ストレージ装置の物理ブロ
ックにマッピングされ、そしてそのデータ・ブロックがマッピングに基づいて物
理ブロックにコピーされる。
【0074】 本発明の別の実施例に従って、コンピュータ・ストレージ装置が開示される。
この実施例に従って、装置は複数の物理データ・ブロックを含むメモリを含む。
さらに装置は、一式の物理データ・ブロックに向けてなされるデータ・ブロック
のマッピングに基づいて、抽象ブロック・セットのデータ・ブロックを物理デー
タ・ブロックへ格納するための手段を含む。
【0075】 本発明の別の実施例に従って、論理オブジェクトをコピーする方法が開示され
る。この実施例に従って、論理データ・ブロックを含むストレージ・セグメント
の一式が識別される。ストレージ・セグメントは論理データ・ブロックに一致し
ていてもよいし、あるいは異なるサイズでもよい。識別されたストレージ・セグ
メントは、論理オブジェクト中の論理データ・ブロックの順序とは無関係に、第
2次ストレージ装置にコピーされる。
【0076】 本発明の別の実施例に従って、論理オブジェクトをコピーする方法が開示され
る。この実施例によって、論理オブジェクトの論理データ・ブロックを含むスト
レージ・セグメントの一式が識別される。識別されたストレージ・セグメントは
、並行して第2コンピュータ・ストレージ装置にコピーされる。メタデータは、
論理オブジェクト中の識別されたストレージ・セグメントに格納されたデータの
順序を識別するために提供される。
【0077】 本発明の別の実施例に従って、複数の論理ブロックを含む論理オブジェクトを
バックアップする方法が開示される。この実施例に従って、第1と第2のバック
アップ媒体が提供される。1つの実施例では、各バックアップ媒体はデジタル・
ストレージ・テープである。論理ブロックが、並行して第1と第2のバックアッ
プ媒体に書き込まれる。
【0078】 本発明の別の実施例に従って、第2次ストレージ装置が開示される。この実施
例に従って、第2次ストレージ装置は、複数のストレージ・コンポーネントと、
並行してそのストレージ・コンポーネントに抽象ブロック・セットの部分を書き
込むための手段とを含む。
【0079】 本発明の別の実施例に従って、論理オブジェクトを復元する方法が開示される
。この実施例に従って、論理オブジェクトのコピーの第1と第2の部分が提供さ
れる。第1の部分に格納されたデータ・ブロック、および第2の部分に格納され
たデータ・ブロックが、並行して読み取られる。論理オブジェクトは読み取られ
たデータ・ブロックから復元される。
【0080】 本発明の別の実施例に従って、第2次ストレージ装置が開示される。この実施
例に従って、第2次ストレージ装置は、複数のストレージ・コンポーネントから
並行してデータを読み取るための手段と、読み取られたデータを抽象ブロック・
セットとして別の装置に提供するための手段を含む。
【0081】 上記の開示された発明および実施例の各々は、有益であり、別々に独立して適
用されてもよいし、一緒に適用されてもよい。本発明の1つの側面の説明は、本
発明の他の側面について制限するものではない。
【0082】
【発明の実施の態様】
図5および図6に示されたアーキテクチャは、ストレージのためのネットワー
ク・モデルに焦点を合わせたもの、あるいは「ネットワーク中心の」システムと
して眺められてもよい。そのようなシステムでは、データ・トランスファの焦点
となるのは、ネットワークを介しての論理データの移動である。さらに、ストレ
ージ・システム52およびバックアップ・ストレージ・システム54が、一般的
に、単一のクライアントあるいはホスト50のアーキテクチャと結び付けられる
【0083】 その代案となるモデルは、クライアントあるいはホスト・ドメインと、ストレ
ージ・ドメインの分離に焦点を合わせたものである。 図8は、ストレージ・ドメインからホスト・ドメインを分離するシステムの一
例を示す。図8では、多くのホスト・コンピュータ80が、エンタープライズ・
ホスト・ドメイン80aに含まれる。ホスト・コンピュータは、コンピュータ、
オペレーティング・システム、データ管理アプリケーションからなるいかなるタ
イプのものでもよい。例えば、1つのホスト・コンピュータ80は、HP−UX
オペレーティング・システムを実行するヒューレット・パッカード9000コン
ピュータ・システムでもよい。別のホスト・コンピュータ80はSolaris
オペレーティング・システムを実行するSunSparkステーションでもよい
。ホストと、オペレーティング・システムと、適用されるデータ管理アプリケー
ションの組み合わせは、「プラットフォーム」と呼ばれる。ホスト・コンピュー
タ80の各々は、ストレージ・ネットワーク89と接続する異なるプラットフォ
ームを構成してもよい。
【0084】 エンタープライズ・ホスト・ドメイン88のホスト・コンピュータ80は、ネ
ットワーク上に接続されてもよい。他のいかなる形式のネットワークが用いられ
てもよいけれども、このネットワークはスイッチング・ノード81を含んでもよ
い。
【0085】 図8の実施例では、ホスト・コンピュータ80は、ネットワークを通してエン
タープライズ・ストレージ89に連結されるか、第1次ストレージ・ノード82
に直接連結される。第1次ストレージ・ノードは、ホスト80によって使用され
る著しい量のデータを蓄えることができるメモリ装置である。例えば、図7に関
連して上で記述されたようなSymmetrixシステムは、第1次ストレージ
・ノードとして使用されてもよいが、これは制限するものではない。
【0086】 図8の実施例では、各ホスト・コンピュータが、そのホスト・コンピュータ用
の主ストレージ装置として使用するために、第1次ストレージ・ノード82の小
集合に連結される。例えば、ホスト・コンピュータ80aは、第1次ストレージ
・ノード82aに直接つながれている。ホスト・コンピュータ80aは、非常に
大きなデータベースへのアクセスといったような、ほとんどそのメモリ集約的な
機能に対して、第1次ストレージ・ノード82aに依存してもよい。
【0087】 第1次ストレージ・ノード82は、さらにネットワークを通して共に連結され
てもよい。図8の例では、ネットワークはリンク85およびスイッチ・ネットワ
ーク84を含む。スイッチ・ネットワーク84は、例えば、ファイバー・チャン
ネル・ネットワークでもよい。リンク85はESCONライン上のRDFリンク
でもよい。
【0088】 第1次ストレージ・ノード間のネットワークは、2つの目的を果たしてもよい
。ネットワークは、第1次ストレージ・ノード間のデータの伝送を許してもよい
。例えばホスト80aによって操作され、第1次ストレージ・ノード82aに格
納されるデータベースは、ホスト80bによって使用されるように、第1次スト
レージ・ノード82bに伝送されてもよい。エンタープライズ・ストレージ・ネ
ットワーク(リンク85あるいはスイッチング・ネットワーク84を使用して)
を介してデータベースを伝送することによって、ホスト80a、80bおよびエ
ンタープライズ・ホスト・ドメイン・ネットワーク中の利用可能な帯域幅を保存
することができる。
【0089】 エンタープライズ・ストレージ・ネットワーク89は、さらに第2次ストレー
ジ・ノード87を含んでもよい。第2次ストレージ・ノードは、バックアップ機
能、階層的ストレージ管理、仮想ディスク、およびその他の機能のために使用さ
れてもよい。したがって、第2次ストレージ・ノード87はテープ・ストレージ
・ユニット83につながれてもよい。第2次ストレージ・ノード87は、第1次
ストレージ・ノード82からテープ・ストレージ・ユニット83に格納されたテ
ープへ、データの高度な伝送がなされるよう調整するだろう。(他の実施例は第
2次ストレージ装置用に追加のあるいは代わりの媒体を使用するかもしれない) 図9は、本発明の1つの実施例の1つの側面によって構築されたコンピュータ
ー・ネットワークの1つの実施例を示す。この実施例では、エンタープライズ・
ホスト・ドメイン97が提供される。エンタープライズ・ホスト・ドメイン97
はさまざまなホスト・コンピュータ90a〜90eを含む。ホスト・コンピュー
タは、異なるプラットフォーム、およびメモリ中のデータにアクセスし格納する
ことに対応する、異なるメカニズムを含んでもよい。例えば、ホスト・コンピュ
ータ90aはヒューレット・パッカードHP9000コンピュータである。ホス
ト・コンピュータ90cはSolarisオペレーティング・システムを実行し
てもよいSunSparkステーションである。ホスト・コンピュータはネット
ワーク96を介して互いに交信してもよい。そのようなネットワークは、コンピ
ュータを接続するためによく知られ適用される、多くのコンピューター・ネット
ワークのうちの1つであればよい。
【0090】 図9の実施例では、各ホスト・コンピュータ90a〜90eが第1次ストレー
ジ・ノード92a〜92cに接続される。この実施例では、各々の第1次ストレ
ージ・ノード92a〜92cは、図7に関連して上で記述されたようなSymm
etrixメモリ・システムのような、反復キャッシュ・ディスク・アレイであ
るが、これは制限するものではない。したがって、例えば、ホスト・コンピュー
タ90aは、第1にストレージ・ノード92aと接続する。同様に、ホスト・コ
ンピュータ90bは、そのデータの第1資源として第1次ストレージ・ノード9
2aを使用する。
【0091】 図9の実施例では、ホスト・コンピュータ90aが、高速ファイバー・チャン
ネル9laを通して第1次ストレージ・ノード92aに接続される。しかしなが
ら、ホスト90bは、標準のSCSI接続を通して第1次ストレージ・ノード9
2aに接続される。ホスト90aと90bの各々は、同じ第1次ストレージ・ノ
ード92aにつながれる。第1次ストレージ・ノード92a〜92cにホスト・
コンピュータ90a〜90eを接続するために、他のメカニズムが使用されても
よい。例えば、どのホスト・コンピュータでも、第1次ストレージ・ノード92
a〜92cのうちのどれに対してもアクセスできるように、完全なスイッチド・
ネットワークが使用されることができるだろう。
【0092】 さらに第1次ストレージ・ノード92a〜92cの各々は、ネットワークを使
用して、共に連結されてもよい。図9の例では、第1次ストレージ・ノード中の
ただ一つのリンクが、ESCONリモート・データ・ファシリティ(ESCON
「RDF」)リンク93gである。そのようなリンクは、データを伝送するため
、あるいはオン・ラインか周期的に更新されるミラーとしてデータのミラーを維
持管理するために使用されてもよい。そのようなリンクが、参考としてその全体
がここに組み入れられる米国特許番号5,544,347(Yanai)で記述
されるように、実装されてもよい。第1次ストレージ・ノード92a〜92cの
各々は、他のメカニズムを使用して、共に連結されてもよい。例えば、第1次ス
トレージ・ノード92a〜92cの各々を完全に接続するために、RDFリンク
が使用されることができるだろう。代案として、そのネットワークが、第1次ス
トレージ・ノード92a〜92c間のデータ操作を支援するために十分に高速で
あることが当然であると想定すると、スイッチド・ネットワークが使用されるこ
とができるだろう。
【0093】 さらに図9の実施例中のストレージ・ネットワーク98は、第2次ストレージ
・ノード94を含む。第2次ストレージ・ノードは、バックアップ(そして他の
)機能のために使用され、例えばテープ・ライブラリ95へ情報を格納し、そし
てそこから情報を復元するために使用される。
【0094】 図9の実施例では、第1次ストレージ・ノードの各々が、第2次ストレージ・
ノード94に接続されるか、あるいは接続可能(ネットワークによって)である
。この例において、第1次ストレージ・ノード92bおよび92cは、上で記述
されるように実装されてもよいRDFリンク(それぞれ93cと93d)を各々
が使用して、第2次ストレージ・ノード94に連結される。
【0095】 第1次ストレージ・ノード92aは、(示されていないが、他の第1次ストレ
ージ・ノードと一緒に)スイッチド・ネットワークを通して第2次ストレージ・
ノード94に接続されるが、それはシステムの各々が第2次ストレージ・ノード
94にアクセスすることを可能にするだろう。
【0096】 遠距離間のデータの高速転送を可能にするRDF(あるいは他のもの)リンク
を使用するなら、第1次ストレージ・ノード92a〜92c、および第2次スト
レージ装置94は、物理的に遠く離れて設置されていてもよい。
【0097】 もちろん、他の形態および他のメカニズムが、本発明の範囲を逸脱せずに、使
用されてもよい。 コンピュータのアプリケーションの多くは、今やシステムが計算を実行する能
力よりも、メモリにより多く注目している。例えば、非常に大きなデータベース
へのアクセスが、コンピュータにとって非常に重要で価値あるアプリケーション
となった。
【0098】 過去において、コンピュータ・システムの焦点は、それぞれの関連するメモリ
を持つホスト・コンピュータを相互に連結させることや、あるいは、単一のメモ
リへのネットワーク・アクセスを提供することにあった。この焦点はホスト・コ
ンピュータおよびネットワーク資源を要求する。
【0099】 しかしながら、ストレージ中心のモデルでは、コンピュータ・システムのスト
レージ・コンポーネントが等しく重要な地位に上げられる。そのようなモデルで
は、システムのストレージ・コンポーネントが、ホスト・ドメインからのより少
ない関与で、互いに作用し合うことができる。例えば、1つ以上の第1次ストレ
ージ・ノードを横断したミラーリングを可能にすることが望ましいかもしれない
。同様に、データ・オブジェクトが、1つの第1次ストレージ・ノードから別の
第1次ストレージ・ノードにコピーされる必要があるかもしれない。さらなるレ
ベルのバックアップが望まれるところでは、第1次ストレージ・ノードはさらに
バックアップの目的のために第2次ストレージ・ノードにデータを転送してもよ
い。同様に、第1次ストレージ・ノードは、復元するために第2次ストレージ・
ノードからデータを受け取ってもよい。ストレージ中心のモデルでは、そのよう
なシステムの中の資源集約的な機能のうちのいくつか、あるいはすべてが、ホス
ト・ドメインから取り除かれてもよい。このモデルに続くある実施例は、ホスト
・ドメイン資源を保護し、メモリの拡張性を増大させ(ホスト・ドメイン資源へ
の作用に大きな問題を与えずに、ストレージ・ドメインを増やすことによって)
、そしてホスト・ドメインにおけるホストの特定プラットフォームへの依存を減
少させることができる。
【0100】 図10は、そのような1つのシステムの中で、データがどのようにして移動さ
れるかを非常に基本的なレベルで示す。ステップ100で、コピーか、バックア
ップか、復元される必要のある物理エレメント(例えば、データ・ブロック)が
、識別される。ステップ102で、それらの物理的なエレメントが転送される。
【0101】 例えば、コピーについては、コピーされようとしている物理エレメントが、ス
テップ100で識別される。さらに、そのエレメントがコピーされようとしてい
るロケーションが、識別される。第1次ストレージ・ノード間のコピーに対して
は、これにロケーションからのコピーと、ロケーションへのコピーとを識別する
ことが含まれてもよい。バックアップについては、これにロケーションからのコ
ピーを識別することが含まれるが、テープやその他のバックアップ・ストレージ
・エレメントのどれが、バックアップ・データを受け取るかを決めることのよう
に単純なことであるだろう。
【0102】 第1次ストレージ・ノード間のコピーについて、識別されたコピー元のロケー
ションから、識別されたコピー先のロケーションへ、物理エレメントが転送され
る。バックアップについては、物理エレメントがテープにコピーされる。(テー
プが第2次ストレージとして言及されているが、これは制限するものではない。
他のいかなるストレージ媒体が使用されてもよい。) しかしながら、ステップ100は非常に複雑になることがある。多くの場合、
第1次ストレージ・ノードの全内容をコピーすることは望ましくない。むしろ、
第1次ストレージ・ノード中の物理エレメントの部分集合だけが、コピーされる
必要があるかもしれない。一例として、図9の第1次ストレージ・ノード92a
に格納されたデータベースをバックアップすることを考えてみる。このデータベ
ースは、第1次ストレージ装置92aに格納された総データのうちの単に小さな
部分を占めているだけかもしれず、また実際に、主としてホスト・コンピュータ
90bによってアクセス可能だが、ホスト90aが読み出すことすらできないか
もしれない極めて大きなセグメントのデータがあるかもしれない(なぜならホス
ト・コンピュータ90bが90aとは異なるプラットフォームなので)。
【0103】 要するに、第1次ストレージ・ノード内に格納された論理オブジェクトをバッ
クアップすることが望ましいかもしれない。この場合、ステップ100は、92
aからコピーされる必要のある物理エレメントを識別するために、第1次ストレ
ージ・ノード92aの中の物理エレメント上に論理オブジェクトをマッピングす
ることを要求する。図2Cに関して上で記述されるように、これらの物理エレメ
ントは、第1次ストレージ装置内の異なるロケーションに置かれていてもよい。
【0104】 ステップ102は同様に複雑になるかもしれない。第1次ストレージ装置中の
物理エレメントがすべて識別された後でさえ、単に物理エレメントを転送するだ
けでは不十分である。コピーかバックアップされた論理オブジェクトが、受入れ
第1次ストレージ・ノードにつながれたホスト・コンピュータによって読み取ら
れるよう、物理エレメント間の関係が保存されている必要があるかもしれない。
物理エレメントに論理オブジェクトをマッピングし、それらの物理エレメント間
の論理関係を保存するために使用する1つのメカニズムが、以下に説明される。
これは本発明の他の側面に関して制限するものではない。
【0105】 どんな場合も、コンピュータ・ストレージ装置のストレージ中心のモデルでは
、データ転送処理(例えば、図10に示されるもの)の多くが、ストレージ・ネ
ットワーク内で、つまりホスト・ドメインからの資源を要求せずに、実行される
ことが可能であることが望ましいかもしれない。従って、ネットワーク中の第1
次ストレージ・ノードおよび第2次ストレージ・ノードはデータ転送処理の側面
を取り扱えるだけの十分な知能を持っていてもよい。例えば、第1次ストレージ
・ノードは、それらの物理エレメントが第1次ストレージ装置内の異なるロケー
ションに格納される場合でさえ、論理オブジェクト中の識別された物理エレメン
トの転送を、最低限、管理する能力があってもよい。コンピュータ・システムの
ストレージ中心のモデルでは、ストレージ・ドメイン内の第1および第2次スト
レージ・ノードの中の資源を使用して、データ転送機能のうちのいくつか(ある
いは、ある場合にはできるだけ多く)が実行されるようにすることが望ましいか
もしれない。
【0106】 コンピュータ・システムは、ストレージ・ドメイン内のストレージの操作を管
理するために、ストレージ管理アプリケーション(SMAPP)を含んでもよい
。図11AおよびBを参照して下に記述されるように、SMAPPは、ホスト・
コンピュータ上か、第1次ストレージ・ノード上か、別個のストレージ・コント
ローラ上か、あるいはこれらのいくつかの組み合わせの中で、ソフトウェアを用
いて実装されることができる。
【0107】 ストレージ管理アプリケーションは、3つの主要コンポーネント、つまり管理
コンポーネント、サーバ・コンポーネント、およびクライアント・コンポーネン
トを使用して、実装されることができる。
【0108】 管理コンポーネントは、バックアップの環境設定、バックアップの制御と監視
、およびストレージ・ドメインのコピー工程を制御する。さらに管理コンポーネ
ントは、例えばどのテープまたは複数のテープが、特定の各々の論理オブジェク
トのバックアップを含んでいるかということを含めて、ストレージ・システム内
の論理オブジェクトのコピーのロケーションを追跡する。
【0109】 サーバ・コンポーネントは、テープのマウンティングとディスマウンティング
、オープニングとクロージング、テープの読み取りと書き込み、および他のメモ
リ媒体の行為といったようなメモリ処理のハードウェア機能を制御する。
【0110】 SMAPPのクライアント・コンポーネントは、情報源のバックアップあるい
はコピーの操作や識別を取り扱う。例えば、クライアント・コンポーネントは、
適用可能な論理オブジェクト(例えば、ファイルシステム、ファイルあるいはデ
ータベース)の識別と、どのようなオペレーティング・システム・レベル(ある
いは論理ボリューム・マネージャ・レベル)の物理エレメントが含まれているか
を判定する役割を担う。(上で記述されるように、マッピングの追加層がストレ
ージ・ドメイン内の第1次ストレージ・エレメント111で実行されてもよい。
例えば、第1次ストレージ・エレメント111が上で記述されるようなSymm
etrix製品である場合、識別された物理トラックが第1次ストレージ・エレ
メント111内に再度マッピングされてもよい。) 図11Aは、ホスト・ドメインおよびストレージ・ドメインを持つコンピュー
タ・システムの一部の一例を示す。その例では、一台のホスト110だけがホス
ト・ドメインの中に示される。さらに、3つのコンポーネントだけがストレージ
・ドメインの中に示される。これらは第1次ストレージ・エレメント111(そ
れは、例えばSymmetrixディスク・アレイでもよい)、第2次ストレー
ジ・エレメント112、およびテープ・ライブラリ・ユニット113である。上
で記述されるように、追加のストレージ・エレメントが、ネットワークによって
連結されて、含まれてもよい。単純にするために、図11Aの例は、ホスト、第
1次ストレージ・エレメント、第2次ストレージ・エレメントという3つの異な
るストレージ・レベルを持つそれぞれの中から1つだけを示す。
【0111】 図11Aの例では、ストレージ管理アプリケーション(SMAPP)114が
、主としてホスト・コンピュータ110上に常駐している。したがって、ホスト
・コンピュータは、コピー、バックアップ、復元(また他のもの)操作の管理を
可能にするアプリケーション・プログラミング・インタフェース(API)を含
むだろう。さらに、ホスト110上のストレージ管理アプリケーションl14は
、サーバ・コンポーネント115bを含む。かさねて、ホストは、サーバ操作の
管理を可能にするAPIを含むだろう。最後に、ストレージ管理アプリケーショ
ン114は、この例において、クライアント・コンポーネント115cを含む。
クライアント・コンポーネントは、論理オブジェクトを識別し操作する役割、お
よび論理オブジェクトを包含する物理エレメントを識別する(オペレーティング
・システムか論理ボリューム管理レベル・ビューから)役割を担うだろう。
【0112】 単純にするために、第1次ストレージ・エレメント111から第2次ストレー
ジ・エレメント112にバックアップを実行する操作が、記述されるだろう。同
様の工程が、ネットワーク中の第1次ストレージ・エレメント間でミラーリング
あるいはコピーを行う機能を設定するために適用されるだろう。
【0113】 この例において、第1次ストレージ・エレメントはSMAPPインターフェー
ス116aを含む。同様に、第2次ストレージ・エレメント112はSMAPP
インターフェース116bを含む。図11Aに示される実施例中の第1次ストレ
ージ・エレメント111から第2次ストレージ・エレメント112への論理オブ
ジェクトのコピーが、以下のように進行してもよい。最初に、「仮想回線」ある
いは「接続」が、第1次ストレージ・エレメント111と第2次ストレージ・エ
レメント112の間で設定される。これは、第2次ストレージ・エレメント11
2に第1次ストレージ・エレメントをつなぐネットワーク(例えば第1次ストレ
ージ・エレメント111と第2次ストレージ112間の単一のRDFリンクを含
めて)を通して確立される仮想回線でよい。ノード間の物理的な接続を確立する
ことに加えて、仮想回線は、その確立された接続を通して、一連のデータ(例え
ば、論理オブジェクトからなる)をコピーするためのセッションを識別する。
【0114】 したがって、ホスト・コンピュータ110上のSMAPP114上の管理コン
ポーネント115aは、第2次ストレージ・エレメント112との仮想回線を確
立するよう第1次ストレージ・エレメントに命じることにより、バックアップ・
セッションを開始してもよい。その後、仮想回線の実際の設立は、第2次ストレ
ージ・エレメント112のSMAPPインターフェース116bと共同して、第
1次ストレージ・エレメント111のSMAPPインターフェース116aによ
って実行されてよい。
【0115】 ホスト・コンピュータ110のクライアント・コンポーネント115cは、バ
ックアップ用の論理オブジェクトを識別する。その後、クライアント・コンポー
ネント115cは、物理エレメントのオペレーティング・システム(あるいは論
理ボリューム・マネージャ・レベル)セットにその論理オブジェクトをマッピン
グする。このマッピングは1ステップで実行されてもよい。その後、SMAPP
インターフェース116aを通して交信されるように、ホスト110のクライア
ント・コンポーネント115cは、第1次ストレージ・エレメント111にコピ
ーするためのエレメントを識別してもよい。
【0116】 ホスト110のサーバ・コンポーネント115bは、テープ・ライブラリー・
ユニット113の適切なテープを識別しマウントするだろう。特にこの例では、
サーバ・コンポーネント115bは、第1次ストレージ・エレメント111のS
MAPPインターフェース116aを通して、第2次ストレージ・エレメント1
12のSMAPPインターフェース116bにこれらのコマンドを渡すことで、
そのコマンドを実行し、そうしてテープをマウントする。
【0117】 バックアップ処理の実際の実行は、ホスト・ドメインのホスト110によるそ
れ以上の制御無しで(いくつかの実施例における、工程のモニタリング、および
、例えばテープ・ドライブにおけるテープの交換といったバックアップ媒体の管
理を除いて)、進行してもよい。第1次ストレージ・エレメント111は、識別
された物理セグメントを第2次ストレージ・エレメント112にコピーしてもよ
い。
【0118】 図11Bは、本発明に従ったコンピュータ・システムのストレージ・ドメイン
を制御するための代案となる構造を示す。この例において、ストレージ・ネット
ワーク・コントローラ118aは、ネットワーク119を通して、ホスト110
、第1次ストレージ・エレメント111、および第2次ストレージ・エレメント
112に接続される。このネットワークは、例えばTCP/IPプロトコルに従
ったものでよい。ストレージ・ネットワーク・コントローラ118aは、必要な
機能を遂行できるどのようなハードウェアでもよいし、あるいはハードウェアと
ソフトウェアの組み合わせでもよい。例えば、ストレージ・ネットワーク・コン
トローラ118aは、SMAPP機能を実行するための適切なアプリケーション
・ソフトを備えた、WindowsNTオペレーティング・システムを実行して
いるコンピュータでもよい。
【0119】 この例では、SMAPPソフトウェアの重要な部分が、ストレージ・ネットワ
ーク・コントローラ118a上に常駐している。それで、ストレージ・ネットワ
ーク・コントローラ118aのSMAPP118bは、管理コンポーネントおよ
びサーバ・コンポーネントを含む。したがって、ストレージ・ネットワーク・コ
ントローラ118aは、ハードウェアおよび媒体の管理をホスト・コンピュータ
110と無関係に、実行することができる。
【0120】 この例では、ホスト110はクライアント機能を実行するためにSMAPP1
17を含む。したがって、論理から物理へのマッピングが、ホスト・コンピュー
タ110によって、ホスト・ドメインの中でなお実行される。SMAPP117
のクライアント・コンポーネントは、論理オブジェクトを識別する役割と、論理
から物理へのマッピングを実行する役割を担っているので、これは実用的な配置
であると言える。論理から物理へのマッピングは、特定のホスト・プラットフォ
ームに依存し、必然的にそのホストは必要なマッピングを実行することができる
エレメントを持つ。
【0121】 しかしながら、他の実施例では、クライアント・コンポーネントはストレージ
・ネットワーク・コントローラ118aか、あるいは1つ以上のプラットフォー
ムに対して論理から物理へのマッピングを遂行できる別個の装置内に含まれる。
これが終わると、コピーとバックアップ目的のためのデータの識別と転送が、ホ
スト・ドメインから完全に分離して実行されることができる。しかしながら、多
くのシステムでは、ホスト・コンピュータ上でのメモリ・マッピング・メカニズ
ム(クライアント・コンポーネント)を使用することがより効率的だろう。
【0122】 SMAPPソフトウェアには、これ以外の配置が可能である。例えば、SMA
PPソフトウェアのコンポーネントは、ストレージ・ドメインの第1次ストレー
ジ・エレメント、ホスト・ドメインの第2次ストレージ・エレメントか複数のエ
レメント、あるいはそのいくつかの組み合わせを横断して割り当てられてもよい
【0123】 図12は、図11Aおよび11Bで示されるようなシステムに従った論理オブ
ジェクトを転送する方法の1つの実施例を示す。ステップ120で、仮想回線が
確立される。上で記述されるように、これは、そこからコピーされるエレメント
(例えば、第1次ストレージ・エレメント)と、そこへコピーされるストレージ
・エレメント(例えば、第2次ストレージ・エレメント)間の物理的な接続を確
立することに相当するだろう。さらに、このステップ120は、その接続を通し
てコピーを実行するためのセッションの確立に相当する。上で記述されるように
、仮想回線の確立と管理は、ホスト・コンピュータ、ストレージ・ネットワーク
・コントローラ、あるいは他の装置上に常駐するSMAPPコンポーネントによ
って、実行されることができる。
【0124】 ステップ121で、そこからコピーされる物理エレメントを識別するために、
論理オブジェクトがマッピングされる。バックアップを実行するために、これは
、アプリケーション・レベルの識別された論理オブジェクトを、ストレージ・レ
ベルの物理エレメント一式に、マッピングすることに相当するだろう。
【0125】 テープから復元するために、これはテープ上のメモリのセグメントの論理ロケ
ーションを識別することに相当するだろう。テープが論理ビット・ファイルを含
んでいる場合、このステップは簡単である。いかなる実際のマッピングもなされ
る必要がない。下に記述される抽象ブロック・セットのような他の環境では、テ
ーブルあるいは他の構造が、物理エレメントの部分を論理オブジェクト中のそれ
らの順序にマッピングしたものを識別してもよい。論理レベルから物理レベルへ
の実際のマッピングは、バックアップの時に実行され、保存されてもよい。
【0126】 ステップ122で、物理エレメントへの更新が止められる。例えば、データベ
ースが第1次ストレージ・エレメントからテープにバックアップされる場合、バ
ックアップが時間のある一点に対応できるように、論理オブジェクトの更新が止
められるべきである。もちろん、そのコピーがバックアップ・テープから第1次
ストレージ・エレメントになされる場合は、物理エレメントの更新を止めるのは
かなり単純である。というのは、復元中、物理エレメントが読み出されている間
は、テープは書き込まれないはずであるからである。1つの実施例では、コピー
処理中の物理エレメントの更新を止めるために、下に記述される同時コピーの方
法が使用されてもよい。
【0127】 ステップ123で、コピー先のメモリが管理される。第1次ストレージ・エレ
メントからテープへのバックアップについて、これは適切なテープをマウンティ
ングしたりディスマウンティングすること、さらにテープ・ライブラリやカタロ
グ情報を管理すること、さらに適切なテープのヘッダとトレーラを書き込むこと
に相当するだろう。情報が別の第1次ストレージ・エレメントにコピーされてい
る場合、これは、そこへコピー中である第1次ストレージ・エレメントの受入れ
物理エレメントの管理に相当するだろう。さらに、それによって、情報を受け取
るための適切なストレージ・ドメインを用意することが必要になるだろう。
【0128】 ステップ124で、実際の物理エレメントがコピーされる。通常のデータ・フ
ァイルが2つのホスト・コンピュータ間のアプリケーション・レベルに送られる
場合のように、そのコピーは論理オブジェクトに対して適切な順序で行われても
よい。バックアップのコンテクストでは、そのような1つのシステムが、米国特
許出願番号09/107,679に記述されており、その全体がここに組み入れ
られる。これに代わる実施例では、物理データ・ブロックが、論理オブジェクト
中の物理エレメントの正確な順序を識別する、適切なメタデータと一緒に、順序
に関係なくコピーされてもよい。この種のシステムの実施例は下に記述される。
【0129】 ステップ125で、メモリからのコピーにおいて、論理オブジェクトの物理エ
レメントの更新の中止が解除され、論理オブジェクトの更新が許可される。バッ
クアップは完了し、物理エレメントは更新中止から解除されてよい。
【0130】 最後に、ステップ126で、仮想回線が閉じられてもよい。論理オブジェクトを抽象ブロック・セットへ変換 上で記述されるように、論理オブジェクトのデータ・ブロックをストレージ・
エレメントへ渡す少なくとも2つの異なる方法がある。1つの論理オブジェクト
として順番にブロックを転送する方法(ホスト・コンピュータ間のネットワーク
を通して行われるような)と、純粋に物理的にコピーする方法(データ間の論理
的な関係を保存しなくてよい)である。これらの可能性の各々は長所と損失を持
つ。例えば、順番に論理オブジェクトの各データ・ブロックをコピーすることは
、データ・ブロックの関係を保存する。その反面、順番にブロックをコピーする
ことは、ストレージ・エレメントが連続してデータ・ブロックを取り出すか、さ
もなければ、書き込むためにコピー処理の一部として、データ・ブロックをソー
トすることになるので、遅延という結果になるかもしれない。他方、物理エレメ
ントを純粋にコピーすることは、未使用の物理エレメントがコピーされるので、
不必要に遅くなることがある。さらに、コピーされるデータ・ブロック間の論理
的な関係が失われるかもしれない。
【0131】 もっと完全に下で記述されるように、代案は抽象ブロック・セット構造を使用
することである。この種の構造は上で記述されるようなストレージ・ネットワー
ク・アーキテクチャにおいて有用なだけでなく、より大きな適用の可能性がある
。例えば、抽象ブロック・セット概念は、論理オブジェクトが1つのストレージ
・エレメントから別のストレージ・エレメントにコピーされる、すべてのシステ
ム中で使用されるかもしれない。さらにテープ・ドライブのような第2次ストレ
ージ装置にデータをバックアップし復元するために使用される時、抽象ブロック
・セットは特に有利に使用されることができる。
【0132】 抽象ブロック・セットは、任意の順でデータ・ブロックをストレージ・保存す
ることを可能にする。抽象ブロック・セットは、それらのエレメントの順序に関
する情報を含む。
【0133】 図13は、抽象ブロック・セットの一例を示す。そのアプリケーション透視図
から、論理オブジェクト130は多くのデータ・ブロック130a〜130fを
含む(図13は図解だけの目的であり、通常、論理オブジェクトは本質的にもっ
と多くのデータ・ブロックを含んでいるかもしれない)。論理オブジェクト13
0中のラベルA〜Fによって示されるように、そのデータ・ブロックは論理的な
関係あるいは順序を持つ。
【0134】 図2Cを参照して上で概要が記述されたように、論理オブジェクトは物理メモ
リ131に格納される。各列は、1つのトラックと見なされてもよく(これは制
限されるものではないが)、各行はそのトラック内のブロックの1つの行として
見なされてもよい。図2Cおよび13の中で示されるように、論理データ・ブロ
ックは物理メモリ131の全体にわたって散在してもよい。
【0135】 抽象ブロック・セット132は、データ・ブロック130a〜130fから構
築されるだろう。抽象ブロック・セット132では、データ・ブロックが、論理
オブジェクトに現われるのと同じ順序で必ずしも格納されない。この例では、そ
れらはランダムか疑似ランダムの順である。(実際問題として、データ・ブロッ
クの順序は、データ・ブロックが物理ストレージ131に格納される方法を反映
するかもしれない。例えば、データ・ブロックAおよびBが1つのトラック上に
格納される場合、それらは、その同じトラックに現われる順に抽象ブロック・セ
ット132に恐らく読み取られ書き込まれるだろう。図13に示される抽象ブロ
ック・セット132は、図解のためだけのものである。) 論理データ・ブロックが抽象ブロック・セット132の中で順序通りになって
いないので、データ・ブロック132a〜132fだけを与えられた論理オブジ
ェクトを再構成することは不可能であるかもしれない。
【0136】 従って、抽象ブロック・セット132はメタデータ133を含む。メタデータ
は論理データ・ブロックが論理オブジェクト130に現われるように、論理デー
タ・ブロックの順序を再構成するためのメカニズムを提供する、すべての記録情
報である。
【0137】 図13の例では、メタデータ133が、物理エレメント・ロケーションの付い
た論理ブロック・エレメントの順番(LBELのラベルの付いた列)を含む。し
たがって、論理ブロック・エレメント1は、物理メモリ131の中のその論理デ
ータ・ブロックのアドレス(物理エレメント・アドレス)に対応するメタデータ
を持つ。133に示されたメタデータを使用して、格納された抽象ブロック・セ
ット132の中に格納されたデータ・ブロック132a〜132fの各々は、対
応する物理アドレスを備えたラベルを含む必要があるだろう。したがって、例え
ば、論理オブジェクト130の一番目の論理データ・ブロック130aのロケー
ションを見つけるために、メタデータ133を調べれば、一番目の抽象ブロック
・セット(メタデータ133の第1列に示されるように)が物理アドレスADD
R−Aを持つことが判るだろう。その後、適切なブロックが見つかるまで、デー
タ・ブロック132a〜132fの物理アドレス(データ・ブロック132a〜
f内に現われる物理アドレス)を調べることによって、抽象ブロック・セット1
32の中にこのデータ・ブロックを見つけることができるだろう。
【0138】 もちろん、メタデータのために使用されることのできる、さまざまな他のフォ
ーマットがある。一例として、物理アドレス以外のラベルが使用されることがあ
るだろう。別のフォーマットとして、メタデータ133は、抽象ブロック・セッ
ト132の中での論理ブロックエレメントの順番を単に記述することもできるだ
ろう。この場合、メタデータ133の第1行の第2列は、一番目の論理データ・
ブロック(Aに対応する)が抽象ブロック・セット132の中では6番目のブロ
ックとして格納されていることを指し示すことができるだろう。
【0139】 これらの代案の各々については、メタデータ133の第1列は要求されない。
第2列のエレメントの順序が、論理オブジェクト130内でのそれらのロケーシ
ョンに対応する。つまり第1論理ブロック・エレメントのためのアドレスが、テ
ーブルの第一列に現われ、第2の論理データ・ブロックのアドレスが第2列の中
に第2エントリとして現われる。
【0140】 メタデータ134は、論理ブロック132と結び付くメタデータを格納する別
の方法を示す。メタデータのこのテーブルでは、第1列が抽象ブロック・セット
に現れるデータ・ブロックの順序に相当する(上記のように、行が現われる順番
がこの情報を意味するので不必要。第1行は抽象ブロック・セット中の第1ブロ
ックである)。第2列は、論理オブジェクト130内のデータ・ブロックの位置
を示す。したがって、メタデータ134の第1行の第1エントリは、抽象ブロッ
ク・セット132のデータ・ブロック132aに相当する。これは論理オブジェ
クト130の第2データ・ブロック130bである。従って、第2列は、このデ
ータ・ブロック132aが論理オブジェクト130の第2データ・ブロックであ
ることを示す「2」である。メタデータ134の最後の列は、物理メモリ131
中の当データ・ブロックの物理アドレスを提供する。
【0141】 134に示されたメタデータを使用するなら、抽象ブロック・セット132で
格納されるデータ・ブロックに付随させてデータ・ブロックの物理アドレス(あ
るいは他のタグ)を格納する必要はないだろう。
【0142】 上記のように、メタデータ134を使用するなら、当データ・ブロックの物理
メモリ131内の物理アドレスを格納することは厳密には必要ない。しかしなが
ら、これはメタデータ134の内に含めるべき有用な情報であるだろう。多くの
場合、復元は、情報がそこからバックアップされたのと同じメモリ・ロケーショ
ンになされるだろう。この場合、その情報が利用できなかったので、物理メモリ
131内のそれらのアドレスに復元することがより容易であるだろう。そうでな
ければ、復元されるデータ・ブロックにとってどれが適切なアドレスであるかを
、再び決定するために、論理から物理へのマッピング・ステップが必要とされる
かもしれない。
【0143】 メタデータの他のフォーマットが使用されてもよい。例えば、メタデータは、
個々のブロックに対してよりも、むしろ広がり(一続きのブロック)に対して追
跡されてもよい。
【0144】 図14は、上で記述されるような抽象ブロック・セットを作成するために、論
理オブジェクトをコピーする方法の1つの実施例を示す。ステップ140で、論
理オブジェクトが識別される。上で記述されるように、論理オブジェクトはデー
タベース、データベースのセグメント、ファイル、あるいはファイル・システム
のような任意の論理エンティティでありうる。
【0145】 ステップ141で、論理オブジェクトの論理ブロック・エレメント、あるいは
論理データ・ブロックが識別される。上で概ね記述されたように、このステップ
が先行してもよい。
【0146】 ステップ142で、論理ブロック・エレメントが物理バックアップ・セグメン
トにマッピングされる。物理バックアップ・セグメントは、論理データ・ブロッ
クを格納する物理エレメントに相当するかもしれない。抽象ブロック・セットが
テーブル133で示された形式のメタデータを含むことである場合、マッピング
・ステップ142は、メタデータがいかなるフォーマットで格納されていても、
その情報を定式化するステップを含んでもよい。
【0147】 上で記述されるように、ステップ140〜142は、ストレージ管理アプリケ
ーションのクライアント・コンポーネントによって実行されてもよい。いくつか
のシステムで、これはホスト・コンピュータの資源を要求するかもしれない。
【0148】 コピー処理の残りは、ストレージ管理アプリケーションのクライアント・コン
ポーネントの大きな関与なしで進行してもよい。 ステップ144は、物理バックアップ・セグメントのすべてがコピーされたか
どうかを判定するためのものである。もしされたならば、コピー処理は、ステッ
プ145で完了する。
【0149】 物理バックアップ・セグメントのすべてがコピーされたのではないならば、用
意された次のバックアップ・セグメントがステップ146にコピーされる。上で
記述されるように、このコピーはステップ140で識別された論理オブジェクト
に現われる順序に従って実行される必要はない。
【0150】 図13のテーブル134で示されるようなメタデータが格納されている場合、
当バックアップ・セグメントが、抽象ブロック・セットを保持している媒体にコ
ピーされた後、メタデータは更新されてもよい。これはメタデータのこの形式に
対して(であって、図13の133に示された形式に対してではない)。当バッ
クアップ・セグメントが、抽象ブロック・セットを格納している媒体にコピーさ
れるまで、これは生じないかもしれない。なぜなら、その時まで、当物理バック
アップ・セグメントの見かけの順序が知られていないからである。
【0151】 図15は、上で記述された第1次ストレージ・ノードのようなメモリ・システ
ムに抽象ブロック・セットを復元するための方法の1つの実施例を示す。 ステップ150で、抽象ブロック・セット用のメタデータが取り出される。こ
れは、図13の134で示されたメタデータのような抽象ブロック・セット用の
マップの形をしていてもよいし、あるいは図13のテーブル133のような、抽
象ブロック・セットに格納された個々のデータ・ブロックと結び付けられた一式
のラベルであってもよい。
【0152】 ステップ151で、論理オブジェクトを受け取るためのターゲットとなるスト
レージ装置に、メモリが割り当てられる。論理オブジェクトを受け取るために要
求されるメモリの量およびコンフィギュレーションは、抽象ブロック・セット用
のメタデータから決定されることができる。したがって、メタデータは要求され
るストレージの特性を判定するための十分な情報を含むだろう。例えば、抽象ブ
ロック・セットが固定サイズのブロックの使用を指し示す場合、論理オブジェク
トを格納するために要求されるブロック(固定サイズ)の総数は、エントリ数、
およびメタデータのテーブル数によって決定されることができるが、あるいは場
合によれば、抽象ブロック・セット用のメタデータの一部として別個に格納され
るかもしれない。
【0153】 ステップ152で、ダミーのメタデータが、論理オブジェクトが復元されるた
めに、新しく割り付けられた物理メモリのために作成される。その結果は図13
の133に示されたような新しいテーブルであってもよい。
【0154】 ステップ153で、再マッピング・テーブルが作成される。再マッピング・テ
ーブルは、抽象ブロック・セットのデータ・ブロックがデータの源であることと
、物理メモリ中に割り付けられたデータ・ブロックとの関連を明示する。再マッ
ピングテーブルの例は、図16を参照して記述される。表の形式で示されるが、
データは他の形式やフォーマットで格納されることができる。
【0155】 ステップ154で、物理バックアップ・セグメントのすべてが復元されたかど
うかが判定される。すべてが復元されたならば、復元ステップ155は完了する
【0156】 そうでなければ、ステップ156で、次の物理バックアップ・セグメントが取
り出される。ステップ157で、論理オブジェクトを受け取るためのロケーショ
ン、および新しく割り付けられるメモリが決定される。これは、ステップ153
で作成された再マッピング・テーブルを調べることにより、なされることができ
る。さらに、ステップ156でなされたセグメントの取り出しは、特定の順であ
る必要は全くない。データ・ブロックがランダムな順序で提供される場合でさえ
、再マッピングテーブルは、すべての論理オブジェクトの復元を可能にする。
【0157】 ステップ158で、物理バックアップ・セグメントからのデータが適切なロケ
ーションに復元される。その後、データ・ブロックがすべて適切に復元されるま
で、ステップ154〜158が継続する。
【0158】 図16は、再マッピングテーブルの生成の例を示す。もちろん、メタデータが
抽象ブロック・セットに対して、どのように定式化されて格納されるかによって
、再マッピング・テーブルを生成する上での多くの変化が可能である。
【0159】 図16では、メタデータ160が、復元のための情報源の役目を果たす抽象ブ
ロック・セットに供給される。このテーブルは、図13のメタデータ133に相
当する さらに図16は、復元された論理オブジェクトの復元された論理ブロックを受
け取る、割り付けられたメモリのためのダミーのメタデータ161を示す。この
実施例では、そのフォーマットが、異なるアドレス(潜在的に完全に異なるスト
レージ・エレメント上の)が提供されること以外は、メタデータ160のフォー
マットと同じである。したがってメタデータ161の第1行について、第1論理
データ・ブロックが、ADDR−AAに明示された物理ロケーションに格納され
るべきである。
【0160】 これらの2つのテーブルを単純に融合(マージ)することによって、再マッピ
ングテーブル162ができる。再マッピングテーブル162は、抽象ブロック・
セットのデータから物理ロケーションを特定し、そしてその論理データ・ブロッ
クの行き先を特定する。
【0161】 もちろん、他のフォーマットなら、結果として他のテーブルになるかもしれな
い。例えば、再マッピング・テーブル162の中でいかなる物理アドレスも明示
しないことは可能だろう。再マッピング・テーブルは、そこから復元される抽象
ブロック・セット中の連続するロケーションを、受信ストレージ・エレメント上
の物理アドレスか連続するロケーションへ、単にマッピングすることができるだ
ろう。
【0162】 他の実施例では、メタデータ再マッピング・テーブルにおける各エントリが、
そこからそしてそこへ復元される物理メモリにおける範囲に対応してもよい。物理バックアップ・セグメントの細分度 図13〜16に関しての説明では、バックアップ、コピー、そして復元がデー
タ・ブロック・レベルで実行されるものとして仮定された。したがって、物理バ
ックアップ・セグメントは、データ・ブロックのサイズと大きさで一致していた
。これらは論理オブジェクトの一部であるデータ・ブロックであり、これらのデ
ータ・ブロックだけが、バックアップのためにコピーされ、そして復元された。
【0163】 しかしながら、物理バックアップ・セグメントの細分度が、データ・ブロック
の細分度に一致している必要はない。例えば、1つのトラックが多くの物理デー
タ・ブロックを格納してもよい。いくつかの実例では、1つのトラック内のデー
タ・ブロックのすべてが、必ず同じ論理オブジェクトの一部だとは限らない。し
たがって、4つのデータ・ブロックを格納する1つのトラックにおいて、それら
のデータ・ブロックの2つだけが、論理オブジェクトの一部であって、他の2つ
のデータ・ブロックは使用されていないか、異なる論理オブジェクトの一部であ
るかもしれない。しかしながら、論理オブジェクト中のデータのバックアップは
、物理データ・ブロック・レベルではなく、トラック・レベルで実行されてもよ
い。その結果、論理オブジェクトの一部ではない、いくつかのデータ・ブロック
を含む抽象ブロック・セットができるだろう。
【0164】 したがって、前の例において、物理バックアップ・セグメントのサイズは、ト
ラックのサイズと一致する。論理オブジェクトのデータを格納する、実際の物理
データ・ブロックはもっと小さく、例えば、1つのトラックの物理バックアップ
・セグメント当たり、4つのデータ・ブロックである。
【0165】 図17は、物理データ・ブロックのサイズより大きい物理セグメント・サイズ
(ここではトラック)の概念を示す。図17の例では、論理オブジェクト170
が、トラックを持つ物理装置上に格納されている。各トラックは3つまでのデー
タ・ブロックを保持する(この例では)。
【0166】 アプリケーション・レベルで、論理オブジェクト170は一個の連続したファ
イルとして見なされている。このファイルは、論理オブジェクト170内の垂直
のバーとして図17に示される多くの論理データ・ブロックに分割されてもよい
【0167】 ファイルシステム・レベルでは、ファイルシステム・イメージ171が170
の論理データ・ブロックの各々の中に、そのデータを保持する。ファイルシステ
ム・イメージ171の中で示されるように、ファイルシステム・レベルでの論理
データ・ブロックの順序は、論理オブジェクト170内でのそれらの見かけの順
序に相当しなくてもよい。上で記述されるように、マッピング処理はファイル・
システム・イメージ171内でのロケーションを充当するために、論理データ・
ブロックをマッピングする。
【0168】 ファイルシステム・イメージ171は、ハイパー・ボリューム・レベルl72
a〜172bの論理ボリュームにマッピングされてもよい。 その後、論理ボリューム172a〜bは、ハイパー・ボリューム173nおよ
び173oで物理ストレージ装置上に格納される。図17に示されるように、ハ
イパー・ボリュームは物理的に隣接していなくてもよい。(もちろん、上で記述
されるように、物理ストレージ装置に論理オブジェクト170の論理データ・ブ
ロックをマッピングするための他の技術が可能であり、そしてそれは本発明の範
囲内にある。) 一番目のハイパー・ボリューム173nは、7つのトラック173a〜173
gを横断してデータを格納する。これらのトラックは、メモリの隣接するセグメ
ントであってもよいが、その必要はない。
【0169】 この例において、トラック173b全体は、論理オブジェクト170の一部で
ある物理データ・ブロックを含んでいる(1つのトラック当たりに、3つのデー
タ・ブロックだけが格納されるという仮定が与えられている)。しかしながら、
トラック173dは、論理オブジェクト170の一部である1つのデータ・ブロ
ックだけを含んでおり、トラック173dの中の他のデータ・ブロックは、未使
用であるか、異なる論理オブジェクトに属するデータを保持しているかのいずれ
かである。さらに、ハイパー・ボリューム173n内のトラックのいくつか、例
えば、トラック173a、173c、および173fは、論理オブジェクト17
0からのいかなるデータも保持していない。ハイパー・ボリュームl73oは、
同様に、論理オブジェクトからのデータを含むいくつかのトラックと、含まない
いくつかのトラックを保持している。
【0170】 物理バックアップ・セグメントの細分度が、この例におけるトラック・サイズ
に選択されるなら、バックアップ処理に関わる物理セグメントは、トラック17
3b、173d、173e、173g、173i、および173kを含むだろう
。これらのトラックは、論理オブジェクトがバックアップされる場合にコピーさ
れる物理バックアップ・セグメント・セット(ここでは、一個の「トラックセッ
ト」)を構築する。図17の例では、物理バックアップ・セグメントの細分度が
トラックによるので、これはトラック・セットと呼ばれてもよい。
【0171】 したがって、論理オブジェクト170のバックアップのためのトラック・セッ
トは、トラック174a〜174gを含み、次いでそれは、論理オブジェクト1
70からのデータ・ブロックを含む物理トラック173a〜173mに相当する
だろう。
【0172】 データ・ブロック・サイズと異なる物理バックアップ・セグメント・サイズを
使用するバックアップ処理は、一般的に図14を参照して記述されたように、進
行することになる。しかしながら、ステップ142での物理バックアップ・セグ
メントの識別は、論理ブロック・エレメントの識別を含むだけでなく、例えば図
17のトラック・セット174a〜174gのような物理バックアップ・セグメ
ント・セットを決定するために、その識別された論理ブロック・エレメントと、
それらの物理データ・ブロック・ロケーションとを使用することも含む。
【0173】 さらに、ステップ146での使用可能なバックアップ・セグメントのコピーと
は、より大きな細分度のセグメント(例えば、トラック上の単なる特定の物理デ
ータ・ブロックではなく、一個のトラック全体)のコピーを伴うだろう。図14
でのように、物理バックアップ・セグメント(例えば、トラック)は、任意の順
でコピーされてもよい。
【0174】 図17に戻って、抽象ブロック・セット・サイン(署名)・トラック175が
格納されてもよい。このサイン・トラックは、抽象ブロック・セット用のメタデ
ータを含む。この実施例では、抽象ブロック・セット用のメタデータの明細項目
が、抽象ブロック・セット内の特定データ・ブロックの明細や、論理オブジェク
ト170内でのそれらのロケーションを含んでもよい。
【0175】 図18は、物理データ・ブロックのサイズより大きな物理細分度を持つ抽象ブ
ロック・セット用のメタデータの一例を示す。この例では、各データ・ブロック
のロケーションが明示される。第1列は、例えば、1番、2番、3番、4番デー
タ・ブロックといった論理オブジェクト内のデータ・ブロックの1つの明細項目
である。
【0176】 メタデータ180の第2列は、その論理オブジェクトの物理アドレスを明示す
る。この例において、その物理アドレスは、物理バックアップ・セグメント内の
どこに当データ・ブロックが位置しているかの明細を含む。例えば、この情報は
物理バックアップ・セグメント内のオフセットとして含まれていてもよい。した
がってdd:cccc:h:オフセットというアドレスは、物理バックアップ・
セグメントの明細(dd:cccc:h)を含み、この例において、それはその
物理バックアップ・セグメント(トラック)内のトラックとロケーションおよび
オフセットを特定する。例えば、メタデータ180の第1行は論理オブジェクト
中の一番目の論理データ・ブロックに相当する。さらにそれは、特定された物理
バックアップ・セグメント・アドレスの一番目のデータ・ブロックとして、例え
ば、ただ0という物理バックアップ・セグメント(ここではトラック)の始めか
らのオフセットとしてたまたま現われる。メタデータ180の第2行は同じアド
レスを特定するが、1のオフセットを持つ。それは、論理オブジェクトの一番目
の論理データ・ブロックに対応するデータ・ブロックのすぐ後に続くその物理バ
ックアップ・セグメント(トラック)に現われるデータ・ブロックである。
【0177】 この例では、最初の2つの論理データ・ブロック(メタデータ180の最初の
2行)を含むトラックが、トラック内に追加の場所を持つが、そのトラックのそ
れらの追加のデータ・ブロックは論理オブジェクトの一部でないということが仮
定されてもよい。従って、トラックのその部分に対応する論理データ・ブロック
を特定する、メタデータ・テーブル180の中にはいかなるエントリもない。(
代案となる実施例では、もちろん、トラックのその部分がこの抽象ブロック・セ
ットにおいて未使用であることを示すエントリがなされることができるだろう。
) 図13を参照して上で記述されたように、メタデータを格納するための他の多
くの形式およびフォーマットが適用されてもよい。
【0178】 データ・ブロック・サイズより大きな物理バックアップ・セグメント細分度を
持つ抽象ブロック・セットからの復元(あるいはコピー)は、図15を参照して
概ね上で記述されたように、進行してもよい。しかしながら、ステップ157で
、バックアップ・セグメント内の論理データ・ブロックのロケーションが、その
バックアップ・セグメントのいくらかの部分が省略されてもよいかどうかを判定
することを含めて、識別される。ステップ158で、論理オブジェクトの中で現
実に使用されるデータ・ブロックだけが復元される。
【0179】 データ・ブロックのサイズより大きな物理バックアップ細分度の選択は、物理
バックアップ・セグメント・サイズがデータ・ブロックと同じである場合より多
くのメモリの転送を要求することになり、いくつかの未使用のデータ・ブロック
が、コピーかバックアップ処理の一部として含まれる。
【0180】 しかしながら、物理細分度のサイズがより大きいと、ある利点をまねくことが
ある。例えば、コピー処理でのオーバーヘッドがより小さく押さえられるかもし
れない。それはコピーに対して、より少数のセグメントを特定するだけでよいか
らである。さらに、他の資源が保護されるかもしれない。例えば、コピーされる
べき物理バックアップ・セグメントを識別する情報の格納に、需要の高いメモリ
が使用される場合、そのようなメモリがより少ししか要求されなくて済む。コピ
ーまたはバックアップ処理の間に、論理オブジェクトの物理データ・ブロックの
更新が中止される場合、データ・ブロック・レベルではなく物理バックアップ・
セグメント・レベルで更新を中止することができ、オーバーヘッドを再度減らす
ことになる。いくつかのシステムでは、このことが、更新回避の複雑さを軽減さ
せることができる。データ・ブロック・サイズと異なる物理バックアップ細分度
を使用する本発明のいくつかの実施例は、それが実行される状況およびシステム
に依存して、これらの利点のうちのいくつかあるいはすべてが達成されるかもし
れない。これらの利点のいずれも、添付される特許請求の範囲によって定義され
る本発明の範囲を制限するものではない。同時コピーあるいはスナップショット・ファシリティ 図12を参照して上で記述されたように、本発明の1つ以上の側面を具体化す
るあるシステムが、時間の特定された一点での論理オブジェクトのコピーまたは
バックアップを可能にするだろう。これを行うために、論理オブジェクトへの更
新が、コピーかバックアップ処理の間に中止される必要がある。バックアップ処
理が完全になるまでオフ・ラインで論理オブジェクトを使用するアプリケーショ
ンを採用することを含めて、このことを実行するための多くの方法がある。本発
明のある実施例があれやこれやの技術を使用する一方で、バックアップ中にプロ
セスを継続できることは都合がよいだろう。
【0181】 図19は、バックアップ中の論理オブジェクトの一部である物理データ・ブロ
ックへの更新を止めている間にバックアップを実行する方法の1つの実施例を示
す。
【0182】 ステップ191で、論理オブジェクト(あるいは、論理オブジェクトを使用し
ているシステム)が静止される。システムを静止する少なくとも2つの方法があ
る。一つの方法は、アプリケーションをオフ・ラインにし、論理オブジェクトを
オフ・ラインで更新することである。これは関連する論理オブジェクトへのそれ
以上の更新(あるいは読み取り)を阻止する。アプリケーションをオフ・ライン
にすることは、時間およびシステム有効性の損失をまねくことになるので、望ま
しいとは言えない。
【0183】 システムを静止させるもう一つの方法は、オン・ライン・バックアップ・モー
ドにアプリケーションを置くことである。例えば、アプリケーションがOrac
leデータベースを使用している場合、データベースへの書き込みは、物理スト
レージ・システムに実際にデータを書き込むのではなく、やり直しログに格納さ
れることができる。アプリケーションがオン・ライン・モードに戻される時、や
り直しログに格納されている論理オブジェクトへの更新が、論理オブジェクトの
その時の最新コピーに適用されることになるだろう。
【0184】 ステップ192で、論理オブジェクトからのデータを保持している物理バック
アップ・セグメントは、コピー用の印(マーク)が付けられる。これは多くの方
法で行われてもよい。例えば、システム内の可能性のある各物理バックアップ・
セグメントに、あるビットが結び付けられてもよい。対応する物理バックアップ
・セグメントがコピーされる論理オブジェクトの一部であるなら、そのビットが
「1」にセットされてもよい。もちろん、コピー中の抽象ブロック・セットの一
部である物理バックアップ・セグメントを識別する方法が、使用されてもよい。
単なる一例として、物理バックアップ・セグメントのリストが管理されてもよい
だろう。
【0185】 図20は、物理バックアップ・セグメントに結び付けられるビットを持つシス
テムの例を示す。図20の例では、物理バックアップ・セグメントのサイズは、
縦列28bのような物理メモリ28を持つ1つのトラックである。論理オブジェ
クト27が物理メモリ28を横断して格納される。一連のビット29は、物理メ
モリ28のトラックと結び付けられる。論理オブジェクトのトラック・セットの
一部であるこれらのトラック(物理バックアップ・セグメント)に対して、1が
セットされる。このようにして、ビット・セット29の2番目のビットは、トラ
ック28bが論理オブジェクト27のトラック・セットに含まれているという事
実を反映して、1にセットされている。もし物理バックアップ・セグメント細分
度が、1つのデータ・ブロックであったならば、ビットは、オバーヘッドが高く
なるが、各データ・ブロックに結び付けられたであろう。
【0186】 図19に戻って、その論理オブジェクトを使用中のアプリケーションが、アク
ティブな状態に戻されてもよい。例えばこれが、アプリケーションをオフ・ライ
ン・モードからオンライン・モードへ戻すステップを引き起こしてもよい。アプ
リケーションがオンライン・バックアップ・モードに置かれたなら、やり直しロ
グの内のいかなるエレメントも、論理オブジェクトの更新に適用されてよい。
【0187】 しかしながら、バックアップされるセグメントのこのセットに含まれていた物
理バックアップ・セグメントに書き込もうとする試みは、瞬間的に止まるだろう
。そのセグメントは、書き込みがなされる前に、例えば下に記述される例証とな
る実施例に従って、コピーされるかバックアップされる。
【0188】 ステップ194で、抽象ブロック・セット内に設定されているバックアップ・
セグメントに含まれる物理バックアップ・セグメント上にヒットがあるかどうか
が判定される。もしあるならば、そのセグメントは、順番を変えて、更新がなさ
れる前にコピーがなされる。セグメントがコピーされた後、そのセグメントのマ
ークが外されてよく、それ以降の更新がそのセグメントに対して許可されてよい
。その後、抽象ブロック・セットに含まれる物理バックアップ・セグメントへの
さらなる(書き込みの試み)ヒットがある場合、ステップ194での処理が継続
するだろう。
【0189】 セグメントのコピーは、ターゲット(受入れ第1次ストレージ・エレメント、
あるいはテープのような受入れ第2次ストレージ・エレメント)に対して直接な
されてもよいし、抽象ブロック・セットのターゲットとなる目標に対して後でコ
ピーを行うキャッシュに対して、コピーがなされてもよい。
【0190】 コピーのために留まっている論理オブジェクトの物理バックアップ・セグメン
ト上に未処理のヒットがすべて無くなると、ステップ196での処理が継続して
もよい。このステップで、物理バックアップ・セグメントがすべてコピーされた
かどうかが判定される。すべてコピーされたなら、抽象ブロック・セットの構成
が完了し、処理はステップ197で終了してよい。
【0191】 もし、なされるべきコピーがさらに残っているなら、使用可能な次の物理バッ
クアップ・セグメントがステップ198でコピーされてよい。物理バックアップ
・セグメントが任意の順に含まれることを可能にする、抽象ブロック・セットが
使用される場合、次のセグメントの選択は、順序と無関係に、次に利用可能なセ
グメントがどれであるかに注目してよい。
【0192】 以前のように、セグメントがコピーされた後、それは印が付いていなくてもよ
い。従って、他の物理バックアップ・セグメントに関わるバックアップ処理が継
続中であっても、セグメントがコピーされた後は、そのセグメントに生じるいか
なる書き込みも実行されてよい。
【0193】 物理バックアップ・セグメント細分度が物理データ・ブロックサイズより大き
い状況で、論理オブジェクトへの書き込みと一致しない、ある書き込みが、物理
バックアップ・セグメントに生じるかもしれない。例えば、バックアップ中であ
る論理オブジェクトの中にある1つの物理データ・ブロックと、他の論理オブジ
ェクトに属する他の3つの物理データ・ブロックとを持つ、物理バックアップ・
セグメントを考えてみる。たとえバックアップ中である論理オブジェクトが更新
されていなくても、異なる論理オブジェクトに対応する物理データ・ブロックの
うちの1つへの書き込みが、物理データ・セグメントのバックアップを誘因する
ことになるだろう。
【0194】 そのような環境を取り扱うための1つの代案は、その書き込みが論理オブジェ
クトの一部である物理データ・ブロックへのものであるかどうかを判定するため
に、印のある物理バックアップ・セグメントへの各書き込みを検査することであ
る。この方法が本発明のいくつかの実施例の中で使用されてもよいけれども、一
方でそれは物理バックアップ・セグメントへの書き込み時に、重いオーバーヘッ
ドというペナルティを負うことになる。
【0195】 その代案となる実施例では、ある書き込みが、コピー中である論理オブジェク
ト内の物理データ・ブロックに対して生じようが、あるいは異なる論理オブジェ
クト内の物理データ・ブロックに対して生じようが、その物理バックアップ・セ
グメントが同じように扱われる。この代案にかかるオーバーヘッドは、特に、物
理バックアップ・セグメントが任意の順で転送されることを可能にする抽象ブロ
ック・セット内に、コピーされる物理バックアップ・セグメントが格納されてい
るシステム中で、その代案が実施されるならば、大きくないかもしれない。
【0196】 ほとんどの場合、物理バックアップ・セグメント細分度に基づいた物理メモリ
の部分への更新をマークし止めること、たとえば、物理バックアップ・セグメン
トのサイズとしてディスク上のトラックを使用し、さらに格納された論理オブジ
ェクトへの時期尚早の更新をマークし止めることが最も容易だろう。他の代案が
実装されてもよい。単なる一例として、ディスク・システムでは、物理バックア
ップ・セグメントとしてトラックを使用することができるだろうが、更新の予防
はデータ・ブロック・レベル(トラック・レベルではなく)でマークされ追跡さ
れるだろう。差分バックアップ 図5および図6に似たシステムは、従来通り、ユーザによって指定される論理構
成あるいはエレメント(論理オブジェクト)全体をバックアップする。例えば、
ユーザは、バックアップされるパーティションを指定してもよい。これが実行さ
れると、全パーティションがバックアップ・ストレージ・システムにコピーされ
る。同様に、ユーザはバックアップされるデータベースかファイルを指定しても
よい。この場合、全データベースかファイルがバックアップ・ストレージ・シス
テムにコピーされる。
【0197】 これには、究極的には不必要である重大な時間が必要となる。例えば、非常に
大きなファイルが、一時点でバックアップされるかもしれない。それから、別の
バックアップが後で実行されるかもしれない。ファイルのほとんどが、その2回
のバックアップ間で変更されていなかったかもしれない。したがって、完全なフ
ァイルの新たなバックアップを生成することは、不経済であるかもしれない。
【0198】 図21は、差分バックアップを作成するための本発明の1つの実施例を示す。
差分バックアップは、コンピュータ・システムの操作中に変更されたものに基づ
いて、論理オブジェクトの部分だけをバックアップすることである。
【0199】 ステップ470で、レベル0(ゼロ)バックアップが実行される。レベル0バ
ックアップは、論理構成の完全なバックアップである。例えば、ファイルのレベ
ル0バックアップは、ファイル全体をバックアップすることである。(仮想)パ
ーティションのレベル0バックアップは、このパーティション全体をバックアッ
プすることである。したがって、レベル0バックアップは、それ以上の情報のな
い論理オブジェクトを復元するために使用されることができる。
【0200】 ステップ472で、システムは、最後のレベル0バックアップからのデータの
変化を追跡する。例えば、図2Bを参照して、1つでも変更されていればそのデ
ータを含むセグメントが追跡されてもよい。セグメント1、3、および5が変更
されたデータを含んでいる場合、対応するビットあるいは他のレコードが、これ
らのセグメントが変わった(かつ、他のものではない)ことを指し示すようにさ
せることができるだろう。下でもっと完全に記述されるが、セグメントは、論理
レベルの情報に基づくのではなく、データがどう物理的に格納されているか(例
えば、ストレージ・ブロックによって)によって、定義されてもよいし、また抽
象ブロック・セットの物理バックアップ・セグメントの細分度、あるいは更新を
防ぐためにマークされる物理セグメントの細分度に対応してもよい(しかし必要
はない)。
【0201】 ステップ474で、変更されたデータ・セグメントはバックアップされる。フ
ァイル全体ではなく、変更されたデータ・セグメントだけをバックアップするこ
とによって、バックアップの生成が非常に迅速に実行されるかもしれない。ただ
変更されたデータ・セグメントのレコードだけを使用して、ファイルを格納し復
元する方法の1つの実施例が下に説明される。このバックアップは「差分バック
アップ」と呼ばれてもよい、なぜなら、例えば、変更されなかったいくつかのデ
ータ・セグメントはバックアップされないといったように、論理データ・ブロッ
クのすべてより少ない部分がバックアップされるからである。
【0202】 ステップ476で、新しいレベル0バックアップが生成されるべきかどうかが
判定される。生成されるべきでないならば、システムは、ステップ472で、最
後のレベル0バックアップからの変更をトラッキングし続ける。したがってこの
実施例の中で、ステップ474で生成される差分バックアップは、最後の差分バ
ックアップからではなく、最後のレベル0バックアップから変更されたデータを
常時記録する。代案となる実施例は、最後の差分バックアップからの変更をトラ
ッキング(追跡)することである。
【0203】 ステップ478で、新しいレベル0バックアップが生成されようとする場合、
変更されたデータのトラッキングがリセットされる。例えば、これは、下で記述
されるように、データ・セグメントと結び付いた「変更ビット」のリセットによ
り実行されてもよい。これが実行される時、変更ビットがリセットされ(そして
レベル0バックアップが実行されている)ている間に、データが変更されないこ
とを保証するために、システムはオフ・ラインか、バックアップ・モードに置か
れてもよい。新しいレベル0バックアップが実行される時、将来の変更が、初期
のものからではなく、そのレベル0バックアップからトラッキングされるだろう
【0204】 別の実施例では、変更されたデータのトラッキングのリセットが、変更された
データ・セグメントをバックアップするステップ474の後に実行されてもよい
。この場合、それぞれの差分バックアップは、最後の差分バックアップからの変
更だけをトラッキングする。これが終わると、下で説明されるように、データを
復元するために、興味のある時に実行された単に1つの差分バックアップではな
く、多数の差分バックアップ・ファイルが検査される必要があるかもしれない。
【0205】 上で記述されるように、完全かあるいはレベル0のバックアップが実行されて
もよい。例えば、任意の順で格納された物理バックアップ・セグメントを使用し
て、抽象ブロック・セットが、バックアップのレベルとしてのメタデータと一緒
に、作成されてもよい。
【0206】 ステップ472が、論理レベルか、物理レベルのどちらかで実行されてよい。
論理レベルでは、クライアント50が、変更されたデータを含んでいるセグメン
トをトラッキングしてもよい。物理レベルでは、ストレージ・システム54が、
データのどのセグメントが変更されたかをトラッキングしてもよい。いずれの場
合も、データのセグメントは、論理レベルで決定され、論理構成と結び付いたデ
ータのユニット(例えば、パーティション内のファイル)ではなく、ストレージ
・システム上に格納されるデータの物理セグメントに対応するかもしれない。
【0207】 一度に物理ストレージ装置から書き込みあるいは読み出しされる物理セグメン
トは、512バイトのブロックであってもよい。別の実施例では、物理セグメン
トの細分度が、使用される物理ストレージ装置(特に物理ストレージ装置がディ
スクドライブである場合に)の1トラックに格納されるデータ量であってもよい
。この大きさは、適用されているオペレーティング・システムにデータを格納す
るための特定のフォーマットに依存するかもしれない。例えば、固定ブロック・
アーキテクチャ環境では、トラックは32キロバイト(64SCSIブロック)
かもしれない。count−key−data(CKD)システムを実装してい
るIBMメインフレーム上では、セグメント・サイズは1つのCKDトラックの
サイズであるかもしれない。上記のように、変更が記録される物理セグメントの
細分度は、物理バックアップ・セグメントのサイズ、あるいはコピーかバックア
ップ処理の間に更新が止められる細分度に一致してもよいが、必要ではない。し
かしながら、多くの場合、例えばシステム全体の細分度としてディスク上の1物
理トラックを使用するように、これらの機能の各々に対して同じ細分度を使用す
ることが最も効率的だろう。
【0208】 ある実施例では、変更されるセグメントが、物理ストレージ・レベルで追跡さ
れてもよい。したがって、物理セグメントが物理ストレージ装置に書き込まれる
場合は常に、セグメントが変更されたという事実が記録されることができる。こ
れは、各物理セグメントと結び付けられた単一ビットを用いて、実行されてもよ
い。システムが初期化される場合、ビットはすべて0(例えば)にセットされる
。物理セグメントが変更される(あるいは書き込まれる)場合、結び付いたビッ
トがセットされてもよい。
【0209】 したがって、図2Bを再び参照して、データの変更が、実際の物理ストレージ
装置204〜206のレベルで追跡されてもよい。データがデータ・セグメント
のうちの1つで変更される場合、ビットが、そのセグメントが変更されたトラッ
クにセットされてもよい(あるいはいくつかの他のメカニズムが使用されてもよ
い)。データがアプリケーション・レベルでアプリケーション・ファイルの1番
目のセグメント内、例えば203aで変更される場合、実際の物理ストレージ装
置内の208のデータが修正されるだろう。この書き込みが実行された場合、デ
ータ・セグメント208に結び付けられたビット(あるいは他のメカニズム)が
セットされるだろう。
【0210】 図2は、物理ストレージ・セグメントに結び付けられたビットを含むシステム
の一例を示す。例えば、物理ストレージ装置201aは、6つの物理セグメント
を含む。結び付けられた物理ビット・マスク412は、変更された各物理セグメ
ントに対して1つのビットをセットする。この例では、セグメント411aおよ
び411bが変更された。従って、物理ビット・マスク412の結び付けられた
ビット412aと412bが、1にセットされた。問い合わせに対して、物理ビ
ット・マスクが読み取られ、クライアント(例えば、図5に示されたシステムの
クライアント50)に出力されてもよい。
【0211】 実際の物理ストレージ装置204〜206は、アプリケーション・レベルで何
がなされようとしているかについての任意の考えを持ってもよい、しかし必要は
ない。この実施例で、物理ストレージ装置は、適用されているデータのセグメン
ト(例えば、208)が修正されていることにただ気づいていればよい。
【0212】 (ここに記述された実施例の多くが、データの変化を表わすために、例えば物
理ビット・マスクや論理ビット・マスクといったビット・マスクを使用している
けれども、他のメカニズム(リストは単に一例である)が使用されてもよい。) 上で記述された実施例では、データ・セグメントへの変更が物理ストレージ・
レベルで追跡される(代案となる実施例では、その変更が、他のいかなるレベル
で追跡されてもよいだろう。例えば、図1を参照しながら示され説明された、ア
プリケーション・レベル、ファイルシステム・レベル、論理ボリューム、あるい
は論理ボリューム・マネージャ・レベル)。
【0213】 「差分」バックアップを実行する1つの実施例では、物理レベルでの変更に関
するデータが、論理(例えば、アプリケーション・ファイル)レベルでの変更に
対応するよう変換される。その後、差分バックアップは論理レベルでデータを格
納する。
【0214】 図22は、物理レベルで変更を追跡し、それを論理レベルに変換する1つの方
法を示す。この実施例では、ビット・マスク412、413および414が、そ
れぞれ実際のストレージ装置204〜206と結び付けられる。
【0215】 データがデータ・セグメントに書き込まれる時、対応するビットおよび対応す
る物理ビット・マスクが0から1へ変更される。従って、いかなる時でも、物理
ビット・マスクは、最後のバックアップ以来、変更されたデータのすべてを示す
。上で記述されるように、実際の物理ストレージ装置204〜206は、アプリ
ケーション・レベルでこれが論理オブジェクトにどう対応しているのか知らなく
てもよい。本当に、実際の物理ストレージ装置は、どのデータ・セグメントが互
いに結び付いているかを判断する方法を持たないかもしれない。図22に示され
るように、この実施例では、データ・セグメント411a〜411dが変更され
た。従って、ビット・マスク412、413および414中の対応するビット4
12a、412b、412c、412dが1にセットされた。(実際の物理スト
レージ装置中の他のデータ・セグメントがさらに変更されたかもしれないが、図
22では示されていない) 論理ビット・マスク410が構築されてもよく、それはアプリケーション・レ
ベル・ファイル内のどのデータ・セグメントが修正されたかを示す。したがって
、論理ビット・マスク410は、対応するデータ・セグメント411a〜411
dが変更されたことを示すエントリ410a〜410dを含んでよい。(代案と
なる実施例では、たとえセグメント・サイズが、ブロックかトラック・サイズの
ような物理ストレージ量と一致していても、セグメントの変更が論理レベルで追
跡されてよい。) 論理ビット・マスク410は、マッピング202を使用して構築されることが
できる。特に、マッピング202は、アプリケーション・レベル・オブジェクト
を実際の物理ストレージ中のデータ・ブロックのグループに変換してもよい(ア
プリケーション・レベルのファイルを物理ストレージに格納するために、まず第
1にこのことがなされる必要があるため)。したがって、マッピング202が、
アプリケーション・レベルのデータを物理ストレージ装置にマッピングするため
に、同じメカニズムを用いて実行されてもよい(例えば、図1のレベル10、1
2、14および16を通して)。そうして、実際の物理ストレージ上のこれらの
データ・セグメントと結び付けられた物理ビット・マスクが検査されてもよい。
論理ビット・マスクは、そのデータ・セグメントが変更されたことを実際の物理
ストレージ装置が単に指し示す、論理ビット・マスクの各エントリを1にセット
することにより構築されることができる。
【0216】 図23は、抽象ブロック・セットの差分バックアップを実行する方法の1つの
実施例を示す。この実施例では、実際の物理ストレージ装置中の影響を受けたメ
モリが、ステップ231で、まず静止される。メモリを静止させることによって
、アプリケーション・レベルのファイル内のいかなる追加データも修正されない
ということが保証される。静止は、以前に一般的に説明したように、例えばアプ
リケーションをオフラインにし、又はアプリケーションをオンライン・バックア
ップ・モードにすることで実行される。
【0217】 ステップ232において、物理記憶装置内のどの物理データ・セグメントが対
象であるかを決定するために、論理対物理マッピングが行われる。ステップ23
2は、以前に一般的に説明したように実行される。即ち、アプリケーション、フ
ァイル・システム及び論理ボリューム・マネージャ(実在するものと、もし有れ
ば付加的なマッピング・レベル)を用いて、アプリケーション・ファイル中の全
データ・セグメントを物理記憶上へマップする。上述のように、これはオブジェ
クトを実物理記憶までマップする。他の実施例においては、付加的なレベルのマ
ッピングが、データを記憶している実物理記憶に達する前に生ずる。例えば、上
述のSymmetrix製品では、3つのボリューム記憶装置において実施され
得る。このSymmetrix製品は、データベースをこの3つのボリューム・
セット上で変更しなければならない。一方、Symmetrix内にデータが実
際に物理的に記憶される方法は、アプリケーション又はオペレーティング・シス
テム・レベルに与えられた3つのボリューム・セットに対応しない。従って、デ
ータ・セグメント及びビット・マスクに対する付加的なレベルのマッピングが、
記憶装置内で実行される。
【0218】 データへの変更の追跡の粒状性は、データ・ブロック又は物理バックアップ・
セグメントのサイズのような異なる粒状性のサイズに基づいている。例えば、物
理データ・ブロック・サイズが全トラックより小さいときは、変更データは物理
トラックに対応して追跡され得る。
【0219】 ステップ233において、最終時間マーク以後に変更された物理データ・セグ
メントが識別される。これは、物理記憶装置に関連する物理ビット・マスクを検
査することによってなされる。適切な論理オブジェクト内の物理データ・ブロッ
クを含むアプリケーション内の物理バックアップ・セグメントに対応する、物理
ビット・マスク内の変更されたデータをマークしている任意のエントリーは、変
更されたかも知れないデータに対応している。ステップ232において、図22
の論理ビット・マスク410のような論理ビット・マスクが構成される。
【0220】 ステップ234において、差分抽象ブロック・セットが生成される。このステ
ップは変更されたデータを含む物理バックアップ・セグメントのみのコピーを含
む。1つの実施例では、上述の抽象ブロック・セットに関して、この抽象ブロッ
ク・セットは任意の順序で物理バックアップ・セグメントを記録していてよい。
【0221】 従って、ステップ234において、差分ちゅしょうブロック・セットに対する
メタ・データも記憶される。このメタ・データは、バックアップ又はコピー中の
論理オブジェクト内の差分抽象ブロック・セット内に記憶された物理データ・ブ
ロックの適正な位置を識別するために十分な情報を記録する。
【0222】 最後にステップ236において、アプリケーションは活動モードに戻る。即ち
、システムは実物理記憶装置上の物理データ・ブロックの更新を続けることを許
される。
【0223】 上述のように、システムが活動モードに戻る前に、実物理記憶装置上のバック
アップされたデータ・セグメントに対応するビットが、ゼロにリセットされる。
これは、最後の差分バックアップに関して差分バックアップが行われる場合にの
み実行される。さもなければ、ビットは真の(又は後述のマージ)レベル・ゼロ
・バックアップの構成後にのみリセットされる。
【0224】 図24は、図23の方法による差分抽象ブロック・セットの生成の例を示す。
論理オブジェクト240は、5つの物理データ・ブロックを含む。(簡単のため
に、物理バックアップ・セグメントと物理データ・ブロック・サイズは図24と
同じとする。しかしながら、上述のように、物理バックアップ・セグメント・サ
イズは、物理データ・ブロックより大きくてもよい。) 時間的に以前において、抽象ブロック・セット242が形成されている。上述
のように、抽象ブロック・セットは、論理オブジェクト240の論理データ・ブ
ロックのそれぞれを記憶しているが、順序は任意である。抽象ブロック・セット
242は、論理オブジェクト内のデータ・ブロックの位置を特定するメタ・デー
タを含み得る。
【0225】 抽象ブロック・セット242が形成された後、論理オブジェクト240内のデ
ータに追加の変更があった。この例においては、論理ビット・マスク241が、
これらの変更を反映している。特に、論理ビット・マスク241は、論理オブジ
ェクト240内の2番目と最後のデータ・ブロックが変更されたことを示してい
る。
【0226】 差分抽象ブロック・セット243は、変更されたデータ・ブロック(2番目と
5番目)を記憶している。上述のように、これらは任意の順序で記憶されている
。差分抽象ブロック・セットは、その差分抽象ブロック・セットに対するメタ・
データを記憶している。図24の例では、このメタ・データは、完全な抽象ブロ
ック・セット242に対するメタ・データと同じ一般的な形式である。しかしな
がら、このメタ・データは、最近のバックアップ以後どの論理ブロックが変更さ
れたか(再度、この例では2番目と5番目)を特定する拡張カラムを含む。
【0227】 完全な抽象ブロック・セット・バックアップと差分抽象ブロック・セットから
論理オブジェクトを復元するためには、これら2つが組合せ即ちマージされる。
実際、1つの抽象ブロック・セットと1つ以上のサブ抽象ブロック・セットが任
意の時刻にオフラインでマージされ得る。これは、サブの抽象ブロック・セット
が形成された時点の論理オブジェクトの状態を反映した、合成された完全な抽象
ブロック・セットの形成を許す。
【0228】 図25は、図24の例を用いたマージ・プロセスの例を示す。図示のように、
全抽象ブロック・セット242の元のデータ・ブロック242a−bは、差分抽
象ブロック・セット243において更新されている。従って、マージされた抽象
ブロック・セット253において、これらのデータ・ブロックは更新された版で
置き換えられている。
【0229】 図26は、このマージ・プロセスの方法の1実施例を示す。図26の実施例に
おいては、1つ以上の差分抽象ブロック・セットがあり得る。1つ以上の差分抽
象フロック・セットは、例えば(最後の完全バックアップ以後の全変更を反映す
る差分抽象ブロック・セットが生成されるのでなく)最近の差分抽象ブロック・
セットの生成以後の変更を反映した差分抽象ブロック・セットが生成された場合
に存在し得る。もちろん、この方法は単一の差分抽象ブロック・セットと共に動
作することもできる。
【0230】 ステップ260において、最近の完全又は差分抽象ブロック・セットが選択さ
れる。もちろん、この選択は、目標時間より以前に記録された論理オブジェクト
からなされる(目標時間より以後の差分抽象ブロック・セットは、復元すべきも
のより以後のデータを反映している)。ステップ261において、マージされた
抽象ブロック・セット内に無い全ての論理データ・ブロックが、マージされた抽
象ブロック・セットに追加される。
【0231】 図25を参照すると、ステップ260で選択された最初の抽象ブロック・セッ
トは、差分抽象ブロック・セット243である。マージされた抽象ブロック・セ
ット内にはまだブロックが無いので、差分抽象ブロック・セット243内の2つ
のデータ・ブロックがマージされた抽象ブロック・セット253に追加される。
これは最初の2つのデータ・ブロック253a−bに対応する。
【0232】 ステップ262において、差分及び完全抽象ブロック・セットの全てが検査さ
れたか決定される。まだなら、プロセスはステップ260へ続く。 図25の例に戻ると、選択される次の抽象ブロック・セットは、完全抽象ブロ
ック・セット242である。ステップ261において、マージされたLBO内に
既に有ったこれらの論理データ・ブロックが追加される。これは、242a及び
242bを除くデータ・ブロックの各々に対応する。
【0233】 この時点で、再度抽象ブロック・セットの全てが検査され、プロセスはステッ
プ263へ続く。ステップ263において、マージされた抽象ブロック・セット
に対するメタ・データが生成される。図25及び図26の例を用いれば、メタ・
データは同じ形式であり得る。即ち論理ブロック要素の物理アドレスは変更され
ない。従って、メタ・データは同一である。メタ・データを生成する他の実施例
では、メタ・データ・テーブルが更新されその形式に対応される。
【0234】 マージされた抽象ブロック・セットは、元のレベル・ゼロ抽象ブロック・セッ
トと同様にコピー及び復元に用いられ得る。1次から2次記憶ノードへの転送、単一の2次記憶ノードの例 上述のように、図11A及び図11Bに関して、記憶システムの1側面は、デ
ータの1次記憶要素又はノードから2次記憶要素又はノードへの転送を含む。
【0235】 図27は、データをテープに記憶するために、1次記憶ノードから2次記憶ノ
ードへ転送するのに特に有利な機構の例を示す。図27の実施例及び構成要素の
例は、(これらの発明に限定する意図では無いが)上述の他の発明の文脈におい
ても、それらの発明と独立に実装されたシステムに対して有用であるのと同様に
有用である。
【0236】 図27は、1次記憶ノード270を含む。これは、例えば、上述のSymme
trix記憶システムであってよい。このようなシステムにおいては、ホスト・
アダプタ270aがホストとの通信用に提供されている。ディスク・アダプタが
ディスクとのインターフェースように提供され得る。リモート・アダプタ270
cが、SCSIリンク、ESCONリンク、ファイバー・チャンネル、交換ネッ
トワーク又は他の通信チャンネルのいずれかを介する、リモート装置との通信を
扱う。加えて、キャッシュ270bが送受信データのキャッシュ用に提供され得
る。
【0237】 図27はまた、2次記憶ノードも示す。この実施例においては、2次記憶ノー
ドは複数のデータ移動要素271a、271b、271e及び271fを有する
。この実施例において、データ移動要素は、フロント・エンド及びバック・エン
ドの対に構成されている。例えば、データ・ムーバー271aは、フロント・エ
ンド・データ・ムーバーであり、主として1次記憶ノードからのデータを受け取
る責任がある。フロント・エンド・データ・ムーバー271aは、バック・エン
ド・データ・ムーバー271eと対になる。バック・エンド・データ・ムーバー
は、データを2次記憶ノードからバックアップ媒体に移動する責任がある。
【0238】 図27に示すように、データの並列転送を提供するために、1つ以上のフロン
ト・エンド・データ・ムーバーとバック・エンド・データ・ムーバーの対がある
。この例では271a−271eと271b−271fの2対が示されている。
【0239】 図27の例における実際のバックアップ媒体はテープ・ライブラリ272であ
る(他の実施例では他のバックアップ媒体を用い得る)。テープ・ライブラリは
、複数のテープ・ドライブ272a−dを含み、それらの各々はテープからデー
タを読み書きできる(また、例えばSCSIアダプタのような適当な通信アダプ
タを含み得る)。テープ・ライブラリ272は、テープライブラリ272gから
テープを選択しそれらのテープをドライバ272a−272dへ挿入し得るロボ
ット271fを含むこともできる。ロボット・インターフェース272cが、選
択プロセスを制御する。
【0240】 2次記憶ノード271へ戻って、この2次記憶ノードは、バックアップ中にフ
ロント・エンド・データ・ムーバー(例えば271a)から受け取ったデータを
、バック・エンド・データ・ムーバー(例えば271e)によってテープに書き
込む前にバッファしたり、逆に復元中にデータを(バック・エンド・データ・ム
ーバー271eによって)内部記憶装置271cに置き(フロント・エンド・デ
ータ・ムーバー271aによって)1次記憶ノードへ送る事によってバッファす
るための、内部記憶装置271cを含み得る。
【0241】 データ・ムーバー271a、271b、271e、271fは、バックアップ
中にはデータを1次記憶ノードからテープ・ライブラリへ転送し、復元中にはそ
の逆に転送するようにデータ・ムーバーに実行させるソフトウエアが走っている
インテル・ベースのパーソナル・コンピュータでよい。
【0242】 上述のように、データ・ムーバーは、例えばフロント・エンド・データ・ムー
バー271aとバック・エンド・データ・ムーバー271eのように対に構成さ
れている。データ・ムーバーの各対は1つ以上の仮想回線又はストリームを定義
するために用い得る。
【0243】 フロント・エンド・データ・ムーバー(例えば271a)は、種々の接続の任
意のものを用いて1次記憶ノード270へ接続される。例えば、図27の例では
、2本のESCONケーブルが用いて、各フロント・エンド・データ・ムーバー
と単一の1次記憶ノード(例えばSymmetrix記憶装置)のリモート・ア
ダプタのポートが接続されている。
【0244】 図27の例では、バック・エンド・データ・ムーバー271e、271fは、
SCSIケーブルを用いてテープ・ライブラリ装置272に接続されている。こ
の例においては、各SCSI接続は、テープ・ライブラリ272の単一の読み書
きドライブ272a−272dに延びている。もちろんSCSI接続は、デイジ
ーチェインにでき、1つ以上のドライブを各バック・エンド・データ・ムーバー
のポートへ接続することもできる。他のリンクや交換ネットワークを含む他の接
続を用いることもできる。
【0245】 内部記憶メモリー271cそれ自体も、Symmetrixのような反復キャ
ッシュ・ディスク・アレイであってよい。従って、Symmetrix製品は、
フロント・エンドからバック・エンドへのデータの移動のための内部キャッシュ
・メモリーとして含まれ得る。内部メモリー装置271cは、内部記憶装置27
1cのローカル制御用のラップトップ・パーソナル・コンピュータのようなサー
ビス・プロセッサを含む。内部記憶装置はまた、データ・ムーバー271a、2
71b、271e、271fや制御ステーション271g上で走るアプリケーシ
ョン・プログラムやオペレーティング・システムも記憶している。
【0246】 制御ステーション271gは、SCO UNIXのような多くのオペレーティ
ング・システムの内の任意のものが走るインテル・マシンである。制御ステーシ
ョン271gはまた、そのローカル操作用のキーボードと画面を含む。
【0247】 制御ステーション271gは、データ・ムーバー271a、271b、271
e、271fの動作の制御を行う。制御ステーション271gは、この機能を実
行する制御ソフトウエア271bを含む。コントローラ271bは、システム構
成及びシステム動作の監視にも用いられる。制御ステーション271gは、デー
タベース271iを含む(これは、代替として内部メモリー271cに記憶され
得る)。データベース271iは、実行中の全バックアップ・ストリーム又はセ
ッションに関する情報、テープ・ライブラリ装置内のテープの内容及びバックア
ップ・プロセスとバックアップ媒体を管理するための他の制御情報を記憶する。
【0248】 制御ステーション271gは、テープ・ライブラリ装置272のロボット27
2c、272fを操縦し、制御するためのインターフェース271jも含む。 上述のように、1次記憶ノード270は、ホスト接続(例えば、ホスト・アダ
プタ270aに接続されたホスト・コンピュータ)と2次記憶ノードとの間のイ
ンターフェースとして用いられる。これらの実施例において、そして記憶管理ア
プリケーションが主としてホスト・コンピュータにある場合には、1次記憶ノー
ド270は、ホスト・コンピュータから2次記憶ノード271への命令の経路と
して用いられる。そのような命令は、テープのマウント及びマウント解除、テー
プ・ヘッダ及びトレーラーの読み書きを指示する命令や他の命令を含む。
【0249】 1次記憶ノード270は、適当な命令を2次記憶ノード271へ単にわたす。
その代わりに1次記憶ノード270は、形式検査のような、これらの命令に基づ
くいくらかの機能を実行することもできる。
【0250】 上述のように、バックアップ復元プロセスは、2次記憶ノード271を介して
1次記憶ノード270とテープ・ライブラリ272の間に仮想チャンネルを確立
することによって実行できる。上述のように、これは1次記憶ノード270と2
次記憶ノード271の間にネットワークを介する接続を形成することを含む。こ
れは、テープ・ドライブ272a及び適切なテープ272gとの接続の確立も含
む。
【0251】 図28は、仮想チャンネルを確立し維持するノード271のような2次記憶ノ
ードに対する状態遷移図の例を示す。状態280において、バックアップ・スト
リーム・セッション(又は仮想チャンネル)が記憶管理アプリケーション(例え
ばホスト・コンピュータ上の)によって要求される。仮想チャンネルの確立には
、適当なフロント・エンド及びバック・エンド・データ・ムーバー対、例えばフ
ロント・エンド・データ・ムーバー271aとバック・エンド・データ・ムーバ
ー271eの選択を含む。
【0252】 記憶管理アプリケーションによって実行される機能には、テープのオープンが
ある。結果として、2次記憶ノード271はテープの仮想チャンネル開始状態2
81になる。この遷移は、当分野で知られたものと同様の技術を用いて、適当な
テープをマウントする事を含む。テープ状態281のはじめに、テープ管理プロ
セスの一部として、テープ・ヘッダ及びトレーラーが読み書きされる。
【0253】 テープ上に情報を記録する時には、2次記憶ノード271(又は2次記憶ノー
ド内の少なくとも適切なデータ・ムーバー)は、仮想チャンネル書込み状態28
2に入る。この状態において、テープへの1つ以上の抽象ブロック・セット又は
抽象ブロック・セットの部分の書込みのような、バックアップの記録部分が実行
される。
【0254】 テープの最後に至ると、2次記憶ノード271の適切なデータ・ムーバーは、
仮想チャンネル・テープ終端状態284へ入る。この状態において、適切なカタ
ログ情報が読み出され、適切なテープ・トレーラーが書き込まれる。テープの終
端(又はデータの最後)に至ると、適切な仮想チャンネルはそのテープのクロー
ズを必要とし、データ・ムーバーと2次記憶ノードを、そのチャンネルが形成さ
れた最初の状態280に戻す。
【0255】 状態282から書込み中にエラーに遭遇すると、仮想チャンネルはエラー状態
283に入り得る。テープはクローズされ(状態280へ戻り)、エラー記録が
作成され、システム・オペレータに知らされる。
【0256】 上述のように、記憶管理アプリケーションは2次記憶ノード271の状態を変
更する適当な命令を発行する責任がある。記憶管理アプリケーションは、ホスト
・コンピュータ、1次記憶ノード、別のネットワーク記憶制御装置又は2次ノー
ド271に存在し得る。
【0257】 図29は、テープから情報を復元するための2次記憶ノード271の状態遷移
図を示す。状態遷移図は、仮想チャンネルのオープン要求を受け取った状態29
1から始まる。記憶管理アプリケーションは、例えばバックアップ・チャンネル
・ストリームに対してテープ・オープンを要求することによって、テープのオー
プンを扱う。これは結果として、テープの仮想チャンネル開始状態292へ入る
。以前と同様に、これはテープ・ヘッダ及びトレーラーの読み出しと、抽象ブロ
ック・セットを用いるシステムに対して、抽象ブロック・セット・メタ・データ
の読み出しを含み得る。
【0258】 実際のデータの読み出しは、テープ読み出し命令を用いて2次記憶ノード27
1を仮想チャンネル読み出し状態293に入れることによって制御され得る。 実際のデータの読み出しは、2次記憶ノード271を仮想チャンネル読み出し
状態293に入れる、テープ読み出し命令を用いることによって制御できる。テ
ープン終わり(又はデータの終わり)又はログアウトにおいて、2次ノードは仮
想チャンネル・テープ終端状態292に戻る。テープはそこでクローズされ、2
次記憶ノード271は仮想チャンネル・オープン状態へ戻る。
【0259】 読み出し中にエラーに遭遇すると、ノード271は図28を参照する上述のエ
ラー状態と同様にエラー状態294に入る。エラーが生ずると、テープはクロー
ズされ、エラーログが記録され、システム・オペレータに知らされる。
【0260】 バックアップ及び復元の両方において、テープのカタログ化及び識別は、記憶
システムに記憶されたデータの形式化のための他の機構に対して行われるのと同
様に、記憶管理アプリケーションによって扱われる。2次記憶ノード271の制
御ステーション271gが、制御ステーション・データベース271iを用いて
、適当なテープの識別、マウント及びマウント解除を補助する。
【0261】 図28及び図29のバックアップ及び復元状態遷移図は、システム(1次記憶
ノード及び/又は2次記憶ノード)を非同期転送状態に置く実施例を構成する。
特に、記憶ドメインのノードは、多くの記憶管理アプリケーション・プロセス(
及びソフトウエア)がホスト・コンピュータ上で実行されていても、ホスト・コ
ンピュータやホスト・ドメイン要素のどれからの制御からも独立にデータが転送
される状態に入る。
【0262】 本発明のこの事実の種々の実施例は、コピー、バックアップ及び復元の独立の
制御及び転送の利点を許す。本発明のいくつかの実施例においては、これは特定
のホスト・プラットフォームの従属性を緩和し、ホスト資源を節約する。本発明
のこの側面のいくつかの実施例は、拡張性の増大をもたらし、ホスト構成に対す
るより少ない依存関係でメモリーの増設を許す。データ転送の1実施例 図30は、2次記憶ノード又は他の1次記憶ノードへデータを転送する機能を
有する1次記憶ノードのアーキテクチャの1実施例を示す。この実施例は(他の
ものと同様に)上記の1つ以上の発明を実現するために用いることが出来る。
【0263】 図30は1次記憶ノードを示す。1次記憶ノード300は、図7を参照して一
般的に説明したように、リモート・アダプタ301を含む。1次記憶ノード30
0は、これも図7を参照して一般的に説明したように構成されているディスク・
アダプタ305も含む。
【0264】 データは1次記憶ノード300内にある複数のディスクにわたって記憶されて
おり、複数のディスクの内の1つがディスク306として図30に示されている
【0265】 ディスク306は、図20を参照して説明したような保護ビットを含むことが
出来る。これらの保護ビットは、コピーされるべきトラック即ちそれらがコピー
される前に更新されるべきでないトラックを示すために用いる事が出来る。保護
ビット307は、1実施例においては、ディスク装置306に対するシリンダー
、ヘッダに記憶できる。ディスク装置306は、図22を参照して一般的に説明
した物理ビット・マスク(図示せず)も含むことが出来る。どのトラックが保護
されているかをマークし、記録するための他の機構を用いることも出来る。
【0266】 図30の実施例において、ディスク・アダプタ305は、記憶管理アプリケー
ションから、どの物理バックアップ・エレメントが(ここではトラック308a
−eのどれが)バックアップ・プロセスの部分であるかに関する命令を受け取る
。ディスク・アダプタはそこで、バックアップが起動される時に保護ビットを書
き込む。
【0267】 バックアップ・プロセスの部分として示された物理バックアップ・セグメント
(例えばトラック308a、308b及び308e)は、そこで1次記憶ノード
300のキャッシュ302内のサイド・ファイル303へコピーされる。こうし
て、サイド・ファイル303は他の記憶ノードへコピーするために指示されたト
ラック308a、308b及び308eを受け取る。従って、サイド・ファイル
はこれらのトラックのコピー303a−cを含む。
【0268】 付加的に、ディスク・アダプタ305は、要求キューへ、サイド・ファイル3
03にコピーされた物理バックアップ・セグメントを他のノードへ転送する要求
を入れる。こうして、要求304a−cが、サイド・ファイル303内の物理バ
ックアップ・セグメントに対応して、要求キュー304に入れられる。
【0269】 リモート・アダプタ301は、キューから要求を取り出し、適切なトラックの
コピーを受け取り記憶ノード、例えば2次記憶ノードへ転送する。 サイド・ファイル303に保持されている適切な記憶バックアップ・セグメン
トは、実行中のバックアップ・プロセスの1つ以上のコピーの部分であり得る。
例えば、1つ以上の抽象ブロック・セットが、リモート・アダプタ301に接続
された1つ以上の仮想チャンネルを介してバックアップされているプロセス内に
あり得る。この場合、抽象ブロック・セットに対する適切なメタ・データが、特
定の抽象ブロック・セット及び、コピー又はバックアップ・プロセス用の仮想チ
ャンネルの識別に用い得る。
【0270】 代替実施例においては、受け取り記憶ノードは、それが属する抽象ブロック・
セットに基づいて物理バックアップ・セグメントを分類する。例えば、上述のフ
ロント・エンド・データ・ムーバーは、トラックに対応しそのトラックに対する
物理アドレスを含む物理バックアップ・セグメントを受け取ることが出来る。フ
ロント・エンド・データ・ムーバーは、(バックアップ中の適切な論理オブジェ
クトに対する物理アドレスの全てを識別している)記憶管理アプリケーションに
よって定式化された抽象ブロック・セットのメタ・データを知っていても良い。
これは、フロント・エンド・データ・ムーバーが、その物理アドレスに基づいて
物理バックアップ・セグメントを分類することを許す。
【0271】 もちろん、種々の代替構成及び方法がサイド・ファイルを介する転送に利用で
きる。単なる1例として、物理バックアップ・セグメントは別々のサイド・ファ
イル内に、コピー又はバックアップ中の各抽象ブロック・セット(又は他の構造
)に対してソートされてもよい。加えて、サイド・ファイルを転送用にデータの
セグメントを蓄積するために用いる事が出来る。例えば、サイド・ファイルは、
リモート・アダプタ301を介して2次又は他の記憶ノードへ転送する前に、少
なくとも10メガビットのデータを含むように生成する事が出来る。
【0272】 図31は、図30に示された構造を用いる方法の1実施例を示す。ステップ3
10において、保護ビット(図30の307)がコピー中の物理バックアップ・
セグメントに対してマークされる。上述のように、これは1つ以上の論理バック
アップ・オブジェクトに対するビットをマークする事を含む。
【0273】 加えて、適切な論理オブジェクトに対するメタ・データが受け取り記憶ノード
、例えば2次記憶ノードへ転送される。こうして、もしメタ・データが図13の
133に示された形式なら、このメタ・データはバックアップ・プロセスを特定
し進める。このメタ・データは、図13の134に示す形式に再定式化するよう
に、論理バックアップ・オブジェクトに合体するためにバックアップ中に再定式
化されても良い(されなくても良い)。いずれにしても、このメタ・データは、
コピー又はバックアップ中の論理オブジェクトに関する適切な物理セグメントを
蓄積し組織化するために、ディスク・アダプタ305、リモート・アダプタ30
1及び/又は受け取り記憶ノードによって利用される。
【0274】 ステップ311において、保護されたセグメントをキャッシュ内のサイド・フ
ァイルへ転送する。これが終了すると、物理バックアップ・セグメントの転送の
要求が、供給キュー内に記録される。上述のように、これは1次記憶ノードのデ
ィスク・アダプタによって実行される。この時点で、ディスク・アダプタ305
は、ディスク装置306の保護ビット307の適切な保護ビットをリセットして
データの更なる更新を許しても良い。
【0275】 サイド・ファイル内にあるセグメントは、ここでリモート・アダプタ301に
よって、2次記憶ノードに転送するように、他の記憶ノードに転送出来る。これ
は要求キュー304から転送要求を読み出すことによってなされる。
【0276】 転送の後(例えば転送が確認された後)、サイド・ファイル中の要求キュー内
のセグメントに対する適切なエントリーが削除される。もちろんこれは、単に記
憶領域を未使用に割り当てる事で行っても良い。
【0277】 図32は、2次記憶ノード320を介するバックアップ・プロセスに於けるデ
ータ・フローの1例を示す。この実施例においては、データはまずフロント・エ
ンド処理装置322によって受け取られる。このフロント・エンド処理装置は図
27を参照して一般的に説明したものである。フロント・エンド処理装置322
は、受け取った物理バックアップ・セグメントを内部メモリー323にバックア
ップ中の適切な実体に関するファイルとして記憶する。例えば、もし抽象ブロッ
ク・セットLBO#1がバックアップ中なら、物理セグメントはその抽象ブロッ
ク・セットに関するファイル324に記憶される。1つ以上の抽象ブロック・セ
ットが仮想チャンネルを介して同時に転送中なら、フロント・エンド処理装置は
適切な物理データ・セグメントを適当するファイル、例えば324及び325に
ソートする。
【0278】 ファイルがある限界量、例えば10メガビットに達すると、フロント・エンド
処理装置322は、抽象ブロック・セットのセグメントがテープにコピーする準
備が出来た事をバック・エンド処理装置326に通知する。そこで、バック・エ
ンド・データ・ムーバー326は抽象ブロック・セットのその部分を内部メモリ
ー323からテープ・ライブラリ装置321へコピーする。
【0279】 内部メモリー322がSymmetrixのような反復キャッシュ化ディスク
・アレーの場合には、物理バックアップ・セグメントは適切なファイル324、
325からバック・エンド・データ・ムーバー326によって後入れ先出し(L
IFO)順にコピーされる。これはデータが内部メモリー323内のディスクか
らでなく、内部メモリー323内のキャッシュからコピーされる機会を増やすた
めに行われる。
【0280】 上述のように、1つ以上の抽象ブロック・セットが仮想チャンネルを介して同
時にバックアップされ得る。加えて、抽象ブロック・セットのセグメントは、固
定サイズの部分として書き込まれる。例えば、もし蓄積ファイル324、325
が物理バックアップ・セグメントを限界量(例えば10メガ)まで蓄積したなら
、抽象ブロック・セットは、テープのインターリーブされたセグメントに記憶さ
れる。制御装置及び制御ステーション(271h及び271g)はこの情報のデ
ータベースを維持する事が出来る。加えて、適切な情報がテープの適切なヘッダ
とトレーラーに書き込まれ得る。
【0281】 図33は、本発明の1実施例による装置によって書き込まれたバックアップ情
報を含むテープの1例を示す。 図33において、テープは先頭部分330と終端部分332を有する。先頭部
分330は、通常のテープ・ヘッダ330a、及び場合によって2次記憶ノード
のための特定のテープ・ヘッダ330bとを含む。テープ・ヘッダ330a、3
30bの後に、テープは、ファイル・マークで分離された、抽象ブロック・セッ
トのインターリーブされたセグメント(メタ・データを含む)338を含む。例
えば、インターリーブされたセグメントは、物理バックアップ・セグメントの一
連のコピー331bを含むレコード331を含む。セグメント・ヘッダ331a
とセグメント・トレーラー331cが、テープの他の部分から抽象ブロック・セ
ットのこの部分を識別し分離している。
【0282】 データ・ブロック331を含む抽象ブロック・セットの部分とのインターリー
ブは、これ及び他の抽象ブロック・セットに対する他の抽象ブロック・セットの
物理バックアップ・セグメント・レコードであり得る。加えて、レコード333
は、抽象ブロック・セット・メタ・データを含むように書き込まれ得る。このメ
タ・データ333aは、上述の形式の内の任意の形式でよく、他の形式でも良い
。セグメント・ヘッダ情報331a及び333aの1部として、例えば各抽象ブ
ロック・セットに一意に割り当てられた抽象ブロック・セット識別子を用いて、
適切な抽象ブロック・セットが識別できる。これは適切なテープ330、332
上のインターリーブされたレコードの識別と調整を可能にする。
【0283】 テープ332の終端には、テープ・ディレクトリ334が書き込まれ得る。同
様に、サーバー・テープ・トレーラー情報335も書き込まれ得る。テープの終
端には、テープ・カタログ336及びテープの終端をマークする2次記憶装置テ
ープ・トレーラー337が書き込まれ得る。
【0284】 テープのデータベースを用いて、適切な情報がバックアップ・テープから取り
出し得る。抽象ブロック・セットは、任意の順序で書き込まれたデータ・ブロッ
クを含むので、復元プロセスは、復元中の抽象ブロック・セットの部分を、任意
の順序で効果的に取り出し、書き込む事が出来る。これは、記憶管理アプリケー
ションが、抽象ブロック・セットの部分を含む各テープを識別し、それらのテー
プを1回だけマウントする(そして適切な部分を全て読み出す)ことを許す。も
ちろん、マウントされるべき最初のテープは、復元される抽象ブロック・セット
に対するメタ・データ・レコードを含むテープであろう。このため、メタ・デー
タをそのプロセスの最初に読み出す事を簡単にするために、メタ・データを、そ
のメタ・データを保持するテープ上に書き込まれた抽象ブロック・セットの全て
のセグメントの一端に記録する事が望ましいであろう。これは、データ・ブロッ
クが取り出される順序に独立に復元プロセスを進めるための、上述の適正なマッ
ピング・テーブルを形成する事を許す。
【0285】 上述の理由のために、抽象ブロック・セット内のデータ・ブロックを読みだし
、復元する事は任意の順序で出来る。その結果、2次記憶要素の構成部分として
テープが用いられる時、データの記憶及び取り出しの両方に対してテープを任意
の順序でマウントし、マウント解除する事が出来る。その結果、上述の実施例に
示したように、2次記憶要素の中に1つ以上のテープ・ドライブが有る場合、デ
ータ・ブロックはバックアップ中に書き込み、復元中に読みだし、複数の奴隷部
を用いて並行して用いることが出来る。
【0286】 図14を参照して、データの並列書き込みは以下のように実行される。この例
においては、メタ・データの更新(ステップ147)は、完全に先行して行われ
る。この例においては、メタ・データは1次記憶要素内で読み出されているデー
タの物理アドレスであり得る。従って、全てのメタ・データは、実際のバックア
ップ・プロセスに先だって決定できる。この場合には、ステップ144、146
及び147は、並行して実行できる。即ち、物理バックアップ・セグメントが全
て識別されメタ・データが決定された(即ちステップ142)後で、データ・ブ
ロックは全て並列に読み出され、複数のテープに並列に書き込まれる。1つの実
施例においては、最後のテープ(ランダムに選択されたであろう)は、そのテー
プの上の抽象ブロック・セットの1部であるデータ・ブロックの全ての最後にメ
タ・データを記憶できる。
【0287】 並列復元操作の1例を図15を参照して説明する。上述のように、ステップ1
50−153に於て、論理オブジェクトの復元用のマッピングが決定される。こ
の復元がテープからのものである場合、抽象ブロック・セットのメタ・データは
先行して取り出され得る。上述のように、これがなされた後、抽象ブロック・セ
ットは任意の順序で復元できる。従って、抽象ブロック・セットも、復元用の複
数のテープ・ドライブを用いて、並列に復元できる。この場合には、ステップ1
54−158は、復元中の抽象ブロック・セットのデータ・ブロックを復元する
ための複数のテープ(又は他の媒体)を用いて並列に実行できる。
【0288】 仮想チャンネルを用いる実施例においては、別々の仮想チャンネルがデータの
転送用の並行経路のそれぞれとして確立されている。例えば、別々の仮想チャン
ネルは、各テープ・ドライブ用に確立される。他の実施例では、単一の仮想チャ
ンネルが確立されているが、その仮想チャンネルに入るチャンネル・データに複
数のテープ・ドライブを許す。これは、テープ・ドライブからデータを読み出す
速度は、2次記憶ノードから1次記憶ノードへデータを転送する能力より遅いの
で、特に効果的である。テープ・ドライブの並列読み出しを許す事は、復元の速
度をデータ転送の能力及びそのデータを受け取る1次記憶要素の能力に近づける
事を許す。
【0289】 1次記憶要素と2次記憶要素との間のバックアップ及び復元操作に関連して上
述の多くの実施例の説明をしてきたが、本願発明の多くの側面はより広い応用を
有している。単なる1例であるが、抽象ブロック・セットは、任意のデータ転送
に用い得る。他の例として、2次記憶ノードの応用は、単なるバックアップ及び
復元操作より大きなものであり得る。このような記憶ノードは、階層的な記憶管
理や仮想ディスクの操作及びその他の応用にも用いることができる。
【0290】 上述の種々の方法は、コンピュータをプログラムし、制御するために用いる、
フロッピー(登録商標)・ディスク、コンパクト・ディスク又は他の記憶装置上
のソフトウエアとして実現できる。コンピュータは、開示したプロセスのステッ
プを実行し、又は開示したブロック図と等価な構成を実現する、ワークステーシ
ョン、メインフレーム又はパーソナルコンピュータのような汎用コンピュータで
あり得る。ソフトウエアは、完全なシステム、又は現状のシステムの改良として
、システムが開示した方法を実行するように、ディスケットに含まれ得る。
【0291】 本願発明の実施例を説明したが、種々の修正や改良が当業者には自明であり、
これらは本願発明の範囲に含まれるものと解釈する。従って、上述の説明は単に
例示のためであって、本願発明の限定を意図するものではない。本願発明の範囲
は請求項の記載によってのみ規定されるものである。
【図面の簡単な説明】
【図1】 アプリケーション・レベルから物理システムの記憶へ、及びその
逆のデータ変換の例を示す図。
【図2】 図2Aは、論理ボリュームと物理記憶装置との間の関係の例を示
す図。 図2Bは、論理ファイルを物理記憶システムへマッピングする例を示す図。 図2Cは、論理オブジェクトを物理記憶装置へマッピングする他の例を示す図
【図3】 図3Aは、異なる物理記憶装置上のミラーリングの例を示す図。 図3Bは、物理記憶装置上の冗長パリティー情報の例を示す図。
【図4】 記憶装置の単一アレイ内の複数の冗長グループの例を示す図。
【図5】 バックアップ記憶システムの例を示す図。
【図6】 1次記憶システム上のデータの直接バックアップ用の機構を含む
バックアップ記憶システムの実施例を示す図。
【図7】 記憶システムの例を示す図。
【図8】 本発明の実施例による、エンタープライズ・ホスト・ドメインと
エンタープライズ記憶ドメイン又はネットワークとを有するように構成された、
コンピュータ記憶システムの例を示す図。
【図9】 本発明の実施例による、エンタープライズ・ホスト・ドメインと
エンタープライズ記憶ドメインとを含む、コンピュータ・システムの他の例を示
す図。
【図10】 論理オブジェクトをコピー又はバックアップする方法の実施例
を示す図。
【図11】 図11Aは、本発明の実施例による、ホスト・ドメイン及び記
憶ドメインを含む、コンピュータ・システムの構成要素のいくつかの例を示す図
。 図11Bは、本発明の実施例による、ホスト・ドメインと記憶ドメインに分割
された、コンピュータ・システムの構成要素の他の実施例を示す図。
【図12】 コンピュータ記憶システム内のデータをコピー又はバックアッ
プする方法の実施例を示す図。
【図13】 本発明の実施例による、論理オブジェクトを物理記憶装置上に
マッピングし、コピー又はバックアップ用の抽象ブロック・セットを形成する例
を示す図。
【図14】 抽象ブロック・セットを形成する方法の実施例を示す図。
【図15】 抽象ブロック・セットから論理オブジェクトをコピーし、又は
復元する方法の実施例を示す図。
【図16】 論理オブジェクトをメモリーの新しい領域へ復元するために、
論理オブジェクトのメタ・データの2つの形式を再マッピング・テーブルに組み
合わせる例を示す図。
【図17】 本発明の実施例による、コンピュータ・システムにわたる論理
オブジェクトの記憶と、トラック・サイズに対応する物理バックアップ・セグメ
ントを用いる抽象ブロック・セットの形成の例を示す図。
【図18】 データ・ブロックのサイズより大きな物理バックアップ・セグ
メント粒状性を有する抽象ブロック・セットのメタ・データの実施例を示す図。
【図19】 バックアップ中の論理オブジェクトに対する更新を防止しなが
ら、論理オブジェクトのバックアップをする方法の実施例を示す図。
【図20】 本発明の実施例による、バックアップ・プロセス中の論理オブ
ジェクト内の情報の更新の回避を許す、物理バックアップ・セグメントのマーカ
ーを含むシステムの例を示す図。
【図21】 差分バックアップを許す方法の実施例を示す図。
【図22】 システムの物理レベルの変更を追跡し、これらの変更を論理情
報に変換する実施例を示す図。
【図23】 本発明の実施例による、論理オブジェクト上の差分バックアッ
プ実行の例を示す図。
【図24】 本発明の実施例による、論理オブジェクトのバックアップ用の
全及び差分論理バックアップ・オブジェクトの形成の例を示す図。
【図25】 本発明の実施例による、抽象ブロック・セットと差分抽象ブロ
ック・セットを単一の全抽象ブロック・セットに組み合わせる例を示す図。
【図26】 新しい全抽象ブロック・セットを作るために、差分抽象ブロッ
ク・セットと全抽象ブロック・セットとを組み合わせる方法の実施例を示す図。
【図27】 本発明の実施例による、2次記憶ノードを用いて、1次記憶ノ
ード上のデータをバックアップするためのシステムの例を示す図。
【図28】 コピー又はバックアップのためのデータの任意の同期転送の状
態遷移の実施例を示す図。
【図29】 バックアップされた論理オブジェクトの非同期復元の状態遷移
の実施例を示す図。
【図30】 システム及び、1次記憶ノードからバックアップ情報のコピー
を送るためのシステム内でのデータフローの実施例を示す図。
【図31】 1次記憶ノードからデータを送る方法の実施例を示す図。
【図32】 バックアップ媒体への情報の書き込みの制御の為の構造とデー
タフローの実施例を示す図。
【図33】 バックアップ抽象ブロック・セットを書き込まれたテープ媒体
の例を示す図。
【手続補正書】
【提出日】平成13年3月21日(2001.3.21)
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正の内容】
【図1】
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正の内容】
【図2】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正の内容】
【図4】
【手続補正4】
【補正対象書類名】図面
【補正対象項目名】図5
【補正方法】変更
【補正の内容】
【図5】
【手続補正5】
【補正対象書類名】図面
【補正対象項目名】図6
【補正方法】変更
【補正の内容】
【図6】
【手続補正6】
【補正対象書類名】図面
【補正対象項目名】図7
【補正方法】変更
【補正の内容】
【図7】
【手続補正7】
【補正対象書類名】図面
【補正対象項目名】図8
【補正方法】変更
【補正の内容】
【図8】
【手続補正8】
【補正対象書類名】図面
【補正対象項目名】図9
【補正方法】変更
【補正の内容】
【図9】
【手続補正9】
【補正対象書類名】図面
【補正対象項目名】図10
【補正方法】変更
【補正の内容】
【図10】
【手続補正10】
【補正対象書類名】図面
【補正対象項目名】図11
【補正方法】変更
【補正の内容】
【図11】
【手続補正11】
【補正対象書類名】図面
【補正対象項目名】図12
【補正方法】変更
【補正の内容】
【図12】
【手続補正12】
【補正対象書類名】図面
【補正対象項目名】図14
【補正方法】変更
【補正の内容】
【図14】
【手続補正13】
【補正対象書類名】図面
【補正対象項目名】図15
【補正方法】変更
【補正の内容】
【図15】
【手続補正14】
【補正対象書類名】図面
【補正対象項目名】図17
【補正方法】変更
【補正の内容】
【図17】
【手続補正15】
【補正対象書類名】図面
【補正対象項目名】図19
【補正方法】変更
【補正の内容】
【図19】
【手続補正16】
【補正対象書類名】図面
【補正対象項目名】図21
【補正方法】変更
【補正の内容】
【図21】
【手続補正17】
【補正対象書類名】図面
【補正対象項目名】図22
【補正方法】変更
【補正の内容】
【図22】
【手続補正18】
【補正対象書類名】図面
【補正対象項目名】図23
【補正方法】変更
【補正の内容】
【図23】
【手続補正19】
【補正対象書類名】図面
【補正対象項目名】図24
【補正方法】変更
【補正の内容】
【図24】
【手続補正20】
【補正対象書類名】図面
【補正対象項目名】図25
【補正方法】変更
【補正の内容】
【図25】
【手続補正21】
【補正対象書類名】図面
【補正対象項目名】図26
【補正方法】変更
【補正の内容】
【図26】
【手続補正22】
【補正対象書類名】図面
【補正対象項目名】図27
【補正方法】変更
【補正の内容】
【図27】
【手続補正23】
【補正対象書類名】図面
【補正対象項目名】図30
【補正方法】変更
【補正の内容】
【図30】
【手続補正24】
【補正対象書類名】図面
【補正対象項目名】図31
【補正方法】変更
【補正の内容】
【図31】
【手続補正25】
【補正対象書類名】図面
【補正対象項目名】図32
【補正方法】変更
【補正の内容】
【図32】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ビットナー,ハイム イスラエル国43560 ラアナナ,ハグダッ ド・ハイブリ・ストリート 4 (72)発明者 ガルトズー,シャロン イスラエル国ホーローン,ケドシェイ・カ ヒブ 6 (72)発明者 イッシュ−シャロム,アリエル・ジェイ イスラエル国69207 テルアビブ,ハソボ リアン・ストリート 17 (72)発明者 ケデム,ナダブ イスラエル国69203 テルアビブ,タゴー ル・ストリート 37 (72)発明者 クリクラー,サムエル イスラエル国47402 ラマト・ハシャロン, ボアズ 6/6 (72)発明者 アーノン,ダン アメリカ合衆国マサチューセッツ州02116, ボストン,モントゴメリー・ストリート 78 Fターム(参考) 5B065 BA01 CA01 CA11 ZA02 ZA05 5B082 CA00 FA04

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 ホスト・コンピュータを含むホスト・ドメインと、 前記ホスト・ドメインに接続され、複数の1次記憶装置と、2次記憶装置と、
    前記複数の1次記憶ノード及び2次記憶装置に接続された交換ネットワークとを
    含む記憶ドメインと、 からなるコンピュータ・システム。
  2. 【請求項2】 請求項1に記載のシステムにおいて、 更に、前記2次記憶装置に直接接続される付加的な1次記憶装置を含むことを
    特徴とする、コンピュータ・システム。
  3. 【請求項3】 請求項1に記載のシステムにおいて、 前記1次記憶装置の内の少なくとも1つが、キャッシュ化ディスク・アレイで
    あることを特徴とする、コンピュータ・システム。
  4. 【請求項4】 請求項1に記載のシステムにおいて、 前記2次記憶装置が、前記ネットワーク上のデータを並列に送受信するために
    前記ネットワークに接続する複数のポートを含むことを特徴とする、コンピュー
    タ・システム。
  5. 【請求項5】 請求項4に記載のシステムにおいて、 前記2次記憶装置が、それぞれ前記ポートに接続する複数のデータ・ムーバー
    を含むことを特徴とする、コンピュータ・システム。
  6. 【請求項6】 請求項1に記載のシステムにおいて、 前記複数のコンピュータが、異種のものであることを特徴とする、コンピュー
    タ・システム。
  7. 【請求項7】 請求項1に記載のシステムにおいて、 更に、前記1次記憶装置の内の1つから前記2次記憶装置へ第1の接続を介し
    て直接第1の論理オブジェクトを転送する手段を含むことを特徴とする、コンピ
    ュータ・システム。
  8. 【請求項8】 請求項7に記載のシステムにおいて、 更に、前記1次記憶装置の内の1つから前記2次記憶装置へ第2の接続を介し
    て直接第2の論理オブジェクトを転送する手段を含むことを特徴とする、コンピ
    ュータ・システム。
  9. 【請求項9】 請求項1に記載のシステムにおいて、 更に、前記1次記憶装置の内の1つに記憶されている論理オブジェクトから抽
    象ブロック・セットを形成する手段を含むことを特徴とする、コンピュータ・シ
    ステム。
  10. 【請求項10】 請求項1に記載のシステムにおいて、 前記2次記憶装置が、テープ・ライブラリ装置を含むことを特徴とする、コン
    ピュータ・システム。
  11. 【請求項11】 異種の複数のホスト・コンピュータと、 それぞれ前記ホスト・コンピュータの内の少なくとも1つと関連する、複数の
    1次記憶装置と、 前記複数の1次記憶装置に接続され、前記ホスト・コンピュータのそれぞれか
    らバックアップ・データを受け取るように構成されている2次記憶装置と、 からなるコンピュータ・システム。
  12. 【請求項12】 請求項11に記載のシステムにおいて、 前記1次記憶装置の内の少なくとも1つが、キャッシュ化ディスク・アレイで
    あることを特徴とする、コンピュータ・システム。
  13. 【請求項13】 請求項11に記載のシステムにおいて、 更に、前記1次記憶装置の内の1つに記憶されている論理オブジェクトから抽
    象ブロック・セットを形成する手段を含むことを特徴とする、コンピュータ・シ
    ステム。
  14. 【請求項14】 請求項11に記載のシステムにおいて、 前記2次記憶装置が、データを並列に送受信するために複数のポートを含むこ
    とを特徴とする、コンピュータ・システム。
  15. 【請求項15】 請求項14に記載のシステムにおいて、 前記2次記憶装置が、それぞれ前記ポートに接続する複数のデータ・ムーバー
    を含むことを特徴とする、コンピュータ・システム。
  16. 【請求項16】 請求項11に記載のシステムにおいて、 更に、前記1次記憶装置の内の1つから前記2次記憶装置へ第1の接続を介し
    て直接第1の論理オブジェクトを転送する手段を含むことを特徴とする、コンピ
    ュータ・システム。
  17. 【請求項17】 請求項16に記載のシステムにおいて、 更に、前記1次記憶装置の内の1つから前記2次記憶装置へ第2の接続を介し
    て直接第2の論理オブジェクトを転送する手段を含むことを特徴とする、コンピ
    ュータ・システム。
  18. 【請求項18】 請求項11に記載のシステムにおいて、 前記2次記憶装置が、テープ・ライブラリ装置を含むことを特徴とする、コン
    ピュータ・システム。
  19. 【請求項19】 1次記憶要素から2次記憶要素へデータを転送する方法で
    あって、 1次記憶要素の第1のものから2次記憶要素へ、第1の論理オブジェクトを2
    次記憶要素へ転送するための第1の接続を自動的に確立するステップと、 前記第1の接続を介して前記1次記憶要素の第1のものから前記2次記憶要素
    へ前記第1の論理オブジェクトを直接転送するステップと、 からなるデータ転送方法。
  20. 【請求項20】 請求項19に記載の方法において、 更に、1次記憶要素の第2のものから2次記憶要素へ、第2の論理オブジェク
    トを2次記憶要素へ転送するための第2の接続を自動的に確立するステップと、 前記第2の接続を介して前記1次記憶要素の第2のものから前記2次記憶要素
    へ前記第2の論理オブジェクトを直接転送するステップと、 を含むことを特徴とするデータ転送方法。
  21. 【請求項21】 請求項20、24、25に記載の方法において、 前記第1の論理オブジェクトを転送するステップと、前記第2の論理オブジェ
    クトを転送するステップが並行して実行されることを特徴とするデータ転送方法
  22. 【請求項22】 請求項20、24、25に記載の方法において、 前記第1の論理オブジェクトと前記第2の論理オブジェクトが、異種のオペレ
    ーティング・システムによって生成されることを特徴とするデータ転送方法。
  23. 【請求項23】 請求項19に記載の方法において、 前記自動的に確立するステップが、ネットワークを介する経路を確立するステ
    ップからなることを特徴とするデータ転送方法。
  24. 【請求項24】 請求項19に記載の方法において、 前記2次記憶要素が、テープ・ライブラリ装置からなることを特徴とするデー
    タ転送方法。
  25. 【請求項25】 請求項19に記載の方法において、 前記2次記憶要素が複数のデータ・ムーバーからなり、 前記自動的に確立するステップが、前記データ・ムーバーの少なくとも1つを
    選択するステップからなることを特徴とするデータ転送方法。
JP2000592751A 1998-12-31 1999-12-13 コンピュータ・ストレージ・システムを操作するための装置および方法 Pending JP2003518659A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/224,637 US7107395B1 (en) 1998-12-31 1998-12-31 Apparatus and methods for operating a computer storage system
US09/224,637 1998-12-31
PCT/US1999/029499 WO2000041093A2 (en) 1998-12-31 1999-12-13 Apparatus and method for performing backup from primary storage devices to one secondary storage device over a network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006241461A Division JP2007048301A (ja) 1998-12-31 2006-09-06 コンピュータ・ストレージ・システムを操作するための装置および方法

Publications (1)

Publication Number Publication Date
JP2003518659A true JP2003518659A (ja) 2003-06-10

Family

ID=22841523

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000592751A Pending JP2003518659A (ja) 1998-12-31 1999-12-13 コンピュータ・ストレージ・システムを操作するための装置および方法
JP2006241461A Pending JP2007048301A (ja) 1998-12-31 2006-09-06 コンピュータ・ストレージ・システムを操作するための装置および方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2006241461A Pending JP2007048301A (ja) 1998-12-31 2006-09-06 コンピュータ・ストレージ・システムを操作するための装置および方法

Country Status (5)

Country Link
US (2) US7107395B1 (ja)
JP (2) JP2003518659A (ja)
DE (1) DE19982999B4 (ja)
GB (1) GB2348994B (ja)
WO (1) WO2000041093A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006525599A (ja) * 2003-04-30 2006-11-09 オラクル・インターナショナル・コーポレイション フラッシュバックデータベース
WO2013035517A1 (ja) * 2011-09-07 2013-03-14 株式会社 オレガ ファイル管理システム及びファイル管理方法

Families Citing this family (169)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418478B1 (en) 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
US7581077B2 (en) 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
US6654772B1 (en) * 1999-04-28 2003-11-25 Emc Corporation Multi-volume extent based file system
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US7389311B1 (en) 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US7734591B1 (en) * 1999-08-16 2010-06-08 Netapp, Inc. Coherent device to device data replication
US6751658B1 (en) * 1999-10-18 2004-06-15 Apple Computer, Inc. Providing a reliable operating system for clients of a net-booted environment
TW454120B (en) * 1999-11-11 2001-09-11 Miralink Corp Flexible remote data mirroring
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
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
GB2372849B (en) * 2001-02-28 2003-05-07 3Com Corp Method for determining master or slave mode in a storage server subnet
US8346733B2 (en) 2006-12-22 2013-01-01 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library
US7596586B2 (en) * 2003-04-03 2009-09-29 Commvault Systems, Inc. System and method for extended media retention
US7603518B2 (en) 2005-12-19 2009-10-13 Commvault Systems, Inc. System and method for improved media identification in a storage device
CN1421854A (zh) * 2001-11-28 2003-06-04 劲永国际股份有限公司 用于硬盘及固态盘上对资料加密保护资料安全性的方法
US7143307B1 (en) * 2002-03-15 2006-11-28 Network Appliance, Inc. Remote disaster recovery and data migration using virtual appliance migration
US7165258B1 (en) 2002-04-22 2007-01-16 Cisco Technology, Inc. SCSI-based storage area network having a SCSI router that routes traffic between SCSI and IP networks
US6944789B2 (en) * 2002-06-11 2005-09-13 Hitachi, Ltd. Method and apparatus for data backup and recovery
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
WO2004025483A1 (en) 2002-09-16 2004-03-25 Commvault Systems, Inc. System and method for optimizing storage operations
JP2004110367A (ja) * 2002-09-18 2004-04-08 Hitachi Ltd 記憶装置システムの制御方法、記憶制御装置、および記憶装置システム
US7263593B2 (en) 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP2004220450A (ja) * 2003-01-16 2004-08-05 Hitachi Ltd ストレージ装置、その導入方法、及びその導入プログラム
JP4060197B2 (ja) * 2003-01-28 2008-03-12 株式会社リコー 画像形成装置、制御方法及び該方法を実行するためのプログラムを格納したコンピュータ読み取り可能な記録媒体
US7290168B1 (en) 2003-02-28 2007-10-30 Sun Microsystems, Inc. Systems and methods for providing a multi-path network switch system
US7383381B1 (en) 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
US8166128B1 (en) 2003-02-28 2012-04-24 Oracle America, Inc. Systems and methods for dynamically updating a virtual volume in a storage virtualization environment
US7236987B1 (en) 2003-02-28 2007-06-26 Sun Microsystems Inc. Systems and methods for providing a storage virtualization environment
US7526527B1 (en) * 2003-03-31 2009-04-28 Cisco Technology, Inc. Storage area network interconnect server
CA2520498C (en) 2003-04-03 2012-09-25 Commvault Systems, Inc. System and method for dynamically performing storage operations in a computer network
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US8095511B2 (en) * 2003-06-30 2012-01-10 Microsoft Corporation Database data recovery system and method
CN100568352C (zh) * 2003-07-19 2009-12-09 汤姆森特许公司 用于处理数据库的方法
JP2005056200A (ja) * 2003-08-05 2005-03-03 Hitachi Ltd データ管理方法、ディスク記憶装置およびディスク記憶システム
JP4021823B2 (ja) * 2003-09-01 2007-12-12 株式会社日立製作所 リモートコピーシステム及びリモートコピーの方法
JP4386694B2 (ja) * 2003-09-16 2009-12-16 株式会社日立製作所 記憶システム及び記憶制御装置
US7219201B2 (en) * 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
JP4598387B2 (ja) * 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
JP2005108098A (ja) * 2003-10-01 2005-04-21 Hitachi Ltd データi/o装置及びデータi/o装置の制御方法
JP4384470B2 (ja) 2003-10-21 2009-12-16 株式会社日立製作所 記憶装置の管理方法
WO2005050386A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
WO2005050381A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US7315923B2 (en) 2003-11-13 2008-01-01 Commvault Systems, Inc. System and method for combining data streams in pipelined storage operations in a storage network
JP2005157521A (ja) * 2003-11-21 2005-06-16 Hitachi Ltd 遠隔記憶装置の状態情報監視方法および記憶サブシステム
JP2005202893A (ja) * 2004-01-19 2005-07-28 Hitachi Ltd 記憶デバイス制御装置、ストレージシステム、プログラムを記録した記録媒体、情報処理装置、及びストレージシステムの制御方法
US8818950B2 (en) * 2004-01-22 2014-08-26 Symantec Corporation Method and apparatus for localized protected imaging of a file system
JP2005275494A (ja) * 2004-03-23 2005-10-06 Hitachi Ltd ストレージシステム及びストレージシステムのリモートコピー方法
JP4456909B2 (ja) * 2004-03-29 2010-04-28 株式会社日立製作所 バックアップ方法、ストレージシステム及びそのプログラム
JP4421385B2 (ja) * 2004-06-09 2010-02-24 株式会社日立製作所 計算機システム
US7353242B2 (en) 2004-07-09 2008-04-01 Hitachi, Ltd. File server for long term data archive
JP4646574B2 (ja) 2004-08-30 2011-03-09 株式会社日立製作所 データ処理システム
JP4377790B2 (ja) * 2004-09-30 2009-12-02 株式会社日立製作所 リモートコピーシステムおよびリモートコピー方法
US20060101439A1 (en) * 2004-10-25 2006-05-11 Microsoft Corporation Memory management in a managed code execution environment
JP2006127028A (ja) * 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
WO2006053084A2 (en) 2004-11-05 2006-05-18 Commvault Systems, Inc. Method and system of pooling storage devices
US7536291B1 (en) 2004-11-08 2009-05-19 Commvault Systems, Inc. System and method to support simulated storage operations
US7444360B2 (en) * 2004-11-17 2008-10-28 International Business Machines Corporation Method, system, and program for storing and using metadata in multiple storage locations
US7535832B2 (en) * 2004-11-22 2009-05-19 International Business Machines Corporation Apparatus and method to set the signaling rate of a switch domain disposed within an information storage and retrieval system
US7512135B2 (en) * 2004-12-10 2009-03-31 International Business Machines Corporation Method for transferring data among a logical layer, physical layer, and storage device
US7590777B2 (en) * 2004-12-10 2009-09-15 International Business Machines Corporation Transferring data between system and storage in a shared buffer
US8271436B2 (en) * 2005-02-07 2012-09-18 Mimosa Systems, Inc. Retro-fitting synthetic full copies of data
US8812433B2 (en) 2005-02-07 2014-08-19 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US8799206B2 (en) 2005-02-07 2014-08-05 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US8918366B2 (en) 2005-02-07 2014-12-23 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
US20060206507A1 (en) * 2005-02-16 2006-09-14 Dahbour Ziyad M Hierarchal data management
US7818350B2 (en) 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
US20070083380A1 (en) * 2005-10-10 2007-04-12 Yahoo! Inc. Data container and set of metadata for association with a media item and composite media items
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
WO2007075587A2 (en) 2005-12-19 2007-07-05 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
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US8655850B2 (en) 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
JP4842720B2 (ja) * 2006-06-29 2011-12-21 株式会社日立製作所 ストレージシステム及びデータ複製方法
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US7539783B2 (en) 2006-09-22 2009-05-26 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library, including removable media
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
US7831566B2 (en) 2006-12-22 2010-11-09 Commvault Systems, Inc. Systems and methods of hierarchical storage management, such as global management of storage operations
US8719809B2 (en) 2006-12-22 2014-05-06 Commvault Systems, Inc. Point in time rollback and un-installation of software
US7734954B2 (en) * 2007-01-03 2010-06-08 International Business Machines Corporation Method, computer program product, and system for providing a multi-tiered snapshot of virtual disks
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
JP2008276379A (ja) * 2007-04-26 2008-11-13 Hitachi Ltd 記憶システム及びパス切替え方法
US8706976B2 (en) 2007-08-30 2014-04-22 Commvault Systems, Inc. Parallel access virtual tape library and drives
DE112007003645B4 (de) 2007-10-25 2011-06-16 Hewlett-Packard Development Co., L.P., Houston Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
WO2009054827A1 (en) * 2007-10-25 2009-04-30 Hewlett-Packard Development Company, L.P. Data processing apparatus and method of processing data
US8140637B2 (en) 2007-10-25 2012-03-20 Hewlett-Packard Development Company, L.P. Communicating chunks between devices
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8615495B1 (en) * 2008-08-13 2013-12-24 Symantec Corporation Techniques for providing a differential backup from a storage image
US20100070466A1 (en) * 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
US8990161B1 (en) * 2008-09-30 2015-03-24 Emc Corporation System and method for single segment backup
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
US8930306B1 (en) 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
CN102511031B (zh) 2009-09-24 2015-11-25 国际商业机器公司 使用位图的数据存储
US9256367B2 (en) 2009-09-25 2016-02-09 International Business Machines Corporation Data storage and moving of relatively infrequently accessed data among storage of different types
US8527749B2 (en) * 2009-11-11 2013-09-03 International Business Machines Corporation User device, computer program product and computer system for system for secure network storage
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
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
WO2011150391A1 (en) 2010-05-28 2011-12-01 Commvault Systems, Inc. Systems and methods for performing data replication
US20120054315A1 (en) * 2010-08-31 2012-03-01 Cisco Technology, Inc. System and method for providing virtualized file system management for a memory card in a digital environment
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
US8577851B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Content aligned block-based deduplication
US8578109B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US20120150818A1 (en) 2010-12-14 2012-06-14 Commvault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9020900B2 (en) 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US8494674B2 (en) 2011-08-24 2013-07-23 International Business Machines Corporation Fast-access self-repairing tape library using mobile robots
US8972678B2 (en) * 2011-12-21 2015-03-03 Emc Corporation Efficient backup replication
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
US9529871B2 (en) 2012-03-30 2016-12-27 Commvault Systems, Inc. Information management of mobile device data
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US9251186B2 (en) 2012-06-13 2016-02-02 Commvault Systems, Inc. Backup using a client-side signature repository in a networked storage system
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
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
US9665591B2 (en) 2013-01-11 2017-05-30 Commvault Systems, Inc. High availability distributed deduplicated storage system
US9263082B2 (en) * 2013-01-30 2016-02-16 International Business Machines Corporation High density hybrid storage system
US20140244801A1 (en) * 2013-02-28 2014-08-28 Apple Inc. Network-based distribution system supporting transfer of application products
JP6005010B2 (ja) * 2013-08-12 2016-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for 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
US10380072B2 (en) 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
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
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US9575673B2 (en) 2014-10-29 2017-02-21 Commvault Systems, Inc. Accessing a file system using tiered deduplication
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
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US10339106B2 (en) 2015-04-09 2019-07-02 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10101913B2 (en) 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
KR20170074264A (ko) * 2015-12-21 2017-06-30 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10061663B2 (en) 2015-12-30 2018-08-28 Commvault Systems, Inc. Rebuilding deduplication data in a distributed deduplication data storage system
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
CN107707337A (zh) * 2016-08-09 2018-02-16 联发科技股份有限公司 重排方法及其装置
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US20200327017A1 (en) 2019-04-10 2020-10-15 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11494338B2 (en) * 2019-04-26 2022-11-08 International Business Machines Corporation Caching files in a directory
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11327802B2 (en) * 2019-07-31 2022-05-10 Microsoft Technology Licensing, Llc System and method for exporting logical object metadata
US20210173811A1 (en) 2019-12-04 2021-06-10 Commvault Systems, Inc. Optimizing the restoration of deduplicated data stored in multi-node replicated file systems
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management
US11803317B2 (en) * 2020-12-15 2023-10-31 International Business Machines Corporation Interrupted replicated write recognition
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)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05241933A (ja) * 1992-02-28 1993-09-21 Mitsubishi Electric Corp 分散データ管理システムのファイル保全方式
JPH0683682A (ja) * 1990-06-29 1994-03-25 Digital Equip Corp <Dec> アンドゥーログ使用の最大利用のための方法及び装置

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283875A (en) * 1990-04-13 1994-02-01 Digital Equipment Corporation Method and apparatus for optimizing prefetch caching by reverse ordering of logical blocks
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5542909A (en) * 1992-06-12 1996-08-06 Camp; Gregory T. Water jet appliance
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
ATE153149T1 (de) * 1993-01-21 1997-05-15 Apple Computer Vorrichtung und verfahren zur datensicherung von speichereinheiten in einem rechnernetzwerk
CA2166420C (en) 1993-07-01 2006-03-28 James R. Woodhill System and method for distributed storage management on networked computer systems
US5535381A (en) * 1993-07-22 1996-07-09 Data General Corporation Apparatus and method for copying and restoring disk files
US6154850A (en) * 1993-11-01 2000-11-28 Beaufort River, Inc. Data storage system and method
JPH07191899A (ja) * 1993-12-27 1995-07-28 Hitachi Ltd ファイル転送方法、データアクセス方法およびデータ書き込み方法
US5873103A (en) 1994-02-25 1999-02-16 Kodak Limited Data storage management for network interconnected processors using transferrable placeholders
US5673381A (en) * 1994-05-27 1997-09-30 Cheyenne Software International Sales Corp. System and parallel streaming and data stripping to back-up a network
US5493649A (en) 1994-06-21 1996-02-20 Microsoft Corporation Detecting corruption in a computer program at execution time using a checksum
US5799147A (en) 1994-10-19 1998-08-25 Shannon; John P. Computer recovery backup method
US5574906A (en) 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
JP3371044B2 (ja) * 1994-12-28 2003-01-27 株式会社日立製作所 ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
US5799304A (en) 1995-01-03 1998-08-25 Intel Corporation Information evaluation
US5680580A (en) * 1995-02-28 1997-10-21 International Business Machines Corporation Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit
US5765200A (en) * 1995-06-07 1998-06-09 International Business Machines Corporation Logical positioning within a storage device by a storage controller
US5953351A (en) 1995-09-15 1999-09-14 International Business Machines Corporation Method and apparatus for indicating uncorrectable data errors
JP3856855B2 (ja) 1995-10-06 2006-12-13 三菱電機株式会社 差分バックアップ方式
US5778395A (en) 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US5790775A (en) 1995-10-23 1998-08-04 Digital Equipment Corporation Host transparent storage controller failover/failback of SCSI targets and associated units
WO1997021173A2 (en) 1995-12-01 1997-06-12 Philips Electronics N.V. Method and system for reading data for a number of users
US5848241A (en) * 1996-01-11 1998-12-08 Openframe Corporation Ltd. Resource sharing facility functions as a controller for secondary storage device and is accessible to all computers via inter system links
US5852715A (en) * 1996-03-19 1998-12-22 Emc Corporation System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions
US5819310A (en) 1996-05-24 1998-10-06 Emc Corporation Method and apparatus for reading data from mirrored logical volumes on physical disk drives
US5864837A (en) 1996-06-12 1999-01-26 Unisys Corporation Methods and apparatus for efficient caching in a distributed environment
US5835954A (en) 1996-09-12 1998-11-10 International Business Machines Corporation Target DASD controlled data migration move
US5926649A (en) 1996-10-23 1999-07-20 Industrial Technology Research Institute Media server for storage and retrieval of voluminous multimedia data
TW360843B (en) 1996-12-02 1999-06-11 Ibm Shared loop audio/video server system
JP3563907B2 (ja) * 1997-01-30 2004-09-08 富士通株式会社 並列計算機
US5925119A (en) * 1997-03-28 1999-07-20 Quantum Corporation Computer architecture for automated storage library
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US6000020A (en) * 1997-04-01 1999-12-07 Gadzoox Networks, Inc. Hierarchical storage management from a mirrored file system on a storage network segmented by a bridge
US5950230A (en) 1997-05-28 1999-09-07 International Business Machines Corporation RAID array configuration synchronization at power on
US6061822A (en) * 1997-06-23 2000-05-09 Micron Electronics, Inc. System and method for providing a fast and efficient comparison of cyclic redundancy check (CRC/checks sum) values of two mirrored disks
GB9721637D0 (en) 1997-10-14 1997-12-10 Int Computers Ltd Remote backup system
US6349356B2 (en) * 1997-12-10 2002-02-19 International Business Machines Corporation Host-available device block map for optimized file retrieval from serpentine tape drives
US6065062A (en) * 1997-12-10 2000-05-16 Cisco Systems, Inc. Backup peer pool for a routed computer network
US6085266A (en) * 1997-12-12 2000-07-04 Unisys Corporation System for unwrapping a single file from a compact disk for utilization by various computer platforms
US6052341A (en) * 1997-12-16 2000-04-18 International Business Machines Corporation Device element allocation manager and method for a multi-library system for multiple host connections
US6023710A (en) 1997-12-23 2000-02-08 Microsoft Corporation System and method for long-term administration of archival storage
US6047294A (en) 1998-03-31 2000-04-04 Emc Corp Logical restore from a physical backup in a computer storage system
US6157991A (en) 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
US6189079B1 (en) * 1998-05-22 2001-02-13 International Business Machines Corporation Data copy between peer-to-peer controllers
US6282602B1 (en) * 1998-06-30 2001-08-28 Emc Corporation Method and apparatus for manipulating logical objects in a data storage system
US6141773A (en) 1998-06-30 2000-10-31 Emc Corporation Method and apparatus for undoing changes to computer memory
US6393540B1 (en) * 1998-06-30 2002-05-21 Emc Corporation Moving a logical object from a set of source locations to a set of destination locations using a single command
US6329985B1 (en) * 1998-06-30 2001-12-11 Emc Corporation Method and apparatus for graphically displaying mapping of a logical object
US6269431B1 (en) 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6385626B1 (en) * 1998-11-19 2002-05-07 Emc Corporation Method and apparatus for identifying changes to a logical object based on changes to the logical object at physical level
US6564219B1 (en) * 1998-11-19 2003-05-13 Emc Corporation Method and apparatus for obtaining an identifier for a logical unit of data in a database
TW522399B (en) * 1999-12-08 2003-03-01 Hitachi Ltd Semiconductor device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683682A (ja) * 1990-06-29 1994-03-25 Digital Equip Corp <Dec> アンドゥーログ使用の最大利用のための方法及び装置
JPH05241933A (ja) * 1992-02-28 1993-09-21 Mitsubishi Electric Corp 分散データ管理システムのファイル保全方式

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
COMPUTOPIA, vol. 第33巻,第387号, CSND199900377008, 1 December 1998 (1998-12-01), pages 62 - 64, ISSN: 0000733356 *
日経コンピュータ, vol. 第442号, CSND199800321005, 27 April 1998 (1998-04-27), pages 122 - 125, ISSN: 0000733357 *
津村 英樹: "ユーザー・ネットワークをシェイプアップするファイバーチャネル", コンピュータ&ネットワークLAN 第16巻 第1号, vol. 第16巻 第1号, CSND199700788012, 1 January 1998 (1998-01-01), JP, pages 89 - 92, ISSN: 0000733355 *
野沢 哲生: "ファイバ・チャネル:サーバー入出力で本領発揮、高速ネットワークの選択肢にも", 日経コミュニケーション 第279号, vol. 第279号, CSND199801850008, 5 October 1998 (1998-10-05), JP, pages 106 - 113, ISSN: 0000733354 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006525599A (ja) * 2003-04-30 2006-11-09 オラクル・インターナショナル・コーポレイション フラッシュバックデータベース
WO2013035517A1 (ja) * 2011-09-07 2013-03-14 株式会社 オレガ ファイル管理システム及びファイル管理方法
JP5315460B1 (ja) * 2011-09-07 2013-10-16 株式会社オレガ ファイル管理システム及びファイル管理方法
US9323624B2 (en) 2011-09-07 2016-04-26 Orega Inc. File management system and file management method

Also Published As

Publication number Publication date
GB2348994A (en) 2000-10-18
JP2007048301A (ja) 2007-02-22
DE19982999B4 (de) 2008-11-06
US20040098547A1 (en) 2004-05-20
GB2348994B (en) 2004-02-04
US7107395B1 (en) 2006-09-12
WO2000041093A3 (en) 2002-09-19
GB0019609D0 (en) 2000-09-27
WO2000041093A9 (en) 2001-09-07
WO2000041093A2 (en) 2000-07-13
DE19982999T1 (de) 2001-08-09

Similar Documents

Publication Publication Date Title
US7107395B1 (en) Apparatus and methods for operating a computer storage system
US6920537B2 (en) Apparatus and methods for copying, backing up and restoring logical objects in a computer storage system by transferring blocks out of order or in parallel
US6385706B1 (en) Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
US6487561B1 (en) Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size
US6397308B1 (en) Apparatus and method for differential backup and restoration of data in a computer storage system
US7689799B2 (en) Method and apparatus for identifying logical volumes in multiple element computer storage domains
US7428604B2 (en) Method and apparatus for moving logical entities among storage elements in a computer storage system
US7716261B2 (en) Method and apparatus for verifying storage access requests in a computer storage system with multiple storage elements
US7899933B1 (en) Use of global logical volume identifiers to access logical volumes stored among a plurality of storage elements in a computer storage system
US6708265B1 (en) Method and apparatus for moving accesses to logical entities from one storage element to another storage element in a computer storage system
US6938180B1 (en) Logical restores of physically backed up data
US7596713B2 (en) Fast backup storage and fast recovery of data (FBSRD)
US7849361B2 (en) Methods and apparatus for multiple point in time data access
US8364914B2 (en) Systems and methods for performing storage operations in a computer network
US7743031B1 (en) Time and space efficient technique for creating virtual volume copies
US7100089B1 (en) Determining differences between snapshots
US6912548B1 (en) Logical volume identifier database for logical volumes in a computer storage system
US6934725B1 (en) Management of file extent mapping to hasten mirror breaking in file level mirrored backups
US6269381B1 (en) Method and apparatus for backing up data before updating the data and for restoring from the backups
US20050108486A1 (en) Emulated storage system supporting instant volume restore
US20130238872A1 (en) Snapshot storage and management system with indexing and user interface
US20020059505A1 (en) Method and apparatus for differential backup in a computer storage system
US6760828B1 (en) Method and apparatus for using logical volume identifiers for tracking or identifying logical volume stored in the storage system
JP2005505045A (ja) クイックリカバリボリュームを作成及び管理する方法及び装置
US20030065780A1 (en) Data storage system having data restore by swapping logical units

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040820

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041119

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050805

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051111

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060509

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060808

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060906

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061004

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20061117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081022

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081027