Unterschiede in der RAM- und Flash-Struktur

Ich versuche, ein besseres Verständnis für RAM und Flash zu bekommen, und ich hoffe, Sie können mir bei einigen Dingen helfen.

Was ich über Flash weiß (oder zumindest zu wissen glaube), ist, dass es verschiedene Flash-Strukturen gibt. Mit Strukturen meine ich NOR und NAND Flash zB

Unabhängig von der Struktur kann ich Daten im Flash speichern. Ich weiß, dass es einige Unterschiede zwischen NAND- und NOR-Flash-ähnlicher Dichte gibt, wenn ich es richtig verstehe, aber ich verstehe immer noch nicht, wann NOR-Flash verwendet werden sollte und wann NAND-Flash verwendet werden sollte. Was sind die Vorteile der Strukturen und wäre es ein Problem, wenn ich beispielsweise einen NOR-Flash in einem System durch einen NAND-Flash ersetzen würde, der die gleichen Daten enthält?

Was ich über RAM weiß, ist, dass es viel schneller ist als Flash und sobald der Strom abgeschaltet wird, wird sein Speicher "gelöscht". Das ist es. Etwas, worüber ich mich besonders frage, ist, ob es auch unterschiedliche RAM-Strukturen gibt? Gibt es so etwas wie NOR oder NAND RAM?

Ja, es gibt auch viele verschiedene RAM-Typen – DRAM, SRAM und sogar einige nichtflüchtige Typen wie FeRAM. Mit dem anderen Teil der Antwort kann ich jedoch nicht helfen. (Deshalb habe ich dies als Kommentar hinterlassen)

Antworten (3)

Blitz: NOR und NAND

Sowohl NOR- als auch NAND-Flash verwenden ein schwebendes Gate zum Speichern von Daten. Der Unterschied zwischen ihnen ist ein Kompromiss zwischen Dichte und Geschwindigkeit vs. Zuverlässigkeit.

Floating-Gate-Struktur:

Schwimmende Torstruktur

Von hier: https://searchstorage.techtarget.com/definition/floating-gate

Eine ausführlichere Beschreibung von Flash hier: https://www.embedded.com/design/prototyping-and-development/4460910/Flash-101--NAND-Flash-vs-NOR-Flash

NOR hat langsame Schreibzeiten und schnelles Lesen mit einer Lebensdauer von etwa 100.000 Lese-/Schreibzyklen. Es hat jedoch eine lange Retention und eine hohe Lesezuverlässigkeit, da es große Floating-Gate-Zellen verwendet, wodurch es für nichtflüchtige kritische Speicherung, wie z. B. Boot-Code, geeignet ist. Es unterstützt auch wahlfreien Lesezugriff, ähnlich wie ein EPROM oder EEPROM.

NAND hat ungefähr gleiche Lese-/Schreibzeiten. Wie NOR-Flash hat NAND eine begrenzte Lebensdauer, die von etwa 50.000 Zyklen für SLC NAND bis zu nur 5.000 für TLC NAND reicht. Es verwendet viel kleinere Speicherzellen als NOR, um die erhöhte Geschwindigkeit und Dichte zu erreichen. Dies geht jedoch zu Lasten der Ausdauer und Zuverlässigkeit. Infolgedessen erfordert NAND eine Fehlerkorrektur und Verschleißnivellierung, um diesen Mangel zu mindern, was seine Verwendung komplexer macht. SD-Karten und eMMC enthalten beispielsweise einen Controller, um diese Funktionen zu implementieren; Bare NAND basiert auf einem externen SSD-Controller, entweder als separater Chip oder als Software auf dem Host-Prozessor.

Dieser ECC- und Wear-Leveling-Overhead sowie die blockorientierte Natur von NAND-Flash tragen erheblich zu seiner Zugriffslatenz bei, die bei mehreren zehn Mikrosekunden liegt, verglichen mit einigen zehn bis hundert ns bei NOR-Flash.

Nun, was hat es mit der Flash-Ausdauer auf sich? Denken Sie daran, dass sowohl NOR als auch NAND ein schwebendes Gate zum Speichern von Informationen verwenden. Das schwebende Gate wird gelöscht und gesetzt, indem eine höhere Spannung angelegt wird, um das Gate in den gewünschten Zustand zu zwingen. Diese Heißträgerinjektion verschleißt schließlich das Gate bis zu dem Punkt, an dem es eine „0“ oder „1“ nicht mehr zuverlässig speichern kann. NAND-Floating-Gates sind kleiner als NOR und benötigen daher weniger Zeit als NOR für den Lösch- / Setzvorgang. Das bedeutet aber auch, dass sie weniger langlebig sind als NOR.

RAM: DRAM und SRAM

RAM hat heute zwei Haupttypen: statisches RAM (SRAM), das eine Latch-Typ-Struktur pro Zelle verwendet, und dynamisches RAM (DRAM), das einen Kondensator pro Zelle verwendet.

DRAM hat einen hohen Lese- und Schreibdurchsatz und keine Dauergrenzen. Es hat eine gemultiplexte Adresse und ein zweistufiges Zugriffsverfahren (Zeile, dann Spalte) und bevorzugt daher aufgrund seiner Latenzzeit den blockorientierten Zugriff. Es erfordert auch, dass die Zellen von Zeit zu Zeit "aufgefrischt" werden, um ihren Inhalt beizubehalten, und auch nach dem Lesen zurückgeschrieben werden müssen. Dies liegt daran, dass der Kondensator, der zum Speichern von Ladung verwendet wird, mit der Zeit ausläuft und auch beim Lesen entladen wird.

SRAM hat eine nicht gemultiplexte Adresse; Der Zugriff erfolgt in einem Schritt. SRAM hat also nicht nur einen hohen Durchsatz, sondern auch eine niedrige Latenz. Da es keine Aktualisierung oder Rückschreibung erfordert, kann es möglicherweise auch stromsparend sein, obwohl, wie bei jeder Logik, die Leistung häufig gegen die Geschwindigkeit eingetauscht wird.

Sowohl SRAM als auch DRAM sind flüchtig und verlieren ihren Inhalt, wenn die Stromversorgung unterbrochen wird.

Ein langsamer SRAM kann im Leerlauf fast keinen Strom verbrauchen und kann mit einer Standby-Versorgung wie einer Batterie nichtflüchtig gemacht werden. Schnelles SRAM hat einen höheren Leckstromverbrauch - Sie würden diesen Typ beispielsweise als CPU-Puffer oder Cache-Speicher verwenden. DRAM kann in einen stromsparenden Selbstauffrischungsmodus versetzt werden, verbraucht aber auch dann noch etwas Strom, wenn es nicht verwendet wird.

Wo verwenden Sie jeden Typ und warum

Jeder Typ hat einen Kompromiss.

  • NOR ist nicht flüchtig und hat sehr niedrige Lesefehlerraten, daher eignet es sich gut für kritischen Boot-Code auf niedriger Ebene, wenn eine Fehlerkorrektur unpraktisch ist und eine lange Aufbewahrung erforderlich ist.
  • NAND erfordert Fehlerkorrektur und Verschleißausgleich, aber seine Dichte und Nichtflüchtigkeit machen es zu einem guten Medium für Systemcode, Benutzer-Apps und persistente Daten. Es hat eine längere Latenz als NOR, DRAM oder SRAM, ist aber kürzer als eine rotierende Festplatte, was es zu einer immer beliebteren Option zur Ergänzung oder zum Ersatz von Festplatten macht.
  • DRAM hat eine gute Geschwindigkeit und keine Verschleißprobleme, sodass es hohe Schreiblasten bewältigen kann, die Flash schnell verschleißen würden. Es funktioniert gut als Hauptarbeitsspeicher und Auslagerungsspeicher, hat aber eine Latenz (in der Größenordnung von 50 - 100 ns), die den Blockzugriff gegenüber wirklich zufälligen I/O bevorzugt. DRAM kann für eine kürzere Aufwachzeit nach dem Ausschalten auf NAND oder Festplatte gespiegelt werden.
  • SRAM hat die niedrigste Latenz aller Speichertypen und ist daher die beste Wahl für leistungskritische Speicher wie CPU-Puffer und Cache. Es ist jedoch am wenigsten dicht und verbraucht in Leistungsanwendungen die meiste Energie pro Speichereinheit.

Die Zukunft?

Am Horizont zeichnen sich potenzielle Ersatzstoffe für Flash, SRAM und DRAM ab. Dazu gehören MRAM, das magnetische „Spins“ zum Speichern von Bits verwendet, und ReRAM, das ein neues Schaltungselement namens Memristor zum Speichern von Bits verwendet. Beide sind nichtflüchtig und statisch (müssen nicht aktualisiert werden). Bisher hat keiner die Leistung oder die Kosten von Flash oder DRAM in kommerziellen Anwendungen erreicht, aber die Arbeit geht weiter und verspricht, die Speicherarchitektur zu revolutionieren.

wenn ich einen NOR-Flash in einem System durch einen NAND-Flash ersetzen würde, der die gleichen Daten enthält

Das Problem ist, dass Sie normalerweise keinen NAND- und einen NOR-Flash mit derselben Datenschnittstelle oder demselben Protokoll erhalten können . Mit anderen Worten, das vorhandene System weiß nicht, wie es auf den neuen Chip richtig zugreifen soll.

Und von Raw-Flash will man wirklich nicht direkt sprechen, denn zB sind SD-Karten tatsächlich billiger als (getestete) Raw-Flash-Chips, die die gleiche Datenmenge speichern.

wann NOR-Flash verwendet werden sollte und wann NAND-Flash verwendet werden sollte

Hängt stark von Ihrer Anwendung ab - wie viele Daten Sie benötigen und wie oft Sie in den Flash schreiben und welche Granularität Sie benötigen (Löschblockgröße). Oh, und welche Schnittstelle Sie verwenden möchten, um mit dem Flash-Chip zu sprechen.

  • SRAM - Eine Struktur mit 6 Transistoren enthält 1 Informationsbit. Sie müssen sich keine Sorgen machen, dass das Gerät die Informationen im Laufe der Zeit verliert (während es eingeschaltet ist). Benötigt mehr Schaltungen zum Speichern von Informationen als ein DRAM.

  • DRAM - Eine einzelne FET- und Kondensatorstruktur wird verwendet, um 1 Informationsbit zu speichern. Der Kondensator verliert aufgrund von Leckagen langsam an Ladung. Daher wird eine Auffrischschaltung benötigt. Insgesamt werden weniger Komponenten als SRAM benötigt und daher werden billigere Speicher mit größerer Kapazität hergestellt.

    • SDRAM - die bereitgestellten Daten werden gut mit der CPU-Uhr synchronisiert. Die CPU weiß genau, wann die Daten bereit sein werden.

    • DDR-SDRAM – wie SDRAM, kann jedoch Daten sowohl über die ansteigende als auch über die abfallende Taktflanke liefern. Daher der Name.

    • DDR2,3,4 SDRAM - kann Daten zweimal, viermal, 8mal schneller als normales DDR SDRAM liefern. Je höher die Datenrate, desto niedriger die Betriebsspannung, da die Verlustleistung proportional zum Quadrat der Spannung bei einer bestimmten Frequenz ist.

  • FRAM oder FeRAM ist ein nicht flüchtiger RAM. Eine einzelne FET- und Kondensatorstruktur wird verwendet, um 1 Informationsbit zu speichern, ähnlich wie bei DRAM. Der Kondensator in jeder FRAM-Zelle verwendet Blei-Zirkonat-Titanat (PZT) oder ein ähnliches Material, das seinen Zustand auf unbestimmte Zeit hält.