Flash-Erinnerungen auffrischen. Funktioniert es?

Wir alle wissen, dass Flash-Speicher eine Datenerhaltungszeit von etwa 10 bis 20 Jahren haben.

Aber was, wenn wir ein Gerät entwickeln müssen, das 1000 Jahre lang funktionieren muss?

Die offensichtliche Lösung besteht darin, alle 5 bis 10 Jahre eine Flash-Neuprogrammierung durchzuführen, um die Ladungen in den Speicherzellen aufzufrischen. Wenn der Flash-Speicher eine Lebensdauer von 100.000 Schreibzyklen hat, ergibt sich eine Aufbewahrungszeit von 500.000 bis 1 Mio. Jahren. Fast unendlich.

Aber der offensichtliche Weg ist nicht immer der richtige Weg.

Ist es also möglich, die Datenerhaltungszeit der Flash-Speicher nahezu unendlich zu verlängern, indem man sie alle 5..10 Jahre neu flasht?

Wenn Sie Daten über einen sehr langen Zeitraum erhalten möchten, ohne sie zu ändern, warum nicht ein PROM?
Die Flash-Speicher ermöglichen die Fernaktualisierung der Firmware.
Hätten Sie nasse Elektrolytkondensatoren im Stromkreis ...?
@Majenko Eine solche Wahl wäre ziemlich unvernünftig. Angenommen, alles andere in der Schaltung hat eine längere Lebensdauer.
1000 Jahre Leben? Das Kupfer auf der Platine wird bis dahin korrodiert sein.
@Majenko Es gibt Möglichkeiten, Metalle vor Korrosion zu schützen. Oder verwenden Sie Keramik-PCB und Goldfolie.
Zinnschnurrhaare...? Der Punkt, den ich zu machen versuche, ist, dass es eine Million und eine andere Dinge gibt, die in Ihrem Schaltkreis über tausend Jahre hinweg ausfallen könnten und wahrscheinlich würden, und die Datenspeicherung Ihres Flash ist Ihre geringste Sorge.
@Majenko Ein weiteres Problem, das nicht Gegenstand dieser Frage ist. Zinnwhisker sind nur bei bleifreien Loten ein Problem. Und man kann stattdessen Schweißen verwenden.
In der zivilisierten Welt darf man kein Blei verwenden. Oh, und noch etwas ... Eine Million Jahre ist ein langer, langer Weg von der Unendlichkeit.
Oh, und wenn Sie regelmäßig Remote-Upgrades der Firmware durchführen (Ihr Grund, kein PROM zu verwenden), warum müssen Sie dann aktualisieren? Die Remote-Upgrades erledigen das für Sie.
Das Upgrade ist überhaupt kein regulärer Prozess.

Antworten (2)

Das Überschreiben von Flash ist in der Tat ein Mechanismus zur Verlängerung der Flash-Retention, wenn Ihr Gerät in einer Umgebung mit hohen Temperaturen betrieben wird (bei niedrigeren Temperaturen ist die Flash-Retention nicht so sehr ein Problem).

Der Anwendungsbericht MSP430 Flash Memory Characteristics von Texas Instruments (der auch für alle anderen NOR-Flash-basierten MCUs gelten sollte) sagt in Abschnitt 4.2 („Enhancing Flash Data Retention Time With Flash Refresh“):

Wie im vorherigen Abschnitt erläutert, hängt die Datenhaltezeit sehr stark von der Umgebungstemperatur der MSP430-Anwendung ab. Eine mögliche Lösung zur Verbesserung der Flash-Datenspeicherung besteht darin, die Flash-Inhalte von Zeit zu Zeit mit Software zu aktualisieren.

Im Idealfall hat die Anwendung Leerlaufzeiten, in denen keine externen Ereignisse beachtet werden müssen. Während einer solchen Leerlaufzeit kann die Software ein Flash-Segment in den RAM oder ein beliebiges anderes Flash-Segment kopieren. Nach dem Löschen des ursprünglichen Segments wird der Inhalt zurück in das ursprüngliche Segment kopiert. Nach einem solchen Flash-Refresh-Zyklus beginnt die Datenhaltezeit für dieses Segment neu.
[...]
VORSICHT
Die Anwendung muss sicherstellen, dass der Flash-Refresh eines Flash-Segments nicht durch einen Stromausfall unterbrochen wird.

Am besten eignen sich hierfür Systeme mit Dual-Blitz. Kopieren Sie von einem Block zum anderen, führen Sie eine Überprüfung zwischen den beiden Blöcken durch, schalten Sie das Boot-Flag auf den neu programmierten Block und starten Sie neu. Spülen und wiederholen.

Wahrscheinlich ist die Verwendung von Refresh eine gute Möglichkeit, die Lebensdauer zu verlängern. Ferroelektrische nichtflüchtige Speicher sollen haltbarer sein, und andere nichtflüchtige Formen sind in der Entwicklung.

Reflashing wird nicht alles verjüngen; Einige Systeme verwenden Dummy-Zellen (die die Schwellenwerte für die Unterscheidung auf mehreren Ebenen festlegen), und alternde Dummy-Zellen können nicht "aufgefrischt" werden. Sie sind nicht löschbar, sie sind nicht einmal adressierbar, aber sie können sich mit den Jahren entladen, genau wie Datenzellen.

Es wurden auch Ersatzblöcke verwendet, um die FLASH-Lebensdauer in einigen Chips CAT24C256 in Kombination mit selbstüberprüfenden internen Codes zu verlängern.

Können Sie ein Beispiel für eine Flash-Chip-Technologie mit Dummy-Zellen geben? Wie verbreitet ist diese Praxis?