IP Library Granted Patent US 8,996,644
Granted Patent B2
US 8,996,644 · App. 12/964,642 · Granted Mar 31, 2015

Encapsulated accelerator

Inventor: Steven L. Pope (Costa Mesa, CA)
Assignee: Solarflare Communications, Inc.
G06F13/102G06F13/385G06F13/28G06F12/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 8,996,644
App. No.
12/964,642
Granted
Mar 31, 2015
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 (24)

1. A network interface device, for use with one or more first network endpoints, 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 controller unit having a switch which in dependence on the network endpoints to which data packets received at the network interface device are directed, switches data packets between the first and second data ports and the data bus interface, the second data port of the controller having a second medium access controller coupled to a second physical layer transceiver; and

an accelerator module having a first medium access controller coupled to said second data port of the controller unit and hardware which performs one or more functions on data packets received at the accelerator module, the first medium access controller of the accelerator module being 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;

wherein in use, data packets identified by the controller unit as being directed to said first network endpoints are sent over the second data port to the accelerator module, and the controller unit and the accelerator module are provided at separate peripheral devices.

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

3. A 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.

4. A 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.

5. A 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.

6. A 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.

7. A network interface device as claimed in claim 6 , 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.

8. A network interface device as claimed in claim 7 , 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.

9. A network interface device as claimed in claim 1 , wherein the first medium access controller is an Ethernet MAC and the first network endpoint is identified by an Ethernet address.

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

11. A network interface device, for use with one or more first network endpoints, 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 controller unit having a switch which in dependence on the network endpoints to which data packets received at the network interface device are directed, switches data packets between the first and second data ports and the data bus interface, the second data port of the network having a second medium access controller coupled to a second serial interface device; and

an accelerator module having a first medium access controller coupled to said second data port of the controller unit and hardware which performs one or more functions on data packets received at the accelerator module, the first medium access controller being coupled to the second data port by means of a first serial interface device, the connection between the first serial interface device and the second serial interface device providing a data path by which data is communicated between the second data port and the accelerator module;

wherein in use, data packets identified by the controller unit as being directed to said first network endpoints are sent over the second data port to the accelerator module, and said controller unit and the accelerator module being provided at separate peripheral devices.

12. A network interface device, for use with one or more first network endpoints, 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 controller unit having a switch which in dependence on the network endpoints to which data packets received at the network interface device are directed, switches 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 hardware which performs one or more functions on data packets received at the accelerator module, said accelerator module further comprising a DMA controller and a data bus interface;

a second medium access controller;

wherein data packets identified by the controller unit as being directed to said first network endpoints are sent, in use, over the second data port to the accelerator module, said controller unit being configured to provide a virtual interface of the network interface device that includes said second media access controller but not a physical layer transceiver, the DMA controller is configured so as to allow the accelerator module to exchange data with said virtual interface of the network interface device over a DMA channel and 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.

13. A network interface device as claimed in claim 12 , 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.

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

Assignments (10)
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 →
RELEASE OF SECURITY INTEREST Recorded Nov 24, 2014
From: COMERICA BANK
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 034255/0140 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2014
From: COMERICA BANK
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 033716/0073 →
CHANGE OF ADDRESS OF THE ASSIGNEE Recorded Jan 8, 2013
From: SOLARFLARE COMMUNICATIONS INC.
To: SOLARFLARE COMMUNICATIONS INC.
Reel/Frame 029636/0295 →
SECURITY AGREEMENT Recorded Jan 5, 2012
From: SOLARFLARE COMMUNICATIONS, INC., A DELAWARE CORPORATION
To: COMERICA BANK, AS AGENT, A TEXAS BANKING ASSOCIATION
Reel/Frame 027487/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2011
From: POPE, STEVEN L.
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 025663/0766 →
Continuity (1)
Related Publication 20120151004A1 · Jun 14, 2012