The era of USB 3.0 controllers
The time has come when USB 2.0 felt uncomfortable. The appearance of this standard 10 years ago surprised everyone. However, the world was not happy for long, and the speed of the device turned out to be less than 35 MB / s (480 Mb / s was assumed). When you need to move large audio libraries, high-definition video films, or, worst of all, a large number of small files that simply "destroy" the declared recording performance, then in the process of copying them using USB 2.0, you can go to the store for bread.
USB revision 3 envisions transfer rates up to 5 Gbps, which theoretically gives a 10-fold increase in performance compared to the USB 2.0 standard. USB 3.0 was originally announced three years ago. It was a full year before Buffalo Technology began shipping its first external USB 3.0 drives. At that time, there were no motherboards with a USB 3.0 controller.
After some time, almost every motherboard manufacturer has implemented third-party USB 3.0 logic in their product. AMD pioneered the release of the A75 chipset with USB 3.0 support. Incidentally, Intel has not implemented this feature to this day.
NEC Electronics is the first to release a discrete USB 3.0 controller.
Today we have similar solutions from Etron, ASMedia and an integrated controller for the A75 chipset from AMD.
Range of controllers
The first expansion cards and motherboards supported USB 3.0 thanks to the NEC PD720200 controller. However, now there are several more participants in the game. Modern motherboards use newer solutions: Etron EJ168 and ASMedia ASM1042. There are also Renesas controllers on the market, built on early NEC designs, but with 85% less power consumption. VIA also has its own SuperSpeed controller.
Today I will be testing models from Etron and ASMedia. Both USB 3.0 controllers add 2 ports per PCI Express lane.
If you are purchasing an Intel-based platform, then a discrete controller is absolutely necessary for you, because the P67, Z68, X58 and X79 chipsets do not natively support USB 3.0.
Intel's lag in this support is a bit disappointing, especially considering that AMD's competitors have already included an integrated USB 3.0 in the A75 chipset (the 990FX chipsets based on Zambezi processors are less fortunate).
However, one must be careful when choosing a platform. AMD has two Fusion Controller Hub chipsets: A55 and A75. The more inexpensive A55 only supports SATA 3Gb / s and does not have onboard USB 3.0. Perhaps this is not a problem for you, but if system performance is really important, then switching to the A75 chipset will give you FIS technology (access mode to two or more drives at once), 6 SATA 6 Gb / s ports and 4 USB 3.0 ports.
0, 1, 10
6 x SATA 3Gb / s
6 x SATA 6Gb / s
4xPCI Express 2.0
Connecting to APU
USB 1.1 / 2.0 / 3.0
PCI 33 MHz
Up to 3 slots
Thanko hub with 80 ports
There are various USB controllers on the market today. It is impossible to determine which one is better by simply transferring files to an external drive, for this it is necessary to heavily load the bus.
The popularity of USB connections is evidenced by the fact that almost all ports are occupied on user systems. This affects its performance. So, the maximum controller speed for USB 2.0 is 480 Gbps, but it is distributed between each connected device. One USB device was not able to use all the bandwidth before, but two could already reach this limit. Nowadays, reaching the USB 2.0 performance ceiling is easy even with a single drive.
The only sure way to get around the bottleneck is to use multiple controllers in the system.This idea is implemented in the HighPoint RocketU 1144A expansion card. To provide 2 GB / s throughput per PCI Express x4, the card connects four USB ports to one ASMedia ASM1042 controller, which is used for 8 lanes. This balance yields up to 500 MB / s, providing the same bandwidth per port, which is the same as the upper limit of USB 3.0 (to accommodate 8b / 10b encoding at a multiplier of 0.8, the 5 Gb / s limit is divided by 8 bits).
Compare this solution with what is present on the motherboards. The Asus F1A75-V Pro and Gigabyte A75-UD4H use four USB 3.0 ports via the A75 FCH (Fusion Controller Hub). Additional ports are connected using ASM1042 (Asus) and EJ168 (Gigabyte) controllers.
More specifically, in order to support 4 USB 3.0 ports, the A75-UD4H chipset relies on 2 EJ168 controllers, while the Asus board uses only one ASM1042 controller, which provides support for 2 additional ports. However, these third-party technical solutions are not entirely ideal, because 2 ports through the PCIe x1 line share the bandwidth among themselves. In a situation where you have 2 high-speed devices connected to a single controller, this line will theoretically turn out to be a "bottleneck".
Despite this, I will try to answer the question: which controller is better and is there a bottleneck when connecting two high-performance media to them?
To do this, we will test the performance of various USB controllers in the following combinations: ASMedia ASM1042 and Etron EJ168 (from one to two devices), AMD A75 FCH and HighPoint RocketU 1144A (from one to four devices).
Asus F1A75-V Pro
AMD A8-3800 2.4GHz, 600MHz GPU, Socket FM1, Quad Core, Power-saving enabled, 4MB L2 cache
Kingston Hyper-X 8GB DDR3-1333, 1.5V
Palit GeForce GTX460 1GB
OCZ Vertex 240GB SATA 6Gb / s
Software and drivers
Windows 7 64-bit
Considering the fact that the Kingston HyperX Max 3.0 received a fairly high rating, I used 4 of these models at the same time. The goal was to load all controllers as much as possible (of course, it was possible to connect only 2 drives to the controller, and 4 SSDs were connected to a combination of different controllers). This should provide a worse case scenario, as external SSDs based on USB 3.0 provide more potential bandwidth than conventional external drives.
USB 3.0 and 2.0 do not support NCQ (original command queue), so the tests were carried out with a queue depth equal to one.
Random read and write
External drives rarely encounter arbitrary I / O operations. Due to the fact that the USB protocol does not have hardware support for command sequence (NCQ), they try to write data sequentially. However, such writing does not imply sequential reads. To give a simple example, booting Windows 7 using a USB drive involves reading large amounts of small information that is scattered across various logical block addresses. Of course, it is not in the order in which it was previously written to this disc.
Because of this, the performance of random I / O operations is still important, but not so critical. I am going to focus your attention on 4 KB blocks of data, as this is the most popular transfer size for random I / O operations.
When testing writing and reading 4KB blocks, we are faced with performance limitations of the drives themselves. Kingston HyperX Max 3.0 reaches speeds of 10-20 MB / s in such conditions. And even with an increase in the number of devices to 2 on the ASM1042 and EJ168 controllers, it still did not work to load the PCIe x1 line to the maximum.
Next, I move on to the 128KB block because it actually reflects the transfer rate of movies, pictures, and large music files to external storage devices. Using Intel's IPEAK software, I conducted a trace-based benchmarking analysis. The results obtained are not so unambiguous.
The write and read speed using the Kingston HyperX Max 3.0 drive was within 170 MB / s.Therefore, as the number of connected devices grows, performance degradation is not observed.
Bandwidth is the only limiting factor on older USB 2.0 ports, as it was able to achieve almost 90% of the available bandwidth with the HyperX Max 3.0 drive. When adding the second device, the bus of the previous generation was loaded at 43 MB / s. This is quite good considering that a USB 2.0 hub can deliver 480 Mbps, divided by eight to translate to bytes and multiplied by 0.8 to account for 8b / 10b encoding. Thus, the USB 2.0 limit is close.
The USB 3.0 controller of the A75 chipset offers us better performance as its bandwidth is 10 MB / s higher than the competition.
While the synthetic benchmark indicates an increase in throughput, this is not true. Excluding flash drives, typically many users only use one external drive at a time. And those who connect more drives to one controller at the same time do not use them to their full capacity. The user is likely to degrade performance on one additional disk, for example when reading multiple files.
There is no NCQ support, so the queue depth is one. However, at the program level, the operating system iterates over commands using a buffer. This provides the ability to read and write files from the device at the same time.
In practice, it can be seen that with each similar operation, the write speed decreases. However, the overall file transfer rate should be equal to what you have in a single transfer.
Writing and reading are distributed slightly differently.
By splitting the bus for transmit and receive, simultaneous writing and reading is as fast as doing it separately. This is why there is no sustained drop in recording speed and video playback is smooth. The only difference between USB 3.0 and 2.0 is the speed at which files are transferred.
Getting good speed from USB 3.0
Every modern motherboard sold in the online store today includes support for USB 3.0 (ports are colored blue). Based on the results obtained, I hasten to inform you that you should not worry about the type of USB 3.0 controller chosen by the vendor for your platform. The next device that connects to the controller will limit its own performance, not the controller itself. No devices have yet come across that are capable of reaching the possible limit for this standard. To maximize the load on the third-party controller and PCIe x1 connectivity, over 500 MB / s will be required.
You don't need to be an expert to understand why this is happening. Now all the fastest USB 3.0 drives use SATA 3Gb / s SSDs, which severely limits their performance (somewhere around 50% of what the bus can handle). Moving to multiple devices with USB 3.0 and 6Gbps interface is sure to cause a congestion. Faster, higher-priced drives are unlikely to gain attention, as they will be faster than the storage subsystem of many users. Perhaps in the near future we will see external USB 3.0 drives based on the SF-2200 that will break the standard. However, this is almost impossible now, given that you will not feel absolutely any differences between USB 3.0 controllers from all manufacturers.
The main difference between USB 3.0 controllers will be visible after the release of the Windows 8 operating system. Microsoft plans to implement support for its driver for USB-Attached SCSI, which will provide support for NCQ instructions via the USB port. As a result, you can benefit from the SSD's ability to reverse the order of operations. This is necessary in order to take advantage of the clear advantage of multi-channel architectures, which increase system performance as the queue grows.
The system update procedure will not enable NCQ function on the USB port.In addition to the specified driver, it will require a client device and a compatible USB 3.0 controller. The ASM1042 Asmedia device is already equipped with logic to help support UAS, but the reaction of Etron EJ168 or AMD A75 is not known. At the device level, it is not entirely clear whether any external device is ready for UAS at the moment.
However, this is in the near future. Now you can enjoy the crazy speed of USB 3.0 and remember that it is very difficult to load the bandwidth of one port, and even 2 ports on the controller will show impressive performance. If you are fortunate enough to purchase four external Kingston HyperX Max 3.0 drives and wish to include them in the HighPoint RocketU 1144A or AMD A75 chipset, then good speed will be guaranteed.