IP Library Granted Patent US 11,526,408
Granted Patent B2
US 11,526,408 · App. 16/777,414 · Granted Dec 13, 2022

Data recovery in a virtual storage system

Inventors: Ronald Karr (Palo Alto, CA); Naveen Neelakantam (Mountain View, CA); Joshua Freilich (San Francisco, CA); Aswin Karumbunathan (San Francisco, CA)
Assignee: Pure Storage, Inc.
G06F11/1469G06F3/065G06F3/0619G06F3/0664G06F3/0683G06F2201/815G06F2201/82
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,526,408
App. No.
16/777,414
Granted
Dec 13, 2022
Kind
B2
Abstract

Data recovery in a virtual storage system, including: detecting, within storage provided by a first tier of storage of the virtual storage system, data loss within a dataset, wherein recovery data for the dataset is stored in a second tier of storage; determining a recovery point for the dataset up to which a consistent version of the dataset is recoverable from the recovery data stored in the second tier of storage; and restoring, within the storage provided by the first tier of storage of the virtual storage system, the consistent version of the dataset.

Claims (30)

1. A method comprising:

detecting, within storage provided by a first tier of storage of the virtual storage system, data loss within a dataset, wherein a second tier of storage stores an entirety of recovery data needed to recover a consistent version of the dataset;

determining a recovery point for the dataset up to which the consistent version of the dataset is recoverable from the recovery data stored in the second tier of storage; and

restoring, within the storage provided by the first tier of storage of the virtual storage system, the consistent version of the dataset.

2. The method of claim 1 , wherein the first tier of storage includes staging memory that provides transactional consistency and write acknowledgments, and wherein the second tier of storage includes virtual drives provided by virtual drive servers of the virtual storage system.

3. The method of claim 2 , wherein restoring the dataset is based on either erasure codes stored among virtual drives of the staging memory, on data migrated from the staging memory to an object store, or on mirrored data among the virtual drives of the staging memory.

4. The method of claim 2 , wherein the staging memory is provided by multiple virtual drive servers that respectively include a both virtual controller and local memory.

5. The method of claim 2 , wherein the at least the portion of the data stored within the staging memory is deduplicated, encrypted, or compressed prior to migration from the staging memory to object storage that is more durable data storage than the staging memory.

6. The method of claim 2 , wherein the staging memory of the virtual storage system is characterized by a low read latency relative to object storage provided by the cloud services provider.

7. The method of claim 1 , wherein the first tier of storage includes the virtual drives provided by virtual drive servers of the virtual storage system, and wherein the second tier includes object storage provided by a cloud services provider that provides object storage independent of the virtual storage system.

8. The method of claim 1 , wherein restoring the dataset includes referencing a database of segment identifiers to determine whether a segment in object storage is usable to restore the dataset.

9. The method of claim 1 , wherein determination of the recovery point is based at least in part on defining batches of backend updates determined to have been committed.

10. The method of claim 1 , wherein the staging memory includes multiple virtual drive servers.

11. The method of claim 10 , wherein the multiple virtual drive servers include respective local storage.

12. The method of claim 10 , wherein the multiple virtual drive servers provide block-level data storage.

13. The method of claim 1 , wherein the request to write data to the virtual storage system is received by one or more virtual controllers running within a virtual machine, a container, or a bare metal server.

14. A virtual storage system contained in a cloud computing environment, the virtual storage system including:

one or more virtual drives providing a staging memory for storage operations; and

one or more virtual controllers, each virtual controller executing in a cloud computing instance, the cloud computing instance 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 virtual controller to carry out the steps of:

detect, within staging memory of the virtual storage system, lost data that is included within a dataset stored in memory provided by a cloud services provider, wherein another storage tier that is different from the staging memory stores an entirety of recovery data needed to recover a consistent subset of the dataset;

determine a recovery point within the lost data up to which the consistent subset of the lost data is recoverable from the dataset; and

restore, within the staging memory of the virtual storage system, the consistent subset of the lost data.

15. The virtual storage system of claim 14 , wherein restoring the lost data is based on either erasure codes stored among virtual drives of the staging memory, on data migrated from the staging memory to an object store, or on mirrored data among the virtual drives of the staging memory.

16. The virtual storage system of claim 14 , wherein restoring the lost data includes referencing a database of segment identifiers to determine whether a segment in object storage is usable to restore the subset of the lost data.

17. The virtual storage system of claim 14 , wherein determination of the recovery point is based at least in part on defining batches of backend updates determined to have been committed.

18. The virtual storage system of claim 14 , wherein the staging memory includes multiple virtual drive servers.

19. The virtual storage system of claim 18 , wherein the multiple virtual drive servers include respective local storage.

20. The virtual storage system of claim 18 , wherein the multiple virtual drive servers provide block-level data storage.

21. The virtual storage system of claim 14 , wherein the request to write data to the virtual storage system is received by one or more virtual controllers running within a virtual machine, a container, or a bare metal server.

22. The virtual storage system of claim 14 , wherein staging memory is provided by multiple virtual drive servers that respectively include a both virtual controller and local memory.

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 Jan 30, 2020
From: KARR, RONALD; NEELAKANTAM, NAVEEN; FREILICH, JOSHUA; KARUMBUNATHAN, ASWIN
To: PURE STORAGE, INC.
Reel/Frame 051676/0286 →
Cited By (2)
US 12,639,155 US 12,647,329