IP Library Granted Patent US 12,498,888
Granted Patent B2
US 12,498,888 · App. 18/491,948 · Granted Dec 16, 2025

Performance-based scaling of 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.
G06F3/0664G06F3/0604G06F3/0608G06F3/0614G06F3/0631G06F3/0641G06F3/0647G06F3/0653G06F3/0659G06F3/0667G06F3/067G06F3/0673G06F9/45541
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,498,888
App. No.
18/491,948
Granted
Dec 16, 2025
Kind
B2
Abstract

Dynamic scaling of a virtual storage system, including: detecting, within one or more virtual components of the virtual storage system, a change in performance; determining, in response to the detected change in performance, a scaling response based on the virtual storage system meeting one or more target performance metrics; and scaling, based on one or more available virtual components of the virtual storage system, up or down such that performance of the virtual storage system is in accordance within the one or more target performance metrics.

Claims (26)

1 . A method comprising:

based on a change in performance of a virtual storage system, determining a reallocation of virtual drives providing staging memory by moving a quantity of virtual drives from a first subset of virtual drive servers to a second subset of virtual drive servers among subsets of virtual drive servers within the virtual storage system; and

scaling, based on the determined reallocation, the virtual storage system to bring performance of the virtual storage system into accordance with one or more performance requirements.

2 . The method of claim 1 , wherein scaling the virtual storage system is based at least in part on one or more of: costs of one or more virtual components of the virtual storage system, a priority level corresponding to a type of data being stored, or based on a priority level corresponding to an application or host storing data within the virtual storage system.

3 . The method of claim 1 , wherein scaling is in response to a change in an application demand or application requirement.

4 . The method of claim 1 , wherein detecting the change in performance is based on a monitoring process collecting performance metrics or storage utilization metrics.

5 . The method of claim 1 , wherein scaling includes increasing or decreasing a quantity of virtual controllers within the virtual storage system.

6 . The method of claim 1 , wherein scaling includes increasing or decreasing a quantity of virtual drive servers within the virtual storage system.

7 . The method of claim 1 , wherein responsive to the change in performance of the virtual storage system, one or more virtual controllers of the virtual storage system rebalances data stored among one or more virtual drive servers of the virtual storage system.

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

9 . The method of claim 8 , wherein the multiple virtual drive servers of the virtual storage system include respective local storage.

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

11 . The method of claim 1 , wherein a 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.

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

13 . The method of claim 1 , wherein at least a portion of data stored within the staging memory is deduplicated, encrypted, or compressed prior to migration from the staging memory to durable data storage provided by a cloud services provider.

14 . The method of claim 1 wherein the staging memory of the virtual storage system is characterized by a low read latency relative to durable data storage provided by a cloud services provider.

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

a plurality of virtual drives providing a staging memory for storage operations; and

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

based on a change in performance of a virtual storage system, determine a reallocation of the plurality of virtual drives providing staging memory by moving a quantity of virtual drives from a first subset of virtual drive servers to a second subset of virtual drive servers among subsets of virtual drive servers within the virtual storage system; and

scale, based on the determined reallocation, the virtual storage system to bring performance of the virtual storage system into accordance with one or more performance requirements.

16 . The virtual storage system of claim 15 , wherein scaling the virtual storage system is based at least in part on one or more of: costs of one or more virtual components of the virtual storage system, a priority level corresponding to a type of data being stored, or based on a priority level corresponding to an application or host storing data within the virtual storage system.

17 . The virtual storage system of claim 15 , wherein scaling is in response to a change in an application demand or application requirement.

18 . The virtual storage system of claim 15 , wherein detecting the change in performance is based on a monitoring process collecting performance metrics or storage utilization metrics.

19 . The virtual storage system of claim 15 , wherein scaling includes increasing or decreasing a quantity of virtual controllers within the virtual storage system.

20 . The virtual storage system of claim 15 , wherein scaling includes increasing or decreasing a quantity of virtual drive servers within the virtual storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2023
From: KARR, RONALD; NEELAKANTAM, NAVEEN; FREILICH, JOSHUA; KARUMBUNATHAN, ASWIN
To: PURE STORAGE, INC.
Reel/Frame 065307/0468 →
Continuity (6)
Continuation 16776834 · 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 20240192896A1 · Jun 13, 2024
References Cited (37)
US 7631023B1 · Kaiser · 2009 [cited by examiner]
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 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 10148505B2 · Kozlovsky · 2018 [cited by examiner]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 11076509B2 · Alissa et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11194707B2 · Stalzer · 2021 [cited by applicant]
US 20050097394A1 · Wang · 2005 [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 20140220561A1 · Sukumar et al. · 2014 [cited by applicant]
US 20150154418A1 · Redberg · 2015 [cited by applicant]
US 20150186256A1 · Cao · 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 20160293241A1 · Debrosse · 2016 [cited by examiner]
US 20170262202A1 · Seo · 2017 [cited by applicant]
US 20170337002A1 · Davis · 2017 [cited by examiner]
US 20180054454A1 · Astigarraga et al. · 2018 [cited by applicant]
US 20180081562A1 · Vasudevan · 2018 [cited by applicant]
US 20180300060A1 · Kesavan · 2018 [cited by examiner]
US 20190220315A1 · Vallala et al. · 2019 [cited by applicant]
US 20200034560A1 · Natanzon et al. · 2020 [cited by applicant]
US 20200326871A1 · Wu et al. · 2020 [cited by applicant]
US 20210360833A1 · Alissa et al. · 2021 [cited by applicant]
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 Pag… [cited by applicant]