DE102022133918A1 - Elektrische vorrichtung und verfahren zum emulieren eines nichtflüchtigen speichers - Google Patents

Elektrische vorrichtung und verfahren zum emulieren eines nichtflüchtigen speichers Download PDF

Info

Publication number
DE102022133918A1
DE102022133918A1 DE102022133918.1A DE102022133918A DE102022133918A1 DE 102022133918 A1 DE102022133918 A1 DE 102022133918A1 DE 102022133918 A DE102022133918 A DE 102022133918A DE 102022133918 A1 DE102022133918 A1 DE 102022133918A1
Authority
DE
Germany
Prior art keywords
data
memory
processor
block
random 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
DE102022133918.1A
Other languages
English (en)
Inventor
Min-Ho Ahn
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.)
Hyundai AutoEver Corp
Original Assignee
Hyundai AutoEver Corp
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
Application filed by Hyundai AutoEver Corp filed Critical Hyundai AutoEver Corp
Publication of DE102022133918A1 publication Critical patent/DE102022133918A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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
    • 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/1448Management of the data involved in backup or backup restore
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Die vorliegende Offenbarung bezieht sich auf eine elektronische Vorrichtung, die einen nichtflüchtigen Speicher emuliert und 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 umfasst, der so konfiguriert ist, dass er Daten des ersten Speichers und des zweiten Speichers verwaltet. Der Prozessor erzeugt einen Zufallswert zur Unterscheidung zwischen ersten Daten und anderen Daten, wenn die ersten Daten im ersten Speicher gespeichert werden, fügt den Zufallswert in die ersten Daten ein und speichert dann die ersten Daten im Datenblock, und speichert im zweiten Speicher einen Passwortwert, der durch Verschlüsselung von Informationen über die ersten Daten auf der Grundlage des Zufallswertes und eines Rollback-Schlüssels erhalten wird.

Description

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

Claims (15)

  1. Elektronische Vorrichtung, die einen nichtflüchtigen Speicher emuliert, wobei die elektronische Vorrichtung einen ersten Speicher 120 mit einem Datenblock 11, in dem Daten gespeichert sind, und einem Metadatenblock 12, in dem Metadaten, die sich auf die Daten beziehen, gespeichert sind, einen zweiten Speicher 130, in dem wartenden Daten gespeichert sind, und einen Prozessor 110 umfasst, der so konfiguriert ist, dass er Daten des ersten Speichers 120 und des zweiten Speichers 130 verwaltet, dadurch gekennzeichnet, dass: der Prozessor 110 einen Zufallswert 14 zur Unterscheidung zwischen ersten Daten und anderen Daten erzeugt, wenn die ersten Daten im ersten Speicher 120 gespeichert werden, den Zufallswert 14 in die ersten Daten einfügt und dann die ersten Daten im Datenblock 11 speichert, und im zweiten Speicher 130 einen Passwortwert 16 speichert, der durch Verschlüsselung von Informationen über die ersten Daten auf der Grundlage des Zufallswertes 14 und eines Rollback-Schlüssels 15 erhalten wird.
  2. Elektronische Vorrichtung nach Anspruch 1, wobei der Prozessor 110 den Passwortwert 16 durch Ausführen einer Exklusiv-ODER-Operation (XOR) mit dem Zufallswert 14 und dem Rollback-Schlüssel 15 berechnet.
  3. Elektronische Vorrichtung nach Anspruch 1 oder Anspruch 2, wobei der Prozessor 110 im Datenblock 11 die ersten Daten speichert, die den Zufallswert 14 umfassen, den Rollback-Schlüssel 15 im Metadatenblock 12 speichert und den Passwortwert 16 in einem Standby-RAM-Bereich des zweiten Speichers 130 speichert.
  4. Elektronische Vorrichtung nach einem der vorhergehenden Ansprüche, wobei der Prozessor 110 die ersten Daten im Datenblock 11 auf der Grundlage von im Metadatenblock 12 gespeicherten ID-Informationen sequentiell speichert.
  5. Elektronische Vorrichtung nach einem der vorhergehenden Ansprüche, wobei der Prozessor 110 beim Empfang einer Verwendungsanweisung für die ersten Daten, bei denen es sich um bestehende Daten handelt, die im Datenblock 11 gespeicherten ersten Daten auf der Grundlage des Passwortwerts 16 und des Rollback-Schlüssels 15 liest und dem Datenblock 11 die gelesenen ersten Daten als neue Daten hinzufügt.
  6. Elektronische Vorrichtung nach Anspruch 5, wobei der Prozessor 110 die Daten auf der Grundlage des Passwortwerts 16 und des Rollback-Schlüssels 15 entschlüsselt, nach einem Zufallswert 14 sucht, der mit einem berechneten Ergebniswert identisch ist, und die ersten Daten liest, die den abgerufenen Zufallswert 14 umfassen.
  7. Elektronische Vorrichtung nach Anspruch 6, wobei der Prozessor 110 den Zufallswert 14 der ersten Daten als Ergebniswert berechnet, indem er eine Exklusiv-ODER-Operation (XOR) mit dem Passwortwert 16 und dem Roll-Back-Schlüssel 15 durchführt.
  8. Elektronische Vorrichtung nach einem der Ansprüche 5 bis 7, wobei der Prozessor 110, wenn die ersten Daten als neue Daten hinzugefügt werden, die Daten eines ältesten Datenblocks löscht, wenn kein leerer Block im Datenblock 11 des ersten Speichers 120 vorhanden ist, und dann die ersten Daten als neue Daten speichert.
  9. Elektronische Vorrichtung nach einem der vorhergehenden Ansprüche, wobei es sich bei dem nichtflüchtigen Speicher um einen elektrisch löschbaren programmierbaren ROM (EEPROM) handelt.
  10. Verfahren zum Betreiben einer elektronischen Vorrichtung, die einen nichtflüchtigen Speicher emuliert, wobei die elektronische Vorrichtung einen ersten Speicher 120, einen zweiten Speicher 130 und einen Prozessor 110 umfasst, dadurch gekennzeichnet, dass: das Betriebsverfahren Folgendes umfasst: Erzeugen, durch den Prozessor 110, eines Zufallswertes 14 zur Unterscheidung zwischen ersten Daten, die im ersten Speicher 120 zu speichern sind, und anderen Daten; Speichern, durch den Prozessor 110, des Zufallswertes 14 in einem Datenblock 11 des ersten Speichers 120, indem der Zufallswert 14 in die ersten Daten eingefügt wird; Verschlüsseln, durch den Prozessor 110, von Informationen über die ersten Daten auf der Grundlage des Zufallswerts 14 und eines Rollback-Schlüssels 15, der in einem Metadatenblock 12 des ersten Speichers 120 gespeichert ist; und Speichern eines bei der Verschlüsselung der Informationen berechneten Passwortwertes 16 im zweiten Speicher 130.
  11. Verfahren nach Anspruch 10, wobei bei der Verschlüsselung der Informationen der Prozessor 110 den Passwortwert 16 der ersten Daten berechnet, indem er eine Exklusiv-ODER-Operation (XOR) mit dem Zufallswert 14 und dem Rollback-Schlüssel 15 durchführt.
  12. Verfahren nach Anspruch 10 oder Anspruch 11, das ferner Folgendes umfasst: Entschlüsseln, durch den Prozessor 110, von Informationen über die ersten Daten auf der Grundlage des im zweiten Speicher 130 gespeicherten Passwortwerts 16 und des Rollback-Schlüssels 15 als Reaktion auf den Empfang einer Verwendungsanweisung für die ersten Daten; Durchsuchen des ersten Speichers 120 durch den Prozessor 110 nach einem Zufallswert 14, der mit einem bei der Entschlüsselung der Informationen berechneten Ergebniswert identisch ist; und Lesen der ersten Daten, die den abgerufenen Zufallswert 14 umfassen, durch den Prozessor 110.
  13. Verfahren nach Anspruch 12, wobei der Prozessor 110 bei der Entschlüsselung der Informationen den in den ersten Daten enthaltenen Zufallswert 14 als Ergebniswert berechnet, indem er eine Exklusiv-ODER-Operation (XOR) mit dem Passwortwert 16 und dem Rollback-Schlüssel 15 durchführt.
  14. Verfahren nach Anspruch 12 oder Anspruch 13, das ferner Folgendes umfasst: Bestimmen, durch den Prozessor 110, ob ein leerer Block im Datenblock 11 des ersten Speichers 120 vorhanden ist, bevor die ersten Daten, die als neue Daten gelesen wurden, hinzugefügt werden; und Löschen eines ältesten Datenblocks durch den Prozessor 110, wenn kein leerer Block vorhanden ist, und anschließend Speichern der ersten Daten als neue Daten.
  15. Verfahren nach einem der Ansprüche 10 bis 14, wobei es sich bei dem nichtflüchtigen Speicher einen elektrisch löschbaren, programmierbaren ROM (EEPROM) handelt.
DE102022133918.1A 2021-12-30 2022-12-19 Elektrische vorrichtung und verfahren zum emulieren eines nichtflüchtigen speichers Pending DE102022133918A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210192038A KR20230102145A (ko) 2021-12-30 2021-12-30 비휘발성 메모리를 에뮬레이팅하는 전자장치 및 그 방법
KR10-2021-0192038 2021-12-30

Publications (1)

Publication Number Publication Date
DE102022133918A1 true DE102022133918A1 (de) 2023-07-06

Family

ID=86766249

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022133918.1A Pending DE102022133918A1 (de) 2021-12-30 2022-12-19 Elektrische vorrichtung und verfahren zum emulieren eines nichtflüchtigen speichers

Country Status (4)

Country Link
US (1) US20230214144A1 (de)
KR (1) KR20230102145A (de)
CN (1) CN116382562A (de)
DE (1) DE102022133918A1 (de)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10643046B2 (en) * 2015-09-21 2020-05-05 I.P Solutions, Ltd Device, and card type device
US20170220252A1 (en) * 2016-01-29 2017-08-03 Faraday&Future Inc. Flash emulated eeprom wrapper
US20210064234A1 (en) * 2019-04-16 2021-03-04 Formulus Black Corporation Systems, devices, and methods for implementing in-memory computing
US20190319781A1 (en) * 2019-06-27 2019-10-17 Intel Corporation Deterministic Encryption Key Rotation

Also Published As

Publication number Publication date
CN116382562A (zh) 2023-07-04
US20230214144A1 (en) 2023-07-06
KR20230102145A (ko) 2023-07-07

Similar Documents

Publication Publication Date Title
DE19740525C1 (de) Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
DE60131549T2 (de) Komprimiertes ereigniszählverfahren und seine anwendung an einem flash-speichersystem
DE69432878T2 (de) Informationsverarbeitungssystem mit Flash-Speicher und Cache-Speicher
DE60224552T2 (de) Fehlerbehandlung für beschreibbare referenz-speicherzellen zum verfolgen von einsatzspannungsdriften
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE69913618T2 (de) Verfahren zur Erzeugung eines Prüfpunktes, welcher eine Basisdatei beschreibt, und Verfahren zur Erzeugung einer Differenzdatei zwischen einer aktualisierten Datei und einer Basisdatei
DE60210416T2 (de) Speicherkarte
DE102012208141B4 (de) Ausgleich nachlassender Funktionsfähigkeit
DE112007003678B4 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE602004005939T2 (de) Vorrichtung und Verfahren zur Datenverwaltung nichtflüchtiger Speicher
DE2817431C2 (de) Speichereinrichtung mit auf Durchspeichern(store thru) beruhender Speicherhierarchie mit Teilspeicherung
DE69820164T2 (de) Speichervorrichtung sowie Datenlese- und Schreibverfahren
DE102009051862A1 (de) Speichervorrichtung und Speicherverfahren
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE112007003645T5 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
EP1883906B1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
DE2339741A1 (de) Anordnung zur bildung einer relativen adresse fuer einen speicher
DE69710834T2 (de) Speicherverwaltungsverfahren für tragbares Datenendgerät
DE102018213615A1 (de) Kryptografiemodul und Betriebsverfahren hierfür
DE102022133918A1 (de) Elektrische vorrichtung und verfahren zum emulieren eines nichtflüchtigen speichers
DE102023116348A1 (de) Wiederherstellung von sicherungskopien aus einem entfernten speicher
DE102017104698A1 (de) Elektroniksteuervorrichtung und Informationsspeicherverfahren dafür
DE102021127177B4 (de) Container-index mit einer tracking-datenstruktur
DE102021108829B4 (de) Aktualisierung des deduplizierungs-fingerabdruckindex in einem cache-speicher
DE10205316B4 (de) Schlüsselmanagementeinrichtung und Verfahren zur verschlüsselten Ablage von digitalen Datenwörtern

Legal Events

Date Code Title Description
R012 Request for examination validly filed