8

Looking at the specifications for USB-C, I notice that there are four SuperSpeed differential pairs for data transfer, as seen in https://en.wikipedia.org/wiki/USB-C#Specifications. The Wikipedia article also says that only two of these pairs are used in USB 3.1 mode, which I find very strange.

In this question (Why is Thunderbolt 3 on copper wire faster than USB 3.1?) that I asked recently, Ali Chen answered that Thunderbolt 3 over USB-C uses both of these pairs, but USB 3.1 does not. I know that it is possible to run Thunderbolt 3 over any high-quality USB-C cable, so they must have all of the necessary wires. Why doesn't standard USB 3.1 over Type C use both of the pairs, for double the data transfer?

brendon-ai
  • 195
  • 1
  • 8
  • 1
    USB is serial communication. If it multiplexed like thunderbolt does, then it's no longer true to the protocol. Simply put, USB 3.1 is a protocol/specification and USB type C is a cabling specification that is meant to support "alternate modes" that make use of those pairs. – BrianC May 26 '17 at 20:01
  • @BrianC Okay, that confirms what I thought. Thanks! – brendon-ai May 26 '17 at 20:02
  • 1
    "Why" questions are difficult to answer and usually off-topic. In this case, we cannot tell you "why" because we did not come up with the specification. We can provide educated guesses, but we will likely not have a way to tell if our educated guess is actually the true answer. Further, any selected "answer" will only be that answer which best fits OPs own opinions, or best argues in its own defense. Neither of these criteria involve finding an answer which resolves a root issue. – music2myear May 26 '17 at 20:26
  • You can run TB only over FULL-FEATURED Type-C-Type-C cable, not on any cable. The Type-C connector standard defines 15 different types of cable assemblies (there used to be 18 types, but later the set was reduced to 15). – Ale..chenski May 26 '17 at 21:39
  • 2
    Voting to reopen because Spiff's answer seems spot on. – psusi May 27 '17 at 23:54

2 Answers2

12

USB 3.1 Gen 2 (SuperSpeed+, 10 Gbps) was designed to work over both existing USB 3.0 cables (the ones with the 5 extra contacts), as well as USB Type C cables.

Since existing USB 3.0 cables (the ones with Type A and B connectors, as well as the micro A and B variants) only contain one super-speed pair-of-pairs (Tx pair and Rx pair), USB 3.1 Gen 2 could only use that one pair-of-pairs and still work over existing USB 3.0 cables. So even when you run USB 3.1 Gen 2 over a cable with Type C connectors, it only uses the one super-speed pair-of-pairs. This also makes it possible to have USB 3.0/3.1-capable cables with a Type C connector on one end, and the earlier USB 3.0-style Type A, B, micro A, or micro B connectors on the other end.

Now you might ask a follow-up question, "Why didn't the USB Implementers Forum (USB-IF, the USB standards consortium) define an even-faster-than-10Gbps flavor of the USB protocol, that uses both super-speed pairs-of-pairs in the Type C connector?" That's a valid question, but I'm unwilling to speculate. It would certainly have been a bigger departure from previous USB PHY designs, in that it would have two separate send and receive data streams that would have to be coordinated. In effect, it would be a kind of parallel interface whereas USB has traditionally been nominally serial.

The way you asked your question exposed a few potential misunderstandings that I'd like to address here:

I know that it is possible to run Thunderbolt 3 over any high-quality USB-C cable

That's not quite true. There are many high quality USB Type C compliant cables that are not suitable for Thunderbolt 3. Thunderbolt 3 is limited to ≤ 0.5m cable lengths if you have a passive cable. To go longer than that (like 2m), you need a more expensive active cable (a cable with special IC chips in it to assist in signal handling).

Why doesn't standard USB-C use both of the pairs

USB-C is not a protocol. USB Type C is the name of a connector and cabling specification; it's not the name of the protocols that are used over those connectors and cables. When doing USB protocols over Type C cables, you're doing USB 3.1 Gen 2 (10Gbps "SuperSpeed+"), or earlier flavors of USB.

Spiff
  • 101,729
  • 17
  • 175
  • 229
  • "Thunderbolt 3 is limited to ≤ 0.5m cable lengths if you have a passive cable." - this is not quite true either. The length of link is limited by cable quality, by its attenuation of the signal at Nyquist frequency. If you manage to make a cable from, say, some low-density Teflon with silver-plated wires and shield braid, all highly uniform, you can have error-free communication over much longer cables without any active re-drivers, as long as you meet far-end eye diagram and jitter bathtub. – Ale..chenski May 27 '17 at 21:11
  • I apologize. I am aware that USB-C is a cable, not a protocol. Edited. – brendon-ai May 27 '17 at 23:34
  • Actually, Type-C interconnect specification defines a lot of protocols. One is for the basic pull-ups/pull-downs on CC pins to determine the role of port, host or device, or other auxiliary connectivity (debug, audio, video). For Dual-Role ports there is another flip-flop protocol. Electronic marker interaction over CC also must follow a very specific protocol. Just look at Section 4.5.2 of Type-C specifications and study the fairly sophisticated state machine diagrams in Figures 4-12, -13, -14, -15, -16, etc. Or verbal description of interoperability protocols in Section 4.3. – Ale..chenski May 28 '17 at 16:21
  • Only two months after this answer was written, USB 3.2 was announced which can actually use both lanes in existing USB-C cables - for 10/20gbps (gen1/gen2) of speed, so double USB 3.1 speeds: https://en.wikipedia.org/wiki/USB_3.0#3.2 Actual controllers might be available soon: https://www.anandtech.com/show/14430/asmedia-demonstrates-asm3242-usb-32-2x2-controller-available-in-august – user1531083 Sep 01 '19 at 14:28
5

USB 3.1 uses one lane (Tx pair and Rx pair) because it is USB standard, to use only one Rx+Tx. All original USB connectors (A, B, microAB) have only one pair of SS (SuperSpeed) contacts, and the entire USB hardware architecture focuses only on one, single-lane design.

To use more lanes in parallel, there should be additional architectural elements in hardware data pipe on how to deal with lane synchronization and other issues associated with individual link-layer management, buffer credit exchanges and error recovery, link training and individual channel electrical optimization. Once you do all this, it is turned into "Thunderbolt". Or something like MIPI.

The Type-C connector is a new standard for CONNECTOR, which was meant to have wider applicability than USB alone. The need for Type-C was largely driven by system design, to fit into smaller form-factors of portable electronics. In some sense it has nothing to do with USB, and your request to re-use all available super-speed lanes to change the standard USB architecture is unfounded.

Ale..chenski
  • 12,414
  • 4
  • 35
  • 46
  • One tthing I am curious about... if USB 3.1 uses only one Tx-Rx pair then why they don't just run more USB signals over the rest? Even with two for DisplayPort as in "mixed mode", you could have two independent 5gbps buses for two SATA SSDs or something like that. No need to sync 'em. – chx Oct 09 '18 at 08:20
  • @chx, the optional use of second pair of Tx+Rx was introduced in USB 3.2 specifications. – Ale..chenski Oct 09 '18 at 15:40