USB連接的SCSI
通用串行總線連接的小型計算機系統接口(Universal Serial Bus Attached Small Computer System Interface),或者USB連接的SCSI (USB Attached SCSI,簡稱UAS) ,是一種用於USB存儲設備(例如機械硬盤(HDD)、固態硬盤(SSD) 和閃存盤)之間傳輸數據的通信協議。 UAS基於USB 協議,並使用標準SCSI命令集。該協議與以前的USB 大容量存儲批量傳輸 (BOT) 相比,可以提供更快的傳輸速度。
UAS 是USB 3.0標準的一部分,但在硬件、驅動程序和固件支持的情況下也可支持USB 2.0。 UAS 的開發是為了解決原始 USB 大容量存儲批量傳輸協議的缺點:無法執行命令排隊、無序命令完成。為了支持這些功能, USB3規範中增加了批量流協議 (Bulk Streaming Protocol),並且在 USB 主機控制器接口 (可擴展主機控制器接口) 中添加了流支持。
概述
UAS 由兩個標準定義,分別是T10「USB Attached SCSI」(T10/2095-D)即「UAS規範」,以及USB「Universal Serial Bus Mass Storage Class - USB Attached SCSI Protocol (UASP)」規範。國際信息技術標準委員會(INCITS)的T10技術委員會負責開發和維護UAS規範; SCSI貿易協會(SCSITA)負責推廣UAS技術。 USB大容量存儲設備(MSC) 工作組負責開發和維護 UASP 規範; USB開發者論壇公司 (USB-IF) 負責推廣 UASP 技術。
UAS比USB大容量存儲批量傳輸協議傳輸速度更快。 [1] [2] [3]儘管 UAS 是在USB 3.0標準中添加的,但只要硬件兼容,它也能以USB 2.0的速度使用。 [4]
連接固態硬盤時,在相同的USB傳輸速率下,UAS 的隨機讀寫速度比USB大容量存儲批量傳輸快得多。不過,USB 3.0的速度(5 Gbps)實際低於SATA 3的速度(6 Gbps),但隨着USB傳輸速率提高,USB4已達到 80 Gbps。此時SATA 3接口反而限制了實際傳輸速率。原生使用UAS的固態移動硬盤可以突破這一限制。
UAS標準實際有三代,第一代UAS標準(ANSI INCITS 471-2010 和 ISO/IEC 14776-251:2014),稱為UAS-1,該標準已被取代。T10 啟動了 UAS-2 項目,但後來被取消。最終該技術以UAS-3的形式重新出現,現已成為一項已發佈的標準 (INCITS 572-2021)。除了基於其他 SCSI 標準的後續版本(例如 SAM-6 和 SPC-6(均在開發中))之外,技術作者還對 UAS-1 和 UAS-3 之間的變化進行了如下描述:「允許設備在當前命令完成之前將數據傳輸從一個命令切換到另一個命令」。
硬件支持
USB 控制器/集線器
SemiAccurate在 2010 年 7 月發佈的一份簡短的硬件綜述中稱,技嘉科技已經為其使用NEC/Renesas晶片的主板推出了可用的UAS驅動程序。 [1]
VR-Zone在 2011 年 8 月進行的一項比較性能評估得出結論:只有NEC/Renesas晶片具有可運行的 UAS 驅動程序 [5]。Windows下相同的Renesas UAS 驅動程序也適用於 AMD 的A70M 和 A75 Fusion 控制器集線器, [6]其中 USB 部分由 AMD 和Renesas共同開發。 [7] 2011 年 10 月,ASMedia USB 控制器晶片也獲得了驅動程序支持(之前它們在硬件方面有支持)。 [8]
至於英特爾平台控制器中樞(PCH) 的支持,MyCE 上的一篇文章指出:「原生英特爾 USB3 UASP 解決方案僅支持Windows 8。且並非所有Z77主板都支持 USB3 UASP,支持UASP需要許可證,而並非所有主板製造商都準備將此許可證的額外成本轉嫁給最終用戶。」 [9]
一些全志科技SoC 具有在Linux下通過USB 2.0支持UAS的功能。 [10]
存儲設備
在 USB/SATA 橋接器中,「LucidPort USB300 和 USB302、 Symwave SW6315、德州儀器TUSB9261 和VLI VL700 控制器均支持 UASP,而ASMedia ASM1051 和 ASM1051E 以及富士通 MB86C30A 則不支持。」 [1]
富士通列出了一些支持 UAS 的高端晶片,例如 MB86C311A。 [11] ASMedia 1053-s 和 1153 支持 UAS。 [10]
Silicon Motion 的 SM232x 系列 USB 閃存盤 (UFD) 控制器[12]提供完整的 USB 3.2 UAS 性能,數據傳輸速度高達 2 GB/s。
作業系統支持
微軟在Windows 8中添加了對UAS的原生支持 [13]。支持UAS的驅動器會加載 Uaspstor.sys,而不是舊的Usbstor.sys[14] 。Windows 8也支持USB 2.0下使用UAS。 UAS 驅動程序和產品已通過微軟的Windows 硬件認證工具包認證。 [15]
Apple 在OS X 10.8 Mountain Lion 中添加了對UAS的原生支持;使用UAS的驅動器在系統信息→ 軟件 → Extensions as IOUSBAttachedSCSI(或IOUSBMassStorageUASDriver,取決於作業系統版本)「已加載:是」 [16]。若顯示「已加載:否」則採用舊的USB大容量存儲批量傳輸協議。
Linux 內核從2014年6月8日發佈3.15版本開始支持 UAS [17]。但以Ubuntu為例(從 v11.xx 開始)的一些Linux發行版反饋了一些硬件行為異常的問題 [18]。內核有一個內置的黑名單unusual_uas.h
可以定義設備 [19]。可以通過 procfs 或內核命令行 ( usb-storage.quirks
) 臨時添加額外設備。 [20]
自 2018 年 8 月起, FreeBSD不再支持 UAS [21]
在不支持 UAS 類的舊作業系統上,UAS 設備可以在USB 大容量存儲批量傳輸模式下運行以實現兼容性。
目標
- 旨在直接解決 USB 大容量存儲設備類批量傳輸 (BOT) 的缺陷
- 最多可排隊 64K 條命令
- 符合SCSI 架構模型(SAM-4)
- USB 3.0 超高速和 USB 2.0 高速版本定義
- USB 3.0 超高速 - 主機控制器 (xHCI) 硬件支持,無序命令無需軟件開銷
- USB 2.0 高速 – 啟用 USB 2.0 驅動器中的命令排隊
- 在 USB 3.0 SuperSpeed 協議中添加了流,以支持 UAS 無序完成
- USB 3.0 主機控制器 (xHCI) 為流提供硬件支持
參見
- SCSI/ATA 轉換
參考
- ^ 1.0 1.1 1.2 Lars-Göran Nilsson. Gigabyte adds UASP support to its USB 3.0 motherboards. SemiAccurate. 2010-07-30 [2014-01-19]. 引用錯誤:帶有name屬性「s2010-1」的
<ref>
標籤用不同內容定義了多次 - ^ Andrew Ku. USB Attached SCSI (UAS): Enabling Even Better USB 3.0 Performance - Faster USB 3.0 Performance: Examining UASP And Turbo Mode. Tomshardware.com. 2012-06-19 [2014-01-19].
- ^ Sandler, Steve. What's the Difference Between USB UASP And BOT | Embedded content from. Electronic Design. 2012-03-18 [2014-01-20].
- ^ Lars-Göran Nilsson. Gigabyte's UASP USB 3.0 Driver Boosts USB 2.0 Performance. SemiAccurate. 2010-08-11 [2014-01-19].
- ^ TeamVR. USB 3.0 Speed Tests: 7-Way Host Controllers Roundup - Page 1 of 11. Vr-zone.com. August 23, 2011 [2014-01-19].
- ^ USB to SATA3 bridge supports UASP. Electronics Eetimes. 4 September 2011 [2014-01-20].
- ^ Lars-Göran Nilsson. AMD's A75 and A70M FCH gains USB-IF approval. SemiAccurate. 2011-03-23 [2014-01-20].
- ^ TeamVR on October 14, 2011 1:23 am. Asus launches USB 3.0 speed booster, UASP support for ASMedia. Vr-zone.com. 2014-01-10 [2014-01-20].
- ^ Beyond USB3, with UASP. Myce.com. [2014-01-20].
- ^ 10.0 10.1 USB/UAS. linux-sunxi.org. [30 May 2023]. 引用錯誤:帶有name屬性「SUNXI」的
<ref>
標籤用不同內容定義了多次 - ^ USB 3.0-SATA Bridge ICs : Fujitsu Global. Fujitsu.com. [2014-01-20].
- ^ Silicon Motion Launches World's Fastest Single Chip Controller For External Portable SSDs. ir.siliconmotion.com. [2023-08-28].
- ^ Jerome Myers. New USB 3.0 Support Built-In to Windows 8. Plugable. 2012-10-25 [2014-01-20].
- ^ USB in Windows - FAQ (Windows Drivers). Msdn.microsoft.com. 2013-11-16 [2014-01-20].
- ^ USB 2.0 & 3.0 SCSI Compliance test for UAS on EHCI (LOGO). Msdn.microsoft.com. 2013-07-26 [2014-01-20].
- ^ fortysomethinggeek. Fortysomething Geek: OSX Mountain Lion 10.8 UAS UASP USB Attach SCSI drivers. Fortysomethinggeek.blogspot.com. 2013-04-03 [2014-01-20].
- ^ Phoronix: USB Attached SCSI (UAS) Is Now Working Under Linux.
- ^ UAS Ubuntu Bug-Report. bugs.launchpad.net. 2011-10-05 [2019-08-17].
- ^ Torvalds, Linus. torvalds/linux: unusual_uas.h. GitHub. 28 May 2023 [28 May 2023].
- ^ The kernel's command-line parameters — The Linux Kernel documentation. www.kernel.org.
- ^ Is FreeBSD-current XHCI 1.1 compliant?. lists.freebsd.org. 2018-08-28.