IP Library Granted Patent US 11,023,313
Granted Patent B2
US 11,023,313 · App. 16/813,145 · Granted Jun 1, 2021

Look-aside RAID controller storage-device-assisted data update 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.
G06F11/1004G06F3/0619G06F3/0659G06F3/0689G06F13/28
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,023,313
App. No.
16/813,145
Granted
Jun 1, 2021
Kind
B2
Abstract

A RAID storage controller storage-device-assisted data update system includes a RAID storage controller device coupled to a host system and RAID storage devices in a “look aside” RAID storage controller device configuration. Based on command(s) from the RAID storage controller device, a first RAID primary data storage device may perform a first DMA operation to access first primary data stored on the host system, and write the first primary data to its first buffer subsystem. The first RAID primary data storage device may then perform a first XOR operation using the first primary data stored in its first buffer subsystem and second primary data stored in its first storage subsystem in order to produce first interim parity data, and write the first interim parity data to its second buffer subsystem. The first RAID primary data storage device may then update the second primary data with the first primary data.

Claims (59)

1. A Redundant Array of Inexpensive Disks (RAID) storage controller storage-device-assisted data update system, comprising:

a host system;

a Redundant Array of Inexpensive Disks (RAID) storage controller device that is coupled to the host system; and

a plurality of RAID storage devices that are each coupled to the RAID storage controller device, and that are each coupled to the host system such that each of the plurality of RAID storage devices has direct access to the host system, wherein the plurality of RAID storage devices include:

a first RAID primary data storage device that is configured, based on at least one command received from the RAID storage controller device, to:

perform a first Direct Memory Access (DMA) operation that accesses first primary data that is stored on the host system;

write the first primary data to a first buffer subsystem in the first RAID primary data storage device;

perform a first XOR operation using the first primary data that is stored in the first buffer subsystem in the first RAID primary data storage device and second primary data that is stored in a first storage subsystem in the first RAID primary data storage device in order to produce first interim parity data; and

write the first interim parity data to a second buffer subsystem in the first RAID primary data storage device.

2. The system of claim 1 , wherein the first RAID primary data storage device is configured, based on at least one command received from the RAID storage controller device, to:

update the second primary data with the first primary data.

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

transmit, in response to updating the second primary data with the first primary data, a completion communication to the RAID storage controller device.

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

provide, via a second DMA operation performed by a RAID parity data storage device that is included in the plurality of RAID data storage devices, access to the interim parity data to the RAID parity data storage device.

5. The system of claim 1 , wherein the first RAID primary data storage device is provided by a Non-Volatile Memory express (NVMe) storage device.

6. The system of claim 1 , wherein the plurality of RAID storage devices include:

a RAID parity data storage device that is configured, based on at least one command received from the RAID storage controller device, to:

perform a respective DMA operations that access the first interim parity data in the second buffer subsystem in the first RAID primary data storage device and second interim parity data in at least one second RAID primary storage device included in the plurality of RAID storage devices;

write the first interim parity data and second interim parity data to a third buffer subsystem in the RAID parity data storage device;

perform a second XOR operation using the first interim parity data and the second interim parity data that is stored in the third buffer subsystem in the RAID parity data storage device and first parity data that is stored in a second storage subsystem in the RAID parity data storage device in order to produce second parity data; and

update the first parity data with the second parity data.

7. The system of claim 6 , wherein the RAID parity data storage device is configured to:

transmit, in response to updating the first parity data with the second parity data, a completion communication to the RAID storage controller device.

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

a chassis;

a processing system that is housed in the chassis; and

a memory system that is housed in the chassis, coupled to the processing system, and that includes instructions that, when executed by the processing system, cause the processing system to provide a Redundant Array Of Inexpensive Disks (RAID) storage engine that is configured, based on at least one command received from a RAID storage controller device, to:

perform a first Direct Memory Access (DMA) operation that accesses first primary data that is stored on a host system;

write the first primary data to a first buffer subsystem that is housed in the chassis;

perform a first XOR operation using the first primary data that is stored in the first buffer subsystem and second primary data that is stored in a first storage subsystem that is housed in the chassis in order to produce first interim parity data; and

write the first interim parity data to a second buffer subsystem that is housed in the chassis.

9. The IHS of claim 8 , wherein the RAID storage engine is configured, based on at least one command received from the RAID storage controller device, to:

update the second primary data with the first primary data.

10. The IHS of claim 8 , wherein the RAID storage engine is configured to:

transmit, in response to updating the second primary data with the first primary data, a completion communication to the RAID storage controller device.

11. The IHS of claim 8 , wherein the RAID storage engine is configured to:

provide, via a second DMA operation performed by a RAID parity data storage device, access to the interim parity data to the RAID parity data storage device.

12. The IHS of claim 8 , wherein the IHS is provided by an Non-Volatile Memory express (NVMe) storage device.

13. The IHS of claim 8 , wherein the chassis is coupled to the host system and to the RAID storage controller device that is provided in a look-aside RAID storage controller device configuration.

14. A method for providing data-transfer-based Redundant Array of Independent Disk (RAID) data updates, comprising:

performing, by a first RAID primary data storage device based on at least one command received from a RAID storage controller device, a first Direct Memory Access (DMA) operation that accesses first primary data that is stored on a host system;

writing, by the first RAID primary data storage device based on at least one command received from the RAID storage controller device, the first primary data to a first buffer subsystem that is included in the first RAID primary data storage device;

performing, by the first RAID primary data storage device based on at least one command received from the RAID storage controller device, a first XOR operation using the first primary data that is stored in the first buffer subsystem and second primary data that is stored in a first storage subsystem that is included in the first RAID primary data storage device in order to produce first interim parity data; and

writing, by the first RAID primary data storage device based on at least one command received from the RAID storage controller device, the first interim parity data to a second buffer subsystem that is included in the first RAID primary data storage device.

15. The method of claim 14 , further comprising:

updating, by the first RAID primary data storage device based on at least one command received from the RAID storage controller device, the second primary data with the first primary data.

16. The method of claim 15 , further comprising:

transmit, by the first RAID primary data storage device in response to updating the second primary data with the first primary data, a completion communication to the RAID storage controller device.

17. The method of claim 14 , further comprising:

providing, by the first RAID primary data storage device via a second DMA operation performed by a RAID parity data storage device, access to the interim parity data to the RAID parity data storage device.

18. The method of claim 14 , wherein the first RAID primary data storage device is provided by a Non-Volatile Memory express (NVMe) storage device.

19. The method of claim 14 , further comprising:

performing, by a RAID parity data storage device, respective DMA operations that access the first interim parity data in the second buffer subsystem in the first RAID primary data storage device and second interim parity data in at least one second RAID primary storage device;

writing, by the RAID parity data storage device, the first interim parity data and second interim parity data to a third buffer subsystem in the RAID parity data storage device;

performing, by the RAID parity data storage device, a second XOR operation using the first interim parity data and the second interim parity data that is stored in the third buffer subsystem in the RAID parity data storage device and first parity data that is stored in a second storage subsystem in the RAID parity data storage device in order to produce second parity data; and

updating, by the RAID parity data storage device, the first parity data with the second parity data.

20. The method of claim 19 , further comprising:

transmitting, by the RAID parity data storage device in response to updating the first parity data with the second parity data, a completion communication to the RAID storage controller device.

Assignments (13)
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 (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 (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 (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
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
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 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 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 Mar 11, 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 052081/0645 →
Continuity (2)
Continuation In Part 16586311 · Sep 27, 2019
Related Publication 20210096945A1 · Apr 1, 2021