IP Library Granted Patent US 10,922,177
Granted Patent B2
US 10,922,177 · App. 15/955,082 · Granted Feb 16, 2021

Method, device and computer readable storage media for rebuilding redundant array of independent disks

Inventors: Shaoqin Gong (Beijing, CN); Jian Gao (Beijing, CN); Xinlei Xu (Beijing, CN); Geng Han (Beijing, CN); Jibing Dong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1092G06F11/1076G06F11/2094G06F2201/82
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,922,177
App. No.
15/955,082
Granted
Feb 16, 2021
Kind
B2
Abstract

Embodiments of the present disclosure relate to method, device and computer readable storage media for rebuilding redundant array of independent disks (RAID). The method comprises: in response to detecting at least one fault disk in the RAID, adding a new disk to the RAID for rebuilding; determining, according to a mapping table, a first set of storage blocks marked as “free” in the at least one fault disk, the mapping table indicating usage state of storage space in the RAID; and writing a predetermined value into a second set of storage blocks corresponding to the first group of storage blocks in the new disk.

Claims (58)

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

in response to detecting at least one fault disk in the RAID, adding a new disk to the RAID for rebuilding;

determining, from a mapping table, a first set of storage blocks marked as “free” in the at least one fault disk, the mapping table indicating usage state of storage space in the RAID; and

writing a predetermined value into a second set of storage blocks corresponding to the first set of storage blocks in the new disk,

wherein the mapping table indicates usage state of storage blocks in the RAID, the storage blocks corresponding to logic storage slices in a mapping logic unit, and wherein the method further comprises:

in response to the mapping logic unit receiving a write request, (i) allocating a new slice from a slice pool and (ii) sending a first indication to a RAID controller that controls the RAID, the first indication identifying the new slice;

in response to the RAID controller receiving the first indication, marking as used in the mapping table a block that corresponds to the new slice;

sending, by the RAID controller to the mapping logic unit, a second indication that the new slice is available; and

in response to the mapping logic unit receiving the second indication, marking the new slice as available in the mapping logic unit.

2. The method of claim 1 , further comprising:

reading, from fault-free disks in the RAID, data associated with a third set of storage blocks in the fault disk, which are marked as “used” in the mapping table;

determining, based on the read data, redundant data corresponding to the third set of storage blocks; and

writing the redundant data into a fourth set of storage blocks corresponding to the third set of storage blocks in the new disk.

3. The method of claim 1 , further comprising updating the mapping table, the updating comprising:

in response to receiving from the mapping logic unit a third indication of a logic storage slice to be released in the mapping logic unit, marking the storage block corresponding to the logic storage slice to be released as “free” in the mapping table.

4. The method of claim 3 , the updating further comprising:

sending to the mapping logic unit a fourth indication indicating that the storage block corresponding to the logic storage slice to be released has been marked as “released” in the mapping table.

5. The method of claim 1 , wherein disks in the RAID are hard disk drives.

6. The method of claim 1 , further comprising:

receiving, by the RAID controller of the RAID from the mapping logic unit, a third indication that identifies a particular slice to be released from the mapping logic unit;

in response to the RAID controller receiving the third indication, marking as free in the mapping table a block that corresponds to the particular slice;

sending, by the RAID controller to the mapping logic unit, a fourth indication that the block that corresponds to the particular slice has been released; and

in response to the mapping logic unit receiving the fourth indication, marking the particular slice as released in the mapping logic unit.

7. A storage system comprising:

at least one processing unit;

at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the storage system to perform actions, the actions comprising:

in response to detecting at least one fault disk in a redundant array of independent disks (RAID), a RAID controller adding a new disk to the RAID for rebuilding;

the RAID controller determining, from a mapping table, a first set of storage blocks marked as “free” in the at least one fault disk, the mapping table indicating usage state of storage space in the RAID; and

the RAID controller writing a predetermined value into a second set of storage blocks corresponding to the first set of storage blocks in the new disk,

wherein the mapping table indicates usage state of storage blocks in the RAID, the storage blocks corresponding to logic storage slices in a mapping logic unit, and wherein the actions further comprise:

in response to the mapping logic unit receiving a write request, (i) allocating a new slice from a slice pool and (ii) sending a first indication to the RAID controller that controls the RAID, the first indication identifying the new slice, the RAID controller and the mapping logic unit running in the storage system;

in response to the RAID controller receiving the first indication, marking as used in the mapping table a block that corresponds to the new slice;

sending, by the RAID controller to the mapping logic unit, a second indication that the new slice is available; and

in response to the mapping logic unit receiving the second indication, marking the new slice as available in the mapping logic unit.

8. The storage system of claim 7 , the actions further comprising:

reading, from fault-free disks in the RAID, data associated with a third set of storage blocks in the fault disk, which are marked as “used” in the mapping table;

determining, based on the read data, redundant data corresponding to the third set of storage blocks; and

writing the redundant data into a fourth set of storage blocks corresponding to the third set of storage blocks in the new disk.

9. The storage system of claim 7 , the actions further comprising updating the mapping table, and the updating comprising:

in response to receiving from the mapping logic unit a third indication indicating a logic storage slice to be released in the mapping logic unit, marking the storage block corresponding to the logic storage slice to be released as “free” in the mapping table.

10. The storage system of claim 9 , wherein the updating further comprises:

sending to the mapping logic unit a fourth indication indicating that the storage block corresponding to the logic storage slice to be released has been marked as “released” in the mapping table.

11. The storage system of claim 7 , wherein disks in the RAID are hard disk drives.

12. A computer program product for rebuilding a redundant array of independent disks (RAID), the computer program product comprising:

a non-transitory computer readable medium encoded with computer executable code, the code configured to enable the execution of:

in response to detecting at least one fault disk in the RAID, adding a new disk to the RAID for rebuilding;

determining, from a mapping table, a first set of storage blocks marked as “free” in the at least one fault disk, the mapping table indicating usage state of storage space in the RAID; and

writing a predetermined value into a second set of storage blocks corresponding to the first set of storage blocks in the new disk,

wherein the mapping table indicates usage state of storage blocks in the RAID, the storage blocks corresponding to logic storage slices in a mapping logic unit, and wherein the code is further configured to enable the execution of:

receiving, by a RAID controller of the RAID from the mapping logic unit, a third indication that identifies a particular slice to be released from the mapping logic unit;

in response to the RAID controller receiving the third indication, marking as free in the mapping table a block that corresponds to the particular slice;

sending, by the RAID controller to the mapping logic unit, a fourth indication that the block that corresponds to the particular slice has been released; and

in response to the mapping logic unit receiving the fourth indication, marking the particular slice as released in the mapping logic unit.

13. The computer program product of claim 12 , wherein the code is further configured to enable the execution of:

in response to the mapping logic unit receiving a write request, (i) allocating a new slice from a slice pool and (ii) sending a first indication to the RAID controller, the first indication identifying the new slice;

in response to the RAID controller receiving the first indication, marking as used in the mapping table a block that corresponds to the new slice;

sending, by the RAID controller to the mapping logic unit, a second indication that the new slice is available; and

in response to the mapping logic unit receiving the second indication, marking the new slice as available in the mapping logic unit.

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 (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 (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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2018
From: GONG, SHAOQIN; GAO, JIAN; XU, XINLEI; HAN, GENG; DONG, JIBING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045584/0662 →
Priority Claims (1)
CN 2017 1 0250537 · Apr 17, 2017 · national
Continuity (1)
Related Publication 20180300212A1 · Oct 18, 2018
Cited By (1)
US 12,608,277