реклама на сайте
подробности

 
 
> NANDFlash + микроконтроллер - как бороться с битыми секторами?
yanvasiij
сообщение May 17 2016, 12:02
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Доброго времени суток!

Пишу драйвер для вот этой NAND и озадачился вопросом о битых секторах. В даташите написано, что на каждой флешке уже с завода может быть определенное количество битых секторов, и прежде чем ей пользоваться нужно при первом включении пробежаться алгоритмом, который указан все в том же даташите и запомнить адреса битых секторов. Я правильно понимаю, что мне нужна другая энергонезависимая память (например флеш на процессоре), чтобы хранить таблицу битых адресов? И нет других способов борьбы с ними?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yanvasiij
сообщение Jun 28 2016, 04:33
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Цитата(sonycman @ Jun 28 2016, 00:26) *
А как решили хранить таблицу бэдов?


Если поднять YAFFS, то мне нужно этим заниматься - это делает за меня файловая система. Бэды она учитывает размещая в spare area флешки данные отличные от FF. Определяет бэдовый ли блок по результатам записи.

Цитата
Какой используете код коррекции ошибок?


Коррекция ошибок ECC по Хаффману. Опять же это реализовано в самой файловой системе.

Цитата
И сколько, к примеру, оперативной памяти требуется файловой системе для работы с разделом в 16 мегабайт (как я понял вы используете NAND128?).


Да я работаю NAND128. Мне понадобилось порядка 30 kB в общей сложности.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 28 2016, 07:45
Сообщение #3


Любитель
*****

Группа: Свой
Сообщений: 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 в общей сложности.

Не так уж и много wink.gif

Вы используете первую версию Yaffs, насколько я понял?

Можно вас попросить - приведите, пожалуйста, полный дамп нескольких блоков nand с записанными данными и spare областями, интересно посмотреть расположение тэгов\ECC кодов.
Но тут, наверное, этим занимается ваш драйвер?
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Jun 28 2016, 15:03
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 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 - занятие малоперспективное. Лучше уж эмулятор написать (исходники-то доступны!) и крутить там эту ФС, как душе угодно.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 20:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01421 секунд с 7
ELECTRONIX ©2004-2016