-
HINTERGRUND DER ERFINDUNG
-
GEBIET
-
Beispielhafte Ausführungsformen der vorliegenden Offenbarung beziehen sich auf eine elektronische Vorrichtung und ein Verfahren zum Emulieren eines nichtflüchtigen Speichers, in dem Daten durch Rollback von darin gespeicherten Daten verwaltet werden.
-
ERLÄUTERUNG DES HINTERGRUNDS
-
Ein elektrisch löschbarer programmierbarer ROM (EEPROM) ist ein nichtflüchtiger Speicher, in den und aus dem Daten elektrisch geschrieben bzw. gelöscht werden können.
-
Ein EEPROM wird im Prinzip nur als Speicher für eine Funktion zum Lesen von darin gespeicherten Daten verwendet, wobei der Inhalt für eine relativ lange Zeit gespeichert wird, wenn der Inhalt einmal darin gespeichert ist, oder als Speicher zum Speichern eines eingestellten Wertes, in dem wichtige Daten, die nicht gelöscht werden sollen, auch wenn der Strom abgeschaltet ist, gesichert werden müssen.
-
Der EEPROM hat jedoch die Eigenschaft, dass nur neue Daten gelesen werden, auch wenn eine Vielzahl von Daten im EEPROM gespeichert sind. Daher ist es erforderlich, neue Daten neu hinzuzufügen, ohne Daten zu verwenden, die zuvor im EEPROM gespeichert wurden.
-
Dementsprechend besteht ein Bedarf an einem Schema, das die bestehenden Daten, die zuvor im EEPROM gespeichert wurden, verwenden kann, indem die Lese- und Schreibeigenschaften des EEPROMs genutzt werden.
-
Der Hintergrund der vorliegenden Offenbarung wurde im koreanischen Patent Nr. 10-1925383 offenbart.
-
KURZFASSUNG
-
Verschiedene Ausführungsformen zielen darauf ab, eine elektronische Vorrichtung und ein Verfahren zum Emulieren eines nichtflüchtigen Speichers bereitzustellen, die Daten, die zuvor in einem nichtflüchtigen Speicher, insbesondere einem EEPROM, gespeichert wurden, durch ein Rollback der Daten als neue Daten hinzufügen können.
-
In einer Ausführungsform umfasst eine elektronische Vorrichtung, die einen nichtflüchtigen Speicher emuliert, einen ersten Speicher mit einem Datenblock, in dem Daten gespeichert sind, und einem Metadatenblock, in dem Metadaten, die sich auf die Daten beziehen, gespeichert sind, einen zweiten Speicher, in dem wartende Daten gespeichert sind, und einen Prozessor, der so konfiguriert ist, dass er Daten des ersten Speichers und des zweiten Speichers verwaltet, wobei der Prozessor einen Zufallswert zur Unterscheidung zwischen ersten Daten und anderen Daten erzeugt, wenn die ersten Daten im ersten Speicher gespeichert werden, den Zufallswert in die ersten Daten einfügt und dann die ersten Daten im Datenblock speichert, und im zweiten Speicher einen Passwortwert speichert, der durch Verschlüsselung von Informationen über die ersten Daten auf der Grundlage des Zufallswertes und eines Rollback-Schlüssels erhalten wird.
-
In einer Ausführungsform der vorliegenden Offenbarung kann der Prozessor den Passwortwert durch Ausführen einer Exklusiv-ODER-Operation (XOR) mit dem Zufallswert und dem Rollback-Schlüssel berechnen.
-
In einer Ausführungsform der vorliegenden Offenbarung kann der Prozessor im Datenblock die ersten Daten speichern, die den Zufallswert umfassen, den Rollback-Schlüssel im Metadatenblock speichern und den Passwortwert in einem Standby-RAM-Bereich des zweiten Speichers speichern.
-
In einer Ausführungsform der vorliegenden Offenbarung kann der Prozessor die ersten Daten im Datenblock auf der Grundlage von im Metadatenblock gespeicherten ID-Informationen sequentiell speichern.
-
In einer Ausführungsform der vorliegenden Offenbarung kann der Prozessor beim Empfang einer Verwendungsanweisung für die ersten Daten, bei denen es sich um bestehende Daten handelt, die im Datenblock gespeicherten ersten Daten auf der Grundlage des Passwortwerts und des Rollback-Schlüssels lesen und dem Datenblock die gelesenen ersten Daten als neue Daten hinzufügen.
-
In einer Ausführungsform der vorliegenden Offenbarung kann der Prozessor die Daten auf der Grundlage des Passwortwerts und des Rollback-Schlüssels entschlüsseln, nach einem Zufallswert suchen, der mit einem berechneten Ergebniswert identisch ist, und die ersten Daten lesen, die den abgerufenen Zufallswert umfassen.
-
In einer Ausführungsform der vorliegenden Offenbarung kann der Prozessor den Zufallswert der ersten Daten als Ergebniswert berechnen, indem er eine Exklusiv-ODER-Operation (XOR) mit dem Passwortwert und dem Roll-Back-Schlüssel durchführt.
-
In einer Ausführungsform der vorliegenden Offenbarung kann der Prozessor, wenn die ersten Daten als neue Daten hinzugefügt werden, die Daten eines ältesten Datenblocks löschen, wenn kein leerer Block im Datenblock des ersten Speichers vorhanden ist, und dann die ersten Daten als neue Daten speichern.
-
In einer Ausführungsform der vorliegenden Offenbarung kann es sich bei dem nichtflüchtigen Speicher um einen elektrisch löschbaren programmierbaren ROM (EEPROM) handeln.
-
In einer weiteren Ausführungsform umfasst ein Verfahren zum Betreiben einer elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, das Erzeugen, durch einen Prozessor, eines Zufallswertes zur Unterscheidung zwischen ersten Daten, die im ersten Speicher zu speichern sind, und anderen Daten, das Speichern, durch den Prozessor, des Zufallswertes in einem Datenblock des ersten Speichers, indem der Zufallswert in die ersten Daten eingefügt wird, das Verschlüsseln, durch den Prozessor, von Informationen über die ersten Daten auf der Grundlage des Zufallswerts und eines Rollback-Schlüssels, der in einem Metadatenblock des ersten Speichers gespeichert ist, und das Speichern eines bei der Verschlüsselung der Informationen berechneten Passwortwertes im zweiten Speicher.
-
In einer Ausführungsform der vorliegenden Offenbarung kann bei der Verschlüsselung der Informationen der Prozessor den Passwortwert der ersten Daten berechnen, indem er eine Exklusiv-ODER-Operation (XOR) mit dem Zufallswert und dem Rollback-Schlüssel durchführt.
-
In einer Ausführungsform der vorliegenden Offenbarung kann das Verfahren ferner das Entschlüsseln, durch den Prozessor, von Informationen über die ersten Daten auf der Grundlage des im zweiten Speicher gespeicherten Passwortwerts und des Rollback-Schlüssels als Reaktion auf den Empfang einer Verwendungsanweisung für die ersten Daten, das Durchsuchen des ersten Speichers durch den Prozessor nach einem Zufallswert, der mit einem bei der Entschlüsselung der Informationen berechneten Ergebniswert identisch ist, und das Lesen der ersten Daten, die den abgerufenen Zufallswert umfassen, durch den Prozessor umfassen.
-
In einer Ausführungsform der vorliegenden Offenbarung kann der Prozessor bei der Entschlüsselung der Informationen den in den ersten Daten enthaltenen Zufallswert als Ergebniswert berechnen, indem er eine Exklusiv-ODER-Operation (XOR) mit dem Passwortwert und dem Rollback-Schlüssel durchführt.
-
In einer Ausführungsform der vorliegenden Offenbarung kann das Verfahren ferner das Bestimmen, durch den Prozessor, ob ein leerer Block im Datenblock des ersten Speichers vorhanden ist, bevor die ersten Daten, die als neue Daten gelesen wurden, hinzugefügt werden, und das Löschen des ältesten Datenblocks durch den Prozessor, wenn kein leerer Block vorhanden ist, und anschließend das Speichern der ersten Daten als neue Daten umfassen.
-
Gemäß einem Aspekt wirkt sich die vorliegende Offenbarung so aus, dass sie eine Ausführungszeit reduzieren und die Lebensdauer des EEPROMs erhöhen kann, indem sie die Verwendung der bestehenden Daten ermöglicht, indem der EEPROM so emuliert wird, dass Daten geteilt, verschlüsselt und in einem nichtflüchtigen Speicher, dem EEPROM, gespeichert werden, und bei Daten, die zuvor im EEPROM gespeichert wurden, durch Verwendung eines Rollback-Schlüssels ein Rollback durchgeführt wird.
-
Gemäß einem weiteren Aspekt der vorliegenden Offenbarung können gespeicherte Daten und verschlüsselte Daten voneinander getrennt und unter Verwendung des EEPROMs und des Standby-RAM-Bereichs mit niedriger Spannung gespeichert werden. Daten können effektiv so verwaltet werden, dass die Einzigartigkeit aller Daten durch Verschlüsselung der Daten mit einer logischen Operation gesichert werden kann und alle Daten leicht entschlüsselt werden können.
-
Figurenliste
-
- 1 ist ein Blockdiagramm, das den Aufbau einer elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
- 2 ist ein beispielhaftes Diagramm zur Beschreibung einer Speicherstruktur der elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung.
- 3 ist ein beispielhaftes Diagramm zur Beschreibung eines Rollback-Verfahrens der elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung.
- 4 ist ein beispielhaftes Diagramm zur Beschreibung eines Verfahrens zur Verwaltung von Daten durch die elektronische Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung.
- 5 ist ein Flussdiagramm, das ein Datenverschlüsselungsverfahren für das Rollback der elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht.
- 6 ist ein Flussdiagramm, das ein Verfahren für das Rollback von Daten durch die elektronische Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Nachfolgend werden eine elektronische Vorrichtung und ein Verfahren zum Emulieren eines nichtflüchtigen Speichers mit Bezug auf die beigefügten Zeichnungen anhand verschiedener beispielhafter Ausführungsformen beschrieben.
-
Nachfolgend werden Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die begleitenden Zeichnungen ausführlich beschrieben, so dass der Durchschnittsfachmann auf dem Gebiet, auf das sich die vorliegende Offenbarung bezieht, die Ausführungsformen leicht anwenden kann. Die vorliegende Offenbarung kann jedoch in verschiedenen Formen umgesetzt werden und ist nicht auf die hier beschriebenen Ausführungsformen beschränkt. Um die vorliegende Offenbarung klar zu beschreiben, wird in den Zeichnungen ein Teil, der sich nicht auf die Beschreibung bezieht, weggelassen, und gleichartige Bezugszeichen werden dazu verwendet, auf eine gleichartige Teile in der gesamten Beschreibung zu verweisen.
-
Wenn in der gesamten Beschreibung beschrieben wird, dass ein beliebiges Teil ein beliebiges Element „aufweist“, bedeutet dies, sofern nicht anders beschrieben, dass das beliebige Teil weiterhin ein anderes Element einschließen kann, ohne ein anderes Element auszuschließen.
-
Eine in dieser Beschreibung beschriebene Implementierung kann beispielsweise als Verfahren oder Prozess, als Gerät, als Softwareprogramm, als Datenstrom oder als Signal realisiert werden. Auch wenn die vorliegende Offenbarung nur im Zusammenhang mit einer einzigen Implementierungsform erörtert wurde (z. B. nur als Verfahren), kann eine Implementierung eines erörterten Merkmals auch in einer anderen Form (z. B. als Gerät oder Programm) realisiert werden. Das Gerät kann als geeignete Hardware, Software oder Firmware implementiert sein. Das Verfahren kann in einem Gerät implementiert sein, z. B. in einem Prozessor, der sich allgemein auf eine Verarbeitungsvorrichtung bezieht, wie etwa einen Computer, einen Mikroprozessor, eine integrierte Schaltung oder eine programmierbare Logikeinheit. Der Prozessor umfasst eine Kommunikationsvorrichtung, wie etwa einen Computer, ein Mobiltelefon, ein Mobiltelefon/einen persönlichen digitalen Assistenten („PDA“) und eine andere Vorrichtung, die die Kommunikation von Informationen zwischen Endnutzern erleichtert.
-
1 ist ein Blockdiagramm, das den Aufbau einer elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
-
Wie in 1 dargestellt, umfasst die elektronische Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung einen Prozessor 110, einen ersten Speicher 120 und einen zweiten Speicher 130.
-
Der Prozessor 110 ist auf einem Hauptsteuergerät (ECU) eines Fahrzeugs installiert und steuert das Fahrzeug und überwacht den Zustand des Fahrzeugs auf der Grundlage der empfangenen Daten.
-
Ferner steuert der Prozessor 110 die Dateneingabe und -ausgabe des ersten Speichers 120 und des zweiten Speichers 130 und überwacht deren Zustand.
-
Der Prozessor 110 steuert das Lesen und Schreiben von Daten im ersten Speicher 120 und speichert Daten für das Rollback von Daten oder führt den Aufruf der Daten durch.
-
Wenn die vorhandenen Daten verwendet werden, fügt der Prozessor 110 spezifische Daten aus den vorhandenen Daten, die zuvor unter Verwendung von Rollback gespeichert wurden, als neue Daten hinzu, indem ein Rollback bei den spezifischen Daten durchgeführt wird. Der Prozessor 110 arbeitet so, dass neue Daten unter den Daten des ersten Speichers 120 gelesen werden, und ermöglicht die Verwendung der vorhandenen Daten durch Rollback, auch wenn die vorhandenen Daten nicht neu geschrieben werden, indem die vorhandenen Daten durch Rollback der vorhandenen Daten als neue Daten gespeichert werden.
-
Der erste Speicher 120 ist ein nichtflüchtiger Speicher, der Daten elektrisch schreiben und löschen kann, und kann insbesondere ein EEPROM sein. In der vorliegenden Ausführungsform wird ein Beispiel beschrieben, bei dem der nichtflüchtige Speicher ein EEPROM ist, wobei die vorliegende Offenbarung jedoch nicht darauf beschränkt ist.
-
Der erste Speicher 120 speichert Daten, indem er Blöcke davon in einen Metadatenblock 121, der Informationen zur Identifizierung der vorhandenen Daten und neuer Daten enthält, und einen Datenblock 122, in dem Daten gespeichert sind, unterteilt, wobei eine EEPROM-Emulation implementiert wird, mit der ein Rollback durchgeführt werden kann.
-
Der erste Speicher 120 umfasst den Block, der aus dem Metadatenblock 121 und dem Datenblock 122 besteht, in einer Vielzahl. Das heißt, der erste Speicher 120 ist in mehrere Blöcke unterteilt. Der Metadatenblock und der Datenblock werden in jedem Block gebildet, und darin werden Daten gespeichert.
-
Der Metadatenblock 121 speichert ID-Informationen zur Unterscheidung zwischen alten und neuen Daten sowie einen Rollback-Schlüssel für das Rollback von Daten.
-
Der Datenblock 122 speichert Daten, wie etwa Statusdiagnoseinformationen und Fehlerinformationen eines Fahrzeugs.
-
Der zweite Speicher 130 ist ein Direktzugriffsspeicher (RAM), der immer mit einer niedrigen Spannung arbeitet, auch wenn das elektronische Gerät nicht mit Strom versorgt wird. Der zweite Speicher 130 umfasst einen Standby-RAM-Bereich. Der Prozessor 110 speichert im Standby-RAM-Bereich des zweiten Speichers 130 wartende Daten, die verwendet werden sollen.
-
Der zweite Speicher 130 speichert verschlüsselte Daten 131. Die verschlüsselten Daten 131 sind im Standby-RAM-Bereich enthalten.
-
Die verschlüsselten Daten 131 sind Daten, die in einem Prozess zur Verschlüsselung oder Entschlüsselung von Informationen, die sich auf Daten beziehen, die im ersten Speicher 120 gespeichert sind, für das Rollback der gespeicherten Daten erzeugt werden. Die verschlüsselten Daten 131 umfassen beispielsweise einen Passwortwert, der durch eine Verschlüsselungsoperation für einen Zufallswert von Daten und einen Rollback-Schlüssel berechnet wird.
-
2 ist ein beispielhaftes Diagramm, das eine Speicherstruktur der elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung beschreibt.
-
Wie in (a) von 2 dargestellt, umfasst der erste Speicher 120 einen EEPROM-Bereich, d.h. einen Speicherplatz des EEPROM.
-
Ein Metadatenblock 121(12) und ein Datenblock 122(11) des ersten Speichers 120 bilden einen Block 50. Der Block wird im EEPROM-Bereich gebildet. Der EEPROM-Bereich umfasst mehrere Blöcke 50(51 bis 59).
-
Der EEPROM-Bereich umfasst somit einen ersten Block 51 bis zu einem n-ten Block 59. Der erste Block 51 enthält einen ersten Metadatenblock und einen ersten Datenblock. Der zweite Block 52 umfasst einen zweiten Metadatenblock und einen zweiten Datenblock. Der n-te Block 59 umfasst einen n-ten Metadatenblock und einen n-ten Datenblock.
-
Der Datenblock 11 enthält Daten für Fahrzeugfehler und Zustandsinformationen sowie einen Zufallswert 14.
-
Der Zufallswert 14 ist ein Wert für die Angabe des Datenblocks 11 und ist ein Wert, mit dem angegeben wird, welchem Datenblock aus mehreren Datenblöcken, die im ersten Speicher 120 enthalten sind, ein aktueller Datenblock entspricht. Der Zufallswert 14 kann eine Größe von etwa 4 Byte haben.
-
Der Zufallswert 14 ist in den Daten enthalten und im Datenblock 11 gespeichert.
-
Der Metadatenblock 12 enthält ID-Informationen, die deren Reihenfolge angeben, und einen Rollback-Schlüssel 15, der für die Verschlüsselung und Entschlüsselung verwendet wird. Die ID-Information ist die Nummer des Metadatenblocks 12. Der Rollback-Schlüssel 15 ist ein Schlüsselwert zur Durchführung einer Rollback-Operation von Daten.
-
Wie in (b) von 2 dargestellt, umfasst der zweite Speicher 130 einen Standby-RAM-Bereich, der immer auf einer niedrigen Spannung gehalten wird.
-
Der Standby-RAM-Bereich enthält verschlüsselte Daten 131(13).
-
Die verschlüsselten Daten 13 können mehrere verschlüsselte Datenblöcke 60 umfassen.
-
Die verschlüsselten Daten 13 umfassen einen Passwortwert 16, der durch Durchführung einer XOR-Operation mit dem Zufallswert 14 des Datenblocks 11 und dem Rollback-Schlüssel 15 des Metadatenblocks 12 berechnet wird.
-
Wenn Daten des ersten Speichers 120 so gespeichert sind, dass ein Rollback bei den Daten durchgeführt werden kann, speichert der Prozessor 110 die Daten sequentiell im Datenblock 11 auf der Grundlage von ID-Informationen, die im Metadatenblock 12 enthalten sind.
-
Zur Unterscheidung zwischen den gespeicherten Daten und anderen Daten erzeugt der Prozessor 110 den Zufallswert 14 für die gespeicherten Daten. Der Prozessor 110 fügt den erzeugten Zufallswert 14 in den letzten Daten der gespeicherten Daten in der Größe von 4 Bytes ein und speichert die Daten, die den Zufallswert 14 enthalten, im Datenblock 11.
-
Darüber hinaus verschlüsselt der Prozessor 110 Informationen, die sich auf Daten beziehen, die durch eine XOR-Operation mit dem Zufallswert 14 des Datenblocks 11 und dem Rollback-Schlüssel 15 des Metadatenblocks 12 gespeichert werden, und speichert den Passwortwert 16, d.h. einen Ergebniswert der Verschlüsselung, in den verschlüsselten Daten 131 des zweiten Speichers 130.
-
Dementsprechend kann die elektronische Vorrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung die Einzigartigkeit aller Daten durch einen Zufallswert und eine Verschlüsselung in Bezug auf die darin gespeicherten Daten sichern.
-
3 ist ein beispielhaftes Diagramm zur Beschreibung eines Rollback-Verfahrens der elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung.
-
Wie in 3 veranschaulicht, führt der Prozessor 110 bei der Implementierung der Emulation für ein Rollback von Daten, die im ersten Speicher 120 gespeichert wurden, den Schritt S37 (Datensicherung) zur Verschlüsselung von Informationen, die sich auf die Daten beziehen, und zur Speicherung der verschlüsselten Informationen im ersten Speicher 120 und den Schritt S38 (Rollback) zum Hinzufügen der gespeicherten Daten als neue Daten durch Rollback der gespeicherten Daten aus.
-
Wenn Daten im ersten Speicher 120 gespeichert werden, speichert der Prozessor die Daten sequentiell im Datenblock 11 auf der Grundlage von ID-Informationen, die im Metadatenblock 12 des ersten Speichers 120 gespeichert sind.
-
Der Prozessor 110 erzeugt den Zufallswert 14 zur Unterscheidung zwischen den gespeicherten Daten und anderen Daten und zur Angabe, in welchem Datenblock die entsprechenden Daten gespeichert sind.
-
Der Prozessor 110 fügt den erzeugten Zufallswert 14 in die gespeicherten Daten ein und speichert die Daten, die den Zufallswert 14 enthalten, im Datenblock 11 (S31).
-
Der Prozessor 110 liest den im Metadatenblock 12 gespeicherten Rollback-Schlüssel 15 und führt eine Verschlüsselung durch eine XOR-Operation mit dem Zufallswert 14 und dem Roll-Back-Schlüssel 15 durch (S32).
-
Der Rollback-Schlüssel ist ein Schlüsselwert für das Rollback von Daten, der in einem Verschlüsselungs- und Entschlüsselungsprozess verwendet und im Metadatenblock 12 gespeichert ist.
-
Der Prozessor 110 speichert in den verschlüsselten Daten 131 des zweiten Speichers 130 den Passwortwert 16, der durch die XOR-Operation mit dem Zufallswert 14 und dem Rollback-Schlüssel 15 (S33) berechnet wird.
-
Der Prozessor 110 speichert die Daten im ersten Speicher 120 und speichert den Passwortwert im zweiten Speicher 130 getrennt von den Daten. Der Prozessor 110 speichert den Passwortwert im Standby-RAM-Bereich des zweiten Speichers 130, der auf einer niedrigen Spannung gehalten wird, auch wenn der zweite Speicher 130 nicht mit Strom versorgt wird, damit der Passwortwert nicht gelöscht wird.
-
Wenn Daten im ersten Speicher 120 gespeichert werden, speichert der Prozessor 110 wie oben beschrieben die Daten für jeden Datenblock sequentiell auf der Grundlage von ID-Informationen, wiederholt jedoch die Erzeugung des Passwortwertes 16 für die gespeicherten Daten und speichert den erzeugten Passwortwert in den verschlüsselten Daten 131 des zweiten Speichers 130.
-
In Bezug auf Daten, die zuvor im ersten Speicher 120 gespeichert wurden, kann der Prozessor 110 spezifische Daten unter den vorhandenen Daten als neue Daten hinzufügen, indem er bei den spezifischen Daten ein Rollback mit dem Rollback-Schritt S38 durchführt.
-
Der Prozessor 110 liest den Passwortwert 16, der in den verschlüsselten Daten 131 des zweiten Speichers 130 gespeichert ist (S34), und entschlüsselt Daten durch eine XOR-Operation mit dem Passwortwert 16 und den Rollback-Schlüssel 15, der im Metadatenblock 12 gespeichert ist (S35).
-
Der Prozessor 110 kann erneut den Zufallswert 14 der Daten erhalten, indem er eine XOR-Operation mit dem Rollback-Schlüssel 15 und dem Passwortwert 16 durchführt, d.h. einen Ergebniswert der XOR-Operation mit dem Zufallswert 14 und dem Rollback-Schlüssel 15.
-
Dementsprechend prüft der Prozessor 110 den Zufallswert 14 auf der Grundlage des durch die Entschlüsselung der Daten berechneten Ergebniswerts. Der im Entschlüsselungsprozess berechnete Ergebniswert ist somit ein beliebiger Zufallswert unter den vorhandenen Daten.
-
Der Prozessor 110 sucht im Datenblock 11 nach dem im Entschlüsselungsprozess berechneten Ergebniswert, sucht in den im Datenblock 11 gespeicherten Daten nach einem Zufallswert, der mit dem Ergebniswert identisch ist, und liest Daten, die den Zufallswert enthalten, der mit dem abgerufenen Ergebniswert identisch ist (S36).
-
Der Prozessor 110 speichert die gelesenen Daten im Datenblock 11 des ersten Speichers 120 als neue Daten.
-
Dementsprechend kann der Prozessor 110 die im ersten Speicher 120 gespeicherten Daten als neue Daten verwenden, indem ein Rollback bei den gespeicherten Daten durchgeführt wird.
-
4 ist ein beispielhaftes Diagramm zur Beschreibung des Daten-Rollbacks der elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung.
-
Wenn Daten im ersten Speicher 120 gespeichert werden, wie in (a) von 4 dargestellt, speichert der Prozessor 110 die Daten sequentiell in der Einheit der Blöcke 50, die den Datenblock 11 und den Metadatenblock 12 umfasst, im EEPROM-Bereich des ersten Speichers 120 unter Berücksichtigung des Daten-Rollbacks.
-
Der Prozessor 110 speichert die Daten sequentiell in den mehreren Blöcken 50 auf der Grundlage von ID-Informationen des Metadatenblocks 12 des ersten Speichers 120.
-
Wenn erste Daten 22 im ersten Block 51 und zweite Daten 21 im zweiten Block 52 gespeichert sind, bestimmt der Prozessor 110, dass die ersten Daten 22 des ersten Blocks 51 die bestehenden Daten (alte Daten) sind, und bestimmt, dass die zweiten Daten 21 des zweiten Blocks 52 neue Daten sind.
-
Der Prozessor 110 liest vorzugsweise die zweiten Daten, d.h. die neuen Daten, und führt eine bestimmte Operation an den zweiten Daten durch. Dementsprechend kann der Prozessor 110, wenn die ersten Daten verwendet werden sollen, als die neuen Daten die ersten Daten hinzufügen, die zuvor im ersten Speicher 120 gespeichert wurden, so dass durch Emulation des ersten Speichers 120 ein Rollback bei den ersten Daten durchgeführt wird, er kann die ersten Daten lesen, die in die neuen Daten geändert wurden, und er kann eine Operation an den ersten Daten durchführen, die gelesen wurden.
-
Wie in (b) von 4 dargestellt, speichert der Prozessor 110 Daten im Standby-RAM-Bereich des zweiten Speichers 120, der die mehreren verschlüsselten Datenblöcke 60 umfasst.
-
Der Prozessor 110 unterscheidet zwischen neuen Daten 23 und den vorhandenen Daten (alten Daten) 24 auf der Grundlage der Reihenfolge, in der die Daten gespeichert werden.
-
Wenn die Daten in allen der mehreren Blöcke des ersten Speichers 120 gespeichert sind, löscht der Prozessor 110 die Blöcke ab dem ältesten Block und speichert die neuen Daten in den Blöcken. Wenn die verschlüsselten Daten 131 in den mehreren verschlüsselten Datenblöcken des zweiten Speichers 130 gespeichert sind, löscht der Prozessor 110 die gespeicherten verschlüsselten Daten in der Reihenfolge ab dem ältesten Block und speichert neue verschlüsselte Daten.
-
5 ist ein Flussdiagramm, das ein Datenverschlüsselungsverfahren für das Rollback der elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht.
-
Wie in 5 dargestellt, erzeugt der Prozessor 110 einen Zufallswert für die zu speichernden Daten (S310), wenn Daten im Datenblock 11 des ersten Speichers 120 gespeichert sind.
-
Nach dem Einfügen des Zufallswertes 14 in die letzten Daten speichert der Prozessor 110 die Daten entsprechend den ID-Informationen des Metadatenblocks 12 sequentiell im Datenblock 11 (S320).
-
Der Prozessor 110 erzeugt den Passwortwert 16, indem er eine XOR-Operation mit dem Zufallswert 14 der gespeicherten Daten und dem Rollback-Schlüssel 15 der Metadaten durchführt (S330). Dementsprechend kann der Prozessor 110 die Einzigartigkeit der gespeicherten Daten durch die logische Operation sichern.
-
Der Prozessor 110 speichert den erzeugten Passwortwert 16 in den verschlüsselten Daten 131 des zweiten Speichers 130 (S340).
-
Wenn Daten im ersten Datenblock des ersten Blocks 51 gespeichert sind, speichert der Prozessor 110 den Passwortwert 16 in den verschlüsselten Daten 131(13) des zweiten Speichers 130 entsprechend dem ersten Datenblock.
-
Wenn Daten hinzugefügt werden, kann der Prozessor 110 eine Vielzahl von Daten im ersten Speicher 120 in der Blockeinheit speichern, indem er das Erzeugen des Zufallswertes 14, das Hinzufügen des Zufallswertes 14 zu den Daten, das Verschlüsseln der Daten auf der Grundlage des Zufallswerts 14 und des Rollback-Schlüssels 15 und das Speichern des Passwortwertes 16 für die Daten in den verschlüsselten Daten 131 (13) des zweiten Speichers 130 getrennt von den Daten wiederholt.
-
6 ist ein Flussdiagramm, das ein Verfahren für das Rollback von Daten durch die elektronische Vorrichtung, die einen nichtflüchtigen Speicher emuliert, gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht.
-
Wie in 6 dargestellt, liest der Prozessor 110 beim Empfang einer Anweisung zur Verwendung der vorhandenen Daten, die im ersten Speicher 120 gespeichert wurden (S410), die verschlüsselten Daten 131 (13) für die vorhandenen Daten (alte Daten) des ersten Speichers 120 aus dem zweiten Speicher 120.
-
Wie oben beschrieben, liest der Prozessor 110 den Passwortwert 16, der in den verschlüsselten Daten 13 des zweiten Speichers 130 gespeichert wurde, und liest den Rollback-Schlüssel 15, der im Metadatenblock 121(12) des ersten Speichers 120 gespeichert wurde.
-
Der Prozessor 110 entschlüsselt die Daten, indem er einen Ergebniswert der Daten durch eine XOR-Operation mit dem Passwortwert 16 und dem Rollback-Schlüssel 15 berechnet (S420).
-
Der Prozessor 110 sucht nach einem Zufallswert, der mit dem Ergebniswert identisch ist, indem er den Datenblock 11 des ersten Speichers 120 nach dem Ergebniswert entsprechend der Entschlüsselung durchsucht. Wenn der Zufallswert, der mit dem Ergebniswert identisch ist, vorhanden ist, liest der Prozessor 110 Daten, die den Zufallswert enthalten (S430).
-
In diesem Fall entschlüsselt der Prozessor 110 den Passwortwert 16, der als Ergebnis einer XOR-Operation mit dem Zufallswert 14 und dem Rollback-Schlüssels 15 berechnet wurde, indem er erneut eine XOR-Operation mit dem Passwortwert 16 und dem Rollback-Schlüssel 15 durchführt. Der Zufallswert 14 wird als Ergebniswert der erneut durchgeführten XOR-Operation berechnet. Der Ergebniswert ist somit der Zufallswert 14 der zu lesenden Daten.
-
Vor dem Speichern der gelesenen vorhandenen Daten prüft der Prozessor 110, ob alle aus den mehreren Datenblöcken des ersten Speichers 120 mit Daten gefüllt sind, d.h. ob ein leerer Datenblock vorhanden ist (S440).
-
Ist ein leerer Datenblock vorhanden, fügt der Prozessor 110 die gelesenen vorhandenen Daten dem leeren Datenblock als neue Daten hinzu (S460).
-
Sind alle Datenblöcke mit Daten gefüllt, löscht der Prozessor 110 die Daten der Datenblöcke in der Reihenfolge ab den zuerst gespeicherten Daten (S450).
-
Der Prozessor 110 speichert die gelesenen vorhandenen Daten im Datenblock als neue Daten (S460).
-
Dementsprechend kann der Prozessor 110 die vorhandenen Daten als neue Daten verwenden, indem er eine Vielzahl von Daten im EEPROM, d.h. im ersten Speicher 120, speichert, aber den ersten Speicher 120 so emuliert, dass bei den vorhandenen Daten, die zuvor im ersten Speicher 120 gespeichert wurden, auf der Grundlage einer Eigenschaft, gemäß der nur neue Daten gelesen werden, ein Rollback durchgeführt wird.
-
Wie oben beschrieben, kann gemäß der vorliegenden Ausführungsform eine Ausführungszeit reduziert und die Lebensdauer des EEPROMs erhöht werden, indem die Verwendung der vorhandenen Daten ermöglicht wird, indem das EEPROM so emuliert wird, dass die Daten geteilt, verschlüsselt und in einem nichtflüchtigen Speicher, insbesondere im EEPROM gespeichert werden, und bei den Daten, die zuvor im EEPROM gespeichert wurden, ein Rollback durch Verwendung eines Rollback-Schlüssels durchgeführt wird.
-
Darüber hinaus können gemäß der vorliegenden Ausführungsform gespeicherte Daten und verschlüsselte Daten voneinander getrennt und unter Verwendung des EEPROMs und des Standby-RAM-Bereichs mit niedriger Spannung gespeichert werden. Daten können effektiv so verwaltet werden, dass die Einzigartigkeit aller Daten durch Verschlüsselung der Daten mittels einer logischen Operation gesichert werden kann und alle Daten leicht entschlüsselt werden können.