SD vs CF

I'm not sure I follow. If your camera supports UHS-I at 50MB/s, and you have a UHS-I card that's good for 36MB/s, and you're only getting 22MB/s between the two, how can you tell that the bottleneck is the camera and not the card, or vice versa?

Well, I assume that the camera writes out the images as sequential writes, i.e., the SD card should be able to achieve its peak write performance (of 36 MB/s, in this case). This may be affected by write block size, but I am sure that the camera would be writing in large blocks.

We also know that the interface is 50 MB/s, although I have no figures on what the "real world" bandwidth of that interface would be. Again, I am assuming that the card can do at least 36 MB/s on that interface.

This causes me to suspect that the camera is the bottleneck, i.e., it cannot move the data to the card quickly enough. There are many possible reasons, including:
1. Insufficient memory bandwidth / bus bandwidth. The camera is receiving data from the sensor at a rate of about 31 MB per image. This has to be processed (lightly), formatted and packed into the RAW format (which includes Huffman coding in .NEF files, I suspect). Then it has to build a JPEG too, but this is probably handled by a custom encoder, but it still requires some memory bandwidth.
2. Sub-optimal handling of data flow, i.e., no dedicated DMA-like controller for moving data from the main buffer to the SD card interface. If the SD card interface is handled in software, then this has to be balanced with other processing duties (such as in point 1 above). Peak SD card throughput will be limited by processing power and interupt frequency.

All of this has to be balanced against power consumption. I do not really know enough about the camera's internal architecture to speculate further, but I am reasonably convinced that the camera is not able to utilize the SD card interface at full speed (which may be 50 MB/s on UHS-I).

Lastly, the UHS-I cards only started appearing around the time that the D7000 launched. It is entirely possible that they decided to support the UHS-I interface electrically, but that the D7000 architecture was never designed to handle more than say 25 MB/s on the SD card interface.

That is why the D800 would make such an interesting subject for these experiments. If it can sustain faster speeds on CF than on SD, then we would be able to tell (partially) whether the SD interface is holding us back.

Edit: I see Rob did all the hard work already. (http://www.robgalbraith.com/bins/camera_wb_multi_page.asp?cid=6007-12451). On the D800, the CF cards are much faster than the SD cards. Incidentally, Rob's results show that my card (the 45 MB/s Sandisk) gets 30 MB/s on the D800, but only 24 MB/s on the D7000, which supports my argument, I think.
 
Last edited:
Yeah, I was suspecting the same thing. RG's figures for the 7D suggests the camera can get up to 26/27MB/s with the fastest card.

The situation is similar on the 5D3 - CF wipes the floor with SD. I guess they didn't put the latest and greatest SD controller in there either. The annoying thing, from what I read, is that simply putting an SD card in the 5D3 along with a CF, even when the camera isn't configured to use the SD card, slows down the CF slot to SD speeds.
 
So I did a few tests with the CF cards I have and the 7D. I did the same as fvdbergh did, except I did RAW only rather than RAW+JPEG. I figure any computing I introduce will only slow things down, and the object is to test how fast we can get data onto the card. YMMV. Camera is in M, with 1/250 and f/2, MF.

4GB Sandisk Extreme III 30MB/s edition: 507MB in 18.4 seconds = 27.55MB/s
8GB Sandisk Extreme III 30MB/s edition: 426MB in 16.6 seconds = 25.66MB/s
4GB Sandisk Extreme IV 45MB/s edition: 436MB in 12.2 seconds = 35.74MB/s
32GB Sandisk Extreme UDMA 60MB/s edition : 481MB in 11.1 seconds = 43.34MB/s

My figures are slightly short of Rob G's figures, but seem to be more or less consistent in the differences. My figures for the Sandisk UDMA 60MB/s card is just short of the best he got out of any Sandisk card on the 7D.

I wonder if the firmware update will affect the write speeds?

For what it's worth, my Sandisk 12-in-1 USB reader:
Read: 481MB in 29.9 seconds = 16.09MB/s
Write: 481MB in 35.6 seconds = 13.51MB/s
 
Top
Sign up to the MyBroadband newsletter
X