Как выполнить верифицированную блочную флэш блочную копию устройства?
У меня есть специальное флэш-устройство, где каждая запись в физический блок должна быть проверена (хотя я не обращаюсь к нему как mtd). Потому что физический блок всегда мигает, но запись данных не всегда работает.
Так что это означает, что если я выполню простую непроверенную копию следующим образом:
dd if=backup of=/dev/sdb1
У меня будет меньшинство блоков, где запись была бы успешной, и большинство, где было бы успешным только мигание (что означает, что некоторые блоки остаются заполненными0xFF
).
Простая повторная команда не работает, потому чтоdd
будет также переписывать успешные блоки, что означает, что некоторые предыдущие записи будут преобразованы в неудачные записи (блок с ранее действительными данными будет мигать, но запись не удастся, что приведет к 0xFF
наполнение).
Таким образом, мое блочное устройство должно обрабатываться с проверенной копией: после каждого доступа на запись блок должен сравниваться с to be copied data
и запись данных в такой блок должна быть предпринята до успешного завершения для обработки следующего блока.