DE112011100199T5 - Integrierter Daten- und Vorsatzschutz für Bandlaufwerke - Google Patents

Integrierter Daten- und Vorsatzschutz für Bandlaufwerke Download PDF

Info

Publication number
DE112011100199T5
DE112011100199T5 DE112011100199T DE112011100199T DE112011100199T5 DE 112011100199 T5 DE112011100199 T5 DE 112011100199T5 DE 112011100199 T DE112011100199 T DE 112011100199T DE 112011100199 T DE112011100199 T DE 112011100199T DE 112011100199 T5 DE112011100199 T5 DE 112011100199T5
Authority
DE
Germany
Prior art keywords
data
ecc parity
parity
ecc
line
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.)
Granted
Application number
DE112011100199T
Other languages
English (en)
Other versions
DE112011100199B4 (de
Inventor
Hisato Matsuo
Kenji Ohtani
Paul Seger
Roy Daron Cideciyan
Thomas Mittelholzer
Keisuke Tanaka
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112011100199T5 publication Critical patent/DE112011100199T5/de
Application granted granted Critical
Publication of DE112011100199B4 publication Critical patent/DE112011100199B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • G11B2020/1836Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code
    • G11B2020/184Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code using a cross-interleaved Reed Solomon [CIRC]
    • 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
    • G11B2020/1853Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a product code which has inner and outer parity symbols
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Ein Verfahren zum Integrieren von Daten- und Vorsatzschutz bei Bandlaufwerken beinhaltet das Empfangen einer in Zeilen und Spalten gegliederten Datenanordnung. Die Anordnung wird so erweitert, dass sie einen oder mehrere Vorsätze für jede Datenzeile in der Anordnung beinhaltet. Das Verfahren stellt zwei Dimensionen von Fehlerkorrekturcode(ECC)-Schutz für die Daten in der Anordnung und eine einzige Dimension von ECC-Schutz für die Vorsätze in der Anordnung bereit. Eine entsprechende Vorrichtung wird hierin ebenfalls offenbart.

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft Bandlaufwerke und insbesondere Vorrichtungen und Verfahren zum Integrieren von Daten- und Vorsatz-Schutz (data and header protection) in Bandlaufwerke.
  • HINTERGRUND DER ERFINDUNG
  • Bei manchen Bandlaufwerken wie beispielsweise aktuellen LTO-Bandlaufwerken und Bandlaufwerken für den Einsatz in Unternehmen werden Datenblöcke variabler Länge von einer Host-Schnittstelle empfangen und in feste Einheiten umgewandelt, die als Datensätze bekannt sind. Diese Datensätze sind üblicherweise in kleinere feste Einheiten unterteilt, die als Teildatensätze (sub data sets – SDS) bekannt sind. Auf diese Teildatensätze als Einheit wird dann eine Fehlerkorrekturcodierung angewandt, um die darin enthaltenen Daten zu schützen.
  • Um Daten in einem SDS zu schützen, können übliche Bandlaufwerke einen Teildatensatz in eine aus Zeilen und Spalten zusammengesetzte zweidimensionale Anordnung (array) gliedern. Jede Zeile in der zweidimensionalen Anordnung kann sich aus mehreren (z. B. 2 oder 4) verschachtelten Datenwörtern zusammensetzen. Fehlerkorrekturcodes können dann für jede Zeile in der Anordnung und jede Spalte in der Anordnung erzeugt werden, um die darin enthaltenen Daten zu schützen. Dies bietet im Wesentlichen zwei Schutzdimensionen für Daten in der Anordnung, da Schutz sowohl für die Zeilen als auch die Spalten bereitgestellt wird. Sobald sie erzeugt sind, können die Fehlerkorrekturcodes zur letztendlichen Speicherung auf dem Magnetbanddatenträger an die Anordnung angehängt werden.
  • Nachdem die Fehlerkorrekturcodes an die Anordnung angehängt sind, können ein oder mehrere Vorsätze erzeugt werden und an jede Zeile in der Anordnung angehängt werden. Diese Vorsätze speichern allgemein Adressierungsinformationen und andere Metadaten, die den Datenwörtern in der Anordnung zugehörig sind. Diese Vorsätze werden üblicherweise nicht durch Fehlerkorrekturcodes geschützt, obwohl sie Fehlererkennungscodes wie zyklische Redundanzprüfungen (cyclic redundancy checks – CRCs) beinhalten können. Das Erzeugen und Speichern von Fehlerkorrekturcodes in den Vorsätzen können den Umfang der Vorsätze vergrößern und die Effizienz des Speicherformats in unerwünschter Weise verringern.
  • Da die lineare Aufzeichnungsdichte für Bandspeichermedien weiter ansteigt, werden die Fehlerraten für die auf dem Band gespeicherten Daten und Vorsätze voraussichtlich ebenfalls zunehmen. Fehler in den Daten können mittels der an die Anordnung angehängten Fehlerkorrekturcodes korrigiert werden. Fehler in den Vorsätzen jedoch können problematischer sein, da sie möglicherweise nicht durch Fehlerkorrekturcodes geschützt sind. Wenn ein Vorsatz beschädigt ist und nicht wiederhergestellt werden kann, können alle oder ein Teil der Daten, auf die sich der Vorsatz bezieht, verloren sein. Herkömmliche Techniken zum Ermitteln und Korrigieren von Vorsatzfehlern mittels Spurlängs- und Spurquerinterpolation reichen nicht aus, um Bandköpfe bei hohen linearen Dichten und Spurdichten zu schützen. Weiterhin sind Formate, die Spurlängs- und Spurquerinterpolation erlauben, begrenzt hinsichtlich der Flexibilität, Daten wieder zu schreiben, die während des Lesens beim Schreiben (read-while-write) fälschlich erkannt werden.
  • Im Hinblick auf das vorstehend Gesagte besteht ein Bedarf nach Vorrichtungen und Verfahren, um Vorsätze in aktuellen oder zukünftigen Bandspeicherformaten wirksamer zu schützen. Genauer besteht ein Bedarf an Vorrichtungen und Verfahren, um Fehlerkorrekturcodes für Daten und Vorsätze zu erzeugen, die für beide ausreichend Schutz bieten und dabei keine Einschränkungen bezüglich der Wiederschreibflexibilität mit sich bringen. Solche Vorrichtungen und Verfahren stellen idealerweise einen solchen Schutz bereit und bewahren dabei die Speicherformateffizienz.
  • ZUSAMMENFASSUNG
  • Dementsprechend stellt die vorliegende Erfindung in einem ersten Aspekt ein Verfahren zum Integrieren von Daten- und Vorsatzschutz bei Bandlaufwerken bereit, wobei das Verfahren Folgendes umfasst: Bereitstellen einer in Zeilen und Spalten gegliederten Datenanordnung; Berechnen einer Spalten-ECC-Parität für die Spalten; Erweitern der Spalten derart, dass sie die Spalten-ECC-Parität beinhalten; Hinzufügen eines Vorsatzes zu jeder Zeile der Datenanordnung mit den erweiterten Spalten; Berechnen einer Zeilen-ECC-Parität für die kombinierten Zeilen und Vorsätze; und Erweitern der Zeilen derart, dass sie die Zeilen-ECC-Parität beinhalten.
  • Vorzugsweise handelt es sich bei dem Datenanordnung um einen Teildatensatz (SDS), der in ein Anordnungsformat gegliedert ist. Vorzugsweise umfasst die Spalten-ECC-Parität Reed-Solomon-Parität. Vorzugsweise umfasst die Zeilen-ECC-Parität Reed-Solomon-Parität. Vorzugsweise umfassen die Zeilen L verschachtelte Datenwörter. Vorzugsweise ist L entweder gleich 2 oder gleich 4. Vorzugsweise umfasst das Erweitern der Zeilen derart, dass sie die Zeilen-ECC-Parität beinhalten, ein Aktualisieren der für die Zeilen berechneten Zeilen-ECC-Parität vor dem Hinzufügen der Vorsätze.
  • In einem zweiten Aspekt wird eine Vorrichtung zum Integrieren von Daten- und Vorsatzschutz bei Bandlaufwerken bereitgestellt, wobei die Vorrichtung Folgendes umfasst: Einen Eingang, um eine in Zeilen und Spalten gegliederte Datenanordnung zu empfangen; einen Spalten-Fehlerkorrekturcode (error correction code (ECC))-Codierer, um eine Spalten-ECC-Parität für die Spalten zu berechnen und die Spalten so zu erweitern, dass sie die Spalten-ECC-Parität beinhalten; einen Multiplexer, um einen Vorsatz zu jeder Zeile der Datenanordnung hinzuzufügen; einen Zeilen-ECC-Codierer, um eine Zeilen-ECC-Parität für die kombinierten Zeilen und Vorsätze zu berechnen und die Zeilen so zu erweitern, dass sie die Zeilen-ECC-Parität beinhalten.
  • Vorzugsweise handelt es sich bei der Datenanordnung um einen Teildatensatz (SDS), der in ein Anordnungsformat gegliedert ist. Vorzugsweise umfasst die Spalten-ECC-Parität Reed-Solomon-Parität. Vorzugsweise umfasst die Zeilen-ECC-Parität Reed-Solomon-Parität. Vorzugsweise umfassen die Zeilen L verschachtelte Datenwörter. Vorzugsweise ist L entweder gleich 2 oder gleich 4. Vorzugsweise ist der Zeilen-ECC-Codierer so eingerichtet, dass er die für die Zeilen berechnete Zeilen-ECC-Parität vor dem Hinzufügen der Vorsätze aktualisieren kann.
  • Vorzugsweise kann ein Verfahren zum Integrieren von Daten- und Vorsatzschutz bei Bandlaufwerken bereitgestellt werden, wobei das Verfahren Folgendes umfasst: Empfangen einer Datenanordnung, die in Zeilen und Spalten gegliedert ist; Erweitern der Anordnung derart, dass sie einen Vorsatz für jede Datenzeile in der Anordnung beinhaltet; Bereitstellen von zwei Dimensionen von Fehlerkorrekturcode-(ECC-)Schutz für die Daten in der Anordnung; und Bereitstellen einer einzigen Dimension von ECC-Schutz für die Vorsätze in der Anordnung.
  • Vorzugsweise handelt es sich bei der Datenanordnung um einen Teildatensatz (SDS), der in ein Anordnungsformat gegliedert ist. Vorzugsweise umfasst das Bereitstellen von zwei Dimensionen von Fehlerkorrekturcode(ECC)-Schutz für die Daten ein Bereitstellen von ECC-Parität für sowohl die Datenzeilen als auch die Datenspalten. Vorzugsweise umfasst die Zeilen-ECC-Parität Reed-Solomon-Parität. Vorzugsweise umfasst das Bereitstellen einer einzigen Dimension von ECC-Schutz für die Vorsätze in der Anordnung ein Bereitstellen von ECC-Parität für entweder die Zeilen oder die Spalten der Vorsätze. Vorzugsweise umfasst die ECC-Parität Reed-Solomon-Parität.
  • Weiterhin kann vorzugsweise eine Vorrichtung zum Integrieren von Daten- und Vorsatzschutz bei Bandlaufwerken bereitgestellt werden, wobei die Vorrichtung Folgendes umfasst: ein Eingang zum Empfangen einer Datenanordnung, die in Zeilen und Spalten gegliedert ist; einen Multiplexer, um die Anordnung so zu erweitern, dass sie einen Vorsatz für jede Datenzeile in der Anordnung beinhaltet; mindestens einen Codierer, um zwei Dimensionen von Fehlerkorrekturcode-(ECC-)Schutz für die Daten in der Anordnung bereitzustellen, und eine einzige Dimension von ECC-Schutz für die Vorsätze in der Anordnung.
  • Vorzugsweise handelt es sich bei der Datenanordnung um einen Teildatensatz (SDS), der in ein Anordnungsformat gegliedert ist. Vorzugsweise stellt der mindestens eine Codierer ECC-Parität sowohl für die Datenzeilen als auch die Datenspalten bereit. Vorzugsweise stellt der mindestens eine Codierer ECC-Parität für entweder die Zeilen oder die Spalten der Vorsätze bereit.
  • In einem dritten Aspekt wird ein Computerprogramm bereitgestellt, das einen auf einem computerlesbaren Medium gespeicherten Computerprogrammcode umfasst, der beim Laden auf ein Computersystem und Ausführen darauf das Computersystem veranlassen kann, all die Schritte eines Verfahrens gemäß dem ersten Aspekt durchzuführen.
  • In Übereinstimmung mit dem Vorstehenden wird hierin ein Verfahren zum Integrieren von Daten- und Vorsatzschutz bei Bandlaufwerken offenbart. In einer Ausführungsform beinhaltet ein derartiges Verfahren das Bereitstellen einer in Zeilen und Spalten gegliederten Datenanordnung. Bei dem Verfahren wird dann Spalten-ECC-Parität erzeugt und die Spalten-ECC-Parität an die Datenanordnung angehängt. Bei dem Verfahren werden dann ein oder mehrere Vorsätze an jede Zeile der Datenanordnung mit den erweiterten Spalten angehängt. Bei dem Verfahren wird dann Zeilen-ECC-Parität für die kombinierten Zeilen und Vorsätze erzeugt und die Datenanordnung so erweitert, dass sie die Zeilen-ECC-Parität beinhaltet. Eine entsprechende Vorrichtung wird hierin ebenfalls offenbart.
  • In einer weiteren Ausführungsform der Erfindung beinhaltet ein Verfahren zum Integrieren von Daten- und Vorsatzschutz bei Bandlaufwerken das Empfangen einer in Zeilen und Spalten gegliederten Datenanordnung. Die Anordnung wird so erweitert, dass sie einen oder mehrere Vorsätze für jede Datenzeile in der Anordnung beinhaltet. Das Verfahren stellt zwei Dimensionen von Fehlerkorrekturcode-(ECC-)Schutz für die Daten in der Anordnung und eine einzige Dimension von ECC-Schutz für die Vorsätze in der Anordnung bereit. Eine entsprechende Vorrichtung wird hierin ebenfalls offenbart.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Nachfolgend wird in lediglich beispielhafter Weise eine bevorzugte Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die angehängten Zeichnungen beschrieben, in denen:
  • 1A ein schematisches Blockschaltbild zeigt, das ein Verfahren zum Erzeugen von ECC-Parität zum Schützen einer aus einem Teildatensatz abgeleiteten Datenanordnung nach dem Stand der Technik zeigt;
  • 1B und 1C zeigen, wie ECC-Paritätsinformationen mittels des Verfahrens von 1A erzeugt und an eine Datenanordnung angehängt werden;
  • 2 ein schematisches Blockschaltbild darstellt, das ein Verfahren zum Erzeugen und Speichern von ECC-Parität für an die Datenanordnung angehängte Vorsätze nach dem Stand der Technik zeigt.
  • 3 ein schematisches Blockschaltbild darstellt, das einen Datenfluss für verschiedene Bandlaufwerke nach dem Stand der Technik zeigt;
  • 4 ein schematisches Blockdiagramm darstellt, das eine Ausführungsform eines Datenflusses für ein Bandlaufwerk zeigt, das so eingerichtet ist, dass es Daten- und Vorsatzschutz beinhaltet;
  • 5A ein schematisches Blockschaltbild darstellt, das eine Ausführungsform eines Verfahrens zum Erzeugen von ECC-Parität zum Schützen von sowohl Daten als auch Vorsätzen zeigt;
  • 5B zeigt, wie ECC-Paritätsinformationen mittels des Verfahrens von 5A erzeugt und an eine Datenanordnung angehängt werden;
  • 6A ein schematisches Blockschaltbild darstellt, das eine alternative Ausführungsform eines Verfahrens zum Erzeugen von ECC-Parität zum Schützen von sowohl Daten als auch Vorsätzen zeigt;
  • 6B und 6C zeigen, wie ECC-Paritätsinformationen mittels des Verfahrens von 6A erzeugt und an eine Datenanordnung angehängt werden;
  • 7A ein schematisches Blockschaltbild darstellt, das noch eine alternative Ausführungsform eines Verfahrens zum Erzeugen von ECC-Parität zum Schützen von sowohl Daten als auch Vorsätzen zeigt;
  • 7B und 7C zeigen, wie ECC-Paritätsinformationen mittels des Verfahrens von 7A erzeugt und an eine Datenanordnung angehängt werden; und
  • 8 ein schematisches Blockschaltbild darstellt, das eine Ausführungsform einer Codierer-Schaltung zum Berechnen der Zeilen-ECC-Parität für die kombinierten SDS-Daten und Vorsätze zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Es ist ohne Weiteres ersichtlich, dass die Komponenten der vorliegenden Erfindung, wie sie hierin allgemein in den Figuren beschrieben und veranschaulicht sind, in einer Vielfalt unterschiedlicher Gestaltungen angeordnet und ausgebildet werden können. Daher ist die folgende detailliertere Beschreibung der in den Figuren dargestellten Ausführungsformen der Erfindung nicht als den Umfang der beanspruchten Erfindung einschränkend gedacht, sondern steht lediglich stellvertretend für bestimmte Beispiele derzeit betrachteter Ausführungsformen gemäß der Erfindung. Die vorliegend beschriebenen Ausführungsformen sind am besten unter Bezugnahme auf die Zeichnungen verständlich, wobei gleiche Teile durchgehend mit gleichen Bezugsziffern bezeichnet sind.
  • Wie für den Fachmann ersichtlich, kann die vorliegende Erfindung als Vorrichtung, System, Verfahren oder Computerprogrammprodukt ausgeführt werden. Weiterhin kann die vorliegende Erfindung in Form einer Hardware-Ausführungsform, einer Software-Ausführungsform (wie Firmware, residente Software, Mikrocode usw.), die so eingerichtet ist, dass sie Hardware betreiben kann, oder als Software- und Hardware-Elemente kombinierende Ausführungsform ausgebildet werden. Jede dieser Ausführungsformen kann durch ein oder mehrere Module oder einen oder mehrere Blöcke dargestellt werden. Weiterhin kann die vorliegende Erfindung in Form eines in jedem beliebigen gegenständlichen Ausbildungsmedium verkörperten Computerprogrammproduktes ausgebildet werden, das von Computern verwendbaren, darauf gespeicherten Programmcode aufweist.
  • Jede beliebige Kombination aus einem oder mehreren von Computern verwendbaren oder computerlesbaren Speichermedien kann zum Speichern des Computerprogrammprodukts verwendet werden. Bei dem von Computern verwendbaren oder computerlesbare Speichermedium kann es sich, ohne darauf beschränkt zu sein, beispielsweise um ein System, eine Vorrichtung, eine Einheit elektronischer, magnetischer, optischer, elektromagnetischer oder Infrarot oder Halbleiter verwendender Art handeln. Zu spezielleren Beispielen für das computerlesbare Speichermedium kann Folgendes zählen (nicht erschöpfende Liste): eine elektrische Verbindung mit einer oder mehreren Leitungen, eine transportable Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (random access memory (RAM)), ein Nur-Lese-Speicher (read-only memory (ROM)), ein löschbarer programmierbarer Nur-Lese-Speicher (erasable programmable read-only memory (EPROM) oder Flash-Speicher), ein Lichtwellenleiter, ein transportabler Nur-Lese-Compact-Disk-Speicher (CDROM), eine optische Speichereinheit oder eine magnetische Speichereinheit. Im Kontext dieses Dokuments kann ein von Computern verwendbares oder computerlesbares Speichermedium jedes Medium sein, welches das Programm zur Verwendung durch oder in Verbindung mit dem System, der Vorrichtung oder der Einheit zur Anweisungsausführung beinhalten, speichern oder transportieren kann.
  • Computerprogrammcode zum Ausführen von Operationen der vorliegenden Erfindung kann in jeder Kombination einer oder mehrerer Programmiersprachen, darunter objektorientierte Programmiersprachen wie Java, Smalltalk, C++ oder ähnliche und herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C” oder ähnliche Programmiersprachen, geschrieben sein. Computerprogrammcode zur Realisierung der Erfindung kann auch in einer maschinenorientierten Programmiersprache wie Assembler geschrieben sein.
  • Die vorliegende Erfindung kann nachstehend unter Bezugnahme auf Abbildungen von Ablaufplänen und/oder Blockschaltbildern von Verfahren, Vorrichtungen, Systemen und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben sein. Es versteht sich, dass jeder Block der Abbildungen von Ablaufplänen und/oder Blockschaltbilder sowie Kombinationen von Blöcken in den Abbildungen von Ablaufplänen und/oder Blockschaltbildern durch Computerprogrammanweisungen oder Code realisiert werden kann. Die Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines zweckbestimmten Computers oder einer anderen programmierbaren Vorrichtung bereitgestellt werden, um eine Maschine so zu erzeugen, dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaltbildes angegebenen Funktionen/Handlungen erzeugen.
  • Die Computerprogrammanweisungen können ebenfalls in einem computerlesbaren Speichermedium gespeichert werden, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung anleiten kann, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Speichermedium gespeicherten Anweisungen einen Herstellungsartikel einschließlich eines Anweisungsmittels erzeugen, welches die im Block oder in den Blöcken des Ablaufplans und/oder Blockschaltbildes angegebenen Funktionen/Handlungen realisiert. Die Computerprogrammanweisungen können auch auf einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung geladen werden, um eine Reihe von auf dem Computer oder der anderen programmierbaren Vorrichtung auszuführenden Operationsschritten hervorzurufen, um einen auf dem Computer realisierten Prozess so zu erzeugen, dass die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaltbildes angegebenen Funktionen/Handlungen bereitstellen.
  • Unter Bezugnahme auf 1A wird ein Verfahren zum Erzeugen von ECC-Parität für eine Datenanordnung oder einen Teildatensatz (SDS) nach dem Stand der Technik dargestellt. 1B und 1C zeigen, wie ECC-Paritätsinformationen mittels des Verfahrens von 1A erzeugt und an die Datenanordnung angehängt werden. Wie in 1A gezeigt, bearbeitet ein ECC-Codierer 100 einen SDS, der in eine Zeilen und Spalten umfassende Anordnung 102 gegliedert ist. Um die Daten im SDS 102 zu schützen, erzeugt der ECC-Codierer 100 eine ECC-Parität 104 für jede Zeile in der Anordnung 102 und hängt die ECC-Parität 104 an die Anordnung 102 an, wie in 1B gezeigt. Gleichermaßen erzeugt der ECC-Codierer 100 eine ECC-Parität 106 für jede Spalte in der Anordnung 102, einschließlich jeder Spalte der Zeilen-ECC-Parität 104, und hängt die ECC-Parität 106 an die Anordnung 102 an. Es ist in der Technik bekannt, dass die codierte Datenanordnung unabhängig davon ist, ob in einem ersten Schritt die Zeilen-ECC-Parität 104 und in einem zweiten Schritt die Spalten-ECC-Parität 106 oder ob in einem ersten Schritt die Spalten-ECC-Parität 106 und in einem zweiten Schritt die Zeilen-ECC-Parität 104 erzeugt werden.
  • Nachdem die ECC-Parität 104, 106 erzeugt und an die Anordnung 102 angehängt wurde, hängt ein Multiplexer 110 einen oder mehrere Vorsätze 108 an jede Zeile in der erweiterten SDS-Anordnung 102 an. Diese Vorsätze 108 beinhalten Adressierungsinformationen und andere jeder Zeile in der Anordnung 102 zugehörige Metadaten (wozu die Spalten-ECC-Parität 106 und die Zeilen-ECC-Parität 104 zählen). Diese Vorsätze 108 werden üblicherweise nicht durch Fehlerkorrekturcodes geschützt, obwohl sie Fehlererkennungscodes wie zyklische Redundanzprüfungen (CRCs) beinhalten können. Mit den Fehlererkennungscodes können Fehler in den Vorsätzen 108 erkannt werden, sie reichen jedoch nicht aus, um die Fehler zu korrigieren. Wenn ein Vorsatz 108 beschädigt ist und nicht wiederhergestellt werden kann, können alle oder Teile der Daten 102 (einschließlich der Spalten-ECC-Parität 106 und der Zeilen-ECC-Parität 104), auf die sich der Vorsatz 108 bezieht, verloren gehen.
  • Unter Bezugnahme auf 2 wird ein Verfahren zum Erzeugen und Speichern von ECC-Parität für Vorsätze 108, die an eine Datenanordnung 102 angehängt sind (einschließlich der Spalten-ECC-Parität 106 und der Zeilen-ECC-Parität 104) nach dem Stand der Technik dargestellt. In diesem Beispiel erzeugt ein ECC-Codierer 100 eine ECC-Parität und hängt sie an die Datenanordnung 102 an, wie vorstehend beschrieben. Ein anderer ECC-Codierer 200 erzeugt jedoch eine andere ECC-Parität für die Vorsätze 108 und hängt die ECC-Parität an die Vorsätze 108 an. Die Vorsätze 108 und die ECC-Parität können dann an die Zeilen in der Datenanordnung 102 (einschließlich der Spalten-ECC-Parität 106 und der Zeilen-ECC-Parität 104) angehängt werden. Obwohl dies effektiv ist, kann das Erzeugen und Speichern von Fehlerkorrekturcodes in den Vorsätzen 108 den Umfang der Vorsätze 108 erheblich erhöhen und unerwünschterweise die Effizienz des Speicherformats verringern.
  • 3 stellt ein schematisches Blockschaltbild dar, das einen Datenfluss 300 für verschiedene Bandlaufwerke nach dem Stand der Technik zeigt. Wie gezeigt, empfängt ein CRC-Modul 302 Datenblöcke variabler Länge von einer Host-Einheit. Das CRC-Modul 302 kann diesen Blöcken CRC-Informationen hinzufügen. Ein Komprimierungsmodul 304 kann dann die Blöcke komprimieren, und ein Verschlüsselungsmodul 306 kann die Blöcke optional verschlüsseln. Die Datenblöcke können dann in Teildatensätze aufgeteilt und an einen ECC-Codierer 100 weitergeleitet werden. Der ECC-Codierer 100 kann die ECC-Parität 104, 106 für jede Zeile in der Datenanordnung 102 und jede Spalte in der Datenanordnung 102 erzeugen und die ECC-Parität 104, 106 an die Anordnung 102 anhängen.
  • Nachdem die ECC-Parität 104, 106 an die Anordnung 102 angehängt wurde, kann ein Multiplexer 110 Vorsätze 108 an die Zeilen in der Datenanordnung 102 (einschließlich der Spalten-ECC-Parität 106 und der Zeilen-ECC-Parität 104) anhängen. Die Vorsätze 108 können Fehlererkennungscodes wie beispielsweise CRCs enthalten. Ein Bandlayoutmodul 308 kann dann die Datenanordnung 102, die ECC-Parität 104, 106 und die Vorsätze 108 auf unterschiedliche Spuren und in unterschiedliche Reihenfolgen auf dem Magnetband verteilen. Die Datensequenzen können dann durch Randomisierer 310 verarbeitet werden, die eine zusätzliche Signalverarbeitung an den Daten durchführt. Lauflängen-Codierer 312 können dann die Informationsspektren transformieren, so dass sie besser für die Magnetaufzeichnung geeignet sind. Multiplexer 314 können dann Synchronisierungsinformationen wie variable Frequenzoszillatoren (variable frequency oscillators (VFOs)), Synchronisierungszeichen oder Ähnliches in die Informationen multiplexen, damit sie beim Lesen synchronisiert werden können. Die sich ergebenden Daten können dann an Schreibtreiber (nicht abgebildet) gesendet werden, die einen Stromfluss durch Aufzeichnungskopfelemente verursachen, um einen magnetischen Fluss zu erzeugen und dadurch die Daten auf den Magnetaufzeichnungsdatenträger zu schreiben. Im Allgemeinen führt jeder der Blöcke oder Module rechts vom Multiplexer 110 unterschiedliche Transformationen an den Daten durch, damit sie für die Magnetaufzeichnung geeigneter sind.
  • 4 stellt ein schematisches Blockschaltbild dar, das einen Datenfluss 400 zeigt, der Daten- und Vorsatzschutz beinhaltet. Wie gezeigt, empfängt ein CRC-Modul 302 Blöcke variabler Länge von einer Host-Einheit und fügt diesen Blöcken CRC-Informationen hinzu. Ein Komprimierungsmodul 304 kann die Blöcke komprimieren, und ein Codierungsmodul 306 kann die Blöcke optional codieren. Die Datenblöcke können dann in Teildatensätze aufgeteilt und an einen Spalten-ECC-Codierer 112 weitergeleitet werden. Der Spalten-ECC-Codierer 112 kann dann die ECC-Parität 106 für jede Spalte in der Datenanordnung 102 erzeugen und die Spalten-ECC-Parität 106 an die Anordnung 102 anhängen.
  • Nachdem die Spalten-ECC-Parität 104, 106 erzeugt und an die Anordnung 102 angehängt wurde, hängt ein Multiplexer 110 die Vorsätze 108 an die Zeilen in der Anordnung 102 an. Die erweiterte Anordnung 102 kann dann an einen Zeilen-ECC-Codierer 114 weitergeleitet werden, der die Zeilen-ECC-Parität für jede Zeile in der Anordnung 102 erzeugt. Die Funktion und die Vorteile der Spalten- und Zeilen-ECC-Codierer 112, 114 werden detaillierter in Verbindung mit den 5A und 5B erläutert. Nachdem die ECC-Paritätsinformationen für die Daten 102 und die Vorsätze 108 erzeugt wurden, können ein Bandlayoutmodul 308, ein Randomisierer 310, ein Lauflängencodierer 312 und Multiplexer 314 die ECC-codierten Daten in der vorstehend beschriebenen Weise transformieren, um sie für die Magnetaufzeichnung geeigneter zu machen.
  • In 5A ist eine Ausführungsform eines Verfahrens zum Erzeugen von ECC-Parität zum Schutz von sowohl den SDS-Daten 102 als auch den Vorsätzen 108 dargestellt. 5B zeigt, wie ECC-Paritätsinformationen mittels des Verfahrens von 5A erzeugt und an eine SDS-Datenanordnung 102 angehängt werden. Wie vorstehend erläutert, erzeugt der Spalten-ECC-Codierer 112 beim Empfangen einer Datenanordnung 102 die ECC-Parität 106 für jede Spalte in der Anordnung 102 und hängt die ECC-Parität 106 an die Anordnung 102 an, wie in 5B gezeigt. Der Multiplexer 110 hängt dann die Vorsätze 108 an die Zeilen in der Anordnung 102 (einschließlich der Spalten-ECC-Parität 106) an. Die Position der Vorsätze 108 ist beliebig, was bedeutet, dass die Vorsätze 108 am Beginn jeder Zeile, am Ende jeder Zeile, mit jeder Zeile verschachtelt oder ähnlich platziert werden können.
  • Die erweiterte Anordnung 102 (d. h. die SDS-Daten 102, die Vorsätze 108 und die Spalten-ECC-Parität 106) können dann an einen Zeilen-ECC-Codierer 114 weitergeleitet werden, der die ECC-Parität 104 für jede Zeile erzeugen kann (was die SDS-Daten 102, die Spalten-ECC-Parität 106 und die Vorsätze 108 einschließt) und die ECC-Parität 104 an die erweiterte Anordnung 102 anhängen kann. Somit erzeugt der Zeilen-ECC-Codierer 114 die Zeilen-ECC-Parität 104 für die SDS-Daten 102, die Spalten-ECC-Parität 106 und die Vorsätze 108 kombiniert. Dies stellt im Wesentlichen zwei Dimensionen von Schutz für die SDS-Daten 102 bereit (d. h. durch Bereitstellen von sowohl der Zeilen- als auch der Spalten-ECC-Parität 104, 106), wobei für die Vorsätze 108 eine einzige Dimension von Schutz bereitgestellt wird (indem nur Zeilen-ECC-Parität 104 bereitgestellt wird). Durch diese Technik wird die Formateffizienz beibehalten und dabei ausreichender ECC-Schutz für die Vorsätze 108 bereitgestellt.
  • Zum Beispiel wird angenommen, dass die SDS-Daten 102 und die Vorsätze 108 in der vorstehend beschrieben Weise geschützt sind. Wenn die SDS-Daten 102, die Zeilen-ECC-Parität 104, die Spalten-ECC-Parität 106 und die Vorsätze 108 auf Band geschrieben werden und während des Lesens-beim-Schreiben ein Fehler in einem Vorsatz 108 erkannt wird, können die Daten 102 und die Vorsätze 108 neu auf den Magnetdatenträger geschrieben werden. Es kann jedoch vorkommen, dass die Vorsätze 108 vor dem Durchführen des Neuschreibens zur Aktualisierung der darin enthaltenen Adressierung und Metadaten modifiziert werden müssen. Die Daten 102 können hingegen unverändert bleiben. Da die Vorsätze 108 durch eine einzige Dimension von ECC-Parität geschützt werden (d. h. durch die Zeilen-ECC-Parität 104 geschützt werden), muss nur die Zeilen-ECC-Parität 104 für die aktualisierten Vorsätze 108 neu berechnet werden, anstatt sowohl die Zeilen- als auch die Spalten-ECC-Parität 104, 106 neu berechnen zu müssen (was rechenaufwändig ist und die Formateffizienz erheblich verringern kann). Weiterhin muss nur die Zeilen-ECC-Parität 104 für diejenigen Zeilen neu berechnet werden, deren Vorsätze 108 sich geändert haben. Somit kann das Schützen der Vorsätze 108 mit einer einzigen Dimension von ECC-Schutz einen angemessenen Schutz für die Vorsätze 108 bieten, während die Formateffizienz beibehalten wird.
  • Es ist festzuhalten, dass in manchen Ausführungsformen jede Zeile der SDS-Anordnung 102 aus mehreren verschachtelten Datenwörtern aufgebaut sein kann. Zum Beispiel kann jede Zeile in der SDS-Anordnung 102 vier verschachtelt Datenwörter von jeweils 234 Byte beinhalten, so dass jede Zeile 936 Byte lang wird. Die Datenwörter können auf einer Byte-pro-Byte-Grundlage oder in anderer geeigneter Weise verschachtelt werden. Gleichermaßen können die Zeilen-ECC-Parität 104 und die den Zeilen zugeordneten Vorsätze 108 ebenfalls verschachtelt werden. Zum Beispiel können jeder Zeile in der Anordnung 102 vier verschachtelte Vorsätze 108 (einer für jedes Datenwort in der Zeile) von jeweils drei Byte zugeordnet werden, so dass jede Zeile von Vorsätzen 108 zwölf Byte lang wird. Die Vorsätze 108 können auf einer Byte-pro-Byte-Grundlage oder in anderer geeigneter Weise verschachtelt werden. Gleichermaßen können jeder Zeile in der Anordnung 102 vier verschachtelte Zeilen-ECC-Paritätscodes 104 (einer für jedes Datenwort in der Zeile) von jeweils zwölf Byte zugeordnet werden, so dass jede Zeile von ECC-Paritätscodes 104 achtundvierzig Byte lang wird. Die Zeilen-ECC-Paritätscodes 104 können auf einer Byte-pro-Byte-Grundlage oder in anderer geeigneter Weise verschachtelt werden. Mit den vorstehend angegebenen Zahlenwerten wäre jede Zeile (einschließlich der Vorsätze 108, der SDS-Daten 102 und der Zeilen-ECC-Parität 104) 996 Byte lang. Diese Zahlenwerte werden nur als Beispiel angegeben und sind nicht einschränkend aufzufassen. Ebenso wird nicht in allen Ausführungsformen notwendigerweise eine Verschachtelung verwendet.
  • Die maßgeblichen Erfinder haben herausgefunden, dass bei Verwendung der vorstehend angegebenen Zahlenwerte (d. h. 234 Byte für jedes Datenwort 102, drei Byte für jeden Vorsatz 108 und zwölf Byte für die Zeilen-ECC-Parität 104) bis zu fünf Byte der kombinierten Vorsätze 108 und Datenwörter 102 mittels der Zwölf-Byte-Zeilen-ECC-Parität 104 korrigiert werden können. Weiterhin können alle drei Bytes im Vorsatz 108 mittels der Zwölf-Byte-Zeilen-ECC-Parität 104 korrigiert werden. Wenn die Daten verschachtelt sind, können bis zu zwanzig aufeinander folgende verschachtelte Bytes korrigiert werden, sofern ein Rand von einem Byte an Fehlerkorrekturkapazität verwendet wird, um die Wahrscheinlichkeit für Fehlkorrekturen zu verringern. Kurzum: Das integrieren des Vorsatz- und Datenschutzes ist deutlich effizienter als das Schützen des Vorsatzes 108 und der Daten 102 durch ECC-Parität unabhängig voneinander.
  • In 6A ist eine alternative Ausführungsform eines Verfahrens zum Erzeugen von ECC-Parität zum Schutz von sowohl den SDS-Daten 102 als auch den Vorsätzen 108 dargestellt. Die 6B und 6C zeigen, wie ECC-Paritätsinformationen mittels des Verfahrens von 6A erzeugt und an eine Datenanordnung 102 angehängt werden. in dieser Ausführungsform erzeugt ein Zeilen-ECC-Codierer 114 beim Empfangen einer SDS-Anordnung 102 die Zeilen-ECC-Parität 104 für die SDS-Daten 102 und hängt sie an die Anordnung 102 an, wie in 6B gezeigt. Dann erzeugt ein Spalten-ECC-Codierer 112 die ECC-Parität 106 für jede Spalte in der SDS-Anordnung 102 (einschließlich der Zeilen-ECC-Parität 104) und hängt die ECC-Parität 106 an die Anordnung 102 an, wie weiter in 6B gezeigt. Der Multiplexer 110 kann dann die Vorsätze 108 an die Zeilen anhängen, wie in 6C gezeigt. Die erweiterte Anordnung 102 (d. h. die SDS-Daten 102, die Vorsätze 108 und die Spalten-ECC-Parität 106) können dann an denselben oder einen anderen Zeilen-ECC-Codierer 116 weitergeleitet werden, um die Zeilen-ECC-Parität 104 für alle Zeilen zu aktualisieren, die nun die Vorsätze 108 beinhalten. Auf diese Weise können zwei Dimensionen von ECC-Schutz für die SDS-Daten 102 bereitgestellt werden, und eine einzige Dimension von ECC-Schutz kann für die Vorsätze 108 bereitgestellt werden. Ein möglicher Vorteil des Verwendens dieser Technik liegt darin, dass es einfacher sein kann, herkömmliche ECC-Codier-Hardware zu verwenden, wie beispielsweise diejenige, die zur Realisierung des Verfahrens von 1A verwendet wird.
  • In 7A ist noch eine weitere Ausführungsform eines Verfahrens zum Erzeugen von ECC-Parität zum Schutz von sowohl den SDS-Daten 102 als auch den Vorsätzen 108 dargestellt. Die 7B und 7C zeigen, wie die ECC-Paritätsinformationen mittels des Verfahrens von 7A erzeugt und an die Datenanordnung 102 angehängt werden. In dieser Ausführungsform erzeugt ein Spalten-ECC-Codierer 112 beim Empfangen eines Teildatensatzes 102 die ECC-Parität 106 für jede Spalte in der SDS-Anordnung 102 und hängt die ECC-Parität 106 an die Anordnung 102 an, wie in 7B gezeigt. Dann erzeugt ein Zeilen-ECC-Codierer 114 die Zeilen-ECC-Parität 104 für die SDS-Daten 102 (und die Spalten-ECC-Parität 106) und hängt die Zeilen-ECC-Parität 104 an die Anordnung 102 an, wie weiter in 7B gezeigt. Der Multiplexer 110 hängt dann die Vorsätze 108 an die Zeilen an, wie in 7C gezeigt. Die erweiterte Anordnung 102 (d. h. die SDS-Daten 102, die Vorsätze 108 und die Spalten-ECC-Parität 106) können dann entweder an denselben oder einen anderen Zeilen-ECC-Codierer 116 weitergeleitet werden, um die Zeilen-ECC-Parität 104 für jede Zeile zu aktualisieren, die nun die Vorsätze 108 beinhaltet. Auf diese Weise können zwei Dimensionen von ECC-Schutz für die SDS-Daten 102 bereitgestellt werden, und eine einzige Dimension von ECC-Schutz kann für die Vorsätze 108 bereitgestellt werden.
  • In 8 ist eine Ausführungsform einer Codier-Schaltung 800 zum Berechnen der Zeilen-ECC-Parität 104 für die kombinierten SDS-Daten 102 und Vorsätze 108 dargestellt. Genauer ist die Codier-Schaltung 800 so eingerichtet, dass sie die Reed-Solomon-ECC-Parität 104 für die kombinierten SDS-Daten 102 und Vorsätze 108 berechnen kann. Wie gezeigt, beinhaltet die Codier-Schaltung 800 eine Anzahl von Registern 802, in diesem Beispiel zwölf Register 802 (bezeichnet mit R0, R1, ..., R11), von denen jeder ein Symbol wie beispielsweise ein Datenbyte speichert. Die Register 802 sind sequenziell mit einer Rückführung verbunden. Die Codier-Schaltung 800 beinhaltet weiter elf Vervielfacher (multiplier) 804 (jeweils als α mit einer Potenz n ausgedrückt), die mit den Registern 802 in der veranschaulichten Weise wechselwirken. Jeder der Vervielfacher 804 vervielfacht einen Eingangswert um einen festen Wert αn. Das Produkt wird zum Wert eines Registers hinzuaddiert und im nächsten Register gespeichert.
  • Im dargestellten Beispiel wird angenommen, dass die Schaltung 800 so eingerichtet ist, dass sie eine Zwölf-Byte-Reed-Solomon-Parität 104 für ein 234-Byte-Datenwort und einen Drei-Byte-Vorsatz 108 erzeugen kann. Um die Reed-Solomon-Parität 104 zu erzeugen, werden die Werte in den Registern 802 anfangs auf null gesetzt. Die Bytes des Datenwortes und des Vorsatzes werden dann über die Eingangsleitung 806 Byte für Byte sequenziell der Codier-Schaltung 800 zugeführt. Nachdem alle Datenbytes der Eingangsleitung 806 zugeführt wurden, speichern die Register 802 die Zwölf-Byte-Reed-Solomon-Parität 104. Um eine Reed-Solomon-Parität 104 zu aktualisieren wie beispielsweise, wenn eine Zeile in einer SDS-Anordnung 102 mit einem Vorsatz 108 aktualisiert wird (wie in Verbindung mit den 6A und 7A erläutert), wird einfach die bisherige Reed-Solomon-Parität 104 in die Register 802 geladen. Die Bytes des neu hinzugefügten Vorsatzes 108 können dann über die Eingangsleitung 806 Byte für Byte sequenziell der Codier-Schaltung 800 zugeführt werden. Nachdem alle Bytes des Vorsatzes 108 oder Teile davon (z. B. 3 Byte aus einem 12-Byte-Vorsatz) der Eingangsleitung 806 zugeführt wurden, speichern die Register 802 die aktualisierte Zwölf-Byte-Reed-Solomon-Parität 104. Ein ähnlicher Codier-Mechanismus kann dazu verwendet werden, die den anderen Verschachtelungen in einer Zeile eines codierten SDS zugeordnete Reed-Solomon-Parität zu aktualisieren.
  • Die Ablaufpläne und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und die Arbeitsweise möglicher Realisierungen von Systemen, Verfahren und von Computern verwendbaren Datenträgern gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in den Ablaufplänen oder den Blockschaltbildern für ein Modul, ein Segment oder einen Codeabschnitt stehen, der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen logischen Funktion oder Funktionen umfasst. Es soll zudem angemerkt werden, dass bei einigen alternativen Realisierungen die im Block angegebenen Funktionen in anderer Reihenfolge als der in den Figuren angegebenen auftreten können. Zum Beispiel können zwei aufeinander folgend abgebildete Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal abhängig von der betreffenden Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es wird ebenfalls angemerkt, dass jeder Block der Blockschaltbilder und/oder Abbildungen von Ablaufplänen sowie Kombinationen von Blöcken in den Blockschaltbildern und/oder Abbildungen von Ablaufplänen durch zweckbestimmte hardwaregestützte Systeme oder Kombinationen von zweckbestimmter Hardware und Computeranweisungen realisiert werden kann, welche die angegebenen Funktionen oder Handlungen durchführen.

Claims (15)

  1. Verfahren zum Integrieren von Daten- und Vorsatzschutz bei Bandlaufwerken, wobei das Verfahren Folgendes umfasst: Bereitstellen einer in Zeilen und Spalten gegliederten Datenanordnung; Berechnen einer Spalten-ECC-Parität für die Spalten; Erweitern der Spalten derart, dass sie die Spalten-ECC-Parität beinhalten; Hinzufügen eines Vorsatzes zu jeder Zeile der Datenanordnung mit den erweiterten Spalten; Berechnen einer Zeilen-ECC-Parität für die kombinierten Zeilen und Vorsätze; und Erweitern der Zeilen derart, dass sie die Zeilen-ECC-Parität beinhalten;
  2. Verfahren nach Anspruch 1, wobei es sich bei der Datenanordnung um einen Teildatensatz (SDS) handelt, der in ein Anordnungsformat gegliedert ist.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, wobei die Spalten-ECC-Parität Reed-Solomon-Parität umfasst.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Zeilen-ECC-Parität Reed-Solomon-Parität umfasst.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Zeilen L verschachtelte Datenwörter umfassen.
  6. Verfahren nach Anspruch 5, wobei L entweder gleich 2 oder gleich 4 ist.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Erweitern der Zeilen derart, dass sie die Zeilenparität beinhalten, ein Aktualisieren der für die Zeilen berechneten Zeilen-ECC-Parität vor dem Hinzufügen der Vorsätze umfasst.
  8. Vorrichtung zum Integrieren von Daten- und Vorsatzschutz bei Bandlaufwerken, wobei die Vorrichtung Folgendes umfasst: einen Eingang, um eine in Zeilen und Spalten gegliederte Datenanordnung zu empfangen; einen Spalten-Fehlerkorrekturcode(ECC-)-Codierer, um eine Spalten-ECC-Parität für die Spalten zu berechnen und die Spalten so zu erweitern, dass sie die Spalten-ECC-Parität beinhalten; einen Multiplexer, um einen Vorsatz zu jeder Zeile der Datenanordnung hinzuzufügen; einen Zeilen-ECC-Codierer, um eine Zeilen-ECC-Parität für die kombinierten Zeilen und Vorsätze zu berechnen und die Zeilen so zu erweitern, dass sie die Zeilen-ECC-Parität beinhalten.
  9. Vorrichtung nach Anspruch 8, wobei es sich bei der Datenanordnung um einen Teildatensatz (SDS) handelt, der sich in ein Anordnungsformat gliedert.
  10. Vorrichtung nach Anspruch 8 oder Anspruch 9, wobei die Spalten-ECC-Parität Reed-Solomon-Parität umfasst.
  11. Vorrichtung nach einem der Ansprüche 8 bis 10, wobei die Zeilen-ECC-Parität Reed-Solomon-Parität umfasst.
  12. Vorrichtung nach einem der Ansprüche 8 bis 11, wobei die Zeilen L verschachtelte Datenwörter umfassen.
  13. Vorrichtung nach Anspruch 12, wobei L entweder gleich 2 oder gleich 4 ist.
  14. Vorrichtung nach einem der Ansprüche 8 bis 13, wobei der Zeilen-ECC-Codierer so eingerichtet ist, dass er die für die Zeilen berechnete Zeilen-ECC-Parität vor dem Hinzufügen der Vorsätze aktualisieren kann.
  15. Computerprogramm, das auf einem computerlesbaren Datenträger gespeicherten Computerprogrammcode umfasst und im Falle, dass es in ein Computersystem geladen und darauf ausgeführt wird, beim Computersystem das Durchführen aller Schritte eines Verfahrens nach einem der Ansprüche 1 bis 7 veranlassen kann.
DE112011100199.1T 2010-04-09 2011-04-07 Integrierter Daten- und Kopfdatenschutz für Bandlaufwerke Active DE112011100199B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/757,882 2010-04-09
US12/757,882 US8479079B2 (en) 2010-04-09 2010-04-09 Integrated data and header protection for tape drives
PCT/EP2011/055392 WO2011124630A2 (en) 2010-04-09 2011-04-07 Integrated data and header protection for tape drives

Publications (2)

Publication Number Publication Date
DE112011100199T5 true DE112011100199T5 (de) 2012-11-29
DE112011100199B4 DE112011100199B4 (de) 2016-06-23

Family

ID=44210060

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011100199.1T Active DE112011100199B4 (de) 2010-04-09 2011-04-07 Integrierter Daten- und Kopfdatenschutz für Bandlaufwerke

Country Status (6)

Country Link
US (2) US8479079B2 (de)
JP (1) JP5753576B2 (de)
CN (1) CN102834866B (de)
DE (1) DE112011100199B4 (de)
GB (1) GB2490831B (de)
WO (1) WO2011124630A2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8196019B2 (en) * 2007-01-30 2012-06-05 International Business Machines Corporation Error correction in codeword pair headers in a data storage tape format
US8854759B2 (en) 2012-04-24 2014-10-07 International Business Machines Corporation Combined soft detection/soft decoding in tape drive storage channels
US9558782B2 (en) 2012-05-29 2017-01-31 International Business Machines Corporation Partial reverse concatenation for data storage devices using composite codes
US9178534B2 (en) 2012-05-29 2015-11-03 International Business Machines Corporation Methods for partial reverse concatenation for data storage devices using composite codes
US9190076B2 (en) 2012-05-29 2015-11-17 International Business Machines Corporation Data format using an efficient reverse concatenated modulation code for magnetic tape recording
US8869011B2 (en) * 2013-01-03 2014-10-21 International Business Machines Corporation Unequal error protection scheme for headerized sub data sets
US8929014B2 (en) 2013-06-04 2015-01-06 International Business Machines Corporation Tape header protection scheme for use in a tape storage subsystem
US9064541B2 (en) 2013-08-26 2015-06-23 International Business Machines Corporation Tape header format having efficient and robust codeword interleave designation (CWID) protection
US11237736B1 (en) * 2019-10-14 2022-02-01 Meta Platforms, Inc. Efficient data recovery for tape storage system
US11967342B2 (en) 2022-09-14 2024-04-23 International Business Machines Corporation Header decoding mechanism for tape storage

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55122213A (en) 1979-03-08 1980-09-19 Nec Corp Error detection system of magnetic tape unit
JPH0770177B2 (ja) * 1984-01-25 1995-07-31 株式会社日立製作所 ディジタル信号再生装置
JPS6346660A (ja) 1986-08-13 1988-02-27 Nec Corp 磁気テ−プ媒体へのデ−タ書込み誤り防止方式
JP2576512B2 (ja) 1987-06-29 1997-01-29 ソニー株式会社 デ−タレコ−ダ
US5369641A (en) * 1991-11-12 1994-11-29 Storage Technology Corporation Method and apparatus for detecting and correcting errors in data on magnetic tape media
US5369532A (en) 1991-11-12 1994-11-29 Storage Technology Corporation Method and apparatus for managing data on rewritable media to define read/write operational status
KR0155702B1 (ko) * 1992-08-13 1998-12-15 강진구 2차원 에러정정방법 및 복호화장치
IL128257A (en) 1997-05-30 2006-10-05 Macrovision Europ Ltd Method for protecting a list from copying, carrying a list protected from copying and means for discovering access control information
EP0957484B1 (de) * 1998-05-12 2005-10-05 Hewlett-Packard Company, A Delaware Corporation Verfahren zum Lesen während des Schreibens in einer Datenspeichervorrichtung
JP3775154B2 (ja) 1999-04-08 2006-05-17 日本ビクター株式会社 情報記録方法、記録装置、記録再生方法、再生装置及び記録媒体
JP4257559B2 (ja) * 2000-01-28 2009-04-22 ソニー株式会社 データ処理装置及びデータの再生方法
JP2002074862A (ja) * 2000-08-25 2002-03-15 Toshiba Corp データ処理方法及び装置及び記録媒体及び再生方法及び装置
TW569188B (en) * 2001-02-07 2004-01-01 Media Tek Inc Method and apparatus for error processing in optical disk memories
JP4141964B2 (ja) 2002-04-05 2008-08-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ エラー訂正コードに追加のエラー訂正レイヤを埋め込む方法及び装置
KR100698620B1 (ko) * 2003-06-16 2007-03-21 삼성전자주식회사 강건한 에러 정정 부호화 장치를 가지는 디지털 송/수신시스템 및 그의 에러정정부호화/정정방법
JP2005267719A (ja) * 2004-03-17 2005-09-29 Sanyo Electric Co Ltd 符号化装置
US7376888B2 (en) * 2004-10-19 2008-05-20 International Business Machines Corporation Interleaved recording of separated error correction encoded information
CN101080875B (zh) * 2005-09-01 2012-07-04 日本电信电话株式会社 纠错方法以及装置
US8196019B2 (en) 2007-01-30 2012-06-05 International Business Machines Corporation Error correction in codeword pair headers in a data storage tape format
EP2140452A1 (de) * 2007-03-23 2010-01-06 International Business Machines Corporation Rückwärts-verkettung für produktcodes
US8276045B2 (en) * 2009-01-09 2012-09-25 International Business Machines Corporation ECC interleaving for multi-track recording on magnetic tape
EP2234305B1 (de) 2009-03-27 2017-08-02 Nokia Solutions and Networks Oy Verfahren für zuverlässige Kommunikation durch Teilung redundanter Daten in vom Empfänger gut zusammensetzbare CRC-Subblöcke

Also Published As

Publication number Publication date
GB2490831A (en) 2012-11-14
US8479079B2 (en) 2013-07-02
US20120210194A1 (en) 2012-08-16
GB201214869D0 (en) 2012-10-03
WO2011124630A2 (en) 2011-10-13
CN102834866B (zh) 2016-03-09
JP5753576B2 (ja) 2015-07-22
JP2013525933A (ja) 2013-06-20
WO2011124630A3 (en) 2011-12-22
CN102834866A (zh) 2012-12-19
US20110252290A1 (en) 2011-10-13
GB2490831B (en) 2018-12-12
DE112011100199B4 (de) 2016-06-23
US8645800B2 (en) 2014-02-04

Similar Documents

Publication Publication Date Title
DE112011100199B4 (de) Integrierter Daten- und Kopfdatenschutz für Bandlaufwerke
DE3040004C2 (de)
DE112014002870B4 (de) Kombinations-Fehler- und Löschdecodierung für Produktcodes
DE112018005762B4 (de) Neuschreiben von datenobjekten auf speichermedien mit sequenziellem zugriff
DE112013005453B4 (de) Rekonstruierende Fehlerbehebungsprozedur (ERP) für mehrerer Datensätze unter Verwendung eines reservierten Puffers
DE112011101116B4 (de) Two-Level BCH-Codes für Solid-State-Speichereinheiten
DE112012000385B4 (de) Korrigieren von Auslöschungen in Speicher-Arrays
DE112016003638B4 (de) Auf eine Decodierung folgende Fehlerprüfung mit Diagnose für Produktcodes
DE3418912C2 (de) Verfahren zum Umgruppieren digitaler Informationsdaten für eine Fehlerermittlung und/oder -korrektur
AT393429B (de) Speicherschaltung zur speicherung eines digitalsignals
DE112011100371B4 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Decodieren eines Codeworts
US8495470B2 (en) Efficient rewrite technique for tape drives
DE3416047C2 (de) Fehlerkorrekturverfahren für digitale Informationsdaten
US8139304B2 (en) Tape layout design for reliable ECC decoding
DE3132840C2 (de)
DE2853892A1 (de) Verfahren und schaltungsanordnung zur codierung und decodierung von pruefbits
DE102013016147A1 (de) Skalierbare Reparaturblockfehlerkorrektur für mehrere sequenzielle Datenblöcke in einem magnetischen Datenspeichergerät
DE3131764A1 (de) Digitalsignal-uebertragungssystem
DE102012213788A1 (de) Ende-zu-Ende-Datenschutz bei gleichzeitiger Unterstützung mehrerer CRC-Algorithmen
DE102017129990A1 (de) Logisches format, bei dem laterales codieren genutzt wird, zum speichern von daten auf magnetband
DE3719406C2 (de)
DE2908373C2 (de)
DE60004958T2 (de) Fehlerkorrektur mit einem cross interleave Reed-Solomon Code, insbesondere für CD-ROM
DE2951766C2 (de)
EP0516772B1 (de) Verfahren zur digitalen videoaufzeichnung und -wiedergabe nach dem schrägspurverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final