IP Library Granted Patent US 11,086,813
Granted Patent B1
US 11,086,813 · App. 15/997,686 · Granted Aug 10, 2021

Modular non-volatile memory express storage appliance and method therefor

Inventors: Franz Michael Schuette (Colorado Springs, CO); Daniel M. Gale (Colorado Springs, CO); Charles C. Hill (Portland, OR); Matthew T. Bowman (San Jose, CA); Ritesh Kumar (Colorado Springs, CO)
Assignee: Sanmina Corporation
G06F13/4282G06F13/1668G06F13/4022G06F2213/0026
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,086,813
App. No.
15/997,686
Granted
Aug 10, 2021
Kind
B1
Abstract

A network-attached storage device is provided comprising a network card with an embedded operating system that provides autonomous operation of the network card, the network card including a network port to communicate with an external device and a peripheral component interconnect express (PCIe) interface to couple to a first PCIe device in the absence of a system host processor.

Claims (47)

1. A network-attached storage device, comprising:

a first network card including an embedded operating system that provides autonomous operation of the first network card including autonomous communication operations with a first external device without assistance of an external host process or system, a first network port to communicate with the first external device, and a first peripheral component interconnect express (PCIe) interface to couple to a first PCIe bus;

a second network card including an embedded operating system that provides autonomous operation of the second network card including autonomous communication operations with a second external device without assistance of an external host process or system, a second network port to communicate with the second external device, and a second peripheral component interconnect express (PCIe) interface to couple to a second PCIe bus;

a PCIe switch coupled to the first network card via the first PCIe bus and coupled to the second network card via the second PCIe bus, the PCIe switch coupled to a third PCIe bus through which both the first network card and the second network card access a shared storage space; and

a plurality of dual-ported non-volatile storage devices coupled to the PCIe switch via the third PCIe bus, wherein the first network card is configured to convert transmissions between a network protocol used over the first network port and a PCIe compatible protocol used over the first PCIe bus to facilitate signal and/or data exchanges between at least one of the plurality of non-volatile storage devices and the first network port to the first external device, and wherein the second network card is configured to convert transmissions between a network protocol used over the second network port and a PCIe compatible protocol used over the third PCIe bus to facilitate signal and/or data exchanges between at least one of the plurality of non-volatile storage devices and the second network port to the second external device;

wherein each of the non-volatile storage devices are configured to independently service requests from both the first network card and second network card, concurrently, through its dual ports.

2. The network-attached storage device of claim 1 , wherein the embedded operating system provides standalone operation of the first network card even in the absence of a host processing circuit.

3. The network-attached storage device of claim 1 , wherein the first network card is further configured to perform PCIe root complex functionality to control data communications over the first PCIe bus and/or the second PCIe bus.

4. The network-attached storage device of claim 1 , further comprising:

a management controller coupled to the first network card, the second network card, and PCIe switch via a control bus.

5. The network-attached storage device of claim 1 , wherein the first PCIe bus includes a first plurality of PCIe lanes, and the second PCIe bus includes a second plurality of PCIe lanes.

6. The network-attached storage device of claim 5 , wherein a PCIe Gen(n) protocol is used to communicate over the first PCIe bus via the first plurality of PCIe lanes, and a PCIe Gen(n−1) protocol is used to communicate over the second PCIe bus to the plurality of dual-ported non-volatile storage devices via the second plurality of PCIe lanes.

7. The network-attached storage device of claim 5 , wherein the second plurality of PCIe lanes is greater than the first plurality of PCIe lanes.

8. The network-attached storage device of claim 1 , wherein the first network card is configured to:

receive a transaction request according to the network protocol, via the first network port, from the first external device to a first non-volatile storage device;

convert the transaction request from the network protocol to the PCIe compatible protocol;

send the converted transaction request over the first PCIe bus to the first non-volatile storage device;

receive a transaction response according to the PCIe compatible protocol, via the first PCIe bus, from the first storage device;

convert the transaction response from the PCIe compatible protocol to the network protocol; and

send the converted transaction response over the first network port to the first external device.

9. The network-attached storage device of claim 8 , wherein the transaction request is a read operation or a write operation.

10. The network-attached storage device of claim 1 , wherein the first network card converts a namespace provided by the external device to a namespace within one of the plurality of non-volatile storage devices.

11. A method operational at a network-attached storage device, comprising:

receiving a transaction request from a first external device to a first dual-ported non-volatile storage device via a network port of a first network card and according to a network protocol, wherein the first network card includes an embedded operating system that provides autonomous operation of the first network card including autonomous communication operations with the first external device without assistance of an external host process or system, the first network card including a first network port to communicate with the first external device, and a first peripheral component interconnect express (PCIe) interface to couple to a first PCIe bus;

converting, at the first network card, the transaction request from the network protocol to a PCIe compatible protocol;

sending, from the first network card, the converted transaction request over the first PCIe bus to a PCIe switch that maps between the first PCIe bus and a second PCIe bus coupled to a plurality of dual-ported non-volatile storage devices, wherein each non-volatile storage device is configured to independently service requests from at least two network cards, concurrently, through its dual ports; and

forwarding the converted transaction request from the PCIe switch over the second PCIe bus to the first non-volatile storage device.

12. The method of claim 11 , wherein the first PCIe bus includes a first plurality of PCIe lanes, and the second PCIe bus includes a second plurality of PCIe lanes, a PCIe Gen(n) protocol is used to communicate over the first PCIe bus via the first plurality of PCIe lanes, and a PCIe Gen(n−1) protocol is used to communicate over the second PCIe bus to the plurality of non-volatile storage devices via the second plurality of PCIe lanes.

13. The method of claim 12 , wherein the second plurality of PCIe lanes is greater than the first plurality of PCIe lanes.

14. The method of claim 11 , further comprising:

receiving, at the network card, a transaction response from the first non-volatile storage device via the first PCIe bus and according to the PCIe compatible protocol;

converting, at the network card, the transaction response from the PCIe compatible protocol to the network protocol; and

sending, from the network card, the converted transaction response over the network port to the external device.

15. A network card, comprising:

a network interface configured for communication with an external device;

a peripheral component interconnect express (PCIe) bus interface to couple to a plurality of non-volatile storage devices via a PCIe bus;

a processing circuit coupled to the network interface and the PCIe bus, the processing circuit implementing an integrated boot system with an embedded operation system that provides autonomous operation of the network card including autonomous communication operations with the external device via the network interface without assistance of an external host process or system, the network card further configured to:

map addresses for the plurality of non-volatile storage devices between the network interface and the PCIe bus interface,

receive a transaction request according to a network protocol, via a network port, from an external device to a first storage device,

convert the transaction request from the network protocol to a PCIe compatible protocol,

send the converted transaction request over a PCIe bus interface to a first non-volatile storage device.

16. The network card of claim 15 , wherein the processing circuit is further configured to

receive a transaction response according to the PCIe compatible protocol, via the PCIe bus interface, from the first storage device,

convert the transaction response from the PCIe compatible protocol to the network protocol, and

send the converted transaction response over the network port to the external device.

17. The network card of claim 15 , further comprising:

a control bus to couple to an external management controller that configures the operation of the network card.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2018
From: SCHUETTE, FRANZ MICHAEL; GALE, DANIEL M.; HILL, CHARLES C.; BOWMAN, MATTHEW T.; KUMAR, RITESH
To: SANMINA CORPORATION
Reel/Frame 046297/0287 →
Continuity (1)
Provisional Application 62514604 · Jun 2, 2017
Cited By (3)
US 12,236,135 US 12,487,959 US 12,693,987