
This article deals mainly with compact flash (CF) memory, but most of the basic comments about speed and performance issues apply equally to Secure Digital (SD) format memory cards
[Skip to card recommendations]
A common question from new digital camera owners is "which memory card should I buy". The answer depends on a number of factors including how much you can afford to spend and which camera you own.
For the purposes of this article I'm going to concentrate on Canon EOS digital SLRs, though many of the comments will also apply to other cameras. While compact flash has been the traditional memory format for DSLRs, secure digital is also found in some cameras, and a few cameras can take both types of card - and even record the same images to each for added image security.
The first question to answer is probably "What is a Compact Flash memory card"?. In a nutshell it's a solid state memory device which retains data even without power being applied to it. "Compact Flash" or CF defines the physical format (and electrical interface) of the card. Within the card are one or more solid state memory chips, plus a memory controller. CF cards actually come in two different sizes:
|
The type I interface can supply up to 70mA to the card, the type II interface can supply up to 500mA, so you can see that a type II interface is required if the card draws a lot of power.
So what's a microdrive? Well, it's a very small disk drive rather than solid state memory. It has a rapidly spinning hard disk just like the disk drive in your PC. The only difference is in size. In the early days of CF cards, microdrives had higher capacity than solid state cards, plus the cost per MB of storage was lower. Today things are pretty equal, and I really can't see any good reason to buy a microdrive. The disadvantages of microdrives are that they are a little larger and draw more power then solid state CF memory and they are probably a little more fragile (though they are pretty tough!). People have put solid state CF cards through a washing machine with no damage. I don't think a microdrive would survive that. Microdrives are also not recommended for use at high altitude (over 12,000ft) due to problems with air bearings at lower atmospheric pressure.
Microdrives draw more power than solid state CF cards. Here's a table with some typical values:
| Device | Standby/Sleep | Idle | Read | Write | Peak |
| IBM 340MB Microdrive | 65mA | 200mA | 300mA | 300mA | 320mA |
| IBM 1G Microdrive | 20mA | 150mA | 200mA | 250mA | 400mA |
| SanDisk Flash Memory Card | 200uA | 200uA | 32-45mA | 32-60mA | 150mA |
The most important performance characteristic of a CF card is the speed at which it can read and write data. Usually the write speed is the more important since it determines (or can influence) the maximum speed at which a digital camera can shoot under some conditions.
Speed is often given as a multiplier, such as 4x, 24x, 40x, 80x and 133x. Usually there no indication of what 1x is, but it's usually defined as a write speed of 150 kB/s, that's 150 kilobyes of data per second. I don't think I've ever seen a 1x card and even 4x cards are rare these days. 12x is about the slowest you see and 300x is the fastest. An 300x card should be able to write at a speed of 45 MB/s, an 80x at 12 MB/s, a 40x at 6 MB/s and a 20x at 3 MB/s. Read speeds are usually similar. Note that these are the maximum speeds at which the card can operate under ideal conditions with the fastest possible optimized interface. If a camera can only output data at 1MB/s, having a card that could accept data at 20 MB/s won't speed things up much compared to a card that could accept data at 3 MB/s.
Note that there are two different types of memory cells used in CF memory. The first and fastest is called a Single Level Cell (SLC) which stores 1 bit in each cell. There's also a slower (but cheaper) architecture called Multi Level Cell which stores two bits in each cell. Both technologies are getting faster, but the fastest cards are always based on SLC technology. SLC technology also uses a little less power then MLC, so that's another advantage. The main advantage of MLC is in cost per megabyte.
The real question is not how fast a manufacturer says a card is, but will an 80x card actually give you 4x faster performance than a 20x card when you use it in a camera? The answer is often "no". The speed at which data is written to the card depends on three factors. First there's the maximum write speed of the card. Second there's the maximum write speed of the camera. Third there's the efficiency of the interaction between the camera's software and the card's onboard controller. All three of these can influence the speed at which data actually gets written.
As an example let's look at 4 cameras and how they typically perform with fast and slow cards.
| Fast card (~60x) | Slow card (~12x) | |
| Canon Digital Rebel | 1.4 MB/s | 1 MB/s |
| Canon EOS 10D | 1.4 MB/s | 1 MB/s |
| Canon EOS 20D | 5 MB/s | 1 MB/s |
| Canon EOS 1Ds mark II | 7 MB/s | 1 MB/s |
As you can see, it really doesn't matter much what speed CF card you use with the Digital Rebel or EOS 10D. The camera really can't write faster than about 1.4MB/s no matter what the CF card speed is. Faster cards do give slightly better performance, but the difference is small. On the other hand, the EOS 20D and EOS 1Ds mark II can write much faster and can take more advantage of high speed cards. With these cameras the use of faster CF cards makes much more difference.
Though I've not yet seen any speed tests, the new Canon Digital Rebel XT should also be able to take advantage of higher speed cards since it used the same Digic II processing chip used in the EOS 20D. Canon say in their press release that the compact flash write speed of the Digital Rebel XT is faster than that of the original Digital Rebel.
Note though that cameras like the EOS 20D have a pretty large buffer. The 20D can shoot around 23 JPEG images and store them in the cameras internal memory buffer. The speed of the CF card doesn't affect this. The CF card speed only affects the speed at which the buffer can be cleared. So if you don't fill the buffer, you won't notice much difference in how the camera operates if you have a fast or slow CF card. However if you want to shoot more than 23 jpegs in a row at maximum speed (or more than about 6 RAW images), then CF speed will make a difference to how fast the camera shoots. The buffer in the new Canon Digital Rebel XT is good for 14 JPEG images.
CF speed also affects the time taken to transfer the data from the card to a computer, or the time taken to review images "in camera", so it does more than just determine how fast you can shoot. Typically read speeds are a little faster than write speeds.
Lexar have a series of CF cards with "write acceleration" technology. What this is is that the built in memory controller is designed to work more efficiently with special firmware present in some digital cameras. Lexar claim speed gains of "up to 23%" in these cameras. Cameras which don't support WA technology still can use the "normal" speed of the cards (25x, 40x, 80x, 133x or 300x) but don't get the added performance that WA cameras may see. No Canon cameras support WA, but the following cameras do (this is not a comprehensive list)
Secure Digital (SD) cards are quite a bit smaller and lighter than CF cards. They have a 9 pin interface rather than a 50 pin interface and this limits them to a 4-bit data transfer bus rather than the 16-bit data transfer bus of CF cards. In principle this makes their maximum possible transfer speed slower, but in practice there is little difference when used with current digital cameras. In the past SD cards were more expensive than CF cards and were not available in as high a capacity versions, but this is really no longer true. The very small size of SD cards means that they are not available in a microdrive version, they are all solid state memory.
The fastest SD(HC) cards are currently 133x (20MB/s). Though this is still not as fast as the speed of the very fastest CF cards (45 MB.s, 300x), it's still pretty fast.
The SD format itself is limited to 2GB. In principle they could be made up to 4GB but that would require the use of FAT32 formatting which isn't part of the standard SD specification (SD uses FAT12 or FAT16 formatting). However a new SDHC (SD High Capacity) standard has been introduced which uses the same physical form factor but which uses a different memory addressing method (sector addressing vs byte addressing) and enables cards to be produced with capacities from from 4GB to 32GB. Cameras must be SDHC compatible to use SDHC cards, though most SDHC compatible cameras should be able to use regular lower capacity SD cards. However SDHC is not backwards compatible with SD and that means a 4GB SDHC card will not work in a camera designed only for use with SD cards.
Most new digital cameras will be SDHC compatible, but not all current cameras are. For example the Canon Powershot G7, A710 IS, A630 and A640 are SDHC compatible, and Canon have just released firmware updates for the 1Ds Mk II, 1D MkII N and 1D Mk II to make them SDHC compatible. Sandisk have a compatibility checker on their website
CF cards also have an onboard microcontroller for the memory which takes some load off the host, but this is currently more of theoretical interest than practical significance. The "Secure" in Secure Digital comes from the card's origin which was concerned with digital rights managements schemes to prevent copying of music! SD cards contain encryption hardware, but it's not used in 99% of all applications and it looks just like flash memory to a digital camera. MultiMediaCards (MMC) are essentially the same as SD cards, but without the encryption hardware and with a few other technical differences.
Update: Sandisk released their extreme IV series in July of 2006. These cards have a data transfer rate of up to 40 MB/s, which is twice that of the extreme III cards (see below). There are available in 2GB ($89.99), 4GB ($149.95) and 8GB ($299) versions. They share the same rugged construction and wide temperature range as the Extreme III series. For more information see the article on Sandisk Extreme IV cards.
In February 2007 Lexar introduced Professional UDMA (Ultra Direct Memory Access) memory cards. Speed-rated at 300x, capable of a minimum sustained write speed of 45MB per second, and available in capacities of 2GB, 4GB, and 8GB, new Lexar Professional UDMA cards deliver a 125% performance improvement over Lexar's previous generation 133x CompactFlash® product line when the card is used with a UDMA-enabled device.
The second fastest current CF cards seem to be the Sandisk Extreme III series, although the Sandisk Extreme, Sandisk Ultra II and Lexar 80x series cards are close, at least on most DSLRs and certainly on the EOS 20D/30D/40D and Digital Rebel XT/XTi/XS/XSi. The speed difference from the fastest to the slowest in this group is probably about 5%, nor really enough to make much of a difference. The 1GB Sandisk Extreme III card which sells for around $43 from Amazon. It also comes with a lifetime warranty and free data recovery software. Even slow 1GB cards don't sell for much under $20, so it's not all that much more for the fastest, most durable card.
The Extreme III series cards have a native write speed of 20 MB/sec, though camera limitations usually drop this to around 5-6 MB/sec. They are also tested at temperatures from -13°F to +185°F (-25°C to 85°C) , which should cover most shooting conditions(!) and Sandisk say that they are better protected against shock. The standard Extreme series are tested over the same temperature range, but have a write speed of 9 MB/s. Though this sounds (and is) slower, in actual use there is very little difference in speed in most cameras. Both the Digital Rebel XT/XTi and EOS 20D/30D top out at about 5-6 MB/sec and even the EOS 1Ds Mk II can't write much faster than about 7-8 MB/s.
The Sandisk Ultra II cards are the same speed as the Extreme cards (9MB/sec write speed), but aren't specified for use over such a wide temperature range. The Sandisk Ultra II 1GB sells for around $25 from Amazon.
RiData also have some very fast cards. They are labeled as 150x (22MB/s), but that's their read speed. The specs indicate that they can write at 15 MB/s (100x), still very fast but not quite as fast as the Sandisk Extreme III series cards. They have an operating temperature range of 0°C to 70°C, slightly less than the -25°C to 85°C range of the ruggedized Extreme III cards.
The fastest cards can really come into their own when transfering data to a PC via an optimized card reader. For example the Sandisk Extreme IV cards when coupled to a fast PC via the Sandisk Firewire 800 card reader can hit transfer speeds close to 40 MB/sec, but with a generic USB 2.0 card reader that transfer rate drops to around 6-7 MB/sec, no faster than a much cheaper 60x card. The lesson here is that if you want the ultimate performance out of your ultimate speed memory card, you have to be careful which card reader you use.
If the speed of transfer from card to PC isn't important to you, buying the very fastest cards won't be cost effective since they will be no faster in the camera. Just go have lunch while your card transfers data! For comparision, with everything fully optimized you could download the fastest 2GB card to a fast PC via the fastest Firewire 800 card reader in under a minute. A slower card and slower USB 2.0 reader might take 6 minutes. I have an old card reader that would take close to 30 minutes! However if I'm at lunch while the downloading is done, I don't really care how long it takes.
This is a more difficult question since prices can vary all over the place on older, slower cards. It used to be possible to make significant savings by using such cards, but today the faster cards aren't really all that much more expensive in many cases, so going for the "rock bottom" price isn't always the best course of action. The lowest prices are often the result of mail-in rebates or other discount offers which come and go. You just have to keep your eyes open for such offers.
A few years ago you might pay two or three times as much for a fast card, and large capacity fast cards cost hundreds of dollars (as much as a thousand dollars for some high capacity cards). Back them it didn't make much sense to spend extra on a card that wasn't going to do much for you, so slower cards often made sense. Today fast cards don't cost that much more than slow cards and you can get a fairly fast 1GB card for under $30, so the decision is a bit easier to make. A few years ago you'd might have paid several hundred dollars for a 1GB card, and it would have been slower!
For most cameras probably the best value are the 1GB and 2GB cards with speed ratings around 50x. The slower cards aren't much cheaper and the faster cards don't give all that much extra speed. While your current camera may not benefit from a fast card (if you have a 300D or 10D for example), it's very likely that your next one will!
The highest capacity cards available at reasonable prices are probably the Seagate 8GB Microdrive CF card (type II) which currently sells for around $148, and the Transcend 120x 8GB CF card which sells for around $91, which seems like quite a bargain. There's a compatibility matrix for the 8GB Seagate microdrive on the Seagate Website which lists the cameras with which the 8GB drive has been tested. Personally, I'd be inclined to go with the solid state flash memory rather than the microdrive.
IMPORTANT NOTE:In order to use drives with a capacity greater than 2GB (either solid state or microdrive), the camera must support the use of the FAT32 file system. Most current higher end digital cameras (including the EOS 10D, EOS 20D and Digital Rebel XT as well as the Powershot G6, S50, S60 and S70) do support FAT32. Older cameras (including the EOS D30 and D60) may be limited to the use of 2GB microdrives and memory cards. If you are in any doubt about whether your camera supports FAT32 and can use 4GB and 6BG microdrives, Hitachi have a compatibility matrix chart on their website where you can check. The current 4GB drive is designated "3K6-4". "3K4-4" is an earlier vesion of the 4GB drive. The 6GB drive is the "3K6-6". Drives with the "-2" suffix are 2GB.
Cards are being made in larger and larger capacities. 4GB CF cards are now available for around $70 and 8GB cards for under $150 and if you really want the biggest card around you can get a Sandisk Extreme III 16GB card, though the suggested retail price is $1049.99. You can get one from Amazon for only $560, though you can certainly find buy four 4GB cards or even two 8MB cards for less.
Obviously high capacity cards and microdrives have advantages in that you don't need to keep swapping cards when shooting. However there is one disadvantage and that's having "all your eggs in one basket". If the card should fail (which is quite rare, but which can happen), you've lost 4GB worth of images. If you were shooting with 4 x 1GB cards you'd only lose 1GB worth of images if one card failed. This is a factor some photographers take into account when deciding what size memory to use. Of course if failure was equally likely, given long enough both systems would lose the same amount of data, but it would be in smaller chunks with the 1GB cards and it wouldn't all happen on the same shoot! However there's no denying that it's more convenient to have one card than to have to swap between cards.
Most of the major CF cards are reliable and most have a good warranty. For example I ad a Simple Technology card which failed. I did not have the original sales receipt but I emailed them with the serial numbers on the card and asked if there was any chance of the card being under warranty. They said yes, I mailed the card to them and they sent me a new one by return mail. Pretty good service. I also hear good reports about Viking, Kingston, Lexar and SanDisk.
While Ebay is an excellent source for many items, be very careful when buying memory cards though them. There are apparently lots and lots of fake memory cards being sold there. The cards may not be made by the manufacturer advertised, they may not have the advertised capacity and they may not have the advertised speed. There are companies in China (and maybe elsewhere) who will put any label on a card you want if you buy from them in bulk. Some resellers do just that, buying off-brand, low capacity, low speed cards and putting name-brand, high capacity, high speed labels on them. You may be OK buying from major US retailers, but if you buy a cheap card from a dealer in the far east, you're gambling on getting what you expect, and the odds aren't particularly in your favor. Be warned.
The cards listed below represent good value. Amazon, a very reliable and reputable US retailer, offers free shipping on some. Rebates on CF cards are fairly common, especially on lower capacity and slower cards, so be sure to check the full text of the linked pages to see if a rebate is currently being offered. Prices tend to change fairly often, and usually they go down!
Note: The prices listed here can change faster then the price of oil, but on memory cards it tends to move down, not up!. Mouseover the links for the current price
1GB Compact Flash and SD Cards
• SanDisk
SDCFH-1024-901 1 GB Ultra II CompactFlash Card - $24.99
• Kingston
1 GB CompactFlash Card - $21.99
• Sandisk
SDSDH-1024-901 1 GB Ultra II Secure Digital Memory Card - $20.99
• SanDisk
SDSDB-1024-A10 1 GB Secure Digital Card - $22.89
2GB Compact Flash and SD Cards
• Kingston
2GB ElitePro CompactFlash Card ( CF/2GB-S ) - $37.99
• Sandisk
2GB Compactflash Card Type I (SDCFB-2048-A10) - $34.99
• Kingston 2GB SD Memory Card - $13.33
• Kingston 2 GB Elite Pro SD Memory Card - $26.79
4GB Compact Flash Cards
• Transcend 4GB Ultra-Speed 120x CF Card - $48.40
• Kingston 4 GB ElitePro CF Card - $65.50
• SanDisk 4GB CF Card - $94.90