IP Library Granted Patent US 10,924,548
Granted Patent B1
US 10,924,548 · App. 16/433,234 · Granted Feb 16, 2021

Symmetric storage using a cloud-based storage system

Inventors: Aswin Karumbunathan (San Francisco, CA); Joshua Freilich (San Francisco, CA); Naveen Neelakantam (Mountain View, CA); Ronald Karr (Palo Alto, CA)
Assignee: Pure Storage, Inc.
H04L67/1095H04L61/1576H04L61/1582H04L67/1097H04L49/356
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 10,924,548
App. No.
16/433,234
Filed
Jun 6, 2019
Granted
Feb 16, 2021
Kind
B1
Art Unit
2181
USPC
711/154
Abstract

Symmetric storage using a cloud-based storage system, including: receiving, at a cloud-based storage system among storage systems synchronously replicating a dataset, 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 an address within a storage object, wherein the storage object includes the dataset; and synchronizing metadata on another storage system of the storage systems by sending the metadata update from the cloud-based storage system to the other storage system to update a metadata representation on the second storage system in accordance with the metadata update.

Claims (29)

1. A method comprising:

determining, in dependence upon an I/O operation received at a cloud-based storage system included in a set of storage systems synchronously replicating a dataset, a metadata update describing a mapping of segments of content to one or more addresses within one or more storage objects that include the dataset; and

synchronizing metadata on a hardware-based storage system included in the set of storage systems synchronously replicating the dataset by sending the metadata update from the cloud-based storage system to the hardware-based storage system to update a metadata representation on the hardware-based storage system in accordance with the metadata update, wherein the metadata representation on the storage system is structured differently than the metadata representation of the dataset on the cloud-based storage system.

2. The method of claim 1 , wherein the cloud-based storage system includes a plurality of cloud computing instances that respectively store a portion of the dataset.

3. The method of claim 2 , wherein a metadata representation of the dataset includes one or more references to one or more storage locations within one or more of the plurality of cloud computing instances.

4. The method of claim 1 , wherein the cloud-based storage system includes a cloud-based object storage that stores all portions of the dataset.

5. The method of claim 1 , further comprising:

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

6. 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.

7. 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.

8. The method of claim 7 , wherein the metadata update includes the determined predicate metadata.

9. The method of claim 1 , wherein the metadata update comprises information describing one or more snapshots of one or more volumes or storage objects of the dataset.

10. A cloud-based storage system comprising:

one or more cloud computing instances with local block storage;

cloud-based object storage; and

one or more storage controller applications, each storage controller application executing in a cloud computing instance, wherein the one or more storage controllers are configured to:

determine, in dependence upon an I/O operation received at the cloud-based storage system included in a set of storage systems synchronously replicating a dataset, a metadata update describing a mapping of segments of content to an address within a storage object, wherein the storage object includes the dataset; and

synchronize metadata on a hardware-based storage system included in the set of storage systems synchronously replicating the dataset by sending the metadata update from the cloud-based storage system to the hardware-based storage system to update a metadata representation on the hardware-based storage system in accordance with the metadata update, wherein the metadata representation on the storage system is structured differently than the metadata representation of the dataset on the cloud-based storage system.

11. The cloud-based storage system of claim 10 , wherein the one or more cloud computing instances respectively store a portion of the dataset.

12. The cloud-based storage system of claim 10 , wherein the cloud-based object storage stores all portions of the dataset.

13. The method of claim 10 , wherein a metadata representation of the dataset includes one or more references to one or more storage locations within one or more of the plurality of cloud computing instances.

14. The method of claim 10 , wherein the one or more storage controller applications are further configured to:

responsive to successfully applying the I/O operation on the cloud-based storage system, update, on the cloud-based storage system and in accordance with the metadata update, a version of metadata corresponding to the dataset prior to applying the I/O operation.

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

16. The method of claim 10 , wherein the one or more storage controller applications are further configured to:

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

17. The method of claim 16 , wherein the metadata update includes the determined predicate metadata.

18. The method of claim 10 , wherein the metadata update comprises information describing one or more snapshots of one or more volumes or storage objects of the dataset.

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 Jun 6, 2019
From: KARUMBUNATHAN, ASWIN; FREILICH, JOSHUA; NEELAKANTAM, NAVEEN; KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 049392/0830 →
Cited By (12)
US 12,299,508 US 12,321,396 US 12,367,320 US 12,373,414 US 12,375,390 US 12,407,562 US 12,493,431 US 12,613,864 US 12,639,379 US 12,643,556 US 12,670,170 US 12,711,032