# US 11,444,829 B2 · Link layer communication by multiple link layer encodings for computer buses

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

- Number: US 11,444,829 B2
- Document ID: US11444829B2
- Status: Granted
- Kind: B2
- Application number: 16/788,434
- Filed: 2020-02-12
- Published: 2020-06-11
- Granted: 2022-09-13
- Earliest claimed: 2019-09-09
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Debendra Das Sharma
- Web page: https://patentgrep.com/patent/US11444829B2

## CPC

- G06F 13/4278: {using an embedded synchronisation}
- G06F 13/4226: {with asynchronous protocol}
- G06F 13/4291: {using a clocked protocol}
- H04L 41/00: Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L 41/0627: {by acting on the notification or alarm source}
- H04L 41/0661: {by reconfiguring faulty entities}
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 43/0888: Throughput
- H04L 69/22: Parsing or analysis of headers
- G06F 2213/0026: PCI express
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/52: specially adapted for the location of the user terminal
- 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

In one embodiment, an apparatus includes: a transmitter to send a first plurality of flits to a second device coupled to the apparatus via a link; and a control circuit coupled to the transmitter to change a configuration of the link from a flit-based encoding to a packet-based encoding. In response to the configuration change, the transmitter is to send a first plurality of packets to the second device via the link. Other embodiments are described and claimed.

## Claims

### Claim 1

An apparatus comprising:
a transmitter to send a first plurality of flits to a second device coupled to the apparatus via a link; and
a control circuit coupled to the transmitter to change a configuration of the link from a flit-based encoding to a packet-based encoding, wherein in response to the configuration change, the transmitter is to send a first plurality of packets to the second device via the link.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the control circuit is to change the configuration of the link in response to at least one error during communication of the first plurality of flits to the second device.

### Claim 3 (depends on 1)

The apparatus of claim 1, further comprising a receiver, wherein the receiver is to receive at least one data link layer packet from the second device, the at least one data link layer packet to identify a last flit of the first plurality of flits that the second device correctly received.

### Claim 4 (depends on 3)

The apparatus of claim 3, wherein in response to the at least one data link layer packet, the transmitter is to replay at least a portion of a first packet from a replay buffer as a first transaction layer packet having a first predetermined sequence number to identify the replay.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the transmitter is to include in the first transaction layer packet a prefix to indicate a portion of the first packet for the second device to ignore.

### Claim 6 (depends on 4)

The apparatus of claim 4, wherein the receiver is to receive a second packet as a second transaction layer packet from the second device, the second packet having a second predetermined sequence number to indicate a start of the second packet.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the transmitter is to send a data link layer packet having a first sequence number of a first flit of the first plurality of flits.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the transmitter is to send the first plurality of flits after the data link layer packet, the first plurality of flits not including sequence numbers.

### Claim 9

A non-transitory machine-readable medium having stored thereon instructions, which if performed by a machine cause the machine to perform a method comprising:
communicating, from a first device to a second device via a link, a first plurality of flits;
changing a configuration of the link from a flit-based encoding to a packet-based encoding; and
communicating, from the first device to the second device via the link, a first plurality of packets.

### Claim 10 (depends on 9)

The non-transitory machine-readable medium of claim 9, wherein the method further comprises changing the configuration of the link in response to at least one error incurred in communicating the first plurality of flits.

### Claim 11 (depends on 9)

The non-transitory machine-readable medium of claim 9, wherein the method further comprises receiving at least one data link layer packet in the first device from the second device, the at least one data link layer packet to identify a last flit within the first plurality of flits that the second device correctly received.

### Claim 12 (depends on 11)

The non-transitory machine-readable medium of claim 11, wherein the method further comprises in response to the at least one data link layer packet, replaying at least part of a first packet from a replay buffer as a first transaction layer packet having a first predetermined sequence number to identify the replaying.

### Claim 13 (depends on 12)

The non-transitory machine-readable medium of claim 12, wherein the method further comprises receiving a second packet as a second transaction layer packet from the second device, the second packet having a second predetermined sequence number to identify a start of the second packet.

### Claim 14

A system comprising:
a first device having:
a transmitter to send a first plurality of packets to a second device, each of the first plurality of packets having a packet sequence number; and
a control circuit coupled to the transmitter to cause the transmitter to change from encoding according to a packet-based encoding to a flit-based encoding, wherein in response to the encoding change, the transmitter is to send a first data link layer packet to the second device to indicate a sequence number of a first flit to be sent to the second device with the flit-based encoding;
a link coupled between the first device and the second device; and
the second device coupled to the first device via the link.

### Claim 15 (depends on 14)

The system of claim 14, wherein the first device further comprises a receiver to receive a second data link layer packet from the second device, the second data link layer packet to indicate a last packet of the first plurality of packets that the second device correctly received and a sequence number of a first flit to be sent to the first device from the second device with the flit-based encoding.

### Claim 16 (depends on 15)

The system of claim 15, wherein the control circuit is, in response to the second data link layer packet, to track sequence numbers of incoming flits from the second device, the incoming flits not including explicit sequence numbers.

### Claim 17 (depends on 14)

The system of claim 14, wherein the transmitter is to send the first plurality of packets having xb/yb encoding and send a first plurality of flits having pulse amplitude modulation encoding.

### Claim 18 (depends on 17)

The system of claim 17, wherein the transmitter is to send the first plurality of packets at a first link speed and send the first plurality of flits at a second link speed, the first link speed less than the second link speed.

### Claim 19 (depends on 1)

The apparatus of claim 1, wherein the transmitter to send at least one of the first plurality of flits comprising a plurality of transaction layer packets.

### Claim 20 (depends on 1)

The apparatus of claim 1, wherein the transmitter is to send the first plurality of flits having pulse amplitude modulation encoding.
