Flash-Speicher / Flash-Memory
Flash-Speicher bzw. Flash-Memory ist ein Halbleiterspeicher, der sich ursprünglich aus dem EEPROM (Electrical Erasable and Programmable Read Only Memory) entwickelt hat. Je nach Literatur gibt es dafür auch die Bezeichnungen Flash-EPROM und Flash-ROM.
Flash-Speicher basiert auf der Floating-Gate-Technik, bei der die Speicherzelle einem Feldeffekttransistor (FET) ähnelt. Der Zugriff auf die Speicherzellen erfolgt aber nicht wahlfrei, sondern blockweise zu 64, 128, 256, 1.024 oder mehr Byte. Entscheident ist, dass die Daten auch nach dem Abschalten der Energieversorgung erhalten bleiben.
Die Vorteile von Flash-Speicher sind, dass er ohne bewegliche Teile auskommt, was kurze Zugriffszeiten ermöglicht, ihn geräuschlos und unempfindlich gegen Erschütterungen und magnetische Felder macht.
Die Nachteile von Flash-Speicher sind die begrenzte Anzahl von Schreib- und Löschvorgängen, die eine Speicherzelle vertragen kann, und das die Dauer der Datenhaltung auf nur ein paar Jahre begrenzt ist. Ein Speicher-Controller muss sich also darum kümmern, dass die Nachteile nicht in Datenverlust münden.
Flash-Speicher bzw. Flash-Memory kombiniert die Vorteile von Halbleiterspeicher und Festplatten. Deshalb wird Flash-Speicher häufig in kleinen und mobilen, elektronischen Geräten wie Smartphones und Notebooks eingesetzt, wo Festplatten zu viel Platz und Energie brauchen und zu langsam wären.
Flash-Speicherzelle mit Floating-Gate-Technik
Die Speicherzelle eines Flash-Speichers ist einem Feldeffekttransistor (FET) sehr ähnlich. Im Gate (G) ist zusätzlich 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 nur im laufenden Betrieb erfolgen kann. Wird ein Datenträger mit Flash-Memory zur Archivierung von Daten verwendet, 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 als defekt gilt.
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 typischerweise 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.
Pseudo-SLC-Cache (pSLC)
Moderne SSDs verwenden zur Verbesserung der Schreibgeschwindigkeit einen sogenannten Pseudo-SLC-Cache (pSLC). Dabei wird ein Teil der TLC-Flash-Zellen so umgeschaltet, dass sie nur ein Bit speichern, anstatt die üblichen drei Bits. Dieser Prozess ermöglicht eine deutlich schnellere Schreibgeschwindigkeit im Vergleich zu herkömmlichem TLC-Flash, das langsamer ist als MLC- oder SLC-Flash. Wenn die SSD nicht aktiv ist, werden die Daten in die langsameren Zellen verschoben, um die Effizienz zu maximieren.
QLC-Flash (Quad Level Cell)
Eine QLC-Speicherzelle speichert 4 Bit. Das sind 16 verschiedene Zustände.
PLC-Flash (Penta Level Cell)
Eine PLC-Speicherzelle speichert 5 Bit. Das sind 32 verschiedene Zustände.
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 magnetischen Feldern.
- 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 und damit die Daten 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 von Daten.
Endurance und Retention
Mit Endurance bezeichnet man die maximal zulässige Anzahl von Lösch- bzw. Speicherzyklen, die ein nichtflüchtiger Datenspeicher pro Speicherzelle verträgt, bis es zu spürbaren Fehlern bei Speicheroperationen kommt.
Das die Anzahl überhaupt beschränkt ist, liegt 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 und beansprucht.
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
Bei der Weiterentwicklung von Speicher geht es meistens um größere Speicherkapazitäten auf gleichem Raum (Bauform/Formfaktor). Speziell bei Flash-Speicher geht es um lange Haltbarkeit der Speicherzellen, kurze Zugriffszeit und hohe Geschwindigkeit.
Um mehr Speicherkapazität zu erreichen werden mehrere Lagen von Speicherzellen übereinander gestapelt. Das Stapeln spart Siliziumfläche, weshalb die einzelnen Zellen größer sein dürfen. Auf diese Weise erhöht man nicht nur die Speicherkapazität, sondern verlängert auch die Lebensdauer, erhöht die Geschwindigkeit und verlängert die Datenhaltung der einzelnen Speicherzellen.
Alternativ gibt es auch Lösungen, bei denen der Flash-Speicher nicht aus einem Stück besteht, sondern mehrere Dies übereinander in einem Chip liegen.
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.
- USB-Stick
- Speicherkarten
- SSD - Solid State Drive
- Handy / Smartphone
- SCM - Storage Class Memory
- MP3-Player
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.
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
- Datenspeicher
- Arbeitsspeicher / Hauptspeicher
- FET - Feldeffekttransistoren - Unipolarer Transistor
Lernen mit Elektronik-Kompendium.de
Noch Fragen?
Bewertung und individuelles Feedback erhalten
Aussprache von englischen Fachbegriffen
Computertechnik-Fibel
Alles was du über Computertechnik wissen musst.
Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.
Computertechnik-Fibel
Alles was du über Computertechnik wissen musst.
Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.
Artikel-Sammlungen zum Thema Computertechnik
Alles was du über Computertechnik wissen solltest.