IP Library Granted Patent US 9,880,964
Granted Patent B2
US 9,880,964 · App. 14/629,394 · Granted Jan 30, 2018

Encapsulated accelerator

Inventor: Steven L. Pope (Costa Mesa, CA)
Assignee: SOLARFLARE COMMUNICATIONS, INC.
G06F13/4221G06F13/102G06F13/28G06F13/385G06Q40/04H04L49/9068G06F12/1081G06F2213/0058G06F2213/3808
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,880,964
App. No.
14/629,394
Granted
Jan 30, 2018
Kind
B2
Abstract

A data processing system comprising a host computer system and a network interface device for connection to a network, the host computer system and network interface device being coupled together by means of a data bus, and: the network interface device comprising: a controller unit having a first data port for connection to a network, a second data port, and a data bus interface connected to said data bus, the controller unit being operable to perform, in dependence on the network endpoints to which data packets received at the network interface device are directed, switching of data packets between the first and second data ports and the data bus interface; and an accelerator module having a first medium access controller coupled to said second data port of the controller unit and a processor operable to perform one or more functions in hardware on data packets received at the accelerator module, the said first medium access controller being operable to support one or more first network endpoints; the host computer system supporting: a plurality of guest software domains including a first guest software domain having an application; and a privileged software domain configured to present a virtual operating platform to said plurality of guest domains, the privileged software entity including a first software driver for the controller unit but not including a second software driver for the accelerator module; wherein the application is configured to access the accelerator module by means of one or more first data packets formed in accordance with a predetermined network protocol and directed to one or more of the first network endpoints.

Claims (25)

1. A network interface device comprising:

a controller unit having a first data port for connection to a network, a second data port, and a data bus interface for connection to a host computer system, the first data port having a first medium access controller and the second data port having a second medium access controller, the controller having a switch which, in dependence on the network endpoints to which data packets received at the network interface device are directed, switches of data packets between the first and second data ports and the data bus interface; and

an accelerator module having a third data port having a third medium access controller, said third data port being coupled to said second data port of the controller unit, said accelerator module comprising hardware which in use performs one or more functions in hardware on data packets received at the accelerator module;

wherein said third medium access controller in use supports one or more first network endpoints such that, in use, data packets identified by the controller unit as being directed to said one or more first network endpoints are sent over the second data port to the third port of the accelerator module.

2. The network interface device as claimed in claim 1 , wherein the said one or more functions performed by the hardware are non-communications functions.

3. The network interface device as claimed in claim 2 , wherein the said one or more functions performed by the hardware do not include functions relating to the performance of network communications protocols in use at the network interface device.

4. The network interface device as claimed in claim 1 , wherein the said one or more functions performed by the hardware do not include functions relating to the performance of network communications protocols in use at the network interface device.

5. The network interface device as claimed in claim 1 , wherein the one or more functions performed by the hardware include one or more of: normalisation of financial information prior to storage at a memory of the accelerator module or transmission to a host computer system accessible over the data bus interface; serialisation of trades directed to a financial exchange; analysis of scientific data; digital audio and/or video processing; and in-line cryptographic functions.

6. The network interface device as claimed in claim 1 , wherein the first data port of the network interface device includes a medium access controller coupled to a physical layer transceiver.

7. The network interface device as claimed in claim 1 , wherein the second medium access controller is coupled to a second serial interface device, and the first medium access controller of the accelerator module is coupled to the second data port by means of a first serial interface device, said first and second serial interface devices being connected so as to allow the communication of data between the second data port and the accelerator module.

8. The network interface device as claimed in claim 1 , wherein the second medium access controller is coupled to a second physical layer transceiver, and the first medium access controller of the accelerator module is coupled to the second data port by means of a first physical layer transceiver, said first and second physical layer transceivers being connected so as to allow the communication of data between the second data port and the accelerator module.

9. The network interface device as claimed in claim 7 , wherein the controller unit and the accelerator module are provided at separate peripheral devices and the controller unit is coupled to the accelerator module by a connection between the first serial interface device and the second serial interface device.

10. The network interface device as claimed in claim 9 , wherein the separate peripheral devices are located on separate integrated circuit chips.

11. The network interface device as claimed in claim 1 , further comprising:

at the accelerator module, a DMA controller and a data bus interface;

wherein the controller unit is configured to provide a virtual interface of the network interface device that includes said second media access controller but not a physical layer transceiver, and the DMA interface is configurable so as to allow the accelerator module to exchange data with said virtual interface of the network interface device over a DMA channel.

12. The network interface device as claimed in claim 11 , further comprising a data bus bridge arranged for connecting the data bus interface of the hardware accelerator and the data bus interface of the controller unit to a data bus.

13. The network interface device as claimed in claim 11 , wherein the controller unit and the accelerator module are provided at separate peripheral devices and their respective data bus interfaces are configured for connection to a data bus.

14. The network interface device as claimed in claim 13 , wherein the separate peripheral devices are located on separate integrated circuit chips.

15. The network interface device as claimed in claim 12 , wherein the data bus is a PCIe data bus and the virtual interface supports one or more SR-IOV or MR-IOV virtual configurations.

16. The network interface device as claimed in claim 1 , wherein the accelerator module further comprises a memory configured for storing data generated by the said one or more functions performed by the hardware.

17. The network interface device as claimed in claim 16 , wherein the accelerator module is operable to receive data packets from a host computer system accessible over the data bus interface and the accelerator module is configured to, in response to receiving a data packet including a read request directed to the memory, respond to the read request by encapsulating the requested data in one or more data packets for transmission to a network endpoint identified in the read request.

18. The network interface device as claimed in claim 17 , wherein the accelerator module is configured to respond only to read requests received from a predetermined set of one or more network endpoints or over a predetermined set of one or more DMA channels.

19. The network interface device as claimed in claim 1 , wherein the first medium access controller is an Ethernet MAC and the one or more first network endpoint are identified by an Ethernet address.

20. The network interface device as claimed in claim 1 , wherein the hardware is an FPGA integrated circuit.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: SOLARFLARE COMMUNICATIONS, INC.
To: XILINX, INC.
Reel/Frame 051108/0209 →
RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 31, 2019
From: ALLY BANK
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 049918/0440 →
RELEASE OF SECURITY INTEREST Recorded Jun 15, 2017
From: PACIFIC WESTERN BANK
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 042820/0890 →
SECURITY INTEREST Recorded Mar 7, 2017
From: SOLARFLARE COMMUNICATIONS, INC.
To: ALLY BANK
Reel/Frame 041902/0527 →
SECURITY INTEREST Recorded Apr 6, 2016
From: SOLARFLARE COMMUNICATIONS, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 038363/0589 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: POPE, STEVEN L.
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 035161/0528 →
Continuity (2)
Continuation 12964642 · Dec 9, 2010
Related Publication 20150161064A1 · Jun 11, 2015