Können wir nicht einfach eine Batterie an ein RAM anschließen, um Datenverlust bei Stromausfällen zu verhindern?

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?

Warum sich die Mühe machen, auf EEPROM zu übertragen, wenn der RAM batteriegepuffert ist.
Absolut sinnlos, da andere Peripheriegeräte zurückgesetzt werden und sie nach dem Zurücksetzen nichts mit den gespeicherten RAM-Daten zu tun haben. Sie haben eine USV, um plötzliche Stromausfälle für das gesamte System zu verhindern.
Und die Eeprom-Idee.... Nun, heute hat ein typischer Mid-End-Heim-PC etwa 8 GB DRAM. EEPROM von 8 GB? Vielleicht meintest du doch Flash?
Das tun sie bereits, allerdings nicht für den Hauptspeicher eines Computers; Der gebräuchliche Begriff ist "batteriegestütztes SRAM". SRAM ist bei weitem zu teuer, um es als Hauptspeicher zu verwenden, aber batteriegepuffertes SRAM wurde in der Vergangenheit für Dinge wie BIOS-Einstellungen verwendet (jemals von "der CMOS-Batterie" gehört?) Und so funktionierte das Speichern von Spielen auf NES, SNES, Game Boy , und ein paar frühe Game Boy Advance-Videospiele.
Erstens müssen Sie dies nicht tun, es gibt bereits Systeme, die dies tun: avadirect.com/… Zweitens ist EEPROM LANGSAM und nimmt erheblich mehr Platz ein, sodass Sie dies nicht tun müssen
Überlegenswert ist, dass man auch nach der Stromunterbrechung wieder in einen laufenden Zustand kommen muss. Wenn 100 % des Systems batteriegepuffert ist, haben Sie kein Problem (wir nennen das eine USV). Wenn jedoch ein Teil des Systems gesichert wird, muss es bereit sein, einen funktionierenden Zustand für alle Komponenten zu ermitteln, die während des Stromausfalls ihren Zustand verloren haben. Das kann eine unterhaltsame Übung sein.
Bei Laptops versorgt (und aktualisiert) der Suspend-Modus nur den DRAM. Der Strombedarf ist relativ gering, normalerweise ist eine Woche oder mehr im Suspend-Modus möglich, bevor der Akku des Laptops leer ist und der RAM-Inhalt verloren geht. Einige Laptops/Betriebssysteme haben eine Funktion, bei der sie nach einer bestimmten Zeit aufwachen, den RAM-Inhalt auf die Festplatte schreiben (Ruhezustand) und vollständig herunterfahren.
@Andyaka Es ist battary gesichert, aber wir werden nicht sicher wissen, wie lange der Stromausfall dauern wird. Was ich also meinte, war, dass wir es auf einem EEPROM sichern können und uns dann keine Gedanken über die Stromversorgung und das Entladen der Batterie machen müssen. Außerdem habe ich jetzt in den Antworten gelesen, dass DRAMs viel Strom benötigen, da es so viele Aktualisierungszyklen gibt. Daher wäre es eine schlechte Designentscheidung, sich auf die Batterie zu verlassen, um die Daten im RAM intakt zu halten.
Einige Unternehmen stellten tatsächlich Laufwerke auf RAM-Basis her, man musste sie extern mit Strom versorgen und sie waren ziemlich teuer, siehe HyperDrive
Es wurde manchmal hergestellt, aber es hat sich nie durchgesetzt, weil es ziemlich teuer ist. Siehe hier für ein Beispiel: arstechnica.com/information-technology/2013/04/…
@VoltageSpike: An einen batteriegestützten RAID-Cache dachte ich sofort. Hochzuverlässige RAID-Controller ermöglichen es Ihnen, einen defekten Controller im laufenden Betrieb auszutauschen, das Cache-Modul wieder einzusetzen und ohne Datenverlust weiterzuarbeiten.
Sie möchten wahrscheinlich immer die Option , RAM zu löschen. Erinnern Sie sich an die alte Problembehandlungsfrage „Haben Sie versucht, sie aus- und wieder einzuschalten?“ Das behebt viele Probleme mit schlechtem Zustand, weil RAM gelöscht wird. Schlechten Zustand beseitigen ist auch die Idee hinter Prozessüberwachung und Wiederanlauf in Erlang.
Es gibt immer dies: en.wikipedia.org/wiki/Uninterruptible_power_supply , aber es hört sich so an, als ob Sie etwas Kleineres oder Lokalisiertes nur für den Speicher meinen. (Was ist Ihr Anwendungsfall hier?)
@ JeffY Es war nur eine Frage, die mir in den Sinn kam.

Antworten (7)

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.

Danke schön! Das war eine große Hilfe.
Gab es vor der Flash-SSD-Ära nicht Speichergeräte, die im Wesentlichen nur Kisten mit batteriegepuffertem DRAM waren, mit dedizierten Schaltkreisen zum Auffrischen?
@grawity Es gab (vgl. images-na.ssl-images-amazon.com/images/I/41CVgprtpsL.jpg ). Sie wurden buchstäblich als "RAM-Disks" verkauft. Obwohl ich sie nicht als "gewöhnlich" bezeichnen würde, eher als ein wirklich spezialisiertes exotisches Stück Hardware - und in diesem Bereich existierte praktisch alles , wenn man genau hinsah.
en.wikipedia.org/wiki/Memory_refresh sagt: „Obwohl in einigen frühen Systemen die mikroprozessorgesteuerte Aktualisierung mit einem Timer, der einen periodischen Interrupt auslöste, der eine Unterroutine ausführte, die die Aktualisierung durchführte, bedeutete dies, dass der Mikroprozessor nicht in Einzelschritten angehalten werden konnte , oder in einen energiesparenden Ruhezustand versetzt werden, ohne den Aktualisierungsprozess zu stoppen und die Daten im Speicher zu verlieren. In modernen Systemen wird die Aktualisierung also von Schaltkreisen im Speichercontroller oder zunehmend auf dem Chip selbst durchgeführt.
In professionellen Disk-/RAID-Controllern gab es vor nicht allzu langer Zeit auch den batteriegepufferten Disk-Cache (genannt "Battery Backup Unit"). Wenn der Strom wegfällt, werden die Daten im Disk-Cache, die noch nicht auf die rotierende Platte geschrieben wurden, für später aufbewahrt. Neuere Karten schreiben die Daten stattdessen einfach in einen internen Flash. Siehe auch: serverfault.com/questions/203355/…
@RazvanSocol Nur dynamischer RAM (DRAM) muss aktualisiert werden. Statisches RAM (SRAM) hat diese Anforderung nicht, und die CPU kann angehalten oder sogar ausgeschaltet werden, wenn andere Details wie Buspuffer richtig ausgelegt sind. SRAM hält seinen Speicher intakt, solange es Strom hat.
@ReversedEngineer: natürlich. Ich habe rdtsc kommentiert, der schrieb: „Um DRAM richtig zu „refreshen“, war (traditionell) die CPU verantwortlich. Es gibt keinen dedizierten Chip nur zum Auffrischen.“ Das ist bei modernen Systemen nicht mehr der Fall.
@RazvanSocol Entschuldigung, ich habe Sie falsch verstanden. Nützliche Informationen, da ich dachte, dass die CPU auch heute noch zum Auffrischen von DRAM verwendet wird
@RazvanSocol Was ich mit "Es gibt keinen dedizierten Chip nur zum Auffrischen" meinte, war, dass Vishal im Wesentlichen keine Hoffnung hat, DRAM-Inhalte nur mit Gleichstrom zu halten.
@rdtsc: Laut user.eng.umd.edu/~blj/papers/ieeetc65-1.pdf verfügt DDR4 über einen Selbstaktualisierungsmechanismus.
Kleinigkeit, aber "innerhalb von Tausendstelsekunden" ist nicht wirklich korrekt. Die minimale Haltezeit beträgt 64 ms bei der maximalen Nenntemperatur, was ich eher als "Hundertstelsekunde" bezeichnen würde. Auch bei normaleren Temperaturen liegt die Retention in der Nähe von mehreren Sekunden bis Minuten. Es ist ein bekannter Angriff, den Speicher eines Zielcomputers erheblich zu kühlen, bevor er entfernt und in einem anderen Computer installiert wird, um die Daten von ihm zu lesen. (Die Temperaturabhängigkeit ist exponentiell, was eine Datenspeicherung von sogar Stunden ermöglicht)
Bei vielen der frühen Mikrocomputer wurde die DRAM-Auffrischung durch externe Schaltungen erledigt, häufig die Videoschaltungen. Der Z80 war der erste Mikroprozessor, an den ich mich erinnere, der das DRAM selbst auffrischte, aber selbst dort wäre es meiner Meinung nach klarer, die Auffrischung von einem in die CPU integrierten "Speichercontroller" durchzuführen, da dies (und immer noch) meistens) unsichtbar für den Programmierer und funktioniert auf die gleiche Weise, unabhängig davon, ob der Speichercontroller integriert oder extern ist.
Der ursprüngliche PC verwendete einen Timer-Chip und einen DMA-Chip, um seinen Speicher aufzufrischen. @CurtJ.Sampson - Bei frühen Systemen oder Terminals mit integrierten Videocontrollern reichte der Zugriff des Videocontrollers auf den Speicher zur Aktualisierung des Bildschirms aus, um die Speicheraktualisierungsanforderungen zu erfüllen.
@rcgldr Nun, ich denke, für viele Systeme war es nicht genug, nur Video zu haben. Soweit mir bekannt ist, benötigten alle 8-Bit-Apples und CBM-Maschinen mit Ausnahme derjenigen mit statischem RAM eine spezielle zusätzliche Unterstützung für die integrierte DRAM-Aktualisierung. Das Video allein würde es nicht tun. (Was sinnvoll ist; auf vielen dieser Systeme gab es nicht nur DRAM-Zeilen, auf die nie von der Videoerzeugungsschaltung zugegriffen wurde, sondern sogar ganze Bänke von Chips, auf die es nie zugegriffen hat.)
Ich denke, es könnte etwas sinnlos sein, RAM-Inhalte zu speichern, es sei denn, die CPU-Register und der Cache-Speicher könnten ebenfalls gespeichert werden. Der Ruhezustand auf einem PC muss etwas mehr als den genauen Zustand des RAM speichern, damit der PC den Computerzustand beim Aufwachen „wiederherstellen“ kann.
@rcgldr Nein, ich meine speziell die Nicht-Z80-, Nicht-CP / M-Maschinen, die in den frühen 80er Jahren bei weitem die häufigsten 8-Bit-Systeme waren. Für fast keine davon reichte ein Videocontroller allein aus, um eine Aktualisierung durchzuführen. Sie alle benötigten separate Auffrischungsschaltkreise (oft zum Videocontroller hinzugefügt oder in diesen integriert) zum Auffrischen.
@CurtJ.Sampson: Auf dem Apple II durchläuft die Verkettung von (A0-A4, A7-A9) alle 256 Werte, wobei alle ~4,4 ms Videoabrufe durchgeführt werden.
@CurtJ.Sampson - Auf den 8-Bit-Ataris, 400, 800, 65XE, 130XE (128 KB RAM) hat der ANTIC-Chip die DRAM-Aktualisierung sowie DMA und einen Teil des Videos zusammen mit dem GTIA-Chip durchgeführt. Im Gegensatz zu den anderen 6502-basierten Systemen (Apple II, Commodore 64) liefen die Ataris ihren 6502 mit etwa 2 MHz (gegenüber 1 MHz).

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.

Batteriegepufferter SRAM

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.

    • Viele Desktop-Computer verwenden immer noch diese Technik, um einige BIOS-Einstellungen zusammen mit Datum/Uhrzeit beizubehalten. Es wird beibehalten, weil die Leute festgestellt haben, dass es einfach ist, den Akku zu entfernen und alles zurückzusetzen, wenn die BIOS-Einstellung schlecht ist. Frühe PCs verwendeten echte dedizierte SRAM-Chips, moderne PCs integrierten die RTC/SRAM-Schaltung in den Motherboard-Chipsatz.

Moderne UEFI-Firmware verwendet zwar meistens NVRAM, aber einige haben zusätzlich zum NVRAM noch ein batteriegepuffertes SRAM.

  • Kryptographie und Sicherheit. Eine Sicherheitshardware kann den privaten Schlüssel in einem batteriegepufferten SRAM speichern, mit aTemperamentEin Manipulationserkennungsmechanismus, der den SRAM löscht und trennt, wenn ein Eindringen erkannt wird, zerstört den privaten Schlüssel dauerhaft. In ähnlicher Weise wird im Extremfall das Programm selbst im SRAM gespeichert, um jegliche Reverse-Engineering-Bemühungen von Konkurrenten zu vereiteln.

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“.

@dave_thompson_085 Viele Leute in der Retro-Gaming- / Arcade-Community werden auch wütend, einige Spiele gehen dauerhaft verloren, wenn die Batterie des Verschlüsselungsschlüssels SRAM leer ist ;-(
Nun, es ist weitgehend auf Laptops verfügbar: Es ist genau das, was "Suspend to RAM" ist, und ich verwende es jeden Tag anstelle des tiefen Ruhezustands, weil es schneller aufwacht. Ich bin wahrscheinlich nicht der einzige, und ich kann Ihnen sagen, dass alle wichtigen Betriebssysteme es seit vielen Jahren unterstützen.
"Und es ist sehr wahrscheinlich, dass Ihr Desktop-Computer noch einen enthält, um die BIOS-Einstellungen beizubehalten." Ist das die CMOS-Batterie?
Ich habe kürzlich gutes Geld bezahlt, um die Speicherkarte mit den Konfigurationsdaten für eines meiner Funkgeräte ( ICOM R-71A ) zu ersetzen, nachdem die Batterie leer war. Ich hätte die Batterie einfach ersetzen können, aber es gab keine Möglichkeit, die Konfigurationsdaten erneut einzugeben (und ich konnte keine Quelle für Konfigurationsdaten finden, um sie einzugeben). Es ist beeindruckend, dass die Batterie 30 Jahre gehalten hat, ich wünschte nur, ich hätte gewusst, dass ich sie ersetzen musste, bevor sie weg war.
@Cruncher Ja. Obwohl der Begriff "CMOS-Batterie" irgendwie irreführend ist. CMOS ist der Name der Halbleitertechnologie, die zur Herstellung aller Arten von Chips verwendet wird. Die Bezeichnung der Batterie als "CMOS-Batterie" ist so bedeutungslos wie die Bezeichnung eines Computerprogramms als "C-Programm". Ich nehme an, dass der Name von der Tatsache herrührt, dass CMOS die erste Generation von SRAM- und RTC-Chips mit extrem geringem Stromverbrauch ermöglichte und Batterie-Backup-Lösungen praktischer machte, so dass die Leute begannen, den Namen der Technologie zu verwenden, um auf den SRAM/RTC-Chip zu verweisen das die BIOS-Einstellungen und die Uhrzeit enthält.

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.

Im Fall eines PCs kann es vorkommen, dass das Betriebssystem einen "hybriden" Ansatz verfolgt: auf die Festplatte schreiben, aber auch im RAM behalten. Auf diese Weise kann es superschnell booten und ist bei einem Stromausfall geschützt, da es alle Ruhezustandsdaten auf der Festplatte hat. Dies ist schneller als ein Kaltstart und stellt den Inhalt und die laufenden Programme wieder her, genau wie das Suspendieren im RAM.

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.

„Beide Funktionen können verkettet werden – Sie suspendieren zuerst den Arbeitsspeicher, und wenn der Akku weiter leer ist, wacht der Computer kurz auf, um den RAM-Inhalt auf die Festplatte zu übertragen und sich vollständig auszuschalten.“ – Eigentlich ist es sinnvoller, zuerst den RAM-Inhalt auf die Festplatte zu schreiben , weil man dann nichts weiter tun muss, als das Gerät auszuschalten, wenn der Akku leer ist. Dies nennt sich Hybrid Sleep in Windows, Safe Sleep in macOS ("Safe", weil Sie den Akku sicher herausziehen / Strom verlieren können) und existiert auch in Linux.
@JörgWMittag Ich glaube, dass genau das nicht passiert. Zitieren Sie mich nicht, aber ich glaube, dass einige Betriebssysteme Peripheriegeräte und die meisten Geräte ausschalten können (als ob sie angehalten würden) und alles auf die Festplatte schreiben, bevor sie in den Zustand mit geringerem Stromverbrauch wechseln (auch bekannt als: anhalten). Wenn Sie den PC einschalten, kann er alles fortsetzen. Im Falle eines Stromausfalls ist alles bereits auf der Festplatte und es wird einfach fortgesetzt. Ich bin fest davon überzeugt, dass das Kopieren vor dem Anhalten der CPU erfolgt, aber nach dem Ausschalten aller Peripheriegeräte (Display, Tastatur, Mäuse, Webcam, Netzwerkkarten, GPU, andere).

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...

Ich kannte UPS nicht, bevor ich diese Frage stellte. Aus diesem Grund dachte ich, dass der RAM batteriegepuffert werden kann, damit bei Stromausfällen die Daten im Hauptspeicher auf EEPROMs gehalten werden können. Der Punkt, den ich zu machen versuche, ist, dass ich über Datenverlust nachgedacht habe, aber wenn UPS verwendet wird, müssen wir uns keine Gedanken über Stromausfälle machen, sie würden die Maschine mit Strom versorgen. Die Verwendung von batteriegepuffertem RAM würde nur Daten erhalten, aber UPS würde es Ihnen ermöglichen, das Computersystem zu verwenden, damit Sie Notfallsicherungen durchführen können.
Mein Ansatz zur Lösung des Problems der Stromausfälle war eng.
Die meisten USVs haben eine Funktion, mit der sie mit Ihrem Computer kommunizieren und ihn automatisch herunterfahren können, wenn die Stromversorgung niedrig ist usw. Als zusätzliche Information hatten Stereoanlagen vor EEPROMS Speicherchips mit einem speziellen Stift zum Anschließen einer 9-V-Batterie. Dies ermöglichte es der MPU, sich an die Abstimmung usw. zu "erinnern", wenn der Strom ausgeschaltet ist ...