(pic)Slow SD card reader - driver problem [partially solved]

X2/X3/X4x series specific matters only
Post Reply
Message
Author
ricerocket
Sophomore Member
Posts: 178
Joined: Fri Nov 25, 2005 1:52 pm

(pic)Slow SD card reader - driver problem [partially solved]

#1 Post by ricerocket » Wed Mar 18, 2009 11:13 pm

No one's really researched this or taken it really far...

I'm pretty convinced the poor SD card performance is a driver issue.

Reading from the SD card takes CPU utilization all the way to 100%, and makes the system pretty unusable. Writing to the SD card takes only 20% of the CPU time. This is reflected in the CrystalDiskMark benchmarking as well, as sequential reads max at 3 MB/s while sequential writes come in at 6 MB/s. There's no reason for that discrepancy, especially when SD card naturally read faster than they write. The excess amount of CPU time is indicative of poor driver implementation.

When this happened with hard drives (CPU utilization spikes), its because the hard drive controller would drop from UDMA mode into PIO mode. UDMA utilizes the DMA channel (direct memory access) to control the IO, while PIO (programmed input/output) is directly managed by the CPU. Could the same thing be happening here?

So, starting from the beginning...a search of the vendor ID (1180) and device ID (0822) shows its a Ricoh R5C822 SD Host Controller. Lets start by trying to find a proper driver...
Last edited by ricerocket on Thu Mar 19, 2009 7:50 pm, edited 2 times in total.
TP of yore: 380ED/600E/770/T20/T23/T30/T43/T60p/X41T
Current: X200s

ricerocket
Sophomore Member
Posts: 178
Joined: Fri Nov 25, 2005 1:52 pm

Re: Fixing the slow SD card reader... Driver problem?

#2 Post by ricerocket » Thu Mar 19, 2009 1:34 am

Okay, here's what I found after 3 hours.

R5C822 drivers are *almost* non-existant. I found a set from HP, but it didn't seem to work. The card would always say "please insert media".

Here's what works.

Ricoh apparently uses a unified driverset for their products. Drivers from XP AND Vista 32-bit have worked with a little hack. All you have to do is replace the driver inf file with the right device ID (8022). I've been able to use a driver from an R5C853 even.

Results are this so far:

CPU usage remains high, but it doesn't stutter upon reading.

Throughput in CrystalDiskMark is markedly improved.

Sequential read, I've been able to hit 4 MB/s, which is a 33% increase.
Sequential write, I've been able to hit 9 MB/s! That's a 50% improvement.

More testing to follow.
TP of yore: 380ED/600E/770/T20/T23/T30/T43/T60p/X41T
Current: X200s

loyukfai
ThinkPadder
ThinkPadder
Posts: 1085
Joined: Tue Aug 08, 2006 2:08 pm
Location: Hong Kong

Re: Fixing the slow SD card reader... Driver problem?

#3 Post by loyukfai » Thu Mar 19, 2009 3:08 pm

Wow! What a refreshing news... : ) Not long ago I was disappointed to hear that under Win7 Beta this SD controller exhibits the same issue as before.

Mind to post the modified INF file?

ricerocket
Sophomore Member
Posts: 178
Joined: Fri Nov 25, 2005 1:52 pm

Re: (pic warning) Slow SD card reader - driver problem [solved]

#4 Post by ricerocket » Thu Mar 19, 2009 4:01 pm

Here's the results. Max throughput for sequential read puts it around 3.3 MB/s, which is about a 10% increase (apparently the 4 MB/s I got once was a fluke), and the write performance peaks at 9.4 MB/s, which is about a 42% increase. However, the real benefit of using these drivers is to eliminate the crippling stuttering on sequential read.

Here's performance the Microsoft provided driver, and the one IBM/Lenovo wants us to use:

First picture is w/ a 8GB PNY Optima class 4 SDHC, second is w/ a 2GB Sandisk Extreme III class 6 SD:

Image Image


First off, I found a HP driver for the R5C822. Caveat is it WILL ONLY READ SD AND NOT SDHC (hence I only have test results for the Sandisk E3 card). Note the 4 KB random read performance, because you'll never see that kinda performance again.

Image


Next I used a MMC driver from Ricoh. Version is stated as 1.0.0.6.

Image Image


Next was a SD/MMC driver, version 6.0.1.4.

Image Image


Next was another SD/MMC driver 6.0.2.3. Note the 10% faster 512 KB/s random write performance on the SDHC card.

Image Image

I tested 3 newer driver versions, 6.0.3.6, 6.0.3.11, and 6.10.1.0. Performance is identical to that of 6.0.2.3 except that random write performance is down 10% for the class 4 SDHC card.



So which driver version should you use?

1.0.3.6 if you're using SD only (and not SDHC) and want faster 4 KB/s random read performance for some reason.
6.0.2.3 for all other situations.

All of these drivers eliminate the stuttering issue you see with the original Microsoft driver, so using any of these will be of great benefit to you.

Let me dig up the links to these files...
TP of yore: 380ED/600E/770/T20/T23/T30/T43/T60p/X41T
Current: X200s

bjorn
Posts: 6
Joined: Mon Mar 09, 2009 2:33 pm
Location: Kongsberg, Norway

Re: (pic)Slow SD card reader - driver problem [partially solved]

#5 Post by bjorn » Thu Mar 19, 2009 8:02 pm

This is interesting. Just ran a sandisk 16gb exIII sd card through the benchmark on x40 with cf hd and a eee 1000h. Indeed the x40 is not operating on full speed.

X40(winxp sp3 drivers)
Image

EEE 1000H
Image

loyukfai
ThinkPadder
ThinkPadder
Posts: 1085
Joined: Tue Aug 08, 2006 2:08 pm
Location: Hong Kong

Re: (pic)Slow SD card reader - driver problem [partially solved]

#6 Post by loyukfai » Thu Mar 19, 2009 10:47 pm

Wow... Could you also post the CPU usage figures for each of these driver?

Thanks!

loyukfai
ThinkPadder
ThinkPadder
Posts: 1085
Joined: Tue Aug 08, 2006 2:08 pm
Location: Hong Kong

Re: (pic)Slow SD card reader - driver problem [partially solved]

#7 Post by loyukfai » Sat Mar 21, 2009 1:12 pm

I went ahead and tried it myself, with the version 6.0.2.3 and a 2GB Toshiba "blue" SD.

The CPU still stays at 100% but the stuttering issue is gone. Now the mouse cursor can glide smoothly while Crystal Disk Mark is running. Performance has also been improved slightly.

As a side note, with the 6.0.2.3 driver, the option "Optimize for Performance" for the SD card under Device Manager can now be enabled and kept.

Thanks ricerocket! : )

If the CPU usage can go down, and the read performance be brought in par with the write performance, that would be even better.

Original driver:

Code: Select all

--------------------------------------------------
CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo
      Crystal Dew World : http://crystalmark.info/
--------------------------------------------------

   Sequential Read :    2.613 MB/s
  Sequential Write :    4.141 MB/s
 Random Read 512KB :    2.429 MB/s
Random Write 512KB :    1.085 MB/s
   Random Read 4KB :    0.696 MB/s
  Random Write 4KB :    0.023 MB/s

         Test Size : 50 MB
              Date : 2009/03/21 23:53:46
New driver:

Code: Select all

--------------------------------------------------
CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo
      Crystal Dew World : http://crystalmark.info/
--------------------------------------------------

   Sequential Read :    2.664 MB/s
  Sequential Write :    4.732 MB/s
 Random Read 512KB :    2.802 MB/s
Random Write 512KB :    1.110 MB/s
   Random Read 4KB :    1.101 MB/s
  Random Write 4KB :    0.024 MB/s

         Test Size : 50 MB
              Date : 2009/03/22 0:37:09
Note: The driver was downloaded from http://202.188.160.140/User/driver.aspx?a=316 and the INF edited according to ricerocket's comments above.

Marko_Rocznik
Posts: 3
Joined: Fri May 22, 2009 8:56 pm
Location: Cupertino, CA, USA
Contact:

Re: (pic)Slow SD card reader - driver problem [partially solved]

#8 Post by Marko_Rocznik » Sat May 23, 2009 3:12 am

I downloaded the drivers as you mentioned, but failed ot install them. The problem is that the installation toll tell me that everything is fine and the system has to be rebot, but after the reboot everything is like before: Windows did install it's own driver again.

I did not understand the part about changinh the .inf file. Can you please give an step by step instruction about how to chage the driver? Where should I copy which files to and where and with which tools should I edit what?

I really would appriciate getting the SD card reader to speed up - right now it is running @ several kByte/s !

Marko

loyukfai
ThinkPadder
ThinkPadder
Posts: 1085
Joined: Tue Aug 08, 2006 2:08 pm
Location: Hong Kong

Re: (pic)Slow SD card reader - driver problem [partially solved]

#9 Post by loyukfai » Sat May 23, 2009 12:39 pm

I would try to explain in details or maybe post a patched INF when I get near the X41T later (it's not with me at the moment).

However, even with an alternative driver, it may still not give you a significant performance boost. As it depends on various factors, such as the card model and the usage pattern.

Cheers.

Marko_Rocznik
Posts: 3
Joined: Fri May 22, 2009 8:56 pm
Location: Cupertino, CA, USA
Contact:

Re: (pic)Slow SD card reader - driver problem [partially solved]

#10 Post by Marko_Rocznik » Sat May 23, 2009 2:24 pm

The Preformance is not even close to what you got:
Image

Furthermore Windows is presenting this error message:
Image

Something ist going terrible wrong. Right now the Windows driver is used and I have installed SP3.

After sending the .inf-file I would simply have to tell the device manager to update the driver and would have to point onto this file? Is there anymore I need or could you just upload the driver as well? You can also Email me in case you don't want to upload things: http://www.Rocznik.de/Marko

Thanks a lot!
Marko

loyukfai
ThinkPadder
ThinkPadder
Posts: 1085
Joined: Tue Aug 08, 2006 2:08 pm
Location: Hong Kong

Re: (pic)Slow SD card reader - driver problem [partially solved]

#11 Post by loyukfai » Sun May 24, 2009 9:44 am

Delayed Write Failed is a nasty [censored].

Anyway, see if this helps... http://ifile.it/i6wc2d8

To update the driver, I did it manually by opening the Ricoh SD controller in Device Manager, click Update Driver, use the Advanced method, and "Don't Search", and click "Have Disk..."

Good luck.

Marko_Rocznik
Posts: 3
Joined: Fri May 22, 2009 8:56 pm
Location: Cupertino, CA, USA
Contact:

Re: (pic)Slow SD card reader - driver problem [partially solved]

#12 Post by Marko_Rocznik » Sun May 24, 2009 9:38 pm

Thanks for the hint, but the link doesn't offer the possibility to download the file (yes - I created an account). Can you simply send it via Email? You can find my Email address here:

http://www.rocznik.de/Marko/index_engl.html

Thanks a lot!
Marko

loyukfai
ThinkPadder
ThinkPadder
Posts: 1085
Joined: Tue Aug 08, 2006 2:08 pm
Location: Hong Kong

Re: (pic)Slow SD card reader - driver problem [partially solved]

#13 Post by loyukfai » Mon May 25, 2009 9:40 am

Sure, it's sent. : )

For ifile.it, you need to click "Request Download Ticket", then "Download" to download the file. And registration is not necessary.

EPJ
Posts: 10
Joined: Sun May 24, 2009 4:28 am
Location: Swaledale, United Kingdom

Re: (pic)Slow SD card reader - driver problem [partially solved]

#14 Post by EPJ » Sun Jun 07, 2009 4:58 pm

The driver change to 6.0.2.3 worked well for me, no more freezing cursor and system hangs when using a 4 gbyte sdhc card under windows xp sp3. Highly recommended to others with similar problems. Many thanks for the advice.
T41, T60, X61 tablet
+ an X40 & X41 used for rural wireless mesh networking and support

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “ThinkPad X2/X3/X4x Series incl. X41 Tablet”

Who is online

Users browsing this forum: No registered users and 2 guests