IP Library Granted Patent US 11,614,900
Granted Patent B2
US 11,614,900 · App. 17/381,329 · Granted Mar 28, 2023

Autonomous storage provisioning

Inventors: Finbarr O'Riordan (Cork, IE); Tim O'Connor (Farnanes, IE)
Assignee: EMC IP Holding Company LLC
G06F3/0665G06F3/062G06F3/0604G06F3/067G06F3/0631G06F3/0683
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 11,614,900
App. No.
17/381,329
Granted
Mar 28, 2023
Kind
B2
Abstract

Techniques for provisioning storage may include: initially provisioning storage for a storage group of logical devices; tagging the storage group to enable autonomous storage provisioning; receiving a plurality of parameters used in connection with performing autonomous storage provisioning for the storage group, wherein the plurality of parameters includes a first parameter denoting a threshold amount of consumed storage of the storage group, a second parameter denoting a storage capacity expansion amount by which to expand the storage capacity of the storage group, and a third parameter denoting a system-wide threshold of consumed backend non-volatile storage; determining, in accordance with the plurality of parameters, whether to expand a current storage capacity of the storage group; and responsive to determining to expand the current storage capacity of the storage group, performing first processing to automatically expand the current storage capacity of the storage group in accordance with the second parameter.

Claims (46)

1. A computer-implemented method of provisioning storage comprising:

initially provisioning storage for a storage group of logical devices;

tagging the storage group to enable autonomous storage provisioning for the storage group;

receiving a plurality of parameters used in connection with performing autonomous storage provisioning for the storage group, wherein the plurality of parameters includes a first parameter denoting a threshold amount of consumed storage of the storage group, a second parameter denoting a storage capacity expansion amount by which to expand the storage capacity of the storage group, and a third parameter denoting a system-wide threshold of consumed backend non-volatile storage;

determining, in accordance with the plurality of parameters, whether to expand a current storage capacity of the storage group; and

responsive to determining to expand the current storage capacity of the storage group, performing first processing to automatically expand the current storage capacity of the storage group in accordance with the second parameter.

2. The computer-implemented method of claim 1 , further comprising:

determining whether the current amount of consumed storage of the storage group exceeds the threshold amount of consumed storage denoted by the first parameter; and

responsive to determining the current amount of consumed storage of the storage group does not exceed the threshold amount of consumed storage denoted by the first parameter, determining not to expand the current storage capacity of the storage group.

3. The computer-implemented method of claim 2 , wherein responsive to determining the current amount of consumed storage of the storage group does exceed the threshold amount of consumed storage denoted by the first parameter, second processing is performed, wherein the second processing includes:

determining, in accordance with the second parameter, a second amount by which to increase the current storage capacity of the storage group;

determining whether allocating the second amount of storage capacity results in a current amount of consumed backend non-volatile storage exceeding the system-wide threshold of consumed backend non-volatile storage denoted by the third parameter; and

responsive to determining that allocating the second amount of storage capacity results in the current amount of consumed backend non-volatile storage exceeding the system-wide threshold of consumed backend non-volatile storage denoted by the third parameter, determining not to expand the current storage capacity of the storage group.

4. The computer-implemented method of claim 3 , further comprising:

responsive to determining that allocating the second amount of storage capacity does not result in the current amount of consumed backend non-volatile storage exceeding the system-wide threshold of consumed backend non-volatile storage denoted by the third parameter, determining to expand the current storage capacity of the storage group.

5. The computer-implemented method of claim 1 , wherein performing first processing to automatically expand the current storage capacity of the storage group in accordance with the second parameter includes:

determining, in accordance with the second parameter, a second amount by which to increase the current storage capacity of the storage group; and

increasing the current storage capacity of the storage group by the second amount.

6. The computer-implemented method of claim 5 , wherein increasing the current storage capacity of the storage group by the second amount includes:

adding a plurality of logical devices to the storage group, wherein the total storage capacity of the plurality of devices added to the storage group is equal to the second amount.

7. The computer-implemented method of claim 6 , further comprising:

configuring each of the plurality of logical devices added to the storage group to have local replication protection in accordance with a defined local replication policy of the storage group.

8. The computer-implemented method of claim 7 , further comprising:

configuring each of the plurality of logical devices added to the storage group to have remote replication protection in accordance with a defined remote replication policy of the storage group.

9. The computer-implemented method of claim 1 , wherein the first parameter is expressed using a percentage value denoting a percentage of the current storage capacity of the storage group.

10. The computer-implemented method of claim 1 , wherein the first parameter is expressed as an integer or numeric value denoting an amount of storage.

11. The computer implemented method of claim 1 , wherein the second parameter is expressed as a percentage value denoting a percentage of the current storage capacity of the storage group.

12. The computer-implemented method of claim 1 , wherein the second parameter is expressed as an integer or numeric value denoting an amount of storage.

13. The computer-implemented method of claim 1 , wherein the third parameter is expressed as a percentage value denoting a percentage of a current back end non-volatile storage capacity in a data storage system including the storage group.

14. The computer-implemented method of claim 1 , wherein the storage group is one of a plurality of storage groups in a data storage system and wherein a selected portion of the plurality of storage groups are tagged to enable autonomous storage provisioning for the selected portion of the plurality of storage groups.

15. The computer-implemented method of claim 14 , wherein a second storage group of the plurality of storage groups not included in the selected portion is not tagged whereby autonomous storage provisioning is disabled for the second storage group, and wherein the second storage group includes data that is not as important or critical as other data of the storage group.

16. The computer-implemented method of claim 15 , wherein the storage group includes data used by a first application and the second storage group includes data used by a second application, and wherein the first application is more important or critical than the second application.

17. A system comprising:

at least one processor; and

at least one memory comprising code stored thereon that, when executed, performs a method of provisioning storage comprising:

initially provisioning storage for a storage group of logical devices;

tagging the storage group to enable autonomous storage provisioning for the storage group;

receiving a plurality of parameters used in connection with performing autonomous storage provisioning for the storage group, wherein the plurality of parameters includes a first parameter denoting a threshold amount of consumed storage of the storage group, a second parameter denoting a storage capacity expansion amount by which to expand the storage capacity of the storage group, and a third parameter denoting a system-wide threshold of consumed backend non-volatile storage;

determining, in accordance with the plurality of parameters, whether to expand a current storage capacity of the storage group; and

responsive to determining to expand the current storage capacity of the storage group, performing first processing to automatically expand the current storage capacity of the storage group in accordance with the second parameter.

18. A non-transitory computer-readable medium comprising code stored thereon that, when executed, performs a method of provisioning storage comprising:

initially provisioning storage for a storage group of logical devices;

tagging the storage group to enable autonomous storage provisioning for the storage group;

receiving a plurality of parameters used in connection with performing autonomous storage provisioning for the storage group, wherein the plurality of parameters includes a first parameter denoting a threshold amount of consumed storage of the storage group, a second parameter denoting a storage capacity expansion amount by which to expand the storage capacity of the storage group, and a third parameter denoting a system-wide threshold of consumed backend non-volatile storage;

determining, in accordance with the plurality of parameters, whether to expand a current storage capacity of the storage group; and

responsive to determining to expand the current storage capacity of the storage group, performing first processing to automatically expand the current storage capacity of the storage group in accordance with the second parameter.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2021
From: O'RIORDAN, FINBARR; O'CONNOR, TIM
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056929/0700 →
Continuity (1)
Related Publication 20230026185A1 · Jan 26, 2023