flash read performance

Andre Puschmann andre.puschmann at imms.de
Tue Oct 28 06:14:05 EDT 2008


Hi list,

I am currently trying to improve the flash read performance of my 
platform. It's a gumstix verdex board with a pxa270 running at 400MHz. 
My flash is a 16MB NOR Intel StrataFlash P30 (128P30T) and it's 
operating in the _normal_ asynchronous mode. In my opinion the read 
performance is very poor, only around 1.2 to 1.4 MB/s depending on the 
blocksize. I think it should be possible to get much higher transfer rates.

In Linux, I ran my tests with dd like this (copy 10MB):
time dd if=/dev/mtd5 of=/dev/null bs=16k count=640
640+0 records in
640+0 records out
real    0m 7.17s
user    0m 0.00s
sys     0m 7.17s


Running top in another console brings up, that the CPU load is very high
during copy. I am not sure if the system is doing some sort of busy 
waiting or something like that? However, it should be possible to do a 
copy without having such a high load.

Mem: 17684K used, 45144K free, 0K shrd, 0K buff, 11164K cached
CPU:   0% usr 100% sys   0% nice   0% idle   0% io   0% irq   0% softirq
Load average: 0.10 0.17 0.09
  PID  PPID USER     STAT   VSZ %MEM %CPU COMMAND
  259   258 root     R     1100   2%  95% dd if /dev/mtd5 of /dev/null 
bs 16k co


I guess a number of people are using a similar/comparable setup. So some
kind of user benchmark would be nice.
I am sure this needs some more investigation, but any comment/hint is 
more than welcome.

Best regards,
Andre




More information about the linux-mtd mailing list