IP Library Granted Patent US 12,596,506
Granted Patent B2
US 12,596,506 · App. 18/650,198 · Granted Apr 7, 2026

Storage system cloning

Inventors: Sergey Zhuravlev (Bothell, WA); Naveen Neelakantam (Mountain View, CA); Gregory McNutt (Sunnyvale, CA); Yuval Frandzel (Foster City, CA)
Assignee: EVERPURE, INC.
G06F3/067G06F3/0607G06F3/0617G06F3/0619G06F3/0632G06F3/064G06F3/065G06F3/0659G06F3/0662G06F9/45558G06F9/5005G06F9/545G06F16/9035H04L41/082H04L67/1095H04L67/1097G06F3/0658G06F2009/45562G06F2009/4557G06F2009/45595
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 12,596,506
App. No.
18/650,198
Filed
Apr 30, 2024
Granted
Apr 7, 2026
Kind
B2
Examiner
ZONG, RUOLEI
Art Unit
2441
USPC
709/219
Abstract

Cloning storage systems in a cloud computing environment, including: receiving a request to create a cloud-based storage system; retrieving, from cloud-based object storage, one or more objects to include in the cloud-based storage system; and creating the cloud-based storage system, including storing, in block storage of the cloud-based storage system, data contained in the one or more objects retrieved from the cloud-based object storage.

Claims (39)

1 . A method comprising:

identifying, from a cloud-based storage resource, data elements that were written to as part of servicing modifying operations by one or more cloud-based storage systems; and

cloning the one or more cloud-based storage systems by including references to the identified one or more data elements in one or more cloud-based storage devices of a new storage system that implements a storage controller application via cloud computing resources.

2 . The method of claim 1 , further comprising:

determining that at least some portion of a dataset stored by the one or more cloud-based storage systems has not been committed to the cloud-based storage; and

delaying retrieval, from the cloud-based storage, of at least one data element to include in the cloud-based storage system.

3 . The method of claim 1 , wherein creating the cloud-based storage system includes replicating configuration related information associated with one of the one or more cloud-based storage systems.

4 . The method of claim 3 , wherein the configuration related information comprises information describing connectivity between the one of the one or more cloud-based storage systems and one or more hosts that issue I/O requests to the one of the one or more cloud-based storage systems.

5 . The method of claim 1 , wherein retrieving data elements to include in the cloud-based storage system comprises retrieving, from the cloud-based storage, data elements that contain valid data for the cloud-based storage system.

6 . The method of claim 1 , further comprising:

receiving a request to create the storage system, wherein the request to create the cloud-based storage system includes information describing a previous point-in-time, and

wherein retrieving data elements to include in the cloud-based storage system comprises retrieving, from the cloud-based storage, data elements that contain data that was valid for the one or more cloud-based storage systems at the previous point-in-time.

7 . The method of claim 1 , wherein invalid data elements associated with the one or more cloud-based storage system are retained in dependence upon a predetermined retention policy.

8 . The method of claim 1 , wherein retrieving, from the cloud-based storage, data elements to include in the cloud-based storage system includes verifying that each write to the data elements has been acknowledged.

9 . The method of claim 1 , wherein the data elements were previously written to the cloud-based storage as part of servicing modifying operations directed to the one or more cloud-based storage systems.

10 . The method of claim 1 , further comprising:

cloning the one or more cloud-based storage systems based on a request to clone one of the one or more cloud-based storage systems.

11 . An apparatus comprising:

a memory;

a processing device operably coupled to the memory, configured to:

identify, from a cloud-based storage resource, data elements that were written to as part of servicing modifying operations by one or more cloud-based storage systems; and

clone the one or more cloud-based storage systems by storing references to the identified one or more data elements in one or more cloud-based storage devices of a new storage system that implements a storage controller application via cloud computing resources.

12 . The apparatus of claim 11 , wherein the processing device is further configured to:

determine that at least some portion of a dataset stored by the one or more cloud-based storage systems has not been committed to the cloud-based storage; and

delay retrieval, from the cloud-based storage, of at least one data element to include in the cloud-based storage system.

13 . The apparatus of claim 11 , wherein creating the cloud-based storage system includes replicating configuration related information associated with one of the one or more cloud-based storage systems.

14 . The apparatus of claim 13 , wherein the configuration related information comprises information describing connectivity between the one of the one or more cloud-based storage systems and one or more hosts that issue I/O requests to the one of the one or more cloud-based storage systems.

15 . The apparatus of claim 11 , wherein retrieving data elements to include in the cloud-based storage system comprises retrieving, from the cloud-based storage, data elements that contain valid data for the cloud-based storage system.

16 . The apparatus of claim 11 , wherein the processing device is further configured to:

receive a request to create the storage system, wherein the request to create the cloud-based storage system includes information describing a previous point-in-time; and

retrieve data elements to include in the cloud-based storage system comprising retrieving, from the cloud-based storage, data elements that contain data that was valid for the one or more cloud-based storage systems at the previous point-in-time.

17 . The apparatus of claim 11 , wherein invalid data elements associated with the one or more cloud-based storage system are retained in dependence upon a predetermined retention policy.

18 . The apparatus of claim 11 , wherein retrieving, from the cloud-based storage, data elements to include in the cloud-based storage system includes verifying that each write to the data elements has been acknowledged.

19 . The apparatus of claim 11 , wherein the data elements were previously written to the cloud-based storage as part of servicing modifying operations directed to the one or more cloud-based storage systems.

20 . A non-transitory computer readable storage medium storing instructions that, when executed, cause a processing device to:

receive a request to create a cloud-based storage system;

create a cloud-based storage system based on the request, the cloud-based storage system comprising at least one cloud computing resource implementing a storage controller application and one or more cloud-based storage devices;

retrieve, from a cloud-based storage, data elements to include in the cloud-based storage system using information that associates the data elements with one or more cloud-based storage systems; and

store, in the one or more cloud-based storage devices, data contained in the data elements retrieved from the cloud-based storage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2024
From: ZHURAVLEV, SERGEY; NEELAKANTAM, NAVEEN; MCNUTT, GREGORY; FRANDZEL, YUVAL
To: PURE STORAGE, INC.
Reel/Frame 067269/0856 →
Continuity (6)
Continuation 17933674 · Sep 20, 2022
Continuation 17156536 · Jan 23, 2021
Continuation 16385925 · Apr 16, 2019
Provisional Application 62769277 · Nov 19, 2018
Provisional Application 62768952 · Nov 18, 2018
Related Publication 20240289061A1 · Aug 29, 2024
References Cited (52)
US 8706914B2 · Duchesneau · 2014 [cited by applicant]
US 8856077B1 · Roth · 2014 [cited by examiner]
US 8918478B2 · Ozzie et al. · 2014 [cited by applicant]
US 9104331B2 · Hsu · 2015 [cited by examiner]
US 9275063B1 · Natanzon · 2016 [cited by applicant]
US 9569259B2 · Fries et al. · 2017 [cited by applicant]
US 9742845B2 · Echeverria · 2017 [cited by applicant]
US 9798486B1 · Singh · 2017 [cited by examiner]
US 9818127B2 · Iyoob et al. · 2017 [cited by applicant]
US 9910742B1 · Faibish et al. · 2018 [cited by applicant]
US 10180945B2 · Seekircher et al. · 2019 [cited by applicant]
US 10185495B2 · Katsuki · 2019 [cited by applicant]
US 10657167B2 · Maybee et al. · 2020 [cited by applicant]
US 11048590B1 · Sapuntzakis et al. · 2021 [cited by applicant]
US 11171950B1 · Zhuravlev et al. · 2021 [cited by applicant]
US 11416298B1 · Barker et al. · 2022 [cited by applicant]
US 11455126B1 · Zhuravlev et al. · 2022 [cited by applicant]
US 11768635B2 · Vohra et al. · 2023 [cited by applicant]
US 20100114824A1 · Krishnaprasad · 2010 [cited by examiner]
US 20110022642A1 · Demilo et al. · 2011 [cited by applicant]
US 20110106763A1 · Madan · 2011 [cited by examiner]
US 20120078643A1 · Nagpal et al. · 2012 [cited by applicant]
US 20150100746A1 · Rychlik et al. · 2015 [cited by applicant]
US 20150101017A1 · Abuelsaad · 2015 [cited by examiner]
US 20150269032A1 · Muthyala · 2015 [cited by examiner]
US 20150365301A1 · Chatterjee · 2015 [cited by examiner]
US 20160077807A1 · Newman · 2016 [cited by examiner]
US 20160142485A1 · Mitkar et al. · 2016 [cited by applicant]
US 20160203050A1 · Hrle · 2016 [cited by examiner]
US 20160366217A1 · Eda · 2016 [cited by examiner]
US 20170123935A1 · Pandit · 2017 [cited by examiner]
US 20170131934A1 · Kaczmarczyk · 2017 [cited by examiner]
US 20170155713A1 · Powell et al. · 2017 [cited by applicant]
US 20170177443A1 · Figueroa · 2017 [cited by examiner]
US 20180074748A1 · Makin et al. · 2018 [cited by applicant]
US 20180136858A1 · Figueroa · 2018 [cited by examiner]
US 20190079686A1 · Gupta · 2019 [cited by examiner]
US 20190082009A1 · Gupta et al. · 2019 [cited by applicant]
US 20190087105A1 · Singh · 2019 [cited by examiner]
US 20190230160A1 · Eda et al. · 2019 [cited by applicant]
US 20200151023A1 · Bai et al. · 2020 [cited by applicant]
US 20200153699A1 · Bai et al. · 2020 [cited by applicant]
US 20200159421A1 · Karumbunathan et al. · 2020 [cited by applicant]
US 20220156114A1 · Nagpal et al. · 2022 [cited by applicant]
US 20230009921A1 · Zhuravlev et al. · 2023 [cited by applicant]
US 20240372913A1 · Prasannakumar et al. · 2024 [cited by applicant]
WO WO0213033A1 · 2002 [cited by applicant]
WO WO2008103569A1 · 2008 [cited by applicant]
Frakes Dan, Up close with Mountain Lion: Power Nap (Frakes, Dan, Working Mac-Up close with Mountain Lion: Power Nap, Macworld.com,Aug. 1, 2012, pp. 1-6. [cited by applicant]
Kim J-K., et al., “Data Access Frequency Based Data Replication Method Using Erasure Codes in Cloud Storage System,” Journal of The Institute of Electronics and Information Engineers, Feb. 2014, vol. 51, No. 2, pp. 85-9… [cited by applicant]
Schmid P., “Raid Scaling Charts, Part 3: 4-128 kB Stripes Compared,” Tom's Hardware, Nov. 27, 2007, 24 Pages, XP055363126, Retrieved from URL: http://www.tomshardware.com/reviews/RAID-SCALING-CHARTS.1735-4.html. [cited by applicant]
Wong T.M., et al., “Verifiable Secret Redistribution for Archive Systems,” Proceedings on First International IEEE Security in Storage Workshop (SISW'02), IEEE Xplore, Dec. 2002, 12 pages, DOI: 10.1109/SISW.2002.1183515. [cited by applicant]