NOR-Flash bezeichnet einen Typ von Flash-Speicher, der in der sogenannten NOR-Technik gefertigt ist. Hierbei sind die Einzel-Speicherzellen (Floating-Gate-Transistoren oder Charge-Trapping-Speicherzellen) ähnlich der Transistoren bei einem NMOS-NOR-Gatter parallel verschaltet. NOR-Speicher wurde als flexibler Ersatz für EPROM-, PROM- und ROM-Speicher entwickelt. NOR-Flash wird über eine klassische Adress- und Datenbus-Schnittstelle angesprochen und kann ohne zusätzliche Glue Logic an das Bussystem eines Controllers angebunden werden.
Aufbau
Während beim Lesezugriff auf alle Bytes wahlfrei zugegriffen werden kann, muss beim Schreibzugriff berücksichtigt werden, dass die Bytes zu Blöcken gruppiert sind. Zwar können die einzelnen Bytes unabhängig voneinander beschrieben werden, allerdings ist hier nur ein Übergang der Bits von 1 nach 0 möglich. Gelöscht werden können hingegen stets nur vollständige Blöcke. Alle Bits in den Bytes werden hierbei wieder auf 1 gesetzt. Je nach verwendetem Bausteintyp ist während des Löschvorgangs, dessen Dauer ein Vielfaches der Lesezugriffszeit beträgt, auch ein Zugriff auf andere Blöcke möglich. Die Granularität der Blockgröße liegt üblicherweise bei 64 KiB – sie variiert jedoch von Baustein zu Baustein und manchmal auch innerhalb eines Bausteins: Manche Flash-ROMs besitzen zur Reduzierung des Speicherbedarfs bei Anwendungen mit Bootcode im unteren (Bottom-Boot) oder oberen (Top-Boot) Speicherbereich Blöcke mit geringerer Größe.
NOR-Flashs besitzen technologiebedingt bei gleicher Strukturgröße geringere Speicherkapazitäten als NAND-Flashs, da ihre Speicherzellen mehr Platz auf dem Die erfordern. NOR-Flashspeicher sind üblicherweise bei Auslieferung vollständig fehlerfrei – im Gegensatz zu NAND-Flashspeicher, wo defekte Speicherblöcke bis zu einer gewissen Anzahl pro Chip üblich sind. NOR-Flashzellen sind in der Regel für mehrere 100.000 Schreib- und Löschzyklen ausgelegt.
Einsatzbereiche
NOR-Flashes werden überwiegend zur Speicherung von Bootcode bzw. der Firmware eines Computersystems verwendet.
Vorteile
- linear adressierbarer Speicher, ermöglicht Ausführung von Code (execute in place)
- hohe Schreibgeschwindigkeit bei kleinen Datenmengen
- problemlose Ankopplung an Controllersysteme aufgrund des SRAM-ähnlichen Bussystems
Nachteile
- relativ hohe Leistungsaufnahme
- langsam beim Schreiben und Löschen großer Datenmengen
- nur für relativ kleine Speicherkapazitäten erhältlich (maximal 64 Gigabit (Mai. 2019))