|
NANDFlash + микроконтроллер - как бороться с битыми секторами? |
|
|
|
May 17 2016, 12:02
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Доброго времени суток! Пишу драйвер для вот этой NAND и озадачился вопросом о битых секторах. В даташите написано, что на каждой флешке уже с завода может быть определенное количество битых секторов, и прежде чем ей пользоваться нужно при первом включении пробежаться алгоритмом, который указан все в том же даташите и запомнить адреса битых секторов. Я правильно понимаю, что мне нужна другая энергонезависимая память (например флеш на процессоре), чтобы хранить таблицу битых адресов? И нет других способов борьбы с ними?
|
|
|
|
|
 |
Ответов
|
Jun 28 2016, 04:33
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Цитата(sonycman @ Jun 28 2016, 00:26)  А как решили хранить таблицу бэдов? Если поднять YAFFS, то мне нужно этим заниматься - это делает за меня файловая система. Бэды она учитывает размещая в spare area флешки данные отличные от FF. Определяет бэдовый ли блок по результатам записи. Цитата Какой используете код коррекции ошибок? Коррекция ошибок ECC по Хаффману. Опять же это реализовано в самой файловой системе. Цитата И сколько, к примеру, оперативной памяти требуется файловой системе для работы с разделом в 16 мегабайт (как я понял вы используете NAND128?). Да я работаю NAND128. Мне понадобилось порядка 30 kB в общей сложности.
|
|
|
|
|
Jun 28 2016, 07:45
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(yanvasiij @ Jun 28 2016, 08:33)  Если поднять YAFFS, то мне нужно этим заниматься - это делает за меня файловая система. Бэды она учитывает размещая в spare area флешки данные отличные от FF. Определяет бэдовый ли блок по результатам записи. А если на нанд есть бэды до разворачивания файловой системы? То есть ещё до записи присутствуют битые блоки? Цитата(yanvasiij @ Jun 28 2016, 08:33)  Коррекция ошибок ECC по Хаффману. Опять же это реализовано в самой файловой системе. То есть, насколько я понял из доков, это возможность коррекции ошибки в один бит на каждые 256 байт? Цитата Да я работаю NAND128. Мне понадобилось порядка 30 kB в общей сложности. Не так уж и много  Вы используете первую версию Yaffs, насколько я понял? Можно вас попросить - приведите, пожалуйста, полный дамп нескольких блоков nand с записанными данными и spare областями, интересно посмотреть расположение тэгов\ECC кодов. Но тут, наверное, этим занимается ваш драйвер?
|
|
|
|
|
Jun 28 2016, 15:03
|

Профессионал
    
Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877

|
Цитата(sonycman @ Jun 28 2016, 10:45)  А если на нанд есть бэды до разворачивания файловой системы? То есть ещё до записи присутствуют битые блоки? ... то производитель флешки обычно обещает "в первой странице битого блока не будет FF". Этого достаточно, чтобы при форматировании разобраться, что происходит. Цитата(sonycman @ Jun 28 2016, 10:45)  То есть, насколько я понял из доков, это возможность коррекции ошибки в один бит на каждые 256 байт? Только мужика этого Хэмминг зовут :-) Да, возможность коррекции одного бита (и обнаружения более сложных ошибок) на один блок. Длина блока может быть произвольной (обычно считают ECC по всей странице сразу). Цитата(sonycman @ Jun 28 2016, 10:45)  Можно вас попросить - приведите, пожалуйста, полный дамп нескольких блоков nand с записанными данными и spare областями, интересно посмотреть расположение тэгов\ECC кодов. Но тут, наверное, этим занимается ваш драйвер? По опыту изучения дампов NAND'а WinCE - занятие малоперспективное. Лучше уж эмулятор написать (исходники-то доступны!) и крутить там эту ФС, как душе угодно.
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
Сообщений в этой теме
yanvasiij NANDFlash + микроконтроллер - как бороться с битыми секторами? May 17 2016, 12:02 aaarrr 1. Битыми считаются блоки, а не сектора. Разница с... May 17 2016, 12:10 XVR Цитата(yanvasiij @ May 17 2016, 15:02) В ... May 17 2016, 12:10 yanvasiij Цитата(aaarrr @ May 17 2016, 17:10) 1. Би... May 17 2016, 12:26 dm.pogrebnoy Цитата(yanvasiij @ May 17 2016, 15:26) Сл... May 17 2016, 13:25  jcxz способ 1:
Хранить таблицу битых блоков в первом ис... May 18 2016, 04:42   novikovfb Цитата(jcxz @ May 18 2016, 07:42) Что зна... May 18 2016, 07:29 XVR ЦитатаНо как только я начал писать во флешку это п... May 17 2016, 13:07 yanvasiij Резюмируя вышесказанное XVR, dm.pogrebnoy , jcxz:
... May 18 2016, 06:51 jcxz Цитата(yanvasiij @ May 18 2016, 12:51) Вт... May 18 2016, 08:28  esaulenka Цитата(jcxz @ May 18 2016, 11:28) Вы увер... May 18 2016, 08:59   jcxz Цитата(esaulenka @ May 18 2016, 14:59) Во... May 18 2016, 18:26    aaarrr Цитата(jcxz @ May 18 2016, 21:26) Неужто ... May 18 2016, 20:30    sonycman Цитата(jcxz @ May 18 2016, 22:26) В обычн... May 23 2016, 09:22     jcxz Цитата(sonycman @ May 23 2016, 15:22) А в... May 23 2016, 09:35      sonycman Цитата(jcxz @ May 23 2016, 13:35) А в чём... May 23 2016, 09:44  novikovfb Цитата(jcxz @ May 18 2016, 11:28) Вы увер... May 18 2016, 12:13 esaulenka Второй способ более правильный. Табличка битых бло... May 18 2016, 07:40 yanvasiij Что-то посидел, подумал, порисовал алгоритмы всего... May 18 2016, 11:39 yanvasiij Цитата(jcxz @ May 18 2016, 23:26) ...
Это... May 19 2016, 04:02 _Ivan_33 У меня похожая задача, только нужно реализовать на... May 23 2016, 17:10 _3m Цитата(_Ivan_33 @ May 23 2016, 20:10) Воп... May 23 2016, 18:05 sonycman А вот по поводу ECC (Error Correction Code).
Как п... May 24 2016, 03:26 yanvasiij Удалось мне поднять yaffs на моем STM32F429. Единс... Jun 27 2016, 04:00 sonycman А как решили хранить таблицу бэдов?
Какой использу... Jun 27 2016, 19:26 jcxz Цитата(yanvasiij @ Jun 28 2016, 10:33) Ко... Jun 28 2016, 05:00  esaulenka Цитата(jcxz @ Jun 28 2016, 08:00) Хм.. А ... Jun 28 2016, 06:51   sonycman Цитата(esaulenka @ Jun 28 2016, 19:03) Да... Jun 28 2016, 16:29 yanvasiij Сектор 16 kB без учета spare.
Я хотел сказать ра... Jun 28 2016, 05:15 jcxz Цитата(yanvasiij @ Jun 28 2016, 11:15) Се... Jun 28 2016, 06:04 yanvasiij ЦитатаА если на нанд есть бэды до разворачивания ф... Jun 29 2016, 06:52 sonycman Цитата(yanvasiij @ Jun 29 2016, 10:52) На... Jun 29 2016, 07:32 yanvasiij ЦитатаМаркер битого блока находится не в первых дв... Jun 29 2016, 09:15 sonycman Цитата(yanvasiij @ Jun 29 2016, 13:15) Ту... Jun 29 2016, 09:51 yanvasiij Я решил описать процесс портирования yaffs, если к... Aug 31 2017, 07:08
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|