The channel that transmits the data packets processed by tunneling technology is called a tunnel. Tunneling technology refers to data packet encapsulation technology, which converts original data packets into data packet forms supported by the local machine for transmission. Tunnels are used to be compatible with the transmission of data of different protocols.
The protocol tunnels we will talk about in this article refer to the tunnels for transmission of three protocols: USB3, DisplayPort and PCIe. They are called USB3 tunnel, DisplayPort tunnel and PCIe tunnel respectively. There are also host-to-host tunnels, which can use PCIe interfaces and other interfaces.
USB4 hosts support USB3 tunneling, DisplayPort tunneling and host-to-host tunneling. USB4 hosts can choose to support or not support PCIe tunneling.
USB4 hub supports USB3 tunneling, DisplayPort tunneling, PCIe tunneling and host-to-host tunneling. USB4 hubs support DisplayPort tunneling in several ways:
A USB4 hub acts as a pass-through for a DisplayPort tunnel (i.e. a USB4 hub transmits tunneled data streams directly between its two USB4 ports).
The USB4 hub contains a DP OUT adapter that receives the tunneled DisplayPort data stream from the USB4 port and sends it to the DisplayPort receiver.
USB4 hubs optionally include a DP IN adapter that sends DisplayPort data streams from a DisplayPort source to a USB4 port that carries the tunneled DisplayPort data stream.
A USB4 hub acts as a host-to-host tunnel passthrough. The USB4 hub does not include a host interface adapter.
USB4 capable devices optionally support USB3 tunneling, DisplayPort tunneling and/or PCIe tunneling. USB4 device routers do not support host-to-host tunneling.
USB 3 Tunnel
The USB4 host contains an internal enhanced SuperSpeed host for sending and reading USB3 data.
The USB4 hub contains an internal enhanced SuperSpeed hub. The internal Enhanced SuperSpeed hub exposes one or more downstream USB3 ports, which can be connected to a USB end device or a downstream USB3 protocol adapter. The upstream port of the internal Enhanced SuperSpeed hub is connected to an upstream USB3 protocol adapter, which forwards packets to the USB4 hub's upper-level interface.
USB4 function device contains an internal enhanced function device for implementing USB3 function.
Display tunnel
The USB4 Display Tunneling Protocol is based on the DisplayPort 1.4a specification. There are two types of DisplayPor protocol adapters: DP IN protocol adapter and DP OUT protocol adapter. The DP IN protocol adapter is connected to the DisplayPort sending source through a DP link. The DP OUT protocol adapter connects to the DisplayPort receiver through a DP link. A router can contain one or more DP IN protocol adapters, one or more DP OUT protocol adapters, or a combination of these three DP IN and DP OUT protocol adapters. The DisplayPort tunnel on the USB4 system architecture starts with the DP IN protocol adapter and ends with the DP OUT protocol adapter.
DP protocol adapter supports three paths:
AUX entry path, used to receive AUX channel data packets.
The AUX egress path used to send AUX channel packets.
The MAIN-Link path used to send (for DP IN protocol adapters) or receive (for DP OUT protocol adapters) Main-Link packets.
The figure below shows the connection form for transmitting DisplayPort data stream through the USB4 system structure. HPD is used to detect whether a display device is inserted, AUX is an auxiliary channel, used to read extended display identification data (EDID), resolution and other information, and Main-link is used to transmit video data.
PCIe tunnel
A USB4 hub that tunnels PCIe traffic contains an internal PCIe switch that forwards PCIe traffic to its downstream port. The internal switch is connected to the router through a PCIe protocol adapter. A PCIe switch exposes one or more lower-level PCIe ports, which can be connected to PCIe terminals, PCIe switches, or lower-level PCIe protocol adapters. The upstream port of the internal switch is connected to the upstream PCIe protocol adapter, which forwards the data packets to the upper-level opposite port. USB4 devices can tunnel PCIe data streams by incorporating internal PCIe terminations or internal PCIe switches.
Host interface adapter
The connection manager connects to the domain through the host interface adapter in the host. A domain is a collection of routers controlled by the same connection manager. The connection manager sends control packets to and receives control packets from the routers in its domain through the host interface adapter. A USB4 host can also use USB4 host-to-host communication to communicate with another USB4 host through a host interface adapter.
Host-to-host tunnel can choose two data transmission modes:
Raw mode – When sending data, the USB4 host publishes the payload of the tunneled packet to the host memory buffer. The host interface adapter layer takes the payload, encapsulates it in a tunnel packet, and forwards it to the internal transport layer host router. When receiving data, the host interface adapter layer publishes the payload of the received tunnel packet into a host memory buffer.
Frame mode – When sending data, the USB4 host publishes frames of up to 4096 bytes into the host memory buffer. The host interface adapter layer takes the frame, fragments it, and encapsulates each fragment into a separate tunnel packet. When receiving data, the host interface adapter layer assembles the tunneled packets received from the USB4 architecture into a raw frame and sends the frame to the host memory buffer.
The host interface adapter layer interface is based on PCIe, which uses PCI device headers, memory modules and PCI interrupts. Host routers that are not PCIe-based can implement different interfaces that provide equivalent functionality.
In short, USB3 tunnels, DisplayPort tunnels, PCIe tunnels and host-to-host tunnels all convert original protocol data packets into USB4 universal form data packets for transmission in the tunnel. The protocol adapter layer, transport layer, logical layer and electrical layer are them. Shared function stack. The general data packet contains path information, which can ensure that different protocols are transmitted to the corresponding recipient, thereby realizing multi-protocol bandwidth sharing.