Encapsulated accelerator

US9600429B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9600429-B2
Application numberUS-201213671434-A
CountryUS
Kind codeB2
Filing dateNov 7, 2012
Priority dateDec 9, 2010
Publication dateMar 21, 2017
Grant dateMar 21, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A data processing system comprising: a host computer system supporting a software entity and a receive queue for the software entity; a network interface device having a controller unit configured to provide a data port for receiving data packets from a network and a data bus interface for connection to a host computer system, the network interface device being connected to the host computer system by means of the data bus interface; and an accelerator module arranged between the controller unit and a network and having a first medium access controller for connection to the network and a second medium access controller coupled to the data port of the controller unit, the accelerator module being configured to: on behalf of the software entity, process incoming data packets received from the network in one or more streams associated with a first set of one or more network endpoints; encapsulate data resulting from said processing in network data packets directed to the software entity; and deliver the network data packets to the data port of the controller unit so as to cause the network data packets to be written to the receive queue of the software entity.

First claim

Opening claim text (preview).

The invention claimed is: 1. A data processing system comprising: a host computer system supporting a software entity and a receive queue for the software entity; a network interface device having a controller unit configured to provide a data interface for receiving data packets from a network and a data bus interface that connects to the host computer system, the network interface device being connected to the host computer system by means of the data bus interface; and an accelerator module, addressable as a network endpoint, arranged between the controller unit and the network and having one or more interfaces that connect to the network and a second medium access controller coupled to the data interface of the controller unit, the accelerator module being configured to: on behalf of the software entity, process incoming data packets received from the network in one or more streams associated with a first set of one or more network endpoints wherein incoming data packets that are not associated with the first set of one or more network endpoints are forwarded onto the controller unit; encapsulate data resulting from said processing in network data packets directed to the software entity; and deliver the network data packets to the data interface of the controller unit wherein the network data packets are written to the receive queue of the software entity upon delivery. 2. A data processing system as claimed in claim 1 , wherein the software entity is configured to programme the first set of one or more network endpoints into the accelerator module. 3. A data processing system as claimed in claim 1 , wherein said processing of incoming data packets by the accelerator module comprises parsing the incoming data packets so as to identify network messages carried therein that have one or more of a set of characteristics. 4. A data processing system as claimed in claim 3 , wherein the software entity is configured to programme said set of characteristics into the accelerator module. 5. A data processing system as claimed in claim 3 , wherein the data resulting from the processing of the incoming data packets comprise said identified network messages. 6. A data processing system as claimed in claim 1 , wherein the software entity is a financial application configured to trade on a remote electronic exchange accessible over the network, the incoming data packets comprise financial messages, and said processing of the incoming data packets by the accelerator module comprises processing the financial messages so as to generate normalised financial data. 7. A data processing system as claimed in claim 6 , wherein said processing of incoming data packets by the accelerator module comprises parsing the incoming data packets so as to identify network messages carried therein that have one or more of a set of characteristics, and wherein the said set of characteristics defines a set of security symbols. 8. A data processing system as claimed in claim 6 , wherein the data resulting from the processing of the incoming data packets comprises said normalised financial data. 9. A network interface device as claimed in claim 1 , wherein said processing of incoming data packets by the accelerator module comprises one or more of: normalisation of financial information carried within financial messages of the incoming data packets; serialisation of trades carried within financial messages of the incoming data packets and directed to an electronic exchange; arbitration between financial message streams; decompression or compression of data packet headers; analysis of scientific data carried within the incoming data packets; processing of digital audio and/or video data carried within the incoming data packets; and in-line cryptographic functions performed on data carried within the incoming data packets. 10. A data processing system as claimed in claim 1 , wherein the accelerator module is provided at the network interface device. 11. A data processing system as claimed in claim 10 , wherein the controller unit and accelerator module are coupled to one another by means of a SERDES link. 12. A data processing system as claimed in claim 10 , wherein the network interface device further comprises a physical network interface arranged to couple the one or more interfaces that connect to the network, of the accelerator module, to the network, the physical network interface supporting signalling over the network in accordance with a predetermined physical layer protocol. 13. A data processing system as claimed in claim 10 , wherein the accelerator module further comprises additional interface logic operable to at least partially form memory transactions for performance over the data bus. 14. A data processing system as claimed in claim 13 , wherein the accelerator module is configured to encapsulate said at least partially formed memory transactions in network data packets directed to a network endpoint of the controller unit so as to cause the controller unit to perform the memory transactions over the data bus. 15. A data processing system as claimed in claim 13 , wherein the at least partially formed memory transactions generated at the additional interface logic are provided to the controller unit over an additional link provided between the accelerator module and the controller unit. 16. A data processing system as claimed in claim 13 , wherein the additional interface comprises logic sufficient to at least partially form PCIe Transaction Layer Packets. 17. A data processing system as claimed in claim 10 , wherein the controller unit is further coupled to the accelerator module by a Network Controller Sideband Interface and a software driver of the network interface device at the host computing system is configured to relay out-of-band control messages generated by the software entity to the accelerator module by means of the Network Controller Sideband Interface. 18. A data processing system as claimed in claim 1 , wherein the host computing system includes a software driver configured to manage the accelerator module by means of driver commands encapsulated within network data packets and directed to a network endpoint of the accelerator. 19. A data processing system as claimed in claim 1 , wherein the host computing system is a virtualised system having a privileged software domain including a first software driver for the controller unit and configured to present a virtual operating platform to first and second guest domains, the software entity being an application supported at the first guest software domain, and the second guest software domain having a driver library for said accelerator module, the software entity and driver library being accessible to one another as network endpoints. 20. A data processing system as claimed in claim 19 , wherein the privileged software domain does not include a second software driver for the accelerator module. 21. A data processing system as claimed in claim 19 , wherein the first guest software domain includes a transport library and the application is arranged to access the driver library and accelerator module by means of the transport library. 22. A data processing system as claimed in claim 19 , wherein the privileged software domain is a hypervisor or virtual machine monitor. 23. A data processing system as claimed in claim 1 , wherein the accelerator module or network interface device further comprises a memory configured for storin

Assignees

Inventors

Classifications

  • Bus-related hardware virtualisation · CPC title

  • Network interface controller · CPC title

  • using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

  • G06F13/362Primary

    with centralised access control · CPC title

  • Encapsulation of packets · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9600429B2 cover?
A data processing system comprising: a host computer system supporting a software entity and a receive queue for the software entity; a network interface device having a controller unit configured to provide a data port for receiving data packets from a network and a data bus interface for connection to a host computer system, the network interface device being connected to the host computer sy…
Who is the assignee on this patent?
Pope Steven L, Solarflare Communications Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/362. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 21 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).