1. 程式人生 > >win7及以上版本USB2.0介面小提速

win7及以上版本USB2.0介面小提速

轉載小改

搭載USB3.0雖然已成市場主流,USB2.0仍有大部分使用者在使用,USB2.0的檔案傳輸速度仍然無法滿足使用者的需求,其實USB2.0介面還有提升的空間。

USB理論速度可高達60MB/s,但實際才有30MB/s就是那麼坑爹,只有理論頻寬的一半。這坑爹的原因就是落後的協議和編碼構造方式造成的。

USB2.0採用傳統的Bulk-Only Trasport(BOT)協議,目前沒有進行改進,隨著高速裝置的出現,BOT協議阻礙USB2.0的傳輸速度已經顯現出來,而目前的USB 3.0新增了USB Attached SCSI Protocol(UASP)協議,新增了兩組資料匯流排,支援多命令併發執行和NCQ佇列功能,這樣就可以發揮出5Gbps的高速頻寬優勢。

另外,USB 2.0使用了NRZI(Non-Return-to-Zero Inverted)編碼方式,它是基於序列傳輸模式,傳輸連續的0、1字串,由於其中需要強制插0以保持傳送端和接收端頻率同步會造成USB 2.0傳輸頻寬的浪費。而USB 3.0採用了時下流行的8b/10b編碼方式,有效資料利用率為80%,也就是USB 3.0的有效資料傳輸頻寬為500MB/s。

小補丁為USB 2.0大提速

微軟目前放出一個補丁來提高USB裝置的訪問速度,由於它是一個HotFix熱修復補丁,並沒有作為常規補丁隨系統自動更新,因此我們平時也就體會不到它的作用,那麼我們可以自己來手動下載安裝。

從微軟官方下載Windows6.1-KB2581464補丁(WIN8系統預設一打上該補丁),解壓後安裝。光安裝補丁還不行,還需要手動對登錄檔進行一些修改,將USB 2.0儲存裝置的最大傳輸值從預設的64KB增加到2MB,這樣才能讓它的速度有所提升。

首先需要將儲存裝置的INF裝置資訊新增到登錄檔中。把U盤插到電腦上,在裝置管理器中的磁碟驅動器中找到當前的USB 2.0儲存裝置,右擊它選擇“屬性”,切換到“詳細資訊”選項卡。在屬性下拉選單中,選擇“父系”,這時在“值”的對話方塊中就會出現一串字元,(如圖 1)。其中VID_xxxx&PID_xxxx字元就是USB 2.0儲存裝置唯一的INF裝置標識,例如VID_0DD8&PID_2004,即0DD82004。


執行regedit,開啟登錄檔編輯器,依次點選展開HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Control\usbstor。在usbstor下有幾個子專案,新建一個名為“0DD82004”的項,並選中它,然後在視窗右邊的空白處右擊新建一個名為“MaximumTransferLength”的DWORD值,然後雙擊,把它的值改為001fffe0(如圖2,十進位制數值為 2097120,也就是2MB)。儲存後重啟系統


然後先測試自己U盤速度一遍,與重啟後測試速度會更猛

小編提示:如果你有多個U盤或快閃記憶體,每一個儲存裝置的INF裝置資訊都要新增到登錄檔中。經過多次測試,本補丁主要針對U盤,SD卡加讀卡器基本無效。 對於仍在使用USB 2.0裝置的使用者而言,為其加速能為資料傳輸節約不少的時間,在不升級的情況下免費獲得傳輸效能的提升也是一件不錯的事。當然這種加速模式也適用於USB 3.0,提升其傳輸效能。USB 3.0也基於BOT傳輸協議,但是基於5Gbps高頻寬,只有使用SSD這樣的高速裝置,加速前後的傳輸速度差異才會比較明顯。