DE102015010906A1 - Verfahren und Einrichtung zum Erzeugen von Inhaltsleere über Mülldaten, wenn Verschlüsselungsparameter geändert werden - Google Patents

Verfahren und Einrichtung zum Erzeugen von Inhaltsleere über Mülldaten, wenn Verschlüsselungsparameter geändert werden Download PDF

Info

Publication number
DE102015010906A1
DE102015010906A1 DE102015010906.5A DE102015010906A DE102015010906A1 DE 102015010906 A1 DE102015010906 A1 DE 102015010906A1 DE 102015010906 A DE102015010906 A DE 102015010906A DE 102015010906 A1 DE102015010906 A1 DE 102015010906A1
Authority
DE
Germany
Prior art keywords
encryption
block address
data
decryption method
decryption
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
DE102015010906.5A
Other languages
English (en)
Inventor
Darin Edward Gerhart
Cory Lappi
Daniel Robert Lipps
William Jared WALKER
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.)
Western Digital Technologies Inc
Original Assignee
HGST Netherlands BV
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 HGST Netherlands BV filed Critical HGST Netherlands BV
Publication of DE102015010906A1 publication Critical patent/DE102015010906A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2123Dummy operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Eine Speichervorrichtung umfassend wenigstens eine Speicherstelle zum Speichern von mittels eines ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebenen Daten darstellenden Informationen, und einen Lesekanal mit einem zweiten Verschlüsselungs-/Entschlüsselungsverfahren zum Lesen und Entschlüsseln von Informationen wie sie geschrieben sind. Auch umfasst die Speichervorrichtung eine Einrichtung, die das Lesen der wenigstens einen Speicherstelle mittels des zweiten Verschlüsselungs-/Entschlüsselungsverfahrens als Reaktion auf eine Anzeige, dass die wenigstens eine Speicherstelle mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschrieben wurde, verhindert. In einer weiteren Ausführungsform wird als Reaktion auf eine Anzeige eines anderen Verschlüsselungs-/Entschlüsselungsverfahrens eine Lesung von nur Nullen wiedergegeben.

Description

  • TECHNISCHES GEBIET
  • Verschiedene hier beschriebene Ausführungsformen betreffen ein Verfahren und eine Einrichtung, die zum Verhindern der Erzeugung von Mülldaten benutzt werden, nachdem gewisse mit den Daten verbundene Parameter wie beispielsweise ein Verschlüsselungsparameter geändert werden.
  • HINTERGRUND
  • Speichern von Daten umfasst Schreiben von die Daten darstellenden Informationen zu einer Speichervorrichtung oder -einrichtung. Es gibt viele Arten von Speichervorrichtungen. Obwohl sie jedoch veränderlich sind, weisen die meisten der Speichervorrichtungen gemeinsame Ziele auf. Zu den Zielen gehören Speichern vergrößerter Datenmengen und Bereitstellung eines Mittels zum Sicherstellen, dass die Daten, so wie sie gespeichert sind, sicher sind. Verschlüsselung ist eine Weise, die Daten sicher zu machen. Verschlüsselung ist der Vorgang des Codierens von Informationen auf eine solche Weise, dass nur berechtigte Beteiligte sie lesen können. Verschlüsselung verhindert nicht Hacken, verringert aber die Wahrscheinlichkeit, dass der Hacker die verschlüsselten Daten lesen kann. In einem Verschlüsselungsschema werden die als Klartext bezeichneten Informationen mittels eines Verschlüsselungsalgorithmusses verschlüsselt, wodurch sie in unlesbaren Chiffretext verwandelt werden. Dies geschieht gewöhnlich mittels eines Verschlüsselungschlüssels, der angibt, wie die Nachricht zu codieren ist. Irgendein Angreifer, der den Chiffretext sehen kann, sollte nicht in der Lage sein, irgend etwas über die ursprünglichen Informationen zu bestimmen. Ein berechtigter Beteiligter ist jedoch in der Lage, den Chiffretext mittels eines Entschlüsselungsalgorithmusses zu decodieren, der gewöhnlich einen geheimen Entschlüsselungsschlüssel erfordert, zu dem Angreifer keinen Zugang haben. Aus technischen Gründen benötigt ein Verschlüsselungsschema gewöhnlich einen Schlüsselerzeugungsalgorithmus zum zufallsmäßigen Erzeugen von Schlüsseln.
  • Von Zeit zu Zeit können Verschlüsselungsparameter wie beispielsweise Verschlüsselungs-/Entschlüsselungsschlüssel für eine Speichervorrichtung geändert werden. Wenn Verschlüsselungsparameter geändert werden, wie ein Schlüssel oder Bereichsparameter, ist es möglich, Mülldaten mit CRC-Fehlern (CRC – Cyclic Redundancy Check = zyklische Redundanzprüfung) im LBA-Raum (LBA – Logical Block Address = logische Blockadresse) der Änderung aufzuweisen. Gegenwärtig ist eine Lösung zum Verhindern der CRC-Fehler, allen
  • Datenschutz an verschlüsselten Laufwerken zu deaktivieren. Dadurch werden die Daten freigelegt, die Daten sind nicht sicher, wenn das Datenschutzschema deaktiviert ist. Natürlich wird diese Lösung gewissen Standards für die Sicherheit der Daten nicht gerecht. Viele Hersteller, die Speichervorrichtungen in von ihnen angebotenen Produkten benutzen, qualifizieren die Speichervorrichtungen auf Grundlage von Konformität mit Standards. Abschalten des Sicherheitsmerkmals verhindert richtigen T10-Datenschutz auf verschlüsselten Speichervorrichtungen. Ein weiterer Standard, dem viele entsprechen müssen, ist der Standard Opal SSC. Der Standard gibt an, dass:
    An Opal SSC compliant SD SHALL implement Full Disk Encryption for all host accessible user data stored an media. AES-128 or AES-256 SHALL be supported [Paragraph 2.4, page 10 of 81 of the TCG Storage Opal SSC, version 1.0.
    ”The Opal SSC is an implementation profile for Storage Devices built to:
    • • Protect the confidentiality of stored user data against unauthorized access once it leaves the owner's control (involving a power cycle and subsequent deauthentication)
    • • Enable interoperability between multiple SD vendors
    ”An Opal SSC compliant SD:
    • • Facilitates feature discoverability
    • • Provides some user definable features (e. g. access control, locking ranges, user passwords, etc.)
    • Supports Opal SSC unique behaviors (e. g. communication, table management) [Section 2.1, page 10/81]
    [„Eine Opal SSC konforme SD MUSS volle Plattenverschlüsselung für alle dem Host zugänglichen, auf Medien gespeicherten Benutzerdaten implementieren. AES-128 oder AES-256 WERDEN unterstützt [Absatz 2.4, Seite 10 von 81 der TCG Speicher-Opal-SSC, Version 1.0
    „Die Opal SSC ist ein Implementierungsprofil für Speichervorrichtungen gebaut zum:
    • • Schützen der Vertraulichkeit gespeicherter Benutzerdaten gegen unberechtigten Zugang nach Verlassen der Kontrolle des Eigentümers (mit einem Kraftzyklus und nachfolgender Entauthorisierung)
    • • Ermöglichen von Interoperabilität zwischen mehreren SD-Lieferanten
    „Eine Opal SSC-konforme SD:
    • • Erleichtert Merkmalsentdeckbarkeit
    • • Bietet einige benutzerdefinierbare Merkmale (z. B. Zugangssteuerung, Verriegelungsbereiche, Benutzerpassworte, usw.)
    • Unterstützt für Opal SSC einzigartige Verhalten (z. B. Kommunikation, Tabellenmanagement) [Abschnitt 2.1, Seite 10/81]
  • Wenn die Daten zu allen Zeiten sicher sind, ist die Vertraulichkeit gespeicherter Benutzerdaten gegen unberechtigten Zugang geschützt, sobald sie die Kontrolle des Eigentümers verlassen. Zusätzlich ermöglicht Erfüllen eines Standards zur Sicherheit der Daten auf einer Speichereinrichtung Interoperabilität zwischen mehreren Speichervorrichtungslieferanten. Auch erleichtert Erfüllen eines Standards Merkmalsentdeckbarkeit, bietet einige vom Benutzer definierbare Merkmale (z. B. Zugangssteuerung, Verriegelungsbereiche, Benutzerpassworte usw.) und unterstützt einmalige Verhalten (z. B. Kommunikation, Tabellenmanagement).
  • KURZFASSUNG DER ERFINDUNG
  • Eine Speichervorrichtung umfassend wenigstens eine Speicherstelle zum Speichern von mittels eines ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebenen Daten darstellenden Informationen, und einen Lesekanal mit einem zweiten Verschlüsselungs-/Entschlüsselungsverfahren zum Lesen und Entschlüsseln von Informationen so wie sie geschrieben sind. Auch umfasst die Speichervorrichtung eine Einrichtung, die das Lesen der wenigstens einen Speicherstelle mittels des zweiten Verschlüsselungs-/Entschlüsselungsverfahrens als Reaktion auf eine Anzeige, dass die wenigstens eine Speicherstelle mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschrieben wurde, verhindert. Die Einrichtung, die das Lesen der wenigstens einen physikalischen Blockadresse verhindert, umfasst eine Vorrichtung zum Zuordnen eines Merkers zu der wenigstens einen mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebenen Speicherstelle. Die Einrichtung, die das Lesen der wenigstens einen physikalischen Blockadresse verhindert, umfasst auch eine Vorrichtung zum Wiedergeben von Inhaltsleere für die wenigstens eine mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebene Speicherstelle als Reaktion auf eine Anzeige, dass der Lesekanal ein zweites Verschlüsselungs-/Entschlüsselungsverfahren benutzt. Die Einrichtung, die das Lesen der wenigstens einen mit dem Verschlüsselungs-/Entschlüsselungsverfahren geschriebenen Speicherstelle verhindert, umfasst in einer Ausführungsform eine Vorrichtung zum Schreiben von Nullen zu der wenigstens einen mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebenen Speicherstelle.
  • Eine Speichereinrichtung umfasst eine Festkörpervorrichtung mit einer Vielzahl von Speicherstellen, einen Schreibkanal zum Schreiben von Daten darstellenden Informationen zu der Vielzahl von Speicherstellen in einer Festkörpervorrichtung und einen Lesekanal zum Lesen von Daten darstellenden Informationen aus der Vielzahl von Speicherstellen in einer Festkörpervorrichtung. Die Speichereinrichtung umfasst auch eine Steuerung, die Operationen der Speichereinrichtung einschließlich des Schreibens von Informationen zu der Vielzahl von Speicherstellen in einer Festkörpervorrichtung und des Lesens von Daten darstellenden Informationen aus der Vielzahl von Speicherstellen in einer Festkörpervorrichtung steuert. Auch umfasst die Speichereinrichtung ein Indirektionssystem weiterhin umfassend einen Satz logischer Blockadressen und einen Satz physikalischer Blockadressen, die der Vielzahl von Speicherstellen in der Festkörpervorrichtung der Speichereinrichtung entsprechen. Auch umfasst das Indirektionssystem eine Abbildung, die eine logische Blockadresse wenigstens einer physikalischen Blockadresse zuordnet. Auch umfasst die Abbildung wenigstens einen Merker, der ein zum Schreiben und Lesen von Daten aus der physikalischen Blockadresse benutztes Verschlüsselungs-/Entschlüsselungsverfahren anzeigt. Die Steuerung gibt ein Lesen von Nullen wieder, wenn sich das zum Lesen der physikalischen Blockadresse benutzte Verschlüsselungs-/Entschlüsselungsverfahren geändert hat.
  • Ein Verfahren zum Verringern der Erzeugung von Mülldaten in einer Speichereinrichtung umfasst Überwachen einer Speichereinrichtung auf eine Änderung in einem zum Lesen und Schreiben von Daten benutzten Verschlüsselungs-/Entschlüsselungsschema und als Reaktion auf die Änderung in dem Verschlüsselungs-/Entschlüsselungsschema Bewirken, dass wenigstens eine logische Blockadresse eine Anzeige, in Nullen geschrieben zu sein, wiedergibt, wenn die mit der logischen Blockadresse verbundene physikalische Blockadresse mittels des alten Verschlüsselungs-/Entschlüsselungsschemas verschlüsselt worden ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Ausführungsformen werden durch die nachfolgende ausführliche Beschreibung in Verbindungen mit den beiliegenden Zeichnungen leicht verständlich, worin gleiche Bezugsziffern gleiche Strukturelemente bezeichnen und in denen:
  • 1A ein Schaltschema eines NAND-Flash-artigen Speichers nach einer beispielhaften Ausführungsform ist.
  • 1B ein weiteres Schaltschema einer NAND-Flash-artigen Speichervorrichtung nach einer beispielhaften Ausführungsform ist.
  • 2 ein Schaltschema einer Speichereinrichtung oder -vorrichtung nach einer beispielhaften Ausführungsform ist.
  • 3 ein Schaltschema eines Indirektionssystems einer Speichervorrichtung nach einer beispielhaften Ausführungsform ist.
  • 4 eine Art von mit einem Indirektionssystem einer Speichervorrichtung nach einer beispielhaften Ausführungsform verbundenen Tabelle ist.
  • 5 ein Verfahren zur Wiedergabe von „Nullen” aus mit einem anderen oder alten Verschlüsselungsschema geschriebenen Daten nach einer beispielhaften Ausführungsform ist.
  • 6 ein Verfahren zur Wiedergabe von „Nullen” aus mit einem anderen oder alten Verschlüsselungsschema geschriebenen Daten nach einer beispielhaften Ausführungsform ist.
  • 7 eine weitere Art von mit einer Indirektionssteuerung einer Speichervorrichtung nach einer beispielhaften Ausführungsform verbundenen Tabelle ist.
  • 8 ein Verfahren zur Wiedergabe von „Nullen” aus mit einem anderen oder alten Verschlüsselungsschema geschriebenen Daten nach einer beispielhaften Ausführungsform ist.
  • 9 eine weitere Art von mit einer Indirektionssteuerung einer Speichervorrichtung nach einer beispielhaften Ausführungsform verbundenen Tabelle ist.
  • 10 ein Flussdiagramm eines Verfahrens zum Verhindern der Erzeugung von Mülldaten nach einer beispielhaften Ausführungsform ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der nachfolgenden Schrift sind zahlreiche bestimmte Einzelheiten aufgeführt, um ein umfassendes Verständnis der den beschriebenen Ausführungsformen zugrundeliegenden Konzepte zu vermitteln. Dem Fachmann wird jedoch offenbar sein, dass die beschriebenen Ausführungsformen ohne einige oder alle dieser bestimmten Einzelheiten ausgeübt werden können. In anderen Fällen sind wohlbekannte Verarbeitungsschritte nicht ausführlich beschrieben worden, um unnötiges Verdecken der zugrundeliegenden Konzepte zu vermeiden.
  • Im Allgemeinen beschreibt die vorliegende Offenbarung Verfahren zum Schreiben und Lesen von Daten zu einer Festkörpervorrichtung oder einem sonstigen Speichermedium wie beispielsweise Festplattenlaufwerke, Hybridvorrichtungen und dergleichen. In dieser bestimmten Anwendung beschreibt die vorliegende Offenbarung Schreiben und Lesen von Daten darstellenden Informationen zu einer Flash-Speicher-basierenden Festkörpervorrichtung. Es ist zu beachten, dass dies eine Art von Speichermedium oder Festkörpervorrichtung ist und dass die Erfindung in Festkörpervorrichtungen benutzt werden könnte, die andere Arten von Speichertechniken einsetzen. Anders gesagt ist die Erfindung nicht auf Flash-Speicher begrenzt und könnte in anderen Speicherarten benutzt werden wie beispielsweise Phasenänderungsspeicher (PCM – Phase Change Memory), magnetoresistivem Direktzugriffsspeicher (MRAM = Magnetoresistive Random-Access Memory), resistivem Direktzugriffsspeicher (RRAM oder ReRAM) oder dergleichen.
  • Zurückkehrend zu der Besprechung von Flash-Speicher. Es gibt zwei Hauptarten von Flash-Speicher, die nach der Art von zum Bilden des Flash-Speichers benutzten Logikgattern benannt sind. Es gibt NAND-Art von Flash-Speicher und NOR-Art von Flash-Speicher. Die internen Eigenschaften der einzelnen Flash-Speicherzellen weisen Eigenschaften ähnlich denen der entsprechenden Gatter auf. NAND-artige Flash-Speicher können leicht in Blöcken (oder Seiten) geschrieben oder gelesen werden, die allgemein viel kleiner als die gesamte Vorrichtung sind. NOR-artige Flash-Speicher erlauben, dass ein einzelnes Maschinenwort (Byte) leicht geschrieben werden kann – zu einer gelöschten Stelle – oder unabhängig gelesen werden kann. Die NAND-Art wird hauptsächlich im Hauptspeicher, Speicherkarten, USB-Flash-Laufwerken, Festkörperlaufwerken und ähnlichen Produkten zur allgemeinen Speicherung und Übertragung von Daten benutzt. Die NOR-Art, die wahren Direktzugriff und daher direkte Codeausführung zulässt, wird als Ersatz für den älteren EPROM und als Alternative für gewisse Arten von ROM-Anwendungen benutzt, wohingegen NOR-Flash-Speicher ROM hauptsächlich auf Maschinencodeebene emulieren kann; viele digitale Konstruktionen benötigen ROM-(oder PLA-)Strukturen für andere Verwendungen, oft mit bedeutend höheren Geschwindigkeiten als (wirtschaftlicher) Flash-Speicher erreichen kann.
  • 2 ist ein schematisches Diagramm einer Speichereinrichtung oder -vorrichtung 200. Speicher besteht aus Speicherstellen oder Bit 210, 211, 212, 213, 214, angeordnet in einem zweidimensionalen Raster. Die Bit 210, 211, 212, 213, 214 sind in Spalten angeordnet (CAS) 220, 221, 222, 223, 224, 225, 226, 227 und Reihen (RAS) 230, 231, 232, 233, 234, 235, 236, 237. Jedes Bit kann durch eine Spalte und Reihe identifiziert werden. Zum Beispiel ist Bit 211 in Spalte 225 und Reihe 232. Dieses bestimmte Bit ist kreuzschraffiert, um einen Wert „1” darzustellen. Ein nichtkreuzschraffiertes Bit wie beispielsweise Bit 214 stellt einen Wert „0” dar.
  • Um Daten zu einer Spalte zu schreiben wird eine Spalte ausgewählt und dann werden Reihen geladen, um Daten in die der bestimmten Spalte zugeordneten Bit zu schreiben. Als Beispiel wird, wenn Spalte 225 geschrieben wird, Spalte 225 ausgewählt.
  • Reihen 230, 232, 234, 235 und 236 werden geladen mit dem Ergebnis eines Wertes „1”, gespeichert an den bestimmten Bitstellen (gezeigt als kreuzschraffiert).
  • Anders gesagt werden Speicherzellen in einer Anordnung von Spalten (Bitlinien) und Zeilen (Wortlinien) auf einen Siliziumwafer aufgeätzt. Die Schnittstelle einer Bitlinie und Wortlinie bildet die Adresse der Speicherzelle.
  • Zum Aktivieren des Transistors an jedem Bit in der Spalte wird eine Ladung durch die zutreffende Spalte (CAS) durchgeführt. Beim Schreiben enthalten die Zeilenlinien den Zustand, den der Kondensator annehmen sollte. Beim Lesen bestimmt ein Leseverstärker die Ladungshöhe im Kondensator. Wenn sie mehr als 50% beträgt, liest er das als eine 1; ansonsten liest er das als ein Null. Vom Zähler wird die Auffrischfolge basierend darauf verfolgt, auf welche Zeilen in welcher Reihenfolge zugegriffen worden ist. Die dafür notwendige Zeitdauer wird in Nanosekunden ausgedrückt.
  • Speicherzellen alleine wären ohne eine Art und Weise, Informationen darin einzugeben und daraus auszulesen wertlos. Speichervorrichtungen umfassen mit dem Speicher verbundene Schaltungen zum Identifizieren jeder Zeile und Spalte, zum Lesen und Wiederherstellen von Signalen aus Zellen und zum Ermöglichen von Ladungen an verschiedenen Speicheradressen.
  • 1A und 1B zeigen jeweils ein Schaltbild von NAND-artigem-Flash-Speicher 100 und 100' nach einer beispielhaften Ausführungsform. In jedem Fall ist eine NAND-Flash-Festkörpervorrichtung 110 über einen Host-Prozessor 130 an einem Host-Computer angebracht. In 1A bearbeitet der Host-Prozessor 130 viele der mit dem Lesen und Schreiben von Daten darstellenden Informationen zur NAND-Flash-Festkörpervorrichtung 110 verbundenen Operationen. Der Host-Prozessor 130 umfasst ein Fehlerkorrekturcode-(FCC – Error Correction Code)Modul 131, Blockfehlermanagementmodul 132, ein Nutzungsausgleichmodul (Wear Leveling Modul) 133, ein NAND-Flash-Treibermodul 134 und Adressindirektionsmodul 135. Alle diese Module können Hardware, Software oder eine Kombination von Hardware und Software sein. Vom Fehlerkorrekturcode-(FCC-)Modul 131 wird die Bestimmung eines Fehlers beim Datenlesen und die Anwendung von Fehlerkorrekturcode (FCC – Error Correction Code) an die Daten, wie sie gelesen sind, behandelt. Der Fehlerkorrekturcode wird zum Orten und Korrigieren des Fehlers in einem gelesenen Datenblock benutzt.
  • Vom Blockfehlermanagementmodul 132 werden Blockfehler im NAND-Flash 110 bearbeitet. Daten von einem Host kommen allgemein als ein Datenblock vom Host. Der Datenblock kann jede Länge aufweisen, obwohl 512 Byte und 4000 genormte Längen gewesen sind und sehr üblich sind. Der NAND-Flash kam Datenblöcke empfangen. Die Herstellung einer Festkörpervorrichtung ist in einigen Fällen weniger als perfekt. Als Ergebnis kann es eine oder mehrere Speicherstellen geben, die fehlerhaft sind und nicht zulassen, dass ein Datenblock zuverlässig dort gespeichert wird, so dass er später abgerufen werden kann. Vom Blockfehlermanagementmodul 132 werden diese Blockfehlerstellen gespeichert und verhindert, dass Daten dort gespeichert werden. Blockfehler können auch während der Lebensdauer des NAND-Flash 110 erscheinen, so dass das Blockfehlermanagementmodul 132 auch alle anderen Speicherstellen notiert, die sich in Blockfehler entwickelt haben.
  • Das Adressindirektionsmodul 135 arbeitet in Zusammenwirkung mit dem Blockfehlermanagementmodul 132. Das Adressindirektionsmodul 135 umfasst Abbilden von eigentlichen physikalischen Blockadressen (PBA – Physical Block Adresses) auf logische Blockadressen (LBA). Die LBA bleiben konstant. Der Host kann dann einen Befehl zum Schreiben an eine bestimmte LBA erteilen. Die eigentliche Adresse, an der die Daten gespeichert sind (PBA), kann sich ändern. Das Adressindirektionsmodul 135 verfolgt den Ort der LBA sowie er beschrieben oder auf dem NAND-Flash 110 gespeichert wurde. Damit wird, wenn der Host Daten aus dem NAND-Flash 110 auslesen muss, vom Adressindirektionsmodul 135 sichergestellt, dass die richtige mit der LBA verbundene PBA gelesen wird, um sicherzustellen, dass die die Daten darstellenden Informationen gelesen werden und zur Weiterverarbeitung zum Verdoppeln der in die NAND-Flash-Festkorpervorrichtung eingegebenen Daten dargeboten werden. Auch ist das Adressindirektionsmodul 135 zum Verschleißausgleich notwendig. Wenn Daten häufiger als eine Anzahl von Verschleißzyklen zu einer bestimmten Speicherstelle geschrieben werden, kann die Speicherstelle abgenutzt oder unzuverlässig werden. Dies wird durch Nutzungsausgleich erkannt und die Lebensdauer des Speichers durch Ändern von Speicherstellen oder eigentlichen physikalischen Stellen, wo die Informationen geschrieben werden, verlängert. Die LBA bleibt die Gleiche, während sich die PBA zum Verhindern übermäßiger frühzeitiger Nutzung ändern wird.
  • Vom Nutzungsausgleichmodul (Wear Leveling Modul) 133 wird überwacht und verwaltet, wo Daten geschrieben werden. Ein NAND-Flash weist viele Speicherstellen auf, zu denen Daten geschrieben werden können. Diese Speicherstellen werden mit der Zeit „abgenutzt”. Die Speicherstellen in einem NAND-Flash 110 können nur für eine Anzahl von Zyklen zuverlässig neu geschrieben werden. Vom Nutzungsausgleichmodul 133 wird die Anzahl von Lesungen und Schreibungen zu verschiedenen Speicherstellen überwacht und die Speicherstelle gewechselt, um die Lebensdauer des NAND-Flash 110 zu verlängern. Wenn beispielsweise nur die Hälfte der Speicherstellen fortlaufend zu dieser Hälfte des NAND-Flash geschrieben werden würde, würde die Hälfte des NAND-Flash abgenutzt werden. Obwohl die gesamte Vorrichtung nicht abgenutzt werden würde, würde die Kapazität zum Speichern von Daten stark behindert werden und schlechte Leistung ergeben. Vom Nutzungsausgleichmodul 133 wird die Abnutzung am NAND-Flash 110 verwaltet. Vom Nutzungsausgleichmodul 133 wird die Lebensdauer des NAND-Flash 110 effektiv verlängert. Das funktioniert auch mit dem Adressindirektionsmodul 135, da das Nutzungsausgleichmodul 133 entscheiden kann, dass eine bestimmte Menge von Blöcken (PBA) reserviert werden muss, um vorzeitige Abnutzung der Speicherstellen im NAND-Flash 110 zu vermeiden.
  • Das NAND-Flash-Treibermodul 134 ist ein Anweisungssatz für den Betrieb des NAND-Flash 110.
  • Die Festkörpervorrichtung 100 umfasst auch ein Sicherheitsmodul 136. Vom Sicherheitsmodul 136 werden Daten so wie sie geschrieben sind verschlüsselt und die Daten beim Lesen entschlüsselt. Durch die Verschlüsselung der Daten werden die Daten sicher gehalten. Es ist wichtig, die Daten zu allen Zeiten sicherzuhalten entsprechend dem gesunden Menschenverstand wie auch gewissen Kriterien für Produkte, die erfüllt werden müssen, damit das Produkt zur Verwendung in anderen Produkten qualifiziert ist. In einigen Fällen kann Qualifizieren eines Produkts Erfüllen einer Norm für Sicherheit der Daten umfassen. Bei einigen Verschlüsselungs- und Entschlüsselungsverfahren bestimmt eine (auch als Parameter bekannte) Schlüsselinformation die Funktionsausgabe eines kryptografischen Algorithmus oder Codes. Ohne einen Schlüssel würde der Algorithmus kein nützliches Ergebnis erzeugen. Bei Verschlüsselung gibt ein Schlüssel die bestimmte Transformation von Klartext in Chiffretext oder umgekehrt während der Entschlüsselung an. Schlüssel werden auch in anderen kryptografischen Algorithmen benutzt, wie beispielsweise Digitalsignaturverfahren und Nachrichtenauthentifizierungscodes für Produkte, die von Normenorganisationen vorgegeben werden. Die vorliegende bestimmte Erfindung behandelt Fälle, in denen ein Parameter geändert wird. Zum Beispiel könnte ein Schlüssel geändert werden. Es ist zu bemerken, dass wenn codierte Informationen gelesen werden, der mit dem Schreiben verbundene Schlüssel zusammen mit dem Algorithmus zum Decodieren der Information und ihrer Transformation in die Daten wie geschrieben benutzt werden muss. Ohne den Parameter, oder wenn der Parameter falsch ist, funktioniert der Decodierungsalgorithmus nicht. Eine Ausgabe von mit dem falschen Schlüssel decodierte Daten darstellenden Informationen wird allgemein als Müll bezeichnet. Dies sind nicht die ursprünglichen Daten so wie sie geschrieben wurden. Müll kann auch einen Datenkanal während eines Leseversuchs belasten. Wenn zum Beispiel Müllinformationen gelesen werden, wird das Fehlerkorrekturmodul bestimmen, dass in den gelesenen Daten ein Fehler besteht. Der sich aus Mülldaten ergebende „Fehler” wird nicht schnell korrigierbar sein. In Abhängigkeit von dem Schema für Fehlerkorrektur könnte das Fehlerkorrekturmodul versuchen, die Daten mittels verschiedener tiefer Datenwiedergewinnungsverfahren wiederzugewinnen. Dadurch wird Zeit verschwendet und auch die Zeit, während der der Prozessor versucht, den „Fehler” zu korrigieren, verschwendet. Dies ist natürlich nur ein Beispiel der Probleme, die sich aus dem Lesen von Informationen ergeben, die sich als Mülldaten erweisen.
  • 1B zeigt ein Schaltbild einer anderen Art von NAND-Flash-artiger Speichervorrichtung 100' nach einer beispielhaften Ausführungsform. In jedem Fall ist eine NAND-Flash-Festkörpervorrichtung 110 über einen Host-Prozessor 130 an einem Host-Computer angebracht. Der Hauptunterschied zwischen Speichervorrichtung 100' und Speichervorrichtung 100 ist der Prozessor 120, der sich bei der NAND-artigen Festkörpervorrichtung 100' befindet. Der Prozessor 120 ist vom Host-Prozessor 130 getrennt. Vom Host-Prozessor 130 werden im Fall der NAND-artigen Festkörpervorrichtung 100' einige der Verarbeitungsmodule zu dem mit der NAND-artigen Festkörpervorrichtung 100' verbundenen Prozessor 120 abgeladen. Der Prozessor 120 kann ein Universalprozessor sein oder ein dedizierter Prozessor, der eine bestimmte Aufgabe oder Aufgaben bearbeitet. Wie in 1B gezeigt umfasst der Prozessor 120 das Fehlerkorrekturcode-(ECC – Error Correction Code)Modul 131, das Blockfehlermanagementmodul 132 und das Nutzungsausgleichmodul (Wear Leveling Module) 133, zum Beispiel. Diese Operationen werden vom Host-Prozessor 130 zum Prozessor 120 oder zur NAND-Steuerung weitergeleitet. Diese Blöcke 131, 132 und 133 fungieren auf die gleiche Weise wie oben hinsichtlich der 1A besprochen. Der Kürze halber werden diese Funktionen hier nicht wiederholt. In 1B koppeln ein Datenbus 160, eine Befehlsleitung 161 und ein Taktsignal 162 den Hostprozessor und die NAND-Steuerung oder den Prozessor 120 kommunikationstechnisch. Einige der über die Befehlsleitung 161 geleiteten Befehle befehlen nur einem der Module 131, 132, 133, ihre bestimmten Verfahren zu beginnen. Dies ist dahingehend behilflich, dass der Host-Prozessor 130 für andere Aufgaben freigegeben wird. Die Anzahl von vom Host zur NAND-Steuerung 120 weitergeleiteteten Aufgaben ist eine Sache eines Ausgleichs des Bestimmens, welche Aufgaben vollständig spezialisiert sind und besser durch die NAND-Steuerung 120 ausgeführt werden sollten. Andere Aufgaben können allgemeiner anwendbar sein und im Host-Prozessor 130 resident gehalten werden.
  • Wie oben beschrieben können auf dem NAND-artigen Flash-Speicher 110, 110' gespeicherte Daten als Datenblöcke organisiert sein. In einigen beispielhaften Ausführungsformen wird die Adressindirektion zum Schreiben von Datenblöcken zum NAND-artigen Flash-Speicher 110, 110' benutzt. Das heißt Host-Dateisysteme bearbeiten logische Blockadressen (LBA) in Befehlen zum Schreiben von Datenblöcken zum NAND-artigen Flash-Speicher 110, 110' und Auslesen von Datenblöcken aus dem NAND-artigen Flash-Speicher 110, 110' ungeachtet der eigentlichen Stellen im NAND-artigen Flash-Speicher 110, 110'. Die eigentliche physikalische Adresse ist die intern durch den NAND-artigen Flash-Speicher 110, 110' benutzte physikalische Blockadresse (PBA). Adressindirektion ist typischerweise im Steuerungsteil der Architektur der Speichervorrichtung (z. B. NAND-Steuerung 120 der 1B) mittels von Indikrektionstabellen implementiert, die zum Verfolgen der mit einer LBA verbundenen physikalischen Stelle benutzt werden. Anders gesagt wird durch die Indirektionstabellen die LBA auf eine PBA im NAND-artigen Flash-Speicher 110, 110' abgebildet.
  • Wie oben beschrieben werden Daten typischerweise in den NAND-artigen Flash-Speicher 110, 110' in in einen Satz von Speicherstellen innerhalb des NAN-artigen Flash-Speichers 102 enthaltenen Blöcken oder Sektoren eingelesen oder daraus ausgelesen. Die Blockgrößen können 512 Byte oder in einigen Ausführungsformen 4000 Byte aufweisen.
  • 3 ist ein Schema eines Indirektionssystems einer Speichervorrichtung 300 nach einer beispielhaften Ausführungsform. Insbesondere ist 3 ein Schaltbild des kommunikationstechnisch an einen Host-Computer 310 angekoppelten Speichersystems 300. Das Speichersystem 300 empfängt Schreibbefehle vom Host 310. Das Speichersystem 300 speichert Daten darstellende Informationen in logischen Blockadressen (LBA – Logical Block Addresses). Auch werden vom Speichersystem 300 Informationen abgerufen oder die Daten gelesen und logische Blockadressen (LBA) zum Host 310 zurückgeliefert. Wie gezeigt umfasst das Speichersystem 300 ein Indirektionssystem 320, eine erste Speichervorrichtung 330 und eine zweite Speichervorrichtung 332. Das Indirektionssystem 320 kann LBA auf eine oder mehrere Speichervorrichtungen wie beispielsweise Speichervorrichtung 330 und 332 abbilden. Die erste Speichervorrichtung 330 und die zweite Speichervorrichtung 332 können ein NAND-Flash 110, 110' oder eine allgemeine Speichervorrichtung wie beispielsweise Vorrichtung 200 sein. Das Host-System 310 kann ein Prozessor, ein unabhängiges Computersystem, ein Serversystem oder sonstige Hardwarekomponente sein, die mit der Speichervorrichtung 300 kommuniziert.
  • Indirektionssteuerung 320 umfasst Prozessor 307, an dem Prozessor 307 kommunikationstechnisch angekoppelten Speicher und computerlesbares Medium 309. Prozessor 307 kann eine programmierbare Logiksteuerung (PLC – Programmable Logic Controller), Mikroprozessor oder Mikrosteuerung sein. Das computerlesbare Medium 309 kann von den Speichervorrichtungen 330, 332 getrennt sein oder sich auf in Speichervorrichtungen 330, 332 reservierten Raum zum Speichern von Datenstrukturen und/oder Anweisungen zur Ausführung durch den Prozessor 307 beziehen.
  • Von der Indirektionssteuerung 320 wird eine dynamische Umsetzungsschicht zwischen durch das Host-System benutzten logischen Blockadressen (LBA) und zum Zugreifen auf in der Festkörpervorrichtung 330, 332 gespeicherte Daten benutzte physikalische Blockadressen (PBA) bereitgestellt. Die „physikalische Blockadresse” entspricht einer eigentlichen Speicherstelle oder einer Mehrzahl von eigentlichen Speicherstellen in den Speichervorrichtungen 330, 332. Von der Indirektionssteuerung 320 wird die Zuweisung von LBA zu PBA verwaltet. In einigen Speichersystemen verbleibt Abbilden von LBA auf PBA relativ statisch, da einzelne Speicherzellen sehr selten wiederbeschrieben werden können. In komplizierteren Architekturen kann sich die Abbildung zwischen LBA und PBA mit jeder Schreiboperation ändern, da das System die einer bestimmten logischen Stelle (d. h. LBA) zugewiesene physikalische Stelle (d. h. PBA) dynamisch bestimmt. Die Daten für die gleiche LBA werden das nächste Mal, wenn die Host-LBA aktualisiert wird, zu einer anderen Stelle geschrieben. Auf diese Weise wird durch die Indirektionssteuerung 320 eine dynamische Umsetzungsschicht zwischen durch Host-System 310 bereitgestellte LBA und mit Speichervorrichtungen 330, 332 verbundenen PBA bereitgestellt. Die Indirektionssteuerung 320 ist für Verwalten der Zuweisung von LBA zu der Vielzahl von PBA verantwortlich.
  • Um Daten in Speichervorrichtungen 330, 332 sicherzuhalten, werden die Daten viele Male mittels eines Schlüssels oder sonstigen Parameters verschlüsselt. Solange der Schlüssel oder sonstige Parameter gleich bleibt, sind die Daten sicher. Der Schlüssel oder sonstige Parameter wird zum Verschlüsseln der Daten vor Schreiben der Daten zu der Speichervorrichtung 330, 332 benutzt. Auch wird der Schlüssel oder sonstige Parameter zum Entschlüsseln der aus der Speichervorrichtung 330, 332 ausgelesenen Informationen zum Dekodieren der Informationen und Rücktransformieren in die geschriebenen Daten benutzt. Wenn der Schlüssel oder sonstige Parameter von dem, Schlüssel oder sonstigen Parameter wie er geschrieben wurde geändert wird, treten Probleme auf. Wenn ein Schlüssel oder sonstiger zum Schreiben der Daten benutzter Parameter geändert wird, wird Decodieren oder Entschlüsseln der Informationen nicht die geschriebenen Daten ergeben. In der Tat werden bedeutungslose oder „Müll”-Daten wiedergegeben. Dies kann viel zeitaufwändige Verfahren wie beispielsweise Fehlerwiedergewinnungsverfahren auslösen, was die Reaktionsfähigkeit des Speichersystems 300 verlangsamen kann. Es ist nicht wünschenswert, langsame Reaktionszeiten zu besitzen. Anstatt diese Verfahren auszulösen, die die Leistung des Speichersystems 300 verschlechtern können, ist das Speichersystem 300 mit einem Verfahren zur Wiedergabe einer wünschenswerteren Reaktion vorgesehen. Diese sind nachstehend beschrieben. Diese vermeiden „Müll”-Daten und erzeugen eine Reaktion, als ob keine Daten oder Informationen vorhanden wären.
  • Die vorliegende Offenbarung beschreibt nunmehr Weisen zum Erzeugen einer Lesung von Inhaltsleere aus Speichervorrichtungen, die vorher mit einem unterschiedlichen Schreibparameter beschrieben worden sind. Ein Schreibparameter, der geändert werden könnte, ist ein Schlüssel, der allgemein zum Schreiben von Daten darstellenden Informationen benutzt wird. Anstatt „Müll”-Daten oder -Informationen zurückzulesen wird eine Anzeige von Inhaltsleere erzeugt. Zum Beispiel könnte Inhaltsleere durch eine Lesung von nur „Einsen” oder nur „Nullen” für einen Block oder Satz von Datenblöcken angezeigt sein. Die Erzeugung von Inhaltsleere wird erreicht, wenn die Daten gelesen werden, während die Sicherheitsmaßnahmen beibehalten werden. Wie oben erwähnt ist dies ein Erfordernis bei vielen Vorrichtungen, da Hersteller die Daten nicht aufdecken wollen.
  • 4 ist eine Art von mit einer Indirektionssteuerung 320 eines Speichersystems 300 nach einer beispielhaften Ausführungsform verbundenen Tabelle 400. Die Tabelle 400 ist im Speicher 109 der Indirektionssteuerung 300 gespeichert. Die Tabelle 400 umfasst eine logische Blockadresse 410, eine physikalische Blockadresse 420, eine Anzahl von Blöcken 430 und ein Verschlüsselungsschema 440. Die Anzahl von Blöcken ist die Länge der Kette von logischen Blockadressen oder physikalischen Blockadressen. Zum Beispiel beginnt die logische Blockadresse „1” bei der physikalischer Blockadressen „2” und ist acht Blöcke lang. Das Verschlüsselungsschema ist durch eine „1” bezeichnet. Die Tabelle 400 ist eine Abbildung der logischen Blockadressen auf die physikalischen Blockadressen in den Speichervorrichtungen 330, 332. Logische Blockadresse 3 besitzt eine Startadresse „SSD 1”, die einer Festkörpervorrichtung wie beispielsweise der in 3 gezeigten SSD 332 entspricht. Die Tabelle 400 umfasst eine Anzahl von Zeigern. Ein Zeiger ist eine Variable, die die Speicherstelle (Adresse) einiger Daten anstatt der Daten selbst enthält. Anders gesagt könnte die physikalische Blockadresse 420 für jeden der Datenblöcke als Zeiger bezeichnet werden, da sie die Adresse des Beginns des Datenblocks ist, ob er sich in der ersten Speichervorrichtung 330 oder der zweiten Speichervorrichtung 332 befindet.
  • Es gibt mehrere Verfahren zum Rückgeben von „Nullen” aus Daten, die mit einem alten oder sonstigen Verschlüsselungsschema geschrieben worden sind. Die verschiedenen Verfahren werden hinsichtlich der Tabellen wie beispielsweise der Tabelle 400 und sonstigen unten eingeführten Tabellen besprochen.
  • 5 is ist ein Verfahren 500 zur Wiedergabe von „Nullen” aus mit einem anderen oder alten Verschlüsselungsschema beschriebenen Daten nach einer beispielhaften Ausführungsform. Das Verfahren 500 umfasst Überwachen des Speichers oder der Speichervorrichtung auf eine Änderung in dem zum Lesen und Schreiben der Daten 510 benutzten Verschlüsselungs-/Entschlüsselungsschema. Überwachung der Speichervorrichtung auf eine Änderung in dem Verschlüsselungs-/Entschlüsselungsschema umfasst Überwachungsspalte 440 der Tabelle 400. Spalte 440 bietet eine Anzeige des benutzten Verschlüsselungsschemas. Wie in 4 gezeigt, ist das für logische Blockadressen 1 und 2 benutzte Verschlüsselungsschema durch einen Wert von „1” in Spalte 440 der Tabelle 400 dargestellt. Dies ist ein anderes oder ein altes Verschlüsselungsschema in dieser beispielhaften Ausführungsform. Das für logische Blockadressen 3 und 4 benutzte Verschlüsselungsschema ist durch einen Wert von „2” dargestellt. Dies ist ein neues Verschlüsselungsschema, das anders als das zum Schreiben der mit logischen Blockadressen 1 und 2 verbundenen Daten benutzte Verschlüsselungsschema. Das Verfahren 500 umfasst Wiedergabe einer Anzeige für wenigstens eine logische Blockadresse in Nullen geschrieben zu sein, wenn die mit der logischen Blockadresse verbundene physikalische Blockadresse mittels eines alten Verschlüsselungs-/Entschlüsselungsschemas 512 verschlüsselt worden ist. In diesem Fall zeigt der Wert „1” in Spalte 440 an, dass ein altes Verschlüsselungsschema für logische Blockadressen 1 und 2 benutzt wurde. Das neue Verschlüsselungsschema oder geänderte oder unterschiedliche Verschlüsselungsschema ist durch einen Wert von „2” in Spalte 440 der Tabelle 4 dargestellt. Das aktuelle Verschlüsselungsschema ist durch den Wert von „2” dargestellt. Als Ergebnis wird der Lesekanal mit einer Eingabe von nur Nullen für die mit logischen Blockadressen 1 und 2 verbundenen Daten versehen, da das mit diesen Daten verbundene angezeigte Verschlüsselungsschema einen Wert von „1” aufweist.
  • 6 ist ein Verfahren 600 zur Wiedergabe von „Nullen” aus mit einem anderen oder alten Verschlüsselungsschema geschriebenen Daten nach einer beispielhaften Ausführungsform. Das Verfahren 600 umfasst Überwachen der Speichervorrichtung auf eine Änderung in dem zum Lesen und Schreiben der Daten 610 benutzten Verschlüsselungs-/Entschlüsselungsschema. Überwachen der Speichervorrichtung auf die Änderung im Verschlüsselungs-/Entschlüsselungsschema umfasst Überwachungsspalte 440 der in 4 gezeigten Tabelle 400. Sobald bestimmt wird, dass einige der mit gewissen logischen Blockadressen verbundenen Daten mittels eines alten oder unterschiedlichen Verschlüsselungsschemas verschlüsselt worden sind, werden Nullen zu der physikalischen Blockadresse geschrieben, die vorher mittels des alten Verschlüsselungs-/Entschlüsselungsschemas 612 verschlüsselt worden sind. Daher werden in 4 die mit logischen Blockadressen 1 und 2 verbundenen Daten mit Nullen überschrieben oder neu geschrieben. Insbesondere werden physikalische Blockadresse 2 und die mit logischer Blockadresse 1 verbundenen acht physikalischen Blockadressen mit Nullen überschrieben. Auf ähnliche Weise werden physikalische Blockadresse 172 und die mit logischer Blockadresse 2 verbundenen 21 physikalischen Blockadressen ebenfalls mit Nullen überschrieben. So werden an den eigentlichen, durch die Tabelle 400 angezeigten physikalischen Speicherstellen Nullen auf diese Datenstellen geschrieben.
  • Das Verfahren umfasst auch Lesen der neugeschriebenen physikalischen Blockadressen, die den zugehörigen logischen Blockadressen 614 entsprechen. Anders gesagt werden zu den der logischen Blockadresse zugeordneten physikalischen Blockadressen Nullen geschrieben. Beim Lesen werden zum Lesekanal eigentliche Nullen anstatt von Mülldaten wiedergegeben. Es ist wiederum zu beachten, dass die logischen Blockadressen, die mit Nullen wiedergeschrieben werden, diejenigen sind, wo ein unterschiedliches Verschlüsselungsschema benutzt wird, wie beispielsweise die in 4 gezeigten logischen Blockadressen 1 und 2. Dabei wird angenommen, dass das Verschlüsselungsschema 2 das aktuelle Verschlüsselungsschema ist.
  • 7 ist eine weitere Art von mit einer Indirektionssteuerung 320 des Speichersystems 300 verbundenen Tabelle 700 nach einer beispielhaften Ausführungsform. Die Tabelle 700 umfasst Spalten für die logischen Blockadressen 710, die physikalischen Blockadressen, die den logischen Blockadressen 720 entsprechen, die Anzahl von geschriebenen Blöcken 730, eine Anzeige von Ungültigkeit 734 und eine Anzeige des benutzten Verschlüsselungsschemas 740. Wie in 7 gezeigt, wird, wenn ein altes oder unterschiedliches Verschlüsselungsschema benutzt wird, die logische Blockadresse markiert oder wie durch Spalten 734 in der Tabelle 700 dargestellt als ungültig angezeigt. Das aktuelle Verschlüsselungsschema ist durch die Nummer „2” dargestellt und das alte oder unterschiedliche Verschlüsselungsschema ist durch die Nummer „1” in Spalte 740 der Tabelle 700 dargestellt. In Spalte 734 führen die ersten zwei Einträge, die logischen Blockadressen „1” und „2” entsprechen, einen Wert von 1, der anzeigt, dass die mit diesen logischen Blockadressen verbundenen Daten ungültig sind. Die übrigen zwei Einträge für logische Blockadressen „3” und „4” weisen einen Wert von „0” auf, was anzeigt, dass diese logischen Blockadressen oder Daten in diesen logischen Blockadressen darstellenden Informationen mit dem aktuellen Verschlüsselungsschema geschrieben worden sind.
  • 8 ist ein Verfahren 800 zur Wiedergabe von „Nullen” aus mit einem unterschiedlichen oder alten Verschlüsselungsschema geschriebenen Daten nach einer beispielhaften Ausführungsform. Das Verfahren 800 umfasst Überwachen des Speichersystems und insbesondere einer Speichervorrichtung 330, 332 auf eine Änderung in dem zum Lesen und Schreiben der Daten 810 benutzten Verschlüsselungs-/Entschlüsselungsschemas. Überwachen der Speichervorrichtung auf eine Änderung in dem Verschlüsselungs-/Entschlüsselungsschema umfasst Überwachen der Spalte 740 der in 7 gezeigten Tabelle 700. Setzen der Ungültigkeit auf einen Wert von „1” kann auch als Setzen eines Merkers hinsichtlich der logischen Blockadressen „1” und „2” bezeichnet werden. Ein Merker ist eine Markierung irgendeiner durch Computerverarbeitung oder Interpretierung von Informationen benutzten Art. Ein Merker ist ein das Bestehen oder den Zustand einer bestimmten Bedingung anzeigendes Signal. In dieser beispielhaften Ausführungsform ist die bestimmte große Bedingung, dass die mit einer bestimmten logischen Blockadresse verbundenen Daten darstellenden Daten oder Informationen mit einem Verschlüsselungsschema geschrieben wurden, das sich von dem aktuellen benutzten Verschlüsselungsschema unterscheidet. Dies wird durch den Wert von 1 in der Ungültigkeitsspalte 734 der Tabelle 700 angezeigt. Auch umfasst das Verfahren 800 Zuordnen von wenigstens einem Merker zu wenigstens einer physikalischen Blockadresse, die mit einer logischen Blockadresse verbunden ist, die anzeigt, dass die Daten darstellenden Informationen an der zugehörigen physikalischen Blockadresse mittels eines alten Verschlüsselungsschemas geschrieben sind. Der Lesekanal oder die Steuerung, die einen Lesekanal steuert, wird die physikalischen Blockadressen der ungültigen Daten nicht lesen und eine Lesung von nur Nullen zur Weiterverarbeitung wiedergeben. Anders gesagt werden Nullen basierend auf der Anzeige von Ungültigkeit der logischen Blockadressen wiedergegeben. Dadurch wird die Wiedergabe von Mülldaten aus den mit den logischen Blockadressen verbundenen physikalischen Blockadressen verhindert.
  • 9 ist eine weitere Art von mit einer Indirektionssteuerung 300 einer Speichervorrichtung 300 verbundenen Tabelle 900 nach einer beispielhaften Ausführungsform. In dieser bestimmten Ausführungsform wird, wenn bestimmt wird, dass das Verschlüsselungsschema dem aktuellen Verschlüsselungsschema nicht entspricht, die physikalische Blockadresse für eine bestimmte logische Blockadresse entfernt. Anders gesagt wird der Zeiger, der die beginnende physikalische Blockadresse zeigt, entfernt. Dies ist in Tabelle 900 in Spalte 920 gezeigt. Insbesondere sind die die beginnende physikalische Blockadresse für logische Blockadressen „1” und „2” anzeigenden physikalischen Blockadressen entfernt worden, da das durch einen Wert von „1” angezeigte Verschlüsselungsschema alt oder anders als das aktuelle Verschlüsselungsschema ist. Ohne eine physikalische Blockadresse als Startpunkt nimmt die Speichervorrichtung an, dass die den Werten von „1” und „2” entsprechenden logischen Blockadressen leer sind und wird daher automatisch Nullen als aus den logischen Blockadressen gelesen wiedergeben.
  • 10 ist ein Flussdiagramm eines Verfahrens 1000 zum Verhindern der Erzeugung von Mülldaten nach einer beispielhaften Ausführungsform. Das Verfahren 1000 umfasst Überwachen der Speichereinrichtung oder Speichervorrichtung auf eine Änderung in dein zum Lesen und Schreiben der Daten 1010 benutzten Verschlüsselungs-/Entschlüsselungsschema. Überwachen der Speichereinrichtung auf die Änderung im Verschlüsselungs-/Entschlüsselungsschema 1010 umfasst Überwachen der Spalte 440 der in 9 gezeigten Tabelle 900. Auch umfasst das Verfahren Entfernen eines Zeigers aus der logischen Blockadresse zu der physikalischen Blockadresse bei einer Anzeige, dass ein neues Verschlüsselungs-/Entschlüsselungsschema zum Lesen der Daten 1012 benutzt wird. Anders gesagt wird der mit den ein altes oder unterschiedliches Verschlüsselungs-/Entschlüsselungsschema darstellenden Informationen verbundene Zeiger entfernt, so dass die logische Blockadresse leer erscheint. Wenn sich an einer logischen Blockadresse keine Daten befinden, wird der Lesekanal Nullen wiedergeben, um anzuzeigen, dass keine Daten vorhanden sind. Auf diese Weise wird wiederum das Lesen von Mülldaten verhindert.
  • Eine Speichervorrichtung umfassend wenigstens eine Speicherstelle zum Speichern von mittels eines ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebenen Daten darstellenden Informationen und ein Lesekanal mit einem zweiten Verschlüsselungs-/Entschlüsselungsverfahren zum Lesen und Entschlüsseln von Informationen wie sie geschrieben sind. Auch umfasst die Speichervorrichtung eine Einrichtung, die das Lesen der wenigstens einen, das zweite Verschlüsselungs-/Entschlüsselungsverfahren benutzenden Speicherstelle als Reaktion auf eine Anzeige, dass die wenigstens eine Speicherstelle mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschrieben wurde, verhindert. Die Einrichtung, die das Lesen der wenigstens einen physikalischen Blockadresse verhindert, umfasst eine Vorrichtung zum Zuordnen eines Merkers zu der mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebenen wenigstens einen Speicherstelle. Die Einrichtung, die das Lesen der wenigstens einen physikalischen Blockadresse verhindert, umfasst auch eine Vorrichtung zur Wiedergabe von Inhaltsleere für die wenigstens eine, mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens beschriebene Speicherstelle als Reaktion auf eine Anzeige, dass der Lesekanal ein zweites Verschlüsselungs-/Entschlüsselungsverfahren benutzt. Die Einrichtung, die das Lesen der wenigstens einen mit dem ersten Verschlüsselungs-/Entschlüsselungsverfahren beschriebenen Speicherstelle verhindert, umfasst in einer Ausführungsform eine Vorrichtung zum Schreiben von Nullen zu der wenigstens einen, mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens beschriebenen Speicherstelle. In einer Ausführungsform befinden sich die Daten darstellenden Informationen in einen Block und die wenigstens eine Speicherstelle ist wenigstens eine physikalische Blockadresse. In einigen Ausführungsformen umfasst die Speichervorrichtung auch ein Indirektionssystem. Das Indirektionssystem umfasst wenigstens eine logische Blockadresse und eine Datenbank, die die wenigstens eine logische Blockadresse auf die wenigstens eine physikalische Blockadresse abbildet. In einer Ausführungsform umfasst das Indirektionssystem eine Einrichtung, die das Abbilden der wenigstens einen logischen Blockadresse auf die wenigstens eine physikalische Adresse als Reaktion auf die Verwendung eines zweiten Verschlüsselungs-/Entschlüsselungsverfahrens durch den Lesekanal unerreichbar macht, wenn die wenigstens eine physikalische Blockadresse mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschrieben ist. Das zweite Verschlüsselungs-/Entschlüsselungsverfahren unterscheidet sich von dem ersten Verschlüsselungs-/Entschlüsselungsverfahren. Ein mit dem zweiten Verschlüsselungs-/Entschlüsselungsverfahren verbundener zweiter Verschlüsselungsparameter unterscheidet sich von einem ersten, mit dem ersten Verschlüsselungs-/Entschlüsselungsverfahren verbundenen Verschlüsselungsparameter. In einer weiteren beispielhaften Ausführungsform unterscheidet sich ein mit dem zweiten Verschlüsselungs-/Entschlüsselungsverfahren verbundener zweiter Verschlüsselungsbereichsparameter von einem mit dem ersten Verschlüsselungs-/Entschlüsselungsverfahren verbundenen ersten Verschlüsselungsbereichsparameter. In weiteren Ausführungsformen unterscheidet sich ein zweiter Verschlüsselungsschlüsselparameter des zweiten Verschlüsselungs-/Entschlüsselungsverfahrens von einem ersten Verschlüsselungsschlüsselparameter des ersten Verschlüsselungs-/Entschlüsselungsverfahrens.
  • Eine Speichereinrichtung umfasst eine Festkörpervorrichtung mit einer Vielzahl von Speicherstellen, einem Schreibkanal zum Schreiben von Daten darstellenden Informationen zur Vielzahl von Speicherstellen in einer Festkörpervorrichtung und einem Lesekanal zum Lesen von Daten darstellenden Informationen aus der Vielzahl von Speicherstellen in einer Festkörpervorrichtung. Auch umfasst die Speichereinrichtung eine Steuerung, die Operationen der Speichereinrichtung einschließlich von Schreibens von Informationen in die Vielzahl von Speicherstellen in einer Festkörpervorrichtung und des Lesens von Daten darstellenden Informationen aus der Vielzahl von Speicherstellen in einer Festkörpervorrichtung steuert. Auch umfasst die Speichereinrichtung ein Indirektionssystem weiterhin umfassend einen Satz von logischen Blockadressen und einen Satz von physikalischen Blockadressen, die der Vielzahl von Speicherstellen in der Festkörpervorrichtung der Speichereinrichtung entsprechen. Auch umfasst das Indirektionssystem eine Abbildung, die logische Blockadressen mit wenigstens einer physikalischen Blockadresse verbindet. Auch umfasst die Abbildung wenigstens einen ein zum Schreiben und Lesen von Daten von der physikalischen Blockadresse benutztes Verschlüsselungs-/Entschlüsselungsverfahren anzeigenden Merker. Von der Steuerung wird eine Lesung von Nullen wiedergegeben, wenn das zum Lesen der physikalischen Blockadresse benutzte Verschlüsselungs-/Entschlüsselungsverfahren sich geändert hat. In einer beispielhaften Ausführungsform bewirkt die Steuerung, dass die physikalische Blockadresse als Reaktion auf eine Änderung im Verschlüsselungs-/Entschlüsselungsverfahren mit Nullen geschrieben wird. In einer weiteren beispielhaften Ausführungsform werden von der Steuerung als Reaktion auf eine Anzeige einer Änderung im Verschlüsselungs-/Entschlüsselungsverfahren nur Nullen wiedergegeben. In einer weiteren Ausführungsform wird von der Steuerung ein Zeiger in der Abbildung zwischen der logischen Blockadresse und der physikalischen Blockadresse als Reaktion auf eine Anzeige einer Änderung im Verschlüsselungs-/Entschlüsselungsverfahren entfernt. In einer weiteren Ausführungsform wird von der Steuerung ein Merker erzeugt, der anzeigt, dass Informationen an einer physikalischen Blockadresse ungültig sind, als Reaktion auf eine Anzeige einer Änderung im Verschlüsselungs-/Entschlüsselungsverfahren. Von der Steuerung wird das Schreiben von Informationen zu der Festkörpervorrichtung und das Lesen von Daten darstellenden Informationen aus der Festkörpervorrichtung gesteuert. Das Indirektionssystem umfasst einen Satz physikalischer Blockadressen, die eigentlichen Speicherstellen der Festkörpervorrichtung entsprechen. Die Abbildung zum Verbinden von logischen Blockadressen mit wenigstens einer eigentlichen Speicherstelle der Festkörpervorrichtung umfassen auch wenigstens einen Merker, der ein zum Schreiben und Lesen von Daten von den eigentlichen Speicherstellen der Festkörpervorrichtung benutztes Verschlüsselungs-/Entschlüsselungsverfahren anzeigt. Wenn der Merker gesetzt ist, wird von der Steuerung eine Lesung von Nullen wiedergegeben, wenn sich das zum Lesen der eigentlichen Speicherstellen der Festkörpervorrichtung benutzte Verschlüsselungs-/Entschlüsselungsverfahren geändert hat.
  • Ein Verfahren zum Verringern der Erzeugung von Mülldaten in einer Speichereinrichtung umfasst Überwachen einer Speichereinrichtung auf eine Änderung in einem zum Lesen und Schreiben von Daten benutzten Verschlüsselungs-/Entschlüsselungsverfahren und als Reaktion auf die Änderung im Verschlüsselungs-/Entschlüsselungsverfahren Bewirken, dass wenigstens eine logische Blockadresse eine Anzeige, in Nullen geschrieben zu sein wiedergibt, wenn die mit der logischen Blockadresse verbundene physikalische Blockadresse mittels des alten Verschlüsselungs-/Entschlüsselungsverfahrens verschlüsselt worden ist. In einer Ausführungsform wird die vorher mittels des alten Verschlüsselungs-/Entschlüsselungsverfahrens verschlüsselte physikalische Blockadresse mittels des neuen Verschlüsselungs-/Entschlüsselungsverfahrens als Nullen geschrieben. In einer weiteren Ausführungsform wird ein Zeiger von der logischen Blockadresse zur physikalischen Blockadresse bei einer Anzeige entfernt, dass ein neues Verschlüsselungs-/Entschlüsselungsverfahren zum Lesen von Daten benutzt wird. Dadurch wird eine Lesung der Art von nur Nullen erzeugt und die Erzeugung von Mülldaten verhindert. In einer noch weiteren Ausführungsform gibt es eine Vielzahl logischer Blockadressen, die mit einer mit einem alten Verschlüsselungs-/Entschlüsselungsverfahren beschriebenen Vielzahl von physikalischen Blockadressen verbunden sind. Die Zeiger für die Vielzahl logischer Blockadressen werden zu der vorher mit einem alten Verschlüsselungs-/Entschlüsselungsverfahren beschriebenen Vielzahl von physikalischen Blockadressen entfernt. In einer noch weiteren Ausführungsform wird die Vielzahl von logischen Blockadressen auf die physikalischen Blockadressen in einer Abbildung abgebildet. Die Abbildung umfasst weiterhin wenigstens einen Merker, der anzeigt, dass Daten darstellende Informationen an einer logischen Blockadresse ungültig sind, wenn die zu der mit der logischen Blockadresse verbundenen physikalischen Blockadresse geschriebene Daten darstellenden Informationen mittels eines alten Verschlüsselungsverfahrens geschrieben sind.
  • In einem oder mehreren Beispielen können die beschriebenen Funktionen in Hardware, Software, Firmware oder einer beliebigen Kombination derselben ausgeführt werden. Wenn sie in Software ausgeführt sind, können die Funktionen als eine oder mehrere Anweisungen oder Code, ein computerlesbares Medium und ausgeführt durch eine auf Hardware basierende Verarbeitungseinheit gespeichert oder darüber übertragen werden. Computerlesbare Medien können computerlesbare Speichermedien umfassen, die einem fassbaren Medium entsprechen, wie beispielsweise Datenspeichermedien oder Kommunikationsmedien einschließlich jedes Mediums, das Übertragung eines Computerprogramms von einer Stelle zu einer anderen erleichtert, z. B. nach einem Kommunikationsprotokoll. Auf diese Weise können computerlesbare Medien allgemein (1) fassbaren computerlesbaren Speichermedien, die nichtflüchtig sind oder (2) einem Kommunikationsmedium wie beispielsweise einer Signal- oder Trägerwelle entsprechen. Datenspeichermedien können alle verfügbaren Medien sein, auf die durch einen oder mehrere Computer oder einen oder mehrere Prozessoren zum Abrufen von Anweisungen, Code und/oder Datenstrukturen zur Ausführung der in der vorliegenden Offenbarung beschriebenen Verfahren zugegriffen werden kann. Ein Computerprogrammprodukt kann ein computerlesbares Medium umfassen.
  • Beispielsweise und nicht als Begrenzung können solche computerlesbaren Speichermedien RAM, ROM, EEPROM, CD-ROM oder sonstige optische Plattenspeicherung, Magnetplattenspeicherung oder sonstige magnetische Speichervorrichtungen, Flash-Speicher oder jedes sonstige Medium umfassen, das zum Speichern gewünschten Programmcodes in der Form von Anweisungen oder Datenstrukturen benutzt werden kann, auf die durch einen Computer zugegriffen werden kann. Auch wird jede Verbindung ordnungsgemäß als computerlesbares Medium bezeichnet. Wenn zum Beispiel Anweisungen von einer Website, einem Server oder sonstigen entfernten Quelle mittels von Koaxialkabel, faseroptischem Kabel, verdrilltem Paar, digitaler Teilnehmerleitung (DSL – Digital Subscriber Line) oder drahtlosen Technologien wie beispielsweise Infrarot, Funk und Mikrowellen übertragen werden, dann sind das Koaxialkabel, faseroptische Kabel, verdrilltes Paar, DSL oder drahtlose Technologien wie beispielsweise Infrarot, Funk und Mikrowellen in der Definition von Medium eingeschlossen. Es versteht sich jedoch, dass computerlesbare Speichermedien und Datenspeichermedien nicht Verbindungen, Trägerwellen, Signale oder sonstige flüchtige Medien umfassen, sondern stattdessen auf nichtflüchtige, fassbare Speichermedien gerichtet sind. Platte und Diskette, so wie es hier benutzt wird, umfasst Festplatte (CD – Compact Disc), Laserplatte, Optische Platte, Digitale Videoplatte (DVD), Festplatte und Blu-Ray-Platte, wo Platten (Disks) gewöhnlich Daten magnetisch wiedergeben, während Discs Daten optisch mit Lasern wiedergeben. Kombinationen der obigen sollten ebenfalls im Schutzumfang computerlesbarer Medien enthalten sein.
  • Anweisungen können durch einen oder mehrere Prozessoren ausgeführt werden, wie einen oder mehrere Digitalsignalprozessoren (DSP), Mehrzweckmikroprozessoren, anwendungsspezifische integrierte Schaltungen (ASIC – Application Specific Integrated Circuits), kundenprogrammierbare Logikanordnungen (FPGA – Field Programmable Logic Arrays) oder sonstige gleichwertige integrierte oder diskrete Logikschaltungen ausgeführt werden. Dementsprechend kann sich der Begriff „Prozessor” so wie er hier benutzt wird auf jede beliebige der vorangehenden Strukturen oder jede andere zur Ausführung der hier beschriebenen Verfahren geeignete Struktur beziehen. Auch könnten die Verfahren voll in einer oder mehreren Schaltungen oder Logikelementen ausgeführt werden.
  • Die Verfahren der vorliegenden Offenbarung können in einer großen Vielzahl von Vorrichtungen oder Einrichtungen ausgeführt werden, einschließlich eines drahtlosen Handapparats, einer integrierten Schaltung (IC – Integrated Circuit) oder eines Satzes von IC (z. B. einem Chipsatz). Verschiedene Bauteile, Module oder Einheiten sind in der vorliegenden Offenbarung zum Betonen von Funktionsaspekten von Vorrichtungen eingerichtet zum Durchführen der offenbarten Verfahren beschrieben, erfordern aber nicht unbedingt Realisierung durch verschiedene Hardwareeinheiten. Stattdessen können wie oben beschrieben verschiedene Einheiten in einer Hardwareeinheit kombiniert sein oder durch eine Ansammlung von interoperativen Hardwareeinheiten bereitgestellt sein einschließlich eines oder mehrerer Prozessoren wie oben beschrieben, in Verbindung mit geeigneter Software und/oder Firmware.
  • Für Erläuterungszwecke benutzte die vorangehende Beschreibung bestimmte Bezeichnungen, um ein gründliches Verständnis der Erfindung zu bieten. Dem Fachmann wird jedoch offenbar sein, dass die bestimmten Einzelheiten nicht zum Ausüben der Erfindung erforderlich sind. So sind die vorangehenden Beschreibungen bestimmter Ausführungsformen der vorliegenden Erfindung für Zwecke der Darstellung und Beschreibung dargeboten. Sie sollen nicht erschöpfend sein oder die Erfindung auf die genauen offenbarten Formen begrenzen. Dem gewöhnlichen Fachmann wird offenbar sein, dass angesichts der obigen Lehre viele Abänderungen und Änderungen möglich sind.
  • Die Ausführungen wurden gewählt und beschrieben, um die Grundsätze der Erfindung und ihre praktischen Anwendungen am besten zu erläutern, um dadurch anderen Fachleuten zu ermöglichen, die Erfindung und verschiedene Ausführungsformen mit verschiedenen Abänderungen, so wie sie für die bestimmte in Betracht gezogene Benutzung geeignet sind, am besten zu nutzen. Es ist beabsichtigt, dass der Schutzumfang der Erfindung durch die nachfolgenden Ansprüche und ihre Entsprechungen definiert sein soll.
  • Während die Ausführungsformen als mehrere bestimmte Ausführungsformen beschrieben worden sind, gibt es Änderungen, Umsetzungen und Entsprechungen, die in den Schutzbereich dieser allgemeinen Konzepte fallen. Auch ist zu bemerken, dass es viele alternative Weisen zum Ausführen der Verfahren und Einrichtungen der gegenwärtigen Ausführungsformen gibt. Die nachfolgenden beiliegenden Ansprüche sollen daher als alle derartigen Änderungen, Umsetzungen und Entsprechungen enthaltend ausgelegt werden, sofern sie in den wahren Sinn und Schutzbereich der beschriebenen Ausführungsformen fallen. Diese und weitere beispielhafte Ausführungsformen liegen im Schutzbereich der nachfolgenden Ansprüche.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • An Opal SSC compliant SD SHALL implement Full Disk Encryption for all host accessible user data stored an media. AES-128 or AES-256 SHALL be supported [Paragraph 2.4, page 10 of 81 of the TCG Storage Opal SSC, version 1.0. [0004]
    • Supports Opal SSC unique behaviors (e. g. communication, table management) [Section 2.1, page 10/81] [0004]
    • Eine Opal SSC konforme SD MUSS volle Plattenverschlüsselung für alle dem Host zugänglichen, auf Medien gespeicherten Benutzerdaten implementieren. AES-128 oder AES-256 WERDEN unterstützt [Absatz 2.4, Seite 10 von 81 der TCG Speicher-Opal-SSC, Version 1.0 [0004]
    • Unterstützt für Opal SSC einzigartige Verhalten (z. B. Kommunikation, Tabellenmanagement) [Abschnitt 2.1, Seite 10/81] [0004]

Claims (20)

  1. Speichervorrichtung, umfassend: wenigstens eine Speicherstelle zum Speichern von mittels eines ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebenen Daten darstellenden Informationen; einen Lesekanal mit einem zweiten Verschlüsselungs-/Entschlüsselungsverfahren zum Lesen und Entschlüsseln von Informationen wie sie geschrieben sind; und eine Einrichtung, die Lesen der wenigstens einen Speicherstelle mittels des zweiten Verschlüsselungs-/Entschlüsselungsverfahrens als Reaktion auf eine Anzeige, dass die wenigstens eine Speicherstelle mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschrieben wurde, verhindert.
  2. Speichervorrichtung nach Anspruch 1, wobei die Einrichtung, die das Lesen der wenigstens einen physikalischen Blockadresse verhindert, eine Vorrichtung umfasst zum Zuordnen eines Merkers zu der wenigstens einen mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebenen Speicherstelle; und Wiedergeben von Inhaltsleere für die wenigstens eine mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebene Speicherstelle als Reaktion darauf, dass der Lesekanal ein zweites Verschlüsselungs-/Entschlüsselungsverfahren benutzt.
  3. Speichervorrichtung nach Anspruch 1, wobei die Einrichtung, die das Lesen der wenigstens einen mit dem ersten Verschlüsselungs-/Entschlüsselungsverfahren geschriebenen Speicherstelle mittels des zweiten Verschlüsselungsverfahrens verhindert, eine Vorrichtung zum Schreiben von Nullen zu der wenigstens einen, mittels eines ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschriebenen Speicherstelle umfasst.
  4. Speichervorrichtung nach Anspruch 1, wobei die Daten darstellenden Informationen sich in einem Block befinden und die wenigstens eine Speicherstelle wenigstens eine physikalische Blockadresse ist.
  5. Speichervorrichtung nach Anspruch 4, weiterhin umfassend ein Indirektionssystem, das weiterhin umfasst: wenigstens eine logische Blockadresse; und eine Datenbank, die die wenigstens eine logische Blockadresse auf die wenigstens eine physikalische Blockadresse abbildet.
  6. Speichervorrichtung nach Anspruch 5, wobei das Indirektionssystem eine Einrichtung umfasst, die das Abbilden der wenigstens einen logischen Blockadresse auf die wenigstens eine physikalische Adresse als Reaktion darauf, dass der Lesekanal ein zweites Verschlüsselungs-/Entschlüsselungsverfahren benutzt, wenn die wenigstens eine physikalische Blockadresse mittels des ersten Verschlüsselungs-/Entschlüsselungsverfahrens geschrieben ist, unerreichbar macht.
  7. Speichervorrichtung nach Anspruch 6, wobei ein zweiter, mit dem zweiten Verschlüsselungs-/Entschlüsselungsverfahren verbundener Verschlüsselungsparameter sich von einem ersten, mit dem ersten Verschlüsselungs-/Entschlüsselungsverfahren verbundenen Verschlüsselungsparameter unterscheidet.
  8. Speichervorrichtung nach Anspruch 6, wobei ein mit dem zweiten Verschlüsselungs-/Entschlüsselungsverfahren verbundener Verschlüsselungsbereichsparameter sich von einem ersten, mit dem ersten Verschlüsselungs-/Entschlüsselungsverfahren verbundenen Verschlüsselungsbereichsparameter unterscheidet.
  9. Speichervorrichtung nach Anspruch 6, wobei sich ein zweiter Verschlüsselungsschlüsselparameter des zweiten Verschlüsselungs-/Entschlüsselungsverfahrens von einem ersten Verschlüsselungschlüssel des ersten Verschlüsselungs-/Entschlüsselungsverfahrens unterscheidet.
  10. Speichereinrichtung, umfasstend: eine Festkörpervorrichtung mit einer Vielzahl von Speicherstellen; einen Schreibkanal zum Schreiben von Daten darstellenden Informationen zu der Vielzahl von Speicherstellen in der Festkörpervorrichtung; einen Lesekanal zum Lesen von Daten darstellenden Informationen aus der Vielzahl von Speicherstellen in der Festkörpervorrichtung; eine Steuerung, die Operationen der Speichereinrichtung einschließlich des Schreibens von Informationen zu der Vielzahl von Speicherstellen in der Festkörpervorrichtung und des Lesens von Daten darstellenden Informationen aus der Vielzahl von Speicherstellen in der Festkörpervorrichtung steuert; ein Indirektionssystem weiterhin umfassend: einen Satz logischer Blockadressen; einen Satz physikalischer Blockadressen, die der Vielzahl von Speicherstellen in der Festkörpervorrichtung der Speichereinrichtung entsprechen; eine Abbildung, die logische Blockadressen wenigstens einer physikalischen Blockadresse zuordnet, wobei die Abbildung auch wenigstens einen Merker umfasst, der ein zum Schreiben und Lesen von Daten aus der physikalischen Blockadresse benutztes Verschlüsselungs-/Entschlüsselungsverfahren anzeigt, wobei die Steuerung eine Lesung von Nullen wiedergibt, wenn sich das zum Lesen der physikalischen Blockadresse benutzte Verschlüsselungs-/Entschlüsselungsverfahren geändert hat.
  11. Speichereinrichtung nach Anspruch 10, wobei die Steuerung bewirkt, dass die physikalische Blockadresse als Reaktion auf eine Änderung in dem Verschlüsselungs-/Entschlüsselungsverfahren mit Nullen beschrieben wird.
  12. Speichereinrichtung nach Anspruch 10, wobei die Steuerung als Reaktion auf eine Anzeige einer Änderung in den Verschlüsselungs-/Entschlüsselungsverfahren nur Nullen wiedergibt.
  13. Speichereinrichtung nach Anspruch 10, wobei die Steuerung als Reaktion auf eine Anzeige einer Änderung in dem Verschlüsselungs-/Entschlüsselungsverfahren einen Zeiger in der Abbildung zwischen der logischen Blockadresse und der physikalischen Blockadresse entfernt.
  14. Speichereinrichtung nach Anspruch 10, wobei die Steuerung als Reaktion auf eine Anzeige einer Änderung in dem Verschlüsselungs-/Entschlüsselungsverfahren einen Merker erzeugt, der anzeigt, dass Informationen an einer physikalischen Blockadresse ungültig sind.
  15. Speichereinrichtung nach Anspruch 10, wobei die Steuerung das Schreiben von Informationen zu der Festkörpervorrichtung und das Lesen von Daten darstellenden Informationen aus der Festkörpervorrichtung steuert; wobei das Indirektionssystem weiterhin einen Satz physikalischer Blockadressen umfasst, die eigentlichen Speicherstellen der Festkörpervorrichtung entsprechen, wobei die Abbildung logische Blockadressen wenigstens einer der eigentlichen Speicherstellen der Festkörpervorrichtung zuordnet, wobei die Abbildung auch wenigstens einen Merker umfasst, der ein zum Schreiben und Lesen von Daten aus den eigentlichen Speicherstellen der Festkörpervorrichtung benutztes Verschlüsselungs-/Entschlüsselungsverfahren anzeigt, wobei die Steuerung eine Lesung von Nullen wiedergibt, wenn sich das zum Lesen der eigentlichen Speicherstellen der Festkörpervorrichtung benutzte Verschlüsselungs-/Entschlüsselungsverfahren geändert hat.
  16. Verfahren zum Verringern der Erzeugung von Mülldaten in einer Speichereinrichtung, wobei das Verfahren umfasst: Überwachen der Speichereinrichtung auf eine Änderung in einem zum Lesen und Schreiben von Daten benutzten Verschlüsselungs-/Entschlüsselungsschema; und als Reaktion auf die Änderung im Verschlüsselungs-/Entschlüsselungsschema Bewirken, dass wenigstens eine logische Blockadresse eine Anzeige, in Nullen geschrieben zu sein, wiedergibt, wenn eine mit der logischen Blockadresse verbundene physikalische Blockadresse mittels eines alten Verschlüsselungs-/Entschlüsselungsschemas verschlüsselt worden ist.
  17. Verfahren nach Anspruch 16, wobei die mittels des alten Verschlüsselungs-/Entschlüsselungsschemas verschlüsselte physikalische Blockadresse mittels eines neuen Verschlüsselungs-/Entschlüsselungsschemas als Nullen geschrieben wird.
  18. Verfahren nach Anspruch 16, wobei eine Abbildung zum Abbilden der logischen Blockadresse auf die physikalische Blockadresse benutzt wird, wobei ein Zeiger von der logischen Blockadresse zur physikalischen Blockadresse bei einer Anzeige, dass zum Lesen von Daten ein neues Verschlüsselungs-/Entschlüsselungsschema benutzt wird, entfernt wird.
  19. Verfahren nach Anspruch 18, wobei es eine Vielzahl von logischen Blockadressen gibt, die einer Vielzahl von mit einem alten Verschlüsselungs-/Entschlüsselungsschema geschriebenen physikalischen Blockadressen zugeordnet sind, wobei Zeiger für die Vielzahl logischer Blockadressen entfernt werden.
  20. Verfahren nach Anspruch 16, wobei es eine Vielzahl von logischen Blockadressen gibt, die einer Vielzahl von mit einem alten Verschlüsselungs-Entschlüsselungsschema geschriebenen physikalischen Blockadressen zugeordnet sind, wobei die Vielzahl logischer Blockadressen auf die physikalischen Blockadressen in einer Abbildung abgebildet werden, wobei die Abbildung weiterhin wenigstens einen Merker umfasst, der anzeigt, dass Daten an der logischen Blockadresse darstellende Informationen ungültig sind, wenn die zu der mit der logischen Blockadresse verbundenen physikalischen Blockadresse geschriebenen Daten darstellenden Informationen mittels eines alten Verschlüsselungsschemas geschrieben sind.
DE102015010906.5A 2014-08-25 2015-08-20 Verfahren und Einrichtung zum Erzeugen von Inhaltsleere über Mülldaten, wenn Verschlüsselungsparameter geändert werden Pending DE102015010906A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/467,724 2014-08-25
US14/467,724 US9298647B2 (en) 2014-08-25 2014-08-25 Method and apparatus to generate zero content over garbage data when encryption parameters are changed

Publications (1)

Publication Number Publication Date
DE102015010906A1 true DE102015010906A1 (de) 2016-02-25

Family

ID=54200397

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015010906.5A Pending DE102015010906A1 (de) 2014-08-25 2015-08-20 Verfahren und Einrichtung zum Erzeugen von Inhaltsleere über Mülldaten, wenn Verschlüsselungsparameter geändert werden

Country Status (5)

Country Link
US (5) US9298647B2 (de)
CN (1) CN105389265B (de)
DE (1) DE102015010906A1 (de)
FR (1) FR3025041A1 (de)
GB (1) GB2531631B (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298647B2 (en) * 2014-08-25 2016-03-29 HGST Netherlands B.V. Method and apparatus to generate zero content over garbage data when encryption parameters are changed
US10372627B2 (en) 2014-08-25 2019-08-06 Western Digital Technologies, Inc. Method to generate pattern data over garbage data when encryption parameters are changed
US10142303B2 (en) * 2015-07-07 2018-11-27 Qualcomm Incorporated Separation of software modules by controlled encryption key management
US10114782B2 (en) * 2016-09-27 2018-10-30 Nxp B.V. USB type C dual-role-port unattached duty cycle randomization
FR3071637B1 (fr) * 2017-09-25 2019-09-13 Schneider Electric Industries Sas Module de commande pour systeme de dialogue homme-machine
CN110659226A (zh) * 2018-06-28 2020-01-07 晨星半导体股份有限公司 用以存取数据的方法以及相关电路
US11036651B2 (en) 2018-06-29 2021-06-15 Micron Technology, Inc. Host side caching security for flash memory
US11941262B1 (en) * 2023-10-31 2024-03-26 Massood Kamalpour Systems and methods for digital data management including creation of storage location with storage access ID

Family Cites Families (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912637B1 (en) 1998-07-08 2005-06-28 Broadcom Corporation Apparatus and method for managing memory in a network switch
JP4253944B2 (ja) * 1999-08-31 2009-04-15 ソニー株式会社 記録媒体、記録媒体製造装置及び記録媒体製造方法、データ記録装置及びデータ記録方法
GB2366640B (en) * 2000-03-30 2004-12-29 Ibm Distribution of activation information
US6922785B1 (en) * 2000-05-11 2005-07-26 International Business Machines Corporation Apparatus and a method for secure communications for network computers
US6934825B1 (en) 2000-09-21 2005-08-23 International Business Machines Corporation Bi-directional stack in a linear memory array
JP2002132456A (ja) 2000-10-20 2002-05-10 Sony Corp 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
US6957340B1 (en) * 2000-11-28 2005-10-18 Xilinx, Inc. Encryption key for multi-key encryption in programmable logic device
US7058177B1 (en) * 2000-11-28 2006-06-06 Xilinx, Inc. Partially encrypted bitstream method
US6965675B1 (en) * 2000-11-28 2005-11-15 Xilinx, Inc. Structure and method for loading encryption keys through a test access port
US7117373B1 (en) * 2000-11-28 2006-10-03 Xilinx, Inc. Bitstream for configuring a PLD with encrypted design data
US7117372B1 (en) * 2000-11-28 2006-10-03 Xilinx, Inc. Programmable logic device with decryption and structure for preventing design relocation
US20020095382A1 (en) * 2001-01-10 2002-07-18 Hiroki Taoka Content decryption device
US20020116624A1 (en) * 2001-02-16 2002-08-22 International Business Machines Corporation Embedded cryptographic system
US7185205B2 (en) * 2001-03-26 2007-02-27 Galois Connections, Inc. Crypto-pointers for secure data storage
US7853803B2 (en) * 2001-09-28 2010-12-14 Verizon Corporate Services Group Inc. System and method for thwarting buffer overflow attacks using encrypted process pointers
WO2003027816A1 (en) 2001-09-28 2003-04-03 High Density Devices As Method and device for encryption/decryption of data on mass storage device
JP2004265194A (ja) * 2003-03-03 2004-09-24 Matsushita Electric Ind Co Ltd 情報処理装置、および情報処理方法
TWI222598B (en) 2003-07-09 2004-10-21 Sunplus Technology Co Ltd Device and method protecting data by scrambling address lines
US7430671B2 (en) 2004-03-31 2008-09-30 Nortel Networks Limited Systems and methods for preserving confidentiality of sensitive information in a point-of-care communications environment
DE602005015178D1 (de) 2004-02-05 2009-08-13 Research In Motion Ltd Speicherung auf einem chip,erzeugung und handhabung eines geheimschlüssels
JP4688426B2 (ja) 2004-03-09 2011-05-25 富士通株式会社 無線通信システム
CA2536611C (en) 2004-06-14 2013-01-15 Research In Motion Limited Method and system for securing data utilizing redundant secure key storage
US9396752B2 (en) 2005-08-05 2016-07-19 Searete Llc Memory device activation and deactivation
US8117404B2 (en) * 2005-08-10 2012-02-14 Apple Inc. Misalignment predictor
US20070067644A1 (en) * 2005-08-26 2007-03-22 International Business Machines Corporation Memory control unit implementing a rotating-key encryption algorithm
US20070050642A1 (en) * 2005-08-26 2007-03-01 International Business Machines Corporation Memory control unit with configurable memory encryption
GB2431252B (en) 2005-10-11 2010-06-09 Hewlett Packard Development Co Data transfer device
US7657754B2 (en) 2005-12-08 2010-02-02 Agere Systems Inc Methods and apparatus for the secure handling of data in a microcontroller
JP4643427B2 (ja) 2005-12-08 2011-03-02 株式会社日立製作所 暗号化機能内蔵ストレージシステム
US8001374B2 (en) 2005-12-16 2011-08-16 Lsi Corporation Memory encryption for digital video
US20080019506A1 (en) 2006-07-21 2008-01-24 Yung-Huan Hsu Encryption/Decryption Apparatus, System and Method
US8356178B2 (en) * 2006-11-13 2013-01-15 Seagate Technology Llc Method and apparatus for authenticated data storage
US7894599B2 (en) 2006-12-04 2011-02-22 International Business Machines Corporation Enhanced data security with redundant inclusive data encryption segments
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
WO2008096396A1 (ja) * 2007-02-02 2008-08-14 Panasonic Corporation 無線通信装置および暗号鍵更新方法
EP2006791B1 (de) 2007-06-22 2012-01-11 Neutrino Concepts Ltd. Randomisierung
JP4990089B2 (ja) 2007-10-12 2012-08-01 株式会社日立製作所 格納データ暗号化機能内蔵ストレージ装置の暗号鍵をバックアップ及びリストアする計算機システム
WO2009060631A1 (ja) 2007-11-09 2009-05-14 Icon Corp. 鍵管理装置及び当該装置を用いた情報伝達システム
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
EP2304568B1 (de) * 2008-06-06 2013-08-14 Pivot3 Verfahren und system für eine verteilte raid-implementierung
JP2010009306A (ja) * 2008-06-26 2010-01-14 Hitachi Ltd ストレージ装置及びストレージ装置のデータ処理方法
US8098825B2 (en) 2008-06-30 2012-01-17 Condel International Technologies Inc. Method and system for enhancing data encryption using multiple-key lists
JP5069191B2 (ja) 2008-08-22 2012-11-07 興和株式会社 光学読み取り装置
JP5272637B2 (ja) * 2008-10-14 2013-08-28 ソニー株式会社 情報処理装置、暗号切替方法、及びプログラム
US8565436B2 (en) * 2008-12-15 2013-10-22 Ebay Inc. Secure self managed data (SSMD)
JP5139465B2 (ja) 2010-03-31 2013-02-06 株式会社東芝 メモリチップ、情報記憶システム、読み出し装置
EP2375355A1 (de) * 2010-04-09 2011-10-12 ST-Ericsson SA Verfahren und Vorrichtung zum Schützen von Speicherinhalt
US8977865B2 (en) * 2010-05-25 2015-03-10 Microsoft Technology Licensing, Llc Data encryption conversion for independent agents
WO2011159918A2 (en) 2010-06-16 2011-12-22 Vasco Data Security, Inc. Mass storage device memory encryption methods, systems, and apparatus
TWI496161B (zh) * 2010-08-06 2015-08-11 Phison Electronics Corp 記憶體識別碼產生方法、管理方法、控制器與儲存系統
US9081771B1 (en) * 2010-12-22 2015-07-14 Emc Corporation Encrypting in deduplication systems
US8649514B2 (en) * 2010-12-28 2014-02-11 Sony Corporation On-demand switched content encryption
US8732431B2 (en) * 2011-03-06 2014-05-20 Micron Technology, Inc. Logical address translation
US8516271B2 (en) * 2011-03-11 2013-08-20 Hewlett-Packard Development Company, L. P. Securing non-volatile memory regions
US8631460B2 (en) * 2011-03-23 2014-01-14 CipherPoint Software, Inc. Systems and methods for implementing transparent encryption
JP5121974B2 (ja) * 2011-05-24 2013-01-16 株式会社東芝 データ記憶装置、記憶制御装置及び方法
KR101234784B1 (ko) * 2011-05-30 2013-02-20 삼성에스디에스 주식회사 아이디 기반 암호화 방법 및 그 장치
JP5759827B2 (ja) * 2011-08-04 2015-08-05 株式会社メガチップス メモリシステム、情報処理装置、メモリ装置、およびメモリシステムの動作方法
TWI443517B (zh) * 2011-09-26 2014-07-01 Phison Electronics Corp 記憶體儲存裝置及其記憶體控制器與密碼驗證方法
JP5845824B2 (ja) * 2011-11-04 2016-01-20 富士通株式会社 暗号化プログラム、復号化プログラム、暗号化方法、復号化方法、システム、コンテンツの生成方法およびコンテンツの復号化方法
US9128876B2 (en) * 2011-12-06 2015-09-08 Honeywell International Inc. Memory location specific data encryption key
KR101859646B1 (ko) * 2011-12-16 2018-05-18 삼성전자주식회사 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법
KR101975027B1 (ko) 2012-05-04 2019-05-03 삼성전자주식회사 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들
US8782410B2 (en) * 2012-06-20 2014-07-15 International Business Machines Corporation Avoiding padding oracle attacks
US10102390B2 (en) * 2012-06-28 2018-10-16 Honeywell International Inc. Memory authentication with redundant encryption
KR20140027596A (ko) 2012-07-24 2014-03-07 삼성전자주식회사 메모리 시스템 및 메모리 시스템에서의 암호화 방법
KR102015906B1 (ko) * 2012-11-12 2019-08-29 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 읽기 방법
US9037872B2 (en) * 2012-12-17 2015-05-19 Advanced Micro Devices, Inc. Hardware based return pointer encryption
US9213633B2 (en) 2013-04-30 2015-12-15 Seagate Technology Llc Flash translation layer with lower write amplification
US9043613B2 (en) 2013-06-28 2015-05-26 International Business Machines Corporation Multiple volume encryption of storage devices using self encrypting drive (SED)
TWI479359B (zh) * 2013-08-01 2015-04-01 Phison Electronics Corp 指令執行方法、記憶體控制器與記憶體儲存裝置
US20150095661A1 (en) * 2013-09-30 2015-04-02 Microsoft Corporation Flexible Memory Addressing For Data Security
TWI516921B (zh) * 2013-10-02 2016-01-11 群聯電子股份有限公司 資料處理方法、記憶體儲存裝置與記憶體控制電路單元
US9910790B2 (en) * 2013-12-12 2018-03-06 Intel Corporation Using a memory address to form a tweak key to use to encrypt and decrypt data
US9792448B2 (en) * 2014-02-28 2017-10-17 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system
US10691838B2 (en) * 2014-06-20 2020-06-23 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
US11087006B2 (en) * 2014-06-30 2021-08-10 Nicira, Inc. Method and apparatus for encrypting messages based on encryption group association
US10372627B2 (en) * 2014-08-25 2019-08-06 Western Digital Technologies, Inc. Method to generate pattern data over garbage data when encryption parameters are changed
US9298647B2 (en) * 2014-08-25 2016-03-29 HGST Netherlands B.V. Method and apparatus to generate zero content over garbage data when encryption parameters are changed
US9436847B2 (en) * 2014-09-26 2016-09-06 Intel Corporation Cryptographic pointer address encoding
IL235729A (en) * 2014-11-17 2017-06-29 Kaluzhny Uri A device and method for securely storing information
US10157012B2 (en) * 2015-09-29 2018-12-18 Sandisk Technologies Llc Zero read on trimmed blocks in a non-volatile memory system
KR102289669B1 (ko) * 2020-03-31 2021-08-12 연세대학교 산학협력단 임펄스의 상관관계 이용한 거리측정 장치 및 방법

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
An Opal SSC compliant SD SHALL implement Full Disk Encryption for all host accessible user data stored an media. AES-128 or AES-256 SHALL be supported [Paragraph 2.4, page 10 of 81 of the TCG Storage Opal SSC, version 1.0.
Eine Opal SSC konforme SD MUSS volle Plattenverschlüsselung für alle dem Host zugänglichen, auf Medien gespeicherten Benutzerdaten implementieren. AES-128 oder AES-256 WERDEN unterstützt [Absatz 2.4, Seite 10 von 81 der TCG Speicher-Opal-SSC, Version 1.0
Supports Opal SSC unique behaviors (e. g. communication, table management) [Section 2.1, page 10/81]
Unterstützt für Opal SSC einzigartige Verhalten (z. B. Kommunikation, Tabellenmanagement) [Abschnitt 2.1, Seite 10/81]

Also Published As

Publication number Publication date
US20160170909A1 (en) 2016-06-16
US10698840B2 (en) 2020-06-30
US20170031837A1 (en) 2017-02-02
US9959218B2 (en) 2018-05-01
GB2531631B (en) 2018-01-10
US20200310989A1 (en) 2020-10-01
FR3025041A1 (de) 2016-02-26
US20180293177A1 (en) 2018-10-11
GB2531631A (en) 2016-04-27
CN105389265B (zh) 2019-01-04
GB201513987D0 (en) 2015-09-23
US20160055101A1 (en) 2016-02-25
CN105389265A (zh) 2016-03-09
US9436618B2 (en) 2016-09-06
US11416417B2 (en) 2022-08-16
US9298647B2 (en) 2016-03-29

Similar Documents

Publication Publication Date Title
DE102015010906A1 (de) Verfahren und Einrichtung zum Erzeugen von Inhaltsleere über Mülldaten, wenn Verschlüsselungsparameter geändert werden
DE112008003855B4 (de) System und Verfahren zum Bereitstellen von sicherem Zugriff auf einen Systemspeicher
DE112010005842T5 (de) Verwürfeln einer Adresse und Verschlüsseln von Schreibdaten zum Speichern einer Speichervorrichtung
DE102012110692A1 (de) Datenspeichervorrichtung, die eine unterteilte Datei in verschiedenen Speichermedien speichert, sowie Datenverwaltungsverfahren
DE102013108394A1 (de) Verfahren zum Verwalten eines Schlüssels für sicheres Speichern von Daten und Vorrichtung dafür
DE112014000311B4 (de) Absichern der Inhalte einer Speichereinheit
DE102013111339A1 (de) Sicherheitsverwaltungseinheit, Hostcontrollerschnittstelle mit derselben, Verfahren zum Betreiben einer Hostcontrollerschnittstelle und Vorrichtungen mit einer Hostcontrollerschnittstelle
DE102018115683A1 (de) Domänenübergreifende sicherheit in kryptographisch partionierter cloud
EP1883906B1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
DE202014011089U1 (de) System zum Kopieren von Dateien zwischen verschlüsselten und unverschlüsselten Datenspeichereinrichtungen
DE112020005459T5 (de) Delegation eines kryptografischen schlüssels an ein speichersubsystem
DE112021005968T5 (de) Krypto-löschung von in einer „key per io“-fähigen einheit gespeicherten daten über eine interne aktion
DE102019110501A1 (de) Fehlerkorrekturcode-speichersicherheit
US20190377693A1 (en) Method to generate pattern data over garbage data when encryption parameters are changed
DE112006004173T5 (de) Schutz eines programmierbaren Speichers gegen unberechtigte Veränderung
DE102019110440A1 (de) Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens
EP1661069B1 (de) Prozessorschaltung und verfahren zum zuordnen eines logikchips zu einem speicherchip
DE102020103846A1 (de) Verfahren zum Betreiben eines Speichersystems mit Gegenmaßnahme gegen Replay-Angriff und Speichersystem, das dasselbe durchführt
DE102004019681A1 (de) Verfahren zum Schreiben von Daten und Datenverarbeitungsgerät
WO2006072568A1 (de) Tragbarer datenträger mit wasserzeichen-funktionalität
DE112021000149T5 (de) Verschlüsselung einer datenspeicherungsvorrichtung
DE102022127769A1 (de) Authentifiziertes lesen von speichersystemdaten
DE112010005847T5 (de) Modifizieren einer Länge eines Elements, um einen Verschlüsselungsschlüssel zu bilden
DE102022127567A1 (de) Authentifizierte modifizierung von speichersystemdaten
DE112021000150T5 (de) Datenspeicherungsvorrichtungsverschlüsselung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MEWBURN ELLIS LLP, DE

R081 Change of applicant/patentee

Owner name: WESTERN DIGITAL TECHNOLOGIES, INC. (N.D.GES.D., US

Free format text: FORMER OWNER: HGST NETHERLANDS B.V., AMSTERDAM, NL

R082 Change of representative

Representative=s name: MEWBURN ELLIS LLP, DE

R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE