USB Attached SCSI
This article needs additional citations for verification. (December 2013) |
USB Attached SCSI (UAS) or USB Attached SCSI Protocol (UASP) is a
UAS was introduced as part of the
Overview
UAS is defined across two standards, the T10 "USB Attached SCSI" (T10/2095-D) referred to as the "UAS" specification, and the USB "Universal Serial Bus Mass Storage Class - USB Attached SCSI Protocol (UASP)" specification. The T10 technical committee of the
UAS drivers generally provide faster transfers when compared to the older USB Mass Storage Bulk-Only Transport (BOT) protocol drivers.[1][2][3] Although UAS was added in the USB 3.0 standard, it can also be used at USB 2.0 speeds, assuming compatible hardware.[4]
When used with an SSD, UAS is considerably faster than BOT for random reads and writes given the same USB transfer rate. The speed of a native
The UAS standard (ANSI INCITS 471-2010 and ISO/IEC 14776-251:2014) has been superseded so it should be referred to as UAS-1. A UAS-2 project was started by T10 but cancelled. That effort was resurrected as UAS-3 which is now a published standard (INCITS 572-2021). Apart from being based on later versions of other SCSI standards (e.g. SAM-6 and SPC-6 (both under development)) the technical author described the changes between UAS-1 and UAS-3 as follows: "allow the device to switch data transfers from one command to another before the current command is complete".
Hardware support
USB controller/hub
A brief hardware roundup in July 2010 by
A comparative performance review by VR-Zone in August 2011, concluded that only the NEC/Renesas chips had UAS working drivers.
As for support by Intel
A few Allwinner Technology SoCs feature UAS support over USB 2.0 in Linux.[10]
Storage devices
Of USB/SATA bridges, "the LucidPort USB300 and USB302,
Fujitsu lists some higher-end chips like the MB86C311A that do support UAS.[11] ASMedia 1053-s and 1153 support UAS.[10]
Silicon Motion's SM232x family of USB Flash Drive (UFD) controllers[12] offers full USB 3.2 UAS performance, reaching data transfer speeds of up to 2 Gbyte/s.
Operating system support
Apple added native support for UAS to
The Linux kernel has supported UAS since 8 June 2014 when the version 3.15 was released.[18]
However, some distributions of Linux such as Ubuntu (from v11.xx onwards) have reported issues with some misbehaving hardware.[19] The kernel has a built-in blacklist for devices with "quirks" defined in unusual_uas.h
.[20] Temporary additional quirks can be added via procfs or kernel command line (usb-storage.quirks
).[21]
FreeBSD does not support UAS as of August 2018.[22]
On older operating systems that do not support UAS class, a UAS device may be run in USB Mass Storage Bulk-Only Transport mode for compatibility.
Goals
- Designed to directly address the failings of the USB mass-storage device class bulk-only transports (BOT)
- Up to 64K commands may be queued
- SCSI Architectural Model(SAM-4) compliant
- USB 3.0 SuperSpeed and USB 2.0 High-Speed versions defined
- USB 3.0 SuperSpeed – host controller (xHCI) hardware support, no software overhead for out-of-order commands
- USB 2.0 High-speed – enables command queuing in USB 2.0 drives
- Streams were added to the USB 3.0 SuperSpeed protocol for supporting UAS out-of-order completions
- USB 3.0 host controller (xHCI) provides hardware support for streams
See also
References
- ^ a b c Lars-Göran Nilsson (2010-07-30). "Gigabyte adds UASP support to its USB 3.0 motherboards". SemiAccurate. Retrieved 2014-01-19.
- ^ Andrew Ku (2012-06-19). "USB Attached SCSI (UAS): Enabling Even Better USB 3.0 Performance - Faster USB 3.0 Performance: Examining UASP And Turbo Mode". Tomshardware.com. Retrieved 2014-01-19.
- ^ Sandler, Steve (2012-03-18). "What's the Difference Between USB UASP And BOT | Embedded content from". Electronic Design. Retrieved 2014-01-20.
- ^ Lars-Göran Nilsson (2010-08-11). "Gigabyte's UASP USB 3.0 Driver Boosts USB 2.0 Performance". SemiAccurate. Retrieved 2014-01-19.
- ^ TeamVR (August 23, 2011). "USB 3.0 Speed Tests: 7-Way Host Controllers Roundup - Page 1 of 11". Vr-zone.com. Retrieved 2014-01-19.
- ^ "USB to SATA3 bridge supports UASP". Electronics Eetimes. Retrieved 2014-01-20.
- ^ Lars-Göran Nilsson (2011-03-23). "AMD's A75 and A70M FCH gains USB-IF approval". SemiAccurate. Retrieved 2014-01-20.
- ^ TeamVR on October 14, 2011 1:23 am (2014-01-10). "Asus launches USB 3.0 speed booster, UASP support for ASMedia". Vr-zone.com. Retrieved 2014-01-20.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ "Beyond USB3, with UASP". Myce.com. Retrieved 2014-01-20.
- ^ a b "USB/UAS". linux-sunxi.org. Retrieved 30 May 2023.
- ^ "USB 3.0-SATA Bridge ICs : Fujitsu Global". Fujitsu.com. Retrieved 2014-01-20.
- ^ "Silicon Motion Launches World's Fastest Single Chip Controller For External Portable SSDs". ir.siliconmotion.com. Retrieved 2023-08-28.
- ^ Jerome Myers (2012-10-25). "New USB 3.0 Support Built-In to Windows 8". Plugable. Retrieved 2014-01-20.
- ^ "USB in Windows - FAQ (Windows Drivers)". Msdn.microsoft.com. 2013-11-16. Retrieved 2014-01-20.
- ^ USB Attached SCSI (UAS) Best Practices for Windows 8, page 6
- ^ "USB 2.0 & 3.0 SCSI Compliance test for UAS on EHCI (LOGO)". Msdn.microsoft.com. 2013-07-26. Retrieved 2014-01-20.
- ^ fortysomethinggeek (2013-04-03). "Fortysomething Geek: OSX Mountain Lion 10.8 UAS UASP USB Attach SCSI drivers". Fortysomethinggeek.blogspot.com. Retrieved 2014-01-20.
- ^ "Phoronix: USB Attached SCSI (UAS) Is Now Working Under Linux".
- ^ "UAS Ubuntu Bug-Report". bugs.launchpad.net. 2011-10-05. Retrieved 2019-08-17.
- ^ Torvalds, Linus (28 May 2023). "torvalds/linux: unusual_uas.h". Retrieved 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.
- ^ New API allows apps to send "TRIM and Unmap" hints to storage media