Einführung in NOR-Flash und NAND-Flash
NOR-Flash
Intel entwickelte die Nor-Flash-Technologie erstmals 1988. Nor-Flash zeichnet sich durch On-Chip-Ausführung (XIP, eXecute In Place) aus, und das Lesen ähnelt der zufälligen Lesemethode unseres gängigen SDRAM. Benutzer können das auf Nor Flash geladene Programm direkt ausführen. Der darin enthaltene Code kann die Kapazität des SRAM reduzieren und Kosten sparen. Aufgrund seiner schnellen Lesegeschwindigkeit und geringeren Fehleranfälligkeit wird es hauptsächlich zur Speicherung wichtiger Informationen wie Programme und Betriebssysteme verwendet.
NAND-Flash

1989 veröffentlichte die Toshiba Corporation die Nand-Flash-Struktur und hob dabei die geringeren Kosten pro Bit, die höhere Leistung und die einfache Aufrüstbarkeit über die Schnittstelle wie bei einer Festplatte hervor. Nand-Flash verwendet nicht die Random-Read-Technologie von Speichern. Es liest in Form von jeweils einem Block, in der Regel 512 Byte auf einmal. Die Implementierung des Speichers bietet eine kostengünstige und effektive Lösung.
NAND-Flash-Speicher hat den Vorteil einer großen Kapazität und einer schnellen Überschreibgeschwindigkeit und eignet sich für die Speicherung großer Datenmengen, sodass er immer häufiger eingesetzt wird, beispielsweise in eingebetteten Produkten wie Mobiltelefonen, Digitalkameras und U-Disks.
NOR-Flash vs. NAND-Flash
NOR und NAND sind die beiden wichtigsten nichtflüchtigen Flash-Speichertechnologien auf dem Markt. Intel entwickelte die NOR-Flash-Technologie erstmals 1988 und veränderte damit die Situation, in der der Markt von EPROM und EEPROM monopolisiert war, grundlegend. Im Jahr 1989 brachte Toshiba dann die NAND-Flash-Struktur auf den Markt, deren Vorteile in der Reduzierung der Kosten pro Bit, einer höheren Leistung und der einfachen Aufrüstbarkeit über die Schnittstelle wie bei einer Festplatte liegen. Hier erklären wir den Unterschied zwischen den beiden Technologien:
| Feature | NAND Flash | NOR Flash |
|---|---|---|
| Capacity | Large | Small |
| Access Mode | Sequential Read/Write | Random Read/Write |
| Interface | Any I/O | Specific Full Memory Interface |
| XIP (Executable Code) | Not Supported | Supported |
| Read/Write Performance | Block Read (Sequential), Block Write, Block Erase (Erase by Block) | Block Read (RAM Mode), Slow Write, Slow Erase |
| Endurance | Approximately One Million Times | Approximately One Hundred Thousand Times |
| Price | Low | High |
| Applications | USB Drives, Memory Cards, SSDs, and Embedded Storage (eMMC, eMCP, UFS) | Automotive Electronics and IoT, 5G and Smartphones, and Accessories (such as TWS Earphones and Wearable Devices) |
Leistungsvergleich
Flash-Speicher ist ein nichtflüchtiger Speicher, der in Blöcken von Speicherzellen, sogenannten Blöcken, gelöscht, beschrieben und neu programmiert werden kann. Der Schreibvorgang eines Flash-Speichers kann nur in leeren oder gelöschten Zellen durchgeführt werden, sodass in den meisten Fällen vor dem Schreibvorgang eine Löschung erfolgen muss.
Bei NAND-Geräten ist das Löschen sehr einfach, während bei NOR-Geräten vor dem Löschen alle Bits im Zielblock auf 0 geschrieben werden müssen. Da das Löschen von NOR-Geräten in Blöcken von 64 bis 128 KB erfolgt, dauert ein Schreib-/Löschvorgang 5 Sekunden. Das Löschen von NAND-Geräten erfolgt hingegen in Blöcken von 8 bis 32 KB. Der Vorgang dauert höchstens 4 ms. Der Unterschied in der Blockgröße beim Löschen vergrößert den Leistungsunterschied zwischen NOR und NAND noch weiter. Statistiken zeigen, dass für eine bestimmte Anzahl von Schreibvorgängen (insbesondere bei der Aktualisierung kleiner Dateien) mehr Löschvorgänge in NOR-basierten Einheiten durchgeführt werden müssen. Daher müssen Entwickler bei der Auswahl einer Speicherlösung die folgenden Faktoren abwägen.
- Die Lesegeschwindigkeit von NOR ist etwas höher als die von NAND.
- Die Schreibgeschwindigkeit von NAND ist viel schneller als die von NOR.
- Die Löschgeschwindigkeit von NAND ist mit 4 ms deutlich schneller als die von NOR mit 5 ms.
- Die meisten Schreibvorgänge erfordern zunächst einen Löschvorgang.
- Die Lösch-Einheit von NAND ist kleiner und die entsprechende Löschschaltung ist weniger umfangreich.
Darüber hinaus ist die tatsächliche Anwendung von NAND wesentlich komplizierter als die von NOR. NOR kann direkt verwendet werden und Code kann direkt darauf ausgeführt werden, während NAND eine E/A-Schnittstelle erfordert, sodass für die Verwendung ein Treiber erforderlich ist. Die heute gängigen Betriebssysteme unterstützen jedoch Flash-Speicher mit NAND-Struktur. Darüber hinaus bietet auch der Linux-Kernel Unterstützung für Flash-Speicher mit NAND-Struktur.
Schnittstellenvergleich
NAND-Bausteine verwenden komplexe E/A-Ports für den seriellen Datenzugriff, wobei die Methoden der einzelnen Produkte oder Hersteller variieren können. 8 Pins werden für die Übertragung von Steuer-, Adress- und Dateninformationen verwendet.
NOR-Flash verfügt über eine SRAM-Schnittstelle, hat genügend Adresspins für die Adressierung und kann problemlos auf jedes Byte darin zugreifen.
Kapazitäts- und Kostenvergleich
NAND-Flash wird hauptsächlich in Produkten mit 8 bis 128 MB verwendet, eignet sich für die Datenspeicherung und hat eine fast halb so große Einheitsgröße wie NOR-Bausteine. Außerdem kann die Struktur bei einer bestimmten Formgröße eine höhere Kapazität bieten, wodurch sich die Kosten entsprechend reduzieren. Preis: NOR-Flash nimmt mit einer Kapazität von 1 bis 16 MB den größten Teil des Flash-Speichermarktes ein und wird hauptsächlich in Code-Speichermedien verwendet. Der Preis ist höher als der von NAND.
Vergleich von Zuverlässigkeit und Haltbarkeit
1. Haltbarkeit (Lebensdauer)
Bei NAND-Flash-Speichern beträgt die maximale Anzahl von Lösch- und Schreibvorgängen pro Block eine Million, während sie bei NOR-Speichern bei 100.000 liegt.
2. Bit-Swapping
Alle Flash-Geräte leiden unter Bit-Swapping: Unter bestimmten Bedingungen wird ein Bit invertiert oder als invertiert gemeldet. Wenn dies bei einer kritischen Datei geschieht, kann dies zu schwerwiegenden Systemausfällen führen. Nach einer Bitänderung wird ein Bit invertiert oder als invertiert gemeldet. Dieses Problem tritt häufiger bei NAND-Flash-Speichern auf. NAND-Anbieter empfehlen die Verwendung von EDC/ECC-Algorithmen bei der Verwendung von NAND-Flash-Speichern.
3. Verarbeitung fehlerhafter Blöcke
Fehlerhafte Blöcke in NAND-Geräten sind zufällig verteilt. NAND-Geräte erfordern einen ersten Scan des Speichermediums, um fehlerhafte Blöcke zu finden und diese als unbrauchbar zu markieren. Bei hergestellten Geräten führt die Nichtdurchführung dieses Vorgangs mit zuverlässigen Methoden zu hohen Ausfallraten.
Vergleich verwenden
Die Verwendung von NAND-Flash ist komplizierter, und der Treiber muss geschrieben werden, bevor andere Vorgänge ausgeführt werden können. Das Schreiben von Informationen auf das NAND-Gerät erfordert ebenfalls bestimmte Kenntnisse, und es muss von Anfang bis Ende eine virtuelle Zuordnung vorgenommen werden.
Die Verwendung von NOR-Flash ist relativ einfach: Sie können NOR-basierten Flash-Speicher direkt verwenden, ihn wie andere Speicher anschließen und Code direkt darauf ausführen.
Vergleich des Software-Supports
Bei der Ausführung von Code auf NAND-Geräten ist in der Regel ein Treiber, auch bekannt als Memory Technology Driver (MTD), erforderlich, während bei der Verwendung von NOR-Geräten keine Softwareunterstützung benötigt wird. Beide erfordern MTD für Schreib- und Löschvorgänge.
Wie funktionieren NOR- und NAND-Flashspeicher?
Verfahren zur Datenspeicherung
Sowohl NOR- als auch NAND-Flash-Speicher verwenden Dreipol-Bauelemente als Speichereinheiten, nämlich Source, Drain und Gate. Das Funktionsprinzip entspricht dem von Feldeffekttransistoren, wobei hauptsächlich der Effekt des elektrischen Feldes zur Steuerung von Source und Drain genutzt wird. Der Stromverbrauch des Gates ist äußerst gering. Der Unterschied besteht darin, dass der Feldeffekttransistor eine einzelne Gate-Struktur hat, während Flash eine doppelte Gate-Struktur hat und zwischen dem Gate und dem Siliziumsubstrat ein Floating Gate hinzugefügt wird. Das Floating Gate besteht aus Nitrid, das zwischen zwei Schichten aus Siliziumdioxidmaterial eingebettet ist. Das Nitrid in der Mitte ist die Ladungspotentialmulde, in der Ladung gespeichert werden kann. Die Dicke der oberen und unteren Oxidschichten beträgt mehr als 50 Angström, um einen Durchbruch zu vermeiden.
Wiederentladung des Floating Gate
Der Vorgang des Schreibens von Daten in die Datenzelle ist der Vorgang des Einleitens von Ladung in die Ladungspotentialmulde. Es gibt zwei Techniken zum Schreiben von Daten: die Heißelektroneninjektion und den F-N-Tunneleffekt (Fowler-Nordheim-Tunneleffekt). Bei der ersten Technik wird das Floating Gate über die Source geladen, bei der zweiten über die Silizium-Basisschicht. NOR-Flash-Speicher laden das Floating Gate durch Heißelektroneninjektion, während NAND-Flash-Speicher das Floating Gate durch den F-N-Tunneleffekt laden. Vor dem Schreiben neuer Daten müssen zunächst die ursprünglichen Daten gelöscht werden. Dies unterscheidet sich von der Festplatte, d. h. die Ladung auf dem Floating Gate wird freigesetzt. Beide Flash-Typen werden durch den F-N-Tunneleffekt entladen.
Verbindungs- und Adressierungsmodus
Die beiden Flash-Typen verfügen über dieselbe Speichereinheit und funktionieren nach dem gleichen Prinzip. Um die Zugriffszeit zu verkürzen, erfolgt der Zugriff nicht separat für jede Einheit, sondern kollektiv für eine bestimmte Anzahl von Zugriffseinheiten.
Die Speichereinheiten des NAND-Flash sind in Reihe geschaltet, während die Einheiten des NOR-Flash parallel geschaltet sind. Um alle Speichereinheiten effektiv verwalten zu können, müssen die Speichereinheiten einheitlich adressiert werden. NAND-Bausteine verwenden multiplexierte E/A-Ports für den Datenzugriff, und 8 Pins werden für die zeitgeteilte Übertragung von Steuer-, Adress- und Dateninformationen verwendet. Alle Speichereinheiten von NAND sind in mehrere Blöcke unterteilt, und jeder Block ist in mehrere Seiten unterteilt, wobei jede Seite 512 Byte umfasst, d. h. 512 8-stellige Zahlen, was bedeutet, dass jede Seite 512 Bitleitungen hat, wobei jede Bitleitung 8 Speichereinheiten umfasst. Daher gibt NAND bei jedem Lesevorgang die Blockadresse, die Seitenadresse und die Spaltenadresse an (die Spaltenadresse ist die Startadresse in der gelesenen Seite).
Jede Speichereinheit von NOR ist parallel mit der Bitleitung verbunden, verfügt über eine SRAM-Schnittstelle, hat genügend Adresspins für die Adressierung und ermöglicht einen einfachen Zugriff auf jedes Byte im Inneren. Dies erleichtert den zufälligen Zugriff auf jedes Bit und erfordert keinen Treiber. Es verfügt über eine dedizierte Adressleitung, die eine einmalige direkte Adressierung ermöglicht und die Ausführungszeit von Flash- zu Prozessorbefehlen verkürzt.
Anwendung von NOR- und NAND-Flash
NOR-Flash
Der NOR-Flash wird in erster Linie zum Speichern und Ausführen von Code und Daten in Geräten wie Mikrocontrollern, eingebetteten Systemen, Digitalkameras, Smartphones und Solid-State-Laufwerken (SSDs) verwendet.
NAND-Flash
Die Anwendung von NAND-Flash in Solid-State-Speichern kann auf Militär, Fahrzeuge, industrielle Steuerungen, Videoüberwachung, Netzwerküberwachung, Netzwerkterminals, Stromversorgung, Medizin, Luftfahrt, Navigationsgeräte und andere Bereiche ausgeweitet werden.
Daher eignet sich NOR-Flash besser für Anwendungen, bei denen häufig zufällige Lese- und Schreibvorgänge stattfinden. Es wird in der Regel zum Speichern von Programmcodes verwendet und direkt im Flash-Speicher ausgeführt. Mobiltelefone sind große Nutzer von NOR-Flash-Speichern; NAND-Flash wird hauptsächlich zum Speichern von Daten verwendet. Unsere gängigen Flash-Speicherprodukte, wie Flash-Laufwerke und digitale Speicherkarten, verwenden alle NAND-Flash-Speicher.




