Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: NAND Flash
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Volkov
Не могу понять пользы от этой команды.
Если произошла ошибка при записи страницы, не проще ли перезаписать, данные в другой блок, из буфера контроллера?
tAmega
CopyBACK насколько я помню, это перемещение страниц внутри девайса, без участия внешнего интерфейса. Скажем есть блок, мы перезаписываем первые две страницы блока.
Тогда мы читаем первые две страницы, меняем там данные, затем пишем эти две страницы в новое место, и остальную часть первого блока перетаскиваем на новое место COPYBACK.
Команда резко сокращает накладные расходы.
Volkov
Страницы без ошибок, согласен, будет быстрее перетаскивать CopyBack-ом. А плохие?
Все равно, нужно прочитать страницу в контроллер, исправить ошибку, перезаписать в кеш, и запрограммировать в страницу другого блока.
А если времени перезаписывать все страницы в блоке нет? Можно ли, при появлении ошибки в странице, перезаписать ее в другой блок,
и продолжить запись в другом блоке, не перезаписывая остальные страницы плохого блока?
tAmega
Не знаю, это зависит от конкретной реализации чипа NAND, у них протоколы работы слегка отличаются. И честно скажу, давно не поднимал этой темы. Пускай кто другой подскажет. Извините.
Volkov
Спасибо. Спаяют плату, буду пробовать.
aaarrr
Цитата(Volkov @ Mar 17 2012, 18:58) *
Можно ли, при появлении ошибки в странице, перезаписать ее в другой блок,
и продолжить запись в другом блоке, не перезаписывая остальные страницы плохого блока?

Вообще, блоки бракуются и заменяются целиком, и меняются сразу, "не отходя от кассы". Вопрос времени должна снимать буферизация.
Volkov
Вот еще странная ситуация. Данные с флеш читаются с ошибкой, но при чтении статус регистра флеш не показывает ошибки программирования. А по сути должна.
aaarrr
Цитата(Volkov @ May 4 2012, 14:11) *
Данные с флеш читаются с ошибкой, но при чтении статус регистра флеш не показывает ошибки программирования. А по сути должна.

Статус отражает не все типы ошибок, нули на месте единиц будут проигнорированы.
Alex11
Цитата
А если времени перезаписывать все страницы в блоке нет? Можно ли, при появлении ошибки в странице, перезаписать ее в другой блок,
и продолжить запись в другом блоке, не перезаписывая остальные страницы плохого блока?

Формально нельзя, но реально все работает. Если страницы уже записаны, то ничего с ними не бывает дальше. Нужно только при ближайшем стирании блок выбраковывать.
Mad_max
Цитата(Volkov @ May 4 2012, 14:11) *
Вот еще странная ситуация. Данные с флеш читаются с ошибкой, но при чтении статус регистра флеш не показывает ошибки программирования. А по сути должна.

Какой характер ошибки? Если один два бита ошибочные, то это имеет место быть. Производители nand чипов рекомендуют использовать на стороне хост софта
коды исправляющие ошибки. Это может быть простой Хемминг или более крутые коды, например, BCH.
Если ошибок гораздо больше, то блок деградировал в процессе эксплуатации, такое тоже может быть. В этом случае в этот блок нужно пометить как "плохой" и исключить его из работы.
Volkov
Случайно зашил зацикленный процесс записи/чтения, после этого в первые 32 блока данные совсем не пишутся.
После 32 го все окей. А писал нули в 0-4095, дальше шли 24 байта "ff" - ECC.
Так теперь, если игнорятся нули на месте едениц, то и статус не выдает ошибку.
Только вот неужели все ячейки деградировали, сколько не пытаюсь записать в эти битые блоки, читаются нули, ну и ECC с ошибками.
Получается, если я не могу записать, так и ERASE наверное не сотрет эти блоки
aaarrr
Вы страницы и блоки не путаете случайно?
Volkov
Нет, пишу в первую страницу блоков.
aaarrr
Цитата(Volkov @ May 5 2012, 18:02) *
Получается, если я не могу записать, так и ERASE наверное не сотрет эти блоки

Стоп. А как можно писать без предварительного стирания, если в странице уже нули сплошь?
RN3DHR
Доброго времени суток. А кто применял copy-back, можете уточнить процесс... у меня никак не хочет копировать ( мс HY27UT088G2M ).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.