有什么方法/工具/实用程序可以纠正 NAND 设备上的坏块?
我们有基于 beaglebone 的定制主板,但我们使用的是 NAND 闪存,而不是 mmc。NAND 上的 MTD 分区如下,
mtd0:MLO
mtd1:MLO
mtd2:MLO
mtd3:MLO
mtd4:u-boot
mtd5:u-boot 备份
mtd6:内核
mtd7:内核备份
mtd8:RFS
RFS 有两个 UBI 卷 rootfs 和 rootfs2,其中一个用于启动主板。
现在,随着 NAND 闪存的使用,NAND 芯片上可能会出现坏块,或者可能随着时间的推移出现坏块。UBIFS 通过为坏块保留空间来处理坏块。UBI 将坏块映射到保留块。因此,那里有坏块处理。
但是其他分区呢?如果这些分区上有坏块怎么办?
有没有什么方法可以检测和纠正这些分区上的坏块?
1. 主要在不丢失数据的情况下,或者
2. 在丢失数据的情况下
我在网上搜索,发现对于 ext 文件系统,有一个名为“坏块“但是有适用于闪存的版本吗?
还有其他方法可以纠正设备上的坏块吗?
我知道 mtd 驱动程序也有一些坏块管理,它们在写入和读取时会跳过坏块,但这足够吗?
我还知道 NAND 芯片制造商还保证芯片不会有超过 X 个坏块。
看到这一切,在设计系统时是否需要担心坏块?是否需要从用户空间处理它?如果不在活动分区上,是否需要在备份分区上进行?
任何建议/指示表示赞赏,
提前致谢。
答案1
您不必在用户空间中处理坏块。在挂载分区时,相应的文件系统类型有各自的实现来处理坏块。因此,您不必担心在活动/备份分区中处理它。