Warum werden NOR-Flashes immer noch verwendet, wenn NAND-Flashes größer sind?

Ich habe einige Systeme gesehen, die einen NOR-Flash zum Booten und ein NAND für ein größeres Dateisystem verwenden. Ich habe auch ein System gesehen, bei dem nur NAND beschädigt wurde, nachdem Dateien geschrieben und als korrekt bestätigt wurden.

Werden NOR verwendet, weil es wahrscheinlicher ist, ein System zu booten? Oder andere Gründe?

Haben Sie gesehen, dass NAND nicht zuverlässig ist?

Antworten (2)

Es ist nicht so sehr, dass NAND nicht zuverlässig ist (obwohl es weniger zuverlässig ist), es ist die Tatsache, dass es sich um unterschiedliche Arten von Speicher in Bezug auf den Zugriff und die Unterschiede in der Lese-/Schreibgeschwindigkeit handelt. sie sind daher für verschiedene Anwendungen nützlich.

Der Hauptvorteil von NOR besteht darin, dass es sich um einen wahlfreien Zugriff handelt, der es ermöglicht, damit Code auszuführen. Es hat einen vollen Adress- und Datenbus, sodass Sie jeden Ort adressieren und sofort lesen/schreiben können (beim Schreiben wird natürlich davon ausgegangen, dass die Adresse leer ist).

Sie lesen/schreiben NAND, indem Sie die Adresse über die kleine E/A-Schnittstelle einrichten und dann Daten lesen oder schreiben, wobei die Adresse bei jedem Lesen oder Schreiben automatisch inkrementiert wird. Dies macht es gut zum Schreiben oder Lesen von Datenströmen oder Dateien. Die Schreibgeschwindigkeit für NAND ist schneller als für NOR. Wenn Sie beispielsweise Bilder auf einer Kamera schreiben, ist diese hohe Schreibgeschwindigkeit besonders nützlich. Die höhere Dichte von NAND ist natürlich besser für Anwendungen wie das Speichern von Daten.

Edit: nach Marcus' Frage.

Dieser Zugriff hat seinen Grund in der physikalischen Anordnung der MOSFETs im IC. Um ein wenig von Wikipedia zu leihen:

Beim NOR-Flash ist ein Ende jeder Zelle direkt mit Masse und das andere Ende direkt mit einer Bitleitung verbunden. Diese Anordnung wird "NOR-Flash" genannt, weil sie wie ein NOR-Gatter wirkt.

Die Tatsache, dass jede Zelle ein Ende hat, das mit einer Bitleitung verbunden ist, bedeutet, dass auf sie (und damit auf jedes Bit) wahlfrei zugegriffen werden kann.

NAND-Flash verwendet auch Floating-Gate-Transistoren, aber sie sind ähnlich wie ein NAND-Gate verbunden: Mehrere Transistoren sind in Reihe geschaltet, und die Bitleitung wird nur dann auf Low gezogen, wenn alle Wortleitungen auf High gezogen werden (über die Transistoren). VT).

Das bedeutet, dass auf jedes Bit im Wort gleichzeitig zugegriffen werden muss.

Ähm, wie hängt die Zellentechnologie (NOR/NAND) mit der Adressierungsmethode zusammen (zeilenweise vs. wortweise)? Ehrliche Frage! Wenn es eine Verbindung zwischen diesen beiden gibt, würde ich es nicht wissen. (Zumal noch Flash meistens auch in größeren Löschblöcken angeordnet ist)
@MarcusMüller, das ist eine berechtigte Frage, mit der ich mich nie befasst habe. Ich hatte immer einfach blind akzeptiert, dass es einen niederen Grund dafür gab. Das werde ich jetzt untersuchen!

Das Design des NOR-Zellenspeichers ermöglicht das unabhängige Programmieren (Schreiben auf "0") von Bits in beliebiger Reihenfolge und ohne Risiko, andere Bits zu stören. Einige auf NOR-Zellen basierende Speicherarrays verwenden fehlerkorrigierte Speicherblöcke, die in Blöcken einer bestimmten Größe (z. B. 32 Bit) geschrieben werden müssen, anstatt Bit oder sogar Byte auf einmal, aber das macht es immer noch praktisch, viele kleine zu schreiben Datenstücke unabhängig voneinander im selben Block, ohne die Daten verschieben und den alten Block löschen zu müssen.

Im Gegensatz dazu erfordern viele NAND-Flash-Geräte, dass jede Datenseite mit höchstens zwei diskreten Operationen geschrieben wird, bevor die gesamte Seite gelöscht werden muss. Wenn man wiederholt Daten an dieselbe Seite anhängen möchte, würde jede solche Operation einen Seitenkopier- und Löschzyklus erfordern (vielleicht könnte man die Dinge optimieren, um nur nach jedem Zyklus eine Kopie zu verwenden und zu löschen, aber wenn man NOR-Flash verwendet, könnte man 1.000 kleine verwalten Aktualisierungen für jeden Kopier-/Löschzyklus).