JP6308446B2 - 記憶システム内のデータ・バックアップのための方法および装置 - Google Patents
記憶システム内のデータ・バックアップのための方法および装置 Download PDFInfo
- Publication number
- JP6308446B2 JP6308446B2 JP2016564331A JP2016564331A JP6308446B2 JP 6308446 B2 JP6308446 B2 JP 6308446B2 JP 2016564331 A JP2016564331 A JP 2016564331A JP 2016564331 A JP2016564331 A JP 2016564331A JP 6308446 B2 JP6308446 B2 JP 6308446B2
- Authority
- JP
- Japan
- Prior art keywords
- data block
- data
- snapshot
- block
- source device
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 50
- 125000004122 cyclic group Chemical group 0.000 claims description 116
- 238000004364 calculation method Methods 0.000 claims description 89
- 230000006835 compression Effects 0.000 claims description 31
- 238000007906 compression Methods 0.000 claims description 31
- 230000005540 biological transmission Effects 0.000 claims description 24
- 238000004458 analytical method Methods 0.000 claims description 20
- 238000011084 recovery Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 13
- 230000006837 decompression Effects 0.000 claims description 13
- 241000257465 Echinoidea Species 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 8
- 230000001174 ascending effect Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
102 バックエンド・デバイス
1201 インタフェース
1202 プロセッサ
1301 決定ユニット
1302 論理動作ユニット
1303 圧縮ユニット
1304 送信ユニット
1401 受信解析ユニット
1402 決定ユニット
1403 解凍ユニット
1404 論理動作ユニット
1405 書込みユニット
1501 受信解析ユニット
1502 決定ユニット
1503 論理動作ユニット
1504 圧縮ユニット
1505 送信ユニット
1601 送信ユニット
1602 受信解析ユニット
1603 決定ユニット
1604 解凍ユニット
1605 論理動作ユニット
1606 書込みユニット
Claims (48)
- 記憶システムであって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスと前記バックアップ側デバイスの両方に格納され、nは整数であり、
前記ソース・デバイスは、前記n番目のスナップショットSnの後に前記ソース・デバイスに書き込まれた第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスに従って、前記n番目のスナップショットSnに記録された第2のデータ・ブロックを決定し、前記第1のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックを圧縮して第4のデータ・ブロックを取得し、前記バックアップ側デバイスに、前記第4のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、および前記n番目のスナップショットSnのバージョン番号を運搬するデータ・パケットを送信するように構成され、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、
前記バックアップ側デバイスは、前記データ・パケットを受信し解析して、前記第4のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、および前記n番目のスナップショットSnの前記バージョン番号を取得するように構成され、前記論理演算は排他OR操作または排他NOR操作であり、
前記バックアップ側デバイスはさらに、前記第1のデータ・ブロックの前記論理ブロック・アドレスおよび前記n番目のスナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録された前記第2のデータ・ブロックを決定し、前記第4のデータ・ブロックを解凍して前記第3のデータ・ブロックを取得し、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに前記論理演算を実施して前記第1のデータ・ブロックを取得し、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成される、
記憶システム。 - 記憶システム内のデータ・バックアップのための方法であって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスと前記バックアップ側デバイスの両方に格納され、nは整数であり、前記方法は、
前記ソース・デバイスにより、前記n番目のスナップショットSnの後に前記ソース・デバイスに書き込まれた第1のデータ・ブロックを決定するステップと、
前記ソース・デバイスにより、前記第1のデータ・ブロックの論理ブロック・アドレスに従って、前記n番目のスナップショットSnに記録された第2のデータ・ブロックを決定し、前記ソース・デバイスにより、前記第1のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得するステップであって、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、前記論理演算は排他OR操作または排他NOR操作である、ステップと、
前記ソース・デバイスにより、前記第3のデータ・ブロックを圧縮して第4のデータ・ブロックを取得するステップと、
前記ソース・デバイスにより、前記バックアップ側デバイスに、前記第4のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、および前記n番目のスナップショットSnのバージョン番号を運搬するデータ・パケットを送信するステップと、
を含む、方法。 - 前記ソース・デバイスにより、前記n番目のスナップショットSnの後に前記ソース・デバイスに書き込まれた第1のデータ・ブロックを決定するステップは、前記ソース・デバイスにより、前記n番目のスナップショットSnの後の、データ変更ログに記録されたデータ書込み要求で運搬される論理ブロック・アドレスに従って、前記第1のデータ・ブロックを決定するステップを含む、請求項2に記載の方法。
- 前記ソース・デバイスにより、前記n番目のスナップショットSnの後に前記ソース・デバイスに書き込まれた第1のデータ・ブロックを決定するステップは、前記ソース・デバイスにより、x番目のスナップショットSx操作を実施し、前記スナップショットSnをスナップショットSxと比較し、前記第1のデータ・ブロックを決定するステップであって、xは整数であり、n<xである、ステップを含む、請求項2に記載の方法。
- 記憶システム内のデータ・バックアップのための方法であって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスと前記バックアップ側デバイスの両方に格納され、nは整数であり、前記方法は、
前記バックアップ側デバイスにより、前記ソース・デバイスにより送信されたデータ・パケットを受信し解析して、第4のデータ・ブロック、第1のデータ・ブロックの論理ブロック・アドレス、および前記n番目のスナップショットSnのバージョン番号を取得するステップと、
前記バックアップ側デバイスにより、前記第1のデータ・ブロックの前記論理ブロック・アドレスおよび前記n番目のスナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録された第2のデータ・ブロックを決定するステップであって、前記第1のデータ・ブロックは、前記n番目のスナップショットSnの後に前記ソース・デバイスにより書き込まれたデータ・ブロックであり、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、ステップと、
前記バックアップ側デバイスにより、前記第4のデータ・ブロックを解凍して、第3のデータ・ブロックを取得するステップと、
前記バックアップ側デバイスにより、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して、前記第1のデータ・ブロックを取得するステップであって、前記論理演算は排他OR操作または排他NOR操作である、ステップと、
前記バックアップ側デバイスにより、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むステップと、
を含む、方法。 - 記憶システムであって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスに格納され、前記ソース・デバイス内の前記n番目のスナップショットSnの前記データおよびx番目のスナップショットSxのデータは前記バックアップ側デバイスに格納され、nおよびxは整数であり、n<xであり、
前記ソース・デバイスは、データ復元要求を前記バックアップ側デバイスに送信するように構成され、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬し、
前記バックアップ側デバイスは、前記データ復元要求を受信し解析して前記スナップショットSnの前記バージョン番号を取得し、前記スナップショットSnの前記バージョン番号および前記スナップショットSxのバージョン番号に従って第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスおよび前記スナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録された第2のデータ・ブロックを決定し、前記第1のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックを圧縮して第4のデータ・ブロックを取得し、前記ソース・デバイスに、前記第4のデータ・ブロックおよび前記第1のデータ・ブロックの前記論理ブロック・アドレスを運搬するデータ・パケットを送信するように構成され、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされ前記ソース・デバイスにより前記n番目のスナップショットSnの後に書き込まれた前記スナップショットSxに記録されたデータ・ブロックであり、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、前記論理演算は排他OR操作または排他NOR操作であり、
前記ソース・デバイスはさらに、前記データ・パケットを受信し解析して、前記第4のデータ・ブロックおよび前記第1のデータ・ブロックの前記論理ブロック・アドレスを取得し、前記第1のデータ・ブロックの前記論理ブロック・アドレスに従って、前記スナップショットSnに記録された前記第2のデータ・ブロックを決定し、前記第4のデータ・ブロックを解凍して前記第3のデータ・ブロックを取得し、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに前記論理演算を実施して前記第1のデータ・ブロックを取得し、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成される、
記憶システム。 - 記憶システム内のデータ復元のための方法であって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスに格納され、前記ソース・デバイス内の前記n番目のスナップショットSnの前記データおよびx番目のスナップショットSxのデータは前記バックアップ側デバイスに格納され、nおよびxは整数であり、n<xであり、前記方法は、
前記バックアップ側デバイスにより、前記ソース・デバイスにより送信されたデータ復元要求を受信し解析して、前記スナップショットSnのバージョン番号を取得するステップと、
前記バックアップ側デバイスにより、前記スナップショットSnの前記バージョン番号および前記スナップショットSxのバージョン番号に従って、前記スナップショットSxに記録された第1のデータ・ブロックを決定するステップであって、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされた前記スナップショットSnに記録され前記ソース・デバイスにより前記n番目のスナップショットSxの後に書き込まれたデータ・ブロックであり、前記第1のデータ・ブロックは第2のデータ・ブロックの修正されたブロックである、ステップと、
前記バックアップ側デバイスにより、前記第1のデータ・ブロックの論理ブロック・アドレスおよび前記スナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録され前記論理ブロック・アドレスに格納された前記第2のデータ・ブロックを決定するステップと、
前記バックアップ側デバイスにより、前記第1のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して、第3のデータ・ブロックを取得するステップであって、前記論理演算は排他OR操作または排他NOR操作である、ステップと、
前記バックアップ側デバイスにより、前記第3のデータ・ブロックを圧縮して第4のデータ・ブロックを取得するステップと、
前記バックアップ側デバイスにより、前記ソース・デバイスに、前記第4のデータ・ブロックおよび前記第1のデータ・ブロックの前記論理ブロック・アドレスを運搬するデータ・パケットを送信するステップであって、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、ステップと、
を含む、方法。 - 記憶システム内のデータ復元のための方法であって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスに格納され、前記ソース・デバイス内の前記n番目のスナップショットSnの前記データおよびx番目のスナップショットSxのデータは前記バックアップ側デバイスに格納され、nおよびxは整数であり、n<xであり、前記方法は、
前記ソース・デバイスにより、データ復元要求を前記バックアップ側デバイスに送信するステップであって、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬する、ステップと、
前記ソース・デバイスにより、前記データ復元要求に従って前記バックアップ側デバイスにより送信されたデータ・パケットを受信し解析して、第4のデータ・ブロックおよび第1のデータ・ブロックの論理ブロック・アドレスを取得するステップであって、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされた前記スナップショットSxに記録され前記ソース・デバイスにより前記n番目のスナップショットSnの後の前記論理ブロック・アドレスに書き込まれたデータ・ブロックである、ステップと、
前記ソース・デバイスにより、前記第1のデータ・ブロックの前記論理ブロック・アドレスに従って、前記ソース・デバイスに格納された前記スナップショットSnに記録された第2のデータ・ブロックを決定するステップであって、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、ステップと、
前記ソース・デバイスにより、前記第4のデータ・ブロックを解凍して第3のデータ・ブロックを取得するステップと、
前記ソース・デバイスにより、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して前記第1のデータ・ブロックを取得するステップであって、前記論理演算は排他OR操作または排他NOR操作である、ステップと、
前記ソース・デバイスにより、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むステップと、
を含む、方法。 - 記憶装置であって、前記記憶装置は、記憶システム内のソース・デバイスの役割を果たすように構成され、前記記憶システムはさらにバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置と前記バックアップ側デバイスの両方に格納され、nは整数であり、前記記憶装置は、
前記n番目のスナップショットSnの後の前記記憶装置に書き込まれた第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスに従って、前記n番目のスナップショットSnに記録された第2のデータ・ブロックを決定するように構成された決定ユニットであって、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、決定ユニットと、
前記第1のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得するように構成された論理演算ユニットであって、前記論理演算は排他OR操作または排他NOR操作である、論理演算ユニットと、
前記第3のデータ・ブロックを圧縮して第4のデータ・ブロックを取得するように構成された圧縮ユニットと、
前記バックアップ側デバイスに、前記第4のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、および前記n番目のスナップショットSnのバージョン番号を運搬するデータ・パケットを送信するように構成された送信ユニットと、
を備える、記憶装置。 - 前記決定ユニットは特に、前記n番目のスナップショットSnの後の、データ変更ログに記録されたデータ書込み要求で運搬される論理ブロック・アドレスに従って前記第1のデータ・ブロックを決定するように構成される、請求項9に記載の記憶装置。
- 前記決定ユニットは特に、x番目のスナップショットSx操作を実施し、前記スナップショットSnをスナップショットSxと比較し、前記第1のデータ・ブロックを決定するように構成され、xは整数であり、n<xである、請求項9に記載の記憶装置。
- 記憶装置であって、前記記憶装置は記憶システム内のバックアップ側デバイスの役割を果たすように構成され、前記記憶システムはさらにソース・デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置と前記ソース・デバイスの両方に格納され、nは整数であり、前記記憶装置は、
前記ソース・デバイスにより送信されたデータ・パケットを受信し解析して、第4のデータ・ブロック、第1のデータ・ブロックの論理ブロック・アドレス、および前記n番目のスナップショットSnのバージョン番号を取得するように構成された受信解析ユニットと、
前記第1のデータ・ブロックの前記論理ブロック・アドレスおよび前記n番目のスナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録された第2のデータ・ブロックを決定するように構成された決定ユニットであって、前記第1のデータ・ブロックは、前記n番目のスナップショットSnの後に前記ソース・デバイスにより書き込まれたデータ・ブロックであり、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、決定ユニットと、
前記第4のデータ・ブロックを解凍して第3のデータ・ブロックを取得するように構成された解凍ユニットと、
前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して前記第1のデータ・ブロックを取得するように構成された論理演算ユニットであって、前記論理演算は排他OR操作または排他NOR操作である、論理演算ユニットと、
前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成された書込みユニットと、
を備える、記憶装置。 - 記憶装置であって、前記記憶装置は記憶システム内のバックアップ側デバイスの役割を果たすように構成され、前記記憶システムはさらに前記バックアップ側デバイスのソース・デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置と前記ソース・デバイスの両方に格納され、nは整数であり、前記記憶装置は、
前記ソース・デバイスにより送信されたデータ復元要求を受信し解析して、前記スナップショットSnのバージョン番号を取得するように構成された受信解析ユニットと、
前記スナップショットSnの前記バージョン番号およびスナップショットSxのバージョン番号に従って、前記スナップショットSxに記録された第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスおよび前記スナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録され前記論理ブロック・アドレスに格納された第2のデータ・ブロックを決定するように構成された決定ユニットであって、前記第1のデータ・ブロックは前記記憶装置によりバックアップされた前記スナップショットSxに記録され前記ソース・デバイスにより前記n番目のスナップショットSnの後に書き込まれたデータ・ブロックであり、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、決定ユニットと、
前記第1のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得するように構成された論理演算ユニットであって、前記論理演算は排他OR操作または排他NOR操作である、論理演算ユニットと、
前記第3のデータ・ブロックを圧縮して第4のデータ・ブロックを取得するように構成された圧縮ユニットと、
前記ソース・デバイスに、前記第4のデータ・ブロックおよび前記第1のデータ・ブロックの前記論理ブロック・アドレスを運搬するデータ・パケットを送信するように構成された送信ユニットと、
備える、記憶装置。 - 記憶装置であって、前記記憶装置は、記憶システム内のソース・デバイスの役割を果たすように構成され、前記記憶システムはさらに前記ソース・デバイスのバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置と前記バックアップ側デバイスの両方に格納され、nは整数であり、前記記憶装置は、
データ復元要求を前記バックアップ側デバイスに送信するように構成された送信ユニットであって、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬する、送信ユニットと、
前記データ復元要求に従って前記バックアップ側デバイスにより送信されたデータ・パケットを受信し解析して、第4のデータ・ブロックおよび第1のデータ・ブロックの論理ブロック・アドレスを取得するように構成された受信解析ユニットであって、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされたスナップショットSxに記録され前記記憶装置により前記n番目のスナップショットSnの後の前記論理ブロック・アドレスに書き込まれたデータ・ブロックである、受信解析ユニットと、
前記第1のデータ・ブロックの前記論理ブロック・アドレスに従って、前記記憶装置に格納された前記スナップショットSnに記録された第2のデータ・ブロックを決定するように構成された決定ユニットであって、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、決定ユニットと、
前記第4のデータ・ブロックを解凍して第3のデータ・ブロックを取得するように構成された解凍ユニットと、
前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して、前記第1のデータ・ブロックを取得するように構成された論理演算ユニットであって、前記論理演算は排他OR操作または排他NOR操作である、論理演算ユニットと、
前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成された書込みユニットと、
を備える、記憶装置。 - 記憶装置であって、前記記憶装置は、記憶システム内のソース・デバイスの役割を果たすように構成され、前記記憶システムはさらに前記ソース・デバイスのバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置と前記バックアップ側デバイスの両方に格納され、nは整数であり、前記記憶装置はインタフェースおよびプロセッサを備え、前記インタフェースおよび前記プロセッサはバスを用いることによって互いと通信し、前記プロセッサは、前記n番目のスナップショットSnの後の前記記憶装置に書き込まれた第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスに従って、前記n番目のスナップショットSnに記録された第2のデータ・ブロックを決定し、前記第1のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックを圧縮して第4のデータ・ブロックを取得するように構成され、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、前記論理演算は排他OR操作または排他NOR操作であり、
前記インタフェースは、前記バックアップ側デバイスに、前記第4のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、および前記n番目のスナップショットSnのバージョン番号を運搬するデータ・パケットを送信するように構成される、
記憶装置。 - 前記プロセッサは特に、前記n番目のスナップショットSnの後の、データ変更ログに記録されたデータ書込み要求で運搬される論理ブロック・アドレスに従って前記第1のデータ・ブロックを決定するように構成される、請求項15に記載の記憶装置。
- 前記プロセッサは特に、x番目のスナップショットSx操作を実施し、前記スナップショットSnをスナップショットSxと比較して前記第1のデータ・ブロックを決定するように構成され、xは整数であり、n<xである、請求項15に記載の記憶装置。
- 記憶装置であって、前記記憶装置は記憶システム内のバックアップ側デバイスの役割を果たすように構成され、前記記憶システムはさらに前記バックアップ側デバイスのソース・デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置と前記ソース・デバイスの両方に格納され、nは整数であり、前記記憶装置はインタフェースおよびプロセッサを備え、前記インタフェースおよび前記プロセッサはバスを用いることによって互いと通信し、前記インタフェースは、前記ソース・デバイスにより送信されたデータ・パケットを受信し解析して、第4のデータ・ブロック、第1のデータ・ブロックの論理ブロック・アドレス、および前記n番目のスナップショットSnのバージョン番号を取得するように構成され、
前記プロセッサは、前記第1のデータ・ブロックの前記論理ブロック・アドレスおよび前記n番目のスナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録された第2のデータ・ブロックを決定し、前記第4のデータ・ブロックを解凍して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して、前記第1のデータ・ブロックを取得し、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成され、前記第1のデータ・ブロックは、前記n番目のスナップショットSnの後に前記ソース・デバイスにより書き込まれたデータ・ブロックであり、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、前記論理演算は排他OR操作または排他NOR操作である、
記憶装置。 - 記憶装置であって、前記記憶装置は記憶システム内のバックアップ側デバイスの役割を果たすように構成され、前記記憶システムはさらに前記バックアップ側デバイスのソース・デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置と前記ソース・デバイスの両方に格納され、前記記憶装置はインタフェースおよびプロセッサを備え、前記インタフェースおよび前記プロセッサはバスを用いることによって互いと通信し、前記インタフェースは、前記ソース・デバイスにより送信されたデータ復元要求を受信し解析して、前記スナップショットSnのバージョン番号を取得するように構成され、
前記プロセッサは、前記スナップショットSnの前記バージョン番号およびスナップショットSxのバージョン番号に従って、前記スナップショットSxに記録された第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスおよび前記スナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録され前記論理ブロック・アドレスに格納された第2のデータ・ブロックを決定し、前記第1のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックを圧縮して第4のデータ・ブロックを取得するように構成され、前記第1のデータ・ブロックは前記記憶装置によりバックアップされた前記スナップショットSxに記録され前記ソース・デバイスにより前記n番目のスナップショットSnの後に書き込まれたデータ・ブロックであり、xおよびnは整数であり、x>nであり、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、前記論理演算は排他OR操作または排他NOR操作であり、
前記インタフェースはさらに、前記ソース・デバイスに、前記第4のデータ・ブロックおよび前記第1のデータ・ブロックの前記論理ブロック・アドレスを運搬するデータ・パケットを送信するように構成される、
記憶装置。 - 記憶装置であって、前記記憶装置は、記憶システム内のソース・デバイスの役割を果たすように構成され、前記記憶システムはさらに前記ソース・デバイスのバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置と前記バックアップ側デバイスの両方に格納され、nは整数であり、前記記憶装置はインタフェースおよびプロセッサを備え、前記インタフェースおよび前記プロセッサはバスを用いることによって互いと通信し、前記インタフェースは、データ復元要求を前記バックアップ側デバイスに送信し、前記データ復元要求に従って前記バックアップ側デバイスにより送信されたデータ・パケットを受信し解析して、第4のデータ・ブロックおよび第1のデータ・ブロックの論理ブロック・アドレスを取得するように構成され、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬し、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされたスナップショットSxに記録され前記記憶装置により前記n番目のスナップショットSnの後の前記論理ブロック・アドレスに書き込まれたデータ・ブロックであり、
前記プロセッサは、前記第1のデータ・ブロックの前記論理ブロック・アドレスに従って、前記記憶装置に格納された前記スナップショットSnに記録された第2のデータ・ブロックを決定し、前記第4のデータ・ブロックを解凍して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して前記第1のデータ・ブロックを取得し、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成され、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、前記論理演算は排他OR操作または排他NOR操作である、
記憶装置。 - 記憶システムであって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスと前記バックアップ側デバイスの両方に格納され、nは整数であり、
前記ソース・デバイスは、前記n番目のスナップショットSnの後に前記ソース・デバイスに書き込まれた第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスに従って、前記n番目のスナップショットSnに記録された第2のデータ・ブロックを決定するように構成され、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、
前記ソース・デバイスはさらに、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定し、前記シフト量に従って循環シフトを前記第1のデータ・ブロックに実施して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第4のデータ・ブロックを取得し、前記第4のデータ・ブロックを圧縮して第5のデータ・ブロックを取得し、前記バックアップ側デバイスに、前記第5のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、シフト情報、および前記n番目のスナップショットSnのバージョン番号を運搬するデータ・パケットを送信するように構成され、前記論理演算は排他OR操作または排他NOR操作であり、前記シフト情報は循環シフト方向および前記シフト量を含み、
前記バックアップ側デバイスは、前記データ・パケットを受信し解析して、前記第5のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、前記シフト情報、および前記n番目のスナップショットSnの前記バージョン番号を取得するように構成され、
前記バックアップ側デバイスはさらに、前記第1のデータ・ブロックの前記論理ブロック・アドレスおよび前記n番目のスナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録された前記第2のデータ・ブロックを決定し、前記第5のデータ・ブロックを解凍して前記第4のデータ・ブロックを取得し、前記第4のデータ・ブロックおよび前記第2のデータ・ブロックに前記論理演算を実施して前記第3のデータ・ブロックを取得し、前記シフト情報に従って逆循環シフトを前記第3のデータ・ブロックに実施して前記第1のデータ・ブロックを取得し、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成される、
記憶システム。 - 以下の計算規則、即ち、N個のウィンドウが設定され、各ウィンドウ内の、データ・ブロックの少なくとも部分的なデータにハッシュ計算が実施され、各ウィンドウのサイズは同じであり、第1のウィンドウの開始位置は前記データ・ブロックの開始位置であり、最後のウィンドウの終了位置は前記データ・ブロックの終了位置であり、(i+1)番目のウィンドウの開始位置はi番目のウィンドウの開始位置から固定長だけ離れており、Nは整数であり2より小さくなく、iは整数であり、前記i番目のウィンドウは1番目乃至N番目のウィンドウのうち何れかのウィンドウを示すことが前記ソース・デバイスに対して構成され、
前記ソース・デバイスにより、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定するステップは特に、
前記計算規則に従って、前記ソース・デバイスにより、各ウィンドウ内の、前記第1のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、前記計算規則に従って、各ウィンドウ内の、前記第2のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施するステップと、
前記ソース・デバイスにより、ハッシュ値が設定される順序に従って、第1のM個のハッシュ値を前記第1のデータ・ブロックのハッシュ値から選択し、前記第1のM個のハッシュ値を前記第2のデータ・ブロックのハッシュ値から選択するステップであって、Mは正の整数でありNより大きくない、ステップと、
前記ソース・デバイスにより、前記第1のデータ・ブロックの前記第1のM個のハッシュ値および同一のハッシュ値に対する前記第2のデータ・ブロックの前記第1のM個のハッシュ値を検索し、前記同一のハッシュ値に対応する2つのウィンドウのオフセットの間の差異が前記シフト量であると判定するステップと、
を含む、請求項21に記載の記憶システム。 - 記憶システム内のデータ・バックアップのための方法であって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスと前記バックアップ側デバイスの両方に格納され、nは整数であり、前記方法は、
前記ソース・デバイスにより、前記n番目のスナップショットSnの後に前記ソース・デバイスに書き込まれた第1のデータ・ブロックを決定するステップと、
前記ソース・デバイスにより、前記第1のデータ・ブロックの論理ブロック・アドレスに従って、前記n番目のスナップショットSnに記録された第2のデータ・ブロックを決定するステップであって、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、ステップと、
前記ソース・デバイスにより、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定し、前記シフト量に従って循環シフトを前記第1のデータ・ブロックに実施して第3のデータ・ブロックを取得するステップと、
前記ソース・デバイスにより、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第4のデータ・ブロックを取得するステップであって、前記論理演算は排他OR操作または排他NOR操作である、ステップと、
前記ソース・デバイスにより、前記第4のデータ・ブロックを圧縮して第5のデータ・ブロックを取得するステップと、
前記ソース・デバイスにより、前記バックアップ側デバイスに、前記第5のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、シフト情報、および前記n番目のスナップショットSnのバージョン番号を運搬するデータ・パケットを送信するステップであって、前記シフト情報は循環シフト方向と前記シフト量を含む、ステップと、
を含む、方法。 - 以下の計算規則、即ち、N個のウィンドウが設定され、各ウィンドウ内の、データ・ブロックの少なくとも部分的なデータにハッシュ計算が実施され、各ウィンドウのサイズは同じであり、第1のウィンドウの開始位置は前記データ・ブロックの開始位置であり、最後のウィンドウの終了位置は前記データ・ブロックの終了位置であり、(i+1)番目のウィンドウの開始位置はi番目のウィンドウの開始位置から固定長だけ離れており、Nは整数であり2より小さくなく、iは整数であり、前記i番目のウィンドウは1番目乃至N番目のウィンドウのうち何れかのウィンドウを示すことが前記ソース・デバイスに対して構成され、前記ソース・デバイスにより、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定するステップは特に、
前記計算規則に従って、前記ソース・デバイスにより、各ウィンドウ内の、前記第1のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、前記計算規則に従って、各ウィンドウ内の、前記第2のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施するステップと、
前記ソース・デバイスにより、ハッシュ値が設定される順序に従って、第1のM個のハッシュ値を前記第1のデータ・ブロックのハッシュ値から選択し、前記第1のM個のハッシュ値を前記第2のデータ・ブロックのハッシュ値から選択するステップであって、Mは正の整数でありNより大きくない、ステップと、
前記ソース・デバイスにより、前記第1のデータ・ブロックの前記第1のM個のハッシュ値および同一のハッシュ値に対する前記第2のデータ・ブロックの前記第1のM個のハッシュ値を検索して、前記同一のハッシュ値に対応する2つのウィンドウのオフセットの間の差異が前記シフト量であると判定するステップと、
を含む、請求項23に記載の方法。 - 前記ソース・デバイスにより、前記n番目のスナップショットSnの後に前記ソース・デバイスに書き込まれた第1のデータ・ブロックを決定するステップは、前記ソース・デバイスにより、前記n番目のスナップショットSnの後の、データ変更ログに記録されたデータ書込み要求で運搬される論理ブロック・アドレスに従って、前記第1のデータ・ブロックを決定するステップを含む、請求項23に記載の方法。
- 前記ソース・デバイスにより、前記n番目のスナップショットSnの後に前記ソース・デバイスに書き込まれた第1のデータ・ブロックを決定するステップは、前記ソース・デバイスにより、x番目のスナップショットSx操作を実施し、前記スナップショットSnをスナップショットSxと比較して、前記第1のデータ・ブロックを決定するステップであって、xは整数であり、n<xである、ステップを含む、請求項23に記載の方法。
- 記憶システム内のデータ・バックアップのための方法であって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスと前記バックアップ側デバイスの両方に格納され、nは整数であり、前記方法は、
前記バックアップ側デバイスにより、前記ソース・デバイスにより送信されたデータ・パケットを受信し解析して、第5のデータ・ブロック、第1のデータ・ブロックの論理ブロック・アドレス、シフト情報、および前記n番目のスナップショットSnのバージョン番号を取得するステップと、
前記バックアップ側デバイスにより、前記第1のデータ・ブロックの前記論理ブロック・アドレスおよび前記n番目のスナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録された第2のデータ・ブロックを決定するステップであって、前記第1のデータ・ブロックは、前記n番目のスナップショットSnの後に前記ソース・デバイスにより書き込まれたデータ・ブロックであり、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、ステップと、
前記バックアップ側デバイスにより、前記第5のデータ・ブロックを解凍して第4のデータ・ブロックを取得するステップと、
前記バックアップ側デバイスにより、前記第4のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得するステップであって、前記論理演算は排他OR操作または排他NOR操作である、ステップと、
前記シフト情報に従って前記バックアップ側デバイスにより、逆循環シフトを前記第3のデータ・ブロックに実施して、前記第1のデータ・ブロックを取得するステップであって、前記シフト情報は、循環シフトを前記第1のデータ・ブロックに実施して前記第3のデータ・ブロックを取得するために前記ソース・デバイスにより必要とされるシフト量および循環シフト方向を含む、ステップと、
前記バックアップ側デバイスにより、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むステップと、
を含む、方法。 - 記憶システムであって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスに格納され、前記ソース・デバイス内の前記n番目のスナップショットSnの前記データおよびx番目のスナップショットSxのデータは前記バックアップ側デバイスに格納され、nおよびxは整数であり、n<xであり、
前記ソース・デバイスは、データ復元要求を前記バックアップ側デバイスに送信するように構成され、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬し、
前記バックアップ側デバイスは、前記データ復元要求を受信し解析して前記スナップショットSnの前記バージョン番号を取得し、前記スナップショットSnの前記バージョン番号および前記スナップショットSxのバージョン番号に従って第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスおよび前記スナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録された第2のデータ・ブロックを決定し、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定し、前記シフト量に従って循環シフトを前記第1のデータ・ブロックに実施して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第4のデータ・ブロックを取得し、前記第4のデータ・ブロックを圧縮して第5のデータ・ブロックを取得し、前記ソース・デバイスに、前記第5のデータ・ブロック、シフト情報、および前記第1のデータ・ブロックの前記論理ブロック・アドレスを運搬するデータ・パケットを送信するように構成され、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされた前記スナップショットSxに記録され前記ソース・デバイスにより前記n番目のスナップショットSnの後に書き込まれたデータ・ブロックであり、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、前記論理演算は排他OR操作または排他NOR操作であり、前記シフト情報は循環シフト方向および前記シフト量を含み、
前記ソース・デバイスはさらに、前記データ・パケットを受信し解析して、前記第5のデータ・ブロック、前記シフト情報、および前記第1のデータ・ブロックの前記論理ブロック・アドレスを取得し、前記第1のデータ・ブロックの前記論理ブロック・アドレスに従って、前記スナップショットSnに記録された前記第2のデータ・ブロックを決定し、前記第5のデータ・ブロックを解凍して前記第4のデータ・ブロックを取得し、前記第4のデータ・ブロックおよび前記第2のデータ・ブロックに前記論理演算を実施して前記第3のデータ・ブロックを取得し、前記シフト情報に従って逆循環シフトを前記第3のデータ・ブロックに実施して前記第1のデータ・ブロックを取得し、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成される、
記憶システム。 - 以下の計算規則、即ち、N個のウィンドウが設定され、各ウィンドウ内の、データ・ブロックの少なくとも部分的なデータにハッシュ計算が実施され、各ウィンドウのサイズは同じであり、第1のウィンドウの開始位置は前記データ・ブロックの開始位置であり、最後のウィンドウの終了位置は前記データ・ブロックの終了位置であり、(i+1)番目のウィンドウの開始位置はi番目のウィンドウの開始位置から固定長だけ離れており、Nは整数であり2より小さくなく、iは整数であり、前記i番目のウィンドウは1番目乃至N番目のウィンドウのうち何れかのウィンドウを示すことが前記バックアップ側デバイスに対して構成され、
前記バックアップ側デバイスは特に、前記計算規則に従って、各ウィンドウ内の、前記第1のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、前記計算規則に従って、各ウィンドウ内の、前記第2のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、ハッシュ値が設定される順序に従って、第1のM個のハッシュ値を前記第1のデータ・ブロックのハッシュ値から選択し、前記第1のM個のハッシュ値を前記第2のデータ・ブロックのハッシュ値から選択し、前記第1のデータ・ブロックの前記第1のM個のハッシュ値および同一のハッシュ値に対する前記第2のデータ・ブロックの前記第1のM個のハッシュ値を検索し、前記同一のハッシュ値に対応する2つのウィンドウのオフセットの間の差異が前記シフト量であると判定するように構成され、Mは正の整数でありNより大きくない、
請求項28に記載の記憶システム。 - 記憶システム内のデータ復元のための方法であって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスに格納され、前記ソース・デバイス内の前記n番目のスナップショットSnの前記データおよびx番目のスナップショットSxのデータは前記バックアップ側デバイスに格納され、nおよびxは整数であり、n<xであり、前記方法は、
前記バックアップ側デバイスにより、前記ソース・デバイスにより送信されたデータ復元要求を受信するステップであって、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬する、ステップと、
前記バックアップ側デバイスにより、前記スナップショットSnの前記バージョン番号および前記スナップショットSxのバージョン番号に従って、前記スナップショットSxに記録された第1のデータ・ブロックを決定するステップであって、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされた前記スナップショットSxに記録され前記ソース・デバイスにより前記n番目のスナップショットSnの後に書き込まれたデータ・ブロックである、ステップと、
前記バックアップ側デバイスにより、前記第1のデータ・ブロックの論理ブロック・アドレスおよび前記スナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録され前記論理ブロック・アドレスに格納された第2のデータ・ブロックを決定するステップと、
前記バックアップ側デバイスにより、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定し、前記シフト量に従って循環シフトを前記第1のデータ・ブロックに実施して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第4のデータ・ブロックを取得し、前記第4のデータ・ブロックを圧縮して第5のデータ・ブロックを取得するステップであって、前記論理演算は排他OR操作または排他NOR操作である、ステップと、
前記バックアップ側デバイスにより、前記ソース・デバイスに、前記第5のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、およびシフト情報を運搬するデータ・パケットを送信するステップであって、前記シフト情報は循環シフト方向および前記シフト量を含む、ステップと、
を含む、方法。 - 以下の計算規則、即ち、N個のウィンドウが設定され、各ウィンドウ内の、データ・ブロックの少なくとも部分的なデータにハッシュ計算が実施され、各ウィンドウのサイズは同じであり、第1のウィンドウの開始位置は前記データ・ブロックの開始位置であり、最後のウィンドウの終了位置は前記データ・ブロックの終了位置であり、(i+1)番目のウィンドウの開始位置はi番目のウィンドウの開始位置から固定長だけ離れており、Nは整数であり2より小さくなく、iは整数であり、前記i番目のウィンドウは1番目乃至N番目のウィンドウのうち何れかのウィンドウを示すことが前記バックアップ側デバイスに対して構成され、前記バックアップ側デバイスにより、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定するステップは特に、
前記計算規則に従って、前記バックアップ側デバイスにより、各ウィンドウ内の、前記第1のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、前記計算規則に従って、各ウィンドウ内の、前記第2のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施するステップと、ハッシュ値が設定される順序に従って、第1のM個のハッシュ値を前記第1のデータ・ブロックのハッシュ値から選択し、前記第1のM個のハッシュ値を前記第2のデータ・ブロックのハッシュ値から選択するステップと、前記第1のデータ・ブロックの前記第1のM個のハッシュ値および同一のハッシュ値に対する前記第2のデータ・ブロックの前記第1のM個のハッシュ値を検索し、前記同一のハッシュ値に対応する2つのウィンドウのオフセットの間の差異が前記シフト量であると判定するステップとを含み、Mは正の整数でありNより大きくない、
請求項30に記載の方法。 - 記憶システム内のデータ復元のための方法であって、前記記憶システムはソース・デバイスとバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスに格納され、前記ソース・デバイス内の前記n番目のスナップショットSnの前記データおよびx番目のスナップショットSxのデータは前記バックアップ側デバイスに格納され、nおよびxは整数であり、n<xであり、前記方法は、
前記ソース・デバイスにより、データ復元要求を前記バックアップ側デバイスに送信するステップであって、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬する、ステップと、
前記ソース・デバイスにより、前記データ復元要求に従って前記バックアップ側デバイスにより送信されたデータ・パケットを受信し解析して、第5のデータ・ブロック、第1のデータ・ブロックの論理ブロック・アドレス、およびシフト情報を取得するステップであって、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされた前記スナップショットSxに記録され前記ソース・デバイスにより前記n番目のスナップショットSnの後の前記論理ブロック・アドレスに書き込まれたデータ・ブロックである、ステップと、
前記ソース・デバイスにより、前記第1のデータ・ブロックの前記論理ブロック・アドレスに従って、前記ソース・デバイスに格納された前記スナップショットSnに記録された第2のデータ・ブロックを決定するステップであって、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、ステップと、
前記ソース・デバイスにより、前記第5のデータ・ブロックを解凍して第4のデータ・ブロックを取得するステップと、
前記ソース・デバイスにより、前記第4のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得するステップであって、前記論理演算は排他OR操作または排他NOR操作である、ステップと、
前記シフト情報に従って、前記ソース・デバイスにより、前記第3のデータ・ブロックに逆循環シフトを実施して前記第1のデータ・ブロックを取得するステップであって、前記シフト情報は、循環シフトを前記第1のデータ・ブロックに実施して前記第3のデータ・ブロックを取得するために前記バックアップ側デバイスにより必要とされるシフト量および循環シフト方向を含む、ステップと、
前記ソース・デバイスにより、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むステップと、
を含む、方法。 - 記憶装置であって、前記記憶装置は記憶システム内のソース・デバイスの役割を果たし、前記記憶システムはさらに前記ソース・デバイスのバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置と前記バックアップ側デバイスの両方に格納され、nは整数であり、前記記憶装置は、
前記n番目のスナップショットSnの後の前記記憶装置に書き込まれた第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスに従って、前記n番目のスナップショットSnに記録された第2のデータ・ブロックを決定し、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定するように構成された決定ユニットであって、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、決定ユニットと、
前記シフト量に従って循環シフトを前記第1のデータ・ブロックに実施して第3のデータ・ブロックを取得するように構成されたシフト・ユニットと、
前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第4のデータ・ブロックを取得するように構成された論理演算ユニットであって、前記論理演算は排他OR操作または排他NOR操作である、論理演算ユニットと、
前記第4のデータ・ブロックを圧縮して第5のデータ・ブロックを取得するように構成された圧縮ユニットと、
前記バックアップ側デバイスに、前記第5のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、シフト情報、および前記n番目のスナップショットSnのバージョン番号を運搬するデータ・パケットを送信するように構成された送信ユニットであって、前記シフト情報は循環シフト方向および前記シフト量を含む、送信ユニットと、
を備える、記憶装置。 - 以下の計算規則、即ち、N個のウィンドウが設定され、各ウィンドウ内の、データ・ブロックの少なくとも部分的なデータにハッシュ計算が実施され、各ウィンドウのサイズは同じであり、第1のウィンドウの開始位置は前記データ・ブロックの開始位置であり、最後のウィンドウの終了位置は前記データ・ブロックの終了位置であり、(i+1)番目のウィンドウの開始位置はi番目のウィンドウの開始位置から固定長だけ離れており、Nは整数であり2より小さくなく、iは整数であり、前記i番目のウィンドウは1番目乃至N番目のウィンドウのうち何れかのウィンドウを示すことが前記記憶装置に対して構成され、前記決定ユニットは特に、
前記計算規則に従って、各ウィンドウ内の、前記第1のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、前記計算規則に従って、各ウィンドウ内の、前記第2のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、ハッシュ値が設定される順序に従って、第1のM個のハッシュ値を前記第1のデータ・ブロックのハッシュ値から選択し、前記第1のM個のハッシュ値を前記第2のデータ・ブロックのハッシュ値から選択し、前記第1のデータ・ブロックの前記第1のM個のハッシュ値および同一のハッシュ値に対する前記第2のデータ・ブロックの前記第1のM個のハッシュ値を検索し、前記同一のハッシュ値に対応する2つのウィンドウのオフセットの間の差異が前記シフト量であると判定するように構成され、Mは正の整数でありNより大きくない、
請求項33に記載の記憶装置。 - 前記決定ユニットは特に、前記n番目のスナップショットSnの後の、データ変更ログに記録されたデータ書込み要求で運搬される論理ブロック・アドレスに従って前記第1のデータ・ブロックを決定するように構成される、請求項33に記載の記憶装置。
- 前記決定ユニットは特に、x番目のスナップショットSx操作を前記記憶装置に実施し、前記スナップショットSnをスナップショットSxと比較し、前記第1のデータ・ブロックを決定するように構成され、xは整数であり、n<xである、請求項33に記載の記憶装置。
- 記憶装置であって、前記記憶装置は記憶システム内のバックアップ側デバイスの役割を果たすように構成され、前記記憶システムはさらに前記バックアップ側デバイスのソース・デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスと前記記憶装置の両方に格納され、nは整数であり、前記記憶装置は、
前記ソース・デバイスにより送信されたデータ・パケットを受信し解析して、第5のデータ・ブロック、第1のデータ・ブロックの論理ブロック・アドレス、シフト情報、および前記n番目のスナップショットSnのバージョン番号を取得するように構成された受信解析ユニットと、
前記第1のデータ・ブロックの前記論理ブロック・アドレスおよび前記n番目のスナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録された第2のデータ・ブロックを決定するように構成された決定ユニットであって、前記第1のデータ・ブロックは、前記n番目のスナップショットSnの後に前記ソース・デバイスにより書き込まれたデータ・ブロックであり、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、決定ユニットと、
前記第5のデータ・ブロックを解凍して第4のデータ・ブロックを取得するように構成された解凍ユニットと、
前記第4のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得するように構成された論理演算ユニットであって、前記論理演算は排他OR操作または排他NOR操作である、論理演算ユニットと、
前記シフト情報に従って逆循環シフトを前記第3のデータ・ブロックに実施して前記第1のデータ・ブロックを取得するように構成されたシフト・ユニットであって、前記シフト情報は、循環シフトを前記第1のデータ・ブロックに実施して前記第3のデータ・ブロックを取得するために前記ソース・デバイスにより必要とされるシフト量および循環シフト方向を含む、シフト・ユニットと、
前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成された書込みユニットと、
を備える、記憶装置。 - 記憶装置であって、前記記憶装置は記憶システム内のバックアップ側デバイスの役割を果たすように構成され、前記記憶システムはさらに前記バックアップ側デバイスのソース・デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスに格納され、前記ソース・デバイス内の前記n番目のスナップショットSnの前記データおよびx番目のスナップショットSxのデータは前記記憶装置に格納され、nおよびxは整数であり、n<xであり、前記記憶装置は、
前記ソース・デバイスにより送信されたデータ復元要求を受信するように構成された受信ユニットであって、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬する、受信ユニットと、
前記スナップショットSnの前記バージョン番号および前記スナップショットSxのバージョン番号に従って、前記スナップショットSxに記録された第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスおよび前記スナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録され前記論理ブロック・アドレスに格納された第2のデータ・ブロックを決定し、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定するように構成された決定ユニットであって、前記第1のデータ・ブロックは前記記憶装置によりバックアップされた前記スナップショットSxに記録され前記ソース・デバイスにより前記n番目のスナップショットSnの後に書き込まれたデータ・ブロックである、決定ユニットと、
前記シフト量に従って循環シフトを前記第1のデータ・ブロックに実施して第3のデータ・ブロックを取得するように構成されたシフト・ユニットと、
前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第4のデータ・ブロックを取得するように構成された論理演算ユニットと、
前記第4のデータ・ブロックを圧縮して第5のデータ・ブロックを取得するように構成された圧縮ユニットであって、前記論理演算は排他OR操作または排他NOR操作である、圧縮ユニットと、
前記ソース・デバイスに、前記第5のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、およびシフト情報を運搬するデータ・パケットを送信するように構成された送信ユニットであって、前記シフト情報は循環シフト方向および前記シフト量を含む、送信ユニットと、
を備える、記憶装置。 - 以下の計算規則、即ち、N個のウィンドウが設定され、各ウィンドウ内の、データ・ブロックの少なくとも部分的なデータにハッシュ計算が実施され、各ウィンドウのサイズは同じであり、第1のウィンドウの開始位置は前記データ・ブロックの開始位置であり、最後のウィンドウの終了位置は前記データ・ブロックの終了位置であり、(i+1)番目のウィンドウの開始位置はi番目のウィンドウの開始位置から固定長だけ離れており、Nは整数であり2より小さくなく、iは整数であり、前記i番目のウィンドウは1番目乃至N番目のウィンドウのうち何れかのウィンドウを示すことが前記記憶装置に対して構成され、前記決定ユニットは特に、
前記計算規則に従って、各ウィンドウ内の、前記第1のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、前記計算規則に従って、各ウィンドウ内の、前記第2のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、ハッシュ値が設定される順序に従って、第1のM個のハッシュ値を前記第1のデータ・ブロックのハッシュ値から選択し、前記第1のM個のハッシュ値を前記第2のデータ・ブロックのハッシュ値から選択し、前記第1のデータ・ブロックの前記第1のM個のハッシュ値および同一のハッシュ値に対する前記第2のデータ・ブロックの前記第1のM個のハッシュ値を検索し、前記同一のハッシュ値に対応する2つのウィンドウのオフセットの間の差異が前記シフト量であると判定するように構成され、Mは正の整数でありNより大きくない、
請求項38に記載の記憶装置。 - 記憶装置であって、前記記憶装置は記憶システム内のソース・デバイスの役割を果たすように構成され、前記記憶システムはさらに前記ソース・デバイスのバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置に格納され、前記記憶装置内の前記n番目のスナップショットSnの前記データおよびx番目のスナップショットSxのデータは前記バックアップ側デバイスに格納され、nおよびxは整数であり、n<xであり、前記ソース・デバイスは、
データ復元要求を前記バックアップ側デバイスに送信するように構成された送信ユニットであって、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬する、送信ユニットと、
前記データ復元要求に従って前記バックアップ側デバイスにより送信されたデータ・パケットを受信し解析して、第5のデータ・ブロック、第1のデータ・ブロックの論理ブロック・アドレス、およびシフト情報を取得するように構成された受信解析ユニットであって、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされた前記スナップショットSxに記録され前記記憶装置により前記n番目のスナップショットSnの後の前記論理ブロック・アドレスに書き込まれたデータ・ブロックである、受信解析ユニットと、
前記第1のデータ・ブロックの前記論理ブロック・アドレスに従って、前記記憶装置に格納された前記スナップショットSnに記録された第2のデータ・ブロックを決定するように構成された決定ユニットであって、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックである、決定ユニットと、
前記第5のデータ・ブロックを解凍して第4のデータ・ブロックを取得するように構成された解凍ユニットと、
前記第4のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得するように構成された論理演算ユニットであって、前記論理演算は排他OR操作または排他NOR操作である、論理演算ユニットと、
前記シフト情報に従って逆循環シフトを前記第3のデータ・ブロックに実施して前記第1のデータ・ブロックを取得するように構成されたシフト・ユニットであって、前記シフト情報は、循環シフトを前記第1のデータ・ブロックに実施して前記第3のデータ・ブロックを取得するために前記バックアップ側デバイスにより必要とされるシフト量および循環シフト方向を含む、シフト・ユニットと、
前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成された書込みユニットと、
を備える、記憶装置。 - 記憶装置であって、前記記憶装置は記憶システム内のソース・デバイスの役割を果たし、前記記憶システムはさらに前記ソース・デバイスのバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置と前記バックアップ側デバイスの両方に格納され、nは整数であり、前記記憶装置はインタフェースおよびプロセッサを備え、前記インタフェースおよび前記プロセッサはバスを用いることによって互いと通信し、
前記プロセッサは、前記n番目のスナップショットSnの後の前記記憶装置に書き込まれた第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスに従って、前記n番目のスナップショットSnに記録された第2のデータ・ブロックを決定し、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定し、前記シフト量に従って循環シフトを前記第1のデータ・ブロックに実施して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第4のデータ・ブロックを取得し、前記第4のデータ・ブロックを圧縮して第5のデータ・ブロックを取得するように構成され、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、前記論理演算は排他OR操作または排他NOR操作であり、
前記インタフェースは、前記バックアップ側デバイスに、前記第5のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、シフト情報、および前記n番目のスナップショットSnのバージョン番号を運搬するデータ・パケットを送信するように構成され、前記シフト情報は循環シフト方向および前記シフト量を含む、
記憶装置。 - 以下の計算規則、即ち、N個のウィンドウが設定され、各ウィンドウ内の、データ・ブロックの少なくとも部分的なデータにハッシュ計算が実施され、各ウィンドウのサイズは同じであり、第1のウィンドウの開始位置は前記データ・ブロックの開始位置であり、最後のウィンドウの終了位置は前記データ・ブロックの終了位置であり、(i+1)番目のウィンドウの開始位置はi番目のウィンドウの開始位置から固定長だけ離れており、Nは整数であり2より小さくなく、iは整数であり、前記i番目のウィンドウは1番目乃至N番目のウィンドウのうち何れかのウィンドウを示すことが前記記憶装置に対して構成され、前記プロセッサは特に、
前記計算規則に従って、各ウィンドウ内の、前記第1のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、前記計算規則に従って、各ウィンドウ内の、前記第2のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、ハッシュ値が設定される順序に従って、第1のM個のハッシュ値を前記第1のデータ・ブロックのハッシュ値から選択し、前記第1のM個のハッシュ値を前記第2のデータ・ブロックのハッシュ値から選択し、前記第1のデータ・ブロックの前記第1のM個のハッシュ値および同一のハッシュ値に対する前記第2のデータ・ブロックの前記第1のM個のハッシュ値を検索し、前記同一のハッシュ値に対応する2つのウィンドウのオフセットの間の差異が前記シフト量であると判定するように構成され、Mは正の整数でありNより大きくない、
請求項41に記載の記憶装置。 - 前記プロセッサは特に、前記n番目のスナップショットSnの後の、データ変更ログに記録されたデータ書込み要求で運搬される論理ブロック・アドレスに従って前記第1のデータ・ブロックを決定するように構成される、請求項41に記載の記憶装置。
- 前記プロセッサは特に、x番目のスナップショットSx操作を前記記憶装置に実施し、前記スナップショットSnをスナップショットSxと比較し、前記第1のデータ・ブロックを決定するように構成され、xは整数であり、n<xである、請求項41に記載の記憶装置。
- 記憶装置であって、前記記憶装置は記憶システム内のバックアップ側デバイスの役割を果たすように構成され、前記記憶システムはさらに前記バックアップ側デバイスのソース・デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスと前記記憶装置の両方に格納され、nは整数であり、前記記憶装置はインタフェースおよびプロセッサを備え、前記インタフェースおよび前記プロセッサはバスを用いることによって互いと通信し、
前記インタフェースは、前記ソース・デバイスにより送信されたデータ・パケットを受信し解析して、第5のデータ・ブロック、第1のデータ・ブロックの論理ブロック・アドレス、シフト情報、および前記n番目のスナップショットSnのバージョン番号を取得するように構成され、
前記プロセッサは、前記第1のデータ・ブロックの前記論理ブロック・アドレスおよび前記n番目のスナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録された第2のデータ・ブロックを決定し、前記第5のデータ・ブロックを解凍して第4のデータ・ブロックを取得し、前記第4のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得し、前記シフト情報に従って逆循環シフトを前記第3のデータ・ブロックに実施して前記第1のデータ・ブロックを取得し、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成され、前記第1のデータ・ブロックは、前記n番目のスナップショットSnの後に前記ソース・デバイスにより書き込まれたデータ・ブロックであり、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、前記論理演算は排他OR操作または排他NOR操作であり、前記シフト情報は、循環シフトを前記第1のデータ・ブロックに実施して前記第3のデータ・ブロックを取得するために前記ソース・デバイスにより必要とされるシフト量および循環シフト方向を含む、
記憶装置。 - 記憶装置であって、前記記憶装置は記憶システム内のバックアップ側デバイスの役割を果たすように構成され、前記記憶システムはさらに前記バックアップ側デバイスのソース・デバイスを備え、n番目のスナップショットSnのデータは前記ソース・デバイスに格納され、前記ソース・デバイス内の前記n番目のスナップショットSnの前記データおよびx番目のスナップショットSxのデータは前記記憶装置に格納され、nおよびxは整数であり、n<xであり、前記記憶装置はインタフェースおよびプロセッサを備え、前記インタフェースおよび前記プロセッサはバスを用いることによって互いと通信し、
前記インタフェースは、前記ソース・デバイスにより送信されたデータ復元要求を受信するように構成され、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬し、
前記プロセッサは、前記スナップショットSnの前記バージョン番号および前記スナップショットSxのバージョン番号に従って、前記スナップショットSxに記録された第1のデータ・ブロックを決定し、前記第1のデータ・ブロックの論理ブロック・アドレスおよび前記スナップショットSnの前記バージョン番号に従って、前記スナップショットSnに記録され前記論理ブロック・アドレスに格納された第2のデータ・ブロックを決定し、前記第1のデータ・ブロックに実施される必要がある循環シフトのシフト量を決定し、前記シフト量に従って循環シフトを前記第1のデータ・ブロックに実施して第3のデータ・ブロックを取得し、前記第3のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第4のデータ・ブロックを取得し、前記第4のデータ・ブロックを圧縮して第5のデータ・ブロックを取得するように構成され、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされた前記スナップショットSxに記録され前記ソース・デバイスにより前記n番目のスナップショットSnの後に書き込まれたデータ・ブロックであり、前記論理演算は排他OR操作または排他NOR操作であり、
前記インタフェースは、前記ソース・デバイスに、前記第5のデータ・ブロック、前記第1のデータ・ブロックの前記論理ブロック・アドレス、およびシフト情報を運搬するデータ・パケットを送信するように構成され、前記シフト情報は循環シフト方向および前記シフト量を含む、
記憶装置。 - 以下の計算規則、即ち、N個のウィンドウが設定され、各ウィンドウ内の、データ・ブロックの少なくとも部分的なデータにハッシュ計算が実施され、各ウィンドウのサイズは同じであり、第1のウィンドウの開始位置は前記データ・ブロックの開始位置であり、最後のウィンドウの終了位置は前記データ・ブロックの終了位置であり、(i+1)番目のウィンドウの開始位置はi番目のウィンドウの開始位置から固定長だけ離れており、Nは整数であり2より小さくなく、iは整数であり、前記i番目のウィンドウは1番目乃至N番目のウィンドウのうち何れかのウィンドウを示すことが前記記憶装置に対して構成され、前記プロセッサは特に、
前記計算規則に従って、各ウィンドウ内の、前記第1のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、 前記計算規則に従って、各ウィンドウ内の、前記第2のデータ・ブロックの少なくとも部分的なデータにハッシュ計算を実施し、ハッシュ値が設定される順序に従って、第1のM個のハッシュ値を前記第1のデータ・ブロックのハッシュ値から選択し、前記第1のM個のハッシュ値を前記第2のデータ・ブロックのハッシュ値から選択し、前記第1のデータ・ブロックの前記第1のM個のハッシュ値および同一のハッシュ値に対する前記第2のデータ・ブロックの前記第1のM個のハッシュ値を検索し、前記同一のハッシュ値に対応する2つのウィンドウのオフセットの間の差異が前記シフト量であると判定するように構成され、Mは正の整数でありNより大きくない、
請求項46に記載の記憶装置。 - 記憶装置であって、前記記憶装置は記憶システム内のソース・デバイスの役割を果たし、前記記憶システムはさらに前記ソース・デバイスのバックアップ側デバイスを備え、n番目のスナップショットSnのデータは前記記憶装置に格納され、前記記憶装置内の前記n番目のスナップショットSnの前記データおよびx番目のスナップショットSxのデータは前記バックアップ側デバイスに格納され、nおよびxは整数であり、n<xであり、前記ソース・デバイスはインタフェースおよびプロセッサを備え、前記インタフェースおよび前記プロセッサはバスを用いることによって互いと通信し、
前記インタフェースは、データ復元要求を前記バックアップ側デバイスに送信し、前記データ復元要求に従って前記バックアップ側デバイスにより送信されたデータ・パケットを受信し解析して、第5のデータ・ブロック、第1のデータ・ブロックの論理ブロック・アドレス、およびシフト情報を取得するように構成され、前記データ復元要求は前記スナップショットSnのバージョン番号を運搬し、前記第1のデータ・ブロックは、前記バックアップ側デバイスによりバックアップされた前記スナップショットSxに記録され前記記憶装置により前記n番目のスナップショットSnの後の前記論理ブロック・アドレスに書き込まれたデータ・ブロックであり、
前記プロセッサは、前記第1のデータ・ブロックの前記論理ブロック・アドレスに従って、前記記憶装置に格納された前記スナップショットSnに記録された第2のデータ・ブロックを決定し、前記第5のデータ・ブロックを解凍して第4のデータ・ブロックを取得し、前記第4のデータ・ブロックおよび前記第2のデータ・ブロックに論理演算を実施して第3のデータ・ブロックを取得し、前記シフト情報に従って逆循環シフトを前記第3のデータ・ブロックに実施して前記第1のデータ・ブロックを取得し、前記第1のデータ・ブロックを前記第1のデータ・ブロックの前記論理ブロック・アドレスに書き込むように構成され、前記第1のデータ・ブロックは前記第2のデータ・ブロックの修正されたブロックであり、前記論理演算は排他OR操作または排他NOR操作であり、前記シフト情報は、循環シフトを前記第1のデータ・ブロックに実施して前記第3のデータ・ブロックを取得するために前記バックアップ側デバイスにより必要とされるシフト量および循環シフト方向を含む、
記憶装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/095562 WO2017088129A1 (zh) | 2015-11-25 | 2015-11-25 | 存储系统中数据备份的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017538982A JP2017538982A (ja) | 2017-12-28 |
JP6308446B2 true JP6308446B2 (ja) | 2018-04-11 |
Family
ID=58762836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016564331A Active JP6308446B2 (ja) | 2015-11-25 | 2015-11-25 | 記憶システム内のデータ・バックアップのための方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10176058B2 (ja) |
EP (1) | EP3229138B1 (ja) |
JP (1) | JP6308446B2 (ja) |
CN (1) | CN107027326B (ja) |
SG (1) | SG11201703156UA (ja) |
WO (1) | WO2017088129A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI615710B (zh) * | 2016-12-14 | 2018-02-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
CN109213433A (zh) * | 2017-07-07 | 2019-01-15 | 华为技术有限公司 | 闪存设备中数据写入的方法及设备 |
CN111406282B (zh) * | 2018-04-23 | 2022-06-07 | 华为技术有限公司 | 一种用于存储设备的存储器控制电路 |
CN109756231B (zh) * | 2018-12-27 | 2023-01-31 | 北京思朗科技有限责任公司 | 循环移位处理装置及方法 |
TWI791966B (zh) * | 2020-03-27 | 2023-02-11 | 瑞昱半導體股份有限公司 | 記憶體控制器與資料處理方法 |
US11461018B2 (en) * | 2020-09-29 | 2022-10-04 | EMC IP Holding Company LLC | Direct snapshot to external storage |
US20240053984A1 (en) * | 2022-08-11 | 2024-02-15 | International Business Machines Corporation | Operator mirroring |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW313643B (ja) | 1994-12-14 | 1997-08-21 | At & T Corp | |
CA2546304A1 (en) * | 2003-11-13 | 2005-05-26 | Commvault Systems, Inc. | System and method for performing an image level snapshot and for restoring partial volume data |
US7200603B1 (en) * | 2004-01-08 | 2007-04-03 | Network Appliance, Inc. | In a data storage server, for each subsets which does not contain compressed data after the compression, a predetermined value is stored in the corresponding entry of the corresponding compression group to indicate that corresponding data is compressed |
US8380686B2 (en) * | 2005-03-14 | 2013-02-19 | International Business Machines Corporation | Transferring data from a primary data replication appliance in a primary data facility to a secondary data replication appliance in a secondary data facility |
CN1949761B (zh) * | 2005-10-13 | 2010-09-15 | 腾讯科技(深圳)有限公司 | 一种数据同步方法及其差分编码方法 |
US7651593B2 (en) * | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US9244779B2 (en) * | 2010-09-30 | 2016-01-26 | Commvault Systems, Inc. | Data recovery operations, such as recovery from modified network data management protocol data |
CN102014152A (zh) * | 2010-10-18 | 2011-04-13 | 浪潮(北京)电子信息产业有限公司 | 一种远程复制系统及其方法 |
US8788769B2 (en) * | 2010-11-16 | 2014-07-22 | Actifio, Inc. | System and method for performing backup or restore operations utilizing difference information and timeline state information |
US9417999B2 (en) * | 2012-12-17 | 2016-08-16 | International Business Machines Corporation | Write peformance in solid state storage by recognizing copy source to target operations and only storing updates instead of entire block |
US9015122B2 (en) * | 2012-12-21 | 2015-04-21 | Zetta, Inc. | Systems and methods for minimizing network bandwidth for replication/back up |
CN103095843B (zh) | 2013-01-28 | 2018-01-30 | 刘海峰 | 一种基于版本矢量的数据备份方法及客户端 |
CN103744751B (zh) * | 2014-02-08 | 2017-04-26 | 安徽瀚科信息科技有限公司 | 存储设备配置信息连续优化备份系统及其使用方法 |
US9535799B2 (en) * | 2015-01-06 | 2017-01-03 | HGST Netherlands B.V. | Apparatus, systems, and methods for data recovery |
US10210048B2 (en) * | 2016-10-25 | 2019-02-19 | Commvault Systems, Inc. | Selective snapshot and backup copy operations for individual virtual machines in a shared storage |
-
2015
- 2015-11-25 CN CN201580002560.3A patent/CN107027326B/zh active Active
- 2015-11-25 EP EP15909041.4A patent/EP3229138B1/en active Active
- 2015-11-25 WO PCT/CN2015/095562 patent/WO2017088129A1/zh active Application Filing
- 2015-11-25 SG SG11201703156UA patent/SG11201703156UA/en unknown
- 2015-11-25 JP JP2016564331A patent/JP6308446B2/ja active Active
-
2018
- 2018-03-01 US US15/909,613 patent/US10176058B2/en active Active
- 2018-12-06 US US16/212,219 patent/US10540240B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10176058B2 (en) | 2019-01-08 |
US10540240B2 (en) | 2020-01-21 |
US20190108102A1 (en) | 2019-04-11 |
CN107027326A (zh) | 2017-08-08 |
SG11201703156UA (en) | 2017-07-28 |
EP3229138A1 (en) | 2017-10-11 |
CN107027326B (zh) | 2018-12-07 |
JP2017538982A (ja) | 2017-12-28 |
EP3229138A4 (en) | 2018-07-25 |
WO2017088129A1 (zh) | 2017-06-01 |
EP3229138B1 (en) | 2019-05-29 |
US20180189151A1 (en) | 2018-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6308446B2 (ja) | 記憶システム内のデータ・バックアップのための方法および装置 | |
US9977746B2 (en) | Processing of incoming blocks in deduplicating storage system | |
US8321384B2 (en) | Storage device, and program and method for controlling storage device | |
US20180285014A1 (en) | Data storage method and apparatus | |
US20120011101A1 (en) | Integrating client and server deduplication systems | |
TWI706315B (zh) | 儲存元件 | |
US7657533B2 (en) | Data management systems, data management system storage devices, articles of manufacture, and data management methods | |
US10956382B2 (en) | Application aware export to object storage of low-reference data in deduplication repositories | |
US10606499B2 (en) | Computer system, storage apparatus, and method of managing data | |
US20160124683A1 (en) | In-memory data compression complementary to host data compression | |
US9843802B1 (en) | Method and system for dynamic compression module selection | |
EP3432131A1 (en) | Storage system of distributed deduplication for internet of things backup in data center and method for achieving the same | |
CN112286714A (zh) | 在基于nand的读取源存储中提高大数据分析吞吐量的方法和系统 | |
US10503426B2 (en) | Efficient space allocation in gathered-write backend change volumes | |
WO2017147794A1 (zh) | 差异数据备份的方法和设备 | |
US10956273B2 (en) | Application aware export to object storage of low-reference data in deduplication repositories | |
JP7075077B2 (ja) | バックアップサーバ、バックアップ方法、プログラム、ストレージシステム | |
US20230199064A1 (en) | Data transmission method and system, apparatus, device, and medium | |
US12074962B2 (en) | Systems, methods, and apparatus for dividing and encrypting data | |
US20150269086A1 (en) | Storage System and Storage Method | |
CN115705150A (zh) | 用于划分和压缩数据的系统、方法和装置 | |
US11977525B2 (en) | Method to optimize ingest in dedupe systems by using compressibility hints | |
US10101945B1 (en) | Method and apparatus for enhancing command burst tolerance | |
US11144206B2 (en) | Method and system for sharing data reduction metadata with storage systems | |
US9716611B1 (en) | Method and apparatus for enhancing link anomaly tolerance in a SCSI system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161207 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161207 |
|
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: 20180213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180301 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6308446 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |