Hacker News new | ask | show | jobs
by vvhn 2043 days ago
USB4 is essentially a branding strategy around the USB C connector which with tunneling various standards (USB 3.2 , thunderbolt ) and speeds. Some are required and some are optional to get branded as USB4.
1 comments

One could alternatively describe it more as a rebranding of thunderbolt multiplexing layer.

For those unfamiliar: USB4 does not specify how to interface with specific non-host devices like USB 3 and older did.

Instead it is a multi-protocol tunneling (think multiplexing with routing) system, that allows tunneling USB3.2, Display Port, and optionally PCI-E (i.e. what thunderbolt is known for). It also specifies a requirement of support for different alternate modes, like display-port alternate mode (non-tunneled), and optionally thunderbolt 3 alternate mode. (Thunderbolt 3 runs at a different rate than USB4, among a small list of other differences, not counting the additional features specified in USB4).

Hubs are required to support the otherwise optional thunderbolt 3 alternate mode and USB4 tunneled PCI-E, thereby making every USB4 hub a valid Thunderbolt hub, both for classic thunderbolt (TB3), and for USB4-based thunderbolt (i.e. using PCI-E tunneling in USB4, which I assume part of the updates made in TB4)

Hubs will also support plain USB 3.X from a host, since USB4 is just a negotiated alternate mode over USB3. Thus USB3 can be used unencapsulated if only the hub supports USB4; Fully encapsulated if Host, hub, and device all support USB4; or partially encapsulated, like if the host and hub support USB4, but one of the downstream devices only supports USB3. The hub becomes responsible for encapsulating/unencapulating the tunneled USB3.

In a similar way, a hub can support connecting a classic thunderbolt (TB3) device to a hypothetical host that only supports USB4 PCI-E encapsulation. The upstream port and downstream ports are independent, so one can use the TB3 data rate while the other can use USB4, and the hubs are required to pass the PCI-E data through a PCI-E switch, so everything just works. (Especially since talking TB3 is deliberately nearly the same as talking USB4, other than link speed).

Obviously, USB2 is of course supported as well, in parallel to all other modes since it has separate data lines.

But USB4 is not all perfect. For example every USB4 port on a host must support display-port output. That is not really a huge problem on say a laptop, but it is a pain on enthusiast PC building, since it means motherboards will need a display-port passthrough socket in order to support that requirement. And undoubtedly there are or will be many non-compliant devices out there that break the whole intended it-just-works approach.

Thanks for the explanation, I've been lost in the USB specification for a while. The last major read I did about it was on USB 3.0 so it's nice to have a summary. Will be easier to go dig deeper.