Atmel Flash-Lebensdauer

Gast #575016
Hallo,

beziehen sich die 10000 Schreibe/Löschvorgänge die bei den Atmel 
Controllern angegeben sind eigentlich auf jedes Bit? Kann man wirklich 
so oft ein speicherfüllendes Programm flashen?
Wie sind eure Erfahrungen, hab ihr schonmal einen Controller 
kaputtgeflasht?

Ciao
Chris

|Schaffst Du es, deinen Controller jeden Tag 10 mal neu zu programmieren
|und das über 3 Jahre lang durchzuhalten?

Na ja je nachdem was ich mache flashe ich meine controller schon 20 bis 
50x am Tag.

Allerdings ist das dann nur schubweise und nicht über 3 Jahre hin.
Aber so 4 bis 5 Wochen im Jahr passiert so was schon.
Gast
Danke euch für die Antworten.

>Schaffst Du es, deinen Controller jeden Tag 10 mal neu zu programmieren
>und das über 3 Jahre lang durchzuhalten?

Naja. :-)
Ich sehe das dann so:
Ich programmiere ihn 27x pro Tag, dann hab ich nach einem Jahr, kurz 
bevor er stirbt, genug Geld zusammengespart um mir einen neuen leisten 
zu können...
Gast
Debugging mit softwarebreakpoints ist eine schlechte idee. Irgendwann 
sollte man erkannt haben, dass Debugging ein Konzept ist, das bei der 
Entwicklung eingebaut werden muss, sodass die laufenden Prozesse nicht 
gestoppt werden muessen.
Gast
Hi

Als ich mit AVRs angefangen habe wurden 1000 Programmierzyklen 
garantiert.
Den ATMega103 vom STK300 habe ich mindestens 2-3000 mal programmiert. 
Der läuft heute noch.

MfG Spess
Gast
In der Realität wird man mit normalem Gebrauch (keine Datenspeicherung 
jede Sekunde für ein ganzes Jahr) solche Flashspeicher nicht killen 
können! Atmel garantiert 10k Zyklen, d.h. in der Regel, ihre 
pessimistischsten interenen Abschätzungen lauteten auf mindestens das 
Doppelte! In der Realität bei Zimmertemperatur denke ich - und das ist 
eine rein gefühlsmässige Aussage - dürfte man locker Faktor 10 
erreichen, bis Bitfehler auftreten...

Gruss
rayelec
ich bin da doch etwas skeptischer. Hab schlechte Erfahrungen mit Flash 
gemacht.

1. Der Flash Speicher im Elsa Modem war nach wenigen Monaten defekt. 
Reparatur war nicht möglich. Hab den Kaufpreis wegen Garantie 
zurückbekommen.

2. Ein IDE Flashspeicher war nach ca. 3 Jahren kaputt. ca. 6 Monate/Jahr 
in Betrieb. ca. 10 Schreibvorgänge/Tag wegen Smartdrive. Der Sinn war, 
daß ich Daten bei jeder Änderung weggeschrieben habe, damit die Daten 
bei Stromausfall noch zur Verfügung stehen. (Z.B. Einschaltzähler)
Hatte jetzt vor, diese ins EEPROM zu speichern. Aber ob der länger hält 
als das Flash? Bin mir aufgrund der schlechten Erfahrungen nicht mehr so 
sicher. Schließlich war bei den vorhergehenden Defekten auch nicht von 
einer solch kurzen Lebensdauer die Rede.

mfg
Quehl
@Wolfram:
  Du musst nicht jedesmal die Firmware neu ins Modem übertragen, wenn du 
das Teil ausgeschaltet hast ;-)
Ich vermute eher, daß der Flash sowieso schon (vielleicht durch ESD) 
vorgeschädigt war.

Mir ist bis jetzt noch nie irgendeine Art von Flash-Speicher kaputt 
gegangen. Allerdings weiss ich von CF Karten, die bei mir im Betrieb 
eingesetzt wurden, daß diese nach ca. 2 Jahren schon defekte Sektoren 
aufwiesen... muss wohl noch ne Charge ohne die modernen 
Fehlerkorrekturalgorithmen sein. Allerdings wurden die Teile extrem 
stark benutzt: Da wurde jeden Tag ne relativ große LOG-Datei drauf 
gesichert.

Gruß,
  SIGINT
Persönliche Seite
Hi

die Controller in USB Sticks sind so clever und verteilen die 
Schreibzugriffe dynamisch über den gesamten Flash. Zusätzlich werden 
defekte Sektoren aus einer "Reserve" ersetzt. Deshalb (und wegen der 
schon bei der Produktion kaputten Sektoren) meldet auch ein 4 GB 
USB-Stick keine 2^32 Byte freien Speicher sondern etwas weniger.

Matthias
Gast
ASUS-Boards (Pentium-II 400MHz) hatten mal ATMEL-Flash als BIOS-Speicher 
drauf, die hielten ca. 500 Schreibvorgänge, dann tauchten erste 
Fehlermeldungen auf.
Mein Mega32 (16MHz) der seit 2 Jahren auf 'nem Steckbrett zum 'Quälen' 
steckt, hat ca. 2500 Programmiervorgänge hinter sich. Wenn der kaputt 
ist melde ich mich wieder, falls das Forum bis dahin noch besteht! ;-))
Gast
scheint wohl recht unterschiedlich zu sein. Daß ich das Modem Flash 
nicht jeden Tag neu beschreibe, ist doch wohl klar. Erst nachdem der 
Fehler auftrat und ich neu upgedatet hatte, trat der Fehler an anderer 
Stelle auf.
Bei meinem IDE Flash hatte ich zwar FAT 16, aber nur eine Datei 
geschrieben. Fehlermeldung war, kann von C: nicht lesen. War also die 
FAT oder Partition defekt. Da ist wohl deutlich zu sehen, daß beim 
Schreiben der FAT immer an die gleiche Stelle geschrieben wird.
Ich will jetzt als Alternative immer 2 Flashs gleichzeitig beschreiben 
für die Datensicherung. Dann gehen die Daten wenigstens nicht verloren, 
wenn 1 Flash defekt wird. Transsend gibt übrigens 30 Jahre Garantie auf 
die Flash Speicher. Weiß jemand die näheren Bedingungen der Garantie? 
Wenn ich den Stick erst auf meine Kosten einsenden muß, dann kann ich 
gleich einen neuen kaufen. Aber sonst bekomme ich dann immer einen 
Neuen, wenn einer defekt geht. Wäre ja auch nicht schlecht. Beim AVR 
geht das nicht ganz so einfach. Darum fange ich mit dem Testen erst an, 
wenn alles richtig programmiert erscheint und nochmal trocken 
durchgegangen wurde. Und dann beim Testen gleich mehrere Fehler auf 
einmal suchen. So könnte man die Anzahl der Schreibvorgänge vermindern.

mfg
Gast
Habe projektmäßig bei meiner Arbeit das untersucht. Nach ca dem neuzig 
bis 100 Fachen der garantierten Lebensdauer traten bei Atmel die ersten 
Bitfehler reproduzierbar bei Labortemperatur auf.
Gast
abwechselnd auch nicht. Wenn eine Datei gesichert werden muß, dann 
schreibe ich die erst auf einen Flash und dann auf einen 2. Flash. So 
sind immer 2 Kopien vorhanden. Wenn das Programm auf einen Lesefehler 
stößt, gibt es eine Fehlermeldung und es wird vom 2. Flash gelesen. Der 
defekte wird dann ausgetauscht und am nächsten Tag hab ich wieder 2 
Sicherungen.

mfg
Gast
Hallo,
die Angaben des Datenblattes beziehen sich nur darauf, dass für 10000 
Schreib-/Löschvorgängen die Spezifikation (Prog.-Timing) des µC 
eingehalten wird. D.h. nach 10000 Schreib-/Löschvorgängen ist der µC 
nicht kaputt, Atmel gibt halt keine Garantie für weitere Vorgänge. Also 
keine Sorge, nur durch die reine Anzahl der Programmierungen wird der µC 
nicht sterben. Um ihn Umzubringen gibt es wesentlich mehr und einfachere 
Möglichkeiten :-)
Gast
Wäre doch mal ein schönes Projekt für jemand der was machen will, aber 
nicht weis was:

Einen AVR nehmen und einen anderen Todflashen. Danach ausgabe der Anzahl 
der Schreibzyklen, Durchschnittstemperatur, Spannung etc.

;-)
Gast
>Wäre doch mal ein schönes Projekt für jemand der was machen will

Hat schon jemand gemacht. ATMEL nämlich. So kommen die zu den Angaben im 
Datenblatt.
Gast
Jo, zu den Angaben + Sicherheitsreserve

Mich würde interessieren wies in echt aussieht.

Aber auch nicht so stark das ichs umsetzt, habe sinnigere Projekte auf 
meiner Liste...
Hatte bei mir noch ein paar alte ATtiny11 herumliegen von 2002.
Wollte die als Taktgeneratur für meine IR-Lichtschranken verbauen.
Bei den Dingern lies sich aber weder die Signatur noch der Flash 
auslesen geschweigeden neu programmieren.
Dachte schon das liegt an meinen Eigenbauprogrammiergerät. Bei einen 
neuen ATtiny15 ging aber alles problemlols...
Wenn ein Hersteller eine gewisse Anzahl an Schreibzyklen garantiert, 
dann hat er verdammt viel Spielraum.
Beispiel: USB Sticks werden meist mit 100k-1Mio Schreibzyklen angegeben, 
c't hat einen USB Stick aber über 16 Millionen mal neu beschrieben ohne 
einen Fehler festzustellen.
Die alten BIOS-Chips halten in der Tat nicht so lange, aber heutiger 
Flash-speicher ist wesentlich haltbarer. Man merkt es auch, dass der 
Flash-speicher zunächst langsamer wird (beim Schreiben) bevor er kaputt 
geht. Nur selten geht ein Flash-Speicher einfach so kaputt, ohne vorher 
langsamer zu werden.

EDIT: Ups, der Thread ist ja schon 2 Jahre alt. Naja egal.
Gast
ich hab einen Slim DVD Brenner von Panasonic vor gut 2 Jahren gekauft. 
Kaum benutzt und schon kaputt.
Auf der Cebit 2009 habe ich einen 7" Fernseher gekauft. War nach kurzer 
Zeit defekt. Auf der IFA umgetauscht, lief dort auch schon nicht richtig 
und jetzt gibt es schon wieder Störungen.
Ich habe den Eindruck, daß auch beim Lagern schon Defekte auftreten und 
nicht erst beim Beschreiben.
Richtig, aber beim Brenner kommt das meist durch die Linsen die durch 
Lagerung trübe werden. Hatte auch schon einen DVD-Player der nach einem 
Jahr praktisch keine DVD mehr gelesen hat.
Kommt halt davon weil inzwischen alles nur noch in China mit den 
billigsten Materialien gebaut wird.
Torsten R. schrieb:
> Hatte bei mir noch ein paar alte ATtiny11 herumliegen von 2002.
> Bei den Dingern lies sich aber weder die Signatur noch der Flash
> auslesen geschweigeden neu programmieren.

Hast Du denn ein STK500 und dann High-voltage Serial Programming 
ausgewählt und verkabelt?

ISP versteht der Tiny11 nicht!


Peter
Natürlich mit High-voltage Serial Programming.
Brennhardware und Software ist Eigenbau. Hat 2002 mit den besagten 
ATtiny11 anstandslos funktioniert.
Wer Lust hat kann mit den STK500 mal versuchen den Dingern wieder Leben 
einzuhauhen.
Gast
Wenn man einen ATmege168 über debugWIRE debuggt dann wird bei jedem 
Programmstart auf den Anfang von main() eine break Instruktion geflasht. 
Da main() immer an der gleichen Stelle liegt, also immer in die gleiche 
Speicherzelle bzw. Page.

Wenn man 30 Programmänderungen pro Tag annimmt und für das Debuggen 
jeweisl 30 mal break gefasht wird dann sind 10-tausend Programmierungen 
nach 11 Tagen erreicht.
Gast
Wenn sich der AVR gar nicht meldet, dann liegt es aber nicht am defekten 
Flash.
Einfache Tests wie z.B. pro Sekunde hundert mal die gleiche 
Speicherzelle beschreiben, gleich wieder auslesen und vergleichen ist 
aber auch nicth umbedingt aussagekräftig. Die Isolierende Sicht des 
Floating Gates wird bei jedem Löschvorgang beschädigt, dadurch kann sich 
die Ladung des Gates unbeabsichtigt ändern. Wenn Atmel also 10k 
Schreibvorgänge angibt, dann bedeutet das, dass der Flash auch nach 
dieser Anzahl von Schreibvorgängen die Daten noch für XX Jahre sicher 
speichert. Nach 20k Schreibvorgänge ist das evtl schon nicht mehr 
gegeben. Da können Lesefehler vielleicht schon nach ein paar Tagen 
auftreten. Und genau diese Tatsache wird bei einem normalen 
Schreiben-Lesen-Vergleichen-Marathon nicht berücksichtigt. Nur weil die 
Daten 1ms nach dem Schreiben korrekt sind, kann das nach ein paar Tagen 
ganz anders aussehen.
Anwendungen wo jede Sekunde Datenüberschieben werden sollten vielleicht 
besser mit FRAM ausgerüstet werden. (Wenn es die Kapazität zulässt)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.