# US 2013/0254451 A1 · General input/output architecture, protocol and related methods to implement flow control

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

- Number: US 2013/0254451 A1
- Document ID: US20130254451A1
- Status: Published application
- Kind: A1
- Application number: 13/730,024
- Filed: 2012-12-28
- Published: 2013-09-26
- Earliest claimed: 2001-08-24
- Assignees: Intel Corporation
- Inventors: Jasmin Ajanovic; David Harriman; Blaise Fanning; David Lee
- Web page: https://patentgrep.com/patent/US20130254451A1

## CPC

- G06F 13/124: {where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine}
- G06F 5/06: for changing the speed of data flow, i.e. speed regularising {or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor (G06F7/78 takes precedence)}
- G06F 13/385: {for adaptation of a particular data processing system to different peripheral devices}
- G06F 13/4059: {where the synchronisation uses buffers, e.g. for speed matching between buses}
- G06F 13/42: Bus transfer protocol, e.g. handshake; Synchronisation
- G06F 13/4221: {being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus}
- G06F 13/4252: {using a handshaking protocol}
- G06F 13/4265: {on a point to point bus (G06F13/4247, G06F13/4282 take precedence)}
- G06F 13/4269: {using a handshaking protocol, e.g. Centronics connection}
- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- H04L 47/30: in combination with information about buffer occupancy at either end or at transit nodes
- 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

An enhanced general input/output communication architecture, protocol and related methods are presented.

## Claims

### Claim 1

An apparatus comprising:
logic to:
receive a packet from a differential, point-to-point serial data link;
identify a traffic class associated with the packet;
identify a virtual channel based on an association of the traffic class to the virtual channel; and
send the packet using the virtual channel.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the link comprises at least one of a physical layer to support a Peripheral Component Interconnect Express (PCIe) protocol layer and a physical layer including one or more other protocols.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the link comprises a PCIe-compliant data link.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the logic is further to assemble physical layer information for the packet to include an identification of the virtual channel.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein identification of the traffic class is to be included in transaction layer information of the packet.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the virtual channel is one of a plurality of virtual channels.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the plurality of virtual channels includes at least eight virtual channels.

### Claim 8 (depends on 6)

The apparatus of claim 6, wherein the plurality of virtual channels includes at least one virtual channel to handle isochronous traffic.

### Claim 9 (depends on 6)

The apparatus of claim 6, wherein the plurality of virtual channels are channels supported by a particular system component.

### Claim 10 (depends on 6)

The apparatus of claim 6, wherein the plurality of virtual channels includes a default virtual channel.

### Claim 11

An apparatus comprising:
logic to:
assemble a transaction layer packet to include an indication of a traffic class associated with the packet; and
send the packet to a device over a differential, point-to-point serial data link, wherein the packet is to be associated with a particular one of a plurality of virtual channels based at least in part on the traffic class.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the link comprises at least one of a physical layer to support a Peripheral Component Interconnect Express (PCIe) protocol layer and a physical layer including one or more other protocols.

### Claim 13 (depends on 11)

The apparatus of claim 11, wherein the link comprises a PCIe-compliant data link.

### Claim 14 (depends on 11)

The apparatus of claim 11, wherein the packet includes a traffic class label indicating the traffic class.

### Claim 15

An apparatus comprising:
a root complex to:
identify a traffic class of a packet from transaction layer information of the packet;
use a virtual channel capability structure to identify a particular virtual channel associated with the traffic class, wherein the particular virtual channel is to be included in a set of at least eight supported virtual channels, the set of virtual channels to include a default virtual channel, and wherein each virtual channel is to comprise a respective one of a plurality of independent logical data flows for a differential, point-to-point serial data link;
assemble physical layer information for the packet to include an identification of the particular virtual channel; and
send the packet, to include transaction layer information to identify the traffic class and the physical layer information, over the link to a device.

### Claim 16

A method comprising:
receiving a packet over a differential, point-to-point serial data link;
identifying a traffic class associated with the packet;
identifying a virtual channel associated with the traffic class; and
sending the packet using the virtual channel.

### Claim 17 (depends on 16)

The method of claim 16, wherein the data link comprises a PCIe-compliant interconnect.

### Claim 18 (depends on 16)

The method of claim 16, wherein the packet is received from a first device and sent to a second device.

### Claim 19 (depends on 16)

The method of claim 16, further comprising assembling physical layer information for the packet to include an identification of the virtual channel, and the packet is sent to include an identification of the traffic class and the physical layer information.

### Claim 20 (depends on 16)

The method of claim 16, wherein the virtual channel is a particular one of a plurality of virtual channels.

### Claim 21

A system comprising:
an interconnect;
a first device; and
a second device communicatively coupled to the first device using the interconnect, the second device to:
identify a traffic class associated with the packet;
identify a virtual channel associated with the traffic class; and
send the packet to the first device using the virtual channel.

### Claim 22 (depends on 21)

The system of claim 21, wherein the interconnect comprises a Peripheral Component interconnect Express (PCIe).

### Claim 23 (depends on 21)

The system of claim 21, further comprising a third device, wherein the packet is received from a third device.

### Claim 24 (depends on 21)

The system of claim 21, wherein the second device comprises a switch.

### Claim 25 (depends on 21)

The system of claim 21, wherein the second device comprises a root complex.

### Claim 26

An apparatus comprising:
logic to:
assemble a transaction layer packet to include:
a type field to indicate a type for the packet;
a traffic class field to indicate a traffic class for the transaction layer packet;
an attribute field to identify an attribute of the packet;
a length field to indicate a length of a data, payload for the packet; and
send the translation layer packet to a device over a differential, point-to-point serial data link, wherein the packet is to be associated with a particular one of a plurality of virtual channels based at least in part on the traffic class to be identified in the traffic class field.

### Claim 27 (depends on 26)

The apparatus of claim 26, wherein the link comprises at least one of a physical layer to support a Peripheral Component Interconnect Express (PCIe) protocol layer and a physical layer including one or more other protocols.

### Claim 28 (depends on 26)

The apparatus of claim 26, wherein the link comprises a PCIe-compliant data link.

### Claim 29 (depends on 26)

The apparatus of claim 26, wherein the traffic class field to indicate a traffic class comprises a traffic class label to indicate the traffic class.

### Claim 30

An apparatus comprising:
logic to receive a transaction layer packet, the transaction layer packet to include:
a type field to indicate a type for the packet;
a traffic class field to indicate a traffic class for the transaction layer packet;
an attribute field to identify an attribute of the packet;
a length field to indicate a length of a data payload for the packet;
logic to map the transaction layer packet to a virtual channel based on the traffic class to be indicated in the traffic class field;
logic to indicate the virtual channel in the transaction layer packet; and
logic to send the translation layer packet to a device over a differential, point-to-point serial data link responsive to the virtual channel to be indicated in the transactional layer packet.

### Claim 31 (depends on 30)

The apparatus of claim 30, wherein the link comprises at least one of a physical layer to support a Peripheral Component Interconnect Express (PCIe) protocol layer and a physical layer including one or more other protocols.

### Claim 32 (depends on 30)

The apparatus of claim 30, wherein the link comprises a PCIe-compliant data link.

### Claim 33 (depends on 30)

The apparatus of claim 30, wherein the traffic class field to indicate a traffic class comprises a traffic class label to indicate the traffic class.
