Finding a fast SD card for the Raspberry Pi

I wanted to find the fastest SD card for my Raspberry Pi, or at least one that wasn’t so slow that it was going to cause a bottleneck. There are a few threads on the raspberrypi.org forums about performance benchmarks. The prevailing opinion on the “SD Card Benchmarks” thread at raspberrypi.org is that the SanDisk Ultra SDHC 8 GB Class 6 cards have perhaps the best random read/write speeds, which people feel is a good, if theoretical, metric for how the Raspberry Pi will access the card. But at least one Raspberry Pi owner who had done some of the benchmarking that suggested SanDisk Ultra cards would be ideal discovered that the board would not boot from the card.

And there are enough other reports of SanDisk Ultra Class 6 cards not working to convince me to fall back to a regular SDHC Class 4 card.

With so much uncertainty around which cards will work, I’m keeping an eye on the growing list of known-good and known-bad SD cards for the Raspberry Pi at elinux.org.

Of the Class 4 SanDisk Ultra cards, SanDisk Ultra 4GB SDHC Class 4 Flash Memory Card SDSDH-004G-U46 is reported to work, but it requires that the power be disconnected and the card allowed to sit for a minute or two before it will reboot. That may be acceptable for a use case where the Raspberry Pi is sitting on my desk, but not one where it will be tucked behind other equipment.

I happened to be near a Walmart over the weekend, so I stopped in and picked up a SanDisk 4GB SDHC Class 4 Flash Memory Card SDSDB-4096-AW11. I benchmarked it with CrystalDiskMark, and found it to underperform my target of random write speeds of 1 MB/s.

-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    12.281 MB/s
          Sequential Write :    11.721 MB/s
         Random Read 512KB :    12.548 MB/s
        Random Write 512KB :     2.475 MB/s
    Random Read 4KB (QD=1) :     4.713 MB/s [  1150.7 IOPS]
   Random Write 4KB (QD=1) :     0.024 MB/s [     5.9 IOPS]
   Random Read 4KB (QD=32) :     4.977 MB/s [  1215.0 IOPS]
  Random Write 4KB (QD=32) :     0.025 MB/s [     6.2 IOPS]

  Test : 50 MB [H: 0.0% (0.0/3773.5 MB)] (x5)
  Date : 2012/06/01 20:34:28
    OS : Windows 7  SP1 [6.1 Build 7601] (x64)

Assuming it boots and reboots normally, I’ll probably use it until the community settles on a real-world benchmark that run on the Raspberry Pi.

And just for posterity, the proper way to format an SD card and ensure optimal performance is to use the SD Formatter software from the SD Association.

One thought on “Finding a fast SD card for the Raspberry Pi

  1. Rune K. Svendsen

    iozone is a good native Linux disk benchmark program. It’s installable on my system via the iozone3 package (I think it’s available on Debian too).
    Here are some example switches that will resemble the CrystalDiskMark tests (50 MB file size, sequential read/write, 512k+4kb random read/write):

    iozone -e -I -a -s 50M -r 4k -r 512k -i 0 -i 1 -i 2

    Example results for my SSD:

    	Command line used: iozone -e -I -a -s 50M -r 4k -r 512k -i 0 -i 1 -i 2
    	Output is in Kbytes/sec
    	Time Resolution = 0.000001 seconds.
    	Processor cache size set to 1024 Kbytes.
    	Processor cache line size set to 32 bytes.
    	File stride size set to 17 * record size.
                                                                random  random
                  KB  reclen   write rewrite    read    reread    read   write
    
               51200       4   24685   26740    76735    76388   22259   27553
               51200     512   37419   43406    91667   217910  244109   39846

    So results for my SSD are the following:

    sequential read (512 kb blocks): 91.7 MB/s
    sequential write (512 kb blocks): 37.4 MB/s
    512KB random read: 244 MB/s
    512KB random write: 39.8 MB/s
    4KB random read: 22.3 MB/s
    4KB random write: 27.6 MB/s

Leave a Reply

Your email address will not be published. Required fields are marked *