Langzeitgedächtnis
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.
Halbwertszeit
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.
Irrlichter
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)
Auszug aus --> http://www.heise.de/ct/06/23/136/
mfg
tom