IP Library Granted Patent US 11,360,689
Granted Patent B1
US 11,360,689 · App. 16/669,038 · Granted Jun 14, 2022

Cloning a tracking copy of replica data

Inventors: David Grunwald (San Francisco, CA); Thomas Gill (Mountain View, CA); Ronald Karr (Palo Alto, CA); John Colgrove (Los Altos, CA); Larry Touchette (Redwood City, CA); Lawrence Mertes (San Jose, CA)
Assignee: PURE STORAGE, INC.
G06F3/065G06F3/067G06F3/0614G06F11/1458G06F16/383G06F2201/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,360,689
App. No.
16/669,038
Filed
Oct 30, 2019
Granted
Jun 14, 2022
Kind
B1
Examiner
GU, SHAWN X
Art Unit
2138
USPC
711/154
Abstract

Cloning a tracking copy of replica data, including receiving, at a target data repository from a source data repository, metadata describing one or more updates to a dataset stored within the source data repository; generating, based on the metadata describing the one or more updates to the dataset, a tracking copy of replica data on the target data repository; and generating, based on the tracking copy, a cloned image of the dataset that is modifiable without modifying the tracking copy of the replica data.

Claims (32)

1. A method comprising:

receiving, at a target data repository from a source data repository, metadata describing one or more updates to a dataset stored within the source data repository;

generating, based on the metadata describing the one or more updates to the dataset, a tracking copy of replica data on the target data repository;

generating, based on the tracking copy, a cloned image of the dataset that is modifiable without modifying the tracking copy of the replica data, wherein generating the cloned image of the dataset is responsive to receiving an indication to begin accepting modifications to the tracking copy of the replica data; and

responsive to a storage operation directed to the target data repository, modifying the cloned image of the dataset without modifying the tracking copy of the replica data.

2. The method of claim 1 , wherein a replica link specifying a replica configuration changes direction of data replication from the target data repository to the source data repository.

3. The method of claim 1 , wherein a snapshot of the cloned image is created that describes modifications made to the cloned image by one or more storage operations directed to the target data repository from a host computing device.

4. The method of claim 1 , wherein the metadata references content identifiers on the respective source data repository and target data repository, wherein the content identifiers are a basis avoiding transfer of data based on identifying content on the target data repository that is the same as content on the source data repository, and wherein content is identified as being the same based on sharing a common definition for respective content identifiers on the source data repository and the target data repository.

5. The method of claim 1 , wherein the metadata includes one or more ordered checkpoints that specify the one or more updates to the dataset.

6. The method of claim 5 , wherein a quantity of updates described by a given checkpoint depend on a configurable data replication setting.

7. The method of claim 6 , wherein the configurable data replication setting is target recovery point objective.

8. The method of claim 5 , further comprising:

receiving, at the target data repository from the source data repository and independent from receiving the metadata including the one or more checkpoints describing the one or more updates to the dataset, data corresponding to the one or more updates to the dataset.

9. The method of claim 8 , wherein generating the tracking copy of replica data on the target data repository includes applying, in order, the one or more updates corresponding to the data received from the source data repository.

10. A storage system that includes a computer memory and a computer processor, the computer memory including program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of:

receiving, at a target data repository from a source data repository, metadata describing one or more updates to a dataset stored within the source data repository;

generating, based on the metadata describing the one or more updates to the dataset, a tracking copy of replica data on the target data repository;

generating, based on the tracking copy, a cloned image of the dataset that is modifiable without modifying the tracking copy of the replica data, wherein generating the cloned image of the dataset is responsive to receiving an indication to begin accepting modifications to the tracking copy of the replica data; and

responsive to a storage operation directed to the target data repository, modifying the cloned image of the dataset without modifying the tracking copy of the replica data.

11. The storage system of claim 10 , wherein a replica link specifying a replica configuration changes direction of data replication from the target data repository to the source data repository.

12. The storage system of claim 10 , wherein a snapshot of the cloned image is created that describes modifications made to the cloned image by one or more storage operations directed to the target data repository from a host computing device.

13. The storage system of claim 10 , wherein the metadata references content identifiers on the respective source data repository and target data repository, wherein the content identifiers are a basis avoiding transfer of data based on identifying content on the target data repository that is the same as content on the source data repository, and wherein content is identified as being the same based on sharing a common definition for respective content identifiers on the source data repository and the target data repository.

14. The storage system of claim 10 , wherein the program instructions, when executed by the computer processor, further cause the storage system to carry out the steps of:

receiving, at the target data repository from the source data repository and independent from receiving the metadata including checkpoints describing the one or more updates to the dataset, data corresponding to the one or more updates to the dataset.

15. The storage system of claim 14 , wherein generating the tracking copy of replica data on the target data repository includes applying, in order, the one or more updates corresponding to the data received from the source data repository.

16. The storage system of claim 10 , wherein the metadata includes one or more ordered checkpoints that specify the one or more updates to the dataset.

17. The storage system of claim 16 , wherein a quantity of updates described by a given checkpoint depend on a configurable data replication setting.

18. A computer program product disposed on a non-transitory computer readable medium, wherein the computer program product includes computer program instructions that, when executed, carry out the steps of:

receiving, at a target data repository from a source data repository, metadata describing one or more updates to a dataset stored within the source data repository;

generating, based on the metadata describing the one or more updates to the dataset, a tracking copy of replica data on the target data repository;

generating, based on the tracking copy, a cloned image of the dataset that is modifiable without modifying the tracking copy of the replica data, wherein generating the cloned image of the dataset is responsive to receiving an indication to begin accepting modifications to the tracking copy of the replica data; and

responsive to a storage operation directed to the target data repository, modifying the cloned image of the dataset without modifying the tracking copy of the replica data.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2019
From: GRUNWALD, DAVID; GILL, THOMAS; KARR, RONALD; COLGROVE, JOHN; TOUCHETTE, LARRY; MERTES, LAWRENCE
To: PURE STORAGE, INC.
Reel/Frame 050868/0069 →
Continuity (1)
Provisional Application 62900330 · Sep 13, 2019
Cited By (11)
US 12,204,787 US 12,259,795 US 12,265,500 US 12,407,562 US 12,430,360 US 12,443,587 US 12,493,431 US 12,505,079 US 12,511,068 US 12,530,304 US 12,639,335