IP Library Granted Patent US 9,940,241
Granted Patent B1
US 9,940,241 · App. 14/552,400 · Granted Apr 10, 2018

Network system with cache offload service for flash storage

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 9,940,241
App. No.
14/552,400
Granted
Apr 10, 2018
Kind
B1
Abstract

A system is provided comprising: a packet routing network; Flash storage circuitry; a management processor coupled as an endpoint to the network; an input/output (I/O) circuit coupled as an endpoint to the network; a packet processing circuit coupled as an endpoint to the network; a cache storage circuit coupled to send and received packets to and from the packet processing circuit; and a RAID management circuit coupled as an endpoint to the network and configured to send and receive packets to and from the Flash storage circuitry; wherein the management processor is configured to determine routing of packets among the I/O circuit, packet processing circuit and RAID management circuit; and wherein the packet processing circuit is configured to control cache read requests, cache write requests and cache data eviction.

Claims (37)

1. A system comprising:

a packet routing network;

Flash storage circuitry;

a processor configured to act as a root complex for the network;

an input/output (I/O) circuit coupled as an endpoint to the network and configured to send and receive packets to and from the processor over the network;

a packet processing circuit;

a cache storage circuit; and

a RAID management circuit;

the packet processing circuit coupled as an endpoint to the network;

wherein the cache storage circuit is coupled to send and received packets to and from the packet processing circuit; and

wherein the RAID management circuit is coupled as an endpoint to the network and is configured to send and receive packets to and from the processor over the network and is configured to send and receive packets to and from the Flash storage circuitry and is configured to receive packets from the packet processing circuit;

wherein the processor is configured to determine routing of packets among the I/O circuit, packet processing circuit and RAID management circuit; and

wherein the packet processing circuit is configured to,

receive a packet containing a read request from the processor over the packet routing network and determine whether the cache storage circuit contains data requested in the received read request, and in response to determining that the cache storage circuit contains the requested data, retrieve the requested data from the cache storage circuit and send a packet containing the requested data to the processor over the packet routing network, and in response to determining that the cache storage circuit does not contain the requested data, send a packet to the processor over the packet processing network to indicate a cache miss, and

receive a packet containing a write request from the processor over the packet routing network and determine whether the cache storage circuit contains an older version of data in the received write request, and in response to determining that the cache storage unit contains an older version of the data in the received write request, overwrite the older version of the data in the received write request that is contained in the cache storage unit with the data in the received write request and send a packet containing the write request over the packet routing network to the RAID management circuit, and in response to determining that the cache storage unit does not contain an older version of the data in the received write request, write the data in the received write request to the cache storage unit and send a packet containing the write request over the packet routing network to the RAID management circuit.

2. The system of claim 1 further including:

a switch fabric coupled between the RAID management circuit and the Flash storage circuitry.

3. The system of claim 1 further including:

a local memory device associated with the processor that includes,

first buffer data structure to manage flow of packets between the processor and the I/O circuit,

second buffer circuitry to manage flow of packets between the processor and the packet processing circuit, and

third buffer circuitry to manage flow of packets between the processor and the RAID management circuit.

4. The system of claim 1 ,

wherein the packet processing circuit includes a reconfigurable circuit.

5. The system of claim 1 ,

wherein the packet processing circuit includes a field programmable gate array device (FPGA).

6. The system of claim 1 further including:

Flash backup circuitry coupled to the cache storage circuit.

7. The system of claim 1 ,

wherein the packet processing circuit is configured to evict data from the cache storage unit based upon at least an eviction rule.

8. The system of claim 1 ,

wherein the packet processing circuit is configured to store cache tags that indicate flash memory address locations that correspond to data stored in the cache storage unit; and

wherein the packet processing circuit is configured to determine whether the cache storage circuit contains data requested in a received read request based upon search of the stored cache tags to determine whether a stored cache tag contains a flash memory address location that matches a flash memory address location indicated in the received read request.

9. The system of claim 1 ,

wherein the processor is configured to receive a packet indicating a cache miss from the packet processing circuit over the packet processing network and in response to the cache miss, to send a packet containing a write request to the RAID management circuit.

10. The system of claim 1 further including:

delaying the sending of a packet containing the write request over the packet routing network to the RAID management circuit in response to determining that the cache storage unit does not contain an older version of the data in the received write request.

Assignments (6)
SECURITY INTEREST Recorded Oct 28, 2025
From: SANMINA CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 073363/0212 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2019
From: U.S. BANK NATIONAL ASSOCIATION, SOLELY AS NOTES COLLATERAL AGENT
To: SANMINA CORPORATION; HADCO CORPORATION; HADCO SANTA CLARA; SCI TECHNOLOGY; SENSORWISE, INC.
Reel/Frame 049378/0927 →
SECURITY INTEREST Recorded Aug 3, 2018
From: SANMINA CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION, NOT IN ITS INDIVIDUAL CAPACITY BUT SOLELY AS NOTES COLLATERAL AGENT
Reel/Frame 046797/0063 →
CHANGE OF NAME Recorded Jan 6, 2017
From: SARATOGA SPEED, INC.
To: SARATOGA SPEED, LLC
Reel/Frame 040869/0179 →
MERGER Recorded Jan 6, 2017
From: SARATOGA SPEED, LLC
To: SANMINA CORPORATION
Reel/Frame 040869/0329 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2017
From: MEHROTRA, SHARAD; LIVESEY, JON; GOURLEY, THOMAS; MORSHED, ABBAS
To: SARATOGA SPEED, INC.
Reel/Frame 040869/0958 →