Сколько лет хранится прошивка в микроконтроллере?
Обновлено Редакция GAW
Флеш-память хранит программу зарядом в изолированных ячейках, и этот заряд медленно утекает. Насколько медленно, производители указывают в даташите как срок хранения данных (data retention). Он зависит от двух вещей: температуры и того, сколько раз память уже перезаписывали.
| Микроконтроллер | Условия | Срок хранения |
|---|---|---|
| ATmega328P | 85 °C | 20 лет |
| ATmega328P | 25 °C | 100 лет |
| STM32F103 | 1 000 циклов записи, 85 °C | 30 лет |
| STM32F103 | 1 000 циклов записи, 105 °C | 10 лет |
| STM32F103 | 10 000 циклов записи, 55 °C | 20 лет |
У Microchip это прогноз по результатам квалификации надёжности: доля отказов хранения меньше 1 ppm, то есть меньше одной отказавшей микросхемы на миллион, за указанный срок. У ST значения получены характеризацией и даны как минимум.
Что сокращает срок
Нагрев. У STM32F103 разница между 85 и 105 °C — втрое: 30 лет против 10. Устройство в горячем корпусе или рядом с силовой частью хранит прошивку хуже.
Износ. Чем больше циклов записи прошла страница, тем хуже она держит заряд: у STM32F103 после 10 000 циклов гарантированы 20 лет уже только при 55 °C. Сколько циклов выдерживает память и как её не изнашивать, разбирает ответ «Сколько раз можно перепрошить микроконтроллер».
Для прошивки, которую записали несколько раз и больше не трогают, оба производителя обещают десятилетия. Если программа хранит настройки, их надёжнее держать в EEPROM, где у ATmega328P ресурс записи в 10 раз выше. Устройство памяти этих микроконтроллеров описано на страницах ATmega328P и «Flash и загрузчик STM32».
Похожие вопросы
Может ли прошивка стереться сама?
Со временем — нет, если устройство не перегревается: у ATmega328P доля отказов хранения меньше одной миллионной за 20 лет при 85 °C. Гораздо чаще данные портит запись при слишком низком напряжении питания: Microchip предупреждает, что так повреждается содержимое EEPROM, и советует включать детектор пониженного питания.
Хранится ли EEPROM так же долго, как флеш-память?
Даташит ATmega328P указывает один срок хранения, не разделяя флеш-память и EEPROM, — 20 лет при 85 °C и 100 лет при 25 °C. Отличается ресурс записи: у EEPROM он в 10 раз больше, чем у флеш-памяти.
Хуже ли хранит данные часто перезаписанная флеш-память?
Да. У STM32F103 после 1 000 циклов записи ST гарантирует 30 лет хранения при 85 °C, а после 10 000 циклов — 20 лет уже только при 55 °C.
Источники
- Microchip. ATmega48A/PA/88A/PA/168A/PA/328/P Data Sheet (DS40002061B), 2020 — раздел 4 Data Retention — по результатам квалификации надёжности прогнозируемая доля отказов хранения много меньше 1 ppm за 20 лет при 85 °C или 100 лет при 25 °C; первая страница — 20 лет при 85 °C и 100 лет при 25 °C; 8.4.2 — при слишком низком VCC данные EEPROM могут повредиться, рекомендуется держать сброс детектором пониженного питания (BOD)
- STMicroelectronics. DS5319 Rev 20. STM32F103x8, STM32F103xB datasheet — табл. 29 — хранение данных tRET не менее 30 лет при 85 °C после 1 тыс. циклов, 10 лет при 105 °C после 1 тыс. циклов, 20 лет при 55 °C после 10 тыс. циклов; ресурс 10 тыс. циклов; значения получены характеризацией
Нашли ошибку?
Смотрите также
- ATmega328PРаспиновка, фьюзы, Optiboot, периферия, питание, схема и код на C
- Flash и загрузчик STM32Страницы и секторы, BOOT0, системный загрузчик, AN3155, IAP, option bytes, RDP
- EEPROMЭнергонезависимая память для настроек и калибровки
- Сколько раз можно перепрошить микроконтроллер?10 000 циклов флеш-памяти, 100 000 у EEPROM