USB4 data is the-collective name of USB 3.2 data, DisplayPort data and PCIe data. It is transmitted through the router in the USB4 system structure, and the adapter is a bridge that connects and communicates with the router and other external entities. There are three types of adapters: protocol adapter, channel adapter and control adapter. The adapter communicates over USB4 through the function stack layer.
The function stack layer is a structure abstracted from the USB4 system structure. It consists of the protocol adapter layer, configuration layer, transport layer and physical layer. The physical layer is divided into logical layer and electrical layer.
1 Connection Manager
The connection manager is the entity responsible for managing and configuring the router. The connection manager uses control packets to communicate with the router. The connection manager needs to go through the host interface adapter layer, which is a specific form of the protocol adapter layer.
2 control package
The full name of control packet is control data packet. The connection manager uses control packets to configure and manage routers on the bus. Routers also use control packets to communicate with connection managers. Control packets are routed on the bus (choosing the best way to deliver the information) based on a routing string (a string that represents the route to the host router and other routers) that identifies the router's position in the spanning tree.
Spanning tree is an abstract description of the connection of actual objects. It is used here to describe the connection of USB4 system (i.e. USB4 host, USB4 hub and USB4 functional device). USB4 systems distinguish routers by topology ID and then route data.
There are two sources of control packets, one is generated by the connection manager and the other is generated by the router.
When a control packet originates from a connection manager, the routing string identifies the router to which the packet is directed. When a control packet originates from a router, the router string identifies the router that sent the packet.
3 Tunnel packets
Protocol traffic is encapsulated through the USB4 architecture and tunneled through "tunnel packets".
Tunnel packets follow one or more paths through the USB4 structure. The tunnel packet is an integrated collection of USB 3.2 data, DisplayPort data and PCIe data.
4 Link management data packet
Link management packets are limited to a single USB4 link. Link management packets originate from the router transport layer at one end of the link and terminate at the router transport layer at the other end of the link.
The following link management packages are defined:
Time synchronization packet – used to synchronize the clocks of routers on the bus.
Flow control packet – used to prevent buffer overflows.
Idle Packets – Ensures that a steady stream of bytes is fed to the logical layer when no other transport layer packets are being transmitted.
5 ordered sets
The logic layer uses ordered sets to perform tasks such as symbol synchronization, link training, and skew between channels. For Gen 2, the ordered set is a 66-bit symbol, using 64b/66b encoding. For Gen 3, the ordered set is a 132-bit symbol, using 128b/132b encoding. The advantage of this encoding form is to select as many "0" and "1" transition data forms as possible, which is more conducive to the receiver's data reception.
6 sideband channels
Sideband Channel handles the following events:
Channel initialization.
Connect or disconnect on the USB4 port.
Channel disabled or enabled.
Enter or exit sleep state.
Sideband channels are packet-based channels. Sideband channel packets are called transactions to distinguish them from USB4 link packets.
Each USB4 port implements a set of link configuration registers called the sideband (SB) register space. A router uses transactions to access the SB register space of another router or retimer.
6.1 Transactions
A transaction is a unit of communication on the sideband channel and consists of a set of defined symbols. There are three types of transactions: LT transactions, AT transactions and RT transactions
Transactions are transmitted over sideband channels in one of three transaction types:
Link Type (LT for short)
Administrative Type (AT for short)
Re-timer Type (RT for short)
6.1.1 LT transactions
LT type transactions are used during channel initialization and are also used to signal changes in the adapter state caused by events such as channel disconnection or transition to low power consumption.
6.1.2 AT affairs
There are two types of AT transactions:
AT command - used to read or write the router's sideband channel register space.
AT response - used to respond to AT commands
Only the router will issue AT transactions
6.1.3 RT transactions
Types of RT transactions:
RT command – used by a router or retimer to communicate with another router or retimer. Can be broadcast or addressed.
RT response – used in response to RT commands (addressed RT transactions only)
6.1.3.1 Broadcast RT transactions
Routers send broadcast RT transactions to enumerate retimers along the link and propagate link attributes to the retimers along the link. Broadcasting RT transactions does not result in RT responses. The retimer has the function of recovering the transmitted data.
6.1.3.2 Addressing RT transactions
The router uses the addressed RT transaction to access the sideband channel register space of the retimer on the link. Routers can also use addressed RT transactions to access adjacent retimers or the router's sideband channel register space.
6.1.3.3 Register space
A router uses AT transactions to access its link partner's sideband channel register space. The router uses the addressed RT transaction to access the sideband channel register space of the retimer on the link. The connection manager can also initiate access to the sideband channel register space of a router or retimer.
What is register space? It is a register map, which is equivalent to an alias for a memory unit with a specific function. The register space here mainly stores information such as supplier ID, product ID, link configuration, etc.
7. Low frequency periodic signaling
Low Frequency periodic signaling in English is Low Frequency periodic signaling (LFPS).
When exiting the power management link state, low-frequency periodic signaling (LFPS) is used for communication between the two link partners.
CLx refers to the low power state. The CLx low-power state is used to reduce transmitter and receiver power when the channel is idle. Support for CLx low-power states is optional.
Steps to exit low power state:
In electrical idle state, that is, low power consumption state;
Send a certain number of LFPS signals and then go back to remaining electrically idle;
Finally, it starts transmitting USB4 data and exits the low power consumption state.