Werbung
Während sämtliche Hersteller bei 2D-Speicher auf die Floating-Gate-Technik gesetzt haben, trennen sich die Wege bei 3D-Speicher nun. Samsung verspricht sich von der Charge-Trap-Technologie eine höhere Speicherdichte und eine geringere Größe des Dies. Intel und Micron, die die Flash-Fertigung als Joint-Venture IM Flash Technologies betreiben, setzen weiterhin auf die Floating-Gate-Technik, bei der man, da sie schon viel länger zum Einsatz kommt, auf einen größeren Erfahrungsschatz zurückgreifen kann.
Die Verfechter beider Technologien rühren für ihre Technologie fleißig die Werbetrommel. So kann man auch im Crucial Blog über eine eigene Technologie namens CMOS Under The Array lesen, die große Vorteile bei der Fertigung von 3D-NAND bieten soll. Für die nächste Zeit werden sicher Floating-Gate- als auch Charge-Trap-Speicher parallel existieren, bis sich eine der beiden Technologien als überlegen herausstellt – welche das sein wird, ist an dieser Stelle jedoch definitiv nicht abschätzbar.
Die von Intel und Micron verwendete Technologie führt zu einer Kapazität von 384 Gbit pro Die, wobei auf der Crucial MX300 750 GB insgesamt 16 Dice zum Einsatz kommen, was eine Bruttokapazität von 768 GByte ergibt. Diese Kapazität auf die typischen 500 bzw. 512 GB zu stutzen, wäre offensichtlich eine zu große Verschwendung des Speichers, weswegen Crucial sich letztendlich für den Zwischenschritt mit 750 GB entschieden hat. Damit besitzt die Crucial MX300 ein Overprovisioning von rund 9%, was für Consumer-Laufwerke üblich ist.
Die weiteren Modellvarianten, die im Laufe des Jahres auf den Markt kommen sollen, werden daher höchstwahrscheinlich ebenfalls mit bisher ungewohnten Kapazitäten auf den Markt kommen, also beispielsweise 375 GB und 1,125 TB. Denkbar wäre auch noch ein Modell mit 1,5 TB, wobei Crucial auch gleich auf 1,875 TB oder sogar 2,3 TB gehen könnte. Auch sind natürlich noch Variationen beim Overprovisioning möglich. Hier gilt es letztendlich abzuwarten, welche Modelle Crucial in nächster Zeit ankündigt. Neben einer größeren Auswahl bei der Kapazität sind außerdem noch Modelle im M.2-Format zu erwarten, allerdings mit SATA- und nicht mit PCI-Express-Interface.
Deutlich weniger spannend als der Speicher ist der Controller, denn hierbei handelt es sich um einen Marvell 88SS1074. Diesen Controller haben wir sogar schon einmal gesehen, nämlich auf der Plextor M7V, dort kam er allerdings zusammen mit planarem TLC-Speicher von Toshiba zum Einsatz, was selbstverständlich auch einen großen Einfluss auf die Performance hat.
Ein Feature, das man sonst praktisch nur bei wesentlich teureren Enterprise-Laufwerken findet, ist eine Power-Loss-Protection. Das Vorhandensein dieses Feature ist meistens leicht an einer größeren Anzahl an Kondensatoren zu erkennen – so auch auf der Crucial MX300. Die Kondensatoren speichern genügend Energie, um das Laufwerk im Falle eines Stromausfalls noch für ungefähr eine Millisekunde weiter versorgen zu können. Einen Unterschied zur Enterprise-Variante gibt es allerdings, denn die Crucial MX300 schützt nur Daten, die sich bereits im Flashspeicher befinden. Nutzerdaten im DRAM-Cache können bei einem Stromausfall weiterhin verlorengehen.
Warum Nutzerdaten überhaupt gesichert werden müssen, wenn sie sich doch schon im nichtflüchtigen Flashspeicher befinden, versteht man, wenn man sich etwas genauer mit der Funktionsweise von MLC/TLC-Speicher auseinandersetzt. Um in einer Zelle Daten zu speichern, muss diese programmiert werden. Technisch heißt das, dass eine Spannung angelegt wird und eine bestimmte Anzahl an Elektronen in die Zelle eingebracht wird. Diese Elektronen erzeugen beim Auslesen wiederum eine Spannung, die dann einem der möglichen Zustände zugeordnet wird.
Im Fall von MLC-Speicher, der zwei Bit pro Zelle speichert, müssen vier Zustände unterschieden werden, bei TLC mit drei Bit sind es acht Zustände. Zellen werden nun allerdings nicht vollständig programmiert, sondern sind in sogenannte Lower Pages und Upper Pages unterteilt. Dabei kann man im Fall von MLC-Speicher die Lower Page mit dem ersten und die Upper Page mit dem zweiten Bit identifizieren, bei TLC-Speicher wird es entsprechend komplizierter. Die Lower Page zu programmieren ist sehr einfach, wie die folgende Grafik zeigt.
Die Zelle wird entweder auf das Niveau von L0 oder L1 programmiert, beim Auslesen werden diese dann als Bit-Wert 1 bzw. 0 identifiziert. Problematisch kann es nun werden, wenn die Upper Page, also das zweite Bit, programmiert werden soll, denn hierzu muss das gespeicherte Niveau verschoben werden. Ist die Zelle vorher auf dem Niveau von L0, kann sie nach dem Programmieren entweder bei L0 (Bitfolge 11) oder L1 (10) sein. Wurde die Lower Page als L1 programmiert, kann sie nach dem Programmieren der Upper Page bei L2 (00) oder L3 (01) sein.
Das Programmieren der Upper Page benötigt eine bestimmte Zeit, fällt währenddessen der Strom aus ist, die Programmierung der Zelle mit einer gewissen Wahrscheinlichkeit unvollständig und der Zustand undefiniert. Die Zelle kann sich danach (zufällig) auf dem richtigen oder dem falschen Niveau befinden, oder auch auf einem Wert dazwischen. Die Lower Page, die bereits gültige Daten enthalten hat, wäre nun beschädigt und bereits gespeicherte Daten korrumpiert. Die Power-Loss-Protection, wie sie Crucial bei den Consumer-Laufwerken seit der M500 einsetzt, verhindert, dass existierende Daten in der Lower Page durch das Schreiben neuer Daten in die Upper Page zerstört werden. Die Daten, die eigentlich in die Upper Page hätten geschrieben werden sollen, gehen dabei allerdings verloren. Daher handelt es sich nur um eine teilweise und nicht um eine vollständige Power-Loss-Protection.
Zum Schluss schauen wir uns noch kurz die Dynamic Write Acceleration (DWA) an, Crucials Implementierung eines SLC-Caches. In der ersten Spalte (mit Cache) wurde insgesamt fünf Sekunden sequenziell auf das Laufwerk geschrieben und die Geschwindigkeit gemessen. In der zweiten Spalte (ohne Cache) wurde insgesamt 120 Sekunden geschrieben, die Geschwindigkeit aber wieder nur über die letzten fünf Sekunden gemessen.
mit Cache | ohne Cache | |
---|---|---|
Kapazität | 750 GB | 750 GB |
Seq. schreiben (MB/s) | 455,16 | 283,63 |
Es hat rund 110 Sekunden gedauert, bis die Performance gesunken ist, es wurden bis dahin also ca. 50 GB mit voller Geschwindigkeit geschrieben. Im Gegensatz zu anderen Herstellern reserviert Crucial keinen Bereich fester Größe für den SLC-Cache, sondern arbeitet dynamischer: Dabei werden die Zellen solange mit lediglich einem Bit programmiert, bis keine freien Zellen mehr vorhanden sind - oder eine bestimmte Grenze, wie hier, erreicht wird. Danach schaltet das Laufwerk um und schreibt direkt im TLC-Modus, was die Performance dann deutlich sinken lässt. Im Alltagsbetrieb dürfte man davon kaum etwas mitbekommen, da Schreibzugriffe dieser Größenordnung doch sehr selten auftreten.