IP Library Granted Patent US 12,430,245
Granted Patent B2
US 12,430,245 · App. 18/409,945 · Granted Sep 30, 2025

Data reduction in a cloud-based storage system

Inventor: Ronald Karr (Palo Alto, CA)
Assignee: PURE STORAGE, INC.
G06F12/0269G06F9/45558G06F16/214G06F2009/45583G06F2009/45595G06F2212/702
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,430,245
App. No.
18/409,945
Granted
Sep 30, 2025
Kind
B2
Abstract

Data reduction across different cloud-based storage systems, including: performing one or more global data reduction processes on the data using one or more global databases that represent the data associated with the plurality of cloud-based virtual storage systems.

Claims (51)

1. A system comprising:

a plurality of cloud-based virtual storage systems implementing one or more virtual controllers, wherein the virtual storage systems store data in one or more backend storage resources; and

one or more virtual drive servers that include a plurality of virtual drives having local instance stores;

a global metadata reference database storing references to the data, wherein the one or more virtual drive servers can access the global metadata reference database;

the system being configured to:

perform one or more global data reduction processes on the data using one or more global databases that represent the data associated with the plurality of cloud-based virtual storage systems, wherein the one or more global data reduction processes comprise determining that a data element in the global metadata reference database is associated with two or more virtual drive servers.

2. The system of claim 1 , wherein the system is further configured to perform the one or more global data reduction processes using the one or more virtual drive servers.

3. The system of claim 1 , wherein the data includes two or more data elements whose similarity to each other satisfies a similarity threshold, wherein the two or more data elements are stored by different virtual storage systems.

4. The system of claim 1 , wherein performing the one or more global data reduction processes includes performing a global garbage collection process, comprising:

in response to determining that the data element in the global metadata reference database is associated with two or more virtual drive servers, delaying the global garbage collection process until at least one of the two or more virtual drive servers has issued an instruction to store the data element at a different location that a previous storage location.

5. The system of claim 4 , wherein performing the global garbage collection process further comprises:

storing an identifier of a virtual drive server of the two or more virtual drive servers;

determining that an amount of data to be garbage-collected from a data structure of the one or more backend storage resources satisfies a threshold; and

based on the determination:

migrating at least a portion of the data stored by the data structure to another data structure; and

garbage-collecting the data structure.

6. The system of claim 4 , wherein the one or more global databases includes a global fingerprint database storing data fingerprints for the data, and wherein performing the one or more global data reduction processes further comprises:

determining, using the global fingerprint database, that new data received via an I/O operation was previously stored in one or more of the backend storage resources; and

based on the determination:

storing a reference to the new data in the global metadata reference database; and

preventing storage of the new data in one or more of the backend storage resources.

7. The system of claim 6 , wherein the system comprises:

determining that a first portion of the new data was not previously stored in one or more of the backend storage resources; and

based on the determination:

storing the first portion of the new data in one or more of the backend storage resources; and

storing a reference to a remainder of the new data excluding the first portion in the global metadata reference database.

8. The system of claim 1 , wherein the one or more global data reduction processes on the data comprises similarity compression.

9. The system of claim 1 , wherein the system is further configured to perform one or more of deduplication or compression using one or more of the local instance stores before transferring written data to the one or more backend storage resources.

10. The system of claim 9 , wherein the system is further configured to perform one or more of the deduplication or the compression during a process of transferring the written data to the one or more backend storage resources, without writing the data to one or more of the local instance stores.

11. The system of claim 1 , wherein the one or more backend storage resources includes one or more of object-based storage resources or block-based storage resources.

12. A method, comprising:

storing references to data on a global metadata reference database, wherein one or more virtual drive servers can access the global metadata reference database; and

performing one or more global data reduction processes on the data using one or more global databases that represent the data associated with a plurality of cloud-based virtual storage systems, the plurality of cloud-based virtual storage systems implementing one or more virtual controllers, wherein the virtual storage systems store the data in one or more backend storage resources, wherein performing the one or more global reduction processes on the data comprises determining that a data element in the global metadata reference database is associated with two or more virtual drive servers.

13. The method of claim 12 , further comprising:

performing the one or more global data reduction processes using the one or more virtual drive servers.

14. The method of claim 12 , wherein the data includes two or more data elements whose similarity to each other satisfies a similarity threshold, wherein the two or more data elements are stored by different virtual storage systems.

15. The method of claim 12 , further comprising:

performing a global garbage collection process using a global metadata reference database storing references to the data, further comprising:

in response to determining that the data element in the global metadata reference database is associated with two or more virtual drive servers, delaying the global garbage collection process until at least one of the two or more virtual drive servers has issued an instruction to store the data element at a different location than a previous storage location.

16. The method of claim 15 , wherein performing the global garbage collection process further comprises:

storing an identifier of a virtual drive server of the two or more virtual drive servers;

determining that an amount of data to be garbage-collected from a data structure of the one or more backend storage resources satisfies a threshold; and

based on the determination:

migrating at least a portion of the data stored by the data structure to another data structure; and

garbage-collecting the data structure.

17. A non-transitory computer readable storage medium which, when executed, cause a processing device to: store references to data on a global metadata reference database, wherein one or more virtual drive servers can access the global metadata reference database; and

perform one or more global data reduction processes on the data using one or more global databases that represent the data associated with a plurality of cloud-based virtual storage systems, wherein the one or more global data reduction processes comprise determining that a data element in the global metadata reference database is associated with two or more virtual drive servers.

18. The non-transitory computer readable storage medium of claim 17 , wherein the processing device is further configured to perform the one or more global data reduction processes using one or more virtual drive servers.

19. The non-transitory computer readable storage medium of claim 17 , wherein the data includes two or more data elements whose similarity to each other satisfies a similarity threshold, wherein the two or more data elements are stored by different virtual storage systems.

20. The non-transitory computer readable storage medium of claim 17 , wherein the processing device is further configured to:

in response to determining that the data element in the global metadata reference database is associated with two or more virtual drive servers, delay a global garbage collection process until at least one of the two or more virtual drive servers has issued an instruction to store the data element at a different location than a previous storage location.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2024
From: KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 066099/0667 →
Continuity (7)
Continuation In Part 16860240 · Apr 28, 2020
Continuation In Part 16776947 · Jan 30, 2020
Provisional Application 62967368 · Jan 29, 2020
Provisional Application 62900998 · Sep 16, 2019
Provisional Application 62878877 · Jul 26, 2019
Provisional Application 62875947 · Jul 18, 2019
Related Publication 20240320146A1 · Sep 26, 2024
References Cited (47)
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 9256467B1 · Singh · 2016 [cited by examiner]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10678431B1 · Smaldone · 2020 [cited by examiner]
US 10691354B1 · Kucherov · 2020 [cited by examiner]
US 10705733B1 · Smaldone · 2020 [cited by examiner]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 10971252B2 · Miller · 2021 [cited by examiner]
US 11076509B2 · Alissa et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11184233B1 · Neelakantam · 2021 [cited by examiner]
US 11194707B2 · Stalzer · 2021 [cited by applicant]
US 11341099B1 · Wolfson · 2022 [cited by examiner]
US 11513902B1 · Smaldone · 2022 [cited by examiner]
US 20080256141A1 · Wayda et al. · 2008 [cited by applicant]
US 20100306500A1 · Mimatsu · 2010 [cited by applicant]
US 20110035540A1 · Fitzgerald et al. · 2011 [cited by applicant]
US 20130159987A1 · Shi · 2013 [cited by examiner]
US 20130283232A1 · Van Megchelen · 2013 [cited by examiner]
US 20140220561A1 · Sukumar et al. · 2014 [cited by applicant]
US 20150154418A1 · Redberg · 2015 [cited by applicant]
US 20150254007A1 · Wood · 2015 [cited by examiner]
US 20160026397A1 · Nishikido et al. · 2016 [cited by applicant]
US 20160182542A1 · Staniford · 2016 [cited by applicant]
US 20160248631A1 · Duchesneau · 2016 [cited by applicant]
US 20170262202A1 · Seo · 2017 [cited by applicant]
US 20180054454A1 · Astigarraga et al. · 2018 [cited by applicant]
US 20190207837A1 · Malhotra · 2019 [cited by examiner]
US 20190220315A1 · Vallala et al. · 2019 [cited by applicant]
US 20200019468A1 · Chinnam · 2020 [cited by examiner]
US 20200034560A1 · Natanzon et al. · 2020 [cited by applicant]
US 20200285410A1 · George · 2020 [cited by examiner]
US 20200285611A1 · George · 2020 [cited by examiner]
US 20200285614A1 · George · 2020 [cited by examiner]
US 20200320046A1 · Narayanamurthy · 2020 [cited by examiner]
US 20200326871A1 · Wu et al. · 2020 [cited by applicant]
US 20210360833A1 · Alissa et al. · 2021 [cited by applicant]
US 20230108560A1 · Wang · 2023 [cited by examiner]
Hwang K., et al., “RAID-x: A New Distributed Disk Array for I/O-Centric Cluster Computing,” Proceedings of The Ninth International Symposium On High-performance Distributed Computing, IEEE Computer Society, Los Alamitos… [cited by applicant]
Stalzer M.A., “FlashBlades: System Architecture and Applications,” Proceedings of the 2nd Workshop on Architectures and Systems for Big Data, Association for Computing Machinery, New York, NY, 2012, pp. 10-14. [cited by applicant]
Storer M.W., et al, “Pergamum: Replacing Tape with Energy Efficient, Reliable, Disk-Based Archival Storage,” 6th USENIX Conference on File And Storage Technologies (FAST'08), San Jose, CA, USA, Feb. 26-29, 2008, 16 Page… [cited by applicant]