IP Library Granted Patent US 10,146,624
Granted Patent B1
US 10,146,624 · App. 15/495,240 · Granted Dec 4, 2018

Disk extent rebalancing in mapped RAID storage arrays

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,146,624
App. No.
15/495,240
Granted
Dec 4, 2018
Kind
B1
Abstract

Techniques detect non-uniform distributions of RAID extents across the storage drives of a data storage appliance and rebalance the allocation of disk extents of the storage drives amongst the RAID extents. The improved techniques prevent the distribution of RAID extents across the storage drives of a mapped RAID system from becoming overly non-uniform.

Claims (75)

1. A method of improving performance in a data storage appliance using mapped RAID, the method comprising:

providing, by processing circuitry, a set of RAID extents for storing data in the data storage appliance, each RAID extent containing a respective set of disk extents allocated to that RAID extent, each disk extent supported by an extent of storage on a physical storage drive of a set of physical storage drives housed within the data storage appliance;

calculating, by the processing circuitry, for an initial arrangement of disk extents allocated to RAID extents of the set of RAID extents, an initial set of data adjacency scores, each data adjacency score indicating, for a corresponding pair of physical storage drives from the set of physical storage drives, the pair having a first drive and a second drive, a number of RAID extents which contain disk extents belonging to both the first drive of the pair and the second drive of the pair; and

in response to attempting to change a configuration of disk extents in the data storage appliance, performing, by the processing circuitry, an extent balancing operation which includes:

providing an alternate arrangement of disk extents allocated to each of the RAID extents, the alternate arrangement differing from the initial arrangement;

outputting a comparison result indicating that a variance of a new set of data adjacency scores corresponding to the alternate arrangement of disk extents is less than a variance of the initial set of data adjacency scores by more than a predetermined threshold; and

in response to outputting the comparison result, replacing, in a particular RAID extent, an initial disk extent belonging to that RAID extent in the initial arrangement with an alternate disk extent belonging to that RAID extent in the alternate arrangement.

2. A method as in claim 1 wherein providing the alternate arrangement of disk extents includes:

selecting a storage drive of the data storage appliance having a greatest number of disk extents allocated to RAID extents of the set RAID extents;

selecting a pair of disk extents having a first disk extent and a second disk extent, with the first disk extent belonging to an associated RAID extent and supported by the selected storage drive, and with the second disk extent supported by another storage drive which does not support a disk extent belonging to the associated RAID extent; and

generating, as the alternate arrangement, an arrangement of disk extents effected by replacing, in the associated RAID extent, the first disk extent with the second disk extent.

3. A method as in claim 2 , wherein selecting the pair of disk extents includes:

generating a set of variance reduction values by calculating, for each possible pair of first and second disk extents, a respective reduction in the variance of the initial data adjacency scores which would result from replacing, in the associated RAID extent, the first disk extent with the second disk extent;

selecting a largest variance reduction value from the set of variance reduction values; and

providing, as the pair of selected disk extents, a pair of first and second disk extents whose respective reduction value equals the selected largest variance reduction value.

4. A method as in claim 1 wherein providing the alternate arrangement of disk extents includes:

selecting a storage drive of the data storage appliance belonging to a pair of physical storage drives having a largest data adjacency score from the set of data adjacency scores allocated to RAID extents of the set RAID extents;

selecting a pair of disk extents having a first disk extent and a second disk extent, with the first disk extent belonging to an associated RAID extent and supported by the selected storage drive, and with the second disk extent supported by another storage drive which does not support a disk extent belonging to the associated RAID extent; and

generating, as the alternate arrangement, an arrangement of disk extents effected by replacing, in the associated RAID extent, the first disk extent with the second disk extent.

5. A method as in claim 4 , wherein selecting the pair of disk extents includes:

generating a set of variance reduction values by calculating, for each possible pair of first and second disk extents, a respective reduction in the variance of the initial data adjacency scores which would result from replacing, in the associated RAID extent, the first disk extent with the second disk extent;

selecting a largest variance reduction value from the set of variance reduction values; and

providing, as the pair of selected disk extents, a pair of first and second disk extents whose respective variation reduction equals the selected largest variance reduction value.

6. A method as in claim 1 , wherein attempting to change the configuration of disk extents in the data storage system includes adding a set of additional physical storage drives to the set of physical storage drives of the data storage appliance.

7. A method as in claim 6 ,

wherein each disk extent allocated to a particular RAID extent of the set of RAID extents belongs to a different physical storage drive from each other disk extent allocated to the same RAID extent;

wherein each RAID extent of the set of RAID extents contains a predetermined number of disk extents equal to a number of disk extents contained by each other RAID extent; and

wherein adding the set of additional physical storage drives to the set of physical storage drives includes adding a number of physical storage drives fewer than the predetermined number.

8. A method as in claim 1 ,

wherein each disk extent allocated to a particular RAID extent of the set of RAID extents belongs to a different physical storage drive from each other disk extent allocated to the same RAID extent;

wherein each RAID extent of the set of RAID extents contains a particular predetermined number of disk extents; and

wherein attempting to change the configuration of disk extents in the data storage system includes, in response to a command to add a new RAID extent to the set of RAID extents, initially failing to create the new RAID extent due to a number of available disk extents of the data storage application from a mutually distinct set of physical storage drives of the data storage appliance being less than the predetermined number of disk extents.

9. An apparatus comprising:

a set of physical storage drives;

memory, storing a set of instructions; and

processing circuitry coupled to the memory and the set of physical storage drives, the processing circuitry constructed and arranged to execute the instructions stored by the memory, causing the processing circuitry to:

provide a set of RAID extents for storing data in the data storage appliance, each RAID extent containing a respective set of disk extents allocated to that RAID extent, each disk extent supported by an extent of storage on a physical storage drive of a set of physical storage drives housed within the data storage appliance;

calculate, for an initial arrangement of disk extents allocated to RAID extents of the set of RAID extents, an initial set of data adjacency scores, each data adjacency score indicating, for a corresponding pair of physical storage drives from the set of physical storage drives, the pair having a first drive and a second drive, a number of RAID extents which contain disk extents belonging to both the first drive of the pair and the second drive of the pair; and

in response to attempting to change a configuration of disk extents in the data storage appliance, perform an extent balancing operation which includes:

providing an alternate arrangement of disk extents allocated to each of the RAID extents, the alternate arrangement differing from the initial arrangement;

outputting a comparison result indicating that a variance of a new set of data adjacency scores corresponding to the alternate arrangement of disk extents is less than a variance of the initial set of data adjacency scores by more than a predetermined threshold; and

in response to outputting the comparison result, replacing, in a particular RAID extent, an initial disk extent belonging to that RAID extent in the initial arrangement with an alternate disk extent belonging to that RAID extent in the alternate arrangement.

10. An apparatus as in claim 9 wherein providing the alternate arrangement of disk extents includes:

selecting a storage drive of the data storage appliance having a greatest number of disk extents allocated to RAID extents of the set RAID extents;

selecting a pair of disk extents having a first disk extent and a second disk extent, with the first disk extent belonging to an associated RAID extent and supported by the selected storage drive, and with the second disk extent supported by another storage drive which does not support a disk extent belonging to the associated RAID extent; and

generating, as the alternate arrangement, an arrangement of disk extents effected by replacing, in the associated RAID extent, the first disk extent with the second disk extent.

11. An apparatus as in claim 9 wherein providing the alternate arrangement of disk extents includes:

selecting a storage drive of the data storage appliance belonging to a pair of physical storage drives having a largest data adjacency score from the set of data adjacency scores allocated to RAID extents of the set RAID extents;

selecting a pair of disk extents having a first disk extent and a second disk extent, with the first disk extent belonging to an associated RAID extent and supported by the selected storage drive, and with the second disk extent supported by another storage drive which does not support a disk extent belonging to the associated RAID extent; and

generating, as the alternate arrangement, an arrangement of disk extents effected by replacing, in the associated RAID extent, the first disk extent with the second disk extent.

12. An apparatus in claim 9 , wherein attempting to change the configuration of disk extents in the data storage system includes adding a set of additional physical storage drives to the set of physical storage drives of the data storage appliance.

13. An apparatus in claim 9 ,

wherein each disk extent allocated to a particular RAID extent of the set of RAID extents belongs to a different physical storage drive from each other disk extent allocated to the same RAID extent;

wherein each RAID extent of the set of RAID extents contains a particular predetermined number of disk extents; and

wherein attempting to change the configuration of disk extents in the data storage system includes, in response to a command to add a new RAID extent to the set of RAID extents, initially failing to create the new RAID extent due to a number of available disk extents of the data storage application from a mutually distinct set of physical storage drives of the data storage appliance being less than the predetermined number of disk extents.

14. A computer program product comprising a non-transitory, computer-readable storage medium having instructions which, when executed by processing circuitry of a computing device, cause the processing circuitry to improve performance in a data storage appliance using mapped RAID by:

providing a set of RAID extents for storing data in the data storage appliance, each RAID extent containing a respective set of disk extents allocated to that RAID extent, each disk extent supported by an extent of storage on a physical storage drive of a set of physical storage drives housed within the data storage appliance;

calculating, for an initial arrangement of disk extents allocated to RAID extents of the set of RAID extents, an initial set of data adjacency scores, each data adjacency score indicating, for a corresponding pair of physical storage drives from the set of physical storage drives, the pair having a first drive and a second drive, a number of RAID extents which contain disk extents belonging to both the first drive of the pair and the second drive of the pair; and

in response to attempting to change a configuration of disk extents in the data storage appliance, performing an extent balancing operation which includes:

providing an alternate arrangement of disk extents allocated to each of the RAID extents, the alternate arrangement differing from the initial arrangement;

outputting a comparison result indicating that a variance of a new set of data adjacency scores corresponding to the alternate arrangement of disk extents is less than a variance of the initial set of data adjacency scores by more than a predetermined threshold; and

in response to outputting the comparison result, replacing, in a particular RAID extent, an initial disk extent belonging to that RAID extent in the initial arrangement with an alternate disk extent belonging to that RAID extent in the alternate arrangement.

15. A computer program product, as in claim 14 wherein providing the alternate arrangement of disk extents includes:

selecting a storage drive of the data storage appliance having a greatest number of disk extents allocated to RAID extents of the set RAID extents;

selecting a pair of disk extents having a first disk extent and a second disk extent, with the first disk extent belonging to an associated RAID extent and supported by the selected storage drive, and with the second disk extent supported by another storage drive which does not support a disk extent belonging to the associated RAID extent; and

generating, as the alternate arrangement, an arrangement of disk extents effected by replacing, in the associated RAID extent, the first disk extent with the second disk extent.

16. A computer program product as in claim 14 wherein providing the alternate arrangement of disk extents includes:

selecting a storage drive of the data storage appliance belonging to a pair of physical storage drives having a largest data adjacency score from the set of data adjacency scores allocated to RAID extents of the set RAID extents;

selecting a pair of disk extents having a first disk extent and a second disk extent, with the first disk extent belonging to an associated RAID extent and supported by the selected storage drive, and with the second disk extent supported by another storage drive which does not support a disk extent belonging to the associated RAID extent; and

generating, as the alternate arrangement, an arrangement of disk extents effected by replacing, in the associated RAID extent, the first disk extent with the second disk extent.

17. A computer program product as in claim 14 , wherein attempting to change the configuration of disk extents in the data storage system includes adding a set of additional physical storage drives to the set of physical storage drives of the data storage appliance.

18. A computer program product as in claim 14 ,

wherein each disk extent allocated to a particular RAID extent of the set of RAID extents belongs to a different physical storage drive from each other disk extent allocated to the same RAID extent;

wherein each RAID extent of the set of RAID extents contains a particular predetermined number of disk extents; and

wherein attempting to change the configuration of disk extents in the data storage system includes, in response to a command to add a new RAID extent to the set of RAID extents, initially failing to create the new RAID extent due to a number of available disk extents of the data storage application from a mutually distinct set of physical storage drives of the data storage appliance being less than the predetermined number of disk extents.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2017
From: GONG, SHAOQIN; CHEN, LILI; GAO, JIAN; HAN, GENG; XU, XINLEI; LI, WAYNE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042749/0631 →
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 →
Cited By (2)
US 12,561,200 US 12,579,031