How Encoding Sceheme Affects USB Data Communication Efficiency

Eileen Chu
3 min readNov 19, 2021

--

To reduce electromagnetic interference while transferring the data, the data will be processed via encoding before the transmission in each generation of USB specifications. Different USB generations will have different encoding methods. Using different approaches of encoding data for transmission will bring on different data communication efficiency.

Photo by Markus Spiske on Unsplash

In this article, we will focus on four types of USB 3.2 and you can understand how different encoding influences the different types of USB 3.2.

Data Encoding Scheme

USB 3.2 Gen1x1 (new name of USB 3.0/ USB 3.1 Gen1)

  • x1 (Pronounced “by one”, referring only one-way data communication capability)
  • Data transmission rate: 5 Gbps
  • 8b/10b encoding: 8b/10b is a line code that maps 8-bit words to 10-bit symbols via scrambling to achieve DC-balance and bounded disparity. In order to prevent electromagnetic interference, the Spread Spectrum technology will be used to transmit the encoded data. After receiving the signal, the receiving end can restore the 10-bit symbols to 8-bit data through the decoding process.

USB 3.2 Gen2x1 (new name ofUSB 3.1 Gen2)

  • x1 (Pronounced “by one”, referring only one-way data communication capability)
  • Data transmission rate: 10 Gbps
  • 128b/132b encoding: 128b/132b that is extended from 64b/66b will frame a 4-bit identifier in the head and a 16-set of 8-bit data, which is 132 bits in total. Spread Spectrum technique will be used while transferring the data to avoid electromagnetic noise. However, it can depend on the situation to determine whether to scramble the 8-bit data. The 132-bit frame will be restored to 128-bit data after the receiving side obtains the data signals.

USB 3.2 Gen*x2

  • Using 2 USB 3.2 Gen1/Gen2 data lanes for dual-channel transmission
  • x2 (Pronounced “by two”, allowing two-way data communication capabilities)
  • USB 3.2 Gen1x2: Using 2 USB 3.2 Gen1 data lanes at once
  • USB 3.2 Gen2x2: Using 2 USB 3.2 Gen2 data lanes at once

Data Loss Rate

USB 3.2 Gen1x1 (new name of USB 3.0/ USB 3.1 Gen1)

5Gbps (data transmission rate) x 8b/10b (data loss rate) = 4,000Mbps (theoretical data transmission speed) = 500MB/s

USB 3.2 Gen2x1 (new name of USB 3.1 Gen2)

10Gbps (data transmission rate) x 128b/132b (data loss rate) = 9,696Mbps (theoretical data transmission speed) = 1,212MB/s

Due to the different encoding between Gen1 and Gen2, the performance of Gen2 is way better.

  • USB 3.2 Gen1: There will be only 8-bit real data in 10-bit characters, resulting in 20% data loss.
  • USB 3.2 Gen2: In 132-bit data, 128 bits will be real, that is, it reaches only a 3% data loss rate.

USB 3.2 Gen*x2

You can just double the data loss rate of USB 3.2 Gen*x2 since USB 3.2 Gen*x2 is using 2 lanes of USB 3.2 Gen1/Gen2.

  • USB 3.2 Gen1x2: 500MB/s x 2 = 1,000MB/s
  • USB 3.2 Gen2x2: 1,212MB/s x 2 = 2,424MB/s

--

--