Canon 60D Memory Card Issues

Note: this originally appeared on my now-dead website blog. It got a lot of traffic and helped a lot of people so I reuploaded it here. I made a few grammatical changes but it’s otherwise the same content.

So I’ve been shooting with the Canon 60D for over a year now. I switched from the Canon 1Dmk3 for the video capabilities and incredible value the 60D gives for the money (regularly available for ~$400 nowadays). It works perfectly for me and when I need more serious gear for more serious clients I rent. Anyway, that’s not relevant.

I’ve been plagued with the famous “Movie recording has been stopped automatically” issue that has been a thorn in Canon users’ sides for years since I bought the camera. A quick Google suggests this is due to the buffer filling up due to the camera not being able to write to the card fast enough. I use 64GB UHS-1 cards exclusively so it made no intuitive sense to me that I’d be having this issue, and I figured it must be some other thing that wasn’t as well documented and that I was pretty much up a creek. This prevented me from EVER using my 60D for critical video work, as I wasn’t sure that hitting record would truly trigger a recording every time. The inconsistency scared me and so I wound up renting video cameras for any sort of serious video work I had. The 60D was good for B-roll or anything where time wasn’t of the essence and I’d be right there behind the camera if it stopped for some reason.

If I’m using big, fast SD cards, there’s no way the buffer isn’t being written fast enough! …Right?

Then one day I was loading some movie files to watch on my TV onto a 16GB USB2 flash drive, and thinking “Man, it’d be really nice to use my super-fast 64GB USB3 drive for this. It sucks that the TV only supports FAT32.” And then it dawned on me that my 60D might be having the exact same issues! Of course, the 60D does natively support SDXC cards in the exFAT format, but I wondered if the 60D was just old enough to not really FULLY support its maximum write speed on non-FAT32 file systems. To test this, I bought two SD cards from Amazon at ~$7 each (much cheaper than my usual SD cards). One was the Transcend 16GB UHS-1 card that is pretty ubiquitous and cheap right now, and the other was the last-gen SanDisk Ultra 16GB Class 10 card that used to be very common but has now been supplanted by their latest-gen UHS-1 card. My reasoning was this: My hypothesis is that the file system is limiting the write speed, causing my recording troubles. I need to get an SD card that is small enough to use the FAT32 file system to test this. The 60D’s maximum write speed is somewhere around Class 6 according to google, which means even Class 10 should be more than enough. So I got one card that is ONLY Class 10 and one that is even greater than Class 10 (UHS-1), so that if the file system was not the issue, I could isolate the problem based on speed ratings.

My results were thus: It’s a file system issue.

The Canon 60D (and presumably all other SD-based DIGIC4 cameras, I.E. the T2i and T3i) performs at its fastest ONLY when using the FAT32 file system. This means cards greater than 32GB will NOT be able to consistently and continuously write-in full bitrate 1080p from these cameras. In a very informal trial, I tested the amount of time it took to write-in a full buffer of RAW stills at 6400 ISO (highest file size). The two 64GB cards I had on hand, a SanDisk Ultra Class 10 and a Sony UHS-3, both took ~38 seconds to clear the buffer. The two 16GB cards I bought, the SanDisk Ultra Class 10 and the Transcend UHS-1, both took ~30 seconds. In addition, while I for some reason could not get my movie recording to stop automatically, I did notice an eclectic blink pattern on the red SD write indicator when recording video with the 64GB cards, and a completely consistent blink pattern with the 16GB cards, indicating to me that the camera was having trouble clearing the buffer consistently to the 64GB cards but not the 16GB cards.

In the future, I will only use 16GB cards in my 60D. Maximum storage time for 1080p is just under an hour per card, which is more than enough for my purposes, and for RAW stills it’s around 600 shots, which again is plenty. I like to swap my cards semi-frequently so that if one card fails (especially in a single-slot camera like the 60D), the entirety of the day’s work is not lost. I even take this to the extreme on portrait or studio shoots using 4GB cards and only storing ~50 shots per card. It’s a very easy workflow to get used to but the insurance policy it gives me is invaluable.

TL;DR: Get a card marked SDHC (32GB or under, FAT32 file system) and one that is Class 10-rated or better, and you shouldn’t ever get this message again.

Later,
Mark

EDIT 1/27/16: I got some comments on Reddit and I figured I’d post them and my responses up here:

So for those of us with Magic Lantern, does this mean we could increase the bitrate without getting the “movie stopped recording” message? I’ve never been able to do that. -/u/kaidumo

I can’t speak for Magic Lantern because I don’t use it and don’t trust its reliability. However, a firmware hack can’t get around the hardware limitations of the camera. Physically the actual circuitry inside these only supports the SD HSB, not the UHS bus, meaning there’s a hard cap on how fast the data can the written out and that cap is a theoretical 25MB/s. HOWEVER, most likely, the DIGIC4 chip inside these cameras cannot support operations that quick, because I’m going to assume if it could, Canon would have increased the write-out speed and supported speed higher than 6MB/s even if their video bitrate isn’t that high. There’s probably a thermal or frequency limitation somewhere inside the camera. The limiting factor here is not the speed the camera can write to the buffer, if that was it you’d never be able to record higher bitrates at all regardless of firmware. The bottleneck is the SD bus speed and it’s clearly being limited to less-than-theoretical-max by some sort of hardware issue.
 However, it’s a great question to pose and if my 60D wasn’t mission-critical, I’d definitely test it out in the same way I tested in the blog post. Maybe once I get my hands on the C100 I’ve been eyeing, I can update this. Or anyone else with access to ML can test for themselves.

Got a 32gb sdhc 600x c10 and never had the problem. and here I was thinking it was only about the write-speeds. Is there any minimum x speed recommended? say 400x? how low can we go to avoid this? -/u/repeatalifetime

Canon uses a variable bitrate encoding on these cameras, but they average around 40Mbps. That is equal to 5MB/s. The Class X designation for SD cards denotes a minimum guaranteed write speed of X MB/s. So therefor we can assume a Class 6 card is mostly okay, but in areas of really high detail or motion the bitrate might actually get higher than 48Mbps (Class 6), so to be safe I go with the next highest up, which is Class 10. These are the second-lowest commercially available ratings today, just above Class 4, as Class 6 cards are old and aren’t available anymore; technology has moved on to UHS-1 and UHS-3 speeds. Class 10 cards are extremely common and cheap.
 The “XYZx” designation for speed is not recommended for use because it defines a maximum speed, not a minimum speed. Class 6 guarantees 6MB/s or better write speeds, while a 40x rating would mean up to 6MB/s. Hence you can’t really guarantee anything with that designation. CF cards have what’s called a VPG rating, denoted by a little film slate symbol with a number in it. This is functionally equivalent to a class rating, and the number shown is the guaranteed minimum write speed in MB/s hence something that is rated VPG-20 would guarantee 20MB/s write speed or above.