Notes on CFexpress

I’m gearing up for the arrival of the Canon EOS-1D X Mark III, and the first thing to consider was memory cards. My goal was to find the fastest card with the smallest size. At the moment 64GB is my preferred cards size with CF/CFast/SD, but since 64GB CFexpress cards are much slower than 128GB, I went ahead and bought a 128GB SanDisk Extreme Pro. Since a camera is a good month away, I did some preliminary testing with computer transfers.

USB 3.1 Gen 2 is Not Fast Enough

When it comes to USB, manufacturers always advertise physical link speeds, which is rather misleading to the customer. For example USB 3.0 and 3.1 Gen 1 is advertised being 5Gb/s, but the usable data link speed is just 4Gb/s (or 500MB/s) since it uses a 8-bit to 10-bit encoding to have a desired balance of 0 and 1 bits on the wire. USB 3.1 Gen 2 is a bit better with 128 to 132 encoding, so the data link speed is 1.21GB/s (and NOT 1.25).

Every single CFexpress card is advertised to have at least “up to” 1.5GB/s read speed. So if you want to utilize the highest possible download speed of a CFexpress card, you need something faster than USB 3.1 Gen 2. The sole option at the time of writing is Thunderbolt 3.

To continue the never-ending stream of marketing lies, Thunderbolt 3 is usually advertised as a 40Gb/s line. Thunderbolt carries up to 4 PCI Express 3.0 lanes, plus video. So the maximum data link speed is 3.94GB/s (and NOT 5GB/s), period. This may be even lower if you connect your reader to a Thunderbolt 3 port whose controller is shared with your monitor(s), or depending on the actual controller chip to port mapping. But if you don’t connect a high resolution monitor to the same controller as the reader, you are guaranteed to have 2 PCI Express lanes, which is 1.97GB/s. CFexpress also uses 2 PCIe 3.0 lanes, so this is a perfect match. Bingo, go for a Thunderbolt 3 reader!

While quite a few companies are selling their (as we learned by now) inadequately slow USB readers, there’s only one Thunderbolt 3 device. The big and heavy AFT Blackjet TX-1CXQ. It is much larger and heavier than my ProGrade Digital CF & SD reader, not to mention the minuscule Wise WA-CR05 CFast reader I use (both of these are USB 3.1 Gen 2 readers, which is mandatory to utilize a full bandwidth of a CFast card). So I bought the Blackjet.

“Up To”…

On paper the 128GB SanDisk sports up to 1.7GB/s read and 1.2GB/s write speeds. Of course you have to deduct bandwidth consumed by file system and block device access protocol overhead, so you’ll get smaller numbers in real world scenarios.

I did measure average read speed around 1.45-1.47GB/s, which is acceptable compared to the advertised 1.7GB/s. Oh yes, you’ll need a rather fast PCIe SSD in your computer to be able to download these cards at full speed. Plus macOS 10.13 or later is required to work with CFexpress cards.

Write speed is a completely different story, however. Blackmagic Disk Speed Test measured speeds fluctuating between 800 and 1100MB/s, and it suddenly dropped to 430MB/s.

Head scratching, and consulting with both AFT and SanDisk (AFT’s support is first class, but I’m still waiting for SanDisk to reply)… Switching benchmark software to AJA System Test Lite… And presto, the truth started to reveal itself.

The following is a write graph generated by AJA System Test. Just ignore “frame numbers”, as since it was a 4GB write test, vertical blue lines indicate gigabyte boundaries.

So the card is quite speedy with 1.1-1.2GB/s average for the first gigabyte, then drops to 430MB/s. This might be thermal throttling, but since it always happens after the first gigabyte, it might well be due to the internal architecture of the card. I don’t know, and still waiting for SanDisk to comment. This is the first time I saw such a thing with a memory card.

If you let the card sit idle and cool down a bit, you’ll again get 1.1-1.2GB/s for the first gigabyte. But if you keep pushing data, it will stay at 430MB/s. For short bursts, say 256MB or so, with a little time between them, write speed stays around 1.1-1.2GB/s.

But how much write speed do you actually need? The CFast cards I’m using in the 1D X Mark II have 400-410MB/s average write speed, and I can shoot RAW continuously until the card is full. CFast and CFexpress card prices are almost identical (although the 128GB CFexpress SanDisk is significantly cheaper than the CFast). So for less money, I get 3x faster download speed, with a little bit faster worst case and almost 3x faster best case write speed.

I’m going to use the 1D X Mark III almost exclusively for stills. 1GB is about 40 images = 2 seconds at 20fps before throttling kicks in (not counting the camera’s buffer). It may fare very well, but video guys might need to look elsewhere. Larger cards, more suited for RAW video footage, might also behave differently.

What About Other Brands?

Finding a trusted memory card vendor isn’t an easy task. During the last 18 years I grown to trust SanDisk (used lots of CF cards from them and still are my favorite SD card vendor), and Lexar for CF and CFast before they went Chinese with unknown quality. I don’t buy anything from Sony given how they ignore customer security (think firmware updates requiring root permissions). I have zero experience with Delkin, ProGrade or Wise cards, and a little bit reluctant to begin experimenting with expensive cards.

So it’s basically SanDisk only at the moment. Canon is also pushing SanDisk, so I suspect that these products were tested together and will provide the promised performance. The above results did cast a little shadow on this, but only time and further in-camera testing will tell. I’ll let you know.

  ☕ ☕ ☕

Did this post help you? Consider buying me a coffee if so.

Lexar 1000x and SanDisk Extreme Pro

Just got a bunch of new cards from B&H for my 5D Mark III (and in preparation for the upcoming 6D). The set consists of two 32GB Lexar Professional 1000x CompactFlash cards and two 32GB SanDisk Extreme Pro SDHC cards. The Lexars will replace the 16GB SanDisk Extreme Pro and a bunch of 8GB Extreme IVs I used in the 5D3 since I bought the camera (actually the Extreme Pro will remain in use, as “emergency” storage).

Here are my initial observations.

Man, these Lexars are blazing fast! I can shoot god-knows-how-much frames before the camera starts to slow down. Then the buffer is emptied to the card in just a few seconds after I release the shutter. They are noticeably faster than the SanDisk Extreme Pro was. This is the speed I always wanted to have!

Forget about using SD cards in the 5D Mark III, however. They are that slow. I have a 32GB SanDisk in the SD slot for situations when I don’t have time to fiddle with swapping the CF (think action). I hope the the 6D will drive these cards faster.

Btw, you can find some numbers on the performance of these cards in Rob Galbraith’s now abandoned CF/SD performance database. According to his measurements the Lexar is 36% faster than the SanDisk Extreme Pro I used. My observations are completely in line with these numbers.

So if you have a 5D3, then these Lexars are the way to go, period. And B&H has an attractive price tag on the 2-Pack.