# US 11,909,851 B2 · Coalescing interrupts based on fragment information in packets and a network controller for coalescing

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

- Number: US 11,909,851 B2
- Document ID: US11909851B2
- Status: Granted
- Kind: B2
- Application number: 17/449,859
- Filed: 2021-10-04
- Published: 2023-04-06
- Granted: 2024-02-20
- Earliest claimed: 2021-10-04
- Assignees: NXP B.V.
- Applicants: NXP B.V.
- Inventors: Jochen Seemann; Andrei Sergeevich Terechko
- Web page: https://patentgrep.com/patent/US11909851B2

## CPC

- G06F 13/24: using interrupt (G06F13/32 takes precedence)
- H04L 69/22: Parsing or analysis of headers
- G06F 9/4812: {by interrupt, e.g. masked}
- H04L 45/74: Address processing for routing
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A packet is transmitted from a remote device over a communication network. A fragment detector detects one or more fragments in a field of the packet, where the field is associated with a session layer or higher abstraction layer of an open systems interconnect (OSI) model. Fragment information is extracted from the packet which indicates one or more of a last fragment index associated with a last fragment of one or more fragment in the packet and a fragment count indicative of a number of fragments associated with a message which is fragmented. Interrupts associated with the packet with other interrupts associated with other packets are coalesced based on one or more of the last fragment index and the fragment count.

## Claims

### Claim 1

A method performed in a network controller comprising:
receiving a packet transmitted from a remote device over a communication network to the network controller;
detecting one or more fragments in a field of the packet, wherein the field is associated with a session layer or higher abstraction layer of an open systems interconnect (OSI) model;
extracting fragment information from the packet which indicates one or more of a last fragment index associated with a last fragment of one or more fragment in the packet and a fragment count indicative of a number of fragments associated with a message which is fragmented; and
coalescing interrupts associated with the packet with other interrupts associated with other packets based on one or more of the last fragment index and the fragment count.

### Claim 2 (depends on 1)

The method of claim 1, wherein coalescing interrupts comprises performing a modulus operation on the last fragment index to determine whether to coalesce the interrupts.

### Claim 3 (depends on 1)

The method of claim 1, wherein coalescing interrupts comprises determining that a last fragment index equals the fragment count.

### Claim 4 (depends on 1)

The method of claim 1, wherein extracting the fragment information from the packet comprises determining a protocol of the session layer field; and extracting the fragment information in the session layer field of the packet based on the protocol being a given protocol.

### Claim 5 (depends on 4)

The method of claim 4, wherein the given protocol is one of Real-Time Publish Subscribe (RTPS) or Scalable Service Oriented Middleware over IP (SOME/IP).

### Claim 6 (depends on 1)

The method of claim 1, wherein coalescing interrupts comprises storing a payload of the packet in a buffer.

### Claim 7 (depends on 6)

The method of claim 6, wherein the payload is stored in the buffer based on an offset to a packet index.

### Claim 8 (depends on 6)

The method of claim 6, further comprising sending a coalesced packet which comprises the stored payload and stored payloads of other packets not previously sent to the host processor in response to not coalescing the interrupts.

### Claim 9 (depends on 6)

The method of claim 6, wherein the buffer is shared between the host processor and an Ethernet controller which receives the packet.

### Claim 10 (depends on 9)

The method of claim 9, further comprising sending a modified packet which comprises a reference to the stored payload and an identifier which indicates that the modified packet comprises the reference in response to not coalescing the interrupts.

### Claim 11

A network controller comprising:
a receiver interface configured to receive a packet transmitted from a remote device over a communication network;
a fragment detector configured with circuitry to detect one or more fragments in a field of the packet, wherein the field is associated with a session layer or higher abstraction layer of an open systems interconnect (OSI) model; and
an interrupt coalescing engine configured with circuitry to extract fragment information from the packet which indicates one or more of a last fragment index associated with a last fragment of one or more fragment in the packet and a fragment count indicative of a number of fragments associated with a message which is fragmented; and coalesce interrupts associated with the packet with other interrupts associated with other packets based on one or more of the last fragment index and the fragment count.

### Claim 12 (depends on 11)

The network controller of claim 11, wherein the interrupt coalescing engine is further configured with circuitry to perform a modulus operation on the last fragment index to determine whether to coalesce the interrupts.

### Claim 13 (depends on 11)

The network controller of claim 11, wherein the interrupt coalescing engine is further configured with circuitry to determine that a last fragment index equals the fragment count.

### Claim 14 (depends on 11)

The network controller of claim 11, wherein the interrupt coalescing engine configured to extract the fragment information from the packet comprises the interrupt coalescing engine configured with circuitry to determine a protocol of the session layer field; and extract the fragment information in the session layer field of the packet based on the protocol being a given protocol.

### Claim 15 (depends on 14)

The network controller of claim 14, wherein the given protocol is one of Real-Time Publish Subscribe (RTPS) or Scalable Service Oriented Middleware over IP (SOME/IP).

### Claim 16 (depends on 11)

The network controller of claim 11, wherein the interrupt coalescing engine is further configured with circuitry to store a payload of the packet in a buffer.

### Claim 17 (depends on 16)

The network controller of claim 16, wherein the payload is stored in the buffer based on an offset to a packet index.

### Claim 18 (depends on 16)

The network controller of claim 16, wherein the interrupt coalescing engine is further configured with circuitry to send a coalesced packet which comprises the stored payload and payloads of other packets not previously sent to the host processor in response to not coalescing the interrupts.

### Claim 19 (depends on 16)

The network controller of claim 16, wherein the buffer is shared between the host processor and an Ethernet controller which receives the packet.

### Claim 20 (depends on 19)

The network controller of claim 19, wherein the interrupt coalescing engine is further configured with circuitry to send a modified packet which comprises a reference to the stored payload and an identifier which indicates that the modified packet comprises the reference in response to not coalescing the interrupts.
