For today's NAND flash devices, the main limitation is the number of program/erase cycles each can undergo. The key solution to this constraint is to evenly manage the wear across the entire flash device so that each memory block is used proportionally. Therefore, efficient management of wear across all blocks is needed to maximize the lifespan of a NAND flash device. To accomplish this, one method is to individually track the program/erase cycles of each block, which will help distribute them regularly and prevent excessive use of some blocks. This method is called wear leveling. There are two primary types of wear leveling built into the flash translation layer - static and dynamic.
Wear leveling is implemented in the flash translation layer (FTL), which acts as an intermediary mechanism between the file system and NAND flash device. The FTL provides the mapping rules from logical to physical addressing. Through wear leveling, the wearing out of blocks over time is reduced by these mapping rules. As shown in Figure 1.
Wear Leveling in the FTL
The NAND flash device can be divided into three portions. The data block is reserved for the device's logical capacity. The free block is assigned for wear leveling and bad block pool management. The system block is assigned for the mapping table, cache block, and other system functions. As shown in Figure 2.
Flash Block Management
4-1 DYNAMIC WEAR LEVELING
There are two types of data subset in a NAND flash device: static data and dynamic data. Static data is information that is rarely used and seldom changed in physical blocks. On the other hand, dynamic data is frequently changing and constantly reprogramed. Dynamic wear leveling allocates dynamic data to the free blocks that have had the fewest P/E cycles. It is easier to implement this method, but in order to optimize the entire flash device completely, it is not a comprehensive technique. As shown in Figure 3.
Dynamic Wear Leveling
4-2 STATIC WEAR LEVELING
Static wear leveling considers an entire NAND flash die, including blank areas and blocks that have already been written to. It allocates static data evenly across the free blocks, enabling even wear across the flash device. This helps address bottlenecks in overall wear leveling, allowing for more efficient use of the memory array and maximizing the lifespan of the flash device. As shown in Figure 4.
Static Wear Leveling
4-3 GLOBAL WEAR LEVELING
Global wear leveling works across the entire storage device, unlike static wear leveling which only affects a single flash die. It ensures write activity is distributed evenly among blocks throughout the device. To achieve this, the device is divided into multiple zones. If the host computer keeps accessing the same zone repeatedly, that zone could wear out quicker than others. Global wear leveling intervenes to prevent this by redirecting access to different zones. This ensures all areas wear down at a similar rate. As depicted in Figure 5.
Global Wear Leveling
Comparison of Different Wear Leveling Mechanisms
SP Industrial's SD card series SDI730/530/330 and microSD card series SDT730/530/330 use global, static, and dynamic wear leveling mechanisms. Using all these methods together manages how data is stored across the flash memory. This comprehensive approach helps extend the card's lifespan and reliability for consistent performance over time.
SP Industrial's microSD card series SDT550/350 uses static and dynamic wear leveling. It offers higher storage capacity with 3D TLC flash memory without reducing the number of write/erase cycles.
These card series see wide use in important applications. Dash cameras, vehicle telematics systems from top automakers, mobile network equipment for recording 4G/5G base station data, and medical ventilators in hospital ICUs all rely on them to securely record patient information.