Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: nand + yaffs
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Ivan_Kov
Сегодня заметил, что после интенсивной работы с файловой системой появилась несколько десятков битых блоков.
Использую NAND512W3A0AN6, ФС yaffs, ОС uClinux.
Подскажите, люди добрые, куда копать.
amw
Цитата(Ivan_Kov @ Feb 11 2009, 09:15) *
Сегодня заметил, что после интенсивной работы с файловой системой появилась несколько десятков битых блоков.
Использую NAND512W3A0AN6, ФС yaffs, ОС uClinux.
Подскажите, люди добрые, куда копать.

1. Размонтируйте перед выключением.
2. В JFFS2 имеется некий "интелектуальный" алгоритм перепроверки блока перед тем как его пометить бэд. Как в yaffs - не знаю, но наверное нет.
3. Копайте в сторону уменьшения интенсивности работы с файловой системой на стирание/запись.
Пара-тройка десятков бэдблоков на NAND512W3A за примерно 1000 стираний это нормально.
Встречались чипы, на которых бэды появлялись с 2-3 цикла перезаписи. Их количество должно перстать расти где-то на 50 бэдблоке. Статистика крупносерийная.
Хотя встречались и чипы, выдерживающие более 2млн циклов без появления новых.
Ivan_Kov
Цитата(amw @ Feb 12 2009, 00:28) *

Проблема проявлась через несколько часов работы. Закончилась тем, что основная масса блоков помечается как bad (подозреваю, что не пометились только блоки которые не пытались перезаписывать).
После стирания всей флеш - ФС снова нормально работает (пока еще).
amw
Цитата(Ivan_Kov @ Feb 12 2009, 08:48) *
Проблема проявлась через несколько часов работы. Закончилась тем, что основная масса блоков помечается как bad (подозреваю, что не пометились только блоки которые не пытались перезаписывать).
После стирания всей флеш - ФС снова нормально работает (пока еще).

Ну тогда похоже глюки yaffs.
Помеченный как BAD блок можно стереть, и он будет выглядеть "как новенький". У Samsung не стираются блоки, помеченные производителем. У ST не помню.
Попробуйте посмотреть spare область помесенного yaffs блока. Что там есть и как оно кореспондируется с мануалом. Если не ошибаюсь, сектор 512 байт у этой флеши, значит что записано в spare[5].
Возможно в yaffs (я с этой фс не работал) есть что-то наподобие структуры
Код
struct spare {
char X;
int ECC;
char Y;
}

И тут вопрос с выравниванием.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.