NAND-Flash
NAND-Flash bezeichnet einen Typ von Flash-Speicher, der in der sogenannten NAND-Technik gefertigt ist. Hierbei sind die Einzel-Speicherzellen (Floating-Gate-Transistoren oder Charge-Trapping-Speicherzellen) wie bei einem NAND-Gatter seriell verschaltet.
Es gibt vier Produzenten entsprechender Chips: Samsung (Sparte „Samsung Semiconductor“), Toshiba, IM Flash Technologies (ein Joint Venture von Micron Technology und Intel) sowie Hynix in Kooperation mit Numonyx. Marktführender Hersteller ist die koreanische Firma Samsung, gefolgt von Toshiba, welche zusammen den Großteil aller Chips produzieren.[1]
Aufbau
Der Platzbedarf für eine Flash-Speicherzelle in NAND-Technik beträgt laut Toshiba nur etwa 2/5 der Fläche, die für eine Speicherzelle in NOR-Technik erforderlich ist.
NAND-Flashs arbeiten grundsätzlich page- und blockorientiert. Eine Page besteht aus einer Zusammenfassung von mindestens 512 Bytes, diese wurde aber im Zuge der Miniaturisierung der Transistoren und damit einhergehenden Erhöhung der Speicherdichte auf 4096 Bytes bis 8192 Bytes vergrößert. Mehrere Pages sind zu einem Block gruppiert. Die Größe der Blöcke lag bei kleineren Speichergrößen bei 16 kB und ist inzwischen bei größeren Speicherbausteinen auf 128 Pages (512 kB bei 4 kB Pagegröße) bis 256 Pages (2048 kB bei 8 kB Pagegröße) angewachsen.[2]
Pages können nur einmal beschrieben werden; weitere Schreibvorgänge sind erst nach einem erneuten Löschen möglich. Aufgrund der Gruppierung ist ein Löschen einer Page jedoch nur über ein Löschen des Blocks möglich, in dem sie liegt. Wie bei Flash-Speichern üblich, können die Bits in den Bytes nur von 1 nach 0 gekippt werden. Der umgekehrte Weg ist nur über einen Löschvorgang zu erreichen.
Bei NAND-Flashs ist es üblich, dass bereits zum Zeitpunkt der Auslieferung defekte Blöcke, Bad Blocks, vorhanden sind. Diese werden bereits vom Hersteller durch spezielle Tests detektiert und als defekt markiert. Später müssen sie von der Treibersoftware berücksichtigt werden. Garantiert ist von den meisten NAND-Flash-Herstellern, dass der erste Block eines Speicherbausteins für eine bestimmte Anzahl von Schreibvorgängen fehlerfrei ist. Dies ermöglicht die robuste Speicherung wichtiger, sich permanent ändernder Initialdaten, sowie der „Bad-Block-Tabelle“.[3]
Bei NAND-Flashspeichern besitzt jede Page fix zugeordnet eine Spare Page. Diese war bei kleineren Bausteinen 16 Byte lang, bei größeren Bausteinen 64 Bytes. Darin werden unter anderem vom Hersteller Bad-Block-Markierungen abgelegt oder bei fehlerfreien Blöcken Korrekturdaten für eine Vorwärtsfehlerkorrektur (FEC), um mögliche Lesefehler korrigieren zu können. Die Spare Pages sind mit den Nutzdaten-Pages fest gekoppelt: Wird eine Page, d. h. ein Block, gelöscht, werden dabei ebenfalls die zugehörigen Spare Pages gelöscht. In der Praxis bedeutet dies, dass als defekt markierte Blöcke keinesfalls gelöscht (formatiert) werden dürfen, da dadurch die Fehlerinformation über Bad Blocks verloren geht. Aus diesem Umstand heraus können NAND-Flash-Bausteine auch nicht mittels eines Kommandos komplett gelöscht werden, sondern müssen blockweise in Einzelschritten, unter Ausnahme der als defekt markierten Blöcke, gelöscht werden.
Die initialen Bad Blocks werden durch den Hersteller im Rahmen von Extremtests, wie Extremtemperaturen und variable Zugriffsgeschwindigkeiten im Grenzbereich, ermittelt. Unter normalen Einsatzbedingungen wie bei Zimmertemperatur, müssen diese Bad Blocks nicht grundsätzlich fehlerhaft arbeiten.
Bei NAND-Flashs können auch während des Betriebs Bitfehler auftreten, die durch geeignete Fehlerkorrekturverfahren erkannt und behandelt werden müssen. Blöcke mit derartigen Laufzeitfehlern müssen gegebenenfalls vom NAND-Flashcontroller oder dem Software-Treibersystem zu der Liste der Bad Blocks hinzugefügt werden. Der Teil, der zur Verwaltung der Bad Blocks verantwortlich ist, wird als Bad Block Management System bezeichnet.
Arten von NAND-Speicher
In einer NAND-Flashzelle kann im Rahmen des Floating Gate die Datenspeicherung mit einer unterschiedlichen Anzahl von Spannungsniveaus erfolgen. Mit zwei verschiedenen Spannungsniveaus pro Zelle kann ein Bit pro Zelle gespeichert werden, diese NAND-Zellen werden auch als SLC-Speicherzelle bezeichnet. Werden vier verschiedene Spannungsniveaus verwendet, können damit zwei Bit pro Zelle gespeichert werden, wie es bei den MLC-Speicherzellen der Fall ist. Mit acht Spannungsniveaus lassen sich drei Bit pro NAND-Zelle speichern, TLC-Speicherzellen genannt; Speicherzellen mit 16 Niveaus, passend für vier Bit, heißen QLC-Speicherzellen.
Der Vorteil der SLC-Speicherzellen ist eine höhere Anzahl von Schreib-/Lesezyklen und größere Robustheit, da beim Auslesevorgang nur zwei Spannungswerte unterschieden werden müssen.
Der Vorteil der MLC- und erst recht der TLC- und QLC-Speicherzellen ist eine effizientere Ausnutzung der Chipfläche und höhere Speicherdichte. Nachteilig sind an diesen Speicherzellentypen die längeren Zugriffszeiten und die reduzierte Anzahl von möglichen Schreib-/Lesezyklen bis zum Ausfall. Diese Reduktion folgt aus dem Umstand, dass durch den Einsatz von vier oder mehr Spannungsebenen die Unterscheidung zwischen den einzelnen Spannungen schwieriger und mit größeren Fehlerwahrscheinlichkeiten behaftet ist.
Wegen zunehmender Probleme mit der Strukturverkleinerung kommen seit 2013 zunehmend 3D-V-NAND-Zellen zum Einsatz. Im Gegensatz zur konventionellen Planartechnik stehen nun die Transistoren vertikal zur Chipfläche und sind zudem in mehreren Ebenen angeordnet (siehe auch Charge-Trapping-Speicher). In Konkurrenz dazu haben Intel und Micron zusätzlich die Speichertechnologie 3D XPoint entwickelt.
Schnittstelle
Der Zugriff auf NAND-Speicher findet üblicherweise über einen gemultiplexten Adress-/Datenbus mit einer Breite von 8 Bit statt. Das verwendete Protokoll ist kommandobasiert. Aufgrund der verwendeten Bus-Schnittstelle ist ein verhältnismäßig großer Softwareaufwand zur Ansteuerung erforderlich bzw. in Hardware als IP-Core sind entsprechende NAND-Flash-Controller für die Zugriffssteuerung notwendig.[4]
Das Booten eines Systems mit Code aus einem NAND-Speicher ist nur mit zusätzlicher Hardware in Form eines NAND-Flash-Controllers möglich. Ein herkömmlicher Prozessor mit Adress-/Datenbus kann diese Speicher nicht direkt adressieren. Bei NOR-Flashes ist dies hingegen möglich, Firmware wird daher üblicherweise in NOR-Speichern abgelegt.
Einsatzbereiche
NAND-Flashes sind überwiegend für große Speichermengen geeignet; sie finden Verwendung in USB-Sticks, Flash-Speicherkarten (z. B. CF- und SD-Karten), SSDs sowie in praktisch allen MP3-Playern.
Vorteile
- Geringer Preis pro Megabyte
- Hohe Schreib- und Lesegeschwindigkeiten bei großen Datenmengen
- Niedrigere Leistungsaufnahme beim Schreiben
- NAND-Flashes sind mit hohen Speicherkapazitäten erhältlich
- Die geringe Anzahl von erforderlichen Signalleitungen ermöglicht eine (hardwareseitig) kostengünstige Ankoppelung an Controllersysteme
- Die kommandobasierte Bus-Schnittstelle ermöglicht, Chips mit größerer Speicherkapazität einzusetzen, ohne das Schaltungsdesign zu ändern
Nachteile
- Verglichen mit NOR-Speichern ist ein gewisser Softwareaufwand erforderlich, um NAND-Speicher korrekt anzusteuern
- Aufgrund der verwendeten Zugriffsart können NAND-Speicher nicht direkt als Programmspeicher für Mikrocontroller eingesetzt werden (diese benötigen einen linear adressierbaren Speicher mit wahlfreiem Zugriff)
- Zur Anbindung an herkömmliche Controllersysteme ist eine Glue Logic erforderlich.
- 100.000 bis 1.000.000 Schreib-Lösch-Zyklen pro Zelle bei SLC, danach ist die Speicherzelle nicht mehr nutzbar.
- 3.000 bis 10.000 Schreib-Lösch-Zyklen pro Zelle bei MLC, danach ist die Speicherzelle nicht mehr nutzbar.
- ca. 1000 Schreib-Lösch-Zyklen pro Zelle bei TLC, danach ist die Speicherzelle nicht mehr nutzbar.
Hersteller
Hersteller | Marktanteil Q1 2016 | Marktanteil Q2 2016 | Marktanteil Q3 2016 | Marktanteil Q4 2016 |
---|---|---|---|---|
Samsung | 34,2 % | 36,3 % | 36,6 % | 37,1 % |
Toshiba | 23,6 % | 20,1 % | 19,8 % | 18,3 % |
Western Digital (SanDisk) | 14,8 % | 16,1 % | 17,1 % | 17,7 % |
Micron Technology | 13,0 % | 10,6 % | 9,8 % | 10,6 % |
SK Hynix | 7,7 % | 10,3 % | 10,4 % | 9,6 % |
Intel | 6,7 % | 6,5 % | 6,3 % | 6,8 % |
Einzelnachweise
- heise online: Kräftige Umsatzzuwächse bei DRAM- und NAND-Flash-Speicherchips. In: heise online. 3. Februar 2010, abgerufen am 15. Juni 2014.
- Anand Lal Shimpi: Intel & Micron Announce 25 nm NAND Flash Production, SSDs to get Bigger/Cheaper in Q4. 30. Januar 2010, abgerufen am 15. Juni 2014.
- STMicroelectronics (Hrsg.): Bad block management in Single Level Cell NAND Flash memories. Application Note AN1819, 2007 (PDF – Firmenschrift, englisch).
- Micron: NAND Flash Controller via Xilinx Spartan-3 FPGA, Application Note TN-29-06. 2005 (PDF – Firmenschrift, englisch).