IP Library Granted Patent US 10,496,483
Granted Patent B2
US 10,496,483 · App. 15/464,275 · Granted Dec 3, 2019

Method and apparatus for rebuilding redundant array of independent disks

Inventors: Huibing Xiao (Beijing, CN); Geng Han (Beijing, CN); Jian Gao (Beijing, CN); Hongpo Gao (Beijing, CN); Jibing Dong (Beijing, CN); Shaoqin Gong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1092G06F3/0617G06F3/0644G06F3/0689G06F2211/1028
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,496,483
App. No.
15/464,275
Granted
Dec 3, 2019
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method and apparatus for rebuilding redundant array of independent disks (RAID). The method comprises dividing a RAID group including a disk into a plurality of stripes in response to detecting a failure of the disk, and each stripe includes a disk slice across all disks of the RAID group. The method further comprises mapping the plurality of stripes to other RAID groups respectively and rebuilding data on the plurality of stripes in other RAID groups. Embodiments of the present disclosure rebuild in parallel the stripes of the failed RAID group in other RAID groups, thereby effectively increasing the rebuilding speed for RAID and ensuring reliability of the RAID group.

Claims (52)

1. A method for rebuilding a redundant array of independent disks (RAID), comprising:

in response to detecting a failure of a disk, dividing a RAID group including the disk into a plurality of stripes covering all of the RAID group, each stripe including a disk slice across all disks of the RAID group;

mapping the plurality of stripes to other RAID groups; and

rebuilding, in the other RAID groups, data on the plurality of stripes of the RAID group.

2. The method of claim 1 , wherein the dividing a RAID group including the disk into a plurality of stripes comprises:

dividing the RAID group into the plurality of stripes according to a predetermined size of a stripe.

3. The method of claim 1 , wherein the mapping the plurality of stripes to other RAID groups comprises:

mapping the plurality of stripes to the other RAID groups based on a workload and a remaining storage space of each of the other RAID groups.

4. The method of any of claim 1 , wherein the rebuilding in the other RAID groups data on the plurality of stripes in the RAID group comprises:

rebuilding the plurality of stripes in parallel in a plurality of RAID groups of the other RAID groups.

5. The method of claim 1 , wherein the rebuilding in the other RAID groups data on the plurality of stripes in the RAID group comprises:

rebuilding the plurality of stripes in the RAID group segment by segment; and

setting a check point to record a progress of the rebuilding.

6. A method for rebuilding a redundant array of independent disks (RAID), comprising:

in response to detecting a failure of a disk, dividing a RAID group including the disk into a plurality of stripes, each stripe including a disk slice across all disks of the RAID group;

mapping the plurality of stripes to other RAID groups; and

rebuilding, in the other RAID groups, data on the plurality of stripes of the RAID group, wherein the rebuilding in the other RAID groups data on the plurality of stripes in the RAID group comprises:

in response to determining that a specific stripe of the plurality of stripes is being rebuilt, providing a read operation for the specific stripe in the RAID group without providing a write operation for the specific stripe.

7. The method of claim 6 , wherein the rebuilding in the other RAID groups data on the plurality of stripes in the RAID group comprises:

redirecting both read and write operations for the specific stripe to a specific RAID group rebuilding the specific stripe after the specific stripe is rebuilt.

8. A method for rebuilding a redundant array of independent disks (RAID), comprising:

in response to detecting a failure of a disk, dividing a RAID group including the disk into a plurality of stripes, each stripe including a disk slice across all disks of the RAID group;

mapping the plurality of stripes to other RAID groups;

rebuilding, in the other RAID groups, data on the plurality of stripes of the RAID group; and

in response to all of the plurality of stripes having been rebuilt, replacing the failed disk with a spare disk to form a new spare RAID group that is empty.

9. The method of claim 8 , further comprising:

load balancing the other RAID groups after forming the new spare RAID group.

10. The method of claim 9 , wherein the load balancing the other RAID groups comprises:

migrating a portion of data of a specific group of the other RAID groups which has a high load to the new spare group of RAID.

11. The method of claim 10 , wherein the migrating a portion of data of a specific group of the other RAID groups which has a high load to the new spare group of RAID comprises:

determining the specific group of RAID of the other RAID groups which has the high load by recording, in each of the other RAID groups, counts of at least one of a read operation or a write operation.

12. An apparatus for rebuilding a redundant array of independent disks (RAID), comprising:

a dividing unit configured to, in response to detecting a failure of a disk, divide a RAID group including the disk into a plurality of stripes covering all of the RAID group, each stripe including a disk slice across all disks of the RAID group;

a mapping unit configured to map the plurality of stripes to other RAID groups; and

a rebuilding unit configured to rebuild, in the other RAID groups, data on the plurality of stripes of the RAID group.

13. The apparatus of claim 12 , wherein the dividing unit is further configured to:

divide the RAID group into the plurality of stripes according to a predetermined size of a stripe.

14. The apparatus of claim 12 , wherein the mapping unit is further configured to:

map the plurality of stripes to the other RAID groups based on a workload and a remaining storage space of each of the other RAID groups.

15. The apparatus of claim 12 , wherein the rebuilding unit is further configured to:

in response to determining that a specific stripe of the plurality of stripes is being rebuilt, provide a read operation for the specific stripe in the RAID group without providing a write operation for the specific stripe.

16. The apparatus of claim 15 , wherein the rebuilding unit is further configured to:

redirect both read and write operations for the specific stripe to a specific RAID group rebuilding the specific stripe after the specific stripe is rebuilt.

17. The apparatus of any of claim 12 , wherein the rebuilding unit is further configured to:

rebuild the plurality of stripes in parallel in a plurality of RAID groups of the other RAID groups.

18. The apparatus of claim 12 , wherein the rebuilding unit is further configured to:

rebuild the plurality of stripes in the RAID group segment by segment; and

set a check point to record a progress of the rebuilding.

19. The apparatus of claim 12 , further comprising:

a replacing unit configured to, in response to all of the plurality of stripes having been rebuilt, replace the failed disk with a spare disk to form a new spare RAID group that is empty.

20. The apparatus of claim 19 , further comprising:

a load balancing unit configured to load balance the other RAID groups after forming the new spare RAID group.

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 Dec 21, 2017
From: XIAO, HUIBING; HAN, GENG; GAO, JIAN; GAO, HONGPO; DONG, JIBING; GONG, SHAOQIN
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 044458/0248 →
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 →
Priority Claims (1)
CN 2016 1 0162005 · Mar 21, 2016 · national
Continuity (1)
Related Publication 20170270018A1 · Sep 21, 2017