-
Die
Erfindung bezieht sich auf eine programmierbare Ablaufsteuerung
und ein Verfahren für
eine programmierbare Ablaufsteuerung zur Verwendung in einem magnetischen
Plattenspeicheranstriebssystem.
-
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 With 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 0 517 473 A2 bezieht
sich auf eine programmierbare Datenfolgesteuereinheit für ein Plattenlaufwerk
mit wenigstens einer Speicherplatte, die mit einer im Wesentlichen
konstanten Winkelgeschwindigkeit drehbar ist und wenigstens eine
Speicheroberfläche
aufweist. Eine beschreibbare Steuerspeichereinrichtung, die von
einer programmierten digitalen Microcontrollereinrichtung direkt
adressierbar ist, wird zum Steuern von Zuständen der programmierbaren Datenfolgesteuereinheit
sowohl während
des Lesens von Daten als auch während
des Schreibens von Daten von der und auf die Plattenoberfläche und
eine Puffereinheit verwendet. Eine Steuermusterdecodiereinrichtung
decodiert Steuermuster in Funktionswerte zum Steuern von Operationen
in der Datenfolgesteuereinheit, wobei die beschreibbare Steuerspeichereinrichtung
eine RAM-Einrichtung aufweist und die Steuermuster von der Microcontrollereinrichtung
als Folge aus Steuermustern empfängt.
Die Steuermuster weisen ein Opcode-Feld-Steuermuster, ein Zahlauswahlfeld-Steuermuster,
ein Steuerfeld-Steuermuster, ein Sprungfeld-Steuermuster, ein Zählfeld-Steuermuster
und ein Datenfeld-Steuermuster auf, wobei einige Steuermuster Doppelfunktionssteuermuster
zum Steuern der Zustände
der programmierbaren Datenfolgesteuereinheit umfassen.
-
Die
US 5,422,763 bezieht sich
auf eine aufgeteilte Feldzonendatenaufzeichnung (split field zone
data recording). Eine aufgeteilte Datenfeldzonendichteaufzeichnung
ist auf einem Datenlaufwerksystem unter Verwendung einer Laufwerkssteuereinrichtung
mit einem Servozähler
implementiert. Der Servozähler
schätzt
das periodische Aufkommen der Servosektoren und eliminiert dadurch
die Notwendigkeit von Suchfeld-Tabellen und komplexen Operationssequenzen.
Wann immer ein Servosektor detektiert wird, wird ein Resetsignal
zu dem Servozähler gesendet,
wobei dann der Servozähler
abschätzt, wann
der nächste
Servosektor erwartet werden kann.
-
Andere
herkömmliche
Plattensteuerungen, die mit einem magnetischen Plattenantriebsdatenspeichersystem,
wie beispielsweise einem Festplattenlaufwert (HDD) und einem Diskettenlaufwerk (FDD)
verwendbar ist, sind 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 um eine Schnittstellenstufe
zwischen einem Host-Computer, einer Mikrosteuerungseinheit im Plattenantriebsspeichersystem
und einem Plattenaufzeichnungsmedium, das in ein Servogebiet und
ein Datenaufzeichnungsgebiet aufgeteilt ist, zu bieten, sondern
auch um eine Fehlererkennung und eine Korrektur von Daten während Lese/Schreib
Operationen durchzuführen.
-
Neuerdings
wurde in der Plattensteuerung selbst die Fähigkeit für einen automatischen Betrieb stark
verbessert, um es seiner lokalen Mikrosteuereinheit zu ermögli chen,
daß sie
weniger Verarbeitungsbelastung hat, um somit mehr Zeitresourcen anderen
Funktionen der lokalen Mikrosteuereinheit zuzuweisen, beispielsweise
der Servosteuerung, wobei bei der Plattensteuerung eine programmierbare Ablaufsteuerung
bevorzugt verwendet wird, um eine bessere Verwendung der verschiedenen
Spezifikationen der verwendeten Platten zu erzielen. Die programmierbare
Ablaufsteuerung ist mit einem Speicher mit wahlfreiem Zugriff (RAM)
für das
Speichern eines Mikroprogramms und einer oder mehreren peripheren
Schaltungen versehen, und führt
eine automatische Sequenzsteuerung gemäß einer von mehreren vorbestimmten
Operationen, wie beispielsweise eine Einschaltinitialisierung oder
eine Lese/Schreib/Formatieroperation unter der Steuerung eines Mikroprogramms
durch, das in den Programm-RAM geladen wurde, wobei das Mikroprogramm
durch die lokale Mikrosteuerung vor jeder Ausführung einer solchen Lese/Schreib/Formatier -Operation
oder bei jedem Einschaltrücksetzen
herabgeladen werden sollte.
-
Wie
vorher erwähnt
wurde, sollte die Mikrosteuerung ein Herabladen des passenden Mikroprogramms
in den Programm-RAM bei jedem Einschaltrücksetzen oder vor jeder Ausführung einer
Lese-, Schreib- oder Formatieroperation 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 durch eine Zeit T dargestellt
wird, so wird die dreifache Zeit 3T normalerweise benötigt, um
ein Programm in einen entsprechenden RAM-Bereich zu schreiben. Beispielhaft
können
zwei Gesamtzeitanforderungen gemäß zweier
unterschiedlicher Größen von
Programm-RAMS 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 dem obigen Vergleich 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 AIC-8265 von ADAPTEC um
ungefähr 47%
mehr Zeit als die CL-SH5600 von CIRRUS zum Herunterladen eines Mikroprogramms
benötigt.
-
Die
Größe eines
Programm-RAM kann durch eine Speichereinteilung festgelegt werden,
die die Topologie einer Feldzuweisung eines Speichergebiets im Programm-RAM betrifft, in
welchem Speichergebiet entsprechend jeder Adresse des Programm-RAM
jeder Befehlssatz, der ein Mikroprogramm bildet, geschrieben ist,
wobei jeder Befehlssatz änderbar
ist in Abhängigkeit
von der Feldtopologie. Da in der programmierbaren Ablaufsteuerung
die Größe eines
Program-RAM gemäß dem Verfahren seiner
Feldzuweisung bestimmt wird, wird die Größe des Programm-RAM einen großen Einfluß auf eine Belastung
der Mikrosteuerung ausüben,
was letztlich Einfluß auf
die Leistung des Plattenantriebsspeichersystems selbst hat.
-
Somit
wurde die Notwendigkeit einer Verminderung der Größe des Programm-RAM
im Stand der Technik bemerkt, wobei versucht wurde, eine effizientere
Speichereinteilung vorzunehmen.
-
Aufgabe
der Erfindung ist es, eine programmierbare Ablaufsteuerung und ein
Verfahren für
eine programmierbare Ablaufsteuerung anzugeben, wobei ein Mikroprogramm
in der Ablaufsteuerung nur einen geringen Speicherbedarf hat.
-
Diese
Aufgabe wird durch die Lehre der Ansprüche 1 und 2 gelöst.
-
Bevorzugte
Ausführungsformen
sind Gegenstand der Unteransprüche.
-
Vorteilhaft
an der Erfindung ist, daß kurze
Mikroprogramme die Arbeitsbelastung einer Mikrosteuerung in einem
magnetischen Plattenantriebsspeichersystem vermindern.
-
Im
folgenden wird eine bevorzugte Ausführungsform der Erfindung unter
Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Dabei zeigen:
-
1 ein
schematische Blockdiagramm, das die Konstruktion eines konventionelle
Festplattenantriebs zeigt, der in der Erfindung verwendet wird,
-
2 ein
Diagramm, das die Konstruktion des Datenformats in einer konventionellen
Magnetplatte mit konstanter Aufzeichnungsdichte zeigt, die in der
Erfindung verwendbar ist,
-
3 ein
Diagramm, das detailliert das Format eines ID-Feldes in 2 zeigt,
-
4 ein
Diagramm, das detailliert das Format eines Datenfeldes in 2 zeigt,
-
5 ein
Diagramm, das ein Zuweisungsformat einer Speichereinteilung gemäß der vorliegenden
Erfindung zeigt,
-
6 ein
Blockschaltbild einer programmierbaren Ablaufsteuerung für die Speichereinteilung
der 5 und dem Datenformat der 2 gemäß der vorliegenden
Erfindung,
-
7 ein
Mikroprogramm, das eine FORMATIER Betriebsart der programmierbaren
Ablaufsteuerung gemäß der Speichereinteilung
der 5 zeigt,
-
Die 8A und 8B ein
Flußdiagramm, das
die Steuerschritte für
die programmierbare Ablaufsteuerung in der FORMATIER-Betriebsart
der 7 darstellt,
-
9 ein
Mikroprogramm, das eine LESE-Betriebsart der programmierbaren Ablaufsteuerung
gemäß der Speichereinteilung
der 5 zeigt,
-
10A und 10B ein
Flußdiagramm, das
die Steuerschritte für
die programmierbare Ablaufsteuerung in der LESE-Betriebsart der 9 zeigt,
-
11 ein
Mikroprogramm, das eine SCHREIB-Betriebsart der programmierbaren
Ablaufsteuerung gemäß der Speichereinteilung
der 5 zeigt, und
-
12A und 12B ein
Flußdiagramm, das
die Steuerschritte für
die programmierbare Ablaufsteuerung in der SCHREIB-Betriebsart der 11 zeigt.
-
Nachfolgend
wird die bevorzugte Ausführungsform
der vorliegenden Erfindung detaillierter unter Bezugnahme auf die
begleitenden Zeichnungen beschrieben. Zusätzlich wird die programmierbare
Ablaufsteuerung der vorliegenden Erfindung aus Gründen der Übersichtlichkeit
als "Ablaufsteuerung" bezeichnet.
-
Wendet
man sich nun den Zeichnungen zu, so ist 1 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öpfe 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 (nachfolgend
als "DDC" (disk data controller))
bezeichnet) zu liefern, 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 Le se/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" read only memory) 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.
-
Bezieht
man sich nun auf 2, so ist dort ein Diagramm
gezeigt, das die Konstruktion eines Datenformats in einer konventionellen
Platte mit konstanter Aufzeichnungsdichte (nachfolgend als "CDR" (constant density
recording) bezeichnet)), die in einem HDD gemäß der vorliegenden 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. Dieses 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 Gebiet für das Aufzeichnen der tatsächlichen
Daten unter Bereitstellung von Datensektoren ist.
-
Bezieht
man sich erneut auf 2, so 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, verwendet wird für das Aufzeichnen digitaler
Information.
-
3 zeigt
ein weiter detailliertes Format eines ID Feldes, das ein Variabler-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 einesm speziellen Datenmuster, beispielsweise "A5" (hexadezimal) versehen,
um nochmal das ID-Gebiet zu identifizieren, das eine Information
der Position oder Eigenschaften des jeweiligen Da tensektors, der in
einem entsprechenden Dateninformationsgebiet existiert, hat, 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.
-
Bezieht
man sich nun auf 4, so zeigt ein Diagramm das
detaillierte Format des Datenfeldes, wobei es ein VFO-Gebiet mit
einem 12 Byte Datenvorspann, ein Synchronisiermuster als Datenadreßmarkierung,
einen eigentlichen Datenstrom von 512 Bytes, ein ECC Gebiet und
Nachspanndaten PAD umfaßt.
Der Datenvorspann ist zwischen dem ID-Nachspann und den Synchron sisationsmusterdaten
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 Synchronisationsmuster
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.
-
Bezieht
man sich nun auf 5, so ist dort ein Zuweisungsformat
einer Ablaufsteuerungskarte gemäß der vorliegenden
Erfindung gezeigt, das 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 Befehlssatz, der insgesamt aus 7 Bits besteht,
umfaß ein
3 Bit Verzweigungs/Datenauswahlfeld, ein 3 Bit kodiertes nächstes Adressen/Zählfeld und
ein 1 Bit Ausgabefeld.
-
Das
Verzweigungs/Datenauswahlfeld, das aus den oberen 3 Bits D6-D4 der
gesamten 7 Bits besteht, wird für
eine Verzweigungsbedingung oder für das Freigeben eines Zählfeldes
verwendet, und auch für
die Datenauswahl, um ein vorgegebenes Datenregister auszuwählen, um
Daten des ausgewählten Registers
mit NRZ Daten auf der Platte zu vergleichen. Verschiedene Funktionen,
die durch diese 3 Bit Kodekombination des Verzweigungs/Datenauswahlfeldes
D6-D4 definiert sind, werden nachfolgend detailliert beschrieben.
-
Wenn
der Verzweigungs/Datenauswahlfeldkode "000" ist,
wird die Verzweigunsoperation immer durchgeführt, das heißt, das Springen
zu einer nächsten
Adresse, wobei zu dieser Zeit ein Programmzähler PC die nächste Adresse
anzeigt.
-
Wenn
der Verzweigungs/Datenauswahlfeldkode "001" ist,
so führt
er eine Verzweigung auf den ID-Fehler/CRC-Fehler/ECC-Fehler/Sprung/Defekt durch,
zu welcher Zeit, wenn er sich auf ID-Fehler, CRC-Fehler, ECC-Fehler
oder Sprung befindet der Programmzähler PC die nächste Adresse
anzeigt, während
wenn er sich auf Platte Defekt befindet, der Programmzähler sich
um "1" erhöht.
-
Wenn
der Verzweigungs/Datenauswahlfeldkode "010" beträgt, so zeigt
er eine Daten Zähl
Freigabe an, wobei wenn er sich am Ende der Daten befindet, die
Auswahl CRCECCEN heißt,
und wenn er sich am Ende des ECC befindet, sich der Programmzähler PC
um "1" erhöht, wobei
ansonsten die Datenauswahl BUFDEN ist.
-
Wenn
weiterhin der Verzweigungs/Datenauswahlfeldkode "011" beträgt, zeigt
er ID Zähl
Freigabe an, wohingegen wenn der ID-Zählwert "00" (hexadezimal)
ist, dann beträgt
die Datenauswahl HCYLK, wenn er "01" ist, beträgt sie CYLL,
wenn er "02" ist, TSNO, wenn
er "03" ist, FCDRH, wenn
er "04" ist, CDRL, wenn
er "05" oder "06" ist, beträgt sie CRCECCEN,
und wenn er auf Austrag steht, so erhöht sich dann der Programmzähler PC
um "1".
-
Mittlerweile
bezeichnet er, im Falle, daß der Verzweigungs/Datenauswahlfeldkode "100" ist, eine Zähl Freigabe,
wobei wenn er Zähl
Austrag bezeichnet, sich der Programmzähler PC um "1" erhöht. Und im
Falle, daß der
Verzweigungs/Datenauswahlfeldkode "101" ist,
erwartet er Zähl
Freigabe, wobei der Zähltakt 32 mal
geteilt wird, um als Takt verwendet zu werden, und wer er auf Zähl Austrag
steht, so erhöht sich
dann der Programmzähler
PC um "1".
-
Weiterhin
erwartet er im Falle, daß der
Verzweigungs/Datenauswahlfeldkode "110" beträgt, die Erkennung
einer Synchronisation oder er schreibt ein Synchronisationsmuster, wobei
in der Schreibbetriebsart sich der Programmzähler PC um "1" erhöt, und die
Datenauswahl SYNCEN ist, während
in der Lesebetriebsart, wenn es sich um einen Synchronisierzeitablauf
handelt, der Programmzähler
PC die nächste
Adresse anzeigt, und wenn es sich um das Erkennen der Synchronisation
handelt, der Programmzähler
PC sich um "1" erhöht, und
die Datenauswahl SYNCEN beträgt.
-
Wenn
der Verzweigungs/Datenauswahlfeldkode "111" ist,
erwartet er ein Indexpuls/Sektorpuls/Ende des Servo (EOS) Signal,
wobei in der Indexbetriebsart, wenn im zweiten Zyklus ein Zeitablauf
auftritt, der Programmzähler
PC dann die nächste
Adresse anzeigt. Und wenn der Sektorpuls erkannt wird, sich dann
der Programmzähler
PC um "1" erhöht. In der
Sektorbetriebsart, wenn im zweiten Zyklus ein Zeitablauf auftritt,
zeigt der Programmzähler PC
die nächste
Adresse an, und wenn der Sektorpuls erkannt wird, so erhöht sich
der Programmzähler
PC um "1". In der CDR-Betriebsart
zeigt, wenn der Zeitablauf im zweiten Zyklus auftritt, der Programmzähler PC
die nächste
Adresse an, und wenn der EOS erkannt wird, so erhöht sich
dann der Programmzähler PC
um "1".
-
Mittlerweile
wird das kodierte nächste
Adressen/Zählfeld,
das aus den unteren 3 Bits D3-Dl der 7 Bits, wie in 5 ausgeführt besteht,
als nächste Adresse
verwendet oder als ein Zählwert,
gemäß der genommenen
Verzweigungsbedingung, wobei die Verzweigungsbedingungen "000", "001", "110" und "111" als nächstes Adressenfeld
verwendet werden, und dann die nächste
Adresse und der Zählwert
in einem internen Register gespeichert und durch den kodierten nächsten Adressen/Zählwert ausgewählt werden.
-
Das
Ausgabefeld besteht aus dem niederwertigsten 1 Bit D0 der 7 Bits,
wie das in 5 ausgeführt wurde, und dient als Ausgabeteststift
für das Testen
der Synchronisierung von außen.
-
Zusätzlich macht,
wenn die Verzweigungsbedingung und der nächste Adressen/Zählwert "000" sind und die Ausgabe "1" ist, STINC eine Erhöhung bei der Zielsektornummer
(TSNO) und eine Verminderung des Plattensektortransferzählers (DTSC), wobei
es sich hier um eine Aktualisierungsfunktion handelt, die erforderlich
ist, um eine Mehrsektor Lese/Schreiboperation unabhängig von
der Mikrosteuerung 22 durchzuführen. Bezieht man sich nun
auf die Steuerung für
ein Lesegatter RG und ein Schreibgatter WG, so wird eine Rücksetz RG/WG
Operation bei den Verzweigungsbedingungen "001", "101" und "111" durchgeführt. Wenn
ein Sektor des Mikroprogramms in den ID-Abschnitt und den Datenabschnitt unter
Berücksichtigung
der Verzweigungsbedingung "011" aufgeteilt ist,
so funktioniert die RG/WG Steuerung für die Ausführung der Formatier/Lese/Schreib Operation
wie folgt. Wenn ein Formatierflag, daß die Ablaufsteuerung steuert,
gesetzt ist, so wird WG "AN", wenn das Formatierflag
rückgesetzt
und das RBS-Flag "0" ist, dann wird RG "AN", wenn das Formatierflag
rückgesetzt
wird und das RBW-Flag "1" ist, dann wird WG "AN".
-
6 zeigt
ein Blockdiagramm einer programmierbaren Ablaufsteuerung auf der
Basis der Ablaufsteuerungskartenzuordnung, die in 5 angegeben
ist und dem vorher erwähnten
Datenformat der 2 gemäß der vorliegenden Erfindung.
Ein Programm-RAM 36 der Ablaufsteuerung, das der DDC 18 gemäß der obigen
Auflaufsteuerungskartenzuordnung geliefert wird, hat eine Größe von 16 × 7 Bit.
Ein Adreßgenerator 38 erzeugt
eine RAM Adresse gemäß dem Programmzähler PC
unter Beachtung des Statusses der Signale CDRINT, CDRRTN, LD, INC,
etc. Zu dieser Zeit, wenn DSTC "0" ist, tritt ein automatischer
Stop auf, und wenn eine nächste Adresse "F" 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 "E" auf "F" erhöht, der
normale Betrieb durchgeführt,
während
im Falle eines Springens (auch als "LD" bezeichnet)
in "F" in eine andere Adresse,
eine Stopbedingung verwendet wird. Ein Dekodierer 40 dekodiert Daten
MPUD der Mikrosteuerung 22 und den nächste Adres se/Zählwert N_ADD/CNT,
um daraus die nächste
Adresse N_ADD zu erzeugen. Ein CDR Zähler 42 beginnt seine
Operation durch die Verzweigungsbedingung "010",
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 an.
-
Wenn
das Flag SPLIT2 gesetzt ist, wird als erstes das Signal CDRRTN und
als zweites nach dem Ablauf eines vorgegebenen Wertes das Signal CDRINT.
Ein Verzweigungs/Datenauswahldekodierer 46 erzeugt Signale
LD und INC, die als Referenzsignal einer nächsten Adresse dienen, durch
Prüfen der
Verzweigungsbedingung, eines entsprechenden Signals, und eines Statuses
eines Timers 44, durch den die Operation in Erwiderung
auf die Verzweigungsbedingung startet und der die maximale Betriebszeit
festlegt. Ein Verzweigungs/Datenauswahldekodierer 46 vergleicht
Daten, die von der Platte gelesen werden, mit dem Wert des ausgewählten Datenregisters,
und erzeugt ein Signal PUSHEN, um in einen Stapelspeicher 48 die
Information wie beispielsweise HCYLH, CYLL, TSNO, FCDRH der gelesenen
Daten zu speichern. Der Verzweigungs/Auswahldekodierer 46 erzeugt
das Lese/Schreib Signal, um den Plattenbetrieb oder ein Sektoraktualisiersignal
zu steuern, durch welches eine Sektoraktualisierschaltung 50 die
Aktualisieroperation unabhängig von
der Mikrosteuerung 22 durchführen kann.
-
Nun
folgt unter Berücksichtigung
des Mikroprogramms, das aus der Ablaufsteuerungskartenzuordnung
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 Ablaufsteuerungskarte
und die folgenden Flußdiagramme,
wobei aus Gründen
der Übersichtlichkeit
die Beschreibung in eine Formatier-Betriebsart, eine Lese-Betriebsart und
eine Schreib-Betriebsart aufgeteilt wird, wobei es sich hierbei
um Hauptbetriebsarten bei einer HDD handelt.
-
Bezieht
man sich auf 7, so ist dort eine Mikroprogrammdarstellung
einer Formatierbetriebsart der programmierbaren Ablaufsteuerung
gemäß der Ablaufsteuerungskartenzuordnung
der 5 gezeigt, wobei eine erste Spalte "ADDRESSE" die RAM-Adresse anzeigt,
und die zweite "VERZWEIGUNG_D_SEL" das Verzweigungs/Datenauswahlfeld
der 5, die dritte "E_N_ADD/CNT" das kodierte nächste Adreß/Zählfeld und
die vierte "OT" das Ausgabefeld
anzeigt.
-
Bezieht
man sich gemeinsam auf die 8A und 8B,
so ist dort das Flußdiagramm
der Verarbeitungssteuerschritte der programmierbaren Ablaufsteuerung
in der Formatierbetriebsart der 7 gezeigt.
Der Betrieb des Flußdiagramms
wird durch die in 6 angegebene Ablaufsteuerung
gesteuert.
-
Zuerst
wird in Schritt 100 der 8A die
Initialisierung wie folgt durchgeführt. Die maximale Indexsuchzeit
wird im Timer 44 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 44 wird dann in den Schritten 102 bis 104 freigegeben,
entsprechend der Adresse "00" (hexadezimal) der 7,
und es wird der Indexpuls erwartet. Zu dieser Zeit geht sie, wenn
der Indexpuls eingegeben wird, zur Adressenstufe "01" durch das Signal
INC, oder, wenn der Indexpuls 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 nächsten Adresse "0F" 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 Verzweiguns/Datenauswahldekodierer 46 an den
Timer 44 geliefert, wobei ein Zähler im Timer 44 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
des ID-Abschnittes festzulegen.
-
In
den Schritten 110–120,
entsprechend der Adressenstufe "03", werden zwei Datenbytes
von HCYLH, CYLL, TSNO, FCDRH, CDRL und CRC sequentiell auf die Platte 10 geschrieben,
und in Schritt 122, der der Adressenstufe "04" entspricht, werden zwei
Datenbytes "00" auf die Platte als
PAD geschrieben. Weiter werden in Schritt 124, der der
Adressenstufe "05" entspricht zwei
Bytes "00" auf die Platte geschrieben,
um eine Aufspaltung zwischen dem ID-Feld und dem Datenfeld durchzuführen.
-
In
Schritt 126 werden entsprechend der Adressenstufe "06" 12 Bytes des Wertes "00" in das VFO-Feld
des Datenfeldes geschrieben, wie das in 4 gezeigt
ist, und in Schritt 128 wird entsprechend der Adressenstufe "07" das Synchronisiermuster
auf die Platte geschrieben. In den Schritten 130–136,
die der Adressenstufe "08" entsprechen, erzeugt
der CDR-Zähler 42 das
Signal DATAEN, das anzeigt, daß das
Datengebiet in der nächsten
Stufe beginnt. Ferner werden, wenn eine Spaltung im Datengebiet
nicht auftreten sollte, Daten kontinuierlich auf die Platte 10 geschrieben,
bis der Zählwert
des CDR-Zählers 42 512
erreicht und danach, geht die Steuerung zu einer Adresse "09". Wenn die Aufspaltung
im Datengebiet erzeugt wird, so hält der CDR-Zähler 42 den
aktuellen Zählwert,
erzeugt das Signal CDRINT und wählt
die nächste
Adressenstufe, um somit zur Adresse "07" im
Mikroprogramm im 7 weiterzugehen. In dieser Stufe
zählt der CDR-Zähler 42 und
vergleicht eine Zahl von 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 42 hält den aktuellen
Wert während
der Verarbeitung des CDRINT, und nach der Verarbeitung des CDRINT
beginnt er wieder, die Zahl der Daten zu zählen, um somit eine Gesamtzahl
von 512 Datenbytes zu verarbeiten, bevor zur nächsten Stufe weitergeht. Die
weitere Beschreibung des CDR Verfahrens führt ein Servospringen durch
während
der Formatier-Betriebsart, wobei der CDR-Interrupt erzeugt wird,
um den aktuellen WCS_ADD und Zählwert
zu speichern und die Steuerung springt zu einer Adresse "0C" der 7,
nämlich
zu VECT1. 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 11 Bytes ECC Daten auf die Platte
geschrieben, und in Schritt 138 werden entsprechend der
Adressenstufe "09" zwei Datenbytes
des Wertes "00" als PAD auf die Platte
geschrieben.
-
Im
Schritt 140, der der Adressenstufe "0A" entspricht,
wird ein 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 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 Sektoraktualisierungsschaltung 50 die TSNO Erhöhung und
die DSTC Erniedrigung durch und sie geht zur Adressenstufe "00" weiter. In der Adressenstufe "0B" stoppt der Adressengenerator 38 die
Erzeugung der Adressen und die Ablaufsteuerung stoppt den Betrieb.
-
In
Schritt 142, der der Adressenstufe "0C" entspricht,
werden, wenn eine Aufspaltung im Datengebiet stattfindet, zwei Bytes
des Wertes "00" auf die Platte als
PAD geschrieben, und dann geht sie zu einer nächsten Adresse "0D" weiter. Weiter wird
in den Schritten 144 bis 146 entsprechend der
Adressenstufe "0D" der Timer 44 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 "0E" weiter, während wenn
es sich um den Zeitablauf handelt, die Operation durch ein automatisches
Stoppen endet.
-
Im
Schritt 148 werden entsprechend der Adressenstufe "0E" 12 Bytes des Wertes "00", wie in 4 gezeigt,
auf die Platte gechrieben, und in Schritt 150 wird ensprechend
der Adressenstufe "0F" 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. Somit wird erkenntlich, daß die
Plattenformatieroperation wie vorstehend erläutert ausgeführt wird.
-
Der
Stapelspeicher 48 speichert die Information HCYLH, CYLL,
TSNO und FCDRH durch das Signal PUSHEN, wenn das höchstwertigste
Bit des Datenauswahlfeldes "1" ist, nämlich in
der Adresßtufe "03".
-
LESEBETRIEBSART
-
Bezieht
man sich auf 9, so ist dort eine Mikroprogrammdarstellung
einer Lese-Betriebsart der programmierbaren Ablaufsteuerung gemäß der Ablaufsteuerungskartenzuordnung
der 5 gezeigt, wobei im Diagramm eine Spalte "ADRESSEN" die RAM-Adresse
für RAM 36, "VERZWEIGUNG/D_SEL" das Verzweigungs/Datenauswahlfeld
der 5, "E_N_ADD/CNT" das kodierte nächste Adressen/Zählfeld,
und "OT" das Ausgabefeld
bezeichnet.
-
Bezieht
man sich auf die 10A und 10B gemeinsam,
so ist dort das Flußdiagramm gezeigt,
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 44 eingestellt
und dann die Werte TS-NO,
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 22 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.
In dieser Stufe 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 "0F" 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 Verzweiguns/Datenauswahldekodierer 46 an den
Timer 44 geliefert, wo bei ein 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 in der Platte, 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 44 freigegeben, und es wird gewartet bis zur Erkennung
des Synchronisiermuster. In diesem Moment geht sie, wenn ein Zeitablauf
auftritt, zur Adressenstufe "00", während wenn
das Synchronisiermuster erkannt wird, sie zur Adressenstufe "03" geht. Ferner wird
das CRC Unterbrechungssignal CRCINT erzeugt, um ein Gebiet für eine CRC Prüfung des
ID-Abschnitts festzulegen.
-
In
den Schritten 212–222,
die der Adressenstufe "03" entsprechen, werden
die Daten HCYLH, CYLL, TSNO, FCDRH, CDRL und CRC der 3 sequentiell
aus der Platte 10 ausgelesen. In den Schritten 224–228,
die der Adressenstufe "04" entsprechen, wird
das Vorhandensein eines CRC-Fehlers, eines ID-Fehlers oder irgendeines
gesetzten Sprungflags aus den aus der Platte 10 ausgelesenen Daten,
geprüft,
wobei wenn kein Fehler in der CRC und ID gefunden wurde, dies bedeutet,
daß ein
von der Platte zu lesendes Ziel lokalisiert wurde, wonach sie danach
weitergeht, um das gesetzte Sprungflag im nächsten Schritt zu prüfen. Wenn
jedoch irgend ein Fehler gefunden wurde, so geht sie zur obigen Adresse "00" weiter, um einen
Vergleich mit dem nächsten
Sektor durchzuführen.
Wenn das Defektflag, das sind die obersten Bits des FCDRH, "gesetzt" ist, so erzeugt
sie einen automatischen Stop und wenn das Sprungflag "gesetzt" ist, so geht sie
zur Adressenstufe "00" weiter, während sie
ansonsten zur Adressenstufe "05" weiter geht. In
Schritt 230 wird entsprechend der Adressenstufe "05" die Aufspaltoperation
durch das Ausführen
einer 1 Byte Nichtoperation durchgeführt. In Schritt 232,
der der Adressenstufe "06" entspricht, wird
das Timerfreigabesignal TIMEREN vom Verzweigungs/Datenauswahldekodierer 46 an
den Timer 44 geliefert, in welchem ein Zähler im
Timer 44 weiter das VFO Feld der 4 liest,
nämlich
den Wert "00", bis es den nächsten Adres sen/Zählfeldwert
erreicht. Nach dem Lesen von 7 Bytes des Wertes "00" vom
VFO-Feld geht sie zur Adreßstufe "07" durch den INC. Dann
wird in den Schritten 234 bis 236, entsprechend
der Adressenstufe "07" der Synchronisierzähler im
Timer 44 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 "08" 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 42 das
Signal DATAEN, das anzeigt, daß das
Datengebiet in der nächsten
Stufe beginnt.
-
Als
nächstes
werden in den Schritten 238 bis 244, die der Adressenstufe "08" entsprechen, 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. Wenn im
Datengebiet eine Aufspaltung erzeugt wurde, so hält der CDR-Zähler 42 den
aktuellen Zählwert
und erzeugt das Signal CDRINT. Der CDR-Zähler 42 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.
Dann werden 12 Byte ECC-Daten aus der Platte 10 ausgelesen.
Bei der weiteren 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 "09" 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
wird in Schritt 246, entsprechend der Adreßstufe "09", wenn die ECC-Daten, die
von der Platte gelesen wurden, sich von den intern erzeugten ECC-Daten
unterscheiden, der Betrieb der Ablaufsteuerung gestoppt, um eine
Fehlerkorrekturoperation durchrzuführen. Wenn jedoch kein Fehler auftritt,
so geht sie zur nächsten
Adreßstufe "0A" weiter.
-
Mittlerweile
wird in Schritt 258, entsprechend der Adreßstufe "0A", 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
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 50 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 im Schritt 250, der der
Adreßstufe "0C" entspricht, 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 "0D" weiter, während bei
einem Zeitablauf der Betrieb durch ein automatisches Stoppen endet.
Im Schritt 254, der der Adressenstufe "0D" entspricht,
werden 7 Bytes des Wertes "00" des VFO-Feldes von
der Platte gelesen. In den Schritten 256 bis 258,
die der Adressenstufe "0E" entsprechen, wird
der Synchronzähler
des Timers 44 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
wid, so geht die Steuerung zur Adreßstufe "08" 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. Somit wird erkenntlich, daß die Plattenleseoperation
von der 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".
-
SCHREIBBETRIEBSART
-
Bezieht
man sich nun auf 11, so ist dort eine Mikroprogrammdarstellung
der Schreib-Betriebsart der programmierbaren Ablaufsteuerung gemäß der Ablaufsteuerungskartenzuordnung
der 5 gezeigt, wobei eine Spalte "ADRESSEN" die RAM-Adresse für RAM 36, "VERZWEIGUNG/D_SEL" das Verzweigungs/Datenauswahlfeld
der 5, "E_N_ADD/CNT" das kodierte nächste Adressen/Zählfeld,
und "OT" das Ausgabefeld
bezeichnet. Bezieht man sich weiter auf die 11A und 11B gemeinsam, so ist dort das Flußdiagramm gezeigt,
das die Steuerschritte der programmierbaren Ablaufsteuerung in der
Schreibbetriebsart der 11 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 "05" 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 im Schritt 332, der der Adressenstufe "06" entspricht, das
Timerfreigabesignal TIMEREN vom Verzweigungs/Datenauswahldekodierer 46 an
den Timer 44 geliefert. Hierbei liest ein Zähler im
Timer 44 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 "07" durch INC. Dann
wird in Schritt 334, der der Adressenstufe "07" 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 42 das Signal
DATAEN, das anzeigt, daß das
Datengebiet in der nächsten
Stufe beginnt.
-
Als
nächstes
werden in den Schritten 336 bis 342, die der Adressenstufe "08" entsprechen, wenn keine
Aufspaltung im Datengebiet stattfinden soll, die Daten, wie man
in 4 sieht, auf die Platte geschrieben, bis der Zählwert des
CDR-Zählers 40 eine Zahl "512" erreicht. Wenn im
Datengebiet eine Aufspaltung erzeugt wurde, so hält der CDR-Zähler 40 den
aktuellen Zählwert
und erzeugt das Signal CDRINT. 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 42 den
aktuellen Wert während
der Verarbeitungszeit 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 weiteren Beschreibung des CDR-Verfahren in der Schreibbetriebsart
wird als nächstes
der CDR-Interrupt erzeugt, um den aktuellen WCS ADD und den Zählwert zu
speichern, und dann springt die Steuerung zu einer Adreßstufe "0C" der 11,
nämlich
zu VECT1. Somit kehrt die Steuerung zum Hauptprogramm zurück und der
aktuelle WCS_ADD und der Zählwert
werden wieder gespeichert. Im folgenden Schritt werden 12 Bytes
FCC-Daten, wie in 4 gezeigt, erzeugt, um auf die
Platte geschrieben zu werden.
-
In
Schritt 344, der der Adreßstufe "09" entspricht,
werden zwei Bytes des Wertes "00" als PAD auf die
Platte geschrieben. Mittlerweile wird in Schritt 346, der
der Adreßstufe "0A" entspricht, ein
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 Aus führung
beendet. Wenn jedoch der DSTC-Wert nicht "0" ist,
so führt
die Sektoraktualisierungschaltung 50 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 im Schritt 250, der der
Adreßstufe "0C" entspricht, 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 "0D" weiter, während bei
einem Zeitablauf der Betrieb durch ein automatisches Stoppen endet.
Im Schritt 254, der der Adressenstufe "0D" entspricht,
werden 7 Bytes des Wertes "00" des VFO-Feldes von
der Platte gelesen. In den Schritten 256 bis 258,
die der Adressenstufe "0E" entsprechen, wird
der Synchronzähler
des Timers 44 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 "08" 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. Somit wird erkenntlich, daß die
Plattenleseoperation von der 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".