-
Die
Erfindung betrifft eine programmierbare Ablaufsteuerung für ein magnetisches
Plattenspeicherantriebssystem und ein Verfahren für eine programmierbare
Ablaufsteuerung.
-
Die
DE 40 06 986 A1 beschreibt
eine Festplattenkontrolleinrichtung, die von einer externen Steuerung
steuerbar ist.
-
Die
EP 689 207 A1 beschreibt
eine CD-Laufwerksteuerung. Diese Laufwerksteuerung umfaßt u.a.
einen Mikrokontroller, einen dynamischen Speicher (DRAM) und eine
Steuerung für
den dynamischen Speicher.
-
Aus "Design A Hard-Disk
Controller Wth DSP Techniques" von
Dunnion, D., Stropoli, M. in Electronic Design, 22.09.1998, Heft
21, Seiten 117–121
ist ein Plattenlaufwerksteuerungsschaltkreis mit zwei Speichern
(EPROM) und einem Dekoder bekannt.
-
Die
EP 517 473 A2 beschreibt
ein miniaturisiertes Plattenlaufwerk, das eine eingebaute Sektorensteuerung
mit unterteilten Datenfeldern und automatischer fliegender Datenblockablaufsteuerung
hat. Dabei steuert eine programmierbare Datenablaufsteuerung den
Transfer von Datenblocks fester Länge zwischen Speicherplätzen variabler
Länge eines Speichermediums
und eines Zwischenspeichers in einem Datenspeichergerät.
-
Die
US 5 422 763 A beschreibt
eine Zonendichtenaufzeichnung unterteilter Datenfelder auf einem
Plattenlaufwerksystem, die eine Plattensteuerung mit einem Servotimer
verwendet.
-
Eine
herkömmliche
Plattensteuerung, für
ein magnetisches Plattenantriebsdatenspeichersystem, wie beispielsweise
einem Festplattenlaufwert (HDD) und einem Diskettenlaufwerk (FDD),
ist oft mit einer programmierbaren Ablaufsteuerung versehen, um eine
Steuerung eines vorbestimmten Satzes von Operationssequenzen für die Plattenformatierung oder
das Datenlesen und -schreiben durchzuführen. Weiterhin dient die Plattensteuerung
nicht nur dazu, eine Schnittstelle zwischen einem Host-Computer, einer
Mikrosteuerungseinheit im Plattenantriebsspeichersystem und einem
Plattenaufzeichnungsmedium zu bieten, sondern auch um eine Fehlererkennung und
eine Korrektur von Daten durchzuführen, auf die während Lese/Schreib
Operationen zugegriffen wird.
-
Bei
der vorher erwähnten
Plattensteuerung wird die Fähigkeit
für einen
automatischen Betrieb erhöht,
um ihrer lokalen Mikrosteuereinheit zu ermöglichen, daß sie weniger Verarbeitungsbelastung
hat, um somit mehr Zeitresourcen anderen Funktio nen der lokalen
Mikrosteuereinheit zuzuweisen, beispielsweise zur Servosteuerung,
die gewöhnlich
Aufgabe der Plattensteuerung sind. Die programmierbare Ablaufsteuerung
ist mit einem Speicher mit wahlfreiem Zugriff (RAM) für das Speichern
eines Mikroprogramms und einer oder mehreren peripheren Schaltungen
versehen. Diese bewirken, daß eine
automatische Sequenzsteuerung gemäß einer von mehreren vorbestimmten
Operationen, wie beispielsweise eine Einschaltinitialisierung oder
eine Lese-, Schreib- oder Formatier-Operation unter der Steuerung
eines Mikroprogramms durchgeführt
werden kann. Das Mikroprogramm ist in den Programmspeicher geladen,
wobei das Mikroprogramm durch die lokale Mikrosteuerung vor jeder
Ausführung
einer Lese-, Schreib- oder Formatier-Operation und nach jedem Einschaltrücksetzen
herabgeladen werden sollte.
-
Wie
vorher erwähnt,
sollte die Mikrosteuerung ein Herabladen des passenden Mikroprogramms
in den Programm-RAM bei jedem Einschaltrücksetzen oder vor jeder Ausführung der
Lese-, Schreib- oder Formatier-Operation durchführen, wobei die Leistungsfähigkeit
eines Plattenantriebsspeichersystems wesentlich von der Zeitdauer
abhängt, die
ein solches Herabladen benötigt.
Wenn man annimmt, daß eine
Taktdauer einer lokalen Mikrosteuerung eine Zeit T benötigt, so
wird normalerweise die dreifache Zeit 3T benötigt, um ein Programm in einen RAM-Bereich
zu schreiben. Beispielhaft können
zwei Gesamtzeitanforderungen gemäß zweier
unterschiedlicher Größen von
Programmspeichern wie folgt gezeigt werden:
- (1)
Verwendung einer CIRRUS Plattensteuerung mit einem 31·4 Byte
Programm-RAM (Modell CL-SH5600),
Die erforderliche Gesamtzeit
beträgt
31·4·3T (=372T),
und
- (2) Verwendung eines ADAPTEC Plattensteuerung mit einem 48·4 Byte
Programm-RAM (Modell AIC-8256)
Die erforderliche Gesamtzeit
beträgt 48·4·3T(=576T).
-
Somit
wird aus der obigen Berechnung deutlich, daß die Arbeitsbelastung einer
lokalen Mikrosteuereinheit, die für das Herabladen eines gegebenen
Mikroprogramms bei jeder Operationsanforderung entsteht, wesentlich
von der Größe eines
Programm-RAM abhängt,
wobei beispielsweise die Plattensteuerung ADAPTEC, Modell AIC-8265
um ungefähr
47% mehr Betriebszeit als das CIRRUS, Modell CL-SH5600 braucht.
-
Aufgabe
der Erfindung ist es, eine programmierbare Ablaufsteuerung für ein magnetisches
Plattenspeicherantriebssystem und ein Verfahren für eine programmierbare
Ablaufsteuerung anzugeben, bei der die Größe eines Programmspeichers
in einem Plattenantriebssystem vermindert wird.
-
Diese
Aufgabe wird durch die Lehre der unabhängigen Ansprüche 1 und
3 gelöst.
-
Bevorzugte
Ausführungsformen
sind Gegenstand der Unteransprüche.
-
Vorteilhaft
an der Erfindung ist, daß sie
wirksam die Arbeitsbelastung einer Mikrosteuerung im Festplattenantriebssystem
vermindert.
-
Im
folgenden wird eine bevorzugte Ausführungsform der Erfindung unter
Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Dabei zeigen:
-
1 ein
Blockdiagramm, das ein Beispiel der Konstruktion eines konventionellen
Festplattenantriebs zeigt, der in der Erfindung verwendet wird;
-
2 ein
Diagramm, das ein Datenformat zeigt, das in der Erfindung verwendbar
ist;
-
3 ein
Diagramm, das detailliert das Format eines ID-Feldes aus 2 zeigt;
-
4 ein
Diagramm, das detailliert das Format eines Datenfeldes in 2 zeigt;
-
5 ein
Diagramm, das eine Einteilung einer Zeile des Programmspeichers
gemäß der vorliegenden
Erfindung zeigt;
-
6 ein
Blockdiagramm einer programmierbaren Ablaufsteuerung gemäß der Erfindung;
-
7 ein
Mikroprogrammdiagramm, das eine FORMATIER-Betriebsart der programmierbaren Ablaufsteuerung
gemäß der in 5 dargestellten Zeileneinteilung
zeigt;
-
8A und 8B Flußdiagramme,
die die Steuerschritte für
die programmierbare Ablaufsteuerung in der FORMATIER-Betriebsart
der 7 darstellen;
-
9 ein
Mikroprogrammdiagramm, das eine LESE/SCHREIB-Betriebsart der programmierbaren
Ablaufsteuerung gemäß der in 5 dargestellten
Zeileneinteilung zeigt;
-
10A und 10B Flußdiagramme,
die die Steuerschritte für
die programmierbare Ablaufsteuerung in der LESE-Betriebsart der 9 zeigen; und
-
11A und 11B Flußdiagramme,
die die Steuerschritte für
die programmierbare Ablaufsteuerung in der SCHREIB-Betriebsart der 9 zeigen.
-
Nachfolgend
wird die bevorzugte Ausführungsform
der vorliegenden Erfindung detaillierter unter Bezugnahme auf die
begleitenden Zeichnungen beschrieben, in welchen die verschiedenen
speziellen Beschreibungen einschließlich der Flußdiagramme
für die
Steuerung, eine Zahl von Bits oder Bytes, Logikpegel, Datenformate,
ein Mikroprogramm etc. für
ein besseres Verständnis
der vorliegenden Erfindung dargestellt sind. Die programmierbare
Ablaufsteuerung der Erfindung wird aus Gründen der Übersichtlichkeit als "Ablaufsteuerung" bezeichnet.
-
1 ist
ein Blockdiagramm, das die Konstruktion eines konventionellen Festplattenantriebs (HDD)
als magnetisches Plattenaufzeichnungsvorrichtung zeigt, wie sie
in der vorliegenden Erfindung verwendet wird, wobei zwei Datenplatten 10 und
vier Lese/Schreibkörper 12,
die auf jeder Plattenoberfläche
installiert sind, gezeigt sind. Bezieht man sich auf 1,
so verstärkt
ein Vorverstärker 14,
der mit den Köpfen 12 verbunden
ist, ein analoges Lesesignal, das von den Köpfen 12 aufgenommen
wird, um das Lesesignal an eine Lese/Schreib-Kanalschaltung 16 zu
geben, welche Schaltung wiederum während einer Schreiboperation
einen Schreibstrom gemäß den kodierten
Schreibdaten an die Köpfe 12 legt,
um so die Schreibdaten auf den Platten 10 aufzuzeichnen. Die
Lese/Schreib-Kanalschaltung 16 erkennt einen Datenpuls
aus dem Lesesignal, das vom Vorverstärker 14 eingegeben
wird, und dekodiert den Datenpuls, um ihn zu einer Plattendatensteuerung 18 zu liefern
(nachfolgend als "DDC" bezeichnet), während die
Lese/Schreib-Kanalschaltung 16 dazu dient, die Schreibdaten,
die von der DDC 18 ausgegeben werden, an den Vorverstärker 14 zu
liefern.
-
Die
DDC 18 ist versehen mit einer Ablaufsteuerung für das Durchführen einer
Sequenz von Operationen gemäß einem
Mikroprogramm, das von einer Mikrosteuerung 22 herabgeladen
wird und sie steuert eine Leseoperation, um Daten aus den Datenplatten
zu bekommen, um diese zu einem Host-Computer zu übertragen und eine Schreiboperation,
um Daten vom Host-Computer auf den Platten durch die Lese/Schreib
Kanalschaltung 16 und den Vorverstärker 14 aufzuzeichnen.
Weiterhin dient die DDC 18 als eine Schnittstelle für die Datenkommunikation
zwischen dem Host-Computer und der Mikrosteuerung 22, bei
welcher Datenkommunikation ein Puffer-RAM 20 die zwischen
ihnen übertragenen
Daten zeitweise speichert.
-
Die
Mikrosteuerung 22 steuert die DDC 18 in Erwiderung
auf einen Format/Lese-Schreib
Befehl vom Host-Computer und steuert eine Spursuch- oder Spurfolgeoperation.
Ein Nur-Lese-Speicher (ROM) 24 speichert ein Ausführungsprogramm
für die
Mikrosteuerung 22 als auch verschiedene vorgegebene Werte.
Ein Servotreiber 26 erzeugt einen Ansteuerstrom für das Betätigen eines
Stellglieds 28 in Erwiderung auf ein Steuersignal für eine Positionssteuerung
der Köpfe 12,
das von der Mikrosteuerung 22 geliefert wird. Das Stellglied 28 dient
dazu, die Köpfe 12 auf
den Platten 10 in Erwiderung auf die Richtung und den Pegel
des Ansteuerstroms der Servosteuerung 26 zu steuern. Ein
Spindelmotortreiber 30 steuert einen Spindelmotor 32 an,
um die Platten gemäß einem
Steuerwert für
die Rotationssteuerung der Platten, der von der Mikrosteuerung 22 geliefert
wird, zu drehen. Eine Plattensignalsteuerung 34 führt die Dekodierung
der Servoinformation aus den Lesedaten, die von der Lese/Schreib-Kanalschaltung 16 ausgegeben
werden, durch, um die kodierten Daten an die Mikrosteuerung 22 zu
liefern und erzeugt verschiedene Steuersignale für die Lese/Schreib-Operation
unter der Steuerung der DDC 18 und der Mikrosteuerung 22,
um somit diese Steuersignale an den Vorverstärker 14, die Lese/Schreib-Kanalschaltung 16 und
den DDC 18 zu liefern. Die Plattensignalsteuerung 34 kann
vorzugsweise mit einer ASIC (Anwendungsspezifische Integrierte Schaltung)
Komponente versehen sein, um eine bessere Anpassung an jede HDD-Vorrichtung
zu erzielen.
-
In 2,
so ist ein Diagramm gezeigt, das die Konstruktion eines Datenformats
in einer Platte mit konstanter Aufzeichnungsdichte (nachfolgend
als "CDR" bezeichnet), die
in einem HDD gemäß der Erfindung
verwendet werden kann, zeigt, bei der ein Sektorformat einer einzelnen
Spur in einer groben Darstellung beispielhaft dargestellt ist, wobei
zwei gespaltene Datensektoren vorhanden sind, die mit einem vollständigen Datensektor
und einem anderen Datensektor neben dem vollständigen Datensektor zwischen
Servofeldern versehen sind. Diese CDR Format ist auch als Zone-Bit-Aufzeichnungs-Format (ZBR)
im Stand der Technik bekannt.
-
Gemäß dem bekannten
CDR-Format ist ein Informationen aufzeichnendes Gebiet auf einer
Platte allgemein in eine Vielzahl von Zonen aufgeteilt, die eine
konstante Aufzeichnungsdichte in radialer Richtung vom Zentrum der
Scheibe aufweisen, wobei eine Anzahl von Datensektoren in Spuren
jeder Zone unterschiedlich zueinander zugewiesen werden, so daß Spuren
in einer äußeren Kreisumfangszone mehr
Datensektoren haben als Spuren in einer inneren Kreisumfangszone.
Der Datensektor soll ein Einheitsgebiet bezeichnen, um einen Datenzugriff
auf einer Platte in der magnetischen Plattenaufzeichnungsvorrichtung
durchzuführen,
und er hat eine identische Größe, unabhängig von
der Position auf der Platte, beispielsweise eine Größe von 512
Byte. Im Fall, daß ein
eingebettetes Sektorservosystem, das eine der verschiedenen bekannten
Verfahren zum Versehen einer magnetischen Plattenaufzeichnungsvorrichtung
mit der Positioninformation der Köpfe darstellt, als Servosteuerung
verwendet wird, kann ein Datensektor in zwei Segmente gemäß jeder Zone
auf der Platte geteilt werden, wobei in diesem Servosystem jede
Spur in ein Servoinformationsgebiet und ein Dateninformationsgebiet
aufgeteilt ist, die alternativ in Umfangsrichtung vorgesehen sind, wobei
das Servoinformationsgebiet ein Servofeld für das Aufzeichnen von Servoinformation
und das Dateninformationsgebiet ein Ge biet für das Aufzeichnen der tatsächlichen
Daten unter Bereitstellung von Datensektoren ist.
-
Gemäß 2 sind
die Datensektoren jeweils in ein Identifikations (ID)-Feld und ein
Datenfeld aufgeteilt, wobei das ID-Feld einen Kopf umfaßt, der die
Information für
die Identifizierung eines entsprechenden Datensektors aufweist,
und das Datenfeld, das auf das ID-Feld folgt, für das Aufzeichnen digitaler
Information verwendet wird.
-
3 zeigt
ein noch detailliertes Format eines ID-Feldes, das ein Variable-Frequenz-Oszillator (VFO)-Gebiet
mit 12 Bytes als ein Identifikationsvorspann umfaßt, der
ein Synchronisiersignal darstellt, das für die Taktsynchronisierung
während
des Lesens des ID-Feldes verwendet wird. Ein Synchronisationsmuster
mit 1 Byte folgt auf das VFO-Gebiet als eine ID-Adressenmarkierung
und es ist ebenfalls mit einem speziellen Datenmuster, beispielsweise "A5" (hexadezimal) versehen,
um nochmal das ID-Gebiet zu identifizieren, das eine Information
der Position oder Eigenschaften des jeweiligen Datensektors enthält, der
in einem entsprechenden Dateninformationsgebiet existiert, um somit
ein nachfolgendes ID-Gebiet, das aus einer Kopfzahl HCYLH, einer
Zylinderzahl CYLL und einer Sektorzahl SNO besteht, wobei alle die
drei Zahlen jeweils 1 Byte umfassen, wobei die HCYLH eine Kopfpositionsinformation,
die CYLL eine Zylinderpositionsinformation für eine Spuridentifizierung
und die SNO eines Sektorzahl des Datensektors, der auf das ID-Feld
folgt, umfaßt.
Diese Kopfzahl, Zylinderzahl und Sektorzahl ist eine Art physische
Identifizierinformation, die eine Zahl des Datensektors der aktuellen
Kopfposition identifiziert. Wenn ein einziger Kopf und eine einseitige
Platte in der magnetischen Plattenaufzeichnungsvorrichtung verwendet
werden, kann die Kopf/Zylinderzahl der ID-Information im ID-Gebiet
weggelassen werden. Die nächsten
Gebiete FCDRH und CDRL haben jeweils eine Länge von 2 Bytes und umfassen
verschiedene Informationen, wie beispielsweise die Positionsinformation,
die eine Position jedes Datensektors anzeigt, der in einem entsprechenden
Dateninformationsgebiet existiert, die Information bezüglich der
Aufteilung des folgenden Datensektors, die Verwendungsinformation
bezüglich
der Datensektoren und die Aufteilungsinformation bezüglich des
Beginns des Datensektors im entsprechenden Dateninformationsgebiet
als Aufteilinformation für das
Aufzeichnungssystem konstanter Dichte. Diese Aufteilinformation
gestattet den Datenzugriff zu einem aufgeteilten Datensektor. Ein
nächstes
Gebiet CRC (Zyklisch redundanter Code) hat auch eine Länge von
2 Bytes und dient als Fehlererkennungskode für die Fehlererkennung und Korrekturprüfung des ID-Gebiets
durch das CDRL Gebiet des ID-Feldes. Das letzte Gebiet PAD ist ein
Nachspann des ID-Feldes, das als Lücke für ein folgendes Datenfeld dient.
-
In 4 zeigt
ein Diagramm das detaillierte Format des Datenfeldes, wobei es ein
VFO-Gebiet mit einem 12 Byte Datenvorspann, ein Synchronisiermuster
als Datenadreßmankierung,
einen eigentlichen Datenstrom von 512 Bytes, ein ECC Gebiet und Nachspanndaten
PAD umfaßt.
Der Datenvorspann ist zwischen dem ID-Nachspann und den Synchnonsisationsmusterdaten
angeordnet, um eine Taktsynchronisierung in einem Lesebetrieb für das Datenfeld zu
liefern als auch eine Feldlücke
zwischen dem ID-Feld und dem Datenfeld. Das Identifikationsmuster
identifiziert einen Startpunkt des Datenstroms, um somit eine Art
Synchronisation zu liefern, die notwendig ist, wenn man die digitalen
Daten liest, die in der magnetischen Plattenaufzeichnungsvorrichtung
gespeichert sind. Die ECC Daten stellen einen Fehlererkennungskode
für die
Fehlererkennung und Korrektur für
die Datenadreßmarkierung
und die gespeicherten Daten dar. Der Nachspann liefert eine Zeitmarkierung,
die nach dem Datenlesebetrieb erforderlich ist.
-
In 5,
so ist eine Zeilenteilung des Programmspeichers gemäß der vorliegenden
Erfindung gezeigt, die mit dem vorher erwähnten Feld und den Datenformaten
im HDD der 1 anwendbar ist, wobei das Format
den Zuweisungsstatus eines Speichergebiets entsprechend jeder Adresse
bezüglichen
eines Programm-RAM zeigt. Ein gleiches Zuweisungsformat wird bei
anderen Speichergebieten verwendet, die den verbleibenden Adressen
entsprechen. Ein Befehl von 2 Bytes umfaßt ein Verzweigungsfeld, ein
nächstes
Adressen/Zähl
Feld, ein Ausgabefeld, ein Gatterfeld, ein Feldgebiet und ein Datenauswahlgebiet.
-
Das
Verzweigungsfeld besteht aus den oberen 3 Bits D7-D5 der oben erwähnten 2
Bytes und wird für
eine Verzweigungsbedingung oder für das Freigeben eines Zählfeldes
verwendet, in welchem beispielsweise, wenn das Zählfeld "000" aufweist,
ein nächstes
Adressen/Zählfeld
als ein Zählwert
verwendet wird, während
im Falle einer anderen Verzweigungsbedingung das nächste Adressen/Zählfeld als nächste Adresse
verwendet wird. Verschiedene Funktionen, die durch die 3-Bit Kodekombination
des Verzweigungsfeldes D7-D5 definiert werden, stellen sich folgendermaßen dar.
-
Wenn
der Verzweigungsfeldkode "000" ist, stellt er den
Zählfeldfreigabestatus
für ein
nächstes Adressen/Zählfeld dar,
das als Zählwert
verwendet werden soll, in welchem sich ein Programmzähler PC um
1 erhöht,
wenn sich ein Zähler
in einem Austragungsstatus befindet, und wenn nicht, der Programmzähler PC
gleich bleibt. Dann wird, wenn der Verzweigungsfeldkode "001" beträgt, immer
eine Verzweigung durchgeführt,
um somit zu einer nächsten
Adresse zu springen, in welcher der Programmzähler PC die nächste Adresse
anzeigt.
-
Wenn
der Verzweigungsfeldkode "010" ist, so erwartet
er einen Indexpuls, einen Sektorpuls und/oder das Ende eines Servosignals
(EOS), in welchem der Indexmodus, wenn seine Zeit in einem zweiten
Zyklus abläuft,
der Programmzähler
PC die nächste
Adresse anzeigt, wohingegen wenn der Indexpuls erkannt wird, sich
der Programmzähler
PC um 1 erhöht,
und wenn nicht, der Programmzähler
PC der gleiche bleibt. Im Sektormodus zeigt, wenn ein Zeitablauf
im zweiten Zyklus stattfindet, der Programmzähler PC die nächste Adresse
an, und wenn der Sektorpuls erkannt wird, wird der Programmzähler PC
um 1 erhöht,
und wenn nicht, so bleibt der Programmzähler PC der gleiche. Weiterhin
zeigt im CDR Modus, wenn im zweiten Zyklus ein Zeitablauf auftritt, der
Programmzähler
PC die nächste
Adresse an, und wenn das EOS erkannt wird, so erhöht sich
der Programmzähler
PC um 1, und wenn nicht, so bleibt der Programmzähler PC unverändert.
-
Wenn
der Verzweigungsfeldkode "011" beträgt, so erwartet
er die Erkennung der Synchronisierung, wobei wenn die Synchronisierung
abläuft,
der Programmzähler
PC die nächste
Adresse anzeigt, und wenn die Synchronisierung erkannt wird, der Programmzähler PC
sich um 1 erhöht,
oder wenn nicht, der Programmzähler
PC unverändert
bleibt. Mittlerweile wird im Fall, wenn der Verzweigungsfeldkode "100" ist, eine Verzweigung
zu einem ID Fehler/Puffer Fehler durchgeführt. Wenn es sich hierbei um
den ID Fehler handelt, so zeigt der Programmzähler PC die nächste Adresse
an, und wenn der ID Fehler im Status eines Pufferfehlers auftritt,
das heißt "Puffer voll" oder "Puffer leer", dann zeigt der
Programmzähler
PC die nächste
Adresse und wenn nicht, so stoppt er automatisch. Wenn es sich nicht um
den ID Fehler/Puffer Fehler handelt, so erhöht sich der Programmzähler PC
um 1.
-
Wenn
der Verzweigungsfeldkode "101" ist, so verzweigt
er auf den CRC Fehler/ECC Fehler, in welchem, wenn es sich um den
CRC/ECC Fehler handelt, der Programmzähler PC die nächste Adresse
anzeigt, und wenn nicht, sich der Programmzähler PC um 1 erhöht. Dann
verzweigt im Falle, daß der Verzweigungsfeldkode "110" ist, zu einem Aufzeichnungsmediumsdefekt
(das ist die Platte), wobei wenn es sich um einen Sprungstatus handelt,
der Programmzähler
die nächste
Adresse anzeigt, und wenn es sich um einen Defektstatus handelt,
sich der Programmzähler
PC um 1 erhöht.
-
Weiterhin
verzweigt er, wenn der Verzweigungsfeldkode "111" beträgt, zu einem
EOT Status, wobei wenn es sich um den EOT handelt, der Programmzähler PC
die nächste
Adresse anzeigt und wenn nicht sich der Programmzähler PC
um 1 erhöht.
-
Das
nächste
Adressen/Zählfeld,
das aus den unteren 5 Bits D4-DO des ersten Bytes, das in 5 gezeigt
ist, besteht, wird verwendet als nächstes Adresse oder als ein
Zählwert
in Abhängigkeit
von der bereitgestellten Verzweigungsbedingung. Das Ausgabefeld,
das aus dem obersten Bit D7 des zweiten in 5 gezeigten
Bytes besteht, dient als Ausgabeanschlußstift für das Testen der Synchronisierung
von außerhalb.
-
Das
Gatterfeld, das aus den oberen 2 Bits D6-D5 des zweiten Bytes besteht,
wird verwendet als Information für
die Lese/Schreib-Gattersteuerung, dem Erhöhen der Zielsektorzahl (TSNO)
und dem Erniedrigen des Plattensektortransferzählers (DSTC), in welchem eine
TSNO und DSTC Aktualisierungfunktion erforderlich ist, um eine Multisektor
Lese/Schreib-Operation unabhängig
von der Mikrosteuerung durchzuführen.
Der Gatterfeldkode zeigt, wenn der "00" beträgt, an,
daß keine
Operation stattfindet, und wenn er "01" beträgt, einen
Lesegatter (RG) "Satz", wenn er "10" beträgt, einen
Schreibgatter (WG) "Satz", und wenn er "11" beträgt, das
Erhöhen der
TSNO beziehungsweise das Erniedrigen der DSTC.
-
Als
nächstes
wird das Feldgebiet, das aus den unteren 2 Bits D4-D3 des zweiten
Bytes besteht, verwendet, um einen ECC/CRC-Block oder einen CDR
Return anzuzeigen, wobei wenn der Kode in diesem Feld "00" beträgt, er anzeigt,
daß keine
Operation stattfindet, und der Kode "01" den
ECC-Block für
das Datenfeld initiiert, der Kode "10" den CRC-Block
für das
ID-Feld initiiert und der Kode "11" aus der CDR-Verarbeitung
zurückkehrt.
Zu dieser Zeit wird die aktuelle Adresse im Programmzähler PC gespeichert
und der aktuelle Wert wird wiederum als Zählwert gespeichert.
-
Das
Datenauswahlfeld, das aus den untersten 3 Bits D2-DO des zweiten
in 5 gezeigten Bytes besteht, wird verwendet, um
die Keine-Rückkehr-auf-Null
(NRZ) Daten einer Platte mit den Daten, die aus den folgenden verschiedenen
Datenregistern ausgewählt
werden, zu vergleichen, um somit die verglichenen Daten, wenn notwendig,
zu verarbeiten. Gemäß einer
3 Bit Kodekombination dieses Datenauswahlfeldes bezeichnet es, wenn
der Kode "000" beträgt, VFO/PAD/SPLICE/NOP,
wobei im Schreibmodus der aktuelle Wert "00" beträgt. Wenn ferner
der Kode "001" beträgt, so bezeichnet
es ein Synchronisierregister, das heißt, ein Synchronisiermuster.
Wenn der Kode "010" ist, so bezeichnet
es ein CDRL-Register, das heißt "Verzweigungsinformation
niedrig". Wenn der
Kode "011" beträgt, bezeichnet
es einen CRC/ECC-Wert, das heißt "Ende der CRC/ECC-Erzeugung/Prüfung. Wenn
der Kode "100" ist, bezeichnet
es ein HCYLH Register, und wird mit den NRZ Daten verglichen, setzt
ein COMPARE_RESULT_FLAG und führt
einen automatischen PUSH durch. Wenn der Kode "110" beträgt, bezeichnet
es ein TSNO Register, und es wird mit den NRZ Daten verglichen,
setzt ein COMPARE_RESULT_FLAG und führt einen automatischen PUSH
durch. Wenn der Kode "111" beträgt, bezeichnet
es ein FCDRH Register, und es extrahiert Flags (Split2, Skip, Defect,
EOT, etc.) und führt
einen automatischen PUSH durch.
-
6 zeigt
ein Blockdiagramm einer programmierbaren Ablaufsteuerung auf der
Basis der in 5 angegebenen Zeileneinteilung
und dem vorher erwähnten
Datenformat der 2 gemäß der Erfindung. Ein Programm-RAM 36 der
Ablaufsteuerung, das der DDC 18 gemäß der obigen Einteilung geliefert
wird, hat eine Größe von 32 × 2 Byte.
Ein Adreßgenerator 38 erzeugt
eine RAM Adresse gemäß dem Programmzähler PC
unter Beachtung des Statusses der Signale CDRINT, CDRRTN, LD, INC,
etc. in welchen, wenn DSTC "0" ist, ein automatischer
Stop auftritt, und wenn eine nächste
Adresse "1F" ist, dann wird das
Signal LD erzeugt, um den Betrieb der Ablaufsteuerung zu stoppen.
Unter diesen Stopbedingungen wird in einem CDR Unterprogramm, wenn sich
die RAM-Adresse von "1E" auf "1F" erhöht, der normale
Betrieb durchgeführt,
und im Falle eines Springens (LD) in "1F" in
eine andere Adresse, eine Stopbedingung verwendet. Ein CDR Zähler 40 beginnt
die Operation durch ein Signal "ECCINI", erzeugt das Signal
CDRINT, wenn der CDR-Wert der gleiche ist wie ein CNT Ergebnis,
und hält
dann den Betrieb bis zur Erzeugung des Signals CDRRTN aufrecht.
Wenn das Flag SPLIT2 gesetzt ist, erzeugt es das Signal CDRINT als
zweite Zeit nach dem Ablauf eines vorgegebenen Wertes, der auf die
Erzeugung der ersten CDRRTN folgt. Ein Signal DATAEN wird "hoch" gehalten während einer
Zeitdauer, in welcher das Signal CDRCNT arbeitet und es macht die
Verzweigungsbedingung in einer Datenperiode ungültig. Ein Verzweigungsdekodierer 44 erzeugt
Signale LD und INC, die als Referenzsignal einer nächsten Adresse
dienen, durch Prüfen
der Verzweigungsbedingung, eines entsprechenden Signals, und eines Statusses
eines Timers 46, der die Operation in Erwiderung auf die
Verzweigungsbedingung startet und die maximale Betriebszeit begrenzt.
Eine Datenauswahlschaltung 48 vergleicht Daten, die von
der Platte gelesen werden, mit dem Wert des ausgewählten Datenregisters,
und erzeugt ein Signal PUSHEN, um in einen Stapelspeicher 52 die
Information wie beispielsweise HCYLH, CYLL, TSNO, FCDRH der gelesenen
Daten zu speichern. Ein Gatter 50 erzeugt Lese/Schreib-Signale,
um den Plattenbetrieb oder ein Sektoraktualisiersignal zu steuern,
durch welches eine Sektoraktualisierschaltung 54 die Aktualisieroperation
unabhängig
von der Mikrosteuerung 22 durchführt.
-
Nun
folgt unter Berücksichtigung
des Mikroprogramms, das aus der Zeileneinteilung in 5 ausgebildet
wurde, eine detaillierte Beschreibung des Betriebs der programmierbaren
Ablaufsteuerung mit der HDD-Konstruktion der 1 unter
Bezug auf die vorher erwähnte
Zeileneinteilung und die folgenden Flußdiagramme, wobei aus Gründen der Übersichtlichkeit
die Beschreibung in eine Formatier-Be triebsart, eine Lese-Betriebsart
und eine Schreib-Betriebsart aufgeteilt wird, wobei es sich hierbei
um Hauptbetriebsarten bei einer HDD handelt.
-
FORMATIERBETRIEBSART
-
In 7,
so ist eine Mikroprogrammdarstellung einer Formatierbetriebsart
der programmierbaren Ablaufsteuerung gemäß der in 5 gezeigten Zeileneinteilung
dargestellt, wobei eine Spalte "ADDRESSE" die RAM-Adresse
anzeigt, und "VERZWEIGUNG" das Verzweigungsfeld
der 5, "N_ADD/CNT" zeigt das nächste Adreß/Zählfeld an, "OT" zeigt das Ausgabefeld
an, "GATTER" zeigt das Gatterfeld
an, "FELD" bezeichnet das Feldgebiet, und "D_SEL" bezeichnet das Datenauswahlfeld.
-
Die 8A und 8B zeigen
das Flußdiagramm
der Verarbeitungssteuerschritte der programmierbaren Ablaufsteuerung
in der Formatierbetriebsart der 7. Der Betrieb
des Flußdiagramms
wird durch die in 6 angegebene Ablaufsteuerung
gesteuert.
-
Zuerst
wird in Schritt 100 der 8A eine
Initialisierung wie folgt durchgeführt. Die maximale Indexsuchzeit
wird in einem Timer 46 festgelegt, und dann wird der Wert "TSNO", um eine Plattenoperation
zu starten, als auch der Wert "DSTC", der eine Anzahl
der Plattenoperation bezeichnet, geschrieben. Weiterhin schreibt
die Mikrosteuerung 22 ein Mikroprogramm, wie das in 7 gezeigt
ist. Der Adressengenerator 38 empfängt die Adresse "MPUA" und die Daten "MPUD", um diese in den
RAM 36 zu schreiben. Wenn die Mikrosteuerung 24 die
Startadresse des RAM schreibt, erzeugt der Adreßgenerator 38 Adressen
und gibt die Ablaufsteuerung frei, um den Betrieb zu starten.
-
Der
Timer 46 wird dann in den Schritten 102 bis 104 freigegeben,
entsprechend der Adresse "00" (hexadezimal) der 7,
und es wird ein Indexpuls erwartet. Die Datenauswahlschaltung 48,
die ausgewählt
eine Vielzahl von Eingabedaten liefert, gibt "00" aus,
da das Datenauswahlfeld "000" beträgt. Zu dieser
Zeit geht sie, wenn der Indexpuls eingegeben wird, zur Adressenstufe "01" oder, wenn der Index nicht
eingegeben wird, bleibt sie auf der aktuellen Adressenstufe "00". Wenn der Indexpuls
bis zum Zeitablauf nicht eingegeben wird, das heißt, ein
Wert "1" ausgegeben wird,
dann erzeugt sie ein automatisches Stopsignal durch eine Kombination
der Adresse "1F" und des Signals "LD", und der Adressengenerator 38 stoppt
die Erzeugung von Adressen, um somit den Betrieb der Ablaufsteuerung
einzustellen.
-
In
Schritt 106, der der Adressenstufe "01" entspricht,
wird ein Timerfreigabesignal TIMEREN vom Verzweigunsdekodierer 44 an
den Timer 46 geliefert, wobei der Zähler im Timer 46 weiterhin
den Wert "00" ausgibt, bis er
einen nächsten
Adressen/Zählfeldwert
erreicht. Somit geht sie nach dem Schreiben von 12 Bytes des Wertes "00" in das VFO-Feld
des ID-Feldes, wie das in 3 gezeigt
ist, zur nächsten
Adressenstufe "02" durch INC. Im Schritt 108,
der der Adressenstufe "02" entspricht, wird
ein Byte des Synchronisiermusters auf die Platte 10 geschrieben
und das CRC Unterbrechungssignal CRCINI wird erzeugt, um das Zeitintervall
für eine CRC-Prüfung festzulegen.
-
In
Schritt 110, der der Adressenstufe "03" entspricht,
wird ein Datenbyte des HCYLH auf die Platte 10 geschrieben,
und in Schritt 112, der der Adressenstufe "04" entspricht, wird
ein Datenbyte des CYLL auf die Platte geschrieben. Weiterhin wird in
Schritt 114, entsprechend der Adressenstufe "05", ein Datenbyte des
SNO gemäß dem TSNO
auf die Platte geschrieben, und in Schritt 116 werden gemäß der Adressenstufe "06" zwei Datenbyte des
FCDRH auf die Platte geschrieben. Darüber hinaus werden in Schritt 118,
entsprechend der Adressenstufe "07" zwei Datenbyte des
CDRL auf die Platte geschrieben, und in Schritt 120, entsprechend
der Adressenstufe "08", werden zwei Datenbyte
des CRC auf die Platte geschrieben. Mittlerweile werden in Schritt 122 entsprechend
der Adressenstufe "09" zwei Datenbyte des
Wertes "00" als PAD auf die
Platte geschrieben, und in Schritt 124 werden entsprechend
der Adressenstufe "0A" zwei Datenbyte von "00" auf die Platte geschrieben,
um somit die Aufspaltung zwischen dem ID-Feld und dem Datenfeld
durchzuführen.
-
In
Schritt 126 werden entsprechend der Adressenstufe "0B" 12 Bytes des Wertes "00" in das VFO-Feld
des Datenfeldes auf der Platte 10 geschrieben, wie das
in 4 gezeigt ist, und in Schritt 128 wird
entsprechend der Adressenstufe "0C" das Synchronisiermuster
auf die Platte geschrieben und dann wird das Signal ECCINI erzeugt,
um ein ECC Prüfgebiet
zu erzeugen. Zu dieser Zeit erzeugt der CDR-Zähler 40 das Signal
DATAEN, das anzeigt, daß das
Datengebiet in der nächsten
Stufe beginnt. Ferner werden in den Schritten 130 bis 134 entsprechend
der Adressenstufe "0D", wenn die Spaltung
im Datengebiet nicht auftreten sollte, Daten kontinuierlich auf
die Platte geschrieben, bis der Zählwert des CDR-Zählers 40 512
erreicht und danach, geht die Steuerung zu einer Adresse "0E". Die Verzweigungsbedingung "000" wird im Datengebiet
ungültig
gemacht. Wenn eine Aufspaltung im Datengebiet erzeugt wird, so hält der CDR-Zähler 40 den
aktuellen Zählwert,
erzeugt das Signal CDRINT und wählt
die nächste
Adressenstufe, um somit die Adressenstufe "13" zu
erzeugen. Der CDR-Zähler 40 vergleicht
die Zahl der Datenbytes mit dem CDR-Wert und wenn beide die gleichen
sind, so erzeugt er CDRINT. Der Adressengenerator 38 speichert
die aktuelle Stufe nach der Erzeugung des CDRINT und erzeugt die nächste Adresse "N ADD". Der CDR-Zähler 40 hält den aktuellen
Wert während
der Verarbeitung des CDRINT, und nachdem die Verarbeitung des CDRINT
wieder beginnt, die Zahl der Daten zu zählen, um somit eine Gesamtzahl
von 512 Datenbytes zu verarbeiten, bevor zu einer nächsten Stufe
weitergegangen wird. Die weitere Beschreibung des CDR Verfahrens
führt ein
Servospringen 4 während
der Formatier-Betriebsart 4 durch,
wobei der CDR-Interrupt erzeugt wird, um den aktuellen WCS ADD und Zählwert zu
speichern und die Steuerung springt zu einer Adresse "13" der 7,
nämlich
zu VECT2. Dann wird die Steuerung an das Hauptprogramm zurückgegeben
und der aktuelle WCS ADD und der Zählwert werden gespeichert.
-
Als
nächstes
werden in Schritt 136 entsprechend der Adressenstufe "0E" 12 Bytes ECC Daten auf
die Platte geschrieben, und in Schritt 138 werden entsprechend
der Adressenstufe "0F" zwei Datenbytes
des Wertes "00" als PAD auf die
Platte geschrieben. In den Schritten 140 bis 142 geht
sie, entsprechend der Adressenstufe "10",
wenn sie den EOT setzt, was den letzten Sektor einer Spur anzeigt, zur
nächsten
Adressenstufe. Wenn es sich hier nicht um den letzten Sektor handelt,
so wird der Wert "00" auf die Platte als
PAD geschrieben und sie geht zu einer nächsten Stufe. In der Zwischenzeit
wird in Schritt 144, was der Adressenstufe "11" entspricht; der
Vergleich mit dem aktuellen DSTC-Wert durchgeführt, wobei beim Vergleich, wenn
er "0" ist, dies die Beendigung
der Formatieroperation für
die beabsichtigten Sektoren bedeutet, und daher die Ablaufssteuerung
die Erzeugung von Adressen im Adreßgenerator 38 stoppt
und die Ausführung
beendet. Wenn jedoch der DSTC Wert nicht "0" ist,
so führt
die Sektoraktualisierungsschaltung 54 die TSNO-Erhöhung und
die DSTC Erniedrigung durch und sie geht zur Adressenstufe "00" weiter. In der Adressenstufe "12" stoppt der Adressengenerator 38 die
Erzeugung der Adressen und die Ablaufsteuerung stoppt den Betrieb.
-
In
Schritt 146, entsprechend der Adressenstufe "13", werden, wenn eine
Aufspaltung im Datengebiet stattfindet, zwei Datenbytes "00" auf die Platte als
PAD geschrieben, und dann geht sie zu einer nächsten Adresse "14" weiter. Weiter wird
in den Schritten 148 bis 150 entsprechend der
Adressenstufe "14" der Timer 46 freigegeben
und der aktuelle Status wird gehalten bis zum Erkennen des EOS. Wenn
hier der EOS erkannt wird, so geht sie zu einer nächsten Adresse "15" weiter, während wenn
ein Zeitablauf auftritt, die Operation durch ein automatisches Stoppen
endet.
-
Im
Schritt 152 werden entsprechend der Adressenstufe "15" 12 Bytes des Wertes "00" als PAD auf die
Platte geschrieben, und in Schritt 154 wird entsprechend
der Adressenstufe "16" das Synchronisiermuster
geschrieben und die Steuerung geht zur Adressenstufe "0B" weiter, die die
ursprüngliche
Position ist, in der CDRINT im Adressengenerator 38 erzeugt
wurde, durch CDRRTN, der eine Priorität hat, die nicht die Verzweigungsbedingung
ist.
-
Der
Stapelspeicher 52 speichert die Information HCYLH, CYLL,
TSNO und FCDRH durch das Signal PUSHEN wenn das höchstwertigste
Bit des Datenauswahlfeldes "1" ist, nämlich in
den Adreßstufen "03", "05" und "06".
-
LESEBETRIEBSART
-
In 9 ist
eine Mikroprogrammdarstellung einer Lese/Schreib-Betriebsart der
programmierbaren Ablaufsteuerung gemäß der in 5 gezeigten Zeileneinteilung
dargestellt, wobei im Diagramm eine Spalte "ADRESSEN" die RAM-Adresse für RAM 36, "VERZWEIGUNG" das Verzweigungsfeld
der 5, "N_ADD/CNT" das nächste Adressen/Zählfeld, "OT" das Ausgabefeld, "GATTER" das Gatterfeld, "FELD" das Feldgebiet,
und "D_SEL" das Datenauswahlfeld bezeichnet.
-
10A und 10B zeigen
ein Flußdiagramm,
das die Steuerschritte der programmierbaren Ablaufsteuerung in der
Lesebetriebsart der 9 festlegt. Die Ausführung des
Flußdiagramms
wird durch die in 6 gezeigte Ablaufsteuerung gesteuert.
-
Zuerst
wird in Schritt 200 der 10A das Initialisierverfahren
folgendermaßen
durchgeführt. Die
Maximalzeit der Indexsuche wird im Timer 46 eingestellt
und dann die Werte TSNO, HCYLH und CYLL, um den Plattenbetrieb zu
starten als auch der Wert "DSTC", der eine Anzahl
des Plattenbetriebes bezeichnet, und die maximale Zeit bis das Synchronisiermuster
gelesen wird, auf die Platte geschrieben. Die Mikrosteuerung 22 schreibt
ein Mikroprogramm vor dem Plattenbetrieb, wie das in 9 gezeigt
ist. Der Adressengenerator 38 empfängt die Adresse "MPUA" und Daten "MPUD", um diese in den
RAM 36 zu schreiben. Wenn die Mikrosteuerung 24 die
Startadresse des RAM geschrieben hat, so beginnt der Adressengenerator 38 Adressen
zu erzeugen und gibt die Ablaufsteuerung frei, um den Betrieb zu
starten.
-
Nach
der Initialisierung wird in den Schritten 202 bis 204 entsprechend
der Adresse "00" der 9 der
Timer 46 freigegeben, und es wird der Sektorpuls erwartet.
Die Datenauswahlschaltung 48, die ausgewählt eine
Vielzahl von Eingabedaten liefert, gibt "00" aus,
da das Datenauswahlfeld "000" beträgt. Zu dieser
Zeit geht sie, wenn der Sektorpuls eingegeben wird, zur Adressenstufe "01" durch das Signal INC,
oder, wenn der Sektorpuls nicht eingegeben wird, bleibt sie auf
der aktuellen Adressenstufe "00". Wenn der Sektorpuls
bis zum Zeitablauf nicht eingegeben wird, das heißt, ein
Wert "1" ausgegeben wird, dann
erzeugt sie ein automatisches Stopsignal durch eine Kombination
der nächsten
Adresse "1 F" und des Signals "LD", so daß der Adressengenerator 38 die
Erzeugung von Adressen stoppt, um somit den Betrieb der Ablaufsteuerung
einzustellen.
-
In
Schritt 206, der der Adressenstufe "01" entspricht,
wird ein Timerfreigabesignal TIMEREN vom Verzweigunsdekodierer 44 an
den Timer 46 geliefert, wobei der Zähler im Timer 46 weiterhin
den Wert "00" liest, bis er einen
nächsten
Adressen/Zählfeldwert
erreicht. Somit geht sie nach dem Lesen von 7 Bytes des Wertes "00" vom VFO-Feld des
ID-Feldes, wie das in 3 gezeigt ist, zur nächsten Adressenstufe "02" durch INC. In den
Schritten 208 bis 210, die der Adressenstufe "02" entsprechen, wird ein
Synchronisierzähler
im Timer 46 freigegeben, und es wird gewartet bis zur Erkennung
des Synchronisiermuster. In diesem Moment geht sie, wenn ein Zeitaublauf
auftritt, zur Adressenstufe "00" und wenn das Synchronisiermuster
erkannt wird, so geht sie zur Adressenstufe "03".
Ferner wird das CRC Unterbrechungssignal CRCINT erzeugt, um ein
Gebiet für eine
CRC Prüfung
des ID-Abschnitts
festzulegen.
-
In
Schritt 212, der der Adressenstufe "03" entspricht,
werden die Daten HCYLH der 3 von der
Platte 10 gelesen und mit einem zu lesenden HCYLH verglichen.
Im Schritt 214, der der Adressenstufe "04" entspricht,
werden die Daten CYLL der 3 von der
Platte gelesen, um sie mit einem zu lesenden CYLL zu vergleichen.
Im Schritt 216, entsprechend der Adressenstufe "05", werden die Daten TSNO
der 3 aus der Platte gelesen, um sie mit einem zu
lesenden TSNO zu vergleichen. Im Schritt 218 werden entsprechend
der Adressenstufe "06" die Daten FCDRH
der 3 aus der Platte gelesen, um sie mit den zu lesenden
FCDRH zu vergleichen. In Schritt 220 werden, entsprechend
der Adressenstufe "07" die Daten CDRL der 3 von
der Platte gelesen, und in Schritt 222 werden entsprechend
der Adressenstufe "08" die Daten CRC der 3 von
der Platte gelesen.
-
Im
Schritt 224 werden entsprechend der Adressenstufe "09" die Daten CRC, die
von der Platte 10 gelesen wurden, mit den CRC Daten verglichen,
die intern erzeugt wurden, wobei, wenn ein Fehler gefunden wird,
die Operation gestoppt wird, und wenn nicht, sie zur Adressenstufe "0A" weitergeht. In der
Datenauswahlschaltung 48 wird geprüft, ob die CRC Daten, die von
der Platte ausgelesen wurden, sich von den intern erzeugten Daten
unterscheiden, um somit das geprüfte
Ergebnis zum Verzweigungsdekodierer 44 zu übertragen,
um darin die Signale LD oder INC zu erzeugen. In Schritt 226,
entsprechend der Adressenstufe "0A", bedeutet, wenn die
Werte der Adressenstufen "03", "04" und "05" zueinander gleich
sind, daß daß zu lesende
Ziel gefunden wurde, um somit zur Adressenstufe "0B" weiterzugehen,
während
sie, wenn irgend ein Fehler gefunden wurde, zur obigen Adresse "00" weitergeht, um einen
Vergleich mit dem nächsten
Sektor durchzuführen.
In den Schritten 228 bis 230, entsprechend der
Adressenstufe "0B", erzeugt sie, wenn
das Defektflag, das sind die obersten Bits des FCDRH, "gesetzt" ist, einen automatischen
Stop und wenn das Sprungflag "gesetzt" ist, so geht sie
zur Adressenstufe "00" weiter, während sie
ansonsten zur Adressenstufe "0C" weiter geht. In
Schritt 232 wird entsprechend der Adressenstufe "0C" die Aufspaltoperation durchgeführt. In
Schritt 234, entsprechend der Adressenstufe "0D", wird das Timerfreigabesignal
TIMEREN vom Verzweigungsdekodierer 44 an den Timer 46 geliefert,
in welchem ein Zähler
im Timer 46 weiter das VFO Feld der 4 liest,
nämlich
den Wert "00" bis es den nächsten Adressen/Zählfeldwert
erreicht. Nach dem Lesen von 7 Bytes des Wertes "00" vom VFO-Feld
geht sie zur Adreßstufe "OE" durch den INC. Dann
wird in den Schritten 236 bis 238, entsprechend
der Adressenstufe "0E" der Synchronisierzähler im
Timer 46 freigegeben, und sie wartet bis zum Erkennen des
Synchronisiermusters, wobei wenn ein Zeitablauf auftritt, sie den
Betrieb stoppt, und wenn das Synchronisiermuster erkannt wird, sie
zur Adressenstufe "0F" weitergeht. Weiterhin
wird das Signal ECCINI erzeugt, um ein Gebiet für die ECC Prüfung des
Datenabschnittes zuzuweisen und dann erzeugt der CDR-Zähler 40 das
Signal DATAEN, das anzeigt, daß das
Datengebiet in der nächsten
Stufe beginnt.
-
Als
nächstes
werden in den Schritten 240 bis 244, entsprechend
der Adressenstufe "0F", wenn keine Aufspaltung
im Datengebiet stattfinden soll, die Daten, die man in 4 sieht,
kontinuierlich von der Platte gelesen, bis der Zählwert des CDR-Zählers 40 eine
Zahl 512 erreicht, wonach sie zur Adressenstufe "10" weitergeht. Die
Verzweigungsbedingung "000" wird im Datengebiet
ungültig
gemacht. Wenn im Datengebiet eine Aufspaltung erzeugt wurde, so
hält der CDR-Zähler 40 den
aktuellen Zählwert,
erzeugt das Signal CDRINT und wählt
die nächste
Adreßstufe, um
somit zur Adreßstufe " 20" im Mikroprogramm
der 9 weiterzugehen. Der CDR-Zähler 40 zählt und vergleicht
eine Zahl von Datenbytes mit dem CDR-Wert, und wenn beide gleich
sind, so erzeugt er das CDRINT. Der Adreßgenerator 38 speichert
den aktuellen Stufenwert bei der Erzeugung von CDRINT und erzeugt
die nächste
Stufenadresse "N
ADD". Hierbei hält der CDR-Zähler 40 den
aktuellen Wert während
der Verarbeitung des CDRINT, und nach der Verarbeitung des CDRINT
beginnt er wie der die Anzahl der Daten zu zählen, um somit eine Gesamtzahl von
512 Datenbytes zu verarbeiten, bevor er zur nächsten Stufe geht. Bei der
Beschreibung des CDR-Verfahren
in der Lesebetriebsart, wird als nächstes der CDR-Interrupt erzeugt,
um den aktuellen WCS ADD und Zählwert
zu speichern, und dann springt die Steuerung zu einer Adreßstufe "19" der 9,
nämlich
zu VECT1. Somit kehrt die Steuerung zum Hauptprogramm zurück und der
aktuelle WCS ADD und der Zählwert
werden wieder gespeichert.
-
Als
nächstes
werden in Schritt 246 entsprechend der Adreßstufe "10" 12 Bytes ECC-Daten der 4 von
der Platte gelesen. In Schritt 248, entsprechend der Adreßstufe "11", wenn die EDD-Daten,
die von der Platte gelesen wurden, sich von den intern erzeugten
ECC-Daten unterscheiden, so stoppt sie den Betrieb der Ablaufsteuerung,
um eine Fehlerkorrekturoperation durchzuführen. Wenn jedoch kein Fehler
auftritt, so geht sie zur nächsten
Adreßstufe "12" weiter.
-
Mittlerweile
wird in Schritt 250, entsprechend der Adreßstufe "12", der Vergleich mit
dem aktuellen DSTC-Wert durchgeführt,
wobei wenn das Ergebnis des Vergleichs "0" ist,
dies die Beendigung des Lesebetriebs für die beabsichtigten Sektoren
bedeuiet, und somit die Ablaufsteuerung die Erzeugung von Adressen
im Adreßgenerator 38 stoppt,
und die Ausführung
beendet. Wenn jedoch der DSTC-Wert nicht "0" ist,
so führt
die Sektoraktualisierungschaltung 54 die TSNO Erhöhung als
auch die DSTC Erniedrigung durch und sie geht zur Adreßstufe "00", um einen anderen
Sektor zu bearbeiten. Weiter wird in den Schritten 252 bis 254,
die der Adreßstufe "19" entsprechen, der
Timer 46 freigegeben und der aktuelle Status wird gehalten,
bis das EOS erkannt wird. Wenn das EOS erkannt wird, so geht sie
zu einer nächsten
Adresse "1A" weiter, während bei
einem Zeitablauf der Betrieb durch ein automatisches Stoppen endet.
Im Schritt 256, entsprechend der Adressenstufe "1A", werden 7 Bytes
des Wertes "00" des VFO-Feldes von
der Platte gelesen. In den Schritten 258 bis 260,
entsprechend der Adressenstufe "1B", wird der Synchronzähler des
Timers 46 freigegeben, und es wird bis zum Lesen des Synchronmusters
gewartet. Zu diesem Moment wird, wenn ein Zeitablauf auftritt, der Betrieb
gestoppt, und wenn das Synchronmuster erkannt wird, so geht die
Steuerung zur Adreßstufe "0F" weiter, was die
ursprüngliche
Position darstellt, bei der CDRINT im Adreßgenerator 38 durch CDRRTN
erzeugt wird, welches eine Priorität wie die Verzweigungsbedingung
hat.
-
Der
Stapelspeicher 52 speichert die Information HCYLH, CYLL,
TSNO und FCDRH durch das Signal PUSHEN im Fall daß das höchstwertigste
Bit des Datenauswahlfeldes "1" ist, nämlich in
den Adreßstufen "03", "05", und "06".
-
SCHREIBBETRIEBSART
-
In 9 ist
eine Mikroprogrammdarstellung einer Lese/Schreib-Betriebsart der
programmienbaren Ablaufsteuerung gemäß der in 5 gezeigten Zeileneinteilung
dargestellt, wobei im Diagramm eine Spalte "ADRESSEN" die RAM-Adresse für RAM 36, "VERZWEIGUNG" das Verzweigungsfeld
der 5, "N_ADD/CNT" das nächste Adressen/Zählfeld, "OT" das Ausgabefeld, "GATTER" das Gatterfeld, "FELD" das Feldgebiet,
und "D_SEL" das Datenauswahlfeld bezeichnet.
-
In 11A und 11B ist
das Flußdiagramm
gezeigt, das die Steuerschritte der programmierbaren Ablaufsteuerung
in der Schreibbetriebsart der 9 festlegt.
Die Ausführung
des Flußdiagramms
wird ebenfalls durch die in 6 gezeigte Ablaufsteuerung
gesteuert.
-
Zuerst
sind das Initialisierverfahren in Schritt 300 und die Operationen
in den nachfolgenden Schritten von Schritt 302 bis 330,
entsprechend den Adreßstufen "00" bis "0B" in Folge im wesentlichen identisch
oder ähnlich
denen in den vorher erwähnten
Schritten 200 bis 230, die hier während der
Lesebetriebsart beschrieben wurden, wobei die Beschreibung wiederholt
wird aus Gründen
der Übersichtlichkeit.
-
Somit
wird von Adressenstufe "0C" zur Adressenstufe "13" weitergegangen,
wobei in Schritt 332, der dieser Adressenstufe entspricht,
das Timerfreigabesignal TIMEREN vom Verzweigunsdekodierer 44 an
den Timer 46 geliefert wird. Hierbei liest der Zähler im
Timer 46 weiterhin den Wert "00",
bis er einen nächsten
Adressen/Zählfeldwert
erreicht. Somit geht die Steuerung nach dem Schreiben von 12 Bytes
des Wertes "00" in das VFO-Feld
des ID-Feldes, wie das in 3 gezeigt
ist, zur nächsten
Adressenstufe "14" durch INC. Dann
wird in Schritt 334, der der Adressenstufe "14" entspricht, das
Synchronisiermuster auf die Platte geschrieben. Ferner wird das
Signal ECCINI erzeugt, um ein Gebiet für die ECC Prüfung des
Datenabschnitts zuzuweisen, und dann erzeugt der CDR-Zähler 40 das
Signal DATAEN, das anzeigt, daß das
Datengebiet in der nächsten
Stufe beginnt.
-
Als
nächstes
werden in den Schritten 363 bis 340, entsprechend
der Adressenstufe "15", wenn keine Aufspaltung
im Datengebiet stattfinden soll, die 5 in 4 dargestellten
Daten auf die Platte geschrieben, bis der Zählwert des CDR-Zählers 40 eine
Zahl 512 erreicht, wonach sie zur Adressenstufe "16" weitergeht. Die
Verzweigungsbedingung "000" wird im Datengebiet
ungültig
gemacht. Wenn im Datengebiet eine Aufspaltung erzeugt wurde, so
hält der CDR-Zähler 40 den
aktuellen Zählwert,
erzeugt das Signal CDRINT und wählt
die nächste
Adreßstufe, um
somit zur Adreßstufe "1C" im Mikroprogramm
der 9 weiterzugehen. Der CDR-Zähler 40 zählt und vergleicht
eine Zahl von Datenbytes mit dem CDR-Wert, und wenn beide gleich
sind, so erzeugt er das CDRINT. Der Adreßgenerator 38 speichert
den aktuellen Stufenwert bei der Erzeugung von CDRINT und erzeugt
die nächste
Stufenadresse "N_ADD". Hierbei hält der CDR-Zähler 40 den
aktuellen Wert während
der Verarbeitung des CDRINT, und nach der Verarbeitung des CDRINT
beginnt er wieder die Anzahl der Daten zu zählen, um somit eine Gesamtzahl von
512 Datenbytes zu verarbeiten, bevor er zur nächsten Stufe geht. Bei der
Beschreibung des CDR-Verfahren
in der Lesebetriebsart, wird als nächstes der CDR-Interrupt erzeugt,
um den aktuellen WCS ADD und Zählwert
zu speichern, und dann springt die Steuerung zu einer Adreßstufe "1C" der 9,
nämlich
zu VECT2. Somit kehrt die Steuerung zum Hauptprogramm zurück und der
aktuelle WCS ADD und der Zählwert
werden wieder gespeichert.
-
Im
folgenden Schritt 342, der der Adreßstufe "16" entspricht,
werden 12 Bytes ECC-Daten,
wie in 4 gezeigt, erzeugt, um auf die Platte geschrieben
zu werden. In Schritt 344, der der Adreßstufe "17" entspricht,
werden zwei Bytes des Wertes "00" als PAD auf die
Platte geschrieben. Mittlerweile wird in Schritt 346, entsprechend-der
Adreßstufe "18" der Vergleich mit
dem aktuellen DSTC-Wert durchgeführt,
wobei wenn das Ergebnis des Vergleichs "0" ist,
dies die Beendigung des Schreibbetriebs für die beabsichtigten Sektoren
bedeutet, und somit die Ablaufsteuerung die Erzeugung von Adressen
im Adreßgenerator 38 stoppt
und die Ausführung
beendet. Wenn jedoch der DSTC-Wert nicht "0" ist,
so führt
die Sektoraktualisierungschaltung 54 die TSNO Erhöhung als
auch die DSTC Erniedrigung durch und geht zur Adreßstufe "00", um einen anderen
Sektor zu bearbeiten.
-
Weiter
werden in Schritt 348, der der Adreßstufe "1C" entspricht,
2 Bytes des Wertes "00" als PAD auf die
Platte geschrieben. In den Schritten 350 bis 352,
die der Adreßstufe "1D" entsprechen, wird der
Timer 46 freigegeben, und der aktuelle Status wird gehalten,
bis das EOS erkannt wird. Wenn das EOS erkannt wird, so geht sie
zu einer nächsten Adresse "1A" weiter, während bei
einem Zeitablauf der Betrieb durch ein automatisches Stoppen endet. Im
Schritt 354, entsprechend der Adressenstufe "1E", werden 12 Bytes
des Wertes "00" des VFO-Feldes auf
die Platte geschrieben. Im Schritt 356, der der Adreßstufe "1F" entspricht, wird
das Synchronmuster auf die Platte geschrieben, und dann geht die
Steuerung zur Adreßstufe "0F" weiter, was die
ursprüngliche
Position darstellt, bei der CDRINT im Adreßgenerator 38 durch
CDRRTN erzeugt wird, das eine Priorität wie die Verzweigungsbedingung
hat. Somit wird erkenntlich, daß die
Plattenschreiboperation auf die Platte wie vorstehend erwähnt ausgeführt wurde.
-
Der
Stapelspeicher 52 speichert die Information HCYLH, CYLL,
TSNO und FCDRH durch das Signal PUSHEN im Fall, daß das höchstwertigste
Bit des Datenauswahlfeldes "1" ist, nämlich in
den Adreßstufen "03", "05", und "06".