Das Fotonexus-Wiki befindet sich im Testbetrieb.


Flash-Speicher

Aus Fotonexus.

(Weitergeleitet von Flashspeicher)
Wechseln zu: Navigation, Suche
Bild:DSCN0411.JPG
geöffneter USB-Stick – der linke Chip ist der eigentliche Flashspeicher, der rechte ein Mikrocontroller

Flash-Speicher sind digitale Speicherchips; die genaue Bezeichnung lautet Flash-EEPROM. Im Gegensatz zu „gewöhnlichem“ EEPROM-Speicher lassen sich beim Flash-EEPROM Bytes, die kleinsten adressierbaren Speichereinheiten, nicht einzeln löschen.

Anwendung finden Flash-Speicher überall dort, wo Informationen persistent (nichtflüchtig) auf kleinstem Raum - ohne permanente Versorgungsspannung - gespeichert werden müssen.

Beispiele:


Inhaltsverzeichnis

Funktionsprinzip

Überblick

Bei einem Flash-EEPROM werden Bits in jeweils einem Floating Gate genannten Transistor gespeichert (bei neueren Speichern auch mehrere Bits pro Gate, da verschiedene Ladungszustände benutzt werden), der von der Stromzufuhr durch eine Schicht eines Isolators abgeschnitten ist, sodass dort gespeicherte Ladung nicht abfließen kann. Eine Änderung des Ladungszustands kann nur mithilfe des quantenphysikalischen Tunneleffekts geschehen, der es den Elektronen erlaubt, den eigentlichen Nichtleiter zu passieren.

Speichern und Lesen

Bild:Flash-Programming.svg
Programmieren einer Flash-Zelle
Bild:Flash-Clear.png
Löschen einer Flash-Zelle

Die Speicherung eines Bits erfolgt wie gesagt über das Floating Gate, dem eigentlichen Speicherelement des Flash-Feldeffekttransistors. Es liegt zwischen dem Steuer-Gate und der Source-Drain-Strecke und ist von dieser wie auch vom Steuer-Gate jeweils mittels einer Oxid-Schicht isoliert. Im ungeladenen Zustand des Floating Gate kann bei am Gate aufgesteuertem Transistor in der Source-Drain-Strecke (Kanal) ein Strom fließen. Werden über das Steuer-Gate durch Anlegen einer hohen positiven (10..18 V) Spannung Elektronen auf das Floating-Gate gebracht, so kann in der Source-Drain-Strecke auch bei aufgesteuertem Transistor kein Strom mehr fließen, da das negative Potential der Elektronen auf dem Floating Gate der Spannung am Steuer-Gate entgegen wirkt und somit den Flash-Transistor geschlossen hält.

Der ungeladene Zustand wird wieder erreicht, indem die Elektronen durch Anlegen einer hohen negativen Spannung über die Steuergate-Kanal-Strecke wieder aus dem Floating Gate ausgetrieben werden. Dabei ist es sogar möglich, dass der Flashtransistor in den selbstleitenden Zustand gerät, d. h. er liefert sogar dann Strom, wenn am Steuer-Gate keine Spannung anliegt ("Over-Erase"): statt mit Elektronen ist das Floating Gate nun quasi mit positiven Ladungsträgern (Defektelektronen, 'Löcher') besetzt. Das ist insbesondere in NOR-Architekturen (s. u.) problematisch.

Tunneleffekt

Der Mechanismus, der die Elektronen durch die isolierende Oxidschicht passieren lässt, wird Fowler-Nordheim-Tunneleffekt genannt (nach ihren ersten Erforschern), d. h. bei einem Flashspeicher handelt es sich um die Anwendung eines nur quantenmechanisch deutbaren Effekts. Um die Elektronen leichter zum Tunneln 'hinauf' zum Floating Gate zu veranlassen, wird oft das Verfahren CHE (channel hot electron) verwendet: die Elektronen werden durch Anlegen einer Spannung über dem Kanal, also zwischen Drain und Source, beschleunigt und dadurch auf ein höheres Energieniveau (daher engl. hot) gehoben, wodurch sie schon bei geringeren Spannungen (typ. 10 V) zwischen Gate und Kanal zum Floating Gate tunneln. (In obiger Abbildung zum Programmieren ist dieses Verfahren – allerdings für eine ältere Technologie – angedeutet.)

Anmerkung

Ob der geladene oder ungeladene Floating-Gate-Zustand als jeweils '0'- oder '1'-Zustand der Speicherzelle angesehen wird, ist implementierungsabhängig. (Logisch gesehen entspricht das ohnehin nur einem invertierenden oder nicht nicht-invertierenden Verhalten der Ausleseschaltung: Stromfluss durch die Zelle ist entweder '1' oder '0'.)

Ansteuerung

Ein Flash-Speicher besteht aus einer bestimmten, von der Speichergröße abhängigen Anzahl einzelner Speicherelemente. Die Bytes oder Worte (typisch durchaus bis 64 Bit) können einzeln adressiert werden. Dabei können sie in einigen Architekturen auch einzeln geschrieben werden, wogegen bei anderen nur größere Datenmengen auf einmal programmiert werden können. In der Regel ist die entgegengesetzte Operation, das Löschen, aber nur in größeren Einheiten, so genannte Sektoren (meistens ein Viertel, Achtel, Sechzehntel usw. der Gesamtspeicherkapazität) möglich. Dabei ist die logische Polarität nicht immer gleich: es existieren sowohl Implementierungen, die das Programmieren logisch als Übergang logisch '0' nach '1' realisieren, als auch umgekehrt.

Gemeinsames Merkmal ist aber immer, dass die beiden Operationen

  • jeweils nur den Übergang in eine Richtung ('0' nach '1' oder '1' nach '0') darstellen und
  • (oft) nur eine von beiden bit-selektiv arbeiten kann: das Programmieren.

Das bedeutet, dass zum Wiederbeschreiben immer erst eine Löschoperation (auf einem Byte bei manchen EEPROM-Architekturen, auf einem Sektor bei Flash) nötig ist und dann das gewünschte Bit-Pattern, also der gewünschte Speicherinhalt durch Programmieroperationen hergestellt wird.

Oft müssen zum Schreiben auf den Flash-Speicher spezielle Kommandos (in Form einer Sequenz von anzulegenden genau spezifizierten Daten-/Adresspaaren) an den Flash-Speicher gegeben werden. Das ist eine Sicherheitsmaßnahme gegen unbeabsichtigtes Beschreiben oder Löschen des Speichers.

Architekturen

Am Markt sind derzeit folgende Flash-Architekturen gängig, die sich vor allem in der internen Ansteuerungslogik – und damit z. B. in der maximal realisierbaren Zugriffsgeschwindigkeit – unterscheiden:

NAND-Flash 
die Flashtransistoren sind in gewissen Anzahlen hintereinander geschaltet (Serienschaltung). Das entspricht dem n-Kanal-Zweig eines NAND-Gatters in der CMOS-Technologie.
NOR-Flash 
die Flashtransistoren sind über eine so genannte Bitline parallel geschaltet – diese kann je nach genauer Architektur auf der Source- oder der Drain-Seite liegen. Über diese Bitline werden die Zellen dann auch ausgelesen. Das entspricht einer Verschaltung wie im n-Kanal-Zweig eines NOR-Gatters in CMOS.

Die NAND-Architektur zielt auf Märkte, in denen es auf viel Speicher auf wenig Raum ankommt (wie bei den ersten vier Beispielen oben), weniger jedoch auf geringe Zugriffszeit auf ein beliebiges Datum: die Strombegrenzung durch die Serienschaltung ist hier limitierend. Die NOR-Architektur setzt auf den Ersatz von UV-löschbaren EPROMs (die zwischenzeitlich von Flash-Bausteinen nahezu ersetzt sind und kaum noch weiter entwickelt werden). Außerdem lassen sich hier erheblich kürzere Zugriffszeiten realisieren: die Parallelschaltung hat den geringeren Widerstand zwischen Stromquelle und Auswerteschaltung.

Flash-Speicher haben eine begrenzte Lebensdauer, die in einer maximalen Anzahl an Lösch-Zyklen angegeben wird (10.000–100.000 Zyklen für NOR-Flash und bis zu 1 Million für NAND-Flash). Dies entspricht gleichzeitig der maximalen Anzahl Schreib-Zyklen, da der Speicher jeweils blockweise gelöscht werden muss, bevor er wiederum beschrieben werden kann. Diese Zyklenzahl wird Endurance genannt. Verantwortlich für diese begrenzte Lebensdauer ist das Auftreten von Schäden in der Oxidschicht im Bereich des Floating Gates, was das Abfließen der Ladung bewirkt. [1]

Eine andere wichtige Kenngröße ist die Zeit der fehlerfreien Datenhaltung, die Retention.

Technologien

Das wichtigste Kriterium zur Unterscheidung von Flashtechnologien ist natürlich die Geometrie der Speicherzelle, des Flashtransistors, u. a. werden folgende Zelltypen unterschieden (dabei können mehrere der nachfolgenden Merkmale zugleich zutreffen):

  • die Split-Gate-Zelle, s. Abb.
  • die ETOX-Zelle, eine vereinfachte Struktur, bei der der nach unten abknickende Teil des Steuer-Gates der Split-Gate-Zelle entfällt, deren Floating Gate in aller Regel mit CHE geladen wird
  • die UCP-Zelle, die i. d. R. in 'beiden Richtungen' mit Fowler-Nordheim-Tunneling beschrieben wird
  • die NROM-Zelle ohne eigentliches Floating Gate: hier wird die Ladung direkt in eine Zone des Isolators zwischen Kanal und Steuer-Gate 'geschossen', auch in Ausführungen, bei denen zwei Ladungszonen (eine in Source-, die andere in Drain-Nähe) ausgeprägt werden, wodurch diese Zelle zwei Bit auf einmal speichern kann.
  • die 2-Transistorzelle: ein normaler n-Kanal-Transistor und ein Flashtransistor hintereinander. Diese Zelle hat den Nachteil, dass sie größer ist, aber u. U. für Programmieren und Löschen einfacher ansteuerbar ist, was bei kleineren Speichergrößen in anderen Schaltungsteilen Flächeneinsparungen bringen kann.
  • Multilevel-Zelle: Hier speichert die Flash-Zelle nicht nur ein Bit, sondern (meist) 2, inzwischen ([1]) auch 4 voneinander unabhängige Bitzustände. Diese werden in Leitfähigkeitswerte kodiert, die in der Ausleseelektronik wieder auf die beiden Bits verteilt werden. Der faktischen Verdopplung der Speicherkapazität steht aber die deutlich verlängerte Zugriffszeit (es muss eine analoge Spannung auf vier Niveaus gegenüber nur zwei bei den binären Flash-Zellen überprüft werden) und eine größere Fehlerwahrscheinlichkeit (eine Leitfähigkeitsänderung um ein Viertel des maximalen Leitfähigkeitsunterschied kann bereits den Wert des in der Zelle gespeicherten Niveaus verändern) entgegen.

Speichergrößen

Im ersten Quartal 2007 erreichten NAND-Flash-Speicher ca. 2 Gigabytes, NOR-Flash-Speicher 64 Megabytes. Der Unterschied in der Speicherkapazität rührt vor allem daher, dass bei NAND-Flash-Speicher die Daten- und Adress-Leitungen auf denselben Anschlüssen (Pins) ausgeführt werden, d. h. derselbe Anschluss abwechselnd für Daten- und Adressübermittlung genutzt wird („Multiplex“), während bei den NOR-Flash-Speichern diese getrennt sind. Dadurch können die NOR-Typen wesentlich schneller bei den Datenzugriffen sein, haben aber bedeutend mehr Pins und bedürfen damit prinzipiell größerer Gehäuse. De facto sind jedoch bei hohen Kapazitäten die Gehäuse der NAND-Typen nahezu genauso groß wie jene der NOR-Typen, was aber an dem sehr großen Speicherchip im Innern, nicht am Platzbedarf der Anschlüsse liegt. Nichtsdestoweniger sind die wenigsten Gehäusepins bei NAND-Typen tatsächlich angeschlossen, der Vorteil der simpleren „Verdrahtung“ des Bausteins im Gerät bleibt deshalb erhalten.


Anzahl der Löschzyklen

Bild:FLASH RAM-Cell.svg
Die Oxidschicht um das Floating-Gate hindert die Elektronen daran abzufließen. Durch den Löschvorgang degeneriert die Oxidschicht.

Die genaue Anzahl der Löschzyklen von NAND-Flash-Speichern ist nicht genau zu ermitteln. Laut den Herstellern betragen diese zwischen 100.000 bis 1.000.000 (Stand 2006). Der Flash-Speicher speichert seine Informationen auf dem Floating-Gate. Bei einem Löschzyklus durchtunneln die Elektronen die Oxidschicht. Dafür sind hohe Spannungen erforderlich. Dadurch wird bei jedem Löschvorgang die Oxidschicht, die das Floating-Gate umgibt ein klein wenig beschädigt (Degeneration). Irgendwann ist die Isolation durch die Oxidschicht nicht mehr gegeben und die Elektronen bleiben nicht mehr auf dem Floating-Gate gefangen und die auf der Speicherzelle gespeicherte Information geht verloren. Der Defekt einer einzelnen Zelle macht einen Flash-Speicher noch lange nicht unbrauchbar. Durch bestimmte Algorithmen, die von den Herstellern geheim gehalten werden, werden die defekten Bereiche des Speichers ausgeblendet und die Daten auf andere Speicherbereiche umgeladen.

Vorteile

  • Datenerhalt bei fehlender Versorgungsspannung (nichtflüchtiger Speicher/nonvolatile Memory)
  • geringer Energieverbrauch im Betrieb
  • geringe Wärmeentwicklung im Betrieb
  • günstiger Massenspeicher
  • Auslesen funktioniert bei NOR-Typen genauso wie bei herkömmlichen statischen RAM-Bausteinen
  • resistent gegen Erschütterungen und magnetische Felder
  • kleine Bauform
  • geringes Gewicht
  • geräuschlos
  • bei Parallelbetrieb sind fast beliebige Lese- und Schreibgeschwindigkeiten erreichbar
  • sehr hohe Datendichte (eine 4 GB microSD-Karte[1] erreicht inclusive Plastikgehäuse und Controller 34 GB/cm3)

Nachteile

  • Viel teurer als Festplatten und optische Speichermedien.
  • langsamer als RAM (Random Access Memory), vor allem beim Schreiben
  • es können (oft) nur ganze Sektoren auf einmal gelöscht werden
  • relativ komplexe Ansteuerung beim Schreiben/Löschen (Memory Controller erforderlich, z. T. werden Flash-Speicher sogar mit eigenen intelligenten Interfaces ausgestattet)
  • grundsätzlich begrenzte Anzahl von Schreibzyklen (schon beim Annähern an diese Grenze steigende Unzuverlässigkeit), die aber durch bekannte Korrekturverfahren eliminiert werden können und in einigen Produkten auch eliminiert werden.[1]
  • um bei NOR-Typen eine Zuverlässigkeit vergleichbar der von SRAM-Bausteinen zu erreichen, müssen in der Regel innerhalb des Bausteins Schaltkreise für eine Fehlerkorrektur (zum Beispiel ECC-64) vorgesehen werden.
  • bei noch größeren Kapazitäten in der Größenordnung von Festplattenspeicher (meist mit NAND-Chips realisiert) wird oft der Einsatz von Ersatzsektoren nötig, um trotz sektorweiser Fehlerkorrektur komplett ausgefallene Sektoren zu ersetzen.

Quellen

  • Boi Feddern, Benjamin Benz - Speicherkarten/FAQ - Flash-Haltbarkeit, c't 2/2007

Weblinks

Quellen


[[Hilfe:Cache|Fehler beim Thumbnail-Erstellen]]: convert: unable to open image `/var/www/fotonexus/w/images/c/ca/Wikipedia_lexikon3e.jpg': No such file or directory.
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Flash-Speicher, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge