DE102019132512A1 - Verfahren zum entsperren einer secure digital-speichervorrichtung, die in einem secure digital-betriebsmodus gesperrt ist - Google Patents

Verfahren zum entsperren einer secure digital-speichervorrichtung, die in einem secure digital-betriebsmodus gesperrt ist Download PDF

Info

Publication number
DE102019132512A1
DE102019132512A1 DE102019132512.9A DE102019132512A DE102019132512A1 DE 102019132512 A1 DE102019132512 A1 DE 102019132512A1 DE 102019132512 A DE102019132512 A DE 102019132512A DE 102019132512 A1 DE102019132512 A1 DE 102019132512A1
Authority
DE
Germany
Prior art keywords
password
secure digital
mode
solid state
nvme
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
DE102019132512.9A
Other languages
English (en)
Inventor
Vinod Sasidharan
Hitesh Golechchha
Dinesh Kumar Agarwal
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.)
SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US
Original Assignee
Western Digital Technologies Inc
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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of DE102019132512A1 publication Critical patent/DE102019132512A1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • G06F2212/2146Solid state disk being detachable, e.g.. USB memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

Eine Speichervorrichtung, die sowohl in einem Secure Digital-Betriebsmodus als auch in einem NVMe-Betriebsmodus betreibbar ist, schließt eine Passwortkonvertierungslogik ein, um zu ermöglichen, dass auf die Benutzermodus-Speicherblöcke der Speichervorrichtung in dem NVMe-Betriebsmodus nach dem Sperren der Speichervorrichtung in dem Secure Digital-Betriebsmodus zugegriffen werden kann.

Description

  • HINTERGRUND
  • Secure Digital nimmt sowohl Bezug auf ein nichtflüchtiges Speicherkartenformat, entwickelt von der Secure Digital Card Association (SDA) zur Verwendung in tragbaren Vorrichtungen wie Solid-State-Laufwerken (SSDs), als auch auf Protokolle zum Interagieren mit solchen Vorrichtungen. Secure Digital schließt gegenwärtig fünf Kartenfamilien ein, die in drei verschiedenen Größen verfügbar sind. Die fünf Familien sind die ursprüngliche Standard-Capacity (SDSC), die High-Capacity (SDHC), die eXtended-Capacity (SDXC), die Ultra-Capacity (SDUC) und die SDIO, die Ein- /Ausgabe-Funktionen mit Datenspeicherung kombiniert. Die drei Formfaktoren sind die ursprüngliche Größe, die Mini-Größe und die Mikro-Größe. Hierin nimmt der Ausdruck „Secure Digital-Betriebsmodus“ Bezug auf Protokolle zum Interagieren mit Secure Digital-Vorrichtungen vor der Einführung des NVMe-Betriebsmodus in neueren Vorrichtungen. Das NVMe-Protokoll/der NVMe-Betriebsmodus ist ein Kommunikationsstandard/Protokoll, das speziell für Sicherheitsspeicherungsvorrichtungen durch eine Vereinigung von Anbietern einschließlich Intel, Samsung, SanDisk, Dell und Seagate entwickelt wurde. Es arbeitet über den PCIe-Bus (daher das „Express“ im Namen), was es den Laufwerken ermöglicht, sich eher wie der schnelle nichtflüchtige Halbleiterspeicher zu verhalten, der sie in erster Linie sind, als wie die Festplatten, die sie imitieren.
  • Speichervorrichtungen, die den Secure-Digital-Betriebsmodus unterstützen, müssen Sperr- und Entsperroperationen zum Einschränken oder Zulassen eines Benutzermoduszugriffs auf von der Speichervorrichtung gespeicherte Daten unterstützen. Eine Hostvorrichtung, die sich mit einem Solid-State-Laufwerk verbindet, kann die Speichervorrichtung unter Verwendung eines Passworts sperren und die Speichervorrichtung später mit dem gleichen Passwort entsperren.
  • SDExpress ist ein neuerer Standard für Speichervorrichtungen. SDExpress-Speichervorrichtungen unterstützen sowohl das Secure Digital-Protokoll als auch das Non-Volatile Memory Express-Protokoll (NVMe-Protokoll). Nur ein Protokoll wird zu einem beliebigen gegebenen Zeitpunkt als das Betriebsprotokoll solcher Speichervorrichtungen ausgewählt, wobei die Auswahl während eines Power-On-Reset (Booten) der Speichervorrichtung erfolgt. Einer Hostvorrichtung wird der Zugriff auf gespeicherte Daten in Benutzermodus-Speicherblöcken der Speichervorrichtung verweigert, wenn die SDExpress-Speichervorrichtung im NVMe-Betriebsmodus gebootet wird, aber zuvor gesperrt war, während sie sich im Secure Digital-Betriebsmodus befand. Der Begriff „Benutzermodus“ nimmt Bezug auf einen Betriebsmodus, in dem ein autorisierter Benutzer einer Secure Digital-Speichervorrichtung (üblicherweise eine Person oder eine Anwendung, die mit der Vorrichtung über eine Hostvorrichtung interagiert) Daten lesen und/oder Daten auf (nicht verborgene oder „Benutzermodus-Speicherblöcke“ der Vorrichtung schreiben kann, je nach Berechtigungen.
  • 1 veranschaulicht einen solchen Prozess 100 für ein Solid-State-Laufwerk 112. Das Solid-State-Laufwerk 112 wird zuerst in dem Secure Digital-Betriebsmodus 102 gebootet und dann gesperrt (SSD-Sperre 104). Optional kann die SSD-Sperre 104 physisches Ablösen des Solid-State-Laufwerks 112 von einer Hostvorrichtung beinhalten, z. B. Entfernen oder Auswerfen des Solid-State-Laufwerks 112 (SSD entfernen und erneut verbinden 106). Es ist jedoch nicht in allen Implementierungen notwendig, ein Solid-State-Laufwerk zu entfernen und erneut zu verbinden, um die Vorrichtung zu sperren. Als nächstes wird das Solid-State-Laufwerk 112 in dem NVMe-Betriebsmodus 108 gebootet. Da das Solid-State-Laufwerk 112 zuvor in dem Secure Digital-Betriebsmodus 102 gesperrt war, versagen zu diesem Zeitpunkt Datenlese- und -schreibbefehle an das Solid-State-Laufwerk 112 (Lese-/Schreibfehler 110).
  • Figurenliste
  • Um die Diskussion über ein bestimmtes Element oder eine bestimmte Handlung leicht zu identifizieren, nehmen die wichtigsten Ziffern in einem Bezugszeichen auf die Nummer der Figur Bezug, in der dieses Element zum ersten Mal eingeführt wird.
    • 1 veranschaulicht einen Prozess 100, der einen Lese-/Schreibfehler in einem herkömmlichen Solid-State-Laufwerk verursacht.
    • 2 veranschaulicht eine Sicherheitsdatenstruktur 200 gemäß einer Ausführungsform.
    • 3 veranschaulicht einen Betriebsprozess 300 gemäß einer Ausführungsform.
    • 4 veranschaulicht einen Betriebsprozess 400 gemäß einer Ausführungsform.
    • 5 veranschaulicht einen Betriebsprozess 500 gemäß einer Ausführungsform.
    • 6 veranschaulicht einen herkömmlichen CPRM-Lese- und -Schreibprozess 600, der einen Lese-/Schreibfehler in einem herkömmlichen Solid-State-Laufwerk verursacht.
    • 7 veranschaulicht einen CPRM-Datenschreib- und -Datenleseprozess 700 gemäß einer Ausführungsform.
    • 8 veranschaulicht einen CPRM-Datenschreib- und Datenleseprozess 800 gemäß einer Ausführungsform.
    • 9 veranschaulicht eine LESE-Logik des CPRM-Inhalts im Secure Digital-Betriebsmodus 900 gemäß einer Ausführungsform.
    • 10 veranschaulicht eine CPRM-Datenleselogik im NVMe-Betriebsmodus 1000 gemäß einer Ausführungsform.
    • 11 ist ein Blockdiagramm einer beispielhaften Speichervorrichtung 1100.
  • DETAILLIERTE BESCHREIBUNG
  • Hierin beschrieben sind Mechanismen zum Entsperren einer Speichervorrichtung, die in dem NVMe-Betriebsmodus bootet und zuvor in dem Secure-Digital-Betriebsmodus gesperrt war. Abwärtskompatibilität wird ausschließlich mit Secure Digital-Modus-Hostvorrichtungen (z. B. Secure Digital-Speichervorrichtungen, die den NVMe-Betriebsmodus nicht unterstützen) gewahrt. Hostvorrichtungen und Endbenutzer können diese Mechanismen ausschließlich mit Secure Digital-Modus-Hostvorrichtungen sowie neueren SDExpress-Speichervorrichtungen verwenden.
  • Das ATA-Sicherheitsprotokoll ist ein Satz von Sicherheitsmerkmalen und Protokollen, die von seriellen ATA- oder SATA-kompatiblen Vorrichtungen verwendet werden. SATA ist eine Computerbusschnittstelle, die Host-Bus-Adapter mit Massenspeichervorrichtungen wie Solid-State-Laufwerken, Festplatten, optischen Laufwerken und Solid-State-Laufwerken verbindet. SATA-Hostadapter und -vorrichtungen kommunizieren über ein serielles Hochgeschwindigkeitskabel über zwei Leiterpaare.
  • Die Mechanismen verwenden die ATA-Sicherheitsmerkmale über das NVMe-Protokoll zum Entsperren der Speichervorrichtung, wenn eine SDExpress-Speichervorrichtung im NVMe-Betriebsmodus gebootet wird. Die Hostvorrichtung verwendet das ATA-Sicherheitsmerkmal unter Verwendung des gleichen Passworts, das sie für den Secure Digital-Betriebsmodus verwendet. Die Speichervorrichtung schließt eine Konvertierungslogik für das Passwort des Secure Digital-Modus in das Passwort des ATA-Sicherheitsmerkmals ein, die den Übergang vom Secure Digital-Betriebsmodus in den NVMe-Betriebsmodus ohne Beteiligung der Hostvorrichtung ermöglicht. Die Speichervorrichtung schließt auch Passwortblöcke in einem nichtflüchtigen Speicher ein, auf die nur durch eine Datensicherheitslogik zugegriffen werden kann.
  • Wenn die SDExpress-Speichervorrichtung das Solid-State-Laufwerk unter Verwendung eines Passworts im Secure Digital-Betriebsmodus sperrt, werden die Passwortlänge, das Passwort und der Sperrstatus in einem Sicherheitspasswortblock im NAND-Flashspeicher gespeichert. Der Sicherheitspasswortblock ist in Nicht-Benutzermodus-Speicherblöcken angeordnet und ist nicht zum Speichern von Benutzermodusdaten verfügbar.
  • Das NVMe-Protokoll unterstützt mehrere Sicherheitsprotokolle unter Verwendung von sicheren Datenlese- und -schreibbefehlen. Das ATA-Sicherheitsprotokoll kann ein solches Protokoll sein, das durch das NVMe-Protokoll unterstützt wird. Das ATA-Sicherheitsprotokoll unterstützt sowohl Benutzerpasswörter als auch Masterpasswörter. In einer Ausführungsform konvertiert die Passwortkonvertierungslogik eine Secure Digital-Sicherheitsdatenstruktur in ein Benutzerpasswort des ATA-Sicherheitsprotokolls. Die Passwortkonvertierungslogik wird während der NVMe-Betriebsmodusinitialisierung während des Bootens der SDExpress-Speichervorrichtung ausgelöst. Die Passwortkonvertierungslogik transformiert das Passwort durch Anhängen von Nullen, wenn die Passwortlänge im Secure Digital-Betriebsmodus kleiner als 32 Bytes ist. Die Passwortkonvertierungslogik liest die Passwortdetails des Secure Digital-Modus aus der sicheren Datenstruktur des Secure Digital-Modus, führt die Passwortkonvertierung durch und speichert das Ergebnis in der sicheren Datenstruktur des ATA-Modus. Sowohl die sichere Datenstruktur des Secure Digital-Modus als auch die sichere Datenstruktur des ATA-Modus sind in Nicht-Benutzermodus-Speicherblöcken eines nichtflüchtigen Speichers angeordnet, die während einer Benutzermodusverwendung des Solid-State-Laufwerks verborgen sind. Wenn die Hostvorrichtung nach der NVMe-Betriebsmodusinitialisierung den ATA-Entsperrbefehl sendet, um die Speichervorrichtung zu entsperren, liest der ATA-Sicherheitsprotokollhandler in der Speichervorrichtung das gespeicherte Passwort aus der sicheren Datenstruktur des ATA-Modus und vergleicht es mit dem von der Hostvorrichtung bereitgestellten Passwort. Wenn die Passwörter übereinstimmen, wird die Speichervorrichtung in den entsperrten Modus versetzt und Datenlese- und -schreibbefehle an Benutzermodus-Speicherblöcke werden erfolgreich sein.
  • Bezugnehmend auf 2 weist eine Sicherheitsdatenstruktur 200 reservierte Bits 202, Berechtigungsbits 204, ein Passwortlängenbyte 206 und ein Passwortbyte 208 auf.
  • Die reservierten Bits 202 und die Berechtigungsbits 204 können zusammen das erste Byte („Byte 0“) der Secure Digital-Sicherheitsdatenstruktur aufweisen. Die reservierten Bits 202 sind ein Secure Digital-Sicherheitsdatenstruktur-Standard. Diese vier Bits können auf „0“ gesetzt werden. Die Berechtigungsbits 204 können Operationen zum Löschen der Sicherheitsdatenstruktur, zum Sperren und/oder Entsperren der Sicherheitsdatenstruktur, zum Löschen des Passworts aus den Passwortbytes 208 und zum Einstellen des Passworts auf die Passwortbytes 208 einschließen. Der Status des Sperr-/Entsperrmerkmals der Berechtigungsbits 204 kann verwendet werden, um zu bestimmen, ob ein Passwort verwendet werden soll, wenn das Solid-State-Laufwerk mit einer Hostvorrichtung interagiert.
  • Das Passwortlängenbyte 206 weist Bits auf, um die Passwortlänge darzustellen. Das Passwortlängenbyte 206 kann das zweite Byte („Byte 1“) der Sicherheitsdatenstruktur 200 einschließen. Die Passwortlänge bestimmt die Anzahl der Passwortbytes 208. Die Passwortlänge kann eine Ganzzahl kleiner als oder gleich 32 sein. Das Passwortlängenbyte 206 kann verwendet werden, um zu bestimmen, ob eine Passwortkonvertierungslogik für das Passwort des Secure-Digital-Modus durchgeführt werden muss.
  • Die Passwortbytes 208 schließen eine Anzahl von Bytes ein, die der Passwortlänge entsprechen, die in dem Passwortlängenbyte 206 aufgewiesen ist. Die Passwortbytes 208 weisen die Passwortdaten auf. Die Passwortdaten können verwendet werden, um die Secure Digital-Speichervorrichtung aus dem entsperrten Status in einen gesperrten Status zu versetzen.
  • 3 veranschaulicht eine Ausführungsform eines Betriebsprozesses 300 zwischen einer Hostvorrichtung 302 und einer SDExpress-Speichervorrichtung 304. Die SDExpress-Speichervorrichtung 304 schließt verborgene SD-Passwortblöcke 306 und verborgene ATA-Passwortblöcke 314 ein. Die verborgenen SD-Passwortblöcke 306 weisen eine Passwortlänge 308, Passwortdaten 310 und einen Sperrstatus 312 auf. Die verborgenen ATA-Passwortblöcke 314 weisen ATA-Passwortdaten 316 auf.
  • Die Hostvorrichtung 302 ist eine Vorrichtung, die in der Lage ist, sich mit der SDExpress-Speichervorrichtung 304 zu verbinden. Die Hostvorrichtung 302 kann ein persönlicher Computer, ein eingebetteter Computer (wie bei einem Automobil, autonomen Fahrzeug usw.), eine digitale Kamera, ein Camcorder, eine Videospielkonsole, ein Mobiltelefon usw. sein. Die Hostvorrichtung 302 kann auf die SDExpress-Speichervorrichtung 304 in einem Secure Digital-Betriebsmodus oder einem NVMe-Betriebsmodus zugreifen. Mehrere Hostvorrichtungen können auf die SDExpress-Speichervorrichtung 304 zugreifen. Jede Hostvorrichtung 302 kann den Secure Digital-Betriebsmodus, den NVMe-Betriebsmodus oder beide zu unterschiedlichen Zeiten verwenden. Die Hostvorrichtung 302 kann auch andere Modi nutzen. Zum Beispiel kann eine erste Hostvorrichtung auf die SDExpress-Speichervorrichtung 304 unter Verwendung des Secure Digital-Betriebsmodus zugreifen. Die erste Hostvorrichtung kann dann die SDExpress-Speichervorrichtung gemäß dem Secure Digital-Protokoll sperren. Die SDExpress-Speichervorrichtung 304 kann dann von der ersten Hostvorrichtung entfernt und mit einer zweiten Hostvorrichtung verbunden werden. Die zweite Hostvorrichtung kann dann versuchen, die SDExpress-Speichervorrichtung 304 gemäß einem ATA-Sicherheitsprotokoll über das NVMe-Protokoll zu entsperren. Mit anderen Worten, eine oder mehrere Hostvorrichtungen (dieselbe oder verschiedene) können versuchen, die SDExpress-Speichervorrichtung 304 unter Verwendung des NVMe-Betriebsmodus nach dem Sperren der SDExpress-Speichervorrichtung 304 unter Verwendung des Secure Digital-Protokolls zu entsperren.
  • Die SDExpress-Speichervorrichtung 304 kann Datenspeicherblöcke und verborgene Blöcke aufweisen, wie die verborgenen SD-Passwortblöcke 306 und die verborgenen ATA-Passwortblöcke 314. Die verborgenen SD-Passwortblöcke 306 und die verborgenen ATA-Passwortblöcke 314 können in demselben Speicherblock/in denselben Speicherblöcken oder in verschiedenen Speicherblöcken der SDExpress-Speichervorrichtung 304 angeordnet sein. Der Speicherort der verborgenen SD-Passwortblöcke 306 und der verborgenen ATA-Passwortblöcke 314 kann auf einer Speicherzuordnung auf der SDExpress-Speichervorrichtung 304 gespeichert werden, um auf diese verborgenen Blöcke zuzugreifen. Da die verborgenen SD-Passwortblöcke 306 und die verborgenen ATA-Passwortblöcke 314 verborgene Blöcke sind, können sie sich außerhalb der Benutzermodus-Speicherblöcke befinden. Die verborgen SD-Passwortblöcke 306 und die verborgenen ATA-Passwortblöcke 314 können verwendet werden, um den Zugriff auf die Benutzermodus-Speicherblöcke zu sperren oder zu entsperren. Wenn die Hostvorrichtung 302 versucht, auf die SDExpress-Speichervorrichtung 304 unter Verwendung des NVMe-Betriebsmodus zuzugreifen und die SDExpress-Speichervorrichtung 304 durch das Secure Digital-Protokoll gesperrt ist, kann die SDExpress-Speichervorrichtung 304 eine Initialisierungsphase durchlaufen. Diese Initialisierungsphase verwendet Passwortkonvertierungslogik zum Konvertieren der Passwortdaten 310 in die ATA-Passwortdaten 316. Die Initialisierungsphase kann enden, wenn die SDExpress-Speichervorrichtung 304 der Hostvorrichtung 302 anzeigt, dass die SDExpress-Speichervorrichtung 304 bereit ist, die Benutzermodus-Speicherblöcke zu verwenden.
  • Die verborgenen SD-Passwortblöcke 306 weisen die Passwortlänge 308, die Passwortdaten 310 und den Sperrstatus 312 auf. Die Passwortlänge 308 ist eine Angabe der Anzahl von Bytes der Passwortdaten 310. Die Passwortlänge 308 kann verwendet werden, um die Konvertierung der Passwortdaten 310 (des Secure Digital-Betriebsmodus) in die ATA-Passwortdaten 316 zu bestimmen.
  • Die Passwortdaten 310 sind ein Satz von Bytes, das Passwort des Secure Digital-Modus, der zum Entsperren und Sperren der SDExpress-Speichervorrichtung 304 in dem Secure Digital-Betriebsmodus verwendet wird. Während der Initialisierungsphase (z. B. Booting-Phase) des NVMe-Betriebsmodus, wenn die Hostvorrichtung 302 auf die SDExpress-Speichervorrichtung 304 zugreift, können die Passwortdaten 310 unter Verwendung der Passwortkonvertierungslogik in die ATA-Passwortdaten 316 konvertiert werden. Der Sperrstatus 312 bestimmt, ob die SDExpress-Speichervorrichtung 304 durch den Secure Digital-Betriebsmodus gesperrt oder entsperrt ist. Der Sperrstatus 312 kann ein Bit in den Berechtigungsbits der SDExpress-Speichervorrichtung 304 sein. Die Berechtigungsbits können in den verborgenen SD-Passwortblöcken 306 angeordnet sein. Wenn die SDExpress-Speichervorrichtung 304 entsperrt ist, kann die SDExpress-Speichervorrichtung 304 die Passwortkonvertierungslogik nicht verwenden. Wenn die SDExpress-Speichervorrichtung 304 gesperrt ist, kann die SDExpress-Speichervorrichtung 304 die Passwortkonvertierungslogik verwenden, wenn die Hostvorrichtung 302 versucht, auf die SDExpress-Speichervorrichtung 304 unter Verwendung des NVMe-Betriebsmodus zuzugreifen.
  • In anderen Ausführungsformen kann die Passwortkonvertierungslogik (später gezeigt, siehe 11) gestartet werden, um die Passwortdaten 310 des Passworts des Secure Digital-Modus in die ATA-Passwortdaten 316 zu transformieren, wenn die SDExpress-Speichervorrichtung 304 in dem Secure Digital-Betriebsmodus gesperrt ist, und das transformierte Passwort des ATA-Sicherheitsprotokolls kann zu diesem Zeitpunkt in den verborgenen ATA-Passwortblöcken 314 gespeichert werden.
  • Die verborgenen ATA-Passwortblöcke 314 weisen die ATA-Passwortdaten 316 auf. Die ATA-Passwortdaten 316 sind ein Satz von Bytes, das Passwort des NVMe-Betriebsmodus, der zum Bereitstellen des Zugriffs auf die Benutzermodus-Speicherblöcke der SDExpress-Speichervorrichtung 304 in dem NVMe-Betriebsmodus verwendet wird. Wenn die SDExpress-Speichervorrichtung 304 zuvor in dem Secure Digital-Betriebsmodus gesperrt wurde, können die ATA-Passwortdaten 316 eine Transformation der Passwortdaten 310 (d. h. des Passworts des Secure Digital-Modus) sein, die durch die Passwortkonvertierungslogik ausgeführt werden.
  • 4 veranschaulicht eine Ausführungsform eines Betriebsprozesses 400, der auf eine Hostvorrichtung reagiert, die versucht, auf die SDExpress-Speichervorrichtung unter Verwendung eines NVMe-Betriebsmodus zuzugreifen. Der Sperrstatus des Secure Digital-Betriebsmodus wird gelesen (Block 402). Die Secure Digital-Sicherheitsdatenstruktur kann den Sperrstatus in einem Berechtigungsbit speichern und kann in einem verborgenen Passwortblock des Secure Digital-Modus angeordnet sein. Der Sperrstatus kann gesperrt oder entsperrt sein. Der Betriebsprozess 400 bestimmt dann, ob die SDExpress-Speichervorrichtung gesperrt ist (Entscheidungsblock 404). Wenn die SDExpress-Speichervorrichtung entsperrt ist, endet der Betriebsprozess 400 (z. B. durch Eintritt in einen Benutzermodus).
  • Wenn die SDExpress-Speichervorrichtung gesperrt ist (und nur dann), wird die Passwortlänge des Secure Digital-Betriebsmodus gelesen (Block 406). Die Secure Digital-Sicherheitsdatenstruktur kann die Passwortlänge speichern und in dem verborgenen Passwortblock bzw. den verborgenen Passwortblöcken des Secure Digital-Modus angeordnet sein. Die Passwortlänge kann eine Ganzzahl von Bytes sein, die kleiner als oder gleich 32 ist. Der Betriebsprozess 400 bestimmt, ob die Passwortlänge gleich 32 Bytes ist (Entscheidungsblock 408).
  • Wenn die Passwortlänge nicht 32 Bytes ist (und nur dann), wird das Passwort des Secure Digital-Modus gelesen (Block 410). Das Passwort des Secure Digital-Modus kann in den verborgenen Passwortblöcken des Secure Digital-Modus der Secure Digital-Sicherheitsdatenstruktur als die Passwortdaten gespeichert werden. Die Passwortlänge kann die Anzahl von Bytes bestimmen, die von der SDExpress-Speichervorrichtung gelesen werden. Nullen werden dann dem Passwort angefügt (Block 412). Die Anzahl der angefügten Nullen basiert auf der Passwortlänge. Das heißt, die Anzahl der angefügten Nullen ist die Differenz zwischen 32 und der Passwortlänge. Wenn zum Beispiel die Passwortlänge 8 Bytes ist, dann werden 24 Nullen an das Passwort angefügt. Das transformierte Passwort wird dann in verborgene Blöcke des NVMe-Betriebsmodus geschrieben (Block 414). Auf diese verborgenen Blöcke kann über das ATA-Sicherheitsprotokoll im NVMe-Betriebsmodus zugegriffen werden. Ein Passwort, das mit dem NVMe-Betriebsmodus kompatibel ist, wird somit in den verborgenen ATA-Passwortblöcken gespeichert (dies kann hierin als das Passwort des ATA-Sicherheitsprotokolls bezeichnet werden). Der Betriebsprozess 400 endet dann (z. B. gefolgt von Authentifizierung mit dem Passwort und Eintritt in den Benutzermodus).
  • Wenn die Passwortlänge 32 Bytes ist (und nur dann), wird das Passwort des Secure Digital-Modus gelesen (Block 416). Das Passwort des Secure Digital-Modus kann in den verborgenen Passwortblöcken des Secure Digital-Modus der Secure Digital-Sicherheitsdatenstruktur als die Passwortdaten gespeichert werden. Die Passwortlänge kann die Anzahl von Bytes bestimmen, die von der SDExpress-Speichervorrichtung gelesen werden. Das Passwort des Secure Digital-Modus wird dann in das Passwort des ATA-Sicherheitsprotokolls transformiert (Block 418). Das Passwort des NVMe-Betriebsmodus wird in die verborgenen ATA-Passwortblöcke geschrieben und als das Passwort des ATA-Sicherheitsprotokolls gespeichert. Der Betriebsprozess 400 endet dann.
  • In einigen Ausführungsformen sendet die SDExpress-Speichervorrichtung ein Steuersignal an die Hostvorrichtung, sobald der Betriebsprozess 400 endet. Das Steuersignal kann Zugriff auf die SDExpress-Speichervorrichtung bereitstellen oder Passwortinformationen anfordern, welche dann mit dem gespeicherten Passwort des ATA-Sicherheitsprotokolls (z. B. Benutzerauthentifizierung für den Eintritt in den Benutzermodus) verglichen werden.
  • Bezugnehmend auf 5 arbeitet ein Betriebsprozess 500 in einer Ausführungsform als Reaktion darauf, dass eine Hostvorrichtung versucht, auf die SDExpress-Speichervorrichtung unter Verwendung eines Secure Digital-Betriebsmodus zuzugreifen. Ein Sperrstatus des Secure Digital-Betriebsmodus wird gelesen (Block 502). Die Secure Digital-Sicherheitsdatenstruktur kann den Sperrstatus in einem Berechtigungsbit speichern und in einem verborgenen Passwortblock des Secure Digital-Modus angeordnet sein. Der Sperrstatus kann gesperrt oder entsperrt sein. Der Betriebsprozess 500 bestimmt dann, ob die SDExpress-Speichervorrichtung gesperrt ist (Entscheidungsblock 504). Wenn die SDExpress-Speichervorrichtung entsperrt ist, endet der Betriebsprozess 500.
  • Wenn die SDExpress Speichervorrichtung gesperrt ist, wird die Passwortlänge des Secure Digital-Betriebsmodus gelesen (Block 506). Die Secure Digital-Sicherheitsdatenstruktur kann die Passwortlänge speichern und in dem verborgenen Passwortblock des Secure Digital-Modus angeordnet sein. Die Passwortlänge kann eine Ganzzahl von Bytes sein, die kleiner als oder gleich 32 ist. Das Passwort des Secure Digital-Betriebsmodus wird gelesen (Block 508). Das Passwort des Secure Digital-Modus kann in den verborgenen SD-Blöcken der Secure Digital-Sicherheitsdatenstruktur als die Passwortdaten gespeichert werden. Die Passwortlänge kann die Anzahl von Bytes bestimmen, die von der SDExpress-Speichervorrichtung gelesen werden. Der Betriebsprozess 500 endet dann.
  • In einigen Ausführungsformen sendet die SDExpress-Speichervorrichtung ein Steuersignal an die Hostvorrichtung, sobald der Betriebsprozess 500 endet. Das Steuersignal kann Zugriff auf die SDExpress-Speichervorrichtung bereitstellen oder kann Passwortinformationen anfordern, welche dann mit dem gespeicherten Passwort des Secure Digital-Modus verglichen werden.
  • Content Protection for Recordable Media (CPRM) ist ein Verfahren des Urheberrechtsschutzes, das von Secure Digital-Speichervorrichtungen verwendet wird. Die CPRM-Patentschrift stellt einen Verschlüsselungs- und Wiedergabeschutz für den Inhalt bereit, der in einem Benutzerbereich einer Secure Digital-Betriebsmoduskarte gespeichert ist.
  • Wie zuvor beschrieben unterstützen die neueren SDExpress-Speichervorrichtungen sowohl das Secure Digital-Protokoll als auch das NVMe-Protokoll. Es kann nur ein Protokoll zum gleichen Zeitpunkt verwendet werden. Dies führt zu dem Problem, dass der Zugriff auf verschlüsselte Inhalte, die unter Verwendung von CPRM gespeichert sind, im Secure Digital-Betriebsmodus verweigert wird, wenn das Gerät anschließend im NVMe-Betriebsmodus gebootet wird. Das Problem wird in 7 veranschaulicht.
  • 6 veranschaulicht einen herkömmlichen CPRM-Lese- und -Schreibprozess 600. In dem Secure Digital-Betriebsmodus liest das Solid-State-Laufwerk 112 einen Medienschlüssel aus dem Systembereich an Block 602 und schreibt den CPRM-Inhalt in den Benutzerbereich an Block 604. Das Solid-State-Laufwerk 112 wird gesperrt (Block 606) und/oder aus der Hostvorrichtung entfernt (Block 608) und in dem NVMe-Betriebsmodus an Block 610 neu gebootet, wobei zu diesem Zeitpunkt ein Lesefehler auftritt, wenn das Solid-State-Laufwerk 112 versucht, den Medieninhalt aus dem Benutzerbereich zu lesen (Block 612).
  • 7 veranschaulicht einen erweiterten CPRM-Datenschreib- und Datenleseprozess 700 gemäß einer Ausführungsform. Unter Verwendung des CPRM-Datenschreib- und -Datenleseprozesses 700 liest das Solid-State-Laufwerk 112 einen Medienschlüssel aus dem Systembereich an Block 602, schreibt den CPRM-Inhalt in den Benutzerbereich an Block 604, wird gesperrt (Block 606) und/oder aus der Hostvorrichtung entfernt (Block 608), wie zuvor für den herkömmlichen CPRM-Lese- und Schreibprozess 600. Jedoch arbeitet das Solid-State-Laufwerk 112 nun gemäß dem CPRM-Datenschreib- und Datenleseprozess 800 von 8 und ist in der Lage, den verschlüsselten CPRM-Inhalt an Block 702 zu dekodieren.
  • Nun bezugnehmend auf 8 liest eine Ausführungsform des CPRM-Datenschreib- und Datenleseprozesses 800 im Überblick den Medienschlüssel aus dem Systembereich des Secure Digital-Betriebsmodus an Block 802, liest die Medienkennung aus dem Systembereich des Secure Digital-Betriebsmodus an Block 804, liest den verschlüsselten Titelschlüssel aus dem geschützten Bereich des Secure Digital-Betriebsmodus an Block 806 und liest den verschlüsselten Inhalt aus dem Benutzerbereich des NVMe-Betriebsmodus an Block 808.
  • Der CPRM-Datenschreib- und Datenleseprozess 700 und der CPRM-Datenschreib- und Datenleseprozess 800 können besser verstanden werden im Kontext von 9 und 10.
  • Der Medienschlüsselblock 914 und die Medienkennung 916 sind in dem Systemspeicherbereich 928 des Secure Digital-Betriebsmodus der Secure Digital-Speichervorrichtung 910 gespeichert. Die LESE-Logik des CPRM-Inhalts im Secure Digital-Betriebsmodus 900 verwendet sicher freigegebene SSD-Schlüssel 926, die zusammen mit dem Medienschlüsselblock 914 und der Medienkennung 916 von der Hostvorrichtung 912 verwendet werden, um den Medienschlüssel zu entschlüsseln (Block 902) und den eindeutigen Medienschlüssel zu erstellen (Block 904). Die Verschlüsselungs- und Entschlüsselungsprozesse, die diese Schlüssel verwenden, werden ausführlich in der CPRM-Patentschrift beschrieben und hier nicht wiederholt. Der verschlüsselte Titelschlüssel 920 wird aus dem geschützten Speicherbereich 930 des Secure Digital-Betriebsmodus unter Verwendung von sicherer Authentifizierung und Schlüsselaustausch (AKE) durch den SDD-RPMB-Handler 922 und den Hostvorrichtungs-RPMB-Handler 924 erhalten. Der generierte eindeutige Medienschlüssel wird verwendet, um den verschlüsselten Titelschlüssel 920 zu entschlüsseln (Block 906), und der entschlüsselte Titelschlüssel wird dann verwendet, um den verschlüsselten Inhalt 918 zu entschlüsseln (Block 908), der in dem Benutzerspeicherbereich 932 des Secure Digital-Betriebsmodus gespeichert ist. Authentifizierung und Schlüsselaustausch werden zum Lesen oder zum Schreiben auf den geschützten Bereich, unter Verwendung eines Sitzungsschlüssels, verwendet. Die Authentifizierung und der Schlüsselaustausch stellen einen Wiedergabeschutz für den verschlüsselten Titelschlüssel 920 sicher, der in dem geschützten Speicherbereich 930 gespeichert ist.
  • Noch detaillierter können die folgenden Interaktionen zwischen einer Secure Digital-Speichervorrichtung und einer Hostvorrichtung angeordnet sein, um verschlüsselten Inhalt 918, der in dem Benutzerspeicherbereich 932 einer Secure Digital-Vorrichtung gespeichert ist, zu LESEN:
    • 1. Der Medienschlüsselblock 914 wird aus dem Systemspeicherbereich 928 unter Verwendung des Secure Digital-Betriebsmodusbefehls ACMD43 GELESEN.
    • 2. Die Medienkennung 916 wird aus dem Systemspeicherbereich 928 unter Verwendung des Secure Digital-Betriebsmodusbefehls ACMD44 GELESEN.
    • 3. Der verschlüsselte Titelschlüssel 920 wird aus dem geschützten Speicherbereich 930 durch Authentifizierung und Schlüsselaustausch unter Verwendung von Secure Digital-Betriebsmodusbefehlen für Authentifizierung, Schlüsselaustausch und sicherem LESEN GELESEN.
    • 4. Der verschlüsselte Inhalt 918 wird aus dem Benutzerspeicherbereich 932 unter Verwendung von Benutzerbereich-LESE-Befehlen des Secure Digital-Betriebsmodus GELESEN.
  • Die CPRM-Datenleselogik im NVMe-Betriebsmodus 1000 von 10 veranschaulicht, wie die wiedergabeschützten Speicherblockmerkmale (RPMB-Merkmale) des NVMe-Protokolls genutzt werden können, um den verschlüsselten CPRM-Inhalt 918, der in dem Benutzerspeicherbereich 932 im Secure Digital-Betriebsmodus gespeichert ist, zu LESEN. CPRM-Inhalt des Secure Digital-Betriebsmodus durch eine SDExpress-Speichervorrichtung, die in dem NVMe-Betriebsmodus gebootet wurde.
  • Der LESE-Prozess des CPRM-Inhalts des Secure Digital-Betriebsmodus wird in dem NVMe-Betriebsmodus durch einen wiedergabegeschützten Speicherblockprozess ersetzt. Der Medienschlüsselblock 914, die Medienkennung 916 und der verschlüsselte Titelschlüssel 920 sind in getrennten wiedergabeschützten Speicherblockpartitionen der Secure Digital-Speichervorrichtung 910 gespeichert und sind nur einem wiedergabegeschützten CPRM-Speicherblockhandler (SDD-RPMB-Handler 1002) der Secure Digital-Speichervorrichtung 910 zugänglich. Ein ähnlicher Handler (Hostvorrichtungs-RPMB-Handler 1004) ist in der Hostvorrichtung 912 bereitgestellt. Eine vollständige Patentschrift der Verwendung von wiedergabeschützten Speicherblöcken in dem NVMe-Betriebsmodus ist in der entsprechenden öffentlichen Patentschrift verfügbar und wird hier nicht wiederholt.
  • Wie in 10 gezeigt, kann das wiedergabegeschützte Speicherblockmerkmal von Vorrichtungen, die in dem NVMe-Betriebsmodus betrieben werden, verwendet werden, um die Entschlüsselung des CPRM-Inhalts zu ermöglichen, der zuvor während des Secure Digital-Betriebsmodus gespeichert wurde. In dem NVMe-Betriebsmodus stellt der SDD-RPMB-Handler 1002 logische Zuordnungen von CPRM-Transaktionen des Secure Digital-Betriebsmodus den wiedergabeschützten Speicherblöcken RPMB-Ziel 1 Block 1006, RPMB-Ziel 2 Block 1008 und RPMB-Ziel 3 Block 1010 bereit. Diese wiedergabegeschützten Speicherblöcke stellen eine Authentifizierung und einen Wiedergabeschutz für den Medienschlüsselblock 914, die Medienkennung 916 und den verschlüsselten Titelschlüssel 920 bereit. Das Authentifizierungs- und Schlüsselaustauschmerkmal des CPRM des Secure Digital-Betriebsmodus ist in dem NVMe-Betriebsmodus durch den wiedergabegeschützten Speicherblock bereitgestellt, unter Verwendung einer Signaturprüfung wie HMAC-SHA256.
  • Die wiedergabeschützten Speicherblockauthentifizierungsschlüssel (sicher freigegebene RPMB-Schlüssel 1012) können in der Secure Digital-Speichervorrichtung 910 und/oder Hostvorrichtung 912 auf im Stand der Technik bekannte Weisen bereitgestellt werden, wie durch Programmieren in die Secure Digital-Speichervorrichtung 910 und/oder Hostvorrichtung 912 in einer gesicherten Fertigungsumgebung durch gegenseitige Übereinstimmung. Die sicher freigegebenen RPMB-Schlüssel 1012 können zusammen mit den durch CPRM sicher freigegebenen SSD-Schlüsseln 926 bereitgestellt werden.
  • Der wiedergabegeschützte Speicherblock ist in einer Ausführungsform ein reservierter Datenbereich im NAND-Speicher (FLASH-Speicher) der Hostvorrichtung 912. Der wiedergabegeschützte Speicherblock ist einem CPRM-spezifischen Speicherbereich des Secure Digital-Betriebsmodus zugeordnet. Der Speicherort dieser Bereiche ist dem SDD-RPMB-Handler 1002 der Secure Digital-Speichervorrichtung 910 und dem Hostvorrichtungs-RPMB-Handler 1004 der Hostvorrichtung 912 bekannt und nur dem SDD-RPMB-Handler 1002 direkt zugänglich.
    • 1. Der SDD-RPMB-Handler 1002 ordnet das RPMB-Ziel 1 Block 1006 dem Systemspeicherbereich 928 zu, der den Medienschlüsselblock 914 im Secure Digital-Betriebsmodus speichert.
    • 2. Der SDD-RPMB-Handler 1002 ordnet das RPMB-Ziel 2 Block 1008 dem Systemspeicherbereich 928 zu, der die Medienkennung 916 im Secure Digital-Betriebsmodus speichert.
    • 3. Der SDD-RPMB-Handler 1002 ordnet das RPMB-Ziel 3 Block 1010 dem geschützten Speicherbereich 930 zu, der den verschlüsselten Titelschlüssel 920 im Secure Digital-Betriebsmodus speichert.
  • Somit ordnet der SDD-RPMB-Handler 1002 den LESE-Befehl des Medienschlüsselblocks 914 im NVMe-Betriebsmodus einem LESE-Vorgang aus dem RPMB-Ziel 1 Block 1006 zu, ordnet den LESE-Befehl der Medienkennung 916 im NVMe-Betriebsmodus einem LESE-Vorgang aus dem RPMB-Ziel 2 Block 1008 zu und ordnet den LESE-Befehl des verschlüsselten Titelschlüssels 920 im NVMe-Betriebsmodus einem LESE-Vorgang aus dem RPMB-Ziel 3 Block 1010 zu. Die Position dieser Zielblöcke kann durch den SDD-RPMB-Handler 1002 verdeckt werden.
  • Somit können die folgenden Transaktionen im NVMe-Betriebsmodus verwendet werden, um den verschlüsselten CPRM-Inhalt zu erhalten:
  • Der SDD-RPMB-Handler 1002 stellt die Speicherzuordnungs- und Befehls-Konvertierungslogik bereit, die vorstehend beschrieben ist. Der Hostvorrichtungs-RPMB-Handler 1004 verwendet die CPRM-Befehlslogik, die auf Secure Digital-Speichervorrichtungen standardmäßig ist. Der Hostvorrichtungs-RPMB-Handler 1004 interagiert mit dem SDD-RPMB-Handler 1002 und interagiert nicht direkt mit den wiedergabeschützten Speicherblöcken.
  • Das Verwenden dieser Mechanismen ermöglicht der Hostvorrichtung das Verwenden einer SDExpress-Speichervorrichtung, um den CPRM-Inhalt in dem NVMe-Betriebsmodus zu lesen, wenn dieser Inhalt in dem Secure Digital-Betriebsmodus verschlüsselt war, ohne Änderungen an den alten SDExpress-Patentschriften. Eine ältere Hostvorrichtung ohne den NVMe-Betriebsmodus kann verwendet werden, um den CPRM-Inhalt in dem Secure Digital-Betriebsmodus aufzuzeichnen, und eine andere Hostvorrichtung, die den NVMe-Betriebsmodus unterstützt, kann verwendet werden, um den aufgezeichneten Inhalt wiederzugeben, was zu Leistungsvorteilen führen kann aufgrund der höheren Leistung des NVMe-Betriebsmodus für Übertragungen von Daten mit hoher Bandbreite.
  • 11 ist ein Blockdiagramm einer beispielhaften Speichervorrichtung 1100, die eine Secure Digital-Speichervorrichtung sein kann. Die Speichervorrichtung 1100 kann einen oder mehrere Speicherchips 1104 einschließen. Der Speicherchip 1104 schließt eine Speicherstruktur 1106 aus Speicherzellen ein, wie eine Anordnung von Speicherzellen, die hierin als Speicherarray bezeichnet wird, eine Adresssteuerung 1108 und Lese-/Schreibschaltungen 1132. Die Speicherstruktur 1106 ist durch Wortleitungen über einen Zeilendecoder 1130 und durch Bitleitungen über einen Spaltendecoder 1134 adressierbar. Die Lese-/Schreibschaltungen 1132 schließen mehrere Erfassungsblöcke SB1, SB2, ..., SBp (Erfassungsschaltkreis) ein und ermöglichen das parallele Lesen oder Programmieren einer Seite von Speicherzellen. Üblicherweise ist eine Lese-/Schreibsteuerung 1122 in der gleichen Speichervorrichtung 1100 (z. B. einer entfernbaren Speichervorrichtung) wie der eine oder die mehreren Speicherchips 1104 eingeschlossen. Befehle und Daten werden zwischen der Hostvorrichtung 1136 und der Lese-/Schreibsteuerung 1122 über einen Datenbus 1120 und zwischen der Steuerung und dem einen oder den mehreren Speicherchips 1104 über Leitungen 1118 übertragen.
  • Die Speicherstruktur 1106 kann 2D (in einer einzigen Fertigungsebene ausgelegt) oder 3D (in mehreren Fertigungsebenen ausgelegt) sein. Die Speicherstruktur 1106 kann ein oder mehrere Arrays von Speicherzellen aufweisen, einschließlich eines 3D-Arrays. In einer Ausführungsform kann die Speicherstruktur 1106 eine monolithische dreidimensionale Speicherstruktur (3D-Array) aufweisen, in der mehrere Speicherebenen über (und nicht in) einem einzelnen Substrat, wie einem Wafer, ohne dazwischenliegende Substrate ausgebildet sind. Die Speicherstruktur 1106 kann jede Art von nichtflüchtigem Speicher aufweisen, der monolithisch in einer oder mehreren physischen Ebenen von Arrays von Speicherzellen ausgebildet ist, die über einen aktiven Bereich verfügen, der über einem Siliziumsubstrat angeordnet ist. Die Speicherstruktur 1106 kann sich in einem nichtflüchtigen Speicher mit Schaltkreisen befinden, die dem Betrieb der Speicherzellen zugeordnet sind, ganz gleich, ob sich der zugehörige Schaltkreis oberhalb oder innerhalb des Substrats befindet.
  • Die Adresssteuerung 1108 arbeitet mit den Lese-/Schreibschaltungen 1132 zusammen, um Speicheroperationen auf Speicherzellen der Speicherstruktur 1106 auszuführen, und schließt eine Zustandsmaschine 1110, einen Adressdecoder 1112, eine Temperatursteuerung 1138 und eine Leistungssteuerung 1116 ein. Die Zustandsmaschine 1110 stellt eine Steuerung von Speicheroperationen auf Chip-Ebene bereit. Ein Speicherbereichswahlschalter 1114 kann z. B. zum Programmieren von Parametern bereitgestellt sein, wie weiter unten beschrieben wird.
  • Der Adressdecoder 1112 stellt eine Adressschnittstelle zwischen der von der Hostvorrichtung oder einer Lese-/Schreibsteuerung 1122 verwendeten Adresse und der vom Zeilendecoder 1130 und Spaltendecoder 1134 verwendeten Hardwareadresse bereit. Die Leistungssteuerung 1116 steuert die Leistung und Spannungen, die den verschiedenen Steuerleitungen während der Speichervorgänge zugeführt werden. Die Leistungssteuerung 1116 und/oder Lese-/Schreibschaltungen 1132 können Treiber für Wortleitungen, Source-Gate-Auswahl-Transistoren (SGS-Transistoren), Drain-Gate-Auswahl-Transistoren (DGS-Transistoren), Bitleitungen, Substrate (in 2D-Speicherstrukturen), Ladepumpen und Quellleitungen einschließen. Die Leistungssteuerung 1116 kann daher verschiedene Erstspannungsgeneratoren (z. B. die Treiber) einschließen, um die hierin beschriebenen Spannungen zu erzeugen. Die Erfassungsblöcke können Bitleitungstreiber und Erfassungsverstärker in einem Ansatz einschließen.
  • In einigen Implementierungen können einige der Komponenten kombiniert werden. Bei verschiedenen Ausführungen können eine oder mehrere der Komponenten (allein oder in Kombination), die sich von der Speicherstruktur 1106 unterscheiden, als mindestens eine Steuerschaltung oder Steuerung betrachtet werden, die zur Durchführung der hierin beschriebenen Techniken eingerichtet ist. Beispielsweise kann eine Steuerschaltung eine beliebige oder eine Kombination aus Adresssteuerung 1108, Zustandsmaschine 1110, Adressdecoder 1112, Spaltendecoder 1134, Leistungssteuerung 1116, Steuerprozessor 1128, Fehlerkorrektureinheit 1102, Erfassungsblöcken SB1, SB2, ..., SBp, Lese-/Schreibschaltungen 1132, Lese-/Schreibsteuerung 1122 und so weiter einschließen.
  • Die Lese-/Schreibsteuerung 1122 kann einen Steuerprozessor 1128, Speichervorrichtungen (Speicher) wie den Nur-Lese-Speicher 1124 und den flüchtigen Speicher 1126 der Steuerung und andere in der Technik bekannte Funktionseinheiten aufweisen.
  • Die Speichervorrichtungen der Lese-/Schreibsteuerung 1122 können einen Code aufweisen, wie einen Satz von Anweisungen, und der Steuerprozessor 1128 ist betreibbar, um den Satz von Anweisungen auszuführen und Aspekte der hierin beschriebenen Funktionalität bereitzustellen, wie den Betriebsprozess 300, den Betriebsprozess 400 und den Betriebsprozess 500. Alternativ oder zusätzlich kann der Steuerprozessor 1128 auf den Code aus der Speicherstruktur 1106 zugreifen, wie auf einen reservierten Bereich von Speicherzellen in einer oder mehreren Wortleitungen.
  • Beispielsweise kann der Code von der Lese-/Schreibsteuerung 1122 verwendet werden, um auf die Speicherstruktur 1106 für Programmier- (Schreib-), Lese- und Rücksetzungsoperationen zuzugreifen. Der Code kann Bootcode und Steuercode (z. B. einen Satz von Anweisungen) einschließen. Der Bootcode ist eine Software, die die Lese-/Schreibsteuerung 1122 während eines Boot- oder Startprozesses initialisiert und der Lese-/Schreibsteuerung 1122 den Zugriff auf die Speicherstruktur 1106 ermöglicht. Der Code kann von der Lese-/Schreibsteuerung 1122 verwendet werden, um eine oder mehrere Speicherstrukturen zu steuern. In einer Ausführungsform ruft der Steuerprozessor 1128 beim Hochfahren den Bootcode aus dem Nur-Lese-Speicher 1124 oder der Speicherstruktur 1106 der Steuerung zur Ausführung ab, und der Bootcode initialisiert die Systemkomponenten und lädt den Steuercode in den flüchtigen Speicher 1126 der Steuerung. Sobald der Steuercode in den flüchtigen Speicher 1126 der Steuerung geladen ist, wird er durch den Steuerprozessor 1128 ausgeführt. Der Steuercode enthält Treiber zum Durchführen grundlegender Aufgaben, wie beispielsweise Steuern und Zuweisen von Speicher, Priorisieren der Verarbeitung von Befehlen und Steuern von Eingabe- und Ausgabeports.
  • In einigen Ausführungsformen kann die Lese-/Schreibsteuerung 1122 einen Passwortkonvertierer 1140 in der Speicherstruktur 1106 an einem festen Standort und zu einer festen Größe einrichten. In anderen Ausführungsformen, zum Beispiel um Wear-Leveling-Algorithmen zu implementieren, kann die Lese-/Schreibsteuerung 1122 den Standort und/oder die Größe des Passwortkonvertierers 1140 in der Speicherstruktur 1106 ändern. Die Größe oder der Standort des Passwortkonvertierers 1140 kann zum Beispiel nach einer Anzahl von Programmieroperationen auf die Speicherzellen in dem Passwortkonvertierer 1140 geändert werden, oder um Bereiche der Speicherstruktur 1106 mit hohen Konzentrationen von ungültigen (nicht zur Aufbewahrung markierten) Daten aufzuweisen.
  • Im Allgemeinen kann der Steuercode Anweisungen einschließen, um die hierin beschriebenen Operationen durchzuführen und die zuvor erörterten Steuersignale bereitzustellen. Der Steuercode kann einen Sequenzer implementieren, um das Timing (Start- und Stoppzeiten, Dauer, Abstand usw.) der verschiedenen hier beschriebenen Aktionen zu steuern.
  • In einer Ausführungsform ist die Hostvorrichtung 1136 eine Computervorrichtung (z. B. Laptop, Desktop, Smartphone, Tablet, Digitalkamera), die einen oder mehrere Prozessoren, eine oder mehrere prozessorlesbare Speichervorrichtungen (RAM, ROM, Flash-Speicher, Festplattenlaufwerk, Solid-State-Speicher) einschließt, die einen prozessorlesbaren Code (z. B. Software) zum Programmieren der Lese-/Schreibsteuerung 1122 speichern, um die hierin beschriebenen Verfahren auszuführen. Die Hostvorrichtung kann auch zusätzlichen Systemspeicher, eine oder mehrere Ein-/Ausgabeschnittstellen und/oder eine oder mehrere Ein-/Ausgabevorrichtungen in Kommunikation mit dem einem oder den mehreren Prozessoren sowie andere in der Technik bekannte Komponenten einschließen.
  • Der Speicherbereichswahlschalter 1114 kann ein nichtflüchtiger Speicher wie ein NAND-Flash-Speicher oder eines anderen Typs sein, der eine Speicherzuordnung oder eine Adresstranslationstabelle implementiert. Zugehörige Schaltkreise sind üblicherweise für den Betrieb der Speicherelemente und für die Kommunikation mit den Speicherelementen erforderlich. Als nicht einschränkende Beispiele können Speichervorrichtungen über Schaltkreise verfügen, die zum Steuern und Treiben von Speicherelementen verwendet werden, um Funktionen wie Programmieren und Lesen auszuführen. Dieser zugehörige Schaltkreis kann sich auf demselben Substrat wie die Speicherelemente und/oder auf einem separaten Substrat befinden. Zum Beispiel kann eine Steuerung für Lese-/Schreiboperationen des Speichers auf einem separaten Steuerungschip und/oder auf demselben Substrat wie die Speicherelemente angeordnet sein.
  • Ein Fachmann wird erkennen, dass die offenbarten Techniken und Vorrichtungen nicht auf die beschriebenen zweidimensionalen und dreidimensionalen beispielhaften Strukturen beschränkt sind, sondern alle relevanten Speicherstrukturen in dem Geist und Umfang der Technologie abdecken, wie hier beschrieben und wie es von einem Fachmann verstanden wird.
  • Innerhalb dieser Offenbarung können verschiedene Elemente (die unterschiedlich als „Einheiten“, „Schaltungen“, andere Komponenten usw. bezeichnet werden können) als „eingerichtet“ beschrieben oder beansprucht werden, um eine oder mehrere Aufgaben oder Operationen auszuführen. Diese Formulierung-[Element] eingerichtet zum [Ausführen einer oder mehrerer Aufgaben]-wird hierin verwendet, um sich auf die Struktur zu beziehen (d. h. etwas Physisches, wie eine elektronische Schaltung). Genauer gesagt, wird diese Formulierung verwendet, um anzuzeigen, dass diese Struktur so angeordnet ist, um die eine oder mehreren Aufgaben während des Betriebs durchzuführen. Eine Struktur kann als „eingerichtet“ bezeichnet werden, um eine Aufgabe auszuführen, auch wenn die Struktur momentan nicht betrieben wird. Ein „Kreditverteilungsschaltkreis, der eingerichtet ist zum Verteilen von Guthaben auf eine Vielzahl von Prozessorkernen“, soll beispielsweise eine integrierte Schaltung abdecken, die über einen Schaltkreis zum Ausführen dieser Funktion während des Betriebs verfügt, auch wenn die betreffende integrierte Schaltung derzeit nicht verwendet wird (z. B. ist kein Netzteil daran angeschlossen). Somit nimmt ein Element, das als „eingerichtet zum“ Durchführen einer Aufgabe beschrieben oder rezitiert wird, auf etwas Physisches Bezug, wie eine Vorrichtung, eine Schaltung, einen Speicher zum Speichern von Programmanweisungen, die zum Durchführen der Aufgabe ausführbar sind usw. Diese Formulierung wird hierin nicht verwendet, um auf etwas Immaterielles hinzuweisen.
  • Der Ausdruck „eingerichtet zum“ bedeutet nicht „konfigurierbar zum.“ Ein unprogrammiertes FPGA zum Beispiel würde nicht als „eingerichtet zum“ Ausführen einer bestimmten Funktion betrachtet werden, obwohl es nach der Programmierung „konfigurierbar zum“ Ausführen dieser Funktion sein kann.
  • Das Rezitieren in den beiliegenden Ansprüchen, dass eine Struktur „eingerichtet“ ist zum Ausführen einer oder mehrerer Aufgaben, ist ausdrücklich dazu gedacht, 35 U.S.C. § 112(f) für dieses Anspruchselement nicht geltend zu machen. Dementsprechend sollten Ansprüche in dieser Anmeldung, die nicht anderweitig das Konstrukt „Mittel zum“ [Ausführen einer Funktion] enthalten, nicht gemäß 35 U.S.C. § 112(f) ausgelegt werden.
  • Wie hierin verwendet, wird der Ausdruck „basierend auf“ verwendet, um einen oder mehrere Faktoren zu beschreiben, die eine Bestimmung beeinflussen. Dieser Ausdruck schließt nicht die Möglichkeit aus, dass zusätzliche Faktoren die Bestimmung beeinflussen können. Das heißt, eine Bestimmung kann ausschließlich auf bestimmten Faktoren oder auf den bestimmten Faktoren sowie anderen, nicht spezifizierten Faktoren basieren. Betrachten wir die Formulierung „A basierend auf B bestimmen“. Dieser Satz besagt, dass B ein Faktor ist, der zur Bestimmung von A verwendet wird oder der die Bestimmung von A beeinflusst. Dieser Satz schließt nicht aus, dass die Bestimmung von A auch auf einem anderen Faktor, wie beispielsweise C, basieren kann. Diese Formulierung gilt auch für eine Ausführungsform, in der A ausschließlich auf der Grundlage von B bestimmt wird. Wie hierin verwendet, ist die Formulierung „basierend auf“ gleichbedeutend mit der Formulierung „basierend zumindest teilweise auf.“
  • Wie hierin verwendet, beschreibt die Formulierung „als Reaktion auf“ einen oder mehrere Faktoren, die einen Effekt auslösen. Diese Formulierung schließt nicht die Möglichkeit aus, dass zusätzliche Faktoren den Effekt beeinflussen oder anderweitig auslösen können. Das heißt, ein Effekt kann ausschließlich als Reaktion auf diese Faktoren oder als Reaktion auf die festgelegten Faktoren sowie andere, nicht festgelegte Faktoren auftreten. Betrachten wir die Formulierung „A als Reaktion auf B ausführen“. Dieser Satz besagt, dass B ein Faktor ist, der die Leistung von A auslöst. Dieser Satz schließt nicht aus, dass die Ausführung von A auch als Reaktion auf einen anderen Faktor, wie beispielsweise C, erfolgen kann. Diese Formulierung gilt auch für eine Ausführungsform, bei der A ausschließlich als Reaktion auf B ausgeführt wird.
  • Wie hierin verwendet, werden die Begriffe „erste/erster/erstes“, „zweite/zweiter/zweites“ usw. als Bezeichnungen für die anschließenden Substantive verwendet, und implizieren keine Art von Ordnung (z. B. räumlich, zeitlich, logisch usw.), sofern nicht anders angegeben. Beispielsweise können in einer Registerdatei mit acht Registern die Begriffe „erstes Register“ und „zweites Register“ verwendet werden, um auf zwei beliebige der acht Register Bezug zu nehmen, und nicht beispielsweise nur auf die logischen Register 0 und 1.
  • Bei der Verwendung in den Ansprüchen wird der Begriff „oder“ als inklusiv und nicht als exklusiv verwendet. Beispielsweise bedeutet die Formulierung „mindestens einer von x, y oder z“ einen von x, y und z sowie eine beliebige Kombination davon.
  • „Schaltkreis“ nimmt auf elektrische Schaltkreise mit mindestens einer diskreten elektrischen Schaltung Bezug, wobei der elektrische Schaltkreis mindestens eine integrierte Schaltung hat, wobei der elektrische Schaltkreis mindestens eine anwendungsspezifische integrierte Schaltung hat, wobei der Schaltkreis eine Universal-Rechenvorrichtung ausbildet, die durch ein Computerprogramm eingerichtet ist (z. B. einen Universalcomputer, der durch ein Computerprogramm eingerichtet ist, das zumindest teilweise Prozesse oder Vorrichtungen ausführt, die hierin beschrieben sind, oder einen Mikroprozessor, der durch ein Computerprogramm eingerichtet ist, das zumindest teilweise Prozesse oder Vorrichtungen ausführt, die hierin beschrieben sind), wobei der Schaltkreis eine Speichervorrichtung ausbildet (z. B. Formen von Direktzugriffsspeichern), oder wobei der Schaltkreis eine Kommunikationsvorrichtung ausbildet (z. B. ein Modem, einen Kommunikationsschalter oder eine optisch-elektrische Ausrüstung).
  • „Firmware“ nimmt Bezug auf Softwarelogik, die als prozessorausführbare Anweisungen in Nur-Lese-Speichern oder -Medien gespeichert sind.
  • „Hardware“ nimmt Bezug auf Logik, die als analoger oder digitaler Schaltkreis enthalten ist.
  • „Software“ nimmt Bezug auf Logik, die als prozessorausführbare Anweisungen in einem Maschinenspeicher (z. B. flüchtiger oder nichtflüchtiger Lese-/Schreibspeicher oder flüchtige oder nichtflüchtige Medien) implementiert sind.
  • „Logik“ nimmt Bezug auf Maschinenspeicherschaltkreise, nicht vorübergehende maschinenlesbare Medien und/oder Schaltkreise, die über ihr Material und/oder über ihre Material-Energie-Konfiguration Steuer- und/oder Verfahrenssignale und/oder Einstellungen und Werte (wie Widerstand, Impedanz, Kapazität, Induktivität, Strom-/Spannungswerte usw.) aufweisen, die angewendet werden können, um den Betrieb einer Vorrichtung zu beeinflussen. Magnetische Medien, elektronische Schaltungen, elektrischer und optischer Speicher (sowohl flüchtig als auch nichtflüchtig) und Firmware sind Beispiele für Logik. Logik schließt insbesondere reine Signale oder Software per se aus (schließt jedoch nicht Maschinenspeicher aus, die Software aufweisen und dadurch wichtige Konfigurationen ausbilden).

Claims (20)

  1. Solid-State-Laufwerk, aufweisend: ein oder mehrere verborgene Passwortblöcke des Secure Digital-Modus; ein oder mehrere verborgene ATA-Passwortblöcke; und Passwortkonvertierungslogik, die eingerichtet ist, um während des Bootens des Solid-State-Laufwerks in einem NVMe-Betriebsmodus ein Passwort, das in den verborgenen Passwortblöcken des Secure Digital-Modus gespeichert ist, in ein Passwort zu konvertieren, das in den verborgenen ATA-Passwortblöcken gespeichert ist, basierend auf einer Passwortlänge.
  2. Solid-State-Laufwerk gemäß Anspruch 1, wobei es sich bei dem verborgenen Passwortblock des Secure Digital-Modus um andere Speicherblöcke handelt als die verborgenen AT A-Passwortblöcke.
  3. Solid-State-Laufwerk gemäß Anspruch 1, wobei die Passwortlänge eine Ganzzahl von Bytes ist, die kleiner als oder gleich 32 ist.
  4. Solid-State-Laufwerk gemäß Anspruch 3, weiterhin aufweisend: die Passwortkonvertierungslogik ferner eingerichtet zum: unter der Bedingung, dass die Passwortlänge nicht gleich 32 Bytes ist, Lesen eines Passworts des Secure Digital-Modus aus den verborgenen Passwortblöcken des Secure Digital-Modus und Anfügen einer Anzahl von Nullen an das Passwort des Secure Digital-Modus, die einer Differenz zwischen 32 und der Passwortlänge entspricht.
  5. Solid-State-Laufwerk gemäß Anspruch 1, weiterhin aufweisend: Logik zum Zuordnen eines Systemspeicherbereichs, in dem ein Medienschlüsselblock und eine Medienkennung gespeichert sind, in einem Secure Digital-Betriebsmodus zu jeweils einem ersten wiedergabeschützten Speicherblock und einem zweiten wiedergabeschützten Speicherblock in dem NVMe-Betriebsmodus.
  6. Solid-State-Laufwerk gemäß Anspruch 5, weiterhin aufweisend Logik zum Zuordnen eines geschützten Speicherbereichs, in dem ein verschlüsselter Titelschlüssel gespeichert ist, in dem Secure Digital-Betriebsmodus zu einem dritten wiedergabeschützten Speicherblock in dem NVMe-Betriebsmodus.
  7. Verfahren zum Betreiben einer SDExpress-Speichervorrichtung, wobei das Verfahren aufweist: Booten der SDExpress-Speichervorrichtung in einem Secure Digital-Betriebsmodus; Sperren der SDExpress-Speichervorrichtung in dem Secure Digital-Betriebsmodus; als Reaktion auf das Sperren der SDExpress-Speichervorrichtung in dem Secure Digital-Betriebsmodus, Speichern eines Passworts des Secure Digital-Modus in einer Sicherheitsdatenstruktur, die das Passwort des Secure Digital-Modus und eine Passwortlänge aufweist; Booten der SDExpress-Speichervorrichtung in einem NVMe-Betriebsmodus; und Transformieren des Passworts des Secure Digital-Modus in ein Passwort des NVMe-Modus, basierend auf der Passwortlänge.
  8. Verfahren gemäß Anspruch 7, weiterhin aufweisend: Schreiben des Passworts des NVMe-Modus auf verborgene ATA-Passwortblöcke, die der SDExpress-Speichervorrichtung in dem NVMe-Betriebsmodus zugänglich sind.
  9. Verfahren gemäß Anspruch 7, weiterhin aufweisend: unter der Bedingung, dass die Passwortlänge nicht gleich 32 Bytes ist, Lesen des Passworts des Secure Digital-Modus aus den verborgenen Passwortblöcken des Secure Digital-Modus und Anfügen einer Anzahl von Nullen an das Passwort des Secure Digital-Modus, die einer Differenz zwischen 32 und der Passwortlänge entspricht.
  10. Verfahren gemäß Anspruch 7, weiterhin aufweisend: unter der Bedingung, dass die Passwortlänge gleich 32 Bytes ist, Transformieren des Passworts des Secure Digital-Modus in ein Passwort des ATA-Sicherheitsprotokolls und Anwenden des Passworts des ATA-Sicherheitsprotokolls zum Entsperren der S DExpress-Speichervorrichtu ng.
  11. Verfahren gemäß Anspruch 7, wobei das Transformieren des Passworts des Secure Digital-Modus weiterhin aufweist: Lesen eines Sperrstatus für den Secure Digital-Betriebsmodus aus der Sicherheitsdatenstruktur, die in einem verborgenen Passwortblock des Secure Digital-Modus angeordnet ist.
  12. Verfahren gemäß Anspruch 11, weiterhin aufweisend: unter der Bedingung, dass der Sperrstatus anzeigt, dass die SDExpress-Speichervorrichtung gesperrt ist, Lesen der Passwortlänge aus dem verborgenen Passwortblock des Secure Digital-Modus.
  13. Verfahren gemäß Anspruch 7, weiterhin aufweisend: die SDExpress-Speichervorrichtung, die Systemspeicherbereiche, in denen ein Medienschlüsselblock und eine Medienkennung gespeichert sind, in dem Secure Digital-Betriebsmodus jeweils einem ersten wiedergabeschützten Speicherblock und einem zweiten wiedergabeschützten Speicherblock in dem NVMe-Betriebsmodus zuordnet.
  14. Verfahren gemäß Anspruch 13, wobei die SDExpress-Speichervorrichtung ferner einen geschützten Speicherbereich, in dem ein verschlüsselter Titelschlüssel gespeichert ist, in dem Secure Digital-Betriebsmodus einem dritten wiedergabeschützten Speicherblock in dem NVMe-Betriebsmodus zuordnet.
  15. Solid-State-Laufwerk, aufweisend: eine Hostvorrichtungsschnittstelle, die sowohl in einem Secure Digital-Betriebsmodus als auch einem NVMe-Betriebsmodus betreibbar ist; und eine Steuerung, die eingerichtet ist zum: Booten des Solid-State-Laufwerks in dem Secure Digital-Betriebsmodus; als Reaktion auf das Sperren des Solid-State-Laufwerks in dem Secure Digital-Betriebsmodus, Speichern eines Passworts des Secure Digital-Modus in verborgenen Passwortblöcken des Secure Digital-Modus, die das Passwort des Secure-Digital-Modus und eine Passwortlänge aufweisen; Booten des Solid-State-Laufwerks in dem NVMe-Betriebsmodus; und als Reaktion auf das Bestimmen, dass das Solid-State-Laufwerk in dem Secure Digital-Betriebsmodus gesperrt war, Transformieren des Passworts des Secure Digital-Modus in ein Passwort des NVMe-Modus, basierend auf der Passwortlänge.
  16. Solid-State-Laufwerk gemäß Anspruch 15, wobei das Transformieren des Passworts des Secure Digital-Modus weiterhin aufweist: Lesen eines Sperrstatus für den Secure Digital-Betriebsmodus aus einer Sicherheitsdatenstruktur, die in einem verborgenen Passwortblock des Secure Digital-Modus angeordnet ist.
  17. Solid-State-Laufwerk gemäß Anspruch 16, wobei die Steuerung ferner eingerichtet ist zum: unter der Bedingung, dass der Sperrstatus anzeigt, dass das Solid-State-Laufwerk gesperrt ist, Lesen der Passwortlänge aus dem verborgenen Passwortblock des Secure Digital-Modus.
  18. Solid-State-Laufwerk gemäß Anspruch 15, wobei die Steuerung ferner eingerichtet ist zum: Schreiben des Passworts des NVMe-Modus auf verborgene ATA-Passwortblöcke, die dem Solid-State-Laufwerk in dem NVMe-Betriebsmodus zugänglich sind.
  19. Solid-State-Laufwerk gemäß Anspruch 15, wobei die Steuerung ferner eingerichtet ist zum: unter der Bedingung, dass die Passwortlänge gleich 32 Bytes ist, Transformieren des Passworts des Secure Digital-Modus in ein Passwort des ATA-Sicherheitsprotokolls und Anwenden des Passworts des ATA-Sicherheitsprotokolls zum Entsperren des Solid-State-Laufwerks.
  20. Solid-State-Laufwerk gemäß Anspruch 15, wobei die Steuerung ferner eingerichtet ist zum: unter der Bedingung, dass die Passwortlänge nicht gleich 32 Bytes ist, Lesen des Passworts des Secure Digital-Modus aus den verborgenen Passwortblöcken des Secure Digital-Modus und Anfügen einer Anzahl von Nullen an das Passwort des Secure Digital-Modus, die einer Differenz zwischen 32 und der Passwortlänge entspricht.
DE102019132512.9A 2019-02-05 2019-11-29 Verfahren zum entsperren einer secure digital-speichervorrichtung, die in einem secure digital-betriebsmodus gesperrt ist Pending DE102019132512A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/929,101 2019-02-05
US15/929,101 US10963592B2 (en) 2019-02-05 2019-02-05 Method to unlock a secure digital memory device locked in a secure digital operational mode

Publications (1)

Publication Number Publication Date
DE102019132512A1 true DE102019132512A1 (de) 2020-08-06

Family

ID=71615592

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019132512.9A Pending DE102019132512A1 (de) 2019-02-05 2019-11-29 Verfahren zum entsperren einer secure digital-speichervorrichtung, die in einem secure digital-betriebsmodus gesperrt ist

Country Status (3)

Country Link
US (1) US10963592B2 (de)
CN (1) CN111523155B (de)
DE (1) DE102019132512A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110363034B (zh) * 2019-06-28 2023-05-05 联想企业解决方案(新加坡)有限公司 解锁信息处理装置的存储器中的持久区域的方法
US11422921B2 (en) * 2019-12-31 2022-08-23 Western Digital Technologies, Inc. Debug systems for deterministic validation of data storage devices
US11461260B2 (en) 2021-02-19 2022-10-04 Western Digital Technologies, Inc. Memory card operable with multiple host interfaces
KR20220124452A (ko) 2021-03-03 2022-09-14 삼성전자주식회사 스토리지 장치
US20230073503A1 (en) * 2021-09-07 2023-03-09 Micron Technology, Inc. Security file system for a memory system
KR20230133666A (ko) * 2022-03-11 2023-09-19 에스케이하이닉스 주식회사 전자 장치 및 그 동작 방법

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836236B2 (en) * 2004-02-12 2010-11-16 Super Talent Electronics, Inc. Extended secure-digital (SD) devices and hosts
US7055148B2 (en) 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
JP4138291B2 (ja) * 2001-10-19 2008-08-27 スパンション エルエルシー 不揮発性半導体記憶装置及びその制御方法
US7089547B2 (en) 2002-09-13 2006-08-08 International Business Machines Corporation Firmware updating
US20040076043A1 (en) 2002-10-21 2004-04-22 Phoenix Technologies Ltd. Reliable and secure updating and recovery of firmware from a mass storage device
US7188225B1 (en) * 2003-12-05 2007-03-06 Applied Micro Circuits Corporation Storage system with disk drive power-on-reset detection
EP2267624B1 (de) 2004-04-19 2017-07-12 Lumension Security S.A. Generischer Framework für Laufzeitunterbrechung und Ausführungssteuerung interpretierter Sprachen
US7330982B1 (en) 2004-06-14 2008-02-12 Avaya Technology Corp. Secured automated process for signed, encrypted or validated content generation
US20060080540A1 (en) * 2004-10-08 2006-04-13 Robert Arnon Removable/detachable operating system
US20060143600A1 (en) 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US20070061879A1 (en) * 2005-09-15 2007-03-15 Dailey James E System and method for managing information handling system hard disk drive password protection
US8195945B2 (en) * 2005-12-01 2012-06-05 Sony Mobile Communications Ab Secure digital certificate storing scheme for flash memory and electronic apparatus
US7752676B2 (en) 2006-04-18 2010-07-06 International Business Machines Corporation Encryption of data in storage systems
US8560823B1 (en) 2007-04-24 2013-10-15 Marvell International Ltd. Trusted modular firmware update using digital certificate
JP5429952B2 (ja) * 2008-03-05 2014-02-26 パナソニック株式会社 電子機器、パスワード削除方法およびプログラム
JP4551967B2 (ja) 2008-03-07 2010-09-29 株式会社東芝 情報処理装置、記憶メディアドライブおよびファームウエア更新方法
US9354857B2 (en) 2008-03-19 2016-05-31 Lenovo (Singapore) Pte. Ltd. System and method to update firmware on a hybrid drive
US8353053B1 (en) 2008-04-14 2013-01-08 Mcafee, Inc. Computer program product and method for permanently storing data based on whether a device is protected with an encryption mechanism and whether data in a data structure requires encryption
US20090327741A1 (en) 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US9521142B2 (en) * 2009-02-03 2016-12-13 Inbay Technologies Inc. System and method for generating passwords using key inputs and contextual inputs
DE112009004950T5 (de) * 2009-07-12 2012-07-12 Hewlett-Packard Development Co., L.P. Verfahren, System und Vorrichtung zum Sichern einer digitalen Speichervorrichtung
US8812854B2 (en) 2009-10-13 2014-08-19 Google Inc. Firmware verified boot
US8300831B2 (en) 2010-04-26 2012-10-30 International Business Machines Corporation Redundant key server encryption environment
US8566603B2 (en) * 2010-06-14 2013-10-22 Seagate Technology Llc Managing security operating modes
US8522322B2 (en) 2010-09-22 2013-08-27 Intel Corporation Platform firmware armoring technology
US20120110343A1 (en) 2010-10-29 2012-05-03 Bandic Zvonimir Z Trustworthy timestamps on data storage devices
US8661259B2 (en) 2010-12-20 2014-02-25 Conformal Systems Llc Deduplicated and encrypted backups
US9612977B2 (en) * 2011-07-15 2017-04-04 Standard Microsystems Corporation Method and system for controlling access to embedded nonvolatile memories
US9256744B2 (en) 2012-04-10 2016-02-09 Asmedia Technology Inc. System-on-chip and booting method thereof
US9792439B2 (en) 2012-09-19 2017-10-17 Nxp B.V. Method and system for securely updating firmware in a computing device
US9881161B2 (en) 2012-12-06 2018-01-30 S-Printing Solution Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
US9782075B2 (en) * 2013-03-15 2017-10-10 I2Dx, Inc. Electronic delivery of information in personalized medicine
US9734339B2 (en) 2013-04-23 2017-08-15 Hewlett-Packard Development Company, L.P. Retrieving system boot code from a non-volatile memory
JP2015026358A (ja) * 2013-06-20 2015-02-05 株式会社東芝 デバイス、ホスト装置、ホストシステム、及びメモリシステム
US9853811B1 (en) 2014-06-27 2017-12-26 Amazon Technologies, Inc. Optimistic key usage with correction
CN104636688A (zh) 2015-02-25 2015-05-20 山东超越数控电子有限公司 一种基于固态硬盘的安全固件的实现方法
US10025600B2 (en) 2015-10-02 2018-07-17 Google Llc NAND-based verified boot
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US20170262029A1 (en) * 2016-03-14 2017-09-14 Intel Corporation Data storage system with parallel array of dense memory cards and high airflow
US20170269871A1 (en) * 2016-03-16 2017-09-21 Intel Corporation Data storage system with persistent status display for memory storage devices
US10116653B2 (en) * 2016-08-03 2018-10-30 American Megatrends, Inc. System and method for securing IPMI remote authenticated key-exchange protocol (RAKP) over hash cracks
US10346071B2 (en) 2016-12-29 2019-07-09 Western Digital Technologies, Inc. Validating firmware for data storage devices

Also Published As

Publication number Publication date
US10963592B2 (en) 2021-03-30
CN111523155B (zh) 2023-10-24
CN111523155A (zh) 2020-08-11
US20200250346A1 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
DE102019132512A1 (de) Verfahren zum entsperren einer secure digital-speichervorrichtung, die in einem secure digital-betriebsmodus gesperrt ist
DE102015205396B4 (de) Speichersystem und Verfahren zum Durchführen und Authentifizieren eines Schreibschutzes für dieses
DE69524482T2 (de) Gesicherte speicherkarte mit programmierter gesteuerter sicherheits-zugriffs-kontrolle
DE102015017399B3 (de) Speichergerät, Betriebsverfahren des Speichergeräts und elektronisches Gerät mit dem Speichergerät
DE60001685T2 (de) Halbleiterspeicherkarte und Datenlesevorrichtung
DE69404674T2 (de) Speicherkarte und verfahren zum betrieb
DE112016004148T5 (de) Systeme und Verfahren zur Befehlsautorisierung
DE102020125599A1 (de) Vertrauenswürdige lokale speicherverwaltung in einer virtualisierten gpu
DE102013114953B4 (de) System-on-Chip mit eingebettetem Sicherheitsmodul
DE112009002502T5 (de) Multilayer inhalte-schützender Mikrocontoller
DE102017120787A1 (de) Verfahren und Vorrichtung zum Entladen von Datenverarbeitung in Hybrid-Speichervorrichtungen
DE102018114266A1 (de) Nichtflüchtige speichervorrichtung mit sicherem lesen
DE112016001972T5 (de) Sicherer Zugriff in einem Mikrokontrollersystem
DE20314722U1 (de) Vorrichtung für sicheren Zugriff auf Digitalmedien-Inhalte, virtueller Multischnittstellen-Treiber und System für sicheren Zugriff auf Digitalmedien-Inhalte
DE112021000964T5 (de) Zur multi-faktor-authentifizierung fähiges speichersubsystem
DE112019000161T5 (de) Speicher-cache-verwaltung
DE112015003638T5 (de) Speichermodul und -verfahren für optimierte Energienutzung
DE102013112897A1 (de) Nichtflüchtiger Speicher und Verfahren zum Betreiben eines nichtflüchtigen Speichers
DE102020119389A1 (de) Vorrichtung und Verfahren zum sicheren Verwalten von Schlüsseln
DE112019007421T5 (de) Speichergerät mit sicherer testmoduseingabe
DE112017004995T5 (de) Verfahren und Vorrichtung zum gemeinsamen Nutzen eines Sicherheitsmetadaten-Speicherplatzes
EP1762956A2 (de) Computer mit mindestens einer Anschlussmöglichkeit für ein Wechselspeichermedium und Verfahren zum Starten und Betreiben eines Computers mit einem Wechselspeichermedium
EP2564389B1 (de) Speichermodul zur gleichzeitigen bereitstellung wenigstens eines sicheren und wenigstens eines unsicheren speicherbereichs
DE102018207376A1 (de) Verfahren und vorrichtung zum reduzieren der kapazitanz von eingangs-/ausgangs-pins einer speichereinrichtung
DE112019007230T5 (de) Multimodus-Geschützter-Speicher

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE

Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE

R081 Change of applicant/patentee

Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

Free format text: FORMER OWNER: WESTERN DIGITAL TECHNOLOGIES, INC., SAN JOSE, CALIF., US

Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATE, US

Free format text: FORMER OWNER: WESTERN DIGITAL TECHNOLOGIES, INC., SAN JOSE, CALIF., US

R081 Change of applicant/patentee

Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

Free format text: FORMER OWNER: SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATES DELAWARE), MILPITAS, CA, US