02fb1ede6bcfd884da6b042c3f6ebce4 USB 3.0 上路3年多,也許大家已經漸漸失去新鮮感,然而軟硬體才剛完全到位而已。Windows 8 是首款原生支援該介面的作業系統,亦支援我們談論過多次的 UASP,兩者相輔相成構成最有力的組合。

快速瀏覽:

硬體不是只有硬體

現在說到想買USB裝置,大家都知道要挑USB 3.0版本,除了價格和USB 2.0產品相近甚至是更便宜,傳輸速度也加快了幾倍。相信多數人都懂得這樣聰明採購,就算電腦只有USB 2.0也值得,未來升級主機就不用把裝置砍掉重練。不過當你對這速度快感趕到滿足時,可別以為技術發展早就已經頂天了,其實它才剛「ready」而已!

USB 3.0實體產品在2009年正式上路,除了主控制器蹦出來,還有外接硬碟必要的橋接器。這些都屬於硬體元件,要構成完整應用組合,還少不了驅動程式這軟體層元素。先前礙於沒有作業系統支援,使用者還得安裝廠商各自提供的主控制器驅動程式,才能在Windows之類作業系統下運作。

系統支援普及更快

儘管Windows歷來評價褒貶不一,身為滲透率最高的個人電腦作業系統,Microsoft經常致力於為新硬體裝置,或者是相關規範提供支援。雖然現在買顯示、磁碟陣列,音效等介面卡,仍然少不了要自行安裝驅動程式,系統原生內建支援的影響力卻很微妙,往往被視為USB新規範普及的關鍵點。

Windows 8所扮演角色,是首款支援xHCI 1.0規範,以及UASP傳輸模式的作業系統。所謂支援自然是指內建驅動程式,我們不再需要為USB 3.0主控制器安裝特定驅動程式,如果你有相對應規格的周邊裝置,那麼同樣是無需多此一舉,就能立即體驗到UASP加速效果的威力。

▲UASP過去不容易構成完整的軟硬體環境,只能依賴像是主機板廠商提供的解決方案。

推廣USB 3.0的2大癥結點

我們曾經提過幾次xHCI,還有UASP傳輸模式等,都屬於USB 3.0規範中的重要元素,在此簡單快速地溫習一番。

xHCI發展較硬體慢

xHCI(Extensible Host Controller Interface,可擴展主機控制器接口)是由Intel領導制定,和過往USB 2.0世代的EHCI,以及USB 1.x的OHCI/UHCI作用相同。其目的是建立一套相容性標準化機制,用以確保包含USB 2.0規格在內的設備,都能夠相容運作。因此牽動層面甚廣,舉如主控制器、裝置端,乃至於驅動程式等都有關聯。

Intel在2008年8月發表xHCI 0.90草創版本,做為第一個設計參考規範,但是直到2009年5月xHCI 0.96版公布後,才由Renesas(NEC)率先量產主控制器µPD720200。Intel很快地在2010年5月頒布首個正式版本xHCI 1.0,稍後包含Renesas(NEC) µPD720202等,多款符合新規範的控制器接連誕生。

▲xHCI架構橫跨硬體與軟體層,掌握為之關鍵的相容性。

左右速度與功耗表現

xHCI除了牽動相容性,對傳輸速度、消耗功率,以及虛擬化亦具有影響。兩者間主要差異是TRB(Transfer Ring Block,傳輸環塊)安排的不同,xHCI 1.0版提升了驅動程式與硬體傳輸效率,而且改善向下相容性,以及強化電源管理機制。在軟體層面,它屬於主控制器的驅動程式統一標準,讓系統廠商得以遵循撰寫出通用版本。

但是相對的,xHCI 1.0版設計複雜度相對提高,認證過程也比xHCI 0.96版耗時。雖然舊版控制器看似落伍了,卻也不是完全沒有轉圜的餘地,某程度上來說藉由韌體更新補強,可以從xHCI 0.96版升級到xHCI 1.0版本。像ASMedia ASM1042這款xHCI 0.96版主控制器,官方在近期宣稱也通過xHCI 1.0測試認證,就是個很好的實例。

老卡不急著升級換新

從現實面而言,xHCI版本對使用者的影響是近乎無感,所以這部分我們輕描淡寫帶過就好。你只需要記得Windows 8所扮演角色,它是首個原生內建支援xHCI 1.0的作業系統,並且向下相容xHCI 0.96版本控制器,灌系統時都不再需要手動安裝驅動程式即可。

這等於代表現階段不需要衝著xHCI 1.0,盤算將使用中的舊版本控制器擴充卡,或者是主機板、筆電等設備,進行汰換升級等動作。與其在意這點,不如早早升級Windows 8會更為實際,稍後要會進一步探討,證明升級作業系統的價值所在。

加速後燃器UASP

過去筆者常將UASP(USB Attached SCSI Protocol)掛在嘴上,現在Windows 8原生內建支援能帶來什麼好處,同樣來簡單扼要的重點複習。打從1999年USB 1.1時代開始,USB一直使用名為BOT(Bulk-Only Transport)的資料傳輸架構,即便發展到USB 2.0仍然沒有更動過,並且延續下來成為USB 3.0基本傳輸模式之一。

BOT特性是會將傳輸資料切割為64KB大小的封包,由於同一時間單位內,只能傳送1組控制命令寫入資料,以及進行讀取資料的動作,所以稱之為半雙工傳輸模式。這樣的資料傳輸模式很沒有效率,因此種下實際速度難以突破40MB/s(相等320Mbps),離480Mbps理論頻寬還有段差距的因果。

為改善資料傳輸效率,USB-IF在制定USB 3.0規範時,取用源自SCSI架構的設計進而推出UASP。它具備多命令平行處理能力,以及任務管理與控制力等機制,亦支援NCQ(Native Command Queuing,原生指令排序)。此外資料封包切割大小新納入1MB規格,得以改善大量持續傳輸的效率,近乎可以視作為USB 3.0版本的SATA。

▲xHCI硬體層包含USB 3.0主控制器,以及裝置端使用的橋接器晶片。

多工傳輸榨乾頻寬

UASP運作中分為命令(Command)、狀態(Status)、資料輸入(Data-in),資料輸出(Data-Out)等4種狀態,這些基本控制訊號架構和BOT相當。而且基於異同步傳輸特性,可以同時間進行資料傳輸與接收,因此被歸屬在全雙工傳輸模式類型。

參考附圖可發現,UASP送出第一筆命令控制訊號後,資料輸入與資料輸出得以同步執行,過程中不需要停下來等待狀態訊號,可以持續反覆進行資料傳輸作業。反觀BOT控制訊號有排列組合限制,而且每次只能進行寫入或讀取其中一個動作,過多控制指令徒增時間延遲,自然無法拉高傳輸效率。

具體來說,UASP多工運作能夠提升資料傳輸效率,在多裝置同步傳輸的高負載條件下,更可以充分利用總和5Gbps理論頻寬。

 

▲BOT與UASP運作模式示意圖,UASP(下圖)同時間內可以送出多筆讀取與寫入指令,因此資料傳輸速度與總和頻寬利用率,都比只能處理讀與寫各1筆存取指令的BOT(上圖)來得高。

匝道儀控調整速度

將USB 3.0理論頻寬想像成高速公路速限,而資料封包切割大小是車輛乘載人員數量,BOT與UASP則是入口匝道儀控管制機制。同時放行進入高速公路主幹道的車輛越多,自然可以在短時間內輸送更多人到達目的地,相對來說就是更有效率。

BOT紅綠燈就像施行儀控管制,在每個紅、綠、黃燈跳閃周期內,綠燈時只允許一輛車通過。UASP具有2種組態,一是儀控的綠燈時間很長,允許放行較多車輛,二是像沒有儀控管制時,車輛可以連續湧進高速公路。兩相比較,UASP自然是輕鬆勝過BOT模式,成為USB 3.0賣點可不是浪得虛名。

▲BOT具有指令迴圈特性,指令完成所有運作動作後,才能繼續執行下一筆新指令,近似於單工運作模式。

關鍵驅動難取得

相較於xHCI 1.0,UASP條件要求嚴苛了許多,除了主控制器與裝置端橋接器都得支援,還要搭配相對應的驅動程式才能構成完整環境。其中主控制器部分,Intel 7系列晶片組與NEC是明確支援,NEC早在推出第一代控制器時,就已經積極開發出相對應的驅動程式,因此不論新舊晶片的支援度都很高。

相對應的周邊裝置部分,現階段USB隨身碟是不用抱以希望,因為還沒聽說有廠商針對UASP應用開發產品的消息。唯一可以把玩的是外接硬碟橋接器,舉如ASMedia 、LucidPort、Ti、JMicron都在支援名單之內,說來不多也不算少。

USB-IF將UASP驅動程式開放由第三方軟體廠商進行開發,得以付費型態提供給硬體製造商,姑且不論是否會有相容性問題,這種做法無疑會墊高產品成本,導致硬體廠商興趣缺缺。再者,該由主控制器還是裝置廠商負責提供,也成了個大問題。因此Windows 8能夠納入支援,著實讓人感到「足感心」,終於有機會體驗到UASP加速快感。

關鍵字:SCSI

SCSI(Small Computer System Interface,小型電腦系統介面)是磁碟傳輸介面的一種,和PATA同為並列傳輸,目前已由序列傳輸的SAS(Serial Attached SCSI,串列SCSI)取代。SATA的NCQ指令功能,也是取經自SCSI TCQ指令架構,並且精簡而來。

 

選購時得睜大眼睛

雖然Windows 8解決了驅動程式問題,周邊裝置支援性卻仍然存在麻煩。即便橋接器支援,用以搭配的韌體可以決定該功能關閉或啟用,晶片廠商有可能將之列為額外收費項目。就以Icy Dock MB668U3-1SB這款外接盒為範例,它採用LucidPort USB300-REV2橋接器,儘管LucidPort官方規格標示支援UASP,實際試驗結果其實不然,十之八九正是韌體在作祟。

外接盒產品最常見這種陷阱,市場大小外接盒品牌多如牛毛,採用的橋接器倒是集中在特定幾家晶片廠商,具有相當高的同質性。選購時得特別留意,即便使用的橋接器相同,可不代表每家產品的功能性會一致。裝置製造商強調支援者,才肯定能夠正常以UASP模式運作。

UASP驅動免動手

當東風具備之後,你還需要的就只有Windows 8而已。而且一如USB的即插即用精神,使用者不需要手動加裝任何驅動程式,也沒有進行設定調整的必要。系統會自動偵測插入的裝置類型,予以合適的BOT或UASP模式驅動,使用上是不會感受到其中差異,惟獨傳輸速度會不同而已。

如果你好奇作用中的模式,可以進入「控制器」>「系統」>「裝置管理員」,最簡易辨識方式是點開「磁碟機」,裝置名稱結尾顯示為「USB Device」者就是以BOT方式傳輸資料,UASP則是以「SCSI Device」來顯示。另外點開「存放控制器」項目,會看到多了個「USB Attached SCSI(UAS)Mass Storage Device」磁碟控制器,代表UASP正常作用中。

▲BOT模式以USB Mass Storage Device字樣顯示,UASP則是在「存放控制器」內,以USB Attached SCSI(UAS)Mass Storage Device顯示之。

測了才知道作用

在UASP模式下,裝置名稱顯示為SCSI Device,某程度上來說算是Windows的一種特性吧。這並不會影響到USB熱插拔等,既有運作機制與特性,它仍然是百分百的USB裝置。寫入資料後可別急著拔掉插頭,建議按「安全地移除硬碟並退出媒體」退出裝置,免得暫存資料還沒完全寫入,進而造成檔案損毀等問題發生。

這邊提醒大家,USB 3.0主控制器理論上都支援UASP,Windows 8卻有點挑嘴。據悉Microsoft只針對xHCI 1.0主控制器撰寫UASP驅動程式,xHCI 0.96版本控制器被排除在外,仍得由廠商提供的驅動程式與韌體來決定功能性。不過筆者試驗發現,Renesas(NEC) µPD720200A屬於xHCI 0.96版本,Windows 8預設狀態下仍然得以自動啟用UASP模式,這點相當值得玩味。

▲Windows 8原生內建BOT與UASP驅動程式,如果選擇安裝晶片廠商提供的版本,就會被取而代之。

▲筆者猜想USB 3.0控制器型號結尾數字,代表符合的xHCI版本規格,自行加裝驅動程式之後,就不會有這些字樣出現。

延伸閱讀:

看懂 USB 3.0:為什麼很快?架構完整大介紹

Windows 8 新功能:原生支援 USB 3.0 來了

手工改造成 USB 3.0 機殼,升級享受極速快感

老電腦擴充 USB 3.0 選對控制器很重要!速度實測與採購重點看過來

買第一個USB 3.0產品:20款外接硬碟、隨身碟特性介紹與效能實測

(後面還有:USB 3.0極致性能研究)

使用 Facebook 留言

darks929
2.  darks929 (發表於 2013年3月17日 22:22)
同上+1
我是很忙碌的人 我直接翻到最底頁末端想看總比較圖 結果沒有..
電腦王不要玩我
2人給推

4.  電腦王不要玩我 (發表於 2013年3月18日 01:52)
1.微軟在開發Windows 8 for USB 3.0 xhci driver Inx-box 或 UASP driver是以µPD720202, µPD720201及FL1100為reference card.
2.關於UASP的部分;USB 3.0 Host晶片也就是指硬體的部分要有支援,接者FW要開起才有用(如果有FW);但是像Fresco是Hardware mode它無FW,假設硬體設計沒UASP就沒用處.
3.Device的IC的部分也是一樣,假設IC設計有UASP如過FW沒更新到有支援UASP也是一樣無支援,也就是說USB3.0 SATA bridge的IC假設有支援UASP mode但是FW如果沒Enable一樣無效.
4.像是ASmedia的USB3.0 host card其實硬體並無支援
它是透過Driver掛載在改成Tubro而號稱有UASP mode...在Windows 8下當然不會有,因為它是假的;硬體實際並無Support UASP mode!
5.要啟動UASP mode ==> USB3.0 Host(Hardware support and FW Enable)+ Windows 8 OS (in-box driver)+ Devices(Hardware support and FW Enable)
這樣才是完整的!

發表回應

謹慎發言,尊重彼此。按此展開留言規則