Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Изнашиваемость EEPROM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
vitko
Вопрос такого плана.
Допустим в EEPROM нужно хранить информацию, которую нужно часто читать, но редко перезаписывать.
На сколько прочтений расчитан EEPROM ?
В доке на AVR написано, что на 100k чтений/записей,
а в доке на At24c256 написано на 100k записей.
Значит ли это, что At24c256 можно читать сколько угодно,
а меговский EEPROM через 100k чтений посыпется ?
vesago
Читать можно хоть до посинения. Писать ограниченно. Или писатели ошиблись или вы не так поняли.
Hardman
В доке на AVR написано, что на 100k чтений/записей
Интересно, что за документ такой?

Устройства типа EEPROM выдерживают ограниченное число операций записи, что является следствием тяжелых стрессовых условий, связанных с записью. Устройства с плавающим затвором выходят из строя после 100 000 - 1 000 000 циклов записи.
AVR
Цитата(vitko @ Nov 25 2006, 17:52) *
На сколько прочтений расчитан EEPROM ?
В доке на AVR написано, что на 100k чтений/записей,

Вообще-то там написано: 100,000 Write/Erase Cycles biggrin.gif
Так что можно читать сколько хочется... smile.gif
Nanobyte
Данные из практики.
В одном из моих приборов EEPROM считывается примерно 1000 раз в секунду, работает уже около 7 лет, сбоев нет.
Serj78
а у меня наоборот, в одном из устройств 5 лет назад (программируемый таймер на 2313) еепром постоянно перезаписывался в процессе нахождения внутри меню утановок, результат- через пару лет ячейка которой чаще всего пользовались, перестала записываться - после отключения питания там были нули.

исправил так- сместил весь массив ниже, благо всего 40 байт, и запись сделал по выходу из меню установок.
Hardman
Цитата(Serj78 @ Nov 26 2006, 19:47) *
запись сделал по выходу из меню установок.

Для работы с EEPROM это самый оптимальный вариант. Если нужны промежуточные результаты то лучше использовать ОЗУ, а при окончании операции записывать в EEPROM. И вообщу при написании программы надо избегать циклические записи в EEPROM.
Nanobyte
Цитата(Serj78 @ Nov 26 2006, 20:47) *
а у меня наоборот, в одном из устройств 5 лет назад (программируемый таймер на 2313) еепром постоянно перезаписывался в процессе нахождения внутри меню утановок

Я имел в виду только чтение, т.е за 7 лет EEPROM прочитан(!) свыше 70 млрд раз (при работе 8 часов в сутки). То-есть читать можно сколько угодно, а вот писать, увы ...

PS Наверное, нужно будет взять AVR с битыми портами (какой уже не жалко), да попытаться определить реальный ресурс записи EEPROM. Если записывать 10 раз в секунду, то за 3 часа будет выработан весь ГАРАНТИРОВАННЫЙ ФИРМОЙ ресурс для ранних моделей МК, а для современных потребуется больше суток. Посмотрим, сколько реально продержится.
MichaelU
Лучше конечно немного оптимизировать алгоритм и тогда и 100 000 перезаписей не будет беспокоить.
Для промежуточного хранения использовать ОЗУ, регистры. Если нужно циклически сохранять какие-то важные данные, то можно поставить два супервизора, а посередине конденсатор - при отключении питания будет время сохраниться. smile.gif Ну и сторожевой таймер для надежности.
Семён
Вставлю свои пять копеек из опыта. Читать можно неограниченно. Устройство на AT90S2313 серия около 2000 штук. Перезапись редкая. По вине памяти выходов из строя не наблюдалось.
IgorKossak
Цитата(Nanobyte @ Nov 26 2006, 21:06) *
... Наверное, нужно будет взять AVR с битыми портами (какой уже не жалко), да попытаться определить реальный ресурс записи EEPROM....

Делали такой эксперимент.
Реальный результат на разных МК от 105 до 110 тысяч циклов.
Так что получается довольно близко к заявленным параметрам.
proba
советую перед записи сравнить содержимое ячеики с записываемым, и перепрыгать если они равные. это не только увеличивает ресурс eeprom но и ускоряет процесс записи.
mse
Цитата(Nanobyte @ Nov 26 2006, 22:06) *
Наверное, нужно будет взять AVR с битыми портами (какой уже не жалко), да попытаться определить реальный ресурс записи EEPROM. Если записывать 10 раз в секунду, то за 3 часа будет выработан весь ГАРАНТИРОВАННЫЙ ФИРМОЙ ресурс для ранних моделей МК, а для современных потребуется больше суток. Посмотрим, сколько реально продержится.

Недостоверный результат будет. Бо при 100к цыклов Атымель гарантирует СОХРАНЕНИЕ данных в течение N лет. А то что вы, в конце концоф намеряете, это просто ресурс на физическую деградаццыю ячейки. До полного разрушения многозатворника. Это на пару порядков больше реального кол-ва циклов.
Nanobyte
Цитата(mse @ Nov 28 2006, 12:58) *
Недостоверный результат будет. Бо при 100к цыклов Атымель гарантирует СОХРАНЕНИЕ данных в течение N лет. А то что вы, в конце концоф намеряете, это просто ресурс на физическую деградаццыю ячейки...

Результат будет самый что ни на есть достоверный. Atmel нигде не пишет о сохранности данных в течении N лет. Пишет именно о числе циклов Write/Erase.
MichaelU
Цитата(Nanobyte @ Nov 29 2006, 03:58) *
Результат будет самый что ни на есть достоверный. Atmel нигде не пишет о сохранности данных в течении N лет. Пишет именно о числе циклов Write/Erase.




Есть такой параметр для EEPROM-памяти как ~гарантированное время хранения данных. Но это связано с выбиванием с течением времени электронов, в основном за счет радиации, хотя наверное при физической деградации зоны инжекции от перезаписей время хранения постепенно уменьшается.
agnedbay
Вот статейка не AVR, но по теме, от чего зависит, графики, результаты итп.
МП41
Походу, нужно ставить внешнюю EEPROM, да с хорошим ресурсом, если место и порты позволяют, чтобы потом весь контроллер не выдирать из платы.
Polaris
Цитата(МП41 @ Nov 21 2008, 16:59) *
Походу, нужно ставить внешнюю EEPROM, да с хорошим ресурсом, если место и порты позволяют, чтобы потом весь контроллер не выдирать из платы.

Экономнее использовать нужно, не переписывать, если ничего не менялось, оптимизировать число обращений, тогда и внешняя EEPROM не понадобится. Как и писали тут уже. Вряд ли качество EEPROM у Atmel хуже, чем у других. А если уж выдирать придется, то опять же, что так не будет работать, что так.
nick-l
Сам сталкивался, с ЭПРОМ 24С16, стояла в телефоне с АОН, кажтую минуту АОН в нее время записывал, через два года с немногим, часы перестали идти, что и сранивается с расчетным числом записей 1 млн. как и в даташите на микросху написано.
МП41
Кстати, у меня в АОНе перестал звонок работать, все настройки перекопал, громкость стоит на максимуме, все должно работать, динамик целый. Может это тоже из-за EEPROM? Громкость в ней же храниться будет? Хотя это надо постоянно крутить громкость 2 года smile.gif, чтобы ячейку испортить.
Maik-vs
Если действительно нужно часто писать в EEPROM, то можно увеличить ресурс, записывая в разные места памяти, например, циклический буфер с контролем (CRC, дублирование и т.д.) Если и этого мало, то есть внешняя FRAM, flash, память с батарейкой.
А вообще-то тема поднималась неоднократно, и на количество записей проверяли уже многие.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.