-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung bezieht sich auf Datenspeicherungsvorrichtungen
und insbesondere, obwohl nicht ausschließlich, auf Banddatenspeicherungsvorrichtungen,
die eine Fähigkeit
eines Schreibens von Daten simultan zu einer Mehrzahl von Spuren
aufweisen.
-
Hintergrund
der Erfindung
-
Um
digitale elektronische Daten zu speichern, ist es bekannt, Magnetband-Datenkassetten
zu verwenden, die in eine Bandlaufwerkeinheit eingebracht sind,
die eine Mehrzahl von Lese-/Schreibköpfen aufweist. Typischerweise
können
derartige Magnetbandspeichervorrichtungen verwendet werden, um Daten
zu sichern, die durch eine Host-Vorrichtung erzeugt werden, z. B.
einen Computer.
-
Da
das Laufwerk für
eine größere Datenspeicherungskapazität schmalere
Spuren an Linearband-Datenspeicherungsvorrichtungen erforderlich
macht, laufen einzelne Codewörter
verstärkt
Gefahr, während
des Schreibprozesses zu einem Band aufgrund von beispielsweise einem
Kratzer an der Magnetbeschichtung eines Bandspeicherungsmediums
verfälscht
zu werden.
-
Bei
Bandspeicherungsvorrichtungen ist es bekannt, die Lese- und Schreibköpfe zu konfigurieren,
derart, dass Daten, die zu einem Band geschrieben sind, unmittelbar
von dem Band zurückgelesen
werden können,
um zu verifizieren, ob die Daten während des Schreibprozesses
verfälscht
wurden oder nicht. In dem Fall von diskreten Blöcken von Daten, die beispielsweise
dem Ausgang eines Computers zugeordnet sind, kann es möglich sein,
die verfälschten
Codewörter,
die erfasst wurden, wiederzuschreiben.
-
Ein
einfaches Wiederschreiben eines schlechten Blocks einer Mehrzahl
von Codewörtern
jedoch, die unter Verwendung einer Mehrzahl von Lese/Schreibköpfen simultan
zu einem Band geschrieben werden können, würde jedoch erfordern, dass
irgendwelche vorhergehenden Codewörter, die auf ein Band aufgezeichnet sind,
neu geordnet werden müssten.
Wenn sich zusätzlich
die Anzahl von Wiederschreib-Operationen erhöht, würde so das Neuordnen von nachfolgend
geschriebenen Daten zunehmend komplex werden.
-
Die
internationale Patentanmeldung Veröffentlichungsnummer WO 89/00312
offenbart ein Datenpufferverwaltungssystem, das die Übertragung
von Datenblöcken
zwischen einer ersten Vorrichtung, einem Datenpuffer und einer zweiten
Vorrichtung überwacht.
In einem Schreibmodus werden Blöcke
in einer ursprünglich
beabsichtigten Sequenz zu der zweiten Vorrichtung übertragen.
Falls die zweite Vorrichtung bestimmt, dass ein schlechter Block
zu derselben geschrieben wurde, schreibt das Verwaltungssystem den
Block in einer anderen Sequenz wieder. In einem Lesemodus ignoriert
das Verwaltungssystem schlechte Blöcke und doppelte Blöcke, die
von der zweiten Vorrichtung gewonnen wurden, um Datenblöcke zu der
ersten Vorrichtung in der ordnungsgemäßen Sequenz zu übertragen.
-
Zusammenfassung
der Erfindung
-
Die
spezifischen Ausführungsbeispiele
und Verfahren gemäß der vorliegenden
Erfindung zielen darauf ab, das Schreiben von Daten bei Bandsystemen
hoher Datendichte, die eine Mehrzahl von Lese-/Schreibköpfen aufweisen,
zu verbessern und dadurch die Zuverlässigkeit derartiger Vorrichtungen
zu verbessern.
-
Spezifische
Verfahren gemäß der vorliegenden
Erfindung erkennen, dass, falls verfälschte Daten zu einer Mehrzahl
von Spuren in einer unterschiedlichen Spurreihenfolge zu dieser
einer vorhergehend geschriebenen Version der Daten wiedergeschrieben
werden, dann Daten, die vorhergehend durch eine Oberflächenbeschädigung beeinflusst
waren, erfolgreich zu einem Band geschrieben werden können.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung ist ein Verfahren zum Schreiben
von Daten zu einem Datenspeicherungsmedium vorgesehen, wobei das
Verfahren durch ein Aufweisen der folgenden Schritte gekennzeichnet
ist:
Partitionieren der Daten in eine Mehrzahl von Codewörtern;
Verteilen
der Codewörter
unter einer Mehrzahl von Schreibköpfen;
Durchführen einer
Schreiboperation, um die Codewörter
im Wesentlichen simultan zu einer Mehrzahl von Spuren des Datenspeicherungsmediums
zu schreiben;
Durchführen
einer Leseoperation, um die Codewörter aus der Mehrzahl von Spuren
zu lesen;
falls die Codewörter,
die aus der Mehrzahl von Spuren gelesen werden, Fehler enthalten,
dann Umverteilen der Codewörter,
die ursprünglich
zu dem Datenspeicherungsmedium geschrieben wurden, in einer unterschiedlichen
Reihenfolge unter der Mehrzahl von Schreibköpfen; und
Durchführen einer
Wiederschreiboperation, um die umverteilten Codewörter wieder
zu einer Mehrzahl von Spuren des Datenspeicherungsmediums zu schreiben.
-
Das
Datenspeicherungsmedium weist vorzugsweise ein längliches Band auf und die Schreiboperation weist
einen Schreibdurchlauf entlang einer Länge des Bands auf.
-
Der
Schritt des Verteilens von Codewörtern
unter einer Mehrzahl von Schreibköpfen weist vorzugsweise ein
Verteilen einer Mehrzahl von Codewörtern unter der Mehrzahl von
Schreibköpfen
auf. Ein Satz von vier Codewörtern
wird hierin ein Codewortvierer genannt.
-
Vorzugsweise
wird jeder der Mehrzahl von Codewortvierern einem entsprechenden
Schreibkopf zugewiesen.
-
Vorzugsweise
weist der Schritt des Durchführens
einer Schreiboperation ein simultanes Schreiben einer Mehrzahl von
Codewortvierern auf das Datenspeicherungsmedium durch die Schreibköpfe auf.
-
Die
Mehrzahl von Codewortvierern kann zu einem Logikspurblock zum simultanen
Schreiben zu dem Datenspeicherungsmedium angeordnet sein und eine
Position eines einzelnen Codewortvierers innerhalb des Logikspurblocks
ist durch eine ganzzahlige Nummer angegeben.
-
Eine
Mehrzahl der Codewortvierer, die simultan geschrieben werden sollen,
kann zu einem Logikspurblock angeordnet sein;
die Codewortvierer
jedes Logikspurblocks können
Entsprechenden der Mehrzahl von Schreibköpfen in einer ersten Reihenfolge
zugewiesen sein; und
falls ein Fehler bei den Codewortvierern
erfasst wird, wenn dieselben einmal zu dem Datenspeicherungsmedium
geschrieben sind, werden die Codewortvierer des Logikspurblocks
den Schreibköpfen
in der unterschiedlichen Reihenfolge neu zugewiesen.
-
Vorzugsweise
ist eine Position der Codewortvierer innerhalb des Logikspurblocks
durch eine ganzzahlige Nummer angegeben.
-
Vorzugsweise
entspricht jeder der Codewortvierer des Logikspurblocks einem Entsprechenden
der Mehrzahl von Schreibköpfen.
-
Eine
erste Reihenfolge kann durch den folgenden Ausdruck bestimmt sein:
wobei
die Track_Number eine Nummer eines Elements eines Logikspurblocks
darstellt, CQ_Number eine Nummer eines Satzes von vier Codewörtern darstellt,
Mod den ganzzahligen Rest einer Modulo-Division darstellt; und N_T
eine Anzahl von Spuren darstellt, die simultan geschrieben werden.
-
Die
unterschiedliche Reihenfolge kann durch folgenden Ausdruck bestimmt
sein:
wobei
die Track_Number eine Nummer eines Elements eines Logikspurblocks
darstellt, CQ_Number eine Nummer eines Satzes von vier Codewörtern darstellt,
Mod den ganzzahligen Rest einer Modulo-Division darstellt; W den
Zustand eines Schriftzeichens darstellt, das eine Sequenz von Ganzzahlen
0 bis M – 1
zyklisch durchläuft,
wobei M die Anzahl von aktiven Spuren darstellt, die simultan geschrieben
werden können;
und N_T eine Anzahl von Spuren darstellt, die simultan geschrieben
werden.
-
Vorzugsweise
weist das Datenspeicherungsmedium ein Magnetdatenspeicherungsmedium
auf, z. B. eine Kassettenbandkas sette, die ein längliches Band aufweist, das
um eine Spule gewickelt ist.
-
Die
Erfindung umfasst eine Datenspeicherungsvorrichtung, die zumindest
ein Leseelement und zumindest ein Schreibelement aufweist, wobei
die Vorrichtung durch ein Aufweisen einer Einrichtung, die zum Schreiben
von Daten zu einem Speicherungsmedium in der Lage ist, und einer
Einrichtung, die zum Lesen der geschriebenen Daten von dem Datenspeicherungsmedium
in der Lage ist, gekennzeichnet ist, wobei:
die Schreibeinrichtung
betreibbar ist, um die Daten in eine Mehrzahl von Codewörtern zu
partitionieren;
die Schreibeinrichtung betreibbar ist, um die
Codewörter
unter einer Mehrzahl von Schreibköpfen zu verteilen;
die
Schreibeinrichtung betreibbar ist, um eine Schreiboperation durchzuführen, um
die Codewörter
im Wesentlichen simultan zu einer Mehrzahl von Spuren des Datenspeicherungsmediums
zu schreiben;
die Leseeinrichtung betreibbar ist, um eine Leseoperation
durchzuführen,
um die Codewörter
aus der Mehrzahl von Spuren zu lesen;
falls die Codewörter, die
aus der Mehrzahl von Spuren gelesen werden, unvollständig sind,
die Vorrichtung dann betreibbar ist, um die Codewörter, die
ursprünglich
zu dem Datenspeicherungsmedium geschrieben wurden, in einer unterschiedlichen
Reihenfolge unter der Mehrzahl von Schreibköpfen umzuverteilen; und
die
Vorrichtung betreibbar ist, um eine Wiederschreiboperation durchzuführen, um
die umverteilten Codewörter
wieder zu einer Mehrzahl von Spuren des Datenspeicherungsmediums
zu schreiben.
-
Das
Datenspeicherungsmedium weist optimalerweise ein Magnetband-Datenspeicherungsmedium auf.
-
Die
Erfindung umfasst ein Verfahren zum Wiederschreiben verfälschter
Daten, das gegen die Wirkungen erweiterter Daten auf das Speicherungsmedium
schützt.
-
Kurze Beschreibung
der Zeichnungen
-
Für ein besseres
Verständnis
der Erfindung und um zu zeigen, wie dieselbe ausgeführt werden
kann, werden nun lediglich durch ein Beispiel spezifische Ausführungsbeispiele,
Verfahren und Prozesse gemäß der vorliegenden
Erfindung mit Bezug auf die zugehörigen Zeichnungen beschrieben,
in denen:
-
1 schematisch
eine Mehrzahl von Wegen, die durch einen Lese-/Schreibkopf relativ
zu einem länglichen
Band von Magnetbandmaterial genommen werden können, gemäß einem spezifischen Verfahren der
vorliegenden Erfindung darstellt;
-
2 schematisch
eine allgemeine Übersicht
einer Vorrichtung darstellt, die konfiguriert ist, um einen Strom
von Daten auf eine Mehrzahl von Schreibköpfen zu verteilen und um die
Daten zu einem Magnetband-Datenspeicherungsmedium zu schreiben;
-
3 schematisch
ein Layout einer Bandgruppe, die eine Mehrzahl von physischen Datenspuren
aufweist, die auf ein Magnetband-Datenspeicherungsmedium aufgezeichnet
sind, gemäß einem
spezifischen Verfahren der vorliegenden Erfindung darstellt;
-
4 schematisch
in einer allgemeinen Übersicht
einen Prozess zum Redundanzcodieren und Aufzeichnen ei nes Bytestroms
von Daten von einer Host-Vorrichtung
auf ein Magnetband-Datenspeicherungsmedium gemäß einer spezifischen Implementierung
der vorliegenden Erfindung darstellt;
-
5 schematisch
das Layout eines einzigen Blocks von Prozessdaten von einer Host-Vorrichtung
in der Form, in der derselbe einer Spur eines Magnetbandspeicherungsmediums
zugewiesen ist, gemäß einer spezifischen
Implementierung der vorliegenden Erfindung darstellt;
-
6 schematisch
darstellt, wie die Prozesscodewörter
eines vollständigen
Datensatzes einer Mehrzahl von Spuren eines Magnetbandspeicherungsmediums
zugewiesen sind, gemäß einer
spezifischen Implementierung der vorliegenden Erfindung;
-
7 schematisch
verallgemeinerte Prozessschritte zum Schreiben von Daten zu einem
Datenspeicherungsmedium und einem Wiederschreiben irgendwelcher
verfälschter
oder inkorrekt geschriebener Daten während der Datenschreiboperation
darstellt;
-
8 schematisch
Schritte zum Schreiben von Daten zu einem Band, Verifizieren, dass
die Daten korrekt geschrieben wurden, und Wiederschreiben verfälschter
Daten gemäß der spezifischen
Implementierung der vorliegenden Erfindung darstellt; und
-
9 schematisch ein Beispiel dessen, wie
Codewörter
Spuren eines Bandspeicherungsmediums zugewiesen sind, wobei schlechte
Blöcke
wieder zu dem Band geschrieben wurden, gemäß der spezifischen Implementierung
der vorliegenden Erfindung darstellt.
-
Detaillierte
Beschreibung des besten Modus zum Ausführen der Erfindung
-
Es
wird nun durch ein Beispiel der durch die Erfinder als am besten
betrachtete Modus zum Ausführen der
Erfindung beschrieben. In der folgenden Beschreibung sind zahlreiche
spezifische Details dargelegt, um ein genaues Verständnis der
vorliegenden Erfindung zu liefern. Es ist jedoch einem Fachmann
auf dem Gebiet ersichtlich, dass die vorliegende Erfindung ohne
eine Begrenzung auf diese spezifischen Details praktiziert werden
kann. In anderen Fällen
wurden gut bekannte Verfahren und Strukturen nicht detailliert beschrieben, um
die vorliegende Erfindung nicht unnötig undeutlich zu machen.
-
Spezifische
Verfahren gemäß der vorliegenden
Erfindung, die hierin beschrieben ist, sind auf Magnetbandaufzeichnungsvorrichtungen
gerichtet, die einen im Wesentlichen statischen Lese-/Schreibkopf
aufweisen und bei denen ein längliches
Band mit relativ hoher Geschwindigkeit, beispielsweise in der Größenordnung
von 3 Metern pro Sekunde, an dem Kopf vorbeigezogen wird.
-
Ein
Lesen und Schreiben von Daten auf das Band kann sowohl in der Vorwärts- als
auch der Rückwärtsdurchlaufrichtung
des Bands relativ zu dem Kopf ausgeführt werden und eine Mehrzahl
von parallelen Datenspuren können
simultan unter Verwendung eines Lese-/Schreibkopfs, der eine Mehrzahl
von beabstandeten Lese-/Schreibelementen aufweist, gelesen oder
auf das Band aufgezeichnet werden. Die allgemeinen offenbarten Verfahren,
und wie dieselben in den Ansprüchen
hierin identifiziert sind, sind jedoch nicht auf statische Kopfvorrichtungen
oder Vorrichtungen begrenzt, die hohe Bandgeschwindigkeiten aufweisen.
-
In
der folgenden Beschreibung wird ein spezifisches Ausführungsbeispiel
beschrieben, das acht Spuren aufweist, zu denen simultan geschrieben
wird. Dem Fachmann ist jedoch ersichtlich, dass die hierin offenbarten
allgemeinen Verfahren allgemein auf andere Spurformate angewendet
werden können,
bei denen 2, 4, 16 oder andere Anzahlen von Spuren simultan beschrieben
werden.
-
Mit
Bezug auf 1 hierin ist schematisch ein
physisches Layout von Daten dargestellt, die entlang einem länglichen
Band eines Magnetbands durch einen Lese-/Schreibkopf einer Magnetdatenaufzeichnungsvorrichtung
aufgezeichnet werden, wenn das Band an dem Kopf vorbeigezogen wird.
Der Lese-/Schreibkopf enthält
eine Mehrzahl von Lesekomponenten und eine Mehrzahl von Schreibkomponenten,
die angeordnet sind, um eine Mehrzahl von physischen Spuren von
Daten entlang einem Band simultan zu lesen oder zu schreiben, was
in physischen Spuren 100, 104 resultiert, die
parallel zueinander entlang der Länge des Bands aufgezeichnet
werden. Die Mehrzahl von Lese-/Schreibelementen sind voneinander
in eine Richtung quer zu der Richtung des Bands typischerweise um
einen Abstand in der Größenordnung
von 200 μm
beabstandet. Jedes Lese-/Schreibelement ist zum Lesen oder Schreiben
einer physischen Spur einer Breite der Größenordnung von etwa 20 μm in der
Lage. Der Lese-/Schreibkopf zeichnet eine Mehrzahl von Bandrouten
entlang dem Band in einem Weg auf, der in 1 hierin
gezeigt ist. Jede Bandroute enthält
eine Mehrzahl von Bändern, wobei
jedes Band eine Mehrzahl von physisch aufgezeichneten Datenspuren
aufweist. Bei einem einzigen Durchlauf wird im Wesentlichen eine
vollständige
Länge des
Bands an dem statischen Lese-/Schreibkopf vorbeigewickelt.
-
Idealerweise
wickelt das Band während
eines „Durchlaufs" des Bands die ganze
vollständige
Länge desselben
von einem ersten Ende zu einem zweiten Ende des Bands an dem Lese-/Schreibkopf
vorbei. In dieser Beschreibung ist ein „Schreibdurchlauf" als ein einziger
Durchgang des Bands an einem Schreibkopf vorbei zum Schreiben auf
eine einzige Spur definiert, ungeachtet dessen, ob die Bandgeschwindigkeit
variiert oder ob das Band während
eines Durchlaufs anhält.
Während
einer Sicherungsoperation (Back-Up-Operation) kann das Band an dem Lese-/Schreibkopf
eine Anzahl unterschiedlicher Male bei einer Mehrzahl unterschiedlicher
Schreibdurchläufe
in Vorwärts-
und Rückwärtsrichtung
durchlaufen. Ein Schreibdurchlauf kann eine Sequenz von Schreibvorgängen aufweisen,
die bewirken, dass Daten sequentiell entlang einer oder mehrerer Spuren
geschrieben werden, die selbst in einer Sequenz geschrieben werden.
-
Mit
Bezug auf 2 hierin ist schematisch eine
Datenspeicherungsvorrichtung dargestellt, die zum Schreiben von
Daten zu einem Datenspeicherungsmedium und einem Lesen der geschriebenen
Daten von dem Datenspeicherungsmedium in der Lage ist und die folgende
Merkmale aufweist: eine Vorrichtung 201, die betreibbar
ist, um einen Datenstrom von einer Host-Vorrichtung in eine Mehrzahl
von Codewörtern
zu partitionieren; eine Vorrichtung 202, die betreibbar
ist, um die Codewörter
unter einer Mehrzahl von Schreibköpfen zu verteilen; eine Mehrzahl
von Schreibköpfen 220–227,
die betreibbar sind, um eine Schreiboperation durchzuführen, um
die Codewörter
zu einer Mehrzahl von Spuren des Datenspeicherungsmediums zu schreiben;
eine Mehrzahl von Leseköpfen 230–237,
die betreibbar sind, um eine Leseoperation durchzuführen, um
die Codewörter
von der Mehrzahl von Spuren zu lesen; eine Vorrichtung 203,
die betreibbar ist, um zu verifizieren, ob die Codewörter, die
von der Mehrzahl von Spuren gelesen werden, unvollständig sind.
Eine Vorrichtung 204, die betreibbar ist, um unvollständige Codewörter, die
ursprünglich
zu dem Datenspeicherungsmedium geschrieben wurden, in einer unterschiedlichen
Reihenfolge unter der Mehrzahl von Schreibköpfen umzuverteilen.
-
Bei
einem Ausführungsbeispiel
der vorliegenden Erfindung ist die Zeile von acht Schreibköpfen durch eine
parallele Zeile von acht Leseköpfen
gefolgt. Jeder Kopf ist umschaltbar, um entweder als ein Lesekopf oder
ein Schreibkopf zu wirken. Der Zustand jedes Kopfs wird bei jeder
Richtungsän derung
des Bands umgeschaltet, um sicherzustellen, dass der Lesekopf sich
bezüglich
der Bewegungsrichtung des Bands an den Köpfen vorbei immer „nachgelagert" zu dem Schreibkopf
befindet. Bei einem zweiten Ausführungsbeispiel
der Erfindung ist die Zeile von acht Schreibköpfen zwischen zwei parallelen
Zeilen von acht Leseköpfen
positioniert. Der Lesekopf, der verwendet wird, um die Daten bei
irgendeinem gegebenen Schreibdurchlauf von dem Band zu lesen, ist
gewählt,
um so sicherzustellen, dass sich der Lesekopf immer nachgelagert
zu dem entsprechenden Schreibkopf befindet, ungeachtet der Bewegungsrichtung
des Bands an den Köpfen
vorbei.
-
Mit
Bezug auf 3 hierin ist schematisch das
Layout eines einzigen Bands entlang einem Band gezeigt. Jedes Band
weist einen Satz von N Spuren 301 auf, die während eines
Schreibdurchlaufs des Bands an einem von einer Mehrzahl M von Lese-/Schreibköpfen vorbei
gebildet werden. Nach einem Aufzeichnen eines Schreibdurchlaufs
entlang der Länge
des Bands von dem Anfang des Bands (BOT = beginning of the tape)
zu dem Ende des Bands (EOT = end of the tape) werden die Mehrzahl
von Lese-/Schreibköpfen
in eine Querrichtung mit Bezug auf die Längsrichtung des Bands um einen
Abstand in der Größenordnung
von 20 μm
bewegt. Daten werden dann zu dem Band geschrieben, wobei sich das
Band in die zu dem vorhergehenden Schreibdurchlauf entgegengesetzte
Richtung bewegt. Die Mehrzahl von Lese-/Schreibköpfen verfolgen einen „Serpentinen"-Weg an dem Band 300–320.
Nach jedem aufeinanderfolgenden Schreibdurchlauf wird die Mehrzahl von
Lese-/Schreibköpfen
um einen weiteren kurzen Abstand in der Größenordnung von 20 μm in eine
Querrichtung zu der Hauptlänge
des Bands bewegt.
-
Während des
Prozesses des Schreibens von Daten zu dem Band gibt es ein Risiko,
dass die Daten eventuell nicht korrekt zu dem Band geschrieben werden.
Dies kann beispielsweise auftreten, falls die Beschichtung des Bands
durch einen Kratzer beschädigt
wurde. Sollte dies auftreten, ist es eventuell nicht möglich, die
Daten korrekt von dem Band wiederzugewinnen.
-
Gemäß dem hierin
präsentierten
besten Modus werden die Daten, unmittelbar nachdem dieselben zu einem
Band geschrieben wurden, während
eines gleichen Durchlaufs des Bands an den Lese-/Schreibköpfen vorbei
zurück
von dem Band gelesen. Auf diese Weise kann die Integrität der Daten,
die zu einem Band geschrieben sind, im Wesentlichen zu der gleichen
Zeit bestätigt
werden, wenn dieselben geschrieben werden. Falls irgendwelche der
Daten von einem oder mehreren der Lese-/Schreibköpfe bei einem Geschriebenwerden
zu einem Band verfälscht
wurden, wird dies erfasst und die Daten können bei einem Punkt weiter
entlang der Hauptlänge
des Bands wiedergeschrieben werden. Bei dem besten Modus hierin
wird die Reihenfolge, in der die wiedergeschriebenen Daten den Lese-/Schreibköpfen präsentiert
werden, durch eine Rotation in einer Reihenfolge verändert, um
die Wirkungen von Kratzern entlang der Hauptlänge des Bands zu minimieren,
die die gleichen wiedergeschriebenen Daten beeinflussen.
-
Mit
Bezug auf 4 hierin ist ein Codierverfahren
zum Codieren von Benutzerdaten vor einem Aufzeichnen der Benutzerdaten
auf eine Mehrzahl von physischen Datenspuren dargestellt, wie es
hierin zuvor beschrieben ist.
-
Die
Daten, die durch den Hostvorrichtungscomputer geliefert werden,
sind in der Form einer Aufzeichnung variabler Länge, die durch Dateimarkierungen
getrennt sein können
und bei dem hierin präsentierten besten
Modus eine Länge
von bis zu 224 – 1 Bytes aufweisen können. Eine
zyklische 4-Byte-Redundanzprüfung (4-Byte-CRC;
CRC = cyclic redundancy check) ist zu dem Ende jeder Aufzeichnung
hinzugefügt,
wobei eine geschützte
Aufzeichnung gebildet ist. Bei einem Schritt 400 komprimiert
ein Datenkomprimierungsalgorithmus die geschützten Aufzeichnungen, wobei
ein Strom von Symbolen erzeugt wird. Bei einem Schritt 401 wird
der Symbol strom in Datensätze
von 403884 Bytes zerlegt, an die eine 468-Datensatzinformationstabelle (DSIT
= data set information table) angefügt wird, um einen Datensatz
von 404352 Bytes zu bilden. Bei einem Schritt 402 wird
jeder Datensatz in 16 Teildatensätze
mit jeweils 25272 Bytes geteilt und jeder Teildatensatz wird in
eine Matrix von 54 mal 468 Bytes angeordnet, die in Zeilen und Spalten
angeordnet ist. Bei einem Schritt 403 wird ein (240, 234,
7)-Reed-Solomon-Redundanzcodieralgorithmus
auf die 234 geradzahligen Bytes in jeder Zeile angewandt, wobei
6 C1-Fehlerkorrekturcodebytes (ECC-Bytes; ECC = Error Correcting Code)
erzeugt werden. Diese Bytes werden in die geradzahligen C1-Paritätspositionen
für diese
Zeile platziert. Dann wird der gleiche Reed-Solomon-Code auf die
234 ungeradzahligen Bytes angewandt, wobei die resultierenden 6
C1-ECC-Bytes in die ungeradzahligen C1-Paritätspositionen für diese
Zeile platziert werden. Jede Zeile der Matrix weist ein verschachteltes
Codewortpaar von 480 Bytes auf. Die geradzahligen Bytes bilden das
erste Codewort des Codewortpaars und die ungeradzahligen Bytes bilden
das zweite Codewort des Codewortpaars. Somit sind 12 Bytes von C1-Paritätsinformationen
an jede Zeile der Matrizen von 54 mal 468 Bytes angefügt, wobei
die 16 Teildatensätze
gebildet sind. Bei einem Schritt 404 wird ein (64, 54,
11)-Reed-Solomon-Code auf jede Spalte von 54 Bytes der Codewortpaarmatrix
angewandt, wobei 10 C2-Fehlerkorrekturcodebytes (ECC-Bytes) pro
Spalte erzeugt werden. Die zusätzlichen
10 Bytes von C2-ECC bilden zehn zusätzliche Codewortpaare. Die
resultierenden Matrizen von 64 mal 480 Bytes bilden ECC-codierte
Teildatensätze,
die jeweils 64 Codewortpaare aufweisen. Ein ECC-codierter Datensatz
enthält
491520 Bytes, die aus 16 ECC-codierten Teildatensätzen von
64 × 480
Bytes gebildet sind. Jede Zeile jedes ECC-codierten Teildatensatzes
ist ein ECC-codiertes Codewortpaar von 480 Bytes. Es gibt somit
1024 ECC-codierte Codewortpaare pro ECC-codiertem Datensatz. Bei
einem Schritt 405, und mit Bezug auf 5 hierin,
wird ein Codewortvierer (CQ = codeword quad) durch ein Kombinieren
eines Codewortpaar-Kopfblocks 500, eines ersten Codewort paars 501,
eines zweiten Codewortpaar-Kopfblocks 510 und eines zweiten
Codewortpaars 511 gebildet. Das erste und das zweite Codewortpaar
in einem Codewortvierer weisen die entsprechenden Zeilen der ECC-codierten
Teildatensätze 2R und
2R + 1 auf, wobei R die Werte 0 bis 7 annimmt. Der zehnte Codewortvierer
beispielsweise weist ein erstes Codewortpaar, das die erste Zeile
eines Teildatensatzes Nummer 2 aufweist und ein zweites Codewortpaar
auf, das die erste Zeile eines Teildatensatzes 3 aufweist. Die 1024
Codewortpaare in den 16 Teildatensätzen bilden 512 Codewortvierer
von jeweils 960 Bytes.
-
Bei
einem Schritt
406 werden Codewortvierer jedem der Mehrzahl
von Lese-/Schreibköpfen
zugewiesen. Bei dem besten Modus hierin werden Codewortvierer simultan
in Sätzen
von 8 CQs auf das Band geschrieben, wobei 8 beispielsweise die Anzahl
von gleichzeitigen Lese-/Schreibköpfen ist, wobei jeder Lese-/Schreibkopf
einer entsprechenden jeweiligen physischen Bandspur zugewiesen ist.
Ein CQ jedes Satzes wird gleichzeitig durch einen Entsprechenden
der Schreibköpfe
geschrieben. Der Satz eines CQ ist durch folgenden Ausdruck bestimmt:
wobei
die Set_Number eine Nummer eines Satzes von CQs ist und CQ_Number
die Nummer des Codewortvierers ist, der dem Satz zugewiesen werden
soll, und N_T die Anzahl von Spuren ist, die bei einer Schreiboperation
simultan beschrieben werden.
-
Jeder
Codewortvierer ist einer speziellen aktiven Spur zugewiesen, wobei
eine aktive Spur eine Spur ist, die aktuell durch einen der Mehrzahl
von Lese-/Schreibköpfen
geschrieben wird. Die aktiven Spuren sind mit 0 bis 7 nummeriert
und ein Codewortvierer ist jeder speziellen aktiven Spur, die durch
eine Spurnummer identifiziert ist, unter Verwendung des folgenden
Ausdrucks zugewiesen:
wobei
CQ_Number die Nummer des Codewortvierers ist, der einer aktiven
Spur zugewiesen werden soll, und die Werte 0 bis 511 annehmen kann.
Die Mod-Funktion gibt den ganzzahligen Rest einer Modulo-Division
zurück.
Zum Beispiel gibt Mod [N, 8] die ganzzahligen Werte 0 bis 7 für alle ganzzahligen
Werte N zurück.
Der obige Ausdruck soll im Rest dieser Beschreibung als Ausdruck
(2) bezeichnet werden.
-
Die
obigen Ausdrücke
(1) und (2) werden bei dem vorgegebenen Fall verwendet, bei dem
keine CQ-Sätze
aufgrund von verfälschten
oder schlecht geschriebenen CQ-Sätzen
an dem Band wiedergeschrieben werden, und resultieren in einem Schreibmuster,
wie es durch ein Beispiel in 5 hierin
dargestellt ist.
-
Mit
Bezug auf 6 hierin, die sich auf ein Beispiel
bezieht, bei dem 8 Spuren gemeinsam geschrieben werden, ist dargestellt,
wie Codewortvierer unter aktiven Spuren in dem Fall verteilt werden,
in dem keine Schreibfehler auftreten. Spuren sind in 6 als
Zeilen an einer vertikalen Achse dargestellt, während aufeinanderfolgend geschriebene
CQs an einer horizontalen Achse durch die CQ-Nummern derselben dargestellt sind.
Die Verwendung des obigen Ausdrucks (2) stellt sicher, dass C2-Symbole
aus den gleichen C2-Codewörtern in
den Codewortvierern enthalten sind, die über die verfügbaren aktiven
Spuren verteilt sind. In 6 sind C2-Parität-Codewortvierer
durch die schattierten Blöcke
dargestellt. Wenn die Codewortvierer einmal den aktiven Spuren zugewiesen
sind, sind die 8 Codewortvierer, die simultan zu einem Band geschrieben
werden, als ein CQ- Satz
bekannt (auch als ein Logikspurblock (Logical Track Block) bekannt).
Die zugewiesenen Codewortvierer werden dann durch Datenrandomisierer
verarbeitet, der auf jedes Codewortpaar innerhalb jedes Codewortvierers
wirkt. Der randomisierte Bytestrom wird dann durch einen lauflängenbegrenzten
Codieralgorithmus (RLL-Codieralgorithmus; RLL = run length limited)
codiert. Der RLL-codierte Bytestrom weist vor einem Schreiben zu
einem Band Synchronisationsinformationen auf, wobei synchronisierte
Codewortvierer (SCQ = synchronized codeword quads) gebildet sind.
CQs, die Symbole für
irgendein spezifisches C2-Codewort enthalten, werden physisch in
einer diagonalen Linie über
die physische Spur an einem Band geschrieben, wie es in 6 hierin
durch schattierte CQ-Kästen
dargestellt ist. Die schattierten Kästen stellen die CQs dar, die zu
einem Band geschrieben sind und die Symbole aus einem einzigen C2-Codewort enthalten.
-
Um
die Integrität
der Daten, die zu einem Band geschrieben sind, beizubehalten, sind
alle der Mehrzahl von Lese-/Schreibköpfen konfiguriert, derart,
dass Daten von einer aktiven Spur zurückgelesen werden können, unmittelbar
nachdem dieselben zu dieser Spur geschrieben wurden. Schreiben-
und Lesen-Operationen treten simultan auf, wenn das Band an den
Lese-/Schreibköpfen
durchläuft.
-
Gemäß einem
Aspekt der vorliegenden Erfindung ist ein Verfahren zum Wiederschreiben
eines CQ-Satzes vorgesehen, der unvollständig oder schlecht zu einem
Band geschrieben wurde, wobei die Reihenfolge der Codewortvierer
innerhalb dieses SCQ-Satzes rotiert ist, derart, dass kein wiedergeschriebener
Codewortvierer die gleiche aktive Spur wie die vorhergehenden schlecht
geschriebenen Daten einnimmt.
-
Mit
Bezug auf 7 hierin sind schematisch allgemeine
Prozessschritte zum Wiederschreiben verfälschter Codewörter zu
einem Band unmittelbar nach oder im Wesentlichen simultan mit dem
anfänglichen Schreiben
derselben zu einem Band während
eines gleichen Durchlaufs des Bands an den Lese-/Schreibköpfen vorbei
dargestellt. Bei einem Schritt 700 werden Benutzerdaten
in die Mehrzahl von Codewörtern
partitioniert, wie es hierin oben beschrieben ist. Bei einem Schritt 701 werden
die Codewörter
unter der Mehrzahl von Schreibköpfen
verteilt, wie es hierin oben beschrieben ist. Bei einem Schritt 702 wird
die Mehrzahl von Codewörtern
simultan zu einer Mehrzahl von parallelen physischen Spuren an dem
Banddatenspeicherungsmedium geschrieben, was in einer Sequenz von
Codewörtern
resultiert, die an einem Band geschrieben sind, von dem ein Beispiel
in 6 hierin gegeben ist. Wenn das Band an den Lese-/Schreibköpfen vorbei
durchläuft, werden
Codewörter
kontinuierlich zu dem Band geschrieben. Simultan mit dem Schreiben
von Codewörtern zu
einem Band werden, wenn das Band während des gleichen Durchlaufs
des Bands an den Lese-/Schreibköpfen
an dem Lesekopf durchläuft,
die jüngst
aufgezeichneten Codewörter
von dem Band parallel von der Mehrzahl von parallelen physischen
Spuren gelesen, auf die dieselben aufgezeichnet wurden, wie es bei
einem Schritt 703 dargestellt ist. Bei einem Schritt 704 werden
die gelesenen Codewörter
als genau auf das Band aufgezeichnet verifiziert. Falls während des
Verifizierungsprozesses bestimmt wird, dass die Codewörter, die
von dem Band gelesen wurden, nicht den Codewörtern entsprechen, die zu dem
Schreibkopf gesendet wurden (d. h. die Daten wurden unvollständig geschrieben
oder wurden aus einem gewissen Grund an dem Band verfälscht),
dann werden bei einem Schritt 705 die Codewörter, die
durch die Verfälschung/das
unvollständige
Schreiben betroffen sind, wieder auf die Mehrzahl von Spuren geschrieben.
Da neue Codewörter während der
Leseoperation an dem Schreibkopf ankommen und die Bandbewegung kontinuierlich
ist, werden die Codewörter,
die wiedergeschrieben werden sollen, mit aktuellen Codewörtern verschachtelt,
die durch die Schreibköpfe
geschrieben werden. Die Signale, die zu den Schreibköpfen gesendet
werden, weisen aktuelle Codewörter
auf, die mit den Wiederschreibcodewörtern verschachtelt sind. Ein
Verschachteln von aktuellen Codewörtern und Wiederschreibcodewörtern kann durch
ein miteinander Puffern der aktuellen Codewörter und Wiederschreibcodewörter vor
einem Aufzeichnen auf ein Band bewirkt werden. Das Verschachteln
der Wiederschreibcodewörter
und der aktuellen Codewörter
tritt in einem Puffer der Datenspeicherungsvorrichtung auf, der
gemäß einem
mikroprozessorbetriebenen Algorithmus angeordnet ist, der wirksam
ist, wie es hierin unten beschrieben ist.
-
Mit
Bezug auf 8 hierin sind Schritte zum Schreiben
eines CQ-Satzes zu einer Mehrzahl von Spuren, Verifizieren, dass
die Daten korrekt geschrieben wurden, und Wiederschreiben schlecht
geschriebener CQ-Sätze
dargestellt. Bei einem Schritt 801 werden die Codewortvierer,
die einen CQ-Satz
bilden, unter Verwendung der Gleichung (2) dieser Beschreibung speziellen
aktiven Spuren zugewiesen. Bei einem Schritt 802 werden
die Codewortvierer, die den Logikspurblock aufweisen, zu einem Band
geschrieben. Bei einem Schritt 803 wird der Logikspurblock
von dem Band zurückgelesen.
Bei einem Schritt 804 werden die Daten, die von dem Band
gelesen wurden, auf eine Vollständigkeit
hin überprüft. Falls
kein Fehler bei einem Schreiben der Daten zu einem Band auftrat,
dann werden die nächsten
Codewortvierer den aktiven Spuren zugewiesen und die Schritte 802, 804 werden
wiederholt. Falls jedoch ein Schreibfehler aufgetreten ist, dann
wird bei einem Schritt 805 ein Schriftzeichen W um 1 inkrementiert.
Bei einem Schritt 806 werden die ursprünglichen Codewortvierer, die
bei dem Schritt 802 zu einem Band geschrieben wurden, unter
Verwendung einer Gleichung (3) mit dem durch W dargestellten inkrementierten
Wert des Zählers
neuen aktiven Spuren zugewiesen. Die neugeordneten Daten werden
bei dem Schritt 802 wieder zu dem Band geschrieben und
die Schritte 803 und 804 werden wiederholt.
-
Jeder
CQ-Satz kann mehrere Male wiedergeschrieben werden. Bei dem Beispiel
hierin beträgt
die maximale Anzahl von CQ-Sätzen, die
innerhalb eines einzigen Datensatzes wiedergeschrieben werden können, 128.
Wenn ein CQ-Satz wiederge schrieben wird, müssen irgendwelche CQ-Sätze, die
zwischen der ursprünglichen
und der wiedergeschriebenen Version geschrieben wurden, selbst nicht
wiedergeschrieben werden, außer
es gilt eine der folgenden Bedingungen:
- • Ein Fehler
wird erfasst, wenn dieselben selbst aufgezeichnet werden.
- • Dieselben
weisen eine Datensatznummer auf, die höher als diese des CQ-Satzes
ist, der wiedergeschrieben wird.
-
Falls
ein Fehler durch eine Lesen-Während-Schreiben-Verifizierung erfasst
wird, wenn ein CQ-Satz aufgezeichnet wird, dann wird dieser CQ-Satz
später
an dem Band wiedergeschrieben. Der ursprüngliche, schlecht geschriebene,
CQ-Satz wird an
dem Band gelassen, wie derselbe geschrieben ist (d. h. das Band wird
nicht zurückgespult,
um über
die unvollständigen
oder schlecht geschriebenen Daten aufzuzeichnen, sondern der Banddurchgang
geht ununterbrochen weiter und die verfälschten Daten-CQs werden wiedergeschrieben).
Bei dem spezifischen, hierin beschriebenen Beispiel können nicht
mehr als 6 andere CQ-Sätze
zwischen dem Punkt, an dem der Fehler erfasst wurde, und dann wenn
der fehlerhafte CQ-Satz wiedergeschrieben wird, geschrieben werden.
Die Anzahl von anderen CQ-Sätzen,
die zwischen dem schlecht geschriebenen CQ-Satz und der wiedergeschriebenen
Version desselben geschrieben wird, ist durch die präzise physische
Konfiguration der Lese-/Schreibköpfe
festgelegt. Die Anzahl von Zwischen-CQ-Sätzen hängt ferner von der Latenz ab, die
der Lese-/Schreibhardware der Vorrichtung inhärent ist.
-
Wenn
ein CQ-Satz aufgrund eines erfassten Schreibfehlers wiederholt wird,
wobei während
eines Aufzeichnens gelesen wird, kann der CQ innerhalb des betroffenen
CQ-Satzes, in dem der Fehler auftritt, um die Spuren rotiert werden,
so dass dieselben nicht an der gleichen Spur erscheinen wie bei
dem vorhergehenden Mal, bei dem dieselben geschrieben wurden.
-
Um
eine derartige Rotation zu bewirken, ist die Spurnummer für jeden
Codewortvierer in einem SCQ-Satz durch die folgende Gleichung gegeben:
wobei
W eine beliebige, aber unterschiedliche Zahl zwischen aufeinanderfolgenden
Schreibvorgängen
des gleichen SCQ-Satzes
ist, W den Zustand eines Schriftzeichens darstellt, das eine Sequenz
von Ganzzahlen von 0 bis M – 1
zyklisch durchläuft,
wobei M die Anzahl von aktiven Spuren darstellt, die simultan beschrieben werden
können.
-
Mit
Bezug auf 9 ist ein Beispiel einer
derartigen Rotation gezeigt, bei der eine Anzahl von CQ-Sätzen wiedergeschrieben
wird, weil ein Fehler erfasst wurde, während dieselben geschrieben
wurden. Die Notierung KX gibt an, dass ein
Fehler erfasst wurde, während
der CQ-Satz K geschrieben wurde. Die Notierung K' gibt an, dass der CQ-Satz K einmal
wiedergeschrieben wurde. Die Notierung K'' gibt
an, dass der CQ-Satz K zweimal wiedergeschrieben wurde, etc. N ist
die Satznummer innerhalb des Datensatzes. Physische Spuren 0–7 sind
in 9 als Zeilen dargestellt, während geschriebene
CQ-Sätze
durch W-Nummern dargestellt sind, die sich horizontal erstrecken.
-
Unter
erneuter Bezugnahme auf 2 hierin enthält ein Datenspeicherungsmedium,
auf das ein Satz von Codewortvierern aufgezeichnet ist, die fehlerhaft
geschrieben wurden und dann gemäß dem oben
beschriebenen Verfahren wiedergeschrieben wurden, einen Satz von
Codewortvierern, die einen ersten Logikspurblock aufweisen, der
bei einer ersten Position entlang einer Länge des Bands geschrieben ist,
und die Mehrzahl von Codewörtern,
die den ersten Logikspurblock aufweisen, der ebenfalls bei einer
zweiten Position weiter entlang dem Band bei der zweiten Position
wiedergeschrieben ist, wobei die Codewortvierer unter dem Satz von
physischen Spuren 210–217 gemäß dem Ausdruck
(3) hierin oben neu geordnet sind. Das Lesen von Daten, die auf
ein Magnetband aufgezeichnet sind, gemäß dem oben beschriebenen Verfahren
weist ein Führen
des länglichen
Bands an einer Mehrzahl von Leseköpfen vorbei auf, derart, dass
alle Codewortvierer eines Logikspurblocks simultan gelesen werden.
Falls Codewortvierer erfasst werden, die fehlerhaft geschrieben wurden,
werden die Daten aus dem gleichen Logikspurblock wiedergewonnen,
der weiter entlang dem Band in einer zweiten Reihenfolge wieder
aufgezeichnet wird, wie es durch den Ausdruck (3) oben bestimmt
ist.