IP Library Granted Patent US 11,586,503
Granted Patent B2
US 11,586,503 · App. 16/459,929 · Granted Feb 21, 2023

Faster rebuilding of 2-disk failure in raid by efficient, modular, diagonal, concurrent parity

Inventor: Balasundaram Govindan (Bangalore, IN)
Assignee: Dell Products L.P.
G06F11/1092G06F3/0604G06F3/0659G06F3/0689G06F11/1076
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,586,503
App. No.
16/459,929
Granted
Feb 21, 2023
Kind
B2
Abstract

In response to receiving data to be stored in a storage system that includes a plurality of N drives, a method may include storing a first quantity of the data in a first N portions across a first half of the N drives; storing a second quantity of the data in a second N portions across a second half of the N drives; determining first parities to be stored on a first parity drive; determining second parities and storing them on a second parity drive; and calculating third parities based on both the first quantity of the data and the second quantity of the data, wherein the third parities are calculated in a diagonal fashion based on distinct elements of the first N portions and distinct elements of the second N portions, and storing the third parities on a third parity drive.

Claims (39)

1. A method comprising:

in response to receiving data to be stored in a storage system that includes a plurality of N drives, performing data storing operations comprising:

segregating the N drives into a first half and a second half;

storing a first quantity of the data in a first N/2 portions across the first half of the N drives;

storing a second quantity of the data in a second N/2 portions across the second half of the N drives;

for each of the first N/2 portions of the first quantity of the data, determining a first parity, and storing each first parity on a first parity drive;

for each of the second N/2 portions of the second quantity of the data, determining a second parity, and storing each second parity on a second parity drive,

wherein the first parity drive is operable to store only the first parities, and wherein the second parity drive is operable to store only the second parities; and

calculating third parities based on both the first quantity of the data and the second quantity of the data, wherein the third parities are calculated in a diagonal fashion based on distinct elements of the first N/2 portions and distinct elements of the second N/2 portions, and storing the third parities on a third parity drive, wherein the third parity drive is operable to store only the third parities.

2. The method of claim 1 , wherein the first, second, and third parities are calculated based on an XOR operation.

3. The method of claim 1 , wherein at least one of the first, second, and third parities are based on an XOR operation.

4. The method of claim 1 , further comprising: in response to a failure of a particular drive in the first half of the N drives, re-generating data based on the first parities.

5. The method of claim 4 , further comprising: in response to a contemporaneous failure of a second particular drive in the second half of the N drives, concurrently re-generating data based on the second parities.

6. The method of claim 5 , further comprising: in response to a contemporaneous failure of a third particular drive, re-generating data based on the third parities.

7. An article of manufacture comprising a non-transitory, computer-readable medium having instructions stored thereon that are configured to be executed by an information handling system for, in response to receiving data to be stored in a storage system that includes a plurality of N drives, performing data storing operations comprising:

segregating the N drives into a first half and a second half;

storing a first quantity of the data in a first N/2 portions across the first half of the N drives;

storing a second quantity of the data in a second N/2 portions across the second half of the N drives;

for each of the first N/2 portions of the first quantity of the data, determining a first parity, and storing each first parity on a first parity drive;

for each of the second N/2 portions of the second quantity of the data, determining a second parity, and storing each second parity on a second parity drive, wherein the first parity drive is operable to store only the first parities, and wherein the second parity drive is operable to store only the second parities; and

calculating third parities based on both the first quantity of the data and the second quantity of the data, wherein the third parities are calculated in a diagonal fashion based on distinct elements of the first N/2 portions and distinct elements of the second N/2 portions, and storing the third parities on a third parity drive, wherein the third parity drive is operable to store only the third parities.

8. The article of claim 7 , wherein the first, second, and third parities are calculated based on an XOR operation.

9. The article of claim 7 , wherein at least one of the first, second, and third parities are based on an XOR operation.

10. The article of claim 7 , wherein the instructions are further for: in response to a failure of a particular drive in the first half of the N drives, re-generating data based on the first parities.

11. The article of claim 10 , wherein the instructions are further for: in response to a contemporaneous failure of a second particular drive in the second half of the N drives, concurrently re-generating data based on the second parities.

12. The article of claim 11 , wherein the instructions are further for: in response to a contemporaneous failure of a third particular drive, re-generating data based on the third parities.

13. A system comprising:

at least one processor; and

a storage system that includes a plurality of N drives;

wherein, in response to receiving data to be stored in the storage system, the system s configured to perform data storing operations comprising:

storing a first quantity of the data n a first N/2 portions across a first half of the N drives;

storing a second quantity of the data n a second N/2 portions across a second half of the N drives;

for each of the first N/2 portions of the first quantity of the data, determining a first parity, and storing each first parity on a first parity drive;

for each of the second N/2 portions of the second quantity of the data, determining a second parity, and storing each second parity on a second parity drive, wherein the first parity drive is operable to store only the first parities, and wherein the second parity drive is operable to store only the second parities; and

calculating third parities based on both the first quantity of the data and the second quantity of the data, wherein the third parities are calculated in a diagonal fashion based on distinct elements of the first N/2 portions and distinct elements of the second N/2 portions, and storing the third parities on a third parity drive, wherein the third parity drive is operable to store only the third parities.

14. The system of claim 13 , wherein the first, second, and third parities are calculated based on an XOR operation.

15. The system of claim 13 , wherein the operations further comprise: in response to a failure of a particular drive in the first half of the N drives, re-generating data based on the first parities.

16. The system of claim 15 , wherein the operations further comprise: in response to a contemporaneous failure of a second particular drive in the second half of the N drives, concurrently re-generating data based on the second parities.

17. The system of claim 16 , wherein the operations further comprise: in response to a contemporaneous failure of a third particular drive, re-generating data based on the third parities.

Assignments (9)
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 (053311/0169) Recorded Jun 23, 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 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 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 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2019
From: GOVINDAN, BALASUNDARAM
To: DELL PRODUCTS L.P.
Reel/Frame 049653/0138 →