IP Library Granted Patent US 11,163,501
Granted Patent B2
US 11,163,501 · App. 16/832,348 · Granted Nov 2, 2021

Raid storage multi-step command 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/0689G06F3/0619G06F3/0629G06F3/0658G06F3/0659G06F11/10
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,163,501
App. No.
16/832,348
Granted
Nov 2, 2021
Kind
B2
Abstract

A RAID storage multi-step command system includes a RAID storage system coupled to a RAID storage controller device. The RAID storage controller device identifies a RAID storage system configuration of the RAID storage system and, based on the RAID storage system configuration, generates a first multi-step command definition file for a first RAID storage device in the RAID storage system, and transmits it to the first RAID storage device. The first multi-step command definition file defines first steps that each include first operation(s). Subsequent to transmitting the first multi-step command definition file, the RAID storage controller device generates a first multi-step command that references the first multi-step command definition file and includes first parameter(s) for use in performing each first operation(s) included in the first steps defined by the first multi-step command definition file, and transmits the first multi-step command to the first RAID storage device.

Claims (85)

1. A Redundant Array of Independent Disks (RAID) storage multi-step command system, comprising:

a Redundant Array of Independent Disk (RAID) storage system that includes a plurality of RAID storage devices; and

a Redundant Array of Independent Disk (RAID) storage controller device that is coupled to the RAID storage system and that is configured to:

identify a RAID storage system configuration of the RAID storage system;

generate, based on the RAID storage system configuration, a first multi-step command definition file for a first RAID storage device that is included in the plurality of RAID storage devices, wherein the first multi-step command definition file defines a plurality of first steps that each include at least one first operation;

transmit the first multi-step command definition file to the first RAID storage device;

generate, subsequent to transmitting the first multi-step command definition file, a first multi-step command that references the first multi-step command definition file and includes at least one first parameter for use in performing one or more first operations included in the plurality of first steps defined by the first multi-step command definition file; and

transmit the first multi-step command to the first RAID storage device.

2. The system of claim 1 , wherein the generating of the first multi-step command definition file for the first RAID storage device based on the RAID storage system configuration includes at least one of:

generating the first multi-step command definition file for the first RAID storage device based on a RAID storage system layout;

generating the first multi-step command definition file for the first RAID storage device based on at least one capability of the RAID storage controller device; and

generating the first multi-step command definition file for the first RAID storage device based on at least one RAID volume lifecycle event.

3. The system of claim 1 , wherein the RAID storage controller device is configured to:

determine that the RAID storage system configuration of the RAID storage system has changed;

generate, based on the determination of the change in the RAID storage system configuration, a second multi-step command definition file for the first RAID storage device, wherein the second multi-step command definition file defines a subset of the plurality of first steps and at least one second step that includes at least one second operation;

transmit the second multi-step command definition file to the first RAID storage device;

generate, subsequent to transmitting the second multi-step command definition file, a second multi-step command that references the second multi-step command definition file and includes the at least one first parameter for use in performing one or more first operations included in the subset of the plurality of first steps defined by the second multi-step command definition file, and at least one second parameter for use in performing each at least one second operation included in the at least one second step defined by the second multi-step command definition file; and

transmit the second multi-step command to the first RAID storage device.

4. The system of claim 1 , wherein the plurality of first steps that each include at least one first operation include:

performing a Direct Memory Access (DMA) read operation to read data from a memory subsystem in a host system;

storing the data;

performing a DMA write operation to write data to a second RAID storage device that is included in the RAID storage system; and

transmitting a completion communication to the RAID storage controller device.

5. The system of claim 1 , wherein the RAID storage controller device is configured to:

generate, based on the RAID storage system configuration, a second multi-step command definition file for a second RAID storage device that is included in the plurality of RAID storage devices, wherein the second multi-step command definition file is different than the first multi-step command definition file and defines a plurality of second steps that each include at least one second operation;

transmit the second multi-step command definition file to the second RAID storage device;

generate, subsequent to transmitting the second multi-step command definition file, a second multi-step command that references the second multi-step command definition file and includes at least one second parameter for use in performing each at least one second operation included in the plurality of second steps defined by the second multi-step command definition file; and

transmit the second multi-step command to the second RAID storage device.

6. The system of claim 1 , wherein the transmitting the first multi-step command to the first RAID storage device includes providing a first multi-step command submission having an opcode that references the first multi-step command definition file.

7. The system of claim 1 , further comprising:

the first RAID storage device that is included in the plurality of RAID storage devices and that is coupled to the RAID storage controller device, wherein the first RAID storage device is configured to:

receive, from the RAID storage controller device, the first multi-step command definition file;

store the first multi-step command definition file in a database;

receive, from the RAID storage controller device subsequent to storing the first multi-step command definition file in the database, the first multi-step command;

identify, in the database and based on the first multi-step command, the first multi-step command definition file; and

perform one or more first operations included in each of the plurality of first steps in the first multi-step command.

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 Redundant Array of Independent Disks (RAID) storage controller engine that is configured to:

identify a RAID storage system configuration of a RAID storage system that includes a plurality of RAID storage devices;

generate, based on the RAID storage system configuration, a first multi-step command definition file for a first RAID storage device that is included in the plurality of RAID storage devices, wherein the first multi-step command definition file defines a plurality of first steps that each include at least one first operation;

transmit the first multi-step command definition file to the first RAID storage device;

generate, subsequent to transmitting the first multi-step command definition file, a first multi-step command that references the first multi-step command definition file and includes at least one first parameter for use in performing one or more first operations included in the plurality of first steps defined by the first multi-step command definition file; and

transmit the first multi-step command to the first RAID storage device.

9. The IHS of claim 8 , wherein the generating the first multi-step command definition file for the first RAID storage device based on the RAID storage system configuration includes at least one of:

generating the first multi-step command definition file for the first RAID storage device based on a RAID storage system layout;

generating the first multi-step command definition file for the first RAID storage device based on at least one capability of the RAID storage controller device; and

generating the first multi-step command definition file for the first RAID storage device based on at least one RAID volume lifecycle event.

10. The IHS of claim 8 , wherein the RAID storage controller engine is configured to: determine that the RAID storage system configuration of the RAID storage system has changed; generate, based on the determination of the change in the RAID storage system configuration, a second multi-step command definition file for the first RAID storage device, wherein the second multi-step command definition file defines a subset of the plurality of first steps and at least one second step that includes at least one second operation; transmit the second multi-step command definition file to the first RAID storage device; generate, subsequent to transmitting the second multi-step command definition file, a second multi-step command that references the second multi-step command definition file and includes the at least one first parameter for use in performing one or more first operations included in the subset of the plurality of first steps defined by the second multi-step command definition file, and at least one second parameter for use in performing each at least one second operation included in the at least one second step defined by the second multi-step command definition file; and transmit the second multi-step command to the first RAID storage device.

11. The IHS of claim 8 , wherein the plurality of first steps that each include at least one first operation include: performing a Direct Memory Access (DMA) read operation to read data from a memory subsystem in a host system; storing the data; performing a DMA write operation to write data to a second RAID storage device that is included in the RAID storage system; and transmitting a completion communication to the RAID storage controller device.

12. The IHS of claim 8 , wherein the RAID storage controller engine is configured to: generate, based on the RAID storage system configuration, a second multi-step command definition file for a second RAID storage device that is included in the plurality of RAID storage devices, wherein the second multi-step command definition file is different than the first multi-step command definition file and defines a plurality of second steps that each include at least one second operation; transmit the second multi-step command definition file to the second RAID storage device; generate, subsequent to transmitting the second multi-step command definition file, a second multi-step command that references the second multi-step command definition file and includes at least one second parameter for use in performing each at least one second operation included in the plurality of second steps defined by the second multi-step command definition file; and transmit the second multi-step command to the second RAID storage device.

13. The IHS of claim 8 , wherein the transmitting the first multi-step command to the first RAID storage device includes providing a first multi-step command submission having an opcode that references the first multi-step command definition file.

14. A method for providing multi-step command for RAID storage devices, comprising:

identifying, by a RAID storage controller device, a RAID storage system configuration of a RAID storage system that includes a plurality of RAID storage devices;

generating, by the RAID storage controller device based on the RAID storage system configuration, a first multi-step command definition file for a first RAID storage device that is included in the plurality of RAID storage devices, wherein the first multi-step command definition file defines a plurality of first steps that each include at least one first operation;

transmitting, by the RAID storage controller device, the first multi-step command definition file to the first RAID storage device;

generating, by the RAID storage controller device subsequent to transmitting the first multi-step command definition file, a first multi-step command that references the first multi-step command definition file and includes at least one first parameter for use in performing one or more first operations included in the plurality of first steps defined by the first multi-step command definition file; and

transmitting, by the RAID storage controller device, the first multi-step command to the first RAID storage device.

15. The method of claim 14 , wherein the generating the first multi-step command definition file for the first RAID storage device based on the RAID storage system configuration includes at least one of:

generating the first multi-step command definition file for the first RAID storage device based on a RAID storage system layout;

generating the first multi-step command definition file for the first RAID storage device based on at least one capability of the RAID storage controller device; and

generating the first multi-step command definition file for the first RAID storage device based on at least one RAID volume lifecycle event.

16. The method of claim 15 , further comprising:

determining, by the RAID storage controller device, that the RAID storage system configuration of the RAID storage system has changed;

generating, by the RAID storage controller device based on the determination of the change in the RAID storage system configuration, a second multi-step command definition file for the first RAID storage device, wherein the second multi-step command definition file defines a subset of the plurality of first steps and at least one second step that includes at least one second operation;

transmitting, by the RAID storage controller device, the second multi-step command definition file to the first RAID storage device;

generating, by the RAID storage controller device subsequent to transmitting the second multi-step command definition file, a second multi-step command that references the second multi-step command definition file and includes the at least one first parameter for use in performing one or more first operations included in the subset of the plurality of first steps defined by the second multi-step command definition file, and at least one second parameter for use in performing each at least one second operation included in the at least one second step defined by the second multi-step command definition file; and

transmitting, by the RAID storage controller device, the second multi-step command to the first RAID storage device.

17. The method of claim 14 , wherein the plurality of first steps that each include at least one first operation include:

performing a Direct Memory Access (DMA) read operation to read data from a memory subsystem in a host system;

storing the data;

performing a DMA write operation to write data to a second RAID storage device that is included in the RAID storage system; and

transmitting a completion communication to the RAID storage controller device.

18. The method of claim 14 , further comprising:

generating, by the RAID storage controller device based on the RAID storage system configuration, a second multi-step command definition file for a second RAID storage device that is included in the plurality of RAID storage devices, wherein the second multi-step command definition file is different than the first multi-step command definition file and defines a plurality of second steps that each include at least one second operation;

transmitting, by the RAID storage controller device, the second multi-step command definition file to the second RAID storage device;

generating, by the RAID storage controller device subsequent to transmitting the second multi-step command definition file, a second multi-step command that references the second multi-step command definition file and includes at least one second parameter for use in performing each at least one second operation included in the plurality of second steps defined by the second multi-step command definition file; and

transmitting, by the RAID storage controller device, the second multi-step command to the second RAID storage device.

19. The method of claim 14 , wherein the transmitting the first multi-step command to the first RAID storage device includes providing a first multi-step command submission having an opcode that references the first multi-step command definition file.

20. The method of claim 14 , further comprising:

receiving, by the first RAID storage device from the RAID storage controller device, the first multi-step command definition file;

storing, by the first RAID storage device, the first multi-step command definition file in a database;

receiving, by the first RAID storage device from the RAID storage controller device subsequent to storing the first multi-step command definition file in the database, the first multi-step command;

identifying, by the first RAID storage device in the database and based on the first multi-step command, the first multi-step command definition file; and

performing, by the first RAID storage device, one or more first operations included in each of the plurality of first steps in the first multi-step command.

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 Mar 27, 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 052245/0034 →