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
Gegenfrage: Schaffst Du es, deinen Controller jeden Tag 10 mal neu zu programmieren und das über 3 Jahre lang durchzuhalten?
|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.
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...
Die Frage kann interessant werden, wenn man Debugging mit Software-Breakpoints macht. Da gibt es nämlich wesentlich mehr Flash-Zugriffe.
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.
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
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
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
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 ;-).
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
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! ;-))
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
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
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.
>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.
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
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 :-)
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. ;-)
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 ;)
>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.
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.
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.
Danke für das Aufwärmen eines Uralt-Threads mit einem völlig anderen
Problem.
Hast du versucht, die ATtiny11 mit ISP zu programmieren?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.