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.
The second part of this story can be found here.
Some related discussions on the forum:
PC Card, Cardbus, SD Card adapters, readers & performance
Cardbus SDHC reader for T60P - SOLVED
SDHC card adapter into T60p
Part 3 – SD Card Readers/Writers
The SecureDigital (SD) form factor clearly won the battle of the memory cards, pushing other formats, such as CompactFlash, MemoryStick, XD, and others to the fringes. In recent years, almost every laptop comes with an SD slot (which is often actually an X-in-1 slot also accepting other formats of similar form factors). However, several generations ago SD slots were not standard on laptops, and one wanted to read/write SD cards, one needed to resort to connecting a reader via USB or any standard laptop expansion slot, such as CardBus or ExpressCard.
Also, with time, the SD standard evolved, towards supporting higher capacities, starting with SDHC (High Capacity) and, recently SDXC (Extreme Capacity). Any SD card over 2GB has to be SDHC, whereas cards over 32GB must be SDXC. While backwards compatibility is mandated by the standard (SDHC/SDXC devices must support regular SD cards), forward compatibility cannot be guaranteed. Some old devices will not support SDXC and sometimes not even SDHC cards.
A good amount of information and a run-down of current standards can be found at the SD Association Home Page.
In this roundup I ventured to compare several different SD readers, in terms of speed and compatibility. To do so I used several different cards – from basic, cheap 2GB microSD, to a high-performance 64GB SDXC.
Note: even though these devices are commonly referred to as readers, they are in fact readers/writers. I have yet to encounter one that could only read SD cards and not write them, and if they do exist, they are naturally not very useful.
The SD Readers
The following devices were used in this review:
BlueProton SDHC Reader
This is a simple and super-cheap USB2.0 device (currently less than $5). The actual chip seems to be by Silicon Motion (Feiya), and the USB IDs (Vendor:Product:Device) are 090C:6200:0100. It appears as a “Generic – USB SD Reader USB Device” in the device manager.
CardBus Multi-Card Reader
The one I got looks a little different (see picture), but I am almost certain they are the same thing with a different label. They are typically sold at about $15-20. Physically it is a simple card which sits basically flush with the laptop (sticks out just a little bit). The card is almost flush, but not 100%. Neither the adapter, nor the card are spring-loaded.
Despite the lack of the proper CardBus gold stripe, and the no-name branding, it is in fact not a PCMCIA device, but a true 32-bit CardBus device. It appears on the PCI bus behind whatever CardBus controller is used in your laptop. It in fact appears to be a VIA VT6213L PCI-to-USB bridge (PCI vendor/device/revision IDs are 1106:3104:65) , with a USB Card Reader wired to one of the USB ports. The reader appears to be an Alcor Micro (USB device 058F:6366:0100), and shows as “Multiple Card Reader USB Device” (only when an actual card is inserted).
SDCBA-C01 CardBus SDHC/SDXC/SDIO Reader
This one is also quite widespread on “the internets”, and is a bit more pricy than the other one, going for $25-30 in most places. It does, have the CardBus gold stripe, but is that the only thing that warrants the higher price? Actually, no. Compared to the cheaper reader, this one is clearly more rigid, of higher build quality, both the reader and the card slots are spring-loaded, and it sits more flush with the laptop chassis (more on that later). If you are curious mostly about performance (as most of us are), scroll down to the performance section.
It differs from the above devices also in that it is a true PCI device, and not a “USB reader behind a PCI device”. It is identified in the device manager as “SDA Standard Compliant SD Host Controller”, in the “Secure Digital Host Controller” section. It uses a Ricoh R5C8xx chip (PCI IDs are 1180:0822:22), although I cannot be sure of the exact revision (most likely an R5C833).
Finally, this one claims to support SDIO (not just memory cards), but in the absence of any such devices in my possession, I could not test it.
Sandisk SDAD-109 ExpressCard Multi-Card Reader
Sold at about $10-20 at most venues, this one is a no-frills reader, with the difference being that it uses the newer ExpressCard interface, instead of the older PC Card. It sits almost flush with the laptop chassis (sticks out less than half a centimeter), but the card, when inserted, sticks out a good deal. It is a USB Device (connecting through the USB pins of the ExpressCard interface), so it just shows up as a standard mass storage device, and as “Sandisk ExpCard Adpt USB Device” when a card is inserted. USB IDs are 0781:B6D1:9412.
Realtek USB3.0 SDXC Reader
One of the most interesting members of this review, it is one of the first readers that use USB3.0. It seems to be quite rare, though, as many more sprung out in the recent year or so, which appear to be more widespread. The need for such readers is obvious – many memory cards now boast speeds of 50+ MB/s, which is way over the capabilities of USB2.0.
This particular one is also interesting, because it has two slots – for full size SD cards, and microSD cards, so an adapter is not required. However, they seem to be multiplexed, so only one card can be used at the same time. The card appears as “Generic – USB3.0 CRW -SD USB Device” and the USB IDs are 0BDA:0307:0125.
In addition to the external readers, I also tested the built-in card readers on the following Thinkpads:
The X61 uses a Ricoh R5C847 PCI SD controller. It uses the standard Microsoft driver, and like the Cardbus SDCBA-C01, presents itself as “SDA Standard Compliant SD Host Controller”. The PCI IDs are 1180:0822:21.
The T410 uses a 5-in-1 reader, which actually shows up as two different devices (one for SD/MMC, and one for the other formats). The SD portion is also an “SDA Standard Compliant SD Host Controller”, except this one uses the PCI-Express interface. The chip is Ricoh R5U23x/24x, but I could not figure out which one. The PCI IDs are 1180:E822:01.
The 4-in-1 reader in the T420 is also a PCI-Express Ricoh R5U23x/24x, but a slightly different revision.PCI IDs are 1180:E823:05. One interesting this is that this one uses a driver provided by Ricoh, and not the standard Microsoft driver. It will show up as “Ricoh PCIe SDXC/MMC Host Controller” under “IDE ATA/ATAPI Controllers”.
The Memory Cards
Several cards were tested in this round-up (all of them Sandisk, because this is what I had around):
Sandisk Premier 2GB microSD + adapter
Sandisk Extreme III 4GB SDHC (rated at 20MB/s speed)
Sandisk Extreme UHS-1 64GB SDXC (rater at 45MB/s speed)
Sandisk and some others manufacture SD cards rated up to 95MB/s, but I did not have access to any of them, and didn’t feel like buying them just for the review, as they are too expensive.
One of the key requirements for me when using various adapters is that they sit flush with the chassis and can be left inside the laptop permanently without causing interference. On the surface, all the tested CardBus/ExpressCard adapters meet these requirements, but there are subtle but important differences, as you can see in the picture.
The Sandisk ExpressCard sticks out just a little bit, but the inserted card sticks out a lot. This means that you can leave the adapter permanently plugged in, but leaving the card in it all the time is not convenient if you move the laptop around in a bag.
The VIA CardBus multi-reader (seen in the A31p’s bottom slot) is almost flush as well, but as you can see it does stick out a bit further than the USB adapter right above it. Normally, this is a non-issue, but it bothered me in one particular case – when I was using it in a T60, with an AKE ExpressCard/54 to USB3.0 adapter in the ExpressCard slot, the difference in depth was sufficient to prevent USB3.0 device from making contact with the USB3.0 pins in the adapter, and they would only function in USB2.0 mode (a problem I mentioned in the earlier review of the USB3.0 adapters).
The best of all is the SDCBA-C01 – it sits perfectly flush, and the card, when inserted, is flush as well. So you can really leave it, and the card, inside the laptop all the time, making it a really compact way to expand your laptop’s storage capacity.
Left: VIA CardBus SD adapter and card in an A31p. Right: SDCBA-C01 CardBus-SD Adapter and Sandisk SDAD-109 ExpressCard-SD Adapter in a T60, both with SD cards inserted.
Now that SDXC cards over 32GB are becoming more widespread, SDXC compatibility is one of the most important points of a reader. Most of the readers in this round-up could handle the 64GB SDXC in one way or another. The only one that downright didn’t is the BlueProton USB2.0 adapter. One can’t complain at that price point though.
However, not all readers support SDXC equally. The PCIe and USB-based adapters (including the Sandisk ExpressCard) had no problems seeing the 64GB card in all environments. A hotfix installation may be required, depending on your OS and service pack.
However, the PCI-based SDCBA-C01 could only support it under NT6 (Vista/Win7), not under XP. It is likely that the XP SD Host driver stack does not support SDXC properly. For the same reason, I could not get the PCI-based built-in reader in the X61 to read the card under XP (I conjecture it would work fine in Vista/7, but I could not test it as that laptop only has XP installed).
Now, the 64GB could still be formatted to 32GB, and used as a SDHC card. However, there are some caveats here, depending on the chosen file system. I found that if formatted to exFAT 32GB, the 64GB-capable readers would not see it and require you to format it again to 64GB to function properly. However, formatted to NTFS/FAT32 32GB, it would function fine in all readers, all environments.
So to summarize the findings:
- USB and PCIe readers work fine with SDXC everywhere
- PCI-based readers that show as SD adapters and not Mass storage devices only support SDXC under NT6 OSes, not XP
- The 64GB card can be formatted to 32GB to work everywhere, but one should use NTFS/FAT32 for best compatibility in this case
- It does not support exFAT out of the box, but installing hotfix KB955704 adds compatibility
- Its disk management interface (diskmgmt.msc) does not show memory cards attached to SD Host Controllers. You will only see the memory card there if it goes through the USB Mass Storage driver stack. This is a driver stack limitation which was fixed in NT6.
The USB-based adapters (including the Sandisk ExpressCard, since it just uses the USB pins going to the chipset) are visible in the BIOS, and therefore bootable in any laptop that supports booting from USB (which is any laptop). The PCI (including CardBus) or PCIe-based readers do not seem to be bootable in any of the tested laptops.
Performance – Low-end memory cards
The first test involves the simple microSD, which offers only mediocre performance.
Most devices show pretty consistent speeds of 10-12MB/s read, and 9-9.5MB/s write. This is clearly the maximum the card can deliver. The cheaper Cardbus reader and the built-in PCI-based reader of the X61 fall behind the pack. Whether that is a fluke or not will be seen in the next tests.
Performance – Mid-range memory cards
The next test involves the 4GB SDHC which is rated at 20MB/s.
The results of this tests are more interesting as we begin to see some differentiation between the devices. Both Cardbus adapters show reasonable performance, but the more expensive, and higher quality SDCBA-C01 is somewhat faster. The USB2.0 and ExpressCard (which is also USB2.0) readers show good performance, on par with the faster CardBus device.
One big surprise is the shockingly bad speeds of the X61 built-in reader. It seems to be using a similar Ricoh PCI controller as the SDCBA-C01 (same device ID, but different revision ID), and the same Microsoft driver, but the difference is tremendous. No matter how I tested, I could not squeeze more performance out of the X61 reader, and I have no explanation to this phenomenon.
The PCIe-based readers on the newer laptops have a noticeable advantage, and gain about 3MB/s extra, both in the read and write speeds, over the rest. At this point, they are probably limited by the card itself, so the next test, with an even faster card should be pretty interesting.
Performance – High Speed memory cards
The final and most extensive test involved the SDXC Extreme 64GB SDXC, rated at 45MB/s. In this scenario the card is not likely to be the limiting factor, and should provide a good indication of the maximum speed one can squeeze from each of the reader/writer devices.
Very interesting conclusions can be reached from this test.
The USB2.0-based readers (including the BlueProton, the Sandisk ExpressCard and the Via CardBus/USB) show essentially the same results as in the previous test. Despite the memory card being more than twice as fast, there is no improvement. The practical limit for these devices seems to be around 20MB/s, with the Via CardBus falling slightly behind, especially on write speeds. Without any data to back it up, I can conjecture that the double interface (CardBus and then USB) between the host system and the memory card presents some overhead which affects the speed.
The PCI-based CardBus adapter, SDCBA-C01, does show some improvement, but not much. It is marginally faster than the USB devices, but nothing that would be noticed in practical applications. Furthermore, its performance depends a lot on the CardBus controller – the speeds are good on the T60, but really bad on the X61. It appears that the Ricoh CardBus controller on the X61 is not much better than the built-in SD controller, which again shows atrocious rates.
Things get interesting once you get to the USB3.0 and PCIe readerse. The USB3.0 reader demonstrates much better speeds even when connected to a USB2.0 port. At about 30-33MB/s read and 21-24MB/s write, it appears to be hitting a bottleneck in the USB2.0 controller itself.
Once connected to a USB3.0 controller, the performance is much better. How much depends on the controller – the uPD720202 which was shown to be a better performer than the FL1000 in the the USB3.0 roundup demonstrates it here as well. As always with USB controllers, the speed of the host CPU also matters. The absolute best rates of 47MB/s read and 42MB/s write were achieved through the uPD720201 controller hooked up to an overclocked QX9650 desktop system, which is faster than all the laptops in this review.
Finally, something very interesting is the huge performance difference between the built-in PCIe readers in the T410 and T420. The former showed pretty much the same performance as with the Extreme III 20MB/s card, but the latter was almost twice as fast, on par with the USB3.0 reader! I am puzzled as to the reason for this, as the controllers seem to be very similar. I suspect it may have something to do with the fact that different drivers are used. Ricoh provides its own driver for the T420, but the T410 uses the built-in Microsoft SD driver. It is possible that the Ricoh driver includes some tweaks to unlock the full potential of the controller, but alas, it does not seem to be compatible with the T410, so I could not test this theory.
Almost every one of the reviewed adapters could be useful in its niche. While the PCIe and USB3.0 readers definitely have the performance edge, in most cases they do not directly compete with the PCI/CardBus/USB2.0 adapters, because the majority of older laptops will not feature the new interfaces, while the new ones will have done away with the old ones.
BlueProton SDHC Reader
Advantages: Very cheap, compatible with any laptop/desktop
Disadvantages: Average performance, no SDXC support
Target use: A simple, no-frills adapter to take with you “on the go” that you wouldn’t cry about losing/breaking. However the Realtek USB3.0 is not much more expensive, and is much faster, even in USB2.0 mode.
CardBus Multi-Card Reader
Advantages: Inexpensive, mostly flush with the laptop
Disadvantages: Not 100% flush, card sticks out, average performance
Target use: Hard to think of any. In most cases the SDCBA-C01 is not much more expensive, but provides better performance and build quality. However, if you need SDXC support in WinXP, this may be a better choice, as the SDCBA-C01 has problems with it, due to the limitations of the XP SD driver.
SDCBA-C01 CardBus SDHC/SDXC/SDIO Reader
Advantages: Great build quality, completely flush, very good performance
Disadvantages: Somewhat pricey, performance depends on CardBus controller, no SDXC support in WinXP
Target use: Probably the best CardBus-SD adapter you can find, as it supports all SD memory card standards and even SDIO. However, the performance may suffer in case of poor CardBus implementations, as was demonstrated in the X61. Also, there is no SDXC support under WinXP (OS/driver limitation).
Sandisk SDAD-109 ExpressCard Multi-Card Reader
Advantages: Cheap, good performance, bootable (as it connects to the built-in USB chipset)
Disadvantages: Not 100% flush, card sticks out, wastes ExpressCard slot which may be utilized for faster devices
Target use: If you have an ExpressCard slot and no other use for it, and if you want to boot from SD devices.
Realtek USB3.0 SDXC Reader
Advantages: Best performance, supports microSD without adapter, very cheap for what you get
Disadvantages: Bulky, would block adjacent ports
Target use: If you have fast memory cards, and your built-in reader cannot utilize them fully. Also great for on the go adapter.
Built-in readers versus external ones
If you already have a built-in SD reader – would you benefit from an external one? If you have a modern laptop, like the T410/T420 – the built-in is probably good enough. If you have an older laptop, you may still opt for an external reader, to get better performance. However that really depends on how often you transfer data to/from your memory cards, how much you transfer and how fast your memory card is.
So far for this. The last part of this review will be dedicated to CompactFlash-to-SecureDigital adapters, and will hopefully not take too long (will be much shorter as well).