Fri Feb 26, 2021 7:39 am
That's not how multi-level works ... you don't write the "levels" independently.
Multi-level (really a bad name) means each cell stores 4 different charge levels, nominally : 0, 0.33, 0.66, 1.0 and thus allow to store 2 bits per cell. It's slower than SLC because of the complexity of programming those exact charge levels. Imagine for a SLC only having 0 and 1, you can just dump a bunch of charge to program it without caring, you can't really "go over" ... for MLC, you need to be more careful hence increase write time.
Now, the explanation for why some cards write faster can be two-fold:
* Some card, to boost write speed, will use part of their MLC array as a SLC array writing only 0.0 and 1.0 into it and just marking those sectors as "to be consolidated into MLC later when I have time". Obviously in a continuous video write scenario the "when I have time" part doesn't happen all that often and you might hit issues after some recording time.
* You can't overwrite previously written data in a sector, you have to erase the whole sector then rewrite it in full. Erasing takes a lot of time. So usually what a card will do is pick any random empty sector write it (possible with a mix of new data and old data that wasn't change) and "substitute" it. The old sector is just set aside and marked "to be erased whenever I have time".
It even gets more complex because normal file operations (create / delete files), the sd card has usually no idea if a sector is still in use or not. As far as it's concerned once it has been written to 1 time, the sector is used and it can't ever erase it pre-emptively. To solve that in SSD the "TRIM" protocol was invented so the OS/filesystem layer could tell the storage device "Ok, those blocks, I'm not using them anymore" and so the SSD/SD can pre-emptively erase them to prepare future writes.
That's also why formatting in the camera is probably a better idea. Most likely (I can't check but it would make sense), the camera instead of writing zeros to the card (which as far as the card is concerned doesn't mean the sector can be erased), sends the special SD card command to the card telling it the sectors are not in use and can be recovered. Not all PC reader can send that command (the usb ones I have can't ... only the one I have built in my PC can for instance).
Resolve Studio - Ryzen 5800X3D - AMD RX6600 / NVidia RTX 4070 (switching between the 2) - Linux