Part 1 (CardBus-USB2) can be found here.
Part 2 (ExpressCard-USB3) can be found here. You may want to read this part as a prequel to the current review.
Part 3 (SD/SDHC/SDXC) can be found here.
Part 4 (CompactFlash) can be found here.
Part 5 (USB3 revisited) can be found here. You may want to read this part as a prequel to the current review.
Part 6 (SATA/eSATA) can be found here.
Part 7 (SD Revisited) can be found here.
In what will probably be the final chapter of this review series (or at least the last, for a long time), I’ve decided to go back to USB 3.0 ExpressCards; the previous round-ups left me a bit dissatisfied, as the best performing chip (Renesas uPD720202) exhibited serious compatibility issues, making it inadequate in many scenarios. To determine whether the issue is with the chip, or with the specific AKE 54mm ExpressCard adapter, I obtained a different adapter based on the uPD720202, this time in 34mm form factor, which allowed me to test it in additional systems. This is the first new adapter in this round-up. The second one is the Fresco Logic FL1100 3-port ExpressCard. It is based on a newer revision of the Fresco Logic USB 3.0 controller, but does it outperform the somewhat disappointing one-port FL1000 which I benchmarked earlier? We shall see.
To get a frame of reference, I compared the new adapters to all of the old ones, as well as to some integrated USB 3.0 controllers in modern systems, and even one USB 3.1 adapter (integrated in my new Z370-based desktop). You may want to familiarize yourself with Part 2 and Part 5 of this roundup for a complete survey.
The previous contenders
- NEC uPD720200 (Vantec 34mm, 2-port)
- Fresco Logic FL1000 (Gmyle 34mm, 1-port)
- ASMedia ASM1042 (Gmyle 34mm, 2-port)
- Renesas uPD720202 (AKE 54mm, 2-port)
The flash drive
Unfortunately, my Sandisk Extreme USB 3.0 flash drive succumbed to the infamous design flaw of these units, causing the connector to break inside the housing; about 95% of the time, the drive is no longer recognized by USB 3.0 ports, and although it works fine in most USB 2.0 ports, it can no longer be used as a speed benchmark. So, in this test, I switched to a newer model – Sandisk Extreme Go USB 3.1. Unfortunately the new model is not quite as fast as the old one – one would have to go to the Extreme PRO line for this – but it is still a reasonably fast USB 3.0 drive.
The new contenders
Renesas uPD720202 (34mm, 2-port)
This card shares a similar design to the 2-port BC628 ASM1042-based adapter. The two ports are so close together that in practice most devices would not connect side-by-side with anything else.
The compatibility issues of the uPD720202 with ASPM power management on certain laptops, which were described in Part 2, were immediately observed on this adapter, with behavior similar to the 54mm AKE card reviewed earlier; this shows that the problem is related to the controller itself, not to a specific implementation. In some way, this was expected, once I learned that other ExpressCard adapters (such as the 04W1701 SDXC adapter) experience similar symptoms.
The systems affected worst in this regard are the Sandy Bridge series laptops, such as the X220 in my collection – the ASPM glitches cause the system to freeze for about 1 second every 2-3 seconds, making it unusable. I observed it on Windows 7 and 8.1; whether other versions or non-Windows OSes are affected – I don’t know; however, after some more attempts and research, I think I discovered a viable workaround which does not involve disabling ASPM completely (and taking a huge cut of battery life). It appears that this particular ASPM issue is actually not due to L0s, but due to L1, and it can be alleviated, by disabling L1 on the controller itself (not on the PCIe root port above it). This can be done by a batch file running setpci, a RWEverything script, or anything equivalent.
To disable L1 one needs to clear bit 1 at the PCIe ASPM LnkCtl register, which, for this controller is at byte offset 0xB0 (default value appears to be 0x43 – which enables both L0s and L1). If we assume, for example, that the ExpressCard adapter is allocated PCI bus 5, device 0, function 0 (this is the case on my X220), then disabling L1 can be done by the following setpci command:
Code: Select all
setpci –s 5:0.0 b0.b=41
- It needs to be reapplied every time the adapter is unplugged and reconnected or when the PC resumes from low power), as it will re-negotiate L1 anew (although it does not do that from cold boot).
- During the ASPM glitches, the controller disappears off the bus (and so the register cannot be written), so several attempts at running the script may be required until one is successful. One can find ways of making a simple automated tool to run the script when needed, but I haven’t bothered, as I have no pressing need at this point.
Fresco Logic FL1100 (54mm, 3-port)
This adapter is the first one I saw where the manufacturer managed to cram 3 full USB 3.0 ports into a 54-mm ExpressCard (the uPD720202-based one had a DC-in jack there, to provide extra power to external devices). Again, it would not be possible to actually plug 3 devices, unless very narrow extension cables are used. Seemingly, the loss of a DC-input jack is an issue for power-hungry devices, but due to the nature of USB, it is possible to provide power input by using a simple USB A-to-A cable, as described here.
The chip itself, FL1100, is actually a 4-port controller, and there exist both desktop PCI-Express cards, and laptop ExpressCards, with all 4 ports exposed, but obviously there is no way to fit them on a flush ExpressCard adapter, where 3 is the limit. The controller supports PCIe Gen2 (5 Gbps), which is a step up from the Gen1 FL1000. In the laptops where I could test this card (T60 and X220, as they are the only ones in my possession with a 54mm ExpressCard slot), I experienced no compatibility problems, performance issues or glitches.
Test Setups
The following Thinkpads were used for testing the ExpressCard Adapters:
- T60 (Core 2 Duo T7200, Windows XP)
- T410 (Core i5-540M, Windows 10) – 34mm cards only
- X220 (Core i7-2640M, Windows 7 / Windows 8.1)
- T430s (Core i7-3520M, Windows 10) – 34mm cards only
Additionally, the following desktop PCIe x1 to USB 3.0 cards were tested:
- Renesas uPD720201, in a Core 2 Quad Q9550 desktop running Windows 7
- Via VL805, in a Core 2 Extreme QX9650 desktop running Windows Vista
Finally, the following integrated, onboard USB controllers were tested:
- NEC uPD720200, in the X220
- Intel QM77, in the T430s
- Intel 200 Series, in the Thinkpad 25
- Intel 300 Series, in a Z370 i7-8700K desktop
- ASMedia ASM2142, in a Z370 i7-8700K desktop – the only USB 3.1 controller in the roundup
The test drive was the Sandisk Extreme Go USB 3.1, 128GB, formatted to exFAT (out of the box default). I actually had two of these – the first one I formatted to NTFS, hoping to see some increased speeds, but in fact the write speed dropped significantly, and would not go back up even after I reformatted it to exFAT; eventually Sandisk agreed to RMA the drive, and I decided against trying NTFS on the new one, at least until I finished all the tests.
Results
Code: Select all
System OS Controller Read (MB/s) Write (MB/s)
T60 XP SP3 ASMedia ASM1042 96.3 35.1
T60 XP SP3 Fresco Logic FL1000 118.8 34.6
T60 XP SP3 Fresco Logic FL1100 121.1 34.6
T60 XP SP3 NEC uPD720200 84.5 31.1
T60 XP SP3 Renesas uPD720202 134.7 34.8
T410 Win10 Pro 64 ASMedia ASM1042 155.8 123.4
T410 Win10 Pro 64 Fresco Logic FL1000 100.4 33.9
T410 Win10 Pro 64 NEC uPD720200 105.7 82.1
T410 Win10 Pro 64 Renesas uPD720202 177.7 118.5
X220 Win7 Ult64 NEC uPD720200 110.5 35.2
X220 Win7 Ult64 Fresco Logic FL1000 124.4 34.4
X220 Win7 Ult64 Fresco Logic FL1100 141.5 36.4
X220 Win7 Ult64 ASMedia ASM1042 143.1 36.4
X220 Win7 Ult64 Renesas uPD720202 148.6 36.4
X220 Win8.1 64 NEC uPD720200 147.1 114.2
X220 Win8.1 64 Fresco Logic FL1000 125.0 35.9
X220 Win8.1 64 Fresco Logic FL1100 181.4 132.2
X220 Win8.1 64 ASMedia ASM1042 196.0 147.9
X220 Win8.1 64 Renesas uPD720202 195.2 147.6
T430 Win10 Pro 64 Intel QM77 193.5 145.9
T430 Win10 Pro 64 ASMedia ASM1042 192.0 146.6
T430 Win10 Pro 64 Fresco Logic FL1000 127.0 34.4
T430s Win10 Pro 64 NEC uPD720200 126.0 100.4
T430s Win10 Pro 64 Renesas uPD720202 190.0 140.7
Thinkpad 25 Win10 Pro 64 Intel 200 Series 174.5 134.9
Desktop – G41 Win7 Ult64 Renesas uPD720201 138.4 35.9
Desktop – P45 Vista Ult64 Via VL805 152.8 37.0
Desktop – Z370 Win10 Pro 64 Intel 300 Series 194.8 135.2
Desktop – Z370 Win10 Pro 64 AsMedia ASM2142 194.3 136.6
Analysis
The first obvious thing is that the Extreme Go USB 3.1 drive is slower than the older Extreme USB 3.0 drive, with read/write speeds just under 200MB/s and 150MB/s, respectively, compared to 250MB/s and 190MB/s for the older model. The lesson here is that one should not blindly trust that higher USB protocol version = higher speed; what matters more is the speed of the flash. Write speed in particular tends to vary a lot; it is not uncommon to find cheap USB 3.0 drives with good read speed and atrociously low write speed (on par with old and slow USB 2.0 drives).
Microsoft USB XHCI driver and write speeds
The biggest surprise to me was how operating system makes a huge difference in speed. It seems that with XP, Vista or Windows 7, the write speed is almost locked under 40MB/s. The read speed is difference is less noticeable, but still present. The full speed of 170-190MB/s read and 130-150MB/s write is unlocked in Windows 8.1/10. The drastically increased performance must be due to the Microsoft built-in XHCI driver (usbxhci.sys) which is available only on Windows 8 and later; the fact that the performance stays low with the FL1000, which does not use the Microsoft driver, is pretty good evidence of that. While the difference in read speed is consistent with what was observed in the previous round-up in Part 5, the difference in the write speed is incredible; I don’t know whether it has to do with the exFAT file system or something particular in the flash arrangement on this drive.
Fresco Logic FL1100 performance
The FL1100 proved to be a good upgrade over the FL1000; although it is still usually slower than ASM1042/uPD720202, it closes most of the speed gap. Unlike the FL1000, it can benefit from the Microsoft usbxhci.sys driver to boost speeds under Windows 8/8.1/10.
Integrated USB 3.0 in Intel Chipsets
The onboard Intel USB 3.0 controller in the QM77 performed on par with the ASMedia / Renesas controllers, and better than the slower FL1000 / NEC controllers. What is more surprising is that the much newer USB 3.0 controllers in the Thinkpad 25 (Kaby Lake) and the desktop (Coffee Lake) yielded lower write performance, and in the Thinkpad 25 case also lower read performance. This may be a regression in Windows 10 version 1803, since the T430s is still running 1709; definitely something to test more in the future.
Desktop PCI-Express Controllers
The Via VL805 slightly outperformed the Renesas uPD720201, but it’s hard to say whether it is, in part, due to the slightly higher-clocked system. The Via VL805 showed the fastest read/write performance using pre-Win8, non-Microsoft drivers.
USB 3.1
The ASMedia ASM2142 USB 3.1 controller did not show any better performance than the Intel USB 3.0 on the same board; likely faster flash drives would be required to demonstrate the performance advantage of USB 3.1, if it exists.
Conclusions
- The Fresco Logic FL1100 is a solid performer, better than the older FL1000.
- The performance boosts provided by Microsoft’s built-in XHCI driver, starting from Windows 8, are quite noticeable.
- The sluggishness and lag when uPD720202 is used in X220 can be fixed by changing a single bit in the PCI configuration space, to disable ASPM L1 state on the adapter; however, this workaround must be reapplied after every hot-plug or low power state resume event.
- Integrated Intel USB controllers present on Ivy Bridge and later systems make ExpressCard adapters unnecessary, as they provide on par or better performance, in addition to boot capabilities.
Questions yet to be answered
- Is the <40MB/s write speed cap observed on the Extreme Go 3.1 drive, when using pre-Win8 non-MS drivers, due to something about the flash arrangement, or the exFAT file system?
- Is the small performance drop observed on newer Intel USB 3.0 controllers due to hardware issues or software regression between the Windows 10 1709 and 1803 updates?