Von den zwei Faktoren (notwendige Programmierspannung) und Zell-Isolation misst du dem falschen zuviel Bedeutung zu.Fleischmann schrieb:Ist so auch nicht korrekt. Je öfter eine Speicherzelle beschrieben wird, desto weniger lang kann sie die Ladung halten. Je schneller die Ladung entweicht, desto schneller kommt es zum Bitflip. Je geringer die Ladungszustände beieinander liegen, desto schneller kommt es bei Abfall der Spannung zum Bitflip.
Der Isolator wird nicht durch mehreres Beschreiben soviel durchlässiger, dass die Ladung dort so schnell abfällt, das der Controller nicht mehr auffrischen kann und das korrekte Ladungsfenster verlassen wird. Der Isolator wird zwar beeinträchtigt, wodurch die Spannung zum Programmieren der Zelle über die Zeit angehoben werden muss, weil man sonst das richtige Fenster nicht mehr tritt, da wie du ja richtig sagst näher beieinander liegen. Die Zelle wird u.a. als defekt markiert, wenn keine passende Spannung zum korrekten Programmieren gefunden werden kann oder das Löschen und Beschreiben insgesamt dann zu lange dauert. Etwas vereinfacht ist es hier erklärt:
https://www.anandtech.com/show/5067/understanding-tlc-nand/2
Keine Logik der Welt kann vorhersagen, wie der Ladungsverlust ohne Korrekturmaßnahmen über die Zeit sein wird und aus dem Grund eine Zelle retiren. Wenn eine Zelle schon vorher öfter die Ladung verloren hätte, wäre der ganze Datenträger schon mehrfach in einem Zustand gewesen, wo er einfach komplett unbenutzbar wäre, denn der Faktor betrifft im Grunde alle Zellen und würde daher auch die Redundanzen überfordern.Ab einem gewissen Alter wird die Zelle als "defekt" markiert, was nicht daran gemessen wird, ob sie überhaupt nicht mehr zu beschreiben ist, sondern dass sie die Ladung nur noch kurze Zeit halten kann, es also in kurzer Zeit immer wieder zu Bitflips kommt.
Und zusätzlich (sofern) der Flashdatenträger nicht im Regal liegt und der Controller feststellt, dass er bei einer Zelle nicht mehr sauber lesen kann (wenn z.B. zuviele Ladungen rausdiffundiert wären und das Lesen der Zelle laut Paritätsprüfung einen falschen Wert liefert), kann die Zelle auch wieder aufgefrischt werden.
Was halt viele vergessen: seitdem 3D-NAND eingesetzt wird, sind die Zellen deutlich größer als früher bei planarem SLC und MLC-Flash. Dadurch ist das Halten der Ladungen deutlich einfacher, und das Hauptproblem beim Schreiben von QLC u.ä. ist das Finden und Anwenden der richtigen Programmierspannung, um die korrekte Zielladung zu erhalten. Hinzu kommt der technische Fortschirtt bei dem Aufbau der Zellen, welcher ebenfalls genutzt wird, um das Isolationsproblem zu minimieren.
Kannst ja mal schauen, wieviel zu in Google zu zu Bitflips als Folge von Ladungsverlusten in TLC/QLC usw findest. In der Praxis ist das nicht viel. Da überwiegen die anderen Faktoren deutlich.
Daher verbleiben als Hauptproblem die langsame Schreibrate und die begrenzte Anzahl an Schreibvorgängen. Daher verwenden Storagehersteller QLC auch gerne in Aggregaten, wo das Problem der geringen Schreibrate durch viele QLC-Datenträger kompensiert werden kann, aber die Zuverlässigkeit der gespeicherten Daten dennoch gewährt ist. Netapp würde niemals QLC in FAS500f usw einsetzen, wenn sie ständig Datenträger tauschen müssten oder die Ladungen verloren gehen. Storageserverhersteller wollen an Serviceverträgen Geld verdienen und das geht nur, wenn möglichst keine Ausfälle auftreten.
Zuletzt bearbeitet: