ZHDA203 June 2026 AM2752-Q1 , AM2754-Q1 , AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM62A1-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62D-Q1 , AM62P , AM62P-Q1
Linux Kernel 通过内存技术器件 (MTD) 子系统和未排序的块映像 (UBI) 实现坏块管理,其具有以下主要功能:
读取每个块第一页的带外区域。
坏块标记由 2 个字节组成,通常位于 OOB 区域的开头。
两个字节的标记值均为 0xFF,则表示该块正常。
任何非 0xFF 的值(通常为 0x00)均表示工厂标记的坏块或运行时坏块。
每次系统启动时,都会通过扫描闪存中所有块的 OOB 标记来重建坏块表格。
这可确保数据在电源循环中持久保存,因为下次启动时,内存中的 BBT 将根据这些标记重新构建。
UBI 层更新其数据结构:
根据该故障 PEB 所在的位置,将其从空闲树或已用树中移除。
该故障 PEB 被添加到错误树中,以防止未来对其进行分配。
如果该故障 PEB 曾存储卷数据,则更新 LEB 到 PEB 的映射关系,以使受影响的逻辑擦除块失效。
后续操作会自动避开该新标记的块,因为它现在位于错误树中,且在 BBT 中状态为 01b。