dd命令是否会跳转到emmc的坏块?

时间:2017-04-19 06:55:31

标签: linux memory storage flash-memory

在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命令?

1 个答案:

答案 0 :(得分:1)

eMMC更像是SSD而不是原始闪存芯片。

eMMC存储中有eMMC控制器。控制器负责将备用块映射到坏块。

映射前的地址称为逻辑地址,映射后的地址称为物理地址。

物理地址仅对控制器可见,OS仅查看逻辑地址。

当OS写入逻辑块时,控制器将检查写入结果,如果失败,它将在损坏的逻辑地址处分配一个备用物理块,然后重试写入。

通过擦除所有块,强制控制器检查所有块,如果有任何失败,它将为坏块(也就是恢复)分配一个备用块。