Flash-Speicher / Flash-Memory
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
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.
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.
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)
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)
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)
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.
- USB-Stick
- Speicherkarten
- SSD - Solid State Drive
- SSHD - Solid-State Hybrid Drives (Hybrid-Festplatten)
- Handy / Smartphone
- MP3-Player
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.
- FRAM - Ferroelectric RAM (ferro-elektrischer RAM)
- MRAM - Magnetoresistive RAM (magnetoresistiver RAM)
- PCRAM - Phase Change RAM (Phasen-Wechselspeicher)
- RRAM / ReRAM - Resistive RAM (resistiver RAM)
Übersicht: Halbleiterspeicher
- ROM - Read Only Memory
- RAM - Random Access Memory
- DRAM - Dynamic RAM
- SDRAM - Synchronous DRAM
- DDR-SDRAM (DDR1 / DDR2 / DDR3 / DDR4)
Weitere verwandte Themen:
- Halbleiterspeicher
- Speicherarchitektur
- SCM - Storage Class Memory
- Datenspeicher
- Arbeitsspeicher / Hauptspeicher
- FET - Feldeffekttransistoren - Unipolarer Transistor
Teilen:
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.
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.
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