In Ihrem Computer gibt es wahrscheinlich zwei Arten von RAM-Klassenspeichern. Nur einer wird als RAM bezeichnet: der Systemspeicher oder System-RAM. Diese RAM-Klasse wird DRAM genannt. In dieser Klasse haben Sie möglicherweise auch einige SSDs mit integriertem DRAM. Der VRAM auf einer Grafikkarte ist ebenfalls eine Teilmenge von DRAM. Sie haben eine andere Art von RAM auf den eigentlichen CPU- und GPU-Dies selbst. SRAM wird für On-Die-Caches verwendet.
SRAM ist schnell. Allerdings ist es in Gigabyte pro Quadratzentimeter nicht besonders dicht, was ebenfalls zu seinem hohen Preis beiträgt. DRAM ist langsamer. Es hat jedoch eine viel höhere Speicherdichte und ist viel billiger. Aus diesem Grund wird SRAM in kleinen Mengen auf Prozessorchips als Hochgeschwindigkeitsspeicher verwendet, und DRAM wird für größere Speicherpools wie die oben beschriebenen verwendet.
Die Unterscheidung zwischen SRAM und DRAM ist in ihrer tatsächlichen Struktur offensichtlich. SRAM verwendet vier bis sechs Transistoren, während DRAM einen einzelnen Transistor und einen Kondensator verwendet. Hier kommt der Speicherdichte Vergleich ins Spiel. Es gibt einfach weniger Teile im DRAM, wodurch jede Speicherzelle kleiner wird.
Die Designunterschiede haben jedoch einen weiteren Effekt, der groß genug ist, um der titelgebende Faktor für die Namensgebung der beiden zu sein. Das S in SRAM steht für Static, während das D in DRAM für Dynamic steht. Dies bedeutet, dass SRAM seinen Inhalt auf unbestimmte Zeit behalten kann, während DRAM regelmäßig aufgefrischt werden muss.
Notiz: Dies setzt voraus, dass eine konstante Stromversorgung vorhanden ist. SRAM ist immer noch ein flüchtiger Speicher, und wenn die Stromversorgung unterbrochen wird, gehen die darin enthaltenen Daten verloren. Genau wie DRAM.
Was ist eine Speicheraktualisierung?
Die Schaltungsebenenarchitektur von DRAM bedeutet, dass die Ladung einer Speicherzelle mit der Zeit abfällt. Jede Speicherzelle muss regelmäßig aufgefrischt werden, damit der DRAM Daten über lange Zeiträume speichern kann. Es gibt ein paar grundlegende Dinge, die Sie darüber wissen sollten. Das erste ist, dass auf den Speicher nicht zugegriffen werden kann, während er aktualisiert wird. Dies bedeutet auch, dass die Leistung dadurch begrenzt werden kann, wie oft die DRAM-Zellen aufgefrischt werden müssen.
Im Allgemeinen werden DRAM-Zellen alle 64 Millisekunden aufgefrischt, obwohl sich dies bei hohen Temperaturen halbiert. Jede Reihe von Zellen wird unabhängig aktualisiert, um zu verhindern, dass dies auf einmal geschieht und alle 64 Millisekunden einen erheblichen Schluckauf verursacht.
Clevererweise taktet der Speichercontroller auch die Auffrischungszyklen so, dass sie auftreten, während das RAM-Modul andere Dinge tut, die es am Lesen oder Schreiben des Speichers hindern, wie z. B. das Übertragen von Lesedaten. Glücklicherweise ist die Zeit, die zum Auffrischen einer Zelle benötigt wird, gering, im Allgemeinen 75 oder 120 Nanosekunden. Dies bedeutet, dass ein DRAM-Chip etwa 0,4 % bis 5 % seiner Zeit mit der Durchführung einer Auffrischungsoperation verbringt.
So aktualisieren Sie DRAM
Was Sie vielleicht nicht über das Lesen von Daten aus dem DRAM wissen, ist, dass es destruktiv ist. Das Lesen von Daten aus den Speicherzellen zerstört diese Daten. Um dies vor dem Benutzer zu verbergen, liest und überträgt jede Leseoperation die Daten und schreibt dieselben Daten zurück in die Speicherzelle in einer als Vorladung bezeichneten Aktion. Leider kann man sich nicht darauf verlassen, dass Standard-Leseereignisse jede verwendete DRAM-Zeile treffen, sodass eine spezifische Auffrischungsoperation erforderlich ist.
Der Aktualisierungsvorgang ist nicht so komplex. Da versucht wird, eine ganze Reihe auf einmal aufzufrischen, anstatt eine bestimmte Spalte in der Reihe zu lesen, ist das Signal zum Auffrischen einer Reihe tatsächlich auch kleiner und effizienter. Der Auffrischprozess liest die Daten in die Leseverstärker und direkt zurück in die Zellen anstatt in die vergleichsweise langsamen Ausgangspuffer.
All dies geschieht automatisch. Der Speichercontroller verwaltet das alles, ohne dass die CPU davon Kenntnis hat.
Ausreißer
Die DRAM-Ladung nimmt zwar ab, aber Untersuchungen haben gezeigt, dass die Rate zwischen DRAM-Zellen stark variiert, sogar auf einem einzelnen Chip. Die oberen Prozent können ihre Daten möglicherweise bis zu 50 Sekunden lang speichern, ohne dass eine Aktualisierung bei Standardtemperaturen erforderlich ist. 90 % können Daten 10 Sekunden lang speichern, 99 % drei Sekunden lang und 99,9 % eine Sekunde lang.
Leider müssen einige Ausreißer viel öfter aktualisiert werden. Um selbst die Worst-Case-Szenarien zu berücksichtigen, sind die DRAM-Aktualisierungszeiten niedrig. Diese Wahl stellt sicher, dass niemals Daten verloren gehen, wirkt sich aber auch auf den Stromverbrauch und die Leistung aus.
Einige Forscher haben alternative Methoden zum Analysieren und Gruppieren der RAM-Zellen vorgeschlagen und ziehen es vor, diejenigen mit besseren Abklingzeiten zu verwenden. Dies würde zu einer verbesserten Leistungsnutzung führen, was besonders nützlich bei batteriebetriebenen Geräten mit geringem Stromverbrauch ist. Es würde jedoch auch zu unterschiedlichen Niveaus der RAM-Leistung führen.
Zusätzlich müsste die temperaturabhängige Änderung der Abklingzeit berücksichtigt werden. Schlimmer noch, einige Zellen verlieren einfach gelegentlich an Ladungserhaltungsleistung, was bedeutet, dass man sich darauf verlassen muss zu viel kann manchmal dazu führen, dass eine vermeintlich gute Speicherzelle schlecht ist, was ein regelmäßiges Rebinning erfordert.
Fazit
Der Refresh-Zyklus ist der Prozess in DRAM-Modulen, durch den die Speicherzellen aufgefrischt werden. Dies ist notwendig, da das Schaltungsdesign von DRAM zu einem Ladungsabfall führt. Regelmäßiges Auffrischen der Speicherzellen verhindert Datenverlust. SRAM muss nicht aufgefrischt werden, da sein Schaltungsdesign nicht zu einem Ladungsabfluss führt.
Notiz: Der Aktualisierungszyklus kann sich auch auf die regelmäßige Aktualisierung der Hardware durch einen Benutzer oder eine Organisation beziehen.