DE102016004567A1 - Verifizierung von speichermedien im moment der verwendung - Google Patents

Verifizierung von speichermedien im moment der verwendung Download PDF

Info

Publication number
DE102016004567A1
DE102016004567A1 DE102016004567.1A DE102016004567A DE102016004567A1 DE 102016004567 A1 DE102016004567 A1 DE 102016004567A1 DE 102016004567 A DE102016004567 A DE 102016004567A DE 102016004567 A1 DE102016004567 A1 DE 102016004567A1
Authority
DE
Germany
Prior art keywords
processing system
partition
storage
memory
storage medium
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
DE102016004567.1A
Other languages
English (en)
Inventor
Christopher Squires
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Technologies Inc
Original Assignee
HGST Netherlands BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HGST Netherlands BV filed Critical HGST Netherlands BV
Publication of DE102016004567A1 publication Critical patent/DE102016004567A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2247Verification or detection of system hardware configuration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/48Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • 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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Im vorliegenden Text werden Systeme, Verfahren und Software zum Verifizieren von Speichermedien und Speicherteilsystemen im Moment der Verwendung beschrieben. In einem Beispiel enthält eine Computervorrichtung zum Testen von Speichermedien in einem Speicherteilsystem Verarbeitungsinstruktionen, die ein Computersystem anweisen, die Initiierung eines Speicherteilsystems zu identifizieren, einen Testprozess des Speichermediums zu initiieren, und ein Partitionsverfügbarkeitsereignis für das Speichermedium zu identifizieren. Die Verarbeitungsinstruktionen weisen das Computersystem des Weiteren an, in Reaktion auf das Partitionsverfügbarkeitsereignis eine Partition des Speichermediums einem Host-Verarbeitungssystem verfügbar zu machen, wobei die Partition Speicherorte in dem Speichermedium umfasst, die mittels des Testprozesses getestet wurden, und den Testprozess an dem Speichermedium fortzusetzen. Die Computervorrichtung enthält außerdem ein oder mehrere nicht-transitorische computerlesbare Medien, die die Verarbeitungsinstruktionen speichern.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Speicherteilsysteme, wie zum Beispiel Festplattenlaufwerke und Festkörperlaufwerke, stellen Speichermedien für Host-Verarbeitungssysteme zum Speichern und Lesen verschiedener Datenobjekte bereit. Diese Datenobjekte können Bilder, Videos, Word-Dokumente, Tabellenkalkulationsblätter und verschiedene andere Dateitypen enthalten, die durch das Host-Verarbeitungssystem verarbeitet werden können. Um dem Host-System Speichermedien verfügbar zu machen, können ein oder mehrere der Teilsysteme mittels eines Small Computer System Interface(SCSI)-Busses, eines Serial Attached SCSI(SAS)-Busses, eines Serial ATA(SATA)-Busses, eines Peripheral Component Interconnect Express(PCIe)-Busses, eines Fibre Channel oder irgend einer anderen ähnlichen Schnittstelle oder irgend eines anderen ähnlichen Busses kommunikativ mit dem System gekoppelt werden.
  • Vor dem kommunikativen Koppeln des Speicherteilsystems mit dem Host-Verarbeitungssystem können Regionen innerhalb des Teilsystems beim Hersteller getestet oder verifiziert werden, um sicherzustellen, dass dem Nutzer am Endcomputersystem Regionen zur Verfügung stehen. Dementsprechend wäre jedes Segment oder jeder Abschnitt des Teilsystems, das bzw. der keine Daten speichern könnte, für den Nutzer nicht sichtbar, wenn das Teilsystem gekoppelt ist. Da jedoch die Laufwerksgröße und die Anzahl der Laufwerke, die der Hersteller herstellt, zugenommen haben, ist es ineffizienter geworden, Abschnitte innerhalb der Teilsysteme zu testen und zu verifizieren, bevor das Laufwerk dem Endnutzer zur Verfügung gestellt wird.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Die im vorliegenden Text offenbarten Beispiele stellen Systeme, Verfahren und Software zum Testen von Speichermedien und Speicherteilsystemen im Moment der Verwendung bereit. In einem Beispiel enthält eine Computervorrichtung zum Testen eines Speicherteilsystems für ein Host-Verarbeitungssystem ein oder mehrere nicht-transitorische computerlesbare Medien sowie Verarbeitungsinstruktionen bereit, die auf dem einen oder den mehreren nicht-transitorischen computerlesbaren Medien gespeichert sind und die ein Verarbeitungssystem anweisen, wenn das Speicherteilsystem, das Speichermedien umfasst, verwendet wird, einen Testprozess zu initiieren, um Speicherblöcke in den Speichermedien zu identifizieren, die zum Speichern von Daten für das Host-Verarbeitungssystem geeignet sind. Die Verarbeitungsinstruktionen weisen das Verarbeitungssystem außerdem an, nach dem Initiieren des Testprozesses iterativ Partitionsverfügbarkeitsereignisse zu identifizieren. Die Verarbeitungsinstruktionen weisen das Verarbeitungssystem außerdem an, in Reaktion auf jedes Partitionsverfügbarkeitsereignis in den Partitionsverfügbarkeitsereignissen dem Host-Verarbeitungssystem eine Partition des Speichermediums verfügbar zu machen, wobei die Partition eine Zusammenstellung von Speicherblöcken umfasst, die mittels des Testprozesses getestet wurden und die von anderen Speicherblöcken in Partitionen verschieden sind, die dem Host-Verarbeitungssystem zuvor verfügbar gemacht wurden.
  • In einem anderen Fall enthält ein Speicherteilsystem zum Testen von Speichermedien im Moment der Verwendung ein Speichermedium sowie ein Speicherverarbeitungssystem, das dafür konfiguriert ist, wenn das Speicherteilsystem in einem Computersystem mit einem Host-Verarbeitungssystem verwendet wird, einen Testprozess zu initiieren, um in dem Speichermedium Speicherblöcke zu identifizieren, die zum Speichern von Daten für das Host-Verarbeitungssystem geeignet sind. Das Speicherverarbeitungssystem ist des Weiteren dafür konfiguriert, nach dem Initiieren des Testprozesses iterativ Partitionsverfügbarkeitsereignisse zu identifizieren. Das Speicherverarbeitungssystem ist des Weiteren dafür konfiguriert, in Reaktion auf jedes Partitionsverfigbarkeitsereignis in den Partitionsverfügbarkeitsereignissen dem Host-Verarbeitungssystem eine Partition des Speichermediums verfügbar zu machen, wobei die Partition eine Zusammenstellung von Speicherblöcken umfasst, die mittels des Testprozesses getestet wurden und die von anderen Speicherblöcken in Partitionen verschieden sind, die dem Host-Verarbeitungssystem zuvor verfügbar gemacht wurden
  • In einem weiteren Beispiel enthält ein Host-Computersystem ein Host-Verarbeitungssystem und ein Speicherteilsystem, das ein Speichermedium sowie ein Speicherverarbeitungssystem umfasst, wobei das Speicherverarbeitungssystem dafür konfiguriert ist, wenn das Speicherteilsystem in dem Computersystem verwendet wird, einen Testprozess zu initiieren, um in dem Speichermedium Speicherblöcke zu identifizieren, die zum Speichern von Daten für das Host-Verarbeitungssystem geeignet sind. Das Speicherverarbeitungssystem ist des Weiteren dafür konfiguriert, nach dem Initiieren des Testprozesses iterativ Partitionsverfügbarkeitsereignisse zu identifizieren. Das Speicherverarbeitungssystem ist des Weiteren dafür konfiguriert, in Reaktion auf jedes Partitionsverfügbarkeitsereignis in den Partitionsverfügbarkeitsereignissen dem Host-Verarbeitungssystem eine Partition des Speichermediums verfügbar zu machen, wobei die Partition eine Zusammenstellung von Speicherblöcken umfasst, die mittels des Testprozesses getestet wurden und die von anderen Speicherblöcken in Partitionen verschieden sind, die dem Host-Verarbeitungssystem zuvor verfügbar gemacht wurden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die folgende Beschreibung und die zugehörigen Figuren lehren den besten Modus der Erfindung. Für den Zweck des Lehrens der erfindungsgemäßen Prinzipien können einige herkömmliche Aspekte des besten Modus vereinfacht oder weggelassen werden. Die folgenden Ansprüche spezifizieren den Schutzumfang der Erfindung. Es ist zu beachten, dass einige Aspekte des besten Modus möglicherweise nicht in den durch die Ansprüche spezifizierten Schutzumfang der Erfindung fallen. Der Fachmann erkennt jedoch Abweichungen vom besten Modus, die in den Schutzumfang der Erfindung fallen. Dem Fachmann leuchtet ein, dass die unten beschriebenen Merkmale auf verschiedene Weise kombiniert werden können, um mehrere Variationen der Erfindung zu bilden.
  • Infolgedessen ist die Erfindung nicht auf die unten konkret beschriebenen Beispiele beschränkt, sondern wird allein durch die Ansprüche und ihre Äquivalente beschränkt.
  • 1 ist ein Blockschaubild, das ein Computersystem zum Testen von Speichermedien im Moment der Verwendung veranschaulicht.
  • 2 ist ein Flussdiagramm, das eine Funktionsweise eines Speicherverarbeitungssystems zum Testen von Speichermedien veranschaulicht.
  • 3 ist ein Flussdiagramm, das eine Partitionierung eines verwendeten Speichermediums veranschaulicht.
  • 4 ist ein Blockschaubild, das eine Übersicht des Bereitstellens neuer Speicherpartitionen für ein Host-Verarbeitungssystem veranschaulicht.
  • 5 ist ein Blockschaubild, das eine Übersicht des Hinzufügens eines Speicherteilsystems zu einer Computerumgebung veranschaulicht.
  • 6 ist ein Blockschaubild, das ein Computersystem zum Testen eines neuen Speicherteilsystems im Moment der Verwendung veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Speicherteilsysteme, wie zum Beispiel Festplattenlaufwerke, Festkörperlaufwerke und hybride Festkörper-Festplattenlaufwerke, werden oft in Computersystemen zum Speichern von Datenobjekten für ein Host-Verarbeitungssystem verwendet. Diese Datenobjekte enthalten oft Audio-Dateien, Film-Dateien, Word-Dokumente, Tabellenkalkulationsblätter, Bilder oder sonstige Dateitypen. Um dem Host-Verarbeitungssystem ein Speicherteilsystem verfügbar zu machen, muss das Speicherteilsystem kommunikativ mit dem Host-Verarbeitungssystem verlinkt sein, um eine Kommunikation zwischen den beiden Systemen zu ermöglichen. Dieser Kommunikationslink kann einen Small Computer System Interface(SCSI)-Bus, einen Serial Attached SCSI(SAS)-Bus, einen Serial ATA(SATA)-Bus, einen Peripheral Component Interconnect Express(PCIe)-Bus, einen Fibre Channel oder eine andere ähnliche Schnittstelle oder einen anderen ähnlichen Bus enthalten.
  • Wie im vorliegenden Text beschrieben, enthält das Speicherteilsystem, das an das Host-Verarbeitungssystem angeschlossen ist, ein Speichermedium, das ungetestet oder -verifiziert ist, um durch den Hersteller vor dem Vertrieb Daten zu speichern. Bevor also Operationen ausgeführt werden können, wie zum Beispiel Speichern und Lesen aus dem Speicherteilsystem, müssen durch ein Verarbeitungssystem Speicherblöcke in dem Speichermedium getestet werden. Durch Testen des Speicherteilsystems in dem verwendeten Computersystem anstatt während der Herstellung der Vorrichtung können Zeit und Ressourcen bei einer Aufgabe eingespart werden, die ansonsten durch das verwendete Computersystem ausgeführt werden könnte.
  • In einigen Beispielen wird ein Speicherverarbeitungssystem, das sich in dem Speicherteilsystem befindet, zum Testen oder Verifizieren der Speicherblöcke in dem Speichermedium verwendet. Genauer gesagt, identifiziert das Speicherverarbeitungssystem, wann die Vorrichtung in einem Computersystem initiiert oder verwendet wird, und initiiert einen Testprozess des Speichermediums, wobei der Testprozess verifizieren kann, dass Sektoren zum Speichern von Daten verfügbar sind, sicherstellen kann, dass keine Abschnitte des Mediums beschädigt sind, oder im Übrigen sicherstellen kann, dass das Medium zum Speichern von Daten verfügbar ist. Während des Testens identifiziert das Speicherverarbeitungssystem iterativ Partitionsverfügbarkeitsereignisse und macht, auf der Basis der Ereignisse, einem Host-Verarbeitungssystem eine neue Partition verfügbar. Diese neuen Partitionen entsprechen logischen Blockadressen (LBAs) von Speicherblöcken, die den Testprozess vollendet haben und zum Speichern von Datenobjekten für das Host-Verarbeitungssystem verfügbar sind.
  • In mindestens einem Beispiel kann das Host-Verarbeitungssystem ein dezentrales Dateisystem (Distributed File System, DFS) verwalten, das eine beliebige Anzahl von Speicherteilsystemen und Speicherpartitionen enthalten kann. Dementsprechend können in dem Maße, wie Partitionen oder gruppierte LBAs im Verlauf des Testprozesses verfügbar werden, die Partitionen dem dezentralen Dateisystem, das über das Host-Verarbeitungssystem zugänglich ist, hinzugefügt werden.
  • Wir wenden uns 1 als einem Beispiel zu. 1 ist ein Blockschaubild, das ein Computersystem 100 zum Testen von Speichermedien im Moment der Verwendung veranschaulicht. Das Computersystem 100 enthält ein Speicherteilsystem 110 und ein Host-Verarbeitungssystem 130. Das Speicherteilsystem 110 enthält des Weiteren ein Speichermedium 101, ein Speicherverarbeitungssystem 120 und eine Speicherschnittstelle 115. Das Speicherverarbeitungssystem 120 ist kommunikativ mit dem Speichermedium 101 über den Kommunikationslink 140 gekoppelt und ist des Weiteren kommunikativ mit der Speicherschnittstelle 115 über den Kommunikationslink 141 gekoppelt. Das Host-Verarbeitungssystem 130 ist kommunikativ mit dem Speicherteilsystem 110 über die Speicherschnittstelle 115 und den Kommunikationslink 142 gekoppelt.
  • Während des Betriebes stellen Speicherteilsysteme, wie zum Beispiel das Speicherteilsystem 110, Speichermedien zum Speichern von Datenobjekten für das Host-Verarbeitungssystem 130 bereit. Diese Speichermedien können Festplattenlaufwerksmedien, Festkörperlaufwerksmedien oder sonstige ähnliche Arten von Medien enthalten, einschließlich Kombinationen und Weiterentwicklungen davon. Um dem Host-Verarbeitungssystem 130 das Speicherteilsystem 110 verfügbar zu machen, ist das Laufwerk kommunikativ mit dem Host-Verarbeitungssystem 130 gekoppelt und wird innerhalb des Computersystems 100 initiiert oder verwendet. Nach der Initiierung wird das Testen des Speichermediums 101 begonnen, um dem Host-Verarbeitungssystem 130 mehrere Speichermediumpartitionen 102104 bereitzustellen.
  • Genauer gesagt, ist das Speichermedium 101 in dem Speicherteilsystem 110 für das Speichern von Daten durch den Hersteller vor dem Vertrieb ungetestet oder unverifiziert. Dementsprechend müssen, wenn innerhalb des Computersystems 100 verwendet, Speicherblöcke innerhalb des Speichermediums 101 getestet werden, bevor sie dem Host-Verarbeitungssystem 130 verfügbar gemacht werden können. Dieses Testen kann das Bestimmen enthalten, ob das Speichermedium schadhafte Sektoren enthält, kann das Bestimmen enthalten, ob Daten an Adressen auf dem Medium geschrieben und von dort gelesen werden können, und kann weitere ähnliche Speichermediumtests enthalten. Sobald eine Anzahl von Blockadressen auf dem Medium getestet worden sind, kann eine Speichermediumpartition vorgesehen werden, die die getesteten Blockadressen umfasst, und kann dem Host-Verarbeitungssystem 130 zum Speichern von Datenobjekten bereitgestellt werden. Die Bestimmung, wann eine neue Partition vorzusehen ist, kann das Bestimmen enthalten, wann eine zuvor festgelegte Anzahl von Adressen getestet worden sind, kann das Bestimmen enthalten, dass eine vorgegebene Zeitdauer seit Testprozessbeginn verstrichen ist, kann das Identifizieren eines Befehls enthalten, eine neue Speichermediumpartition von dem Host-Verarbeitungssystem 130 bereitzustellen, oder irgend ein anderes ähnliches Partitionsverfügbarkeitsereignis.
  • Um die Funktionsweise des Speicherteilsystems 110 und des Speicherverarbeitungssystems 120 weiter zu erläutern, wird 2 bereitgestellt. 2 ist ein Flussdiagramm, das eine Operation 200 eines Speicherverarbeitungssystems zum Testen von Speichermedien veranschaulicht. Die Operation 200 enthält das Identifizieren einer Initiierung oder Verwendung des Speicherteilsystems 110 in dem Computersystem 100, wobei das Speicherteilsystem 110 ein Speichermedium enthält, das das Testen oder Verifizieren (201) und Initiieren eines Testprozesses des Speichermediums (202) erfordert. Dieses Testen kann das Bestimmen enthalten, ob das Speichermedium schadhafte Sektoren enthält, kann das Bestimmen enthalten, ob Daten an Blockadressen auf dem Medium geschrieben und von dort gelesen werden können, und kann weitere ähnliche Speichermediumtests enthalten. Wie in 1 beschrieben, können die Hersteller von Speicherteilsystemen Laufwerke mit unverifizierten Speichersektoren vertreiben, die die Ausführung eines Testprozesses an Orten in dem Speicherteilsystem verlangen, bevor das Speichermedium verfügbar werden kann. Dieser Testprozess kann sicherstellen, dass das Medium keine Fehler enthält, dass Daten an jedem der Speicherorte in dem Medium gespeichert werden können, oder kann eine Vielzahl verschiedener anderer Tests an jedem Ort in dem Medium vornehmen.
  • Um das getestete Speichermedium verfügbar zu machen, ist das Speicherverarbeitungssystem 120 dafür konfiguriert, während der Operation 200 ein Partitionsverfügbarkeitsereignis (203) zu identifizieren und in Reaktion darauf dem Host-Verarbeitungssystem 130 eine Partition des Speichermediums verfügbar zu machen, wobei die Partition Speicherorte umfasst, die mittels des Testprozesses (204) getestet wurden. Das Partitionsverfügbarkeitsereignis kann das Bestimmen enthalten, wann eine zuvor festgelegte Anzahl von Speicherblöcken getestet worden sind, kann das Bestimmen enthalten, dass eine vorgegebene Zeitdauer seit Testprozessbeginn verstrichen ist, kann das Identifizieren eines Befehls enthalten, um eine neue Speichermediumpartition von dem Host-Verarbeitungssystem 130 bereitzustellen, oder kann irgend ein anderes ähnliches Partitionsverfügbarkeitsereignis enthalten. Sobald eine Partition generiert und dem Host verfügbar gemacht wurde, setzt das Speicherverarbeitungssystem 120 den Testprozess an Speicherorten fort, die nicht in der generierten Partition (205) enthalten sind.
  • Wir kehren zu 1 zurück. Wenn beispielsweise das Speicherteilsystem 110 mit dem Host-Verarbeitungssystem 130 initiiert wird, so initiiert das Speicherverarbeitungssystem 120 einen Testprozess am Speichermedium 101. Sobald ein Partitionsereignis identifiziert wird, identifiziert das Speicherverarbeitungssystem 120 Speicherorte, an denen die Tests vollendet wurden, und stellt dem Host-Verarbeitungssystem 130 diese Orte als Speichermediumpartition 102 bereit. Des Weiteren setzt das Speicherverarbeitungssystem 120 das Testen der verbleibenden Blockadressen im Speichermedium 101 fort und erwartet anschließende Partitionsereignisse, um Speichermediumpartitionen 103104 zu generieren. Sobald alle verfügbaren Speichermedien getestet wurden, hält das Speicherverarbeitungssystem 120 den Testprozess an.
  • In einigen Beispielen kann mindestens ein Abschnitt des Speichermediums vor dem Vertrieb der Speicherteilsysteme getestet und bereitgestellt werden. Dieser bereitgestellte Abschnitt des Speichermediums kann dafür verwendet werden, das Speicherteilsystem im Moment der Verwendung mit dem Kost-Verarbeitungssystem zu initiieren, und kann des Weiteren den Testprozess an dem Speichermedium initiieren. In weiteren Fällen kann der bereitgestellte Abschnitt eine vorgetestete Partition enthalten, die dem Host-Verarbeitungssystem sofort verfügbar ist, während das übrige Speichermedium durch das Speicherverarbeitungssystem getestet wird.
  • Wir wenden uns 3 zu. 3 ist ein Flussdiagramm, das eine Partitionierung eines verwendeten Speichermediums zu verschiedenen Zeitinstanzen 300302 veranschaulicht. Wie bei Zeitinstanz 300 gezeigt, ist ☐ wenn das Speichermedium 310 in einem Computersystem verwendet und initiiert wird ☐ das Speicherteilsystem 310 ungetestet und enthält keinerlei Speichermediumpartitionen. Während eines Testprozesses, der durch ein Speicherverarbeitungssystem bereitgestellt wird, werden Speicherblöcke innerhalb des Mediums getestet und einem Host-Verarbeitungssystem zum Speichern verschiedener Datenobjekte verfügbar gemacht.
  • Während des Testprozesses können Partitionsverfügbarkeitsereignisse iterativ durch das Speicherverarbeitungssystem identifiziert werden, was Bedarf an einer neuen Speichermediumpartition anzeigt. Wie in Zeitinstanz 301 veranschaulicht, wird dem Host-Verarbeitungssystem die Speichermediumpartition 320 in Reaktion auf das Identifizieren eines Partitionsverfügbarkeitsereignisses verfügbar gemacht. Die Speichermediumpartition 320 enthält Blockadressen, die mittels des Testprozesses getestet und verifiziert wurden und bereit sind, verschiedene Datenobjekte zu schreiben und zu lesen. Obgleich eine erste Partition generiert wird, wird der Testprozess fortgesetzt, um Speicherorte innerhalb des Speichermediums 310 zu testen, bis das gesamte Speichermedium getestet wurde und alle validen Speicherblöcke bestimmt wurden.
  • Dementsprechend werden, wie bei Zeitinstanz 302 veranschaulicht, Speichermediumpartitionen 321322 innerhalb des Speichermediums 310 generiert. Diese Speichermediumpartitionen entstehen im Ergebnis anschließender Partitionsverfügbarkeitsereignisse und enthalten Speicherorte, die von den Orten der Speichermediumpartition 320 separat und eigenständig sind. Obgleich im vorliegenden Fall nicht veranschaulicht, kann das Speicherverarbeitungssystem in einigen Beispielen Speichermediumorte testen, bis alle Speicherorte verifiziert wurden. Nach der Verifizierung kann der Testprozess angehalten werden, und alle getesteten Speicherorte können dem Host-Verarbeitungssystem verfügbar gemacht werden.
  • Wir wenden uns nun 4 zu. 4 ist ein Blockschaubild, das eine Übersicht 400 des Bereitstellens neuer Speicherpartitionen für ein Host-Verarbeitungssystem veranschaulicht. Die Übersicht 400 enthält das Speicherteilsystem 410 und das Host-Verarbeitungssystem 450. Die Übersicht 400 ist ein Beispiel eines Prozesses, der in jedem bedienenden Computersystem, Desktop-Computersystem oder sonstigem Endcomputersystem ausgeführt werden kann. Das Speicherteilsystem 410 enthält des Weiteren das Speichermedium 420 und das Speicherverarbeitungssystem 440. Das Speicherverarbeitungssystem 440 kann jedes beliebige Verarbeitungssystem umfassen, das in der Lage ist, Speichermediumpartitionen zu testen und dem Host-Verarbeitungssystem 450 bereitzustellen.
  • Wie veranschaulicht, identifiziert das Speicherverarbeitungssystem 440 eine Initiierung des Speicherteilsystems 410 mit dem Host-Verarbeitungssystem 450. Diese Initiierung kann stattfinden, wenn das Speicherteilsystem 410 kommunikativ mit dem Host-Verarbeitungssystem 450 gekoppelt ist, wenn dem Speicherteilsystem 410 innerhalb des Computersystems mit dem Host-Verarbeitungssystem 450 Strom zugeführt wird, oder in jedem sonstigen Verwendungsfall in dem Computersystem. Bei Initiierung initiiert das Speicherverarbeitungssystem 440 ein Testen an den verschiedenen Speicherorten innerhalb des Speichermediums 420. Wie zuvor beschrieben, kann ein Hersteller es vorziehen, Speicherteilsysteme oder Laufwerke ohne Testen der Laufwerke vor dem Vertrieb zu vertreiben. Dies vermeidet überflüssige Arbeitsschritte durch den Hersteller, die anderenfalls beim Vertrieb und bei der Verwendung in einem Endcomputersystem vorgenommen werden könnten.
  • Da die Tests an dem Speichermedium 420 ausgeführt werden, kann das Speicherverarbeitungssystem 440 ein Partitionierungsereignis identifizieren, das eine neue Partition für das Host-Verarbeitungssystem 450 anfordert. Dieses Partitionierungsereignis kann stattfinden, wenn eine zuvor festgelegte Anzahl von Speicherorten zu Ende getestet wurden, kann bei Ablauf eines zuvor festgelegten Testzeitraums stattfinden, kann stattfinden, wenn das Host-Verarbeitungssystem 450 eine neue Partition anfordert, oder kann in sonstigen Fällen stattfinden. Beispielsweise kann das Speicherverarbeitungssystem 440 dafür konfiguriert sein, dem Host-Verarbeitungssystem 450 eine neue Partition für jedes Terabyte neuer Speicherorte bereitzustellen. Wenn also das Speicherverarbeitungssystem 440 identifiziert, dass ein neues Terabyte an Speicherorten getestet wurde, so kann das Speicherverarbeitungssystem 440 die neuen Orte dem Host-Verarbeitungssystem 450 als eine neue Partition bereitstellen.
  • Im vorliegenden Fall enthält das Speichermedium 420 bereits Partitionen 425426, jeweils mit den Blockadressen 430431. Jedoch kann der durch das Speicherverarbeitungssystem 440 ausgeführte Testprozess fortgesetzt werden, bis das gesamte Speichermedium 420 getestet wurde. Somit bestimmt das Speicherverarbeitungssystem 440 beim Identifizieren eines Partitionsereignisses, dass dritte Adressen 432 verfügbar sind, und generiert eine neue Partition 427, die dritte Adressen 432 enthält. Sobald die neue Partition 427 generiert ist, kann sie dem Host-Verarbeitungssystem 450 über das Speicherverarbeitungssystem 440 bereitgestellt werden, wodurch es dem Host-Verarbeitungssystem 450 möglich ist, mehrere Datenobjekte zu speichern und abzurufen.
  • In mindestens einem Fall kann das Host-Verarbeitungssystem 450 ein DFS verwalten, das mehrere Laufwerke, Partitionen und andere Computersysteme verwendet, um einem Endnutzer eine einzige Dateisystemansicht zu bieten. Dementsprechend braucht das Host-Verarbeitungssystem 450 möglicherweise keine einzelne Partition, sondern kann neue Partitionen zu dem Speicherstapel hinzufügen, der in dem Dateisystem verwendet wird. Mittels dieses Prozesses kann jede beliebige Anzahl von Laufwerken oder Speicherteilsystemen mittels der im vorliegenden Text beschriebenen Verfahren getestet und dem Host-Verarbeitungssystem 450 verfügbar gemacht werden.
  • Um die Verwendung mehrerer Speicherteilsysteme weiter zu veranschaulichen, wird 5 bereitgestellt. 5 ist ein Blockschaubild, das eine Übersicht 500 des Hinzufügens eines ungetesteten Speicherteilsystems zu einer Computerumgebung veranschaulicht. Die Übersicht 500 enthält Speicherteilsysteme 510511 und ein Host-Verarbeitungssystem 550. Die Speicherteilsysteme 510511 enthalten des Weiteren Speichermedien 520521 und Speicherverarbeitungssysteme 540541.
  • Wie im vorliegenden Beispiel veranschaulicht, ist das Speicherteilsystem 511 momentan dem Host-Verarbeitungssystem 550 verfügbar. Somit kann das Host-Verarbeitungssystem 550 verschiedene Datenobjekte von Partitionen 532533 innerhalb des Speichermediums 521 lesen, schreiben und löschen. Da jedoch weiterer Speicherplatz benötigt wird, kann das Speicherteilsystem 510 innerhalb des Computersystems initiiert werden, um dem Host-Verarbeitungssystem 550 zusätzliche Speichermedien bereitzustellen. Beim Initiieren oder Verwenden des Speicherteilsystems 510, was das kommunikative Koppeln und Stromversorgen des Speicherteilsystems 510 umfassen kann, initiiert das Speicherverarbeitungssystem 540 das Testen von Speicherblöcken in dem Speichermedium 520. Dieses Testen kann das Bestimmen enthalten, ob das Speichermedium schadhafte Sektoren enthält, kann das Bestimmen enthalten, ob Daten an Adressen auf dem Medium geschrieben und von dort gelesen werden können, oder kann sonstige Speichermediumtests enthalten.
  • Während des Testens des Speichermediums 520 identifiziert das Speicherverarbeitungssystem 540 ein Partitionierungsereignis, dass dafür verwendet wird, eine neue Partition innerhalb des Speichermediums 520 zu generieren. Dieses Partitionierungsereignis kann durch das Speicherverarbeitungssystem 540 generiert werden, oder kann durch das Host-Verarbeitungssystem 550 generiert werden. Zum Beispiel kann das Speicherverarbeitungssystem 540 eine zuvor festgelegte Speicherblockschwelle enthalten, die, wenn sie erreicht wird, das Generieren einer neuen Partition auslöst. Im Gegensatz dazu kann das Speicherverarbeitungssystem 540 das Host-Verarbeitungssystem 550 benachrichtigen, dass gerade Tests an dem Speichermedium 520 ausgeführt werden, um ein neues Speichermedium verfügbar zu machen. Auf der Basis dieser Benachrichtigung kann das Host-Verarbeitungssystem 550 das Speicherverarbeitungssystem 540 benachrichtigen, wenn eine neue Partition benötigt wird.
  • Beim Identifizieren eines ersten Partitionierungsereignisses kann das Speicherverarbeitungssystem 540 eine Speicherpartition 530 generieren und die neue Partition dem Host-Verarbeitungssystem 550 bereitstellen, während der Testprozess an weiteren Speicherorten fortgesetzt wird. In Reaktion auf das Identifizieren eines zweiten Partitionierungsereignisses kann das Speicherverarbeitungssystem 540 eine zweite Speicherpartition 531 generieren und die Partition dem Host-Verarbeitungssystem 550 bereitstellen. Dieser Prozess des Testens und Identifizierens der Partitionierungsereignisse kann so oft wiederholt werden wie nötig, bis das gesamte Speichermedium 520 getestet wurde. In einigen Beispielen kann das letzte Partitionierungsereignis stattfinden, wenn das gesamte Speichermedium getestet wurde und bereit ist, dem Host-Verarbeitungssystem bereitgestellt zu werden.
  • Wie im vorliegenden Text beschrieben, kann in einigen Beispielen das Host-Verarbeitungssystem 550 dafür verwendet werden, ein DFS zu verwalten, das es erlaubt, Datenobjekte mittels mehrerer Speicherteilsysteme und Partitionen zu speichern. Wenn also das Host-Verarbeitungssystem 550 zusätzlichen Speicher verlangt, so kann ein Administrator neue ungetestete Speichermedien in Form des Speicherteilsystems 510 kommunikativ koppeln. Diese ungetesteten Speichermedien können Festkörper-Speichermedien, Festplatten-Speichermedien oder sonstige ähnliche Speichermedien, einschließlich Weiterentwicklungen davon, enthalten. Nach dem Koppeln und Initiieren innerhalb des Computersystems kann das Speicherverarbeitungssystem 540 einen Testprozess initiieren, der zum Testen und Verifizieren der mehreren Speicherorte innerhalb des Speichermediums 520 verwendet wird, und die getesteten Abschnitte des Speichermediums 520 als Partitionen 530531 dem Host-Verarbeitungssystem 550 bereitstellen.
  • Obgleich im vorangegangenen Beispiel als das Übermitteln von Partitionen an ein DFS veranschaulicht, versteht es sich, dass die Partitionen auch an ein Computersystem übermittelt werden können, um jede beliebige Art von Speichersystem bereitzustellen. Zum Beispiel könnte das Host-Verarbeitungssystem 550 einfach neue Speicherpartitionen zum Speichern zusätzlicher Daten für Prozesse, die auf dem Host-Verarbeitungssystem 550 ausgeführt werden, anfordern. Des Weiteren sind im vorliegenden Beispiel zwar zwei Speicherteilsysteme veranschaulicht, doch es versteht sich, dass jede beliebige Anzahl von Speicherteilsystemen oder Vorrichtungen in dem Computersystem enthalten sein könnten, um adäquate Speichermedien bereitzustellen.
  • In einigen Beispielen können die vom Hersteller vertriebenen Speicherteilsysteme verschiedene Mengen an verfügbarem Speicher enthalten. Zum Beispiel kann das Speicherteilsystem 510 2,2 Terabyte verfügbaren Speicher enthalten, während das Speicherteilsystem 511 1,9 Terabyte verfügbaren Speicher enthalten kann. Obgleich jedes Teilsystem oder Laufwerk voneinander verschiedene Mengen an Speicher enthalten kann, kann der Hersteller die Laufwerke auf der Basis der durchschnittlichen Produktionsausbeute eines jeden der Laufwerke verkaufen. Unter Verwendung des vorausgegangenen Beispiels kann der Hersteller die Laufwerke mit der Aussage verkaufen, dass jedes durchschnittlich mindestens 2 Terabyte Speicherkapazität bietet. Dementsprechend können zwar einige Laufwerke keine 2 Terabyte Speicherplatz enthalten, doch je mehr Laufwerke verwendet werden, desto wahrscheinlicher wird es, dass der Nutzer im Durchschnitt den erforderlichen Speicher je Laufwerk erhält.
  • 6 ist ein Blockschaubild, das ein Computersystem 600 zum Testen neuer Speicherteilsysteme und für deren Verfügbarmachung zum Speichern von Datenobjekten veranschaulicht. Das Computersystem 600 ist für ein Computersystem repräsentativ, das in einer beliebigen Computervorrichtung, einem beliebigen Computersystem oder -gerät oder Zusammenstellungen davon genutzt werden kann, um die in den 15 des vorliegenden Textes beschriebenen Speicherverarbeitungssysteme zweckmäßig zu implementieren. Das Computersystem 600 umfasst eine Kommunikationsschnittstelle 601, eine Benutzerschnittstelle 602 und ein Verarbeitungssystem 603. Das Verarbeitungssystem 603 ist kommunikativ mit der Kommunikationsschnittstelle 601 und der Benutzerschnittstelle 602 verlinkt. Das Verarbeitungssystem 603 enthält Verarbeitungsschaltungen 605 und eine Speichervorrichtung 606, die eine Betriebssoftware 607 speichert.
  • Die Kommunikationsschnittstelle 601 umfasst Komponenten, die über Kommunikationslinks kommunizieren, wie zum Beispiel Netzwerkkarten, Ports, HF-Transceiver, Verarbeitungsschaltungen und -software oder sonstige Kommunikationsgeräte. Die Kommunikationsschnittstelle 601 kann dafür konfiguriert sein, über metallische, drahtlose oder optische Links zu kommunizieren. Die Kommunikationsschnittstelle 601 kann dafür konfiguriert sein, Zeitmultiplexierung (TDM), Internet Protocol (IP), Ethernet, optische Vernetzung, Drahtlosprotokolle, Kommunikationszeichengabe, SAS, SATA, Fiber Channel oder ein sonstiges Kommunikationsformat, einschließlich Kombinationen davon, zu verwenden. Insbesondere kann die Kommunikationsschnittstelle 601 kommunikativ mit Speichermedien gekoppelt sein, wie zum Beispiel Festplattenmedien und Festkörpermedien. Des Weiteren kann die Kommunikationsschnittstelle 601 in einigen Fällen dafür konfiguriert sein, mit einem Hauptverarbeitungssystem einer Computervorrichtung zu kommunizieren. Dieses Hauptverarbeitungssystem kann verschiedene Anwendungen, Betriebssysteme und Prozesse für einen Endnutzer ausführen, aber mindestens einen Teil der Speicherprozesse an das Computersystem 600 auslagern.
  • Die Benutzerschnittstelle 602 umfasst Komponenten, die mit einem Nutzer interagieren. Die Benutzerschnittstelle 602 kann eine Tastatur, einen Anzeigeschirm, eine Maus, ein Touchpad oder sonstige Nutzereingabe-/-ausgabegeräte enthalten. Die Benutzerschnittstelle 602 kann in einigen Beispielen weggelassen werden.
  • Die Verarbeitungsschaltungen 605 umfassen einen Mikroprozessor und andere Schaltungen, die eine Betriebssoftware 607 aus der Speichervorrichtung 606 abrufen und ausführen. Die Speichervorrichtung 606 umfasst ein nicht-transitorisches Speichermedium, wie zum Beispiel ein Disk-Laufwerk, ein Flash-Laufwerk, Datenspeicherschaltungen oder eine andere Speichervorrichtung. Die Betriebssoftware 607 umfasst Computer-Programme, Firmware oder irgendeine andere Form von maschinenlesbaren Verarbeitungsinstruktionen. Die Betriebssoftware 607 enthält ein Identifizierungsmodul 608, ein Testmodul 609 und ein Verfügbarkeitsmodul 610, obgleich jede beliebige Anzahl von Softwaremodulen die gleiche Operation bereitstellen kann. Die Betriebssoftware 607 kann des Weiteren ein Betriebssystem, Dienstprogramme, Treiber, Netzwerkschnittstellen, Anwendungen oder irgendeine andere Art von Software enthalten. Wenn die Betriebssoftware 607 durch die Schaltungen 605 ausgeführt wird, so weist sie das Verarbeitungssystem 603 an, das Computersystem 600 in der im vorliegenden Text beschriebenen Weise zu betreiben.
  • Insbesondere ist das Identifizierungsmodul 608 dafür konfiguriert, wenn es durch das Computersystem 600 und das Verarbeitungssystem 603 ausgeführt wird, zu identifizieren, wann ein Speicherteilsystem innerhalb eines Computersystems oder einer Computerumgebung initiiert oder verwendet wird. In einigen Beispielen kann sich das Computersystem 600 in dem Speicherteilsystem befinden, obgleich es sich versteht, dass es sich ebenso als ein Verarbeitungssystem außerhalb des Speicherteilsystems befinden könnte. Sobald das Speicherteilsystem verwendet wird, initiiert das Testmodul 609 einen Testprozess an ungetesteten Abschnitten des Speichermediums in dem Speicherteilsystem. In einigen Beispielen kann ein Hersteller Speicherteilsysteme oder Laufwerke für Endgeräte ohne Testen der darin enthaltenen Speichermedien vertreiben.
  • Bevor also das Laufwerk zum Speichern verschiedener Datenobjekte verwendet werden kann, müssen Speicherblöcke innerhalb des Speichermediums getestet und verifiziert werden, bevor sie verfügbar werden können.
  • Während des Testens der Speicherorte ist das Verfügbarkeitsmodul 610 dafür konfiguriert, ein Partitionsverfügbarkeitsereignis zu identifizieren und in Reaktion auf das Ereignis eine Partition für ein Host-Verarbeitungssystem zu generieren, das Speicherorte in dem Speichermedium enthält, die mittels des Testprozesses getestet wurden. Dieses Partitionsverfügbarkeitsereignis kann umfassen: eine zuvor festgelegte Anzahl von Speicherorten, die mittels des Testprozesses getestet oder verifiziert wurden, eine zuvor festgelegte Zeitdauer zum Ausführen des Testprozesses, eine externe Anfrage nach einer Partition, die einem Host verfügbar gemacht werden soll, oder ein sonstiges Partitionsverfügbarkeitsereignis. Sobald die Partition mittels des Verfügbarkeitsmoduls 610 generiert wurde, wird die Partition dann dem Host-Verarbeitungssystem zur Verfügung gestellt, was es dem Host-Verarbeitungssystem ermöglicht, Daten in der bzw. von der Partition zu speichern, zu lesen und zu löschen. Derweil setzt das Testmodul 609 das Testen der ungetesteten Speicherblöcke der Speichermedien fort, um neue Speicherorte für zusätzliche Speicherpartitionen zu verifizieren. Wenn also ein zweites Verfügbarkeitsereignis eintritt, so kann dem Host-Verarbeitungssystem eine neue Partition verfügbar gemacht werden, die die neu getesteten Speicherblöcke enthält.
  • In mindestens einem Beispiel können die Speicherteilsysteme innerhalb einer DFS-Computerumgebung oder eines DFS-Systems verwendet werden. Somit können zwar Partitionen mittels des Speicherverarbeitungssystems generiert werden, doch das Host-Verarbeitungssystem kann, mittels Software, eine vereinheitlichte Dateisystemansicht präsentieren, die mehrere Speicherteilsysteme und Partitionen enthält. Weil ein DFS in der Lage ist, mehrere Speichergeräte und Partitionen zu verwalten, können des Weiteren Partitionen zu dem Dateisystem hinzugefügt werden, weil sie im Moment ihrer Verwendung getestet und verifiziert wurden.
  • Wir kehren zu den Elementen von 1 zurück. Das Speicherteilsystem 110 kann ein Festplattenlaufwerk, ein Festkörperlaufwerk oder eine sonstige ähnliche Speichervorrichtung umfassen. Das Speicherverarbeitungssystem 120 kann verschiedene Verarbeitungselemente, Speicherelemente und Schnittstellenelemente umfassen, die in der Lage sind, Speichermedien zu testen und die getesteten Speichermedien als Partitionen dem Host-Verarbeitungssystem 130 bereitzustellen. Die Speicherschnittstelle 115 kann jede beliebige Schnittstelle umfassen, die in der Lage ist, sich mit dem Host-Verarbeitungssystem 130 zu verbinden, und kann ein oder mehrere integrierte Schaltkreise und Verarbeitungselemente umfassen. Das Host-Verarbeitungssystem 130 kann ein oder mehrere Verarbeitungselemente, Speichergeräte, Schnittstellen und andere Computerelemente umfassen, die in der Lage sind, Prozesse auszuführen, die eine Datenspeicherung mittels des Speicherteilsystems 110 erfordern.
  • Die Kommunikationslinks 140142 nutzen jeweils ein metallisches, ein gläsernes oder ein optisches Material, die Luft, den Raum oder irgendein sonstiges Material als das Transportmedium. Die Kommunikationslinks 140141 können jeweils Zeitmultiplexierung (TDM), einen asynchronen Übertragungsmodus (ATM), Kommunikationszeichengabe oder eine sonstige Form der Kommunikation nutzen, die innerhalb eines Speicherteilsystems verfügbar ist. Der Kommunikationslink 142 kann Small Computer System Interface (SCSI), Serial Attached SCSI (SAS), Serial ATA (SATA), Peripheral Component Interconnect Express (PCIe), Fibre Channel oder eine andere ähnliche Schnittstelle oder einen anderen ähnlichen Bus verwenden.
  • Die obige Beschreibung und die zugehörigen Figuren lehren den besten Modus der Erfindung. Die folgenden Ansprüche spezifizieren den Schutzumfang der Erfindung. Es ist zu beachten, dass einige Aspekte des besten Modus möglicherweise nicht in den durch die Ansprüche spezifizierten Schutzumfang der Erfindung fallen. Dem Fachmann leuchtet ein, dass die oben beschriebenen Merkmale auf verschiedene Weise kombiniert werden können, um mehrere Variationen der Erfindung zu bilden. Infolgedessen ist die Erfindung nicht auf die oben beschriebenen konkreten Ausführungsformen beschränkt, sondern wird nur durch die folgenden Ansprüche und ihre Äquivalente begrenzt.

Claims (20)

  1. Computervorrichtung zum Testen eines Speicherteilsystems für ein Host-Verarbeitungssystem, wobei die Computervorrichtung Folgendes umfasst: ein oder mehrere nicht-transitorische computerlesbare Medien; Verarbeitungsinstruktionen, die auf dem einen oder den mehreren nicht-transitorischen computerlesbaren Medien gespeichert sind, die, wenn sie durch ein Verarbeitungssystem ausgeführt werden, das Verarbeitungssystem anweisen, Folgendes zu tun: wenn das Speicherteilsystem, das Speichermedien umfasst, verwendet wird, einen Testprozess zu initiieren, um in dem Speichermedium Speicherblöcke zu identifizieren, die zum Speichern von Daten für das Host-Verarbeitungssystem geeignet sind; nach dem Initiieren des Testprozesses iterativ Partitionsverfügbarkeitsereignisse zu identifizieren; in Reaktion auf jedes Partitionsverfügbarkeitsereignis in den Partitionsverfügbarkeitsereignissen dem Host-Verarbeitungssystem eine Partition des Speichermediums verfügbar zu machen, wobei die Partition eine Zusammenstellung von Speicherblöcken umfasst, die mittels des Testprozesses identifiziert wurden und die von anderen Speicherblöcken in Partitionen verschieden sind, die dem Host-Verarbeitungssystem zuvor verfügbar gemacht wurden.
  2. Computervorrichtung nach Anspruch 1, wobei das Speicherteilsystem ein Festkörperlaufwerk umfasst.
  3. Computervorrichtung nach Anspruch 1, wobei das Speicherteilsystem ein Festplattenlaufwerk umfasst.
  4. Computervorrichtung nach Anspruch 1, wobei die Verarbeitungsinstruktionen zum iterativen Identifizieren von Partitionsverfügbarkeitsereignissen das Verarbeitungssystem anweisen, iterativ zu identifizieren, wann das Host-Verarbeitungssystem eine neue Partition anfordert.
  5. Computervorrichtung nach Anspruch 1, wobei die Verarbeitungsinstruktionen zum iterativen Identifizieren von Partitionsverfügbarkeitsereignissen das Verarbeitungssystem anweisen, iterativ zu identifizieren, wann eine vorgegebene Anzahl der Speicherblöcke mittels des Testprozesses getestet wurden.
  6. Computervorrichtung nach Anspruch 1, wobei die Verarbeitungsinstruktionen zum iterativen Identifizieren von Partitionsverfügbarkeitsereignissen das Verarbeitungssystem anweisen, iterativ zu identifizieren, wann der Testprozess einen zuvor festgelegten Zeitraum lang ausführt.
  7. Computervorrichtung nach Anspruch 1, wobei die Verarbeitungsinstruktionen zum iterativen Identifizieren von Partitionsverfügbarkeitsereignissen das Verarbeitungssystem anweisen, mindestens ein letztes Partitionsverfügbarkeitsereignis zu identifizieren, das dem Testprozess entspricht, der das Testen des Speichermediums vollendet.
  8. Computervorrichtung nach Anspruch 1, wobei das Speicherteilsystem mindestens eine getestete Partition des Speichermediums enthält, und wobei die Verarbeitungsinstruktionen das Verarbeitungssystem außerdem anweisen, wenn das Speicherteilsystem verwendet wird, die mindestens eine getestete Partition des Speichermediums dem Host-Verarbeitungssystem verfügbar zu machen.
  9. Speicherteilsystem zum Testen von Speichermedien im Moment der Verwendung, wobei das Speicherteilsystem Folgendes umfasst: ein Speichermedium; ein Speicherverarbeitungssystem, das dafür konfiguriert ist: wenn das Speicherteilsystem in einem Computersystem mit einem Host-Verarbeitungssystem verwendet wird, einen Testprozess zu initiieren, um in dem Speichermedium Speicherblöcke zu identifizieren, die zum Speichern von Daten für das Host-Verarbeitungssystem geeignet sind; nach dem Initiieren des Testprozesses iterativ Partitionsverfügbarkeitsereignisse zu identifizieren; in Reaktion auf jedes Partitionsverfügbarkeitsereignis in den Partitionsverfügbarkeitsereignissen dem Host-Verarbeitungssystem eine Partition des Speichermediums verfügbar zu machen, wobei die Partition eine Zusammenstellung von Speicherblöcken umfasst, die mittels des Testprozesses identifiziert wurden und die von anderen Speicherblöcken in Partitionen verschieden sind, die dem Host-Verarbeitungssystem zuvor verfügbar gemacht wurden.
  10. Speicherteilsystem nach Anspruch 9, wobei das Speichermedium Festkörper-Speichermedien umfasst.
  11. Speicherteilsystem nach Anspruch 9, wobei das Speichermedium Festplatten-Speichermedien umfasst.
  12. Speicherteilsystem nach Anspruch 9, wobei das Speicherverarbeitungssystem, das zum iterativen Identifizieren von Partitionsverfügbarkeitsereignissen konfiguriert ist, dafür konfiguriert ist, iterativ zu identifizieren, wann eine vorgegebene Anzahl der Speicherblöcke mittels des Testprozesses getestet werden.
  13. Speicherteilsystem nach Anspruch 9, wobei das Speicherverarbeitungssystem, das zum iterativen Identifizieren von Partitionsverfügbarkeitsereignissen konfiguriert ist, dafür konfiguriert ist, iterativ zu identifizieren, wann der Testprozess einen zuvor festgelegten Zeitraum lang ausführt.
  14. Speicherteilsystem nach Anspruch 9, wobei das Speicherverarbeitungssystem, das zum iterativen Identifizieren von Partitionsverfügbarkeitsereignissen konfiguriert ist, dafür konfiguriert ist zu identifizieren, wann das Host-Verarbeitungssystem eine neue Partition anfordert.
  15. Speicherteilsystem nach Anspruch 9, wobei das Speicherverarbeitungssystem, das zum iterativen Identifizieren von Partitionsverfügbarkeitsereignissen konfiguriert ist, dafür konfiguriert ist, mindestens ein letztes Partitionsverfügbarkeitsereignis zu identifizieren, das dem Festprozess entspricht, der das Testen des Speichermediums vollendet.
  16. Speicherteilsystem nach Anspruch 9, wobei das Speicherteilsystem mindestens eine getestete Partition des Speichermediums enthält, und wobei das Speicherverarbeitungssystem des Weiteren dafür konfiguriert ist, wenn das Speicherteilsystem verwendet wird, die mindestens eine getestete Partition des Speichermediums dem Host-Verarbeitungssystem verfügbar zu machen.
  17. Computersystem, das Folgendes umfasst: ein Host-Verarbeitungssystem; und ein Speicherteilsystem, das Speichermedien sowie ein Speicherverarbeitungssystem umfasst, wobei das Speicherverarbeitungssystem dafür konfiguriert ist: wenn das Speicherteilsystem in dem Computersystem verwendet wird, einen Testprozess zu initiieren, um in dem Speichermedium Speicherblöcke zu identifizieren, die zum Speichern von Daten für das Host-Verarbeitungssystem geeignet sind; nach dem Initiieren des Testprozesses iterativ Partitionsverfügbarkeitsereignisse zu identifizieren; in Reaktion auf jedes Partitionsverfügbarkeitsereignis in den Partitionsverfügbarkeitsereignissen dem Host-Verarbeitungssystem eine Partition des Speichermediums verfügbar zu machen, wobei die Partition eine Zusammenstellung von Speicherblöcken umfasst, die mittels des Testprozesses identifiziert wurden und die von anderen Speicherblöcken in Partitionen verschieden sind, die dem Host-Verarbeitungssystem zuvor verfügbar gemacht wurden.
  18. Computersystem nach Anspruch 17, wobei das Speicherverarbeitungssystem, das zum iterativen Identifizieren von Partitionsverfügbarkeitsereignissen konfiguriert ist, dafür konfiguriert ist, iterativ zu identifizieren, wann eine vorgegebene Anzahl der Speicherblöcke mittels des Testprozesses getestet werden.
  19. Computersystem nach Anspruch 17, wobei das Host-Verarbeitungssystem dafür konfiguriert ist, in Reaktion auf das Verfügbarmachen jeder Partition des Speichermediums die Partition zu einem dezentralen Dateisystem hinzuzufügen.
  20. Computersystem nach Anspruch 19, wobei das Host-Verarbeitungssystem des Weiteren dafür konfiguriert ist, das Speichern mindestens eines Datenobjekts in jede Partition zu initiieren, die dem Speicherteilsystem verfügbar gemacht wurde.
DE102016004567.1A 2015-04-17 2016-04-15 Verifizierung von speichermedien im moment der verwendung Pending DE102016004567A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/689,770 US9934871B2 (en) 2015-04-17 2015-04-17 Verification of storage media upon deployment
US14/689,770 2015-04-17

Publications (1)

Publication Number Publication Date
DE102016004567A1 true DE102016004567A1 (de) 2016-10-20

Family

ID=57043497

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016004567.1A Pending DE102016004567A1 (de) 2015-04-17 2016-04-15 Verifizierung von speichermedien im moment der verwendung

Country Status (5)

Country Link
US (2) US9934871B2 (de)
CN (1) CN106055435B (de)
DE (1) DE102016004567A1 (de)
GB (1) GB2538621A (de)
IE (1) IE20160101A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2014410705B2 (en) * 2014-11-05 2017-05-11 Xfusion Digital Technologies Co., Ltd. Data processing method and apparatus
US10732869B2 (en) 2018-09-20 2020-08-04 Western Digital Technologies, Inc. Customizing configuration of storage device(s) for operational environment
US10699745B1 (en) 2019-06-28 2020-06-30 Western Digital Technologies, Inc. Data storage device defining track trajectory to reduce AC track squeeze
US10607645B1 (en) 2019-06-28 2020-03-31 Western Digital Technologies, Inc. Data storage device generating PES RRO and data sector squeeze RRO for a plurality of zones
US10748568B1 (en) 2019-08-06 2020-08-18 Western Digital Technologies, Inc. Data storage device employing dynamic track trajectories
US12009660B1 (en) 2023-07-11 2024-06-11 T-Mobile Usa, Inc. Predicting space, power, and cooling capacity of a facility to optimize energy usage

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828583A (en) 1992-08-21 1998-10-27 Compaq Computer Corporation Drive failure prediction techniques for disk drives
US6247126B1 (en) * 1999-01-25 2001-06-12 Dell Usa, L.P. Recoverable software installation process and apparatus for a computer system
US6289484B1 (en) 1999-05-19 2001-09-11 Western Digital Technologies, Inc. Disk drive employing off-line scan to collect selection-control data for subsequently deciding whether to verify after write
JP2002205804A (ja) * 2001-01-09 2002-07-23 Mineya Mori 生物科学用試験材料、培養物、遺伝子などの温度、湿度制御装置を取り付けた自動保管設備
US6950967B1 (en) 2001-09-26 2005-09-27 Maxtor Corporation Method and apparatus for manufacture test processing a disk drive installed in a computer system
US7406522B2 (en) * 2001-09-26 2008-07-29 Packeteer, Inc. Dynamic partitioning of network resources
CN1269037C (zh) * 2002-10-31 2006-08-09 英业达股份有限公司 利用单一存储器进行测试的系统及方法
CN1525329A (zh) * 2003-02-25 2004-09-01 太和科技股份有限公司 一种在快闪存储器储存装置中可自动建立档案系统的方法
US7676551B1 (en) * 2003-06-25 2010-03-09 Microsoft Corporation Lookup partitioning storage system and method
US7139145B1 (en) 2004-09-23 2006-11-21 Western Digital Technologies, Inc. Cluster-based defect detection testing for disk drives
US7620772B1 (en) 2005-05-05 2009-11-17 Seagate Technology, Llc Methods and structure for dynamic data density in a dynamically mapped mass storage device
US7761867B2 (en) * 2005-07-29 2010-07-20 International Business Machines Corporation Method and system for creation of operating system partition table
US8464069B2 (en) * 2007-02-05 2013-06-11 Freescale Semiconductors, Inc. Secure data access methods and apparatus
US20090083580A1 (en) * 2007-09-20 2009-03-26 Postage Robert B Techniques for Background Testing a Hard Disk Drive
US8004785B1 (en) 2008-05-09 2011-08-23 Western Digital Technologies, Inc. Disk drive write verifying unformatted data sectors
US8086900B2 (en) * 2008-12-22 2011-12-27 International Business Machines Corporation System, method and computer program product for testing a boot image
US7929234B1 (en) 2009-03-27 2011-04-19 Western Digital Technologies, Inc. Disk drive prioritizing in-the-field defect scanning based on number of write operations in each of a plurality of defect zones
US8874981B2 (en) * 2010-05-12 2014-10-28 Mediatek Inc. Method of creating target storage layout table referenced for partitioning storage space of storage device and related electronic device and machine-readable medium
TWI496161B (zh) * 2010-08-06 2015-08-11 Phison Electronics Corp 記憶體識別碼產生方法、管理方法、控制器與儲存系統
US8599507B2 (en) 2011-12-06 2013-12-03 HGST Netherlands B.V. Distributed field self-test for shingled magnetic recording drives
US9027020B2 (en) * 2012-01-06 2015-05-05 Avaya Inc. Data and state threading for virtualized partition management
US9936020B2 (en) * 2012-10-30 2018-04-03 International Business Machines Corporation Access control of data in a dispersed storage network
US20140181455A1 (en) * 2012-12-20 2014-06-26 Apple Inc. Category based space allocation for multiple storage devices
CN103235756B (zh) * 2013-04-22 2015-11-04 北京航空航天大学 一种面向嵌入式系统分区应用程序软件的仿真测试方法
US9798620B2 (en) * 2014-02-06 2017-10-24 Sandisk Technologies Llc Systems and methods for non-blocking solid-state memory
US9262276B2 (en) * 2014-02-10 2016-02-16 Qognify Ltd. Storage device as buffer for unreliable storage
US10754587B2 (en) * 2015-03-20 2020-08-25 Burlywood, Inc. Memory partitioning storage controller

Also Published As

Publication number Publication date
US20180226137A1 (en) 2018-08-09
US10607714B2 (en) 2020-03-31
CN106055435A (zh) 2016-10-26
US20160307646A1 (en) 2016-10-20
US9934871B2 (en) 2018-04-03
IE20160101A1 (en) 2016-12-14
GB2538621A (en) 2016-11-23
CN106055435B (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
DE102016004567A1 (de) Verifizierung von speichermedien im moment der verwendung
DE102018105943A1 (de) Kontextbewusste dynamische Befehlsplanung für ein Datenspeichersystem
DE112014005266B4 (de) Verfahren und System zur Vorwärtsreferenz-Protokollierung in einem peristenten Datenspeicher
DE112019000215T5 (de) Wiederherstellungshilfe mit ausgefallener Speichervorrichtung
DE112012001611T5 (de) Optimierung der Leistung von Speicheradaptern
DE112018005121T5 (de) Speichersystem unter verwendung von cloud-speicher als eine speicherbank
DE112011104419T5 (de) Bereichsmigration für gepaarte Speicherung
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE112018005135T5 (de) Thin provisioning unter verwendung von speicherbänken auf cloud-grundlage
DE102017120787A1 (de) Verfahren und Vorrichtung zum Entladen von Datenverarbeitung in Hybrid-Speichervorrichtungen
DE112012002796T5 (de) Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien
DE112012000282T5 (de) Anwendungswiederherstellung in einem Dateisystem
DE102008046577A1 (de) Anschlussvorrichtung zum Anschluss einer Mehrzahl von Peripheriegeräten und Betriebsverfahren
DE112018000227B4 (de) Verfahren zum teilweisen Aktualisieren von Dateninhalten in einem verteilten Speichernetzwerk
DE102013202627B4 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Verwalten einer Speichereinheit unter Verwendung einer hybriden Steuereinheit
DE102020211544A1 (de) Steuerung, betriebsverfahren der steuerung und speichergerät mit derselben
DE102018110704A1 (de) Speicherungsvorrichtung für ein vorausgehendes Verwalten einer Schreibdaten zuzuweisenden physischen Adresse
DE69021192T2 (de) Peripheres Massenspeichersubsystem.
DE112020000124T5 (de) Ausführung von open-channel-vektorbefehlen
DE112013005768T5 (de) Wiederherstellen einer vorhergehenden Version eines Virtual-Machine-Images
DE102017126911A1 (de) Verknüpfter Speichersystem- und Hostsystem-Fehlerkorrekturcode
DE102015105414B4 (de) Bearbeiten eines Zielspeichers
DE102021130630A1 (de) Testen von software-anwendungskomponenten
DE112018005620T5 (de) Auftragsverwaltung in einem datenverarbeitungssystem
DE102020121109A1 (de) Speicher-controller, speichervorrichtungen und betriebsverfahren der speichervorrichtungen

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MEWBURN ELLIS LLP, DE

R081 Change of applicant/patentee

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

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

R082 Change of representative

Representative=s name: MEWBURN ELLIS LLP, DE

R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE