Unterschiede, Verwendung und Theorie von flüchtigem und nichtflüchtigem Speicher?

Ich verstehe die Grundlagen des flüchtigen und nichtflüchtigen Speichers. Flüchtiger Speicher erfordert eine konstante Stromversorgung, um Daten zu halten, während nichtflüchtiger Speicher keine konstante Stromversorgung benötigt, um Daten zu halten. Was ich gerne wissen würde, ist Folgendes: Gibt es weitere wesentliche Unterschiede in Bezug auf Leistung, Geschwindigkeit, Größe usw.? Welchen Nutzen haben sie außerdem in einem Computer? Zu guter Letzt, wie funktioniert jeder? Vielen Dank im Voraus für alle Antworten und Kommentare.

RAM ist flüchtig (wenn Sie den Computer ausschalten, wird er gelöscht), aber Ihre Festplatte ist nicht flüchtig (Sie haben immer noch die Daten, wenn Sie ihn wieder einschalten)

Antworten (2)

Ja, Sie verstehen die Definition von flüchtigem und nichtflüchtigem Speicher. Allein von daher würde man denken, dass nicht flüchtig immer besser ist. In der realen Welt ist dies jedoch nicht der Fall, da die unterschiedlichen Technologien zur Herstellung dieser Erinnerungen dazu führen, dass andere Attribute jenseits der Flüchtigkeit erscheinen.

Zu den Kompromissen, die uns verschiedene Speichertechnologien aufzwingen, gehören:

  1. Lesegeschwindigkeit.

  2. Schreibgeschwindigkeit.

  3. Kosten.

  4. Größe.

  5. Stromverbrauch im Leerlauf, Lesen und Schreiben.

  6. Betriebslebensdauer.

  7. Anzahl der lebenslangen Lese- oder Schreibvorgänge.

und genau das fiel mir schnell ein. Offensichtlich ist der ideale Speicher schnell zu lesen, schnell zu schreiben, kostet wenig, ist klein, braucht wenig Strom, hält lange und kann viele Male verwendet werden. Es gibt keine Technologie, die in all diesen Bereichen zusammen gute Arbeit leistet. Die Volatilität ist nur ein weiterer Eintrag in der Liste der zu berücksichtigenden Parameter.

Bei so etwas wie einem Mikrocontroller, der in eine Schaltung eingebettet werden soll, die schnell eingeschaltet werden muss, ist es wichtig, dass der Hauptprogrammspeicher nichtflüchtig ist. Das bedeutet heute im Allgemeinen, dass es langsam zu schreiben ist, eine begrenzte Anzahl von lebenslangen Schreibvorgängen hat und seinen Inhalt nach einigen 10 Jahren vergisst. Natürlich möchten wir diese Nachteile nicht haben, aber niemand weiß, wie man einen Speicher herstellt, der sie nicht für die Größe und die Kosten hat, die in einem Mikro erforderlich sind.

Der Datenspeicher in einem Mikro kann in einer Schleife millionenfach in Sekunden willkürlich beschrieben und gelesen werden, möglicherweise über Jahre hinweg, daher ist eine Technologie wichtig, die keine begrenzte Anzahl von lebenslangen Lese- oder Schreibvorgängen hat. Um das zu erreichen, geben wir die Fähigkeit auf, die Werte beizubehalten, wenn der Strom abgeschaltet wird.

Es gibt alle Arten von Speichertechnologien, die einige dieser Parameter optimieren, zwangsläufig auf Kosten anderer. Einige gängige Technologien:

  • Statischer CMOS-RAM. Dies sind wirklich Logikschaltungen, die für das Halten von Bits optimiert sind. Sie sind schnell, haben praktisch unbegrenzte Lese- und Schreibzeiten, verbrauchen wenig Strom, wenn nicht darauf zugegriffen wird, und haben eine lange Betriebslebensdauer. Andererseits ist dieser Speicher flüchtig, und die Zellen sind relativ groß, was sie teuer macht, wobei hohe Dichten nicht erreichbar sind.

  • EEPROM. Eigentlich ist das streng genommen keine Technologie, aber heute (das könnte sich leicht ändern) werden diese Speicher üblicherweise mit Floating-Gate-MOSFETs implementiert. Ihre Haupteigenschaft ist, dass sie nicht flüchtig sind. Die Dichte ist hoch, daher sind die Kosten niedrig, aber sie werden jedes Mal, wenn die Ladung am Gate geändert wird, ein wenig physisch abgenutzt, was beim Schreiben oder Löschen der Fall ist.

Im Zusammenhang mit 6 (Betriebslebensdauer) steht die Komplexität von Wear-Leveling (und ECC). Bezogen auf 2 (Schreibgeschwindigkeit) sind Anforderungen an die Schreibpufferung. Andere Probleme sind Lese-/Schreib-/Löschgranularität und Fehlerresistenz (ich denke , MRAM ist in der Luft- und Raumfahrt wegen seiner Widerstandsfähigkeit gegen Strahlung beliebter). Die Herstellungskompatibilität mit logischen Prozessen ist ebenfalls ein Faktor.
Ein weiteres mögliches Muster besteht darin, einen statischen RAM in Kombination mit einem Flash oder EEPROM zu verwenden und sicherzustellen, dass immer genug Energie in Kondensatoren gespeichert ist, um alles Wichtige, was sich im RAM befindet, in den Flash oder EEPROM zu schreiben. Einige Chips oder Module erledigen dies automatisch; Es ist auch möglich, eine Kombination von Geräten manuell zu verwenden, obwohl man in letzterer Situation vorsichtig sein muss, um sich vor möglichen Störungen zu schützen, die über ein einfaches Herunterfahren hinausgehen.
Ebenfalls lose mit 1 (Lesegeschwindigkeit) verbunden ist, ob Lesevorgänge destruktiv sind (man kann einen nichtflüchtigen Speicher mit destruktiven Lesevorgängen haben!). @supercat nvSRAM ist SRAM, das durch einen NV-Speicher mit einem Kondensator unterstützt wird, um ein Rückschreiben bei Stromausfall zu ermöglichen. (Ich musste nach "nvSRAM" suchen - es wird in gmans Antwort erwähnt .)

FRAM/MRAM/nvSRAM sind NV-Speicher, die eine gute Geschwindigkeit (serielle oder parallele Schnittstelle) und eine hohe Lebensdauer und lange Speicherzeiten bieten. Ich würde diese in einem Eimer klassifizieren.

EEPROM/Flash befinden sich in einem anderen Bucket. EEPROM sind Byte-beschreibbar, haben eine höhere Lebensdauer und sind etwas schneller als Flash-Äquivalente. Beides sind Floating-Gate-Technologien. Aber Flash implementiert die Zellen viel kompakter als EEPROM, was einige Einschränkungen verursacht, nämlich Löschen vor dem Schreiben, und Schreibvorgänge müssen eine minimale Blockgröße haben. Es gibt noch mehr - NOR vs. NAND-Flash. NOR ist eine höhere Geschwindigkeit, NAND wird in 99 % der Unterhaltungselektronik (Telefone/SSD/Kameras) verwendet. Wo Flash glänzt, ist die Dichte und der niedrigere Preis pro Bit.

SRAM/DRAM befinden sich im flüchtigen „RAM“-Bucket. Wenn die Stromversorgung unterbrochen wird, verlieren Sie Ihre Daten (es sei denn, Sie kühlen den Speicher super). Keine Ausdauergrenzen. Während Strom angelegt wird, müssen SRAM-Daten nicht aufgefrischt werden, während DRAM-Zellen aufgefrischt werden müssen (zig Millisekunden), da sonst die Ladung abfließt.

Aus Benutzersicht sind die Speicher mit geringerer Dichte (SRAM/EEPROM/FRAM/MRAM/nvSRAM) viel einfacher zu verwenden. Das beste Preis-Leistungs-Verhältnis (DRAM/Flash) erfordert mehr Arbeit. Denken Sie daran, dass in jeden Flash-Speicher eine 8051-MCU eingebaut ist. Und bei DRAM stellen Sie sich die Daten als jonglierte Bälle vor.