IP Library Granted Patent US 10,725,709
Granted Patent B2
US 10,725,709 · App. 16/149,091 · Granted Jul 28, 2020

Systems and methods for offloading processing from a host to storage processing units using an interconnect network

Inventors: Arup De (Milpitas, CA); Kiran Kumar Gunnam (Milpitas, CA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F3/067G06F3/0613G06F3/0647G06F9/5033G06F2209/509
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,725,709
App. No.
16/149,091
Granted
Jul 28, 2020
Kind
B2
Abstract

Systems and methods for offloading processing from a host to one or more storage processing units using an interconnect network are provided. One such method includes receiving a processing task from the host at a first storage processing unit (SPU) of a plurality of SPUs via a host interface, performing, at the first SPU, the processing task, and transferring data from the first SPU to a second SPU via an interconnection network, where each of the plurality of SPUs includes a non-volatile memory (NVM) and a processing circuitry configured to perform the processing task.

Claims (46)

1. A method for offloading processing from a host to one or more storage processing units, the method comprising:

receiving one or more processing tasks from the host at a first storage processing unit (SPU) of a plurality of SPUs via a host interface;

performing, at the first SPU, the one or more processing tasks;

transferring data from the first SPU to two or more of the plurality of SPUs via an interconnection network, wherein the interconnection network is configured to couple at least the first SPU to at least the two or more of the plurality of SPUs based on one or more commands from the host, and

wherein each of the plurality of SPUs comprises a non-volatile memory (NVM) and a processing circuitry configured to perform the one or more processing tasks.

2. The method of claim 1 , wherein the performing, at the first SPU, the one or more processing tasks comprises:

generating data as a result of the performing the one or more processing tasks; and

the transferring the data from the first SPU to the two or more of the plurality of SPUs via the interconnection network.

3. The method of claim 1 , further comprising communicating with the two or more of the plurality of SPUs using the interconnection network instead of the host interface.

4. The method of claim 1 , wherein the host interface and the interconnection network are distinct networks.

5. The method of claim 1 , wherein the interconnection network comprises at least one of an Omega network, a Butterfly network, a crossbar switch network, or a Benes network.

6. The method of claim 1 , wherein the interconnection network enables any one of the coupled first SPU and the two or more of the plurality of SPUs to communicate with any other one of the coupled first SPU and the two or more of the plurality of SPUs based on the one or more commands from the host.

7. The method of claim 1 , further comprising receiving data, at the first SPU, from the two or more of the plurality of SPUs via the interconnection network.

8. A method for offloading processing from a host to one or more storage processing units, the method comprising:

receiving a processing task from the host at a first storage processing unit (SPU) of a plurality of SPUs via a host interface;

performing, at the first SPU, the processing task;

receiving data, at the first SPU, from two or more SPUs of the plurality of SPUs via an interconnection network, wherein the interconnection network is configured to couple at least the two or more SPUs to at least the first SPU based on one or more commands from the host, and

wherein each of the plurality of SPUs comprises a non-volatile memory (NVM) and a processing circuitry configured to perform the processing task.

9. The method of claim 8 , wherein the performing, at the first SPU, the processing task comprises:

generating data at the first SPU as a result of the performing the processing task;

the receiving, at the first SPU, the data from the two or more SPUs via the interconnection network; and

storing, at the first SPU, the data generated at the first SPU and the data received from the two or more SPUs.

10. The method of claim 8 , further comprising communicating with the two or more SPUs using the interconnection network instead of the host interface.

11. The method of claim 8 , wherein the host interface and the interconnection network are distinct networks.

12. The method of claim 8 , wherein the interconnection network comprises at least one of an Omega network, a Butterfly network, a crossbar switch network, or a Benes network.

13. The method of claim 8 , wherein the interconnection network enables any one of the first and the two or more of the plurality of SPUs to communicate with any other one of the first and the two or more of the plurality of SPUs.

14. The method of claim 8 , further comprising transferring data from the first SPU to the two or more SPUs via the interconnection network.

15. An apparatus comprising:

a non-volatile memory (NVM); and

a processing circuitry coupled to the NVM and configured to:

receive, at the apparatus, a processing task from a host via a host interface, wherein the apparatus comprises a first storage processing unit (SPU) of a plurality of SPUs;

perform the processing task;

generate data as a result of the performing the processing task;

transfer the data to a second SPU of the plurality of SPUs via an interconnection network, the second SPU comprising an NVM and a processing circuitry configured to perform a processing task, wherein the interconnection network is configured to couple at least the first SPU to at least the second SPU based on a command from the host;

generate additional data as a result of performing another processing task; and

transfer the additional data to one or more other SPUs of the plurality of SPUs via the host interface, wherein the processing circuitry is configured to communicate with at least the second SPU via the interconnection network and communicate with the one or more other SPUs via the host interface.

16. The apparatus of claim 15 , wherein the processing circuitry is further configured to communicate with the second SPU using the interconnection network instead of the host interface and configured to communicate with the one or more other SPUs using the host interface, wherein the host interface and the interconnection network are distinct networks.

17. The apparatus of claim 16 , wherein the interconnection network comprises at least one of an Omega network, a Butterfly network, a crossbar switch network, or a Benes network.

18. A system comprising:

the apparatus of claim 15 ; and

the host, wherein the host is configured to command the interconnection network to couple three or more of the plurality of SPUs, wherein the interconnection network enables any one of the coupled three or more of the plurality of SPUs to communicate with any other one of the coupled three or more of the plurality of SPUs.

19. The apparatus of claim 15 , wherein the processing circuitry is further configured to receive data, at the first SPU, from the second SPU via the interconnection network and receive data, at the first SPU, from the one or more other SPUs via the host interface.

20. The apparatus of claim 15 , further comprising:

first communication circuitry for communicating on the interconnection network;

second communication circuitry for communicating on the host interface network; and

wherein the processing circuitry is further configured to prioritize communications via the interconnection network.

Assignments (11)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2018
From: DE, ARUP; GUNNAM, KIRAN KUMAR
To: HGST NETHERLANDS B.V.
Reel/Frame 047026/0342 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2018
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 047640/0584 →