microSD Card Benchmark for EV3 and Raspberry Pi 3

I needed to buy some more microSD cards for my growing collection of EV3s, BeagleBones and Raspberry Pis. There is surprisingly little information on the Internet about how to pick “the best” microSD card for these devices. And, what information that is out there tends to be a bit out of date due to the rapid progress of new technologies. So, this post intends to serve as one more data point to help people out for a short time before becoming obsolete.

If you are already familiar with the EV3, you know that it only supports microSDHC cards, which means 32GB and smaller. Any card bigger than this will result in data corruption. And unfortunately, we’ve had some reports that some 32GB cards also don’t work either, resulting in data corruption. Because of this, I opted to look at primarily 16GB cards. I was surprised to find that 16GB cards are already becoming rare.

I did what most people probably do and bought a bunch of 16GB cards from random vendors on amazon.com in the $10 to $15 range. I don’t really recommend doing this due to the widespread problem of counterfeit SD cards. The smarter thing to do would be to buy them from the authorized resellers listed on the manufacturers websites.

But, let’s just skip ahead to what most people are interested in… the results:

LEGO MINDSTORMS EV3 Benchmark
Make, Model, Capacity, Read Speed hdparm buffered dd write 4K rand read 4K rand write
Amplin, DuraTop, 16GB, 95MB/s 12.4 MB/s 7.0 MB/s 2.44 MB/s 0.76 MB/s
Kingston, 16GB, 90MB/s 12.6 MB/s 6.4 MB/s 2.29 MB/s 0.32 MB/s
OV, Pro Gold, 16GB, 80MB/s 13.9 MB/s 6.5 MB/s 2.29 MB/s 0.64 MB/s
Polaroid, Extreme Performance, 16GB, 95MB/s 12.5 MB/s 6.2 MB/s 1.60 MB/s 0.62 MB/s
Samsung, EVO+, 32GB, 80MB/s* 13.4 MB/s 6.1 MB/s 1.97 MB/s 0.63 MB/s
SanDisk, Extreme, 16GB, 60MB/s 14.3 MB/s 7.3 MB/s 2.55 MB/s 1.35 MB/s
SanDisk, Extreme, 16GB, 90MB/s 14.8 MB/s 7.3 MB/s 2.57 MB/s 1.38 MB/s
Toshiba, Exceria, 16GB, 90MB/s 14.8 MB/s 5.4 MB/s 2.81 MB/s 0.33 MB/s

 

Raspberry Pi 3 Benchmark
Make, Model, Capacity, Read Speed hdparm buffered dd write 4K rand read 4K rand write
Amplin, DuraTop, 16GB, 95MB/s 19.7 MB/s 19.6 MB/s 7.22 MB/s 0.98 MB/s
Kingston, 16GB, 90MB/s 19.8 MB/s 18.9 MB/s 5.68 MB/s 0.35 MB/s
OV, Pro Gold, 16GB, 80MB/s 21.2 MB/s 19.3 MB/s 6.13 MB/s 0.80 MB/s
Polaroid, Extreme Performance, 16GB, 95MB/s 19.5 MB/s 19.6 MB/s 1.82 MB/s 0.75 MB/s
Samsung, EVO+, 32GB, 80MB/s* 21.3 MB/s 15.5 MB/s 4.45 MB/s 0.78 MB/s
SanDisk, Extreme, 16GB, 60MB/s 22.0 MB/s 21.3 MB/s 8.24 MB/s 2.34 MB/s
SanDisk, Extreme, 16GB, 90MB/s 21.9 MB/s 21.3 MB/s 8.22 MB/s 2.39 MB/s
Toshiba, Exceria, 16GB, 90MB/s 22.1 MB/s 18.5 MB/s 10.50 MB/s 0.35 MB/s

* The Samsung EVO+ is not available in a 16GB version. And more importantly, my benchmark numbers are not comparable to other benchmarks of the same card, so I suspect that this card may be counterfeit.

So, what do these numbers mean? I used http://www.pidramble.com/wiki/benchmarks/microsd-cards as a basis for my benchmark. Basically, most SD cards are designed for photos and video where you are writing large files all at once (called sequential reading and writing). For ev3dev (and other embedded systems), we are much more interested in small files scattered around the file system (the 4k random read/write numbers). The manufactures don’t publish these numbers, so we have to do a benchmark to find out for ourselves.

As you can see from the charts above, the hdparm buffered and dd write numbers are roughly the same for all of the cards. This is not surprising since the advertised speed of most of the cards was about the same. These tests measure the sequential read and write speeds. But, where we can really see a difference is in the 4k random read and and write speeds.

So, based on my results, the clear winner is the SanDisk Extreme. Although it is interesting to note that the older 60MB/s version performs just as well as the newer 90MB/s. The Amplin DuraTop and OV Pro deserve an honorable mention if you want to save a few dollars and still get decent performance. (I have purposely left out the Samsung EVO+ since my numbers are suspect, but it is probably a good choice too, based on other benchmarks. I certainly don’t recommend buying one from the vendor I linked though.)

If you would like to repeat my tests exactly, I used the 2017-04-15 ev3dev snapshot and this script. All numbers in the charts are the best of three runs of the script.

Posted in ev3dev

Leave a Reply

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

*