Flash memory devices are more complex than standard computer memory. Computer RAM always operates at full speed and is completely reliable at that speed. Flash systems are actually arrays of inherently unreliable memory with a pool of extra memory allocated for error correction. A microprocessor (or, in the case of some SanDisk devices, two microprocessors) contained in the flash component handles error correction, sector reallocation, and the like. This means that when your camera reads or writes to these devices it is not actually accessing memory directly, rather it is communicating with a microprocessor that handles low level functions, such as error correction, for it.
This means a few things: There will be some variation (normally not much, though) between devices. Performance will also vary somewhat depending on the data written. Flash cards can degrade in performance eventually. Benchmark programs can produce different results depending on the test data patterns they use. A fragmented flash card can exhibit abysmal performance.
For testing I use a program that reads and writes data patterns. The test pattern consists of writing all zero’s on one pass (0x00), reading it all, all one’s (0xFF) on the next, and reading that all. This is a fairly pathological condition that will result in the flash device having to correct errors with maximum frequency.
Write speed (for our purposes) is more significant than read speed, except that transferring files to your computer will be faster with higher read speeds. In-camera it makes little difference because you’ll never have reason to view a file at a faster speed than it was written.
Using this test procedure produced the following results:
Transcend 16GB Class 6 card (the older, cheap one): Read 16.4 MB/s, Write 10.5 MB/s
Transcend 16GB Class 10 card: Read 18.95 MB/s, Write 16.67 MB/s
Note that these numbers are different than the published specifications. This is to be expected because of the pathological nature of the tests – they are designed to stress the part. The write speed is actually faster than what they claim it to be, and a lot faster than the standards require, which is impressive. The class 6 performs like a class 10 and the class 10 performs like a class 16 (if that existed).
It is important to note that these are performance numbers that apply to large blocks of data being written to an un-fragmented flash card sequentially (which is what the camera does for the most part), as the standard requires. Write speeds come crashing down to 20x slower (or, in some cases, much worse) when 4k blocks have to be written in random order – which might happen if the flash card is heavily fragmented. This can happen if you have done a lot of shooting of videos and stills and have only erased some of them. So, when you shoot, try to make sure you are using a freshly formatted card.
Chris
This means a few things: There will be some variation (normally not much, though) between devices. Performance will also vary somewhat depending on the data written. Flash cards can degrade in performance eventually. Benchmark programs can produce different results depending on the test data patterns they use. A fragmented flash card can exhibit abysmal performance.
For testing I use a program that reads and writes data patterns. The test pattern consists of writing all zero’s on one pass (0x00), reading it all, all one’s (0xFF) on the next, and reading that all. This is a fairly pathological condition that will result in the flash device having to correct errors with maximum frequency.
Write speed (for our purposes) is more significant than read speed, except that transferring files to your computer will be faster with higher read speeds. In-camera it makes little difference because you’ll never have reason to view a file at a faster speed than it was written.
Using this test procedure produced the following results:
Transcend 16GB Class 6 card (the older, cheap one): Read 16.4 MB/s, Write 10.5 MB/s
Transcend 16GB Class 10 card: Read 18.95 MB/s, Write 16.67 MB/s
Note that these numbers are different than the published specifications. This is to be expected because of the pathological nature of the tests – they are designed to stress the part. The write speed is actually faster than what they claim it to be, and a lot faster than the standards require, which is impressive. The class 6 performs like a class 10 and the class 10 performs like a class 16 (if that existed).
It is important to note that these are performance numbers that apply to large blocks of data being written to an un-fragmented flash card sequentially (which is what the camera does for the most part), as the standard requires. Write speeds come crashing down to 20x slower (or, in some cases, much worse) when 4k blocks have to be written in random order – which might happen if the flash card is heavily fragmented. This can happen if you have done a lot of shooting of videos and stills and have only erased some of them. So, when you shoot, try to make sure you are using a freshly formatted card.
Chris
Last edited: