SD card benchmark

SD and microSD cards are often used for embedded systems, due to their simple hardware interface. If you have an SPI port on your microcontroller, you can attach an SD card to it.

Most modern SD cards are not optimized for SPI interface. It’s hard to rell which card is better, until you test it on a real system. Here I collect results of my measurements for various SD and microSD cards, obtained using diskspeed utility on RetroBSD and LiteBSD systems.

When invoked without parameters, diskspeed utility performs write and read tests of 8-Mbyte file using 4-kbyte blocks:

# diskspeed
Testing 4-kbyte block size.
Write speed: 8 Mbytes in 21.505 seconds = 380 kbytes/sec
 Read speed: 8 Mbytes in 8.765 seconds = 934 kbytes/sec

SD cards: RetroBSD

Board: Maximite Color
SPI clock: 13.3 MHz
Block size: 4 kbytes

Card Size Id Write speed Read speed Shell test
Lexar SD Platinum II 512 Mb31025-512BS A 959 kbytes/sec 1191 kbytes/sec 5.6 sec
NCP SD 256 MbAF256SD 927 kbytes/sec 1187 kbytes/sec 6.9 sec
Kodak SD Digital Film 256 MbS442JT256U0BD 854 kbytes/sec 1258 kbytes/sec 9.6 sec
Kodak SD High Perf. 512 Mb none 746 kbytes/sec 1191 kbytes/sec 7.9 sec
Kodak SD 256 MbAP-ESD256CD21 434 kbytes/sec 1010 kbytes/sec 6.0 sec
Kodak SD 2 Gb31362-OC4-2GBOM A 418 kbytes/sec 1040 kbytes/sec 5.2 sec
WINTEC SDHC Class 10 8 GbLSON408GY5005MWI 406 kbytes/sec 948 kbytes/sec 5.3 sec
Kodak SD 2 GbMMAGF02GWDCA-DB 382 kbytes/sec 1170 kbytes/sec 5.3 sec
Transcend SDHC Class 6 4 Gb8281BB 4G 01DS1 357 kbytes/sec 952 kbytes/sec 5.4 sec
SanDisk SDHC Class 4 4 GbBH1023316173G 322 kbytes/sec 377 kbytes/sec 5.9 sec
Transcend SD 2 GbBE1205521872G 312 kbytes/sec 841 kbytes/sec 7.4 sec
Lexar SDHC Class 10 400x 8 Gb31364-C10-8GBBM A 303 kbytes/sec 1114 kbytes/sec 5.1 sec
Lexar SD Premium 60x 1 Gb31108-1GBBS B 283 kbytes/sec 1229 kbytes/sec 6.0 sec
Patriot SD 2 GbPSF2G4OSD-PC 259 kbytes/sec 574 kbytes/sec13.4 sec
SanDisk SD Class 2 2 GbMMAGF02GWECA-MB 172 kbytes/sec 396 kbytes/sec13.1 sec

Shell test timing has been obtained using the following command:

time sh -c 'for i in /sbin/*; do date; done'

microSD cards: RetroBSD

Board: Fubarino SDXL
SPI clock: 13.3 MHz
Block size: 4 kbytes

Card Size Id Write speed Read speed Shell test
Noname microSD 512 MbHY71UG512M-MP 672 kbytes/sec1164 kbytes/sec 9.5 sec
Kodak microSDHC Class 4 4 Gb31281-4GBOM B 467 kbytes/sec1034 kbytes/sec 5.1 sec
Kodak microSDHC Class 4 4 Gb31350-4GBBM A 462 kbytes/sec1020 kbytes/sec 5.2 sec
Kodak microSD 2 GbMMAGR02GUDCA-DB 389 kbytes/sec1171 kbytes/sec 5.3 sec
ADATA microSD 2 GbMMAUR02GUBCL-NJ I/O errors

microSD cards: LiteBSD

Board: chipKIT Wi-Fire
SPI clock: 16.7 MHz
Block size: 4 kbytes

Card Size Id Write speed Read speed File list
Noname microSD 512 MbHY71UG512M-MP 1224 kbytes/sec1673 kbytes/sec59.17 sec
Kodak microSD 2 GbMMAGR02GUDCA-DB 901 kbytes/sec1700 kbytes/sec17.74 sec
ADATA microSD 2 GbMMAUR02GUBCL-NJ 867 kbytes/sec1659 kbytes/sec16.03 sec
Kodak microSDHC Class 4 4 Gb31281-4GBOM B 741 kbytes/sec1657 kbytes/sec17.37 sec
Kodak microSDHC Class 4 4 Gb31350-4GBBM A 736 kbytes/sec1667 kbytes/sec17.23 sec
Sony microSDHC Class 4 SR-4C4 4 GbE304G1135 537 kbytes/sec1526 kbytes/sec
ADATA microSDHC Class 4 8 Gbsip14076k011a I/O errors

File list timing has been obtained using the following command:

time ls -lR /
 
proj/sdcard.txt · Последние изменения: 2015/02/14 23:43 vak
 
Copyright (C) 1996-2013 Serge Vakulenko
serge@vak.ru