Beyond USB3, with UASP
Article: Beyond USB3, with UASP (USB Attached SCSI Protocol)
Computer technology moves forward at a frightful pace, and what is new today becomes old hat very quickly. USB has been around for a while, the original USB1 specification being ratified in 1996, and first appearing in PCs around 1998. This original specification of USB was to provide a universal high speed peripheral connection that could be used for anything from a printer, to an optical drive, and a myriad of other things in between. The original USB specification was 12Mbps, and was rapidly found to be too slow for many of the peripherals, supporting a USB connection, that were soon onto the market.
In April 2000 the USB2 specification was announced, and incorporated into motherboards and peripherals alike. The USB2 specification had a maximum bandwidth of 480Mbps and, at the time, could cope with the speed of most of the peripherals that were around. Members here at Myce.com have been using USB2 enclosures to house their optical drives for years, and which up until 16x DVD burners surfaced could cope quite easily with the transfer rate required for burning at maximum speed.
Hard drives of course were another matter altogether with transfers speeds of over 200MB/s, USB2 speeds are just too slow. The great hope was in a much faster USB interface, and in 2010 USB3 (Superspeed USB) appeared. USB 3 has a maximum bandwidth of 5Gbps, which is over 10x the bandwidth of USB2, and it’s not only the bandwidth available that sets USB2 and USB3 apart. USB3 is full duplex whereas USB2 is only half duplex, so at least in theory, USB3 could be 20 times faster than USB2, which is quite a significant upgrade to the specification.
Now let’s fast forward to the present day. Whilst USB3 certainly has the bandwidth to cope with even the fastest of HDDs, things are not so great when you connect an SSD to USB3. Although USB3 has 5Gbps bandwidth, when you take overheads into consideration, then the maximum speed you can expect from USB3 is around 450MB/s. Modern SSDs are capable of transfer rates in excess of 550MB/s. However, it isn’t so much the reduced bandwidth on USB3 when compared to SATA 6Gbps that is the problem for SSDs, it’s the lack of NCQ (Native Command Queuing) that is the real difficulty.
The protocol that USB uses is BOT mode (Bulk Only Transfer). BOT mode is pretty inefficient as it can only deal with bulk transfer requests. It has no provision for queuing commands, therefore each transaction has to be completed, before the next command can be sent to the storage device.
Enter USB3 UASP (USB Attached SCSI Protocol). UASP allows NCQ over USB, and therefore scalable queue depth performance, which is a definite plus for SSDs. UASP also supports ‘out of order’ commands, and ‘streams’. Commands can be sent to the device buffer, where the host system will receive an acknowledge command that the transfer has been completed, even although the transaction may only be stored in a temporary buffer. This allows the next transaction to be sent or received, and the device is free to commit the transaction when it’s convenient. ‘Streams’ allow a large number of logical streams within an endpoint, further improving efficiency.
UASP is implemented at the hardware, firmware, driver, and operating system level, which are all required for UASP to function. At the moment there are only two USB3 chipsets I know of that support UASP. The Intel Ivy Bridge ‘Panther Point’ platform (Z77) native USB3 controller, and the ASMedia ASM1042 USB3 controller, which is integrated into several Z77 motherboards to give additional USB3 ports.
At the operating system level, the ASMedia USB3 UASP solution is supported under Windows 7 and Windows 8. 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. This is a great pity, as USB3 UASP certainly provides a means to get the very best performance out of an HDD, and especially an SSD when connected via USB3.
In this article I will be putting USB3 UASP through its paces, and examining its performance, so let’s look at the hardware I will be using in this article.
Asus P8Z77 V Deluxe
The Asus P8Z77 V Deluxe is near the top of the Asus range of Z77 motherboards, offering 4x Intel native USB3 ports, and an additional 4x USB3 via the onboard ASMedia ASM1042 USB3 chipset.
USB3 UASP enabled docking station
ThermalTake BlacX 5G ST0019U
USB3 UASP mode supported
The ThermalTake BlacX 5G (ST0019U) uses an ASMedia USB3 to SATA3 bridge, and also supports the UASP standard. The dock can accommodate 3.5 inch or 2.5 inch drives.
USB3 BOT mode (normal USB3) 2.5 inch external drive enclosure
SilverStone Raven SST-RVS02
USB3 BOT mode (normal USB3)
The SilverStone Raven SST-RVS02 2.5 inch external drive enclosure uses the same ASMedia USB3 to SATA3 bridge found in the ThermalTake BlacX 5G, but this time USB3 UASP is not enabled.
Intel 520 240GB
For synthetic benchmarks, the Intel 520 series SSD was used for the tests.
Corsair Neutron GTX 240GB
For the real world copy tests, the Corsair Neutron GTX was chosen. The test data used in the real world tests is generally incompressible, and I felt it was important to use an SSD for the copy tests that wouldn’t be affected by having to write incompressible data. After all, it’s not the SSD performance I’m measuring, it’s the speed of the interface that it’s connected to that I’m testing.
Let’s head to the next page where we take a look at our testing methods and the review PC.