4

I've recently upgraded to a camera that has dual cards and plan to make use of it by mirroring to both cards.

As the camera theoretically has to make the double amount of writes, is there a performance impact? (especially whilst shooting RAW continuous and filling the buffer). At the same time if one card is faster than the other does it wait until the image has been written to both cards before releasing the space in the buffer?

(Camera is 5D4, although I do wonder if there's a difference between the manufacturers)

  • Performance is almost always improved when using multiple card slots (I can think of a few scenarios where it wouldn't be). Why would a camera maker charge you more money for a worse device? When the slots are used for redundancy, the total amount of data written is doubled. It's not fair to say a device that is doing twice as much work has "worse" performance because it took the same amount of time as a device that is doing half as much. – xiota Jul 5 '18 at 0:41
  • @xiota Fair or not, I think that the question in case of redundancy still stands: Theoretically, a properly implemented RAID 1 should have no difference in performance to no RAID - however, due to practical design limitations, there will always be a difference. The question is: Is it enough to be conceivable? Is it enough to be measured? – flolilo Jul 5 '18 at 2:09
10
My simplified diagram of camera I/O:                                    |―――――――\
                                                                        ]        \
                                                                 /----> | CARD 1 |
|――――――――――|       |―――――――――――――――|       |――――――――――――――|      |      |        |
|          |       |               |       |              |      |      |________|
|  SENSOR  | <---> |  DATA BUFFER  | ----> |   CARD BUS   | ---->|
|  + DSP   |       |     (RAM)     |       |  CONTROLLER  |      |      |――――――――|
|__________|       |_______________|       |______________|      |      |        |
                                                                 \----> | CARD A |
                                                                        |        |
                                                                        |________|

Usually, the output buffer is the same for both slots, even if they support different media (e.g. Compact Flash vs. Secure Digital). That means that for 2 media that are of the exact same speed (and if both slots support that), there is almost1 no performance difference between using 2 vs. only 1 card.

1 There might be some difference if the card bus speed is too low - that might come down to parallelisation issues and/or the controller's speed.

However, because of that I/O-design, the camera has to wait for the slowest medium to finish so it can clear the buffer - meaning that if your card A has a lower max. speed than your card 1 (or vice versa), the speed will fall back to that of the slowest medium, which means that performance will suffer.

For this, it is also necessary to remember that the maximum achievable speed is not necessarily the max. speed printed on the card:

  • Some manufacturers claim speeds that are not achievable outside a laboratory setting,
  • If the camera has a lower write speed than the card, then that will be the decisive number. Putting a 200 MB/s SD-card inside a 60 MB/s reader will lead to 60 MB/s speed at best.
  • Also note that when using UHS-II cards in UHS-I slots, it might actually make a higher-tier card slower than the lower-tier one. Also, compatibility might be an issue (in hopefully rare cases).

Practical, non-scientific examples from my EOS 5D Mark III:

How many consecutive, high-burst shots until the buffer is filled:

Unfortunately, I do not have any other (slower) CF-card, so I cannot test it the other way round.

Note that the EOS 5D Mark III does not support UHS-protocols in SD-cards.


Limitations and thoughts:

All stated above only holds true for using the same quality settings for both cards. If you use a mixed setting, then performance could, in theory, be degraded since more DSP work is needed. Though as long as you write the larger file to the faster card, you should not notice this "DSP-lag".

Also, since camera manufacturers usually do not offer schematics of the process, all of my statements above should be seen as very simplified working theory. Not all manufacturers might do this in the same way.

  • Your response (to parts of my answer) seem to be based more on an emotional "what I wishfully think it should be" response than a factual "what actually is the case." There's usually only one 'pipeline' from the camera's internal RAM to the memory card bus. It will run at the speed required by the slower card slot/card being used at the time. Your own benchmarks above bear this out. – Michael C Jul 4 '18 at 14:18
  • "Though as long as you write the larger file to the faster card, you should not notice that." This is simply not true, as has been documented by many online sources. Particularly with Canon cameras with dual slots, such as the OP's EOS 5D Mark III, the CF card slot will be throttled down to the slower SD card slot's speed when both cards are used simultaneously. – Michael C Jul 4 '18 at 14:27
  • @MichaelClark No, you will not notice the DSP processing time on the 5D III - and no, my first-hand, unscientific experience does not prove this (if anything, it refutes it). I also never saw that mentioned anywhere. The statement was about the DSP, not a contradiction to all I wrote above. – flolilo Jul 4 '18 at 14:31
  • So you are saying your 5D3 writes raw files to a CF card just as fast when also writing anything (raw or JPEG) to an SD card as when only writing raw files to the CF card and not writing anything to an SD card? Because if you do, it is the only 5D3 on the planet that can do that. – Michael C Jul 4 '18 at 19:43
  • Huh? I said: Usually, the DSP is not the limiting factor. It might be if it isn't the card - which in the 5DIII, it usually is, as the SD-slot does not support UHS-I and therefore is limited to speeds that only very old/cheap CF-cards are limited to. However, I have not seen any performance degradation between only using my fast SD-card for RAW vs. using my SD-card for RAW and my CF for JPEG - there may be one, but it certainly isn't noticeable (again: this was tested "on-hands", not in a very reproducible way. Maybe my settings are to blame for that experience, maybe not.) – flolilo Jul 4 '18 at 19:49
4

As the camera theoretically has to make the double amount of writes, is there a performance impact? (especially whilst shooting RAW continuous and filling the buffer).

There almost always is a performance penalty. How significant it is can vary widely from one camera model to the next. The only exception would be if both slots support the same type of card, there are more-or-less identical cards (same brand, model, batch, and current amount of consecutive free space) in both slots, and the same exact files are being written to both cards simultaneously.

If one slot is slower than the other, or the card in one slot is slower than the other, the bus speed of the entire card bus will often be slowed to the (lack of) speed needed to write to the slower slot/card.

At the same time if one card is faster than the other does it wait until the image has been written to both cards before releasing the space in the buffer?

Yes, the space in the buffer will not be released until both files have been written.

So even if you're using a super-fast CF card in one slot to write raw files and a more pedestrian speed SD card in the other slot to write much smaller JPEGs, many cameras will slow the write speed of the raw files to the CF card to the same data rate as the write speed of the JPEGs to the slower SD card.

Camera is 5D4, although I do wonder if there's a difference between the manufacturers?

Not only can there be differences between manufacturers, there are often differences between specific models within the same manufacturer's offerings.

The Canon EOS 5D Mark IV has a CF card slot fully compliant with the UDMA-7 standard. It has an SD card slot fully compliant with the UHS-I standard. According to CameraMemorySpeed.com, the 5D Mark IV peaks out at about:

  • 112 MB/s with the fastest CF cards
  • 79 MB/s with the fastest UHS-I cards

Another way of looking at it, which CameraMemorySPeed.com also tested, is that the 5D Mark IV can write the following number of (RAW+JPEG/RAW/JPEG) images to the fastest memory cards of each type, used alone, in 30 seconds:

  • UDMA-7 CF card: 67 - 99 - 194
  • UHS-I SD card: 53 - 74 - 188

This difference is much less dramatic than the 5D Mark III, which is UDMA-7 compliant but not UHS-I compliant, but there is still a significant difference.¹

Then there's the whole issue of using UHS-II cards in UHS-I slots. UHS-I has two supported bus speeds: 50 MB/sec and 104 MB/sec. Some UHS-II cards will revert to 104 MB/sec when used in UHS-I slots (example" Toshiba Exceria Pro UHS-II ), other UHS-II cards revert down to 50 MB/sec when used in a UHS-I slot (example: SanDisk Extreme Pro UHS-II), even if that slot supports the faster 104 MB/sec clock rate.

Canon has been roundly criticized for the SD card slot not supporting UHS-I in many of their upper tier cameras that also included much faster CF card busses, even though UHS-I has been out for a while. If an SD card is used in a dual slot configuration, it also slows down the CF slot. Several of their other cameras with only a single SD slot and no CF slot, some of them older than the dual CF/SD card models that don't support UHS-I, do support UHS-I. Canon currently offers no ILC models that support UHS-II speeds. As of July 2018, a handful of cameras from other manufacturers do support USH-II speeds, but only five of the ten with dual card slots support UHS-II speeds in both slots.

Gavin Farrington did a detailed look at how the same two cards fared in the Canon EOS 5D Mark III with various save options selected.

enter image description here

¹ Rob Galbraith's 'CF/SD/XQD Database' lists the top speed of the 5D Mark III using the fastest tested cards at about 80 MB/s with CF cards and about 20 MB/s with SD cards. The 5D Mark IV's "slow" SD slot, at 79 MB/s is functionally as fast as the 5D Mark III's "fast" CF slot. It's just not as fast as the 5D Mark IV's faster 112 MB/s CF slot with the right cards.

-1

Performance is almost always improved when using multiple card slots. (There are a few scenarios where it wouldn't be.) When the slots are used for redundancy, the total amount of data written is doubled. It's not fair to say a device that is doing twice as much work has "worse" performance because it took the same amount of time as a device that is doing half as much.

As for "real" time taken to complete a task, whether there is a "penalty" or "benefit" with dual slots depends on the types of slots and how they are configured for use.

If you're overly concerned about a penalty for having two slots, just use one slot at a time.


Non-volatile storage read/write speeds have been the major bottleneck in computers since their creation. Modern cameras are really just little computers with a special sensor attached, flash memory is the major bottleneck in the camera.

There are a few reasons for attaching multiple storage devices to a computer/camera. Which benefits you get depend on what settings you select. Many of these design goals conflict and it is not possible to have all benefits simultaneously.

  • Access to different storage types. 3.5" vs 5.25". CF vs SD. Etc.

  • Increase storage space. This is a straight-forward 2 > 1 scenario. When used this way, you do not gain increased redundancy. Failure of a device can result in data loss of half or all of your data, depending on how the devices are configured.

  • Increase redundancy. This is also a straight-forward 2 > 1 scenario. You effectively halve the amount of storage space available for storing newly captured images. When using multiple devices for redundancy, performance will be limited to the speed of the slowest device.

  • Improve read/write performance. By increasing the number of write channels to n devices, write time can be dropped to 1/n the time it would take with only one device. To take advantage of this benefit, you cannot take advantage of redundancy.

    While the diagrams @MichaelClark cites are nice to look at, they are not helpful for evaluating potential performance gains because none of the scenarios can both be directly compared (same data) and take advantage of parallelization.

    For every line in which different data is written to CF vs SD (such as RAW-to-CF/JPG-to-SD), an equivalent test with all the data (RAW+JPG) written to CF-only is needed. Otherwise, there's no basis on which to make any conclusion regarding the "performance" of single vs dual slots.

    With a minimally competent hardware design, dual-slot performance would be greater than single-slot when writing the same total amount of data. Settings for redundancy double the amount of data transferred. (I suppose you can roughly estimate what CF alone would be by doubling the RAW to CF time.)

    Even in the simplified, mostly linear, design that @flolilolilo describes, as long as the controller is minimally competent and able to write to the attached storage simultaneously, performance will improve with two output devices because they are the major bottleneck. *(This is assuming settings to expand storage space, not increase redundancy.)

    Performance can also be improved by using compressed RAW files to reduce the amount that needs to be buffered and written. The reason some cameras have so many lossy RAW options is to trade postprocessing flexibility for space and performance. Having a reduced-quality image is better than missing a shot because of a filled buffer.

    (On the other hand, losslessly compressing RAWs improves performance with almost no trade-off.)

  • 1
    With a minimally competent hardware design, CF+SD performance would be greater than CF alone when writing the same total amount of data. - I cannot see that happen. It is important for a (professional) camera to ensure that the same information is written to both cards, not to the card that first takes it and then re-write it from there to the slower card: If the faster card fails, then all bets would be off. Or do you mean another design that I simply did not understand? – flolilo Jul 4 '18 at 21:46
  • There have been such direct comparisons with RAW+JPEG written to both cards. They're easy to find using google. The results are the same. The issue with the cameras in question is that the UDMA-7 compliant CF card slot is much faster than the non-UHS-I SD slot. Not to mention that writing the same data to two different cards is not 'writing the same total amount of data', it's writing double the total amount of data. – Michael C Jul 4 '18 at 22:25
  • Further, camera architecture isn't always like "little computers." I've read that the DiG!C chips in some dual slot Canon cameras only feed the CF card slot directly and that the SD card is actually connected via the "user interface" bus. – Michael C Jul 4 '18 at 22:29
  • "What is needed is RAW+JPG on CF alone for comparison with RAW+JPG on CF+SD." Why would RAW on CF only, RAW on SD only, and RAW on both CF and SD not be sufficient? Those are lines 1,4, and 5 of the nice to look at but not helpful chart in my answer. – Michael C Jul 4 '18 at 22:42
  • How would writing Raw only to both be different than writing raw+jpeg to both in terms of parallelization? We are talking about enough multiple images to have already filled the camera's memory buffer, not images shot and written to the cards one at a time. – Michael C Jul 4 '18 at 23:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.