5
\$\begingroup\$

Coming from the software side of things, every now and then I'll hear about some new USB, PCIe, or other standard and how it's faster than the last.

What is the determining factor behind how fast a data interface can be? Is it the structure of the protocol itself? Do the groups of people designing the standard also have a say over the hardware specifications that they improve upon every generation? What's physically stopping my USB 2.0 device that I plug into a 2024 computer from transferring data as fast as a 3.2 device? The onboard controller of the device that's plugged in? Or is it something else?

\$\endgroup\$
1
  • 2
    \$\begingroup\$ Hello and welcome. You've asked a very broad question and it might help if you narrowed it down. Most communications standards have the protocols and software and hardware specified at the same time, and so "yes certainly" the standardisers also have a say over the hardware. If you come from a software background, you need to understand that when the signal arrives at the other end of the wire it has various distortions and degradations which depend on the wire, length, frequency and many things. Ask specific questions and you'll get much better answers. \$\endgroup\$
    – jonathanjo
    Commented Oct 25 at 8:20

3 Answers 3

6
\$\begingroup\$

In the case of your specific example, USB 3.x has several extra wires over USB 2.x. These have better impedance control, and run like the high speed pairs in SATA, HDMI etc. The original USB 2.x has a 'telephone grade' twisted pair, used in half duplex, which has already been pushed for speed as far as it can be.

In general, hardware and protocol specifications go hand in hand. Speed increases come from either changing the hardware, like adding extra lanes for USB and ethernet, or incremental changes like improving impedance control, transmit pre-distortion, and receive training and equalisation, allowing SATA to go from 1.5 to 3 to 6 Gb/s, or USB3 from 5 to 10 to 20 Gb/s.

\$\endgroup\$
2
  • \$\begingroup\$ "The original USB 2.x"! That makes me feel old, because USB1 came out after I got my first PC of my own. USB2 runs over the same cable as the actual original USB1 (well, some USB1 devices got away with cable that didn't even meet that spec) \$\endgroup\$
    – Chris H
    Commented Oct 25 at 15:58
  • 1
    \$\begingroup\$ @ChrisH USB 1 came out about 10 years after I got my first PC and about 20 years after I built my first computer :-) \$\endgroup\$
    – Russell McMahon
    Commented Oct 25 at 16:34
5
\$\begingroup\$

What is the determining factor behind how fast a data interface can be?

Several factors. First the Shannon-Hartley theorem states the maximum throughput of a communication channel depending on its bandwidth (BW) and signal to noise ratio (SNR).

The gist of it is: throughput in error free bits/s is proportional to bandwidth, which is quite intuitive.

For short cheap wired links like USB, SNR is usually excellent, so it exits the equation, and immediately comes back in the form of cost savings: when SNR is high, there's no need to pay extra for circuitry capable of digging the signal out of the noise. So you get simple modulation schemes, data is encoded (scrambled, error checking codes added, etc) into 1-bit symbols transmitted as two voltage levels. But then you need a cable with a bandwidth similar to the throughput, in other words you need a cable that will transmit several GHz at low attenuation and low skew (ie, all frequencies arrive roughly at the same time)... and as cheap as possible, of course. Any discontinuity in the transmission line creates reflections, like echoes, so while noise is low, inter-symbol interference can be high. Thus one necessary condition for Gbps USB is to be able to manufacture a complete chain (PCB - connector - cable - connector - PCB) with controlled attenuation and propagation delay over a few GHz, for a total cost of less than $1. It is not easy, so it took a while.

Then you need chips at both ends, fast enough to handle it, for a total cost of 10c or less, and very low power budget too. Again, not easy, so it took a while.

And of course you need to... actually need it, so you need the rest of technology to offer peripherals that can actually use the extra bandwidth, like SSDs.

If you add six zeros to the acceptable cost, and a few zeros to the power budget, not to mention the size, it was doable 30 years ago of course, but the cost was only worth it if you were laying under sea cable or stuff like that.

Basically, as a wet finger in the wind estimation, a USB3 port from 2024 would cost about the same as a USB2 port from 2010 or a USB1 port from 2000. It's only possible to upgrade the performance when it becomes cheap enough.

What's physically stopping my USB 2.0 device that I plug into a 2024 computer from transferring data as fast as a 3.2 device?

  • The USB3 socket contains both USB2 and USB3 on completely separate contacts

  • USB2 hardware is too slow to handle USB3 speeds and isn't designed to understand the new protocol.

USB also has a specific quirk: USB1-2 are half duplex, using one wire pair making one link which is used in both directions, whereas USB3 is full duplex, so it uses 2 wire pairs making 2 links. So they're fundamentally incompatible. The transition to full duplex was needed because the time spent for the bus to "turn around" (ie, change transmission direction) is short but not zero, so at 12Mbps the number of bits not transmitted during this wait time is negligible, but the higher the throughput, the more it matters.

Ethernet is a completely different thing than USB, because cables are much longer. This shifts the cost balance towards making the electronics smarter and more expensive to be able to use cheaper cables, and of course each generation needs to be compatible with the previous one, because replacing cables and sockets is very expensive.

If USB1 had been designed as full duplex, which it wasn't because it would have cost 10 cents more... but if it had been, it would probably have been possible to keep the same USB plugs for USB2 and 3, and have devices at both ends negotiate which version they want to use, just like Ethernet. Of course the 480Mbps cables would have to be upgraded for 4Gbps.

\$\endgroup\$
3
\$\begingroup\$

I think I understand what you mean, however comparing USB2 and USB3 is like comparing apples to oranges, they are completely different animals.

For example, USB3 uses different connectors, cables, wires and pins only reserved for USB3 traffic, so USB2 is a parallel infrastructure with USB3, and as a consumer, you dont't need to know that.

Basically see an old familiar socket that is upgraded with USB3 and can work with USB2 and USB3 devices. So an old USB2 cable or device don't know about existence of USB3 so with them you only get USB2 speeds.

So as your old USB2 device knows nothing about USB3, it works with USB2 wires and protocols to your laptop, and your laptop sees an USB2 device plugged to USB2 wires, instead of USB3 device plugged to USB3 wires.

USB2 itself has internally parallel infrastructure inside chips, where you have a 480Mbps capable HS hardware on same wires as legacy USB1 capable LS/FS hardware that can use 1.5Mbps/12Mbps.

So basically for USB, the same wires/cables/connectors were used while devices and chips added hardware for new protocols and speeds to communicate over same infrastructure.

For many other interaces (SATA, PCIE, HDMI, DisplayPort, Ethernet over CAT cabling etc), they negotiate first what version of the protocol (link speeds) are supported, and start to use a link speed that is fastest (or needed in case of HDMI, as it depends on pixel clock).

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.