peakyblinder schrieb:
DRAM erhöht die Schreibrate bei kleinen Dateien enorm. Zudem wird durch den DRAM der SLC-Cache entlastet. SLC-Cache ist idr. Teil des Speicherbereiches, die Nutzung der Zellen als SLC-Cache erhöht die Abnutzung der Zellen enorm.
peakyblinder schrieb:
Und wo liegt der große Unterschied zu QLC, TLC etc?
Wie viel Bits pro Zelle gespeichert werden.
SLC -> Single Level Cell
MLC -> Multi Level Cell
TLC -> Tripple Level Cell
QLC -> Quad level Cell
Du musst dir eine Zelle vorstellen wie ein Glas. Wenn das Glas voll ist, ist da eine 1 drin. Ist das Glas leer, ist da eine 0 drin. Das ist SLC.
Jetzt dachte man sich, dass man pro Zelle mehr Informationen speichern kann, wenn man nicht nur Voll oder Leer definiert, sondern auch Zustände dazwischen. So ist es zu MLC gekommen. MLC speichert statt einem zwei Bits. also statt 0 oder 1 -> 00, 01, 10, 11. Um Zwei Bits zu speichern, muss die Zelle 4 unterschiedlich definierte Füllstände (Spannungen) haben.
Dann dachte man sich, da geht noch mehr. TLC.
TLC sind 3 Bits. Drei Bits sind 2³ -> 8 mögliche Zustände:
000, 001, 010, 011, 100 ,101 ,110 ,111.
Merke, die Komplexität der Speicherung für nur ein Bit mehr (von 2 zu 3) hat sich verdoppelt.
Da dachte man sich, da geht noch mehr: QLC
Vier Bits pro Zelle. Ich erspar mir die Aufschlüsselung, aber das sind 16 verschiedene Spannungslevel, die in einer Zelle definiert werden müssen. 16 verschiedene Zustände, um 4 Bits zu speichern!
Falls es mal zu PLC kommt, sind wir bei 32 verschiedenen Zuständen. Der Bitgewinn steht seit spätestens QLC in keinem Verhältnis mehr zur Speicherkomplexität.
Flashzellen nutzen sich mit der Zeit ab und es wird immer schwerer für die Zelle, Elektronenladungen stabil zu halten. Je feiner die Abstufung der Spannung in einer Zelle über deren Inhalt entscheidet, desto schneller passiert ein Bitflip, also Bitrot. QLC hat also eine deutlich geringere Haltbarkeit, bei gleichzeitig deutlich geringerer Speichersicherheit.
Gut, aber warum ist QLC jetzt so langsam?
Man muss sich vorstellen, um 4 Bit in eine Zelle zu schreiben, hat man die Auswahl an 16 verschiedener Spannungen. Man kann nicht alle Zellen gleichzeitig beschreiben, das sind dreidimensional angeordnete Gitter die diese Zellen beherbergen, die nur über wenig Steuerleitungen mit Multiplexern und letztendlich dem Controller verbunden sind. SLC beschreiben ist einfach, man legt eine definierte Spannung an und öffnen die Zellen, die beschrieben werden sollen über eine definierte Dauer.
Bei QLC hat man dieselbe Infrastruktur, muss jetzt aber zwischen 16 verschiedenen Spannungen auswählen. Und man kann nicht im selben Bereich mit zwei unterschiedlichen Spannungen arbeiten. Solange die eine Spannung angelegt ist können nur die Zellen damit beschrieben werden, die genau diese Bitkombination bekommen sollen. Grob theoretisch betrachtet ist die Schreibrate von SLC zu QLC also 1/16. Und das betrachtet noch nicht, das man die Zellen länger offen halten muss, damit sie das Spannungslevel definiert annehmen.
Das diese Zellen überhaupt in modernen PCs nutzbar sind, verdanken sie der Parallelisierung von Schreib und Lesezugriffen und vor allem Cache, Cache Cache.
Bei SLC Cache nimmt man ein Teil dieser QLC-Zellen die noch leer sind und betreibt die als SLC-Zellen.
Aus 4GB freiem QLC Speicher wird also 1GB SLC-Speicher, den man schnell beschreiben kann. Und nach dem Schreibvorgang übernimmt der Controller die Mühselige Aufgabe, die Daten wieder auszulesen und kriechend langsam in noch nicht beschriebene QLC-Zellen zu speichern, um die als SLC-Cache vorgehaltenen QLC-Zellen wieder zu befreien. Merke, Flashzellen haben nur eine begrenzte Anzahl an Schreibzyklen. Werden diese als Cache benutzt, sinkt die Lebenszeit des Laufwerks durch die Verdoppelung der Schreiblast. Das dies nur bis zu einem gewissen Füllstand überhaupt funktioniert ist wohl klar, man kann im Lagerhaus nur Sokoban spielen wenn genug Platz frei ist.
Brauchbare QLC-Laufwerke setzen deshalb auf externen DRAM, der den SLC-Modus je nach Größe der geschriebenen Daten ersetzt und so die Zellen extrem entlastet. Vorallem wirkt sich der Füllgrad des Laufwerks nie limitierend auf den DRAM-Cache aus wie es bei SLC-Cache der Fall ist.
QLC-Laufwerke ohne DRAM-Cache sind meines Erachtens unbrauchbar. Selbst TLC-Laufwerke ohne DRAM-Cache empfehle ich eigentlich nicht.
Und jetzt weißt du, warum QLC-Laufwerke langsamer als HDDs sind, sobald der SLC-Cache vollgeschrieben ist.