Forum: Mikrocontroller und Digitale Elektronik Atmel Flash-Lebensdauer


von Chris (Gast)


Lesenswert?

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

von Michael U. (Gast)


Lesenswert?

Hallo,

Ja.
Ja.
Nein.

Gruß aus Berlin
Michael

von Jack B. (jackbraun)


Lesenswert?

Gegenfrage:

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

von Tobias A. (inselaffe)


Lesenswert?


|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.

von Chris (Gast)


Lesenswert?

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...

von Rolf Magnus (Gast)


Lesenswert?

Die Frage kann interessant werden, wenn man Debugging mit 
Software-Breakpoints macht. Da gibt es nämlich wesentlich mehr 
Flash-Zugriffe.

von Wabberer (Gast)


Lesenswert?

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.

von spess53 (Gast)


Lesenswert?

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

von rayelec (Gast)


Lesenswert?

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

von Wolfram Q. (quehl)


Lesenswert?

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

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

EEPROMs haben meistens ca die 10x lebensdauer von Flash.

von Sigint 112 (sigint)


Lesenswert?

@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

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

ich hab schon mal kaputten Flash Speicher in einem USB Stick gehabt. 
Kann aber auch daran liegen das er vorher ne Runde in der Waschmaschine 
gedreht hat :-)

Matthias

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

USB-Sticks gehen dann schnell kaputt, wenn man sie als reales Laufwerk 
und nicht nur zum Datentransport benutzt. Die vielen Schreibzugriffe auf 
die FAT machen dem Teil schnell den Garaus, besonders bei vielen kleinen 
Dateien, wie sie bei Programmierern üblich sind ;-).

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

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

von Power (Gast)


Lesenswert?

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! ;-))

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

ich hatte mal das EEPROM (nicht den Flash) eines Mega8 testweise 
kaputgeschrieben. Nach 220k Schreibvorgängen war die erste Zelle bei 
Normaltemperatur kaputt.

Matthias

von Quehl (Gast)


Lesenswert?

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

von hans (gast) (Gast)


Lesenswert?

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.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Ich will jetzt als Alternative immer 2 Flashs gleichzeitig beschreiben
>für die Datensicherung.

Du meinst bestimmt abwechselnd, nicht >gleichzeitig<. Sonst hast Du gar 
nichts gekonnt.

von Quehl (Gast)


Lesenswert?

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

von gast (Gast)


Lesenswert?

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 :-)

von Bastelmensch nicht angemeldet (Gast)


Lesenswert?

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.

;-)

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Könnte man ja in nen Gerät bauen, dass eh 24-7 betrieben wird 
(Wetterstation o.ä.) Aber ich denke der Flashende AVR stirbt vorher an 
langeweile ;)

von Power (Gast)


Lesenswert?

>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.

von Bastelmensch nicht angemeldet (Gast)


Lesenswert?

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...

von Torsten R. (tom365)


Lesenswert?

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...

von Timmo H. (masterfx)


Lesenswert?

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.

von Quehl (Gast)


Lesenswert?

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.

von Timmo H. (masterfx)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Torsten R. schrieb:
> Hatte bei mir noch ein paar alte ATtiny11 herumliegen von 2002.

Danke für das Aufwärmen eines Uralt-Threads mit einem völlig anderen
Problem.

Hast du versucht, die ATtiny11 mit ISP zu programmieren?

von Peter D. (peda)


Lesenswert?

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

von Torsten R. (tom365)


Lesenswert?

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.

von Gast (Gast)


Lesenswert?

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.

von Matze (Gast)


Lesenswert?

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)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.