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

 
 
 
Reply to this topicStart new topic
> проблема с NAND Flash MT29F04F01, Запись работает только после Erase
_Ivan_33
сообщение May 28 2014, 09:11
Сообщение #1


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



Всем привет!

Есть платка с плиской и NAND Flash MT29F04G01

Сделал ядро управления. Начал читать и писать. Там есть кэш-регистр, куда первоначально данные складываются для записи и для чтения. Вот если его читать и писать все нормально.
После загрузки в кэш нужно дать команду program execute и она перенесет данные оттуда в массив NAND элементов. Но почему-то у меня запись такая работает только после команды erase. Иначе записывает какую-то белиберду, отдаленно напоминающую бывшие и записанные данные.
Вопрос таков - это стандартное поведение NAND FLASH или мой косяк?

Вот с NOR флэш все работает пучком, а тут только после ERASE и только 1 раз.


--------------------
Go to the top of the page
 
+Quote Post
adnega
сообщение May 28 2014, 09:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



После erase все битики устанавливаются в 1. Вы можете записывать 0, запись 1 не меняет значения.
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение May 28 2014, 10:05
Сообщение #3


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



так получается что запись тупо изменяет биты из 1 в 0, а из 0 в 1 нет?


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 28 2014, 10:38
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(_Ivan_33 @ May 28 2014, 18:15) *
так получается что запись тупо изменяет биты из 1 в 0, а из 0 в 1 нет?

Именно так.
Go to the top of the page
 
+Quote Post
adnega
сообщение May 28 2014, 10:39
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Так точно.
Go to the top of the page
 
+Quote Post
Sanyao
сообщение May 29 2014, 00:21
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 236
Регистрация: 4-07-05
Из: Подмосковье
Пользователь №: 6 521



читайте отличия NAND и NOR. По названию они обе флеш, но работа с ними существенно различается. Для всех запоминающих устройств на базе Flash для того чтоб записать (правильно вроде говорят запрограммировать) нужно выполнить стирание. Для NAND минимальный объем стираемой области - блок. для NOR обычно сектор. Еще в NAND бывают изначально (да и со временем появляются) "неисправные" блоки (invalid blocks). Это тоже надо учитывать (см. раздел Error Management или что-то похожее). В NAND даже структура страницы построена так, чтобы оставалась область для хранения кодов коррекции ошибок (например ECC), т.к. надежность ячеек невелика.
Если есть желание нормально разобраться с NAND - погуглите книжку Inside NAND-Flash memory. В ней есть все - от физики процесса в ячейках флеша до протоколов обмена.
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение May 29 2014, 03:05
Сообщение #7


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



Господа, спасибо большое!

Отсутствие опыта - оно такое. Потратил на эту фичу около недели)))


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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