DE112020000181T5 - Selbstformatierende datenspeichervorrichtung - Google Patents

Selbstformatierende datenspeichervorrichtung Download PDF

Info

Publication number
DE112020000181T5
DE112020000181T5 DE112020000181.4T DE112020000181T DE112020000181T5 DE 112020000181 T5 DE112020000181 T5 DE 112020000181T5 DE 112020000181 T DE112020000181 T DE 112020000181T DE 112020000181 T5 DE112020000181 T5 DE 112020000181T5
Authority
DE
Germany
Prior art keywords
storage device
data storage
storage medium
file system
data
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
DE112020000181.4T
Other languages
English (en)
Inventor
Brian Edward MASTENBROOK
Matthew Harris KLAPMAN
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
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 DE112020000181T5 publication Critical patent/DE112020000181T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)

Abstract

Hierin offenbart ist eine Datenspeichervorrichtung, die ein nichtflüchtiges Speichermedium, das zum Speichern von Benutzerinhaltsdaten eingerichtet ist, einen Datenanschluss, der zum Übertragen der Benutzerinhaltsdaten zwischen dem Speichermedium und einem Host-Rechnersystem über einen Datenkanal eingerichtet ist, und eine Steuerung aufweist. Die Steuerung ist eingerichtet, um eines von mehreren Dateisystemformaten auszuwählen, das Speichermedium durch Erzeugen eines Dateisystems gemäß dem ausgewählten Dateisystemformat auf dem Speichermedium zu formatieren und sich bei dem Host-Rechnersystem als Blockdatenspeichervorrichtung zu registrieren.

Description

  • TECHNISCHES GEBIET
  • Diese Offenbarung bezieht sich auf eine selbstformatierende Datenspeichervorrichtung.
  • HINTERGRUND
  • Datenspeichervorrichtungen werden verwendet, um Benutzerinhaltsdaten in der Form von Dateien zu speichern. Datenspeichervorrichtungen verfügen über ein Speichermedium, auf das die Dateien geschrieben und von dem sie gelesen werden. Datenspeichervorrichtungen können kommunikativ mit einem Host-Rechnersystem verbunden sein, um dem Host-Rechnersystem Mittel zum Schreiben von Dateien auf das Speichermedium und zum Lesen von Dateien aus dem Speichermedium bereitzustellen.
  • Speichermedien in Datenspeichervorrichtungen werden häufig mit einem Dateisystem formatiert, bevor ein Host-Rechnersystem Dateien auf dem Speichermedium speichern kann. Ein Dateisystem stellt eine organisierte Struktur zum Speichern von Dateien und einen Datensatz der Dateiposition auf dem Speichermedium bereit, um ein genaues Abrufen der auf dem Speichermedium gespeicherten Dateien zu ermöglichen. Das Formatieren eines Speichermediums mit einem Dateisystem beinhaltet das Schreiben der organisierten Struktur auf das Speichermedium, als Vorbereitung für das nachfolgende Schreiben von Dateien auf das Speichermedium.
  • In einigen Fällen wurde eine neue Datenspeichervorrichtung, wie vom Hersteller bereitgestellt, nicht mit einem Dateisystem formatiert; daher muss der Datenspeicher vor der ersten Benutzung des Datenspeichers formatiert werden. Darüber hinaus kann es wünschenswert sein, eine zuvor formatierte Datenspeichervorrichtung neu zu formatieren, um die Wiederverwendung des Speichermediums auf der Datenspeichervorrichtung zu ermöglichen.
  • Zahlreiche verschiedene Dateisystemformate stehen zur Anwendung auf einem Speichermedium zur Verfügung, einschließlich New Technology File System (NTFS), File Allocation Table (FAT), Extended FAT (exFAT), RAID0 (Redundant Array of Independent Disks 0) und RAID1, Resilient File System (ReFS) und Apple File System (APFS). Dateisystemformate unterscheiden sich in der organisierten Struktur, die verwendet wird, um die Speicherstelle der Dateien innerhalb des Speichermediums zu definieren. Dateisystemformate können unterschiedliche Eigenschaften in Bezug auf Geschwindigkeit, Flexibilität, Sicherheit, Größe und mehr bereitstellen. Einige Dateisystemformate sind für spezifische Anwendungen konzipiert.
  • Die Auswahl eines bestimmten Dateisystemformats gegenüber einem anderen Dateisystemformat ist eine Entscheidung, die basierend auf dem Betriebssystem des (der) beabsichtigten Host-Rechnersystem(s/e) einer Datenspeichervorrichtung, der Art, Größe oder dem Format der Dateien, die auf der Datenspeichervorrichtung gespeichert werden sollen, oder anderen Faktoren getroffen werden kann.
  • KU RZDARSTELLU NG
  • Diese Offenbarung bezieht sich auf eine Datenspeichervorrichtung mit einer integrierten Steuerung, die ein Dateisystemformat auswählt und dann das Speichermedium mit diesem ausgewählten Format formatiert. Dadurch kann ein Benutzer die formatierte Datenspeichervorrichtung ohne weiteres auf einem Host-Rechnersystem verwenden, ohne dass das Speichermedium durch das Betriebssystem des Host-Rechnersystems formatiert werden muss.
  • Hierin offenbart ist eine Datenspeichervorrichtung, die ein nichtflüchtiges Speichermedium, das zum Speichern von Benutzerinhaltsdaten eingerichtet ist, einen Datenanschluss, der zum Übertragen der Benutzerinhaltsdaten zwischen dem Speichermedium und einem Host-Rechnersystem über einen Datenkanal eingerichtet ist, und eine Steuerung aufweist. Die Steuerung ist eingerichtet, um eines von mehreren Dateisystemformaten auszuwählen, das Speichermedium durch Erzeugen eines Dateisystems gemäß dem ausgewählten Dateisystemformat auf dem Speichermedium zu formatieren und sich bei dem Host-Rechnersystem als Blockdatenspeichervorrichtung zu registrieren.
  • In einigen Ausführungsformen ist die Steuerung weiterhin eingerichtet, um sich mit einer autorisierten Vorrichtung über einen Steuerkanal zu verbinden, der sich von dem Datenkanal unterscheidet, von der autorisierten Vorrichtung über den Steuerkanal eine Anforderung zum Formatieren des Speichermediums zu empfangen und das Speichermedium als Reaktion auf das Empfangen der Anforderung zum Formatieren des Speichermediums zu formatieren. In einigen Ausführungsformen ist der Steuerkanal drahtlos. In einigen Ausführungsformen ist der Datenkanal drahtgebunden.
  • In einigen Ausführungsformen schließt die Anforderung zum Formatieren eine Angabe eines Dateisystemformats ein und die Steuerung ist weiterhin eingerichtet, um das eine der mehreren Dateisystemformate basierend auf der Angabe auszuwählen. In einigen Ausführungsformen ist die Steuerung weiterhin eingerichtet, um eine Liste von Dateisystemformaten zur Auswahl durch die autorisierte Vorrichtung an die autorisierte Vorrichtung zu senden. In einigen Ausführungsformen ist die Steuerung weiterhin eingerichtet, um Metadaten, die dem Host-Rechnersystem zugeordnet sind, über den Datenkanal zu empfangen, eine Klasse des Host-Rechnersystems basierend auf den Metadaten zu bestimmen, das eine der mehreren Dateisystemformate basierend auf der Klasse des Host-Rechnersystems auszuwählen, und eine Angabe des ausgewählten Dateisystemformats als eine Empfehlung an die autorisierte Vorrichtung zu senden.
  • In einigen Ausführungsformen ist die Steuerung weiterhin eingerichtet, um eine Angabe von einem oder mehreren eines Namens, einer Farbe und eines Bildes für die Datenspeichervorrichtung zu empfangen, die Angabe des einen oder der mehreren des Namen, der Farbe und des Bildes für die Datenspeichervorrichtung zu speichern, und die Angabe des einen oder der mehreren des Namens, der Farbe und des Bildes für die Datenspeichervorrichtung während der Registrierung als die Blockdatenspeichervorrichtung an das Host-Rechnersystem zu senden.
  • In einigen Ausführungsformen ist die Anforderung zum Formatieren einer Anforderung zum kryptographischen Löschen des Speichermediums zugeordnet.
  • In einigen Ausführungsformen ist die Steuerung weiterhin eingerichtet, um einen oder mehrere Schlüssel zur Verschlüsselung und Entschlüsselung von Benutzerinhaltsdaten zu erzeugen, die auf dem Speichermedium gespeichert werden sollen.
  • In einigen Ausführungsformen weist die Datenspeichervorrichtung mehrere Speichermedien auf und das Formatieren weist das Erzeugen von Metadaten auf, um eine redundante Anordnung unabhängiger Festplatten (RAID) zu definieren, welche die mehreren Speichermedien einschließt.
  • In einigen Ausführungsformen ist die Steuerung weiterhin eingerichtet, um eine eindeutige Kennung zu erzeugen und die eindeutige Kennung während der Registrierung als die Blockdatenspeichervorrichtung an das Host-Rechnersystem zu senden.
  • In einigen Ausführungsformen ist die Steuerung weiterhin eingerichtet, um das Speichermedium basierend auf gespeicherten Formatierungsdaten zu formatieren. Die Formatierungsdaten können in einer Partition des Speichermediums gespeichert sein, auf die das Host-Rechnersystem nicht zugreifen kann. In einigen Ausführungsformen weisen die gespeicherten Formatierungsdaten ein komprimiertes Bild auf und das Formatieren weist das Dekomprimieren des komprimierten Bildes auf das Speichermedium auf. In einigen Ausführungsformen weist das komprimierte Bild eine Dateizuordnungstabelle auf und das Dekomprimieren des komprimierten Bildes weist das Schreiben der Dateizuordnungstabelle auf das Speichermedium auf.
  • In einigen Ausführungsformen ist die Steuerung weiterhin eingerichtet, um Metadaten, die dem Host-Rechnersystem zugeordnet sind, über den Datenkanal zu empfangen, wobei die Metadaten eine Klasse des Host-Rechnersystems angeben, um das eine der mehreren Dateisystemformate basierend auf der Klasse des Host-Rechnersystems auszuwählen und um das Speichermedium mit einem Dateisystem gemäß dem ausgewählten Dateisystemformat zu formatieren.
  • In einigen Ausführungsformen ist die Steuerung weiterhin eingerichtet, um sich bei dem Host-Rechnersystem als Massendatenspeichervorrichtung zu registrieren, ohne dass ein Speichermedium vor dem Formatieren vorhanden ist, und um sich bei dem Host-Rechnersystem als Massendatenspeichervorrichtung mit einem Speichermedium zu registrieren, das nach dem Formatieren vorhanden ist. In einigen Ausführungsformen ist die Steuerung weiterhin eingerichtet, um zu bestimmen, ob das Speichermedium unformatiert ist, um als Reaktion auf das Bestimmen, dass das Speichermedium unformatiert ist, das Speichermedium zu formatieren und um eine Angabe zu speichern, dass das Speichermedium formatiert ist.
  • Hierin offenbart ist ein Verfahren zum Formatieren einer Datenspeichervorrichtung, wobei die Datenspeichervorrichtung eine Steuerung und ein nichtflüchtiges Speichermedium aufweist. Das Verfahren weist das Auswählen eines von mehreren Dateisystemformaten durch die Steuerung, das Formatieren des Speichermediums durch die Steuerung durch Erzeugen eines Dateisystems gemäß dem ausgewählten Dateisystemformat auf dem Speichermedium und das Registrieren der Datenspeichervorrichtung bei einem Host-Rechnersystem als Blockdatenspeichervorrichtung auf.
  • Hierin offenbart ist eine Datenspeichervorrichtung, die ein nichtflüchtiges Speichermedium, Mittel zum Auswählen eines von mehreren Dateisystemformaten, Mittel zum Formatieren des Speichermediums durch Erzeugen eines Dateisystems gemäß dem ausgewählten Dateisystemformat auf dem Speichermedium und Mittel zum Registrieren der Datenspeichervorrichtung bei einem Host-Rechnersystem als Blockdatenspeichervorrichtung aufweist.
  • Figurenliste
  • Ein nicht einschränkendes Beispiel wird nun unter Bezugnahme auf die folgenden Zeichnungen beschrieben, in denen:
    • 1 ein Rechnernetz einschließlich einer Datenspeichervorrichtung gemäß einer Ausführungsform veranschaulicht;
    • 2 ein Blockdiagramm ist, das Komponenten einer Datenspeichervorrichtung von 1 gemäß einer Ausführungsform veranschaulicht;
    • 3 ein Flussdiagramm ist, das ein Verfahren veranschaulicht, das durch eine Datenspeichervorrichtung gemäß einer Ausführungsform ausgeführt wird;
    • 4 den Inhalt einer verborgenen Partition eines Speichermediums einer Datenspeichervorrichtung gemäß einer Ausführungsform veranschaulicht;
    • 5a ein Flussdiagramm von Nachrichten ist, die zwischen einer autorisierten Vorrichtung und einer Datenspeichervorrichtung gemäß einer Ausführungsform kommuniziert werden;
    • 5b ein Flussdiagramm von Nachrichten ist, die zwischen einer autorisierten Vorrichtung und einer Datenspeichervorrichtung gemäß einer Ausführungsform kommuniziert werden;
    • 6 ein Flussdiagramm von Nachrichten ist, die zwischen einem Host-Rechnersystem und einer Datenspeichervorrichtung gemäß einer Ausführungsform kommuniziert werden; und
    • 7 ein Flussdiagramm von Nachrichten ist, die zwischen einem Host-Rechnersystem, einer Datenspeichervorrichtung und einer autorisierten Vorrichtung gemäß einer Ausführungsform kommuniziert werden.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Datenspeichervorrichtungen weisen ein Speichermedium und eine Steuerschaltlogik auf, die in einem Vorrichtungsgehäuse integriert ist. Das Formatieren eines Speichermediums nimmt üblicherweise auf den Vorgang des Vorbereitens des Speichermediums für die Speicherung von Benutzerinhaltsdaten in Form von Dateien Bezug. Das Formatieren schließt den Vorgang des Einrichtens eines leeren Dateisystems auf einem Speichermedium oder einer Partition davon ein. Insbesondere beinhaltet das Formatieren eines Speichermediums das Erstellen einer Dateisystemstruktur (wie einer Dateizuordnungstabelle) auf dem Speichermedium.
  • Einige Betriebssysteme von Host-Rechnersystemen ermöglichen dem Speichermedium einer Datenspeichervorrichtung, als mehrere logische Vorrichtungen zu erscheinen; also in mehrere Vorrichtungen unterteilt zu sein. Dementsprechend kann das Formatieren den Schritt des Segmentierens des Speichermediums in zwei oder mehr Partitionen einschließen. Jede Partition des Speichermediums kann einem Host-Betriebssystem als separates Speichermedium erscheinen, und es kann möglich sein, ein Dateisystem auf jeder Partition eines partitionierten Speichermediums zu erzeugen.
  • Es existieren mehrere Dateisystemformate und jedes Dateisystemformat definiert eine andere Struktur zum Organisieren und Aufzeichnen von Dateispeicherung. Jedes dieser Dateisystemformate weist eine unterschiedliche Struktur auf; im Allgemeinen schließt jedoch jedes Dateisystemformat ein Verzeichnis, in dem Dateidetails gespeichert sind, und einen Speicherplatz zum Speichern der Dateien ein.
  • In der Situation, in der eine unformatierte Datenspeichervorrichtung kommunikativ mit einem Host-Rechnersystem gekoppelt ist, zum Beispiel durch Verbinden über einen Universal Serial Bus-Datenanschluss (USB-Datenanschluss), kommt es häufig vor, dass das Host-Rechnersystem zu bestimmen versucht, ob das Speichermedium der Datenspeichervorrichtung zum Speichern von Benutzerinhaltsdaten formatiert ist und ob die Datenspeichervorrichtung mit einem Dateisystemformat formatiert ist, das mit dem Betriebssystem des Host-Rechnersystems kompatibel ist. Wenn die Datenspeichervorrichtung nicht mit einem Dateisystem formatiert ist, stellt das Host-Rechnersystem dem Benutzer einen Hinweis bereit, dass die Datenspeichervorrichtung nicht formatiert ist, z. B. über eine Nachricht innerhalb einer Benutzerschnittstelle auf dem Host-Rechnersystem. Das Host-Rechnersystem fordert den Benutzer auf, anzugeben, ob eine Formatierung der Datenspeichervorrichtung gewünscht ist und welches Dateisystemformat angewendet werden soll. Dementsprechend muss der Benutzer über das Betriebssystem des Host-Rechnersystems Maßnahmen ergreifen und der Datenspeichervorrichtung Anweisungen bereitstellen, damit die Datenspeichervorrichtung für die Speicherung von Benutzerinhaltsdaten funktionsfähig wird. Oft liegt die Angabe aus dem Host-Rechnersystem in der Form einer Fehlermeldung vor, die einen Benutzer verwirren kann oder den Benutzer glauben lässt, dass ein unvorhergesehener Fehler vorliegt. Mit der vorhandenen Technologie ist es für den Hersteller der Datenspeichervorrichtung schwierig, diese Benutzererfahrung zu verbessern, da die Benutzerinteraktion vollständig durch das Betriebssystem gesteuert wird, das außerhalb der Kontrolle des Herstellers der Datenspeichervorrichtung liegt.
  • Gemäß einer Ausführungsform der Erfindung wird eine Datenspeichervorrichtung bereitgestellt, die in der Lage ist, ihr Speichermedium mit mindestens einem von mehreren unterschiedlichen Dateisystemformaten zu formatieren. Insbesondere ist die Datenspeichervorrichtung eingerichtet, um eines von mehreren Dateisystemformaten auszuwählen und ein Speichermedium gemäß dem ausgewählten Dateisystemformat mit einem Dateisystemformat zu formatieren.
  • Vorteilhafterweise benötigt die bereitgestellte Datenspeichervorrichtung keine Benutzereingabe in das Betriebssystem des Host-Rechnersystems, um das Speichermedium mit einem Dateisystemformat zu formatieren, das zur Verwendung mit dem Host-Rechnersystem geeignet ist.
  • Ausführungsformen der Datenspeichervorrichtung werden nun unter Bezugnahme auf 1 bis 7 beschrieben.
  • Netzwerkdiagramm
  • 1 veranschaulicht ein Rechnernetz 100 einschließlich einer Datenspeichervorrichtung 102, einem Host-Rechnersystem 104 und einer autorisierten Vorrichtung 108 gemäß einer Ausführungsform.
  • Host-Rechnersystem 104 weist einen Prozessor und einen flüchtigen Speicher (RAM) auf. Das Host-Rechnersystem führt ein Betriebssystem aus, wie das Betriebssystem Windows 10 oder MAC. Die Datenspeichervorrichtung 102 kann physisch innerhalb des Host-Rechnersystems 104 oder außerhalb des Host-Rechnersystems 104 angeordnet sein, wie auf einem separaten Rack in einem Serverraum, in einer Cloud-Speicherarchitektur oder als über USB oder Firewire verbundenes externes Laufwerk.
  • Die Datenspeichervorrichtung 102 ist mit dem Host-Rechnersystem 104 kommunikativ über einen Datenkanal 106, wie einen Universal Serial Bus (USB), einen Fibre Channel (FC), einen Serial ATA (SATA), einen Serial Attached SCSI (SAS), SCSI Parallel Interface (SPI) oder andere verbunden. Der Datenkanal kann ein drahtgebundener oder drahtloser Kommunikationskanal sein.
  • Die autorisierte Vorrichtung 108 kann von einem Benutzer der Datenspeichervorrichtung verwendet werden, um den Betrieb der Datenspeichervorrichtung 102 zu steuern. Die Datenspeichervorrichtung 102 ist über einen Steuerkanal 110 kommunikativ mit der autorisierten Vorrichtung 108 verbunden. In dem in 1 veranschaulichten Beispiel ist die autorisierte Vorrichtung 108 ein Smartphone und der Steuerkommunikationskanal ist eine Bluetooth Low Energy-Verbindung (Bluetooth-LE-Verbindung). In anderen Ausführungsformen kann die autorisierte Vorrichtung ein Personal-Computer oder eine andere Kommunikationsvorrichtung sein und der Steuerkommunikationskanal kann ein drahtgebundener oder drahtloser Kommunikationskanal sein (unter Verwendung eines beliebigen geeigneten Kommunikationsprotokolls, nicht nur Bluetooth LE).
  • Datenspeichervorrichtungsarchitektur
  • 2 veranschaulicht die Komponenten einer beispielhaften Datenspeichervorrichtung 102 gemäß einer Ausführungsform. Die Datenspeichervorrichtung 102 weist eine Steuerung 204, die Hardwareschaltungen aufweist, wie einen Mikrocontroller mit einer x86-, RISC- (Reduced Instruction Set Computing), ARM- (Advanced RISC Machine) oder einer anderen Architektur, auf. Die Steuerung ist kommunikativ mit dem Programmspeicher 218 gekoppelt.
  • Die Datenspeichervorrichtung 102 weist weiterhin ein nichtflüchtiges physisches Speichermedium 208 und eine Lese-/Schreibvorrichtung 206 zum Speichern von Benutzerinhaltsdaten als Dateisystemdatenobjekte unter Verwendung von Blockadressierung auf. Dies bedeutet, dass die mehreren Dateisystemdatenobjekte durch jeweilige Blockbereiche adressierbar sind. Dies wird allgemein als Blockvorrichtung bezeichnet, was bedeutet, dass die Datenspeichervorrichtung 102 das Lesen und Schreiben von Daten in Blöcken, Sektoren oder Clustern fester Größe unterstützt. Beispielsweise können diese Blöcke jeweils 512 Bytes oder 4096 Bytes groß sein. Beispiele schließen Blockvorrichtungen mit rotierenden Medien, wie Festplatten, und Blockvorrichtungen, die Festkörpermedien verwenden, wie NAND-Flash-Speicherkarten, NAND-Flash-Speicherchips und Festkörperlaufwerke (SSDs), ein.
  • Die Steuerung 204 ist mit der Datenspeichervorrichtung 102 integriert, was bedeutet, dass sich die Steuerung 204 innerhalb eines Gehäuses befindet, das alle Teile der Datenspeichervorrichtung 102 einschließlich des physischen Speichermediums 208 enthält. Die Eingliederung der Steuerung 204 in den Datenspeicher 204 bedeutet, dass Signale zwischen Steuerung 204 und Speichermedium und Schreib-/Lesevorrichtung 206 von außerhalb der Datenspeichervorrichtung 102 ohne Demontage der Datenspeichervorrichtung 102 nicht ohne weiteres zugänglich sind.
  • Die Steuerung 204 hat Zugriff auf den Programmspeicher 218, der einen Programmcode einschließt, der den Betrieb der Steuerung definiert. In dem in 2 veranschaulichten Beispiel ist der Programmspeicher 210 ein nichtflüchtiger Speicher, wie ein Nur-Lese-Speicher (ROM), der von dem Speichermedium getrennt ist. Allerdings kann in einem anderen Beispiel das Programm in einem Abschnitt des Speichermediums gespeichert sein, der durch das Host-Rechnersystem nicht beschreibbar oder nicht einmal lesbar ist. In noch einem weiteren Beispiel kann der Programmcode, der den Betrieb der Steuerung 204 definiert, in die Schaltlogik der Steuerung hartkodiert sein, statt durch Softwareanweisungen definiert zu werden, die im Programmspeicher gespeichert sind.
  • Unter erneuter Berücksichtigung der Ausführungsform von 2 ist die Steuerung 204 eingerichtet, um den aus dem Programmspeicher 218 abgerufenen Programmcode auszuführen, um ein Dateisystemformat auszuwählen und ein Dateisystem des ausgewählten Formats auf dem Speichermedium zu erzeugen.
  • Die Steuerung 204 ist kommunikativ mit einer USB-Schnittstelle 212 gekoppelt, die einen Anschluss für den Datenkanal 106 bereitstellt, über den die Datenspeichervorrichtung 102 mit einem Host-Rechnersystem 104 kommunizieren kann. Das Host-Rechnersystem 104 ist eingerichtet, um Lese- und Schreibanforderungen zu übertragen, um Dateidaten über den Datenkanal 106 an die Datenspeichervorrichtung 102 zu senden und zu empfangen.
  • Die Steuerung 204 ist weiterhin kommunikativ mit einer Bluetooth Low Energy-Schnittstelle (BLE-Schnittstelle) 214 gekoppelt, die einen Anschluss für den Steuerkanal 110 bereitstellt, über den die Datenspeichervorrichtung mit einer autorisierten Vorrichtung 108 kommuniziert.
  • In dem in 2 veranschaulichten Beispiel weist die Steuerung 204 weiterhin eine dedizierte kryptografische Hardwareschaltung 216 auf, um eine kryptografische Funktion durchzuführen, wie eine Implementierung einer anwendungsspezifischen integrierten Schaltung (Application Specific Integrated Circuit, ASIC) oder einer halbkundenspezifischen oder vollkundenspezifischen Implementierung eines Verschlüsselungs- und Entschlüsselungsalgorithmus auf Gatterebene. Dies hat den Vorteil, dass alle Lese- und Schreibvorgänge auf und von der Datenspeichervorrichtung 102 mit der vollen Geschwindigkeit der Datenspeichervorrichtung 102 verschlüsselt und entschlüsselt werden können, sodass die Verschlüsselung und Entschlüsselung den Datentransfer zwischen Host-Rechnersystem 104 und Datenspeichervorrichtung 102 nicht verlangsamt. Beispielhafte Verschlüsselungs- und Entschlüsselungsalgorithmen, die in Hardware implementiert werden können, schließen Blowfish and Advanced Encryption Standard (AES) mit 128-Bit-, 192-Bit-oder 256-Bit-Schlüssellänge ein.
  • Die Steuerung 204 ist eingerichtet, um einen oder mehrere Schlüssel zur Verschlüsselung und Entschlüsselung von Benutzerinhaltsdaten auf dem Speichermedium zu erzeugen, wie durch Implementieren des Opal-Befehlssatzes der Trusted Computing Group (TCG). Die Steuerung 204 führt den Programmcode auf dem Programmspeicher 218 aus und verschlüsselt infolgedessen die auf dem Speichermedium 208 zu speichernde Benutzerinhaltsdaten unter Verwendung der kryptographischen Hardwareschaltung 216. Die Steuerung 204 ist auch eingerichtet, den Programmcode des Programmspeichers 218 auszuführen, um Benutzerinhaltsdaten, die auf dem Speichermedium gespeichert sind, basierend auf einem oder mehreren kryptografischen Schlüsseln zu entschlüsseln, ebenfalls unter Verwendung der kryptografischen Hardwareschaltung 216. Teile der kryptografischen Hardwareschaltung 216 können deaktiviert werden, um verschlüsselte Daten zu senden und zu empfangen.
  • Formatieren eines Dateisystems
  • 3 veranschaulicht ein Verfahren 300, wie es von einer Steuerung einer Datenspeichervorrichtung (wie der Steuerung 204 der Datenspeichervorrichtung 102) gemäß einer Ausführungsform durchgeführt wird. Gemäß dem Verfahren 300 wählt die Steuerung bei 302 ein Dateisystemformat aus, formatiert bei 304 das Speichermedium mit einem Dateisystem gemäß dem gewählten Dateisystemformat und registriert bei 306 die Datenspeichervorrichtung bei dem Host-Rechnersystem als Blockdatenspeichervorrichtung. Das Verfahren 300 wird durch einen Quellcode definiert, der auf dem Programmspeicher (wie Programmspeicher 218) gespeichert ist und von der Steuerung ausgeführt wird.
  • In einem Beispiel, das weiterhin in Bezug auf 5a und 5b beschrieben wird, ist die Steuerung 102 eingerichtet, um das Speichermedium 208 als Reaktion auf den Empfang einer Formatanforderung von der autorisierten Vorrichtung über den Steuerkanal 110 zu formatieren. In einem anderen Beispiel, das weiterhin in Bezug auf 6 und 7 beschrieben wird, ist die Steuerung eingerichtet, um das Verfahren 300 als Reaktion auf das Erkennen einer Verbindung zu einem Host-Rechnersystem über den Datenkanal 106 durchzuführen.
  • Unabhängig vom Auslöser für das Verfahren 300 wählt die Steuerung 102 in Schritt 302 ein Dateisystemformat aus der Vielzahl von Dateisystemformaten aus, für dessen Unterstützung die Datenspeichervorrichtung eingerichtet ist.
  • In Schritt 304 formatiert die Steuerung 204 das Speichermedium 208 mit einem Dateisystem, indem sie die strukturellen Komponenten eines Dateisystems des ausgewählten Dateisystemformats auf das Speichermedium schreibt, sodass das Speichermedium für ein anschließendes Schreiben von Dateien auf das Speichermedium durch das Host-Rechnersystem bereit ist.
  • Darstellung eines komprimierten Dateisystems
  • In einem Beispiel ist die Datenspeichervorrichtungssteuerung 204 eingerichtet, um das Speichermedium in Schritt 304 basierend auf gespeicherten Formatierungsdaten zu formatieren. Insbesondere ist die Steuerung 204 eingerichtet, um Schritt 304 durch Dekomprimieren einer komprimierten Darstellung eines Dateisystems und Schreiben des dekomprimierten Dateisystems auf das Speichermedium durchzuführen.
  • 4 veranschaulicht die Zusammensetzung eines Speichermediums 400 für eine beispielhafte Ausführungsform einer Datenspeichervorrichtung. Das Speichermedium 400 weist eine verborgene Partition 402 auf, die ein nichtflüchtiger Speicher ist, auf den ein Host-Rechnersystem oder eine andere externe Vorrichtung nicht zugreifen kann. Das Speichermedium 400 weist weiterhin einen Abschnitt 412 des Speichermediums zur Speicherung von Benutzerdaten in Form von Dateien auf.
  • Die beispielhafte verborgene Partition 402 enthält komprimierte Darstellungen, auch komprimierte Bilder (d. h. komprimierte binäre Datenobjekte) genannt, für drei Dateisysteme; NTFS 404, exFAT 406 und FAT32 408. Diese komprimierten Darstellungen weisen jeweils die strukturellen Komponenten eines Dateisystems eines bestimmten Dateisystemformats auf, wobei die strukturellen Komponenten an im Wesentlichen benachbarten Speicherstellen gespeichert sind, um den benötigten Speicherplatz zu reduzieren. Die komprimierten Darstellungen enthalten auch Anweisungsinformationen, die angeben, wo jede der strukturellen Komponenten in dem Speichermedium als Reaktion auf die Erzeugung eines Dateisystems durch die Steuerung gespeichert werden soll. Diese Anweisungsinformationen können in Form von relativen Positionsinformationen vorliegen und die Steuerung kann die relativen Positionsinformationen anpassen, um die beabsichtigte Größe des Dateisystems bei der Erstellung zu berücksichtigen. Die Komprimierung kann durch Lempel-Ziv-Welch-Komprimierung (LZW-Komprimierung) erreicht werden.
  • Die Dateisystemkomponenten können eine Dateizuordnungstabelle aufweisen und das Dekomprimieren des komprimierten Bildes weist das Schreiben der Dateizuordnungstabelle auf das Speichermedium auf. Zum Beispiel weist in einer Ausführungsform eine komprimierte Darstellung für ein Dateisystem des exFAT-Dateisystemformats mindestens die folgenden Komponenten auf: eine Masterdateitabelle (MFT), einen MFT-Spiegel, NTFS-Metadateien (Systemdateien), Bootsektor, Datenträgerbezeichnung und die Dateisystemversion.
  • In dem Beispiel von 4 ist die Steuerung 102 eingerichtet, um über Programmcode 218 eine ausgewählte komprimierte Dateisystemdarstellung durch Lesen jeder der strukturellen Komponenten eines ausgewählten Dateisystemformats aus der verborgenen Partition 402 und byteweises oder blockweises Schreiben jeder der strukturellen Komponenten auf eine geeignete Speicherstelle in dem Speichermedium gemäß den Dateisystemformatanforderungen zu dekomprimieren, um ein leeres Dateisystem innerhalb des Speichermediums zu erzeugen. In diesem Beispiel ist das Schreiben Dateisystem-agnostisch, da das Bild in binärer Form vorliegt und die Steuerung 102 das Bild einfach Byte für Byte, Block für Block oder Sektor für Sektor auf das Speichermedium 400 liest, dekomprimiert und schreibt, ohne Berücksichtigung von Dateipositionen, Dateigrößen usw.
  • Formatieren des Quellcodes
  • In dem Beispiel von 4 schließt die Datenspeichervorrichtung 102 auch den Formatierungsquellcode 410 ein, der Schritte definiert, die von der Steuerung 204 ergriffen werden, um die strukturellen Komponenten des Dateisystems auf das Speichermedium zu schreiben, um das leere Dateisystem gemäß einem ausgewählten Dateisystemformat zu erzeugen. Insbesondere ist die Steuerung 204 eingerichtet, um die strukturellen Komponenten des Dateisystems in dem Speichermedium 208 durch die Ausführung von formatierenden Quellcodes zu erzeugen. Der Formatierungsquellcode 410 stellt Anweisungen bereit, die Schreibvorgänge angeben, die von der Steuerung durchzuführen sind, um die strukturellen Komponenten eines Dateisystems in dem Speichermedium zu erzeugen. Der Formatierungsquellcode wird in einem Speicher gespeichert, auf den die Steuerung 204 zugreifen kann, wie Programmspeicher 218 oder die verborgene Partition 402.
  • Komprimierte Darstellungen und Quellcode
  • Es wird darauf hingewiesen, dass eine Datenspeichervorrichtung eingerichtet sein kann, um komprimierte Darstellungen von Dateisystemen eines oder mehrerer Dateisystemformate in verborgenem Speicher zu speichern. Eine Datenspeichervorrichtung kann auch eingerichtet sein, um Formatierungsprogrammcodes aufzuweisen, welche die Anweisungen einschließen, die erforderlich sind, um Dateisysteme eines oder mehrerer anderer Dateisystemformate zu erzeugen. Alternativ muss eine Datenspeichervorrichtung keine komprimierten Darstellungen von Dateisystemen einschließen, sondern kann auch nur Formatierungsprogrammcodes aufweisen, welche die Anweisungen einschließen, die erforderlich sind, um Dateisysteme eines oder mehrerer Dateisystemformate zu erzeugen.
  • In einem Beispiel schließt die Datenspeichervorrichtung ein NTFS-Dateisystem und ein exFAT-Dateisystem ein, die als komprimierte Bilder in einer verborgenen Partition gespeichert sind, und die Datenspeichervorrichtung schließt auch Formatierungsquellcodes ein, die eingerichtet sind, um die strukturellen Komponenten eines FAT32-Dateisystems in die Datenspeichervorrichtung zu schreiben. Verborgene Partitionen sind logische Partitionen des Speichermediums, die für das Host-Rechnersystem nicht sichtbar sind. Das heißt, das Host-Rechnersystem hat keinen Zugriff auf diese Partitionen.
  • Formatieren kann Umformatieren sein
  • In einigen Situationen kann das Speichermedium der Datenspeichervorrichtung bereits mit einem Dateisystem formatiert sein. Dies kann ein vom Werk vorformatiertes Dateisystem oder ein bestehendes Dateisystem aus einer vorherigen Verwendung des Speichermediums sein. Eine Steuerung kann eingerichtet sein, um das Speichermedium gemäß einem ausgewählten Dateisystemformat umzuformatieren, indem Teile des vorhandenen Inhalts des Speichermediums mit der Struktur eines neuen leeren Dateisystems überschrieben werden. In einem anderen Beispiel kann die Werkseinstellung ein FAT32-Dateisystem sein, das mit den meisten Betriebssystemen kompatibel ist, aber ein Benutzer möchte dies möglicherweise für ein bestimmtes Betriebssystem in ein effizienteres Dateisystem umformatieren. Alternativ kann verhindert werden, dass eine Steuerung das Speichermedium umformatiert.
  • In einem weiteren Beispiel weist die Datenspeichervorrichtung mehrere Speichermedien auf und in dem Formatierungsschritt 304 formatiert die Steuerung die mehreren Speichermedien mit Metadaten, um eine redundante Anordnung unabhängiger Festplatten (RAID) einschließlich der mehreren Speichermedien zu definieren. In einem Beispiel kann das Formatieren das Umformatieren mindestens eines Teils des Speichermediums von einem RAIDO-Format in ein RAID1-Format oder umgekehrt aufweisen. In einem Beispiel, in dem das Speichermedium ein SSD ist, kann das Formatieren aufweisen, dass die Steuerung den verfügbaren Speicherplatz auf dem Speichermedium für die interne Verwendung abstimmt, um die Lebensdauer nach Wahl des Benutzers auf dessen autorisierter Vorrichtung zu erhöhen.
  • „Unformatierter Zustand“-Flag - Write-Once
  • Ein Verfahren, mit dem verhindert werden kann, dass die Steuerung das Speichermedium umformatiert, ist die Verwendung eines „Einmal beschreibbar“-Flags, das zum Zeitpunkt des ersten Formats der Datenspeichervorrichtung gesetzt wird. Das „Einmal beschreibbar“-Flag kann als eine eFuse implementiert werden, die ein einziges Mal ,durchgebrannt‘ sein kann. Die Steuerung kann derart eingerichtet sein, dass sie keine Dateisystemformatierung durchführt, wenn das „Einmal beschreibbar“-Flag gesetzt ist.
  • Bevor die Datenspeichervorrichtung 502 mit dem Host-Rechnersystem 504 verbunden wird, befindet sich die Datenspeichervorrichtung 502 in einem unformatierten Zustand. Der unformatierte Zustand kann durch ein „Unformatierter Zustand“-Flag angezeigt werden, das sich im Speicher der Steuerung befindet. Das „Unformatierter Zustand“-Flag kann ein „read many, write once“-Flag (zu dt. „mehrfach Lesen, einmal Schreiben“-Flag) sein. Das Flag kann zum Zeitpunkt der Herstellung der Datenspeichervorrichtung gesetzt werden. Die Steuerung kann das „Unformatierter Zustand“-Flag zurücksetzen, sobald das Speichermedium formatiert wurde, indem sie eine 0 in das „Unformatierter Zustand“-Flag schreibt. Das „Unformatierter Zustand“-Flag kann als Write-Once-Flag eingerichtet sein, das nach dem ersten Schreiben nicht geändert werden kann (z. B. eine eFuse). Ein Write-Once-Flag verhindert, dass das Unformatiert-Flag zurückgesetzt wird, wenn es einmal gesetzt wurde, was wiederum verhindert, dass das Speichermedium nach dem ersten Formatieren ein zweites Mal umformatiert wird.
  • Registrieren der Datenspeichervorrichtung
  • In Schritt 302 registriert sich die Steuerung 204 mit dem Host-Rechnersystem als Blockdatenspeichervorrichtung gemäß der Massenspeichervorrichtungsklasse (USB MSC oder UMS) des Universal Serial Bus (USB), also USB-Vorrichtungsklasse 08h. Weiterhin kann die Steuerung 204 ihre Unterklasse offenbaren, in dem sie einen transparenten SCSI-Befehlssatz als einen SCSI-Peripherievorrichtungstyp 00 h (Direktzugriffsblockvorrichtung) bereitstellt.
  • Universal Serial Bus-Vorrichtungen (USB-Vorrichtungen) stellen Informationen in Form eines USB-Vorrichtungsdeskriptors bereit. Der USB-Vorrichtungsdeskriptor enthält relevante Informationen über die Vorrichtung. Dementsprechend registriert sich in Ausführungsformen, in denen die Datenspeichervorrichtung über eine USB-Verbindung mit einem Host-Rechnersystem verbunden ist, die Datenspeichervorrichtung bei dem Host-Rechnersystem als Blockdatenspeichervorrichtung durch Konfigurieren ihres USB-Vorrichtungsdeskriptors, um anzugeben, dass die Datenspeichervorrichtung eine Blockdatenspeichervorrichtung ist. In diesem Sinne bedeutet „registrieren“ bei dem Host-Rechnersystem, dass die Steuerung 204 dem Host-Rechnersystem die Informationen bereitstellt, die es dem Host-Rechnersystem ermöglichen, die Datenspeichervorrichtung durch das Betriebssystem des Host-Rechnersystems in die Liste verfügbarer Massendatenspeichervorrichtungen zu integrieren.
  • Der USB-Vorrichtungsdeskriptor stellt strukturierte Informationen in Bezug auf die USB-Vorrichtung, wie beispielsweise die Klasse der Vorrichtung, unterstützte Protokolle, Art der Vorrichtung, Hersteller und andere Konfigurationsparameter, bereit. Ein Betriebssystem eines Host-Rechnersystems kann den USB-Vorrichtungsdeskriptor der Datenspeichervorrichtung durch Senden verschiedener Standardsteueranforderungen (z. B. GET_DESCRIPTOR-Anforderungen) an die Datenspeichervorrichtung erhalten. Als Reaktion auf das Empfangen dieser Anforderungen stellt die Datenspeichervorrichtung dem Host-Rechnersystem den USB_DEVICE_DESCRIPTOR bereit, und registriert damit die Datenspeichervorrichtung beim Host-Rechnersystem als Blockdatenspeichervorrichtung. Das Host-Rechnersystem interpretiert den USB_DEVICE_DESCRIPTOR, um die Konfiguration und Funktionen der Datenspeichervorrichtung zu bestimmen. Das Host-Rechnersystem kann dann Informationen bezüglich der Datenspeichervorrichtung in den Registern des Betriebssystems des Host-Rechnersystems speichern.
  • Eindeutige Kennung
  • In einem Beispiel erzeugt die Steuerung eine eindeutige Kennung, wie eine Universally Unique Identifier (UUID) oder Globally Unique Identifier (GUID). Die Steuerung sendet die eindeutige Kennung während der Registrierung als Blockdatenspeichervorrichtung an das Host-Rechnersystem. Im Gegenzug kann das Host-Rechnersystem die eindeutige Kennung verwenden, um jede einzelne Datenspeichervorrichtung von anderen Datenspeichervorrichtungen zu unterscheiden. Dies ist besonders vorteilhaft in Fällen, in denen mehrere Datenspeichervorrichtungen verwendet werden, die alle die hierin beschriebenen Verfahren verwenden, da ohne die Erzeugung der eindeutigen Kennung das Host-Rechnersystem verschiedene Datenspeichervorrichtungen verwechseln könnte.
  • In noch einem weiteren Beispiel registriert sich die Steuerung bei dem Host-Rechnersystem vor dem Formatieren als Massendatenspeichervorrichtung ohne vorhandenes Medium und schaltet nach dem Formatieren auf vorhandenes Medium um.
  • Formatieren ausgelöst durch autorisierte Vorrichtung
  • Wie vorstehend erwähnt, kann die Datenspeichervorrichtung eingerichtet sein, um das Speichermedium als Reaktion auf das Empfangen einer Formatanforderung von der autorisierten Vorrichtung über den Steuerkanal 110 zu formatieren. Der Steuerkanal ist ein Kommunikationskanal, über den die Datenspeichervorrichtung mit einer von einem Benutzer bedienten autorisierten Vorrichtung kommunizieren kann. Die autorisierte Vorrichtung ermöglicht es dem Benutzer, den Betrieb der Datenspeichervorrichtung über einen Kommunikationskanal zu steuern, der in Bezug auf den Datenkanal zwischen der Datenspeichervorrichtung und dem Host-Rechnersystem außerhalb des Bandes liegt.
  • In den 5a und 5b ist der Fluss der Nachrichten zwischen der autorisierten Vorrichtung 108 und der Datenspeichervorrichtung 102 über einen über das Bluetooth-LE-Protokoll implementierten Steuerkanal veranschaulicht. Insbesondere ist 5a ein Nachrichtenflussdiagramm, das die Übertragung von Nachrichten zwischen der autorisierten Vorrichtung 108 und der Steuerung 204 der Datenspeichervorrichtung 102 gemäß einer Ausführungsform zeigt. Die autorisierte Vorrichtung 108 und die Datenspeichervorrichtung 102 bauen gemäß diesem Protokoll eine Bluetooth-LE-Verbindung durch Pairing 502 auf.
  • Nachdem der Steuerkanal durch das Bluetooth LE-Pairing aufgebaut wurde, sendet die autorisierte Vorrichtung 108 eine Formatanforderungsnachricht 504 an die Datenspeichervorrichtung 102, welche die Parameter für die Dateisystemformatierung angibt. Die Parameter weisen mindestens eine Angabe des angeforderten Dateisystemformats auf und können auch andere Konfigurationsparameter wie Partitionsgröße und den identifizierenden Namen aufweisen.
  • In einem Beispiel weisen die Parameter eine Angabe eines oder mehrerer von einem Namen, einer Farbe und eines Bildes für die Datenspeichervorrichtung auf. Die Steuerung ist eingerichtet, um die Angabe eines oder mehrerer von einem Namen, einer Farbe und eines Bildes in einer Speicherkomponente der Datenspeichervorrichtung zu speichern und die Angabe eines oder mehrerer eines Namens, einer Farbe und eines Bildes für die Datenspeichervorrichtung während der Registrierung als Blockdatenspeichervorrichtung an das Host-Rechnersystem zu senden, wie in Schritt 306 durchgeführt. Auf diese Weise kann das Betriebssystem des Host-Rechnersystems die Datenspeichervorrichtung in einer Liste verfügbarer Datenspeichervorrichtungen mit einem spezifischen Namen, einer spezifischen Farbe und/oder einem spezifischen Bild anzeigen, die es dem Benutzer ermöglichen, die gewünschte Datenspeichervorrichtung leicht zu identifizieren.
  • In dem in 5a veranschaulichten Beispiel schließt die Formatanforderung 504, die von der autorisierten Vorrichtung 108 an die Datenspeichervorrichtung 102 gesendet wird, eine Anforderung ein, dass die Datenspeichervorrichtung das Speichermedium kryptografisch löscht, bevor das Speichermedium formatiert wird. Der Vorgang des Krypto-Löschens weist das Löschen von auf dem Speichermedium gespeicherten kryptographischen Schlüsseln auf, sodass die auf dem Speichermedium gespeicherte verschlüsselte Daten nicht mehr entschlüsselt werden können. Zum Beispiel kann die Datenspeichervorrichtung 102 die kryptographischen Schlüssel kryptographisch löschen, indem die kryptographischen Schlüssel auf dem Speichermedium mit Nullen, Einsen oder Zufallsdaten überschrieben werden. Der Vorteil des Krypto-Löschens besteht darin, dass durch die Umformatierung üblicherweise nur die Dateisystemstruktur neu erstellt wird, die eigentlichen Dateidaten aber unberührt bleiben. Dies hat zur Folge, dass die Dateidaten noch durch Operationen auf niedrigerer Ebene (also direkte READ SECTOR-Befehle) oder sogar durch physischen Zugriff, wie durch Messen von Restmagnetisierung, abgerufen werden können. Sobald das Speichermedium jedoch kryptographisch gelöscht ist, werden die aus diesen Operationen abgerufenen Daten ohne Zugriff auf die aktuellen Dateidaten verschlüsselt.
  • Nach dem Krypto-Löschen des Speichermediums führt die Steuerung 204 der Datenspeichervorrichtung den Formatierungsprozess durch, wie in Bezug auf das Verfahren 300 vorstehend beschrieben. Insbesondere wählt die Steuerung 204 der Datenspeichervorrichtung 102 ein Dateisystemformat gemäß den Parametern der Formatanforderungsnachricht 504 aus, formatiert das Speichermedium durch die Erzeugung eines Dateisystems gemäß den Parametern der Formatanforderungsnachricht 504 und registriert sich beim Host-Rechnersystem als Blockdatenspeichervorrichtung.
  • Nach Abschluss des Formatierungsprozesses sendet die Steuerung der Datenspeichervorrichtung eine Statusantwortnachricht 506 an die autorisierte Vorrichtung 108. Die Statusantwortnachricht gibt den erfolgreichen Abschluss des Formatierungsprozesses an oder gibt Fehlerinformationen an, falls ein erfolgreicher Abschluss des Formatierungsprozesses nicht möglich war.
  • Wenn zum Beispiel die autorisierte Vorrichtung 108 die Datenspeichervorrichtung 102 auffordert, ein Dateisystemformat zu erzeugen, zu dessen Erzeugung die Datenspeichervorrichtung nicht eingerichtet ist, gibt die Datenspeichervorrichtung eine Fehlermeldung an die autorisierte Vorrichtung zurück. Wenn die Datenspeichervorrichtung während des Formatierens des Speichermediums auf einen Fehler stößt, gibt die Datenspeichervorrichtung außerdem eine Fehlermeldung an die autorisierte Vorrichtung zurück.
  • 5b veranschaulicht ein alternatives Beispiel, bei dem die autorisierte Vorrichtung 108 gemäß einer Ausführungsform zuerst die Konfiguration der Datenspeichervorrichtung 102 abfragt, bevor sie eine Dateisystemformatierung anfordert. Insbesondere sendet die autorisierte Vorrichtung nach dem Bluetooth-LE-Pairing-Prozess 508 eine Konfigurationsanfragenachricht 510. Als Reaktion darauf sendet die Steuerung der Datenspeichervorrichtung eine Konfigurationsantwortnachricht 512, die eine Liste der Dateisystemformate einschließt, mit denen die Steuerung das Speichermedium formatieren kann. Die Konfigurationsantwortnachricht 512 kann auch die Größe des Speichermediums, die Anzahl vorhandener Partitionen, den verfügbaren Speicherplatz und andere Informationen angeben, welche die Nutzung der Datenspeichervorrichtung durch die autorisierte Vorrichtung beeinflussen können.
  • Basierend auf der Konfigurationsantwortnachricht 512 sendet die autorisierte Vorrichtung eine Formatanforderung 514 einschließlich der Anforderungsparameter, die das angeforderte Dateisystemformat angeben und auch andere Konfigurationsparameter wie die Partitionsgröße und einen identifizierenden Namen der Datenspeichervorrichtung angeben können, an die Datenspeichervorrichtung.
  • Wenn das Speichermedium in eine Vielzahl von Partitionen partitioniert wurde, kann die Anforderungsnachricht 514 auch eine Angabe der Partition innerhalb des Speichermediums einschließen, in der die Steuerung aufgefordert wird, ein Dateisystem zu erzeugen. Alternativ kann die Datenspeichervorrichtung eine geeignete Partition auswählen, in der ein Dateisystem wie von der autorisierten Vorrichtung angefordert erzeugt wird.
  • Die Steuerung der Datenspeichervorrichtung führt das Formatieren des Speichermediums durch die Erzeugung eines Dateisystems gemäß den Parametern der von der autorisierten Vorrichtung empfangenen Formatanforderung durch. Der Formatierungsprozess wird gemäß dem Verfahren 300 durchgeführt.
  • Nach Abschluss des Formatierungsprozesses sendet die Steuerung der Datenspeichervorrichtung eine Antwortnachricht 516, die den erfolgreichen Abschluss des Formatierungsprozesses anzeigt oder eine Fehlerinformation, falls ein erfolgreicher Abschluss des Formatierungsprozesses nicht möglich war, an die autorisierte Vorrichtung.
  • Formatieren ausgelöst durch die erste Verbindung zum Host
  • Alternativ oder zusätzlich dazu, dass eine Datenspeichervorrichtung eingerichtet ist, um das Speichermedium als Reaktion auf das Empfangen einer Formatanforderung von der autorisierten Vorrichtung über den Steuerkanal zu formatieren, kann eine Datenspeichervorrichtung eingerichtet sein, um das Verfahren 300 als Reaktion auf das Erkennen einer Verbindung mit einem Host-Rechnersystem über einen Datenkanal durchzuführen.
  • 6 veranschaulicht eine Datenspeichervorrichtung 602, welche gemäß einer Ausführungsform die Struktur der Datenspeichervorrichtung 102 aufweist. Die Steuerung der Datenspeichervorrichtung 602 ist jedoch eingerichtet, um das Speichermedium durch Erzeugen eines Dateisystems als Reaktion auf eine USB-Verbindung mit einem Host-Rechnersystem 604 zu formatieren.
  • Im Beispiel von 6 ist im Ereignis 606 der USB-Datenanschluss der Datenspeichervorrichtung 602 mit einem USB-Datenanschluss des Host-Rechnersystems 604 verbunden. Diese USB-Verbindung bildet einen Datenkanal zwischen dem Datenspeicher 602 und dem Host-Rechnersystem 604. Die Datenspeichervorrichtung 602 kann über diese USB-Verbindung auch vom Host-Rechnersystem 604 mit Strom versorgt werden.
  • Bei Verbindung der Datenspeichervorrichtung 602 mit dem Host-Rechnersystem 604 über den Datenkanal bestimmt die Datenspeichervorrichtung, ob sich das Speichermedium in einem formatierten oder einem unformatierten Zustand befindet. Der formatierte/unformatierte Zustand des Speichermediums wird durch ein im Datenspeicher 602 befindliches „Unformatierter Zustand“-Flag angezeigt. Das „Unformatierter Zustand“-Flag kann ein „read many, write once“-Flag (zu dt. „mehrfach Lesen, einmal Schreiben“-Flag) sein. Das Flag kann zum Zeitpunkt der Herstellung der Datenspeichervorrichtung gesetzt werden. Das „Unformatierter Zustand“-Flag kann auf 1 gesetzt werden, um anzuzeigen, dass das Speichermedium unformatiert ist.
  • Wenn das „Unformatierter Zustand“-Flag gesetzt ist, bestimmt die Datenspeichervorrichtung, dass das Speichermedium unformatiert ist, und die Datenspeichervorrichtung 602 ist eingerichtet, um Metadaten, die dem Host-Rechnersystem zugeordnet sind, über den Datenkanal, der durch die USB-Verbindung gebildet wird, zu empfangen und eine Klasse von Host-Rechnersystemen basierend auf den Metadaten zu bestimmen.
  • Die Datenspeichervorrichtung 602 fährt mit dem Formatieren des Speichermediums durch die Ausführung des Verfahrens 300 fort. Insbesondere ist die Steuerung der Datenspeichervorrichtung 602 basierend auf der Klasse des Host-Rechnersystems eingerichtet, um eines von mehreren Dateisystemformaten auszuwählen und das Speichermedium der Datenspeichervorrichtung 602 durch Erzeugen eines Dateisystems gemäß dem ausgewählten Dateisystemformat zu formatieren.
  • Nachdem das Speichermedium formatiert wurde, hebt die Steuerung das „Unformatierter Zustand“-Flag auf, indem sie eine 0 in das „Unformatierter Zustand“-Flag schreibt. Das als 0 gesetzte „Unformatierter Zustand“-Flag stellt einen Hinweis bereit, dass das Speichermedium formatiert ist. Die Steuerung der Datenspeichervorrichtung 602 registriert sich bei 610 bei dem Host-Rechnersystem 604 als Blockdatenspeichervorrichtung.
  • 7 veranschaulicht eine Ausführungsform, in der die Steuerung der Datenspeichervorrichtung 702 eingerichtet ist, um eine Angabe eines ausgewählten der mehreren Dateisysteme an eine autorisierte Vorrichtung 708 als eine Dateisystemformatempfehlung an einen Benutzer der autorisierten Vorrichtung zu senden.
  • Als Reaktion auf das Empfangen von Metadaten 710, die dem Host-Rechnersystem 704 zugeordnet sind, über den Datenkanal, der durch eine USB-Verbindung 706 der Datenspeichervorrichtung 702 mit dem Host-Rechnersystem 704 gebildet wird, bestimmt die Steuerung der Datenspeichervorrichtung 702 eine Klasse eines Host-Rechnersystems basierend auf den Metadaten (wie Windows oder iOS) und wählt eines von mehreren Dateisystemformaten basierend auf der bestimmten Klasse des Host-Rechnersystems aus.
  • Die Datenspeichervorrichtung 702 sendet über einen Steuerkanal eine Formatempfehlungsnachricht 712 an die autorisierte Vorrichtung 708. Die Formatempfehlungsnachricht 712 schließt eine Angabe des basierend auf der bestimmten Klasse des Host-Rechnersystems ausgewählten der mehreren Dateisystemformaten ein.
  • Optional und abhängig von der Konfiguration der autorisierten Vorrichtung durch den Benutzer kann die Autorisierungsvorrichtung 708 eine Formatanforderungsnachricht 714 über den Steuerkanal an die Datenspeichervorrichtung 702 senden, die anfordert, dass die Datenspeichervorrichtung 702 das Speichermedium mit dem ausgewählten Dateisystemformat formatiert. Die Datenspeichervorrichtung 702 kann dann damit fortfahren, das Speichermedium gemäß dem Verfahren 300 zu formatieren und der autorisierten Vorrichtung eine Antwortnachricht 716 bereitzustellen, wie zuvor in Bezug auf 5b beschrieben.
  • In einer anderen Ausführungsform ist die Steuerung einer Datenspeichervorrichtung eingerichtet, um basierend auf dem „Unformatierter Zustand“-Flag zu bestimmen, ob das Speichermedium unformatiert ist, und nach Bestimmen, dass das Speichermedium unformatiert ist, das Speichermedium automatisch zu formatieren und eine Angabe zu speichern, dass das Speichermedium formatiert ist.
  • Für den Fachmann ist erkennbar, dass zahlreiche Variationen und/oder Modifikationen an den vorstehend beschriebenen Ausführungsformen vorgenommen werden können, ohne von dem weit gefassten allgemeinen Schutzumfang der vorliegenden Offenbarung abzuweichen. Die vorliegenden Ausführungsformen sind daher in jeder Hinsicht nur als veranschaulichend und nicht als einschränkend zu betrachten.

Claims (20)

  1. Datenspeichervorrichtung, aufweisend: ein nichtflüchtiges Speichermedium, das eingerichtet ist, um Benutzerinhaltsdaten zu speichern; einen Datenanschluss, der eingerichtet ist, um die Benutzerinhaltsdaten zwischen dem Speichermedium und einem Host-Rechnersystem über einen Datenkanal zu übertragen; und eine Steuerung, die eingerichtet ist zum: Auswählen eines von mehreren Dateisystemformaten; Formatieren des Speichermediums durch Erzeugen eines Dateisystems gemäß dem ausgewählten Dateisystemformat auf dem Speichermedium; und Registrieren bei dem Host-Rechnersystem als Blockdatenspeichervorrichtung.
  2. Datenspeichervorrichtung gemäß Anspruch 1, wobei die Steuerung weiterhin eingerichtet ist zum: Verbinden mit einer autorisierten Vorrichtung über einen Steuerkanal, der sich von dem Datenkanal unterscheidet; Empfangen, von der autorisierten Vorrichtung über den Steuerkanal, einer Anforderung zum Formatieren des Speichermediums; und Formatieren des Speichermediums als Reaktion auf das Empfangen der Anforderung zum Formatieren des Speichermediums.
  3. Datenspeichervorrichtung gemäß Anspruch 2, wobei: die Anforderung zum Formatieren eine Angabe eines Dateisystemformats einschließt; und die Steuerung weiterhin eingerichtet ist, um das eine der mehreren Dateisystemformate basierend auf der Angabe auszuwählen.
  4. Datenspeichervorrichtung gemäß Anspruch 3, wobei die Steuerung weiterhin eingerichtet ist, um an die autorisierte Vorrichtung eine Liste von Dateisystemformaten zur Auswahl durch die autorisierte Vorrichtung zu senden.
  5. Datenspeichervorrichtung gemäß Anspruch 2, wobei die Steuerung weiterhin eingerichtet ist zum: Empfangen von Metadaten, die dem Host-Rechnersystem zugeordnet sind, über den Datenkanal; Bestimmen einer Klasse des Host-Rechnersystems basierend auf den Metadaten; Auswählen des einen der mehreren Dateisystemformate basierend auf der Klasse des Host-Rechnersystems; und Senden einer Angabe des ausgewählten Dateisystemformats an die autorisierte Vorrichtung als eine Empfehlung.
  6. Datenspeichervorrichtung gemäß Anspruch 2, wobei die Steuerung weiterhin eingerichtet ist zum: Empfangen einer Angabe eines oder mehrerer von einem Namen, einer Farbe und eines Bildes für die Datenspeichervorrichtung; Speichern der Angabe des einen oder mehrerer des Namens, der Farbe und des Bildes für die Datenspeichervorrichtung; und Senden der Angabe des einen oder der mehreren des Namens, der Farbe und des Bildes für die Datenspeichervorrichtung an das Host-Rechnersystem während der Registrierung als die Blockdatenspeichervorrichtung.
  7. Datenspeichervorrichtung gemäß Anspruch 2, wobei die Anforderung zum Formatieren einer Anforderung zum kryptographischen Löschen des Speichermediums zugeordnet ist.
  8. Datenspeichervorrichtung gemäß Anspruch 2, wobei: der Steuerkanal drahtlos ist; und der Datenkanal drahtgebunden ist.
  9. Datenspeichervorrichtung gemäß Anspruch 1, wobei die Steuerung weiterhin eingerichtet ist, um das Speichermedium basierend auf den gespeicherten Formatierungsdaten zu formatieren.
  10. Datenspeichervorrichtung gemäß Anspruch 9, wobei die Formatierungsdaten in einer Partition des Speichermediums gespeichert sind, auf die das Host-Rechnersystem nicht zugreifen kann.
  11. Datenspeichervorrichtung gemäß Anspruch 9, wobei: die gespeicherten Formatierungsdaten ein komprimiertes Bild aufweisen; und das Formatieren das Dekomprimieren des komprimierten Bildes auf dem Speichermedium aufweist.
  12. Datenspeichervorrichtung gemäß Anspruch 11, wobei: das komprimierte Bild eine Dateizuordnungstabelle aufweist; und das Dekomprimieren des komprimierten Bildes das Schreiben der Dateizuordnungstabelle auf das Speichermedium aufweist.
  13. Datenspeichervorrichtung gemäß Anspruch 1, wobei die Steuerung weiterhin eingerichtet ist zum: Empfangen von Metadaten, die dem Host-Rechnersystem zugeordnet sind, über den Datenkanal, wobei die Metadaten eine Klasse des Host-Rechnersystems angeben; Auswählen des einen der mehreren Dateisystemformate basierend auf der Klasse des Host-Rechnersystems; und Formatieren des Speichermediums mit einem Dateisystem gemäß dem ausgewählten Dateisystemformat.
  14. Datenspeichervorrichtung gemäß Anspruch 1, wobei die Steuerung weiterhin eingerichtet ist, um einen oder mehrere Schlüssel zur Verschlüsselung und Entschlüsselung von Benutzerinhaltsdaten zu erzeugen, die auf dem Speichermedium gespeichert werden sollen.
  15. Datenspeichervorrichtung gemäß Anspruch 1, wobei: die Datenspeichervorrichtung mehrere Speichermedien aufweist; und das Formatieren das Erzeugen von Metadaten aufweist, um eine redundante Anordnung unabhängiger Festplatten (RAID) zu definieren, die mehrere Speichermedien einschließt.
  16. Datenspeichervorrichtung gemäß Anspruch 1, wobei die Steuerung weiterhin eingerichtet ist zum: Erzeugen einer eindeutigen Kennung; und Senden der eindeutigen Kennung an das Host-Rechnersystem während der Registrierung als Blockdatenspeichervorrichtung.
  17. Datenspeichervorrichtung gemäß Anspruch 1, wobei die Steuerung weiterhin eingerichtet ist zum: Registrieren bei dem Host-Rechnersystem als eine Massendatenspeichervorrichtung, ohne dass vor dem Formatieren ein Speichermedium vorhanden ist; und Registrieren bei dem Host-Rechnersystem als eine Massendatenspeichervorrichtung mit einem nach dem Formatieren vorhandenen Speichermedium.
  18. Datenspeichervorrichtung gemäß Anspruch 1, wobei die Steuerung weiterhin eingerichtet ist zum: Bestimmen, ob das Speichermedium unformatiert ist; als Reaktion auf das Bestimmen, dass das Speichermedium unformatiert ist, Formatieren des Speichermediums; und Speichern einer Angabe, dass das Speichermedium formatiert ist.
  19. Verfahren zum Formatieren einer Datenspeichervorrichtung, wobei die Datenspeichervorrichtung eine Steuerung und ein nichtflüchtiges Speichermedium aufweist, wobei das Verfahren Folgendes aufweist: Auswählen, durch die Steuerung, von einem von mehreren Dateisystemformaten; Formatieren, durch die Steuerung, des Speichermediums durch Erzeugen eines Dateisystems gemäß dem ausgewählten Dateisystemformat auf dem Speichermedium; und Registrieren der Datenspeichervorrichtung bei einem Host-Rechnersystem als Blockdatenspeichervorrichtung.
  20. Datenspeichervorrichtung, aufweisend: ein nichtflüchtiges Speichermedium; Mittel zum Auswählen von einem von mehreren Dateisystemformaten; Mittel zum Formatieren des Speichermediums durch Erzeugen eines Dateisystems gemäß dem ausgewählten Dateisystemformat auf dem Speichermedium; und Mittel zum Registrieren der Datenspeichervorrichtung bei einem Host-Rechnersystem als Blockdatenspeichervorrichtung.
DE112020000181.4T 2019-12-08 2020-06-26 Selbstformatierende datenspeichervorrichtung Pending DE112020000181T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/706,822 2019-12-08
US16/706,822 US11163442B2 (en) 2019-12-08 2019-12-08 Self-formatting data storage device
PCT/US2020/039716 WO2021118643A1 (en) 2019-12-08 2020-06-26 Self-formatting data storage device

Publications (1)

Publication Number Publication Date
DE112020000181T5 true DE112020000181T5 (de) 2021-10-07

Family

ID=76210401

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020000181.4T Pending DE112020000181T5 (de) 2019-12-08 2020-06-26 Selbstformatierende datenspeichervorrichtung

Country Status (4)

Country Link
US (1) US11163442B2 (de)
CN (1) CN113316761A (de)
DE (1) DE112020000181T5 (de)
WO (1) WO2021118643A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11907548B2 (en) * 2020-07-17 2024-02-20 Micron Technology, Inc. Storage of video data and file system metadata
CN114995771B (zh) * 2022-08-02 2022-12-13 苏州浪潮智能科技有限公司 独立磁盘冗余阵列格式化调度方法、装置、设备及介质
WO2024091761A1 (en) * 2022-10-24 2024-05-02 Western Digital Technologies, Inc. Host independent formatting of storage devices

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933631A (en) * 1997-03-17 1999-08-03 International Business Machines Corporation Dynamic boot filesystem selection
US6377958B1 (en) * 1998-07-15 2002-04-23 Powerquest Corporation File system conversion
US7177990B1 (en) * 2002-05-21 2007-02-13 Sonic Solutions Automatic format of removable media
US8001325B2 (en) * 2004-01-09 2011-08-16 Sandisk Corporation Memory card that supports file system interoperability
EP1920305A4 (de) 2005-07-21 2011-01-19 Clevx Llc Speicherverriegelungssystem
EP1982262A4 (de) 2006-01-24 2010-04-21 Clevx Llc Datensicherheitssystem
US7762553B2 (en) 2006-11-25 2010-07-27 Harris Curtis J Form-fitting electronic game controller cover
KR101391152B1 (ko) * 2007-04-05 2014-05-02 삼성전자주식회사 Ums 기기의 컨텐츠를 보호하기 위한 방법 및 장치
US10778417B2 (en) 2007-09-27 2020-09-15 Clevx, Llc Self-encrypting module with embedded wireless user authentication
US10783232B2 (en) 2007-09-27 2020-09-22 Clevx, Llc Management system for self-encrypting managed devices with embedded wireless user authentication
US10181055B2 (en) 2007-09-27 2019-01-15 Clevx, Llc Data security system with encryption
TWI537732B (zh) 2007-09-27 2016-06-11 克萊夫公司 加密之資料保全系統
US7966288B2 (en) * 2008-01-02 2011-06-21 Sandisk Il Ltd. Device and method for integrating file systems
US7970838B2 (en) * 2008-05-19 2011-06-28 Xerox Corporation Mobile remote device management
US20100174913A1 (en) 2009-01-03 2010-07-08 Johnson Simon B Multi-factor authentication system for encryption key storage and method of operation therefor
US9286493B2 (en) 2009-01-07 2016-03-15 Clevx, Llc Encryption bridge system and method of operation thereof
US9734356B2 (en) 2009-06-29 2017-08-15 Clevx, Llc Encrypting portable media system and method of operation thereof
US20110302224A1 (en) * 2010-06-08 2011-12-08 Rahav Yairi Data storage device with preloaded content
KR101389977B1 (ko) * 2012-02-28 2014-05-07 주식회사 팬택 다중 운영체제를 지원하는 클라이언트 단말 및 다중 운영체제 지원방법
WO2014070342A1 (en) * 2012-10-30 2014-05-08 Google Inc. Drive emulation for devices with mass storage feature
US9998914B2 (en) 2014-04-16 2018-06-12 Jamf Software, Llc Using a mobile device to restrict focus and perform operations at another mobile device
US9075649B1 (en) * 2015-01-26 2015-07-07 Storagecraft Technology Corporation Exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor
JP6558090B2 (ja) * 2015-06-15 2019-08-14 富士通株式会社 ストレージ管理装置、ストレージ管理方法及びストレージ管理プログラム
US10154020B1 (en) 2015-07-08 2018-12-11 Clevx, Llc Referral identity system and method of operation thereof
US10452859B2 (en) * 2016-06-10 2019-10-22 Apple Inc. File system metadata protection
US10474396B2 (en) * 2016-10-25 2019-11-12 Sandisk Technologies Llc System and method for managing multiple file systems in a memory
US20180165301A1 (en) * 2016-12-09 2018-06-14 Hangzhou Dianzi University Nested file management system and method
CN109325355A (zh) * 2018-01-11 2019-02-12 白令海 基于虚拟磁盘的移动终端数据安全存储方法
US20190303603A1 (en) 2018-04-03 2019-10-03 Seagate Technology Llc Location-based security of storage drives
CN109062576A (zh) * 2018-07-18 2018-12-21 郑州云海信息技术有限公司 一种通过initramfs修复文件系统的方法及装置

Also Published As

Publication number Publication date
US20210173561A1 (en) 2021-06-10
WO2021118643A1 (en) 2021-06-17
US11163442B2 (en) 2021-11-02
CN113316761A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
DE112020000181T5 (de) Selbstformatierende datenspeichervorrichtung
US7739462B2 (en) Policy based data shredding for storage controller
US8990588B2 (en) Storage system, storage control apparatus, and storage control method
US20030005235A1 (en) Computer storage systems
KR101506578B1 (ko) 데이터 보안을 위한 파일 시스템 구성 방법 및 장치, 그에의해 만들어진 데이터 보안 영역에 접근하는 방법 및 장치,그에 따른 데이터 저장 장치
US20140324798A1 (en) System and method for selective file erasure using metadata modifcations
US7467273B2 (en) Storage apparatus for preventing falsification of data
DE112013000900B4 (de) Bewahren von Redundanz in Datendeduplizierungssystemen unter Verwendung eines Anzeigers
US20070022259A1 (en) Write protection in a storage system allowing both file-level access and volume-level access
DE112006003260T5 (de) Verfahren zum dynamischen Freilegen von Sicherungs- und Wiederherstellungslaufwerken
DE102012110692A1 (de) Datenspeichervorrichtung, die eine unterteilte Datei in verschiedenen Speichermedien speichert, sowie Datenverwaltungsverfahren
DE112014000251T5 (de) Echtzeitklassifizierung von Daten in Datenkomprimierungsdomänen
DE102006052173B4 (de) Schreibschutzverfahren und -vorrichtung für wenigstens eine Speichereinrichtung mit wahlfreiem Zugriff
US8417887B2 (en) Storage system and method for controlling attributes such as encryption attributes in virtual storage areas
JP2801802B2 (ja) 電子プリントシステムのファイルコンパクト化方法
US10296468B2 (en) Storage system and cache control apparatus for storage system
US10089125B2 (en) Virtual machines accessing file data, object data, and block data
CN105279458A (zh) 存储装置、通信装置和存储系统
EP2948894B1 (de) Verfahren zum sicheren löschen eines nichtflüchtigen halbleiter-massenspeichers, computersystem sowie computerprogrammprodukt
US20100131469A1 (en) Storage management device and file deletion control method
DE112021000149T5 (de) Verschlüsselung einer datenspeicherungsvorrichtung
US9251382B2 (en) Mapping encrypted and decrypted data via key management system
US8407369B2 (en) Digitally shredding on removable drives
WO2013143911A2 (de) Verfahren zum verschlüsseln von daten auf speichermedium
DE112021000150T5 (de) Datenspeicherungsvorrichtungsverschlüsselung

Legal Events

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

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE

Representative=s name: MEWBURN ELLIS LLP, DE

R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE