IP Library Granted Patent US 10,353,610
Granted Patent B1
US 10,353,610 · App. 15/460,533 · Granted Jul 16, 2019

Method, apparatus and computer program product for configuring a data storage system

Inventors: Muzhar S. Khokhar (Shrewsbury, MA); Shyam Reddy (Westborough, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0631G06F3/0604G06F3/0673
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 10,353,610
App. No.
15/460,533
Granted
Jul 16, 2019
Kind
B1
Abstract

There are disclosed techniques for use in configuring a data storage system. The techniques disclose defining a first workload including a first storage capacity requirement, a first IOPS requirement and a first skew value describing an expected workload profile. The techniques also disclose determining a percentage of the storage capacity requirement to be allocated from a storage tier based on a policy as well as allocating an amount of storage capacity from the storage tier in accordance with the percentage of the first storage capacity requirement. The techniques also disclose utilizing the first skew value to map the percentage of the first storage capacity requirement to a corresponding IOPS percentage to be handled by the storage tier. Further, the techniques disclose determining a first distribution of IOPS to the allocated storage capacity based on the IOPS percentage and the first IOPS requirement. The techniques further disclose determining, for a second workload, a second distribution of IOPS to the allocated storage capacity based on a second IOPS requirement and a second skew value and the first distribution of IOPS.

Claims (67)

1. A method, comprising:

defining a first workload for a data storage system, wherein the first workload includes a first storage capacity requirement, a first IOPS (input-output operations per second) requirement and a first skew value describing an expected workload profile;

determining, based on a policy, a percentage of the first storage capacity requirement to be allocated from a storage tier of the data storage system;

in accordance with the percentage of the first storage capacity requirement, allocating an amount of storage capacity from the storage tier that satisfies at least part of the first storage capacity requirement;

utilizing the first skew value to map the percentage of the first storage capacity requirement to a corresponding IOPS percentage to be handled by the storage tier;

determining a first distribution of IOPS to the allocated storage capacity based on the IOPS percentage to be handled by the storage tier and the first IOPS requirement;

defining a second workload for the data storage system, wherein the second workload is satisfied with the first storage capacity requirement and includes a second IOPS requirement and a second skew value describing an expected workload profile; and

determining, based on the first distribution of IOPS and the second IOPS requirement and the second skew value, a second distribution of IOPS to the allocated storage capacity.

2. The method as claimed in claim 1 , wherein the policy requires the storage tier to satisfy as much of the first storage capacity requirement as the storage tier can manage from free storage capacity associated therewith, and

wherein determining, based on a policy, a percentage of the first storage capacity requirement to be allocated from a storage tier of the data storage system, comprises:

comparing the free storage capacity of the storage tier and the first storage capacity requirement;

based on the comparison and the policy, determining an amount of the free storage capacity to allocate in order to satisfy at least a portion of the first storage capacity requirement; and

determining the percentage of the first storage capacity requirement based on the amount of the free storage capacity to be allocated and the first storage capacity requirement.

3. The method as claimed in claim 2 , wherein the amount of the free storage capacity corresponds to the first storage capacity requirement upon the comparison indicating that the first storage capacity requirement is less than or equal the free storage capacity of the storage tier.

4. The method as claimed in claim 2 , wherein the amount of the free storage capacity corresponds to a portion of the first storage capacity requirement equal in size to the free storage capacity upon the comparison indicating that the first storage capacity requirement is greater than the free storage capacity of the storage tier.

5. The method as claimed in claim 4 , wherein the storage tier is the lowest or highest performing storage tier of multiple storage tiers in the data storage system and the policy requires the storage tier to satisfy as much of the first storage capacity requirement as the storage tier can manage from free storage capacity associated therewith before attempting to satisfy a remaining portion of the first storage capacity requirement from a next lowest or highest performing storage tier of the multiple storage tiers, further comprising:

determining the remaining portion of the first storage capacity requirement not satisfied by the storage tier;

based on remaining portion of the first storage capacity requirement and the policy, determining an amount of free storage capacity associated with the next lowest or highest performing storage tier to be allocated from that storage tier in order to satisfy at least a portion of the remaining portion of the first storage capacity requirement; and

determining a percentage of the first storage capacity requirement to be allocated from the next lowest or highest performing storage tier based on the amount of free capacity to be allocated from that storage tier and the first storage capacity requirement.

6. The method as claimed in claim 1 , wherein the storage tier is one of multiple storage tiers in the data storage system and the policy requires each of the multiple storage tiers to satisfy the first storage capacity requirement by allocating free storage capacity therefrom such that each storage tier handles respective portions of the first storage capacity requirement with each portion being in the ratio of the free storage capacity of that storage tier to a total aggregated free storage capacity in connection with the multiple storage tiers, and

wherein determining, based on a policy, a percentage of the first storage capacity requirement to be allocated from a storage tier of the data storage system, comprises:

determining free storage capacity in connection with the storage tier;

determining a total aggregated free storage capacity in connection with the multiple storage tiers; and

in order to implement the policy, determining the percentage of the first storage capacity requirement based on the free storage capacity in connection with the storage tier and the total aggregated free storage capacity in connection with the multiple storage tiers.

7. The method as claimed in claim 1 , wherein the policy requires the storage tier to satisfy the entire first storage capacity requirement in the event that the first storage capacity requirement is less than a fraction of a free storage capacity of the storage tier, and

wherein determining, based on a policy, a percentage of the first storage capacity requirement to be allocated from a storage tier of the data storage system, comprises:

comparing the free storage capacity of the storage tier and the fraction of the free storage capacity of the storage tier; and

based on the policy and the comparison indicating that the first storage capacity requirement is less than the fraction of the free storage capacity of the storage tier, determining to allocate a portion of the free storage capacity of the storage tier to satisfy the entire first storage capacity requirement.

8. The method as claimed in claim 1 , wherein the skew value relates to an expected workload profile of the data storage system; and

wherein utilizing the skew value to map the percentage of the storage capacity requirement to the corresponding IOPS percentage to be handled by the storage tier, comprises:

providing a skew model, wherein the skew model (i) defines a respective relationship between capacity percentages and IOPS percentages for each of multiple levels of skew and (ii) associates a respective parameter value with each of the multiple levels of skew;

identifying a parameter value that the skew model associates with the skew value; and

converting the storage capacity percentage to the corresponding IOPS percentage by applying the skew model with the identified parameter value.

9. The method as claimed in claim 8 , wherein the skew model approximates data storage system skew for each parameter value as a power law relationship between incremental capacity percentages and respective IOPS percentages with capacity percentages ranked in descending order based on their respective IOPS percentages, and wherein the skew model provides a different decay rate for different parameter values.

10. The method as claimed in claim 8 , wherein identifying the parameter value that the skew model associates with the skew value, includes:

accessing a lookup table that associates skew values with respective parameter values; and

selecting, as the identified parameter value, a parameter value that the lookup table associates with a skew value nearest in value to the skew value.

11. The method as claimed in claim 8 , wherein converting the storage capacity percentage to the corresponding IOPS percentage, includes:

accessing a matrix having one or more columns storing respective storage capacity percentage for respective IOPS percentage, each of the columns associated with a respective parameter value;

selecting a column of the matrix associated with the identified parameter value; and

outputting, as the IOPS percentage to be handled by the storage tier, the IOPS percentage corresponding to the storage capacity percentage from the selected column of the matrix.

12. The method as claimed in claim 8 , wherein identifying the parameter value that the skew model associates with the skew value includes performing the following steps:

providing a candidate parameter value;

producing a computed level of skew that the skew model associates with the candidate parameter value;

testing whether the computed level of skew is at least as large as the skew value;

repeating the providing, producing, and testing steps with incremented candidate values until the testing step determines a candidate value for which a computed level of skew is at least as large as the skew value; and

providing the determined candidate parameter value as the identified parameter value.

13. The method as claimed in claim 12 , wherein producing the computed level of skew includes generating a cumulative skew representation for the candidate parameter value by accumulating discrete values of IOPS percentages from applying the skew model with the candidate parameter, the cumulative skew representation relating cumulative capacity percentages to respective cumulative IOPS percentages; and

wherein generating the cumulative skew representation includes computing an integral of the respective relation between IOPS percentages to capacity percentages for the identified parameter value.

14. An apparatus, comprising:

memory; and

processing circuitry coupled to the memory, the memory storing instructions which, when executed by the processing circuitry, cause the processing circuitry to:

define a first workload for a data storage system, wherein the first workload includes a first storage capacity requirement, a first IOPS (input-output operations per second) requirement and a first skew value describing an expected workload profile;

determine, based on a policy, a percentage of the first storage capacity requirement to be allocated from a storage tier of the data storage system;

in accordance with the percentage of the first storage capacity requirement, allocate an amount of storage capacity from the storage tier that satisfies at least part of the first storage capacity requirement;

utilize the first skew value to map the percentage of the first storage capacity requirement to a corresponding IOPS percentage to be handled by the storage tier;

determine a first distribution of IOPS to the allocated storage capacity based on the IOPS percentage to be handled by the storage tier and the first IOPS requirement;

define a second workload for the data storage system, wherein the second workload is satisfied with the first storage capacity requirement and includes a second IOPS requirement and a second skew value describing an expected workload profile; and

determine, based on the first distribution of IOPS and the second IOPS requirement and the second skew value, a second distribution of IOPS to the allocated storage capacity.

15. A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by processing circuitry, cause the processing circuitry to perform a method, the method comprising:

defining a first workload for a data storage system, wherein the first workload includes a first storage capacity requirement, a first IOPS (input-output operations per second) requirement and a first skew value describing an expected workload profile;

determining, based on a policy, a percentage of the first storage capacity requirement to be allocated from a storage tier of the data storage system;

in accordance with the percentage of the first storage capacity requirement, allocating an amount of storage capacity from the storage tier that satisfies at least part of the first storage capacity requirement;

utilizing the first skew value to map the percentage of the first storage capacity requirement to a corresponding IOPS percentage to be handled by the storage tier;

determining a first distribution of IOPS to the allocated storage capacity based on the IOPS percentage to be handled by the storage tier and the first IOPS requirement;

defining a second workload for the data storage system, wherein the second workload is satisfied with the first storage capacity requirement and includes a second IOPS requirement and a second skew value describing an expected workload profile; and

determining, based on the first distribution of IOPS and the second IOPS requirement and the second skew value, a second distribution of IOPS to the allocated storage capacity.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (042769/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2017
From: KHOKHAR, MUZHAR S.; REDDY, SHYAM
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041594/0845 →