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

 
 
 
Reply to this topicStart new topic
> Bad Block в NAND, Стоит задача найти Bad Block при первом включение.
Serg1976
сообщение Oct 16 2014, 11:48
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 6-07-04
Пользователь №: 278



Добрый день!
Использую NAND MT29F8G08ABABA. Стоит задача найти Bad Block при первом включение. У м/с есть команда READ PARAMETER PAGE (ECh) с помощью которой читаю параметр страницы Bad blocks maximum per LUN (2 байта), значения равны 28 и 00 согласно datasheet. Что означают эти значения, как это понимать, поясните пожалуйста? Команда READ PARAMETER PAGE имеет 2 цикла: команда и адрес. В данной команде посылаемый адрес это адрес блока?
Спасибо.
Go to the top of the page
 
+Quote Post
SM
сообщение Oct 18 2014, 15:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Никак нельзя найти бэд-блоки, кроме как просканировав весь массив.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Dec 24 2014, 18:03
Сообщение #3


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

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



Можно вопрос по NAND почти в тему?

Заметил в одном устройстве, что при загрузке бутлоадера бэд блок детектируется так: считываются первые 6 OOB байт первых двух страниц блока и сравниваются с 0xFF.
Если хоть один байт не равен 0xFF - блок считается битым.

При этом код бутлоадера и UBOOT на флехе лежат в единственном экземпляре, пусть и с 4-ёх битной ECC.

А как же быть с Bit Disturb у NAND памяти - если хоть один битик из области OOB "проморгнет" в нолик - блок забракуется, даже несмотря на то, что все остальные данные в порядке!
В итоге система не загрузится.

Неужели вероятность этого настолько мала, что разработчики даже не удосужились разместить дополнительные копии загрузчиков?
Go to the top of the page
 
+Quote Post
savver
сообщение Feb 6 2015, 16:29
Сообщение #4





Группа: Участник
Сообщений: 11
Регистрация: 28-06-11
Пользователь №: 65 945



Цитата(Serg1976 @ Oct 16 2014, 15:48) *
Добрый день!
Использую NAND MT29F8G08ABABA. Стоит задача найти Bad Block при первом включение. У м/с есть команда READ PARAMETER PAGE (ECh) с помощью которой читаю параметр страницы Bad blocks maximum per LUN (2 байта), значения равны 28 и 00 согласно datasheet. Что означают эти значения, как это понимать, поясните пожалуйста? Команда READ PARAMETER PAGE имеет 2 цикла: команда и адрес. В данной команде посылаемый адрес это адрес блока?
Спасибо.


Рекомендую посмотреть стандарт на память, ONFI какой-то там (в даташите на микросхему указано какому стандарту она соответствует).
В стандарте все прописано + пример на псевдокоде, привожу какой-то свой старый скриншот из onfi 2.2.

Вкратце, для новой микросхемы с завода помечают - на самой первой странице каждого блока (хотя в стандарте написано, что может быть и последняя страница), 1й байт(слово) в дополнительной области (spare area). Если он равен 0, а не FF это заводской битый блок

Сообщение отредактировал savver - Feb 6 2015, 16:31
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

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

 


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


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