Benchmarks for new SanDisk and Samsung MicroSDs

I recently bought a number of high end MicroSD cards for SDIO tests on fast STM32 micros. Performance with 4-bit SDIO is great, read/write at over 20 MB/sec is possible.

I decided to benchmark these cards on an Uno. Performance is limited since these cards were not designed for SPI.

Here is a long list of benchmarks. Each test has 10 reps of writing a 5 MB file and five reps of reading a 5 MB file. The biggest difference is write speed and maximum write latency.

First let me warn you that there are many fake cards floating around. The first result is a fake SanDisk 8 GB Ultra sold on Amazon by Nano-Real www.amazon.com/gp/product/B0085EG6OW.

Note the slow, 76 KB/sec, write speed and long , over 140 ms, max write latency.

Fake 8 GB Ultra

Type is FAT32
Card size: 7.99 GB (GB = 1E9 bytes)

Manufacturer ID: 0X12
OEM ID: 4V
Product: MS
Version: 0.0
Serial number: 0XE1480000
Manufacturing date: 5/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
75.86,144628,2472,6741
76.34,142692,4740,6698
76.36,142648,4732,6697
76.33,142756,4732,6699
76.20,148644,4732,6711
76.37,142544,4728,6695
76.39,142628,4736,6694
76.43,142504,4724,6690
76.31,142584,4728,6701
76.44,142612,4728,6690

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
341.44,2332,1164,1493
341.44,2324,1164,1493
341.44,2332,1164,1493
341.46,2336,1164,1493
341.44,2332,1164,1494

Here is a real SanDisk 16 GB Ultra http://www.amazon.com/gp/product/B007XZM6VG. Much better.

16 GB SanDisk Ultra

Type is FAT32
Card size: 15.93 GB (GB = 1E9 bytes)

Manufacturer ID: 0X3
OEM ID: SD
Product: SL16G
Version: 8.0
Serial number: 0XFC434325
Manufacturing date: 4/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
251.28,22896,1696,2031
250.98,20788,1696,2034
250.61,32348,1696,2037
251.15,20412,1684,2032
250.76,20664,1700,2035
251.30,20036,1696,2031
251.01,19960,1696,2032
251.48,20056,1664,2030
251.24,20736,1672,2032
250.92,20160,1696,2034

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
500.07,2028,1000,1018
500.17,2024,1000,1018
500.12,2028,1000,1018
500.02,2020,996,1018
500.07,2020,1000,1018

Here is a strange result, the 32 GB version is not very good for write latency on SPI but OK on STM32 with SDIO http://www.amazon.com/gp/product/B007XZM6VG.

SanDisk 32 GB Ultra

Type is FAT32
Card size: 31.91 GB (GB = 1E9 bytes)

Manufacturer ID: 0X3
OEM ID: SD
Product: SL32G
Version: 8.0
Serial number: 0XC2E6F10D
Manufacturing date: 6/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
241.93,75572,1608,2110
246.17,69084,1620,2073
242.12,79292,1624,2108
245.67,76168,1620,2078
243.48,85104,1620,2096
241.57,63892,1624,2113
244.10,78440,1616,2091
244.94,70436,1624,2084
239.76,90892,1624,2129
243.35,82420,1620,2097

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
480.74,2428,1044,1059
480.74,2420,1044,1059
480.78,2424,1044,1059
480.78,2428,1044,1059
480.83,2428,1044,1059

Here is the 16 GB SanDisk Extreme http://www.amazon.com/gp/product/B00FRHTXR2. Very good max write latency.

SanDisk 16 GB Extreme

Type is FAT32
Card size: 15.93 GB (GB = 1E9 bytes)

Manufacturer ID: 0X3
OEM ID: SD
Product: SE16G
Version: 8.0
Serial number: 0X3752B221
Manufacturing date: 10/2013

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
287.22,10724,1484,1776
296.38,10556,1592,1721
295.38,10552,1624,1727
295.14,10556,1588,1729
295.16,10564,1624,1728
295.28,10564,1624,1728
295.25,10548,1588,1728
295.28,10568,1624,1728
295.30,10552,1584,1728
295.07,10544,1624,1729

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
495.41,2036,1004,1027
495.46,2032,1004,1027
495.46,2020,1004,1027
495.56,2020,1004,1027
495.46,2032,1004,1027

The SanDisk 32 GB Extreme is also good http://www.amazon.com/gp/product/B00FRHTXR2.

SandDisk 32 GB Extreme

Type is FAT32
Card size: 31.91 GB (GB = 1E9 bytes)

Manufacturer ID: 0X3
OEM ID: SD
Product: SE32G
Version: 8.0
Serial number: 0XF6D24F1
Manufacturing date: 5/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
282.76,10768,1504,1805
292.53,10624,1644,1744
292.28,10596,1648,1746
292.45,10332,1644,1744
292.05,10588,1608,1747
292.50,10600,1648,1744
292.29,10628,1648,1745
292.34,10604,1644,1745
292.46,10604,1648,1744
292.46,10612,1608,1744

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
487.54,2060,1016,1044
487.58,2056,1016,1044
487.54,2064,1012,1044
487.58,2056,1016,1044
487.58,2060,1016,1044

Here is a lower cost SanDisk 8 GB class 4 card http://www.amazon.com/SanDisk-microSD-High-Capacity-microSDHC/dp/B00488G6P8 . Not bad.

SandDisk 8 GB class 4

Type is FAT32
Card size: 7.95 GB (GB = 1E9 bytes)

Manufacturer ID: 0X3
OEM ID: SD
Product: SS08G
Version: 8.0
Serial number: 0XE40B0A50
Manufacturing date: 3/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
262.33,21176,1636,1945
260.62,25600,1648,1958
260.03,21880,1648,1963
260.63,17612,1612,1958
260.32,19124,1624,1961
260.21,17396,1604,1961
260.74,17220,1648,1957
260.29,17696,1616,1961
260.79,17220,1600,1957
260.28,18920,1644,1961

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
484.18,2088,1040,1051
484.23,2092,1040,1051
484.23,2092,1040,1051
484.18,2096,1040,1051
484.18,2096,1040,1051

The list was too long for the forum limit so here are the Samsung cards.

Here is a Samsung 16 GB Evo http://www.amazon.com/gp/product/B00IVPU7KE

Samsung Evo 16 GB

Type is FAT32
Card size: 15.72 GB (GB = 1E9 bytes)

Manufacturer ID: 0X1B
OEM ID: SM
Product: 00000
Version: 1.0
Serial number: 0X2A620035
Manufacturing date: 3/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
322.44,28452,1424,1582
317.18,28356,1424,1608
316.62,26956,1424,1611
317.52,31996,1424,1606
318.11,26992,1424,1603
317.96,32592,1424,1604
318.37,33372,1424,1602
318.78,27456,1424,1600
318.71,26896,1424,1600
319.06,27464,1424,1599

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
501.88,2024,1004,1014
501.93,2024,1004,1014
501.88,2024,1004,1014
501.93,2024,1004,1014
501.82,2024,1004,1014

Here is the 32 GB Samsung Evo http://www.amazon.com/gp/product/B00IVPU7KE.

Samsung Evo 32 GB

Type is FAT32
Card size: 31.44 GB (GB = 1E9 bytes)

Manufacturer ID: 0X1B
OEM ID: SM
Product: 00000
Version: 1.0
Serial number: 0X780282A4
Manufacturing date: 5/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
330.58,30080,1444,1543
328.24,29600,1492,1554
327.93,27408,1492,1555
328.69,27320,1492,1551
328.45,27052,1492,1553
327.48,43476,1492,1557
328.71,27372,1492,1552
328.75,28084,1492,1551
328.28,27376,1492,1553
328.86,35408,1492,1551

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
502.43,2016,1004,1013
502.38,2012,1004,1013
502.28,2016,1004,1013
502.33,2016,1004,1013
502.28,2016,1004,1013

The Samsung Pro is great on the PC and STM32 but not so much on Uno http://www.amazon.com/gp/product/B00IVPU7DG.

Samsung Pro 16 GB

Type is FAT32
Card size: 16.00 GB (GB = 1E9 bytes)

Manufacturer ID: 0X1B
OEM ID: SM
Product: 00000
Version: 1.0
Serial number: 0X9B541463
Manufacturing date: 3/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
276.96,36204,1424,1843
257.49,37008,1492,1982
257.81,36996,1492,1980
258.64,36964,1492,1973
258.58,36040,1488,1974
258.93,36900,1492,1971
259.63,35216,1488,1966
260.17,37708,1488,1962
260.05,36068,1492,1963
260.48,36088,1492,1959

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
501.22,2024,1004,1015
501.17,2020,1004,1016
501.27,2016,1004,1015
501.27,2020,1004,1015
501.32,2016,1004,1015

The 32 GB Samsung Pro http://www.amazon.com/gp/product/B00IVPU7DG.

Samsung Pro 32 GB

Type is FAT32
Card size: 32.01 GB (GB = 1E9 bytes)

Manufacturer ID: 0X1B
OEM ID: SM
Product: 00000
Version: 1.0
Serial number: 0XFC5E3635
Manufacturing date: 4/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
287.27,24024,1432,1776
278.77,24996,1496,1830
279.69,23140,1496,1824
280.09,23568,1496,1822
280.20,22452,1492,1821
281.04,22140,1496,1816
280.79,25672,1496,1817
280.99,23224,1496,1816
282.32,25372,1496,1807
282.13,26596,1496,1808

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
503.95,2012,1000,1010
503.85,2012,1000,1010
503.85,2008,1000,1010
503.90,2008,1000,1010
503.80,2012,1000,1010

Finally don't buy the Samsung 8 GB class 6 card http://www.amazon.com/gp/product/B00IVPU6GO. It has poor max write latency.

Samsung 8 GB class 6

Type is FAT32
Card size: 7.89 GB (GB = 1E9 bytes)

Manufacturer ID: 0X1B
OEM ID: SM
Product: 00000
Version: 1.0
Serial number: 0X450D3E3
Manufacturing date: 2/2014

File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
234.74,98936,1708,2175
244.84,104760,1716,2085
247.08,104732,1712,2066
248.74,104888,1716,2052
247.06,105728,1712,2066
249.14,105096,1716,2049
247.06,98920,1712,2066
248.81,105164,1712,2051
247.01,95652,1716,2065
248.46,104932,1712,2054

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
469.85,3188,1036,1084
469.89,2560,1036,1084
469.81,2564,1036,1084
469.85,2568,1036,1084
435.17,47756,1032,1171

This card benchmark is fantastic, thank you! I have some cards here of my own that I'd like to contribute results for, is the sketch you used for benchmarking available?

EDIT: Nevermind, I see that it is the "bench" example of your SdFat library!

Here's my test of the SanDisk 16GB Extreme using the OpenLog hardware as the tool:

SanDisk Extreme 16GB

Type is FAT32
Card size: 15.93 GB (GB = 1E9 bytes)

Manufacturer ID: 0X3
OEM ID: SD
Product: SE16G
Version: 8.0
Serial number: 0XA4E3C26
Manufacturing date: 5/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
284.82,25620,1512,1791
295.47,10644,1532,1727
295.70,10652,1600,1725
295.35,10636,1600,1727
295.28,22104,1540,1728
295.49,10640,1600,1726
295.52,10640,1596,1726
295.52,10640,1536,1726
295.49,10628,1600,1726
295.26,22008,1600,1728

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
495.85,2020,1008,1026
495.95,2028,1008,1026
495.90,2020,1008,1026
495.90,2020,1008,1026
495.95,2024,1008,1026

The results agree closely with yours. I also tested this card before formatting it with sdFormatter. This is a card which I normally just move log files off after recording, and I've recorded hundreds of logs on it like that (~3GB lifetime, max 50M at any one time) so the deleted space of the card was filled with junk. You can see how much of an impact that has on the max write latency:

SanDisk Extreme 16GB (without freshly formatting)

 write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
255.75,78200,1584,1996
264.83,91568,1468,1927
271.53,77628,1512,1879
279.94,99292,1512,1823
278.60,66992,1572,1831
279.81,55904,1536,1824
281.47,56064,1520,1813
282.69,50824,1632,1805
283.88,50808,1548,1797
287.72,50572,1632,1773

Starting read test, please wait.

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
494.38,2028,1004,1030
494.14,2036,1008,1030
493.60,2036,1008,1031
493.75,2184,1008,1031
494.09,2032,1008,1030

Here's another card:

Transcend 16GB Class 10 UHS-I

Type is FAT32
Card size: 15.93 GB (GB = 1E9 bytes)

Manufacturer ID: 0X3
OEM ID: SD
Product: SL16G
Version: 8.0
Serial number: 0X52D5ED0E
Manufacturing date: 8/2014

File size 5 MB
Buffer size 512 bytes

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
273.27,44620,1556,1867
272.43,59888,1552,1873
271.99,89828,1552,1876
273.43,44352,1552,1866
271.75,59868,1552,1878
272.20,89508,1552,1875
273.27,44372,1552,1867
272.22,59852,1552,1874
272.20,89544,1552,1875
273.16,44296,1552,1868

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
480.88,2116,1048,1059
480.92,2116,1048,1058
480.92,2120,1048,1058
480.92,2112,1048,1059
480.92,2116,1048,1058

Dang, my old and new tech is kinda slow...

Both freshly formatted (by SdFat).

Samsung 32GB EVO+ (brand new, but says 2010?):

FreeStack: 28707
Type is FAT32
Card size: 32.01 GB (GB = 1E9 bytes)

Manufacturer ID: 0X1B
OEM ID: SM
Product: 00000
Version: 1.0
Serial number: 0XEA5D8239
Manufacturing date: 4/2010

File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
178.61,37181,2775,2863
178.79,36905,2775,2860

Starting read test, please wait.

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
242.54,4214,2096,2108
242.55,4211,2095,2107

Old SanDisk 1GB plane jane microSD (old used smartphone sd card...):

FreeStack: 28707
Type is FAT16
Card size: 1.02 GB (GB = 1E9 bytes)

Manufacturer ID: 0X3
OEM ID: SD
Product: SU01G
Version: 8.0
Serial number: 0X583E2070
Manufacturing date: 10/2007

File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
158.64,184334,2650,3223
155.95,153869,2653,3278

Starting read test, please wait.

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
231.91,4417,2188,2204
231.93,4414,2188,2204

Actually, my last tests were on a Feather MO Adalogger (using the integrated micro sd slot, 48MHz processor, should be 24 MHz SPI clock).

I just got done getting my Feather WICED running, and benchmarked the same cards with it and the Feather M0 using the same micro sd breakout board from Sparkfun (Wiced has a M3/STM32F2, 120MHz, should be an SPI clock of 60MHz available...) and got worse results, by 60-80%, with the M3 than with the "slower" M0.

results:

Thank you for sharing your experiments. I did same experiment with Kingston Class 10, Uhs1 8GB SDHC card and here are my results:

Type any character to start
FreeStack: 6711
Type is FAT32
Card size: 7.97 GB (GB = 1E9 bytes)

Manufacturer ID: 0X41
OEM ID: 42
Product: SD8GB
Version: 3.0
Serial number: 0XD3CE5700
Manufacturing date: 2/2015

File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
113.37,351764,3332,4492
113.81,273828,3324,4474
115.30,270472,3344,4416
112.46,267980,3316,4528
115.59,270720,3292,4404
112.67,264032,3300,4519
115.87,267920,3316,4394
114.31,267536,3316,4455
115.69,266836,3336,4401
114.34,273684,3320,4453

Starting read test, please wait.

read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
347.78,2860,1388,1465
347.78,2860,1384,1465

I have seen 351 millisec write times that is so weird, I will try to buy SanDisk Extreme based on your results.