-
GEBIET DER ERFINDUNG
-
Die
Erfindung betrifft eine Magnetplattenvorrichtung zur Verwendung
als Hilfsspeicher oder Speichermittel für Computer und ein Verfahren
zum Korrigieren von fehlerhaften Daten, die für solch eine Plattenvorrichtung
relevant sind.
-
HINTERGRUND DER ERFINDUNG
-
EP-A-0
783 168 offenbart eine Fehlerkorrektur im Fluge ("on the fly") mit den Merkmalen
des Oberbegriffs von Anspruch 1. WO 97 00559 beschreibt eine Systemarchitektur
zum Implementieren eines 10-Bit-Reed-Solomon-Codes zum Detektieren und
Korrigieren von Datenfehlern in einem einzelnen Codewort.
US 5 280 488 A beschreibt
eine Einrichtung und Verfahren zum Vorsehen eines verbesserten Systems
zum Codieren und Decodieren von Reed-Solomon-Codes und verwandten
Codes.
-
Automatisierte
elektronische Einrichtungen, die Personalcomputer (PCs) und Bürocomputer
enthalten, sind gestützt
auf den jüngsten
Fortschritt in der Technik sehr schnell verkleinert und funktionell verbessert
worden, der seinerseits die Entwicklung von kompakten und dennoch
schnellen Speichervorrichtungen oder Dateisystemen mit großer Kapazität begünstigt hat,
wie beispielsweise von Festplattenlaufwerken von 5,2 Zoll, 3,5 Zoll
und 2,5 Zoll.
-
Anstrengungen
sind zur Verbesserung der Dichte von Daten, die auf einer Magnetplatte
aufgezeichnet werden, und zur Erhöhung der Rotationsgeschwindigkeit
der Spindel der Magnetplatte unternommen worden, um dadurch die
Datenübertragungsrate
zu einer Magnetplattenvorrichtung und von derselben zu verbessern.
Es ist bekannt, daß der Pegel
der Daten, die von der Magnetplatte durch einen magnetoresistiven
(MR) Kopf wiedergegeben oder gelesen werden, nicht von der linearen
Geschwindigkeit oder der Rotationsgeschwindig keit der Platte abhängt, so
daß der
MR-Kopf während
des Lesens von Daten einen hohen Signalpegel beibehalten kann. Deshalb
ist der MR-Kopf auf diesem Gebiet zunehmend wichtiger geworden.
-
Es
sei jedoch erwähnt,
daß der
MR-Kopf, während
er Daten liest, auf Grund eines Unterdruckes, der auf den MR-Kopf
wirkt, nur 30 – 50
nm über dem
magnetischen Medium in der Schwebe gehalten wird. Vor der Leseoperation
ruht der Magnetkopf auf der Oberfläche der Magnetplatte, die auch
im Ruhezustand ist. Falls die Magnetplatte eine sehr glatte Oberfläche wie
ein Spiegel hätte,
würde der
Kopf auf der Oberfläche
der Platte anhaften und auf der Magnetplatte gefangenbleiben, auch
nachdem die Magnetplatte ihre Rotation gestartet hätte. Um
solch eine Gefangennahme zu verhindern, ist die Magnetplatte auf
ihrer Oberfläche
mit winzigen Vorsprüngen
versehen, die durch eine zweckmäßige Oberflächenaufrauhungs-
oder Texturierungstechnik gebildet werden.
-
Bei
solch einem Aufrauhungsprozeß kann
jedoch eine kleine Anzahl von unerwartet großen Vorsprüngen auf manchen Spuren auf
der Magnetplatte gebildet werden. Der Magnetkopf wird dann jedesmal,
wenn der Kopf über
die Spuren gleitet, gegen solche großen Vorsprünge stoßen. Kollisionen des Kopfes
mit der Magnetplatte können
auch stattfinden, wenn die Magnetplatte während der Lese-/Schreiboperationen
erhitzt wird und die Oberfläche
der Platte deformiert wird, oder wenn der Kopf thermisch deformiert
wird, oder wenn die gesamte Magnetvorrichtung während der Operationen einer starken
mechanischen Erschütterung
ausgesetzt ist.
-
Wenn
solch eine Kollision erfolgt, wird der MR-Kopf für ein paar Mikrosekunden temporär erhitzt.
Der Widerstand des erhitzten MR-Kopfes wird dementsprechend verändert.
-
Während einer
Leseoperation vollzieht der MR-Kopf eine relative Bewegung über der
Magnetplatte, während
ein kon stanter elektrischer Strom durch das magnetoresistive Element
desselben fließt.
Das magnetoresistive Element verändert
seinen Widerstand, falls sich ein Magnetfeld verändert, das extern darauf angewendet
wird. Daher kann der MR-Kopf magnetisch aufgezeichnete Informationen auf
der Platte in Form der Spannungsveränderung über dem magnetoresistiven Element
lesen, indem die Widerstandsveränderung
des magnetoresistiven Elementes detektiert wird. Falls der Kopf
mit einem Höcker
oder Vorsprung, der auf der Platte gebildet ist, kollidiert, wird
deshalb der Kopf temporär
erhitzt und wird sein Widerstand verändert. Dies führt zu einer
entsprechenden Spannungsveränderung
und zu Fehlern in den Informationen, die von der Magnetplatte wiedergegeben
(d. h. gelesen) werden. Solch eine vorübergehende Spannungsveränderung
(die ein paar Mikrosekunden dauert) kann zu fehlerhaften Daten von
immerhin zig Bytes führen.
-
Wenn
solch ein vorübergehendes
thermisches Ereignis, wie oben erwähnt, auftritt, erscheint eine Übergangswellenform
oder eine Gleichstromvorspannung in der Ausgabe des Kopfes, die
die Daten verwischt, die von der Platte gelesen werden, und die
dazu führt,
daß die
Daten in einer nachfolgenden Decodierstufe nicht wiederhergestellt
werden können,
woraus irreparable Lesefehler resultieren. Dieser Typ von Fehlern,
der in MR-Köpfen
beobachtet wird, wird als TA (thermal asperity) oder thermische Rauheit
bezeichnet.
-
Eine
in der Technik wohlbekannte Strategie zum Vermeiden der thermischen
Rauheit ist die Verwendung eines Hochpaßfilters (HPF) in einer Datendecodierschaltung,
um Niederfrequenzkomponenten des Wiedergabesignals abzuschneiden,
damit die Erzeugung einer Übergangswellenform
unterdrückt wird
und eine schnelle Konvergenz des gestörten Signals unterstützt wird.
Eine Alternativlösung,
die in der Technik zum Halten des Wiedergabesignals bekannt ist,
ist das Vorse hen entweder einer automatischen Verstärkungsregelungs(AGC)-Schaltung,
die bewirkt, daß die
Datendecodierschaltung die Amplitude des Wiedergabesignals für einen
Moment hält, oder
einer Phasenregelkreis-(PLL)-Schaltung, die temporär verhindert,
daß das
Wiedergabesignal der Gleichstromvorspannung folgt und zu einem Takt
in der Phase verschoben wird.
-
Eine
weitere Technik ist für
die Bewältigung von
Fehlern bekannt, die durch die Schaltungen, wie oben erwähnt, nicht
korrigiert werden können,
und ist dafür
ausgelegt, um korrekte Daten mittels einer Schaltung wiederherzustellen,
die als ECC-Schaltung bezeichnet wird und in der Decodierschaltung zum
Ausführen
von sogenannten Fehlerkorrekturcodes (ECC) im Fluge vorgesehen ist.
-
Jedoch
haben die modernsten Magnetplattenvorrichtungen viel höhere Datenübertragungsraten
als die herkömmlichen,
so daß die
Menge von Daten, die auf Grund von thermischer Rauheit verlorengeht,
falls sie oft auftritt, die Datenlänge überschreitet, die durch die
ECC-Schaltung korrigiert werden kann.
-
Zum
Beispiel wird geschätzt,
daß die
Datenlänge,
die durch eine ECC-Schaltung korrigierbar ist, bei einer durchschnittlichen
Magnetplattenvorrichtung höchstens
ungefähr
9 Bytes und bei einer modernsten Magnetplattenvorrichtung höchstens
20 Bytes beträgt.
Die Dauer einer thermischen Rauheit liegt in der Größenordnung
von einigen Mikrosekunden und entspricht damit einem Datenverlust
von ca. mehreren zehn Bytes, wodurch das Fehlerkorrekturvermögen der
heutigen ECC-Schaltung überschritten wird,
und daher kann die ECC-Schaltung
solche Fehler nicht bewältigen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Deshalb
ist es eine Aufgabe der Erfindung, eine Korrekturvorrichtung für fehlerhafte
Daten vorzusehen, die die Stelle und die Länge von Fehlern in den Daten
bestimmen kann, die von einem magnetischen Aufzeichnungsmedium wiedergegeben
oder gelesen werden.
-
Ein
anderes Ziel der Erfindung ist das Vorsehen eines Verfahrens, wodurch
die Stelle und die Länge
von Fehlern in den Daten bestimmt werden können, die von einem magnetischen
Aufzeichnungsmedium gelesen werden.
-
Ein
weiteres Ziel der Erfindung ist das Vorsehen einer Magnetplattenvorrichtung,
die einen MR-Kopf mit einem MR-Element
zum Lesen von Daten von der magnetischen Aufzeichnungsplatte enthält, welche
Magnetplattenvorrichtung mit Mitteln zum Detektieren von Lesefehlern
versehen ist, die in die Daten durch eine plötzliche Veränderung des elektrischen Widerstandes
des MR-Elementes eingeschleppt werden, die durch eine kurze Kollision des
MR-Kopfes mit der magnetischen Aufzeichnungsplatte verursacht wird.
-
Noch
ein anderes Ziel der Erfindung ist das Vorsehen einer Magnetplattenvorrichtung,
die zusätzlich
zu den obenerwähnten
Mitteln zum Detektieren von Lesefehlern mit einem Datenwiederherstellungsmittel
zum Wiederherstellen der durch die Fehler verlorengegangenen Daten
versehen ist.
-
Ein
noch anderes Ziel der Erfindung ist das Vorsehen eines Verfahrens
zum Detektieren von fehlerhaften Daten, die in der obigen Magnetplattenvorrichtung
enthalten sind.
-
Ein
noch anderes Ziel der Erfindung ist das Vorsehen eines Verfahrens
zum Detektieren und Korrigieren von fehlerhaften Daten, die in der
obigen Magnetplattenvorrichtung enthalten sind.
-
Aspekte
der vorliegenden Erfindung sind in den beigefügten Ansprüchen definiert.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
eine Blockdiagrammdarstellung einer Magnetplattenvorrichtung gemäß der Erfindung.
-
2 ist
ein Blockdiagramm einer Fehlersignalerzeugungsschaltung der in 1 gezeigten
Magnetplattenvorrichtung zum Erzeugen eines Fehlersignals, das die
thermische Rauheit angibt.
-
3A-D
zeigt Formate von Daten, die auf der Magnetplatte aufgezeichnet
sind, und ein Zeitlagendiagramm für Signale, die an verschiedenen
Knoten der Datenwiedergabeschaltungsanordnung von 1 erscheinen,
wobei: 3A ein Format von Daten auf
der Magnetplatte 24 ist; 3B wiedergegebene
NRZ-Daten zeigt; 3C ein Lesetakt RCLK ist; und 3D ein
Lese-Gate-Signal RG ist.
-
4A-B
stellt ein Flußdiagramm
dar, das eine Prozedur zum Bestimmen der Startstelle und der Länge der
fehlerhaften Daten und zum Bestimmen dessen zeigt, welches der Fehlerkorrekturmittel zu
verwenden ist.
-
5 zeigt Wellenformen, die bei der Detektion
und Korrektur der fehlerhaften Daten, die durch thermische Rauheit
(TA) verursacht werden, relevant sind, wobei: 5A ein
Format von Daten auf der Magnetplatte ist; 5B ein
Schwellensignal Th und ein analoges Signal zeigt, das von dem AGC-Verstärker empfangen
wird und einem TA-Pegel-Komparator
zugeführt
wird; 5B eine Übergangskomponente in dem analogen
Signal im Anschluß an
ein TA-Ereignis zeigt; 5C ein Ausgangssignal des TA-Pegel-Komparators
zeigt; 5D NRZ-Daten zeigt, die von
einem 8/9-Decodierer und Descrambler empfangen werden; 5E ein
Zeitlagendiagramm des Lesetaktes RCLK ist, der von einer PLL-Schaltung
empfangen wird; 5F ein Lese-Gate-Signal RG zeigt; 5G ein
Fehlersignal zeigt, das von einer Fehlersignalerzeugungs schaltung
ausgegeben wird; und 5H ein Signal zeigt, das von
einer Zählerschaltung
ausgegeben wird.
-
6 zeigt
die Anschlußanordnung
der Zählerschaltung
und eine Registerschaltung, die in einem Festplattencontroller vorgesehen
sind, der in 1 gezeigt ist.
-
7A zeigt
das Format von Daten auf der Magnetplatte; 7B zeigt
eine NRZ-Daten-Sektion der wiedergegebenen Daten, die eine Vielzahl
von Fehlern enthält; 7C zeigt
das Runden von zwei Fehlern 1 und 2 von 7B; 7D zeigt
das Runden von drei Fehlern 1, 2 und 3,
die in 7B gezeigt sind; und 7E zeigt
ein Fehlersignal.
-
8A ist
ein Beispiel für
eine Datenfolge mit einem 8/9(0, 4/4)-Format; 8B zeigt
einen geraden Teil der in 8A gezeigten
Folge; 8C zeigt einen ungeraden Teil
der in 8A gezeigten Daten; 8D zeigt
ein Verriegelungsfehlersignal; und 8E zeigt
eine Ausgabe eines vierstufigen Schieberegisters.
-
EINGEHENDE BESCHREIBUNG
DER ERFINDUNG
-
Ein
Fehlerkorrekturverfahren zum Korrigieren von Fehlern in Daten, die
von einer Magnetplattenvorrichtung wiedergegeben werden, und eine
Vorrichtung dafür,
die die Erfindung verkörpern,
werden nun beispielhaft unter Bezugnahme auf die beiliegenden Zeichnungen
beschrieben, in denen gleiche Bezugszeichen in den gesamten Zeichnungen
gleiche Komponenten kennzeichnen.
-
[STRUKTUR DER MAGNETPLATTENVORRICHTUNG]
-
1 zeigt
ein Blockdiagramm einer Gesamtanordnung einer Magnetplattenvorrichtung
gemäß der Erfindung.
Die hier gezeigte Plattenvorrichtung ist solch ein Typ, der normalerweise
als 3,5-Zoll-Festplattenlaufwerk bezeichnet wird, das als Server-Peripherie
oder Hilfsspeicher oder Speicher für einen Personalcomputer (PC)
verwendet wird.
-
Die
Magnetplattenvorrichtung, wie sie im Blockdiagramm gezeigt ist,
umfaßt:
einen
Festplattencontroller (HDC) 2, der mit einem Hostcomputer
(nicht gezeigt) über
eine Schnittstelle 1 verbunden ist, zum Steuern einer Festplatte 24;
eine
Mikrocontrollereinheit (MCU) 7 zum Steuern von mechanischen
Bewegungen der Magnetplattenvorrichtung beim Ausführen von
Leseoperationen/Schreiboperationen von bzw. auf der Magnetplatte 24;
und
ein Plattengehäuse
(DE) 16, das in seinem geschlossenen Gebilde eine Magnetplatte 24 und
einen eingebauten Lese-/Schreibkopf 18 enthält. Das
Plattengehäuse 16 hat
Verbindungen zum Austausch von Daten mit dem Festplattencontroller 2 über den
Lese-/Schreibcontroller 14 und mit der MCU 7 über einen
VCM (Schwingspulenmotor)/Spindelcontroller 15.
-
All
diese Komponenten, außer
dem Plattengehäuse 16,
sind jeweils aus einigen LSIs gebildet, die auf eine gedruckte Schaltungsplatte
montiert sind. Um einen sauberen Zustand der Komponenten beizubehalten,
ist die gesamte Vorrichtung von einem Gehäuse mit Staubentfernungsmechanismus ummantelt.
-
Die
Daten, die in der Magnetplattenvorrichtung gespeichert sind, können zwischen
dem Hostcomputer (nicht gezeigt) und dem Festplattencontroller 2 durch
die 16-Bit-Busschnittstelle 1 übertragen werden,
wobei die Daten in ein 8-Bit-NRZ-Bussignal 22 transformiert
werden, das durch den Lese-/Schreibcontroller 14 weiter
in 9-Bit-Daten transformiert wird, die zum Aufzeichnen auf der Magnetplatte 24 geeignet
sind. Die Schnittstelle 1 kann eine wohlbekannte SCSI (Small
Computer System Interface) sein.
-
Jede
der in 1 gezeigten Komponenten wird nun im folgenden
beschrieben.
-
Der
Festplattencontroller (HDC) 2 hat einen Datenformatcontroller 3,
einen Hostbusschnittstellencontroller 4 und einen Datenpuffercontroller 5 und einen
ECC-Controller 6.
-
Der
Datenformatierungscontroller 3 empfängt Daten von dem Hostcomputer
(nicht gezeigt) über
die Schnittstelle 1 und codiert die Daten in eine Form,
die zum Aufzeichnen auf der Magnetplatte 24 geeignet ist.
Er decodiert auch die Daten, die von der Magnetplatte 24 gelesen
werden, in eine Form, die zum Übertragen
derselben zu dem Hostcomputer über
die Schnittstelle 1 geeignet ist. Obwohl es in 1 nicht
gezeigt ist, hat der Datenformatierungscontroller 3 eine
Zählerschaltung 45 und
eine Registerschaltung 46, die in Verbindung mit 3 kurz beschrieben werden.
-
Der
Hostbusschnittstellencontroller 4 steuert die Schnittstelle
zwischen dem Hostcomputer und der Magnetplattenvorrichtung.
-
Der
Datenpuffercontroller 5 ist mit einem RAM (Speicher mit
wahlfreiem Zugriff) 12 verbunden, der als Datenpuffer zum
temporären
Speichern der Daten dient, die von der Magnetplatte 24 zu
dem Festplattencontroller 2 gesendet werden, bevor sie zu
einer geeigneten Zeit über
die Schnittstelle 1 zu dem Hostcomputer übertragen
werden, oder er speichert temporär
Daten, die von dem Hostcomputer über
die Schnittstelle 1 empfangen werden und für den Festplattencontroller 2 bestimmt
sind, bevor sie zu einer zweckmäßigen späteren Zeit
zu dem Plattengehäuse 16 gesendet
werden.
-
Der
ECC-Controller 6 ist eine herkömmliche Hardware-Fehlerkorrekturschaltung,
die zum Korrigieren von Fehlern von höchstens 9-12 Bytes in der Lage
ist (ein neuerer Typ von fortgeschrittenen Korrekturschaltungen
kann viel größere Fehler
von immerhin 20 Bytes bewältigen).
Deshalb können Magnetplattenvorrichtungen
unter Verwendung von solchen Fehlerkorrekturschaltungen keine Fehler
bewältigen,
die 20 Bytes überschreiten.
-
Bei
der Fehlerkorrekturprozedur, die in dem ECC-Controller 6 ausgeführt wird,
werden Daten im allgemeinen der Reihe nach von einer Magnetplatte gelesen,
und die Fehler, die in den Daten gefunden werden, werden durch ein
Hardware-Mittel
sozusagen im Fluge oder "on
the fly" korrigiert.
Es heißt,
daß in
solch einem Direktfehlerkorrekturmittel, falls die Gesamtlänge der
Daten, die bei einem Lesevorgang erhalten werden, "2X Bytes" beträgt, die
maximal korrigierbare Fehlerlänge
oder das Korrekturvermögen der
Schaltung "X Bytes" beträgt, so daß Fehler,
die "X Bytes" in der Länge überschreiten,
durch das Hardware-Mittel nicht im Fluge korrigiert werden können.
-
Es
gibt auch ein Software-Korrekturmittel, das als "Software-ECC" bezeichnet wird und Fehler korrigiert,
indem alle Daten auf einer Länge
von "2X Bytes", die von der Magnetplatte 24 gelesen
werden, erst in einem RAM (nicht gezeigt) gespeichert werden und
dann die Fehlerkorrekturoperation an den gesamten Daten unter Verwendung
von Software ausgeführt
wird. Das Korrekturvermögen
des Software-ECC beläuft
sich auf 2X Bytes.
-
Solch
ein Software-ECC kann vorteilhaft ausgeführt werden, falls die Stelle
des Fehlers (d. h., die Anzahl der Sektoren bis zu dem Fehler in
bezug auf den Beginn der Daten) und die Länge des Fehlers (der Fehler)
selbst bekannt sind. Jedoch muß während der
ECC-Korrektur durch die Software die Festplatte im Leerlauf sein
(so daß sie
nicht nutzbar ist) und Leseoperationen zurückhalten, wodurch ein Overhead
verursacht werden kann.
-
Die
Mikrocontrollereinheit (MCU) 7 enthält eine Signalsteuerlogik 9,
einen Gleichstromkonverter 10, einen A/D- Konverter 11 und
eine CPU 8 zum Steuern der gesamten Magnetplattenvorrichtung,
die alle auf einem LSI-Chip montiert sind.
-
Die
CPU 8 steuert als gesamte Magnetplattenvorrichtung auch
solche Komponenten wie einen VCM-Antrieb 19 über den
VCM/Spindelcontroller 15, einen Spindelmotor 20 sowie
eine Multi-Task-Operation und Datenkorrekturoperation, wie sie in
Verbindung mit 4 beschrieben sind.
Die CPU 8 ist mit einem ROM (Nur-Lese-Speicher) 13 verbunden,
der ein Programm für
die CPU speichert. Die Signalsteuerlogik 9 ist vorgesehen,
um logische Operationen für die
CPU 8 abzuwickeln.
-
Das
Plattengehäuse
(DE) 16 hat eine Basis und eine Abdeckung (nicht gezeigt)
zum Unterbringen der Magnetplatte 24 zum magnetischen Aufzeichnen
von Informationen, eines Lese-/Schreibkopfes 18 zum Lesen/Schreiben
von Informationen von/auf der Magnetplatte 24, eines Lese-/Schreibvorverstärkers 17 zum
angemessenen Verstärken
des Signals, das zwischen der Platte 24 und dem Kopf 18 ausgetauscht
wird, auf einen vorbestimmten Pegel, des Spindelmotors 20 zum
Rotieren einer Spindel, auf die die Magnetplatte 24 montiert
ist, und eines Schwingspulenmotors (VCM) 19 zum Positionieren des
Kopfes 18 an einer gewünschten
Position (Zylinder) auf der Magnetplatte 24.
-
Die
Magnetplatte 24 enthält
bei dem hier gezeigten Beispiel 10 Aluminiumlegierungsplatten, die jeweils
dünne Magnetschichten
haben, die auf den gegenüberliegenden
Seiten derselben gebildet sind, und kann Informationen bis zu 18
GB (Gigabytes) speichern. Der Lese-/Schreibkopf 18 ist
ein Verbundkopf, der aus einem magnetoresistiven (MR) Kopf zum Lesen
und einem Induktionskopf zum Schreiben gebildet ist. Die Vorverstärkungsstufe 17 kann
Signale, die durch den Lese-/Schreibkopf 18 gelesen werden,
auf einen vorbestimmten Pegel verstärken. Der Spindelmotor 20 ist
ein bürstenloser Gleichstrommotor,
der eine lange Lebensdauer hat. Der Schwingspulenmotor (VCM) 19 hat
ein niedriges Trägheitsmoment
und eine hohe Drehmomentcharakteristik, so daß er den Lese-/Schreibkopf 18 schnell
zu einer gewünschten
Position der Magnetplatte 24 bewegen kann.
-
[SCHALTUNGSBLÖCKE ZUM
ERZEUGEN DES FEHLERSIGNALS BEI TA]
-
2 zeigt
ein Blockdiagramm einer Schaltung zum Erzeugen eines Fehlersignals,
wenn in der Magnetplattenvorrichtung eine TA aufgetreten ist. Blöcke in der
oberen Sektion der Schaltung betreffen ein Datenwiedergabeschaltungssystem,
und Blöcke in
der unteren Sektion betreffen ein Datenleseschaltungssystem. Die
Fehlersignalerzeugungsschaltung ist, wie in 1 gezeigt,
der Magnetplatte (in 2 durch einen schraffierten
Block gekennzeichnet) 24, dem Lese-/Schreibkopf 18,
der Vorverstärkungsstufe 17 und
dem Lese-/Schreibcontroller 14 zugeordnet.
-
Der
Lese-/Schreibkopf 18 hat einen MR-Kopf 25 zum
Lesen oder Wiedergeben von Informationen von der Magnetplatte 24.
-
Die
Vorverstärkungsstufe 17 hat
einen Vorverstärker 27 zum
Verstärken
der Lesedaten, die von dem MR-Kopf 25 empfangen werden.
-
Der
Lese-/Schreibcontroller 14 enthält:
einen Regel-(AGC)-Verstärker 29 zum
Steuern der Amplitude eines wiedergegebenen analogen Signals, das
von dem Vorverstärker 27 empfangen
wird;
ein (1+D)-Filter 30;
einen Abtaster und
Entzerrer 31 zum Abtasten des analogen Signals, das von
dem (1+D)-Filter 30 empfangen wird, und zum Korrigieren
von Wellenformen des Signals;
eine Viterbi-Detektionsschaltung 32 zum
Vornehmen einer Korrektur an den digitalen Lesedaten von dem Abtaster
und Entzerrer 31;
eine 8/9-Decodierer- und Descramblerschaltung 33 zum
Decodieren und Descrambeln der Daten, die von der Viterbi-Detektionsschaltung 32 empfangen werden,
um an ihrem Ausgangsende Non-Return-to-Zero-(NRZ)-Daten 22 zu
erzeugen;
einen Phasenregelkreis (PLL) 34 zum Vorsehen
eines Lesetaktes RCLK 41 für den AGC-Verstärker 29, den
Abtaster und Entzerrer 31, den 8/9-Decodierer und Descrambler 33 bei
Empfang der digitalen Lesedaten, die von dem Abtaster und Entzerrer 31 empfangen
werden;
einen Komparator des Pegels der thermischen Rauheit 40,
der ein analoges Signal von dem AGC-Verstärker 29 und ein vorbestimmtes
Schwellensignal Th empfängt
und EINgeschaltet wird, um ein Signal nur dann auszugeben, wenn
der absolute Pegel der Lesedaten die Schwelle überschreitet;
eine Fehlersignalerzeugungsschaltung 35 zum
Erzeugen eines Fehlersignals 23 als Antwort auf das Ausgangssignal
des TA-Pegel-Komparators 40 und die NRZ-Daten 22,
die von dem 8/9-Decodierer und Descrambler 33 empfangen
werden.
-
Eine
Decodierschaltung, die aus dem (1+D)-Filter 30, dem Abtaster
und Entzerrer 31 und der Viterbi-Detektionsschaltung 32 gebildet
ist, nutzt ein PRML-(Partial Response Maximum Likelihood)-Verfahren
der Klasse 4, das als Prozedur zum Detektieren von nichttrivialen
Daten von Lesedaten bekannt ist. Dieses PRML-Verfahren verwendet
ein Partial-Response-Verfahren,
wodurch gewünschte Lesedaten,
die in Störsignalen
eingebettet sind, wiederhergestellt werden können, und ein Viterbi-Decodierverfahren,
wodurch die wahrscheinlichsten Daten von Signalen, die durch Rauschen
gestört
sind, erzeugt werden.
-
Der
AGC-Verstärker 29 ist
eine Demodulationsschaltung zum Verstärken von analogen Signalen,
die von dem Vorverstärker 27 empfangen
werden, auf einen im wesentlichen konstanten Pegel. Der AGC-Verstärker 29 verhindert
die Störung
der Amplitude der verstärkten
Lesedaten, falls eine thermische Rauheit auftreten sollte.
-
Das
(1+D)-Filter 30 ist aus einem Tiefpaßfilter (LPF) und einer Booster-Schaltung
gebildet. Das Filter 30 empfängt das wiedergegebene Signal
von dem AGC-Verstärker 29 und
führt das
wiedergegebene Signal zu dem wiedergegebenen Signal zurück, nachdem
es um 1 Bit verzögert
ist.
-
Der
Abtaster und Entzerrer 31 tastet analoge Signale ab, die
von der Magnetplatte 24 wiedergegeben werden, und sortiert
die abgetasteten Daten entweder in 1 oder 0, um dadurch digitale
Lesedaten zu erzeugen.
-
Die
Viterbi-Detektionsschaltung 32 führt die Viterbi-Decodierverarbeitung
aus, die ein Satz von Operationen ist, um die wahrscheinlichsten
Bits zu finden. Die Viterbi-Detektionsschaltung 32 kann
im allgemeinen einen Fehler korrigieren, falls die Länge des
Fehlers einige Bit beträgt.
-
Der
8/9-Decodierer und Descrambler 33 transformiert oder konvertiert
9-Bit-Daten, die durch den Abtaster und Entzerrer 31 erzeugt
werden, in 8-Bit-NRZ-Daten und descrambelt ferner die Daten, die
durch den 8/9-Codierer und Scrambler 36 einer Scrambling-Verarbeitung
unterzogen wurden.
-
Die
PLL-Schaltung 34 erzeugt einen VCO-Takt, der mit den wiedergegebenen
Daten phasengleich ist, die von dem Abtaster und Entzerrer 31 empfangen
werden, und sendet das Taktsignal zu dem AGC-Verstärker 29,
dem Abtaster und Entzerrer 31, der Viterbi-Detektionsschaltung 32 und
dem 8/9-Decodierer
und Descrambler 33. Der Abtaster und Entzerrer 31 verwendet
dieses VCO-Taktsignal als Abtasttakt (der auch als Lesetakt bezeichnet wird).
Der 8/9-Decodierer und Descrambler 33 nutzt sowohl die
PLL-Daten, die mit dem VCO-Takt synchronisiert sind, als auch das
Lese-Gate-Signal RG 42, das innerhalb der Senkenregion
ansteigt (die dem PLO der in
-
3A gezeigten
Daten entspricht), um die wiedergegebenen Daten zu decodieren. Der
8/9-Decodierer und Descrambler 33 sendet die decodierten Daten
als NRZ-Daten synchron mit dem Lesetakt RCLK 41 zu dem
Festplattencontroller (HDC) 2. Das Lese-Gate-Signal RG 42 gibt
die Ausführung
einer Leseoperation an, so daß die
Leseoperation detektiert wird, wenn der Festplattencontroller 2 ein
Lese-Gate-Signal RG 42 sendet.
-
Um
eine Asynchronität
der wiedergegebenen Daten mit dem Takt auf Grund von thermischer Rauheit
zu verhindern, kann zusätzlich
die PLL-Schaltung 34 die Synchronisation der Daten mit dem
Takt temporär
halten, wenn eine thermische Rauheit aufgetreten ist.
-
Beim
Empfang von analogen Lesedaten von dem AGC-Verstärker 29 und einem
Schwellensignal Th wird die TA-Pegel-Komparator-Schaltung 40 EINgeschaltet,
wobei sie an ihrem Ausgangsende ein TA-Pegel-Signal erzeugt.
-
Die
Fehlersignalerzeugungsschaltung 35 empfängt die Ausgabe der TA-Pegel-Komparator-Schaltung 40 und
die NRZ-Daten von
dem 8/9-Decodierer und Descrambler 33, und dann wird die
Fehlersignalerzeugungsschaltung 35 aktiviert (für den EIN-Zustand),
um ein Fehlersignal 23 der Zählerschaltung 45 des
Festplattencontrollers (HDC) 2 für eine Zeitperiode zuzuführen, in
der die thermische Rauheit nennenswert ist.
-
Bei
dem hier gezeigten Beispiel wird ein Fehlersignal 33 erzeugt,
wie es in 5G gezeigt ist, so daß das Fehlersignal
entweder der Signalausgabe von der TA-Pegel-Komparator-Schaltung 40,
die in 5C gezeigt ist, NRZ-Daten, die
auf Grund von thermischer Rauheit teilweise zerstört sind,
wie in 5D gezeigt, oder einer logischen
Summe (ODER) aus diesen Signalen entspricht. Das so gebildete Fehlersignal 33 wird
der Zählerschaltung 45 zugeführt, die
in dem Festplattencontroller 2 eingebaut ist.
-
Als
nächstes
werden nun Operationen der Fehlersignalerzeugungsschaltung im Schreibmodus beschrieben.
Im Schreibmodus inkorporiert der Lese-/Schreibcontroller 14:
einen
8/9-Codierer und Scrambler 36, der von einem Festplattencontroller 2 NRZ-Daten 22,
ein Schreib-Gate-Signal
WG und einen Schreibtakt WCLK empfängt, um die NRZ-Daten 22 zu
codieren und zu scrambeln;
einen Vorcodierer 37 zum
Ausführen
einer 1/(1+D)-Transformation an dem Signal, das von dem 8/9-Codierer
und Scrambler 36 empfangen wird;
eine Schreibkompensationsschaltung 38 zum
Kompensieren eines Schreibimpulses, der von dem Vorcodierer 37 empfangen
wird; und
eine Schreib-Flipflop-Schaltung 39 zum Empfangen eines
Signals von der Schreibkompensationsschaltung 38 und zum
Senden des Signals zu einem Schreibtreiber 28 der Vorverstärkungsstufe 17.
-
Im
Schreibmodus inkorporiert die Vorverstärkungsstufe 17 den
Schreibtreiber 28, der einem Schreibkopf des Induktionstyps 26 des
Lese-/Schreibkopfes 18 elektrischen Strom liefert, um auf
die Magnetplatte 24 Daten zu schreiben, die von der Schreib-Flipflop-Schaltung 39 empfangen
werden.
-
Der
8/9-Codierer und Scrambler 36 der Datenaufzeichnungsschaltung
führt eine
Operation aus, die die Umkehrung der Operation des 8/9-Decodierers
und Descramblers 33 in der Aufzeichnungsschaltung ist.
Das heißt,
der 8/9-Codierer und Scrambler 36 empfängt NRZ-Daten 22,
die auf die Magnetplatte 24 zu schreiben sind, von dem
Festplattencontroller 2, ein Schreib-Gate-Signal WG und ein
Schreibtaktsignal WCLK und konvertiert die 8-Bit-Schreibdaten in
9-Bit-Daten und scrambelt die 9-Bit-Daten.
-
Der
Vorcodierer 37 führt
eine 1/(1+D)-Transformation aus, die die Umkehrung der Operation
ist, die durch das (1+D)-Filter 30 der Aufzeichnungsschaltung
ausgeführt
wird.
-
Die
Schreibkompensationsschaltung 38 sieht eine Schreibkompensation
vor, bei der das Schreibsignal in der Schreibzeitlage verzögert wird, um
die langsame Reaktion der Magnetplatte zu kompensieren, die mit
der Frequenz des Schreibsignals beim Lesen der aufgezeichneten Daten
nicht mithalten kann. Diese Kompensation kann erreicht werden, indem
die Schreibzeitlage um einen Betrag von einigen Prozent bis zu mehreren
zehn Prozent verzögert wird.
Als Resultat wird die Schreibcharakteristik der Magnetplatte abgewandelt,
um die Bitfehlerrate zu reduzieren.
-
[OPERATION DER MAGNETPLATTENVORRICHTUNG]
-
Unter
Bezugnahme auf 3 wird nun die Leseoperation
der Fehlersignalerzeugungsschaltung 35 beschrieben, die
der TA zugeordnet ist.
-
3 zeigt ein Datenformat auf der Magnetplatte
und ein Zeitlagendiagramm für
verschiedene Signale, die in der Datenwiedergabeschaltung erscheinen: 3A zeigt
das Datenformat von Daten, die auf der Magnetplatte 24 aufgezeichnet
sind; 3B zeigt das Datenformat von
NRZ-Daten, die von der Magnetplatte 24 wiedergegeben werden; 3C zeigt
einen Lesetakt RCLK; und 3D zeigt die
Zeitlage des Lese-Gate-Signals RG.
-
Die
Magnetplatte 24 ist so formatiert, daß sie in eine Vielzahl von
konzentrischen Regionen (die als Spuren bezeichnet werden) geteilt
ist, die weiter in eine Vielzahl von Subregionen geteilt sind, die
Sektoren genannt werden. Ein jeder von solchen Sektoren hat ein
Datenformat, wie es in 3A gezeigt ist. Der Sektor hat:
eine
Region PLO zum Einziehen des Lesetaktes;
eine Region TR zum
Einstellen des Entzerrers 31;
eine Sync-Bytes-Region
SB, die die Vollendung des Einziehens des Taktes angibt;
eine
Datenregion DATEN, die Daten hat, die über einen Schreibtreiber 28 auf
der Magnetplatte 24 aufgezeichnet wurden;
eine Fehlerkorrekturcode-Region
ECC zum Detektieren und Korrigieren von Fehlern in der DATEN-Region;
eine
Zyklische-Blocksicherungs-Region CRC mit einem Sicherungscode, der
zu dem ID des Sektors gehört,
zur Verwendung bei der Fehlerdetektion durch den ECC; und
eine
Lückenregion
GAP, die zwischen dem Ende des Sektors und dem nächsten Sektor vorgesehen ist und
dafür ausgelegt
ist, um solche Schwankungen wie die Startposition des Schreibens
auf der Platte, die Rotationsgeschwindigkeit der Platte und die
Länge der
Daten, die in den Sektor geschrieben werden, zu absorbieren.
-
Die
Magnetplatte 24 (1), die
so formatiert ist und mit konstanter Geschwindigkeit rotiert, erzeugt
Signale in Form eines sich verändernden
Magnetfeldes, die durch den MR-Kopf 25 des
Lese-/Schreibkopfes 18 detektiert werden. Ein Signal, das
Daten angibt, die von der Magnetplatte 24 wiedergegeben
werden, wird durch den Vorverstärker 27 verstärkt, wobei
dessen Amplitude durch den AGC-Verstärker eingestellt wird. Das
verstärkte
analoge Signal wird dann in digitale NRZ-Daten 22, wie in 3B gezeigt,
durch eine PRML-Decodierschaltung der Klasse 4 transformiert,
die aus dem (1+D)-Filter 30, dem Abtaster und Entzerrer 31 und der
Viterbi-Detektionsschaltung 32 gebildet ist. Die digitalen
NRZ-Daten 22 werden dann der Festplatte 2 zugeführt.
-
In
der PLL-Schaltung 34 wird ein Lesetakt RCLK, der mit der
Ausgabe des Abtasters und Entzerrers 31 phasengleich ist,
aus den wiedergegebenen Daten erzeugt, die von dem Abtaster und
Entzerrer 31 ausgegeben werden, wie in 3C gezeigt. Das
Lese-Gate-Signal RG 42 hat einen Anstieg innerhalb desselben
Zeitbereichs wie des PLO-Abschnittes (3A) zum
Einziehen des Taktes und fällt
gleichzeitig mit den NRZ-Daten ab.
-
[FEHLERDETEKTION UND KORREKTUR,
WENN DIE TA AUFGETRETEN IST]
-
Unter
Bezugnahme nun auf ein Flußdiagramm,
das in 4 gezeigt ist, und ein Zeitlagendiagramm
für relevante
Signale, das in 5 gezeigt ist, werden
Fehlerdetektions- und
-korrekturoperationen der in 2 gezeigten
Schaltung beschrieben, die ausgeführt werden, wenn auf Grund
einer Kollision des Magnetkopfes mit Vorsprüngen auf der Magnetplatte 24 eine
thermische Rauheit aufgetreten ist.
-
4 zeigt im Detail eine Prozedur zum Lokalisieren
der fehlerhaften Daten, Herausfinden der Länge des Fehlers und Bestimmungsschritte
zum Korrigieren des Fehlers.
-
5A – 5H zeigen
die Formate von Daten und eine exemplarische Wellenform, die auftreten
würde,
wenn die thermische Rauheit existiert. Die Figuren zeigen insgesamt,
wie ein Fehler, der der thermischen Rauheit zugeordnet ist, aus
der Wellenform detektiert werden kann. 5A ist
das Format von Daten, die auf der Magnetplatte 24 aufgezeichnet
sind, wobei es sich um dasselbe Datenformat wie in 3A handelt. 5B gibt
die Wellenform des wiedergegebenen analogen Signals an, wenn die thermische
Rauheit aufgetreten ist. Dieses Signal wird durch den AGC-Verstärker 29 der
TA-Pegel-Komparator-Schaltung 40 zugeführt. In
der Figur ist gezeigt, daß das
Signal eine Übergangskomponente
auf Grund der thermischen Rauheit hat. Die Figur zeigt auch eine
Beziehung zwischen dem wiedergegebenen Signal und einem Schwellensignal
Th. 5C zeigt ein Signal, das von der TA-Pegel-Komparator-Schaltung 40 ausgegeben
wird. 5D zeigt dieselben NRZ-Daten 22,
die von dem 8/9-Decodierer und Descrambler 33 ausgegeben
werden, wie jene, die in 3B gezeigt
sind. 5E zeigt ein Lesetaktsignal
RCLK 41, das von der PLL-Schaltung 34 ausgegeben
wird und dasselbe wie das Lesetaktsignal RCLK von 3C ist. 5F zeigt
ein Lese-Gate-Signal RG 42, das dasselbe wie das Signal RG 42 von 3D ist. 5G zeigt
ein Fehlersignal 23, das von der Fehlersignalerzeugungsschaltung 35 ausgegeben
wird. 5H zeigt die Ausgabe der Zählerschaltung 45 (6).
-
Es
gibt zwei Hauptfehlerkorrekturverfahren, wie unten beschrieben,
und zwar: (1) die Fehlerkorrektur im Fluge (die ECC im Fluge genannt
wird); und (2) die Software-Fehlerkorrektur (die Software-ECC genannt
wird). Um das wiederholte Auftreten von thermischer Rauheit, die
durch denselben Vorsprung verursacht wird, im Anschluß an einen
Fehlerkorrekturprozeß zu
verhindern, steht zusätzlich
ein drittes Verfahren (3) zur Verfügung, das als "automatischer Sektorsubstitutionsprozeß" bekannt ist und
einen Sprung des Kopfes von dem Sektor der Magnetplatte 24,
der einen Vorsprung hat, um thermische Rauheit zu verursachen, zu
einem alternativen Sektor zuläßt, der
keinen Vorsprung hat.
-
(1) Fehlerkorrektur im
Fluge (ECC im Fluge)
-
Dies
ist ein typisches Fehlerkorrekturverfahren, das in der Technik bekannt
ist, bei dem Fehler unter Verwendung von Hardware wie beispielsweise einem
ECC-Controller 6 korrigiert werden, der in 1 gezeigt
ist. In den meisten Magnetfestplattenvorrichtungen können Fehler
bis zu 9 Bytes oder 12 Bytes unter Verwendung von solch einer Fehlerkorrekturschaltung
im Fluge korrigiert werden, und Fehler von ungefähr 20 Bytes können unter
Verwendung von manch moderner Fehlerkorrekturschaltung bewältigt werden.
Fehler, die 20 Bytes überschreiten, können jedoch
nicht mit einem Hardware-Korrekturverfahren
bewältigt
werden.
-
Im
allgemeinen wird bei der Korrektur von Fehlern durch das ECC-Verfahren "on the fly" ein Fehler, falls
in den Daten vorhanden, durch den ECC-Controller 6 im Fluge
korrigiert, während
Daten von der Magnetplatte 24 sequentiell gelesen werden. Wenn
angenommen wird, daß die
wiedergegebenen Daten eine Länge
von 2X Bytes haben, heißt
es, daß bei
solch einer Fehlerkorrektur die maximale Länge von Fehlern, die im Fluge
korrigierbar ist (das Korrekturvermögen), X Bytes beträgt. Das
heißt,
Fehler, die X Bytes überschreiten,
können
nicht korrigiert werden.
-
(2) Software-ECC
-
Dies
ist ein typisches Software-Fehlerkorrekturverfahren, das in der
Technik bekannt ist, bei dem Fehler unter Verwendung zum Beispiel
eines Software-ECC korrigiert werden, der in einem Festplattencontroller
SH7600 installiert ist, der von der CIRRUS LOGIC Corporation erhältlich ist,
und eines Software-ECC, der in einem Festplattencontroller, nämlich dem
Modell ATEC installiert ist, das von der Q LOGIC Corporation erhältlich ist.
Dieser Typ des Software-ECC sucht alle Daten mit der Länge von
2X auf der Magnetplatte 24 heraus und speichert die Daten erst
einmal in einem RAM (nicht gezeigt) und führt danach unter Verwendung
der Software die Korrektur aus. Das Korrekturvermögen für 2X-Byte-Daten beträgt 2X.
-
Der
Software-ECC hat den Vorteil, daß die Fehlerkorrektur ausgeführt werden
kann, falls die Stelle des Fehlers (d. h., die Gesamtlänge von
Daten ab deren Beginn in Sektoreinheiten bis zum Beginn des Fehlers)
und die Länge
der Fehler selbst bekannt sind. Andererseits hat er den Nachteil,
daß der
Magnetkopf während
der Korrekturprozedur im Leerlauf sein muß, so daß die Leseoperation momentan
unterbrochen wird, woraus ein Overhead resultiert.
-
Es
sollte als vorteilhaft empfunden werden, daß der Software-ECC der Erfindung,
wie er unten beschrieben ist, eine kürzere Korrekturzeit im Vergleich
zu den obenerwähnten
Verfahren nach Stand der Technik benötigt, da die Stelle und die
Länge von fehlerhaften
Daten gemäß der Erfindung
im voraus auf eine unten beschriebene Weise bestimmt werden können.
-
(3) Automatischer Sektorsubstitutionsprozeß
-
Bei
einer typischen Initialisierung einer Magnetplatte wird ein defekter
Sektor, der bei dem Initialisierungsprozeß gefunden wird, als ungültig registriert,
um das Schreiben und Lesen von Daten in dem Sektor zu vermeiden,
und ein Substitutionssektor wird für die Daten vorgesehen, die
sonst in dem ungültigen
Sektor aufgezeichnet worden wären.
Deshalb werden die Daten aus dem Substitutionssektor gelesen.
-
Diese
Lösung
kann verwendet werden, um eine wiederholte Software-ECC-Fehlerkorrektur
wegen thermischer Rauheit zu vermeiden, die durch denselben Vorsprung
auf der Magnetplatte verursacht wird. Gemäß der Erfindung werden defekte Sektoren,
die thermische Rauheit verursachen, registriert, so daß sie durch
Firmware automatisch auf dieselbe Weise, wie es oben bei gewöhnlichen
defekten Sektoren beschrieben ist, durch normale Sektoren substituiert
werden können.
-
Die
Erfindung nutzt den Hardware-ECC im Fluge, den Software-ECC und
einen automatischen Sektorsubstitutionsprozeß gemäß dem Typ und/oder der Größe von Sektoren
in Kombination.
-
Die
Korrekturprozedur der Erfindung beginnt, wie in 4A – B gezeigt,
mit Schritt 100, bei dem die CPU 8 die Anfrage
an den Hostcomputer (nicht gezeigt) über die Schnittstelle 1 richtet,
ob der Hostcomputer einen Lesebefehl ausgegeben hat. Falls die Antwort
NEIN lautet, geht die Prozedur zu Schritt S105 über, wo Operationen ausgeführt werden,
die für
die Fehlerkorrektur irrelevant sind, aber sonst geht die Prozedur
zu Schritt S120 über.
-
Bei
Schritt S120 werden die Fehlerzählerschaltung 45 und
die Registerschaltung 46 (3) auf
die jeweiligen Anfangswerte zurückgesetzt.
Die Prozedur geht zu Schritt S130 über.
-
Die
Zählerschaltung 45 und
die Registerschaltung 46, wie sie in 6 gezeigt
sind, sind in dem Festplattencontroller 2 von 1 und
zwar vorzugsweise in dem Plattenformatcontroller 3 vorgesehen.
Die Zählerschaltung 45 empfängt den
Lesetakt RCLK 41 an dem Anschluß CLK, ein Fehlersignal 23 von
der Fehlersignalerzeugungsschaltung 35 des Lese-/Schreibcontrollers 14 (2)
an dem Anschluß LD
und ein Lese-Gate-Signal RG 42 an dem Anschluß CLR. Das
Lese-Gate-Signal
RG 42 wird abgeschnitten (3C), wenn
alle Daten, die einem Sektor zugeordnet sind, gelesen worden sind,
und daher werden die Zählerschaltung 45 und
die Registerschaltung 46 zurückgesetzt. Die Prozedur geht
dann zu Schritt S130 über.
-
Bei
Schritt S130 wird ein Lese-Gate-Signal RG 42 zugeführt, um
den nächsten
Datensektor (der als Zielsektor bezeichnet wird) zu lesen.
-
Bei
dem nächsten
Schritt S140 startet die Zählerschaltung 45 das
Zählen
der Anzahl von Sektoren, die ausgelesen werden (5D und 5H), bis
der Sektor gefunden wird, der Fehler auf Grund von thermischer Rauheit
hat, um die Stelle des fehlerhaften Sektors bei den nachfolgenden
Schritten zu finden.
-
Die
Prozedur geht dann zu Schritt S150 über, bei dem die CPU 8 die
Anfrage stellt, ob ein Fehlersignal 23 erzeugt worden ist.
Falls die Antwort NEIN lautet, geht die Prozedur zu Schritt S152 über, geht aber
zu Schritt S160 über,
falls der Fehler detektiert worden ist.
-
Bei
Schritt S152 setzt die CPU 8 die Ausführung des Lesebefehls fort,
wie durch den Hostcomputer (nicht gezeigt) instruiert, wobei gefragt
wird, ob alle Daten in dem Zielsektor ausgelesen worden sind (Schritt
S154). Wenn alle Daten ausgelesen worden sind, geht die Prozedur
zu Schritt S156 über,
bei dem die Anfrage gestellt wird, ob der Lesebefehl beendet ist.
Falls er beendet ist, geht die Prozedur zu Schritt S157 über, wobei
anderenfalls die Prozedur beendet wird.
-
Bei
Schritt S157 inkrementiert die CPU 8 die Sektoranzahl für den Zielsektor.
Das heißt,
der Zielsektor wird auf den nächsten
Datensektor gesetzt, und es erfolgt ein Zurückschleifen zu Schritt S130, um
die Leseoperation bei dem nächsten
Zielsektor zu wiederholen.
-
Bei
erneuter Ankunft bei Schritt S150 wird dann, wenn ein Fehlersignal
detektiert ist, ein Fehlerkorrekturprozeß bei dem nächsten Schritt S160 gestartet.
Das Fehlersignal kann bei dem ersten Verfahren wie folgt erzeugt
und bei Schritt S160 angewendet werden. Bei diesem Verfahren wird
das Fehlersignal 23 durch die Fehlersignalerzeugungsschaltung 35 in
Zusammenarbeit mit der TA-Pegel-Komparator-Schaltung 40 erzeugt,
wenn thermische Rauheit aufgetreten ist. Bei dem Ereignis, daß thermische Rauheit
aufgetreten ist, enthalten die wiedergegebenen Daten, die von dem
AGC-Verstärker 29 ausgegeben
werden, ein Übergangssignal
mit einer Wellenform, wie in 5B gezeigt.
Die wiedergegebenen Daten werden der TA-Pegel-Komparator-Schaltung 40 (2)
zusammen mit dem vorbestimmten Schwellensignal Th zugeführt. Die
TA-Pegel-Komparator-Schaltung 40 ist dafür ausgelegt,
um den Absolutwert der wiedergegebenen Daten mit dem Absolutwert
des Schwellensignals Th zu vergleichen und ein EIN-Signal nur dann zu
erzeugen, falls der erstere Wert den letzteren Wert überschreitet,
wie in 5B und 5C gezeigt.
-
Das
durch den TA-Pegel-Komparator erzeugte EIN-Signal wird der Fehlersignalerzeugungsschaltung 35 zugeführt.
-
Aus
der Anzahl der Bytes in dem Sektor, die bei Schritt S140 gezählt wurde,
erhält
die CPU 8 die Länge
der nichtfehlerhaften Daten in Bytes, nämlich die "A-Bytes", die auch die Stelle der fehlerhaften
Daten angeben. Der Wert der A-Bytes
wird in der Registerschaltung 46 (3)
bei Schritt S160 gespeichert. Die A-Bytes, die die Stelle des fehlerhaften
Sektors repräsentieren,
werden aus der Anzahl der Lesetaktsignale RCLK 41 bestimmt,
die in 5E gezeigt sind und für die Zeitperiode
gezählt
werden, während der
das Lese-Gate-Signal RG EIN ist, um Daten von der Magnetplatte 24 zu
lesen, wie in 5F gezeigt, und bis das Fehlersignal 23 auftritt,
das in 5G gezeigt ist.
-
Der
Wert der A-Bytes wird der Registerschaltung 46 zum temporären Speichern
desselben zugeführt.
Die Registerschaltung 46 sendet den Wert der A-Bytes zu
der CPU 8 zur Verwendung als Bussteuersignal 21.
Die Prozedur geht dann zum nächsten Schritt
S170 über.
-
Bei
Schritt S170 wird das Zählen
der Länge der
fehlerhaften Daten selbst unter Verwendung der Zählerschaltung 45 gestartet.
-
Bei
dem nächsten
Schritt S180 stellt die CPU 8 die Anfrage, ob das Fehlersignal
(5G) beendet ist oder nicht. Falls das Fehlersignal
beendet ist, geht die Prozedur für
den nächsten
Prozeß zu
Schritt S190 über,
wobei anderenfalls die Prozedur zu sich selbst zurückgeschleift
wird, um dieselbe Anfrage zu stellen.
-
Das
in 5G gezeigte Fehlersignal 33 wird erzeugt,
um die Länge
der fehlerhaften Daten anzugeben. Dieses Fehlersignal kann durch
die Fehlersignalerzeugungsschaltung 35 erzeugt werden,
indem eines dieser drei Signale selektiert wird: (1) das Signal,
das von der TA-Pegel-Komparator-Schal tung 40 ausgegeben
wird, das in 5C gezeigt ist; (2) die NRZ-Daten,
die Fehler auf Grund von thermischer Rauheit enthalten; und (3)
das Signal, das die logische Summe (ODER) aus diesen zwei Signalen
angibt. Das Fehlersignal 33 ist mit dem Referenztakt RCLK
phasengleich und wird durch die Fehlersignalerzeugungsschaltung 35 der
Zählerschaltung 45 zugeführt, die
in den Festplattencontroller (HDC) 2 eingebaut ist. Die
Zählerschaltung 45 zählt den
Lesetakt 41 während
der EIN-Periode des Fehlersignals 33 aufwärts, wodurch
sie die B-Bytes für
die Länge der
fehlerhaften Daten ermittelt, wie in 5H gezeigt.
-
Bei
Schritt S190 bewirkt die CPU 8, daß die Registerschaltung 46 (6)
den Wert der B-Bytes speichert, der die fehlerhaften Daten angibt
und bei Schritt S170 gezählt
wurde. Die Registerschaltung 46 sendet diesen wert dann
zu der CPU 8 zur Verwendung als Bussignal 21.
-
Bei
dem nächsten
Schritt S200 bestimmt die CPU 8, ob die Länge der
B-Bytes, die bei Schritt S190 in der Registerschaltung 46 (3) gespeichert wurde, länger als
die Länge
von Daten ist, die durch den ECC im Fluge korrigierbar ist. Falls
dies der Fall ist, geht die Prozedur zu Schritt S210 über, wobei
sie anderenfalls zu Schritt S202 übergeht.
-
Bei
Schritt S202 aktiviert die CPU 8 den ECC-Controller 6 (1),
um den ECC im Fluge auszuführen,
und geht zu Schritt S204 über.
-
Bei
Schritt S204 bestimmt die CPU 8, ob der Fehlerkorrekturprozeß erfolgreich
beendet worden ist. Falls dies der Fall ist, geht die Prozedur zu
Schritt S205 über,
wobei sie anderenfalls zu Schritt S206 übergeht.
-
Bei
Schritt S205 sieht die CPU 8 eine Wiederholungsinstruktion
vor, um einen Sektor wieder zu lesen, um der Fehlerkorrektur unterzogen
zu werden, so daß die
Prozedur zu Schritt S120 zurückgeschleift wird,
um zum Korrekturprozeß überzugehen.
Falls der Software-ECC bei der Entfernung von Fehlern nach einer
vorbestimmten Anzahl von Wiederholungen versagt, zeigt die CPU 8 für den Bediener
eine Meldung an, daß ein
Fehler (oder Fehler), der (die) nicht korrigierbar ist (sind), in
den Daten existiert (existieren).
-
Bei
Schritt S206 wird bestimmt, ob die Leseinstruktion von dem Hostcomputer
beendet ist. Falls nicht, wird die Prozedur zu Schritt S157 zum
Verschieben des Zielsektors auf den nächsten Datensektor zurückgeschleift.
Falls die Leseinstruktion beendet ist, geht die Prozedur zu Schritt
S240 über.
-
Bei
erneuter Ankunft bei Schritt S210 führt die CPU 8 den
Software-ECC aus, da die Fehler durch den ECC im Fluge nicht korrigiert
werden können,
weil die Länge
der gegenwärtigen
fehlerhaften Daten, nämlich
die B-Bytes, länger
als die Länge
von Fehlern ist, die durch den ECC im Fluge korrigiert werden kann.
Dann geht die Prozedur zu dem nächsten
Schritt S220 über.
-
Bei
Schritt S220 wird bestimmt, ob die Korrektur der Fehler, die bei
Schritt S210 erfolgte, richtig ist. Falls festgestellt wird, daß die Korrektur
unrichtig ist, geht die Prozedur zu Schritt S205 zurück, wo die Leseoperation
wiederholt wird. Falls die Korrektur andererseits richtig ist, geht
die Prozedur zu Schritt S230 über.
-
Bei
Schritt S230 stellt die CPU 8 die Anfrage, ob die Leseinstruktion
von dem Hostcomputer beendet ist. Falls die Antwort NEIN lautet,
wird die Prozedur dann zu Schritt S157 zurückgeschleift. Falls die Antwort
JA lautet, folgt dann Schritt S240.
-
Bei
Schritt S240 wird, um eine wiederholte thermische Rauheit zu verhindern,
die durch denselben Vorsprung auf der Magnetplatte 24 verursacht wird,
bestimmt, ob der automatische Sektorsubstitutionsprozeß nützlich ist
oder nicht.
-
Falls
der automatische Sektorsubstitutionsprozeß nützlich ist, folgt Schritt S242.
Anderenfalls wird die Prozedur beendet.
-
Bei
Schritt S242 sieht die Prozedur einen Prozeß vor, bei dem ein Substitutionssektor
auf der Magnetplatte 24 für den (die) defekten Sektor(en) eingerichtet
wird. Die Prozedur wird dann beendet.
-
Der
ECC im Fluge, der Software-ECC und der automatische Sektorsubstitutionsprozeß können in
Kombination eingesetzt werden, wie oben beschrieben, wenn fehlerhafte
Daten auf der Magnetplatte korrigiert werden. Als nächstes werden
unten nun eine Rundungsprozedur und ein zweites Fehlersignalerzeugungsverfahren
zum Korrigieren von Mehrfachfehlern beschrieben.
-
[RUNDUNGSPROZEDUR]
-
7A – 7E zeigen
zusammen ein Schema, worin eine Vielzahl von Fehlern, die in einem
Sektor auftreten, unter Verwendung einer Rundungsprozedur detektiert
werden kann, bei der viele Fehler innerhalb einer Länge von
Bytes gerundet werden, die durch den Hardware-ECC im Fluge oder den
Software-ECC korrigierbar ist. 7A zeigt
ein Datenformat auf der Magnetplatte 24. 7B zeigt den
NRZ-Daten-Abschnitt der Daten von 7A in dem
Fall, wenn in den Daten viele Fehler enthalten sind (wie etwa die
Fehler 1, 2 und 3 bei dem in 7B gezeigten
Beispiel). 7C zeigt Daten, die durch Abrunden
der fehlerhaften Daten 1 und 2 erhalten werden. 7D zeigt
Daten, die durch das Runden der fehlerhaften Daten 1 und 2 und 3 erhalten werden. 7E zeigt
das Fehlersignal von 5G.
-
Wenn
die fehlerhaften Daten 1 und 2 die einzigen fehlerhaften
Daten in dem DATEN-Sektor sind und falls die gerundeten fehlerhaften
Daten dafür
in Bytes kleiner als die maximalen Bytes, sprich 9 Bytes, sind,
die durch den Hardware-ECC korrigierbar sind, wie in 7C gezeigt,
können
diese Fehler durch den Hardware-ECC im Fluge korrigiert werden, wie
oben beschrieben.
-
Falls
andererseits weitere fehlerhafte Daten 3 in dem Sektor
existieren, so daß die
gerundeten fehlerhaften Daten eine Datenlänge haben, die größer als die durch den Hardware-ECC im Fluge maximal
korrigierbaren Bytes ist, können
die Fehler dann durch den Software-ECC korrigiert werden, wie zuvor beschrieben,
vorausgesetzt, daß die
gerundeten fehlerhaften Daten in der Größe kleiner als die maximale Datenlänge sind,
die durch das Software-ECC-Verfahren korrigierbar ist. Auf jeden
Fall können
die Fehler durch eines der zwei Korrekturverfahren zweckmäßig korrigiert
werden, das gemäß der Erfindung selektiert
wird.
-
[ALTERNATIVES VERFAHREN
ZUR FEHLERSIGNALERZEUGUNG]
-
Bei
dem ersten Fehlersignalerzeugungsverfahren, das oben beschrieben
ist, wird das Fehlersignal 23 durch die Fehlersignalerzeugungsschaltung 35 bei
dem Empfang von Signalen von der TA-Pegel-Komparator-Schaltung 40 und
von dem 8/9-Decodierer und Descrambler 33 erzeugt, wie
es in Verbindung mit 2 beschrieben ist. Ein alternatives Fehlersignal
kann durch ein zweites Verfahren erzeugt werden, wie in 8 gezeigt, das auf der digitalen Natur
der decodierten NRZ-Daten basiert.
-
8A zeigt
eine Folge von Bits, die die wiedergegebenen Daten mit dem 8/9(0,
4/4)-Format darstellen. 8B zeigt
den geraden Teil der in 8A gezeigten
Folge (d. h. die Folge von Bits mit gerader Ordnung in der Originalfolge),
während 8C den ungeraden
Teil der Folge von 8A zeigt. 8D zeigt
ein Verriegelungsfehlersignal und 8E eine Ausgabe
eines vierstufigen Schieberegisters.
-
Der
8/9-Decodierer und Descrambler 33, der in 2 gezeigt
ist, nutzt eine 8/9-Transformationscodierung, bei der im allgemeinen
ein 8/9(0, n/m)-Transformationsformat verwendet wird. Dieses Transformationsformat
basiert auf "n/m-Lauflängenregeln", bei denen die Anzahl
von Nullen zwischen zwei benachbarten "1"en
nicht mehr als n beträgt
und die Anzahl von "0"en in den geraden
und ungeraden Teilen der digitalen Daten nicht mehr als m beträgt (Null-Regeln).
-
Dementsprechend
enthält
zum Beispiel im Falle des 8/9(0, 4/4)-Codierformats eine korrekte
Datenfolge höchstens
4 konsekutive Nullen, und die geraden und die ungeraden Teile der
Daten enthalten jeweils auch höchstens
4 konsekutive Nullen. Als anderes Beispiel haben Daten, die durch
das 8/9(0, 3/5)-Codierformat codiert werden, höchstens 3 konsekutive Nullen
und enthält
jeder von den ungeraden und den geraden Teilen derselben höchsten 5
konsekutive Nullen.
-
Speziell
wird angenommen, daß digitale
Daten eine Folge von "11010100000001000000100001110010010010" haben, wie in 8A gezeigt.
Der gerade Teil der Folge lautet "11100010000011001", wie in 8B gezeigt,
und der ungerade Teil lautet "100000000010010100", wie in 8C gezeigt. Wenn
die Null-Regeln auf die Datenfolge angewendet werden, muß die maximale
Anzahl von konsekutiven Nullen in den Daten sowie in den geraden
und ungeraden Teilen derselben kleiner gleich 4 sein. In Wirklichkeit
enthalten die in 8A gezeigten Daten jedoch zwei
unterstrichene Sektionen, die 7 Nullen bzw. 6 Nullen haben und somit
den Null-Regeln
widersprechen, denen die Daten unterliegen. Der gerade Teil und
der ungerade Teil enthalten eine Sektion mit 5 konsekutiven Nullen
bzw. eine Sektion mit 9 konsekutiven Nullen. Diese Nullen können detektiert werden,
wenn die Daten beim Konvergieren versagen, auch nachdem die Daten
durch ein 4stufiges Schieberegister (nicht gezeigt) geführt werden,
wobei "0" verriegelt wird.
-
Falls
ein Verriegelungsfehlersignal definiert ist, das den Abschnitten
der Daten zugeordnet wird, die nicht den Null-Regeln entsprechen,
kann man demzufolge in dem hier gezeigten Fall ein 24-Byte-Fehlersignal 23 erhalten,
wie es in 8D gezeigt ist. 8E zeigt
ein Verriegelungsfehlersignal, das aus diesen Daten durch das vierstufige Schieberegister
erhalten wird.
-
Anstelle
einer Kombination aus der TA-Pegel-Komparator-Schaltung 40 und der Fehlersignalerzeugungsschaltung 35 zum
Erzeugen eines Fehlersignals ist es möglich, ein Hardware-Fehlerdetektionsmittel
zum Erzeugen solch eines Fehlersignals 23 für decodierte
digitale NRZ-Daten auf der Basis der Null-Regeln vorzusehen, wie
sie durch das 8/9(0, n/m)-Format definiert sind.
-
Der
Fachwelt wird klar sein, daß irgendeines der
ersten und zweiten Fehlersignalerzeugungsverfahren, wie sie oben
beschrieben sind, beliebig gewählt
werden kann. Es ist auch möglich,
die zwei Verfahren gleichzeitig einzusetzen, um zwei Arten von Fehlersignalen
zu erzeugen und eines von ihnen unter Verwendung einer zweckmäßigen Selektorschaltung
(nicht gezeigt) auszuwählen.
-
Vorteile,
die in den Ausführungsformen
bemerkt werden, sind wie folgt.
- (1) In einer
Ausführungsform
der Erfindung können
fehlerhafte Daten lokalisiert werden, die durch thermische Rauheit
verursacht wurden.
- (2) In einer anderen Ausführungsform
der Erfindung kann die Länge
der Fehler selbst bestimmt werden.
- (3) In noch einer anderen Ausführungsform der Erfindung kann
ein Fehlersignal durch eine Kombination aus einem Komparator und
einer Fehlersignalerzeugungsschaltung erzeugt werden, sowie durch
Lauflängenregeln,
denen die Daten unterliegen.
- (4) In einer weiteren Ausführungsform
der Erfindung kann ein Software-ECC auch in dem Fall ausgeführt werden,
wenn der Hardware-ECC im Fluge nicht anwendbar ist, auf der Basis
dessen, daß sowohl
die Stelle von Fehlern, die zum Beispiel durch thermische Rauheit
verursacht werden, als auch die Länge der Fehler bestimmt werden
kann.
- (5) In einer noch weiteren Ausführungsform der Erfindung kann,
da die präzise
Stelle und die Länge
von fehlerhaften Daten auf Grund von thermischer Rauheit aus einem
Fehlersignal bestimmt werden können,
der Datensektor, der den fehlerhaften Daten zugeordnet ist, als
ungültiger
Sektor registriert werden und durch einen neuen Sektor substituiert
werden, der für
den ungültigen
Sektor definiert ist.
- (6) Die Erfindung sieht somit eine Verbesserung des Fehlerkorrekturvermögens einer
Magnetplattenvorrichtung vor, wodurch die Fehlerrate reduziert wird
und die Zuverlässigkeit
derselben erhöht
wird.
-
[VORTEILE DER ERFINDUNG]
-
Die
Erfindung sieht eine Datenkorrekturvorrichtung vor, die die Stelle
und die Länge
des Fehlers bestimmen kann, der in den Daten enthalten ist, die von
einem magnetischen Aufzeichnungsmedium gelesen werden.
-
Die
Erfindung sieht ein Verfahren vor, das die Stelle und die Länge des
Fehlers bestimmen kann, der in den Daten enthalten ist, die von
einem magnetischen Aufzeichnungsmedium gelesen werden.
-
Die
Erfindung sieht eine Magnetplattenvorrichtung vor, die mit Mitteln
versehen ist zum Detektieren von fehlerhaften Daten, die durch thermische Rauheit
verursacht werden, auf Grund einer plötzlichen Veränderung
des elektrischen Widerstandes eines MR-Elementes eines MR-Kopfes,
die durch eine temporäre
Kollision des Kopfes mit der Magnetplatte bewirkt wird.
-
Die
Erfindung sieht eine Magnetplattenvorrichtung vor, die mit Mitteln
zum Detektieren und Korrigieren von fehlerhaften Daten auf Grund
von thermischer Rauheit versehen ist.
-
Die
Erfindung sieht ein Verfahren zum Detektieren von fehlerhaften Daten
zur Verwendung mit einer Magnetplattenvorrichtung vor.
-
Die
Erfindung sieht ein Verfahren zum Detektieren und Korrigieren von
fehlerhaften Daten zur Verwendung mit einer Magnetplattenvorrichtung
vor.
-
Die
Erfindung sieht ferner eine Magnetplattenvorrichtung vor, die mit
Mitteln versehen ist zum Detektieren eines Fehlers in den von einer
Magnetplatte gelesenen Daten, der durch thermische Rauheit verursacht
wird, auf Grund einer plötzlichen
Veränderung
des elektrischen Widerstandes eines MR-Elementes eines MR-Kopfes,
die durch eine temporäre
Kollision des MR-Kopfes mit der Magnetplatte bewirkt wird.
-
Die
Erfindung sieht ferner eine Magnetplattenvorrichtung vor, die mit
Mitteln zum Detektieren und Korrigieren von Fehlern versehen ist,
die durch thermische Rauheit verursacht werden und in den Daten
enthalten sind, die von der Magnetplatte gelesen werden.