Flash-Memory / Flash-Speicher

ELektronik-KOmpendium.de
Online

Preis auf Anfrage

Wichtige informationen

  • Kurs
  • Online
Beschreibung

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.

Wichtige informationen

Was lernen Sie in diesem Kurs?

Flash

Themenkreis

Flash-Speicherzelle


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 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. 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 hervorragend als Festplatten-Ersatz und damit 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. Die Unterschiede bei den Geschwindigkeiten liegen bei den Controllern.

SLC-, MLC- und TLC-Flash

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 (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 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 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 und insgesamt mit wenig Zugriffen auf den Datenspeicher auskommen.

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 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
  • 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 weitestgehend 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
  • begrenzte Speicherkapazität
  • hoher Preis

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 ist das der Fall. 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.
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 Spannung von 10 bis 18 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.

  • Weitere Informationen über SSDs und Wear-Leveling
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 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.

  • USB-Stick
  • Speicherkarten
  • SSD - Solid State Drive
  • SSHD - Solid-State Hybrid Drives (Hybrid-Festplatten)
  • Handy / Smartphone
  • MP3-Player

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.

  • 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
  • Arbeitsspeicher / Hauptspeicher
  • FET - Feldeffekttransistoren - Unipolarer Transistor