IP Library Granted Patent US 9,921,912
Granted Patent B1
US 9,921,912 · App. 14/870,187 · Granted Mar 20, 2018

Using spare disk drives to overprovision raid groups

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 9,921,912
App. No.
14/870,187
Granted
Mar 20, 2018
Kind
B1
Abstract

A technique for managing spare disk drives in a data storage system includes transferring segments of data from disk drives of an operating RAID group to spare regions on a set of spare disk drives to create unused space in the disk drives of the RAID group, thus using the spare regions to overprovision storage in the RAID group. Upon a failure of one of the disk drives in the RAID group, data of the failing disk drive are rebuilt based on the segments of data as well as on data from still-functioning disk drives in the RAID group. Thus, the spare disk drives act not only to overprovision storage for the RAID group prior to disk drive failure, but also to fulfill their role as spares in the event of a disk drive failure.

Claims (69)

1. A method of managing spare disk drives in a data storage system, the method comprising:

operating multiple RAID (Redundant Array of Independent Disks) groups in the data storage system, each RAID group including multiple disk drives arranged to provide at least one of data mirroring and data parity;

for each of the RAID groups, copying segments of data from a set of regions of the disk drives in that RAID group to respective spare regions in a set of spare disk drives, the set of regions in the disk drives in that RAID group becoming unused regions and the spare regions in the set of spare disk drives effecting an overprovisioning of storage for that RAID group; and

upon a failure of one of the disk drives in one of the RAID groups, rebuilding data of the failed disk drive based on (i) the segments of data for that RAID group and (ii) data from a set of still-functioning disk drives in that RAID group,

wherein the multiple RAID groups include a particular RAID group, and wherein the method further comprises marking, by a RAID controller, the unused regions in the particular RAID group as invalid,

wherein a number of segments are copied from the set of regions to the set of spare regions for each RAID group, wherein each RAID group includes a number of disk drives, and wherein the number of segments in each RAID group copied from the set of regions to the set of spare regions is an integer multiple of the number of disk drives in the RAID group,

wherein each segment of data includes an integer number of RAID strips, and wherein no two segments of data on different disk drives of a RAID group include RAID strips belonging to the same RAID stripe,

wherein, the RAID groups include an instant RAID group, wherein the set of spare disk drives includes an instant spare disk drive, and wherein copying the segments of data from the set of regions of the disk drives of the instant RAID group to respective spare regions includes copying all segments of data for the instant RAID group to the instant spare disk drive, and

wherein the method further comprises:

for each of the spare regions in the instant spare disk drive, except any spare regions to which any segments of data were copied from the failing disk drive, copying data from that spare region to a respective unused region in the instant RAID group, the spare regions from which data are copied becoming unused regions in the instant spare disk drive; and

rebuilding a set of data into the unused regions of the instant spare disk drive, the set of data including data previously stored in the failed disk drive.

2. The method of claim 1 , further comprising, after copying segments of data, remapping access requests directed to the set of unused regions to the respective spare regions on the set of spare disk drives, wherein remapping an access request includes transforming an initial disk address to a target disk address by applying a mathematical operation to the initial disk address.

3. The method of claim 1 ,

wherein a number of segments are copied from the set of regions to the set of spare regions for each RAID group, wherein each RAID group includes a number of disk drives, and wherein the number of segments in each RAID group copied from the set of regions to the set of spare regions is an integer multiple of the number of disk drives in the RAID group,

wherein each segment of data includes an integer number of RAID strips, and wherein no two segments of data on different disk drives of a RAID group include RAID strips belonging to the same RAID stripe, and

wherein at least one of the RAID groups is an SSD (Solid State Drive) RAID group composed of SSDs, and wherein the method further comprises marking each of the unused regions on each of the SSDs as containing invalid data.

4. The method of claim 1 , wherein, after rebuilding the set of data into the unused regions of the instant spare disk drive, the instant spare disk drive becomes part of the instant RAID group, and wherein the method further comprises:

providing a second spare disk drive; and

copying segments of data from a set of regions of the disk drives of the instant RAID group to respective spare regions in the second spare disk drive, the set of regions in the disk drives of the instant RAID group becoming unused regions and the spare regions in the second spare disk drive effecting an overprovisioning of storage for the instant RAID group.

5. The method of claim 1 ,

wherein a number of segments are copied from the set of regions to the set of spare regions for each RAID group, wherein each RAID group includes a number of disk drives, and wherein the number of segments in each RAID group copied from the set of regions to the set of spare regions is an integer multiple of the number of disk drives in the RAID group,

wherein each segment of data includes an integer number of RAID strips, and wherein no two segments of data on different disk drives of a RAID group include RAID strips belonging to the same RAID stripe,

wherein, the RAID groups include an instant RAID group, wherein the set of spare disk drives includes an instant spare disk drive, and wherein copying the segments of data from the set of regions of the disk drives of the instant RAID group to respective spare regions includes copying all segments of data for the instant RAID group to the instant spare disk drive, and

wherein the method further comprises:

for each of the spare regions in the instant spare disk drive, copying data from that spare region to a respective unused region on another disk drive in the data storage system, the spare regions from which data are copied becoming unused regions in the instant spare disk drive; and

rebuilding a set of data into the unused regions of the instant spare disk drive, the set of data including data previously stored in the failed disk drive.

6. The method of claim 1 ,

wherein a number of segments are copied from the set of regions to the set of spare regions for each RAID group, wherein each RAID group includes a number of disk drives, and wherein the number of segments in each RAID group copied from the set of regions to the set of spare regions is an integer multiple of the number of disk drives in the RAID group,

wherein each segment of data includes an integer number of RAID strips, and wherein no two segments of data on different disk drives of a RAID group include RAID strips belonging to the same RAID stripe,

wherein, the RAID groups include an instant RAID group, wherein the set of spare disk drives includes an instant spare disk drive, and wherein copying the segments of data from the set of regions of the disk drives of the instant RAID group to respective spare regions includes copying all segments of data for the instant RAID group to the instant spare disk drive, and

wherein the method further comprises rebuilding a set of data into the unused regions in the disk drives of the instant RAID group, except for the failing disk drive, the set of data including data previously stored in the failed disk drive.

7. The method of claim 6 , further comprising providing a new spare disk drive and copying the set of data to the new spare disk drive, such that the unused regions into which the set of data were rebuilt again become unused.

8. The method of claim 1 ,

wherein a number of segments are copied from the set of regions to the set of spare regions for each RAID group, wherein each RAID group includes a number of disk drives, and wherein the number of segments in each RAID group copied from the set of regions to the set of spare regions is an integer multiple of the number of disk drives in the RAID group,

wherein each segment of data includes an integer number of RAID strips, and wherein no two segments of data on different disk drives of a RAID group include RAID strips belonging to the same RAID stripe,

wherein, the RAID groups include an instant RAID group, wherein the set of spare disk drives includes an instant spare disk drive, and wherein copying the segments of data from the set of regions of the disk drives of the instant RAID group to respective spare regions includes copying all segments of data for the instant RAID group to the instant spare disk drive, and

wherein the method further comprises rebuilding a set of data into unused regions in other disk drives in the data storage system, the set of data including data previously stored in the failed disk drive.

9. The method of claim 1 , wherein the particular RAID group is composed of SSDs, and wherein marking, by the RAID controller, the unused regions in the particular RAID group as invalid includes issuing, by the RAID controller, one of a TRIM command or an UNMAP command to the unused regions in the particular RAID group.

10. A data storage system, comprising control circuitry that includes a set of processing units coupled to memory, the control circuitry constructed and arranged to:

operate a RAID (Redundant Array of Independent Disks) group in the data storage system, the RAID group including multiple disk drives arranged to provide at least one of data mirroring and data parity;

copy segments of data from a set of regions in the disk drives to respective spare regions in a spare disk drive, the set of regions in the disk drives of the RAID group becoming unused regions and the spare regions in the spare disk drive effecting an overprovisioning of storage for the RAID group; and

upon a failure of one of the disk drives in the RAID group, rebuild data of the failed disk drive based on (i) the segments of data and (ii) data from a set of still-functioning disk drives in the RAID group,

wherein the RAID group is an SSD (Solid State Drive) RAID group composed of SSDs, and wherein the control circuitry is further constructed and arranged to mark each of the unused regions on each of the SSDs as containing invalid data,

wherein a number of segments are copied from the set of regions to the set of spare regions for each RAID group, wherein each RAID group includes a number of disk drives, and wherein the number of segments in each RAID group copied from the set of regions to the set of spare regions is an integer multiple of the number of disk drives in the RAID group,

wherein each segment of data includes an integer number of RAID strips, and wherein no two segments of data on different disk drives of a RAID group include RAID strips belonging to the same RAID stripe,

wherein, the RAID groups include an instant RAID group, wherein the set of spare disk drives includes an instant spare disk drive, and wherein the control circuitry constructed and arranged to copy the segments of data from the set of regions of the disk drives of the instant RAID group to respective spare regions is further constructed and arranged to copy all segments of data for the instant RAID group to the instant spare disk drive, and

wherein the control circuitry is further constructed and arranged to:

for each of the spare regions in the spare disk drive, copy data from that spare region to a respective unused region on another disk drive in the data storage system, the spare regions from which data are copied becoming unused regions in the spare disk drive; and

rebuild a set of data into the unused regions of the spare disk drive, the set of data including data previously stored in the failed disk drive.

11. The data storage system of claim 10 , wherein the control circuitry is further constructed and arranged to rebuild a set of data into the unused regions in the disk drives of the RAID group, except for the failing disk drive, the set of data including data previously stored in the failed disk drive.

12. A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a data storage system, cause the control circuitry to perform a method of managing spare disk drives in a data storage system, the method comprising:

operating a RAID (Redundant Array of Independent Disks) group in the data storage system, the RAID group including multiple disk drives arranged to provide at least one of data mirroring and data parity;

copying segments of data from a set of regions in the disk drives to respective spare regions in a spare disk drive, the set of regions in the disk drives of the RAID group becoming unused regions and the spare regions in the spare disk drive effecting an overprovisioning of storage for the RAID group; and

upon a failure of one of the disk drives in the RAID group, rebuilding data of the failed disk drive based on (i) the segments of data and (ii) data from a set of still-functioning disk drives in the RAID group,

wherein the RAID group is an SSD (Solid State Drive) RAID group composed of SSDs, and wherein the method further comprises marking each of the unused regions on each of the SSDs as containing invalid data,

wherein a number of segments are copied from the set of regions to the set of spare regions for each RAID group, wherein each RAID group includes a number of disk drives, and wherein the number of segments in each RAID group copied from the set of regions to the set of spare regions is an integer multiple of the number of disk drives in the RAID group,

wherein each segment of data includes an integer number of RAID strips, and wherein no two segments of data on different disk drives of a RAID group include RAID strips belonging to the same RAID stripe,

wherein, the RAID groups include an instant RAID group, wherein the set of spare disk drives includes an instant spare disk drive, and wherein copying the segments of data from the set of regions of the disk drives of the instant RAID group to respective spare regions includes copying all segments of data for the instant RAID group to the instant spare disk drive, and

wherein the method further comprises:

for each of the spare regions in the instant spare disk drive, except any spare regions to which any segments of data were copied from the failing disk drive, copying data from that spare region to a respective unused region in the instant RAID group, the spare regions from which data are copied becoming unused regions in the instant spare disk drive; and

rebuilding a set of data into the unused regions of the instant spare disk drive, the set of data including data previously stored in the failed disk drive.

13. The computer program product of claim 12 , wherein

the method further comprises:

for each of the spare regions in the spare disk drive, except any spare regions to which any segments of data were copied from the failing disk drive, copying data from that spare region to a respective unused region in the RAID group, the spare regions from which data are copied becoming unused regions in the spare disk drive; and

rebuilding a set of data into the unused regions of the spare disk drive, the set of data including data previously stored in the failed disk drive.

14. The computer program product of claim 13 , wherein, after rebuilding the set of data into the unused regions of the spare disk drive, the spare disk drive becomes part of the RAID group, and wherein the method further comprises:

providing a second spare disk drive; and

copying segments of data from a set of regions of the disk drives of the RAID group to respective spare regions in the second spare disk drive, the set of regions in the disk drives of the RAID group becoming unused regions and the spare regions in the second spare disk drive effecting an overprovisioning of storage to the RAID group.

15. The computer program product of claim 12 , wherein the method further comprises rebuilding a set of data into unused regions in other disk drives in the data storage system, the set of data including data previously stored in the failed disk drive.

Assignments (10)
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 (046366/0014) Recorded May 20, 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
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
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 AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2017
From: HARVEY, DAVID W.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041279/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2017
From: VANKAMAMIDI, VAMSI; GADSBY, RYAN; LINNELL, THOMAS E.; CUMMINS, DANIEL; MORLEY, STEVEN
To: EMC CORPORATION
Reel/Frame 041170/0278 →