Mir ist auch bekannt, daß Flash-Speicher eine begrenzte Lebensdauer haben.
Wie Festplatten auch.
Die Magnetschicht einer Festplatte kannst du unendlich oft beschreiben, solange du die Platte pfleglich behandelst. Das Problem der Festplatte ist nicht der magnetische Speichervorgang, sondern mechanischer Verschleiß, austrocknende Schmierfette und Erschütterungen (Headcrash).
Flash-Speicher verschleißen ihre Speicherzellen, also das was die gespeicherte Information hält. Und zwar findet der Verschleiß mit jedem Schreibvorgang statt. Die guten alten Flash-ROMs, die in PCs für im Betrieb neuprogrammierbare BIOS-Chips verwendet werden, kannst du ein paar hundert mal beachreiben, dann sind die platt. Aber wenn sie nicht verändert werden, halten sie ihre Information ewig, siehe auch weiter unten. Flash-Speicherzellen, die für Laufwerke aller Art (USB-Sticls SD/CF-Karten, SSDs verwendet werden, halten 10.000 bis derzeit etwa ein paar 100.000 Schreibzugriffe pro Speicherzelle aus. Deswegen sind früher USB-Sticks nach regelmäßigem Gebrauch recht schnell kaputt gegangen. Mitterweile verwenden diese Speichermedien das "Wear Levelleing" Verfahren. Damit sieht das Betriebssystem in einem logischen Sektor auf dem Medium nicht immer den gleichen physischen Speicherblock im Chip, bei jedem Schreibvorghang auf einen Sektor geschieht folgendes im Flash-Controller: Der auf den Sektor aktuell gemappte Flash-Block (meist 4 kB, also z.B. 8 logische Sektoren auf einem Laufwerk) wird wird in einen Controller-Cache ausgelesen, die neuen Daten werden im Cache eingefügt/ersetzt, ein "neuer" physischer Speicherblock wird dem logischen Sektor (oder den Sektoren) gemappt, und der Inhalt des Cache wird in diesen "neuen" Block geschrieben, der dann als "benutzt" markiert wird. Der alte physische Speicherblock landet im Pool der unbenutzten Speicherblöcke. Die Auswahl des neuen Blocks hängt davon ab, ob sich der Flash-Controller diesen Block als "unbenutzt" gemerkt hat, und dass sein Schreibzyklen-Zähler möglichst niedig ist. Mitunter sucht sich der Controller auch erstmal einen besetzen Block, der schon lange nicht neu beschrieben wurde, niedrigen Schreibzähler hat, und verschiebt dessen Inhalt in einen unbenutzten Block mit höherem Verschleiß und nutzt dann für den nächsten Schreibvorgang diesen weniger verschlissenen Block. Häufig beschriebene Sektoren sind zum Beispiel die, in denen die Verwaltungsstrukturen der logischen Laufwerke liegen, also z.B. die FAT und vergleichbares, da findet mit jedem Schreibzugriff aiuf die FAT, die wiederum durch irgendwelche Dateioperationen auf irgendeine Datei ausgelöst werden können, ein Blocktausch statt. Durch dieses Verfahren hofft man, dass alle physischen Speicherblöcke des Speicherchips möglichst gleichmäßig abnutzen, und nicht manche sehr schnell und andere eher garnicht.
Deswegen ist übrigens auch das sichere Löschen von Flash-Laufwerken eher unmöglich, weil nämlich die Nullen nicht in dem Speicherblock landen, der zuvor dem zu löschenden Sektor zugemappt war. Sicheres Löschen von Flash-Speichern heitßt Hammer, Bohrmaschine, Schraubstock, etc.
Je mehr freie Blöcke so ein Stick hat, desto besser kann der Controller zu schreibende Daten auf frische Blöcke ablegen und diese mappen. Je voller ein Flashlaufwerk wird, um so langsammer wird es dann beim schreiben, weil es immer öfters Blöcke tauschen und ummappen muss. Je geschickter der Wear Leveling Algorythmus des Controllers ist, um so mehr Schreibvorgänge hält das Speichermedium insgesamt durch.
Das ist übrigens neben der Diskrepanz von modernen Megabytes, Giagbytes (MB, GB, etc.) auf 1000er Basis zu den uns noch als MB/GB/... bekannte MiB, GiB/... bekannten Speichergrößen basierend auf 1024 Bytes pro kB auch die Erklärung dafür, dass ein Flash-Speicher nicht die versprochene Größe im Betriebssystem anzeigt, du kaufst einen Stick mit 4 GB und bekommst 3,6 GB. Ein Teil wegen der Umrechnung 1000/1024 und ein Teil weil der Flashcontroller ein Teil der 4 GB nicht hergibt, sondern als Reserve fürs Wear Levelling behält. Dennoch sollte man Flash-Speicher nicht 100% befüllen, das geht auf die Performance.
Was ich oben auch schon erwähnt habe, ist dass Flash-Medien regelmäßig bestromt werden müssen, damit sich die elektrische Ladungen in den Speicherzellen (letztendlich, vereinfacht ausgedrückt, in Silizium eingebettete Kondensatoren) wieder auffrischen können. Tut man das nicht, irgendwann verlieren die Speicherzellen ihre gespeicherte Information. BIOS-Flash-Chips speichern nur ein paar MB, da können die Speicherzellen recht groß sein, das heißt recht große Kondensatoren, die halten ihre Information also sehr lange, weil die elektrische Ladung nicht so schnell komplett abfließt. Je größer die Speicherkapazität eines Flashs wird, um so kleiner müssen diese Strukturen werden, damit das Laufwerk nicht mechanisch zu groß/schwer werden, damit werden auch diese Kondensatoren kleiner, halten also weniger elektrische Ladung, die schneller entladen ist.
Wer also seine wichtigen Daten auf einen USB-Stick oder CF legt und 10 Jahre in einen Banktresor legt, braucht sich also nicht zu wundern, wenn die bei Bedarf dann nicht mehr lesbar sind. Aber es geht noch extremer, moderne, sehr große und schnelle SSDs z.B. für Server und Storage-Geräte (von EMC, Netapp, HP, IBM, ...) halten im ausgeschalteten Zustand die gespeicherten Informationen nur wenige Wochen bis Monate.
Neben diesem Softwaretrick wird natürlich auch die Haltbarkeit der Speicherzellen hochgeschraubt, aber verschleißfrei sind Flash-Medien auch nicht. Aber man ist inzwischen so weit, dass sie, solange sie zumindestens gelegentlich mal länger unter Strom sind, länger durchhalten, als Festplatten. Allerdings, sofern mechanisch noch Ok, sind Daten auf vor fast 40 Jahren geschriebenen MFM-Platten oft heute noch problemlos lesbar, sofern man noch einen passenden Rechner mit Controller hat.
Siehe unter anderem auch hier:
https://www.ontrack.com/de/blog/wear-leveling-was-ist-das/6498