Storage options continue to advance at a very fast pace. We’ve seen a lot of changes in the past couple of years with viable storage options for your Pi. Solid state drives are now so cheap that it can be cheaper to outfit your Pi with a SSD than buy a MicroSD card! MicroSD cards also continue to evolve with the new “Application Class” A1 and A2 certifications.
This year I wanted to do something more than just benchmark my ever-growing pile of MicroSD cards and solid state drives. Although I have a wide variety of storage to test I don’t have everything! So this time I created a benchmark that gives you a easy to compare score and anonymously submits the storage specifications and the results to this site.
Running the benchmark is extremely easy. Run the following command on your Pi:
curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
Current Benchmark Results
|Score||User||Manufacturer||Model||Class||Brand||Capacity||M. Date||DD Write||RandW IOPS||RandR IOPS||Rand Write||Rand Read||IO Read||IO Write||IO Rand Read||IO Rand Write||HDParm Disk||Product||Version||Firmware||Vendor||Date||Host Manuf.||Host Model||Host OS||Arch|
|3492||Sean1||JMicron||CT240BX500SSD1||SSD (2.5" SATA)||Crucial BX500||223.6G||36.3||5343||3733||21373||14932||15975||14237||13208||16066||35.18||SSD||2.10||M6CR013||Crucial||2019-05-04 12:25 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|3262||Anonymous||JMicron||CT500MX500SSD1||SSD (2.5" SATA)||Crucial MX500||465.8G||34.7||4617||3269||18470||13076||15502||11665||12491||15439||28.82||SSD||2.10||M3CR023||Crucial||2019-04-16 10:16 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Rev 1.2||Raspbian GNU/Linux 9 (stretch)||armv7l|
|3226||Hoffbot||Kingston||SA400S37120G||SSD (2.5" SATA)||Kingston A400||111.8G||34.5||4488||2692||17952||10768||15417||14815||11715||15455||28.46||SSD||2.10||S3Z40107||Kingston||2019-05-05 4:50 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|3121||AData||SMI||DS picco SSD||SSD (2.5" SATA)||AData||118G||35.0||4037||3017||16151||12069||15058||13376||11315||15016||31.28||SSD||2.10||N1126K||TrekStor||2019-05-16 4:41 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Rev 1.2||Raspbian GNU/Linux 9 (stretch)||armv7l|
|2900||jchambers||Samsung||SSDPM871b||SSD (2.5" SATA)||Samsung PM871b||253G||33.5||4110||3347||16442||13390||12993||13264||11709||12812||29.47||SSD||2.10||MVT03D0Q||Samsung||2019-03-16 2:40 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|2872||Anonymous||SanDisk||SD7TB3Q-128G-1006||SSD (2.5" SATA)||SanDisk X300||119.2G||31.1||4176||2869||16704||11477||12971||12701||10100||13611||27.33||SSD||2.10||X2180306||SanDisk||2019-05-01 12:57 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|2870||Anonymous||Kingston||SA400S37240G||SSD (2.5" SATA)||Kingston A400||223.6G||33.1||4143||2963||16572||11855||12951||13440||11001||12950||28.47||SSD||2.10||SBFKB1D2||Kingston||2019-04-30 12:02 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Rev 1.2||Raspbian GNU/Linux 9 (stretch)||armv7l|
|2864||jchambers||Samsung||MZ-7KE256||SSD (2.5" SATA)||Samsung 850 Pro||253G||33.2||4131||3107||16524||12429||12749||13844||11218||12723||29.06||SSD||2.10||Samsung||2019-03-12 2:38 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|2824||dreeg||JMicron||CT120BX500SSD1||SSD (2.5" SATA)||Crucial BX500||111.8G||34.2||2800||2917||11201||11670||10717||10483||12164||13792||33.74||SSD||2.10||M6CR013||Crucial||2019-04-24 3:30 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Rev 1.2||Raspbian GNU/Linux 9 (stretch)||armv7l|
|2789||jchambers||SK Hynix||SH920||SSD (mSATA)||SK Hynix||127G||33.5||4232||2612||16931||10448||12938||12537||9707||12756||28.91||SSD||2.10||1010BL00||SK Hynix||2019-03-15 1:18 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|2743||Anonymous||SanDisk||SC16G||A1 Class 10||OWC||111.8G||12/2018||35.0||4466||2868||17867||11475||15196||12647||10326||11323||22.02||SD||0x8||0x0||SanDisk||2019-05-06 7:28 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1965||Anonymous||SanDisk||SL16G||A1 Class 10 U1||SanDisk Pro||119.3G||02/2018||34.0||2635||1846||10542||7387||9689||7359||6870||8348||22.02||SD||0x8||0x0||SanDisk||2019-03-21 4:26 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1333||se55y||SanDisk||SE32G||A1 Class 10 V30 U3||SanDisk Extreme||29.7G||08/2017||21.2||1220||2483||4882||9935||8649||3052||8124||4535||22.10||SD||0x8||0x0||SanDisk||2019-04-07 3:50 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Rev 1.2||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1329||Anonymous||SanDisk||SE64G||A1 Class 10 V30 U3||SanDisk Ultra||59.5G||10/2017||20.5||1189||2595||4759||10380||8865||2979||8317||4453||22.06||SD||0x8||0x0||SanDisk||2019-04-22 10:50 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1245||jchambers||Samsung||00000||Class 10 U1||Samsung Evo||32G||11/2015||15.5||882||3091||3530.9||12366||10418||3100||10183||3320||35.79||SD||0x1||0x0||Samsung||2019-03-16 12:22 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1240||Anonymous||Phison||SD32G||Class 10 U1||Kingston||28.9G||12/2018||15.3||1200||2289||4803||9156||9048||4065||7629||4355||22.06||SD||0x6||0x0||Phison||2019-04-12 3:43 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Rev 1.2||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1203||StuartIanNaylor||SanDisk||SP32G||A1 Class 10 V30 U3||SanDisk Extreme Pro||29.7G||02/2019||19.0||845||2453||3381||9813||8388||2731||8238||3855||22.05||SD||0x8||0x0||SanDisk||2019-05-15 6:45 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Rev 1.2||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1160||Anonymous||Panasonic||SD16G||A1 Class 10 V10 U1||Panasonic||14,5G||02/2019||13.7||973||2534||3892||10137||10378||3443||8083||3601||35.66||SD||0x6||0x0||Panasonic||2019-03-27 2:28 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1152||Anonymous||SanDisk||SC64G||A1 Class 10 U1||SanDisk Ultra||59.5G||09/2018||18.6||860||2422||3440||9690||8630||3515||8103||3334||22.08||SD||0x8||0x0||SanDisk||2019-05-07 9:49 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1138||kk||Samsung||EB1QL||Class 10 U1||Samsung Evo+||29.9G||01/2019||13.8||1033||2313||4134||9253||8937||3598||7415||3790||22.05||SD||0x3||0x0||Samsung||2019-04-14 11:54 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1130||DannyD||SanDisk||SC32G||A1 Class 10 U1||SanDisk Ultra||29.7G||12/2018||17.2||751||2811||3006||11247||10081||3527||8943||2733||35.73||SD||0x8||0x0||SanDisk||2019-04-16 12:30 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1103||Anonymous||Unknown||SD256||A1 Class 10 V30 U3||TI||29.5G||10/2018||13.1||1029||2130||4119||8520||8699||3618||7072||3750||22.00||SD||0x6||0x1||TI||2019-03-19 2:04 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1086||Anonymous||Samsung||GE8QT||Class 10 U3||Samsung Evo Select||238.5G||12/2018||13.2||982||2235||3928||8941||8109||3268||8028||3289||21.40||SD||0x3||0x0||Samsung||2019-03-24 3:38 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1078||Anonymous||Samsung||EB1QT||Class 10 U1||Samsung Evo+||29.8G||10/2018||18.4||602||2715||2408||10862||9246||2974||9190||2311||35.44||SD||0x3||0x0||Samsung||2019-05-16 10:05 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1077||Anonymous||Sony||USD00||Class 10 U1||Western Digital||931.5G||07/2018||14.2||725||2666||2903||10664||10154||3058||8675||2737||22.55||SD||0x1||0x0||Sony||2019-05-03 6:21 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1065||Anonymous||SanDisk||SC128||A1 Class 10 U1||SanDisk||119.1G||04/2018||19.4||816||2377||3265||9510||7914||3109||7781||2685||22.15||SD||0x8||0x0||SanDisk||2019-05-03 4:48 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1063||willworkforicecream||Phison||SD16G||Class 10 U1||Patriot||14.5G||11/2018||13.1||935||2155||3743||8620||8843||3353||7087||3444||22.05||SD||0x6||0x0||Phison||2019-04-30 12:16 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1060||Anonymous||Sony||USD00||Class 0||GoodRAM||7.3G||02/2018||20.4||624||2431||2496||9725||9777||2452||8155||2433||22.39||SD||0x1||0x0||Sony||2019-04-07 1:11 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1060||Anonymous||SanDisk||SC16G||A1 Class 10 U1||SanDisk Ultra||14.9G||01/2019||16.6||715||2715||2863||10860||9027||3362||8753||2363||34.27||SD||0x8||0x0||SanDisk||2019-04-27 3:19 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Ubuntu 18.04.2 LTS||armv7l|
|1053||Anonymous||Phison||SD64G||A1 Class 10 V30 U3||SanDisk||58.2G||07/2018||18.5||897||1957||3588||7831||8026||3160||6472||3253||21.79||SD||0x5||0x0||Phison||2019-04-09 6:04 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Rev 1.2||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1052||Anonymous||Samsung||GD4QT||Class 10 U3||Samsung Evo Select||126G||01/2019||13.0||357||3046||1431.3||12188||10967||2784||10913||1876||42.99||SD||0x3||0x0||Samsung||2019-03-17 2:32 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1048||Anonymous||SanDisk||SL32G||A1 Class 10 U1||SanDisk||29.7G||10/2018||16.8||864||2187||3459||8750||7881||2881||6905||3190||22.11||SD||0x8||0x0||SanDisk||2019-04-26 1:57 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1044||Anonymous||Samsung||00000||Class 6||Samsung||14.7G||04/2013||12.6||646||2530||2587||10122||8458||2961||8402||2991||21.89||SD||0x1||0x0||Samsung||2019-04-27 10:00 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Rev 1.2||Ubuntu 18.04.2 LTS||armv7l|
|1043||zerx||SanDisk||SN64G||A2 Class 10 V30 U3||SanDisk Extreme Pro||59.5G||10/2018||20.4||806||2265||3224||9061||7586||2028||6123||3225||35.11||SD||0x8||0x0||SanDisk||2019-05-18 3:03 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Ubuntu 18.04.2 LTS||armv7l|
|1039||jchambers||SanDisk||SR64G||A2 Class 10 V30 U3||SanDisk Extreme Pro||63G||01/2019||21.3||845||2240||3381.5||8962.9||7789||1876||6003||3105||34.30||SD||0x8||0x0||SanDisk||2019-03-16 12:37 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|1038||Anonymous||Samsung||FC8HT||Class 10 U3||Samsung Pro+||59.6G||01/2018||21.3||453||2637||1814||10548||8671||2147||8719||2126||32.90||SD||0x3||0x0||Samsung||2019-04-26 10:25 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Ubuntu 18.04.2 LTS||armv7l|
|1012||JoeLouie||Netac||SD128||A1 Class 10 V30 U1||Kingston Canvas Select||116.2G||12/2018||11.2||944||1983||3777||7935||8063||3359||6597||3464||19.41||SD||0x6||0x1||Maxell||2019-04-18 9:15 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|990||Anonymous||Samsung||JB1RT||Class 10 U1||Samsung Pro||29.8G||11/2018||20.8||407||2390||1628||9560||8177||2549||8089||2107||21.94||SD||0x3||0x0||Samsung||2019-04-20 6:44 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|949||jchambers||SanDisk||ACLCE||A1 Class 10||SanDisk Ultra||63G||03/2017||7.0||593||2587||2374.8||10352||9073||1992||8274||2730||35.68||SD||0x8||0x0||SanDisk||2019-03-16 12:48 AM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Plus Rev 1.3||Raspbian GNU/Linux 9 (stretch)||armv7l|
|938||Samsung||Samsung||EB1QT||Class 10 U3||Samsung Evo+||32G||10/2017||17.9||551||2202||2206.6||8810.6||7475||2654||7415||2144||21.74||SD||0x3||0x0||Samsung||2019-03-16 2:33 PM||Raspberry Pi Foundation||Raspberry Pi 3 Model B Rev 1.2||Raspbian GNU/Linux 9 (stretch)||armv7l|
Navigating the Results
As the list of submissions continues to grow there can be a lot of data to sift through. I’ve provided a filter on the table to help narrow some of that down.
To only see Micro SD cards click the “Product” drop down from the options above the table and choose “SD”. This will filter out everything but Micro SD cards. To see solid state choose “SSD”. You can also search by manufacturer, brand, etc.
I have also offered the option to export the entire results table to Excel and other formats. If you perform any advanced analysis that you think would be useful to share be sure to leave a comment with what you found and I will credit you and post it for everyone!
The benchmark heavily favors 4k random reads / writes. This is because for application and operating system performance this is by far the most important metric. Traditional benchmarking methods like dd write, hdparm read tests, etc. are very poor indicators of everyday performance. What matters is not how fast your storage can push through giant files but how fast it can respond to random input that asks it to read / write anywhere on the disk.
To understand why we need to think of what your Raspberry Pi is usually doing. Most applications and services are not constantly writing giant sequential files which is what traditional synthetic benchmarks measure. Your Raspberry Pi is usually updating log files, reading data from different parts of the disk for various applications and services, responding to user input, etc. To your disk drive this behavior is considered “random” since it has no idea what it will be asked to read / write next.
Storage devices doing large sequential I/O like transferring files utilize extensive caching and other techniques to speed up these kinds of operations. Unfortunately these techniques do not work when the operating system and storage device doesn’t know what users / applications / services might request next. The storage device has no way to know or prepare for what your application will want next so it has to read it raw from the disk and can’t rely on cache.
This is why in our benchmarking we want to look very hard at 4k random read / writes. This is what will determine how “snappy” the Pi feels as you perform various tasks. Fast 4k random IO devices feel and perform much better than a device with huge throughput but poor random I/O performance.
The current scoring method is:
(DDWriteSpeed * 1024 + fio4kRandReadIOPS * 4 + fio4kRandWriteIOPS * 10 + io4kRead + io4kWrite + IO4kRandRead * 4 + IO4kRandWrite * 10) / 100
The benchmark runs a few different tests in order to get a good overall idea of storage performance. It runs 4k read / write and random read / write in two separate benchmarks to verify the results and reduce variance. Here are the tests used in the benchmark:
FIO – An industry standard used for true storage benchmarking vs. just measuring throughput (like DD Write and HDParm — not considered true benchmarks). The benchmark tests 4k block size sequential read/write and random read/write. Gives a result in IOPS which stands for Input/Output Operations Per Second
IOZone – A very popular benchmarking program. We also test 4k block size sequential read / write and 4k random read / writes here to verify our results are close to the FIO results
DD Write – Basic throughput test of writing 0’s as fast as possible
HD Parm – Tests disk read throughput in direct mode (avoids caching)
Recommendations – 2019
The top recommendation this year for Pi storage will depend on your form factor. Let’s break it down:
My project is stationary (servers, media centers, etc.)
The best choice is a 2.5″ Solid State drive connected via USB. This is the highest performance choice and is very cheap. The benchmarks show that any solid state drive is so fast that it maxes out the Raspberry Pi’s USB 2.0 bus. I’ll talk about this more in the SSD analysis section below but basically it’s best to get the cheapest option while still picking a reliable brand.
Here is my current recommendation:
My project moves around but can fit a USB drive
99% of USB drives are horrible choices for Pi storage media because they have very poor 4k random read / write performance. Micro SD cards are way faster than almost all of them. However, there is a special exception which in 2019 is much more reasonably priced.
There is a special USB drive by SanDisk that is actually a solid state drive on a stick. It has the same size / dimensions of a regular flash drive but uses solid state storage internally giving it great 4k random read / write performance. I own it and it benchmarked at 2330 putting it more than double any MicroSD card and only a couple hundred points below Samsung Pro 2.5″ SSDs.
My project is small form factor and can’t use USB storage
There’s lots of cool projects out there that using any type of USB attached storage is not an option. For these projects Micro SD is still king. The good news is that Micro SD has had some recent developments such as the A1 / A2 application class cards. A2 is not supported by Raspberry Pi yet (or almost anything else really) so A1 is the important mark to hit.
I’ll cover Micro SD in depth in the Micro SD analysis section but here are the current recommendations:
The SanDisk Extreme A1 is a good budget option
If you need higher capacity than 32GB it is cheaper to go with the A2 Extreme Pro version of the card. I own this version of the card and it benchmarked at a very high 1039. It had the highest 4k random write speed of any card I own.
SSD benchmarking so far has shown that there is not much of a difference between an older cheap SSD like a outdated mSATA Hynix drive and top of the line drives like the Samsung 850 Pro. The difference from the oldest cheap drives and top of the line was only about 100 points.
This is because the Pi has a USB 2.0 bus. Even the slowest oldest SSDs are so fast that they hit the maximum possible data transfer rate over USB 2.0. Because of this it makes sense to buy the cheapest SSD drive possible that is still reliable. See my recommendations section for ideas.
Micro SD Analysis
The Micro SD market has always been a difficult place for Raspberry Pi owners. Since there traditionally was no classification that indicated random read / write performance we simply had to buy different cards and benchmark them.
The problem with that was that Micro SD manufacturing processes change. They can even change from batch to batch. The 2015 Samsung Evo cards were a good example of this. We found a card with amazing 4k random read / write performance but one day they changed their process and the new ones are not even close.
Fortunately things have recently improved for us somewhat because of, well, smartphones! Let’s talk about the application class.
Micro SD A1 / A2 Application Class
Application class cards were created because smartphones have become one of the top use cases for SD cards. Many people run applications directly off their SD card or have applications that keep their active storage on there. Tech savvy smartphone users sick of slow performing cards demanded a speed class was created to measure this type of performance.
This is great for us Pi owners because this type of use is 4k random reads / writes and is exactly the same as what we do on the Pi. Thank you smartphone owners!
It’s important to note that right now the Pi (and pretty much everything else) cannot currently make use of the new A2 standard as it requires special driver support to take advantage of the new features. I have benchmarked both the SanDisk Extreme and the SanDisk Extreme Pro A2 cards in my benchmark results and they did not perform any better than the A1 cards because of this.
Lets look at the application class performance features:
The new A1 application cards are fantastic and performing very well on the benchmark. So far every application card benchmarked has hit the minimum A1 targets. If you are looking for a better performing SD card then A1 is the way to go.
Video Class (V30, etc) and U Class (U1 and U3)
These don’t matter for the Pi. Basically at all. They are measurements for maximum sequential I/O throughput. For example if you have a video camera that needs to record in 4k it will need a very high sequential I/O maximum transfer rate.
The Pi depends on 4k block size random I/O as I’ve explained in earlier sections and these classifications don’t measure that. Indeed, my 3 worst performers on the benchmark are all U1 cards and got easily stomped (nearly doubled in score) by a SanDisk Ultra Class 10.
This doesn’t mean U capable cards are bad. The Samsung Pro+ is a U1 class card and performed incredibly well on the benchmark. It just means that the Samsung Pro+ has much higher quality memory / a better controller inside it.
The conclusion is that unlike the application class these classifications will not tell you if your card is going to be good or awful for the Pi. You need to benchmark them to know!
Picking the Fastest Micro SD Card
This can be difficult as manufacturers change their manufacturing processes and start using a different type of memory or on-board storage controller (likely to a cheaper one) for these cards. This can even happen on the same product line (such as the Samsung Evo) so manufacturer date is important when looking at these.
For example, the Samsung Evo+ was terrible a few years ago but more recent batches are scoring very well. The Samsung Evo “orange” older cards tend to be faster than the newer ones.
This is a big reason why I created this benchmark. With a bigger sample size of cards we as a community can pool our card benchmarks together and figure out which manufacturers and lines of cards are getting the good memory / on-board storage controllers.
Since manufacturers change their processes all the time to keep up we will need to watch the benchmark results and see where the “good stuff” is going and when the card quality quietly changes!
If you are currently in the market for a Micro SD card check the recommendations and the results table to see which current batches are performing the highest!
How you can contribute
The best way to help contribute to this research is to run the benchmark on your own Micro SD cards.
We are especially looking for the more unusual Micro SD card brands. Right now there are several manufacturers of Micro SD cards that have as yet to be identified. This information isn’t published anywhere publicly so the only way we can get them is through benchmarks submitted by you!
It is important to fill out everything you can see for the “Brand” question that comes up when you run the benchmark. Look at your card and fill in any branding markings you see.
This helps me identify unusual card vendors and add them to the script so they can be identified to help everyone compare between the different cards.
- Use a solid state drive (SSD) if possible. Instructions on how to set one up with the Pi are in this article
- SanDisk A1 application class cards are dominating the Micro SD results so far
- The only sensible Micro SD cards to buy right now are application class (A1) due to their outstanding 4k blocksize I/O performance vs. older cards.
- Micro SD card performance among the same brands and even the same models varied wildly depending on the manufacturing date. Memory quality and storage controller performance vary from batch to batch.
- The Pi cannot utilize A2 so don’t pay extra for it (although sometimes the A2 versions are cheaper). A2 cards will run in A1 mode on the Pi.
- USB flash drives are terrible choices for Pi storage
- Old “spinny disk” 5400 RPM and 7200 RPM HDDs underperform decent Micro SD cards
With the new benchmark we should be able to learn a lot more about storage on the Pi. Micro SD cards seem to be the area we need to learn the most about. As more people run the benchmark we’ll continue to analyze and revise recommendations based on what everyone finds!