Serving the Critical Data Storage Needs
of Industrial and OEM Customers

FORTASA BLOG

Flash Storage Solutions for Embedded Designs
High Reliability Flash SSDs, Cards and Modules for Industrial Applications

Best Algorithm to Improve Flash SSD Life Expectancy - Static Data Wear Leveling

Posted by Biraj Jamalayam on Tuesday, 11 Feb 2014

Unlike Dynamic Data Wear Leveling, Static Wear Leveling algorithm not only rotates the dynamic blocks, but also the blocks that store a static data partition. In many embedded applications, a significant portion of memory space is actually used by a large static partition such as OS or Application program files. Typically these files are written once and read multiple times as on the device power-up sequence. The large static data block leaves only a small memory space for file updates or data recording. Due to such unbalanced usage the dynamic memory area gets extensive wear. Once any of these high usage blocks approach the endurance limit, and begin to lose data, the whole drive would fail. To avoid this situation, a Static Wear leveling algorithm was implemented.

When the device is in a standby (non-active) mode, the algorithm drives the Flash controller to re-write the static partition from the less used blocks to the dynamic partition of the higher used blocks. By readjusting the block usage, the memory wear will be evenly spread between the static and dynamic memory partitions. The algorithm defines a usage threshold which when reached by any one memory block initiates a static partition rotation, or swapping, of the highest usage blocks for the lowest usage ones.  This process typically occurs in the background while the Flash controller is in a stand-by or non-active mode.

While the Static Data Wear Leveling algorithm can slow down Flash Drive operation during the swapping sequence and also increases the overall block usage due to the rotation overhead, it is nonetheless the best method to maximize the SSD life.

READ MORE

Improving Flash SSD Endurance - Dynamic Data Wear Leveling

Posted by Biraj Jamalayam on Monday, 10 Feb 2014

As previously described, Flash memory inherently has limited endurance (number of program and erase cycles) before it starts to fail and information is no longer reliably retained. The intrinsic component endurance is specifically stated in the respective component data sheet. Typically, the inherent endurance is 3000 cycles for MLC NAND Flash and 60,000 cycles for SLC NAND Flash. In managed Flash storage devices such as SSDs or Flash cards, the expected life of the device is further reduced due to a Write Amplification phenomenon. To reverse this rapid degradation a Dynamic Weal Leveling algorithm was introduced.

At initialization, the Flash controller allocates all the formatted (unused) memory blocks into a unused block pool and sets up the usage counter for each block. With Dynamic Wear Leveling, every time a host would write new data to the storage module, Flash controller would select the block with least amount of usage and write the new data to it. Every time a host would erase a file, the Flash controller would free up (format) a block and place it in the unused block pool ranked by the amount of usage this block had gone through. This way with every new write or erase sequence the block usage would adjust and spread the memory wear from highest used block to the lowest use block. While this algorithm is highly beneficial to the dynamic (updated and erased) data, it doesn't improve the Flash wear for drive usage with large static partition, as with OS system files which are written once and don't typically get moved or updated, A complementary algorithm to spread the usage of the Flash blocks that store static data is called Static Data Wear Leveling.

Please contact Fortasa toreceive more information about Fortasa product reliability.

READ MORE

Improving Flash SSD Endurance - Dynamic Data Wear Leveling

Posted by Biraj Jamalayam on Monday, 10 Feb 2014

As previously described, Flash memory inherently has limited endurance (number of program and erase cycles) before it starts to fail and information is no longer reliably retained. The intrinsic component endurance is specifically stated in the respective component data sheet. Typically, the inherent endurance is 3000 cycles for MLC NAND Flash and 60,000 cycles for SLC NAND Flash. In managed Flash storage devices such as SSDs or Flash cards, the expected life of the device is further reduced due to a Write Amplification phenomenon. To reverse this rapid degradation a Dynamic Weal Leveling algorithm was introduced.

At initialization, the Flash controller allocates all the formatted (unused) memory blocks into a unused block pool and sets up the usage counter for each block. With Dynamic Wear Leveling, every time a host would write new data to the storage module, Flash controller would select the block with least amount of usage and write the new data to it. Every time a host would erase a file, the Flash controller would free up (format) a block and place it in the unused block pool ranked by the amount of usage this block had gone through. This way with every new write or erase sequence the block usage would adjust and spread the memory wear from highest used block to the lowest use block. While this algorithm is highly beneficial to the dynamic (updated and erased) data, it doesn't improve the Flash wear for drive usage with large static partition, as with OS system files which are written once and don't typically get moved or updated, A complementary algorithm to spread the usage of the Flash blocks that store static data is called Static Data Wear Leveling.

Please contact Fortasa toreceive more information about Fortasa product reliability.

READ MORE

Improving Flash SSD Endurance - Dynamic Data Wear Leveling

Posted by Biraj Jamalayam on Monday, 10 Feb 2014

As previously described, Flash memory inherently has limited endurance (number of program and erase cycles) before it starts to fail and information is no longer reliably retained. The intrinsic component endurance is specifically stated in the respective component data sheet. Typically, the inherent endurance is 3000 cycles for MLC NAND Flash and 60,000 cycles for SLC NAND Flash. In managed Flash storage devices such as SSDs or Flash cards, the expected life of the device is further reduced due to a Write Amplification phenomenon. To reverse this rapid degradation a Dynamic Weal Leveling algorithm was introduced.

At initialization, the Flash controller allocates all the formatted (unused) memory blocks into a unused block pool and sets up the usage counter for each block. With Dynamic Wear Leveling, every time a host would write new data to the storage module, Flash controller would select the block with least amount of usage and write the new data to it. Every time a host would erase a file, the Flash controller would free up (format) a block and place it in the unused block pool ranked by the amount of usage this block had gone through. This way with every new write or erase sequence the block usage would adjust and spread the memory wear from highest used block to the lowest use block. While this algorithm is highly beneficial to the dynamic (updated and erased) data, it doesn't improve the Flash wear for drive usage with large static partition, as with OS system files which are written once and don't typically get moved or updated, A complementary algorithm to spread the usage of the Flash blocks that store static data is called Static Data Wear Leveling.

Please contact Fortasa toreceive more information about Fortasa product reliability.

READ MORE

Page