Part 1 (CardBus-USB2) can be found here.
Part 2 (ExpressCard-USB3) can be found here. You may want to read this one for some background, as the current thread is a direct continuation of that review.
Part 3 (SD/SDHC/SDXC) can be found here.
Part 4 (CompactFlash) can be found here.
In this section I get around to running some of the tests that I did not manage to include in the earlier review dealing with ExpressCard to USB3.0 adapters. Although no new adapters are covered that were not part of the previous roundup, I managed to obtain a few comparative results from onboard USB3.0 controllers from NEC/Renesas and Intel. More interesting results are brought up by comparing performance in Windows 7 versus Windows 8/8.1.
New Players - Onboard USB 3.0 Controllers
The following onboard controllers were added to the roundup:
- NEC/Renesas uPD720200 – formerly tested in the Vantec Superspeed USB3 ExpressCard – is also the controller used on high-end Sandy Bridge Thinkpads (X220, T420s, W520 series). At that time, USB3.0 was already becoming mainstream, and there was demand for it, but it was still not part of the Intel chipset, so vendors would include third-party controllers on their motherboards, among which the NEC/Renesas was very popular. One such model is the X220 4291-4BG in my possession, which contributed to this roundup.
- Intel HM76 (Panther Point series) integrated USB3.0 controller – The Panther Point series were the first Intel chipsets to integrate USB3.0. They were shipped with some late Sandy Bridge processors (early ones had the Cougar Point series chipset, without USB 3.0), but more often with the Ivy Bridge generation (Core i3/i5/i7-3XXX models). In this case, the laptop in question was the Lenovo G500s with i3-3110M CPU.
The G500s in this review was running Windows 8 (x64), so that’s the OS that was used. My X220 has a dual-boot of Windows 7 and 8.1 (both 64-bit), so I was able to compare performance of the two operating systems.
The Sandisk Extreme USB3 64GB from previous reviews was again used in all tests.
Windows 7 vs Windows 8.1
The three different ExpressCard controllers were compared in the X220, to the onboard USB 2.0 (Intel) and USB 3.0 (NEC) chips.
Code: Select all
Controller Win7, Read Win8.1, Read Win7, Write Win8.1, Write Diff. (R/W)
Intel QM67 (USB2.0) 34.5MB/s 34.5MB/s 30.6MB/s 28.7MB/s 0% / -7%
NEC uPD720200 (Onboard) 184.5MB/s 259.2MB/s 102.7MB/s 141.7MB/s 40% / 38%
Renesas uPD720202 187.0MB/s 257.7MB/s 168.1MB/s 187.6MB/s 38% / 12%
Fresco Logic FL1000 139.7MB/s 140.5MB/s 101.0MB/s 92.4MB/s 1% / -9%
ASMedia ASM1042 186.2MB/s 251.9MB/s 148.8MB/s 187.1MB/s 35% / 26%
A deeper inspection shows that the Fresco Logic USB controllers were specifically excluded out of the Microsoft driver. This is evident by looking at the %Windows%\Inf\USBXHCI.INF file. The reasons for this decision are unknown to me at this point. Perhaps the Fresco Logic controllers were not 100% compilant to some standard, but that is just a guess.
In any case, it appears that Microsoft’s native drivers offer a noticeable performance boost over manufacturer’s drivers. There are no native Microsoft USB 3.0 drivers before Windows 8, thus this level of performance is not reached under Windows 7.
To verify that the driver is indeed the culprit, I temporarily installed the driver from NEC over the Microsoft one for the uPD720200. Surely enough, the numbers shown were similar to those of Windows 7.
It has been suggested that the performance boost exhibited by the Microsoft driver is not “real”, and is in fact caused by caching. It does seem strange and suspicious that the reported read speed exceeds the manufacturer’s (Sandisk) Own specification for this drive (which is 190 MB/s). I am not certain how to fully check this claim. However, the speeds were consistent, even for files of 4000 MB (the maximum size CrystalDiskMark supports), and I would assume that if caching effects are present, at least some differences would be observed as a function of the file size.
Also we see that the uPD720200 keeps up with the newer uPD720202 in read speeds, but gets trounced in the write speed (which is somewhat consistent with Renesas’s claims).
Finally, The USB 2.0 controller performance is not affected by the operating system (all USB 2.0 controllers have already been using Microsoft’s built-in drivers as early as Windows XP, and perhaps before that).
The natural question is – can the Windows 8 driver be backported to Windows 7? I believe it may eventually be done, but it is not straightforward. When I tried, by pointing Windows 7 to the appropriate .INF and .SYS files, it complained about the driver being unsigned (the signature is probably only valid for the OS it was created for). 64-bit Windows refuses to load unsigned drivers, unless explicitly told so at every boot. However, even after I disabled the driver signature enforcement for the testing purposes, Windows 7 complained that the driver was corrupt in some way and still did not load it. And of course, even if loaded, it is unclear whether the driver would work normally, as it may rely on some kernel APIs that are not available in Windows versions prior to NT 6.2 (Win8).
So for now, the fact seems to be that Windows 8 offers noticeable performance boost to sequential read/write speed of USB 3.0 storage devices. Random read speeds seem mostly unaffected (the numbers are not brought here, as no statistically significant differences were spotted).
Onboard controllers vs ExpressCard
This review is the first time I was able to test a USB 3.0 controller from Intel, integrated in the HM76 chipset, inside the Lenovo G500s laptop. The results indicate it to be on par with the fastest controllers – it surpasses all the others in read speed, and loses just a bit to the uPD720202 and ASM1042 in the write speed. In both cases the differences are marginal.
Code: Select all
USB 3.0 Controller Interface OS Read Write
Intel HM76 Chipset – G500s Win 8 262.7 MB/s 183.3 MB/s
NEC uPD720200 Onboard – X220 Win 8.1 Pro 259.2 MB/s 141.7 MB/s
Renesas uPD720202 Expresscard 54mm Win 8.1 Pro 257.7 MB/s 187.6 MB/s
Fresco Logic FL1000 Expresscard 34mm Win 8.1 Pro 140.5 MB/s 92.4 MB/s
ASMedia ASM1042 Expresscard 34mm Win 8.1 Pro 251.9 MB/s 187.1 MB/s
The HM76 has a USB 2.0 controller as well, so for the sake of completion, I also compared the USB 2.0 performance of the HM76 to that of the earlier QM67 chipset. Again, there seems to be no statistically significant difference.
Code: Select all
USB 2.0 Controller Interface OS Read Write
Intel QM67 Chipset – X220 Win7 Ultimate 34.5 MB/s 30.6 MB/s
Intel HM76 Chipset – G500s Win8 34.6 MB/s 30.9 MB/s
All the aforementioned benchmarks have been obtained with Windows running in safe mode. In this mode, Windows loads only the basic, generic modules, which reduces the software-induced variance between systems and shows the maximum theoretical performance. Experiments have shown the USB performance to be somewhat lower in actual, normal mode work environments. Now let’s see some numbers.
Windows 7:
Code: Select all
Controller Read, Normal Write, Normal Read, Safe Write, Safe Diff. (R/W)
Intel QM67 (USB 2.0) 31.6 MB/s 23.0 MB/s 34.5 MB/s 30.6 MB/s +9% / +33%
NEC uPD720200 181.3 MB/s 114.1 MB/s 184.5 MB/s 102.7 MB/s +2% / -10%
Renesas uPD720202 183.4 MB/s 142.2 MB/s 187.0 MB/s 168.1 MB/s +2% / +18%
Fresco Logic FL1000 141.6 MB/s 98.3 MB/s 139.7 MB/s 101.0 MB/s -1% /+3%
ASMedia ASM1042 182.4 MB/s 148.7 MB/s 186.2 MB/s 148.8 MB/s +2% / 0%
Code: Select all
Controller Read, Normal Write, Normal Read, Safe Write, Safe Diff. (R/W)
Intel QM67 (USB 2.0) 30.9MB/s 24.6MB/s 34.5MB/s 28.7MB/s +12% / +17%
Intel HM76 253.0MB/s 164.2MB/s 262.7MB/s 183.3MB/s +4% / +12%
NEC uPD720200 236.2MB/s 128.6MB/s 259.2MB/s 141.7MB/s +10% / +10%
Renesas uPD720202 244.6MB/s 176.4MB/s 257.7MB/s 187.6MB/s +5% / +6%
Fresco Logic FL1000 106.9MB/s 78.3MB/s 140.5MB/s 92.4MB/s +31% / +18%
ASMedia ASM1042 224.5MB/s 154.9MB/s 251.9MB/s 187.1MB/s +12% / +21%
Naturally, in real usage, you are not going to run Windows in safe mode. So, it may be academically interesting to try to figure out which settings may be responsible for the USB performance drop, and try to eliminate them. However, this is a different investigation, and one I don’t care to perform at this point.
Conclusions
- The Microsoft USB 3.0 (xHCI) generic driver, introduced in Windows 8, offers tangible performance improvements in sequential throughput of USB storage. Random access throughput is unaffected, though. If you routinely transfer large files between internal storage and external USB-attached devices, upgrading to Windows 8/8.1 is something to consider.
- The first generation of Intel USB 3.0 controllers keeps up well with the pack, and may even be slightly better, but not noticeably so. Definitely not a serious incentive to upgrade, if you still have a Cougar Point (or older) system, with a third-party USB 3.0 controller.
- One exception to the above may be the popular NEC/Renesas uPD720200, which is often used as a third-party controller in many Cougar Point systems. Its read performance is great, but write performance is lacking compared to Intel or newer chips from Renesas or ASMedia. The latter can always be added via ExpressCard modules, likes the ones surveyed here, but these come with their own potential problems (some of which were discussed in the earlier review).