# US 10,481,988 B2 · System and method for consistency verification of replicated data in a recovery system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,481,988 B2
- Document ID: US10481988B2
- Status: Granted
- Kind: B2
- Application number: 15/413,426
- Filed: 2017-01-24
- Published: 2018-07-26
- Granted: 2019-11-19
- Earliest claimed: 2017-01-24
- Assignees: Zerto Ltd.
- Applicants: Zerto Ltd.
- Inventors: Ori Mamluk
- Web page: https://patentgrep.com/patent/US10481988B2

## CPC

- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 11/1456: {Hardware arrangements for backup}
- G06F 11/2097: {maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups)}
- G06F 2201/83: the solution involving signatures
- G06F 2201/855: Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for verifying consistency of data in a recovery system may include a target disk configured to store a replica of a protected storage system from before a time window and a journal including data and metadata of write operations to the protected storage system that occurred during the time window. The verification may include storing in the journal a first bit string that uniquely identifies a selected chunk of the protected storage system from a specified time point, and when the specified time point goes past the limit of the time window, comparing the first bit string with a second bit string that uniquely identifies a corresponding chunk that is stored in the target disk.

## Claims

### Claim 1

A computer-implemented method of verifying consistency of data in a recovery system, the method comprising:
protecting data in the recovery system, wherein the recovery system comprises a target disk configured to store a replica of a protected storage system from before a time window and a journal configured to store data and metadata of write operations to the protected storage system that occurred during the time window;
verifying consistency of the replicated data by:
storing in the journal a first bit string that substantially uniquely identifies a selected chunk of the protected storage system from a specified time point and comprises a copy of the selected chunk; and
when the specified time point goes past the limit of the time window, comparing, bit by bit, the first bit string with a second bit string that substantially uniquely identifies a corresponding chunk that is stored in the target disk and comprises a copy of the corresponding chunk that is stored in the target disk; and
reporting results of the comparison to a user.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
repeating the verifying for substantially all chunks of the protected storage system in a cyclic manner.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
selecting the selected chunk in its low usage period based on usage statistics.

### Claim 4 (depends on 1)

The method of claim 1, further comprising amending data stored in the recovery system according to the data of the first bit string.

### Claim 5 (depends on 1)

The method of claim 1, wherein the recovery system is an object-based recovery system.

### Claim 6 (depends on 1)

The method of claim 1, wherein protecting the data in the recovery system comprises:
storing, in the target disk, the replica of the protected storage system from before the time window;
obtaining information related to a write operation in the protected storage system, the information including: a copy of data stored on the protected storage system, and metadata related to the stored data;
maintaining the journal by:
storing a copy of the stored data in a content entry;
storing at least a portion of the metadata in a metadata entry; and
associating the metadata entry with the content entry; and
periodically applying data received before a predetermined time window from the journal to the target disk.

### Claim 7 (depends on 6)

The method of claim 6, wherein the metadata entries are chronologically arranged.

### Claim 8 (depends on 1)

The method of claim 1, wherein if the journal includes a write operation to the selected chunk at a time that is less than a predetermined time difference from the specified time point, reporting that the comparison is not reliable or repeating the verification of the selected chunk.

### Claim 9

A system comprising:
a recovery system configured to protect data of a protected storage system, wherein the recovery system comprises:
a target disk configured to store a replica of the protected storage system from before a time window;
a journal configured to store data and metadata of write operations to the protected storage system that occurred during the time window; and
a processor configured to verify consistency of the replicated data by:
storing in the journal a first bit string that uniquely identifies a selected chunk of the protected storage system from a specified time point and comprises a copy of the selected chunk; and
when the specified time point goes past the limit of the time window, comparing, bit by bit, the first bit string with a second bit string that uniquely identifies a corresponding chunk in the target disk; and
reporting results of the comparison to a user.

### Claim 10 (depends on 9)

The system of claim 9, wherein the processor is further configured to:
repeat the copying, generating and comparing for substantially all chunks of the protected storage system in a cyclic manner.

### Claim 11 (depends on 9)

The system of claim 9, wherein the recovery system is further configured to amend data stored in the recovery system according to the bit string.

### Claim 12 (depends on 9)

The system of claim 9, wherein the recovery system is an object based recovery system.

### Claim 13 (depends on 9)

The system of claim 9, wherein the recovery system is configured to protect data by:
obtaining information related to a write operation in the protected storage system, the information including: a copy of data stored on the protected storage system, and metadata related to the stored data;
maintaining the journal by:
storing a copy of the stored data in a content entry;
storing at least a portion of the metadata in a metadata entry; and
associating the metadata entry with the content entry; and
periodically applying data received before the time window from the journal to the target disk.

### Claim 14 (depends on 13)

The system of claim 13, wherein the metadata entries are chronologically arranged.

### Claim 15 (depends on 9)

The system of claim 9, wherein if the journal includes write operation to the selected chunk at a time that is less than a predetermined time difference from the specified time point, the processor is further configured to report that the comparison is not reliable or to repeat the verification for the selected chunk.

### Claim 16

A computer-implemented method comprising:
obtaining data and metadata of a write operations in a protected storage system, storing a copy of the data in content entries of a journal;
storing at least a portion of the metadata in chronologically ordered metadata entries of the journal;
associating the metadata entries with respective content entries;
periodically applying data received before a time period from the journal to a target disk configured to store a replica of a protected storage system from before the time period;
obtaining a first bit string that substantially uniquely identifies a selected chunk of the protected storage system from a specified time point and comprises a copy of the selected chunk;
storing the first bit string in the journal;
when data related to write operations that were performed before the specified time point has been applied to the target disk, comparing, bit by bit, the first bit string with a second bit string that substantially uniquely identifies a corresponding chunk that is stored in the target disk and comprises a copy of the corresponding chunk that is stored in the target disk; and
reporting results of the comparison to a user.
