USB 3.x速度大不同,USB 3.1 Gen 1、Gen 2 及USB 3.2 的差異為何?看懂不同編碼方式對效能的影響

USB 3.x速度大不同,USB 3.1 Gen 1、Gen 2 及USB 3.2 的差異為何?看懂不同編碼方式對效能的影響

ADVERTISEMENT

USB-IF組織可以說是最愛改名的組織了,雖然說現在已經刪除USB 3.x/USB4的商用命名方式,把USB 3.X和USB4將變更為“USB+傳輸速度”的命名方式,但是現在依然有很多正在使用的舊機器,保持最混亂的USB 3.x期間的名稱,在這裡我們就回顧一下最容易搞混的,USB 3.1 Gen 1、Gen 2 及USB 3.2 的差異為何?

USB 3.x從2008年推出USB 3.0規範開始,陸續經歷USB 3.1 Gen1、USB 3.1 Gen2,以及最新發表的USB 3.2等4種不同的版本,各版本具有除了具有不同的資料傳輸率之外,採用的資料編碼方式也有些差異,導致理論傳輸速度也各有不同,就讓我們深入瞭解一下其中細節。

編碼以避免訊號干擾

USB開發者論壇(USB Implementers Forum)在制定USB 3.0規範的時候,將資料傳輸率設定在5Gbps,後來推出USB 3.1時,USB 3.0被重新命名為USB 3.1 Gen1,所以其實兩者是相同的技術。

至於新推出的升級版規範,則命名為USB 3.1 Gen2,資料傳輸率從5Gbps翻倍至10Gbps,並改變使用的編碼方式,進一步提升實際傳輸效能。至於最新推出的USB 3.2,則使用2條USB 3.1 Gen1或Gen2的資料線路,進行雙通道傳輸。

不過為了降低資料傳輸的過程中產生的電磁波干擾,各世代規範都會先將資料編碼處理後再送出。

USB 3.1 Gen1運作時,會將長度為8bit的資料透過8b/10b編碼,打散(Scramble)成長度為10bit的符號(Symbol),並搭配展頻技術(Spread Spectrum)將編碼後的符號傳送出去,以降低電磁波干擾的情況。接收端收到訊號後,則可經由解碼程序將10bit符號還原為8bit資料。

然而USB 3.1 Gen2捨棄了8b/10b編碼,改為採用以10GbE乙太網路使用的64b/66b編碼衍生的128b/132b編碼。這種編碼會將16組8bit的資料組成1個訊框(Frame),並在區塊前端加上4bit的辨識碼(Identifier),傳輸時仍會搭配展頻技術,但可視狀況決定是否打散。接收端收到訊號後,會將132bit訊框還原為128bit資料。

USB 3.1 Gen1使用的8b/10b編碼,會將8bit的資料打散成10bit的符號。

USB 3.1 Gen2使用的128b/132b編碼,則會將16組8bit的資料打包成132bit的訊框。

Gen2能降低傳輸耗損

Gen1與Gen2最大的差別,在於使用的編碼不同,在傳輸過程中產生的耗損也有所不同。在Gen1的情況中,每傳輸10bit的流量,其中只有8bit為真正的資料,耗損高達20%。而在Gen2中,每傳輸132bit的流量,就有128bit為真正的資料,耗損大約只有3%。

所以在計算理論傳輸速度的時候,USB 3.0與USB 3.1 Gen1的計算方式如下:

5Gbps(資料傳輸率) x 8/10(扣除傳輸耗損)= 4,000Mbps(理論傳輸速度) = 500MB/s

而USB 3.1 Gen2的計算方式如下:

10Gbps(資料傳輸率) x 128/132(扣除傳輸耗損) = 9,696Mbps(理論傳輸速度)= 1,212MB/s

至於USB 3.2的情況則最簡單,因為他是採用2條USB 3.1 Gen1或Gen2資料通道,所以只要直接乘上2倍就好,計算方式如下:

500MB/s x 2 = 1,000MB/s
(或) 1,212MB/s x 2 = 2,424MB/s

不過由於這邊提到的速度都是理論值,在實際應用的情況,會受到線材、端子品質,訊號干擾甚至是裝置效能等因素影響,根據經驗至少要打8折才會是實際速度,所以往後測試USB裝置的效能表現比不上官方宣稱的速度,也不用大驚小怪了。

(標題圖片來源:維基百科,採用創用CC姓名標示-相同方式分享,作者為VIA Gallery)

國寶大師 李文恩
作者

電腦王特約作者,專門負責硬派內容,從處理器、主機板到開發板、零組件,尖端科技都一手包辦,最近的研究計畫則包括Windows 98復活與AI圖像生成。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則