Why does USB only use 2 lines for RX, TX instead of multiple data lines?

It would be faster indeed if instead of one line you'd feed multiple lines at the same symbol clock.

But, USB's primary and foremost goal is to provide easy, serial (hence the S in USB) interfacing between low-cost devices (hence the U in USB) with low-cost, lightweight cabling.

So, that's why USB doesn't do parallel data lines: It's simply not the niche it's supposed to fill.

Also, don't neglect that having multiple high-speed parallel lanes requires the transceiver system to introduce a relative high amount of effort to compensate different skews on different lines, which at high rates are inevitable.

It's often become cheaper to make something work twice as fast than building two of the slower variant, unless you're really directly talking to hardware that is in its raw principle bit-parallel (e.g. DDR memory chips).


One of the main hurdles with any type of parallel bus is skew. If you have 8 separate wires all carrying data, it is important that all of the bits arrive at the approximately the same time. Otherwise, the bits of Byte A could get mixed up with the bits of Byte B. This means that the length of those parallel wires must be matched, within some percentage of the clock speed, so that the travel time of the signal down the wire is approximately the same. The faster the clock speed, the tighter the tolerance on the length between parallel wires.

On a PCB design for something like a motherboard, very tight design constraints are commonplace. PCB traces can achieve 1 mil or better length matching, which is good enough to implement high speed parallel interfaces. One common example of this is the DDR memory interface. This interface relies on parallel communication to move data at very high rates, but it's only possible to (affordably) implement these interfaces internally.

Imagine trying to build an external computer cable with 30+ wire connections, all length matched within a thousandth of an inch! Those cables would be very expensive compared to USB cabling.

Older computers did use a Parallel Port, which had 8 data lines but could only achieve a data rate of around 2.5 MB/s. Compare that to the 60 MB/s of USB 2.0, let alone the newer flavors of USB.


While the answer of Marcus is 100% correct, I want to add that USB 3.2 Gen 1x2 and Gen 2x2 are using two data lanes in each direction while the lanes still run at 5Gbit/s resp. 10Gbit/s each.

Tags:

Usb