Внутри флэшки есть свой контроллер, который осуществляет низкоуровневые операции записи и стирания. Бит EPE отображает ошибку именно внутреннего цикла стирания/записи, а не тот факт, что записанный байт не совпадает с тем, который хотели записать. Внутренняя ошибка может возникнуть, например, если была попытка записи в несуществующую страницу, в страницу, защищённую от записи тем или иным способом, в том числе производителем флэшки. В NAND флэшках, например, блоки, которые были выявлены неисправными в процессе производства, зануляются на уровне внутреннего контроллера, и любая попытка записи/стирания такого блока вызывает установку бита EPE. Кроме того, флэшку можно использовать не побайтно, а побитно, "выжигая" нулём по одному биту, то есть записывая последовательно 0xFE, 0xFD, 0xFB, 0xF7 ... и получая в результате 0xFE, 0xFC, 0xF8, 0xF0 во флэшке - и это никакая не ошибка, а способ экономного использования ресурса стирания, который во флэшках ограничен, как известно.
--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
|