Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] SD read/write speed

2005-11-27 by Bertrik Sikken

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Clyde Stubbs wrote:
> On Sun, Nov 27, 2005 at 12:11:14AM +0100, Bertrik Sikken wrote:
>> It turns out that, contrary to what I expected, the WRITE_MULTIPLE_BLOCK
>> command is hardly any faster than the WRITE_BLOCK command.
> 
> It helps if you use the pre-erase command as well, but in your case
> I doubt this has any impact.

Have you tried the pre-erase or do you get this from a datasheet?

>> The WRITE_MULTIPLE_BLOCK command was configured to write 256 sectors
>> of 512 bytes (128 kB). I measured the time by looking at my wristwatch.

You snipped the part where I said I measured the time it took to read
and write *4MB* of contiguous raw data directly onto the disk (without a
file system).
What I meant there, is that I was writing 128 kB _at a time_ with the
WRITE_MULTIPLE_BLOCK command. For the complete test I'm writing 32 of
those 128 kB blocks for a total of 4 megabytes.

>> read            13 s
>> write single    14 s
>> write multiple  13 s
> 
> These results are remarkably slow. I have not used an LPC to drive an SD
> card, but I have an application that reads/writes an SD card with an
> 8051 based chip (8051F320) using an SPI clock of 12.5MHz, and I can achieve
> around 600 KB/sec read and write speed. Your figures are about 2 orders
> of magnitude slower, which suggests there is something drastically wrong
> with your code.

No, just a misunderstanding :)
My speeds come out at roughly 300 kB/s.

Bertrik
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDiZseETD6mlrWxPURAjY6AKCNj9EUUo0IXtGuqYXl7VOcv1EMyQCeJ/lH
Kq5i93kAYClODkB1ODFX69c=
=/hJf
-----END PGP SIGNATURE-----

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.