Flash-Speicher / Flash-Memory

NAND-Speicherchips
Flash-Speicher bzw. Flash-Memory kombiniert die Vorteile von Halbleiterspeicher und Festplatten. Wie jeder andere Halbleiterspeicher kommt Flash-Speicher ohne bewegliche Teile aus. Und die Daten bleiben wie bei einer Festplatte auch nach dem Abschalten der Energieversorgung erhalten.
Der Flash-Speicher hat sich aus dem EEPROM (Electrical Erasable and Programmable Read-Only Memory) entwickelt. Je nach Literatur gibt es auch die Bezeichnungen Flash-EPROM und Flash-ROM.
Beim Flash-Speicher ist die Speicherung von Daten funktionell identisch wie beim EEPROM. Die Daten werden allerdings blockweise in Datenblöcken zu 64, 128, 256, 1024, ... Byte zugleich gelesen, geschrieben und gelöscht.

Computer, deren Speicher rein auf Flash-Speicher basieren, sind der Traum eines jeden Software-Entwicklers und Anwenders. Der Computer müsste nie mehr minutenlang beim Starten booten, sondern wäre innerhalb weniger Sekunden sofort betriebsbereit. Genauso schnell wäre er auch ausgeschaltet. Und beim nächsten Start wären die gleichen Programme und Dateien geladen, wie vor dem Ausschalten.

Flash-Speicherzelle

Speicherzelle eines NAND-Speichers
Die Speicherzelle eines Flash-Speichers ist dem Feldeffekttransistor (FET) sehr ähnlich. Im Gate ist jedoch eine Ladungsfalle enthalten, die Floating Gate genannt wird. Es handelt sich um eine elektrisch isolierte Halbleiterschicht. Das Floating Gate speichert die Ladung wie ein Kondensator. Es ist gegen die Anschlüsse Drain, Source und Control Gate mit einer Oxidschicht isoliert. Die Oxidschicht verhindert das Abfließen der Ladung. Im spannungslosen Zustand bleibt die Ladung über viele Jahre erhalten.
Beim Löschvorgang springt die Ladung in einem Blitz (Flash) auf das Floating Gate über. Es wird aufgeladen. Der Stromfluss zwischen Source und Drain wird abgeschnürt. Der Transistor befindet sich dann im Null-Zustand.
Zum Lesen der Speicherzelle wird Spannung an den Transistor gelegt und der Strom, der zwischen Drain und Source fließt, gemessen. Ist das Floating Gate entladen, dann fließt ein Strom zwischen Source und Drain. Der Zustand des Transistors ist dann 1.

Unterschied NAND- und NOR-Flash

Die NAND- und NOR-Architekturen unterscheiden sich in der Speicherdichte und der Zugriffsgeschwindigkeit.

NOR-Flash
Bei NOR-Flash sind die Speicherzellen parallel verschaltet. Der Zugriff auf die Speicherzellen erfolgt wahlfrei und direkt. Entsprechend kurz sind die Zugriffszeiten. Die Parallelschaltung garantiert einen geringeren Widerstand zwischen Stromquelle und Auswerteschaltung. So wird für den Programmspeicher von Mikrocontrollern NOR-Flash verwendet.

NAND-Flash
Bei NAND-Flash ist wegen der internen seriellen Verschaltung das Lesen und Schreiben nur in Blöcken möglich. Durch die geringe Anzahl an Datenleitungen benötigt NAND-Flash weniger Platz. Da Daten auf Festplatten ebenfalls Blockweise gelesen und geschrieben werden, eignet sich NAND-Flash hervorragend als Speicher für Speicherkarten, USB-Sticks und SSDs.
Im Vergleich zu anderen nichtflüchtigen Speicherarten erlaubt NAND-Flash höhere Speicherdichten zu geringen Kosten und arbeitet mit wesentlich schnellerer Schreibgeschwindigkeit und geringem Stromverbrauch. Bei gleichen Speicherbausteinen liegen Geschwindigkeitsunterschiede bei den Controllern.

SLC-, MLC- und TLC-Flash

  SLC (Single Level Cell) MLC (Multi Level Cell) TLC (Triple Level Cell)
Bit pro Zelle 1 Bit 2 Bit 3 Bit
Speicherbare Zustände 2 (21) 4 (22) 8 (23)
Lebensdauer 100.000 Schreibvorgänge 3.000 Schreibvorgänge ca. 1.000 Schreibvorgänge
Fehlerrate sehr niedrig mittel hoch
Geschwindigkeit sehr hoch niedrig niedrig
Stromverbrauch sehr niedrig hoch hoch
Preis > 10 Euro pro GByte 2 bis 4 Euro pro GByte ?

SLC-Flash (Single Level Cell)

SLC-Flash (Single Level Cell)
SLC-Flash speichert nur ein Bit pro Speicherzelle. Er ist mit rund 100.000 Schreibzyklen ein zuverlässiger Flash-Speicher für SSDs und aber auch sehr teuer.

MLC-Flash (Multi Level Cell)

MLC-Flash (Multi Level Cell)
MLC-Flash speichert zwei Bit pro Speicherzelle (x2-MLC). Er hat dadurch eine höhere Speicherdichte im Vergleich zu SLC-Flash, bei gleichen Siliziumkosten. MLC-Flash lässt sich deshalb günstiger fertigen und eignet sich besonders in Produkten für den Massenmarkt. Allerdings lassen sich die MLC-Speicherzellen nicht ganz so schnell beschreiben, wie SLC-Speicherzellen.
Bei 2 Bit muss eine Speicherzelle mehrere Spannungsniveaus vertragen (00, 01, 10, 11). Es treten häufig Lesefehler auf. Vor allem dann, je öfter eine Zelle beschrieben wurde. Deshalb benötigen MLCs mehr Fehlerkorrekturmechanismen. Dementsprechend dauert das Lesen länger. Auch der Lesevorgang hat eine physikalische Beanspruchung der Zellen zur Folge. Insgesamt eignen sich MLCs besonders gut für Systeme, die mehr Lese- als Schreibvorgänge haben.

Anfangs war noch von 10.000 Schreibvorgängen pro MLC-Zelle die Rede. Wegen feineren Halbleiterstrukturen ist die Anzahl auf 5.000 gesunken und ist inzwischen bei 3.000 angekommen (Stand: Oktober 2013). Wegen den Ladungsunterschieden für mehrere Bit sind die Speicherzellen mit rund 3.000 Schreibzyklen pro Zelle (bei 19-nm-Herstellungsprozess) defektanfälliger, als bei SLC. Nur durch Wear-Leveling und Reserve-Speicherzellen lässt sich die Gesamtlebensdauer des Flash-Speichers verlängern, was aber auch die Herstellungskosten erhöht.

MLC-Flash wird wegen der begrenzten Schreibzyklen hauptsächlich für USB-Sticks und Speicherkarten verwendet. MLC-Flash findet man auch manchmal in billigen SSDs.

TLC-Flash (Triple Level Cell)

TLC-Flash (Triple Level Cell)
TLC-Flash speichert drei Bit pro Speicherzelle (x3-MLC). Wegen der höheren Speicherdichte im Vergleich zu MLC-Flash könnte man auf einen noch günstigeren Flash-Speicher schließen. Allerdings müssen die Speicherzellen eine hohe Qualität aufweisen, um die unterschiedlichen Ladungszustände für drei Bit stabil halten zu können, was die Herstellung wieder verteuert.
Weil dieser Flash-Speicher möglichst billig sein soll kommen einzelne TLC-Zellen auf höchstens 1.000 Schreibvorgänge. Damit ist die Lebensdauer von TLC-Flash gerade noch akzeptabel, um es in USB-Sticks und Speicherkarten einzusetzen. Beim Einsatz als SSD in normalen PCs und Notebooks muss man technische Klimmzüge machen, was den Speicher wieder verteuert. Für Server, wo häufiger geschrieben wird, ist TLC-Flash unbrauchbar.
TLC-Flash wird wegen der begrenzten Schreibzyklen hauptsächlich für USB-Sticks und Speicherkarten verwendet. TLC-Flash findet man auch manchmal in der extrem billigen SSDs.

Vorteile von Flash-Speicher

Nachteile von Flash-Speicher

Der gravierendste Nachteil von Flash-Speicher ist die begrenzte Zahl von Schreib- bzw. Löschvorgängen, die eine Speicherzelle vertragen kann. Typischerweise gehen die Speicherzellen nach 100.000 Zyklen bei Single-Level-Cells (SLC), 3.000 Zyklen bei Multi-Level-Cells (MLC) und schon nach 1.000 Zyklen bei Triple-Level-Cells (TLC) kaputt.

Die Zuverlässigkeit von Flash-Speicher leidet auch darunter, weil mit der Zeit die Speicherzellen ihre Ladung verlieren. Je höher die Temperatur und die Ladungsmenge pro Zelle, desto schneller. Bei einem Lesevorgang kann der Zelleninhalt schon gekippt sein. Je feiner die Strukturen werden, desto größer ist die Gefahr. SLC-Flash ist hier die einzige Flash-Technik, die Sicherheit bietet.

Endurance

Mit Endurance bezeichnet man die maximal zulässige Anzahl an Lösch- bzw. Speicherzyklen, die ein nichtflüchtiger Datenspeicher (NVRAM) pro Speicherzelle verträgt, bis es zu spürbaren Fehlern bei Speicheroperationen kommt.
Dass die Anzahl überhaupt beschränkt ist, liegt bei heutigen Flash-Speichern (die gängige Technologie zur Umsetzung des NVRAM-Prinzips) daran, dass die Speicherzellen für die Programmier- und Löschoperationen hohen Spannungen (10 bis 18 V) ausgesetzt werden, wodurch Schädigungen in der Struktur der Zelle auftreten. Die Schädigungen werden umso geringer, je geringer die Spannungen für Programmieren und Löschen gewählt werden können. Diese Minimierungsanforderung führt dazu, dass man eine zentrale Isolationsstruktur in der Speicherzelle möglichst dünn ausführen muss. Das wiederum hat allerdings negative Auswirkungen auf die Dauer der Datenhaltung (Retention).

Warum geht eine Flash-Speicherzelle kaputt?

Das Floating Gate wird mit einer Spannung von 10 bis 13 Volt geladen (Schreibzugriff). Das ist notwendig, um die Oxidschicht (Isolation) zu überwinden. Dabei nimmt die Oxidschicht Schaden. Bei jedem Schreibzugriff etwas mehr. Irgendwann isoliert sie nicht mehr und die Speicherzelle wird unbrauchbar.
Da ein Schreibvorgang Speicherblöcke zwischen 16 und 128 kByte gleichzeitig beschreibt, werden auch Speicherzellen beansprucht, die gar keiner Veränderung bedürfen. Das bedeutet, schon bei geringen Änderungen des Speicherinhalts werden viele Speicherzellen neu geschrieben.

Haltbarkeit und Zuverlässigkeit von Flash-Memory

Zur Haltbarkeit und Zuverlässigkeit von Flash-Memory gibt es folgende Erkenntnisse: Die Anzahl der möglichen Schreib- bzw. Löschzyklen lässt keine direkten Rückschlüsse auf die Haltbarkeit oder die Zuverlässigkeit zu. Anders als bei herkömmlichen Festplatten besteht zwischen den Speicherzellen und den Sektoren des Dateisystems keine direkte Zuordnung. Generell verteilt der Flash-Controller die Schreibzugriffe gleichmäßig über alle Flash-Speicherzellen. Die Daten in den Zellen, die mit selten veränderten Daten, wie Betriebssystem und Programmen belegt sind, werden ab und zu umgeschichtet, um so wieder an weniger stark abgenutzte Zellen zu kommen. Gleichzeitig werden alle Speicherzellen regelmäßig aufgefrischt, damit sich mit der Zeit kein Datenverlust durch den Verlust der Ladung in den Speicherzellen einschleicht.
Alle Verfahren und Mechanismen, die die Lebensdauer der Speicherzellen verlängern fallen unter den Begriff "Wear-Leveling".

Generell kann man davon ausgehen, dass SSDs im alltäglichen Desktop-Betrieb länger halten, als von den Herstellern angegeben. 3.000 bis 100.000 Speicher- bzw. Löschzyklen sind für die meisten Anwendungen vollkommen ausreichend. Vor allem wenn mit Wear-Leveling alle Speicherzellen gleichmäßig belastet und so die Lebensdauer verlängert wird.

Weiterentwicklung von Flash-Speicher

Die Entwicklung bei Flash-Speichermedien geht in Richtung lange Haltbarkeit, kleine Zugriffszeit und hohe Geschwindigkeit. Dabei strebt man an, die Anzahl der Schreib- und Lesefehler auf ein Niveau zu drücken, so dass die Haltbarkeit von günstigem MLC-Flash in den Bereich von SLC-Flash rückt.
Mögliche Lösungen sind 3D-V-NAND, iSLC oder eMLC, bei denen mehrere MLC-Speicherzellen in mehreren Lagen übereinander geschichtet sind. Statt der typischen planaren Architektur setzt man auf eine vertikale Anordnung. Bei monolithischen 3D-V-NAND-Chips liegen über 20 Lagen übereinander. Das Stapeln spart Siliziumfläche, weshalb die einzelnen Zellen größer sein dürfen. Auf diese Weise erhöht man die Speicherkapazität, Lebensdauer, Geschwindigkeit und verlängert die Datenhaltung der einzelnen Speicherzellen.

Es gibt allerdings auch andere Anforderungen an Flash-Speicher. Der soll möglichst groß und billig sein und bei Leerlauf ausgeschaltet bleiben, bis eine konkrete Anfrage eingeht. Auch die Zuverlässigkeit und Geschwindigkeit steht an zweiter Stelle. Interessant sind solche Flash-Speicher bei Datenarchiven, wo der Anwender bei seinen Zugriffen ein wenig länger warten kann.

Anwendungen von Flash-Speicher

Flash-Speicherchips sind allgegenwärtig. Sie stecken in vielen Geräte des täglichen Gebrauchs.

Als Backupmedien und zur Archivierung eignen sich Flash-Speicher eher nicht.

Flash-Alternativen

Zwar sucht die Halbleiterindustrie nach Alternativen zu Flash. Doch der Grund, warum man nicht wirklich vorankommt ist, dass 3.000 bzw. 100.000 Speicher- bzw. Löschzyklen für die meisten Anwendungen ausreichend sind. Außerdem wird mit zusätzlichem technischen Aufwand die Anzahl der Zugriffe auf die Speicherzellen verringert.

Übersicht: Halbleiterspeicher