处理 NAND 闪存中的坏块

处理 NAND 闪存中的坏块

有什么方法/工具/实用程序可以纠正 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

您不必在用户空间中处理坏块。在挂载分区时,相应的文件系统类型有各自的实现来处理坏块。因此,您不必担心在活动/备份分区中处理它。

相关内容