USB Attached SCSI

USB Attached SCSI (UAS) or USB Attached SCSI Protocol (UASP) is a computer protocol used to move data to and from USB storage devices such as hard drives (HDDs), solid-state drives (SSDs), and thumb drives. UAS depends on the USB protocol, and uses the standard SCSI command set. Use of UAS generally provides faster transfers compared to the older USB Mass Storage Bulk-Only Transport (BOT) drivers.

UAS was introduced as part of the USB 3.0 standard, but can also be used with devices complying with the slower USB 2.0 standard, assuming use of compatible hardware, firmware and drivers.

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 International Committee for Information Technology Standards (INCITS) develops and maintains the UAS specification; the SCSI Trade Association (SCSITA) promotes the UAS technology. The USB mass-storage device class (MSC) Working Group develops and maintains the UASP specification; the USB Implementers Forum, Inc. (USB-IF) promotes the UASP technology.

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, but still well below the speed of a native SATA 3 interface (6 Gbit/s).[5]

Hardware support

A brief hardware roundup in July 2010 by SemiAccurate found that Gigabyte Technology had introduced working UAS drivers for their boards using NEC/Renesas chips, and that—on the hardware level at least—"the LucidPort USB 300 and USB302, Symwave SW6315, Texas Instruments TUSB9260 and the VLI VL700 controllers all support UASP, while as far as we could find, the ASMedia ASM1051 and ASM1051E as well as the Fujitsu MB86C30A doesn’t."[1]

A comparative performance review by VR-Zone in August 2011, concluded that only the NEC/Renesas chips had UAS working drivers.[6] The same Renesas UAS driver (for Windows) also works with AMD's A70M and A75 Fusion Controller Hubs,[7] the USB part of which was co-developed by AMD and Renesas.[8] In October 2011, ASMedia chips had gained driver support as well (they had support on the hardware side before).[9] Fujitsu lists some higher-end chips like the MB86C311A that do support UAS.[10]

As for support by Intel Platform Controller Hub (PCH), an article in MyCE notes: "The native Intel USB3 UASP solution is only supported under Windows 8. To further complicate matters, not all Z77 motherboards support USB3 UASP. A license is required to implement UASP, and not all motherboard manufacturers are prepared to pass on the extra cost of this license to the end user."[11]

Operating system support

Microsoft added native support for UAS to Windows 8.[12] Drives supporting UAS load Uaspstor.sys instead of the older Usbstor.sys.[13] Windows 8 supports UAS by default over USB 2.0 as well.[14] UAS drivers and products are certified by Microsoft using the Windows Hardware Certification Kit.[15]

Apple added native support for UAS to OS X 10.8 Mountain Lion; drives using UAS show up in (Apple menu -> About This Mac) -> System Information -> Software -> Extensions as IOUSBAttachedSCSI (or IOUSBMassStorageUASDriver, depending on the version of OS X) "Loaded: Yes".[16] Drives listed with "Loaded: No" are defaulting the older, slower Bulk Only Transport (BOT) mode. This may occur if the drive's USB controller, the Mac's USB port, or any attached USB hub doesn't support UASP mode.

Linux kernel has been supporting UAS since 8 June 2014 when the version 3.15 was released.[17] However, some distributions of Linux such as Ubuntu (from v11.xx onwards) have suffered from issues with the implementation of the UAS protocol. In some non-UAS supported USB HDD drives, the drive is not mountable by the operating system. A reported workaround is to blacklist the UAS module in modprobe.[18]

Goals

  • Designed to directly address the failings of the USB mass-storage device class bulk-only transports (BOT)
    • Enables command queuing and out-of-order completions for USB mass-storage devices
    • Eliminates software overhead for SCSI command phases
    • Enables TRIM (UNMAP in SCSI terminology) operation for SSDs [19]
  • Up to 64K commands may be queued
  • SCSI 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 – Significantly 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 host controller (xHCI) provides hardware support for streams
gollark: lollollollol,loLlollollollollollol,LoLlollollollollollol,LoLlollollollollollol,LoLlollollollollollol,LoLlollollollollollol,loLlollollollollollol,LoLlollollollollollol,lOLlollollollollollol, lollollollollollollollOLlollollollollollollolLOllollollollollollollOLLoLLOLlOLlollollolLoLlollollollollollollol:lollollollollollolLollollollollollollollollOl lOLlOLlOL:LOLlOllOllollOLLOLlOLLoLlOL;lOLLoLLOLlOllOLLolLOLloLlOL:LOLlOllOl.lollollol lollollollollollollol:lollollollollollollol#lollollollollollollOl lOLlOLlOL:LOLlOllOllolLOLLOlLOLloLlOLLolLOLloLlOLLoLlOl.lollollol lollollollollollollol:lollollollollollollol;lollollollollollollOl lOLlOLlOL:LOLlOllOllollOLLOllOL:lOL;LOLloLLOLlOllOL:lOL#lOl.lollollol lollollollollollollol:lollollollollollollolLOllollollollollollolloL.loLloLlollollol.lollollollollollollol,lollollollollollollolLoLlollollollollollolLOLlolLOLlOllOL:lOLLOllollollol.lollollollollollollol,lollollollollollollollOllollollollollollollol?lollollollollollolLOLlolLOLlOllOL:lOLLOllOLLoLLOLLOlLOLLOllOLLoLLOLLOllollollolLoLlollollollollollolLOLloLlOL.lOLLOllOL!lollol
gollark: Lol!loL#LOLLoLlOLLolLoLLollollollolLollolloLlolloLlolloLlol lollollol.lollollollollollolloLlolLOLLOlLOLloLlOLLolLOLlOlLOLloLLOLLoLLOLlollollol,Lollollollollollollol, lollollollollollollollOllollollollollol.LolLollollollollollollollol?lollollollollollolloLLoLlollollollollollolloLlOLloLlol#lollollolLoL#lollol lollollollOllOlloLlollollollollolloLLoL lollollollollol loLlollollollollollolLoL#lollollolLollolLolLollOL#lollollol lol loLlolLol lollollol#lollolLol lollollOllollollollOllollollollol.#loLLol lollolLollOLLol lollollollollolLollOLloLlol:;LOL:LollOL#lol:!LOL:Lol;lollol lollollollolLOllollollollollollollolloLlol?lollollollollollollOLLOllOL:LOLlOllOL:LOLLoLLOLloLlOL.lOL;lOLLoLlollollolloLlollOLlollollollollollolLOL.lOL.lOLLoLlOL#lOLloLlollollolloLlollOLlollollollollollolLOLlollOLLollOL.LOLlOlLOLLOllollollollollollollollollollolLolLollollollollollollol,LOllollollollollollol,LOllollollollollollol,LOllollollollollollol,LOllollollollollollol,LOllollollollollollol,loLlollollollollollol,loLlollollollollollol,loLlollol
gollark: One byte input -> two to six bytes of lolcrypt.
gollark: I did. It's just that it gets exponentially more slow for each run, since lolcrypt inflates the size lots.
gollark: My inefficient lolcrypt algorithm can only manage about 9LOLcrypt (LOLcrypt repeated 9 times) before crashing with yield errors.

See also

References

  1. Lars-Göran Nilsson (2010-07-30). "Gigabyte adds UASP support to its USB 3.0 motherboards". SemiAccurate. Retrieved 2014-01-19.
  2. 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.
  3. Sandler, Steve (2012-03-18). "What's the Difference Between USB UASP And BOT | Embedded content from". Electronic Design. Retrieved 2014-01-20.
  4. Lars-Göran Nilsson (2010-08-11). "Gigabyte's UASP USB 3.0 Driver Boosts USB 2.0 Performance". SemiAccurate. Retrieved 2014-01-19.
  5. "Beyond USB3, with UASP - IOMeter test results". myce.com. Retrieved 2014-01-21.
  6. 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.
  7. "USB to SATA3 bridge supports UASP". Electronics Eetimes. Retrieved 2014-01-20.
  8. Lars-Göran Nilsson (2011-03-23). "AMD's A75 and A70M FCH gains USB-IF approval". SemiAccurate. Retrieved 2014-01-20.
  9. 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.
  10. "USB 3.0-SATA Bridge ICs : Fujitsu Global". Fujitsu.com. Retrieved 2014-01-20.
  11. "Beyond USB3, with UASP". Myce.com. Retrieved 2014-01-20.
  12. Jerome Myers (2012-10-25). "New USB 3.0 Support Built-In to Windows 8". Plugable. Retrieved 2014-01-20.
  13. "USB in Windows - FAQ (Windows Drivers)". Msdn.microsoft.com. 2013-11-16. Retrieved 2014-01-20.
  14. USB Attached SCSI (UAS) Best Practices for Windows 8, page 6
  15. "USB 2.0 & 3.0 SCSI Compliance test for UAS on EHCI (LOGO)". Msdn.microsoft.com. 2013-07-26. Retrieved 2014-01-20.
  16. fortysomethinggeek (2013-04-03). "Fortysomething Geek: OSX Mountain Lion 10.8 UAS UASP USB Attach SCSI drivers". Fortysomethinggeek.blogspot.com. Retrieved 2014-01-20.
  17. "Phoronix: USB Attached SCSI (UAS) Is Now Working Under Linux".
  18. "UAS Ubuntu Bug-Report". bugs.launchpad.net. 2011-10-05. Retrieved 2019-08-17.
  19. New API allows apps to send "TRIM and Unmap" hints to storage media
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.