DE102016011401A1 - Erweiterter Datenschutz mit niedrigem Mehraufwand in Datenspeichereinrichtungen - Google Patents

Erweiterter Datenschutz mit niedrigem Mehraufwand in Datenspeichereinrichtungen Download PDF

Info

Publication number
DE102016011401A1
DE102016011401A1 DE102016011401.0A DE102016011401A DE102016011401A1 DE 102016011401 A1 DE102016011401 A1 DE 102016011401A1 DE 102016011401 A DE102016011401 A DE 102016011401A DE 102016011401 A1 DE102016011401 A1 DE 102016011401A1
Authority
DE
Germany
Prior art keywords
data
quality
write
storage device
data storage
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
DE102016011401.0A
Other languages
English (en)
Inventor
Martin Hassner
Satoshi Yamamoto
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 DE102016011401A1 publication Critical patent/DE102016011401A1/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1238Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc track, i.e. the entire a spirally or concentrically arranged path on which the recording marks are located
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1291Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
    • G11B2020/1292Enhancement of the total storage capacity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/58Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
    • G11B5/596Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following for track following on disks
    • G11B5/59627Aligning for runout, eccentricity or offset compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Um verbesserten Betrieb von Datenspeichereinrichtungen und -systemen bereitzustellen, werden hierin verschiedene Systeme, Vorrichtungen, Verfahren und Software bereitgestellt. In einem ersten Beispiel wird eine Datenspeichereinrichtung präsentiert, die einen Schreibprozess durchführt, um Daten auf einem Speichermedium der Datenspeichereinrichtung als Reaktion auf eine oder mehrere Schreiboperationen zu speichern, die über eine Hostschnittstelle empfangen wurden. Die Datenspeichereinrichtung überwacht eine Qualität des Schreibprozesses und bestimmt, wann die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt. Als Reaktion darauf, dass die Qualität des Schreibprozesses unter den Grenzqualitätswert fällt, zeigt die Datenspeichereinrichtung die Qualität des Schreibprozesses an einen Datenschutzknoten an, der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren. Die Datenspeichereinrichtung empfängt die Datenparitätsinformationen und speichert die Datenparitätsinformationen.

Description

  • TECHNISCHES GEBIET
  • Aspekte der Offenbarung betreffen das Gebiet der Datenspeicherung und Arrays von Datenspeicherlaufwerken in Datenspeichersystemen.
  • STAND DER TECHNIK
  • Computer und Netzwerksysteme wie Personalcomputer, Arbeitsstationen, Serversysteme und Cloudspeichersysteme enthalten üblicherweise Datenspeichereinrichtungen zum Speichern und Abrufen von Daten. Diese Datenspeichereinrichtungen können Festplattenlaufwerke (HDDs), Solid-State-Speicherlaufwerke (SSDs), Bandspeichereinrichtungen, optische Speicherlaufwerke, Hybridspeichereinrichtungen, die sowohl rotierende als auch Festkörper-Datenspeicherelemente enthalten, und andere Massenspeichereinrichtungen enthalten.
  • Da Computersysteme und Netzwerke in der Anzahl und in den Fähigkeiten wachsen, gibt es einen Bedarf mehr und mehr Speicherkapazität. Cloudrechensysteme und große Datenverarbeitungssysteme haben den Bedarf an digitalen Datenspeichersystemen weiter erhöht, die fähig sind, gewaltige Datenmengen zu übertragen und zu halten. Rechenzentren können eine große Menge an Datenspeichereinrichtungen in verschiedenen gestellmontierten und hochdichten Speicherkonfigurationen enthalten.
  • Magnetische Speicherlaufwerke wie Festplattenlaufwerke können verschiedene magnetische Speichertechnologien mit hoher Dichte einsetzen. Eine solche Speichertechnologie enthält Datenspeicherlaufwerke mit SMR-Technologie (Shingled Magnetic Recording, geschuppte Magnetaufzeichnung), um Speicherdichten auf assoziierten Speichermedien zu erhöhen. Die SMR-Technologie überlappt benachbarte Datenspuren auf einem magnetischen Speichermedium physisch, um einen Speicher mit hoher Dichte auf den Speichermedien herzustellen, im Gegensatz zu einer nicht überlappenden Aufzeichnungstechnologie wie Senkrechtaufzeichnung (PMR) oder anderen nicht überlappenden Aufzeichnungstechniken.
  • Datenspeichereinrichtungen, die Aufzeichnungstechniken mit hoher Dichte einsetzen, können jedoch aufgrund des engen Abstands von benachbarten Spuren höhere Datenausfallsraten während Schreib- und Lesevorgängen erfahren. Verlangsamungen im Durchsatz können auch teilweise aufgrund langwieriger Schreibverifikationsprozesse nach dem Schreiben auf die Speichermedien auftreten.
  • ÜBERSICHT
  • Um verbesserten Betrieb von Datenspeichereinrichtungen und -systemen bereitzustellen, werden hierin verschiedene Systeme, Vorrichtungen, Verfahren und Software bereitgestellt. In einem ersten Beispiel wird eine Datenspeichereinrichtung präsentiert, die einen Schreibprozess durchführt, um Daten auf einem Speichermedium der Datenspeichereinrichtung als Reaktion auf eine oder mehrere Schreiboperationen zu speichern, die über eine Hostschnittstelle empfangen wurden. Die Datenspeichereinrichtung überwacht eine Qualität des Schreibprozesses und bestimmt, warm die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt. Als Reaktion darauf, dass die Qualität des Schreibprozesses unter den Grenzqualitätswert fällt, zeigt die Datenspeichereinrichtung die Qualität des Schreibprozesses an einen Datenschutzknoten an, der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren. Die Datenspeichereinrichtung empfängt die Datenparitätsinformationen und speichert die Datenparitätsinformationen.
  • In einem anderen Beispiel wird ein Betriebsverfahren einer Datenspeichereinrichtung vorgestellt. Das Verfahren enthält ein Durchführen eines Schreibprozesses, um als Reaktion auf eine oder mehrere Schreiboperationen, die über eine Hostschnittstelle empfangen wurden, Daten auf einem Speichermedium der Datenspeichereinrichtung zu speichern, ein Überwachen einer Qualität des Schreibprozesses und ein Bestimmen, wann die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt. Als Reaktion darauf, dass die Qualität des Schreibprozesses unter den Grenzqualitätswert fällt, enthält das Verfahren ein Anzeigen der Qualität des Schreibprozesses an einen Datenschutzknoten, der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren. Das Verfahren enthält auch ein Empfangen der Datenparitätsinformationen und als Reaktion ein Speichern der Datenparitätsinformationen.
  • In einem anderen Beispiel wird ein Datenspeichersystem dargelegt. Das Datenspeichersystem enthält eine Vielzahl von Datenspeichereinrichtungen, die jeweils konfiguriert sind, Daten auf assoziierten Speichermedien zu speichern und abzurufen. Eine erste Datenspeichereinrichtung ist konfiguriert, einen Schreibprozess durchzuführen, um Daten auf einem Speichermedium der ersten Datenspeichereinrichtung als Reaktion auf eine oder mehrere Schreiboperationen zu speichern, die über eine Hostschnittstelle empfangen wurden. Die erste Datenspeichereinrichtung ist konfiguriert, eine Qualität des Schreibprozesses zu überwachen und zu bestimmen, wann die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt. Als Reaktion darauf, dass die Qualität des Schreibprozesses unter den Grenzqualitätswert fällt, ist die erste Datenspeichereinrichtung konfiguriert, die Qualität des Schreibprozesses an einen Datenschutzknoten anzuzeigen, der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren. Die erste Datenspeichereinrichtung ist konfiguriert, die Datenparitätsinformationen zu empfangen und die Datenparitätsinformationen auf zumindest entweder der ersten Datenspeichereinrichtung oder der zweiten Datenspeichereinrichtung zu speichern.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Viele Aspekte der Offenbarung können besser unter Bezugnahme auf die folgenden Zeichnungen verstanden werden. Die Komponenten in den Zeichnungen sind nicht unbedingt maßstabsgetreu, stattdessen wird eine klare Illustration der Prinzipien der vorliegenden Offenbarung betont. Darüber hinaus bezeichnen in den Zeichnungen gleiche Bezugsziffern entsprechende Teile durch die mehreren Ansichten hinweg. Während mehrere Ausführungsformen in Verbindung mit diesen Zeichnungen beschrieben werden, ist die Offenbarung nicht auf die hierin offenbarten Ausführungsformen beschränkt. Im Gegenteil, es sollen alle Alternativen, Modifikationen und Äquivalente abgedeckt werden.
  • 1 ist ein Systemdiagramm, das ein Datensystem illustriert.
  • 2 ist ein Ablaufdiagramm, das ein Betriebsverfahren eines Datenspeichersystems illustriert.
  • 3 ist ein Systemdiagramm, das ein Datensystem illustriert.
  • 4 ist ein Ablaufdiagramm, das ein Betriebsverfahren eines Datenspeichersystems illustriert.
  • 5 ist ein Diagramm, das eine Positionsfehlersignalerkennung illustriert.
  • 6 ist ein Diagramm, das beispielhafte ECC-Paritätsgrößenberechnungen illustriert.
  • 7 ist ein Blockdiagramm, das ein Steuersystem illustriert.
  • DETAILLIERTE BESCHREIBUNG
  • Magnetische Speichereinrichtungen mit hoher Dichte setzen eine Vielfalt von Speichertechnologien ein. Eine solche Speichertechnologie enthält rotierende Datenspeichereinrichtungen mit Shingled-Magnetic-Recording(SMR)-Technologie. SMR-Technologie erlaubt Lese/Schreib-Köpfen benachbarte Datenspuren auf den Speichermedien physisch zu überlappen, im Gegensatz zu einer nicht überlappenden Aufzeichnungstechnologie, wie unter anderem Senkrechtaufzeichnung (PMR). Da die SMR-Technologie in engen Abständen angeordnete und überlappende Datenspuren auf den Speichermedien aufweist, werden sequenzielle oder Burst-Schreiboperationen anstatt zufälliger Schreiboperationen bevorzugt. Die engen Abstände der Spuren können auch zu höheren Fehlerraten für Daten führen, die auf die Medien geschrieben werden. Dies hat zur Verwendung von Schreib-Lese-Verifizieroperationen geführt, die eine Anhäufung von Daten schreiben, die dann von den Medien gelesen wird und als richtig geschrieben verifiziert wird. Die Schreib-Lese-Verifizieroperationen können jedoch den Durchsatz der Datenspeichereinrichtungen beeinflussen und eine langsamere Operation als gewünscht ergeben. Andere Speichermedientypen, wie Festkörpermedien können auch unter Schreib-Lese-Verifizier-Verlangsamungen leiden, wie unter anderem Flashmedien, magnetoresistive Medien oder optische Medien. Hybrid-Datenspeichereinrichtungen, die sowohl rotierende magnetische Medien und Festkörpermedien verwenden, können auch von Schreib-Lese-Verifizier-Verlangsamungen in beiden Medientypen beeinflusst werden.
  • In den Beispielen hierin kann Schreiben-Lesen-Verifizieren durch Verwendung erweiterter Datenschutzprozesse reduziert oder vermieden werden, die beim Generieren zusätzlicher Datenschutzinformationen wie einer Parität oder einer Fehlerkorrekturcode(ECC)-Parität eine Schreibqualität berücksichtigen. Bei normalem Betrieb generiert eine Datenspeichereinrichtung wie ein Festplattenlaufwerk eine „Hardware”-Parität für jede Spur von auf die Medien geschriebenen Daten. Die Daten der Spur werden jedoch weiterhin zurückgelesen und verifiziert, bevor sie in eine andere Spur geschrieben werden. Obwohl manche Beispiele eine Spurverifizierung in Chargen durchführen, findet der Schreib-Lese-Verifizierprozess weiterhin statt.
  • In einem ersten Beispiel eines erweiterten Datenspeichersystems wird 1 gezeigt. 1 ist ein Systemdiagramm, das ein Datensystem 100 illustriert. Das System 100 enthält eine Datenspeichereinrichtung 110 und ein Hostsystem 140. Die Datenspeichereinrichtung 110 und das Hostsystem 140 kommunizieren über eine Speicherverbindung 130. Die Datenspeichereinrichtung 110 kann in einer Baugruppe enthalten sein, die eine oder mehrere Datenspeichereinrichtungen und ein oder mehrere Steuersysteme enthält. In 1 enthält die Datenspeichereinrichtung 110 ein Steuersystem 112 und Speichermedien 111. Das Steuersystem 112 ist kommunikativ an die Speichermedien 111 gekoppelt. Obwohl das Steuersystem 112 in diesem Beispiel als intern zur Datenspeichereinrichtung 110 gezeigt wird, sollte klar sein, dass das Steuersystem 112 in anderen Beispielen in anderen Elementen extern zum Datenspeichersystem 110 enthalten sein kann. In manchen Beispielen umfasst die Datenspeichereinrichtung 110 ein Festplattenlaufwerk (HDD).
  • Im Betrieb empfängt die Datenspeichereinrichtung 110 Lese- oder Schreibtransaktionen über die Speicherverbindung 130, die vom Hostsystem 140 ausgegeben werden. Reagierend auf Lesetransaktionen kann die Datenspeichereinrichtung 110 Daten zur Übertragung zum Hostsystem 140 abrufen, die auf den Speichermedien 111 gespeichert sind. Reagierend auf Schreibtransaktionen speichert die Datenspeichereinrichtung 110 Daten auf den Speichermedien 111. Es sollte klar sein, dass andere Komponenten der Datenspeichereinrichtung 110 aus Gründen der Klarheit in 1 weggelassen sind, wie Transaktionswarteschlangen, Rahmen, Gehäuse, Lüfter, Verschaltung, Lese/Schreib-Köpfe, Anker, Vorverstärker, Sende-Empfänger, Prozessoren, Verstärker, Motoren, Servos, Gehäuse und andere elektrische und mechanische Elemente.
  • Daten werden reagierend auf verschiedene Speicheroperationen gespeichert, wie Speicheroperationen, die vom Datenspeicherarray über die Speicherverbindung 130 empfangen wurden. Die Datenspeichereinrichtung 110 empfängt vom Hostsystem 140 übertragene Speicheroperationen, die Schreiboperationen zur Speicherung von Schreibdaten auf Speichermedien 111 und Leseoperationen zum Abrufen von bereits auf den Speichermedien 111 gespeicherten Daten umfassen. In diesem Beispiel werden die Speicheroperationen vom Steuersystem 112 über die Speicherverbindung 130 empfangen und können in eine Transaktionswarteschlange oder eine Warteschlange mit Eingabe/Ausgabe-Operationen (EAs) zur Handhabung vom Steuersystem 112 empfangen werden.
  • Um den Betrieb des Datensystems 100 weiter zu illustrieren, wird 2 bereitgestellt. 2 ist ein Ablaufdiagramm, das ein Betriebsverfahren einer Datenspeichereinrichtung 110 illustriert. Auf die Operationen von 2 wird unten in Klammern Bezug genommen. In 2 führt das Steuersystem 112 einen Schreibprozess durch (201), um Daten auf dem Speichermedium 111 der Datenspeichereinrichtung 110 als Reaktion auf eine oder mehrere Schreiboperationen zu speichern, die über eine Hostschnittstelle empfangen wurden. In 1 kann die Datenspeichereinrichtung 110 eine Hostschnittstelle zum Kommunizieren über die Verbindung 130 enthalten und diese Hostschnittstelle kann im Steuersystem 112 oder anderen Elementen der Datenspeichereinrichtung 110 enthalten sein. Der Schreibprozess kann eine Schreiboperation 150 von 1 umfassen, die eine oder mehrere Schreibbefehle oder Schreiboperationen 151 enthalten kann, die vom Hostsystem 140 empfangen werden. Dieser Schreibprozess kann der Datenspeichereinrichtung 110 befehlen, eine Anhäufung von Daten auf die Speichermedien 111 zu schreiben, auf denen die Anhäufung von Daten eine oder mehrere Spuren der Speichermedien 111 umspannen kann. In einem ersten Schreibprozess werden Daten 121 auf die Medien 111 geschrieben. In einem zweiten Schreibprozess werden Daten 122 auf die Medien 111 geschrieben. In einem dritten Schreibprozess werden Daten 123 auf die Medien 111 geschrieben.
  • Üblicherweise sind die Medien 111 in viele Teile wie Sektoren unterteilt, die eine feste Größe während der anfänglichen Formatierung der Medien umfassen, wie 4 Kilobytes (KB) oder 4096 Bytes. Diese Sektoren können in konzentrischen Spuren auf den Medien 111 angeordnet werden, wobei jede Spur eine vorbestimmte Anzahl von Sektoren umfasst, wie 63 oder 400 Sektoren pro Spur. Jeder in den 1 und 2 besprochene Schreibprozess umfasst eine oder mehrere Schreiboperationen 151, die von Schreibdaten begleitet sind, wie durch Schreibdaten 152 in 1 angezeigt. Die Schreibdaten können einen Speicherblock oder ein Schreibband von Schreibdaten umfassen, die mehr als eine Spur der Medien 111 umspannt, wie 2 Megabytes (MB), 16 MB, 64 MB, 128 MB oder 256 MB von Daten, unter anderen Datenblockgrößen, die zwischen Schreibbändern variieren kann.
  • Während des Schreibprozesses überwacht (202) das Steuersystem 112 eine Qualität des Schreibprozesses und bestimmt, wann die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt. Die Qualität des Schreibprozesses kann entsprechen, wie gut jede Spur von Daten auf die Medien 111 geschrieben wurde. Wenn zum Beispiel ein Lese/Schreib-Kopf auf einem beweglichen Anker eingesetzt wird, Daten auf die Medien 111 zu schreiben und zu lesen, können die Ausrichtung und die Positionierung der Lese/Schreib-Köpfe über den Medien aufgrund von Vibrationen, Umgebungsbedingungen und Positionierungsgenauigkeit der assoziierten elektromechanischen Komponenten variieren. Wenn die Spuren in engen Abständen auf den Medien 111 angeordnet sind, wie in SMR-Beispielen, kann die Positionierungsgenauigkeit von Spur zu Spur und von Moment zu Moment variieren. Das Steuersystem 112 kann die Positionierungsgenauigkeit überwachen, um zu bestimmen, wie genau jede Spur gegenüber einer idealisierten Position geschrieben wurde.
  • In manchen Beispielen wird die Schreibqualität durch Erkennen von übermäßig verdichteten Sektoren während des Schreibprozesses zumindest auf Basis von Positionsfehlersignal(PES)-Metriken gemessen, die während des Schreibprozesses überwacht werden. Die PES-Metriken können anzeigen, wie genau eine Zielposition während eines Schreibprozesses von einer tatsächlichen Position eines Lese/Schreib-Kopfes über den Medien erreicht wird. Spur-zu-Spur-Unterschiede oder Delta-PES-Metriken können auch überwacht werden, um Schwankungen in den Abständen zwischen benachbarten Spuren zu identifizieren. Die Qualität des Schreibprozesses kann dann zumindest auf Basis einer Menge von übermäßig verdichteten Sektoren für jede Spur bestimmt werden.
  • Verschiedene Schwellenwerte können festgelegt werden, um die Qualität des Schreibprozesses abzuschätzen. Ein erster Schwellenwert kann festgelegt werden, der einen Schwellenwert für die Anzahl von übermäßig verdichteten Sektoren pro Spur anzeigt. Ein anderer Schwellenwert kann festgelegt werden, der einem Abstand zwischen benachbarten Spuren entspricht, wie von den PES-Metriken gemessen. Weitere Schwellenwerte können auf Basis der Genauigkeit des Schreibprozesses in Bezug auf die Medien festgelegt werden. In einem anderen beispielhaften Schwellenwert ist der Schwellenwert auf eine vorbestimmte Anzahl von übermäßig verdichteten Sektoren pro Spur wie 4 gesetzt. Diese vorbestimmte Anzahl kann als größer als eine Anzahl von Sektoren ausgewählt werden, die von Paritätsinformationen geschützt werden, die im Spurschreibprozess eingesetzt werden. Diese vorbestimmte Anzahl kann als größer als eine Anzahl von Sektoren ausgewählt werden, die für die Paritätsinformationen verwendet werden.
  • In nicht rotierenden Medien kann die Schreibqualität durch andere Metriken abgeschätzt werden. Zum Beispiel Schreibspannungsgenauigkeit in einem Flashspeicher, in dem eine Zielschreibspannung von einer tatsächlich während eines Schreibprozesses erreichten Spannung abweichen kann, was die Qualität des Schreibprozesses auf die Medien beeinflussen kann. Optische Medien wie Phasenwechselmedien können eine Genauigkeit in optischer Intensität oder eine Genauigkeit in optischer Frequenz aufweisen, was die Qualität des Schreibprozesses auf die Medien beeinflussen kann. Verschiedene Schwellenwerte können festgelegt werden, die anzeigen, wann die Schreibqualität unter ein Qualitätsziel fällt, und können in einer Anzahl von Datenblöcken, Bits, Zellen oder anderen Abgrenzungen angezeigt werden, die eine Schreibqualität unter einem gewünschten Wert aufweisen könnten.
  • Das Steuersystem 112 zeigt die Qualität des Schreibprozesses einem Datenschutzknoten an (203), der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren. In 1 zeigt das Steuersystem 112 dem Hostsystem 140 eine Schreibqualität 153 über die Verbindung 130 an. In diesem Beispiel umfasst das Hostsystem 140 einen Datenschutzknoten 141. In anderen Beispielen ist der Datenschutzknoten 141 in vom Hostsystem 140 separaten Systemen enthält oder kann in der Datenspeichereinrichtung 110 enthalten sein. Die Schreibqualität 153 kann anzeigen, wenn die vom Steuersystem 112 überwachte Schreibqualität unter das Ziel oder den Grenzschreibqualitätswert fällt. Die Schreibqualität 153 kann anzeigen, wenn die vom Steuersystem 112 überwachte Schreibqualität eine Grenzmenge an Datenteilen schlechter Qualität überschreitet, wie ein Überschreiten einer Grenzmenge an übermäßig verdichteten Sektoren.
  • Das Steuersystem 112 empfängt (204) die Datenschutzinformationen und speichert die Datenschutzinformationen. In 1 empfängt das Steuersystem 112 erweiterte Paritätsinformationen 154 über die Verbindung 130 und speichert die erweiterten Paritätsinformationen 154 auf die Speichermedien 111. Wenn sie auf den Speichermedien 111 gespeichert werden, können die erweiterten Paritätsinformationen mit dem assoziierten Datenblock oder an einer separaten Stelle gespeichert werden, wie einer Stelle, die zum Speichern erweiterter Paritätsinformationen designiert ist. Die erweiterten Paritätsinformationen können auf die Speichermedien 111 oder andere, von den Speichermedien 111 separate Speichermedien gespeichert werden, wobei die separaten Speichermedien in der Datenspeichereinrichtung 110 oder in einer anderen Datenspeichereinrichtung enthalten sein können. Redundanztechniken können für die erweiterten Paritätsinformationen eingesetzt werden, um eine zuverlässige Speicherung der erweiterten Paritätsinformationen 154 sicherzustellen.
  • In 1 werden die erweiterten Paritätsinformationen für die Daten 121 als erweiterte Parität 121P gespeichert. In diesem Beispiel wurden die Daten 122 mit ausreichender Schreibqualität geschrieben und deshalb wird für die Daten 122 keine erweiterte Parität gespeichert. Die erweiterten Paritätsinformationen für die Daten 123 werden als erweiterte Parität 123P gespeichert. Die vom Datenschutzknoten 141 bestimmten und auf die Datenspeichereinrichtung 110 übertragenen erweiterten Paritätsinformationen umfasst Datenschutzinformationen für den gesamten Schreibblock oder das gesamte Band, der bzw. das im Schreibprozess 150 gespeichert wird. Die erweiterten Paritätsinformationen 121P enthalten zum Beispiel Datenschutzinformationen für den gesamten Datenblock 121, der mehrere MB von Daten umfassen kann, wie oben angezeigt. Die Datenschutzinformationen umfassen Datenparitätsbytes oder Sektoren von Paritätsbytes, die verwendet werden, um Fehler in Daten zu erkennen und zu korrigieren.
  • Obwohl der Begriff „Parität” oder „ECC-Parität” in den aktuellen Beispielen verwendet wird, sollte klar sein, dass andere Datenschutzschemata für die erweiterten Datenschutzinformationen eingesetzt werden können, wie Fehlerkorrekturcode(ECC)-Bytes, Vorwärtsfehlerkorrektur(FEC)-Bytes, Reed-Solomon-Fehlerkorrekturcodeinformationen, Low-Density-Parity-Check(LDPC)-Informationen oder andere Datenschutzinformationen. Die erweiterten Paritätsinformationen umfassen Datenschutzinformationen, die zusätzlich zu etwaiger Hardwareparität berechnet wird, die von der Datenspeichereinrichtung 110 während des Schreibprozesses auf die Speichermedien durchgeführt wird, wie Parität pro Spur oder ECC-Parität, die bei HDD-Schreibvorgängen berechnet wird.
  • Zurück zu den Elementen von 1 kehrend enthält die Datenspeichereinrichtung 110 ein oder mehrere computerlesbare Speichermedien 111, auf die über einen oder mehrere Lese/Schreib-Köpfe und assoziierte elektromechanische Elemente zugegriffen werden kann. Die Datenspeichereinrichtung 110 enthält auch Verarbeitungsverschaltung, Kommunikationsschnittstellen, Anker, Vorverstärker, Sende-Empfänger, Prozessoren, Verstärker, Motoren, Servos, Gehäuse und andere elektrische und mechanische Elemente. Die Datenspeichereinrichtung 110 kann auch Zwischenspeichersysteme, Rahmen, Gehäuse, Lüfter, Zwischenanschlüsse, Verkabelung oder andere Verschaltungen und Ausrüstungen umfassen.
  • Die Datenspeichereinrichtung 110 kann ein Festplattenlaufwerk, ein Hybridlaufwerk oder eine andere computerlesbare Speichereinrichtung umfassen. Die Datenspeichereinrichtung 110 kann weitere Elemente enthalten, wie die für Festplattenlaufwerke 320 in 3 besprochenen, obwohl Varianten möglich sind. Die computerlesbaren Speichermedien der Datenspeichereinrichtung 110 können jeweils rotierende magnetische Speichermedien enthalten, aber können zusätzlich andere Medien wie Solid-State-Warteschlangen oder Zwischenspeichersysteme der Datenspeichereinrichtung 110 enthalten. Diese anderen Medien können Festkörperspeichermedien, optische Speichermedien, nicht rotierende magnetische Medien, magnetische Phasenwechsel-Medien, spinbasierte Speichermedien oder andere Speichermedien enthalten, einschließlich Kombinationen, Varianten und Verbesserungen davon. In manchen Beispielen umfasst die Datenspeichereinrichtung 110 ein Hybridplattenlaufwerk, das zusätzlich zu rotierenden magnetischen Speichermedien Festkörperspeicherelemente einsetzt. Die Speichermedien 111 können verschiedene magnetische Speicherschemata einsetzen, wie Shingled Magnetic Recording (SMR), Non-Shingled Magnetic Recording, Senkrechtaufzeichnung (PMR), einschließlich Kombinationen, Varianten und Verbesserungen davon.
  • Das Speichersteuerungssystem 112 enthält Verarbeitungsverschaltung, Kommunikationsschnittstellen und eine oder mehrere nicht-transitorische computerlesbare Speichereinrichtungen. Die Verarbeitungsverschaltung kann einen oder mehrere Mikroprozessoren und andere Verschaltung umfassen, die Firmware aus dem Speicher zum Betrieb wie hierin besprochen abruft und ausführt. Die Verarbeitungsverschaltung kann innerhalb einer einzigen Verarbeitungseinheit implementiert sein, aber kann auch über mehrere Verarbeitungseinheiten oder Teilsysteme verteilt sein, die beim Ausführen von Programmanweisungen zusammenarbeiten. Beispiele der Verarbeitungsverschaltung enthalten Universal-Zentralprozessoreinheiten, anwendungsspezifische Prozessoren und Logikeinrichtungen sowie eine beliebige andere Art von Verarbeitungseinrichtung, Kombinationen oder Varianten davon. Die Kommunikationsschnittstellen können eine oder mehrere Speicherschnittstellen zum Kommunizieren mit Hostsystemen, Netzwerken und Ähnlichem enthalten. Die Kommunikationssysteme können Sende-Empfänger, Schnittstellenverschaltung, Anschlüsse, Puffer, Mikrocontroller und andere Schnittstellenausrüstung enthalten.
  • Das Hostsystem 140 kann Verarbeitungselemente, Datenübertragungselemente und Benutzeroberflächenelemente enthalten. In manchen Beispielen ist das Hostsystem 140 eine Zentralprozessoreinheit einer Recheneinrichtung oder eines Rechensystems. In anderen Beispielen enthält das Hostsystem 140 auch Speicherelemente, Datenspeicher- und Übertragungselemente, Steuerelemente, Logikelemente, Firmware, Ausführungselemente und andere Verarbeitungssystemkomponenten. In noch anderen Beispielen umfasst das Hostsystem 140 einen RAID-Controllerprozessor oder einen Speichersystem-Zentralprozessor, wie einen Mikroprozessor, Mikrocontroller, ein Field Programmable Gate Array (FPGA) oder ein anderes Verarbeitungs- und Logikgerät, einschließlich Kombinationen davon. Das Hostsystem 140 kann Benutzeroberflächenelemente enthalten oder an diese über eine Schnittstelle ankoppeln, was einem Benutzer des Datenspeichersystems 100 erlauben kann, die Operationen des Datenspeichersystems 100 zu steuern oder den Status oder die Operationen des Datenspeichersystems 100 zu überwachen. Diese Benutzeroberflächenelemente können grafische oder Textanzeigen, Indikatorleuchten, Netzwerkschnittstellen, Webschnittstellen, Software-Schnittstellen, Benutzereingabegeräte oder andere Benutzeroberflächenelemente enthalten. Das Hostsystem 140 kann auch Schnittstellenverschaltung und Elemente zur Handhabung von Kommunikationen über die Speicherverbindung 130 enthalten, wie Logik, Verarbeitungsteile, Puffer, Sende-Empfänger und Ähnliches.
  • In 1 umfasst das Hostsystem 140 einen Datenschutzknoten 141. Der Datenschutzknoten 141 kann ein oder mehrere Hardware- oder Softwareelemente umfassen, die das Hostsystem 140 umfassen. Der Datenschutzknoten 141 kann zum Beispiel ein Paritäts- oder ECC-Datengenerierungsmodul umfassen, das Datenschutzinformationen für Blöcke von Daten generieren kann. Diese Datenschutzinformationen können unter Verwendung eines diskreten Verarbeitungsschaltkreises berechnet werden, wie eines Coprozessors, eines FPGA oder einer anderen Verschaltung. Diese Datenschutzinformationen können unter Verwendung eines Verarbeitungssystems des Hostsystems 340 berechnet werden, wie Zentralprozessoreinheiten (CPUs), die verschiedene Software ausführen, die die Datenschutzgenerierungssoftware zusammen mit einem assoziierten Betriebssystem, einer Benutzeroberfläche und anderer Software enthalten kann. Kombinationen von Hardware/Software können eingesetzt werden, um den Datenschutzknoten 141 zu umfassen.
  • Die Speicherverbindung 130 kann einen oder mehrere serielle oder parallele Datenverbindungen enthalten, wie eine PCIe-Schnittstelle (Peripheral Component Interconnect Express), serielle ATA-Schnittstelle, eine SAS-Schnittstelle (Serial Attached Small Computer System), eine IDE-Schnittstelle (Integrated Drive Electronics), eine ATA-Schnittstelle, eine USB-Schnittstelle (Universal Serial Bus), eine drahtlose Schnittstelle, eine Direct Media Interface (DMI), eine Ethernet-Schnittstelle, eine Netzwerkschnittstelle oder eine andere Kommunikations- und Datenschnittstelle, einschließlich Kombinationen, Varianten und Verbesserungen davon. Obwohl ein Bus 130 in 1 gezeigt wird, sollte klar sein, dass ein oder mehrere diskrete Verbindungen zwischen den Elementen des Datenspeichersystems 100 eingesetzt werden können.
  • Als ein weiteres Beispiel wird ein Datenspeichersystem, das ein Datenspeicherarray einsetzt, in 3 gezeigt. 3 ist ein Systemdiagramm, das ein Datenspeichersystem 300 illustriert. Das Datenspeichersystem 300 enthält ein oder mehrere Festplattenlaufwerke (HDDs) wie HDD 320 und enthält auch ein oder mehrere Hostsysteme 340. Das HDD 320 und das Hostsystem 340 kommunizieren über eine Speicherverbindung 330. Verschiedene Elemente des HDD 320 können in der Datenspeichereinrichtung 110 von 1 enthalten sein, obwohl Varianten möglich sind. Obwohl der Schwerpunkt auf ein HDD in 3 gelegt wird, sollte klar sein, dass mehr als ein HDD enthalten sein und mit dem Hostsystem 340 oder anderen Hostsystemen verknüpft sein könnte, wie in einer Datenspeicherumgebung, die viele Festplattenlaufwerke in einem Array einsetzt.
  • Das HDD 320 umfasst ein Festplattenlaufwerk, ein Hybridlaufwerk oder eine andere computerlesbare Speichereinrichtung. Das HDD 320 enthält eine Speichersteuerung 321, Speichermedien 322, Lese/Schreib-Köpfe 323. Die Speichersteuerung 321 enthält ein oder mehrere Untermodule, die eine Schreibqualitätserkennung 328 und ein ECC-Generierungsmodul 329 enthalten. Das HDD 320 kann weitere Elemente, wie Anker, Vorverstärker, Sende-Empfänger, Prozessoren, Verstärker, Motoren, Servos, Gehäuse und andere elektrische und mechanische Elemente enthalten. In 3 unterteilt das HDD 320 auf die Speichermedien 322 in mindestens zwei Zonen, nämlich einen Kaltspeicherbereich 325 und einen ECC-Bereich 326. In weiteren Beispielen werden keine separaten Zonen eingesetzt und eine gemeinsam genutzte Speicherzone wird verwendet.
  • Die Speichersteuerung 321 handhabt Speicheroperationen für das HDD 320, wie Empfangen von Speicheroperationen von Hostsystemen über die Speicherverbindung 330. Schreibdaten 331 können in einer oder mehreren Schreiboperationen empfangen werden und Lesedaten 332 können als Reaktion auf eine oder mehrere Leseoperationen an Hosts bereitgestellt werden. Die Speichersteuerung 321 oder das Hostsystem 340 kann eine beliebige Anzahl von logischen Datenträgern oder logischen Speichereinheiten für das HDD 320 oder unter anderen HDDs einrichten, was Segmentierung, redundante Arrays, Bänderung oder andere Datenspeichertechniken umfassen kann.
  • Die Schreibqualitätserkennung 328 und das ECC-Generierungsmodul 329 können jeweils ein oder mehrere Hardware- oder Softwareelemente umfassen, die im HDD 320 enthalten sind. In manchen Beispielen sind die Schreibqualitätserkennung 328 und das ECC-Generierungsmodul 329 in Elementen der Speichersteuerung 321 enthalten. Das ECC-Generierungsmodul 329 kann zum Beispiel ein Paritäts- oder ECC-Datengenerierungsmodul umfassen, das Datenschutzinformationen für Blöcke von Daten generieren kann und ähnliche Elemente wie das ECC-Generierungsmodul 341 des Hostsystems 340 umfassen kann. Die Schreibqualitätserkennung 328 kann ein Speichermedien-Überwachungsmodul umfassen, das eine Leistung während Schreibvorgängen auf ein assoziiertes Speichermedium überwacht, wie die Medien 322 des HDD 320. Während Schreiboperationen auf die Medien 322 überwacht die Schreibqualitätserkennung 328 die Schreibqualität und bestimmt PES-Daten oder Daten zu übermäßig verdichteten Sektoren für Schreibvorgänge auf jede Spur der Speichermedien 322. Die Schreibqualitätserkennung 328 und das ECC-Generierungsmodul 329 können jeweils eine diskrete Verarbeitungsverschaltung einsetzen, wie einen Coprozessor, ein FPGA oder eine andere Verschaltung, die ein Verarbeitungssystem des HDD 320 wie eine CPU enthalten kann, die verschiedene Software ausführt, die Schreibqualitätserkennungs- und ECC-Generierungssoftware zusammen mit assoziierten Speichersteuerungen, Betriebssystemen, Benutzeroberflächen und anderer Software enthalten kann. Kombinationen von Hardware/Software können eingesetzt werden, um jeweils die Schreibqualitätserkennung 328 und das ECC-Generierungsmodul 329 zu umfassen.
  • Das HDD 320 kann in einem redundanten Array unabhängiger Platten (RAID), einer JBOD-Einrichtung („Just a Bunch of Disks”) oder einer VBOD-Einrichtung (Virtual Box of Disks) enthalten sein, die eine Vielzahl von unabhängigen Platten enthalten, die dem Hostsystem 340 segmentiert und als eine oder mehrere logische Laufwerke präsentiert werden können. Eine VBOD-Einrichtung setzt ein oder mehrere SMR-Festplattenlaufwerke in einem Array ein. SMR-Datenträger weisen jedoch üblicherweise aufgrund der geschuppten Natur benachbarter Datenspuren Ineffizienzen bei zufälligen Schreibvorgängen auf. Die VBOD abstrahiert die SMR-Laufwerke und erlaubt zufällige Schreibvorgänge und zufällige Lesevorgänge, während sie gleichzeitig zugrunde liegende SMR-Medien aufweist, die letztendlich die assoziierten Daten halten.
  • Die Speicherverbindung 330 kann eine oder mehrere Verbindungen enthalten, obwohl in 3 eine einzige Verbindung gezeigt wird. Die Speicherverbindung 330 kann eine Speicher- oder Datenträgerschnittstelle, wie SATA (Serial Attached ATA), SAS (Serial Attached SCSI), FibreChannel, USB (Universal Serial Bus), InfiniBand, PCIe (Peripheral Component Interconnect Express), Ethernet, Internetprotokoll (IP) oder andere parallele oder serielle Speicher- oder Peripherieschnittstellen umfassen, einschließlich Varianten und Kombinationen davon.
  • Das Hostsystem 340 kann ein oder mehrere Rechen- und Netzwerksysteme enthalten, wie Personalcomputer, Server, Cloudspeichersysteme, Paketnetzwerke, Verwaltungssysteme oder andere Computer- und Netzwerksysteme, einschließlich Kombinationen und Varianten davon. Im Betrieb gibt das Hostsystem 340 über die Speicherverbindung 330 unter anderen Befehlen oder Operationen, die Steueranweisungen, Metadatenabfrageoperationen, Konfigurationsanweisungen und Ähnliches enthalten können, Lese- und Schreibbefehle oder Operationen an das HDD 320 aus. Gleichermaßen kann das HDD 320 über die Speicherverbindung 330 Lesedaten unter anderen Informationen wie grafische Benutzeroberflächeninformationen, Statusinformationen, Betriebsinformationen, Ausfallmeldungen, Warnmeldungen und Ähnliches übertragen.
  • Das ECC-Generieiungsmodul 341 kann ein oder mehrere Hardware- oder Softwareelemente umfassen, die im Hostsystem 340 enthalten sind. Das ECC-Generierungsmodul 341 kann zum Beispiel ein ECC-Paritäts- oder ECC-Datengenerierungsmodul umfassen, das Datenschutzinformationen für Blöcke von Daten generieren kann. Diese Datenschutzinformationen können unter Verwendung eines diskreten Verarbeitungsschaltkreises berechnet werden, wie eines Coprozessors, eines FPGA oder einer anderen Verschaltung. Diese Datenschutzinformationen können unter Verwendung eines Verarbeitungssystems des Hostsystems 340 berechnet werden, wie eine CPU, die verschiedene Software ausführt, die die Datenschutzgenerierungssoftware zusammen mit einem assoziierten Betriebssystem, einer Benutzeroberfläche und anderer Software enthalten kann. Kombinationen von Hardware/Software können eingesetzt werden, um das ECC-Generierungsmodul 341 zu umfassen.
  • Um den Betrieb des Systems 300 und des HDD 320 weiter zu illustrieren, wird 4 bereitgestellt. 4 ist ein Ablaufdiagramm, das ein Betriebsverfahren des Systems 300 illustriert. In 4 initiiert das Hostsystem 340 einen Schreibprozess, um ein Band von Daten auf das HDD 320 zu schreiben. Dieses Band von Daten umfasst einen 16-MB-Block von Daten, der mehrere Spuren der Medien 322 des HDD 320 umspannt. Das Hostsystem 340 gibt eine oder mehrere Schreiboperationen aus, um die Schreibdaten an das HDD 320 zum Schreiben auf die Medien 322 zu übertragen. In 3 können die Schreibdaten 331 eine oder mehrere Teile des vom Hostsystem 340 über die Verbindung 330 zur Lieferung an das HDD 320 übertragene Schreibband darstellen.
  • Die Speichersteuerung 321 des HDD 320 empfängt die Schreiboperationen und die assoziierten Schreibdaten und führt einen Burst-Schreibvorgang von Daten in den Kaltspeicherbereich 325 der Medien 322 durch. Der Kaltspeicherbereich 325 umfasst ein SMR-Gebiet der Medien 322, das in engen Abständen angeordnete oder überlappende Spuren von Daten auf den Medien 322 enthält. Aufgrund der engen Abstände werden Schreib-Bursts bevorzugt, um sicherzustellen, dass bestehende Daten nicht überschrieben werden, was eintreten würde, falls stattdessen zufällige Schreibvorgänge eingesetzt würden.
  • Die Speichersteuerung 321 kann die Schreiboperationen und Schreibdaten vor der Übergabe an die Medien 322 in einer Warteschlange oder anderen Datenstruktur bereitstellen, wie einer E/A-Warteschlange, Befehlswarteschlange oder einem anderen temporären Speicher. Dieser temporäre Speicher kann in einen Hostschnittstellenteil des HDD 320 eingebunden sein und diese Hostschnittstelle kann in Teilen der Speichersteuerung 321 oder anderen Elementen des HDD 320 enthalten sein.
  • Während des Schreibprozesses, um Daten auf die Medien 322 zu schreiben, überwacht die Speichersteuerung 321 die Schreibqualität für die Daten, die auf die Medien 322 geschrieben werden. Die Schreibqualität kann ein Überwachen der Positionsfehlersignal(PES)-Metriken während des Schreibprozesses umfassen. Die PES-Metriken können anzeigen, wie genau eine Zielposition während des Schreibprozesses von einer tatsächlichen Position eines Lese/Schreib-Kopfes über den Medien 322 erreicht wird. Spur-zu-Spur-Unterschiede oder Delta-PES-Metriken können auch überwacht werden, um Schwankungen in den Abständen zwischen benachbarten Spuren zu identifizieren.
  • Als ein Beispiel von PES-Überwachung während Schreibvorgängen wird 5 präsentiert. 5 enthält eine Darstellung von zwei benachbarten Spuren eines Speichermediums, wie den Medien 322, obwohl andere Medien repräsentiert werden können. Die Spuren sind in Beispielen von rotierenden magnetischen Medien konzentrische Kreise und die 5 zeigt jede Spur auf eine lineare Illustration expandiert. Jeder Sektor, der auf die assoziierte Spur geschrieben wird, wird durch eine Ziffer darüber von 0 bis ,N' angezeigt, die alle Sektoren der assoziierten Spur repräsentiert.
  • Wenn Daten für eine bestimmte Spur geschrieben werden, wie Spur 1, tritt ein Servomuster aufgrund von Bewegung der Lese/Schreib-Köpfe 323 über die Medien aufgrund des Antriebs von Ankern und assoziierten Servo- oder Schwingspulenkomponenten auf, die die Lese/Schreib-Köpfe 323 über den Medien positionieren. Dieser Prozess weist inhärente Fehler und Ungenauigkeiten auf, die zu Abweichungen in der Spurführung des Lese/Schreib-Kopfes über die assoziierten Medien führen können, wie durch eine gewundene Linie gezeigt, die das Servomuster in 5 repräsentiert. Ein ähnlicher Prozess tritt für Spur 1 und Spur 2 in 5 auf, wobei spezifische Servomuster mit diesen assoziiert sind. Die Bewegung der Lese/Schreib-Köpfe kann von der Speichersteuerung 321 oder anderen Überwachungskomponenten überwacht werden (einschließlich der Schreibqualitätserkennung 328 von 3). Diese Bewegung kann mit einem idealisierten kreisförmigen Muster verglichen werden und Abweichungen davon können für jede Spur überwacht werden.
  • Vergleiche von Spur zu Spur der Servomuster können für Sektoren verglichen werden, die einander benachbart auf den benachbarten Spuren liegen. Dieser Vergleich von Spur zu Spur kann als eine Delta-PES-Messung bezeichnet werden. Sektor 0 von Spur 1 kann zum Beispiel mit Sektor 0 von Spur 2 verglichen werden, und so weiter für die verbleibenden Sektoren jeder Spur. Das Delta-PES würde anzeigen, wie eng benachbarte Spuren gepackt sind, indem die einzelnen Sektoren jeder benachbarten Spur überwacht werden. Abweichungen in der Positionierung der Lese/Schreib-Köpfe während des Schreibprozesses können zu „übermäßigem Verdichten” eines bestimmten Sektors führen, was zu Datenkorruption führen kann. Ein Delta-PES-Schwellenwert kann festgelegt werden, der anzeigt, wann bestimmte Sektoren übermäßig verdichtet werden, was ein Indikator der Schreibqualität ist. Der Schwellenwert kann als eine Mitte-zu-Mitte-Messung für Sektoren benachbarter Spuren festgelegt werden oder kann stattdessen als ein Prozentsatz der idealen Spur-zu-Spur-Breite festgelegt werden, die während eines Schreibprozesses erreicht wird, wie 80% oder 90% der idealen Spurbreite, unter anderen Schwellenwerten.
  • Deshalb kann eine laufende Zählung für jede Spur gepflegt werden, um zu überwachen, welche Sektoren Delta-PES-Messungen aufweisen, die kleiner als ein Delta-PES-Schwellenwert ist. In 5 weisen Sektor 0 und 2 Delta-PES-Messungen auf, die größer als der Schwellenwert sind und deshalb nicht übermäßig verdichtet sind. Umgekehrt weisen Sektor 1 und 3 Delta-PES-Messungen auf, die kleiner als der Schwellenwert sind und deshalb als übermäßig verdichtet angesehen werden. Die Qualität des Schreibprozesses kann dann zumindest auf Basis einer Menge von übermäßig verdichteten Sektoren für jede Spur bestimmt werden.
  • 6 zeigt Tabelle 600 als eine Illustration mehrerer Tracks, die einen Speicherblock oder ein Schreibband von 16 MB umfassen. Obwohl 10 Spuren in 6 gezeigt werden, sollte klar sein, dass andere Mengen von Spuren möglich sind und auf Basis der Menge der geschriebenen Daten variieren. Datenschutzinformationen wie die ECC-Parität sind auf den Speichermedien mit den Schreibdaten für jede geschriebene Spur enthalten. Die Speichersteuerung 321 handhabt diese ECC-Paritätsgenerierung und -Einbeziehung und die Menge an enthaltener ECC-Parität ist üblicherweise als eine feste Menge vorbestimmt. In diesem Beispiel wird eine feste Menge von vier (4) ECC-Paritätssektoren für jede Spur eingesetzt. Diese Menge kann jedoch nicht in allen Fällen ausreichen, um die geschriebenen Daten zu schützen, um eine Fehlererkennung und/oder Fehlerkorrektur aufgrund übermäßig verdichteter Sektoren und anderer Datenkorruption zu erlauben.
  • Verschiedene weitere Schwellenwerte können festgelegt werden, um die Qualität des Schreibprozesses abzuschätzen, die verwendet werden kann, um zu bestimmen, wann weiterer Datenschutz gewünscht wird. Ein Qualitätsschwellenwert kann festgelegt werden, der einen Schwellenwert für die Anzahl von übermäßig verdichteten Sektoren pro Spur anzeigt. Weitere Schwellenwerte können auf Basis der Genauigkeit des Schreibprozesses in Bezug auf die Medien festgelegt werden. In einem beispielhaften Qualitätsschwellenwert ist der Schwellenwert auf eine vorbestimmte Anzahl von übermäßig verdichteten Sektoren pro Spur wie 4 gesetzt. Diese vorbestimmte Anzahl kann als größer als eine Anzahl von Sektoren ausgewählt werden, die von ECC-Paritätsinformationen geschützt werden, die im Spurschreibprozess eingesetzt werden. Diese vorbestimmte Anzahl kann als größer als eine Anzahl von Sektoren ausgewählt werden, die für die ECC-Paritätsinformationen verwendet werden.
  • 6 illustriert eine Menge von übermäßig verdichteten Sektoren pro Spur auf Basis einer Delta-PES-Messung für jede Spur, wobei einige der Spuren eine größere Anzahl von übermäßig verdichteten Sektoren als andere aufweisen. Für diejenigen der Spuren mit einer Menge von übermäßig verdichteten Sektoren über einer Grenzmenge kann eine weitere erweiterte ECC-Parität bestimmt werden. Falls zum Beispiel die Grenzmenge von übermäßig verdichteten Sektoren ,4' ist, dann weisen die Spuren 3, 7 und 10 jeweils Anzahlen von übermäßig verdichteten Sektoren über dem Schwellenwert auf. Die letzte Spalte in Tabelle 600 zeigt eine Menge von zusätzlichen gewünschten ECC-Sektoren an, die in diesem Beispiel gleich der Anzahl von übermäßig verdichteten Sektoren für die Spuren ist, die die Grenzmenge von übermäßig verdichteten Sektoren überschreiten. Unter Tabelle 600 befindet sich eine kurze Berechnung der Gesamtanzahl von Datenschutzsektoren. Spezifisch werden 40 ,Hardware'-ECC-Paritätssektoren für den normalen Spur-ECC-Paritätsprozess eingesetzt. Zusätzliche 19 erweiterte ECC-Paritätssektoren werden gewünscht, was eine Gesamtanzahl von insgesamt 59 ECC-Paritätssektoren ausmacht, die Datenschutz für das 16-MB-Datenband bieten, das auf die Speichermedien 322 von 3 geschrieben wurde.
  • Zurück zur Operation von 4 kehrend zeigt die Speichersteuerung 321 eine Menge von zusätzlichen ECC-Paritätssektoren an, die für das bestimmte Schreibband gewünscht werden, wenn die Qualität des Schreibvorgangs anzeigt, dass zusätzliche ECC-Paritätssektoren über die für jede Spur bereitgestellte Hardware-ECC-Parität hinaus benötigt werden. Das HDD 320 gibt deshalb eine Anforderung nach erweiterter ECC-Parität von einem ECC-Generierungsmodul aus.
  • In 3 werden zwei mögliche ECC-Paritätsgenerierungsmodule angezeigt, obwohl andere stattdessen enthalten sein können. Das erste beispielhafte ECC-Paritätsgenerierungsmodul ist im HDD 320 enthalten, wie durch ECC-Generierungsmodul 329 angemerkt. Das zweite beispielhafte ECC-Paritätsgenerierungsmodul ist im Hostsystem 340 enthalten, wie durch ECC-Generierungsmodul 341 angemerkt. Das ECC-Paritätsgenerierungsmodul kann ein oder mehrere Verarbeitungsmodule enthalten, die die ECC-Parität auf Basis der Schreibdaten des Schreibbands berechnet.
  • Obwohl in manchen Beispielen das HDD 320 die ECC-Parität berechnet, enthält das Hostsystem 340 üblicherweise robustere Verarbeitungsressourcen, Speicher und Berechnungsdurchsatzleistungsfähigkeit als das HDD 320. Deshalb fordert in vielen Beispielen das HDD 320 die zusätzliche ECC-Parität vom Hostsystem 340 an. Das Hostsystem 340 pflegt üblicherweise eine Kopie der Schreibdaten des Schreibbands zur Verwendung bei der Berechnung der ECC-Parität auf Basis der Gesamtheit der Schreibdaten des Schreibbands. Die berechnete ECC-Parität kann eine ECC-Parität für das gesamte 16-MB-Datenband umfassen und kann ähnlich wie der Hardware-ECC berechnet werden, der für jede Datenspur vom HDD 320 eingesetzt wird. Zumindest ein Teil der ECC-Parität kann vom Hostsystem 340 vor einer tatsächlichen Übertragung von assoziierten Schreibdaten des Schreibbands an das HDD 320 berechnet werden und etwaige unangeforderte oder nicht verwendete ECC-Parität kann vom Hostsystem 340 verworfen werden. Deshalb kann die ECC-Parität vorweg vom Hostsystem 340 generiert werden und gehalten werden, bis sie vom HDD 320 als Reaktion auf die Schreibqualität angefordert wird. Alternativ kann die ECC-Parität auf Anforderung vom HDD 320 generiert werden.
  • Das Hostsystem 340 überträgt dann die erweiterte ECC-Parität 390 zur Lieferung an das HDD 320 (oder alternativ berechnet das ECC-Generierungsmodul 329 die erweiterte ECC-Parität 390 im HDD 320). Das Hostsystem 340 überträgt die erweiterte ECC-Parität 390 über die Verbindung 330 unter Verwendung einer oder mehrerer spezialisierter Speicherbefehle oder Speicheroperationen, die maßgeschneidert sind, anzuzeigen, dass die übertragenen Daten die erweiterte ECC-Parität 390 und keine gewöhnlichen Schreibdaten sind. Dieser spezialisierte Befehl kann eine Parität oder einen ECC-Schreibbefehl mit einem Opcode oder einem Header umfassen, der die erweiterte ECC-Parität 390 anzeigt. Dieser spezialisierte Befehl kann einen normalen Schreibbefehl mit einer Speicheradresse umfassen, die anzeigt, dass eine assoziierte Nutzlast die erweiterte ECC-Parität 390 ist, wie durch Codieren einer nicht verwendbaren Adresse als ein Hinweis auf die erweiterte ECC-Parität 390. Andere Hinweise oder Befehle können vom Hostsystem 340 ausgegeben werden, um die erweiterte ECC-Parität 390 anzuzeigen und zu übertragen.
  • Die Speichersteuerung 321 empfängt die erweiterte ECC-Parität 390 und speichert die Datenschutzinformationen. In einem ersten Beispiel schreibt die Speichersteuerung 321 diese erweiterte ECC-Parität 390 auf die Speichermedien 322. 3 enthält ein beispielhaftes Speicherformat zum Speichern des Schreibbands und der assoziierten ECC-Parität. In 3 umfasst ein Speicherplatz 370 einen logischen Datenträger des HDD 320, der den gesamten Speicherplatz des HDD 320 oder einen Teil davon umfassen kann. Ein Schreibband 380 wird am Speicherplatz 370 gespeichert und umfasst mehrere Spuren der Medien 322, wie 10 Spuren, die in 6 gezeigt sind. Jede Spur weist einen assoziierten Hardware-ECC auf, durch Element 381 verzeichnet, wobei 10 Hardware-ECC-Teile im Schreibband 380 enthalten sind. Dieser Hardware-ECC wird auf Basis der Daten jeder Spur individuell berechnet und deshalb bietet jeder Hardware-ECC nur für eine entsprechende Spur Datenschutz. Die Menge an ECC ist üblicherweise vorbestimmt, wie oben erwähnt, und kann in einer Anzahl von ECC-Sektoren wie 4 pro Spur in 6 gemessen werden.
  • In diesem ersten Beispiel speichert die Speichersteuerung 321 die erweiterte ECC-Parität 390 an das Schreibband 380 angrenzend auf den Medien 322. Die erweiterte ECC-Parität 390 kann eine Menge an Sektoren von ECC-Parität nach der Qualität des Schreibprozesses für das Schreibband 380 umfassen. Verschiedene Beispiele werden hierin für die Menge an erweiterten ECC-Sektoren angezeigt, wie die in 6 gefundenen. Die erweiterte ECC-Parität 390 wird auf Basis der Daten des gesamten Schreibbands 380 berechnet und bietet deshalb Datenschutz für mehrere Spuren auf einmal, wie für das gesamte 16-MB-Schreibband in 3.
  • In weiteren Beispielen wird der Schreibprozess für die erweiterte ECC-Parität 390 für die Schreibqualität überwacht, wie für den Schreibprozess des Schreibbands durchgeführt. Etwaige zusätzliche ECC-Parität kann weiter generiert/gespeichert werden, wenn der Schreibprozess für die erweiterte ECC-Parität 390 unter den Grenzschreibqualitätswert fällt. Diese zusätzliche ECC-Parität kann zusammen mit der erweiterten ECC-Parität 390 oder an alternativen Stellen wie hierin besprochen gespeichert werden.
  • Die erweiterte ECC-Parität 390 kann von der Speichersteuerung 321 als assoziiert oder anderweitig korreliert mit den Schreibdaten des Schreibbands 380 nachverfolgt werden. Spezialisierte Datenstrukturen können von der Speichersteuerung 321 gepflegt werden, die die erweiterte ECC-Parität nachverfolgen und Entsprechungen zwischen erweiterter ECC-Parität und assoziierten Daten auf den Medien 322 festlegen. Datenspeicherstellen wie logische Blockadressen oder physische Blockadressen können zum Beispiel in einer Datenstruktur oder Tabelle zusammen mit Adressinformationen aufgelistet werden, die die erweiterte ECC-Parität auffindet, die für die in diesen logischen oder physischen Blockadressen gespeicherten Daten generiert wurde. In anderen Beispielen wird ein Header für die erweiterte, auf den Medien 322 gespeicherte ECC-Parität eingesetzt und ein Scan der Medien 322 kann die Headerinformationen zeigen, die anzeigt, mit welchem Schreibband die erweiterte ECC-Parität assoziiert ist. Andere Korrelationen oder Techniken können eingesetzt werden, um sicherzustellen, dass Korrelationen zwischen der erweiterten ECC-Parität und assoziierten Daten richtig gepflegt werden.
  • In weiteren Beispielen wird die erweiterte ECC-Parität 390 nicht mit dem Schreibband 380 gespeichert und wird stattdessen an einer spezialisierten Stelle auf den Medien 322 gespeichert, wie vom ECC-Bereich 326 in den 3 und 4 angezeigt. Der ECC-Bereich 326 kann einen nicht geschuppten Teil der Medien 322 umfassen, um zusätzlich Datenrobustheit für die ECC-Parität bereitzustellen. Dieser nicht geschuppte Teil kann einen PMR-Teil oder eine nicht überlappende SMR-Version enthalten, unter anderen Medienaufzeichnungstypen.
  • In noch weiteren Beispielen wird die erweiterte ECC-Parität 390 nicht auf den Medien 322 gespeichert. Die erweiterte ECC-Parität 390 kann stattdessen auf einem separaten Speichermedium des HDD 320 gespeichert werden, wie einem Flashspeichermedium oder optischen Speichermedium. Die erweiterte ECC-Parität 390 kann stattdessen auf einer separaten Datenspeichereinrichtung wie einem anderen HDD oder einem anderen Datenspeicherlaufwerk gespeichert werden, das separat vom HDD 320 ist. In Speichersystemen in Arrayform kann die erweiterte ECC-Parität 390 gespiegelt, in Striping-Anordnungen oder anderen Datenredundanzschemata eingesetzt werden, um Zuverlässigkeit oder Verfügbarkeit der erweiterten ECC-Parität 390 zu erhöhen. In Beispielen, in denen die erweiterte ECC-Parität 390 auf einer vom HDD 320 separaten Einrichtung gespeichert wird, kann das HDD 320 die erweiterte ECC-Parität 390 auf die anderen Einrichtungen übertragen oder das Hostsystem 340 kann stattdessen anstatt des HDD 320 die erweiterte ECC-Parität 390 auf diese anderen Einrichtungen übertragen.
  • Sobald die erweiterte ECC-Parität geschrieben wurde, ist der Schreibprozess für dieses bestimmte Schreibband abgeschlossen. Es sollte angemerkt werden, dass möglicherweise nicht für jedes Band eine erweiterte ECC-Parität eingesetzt wird und nur dann eingesetzt werden kann, wenn die Schreibqualität für dieses Band anzeigt, dass ein zusätzlicher ECC-Schutz gewünscht wird, wie oben angemerkt. Darüber hinaus können einzelne Schreibverifizierungen für jede Spur des Schreibbands weggelassen oder übersprungen werden. Dies kann vorteilhafterweise zu höheren Durchsätzen für das HDD 320 und einen erweiterten Datenschutz unter Verwendung der erweiterten ECC-Parität für das Schreibband führen. Datenintegrität kann sichergestellt werden, während ein hoher Schreibdurchsatz für das HDD 320 beibehalten wird, wenn die Schreibverifizierung nach jeder Spur und nach dem gesamten Schreibband weggelassen wird. Die Schreibverifizierung kann in diesen Beispielen teilweise aufgrund der Überwachung der Schreibqualität an Ort und Stelle übersprungen werden. Die Schreibqualität, wie sie durch Delta-PES-Messungen oder die Anzahl übermäßig verdichteter Sektoren angezeigt wird, kann anzeigen, wann die mögliche Schreibqualität unter einem gewünschten Schwellenwert ist, was zu Datenkorruption führen kann. Falls die Schreibqualität unter gewünschte Schwellenwerte fällt, dann kann eine zusätzliche erweiterte ECC-Parität für das Schreibband einbezogen werden, um sicherzustellen, dass die Datenintegrität auch ohne eine begleitende Schreibverifizierung wie einem Schreib-Lese-Verifizier-Prozess beibehalten wird.
  • Während eines Leseprozesses, wie dem in 4 angezeigten, können ein oder mehrere Leseoperationen oder Lesebefehle vom Hostsystem 340 über die Verbindung 330 ausgegeben werden. Die Leseoperationen können für das gesamte Schreibband 380 oder für einen Teil davon ausgegeben werden. Wenn die Leseoperationen für das gesamte Schreibband 380 sind, dann kann die erweiterte ECC-Parität 390 eingesetzt werden, um Fehler in den gelesenen Daten zu korrigieren. Wenn stattdessen ein Teil des Schreibbands 380 gelesen wird, dann kann die mit den einzelnen Spuren assoziierte ECC-Parität verwendet werden. Die Speichersteuerung 321 kann die Leseoperationen empfangen und als Reaktion Daten von den Speichermedien 322 abrufen. Wenn die Leseoperationen für Speicherstellen ausgegeben werden, die mit erweiterter ECC-Parität geschützt oder assoziiert sind, wie für das Schreibband 380, dann kann die Speichersteuerung 321 sowohl die von den Leseoperationen angeforderten Daten abrufen als auch die erweiterte ECC-Parität abrufen.
  • In manchen Fällen, wenn zum Beispiel übermäßig verdichtete Sektoren während des assoziierten Schreibprozesses angetroffen werden, kann der Schutz oder die Korrektur verschiedener der gelesenen Sektoren als Reaktion auf die Leseoperationen durch beliebigen assoziierte Hardware oder einen Spur-ECC oder eine Parität aufgehoben werden. In 3 werden sechs (6) Sektoren mit aufgehobener Korrektur illustriert, die unkorrigierten Spur-ECC-Daten 385 entsprechen. In Beispielen, in denen keine erweiterte ECC-Parität eingesetzt wurde, kann Datenkorruption bei den Daten 385 angetroffen werden oder vorher eine Verifikationsoperation gefolgt von einem assoziierten erneuten Schreiben erfordert haben, um sicherzustellen, dass die Daten richtig auf die Speichermedien geschrieben wurden. In diesem Beispiel wurde jedoch die erweiterte ECC-Parität 390 eingesetzt, die etwaige Fehler oder Korruption in den Daten 385 aufgrund des assoziierten Schreibprozesses erkennen und korrigieren kann, wie zum Beispiel aufgrund von übermäßig verdichteten Sektoren oder anderen Datenkorruptionsproblemen. Deshalb kann die erweiterte ECC-Parität 390 mit den von den Leseoperationen angeforderten assoziierten Daten übertragen werden und die erweiterte ECC-Parität 390 kann verwendet werden, um etwaige Datenfehler zu korrigieren.
  • In manchen Beispielen, wie in den in 4 gezeigten, wird die erweiterte ECC-Parität 390 an das Hostsystem 340 übertragen und das Hostsystem 340 kann einen Datenfehlererkennungs- und Korrekturprozess unter Verwendung der erweiterten ECC-Parität 390 und den von den Medien 322 gelesenen assoziierten Daten durchführen. In anderen Beispielen kann das HDD 320 stattdessen einen Datenfehlererkennungs- und Korrekturprozess unter Verwendung der erweiterten ECC-Parität 390 und den von den Medien 322 gelesenen assoziierten Daten durchführen. Wenn die erweiterte ECC-Parität für ein bestimmtes Schreibband nicht eingesetzt wird, wie wenn die erkannte Schreibqualität über einem Grenzqualitätswert ist, dann wird die erweiterte ECC-Parität möglicherweise nicht an das Hostsystem 340 übertragen oder anderweitig eingesetzt, um nach Datenfehlern zu prüfen bzw. diese zu korrigieren.
  • 7 ist ein Blockdiagramm, das ein Steuersystem 710 illustriert. Das Steuersystem 710 handhabt Speicheroperationen für eine Speicherbaugruppe. Das Steuersystem 710 kann ein Beispiel des Steuersystems 112 von 1, die Speichersteuerung 321 von 3 oder in Elementen des Hostsystems 340 von 3 enthalten sein, obwohl Varianten möglich sind. Wenn das Steuersystem 710 in einem Datenspeicherlaufwerk enthalten ist, empfängt das Steuersystem 710 über eine Speicherverbindung 760 durch eine Hostschnittstelle 711 Speicheroperationen von Hostsystemen. Schreibdaten können in einer oder mehreren Schreiboperationen empfangen werden und Lesedaten können als Reaktion auf eine oder mehrere Leseoperationen an Hosts bereitgestellt werden.
  • Das Steuersystem 710 enthält eine Hostschnittstelle (I/F) 711, eine Verarbeitungsschaltung 712, eine Laufwerkssteuerung 713 und ein Speichersystem 714. Ferner enthält das Steuersystem 710 Firmware 715, die eine Schreibqualitätserkennung 716, ein ECC-Nachverfolgungsmodul 717 und einen ECC-Generator 718 enthält, der wie unten beschrieben arbeitet, wenn es von zumindest einer Verarbeitungsverschaltung 712 ausgeführt wird.
  • Die Hostschnittstelle 711 enthält eine oder mehrere Speicherschnittstellen zum Kommunizieren mit Hostsystemen, Netzwerken und Ähnlichem über zumindest eine Verbindung 760. Die Hostschnittstelle 711 kann Sende-Empfänger, Schnittstellenverschaltung, Anschlüsse, Puffer, Mikrocontroller und andere Schnittstellenausrüstung umfassen. Die Hostschnittstelle 711 kann auch eine oder mehrere E/A-Warteschlangen enthalten, die Speicheroperationen über die Verbindung 760 empfangen und diese Speicheroperationen zur Handhabung durch die Verarbeitungsverschaltung 712 puffern. Die Verbindung 760 kann eine oder mehrere Ethernet-Schnittstellen, SATA-Schnittstellen, SAS-Schnittstellen, FibreChannel-Schnittstellen, USB-Schnittstellen, SCSI-Schnittstellen, InfiniBand-Schnittstellen, NVMe-Schnittstellen oder IP-Schnittstellen, die dem Hostsystem erlauben, auf die Speicherkapazität der HDD-Baugruppe zuzugreifen.
  • Die Verarbeitungsverschaltung 712 kann einen oder mehrere Mikroprozessoren und andere Verschaltung umfassen, die Firmware 715 aus dem Speichersystem 714 abruft und ausführt. Die Verarbeitungsverschaltung 712 kann innerhalb einer einzigen Verarbeitungseinheit implementiert sein, aber kann auch über mehrere Verarbeitungseinheiten oder Teilsysteme verteilt sein, die beim Ausführen von Programmanweisungen zusammenarbeiten. Beispiele der Verarbeitungsverschaltung 712 enthalten Universal-Zentralprozessoreinheiten, anwendungsspezifische Prozessoren und Logikeinrichtungen sowie eine beliebige andere Art von Verarbeitungseinrichtung, Kombinationen oder Varianten davon. In manchen Beispielen enthält die Verarbeitungsverschaltung 712 eine Ein-Chip-Systemeinrichtung oder eine Mikroprozessoreinrichtung, wie einen Intel Atom-Prozessor, MIPS-Mikroprozessor und Ähnliches.
  • Die Laufwerksteuerung 713 kann eine oder mehrere Laufwerksteuerkreise und Prozessoren enthalten, die verschiedene Datenmedienhandhabungsaktionen unter den verschiedenen Speichermedien einer Speichereinrichtung steuern kann. Die Laufwerksteuerung 713 enthält auch Speicherschnittstellen 761, um an die verschiedenen Datenspeichermedien anzukoppeln. In manchen Beispielen handhabt die Laufwerksteuerung 713 eine Verwaltung einer bestimmten Aufzeichnungstechnologie, wie Flash-, optische, SMR-, PMR- oder andere Aufzeichnungstechnologien. Wie hierin erwähnt, können Elemente und Funktionen der Laufwerksteuerung 713 mit der Verarbeitungsverschaltung 313 integriert werden.
  • Das Speichersystem 714 kann beliebige nicht-transitorische computerlesbare Speichermedien umfassen, die von der Verarbeitungsverschaltung 712 oder der Laufwerksteuerung 713 gelesen werden können und die Firmware 715 speichern können. Das Speichersystem 714 kann flüchtige und nichtflüchtige, entfernbare und nicht entfernbare Medien enthalten, die in irgendeinem Verfahren oder irgendeiner Technologie zur Speicherung von Informationen wie computerlesbare Anweisungen, Datenstrukturen, Programmmodule und andere Daten implementiert sind. Zusätzlich zu Speichermedien kann das Speichersystem 714 in manchen Implementierungen auch Kommunikationsmedien enthalten, über die die Firmware 715 kommuniziert werden kann. Das Speichersystem 714 kann als einzelne Speichereinrichtung implementiert werden, aber kann auch über mehrere Speichereinrichtungen oder Teilsysteme implementiert werden, die gemeinsam angeordnet oder relativ zueinander verteilt angeordnet sind. Das Speichersystem 714 kann zusätzliche Elemente umfassen, wie eine Steuerung, die mit der Verarbeitungsverschaltung 712 kommunizieren kann. Beispiele von Speichermedien des Speichersystems 714 enthalten Speicher mit wahlfreiem Zugriff, schreibgeschützten Speicher, Magnetplatten, optische Platten, Flash-Speicher, SSDs, Phasenwechselspeicher, Magnetkassetten, Magnetband, magnetische Plattenspeicher oder andere magnetische Speichereinrichtungen oder ein beliebiges anderes Medium, das verwendet werden kann, um die gewünschten Informationen zu speichern, und auf das von einem Anweisungsausführungssystem zugegriffen werden kann, sowie eine beliebige Kombination oder Variante davon, oder einen beliebigen anderen Typ von Speichermedien.
  • Die Firmware 715 kann in Programmanweisungen implementiert werden und kann, wenn sie vom Steuersystem 710 im Allgemeinen oder von der Verarbeitungsverschaltung 712 im Besonderen ausgeführt wird, unter anderen Funktionen das Steuersystem 710 oder die Verarbeitungsverschaltung 712 anleiten, Datenspeichersysteme wie hierin beschrieben zu betreiben. Die Firmware 715 kann zusätzliche Prozesse, Programme oder Komponenten wie Betriebssystemsoftware, Datenbanksoftware oder Anwendungssoftware enthalten. Die Firmware 715 kann auch Software oder eine andere Form von maschinenlesbaren Verarbeitungsanweisungen umfassen, die von der Verarbeitungsverschaltung 712 ausführbar sind.
  • In zumindest einer Implementierung können die Programmanweisungen erste Programmanweisungen enthalten, die das Steuersystem 710 anleiten, Lese- und Schreiboperationen zu handhaben, die Schreibqualität während Schreiboperationen oder Schreibprozessen zu erkennen (Schreibqualitätserkennung 716), eine Anzahl von möglichen fehleranfälligen Sektoren auf Basis einer Delta-PES-Messung von übermäßig verdichteten Sektoren zu identifizieren (Schreibqualitätserkennung 716) und eine Schreibqualität an ein ECC-Generierungsmodul wie ein Hostsystem oder an den ECC-Generator 718 zu melden. Sobald die erweiterte ECC-Parität generiert oder anderweitig empfangen wurde, dann kann das ECC-Nachverfolgungsmodul 717 verfolgen, wo die erweiterte ECC-Parität geschrieben oder gespeichert wurde, wie auf ein Speichermedium zusammen mit den assoziierten Schreibdaten, an einer anderen spezialisierten Stelle auf den Speichermedien oder auf einer separaten Speichereinrichtung. Während Leseoperationen kann das ECC-Nachverfolgungsmodul 717 identifizieren, wenn eine erweiterte ECC-Parität für assoziierte, von der Leseoperation angeforderte Daten gespeichert wird, und das Steuersystem 710 anweisen, die erweiterte ECC-Parität zur Lieferung an ein Modul oder System abzurufen, das die Daten eines Schreibbands auf Fehler prüfen bzw. diese korrigieren kann.
  • Im Allgemeinen kann die Firmware 715, wenn sie in die Verarbeitungsverschaltung 712 geladen und ausgeführt wird, die Verarbeitungsverschaltung 712 insgesamt von einem Universal-Rechensystem in ein Sonder-Rechensystem transformieren, das angepasst ist, wie hierin beschrieben zu arbeiten. Das Codieren von Firmware 715 auf dem Speichersystem 714 kann die physische Struktur des Speichersystems 714 transformieren. Die spezifische Transformation der physischen Struktur kann in verschiedenen Implementierungen dieser Beschreibung von diversen Faktoren abhängen. Beispiele solcher Faktoren können die zum Implementieren der Speichermedien des Speichersystems 714 verwendete Technologie enthalten, sind jedoch nicht darauf beschränkt, und ob die Computer-Speichermedien als primärer oder sekundärer Speicher gekennzeichnet sind. Wenn die Computer-Speichermedien zum Beispiel als halbleiterbasierter Speicher implementiert sind, kann die Firmware 715 den physischen Zustand des Halbleiterspeichers transformieren, wenn das Programm darin codiert ist. Die Firmware 715 kann zum Beispiel den Zustand von Transistoren, Kondensatoren oder anderen diskreten Schaltkreiselementen transformieren, die den Halbleiterspeicher bilden. Eine ähnliche Transformation kann in Bezug auf magnetische oder optische Medien auftreten. Andere Transformationen von physischen Medien sind möglich, ohne vom Umfang der vorliegenden Beschreibung abzuweichen, wobei die vorangehenden Beispiele nur bereitgestellt wurden, um diese Diskussion zu ermöglichen.
  • Die enthaltenen Beschreibungen und Figuren zeigen spezifische Ausführungsformen, um Fachleute auf dem Gebiet zu lehren, wie die beste Art und Weise durchzuführen und zu verwenden ist. Zum Zweck des Lehrens erfinderischer Prinzipien wurden einige herkömmliche Aspekte vereinfacht oder weggelassen. Fachleuten auf dem Gebiet werden Abweichungen von diesen Ausführungsformen klar sein, die in den Umfang der Erfindung fallen. Fachleuten auf dem Gebiet wird auch klar sein, dass die oben beschriebenen Merkmale auf verschiedene Arten kombiniert werden können, um mehrere Ausführungsformen zu bilden. Als Ergebnis ist die Erfindung nicht auf die spezifischen oben beschriebenen Ausführungsformen beschränkt, sondern nur durch die Ansprüche und deren Äquivalente.

Claims (20)

  1. Datenspeichereinrichtung, die Folgendes umfasst: ein Speichersteuersystem, das konfiguriert ist, einen Schreibprozess durchzuführen, um Daten auf einem Speichermedium der Datenspeichereinrichtung als Reaktion auf eine oder mehrere Schreiboperationen zu speichern, die über eine Hostschnittstelle empfangen wurden; das Speichersteuersystem, das konfiguriert ist, eine Qualität des Schreibprozesses zu überwachen und zu bestimmen, wann die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt; das Speichersteuersystem, das konfiguriert ist, als Reaktion darauf, dass die Qualität des Schreibprozesses unter den Grenzqualitätswert fällt, die Qualität des Schreibprozesses an einen Datenschutzknoten anzuzeigen, der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren; und das Speichersteuersystem, das konfiguriert ist, die Datenparitätsinformationen zu empfangen und die Datenparitätsinformationen zu speichern.
  2. Datenspeichereinrichtung nach Anspruch 1, die Folgendes umfasst: das Speichersteuersystem, das konfiguriert ist, übermäßig verdichtete Sektoren während des Schreibprozesses zumindest auf Basis von Positionsfehlersignal(PES)-Metriken zu erkennen, die während des Schreibprozesses überwacht werden, und die Qualität des Schreibprozesses zumindest auf Basis einer Menge von übermäßig verdichteten Sektoren zu bestimmen.
  3. Datenspeichereinrichtung nach Anspruch 2, wobei der Grenzqualitätswert eine Menge von während des Schreibprozesses eingesetzten Paritätssektoren umfasst und die Datenspeichereinrichtung Folgendes umfasst: das Speichersteuersystem, das konfiguriert ist, dem Datenschutzknoten die Qualität des Schreibprozesses anzuzeigen, wenn die Menge von übermäßig verdichteten Sektoren größer als eine Grenzmenge von während des Schreibprozesses eingesetzten Paritätssektoren ist.
  4. Datenspeichereinrichtung nach Anspruch 1, die Folgendes umfasst: das Speichersteuersystem, das konfiguriert ist, eine Schreibverifizierung für die Daten nach der Speicherung auf dem Speichermedium zu überspringen.
  5. Datenspeichereinrichtung nach Anspruch 1, die Folgendes umfasst: das Speichersteuersystem, das konfiguriert ist, einem Hostsystem, das den Datenschutzknoten umfasst, die Qualität des Schreibprozesses anzuzeigen; und das Speichersteuersystem, das konfiguriert ist, einen vom Hostsystem ausgegebenen Paritätsschreibbefehl zu empfangen, der die Datenparitätsinformationen umfasst, und die Datenparitätsinformationen als Reaktion darauf zu speichern.
  6. Datenspeichereinrichtung nach Anspruch 1, die Folgendes umfasst: das Speichersteuersystem, das konfiguriert ist, die Datenparitätsinformationen auf dem Speichermedium zu speichern und die Datenparitätsinformationen als mit den Daten assoziiert nachzuverfolgen.
  7. Datenspeichereinrichtung nach Anspruch 6, die Folgendes umfasst: das Speichersteuersystem, das konfiguriert ist, die Datenparitätsinformationen auf dem Speichermedium an einer anderen Speicherstelle als die Daten zu speichern.
  8. Datenspeichereinrichtung nach Anspruch 1, die Folgendes umfasst: das Speichersteuersystem, das konfiguriert ist, eine Leseoperation über die Hostschnittstelle für zumindest einen Teil der Daten zu empfangen und als Reaktion zumindest den Teil der Daten und die Datenparitätsinformationen vom Speichermedium abzurufen und die Daten und die Datenparitätsinformationen über die Hostschnittstelle zu übertragen.
  9. Datenspeichereinrichtung nach Anspruch 1, wobei der Schreibprozess zum Speichern der Daten einen Burst-Schreibvorgang eines Datenbands umfasst, das eine Vielzahl von benachbarten Spuren des Speichermediums umspannt, und wobei die Datenparitätsinformationen Paritätsinformationen für das Datenband umfassen.
  10. Verfahren zum Betreiben einer Datenspeichereinrichtung, wobei das Verfahren Folgendes umfasst: Durchführen eines Schreibprozesses, um Daten auf einem Speichermedium der Datenspeichereinrichtung als Reaktion auf eine oder mehrere Schreiboperationen zu speichern, die über eine Hostschnittstelle empfangen wurden; Überwachen einer Qualität des Schreibprozesses und Bestimmen, wann die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt; als Reaktion darauf, dass die Qualität des Schreibprozesses unter den Grenzqualitätswert fällt, Anzeigen der Qualität des Schreibprozesses an einen Datenschutzknoten, der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren; und Empfangen der Datenparitätsinformationen und als Reaktion Speichern der Datenparitätsinformationen.
  11. Verfahren nach Anspruch 10, das ferner Folgendes umfasst: Erkennen von übermäßig verdichteten Sektoren während des Schreibprozesses zumindest auf Basis von Positionsfehlersignal(PES)-Metriken, die während des Schreibprozesses überwacht werden; und Bestimmen der Qualität des Schreibprozesses zumindest auf Basis einer Menge von übermäßig verdichteten Sektoren.
  12. Verfahren nach Anspruch 11, wobei der Grenzqualitätswert eine Menge von während des Schreibprozesses eingesetzten Paritätssektoren umfasst und das Verfahren ferner Folgendes umfasst: Anzeigen der Qualität des Schreibprozesses an den Datenschutzknoten, wenn die Menge von übermäßig verdichteten Sektoren größer als eine Grenzmenge von während des Schreibprozesses eingesetzten Paritätssektoren ist.
  13. Verfahren nach Anspruch 10, das ferner Folgendes umfasst: Überspringen einer Schreibverifizierung für die Daten nach der Speicherung auf dem Speichermedium.
  14. Verfahren nach Anspruch 10, das ferner Folgendes umfasst: Anzeigen der Qualität des Schreibprozesses an ein Hostsystem, das den Datenschutzknoten umfasst; und Empfangen eines vom Hostsystem ausgegebenen Paritätsschreibbefehls, der die Datenparitätsinformationen umfasst, und Speichern der Datenparitätsinformationen als Reaktion darauf.
  15. Verfahren nach Anspruch 10, das ferner Folgendes umfasst: Speichern der Datenparitätsinformationen auf dem Speichermedium und Nachverfolgen der Datenparitätsinformationen als mit den Daten assoziiert.
  16. Verfahren nach Anspruch 15, das ferner Folgendes umfasst: Speichern der Datenparitätsinformationen auf dem Speichermedium an einer anderen Speicherstelle als die Daten.
  17. Verfahren nach Anspruch 10, das ferner Folgendes umfasst: Empfangen einer Leseoperation über die Hostschnittstelle für zumindest einen Teil der Daten und als Reaktion Abrufen zumindest des Teils der Daten und der Datenparitätsinformationen vom Speichermedium und Übertragen der Daten und der Datenparitätsinformationen über die Hostschnittstelle.
  18. Verfahren nach Anspruch 10, wobei der Schreibprozess zum Speichern der Daten einen Burst-Schreibvorgang eines Datenbands umfasst, das eine Vielzahl von benachbarten Spuren des Speichermediums umspannt, und wobei die Datenparitätsinformationen Paritätsinformationen für das Datenband umfassen.
  19. Datenspeichersystem, das Folgendes umfasst: eine Vielzahl von Datenspeichereinrichtungen, die jeweils konfiguriert sind, Daten auf assoziierten Speichermedien zu speichern und abzurufen; eine erste Datenspeichereinrichtung, die konfiguriert ist, einen Schreibprozess durchzuführen, um Daten auf einem Speichermedium der ersten Datenspeichereinrichtung als Reaktion auf eine oder mehrere Schreiboperationen zu speichern, die über eine Hostschnittstelle empfangen wurden; die erste Datenspeichereinrichtung, die konfiguriert ist, eine Qualität des Schreibprozesses zu überwachen und zu bestimmen, wann die Qualität des Schreibprozesses unter einen Grenzqualitätswert fällt; die erste Datenspeichereinrichtung, die konfiguriert ist, als Reaktion darauf, dass die Qualität des Schreibprozesses unter den Grenzqualitätswert fällt, die Qualität des Schreibprozesses an einen Datenschutzknoten anzuzeigen, der Datenparitätsinformationen für die Daten bestimmt, um die Qualität des Schreibprozesses zu kompensieren; und die erste Datenspeichereinrichtung, die konfiguriert ist, die Datenparitätsinformationen zu empfangen und die Datenparitätsinformationen auf zumindest entweder der ersten Datenspeichereinrichtung oder der zweiten Datenspeichereinrichtung zu speichern.
  20. Datenspeichersystem nach Anspruch 19, wobei der Grenzqualitätswert eine Menge von während des Schreibprozesses eingesetzten Paritätssektoren umfasst und das Datenspeichersystem Folgendes umfasst: die erste Datenspeichereinrichtung, die konfiguriert ist, übermäßig verdichtete Sektoren während des Schreibprozesses zumindest auf Basis von Positionsfehlersignal(PES)-Metriken zu erkennen, die während des Schreibprozesses überwacht werden, die Qualität des Schreibprozesses zumindest auf Basis einer Menge von übermäßig verdichteten Sektoren zu bestimmen, und die erste Datenspeichereinrichtung, die konfiguriert ist, dem Datenschutzknoten die Qualität des Schreibprozesses anzuzeigen, wenn die Menge von übermäßig verdichteten Sektoren größer als eine Grenzmenge von während des Schreibprozesses eingesetzten Paritätssektoren ist.
DE102016011401.0A 2015-09-23 2016-09-21 Erweiterter Datenschutz mit niedrigem Mehraufwand in Datenspeichereinrichtungen Pending DE102016011401A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/863,378 2015-09-23
US14/863,378 US9530442B1 (en) 2015-09-23 2015-09-23 Enhanced low overhead data protection in data storage drives

Publications (1)

Publication Number Publication Date
DE102016011401A1 true DE102016011401A1 (de) 2017-03-23

Family

ID=57288680

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016011401.0A Pending DE102016011401A1 (de) 2015-09-23 2016-09-21 Erweiterter Datenschutz mit niedrigem Mehraufwand in Datenspeichereinrichtungen

Country Status (5)

Country Link
US (3) US9530442B1 (de)
CN (1) CN107015881B (de)
DE (1) DE102016011401A1 (de)
GB (1) GB2544170A (de)
IE (1) IE20160225A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9728206B2 (en) * 2014-11-24 2017-08-08 Seagate Technology Llc Interlaced magnetic recording
US9530442B1 (en) * 2015-09-23 2016-12-27 Western Digital Technologies, Inc. Enhanced low overhead data protection in data storage drives
US10437483B2 (en) * 2015-12-17 2019-10-08 Samsung Electronics Co., Ltd. Computing system with communication mechanism and method of operation thereof
US10297274B2 (en) * 2016-06-01 2019-05-21 Spectra Logic, Corp. Shingled magnetic recording raid scheme
US10284230B2 (en) * 2016-11-15 2019-05-07 Western Digital Technologies, Inc. Linked storage system and host system error correcting code
CN108733315B (zh) 2017-04-17 2021-06-04 伊姆西Ip控股有限责任公司 用于存储管理的方法、设备和计算机可读存储介质
CN107436733B (zh) * 2017-06-29 2020-11-06 华为技术有限公司 分片管理方法和分片管理装置
CN110134572B (zh) * 2018-02-02 2023-08-08 伊姆西Ip控股有限责任公司 验证存储系统中的数据
JP2019153367A (ja) * 2018-03-06 2019-09-12 株式会社東芝 磁気ディスク装置および記録方法
US10921992B2 (en) * 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10304489B1 (en) 2018-06-29 2019-05-28 Hewlett Packard Enterprise Development Lp Read from a non-trimming portion of a data track written to magnetic tape
CN108958990B (zh) * 2018-07-24 2021-10-15 郑州云海信息技术有限公司 一种提高现场可更换单元信息可靠性的方法和装置
JP2020149757A (ja) 2019-03-15 2020-09-17 株式会社東芝 磁気ディスク装置及びライト処理方法
US11675731B2 (en) 2020-08-20 2023-06-13 Global Unichip Corporation Data protection system and method thereof for 3D semiconductor device
US11031923B1 (en) 2020-08-20 2021-06-08 Global Unichip Corporation Interface device and interface method for 3D semiconductor device
US11144485B1 (en) 2020-08-20 2021-10-12 Global Unichip Corporation Interface for semiconductor device with symmetric bond pattern and method for arranging interface thereof
US11687472B2 (en) 2020-08-20 2023-06-27 Global Unichip Corporation Interface for semiconductor device and interfacing method thereof
US11699683B2 (en) 2020-08-20 2023-07-11 Global Unichip Corporation Semiconductor device in 3D stack with communication interface and managing method thereof
CN114333924A (zh) * 2020-09-30 2022-04-12 创意电子股份有限公司 用于三维半导体器件的数据保护系统及其方法
JP2023092684A (ja) * 2021-12-22 2023-07-04 株式会社東芝 磁気ディスク装置及びdolの設定方法
US12020733B2 (en) 2022-04-18 2024-06-25 Western Digital Technologies, Inc. Sector metrics to estimate health of written data
US20240111432A1 (en) * 2022-10-04 2024-04-04 Scality, S.A. Erasure coding implementation with reduced parity calculation overhead

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1124376A (zh) * 1994-12-06 1996-06-12 国际商业机器公司 改进的数据存储设备及操作方法
JP4063694B2 (ja) * 2003-03-11 2008-03-19 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置
US8200887B2 (en) * 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US8316277B2 (en) * 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US7715144B2 (en) * 2008-03-31 2010-05-11 Kabushiki Kaisha Toshiba Track error measurement and recovery
JP5294425B2 (ja) * 2008-07-11 2013-09-18 パナソニック株式会社 無線通信装置
US8438455B2 (en) * 2008-12-31 2013-05-07 Intel Corporation Error correction in a solid state disk
US8988800B1 (en) 2009-09-15 2015-03-24 Marvell International Ltd. Error correction for storage devices
US8683295B1 (en) 2010-08-31 2014-03-25 Western Digital Technologies, Inc. Hybrid drive writing extended error correction code symbols to disk for data sectors stored in non-volatile semiconductor memory
JPWO2012105260A1 (ja) * 2011-02-04 2014-07-03 パナソニック株式会社 記憶装置
US8665545B2 (en) * 2011-12-12 2014-03-04 HGST Netherlands B.V. Shingled magnetic recording (SMR) disk drive with verification of written data
US8976478B1 (en) 2012-10-10 2015-03-10 Seagate Technology Llc Band rewrites based on error scan counts
US8699162B1 (en) 2012-11-18 2014-04-15 HGST Netherlands B.V. Shingled magnetic recording disk drive with multiple data zones containing different numbers of error-correction-code sectors
US9312886B2 (en) 2013-09-20 2016-04-12 Seagate Technology Llc Storage device with multiple coding redundancies
US9093095B2 (en) 2013-10-18 2015-07-28 Western Digital Technologies, Inc. Electronic system with media preparation mechanism and method of operation thereof
GB2519815A (en) * 2013-10-31 2015-05-06 Ibm Writing data cross storage devices in an erasure-coded system
US9286159B2 (en) 2013-11-06 2016-03-15 HGST Netherlands B.V. Track-band squeezed-sector error correction in magnetic data storage devices
US9229813B2 (en) * 2014-03-06 2016-01-05 HGST Netherlands B.V. Error correction with on-demand parity sectors in magnetic data storage devices
US9530442B1 (en) * 2015-09-23 2016-12-27 Western Digital Technologies, Inc. Enhanced low overhead data protection in data storage drives

Also Published As

Publication number Publication date
US9921767B2 (en) 2018-03-20
GB2544170A (en) 2017-05-10
US10372356B2 (en) 2019-08-06
US9530442B1 (en) 2016-12-27
IE20160225A1 (en) 2017-04-05
GB201615712D0 (en) 2016-11-02
US20180210668A1 (en) 2018-07-26
CN107015881A (zh) 2017-08-04
US20170090798A1 (en) 2017-03-30
CN107015881B (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
DE102016011401A1 (de) Erweiterter Datenschutz mit niedrigem Mehraufwand in Datenspeichereinrichtungen
DE112018002951B4 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
JP6294518B2 (ja) 不揮発性メモリシステムにおける同期ミラーリング
US11784667B2 (en) Selecting optimal responses to errors in a storage system
DE102012214324B4 (de) Verfahren und Vorrichtung zur Erleichterung der Datenüberprüfung mithilfe einer Prüfsumme in Verbindung mit einem Sidefile
US9269376B1 (en) Efficient burst data verify in shingled data storage drives
DE112016005869T5 (de) Vorausschauende Arbeitsspeicherinstandhaltung
US9372743B1 (en) System and method for storage management
US9454309B2 (en) Management of a secure delete operation
US8526136B2 (en) Method and system for determining access sequence of data stored on a tape medium
DE102016009224A1 (de) Verbesserte Leistungssteuerung von Datenspeicherarrays
DE102016010505A1 (de) Dienststufenbasierte Steuerung von Speichersystemen
CN108509156A (zh) 数据读取方法、装置、设备及系统
US20160239241A1 (en) Tempered pacing of shingled magnetic storage devices
DE112020005044T5 (de) Zonenanhang-befehlsplanung basierend auf zonenzustand
CN105528180B (zh) 一种数据存储方法、装置及设备
US10642508B2 (en) Method to limit impact of partial media failure of disk drive and detect/report the loss of data for objects due to partial failure of media
DE102017126911A1 (de) Verknüpfter Speichersystem- und Hostsystem-Fehlerkorrekturcode
DE112020003062T5 (de) Dynamische anpassung einer logischen speicherkapazität für speicherlaufwerke
DE112019000131T5 (de) Zuordnung von fehlercodekorrektur auf systemebene basierend auf der gemeinsamen nutzung der datenintegrität der vorrichtungspopulation
DE112014001736T5 (de) Ein Primärspeichermodul mit Aufzeichnung des Nutzungsverlaufs und Anwendungsmöglichkeiten des Primärspeichermoduls bei einem Computersystem
DE112012002641B4 (de) Anzeige eines Schreibvorgangs mit Löschen über eine Benachrichtigung von einem Plattenlaufwerk, das Blöcke einer ersten Blockgrösse innerhalb von Blöcken einer zweiten Blockgrösse emuliert
DE112022002303T5 (de) Selektives wiederherstellen von unterbrochenen vorrichtungen in datenspeichervorrichtungsarrays
US10089202B1 (en) Providing data high availability to a set of host computers via automatic failover
DE112021000794T5 (de) Präventives zwischenspeichern für auslagerung eines ganzen stride

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MEWBURN ELLIS LLP, DE

R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: WESTERN DIGITAL TECHNOLOGIES, INC., SAN JOSE, US

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

R082 Change of representative

Representative=s name: MEWBURN ELLIS LLP, DE

R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE