Das Buch zu dieser Webseite

Computertechnik-Fibel

Die Computertechnik-Fibel, das Computer-Buch

Käufer der Computertechnik-Fibel Kundenmeinung:
Die Computertechnik-Fibel ist wirklich verständlich geschrieben, frei von Ballast und ein tolles Nachschlagewerk. Insgesamt ein sehr empfehlenswertes Buch.

Computertechnik-Fibel
jetzt bestellen!

Das Buch zu dieser Webseite

Netzwerktechnik-Fibel

Die Netzwerktechnik-Fibel

Käufer der Netzwerktechnik-Fibel Kundenmeinung:
Die Netzwerktechnik-Fibel ist sehr informativ und verständlich. Genau das habe ich schon seit langem gesucht.

Netzwerktechnik-Fibel
jetzt bestellen!

Flash-ROM

NAND-SpeicherchipsFlash-ROM 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 Ausschalten erhalten.
Computer, deren Speicher rein auf Flash-ROM 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.
Der Flash-ROM 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-Memory.
Beim Flash-ROM ist die Speicherung von Daten funktionell identisch wie beim EEPROM. Die Daten werden allerdings wie bei einer Festplatte blockweise in Datenblöcken zu 64, 128, 256, 1024, ... Byte zugleich geschrieben und gelöscht.

Flash-Speicherzelle

Speicherzelle eines NAND-SpeichersDie 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.
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.
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.
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 die Unterschiede bei der Geschwindigkeit des Controllers.

SLC-Flash (Single Level Cell)

SLC-Flash speichert nur ein Bit pro Zelle. Sie sind mit rund 100.000 Schreibzyklen zuverlässige Speicher-Chips für den Server-Markt und deshalb auch sehr teuer.

MLC-Flash (Multi Level Cell)

MLC-Flash speichert zwei bis vier Bit pro Zelle. Es sind dadurch höhere Speicherdichten möglich bei gleichen Siliziumkosten. MLC-Flash lässt sich deshalb günstiger fertigen. Sie werden für den Massenmarkt, in erster Linie für Notebooks und Ultra Mobile Devices, gefertigt.
MLC-Flash lässt sich nicht ganz so schnell beschreiben, wie SLC-Flash und ist mit rund 10.000 Schreibzyklen defektanfälliger.

Vorteile von Flash-Speicher

Nachteile von Flash-Speicher

Der einzige wirkliche Nachteil von Flash ist die begrenzte Zahl von Schreib- bzw. Löschvorgängen, die eine Speicherzelle vertragen kann. Typischerweise gehen die Speicherzellen nach 10.000 Zyklen bei Multi-Level-Cells (MLC) und nach 100.000 Zyklen bei Single-Level-Cells (SLC) kaputt.

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.

Ist das ein Problem und wie wird es umgangen?

Zwar sucht die Halbleiterindustrie nach Alternativen zu Flash. Doch der Grund, warum man nicht wirklich vorankommt ist, dass 10.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. Auch dann, wenn das Betriebssystem scheinbar immer die gleichen Speicherzellen beschreibt.
Deshalb ist im Betriebssystem Windows Vista ein Mechanismus eingebaut, der immer auf wechselnde Speicherbereiche schreibt. Erst wenn alle Bereich komplett beschrieben sind, fängt das Betriebssystem wieder von vorne an. Einen ähnlichen Mechanismus bauen die Hersteller in den Flash-Controller ein. Er funktioniert unabhängig vom Betriebssystem. Das Betriebssystem sieht dann eine normale Festplatte und greift in gewohnter Form darauf zu. Diesen Mechanismus bezeichnet man als Wear-Leveling.

Wear-Leveling

Beim Wear-Leveling verteilt der Flash-Controller die Schreibzugriffe gleichmäßig über alle Speicherzellen. So müssen einzelne Speicherblöcke nicht unnötig leiden. Diese Wear-Leveling-Algorithmen sind die bestgehüteten Geheimnisse der Controller-Hersteller. Doch soviel ist bekannt. Man unterscheidet zwischen dynamischem und statischem Wear-Leveling.
Beim dynamischen Wear-Leveling verteilt der Flash-Controller die Schreibzugriffe gleichmäßig über die freien oder frei werdenden Blöcke. Dabei nutzen sich Bereiche, die häufiger geändert werden stark ab und fallen irgendwann aus. Deshalb verschiebt man beim statischen Wear-Leveling immer mal wieder Daten in stark abgenutzte Bereiche, die sich nicht oder selten ändern. Auf dieses Weise wird der Ausfallzeitpunkt einzelner Zellen hinausgezögert. Das erhöht die Lebensdauer des Flash-Speichers. Die zusätzlichen Lese- und Schreibzugriffe kosten jedoch Performance.
Beim statischen Wear-Leveling macht sich jedoch ein Mechanismus des Betriebssystems negativ bemerkbar. Denn beim Löschen von Dateien bekommt der Flash-Controller nichts mit. Lediglich ein paar Bit im Dateinamen und der Dateistruktur ändern sich. So merkt sich das Betriebssystem, dass der Platz anderweitig genutzt werden kann. So kann es passieren, dass der Flash-Controller beim statischen Wear-Leveling mit viel Aufwand Daten verschiebt, die bereits vom Anwender gelöscht wurden. Genau aus diesem Grund ist ein vom Betriebssystem frisch formatierter Speicher aus Sicht des Flash-Controllers nahezu voll. Deshalb hat Microsoft für die ATA-Spezifikation Vorschläge für neue Befehle eingereicht. Mit dem Trim-Kommando soll das Betriebssystem dem Flash-Controller mitteilen, welche Speicherbereiche es nicht mehr braucht.
Um die negativen Effekte der ausfallenden Speicherbereiche entgegenzuwirken, werden wenige GByte des gesamten Flash-Speichers reserviert. Über ein "Defect Management" werden die unzuverlässigen Speicherblöcke ausgeblendet und durch die Reserve ersetzt. Dadurch verliert ein Flash-Speicher auch nach Jahren und großer Beanspruchung keine Speicherzellen. Seine Speicherkapazität bleibt erhalten.

Man kann der Belastung der Speicherzellen auch dadurch entgegenwirken, dass man das Speichermedium im Vergleich zur schreibenden Datenmenge sehr groß wählt. Dadurch kommt jede einzelne Zelle seltener an die Reihe. Die Größe der Speicher-Kapazität steigert also indirekt auch die Robustheit.

Anwendungen von Flash-Speicher

Flash-Speicherchips sind allgegenwärtig. Sie stecken in vielen Geräte des täglichen Gebrauchs. Die nichtflüchtige und zuverlässige Technik eignet sich aber nicht für alle Anwendungen. Das Schreiben und Löschen erfolgt vergleichsweise langsam. Außerdem vertragen die Speicherzellen nur eine begrenzte Zahl an Schreib- und bzw. Löschvorgängen.

Flash-Alternativen

Übersicht: Halbleiterspeicher

Weitere verwandte Themen:

Computertechnik-Fibel
Computertechnik-Fibel

EUR 21,50