IP Library Granted Patent US 11,249,692
Granted Patent B2
US 11,249,692 · App. 16/877,739 · Granted Feb 15, 2022

Data placement for raid groups of heterogeneous storage device capacities

Inventor: Owen Martin (Hopedale, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0689G06F3/061G06F3/0614G06F3/0631G06F3/0653G06F3/0659
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,249,692
App. No.
16/877,739
Granted
Feb 15, 2022
Kind
B2
Abstract

Techniques for performing data movements may include configuring RAID groups included in a same storage tier, wherein a first of the RAID groups includes a first plurality of physical storage devices each having a first storage capacity, and wherein a second of the RAID groups includes a second plurality of physical storage devices each having a second storage capacity, wherein the first storage capacity is different than the second storage capacity; selecting, in accordance with criteria, a first data portion from the first RAID group for data movement to the second RAID group, wherein the criteria includes a read workload criterion that specifies a same target read I/O workload for each of the plurality of RAID groups; and responsive to said selecting the first data portion for data movement, performing the data movement of the first data portion from the first RAID group to the second RAID group.

Claims (53)

1. A method of performing data movements comprising:

configuring a plurality of RAID groups included in a same storage tier, wherein a first of the plurality of RAID groups includes a first plurality of physical storage devices each having a first storage capacity, and wherein a second of the plurality of RAID groups includes a second plurality of physical storage devices each having a second storage capacity, wherein the first storage capacity of each physical storage device of the first RAID group is greater than the second storage capacity of each physical storage device of the second RAID group;

selecting, in accordance with criteria, a first data portion from the first RAID group for data movement to the second RAID group, wherein the criteria include a read workload criterion that specifies a same target read I/O workload denoting a same read I/O workload goal for each of the plurality of RAID groups, wherein the criteria include a write workload criterion specifying a plurality of target write I/O workloads denoting write I/O workload goals for the plurality of RAID groups, wherein the plurality of target write I/O workloads scale linearly in accordance with a plurality of individual storage device capacities each denoting a storage capacity for each physical storage device of one of the plurality of RAID groups, and wherein the first RAID group has a first target write I/O workload of the plurality of target write I/O workloads that is higher than a second target write I/O workload of the plurality of target write I/O workloads of the second RAID group; and

responsive to said selecting the first data portion for data movement, performing the data movement of the first data portion from the first RAID group to the second RAID group.

2. The method of claim 1 , wherein the same target read I/O workload is a same target read I/O workload range.

3. The method of claim 2 , wherein the write workload criterion specifies one of the plurality of target write I/O workloads for each of the plurality of RAID groups.

4. The method of claim 3 , wherein the plurality of target write I/O workloads is a plurality of target write I/O workload ranges.

5. The method of claim 4 , further comprising:

predicting a plurality of write scores for the plurality of RAID groups, wherein each of the plurality of write scores denotes a write score for a different one of the plurality of RAID groups; and

classifying each of the plurality of write scores corresponding to one of the plurality of RAID groups as balanced or unbalanced, wherein said each write score is balanced if said each write score is within a particular one of the plurality of target write I/O workload ranges associated with said one RAID group, and wherein said each write score is otherwise unbalanced.

6. The method of claim 5 , further comprising:

determining, in accordance with said classifying, that one of the first RAID group and the second RAID group has an unbalanced write score; and

responsive to determining that one of the first RAID group and the second RAID group has an unbalanced write score, performing first processing to alleviate or correct the unbalanced write score, wherein said first processing includes:

selecting, in accordance with the criteria, a second data portion for data movement between the first RAID group and the second RAID group; and

responsive to said selecting the second data portion, performing the data movement of the second data portion between the first RAID group and the second RAID group.

7. The method of claim 1 , wherein the second storage capacity of each physical storage device of the second RAID group is N storage units, wherein the first storage capacity of each physical storage device of the first RAID group is an amount of storage equal to M*N storage units, wherein the first RAID group has the first target write I/O workload which is approximately M times the second target write I/O workload, within specified limits.

8. The method of claim 4 , further comprising:

modeling movement of the first data portion from the first RAID group to the second RAID group.

9. The method of claim 2 , wherein the same read I/O workload range for each of the plurality of RAID groups indicates that each of the plurality of RAID groups should have approximately a same read I/O workload, within specified limits, independent of capacities of physical drives of the plurality of RAID groups.

10. The method of claim 2 , further comprising:

predicting a plurality of read scores for the plurality of RAID groups, wherein each of the plurality of read scores denotes a read score for a different one of the plurality of RAID groups;

classifying each of the plurality of read scores corresponding to one of the plurality of RAID groups as balanced or unbalanced, wherein said each read score is balanced if said each read score is within the same target read I/O workload range and wherein said each read score is otherwise unbalanced;

determining, in accordance with said classifying, that one of the first RAID group and the second RAID group has an unbalanced read score; and

responsive to determining that one of the first RAID group and the second RAID group has an unbalanced read score, performing first processing to alleviate or correct the unbalanced read score, wherein said first processing includes said selecting the first data portion and said performing the data movement of the first data portion.

11. The method of claim 2 , wherein the criteria include an idle capacity criterion specifying a plurality of target idle capacity amounts each denoting a target capacity of idle data for an associated one of the plurality of RAID groups, and wherein the plurality of target idle capacity amounts for the plurality of RAID groups vary in accordance with storage capacities of physical storage devices of the plurality of RAID groups.

12. The method of claim 11 , wherein the plurality of target idle capacity amounts is a plurality of target idle capacity ranges, and wherein the method further comprises:

predicting a plurality of idle capacity scores for the plurality of RAID groups, wherein each of the plurality of idle capacity scores denotes an idle capacity score for a different one of the plurality of RAID groups; and

classifying each of the plurality of idle capacity scores corresponding to one of the plurality of RAID groups as balanced or unbalanced, wherein said each idle capacity score is balanced if said each idle capacity score is within a particular one of the plurality of target idle capacity ranges associated with said one RAID group, and wherein said each idle capacity score is otherwise unbalanced.

13. The method of claim 12 , further comprising:

determining, in accordance with said classifying, that one of the first RAID group and the second RAID group has an unbalanced idle capacity score; and

responsive to determining that one of the first RAID group and the second RAID group has an unbalanced idle capacity score, performing first processing to alleviate or correct the unbalanced idle capacity score, wherein said first processing includes:

selecting, in accordance with the criteria, a second data portion for data movement between the first RAID group and the second RAID group; and

responsive to said selecting the second data portion, performing the data movement of the second data portion between the first RAID group and the second RAID group.

14. The method of claim 8 , further comprising:

determining whether said modeling indicates that movement of the first data portion from the first RAID group to the second RAID group would cause any of the first RAID group and the second RAID group to transition from a balanced classification to an unbalanced classification with respect to one or more of the criteria, wherein the criteria include the read workload criterion, the write workload criterion, and an idle capacity criterion;

determining whether said modeling indicates that movement of the first data portion from the first RAID group to the second RAID group would further worsen an existing imbalance for a first of the criteria for any of the first RAID group and the second RAID group; and

responsive to determining that said modeling indicates that movement of the first data portion from the first RAID group to the second RAID group would not cause any of the first RAID group and the second RAID group to transition from a balanced classification to an unbalanced classification with respect one more of the criteria, and would not further worsen an existing imbalance for a first of the criteria for any of the first RAID group and the second RAID group, performing said selecting that selects the first data portion for the data movement from the first RAID group to the second RAID group.

15. A system comprising:

one or more processors; and

one or more memories comprising code stored thereon that, when executed performs a method of performing data movements comprising:

configuring a plurality of RAID groups included in a same storage tier, wherein a first of the plurality of RAID groups includes a first plurality of physical storage devices each having a first storage capacity, and wherein a second of the plurality of RAID groups includes a second plurality of physical storage devices each having a second storage capacity, wherein the first storage capacity of each physical storage device of the first RAID group is greater than the second storage capacity of each physical storage device of the second RAID group;

selecting, in accordance with criteria, a first data portion from the first RAID group for data movement to the second RAID group, wherein the criteria include a read workload criterion that specifies a same target read I/O workload denoting a same read I/O workload goal for each of the plurality of RAID groups, wherein the criteria include a write workload criterion specifying a plurality of target write I/O workloads denoting write I/O workload goals for the plurality of RAID groups, wherein the plurality of target write I/O workloads scale linearly in accordance with a plurality of individual storage device capacities each denoting a storage capacity for each physical storage device of one of the plurality of RAID groups, and wherein the first RAID group has a first target write I/O workload of the plurality of target write I/O workloads that is higher than a second target write I/O workload of the plurality of target write I/O workloads of the second RAID group; and

responsive to said selecting the first data portion for data movement, performing the data movement of the first data portion from the first RAID group to the second RAID group.

16. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of performing data movements comprising:

configuring a plurality of RAID groups included in a same storage tier, wherein a first of the plurality of RAID groups includes a first plurality of physical storage devices each having a first storage capacity, and wherein a second of the plurality of RAID groups includes a second plurality of physical storage devices each having a second storage capacity, wherein the first storage capacity of each physical storage device of the first RAID group is greater than the second storage capacity of each physical storage device of the second RAID group;

selecting, in accordance with criteria, a first data portion from the first RAID group for data movement to the second RAID group, wherein the criteria include a read workload criterion that specifies a same target read I/O workload denoting a same read I/O workload goal for each of the plurality of RAID groups, wherein the criteria include a write workload criterion specifying a plurality of target write I/O workloads denoting write I/O workload goals for the plurality of RAID groups, wherein the plurality of target write I/O workloads scale linearly in accordance with a plurality of individual storage device capacities each denoting a storage capacity for each physical storage device of one of the plurality of RAID groups, and wherein the first RAID group has a first target write I/O workload of the plurality of target write I/O workloads that is higher than a second target write I/O workload of the plurality of target write I/O workloads of the second RAID group; and

responsive to said selecting the first data portion for data movement, performing the data movement of the first data portion from the first RAID group to the second RAID group.

17. The non-transitory computer readable medium of claim 16 , wherein the same target read I/O workload is a same target read I/O workload range.

18. The non-transitory computer readable medium of claim 17 , wherein the write workload criterion specifies one of the plurality of target write I/O workloads for each of the plurality of RAID groups.

19. The non-transitory computer readable medium of claim 18 , wherein the plurality of target write I/O workloads is a plurality of target write I/O workload ranges.

20. The non-transitory computer readable medium of claim 19 , where the method further comprises:

predicting a plurality of write scores for the plurality of RAID groups, wherein each of the plurality of write scores denotes a write score for a different one of the plurality of RAID groups; and

classifying each of the plurality of write scores corresponding to one of the plurality of RAID groups as balanced or unbalanced, wherein said each write score is balanced if said each write score is within a particular one of the plurality of target write I/O workload ranges associated with said one RAID group, and wherein said each write score is otherwise unbalanced.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) 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 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2020
From: MARTIN, OWEN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052698/0833 →