Flush-mount Laptop Adapters Part 7: SD/SDHC/SDXC Revisited *PICS*
Posted: Tue May 02, 2017 3:36 am
This thread is a multi-part review.
Part 1 (CardBus-USB2) can be found here.
Part 2 (ExpressCard-USB3) can be found here.
Part 3 (SD/SDHC/SDXC) can be found here. You may want to read this part as a prequel to the current review.
Part 4 (CompactFlash) can be found here.
Part 5 (USB3 revisited) can be found here.
Part 6 (SATA/eSATA) can be found here.
I originally planned this as a small update to Part 3, but as I added more content, it looked worthy of its own chapter, especially given the considerable time that passed since Part 3. The reader may want to refer to that earlier publication for some background.
Recently I obtained two more ExpressCard-to-SD adapters, and wanted to test them out as well. In the process I also managed to test the built-in reader of the Lenovo Thinkpad P50 workstation, and revisit some of my existing adapters.
The new adapters in this review
Sandisk FlashBack ExpressCard Adapter (SDAD-111)
This appears to be a minor variation of the previously reviewed SDAD-109. It looks almost the same, and sits flush with the laptop. The two differences is that it no longer claims compatibility with non-SD memory cards (which is a non-issue for most users), and the SD card itself sits flush with the adapter. This is typically seen as an advantage compared of the SDAD-111, however, as the slot is still not spring-loaded, removing the card may be more difficult, as you need to pry it out. Especially in laptops with deep ExpressCard slots, like the X220, removal of the card may require removal of the adapter. Whether or not it’s a disadvantage or not depends how frequently you swap out the cards.
To the system, the adapters appear very similar. The USB IDs on the SDAD-111 are 0781:B6D2:9412 (versus 0781:B6D1:9412 for the SDAD-109). Windows XP recognizes any cards you insert as “Sandisk SDAD-111 USB Device”. Due to the similarity, I would assume the adapters use the same controller internally, and so their performance would be similar.
Lenovo Thinkpad T420s Media Card Adapter (FRU 04W1701)
The Thinkpad slim-T (T400s/T410s/T420s/T430s) series come without an integrated card reader slot, so Lenovo released OEM adapters for the ExpressCard slot on these machines. The adapters are designed to sit completely flush with the curved bezel of the systems, so as to be, for all practical purposes, integral parts of the machine. However, they are also completely standard ExpressCard adapters and can work in any machine with an ExpressCard slot. Several different revisions of the adapters were made, with different FRUs, and probably different underlying controllers. The one I obtained originally supplemented the T420s series. According to the PCI IDs (1180:E823:04) it is the same Ricoh chip (probably R5U232) used in the built-in slot of the Thinkpad X220 (and differs only by revision number from the T420 reader). Thus, ballpark expected performance is known for it as well, but will there be any surprises?

SDAD-109, SDAD-111, 04W1701. Left: Top view, Right: Bottom view
04W1701, Thinkpad X220 and PCIe ASPM
The first surprise, and a rather unpleasant one – from the start, the 04W1701 did not work right in the X220, presenting the same symptoms of horrible mouse lag, falling off the bus and reappearing constantly, as the Renesas uPD720202-based USB 3.0 controllers. The solution, as before, was to disable the PCIe ASPM in the BIOS, so that the root port does not attempt to enable L0s state. This is bad for normal operation, as it drains the battery faster, but for the tests it was fine. This is the first device that is not a uPD720202 adapter where I encountered this problem, so at this point I am more inclined to believe that the L0s interoperability problem lies with the Intel chipset, or the Lenovo BIOS, rather than the endpoint devices. Again, I did not have time to investigate it in depth – maybe in the future.
Test setup #1: 04W1701, Delkin SD 633x
• Systems: T60 (T7200, 2GB, WinXP 32-bit), T410 (i5-540M, 4GB, Win7 64-bit), X220 (i7-2640M, 8GB, Win7 / Win 8.1 64-bit), T430s (i7-3520M, 8GB, Win 10 64-bit)
• SD card: Delkin SD633X 32GB (95MB/s read, 80MB/s write)
• Test: CrystalDiskMark 3, 500MB Sequential Read/Write
• Special Tests:
o Compare the 04W1701 adapter to the built-in reader in the X220 (which uses the same controller)
o Compare Microsoft’s generic “SDA Standard Compliant SD Host Controller” driver (sdbus.sys) which is built-in with Windows to Ricoh’s “Ricoh PCIe SDXC/MMC Host Controller” driver (risdxc86.sys/risdxc64.sys).
First of all, sdbus.sys. This is a core component of the OS, and as such a different version is used in each OS version. Note that the XP indicates version 6.0.x which suggests it was back-ported from one of Vista’s release candidates. I could not successfully test all scenarios with this driver; For the X220 built-in card slot, both Win7 and Win8.1 refused to allow this driver to install, and required the Ricoh driver. The T430s exhibited the same behavior for the 04W1701 under Win10 x64, and there it was even impossible to fully uninstall the Ricoh driver, as it appears to be inbox and keeps reinstalling itself. Strangely, the 04W1701 adapter, which appears to be the same hardware, had no problem running either with the Ricoh or with the Microsoft driver, only in the X220.
More interesting are the performance differences. The Ricoh driver on Win7, 8.1 and 10, all 64-bit shows consistent performance across the board regardless of driver version – approximately 85-90MB/s read speed (close to the maximum of the card), and 40-45MB/s write speed (a limitation of the controller, as the card can do more). Switching to the Microsoft driver unlocks an additional 10-15MB/s write speed boost, to a total of 55-60MB/s, so it is recommended to use that when possible. There may be a way to force this driver to work in the cases where I couldn’t.
The XP results are very surprising. The Microsoft driver shows lower performance here than in later OSes, which can be expected, but what’s shocking is that with the Ricoh driver the performance is noticeably higher than all other scenarios where the 04W1701 was tested, even with newer drivers and faster PCs. I ran the test several times to makes sure it was not an error, and the results were consistent. I do not have an explanation for this. Note that the same Ricoh driver version was used in XP and Win7, but one is 32-bit and one is 64-bit. Either something in the XP subsystem is more efficient than in later OSes, or something in the 32-bit Ricoh driver is more efficient than in the 64-bit one. Since at the moment, I have neither 32-bit Win7 installations, nor 64-bit XP installations, I cannot check it at this time.
Test setup #2: Lenovo P50 Built-In Reader, Delkin SD 633x
The P50 uses a Realtek RTS525A PCIe-based SD controller, device ID 10EC:525A, Revision 01. With an i7-6700HQ CPU it is easily the fastest machine I ever tested on, but we’ve seen that this does not affect the PCIe-based SD performance so much. I only tested the system briefly, so I will compare the results of the RTS525A to the best result I had with each of the faster controllers.
Test Setup #3: 64GB Sandisk Extreme Cards
For this test I took a pair of Sandisk Extreme 64GB SDXC cards – one rated UHS-1 (45MB/s) and one rated UHS-3 (60MB/s). Both were tested in the X220, with both Microsoft and Ricoh drivers:
However, the Microsoft driver has its limitations. In the earlier review of the SDCBA-C01 PC Card Reader I observed that it failed to read 64GB SDXC cards in Windows XP. This limitation still applies to the PCIe-based readers, and appears to only be fully resolved with the Windows 8.1 version of sdbus.sys. In Windows 7, with the Microsoft driver, the cards are readable, but not writable. Strangely, even a 32GB Sandisk Extreme UHS-3 was not writable using the Win7 sdbus.sys, for reasons I do not understand. The conclusion is that, for SDXC support on Win7, it is better to stick to the manufacturer’s drivers, even if the performance is a bit reduced.
Out of curiosity, I decided to look for a Ricoh driver for the SDCBA-C01, to see if I can get SDXC support under XP. It was surprisingly difficult to locate, and the first driver I found (from 2005) still did not see the SDXC card. The only driver I found so far that allowed the SDCBA-C01 to work with SDXC cards under XP was this strange version on GitHub. The driver is unsigned, so I am not sure how it would work with 64-bit systems, but XP x86 installed it with only a warning. However, the performance of this driver was much lower than that of the Microsoft driver – the fastest SD cards were getting ~10-12MB/s versus ~18-22MB/s, so I would not recommend it unless you really need to use an SDXC card regularly with Windows XP. For a once-in-a-while transfer I would rather connect a USB-based SDXC reader which has no limitations.
Test Setup #4: Sandisk Extreme UHS-3 and the USB Readers: SDAD-109 vs SDAD-111
Conclusions
Part 1 (CardBus-USB2) can be found here.
Part 2 (ExpressCard-USB3) can be found here.
Part 3 (SD/SDHC/SDXC) can be found here. You may want to read this part as a prequel to the current review.
Part 4 (CompactFlash) can be found here.
Part 5 (USB3 revisited) can be found here.
Part 6 (SATA/eSATA) can be found here.
I originally planned this as a small update to Part 3, but as I added more content, it looked worthy of its own chapter, especially given the considerable time that passed since Part 3. The reader may want to refer to that earlier publication for some background.
Recently I obtained two more ExpressCard-to-SD adapters, and wanted to test them out as well. In the process I also managed to test the built-in reader of the Lenovo Thinkpad P50 workstation, and revisit some of my existing adapters.
The new adapters in this review
Sandisk FlashBack ExpressCard Adapter (SDAD-111)
This appears to be a minor variation of the previously reviewed SDAD-109. It looks almost the same, and sits flush with the laptop. The two differences is that it no longer claims compatibility with non-SD memory cards (which is a non-issue for most users), and the SD card itself sits flush with the adapter. This is typically seen as an advantage compared of the SDAD-111, however, as the slot is still not spring-loaded, removing the card may be more difficult, as you need to pry it out. Especially in laptops with deep ExpressCard slots, like the X220, removal of the card may require removal of the adapter. Whether or not it’s a disadvantage or not depends how frequently you swap out the cards.
To the system, the adapters appear very similar. The USB IDs on the SDAD-111 are 0781:B6D2:9412 (versus 0781:B6D1:9412 for the SDAD-109). Windows XP recognizes any cards you insert as “Sandisk SDAD-111 USB Device”. Due to the similarity, I would assume the adapters use the same controller internally, and so their performance would be similar.
Lenovo Thinkpad T420s Media Card Adapter (FRU 04W1701)
The Thinkpad slim-T (T400s/T410s/T420s/T430s) series come without an integrated card reader slot, so Lenovo released OEM adapters for the ExpressCard slot on these machines. The adapters are designed to sit completely flush with the curved bezel of the systems, so as to be, for all practical purposes, integral parts of the machine. However, they are also completely standard ExpressCard adapters and can work in any machine with an ExpressCard slot. Several different revisions of the adapters were made, with different FRUs, and probably different underlying controllers. The one I obtained originally supplemented the T420s series. According to the PCI IDs (1180:E823:04) it is the same Ricoh chip (probably R5U232) used in the built-in slot of the Thinkpad X220 (and differs only by revision number from the T420 reader). Thus, ballpark expected performance is known for it as well, but will there be any surprises?

SDAD-109, SDAD-111, 04W1701. Left: Top view, Right: Bottom view
04W1701, Thinkpad X220 and PCIe ASPM
The first surprise, and a rather unpleasant one – from the start, the 04W1701 did not work right in the X220, presenting the same symptoms of horrible mouse lag, falling off the bus and reappearing constantly, as the Renesas uPD720202-based USB 3.0 controllers. The solution, as before, was to disable the PCIe ASPM in the BIOS, so that the root port does not attempt to enable L0s state. This is bad for normal operation, as it drains the battery faster, but for the tests it was fine. This is the first device that is not a uPD720202 adapter where I encountered this problem, so at this point I am more inclined to believe that the L0s interoperability problem lies with the Intel chipset, or the Lenovo BIOS, rather than the endpoint devices. Again, I did not have time to investigate it in depth – maybe in the future.
Test setup #1: 04W1701, Delkin SD 633x
• Systems: T60 (T7200, 2GB, WinXP 32-bit), T410 (i5-540M, 4GB, Win7 64-bit), X220 (i7-2640M, 8GB, Win7 / Win 8.1 64-bit), T430s (i7-3520M, 8GB, Win 10 64-bit)
• SD card: Delkin SD633X 32GB (95MB/s read, 80MB/s write)
• Test: CrystalDiskMark 3, 500MB Sequential Read/Write
• Special Tests:
o Compare the 04W1701 adapter to the built-in reader in the X220 (which uses the same controller)
o Compare Microsoft’s generic “SDA Standard Compliant SD Host Controller” driver (sdbus.sys) which is built-in with Windows to Ricoh’s “Ricoh PCIe SDXC/MMC Host Controller” driver (risdxc86.sys/risdxc64.sys).
System OS Device Driver Version Read Write T60 XP x86 04W1701 sdbus.sys 6.0.4069.5 70.8 MB/s 50.4 MB/s T60 XP x86 04W1701 risdxc86.sys 6.10.10.32 93.2 MB/s 60.4 MB/s T410 7 x64 04W1701 risdxc64.sys 6.10.10.32 83.4 MB/s 40.8 MB/s X220 7 x64 Built-in risdxc64.sys 6.10.10.32 86.7 MB/s 40.6 MB/s X220 7 x64 04W1701 sdbus.sys 6.1.7601.17514 88.6 MB/s 58.0 MB/s X220 7 x64 04W1701 risdxc64.sys 6.10.10.32 88.7 MB/s 40.7 MB/s X220 8.1 x64 Built-in risdxc64.sys 6.20.11.42 90.3 MB/s 45.8 MB/s X220 8.1 x64 04W1701 sdbus.sys 6.3.9600.17705 87.6 MB/s 55.5 MB/s X220 8.1 x64 04W1701 risdxc64.sys 6.20.11.42 86.7 MB/s 41.2 MB/s T430s 10 x64 04W1701 risdxc64.sys 6.21.11.46 90.5 MB/s 44.1 MB/sDiscussion
First of all, sdbus.sys. This is a core component of the OS, and as such a different version is used in each OS version. Note that the XP indicates version 6.0.x which suggests it was back-ported from one of Vista’s release candidates. I could not successfully test all scenarios with this driver; For the X220 built-in card slot, both Win7 and Win8.1 refused to allow this driver to install, and required the Ricoh driver. The T430s exhibited the same behavior for the 04W1701 under Win10 x64, and there it was even impossible to fully uninstall the Ricoh driver, as it appears to be inbox and keeps reinstalling itself. Strangely, the 04W1701 adapter, which appears to be the same hardware, had no problem running either with the Ricoh or with the Microsoft driver, only in the X220.
More interesting are the performance differences. The Ricoh driver on Win7, 8.1 and 10, all 64-bit shows consistent performance across the board regardless of driver version – approximately 85-90MB/s read speed (close to the maximum of the card), and 40-45MB/s write speed (a limitation of the controller, as the card can do more). Switching to the Microsoft driver unlocks an additional 10-15MB/s write speed boost, to a total of 55-60MB/s, so it is recommended to use that when possible. There may be a way to force this driver to work in the cases where I couldn’t.
The XP results are very surprising. The Microsoft driver shows lower performance here than in later OSes, which can be expected, but what’s shocking is that with the Ricoh driver the performance is noticeably higher than all other scenarios where the 04W1701 was tested, even with newer drivers and faster PCs. I ran the test several times to makes sure it was not an error, and the results were consistent. I do not have an explanation for this. Note that the same Ricoh driver version was used in XP and Win7, but one is 32-bit and one is 64-bit. Either something in the XP subsystem is more efficient than in later OSes, or something in the 32-bit Ricoh driver is more efficient than in the 64-bit one. Since at the moment, I have neither 32-bit Win7 installations, nor 64-bit XP installations, I cannot check it at this time.
Test setup #2: Lenovo P50 Built-In Reader, Delkin SD 633x
The P50 uses a Realtek RTS525A PCIe-based SD controller, device ID 10EC:525A, Revision 01. With an i7-6700HQ CPU it is easily the fastest machine I ever tested on, but we’ve seen that this does not affect the PCIe-based SD performance so much. I only tested the system briefly, so I will compare the results of the RTS525A to the best result I had with each of the faster controllers.
Device System Read (seq.) Write (seq.) Read (4K) Write (4K.) Ricoh Built-in Slot (PCIe) X220, Win8.1 x64 90.3MB/s 45.8MB/s 10.2MB/s 0.3MB/s 04W1701 ExpressCard (PCIe) T60, XP x86 93.2MB/s 60.4MB/s 10.9MB/s 0.3MB/s Realtek Built-in Slot (PCIe) P50, Win10 x64 89.3MB/s 77.8MB/s 8.9MB/s 2.4MB/s Delkin Universal Reader (USB3.0) X220, Win8.1 x64 89.5MB/s 82.1MB/s 7.4MB/s 0.4MB/s Realtek SDXC Reader (USB3.0) X220, Win8.1 x64 90.1MB/s 82.5MB/s 2.7MB/s 0.3MB/sThe performance of the Realtek RTS525A is qute good. The read performance is ~90MB/s for all the controllers, but the write performance is much better on the Realtek than on the Ricoh - it almost matches the fast USB 3.0 controllers. The more meaningful thing is the random 4K write speed which is 6-8 faster on the RTS525A than on every other SD writer in this test! It shows that the SD controller manufacturers have not been idling in the past few years – on a modern laptop you are likely to get noticeably better performance from the SD slot than on previous generations.
Test Setup #3: 64GB Sandisk Extreme Cards
For this test I took a pair of Sandisk Extreme 64GB SDXC cards – one rated UHS-1 (45MB/s) and one rated UHS-3 (60MB/s). Both were tested in the X220, with both Microsoft and Ricoh drivers:
X220, Win8.1 x64 Read (seq.) Write (seq.) Read (4K) Write (4K) UHS-1, sdbus 47.1 MB/s 43.5 MB/s 10.0 MB/s 3.6 MB/s UHS-1, ricoh 46.7 MB/s 35.9 MB/s 10.1 MB/s 2.8 MB/s UHS-3, sdbus 65.9 MB/s 43.7 MB/s 12.0 MB/s 3.3 MB/s UHS-3, ricoh 62.3 MB/s 36.6 MB/s 9.9 MB/s 3.0 MB/sThe most interesting result to me was that , while the Sandisk cards are inferior to the Delkin 633x card in sequential speed, they are noticeably better in random writes, achieving speeds over 3MB/s (and that’s with the Ricoh that could not deliver over 0.3MB/s for the Delkin!) Other than that, the relative advantage of the Microsoft SD bus driver over the Ricoh driver in write performance is confirmed once more.
However, the Microsoft driver has its limitations. In the earlier review of the SDCBA-C01 PC Card Reader I observed that it failed to read 64GB SDXC cards in Windows XP. This limitation still applies to the PCIe-based readers, and appears to only be fully resolved with the Windows 8.1 version of sdbus.sys. In Windows 7, with the Microsoft driver, the cards are readable, but not writable. Strangely, even a 32GB Sandisk Extreme UHS-3 was not writable using the Win7 sdbus.sys, for reasons I do not understand. The conclusion is that, for SDXC support on Win7, it is better to stick to the manufacturer’s drivers, even if the performance is a bit reduced.
Out of curiosity, I decided to look for a Ricoh driver for the SDCBA-C01, to see if I can get SDXC support under XP. It was surprisingly difficult to locate, and the first driver I found (from 2005) still did not see the SDXC card. The only driver I found so far that allowed the SDCBA-C01 to work with SDXC cards under XP was this strange version on GitHub. The driver is unsigned, so I am not sure how it would work with 64-bit systems, but XP x86 installed it with only a warning. However, the performance of this driver was much lower than that of the Microsoft driver – the fastest SD cards were getting ~10-12MB/s versus ~18-22MB/s, so I would not recommend it unless you really need to use an SDXC card regularly with Windows XP. For a once-in-a-while transfer I would rather connect a USB-based SDXC reader which has no limitations.
Test Setup #4: Sandisk Extreme UHS-3 and the USB Readers: SDAD-109 vs SDAD-111
X220, Win8.1 x64 Read (seq.) Write (seq.) Read (4K) Write (4K) SDAD-109 18.7MB/s–20.0MB/s 17.8MB/s–19.4MB/s 4.6MB/s–4.8MB/s 2.3MB/s–2.4MB/s SDAD-111 19.0MB/s-19.6MB/s 18.2MB/s–19.0MB/s 4.7MB/s–5.2MB/s 2.2MB/s–2.3MB/sIt was immediately obvious that the performance is very similar, so I ran several tests with each adapter. The spread of results in all tests is not large, and the differences between the adapters is within a statistical margin of error. I conclude that the actual SD controller used in both is probably exactly the same. It peaks at about 20MB/s, slightly under the pre-UHS-1 limit, and cannot keep up with the faster cards.
Conclusions
- If the Realtek RTS525A controller in the Thinkpad P50 is any indication, the PCIe SD card readers on newer laptops may outperform the older generations. The older Ricoh R5U232 in particular can bottleneck the faster SD cards when it comes to writing speed (reading is OK).
- The built-in and ExpressCard implementations of the Ricoh R5U232 give identical performance.
- The ExpressCard 04W1701 causes serious glitches in the X220 if PCIe ASPM (active-state power management) is enabled; this is similar to the uPD720202 ExpressCard-to-USB 3.0 controllers. There is probably some interoperability bug in the Intel chipset, or the Lenovo BIOS for the X220. Fortunately, in the T430s the adapter works well, which is what I bought it for.
- Ricoh’s SD can use either Ricoh’s drivers, or (in most cases) Microsoft’s own SD bus driver. Depending on the SD card and the OS version you may be better with one or the other – on Win7 or later, Microsoft’s driver outperforms the Ricoh driver. However, it does not support SDXC cards (>32GB) before the Win8.1 version.
- The SDAD-109 and SDAD-111 ExpressCard adapters by Sandisk are identical in terms of performance with SD cards. They both use the USB interface of the ExpressCard slot (not PCIe), which makes them more compatible with SDXC (even on Windows XP), but not as fast. They do not support UHS-1 and top out around 20MB/s. If for whatever reason you want to use one of these cards – the main difference is that the SDAD-109 supports also MMC and MemoryStick PRO/Duo, whereas the SDAD-111 supports SD only. However, an SD-card in the SDAD-109 sticks out; in the SDAD-111 it is flush with the adapter, and the slot.