Bad Block Management
Introduction
Bad Block Management is a mechanism used by the controller in flash memory to detect and handle bad blocks. It identifies and marks unusable blocks to ensure they are excluded from future data storage. To further enhance reliability, the controller applies automatic Error Correction Code (ECC) to blocks that encounter write issues. If ECC fails to recover the data, the valid data is relocated to reserved blocks.
Bad Blocks Categorization
SP Industrial manages bad blocks to enhance the efficiency and reliability of flash memory operation. Bad blocks refer to unusable memory blocks identified by the controller during the initial setup of the NAND flash—before the device enters normal operation. This identification process typically occurs during the initialization phase, also known as card opening or super block mapping. Bad blocks in SP Industrial products are classified into four categories:
- FBB (Factory Bad Block): Bad blocks identified during wafer-level testing with a probe card. The total count is recorded in the FBB table.
- GBB (Growing Bad Block): New bad blocks generated after die sawing, grinding, bonding, and molding processes.
- LBB (Later Bad Block): Bad blocks detected after packaging through reliability development testing (RDT), such as Program/Erase/Read tests. These are considered early failures caught post-packaging.
- MPB (Mapping Bad Block): Bad blocks generated after controller-level mapping in multi-channel configurations. Occurs when blocks at the same address across different dies (CE/LUN) fail to synchronize and must be mapped out.
Through proactive bad block management and comprehensive categorization, SP Industrial ensures enhanced data integrity, improved reliability, and a longer lifespan for flash-based storage products. This structured approach enables the controller to effectively isolate defective blocks, maintain consistent performance, and safeguard critical data throughout the product lifecycle.