# US 12,224,954 B2 · Network interface device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,224,954 B2
- Document ID: US12224954B2
- Status: Granted
- Kind: B2
- Application number: 17/515,343
- Filed: 2021-10-29
- Published: 2022-02-24
- Granted: 2025-02-11
- Earliest claimed: 2017-12-19
- Assignees: Xilinx, Inc.
- Applicants: Xilinx, Inc.
- Inventors: Steven L. Pope; Dmitri Kitariev; Derek Roberts
- Web page: https://patentgrep.com/patent/US12224954B2

## CPC

- G06F 9/5044: {considering hardware capabilities}
- G06N 20/00: Machine learning
- H04L 45/22: {Alternate routing}
- H04L 47/34: ensuring sequence integrity, e.g. using sequence numbers
- H04L 49/9068: {in the network interface card}
- H04L 63/1416: {Event detection, e.g. attack signature detection}
- H04L 63/1458: {Denial of Service}
- G06F 2209/509: Offload
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A network interface device has an interface configured to interface with a network. The interface is configured to at least one of receive data from the network and put data onto the network. The network interface device has an application specific integrated device with a plurality of data processing pipelines to process at least one of data which has been received from the network and data which is to be put onto said network and an FPGA arranged in a path parallel to the data processing pipelines.

## Claims

### Claim 1

A network interface device comprising:
a network interface; and
an integrated circuit comprising:
(i) application specific integrated circuit (ASIC) logic,
(ii) a programmable logic, wherein the ASIC logic and the programmable logic provide a plurality of data processing pipelines, including an ASIC logic implemented data processing pipeline and a programmable logic implemented data processing pipeline, arranged to process data, which has been received from a network connected to the network interface, and process data which is to be put onto said network, and
(iii) a network switch configured to receive at least one dataflow from the network interface and to provide as an output to the plurality of data processing pipelines, the at least one dataflow being spread between the ASIC logic implemented data processing pipeline and the programmable logic implemented data processing pipeline, wherein at least one data processing pipeline is configured to perform one of: (i) switching from processing data received from the network to processing data to be put onto said network; and (ii) switching from processing data to be put onto said network to processing data received from the network.

### Claim 2 (depends on 1)

The network interface device as claimed in claim 1, wherein the network interface device comprises:
a transaction ordering device configured to receive outputs from the data processing pipelines which process data received from the network, and to ensure that the outputs received from the data processing pipelines are provided to a host device in an order that the data was received in, at the network interface.

### Claim 3 (depends on 1)

The network interface device as claimed in claim 1, wherein said programmable logic is configured to perform one or more of:
reduce data in one or more flows;
aggregate data in one or more flows;
perform hybrid processing;
detect a DDOS attack;
machine learning;
perform a software defined networking function;
provide an OpenCL kernel offload;
provide an offload function; and
take remedial action against a denial of service attack.

### Claim 4 (depends on 1)

The network interface device as claimed in claim 1, wherein said programmable logic is arranged to be reconfigurable.

### Claim 5 (depends on 4)

The network interface device as claimed in claim 4, wherein said programmable logic is arranged to be reconfigurable while said network interface is in use.

### Claim 6 (depends on 5)

The network interface device as claimed in claim 5, wherein said network interface device is configured to cause data to be explicitly dropped when said programmable logic is being reconfigured while in use.

### Claim 7 (depends on 5)

The network interface device as claimed in claim 5, wherein said network interface device is configured to cause data to be routed to one or more data processing pipelines provided by the ASIC logic when said programmable logic is being reconfigured while in use.

### Claim 8 (depends on 1)

The network interface device as claimed in claim 1, wherein at least one data processing pipeline is configured to process data received from the network and at least one data processing pipeline is configured to process data to be put onto said network.

### Claim 9 (depends on 1)

The network interface device as claimed in claim 1, wherein at least one data processing pipeline is configured to process data received from the network and to process data to be put onto said network.

### Claim 10 (depends on 2)

The network interface device as claimed in claim 2, wherein the transaction ordering device is configured to ensure that data of a flow received from the data processing pipelines provided by the ASIC logic and a data processing pipeline as provided by the programmable logic and which has been processed in the data processing pipelines provided by the ASIC logic or the data processing pipeline as provided by the programmable logic is provided to the host device in an order that the data of the flow was received in, at the network interface.

### Claim 11 (depends on 10)

The network interface device as claimed in claim 10, wherein network data is processed by at least one of the plurality of data processing pipelines provided by the ASIC logic and the data processing pipeline as provided by said programmable logic.

### Claim 12 (depends on 1)

The network interface device as claimed in claim 1, comprising a peripheral device interface.

### Claim 13 (depends on 12)

The network interface device as claimed in claim 12, wherein said peripheral device interface provides coupling by one or more of Peripheral Component Interconnect express (PCIe), Advanced extensible interface (AXi) and Coherent Accelerator Processor Interface (CAPI).

### Claim 14 (depends on 12)

The network interface device as claimed in claim 12, wherein said peripheral device interface is provided by a second application specific integrated device.

### Claim 15 (depends on 1)

The network interface device as claimed in claim 1, wherein the integrated circuit is an application specific integrated circuit.

### Claim 16 (depends on 1)

The network interface device as claimed in claim 1, further comprising a host computing device interface configured to perform signaling of data or data packets to and from a host.

### Claim 17 (depends on 1)

The network interface device as claimed in claim 1, wherein the ASIC logic further implements a classifying function comprising classifying data into flows, spreading dataflows among different data processing pipelines.
