在emmc flash上,当我们使用dd命令时,它会跳转坏块吗? 我找到了这个链接:http://linoxide.com/linux-how-to/how-to-fix-repair-bad-blocks-in-linux/ 请注意其“第5步”:
此步骤将通过在其上写入零来销毁该块上的数据。 坏块将被恢复,但文件的数据将丢失。 如果您确定,可以继续执行以下步骤:
root]# dd if=/dev/zero of=/dev/hda3 bs=4096 count=1 seek=2269012
root]# sync
为什么dd可以恢复坏块?所以这些块不是很糟糕/损坏? 为什么在dd之后执行sync命令?
答案 0 :(得分:1)
eMMC存储中有eMMC控制器。控制器负责将备用块映射到坏块。
映射前的地址称为逻辑地址,映射后的地址称为物理地址。
物理地址仅对控制器可见,OS仅查看逻辑地址。
当OS写入逻辑块时,控制器将检查写入结果,如果失败,它将在损坏的逻辑地址处分配一个备用物理块,然后重试写入。
通过擦除所有块,强制控制器检查所有块,如果有任何失败,它将为坏块(也就是恢复)分配一个备用块。