在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之后执行?

最佳答案

eMMC更像SSD而不是原始闪存芯片。
eMMC存储器内有eMMC控制器。控制器负责将备用块映射到坏块。
映射前的地址称为逻辑地址,映射后的地址称为物理地址。
物理地址只对控制器可见,操作系统只看到逻辑地址。
当操作系统写入逻辑块时,控制器将检查写入结果,如果失败,它将在断开的逻辑地址分配一个备用物理块,然后重试写入。
通过擦除所有块,强制控制器检查所有块,如果有任何块失败,它将为坏块分配一个备用块(也称为恢复)。

关于linux - dd命令是否会跳过emmc的坏块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43488542/

10-10 15:02