Przechowywanie danych na mikrokontrolerze

10

Po przeczytaniu arkusza danych attiny13 mówi, że może przechowywać swoje dane przez 20 lat w temperaturze 85 stopni Celsjusza i 100 lat w temperaturze 25 stopni Celsjusza.

  • Czy to niezależnie od odczytu i zapisu na mikro, na przykład wyłączam go i utrzymuję w stałej temperaturze 85 stopni Celsjusza przez 20 lat i utraci on swoje dane?
  • Jak może „stracić” swoje dane? Nie widzę tej koncepcji.
  • Także co jest z jednostką ppm (części na milion?), O której wspomniano na stronie 6 w sekcji zatrzymywania danych, ale nie rozumiem, o czym mówi. Widziałem to regularnie, gdy mówię o oscylatorach kryształowych, ale nie mogę zrozumieć, dlaczego jest używany.
Dziekan
źródło
Jaki jest twój przypadek użycia? W przypadku większości aplikacji rzeczą, którą należy usunąć z tej strony, jest „Dane będą trwać dłużej niż urządzenie, nie martw się o to”. Czy pracujesz nad produktem o wysokiej trwałości, krytycznym dla bezpieczeństwa lub w inny sposób wyjątkowym?
Kevin Vermeer
@Kevin Nie ma uzasadnienia dla tego pytania, po prostu przeczytaj je w arkuszu danych i zastanawiałem się, co to znaczy to stwierdzenie, ponieważ trochę się zdezorientowałem.
Dziekan
2
@answerers: to 1 ppm, jak powinienem to przeczytać? 1 uszkodzony kontroler na milion lub 1 uszkodzona komórka bitowa na milion. Pierwsza możliwość to pocieszenie, druga mniej.
Federico Russo,
@Federico - dobre pytanie. Zaktualizowałem swoją odpowiedź.
stevenvh
1
Posiada ładunek .. po przepisaniu ogniwa będzie go trzymał przez kolejne 20 lat @ 85d. Jak ładowanie. Więc po pewnym czasie ładowanie zaczyna się nie powieść, a dane zaczynają być uszkodzone.
Piotr Kula,

Odpowiedzi:

18

Pamięć flash, podobnie jak EEPROM, przechowuje informacje w tak zwanych bramach pływających . Normalne bramki na tranzystorach polowych (MOS) mają zewnętrzne połączenie, przez które FET jest włączany i wyłączany (w przypadku zintegrowanych tranzystorów MOSFET byłoby to połączenie z warstwą metalową). Bramy pływające nie mają tego połączenia pinowego ani metalowego. Są całkowicie izolowane w SiO2 nad kanałem MOSFET-a i w> 1014Ωcm SiO2 jest jednym z najlepszych izolatorów, jakie możesz zdobyć.

wprowadź opis zdjęcia tutaj
wprowadź opis zdjęcia tutaj

Podobnie jak tradycyjne MOSFET-y, włączają kanał, kiedy niosą ładunek. Ale w jaki sposób są one wówczas programowane? Poprzez efekt kwantowy zwany tunelowaniem, który jest indukowany przez przyłożenie pola elektrycznego między kanałem a bramą kontrolną. Technologia nosi zatem nazwę FLOTOX , skrót od „FLOating-gate Tunnel OXide”, porównywalny z FAMOS („Floating-gate Avalanche injection Metal Oxide Semiconductor”) stosowanym w starszych EPROM-ach, które można wymazywać za pomocą UV.
(Nie potrafię szczegółowo wyjaśnić tunelowania; efekty kwantowe są sprzeczne z jakąkolwiek logiką. W każdym razie opiera się to w dużej mierze na statystykach).

Twoje pierwsze pytanie jest w rzeczywistości podwójne: 1) czy mogę wykonywać nieograniczoną liczbę odczytów i zapisów oraz 2) czy zachowuje dane, gdy urządzenie nie jest używane (okres przydatności)?
Na początek: nie, nie możesz. Możesz go przeczytać nieograniczoną liczbę razy, ale cykle zapisu są ograniczone. Arkusz danych mówi 10 000 razy. Ograniczona liczba cykli jest spowodowana przez nośniki ładunku pozostawione w pływającej bramie po skasowaniu, których liczba ostatecznie staje się tak duża, że ​​komórki nie można już wymazać.
Czy zachowa swoje dane przez 20 lat nawet bez zasilania? Tak, tak mówi arkusz danych. Obliczenia MTTF (średni czas do awarii) (ponownie metoda statystyczna) przewidują mniej niż 1 część na milion błędów. To właśnie oznacza ppm.

Uwaga na temat MTTF
MTTF oznacza średni czas do awarii , który różni się od MTBF (średni czas między awariami). MTBF = MTTF + MTTR (średni czas naprawy). Ma sens.
Ludzie często używają terminu MTBF, gdy faktycznie mają na myśli MTTF. W wielu sytuacjach nie ma dużej różnicy, na przykład gdy MTTF wynosi 10 lat, a MTTR wynosi 2 godziny. Ale uszkodzone mikrokontrolery nie są naprawiane, są wymieniane, więc ani MTTR, ani MTBF nic tu nie znaczą.

Atmel podaje błędy 1ppm po 100 latach. Oczywiste jest, że AVR nie był produkowany tak długo, więc jak mogliby dojść do tej liczby? Istnieje ciągłe nieporozumienie, że byłoby to po prostu liniowe: 1 wadliwe urządzenie po 1000 000 godzin byłoby takie samo jak 1 wadliwe urządzenie na 1000 godzin w populacji 1000 urządzeń. 1000 x 1000 = 1000 000, prawda? To nie tak działa! To nie jest liniowe. Możesz doskonale mieć błędy po 1 milionie godzin, a żadnych po tysiącu, nawet przy milionowej populacji! Obliczenia MTTF uwzględniają wszelkiego rodzaju efekty, które mogą mieć wpływ na niezawodność produktu, i określają czas dla każdego z nich. Następnie stosuje się metody statystyczne, aby przewidzieć, kiedy produkt ostatecznie zawiedzie. Zobacz też "

(Zapomnij o błędnej Wikipedii na MTBF. To źle.)

Jak traci dane? Ładunek bramki nie przecieka w tym samym sensie wycieki prądu w normalnym obwodzie przez wysokie rezystancje. Będzie to robić tak samo, jak zostało zaprogramowane i usunięte poprzez tunelowanie. Im wyższa temperatura, tym wyższa energia nośników ładunku i większa szansa, że ​​tunelują przez SiO2 warstwa.

Pytanie Federico, czy 1 ppm odnosi się do urządzeń lub komórek, jest uzasadnione. Arkusz danych nie mówi, ale zakładam, że jest to 1 uszkodzona komórka danych na milion. Dlaczego? Gdyby to były urządzenia, pogorszyłyby się dane dla urządzeń z większymi rozmiarami Flash, i są takie same dla 1k jak dla 16k. Również 100 lat jest wyjątkowo długie. Byłbym zaskoczony, gdy 999 999 urządzeń na milion wciąż działa.

obrazy bezwstydnie skradzione tutaj

stevenvh
źródło
1
No i myślałem, że efekty kwantowe polegają na magii. Kto by pomyślał, że statystyki mają z tym coś wspólnego !?
Olin Lathrop,
@Olin - Od moich klas statystycznych, wiele księżyców temu, widzę statystyki jako rodzaj złej magii. Czy to może być magia, którą masz na myśli?
stevenvh
6

Ten typ pamięci przechowuje dane jako małe ładunki na izolowanych bramkach FET. To zasadniczo utrzymuje bramkę FET na wysokim lub niskim napięciu. Innym sposobem patrzenia na to samo jest to, że 1 lub 0 jest przechowywane jako napięcie na kondensatorze podłączonym do bramki FET.

Magazyn opłat nie jest stały. W końcu wycieknie wystarczająca ilość ładunku, aby nie można było już wiarygodnie ustalić pierwotnego stanu bitu. Wyższa temperatura ułatwia wyciek ładunku, dlatego specyfikacja zatrzymywania danych jest krótsza w podwyższonej temperaturze.

Jeśli chodzi o ppm, tak, to „części na milion”. Jest to ta sama koncepcja co procent, co jest po prostu innym sposobem mówienia o częściach na sto. 100 ppm = 0,01% = 0,0001

Olin Lathrop
źródło
4

W attiny (jak również w wielu innych uC) „trwałe” dane są przechowywane w pamięci flash - która jest w zasadzie specjalnym tranzystorem, który może „uwięzić” ładunek (jak kondensator). Sztuka polega na tym, że nie ma „drutu” łączącego się z tym kondensatorem - więc są one tylko sposobem na naładowanie lub rozładowanie - odbywa się poprzez tunelowanie kwantowe. Oznacza to, że wyładowania są naprawdę bardzo powolne, a ładowanie / rozładowywanie jest bardzo trudne (każde to ładowanie / rozładowanie uszkadza tranzystor, dlatego ogranicza się do 10k wymazań).

Szybkość tego rozładowania jest ustalana empirycznie i widać to w arkuszu danych.

Ale jest to „typowa” wartość - możesz uzyskać zarówno znacznie wyższe, jak i niższe czasy przechowywania danych - może to być trochę losowe. Nie ma dokładnego sposobu, aby z góry dowiedzieć się, kiedy dane powinny zostać usunięte. Dlatego właśnie to przybliżenie jest widoczne w arkuszu danych + oszacowanie, ile urządzeń będzie gorszych niż to oszacowanie.

BarsMonster
źródło
1
@BarsMonster - Szybkości rozładowania nie można określić wyłącznie empirycznie, ponieważ urządzenie nie istnieje jeszcze przez 20 lat. Dane empiryczne to tylko podstawa metody statystycznej, która kładzie na nią większy nacisk.
stevenvh
@stevenvh Jest to możliwe, jeśli robisz to w podwyższonych temperaturach. Ponadto zmiana progu tranzystora jest zmieniana w sposób ciągły, więc możesz nie tylko poczekać, aż zmieni się z 1 na 0, ale raczej monitorować proces z dokładnością około 0,01%.
BarsMonster
@BarsMonster - po prostu nie można po prostu przeprowadzić ekstrapolacji liniowej w tym zakresie. Jest to powszechne nieporozumienie na temat MTTF: jeśli mówi 1 milion godzin, wiele osób myśli, że w teście 1000 urządzeń dochodzi do 1 awarii po 1000 godzinach i to właśnie z tego wynika milion godzin. To nie takie proste.
stevenvh
@stevenvh Nie mówię, że jest liniowy :-)
BarsMonster 30.06.11
@stevenvh: Nie znam MTTF. Znam MTBF, który z tego, co rozumiem, jest zasadniczo odwrotnością prawdopodobieństwa, że ​​urządzenie działające przez określony czas ulegnie awarii. Jeśli więc urządzenie działające przez godzinę ma szansę na awarię jeden na milion, to MTBF wynosi 1 000 000 godzin. Jeśli każde urządzenie będzie działać dokładnie przez 1000 godzin, wówczas MTBF dla nowych urządzeń będzie nieskończony, ale spadnie do zera, gdy urządzenia osiągną limit 1000 godzin. Na pierwszy rzut oka MTTF wydaje się podobny ...
supercat