Site Loader

Содержание

Как избежать износа EEPROM / Хабр

Резюме: Если вы периодически обновляете некоторое значение в EEPROM каждые несколько минут (или несколько секунд), вы можете столкнуться с проблемой износа ячеек EEPROM. Чтобы избежать этого, требуется снижать частоту записей в ячейку. Для некоторых типов EEPROM даже частота записи чаще чем один раз в час может быть проблемой.

Когда вы записываете данные, время летит быстро

EEPROM повсеместно используется для сохранения параметров настройки и журнала работы во встраиваемых системах. К примеру, вы можете хотеть функцию «черного ящика», для записи последних данных на момент аварии или потери питания. Я видел спецификации с требованием записывать подобные данные каждые несколько секунд.

Но проблема в том, что EEPROM имеет ограниченный ресурс числа записей. После 100,000 или миллиона записей (зависит от конкретного чипа), некоторые из ваших систем начнут испытывать проблемы с отказом EEPROM. (Посмотрите в даташит, чтобы узнать конкретную цифру. Если вы хотите выпустить большое число устройств, «наихудший случай», вероятно, более важен чем «типичный»). Миллион записей кажется большой цифрой, но на самом деле он закончится очень быстро. Давайте посмотрим на примере, предположив, что нам нужно сохранять измеренное напряжение в одну ячейку каждые 15 секунд.

1,000,000 записей при одной записи в 15 секунд дают записи в минуту:

1,000,000 / ( 4 * 60 минут/час * 24 часа/день ) = 173.6 дней.
Другими словами, ваша EEPROM исчерпает резерв в миллион записей менее чем через 6 месяцев.

Ниже приведен график, показывающая время до износа (в годах), основанный на периоде обновления конкретной ячейки EEPROM. Ограничительная линия для продукта с продолжительностью жизни 10 лет составляет одно обновление каждые 5 минут 15 секунд для микросхемы с ресурсом 1 миллион записей. Для EEPROM с ресурсом 100К можно обновлять конкретную ячейку не чаще одного раза в 52 минуты. Это означает, что не стоит и надеяться обновлять ячейку каждые несколько секунд, если вы хотите, чтобы ваш продукт работал годы, а не месяцы.

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

Уменьшить частоту

Самый безболезненный способ решить проблему-это просто записывать данные реже. В некоторых случаях требования к системе это позволяют. Или можно записывать только при каких-либо больших изменениях. Однако, с записью, привязанной к событиям, помните о возможном сценарии, при котором значение будет постоянно колебаться, и вызовет поток событий, которые приведут к износу EEPROM.
(Будет неплохо, если вы сможете определить, сколько раз производилась запись в EEPROM. Но это потребует счётчика, который будет храниться в EEPROM… при этом проблема превращается проблему износа счётчика.)

Прерывание по снижению уровня питания

В некоторых процессорах имеется прерывание по низкому уровню питания, которое можно использовать для записи одного последнего значения в EEPROM, в то время как система выключается по потере питания. В общем случае, вы храните интересующее значение в ОЗУ, и сохраняете его в EEPROM только при выключении питания. Или, возможно, вы записываете EEPROM время от времени, и записываете другую копию в EEPROM как часть процедуры выключения, чтобы убедиться, что самые последние данные запишутся.
Важно убедиться, что есть большой конденсатор по питанию, который будет поддерживать напряжение, достаточное для программирования EEPROM достаточно продолжительное время. Это может сработать, если вам нужно записать одно или два значения, но не большой блок данных. Осторожно, тут имеется большое пространство для ошибки!

Кольцевой буфер

Классическое решение проблемы износа-использовать кольцевой буфер FIFO, содержащий N последних записей значения. Так-же понадобится сохранять указатель на конец буфера в EEPROM. Это уменьшает износ EEPROM на величину, пропорциональную числу копий в этом буфере. Например, если буфер проходит через 10 различных адресов для сохранения одного значения, каждая конкретная ячейка модифицируется в 10 раз реже, и ресурс записи возрастает в 10 раз.
Вам также понадобится отдельный счётчик или отметка времени для каждой из 10 копий, чтобы можно было определить, которая из них последняя на момент выключения. Другими словами, понадобится два буфера, один для значения, и один для счетчика. (Если сохранять счетчик по одному и тому-же адресу, это приведёт к его износу, т.к. он должен увеличиваться при каждом цикле записи.) Недостаток этого метода в том, что нужно в 10 раз больше места чтобы получить в 10 раз большую продолжительность жизни. Можно проявить смекалку, и упаковать счетчик вместе с данными. Если вы записываете большое количество данных, добавление нескольких байт для счетчика — не такая уж большая проблема. Но в любом случае, понадобится много EEPROM.
Atmel приготовил аппноут, содержащий все кровавые подробности:
AVR-101: High Endurance EEPROM Storage: www.atmel.com/images/doc2526.pdf

Особый случай для счётчика числа записей


Иногда нужно сохранить счётчик, а не сами значения. К примеру, вы можете хотеть знать число включений прибора, или время работы вашего устройства.
Самое плохое в счётчиках, это то, что у них постоянно меняется младший значащий бит, изнашивая младшие ячейки EEPROM быстрее. Но и тут возможно применить некоторые трюки. В аппноуте от Microchip есть несколько умных идей, таких как использование кода Грея, чтобы только один бит из многобайтового счётчика менялся при изменении значения счетчика. Также они рекомендуют использовать корректирующие коды для компенсации износа. (Я не знаю, насколько эффективно будет применение таких кодов, т.к. это будет зависеть от того, насколько независимы будут ошибки в битах в байтах счётчика, используйте на свой страх и риск, прим. авт.). Смотри аппноут: ww1.microchip.com/downloads/en/AppNotes/01449A.pdf

Примечание: для тех, кто хотел бы узнать больше, Microchip подготовил документ, содержащий детальную информацию об устройстве ячеек EEPROM и их износе с диаграммами:
ftp.microchip.com/tools/memory/total50/tutorial.html

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

Источик: Phil Koopman, «Better Embedded System SW»
betterembsw.blogspot.ru/2015/07/avoiding-eeprom-wearout.html

Примечание переводчика: в последние годы появились микросхемы EEPROM со страничной организацией стирания (подобной микросхемам FLASH), где логически можно адресовать ячейки (читать, записывать и стирать) побайтно, но при этом микросхема невидимо для пользователя стирает всю страницу целиком и перезаписывает новыми данными. Т.е. стерев ячейки по адресу 0, мы фактически стёрли и перезаписали ячейки с адресами 0…255 (при размере страницы 256 байт), поэтому трюк с буфером в этом случае не поможет. При исчерпании ресурс записей у такой микросхемы выходит из строя не одна ячейка, а вся страница целиком. В даташитах для таких микросхем ресурс записи указан

для страницы, а не для конкретной ячейки. Смотри, например, даташит на 25LC1024 от Microchip.

ww1%20transistor%20smd спецификация и примечания по применению

MFG и тип ПДФ Теги документов
57-20240

Реферат: 57-10240-ww2 57-20140 МИЛ-М-14
Текст: Нет доступного текста файла


OCR-сканирование PDF E19071 CSA-LR31996-7 Механ11 635мм) 143 мм) 97-22140-ВВ2 97-22240-ВВ2 97-22360-WW2 97-22500-ВВ2 97-22640-ВВ2 57-20240 57-10240-ww2 57-20140 МИЛ-М-14
2005 — Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал PDF E170218 UL1977) E130965 УЛ1863) LR31996-7.
7-22240-WW5 97-22240-WW5A 97-22360-WW5 97-22360-WW5A 97-22500-ВВ5
МИЛ-Р-26

Реферат: WW-серия TC20 TC50 WW10
Текст: Нет доступного текста файла


Оригинал PDF МИЛ-Р-26 МИЛ-Р-26 WW-серия ТС20 ТС50 10 мировая война
WW10A

Реферат: MIL-R-26 TC20 TC50 WW10 WW-серия ww1 99
Текст: Нет доступного текста файла


Оригинал PDF WW10A МИЛ-Р-26 WW10A МИЛ-Р-26 ТС20 ТС50 10 мировая война WW-серия первая мировая война 99
к 1457

Аннотация: 136R
Текст: Нет доступного текста файла


OCR-сканирование PDF 750 частей на миллион/К Р13-Р51 ТС-10. -80 частей на миллион/К 180 частей на миллион/К WM110 4-12натура 17 октября OO к 1457 136р
CIE1931

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал PDF CIE1931
диод ww1 7d

Резюме: 536752 WU-M-360-W1 Loctite 7387 ww1 51
Текст: Нет доступного текста файла


Оригинал PDF
2012 — МИЛ-Р-26

Аннотация: Резистор rw79* 2,2кОм 3Вт RW74
Текст: Нет доступного текста файла


Оригинал PDF МИЛ-Р-26 СЗВ12, WWS10, NWWS10 СЗВ10, ММВ10, NMWW10 rw79 резистор* 2,2кОм 3Вт RW74
Л102

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал PDF CL-L102-MC3WW1 3500К CE-P433 10 мс 93D001 L102
2002 — Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал PDF МИЛ-Р-39007 МИЛ-Р-26 ММВ10 РВ-78 РВ-70 РВ-79 РВ-67, РВ-74 РВ-68,
диод ww1 7d

Резюме: LOCTITE 227 LOCTITE-242 pliobond CREE фотобиологический 536752 IEC 62471 потенциометры 5k
Текст: Нет доступного текста файла


Оригинал PDF
9218А

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал PDF 218А-ВВ1-018Г 9218Серия 218А-ВВ1-018Г 9218А
2011 — резистор* 2,2кОм 3Вт

Резюме: RW79 RW74
Текст: Нет доступного текста файла


Оригинал PDF МИЛ-Р-26 000Vподробнее резистор* 2,2кОм 3Вт RW79 RW74
2012 — Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал PDF МИЛ-Р-26 NWW12
2012 — Резистор 1K 1Вт

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал PDF МИЛ-Р-26 000Vподробнее 1к резистор 1Вт
2012 — Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал PDFNWW12
ДРАЛОРИК ККА 9

Аннотация: KKA17 vishay kka draloric kka
Текст: Нет доступного текста файла


OCR-сканирование PDF Е12/Е ККА11 ККА17 17 октября OO ДРАЛОРИК ККА 9 вишай кка дралорик кка
536752

Реферат: WU-M-360-W2 WU-M-361-SG WU-M-361-W2 EN62471 LOCTITE 227
Текст: Нет доступного текста файла


Оригинал PDF
ww1 06

Реферат: RW резистор Draloric P4
Текст: Нет доступного текста файла


OCR-сканирование PDF МИЛ-Р-26 180 частей на миллион/К 0-39р МИЛ-Р-26. 17 октября OO LR261 Первая мировая война 06 Резистор RW Дралорик Р4
2011 — РВ70

Резюме: резистор 10 кОм 0,1 5 Вт
Текст: Нет доступного текста файла


Оригинал PDF МИЛ-Р-26 РВ-70 РВ-69 РВ-79 RW70 Резистор 10 кОм 0,1 5 Вт
2011 — WWS10

Реферат: Резистор MIL-R-26 RW-74 RW-78 RW-79 WW10* 2,2 кОм 3 Вт
Текст: Нет доступного текста файла


Оригинал PDF МИЛ-Р-26 РВ-70 РВ-69 WWS10 РВ-74 РВ-78 РВ-79 10 мировая война резистор* 2,2кОм 3Вт
ZWS 50 NI

Аннотация: 8k2j ZWS100E
Текст: Нет доступного текста файла


OCR-сканирование PDF ТС-10. -80 частей на миллион/К 180 частей на миллион/К 17 октября OO ZWS 50 НИ 8к2 дж ZWS100E
ГВС 220

Реферат: Стекловидные резисторы с проволочной обмоткой K30R с наконечниками
Текст: Нет доступного текста файла


OCR-сканирование PDF 180 частей на миллион/К 17-0кт-00 17 октября OO ГВС 220 К30Р Стекловидные резисторы с проволочной обмоткой и наконечниками
2010 — Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал PDF CL-L233-HC13WW1-C CL-L233- HC13WW1-C CL-L233-HC13WW1-C CE-P899
2010 — YF16

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал PDF МИЛ-Р-39007 МИЛ-Р-26 РВ-70 РВ-69 РВ-79 YF16

. ..

smd%20transistor%20ww1 техническое описание и указания по применению

Каталог техническое описание MFG и тип ПДФ Теги документов
СМД 43

Реферат: Катушки индуктивности Силовые катушки индуктивности smd диод j 100N 1FW+43+smd
Текст: Нет доступного текста файла


Оригинал
PDF SDC2D18LD 2Д18ЛД СМД 43 Индукторы Силовые индукторы smd-диод j 100Н 1FW+43+СМД
СДК3Д11

Реферат: smd led smd диод j транзистор SMD 41 068 smd
Текст: Нет доступного текста файла


Оригинал
PDF SDC3D11 смд светодиод smd-диод j транзистор СМД 41 068 смд
СМД 356 В

Реферат: дроссель smd we 470 356 AT smd транзистор smd 24 дроссель smd 470 Led smd smd диод j smd транзистор 560 SDC3D16 SMD INDUCTOR 47
Текст: Нет доступного текста файла


Оригинал
PDF SDC3D16LD 3Д16ЛД СМД 356 АТ индуктор смд мы 470 356 В СМД транзистор СМД 24 индуктор смд 470 светодиод смд smd-диод j смд транзистор 560 SDC3D16 СМД ИНДУКТОР 47
СМД d105

Реферат: SMD a34 B34 SMD smd 028 F индукторы 25 34 SMD силовые индукторы k439
Текст: Нет доступного текста файла


Оригинал
PDF SDS3012E 3012E СМД д105 СМД а34 Б34 СМД СМД 028 Ф катушки индуктивности 25 34 СМД Силовые индукторы к439
к439

Аннотация: B34 SMD SMD a34 SDS301
Текст: Нет доступного текста файла


Оригинал
PDF SDS3015ELD 3015ELD к439 Б34 СМД СМД а34 SDS301
СДК2Д14

Реферат: SDC2D14-2R2N-LF Дроссель bo smd транзистор SMD 24 «Силовые индукторы» СИЛОВЫЕ ДАТЧИКИ smd led smd сопротивление smd p 112
Текст: Нет доступного текста файла


Оригинал
PDF SDC2D14 СДК2Д14-2Р2Н-ЛФ Индуктор бо smd транзистор СМД 24 «Силовые индукторы» СИЛОВЫЕ ИНДУКТОРЫ смд светодиод смд сопротивление смд р 112
СДС2Д10-4Р7Н-ЛФ

Резюме: SDS2D10 smd led smd 83 smd транзистор 560 4263B катушки индуктивности 221 a32 smd
Текст: Нет доступного текста файла


Оригинал
PDF SDS2D10 SDS2D10-4R7N-LF смд светодиод смд 83 смд транзистор 560 4263Б катушки индуктивности 221 а32 смд
2012 — Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF SDC3D28
СДК2Д11-100Н-ЛФ

Реферат: Катушки индуктивности Силовые катушки smd led «Силовые катушки индуктивности» smd 123 smd диод j 4263B SMD INDUCTOR 47
Текст: Нет доступного текста файла


Оригинал
PDF SDC2D11 СДК2Д11-100Н-ЛФ Индукторы Силовые индукторы смд светодиод «Силовые индукторы» смд 123 smd-диод j 4263Б СМД ИНДУКТОР 47
СДК2Д11ХП-3Р3Н-ЛФ

Реферат: Силовые индукторы Катушки индуктивности smd led smd диод j 4263B
Текст: Нет доступного текста файла


Оригинал
PDF SDC2D11HP 2Д11ХП SDC2D11HP-3R3N-LF Силовые индукторы Индукторы смд светодиод smd-диод j 4263Б
2012 — SDC2D14-1R5N-LF

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF SDC2D14 СДК2Д14-1Р5Н-ЛФ
А44 СМД

Резюме: смд 5630 5630 смд койлмастер смд B44 SDS4212E-100M-LF
Текст: Нет доступного текста файла


Оригинал
PDF SDS4212E 4212E A44 СМД смд 5630 5630 смд койлмастер смд б44 SDS4212E-100M-LF
индуктор

Резюме: смд светодиод SDC2D14HPS-221M-LF 13dBo 100N SDC2D14HPS
Текст: Нет доступного текста файла


Оригинал
PDF СДК2Д14ХП 2Д14ЛС индуктор смд светодиод SDC2D14HPS-221M-LF 13 дБ Бо 100Н SDC2D14HPS
катушки индуктивности

Реферат: СИЛОВЫЕ ДАТЧИКИ Диод smd 86 smd диод j 100N SDC2D18HP «Силовые индукторы»
Текст: Нет доступного текста файла


Оригинал
PDF SDC2D18HP 2Д18ХП катушки индуктивности СИЛОВЫЕ ИНДУКТОРЫ Диод смд 86 smd-диод j 100Н «Силовые индукторы»
2012 — Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF SDC2D18HP 2Д18ХП
СМД .
А40

Резюме: a40 smd smd D10 Inductors Power Inductors SMD A40 smd g12
Текст: Нет доступного текста файла


Оригинал
PDF SDS4010E 4010Е СМД .А40 а40 смд смд д10 Индукторы Силовые индукторы СМД А40 смд г12
Силовые индукторы

Реферат: smd диод j 100N Катушки индуктивности
Текст: Нет доступного текста файла


Оригинал
PDF SDC3D18 Силовые индукторы smd-диод j 100Н Индукторы
2Д18

Реферат: катушки индуктивности 221 лф 1250 smd j диод SDS2D18
Текст: Нет доступного текста файла


Оригинал
PDF SDS2D18 2Д18 катушки индуктивности 221 1250 лф smd-диод j
СМД 43

Реферат: катушки индуктивности Power Inductors 3D-14 smd диод j «Power Inductors» 3D14
Текст: Нет доступного текста файла


Оригинал
PDF SDC3D14 СМД 43 катушки индуктивности Силовые индукторы 3Д-14 smd-диод j «Силовые индукторы» 3D14
смд 3250

Реферат: SMD-диод Coilmaster Electronics j
Текст: Нет доступного текста файла


Оригинал
PDF SDC2D09 смд 3250 Койлмастер Электроника smd-диод j
пмб 4220

Резюме: Siemens pmb 4220 PMB 27251 4310 SMD IC 2197-T 82526-N smd 2035 DSP/pmb 4220 PMB27201 SICOFI PEF 2465
Текст: Нет доступного текста файла


OCR-сканирование
PDF 2025-Н 2025-П 2026Т-П 2026Т-С 20320-Н 2035-Н 2035-П 2045-Н 2045-П 2046-Н 4220 пмб Сименс пмб 4220 ПМБ 27251 ИС 4310 для поверхностного монтажа 2197-Т 82526-Н СМД 2035 DSP/пмб 4220 PMB27201 СИКОФИ ПЭФ 2465
Катушки индуктивности

Реферат: Силовые индукторы 068 smd 0621 smd SMD a34 D160 SDS3015EHP-100M-LF
Текст: Нет доступного текста файла


Оригинал
PDF SDS3015EHP 3015EHP Индукторы Силовые индукторы 068 смд 0621 смд СМД а34 Д160 SDS3015EHP-100M-LF
СМД 43

Реферат: Дроссели транзисторные SMD мы SDS2D12-100M-LF h22 smd smd диод j 2D12 3r smd 340 smd «Дроссели силовые»
Текст: Нет доступного текста файла


Оригинал
PDF SDS2D12 СМД 43 Индукторы транзистор SMD мы СДС2Д12-100М-ЛФ h22 смд smd-диод j 2D12 3р смд 340 смд «Силовые индукторы»
2004 — стабилитрон SMD маркировка код 27 4F

Реферат: smd диод шоттки код маркировка 2F smd стабилитрон код 5F panasonic MSL уровень smd стабилитрон код a2 SMD ZENER DIODE a2 smd стабилитрон 27 2f SMD стабилитрон код 102 A2 SMD стабилитрон SMD MARK A1
Текст: Нет доступного текста файла


Оригинал
PDF 2002/95/ЕС) стабилитрон SMD маркировка код 27 4F SMD-диод с кодом Шоттки, маркировка 2F smd стабилитрон код 5F уровень Panasonic MSL smd стабилитрон код a2 SMD ЗЕНЕР ДИОД a2 смд стабилитрон 27 2ф Маркировка стабилитрона SMD код 102 A2 для поверхностного монтажа стабилитрон SMD MARK A1
5a6 стабилитрон

Реферат: Двойной MOSFET dip стабилитрон 6.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *