IP Library Granted Patent US 11,687,500
Granted Patent B1
US 11,687,500 · App. 17/088,152 · Granted Jun 27, 2023

Updating metadata for a synchronously replicated dataset

Inventors: David Grunwald (San Francisco, CA); Steven Hodgson (Cobham, GB); Tabriz Holtz (Los Gatos, CA); Ronald Karr (Palo Alto, CA)
Assignee: PURE STORAGE, INC.
G06F16/1844H04L67/1095
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,687,500
App. No.
17/088,152
Filed
Nov 3, 2020
Granted
Jun 27, 2023
Kind
B1
Art Unit
2159
USPC
707/610
Abstract

Synchronizing metadata among storage systems synchronously replicating a dataset, where synchronizing the metadata includes: receiving, at a first storage system of the storage systems, an I/O operation directed to the dataset; determining, in dependence upon the I/O operation, a metadata update describing a mapping of segments of content to a virtual address within a storage object, wherein the storage object includes the dataset; and synchronizing metadata on a second storage system of the storage systems by sending the metadata update to the second storage system to update a metadata representation on the second storage system in accordance with the metadata update.

Claims (32)

1. A method comprising:

receiving, at a first storage system enabled to serve as a source for servicing I/O operations to a synchronously replicated dataset, an I/O operation directed to the synchronously replicated dataset; and

generating, based on the I/O operation, a metadata update that describes a mapping of segments of content to a virtual address within a storage object that includes the synchronously replicated dataset; and

causing a second storage system to serve as a source for servicing I/O operations to the synchronously replicated dataset by sending the metadata update to the second storage system.

2. The method of claim 1 , further comprising:

applying the I/O operation to the synchronously replicated dataset on the first storage system.

3. The method of claim 2 , further comprising:

responsive to successfully applying the I/O operation on the first storage system, updating, on the first storage system and in accordance with the metadata update, a version of metadata corresponding to the synchronously replicated dataset prior to applying the I/O operation.

4. The method of claim 1 , wherein the metadata update includes a description of an update to be made to represent application of the I/O operation.

5. The method of claim 1 further comprising:

determining predicate metadata describing an ordering of the I/O operation relative to one or more other I/O operations.

6. The method of claim 5 , wherein the metadata update includes the determined predicate metadata.

7. The method of claim 1 , wherein a first metadata graph corresponding to the synchronously replicated dataset on the first storage system comprises nodes representing logical extents.

8. The method of claim 7 , wherein a second metadata graph corresponding to a dataset on the second storage system comprises nodes representing logical extents.

9. The method of claim 8 , wherein a first structure of the first metadata graph on the first storage system is different from a second structure of the second metadata graph on the second storage system.

10. The method of claim 1 , wherein metadata for the synchronously replicated dataset comprises an identifier that identifies a subset of the synchronously replicated dataset, and wherein the subset of the synchronously replicated dataset includes one or more of: a volume or a storage object.

11. The method of claim 10 , wherein, by comparison with the storage systems synchronously replicating the synchronously replicated dataset, replication of the subset of the synchronously replicated dataset, to one or more target storage systems, is delayed due to asynchronous replication of the subset of the synchronously replicated dataset of content or membership information.

12. The method of claim 10 , wherein the metadata comprises information describing one or more snapshots of one or more volumes or storage objects of the subset of the synchronously replicated dataset.

13. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

receiving, at a first storage system enabled to serve as a source for servicing I/O operations to a synchronously replicated dataset, an I/O operation directed to the synchronously replicated dataset;

generating, based on the I/O operation, a metadata update that describes a mapping of segments of content to a virtual address within a storage object that includes the synchronously replicated dataset; and

causing a second storage system to serve as a source for servicing I/O operations to the synchronously replicated dataset by sending the metadata update to the second storage system.

14. The apparatus of claim 13 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

applying the I/O operation to the synchronously replicated dataset on the first storage system.

15. The apparatus of claim 13 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

responsive to successfully applying the I/O operation on the first storage system, updating, on the first storage system and in accordance with the metadata update, a version of metadata corresponding to the synchronously replicated dataset prior to applying the I/O operation.

16. The apparatus of claim 13 , wherein the metadata update includes a description of an update to be made to represent application of the I/O operation.

17. The apparatus of claim 13 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

determining predicate metadata describing an ordering of the I/O operation relative to one or more other I/O operations.

18. The apparatus of claim 17 , wherein the metadata update includes the determined predicate metadata.

19. The apparatus of claim 13 , wherein a first metadata graph corresponding to the dataset on the first storage system comprises nodes representing logical extents.

20. The apparatus of claim 19 , wherein a second metadata graph corresponding to a dataset on the second storage system comprises nodes representing logical extents.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2020
From: GRUNWALD, DAVID; HODGSON, STEVEN; HOLTZ, TABRIZ; KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 054258/0491 →
Continuity (3)
Continuation 15838859 · Dec 12, 2017
Provisional Application 62518071 · Jun 12, 2017
Provisional Application 62470172 · Mar 10, 2017
Cited By (1)
US 12,639,335