JP2005512191A - 大容量記憶システムの選択されたデータのスナップショットを保存するためのバックアップ方法 - Google Patents

大容量記憶システムの選択されたデータのスナップショットを保存するためのバックアップ方法 Download PDF

Info

Publication number
JP2005512191A
JP2005512191A JP2003550066A JP2003550066A JP2005512191A JP 2005512191 A JP2005512191 A JP 2005512191A JP 2003550066 A JP2003550066 A JP 2003550066A JP 2003550066 A JP2003550066 A JP 2003550066A JP 2005512191 A JP2005512191 A JP 2005512191A
Authority
JP
Japan
Prior art keywords
data
data block
snapshot
backup
block
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.)
Granted
Application number
JP2003550066A
Other languages
English (en)
Other versions
JP2005512191A5 (ja
JP4181044B2 (ja
Inventor
エス.オーラン リチャード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC Corp filed Critical EMC Corp
Publication of JP2005512191A publication Critical patent/JP2005512191A/ja
Publication of JP2005512191A5 publication Critical patent/JP2005512191A5/ja
Application granted granted Critical
Publication of JP4181044B2 publication Critical patent/JP4181044B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • 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

Abstract

最小限のデータ転送を使用して論理的に整合性のあるバックアップを保持する。元のデータのバックアップコピー、またはスナップショットコピーが作成され、格納される。ユーザが、データの後続のスナップショットコピー(30)を作成するプロセスにおいてバックアップ(32)されるべきデータブロックを指定(29)する。バックアップ(32)されるべきデータブロックには、ユーザが関心のあるデータを有するアクティブなファイルに関連するデータブロックが含まれることが可能である。バックアップが所望されないデータブロックには、例えば、スワップファイル、プリンタバッファファイル、及び一時ファイルが含まれることが可能である。バックアップに指定(29)されたデータブロックに対して行われた変更(28)が、指定の期間が経過した後にスナップショットコピーに印加(32)される。所望されるデータブロックだけがスナップショットコピー(30)にバックアップ(32)されるため、すべてのデータブロックがスナップショットコピーにバックアップされる場合よりも効率的にメモリ、処理サイクル、及び通信帯域幅が使用される。

Description

本発明は、大容量記憶システムの選択されたデータのスナップショットを保存するためのバックアップシステム及びその方法に関し、より詳細には、1つまたは複数の大容量記憶システム上のいくつかのセクタだけのスナップショットコピーをとるためのバックアップシステム及びその方法に関し、特に、コンピュータデータの保護技術に関する。
コンピュータは、ほとんどのビジネス業務の不可欠な一部分となっている。一部の場合では、コンピュータは、あまりにも不可欠となっているため、コンピュータが機能を停止した場合、ビジネス業務を行うことができない。銀行、保険会社、証券会社、財務サービスプロバイダ、及び様々な他のビジネスが、常に変更される情報を格納し、操作し、表示するのにコンピュータネットワークに依拠している。取引の成功または失敗は、正確であるとともに最新である情報の利用可能性にかかっている可能性がある。サービスプロバイダの信用、または存立そのものが、コンピュータネットワーク上に保持される情報の信頼性に依存する可能性がある。世界中のビジネスが、自らのデータの商品価値を認識しており、データを信頼できる形でバックアップすることにより自らのコンピュータネットワーク上に格納された情報を保護する信頼できる費用対効果が大きいやり方を求めている。
しばしば、スワップファイルなどのファイル、プリンタバッファ、空きセクタテーブル、及び「一時」ファイルが、通常、バックアップされることが所望されていないのに、バックアップされる。不要なファイルをバックアップすることにより、処理サイクル、通信帯域幅、及びバックアップメモリ容量の浪費がもたらされる。不要な情報をバックアップすることを回避するため、バックアップのために個々のファイルを選択することができるシステムが開発されている。それらのシステムは、(1)すべてのファイルシステムコマンドを代行受信するソフトウェアレイヤを追加すること、(2)2つのタイプのファイル、すなわち、追跡ファイル及び非追跡ファイルを定義することによって機能する。追跡ファイルでは、システムは、ファイルのバックアップバージョンと更新バージョンの両方を提供する。バックアップバージョンは、バックアップが開始された時点で存在していたファイルであり、更新バージョンは、バックアップが開始された後に行われたあらゆる変更を含むファイルの現在のバージョンである。非追跡ファイルの場合、現在の(つまり更新)バージョンだけが利用可能である。基本的に、システムは、あたかもファイルシステムコマンドを代行受信するソフトウェアレイヤが存在するかのように機能する。
ソフトウェアレイヤは、バックアップが開始された時点で存在していた元のファイルデータがファイル変更によって上書きされないようにファイル変更を格納することによってファイルのバックアップバージョン及び更新バージョンを提供するものである。すべてのファイルシステムコマンドを代行受信することにより、システムは、アクセスを要求するプログラムにファイルの適切なバージョンを提供することができる。例えば、バックアッププログラムが読取り要求を行った場合、ソフトウェアレイヤは、要求されたデータのバックアップバージョンを提供する。読取り要求を行う他のプログラムは、ファイルデータの更新バージョンを受け取る。
ソフトウェアレイヤがすべてのファイルシステムコマンドを代行受信することは、いくつかのファイルだけが追跡される場合に十分な解決策である。しかし、この解決策は、追跡ファイルの数が増加すると実用的でないことが明らかになる。問題は、ソフトウェアレイヤが、基本的に、ファイルシステムの仕事を実行することである。追跡ファイルに関して、オペレーティングシステムによって実行される各ファイル操作が、何らかの形で、ソフトウェアレイヤによっても実行される。ファイルの数が増加すると、ソフトウェアレイヤは、過負荷になり、パフォーマンスが低下してシステムが使用できなくなる。
また、ソフトウェア代行受信レイヤは、ファイル間に存在する可能性がある関係を見落とす。上述したとおり、ファイルの中に格納されたデータに整合性があるだけでは十分でない。1つのファイルの中に格納されたデータは、他の1つまたは複数のファイルの中に格納されたデータに関連している可能性が高い。従来技術のソフトウェアレイヤは、バックアッププロセス中にファイルがアクセス可能であることを確実にすることだけしかできない。従来技術のソフトウェアレイヤには、バックアップ操作を構成するすべてのファイルにわたって論理的に整合性のあるデータセットを確実にするための備えがない。したがって、上述したタイプのソフトウェアレイヤを使用して行われるバックアップは、格納されたデータの不整合に起因してそれほど有益でない可能性がある。
したがって、ファイル間の関係を保持しながら、バックアップされることが所望されるデータだけをバックアップするための効率的なシステムを得ることは、当技術分野において重要なものである。
米国特許第5649152号明細書
従来技術における上述した問題は、本発明が克服することに成功しており、本発明は、保護されることが所望されるデータブロックだけに関して元のデータをそのデータのスナップショットコピーにバックアップするためのシステム及び方法を対象とする。
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、大容量記憶システムの選択されたデータのスナップショットを保存するためのバックアップシステム及びその方法を提供することにある。
つまり、本発明のバックアップシステム及びその方法は、従来技術に勝る4つの大きな利点を提供する。第1に、変更されており、バックアップが所望されるファイルとして指定された1次大容量記憶デバイスのデータブロックだけをバックアップすることにより、バックアップを行う必要があるデータの量を縮減する。第2に、バックアップすることが所望されるデータだけをバックアップすることを介してバックアップ用のデータの量を極限まで縮減しているので、記憶領域のより効率的な使用を可能にする。第3に、バックアップが行われる際に1次記憶デバイスが論理的に整合性のある状態にあることを確実にすることにより、バックアップの精度を高める。第4に、バックアップを行うのに必要とされるデータが極限まで縮減されており、論理的に整合性のある状態のバックアップだけが行われるので、バックアップの頻度を高くすることができる。
本発明のバックアップ方法は、元のデータとそのデータのスナップショットコピーが、少なくともバックアップに指定されたデータブロックに関して、全く同じデータを含むという前提で開始される。これは、例えば、従来のバックアップ技術、または従来のディスクミラーリング技術を使用して元のデータをスナップショットコピーに完全にコピーすることによって達することができる。元のデータとスナップショットコピーが同一のデータを含むと、本発明は、変更されたすべてのデータブロックをリストするためのマップまたは他のデータ構造を作成し、1次大容量記憶デバイス上のデータブロックに対して行われた変更を追跡し、変更されたデータブロックを特定し、バックアップが所望されないデータブロックから分けてバックアップが所望されるデータブロックを指定する。追跡は、スナップショットコピーが元のデータと同期していた時点から新しいデータが書き込まれた元のデータにおける記憶場所を特定することによって行われる。元のデータに対して行われた変更の特定により、バックアップ記憶デバイスを1次大容量記憶デバイスと同期させるためにスナップショットコピーに対して行う必要がある変更が示される。バックアップ記憶デバイスに対して行う必要がある変更は、リスト上またはテーブル上に登録される。
本発明のバックアップシステムは、リストまたはテーブルを識別し、バックアップが所望される情報とバックアップが所望されない情報に分離することを可能にする。この分離は、所望される情報にフラグを設定すること、または所望されない情報にフラグを設定することによって達することができる。テーブル内の情報の識別及び分離により、バックアップ用の情報の量が、所望される情報だけに縮減され、バックアップされる情報の量を縮減することによってバックアッププロセスの速度が向上し、記憶スペースがより効率的に使用される。さらに、識別及び分離により、所望されない情報がバックアップに含められることが防止される。
元のデータに対して行う必要がある変更が特定されると、スナップショットコピーにその変更が送られる。すると、スナップショットコピーには、バックアップ記憶デバイスを1次大容量記憶デバイスと同期させるすべてのデータが利用可能である。バックアッププロセス中に元のデータを保存するため、元のデータの静的スナップショットをとることができる。この静的スナップショットは、元のデータに対して行われており、スナップショットコピーに転送される必要がある変更をキャプチャする。バックアップをユーザにトランスペアレントにするため、静的スナップショットは、大容量記憶デバイスに対するユーザアクセスが中断されない形でとられることが好ましい。
本発明は、静的スナップショットがいつとられるべきかを決定するため、いつ元のデータが論理的に整合性のある状態にあるかを特定する機構を含む。論理的に整合性のある状態を特定し、その時点までに行われた変更の静的スナップショットを取ることにより、変更がスナップショットコピーに転送された際、スナップショットコピーが論理的に整合性のある状態をキャプチャすることが保証される。連続する論理的に整合性のある状態のスナップショットをキャプチャすることにより、スナップショットコピーは、次々に論理的に整合性のある状態をキャプチャすることができる。このようにして、スナップショットコピーが必要になった場合、スナップショットコピーは、論理的に整合性のある状態にある。スナップショットコピーは、ある論理的に整合性のある状態から他の論理的に整合性のある状態に移り、従来技術の諸問題の1つが解消される。
本発明は、大容量記憶システムのバックアップに関してデータブロック手法をとり、保護されるように指定されたデータブロックだけがバックアップされるため、本発明は、バックアップを行う際に転送される必要があるデータの量を可能な極限まで最小化する。例えば、大型データベースが変更された5つのレコードを有する場合、従来技術のバックアップシステムは、その大型データベース全体をコピーする。しかし、本発明は、変更された5つのレコードだけをコピーする。データの量が最小限に抑えられるので、本発明は、リモートサイト(remote site)に配置されたバックアップシステムにデータをバックアップするのに特によく適している。本発明は、低い帯域幅の通信リンクを利用してバックアップデータをリモートバックアップサイトに転送することができる。例として、多くの場合、56.6kボーのモデムを備えた従来のダイヤルアップ電話回線で全く十分である。
本発明のさらなる利点は、以下に説明するように、その説明から明白となり、あるいは本発明の実施によって知ることができる。本発明の利点は、特許請求の範囲で特に指摘する手段(instruments)及び組み合わせを使用して実現し、得ることができる。本発明の以上の特徴及びその他の特徴は、以下の説明及び特許請求の範囲からより十分に明白となり、あるいは以下に提示する本発明の実施によって知ることができる。
本発明の上述した利点及び特徴、ならびにその他の利点及び特徴を得ることができるやり方を説明するため、以上に簡単に説明した本発明のより詳細な説明を添付の図面に示した本発明の特定の実施形態に関連して行う。それらの図面は、本発明の典型的な実施形態だけを示しており、したがって、本発明の技術的範囲を限定するものではなく、添付の図面を介して本発明をより具体的に詳細に説明するものである。
以下、図面を参照して本発明の実施の態様について説明する。
本発明は、大容量記憶手段の中のすべてのデータのスナップショットをとるのではなく、大容量記憶手段からバックアップされることが所望されるデータセクションだけのスナップショットをとるためのバックアップシステムとその方法の両方を技術的範囲に含んでいる。所望されるデータだけのスナップショットがとられるので、本発明は、大容量記憶手段上にあるデータのバックアップコピーを提供する際に時間と記憶スペースをともに最適化する。
本発明を本発明のバックアップシステム及びその方法を実現するいくつかの実施形態の構造または処理を示す図を使用することによって説明する。本発明を提示するのにこのように図を使用しているが、本発明の技術的範囲を限定しているものではない。本発明は、汎用コンピュータまたは専用コンピュータを使用して実施することができ、すべてのそのようなコンピュータシステムが、本発明の技術的範囲に含められるべきである。
また、本発明の技術的範囲内の実施形態は、コンピュータ実行可能命令またはデータ構造がエンコードされているコンピュータ読取可能なメディアも含んでいる。そのようなコンピュータ読取可能なメディアは、汎用コンピュータまたは専用コンピュータがアクセスすることができる任意の利用可能なメディアであることが可能である。例として、限定としてではなく、そのようなコンピュータ読取可能なメディアは、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、光磁気記憶デバイス、または所望のコンピュータ実行可能命令及びデータ構造を格納するのに使用することができ、汎用コンピュータまたは専用コンピュータがアクセスすることができる任意の他のメディアを含むことが可能である。また、以上の組み合わせも、コンピュータ読取可能なメディアの範囲に含められなければならない。同様に、コンピュータ実行可能命令またはデータ構造をデコードし、実行する間、コンピュータ実行可能命令またはデータ構造を格納するCPUまたは他の処理ユニットのレジスタも、コンピュータ読取可能なメディアの範囲に含まれる。コンピュータ実行可能命令は、例えば、汎用コンピュータまたは専用コンピュータがある機能または一群の機能を実行するようにさせる実行可能命令または実行可能データを含んでいる。
「データブロック」という用語は、大容量記憶手段に対して書込みまたは読取りが行われるデータのブロックを表すのに使用する。「データブロック」という用語は、広く解釈されるものとし、あらゆるサイズまたは形式のデータが含まれなければならない。例えば、ディスク上の個別セクタの中に格納されたデータがデータブロックと適切に呼ばれる。セクタのグループまたはクラスタの中に格納されたデータ量も、データブロックと適切に呼ぶことができる。大容量記憶手段がRAM、あるいは語またはバイトでアドレス指定可能な記憶デバイスである場合、データブロックという用語は、データのバイト、語、または複数語単位に適用することができる。さらに、「所望されるデータブロック」という用語は、バックアップされるように指定されたデータブロックを表すのに使用し、「所望されないデータブロック」という用語は、バックアップされるように指定されていないデータブロックを表すのに使用する。
図1は、本発明のバックアップシステムを説明するためのブロック図で、本発明の適切な動作環境のシステムレベルブロック図である。全体的に示されたシステム10は、いずれのタイプのネットワーク化されたまたはスタンドアロンのコンピュータシステムであってもよいコンピュータシステム12を備えている。例えば、コンピュータシステム12は、コンピュータネットワーク18のようなコンピュータネットワークに接続されたネットワークサーバコンピュータであることが可能である。また、コンピュータシステム12は、スタンドアロンシステムであってもよい。
コンピュータシステム12には、複数の記憶場所に複数のデータブロックを格納するための大容量記憶手段が接続されている。記憶場所のそれぞれは、固有アドレスまたは他の機構によって指定される。大容量記憶手段は、データブロックを格納する任意の記憶機構であることが可能である。例えば、そのような大容量記憶手段は、1つまたは複数の磁気ディスクドライブまたは光磁気ディスクドライブを含むことが可能である。図1では、例えば、そのような大容量記憶手段を大容量記憶デバイス20で例示している。
大容量記憶デバイス20は、バックアップされることが所望されるデータブロックも、バックアップされることが所望されないデータブロックも含む元のデータ14を備えている。バックアップされることが所望されないデータブロックの例は、スワップファイル、空きセクタテーブル、印刷バッファ、「.tmp」拡張子を有する一時ファイル、及びバックアップされることが所望されないその他のファイルである。
大容量記憶デバイス20は、特定の時点で存在していたとおりバックアップされることが所望される元のデータの中のデータブロックのスナップショットコピーも含むことが可能である。したがって、「スナップショット」コピーとは、コピーが、ある時点で存在していたとおり所望のデータブロックをキャプチャしていることを示す。スナップショットコピー16が元のデータと同じ大容量記憶デバイス内に含まれるデータ記憶場所にあるのを示しているが、スナップショットコピー16は、異なる記憶デバイスのデータ記憶場所に配置されることも可能である。一部のケースでは、コンピュータシステム12は、スナップショットデータをコンピュータネットワーク18のような通信メディアを介して異なる記憶デバイスに書き込む。ただし、この実施形態では、スナップショットコピー16は、元のデータ14と同じ大容量記憶デバイス20に格納される。
この実施形態は、バックアッププロセス中、所望されるデータブロックに対応する大容量記憶デバイスのすべてまたは一部のスナップショットコピーを使用する。したがって、所望されるデータブロックに関して特定の時点における大容量記憶手段の静的スナップショットを作成するように前記大容量記憶手段のデータブロックを一時的に格納するための保存メモリ手段を備えている。そのような保存メモリ手段は、RAM、EEPROM、磁気ディスクストレージなどの任意のタイプの書込み可能記憶デバイスを含むことが可能である。また、そのような保存メモリ手段は、大容量記憶デバイス20の一部分も含むことが可能である。図1では、そのような保存メモリ手段を、例えば、スナップショット記憶デバイス22で示している。保存メモリ手段については、以下により詳細に説明する。
コンピュータシステム12は、いずれのタイプの汎用コンピュータまたは専用コンピュータであってもよく、コンピュータシステム12は、汎用コンピュータまたは専用コンピュータを構成する任意の他のハードウェアも含むことが可能である。例えば、コンピュータシステム12は、プログラマブルコード手段を実行するためのプロセッサ手段も含むことが可能である。プロセッサ手段は、マイクロプロセッサまたは他のCPUデバイスであることが可能である。プロセッサ手段は、デジタル信号プロセッサなどの様々な専用プロセッサも含むことが可能である。コンピュータシステム12は、ユーザに出力を表示するための表示手段、コンピュータシステム12にデータを入力するための入力手段、ハードコピーのプリントアウトを出力するための出力手段、RAM、ROM、EEPROMなどのメモリ手段のような他の従来のコンピュータコンポーネントも含むことが可能である。
図2は、本発明のバックアップ方法を説明するためのタイミングを示す図で、図1の元のデータ14のような元のデータを図1のスナップショットコピー16のようなスナップショットコピーにバックアップするのに使用される方法の概要を示している。図2に示したバックアップ方法は、所望されるデータブロックに関する限り、元のデータ14とスナップショットコピー16は最新であるものと想定する。ここで、「最新」とは、スナップショットコピーが、元のデータ14のすべての所望されるデータブロックの最新コピーを含むことを意味する。図2で、スナップショットコピー16は、時刻Tにおける元のデータ14の最新コピーを有するものと想定する。
図2に示したバックアップ方法は、時刻Tから開始して、元のデータ14に対してスナップショットコピー16を最新状態に保つ。そして、連続する論理的に整合性のある状態をキャプチャする。これにより、1つの論理的に整合性のある状態から次の論理的に整合性のある状態に移るスナップショットコピー16がもたらされる。つまり、スナップショットコピー16が、連続する論理的に整合性のある状態をキャプチャすることが可能になる。これにより、バックアップ記憶デバイスを論理的に不整合な状態のままにする可能性がある従来技術のシステムに勝る著しい利点が生じる。バックアップデバイスが論理的に整合性のある状態にあることを確実にすることにより、本発明は、使用可能なスナップショットコピーが常に利用可能であることを確実にする。
次に、図2に戻ると、時刻Tから開始して、所望されるデータブロックに対応する元のデータ14に対する変更が追跡される。これを図2にブロック28で示している。変更は、好ましくは、時刻Tから開始して新しいデータが書き込まれており、所望されるデータブロックである大容量記憶デバイスのデータブロックを特定することによって追跡される。これは、時刻Tから開始して新しいデータが書き込まれたデータブロックを特定するマップを保持すること、及び所望されるデータブロックのマップを保持することによって行うことができる。
何らかの時点で、元のデータ14の中の所望されるデータブロックに対して行われた変更をキャプチャし、その変更をスナップショットコピー16に転送することが望ましい。好ましい実施形態では、システムは、1次大容量記憶デバイスの論理的に整合性のある状態を識別し、時刻T以来、変更された少なくとも所望されるデータブロックの静的スナップショットをとる。図2では、論理的に整合性のある状態は、時刻Tとして識別され、スナップショットがとられる。
静的スナップショットは、特定の時点に存在していたとおりデータを保存して、スナップショット時刻の後に元のデータに対して変更が行われていても、スナップショット時刻に存在していたとおりの状態で、所望されるデータブロックがその特定の時点の後に利用可能であるようにする。そのような静的スナップショットを作成する多くの方法が存在する。いずれのそのような方法も本発明で機能するが、一部の方法が、様々な利点のために他の方法より優先される。どのように静的スナップショットがとられるかの詳細、及び静的スナップショットを作成するための好ましい方法を以下に示す。ただし、この概略では、静的スナップショットを作成するいずれの方法も本発明で使用できることを理解することが重要である。ただし、静的スナップショットは、大容量記憶デバイスに対するユーザの読取りアクセスまたは書込みアクセスを終了させることなく、とられることが好ましい。
時刻Tの直後、または時刻T後にコンピューティングリソースが利用可能になった時刻に、バックアップが所望されるデータブロックが、マップまたは他のデータ構造を使用して指定される。バックアップが所望されるデータブロックは、所望されるデータブロックを特定することによって直接に指定すること、またはバックアップ操作が所望されないデータブロックを指定することによって暗黙に示されることが可能である。それらのデータブロックは、ユーザがバックアップされるべき、またはバックアップされるべきでないファイルまたはファイルタイプを特定したことに応答して特定されること、または指定されることが可能である。次に、ファイルシステムを使用してそれらのファイルを特定のデータブロックにマップすることができる。上述した技術は、バックアップされるべきデータブロックを指定するのに役立つ可能性があるが、本発明は、バックアップされるべきデータブロックを特定し、指定するための他の技術を使用して実施することもできる。バックアップ操作が所望されるデータブロックを指定するプロセスは、例えば、図2の期間29の間に行われる。
時刻Tに、時刻Tと時刻Tの間に特定された所望されるデータブロックに対する変更が、その変更をスナップショットコピー16に送信することによってバックアップされる。これを図2に矢印30及びブロック32で示している。変更は、時刻Tと時刻Tの間に新しいデータが書き込まれた記憶場所だけに格納され、保護されることが指定された所望のデータブロックだけに関する元のデータ14のデータブロックを送信することによってスナップショットコピー16に送信される。
データは、時刻Tにスナップショットによって保存されるので、時刻T後に新しいデータが大容量記憶デバイスに書き込まれていても、バックアップ記憶デバイスに転送するのに利用可能である。時刻Tと時刻Tの間にいずれの記憶場所にデータが書き込まれたかを追跡するのに使用され、バックアップされることが所望されるデータブロックを指定するのに使用されたマップまたは他の機構が、バックアップ記憶デバイスに転送されるべきデータを特定するのに使用される。したがって、所望されるデータブロックに対する増分の変更だけが送信され、ファイル全体が変更されていない限り、ファイル全体が転送されることはない。さらに、所望されないデータブロックは、そのデータブロックに対する変更が行われていても送信されない。
時刻Tの直後、または時刻Tの後にコンピューティングリソースが利用可能になった時刻に、バックアップが所望されるデータブロックが、期間29に関連して上述したやり方でマップまたは他のデータ構造を使用して、期間33中に指定される。この他に、バックアップされるように以前に指定されている同じデータブロックが、または等価のこととして、バックアップされないように以前に指定されている同じデータブロックが、新しいスナップショットに持ち越されることが可能である。この代替手法では、ユーザは、バックアップされるべきデータブロックを繰り返し指定することを要求されない。上述したとおり以前の指定が新しいスナップショットに持ち越されるかどうかを決める要因には、スナップショットの頻度、ユーザの選好、及び以前のスナップショット以来、ファイル構造が変更されているかどうかが含まれる。
バックアップが実行されている最中に新しいデータが時刻T後に元のデータに書き込まれる可能性があるため、時刻T後に別のバックアップが行われる場合、ある機構を使用して時刻T後に行われた変更が特定される。図2では、ブロック34で示すとおり、時刻T後の変更が追跡される。これにより、時刻T後の所望されるデータブロックに対する変更も、スナップショットコピー16を何らかの後の時点まで更新するためにスナップショットコピー16に転送することが可能になる。
図2に示すとおり、前述したシーケンスは、時刻Tに繰り返される。これを矢印36、期間37、ブロック38、及びブロック40で示している。上述したとおり、時刻Tにとられるスナップショットは、時刻TとTの間に所望されるデータブロックに対して行われた変更がスナップショットコピー16に転送された際、スナップショットコピー16が、時刻Tにおける論理的に整合性のある状態まで更新されるように、論理的に整合性のある状態を表していなければならない。
以上のように、本発明は、前回のバックアップ以来、変更された記憶場所に格納されたデータだけをバックアップする。これにより、従来技術に勝る大きな利点がもたらされる。例えば、非常に少ないデータレコードだけが変更されるデータベースを考慮されたい。従来技術のシステムは、変更が行われた場合、データベース全体をバックアップしようと試みる。しかし、本発明は、データベース変更によって実際に変更された少数のデータブロックをバックアップするだけである。また、本発明により、変更されたデータブロックをバックアップが所望されるものとして、あるいは所望されないものとして指定することができるようになる。したがって、第1の時点と第2の時点の間に変更され、バックアップが所望されるデータブロックだけが、スナップショットコピー16に送信される。したがって、メモリ、処理サイクル、及び通信帯域幅が、バックアップされることが所望されないデータブロックのバックアップコピーを格納することで浪費されない。
従来技術との重要な相違について上述した。本発明は、スナップショットがとられた時点で存在するとおりのデータをキャプチャする。本発明は、元のデータ14に対して行われた時系列の変更をスナップショットコピー16に送信しようとはしない。例えば、データベースの単一のレコードが前回のバックアップが行われた時点と今回のバックアップ時点の間に10回、変更された場合、いくつかの従来技術のシステムは、10回の変更をバックアップ記憶デバイスに送信する。しかし、本発明は、単に今回のバックアップ時点の前に行われた前回の変更を送信する。この例では、そのようなスキームにより、バックアップデバイスに送信されるデータの量が10分の1に縮減される。本発明により、バックアップデバイスに送信されるデータの量が、論理的に整合性のあるバックアップを行うのに必要とされる最小限に抑えられる。したがって、本発明は、スナップショットコピーがコンピュータシステム12から遠隔のサイトに配置された実施形態に理想的に適している。バックアップシステムがリモートサイトに配置されている場合、従来のダイヤルアップ電話回線を使用して1次システムとバックアップシステムの間でバックアップデータを転送することができる。
図3は、本発明のバックアップシステムの一実施形態を説明するためのブロック図で、図2に示したバックアップ方法を実施するためのブロック図である。以下の説明は、図3に示す処理ブロックのそれぞれのトップレベルの概要を示す。その後、各処理ブロックの詳細を示す。
コンピュータシステムの通常の動作中、大容量記憶デバイス20のような接続された大容量記憶手段に対してデータの読取りまたは書込みが定期的に行われる。したがって、本発明の実施形態は、大容量記憶デバイスにデータを書き込むための手段、及び大容量記憶デバイスからデータを読み取るための手段を含む。図3では、そのような手段を例として、大容量ストレージ読取り/書込み処理ブロック42で示している。大容量ストレージ読取り/書込み処理ブロック42の詳細を後に提示するが、大容量ストレージ読取り/書込み処理ブロック42の基本的機能は、1次大容量記憶デバイス20上の特定された記憶場所にデータブロックを書き込むこと、または1次大容量記憶デバイス20上の特定された記憶場所からデータブロックを読み取ることである。図3では、特定された記憶場所に対してデータブロックの読取りまたは書込みを行う要求を大容量ストレージ読取り/書込み要求44で示している。読取りまたは書込みが要求された場合はいつでも、大容量ストレージ読取り/書込み処理ブロック42が、大容量ストレージ読取り/書込み応答46によって示す応答を戻すことができる。この応答は、完了コード、または要求された操作の成功または失敗の他のインジケータを含むことが可能であり、読取り要求の場合、要求されたデータを含むことが可能である。
図2に関連して説明したとおり、本発明のバックアップ方法は、第1の時点と第2の時点の間に行われた変更を追跡する。したがって、本発明の実施形態は、第1の時点と第2の時点の間に元のデータ14のいずれの記憶場所に新しいデータが格納されているかを特定するための手段を備えている。そのような場所を特定し、追跡するための任意の方法を本発明で利用することができる。必要とされるのは、前回のバックアップ以来、新しいデータが格納された記憶場所を特定できることだけである。図3では、そのような手段を例として、バックアップマップ48で示している。バックアップマップ48は、1次大容量記憶デバイス20上の各データブロックに関するブールエントリを含むことが可能である。データブロックに新しいデータが書き込まれた際、そのデータブロックに対するエントリを設定することができる。この他に、新しいデータが格納されたデータブロックのリストも保持されることが可能である。必要とされるのは、特定の時点以来、新しいデータが格納されたデータブロックを区別し、特定することができることだけである。
上述したとおり、バックアップが行われる際、少なくとも所望されるデータブロックの静的スナップショットがとられる。したがって、本発明の実施形態は、特定の時点における静的スナップショットを保存するための手段を備えている。静的スナップショットの使用が好ましいのは、静的スナップショットの使用により、変更がバックアップされている最中にユーザが1次大容量記憶デバイス20にアクセスしつづけることができるようになるからである。元のデータ14からスナップショットコピー16に変更を転送するのにある期間を要するため、転送されるべきデータは、転送が済むまで、不変でなければならない。スナップショットコピー16が大容量記憶デバイス20内に配置されていない場合、データが不変であることを確実にする1つのやり方は、1次大容量記憶デバイス20に対するアクセスを防止することである。これにより、1次大容量記憶デバイス20にデータが書き込まれることが防止され、バックアップされるデータが、そのデータをスナップショットコピー16に転送することができるまで、不変であることが確実になる。残念ながら、この解決策は、極めて望ましくない。したがって、スナップショットコピー16に変更が転送される際、少なくとも転送されるデータの静的スナップショットがとられる。そのような静的スナップショットにより、転送されるデータが、そのデータを転送することができるまで元の状態で保存され、同時に、大容量記憶デバイス20に対してデータの読取りまたは書込みを続けることができるようにデバイス20へのアクセスを継続することが可能になる。
静的スナップショットを保存する任意の方法を本発明で使用することができる。ただし、使用される方法は何であれ、1次大容量記憶デバイス20に対するアクセスを中断することなく、静的スナップショットを保存できることが好ましい。言い換えれば、静的スナップショットは、ユーザが、大容量記憶デバイス20に対する読取りまたは書込みを続けることができるような形で保存されることが望ましい。
図3では、静的スナップショットを保存するための手段を処理ブロック50で示している。図3に示すとおり、スナップショット処理機構を大容量ストレージ読取り/書込み処理ブロックに組み込むことが理にかなっている可能性がある。スナップショット処理ブロック50の詳細は以下に示すが、1つの好ましい実施形態は、上書きを受ける元のデータ14のデータブロックを元のデータ14からスナップショットストレージ22にコピーし、次に、そのブロックがスナップショットストレージ22の中に保存されたことをスナップショットマップ52の中で示すことにより、静的スナップショットを保存する。スナップショットストレージ22の中にコピーが入れられると、元のデータ14の中のそのデータブロックのコピーを上書きすることができる。
図2に関連して前述したとおり、一続きの連続するバックアップが行われる場合、バックアップが行われている最中に元のデータ14に対して行われる変更を追跡することが必要である。言い換えれば、スナップショットがとられた後に元のデータ14に対して行われた変更を追跡する必要がある可能性がある。本発明の実施形態は、スナップショットがとられた時点の後に新しいデータが格納された元のデータ14の記憶場所を特定するための手段を含むことが可能である。特定の時点の後に新しいデータが格納された大容量記憶デバイスの記憶場所を追跡し、特定する任意のタイプの機構を利用することができる。例えば、バックアップマップ48と同様のマップを使用することができる。他の例として、特定の時点の後に新しいデータが格納されたデータ場所のリストも使用することができる。使用されるスナップショット機構のタイプにより、スナップショット機構が、本来的にそのような情報を追跡することも可能である。そのような実施形態では、上述した情報が後の使用のために保存されることが可能である。図3では、そのような手段をスナップショットマップ52で示している。スナップショット機構の1つの実装は、スナップショットがとられた後に新しいデータが格納された記憶場所を、図3のスナップショットマップ52のようなスナップショットマップの中で追跡する。
本発明の実施形態は、バックアップされるべきデータブロックをスナップショットコピーに転送するための手段を含む。図3では、そのような手段を例として、1次バックアップ処理ブロック54で示している。1次バックアップ処理ブロック54について、以下により詳細に説明するが、1次バックアップ処理ブロック54の一般的な目的は、バックアップされるべきデータブロックを取り上げ、そのデータブロックをスナップショットコピー16に転送することである。転送されるデータブロックは、前回のバックアップ以来、大容量記憶デバイス上の記憶場所に格納された所望されるデータブロックである。
1次バックアップ処理ブロック54は、バックアップを開始し、データをスナップショットコピー16に転送する機能を組み込むことが可能である。どのようにバックアップを開始することができるかの詳細を以下に説明する。
図2の説明では、静的スナップショットを使用して、特定の時点における変更された所望されるデータブロックの状態を保存した。次に、変更された所望されるデータブロックは、スナップショットコピー16にバックアップされる。変更された所望されるデータブロックが静的スナップショットによって保存されている場合、その所望されるデータブロックは、取り出してからでないと、スナップショットコピー16に送信することができない。したがって、本発明の実施形態は、静的スナップショットによって保存された所望されるデータブロックを取り出すための手段を備えている。そのような手段は、所望されるデータブロックをスナップショットコピー16に転送するための手段の一部であっても、別個であってもよい。図3では、静的スナップショットによって保存された所望されるデータブロックを取り出すための手段をバックアップ読取り処理ブロック56で示している。バックアップ読取り処理ブロック56の一実施形態の詳細を以下に示す。この処理ブロック56は、記憶場所から保存済みデータを取り出し、取り出されたデータブロックをスナップショットコピーに転送するために1次バックアップ処理ブロック54に送る。この機能は、1次バックアップ処理ブロック54に組み込むこともできる。ただし、バックアップ読取り処理ブロック56によって実行される機能を際立たせるため、図3でそのブロックを他に示している。
本発明は、所望されるデータブロックに関してスナップショットコピー16において1つまたは複数の論理的に整合性のあるバックアップ状態をキャプチャするように設計されている。その論理的に整合性のあるバックアップ状態をキャプチャするため、本発明の実施形態は、論理的に整合性のある状態が達せられた時点を特定するための手段を含むことが可能である。論理的に整合性のある状態は、大容量記憶システム上で不適切に終了されたファイルのような論理的不整合が存在しない状態である。論理的に整合性のある状態は、いくつかの機構によって特定されることが可能である。例えば、論理的に整合性のある状態は、大容量記憶デバイス上の活動を監視することによって特定されることが可能である。大容量記憶デバイス上に活動が存在しない場合、すべての内部データバッファがフラッシュされており、バッファのデータが大容量記憶システムに書き込まれており、大容量記憶システムは、データブロックが更新されている状態にはないものと一般的に考えることができる。さらに、論理的に整合性のある状態が達せられた時点を特定するように呼び出すことができるAPIが存在することも可能である。例えば、オペレーティングシステムまたは他のプログラムが、論理的に整合性のある状態が達せられた時点を戻すように行うことが可能なAPIコールを有することが可能である。さらに他の例として、システムは、所与の時点でスナップショットがとられるというメッセージをネットワークに接続されたすべてのユーザにブロードキャストすることができる。すると、ユーザは、必要な場合、適切なステップを行って自らのファイルの論理的に整合性のある状態を確実にする。その他の機構を使用してもよい。論理的に整合性のある状態が達せられた時点を特定するための手段は、例えば、1次バックアップ処理ブロック54などの図3の処理ブロックの1つに組み込むことができる。
図4は、図3に示した大容量ストレージ読取り/書込み処理ブロックの処理フローを示す図である。大容量ストレージ読取り/書込み処理ブロック42の機能は、大容量記憶デバイス20に対して読取りまたは書込みを行うことである。さらに、スナップショット処理ブロック50が読取り/書込み処理ブロック42に組み込まれているものと想定すると、処理ブロック42は、特定の時点における所望されるデータブロックに関する大容量記憶デバイス20の静的スナップショットを保存し、保持することも担う。図3に示した構成は、スナップショット処理ブロック50を一体化した機能として組み込んでいる。ただし、上述したとおり、スナップショット処理ブロック50を別個に実装することも可能である。スナップショット処理ブロック50を大容量ストレージ読取り/書込み処理ブロック42に組み込むか、またはスナップショット処理ブロック50を別に実装するかは、本発明の目的にほとんど重要ではない設計上の選択と考えられる。本発明に重要な態様は、大容量記憶デバイス20に対して読取りまたは書込みを行う能力、及び特定の時点における大容量記憶デバイス20の少なくとも一部分の静的スナップショットを保存し、保持する能力を含むことである。
次に、図4を参照すると、判定ブロック66がまず、スナップショット要求が行われたかどうかを判定する。この判定ブロックは、大容量ストレージ読取り/書込み処理ブロック42に組み込まれたスナップショット処理機能が、図3の大容量記憶デバイス20の少なくとも一部分のスナップショットをとるべきかどうかを明らかにする。スナップショット要求68は、1次バックアップ処理ブロック54によって生成される。1次バックアップ処理ブロック54はまず、論理的に整合性のある状態を特定してからそのようなスナップショット要求を発行する。この他に、論理的に整合性のある状態を特定するための手段を大容量ストレージ読取り/書込み処理ブロック42のスナップショット処理能力に組み込んでもよい。その場合、大容量ストレージ読取り/書込み処理ブロック42が、論理的に整合性のある状態を特定し、スナップショットをとる。そのような詳細は設計上の選択であり、本発明の視点からは重要ではない。
次に、スナップショット要求が受け取られた場合、次のステップは、所望されるデータブロックに対応する大容量記憶デバイス20の少なくとも一部分の静的スナップショットを保存することである。静的スナップショットを保存する任意の手段を本発明で使用することができるが、特定のプロセスを使用して静的スナップショットを保存できることが好ましい。好ましい方法をステップ70、72、74、判定ブロック84及び85、ならびにステップ86の説明で要約する。この方法は、「大容量記憶システムに格納されたデータの静的スナップショットを提供するための方法及びシステム」という名称の(特許文献1)で詳細に説明されている。基本的に、静的スナップショットを保存する好ましい方法は、図3のスナップショットストレージ22のようなスナップショットストレージを利用して、新しいデータが上書きされることになる図3の大容量記憶デバイス20のような大容量記憶デバイスのデータブロックを保存する。以下により詳細に説明するとおり、保存されるデータブロックはまず、スナップショットストレージの中にコピーされ、データブロックが保存されたことを示すレコードが更新される。そのようなレコードは、例えば、図3のスナップショットマップ52の中に格納することができる。次に、保存されたデータブロックを失うことなく、新しいデータを大容量記憶デバイス20に書き込むことができる。
判定ブロック66による評価に応じてスナップショットがとられた場合、次のステップは、図4のステップ70で示されるとおり、スナップショットマップをバックアップマップにコピーすることである。上述したとおり、図3のバックアップマップ48のようなバックアップマップを使用して、第1の時点と第2の時点の間にいずれのデータブロックが変更されたかが示される。次に、そのデータブロックがスナップショットコピー16に転送される。図3のスナップショットマップ52は、特定の時点に静的スナップショットが保存されて以来、変更されたデータブロックを特定する。したがって、新しいスナップショットがとられる際、スナップショットマップ52をバックアップマップとして使用することができる。スナップショットマップ52をバックアップマップ48にコピーすることにより、前回のスナップショットがとられた時点と現時点の間に新しいデータが格納されているデータロケーションを特定する所望の機能が実現される。明らかに、スナップショットマップとバックアップマップにコピーすることは必要ない可能性がある。スナップショットマップを単にバックアップマップとして使用して、新しいマップを現在のスナップショットマップとすることができる。
バックアップマップとして使用することができるようにスナップショットマップが保存された後、次のステップは、現在のスナップショットマップをクリアすることである。このステップを図4にステップ72で示している。スナップショットマップは、スナップショットがとられて以来、新しいデータが格納されているデータブロックの指示を、その変更されたデータブロックがバックアップの所望されるデータブロックであるか、所望されないデータブロックであるかに関わらず、格納するのに使用される。したがって、スナップショットマップは、図4のスナップショットストレージ22のようなスナップショットストレージの中にいずれのデータブロックが格納されているかを示す。新しいスナップショットがとられるので、スナップショットマップはクリアされなければならない。
スナップショットマップがステップ72によってクリアされた後、次のステップは、図3のスナップショットストレージ22のようなスナップショットストレージをクリアすることである。これを図4のステップ74で示している。特にこのステップに関して、スナップショットストレージを物理的に消去すること、またはクリアすることは必要ない可能性があることに留意されたい。一般に、他のいずれのタイプのストレージでもそうであるように、通常、ストレージに対するインデックスをクリアしてストレージが空であることを示すだけで十分である。したがって、インデックスが図3のスナップショットストレージマップ52のようなスナップショットストレージマップの一部として保持されている場合、ステップ72で実行されるとおりスナップショットストレージマップをクリアするだけで、スナップショットストレージが空であることを示すのに十分である。しかし、スナップショットストレージに対するインデックスがスナップショットストレージマップとは別に保持される場合は、ステップ74によってインデックスを別にクリアするする必要がある可能性がある。スナップショットマップ及びスナップショットストレージがクリアされた後、システムは、新しいスナップショットを保存する準備ができている。したがって、図4で示されるとおり、開始に戻る。
次に、図4に示した判定ブロック76は、大容量ストレージ読取り/書込み処理ブロック42によって受け取られたメッセージが大容量ストレージ読取り要求であるか、または大容量ストレージ書込み要求であるかをテストする。判定ブロック78に到達した時点では、可能なメッセージは、大容量ストレージ読取り要求か、または大容量ストレージ書込み要求だけである。これは、他のタイプの要求が、判定ブロック78より前に処理されるか、または濾過されて除外されるからである。判定ブロック78は、大容量ストレージ読取り要求と大容量ストレージ書込み要求を区別する。要求が大容量ストレージ読取り要求であった場合、次のステップは、大容量記憶デバイス20から要求されたデータブロックを取り出し、そのデータの要求を行っているプロセスに戻すことである。これをステップ80で示している。しかし、要求が書込み要求であった場合、実行は、判定ブロック82に進む。
判定ブロック82は、スナップショットが保存されるべきかどうかを判定する。上述したとおり、好ましい実施形態では、上書きを受けるデータブロックを図3のスナップショットストレージ22のような保存メモリにコピーすることによってスナップショットが保存される。この実施形態では、スナップショットは、基本的に、増分式に保存される。言い換えれば、スナップショットが保存される際、スナップショットストレージが、ステップ72及び74で前述したとおりデータブロックを保存するように準備される。その後、保存されるべきデータに上書きする実際の書込み要求が行われるまで、スナップショットストレージには全くデータが格納されない。したがって、スナップショットがこのように保存される際、スナップショットがとられているか、またはスナップショットデータを保存することに配慮することなく大容量記憶システムに対する書込み要求が行われるべきかを判定することが重要である。判定ブロック82は、スナップショットデータを保存することなく書込み要求が行われるべきか、または書込み要求に関してスナップショットデータが保存されるべきかをテストする。スナップショットデータを保存することなく書込み要求が行われるべき場合、判定ブロック82は、実行がステップ88に進むことを示し、ステップ88で、データブロックが図3の大容量記憶デバイス20のような大容量記憶デバイスに書き込まれる。しかし、スナップショットが保存されるべき場合、実行は、判定ブロック84に進む。
上述したとおり、好ましい実施形態に従ってスナップショットがとられる際、上書きを受けるデータがまず、図3のスナップショットストレージ22のようなスナップショットストレージにコピーされる。スナップショットストレージの中にデータが保存された後、新しいデータブロックを大容量記憶システムに書き込むことができる。スナップショットの目的は、特定の時点で大容量記憶システム上に存在していたとおりにデータを保存することである。したがって、スナップショットは、スナップショットの時点で存在していたとおりにデータを保存するだけでよい。判定ブロック84は、スナップショットがとられた時点に大容量記憶システムに格納されていた元のデータブロックが、スナップショットストレージの中に以前に保存されていたかどうかをテストする。言い換えれば、指定された書込み記憶場所に現在、格納されているデータが、スナップショットがとられた時点でその場所に格納されていたデータであり、そのデータをまず保存することなく書込み要求が行われた場合、元のデータは失われる。しかし、スナップショットがとられた時点で格納されていた元のデータが、スナップショットストレージの中に以前に保存済みである場合、元のデータが以前に保存済みであるため、心配なく書込み要求を行い、指定された場所に格納されているデータが何であれ、上書きすることができる。したがって、判定ブロック84により、元のデータがスナップショットストレージの中にまだ格納されていないと判定された場合、実行は、判定ブロック85に進む。
判定ブロック85は、データブロックが保護されるようにマーク付けされているかどうかを判定する。保護マップ53で図3に示すとおり、ユーザは、バックアップが所望されるもの、またはバックアップが所望されないものとしてデータブロックを指定して、バックアップが所望されるデータブロックだけが実際にバックアップされるようにすることができる。バックアップが所望されるものとして指定されたデータブロックを本明細書では所望されるデータブロックと呼んでおり、バックアップが所望されるものとして指定されていないデータブロックを所望されないデータブロックと呼んでいる。この特徴により、バックアップに必要とされる時間と記憶スペースの量が削減される。バックアップが所望される/所望されないデータブロックを指定する要求43が、大容量ストレージ読取り/書込み処理42によって受け取られる。
スナップショットマップ52上のデータブロックは、とられた最新の静的スナップショットの結果としてスナップショットストレージ22の中に格納されたデータブロックを示す。大容量ストレージ読取り/書込み処理42が、保護マップ53上で、バックアップが所望されるデータブロックを示す。この他に、スナップショット処理が、保護マップ53上で、バックアップが所望されないデータブロックを示し、そのデータブロックに常に最新であるものとしてマークを付けることによってそのデータブロックのバックアップを防止することもできる。また、他の実施形態では、スナップショットマップ52と保護マップ53が1つのマップであることも可能である。言い換えれば、保護マップ53上で実行される諸機能をスナップショットマップ52上で実行することができる。
データブロックが保護されるようにマーク付けされていない、つまり言い換えれば、バックアップが所望されない場合、実行は、判定ブロック85からステップ86をスキップしてステップ88に進む。あるいは、データブロックが保護されるようにマーク付けされている場合、実行は、ステップ86に進み、元のデータブロックがスナップショットストレージ22の中にコピーされる。
一部の実施形態では、ステップ85は省略することができる。変更されたデータブロックが、所望されるデータブロックであるか否かには関わらず保存される。次に、図6のステップ113が示すとおり、データブロックをスナップショットコピーに送信する際、バックアップ読取り処理56が、保護マップ53を使用してあらゆる所望されないデータブロックを濾過して除外して、所望されるデータブロックだけがスナップショットコピーに送信されるようにする。
ステップ86によって元のデータが保存された後、または元のデータが以前に保存済みであるとの判定が判定ブロック84によって行われた後、またはデータブロックが保護されるようにマーク付けされていないとの判定が判定ブロック85によって行われた後、実行は、ステップ88に進み、書込み要求に含まれるデータブロックを大容量記憶デバイス上の指定された記憶場所に書き込むことによって書込み要求が満たされる。
次に、ステップ90が、新しいデータを含んでいる記憶場所を特定する。前述したとおり、これは、図3のスナップショットマップ52のようなスナップショットマップの中にエントリを入れることによって達することができる。ステップ90は、新しいデータが書き込まれている大容量記憶デバイスの記憶場所を特定するための前述した手段の一例に過ぎない。次に、書込み要求を行っているプロセスに応答が戻されることが可能である。そのような応答を送信することを図4にステップ92で示している。そのような応答は、通常、書込み操作の成功または失敗を示すだけでなく、書込み動作の完了を示すためにも、書込み要求を発行したプロセスに送信される。次に、実行は開始に戻り、次の要求が処理される。
図5は、図3に示した1次バックアップ処理ブロックの処理フローを示す図である。1次バックアップ処理ブロック54は、スナップショットコピーに転送される必要があるデータブロックを獲得し、その転送を実行することを担う。第1に、ステップ100が、論理的に整合性のあるバックアップ状態を特定する。論理的に整合性のある状態が特定された後、バックアップを行うことができるように論理的に整合性のある状態のスナップショットが保存される。スナップショットは、スナップショット処理、例えば、図3の大容量ストレージ読取り/書込み処理ブロック42に組み込まれたスナップショット処理ブロック50にスナップショットをとるように通知するステップ102によって保存される。一実施形態では、これにより、スナップショット要求68が大容量ストレージ読取り/書込み処理ブロック42に送信されることになる。前述したとおり、この要求により、とられるスナップショットの準備を行う図4のステップ70、72、及び74が実行されるようになる。その後、スナップショットがとられた時点における大容量記憶デバイス20の中に格納された指定のデータブロックに関する元のデータが、図4の判定ブロック84、判定ブロック85、及びステップ86によって保存される。
図5のステップ100によって特定された論理的に整合性のあるバックアップ状態を保存するためにスナップショットがとられた後、図5における次のステップは、ステップ104で示すとおりスナップショットコピー16に転送するためにデータブロックをアセンブルすることである。データブロックをアセンブルしてアセンブル済みデータ64が形成された後、ステップ106は、アセンブル済みデータ64をスナップショットコピー16に送信する。これは、スナップショットコピーに書き込むためにデータを大容量ストレージ読取り/書込み処理ブロック42に送信することによって達することができる。次に、実行は、開始に戻り、1次バックアップ処理ブロック54によって次の論理的に整合性のある状態が特定されて前述したプロセスが繰り返される。
上述したとおり、ステップ104によってスナップショットコピー16に送信されるデータブロックは、前回のバックアップ以来、変更されており、バックアップされることが所望されるデータブロックだけである。さらに、データブロックは、スナップショットがとられた時点に存在していたとおりに転送される。したがって、変更されており、図3の保護マップ53のような保護マップの中で保護されるものとして特定されている図3のバックアップマップ48のようなバックアップマップの中で変更されているものとして特定されているデータブロックだけが、転送される。スナップショットは、スナップショットがとられた時点における状態にある所望されるデータブロックを保存する。したがって、1次バックアップブロック54は、スナップショットによって保存された、いくつかのデータブロックを取り出す必要がある。1次バックアップ処理ブロック54が、スナップショット及び/または大容量記憶システムからデータブロックを取り出すのに必要とされる機能を組み込むことも、そのような機能が、別個の処理ブロックに組み込まれることも可能である。その機能を組み込んだ別個の処理ブロックを図3にバックアップ読取り処理ブロック56で示している。
図6は、図3に示したバックアップ読取り処理ブロックの処理フローを示す図で、上述したスナップショットによって保存されたデータを回復するように設計されたバックアップ読取り処理ブロック56の処理フローを示している。
図6では、判定ブロック112により、バックアップ読取り処理ブロック56が、スナップショットがとられた時点に存在していたデータを取り出すことになる読取り要求だけを扱うことが強調されている。この判定ブロックは、処理の構造及びアーキテクチャにより、そのような読取り要求だけが図3のバックアップ読取り処理ブロック56に送信されることが保証される場合、必要ない可能性がある。同様に、判定ブロック113により、バックアップ読取り処理ブロック56が、バックアップシステムへの最終的な転送が所望されるデータブロックだけを取り出すことが強調されている。あるデータブロックが所望されるデータブロックであるかどうかの検査は、図3の保護マップ53を参照することによって達することができる。
適切な状況下では、判定ブロック113を省略してもよい。例えば、図4の判定ブロック85で示すとおり、本発明の一部の実施形態は、保護されるものとしてマークが付けられたデータブロックだけを保存することができる。保護されるデータブロックだけがスナップショットストレージの中に入れられる場合、判定ブロック113を省いてもよい。というのは、データブロックがスナップショットストレージの中に格納されているという判定ブロック114による指示は、データブロックが保護されるようにマーク付けられていることを必然的に意味するからである。
スナップショットがとられた時点に存在していたとおりに所望されるデータブロックを取り出すため、どこにそのデータブロックが存在するかを特定しなければならない。図4に関連して前述したとおり、スナップショットがとられた後、所望されるデータブロックに新しいデータブロックが上書きされるときに初めて、所望されるデータブロックが図3のスナップショットストレージ22のようなスナップショットストレージの中にコピーされる。これは、所望されるデータブロックに上書きが全く行われない場合、大容量記憶デバイスに格納された所望されるデータブロックは、スナップショットがとれた時点で存在していた元の所望されるデータブロックであることを意味する。しかし、所望されるデータブロックに1回または複数回、上書きが行われている場合、元の所望されるデータブロックは、スナップショットストレージの中に格納されている。図6の判定ブロック114により、スナップショットがとられて以来、要求された所望のデータブロックが変更されているかどうかが判定される。これは、データブロックが変更されているかどうかを判定するため、図3のスナップショットマップ52のようなスナップショットマップを検査することによって達せられる。上述したとおり、スナップショットマップは、スナップショットがとられて以来、変更されている記憶場所またはデータブロックを特定する。
スナップショットがとられて以来、記憶場所に新しいデータが格納されている場合、ステップ116により、データブロックはスナップショットストレージから取り出されることが示される。しかし、スナップショットがとられて以来、記憶場所の内容が変更されていない場合、ステップ118により、データブロックは、大容量記憶デバイス20から取り出されることが示される。いずれの場合でも、保護されるものとして指定されたデータブロックが、ステップ120によって要求側プロセスに戻される。
バックアップを作成する際の図3〜図6の操作をより詳細に説明するため、図7A、図7B、図8A、図8Bに詳細な例を示す。図7A及び図7Bに示す実施形態は、図7A及び図7Bが、あたかも図4に判定ブロック85が存在しないかのように機能することにおいて、図8A及び図8Bに示した実施形態とは異なる。したがって、図7A及び図7Bは、保護されるデータブロックと保護されないデータブロックをともにスナップショットメモリの中に格納するが、スナップショットメモリからのデータブロックが要求された際、保護されるデータブロックだけを提供する実施形態を示している。対照的に、図8A及び図8Bは、保護されるデータブロックだけをスナップショットストレージの中に格納する本発明の実施形態を示しており、これは、データブロックがスナップショットストレージの中に出現する場合、そのデータブロックは、必然的に保護されるデータブロックであることを意味する。上述したとおり、本発明は、図4の判定ブロック85の有無に関わらず実施することができる(保護されるデータブロックだけをスナップショットストレージの中に格納して)。以下の図7A及び図7Bの説明は、図4の判定ブロック85が存在せず、したがって、保護されるデータブロックと保護されないデータブロックがともにスナップショットストレージの中に格納されるものと想定する。
まず、図7Aを参照して、大容量記憶デバイス20の元のデータ部分14の1〜6という符号が付けられた記憶場所に格納された一群のデータブロック122を考慮されたい。同様に、バックアップマップ48が、記憶場所122に対応する6つのマップ場所126を有し、スナップショットマップ52が、記憶場所122に対応する6つのマップ場所128を有し、保護マップ53も、記憶場所122に対応する6つのマップ場所129を有している。図7Aに示すとおり、時刻Tに、マップ場所126、128がクリアされる。ただし、マップ場所129の場所3にはマークが付けられ、データブロック122のデータブロック3が保護されるものとして指定されていないことを示している。
図7Bは、1〜6の符号が付けられた記憶場所に同様に格納されている一群のデータブロック124をやはり有する大容量記憶デバイス20のスナップショットコピー16部分を示している。ただし、データブロック3は、図7A及び図7Bの対応するデータブロックが対応する符号を有することを確実にするだけのために示している。図7Aのマップ場所129の場所3は、データブロック122のデータブロック3が、バックアップ中に転送されないことを示しているので、バックアップストレージ24の中のデータブロック124のデータブロック3は、必ずしも存在しない。つまり、バックアップストレージ24は、1次大容量ストレージ20からのデータブロック122のデータブロック3に対応するデータブロックを必ずしも有さない。このため、データブロック3は、単にグレーで塗りつぶすのではなく、データブロック124から完全に除外することができる。時刻Tで、124に格納されたデータブロックは、少なくとも所望されるデータブロック1、2、及び4〜6に関する限り、122に格納されたデータブロックと全く同じである。
時刻Tの後、データブロック130が、記憶場所122の場所3及び4に格納されるものと想定する。次に、データブロック130が適切な記憶場所に書き込まれるようにするため、1つまたは複数の大容量ストレージ書込み要求が図3の大容量ストレージ読取り/書込み処理ブロック42に送られる。図4を参照すると、大容量ストレージ書込み要求が、以下の形で処理される。
判定ブロック66、76、及び78が一緒に、書込み要求が大容量ストレージ読取り/書込み処理ブロック42に送られていることを判定する。したがって、実行は、以上3つの判定ブロックを通過して判定ブロック82に進む。上述したとおり、判定ブロック82は、スナップショットがとられているかどうかをテストする。この例では、この時点で、全くスナップショットはとられていない。したがって、実行は、要求されたデータブロックを図7Aの大容量ストレージ20に書き込むステップ88に進む。したがって、データブロック130が、記憶場所122に格納されて記憶場所132が生成される。図示するとおり、記憶場所132では、場所3及び4に格納されていたデータブロックが、3a及び4aに変更されている。
図4に戻ると、次に、ステップ90により、新しいデータが格納されている記憶場所が変更されているものとして示されるべきことが示される。多くのスナップショット実施形態では、この目的でスナップショットマップを使用することができる。図7Aで、マップ134が使用され、場所3及び4がグレーにされて、データが記憶場所3及び4に格納されていることを示している。マップ場所126によって示されるバックアップマップ48の中の記憶場所は、この時点で、変更されないままであることに留意されたい。図4を参照すると、ステップ92によって書込み要求応答が戻され、実行は、開始に戻って次の要求を待つ。
次に、図7Aに戻り、次の要求が、場所3、4、及び6に格納されるべき3つのデータブロック136を含むものと想定する。スナップショットはまだとられていないため、この要求は、前の書込み要求と同じ形で処理され、実行は、図4の判定ブロック66、76、78、及び82を通って図4のステップ88に進む。ステップ88は、新しいデータが大容量記憶デバイスの中に格納されたことを示し、したがって、図7Aの記憶場所138は、この時点で、場所3に格納されていたデータブロックが3bに変更され、場所4に格納されていたデータブロックが4bに変更され、場所6に格納されていたデータブロックが、6aに変更されていることを示す。前の書込み要求の場合と同様に、次に、マップ場所140が更新されて、場所3及び4に加えて場所6も変更されていることを示す。マップ場所126は変更されないままである。
次に、図5を参照して、本例のこの時点で、図3のバックアップ処理ブロック54が、図5のステップ100で論理的に整合性のあるバックアップ状態を特定するものと想定する。論理的に整合性のあるバックアップ状態を特定した後、ステップ102は、図3のスナップショット要求68を大容量ストレージ読取り/書込み処理ブロック42に送信する。
次に、図4を参照すると、そのスナップショット要求が、判定ブロック66によって処理され、ステップ70、72、及び74が実行されることになる。ステップ70で、スナップショットマップがバックアップマップにコピーされる。図7Aで、これは、マップ場所140がバックアップマップ48のマップ場所142にコピーされることを意味する。したがって、マップ場所142は、場所3、4、及び6に新しいデータが格納されていることを示す。次に、図4に戻ると、上述したとおり、ステップ72により、スナップショットマップがクリアされ、ステップ74により、スナップショットストレージがクリアされる。次に、図4の実行は、開始に戻ってさらなる処理を待つ。
この時点で、書込み要求が大容量ストレージ読取り/書込み処理ブロック42に着信して、図7Aのデータブロック144が、記憶場所138に格納されることを要求する。これは書込み要求であるため、実行は、判定ブロック66、76、及び78を通って図4の判定ブロック82に進む。前の書込み要求とは異なり、図7A及び図7Bで示すとおり、時刻Tにスナップショットがとられている。したがって、実行は、判定ブロック84に進む。
判定ブロック84により、上書きを受ける記憶場所に格納されたデータが、スナップショットストレージの中に以前に格納済みであるかどうかが判定される。この例では、データブロック144は、記憶場所1及び3に格納される。記憶場所1及び3は、スナップショットストレージの中にまだ入れられていないため、実行は、ステップ86に進み、記憶場所138の場所1及び3が、スナップショットストレージ22にコピーされる。(この実施形態では、図4の判定ブロック85は存在しないことを想い起こされたい。)図7Aでは、これを記憶場所146がデータブロック1を含み、記憶場所148がデータブロック3bを含んでいることで示している。
データブロック1及び3bがスナップショットストレージ22の中に保存された後、ステップ88で、新しいデータブロックが、大容量記憶デバイスに書き込まれる。図7Aに戻ると、これは、データブロック1aによってデータブロック1が上書きされ、データブロック3cによってデータブロック3bが上書きされている記憶場所150を生成するために、データブロック1a及び3cが記憶場所138に書き込まれることを意味する。次に、図5のステップ90により、データブロックが変更されているものとして識別される必要があることが述べられている。したがって、スナップショットマップ52のマップ場所152を変更して、記憶場所1及び記憶場所3に新しいデータが格納されていることが示される。次に、図4のステップ92によって指示されるとおり、書込み要求応答が戻される。
次に、図5に戻ると、図5のステップ102によって指示されるとおり、図3の大容量ストレージ読取り/書込み処理ブロック42によって時刻Tにスナップショットがとられている。次に、ステップ104及び106により、スナップショットがとられる前に変更されていたデータブロックが伝送パケットにアセンブルされて、スナップショットコピー16に送信されるべきことが示される。転送されるべきデータブロックは、バックアップマップ48及び保護マップ53に含まれる情報によって示される。
図7Aに戻ると、バックアップマップ48のマップ場所142により、時刻Tにスナップショットがとられるのに先立って記憶場所3、4、及び6が変更されていることが示される。スナップショット場所152の検査により、データブロック4及び6が大容量記憶システム上にあり、データブロック3がスナップショットストレージ22の中にあることが示される。次に、図5のステップ104により、記憶場所3、4、及び6に格納されているデータブロックが図3のバックアップ読取り処理ブロック56によって取り出されることが要求される。
バックアップ読取り処理ブロック56は、図6に示すとおり、1次バックアップ処理ブロック54から受け取られた上記の要求を処理する。要求は、記憶場所3、4、及び6に格納されたデータブロックに関する。記憶場所3に格納されたデータブロックに関して、判定ブロック113により、記憶場所3に格納されているデータブロックが保護されないようにマーク付けられており、したがって、ステップ120で戻されないことが判定される。場所4及び6に格納されているデータブロックは、保護されないようにマーク付けられていないので、図6の判定ブロック114により、ステップ118で大容量記憶デバイスから記憶場所4及び6に格納されているデータブロックが取り出され、ステップ120で1次バックアップ処理ブロック54に戻される。このプロセスは、記憶場所150からデータブロック4b及び6aを取り出すことによってデータブロック153がアセンブルされる図7Aで図示している。次に、データブロック153は、大容量ストレージ読取り/書込み処理42を介してスナップショットコピー16に転送される。これを図7A及び図7Bに図示している。図7Bでは、データブロック153がスナップショットコピー16によって受信され、記憶場所124に印加されて記憶場所154が実現される。記憶場所154は、バックアップが所望されないものとして特定されているために除外される記憶場所3を除き、元のデータの記憶場所138(図7A)と全く同じである。記憶場所138は、スナップショットがとられた時点Tにおける大容量記憶デバイス20の状態を表していたことを想い起こされたい。したがって、スナップショットコピー16を時刻Tにおける元のデータ14と同期させるため、時刻Tと時刻Tの間に行われた変更が、現時点で、スナップショットコピー16にバックアップされている。
次に、図7Aに戻り、データブロック156が記憶場所150に書き込まれるものと想定する。データブロック156の書込みにより、記憶場所1、4、及び6に格納されたデータブロックに対する変更が生じる。大容量ストレージ読取り/書込み処理ブロック42が、上述したとおり、場所4及び6に格納されるデータブロックの書込みを処理し、時刻T後にそれらの場所に格納されたデータブロック144(データブロック4b及びデータブロック6a)が、スナップショットストレージ22の中に格納される。次に、新しいデータブロック4c及び6bが、大容量記憶デバイス20に書き込まれる。
記憶場所1に格納されるデータブロックに関して、実行は、図4で判定ブロック84まで進む。この判定ブロックは、スナップショットがとられた時点に記憶場所に格納されているデータブロックが、スナップショットストレージの中に以前に保存済みであるかどうかをテストすることを想い起こされたい。記憶場所1に格納されているデータブロックに関して、データブロックは、図7Aのデータブロック146によって示されるとおりスナップショットストレージ22の中に以前に格納済みである。したがって、図4は、ステップ86がスキップされ、新しいデータが大容量記憶デバイスに書き込まれることを示している。図7Aで、これにより、データブロック1bがデータブロック1aに取って代わり、そのデータブロックが失われることになる。
本発明は、前回のバックアップ以来、変更されている記憶場所の所望されるデータブロックだけを転送する。さらに、データブロックは、スナップショットがとられた時点に存在していたとおりに転送される。したがって、前回のバックアップ以来、元のデータにおける特定の記憶場所に5つの異なるデータブロックが格納されている場合、最後に格納されたデータブロック(例えば、スナップショットがとられる直前の)だけがスナップショットコピーに転送される。これは、バックアップをとる際にスナップショットコピー16が、論理的に整合性のあるバックアップだけを保存するからである。言い換えれば、スナップショットコピーは、ある時点における論理的に整合性のある状態から別の時点における論理的に整合性のある状態に移る。別々の時点における所望されるデータブロックの論理的に整合性のある状態を保存することにより、従来の技術に勝る大きな利点が提供される。
例えば、元のデータに対して行われたすべての変更を逐一キャプチャする従来技術のシステムを考慮されたい。そのような従来技術のシステムは、すべての書込み操作を元のデータとバックアップコピーの両方に送ろうと試みる。理論的には、これにより、バックアップコピーが大容量記憶デバイスと全く同じコピーになる。しかし、この手法では問題が生じる。具体的には、バックアップコピーにすべての更新を送ることは、比較的大きい帯域幅を要する。単一のデータブロックの複数回の更新を併合して単一の更新にすることにより、本発明は、元のコピーとバックアップコピーの間で転送されなければならないデータの量を少なくする。
さらに、元のデータを含む1次システムが書込み更新中にクラッシュした場合、それにより元のデータが論理的に不整合な状態のままになる可能性がある。バックアップコピーが元のデータに対して行われるすべての変更を追跡している場合は、1次システムがクラッシュした際、バックアップコピーも論理的に不整合な状態のままになる可能性がある。この例により、第2の論理的に整合性のある状態が特定される前に既知の論理的に整合性のある状態を離れることの問題が際立つ。本発明は、本発明は、新しい論理的に整合性のある状態が特定されるまで前の論理的に整合性のある状態を保持し、次に、前の論理的に整合性のある状態から次の論理的に整合性のある状態にスナップショットコピーを移すことを、その2つの論理的に整合性のある状態の間で論理的に不整合な状態を通って遷移することなく行うことにより、上述した問題を回避する。
図7Aに戻ると、データブロック156が記憶場所150に印加された際、記憶場所158がもたらされる。次に、マップ場所152が更新されて、時刻T以来、変更されている記憶場所に、現時点で、記憶場所1及び3に加えて記憶場所4及び6が含まれることを示す。これを図7Aでスナップショットストレージ52のマップ場所160で示している。
次に、大容量記憶デバイス20の第2のバックアップが行われるものと想定する。その場合、バックアップは、図5で上述したとおり行われ、実行は、ステップ100に進み、論理的に整合性のある状態が特定される。図7Aで、その論理的に整合性のある状態は、時刻Tに特定されたものと想定する。すると、図5のステップ102により、時刻Tにスナップショットがとられることが通知される。時刻Tにとられるスナップショットに関連して上述したとおり、大容量ストレージ読取り/書込み処理ブロック42が、図3のスナップショット要求68のようなスナップショット要求を受け取り、ステップ70でスナップショットマップをバックアップマップにコピーする。これを図7Aで示しており、バックアップマップ48のマップ場所162がスナップショットマップ52のマップ場所160と同じになるように変更される。
次に、図4のステップ72及び74により、スナップショットマップ及びスナップショットストレージがクリアされるべきことが示される。図7Aで、スナップショットマップ52のマップ場所164で示されるとおりスナップショットマップがクリアされる。ただし、スナップショットストレージ22には依然としてデータブロックが格納されているのが示されている。これは、スナップショットストレージ22に対するインデックスがクリアされて、スナップショットストレージ22が全くデータブロックを含くまないように見える限り、データブロックは、スナップショットストレージ22の中に依然として物理的に存在していてもよいことを示すためである。
時刻Tにスナップショットがとられた後に記憶場所158の中にデータブロックが全く存在しないものと想定すると、データブロック166は、図6で説明するプロセスに従って記憶場所158から読み取られる。記憶場所158の場所3は、図5の判定ブロック113が保護マップ場所129を使用して場所3が保護されないことを判定するため、読み取られないことに留意されたい。したがって、データブロック3cが読み取られて、バックアップシステムに転送されることはない。図5のステップ104及び106で示すとおり、読み取られたデータブロックは、次に、大容量ストレージ読取り/書込み処理ブロック42を介してスナップショットコピーに伝送される。図7Bに示すとおり、データブロック166は、次に、記憶場所168に達するために記憶場所154に印加され、記憶場所168は、バックアップが所望されないものとして特定されているために除外される記憶場所3を除き、元のデータ(図7A)の記憶場所158と全く同じコピーである。
次に、図8A及び図8Bは、保護されるデータブロックだけをスナップショットストレージの中に格納する本発明の実施形態を示しており、これは、データブロックがスナップショットストレージの中に出現する場合、そのデータブロックは、必然的に保護されるデータブロックであることを意味する。上述したとおり、本発明は、図4の判定ブロック85の有無に関わらず実施することができる(保護されるデータブロックだけをスナップショットストレージの中に格納して)。以下の図8A及び図8Bの説明は、図4の判定ブロック85が存在し、したがって、保護されるデータブロックだけがスナップショットストレージの中に格納されるものと想定する。図7A及び図7Bの以上の説明の多くは、8A及び図8Bにも当てはまるので、図8A及び図8Bの以下の説明は、図7A、図7B、図8A、図8Bの間の違い、すなわち、スナップショットストレージ22の操作について中心的に扱う。
図3に示すとおり、時刻Tに、スナップショット要求68が大容量ストレージ読取り/書込み処理ブロック42に送られる。図4を再び参照すると、そのスナップショット要求が判定ブロック66によって処理されて、ステップ70、72、及び74が実行されることになる。ステップ70で、スナップショットマップがバックアップマップにコピーされる。図8Aで、これは、マップ場所140がバックアップマップ48のマップ場所142にコピーされることを意味する。したがって、マップ場所142により、場所3、4、及び6に新しいデータが格納されていることが示される。図4に戻ると、上述したとおり、ステップ72により、スナップショットマップがクリアされ、ステップ74により、スナップショットストレージがクリアされる。次に、図4の実行は、開始に戻り、さらなる処理を待つ。
この時点で、図8Aのデータブロック144が記憶場所138に格納されることを要求する書込み要求が大容量ストレージ読取り/書込み処理ブロック42に着信する。これは書込み要求であるため、実行は、図4の判定ブロック66、76、及び78を通って判定ブロック82まで進む。図8A及び図8Bに示すとおりスナップショットが時刻Tにとられて、実行は、判定ブロック84に進む。ここまでは、図7A及び図7Bに関連して説明した処理と全く同じである。
判定ブロック84により、上書きを受ける記憶場所に格納されたデータが、スナップショットストレージの中に以前に格納済みであるか否かが判定される。この例では、データブロック144は、記憶場所1及び3に格納されることになる。記憶場所1及び3はまだスナップショットストレージの中に入れられていないため、プロセスは、判定ブロック85を実行して、バックアップが所望されるデータブロックとバックアップが所望されないデータブロックを区別する。図8Aの保護マップ場所129のデータブロック3は、バックアップが所望されないものとしてマーク付けされているので、実行は、判定ブロック85からステップ86をスキップしてステップ88に進む。記憶場所138のデータブロック3bは、スナップショットストレージ22にコピーされない。しかし、保護マップ場所129のデータブロック1は、バックアップが所望されるものとして特定されており、したがって、保護されるものとしてマーク付けされている(すなわち、データブロック1は、保護されないようにマーク付けされていない)。したがって、データブロック1が処理される際、実行は、判定ブロック85からステップ86に進み、記憶場所138のデータブロック1がスナップショットストレージ22にコピーされる。図8Aで、これは、スナップショットストレージ22が146という符号の付いたデータブロック1を含むことで示されている。上述したとおり、スナップショットストレージ22が保護されるデータブロックだけを含むことを確実にすることが、図7A及び図7Bの実施形態と図8A及び図8Bの実施形態の間の違いである。
データブロック1がスナップショットストレージ22の中に保存された後、ステップ88で、新しいデータブロックが、元のデータに書き込まれる。図8Aに戻ると、これは、データブロック1aによってデータブロック1が上書きされ、データブロック3cによってデータブロック3bが上書きされた記憶場所150をもたらすためにデータブロック1a及び3cが記憶場所138に書き込まれることを意味する。次に、図5のステップ90により、データブロックが変更されているものとして特定される必要があることが述べられている。したがって、スナップショットマップ52のマップ場所152が変更されて、記憶場所1及び記憶場所3に新しいデータが格納されていることを示す。次に、図4のステップ92によって指示されるとおり、書込み要求応答が戻される。
この時点で、図8A及び図8Bに示した実施形態は、図7A及び図7Bに示した実施形態と全く同様に機能して進められる。図5に戻ると、図5のステップ102によって指示されるとおり、図3の大容量ストレージ読取り/書込み処理ブロック42によって時刻Tにスナップショットがとられている。次に、ステップ104及び106により、スナップショットがとられる前に変更されたデータブロックがアセンブルされ、スナップショットコピーに送信されるべきことが示される。転送されるべきデータブロックは、バックアップマップ48及び保護マップ53に含まれる情報によって示される。
図8Aを参照すると、バックアップマップ48のマップ場所142により、時刻Tにスナップショットがとられるのに先立って記憶場所3、4、及び6が変更されていることが示される。スナップショット場所152の検査により、データブロック4及び6が大容量記憶システム上にあり、データブロック3は、保護されるものとしてマーク付けされている場合、スナップショットストレージ22の中にあることが示される(しかし、前述したとおり、データブロック3は、保護されないものとしてマップ場所129においてマーク付けされているため、スナップショットストレージ22の中に格納されていない。)。次に、図5のステップ104により、記憶場所3、4、及び6に格納されたデータブロックが図3のバックアップ読取り処理ブロック56によって取り出されることが要求される。
バックアップ読取り処理ブロック56は、図6に示すとおり、1次バックアップ処理ブロック54から受け取られたその要求を処理する。要求は、記憶場所3、4、及び6に格納されたデータブロックに関する。記憶場所3に格納されたデータブロックに関して、判定ブロック113により、そのデータブロックが保護されないようにマーク付けされていると判定され、したがって、このデータブロックは、ステップ120で戻されない。場所4及び6に格納されたデータブロックは、保護されないようにマーク付けされていないため、図6の判定ブロック114により、ステップ118で、元のデバイスから記憶場所4及び6に格納されたデータブロックが取り出され、ステップ120で、1次バックアップ処理ブロック54に戻される。このプロセスを図8Aに示しており、記憶場所150からデータブロック4b及び6aを取り出すことによってデータブロック153がアセンブルされる。次に、データブロック153は、大容量ストレージ読取り/書込み処理ブロック42を介してスナップショットコピーに転送される。次に、データブロック153が記憶場所124に印加されて、記憶場所154が達せられる。記憶場所154は、バックアップが所望されないものとして特定されているために除外されている記憶場所3を除き、1次システム(図8A)の記憶場所138と全く同じである。記憶場所138は、スナップショットがとられた時刻Tにおける大容量記憶デバイス20の状態を表していたことを想い起こされたい。したがって、時刻Tと時刻Tの間に行われた変更は、スナップショットコピーを時刻Tにおける元のデータと同期させるために、現時点で、スナップショットコピー16にバックアップ済みである。
次に、図8Aに戻ると、データブロック156が次に、記憶場所150に書き込まれるものと想定する。データブロック156の書込みにより、記憶場所1、4、及び6に格納されたデータブロックに対する変更が生じる。大容量ストレージ読取り/書込み処理ブロック42が、場所4及び6に格納されるべきデータブロックの書込みを、時刻T後にそれらの場所に格納されるデータブロック144に関して前述したのと同様に処理する(データブロック4b及びデータブロック6aが、スナップショットストレージ22に格納されて)。次に、新しいデータブロック4c及び6bが、元のデータ14に書き込まれる。
記憶場所1に格納されるべきデータブロックに関して、実行は、図4で、判定ブロック84まで進む。この判定ブロックは、スナップショットがとられた時点で記憶場所に格納されているデータブロックが、スナップショットストレージの中に以前に保存済みであるかどうかをテストすることを思い起こされたい。記憶場所1に格納されたデータブロックは、図8Aのデータブロック146によってスナップショットストレージ22の中に以前に格納済みである。したがって、図4は、ステップ86がスキップされ、新しいデータが単に元のデータに書き込まれることを示している。図8Aで、これにより、データブロック1bがデータブロック1aに取って代わり、このデータブロックが失われることになる。データブロック156が記憶場所150に印加された際、記憶場所158がもたらされる。次に、マップ場所152が更新されて、時刻T以来、変更されている記憶場所に、現時点で、記憶場所1及び3に加えて記憶場所4及び6が含まれることを示す。これを図8Aにスナップショットストレージ52のマップ場所160で示している。
次に、大容量記憶デバイス20の第2のバックアップが行われるものと想定する。その場合、バックアップは、図5で上述したとおり行われ、実行は、論理的に整合性のある状態が特定されるステップ100に進む。図8Aで、時刻Tに論理的に整合性のある状態が特定されたものと想定する。次に、図5のステップ102により、時刻Tにスナップショットがとられるべきことが通知される。時刻Tにとられるスナップショットに関連して前述したとおり、大容量ストレージ読取り/書込み処理ブロック42が、図3のスナップショット要求68のようなスナップショット要求を受け取り、ステップ70で、スナップショットマップをバックアップマップにコピーする。これを図8Aに示しており、バックアップマップ48のマップ場所162が、スナップショットマップ52のマップ場所160と同じになるように変更されている。
次に、図4のステップ72及び74により、スナップショットマップ及びスナップショットストレージがクリアされるべきことが示される。図8Aで、スナップショットマップ52のマップ場所164によって示されるとおり、スナップショットマップがクリアされる。ただし、スナップショットストレージ22には依然としてデータブロックが格納されているのが示されている。これは、スナップショットストレージ22に対するインデックスがクリアされて、スナップショットストレージ22が全くデータブロックを含くまないように見える限り、データブロックは、スナップショットストレージ22の中に依然として物理的に存在していてもよいことを示すためである。
時刻Tにスナップショットがとられた後に記憶場所158の中に全くデータブロックが存在しないものと想定すると、図6で説明したプロセスに従ってデータブロック166が、記憶場所158から読み取られる。図5の判定ブロック113が保護マップ場所129を使用して場所3が保護されないことを判定するため、記憶場所158の場所3は読み取られないことに留意されたい。したがって、データブロック3cが読み取られて、バックアップシステムに転送されることはない。図5のステップ104及び106に示すとおり、読み取られたデータブロックは、次に、アセンブルされ、大容量記憶読取り/書込み処理ブロック42を介してスナップショットコピーに送られる。データブロック166は、記憶場所168に達するために記憶場所154に印加され、記憶場所168は、バックアップが所望されないものとしてユーザによって特定されているために除外される記憶場所3を除き、元のデータ(図8A)の記憶場所158と全く同じコピーである。
上述したように、変更されており、保護されるように指定されているデータブロックだけが、バックアップされる。図4のステップ85で、データブロックが保護されるように指定されていない場合、データブロックは、元のデータブロックをスナップショットストレージに書き込むことなく、単に上書きされることが可能であり、これにより、スナップショットストレージメモリが節約される。また、データブロックは、保護されるものとして指定される場合にだけバックアップシステムに伝送されるので、より少ないデータがバックアップシステムに伝送されることにより、バックアップ時間がより高速になる。
本発明は、本発明の趣旨または基本的特徴を逸脱することなく、他の特定の形態で実施することができる。説明した実施形態は、すべての点で単に例示的であり、これに限定するものではない。したがって、本発明の技術的範囲は、以上の説明によってではなく、特許請求の範囲によって示される。特許請求の範囲と等価の意味及び範囲に含まれるすべての変更が、特許請求の範囲に含まれるものである。
本発明のバックアップシステムを説明するためのブロック図である。 本発明のバックアップ方法を説明するためのタイミングを示す図である。 本発明のバックアップシステムの一実施形態を示すシステムレベルのブロック図である。 図3に示した大容量ストレージ読取り/書込み処理ブロックの処理フローを示す図である。 図3に示した1次バックアップ処理ブロックの処理フローを示す図である。 図3に示したバックアップ読取り処理ブロックの処理フローを示す図である。 本発明のバックアップ方法の一実施形態を示す図(その1)である。 本発明のバックアップ方法の一実施形態を示す図(その2)である。 本発明のバックアップ方法の一実施形態を示す図(その3)である。 本発明のバックアップ方法の一実施形態を示す図(その3)である。

Claims (23)

  1. 複数のデータブロックでデータを格納し、該データのスナップショットコピーを含むデータ記憶場所にアクセスを有する大容量記憶デバイスを備えたコンピュータシステムにおける、バックアップされるように指定されているデータブロックを前記スナップショットコピーにバックアップする方法であって、
    指定の期間中に前記大容量記憶デバイスにおいて変更されたデータブロックを特定するステップと、
    前記特定されたデータブロックのなかからの他のデータブロックがバックアップされず、前記特定されたデータブロックのなかからのデータブロックをバックアップされるべきデータブロックとして指定するステップと、
    前記指定されたデータブロックのコピーを、前記スナップショットコピーを含む前記データ記憶場所に伝送して、前記データブロックの前記伝送されたコピーが前記スナップショットコピーに含められることを可能にするステップと
    を有することを特徴とするバックアップ方法。
  2. 前記変更されたデータブロックを特定するステップは、前記指定の期間中に変更された少なくとも前記データブロックに関するエントリを含むテーブルを保持するステップを有することを特徴とする請求項1に記載のバックアップ方法。
  3. 前記データブロックを指定するステップは、前記指定されたデータブロックが、バックアップされるべき前記データブロックとして指定される前記大容量記憶デバイスの前記データブロックのマップを保持するステップを有することを特徴とする請求項1に記載のバックアップ方法。
  4. 前記データブロックを指定するステップが、バックアップされない前記他のデータブロックを特定することによって実行されることを特徴とする請求項1に記載のバックアップ方法。
  5. バックアップされるべき前記データブロックを特定する入力をユーザから受け取るステップを有することを特徴とする請求項1に記載のバックアップ方法。
  6. バックアップされない前記データブロックを特定する入力をユーザから受け取るステップを有することを特徴とする請求項1に記載のバックアップ方法。
  7. 前記変更されたデータブロックを特定するステップが、前記大容量記憶デバイスに対するユーザアクセスの中断なしに実行されることを特徴とする請求項1に記載のバックアップ方法。
  8. 前記スナップショットコピーを含む前記データ記憶場所が、前記大容量記憶デバイスから遠隔に配置されることを特徴とする請求項1に記載のバックアップ方法。
  9. 前記スナップショットコピーを含む前記データ記憶場所が、前記大容量記憶デバイス内に含まれることを特徴とする請求項1に記載のバックアップ方法。
  10. 前記指定されたデータブロックのコピーを伝送するステップは、前記期間中に前記指定されたデータブロックの最新の変更を表す前記指定されたデータブロックのコピーだけを伝送して、前記指定されたデータブロックの中間の変更が全く前記スナップショットコピーを含む前記データ記憶場所に伝送されないようにするステップを有することを特徴とする請求項1に記載のバックアップ方法。
  11. 複数のデータブロックでデータを格納し、前記データのスナップショットコピーを含むデータ記憶場所にアクセスを有する大容量記憶デバイスを備えたコンピュータシステムにおける、バックアップされるように指定されているデータブロックを前記スナップショットコピーにバックアップする方法であって、
    バックアップされるべきデータブロックを特定するユーザ入力を受け取るステップと、
    第1の時点において前記データの前記スナップショットコピーの作成を開始するステップと、
    前記第1の時点と第2の時点の間の期間中、前記大容量記憶デバイスの前記データブロックに対する変更を追跡して、変更された前記データブロックを特定するようにするステップと、
    前記第2の時点においてバックアップされるように特定され、かつ前記期間中に変更されている対応するデータブロックに対する最新の変更だけを表すデータブロックだけのコピーを、前記スナップショットコピーを含む前記データ記憶場所に伝送することによって前記スナップショットコピーの更新を開始するステップと
    を有することを特徴とするバックアップ方法。
  12. 前記変更を追跡するステップは、前記期間中に変更された前記データブロックをデータ構造の中で特定するステップを有することを特徴とする請求項11に記載のバックアップ方法。
  13. 前記変更された前記データブロックを特定するステップは、前記期間中に変更された前記データブロックをテーブルの中にリストするステップを有することを特徴とする請求項12に記載のバックアップ方法。
  14. 前記変更された前記データブロックを特定するステップは、前記データブロックを前記大容量記憶システムの前記データブロックのマップの中で特定するステップを有することを特徴とする請求項12に記載のバックアップ方法。
  15. バックアップされるべき前記データブロックを前記データ構造の中で指定するステップを有することを特徴とする請求項12に記載のバックアップ方法。
  16. バックアップされない前記データブロックを前記データ構造の中で指定するステップを有することを特徴とする請求項12に記載のバックアップ方法。
  17. 前記第2の時点が、前記スナップショットコピーの更新の後、前記スナップショットコピーが論理的に整合性のあるデータを含むように選択されることを特徴とする請求項11に記載のバックアップ方法。
  18. 複数のデータブロックでデータを格納し、前記データのスナップショットコピーを含むデータ記憶場所にアクセスを有する大容量記憶デバイスを備えたコンピュータシステムにおける、バックアップされるように指定されているデータブロックを前記スナップショットコピーにバックアップする方法を実装するためのコンピュータプログラム製品であって、
    前記コンピュータシステムによって実行された際、前記コンピュータシステムが、指定の期間中に前記大容量記憶デバイスにおいて変更されたデータブロックを特定するステップと、
    前記特定されたデータブロックのなかからの他のデータブロックがバックアップされず、前記特定されたデータブロックのなかからのデータブロックをバックアップされるべきデータブロックとして指定するステップと、
    前記指定されたデータブロックのコピーを、前記スナップショットコピーを含む前記データ記憶場所に伝送して、前記データブロックの前記伝送されたコピーが前記スナップショットコピーに含められることを可能にするステップと
    を実行するようにさせる前記バックアップ方法を実装するためのコンピュータ実行可能命令を担持するコンピュータ読取可能なメディアを備えたことを特徴とするコンピュータプログラム製品。
  19. 前記変更されたデータブロックを特定するステップは、前記指定の期間中に変更された少なくとも前記データブロックに関するエントリを含むテーブルを保持するステップを有することを特徴とする請求項18に記載のコンピュータプログラム製品。
  20. 前記データブロックを指定するステップは、前記指定されたデータブロックがバックアップされるべき前記データブロックとして指定される前記大容量記憶デバイスの前記データブロックのマップを保持するステップを有することを特徴とする請求項18に記載のコンピュータプログラム製品。
  21. 前記変更されたデータブロックを特定するステップが、前記大容量記憶デバイスに対するユーザアクセスの中断なしに実行されることを特徴とする請求項18に記載のコンピュータプログラム製品。
  22. 前記スナップショットコピーを含む前記データ記憶場所が、前記大容量記憶デバイスから遠隔に配置されることを特徴とする請求項18に記載のコンピュータプログラム製品。
  23. 前記スナップショットコピーを含む前記データ記憶場所が、前記大容量記憶デバイス内に含まれることを特徴とする請求項18に記載のコンピュータプログラム製品。
JP2003550066A 2001-11-29 2002-11-15 大容量記憶システムの選択されたデータのスナップショットを保存するためのバックアップ方法 Expired - Lifetime JP4181044B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/997,643 US7296125B2 (en) 2001-11-29 2001-11-29 Preserving a snapshot of selected data of a mass storage system
PCT/US2002/037309 WO2003048941A1 (en) 2001-11-29 2002-11-15 Preserving a snapshot of selected data of a mass storage system

Publications (3)

Publication Number Publication Date
JP2005512191A true JP2005512191A (ja) 2005-04-28
JP2005512191A5 JP2005512191A5 (ja) 2005-12-22
JP4181044B2 JP4181044B2 (ja) 2008-11-12

Family

ID=25544232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003550066A Expired - Lifetime JP4181044B2 (ja) 2001-11-29 2002-11-15 大容量記憶システムの選択されたデータのスナップショットを保存するためのバックアップ方法

Country Status (7)

Country Link
US (2) US7296125B2 (ja)
EP (1) EP1449088A4 (ja)
JP (1) JP4181044B2 (ja)
KR (1) KR100560726B1 (ja)
CN (1) CN1291320C (ja)
AU (1) AU2002350221A1 (ja)
WO (1) WO2003048941A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502470A (ja) * 2003-08-14 2007-02-08 コンペレント・テクノロジーズ 仮想ディスク・ドライブのシステムおよび方法
US7363365B2 (en) 2004-07-13 2008-04-22 Teneros Inc. Autonomous service backup and migration
US7363366B2 (en) 2004-07-13 2008-04-22 Teneros Inc. Network traffic routing
JP2008545198A (ja) * 2005-06-29 2008-12-11 イーエムシー コーポレイション クライアントユーティリティを使用する単一クライアントスナップショットの作成
US7886111B2 (en) 2006-05-24 2011-02-08 Compellent Technologies System and method for raid management, reallocation, and restriping
JP2012527656A (ja) * 2008-06-30 2012-11-08 シマンテック・コーポレーション ボリュームへの変更を追跡するシステムおよび方法
US8468292B2 (en) 2009-07-13 2013-06-18 Compellent Technologies Solid state drive data storage system and method

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
WO2003028183A1 (en) 2001-09-28 2003-04-03 Commvault Systems, Inc. System and method for generating and managing quick recovery volumes
US6826666B2 (en) * 2002-02-07 2004-11-30 Microsoft Corporation Method and system for transporting data content on a storage area network
US7043507B2 (en) * 2002-02-28 2006-05-09 Veritas Operating Corporation System and method for validated indirect data backup using operating system I/O Operations
US6993539B2 (en) * 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7096330B1 (en) * 2002-07-29 2006-08-22 Veritas Operating Corporation Symmetrical data change tracking
WO2004034197A2 (en) 2002-10-07 2004-04-22 Commvault Systems, Inc. System and method for managing stored data
US7707184B1 (en) * 2002-10-09 2010-04-27 Netapp, Inc. System and method for snapshot full backup and hard recovery of a database
US7380081B2 (en) * 2003-06-06 2008-05-27 Hewlett-Packard Development Company, L.P. Asynchronous data redundancy technique
US7136974B2 (en) * 2003-06-19 2006-11-14 Pillar Data Systems, Inc. Systems and methods of data migration in snapshot operations
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
US7165155B1 (en) * 2003-08-29 2007-01-16 Emc Corporation System and method for tracking changes associated with incremental copying
US7702670B1 (en) * 2003-08-29 2010-04-20 Emc Corporation System and method for tracking changes associated with incremental copying
US7225208B2 (en) * 2003-09-30 2007-05-29 Iron Mountain Incorporated Systems and methods for backing up data files
WO2005048085A2 (en) 2003-11-13 2005-05-26 Commvault Systems, Inc. System and method for performing an image level snapshot and for restoring partial volume data
GB2423850B (en) 2003-11-13 2009-05-20 Commvault Systems Inc System and method for performing integrated storage operations
US7139887B2 (en) * 2003-12-31 2006-11-21 Veritas Operating Corporation Coordinated storage management operations in replication environment
US7636821B2 (en) * 2004-01-15 2009-12-22 International Business Machines Corporation Asynchronous hybrid mirroring system
JP2005235058A (ja) 2004-02-23 2005-09-02 Hitachi Ltd スナップショット取得方法、スナップショット取得装置及びスナップショット取得機能を備えたコンピュータシステム
JP4439960B2 (ja) * 2004-03-22 2010-03-24 株式会社日立製作所 ストレージ装置
US7343449B2 (en) * 2004-03-22 2008-03-11 Hitachi, Ltd. Storage subsystem and storage system
US20050223180A1 (en) * 2004-03-31 2005-10-06 Philip Derbeko Accelerating the execution of I/O operations in a storage system
US20060015584A1 (en) * 2004-07-13 2006-01-19 Teneros, Inc. Autonomous service appliance
US20060015764A1 (en) * 2004-07-13 2006-01-19 Teneros, Inc. Transparent service provider
US7380157B2 (en) * 2004-10-27 2008-05-27 Pillar Data Systems, Inc. Staggered writing for data storage systems
US20060106893A1 (en) * 2004-11-02 2006-05-18 Rodger Daniels Incremental backup operations in storage networks
US8959299B2 (en) 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
US20060123211A1 (en) * 2004-12-08 2006-06-08 International Business Machines Corporation Method for optimizing a snapshot operation on a file basis
US7464234B1 (en) * 2005-03-23 2008-12-09 Symantec Corporation Position independent incremental backup
US7159072B2 (en) * 2005-03-24 2007-01-02 Hitachi, Ltd. Method and apparatus for monitoring the quantity of differential data in a storage system
CN100405310C (zh) * 2005-07-12 2008-07-23 中国科学院计算技术研究所 一种快照系统及方法
US7506116B2 (en) * 2005-07-19 2009-03-17 International Business Machines Corporation Maintaining and using information on updates to a data group after a logical copy is made of the data group
US20070027938A1 (en) * 2005-07-26 2007-02-01 Scribe Software Inc. Detecting data changes
US7991971B2 (en) * 2005-09-09 2011-08-02 Microsoft Corporation State management for transactional backup consistency
US7325111B1 (en) 2005-11-01 2008-01-29 Network Appliance, Inc. Method and system for single pass volume scanning for multiple destination mirroring
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
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
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US8661216B2 (en) 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
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
US7509467B2 (en) * 2006-01-13 2009-03-24 Hitachi, Ltd. Storage controller and data management method
JP4800056B2 (ja) * 2006-02-09 2011-10-26 株式会社日立製作所 ストレージシステム及びその制御方法
JP4856955B2 (ja) 2006-01-17 2012-01-18 株式会社日立製作所 Nasシステム及びリモートコピー方法
US7904492B2 (en) * 2006-03-23 2011-03-08 Network Appliance, Inc. Method and apparatus for concurrent read-only access to filesystem
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US9454536B1 (en) 2006-09-28 2016-09-27 Emc Corporation Space compaction and defragmentation mechanisms in data space
US7647466B1 (en) 2006-09-28 2010-01-12 Emc Corporation Linear space allocation mechanisms in data space
US7594085B1 (en) 2006-09-28 2009-09-22 Emc Corporation Reclaiming data space
US7587431B1 (en) * 2006-09-28 2009-09-08 Emc Corporation Updating snapshots
US8862639B1 (en) 2006-09-28 2014-10-14 Emc Corporation Locking allocated data space
US7526623B1 (en) 2006-09-28 2009-04-28 Emc Corporation Optimizing reclamation of data space
US7756831B1 (en) 2006-09-28 2010-07-13 Emc Corporation Cooperative locking between multiple independent owners of data space
US8533158B1 (en) 2006-09-28 2013-09-10 Emc Corporation Reclaiming data space by rewriting metadata
US7676510B1 (en) * 2006-12-22 2010-03-09 Network Appliance, Inc. Space reservation monitoring in a fractionally reserved data storage system
US7685189B2 (en) * 2006-12-27 2010-03-23 Microsoft Corporation Optimizing backup and recovery utilizing change tracking
US7801867B2 (en) * 2006-12-27 2010-09-21 Microsoft Corporation Optimizing backup and recovery utilizing change tracking
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
CN100456255C (zh) * 2007-04-29 2009-01-28 华为技术有限公司 一种取快照数据的装置及方法
WO2009031156A2 (en) * 2007-09-09 2009-03-12 Ingrid Networks Ltd Method and apparatus for grid based data protection
US7865475B1 (en) * 2007-09-12 2011-01-04 Netapp, Inc. Mechanism for converting one type of mirror to another type of mirror on a storage system without transferring data
US8489554B2 (en) * 2007-10-05 2013-07-16 Ge Intelligent Platforms, Inc. Methods and systems for operating a sequence of events recorder
US8386733B1 (en) * 2008-02-15 2013-02-26 Symantec Corporation Method and apparatus for performing file-level restoration from a block-based backup file stored on a sequential storage device
US8392675B1 (en) * 2008-04-30 2013-03-05 Netapp, Inc. System and method for reduced-overhead snapshot creation
EP2307975A4 (en) * 2008-07-02 2012-01-18 Hewlett Packard Development Co VERIFYING REMOTE COPIES OF DATA
US8123739B2 (en) * 2008-08-19 2012-02-28 Cook Medical Technologies Llc Drainage catheter and method for catheterizing a patient
US8250033B1 (en) 2008-09-29 2012-08-21 Emc Corporation Replication of a data set using differential snapshots
US8117160B1 (en) 2008-09-30 2012-02-14 Emc Corporation Methods and apparatus for creating point in time copies in a file system using reference counts
US8250035B1 (en) 2008-09-30 2012-08-21 Emc Corporation Methods and apparatus for creating a branch file in a file system
CN102187317B (zh) 2008-10-30 2013-09-18 国际商业机器公司 闪速拷贝管理
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
US8296469B2 (en) * 2008-12-31 2012-10-23 Intel Corporation Scalable method and apparatus for link with reconfigurable ports
US8515911B1 (en) 2009-01-06 2013-08-20 Emc Corporation Methods and apparatus for managing multiple point in time copies in a file system
JP5413948B2 (ja) 2009-01-27 2014-02-12 日本電気株式会社 ストレージシステム
US8918606B1 (en) * 2009-05-01 2014-12-23 Symantec Corporation Techniques for providing incremental backups
US8832684B2 (en) * 2009-06-18 2014-09-09 The Johns Hopkins University Methods for improving atomicity of runtime inspections
US8645647B2 (en) * 2009-09-02 2014-02-04 International Business Machines Corporation Data storage snapshot with reduced copy-on-write
US9092500B2 (en) 2009-09-03 2015-07-28 Commvault Systems, Inc. Utilizing snapshots for access to databases and other applications
US8719767B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Utilizing snapshots to provide builds to developer computing devices
US8433682B2 (en) 2009-12-31 2013-04-30 Commvault Systems, Inc. Systems and methods for analyzing snapshots
CA2783370C (en) 2009-12-31 2016-03-15 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US8433867B2 (en) * 2010-01-09 2013-04-30 International Business Machines Corporation Using the change-recording feature for point-in-time-copy technology to perform more effective backups
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US20110252208A1 (en) * 2010-04-12 2011-10-13 Microsoft Corporation Express-full backup of a cluster shared virtual machine
US8898509B2 (en) 2010-05-18 2014-11-25 Vmware, Inc. Policy-based checkpointing fault tolerance across remote virtual machines
US8898508B2 (en) 2010-05-18 2014-11-25 Vmware, Inc. Method and system for enabling checkpointing fault tolerance across remote virtual machines
US8171338B2 (en) * 2010-05-18 2012-05-01 Vmware, Inc. Method and system for enabling checkpointing fault tolerance across remote virtual machines
US8898518B2 (en) 2010-05-18 2014-11-25 Vmware, Inc. Method and system for enabling checkpointing fault tolerance across remote virtual machines
US8489656B2 (en) 2010-05-28 2013-07-16 Commvault Systems, Inc. Systems and methods for performing data replication
US9558074B2 (en) * 2010-06-11 2017-01-31 Quantum Corporation Data replica control
KR101651204B1 (ko) 2010-06-15 2016-08-26 삼성전자주식회사 스냅샷 이미지의 동기화 장치 및 방법
US8566640B2 (en) 2010-07-19 2013-10-22 Veeam Software Ag Systems, methods, and computer program products for instant recovery of image level backups
US8595454B1 (en) * 2010-08-31 2013-11-26 Symantec Corporation System and method for caching mapping information for off-host backups
US8756198B2 (en) 2010-09-29 2014-06-17 International Business Machines Corporation Enhancing data store backup times
US8849750B2 (en) * 2010-10-13 2014-09-30 International Business Machines Corporation Synchronization for initialization of a remote mirror storage facility
US8843489B2 (en) 2010-11-16 2014-09-23 Actifio, Inc. System and method for managing deduplicated copies of data using temporal relationships among copies
US8417674B2 (en) 2010-11-16 2013-04-09 Actifio, Inc. System and method for creating deduplicated copies of data by sending difference data between near-neighbor temporal states
US8904126B2 (en) 2010-11-16 2014-12-02 Actifio, Inc. System and method for performing a plurality of prescribed data management functions in a manner that reduces redundant access operations to primary storage
US9858155B2 (en) 2010-11-16 2018-01-02 Actifio, Inc. System and method for managing data with service level agreements that may specify non-uniform copying of data
US8402004B2 (en) 2010-11-16 2013-03-19 Actifio, Inc. System and method for creating deduplicated copies of data by tracking temporal relationships among copies and by ingesting difference data
US8646072B1 (en) * 2011-02-08 2014-02-04 Symantec Corporation Detecting misuse of trusted seals
US8943330B2 (en) * 2011-05-10 2015-01-27 Qualcomm Incorporated Apparatus and method for hardware-based secure data processing using buffer memory address range rules
US8688650B2 (en) 2011-08-01 2014-04-01 Actifio, Inc. Data fingerprinting for copy accuracy assurance
US8738624B1 (en) 2011-09-27 2014-05-27 Amazon Technologies, Inc. Increasing distributed database capacity
CA2852607C (en) 2011-10-18 2021-05-04 Institut National De La Recherche Agronomique Use of avermectin derivative for increasing bioavailability and efficacy of macrocylic lactones
US8949664B2 (en) * 2011-11-18 2015-02-03 Nokia Corporation Method and apparatus for providing information consistency in distributed computing environments
CN102622284B (zh) * 2012-02-21 2014-04-16 上海交通大学 面向海量存储系统的数据异步复制方法
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9146851B2 (en) 2012-03-26 2015-09-29 Compellent Technologies Single-level cell and multi-level cell hybrid solid state drive
US9201887B1 (en) * 2012-03-30 2015-12-01 Emc Corporation Cluster file server proxy server for backup and recovery
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
AU2013277351A1 (en) 2012-06-18 2015-01-22 Actifio, Inc. Enhanced data management virtualization system
US20140108588A1 (en) * 2012-10-15 2014-04-17 Dell Products L.P. System and Method for Migration of Digital Assets Leveraging Data Protection
US10176183B1 (en) 2012-10-31 2019-01-08 EMC IP Holding Company LLC Method and apparatus for reducing overheads of primary storage while transferring modified data
US9235535B1 (en) * 2012-10-31 2016-01-12 Emc Corporation Method and apparatus for reducing overheads of primary storage by transferring modified data in an out-of-order manner
US9471245B1 (en) 2012-10-31 2016-10-18 Emc Corporation Method and apparatus for transferring modified data efficiently
KR101451807B1 (ko) * 2012-12-24 2014-10-22 주식회사 케이티 NoSQL 메타 데이터의 백업 및 복원장치 및 방법
US9075762B2 (en) * 2013-01-04 2015-07-07 International Business Machines Corporation Setting copy permissions for target data in a copy relationship
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9430491B2 (en) 2013-01-11 2016-08-30 Commvault Systems, Inc. Request-based data synchronization management
US9646067B2 (en) 2013-05-14 2017-05-09 Actifio, Inc. Garbage collection predictions
US9690837B1 (en) * 2013-06-28 2017-06-27 EMC IP Holding Company LLC Techniques for preserving redundant copies of metadata in a data storage system employing de-duplication
US9053216B1 (en) 2013-08-09 2015-06-09 Datto, Inc. CPU register assisted virtual machine screenshot capture timing apparatuses, methods and systems
US9690671B2 (en) * 2013-11-01 2017-06-27 Cloudera, Inc. Manifest-based snapshots in distributed computing environments
US9996423B2 (en) * 2013-11-04 2018-06-12 Falconstor, Inc. Point in time snapshots using copy on predicted write
US20150142748A1 (en) 2013-11-18 2015-05-21 Actifio, Inc. Computerized methods and apparatus for data cloning
US9665306B1 (en) * 2013-12-18 2017-05-30 EMC IP Holding Company LLC Method and system for enhancing data transfer at a storage system
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
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
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9720778B2 (en) 2014-02-14 2017-08-01 Actifio, Inc. Local area network free data movement
US9411821B1 (en) * 2014-03-27 2016-08-09 Emc Corporation Block-based backups for sub-file modifications
US9348827B1 (en) * 2014-03-27 2016-05-24 Emc Corporation File-based snapshots for block-based backups
US9792187B2 (en) 2014-05-06 2017-10-17 Actifio, Inc. Facilitating test failover using a thin provisioned virtual machine created from a snapshot
US9594636B2 (en) 2014-05-30 2017-03-14 Datto, Inc. Management of data replication and storage apparatuses, methods and systems
WO2015195834A1 (en) 2014-06-17 2015-12-23 Rangasamy Govind Resiliency director
US9542108B2 (en) * 2014-06-30 2017-01-10 Scale Computing, Inc. Efficient migration of virtual storage devices to a remote node using snapshots
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
WO2016044403A1 (en) 2014-09-16 2016-03-24 Mutalik, Madhav Copy data techniques
US10379963B2 (en) 2014-09-16 2019-08-13 Actifio, Inc. Methods and apparatus for managing a large-scale environment of copy data management appliances
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
US9880904B2 (en) * 2014-12-12 2018-01-30 Ca, Inc. Supporting multiple backup applications using a single change tracker
US9870289B2 (en) * 2014-12-12 2018-01-16 Ca, Inc. Notifying a backup application of a backup key change
US10445187B2 (en) 2014-12-12 2019-10-15 Actifio, Inc. Searching and indexing of backup data sets
WO2016115135A1 (en) 2015-01-12 2016-07-21 Xiangdong Zhang Disk group based backup
US10311150B2 (en) 2015-04-10 2019-06-04 Commvault Systems, Inc. Using a Unix-based file system to manage and serve clones to windows-based computing clients
US10282201B2 (en) 2015-04-30 2019-05-07 Actifo, Inc. Data provisioning techniques
US10613938B2 (en) 2015-07-01 2020-04-07 Actifio, Inc. Data virtualization using copy data tokens
US10691659B2 (en) 2015-07-01 2020-06-23 Actifio, Inc. Integrating copy data tokens with source code repositories
US10394661B2 (en) 2015-09-22 2019-08-27 International Business Machines Corporation Policy driven data updates
US11106645B1 (en) * 2015-09-29 2021-08-31 EMC IP Holding Company LLC Multi point in time object store
CN105426269B (zh) * 2015-11-30 2018-10-12 上海爱数信息技术股份有限公司 一种提升Oracle备份性能的装置及方法
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10956270B2 (en) * 2016-03-30 2021-03-23 Acronis International Gmbh System and method for data protection during full data backup
US10445298B2 (en) 2016-05-18 2019-10-15 Actifio, Inc. Vault to object store
US10476955B2 (en) 2016-06-02 2019-11-12 Actifio, Inc. Streaming and sequential data replication
US10152386B1 (en) * 2016-07-29 2018-12-11 Nutanix, Inc. Efficient disaster rollback across heterogeneous storage systems
CN106484321A (zh) * 2016-09-08 2017-03-08 华为数字技术(成都)有限公司 一种数据存储方法及数据中心
EP3352023B1 (en) * 2016-09-23 2022-03-23 Apex Microelectronics Co., Ltd Storage medium, data processing method and cartridge chip using this method
US10783046B2 (en) 2016-11-22 2020-09-22 Nutanix, Inc. Executing resource management operations in distributed computing systems
US10528015B2 (en) 2016-12-15 2020-01-07 Trane International Inc. Building automation system controller with real time software configuration and database backup
US10191687B1 (en) * 2016-12-15 2019-01-29 EMC IP Holding Company LLC Adaptive snap-based replication in a storage system
US10241869B2 (en) * 2017-03-08 2019-03-26 International Business Machines Corporation Managing a deletion of a volume referenced by a snapshot of a consistency group
US10855554B2 (en) 2017-04-28 2020-12-01 Actifio, Inc. Systems and methods for determining service level agreement compliance
CN107332904A (zh) * 2017-06-29 2017-11-07 郑州云海信息技术有限公司 一种跨存储系统的数据迁移方法、装置及系统
US11403178B2 (en) 2017-09-29 2022-08-02 Google Llc Incremental vault to object store
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US10740156B1 (en) 2018-02-22 2020-08-11 Amazon Technologies, Inc. Reversible representation-based partitioning of distributed computing environments
US10452453B1 (en) * 2018-02-22 2019-10-22 Amazon Technologies, Inc. Snapshot lineage preservation for representation-based partitions
US11176001B2 (en) 2018-06-08 2021-11-16 Google Llc Automated backup and restore of a disk group
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11151090B2 (en) 2019-10-17 2021-10-19 EMC IP Holding Company LLC Snapshot management based on data churn delta
US11755416B2 (en) * 2020-01-14 2023-09-12 Druva Inc. Storage tiering for backup data
CN113986115A (zh) * 2020-07-27 2022-01-28 伊姆西Ip控股有限责任公司 用于复制数据的方法、电子设备和计算机程序产品
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
US5038278A (en) * 1988-04-01 1991-08-06 Digital Equipment Corporation Cache with at least two fill rates
US5089958A (en) * 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
GB8915875D0 (en) * 1989-07-11 1989-08-31 Intelligence Quotient United K A method of operating a data processing system
US5163148A (en) * 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
US5157663A (en) * 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
US5426747A (en) * 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5408642A (en) * 1991-05-24 1995-04-18 Symantec Corporation Method for recovery of a computer program infected by a computer virus
US5414850A (en) * 1991-08-23 1995-05-09 Stac Electronics, Inc. System for transparently compressing data files in a computer system
US5410667A (en) * 1992-04-17 1995-04-25 Storage Technology Corporation Data record copy system for a disk drive array data storage subsystem
US5241668A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
US5263154A (en) * 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
US5241669A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for sidefile status polling in a time zero backup copy process
US5379398A (en) * 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for concurrent access during backup copying of data
US5241670A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated backup copy ordering in a time zero backup copy session
US5448718A (en) * 1992-04-20 1995-09-05 International Business Machines Corporation Method and system for time zero backup session security
US5379412A (en) * 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for dynamic allocation of buffer storage space during backup copying
JPH0827754B2 (ja) * 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
US5403639A (en) * 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5375232A (en) * 1992-09-23 1994-12-20 International Business Machines Corporation Method and system for asynchronous pre-staging of backup copies in a data processing storage subsystem
EP0706686B1 (en) * 1993-07-01 1998-10-14 Legent Corporation System and method for distributed storage management on networked computer systems
EP0710375B1 (en) * 1993-07-19 1999-02-17 Cheyenne Advanced Technology Limited File backup system
US5515502A (en) * 1993-09-30 1996-05-07 Sybase, Inc. Data backup system with methods for stripe affinity backup to multiple archive devices
US5435004A (en) * 1994-07-21 1995-07-18 International Business Machines Corporation Computerized system and method for data backup
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5588934A (en) * 1995-04-11 1996-12-31 Grand Haven Stamped Products Shifter with means for actuating cable to key mechanism
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5719889A (en) * 1995-12-20 1998-02-17 International Business Machines Corporation Programmable parity checking and comparison circuit
US5790773A (en) * 1995-12-29 1998-08-04 Symbios, Inc. Method and apparatus for generating snapshot copies for data backup in a raid subsystem
US6081875A (en) * 1997-05-19 2000-06-27 Emc Corporation Apparatus and method for backup of a disk storage system
US6101585A (en) * 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
US6397229B1 (en) * 1998-02-02 2002-05-28 International Business Machines Corporation Storage-controller-managed outboard incremental backup/restore of data
US6205527B1 (en) * 1998-02-24 2001-03-20 Adaptec, Inc. Intelligent backup and restoring system and method for implementing the same
US6269381B1 (en) * 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
DE69938378T2 (de) * 1998-08-20 2009-04-30 Hitachi, Ltd. Kopieren von Daten in Speichersystemen
US6332177B1 (en) * 1998-10-19 2001-12-18 Lsi Logic Corporation N-way raid 1 on M drives block mapping
US6665779B1 (en) * 1998-12-24 2003-12-16 Roxio, Inc. Image backup method for backing up disk partitions of a storage device
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
US6625623B1 (en) * 1999-12-16 2003-09-23 Livevault Corporation Systems and methods for backing up data files
US6651075B1 (en) * 2000-02-16 2003-11-18 Microsoft Corporation Support for multiple temporal snapshots of same volume
US6618794B1 (en) * 2000-10-31 2003-09-09 Hewlett-Packard Development Company, L.P. System for generating a point-in-time copy of data in a data storage system
US6678809B1 (en) * 2001-04-13 2004-01-13 Lsi Logic Corporation Write-ahead log in directory management for concurrent I/O access for block storage

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321721B2 (en) 2003-08-14 2012-11-27 Compellent Technologies Virtual disk drive system and method
US10067712B2 (en) 2003-08-14 2018-09-04 Dell International L.L.C. Virtual disk drive system and method
US7849352B2 (en) 2003-08-14 2010-12-07 Compellent Technologies Virtual disk drive system and method
US9021295B2 (en) 2003-08-14 2015-04-28 Compellent Technologies Virtual disk drive system and method
US7941695B2 (en) 2003-08-14 2011-05-10 Compellent Technolgoies Virtual disk drive system and method
US7962778B2 (en) 2003-08-14 2011-06-14 Compellent Technologies Virtual disk drive system and method
JP2007502470A (ja) * 2003-08-14 2007-02-08 コンペレント・テクノロジーズ 仮想ディスク・ドライブのシステムおよび方法
US8560880B2 (en) 2003-08-14 2013-10-15 Compellent Technologies Virtual disk drive system and method
US8555108B2 (en) 2003-08-14 2013-10-08 Compellent Technologies Virtual disk drive system and method
US7363365B2 (en) 2004-07-13 2008-04-22 Teneros Inc. Autonomous service backup and migration
US7363366B2 (en) 2004-07-13 2008-04-22 Teneros Inc. Network traffic routing
JP4712873B2 (ja) * 2005-06-29 2011-06-29 イーエムシー コーポレイション クライアントユーティリティを使用する単一クライアントスナップショットの作成
JP2008545198A (ja) * 2005-06-29 2008-12-11 イーエムシー コーポレイション クライアントユーティリティを使用する単一クライアントスナップショットの作成
US8230193B2 (en) 2006-05-24 2012-07-24 Compellent Technologies System and method for raid management, reallocation, and restriping
US7886111B2 (en) 2006-05-24 2011-02-08 Compellent Technologies System and method for raid management, reallocation, and restriping
US10296237B2 (en) 2006-05-24 2019-05-21 Dell International L.L.C. System and method for raid management, reallocation, and restripping
JP2012527656A (ja) * 2008-06-30 2012-11-08 シマンテック・コーポレーション ボリュームへの変更を追跡するシステムおよび方法
US8468292B2 (en) 2009-07-13 2013-06-18 Compellent Technologies Solid state drive data storage system and method
US8819334B2 (en) 2009-07-13 2014-08-26 Compellent Technologies Solid state drive data storage system and method

Also Published As

Publication number Publication date
AU2002350221A1 (en) 2003-06-17
KR100560726B1 (ko) 2006-03-14
KR20040071693A (ko) 2004-08-12
CN1596400A (zh) 2005-03-16
US7296125B2 (en) 2007-11-13
US7398366B2 (en) 2008-07-08
EP1449088A1 (en) 2004-08-25
US20070079089A1 (en) 2007-04-05
WO2003048941A1 (en) 2003-06-12
CN1291320C (zh) 2006-12-20
EP1449088A4 (en) 2007-12-26
US20030101321A1 (en) 2003-05-29
JP4181044B2 (ja) 2008-11-12

Similar Documents

Publication Publication Date Title
JP4181044B2 (ja) 大容量記憶システムの選択されたデータのスナップショットを保存するためのバックアップ方法
US9619341B2 (en) System and method for performing an image level snapshot and for restoring partial volume data
US7490207B2 (en) System and method for performing auxillary storage operations
EP1099165B1 (en) File system image transfer
US8103840B2 (en) Snapshot mechanism and method thereof
US7526623B1 (en) Optimizing reclamation of data space
KR100643179B1 (ko) 주 시스템 및 백업 시스템 간의 데이터 복원 시스템 및 그 방법
US7587431B1 (en) Updating snapshots
US7647466B1 (en) Linear space allocation mechanisms in data space
US7174352B2 (en) File system image transfer
US6311193B1 (en) Computer system
US7594085B1 (en) Reclaiming data space
US20070061540A1 (en) Data storage system using segmentable virtual volumes
US20070239806A1 (en) Methods and apparatus for a fine grained file data storage system
JP2004038929A (ja) 複数のスナップショットを管理するシステム及び方法
JP2006268829A (ja) ストレージシステム間でオブジェクトをミラー化する方法と装置
JP2005215940A (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080729

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080828

R150 Certificate of patent or registration of utility model

Ref document number: 4181044

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term