microSD cards - don't buy to cheap

In the latest weeks I have written a couple of posts that includes problems with a micro SD card that has gotten very slow. This caused me to do some research and gain some experience, which I will share.

What have I learned
About SanDisk

  • microSD cards are sold with specific support for Android, but SanDisk will only recognize tests performed under Mac or Windows. They does not back this claim.
  • as with all 1st level support, it is hard to get talk to someone who knows what they are talking about.

In general

  • People have different experiences with different brands. If you get a big brand (SanDisk, Samsung etc) you are more likely not to experience compatibility problems but we have no data that tells who is best.
  • More expensive cards are better - or as someone wrote: Get a card that cost 3 times more and it will hold 5 times longer. At least when you stick to big names sold by reputable shops. The cheap SanDisk card, that is great on paper, may be a waste of money. Even when used within the boundaries of the specifications.
  • There are many fake cards on the marked. Only buy from reputable stores - on Amazon it must be both sold and dispatched by Amazon.
  • Get a card that is advertised to be much faster than you need. It will get slower with time - Class 10 means at minimum 10 MB/s, so this is too slow for anything but a point a shoot camera. See Speed Class Standards for Video Recording | SD Association for the standardized speeds.
  • Try to fix speed problems with the tool I mention below. Do not try to defragment a flash card. It will not help - at best just wear more on the card.

My problem
The problematic card is an “SanDisk Ultra Android 64 GB microSDXC Memory Card plus SD Adapter up to 80 MB/s, Class 10 FFP [Newest Version]” bought from Amazon.co.uk.

It have been used since november 2015 in my Garmin Virb Elite. I have shot 150k-200k photos for Mapillary using the card and additionally made some home video. In total less than 1 TB and at most 20 complete overwrites.

The first time I noticed issues, the camera had shut off during a Mapillary trip, even though there was plenty of power on the battery and plenty of space on the card. Then it happened again. Then I noticed, than some times the video suddenly started to be very choppy. Some times after 20 minutes of shooting, some times after 45 seconds.

After thinking a lot about this, I tried testing the speed of the card: No issue. Write speed about 20 MB/s. But then it suddenly dropped and finally went down to 800 KB/s.

The card is a Class 10, which must have a sustained write speed of 10 MB/s, also after a certain amount of internal fragmentation.

Internal fragmentation is caused by the cards “were leveling” feature, that makes sure the card is worn evenly. This is important because each part of the flash card only can be written a very limited number of times. Just as with fragmentation of a harddrive, this can make it very slow. It cannot be fixed by a defragmentation tool for a harddrive, because it happens on a lower level. The tool SD Memory Card Formatter | SD Association should be able to fix it. The best way is using the ERASE instruction, that tells the card to delete everything and start on a fresh. This was not supported by the card. The next best is to try to overwrite the card with binary 0s. In my case that did not work either.

Next step: SanDisk support. They only recognize tests using a tool called CrystalDiskMark. The problem is that the tool only tests an average write speed. Further more SanDisk will only recognize test results with the default values and I could only reproduce the problem by changing them.

The tool is very poorly documented, but it has an option with the default value of 1000MB. When I ran that test it took 5-10 minutes (I did not time it) and the program was set to repeat the test 5 times. It showed that the card could be written with 20 MB/s. That is far from what I had seen.

As mentioned, the first problem is that the tool only measures an average. That is not okay for video and as I had seen, the camera could shut off when doing Mapillary, due to a slow card. If you do the math, it would take around 53 minutes just to write 64 GB with 20 MB/s - even with 1 KB being 1000 bytes. Then the test should read the data too. So there is no way the program could have tested the whole card. But SanDisk support claimed that was true. Even though the card was advertised as being Android compatible, they would not recognize any test done on Android.

What was important to me was, that SanDisk did not have a tool that could fix or maintain the card. They actually offered me a replacement, but with my use it would just fail in 6 months, and I do not want a card that may fail!

How did you perform the speed test where you did see the speed drop?

I am currently using a Verbatim 32 GB class 10, and I am noticing problems (0-byte files being written after a few minutes, when taking less than 5 seconds between photos) when the card is more than half full and heavily used (ie. during holiday trips). After cleaning away all photos (just as normal file move), the card normally works flawless again.

You say Class 10 is too slow, what would you recommend for Mapillary use?

I performed the speed test using F3 by Digirati . It is not easy to use but with some luck even just copying 60 GB of files to the card, from a normal file manager, should show my problem.

The f3 program is created to test for fake flash drives. Mostly the trick where a drive is sold as e.g. 64 GB and it appears like that when used. But of you copy more than e.g. 4 GB of data to it, the files get corrupted, because inside there only is 4 GB of memory. The drive just lies. This is the reason you should only get drives from big reputable stores that only buys directly from the manufacturer.

A class 10 card should hold for Mapillary use, at least as long as it can keep up with the promised speed. My guess is that because I have used my cards heavily they have become slower - perhaps due to internal fragmentation that cannot be fixed in these cards. I think SanDisk has promised more than they can keep, counting on people like me will get a more expensive card.

The reason I suggests getting a faster card is, that it will probably not wear as quickly as a slow/cheap one. But most importantly, even when it is 5 times slower than when you got it, it will still work - perhaps not for 4K video but for Mapillary it will be fine. Even 2 pictures/second.

When i read about your problem, my guess is that the card has become slow. The camera creates the file successfully, but when it tries to unload the image itself, the buffer is filled and the data is discarded. If the card made an error you should see file system corruption.

I have come to the stage many years ago, that when I see a harddrive or flash drive fail or just behaving odd, I scrap it. If I can get a new under warranty I will do that, but I know I cannot trust a bad drive. I would replace my sdcard if I was you. I will replace mine. Probably with a Samsung this time, probably a version that can read and write 90 MB/s. They cost twice as much as the cards they replace, but will probably hold many times better.

I just found this review: Samsung EVO Plus MicroSD Memory Card Review - StorageReview.com

It’s a class 10 cards, with random write speeds dropping down to 3.9MB/s! The weird thing is, the reviewer doesn’t even seem to find this strange. Even though the previous model was tested with random write at 32.0MB/s.

1 Like

Thanks. Fortunately I got the Pro (not the Plus) card.

I don’t find it wird that random write speed is much slower than sequential write speed on flash cards.
In a flash card you cannot just write e.g. 2 bytes. You have to erase a cell and rewrite everything. This is also the reason it is very important to format the card using a tool made for flash cards (like SD Memory Card Formatter | SD Association) and not just the tool that comes with the operating system. Wrong formatting will not only make the card slower but it will also wear much faster.

I always format on the device (camera, phone, whatever). That way I can be relatively sure that the most optimal format for that specific device is being used.