Transcend: nichtflüchtige Speicher Das Grundprinzip ist noch immer gültig

Manuel Spaniel, Transcend
»Bei unserer SuperMLC-Technologie werden hochwertige MLC-Zellen mit nur einem Bit pro Zelle betrieben, um die Haltbarkeit und Performance der Zellen maßgeblich zu erhöhen.«
Manuel Spaniel, Transcend »Bei unserer SuperMLC-Technologie werden hochwertige MLC-Zellen mit nur einem Bit pro Zelle betrieben, um die Haltbarkeit und Performance der Zellen maßgeblich zu erhöhen.«

Das Grundprinzip fast aller aktuell verfügbaren non-volatilen Speicher ist sehr ähnlich. Vereinfacht dargestellt fungiert das Floating Gate eines speziellen Transistors als Ladungsfalle für Elektronen.

 Die unterschiedlichen Ladungszustände des Floating Gates lassen sich durch das Anlegen einer geringen Spannung detektieren. Diese Grundlagen werden bereits seit den 60er Jahren in EEPROMS verwendet und haben selbst in modernen 3D-TLC-Chips noch Gültigkeit.

Prinzipiell gibt es zwei wesentliche Typen dieser Transistoren: die »Floating Gate«-Transistoren und Charged Trap Flashes (CTF). Der wichtigste Unterschied ist die Beschaffenheit des Gates. Während Floating Gates ein leitendes Material verwenden, nutzen CTF-Zellen ein nicht-leitendes Material zur Speicherung der benötigten Elektronen. Beide Typen haben ihre eigenen Vorteile in der Fertigung und Nutzung. Die grundlegende Entwicklung in diesem Be-reich startete mit Single-Bit-NOR-Flash und -NAND-Flash. Der wesentliche Unterschied zwischen beiden ist die Anbindung der Zellen, einzeln bei NOR und gruppiert bei NAND. Aktuell ist NAND-Flash die deutlich verbreitetere Version vor allem wegen der großen Skalierbarkeit im Hinblick auf die Datenmenge.

Ein wesentlicher Nachteil aller Flashzellen ist die Abnutzung, das sogenannte Wear-Out der Zellen beim Schreibvorgang. Vereinfacht ausgedrückt, wird die Zelle durch das Anlegen einer starken Spannung beschrieben. Die in Abbildung 1 orange dargestellten Schichten werden dabei von Elektronen getunnelt. Dies führt nach einer ausreichenden Zahl von Schreibvorgängen zu leichten Beschädigungen, und die Zelle kann die geschriebene Ladung nicht mehr lange halten.

Gängigste Speichertypen

Recht schnell zeigte sich, dass Single Level Cells (SLC), welche die Speicherung eines Bits pro Zelle ermöglichen, selbst mit einer Miniaturisierung der Zellen auf Dauer nicht mit anderen Speichertypen konkurrieren können. Der nächste Schritt war daher die Entwicklung von MLC-Chips (Multi Level Cells) – was sprachlich für Verwirrung sorgen kann, weil die Branche mit MLC praktisch immer 2-Bit-Zellen meint, während für 3-Bit-Zellen der Terminus TLC (Triple Level Cell) verwendet wird. Der wesentliche Unterschied liegt in der unterschiedlichen Menge an codierten Bits und der dafür notwendigen Spannungslevel.

In der Praxis zeigt sich, dass mit steigender Anzahl der Ladungszustände verschiedene Parameter einer teilweise drastischen Änderung unterliegen (Abbildung 2). Während zwar die Datendichte pro Chip spürbar steigt, verlieren MLC- und TLC-Zellen gegenüber den klassischen SLC-Zellen an Haltbarkeit und Performance. Um MLC-oder TLC-Zellen zu beschreiben, werden unterschiedliche und zum Teil deutlich höhere Spannungsniveaus benötigt als bei SLC-Zellen – folglich beschleunigt sich die Alterung der Zellen erheblich. Ein weiterer Nachteil der Zellen, die mehrere Bits speichern sollen, ist die Auslesbarkeit. Durch die blockweise Adressierung für NAND-Flash muss praktisch jedes Ladungsniveau einmal für den ganzen Block ausgelesen werden, um anschließend ein logisches Abbild mit Bit-Werten für den zu lesenden Block zu generieren.

Während bei SLC also ein Lesevorgang aus-reichend ist, benötigen MLC drei respektive sieben Lesevorgänge, wobei diese Werte nur einen theoretischen Minimalwert für den jeweiligen Flash-Typ darstellen. In der Praxis sind die Ladungszustände einzelner Zellen ggf. schon zu Beginn beim Schreiben nicht perfekt getroffen worden und je nach Alter der zu lesenden Informationen sind überdies einige Elektronen der Falle entkommen. Der Controller muss also den Lesevorgang mit einem bestimmten Level wiederholen, was in der Praxis zu spürbaren Performance-Verlusten führen kann. Hier zeigt sich bereits grundlegend die Notwendigkeit funktionierender und leistungsfähiger Error Correction Codes (ECC), weil sich so die Notwendigkeit, Lesevorgänge zu wiederholen, deutlich senken lässt.

Um die Nachteile der Multi-Bit-Zellen so gut wie möglich auszugleichen, wurden verschiedene Maßnahmen ergriffen. Eine der wichtigsten Entwicklungen stellt die Implementierung von »Double Data Rate Transfer«-Methoden dar, die im DRAM-Bereich schon lange bekannt sind. Im Bereich Flash wird umgangssprachlich dann meist von Toggle Mode oder ONFI NAND gesprochen, wobei letzteres nur ein offener Standard ist, der sowohl Single als auch Double Data Rate Interfaces definiert.