USB2.0 for USB1.1-equipped machines
USB3.0 for USB2.0-equipped machines
Media card for machines without a card slot
I was interested in comparing the different devices to each other as well as to native controllers integrated with the laptop, when possible.
As part of my hobby of sharing knowledge and discussing geeky computer-related stuff, I will convey my findings in a multi-part story.
All pictures can be clicked for larger versions.
The first part of this story can be found here.
Some related discussions on the forum:
ExpressCard USB3 Adapters - read speed issue [SOLVED]
X220 (and X201, X200) USB 3.0 ExpressCard
Part 2 – ExpressCard to USB3.0
Reasons to get one
USB3 integrated into the chipset appeared only in the latest generations (for Intel chipsets this would be the Ivy Bridge / Panther Point combo, and the corresponding Thinkpads would be the 230/430/530 series). Until then, USB3 controllers were integrated onboard as separate chips only in select high-end systems.
Since the ExpressCard standard appeared already in late Pentium M models, it means that there are roughly 6 generations of laptops with no built-in USB3 capabilities, than can benefit from such expansions cards.
The four ExpressCard-to-USB3 adapters I’ve been able to test for this review are:
Vantec 2-Port Superspeed USB3 ExpressCard/34
This is not a flush adapter, so I did not plan to include it in the review. But since I got one by coincidence, I thought it could be nice to test it as well.
The adapter fits the 34mm slots, is made of thick plastic with portions of aluminium, and has a large protruding part housing the two USB3 ports, which is significantly wider than 34mm. Without this housing, the two ports would be too close together to be useful, or else not fit in 34mm, so the rationale is clear. The adapter feels very rigid and of high quality, however, in practice is way too big and bulky to keep in a laptop at all times. Moreover, it is very easy to accidentally eject it by bumping it (especially on laptops with push-to-eject, no-lever ExpressCard slots).
The adapter is based on the first ever USB3 controller – the NEC/Renesas uPD720200, which is a 2-port PCIe Gen2-compatible controller. In the box you will receive the adapter, a driver CD, and a 34-to-54mm filler plastic card (which you can latch onto the card to avoid this gap you can see in the “inserted” picture). Disappointingly, even though there is a DC-in power socket on the card to allow extra power (again, see picture), no power cable is included.
Vantec 34mm adapter (left) and inserted into T60 ExpressCard slot (right).
Gmyle BC618D ExpressCard/34 to USB3 with External Power Port
This one has a single USB3 port and also a DC-in socket (a USB cable is included in the package to pull extra power from any other USB port). It uses the Fresco Logic FL1000 single-port, PCIe Gen1 controller. Therefore, the label on the card indicating “5Gbps” is a complete lie, as the Gen1 only goes up to 2.5Gbps. Just in case the manufacturer specs were wrong, I verified the device capabilities using lspci, and surely enough, the device only advertises 2.5Gbps speed, even when connected to a 5Gbps-capable PCIe root port. The practical implications of this are discussed below in the performance section.
I actually contacted Gmyle, who had no explanation for the mislabeling. What I managed to gather from various sources is that at some points these adapters were using different chips, and those may have been 5Gbps-capable. The label was probably carelessly left from those times.
Gmyle BC628 ExpressCard/34 to Dual Port USB3
Very similar to the previous adapter, but instead of the power port has a second USB3 port. While it may look like a good thing, the ports are so close together that almost any thumb drive plugged in one port will block the other – not very useful. It is possible, however, to plug two standard width USB cables side-by-side, e.g., when connecting external hard drives. I doubt the ExpressCard slot will be able to power two such devices, though, so the hard drives better have external power. The actual controller is the dual-port ASMedia ASM1042, which is PCIe Gen2 capable, so with this controller, the 5Gbps label is justified.
AKE ExpressCard/54 to 2xUSB3 with External Power Port
This seems as the most complete adapter, with two USB3 ports, which are sufficiently far apart, and a DC-in socket (cable included). The downside of course – it requires a 54mm ExpressCard slot, so will not be compatible with all laptops. The chip used is the Renesas uPD720202 – the updated version of the uPD720200. Renesas claims improvement in both read and write speeds, with the write speed increase being more dramatic. Again, the performance section below will test those claims.
The Gmyle 34mm and AKE 54mm adapters are shown in the picture. Interestingly, the 54mm is just a bit shorter., a little bit shorter than the standard. On most laptops it will actually sit a little deeper than flush in the slot. On the T60 (pictured) it sits exactly flush, because the T60 CardBus/ExpressCard slots are apparently not as deep. Usually the card will work just fine even being a little too recessed, but there can be some issues, which I will describe below. This is a minor negative point for the AKE adapter.
Left: 34mm and 54mm adapters compared (54mm is slightly shorter). Right: The AKE 54mm ExpressCard-USB3 adapter inserted into a T60 with a SDCBA-C01 CardBus-SD Adapter under it (the latter sticks out more).
Limitations of the Review
Unfortunately, there are still interesting aspects of USB3 analysis that I was not able to cover by this review, such as:
- Comparison to additional adapters and controllers from VIA, Etron and others
- Comparison to chipset-integrated controllers by Intel/AMD
- Comparison to onboard controllers (using Renesas/ASMedia/Fresco chips) in older systems
- Benchmarking using additional and possibly faster devices, such as SSD or RAID controllers
Thus, this survey demonstrates well what one can achieve using one of these adapters in an older, non-USB3 machine, but it does not evaluate them compared to modern, integrated USB3 solutions.
Code: Select all
Card Vantec UGT-UC312CB Gmyle BC618D Gmyle BC628 AKE 54mm Chip NEC/Renesas uPD720200 Fresco Logic FL1000 ASMedia ASM1042 Renesas uPD720202 Interface EC/34, PCIe Gen2 EC/34, PCIe Gen1 EC/34, PCIe Gen2 EC/54, PCIe Gen2 Ports 2 1 2 2 VID:DID:REV 1033:0194:03 1B73:1000:01 1B21:1042:00 1912:0015:02 Description NEC Electronics USB 3.0 Fresco Logic xHCI(USB3) ASMedia XHCI Renesas Electronics USB 3.0 Host Controller (*) Controller FL1000 Series Controller Host Controller
Interestingly, the uPD720200 still uses the NEC vendor ID (0x1033), while the uPD720202 uses Renesas (0x1912). The driver file names were also changed (from nusb*** to rusb***), and the driver packages are incompatible between the two controllers. However, later drivers for the uPD720200 will display it as “Renesas Electronics” in the device manager, instead of “NEC Electronics”.
USB3 vs USB2 PHY
A USB3 device is capable of operating on USB1/2 levels. However, on the controller level, separate physical (PHY) layers are used for USB3 devices and USB1/2 devices. Similarly to USB2 (EHCI) controllers that presented companion controllers with virtual ports when connecting USB1 devices, the USB3 xHCI controllers present virtual ports for pre-USB3 devices. Therefore, if your USB3 controller has N ports, utilities like USBView will show 2*N ports. Connected USB3 devices will appear at the first N ports, while pre-USB3 ones will appear at the last N ports.
On a physical level, it appears that the connecting pins to the USB3 PHY sit deeper in the port. I don’t know if it is dictated by the standard, but it is the case in all the USB3 controllers I’ve examined here. This can lead to an interesting phenomenon – if a USB3 device is partially plugged into the USB3 port, it will make contact with the USB2 PHY, will be picked up by the host and function normally, but only at USB2 speeds. Moreover, once the devices made contact with the USB2 PHY, pushing it deeper in the port has no effect. To switch to USB3 one needs to unplug it and plug it back in all the way so that it contacts the USB3 PHY first.
The Setups and Physical Compatibility
The adapters were tested in three different laptops.
Thinkpad T60, Core 2 Duo T7200 @2.00GHz, running Windows XP Professional SP3
The T60 has a 54mm ExpressCard slot (ICH7-M chipset, PCIe Gen1). The slot is part of a dual-slot combo, sitting on top of a 54mm CardBus slot, with a single flap door for both slots. A lever mechanism is used to eject the ExpressCard, after which the card pulls out easily. The level worked well for all cards in this test. The non-flush ones can also be simply pulled out.
Interestingly, the slots on the T60 seem to sit less deep than on the other laptops, which will cause the card (both CardBus and ExpressCard) to stick out a bit more than usual. The difference is only about 1-2mm, so not a big deal.
What does pose a potential problem is the fact that the AKE 54mm ExpressCard is shorter than the standard (see picture above). Furthermore, the USB pins seem to sit deeper inside the ports than in most other adapters. Because of this, one might run into difficulties plugging in USB devices into it when a flush card (such the SDCBA-C01 card reader) is inserted into the slot below, since the device may only make contact with the USB2 pins, and will not operate at full USB3 capacity. This is definitely an issue and is something to consider if you plan on using this adapter in a dual-slot configuration, such as common on T43/T6x/Tx00 and contemporary R-series.
Thinkpad T410, Core i5-540M @2.53GHz, running Windows 7 Enterprise 64-bit
The T410 has a 34mm ExpressCard slot (QM57 chipset, PCIe Gen1). The slot is spring-loaded, push-to-eject, and a 34mm filler card is used normally. Obviously, the 54mm card could not be tested in this laptop.
Thinkpad X220, Core i5-2520M @2.50GHz, running Windows 7 Enterprise 64-bit
The X220 has a 54mm ExpressCard slot (QM67 chipset, PCIe Gen2). It is also spring-loaded, push-to-eject with no lever, but has a flap door cover. As other Sandy Bridge laptops, the X220 is the first generation to have PCIe Gen2, which means that the Gen2-capable USB3 controllers have a chance to operate at higher speeds.
The test conditions were as follows:
- Flash drive - Sandisk Extreme USB3 64GB. This is one of the fastest USB3 flash drives, although it is not as fast as some SSDs / RAID arrays. But it should be a good indicator for typical performance. The USB2 flash drive used for select tests was the Corsair Voyager Mini 32GB.
- Utility - CrystalDiskMark with 100MB files and sequential read/write (no change was observed with larger files). Random 4K read/write tests were performed too, and will be mentioned where appropriate, although in general they showed less consistent results and should be taken with a grain of salt.
- Settings – Safe mode, with no other USB devices plugged in, to maximize throughput. This should give indication of how far each of the controllers can go, although in practical applications the results will be somewhat lower.
The adapters’ packages include a CD with drivers. Sometimes more recent versions, as well as firmware for some cards can be found at Station Drivers. With that said, I have not noticed any particular effects, positive or negative, for updating the drivers/firmware over what’s included on the CD.
Fresco Logic Drivers/Firmware
Performance – USB3 vs USB2
Code: Select all
Thinkpad T60: Onboard USB2 vs ExpressCard USB3 Controller ICH7-M (USB2) ASM1042 (USB3) uPD720200 (USB3) uPD720202 (USB3) FL1000 (USB3) Read Speed 34.9MB/s 122.5MB/s 134.5MB/s 151.6MB/s 153.7MB/s Write Speed 27.6MB/s 122.1MB/s 101.7MB/s 138.8MB/s 141.7MB/s
The first set of tests was run on the T60. Any of the USB3 controllers will offer a dramatic increase in USB transfer rates. The advantage of the uPD720202 over the uPD720200 is evident, especially in the write speeds. The FL1000 shows a tad higher performance than the Renesas (The T60 PCIe is Gen1, so the link speed cap is the same for all four controllers). The ASM1042 falls behind the Renesas and Fresco Logic solutions.
Performance – USB3 in USB2 mode
Since USB3 controllers are backwards compatible with USB2, an interesting experiment is testing them in USB3 mode. For this purpose I used the same Sandisk Extreme flash drive, but had it connected only partially so that it goes through the USB2 PHY instead of the USB3 one.
Code: Select all
ExpressCard USB3 in USB2 Mode vs Onboard USB2 Controller ICH7-M (T60) QM67 (X220) uPD720200 uPD720202 ASM1042 FL1000 Read Speed 34.9MB/s 34.6MB/s 39.1MB/s 38.4MB/s 44.6MB/s 44.7MB/s Write Speed 27.6MB/s 30.1MB/s 38.7MB/s 37.2MB/s 43.4MB/s 45.7MB/s
The test shows a noticeable advantage to the USB3 controllers in USB2 mode, compared to the integrated Intel USB2, even in the modern X220. This suggests that, given the option, one should prefer using USB3 controllers even with USB2 devices, which are capped by the interface (such as external hard drives). For most USB2 flash drives it would make no difference, since the flash itself is slower than the performance of any modern USB2 controller.
Performance – 4KB Blocks
While sequential speed shows the maximum theoretical performance, more frequently data is accessed in small blocks. 4KB chunk tests are very common and CrystalDiskMark offers them. The advantage of the USB3 controllers over the USB2, while not as dramatic, is still noticeable, especially with the read speed being doubled from ~7MB/s to ~14MB/s in most cases.
Code: Select all
4KB Blocks Access (Sandisk Extreme 64GB) | USB2.0 | USB3.0 Controller ICH7-M (T60) QM57 (T410) QM67 (X220) uPD720200 uPD720202 ASM1042 FL1000 Read Speed 7.2MB/s 6.6MB/s 6.6MB/s 13.8MB/s 14.3MB/s 12.7MB/s 14.0MB/s Write Speed 7.2MB/s 6.4MB/s 5.9MB/s 7.7MB/s 9.6MB/s 9.8MB/s 8.5MB/s
Performance – PCIe Gen1 vs PCIe Gen2
One of the more interesting tests is checking how much the bus speed caps the performance. PCIe 2.0 (Gen2) specification increases the theoretical throughput for a single lane to 5Gbps, from 2.5Gbps for PCIe 1.0/1.1 (Gen1). ExpressCard 2.0 slots are PCIe Gen2-compliant.
The Sandy Bridge platform, represented here by the X220, is the first Intel platform to feature PCIe 2.0 for all PCIe ports, including the ExpressCard. As was mentioned earlier, all USB3 controllers in this roundup, with the exception of the FL1000, are also Gen2-compliant.
Code: Select all
PCI-Express 1.1 vs 2.0 Controller uPD720200 uPD720202 ASM1042 FL1000 Read (T60, 1.0) 134.5MB/s 151.6MB/s 122.5MB/s 153.7MB/s Write (T60, 1.0) 101.7MB/s 138.8MB/s 122.1MB/s 141.7MB/s Read (T410, 1.0) 135.8MB/s n/a 147.4MB/s 146.8MB/s Write (T410, 1.0) 95.0MB/s n/a 132.4MB/s 130.4MB/s Read (X220, 2.0) 183.8MB/s 184.6MB/s 182.6MB/s 138.9MB/s Write (X220, 2.0) 123.8MB/s 145.9MB/s 133.2MB/s 121.0MB/s
The results clearly demonstrate that PCIe 2.0 controllers, in ExpressCard 2.0 slots, will achieve better performance. In this particular test, it’s the read speed that gets affected most; all the Gen2-capable controllers, which sit at 120-150MB/s on a Gen1 platform (T60/T410), could exceed 180MB/s on a Gen2-platform (X220). The speed improvement for write is present, but less significant. This can also be a limitation of the flash, as the Sandisk Extreme USB3 is rated for lower write speeds than read speeds.
In comparison, the Gen1 FL1000, not only did not gain anything in the Gen2 platform, but actually suffered some performance degradation. This last point is surprising, but with only a single test point, can be considered a fluke.
Additional observations are that the ASM1042, which fell behind the pack in the T60, showed much better overall performance in the T410/X220, whereas for the FL1000 it was the opposite. The uPD720202 was the overall more stable performer, but of course, coming in a 54mm card, it could not be utilized in the T410’s 34mm slot.
Performance – USB2 flash drives
Lastly, let’s observe how the USB3 controllers affect performance of USB2 drives, which are still more common these days. The Voyager Mini 32GB I used for this test is a typical mid-range drive, with good read speeds for USB2, but only average write speeds.
Code: Select all
USB2.0 Flash Drive Performance (Voyager Mini 32GB) Controller ICH7-M (T60) QM67 (X220) uPD720200 uPD720202 ASM1042 FL1000 Read Speed 28.9MB/s 28.0MB/s 30.7MB/s 27.7MB/s 31.6MB/s 29.6MB/s Write Speed 7.6MB/s 7.2MB/s 7.9MB/s 8.1MB/s 5.0MB/s 8.0MB/s
In this case, where the flash is slower than the USB2 controllers, the USB3 controllers give a small and insignificant speed boost. We conclude that there is no practical advantage to using USB3 controllers with slow flash.
Safe vs normal mode
As was mentioned in the beginning of this review, the performance measurements were taken with Windows running in safe mode, as it was empirically shown to yield somewhat higher speeds. In practical configurations, the speeds might be somewhat lower, but in most cases the difference is not very significant – about 10-15% speed drop. The FL1000, however, seemed to suffer more than the other controllers, often displaying results some 30-40% lower than its maximum.
One major change in Windows 8 is that many xHCI/USB3 controllers now have native drivers provided by Microsoft. I did not get a chance to run thorough benchmarks on Windows 8 due to the lack of a suitable system, however in one unofficial test, running Windows 8 on a X220 Tablet, with the Vantec card, I saw read speeds exceeding 220MB/s, which is a very dramatic improvement. Similar improvements have been reported by other sources, so one can probably expect Windows 8 to offer consistently better USB3 performance, however it is not clear at this point whether it is due to the Microsoft driver being better, or some improvements in the OS itself.
PCIe Power Management (ASPM)
The PCI-Express standard defines specifications for Active State Power Management (ASPM), which allows reducing power consumption of PCIe devices when they are idle. Two main power-saving states are defined – L0s, which the devices are supposed to enter during short idle periods, and L1, which is entered during longer idle periods, and offers, in theory, more power savings.
Reducing power consumption is naturally more important in mobile systems, so most laptops will have the ASPM (sometimes referred to as “PCIe Power Management”) enabled by default on their PCIe ports, ExpressCard included. But really it depends on the BIOS, and often there is a setting which can disable/enable it.
Without going into too many details, I was somewhat surprised to find that all these ExpessCard adapters do not seem to play well with ASPM, and specifically with the L0s setting. With L0s enabled, I witnessed any of the following phenomena, depending on the card and the machine:
- Significant (up to 50%) drop in read speeds
- The controller not being detected at all or appearing and disappearing randomly
- Terrible system sluggishness as Windows tries to repeatedly negotiate with the controller and fails
- Disabling PCIe Power Management altogether in the BIOS (does not seem to work on the T60, but does work on the newer models). This may have a negative impact on your battery life.
- Using scripts and utilities such as pciutils (Linux/Windows) or RWEverything (Windows) to disable L0s specifically for the ExpressCard, when the system boots/exits from standby.
Pre-Boot Environment Support
None of the tested laptops could boot from a USB device attached to any of the adapters. The BIOS would not see any attached drives. While USB-based ExpressCards are basically wired to one of the built-in USB ports, and as such are typically bootable, PCIe-based ExpressCards, just like any PCIe device are only bootable if they incorporate firmware which presents itself to the BIOS as an ATA device (such as the case with mSATA SSDs and a rare selection of PCIe ExpressCard SSDs). At least this is the theory as I understood it. The tested adapters do not incorporate such firmware, and so are not usable until the OS is fully booted and an appropriate driver is loaded.
Conclusion and Discussion
In the end, it is hard to decide which of the four tested adapters is the clear winner. Each has advantages and disadvantages that came out through the review. So I will just summarize all the pluses and minuses and let you decide.
Vantec 2-Port (NEC uPD720200)
+ Highest build quality of all
+ 34mm, so compatible with all ExpressCard slots
+ 2 well-spaced USB3 ports and a power plug
+ PCIe 2.0 compliant
– Sticks out of the slot and is very cumbersome
– Write performance is lower than other contestants
– Expensive (and power cable not included!)
AKE ExpressCard/54 to 2xUSB3 (Renesas uPD720202)
+ Highest overall performance – read and write
+ PCIe 2.0 compliant
+ 2 well-spaced USB3 ports and a power plug (cable included)
– 54mm so does not fit 34mm slots
– Sits a little too deep in the slot
– Strange compatibility problems with PCIe ASPM in certain laptops
Gmyle BC618D (Fresco Logic FL1000)
+ 34mm, so compatible with all ExpressCard slots
+ Power plug (cable included)
– Only PCIe 1.1 compliant; maximum performance in PCIe 2.0 laptops is lower compared to others
– Real-life performance seems to be much slower (30-40%) than measured theoretical maximum
Gmyle BC628 (ASMedia ASM1042)
+ 34mm, so compatible with all ExpressCard slots
+ PCIe 2.0 compliant
+ Good performance, especially in PCIe 2.0 capable laptops
– No power plug for devices needing additional power
– The 2 USB ports are very close together; most devices won’t fit side-by-side without USB3 extension cables
The laptop you plan to use these on may also be an important factor. I would not recommend the Vantec for any system, simply because it’s big and awkward. The BC618D would be nice for a PCIe Gen1 system which has only a 34mm slot, if you foresee using it with power hungry devices that will need the extra power. For PCIe Gen2 I would recommend the BC628 instead, as it offers better performance and less compatibility problems. Finally, the AKE card would be a good choice if you have the 54mm slot to accommodate it, and if you are fine with possibly having to use the software workarounds outlined above for ASPM compatibility issues.
The card readers writeup (part 3) is online here.