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:

bench.jpg|965x775

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.