2017-04-19 627 views
0

在emmc flash上​​,當我們使用dd命令時,它會跳轉壞塊嗎? 我發現這個鏈接: 並請留意它的「第5步」:dd命令是否會跳轉emmc的壞塊?

這一步將它寫零破壞該塊上的數據。 壞塊將被恢復,但文件的數據將丟失。 如果你確定,你可以通過以下幾個步驟進行:

root]# dd if=/dev/zero of=/dev/hda3 bs=4096 count=1 seek=2269012 
root]# sync 

爲什麼DD可以恢復壞塊?所以這些塊不是很差/損壞? 爲什麼sync命令在dd之後執行?

回答

1

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

eMMC存儲器內部有eMMC控制器。控制器負責將空閒塊映射到壞塊。

映射前的地址稱爲邏輯地址,映射後的地址稱爲物理地址。

物理地址只對控制器可見,OS只能看到邏輯地址。

當操作系統寫入一個邏輯塊時,控制器會檢查寫入結果,如果失敗,它會在斷開的邏輯地址處分配一個備用物理塊,然後重試寫入。

通過擦除所有塊,強制控制器檢查所有塊,如果有任何失敗,它將爲壞塊(又名恢復)分配一個空閒塊。