Friday, October 04, 2013

Which SD card?

I have seen a number of forum posts recently along the lines of "Which SD card should I buy to go in my new camera?". In trying to write a reply to one of these, I quickly found myself confused by the plethora of acronyms and options out there!

The problem is that, as Secure Digital (SD) cards have evolved, they have picked up:
  • a series of different capacity ratings - the original SD (max 1Gb), followed by SDHC (High Capacity - max 32Gb) and now SDXC (eXtended Capacity - max 1Tb),
  • three different physical sizes - the original "standard" size (32x24mm), mini- (21.5x20mm) and micro- (15x11mm),
  • and a series of different write speeds. They were originally described as "xn" indicating how much faster they were than a CD drive e.g. "x24". This was replaced by "class" ratings (class 2, class 4, class 6 and class 10) which indicate their write speeds in Mega-bytes/second (so a "class 10" card can writes 10Mb/s) and now we have a new UHS (Ultra High Speed) rating system. UHS-1 writes up to 50Mb/s.
All of this makes for a very confusing array of options when you are trying to buy the right one for your camera!

For my Canon EOS 60D, the specification on Canon's web site states (under STORAGE):

  • Type: SD card, SDHC card or SDXC card

which is not tremendously helpful since it does not even state which physical size card is needed, let alone the speed to go for! I suppose we can assume (rightly as it turns out) that a standard sized card (32x24mm) is expected unless it says otherwise. If you search the support site, you can find "FAQ: What are the Compatible Memory Cards? (EOS 60D" (dated 4 Oct 2010), which says the following:
  • The camera does not come with a memory card for recording images. Please purchase it separately.
  • When shooting movies, use a large-capacity SD card rated SD Speed Class 6 "" or higher.
OK, I think I had already grasped the first point, but now we know it probably should be at least class 6. Searching through other reviews and comments, I gleaned that the current line up of DSLRs (at least from Canon) will support UHS-1 cards, but don't take advantage of the extra write speed they offer. So there is no point buying anything above a class 10 card (and generally, the faster the card the more expensive). The reason for going for a fast card is that you don't want to create a bottle neck if you are using the continuous shooting mode or recording HD video. You want the card to take whatever the camera's processors can throw at it! Class 10, it seems, fulfills this goal for the current generation of cameras.

The capacity you need comes down to the image size and quality you select (RAW and/or JPEG) and how many shots you think you may need to store before you get back to base and can download the images. I bought Sandisk extreme 16Gb cards which are rated class 10. I normally shoot RAW files and get around 540 photos on one of these card. I have very rarely filled up a card in a single day! These cards have met my needs admirably so far.


Now I come to write about it, these numbers don't really add up! With an empty, formatted card, the camera shows a capacity of 539 shots. If I put the card in the card reader in my computer, go to Explorer, right-click on the card's drive letter and check its properties, it shows 15,911,354,386 bytes of frees space.

Here is the first, and well known rip off! In a computer's memory and filing system, a Kb is 1024 bytes. A Mb is 1024 Kb (1,048,576 bytes) and a Gb is 1024 Mb (1,073,741,824 bytes). But people who sell us storage, hard disks, storage cards, etc., use 1Mb = 1,000,000 bytes and 1Gb = 1,000,000,000 bytes. So a 16Gb card is offers 16,000,000,000 bytes of storage (not 16 x 1024 x 1024 x 1024 as you might hope!).

But I seem to be missing 16,000,000,000 - 15,911,354,386 bytes on the empty card - very close to 84Mb. This is presumably taken up the directory structures that formatting the card created. I am not too surprised by this, though it is perhaps a bit more than I would have anticipated.

I can easily see how big I expect a RAW file to be. I have a photo archive with several thousand of these stashed away in it (files with a .CR2 extension). If I shift-right click on my PhotoArchive directory and choose "Open command window here" (I am using Windows 8), I get a command prompt where I can enter the command:

dir *.cr2 /s

This will show me the RAW files it finds in that directory and all its subdirectories (the /S switch) and, at the end, a summary including the number of files and their total size in bytes. Dividing one by the other, I get the average size of a .CR2 file across this very large sample - which comes out at 24,209,182 bytes = 23Mb.

If I divide the free space on the SD card by the average size of a .CR2 file, I get an answer of 657. This is the approx number of files I would expect to be able to store. So why does the camera report only 539? That is rather a big difference. And I know from experience, when that displayed total decrements to zero it will say "Card full". Next time that happens, I must remember to check whether the computer still sees lots of free space.