Flash memory has revolutionized our world by replacing film and tapes in our cameras while enabling new products and applications such as the cellphone. Today, it’s hard to imagine living in a world without this revolutionary storage medium. Flash memory is the cheapest medium with the highest capacity among all the other none volatile memory alternatives while being much faster than traditional hard disk drives that are being replaced with Solid State Drives (SSD).
An average user of SD or CFexpress memory cards may not be aware of the complexities and challenges in the design of such products and how flash memory is enabled within them. And while flash memory while has all the above advantages, the technology also has some shortcomings and limitations in terms of how data is written to and read from it while making sure every bit of memory is worn evenly. That’s because every bit in flash memory has a limited life cycle.
All of these complexities are managed by a flash memory controller that resides between the host interface and the flash memory. For that reason, not all controllers leveraged in a memory card or SSD are built equal. But one thing that is common between all the controllers is that they all have to do what we call Garbage Collection (GC) in the flash.
So, what is GC, why do you need to worry about it, and what is its impact on your memory card and your experience using that card in your camera? That’s what we’ll address in this article.
A metaphor for understanding flash memory structure
Imagine a state in the U.S. Each state has many counties within it, and each county contains multiple towns. Inside each of these towns are many blocks and many homes inside each block. A flash memory package, as you can see in Fig. 1 on the right, is also structured the same way.
A single flash memory package (the State) has many flash memory dies (Counties) stacked on top of one another. Each die has multiple Planes (Towns), many Blocks (Blocks) in each die, and many Pages (Homes) inside each block.
When you buy a new memory card and you start taking pictures or recording videos, the flash controller puts that newly created data into each one of the available “homes” on the memory that are empty at this point. When you completely fill up your memory card, it is similar to all the homes in that state being filled up with data.
When you quick format your memory card or delete pictures or videos manually, your camera thinks that you have emptied all the homes and allows you to start filling up the card again. However, due to the way flash memory works, those files are actually still there. (For that reason, data recovery software solutions can get your data back after accidental deletion or quick format.)
This is a condition that we refer to as flash memory being “dirty.”
Dirty memory slows you down
So, what happens in the next round of recording when your flash card is dirty? As you start recording video or taking photos, because the flash is dirty, the flash controller has to do some Garbage Collection in order to clean the homes and make room for new data. This is where the shortcoming of flash memory architecture comes into play.
Flash memory allows for homes to be filled individually. However, when it comes to creating space or Garbage Collection, it has to move all the good data from all the individual homes inside an existing block, over to a new block, or completely erase all the dirty homes in the block so that new data can be recorded. Flash controller has to do all of this Garbage Collection on other blocks while it is putting new data in previously cleaned blocks. Flash controller does this Garbage Collection extremely fast (fractions of a second), but since it has to do two things at the same time, it causes the moving of data to slow down for a split second when new data is being moved into clean homes.
Fig. 2 above shows the performance of a card when the card is in factory condition—fully sanitized with all “homes” clean and empty.
Fig. 3 shows the card in dirty condition. The controller is forced to do Garbage Collection while data is being recorded. That is shown by performance drops in Fig. 3 for a split second.
Based on the above illustration, if you are recording at a high bit-rate on a high-end camera that requires 800MB/s sustained write, you will not have any issues when the card is sanitized and clean. However, use that card on the same camera and you will likely drop frames when the card is very dirty at the same bit-rate requirements. Alternatively, if you are recording in a setting that requires 200MB/s sustained write, you will still be okay with the dirty condition of the above card because even during the Garbage Collection where performance drops, it never drops below the required speed for that setting so the recording will continue uninterrupted.
How to avoid a dirty memory card
Here at OWC, we believe in fully integrated solutions. We build memory card readers that work perfectly with our high-speed memory cards and are designed to ensure that you don’t drop frames during capture and that post capture your data transfers as quickly as possible from your cards to your computer’s internal drive or to one of our blazing fast Thunderbolt or USB4 drives.
We created Innergize as another crucial piece of this Atlas ecosystem that guarantees your card will always perform at its peak performance, ensuring that you will never miss a moment due to a dropped frame. Innergize allows you to manage and monitor the health and performance of your memory cards. It also allows you to “sanitize” your cards.
Unlike a quick format or manually removing photos and videos from your memory card, “sanitizing” brings your memory card back to pristine factory condition. After sanitizing your card, the flash controller doesn’t have to perform Garbage Collection while new data is being recorded. This keeps your memory card working at its highest possible sustained speed.
Why take a chance on that important project when it literally takes just a few seconds to sanitize your cards within Innergize? In addition, Innergize software enables you to check the health of your card and informs you if there is a firmware upgrade available for your memory card.
The best part is that Innergize is completely free. Because we care about fully optimizing our cards, OWC Innergize is a free app. All you need is a compatible OWC card reader.
Cameras are embracing the sanitize feature as well…almost
As the resolution, color depth and frame rates increase in high-end cameras, some camera manufacturers have started implementing the sanitize (or Low-Level-Format) capability as the default formatting option in their cameras’ options menus to prevent the card from triggering Garbage Collection in the middle of recording.
These cameras include, but are not limited to RED and Blackmagic Cinema 6K. Other cameras offer both quick format and low-level format/sanitize options, including the Nikon Z9/Z8, Canon 1DX MIII, and the Panasonic GH6.
Please keep in mind these cameras offer such capability only when their camera supports CFexpress as media through NVMe standard commands. No such capability exists for SD cards as there is no standard SD command to sanitize a SD card.
However, OWC has implemented custom capabilities in their cards firmware so that Sanitize functionality can be run on its SD cards in addition to CFexpress cards and even some of its SSDs such as the Envoy Pro Elektron.
Never take a chance with a dirty card. Innergize and Sanitize your cards before any important shoot to reduce your anxiety and eliminate the chance of dropped frames.
So, does the Innergize wipe replace formatting the SD card in a given camera?
And may I assume that the SD slot in my OWC desktop dock is compatible?
For safety’s sake, after doing the full (low level) Innergize formatting I would do a quick (rewrite the directory) format in the camera or recorder itself. The reason why SD cards can be so much smaller than CF cards is they don’t contain the control logic for the memory. That lives in the camera, and it can be different in varying hardware. This doesn’t take much time.. In the few years I’ve been doing this I have never lost a take, but before that, yes.. Luckily the recorders I use provide both quick and full formatting options.
Thanks Billy for your response.
To eliminate any confusion, SD cards do also have a flash controller inside them similar CFexpress cards. However they each have a different protocol support. SD supports SD standard interface while CFexpress cards support PCIe interface with NVMe protocol. If not for the SD flash controller inside OWC Atlas SD cards, we would not have been able to build the Innergize solution around our Atlas SD cards. We incorporated special firmware/software inside that flash controller inside the SD card to allow Innergize software to work through the reader/dock through the flash controller inside it to access the flash inside the SD card to perform sanitize function on it.
Innergize software sanitizes the SD card to its original factory format condition. So, if your card was formatted in a specific camera, Innergize removes that format after sanitizing the card. We always recommend that you format the card in your camera before using it again as if you had purchased the card for the first time.
Regarding your second question, Innergize supports SD cards on OWC’s Travel Dock, Travel Dock-E, Thunderbolt Pro Dock, Thunderbolt Dock, Thunderbolt Go Dock and 14-port Thunderbolt Dock. Please be aware that firmware on some older Thunderbolt Dock and 14-port Thunderbolt Docks need to be updated before they can work with Innergize and OWC Atlas products. Just in case if your Dock needs its firmware upgraded, you can find DIY information on the following website:
https://eshop.macsales.com/Service/Knowledgebase/Article/47/881/Innergize-Firmware-Update