The USB4 system structure consists of three parts: USB4 host, USB4 hub and USB4 functional device. USB4 hosts can be laptops and tablets that support USB4. They need at least one USB Type-C interface to support USB 3.2 data transmission, PCIe data transmission and DisplayPort video signal transmission. A USB4 hub is a device that extends a USB4 interface to multiple USB4 interfaces. It can also be a USB4 docking station. USB4 functional devices, that is, external devices, can be monitors, solid-state drives, mobile hard drives, etc.
In fact, a USB4 hub can also be connected to another USB4 hub, and then another USB4 hub is connected to another USB4 hub, and so on, so that more functional devices can be expanded. As shown in the figure below, this is a USB4 multi-level connection. Each additional USB4 hub has an additional level of connection.
What is the multi-level connection method of USB4 system structure?
01Multi-level connection
Before the introduction, it is necessary to explain the concepts of the two terms "spanning tree" and "topology".
1 spanning tree
Spanning tree is an abstract description of the connection of actual objects. It can equate actual objects into points, and the connection method is replaced by line segments. A spanning tree is a connected graph composed of n points and n-1 line segments. All points are connected together and cannot form a loop.
In the figure below, the 6 points on the left are connected. One more line segment will form a ring. One less line segment will not guarantee that every point is connected. By changing the position of such a connection, a tree structure can be obtained. This connection method is called a spanning tree. It can be compared to a real tree. From the root to the trunk, then the branches, and finally the leaves, there is only one road between any two leaves.
2 Topology
The abstract connection method when the host and various devices are interconnected is called topology (English: Topology). Interconnection means mutual union, emphasizing that they form a whole. Topology studies the connection relationships between hosts and devices, and represents these relationships graphically. The actual connection method that describes the topology is called the physical topology.
2.1 Physical topology
The following is an introduction to the physical topology of the USB4 system structure, that is, describing the actual connection methods of USB4 hosts, USB4 hubs and USB4 functional devices. The ports connected between them are divided into two types: DFP and UFP.
DFP, the full English name is Downstream Facing Port, which represents the downstream port. It is used on the host interface or hub to connect to external devices and is the sender of data.
UFP, the full name in English is Upstream Facing Port, which represents the upstream port. It is used as an interface on external devices or hubs to connect to the host. It is the responder of data.
The physical topology describes the layout of various devices connected together, usually similar to a tree. There is a USB4 host at the root of the tree, connected to the upstream port (UFP) of the USB4 hub through the downstream port (DFP), which can connect a One or more USB4 hubs. The downstream port (DFP) of the USB4 hub is connected to the upstream port (UFP) of the USB4 functional device to expand multiple functional devices. You can also continue to connect a USB4 hub, then connect a USB4 hub or USB4 functional device, and connect repeatedly.
If there are multiple USB devices connected to the USB4 host, looping will occur, forming a loop. If the connection manager detects loops in the physical topology, it uses a subset of the spanning tree form and removes any loops. If there are no cycles in the physical topology, the spanning tree is the same as the physical topology.
2.2 Topology ID
The connection manager assigns each router in its domain a unique topology address, called a topology ID. The topology ID represents the router's position in the domain's spanning tree. Routers rely on topology IDs to find transmission paths.
The topology ID is a sequence of seven adapter numbers that represent the adapters in the downstream ports at each level of the spanning tree between the host router and the host router.
The topology ID of the host router is always the seven numbers 0,0,0,0,0,0,0. The topology ID of a device router with a depth of number. The figure below shows an example of a spanning tree and the assignment of topology ID values to each router.
For example, the topology ID of router B=0,0,0,0,0,0,7 means that router B connects to the channel number 7 of the upper-level host router. The topology ID of router D is 0,0,0,0,0,3,7, which means that router D is connected to the channel numbered 3 of the upper-level router B, and then connected to the channel numbered 7 of the upper-level host router. .
In addition to the connection between USB4 hosts, USB4 hubs and USB4 functional devices, multi-level connections also include USB host-to-host connections.
02 USB4 host to host connection
Connection managers in two connected domains communicate with each other using host interface tunnel packets (a collection of USB 3.2 data, DisplayPort data, and PCIe data). The most common use of host-to-host tunnels is to allow two connection managers to exchange information through their respective host interfaces.
For example, two USB4 hosts can exchange data over USB4 using host-to-host tunneling. A USB4 host router and any number of other interconnected routers form a domain. The interconnection method that describes the interconnection of domains is called domain topology. Data transmission between hosts also requires the router to determine the transmission path based on the topology ID.
The data packet of Router A in Domain 1 is sent to the host router in Domain 2. Compared with Domain 1, the topology ID of the routing data packet of Domain 2 is [0, 0, 0, 0, 0 , 3, 5]. That is, channel 3 of router A in domain 1 is connected to channel 5 of the host router.
The host router in domain 2 sends the data packet to domain 1. Relative to domain 2, the topology ID of router A in domain 1 is [0, 0, 0, 0, 0, 0, 5], that is, it is connected to domain 2. Channel 5.