Ich habe mich also nur gefragt, wie flüchtiger Speicher Daten verliert, wenn die Stromversorgung unterbrochen wird. Aber können wir dieses Problem nicht lösen, indem wir eine Batterie in Verbindung mit einem RAM und einem ROM verwenden und wenn es einen Stromausfall gibt, dh wenn der Computer kein Abschaltsignal erhält, schaltet sich die Batterie ein und ein Controller überträgt Daten aus dem RAM in ein EEPROM ?
EEPROM - weil ich denke, dass HDDs und SSDs mehr Strom verbrauchen. Ich meine, wenn wir dies tun könnten, könnten wir es vielleicht so programmieren, dass es Daten explizit im EEPROM speichert, wenn keine Daten, dann das Betriebssystem (nur eine Kopie). So können wir auch schneller booten. Es gibt vielleicht ganz offensichtliche Gründe, dies nicht zu tun. Aber sie sind mir nicht klar. Können Sie mir sagen, warum das nicht gemacht wird?
Kurze Antwort: Möglicherweise können Sie "eine Batterie an ein RAM anschließen, um Datenverlust bei Stromausfall zu verhindern", dies hängt jedoch vom Typ des RAM ab.
SRAM (Static Random Access Memory) ist kein DRAM, was unten erklärt wird. SRAMs finden sich in vielen elektronischen Geräten wie einem modernen (Heim-)Thermostat (verwendet eine Batterie, um die Einstellungen zu speichern, wenn der Strom ausfällt) und in einem Wecker (die Batterie hält die Zeit und kann das Gerät für kurze Zeit mit Strom versorgen) usw Festplatten haben in der Regel etwas SRAM, das sich als „32 MB Festplatten-Cache“ ausgibt. Spezialisiertes SRAM ist sogar in der CPU vorhanden, da es sich um einen blitzschnellen L1-, L2- und L3-Cache-Speicher handelt.
Primäre (nicht wiederaufladbare) Lithium-Knopfzellenbatterien werden üblicherweise für die SRAM-Erhaltung verwendet. Moderne SRAMs können niedrigere Arbeitsspannungen haben, z. B. 1,8 V, was mehr Schaltkreise erfordert, um mit einer 3,0-V-Batterie zu unterstützen. Der Versorgungsstrom ist sehr gering (sogar Nanoampere), sodass Daten von einer kleinen Batterie lange erhalten bleiben können. Viele Industriemaschinen (Roboter, Antriebe mit variabler Frequenz, speicherprogrammierbare Steuerungen usw.) verwenden eine SRAM-Pufferbatterie, um kritische Daten über (häufige) Einschaltzyklen hinweg zu erhalten.
Das Akronym SRAM bedeutet „ Static Random Access Memory“. Statisch, weil sein Inhalt auf unbestimmte Zeit in dem Zustand bleibt, in dem er programmiert wurde, aber nur so lange, wie Strom angelegt wird. SRAM ist sehr schnell, aber physikalisch sperrig und relativ teuer, findet also auch heute nur Nischenrollen. SRAM und DRAM sind flüchtige Typen, was bedeutet, dass ihr Inhalt verloren geht, wenn die Stromversorgung unterbrochen wird.
EEPROM (Electrically-Erasable Programmable Read-Only Memory) ist ein altes, nichtflüchtiges digitales Speichermedium, d. h. Daten bleiben auch nach dem Ausschalten erhalten. Diese wurden ursprünglich auf Bit-Ebene "programmiert" oder "fusioniert", aber moderne sind etwas schneller und können Daten in Blöcken verarbeiten. Diese sind immer noch viel langsamer als SRAM oder DRAM. Aufgrund dieser extremen Langsamkeit, begrenzten Kapazität und einer begrenzten Schreib-/Löschfähigkeit finden sie nur in Rollen wie Parameterspeicherung und winzigen Programmen für Mikrocontroller usw. Verwendung. Aufgrund der großen Menge ist es nicht möglich, den Hauptsystemspeicher im EEPROM zu sichern Zeitaufwand.
FLASH- Speicher, allgemein als USB-Flash-Laufwerk und in SSD-Festplatten gesehen, ist ein weiteres nichtflüchtiges Speichermedium. Es ist auch viel langsamer als andere RAM-Typen und hat eine begrenzte Schreibgrenze, sodass es nicht als Hauptspeicher verwendet wird. Eine SSD-Festplatte ist nichts anderes als eine ganze Reihe von diesen, die alle parallel verwendet werden, um Geschwindigkeit und Kapazität zu erhöhen.
DRAM(Dynamic Random Access Memory) ist ein ganz anderes Tier. "Dynamisch", weil es sich ständig ändert und die Inhalte sich ohne Eingriff ändern (verloren gehen). DRAM ist relativ dicht (in Bezug auf die Kapazität) und kostengünstig und wird daher für den Hauptsystemspeicher des Computers verwendet. Leider ist es auch langsamer* als SRAM und muss ständig "aufgefrischt" werden, sonst geht sein Inhalt je nach Temperatur innerhalb kurzer Zeit verloren. Der normale Betrieb des Speichercontrollers des PC hält die Daten im DRAM ständig aktualisiert, so dass sie immer verfügbar sind. Wenn der Strom abgeschaltet wird, muss der Speichercontroller die Daten immer noch aktualisieren, während er mit Backup-Batteriestrom läuft. Laptops tun dies beispielsweise beim Suspend to RAM. Da diese Aktualisierung ein aktiver Prozess ist, zieht sie mehr Strom, und somit ist die Batterie typischerweise viel größer als eine Knopfzelle. Wenn die Batterie erschöpft ist, gehen die DRAM-Inhalte verloren und die Maschine wird zu einem Kaltstart gezwungen.
Eine vielversprechende neue Technologie ist FeRAM . (Ferro-Electric RAM) ist ziemlich schnell, nicht flüchtig und hat eine hohe Lebensdauer. Es ist eine neue Technologie, daher ist sie ziemlich teuer und die Kapazität ist begrenzt, daher hat sie sehr begrenzte Rollen.
*Nebenbei: Um die Langsamkeit von DRAM zu umgehen, verwendet ein PC diese massiv parallel. Zuerst wird auf einen ganzen Stick auf einmal zugegriffen (8-fache Geschwindigkeit, da 8 Chips darauf sind), dann, wenn das Motherboard Dual-Banking unterstützt, zwei Module auf einmal (2x8 = 16x), Triple-Banking = 24x usw. Das ist wie ein Modul mit der Bezeichnung "PC3-10666" möglicherweise wie ein Chip mit 10.666 MHz funktionieren kann. Von einem 666-MHz-Bus: 666*2 (DDR bedeutet zwei Übertragungen pro Takt) * 8 Chips/Modul = 10.666.
Können wir nicht einfach eine Batterie an ein RAM anschließen, um Datenverlust bei Stromausfällen zu verhindern? Können Sie mir sagen, warum das nicht gemacht wird?
Natürlich machen wir das! Es wird als batteriegepufferter SRAM bezeichnet und ist in eingebetteten Systemen weit verbreitet. Heutzutage sind die Kosten für die NVRAM-Technologie (wie herkömmliches EEPROM oder neues FRAM) niedrig, sie können dasselbe ohne Strom tun, also ist es nicht mehr so üblich wie früher, aber es ist immer noch da. Und es ist sehr wahrscheinlich, dass Ihr Desktop-Computer noch einen enthält, um die BIOS-Einstellungen beizubehalten.
Bildquelle: ST M48T128Y Datenblatt
Zu den Anwendungen gehören:
Terminzeit. Die Knopfzelle auf der Hauptplatine Ihres Computers versorgt den Echtzeituhr-Chip mit Strom, der über einen SRAM verfügt, der die Zeit hält. Aus diesem Grund merkt sich Ihr Desktop-Computer die Uhrzeit, auch wenn die Stromversorgung unterbrochen wird. Eingebettete Systeme haben immer noch dedizierte RTC-Chips, aber für PCs nach den 2000er Jahren sind sie in den Motherboard-Chipsatz integriert, auch bekannt als Southbridge oder Platform Controller Hub, wie Intel es nennt.
Kalibrierungsparameter. Ein Testgerät wie ein Oszilloskop kann die aktuellen Kalibrierungsdaten im SRAM speichern (ein häufiges Problem bei alten Testgeräten ist der Verlust aller Kalibrierungsdaten, wenn die Batterie leer ist).
Laufzeitparameter. Ein Mikrocontroller kann wichtige Laufzeitdaten in einem batteriegepufferten SRAM speichern, sodass die Daten auch dann nicht verloren gehen, wenn der Mikrocontroller aufgrund eines Stromausfalls oder eines Absturzes zurückgesetzt wird. Ebenso kann ein wissenschaftlicher Taschenrechner Ihre Variablen speichern.
Moderne UEFI-Firmware verwendet zwar meistens NVRAM, aber einige haben zusätzlich zum NVRAM noch ein batteriegepuffertes SRAM.
Wir tun dies nicht auf Desktop-Computern. Der Stromverbrauch von DRAM ist zu hoch für eine kleine Batterie. Außerdem sind die meisten Betriebssysteme und Software nicht darauf ausgelegt, nach einem Stromausfall ohnehin weiterzuarbeiten. Sie können so etwas wie den Ruhezustand implementieren, aber wenn ja, warum verwenden Sie nicht einfach den Ruhezustand?
Wie die Kommentare gezeigt haben, ist es technisch gesehen so, wenn Sie die Suspend-Funktion auf einem Laptop verwenden, der mit Akku betrieben wird, ist dies im Grunde gleichbedeutend mit dem „Anschließen eines Akkus an den RAM“.
Für einen PC ist das mehr oder weniger das, was "Ruhezustand bei schwachem Akku" ist. Der Inhalt des RAM wird in der Ruhezustandsdatei auf die Festplatte geschrieben. Da dabei das ganze System eingeschaltet sein muss, braucht es ziemlich viel Strom und ist daher nur für Systeme geeignet, die sowieso einen Akku haben würden, wie z. B. Laptops.
Ebenso ist es möglich, schnell aus dem Ruhezustand zu booten; Intel nennt das „Rapid Start“ und ist auf manchen Systemen schon lange verfügbar.
Der Haupteinschränkungsfaktor ist, dass RAM so groß ist, dass es viele Sekunden dauert, alles in Flash zu schreiben.
EEPROM - weil ich denke, dass HDDs und SDDs mehr Strom verbrauchen.
SSDs sind per Definition EEPROM.
Was Sie beschreiben, ist genau das, was die Funktionen "Suspend to Disk" oder "Hibernate" in modernen Computern tun. Sie ziehen den Stecker, die Batterie oder eine externe Batterie (USV) beginnt, den Computer mit Strom zu versorgen, und wenn die Batterie bis zu einem bestimmten Punkt leer ist, schreibt das Betriebssystem (je nach Einstellung) einfach den gesamten Arbeitsspeicher in eine Datei und fährt herunter. Wenn Sie das Ding wieder einschalten, sieht das Betriebssystem, dass die "Ruhezustands" -Datei vorhanden ist, und anstatt normal zu booten, liest es die Datei in den RAM und startet dort, wo es zuvor gestoppt wurde (hier natürlich viele Vereinfachungen).
Es gibt auch eine "Suspend to RAM"-Funktion - schalten Sie Peripheriegeräte aus, halten Sie die CPU an und versorgen Sie nur den RAM und den RAM-Controller mit Strom.
Beide Funktionen können verkettet werden - Sie suspendieren zuerst den RAM, und wenn der Akku weiter leer ist, wacht der Computer kurz auf, um den RAM-Inhalt auf die Festplatte zu übertragen, und schaltet sich vollständig aus.
Um die anderen gründlichen Antworten zu ergänzen, möchte ich darauf hinweisen, dass es nicht ausreicht, nur Strom für den Speicher zur Verfügung zu haben, um einen ordnungsgemäßen Neustart dort zu gewährleisten, wo Sie aufgehört haben. Wenn Sie einfach zulassen, dass die Leistung für den Prozessor außerhalb der Spezifikation liegt, wird er normalerweise irgendwann „durchdrehen“, wenn die interne Logik zu versagen beginnt und ein Prozessor mit GHz-Geschwindigkeit in den Millisekunden, die zum Abfallen benötigt werden, eine Menge Daten beschädigen kann bis zu dem Punkt, an dem es vollständig verstummt (und sogar ein einziges Bit ausreichen könnte, um es zum Absturz zu bringen).
Aus diesem Grund benötigen Sie Überwachungsschaltkreise und normalerweise Software, die die Stromschienen überwachen und ein ordnungsgemäßes Starten und Herunterfahren ermöglichen, das nichtflüchtiges oder batteriegestütztes SDRAM oder RAM beschädigt.
Wenn Sie Ihr Gerät wirklich vor Stromausfall schützen möchten, ist eine USV der richtige Weg. APC und zahlreiche andere Marken verfügen über eine 1500-VA-USV, mit der die meisten Computer je nach Stromverbrauch des Geräts etwa 10 Minuten lang laufen können.
Die USV ist eine Batterie, aber sie ist einfach zu implementieren und erfordert keine Fummelei, um sie anzulöten oder usw.
Wenn Sie einen Computer mitnehmen, können Sie ihn in den Ruhemodus versetzen, die USV hält viel länger.
Für den PC können Sie den Computer in den Ruhezustand versetzen, er schreibt den Inhalt des RAM auf die Festplatte und lädt ihn neu, wenn der Computer ihn wieder einschaltet.
Da @rdtsc eine ausgezeichnete Antwort gegeben hat, lassen Sie mich eine Erfahrung teilen, die möglicherweise das ist, was Sie denken:
In einem abgelegenen Teil Kanadas wurde in einem Gebäude ein Heiz-/Kühlsystem eines sehr renommierten Unternehmens verwendet. Aber Netzstrom war unzuverlässig. Wenn die Stromversorgung unterbrochen wurde, dauerte es über 2 Stunden, bis das System neu gestartet wurde (Stromunterbrechungen treten im Winter mehr als einmal pro Tag auf). Stellen Sie sich vor, Sie brauchen 2 Stunden, wenn es -50 ° C kalt ist (brrr). Was ich tat, war die Computerplatine "Batterie zurück" (USV). Als der Strom wieder eingeschaltet wurde, wurde das System sofort fortgesetzt. Ich glaube es ist noch im Einsatz...
Andi aka
Eugen Sch.
Eugen Sch.
Feuerstelle
Spannungsspitze
Paddy
Cort Ammon
Michael
Vishal Dalwadi
DarkBee
Nate S.
Jörg W Mittag
Nathan Lang
Jeff Y
Vishal Dalwadi