cancel
Showing results for 
Search instead for 
Did you mean: 

SDIO microSD speedup

matas
Associate II
Posted on August 25, 2015 at 13:16

Hey I am making a microSD card logger, it is going to run on a battery so the power  consumpion is of big importance and because of that microSD card speed also matters a lot. I've found the program H2testw which is used to test the SD card speed. I've tested 5 microSD cards 64Mb (Unknown), 2Gb(4 Class), 4Gb(4 Class), 8Gb(4 Class) and 16Gb (10 class). The results were:

64Mb - Read: 0.99Mb/s, Write: 879Kb/s

2Gb - Read: 0.99Mb/s, Write: 927Kb/s

4Gb - Read: 0.99Mb/s, Write: 581Kb/s

8Gb - Read: 0.99Mb/s, Write: 888Kb/s

16Gb - Read: 0.891Mb/s, Write: 896Kb/s

And sometime even lower speeds...

Example from H2testw:

Warning: Only 200 of 1882 MByte tested.

Test finished without errors.

You can now delete the test files *.h2w or verify them again.

Writing speed: 788 KByte/s

Reading speed: 871 KByte/s

H2testw v1.4

I've tried to test them with the code Clive1 provided ''asr_ahmed_sdio.hex'', but I couldn't find a way to change the SWV clock (2000kHz) And nothing happens.

Is there a way to speed up these microSD cards, because as I check other people manage to get up to:

=Writing speed: 3.48 MByte/s

=Reading speed: 14.1 MByte/s

But in my case I cant get reading speed higher than a megabyte. So does anybody have any ideas?
Foo Bar
3 REPLIES 3
Posted on August 25, 2015 at 14:20

I suspect the constraining factor here is the USB-FS connection.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
matas
Associate II
Posted on August 25, 2015 at 14:50

So if I want to test my microSD on STM32 the code should just keep pushing data for a certain amount of time (setup a timer). Am I right?

Foo Bar
Posted on August 25, 2015 at 16:27

The example I provided should be viable using the Windows ST-LINK Utilities (you configure the processor speed in the SWV Viewer window)

I time the period of a large data transfer, with large blocks, using a 32-bit timer at processor frequency, and then work the math backward to get a MB/s number.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..