Three years ago I wrote an introductory article on choosing an SD card, with the emphasis on camera usage. Times have changed and so have applications. This time around, I want to focus on finding the best microSD memory card for your smart phone. Naturally you will want to examine brand name reliability, price, and performance. To determine which is the fastest card for your money you might read online reviews, manufacturers specifications, and examine closely the strange nomenclature ("Class10", "UHS-1", "SDXC") surrounding memory cards.
But this is misleading. Everything you know about memory card performance is wrong.
Let's start with the basics. A memory card is a solid state storage device to which you write data, and later read it back. What data? Ah, there's the rub. You might be taking photographs. Or shooting video. Or running Android apps directly from your extra storage. Each of these tasks uses disk space in a different way. But the problem is that manufacturers only define speed in one very particular manner. This says nothing about our other use cases.
Speed Class Designations
More than anything, manufacturers promote the speed class designations. Class 2, 4, 6, and 10 each indicate a speed in MB/s (megabytes per second), so the higher the number the better. These are actual measured results, which is temporarily reassuring. Unfortunately the manufacturer might well get their figures using interfaces that are non-standard or simply enhanced to boost their numbers. (SanDisk admits as much.) Does real-world usage match the manufacturer specs? Read on!
It is important to realise that these figures represent a non-fragmented sustained sequential write speed. In other words, the speed it takes to write out a single large file, without a break, on a newly-formatted and otherwise virgin card. In the real world this number only applies to activities like recording video. Indeed, when I shoot high bitrate video on my Panasonic camera I reformat the card each and every time, so that I might approach this maximum value.
But you are not going to be continuously reformatting on your phone. And likely your number one activity is not video. So these numbers are inapplicable to the task at hand.
More recently, two further classes have been established to further confuse. UHS-I and USH-II have maximum write speeds of 50 MB/s and 312 MB/s respectively. But these are not measured values, like those for the other classes. They are only theoretical values. And no phones have the interfaces to support them. Even if they did, there is absolutely no need for these sorts of transfer speeds. So these designations are rather meaningless. (Is a picture emerging?)
In passing I should mention the capacity designations, so you don't end up buying a card your phone cannot use. These are SD, SDHC, and SDXC. Confusingly, all are referred to as SD cards in casual conversation, since they are physically and electrically identical. But there are fundamental differences.
The original SD (Secure Digital) cards are available in capacities up to 2GB and formatted with FAT16. This file system does not support larger capacities and so SDHC (Secure Digital High Capacity) was developed to exploit FAT32 formatting. Such cards are the most commonly purchased as I write, in capacities from 4GB to 32GB.
Beyond this, there is SDXC (Secure Digital eXtended Capacity), supporting cards up to 2TB. You need a USB 3 bus on your computer to get the full use out of SDXC cards (though they are backwards compatible with USB 2). Likely your phone does not support this standard.
I should note that this discussion applies equally to SD cards and microSD cards. This second term designates the physically tiny form factor we can use in our Android (and other) phones. Otherwise they are the same.
A million twisty version numbers
SanDisk is the biggest and most popular manufacturer of memory cards. They have many variants on the market at the same time, so simply referring to them by common name (e.g. SanDisk Ultra 32GB Class 10) doesn't always properly distinguish between them. Beware any writer who does not specify the card they are reviewing by model number.
SanDisk's codes look like this: SDSDQUA-032G-U46A. Breaking it down, there are four segments: SDSD, QUA, 032G, U46A.
All of the codes have prefix "SDSD" which simple means it's an SD card. And all of them have a suffix indicating the retail packaging, namely:
A11 = US packaging
FFP = Amazon "Frustration Free Packaging"
U46 = EU packaging
Additionally, an "A" tacked on the end indicates that the package displays the Android logo. That's just marketing; the card is no different. (An opportunity lost, actually!)
Believe it or not, the remaining two parts of the code convey useful info.
The Q code is the class, with six common codes on the current market (many additional codes exist on historical items):
Q = Class 4
QY = Class 6
QU, QUA, QUI = Class 10 "Ultra" designation, for different market segments, e.g. A = Android, I = Imaging
QXP = Class 10 "Extreme Pro" designation
Finally, the G code indicates capacity, for example:
032G = 32GB
The word "Ultra" in the name adds no further information; it's just what they call certain Class 6 and 10 cards. "Mobile Ultra" is exactly the same. There is nothing particularly mobile about it.
Every manufacturer has cards that fail. The solution is to back up your data. Some brands, like SanDisk, are so popular they are plagued with counterfeiters. The solution is to never buy memory cards off eBay. Always purchase from a trusted source.
What about generic cards from web shops? Brands you've never heard of? Lexar, Patriot, PNY, Kingston, Team, Nokia, AData, and on and on? Yes, some might be very good. Some will not be. And hard data can be difficult to come by. Online user reviews will be full of people for whom a card failed, but this is no indicator of quality. Such complaints are statistically meaningless and only the manufacturers themselves have access to the hard data.
While I prefer to stick to the top makes, it's even better to see which brands come through in terms of real-world performance. We will soon see...
Android apps are quite small -- all of mine currently fit in half a GB. How much extra space you need will be dictated by your use of your phone. If you are taking a lot of video or recording and creating music, then you might need a thousand times more space than someone who simply stores SMS messages and the occasional snapshot.
But the size you buy mostly depends on market forces. High capacity cards come onto the market at premium prices but grow cheaper rapidly. Capacities that seemed insane a few years ago are now commonplace and inexpensive. Lower capacity cards might well be more expensive than they are worth. For example, as I write I can get a certain 8GB SanDisk card for €10.79, or pay €2.50 more for 16GB.
But these cards may not have the same performance, even if they are identical in all ways except capacity. And that leads us to the heart of the article.
Marketing speak aside, how does one determine the performance of a memory card? Simple: Using disk benchmark software, like the highly-regarded CrystalDiskMark. Put the card in a card reader, set your parameters, and wait for the results. Users from all over the world do just that, compiling their results at forums like XDA Developers and Whirlpool.
These results are not free of variables, since not everyone has the same computer, interface, card reader, and so on. Thus, small variations in values should not be taken as meaningful. Nonetheless, the hope is that larger patterns will emerge from the aggregate data.
I have summarised results from these forums, appying additional filters for clarification. First, I have restricted myself to 16GB and 32GB capacities, based on current price points. If you are reading this even a few months into the future, I doubt 8GB cards will make any financial sense. On the other hand, you might think that 16GB is too much space in August of 2013, but when you upgrade your phone in a year or two, I bet you will be grateful you don't have to buy a new card.
Second, I have listed only write speeds, since it is writing data that puts a limit on device performance in almost all cases. An app can wait to read data, the only downside being a slight delay at it responds. But if an app cannot write data quickly enough, the function it is trying to execute might fail. A common example is burst shooting of still photos, or streaming of video.
Third, I have tried to report only on tests using large data runs (1GB), so that performance averages out over time. This was not always possible from the available reports. But I have removed outlier data that might otherwise mislead.
Fourth, I have been forced to include tests where the SanDisk model number was not reported. Annoying! But few people realise the importance of this information. (Hence this article, I suppose!) This might well mean that the same card type is reported on twice, in some cases.
Finally, I had to make a decision as to what tests to include. Here we come to the crux. First up is a table showing sequential write speeds (in MB/s). I've ranked the cards in order, sticking close to first tier brands. But I've included various card classes.
name size class seq model note ------------------ ---- ----- ----- ------------- ---- Transcend Ultimate 16GB 10 21.27 * Samsung Pro UHS-1 32GB 10 15.84 MB-MGBGBA Transcend Extreme 32GB 10 15.66 SanDisk Ultra 16GB 10 12.56 * Transcend Ultimate 32GB 10 11.96 * Lexar 32GB 10 11.95 * PNY 32GB 10 11.66 * SanDisk Ultra 32GB 10 11.65 * Samsung 32GB 10 11.53 * Lexar 16GB 4 11.20 * SanDisk Ultra UHS-1 32GB 10 10.68 * Transcend 16GB 6 10.51 SanDisk Ultra 32GB 10 9.71 QUA-032G-U46A SanDisk Ultra HC-I 32GB 10 9.67 QUI-032G-A11 SanDisk Ultra 32GB 10 9.57 QU-032G-U46A SanDisk Ultra 16GB 6 8.09 * SanDisk Ultra 32GB 6 8.05 * SanDisk 32GB 4 6.02 SanDisk 32GB 4 5.98 1 SanDisk 32GB 2 5.77 * SanDisk 16GB 4 5.21 QM-016G-B35 SanDisk 16GB 4 4.89 * 2 SanDisk 16GB 2 3.44 *Source: XDA Developers, except * Whirlpool
1 average of 6 tests
2 average of 2 tests
We can compare these values to the claimed card Class. The results are encouraging. All the cards meet their Class designation, or at least come close. But manufacturers make additional claims in their literature, for many Class 10 cards claiming 30MB/s or higher rates. These cards do not support these optimistic claims.
Note that the "off-brands" do well here.
The REAL Performance Test
OK, enough setup. It's time to come to the surprising conclusion. We've just seen that sustained sequential write speeds are good across card manufacturers, supporting their Class claims, if not their other inflated marketing. Cards from the top of the chart would be ideally suited to continuous video recording.
But that's not what memory cards are used for in mobile phones. Instead we use them to store apps, plus the associated small databases like contact lists, SMS histories, and the like. We store music files, take photos, and so on. Many small read and write operations occur as applications and their data come into memory and leave again.
A much more meaningful measure of this performance is the "Random 4k (QD=1)" test from CrystalDiskMark. So let's rank those same cards using this benchmark.
name size class rand model ------------------ ---- ----- ---- ------------- SanDisk 32GB 2 2.86 Transcend Ultimate 32GB 10 1.99 SanDisk Ultra 16GB 6 1.99 SanDisk Ultra 32GB 6 1.78 SanDisk Ultra 32GB 10 1.74 SanDisk 16GB 4 1.71 SanDisk Ultra 32GB 10 1.62 QU-032G-U46A SanDisk Ultra 16GB 10 1.60 SanDisk Ultra 32GB 10 1.54 QUA-032G-U46A SanDisk Ultra HC-I 32GB 10 1.47 QUI-032G-A11 SanDisk 32GB 4 1.47 SanDisk 16GB 4 1.43 QM-016G-B35 SanDisk 32GB 4 1.33 SanDisk 16GB 2 1.30 Transcend Extreme 32GB 10 1.27 Samsung 32GB 10 0.80 SanDisk Ultra UHS-1 32GB 10 0.68 Samsung Pro UHS-1 32GB 10 0.48 MB-MGBGBA Transcend 16GB 6 0.03 Transcend Ultimate 16GB 10 0.01 Lexar 32GB 10 0.01 PNY 32GB 10 0.01 Lexar 16GB 4 0.01
Wow, there is a huge difference between cards on the top and those on the bottom. Many cards simply fall apart on this test. And notice how Lexar, PNY, and Samsung end up at the bottom. This is solid justification for sticking to the top two brands. To be honest, I was quite surprised with the poorer ratings for Samsung, who have a good name in the industry.
Perhaps surprisingly, a Class 2 card comes out on top! But this makes sense; Class only tells us about sequential performance. We need to forget all about Class for our current application. Yes, that's the moral of the story.
But the top 15 cards do pretty well. Any of them would be suitable.
So, how to choose among them? Take the top 15 cards on the random access test, and remove those that are nearer the bottom on the sequential test. This chart results:
name size class seq rand ------------------ ---- ----- ----- ---- SanDisk 32GB 2 5.77 2.86 SanDisk Ultra 16GB 6 8.09 1.99 Transcend Ultimate 32GB 10 11.96 1.99 SanDisk Ultra 32GB 6 8.05 1.78 SanDisk Ultra 32GB 10 11.65 1.74 SanDisk Ultra 32GB 10 9.57 1.62 SanDisk Ultra 16GB 10 12.56 1.60 Transcend Extreme 32GB 10 15.66 1.27
Availability is the next factor. In the continuous rage to upgrade specs, Class 2 cards are no longer available. Neither are Class 6 cards except in sizes less than what we are considering (and the performance in those sizes is weaker in any case). This reduces our options by half.
In conclusion, I can recommended you consider the following microSD cards.
For 16GB: SanDisk Class 10.
For 32GB: SanDisk Class 10, Transcend Ultimate Class 10, or Transcend Extreme Class 10.
Price will be the remaining factor for those of you who need the larger capacity.