IP Library Granted Patent US 11,093,175
Granted Patent B1
US 11,093,175 · App. 16/838,224 · Granted Aug 17, 2021

Raid data storage device direct communication 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/0656G06F3/0662G06F3/0689
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,093,175
App. No.
16/838,224
Granted
Aug 17, 2021
Kind
B1
Abstract

A RAID data storage device direct communication system includes a first RAID data storage device that includes a first RAID data storage device controller having a first RAID data storage device function providing a second RAID data storage device submission queue in a first RAID data storage device memory subsystem, and a second RAID data storage device that includes a second RAID data storage device controller having a second RAID data storage device function providing a second RAID data storage device completion queue in a second RAID data storage device memory subsystem. The second RAID data storage device generates a command, transmits the command directly to first RAID data storage device and in the second RAID data storage device submission queue, and receives a completion message that is associated with the command directly from the first RAID data storage device and in the second RAID data storage device completion queue.

Claims (44)

1. A Redundant Array of Independent Disks (RAID) data storage device direct communication system, comprising:

a first Redundant Array of Independent Disks (RAID) data storage device that includes a first RAID data storage device controller having a first RAID data storage device function providing a second RAID data storage device submission queue in a first RAID data storage device memory subsystem; and

a second RAID data storage device that includes a second RAID data storage device controller having a second RAID data storage device function providing a second RAID data storage device completion queue in a second RAID data storage device memory subsystem, wherein the first RAID data storage device and the second RAID data storage device are coupled to a RAID storage controller device that is configured to provide commands to the first RAID data storage device and the second RAID data storage device, and wherein the second RAID data storage device is configured to:

generate a command independent of the RAID storage controller device;

transmit the command directly to the first RAID data storage device and in the second RAID data storage device submission queue in the first RAID data storage device memory subsystem; and

receive a completion message that is associated with the command directly from the first RAID data storage device and in the second RAID data storage device completion queue in the second RAID data storage device memory subsystem.

2. The system of claim 1 , wherein the second RAID data storage device is configured to:

receive an interrupt directly from the first RAID data storage device at the second RAID data storage device function.

3. The system of claim 1 , wherein the first RAID data storage device memory subsystem is a first RAID data storage device Controller Memory Buffer (CMB) subsystem, and wherein the second RAID data storage device memory subsystem is a second RAID data storage device CMB subsystem.

4. The system of claim 1 , wherein the first RAID data storage device function is a first RAID data storage device Single Root Input/Output Virtualization (SR-IOV) function, and wherein the second RAID data storage device function is a second RAID data storage device SR-IOV function.

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

communicate with a RAID storage controller device to create the second RAID data storage device submission queue via the first RAID data storage device function, and wherein the second RAID data storage device is configured to:

communicate with the RAID storage controller device to create the second RAID data storage device completion queue via the second RAID data storage device function.

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

communicate with the RAID storage controller device to identify at least one address in the second RAID data storage device memory subsystem that provides the second RAID data storage device completion queue, and wherein the second RAID data storage device is configured to:

communicate with a RAID storage controller device to identify at least one address in the first RAID data storage device memory subsystem that provides the second RAID data storage device submission queue.

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

generate a command independent of a RAID storage controller device that is coupled to the processing system;

transmit the command directly to a first RAID data storage device and in a second RAID data storage device submission queue that is included in a first RAID data storage device memory subsystem and provided by a first RAID data storage device function provided in a first RAID data storage device controller in the first RAID data storage device, wherein the first RAID data storage device is coupled to the RAID storage controller device that is configured to provide commands to the first RAID data storage device; and

receive a completion message that is associated with the command directly from the first RAID data storage device and in a second RAID data storage device completion queue that is included in a second RAID data storage device memory subsystem and provided by a second RAID data storage device function provided in a second RAID data storage device controller in the second RAID data storage device.

8. The IHS of claim 7 , wherein the second RAID data storage device engine is configured to:

receive an interrupt directly from the first RAID data storage device at the second RAID data storage device function.

9. The IHS of claim 8 , wherein the receiving the interrupt at the second RAID data storage device function includes determining that an address identified in a Message Signaled Interrupt extended (MSI-X) vector table has been written to.

10. The IHS of claim 7 , wherein the first RAID data storage device memory subsystem is a first RAID data storage device Controller Memory Buffer (CMB) subsystem, and wherein the second RAID data storage device memory subsystem is a second RAID data storage device CMB subsystem.

11. The IHS of claim 7 , wherein the first RAID data storage device function is a first RAID data storage device Single Root Input/Output Virtualization (SR-IOV) function, and wherein the second RAID data storage device function is a second RAID data storage device SR-IOV function.

12. The IHS of claim 7 , wherein the second RAID data storage device engine is configured to:

communicate with a RAID storage controller device to create the second RAID data storage device completion queue via the second RAID data storage device function.

13. The IHS of claim 7 , wherein the second RAID data storage device engine is configured to:

communicate with a RAID storage controller device to identify at least one address in the first RAID data storage device memory subsystem that provides the second RAID data storage device submission queue.

14. A method for providing direct communication between Redundant Array of Independent Disks (RAID) data storage devices, comprising:

generating, by a first Redundant Array of Independent Disks (RAID) data storage device and independent of a RAID storage controller device that is coupled to the first RAID data storage device, a command;

transmitting, by the first RAID data storage device, the command directly to a second RAID data storage device and in a first RAID data storage device submission queue that is included in a second RAID data storage device memory subsystem and provided by a second RAID data storage device function provided in a second RAID data storage device controller in the second RAID data storage device, wherein the second RAID data storage device is coupled to the RAID storage controller device that is configured to provide commands to the first RAID data storage device and the second RAID data storage device; and

receiving, by the first RAID data storage device, a completion message that is associated with the command directly from the second RAID data storage device and in a first RAID data storage device completion queue that is included in a first RAID data storage device memory subsystem and provided by a first RAID data storage device function provided in a first RAID data storage device controller in the first RAID data storage device.

15. The method of claim 14 , further comprising:

receiving, by the first RAID data storage device, an interrupt directly from the second RAID data storage device at the first RAID data storage device function.

16. The method of claim 15 , wherein the receiving the interrupt at the first RAID data storage device function includes determining that an address identified in a Message Signaled Interrupt extended (MSI-X) vector table has been written to.

17. The method of claim 14 , wherein the first RAID data storage device memory subsystem is a first RAID data storage device Controller Memory Buffer (CMB) subsystem, and wherein the second RAID data storage device memory subsystem is a second RAID data storage device CMB subsystem.

18. The method of claim 14 , wherein the first RAID data storage device function is a first RAID data storage device Single Root Input/Output Virtualization (SR-IOV) function, and wherein the second RAID data storage device function is a second RAID data storage device SR-IOV function.

19. The method of claim 14 , further comprising:

communicating, by the first RAID data storage device, with a RAID storage controller device to create the first RAID data storage device completion queue via the first RAID data storage device function.

20. The method of claim 14 , further comprising:

communicating, by the first RAID data storage device, with a RAID storage controller device to identify at least one address in the second RAID data storage device memory subsystem that provides the first RAID data storage device submission queue.

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 (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 (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 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 052851/0917 →
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 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 052294/0788 →
Cited By (1)
US 12,554,525