IP Library Granted Patent US 10,795,612
Granted Patent B2
US 10,795,612 · App. 16/050,868 · Granted Oct 6, 2020

Offload processing using storage device slots

Inventors: Jon I Krasner (Coventry, RI); Jason J. Duquette (Milford, MA); Jonathan P. Sprague (West Boylston, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/0607G06F3/0683G06F9/4856G06F3/067
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 10,795,612
App. No.
16/050,868
Granted
Oct 6, 2020
Kind
B2
Abstract

Offload processing may be provided that is not dedicated to a primary processor or a subset of primary processors. A system may have one or more offload processors, for example, GPUs, coupled to data storage slots of the system, which can be shared by multiple primary processors of the system. The offload processor(s) may be housed within a device configured to be coupled to a storage slot, for example, as if the device were a storage drive. The one or more offload processors may be housed within a device that includes an interface in conformance with a version of an NVMe specification and may have a form factor in accordance with the U.2 specification. Offload processing devices may be communicatively coupled to one or more primary processors by switching fabric disposed between the one or more primary processors and the storage slot to which the offload processing device is connected.

Claims (40)

1. A system comprising:

one or more primary processors;

one or more storage slots arranged to receive storage drives;

a switch fabric communicatively coupling the one or more storage slots to the one or more primary processors to perform I/O operations between the one or more primary processors and one or more storage drives installed in the one or more storage slots;

a processing device including one or more offload processors, the processing device disposed within the one or more storage slots, and the one or more offload processors communicatively coupled to the one or more primary processors; and

a memory comprising code stored thereon that, when executed, performs a method comprising:

a first primary processor of the one or more primary processors sending first data and one or more first instructions over the switch fabric to a first offload processor of the one or more offload processors,

the first offload processor executing the one or more first instructions on the first data,

a second primary processor of the one or more primary processors sending second data and one or more second instructions over the switch fabric to a first offload processor of the one or more offload processors, and

the first offload processor executing the one or more second instructions on the second data,

wherein at least one of the one or more offload processors includes a graphical processing unit.

2. The system of claim 1 , wherein the one or more primary processors includes a plurality of primary processors communicatively coupled to the one or more offload processors.

3. The system of claim 1 , wherein the processing device has a form factor in conformance with a U.2 specification.

4. The system of claim 1 , wherein the processing device has an interface that interfaces the one or more offload processors with the switch fabric in accordance with an NVMe specification.

5. The system of claim 1 , wherein the one or more first instructions define an application, and wherein the first offload processor executes the application to produce results without assistance from the first processor and communicates the results to the first processor.

6. The system of claim 1 , wherein during execution of the one or more first instructions, the first primary processor fails, and

wherein the first offload processor continues executing the one or more first instructions during the failure of the first primary processor.

7. The system of claim 1 , wherein the system is a data storage system including one or more directors that include the one or more primary processors and one or more back-end adapters communicatively coupling the one or more directors to the one or more offload processors across the switch fabric.

8. For a system comprising a plurality of primary processors, an offload processor physically coupled to the system by a non-volatile storage slot of the system, and a switch fabric communicatively coupling the non-volatile storage slot to each of the plurality of primary processors, a method comprising:

a first processor of the plurality of primary processors sending first data and one or more first instructions over the switch fabric to the offload processor;

the offload processor executing the one or more first instructions on the first data;

a second processor of the plurality of primary processors sending second data and one or more second instructions over the switch fabric to the offload processor; and

the offload processor executing the one or more second instructions on the second data,

wherein the offload processor includes a graphical processing unit.

9. The method of claim 8 , wherein the one or more first instructions define an application, and wherein the first offload processor executes the application to produce results without assistance from the first primary processor and communicates the results to the first primary processor.

10. The method of claim 8 , wherein during execution of the one or more first instructions, the first processor fails, and

wherein the offload processor continues executing the one or more first instructions during the failure of the first processor.

11. A device for performing offload processing comprising:

one or more graphical processing units;

a connection interface that couples the device to a switching fabric;

a form factor that couples the device to a storage slot of another device; and

an offload processor that:

receives first data and one or more first instructions over the switch fabric from a first primary processor of the one or more primary processors,

executes the one or more first instructions on the first data,

receives second data and one or more second instructions over the switch fabric from a second primary processor of the one or more primary processors, and

executing the one or more second instructions on the second data.

12. The device of claim 11 , wherein the connection interface couples the device to a switching device as if the device were a storage drive.

13. The device of claim 12 , wherein the connection interface couples the device to a switching fabric in conformance with an NVMe specification.

14. The device of claim 11 , wherein the form factor couples the device to a storage slot of another device as if the device were a storage drive.

15. The device of claim 14 , wherein the form factor couples the device to a storage slot of another device in conformance with a U.2 specification.

Assignments (8)
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 (047648/0422) Recorded May 20, 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 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 058298/0510 →
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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
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 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2018
From: KRASNER, JON I.; DUQUETTE, JASON J.; SPRAGUE, JONATHAN P.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046515/0995 →