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, 1.024, ... 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 mit Floating-Gate-Technik

Speicherzelle eines NAND-Speichers

Die Speicherzelle eines Flash-Speichers ist dem Feldeffekttransistor (FET) sehr ähnlich. Im Gate (G) 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 (D), Source (S) und Control Gate mit einer Oxidschicht isoliert. Die Oxidschicht verhindert das Abfließen der Ladung vom Control Gate. Im spannungslosen Zustand bleibt die Ladung über ein paar Jahre erhalten. Hierbei ist zu beachten, dass die Ladung irgendwann aufgefrischt werden muss, was im laufenden Betrieb erfolgt. Wird ein Datenspeicher mit Flash-Memory archiviert, besteht die Gefahr, dass der Speicherinhalt nach ein paar Jahren verloren geht.

Beim Löschen der Speicherzelle 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 eine Spannung an das Gate (G) des Transistors angelegt und der Strom, der zwischen Drain und Source fließt, gemessen. In Abhängigkeit der Stromstärke kann ein bestimmter Zustand der Speicherzelle bzw. der Ladezustand des Floating Gates angenommen werden.

Unterschied NAND- und NOR-Flash

Die NAND- und NOR-Architekturen unterscheiden sich grob gesehen 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. NOR-Flash wird für den Programmspeicher von Mikrocontrollern verwendet. So kommt er zum Beispiel auch als nichtflüchtiger Speicher für das BIOS in PCs zum Einsatz.

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 als Massenspeicher, wie 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. Die Unterschiede bei den Geschwindigkeiten liegen bei den Controllern.

Flash-Memory-Typen

Typischerweise nimmt eine Speicherzelle nur zwei verschiedene Zustände an, die sich durch geladen und ungeladen ausdrücken. Wenn man in der Lage ist, mehrere Zustände in einer Speicherzelle festzuhalten, dann kann man die Speicherdichte erhöhen. Bei Flash-Speicher versucht man durch unterschiedliche Spannungsniveaus mehrere Zustände in einer Speicherzelle abzubilden.

  SLC MLC TLC QLC PLC
Bit pro Zelle 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit
Speicherbare Zustände 2 (21) 4 (22) 8 (23) 16 (24) 32 (25)
  • SLC - Single Level Cell
  • MLC - Multi Level Cell
  • TLC - Triple Level Cell
  • QLC - Quadple Level Cell
  • PLC - Penta Level Cell

SLC-Flash (Single Level Cell)

SLC-Flash (Single Level Cell)

In SLC-Flash speichert man ein Bit pro Speicherzelle. Dadurch lassen sich rund 100.000 Schreibzyklen erreichen, bevor eine Speicherzelle abgenutzt und defekt ist.
Typischerweise werden Speicherzellen nur bei sehr vielen Schreibzyklen als SLC verwendet.

MLC-Flash (Multi Level Cell)

MLC-Flash (Multi Level Cell)

In MLC-Flash speichert man zwei Bit pro Speicherzelle. Dadurch verdoppelt sich die Speicherdichte im Vergleich zu SLC-Flash, bei gleichen Siliziumkosten. Allerdings lassen sich MLC-Speicherzellen nicht ganz so schnell beschreiben, wie SLC-Speicherzellen.
Bei 2 Bit muss eine Speicherzelle mehrere Spannungsniveaus vertragen (00, 01, 10, 11). Um Lesefehler zu vermeiden, dauert der Lesevorgang länger. 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.

Hinweis: Ursprünglich ging man von 10.000 Schreibvorgängen pro MLC-Zelle aus. Wegen feineren Halbleiterstrukturen ist die Anzahl auf 5.000 gesunken und liegt typüischerweise bei 3.000 (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. 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 typischerweise für SSDs verwendet.

TLC-Flash (Triple Level Cell)

TLC-Flash (Triple Level Cell)

In TLC-Flash speichert man drei Bit pro Speicherzelle. Wegen der höheren Speicherdichte im Vergleich zu MLC-Flash müssen die Speicherzellen eine hohe Qualität aufweisen, um die unterschiedlichen Ladungszustände für 3 Bit stabil halten zu können, Was die Herstellung etwas verteuert, aber auch eine höhere Datendichte aufweist.
Weil dieser Flash-Speicher möglichst billig sein soll, kommen einzelne TLC-Zellen auf vielleicht nur 1.000 Schreibvorgänge. Damit ist die Lebensdauer von TLC-Flash gerade noch akzeptabel.
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. In Servern, wo häufiger geschrieben wird, ist TLC-Flash unbrauchbar.

Vorteile von Flash-Speicher

  • Die gespeicherten Daten bleiben auch bei fehlender Versorgungsspannung erhalten. Auf eine Erhaltungsladung kann verzichtet werden. Somit ist auch der Energieverbrauch und die Wärmeentwicklung geringer.
  • Wegen fehlender beweglicher Teile ist Flash geräuschlos, unempfindlich gegen Erschütterungen und magnetische Felder.
  • Im Vergleich zu Festplatten haben Flash-Speicher eine sehr kurze Zugriffszeit. Lese- und Schreibgeschwindigkeit sind über den gesamten Speicherbereich nahezu konstant.
  • Die erreichbare Speichergröße ist durch die einfache und platzsparende Anordnung der Speicherzellen nach oben offen.

Nachteile von Flash-Speicher

  • begrenzte Schreib- bzw. Löschvorgänge (Endurance)
  • begrenzte Dauer der Datenhaltung (Retention)

Der Hauptnachteil von Flash-Speicher ist die begrenzte Zahl von Schreib- bzw. Löschvorgängen, die eine Speicherzelle vertragen kann.

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 ist das der Fall. Bei einem Lesevorgang kann der Zelleninhalt schon gekippt sein. Je feiner die Strukturen werden, desto größer ist diese Gefahr. Flash-Memory eignet sich also weniger zur Langzeit-Archivierung.

Endurance und Retention

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.
Das 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 hohen Spannung beim Schreibzugriff geladen. 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. Wenn mit Wear-Leveling alle Speicherzellen gleichmäßig belastet werden, wird die Lebensdauer dauerhaft verlängert.

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, damit 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 60 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. Dabei steht die Zuverlässigkeit und Geschwindigkeit 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äten des täglichen Gebrauchs.

Zur Archivierung eignen sich Flash-Speicher nicht. Herkömmliche Festplatten sind hierfür besser geeignet.

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

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was Sie über Computertechnik wissen müssen.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was Sie über Computertechnik wissen müssen.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen