I have a Sandisk SDHC 4GB Class 2 memory card, and I have benchmarked its reading speed with Palimpsest Disk Utility, under Linux and with my Acer Travelmate 5720G laptop.

These are the speeds when it is inserted in the builtin card reader of my laptop:

enter image description here

While these instead are the values obtained while using an external USB reader (similar to the one in the image at the bottom of this question):

enter image description here

As you can see, in comparison with the USB reader, the speed is basically halved when using the builtin reader, and this behaviour sounds strange to me.
Shouldn't be the builtin reader be faster, or at least of equal speed? After all, with the external USB reader there is at least one extra step if compared with the builtin one.
I thought that the bottleneck was caused by the USB reader, but apparently it is not the case.

EDIT Here are the specs of the SD reader

product: PCIxx12 SDA Standard Compliant SD Host Controller [104C:803C]
vendor: Texas Instruments [104C]
bus info: pci@0000:0f:06.3
version: 00
width: 32 bits
clock: 33MHz
capabilities: Power Management, bus mastering, PCI capabilities listing
configuration: driver: sdhci-pci latency: 57 maxlatency: 4 mingnt: 7
resources: irq: 22 memory: fc006800-fc0068ff

and it is attached to this PCI bridge

product: 82801 Mobile PCI Bridge [8086:2448]
vendor: Intel Corporation [8086]
bus info: pci@0000:00:1e.0
version: f3
width: 32 bits
clock: 33MHz
capabilities: pci, subtractive_decode, bus mastering, PCI capabilities listing
resources: ioport: 6000(size=4096) memory: fc000000-fc0fffff ioport: c4000000(size=67108864)

The USB controller interface instead should be this one:

product: 82801H (ICH8 Family) USB2 EHCI Controller #1 [8086:2836]
vendor: Intel Corporation [8086]
bus info: pci@0000:00:1d.7
version: 03
width: 32 bits
clock: 33MHz
capabilities: Power Management, Debug port, Enhanced Host Controller Interface (USB2), bus mastering, PCI capabilities listing
configuration: driver: ehci_hcd latency: 0
resources: irq: 23 memory: fc304400-fc3047ff

Sample USB card reader

enter image description here


Firstly, I'd like to make a note that only speculation can be done on the basis of the slightly vague question of yours.

On the first hunch, such a problem would be attributed to the fact that an internal SD-card reader is just another device; to you, such a device may seem as an integrated part of the system, but only in the sense that it's a part of the casing/tower/notebook.

The data link between the motherboard and the actual SD-card reader could be the culprit, but so could the SD-card reader itself be. This meaning that if the data link is slower than the data link between the USB-device, then you're going to get a slower performance. Other factors could depend on features such as write-cache, but such elements would usually be bypassed by benchmarking software.

|improve this answer|||||
  • Firstly, I'd like to make a note that only speculation can be done on the basis of the slightly vague question of yours. I can provide more informations if needed and if it's something that I can do without disassembling the laptop. – Sekhemty May 12 '13 at 20:36
  • If you provide us with details on the connection point of the two devices, plus the exact data on which devices they are, we could track down a more specific reason. – Thor May 12 '13 at 20:47
  • It could also be that the built in device is sharing USB bandwidth with other devices... – Keltari May 12 '13 at 20:53
  • I'd note that (in my experience) internal card readers connect over USB anyway. So there will be a USB hub between the rest of the computer and your card reader, no matter if it's internal or external. – Ben Richards May 12 '13 at 21:14
  • @Thor I've provided the additional informations by editing my question. – Sekhemty May 18 '13 at 18:48

It depends on the internals of your laptop. The internal card reader might be connected to a slower usb bus than the usb port of the external card reader.

|improve this answer|||||

The thing is you are talking about two different connections. One USB the other PCI and although PCI supports bus mastering the chances are your built in SD reader was made to function at a standard pci speed similar to the mode 1-4 settings of old parallel hard drives(before they were DMA). Thing is most built in devices on laptops are poor or standard, often the wiring and other attachments are flimsy(look at the keyboard of a laptop). The main reasons being weight kept to a minimum. Those speeds look almost like a USB 1 external hard drive and a usb 2 Ext' HDD's speeds. But keep an eye on that usb reader if its as cheap as the one I had use insulation tape too hold on the outer caseing

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.