Хранение данных на микроконтроллере

10

Просто читая таблицу данных attiny13, он говорит, что может хранить свои данные в течение 20 лет при 85 градусах Цельсия и 100 лет при 25 градусах Цельсия.

  • Является ли это независимо от чтения и записи на микро, например, я выключаю его и держу его при постоянной температуре 85 градусов по Цельсию в течение 20 лет, и он потеряет свои данные?
  • Как он может «потерять» свои данные? Я не вижу этой концепции.
  • Также, что с единицей ppm (частей на миллион?), Упомянутой на странице 6 в разделе хранения данных, но не понимаю, о чем идет речь. Я видел это регулярно, когда говорил о кварцевых генераторах, но не могу понять, почему он используется.
декан
источник
Какой у вас вариант использования? Для большинства приложений нужно убрать с этой страницы следующее: «Данные будут храниться дольше, чем ваше устройство, не беспокойтесь об этом». Вы работаете над высокопрочным, безопасным или другим уникальным продуктом?
Кевин Вермеер
@Kevin Нет никакого смысла для этого вопроса, просто прочитайте его в техническом описании и задаетесь вопросом, что он имел в виду под этим утверждением, поскольку я немного запутался.
Дин
2
@answerers: что 1 стр / мин, как мне это прочитать? 1 неисправный контроллер на миллион или 1 неисправная битовая ячейка на миллион. Первая возможность утешительна, вторая менее.
Федерико Руссо
@ Федерико - хороший вопрос. Я обновил свой ответ.
Стивенвх
1
Он держит заряд .. когда вы переписываете ячейку, он будет держать ее еще 20 лет @ 85d. Как перезарядка. Таким образом, по прошествии некоторого времени заряд начинает давать сбой и данные начинают повреждаться.
Петр Кула

Ответы:

18

Флэш-память, как и EEPROM, хранит свою информацию в так называемых плавающих элементах . Полевые транзисторы с обычными воротами (MOS) имеют внешнее соединение, через которое полевые транзисторы включаются и выключаются (для встроенных полевых транзисторов это соединение с металлическим слоем). У плавающих ворот нет этого штифта или металлического слоя соединения. Они полностью изолированы в SiO над каналом MOSFET, и при> см SiO является одним из лучших изоляторов, которые вы можете получить. 10 14 Ω 221014Ω2

введите описание изображения здесь
введите описание изображения здесь

Как и традиционные MOSFET, они включают канал, когда несут заряд. Но как они запрограммированы тогда? Через квантовый эффект, называемый туннелированием, который индуцируется путем приложения электрического поля между каналом и управляющим затвором. Поэтому эта технология называется FLOTOX , что в переводе означает «Туннельный оксид FLOating-gate», сравнимый с FAMOS («Avalanche Injection Metal Oxide Semiconductor с плавающим затвором»), который использовался в более старых EPROM, стираемых УФ-излучением.
(Я не могу объяснить туннелирование здесь подробно; квантовые эффекты не поддаются никакой логике. В любом случае, это в значительной степени зависит от статистики).

Ваш первый вопрос на самом деле двойной: 1) могу ли я выполнять неограниченное чтение и запись, и 2) сохраняет ли он данные, когда устройство не используется (срок годности)?
Начать с первого: нет, ты не можешь. Вы можете читать его неограниченное количество раз, но циклы записи ограничены. Лист данных говорит 10 000 раз. Ограниченное количество циклов вызвано тем, что после стирания носители заряда остаются в плавающем затворе, число которых в конце становится настолько большим, что ячейка больше не может быть стерта.
Сохранит ли он свои данные в течение 20 лет даже без электричества? Да, это то, что говорится в таблице. MTTF (среднее время до отказа) вычисления (опять-таки статистический метод) предсказывают менее 1 части на миллион ошибок. Вот что означает ppm.

примечание к MTTF
MTTF означает Среднее время до отказа , которое отличается от MTBF (Среднее время между отказами). MTBF = MTTF + MTTR (среднее время восстановления). Имеет смысл.
Люди часто используют термин MTBF, когда они на самом деле означают MTTF. Во многих ситуациях нет большой разницы, например, когда MTTF составляет 10 лет, а MTTR составляет 2 часа. Но вышедшие из строя микроконтроллеры не ремонтируются, их заменяют, поэтому ни MTTR, ни MTBF здесь ничего не значат.

Atmel цитирует ошибки 1ppm через 100 лет. Очевидно, что AVR долгое время не производился, так как бы они пришли к этой цифре? Существует постоянное недопонимание того, что это будет просто линейная вещь: 1 неисправное устройство через 1000 000 часов будет таким же, как 1 неисправное устройство на 1000 часов при населении 1000 устройств. 1000 х 1000 = 1000 000, верно? Это не так, как это работает! Это не линейно. Вы можете совершенно ошибиться через 1 миллион часов, а не через тысячу, даже при населении в миллион! MTTF-вычисления учитывают все виды эффектов, которые могут повлиять на надежность продукта, и назначают время для каждого из них. Затем используются статистические методы, чтобы прийти к прогнозу, когда продукт в конечном итоге выйдет из строя. Смотрите также "

(Забудьте ошибку Википедии о MTBF. Это неправильно.)

2

Вопрос Федерико, если 1 ppm относится к устройствам или ячейкам, оправдан. Таблица не содержит данных, но я предполагаю, что это 1 дефектная ячейка данных на миллион. Почему? Если бы это были устройства, вы бы получили худшие показатели для устройств с большими размерами Flash, и они одинаковы для 1k и для 16k. Кроме того, 100 лет очень долго. Я был бы удивлен, увидев 999 999 устройств из 1 миллиона, которые все еще работают.

изображения бесстыдно похищены здесь

stevenvh
источник
1
Да, и я думал, что квантовые эффекты зависят от магии. Кто бы мог подумать, что статистика имеет к этому какое-то отношение?
Олин Латроп
@ Олин - Поскольку мои статистические классы много лун назад, я вижу статистику как некую злую магию. Может ли это быть магией, которую вы имеете в виду?
Stevenvh
6

Этот тип памяти хранит данные в виде небольших зарядов на изолированных вентилях FET. Это, по сути, удерживает затвор FET на высоком или низком напряжении. Другой способ взглянуть на то же самое состоит в том, что 1 или 0 сохраняются как напряжение на конденсаторе, подключенном к затвору полевого транзистора.

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

Что касается промилле, да, это «частей на миллион». Это то же самое понятие, что и процент, это просто еще один способ сказать, что части на сотню. 100ppm = .01% = .0001

Олин Латроп
источник
4

В attiny (как и во многих других ОК) «постоянные» данные хранятся во флэш-памяти - это в основном специальный транзистор, который может «задерживать» заряд (например, конденсатор). Хитрость в том, что нет никакого «провода», соединяющего этот конденсатор - поэтому они могут только заряжать или разряжать его - через квантовое туннелирование. Это означает, что он действительно очень медленно разряжается, и его довольно сложно заряжать / разряжать (каждый этот заряд / разряд повреждает транзистор, поэтому он ограничен 10 тыс. Раз).

Скорость этого разряда определяется опытным путем, и вы видите это в техническом описании.

Но это «типичное» значение - вы можете получить как более высокие, так и более низкие сроки хранения данных - это может быть немного случайным. Нет точного способа узнать заранее, когда данные должны быть потеряны. Вот почему вы видите это приближение в таблице данных + оценка того, насколько устройства будут хуже, чем эта оценка.

BarsMonster
источник
1
@BarsMonster - Скорость разряда не может быть определена чисто эмпирически, так как устройство не существует уже 20 лет. Эмпирические данные являются лишь основой статистического метода, который придает им больший вес.
Stevenvh
@stevenvh Это возможно, если вы делаете это при повышенных температурах. Кроме того, изменение порогового значения транзистора изменяется непрерывно, поэтому вы можете не просто ждать, пока он переключится с 1 на 0, а скорее отслеживать процесс с точностью около 0,01%.
BarsMonster
@BarsMonster - просто вы не можете просто выполнить линейную экстраполяцию для этого. Это распространенное заблуждение о MTTF: если он говорит, что 1 миллион часов, то многие люди думают, что при тестировании 1000 устройств 1 отказ за 1000 часов, и именно отсюда и получается миллион часов. Это не так просто.
Stevenvh
@stevenvh Я не говорю, что это линейно :-)
BarsMonster
@stevenvh: я не знаком с MTTF. Я знаком с MTBF, который, насколько я понимаю, по сути является обратной величиной вероятности отказа устройства, работающего в течение определенного промежутка времени. Таким образом, если устройство, работающее в течение одного часа, имеет вероятность отказа один на миллион, это MTBF составляет 1 000 000 часов. Если каждое устройство будет работать точно в течение 1000 часов, то MTBF для новых устройств будет бесконечным, но он будет падать до нуля, когда устройства достигнут отметки в 1000 часов. С
первого