In the application of NAND Flash, there is a limitation of Program/Erase cycle, which is referred to "P/E cycles." In NAND Flash, when the P/E cycles of each block reach the maximum value, these blocks become non-workable and require a Spare block to replace it. When these Spare blocks are used up, this NAND Flash can no longer be used. Therefore, if certain blocks are only written and erased, the P/E cycles of these certain blocks will be consumed rapidly, and the spare blocks will be used up quickly, causing NAND Flash to fail early.
There are three types of Wear Leveling: Dynamic, Static and Global. Dynamic wear leveling only handles free space and ensures that write behavior will only occur in blocks that have a lower erase count in the same space. Static wear leveling considers the entire Flash die, including blank areas and blocks to which have been written. This technique moves the data from the block with the lower number of erases to the other blocks, so that the blocks with lower write times can be left for future usage. Finally, there’s Global wear leveling, where the biggest difference from Static wear leveling is that its scope extends to the entire device, while Static wear leveling works only on a single Flash die. This ensures that the write behavior occurs in blocks that are written less frequently throughout the device.
The vendors of NAND Flash controllers must consider this feature of NAND when developing. Therefore, Wear Leveling is designed to allow NAND Flash to evenly spread throughout the use of blocks so that the P/E cycles of all blocks rise with the same data. This technology allows all blocks to be used thoroughly before the product reaches its life cycle, extending the life of the NAND Flash. Therefore, wear leveling technology can improve the reliability and durability of NAND Flash products.