IP Library Granted Patent US 11,442,661
Granted Patent B2
US 11,442,661 · App. 16/838,764 · Granted Sep 13, 2022

Raid parity data generation offload system

Inventors: Gary Benedict Kotzur (Austin, TX); William Emmett Lynn (Round Rock, TX); Kevin Thomas Marks (Georgetown, TX); Chandrashekar Nelogal (Round Rock, TX); James Peter Giannoules (Round Rock, TX); Austin Patrick Bolen (Austin, TX)
Assignee: Dell Products L.P.
G06F3/0659G06F3/0607G06F3/0619G06F3/0658G06F3/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,442,661
App. No.
16/838,764
Granted
Sep 13, 2022
Kind
B2
Abstract

A RAID parity data generation offload system includes a RAID storage controller device that determines that a RAID parity data storage device loading for a RAID parity data storage device exceeds a loading threshold, and then generates and transmits a RAID parity data generation offload command associated with a RAID parity data update required in response to a RAID primary data update. A first RAID primary data storage device receives the RAID parity data generation offload command, and then retrieves current parity data from the RAID parity data storage device, and performs an XOR operation using the current parity data, current primary data, and updated primary data associated with the RAID primary data update in order to generate updated parity data. The first RAID primary data storage device then provides the updated parity data for storage on the RAID parity data storage device in place of the current parity data.

Claims (61)

1. A Redundant Array of Independent Disks (RAID) parity data generation offload system, comprising:

a Redundant Array of Independent Disks (RAID) storage controller device that is configured to:

determine that a RAID parity data storage device loading for a RAID parity data storage device exceeds a loading threshold; and

generate and transmit a RAID parity data generation offload command associated with a RAID parity data update required in response to a RAID primary data update; and

a first RAID primary data storage device that is coupled to the RAID storage controller device and that is configured to:

receive, from the RAID storage controller device, the RAID parity data generation offload command;

retrieve, from the RAID parity data storage device, current parity data;

perform an XOR operation using the current parity data, current primary data, and updated primary data associated with the RAID primary data update in order to generate updated parity data; and

provide the updated parity data for storage on the RAID parity data storage device in place of the current parity data.

2. The system of claim 1 , wherein the current primary data is stored in the first RAID primary data storage device.

3. The system of claim 2 , wherein the first RAID primary data storage device is configured to:

retrieve, from a host system, the updated primary data;

store the updated primary data; and

overwrite, following the performance of the XOR operation to generate updated parity data, the current primary data with the updated primary data.

4. The system of claim 1 , wherein the current primary data is stored in a second RAID primary data storage device, and the updated primary data is stored in the second RAID primary data storage device.

5. The system of claim 4 , wherein the first RAID primary data storage device is configured to:

retrieve, from the second RAID primary data storage device, the current primary data;

store the current primary data;

retrieve, from the second RAID primary data storage device, the updated primary data; and

store the updated primary data.

6. The system of claim 4 , wherein the first RAID primary data storage device is included in a first RAID data storage system, and wherein the second RAID primary data storage device and the RAID parity data storage device are included in a second RAID data storage system that is different than the first RAID data storage system.

7. The system of claim 1 , wherein the RAID parity data storage device loading for the RAID parity data storage device exceeds the loading threshold by including a number of RAID parity data storage device commands in a RAID parity data storage device command queue that include a total RAID parity data storage device command execution time that is a threshold percentage greater than a total first RAID primary data storage device command execution time of first RAID primary data storage device commands in a first RAID primary data storage device command queue of the first RAID primary data storage device.

8. An Information Handling System (IHS), comprising:

a processing system; and

a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a RAID data storage engine that is configured to:

receive, from a RAID storage controller device, a RAID parity data generation offload command that is associated with a RAID parity data storage device having a RAID parity data storage device loading that exceeds a loading threshold;

retrieve, from the RAID parity data storage device, current parity data;

perform an XOR operation using the current parity data, current primary data, and updated primary data associated with the RAID primary data update in order to generate updated parity data; and

provide the updated parity data for storage on the RAID parity data storage device in place of the current parity data.

9. The IHS of claim 8 , further comprising:

a storage subsystem that is coupled to the processing system, wherein the current primary data is stored in the storage subsystem.

10. The IHS of claim 9 , further comprising:

a buffer subsystem that is coupled to the processing system, wherein the RAID data storage engine is configured to:

retrieve, from a host system, the updated primary data;

store the updated primary data in the buffer subsystem; and

overwrite, following the performance of the XOR operation to generate updated parity data, the current primary data in the storage subsystem with the updated primary data in the buffer subsystem.

11. The IHS of claim 8 , wherein the current primary data is stored in a RAID primary data storage device, and the updated primary data is stored in the RAID primary data storage device.

12. The IHS of claim 11 , further comprising:

a buffer subsystem that is coupled to the processing system, wherein the RAID data storage engine is configured to:

retrieve, from the second RAID primary data storage device, the current primary data;

store the current primary data in the buffer subsystem; and

retrieve, from the second RAID primary data storage device, the updated primary data; and store the updated primary data in the buffer subsystem.

13. The IHS of claim 8 , wherein the RAID parity data storage device loading for the RAID parity data storage device exceeds the loading threshold by including a number of RAID parity data storage device commands in a RAID parity data storage device command queue that include a total RAID parity data storage device command execution time that is a threshold percentage greater than a total RAID primary data storage device command execution time of RAID primary data storage device commands in a RAID primary data storage device command queue that is accessible to the processing system.

14. A method for offloading parity data generation from a RAID parity data storage device, comprising:

receiving, by a first RAID primary data storage device from a RAID storage controller device, a RAID parity data generation offload command that is associated with a RAID parity data storage device having a RAID parity data storage device loading that exceeds a loading threshold;

retrieving, by the first RAID primary data storage device from the RAID parity data storage device, current parity data;

performing, by the first RAID primary data storage device, an XOR operation using the current parity data, current primary data, and updated primary data associated with the RAID primary data update in order to generate updated parity data; and

providing, by the first RAID primary data storage device, the updated parity data for storage on the RAID parity data storage device in place of the current parity data.

15. The method of claim 14 , wherein the current primary data is stored in the first RAID primary data storage device.

16. The method of claim 15 , further comprising:

retrieving, by the first RAID primary data storage device from a host system, the updated primary data;

storing, by the first RAID primary data storage device, the updated primary data; and

overwriting, by the first RAID primary data storage device following the performance of the XOR operation to generate updated parity data, the current primary data with the updated primary data.

17. The method of claim 14 , wherein the current primary data is stored in a second RAID primary data storage device, and the updated primary data is stored in the second RAID primary data storage device.

18. The method of claim 17 , further comprising:

retrieving, by the first RAID primary data storage device from the second RAID primary data storage device, the current primary data;

storing, by the first RAID primary data storage device, the current primary data;

retrieving, by the first RAID primary data storage device from the second RAID primary data storage device, the updated primary data; and

storing, by the first RAID primary data storage device, the updated primary data.

19. The method of claim 17 , wherein the first RAID primary data storage device is included in a first RAID data storage system, and wherein the second RAID primary data storage device and the RAID parity data storage device are included in a second RAID data storage system that is different than the first RAID data storage system.

20. The method of claim 14 , wherein the RAID parity data storage device loading for the RAID parity data storage device exceeds the loading threshold by including a number of RAID parity data storage device commands in a RAID parity data storage device command queue that include a total RAID parity data storage device command execution time that is a threshold percentage greater than a total first RAID primary data storage device command execution time of first RAID primary data storage device commands in a first RAID primary data storage device command queue of the first RAID primary data storage device.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
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 AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2020
From: KOTZUR, GARY BENEDICT; LYNN, WILLIAM EMMETT; MARKS, KEVIN THOMAS; NELOGAL, CHANDRASHEKAR; GIANNOULES, JAMES PETER; BOLEN, AUSTIN PATRICK
To: DELL PRODUCTS L.P.
Reel/Frame 052300/0152 →
Cited By (1)
US 12,321,233