Forum: Mikrocontroller und Digitale Elektronik Flash Speicher regeneriert sich?


von hanibal (Gast)


Lesenswert?

Hallo,

ich habe gerade einmal eine komische Frage.
Ich wollte auf einem Flash-Baustein eine Speicherzelle zu Testzwecken 
zerstören. Dazu habe ich hier einen alten Atmel AT45DB081 zu liegen.
Generell funktionierte der Zugriff erst einmal.
Nun habe ich auf eine einzelne Speicherzelle zufällige Werte geschrieben 
und diese wieder zurück gelesen, bis diese Überprüfung nicht mehr 
stimmte...
Das waren so ca 500.000 Zyklen.
Anschließend war es nicht mehr möglich korrekte Daten in den Flash zu 
schreiben.
Ich habe dann den Flash einmal stromlos gemacht und wollte dann das 
Fehlverhalten einer anderen Software testen. Also den Baustein wieder in 
Betrieb genommen und alles lief normal. Was es eigentlich nicht sollte.
Also habe ich wieder geschaut das ich die Zelle noch einmal zerstörte.
Und wieder konnte ich gut einige 100.000x in den Flash schreiben und das 
wieder auslesen, bis die Überprüfung wieder fehlschlug.

Generell ist es doch so, dass beim programmieren des Flashs die 
Speicherzelle degeneriert da die Oxidschicht um das Floating Gate in 
Mitleidenschaft gezogen wird. Kann sich diese auch wieder 
"regenerieren"?
Ich habe bisher auch nichts gefunden, dass dieser Baustein WearLeveling 
kann.

Und bisher ist es mir nicht gelungen den Flash nachhaltig zu 
"zerstören"...

Wie kann das sein?
Danke und viele Grüße

von Michael K. (Gast)


Lesenswert?

hanibal schrieb:
> Und bisher ist es mir nicht gelungen den Flash nachhaltig zu
> "zerstören"...

Die Zelle wird einfach nicht mehr über xx Jahre über den vollen 
Temperaturbereich den Inhalt halten.
Ist also 'zerstört' für den Zweck der dauerhaften stromlosen 
Speicherung.

von c-hater (Gast)


Lesenswert?

hanibal schrieb:

> Generell ist es doch so, dass beim programmieren des Flashs die
> Speicherzelle degeneriert da die Oxidschicht um das Floating Gate in
> Mitleidenschaft gezogen wird. Kann sich diese auch wieder
> "regenerieren"?

Wäre immerhin in gewissem Umfang durchaus denkbar. Allerdings: Mit 
Sicherheit nicht vollständig, denn sie degeneriert ja tatsächlich.

D.h.: selbst wenn wieder eine annähernd vergleichbare Zahl EW-Zyklen 
erfolgen kann: die Zeit bis zum Vergessen des zuletzt scheinbar 
erfolgreich geschriebenen Datums wird im Vergleich zum ersten Durchlauf 
dramatisch gesunken sein.

Ich denke, das ist der springende Punkt: du hast nur einen Effekt der 
Alterung überprüft. Der Hersteller hat sich aber im Gegensatz zu dir um 
alle Gedanken gemacht, bevor er irgendwelche Werte in's DB gerotzt 
hat...

von Einer K. (Gast)


Lesenswert?

hanibal schrieb:
> Und bisher ist es mir nicht gelungen den Flash nachhaltig zu
> "zerstören"...

Ich denke schon.

Teste ihn mal bei ca 80°C, ich schätze, dass das dann klarer wird.

von hanibal (Gast)


Lesenswert?

Michael K. schrieb:
> Die Zelle wird einfach nicht mehr über xx Jahre über den vollen
> Temperaturbereich den Inhalt halten.

c-hater schrieb:
> D.h.: selbst wenn wieder eine annähernd vergleichbare Zahl EW-Zyklen
> erfolgen kann: die Zeit bis zum Vergessen des zuletzt scheinbar
> erfolgreich geschriebenen Datums wird im Vergleich zum ersten Durchlauf
> dramatisch gesunken sein.

Hm, das hilft schon einmal ungemein. Zumindest sollte ich mir dann auch 
Gedanken zu der Datenintegrität machen.
Denn anscheinend reicht ja ein einfaches Rücklesen der Daten nicht aus.
Vielleicht eine Prüfsumme, ggf noch mit der Möglichkeit einer 
Fehlerkorrektur. Hmm... Hammingcode oder so. Da muss ich dann noch 
einmal in meinen Unterlagen schauen.

c-hater schrieb:
> Ich denke, das ist der springende Punkt: du hast nur einen Effekt der
> Alterung überprüft. Der Hersteller hat sich aber im Gegensatz zu dir um
> alle Gedanken gemacht, bevor er irgendwelche Werte in's DB gerotzt
> hat...

Das hoffe ich doch, dass der Hersteller mehr Ahnung hat als ich. :D

Arduino Fanboy D. schrieb:
> Ich denke schon.
>
> Teste ihn mal bei ca 80°C, ich schätze, dass das dann klarer wird.

Dann muss ich mal meinen Backofen vorheizen. ^^

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

hanibal schrieb:
> Ich habe dann den Flash einmal stromlos gemacht
Mach das zwischendurch öfters mal.

Und schreibe mal in die Zellen/Blöcke daneben irgendwelche Werte und 
kontrolliere, ob die Werte da nicht korrumpiert werden.

von georg (Gast)


Lesenswert?

hanibal schrieb:
> die Zeit bis zum Vergessen des zuletzt scheinbar
>> erfolgreich geschriebenen Datums wird im Vergleich zum ersten Durchlauf
>> dramatisch gesunken sein.
>
> Hm, das hilft schon einmal ungemein. Zumindest sollte ich mir dann auch
> Gedanken zu der Datenintegrität machen.
> Denn anscheinend reicht ja ein einfaches Rücklesen der Daten nicht aus.

Eigentlich ganz einfach: du musst nach jedem Schreibzyklus bis zu 10 
Jahre warten und ab und zu den Inhalt probelesen...

Die eigentlich wichtige Frage ist ja, wie lange behält der Speicher 
geschriebene Daten, und den Test darauf kann man prinzipiell nicht 
beschleunigen (von Zeitreisen mal abgesehen), höchstens mit den üblichen 
Faktoren bei erhöhter Temperatur. Das dauert immer noch mindestens 
Monate.

Georg

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.