DE102020123125A1 - Backup und wiederherstellung von registerdaten - Google Patents

Backup und wiederherstellung von registerdaten Download PDF

Info

Publication number
DE102020123125A1
DE102020123125A1 DE102020123125.3A DE102020123125A DE102020123125A1 DE 102020123125 A1 DE102020123125 A1 DE 102020123125A1 DE 102020123125 A DE102020123125 A DE 102020123125A DE 102020123125 A1 DE102020123125 A1 DE 102020123125A1
Authority
DE
Germany
Prior art keywords
register
volatile memory
cell
words
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020123125.3A
Other languages
English (en)
Inventor
Yu-Der Chih
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/010,058 external-priority patent/US11295792B2/en
Application filed by Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of DE102020123125A1 publication Critical patent/DE102020123125A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Ein System aufweisend: einen Prozessor; ein Register, das eingerichtet ist, mehrere Wörtern zu speichern; einen nicht-flüchtigen Speicher, der mehrere Zelle aufweist, wobei jede Zelle einem der Wörter des Registers entspricht und wobei jede Zelle der mehreren Zellen auf einen anfänglichen Rücksetzungswert gesetzt wird; eine erste Steuereinheit, die, als Reaktion auf einen Stromausfall das von dem Register gespeicherte Wort bestimmt und den anfänglichen Rücksetzungswert der Zelle des nicht-flüchtigen Speichers, die dem durch das Register gespeicherten bestimmten Wort entspricht, auf einen Sollwert ändert; eine zweite Steuereinheit, die als Reaktion auf das Detektieren einer Wiederherstellung der Stromversorgung die Zelle, die den Sollwert aufweist, identifiziert, das Wort, das der identifizierten Zelle entspricht, in das Register schreibt und die Zellen des nicht-flüchtigen Speichers auf den anfänglichen Rücksetzungswert zurücksetzt.

Description

  • HINTERGRUND
  • Im Allgemeinen weisen Computersysteme einen oder mehrere Prozessoren und Speicher einschließlich Register auf. Üblicherweise sind Register aus einer kleinen Menge schneller Datenspeicher gebildet. Ein Register speichert vorübergehend Daten, Instruktionen und Speicheradressen, die häufig von der CPU verwendet werden. Es gibt verschiedene Arten von Registern, die jeweils für einen bestimmten Zweck verwendet werden, darunter Datenregister, Adressregister, Programmzähler, Speicherdatenregister, Speicherpufferregister usw.
  • Die Register können entweder flüchtig oder nicht-flüchtig sein. Bei flüchtigen Registern kann ein Stromausfall des Computersystems dazu führen, dass das Register seinen Wert verliert. Ein Beispiel für die Vermeidung des Verlusts wertvoller im Register gespeicherter Daten ist die Sicherung des Datenwerts des Registers in einem nicht-flüchtigen Speicher (non-volatile memory, NVM). Üblicherweise umfasst das Backup von Registern das Sichern einer Kopie jedes Bits von Registerdaten in einem entsprechenden Bit eines nicht-flüchtigen Speichers. Im Fall eines Stromausfalls lässt sich jedoch ein schnelles Backup von Registerdaten unter Verwendung des restlichen Stroms bei zunehmender Anzahl von Datenbits im Register immer schwieriger realisieren.
  • Figurenliste
  • Aspekte der vorliegenden Offenbarung lassen sich am besten anhand der folgenden ausführlichen Beschreibung in Verbindung mit den beiliegenden Zeichnungen verstehen. Es ist zu beachten, dass gemäß der branchenüblichen Praxis verschiedene Merkmale nicht maßstabsgetreu gezeichnet sind. Die Abmessungen der verschiedenen Merkmale können vielmehr zugunsten einer klaren Erläuterung beliebig vergrößert oder verkleinert sein.
    • 1 ist ein Blockdiagramm, das ein Beispiel eines schnellen Register-Backup-Systems, das nicht-flüchtigen Speicher verwendet, gemäß einigen Ausführungsformen veranschaulicht.
    • 2 ist ein Flussdiagramm, das ein Beispiel eines Backup-Verfahrens während eines Stromausfallereignisses gemäß einigen Ausführungsformen veranschaulicht.
    • 3 ist ein Flussdiagramm, das ein Beispiel eines Wiederherstellungsverfahrens während eines Einschaltereignisses gemäß einigen Ausführungsformen veranschaulicht.
    • 4 ist eine Tabelle, die ein beispielhaftes Mapping zwischen dem Registerwert und der zusätzlichen nicht-flüchtigen Speicherzellenposition gemäß einigen Ausführungsformen veranschaulicht.
    • 5a und 5b veranschaulichen beispielhafte Stromausfall- und Wiederherstellungsoperationen im Zusammenhang mit dem schnellen Register-Backup-System gemäß einigen Ausführungsformen.
    • 6 ist ein Flussdiagramm, das ein Beispiel eines kombinierten Wiederherstellungs- und Backup-Verfahrens gemäß einigen Ausführungsformen veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG:
  • Die folgende Offenbarung stellt viele verschiedene Ausführungsformen oder Beispiele zum Implementieren verschiedener Merkmale des hierin erläuterten Gegenstandes bereit. Im Folgenden werden konkrete Beispiele von Komponenten und Anordnungen beschrieben, um die vorliegende Offenbarung zu vereinfachen. Diese sind natürlich nur Beispiele und dienen nicht der Einschränkung. Beispielsweise können Bezugszeichen in den verschiedenen Beispielen der vorliegenden Offenbarung wiederholt werden. Diese Wiederholung dient dem Zweck der Einfachheit und Klarheit und schreibt nicht an sich eine Beziehung zwischen den verschiedenen Ausführungsformen und/oder Konfigurationen vor, die hierin diskutiert sind.
  • Des Weiteren können räumlich relative Begriffe wie zum Beispiel „unterhalb“, „unter“, „unten“, „oberhalb“, „über“, „oben“ und dergleichen im vorliegenden Text zur Vereinfachung der Beschreibung verwendet werden, um die Beziehung eines Elements oder Merkmals zu einem oder mehreren anderen Elementen oder Merkmalen wie in den Zeichnungen veranschaulicht zu beschreiben. Die räumlich relativen Begriffe sollen auch andere Ausrichtungen der Vorrichtung während Benutzung oder Betrieb neben der in den Zeichnungen gezeigten Ausrichtung umfassen. Die Vorrichtung kann auch anders ausgerichtet sein (um 90 Grad gedreht, oder sonstige Ausrichtungen), und die im vorliegenden Text verwendeten räumlich relativen Deskriptoren können ebenfalls entsprechend interpretiert werden.
  • Im Allgemeinen verwenden Computersysteme Register zum Speichern kleiner Datenmengen, auf die die Prozessoren schnell zugreifen sollen. Register werden normalerweise anhand der Anzahl der Bits gemessen, die sie speichern können, zum Beispiel 4-Bit-Register, 8-Bit-Register usw. Computersysteme können mehrere verschiedene Arten von Registern verwenden, einschließlich beispielsweise Adressregister, benutzerzugängliche Register, Statusregister, Allzweckregister, Instruktionsregister, Speicherpufferregister, Speicherdatenregister und Spezialregister. Register sind in der Regel flüchtig, können aber manchmal auch nicht-flüchtig sein.
  • Flüchtiger Speicher ist eine Art von Computerspeicher, der Strom zum Beibehalten der gespeicherten Informationen benötigt. Flüchtiger Speicher behält Daten bei, während er eingeschaltet ist, aber wenn die Stromversorgung unterbrochen wird, so gehen die gespeicherten Daten verloren. Im Gegensatz dazu sind nicht-flüchtige Speicherschaltkreise, zu denen beispielsweise Flash, Register-RAM, magnetischer RAM, Efuse-RAM und Antifuse-RAM gehören, dafür ausgelegt, Daten zu speichern, indem sie einen Zustand (zum Beispiel eine bestimmte elektrische Ladung) annehmen, der durch den Stromausfall des nicht-flüchtigen Speicherschaltkreises nicht beeinträchtigt wird. Nicht-flüchtiger Speicher kann daher zum Backup wichtiger Daten verwendet werden, die in der Regel in dem flüchtigen Speicher gespeichert sind, um vor Datenverlust zu schützen. Im Fall von Computersystemen mit flüchtigen Registern besteht die Notwendigkeit, ein Backup der Registerdaten in dem nicht-flüchtigen Speicher vorzunehmen, um die Daten im Fall eines Stromausfallereignisses nicht zu verlieren.
  • Wenn die Computersysteme einen Stromausfall erleiden, oder wenn die Stromversorgung instabil wird, so wird in der Regel der begrenzte Reststrom zum Aufzeichnen des Registerprotokolls oder zum Backup des Registerprotokolls in nicht-flüchtigen Speicherzellen verwendet. Das kann bedeuten, dass nur ein kurzer Zeitraum zur Verfügung steht, um die nicht-flüchtigen Speicherzellen zu aktualisieren. Wenn zum Beispiel ein flüchtiges 4-Bit-Register verwendet wird, dann muss bei einem Stromausfall jedes der 4 Bits in einem nicht-flüchtigen Speicher aufgezeichnet werden, um die Registerdaten beizubehalten. Die verfügbare Energie kann jedoch begrenzt sein und reicht möglicherweise nicht aus, um die Backup-Operation für alle Registerdatenbits zu vollenden. Daher kann es je nach dem Volumen der Registerdatenbits vorkommen, dass die Computervorrichtung letztendlich nicht in der Lage ist, die Backup-Operation zu vollenden.
  • Offenbarte Ausführungsformen stellen ein Verfahren bereit, Daten schneller und zuverlässiger zu sichern („Backup“). In einer Ausführungsform wird ein zusätzlicher nicht-flüchtiger Speicher hinzugefügt, und jede Zellennummer oder Zellenposition in dem zusätzlichen nicht-flüchtigen Speicher entspricht jeweils einem Registerdatenwortwert. Zunächst werden die Datenbits in dem zusätzlichen nicht-flüchtigen Speicher auf den gleichen Wert zurückgesetzt, zum Beispiel alles Nullen oder alles Einsen. Bei einem Stromausfall wird eine Zellennummer oder Zellenposition gefunden, die dem Datenwert des Registers entspricht, und die Daten an dieser Zellenposition werden invertiert. Wenn die Stromversorgung wiederhergestellt ist, so können die Datenbits des zusätzlichen nicht-flüchtigen Speichers durchsucht werden, um die dem inversen Wert entsprechende Zellennummer oder Zellenposition zu erhalten. Dementsprechend kann die erhaltene Zellennummer oder Zellenposition verwendet werden, um den entsprechenden Wortwert zu identifizieren, der dann im Moment der Wiederherstellung der Stromversorgung zum Wiederherstellen des Registerdatenwertes verwendet wird.
  • 1 ist ein Blockdiagramm, das ein Beispiel eines schnellen Backup-Systems, das nicht-flüchtigen Speicher verwendet, veranschaulicht. In einem Beispiel umfasst die Hardware-Implementierung des schnellen Register-Backup-Systems 100 ein Computersystem 110, das ein Register 112, einen ersten Speicher 114, einen zweiten Speicher 116, eine Schreib-Steuereinheit 118 und eine Wiederaufruf- Steuereinheit 120 umfasst. In einigen Ausführungsformen sind der erste Speicher 114 und der zweite Speicher 116 nicht-flüchtige Speicher, obgleich auch andere Konfigurationen in den Schutzumfang der Offenlegung fallen.
  • In einem Beispiel ist das Register 112 so konfiguriert (eingerichtet), dass es eine kleine Datenmenge speichert, auf die die Prozessoren des Computersystems 110 schnell zugreifen sollen. Die Registergrößen können variieren und werden in der Regel in der Anzahl der Bits gemessen, die in dem Register gespeichert werden können. Zum Beispiel würde ein Register, das n Bits an Information (das heißt ein 4-Bit-Wort) speichert, als ein n-Bit-Register angesehen werden. Die Registergrößen können variieren und können 4-Bit-Register, 8-Bit-Register, 16-Bit-Register, 32-Bit-Register usw. umfassen. Die Registerdaten werden in der Regel als Binärzahlen gespeichert, das heißt Nullen und Einsen. Die Daten können jedoch auch unter Verwendung anderer Systeme, wie zum Beispiel des Hexadezimalsystems, gespeichert werden. In einigen Beispielen kann das Register 112 unter anderem Adressregister, benutzerzugängliche Register, Statusregister, Allzweckregister, Instruktionsregister, Speicherpufferregister, Speicherdatenregister und Spezialregister umfassen. Register sind in der Regel flüchtig, können aber manchmal auch nicht-flüchtig sein. In einem Beispiel ist das Register 112 direkt oder indirekt mit dem ersten nicht-flüchtigen Speicher 114 sowie mit dem zweiten nicht-flüchtigen Speicher 116, einer Schreib-Steuereinheit 118 und einer Wiederaufruf-Steuereinheit 120 verbunden.
  • In einem Beispiel ist der erste Speicher 114 ein nicht-flüchtiger Speicher, der mit dem Register 112 verbunden ist. In anderen Beispielen des schnellen Backup-Systems 100 ist der erste nicht-flüchtige Speicher 114 jedoch möglicherweise nicht mit dem Register 112 verbunden oder ist gar nicht erst in dem Computersystem 110 enthalten. Der erste nicht-flüchtige Speicher 114 wird zum Speichern jeglicher Art von Daten innerhalb des Computersystems 110 verwendet. Das Register 112 kann auf den ersten nicht-flüchtigen Speicher 114 zugreifen, um Daten in das Register 112 selbst zu verschieben, je nachdem, für welche Operationen das Register konfiguriert ist und welche Erfordernisse die Prozessoren zum jeweiligen Zeitpunkt haben. Wenn zum Beispiel der Prozessor, der als Teil des Computersystems 110 konfiguriert ist, Daten verarbeitet, die sich in dem ersten nicht-flüchtigen Speicher 114 befinden, und der Prozessor häufig auf diese Daten zugreifen muss, so können die Daten aus dem ersten nicht-flüchtigen Speicher 114 gezogen und in dem Register 112 gespeichert werden. Nachdem der Prozessor mit der Verarbeitung der Daten fertig ist, kann die Adresse der verarbeiteten Daten aus dem Register 112 entfernt und wieder zurück in dem ersten nicht-flüchtigen Speicher 114 gespeichert werden.
  • In einem Beispiel enthält das schnelle Backup-System 100 einen zweiten nicht-flüchtigen Speicher 116. Der zweite nicht-flüchtige Speicher 116 wird durch das Computersystem 110 zugewiesen, um das Backup der Daten aus dem Register 112 im Fall eines Stromausfalls zu speichern. Die Größe des zweiten nicht-flüchtigen Speichers 116 kann je nach der Größe des Registers 112 variieren. Im Fall eines Binärsystems ist bei einem n-Bit-Register der zweite nicht-flüchtige Speicher 116 2n Bit groß. Im Fall eines 4-Bit-Registers weist das Computersystem 110 beispielsweise 16 Bit nicht-flüchtigen Speicher als zweiten nicht-flüchtigen Speicher 116 zu. Alle Zellen innerhalb des zweiten nicht-flüchtigen Speichers 116 werden auf einen anfänglichen Rücksetzungswert zurückgesetzt. Der anfängliche Rücksetzungswert kann 0 oder 1 sein.
  • In einem Beispiel umfasst das schnelle Backup-System 100 eine oder mehrere Speicher-Steuereinheiten. In der Regel ist eine Speicher-Steuereinheit ein digitaler Schaltkreis, der den Datenfluss zu dem und von dem Speicher des Computers managt, in diesem Fall einschließlich des Registers 112, des ersten nicht-flüchtigen Speichers 114 und des zweiten nicht-flüchtigen Speichers 116. In einem Beispiel umfasst das schnelle Backup-System 100 eine Schreib-Steuereinheit 118 und einen Wiederaufruf-Steuereinheit 120.
  • In einem Beispiel umfasst die Steuereinheit eine Schreib-Steuereinheit 118 und eine Wiederaufruf-Steuereinheit 120. Die Schreib-Steuereinheit 118 wird verwendet, um zu prüfen, ob das Register 112 aktualisierte Daten enthält, die gesichert werden sollen. Darüber hinaus wird die Schreib-Steuereinheit 118 auch zur Durchführung eines Programmierungsprozesses verwendet, insbesondere zum Setzen der Datenbits in dem zweiten nicht-flüchtigen Speicher 116 bei einem Stromausfall.
  • In einem Beispiel ist die Wiederaufruf-Steuereinheit 120 eingerichtet, das Register 112 mit den gesicherten Daten zu aktualisieren, sobald das Computersystem die Stromversorgung wiederhergestellt hat. Der Prozess des Aktualisierens des Registers 112 kann umfassen: Durchsuchen des zweiten nicht-flüchtigen Speichers 116 zum Zweck des Identifizierens einer Zelle mit einem zuvor festgelegten Wert oder Indikator, umgekehrtes Abbilden der Zelle mit der identifizierten Zelle auf den Datenwert des Registers vor dem Stromausfall, und Aktualisieren des Registers 116 mit dem wiederhergestellten Datenwert. Der Prozess des Abbildens und umgekehrten Abbildens der zusätzlichen nicht-flüchtigen Speicherzelle auf den Datenwert des Registers wird in Bezug auf 4 ausführlich beschrieben.
  • 2 ist ein Flussdiagramm 200, das ein Beispiel eines Backup-Verfahrens unter Verwendung eines schnellen Backup-Systems während eines Stromausfallereignisses veranschaulicht. Zu Beginn, während der beispielhaften Operation 210, detektiert das schnelle Backup-System 100 ein Stromausfallereignis. Ein Stromausfallereignis kann jede Unterbrechung der Stromversorgung des Computersystems 110, einschließlich eines vollständigen Stromausfalls des Computersystems 110 oder einer Instabilität der Stromversorgung des Computersystems 110, umfassen. In der beispielhaften Operation 220 überprüft die Schreib-Steuereinheit 118 beim Detektieren eines Stromausfallereignisses die Daten in dem Register 112, um festzustellen, ob die Registerdaten Aktualisierungen erfahren haben, die von einem Backup profitieren würden.
  • In der beispielhaften Operation 230 analysiert die Schreib-Steuereinheit 118 die Registerdaten, nachdem er auf der Grundlage der Operation 220 bestimmt hat, dass es Aktualisierungen der Registerdaten gegeben hat, die gesichert werden sollen, und bestimmt den mit den Registerdaten verknüpften Wortwert. In einem Beispiel kann der Wortwert von n Datenbits das dezimale Äquivalent der n Bits zusammen sein. Zum Beispiel wäre für ein 4-Bit-Register, das ein 4-Bit-Wort mit den folgenden binären Bits enthält: „1001“ (4. Bit: 1; 3. Bit: 0; 2. Bit: 0 und 1. Bit 1) ein beispielhafter Wortwert 9. Der Wortwert des Registers wird in Operation 230 bestimmt, um die zusätzliche nicht-flüchtige Speicherzelle zu identifizieren, die in dem Backup-Prozess verwendet werden würde. Eine beispielhafte Abbildung zwischen dem Wortwert der Registerdaten und der nicht-flüchtigen Speicherzelle, in der die Registerdaten gesichert werden, wird in Bezug auf 4 ausführlicher besprochen.
  • In der beispielhaften Operation 240 wird die identifizierte zweite nicht-flüchtige Speicherzelle, die dem Wortwert der Registerdaten entspricht, auf den Sollwert gesetzt. In dem veranschaulichten Beispiel ist der Sollwert ein Invers des anfänglichen Rücksetzungswertes, auf den alle nicht-flüchtigen Speicherzellen gesetzt werden. Wenn im Fall eines binären Systems jede der Zellen des zweiten nicht-flüchtigen Speichers 116 auf einen anfänglichen Rücksetzungswert von 1 gesetzt wird, dann wird die auf den Registerwortwert abgebildete Zelle auf einen Sollwert von 0, das Invers des anfänglichen Rücksetzungswertes von 1, gesetzt, wenn die Registerdaten gesichert werden. Wenn der anfängliche Rücksetzungswert auf 0 gesetzt wird, so ist der Sollwert, der das Invers des anfänglichen Rücksetzungswertes ist, ebenfalls 1. Der anfängliche Rücksetzungswert des zusätzlichen nicht-flüchtigen Speichers kann in einem Binärsystem entweder 0 oder 1 sein. Der Backup-Prozess ist so konfiguriert, dass die zusätzliche nicht-flüchtige Speicherzelle so markiert wird, dass der Wortwert des Registers 112 leicht identifiziert werden kann.
  • Da jeder mögliche mit den Registerdaten verknüpfte Wortwert auf eine entsprechende der Zellen des zweiten nicht-flüchtigen Speichers 116 abgebildet wird, braucht nur ein einziges Bit des zweiten nicht-flüchtigen Speichers 116 gesetzt zu werden, um die Registerdaten vollständig zu sichern. In diesem Fall spielt die Größe des Registers keine Rolle. Unabhängig von der Größe des Registers braucht nur ein einziges Bit gesetzt zu werden, um die Registerdaten mit Hilfe des schnellen Backup-Systems zu sichern. Durch die Aktualisierung nur eines einzigen Bits während des Backup-Prozesses ist das schnelle Backup-System schneller als herkömmliche Backup-Verfahren, bei denen jedes Bit des Registers gesichert werden muss. Somit sollen in einem traditionellen Backup-System bei einem 4-Bit-Register 4 Bits von nicht-flüchtigem Speicher aktualisiert werden; bei einem 8-Bit-Register sollen 8 Bits von nicht-flüchtigem Speicher aktualisiert werden, und so weiter. Da das schnelle Backup-System nur 1 Bit benötigt, um während eines Stromausfallereignisses aktualisiert zu werden, ist das schnelle Backup-System auch zuverlässiger, weil eine erhöhte Wahrscheinlichkeit besteht, dass der Backup-Prozess vor dem vollständigen Stromausfall abgeschlossen werden kann.
  • Nach Vollendung von Operation 240 ist der schnelle Backup-Prozess in Operation 250 abgeschlossen und das schnelle Backup-Verfahren während des Stromausfalls 200 ist beendet. Wenn die Schreib-Steuereinheit 118 bestimmt, dass das Register noch nicht aktualisiert wurde und/oder die Registerdaten nicht gesichert werden sollen, so endet das schnelle Backup-Verfahren während des Stromausfalls 200 ebenfalls in Operation 250. Schritt 250 schließt den Backup-Prozess ab, der beim Detektieren eines Stromausfallereignisses initiiert wird.
  • 3 ist ein Flussdiagramm 300, das ein Beispiel eines Verfahren zur Wiederherstellung von Daten während eines Einschaltereignisses veranschaulicht. Zu Beginn, während der beispielhaften Operation 310, detektiert das schnelle Backup-System 100 ein Stromausfallereignis. Das Einschaltereignis kann die Wiederherstellung der Stromversorgung des schnellen Backup-Systems 100 nach einem Zeitraum eines vollständigen Stromausfalls oder die Wiederherstellung einer stabilen Stromversorgung des schnellen Backup-Systems 100 nach einer Zeit der Strominstabilität umfassen.
  • In der beispielhaften Operation 320 durchsucht die Wiederaufruf-Steuereinheit 120 - bei Detektion eines Einschaltereignisses in Operation 310 - den zweiten nicht-flüchtigen Speicher 116 und identifiziert die Zelle, deren Datenwert auf den Sollwert gesetzt ist. Wenn keine der Zellen des zweiten nicht-flüchtigen Speichers 116 auf den Sollwert eingestellt ist, dann wurden die Registerdaten aus einer Reihe von Gründen nicht gesichert, zum Beispiel, weil das Register 112 nicht aktualisiert wurde und somit keine Sicherung erforderlich war, oder weil das schnelle Backup-System 100 nicht genügend Zeit hatte, um den Backup-Prozess zu vollenden. Wenn keine der Zellen des zweiten nicht-flüchtigen Speichers 116 auf den Sollwert eingestellt ist, dann beendet die Wiederaufruf-Steuereinheit das Verfahren zur Wiederherstellung der Registerdaten in Operation 360. Anderenfalls geht die Wiederaufruf-Steuereinheit zur nächsten Operation in dem Flussdiagramm 300 über.
  • In der beispielhaften Operation 330 erhält die Wiederaufruf-Steuereinheit den Wortwert des Registers 112 auf der Grundlage der Zelle in dem zweiten nicht-flüchtigen Speicher 116, die den Sollwert hat, unter Verwendung eines umgekehrten Abbildungsprozesses, der in Bezug auf 4 näher beschrieben ist. Anschließend wird, in der beispielhaften Operation 340, der identifizierte Wortwert des Registers 112 verwendet, um den Datenwert der einzelnen Bits des Registers 112 wiederherzustellen.
  • In der beispielhaften Operation 350 wird, sobald das Register 112 wiederhergestellt ist, der Datenwert aller Zellen des zweiten nicht-flüchtigen Speichers 116 auf den anfänglichen Rücksetzungswert zurückgesetzt. Der Rücksetzungsprozess wird durchgeführt, um die Zellen des zweiten nicht-flüchtigen Speichers 116 für schnelle Backups für den Fall eines weiteren Stromausfallereignisses vorzubereiten. Beim Zurücksetzen des Datenwertes der zusätzlichen nicht-flüchtigen Speicherzellen endet das Verfahren zur Wiederherstellung der Registerdaten in der beispielhaften Operation 360.
  • 4 ist eine Tabelle 400, die eine beispielhafte Abbildung zwischen dem Registerwortwert und der zusätzlichen nicht-flüchtigen Speicherzellenposition für ein 4-Bit-Register veranschaulicht. In einem Binärsystem kann jedes Datenbit einen Datenwert von 0 oder 1 haben. Für 4 Datenbits (das heißt 4-Bit-Worte) können die Datenwerte von „0000“ bis „1111“ reichen. Insgesamt gibt es für 4 Datenbits 24 oder 16 mögliche Kombinationen von Wortwerten. Ein 8-Bit-Register umfasst mindestens 256 mögliche Kombinationen von Wortwerten und kann daher mindestens 256 zusätzliche nicht-flüchtige Speicherzellen erfordern. In ähnlicher Weise umfasst ein 16-Bit-Register mindestens 65536 mögliche Kombinationen von Wortwerten und kann daher mindestens 65536 zusätzliche nicht-flüchtige Speicherzellen erfordern.
  • Für das aktuelle Beispiel eines 4-Bit-Registers sind alle 16 möglichen Wortwerte auf der linken Seite der Tabelle unter „4-Bit-Registerwortwert“ 410 aufgelistet. Die entsprechenden 16 zusätzlichen nicht-flüchtigen Speicherzellenpositionen 420, die auf jeden der auf der linken Seite der Tabelle aufgeführten Wortwerte abgebildet sind, sind in der entsprechenden Zelle auf der rechten Seite der Tabelle aufgelistet. Zum Beispiel wird der Wortwert 1001 auf die Zellenposition „9“ abgebildet. In der beispielhaften Abbildungstabelle 400 wird jeder Wortwert 410 auf eine Zellposition 420 abgebildet, die dem dezimalen Äquivalent des Wortwerts selbst entspricht. Mit anderen Worten: „0000“ wird auf „0“ abgebildet, „0011“ wird auf „3“ abgebildet, „1101“ wird auf „13“ abgebildet, und so weiter. Das Abbilden zwischen dem Registerwortwert und der zusätzlichen nicht-flüchtigen Zellenposition braucht jedoch nicht den äquivalenten Dezimalwerten wie in dem Beispiel zu entsprechen. Zum Beispiel kann „0000“ auf „15“ abgebildet werden, oder „0000“ kann auf „2“ oder jede andere Zellenposition abgebildet werden, solange die Abbildungsinformationen gespeichert sind und bei Bedarf durch das schnelle Backup-System 100 abgerufen und verwendet werden können. Während des Einschaltens kann dieselbe Abbildungstabelle 400 verwendet werden, um die Zellenposition des zusätzlichen nicht-flüchtigen Speichers mit dem Sollwert auf den Wortwert des Registers umgekehrt abzubilden.
  • 5a und 5b veranschaulichen eine beispielhafte Stromausfalloperation 500 und eine beispielhafte Einschaltoperation 600 im Zusammenhang mit dem schnellen Backup eines 4-Bit-Registers, wobei das Register einen Wortwert von „1010“ hat. Genauer gesagt, veranschaulicht 5a den Registerwortwert 512, 522 und die entsprechende zusätzliche nicht-flüchtige Zellennummer 514, 524 und den Zellendatenwert 516, 526, wie er vor dem Stromausfall 510 und beim Detektieren des Stromausfalls 520 vorliegt. Vor dem Stromausfall 510 ist der Registerwortwert 512 „1010“. Die 16 zusätzlichen nicht-flüchtigen Speicherzellen, die dem 4-Bit-Register entsprechen, werden für dieses Beispiel alle auf einen anfänglichen Rücksetzungswert von „1“ zurückgesetzt. In anderen Beispielen kann der anfängliche Rücksetzungswert „0“ anstelle von „1“ sein.
  • In diesem Beispiel werden die Registerwortwerte auf die entsprechenden zusätzlichen nicht-flüchtigen Zellen mit einer Zellennummer oder -position abgebildet, die das dezimale Äquivalent des Registerwortwertes ist. Wie oben in Bezug auf 4 besprochen, kann das Abbildungsregime in verschiedenen Beispielen unterschiedlich sein. Bei einem Stromausfall 520 verliert der Registerwortwert 522 seinen Datenwert. Das schnelle Backup-System 100 verwendet das Abbildungsregime, um die Zellennummer 524 zu finden, die dem dezimalen Äquivalent des Registerwortwertes „1010“ entspricht. In diesem Fall ist das dezimale Äquivalent von „1010“ „10“. Daher wird der Datenwert der zusätzlichen nicht-flüchtigen Speicherzellennummer „10“ von dem anfänglichen Rücksetzungswert „1“ auf den Sollwert „0“ geändert. Der Datenwert der restlichen Zellen in dem zusätzlichen nicht-flüchtigen Speicher bleibt auf „1“.
  • 5b veranschaulicht den Registerwortwert 612, 622 und die entsprechende zusätzliche nicht-flüchtige Zellennummer 614, 624 und den Zellendatenwert 616, 626, wie er zum Zeitpunkt der Wiederherstellung der Stromversorgung 610 und nach Abschluss der Wiederherstellung des Registerdatenwertes 620 vorliegt. Bei Wiederherstellung der Stromversorgung 610 ist der Registerwortwert 612 leer, weil das Register seinen Datenwert bei dem Stromausfall verloren hat und immer noch auf seine Wiederherstellung wartet. In ähnlicher Weise ist die Zellennummer „10“ des zusätzlichen nicht-flüchtigen Speichers bei Wiederherstellung der Stromversorgung 610 immer noch auf „0“.
  • Nachdem eine Wiederherstellung der Stromversorgung detektiert wurde, durchsucht das schnelle Backup-System 100 mit Hilfe der Wiederaufruf-Steuereinheit 120 die Zellen des zusätzlichen nicht-flüchtigen Speichers nach einer Zelle, deren Datenwert auf den Sollwert „0“ gesetzt ist. In diesem Fall wird die Zellennummer „10“ der zusätzlichen nicht-flüchtigen Speicherzellen als die Zelle mit dem Datenwert 616 von „0“ identifiziert. Die Wiederaufruf-Steuereinheit 120 konvertiert dann die Zellennummer unter Verwendung eines Umkehrabbildungsverfahrens, das in Bezug auf 4 besprochen wurde, um den Wortwert zu identifizieren, der der identifizierten Zellennummer entspricht. In diesem Beispiel wird die identifizierte Zellennummer „10“ so bestimmt, dass sie dem Wortwert „1010“ entspricht, und der Registerwortwert 622 wird entsprechend wiederhergestellt. Nachdem der Registerwortwert 622 auf seinen ursprünglichen Wert wiederhergestellt wurde, wird „1010“, der Datenwert aller Zellen in dem zusätzlichen nicht-flüchtigen Speicher 626, auf den anfänglichen Rücksetzungswert „1“ zurückgesetzt. Somit werden zum Zeitpunkt 620 das Register 622 und die zusätzlichen nicht-flüchtigen Speicherzellen 626 vollständig auf ihre ursprünglichen Werte, wie sie am Zeitpunkt 510 existierten, zurückgesetzt.
  • 6 veranschaulicht ein weiteres beispielhaftes Verfahren 700, das Aspekte der in den 2 und 3 besprochenen Verfahren kombiniert. In Operation 310 detektiert das schnelle Backup-System 100 ein Stromausfallereignis. Das Einschaltereignis kann die Wiederherstellung der Stromversorgung des schnellen Backup-Systems 100 nach einem Zeitraum eines vollständigen Stromausfalls oder die Wiederherstellung einer stabilen Stromversorgung des schnellen Backup-Systems 100 nach einer Zeit der Strominstabilität umfassen.
  • Beim Detektieren eines Einschaltereignisses in Operation 310 durchsucht die Wiederaufruf-Steuereinheit 120 den zweiten nicht-flüchtigen Speicher 116 und identifiziert die Zelle, deren Datenwert auf den Sollwert gesetzt ist. In der beispielhaften Operation 330 erhält die Wiederaufruf-Steuereinheit den Wortwert des Registers 112 auf der Grundlage der Zelle in dem zweiten nicht-flüchtigen Speicher 116, die den Sollwert hat, unter Verwendung eines Umkehrabbildungsverfahrens, wie zum Beispiel das, das in Verbindung mit 4 beschrieben wurde. Anschließend wird, in der beispielhaften Operation 340, der identifizierte Wortwert des Registers 112 verwendet, um den Datenwert der einzelnen Bits des Registers 112 wiederherzustellen.
  • In der beispielhaften Operation 350 wird, sobald das Register 112 wiederhergestellt ist, der Datenwert aller Zellen des zweiten nicht-flüchtigen Speichers 116 auf den anfänglichen Rücksetzungswert zurückgesetzt. Der Rücksetzungsprozess wird durchgeführt, um die Zellen des zweiten nicht-flüchtigen Speichers 116 für schnelle Backups für den Fall eines weiteren Stromausfallereignisses vorzubereiten. Beim Zurücksetzen des Datenwertes der zusätzlichen nicht-flüchtigen Speicherzellen endet das Verfahren zur Wiederherstellung der Registerdaten in der beispielhaften Operation 360.
  • In Operation 210 detektiert das schnelle Backup-System 100 ein Stromausfallereignis. Ein Stromausfallereignis kann jede Unterbrechung der Stromversorgung des Computersystems 110, einschließlich eines vollständigen Stromausfalls des Computersystems 110 oder einer Instabilität der Stromversorgung des Computersystems 110, umfassen. In der beispielhaften Operation 220 überprüft die Schreib-Steuereinheit 118 beim Detektieren eines Stromausfallereignisses die Daten in dem Register 112, um festzustellen, ob die Registerdaten Aktualisierungen erfahren haben, die von einem Backup profitieren würden.
  • In der beispielhaften Operation 230 analysiert die Schreib-Steuereinheit 118 die Registerdaten, nachdem er auf der Grundlage der Operation 220 bestimmt hat, dass es Aktualisierungen der Registerdaten gegeben hat, die gesichert werden sollen, und bestimmt den mit den Registerdaten verknüpften Wortwert. In einem Beispiel kann der Wortwert von n Datenbits das dezimale Äquivalent der n Bits zusammen sein. Der Wortwert des Registers wird in Operation 230 bestimmt, um die zusätzliche nicht-flüchtige Speicherzelle zu identifizieren, die in dem Backup-Prozess verwendet werden würde.
  • In der beispielhaften Operation 240 wird die identifizierte zweite nicht-flüchtige Speicherzelle, die dem Wortwert der Registerdaten entspricht, auf den Sollwert gesetzt. In dem veranschaulichten Beispiel ist der Sollwert ein Invers des anfänglichen Rücksetzungswertes, auf den alle nicht-flüchtigen Speicherzellen gesetzt werden. Wenn im Fall eines binären Systems jede der Zellen des zweiten nicht-flüchtigen Speichers 116 auf einen anfänglichen Rücksetzungswert von 1 gesetzt wird, dann wird die auf den Registerwortwert abgebildete Zelle auf einen Sollwert von 0, das Invers des anfänglichen Rücksetzungswertes von 1, gesetzt, wenn die Registerdaten gesichert werden. Wenn der anfängliche Rücksetzungswert auf 0 gesetzt wird, so ist der Sollwert, der das Invers des anfänglichen Rücksetzungswertes ist, ebenfalls 1. Der anfängliche Rücksetzungswert des zusätzlichen nicht-flüchtigen Speichers kann in einem Binärsystem entweder 0 oder 1 sein. Der Backup-Prozess ist so konfiguriert, dass die zusätzliche nicht-flüchtige Speicherzelle so markiert wird, dass der Wortwert des Registers 112 leicht identifiziert werden kann.
  • Da jeder mögliche mit den Registerdaten verknüpfte Wortwert auf eine entsprechende der Zellen des zweiten nicht-flüchtigen Speichers 116 abgebildet wird, braucht nur ein einziges Bit des zweiten nicht-flüchtigen Speichers 116 auf den Sollwert gesetzt zu werden, um die Registerdaten vollständig zu sichern. In diesem Fall spielt die Größe des Registers keine Rolle. Unabhängig von der Größe des Registers braucht nur ein einziges Bit gesetzt zu werden, um die Registerdaten mit Hilfe des schnellen Backup-Systems zu sichern. Durch die Aktualisierung nur eines einzigen Bits während des Backup-Prozesses ist das schnelle Backup-System schneller als herkömmliche Backup-Verfahren, bei denen jedes Bit des Registers gesichert werden muss. Somit sollen in einem traditionellen Backup-System bei einem 4-Bit-Register 4 Bits von nicht-flüchtigem Speicher aktualisiert werden; bei einem 8-Bit-Register sollen 8 Bits von nicht-flüchtigem Speicher aktualisiert werden, und so weiter. Da das schnelle Backup-System nur 1 Bit benötigt, um während eines Stromausfallereignisses aktualisiert zu werden, ist das schnelle Backup-System auch zuverlässiger, weil eine erhöhte Wahrscheinlichkeit besteht, dass der Backup-Prozess vor dem vollständigen Stromausfall abgeschlossen werden kann.
  • Das Verfahren kehrt dann zu Operation 310 zurück, um ein Einschalten zu erfassen. Wenn die Schreib-Steuereinheit 118 bestimmt, dass das Register in Operation 220 nicht aktualisiert wurde und/oder die Registerdaten nicht gesichert werden sollen, dann kehrt das schnelle Backup-Verfahren während des Stromausfalls 200 ebenfalls zu Operation 310 zurück, um ein Einschaltereignis zu bestimmen.
  • Gemäß einigen Ausführungsformen wird ein Verfahren zum schnellen Backup von Registerwerten bei Stromausfall offenbart. Das Verfahren umfasst das Bereitstellen eines Registers, das so konfiguriert ist, dass es mehrere Wörter speichert, und das Bereitstellen eines nicht-flüchtigen Speichers, der mehrere Zellen aufweist, wobei jede Zelle einem der Wörter des Registers entspricht. Jede Zelle von nicht-flüchtigem Speicher wird auf einen anfänglichen Rücksetzungswert gesetzt. In Reaktion auf das Detektieren eines Stromausfalls wird das durch das Register gespeicherte Wort bestimmt, und der anfängliche Rücksetzungswert der Zelle des nicht-flüchtigen Speichers, die dem durch das Register gespeicherten, bestimmten Wort entspricht, wird auf einen Sollwert geändert.
  • Gemäß weiteren Ausführungsformen wird ein Verfahren zur schnellen Rückgewinnung und Wiederherstellung der Registerwerte bei Wiederherstellung der Stromversorgung offenbart. Das Verfahren umfasst das Bereitstellen eines Registers, das so konfiguriert ist, dass es mehrere Wörter speichert, und das Bereitstellen eines nicht-flüchtigen Speichers, der mehrere Zellen aufweist, wobei jede Zelle einem der Wörter des Registers entspricht. In Reaktion auf das Detektieren einer Wiederherstellung der Stromversorgung nach einem Stromausfall wird die Zelle, die einen Sollwert hat, identifiziert, und das der identifizierten Zelle entsprechende Wort wird in das Register geschrieben. Die Zellen des nicht-flüchtigen Speichers werden dann auf einen anfänglichen Rücksetzungswert zurückgesetzt.
  • Gemäß anderen Ausführungsformen wird ein System zum schnellen Backup und Wiederherstellen von Registerwerten bei Stromausfall und anschließender Wiederherstellung der Stromversorgung offenbart. Das System umfasst einen ersten Speicher, der zum Speichern von Daten konfiguriert ist, und ein Register, das zum Speichern mehrerer Wörter konfiguriert ist. Das Register ist so konfiguriert, dass es die Daten aus dem ersten Speicher empfängt und die Daten als eines von mehreren Wörtern speichert. Ein zweiter nicht-flüchtiger Speicher hat mehrere Zellen. Jedes der mehreren Wörter hat eine entsprechende Zelle des Registers, und jede Zelle der mehreren Zellen wird auf einen anfänglichen Rücksetzungswert zurückgesetzt. Eine Steuereinheit ist so konfiguriert, dass er als Reaktion auf einen Stromausfall das eine der mehreren Wörter bestimmt, das in dem Register gespeichert ist, und den anfänglichen Rücksetzungswert der entsprechenden Zelle des Registers auf einen Sollwert ändert. In Reaktion auf eine Wiederherstellung der Stromversorgung ist die Steuereinheit eingerichtet, die entsprechende Zelle des zweiten nicht-flüchtigen Speichers, die den Sollwert aufweist, identifiziert, das eine der Wörter der identifizierten entsprechenden Zelle in das Register schreibt, und die identifizierte entsprechende Zelle auf den anfänglichen Rücksetzungswert zurücksetzt.
  • Das oben Dargelegte umreißt Merkmale verschiedener Ausführungsformen, so dass der Fachmann die Aspekte der vorliegenden Offenbarung besser verstehen kann. Dem Fachmann ist klar, dass er die vorliegende Offenbarung ohne Weiteres als Basis für das Entwerfen oder Modifizieren anderer Prozesse und Strukturen verwenden kann, um die gleichen Zwecke und/oder die gleichen Vorteile wie bei den im vorliegenden Text vorgestellten Ausführungsformen zu erreichen. Dem Fachmann sollte auch klar sein, dass solche äquivalenten Bauformen nicht das Wesen und den Schutzumfang der vorliegenden Offenbarung verlassen, und dass er verschiedene Änderungen, Substituierungen und Modifizierungen an der vorliegenden Erfindung vornehmen kann, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen.

Claims (20)

  1. Verfahren umfassend: Bereitstellen eines Registers, das zum Speichern mehrerer Wörter eingerichtet ist; Bereitstellen eines nicht-flüchtigen Speichers, der mehrere Zelle aufweist, wobei jede Zelle einem der Wörter des Registers entspricht; Setzen jeder Zelle des nicht-flüchtigen Speichers auf einen anfänglichen Rücksetzungswert; als Reaktion auf das Detektieren eines Stromausfalls: - Bestimmen des Wortes, das von dem Register gespeichert ist; und - Ändern des anfänglichen Rücksetzungswertes der Zelle des nicht-flüchtigen Speichers, die dem bestimmten Wort entspricht, welches von dem Register gespeichert ist, auf einen Sollwert.
  2. Verfahren nach Anspruch 1, ferner umfassend: als Reaktion auf das Detektieren einer Wiederherstellung der Stromversorgung: - Identifizieren der Zelle, die den Sollwert aufweist; - Schreiben des Wortes, das der identifizierten Zelle entspricht, in das Register; und - Zurücksetzen der Zellen des nicht-flüchtigen Speichers auf den anfänglichen Rücksetzungswert.
  3. Verfahren nach Anspruch 1 oder 2, wobei, als Reaktion auf das Detektieren des Stromausfalls, jede Zelle des nicht-flüchtigen Speichers durch eine Wiederaufruf-Steuereinheit auf den Anfangswert gesetzt wird.
  4. Verfahren nach einem der vorangehenden Ansprüche, wobei jedes der mehreren Wörter n Bits enthält und wobei n eine ganze Zahl gleich oder größer als 0 ist.
  5. Verfahren nach Anspruch 4, wobei die mehreren Wörter 2n Wörter enthalten.
  6. Verfahren nach Anspruch 4, wobei die mehreren Zellen 2n Zellen enthalten.
  7. Verfahren nach einem der vorangehenden Ansprüche, ferner umfassend: Bestimmen, ob das Register seit dem Detektieren des Stromausfalls aktualisiert wurde.
  8. Verfahren nach einem der Ansprüche 2 bis 7, wobei die Zellen des nicht-flüchtigen Speichers durch eine Schreib-Steuereinheit auf den anfänglichen Rücksetzungswert zurückgesetzt werden.
  9. Verfahren umfassend: Bereitstellen eines Registers, das zum Speichern mehrerer Wörter eingerichtet ist; Bereitstellen eines nicht-flüchtigen Speichers, der mehrere Zelle aufweist, wobei jede Zelle einem der Wörter des Registers entspricht; als Reaktion auf Detektieren einer Wiederherstellung von Stromversorgung nach einem Stromausfall: - Identifizieren der Zelle, die einen Sollwert aufweist; - Schreiben des Wortes, das der identifizierten Zelle entspricht, in das Register; und - Zurücksetzen der Zellen des nicht-flüchtigen Speichers auf den anfänglichen Rücksetzungswert.
  10. Verfahren nach Anspruch 9, ferner umfassend: als Reaktion auf Detektieren eines Stromausfalls: - Bestimmen des Wortes, das von dem Register gespeichert ist; - Ändern des anfänglichen Rücksetzungswertes der Zelle des nicht-flüchtigen Speichers, die dem bestimmten Wort entspricht, welches von dem Register gespeichert ist, auf den Sollwert.
  11. Verfahren nach Anspruch 9 oder 10, wobei die Zellen des nicht-flüchtigen Speichers durch eine Schreib-Steuereinheit auf den anfänglichen Rücksetzungswert zurückgesetzt werden.
  12. Verfahren nach einem der Ansprüche 9 bis 11, wobei jedes der mehreren Wörter n Bits enthält, und wobei die mehreren Wörter 2n Wörter enthalten und die mehreren Zellen 2n Zellen enthalten.
  13. Verfahren nach einem der Ansprüche 9 bis 12, ferner umfassend: Identifizieren, dass das Register seit dem Stromausfall aktualisiert wurde.
  14. Verfahren nach einem der Ansprüche 10 bis 13, wobei, als Reaktion auf das Detektieren des Stromausfalls, jede Zelle des nicht-flüchtigen Speichers durch eine Wiederaufruf-Steuereinheit auf den Anfangswert gesetzt wird.
  15. System aufweisend: einen ersten Speicher, der zum Speichern von Daten eingerichtet ist; ein Register, das zu Speichern von mehreren Wörtern eingerichtet ist, wobei das Register zum Empfangen der Daten aus dem ersten Speicher und zum Speichern der Daten als eines der mehreren Wörter eingerichtet ist; einen zweiten nicht-flüchtigen Speicher, der mehrere Zelle aufweist, wobei jedes der mehreren Wörter eine jeweilige Zelle des Registers aufweist, wobei jede Zelle der mehreren Zellen auf einen anfänglichen Rücksetzungswert gesetzt ist; eine Steuereinheit, die eingerichtet ist, als Reaktion auf einen Stromausfall: - das eine der mehreren Wörter zu bestimmen, welches von dem Register gespeichert ist; und - den anfänglichen Rücksetzungswerts der entsprechenden Zelle des Registers auf einen Sollwert zu ändern; und wobei die Steuereinheit eingerichtet ist, als Reaktion auf eine Wiederherstellung der Stromversorgung: - die entsprechende Zelle des zweiten nicht-flüchtigen Speichers zu identifizieren, die den Sollwert aufweist; - das eine der Wörter der identifizierten entsprechenden Zelle in das Register zu schreiben; und - die identifizierte entsprechende Zelle auf den anfänglichen Rücksetzungswert zurückzusetzen.
  16. System nach Anspruch 15, wobei die Steuereinheit ferner eingerichtet ist, als Reaktion auf das Detektieren der Wiederherstellung der Stromversorgung, das eine der Wörter der identifizierten entsprechenden Zelle in den ersten Speicher zu schreiben.
  17. System nach Anspruch 15 oder 16, wobei jedes der mehreren gespeicherten Wörter n Bits enthält, wobei n eine ganze Zahl gleich oder größer als 0 ist, wobei die mehreren Wörter 2n Wörter enthalten, und wobei der zweite nicht-flüchtige Speicher 2 n Zellen enthält.
  18. System nach einem der Ansprüche 15 bis 17, wobei der erste Speicher ein nicht-flüchtiger Speicher ist.
  19. System nach einem der vorangehenden Ansprüche 15 bis 18, wobei die Steuereinheit aufweist: eine Wiederaufruf-Steuereinheit, die eingerichtet ist, als Reaktion auf den Stromausfall den anfänglichen Rücksetzungswert der entsprechenden Zelle des Registers auf den Sollwert zu ändern; und eine Schreib-Steuereinheit, die eingerichtet ist, die entsprechende Zelle des zweiten nicht-flüchtigen Speichers, welche den Sollwert aufweist, zu identifizieren und als Reaktion auf die Wiederherstellung der Stromversorgung das eine der Wörter der identifizierten entsprechenden Zelle in das Register zu schreiben.
  20. System nach Anspruch 19, wobei die Schreib-Steuereinheit ferner eingerichtet ist, zu identifizieren, ob das Register seit dem Stromausfall aktualisiert wurde.
DE102020123125.3A 2019-09-30 2020-09-04 Backup und wiederherstellung von registerdaten Pending DE102020123125A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962908016P 2019-09-30 2019-09-30
US62/908,016 2019-09-30
US17/010,058 2020-09-02
US17/010,058 US11295792B2 (en) 2019-09-30 2020-09-02 Back-up and restoration of register data

Publications (1)

Publication Number Publication Date
DE102020123125A1 true DE102020123125A1 (de) 2021-04-01

Family

ID=74873128

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020123125.3A Pending DE102020123125A1 (de) 2019-09-30 2020-09-04 Backup und wiederherstellung von registerdaten

Country Status (2)

Country Link
CN (1) CN112579349A (de)
DE (1) DE102020123125A1 (de)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004080451A (ja) * 2002-08-20 2004-03-11 Nec Commun Syst Ltd ホームロケーションレジスタ位置情報復旧方法
US8032787B2 (en) * 2004-09-02 2011-10-04 Intel Corporation Volatile storage based power loss recovery mechanism
CN103150125B (zh) * 2013-02-20 2015-06-17 郑州信大捷安信息技术股份有限公司 提高掉电保护数据缓冲存储器使用寿命的方法及智能卡
CN107615387B (zh) * 2015-06-19 2021-12-21 爱德斯托科技有限公司 存储器装置和控制存储器装置中的超深掉电模式的方法
US10268578B1 (en) * 2017-09-29 2019-04-23 Intel Corporation Data preservation and recovery in a memory component
KR102485812B1 (ko) * 2017-12-19 2023-01-09 에스케이하이닉스 주식회사 메모리 시스템과 메모리 시스템의 동작방법 및 메모리 시스템을 포함하는 데이터 처리 시스템
CN109885343B (zh) * 2019-02-25 2022-03-29 深圳忆联信息系统有限公司 一种控制器低功耗启动方法、装置、计算机设备及存储介质
CN110007738B (zh) * 2019-03-26 2023-04-21 中国工程物理研究院电子工程研究所 适用于敏感电路的抗瞬时电离辐射复位后运行状态重构方法

Also Published As

Publication number Publication date
CN112579349A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
DE102012204256B4 (de) Verfahren und system zum initiieren eines wiederauffrischungsvorgangs in einer nicht flüchtigen festkörper-speichereinrichtung
DE112007003015B4 (de) Verfahren und Vorrichtung zur Cache-gestützten Fehlerdetektion und -korrektur in einem Speicher
DE2619159C2 (de) Fehlererkennungs- und Korrektureinrichtung
DE2428348C2 (de) Verfahren zur Weiterbenutzung eines fehlerhaften Datenspeichers und Einrichtung zur Durchführung dieses Verfahrens
DE112008000180T5 (de) Verfahren und System für die Umsetzung eines Fast-Wakeup eines Flashspeichersystems
DE102009051862A1 (de) Speichervorrichtung und Speicherverfahren
DE102004007644A1 (de) Vorrichtung und Verfahren zum Komprimieren von Redundanzinformationen für eingebettete Speicher, einschliesslich Cachespeicher, integrierter Schaltungen
CH627580A5 (de) Austauschanordnung zur bereitstellung von austauschadressen fuer den betrieb eines pufferspeichers in einer speicherhierarchie.
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE102009024605A1 (de) Vorrichtung und Verfahren zum Umgehen eines ersten Programmcodeabschnitts mit einem Ersatzprogrammcodeabschnitt
DE102018120315A1 (de) Nichtflüchtige Speichervorrichtung und Betriebsverfahren davon
DE60133522T2 (de) Behandlung des Speicherüberlaufs in einem Datenverarbeitungssystem
DE102021126886A1 (de) Verwaltung des synchronisierten neustarts eines systems
DE202018102304U1 (de) NAND-Flash-Speichervorrichtung mit NAND-Puffer
DE102018124836A1 (de) Neuartiger speicherbaustein
EP0347970B1 (de) Verfahren zum Prüfen eines Festwertspeichers und Anordnung zur Durchführung des Verfahrens
DE102020123125A1 (de) Backup und wiederherstellung von registerdaten
DE102015117996A1 (de) Datenspeichersystem
DE102014006998A1 (de) Korrektur eines programmierbaren Speichers
DE102016202684B4 (de) Datenmanagementvorrichtung und datenmanagementprogramm
DE102005060714B4 (de) Datenverarbeitungsvorrichtung, Speicherkarte, Verfahren zum Betreiben einer Datenverarbeitungsvorrichtung und Herstellungsverfahren für eine Datenverarbeitungsvorrichtung
DE102005060901A1 (de) Verfahren zur Erkennung einer Versorgungsunterbrechung in einem Datenspeicher und zur Wiederherstellung des Datenspeichers
DE102020132371A1 (de) Vorrichtungen, systeme und verfahren zum invalidieren von abgelaufenem speicher
DE102021127286A1 (de) Benachrichtigung über den abschluss einer schreibanforderung als reaktion auf die teilweise härtung von schreibdaten
EP1625592B1 (de) Vorrichtung und verfahren zum behandeln eines zustands eines speichers

Legal Events

Date Code Title Description
R012 Request for examination validly filed