2013-04-19

Anti-Heros: SanDisk Ultra MicroSD cards

Until recently, I never really had to worry about the performance of memory cards when it came to using them for video. But the GoPro HD Hero 3 Black Edition now pushes memory cards rather hard and suddenly microSD card performance becomes of importance. Due to the higher HD resolutions, such as 2700×1520 at 25 frames per second and with Protune switched on, the Hero 3 Black Edition now blasts approximately 45 MBit per second towards these tiny memory cards. Albeit this is less than 6 MByte/s, we are talking about writing performance. GoPro requires microSD cards of «class 10» or (how it now also called) «U1». So, where's the problem, you say? There are so many cards available! Unfortunately, these card classifications are useless.

Note: This blog article reflects my personal experience with particular consumer products. In no way this represents any recommendation. I'm not affiliated in any way with the companies mentioned, neither commercial nor private, with the sole exception that I'm just an ordinary customer.
Unexpectedly, we, the proud owners of the GoPro HD Hero 3 Black Edition action cams, got into a mess caused by manufacturers of microSD class 10 memory cards. Such cards don't perform as required by a HD Hero 3 over a «longer» period of time, such as a few seconds. Instead, the performance of many microSD cards quickly nosedives, sometimes caused by internal wear leveling or reorganization. The camera, however, has not enough buffer capacity to avoid such wrongly-labelled class 10 memory cards. In the end, the HD Hero 3 Black Edition then aborts recording video and stops.

Fancy Marketing Performance & Slow Writing


It seems that the performance requirements for microSD memory card classification allows for a multitude of loopholes. So this is the time of Marketing, touting out fancy performance figures. But this doesn't help us customers, as lying is never good. How am I supposed to figure out whether a microSD card is suitable when the classification doesn't hold any truth? And what happens after the card has run through multiple writing cycles so it is gradually slowing down with time? And even those sellers that put writing performance figures on their packages can't be trusted.

The crucial problem in this bad game are transfer block sizes. We are talking about the transfer block size your GoPro HD Hero 3 Black Edition actually uses. We're not talking about the unrealistic block sizes used by manufactures for their own performance figure boosting. For instance, with a 32GB card with FAT32 file system we usually have a camera transfer block size of 32kBytes. But more on this below.

Shell Games: Which Ultra Do I Bought?


Since GoPro itself sells microSD memory cards of type SanDisk Ultra through its own online shop, one would imagine that these cards are suitable for the Hero 3 Black Edition. When I tried to buy these cards at local stores I noticed that there are actually two different kinds of SanDisk Ultras. They cannot be differentiated by the cards themselves, only by their boxing they are sold in.
  • for cameras ... according to SanDisk for FullHD up to 30 frames per second,
  • for mobile devices ... according to SanDisk for FullHD. This type has a big, green, and friendly Android printed prominently across its boxing.
Perfect ... and which card do I need to take? For cameras or for mobile devices since the latter have more demanding requirements according the boxing. A few weeks ago, reports were slowly trickling in about massive problems with SanDisk microSD cards: they are destroying themselves, loose data, cannot be detected, et cetera (for instance, see this Heise mobil report). SanDisk now offers its customers to replace faulty Ultra microSD cards. But more about this below.

Over time before I was aware of the issues, I purchased four 32 GB cards and two 16 GB cards of type SanDisk Ultra (mobile, it seems, as this is what the local photo store is selling). Performance measures show abysmal writing performance, around only 5.5MByte/s on average. This is just around the GoPro requirement for 45MBit/s. However, my cards showed many small nosedives in writing performance. In consequence, these cards may work, may work for some time, and later just cease to reach the bar. Total crap. When extensively testing these SanDisk cards in my two HD Hero 3 Black Edition, I got several recording aborts.

SanDisk support advised me to upgrade the Hero firmware. Dear support, how dumb are you to advise me to upgrade when I told you that the Heros are on the newest firmware? Then he offered me to replace the faulty cards; either through the retail store where I bought them or by mail to an obscure address somewhere in Czech and at my own risk. I for my part then brought these  SanDisk products back to my store where I got my money back and bought from another brand. We will see...

You can get an impression about SanDisk Ultra performance from this figure ... take them with caution, as always. But they are already indicating the overall performance class quite good, so this ain't the class a GoPro HD Hero 3 Black Edition wants.

32kB Block Write


SanDisk Ultra microSD 32GB for Android/smartphones:
32 kBytes write block performance.

64kB Block Write


SanDisk Ultra microSD 32GB for Android/smartphones:
64Kbyte write block performance.

Analysis


As you can easily see, performance increases with bigger block transfer sizes quite good. But unfortunately, we need to live with 32 KByte writing block transfer size, as this is what the HD Hero 3 Black Edition uses. At this block size, writing performance oscillates quite heavily, which is a bad indication. There's not a win situation, no wonder, there are so many reports about problems with these SanDisk cards in the GoPro online forums.

My measurements quite good support the assumption made by other GoPro customers that the HD Hero 3 Black Edition uses a block transfer size of 32kByte. If it were a bigger transfer size, we shouldn't see all the problems we currently see with SanDisk cards, as there would be some reserve from the required minimum marging of approximately 5.6MByte/s.

I'm really interested in whether GoPro will be able to cure its SanDisk desaster with a new firmware with larger block transfer size ... but this may cause other problems.

Conclusion


I for my part brought back two SanDisk Ultra 32GB cards to my dealer and bought a different brand for the money. I even got more memory for the money I had to shell out for SanDisk. Let's see what will happen...