IP Library Granted Patent US 12,360,708
Granted Patent B2
US 12,360,708 · App. 18/267,392 · Granted Jul 15, 2025

Allocation, distribution, and configuration of volumes in storage systems

Inventors: Tobias Flitsch (San Jose, CA); Shayan Askarian Namaghi (San Jose, CA); Siamak Nazari (Mountain View, CA)
Assignee: Nvidia Corporation
G06F3/0665G06F3/0619G06F3/067G06F8/65G06F9/4401
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,360,708
App. No.
18/267,392
Granted
Jul 15, 2025
Kind
B2
Abstract

Configuring, distributing, and managing virtual volumes in a storage system are automated and simplified so that administrators may be relieved of such tasks and non-storage administrators can make use of the storage technology. Considering operating system and application requirements, a cloud-based storage management infrastructure can perform the automated process and may employ templates that define necessary information and processes regarding how service processing units are clustered in a storage platform, volume distribution of virtual volumes, volume properties, and presentation to servers.

Claims (49)

1. A system comprising:

a storage platform including:

a plurality of servers;

a plurality of service processing units in the servers; and

a plurality of storage devices connected to and controlled by the service processing units; and

a management infrastructure providing a management service that automates an allocation of virtual volumes according to a target template indicating a desired state of the storage platform, distribution of the virtual volumes to the service processing units, and generation of a recipe of instructions for the service processing units to create and provision the virtual volumes in the storage platform to implement the desired state in the storage platform.

2. The system of claim 1 , wherein the management infrastructure is cloud-based.

3. The system of claim 2 , wherein the service processing units have a network connection, and the management service communicates the recipe through one or more of the network connections to at least one of the service processing units.

4. The system of claim 1 , wherein the management service provides a plurality of templates with different ones of the templates being tailored to different characteristics of additional storage platforms, the different characteristics including different operating systems and different applications that will be storage clients of the additional storage platforms, where the target template is selected from among the plurality of templates.

5. The system of claim 1 , wherein the target template represents one or more volume types to be provided in the desired state of the storage platform, and for each of the one or more volume types, the target template indicates a size for the volume type, data protection policies for the volume type, and server presentation information for the volume type.

6. The system of claim 1 , wherein the target template represents a boot volume to be provided in the desired state of the storage platform, the target template further representing a volume size for the boot volume, a universal resource locator for an operating system image to be used in the boot volume, and data protection policies for the boot volume.

7. The system of claim 1 , wherein the management service is configured to execute a recipe generation process comprising:

allocating to the service processing units base volumes identified in the target template;

allocating to the service processing units one or more backup volumes for the base volumes that the target template indicates are mirrored volumes; and

adding to the recipe of instructions for each of the service processing units to create any of the base volumes and the backup volumes that the management service allocated to the service processing units.

8. The system of claim 1 , wherein the management service is configured to execute a recipe generation process including allocating to the service processing units one boot volume for each of the servers, wherein for each server,

the boot volume for the server is allocated to the service processing units in the server if the storage device connected to the service processing units has an available capacity equal or larger than a volume size the target template indicates for the boot volume, and

the boot volume for the server is allocated to the service processing unit in another of the servers if the available capacity of the storage device connected to the service processing units in the server is less than the volume size the target template indicates for the boot volume.

9. The system of claim 1 , wherein at least one of the service processing units has a network connection, and the management service transmits the recipe of instructions directly to the at least one of the service processing units through the network connection.

10. The system of claim 9 , wherein the service processing units are interconnected using a data network, and the at least one service processing unit transmits one or more portions of the recipe of instructions through the data network respectively to the service processing units.

11. The system of claim 10 , wherein the service processing units collectively execute the recipe of instructions by:

creating in the storage system the virtual volumes indicated in the recipe;

setting up snapshot schedules for the virtual volumes;

configuring presentation of the virtual volumes to the servers; and

downloading an operating system image in the virtual volumes that the recipe of instructions identifies as boot volumes.

12. A process comprising:

selecting a target template corresponding to a desired state of a storage system that includes one or more storage nodes, each storage node including a server, one or more service processing units in the server, and a storage device connected to and controlled by the service processing units;

operating a cloud-based service to generate a recipe based on the target template;

the cloud-based service providing the recipe to at least one of the one or more service processing units, one or more portions of the recipe being respectively directed to the at least one of the one or more service processing units; and

each of the one or more service processing units executing its portion of the recipe, wherein the one or more service processing units collectively executing the recipe creates and configures volumes in the storage system to place the storage system in the desired state.

13. The process of claim 12 , wherein an administrator of the storage system interacts with the cloud-based service to select the target template, and wherein constructing the recipe, providing the recipe to at least one of the one or more service processing units, and the service processing units collectively executing the recipe occurs automatically without the administrator taking further action.

14. The process of claim 12 , further comprising the cloud-based service providing a plurality of templates with different ones of the templates being tailored to different characteristics of storage platforms, the different characteristics including different operating systems and different applications that will be storage clients of the storage platforms, where the target template is selected from among the plurality of templates.

15. The process of claim 12 , wherein the target template represents one or more volume types to be provided in the desired state of the storage system, and for each of the volume types, the target template indicates a size for the volume type, data protection policies for the volume type, and server presentation information for the volume type.

16. The process of claim 12 , wherein the target template represents a boot volume to be provided in the desired state of the storage system, the target template further representing a volume size for the boot volume, a universal resource locator for an operating system image to be used in the boot volume, and data protection policies for the boot volume.

17. The process of claim 12 , wherein the cloud-based service generating the recipe comprises:

allocating to the one or more service processing units base volumes identified in the target template;

allocating to the one or more service processing units one or more backup volumes for the base volumes that the target template indicates are mirrored volumes; and

adding to the recipe for each of the service processing units to create any of the base volumes and the backup volumes that the cloud-based service allocated to the one or more service processing units.

18. The process of claim 12 , wherein the cloud-based service generating the recipe comprises allocating to the one or more service processing units one boot volume for each of one or more servers, wherein for each of the one or more servers,

the boot volume for the server is allocated to a service processing unit in the server if the storage device connected to the service processing unit has an available storage capacity equal to or larger than a volume size the target template indicates for the boot volume, and

the boot volume for the server is allocated to the service processing unit in another of the servers if the available storage capacity of the storage device connected to the service processing unit in the server is less than the volume size the target template indicates for the boot volume.

19. The process of claim 12 , wherein at least one of the service processing units has a first network connection, and the cloud-based service transmits the recipe to the at least one of the service processing units through the first network connection.

20. The process of claim 19 , wherein the service processing units are interconnected using a data network, and the at least one service processing unit transmits the portions of the recipe through the data network respectively to the service processing units.

21. The process of claim 12 , wherein the service processing units collectively executing the recipe comprises:

creating in the storage system one or more virtual volumes indicated in the recipe;

setting up snapshot schedules for the one or more virtual volumes;

configuring presentation of the one or more virtual volumes to the servers; and

downloading an operating system image in the one or more virtual volumes that the recipe

identifies as boot volumes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2024
From: NEBULON, INC.; NEBULON LTD
To: NVIDIA CORPORATION
Reel/Frame 067005/0154 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
From: FLITSCH, TOBIAS; ASKARIAN NAMAGHI, SHAYAN; NAZARI, SIAMAK
To: NEBULON, INC.
Reel/Frame 063952/0777 →
Continuity (3)
Provisional Application 63129446 · Dec 22, 2020
Provisional Application 63125856 · Dec 15, 2020
Related Publication 20240061621A1 · Feb 22, 2024
References Cited (18)
US 9641615B1 · Robins et al. · 2017 [cited by applicant]
US 11343352B1 · Golden · 2022 [cited by examiner]
US 20110167236A1 · Orikasa et al. · 2011 [cited by applicant]
US 20120290706A1 · Lin et al. · 2012 [cited by applicant]
US 20150074279A1 · Maes et al. · 2015 [cited by applicant]
US 20150341230A1 · Dave · 2015 [cited by examiner]
US 20150347047A1 · Masputra · 2015 [cited by examiner]
US 20160019636A1 · Adapalli · 2016 [cited by examiner]
US 20190294477A1 · Koppes · 2019 [cited by examiner]
US 20190332275A1 · Jin · 2019 [cited by examiner]
US 20200314174A1 · Dailianas · 2020 [cited by examiner]
US 20220019385A1 · Karr · 2022 [cited by examiner]
C. A. Ardagna, E. Damiani, F. Frati, G. Montalbano, D. Rebeccani and M. Ughetti, “A Competitive Scalability Approach for Cloud Architectures,” 2014 IEEE 7th International Conference on Cloud Computing, Anchorage, AK, US… [cited by examiner]
K. Liu, J. Zhou, L. Qin and N. Lv, “A Novel Computing-Enhanced Cloud Storage Model Supporting Combined Service Aware,” 2010 Fifth Annual ChinaGrid Conference, Guangzhou, China, 2010, pp. 275-280. [cited by examiner]
I. Foster, B. Blaiszik, K. Chard and R. Chard, “Software Defined Cyberinfrastructure,” 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS), Atlanta, GA, USA, 2017, pp. 1808-1814. [cited by examiner]
I. Klampanos et al., “DARE: A Reflective Platform Designed to Enable Agile Data-Driven Research on the Cloud,” 2019 15th International Conference on eScience (eScience), San Diego, CA, USA, 2019, pp. 578-585. [cited by examiner]
Fowley, Frank et al., “A Comparison Framework and Review of Service Brokerage Solutions for Cloud Architectures” ICSOC 2013 Workshops, LNCS 8377, pp. 137-149 (2014) Springer International Publishing Switzerland. [cited by applicant]
Giannitrapani, Antonio et al., “Optimal Allocation of Energy Storage Systems for Voltage Control in LV Distribution Networks” IEEE Transactions on Smart Grid, vol. 8, No. 6, pp. 2859-2870, Nov. 2017. [cited by applicant]