# US 10,771,364 B2 · Network interface controller

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

- Number: US 10,771,364 B2
- Document ID: US10771364B2
- Status: Granted
- Kind: B2
- Application number: 16/141,985
- Filed: 2018-09-26
- Published: 2019-10-03
- Granted: 2020-09-08
- Earliest claimed: 2018-03-27
- Assignees: Shanghai Zhaoxin Semiconductor Co., Ltd.
- Applicants: Shanghai Zhaoxin Semiconductor Co., Ltd.
- Inventors: Zhiqiang Hui; Jingyang Wang; Wei Shao
- Web page: https://patentgrep.com/patent/US10771364B2

## CPC

- H04L 12/4625: {Single bridge functionality, e.g. connection of two networks over a single bridge}
- H04L 12/02: Details
- H04L 43/0847: {Transmission error}
- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- H04L 61/58: Caching of addresses or names
- H04L 69/166: IP fragmentation; TCP segmentation
- H04L 69/22: Parsing or analysis of headers
- H04L 69/321: Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
- H04L 69/324: in the data link layer [OSI layer 2], e.g. HDLC
- H04L 2012/5614: {User Network Interface}
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A network interface controller is provided, including a receiving module, a boundary determination module, a first checksum calculation module, and a second checksum calculation module. The receiving module receives a packet having a segment of a first layer protocol and a segment of a second layer protocol. The boundary determination module performs a boundary determination operation on the packet to generate boundary information, wherein the boundary information includes a length of the segment of the second layer protocol and a boundary indication signal. The first checksum calculation module finishes the calculation of a first checksum corresponding to the segment of the first layer protocol after receiving the length of the segment of the second layer protocol. The second checksum calculation module starts to calculate a second checksum corresponding to the segment of the second layer protocol after receiving the boundary indication signal.

## Claims

### Claim 1

A network interface controller, comprising:
a receiving circuit configured to receive a packet, wherein the packet comprises a segment of a first layer protocol and a segment of a second layer protocol;
a boundary determination circuit configured to perform a boundary determination operation on the packet to generate boundary information, wherein the boundary information comprises a length of the segment of the second layer protocol and a boundary indication signal;
a first checksum calculation circuit coupled to the boundary determination circuit to complete a calculation of a first checksum corresponding to the segment of the first layer protocol after receiving the length of the segment of the second layer protocol; and
a second checksum calculation circuit coupled to the boundary determination circuit to start a calculation of a second checksum corresponding to the segment of the second layer protocol after receiving the boundary indication signal.

### Claim 2 (depends on 1)

The network interface controller according to claim 1, wherein when the second checksum calculation circuit completes the calculation of the second checksum, the second checksum calculation circuit performs an operation based on the second checksum and the first checksum received from the first checksum calculation circuit to obtain a verification result of the packet.

### Claim 3 (depends on 2)

The network interface controller according to claim 2, wherein the second checksum calculation circuit obtains a verification result at one cycle after completing calculation of the second checksum.

### Claim 4 (depends on 2)

The network interface controller according to claim 2, wherein the network interface controller further comprises a receiving-end state machine for receiving the verification result.

### Claim 5 (depends on 1)

The network interface controller according to claim 1, wherein the boundary determination circuit is integrated inside the first checksum calculation circuit.

### Claim 6 (depends on 1)

The network interface controller according to claim 1, wherein a time point at which the first checksum calculation circuit starts to calculate the first checksum is earlier than a time point at which the second checksum calculation circuit starts to calculate the second checksum.

### Claim 7 (depends on 1)

The network interface controller according to claim 1, wherein the first checksum calculation circuit directly extracts a plurality of related segments from the segment of the first layer protocol to calculate the first checksum.

### Claim 8 (depends on 7)

The network interface controller according to claim 7, wherein the related segments comprise a source IP address of the first layer protocol, a destination IP address of the first layer protocol, and a next header segment.

### Claim 9 (depends on 1)

The network interface controller according to claim 1, wherein whenever the first checksum calculation circuit extracts a related segment with a fixed length, the first checksum calculation circuit calculates a checksum of the related segment with the fixed length and adds the checksum of the related segment with the fixed length to an intermediate result of the first checksum.

### Claim 10 (depends on 9)

The network interface controller according to claim 9, wherein the first checksum calculation circuit comprises a register, which is configured for temporarily storing the intermediate result of the first checksum during calculation of the first checksum.

### Claim 11 (depends on 1)

The network interface controller according to claim 1, wherein the network interface controller further comprises an assemble circuit, which is configured to assemble at least first data received from the receiving circuit into second data, wherein the first data is a part of the packet, and a bit width of the second data is greater than a bit width of the first data.

### Claim 12 (depends on 11)

The network interface controller according to claim 11, wherein the first checksum calculation circuit and the second checksum calculation circuit respectively calculate the first checksum and the second checksum based on the second data.

### Claim 13 (depends on 1)

The network interface controller according to claim 1, wherein the first layer protocol is an Internet protocol (IP), and the segment of the second layer protocol is included in a first payload of the segment of the first layer protocol.

### Claim 14 (depends on 1)

The network interface controller according to claim 1, wherein the second layer protocol is a transmission control protocol or a user datagram protocol.

### Claim 15 (depends on 1)

The network interface controller according to claim 1, wherein the first checksum calculation circuit calculates the first checksum based on a pseudo header, wherein the pseudo header comprises a source IP address, a destination IP address, and a next header segment of the first layer protocol and the length of the segment of the second layer protocol, wherein the length of the segment of the second layer protocol is calculated by the boundary determination circuit.

### Claim 16 (depends on 1)

The network interface controller according to claim 1, wherein the receiving circuit, the boundary determination circuit, the first checksum calculation circuit, and the second checksum calculation circuit are integrated in a suspend circuit.

### Claim 17 (depends on 1)

The network interface controller according to claim 1, wherein the packet is transmitted to the receiving circuit through a gigabit media independent interface.
