PatentDe  


Dokumentenidentifikation DE60218478T2 29.11.2007
EP-Veröffentlichungsnummer 0001410388
Titel VERFAHREN UND GERÄT ZUR HANDHABUNG DES DATENVERARBEITUNGSENDES IN EINER DATENSPEICHERVORRICHTUNG
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder BLISS, William G., Thornton, CO 80204, US;
KARABED, Razmik, San Jose, CA 95120, US;
RAE, James W., Rochester, MN 55902, US;
STOCKMANNS, Heiner, Santa Cruz, CA 95060, US;
ZHANG, Kaichi, San Jose, CA 95132, US
DE-Aktenzeichen 60218478
Vertragsstaaten DE, FR, GB, IE, IT, NL
Sprache des Dokument EN
EP-Anmeldetag 17.06.2002
EP-Aktenzeichen 027465541
WO-Anmeldetag 17.06.2002
PCT-Aktenzeichen PCT/US02/19092
WO-Veröffentlichungsnummer 2003003368
WO-Veröffentlichungsdatum 09.01.2003
EP-Offenlegungsdatum 21.04.2004
EP date of grant 28.02.2007
Veröffentlichungstag im Patentblatt 29.11.2007
IPC-Hauptklasse G11B 20/10(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse G11B 20/12(2006.01)A, L, I, 20051017, B, H, EP   G11B 27/30(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]
ALLGEMEINER STAND DER TECHNIK

Computer-Festplattenlaufwerke, die auch als Festplattenlaufwerke oder Festplatten bekannt sind, sind de facto zu einer Standard-Datenspeicherkomponente moderner Computersysteme geworden und sind auch immer mehr in moderner Verbraucherelektronik zu finden. Ihre große Verbreitung kann direkt auf ihre geringen Kosten, hohe Speicherkapazität und hohe Zuverlässigkeit neben großer Verfügbarkeit, niedrigem Stromverbrauch, hohen Datentransfergeschwindigkeiten und abnehmender physischer Größe zurückgeführt werden.

Diese Laufwerke bestehen in der Regel aus einer oder mehreren rotierenden Magnetplatten, die in einem umweltgeregelten Gehäuse untergebracht sind, das ferner die gesamte Elektronik und Mechanik zum Lesen und Schreiben von Daten und die Schnittstelle mit anderen Einrichtungen enthält. Über jeder der Platten und in der Regel auf jeder Seite sind zum Aufzeichnen und Lesen von Daten Lese-/Schreibköpfe positioniert. Die Elektronik eines Festplattenlaufwerks wird mit diesen Lese-/Schreibköpfen gekoppelt und enthält zahlreiche Komponenten zur Steuerung der Position der Köpfe und zum Erzeugen oder Lesen der Daten repräsentierenden elektromagnetischen Felder. Diese Komponenten empfangen Daten von einer Host-Einrichtung, wie zum Beispiel einem Personal Computer und übersetzen diese Daten in magnetische Codierungen, die durch die Köpfe auf die Datenträgerplatten geschrieben werden. Wenn eine Host-Einrichtung Daten von dem Laufwerk anfordert, findet die Elektronik ferner die gewünschten Daten, liest die magnetischen Codierungen, die diese Daten repräsentieren, und übersetzt diese Codierungen wieder in die binären digitalen Informationen, die die Host-Einrichtung verstehen kann. Ferner werden Fehlerdetektions- und -korrekturalgorithmen angewandt, um präzises Speichern und Abrufen von Daten sicherzustellen.

Ein Gebiet, auf dem signifikante Fortschritte erzielt wurden, lag auf dem Gebiet der Lese-/Schreibkopftechnologie und der Verfahren zum Interpretieren der von diesen Köpfen gelesenen magnetischen Fluktuationen. Der Lese-/Schreibkopf, wovon eine typische Festplatte mehrere aufweist, ist die Schnittstelle zwischen Magnetplatten und der Festplattenelektronik. Die magnetisch codierten Daten werden durch den Lese-/Schreibkopf tatsächlich als Magnetflußbereiche auf den Platten gelesen und geschrieben. Aus binären 1en und 0en bestehende Daten werden durch Sequenzen der Anwesenheit oder Abwesenheit von Flußumkehrungen, die durch den Lese-/Schreibkopf aufgezeichnet oder detektiert werden, codiert. Eine Flußumkehrung ist eine Magnetflußänderung in zwei zusammenhängenden Bereichen der Datenträgerplatte. Traditionelle Festplatten lesen Daten von den Platten durch Detektieren der Spannungsspitze, die in dem Lese-/Schreibkopf vermittelt wird, wenn eine Flußumkehrung unter dem Lese-/Schreibkopf vorbeiläuft, während die Platten rotieren. Dies ist als „Spitzendetektion" bekannt. Zunehmende Speicherdichten erfordern jedoch verringerte Spitzenamplituden und bessere Signaldiskrimination und höhere Plattendrehgeschwindigkeiten schieben die Spitzen näher beieinander, so daß die Spitzendetektion schwieriger zu erreichen ist.

Es wurden Lese-/Schreibköpfe des magnetoresistiven Typs („MR") mit vergrößerter Empfindlichkeit entwickelt, um magnetische Signale kleinerer Amplitude und mit vergrößerter Signaldiskrimination zu lesen, um bestimmte der Probleme mit zunehmenden Speicherdichten zu behandeln. Zusätzlich wurde eine andere Technologie, die als Partial Response Maximum Likelihood („PRML") bekannt ist, entwickelt, um die Probleme mit der Spitzendetektion mit zunehmenden Dichten und Drehgeschwindigkeiten weiter zu behandeln. PRML wurde aus der Kommunikationstechnologie geborgt und ist ein Algorithmus, der in der Festplattenelektronik implementiert wird, um die von dem Lese-/Schreibköpfen gelesenen magnetischen Signale zu interpretieren. Auf PRML basierende Plattenlaufwerke lesen die von den auf den Datenträger gespeicherten magnetischen Flußumkehrungen erzeugten analogen Signalformen. Anstatt nach Spitzenwerten zu suchen, um Flußumkehrungen anzuzeigen, tasten auf PRML basierende Laufwerke diese analogen Signalform (die „partielle Antwort") digital ab und verwenden fortschrittliche Signalverarbeitungstechnologien, um das von dieser Signalform repräsentierte Bitmuster zu bestimmen (die „Maximalwahrscheinlichkeit"). Diese Technologie hat es in Verbindung mit Köpfen des magnetoresistiven Typs („MR") Herstellern gestattet, Datenspeicherdichten weiter zu vergrößern. PRML-Technologie toleriert ferner mehr Rauschen in den gelesenen magnetischen Signalen, wodurch die Verwendung von Platten und Lese-/Schreibköpfen niedrigerer Qualität gestattet wird, so daß Herstellungsausbeuten vergrößert und Kosten verringert werden.

Bei vielen von mehreren Herstellern erhältlichen Laufwerken werden Festplatten in der Regel durch Faktoren wie etwa Kosten/Megabyte der Speicherung, Datentransferrate, Stromanforderungen und Formfaktor (physische Abmessungen) differenziert, wobei der Großteil der Konkurrenz auf Kosten basiert. Da die größte Konkurrenz zwischen Festplattenlaufwerkherstellern auf dem Gebiet der Kosten auftritt, werden verbesserte Festplattenlaufwerkkomponenten benötigt, die sich bei der Vergrößerung des Angebots und bei dem Verringern von Herstellungskosten als kostengünstig erweisen, während gleichzeitig Speicherkapazität, Betriebsgeschwindigkeit, Zuverlässigkeit und Stromeffizienz vergrößert werden.

KURZFASSUNG

Die vorliegende Erfindung wird durch die anhängigen Ansprüche definiert und nichts in dem vorliegenden Abschnitt sollte als Einschränkung dieser Ansprüche aufgefaßt werden. Als Einführung betreffen die nachfolgend beschriebenen bevorzugten Ausführungsformen ein Verfahren zum Bearbeiten eines Datenendezustands für Daten in einem Datenspeicher- und -abrufsystem, wobei das Datenspeicher- und abrufsystem einen Schreibkanal und einen Lesekanal und einen Datenspeicher aufweist.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

1A zeigt ein Blockschaltbild eines mit einer Host-Einrichtung gekoppelten beispielhaften Festplattenlaufwerks.

1B zeigt ein Blockschaltbild eines Lese-/Schreibkanals zur Verwendung mit dem Festplattenlaufwerk von 1A.

2 zeigt die Schnittstelle, die einen Controller mit dem Lese-/Schreibkanal von 1B verbindet.

3 zeigt von einem Codierer des Lese-/Schreibkanals von 1B ausgegebene codierte Datenbyte.

4 zeigt von einem Multiplexer des Lese-/Schreibkanals von 1B ausgegebene codierte Datenbyte und eine Datenendemarkierung.

AUSFÜHRLICHE BESCHREIBUNG DER ZUR ZEIT BEVORZUGTEN AUSFÜHRUNGSFORMEN

Die hier beschriebenen Ausführungsformen betreffen eine auf PRML basierende Lese-/Schreibkanaleinrichtung für Festplattenlaufwerk-Controller. Genauer gesagt wird nachfolgend ein Verfahren und eine Vorrichtung zur Verringerung von Lesekanal-Rauschproblemen, die beim Verarbeiten des Endes eines aus einem Datenspeicher wie etwa einem Festplattenlaufwerk ausgelesenen codierten Benutzerdatenbytestroms auftreten können, beschrieben. Der Lese-/Schreibkanal ist eine mit den Lese-/Schreibköpfen des Festplattenlaufwerks gekoppelte Einrichtung.

Der Ausdruck „gekoppelt mit" ist hierbei als direkt verbunden oder durch eine oder mehrere Zwischenkomponenten indirekt verbunden bedeutend definiert. Solche Zwischenkomponenten können sowohl auf Hardware als auch auf Software basierende Komponenten umfassen. Der Lese-/Schreibkanal setzt die codierten Benutzerdaten, die in binärer/digitaler Form von der Host-Einrichtung vorliegen, in elektrische Impulse um, die den Lese-/Schreibkopf ansteuern, um die codierten Benutzerdaten magnetisch auf den Laufwerkplatten aufzuzeichnen. Ferner empfängt der Lese-/Schreibkanal die codierten Benutzerdaten in analoger Form von den Lese-/Schreibköpfen und setzt die codierten Benutzerdaten aus analoger wieder in binäre/digitale Form um.

Wie ausführlicher beschrieben wird, ist ein Viterbi-Detektor ein Maximum-Likelihood-Detektor oder Viterbi-Decoder, der den Viterbi-Algorithmus implementiert, um die von dem Festplattenlaufwerk ausgelesenen codierten Benutzerdaten zu analysieren, was bei der Erzeugung der binären/digitalen Daten, die auf dem Festplattenlaufwerk gespeichert werden, hilft. Bei der Durchführung der Maximum-Likelihood-Detektion liefert der Viterbi-Algorithmus ein iteratives Verfahren zur Bestimmung des besten Weges auf Zweigen eines Trellis-Diagramms. Die Maximum-Likelihood-Detektion umfaßt das Analysieren einer Anzahl aufeinanderfolgender Bit codierter Benutzerdaten, um den wahrscheinlichsten weg zu bestimmen. Durch Analyse einer Anzahl aufeinanderfolgender Bit codierter Benutzerdaten kann somit die wahrscheinlichste Sequenz gewählt werden. Ein Beispiel für eine Implementierung eines Viterbi-Detektors wird ausführlicher in einer Arbeit mit dem Titel „A 100 MBIT/S Viterbi Detector Chip: Novel Architecture And Its Realization" von Gerhard Fettweis und Heinrich Meyr, vorgestellt auf der ICC 1990 in Atlanta, Georgia am 16.–19.4.1990 beschrieben, der die Arbeit Nr. 257 in der Sitzung 307A gegeben wurde, wobei auf deren gesamte Offenlegung hiermit ausdrücklich Bezug genommen wird.

Es wird gewünscht, daß Viterbi-Entscheidungen bezüglich der codierten Benutzerdatenbit nicht durch etwaiges Rauschen beeinflußt werden, das in den Lese-/Schreibkanal eintritt, nachdem das Ende der codierten Benutzerdaten oder das Ende des Sektors erreicht ist. Damit durch den Viterbi-Detektor bezüglich der codierten Benutzerbit getroffene Viterbi-Entscheidungen nicht durch etwaiges Rauschen beeinflußt werden, das nach dem Ende der Benutzerdaten in den Lese-/Schreibkanal eintritt, wird somit die Bitlänge der Benutzerdaten erweitert, indem die codierten Benutzerdaten mit sekundären Stopfbit (PAD2) wie nachfolgend beschrieben gestopft werden.

Die Länge der sekundären Stopfbit (PAD2) in Bit muß typischerweise mindestens die Summe der Wegspeicherlänge und etwaiger Filterungsverzögerungen betragen, wobei etwaige Pipeline-Verzögerungen nicht gezählt werden. Die Wegspeicherlänge K ist so zu wählen, daß die Wahrscheinlichkeit maximiert wird, daß alle Wege zu allen Zuständen, die von dem Viterbi-Detektor in dem aktuellen Zeitschritt berücksichtigt werden, durch genau denselben Zustand K Zeitschritt in der Vergangenheit hervorgetreten oder durchgegangen sind. Die Filterungsverzögerungen sind die Gesamtzahl nichtkausaler Ausgangsdatenabtastwerte eines Analog/Digital-Umsetzers („ADC"), die in den Filteroperationen betrachtet werden, die durch ein nichtrekursives Filter („FIR") und eine Schaltung für interpolierte Zeitsteuerungswiederherstellung („ITR") durchgeführt werden, um dem Viterbi-Detektor vorgelegte Eingangsdaten zu berechnen. Die Pipeline-Verzögerungen sind jegliche Verzögerungen, die eingeführt werden, um die Berechnung zeitlich zu verteilen, die nicht naturgemäß zu dem durchgeführten Algorithmus gehören. Die zweite Menge von Stopfbit (PAD2) wird als Q(1), Q(2), ..., Q(L2) bezeichnet, wobei L2 die Menge an hinzugefügten sekundären Stopfbit darstellt. Sekundäre Stopfbit Q(j), die hinzugefügt werden, wobei 1 ≤ j ≤ L2 ist, können willkürlich sein. Die Benutzerdatenbit U(1), U(2), U(3), ..., U(N), die primären Stopfbit P(1), ..., P(L1) und die sekundären Stopfbit Q(1), ..., Q(L2) werden nun alle zur Verarbeitung zu dem Kanal gesendet.

Bei bestimmten Arten von Viterbi-Detektoren kann die Länge der sekundären Stopfbit (PAD2) in Bit relativ groß sein, wie zum Beispiel eine Länge von bis zu 100 Bit. Da die sekundären Stopfbit (PAD2) zu einem Zeitpunkt auf dem Festplattenlaufwerk gespeichert werden, können die sekundären Stopfbit (PAD2) relativ viel Platz auf der Festplatte einnehmen. Es ist deshalb wünschenswert, die Menge an auf dem Festplattenlaufwerk durch die sekundären Stopfbit (PAD2) eingenommenem Platz zu reduzieren.

Mit Bezug auf 1A ist ein Blockschaltbild eines mit einer Host-Einrichtung 112 gekoppelten beispielhaften Festplattenlaufwerks 100 gezeigt. Der Klarheit halber sind bestimmte Komponenten, wie etwa die Servo-/Stellgliedmotorregelung, nicht gezeigt. Das Laufwerk 100 enthält die Magnetplatten und den Spindelmotor 102, die Lese-/Schreibköpfe und die Stellgliedbaugruppe 104, Vorverstärker 106, einen Lese-/Schreibkanal 108 und einen Controller 110. Die Vorverstärker 106 sind über Schnittstellen 114, 116 mit dem Lese-/Schreibkanal 108 gekoppelt. Der Controller 110 ist über die Schnittstellen 118, 120 an den Lese-/Schreibkanal 108 angeschaltet.

Für Lesevorgänge von der Festplatte 100 liefert die Host-Einrichtung 112 eine Speicherstellenkennung, die die Speicherstelle der Daten auf dem Laufwerk identifiziert, wie z.B. eine Zylinder- und Sektoradresse. Der Controller 110 empfängt diese Adresse und bestimmt die physische Speicherstelle der Daten auf den Platten 102. Der Controller 110 bewegt dann die Lese-/Schreibköpfe zu der richtigen Position, damit sich die Daten unter den Lese-/Schreibköpfen 104 vorbeidrehen. Während sich die Daten unter dem Lese-/Schreibkopf 104 vorbeidrehen, liest der Lese-/Schreibkopf 104 die Anwesenheit oder Abwesenheit von Flußumkehrungen, wodurch ein Strom analoger Signaldaten erzeugt wird. Diese Daten werden zu den Vorverstärkern 106 geleitet, die das Signal verstärken und es über die Schnittstelle 114 zu dem Lese-/Schreibkanal 108 leiten. Wie später besprochen werden wird, empfängt der Lese-/Schreibkanal die verstärkte analoge Signalform aus den Vorstärkern 106 und decodiert diese Signalform zu den von ihr repräsentierten digitalen Binärdaten. Diese digitalen Binärdaten werden dann über die Schnittstelle 118 zu dem Controller 110 geleitet. Der Controller 110 schaltet die Festplatte 100 an die Host-Einrichtung 112 an und kann zusätzliche Funktionalität enthalten, wie zum Beispiel Funktionalität der Cache-Speicherung oder Fehlerdetektion/-korrektur, die die Betriebsgeschwindigkeit und/oder Zuverlässigkeit der Festplatte 100 vergrößern soll.

Für Schreiboperationen führt die Host-Einrichtung 112 dem Controller 110 die zu schreibenden binären digitalen Daten und die Speicherstelle, z.B. Zylinder- und Sektoradresse, wohin sie geschrieben werden sollen, zu. Der Controller 110 bewegt die Lese-/Schreibköpfe 104 zu der richtigen Speicherstelle und sendet die zu schreibenden binären digitalen Daten über die Schnittstelle 120 zu dem Lese-/Schreibkanal 108. Der Lese-/Schreibkanal 108 empfängt die binären digitalen Daten, codiert sie und erzeugt Analogsignale, mit denen der Lese-/Schreibkopf 104 angesteuert wird, um den Magnetplatten 102 die richtigen Magnetflußumkehrungen zu verleihen, die die binären digitalen Daten repräsentieren. Die erzeugten Signale werden über die Schnittstelle 116 zur Ansteuerung der Lese-/Schreibköpfe 104 zu den Vorverstärkern 106 geleitet.

Mit Bezug auf 1B ist ein beispielhafter Lese-/Schreibkanal 108, der Codierungstechnologie des Typs Partial Response Maximum Likelihood („PRML") unterstützt, zur Verwendung mit dem Festplattenlaufwerk 100 von 1a gezeigt. Der Klarheit halber wurden bestimmte Komponenten weggelassen. Der Lese-/Schreibkanal 108 wird als eine integrierte Schaltung implementiert, die einen CMOS-Prozeß („Complementary Metal Oxide Semiconductor") mit 0,18 Mikrometer verwendet. Es versteht sich, daß CMOS-Prozesse Prozesse umfassen, die sowohl Metall-Gates als auch Polysilizium-Gates verwenden können. Ferner versteht sich, daß andere Prozeßtechnologien und Strukturelementgrößen verwendet werden können und daß die hier offengelegten Schaltkreise ferner mit anderen Schaltkreisen integriert werden können, die die Festplattenelektronik umfassen, wie zum Beispiel die Festplatten-Controller-Logik. Wie beschrieben wurde, setzt der Lese-/Schreibkanal 108 zwischen binären digitalen Informationen und den den Magnetfluß auf den Platten 102 repräsentierenden Analogsignalen um. Der Lese-/Schreibkanal 108 ist in zwei Hauptteile aufgeteilt, den Lesekanal 156 und den Schreibkanal 158.

Der Schreibkanal 158 enthält einen Parallel-Seriell-Umsetzer 144, einen Codierer 147, eine Schreib-Vorkompensationsschaltung 150 und eine Treiberschaltung 152. Der Parallel-Seriell-Umsetzer 144 empfängt Benutzerdaten über die Schnittstelle 120 von der Host-Einrichtung 112 (8 Bit auf einmal). Vorzugsweise wurden die von der Host-Einrichtung 112 empfangenen Benutzerdaten bereits wie später ausführlicher beschrieben werden wird mit primären Stopfbit (PAD1) gestopft. Die primären Stopfbit (PAD1) umfassen Dummy-Bit, die am Ende der Benutzerdatenbit eingefügt werden, so daß die Länge in Bit der Benutzerdaten immer ein Vielfaches der Eingangsblocklänge des Codierers 147 ist. Die Eingangsblocklänge des Codierers 147 ist die Anzahl der Bit, die der Codierer benötigt, um die Benutzerdaten ordnungsgemäß zu verarbeiten. Wenn also die Eingangsblocklänge des Codierers 147 32 Bit beträgt, muß der Codierer die Benutzerdaten in 32-Bit-Blöcken empfangen, um die Benutzerdaten ordnungsgemäß zu verarbeiten. Wenn die Benutzerdaten 100 Bit lang sind und die Eingangsblocklänge des Codierers 147 32 Bit beträgt, werden deshalb 28 primäre Stopfbit (PAD1) am Ende der Benutzerdaten eingefügt, um sicherzustellen, daß die Länge in Bit der Benutzerdaten ein Vielfaches von 32 ist, das heißt 32·4 = 128 = 100 + 28. Nachdem der Umsetzer 144 die Benutzerdaten empfangen hat, serialisiert er die Eingangsdaten und sendet den seriellen Bitstrom zu dem Codierer 147.

Der Codierer 147 nimmt die Benutzerdatenbit 200 U(1), U(2), U(3), ..., U(N), die primäre Stopfbit 202 P(1), ..., P(L1) aufweisen, und codiert dann die Benutzerdatenbit 200 und die primären Stopfbit 202 zu codierten Datenbyte 204 V(1), V(2), V(3), ..., V(M), wie in 1B, 2 und 3 dargestellt. Bei einer Ausführungsform sind die codierten Datenbyte 204 (V) 34 Bit lang, mit M = (N + L1)/4. Der Codierer 147 umfaßt einen lauflängenbegrenzten („RLL-„)Codierer 146 und einen Paritätscodierer 148. Der RLL-Codierer 146 codiert die Benutzerdatenbit 200 und die primären Stopfbit 202 zu symbolischen Binärsequenzen gemäß einem bekannten lauflängenbegrenzten Algorithmus zur Aufzeichnung auf den Platten 102. Der beispielhafte RLL-Codierer verwendet einen 32/33-Bit-Symbolcode, um sicherzustellen, daß Flußumkehrungen ordnungsgemäß beabstandet sind und daß keine langen Läufe von Daten ohne Flußumkehrungen aufgezeichnet werden. Die RLL-codierten Benutzerdatenbit 200 und die primären Stopfbit 202 werden zu dem Paritätscodierer 148 geleitet, der ein Paritätsbit zu den Daten hinzufügt. In dem beispielhaften Paritätscodierer 148 wird ungerade Parität verwendet, um sicherzustellen, daß aufgrund der magnetischen Eigenschaften solcher aufgezeichneter Daten keine langen Läufe von 0en und 1en aufgezeichnet werden. Die codierten Datenbyte 204 werden danach nicht als Digitalsignal, sondern als ein Analogsignal behandelt. Das Analogsignal wird wie in 1B dargestellt durch einen Multiplexer 149 geleitet. Wenn das Ende der codierten Datenbyte 204 erreicht ist, schaltet der Multiplexer 149 seinen Eingang von dem Ausgang des Paritätscodierers 148 auf den Ausgang des Markierungsgenerators 151 um, und der Markierungsgenerator 151 erzeugt eine Datenendemarkierung 206 (W), die dann, wie später ausführlicher besprochen wird, zu dem Ende der codierten Datenbyte 204 hinzugefügt wird. Es ist die Aufgabe des Controllers 110, das Ende der Benutzerdaten zu signalisieren. Dies könnte dadurch geschehen, daß entweder die Anzahl der Benutzerbyte bereitgestellt wird, so daß das Ende der Benutzerdaten durch Zählen identifiziert werden kann, oder über ein gewöhnlich als WRITE GATE bezeichnetes Signal. Wenn die Signalisierung das WRITE GATE verwendet, muß dieses Signal durch den Controller 110 so zeitgesteuert werden, daß der Kanal 108 etwaige zum Identifizieren des Datenendeereignisses in bezug auf die Sequenz zu schreibender Daten erforderliche Synchronisation durchführen kann. Bei einer bevorzugten Ausführungsform wird die Datenendemarkierung 206 durch eine Reihe von Nullbit dargestellt und besonders bevorzugt durch mindestens vier Nullbit. Vorzugsweise werden diese vier Nullbit durch einige weitere Bit ergänzt, so daß die Gesamtzahl der Bit auf etwaige Filterungsverzögerungen paßt, wie zum Beispiel die Filterungsverzögerungen, die durch ein FIR-Filter 134 und eine ITR-Schaltung 136 eingeführt werden, wie später ausführlicher besprochen werden wird. Bei einer bevorzugten Ausführungsform codiert der Markierungsgenerator 151 eine Datenmarkierung 206 von einem Byte nach den codierten Datenbyte 204 fest (NRZ). Die Datenmarkierung 206 ist programmierbar. Vorzugsweise besteht die Datenmarkierung 206 aus acht Datenmarkierungsbit (w1 w2 w3 w4 w5 w6 w7 w8). Bei einer Ausführungsform werden die acht Datenmarkierungsbit auf Null gesetzt, also (w1 w2 w3 w4 w5 w6 w7 w8) = (0 0 0 0 0 0 0 0).

Bei einer bevorzugten Ausführungsform wird das Analogsignal von dem Paritätscodierer 148 durch einen Vorcodierer 153 geleitet, bevor es zu dem Multiplexer 149 geleitet wird, wie in 1B dargestellt. Der Vorcodierer 153 stellt sicher, daß die in den codierten Datenbyte 204 enthaltenen Zeitsteuerungsinformationen auf eine solche Weise erhalten werden, daß beim Zurücklesen der codierten Datenbyte 204 aus den Festplattenlaufwerkplatten 102 zuverlässige Wiederherstellung der Zeitsteuerung möglich ist. Der Vorcodierer 153 gibt vorcodierte Datenbyte (VP) aus, die dann zu dem Multiplexer 149 gesendet werden.

Das Analogsignal wird dann von dem Multiplexer 149 zu einer Schreibvorkompensationsschaltung 150 gesendet, die die Impulsbreiten des Bitstroms dynamisch justiert, um magnetische Verzerrungen in dem Aufzeichnungsprozeß zu berücksichtigen. Das justierte Analogsignal wird zu einer Treiberschaltung 152 geleitet, die das Signal über die Schnittstelle 116 zu den Vorverstärkern 106 sendet, um die Lese-/Schreibköpfe 104 anzusteuern und die Daten aufzuzeichnen. Die beispielhafte Treiberschaltung 152 enthält eine Treiberschaltung mit pseudoemittergekoppelter Logik („PECL"), die ein Differenzausgangssignal für die Vorverstärker 106 erzeugt.

Der Lesekanal 156 enthält eine Dämpfungsschaltung bzw. einen Eingangswiderstand 122, einen variablen Verstärker („VGA") 124, einen magnetoresistiven Asymmetrie-Linearisierer („MRA") 126, ein zeitkontinuierliches Filter („CTF") 128, einen Puffer 130, einen Analog/Digital-Umsetzer („ADC") 132, ein nichtrekursives („FIR"-)Filter 134, eine Schaltung 136 für interpolierte Zeitsteuerungs-Wiederherstellung („ITR"), einen Viterbi-Algorithmus-Detektor 138, einen Paritätsdecoder 140 und einen lauflängenbegrenzten („RLL"-)Decoder 142. Die durch den Lese-/Schreibkopf 104 aus den Platten 102 gelesenen verstärkten magnetischen Signale werden über die Schnittstelle 114 durch den Lese-/Schreibkanal 108 empfangen. Die Analogsignal-Signalform, die die gelesenen magnetischen Signale repräsentiert, wird zuerst durch einen Eingangswiderstand 122 geleitet, die ein Schaltnetzwerk ist, um das Signal zu dämpfen und einen etwaigen Eingangswiderstand zu berücksichtigen. Das gedämpfte Signal wird dann zu einem VGA 124 geleitet, der das Signal verstärkt. Das verstärkte Signal wird dann zu dem MRA 126 geleitet, der das Signal in bezug auf etwaige durch den Aufzeichnungsprozeß erzeugte Verzerrungen justiert. Im wesentlichen führt der MRA 126 die entgegengesetzte Funktion der Schreibvorkompensationsschaltung 150 in dem Schreibkanal 158 durch. Als nächstes wird das Signal durch das CTF 128 geleitet, das im wesentlichen ein Tiefpaßfilter ist, um Rauschen herauszufiltern. Das gefilterte Signal wird dann über den Puffer 130 zu dem ADC 132 geleitet, der das Analogsignal abtastet und es in eine digitale Form umsetzt.

Das Digitalsignal wird dann zu einem FIR-Filter 134 und dann zu einer Zeitsteuerungs-Wiederherstellungsschaltung 136 geleitet. Die Zeitsteuerungs-Wiederherstellungsschaltung 136 ist (in der Figur nicht gezeigt) in einer Rückkopplungsorientierung mit dem FIR-Filter 134, dem MRA 126 und dem VGA 124 verbunden, um diese Schaltungen abhängig von den empfangenen Signalen zu justieren, um Zeitsteuerungs-Kompensation bereitzustellen. Das beispielhafte FIR-Filter 134 ist ein FIR-Filter mit zehn Abgriffen. Das Digitalsignal wird dann zu dem Viterbi-Algorithmus-Detektor 138 geleitet, der unter Verwendung von digitalen Signalverarbeitungstechniken das von dem Digitalsignal dargestellte binäre Bitmuster bestimmt. Der Viterbi-Detektor 138 besitzt Zustände mit einer vorbestimmten Speicherlänge. Der beispielhafte Viterbi-Algorithmus-Detektor 138 verwendet einen Viterbi-Prozessor mit 32 Zuständen, wobei jeder Zustand eine vorbestimmte Speichermenge von 4 Bit aufweist.

Der Viterbi-Detektor 138 empfängt dann ein Datenendesignal von dem Controller 110 (nicht dargestellt), wenn das Ende der Benutzerdaten erreicht ist, um dem Viterbi-Detektor 138 zu signalisieren, daß das Ende der Benutzerdaten erreicht wurde. Als Alternative kann ein Signal von einem (nicht gezeigten) Zähler oder ein Lese-Gate-Signal aus dem Controller 110 dem Viterbi-Detektor 138 signalisieren, daß das Ende der Benutzerdaten erreicht wurde. Wenn der (nicht gezeigte) Zähler verwendet wird, muß dem Lese-/Schreibkanal 108 die Länge des Sektors gegeben werden. Wenn aber das Lese-Gate-Signal verwendet wird, wird angenommen, daß das Lese-Gate-Signal an eine bekannte Bytespeicherstelle (W) fällt. Wenn das Lese-Gate-Signal fällt, bevor der Viterbi-Detektor 108 die Datenmarkierung (W) empfängt, muß der Viterbi-Detektor 108 warten, bis der Viterbi-Detektor 108 die Datenmarkierung (W) empfängt, bevor er in einen Modus des Datenendetransfers (EDT) eintritt. Wenn das Lese-Gate-Signal jedoch fällt, nachdem der Viterbi-Detektor 138 die Datenmarkierung (W) empfängt, kann der Viterbi-Detektor 108 sofort in den EDT-Modus eintreten.

Nachdem der Viterbi-Detektor 138 das Datenendesignal empfangen hat, wartet der Viterbi-Detektor 138 auf den Empfang der Datenmarkierung (W). Beim Empfang der Datenmarkierung (W) tritt der Viterbi-Detektor 138 in einen Modus des Datenendetransfers (EDT) ein. Beim Eintritt in den EDT-Modus werden die Abtastwerte codierter Benutzerdaten, die in den Viterbi-Detektor 138 eintreten, durch sekundäre Stopfbit (vorzugsweise gleich 0) ersetzt. Die sekundären Stopfbit, die vorzugsweise gleich 0 sind, werden in den Viterbi-Detektor 138 eingegeben, bis alle codierten Benutzerdaten aus dem Viterbi-Detektor 138 ausgeräumt sind.

Bei einer Ausführungsform besteht die Datenendemarkierung 206 aus acht Markierungsdatenbit (w1 w2 w3 w4 w5 w6 w7 w8). Bei einer Ausführungsform werden die acht Datenmarkierungsbit auf Null gesetzt, also (w1 w2 w3 w4 w5 w6 w7 w8) = (0 0 0 0 0 0 0 0). Wenn der Viterbi-Detektor 138 eine vorbestimmte Speicherlänge von 4 Bit aufweist, erzwingt das vierte Datenmarkierungsbit (w4), daß der korrekte Weg in dem Trellis in dem Viterbi-Detektor 138 in einem Zustand S = [p s1 s2 s3 s4] = [0 0 0 0 0] endet, wobei s1, s2, s3 und s4 NRZ-Werte sind, wobei s1 der aktuelle Wert ist und p Zustandsparitätsinformationen sind. Die übrigen Datenmarkierungsbit w5–w8 halten den korrekten Weg im Zustand s = [0 0 0 0 0]. Nach dem Empfang des vierten Datenmarkierungsbit (w4) geht der Viterbi-Detektor 138 in den Modus des Datenendetransfers (EDT) über. Wenn ein Lese-Gate-Signal aus dem Controller 100 verwendet wird und wenn das Lese-Gate-Signal fällt, bevor der Viterbi-Detektor 108 das vierte Datenmarkierungsbit (w4) empfängt, dann muß der Viterbi-Detektor 138 auf das vierte Datenmarkierungsbit (w4) warten, bevor er in den EDT-Modus eintritt. Wenn jedoch das READ GATE fällt, nachdem der Viterbi-Detektor 108 das vierte Datenmarkierungsbit (w4) empfängt, tritt der Viterbi-Detektor 138 sofort in den EDT-Modus ein. Wenn der EDT-Modus durch einen Zähler signalisiert wird, kann die Datenendemarkierung 206 eine Länge aufweisen, die gleich der vorbestimmten Speicherlänge des Viterbi-Detektors 138 ist. Wenn zum Beispiel der Viterbi-Detektor 138 eine vorbestimmte Speicherlänge von 4 Bit aufweist, kann die Datenendemarkierung 206 eine Länge von 4 Bit aufweisen, die vorzugsweise wie oben beschrieben durch so viele Bit ergänzt werden, wie zur Berücksichtigung etwaiger Filterungsverzögerungen erforderlich ist. Bei der vorliegenden Implementierung wird ein Überlebender entsprechend dem Zustand s = [0 0 0 0 0] aus dem Viterbi-Detektor 138 ausgegeben. Bei Verwendung des oben beschriebenen Verfahrens wird der Viterbi vor etwaigem großem Rauschen geschützt, das in den Lese-/Schreibkanal 108 eintreten könnte, nachdem der Viterbi-Detektor 138 die letzten benutzercodierten Datenbyte empfangen hat.

Bei einer Ausführungsform erzeugt ein Stopfgenerator 157 die sekundären Stopfbit, die dann wie in 1Bgezeigt zu einem Multiplexer 159 geleitet werden. Der Multiplexer 159 empfängt sowohl die Ausgabe des ITR 136 als auch des Stopfgenerators 157. Die Ausgabe des ITR 136 wird zu dem Multiplexer 159 durchgelassen, bis der Viterbi-Detektor 138 in den Modus des Datenendetransfers (EDT) eintritt, woraufhin der Multiplexer dann wählt, die durch den Stopfgenerator 157 erzeugten sekundären Stopfbit zu empfangen. Obwohl die obigen Ausführungsformen einen Stopfgenerator 157 zum Erzeugen der sekundären Stopfbit verwenden, können sekundäre Stopfbit durch den Viterbi-Detektor 138 erzeugt werden, oder durch beliebige andere, Fachleuten bekannte, Schaltkreise.

Bei einer Ausführungsform kann der Viterbi-Detektor 138 dafür konfiguriert sein, intern einen Strom von Signalen zu erzeugen, wie zum Beispiel logische Nullen, um den gewünschten Zustand in dem Viterbi-Detektor 138 zu erhalten und um etwaiges großes Rauschen zu verhindern, das in den Lese-/Schreibkanal 108 eintreten könnte, nachdem der Viterbi-Detektor 138 die letzten benutzercodierten Datenbyte empfangen hat.

Die Binärdaten, die durch das Digitalsignal repräsentiert werden, das aus dem Viterbi-Detektor 138 austritt, werden dann zu dem Paritätsdecoder 140 geleitet, der das Paritätsbit entfernt, und dann zu dem RLL-Decoder 142, der die binären RLL-Codierungssymbole wieder in die von ihnen repräsentierten tatsächlichen Binärdaten zurückdecodiert. Diese Daten werden dann über die Schnittstelle 118 zu dem Controller 110 geleitet.

Der Lese-/Schreibkanal 108 enthält ferner einen Taktsynthesizer 154. Der Taktsynthesizer 154 erzeugt die zum Betrieb des Lese-/Schreibkanals 108 erforderlichen Taktsignale. Der beispielhafte Taktsynthesizer 154 enthält einen (nicht gezeigten) Phasenregelkreis („PLL") mit einem spannungsgesteuerten Oszillator und verschiedene Taktteiler zur Erzeugung der notwendigen Frequenzen.

Es wird angemerkt, daß geeignete Transistorgrößen, die Verhältnisse von Kanalbreite zu -länge (gemessen in Mikrometern) für die Transistoren, aus denen die abgebildeten Schaltungen bestehen, spezifizieren, in den Figuren weggelassen wurden. Es versteht sich, daß abhängig von den Entwurfsanforderungen und den Fähigkeiten und Begrenzungen des zur Implementierung der Schaltung verwendeten konkreten Herstellungsprozesses für integrierte Schaltungen sowie von den Leistungsanforderungen der spezifischen Ausführungsform geeignete Verhältnisse gewählt werden können.

Es wurde also gemäß der Erfindung ein Verfahren zur Viterbi-Detektor-Zustandsmetrik-Renormierung für einen Viterbi-Detektor eines Lese-/Schreibkanals für ein Festplattenlaufwerk offengelegt, das die oben dargelegten Vorteile vollständig bereitstellt. Obwohl die Erfindung mit Bezug auf spezifische Ausführungsbeispiele beschrieben und dargestellt wurde, ist nicht beabsichtigt, daß die Erfindung auf diese Ausführungsbeispiele beschränkt wird. Es ist deshalb beabsichtigt, in die Erfindung alle Varianten und Modifikationen einzuschließen, die in den Schutzumfang der angefügten Ansprüche und ihrer Äquivalente fallen.


Anspruch[de]
Verfahren zum Verarbeiten eines Datenendezustands für Daten in einem Datenspeicher- und -abrufsystem, wobei das Datenspeicher- und -abrufsystem einen Schreibkanal und einen Lesekanal und einen Datenspeicher aufweist, wobei das Verfahren die folgenden Schritte umfaßt:

Lesen einer Vielzahl codierter Datenbytes und einer Datenendemarkierung aus dem Datenspeicher, wobei die Datenendemarkierung Informationen zum Auslösen eines Datenendemodus in einem Viterbi-Detektor in dem Lesekanal umfaßt;

Verarbeiten der Vielzahl codierter Datenbytes in dem Viterbi-Detektor in dem Lesekanal; und

Identifizieren der Datenendemarkierung in dem Viterbi-Detektor, wobei die Datenendemarkierung einen Datenendemodus in dem Viterbi-Detektor auslöst, wobei der Datenendemodus folgendes umfaßt:

Versetzen des Viterbi-Detektors in einen vorbestimmten Zustand, wobei Informationen in einem Wegspeicher des Viterbi-Detektors in einen gewünschten Wert umgeändert werden; und

Bereitstellen eines vorbestimmten Eingangswerts für den Viterbi-Detektor, bis der Viterbi-Detektor die Verarbeitung der gesamten Vielzahl codierter Datenbytes abgeschlossen hat, wobei verhindert wird, dass Lesekanalrauschen in den Viterbi-Detektor eintritt, nachdem dem Viterbi-Detektor das letzte der Vielzahl codierter Datenbyte zugeführt wurde.
Verfahren nach Anspruch 1, ferner mit dem Schritt des Zählens der Vielzahl codierter Datenbytes und des Sendens eines Signals zu dem Viterbi-Detektor, wenn das letzte der Vielzahl codierter Datenbytes in den Viterbi-Detektor eingegeben wurde, wobei das Signal den Viterbi-Detektor darauf hinweist, nach der Datenendemarkierung zu schauen. Verfahren nach Anspruch 1 oder 2, wobei die Datenendemarkierung eine Bitlänge von nicht weniger als einer Bitlänge einer vorbestimmten Speicherlänge eines Zustands für den Viterbi-Detektor umfaßt. Verfahren nach Anspruch 1 oder 2, wobei die Datenendemarkierung eine Bitlänge gleich einem Vielfachen der Bitlänge der vorbestimmten Speicherlänge des Zustands für den Viterbi-Detektor umfaßt. Lese-/Schreibeinrichtung (108) für ein Festplattenlaufwerk, umfassend:

einen Schreibkanal (158), der eine Vielzahl von Benutzerdatenbits von einem Controller (110) empfängt, wobei der Schreibkanal folgendes umfaßt:

einen Codierer, der die Vielzahl von Benutzerdatenbits zu einer Vielzahl codierter Datenbytes codiert; und

einen Markierungsgenerator (151), der eine Datenendemarkierung am Ende der Vielzahl codierter Datenbytes erzeugt, wobei die Datenendemarkierung eine Länge von nicht mehr als einem Byte aufweist; und

einen Lesekanal (156), der die Vielzahl codierter Datenbytes und die Datenendemarkierung von einem Datenspeicher (102) empfängt, wobei der Lesekanal einen Viterbi-Detektor (138) zum Verarbeiten der Vielzahl codierter Datenbytes in dem Lesekanal umfaßt, wobei der Viterbi-Detektor einen Datenendemodus umfaßt, der den Viterbi-Detektor in einen vorbestimmten Zustand versetzt, wobei Informationen in einem Wegspeicher des Viterbi-Detektors in einen gewünschten Wert umgeändert werden, und wobei der Viterbi-Detektor (138) bei Empfang der Datenendemarkierung in den Datenendemodus eintritt, wobei in diesem Datenendemodus ein Eingang des Viterbi-Detektors einen vorbestimmten Eingangswert empfängt, bis der Viterbi-Detektor die Verarbeitung der gesamten Vielzahl codierter Datenbytes abgeschlossen hat, wodurch verhindert wird, daß Lesekanalrauschen in den Viterbi-Detektor (138) eintritt, nachdem dem Viterbi-Detektor das letzte der Vielzahl codierter Datenbytes zugeführt wurde.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com