SD card performace ?

Russell Sears sears at cs.berkeley.edu
Mon Aug 4 20:43:51 CEST 2008


Andy Green wrote:
> Interesting.
> 
> | is this really the max. cpu/system performace for a 400 MHz arm ?
> 
> No, it's not CPU bound.  For "half the time" the CPU is doing other
> processes waiting for the bulk completion interrupt from Glamo.

Wait, writes go into a buffer after being ECC'ed and compressed, but 
before being sent to the sd device, right?

The usual rule of thumb is one outstanding write per wire.  So for a 
desktop computer, you need might need to maintain three outstanding 
writes:  one for the PCI bus, one for the sata cable, and one for the 
drive head.

If we have such a buffer, one page in the buffer is used for s/w ecc, 
compression, etc, and one for the card to write data from.  This 
overlaps SD write time with CPU mucking with data time, so the total 
time should be "max(CPU time, SD time)", not "CPU time + SD time", and 
software ECC shouldn't affect read performance, unless the cpu is at 
100% during the test.

If we're overlapping I/O and CPU, and the CPU is not at 100%, shouldn't 
the I/O bandwidth be the minimum of the bus bandwidth and the sd card 
bandwidth?

-Rusty




More information about the devel mailing list