Перейти к содержанию
    

Электрическая стойкость Flash

STM32F030xxxx, наверное, и другие мк STM32. Использую флеш как eeprom. И вот возник такой затруднений. Циклы флеша расходуются только при стирании страницы или и при записи каждого байта? 

Чтоб понятней. Вначале я стираю всю страницу, потом записываю байты по разным адресам уже не стирая всей страницы. Раньше флеш не использовал в таком виде, как-то не задумывался.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Грубо, из того что знаю:

На 99.9 циклы расходуются при стирании.

на 0.05 при записи

но также информация портится и при чтении, и при магнитном, и при температурном воздействии...

 

PS: проценты с потолка...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Грубо говоря ресурс флэша считается отдельно для каждой ячейки. Так что при последовательной записи в страницу будет израсходован 1 цикл (когда допишете флэш до конца)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мнения расходятся и тырнет, тоже в этом вопросе не помогает.

Собственно из-за чего весь сырбор. В DS на F030 (таблица 40) указано, что стойкость флеша 1килоцикл (может опечатка, поскольку на F031, в той же табл. 40, фигурирует уже 10K). Немного. Но пришла мысля заполнять флеш последовательно - ищем первую свободную ячейку и пишем туда, в следующую запись берем следующую ячейку и т.д. При чтении ищем последнюю ячейку не равную FFFFFFFF и это будут актуальные данные. Забили весь флеш - стерли страницу и заново.

В одну страницу (1 килобайт), не стирая ее, можем записать 256 раз и в итоге имеем в резерве 256 тысяч записей. Уже что-то. 

Вопрос весь в том, если при записи одной ячейки флеш расходуется так же как и при стирании страницы, то на фиг нужно заморачиваться с алгоритмом. Тогда спокойно можно работать с выбранной ячейкой и не париться.

 

ЗЫ. Поставить EEPROMку не могу, монтаж и так уже с двух сторон.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 минут назад, Vlad_G сказал:

Собственно из-за чего весь сырбор. В DS на F030 (таблица 40) указано, что стойкость флеша 1килоцикл (может опечатка, поскольку на F031, в той же табл. 40, фигурирует уже 10K). Немного. Но пришла мысля заполнять флеш последовательно - ищем первую свободную ячейку и пишем туда, в следующую запись берем следующую ячейку и т.д. При чтении ищем последнюю ячейку не равную FFFFFFFF и это будут актуальные данные. Забили весь флеш - стерли страницу и заново.

В одну страницу (1 килобайт), не стирая ее, можем записать 256 раз и в итоге имеем в резерве 256 тысяч записей. Уже что-то. 

Вы почти изобрели Wear Leveling =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, Vlad_G сказал:

Циклы флеша расходуются только при стирании страницы или и при записи каждого байта?

Имхо - только при стирании.

43 минуты назад, Vlad_G сказал:

ЗЫ. Поставить EEPROMку не могу, монтаж и так уже с двух сторон.

Так поставьте МК со встроенной FRAM и вообще забудьте о таких проблемах как выравнивание износа и т.п.  :dance4:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Со стойкостью в 1000 циклов надежнее провести практический эксперимент. Скорее всего реальная стойкость окажется в 10-100 раз лучше, но все равно получается обозримое время. Микросхемы не слишком дорогие, можно извести несколько штук ради науки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Некоторые STM8 имеют ресурс Program NVM 100 циклов. Именно 100. Не 100 тысяч, а 100. И, судя по отзывам, некоторые микросхемы дохли после ~80-го цикла прошивки, а некоторые жили дольше 200 циклов. Так что тут не угадаешь.

ИМХО, отлаживаться нужно на жирном железе (в плане ресурса по износу Flash), а в серию пихать малоресурсные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Flood сказал:

Со стойкостью в 1000 циклов надежнее провести практический эксперимент. Скорее всего реальная стойкость окажется в 10-100 раз лучше, но все равно получается обозримое время.

Все правильно в даташите написано "не менее..." может быть и 100К раз, но в конкретной партии, след. партия выдержит на 10 циклов больше, чем указано, поэтому толку от этого эксперимента ноль.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, mantech сказал:

Все правильно в даташите написано "не менее..." может быть и 100К раз, но в конкретной партии, след. партия выдержит на 10 циклов больше, чем указано, поэтому толку от этого эксперимента ноль.

Эксперимент для сравнения стирания с частичной записью страницы, а не для измерения абстрактной стойкости к износу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 28.01.2019 в 21:26, Obam сказал:

У кого "ARM, 32 bit" (тема, да?) c FRAM на борту есть?

И что что у ТС ARM? 99% вероятность что он там по причине наличия Куба. И для решения задачи вполне возможно подойдёт MSP430 с FRAM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 hours ago, jcxz said:

99% вероятность

Не угадали. Куб вторичен (грех не пользоваться если есть, но, все есть лекарство и все есть яд, все дело в дозировке).  Контроллеров много с EEPROM, а наследство одно. Вот и приходится осваивать по ходу пьесы. Лично я поставил б микрочип, хватило бы заглаза.

За мнения спасибо! Реально, да, остается экспериментальная проверка. Придут чипы - попробую, сейчас кошки закончились :о)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И что что у ТС ARM?


то, что не MSP... давайте хохмы ради спросим у ТСа - на какой частоте у него ядро "молотит": если до 25МГц, то - да, 430й с FRAMом (и заметьте - ни у кого, кроме TI, процов с такой памятью нет) - альтернатива.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 hours ago, Obam said:

хохмы ради спросим у ТСа - на какой частоте у него ядро "молотит"

По частоте - 48 мег, ради 11 битного шима на частоте 23 кгц.

Изменено пользователем Vlad_G

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...