Полная версия этой страницы:
Изнашиваемость EEPROM
Вопрос такого плана.
Допустим в EEPROM нужно хранить информацию, которую нужно часто читать, но редко перезаписывать.
На сколько прочтений расчитан EEPROM ?
В доке на AVR написано, что на 100k чтений/записей,
а в доке на At24c256 написано на 100k записей.
Значит ли это, что At24c256 можно читать сколько угодно,
а меговский EEPROM через 100k чтений посыпется ?
vesago
Nov 25 2006, 18:03
Читать можно хоть до посинения. Писать ограниченно. Или писатели ошиблись или вы не так поняли.
Hardman
Nov 25 2006, 19:00
В доке на AVR написано, что на 100k чтений/записей
Интересно, что за документ такой?
Устройства типа EEPROM выдерживают ограниченное число операций записи, что является следствием тяжелых стрессовых условий, связанных с записью. Устройства с плавающим затвором выходят из строя после 100 000 - 1 000 000 циклов записи.
Цитата(vitko @ Nov 25 2006, 17:52)

На сколько прочтений расчитан EEPROM ?
В доке на AVR написано, что на 100k чтений/записей,
Вообще-то там написано: 100,000 Write/Erase Cycles
Так что можно читать сколько хочется...
Nanobyte
Nov 26 2006, 13:24
Данные из практики.
В одном из моих приборов EEPROM считывается примерно 1000 раз в секунду, работает уже около 7 лет, сбоев нет.
Serj78
Nov 26 2006, 19:47
а у меня наоборот, в одном из устройств 5 лет назад (программируемый таймер на 2313) еепром постоянно перезаписывался в процессе нахождения внутри меню утановок, результат- через пару лет ячейка которой чаще всего пользовались, перестала записываться - после отключения питания там были нули.
исправил так- сместил весь массив ниже, благо всего 40 байт, и запись сделал по выходу из меню установок.
Hardman
Nov 26 2006, 21:27
Цитата(Serj78 @ Nov 26 2006, 19:47)

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

а у меня наоборот, в одном из устройств 5 лет назад (программируемый таймер на 2313) еепром постоянно перезаписывался в процессе нахождения внутри меню утановок
Я имел в виду только чтение, т.е за 7 лет EEPROM прочитан(!) свыше 70 млрд раз (при работе 8 часов в сутки). То-есть читать можно сколько угодно, а вот писать, увы ...
PS Наверное, нужно будет взять AVR с битыми портами (какой уже не жалко), да попытаться определить реальный ресурс записи EEPROM. Если записывать 10 раз в секунду, то за 3 часа будет выработан весь ГАРАНТИРОВАННЫЙ ФИРМОЙ ресурс для ранних моделей МК, а для современных потребуется больше суток. Посмотрим, сколько реально продержится.
MichaelU
Nov 27 2006, 10:18
Лучше конечно немного оптимизировать алгоритм и тогда и 100 000 перезаписей не будет беспокоить.
Для промежуточного хранения использовать ОЗУ, регистры. Если нужно циклически сохранять какие-то важные данные, то можно поставить два супервизора, а посередине конденсатор - при отключении питания будет время сохраниться.

Ну и сторожевой таймер для надежности.
Вставлю свои пять копеек из опыта. Читать можно неограниченно. Устройство на AT90S2313 серия около 2000 штук. Перезапись редкая. По вине памяти выходов из строя не наблюдалось.
IgorKossak
Nov 27 2006, 18:17
Цитата(Nanobyte @ Nov 26 2006, 21:06)

... Наверное, нужно будет взять AVR с битыми портами (какой уже не жалко), да попытаться определить реальный ресурс записи EEPROM....
Делали такой эксперимент.
Реальный результат на разных МК от 105 до 110 тысяч циклов.
Так что получается довольно близко к заявленным параметрам.
советую перед записи сравнить содержимое ячеики с записываемым, и перепрыгать если они равные. это не только увеличивает ресурс eeprom но и ускоряет процесс записи.
Цитата(Nanobyte @ Nov 26 2006, 22:06)

Наверное, нужно будет взять AVR с битыми портами (какой уже не жалко), да попытаться определить реальный ресурс записи EEPROM. Если записывать 10 раз в секунду, то за 3 часа будет выработан весь ГАРАНТИРОВАННЫЙ ФИРМОЙ ресурс для ранних моделей МК, а для современных потребуется больше суток. Посмотрим, сколько реально продержится.
Недостоверный результат будет. Бо при 100к цыклов Атымель гарантирует СОХРАНЕНИЕ данных в течение N лет. А то что вы, в конце концоф намеряете, это просто ресурс на физическую деградаццыю ячейки. До полного разрушения многозатворника. Это на пару порядков больше реального кол-ва циклов.
Nanobyte
Nov 29 2006, 03:58
Цитата(mse @ Nov 28 2006, 12:58)

Недостоверный результат будет. Бо при 100к цыклов Атымель гарантирует СОХРАНЕНИЕ данных в течение N лет. А то что вы, в конце концоф намеряете, это просто ресурс на физическую деградаццыю ячейки...
Результат будет самый что ни на есть достоверный. Atmel нигде не пишет о сохранности данных в течении N лет. Пишет именно о числе циклов Write/Erase.
MichaelU
Nov 29 2006, 09:59
Цитата(Nanobyte @ Nov 29 2006, 03:58)

Результат будет самый что ни на есть достоверный. Atmel нигде не пишет о сохранности данных в течении N лет. Пишет именно о числе циклов Write/Erase.
Есть такой параметр для EEPROM-памяти как ~гарантированное время хранения данных. Но это связано с выбиванием с течением времени электронов, в основном за счет радиации, хотя наверное при физической деградации зоны инжекции от перезаписей время хранения постепенно уменьшается.
agnedbay
Dec 12 2006, 14:03
Вот статейка не AVR, но по теме, от чего зависит, графики, результаты итп.
Походу, нужно ставить внешнюю EEPROM, да с хорошим ресурсом, если место и порты позволяют, чтобы потом весь контроллер не выдирать из платы.
Aleksandr Baranov
Nov 21 2008, 17:51
Polaris
Nov 21 2008, 22:44
Цитата(МП41 @ Nov 21 2008, 16:59)

Походу, нужно ставить внешнюю EEPROM, да с хорошим ресурсом, если место и порты позволяют, чтобы потом весь контроллер не выдирать из платы.
Экономнее использовать нужно, не переписывать, если ничего не менялось, оптимизировать число обращений, тогда и внешняя EEPROM не понадобится. Как и писали тут уже. Вряд ли качество EEPROM у Atmel хуже, чем у других. А если уж выдирать придется, то опять же, что так не будет работать, что так.
nick-l
Nov 25 2008, 10:11
Сам сталкивался, с ЭПРОМ 24С16, стояла в телефоне с АОН, кажтую минуту АОН в нее время записывал, через два года с немногим, часы перестали идти, что и сранивается с расчетным числом записей 1 млн. как и в даташите на микросху написано.
Кстати, у меня в АОНе перестал звонок работать, все настройки перекопал, громкость стоит на максимуме, все должно работать, динамик целый. Может это тоже из-за EEPROM? Громкость в ней же храниться будет? Хотя это надо постоянно крутить громкость 2 года

, чтобы ячейку испортить.
Maik-vs
Nov 26 2008, 08:08
Если действительно нужно часто писать в EEPROM, то можно увеличить ресурс, записывая в разные места памяти, например, циклический буфер с контролем (CRC, дублирование и т.д.) Если и этого мало, то есть внешняя FRAM, flash, память с батарейкой.
А вообще-то тема поднималась неоднократно, и на количество записей проверяли уже многие.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.