Sign in with
Sign up | Sign in

USB Attached SCSI (UAS): Enabling Even Better USB 3.0 Performance

Faster USB 3.0 Performance: Examining UASP And Turbo Mode
By

USB Attached SCSI (UAS) is a new USB 3.0 protocol that replaces the older USB 2.0 BOT protocol. Intended to more completely exploit USB 3.0's potential, UAS introduces two major architectural changes. 

  1. Four-Pipe Model: Previously, query and command signals shared the same pipe with transferred data. USB 3.0's UAS protocol (UASP) does not mix transfer types, and each data type has its own pipe. Think of UAS as multi-threaded, whereas BOT is more of a serial process.
  2. Command queuing: Unlike BOT, UAS processes transfers in parallel, eliminating the need to wait for the next signal.

The thing is, UAS support is not a simple switch you turn on. It requires four platform-oriented elements in order to work:

  1. UAS support in the USB driver stack.
  2. Device hardware supporting UAS.
  3. Device firmware supporting UAS.
  4. UAS-compatible system controller.

If any of those are missing, UAS won't function and USB 2.0's BOT becomes the fallback mode for preserving compatibility. So, you wouldn't want to plug a UAS-capable device into a motherboard that doesn't support it, or connect a client device limited to BOT support into a platform that enables UAS.

We can only guess how many existing USB 2.0 or 3.0 devices might be UAS-enabled. But what we do know is that the host's and device's controller must have hardware-based support for the feature. We are told that many shipping USB devices likely already support UAS. But vendors are ultimately responsible for providing firmware updates to enable it.

Thermaltake's BlacX 5G features ASMedia's ASM1051, a USB 3.0 controller with UAS support. However, a firmware update from Thermaltake's website is required to turn it on.

UAS support is currently missing from Windows 7, OS X, and Linux (depends on kernel), but Microsoft confirmed that Windows 8 will feature native UAS support late last year. Indeed, installing the Windows 8 Release Preview reveals the native UAS Mass Storage Driver. However, Windows 8 UAS support only seems to work for USB 3.0. We're told that a Windows 7 update for UAS support is probable some time after Windows 8 ships.

There is no word on the status of UAS support in OS X. However, we do know that Apple developers have been involved with UAS, so it's possible that native support could appear in the operating system succeeding Lion. Unfortunately, we have no information on UAS support for Linux.

We do not have to wait for Windows 8 to test UAS. Fortunately, Asus has been making a big deal about USB 3.0 Boost, an application that adds Turbo mode and UASP support to select models, including Z77-, X79-, Z68-, 990FX/990X/970-, and A75-based platforms with ASMedia's ASM1042 USB 3.0 controller.

If you happen to own a board from Asus equipped with the requisite hardware, either "Turbo" or "UASP" appears alongside the Normal button in Asus' USB 3.0 Boost utility once the drive is formatted and plugged into a USB 3.0 port. It can be a port native to the chipset or attached to ASMedia's controller; it doesn't matter. Turbo mode is specific to any USB 2.0 or non-UAS USB 3.0 devices, and you don't get the option to select Turbo mode if your USB 3.0 device supports UAS. "Normal" mode (BOT) is the default option for all devices.

ASRock's XFast USB is a more polished piece of software, enabling Turbo mode on any USB port without requiring the device to be NTFS- or FAT-formatted. However, Asus is alone in supporting UAS in Windows 7, and it does so through by licensing MCCI's ExpressDisk UASP Driver.

The Asus UASP driver performs better than BOT and the native Windows 8 UAS driver, particularly in random reads.

The Windows 8 UAS driver is fastest in sequential transfers, pushing almost 360 MB/s and leading the Asus UASP driver by 25 MB/s in sequential reads, specifically. In contrast, BOT tops out at ~300 MB/s. Asus' UASP driver leads in sequential writes, achieving up to ~340 MB/s. Windows 8's native UAS driver only manages to hit ~325 MB/s. But both UASP modes show a marked improvement over BOT, which levels off at ~315 MB/s.

React To This Article