Цитата(Sergey_Bekrenyov @ Nov 1 2012, 08:55)

Спасибо, я поищу. А что у Вас по битым блокам получилось? У меня пока картинка не складывается - то ли это только биты будут невалидные, то ли можно получить ошибку записи/чтения/стирания целой страницы. ECC делали?
По "плохим блокам" для micron картина следующая. Есть блоки помеченные производителем как "плохие", соответствующие маркера они ставять в spare область. Эти блоки (все страницы) при чтение всегда возвращяют нули, причем при стирании такого блока в статусе возвращяется бит ошибки, а при записи
нет, то-есть как-будто бы запись прошла успешно. С этими блока ничего не поделаешь их надо держать в "таблице плохих блоков" и обходить при работе.
По даташиту количество "плохих блоков" не превышает 2% от общего количества. Но на деле их гораздо меньше. У нас в изделие массив из 128 микросхем.
Анализ на "плохие блоки" по N изделиям показал, что на весь массив количество таких блоков от 6 до 20. То-есть достаточно большой процент микросхем вообще не содержит "плохих блоков". Что, кстати, выгодно отличает micron от samsung.
В процесе эксплуатации могут появляться новые "плохие блоки". На износ мы тестов не ставили, но по логике операции стирания/записи должны возвращять
ошибки. Так что "таблица плохих блоков" должна быть живая и обновляться с появлением новых блоков. Тут можно делать по разному, к примеру, сначала помечать блок как "подозрительный", если ошибки повторяются на этом блоке, то уже заносить в таблицу.
Помимо "плохих блоков" есть битовые ошибки. Тут наоборот samsung показывал лучшие результаты. На 128 микросхем 5-6 битовых ошибок.
У micron на 128 микросхем 500-1000 битовых ошибок. Здесь уже без ECC не обойтись. У нас используются коды Хэмминга.