IP Library Granted Patent US 9,870,154
Granted Patent B2
US 9,870,154 · App. 15/000,949 · Granted Jan 16, 2018

Network storage system using flash storage

Inventors: Sharad Mehrotra (Saratoga, CA); Jack Mills (San Carlos, CA); Chris Youngworth (San Jose, CA); Jon Livesey (Sunnyvale, CA); Julian Ratcliffe (Portland, OR); Tim Lieber (Colorado Springs, CO); Paul Sweere (San Jose, CA)
Assignee: Sanmina Corporation
G06F3/061G06F3/0604G06F3/067G06F3/0635G06F3/0638G06F3/0647G06F3/0688G06F12/0246G06F12/0802G06F12/0868G06F2212/214G06F2212/7203G06F2212/7208
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,870,154
App. No.
15/000,949
Granted
Jan 16, 2018
Kind
B2
Abstract

A system can comprise an I/O circuitry, a processor, reconfigurable circuitry, an array of flash storage devices, and a serial interconnect network that is coupled to transfer data between the I/O circuitry, the processor, the reconfigurable circuitry and the flash storage devices. The processor can be configured to designate an interconnect address space for use in communication over the interconnect network among the I/O circuitry, the processor, the reconfigurable circuitry and the flash storage devices. The reconfigurable circuitry can be configured to translate data addresses during transfers of data between the I/O circuitry and the array of flash storage devices. A method to access an array of flash storage devices that are coupled to I/O circuitry over a serial interconnect network can comprise using reconfigurable circuitry to capture data during transfers of data over the serial interconnect network.

Claims (56)

1. A system comprising:

first I/O circuitry;

a first server configured to provide a root complex;

first reconfigurable circuitry;

an array of flash storage devices;

first cache storage; and

a first hierarchical serial interconnect network that includes the root complex, the first reconfigurable circuitry, a switch circuitry, and a plurality of serial data communication paths;

wherein the first hierarchical serial interconnect network includes a network interface tier that includes first switch circuitry and a serial communication path that interconnects the first switch circuitry and the first I/O circuitry, which is coupled as an endpoint to the network;

wherein the first hierarchical serial interconnect network includes a storage tier that includes second switch circuitry and a serial communication path that interconnects the second switch circuitry and a flash storage device of the array of the flash storage devices, which is coupled as an endpoint to the network;

wherein the first hierarchical serial interconnect network includes a serial communication path that interconnects the first switch circuitry and the first server;

wherein the first hierarchical serial interconnect network includes a serial communication path that interconnects the first reconfigurable circuitry and the first switch circuitry; and

wherein the first hierarchical serial interconnect network includes a serial communication path that interconnects the first reconfigurable circuitry and the second switch circuitry;

wherein the first reconfigurable circuitry is coupled to transfer data between the first cache storage and the first switch circuitry and between the first cache storage and the second switch circuitry;

wherein the first server is configured to designate a first interconnect address space for use during transfer of data over the first hierarchical serial interconnect network between the endpoints, including the I/O circuitry and the flash storage devices; and

wherein the first reconfigurable circuitry is configured to capture data during a transfer of data between the first I/O circuitry and the array of flash storage devices and to save the captured data in the first cache storage.

2. The system of claim 1 ,

wherein the transfer of data includes a read data transfer; and

wherein the first reconfigurable circuitry is configured to determine whether data requested during the read data transfer is saved in the first cache storage.

3. The system of claim 1 ,

wherein the transfer of data includes a write data transfer; and

wherein the first reconfigurable circuitry is configured to save data written during the write data transfer to the first cache storage.

4. The system of claim 1 ,

wherein the first reconfigurable circuitry includes a cache tags table that indicates data saved in the first cache storage.

5. The system of claim 1 ,

wherein the first reconfigurable circuitry includes a cache tags table that indicates data saved in the first cache storage;

wherein the transfer of data includes a read data transfer; and

wherein the first reconfigurable circuitry is configured to access the cache tags table to determine whether data requested during the read data transfer is saved in the first cache storage by checking the first cache storage.

6. The system of claim 1 ,

wherein the first reconfigurable circuitry includes a cache tags table that indicates data saved in the first cache storage;

wherein the transfer of data includes a write data transfer; and

wherein the first reconfigurable circuitry is configured to save data written during the write data transfer to the first cache storage and to indicate the saved data in the cache tags table.

7. The system of claim 1 ,

wherein the first reconfigurable circuitry includes a cache tags table that indicates data saved in the first cache storage;

wherein the transfer of data includes a write data transfer;

wherein the first reconfigurable circuitry is configured to save data written during the write data transfer to the first cache storage and to indicate the saved data in the cache tags table;

wherein the transfer of data includes a read data transfer; and

wherein the first reconfigurable circuitry is configured to access the cache tags table to determine whether data requested during the read data transfer is saved in the first cache storage by checking the first cache storage.

8. The system of claim 1 ,

wherein the first server is configured enumerate the endpoints connected to the first hierarchical serial interconnect network, including the first I/O circuitry and the flash storage devices.

9. The system of claim 1 ,

wherein the first server is configured to enumerate the endpoints connected to the first hierarchical serial interconnect network for use in memory mapped input output during transfer of data over the first hierarchical serial interconnect network, between the enumerated endpoints, including the first I/O circuitry, the first reconfigurable circuitry and the flash storage devices.

10. The system of claim 1 further including:

second I/O circuitry;

a second server configured to provide a root complex;

first reconfigurable circuitry;

an array of flash storage devices;

second cache storage; and

a second hierarchical serial interconnect network that includes the root complex, the second reconfigurable circuitry, a switch circuitry, and a plurality of serial data communication paths;

wherein the second hierarchical serial interconnect network includes a network interface tier that includes third switch circuitry and a serial communication path that interconnects the third switch circuitry and the second I/O circuitry, which is coupled as an endpoint to the network;

wherein the second hierarchical serial interconnect network includes a storage tier that includes fourth switch circuitry and a serial communication path that interconnects the fourth switch circuitry and a flash storage device of the array of the flash storage devices, which is coupled as an endpoint to the network;

wherein the second hierarchical serial interconnect network includes a serial communication path that interconnects the third switch circuitry and the second server;

wherein the second hierarchical serial interconnect network includes a serial communication path that interconnects the second reconfigurable circuitry and the third switch circuitry; and

wherein the second hierarchical serial interconnect network includes a serial communication path that interconnects the second reconfigurable circuitry and the fourth switch circuitry;

wherein the second reconfigurable circuitry is coupled to transfer data between the second cache storage and the third switch circuitry and between the second cache storage and the fourth switch circuitry;

wherein the second server is configured to designate a second interconnect address space for use during transfer of data over the second hierarchical serial interconnect network between the endpoints, including the I/O circuitry and the flash storage devices; and

wherein the second reconfigurable circuitry is configured to capture data during a transfer of data between the second I/O circuitry and the array of flash storage devices and to save the captured data in the second cache storage.

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 May 3, 2018
From: SANMINA CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION, NOT IN ITS INDIVIDUAL CAPACITY BUT SOLELY AS NOTES COLLATERAL AGENT
Reel/Frame 045711/0079 →
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 →
SECURITY INTEREST Recorded May 6, 2016
From: SANMINA CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION, NOT IN ITS INDIVIDUAL CAPACITY BUT SOLEY AS NOTES COLLATERAL AGENT
Reel/Frame 038489/0359 →
Continuity (2)
Division 13844663 · Mar 15, 2013
Related Publication 20160132242A1 · May 12, 2016