Date: Tuesday , September 08, 2015
If you’re anything like us, your experiences using USB storage devices have been generally frustrating over the years. While technologies like Thunderbolt and Firewire put up strong performances in line with the specified values, USB storage devices rarely lived up to the theoretical transfer rates that we saw specified. Some of those real-world limitations started to change with the advent of USB 3.0. USB 3.1 goes a step further by doubling maximum throughput to 10gb/s. On paper, that makes USB 3.1 substantially faster than SATA’s 6.0gb/s. We’ve put these claims to the test with the ASUS Rampage V Extreme USB 3.1 and a high-performance USB 3.1 SSD that ASUS also provided.
Upon closer investigation, the traditional limitations of USB storage arise from the way a drive communicates with its host. Prior to USB 3.0, Bulk Only Transport (BOT) was the only accepted communication protocol for USB storage devices. BOT is an old standard, and completely sequential. BOT lacks support for out-of-order completion of requests, deriving from the fact that it only supports a single outstanding request at a time. A drive communicating using BOT is forced to buffer its own requests, await outstanding requests to complete, and work through a queue.
Compared to even the limited command queueing that most users have become accustomed to over the past decade since AHCI became the industry standard for internal mass storage, BOT is horribly primitive, which is a fact that is only highlighted by the rising market share of SSDs. As NVMe moves to address the legacy limitations of AHCI, so must a new standard replace BOT. In fact, the new standard isn’t all that new, it just hasn’t received nearly the amount of attention that NVMe has because of the smaller market and more limited applications for USB mass storage. Beginning with USB 3.0, USB Attached SCSI (UASP) has been an alternate, faster transfer mode designed to bring the standard SCSI command set to the USB interface. In fact, UASP will also work on USB 2.0 devices, but the same caveats apply; hardware, firmware, and software must all support UASP, or the whole setup will default back to BOT.
There’s another reason that UASP has yet to make much of a splash despite its technical superiority, and it’s probably mostly Microsoft’s fault. The USB driver stack built into Windows 8 and up provides native support for UASP, while Windows 7 does not offer the same. Due to the poor market acceptance of Windows 8, adoption of UASP has been limited, but that’s likely to change with the Windows 10 user base growing so rapidly. Mac OS X 10.8 and up support UAS, and Linux support is spotty at this time.
It’s late 2015, and Windows 10 is getting reasonably good press as a worthy successor to Windows 7. It’s also a memory-hungry pig that phones home to Microsoft entirely too much, depending on which camp you believe. For now, at least, many enthusiasts are taking a "cold, dead hands" approach to upgrading from Windows 7 to 10. For Windows 7 holdouts who need fast external storage, all hope is not lost. The greatest impediment to UASP support on Windows 7 is money, which is to say that it’s not insurmountable. ASUS is one of a few manufacturers to invest in bringing UASP (on selected motherboards) to Windows 7. By enabling "Turbo" USB mode in the ASUS AI Suite application, properly-equipped systems will switch to a different driver and become UASP-ready in Windows 7.