I spend time investigating a non-existing bug today because I misunderstood a USB term. So I made myself a cheat sheet. Maybe it will save time to someone.
USB Gen A x B A = Generation B = Num lanes used
Note: Multi-lanes systems, uses lane striping (on TX) and lane bonding (on RX). a - What they put on the box. b - Rate with encoding overhead. e.g, 8b/10b = 20%. c - Real life sequencial read rate.
span { text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black; } 4 wires: PWR, GND, D+, D-. 8 wires: PWR, GND, D+, D-. RX+ , RX- , TX- , TX+. 12 wires: PWR, GND, D+, D-, RX1+, RX1-, RX2-, RX2+, TX1+, TX1-, TX2-, TX2+.
Note: 1 USB lane = 1 twisted wire pair +/-. Note: 4 wires = 1 half-duplex lane, 8 wires = 2 lanes (one up, one down), and 12 wires = 4 lanes (two up, two down).
Only the USB Type-C connector has enough pins to support two lanes.
USB 1.0 (Jan, 1996). USB 1.1 (Sep, 1998). USB 2.0 (Apr, 2000). USB 3.0 (Nov, 2008). USB 3.1 (Jul, 2013). USB 3.2 (Sep, 2017). USB 4.0 (Aug, 2019).