Erinnerungskarten

Die Technik der Flash-Speicherkarten

Wissen | Know-how

Ein Blick unter die Abdeckhaube moderner Flash-Speicherkarten - wie sie Digitalkameras, PDAs und MP3-Player verwenden - offenbart, warum die Geschwindigkeit der CompactFlash-Karten unerreichbar bleibt oder wieso xD-Karten unter Umständen schneller altern als andere.

Viel hilft viel. Hochauflösende Digitalkameras, portable Videoplayer, Multimedia-Handys, PDAs und Co. durchströmt eine wahre Flut digitaler Daten. Damit diese aber nicht im Null-Device versickern, steigt die Nachfrage nach großen und schnellen Flash-Speicherkarten ständig. Auf den ersten Blick scheint die schiere Menge der Standards für Speicherkarten erdrückend. Kärtchen in bunten Verpackungen mit haufenweise Abkürzungen wie CF, SD, MMC, xD sowie Zusätzen wie Plus, Highspeed oder High Capacity - von den Geschwindigkeitsfaktoren à la 120X ganz zu schweigen - füllen in den Elektronikmärkten Meter um Meter Regalwand. Manche Kartentypen unterscheiden sich von anderen nur durch feine Details, die sich primär im Preis - und zugegebenermaßen im Coolness-Faktor - widerspiegeln. Andere eignen sich nur für spezielle Geräte.

Um zu beantworten, warum manche Karten deutlich mehr Daten pro Sekunde wuppen oder mit viel größeren Kapazitäten daherkommen als andere, lohnt ein Blick auf die Schnittstellen und Interna der einzelnen Kartentypen. Dabei zeigt sich auch, welche Karten (per Adapter) zueinander kompatibel sind.

Aber nicht nur die Schnittstelle spielt für die Geschwindigkeit einer Karte eine wichtige Rolle, sondern auch ihr innerer Aufbau. Betrachtet man die Halbleitertechnik von Flash-Zellen, wird schnell klar, warum die Zellen relativ schnell altern und mit welchen Maßnahmen die Hersteller dem entgegenwirken. Nach einem kurzen Exkurs in die MOSFET-Technik stellt der zweite Teil dieses Artikels die einzelnen Kartentypen detailliert vor. Der Artikel „In die Karten geschaut“ ab Seite 142 in c't 23/2006 vergleicht dann 164 Karten verschiedener Hersteller und Normen miteinander.

Alle derzeit erhältlichen Speicherkarten verwenden Flash-Speicher zur Ablage der Daten. Flash-Speicher besitzt - ähnlich wie RAM - keine beweglichen Teile, hält die Daten aber auch dann, wenn keine Versorgungsspannung mehr anliegt. Preiswertes dynamisches RAM braucht überdies ständig Refresh-Impulse, um die Daten nicht zu vergessen. Im Unterschied zu magnetischen (Festplatten) oder optischen (CD-ROMs und DVDs) Speichersystemen - die Daten ebenfalls permanent halten - beeindrucken mechanische Erschütterungen Flash-Speicher nicht.

Bei einer Flash-Zelle repräsentieren ein paar in einem speziellen Transistor eingesperrte Elektronen die Informationen. Beim klassischen Flash-Speicher kann dieser Schalter entweder leiten oder sperren - also genau ein Bit speichern. Will man die Zelle auslesen, legt man an den Transistor eine Spannung an. Entweder es fließt ein Strom (beispielsweise logisch 1) oder eben nicht (logisch 0).

Wie fast alle Halbleiterbauelemente besteht auch eine Flash-Zelle aus einer geschickten Anordnung unterschiedlich dotierter Siliziumbereiche. Ein solcher Bereich wird mit Atomen gespickt (dotiert), die mehr oder weniger freie Valenzelektronen mitbringen als das Trägermaterial (Substrat). An den Grenzen solcher Gebiete treten dann Halbleitereffekte auf, die man sich zunutze macht, um bestimmte Schaltungselemente wie Dioden (Einbahnstraßen für Elektronen) oder Transistoren (Schalter) zu realisieren.

Eine einzelne Flash-Zelle ähnelt dem Metall-Oxid-Feldeffekttransistor (MOSFET). Ein MOSFET besteht aus drei Siliziumflächen, den Elektroden Gate, Drain und Source (siehe Grafik in c't 23/2006 auf Seite 138). Bei einem n-Kanal-MOSFET trennt ein schwach positiv-dotiertes (p) Substrat die beiden stark negativ-dotierten (n) Elektroden Drain und Source. Es entsteht ein npn-Übergang, der erst einmal - wie bei einem npn-Transistor ohne Basisstrom - nicht leitet, da die freien Ladungsträger an den Übergängen miteinander rekombinieren und nicht mehr für den Ladungstransport zur Verfügung stehen. Das Gate liegt direkt über der n-Zone und wird durch eine sehr dünne Oxidschicht isoliert. Es bildet mit einem unter dem Substrat liegenden und mit Source verbundenen Bulk-Anschluss einen kleinen Kondensator. Wird dieser Kondensator nun über eine Gate-Source-Spannung aufgeladen, entsteht ein elektrisches Feld. Dieses bewegt Ladungsträger aus dem Substrat zur Grenzschicht. Dort rekombinieren sie zuerst mit den dort vorhandenen Ladungsträgern. Erreicht die Spannung eine bestimmte Grenze (Threshold), entsteht in dem ursprünglichen p-Bereich ein dünner n-leitender Kanal mit Elektronenüberschuss. Durch diesen kann nun ein großer Strom nahezu ungehindert zwischen Drain und Source fließen.

Der größte Unterschied zwischen MOSFET und einem klassischen bipolaren Transistor besteht darin, dass zwischen Gate und Source kein Strom mehr fließt, sobald der Transistor einen stabilen Zustand erreicht hat. Es wird nur ein Strom benötigt, um den Kondensator zu laden oder zu entladen.

Ein MOSFET behält also - einmal geladen - ohne einen (statischen) Strom seinen Zustand (leitend/nicht leitend) bei. Da an der Gate-Elektrode eines MOSFET jedoch immer weitere Schaltungsteile hängen, entlädt sich das Gate, sobald die Schaltung nicht mehr mit Energie versorgt wird. Flash-Speicher soll jedoch auch ohne Betriebsspannung die Informationen behalten. Daher platziert man bei einer Flash-Zelle zwischen Gate (Control Gate) und Substrat mitten in die nicht leitende Isolierschicht eine weitere Elektrode: das Floating Gate (siehe Grafik in c't 23/2006 auf Seite 138). Diese besitzt keinen Anschluss nach außen und arbeitet als Ladungsfalle. Gelingt es, Ladungsträger auf das Floating Gate zu bringen, bleiben sie dort. Der Kondensator kann sich nicht mehr entladen und der Zustand der Flash-Zelle bleibt auch nach dem Ausschalten erhalten.

Da das Floating Gate keinen Anschluss nach außen besitzt, erfolgt eine Ladungsänderung über den quantenmechanischen Effekt des Fowler-Nordheim-Tunnels: Legt man an das Control Gate eine hohe Spannung (10 bis 13 Volt) an, tunneln einige Elektronen aus dem Source Gate durch die dünne Isolierschicht (meist Siliziumoxid) hindurch in das Floating Gate. Diese Elektronen bleiben dort so lange gefangen, bis man sie mit einer hohen negativen Spannung wieder austreibt.

Das Schreiben erfolgt selektiv für jede einzelne Zelle. Beim Löschen werden hingegen immer ganze Speicherblöcke wieder zurückgesetzt. Oder anders ausgedrückt: Beim Löschvorgang wird ein ganzer Block von Zellen (256 Bytes bis 128 KByte) auf einmal in den Ursprungszustand (beispielsweise logisch 0) versetzt. Beim Schreiben kann man dann jede einzelne Zelle in den anderen Zustand, aber nicht wieder einzeln zurück versetzen. Eine Anekdote aus dem Toshiba-Labor, das 1984 Flash-Speicher entwickelte, berichtet, wie das Speicherverfahren zu seinem Namen kam: Shoji Ariizumi, einen Mitarbeiter des Projektleiters Dr. Fujio Masuoka, erinnerte der blockweise Löschvorgang an das blendende Licht eines Kamerablitzes. Er schlug daher „Flash“ als Namen vor.

Heute existieren zwei verschiedene Arten von Flash-Speichern: NOR- und NAND-Schaltungen. Bei NOR-Flash sitzen die einzelnen Zellen parallel (OR) in einem Gitter aus Word- und Bit-Lines und lassen sich direkt auslesen. Sie eignen sich daher für Programmspeicher von Mikroprozessoren. Allerdings ist NOR-Flash relativ teuer und hat keine besonders hohe Speicherdichte.

NAND-Flash kommt mit deutlich weniger Chipfläche pro Zelle aus, da viele Transistoren in Reihe (AND) geschaltet sind. Will man nun eine einzelne Zelle auslesen, muss man zuvor alle anderen in der Kette maskieren, also auf leitend schalten. Dazu legt man an die nicht gefragten Transistoren eine Offset-Spannung an, die sie durchschaltet. Ein direktes Auslesen des Speichers ist daher nicht möglich. NAND-Flash wird daher blockweise über interne Register - die sich um die Adressierungsdetails kümmern - angesprochen. Die Registerschnittstelle ist weitgehend standardisiert und unabhängig von der internen Organisation der Zellen. Alle aktuellen Flash-Speicherkarten setzen aus Kosten- und Kapazitätsgründen auf NAND-Flash. Lediglich einige der ersten CompactFlash-Karten verwendeten den teuren NOR-Speicher.

Moderne NAND-Flash-Zellen speichern nicht nur ein, sondern gleich zwei oder gar vier Bit pro Zelle. Damit steigt die Speicherdichte nochmals gegenüber NOR-FLASH. Für Multi Level Cells (MLC) gibt es verschiedene Techniken. Entweder kodiert die Stärke des Stroms die Zustände oder man platziert geschickt mehrere Floating Gates innerhalb einer Zelle. MLC-Flash-Speicher unterscheiden sich daher auch beim Auslesen und Schreiben vom klassischen NAND-Speicher.

Flash-Zellen leben nicht besonders lang. Nach einer gewissen Anzahl von Löschzyklen treten Schäden in den Oxidschichten zwischen Control-, Floating Gate und Substrat auf (Degradation). Diese führen dazu, dass die Schicht nicht mehr sauber isoliert und so die Ladungsträger vom Floating Gate abfließen können. Die Hersteller sichern nur 10 000 (NOR) oder 100 000 Löschzyklen (NAND) zu, geben aber an, dass ihre Zellen im Schnitt das Zehnfache schaffen. Die Blockgröße bei NAND-Flash ist deutlich kleiner als bei NOR, sodass der einzelne Block seltener gelöscht werden muss. Dennoch bleibt Bedarf für ein sogenanntes Defektmanagement: Das muss defekte Blöcke markieren und die dort gespeicherten Daten in Reserveblöcke auslagern. Zudem gilt es, die Schreibzugriffe so über alle vorhandenen Blöcke zu verteilen, dass kein einzelner Block allzu oft gelöscht und neu beschrieben wird. In der Vergangenheit gab es daher einige Anläufe für spezielle Dateisysteme. Mittlerweile bestehen die meisten Speicherkarten aus einem Controller und dem eigentlichen NAND-Flash-Speicher. Der Controller kümmert sich nicht nur um die Ansteuerung des Speichers, sondern übernimmt auch das Defektmanagement und die gleichmäßige Verteilung der Daten über die Blöcke. Jeder Block enthält dabei auch Prüfsummen, mit denen sich Bitfehler rekonstruieren lassen. Erkennt der Controller einen solchen Fehler, rekonstruiert er die verlorenen Bits aus den Prüfsummen und transferiert die Daten in einen intakten Reserveblock. Der defekte Block wird ab da nicht mehr genutzt. Das Gerät, das die Karte benutzt, bekommt davon nichts mit. Es kann oft sogar das Dateisystem frei wählen.

Zwar kann eine solche Speicherkarte mit den meisten Dateisystemen formatiert werden, die Verteilungsalgorithmen einiger Controller sind allerdings auf bestimmte Dateisysteme (meist FAT16 oder FAT32) optimiert, sodass der Einsatz eines anderen Formats kaum lohnt.

Wie effizient das Defektmanagement und die Verteilung der Daten funktioniert, zeigt ein Versuch im c't-Labor: Wir haben probiert, einen USB-Stick mit Flash-Speicher gezielt kaputt zu schreiben. Aber selbst nach 16 Millionen Schreibzugriffen auf ein und dieselbe Datei konnten wir keine Fehler feststellen.

Die Geschwindigkeit, mit denen die Verpackungen der Speicherkarten im Discountmarkt werben, sind oft irreführend. Manche Hersteller geben hier riesige Faktoren à la 200X an. Diese beziehen sich nicht etwa auf das, was die ersten Karten dieses Typs konnten, sondern auf die Datenrate einer Audio-CD, die bei 150 KByte/s liegt. Den sehr viel aussagekräftigeren Absolutwert in MByte/s sieht man hingegen nur selten. Dazu kommt, dass es sich manchmal um die Nenndatenrate der Schnittstelle und nicht die praktisch von der Karte erreichte Geschwindigkeit handelt. Außerdem kann auch eine langsame Kamera oder ein USB-1.1-Kartenleser wie eine Datenbremse wirken. Wie schnell Karten und Geräte in der Praxis Daten auf die oder von der Karte schaufeln, zeigt der folgende Artikel.

Die Speicherkapazität geben die Hersteller hingegen exakt in MByte an. Wie viele Fotos oder Musikstücke auf eine Karte passen verrät unsere Tabelle „Speicherbedarf“. (bbe)

Den vollständigen Artikel finden Sie in c't 23/2006.

"Flash-Speicherkarten"
Weitere Artikel finden Sie in der c't 23/2006:
Die Technik der Flash-Speicherkarten S. 136
164 Karten aller Formate im Test S. 142

Kommentare

Anzeige
Anzeige