IP Library › Granted Patent US 12,314,581
Granted Patent B2
US 12,314,581 · App. 17/650,426 · Granted May 27, 2025

Storage system selection for storage volume deployment

Inventors: Mayukh Dutta (Karnataka, IN); Aesha Dhar Roy (Karnataka, IN); Manoj Srivatsav (Karnataka, IN)
Assignee: Hewlett Packard Enterprise Development LP
G06F3/0631G06F3/0604G06F3/0683G06F9/5011G06F2209/5019
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,314,581
App. No.
17/650,426
Granted
May 27, 2025
Kind
B2
Abstract

In some examples, a system receives input information of characteristics relating to a storage volume to be provisioned in a collection of storage systems, determines, based on the input information of the characteristics relating to the storage volume, a workload profile, and simulates execution of a workload according to the workload profile in each storage system of the collection of storage systems. Based on the simulation, the system determines a respective amount of headroom used by the workload in each storage system of the collection of storage systems, and selects, based on the determined respective amounts of headroom used by the workload in respective storage systems of the collection of storage systems, a storage system from the collection of storage systems on which the storage volume is to be provisioned.

Claims (51)

1. A non-transitory machine-readable storage medium comprising instructions that upon execution cause a system to:

receive input information of characteristics relating to a storage volume to be provisioned in a collection of storage systems, wherein the input information comprises an application type relating to data stored in the storage volume, and a size of the storage volume;

determine, based on the input information of the characteristics relating to the storage volume, a workload profile;

simulate execution of a workload according to the workload profile in each storage system of the collection of storage systems;

based on the simulation, determine a respective amount of headroom used by the workload in each respective storage system of the collection of storage systems, wherein the respective amount of headroom used by the workload in the respective storage system is computed based on a quantity of input/output (I/O) operations per unit time of the workload and a ratio between a maximum block size and an I/O size of data in an I/O operation as specified by the workload profile, the maximum block size referring to a maximum size of a block that can be read or written;

select, based on the determined respective amounts of headroom used by the workload in respective storage systems of the collection of storage systems, a storage system from the collection of storage systems on which the storage volume is to be provisioned; and

provision the storage volume on the selected storage system.

2. The non-transitory machine-readable storage medium of claim 1 , wherein the input information further specifies a quantity of storage volumes of the application type and the size to be provisioned.

3. The non-transitory machine-readable storage medium of claim 1 , wherein the input information further specifies that data reduction technique deduplication is to be applied for the storage volume.

4. The non-transitory machine-readable storage medium of claim 1 , wherein the determining of the workload profile is further based on historical workload information collected for storage systems.

5. The non-transitory machine-readable storage medium of claim 4 , wherein the determining of the workload profile comprises correlating the application type and the size of the storage volume to respective workload characteristics in the historical workload information, and including the respective workload characteristics in the workload profile.

6. The non-transitory machine-readable storage medium of claim 1 , wherein the workload profile further comprises a ratio between read operations and write operations and a rate of input/output operations.

7. The non-transitory machine-readable storage medium of claim 1 , wherein the instructions upon execution cause the system to:

determine a current headroom of each storage system of the collection of storage systems,

wherein the selecting of the storage system from the collection of storage systems is further based on the current headroom of each storage system of the collection of storage systems.

8. The non-transitory machine-readable storage medium of claim 7 , wherein the instructions upon execution cause the system to:

determine an available headroom of each respective storage system of the collection of storage systems based on the current headroom for the respective storage system and the respective amount of headroom used by the workload on the respective storage system,

wherein the selecting of the storage system from the collection of storage systems is based on the available headroom of each respective storage system of the collection of storage systems.

9. The non-transitory machine-readable storage medium of claim 1 , wherein the quantity of I/O operations per unit time comprises a quantity of read operations per unit time, and the I/O size is a read I/O size of read data in a read operation, and

wherein the respective amount of headroom used by the workload in the respective storage system is computed further based on a quantity of write operations per unit time, and a write I/O size of write data in a write operation.

10. The non-transitory machine-readable storage medium of claim 1 , wherein the workload profile comprises plural sets of workload characteristics, and wherein the instructions upon execution cause the system to:

simulate execution of plural workloads according to the plural sets of workload characteristics on each storage system of the collection of storage systems.

11. A system comprising:

a processor; and

a non-transitory storage medium storing instructions executable on the processor to:

receive input information of characteristics relating to a storage volume to be provisioned in a collection of storage systems, wherein the input information comprises an application type relating to data stored in the storage volume and a size of the storage volume;

determine, based on the input information and on collected information for storage systems on which workloads are run, a workload profile that includes workload characteristics for a workload relating to the storage volume;

simulate execution of the workload according to the workload profile in each storage system of the collection of storage systems;

based on the simulation, determine a respective amount of headroom used by the workload in each respective storage system of the collection of storage systems, wherein the respective amount of headroom used by the workload in the respective storage system is computed based on a quantity of read operations per unit time, a ratio between a maximum block size and a read I/O size of read data in a read operation, a quantity of write operations per unit time, and a ratio between the maximum block size and a write I/O size of write data in a write operation, the maximum block size referring to a maximum size of a block that can be read or written, wherein the quantities of read and write operations per unit time and the read and write I/O sizes are included in the workload profile;

select, based on the determined respective amounts of headroom used by the workload in respective storage systems of the collection of storage systems, a storage system from the collection of storage systems on which the storage volume is to be provisioned; and

provision the storage volume on the selected storage system.

12. The system of claim 11 , wherein the workload profile comprises plural sets of workload characteristics, and wherein the instructions are executable on the processor to:

simulate execution of plural workloads according to the plural sets of workload characteristics on each storage system of the collection of storage systems,

wherein the selecting of the storage system is based on corresponding amounts of headroom used by the plural workloads in corresponding storage systems of the collection of storage systems as determined from the simulation of the execution of the plural workloads.

13. The system of claim 12 , wherein the plural sets of workload characteristics correspond to different read/write ratios.

14. The system of claim 11 , wherein the respective amount of headroom used by the workload in the respective storage system is computed based on:

the quantity of I/O operations per unit time of the workload, and

a ratio between a maximum block size and the I/O size, the maximum block size referring to a maximum size of a block that can be read or written.

15. The system of claim 11 , wherein the instructions are executable on the processor to:

determine a current headroom of each respective storage system of the collection of storage systems; and

determine an available headroom of each respective storage system of the collection of storage systems based on the current headroom for the respective storage system and the respective amount of headroom used by the workload on the respective storage system,

wherein the selecting of the storage system from the collection of storage systems is based on the available headroom of each respective storage system of the collection of storage systems.

16. A method of a system comprising a hardware processor, comprising:

receiving input information of characteristics relating to a storage volume to be provisioned in a collection of storage systems, wherein the input information comprises an application type relating to data stored in the storage volume and a size of the storage volume;

determining, based on the input information and on collected information for storage systems on which workloads are run, a workload profile that includes workload characteristics for a workload relating to the storage volume;

determining a respective current amount headroom for each respective storage system of the collection of storage systems;

simulating execution of the workload according to the workload profile in each storage system of the collection of storage systems;

based on the simulation, determining a respective amount of headroom used by the workload in each respective storage system of the collection of storage systems, wherein the respective amount of headroom used by the workload in the respective storage system is computed based on a quantity of input/output (I/O) operations per unit time of the workload, and a ratio between a maximum block size and an I/O size of data in an I/O operation, the maximum block size referring to a maximum size of a block that can be read or written, wherein the quantity of I/O operations per unit time and the I/O size are included in the workload profile;

based on the respective current amounts of headroom and the respective amounts of headroom used by the workload in respective storage systems of the collection of storage systems, determining an available amount of headroom in each storage system of the collection of storage systems;

selecting, based on the determined available amounts of headroom, a storage system from the collection of storage systems on which the storage volume is to be provisioned; and

provisioning the storage volume on the selected storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2022
From: DUTTA, MAYUKH; ROY, AESHA DHAR; SRIVATSAV, MANOJ
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 058938/0539 →
Continuity (1)
Related Publication 20230251785A1 · Aug 10, 2023
References Cited (23)
US 8595515B1 · Weber et al. · 2013 [cited by applicant]
US 9477431B1 · Chen et al. · 2016 [cited by applicant]
US 9864749B2 · Basak et al. · 2018 [cited by applicant]
US 9875169B2 · Ashby, Jr. et al. · 2018 [cited by applicant]
US 10469582B2 · Dimnaku et al. · 2019 [cited by applicant]
US 10528115B2 · Deng et al. · 2020 [cited by applicant]
US 20020019873A1 · Goldszmidt et al. · 2002 [cited by applicant]
US 20090276203A1 · Everhart · 2009 [cited by examiner]
US 20100082700A1 · Parab · 2010 [cited by examiner]
US 20140201435A1 · Dong · 2014 [cited by examiner]
US 20150066470A1 · Chopra · 2015 [cited by examiner]
US 20150220438A1 · Chakalian et al. · 2015 [cited by applicant]
US 20150378604A1 · Kawakami · 2015 [cited by examiner]
US 20160191322A1 · Bita · 2016 [cited by examiner]
US 20160366223A1 · Mason · 2016 [cited by examiner]
US 20180027060A1 · Metsch · 2018 [cited by examiner]
US 20190179679A1 · Dimnaku et al. · 2019 [cited by applicant]
US 20200167199A1 · Zur et al. · 2020 [cited by applicant]
Anshul Madan, “Optimal workload placement using the AI-driven HPE InfoSight Resource Planner”, Hewlett Packard Enterprise Community, available online at <https://community.hpe.com/t5/Around-the-Storage-Block/Optimal-wor… [cited by applicant]
Jenna Colleran, “Reimagine storage provisioning: Intent-based provisioning with Data Services Cloud Console”, Hewlett Packard Enterprise Community, available online at <https://community.hpe.com/t5/blogs/blogarticleprin… [cited by applicant]
HPE Technology, Excerpt from video “Unleash the Power of Data,” May 4, 2021, excerpt time: 10:31-17:10, <https://www.youtube.com/watch?v=iGz09Rqpabc>. [cited by applicant]
Amazon Web Services, Inc., “Amazon RDS DB instance storage,” Jan. 26, 2022, <https://web.archive.org/web/20220126095549/https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html>, 7 pages. [cited by applicant]
Boyan Ivanov, “Storage sizing and I/O density”, available online at <https://storpool.com/blog/storage-sizing-io-density>, Apr. 10, 2017, 4 pages. [cited by applicant]