Farshid Tabrizi, VP of Engineering ProGrade Digital
ProGrade Digital’s Refresh Pro software application provides users with a tool to perform a fast “factory-original” low-level format – effectively restoring the linearity of data writing and thereby ensuring maximum performance available for uninterrupted high- speed photography and video capture. The proper features to support this function have been designed into all ProGrade Digital cards that contain a “R” logo on the front label, Refresh Pro performs this refresh operation in a matter of seconds to get you ready quickly with low level factory original format before that important project.
NAND flash memory is a revolutionary technology invented in the early 1980s. Its evolution has significantly affected our lives–initially eliminating film and tape for memory cards within cameras and camcorders and later replacing floppy drives with USB flash drives. In the last decade NAND flash has begun to replace hard drives for Solid State Drives (SSD) in laptops. Today it enables us to have smartphones we couldn’t have imagined a decade ago.
One of the greatest attributes of NAND flash memory is that it is non-volatile. This means that stored data is retained even when the source of power is disconnected, unlike traditional semiconductor memories such as DRAM. NAND flash provides the highest density of all non-volatile memories: as much as 1TB of flash can fit in a single package the size of a thumbnail. Lastly, it is the most cost-effective solid-state storage solution when compared to all other semiconductor storage options.
Despite these advantages, NAND flash has its drawbacks—a major concern for photographers and videographers is its endurance, or how many times the card can be filled before it dies. Its slow performance in comparison to other traditional memories such as DRAM is also a factor. To combat this, flash manufacturers and especially flash controller companies have architected creative ways to accelerate the performance of NAND in target devices, such as cameras and camcorders. A third limitation is a complexity of maintaining health and performance of flash throughout its life cycle.
Lifecycle Challenges of NAND Flash
In this article we examine the basic operations of flash memory, which causes degradation to a card’s speed and lifespan, and how ProGrade Digital can help both photographers and videographers monitor the health of their digital memory card inventory, plus restore a card’s performance and speed through Refresh Pro software.
Figure 1. shows a single NAND flash die with two planes, eight blocks and twenty pages per block. A typical NAND flash configuration could have up to four planes, each plane having more than 500 blocks, each block containing more than 2,000 pages, and each page compacting more than 16,000 individual bits. A flash configuration of this arrangement provides up to 64GB in density. By stacking multiple dies with this arrangement into a single package, manufacturers can provide up to 1TB in density in a single flash package.
Why Does Your Memory Card Get Slower As It Gets Used?
A memory card comprised of multiple packages of up to 16 dies (each containing multiple planes) permits the flash controller to write bits of data in parallel–thereby increasing the write performance of the memory card when it is fresh out of the box or Sanitized. However, as photographers continue to use their cards, they will notice that the performance of their cards is dropping. This is occurring due to the fact that their cards are getting dirtier through
A- Deleting photos or videos
B- Filling up the cards, offloading the content, quick reformat in the camera and reshooting again
Before we discuss why the above two activities causes the card to get dirty and slow, we first have to understand how NAND flash memory works and what are some of its limitations that cause this slowness. Figure 3. illustrates when data is being written into flash (blue color pages) and some of the data being deleted (red color pages) from the flash demonstrating case “A” from the above.
The way NAND flash works is that individual pages with invalid (deleted) data cannot be re-written to until their contents have been erased. Further, the controller that manages flash cannot perform an erase function on a single page; erase can ONLY be performed at the block level. Therefore, in order for erase to be possible, all valid pages (blue) in the block must first be copied or moved to a new block before that original block can be entirely erased (Figure 4.). This process is referred to as garbage collection (GC) in NAND flash management.
It should be noted that GC process should be minimized as much as possible by the flash controller due to the fact that NAND flash has a limited number of programming cycles (AKA, Figure 3. NAND flash die with data written in (left, blue pages) and some of the data deleted (right, red pages) Figure 4. Erase process in NAND: copy/move valid data (left), invalid block (middle) and erased block (right). erase and write cycles). By copying data from one block to another block, one lifecycle of that page or block is used. A measure of this phenomenon is called “write amplification.”
GC process ideally should occur when the camera is ON and idle, or when data is being read from the flash—otherwise, the GC process could have a significant negative impact during the writing process making your card slow.
So, we learned two fundamental concepts about NAND flash and flash controllers:
- To overcome the slow write performance of NAND flash, flash controllers distribute the data on multiple packages, multiple dies, multiple planes in order to overcome this limitation and to provide the best performance to the user. The side effect of this technique is that we cause the fragmentation of data.
- How deleting, erasing is performed and how the GC process causes slowness in the middle of a write
The above two points can now help us understand why a memory card gets slow in case of “B” from the above (Filling up a card, offloading the content, quick reformat in the camera and reshooting again).
By filling up a card and performing a quick format in the camera, in reality, one has not deleted or erased the data from the card. A quick format only clears the File Allocation Table (FAT) that tells the controller which bits of data and their location make up a file, a photo or a video clip.
Proof in point is that ProGrade Digital’s advanced Recovery Pro software is able to recover files that have been accidentally deleted or quick formatted.
Therefore, a card that was filled up and quick formatted has all of its blocks with invalid data that needs to go through the GC process to allow new data to be written into them. This causes significant slowness during the subsequent write processes that may cause your card to fail in the camera.
ProGrade Digital Refresh Pro Software Monitors Card Health and Restores Out-Of-Box Performance Levels
ProGrade Digital evaluates and selects only flash controllers that provide the highest performance with built-in intelligence that limits the GC process and permits it to run only when needed.
As a companion to its smart controllers, ProGrade Digital provides Refresh Pro software application for its CFexpress™ 2.0, CFast™ 2.0, SDXC™ and microSD cards, with two built-in capabilities: Health and the Sanitize.
- The Health function measures the overall health of a card and provides feedback as to the remaining life of the NAND flash and the card. This is done by monitoring the health of not only the user’s usable area but also what is called “spare area” in a flash that is reserved for housekeeping of flash in regards to monitoring and recording all the blocks that go bad during the life of the flash. The status of the user and spare area of flash is assessed, and feedback is provided to the user in green-yellow-red in regard to the remaining life of the card.
- The Sanitize operation executes a deep clean, restoring the card to its original out-of-the-box performance capability (Figure 5.).
It should be noted that Sanitize cannot undo the aging process of the card; it merely allows a card, regardless of its age, to perform faster and respond better to write operations of the camera.
Finally, a user could gain significant performance benefit by performing a long format in their Windows environment or a secured erase (minimum level 2) on their MAC OS to clean their card. However, a long format as the description suggests is LONG. For example, a user could wait for over an hour to do a long format or secured erase on a 1TB card in Windows and MAC OS respectively. However, Sanitize function is done in seconds, saving the users valuable time while improving their workflow.
At ProGrade Digital we work closely with flash and controller manufacturers in order to provide customers with the highest performing and most reliable memory cards available. ProGrade Digital Refresh Pro software offers card owners the ability to monitor the health of their digital memory card investment at any time and, when expedient, provides the ability to return a card to its factory state. Figure 5. Sanitize function takes a “dirty” card (left) to a clean, out-of-box state (right). ProGrade Digital Refresh Pro works with ProGrade Digital CFexpress 2.0, CFast 2.0 and SDXC cards. Execution of the Health and Sanitize operations requires a ProGrade Digital USB 3.1, Gen. 2 card reader.
Read more about the ProGrade Digital Refresh Pro software.