IP Library Granted Patent US 11,593,206
Granted Patent B2
US 11,593,206 · App. 17/152,270 · Granted Feb 28, 2023

Distributed raid rebuild

Inventors: Lior Kamran (Richon LeZion, IL); Amitai Alkalay (Kadima, IL)
Assignee: EMC IP Holding Company LLC
G06F11/1092G06F3/0619G06F3/0629G06F3/0659G06F3/0689G06F11/0787G06F11/3034G06F15/17331
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,593,206
App. No.
17/152,270
Granted
Feb 28, 2023
Kind
B2
Abstract

A technique is disclosed for generating rebuild data of a RAID configuration having one or more failed drives. The RAID configuration includes multiple sets of drives coupled to respective computing nodes, and the computing nodes are coupled together via a network. A lead node directs rebuild activities, communicating with the other node or nodes and directing such node(s) to compute partial rebuild results. The partial rebuild results are based on data of the drives of the RAID configuration coupled to the other node(s). The lead node receives the partial rebuild results over the network and computes complete rebuild data based at least in part on the partial rebuild results.

Claims (31)

1. A method of generating rebuild data for a RAID (Redundant Array of Independent Disks) configuration having one or more failed drives, comprising:

sending, by a lead node, a message to one or more other computing nodes coupled to the lead node over a network, each of said one or more other computing nodes coupled to a respective set of drives that are part of the RAID configuration, the message directing said one or more other computing nodes to generate partial rebuild results, wherein the lead node is selected as the node coupled to the most drives that belong to the RAID configuration of any node coupled to drives that belong to the RAID configuration;

receiving the partial rebuild results by the lead node; and

generating complete rebuild data for rebuilding said one or more failed drives based at least in part on the partial rebuild results.

2. The method of claim 1 , wherein the lead node is coupled to a set of drives that are part of the RAID configuration, and wherein generating the complete rebuild data is further based on data from the set of drives coupled to the lead node.

3. The method of claim 1 , wherein said one or more other computing nodes include multiple other computing nodes, and wherein directing said one or more other computing nodes to generate partial rebuild results includes directing each of the other computing nodes to generate respective partial rebuild results based on the respective set of drives coupled thereto.

4. The method of claim 3 , wherein said multiple other computing nodes are coupled to the lead node in a chain in which the lead node forms one end of the chain, and wherein the method further comprises:

at least one of the multiple other computing nodes in the chain consolidating its own partial rebuild results with partial rebuild results from at least one more-distal computing node in the chain to produce consolidated partial rebuild results,

wherein receiving the partial rebuild results by the lead node includes receiving the consolidated partial rebuild results.

5. The method of claim 1 , wherein sending the message by the lead node includes transmitting the message via an API (Application Program Interface) between the lead node and said one or more other computing nodes.

6. The method of claim 5 , wherein the API is based on RDMA (Remote Direct Memory Access).

7. The method of claim 5 , wherein sending the message includes providing a list of {drive, offset} pairs to said one or more other computing nodes, the list of {drive, offset} pairs identifying portions of drives that store data used in generating the partial rebuild results.

8. The method of claim 7 , wherein sending the message further includes providing a buffer size, the buffer size specifying an amount of memory to be allocated for holding data used in generating the partial rebuild results.

9. The method of claim 7 , wherein sending the message further includes providing a set of Galois field coefficients used in generating at least some of the partial rebuild results.

10. The method of claim 1 , wherein the partial rebuild results received from at least one of said one or more other computing nodes include results calculated from at least two drives.

11. A computerized apparatus, comprising control circuitry that includes a set of processing units coupled to memory, the control circuitry constructed and arranged to:

send, by a lead node via an API (Application Program Interface), a message to one or more other computing nodes coupled to the lead node over a network, each of said one or more other computing nodes coupled to a respective set of drives that are part of the RAID (Redundant Array of Independent Disks) configuration, the message directing said one or more other computing nodes to generate partial rebuild results;

receive the partial rebuild results by the lead node; and

generate complete rebuild data for rebuilding said one or more failed drives based at least in part on the partial rebuild results,

wherein the control circuitry constructed and arranged to send the message is further constructed and arranged to provide a list of {drive, offset} pairs to said one or more other computing nodes, the list of {drive, offset} pairs identifying portions of drives that store data used in generating the partial rebuild results.

12. The computerized apparatus of claim 11 , wherein the lead node is coupled to a set of drives that are part of the RAID configuration, and wherein the control circuitry constructed and arranged to generate the complete rebuild data is further constructed and arranged to generate the complete rebuild data based on data from the set of drives coupled to the lead node.

13. A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a computerized apparatus, cause the computerized apparatus to perform a method of generating rebuild data for a RAID (Redundant Array of Independent Disks) configuration having one or more failed drives, the method comprising:

sending, by a lead node, a message to multiple other computing nodes coupled to the lead node over a network, each of said other computing nodes coupled to a respective set of drives that are part of the RAID configuration, the message directing said other computing nodes to generate partial rebuild results based on the respective sets of drives coupled thereto;

receiving the partial rebuild results by the lead node; and

generating complete rebuild data for rebuilding said one or more failed drives based at least in part on the partial rebuild results,

wherein said multiple other computing nodes are coupled to the lead node in a chain in which the lead node forms one end of the chain, wherein the method further comprises at least one of the multiple other computing nodes in the chain consolidating its own partial rebuild results with partial rebuild results from at least one more-distal computing node in the chain to produce consolidated partial rebuild results, and wherein receiving the partial rebuild results by the lead node includes receiving the consolidated partial rebuild results.

14. The computer program product of claim 13 , wherein the lead node is coupled to a set of drives that are part of the RAID configuration, and wherein generating the complete rebuild data is further based on data from the set of drives coupled to the lead node.

15. The computer program product of claim 13 , wherein sending the message by the lead node includes transmitting the message via an API (Application Program Interface) between the lead node and said one or more other computing nodes, wherein the API is based on RDMA (Remote Direct Memory Access).

16. The computer program product of claim 15 , wherein sending the message includes providing a list of {drive, offset} pairs to said one or more other computing nodes, the list of {drive, offset} pairs identifying portions of drives that store data used in generating the partial rebuild results.

17. The computer program product of claim 16 , wherein sending the message further includes providing a set of Galois field coefficients used in generating at least some of the partial rebuild results.

18. The computer program product of claim 13 , further comprising the selecting the lead node as the node coupled to the most drives that belong to the RAID configuration of any node coupled to drives that belong to the RAID configuration.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2021
From: KAMRAN, LIOR; ALKALAY, AMITAI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055391/0724 →
Continuity (1)
Related Publication 20220229729A1 · Jul 21, 2022