DE102015002918A1 - Fehlerkorrektur mit On-Demand-Paritätssektoren in magnetischen Datenspeichergeräten - Google Patents

Fehlerkorrektur mit On-Demand-Paritätssektoren in magnetischen Datenspeichergeräten Download PDF

Info

Publication number
DE102015002918A1
DE102015002918A1 DE102015002918.5A DE102015002918A DE102015002918A1 DE 102015002918 A1 DE102015002918 A1 DE 102015002918A1 DE 102015002918 A DE102015002918 A DE 102015002918A DE 102015002918 A1 DE102015002918 A1 DE 102015002918A1
Authority
DE
Germany
Prior art keywords
sectors
track
data
parity
parity sectors
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.)
Withdrawn
Application number
DE102015002918.5A
Other languages
English (en)
Inventor
Sridhar Chatradhi
Martin Aureliano Hassner
Kirk Hwang
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.)
HGST Netherlands BV
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 DE102015002918A1 publication Critical patent/DE102015002918A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • 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
    • 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
    • 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
    • H03M13/353Adaptation to the channel
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/612Aspects specific to channel or signal-to-noise ratio estimation
    • 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/1222ECC block, i.e. a block of error correction encoded symbols which includes all parity data needed for decoding

Abstract

Es werden Datenspeichergeräte mit einem ECC-System beschrieben, die zusätzliche On-Demand-ECC-Informationen für eine zuvor beschriebene Spur erzeugen, um für eine Korrektur von Datenfehlern in der Spur zu sorgen und dadurch die Notwendigkeit des erneuten Beschreibens der Spur zu vermeiden. Ausführungsformen der Erfindung befassen sich mit dem Squeeze-Fehler-Problem, das entsteht, wenn das Schreiben der nächsten (zweiten) Spur in einer Folge das Einführen von Fehlern in der benachbarten, zuvor beschriebenen (ersten) Spur verursacht. In alternativen Ausführungsformen kann das Vorhandensein von Datenfehlern in der ersten Spur durch Lesen der Spur oder durch Schätzen der Anzahl der wahrscheinlichen Fehler unter Verwendung von Kopfpositionsdaten ermittelt werden, die beim Beschreiben der ersten und der zweiten Spur gemessen werden. Die zusätzlichen On-Demand-ECC-Informationen können auf irgendeine Spur geschrieben werden, die verfügbar ist.

Description

  • Verwandte Anmeldungen
  • Der Gegenstand der vorliegenden Anmeldung ist verwandt mit dem Gegenstand der ebenfalls anhängigen Anmeldung ”SKALIERBARE REPARATURBLOCKFEHLERKORREKTUR FÜR MEHRERE SEQUENZIELLE DATENBLÖCKE IN EINEM MAGNETISCHEN DATENSPEICHERGERÄT” mit dem Aktenzeichen 13645309, die am 4. Oktober 2012 eingereicht wurde und die durch Bezugnahme hierin aufgenommen ist.
  • Der Gegenstand der vorliegenden Anmeldung ist auch verwandt mit dem Gegenstand der ebenfalls anhängigen Anmeldung ”TRACK-BAND SQUEEZED-SECTOR ERROR CORRECTION IN MAGNETIC DATA STORAGE DEVICES” mit dem Aktenzeichen 14/072,923, die am 6. November 2013 eingereicht wurde.
  • Gebiet der Erfindung
  • Ausführungsformen der Erfindung betreffen Fehlerkorrekturtechniken in magnetischen Datenspeichergeräten.
  • Allgemeiner Stand der Technik
  • Herkömmliche Plattenlaufwerke mit magnetischen Medien organisieren Daten in konzentrischen Spuren, die voneinander beabstandet sind. Das Konzept des geschindelten Schreibens ist eine Form von magnetischer Aufzeichnung und wurde als Möglichkeit zur Erhöhung der Flächendichte der magnetischen Aufzeichnung vorgeschlagen. Bei schindelartig beschriebenen magnetischen Aufzeichnungsmedien (SRM = Shingle-written Magnetic Recording) wird eine Region (ein Band) von benachbarten Spuren derart beschrieben, dass eine oder mehrere zuvor beschriebene Spuren einander überlappen. SMR-Aufzeichnungstechnologie setzt voraus, dass der tatsächliche Schreibpfad des Schreibkopfs breiter ist als der Spurabstand. Die geschindelten Spuren müssen im Gegensatz zu herkömmlicherweise getrennten Spuren, die in beliebiger Reihenfolge beschrieben werden können, der Reihe nach beschrieben werden. Die geschindelten Spuren auf einer SMR-Plattenfläche sind in mehreren geschindelte Regionen organisiert, die auch I-Regionen genannt werden. Nachdem sie in der Schindelstruktur beschrieben wurde, kann eine einzelne Spur oder ein einzelner Sektor nicht in situ aktualisiert werden, da dies die überlappenden Spuren überschreiben und zerstören würde. SMR-Laufwerke können auch nicht geschindelte Regionen aufweisen, die in nicht überlappender Struktur beschrieben werden, derart, dass einzelne Spuren und Sektoren in situ aktualisiert werden können, was zum Staging einiger Datensätze, bevor sie in eine geschindelte Region geschrieben werden, praktisch ist. Sogenannte E-Regionen (Ausnahmeregionen) werden zum kurzfristigen Speichern, Zwischenspeichern oder Staging von Daten verwendet, die letztendlich in eine geschindelte Region geschrieben werden. SMR-Laufwerke stützen sich auf Dereferenzierungsmapping, das logische Blockadressen (LBAs) mit physikalischen Blockadressen (PBAs) verbindet. Zum Beispiel wird, wenn ein Datensektor, der einer bestimmten LBA entspricht, von einer E-Region in eine I-Region bewegt wird, das Dereferenzierungsmapping aktualisiert.
  • ECC in Plattenlaufwerken wird verwendet, um Fehler und Löschungen zu korrigieren, die auftreten, wenn ein Datenelement fehlt oder als fehlerhaft bekannt ist. Ein herkömmlicher ECC wird auf einer Sektorbasis unter Verwendung von redundanten Bits ausgeführt, die beim Schreiben an die Sektordaten angehängt werden. Eine einfache Fehlererkennungskapazität für jeden Sektor kann durch den Einbezug von Prüfsymbolen erreicht werden, die an die Daten in jedem Sektor angehängt werden. Diese Sektor-ECC-Ansätze sind für einige Plattenlaufwerkanwendungen, wie beispielsweise Streaming-Audio-Video (AV), nicht ideal, und die SMR-Architektur stellt zusätzliche ECC-Probleme dar.
  • Die US-Patentanmeldung 20110075292 von Richard New et al. (31. März 2011) beschreibt SMR-Laufwerke, in welchen ein Band ein jeweiliges Segment in einem protokollstrukturierten Dateisystem bildet. Große Fehlerkorrektur-(ECC)-Blockgrößen innerhalb eines jeden Segments (Bandes) werden durch Speichern des Zwischen-ECC-Paritätszustands nach jeder Teilschreiboperation eines ECC-Blocks ausgeführt. In diesem Fall erstreckt sich die ECC-Blockgröße über mehrere physikalische Sektoren und aufgrund der größeren ECC-Blockgröße ist der Fehlerkorrekturcode effizienter und in der Lage, größere Defekt-Fehler auf der Platte zu korrigieren. Der ECC-Code kann in einer Anzahl von verschiedenen Arten und Weisen ausgeführt werden, welche den Fachleuten auf dem Gebiet der ECC-Code-Entwicklung bekannt sind.
  • Die US-Patentschrift 7,490,212 von Kasiraj et al. (10. Februar 2009) beschreibt ECC für ein SMR-Laufwerk, das zur Aufzeichnung und Wiedergabe von Videodaten in Transaktionsdatenblöcken verwendet werden kann, die größer als die herkömmliche Blockgröße von 512 Byte, aber kleiner als die Bandgröße sind. Große physikalische Sektoren können verwendet werden, um die Formateffizienz zu verbessern, und große ECC-Codewortgrößen (größer als die Transaktionsblockgröße) können verwendet werden, um die Zuverlässigkeit zu verbessern, ohne dem System eine Lesen-Ändern-Schreiben-Leistung zwingend vorzuschreiben. Dazu speichert das Plattenlaufwerk den kumulativen ECC-Paritätszustand zwischen aufeinander folgenden Teilschreiboperationen jedes Transaktionsblocks, derart dass die in einer ersten Schreiboperation berechnete Parität zum Erzeugen der Parität für eine nachfolgende Schreiboperation verwendet wird. Zum Beispiel könnte eine Transaktionsblockgröße ein Megabyte sein, und der ECC könnte sich über das gesamte Band erstrecken. Jedes Mal, wenn ein Transaktionsblock geschrieben wird, wobei das Band schrittweise aufgefüllt wird, wird der kumulative Paritätszustand für den ECC aufrechterhalten, derart dass am Ende des letzten Transaktionsblocks in diesem Band die ECC-Parität ausgeschrieben werden kann. Dies stellt eine sehr lange ECC-Blockgröße und daher einen sehr effizienten ECC-Code bereit, der defekt- und fehlerrobust ist. Der ECC-Code könnte sehr einfach sein, wie beispielsweise ein einziger Paritätssektor, der durch exklusives ODERieren aller der Daten in den physikalischen Sektoren im Band berechnet wird. Dies stellt einen Schutz gegen einen Einzelsektorfehler innerhalb des Bandes bereit. Bei der Verwendung des exklusiven ODERierens ist der Fehlerkorrekturblock jedoch ein Paritätssektor, der nur einen Datenblock korrigieren kann und nicht skalierbar ist.
  • Die veröffentlichte Patentanmeldung 20110096828 (28. April 2011) von Ying Chen et al. beschreibt ein System mit Codierungs- und Decodierungsblöcken mit mehreren unabhängigen Skalierbarkeitsschichten. Es wird davon ausgegangen, dass die FEC (Forward Error Correction – Vorwärtsfehlerkorrektur) jeweils auf einen „Block” oder ein „Fragment” von Daten angewendet wird, d. h. ein „Block” ist ein „Quellblock” für FEC-Codierungs- und Decodierungszwecke. Ein Client-Gerät kann die hierin beschriebene Segmentindizierung verwenden, um die Quellblockstruktur eines Segments bestimmen zu helfen. Die FEC-Codes, die zur Verwendung mit Blockanforderungs-Streaming berücksichtigt werden, sind typischerweise systematische FEC-Codes, d. h. die Quellsymbole des Quellblocks können als Teil der Codierung des Quellblocks enthalten sein, derart dass die Quellsymbole übertragen werden. Ein systematischer FEC-Codierer erzeugt aus einem Quellblock von Quellsymbolen eine gewisse Anzahl von Reparatursymbolen, und die Kombination wenigstens einiger der Quell- und Reparatursymbole stellt die codierten Symbole dar, die über den Kanal gesendet werden und den Quellblock darstellen. Einige FEC-Codes können zum effizienten Erzeugen von so vielen Reparatursymbolen wie nötig verwendet werden, wie beispielsweise „informationsadditiven Codes” oder „Fountain-Codes”, und Beispiele dieser Codes umfassen „Kettenreaktionscodes” und „mehrstufige Kettenreaktionscodes”. Andere FEC-Codes, wie beispielsweise Reed-Solomon-Codes, können praktisch nur eine begrenzte Anzahl von Reparatursymbolen für jeden Quellblock erzeugen.
  • Archivanwendungen für Festplattenlaufwerke (Hard Disk Drive – HDD), wie beispielsweise sogenannter ”Cold Storage”, betreffen Daten, die aus verschiedenen Gründen gespeichert werden aber, wenn überhaupt, nur selten gelesen werden. Für diese Anwendungen unterscheiden sich die Kompromisse zwischen Speicherdichte, Zugriffsgeschwindigkeit usw. bei der HDD-Entwicklung von denjenigen für HDDs, die für Daten verwendet werden, die häufig gelesen werden. Shingled Magnetic Recording(SMR)-Konstruktionen sind für Cold Storage besonders geeignet und kostengünstig. HDD-Archivierungsanwendungen, wie beispielsweise ”Cold Storage”, erfordern erhöhte Kapazitäten, die durch Erhöhung der Anzahl der Spuren pro Zoll erhalten werden. Die Datenintegrität, die eine genaue Datenwiedergewinnung sicherstellt, ist auch eine Anforderung. Dabei handelt es sich um Anforderungen, die miteinander in Konflikt stehen, da die Erhöhung der Anzahl der Spuren pro Zoll durch Zusammendrücken der Breite der Spuren erreicht wird, was ausnahmslos eine Erhöhung der Anzahl der unlesbaren Datensektoren zur Folge hat. Zum Beispiel kann das Beschreiben einer zweiten Spur in einer Folge die magnetische Breite von Abschnitten der ersten benachbarten Spur schmälern, die dann nicht mehr lesbar sind. Dieser Typ von Fehler ist als ”Squeeze-Fehler” bekannt und ”zusammengedrückte Sektoren” entsprechen ”gelöschten Sektoren.”
  • Kurzdarstellung der Erfindung
  • Ausführungsformen der Erfindung erzeugen zusätzliche On-Demand-ECC-Informationen für eine zuvor beschriebene Spur, um für eine Korrektur von Datenfehlern in der Spur zu sorgen und dadurch die Notwendigkeit des erneuten Beschreibens der Spur zu vermeiden. Ausführungsformen der Erfindung befassen sich mit dem Squeeze-Fehler-Problem, das entsteht, wenn das Schreiben der nächsten (zweiten) Spur in einer Folge das Einführen von Fehlern in der benachbarten, zuvor beschriebenen (ersten) Spur verursacht. In alternativen Ausführungsformen kann das Vorhandensein von Datenfehlern in der ersten Spur durch Lesen der Spur oder durch Schätzen der Anzahl der wahrscheinlichen Fehler unter Verwendung von Kopfpositionsdaten ermittelt werden, die beim Beschreiben der ersten und der zweiten Spur gemessen werden. Die zusätzlichen On-Demand-ECC-Informationen können auf irgendeine Spur geschrieben werden, die verfügbar ist, aber es kann vorteilhaft sein, sie in eine dedizierte Spur zu schreiben, die sich entfernt in einem Bereich der Platte befindet, der weniger fehleranfällig ist. Das Laufwerkssystem muss Verbindungsinformationen pflegen, um zu wissen, ob zusätzliche On-Demand-ECC-Informationen für eine bestimmte Spur vorhanden sind und wo sie gespeichert sind, was durch Verbessern des Standard-Dereferenzierungsmappings, das LBAs mit PBAs verbindet, erzielt werden kann.
  • Ausführungsformen der Erfindung weisen ein zweistufiges ECC-System auf, das eine feste Anzahl von Paritätssektoren für eine Spur-ECC-Kapazität der ersten Ebene zusätzlich zu Paritätssektoren für das On-Demand-Spur-ECC-System verwendet. Ausführungsformen der Erfindung ermitteln oder schätzen die Anzahl der Datensektoren, die verloren gehen, wenn die benachbarte zweite Spur beschrieben wird, und erzeugen dann eine Anzahl von ”On-Demand-Paritätssektoren” (unter Verwendung der ursprünglichen Daten für die Spur, die im Speicher gespeichert sind), die größer als oder gleich der Anzahl ist, die erforderlich ist, um die Behebung der bekannten Fehler zu ermöglichen. Diese On-Demand-Paritätssektoren sind auf einer separaten Spur gespeichert. Die mathematischen Algorithmen, die für die erste feste Ebene und die On-Demand-Ebene verwendet werden, können dieselben sein, wobei die On-Demand-Ebene zusätzliche Paritätssektoren und aus diesem Grund eine zusätzliche Korrekturkapazität liefert. Zum Beispiel kann eine ECC-Kapazität einer ersten Spurebene eine erste Menge von R1 Paritätssektoren für jede beschriebene Spur erzeugen, wo R1 eine feste Anzahl ist, die als Teil der Konstruktion ausgewählt wird. Die Paritätssektoren der ersten Menge werden gemeinsam mit den Benutzerdaten auf jede Spur geschrieben. Für Spuren, für die bestimmt wird, dass sie zusätzliche Paritätssektoren erfordern, erzeugt das On-Demand-ECC-System dann dynamisch die erforderlichen (”angeforderten”) zusätzlichen ECC-Informationen (z. B. eine zweite Menge von R2 Paritätssektoren) und schreibt sie auf einer anderen Spur, die es dem ECC-System ermöglicht, die gesamte Spur sogar mit den bekannten Fehlern wiederherzustellen. ECC-Reservekapazitäten für die Spuren können wahlweise zusätzlich zu der ”angeforderten” Mindest-Spur-ECC-Kapazität ausgeführt werden. Da die On-Demand-Menge von R2 Paritätssektoren in einem Ausführungsbeispiel lediglich für eine relativ kleine Untermenge von Spuren beschrieben wird, kann sie wesentlich größer sein als die erste Menge von R1 Paritätssektoren. Das resultierende On-Demand-Korrekturkapazitätsergebnis von R1 + R2 Sektoren kann wesentlich größer sein als R1, ohne dass die R2 Paritätssektoren für jede Spur gespeichert werden müssen.
  • Ausführungsformen der Erfindung können in irgendeinem magnetischen Datenspeichergerät besonders vorteilhaft sein, das für das effiziente sequenzielle Schreiben von Daten auf vollständige Spuren für einen beträchtlichen Betrag der Kapazität des Laufwerks und die Handhabung von nicht sequenziellen Spur- und kurzen Schreiboperationen (d. h. weniger als eine gesamte Spur) als Ausnahmen konstruiert ist. Daher werden Ausführungsformen eines Shingled Magnetic Recording(SMR)-Laufwerks beschrieben aber Ausführungsformen können auch in Laufwerken mit herkömmlichen Köpfen und herkömmlicher Spurorganisation ausgeführt werden. Insbesondere können Laufwerke, die für ”Cold Storage” konstruiert sind, vorteilhafterweise Ausführungsformen des On-Demand-ECC-Systems verwenden.
  • In verschiedenen Ausführungsformen kann die Anzahl zusammengedrückter Datensektorfehler entweder unter Verwendung eines Verfahrens, wie beispielsweise des in der Folge beschriebenen Delta-PES-Verfahrens, geschätzt werden oder die Datensektorfehler können direkt durch ein Rückleseverfahren ermittelt werden. In einer Ausführungsform wird eine erste Spur (Spur-1) rückgelesen, nachdem die anschließende benachbarte überlappende zweite Spur (Spur-2) beschrieben wurde. Die Sektorfehler auf der schindelartig beschriebenen Spur-1 werden unter Verwendung der Spurebenen-Fehlererkennungskapazität des Systems unter Verwendung der redundanten Informationen ermittelt, die die Menge von R1 Paritätssektoren aufweisen, die auf jeder Spur gemeinsam mit den Daten geschrieben werden. In einer Ausführungsform kann das On-Demand-Spur-ECC-Verfahren die gelöschte Sektorzählung verwenden, die einen Sektor-Metadatensymbol-Löschungskorrekturcode, wie beispielsweise den Media-Error Detection Code (MEDC) liefert, der in der verwandten Anmeldung beschrieben ist. Der Auslöser für das On-Demand-Spur-ECC-Verfahren kann eine Reservekorrekturkapazitätsanforderung sein.
  • Als eine Alternative zum Rücklesen der zuvor beschriebenen Spur beschreiben die Anmelder ein Delta-PES-Verfahren, das das Spurzusammendrücken durch Vergleichen der Mengen von Position Error Signal(PES)-Werten schätzt, die aufgezeichnet werden, wenn Spur-1 und Spur-2 beschrieben werden, um zu bestimmen, wann Spur-1 wahrscheinlich zusammengedrückt wurde. Die resultierende geschätzte Anzahl der zusammengedrückten Servosektoren wird dann verwendet, um die Anzahl der zu erzeugenden On-Demand-Paritätssektoren zu berechnen.
  • In Ausführungsformen der Erfindung ist das On-Demand-Spur-ECC-Verfahren konstruiert, um die Hardware-Bauelemente, die durch den ECC auf der ersten Spurebene verwendet werden, effizient zum Erzeugen der ersten Menge von Paritätssektoren zu verwenden. Die ursprünglichen Daten für Spur-1 sind immer noch im Speicher gespeichert, z. B. in einem DRAM-Puffer zur Verwendung durch das On-Demand-System. Die Anzahl der gelöschten Sektoren in Spur-1, die durch das Beschreiben von Spur-2 verursacht wurde, ist an diesem Punkt bekannt oder wurde geschätzt. Dies bestimmt die Anzahl der zusätzlichen Paritätssektoren, die für Spur-1 ”angefordert” werden. Die beschriebenen Ausführungsformen gehen davon aus, dass das System sowohl DRAM- als auch SRAM-Speicher aufweist und dass die effiziente Verwendung dieser grundsätzlich begrenzten Ressourcen wünschenswert ist. Die begrenzte Menge an SRAM-Speicher, der durch den ECC der ersten Ebene verwendet wird, kann für jede Iteration der On-Demand-Verarbeitungsschleife durch Übertragen der erzeugten Teilmenge von Paritätssektoren an den DRAM wiederverwendet werden. Ein Verfahren verwendet programmierbaren direkten Speicherzugriff (Direct Memory Access) zum Übertragen der erzeugten Daten zwischen dem SRAM und dem DRAM. Auf die Spur-1-Daten, die in dem DRAM-Puffer gespeichert sind, wird zugegriffen, wie erforderlich. Das Endergebnis ist die Menge von On-Demand-Paritätssektoren, die mathematisch in der Lage ist, alle gelöschten Sektoren in Spur-1 wiederherzustellen (plus eine wahlfreie Reservekapazität für zusätzliche Löschungen, falls gewünscht).
  • Das Decodierungsverfahren folgt logisch aus der Definition des Codierungsschemas. Das ECC-System der ersten Ebene kann innerhalb seiner Kapazitäten unter Verwendung der Paritätssektoren auf der Spur Spuren verarbeiten und Fehler korrigieren. Das On-Demand-ECC-System der zweiten Ebene muss nur aufgerufen werden, wenn das ECC-System der ersten Ebene die Fehler nicht korrigieren kann. Das On-Demand-System erfordert die Wiedergewinnung der entfernt beschriebenen On-Demand-Paritätssektoren. Das Fehlerkorrekturverfahren der zweiten Ebene kann dann die Paritätssektoren, die auf die Spur geschrieben sind, kombiniert mit den zusätzlichen On-Demand-Paritätssektoren verwenden, die auf der separaten Spur geschrieben sind, um Fehlerkorrektur bis zur Kapazität bereitzustellen, die durch die Gesamtmenge an Paritätssektoren bereitgestellt wird. Sollten die Fehler die Korrekturkapazität überschreiten, dann wird die Spur für unlesbar erklärt.
  • Kurze Beschreibung der Figuren
  • 1 ist ein Blockdiagramm, das einen Spurcodierer gemäß einer Ausführungsform der Erfindung veranschaulicht.
  • 2 ist ein Blockdiagramm, das ein On-Demand-Spurcodierersystem gemäß einer Ausführungsform der Erfindung veranschaulicht.
  • 3 ist ein Ablaufdiagramm, das ein Verfahren veranschaulicht, das Rücklesen nach dem geschindelten Schreiben (Überprüfung der geschindelten Schreiboperation) verwendet, um gelöschte Sektoren mit einem On-Demand-Spurcodierersystem gemäß einer Ausführungsform der Erfindung zu ermitteln.
  • 4 veranschaulicht die Blockstruktur des Codierers/Syndromgenerators, der r-Paritätssektoren gemäß einer Ausführungsform der Erfindung erzeugt.
  • 5 ist ein Ablaufdiagramm, das ein Verfahren veranschaulicht, das den Codierer/Syndromgenerator mit einer festen Anzahl von Multiplizierern verwendet, um die On-Demand-Paritätssektoren gemäß einer Ausführungsform der Erfindung zu erzeugen.
  • 6 ist eine grafische Veranschaulichung eines Verfahrens zur Verwendung von Position Error Signal(PES)-Werten zum Schätzen einer Anzahl von On-Demand-Paritätssektoren, die für eine geschindelte Spur gemäß einer Ausführungsform der Erfindung erforderlich sind.
  • 7 ist ein Ablaufdiagramm, das ein Verfahren zum Verwenden von Position Error Signal(PES)-Werten zum Schätzen einer Anzahl von On-Demand-Paritätssektoren veranschaulicht, die für eine geschindelte Spur gemäß einer Ausführungsform der Erfindung erforderlich sind.
  • Detaillierte Beschreibung der Erfindung
  • Statistische Testdaten über Squeeze-Fehler deuten darauf hin, dass innerhalb eines gewählten Bandes benachbarter Spuren die Anzahl von ”Störspuren”, in denen die Anzahl zusammengedrückter Sektoren eine Durchschnittsanzahl überschreitet, relativ gering ist. Dieser empirische Beweis deutet darauf hin, dass ein Squeezed Sector Erasure Correction Scheme (Korrekturschema für Löschung zusammengedrückter Sektoren), das Track Parity Sectors (Spurparitätssektoren) innerhalb einer gewählten Spur berechnet, um eine große Anzahl von Lesefehlern durch ”zusammengedrückte Sektoren” in einer begrenzten Anzahl von ”Störspuren” zu korrigieren, das Problem sowohl des Sicherstellens der erforderlichen Datenwiedergewinnungszuverlässigkeit als auch des Erhöhens der Kapazität durch das Zulassen schmalerer Spuren lösen kann, die einige Fehler durch zusammengedrückte Daten zur Folge haben. Die empirischen Daten deuten darauf hin, dass Ausführungsformen eines solchen erfindungsgemäßen Schemas einen Kapazitätsgewinn bei den Spuren pro Zoll von 20% auf Kosten von einem zusätzlichen Paritätssektorüberhang von 2% zulassen werden, was Spurparitätssektoren, die ”on demand” hinzugefügt werden, einschließt.
  • In Ausführungsformen der Erfindung können Ausführungsformen der Erfindung zusätzlich zur festen ECC-Kapazität der ersten Ebene zur Fehlerkorrektur in einer einzelnen Spur einen On-Demand-ECC der zweiten Ebene aufweisen, der zusätzliche Paritätssektoren zum Korrigieren von Fehlern in einer beschriebenen Spur verwendet, die die feste ECC-Kapazität für Spuren überschreiten. Die zusätzlichen Paritätsinformationen werden auf eine andere Spur geschrieben, die vorzugsweise On-Demand-Paritätssektoren dediziert ist. Bei Shingled Magnetic Recording(SMR)-Plattenlaufwerken werden sequenzielle logische Blöcke von Benutzerdaten allgemein in sequenzielle physikalische Spuren in geschindelten Regionen geschrieben und so ist ein ECC-System, das erfindungsgemäß eine gesamte Spur abdeckt, praktisch, ohne große Leistungsnachteile nach sich zu ziehen.
  • Ausführungsformen der Erfindung sind besonders nützlich in Cold-Storage-Anwendungen, indem sie a) beim Erreichen einer angegebenen Hard-Fehlerraten-Datenwiederherstellbarkeit in Cold-Storage-Geräten hilft, und b) die Sektorlöschungskorrekturkapazität beim Vorhandensein von ”Alterung” und Nachbarspurstörung (Adjacent Track Interference – ATI) und Fernspurstörung (Far Track Interference – FTI) erhöht, die eine Ausbreitung des Spurzusammendrückens verursachen können. In Ausführungsformen der Erfindung kann die Datenkapazität durch die Erhöhung der Anzahl der Spuren pro Zoll beträchtlich erhöht werden, während die zusätzlichen ECC-Schutzblöcke lediglich einen geringen zusätzlichen Anteil der Kapazität bei einer Erhöhung der Nettodaten beanspruchen.
  • Ausführungsformen der Erfindung fügen On-Demand-Paritätssektoren zu ”Störspuren” hinzu, in denen die Anzahl von unlesbaren zusammengedrückten Sektoren die feste Spur-ECC-Korrekturkapazität überschreitet. Dieser On-Demand-Ansatz ist besser als alle einzelnen Spuren mit einer maximalen Anzahl von Paritätssektoren zu versehen, die für die meisten Spuren nicht benötigt werden und die Kapazität auf unnötige Weise verringern würden.
  • Ausführungsformen der Erfindung können irgendwelche zweckmäßigen mathematischen Algorithmen verwenden, die für Fehlerkorrektur unter Verwendung redundanter Paritätsinformationen sorgen. Die vorhergehend genannten verwandten Anmeldungen weisen eine Beschreibung eines sektorbasierten ECC-Schemas auf Spurebene auf, das mit der vorliegenden Erfindung verwendet werden kann. Eine algebraische Lösung für Ausführungsformen der Erfindung integriert die Sektordaten in eine Spur unter Verwendung eines Cauchy-Matrix-Paritätssektorcodierers zum Erzeugen von ”Spurparitätssektoren”. Dies ist eine strukturierte Matrix, derart, dass der Codierer/Syndromgenerator und Decodierer unter Verwendung iterativ berechneter programmierbarer Multiplizierer und SRAM-Speicher-Akkumulatoren ausgeführt sind, die in SMR-Festplattencontrolleranwendungen (Hard Disk Controller – HDC) verwendet werden. Es sei erwähnt, dass die Standard-Reed-Solomon(RS)-Code-Schieberegisterausführung für diese Anwendung nicht akzeptabel ist.
  • Die Ausführung einer Ausführungsform der Erfindung verwendet programmierbare Cauchy-Matrix-Generatoren und SRAM-Paritätssektordatenspeicher, die in Hardware im Festplattencontroller (Hard Disk Controller – HDC) ausgeführt sind. In der ECC-Spur der festen ersten Ebene sind R1 Paritätssektoren pro Spur ausgeführt, um für die Wiederherstellung von R1 zusammengedrückten Datensektoren in jeder Spur zu sorgen. Die Anzahl der festen Paritätssektoren R1 wird während des Entwicklungsverfahrens für das Plattenlaufwerk bestimmt. Im dynamischen On-Demand-ECC wird eine zusätzliche Menge von R2 Paritätssektoren flexibel verfügbar gemacht, um in irgendeiner Störspur verwendet zu werden, um für die Wiederherstellung von (R1 + R2) zusammengedrückten/gelöschten Datensektoren zu sorgen, wo R2 auf der Grundlage der ermittelten oder geschätzten Fehler variieren kann, die nach dem Schreiben einer Spur und dem Schreiben der benachbarten Spur in der Folge bestimmt wurden.
  • Nun wird die Ausführung einer Ausführungsform der Erfindung beschrieben. 1 ist ein Blockdiagramm, das einen Spurcodierer der ersten Ebene gemäß einer Ausführungsform der Erfindung, wie unten beschrieben, veranschaulicht. Der programmierbare N–Sektorspur-Multiplizierer für die Parität auf Spurebene R1 arbeitet wie folgt:
    Figure DE102015002918A1_0002
    • • Symbolindex l festlegen, dann über Sektorindex i summieren, um das l-te Symbol des j-ten Paritätssektors für die Spur zu erzeugen.
    • • Iterativ berechnen (kumulativ im SRAM speichern): Pj = [Pj,l]l = 1, ..., K, j-ter Paritätssektor.
    • • Indexbereiche sind definiert als: – Pariätssektorindex j ∊ [1, ..., R1] – Sektorindex i ∊ [1, ..., N] – Symbolindex l ∊ [1, K]; wo K die Anzahl der Symbole in einem Paritätssektor ist
  • Ein Ausführungsbeispiel kann, wie unten weiter beschrieben, R1 = 4 aufweisen, mit 4 SRAMs, die jeweils eine Menge von K Symbolen (mit jeweils 12 Bits) für einen Paritätssektor halten und eine effiziente Berechnung der Paritätssektoren der ersten Ebene für jede Spur ermöglichen.
  • Die Operation der 4K-Sektor-Cauchy-Matrix-Codiererausführungsform über dem Galois-Feld GF(212) ist wie folgt beschrieben:
    • • GF*(212) = {zk}, k ∊ [1, 212 – 1], z|z12 + z6 + z4 + z + (1 :: GF(2))
    • • Erste Ebene
      Figure DE102015002918A1_0003
      Rang-(G1) = R1 aj = zi, j ∊ [1, R1]-Zeilenindex, b = z499, i ∊ [1, N]-Spaltenindex
  • 4 veranschaulicht die Blockstruktur des Codierers/Syndromgenerators 41, der r-Paritätssektoren gemäß einer Ausführungsform der Erfindung erzeugt. Der Codierer/Syndromgenerator 41 weist r-programmierbare Multiplizierereinheiten 42 auf, die jeweils einen Paritätssektor erzeugen. Jede Multiplizierereinheit 42 weist einen SRAM 43 auf. Wie unten weiter beschrieben wird, verwenden Ausführungsformen der Erfindung den Codierer/Syndromgenerator 41 sowohl für den ECC der ersten Ebene als auch für das On-Demand-ECC-System der zweiten Ebene.
  • Eine Ausführungsform des ECC-Systems der ersten Ebene, wie vorhergehend beschrieben, weist eine bei der Ausführung ausgewählte feste ECC-Kapazität auf jeder Spur auf, obgleich die Ebene der Kapazität, die ausgewählt wird, von einer Ausführung zur anderen variieren kann. Das On-Demand-Spur-ECC-System, das hier beschrieben wird, stellt SMR-Laufwerken die Kapazität bereit, während des geschindelten Schreibverfahrens durch Ausführen einer variablen ECC-Kapazität Squeeze-Fehler zu ermitteln und darauf zu reagieren.
  • Eine Ausführungsform des On-Demand-ECC-Systems verbessert das Schreibverfahren für sequenzielle Spuren, um zuerst Squeeze-Fehler auf einer zuvor beschriebenen Spur zu ermitteln (das ”nächste beschreiben, vorherige überprüfen” genannt wird) und dann die angeforderten (”demanded”) zusätzlichen ECC-Informationen dynamisch (auf eine andere Spur) zu schreiben, die es dem ECC-System ermöglichen, die gesamte Spur wiederherzustellen. Die zusätzlichen ECC-Informationen sind in ganzen Zahlen von Paritätssektoren organisiert, die dieselbe Größe aufweisen wie die Benutzerdatensektoren. Wie in der Folge beschrieben, können in jedem Servosektor mehrere Datensektoren vorhanden sein. Die Paritätssektoren können vorteilhafterweise in eine dedizierte Spurregion geschrieben werden, die sich entfernt in einem Bereich der Platte befindet, von dem bekannt ist, dass er weniger anfällig für Squeeze-Fehler ist. Das System muss die Verbindungs/Mapping-Informationen pflegen, um zu wissen, ob zusätzliche ECC-Informationen für eine Spur vorhanden sind und wo sie gespeichert sind. Das Standard-Dereferenzierungstabellenschema kann dementsprechend geändert werden, um die Verbindungen aufzuzeichnen.
  • 2 ist ein Blockdiagramm eines Systems, das einen On-Demand-Spur-ECC-Codierer 75 gemäß einer Ausführungsform der Erfindung veranschaulicht. Wenn das dynamische On-Demand-Spur-ECC-Verfahren ausgelöst wird, verwendet es die Zählung oder Schätzung der gelöschten Sektoren 72, die durch den Detektor 71 für die gelöschten Sektoren auf Spurebene geliefert wird. Das On-Demand-Codierungsverfahren erfordert irgendein Verfahren zum dynamischen Bestimmen der Anzahl der zusätzlichen Paritätssektoren, die zu erzeugen sind. Zwei Ausführungsformen des Detektors 71 sind unten mit mehr Details beschrieben. Im Allgemeinen verwendet eine Ausführungsform das Verfahren ”nächste beschreiben, vorherige überprüfen”, das die vorhergehend beschriebene Spur liest und den Medienfehlererkennungscode (Media-Error Detection Code – MEDC) verwendet, um gelöschte Datensektoren auf der Spur gemäß den hier und in den verwandten Anmeldungen beschriebenen Grundsätzen zu erkennen. Eine andere Ausführungsform verwendet das Delta-PES-Verfahren zum Erzeugen einer geschätzten Anzahl von gelöschten Datensektoren, ohne das Lesen der zuvor beschriebenen Spur zu erfordern.
  • Das Betriebsverfahren wird unter Bezugnahme auf zwei benachbarte Spuren beschrieben, die der Einfachheit halber die ersten zwei Spuren in einer geschindelten SMR-Spurregion sind, aber eine praktische Ausführung wird iterativ mit dem Verarbeiten einer großen Anzahl von Spuren in Folge fortfahren. Die ursprünglichen Daten für Spur-1 sind immer noch im Speicher gespeichert, z. B. im DRAM-Puffer 73. Die Ausführungsform weist sowohl DRAM (Dynamic Random Access Memory) 73 als auch SRAM (Static Random Access Memory) 74 auf. Die effiziente Verwendung der begrenzten SRAM-Ressourcen ist auch aufgrund der Kostenfaktoren wünschenswert. Die zusätzlichen ECC-Informationen werden vorteilhafterweise in eine entfernte Spur 76 geschrieben, die sich entfernt in einem Bereich der Platte befindet, der weniger anfällig für Squeeze-Fehler ist. Eine Region der Platte kann zum Speichern dieser On-Demand-Spur-Paritätssektoren dediziert sein. Obgleich die Anzahl der On-Demand-Paritätssektoren vorzugsweise variabel ist, kann eine Ausführung ein durch das System vorgeschriebenes Maximum aufweisen, was die Konstruktion erleichtert.
  • 3 ist ein Ablaufdiagramm eines Verfahrens, das Rücklesen verwendet, um gelöschte Sektoren mit einem On-Demand-Spurcodierersystem gemäß einer Ausführungsform der Erfindung zu ermitteln. Die Benutzerdaten für die erste Spur (Spur-1) und die benachbarte zweite Spur (Spur-2), (die geschindelt/überlappend sein können) wird gemeinsam mit den R1 Paritätssektoren, die durch das ECC-System der ersten Ebene für jede Spur 21 erzeugt werden, auf die Platte geschrieben. Ausführungsformen des Schreibverfahrens ermitteln dynamisch gelöschte Sektoren in Spur-1, nachdem die nachfolgende benachbarte zweite Spur (Spur-2) beschrieben wurde. Die vollständige Menge von Sektoren auf Spur-1 wird von der Platte gemeinsam mit den Prüfsymbolen und Paritätssektoren rückgelesen, die zur Verwendung durch das ECC-System der ersten Ebene erzeugt und geschrieben wurden. Eine Ausführungsform kann gelöschte Datensektoren unter Verwendung der Medienfehlererkennungscodekapazität (Media-Error Detection Code – MEDC) ermitteln, die in der Anmeldung mit dem Titel ”SKALIERBARE REPARATURBLOCKFEHLERKORREKTUR FÜR MEHRERE SEQUENZIELLE DATENBLÖCKE IN EINEM MAGNETISCHEN DATENSPEICHERGERÄT” mit dem Aktenzeichen 13645309 beschrieben ist. Der MEDC-Code ist ein Sektor-Metadaten-Symbol-Löschungskorrekturcode. Jeder Sektor der durch den Benutzer gelieferten Daten wird als ein Media-ECC-Codewort, das Prüfsymbole aufweist, die von den Benutzerdaten berechnet werden, auf die Spur geschrieben, was eine Ermittlung von Löschungen ermöglicht. Das Ergebnis ist die Anzahl der gelöschten Datensektoren auf Spur-1 22. Die Anzahl der gelöschten Sektoren wird dann mit einem Auslöserschwellenwert 23 verglichen. Wenn die Fehler weniger als der Auslöserschwellenwert sind, sind keine On-Demand-Paritätssektoren erforderlich und so wird das Schreibverfahren zur nächsten Spur fortgesetzt und die Variablen werden tatsächlich aktualisiert, wobei in dem vereinfachten Beispiel Spur-2 die Rolle von Spur-1 übernimmt.
  • Wenn die Anzahl der gelöschten Sektoren größer als oder gleich der Auslöserschwellenwert ist, wird das dynamische On-Demand-ECC-Verfahren ausgeführt. Wenn das feste Spur-ECC-System in der Lage ist, alle Datensektoren auf Spur-1 wiederherzustellen, werden in einigen Ausführungsformen keine zusätzlichen On-Demand-ECC-Informationen erzeugt. Es kann indes wünschenswert sein, sicherzustellen, dass das ECC-System der ersten Ebene nicht durch die bekannten Fehler erschöpft wird und aus diesem Grund keine Kapazität zum Korrigieren zusätzlicher Fehler aufweist, die durch ”Alterung” und ”Ausbreitung des Zusammendrückens” verursacht werden können. Aus diesem Grund können Ausführungsformen Reserve-ECC-Kapazität durch Erzeugen zusätzlicher Spurband-ECC-Informationen sicherstellen, wenn die bekannten, korrigierbaren Fehler in Spur-1 die Reservekorrekturkapazität unter einen Schwellenwert verringern.
  • Als ein Beispiel wird angenommen, dass die Spuren mit R1 Paritätssektoren beschrieben werden. Nachdem Spur-1 und Spur-2 auf zwei benachbarte physikalische Spuren auf der Platte geschrieben wurden, wird Spur-1 mit dem MEDC-Detektor gelesen, der in der Lage ist, die Anzahl von Sektoren mit Squeeze-Fehlern Ei festzustellen. Das On-Demand-ECC-System erzeugt R2 zusätzliche On-Demand-Paritätssektoren unter Verwendung der ursprünglichen Daten für Spur-1, die immer noch im Speicher 24 gespeichert sind. Die Anzahl der zusätzlichen Paritätssektoren wird derart ausgewählt, dass R1 + R2 gleich oder größer als die Anzahl der Sektoren mit Squeeze-Fehlern Ei ist. Dies ermöglicht dem System die Wiederherstellung sämtlicher ursprünglicher Daten für Spur-1 unter Verwendung der lesbaren Daten von der Platte für Spur-1 trotz der bekannten Fehler. Dies vermeidet, den Spur-1-Bereich der Platte für nicht verwendbar zu erklären und die Daten auf einer anderen physikalischen Spur neu schreiben zu müssen. Die zusätzlichen On-Demand-Paritätssektoren werden auf eine andere ausgewählte Spur geschrieben, die sich vorzugsweise in einer dedizierten On-Demand-Paritätsregion 26 befindet. Die Dereferenzierungstabelle des Systems wird aktualisiert, um die richtige Zuordnung/Verbindung zwischen Spur-1 und den entsprechenden On-Demand-Paritätssektoren herzustellen. Die Standard-Dereferenzierungstabelle in einem SMR-Laufwerk bildet logische Adressen auf physikalische Adressen ab.
  • Wenn Ei kleiner als oder gleich R1 ist, befinden sich die Fehler innerhalb der Korrekturkapazität des ECC der ersten Ebene und es ist keine zusätzliche Korrektur erforderlich. Wenn indes, wie erwähnt, Ei gleich R1 ist, ist keine Reservemarge für zusätzliche Fehler vorhanden. Aus diesem Grund kann die Auslöserschwelle für On-Demand-Paritätssektoren ausgewählt werden, um kleiner als R1 zu sein. Wenn die Ausführungsform die On-Demand-Paritätssektoren auf einen festen Maximalwert, z. B. Max_R2, begrenzt und wenn die Fehler Ei größer als oder gleich R1 + Max_R2, sind, dann sollte Spur-1 für nicht verwendbar erklärt werden und in den Datensätzen des Systems entsprechend markiert werden. In diesem Fall müssen die Daten für Spur-1 auf einer anderen physikalischen Spur neu geschrieben werden, die die benachbarte Spur sein kann, und die Daten für Spur-2 können auf der folgenden Spur neu geschrieben werden.
  • 5 ist ein Ablaufdiagramm, das ein Verfahren veranschaulicht, dass den Codierer/Syndromgenerator 41 mit einer festen Anzahl von Multiplizierern 42 verwendet, wie in 4 gezeigt, um die On-Demand-Paritätssektoren gemäß einer Ausführungsform der Erfindung zu erzeugen. Ausführungsformen der Erfindung können den Codierer/Syndromgenerator 41 sowohl für den ECC der ersten Ebene als auch für das On-Demand-ECC-System der zweiten Ebene verwenden. Nachdem die Anzahl der gelöschten Sektoren in Spur-1 durch die Verwendung von Delta-PES-Ermittlung bekannt ist, bestimmt dies die Anzahl der für Spur-1 ”angeforderten” zusätzlichen Paritätssektoren und aus diesem Grund die Iterationen der Schleife 51. Eine begrenzte Anzahl von Multiplizierern mit SRAM-Speicher, die zur optimalen Verwendung durch das ECC-System der ersten Ebene ausgewählt wird, kann auf dem On-Demand-ECC-System für jede Iteration der Berechnungsschleife durch Übertragen der erzeugten Sektoren an den DRAM 52 wiederverwendet werden. Dasselbe Hardwareverwendungsschema kann zur Syndromerzeugung während des Decodierungsverfahrens verwendet werden. Als ein Beispiel kann jeder der Cauchy-Matrix-Multiplizierer mit SRAM verwendet werden, um iterativ einen Paritäts/Syndromsektor pro DRAM-Leseoperation zu berechnen. Für einen effizienten Betrieb kann die Anzahl der SRAMs gleich der Anzahl der Paritätssektoren R1 sein, die für jede Spur erzeugt werden. Die SRAM-Inhalte können effizient in jeder Iteration durch DMA auf den DRAM übertragen werden. (Direkter Speicherzugriff – Direct Memory Access (DMA) bezeichnet ein Verfahren zur Übertragung von Daten zwischen Speicherorten ohne Verwendung des Mikroprozessors.)
  • Auf die Spur-1-Daten, die in dem DRAM-Puffer gespeichert sind, wird zugegriffen, wie erforderlich. Das Verfahren kann für die nächste Menge von erforderlichen Paritätssektoren/Syndromsektoren wiederholt werden. Das Ergebnis ist die Menge von Paritätssektoren/Syndromsektoren, die mathematisch in der Lage ist, alle gelöschten Sektoren in Spur-1 (plus eine wahlfreie Reservekapazität für zusätzliche Löschungen) wiederherzustellen. Beim Abschluss der Codierungsberechnung wird die Menge von Paritätssektoren durch Übertragung durch freies Speicherbeschreiben (Free Memory Write – FMW) vom DRAM an die entspannte Spur 76 übertragen.
  • Als ein spezifisches Beispiel wird angenommen, dass die feste Spur der ersten Ebene der ECC-Ausführung 4 SRAMs aufweist, wobei jeweils 4K Bytes verfügbar sind, die verwendet werden, um 4 Paritätssektoren für jede Spur effizient zu berechnen. Ferner wird angenommen, dass die geschätzten oder festgestellten zusammengedrückten Datensektoren in Spur-1 12 gelöschte 4K-Sektoren sind. Aus diesem Grund sind mindestens acht weitere Paritätssektoren erforderlich, was dem angenommenen Betrag von ”ECC-on-Demand” in diesem Beispiel, d. h. zwei Iterationen 51, entspricht. Um dies mit dem verfügbaren 4-SRAM zu bewerkstelligen, liest das Verfahren die Spur-1-Daten im DRAM zwei Mal durch 52, wobei jede Iteration 4-Paritätssektoren unter Verwendung der 4 SRAMs erzeugt 53 und sie durch DMA an den DRAM überträgt 54. Der Schleifenindex wird inkrementiert und die Endbedingung wird getestet 55. Am Ende hat das Verfahren 8 zusätzliche Paritätssektoren für Spur-1 berechnet, die vom DRAM zu einer ausgewählten Spur in einer dedizierten Paritätsregion auf der Platte übertragen werden 56. Die Spur- und Sektoradressen dieser Paritätssektoren werden in einer Dereferenzierungstabelle mit einer zweckmäßigen Verbindung zu Spur-1 gespeichert, wie vorhergehend beschrieben.
  • Das normale Lese/Decodierungsverfahren folgt logisch aus der Definition des Codierungsschemas. Alle wiederherstellbaren Spuren können unabhängig voneinander gelesen werden. Die Dereferenzierungstabelle gibt den PBAs an, wo die zusätzlichen Paritätssektoren für die LBAs gespeichert sind. Der Spur-ECC der ersten Ebene arbeitet, um eine Korrektur für die Anzahl der Fehler innerhalb seiner Kapazität bereitzustellen. Wenn die Fehler die Kapazität der ersten Ebene überschreiten, verwendet der On-Demand-Spur-ECC die gesamte Menge von Paritätssektoren, sowohl die R1 der ersten Ebene als auch die On-Demand R2 der zweiten Ebene, um R1 + R2 Datensektoren zu korrigieren. Wenn die Fehler Ei größer als oder gleich R1 + R2 sind, sollte Spur-1 für nicht wiederherstellbar erklärt werden.
  • In dieser Ausführungsform wird die Menge von Paritätssektoren/Syndromsektoren durch Übertragung mit programmierbarem direkten Speicherzugriff (Direct Memory Access - DMA) in DRAM übertragen werden. Die programmierbaren Cauchy-Matrix-Multiplizierer werden iterativ verwendet, um die Decodierermatrixzeilen zu erzeugen. Jeder zusammengedrückte Sektor wird durch eine ”intermittierende” DRAM-Leseoperation der Syndromsektoren wiederhergestellt. Jede exklusive ODERierte-Blockaktualisierung kann mit DMA an DRAM übertragen werden und mit der vorhergehenden Aktualisierung exklusiv ODERiert werden, um am Ende einer vollständigen Syndromsektor-DRAM-Leseoperation einen wiederhergestellten zusammengedrückten Sektor zu erzeugen.
  • Verwendung von PES-Werten zur Schätzung zusammengedrückter Sektoren
  • Als eine Alternative zum Ansatz zur Überprüfung der geschindelten Schreiboperation, die vorhergehend beschrieben ist, kann eine alternative Ausführungsform eine Schätzung der wahrscheinlichen Anzahl von zusammengedrückten Servosektoren durch Aufzeichnen und anschließendes Vergleichen des entsprechenden Positionsfehlersignals (PES) während des Beschreibens benachbarter Spuren (Spur-1 & Spur-2) erhalten. Das Verfahren verwendet das Delta zwischen den PES-Werten, die für benachbarte Servosektorkennungen (Servo Sector Identifier – SID) gemessen wurden, als einen Proxy, der angeben kann, wann es wahrscheinlich ist, dass die Daten für Spur-1 durch Zusammendrücken unlesbar gemacht wurden, d. h. durch die benachbarten Daten auf Spur-2 überschrieben wurden. Das Schätzen der Anzahl von zusammengedrückten Sektoren unter Verwendung des Deltas zwischen den PES-Werten kann viel effizienter durchgeführt werden als das Durchführen eines Rücklesens. Die Anzahl der zusammengedrückten Sektoren kann durch Multiplizieren mit dem Verhältnis der Datensektoren pro SID für die Spur, die durch die Zone bestimmt ist, in der sich die Spur befindet, in eine entsprechende Anzahl von Datensektoren umgewandelt werden. Jeder zusammengedrückte Datensektor erfordert dann einen entsprechenden Paritätssektor, wie vorhergehend beschrieben. Das Delta-PES-Verfahren erzeugt eine Schätzung, die durch das Durchführen von Experimenten auf einer bestimmten Plattenlaufwerkskonstruktion ”kalibriert” werden sollte, um einen Schwellenwert, der auf die Delta-PES-Werte angewandt werden sollte, sowie eine zusätzliche Erhöhung oder Puffermarge von Paritätssektoren zu bestimmen, die addiert werden sollten, um fehlerhafte niedrige Schätzungen abzudecken.
  • 6 ist eine grafische Veranschaulichung eines Verfahrens zur Verwendung von Position Error Signal(PES)-Werten zum Schätzen einer Anzahl von On-Demand-Paritätssektoren, die für eine geschindelte Spur gemäß einer Ausführungsform der Erfindung erforderlich sind. Es ist lediglich ein kleiner Abschnitt von zwei benachbarten Spuren gezeigt. Der Pfad der Mittellinie des Schreibkopfs 60P für Spur-1, die zuerst geschrieben wird, ist durch die wellige Linie veranschaulicht, die durch jede SID 60A–D, 60N an leicht unterschiedlichen Positionen in Bezug zur idealen Spurmittellinie verläuft, die durch die gestrichelte Linie veranschaulicht ist. Der Pfad der Mittellinie des Schreibkopfs 61P für Spur-2, die als zweites beschrieben wird, ist durch die wellige Linie veranschaulicht, die durch jede SID 61A–D, 61N an leicht unterschiedlichen Positionen in Bezug zur idealen Spurmittellinie verläuft, die durch die gestrichelte Linie veranschaulicht ist. Die tatsächliche Breite der Daten, die durch das Magnetfeld (nicht gezeigt) des Schreibkopfs geschrieben werden, ist breiter als der Pfad der Mittellinie.
  • Wenn der Gleiter, der den Lese- und den Schreibkopf enthält, sich über die SIDs bewegt, ist der Lesekopf in der Lage, die Informationen in der SID zu lesen, die das PES-Signal umfasst. Das PES-Signal wird als eine Analogspannung gelesen, die digitalisiert und im Speicher zur weiteren Verarbeitung gespeichert wird. Die Ausführungsform des Verfahrens verwendet den Absolutwert der Differenz zwischen den vergleichbaren PES-Werten (ΔPES) für die Spuren als eine Angabe des Abstands 65 zwischen den Mittellinien, wie zwischen SID 60D und SID 61D veranschaulicht, und schlussfolgernd die Wahrscheinlichkeit zusammengedrückter Daten um die SID in Spur-1. In diesem Beispiel ist beabsichtigt, dass das ΔPES und der Abstand 65 einen zusammengedrückten Sektorfehler darstellen. Das/der tatsächliche ΔPES und Abstand 65, die einen Squeeze-Fehler angeben würden, sollten empirisch für jede Plattenlaufwerkkonstruktion bestimmt werden.
  • 7 ist ein Ablaufdiagramm, das ein Verfahren zum Verwenden von Position Error Signal(PES)-Werten zum Schätzen einer Anzahl von On-Demand-Paritätssektoren veranschaulicht, die für eine geschindelte Spur gemäß einer Ausführungsform der Erfindung erforderlich sind. Es ist lediglich eine Iteration gezeigt, die die Anzahl der On-Demand-Paritätssektoren berechnet, die für Spur-1 erforderlich sind. Das Verfahren kann durch Iteration mit der zweckmäßigen Einstellung der Variablen auf irgendeine Anzahl Spuren angewandt werden. Während Spur-1 beschrieben wird, wird der an jeder SID(i) gemessene Wert PES1(i) im Speicher 81 gespeichert. In einem typischen Plattenlaufwerk werden PES-Werte für einige wenige SIDs gemessen und gespeichert, aber diese Ausführungsform erfordert, dass die Menge von PES-Werten für die gesamte Spur gespeichert wird. Wie vorhergehend beschrieben, tritt das Zusammendrücken von Spur-1 auf, wenn die benachbarte Spur-2 geschindelt beschrieben wird, um Spur-1 teilweise zu überlappen. Aus diesem Grund wird, während Spur-2 beschrieben wird, in dieser Ausführungsform der an jeder SID(i) gemessene Wert PES2(i) im Speicher 82 gespeichert. Das Verfahren kann die Delta-Berechnungen durchführen, nachdem Spur-2 vollständig beschrieben wurde oder die PES2(i)-Werte können verarbeitet werden, um die Deltas zu finden, während Spur-2 beschrieben wird. Das Verfahren berechnet ΔPES(i) als den Absolutwert der Differenz zwischen PES2(i) und PES1(i): ΔPES(i) = |PES1(i) – PES2(i)|; für i = 0 ... N
  • Für jedes ΔPES(i), das kleiner als der gewählte Schwellenwert ist, wird Sector_Squeeze_Count inkrementiert 83. Der Schwellenwert wird empirisch für eine bestimmte Plattenlaufwerkkonstruktion bestimmt. Es ist auch möglich, mehr als einen Schwellenwert zu verwenden. Zum Beispiel könnte ein sehr niedriger Delta-PES darauf hindeuten, dass mehr Datensektoren in sowohl dem vorhergehenden als auch dem folgenden Servosektor zusammengedrückt sind und dass aus diesem Grund Sector_Squeeze_Count anstatt um eins um zwei erhöht werden sollte. Aus diesem Grund könnten einige Ausführungsformen ein zweistufiges Schwellenwertschema ausführen.
  • Der Sector_Squeeze_Count ist eine Schätzung von geschmälerten/zusammengedrückten Datenspurbreiten an der SID. Zwischen SIDs können mehrere Benutzerdatensektoren vorhanden sein und die erforderliche Zählung der On-Demand-Paritätssektoren wird durch Multiplizieren von Sector_Squeeze_Count mit einer Anzahl erhalten, die für die Datensektoren pro Servosektoren in der bestimmten Spur charakteristisch ist, die für jede Datenzone 84 definiert ist. Die resultierende Anzahl von On-Demand-Paritätssektoren wird in ganzzahligen Inkrementen 85 zugewiesen.
  • Die Datensektorgröße ist typischerweise eine feste Länge von entweder 512 Bytes oder 4K Bytes. Gegenwärtige Plattenlaufwerke weisen dieselbe Anzahl von Servosektoren pro Spur über die gesamte Plattenfläche auf, die in Servokeilen angeordnet sind, deren Anzahl in die Hunderte gehen kann, zum Beispiel 420. Da die äußeren Spuren mehr Aufzeichnungskapazität zwischen SIDs aufweisen als die inneren, sind die Spuren in Zonen (auch Regionen oder Bänder genannt) unterteilt, die eine feste Anzahl von Datensektoren pro Spur aufweisen. Die äußeren Zonen weisen mehr Datensektoren pro Spur auf. Als ein Beispiel könnte die am weitesten außen gelegene Zone 3250 Datensektoren pro Spur aufweisen, die 512 Bytes sind. Unter der Annahme von 420 SIDs pro Spur sind pro SID etwa 7.7 Datensektoren vorhanden. Die Anzahl der Datensektoren ist nicht notwendigerweise ein ganzzahliges Vielfaches der SIDs und einige Datensektoren können durch die SID in der Servoplattform unterteilt werden, wodurch ein geteilter Datensektor entsteht. Eine Ausführungsform verwendet das Verhältnis von SIDs zu Datensektoren als den Multiplikator, der dann auf einen ganzzahligen Wert von Paritätssektoren aufgerundet wird. Wenn zum Beispiel Sector_Squeeze_Count für eine Spur in dieser äußeren Zone 4 betrug, dann ergibt 4·7.7 gleich 31 On-Demand-Paritätssektoren, die erzeugt werden. Mit demselben Beispiel fortfahrend, könnte eine Spur in der am weitesten innen gelegenen Zone einen Multiplikator von etwa 3.8 verwenden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 7490212 [0007]

Claims (20)

  1. Datenspeichergerät, das Daten in einer Region auf einer Platte in mehreren Spuren aufzeichnet, die mehrere Sektoren von Daten aufweisen, wobei das Datenspeichergerät Folgendes aufweist: ein Spurebenen-Fehlerkorrektursystem, das eine erste Menge von Paritätssektoren auf eine ausgewählte erste Spur auf der Platte zusätzlich zu einer ersten Menge von Datensektoren schreibt, wobei die erste Menge von Paritätssektoren unter Verwendung der ersten Menge von Datensektoren berechnet wird, die in einem Speicher gespeichert sind; und ein On-Demand-Fehlerkorrektursystem, das eine Anzahl von Datensektorfehlern in der ersten Menge von Datensektoren auf der ersten Spur bestimmt, nachdem eine benachbarte zweite Spur beschrieben wurde, und als Reaktion auf das Überschreiten eines ausgewählten Schwellenwerts durch die Anzahl eine zweite Menge von Paritätssektoren schreibt, die unter Verwendung der ersten Menge von Datensektoren berechnet wurde, die in dem Speicher gespeichert sind, und wobei die zweite Menge von Paritätssektoren auf einer ausgewählten dritten Spur geschrieben wird, die sich von der ausgewählten ersten Spur unterscheidet.
  2. Datenspeichergerät nach Anspruch 1, wobei R1 Paritätssektoren in der ersten Menge von Paritätssektoren vorhanden sind und R1 für alle Spuren in der Region konstant ist; und R2 Paritätssektoren in der zweiten Menge von Paritätssektoren vorhanden sind und die Größe von R2 gemäß der Anzahl von Datensektorfehlern variiert und eine maximale Größe aufweist, die größer ist als R1.
  3. Datenspeichergerät nach Anspruch 1, wobei R1 Paritätssektoren in der ersten Menge von Paritätssektoren und R2 Paritätssektoren in der zweiten Menge von Paritätssektoren vorhanden sind und wobei ein Verfahren zur Wiedergewinnung von Daten von der ausgewählten ersten Spur eine Fehlerkorrektur von bis zu R1 Datensektoren durch das Spurebenen-Fehlerkorrektursystem unter Verwendung der ersten Menge von Paritätssektoren aufweist; und wobei das On-Demand-Fehlerkorrektursystem Fehlerkorrektur durchführt, wenn das Spurebenen-Fehlerkorrektursystem nicht alle Fehler korrigieren kann, die in den Daten, so wie sie von der Platte von der ausgewählten ersten Spur gelesen werden, ermittelt wurden; und das On-Demand-Fehlerkorrektursystem Fehlerkorrektur unter Verwendung der ersten und zweiten Menge von Paritätssektoren durchführt, um bis zu R1 + R2 Datensektoren zu korrigieren.
  4. Datenspeichergerät nach Anspruch 1, wobei das On-Demand-Fehlerkorrektursystem eine Dereferenzierungstabelle aktualisiert, um eine Verbindung zwischen der zweiten Menge von Paritätssektoren und der ausgewählten ersten Spur herzustellen.
  5. Datenspeichergerät nach Anspruch 1, wobei das On-Demand-Fehlerkorrektursystem mindestens eine ausgewählte Anzahl von Paritätssektoren in der zweiten Menge von Paritätssektoren erzeugt, die erforderlich sind, um die Anzahl von Datensektorfehlern auf der ausgewählten ersten Spur unter Verwendung der ersten und der zweiten Menge von Paritätssektoren zu korrigieren.
  6. Datenspeichergerät nach Anspruch 1, wobei die erste Menge von Datensektoren gemeinsam mit Prüfsymbolen geschrieben wird, die eine Feststellung von Löschungen ermöglichen, und die Anzahl von Datensektorfehlern unter Verwendung der Prüfsymbole und der Daten, so wie sie von der Platte gelesen werden, bestimmt wird.
  7. Datenspeichergerät nach Anspruch 1, wobei die Anzahl von Datensektorfehlern durch Vergleichen einer ersten Menge von Positionsfehlersignalwerten, die während des Schreibens der ersten Menge von Datensektoren auf der ausgewählten ersten Spur gemessen werden, mit einer zweiten Menge von Positionsfehlersignalwerten, die während des Schreibens der zweiten Menge von Datensektoren auf der benachbarten zweiten Spur gemessen werden, bestimmt werden, um eine Anzahl von Datensektoren in der ersten Menge von Datensektoren mit Squeeze-Fehlern auf der Grundlage eines Delta zwischen entsprechenden Elementen in der ersten und der zweiten Menge von Positionsfehlersignalwerten zu schätzen, die unter einem ausgewählten Wert liegen.
  8. Datenspeichergerät nach Anspruch 1, wobei die erste Menge von Paritätssektoren eine feste Anzahl R1 von Paritätssektoren aufweist und das Spurebenen-Fehlerkorrektursystem R1 Multiplizierer verwendet, die jeweils einen SRAM aufweisen, um die R1 Paritätssektoren zu erzeugen, und wobei die zweite Menge von Paritätssektoren eine variable Anzahl R2 von Paritätssektoren aufweist und R2 für eine Teilmenge von Spuren größer als R1 ist und wobei das On-Demand-Fehlerkorrektursystem die R1 Multiplizierer verwendet, um R2 Paritätssektoren durch iteratives Erzeugen von R1 Teilmengen der R2 Paritätssektoren zu erzeugen.
  9. Datenspeichergerät nach Anspruch 7, wobei das On-Demand-Fehlerkorrektursystem die R1 Teilmengen der Paritätssektoren durch direkten Speicherzugriff (Direct Memory Access – DMA) für jede Iteration vom SRAM zum DRAM überträgt.
  10. Datenspeichergerät nach Anspruch 1, wobei das Spurebenen- und das On-Demand-Fehlerkorrektursystem eine Cauchy-Matrix zum Erzeugen der Paritätssektoren verwenden.
  11. Verfahren zum Betreiben eines Datenspeichergeräts, das Daten in einer Region auf einer Platte in Spuren aufzeichnet, die mehrere Sektoren von Daten aufweisen, wobei das Verfahren Folgendes aufweist: Schreiben einer ersten Menge von Datensektoren, die in einem Speicher gespeichert sind, auf eine ausgewählte erste Spur gemeinsam mit einer ersten Menge von Paritätssektoren, die unter Verwendung der ersten Menge von Datensektoren berechnet werden; Beschreiben einer benachbarten zweiten Spur neben der ausgewählten ersten Spur; und Bestimmen einer Anzahl von Datensektorfehlern in der ausgewählten ersten Spur, die vorhanden sind, nachdem die benachbarte zweite Spur beschrieben wurde, und Schreiben einer zweiten Menge von Paritätssektoren für die ausgewählte erste Spur, wenn die Anzahl der Datensektorfehler einen ausgewählten Schwellenwert überschreitet, wobei die zweite Menge von Paritätssektoren unter Verwendung der ersten Menge von Datensektoren berechnet wird, die in dem Speicher gespeichert sind, und Schreiben der zweiten Menge von Paritätssektoren auf eine ausgewählte dritte Spur, die sich von der ausgewählten ersten Spur unterscheidet.
  12. Verfahren nach Anspruch 11, wobei das Schreiben der ersten Menge von Datensektoren ferner das Schreiben von Prüfsymbolen aufweist, die eine Feststellung von Löschungsfehlern ermöglichen, und das Verfahren ferner Folgendes umfasst: Lesen der ersten Menge von Datensektoren von der ausgewählten ersten Spur gemeinsam mit der ersten Menge von Paritätssektoren und den Prüfsymbolen; und Feststellen von Fehlern in der ersten Menge von Datensektoren unter Verwendung der Prüfsymbole und Korrigieren festgestellter Fehler, wenn die festgestellten Fehler weniger als oder gleich der Anzahl von Paritätssektoren in der ersten Menge sind, anderenfalls Wiedergewinnen der zweiten Menge von Paritätssektoren von der dritten Spur und Verwenden der ersten und der zweiten Menge von Paritätssektoren zum Korrigieren der ermittelten Fehler.
  13. Verfahren nach Anspruch 11, das ferner das Aktualisieren einer Dereferenzierungstabelle umfasst, um eine Verbindung zwischen der zweiten Menge von Paritätssektoren und der ausgewählten ersten Spur herzustellen.
  14. Verfahren nach Anspruch 11, wobei die zweite Menge von Paritätssektoren mindestens eine ausgewählte Anzahl von Paritätssektoren aufweist, die erforderlich sind, um die Datensektorfehler, deren Vorhandensein in der ausgewählten ersten Spur bestimmt wurde, unter Verwendung der ersten und der zweiten Menge von Paritätssektoren zu korrigieren.
  15. Verfahren nach Anspruch 11, wobei das Schreiben der ersten Menge von Datensektoren ferner das Schreiben von Prüfsymbolen aufweist, die die Feststellung von Löschungsfehlern ermöglichen, und die Datensektorfehler durch Lesen der ausgewählten ersten Spur von der Platte und unter Verwendung der Prüfsymbole zum Feststellen von Fehlern bestimmt werden.
  16. Verfahren nach Anspruch 11, wobei die Datensektorfehler durch Vergleichen einer ersten Menge von Positionsfehlersignalwerten, die während des Schreibens der ausgewählten ersten Spur gemessen werden, mit einer zweiten Menge von Positionsfehlersignalwerten, die während des Schreibens der benachbarten zweiten Spur gemessen werden, bestimmt werden, um die Anzahl von Datensektorfehlern in der ersten Menge von Datensektoren auf der Grundlage eines Delta zwischen entsprechenden Elementen in der ersten und der zweiten Menge von Positionsfehlersignalwerten zu schätzen, die unter einem ausgewählten Wert liegen.
  17. Verfahren nach Anspruch 11, wobei die erste Menge von Paritätssektoren eine feste Anzahl R1 von Paritätssektoren für jede Spur in der Region aufweist und das Gerät R1 Multiplizierer verwendet, die jeweils einen SRAM aufweisen, um die R1 Paritätssektoren zu erzeugen, und wobei die zweite Menge von Paritätssektoren eine variable Anzahl R2 von Paritätssektoren aufweist, die zwischen Spuren in der Region variiert, und R2 für eine Teilmenge von Spuren größer als R1 ist und wobei das Gerät die R1 Multiplizierer verwendet, um R2 Paritätssektoren durch iteratives Erzeugen von R1 Teilmengen der R2 Paritätssektoren zu erzeugen.
  18. Verfahren nach Anspruch 17, wobei die Vorrichtung die R1 Teilmengen der Paritätssektoren durch direkten Speicherzugriff (Direct Memory Access – DMA) für jede Iteration vom SRAM zum DRAM überträgt.
  19. Verfahren nach Anspruch 11, wobei die erste und die zweite Menge von Paritätssektoren unter Verwendung einer Cauchy-Matrix erzeugt werden.
  20. Verfahren nach Anspruch 19, wobei die Größe der zweiten Menge von Paritätssektoren variabel ist und größer als die erste Menge von Paritätssektoren für eine Teilmenge von Spuren ist.
DE102015002918.5A 2014-03-06 2015-03-06 Fehlerkorrektur mit On-Demand-Paritätssektoren in magnetischen Datenspeichergeräten Withdrawn DE102015002918A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/199,807 US9229813B2 (en) 2014-03-06 2014-03-06 Error correction with on-demand parity sectors in magnetic data storage devices
US14/199,807 2014-03-06

Publications (1)

Publication Number Publication Date
DE102015002918A1 true DE102015002918A1 (de) 2015-09-10

Family

ID=52876501

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015002918.5A Withdrawn DE102015002918A1 (de) 2014-03-06 2015-03-06 Fehlerkorrektur mit On-Demand-Paritätssektoren in magnetischen Datenspeichergeräten

Country Status (5)

Country Link
US (1) US9229813B2 (de)
CN (1) CN104898986A (de)
DE (1) DE102015002918A1 (de)
GB (1) GB2525733B (de)
IE (1) IE20150063A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10067828B2 (en) * 2014-10-03 2018-09-04 Hitachi, Ltd. Memory controller and data control method
US9508362B2 (en) * 2014-11-24 2016-11-29 Seagate Technology Llc Write management for interlaced magnetic recording devices
US9530442B1 (en) * 2015-09-23 2016-12-27 Western Digital Technologies, Inc. Enhanced low overhead data protection in data storage drives
US9536563B1 (en) * 2016-02-16 2017-01-03 Seagate Technology Llc Detecting shingled overwrite errors
US10574270B1 (en) 2016-11-09 2020-02-25 Seagate Technology Llc Sector management in drives having multiple modulation coding
US9881643B1 (en) 2017-05-15 2018-01-30 Western Digital Technologies, Inc. Data storage device generating extended redundancy to compensate for track squeeze
US10489253B2 (en) * 2017-05-16 2019-11-26 International Business Machines Corporation On-demand GPR ECC error detection and scrubbing for a multi-slice microprocessor
US10437674B1 (en) 2017-06-01 2019-10-08 Seagate Technology Llc Variable parity sectors
US10373645B2 (en) 2017-11-17 2019-08-06 Western Digital Technologies, Inc. Data storage device dynamically generating extended redundancy over interleaves of a data track
US10565051B2 (en) 2018-02-06 2020-02-18 Alibaba Group Holding Limited Accommodating variable page sizes in solid-state drives using customized error correction
JP2019153367A (ja) * 2018-03-06 2019-09-12 株式会社東芝 磁気ディスク装置および記録方法
JP2020042888A (ja) 2018-09-13 2020-03-19 株式会社東芝 磁気ディスク装置および磁気ディスク装置の制御方法
US10748567B1 (en) * 2019-10-17 2020-08-18 Western Digital Technologies, Inc. Data storage device aborting write operation based on accumulated track squeeze metric for adjacent data track
JP2021140835A (ja) * 2020-03-02 2021-09-16 株式会社東芝 磁気ディスク装置
JP7234176B2 (ja) * 2020-03-17 2023-03-07 株式会社東芝 磁気ディスク装置及びDepop処理方法
US11327836B1 (en) 2020-09-29 2022-05-10 Xilinx, Inc. Protection of data on a data path in a memory system
CN112511848B (zh) * 2020-11-09 2023-06-20 网宿科技股份有限公司 直播方法、服务端及计算机可读存储介质
JP2022185311A (ja) * 2021-06-02 2022-12-14 株式会社東芝 磁気ディスク装置及びリード/ライト処理方法
US20230068324A1 (en) * 2021-08-30 2023-03-02 Micron Technology, Inc. Direct logical-to-physical address mapping
JP2024045862A (ja) 2022-09-22 2024-04-03 株式会社東芝 磁気ディスク装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490212B2 (en) 2003-09-29 2009-02-10 Hitachi Global Storage Technologies Netherlands B.V. System and method for writing data to dedicated bands of a hard disk drive

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1139338A3 (de) * 1994-03-19 2006-10-11 Sony Corporation Optische Platte und Verfahren und Gerät zur Aufzeichnung und Wiedergabe von dieser Platte
JP3373690B2 (ja) * 1994-09-07 2003-02-04 株式会社東芝 ディスク状記録媒体及びディスク装置
DE69623859T2 (de) * 1995-06-05 2003-08-07 Sony Electronics Inc Aufnahme und Wiedergabe von digitalen Signalen
US6275965B1 (en) 1997-11-17 2001-08-14 International Business Machines Corporation Method and apparatus for efficient error detection and correction in long byte strings using generalized, integrated, interleaved reed-solomon codewords
JP2002342942A (ja) * 2001-05-14 2002-11-29 Toshiba Corp 情報記憶媒体、情報記録方法、および情報記録再生装置
US6993688B2 (en) * 2001-09-27 2006-01-31 Seagate Technology Llc Data sector error tracking and correction mechanism
US7283316B2 (en) 2002-01-17 2007-10-16 Maxtor Corporation Vertical track zoning for disk drives
US6891690B2 (en) 2002-11-20 2005-05-10 International Business Machines Corporation On-drive integrated sector format raid error correction code system and method
US7996645B2 (en) 2003-09-26 2011-08-09 Hitachi Global Storage Technologies Netherlands B.V. Log-structured file system for disk drives with shingled writing
US20060039246A1 (en) 2004-08-19 2006-02-23 Dcard, Inc. Adaptive system to allow multiple update and correction sessions on an optical data storage card
US7529966B2 (en) 2004-08-20 2009-05-05 Hewlett-Packard Development Company, L.P. Storage system with journaling
US7454686B2 (en) * 2004-11-23 2008-11-18 International Business Machines Corporation Apparatus and method to check data integrity when handling data
US7570445B2 (en) 2006-04-26 2009-08-04 Seagate Technology Llc Adaptively adjusting seek function control parameters based on off-track write events
CN101627569B (zh) 2007-03-06 2012-12-26 汤姆逊许可公司 自适应及可伸缩的包纠错装置和方法
US7663835B1 (en) 2007-06-28 2010-02-16 Western Digital Technologies, Inc. System and method for identifying track squeeze errors (TSEs) of a disk of a disk drive
JP2009070496A (ja) 2007-09-13 2009-04-02 Hitachi Global Storage Technologies Netherlands Bv ディスク・ドライブ装置、その製造方法及びディスク・ドライブ装置のデータ・トラック・ピッチを決定する方法
US7639447B1 (en) 2008-02-18 2009-12-29 Western Digital Technologies, Inc. Servo track squeeze compensation in a disk drive
JP4643667B2 (ja) 2008-03-01 2011-03-02 株式会社東芝 メモリシステム
JP5032371B2 (ja) 2008-03-01 2012-09-26 株式会社東芝 メモリシステム
US8276043B2 (en) 2008-03-01 2012-09-25 Kabushiki Kaisha Toshiba Memory system
US8375274B1 (en) * 2009-03-23 2013-02-12 Western Digital Technologies, Inc. Disk drive recovering multiple codewords in data sectors using progressively higher order parity codewords
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US8913335B2 (en) * 2011-05-23 2014-12-16 HGST Netherlands B.V. Storage device with shingled data and unshingled cache regions
US8665545B2 (en) * 2011-12-12 2014-03-04 HGST Netherlands B.V. Shingled magnetic recording (SMR) disk drive with verification of written data
US20140055881A1 (en) * 2012-08-22 2014-02-27 Lsi Corporation Recording regions in a shingled magnetic hard disk drive system
US8856618B2 (en) * 2012-10-04 2014-10-07 HGST Netherlands B.V. Scalable repair block error correction for sequential multiple data blocks in a magnetic data storage device
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
US9286159B2 (en) * 2013-11-06 2016-03-15 HGST Netherlands B.V. Track-band squeezed-sector error correction in magnetic data storage devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490212B2 (en) 2003-09-29 2009-02-10 Hitachi Global Storage Technologies Netherlands B.V. System and method for writing data to dedicated bands of a hard disk drive

Also Published As

Publication number Publication date
GB2525733B (en) 2016-05-25
IE20150063A1 (en) 2015-09-09
US9229813B2 (en) 2016-01-05
GB201503665D0 (en) 2015-04-15
US20150254135A1 (en) 2015-09-10
CN104898986A (zh) 2015-09-09
GB2525733A (en) 2015-11-04

Similar Documents

Publication Publication Date Title
DE102015002918A1 (de) Fehlerkorrektur mit On-Demand-Paritätssektoren in magnetischen Datenspeichergeräten
DE112012000385B4 (de) Korrigieren von Auslöschungen in Speicher-Arrays
DE102017120840B4 (de) Verfahren und Vorrichtung zur Detektion und Handhabung von Lesestörungen
DE102013016147A1 (de) Skalierbare Reparaturblockfehlerkorrektur für mehrere sequenzielle Datenblöcke in einem magnetischen Datenspeichergerät
DE69434381T2 (de) Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers
DE112010003887B4 (de) Datenverwaltung in Halbleiter-Speichereinheiten
DE112011103295B4 (de) Decodieren in Solid-State-Speichereinheiten
DE112010003345B4 (de) Datenspeichersystem und Verfahren für das Betreiben eines Datenspeichersystems
DE112016005869T5 (de) Vorausschauende Arbeitsspeicherinstandhaltung
DE112011100371B4 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Decodieren eines Codeworts
DE112010003645B4 (de) Festkörper-Speichersystem mit Parallelem Zugriff aus Mehreren Flash/PCM-Einrichtungen
DE602004011097T2 (de) Flash-speicherdatenkorrektur- und scrub-techniken
DE112013005453B4 (de) Rekonstruierende Fehlerbehebungsprozedur (ERP) für mehrerer Datensätze unter Verwendung eines reservierten Puffers
DE112014001305B4 (de) Auswahl einer redundanten Datenspeicherkonfiguration auf der Grundlage verfügbaren Speicherplatzes
DE69831790T2 (de) Verfahren zum Lesen während des Schreibens in einer Datenspeichervorrichtung
DE19983218B4 (de) Verfahren zum Codieren von Datensignalen zur Speicherung
DE112018004370T5 (de) Verfahren zum wiederherstellen einer ausgefallenen speichervorrichtung
DE112014002870B4 (de) Kombinations-Fehler- und Löschdecodierung für Produktcodes
DE112010004863T5 (de) Datenverwaltung in Festkörperspeichersystemen
DE202008018572U1 (de) Speichersystem
DE102016108733B4 (de) Steuern einer redundanten Anordnung von unabhängigen Festplatten (RAID), welche ein Nur-Lese-Flash-Datenspeichergerät einschließt
US20040123032A1 (en) Method for storing integrity metadata in redundant data layouts
DE102021115858A1 (de) Tlc-datenprogrammierung mit hybrid-parität
DE102013016681B4 (de) Codieren und Decodieren von Daten zum Vornehmen von Anpassungen für Speicherzellen mit Haftfehlern
TWI461901B (zh) 資料儲存與重建的方法與系統

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee