DE3801547A1 - Daten-ein/ausgabevorrichtung - Google Patents
Daten-ein/ausgabevorrichtungInfo
- Publication number
- DE3801547A1 DE3801547A1 DE3801547A DE3801547A DE3801547A1 DE 3801547 A1 DE3801547 A1 DE 3801547A1 DE 3801547 A DE3801547 A DE 3801547A DE 3801547 A DE3801547 A DE 3801547A DE 3801547 A1 DE3801547 A1 DE 3801547A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- control
- buffer memory
- units
- control unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Multi Processors (AREA)
Description
Die Erfindung betrifft eine Daten-Ein/Ausgabevorrich
tung, die mehrere Ein/Ausgabe-Einheiten und Steuereinheiten
und mindestens einen Puffersrpeicher aufweist und bei der
jede Steuereinheit sämtliche Ein/Ausgabe-Einheiten steuern
kann.
Um die Effizienz des Datenaustauschvorgangs zu verbessern,
wurden im Stand der Technik verschiedene Ein- und Ausgabe
vorrichtungen vorgeschlagen.
Bei einer aus mehreren Ein/Ausgabe-Einheiten (weiterhin
E/A-Einheiten) und mehreren Steuereinheiten, die jeweils
einen inneren Pufferspeicher aufweisen, aufgebauten Ein
und Ausgabevorrichtung (weiterhin E/A-Vorrichtung) kann
jede Steuereinheit nur zu ihrem eigenen Pufferspeicher
zugreifen. Obwohl alle E/A-Einheiten physikalisch mit allen
Steuereinheiten verbunden sind, wird die jeweilige E/A
Einheit durch eine eigene Steuereinheit während ihres Be
triebs gesteuert. Deshalb kann es vorkommen, daß sich Zu
griffe von einem CPU-System auf eine bestimmte E/A-Ein
heit, die von einer eigenen Steuereinheit gesteuert wird,
konzentrieren, oder daß diese eigene Steuereinheit zu einem
Systemengpaß wird und die Leistungsfähigkeit der gesamten
Ein- und Ausgabevorrichtung verschlechtert.
Beispielsweise ist im Stand der Technik aus der JP-A-57
1 57 368 ein Verfahren bekannt, das eine Einheit vorsieht,
die die Belastung jeder Steuereinheit prüft, um eine die
Last ausgleichende Steuerung zur Lastverteilung der Steuerein
heiten zu bewirken. Dabei wird die Belastung jeder Steuer
einheit in regelmäßigen Zeitabständen geprüft, um eine
einen Engpaß darstellende Steuereinheit herauszufinden.
Geeignete E/A-Einheiten werden von den durch eine solche
Engpaßsteuereinheit gesteuerten E/A-Einheiten ausgewählt,
um eine Berechtigung zur Steuerung dieser gewählten E/A-
Einheiten durch eine andere Steuereinheit zu übertragen.
Bei einer eine Steuereinheit mit einem inneren Pufferspei
cher und mehreren E/A-Einheiten aufweisenden E/A-Vorrich
tung ist bereits in der JP-A-61-1 53 724 ein Verfahren vorge
schlagen worden, das eine effiziente Nutzung der Datenüber
tragungsleitungen durch eine Vorlade/Nachschreiboperation
bei minimierter Pufferspeicherkapazität bewirkt.
Bei diesem Verfahren werden E/A-Einheiten benutzt, die
vor einem Datenaustauschprozeß für eine bestimmte Zeitdauer
Off-line von einer Steuereinheit eine Vorverarbeitung aus
führen müssen. Bei der Steuerung des Ablaufs einer Vor
lade/Nachschreiboperation für eine Vielzahl von Blöcken
werden jeweils zu einem bestimmten Steuerzeitpunkt eine
Vorlade/Nachschreibdatenmenge und eine Datenübertragungs
startzeit entschieden. Der nächste Steuerzeitpunkt wird
so festgesetzt, daß er um die Vorverarbeitungszeit
dauer vor dem Zeitpunkt liegt, an dem der Vorlade/Nach
schreibdatenübertragungsprozeß, dessen Ablauf zum momenta
nen Steuerzeitpunkt vorgesehen ist, endet. Beim nächsten
Steuerzeitpunkt wird aufgrund der Lastsituation jeder E/A-
Einheit entschieden, ob der laufende Vorlade/Nachschreib
prozeß fortgesetzt oder beendet wird.
Bei den genannten herkömmlichen Verfahren ergeben sich
jedoch folgende Schwierigkeiten. Solche E/A-Vorrichtungen,
die mehrere E/A-Einheiten und mehrere Steuereinheiten mit
jeweils einem inneren Pufferspeicher aufweisen, können
Lastfluktuationen während des Lastausgleichsteuerprozesses
nicht folgen.
Auch im Falle des oben angeführten Ablaufsteuerverfahrens
für eine E/A-Vorrichtung ist keine Lösung für eine aus
mehreren Steuereinheiten und E/A-Einheiten bestehende E/A-
Vorrichtung offenbart.
Die vorliegende Erfindung möchte die angeführten Schwierig
keiten des Standes der Technik vermeiden. Die der vorlie
genden Erfindung zugrundeliegende Aufgabe besteht darin,
eine mehrere E/A-Einheiten und mehrere Steuereinheiten mit
einem inneren Puffer aufweisende Datenein- und -ausgabevor
richtung zu ermöglichen, bei der die Last jeder Steuerein
heit automatisch ausgeglichen, ein maximaler Systemdurch
satz erzielt und die Datenübertragungsleitungen zwischen
Pufferspeichern und E/A-Einheiten effektiv ausgenutzt wer
den.
Die Aufgabe wird anspruchsgemäß gelöst.
Zur Lösung der oben genannten Aufgabe ist also eine Daten
ein- und -ausgabevorrichtung mit mehreren E/A-Einheiten,
mindestens einem Daten-E/A-Pufferspeicher, dem mindestens
zwei der E/A-Einheiten zugeteilt sind, mehreren Steuerein
heiten, die zwischen den E/A-Einheiten und einem CPU-System
angeordnet und mit dem Pufferspeicher verbunden sind, und
einer Speichereinrichtung, die mit den Steuereinheiten
verbunden ist und Information, die die Steuereinheiten zur
Steuerung der E/A-Einheiten benötigen, speichert,
erfindungsgemäß dadurch gekennzeichnet, daß jede Steuerein
heit aufweist:
eine erste Übertragungsschaltung, die eine gegenseitige
Verbindung mit dem CPU-System und dem Pufferspeicher für
einen gegenseitigen Datentransfer herstellt, eine zweite
Transferschaltung, die eine gegenseitige Verbindung für
einen Datenaustausch zwischen dem Pufferspeicher und der
E/A-Einheit herstellt, eine erste Datenleitung, die mit
einer ersten Übertragungsschaltung einer weiteren Steuer
einheit verbunden ist und diese weitere Steuereinheit mit
dem Pufferspeicher zum gegenseitigen Datenaustausch verbin
det, und eine zweite Datenleitung, die mit der zweiten
Ubertragungsschaltung der weiteren Steuereinheit verbunden
ist und die andere Steuereinheit mit dem Puf
ferspeicher für einen gegenseitigen Datenaustausch verbin
det, wodurch jede Steuereinheit einen Datenaustausch mit
dem Pufferspeicher über die andere Steuereinheit ausführen
kann.
Bei einer so ausgeführten Datenein- und -ausgabevorrichtung
kann, wenn eine Steuereinheit von einer E/A-Einheit von dem
CPU-System eine E/A-Anforderung empfängt, auch wenn Daten
transfer zwischen einem der E/A-Einheit zugeordneten Puf
ferspeicher und dem CPU-System von einer anderen Steuerein
heit durchgeführt wird, die zuerst genannte Steuereinheit
den Datentransfer zwischen dem Pufferspeicher und dem CPU-
System durchführen. Außerdem kann während eine Steuerein
heit einen Datentransfervorgang (Vorlade/Nachschreibprozeß)
zwischen einem Pufferspeicher und einer E/A-Einheit
durchführt, eine weitere Steuereinheit einen Datentransfer
prozeß (Vorlade/Nachschreibprozeß) zwischen diesem Puffer
speicher und einer anderen E/A-Einheit durchführen.
Im Gegensatz dazu kann bei der herkömmlichen Technik, wäh
rend eine Steuereinheit einen Datentransfer zwischen einem
Pufferspeicher und einem CPU-System ausführt, eine andere
Steuereinheit, falls diese eine E/A-Anforderung für eine
diesem Puffer vom CPU-System zugeteilten E/A-Einheit em
pfängt, ihre Datenübertragung so lange nicht ausführen, bis
der Datentransfer durch die erstgenannte Steuereinheit
ausgeführt ist.
Vorteilhafterweise ermöglicht die vorliegende Erfindung,
daß auch während einer solchen Situation die andere Steuer
einheit den Datentransfer durchführen kann. Deshalb kann es
nicht vorkommen, daß die andere Steuereinheit den Daten
transfer, weil der Pufferspeicher gemeinsam von den Steuer
einheiten benutzt wird, nicht durchführen kann.
Im Ergebnis braucht die Belastung jedes Pufferspeichers nicht
durch Verändern der Kombination der E/A-Einheiten mit den
jeweiligen Pufferspeichern, wie in der herkömmlichen Tech
nik, ausgeglichen werden.
Üblicherweise führt jede Steuereinheit einen Vorlade/Nach
schreibprozeß nur für die E/A-Einheiten aus, die den Puf
ferspeicher der Steuereinheit gemeinsam verwenden. Deshalb
kann eineVorlade/Nachschreibablaufsteuerung unabhängig für
jede Steuereinheit ausgeführt werden. Bei der erfindungsge
mäßen Datenein- und -ausgabevorrichtung muß jedoch auch
eine Steuereinheit einen Vorlade/Nachschreibprozeß für die
E/A-Einheit ausführen, die einen Pufferspeicher einer ande
ren Steuereinheit benutzt.
Deshalb muß bei der erfindungsgemäßen Datenein- und -aus
gabevorrichtung für die Durchführung einer Vorlade/Nach
schreibablauf steuerung nötige Information in einem den
Steuereinheiten gemeinsamen Speicherbereich gespeichert
werden, und der Ablaufsteuerprozeß für das Vorladen/Nach
schreiben muß unter Berücksichtigung des Gesamtsystems
durchgeführt werden.
Vorteilhafterweise kann ein Datentransfer erfindungsgemäß
über Datenübertragungsleitungen durchgeführt werden, die
die Datenübertragungsschaltungen einer Steuereinheit mit
dem Pufferspeicher einer anderen Steuereinheit verbinden,
wobei die Übertragungsschaltungen zwischen dem Pufferspei
cher und einem CPU-System und zwischen dem Pufferspeicher
und einer E/A-Einheit eingefügt sind. Deshalb wird der
Datentransfer, falls das CPU-System einer Steuereinheit
eine Datenübertragungsanforderung für eine E/A-Einheit, die
den Pufferspeicher einer anderen Steuereinheit benutzt,
unter Verwendung der oben genannten Datenübertragungslei
tung durchgeführt. Folglich kann die Belastung jeder
Steuereinheit automatisch ausgeglichen werden. Die Ablauf
steuerung wird von allen Steuereinheiten in Übereinstim
mung mit einer Ablaufsteuer-Warteschlange durchgeführt. Eine
Steuereinheit steuert den Vorlade/Nachschreibprozeß für eine E/A-Einheit zu
einem bestimmten Steuerzeitpunkt. Falls zum nächsten
Steuerzeitpunkt eine Umschaltbedingung erfüllt ist, wird
die Ablaufsteuerung einer anderen E/A-Einheit durchgeführt.
Falls dies nicht der Fall ist, wird der Vorlade/Nach
schreibvorgang der erstgenannten E/A-Einheit fortgesetzt.
Die Umschaltbedingung ist in folgender Weise definiert: Mit
der Annahme, daß die Anzahl der Steuereinheiten n ist, ist
der nte Teil der Summe der Leerlaufzeiten des Datentrans
fers zwischen den Pufferspeichern aller Steuereinheiten und
den Kanälen und aus der Datenübertragungszeit für eine E/A-
Einheit zwischen zwei Steuerzeitpunkten länger als die
Summe aus Startverarbeitungszeitdauer und Neupositionie
rungszeitdauer für die E/A-Einheit.
Die Erfindung wird im folgenden anhand von Ausführungsbei
spielen unter Bezugnahme auf die Zeichnung näher beschrie
ben. Es zeigen:
Fig. 1 ein Blockschaltbild des Aufbaus einer Aus
führungsart einer erfindungsgemäßen Daten
ein- und -ausgabevorrichtung;
Fig. 2a und 2b jeweils eine Verwaltungstabelle einer
Steuereinheit und eine E/A-Einheiten-Verwal
tungstabelle gemäß der Erfindung;
Fig. 3 ein Flußdiagramm der gesamten Operation der
in Fig. 1 dargestellten Datenein- und -aus
gabevorrichtung;
und die
Fig. 4 bis 8 Flußdiagramme der Hauptteile des in Fig. 3
dargestellten Flußdiagramms.
In Fig. 1 ist ein Blockschaltbild des Aufbaus einer erfin
dungsgemäßen Ausführungsart einer Ein- und Ausgabevorrich
tung (weiterhin E/A-Vorrichtung) dargestellt.
Die so ausgeführte E/A-Vorrichtung weist zwei Steuereinhei
ten 100 a und 100 b, einen Speicher 120, der Steuerinforma
tion, die von den Steuereinheiten 100 a und 100 b verwendet
wird, speichert und mehrere Magnetbandkassetteneinheiten
(abgekürzt MT) 130 und 131 auf. Zur Vereinfachung der
Beschreibung wird angenommen, daß diese Ausführung zwei MTs
enthält. Genauso werden zwei Steuereinheiten 100 a und 100 b
zur Vereinfachung der Beschreibung verwendet. Die Steuer
einheiten 100 a und 100 b weisen jeweils mit Kanälen 100 a′
und 100 b′ eines CPU-Systems 10 verbundene Kanaladapter
101 a und 101 b, erste Übertragungsschaltungen 103 a und 103 b
auf der Kanalseite, zweite Übertragungsschaltungen 108 a und
108 b auf der Magnetbandeinheitseite, Pufferspeicher 106 a
und 106 b, Prozessoren 107 a und 107 b, Taktschaltungen 112 a
und 112 b und Zeitsteuerungen 111 a und 111 b auf. Die Ver
bindung innerhalb und zwischen den Steuereinheiten 100 a und
100 b wird durch Datenübertragungsleitungen 104 a und 104 b,
105 a und 105 b, 109 a und 109 b, 110 a und 110 b und 114 a und
114 b sowie Steuerleitungen 113 a und 113 b und 115 a und 115 b
hergestellt.
Beide Kassetten-MTs 130 und 131 haben keine für einen
schnellen Start und Stop notwendige Vakuumsäule wie in
herkömmlichen Magnetbandeinheiten, so daß sie klein und
leicht ausgeführt sind. Jedoch dauert die für einen Start
prozeß nötige Zeit
länger als bei herkömmlichen MTs, bei denen sie in der
Größenordnung von einigen ms liegt, so daß der Startprozeß
für die MTs 130 und 131 Off-line von den Steuereinheiten
100 a und 100 b ausgeführt wird. Nach diesem Verfahren ist
eine ununterbrochene Datenübertragung von und zu den zwei MTs
130 und 131 und die Durchführung eines Startvorgangs für
eine MT (z.B. 131) im Off-line-Zustand während des Daten
transfers der anderen MT (z.B. 130) möglich.
Außerdem dauert ein sogenannter Neupositionierungsprozeß,
wie er für das Anhalten des Magnetbands nach einem Daten
transfer und zum Zurückspulen des weitergelaufenen Bandes
für jede der MTs 130 und 131 nötig ist, einige Male länger
als der Startprozeß. Deshalb ist im Falle kleiner Datenmen
ge pro Datentransfer mit hoher Wahrscheinlichkeit die Mög
lichkeit vorhanden, daß alle Magnetbandeinheiten MT 130 und
131 einen Startprozeß oder einen Neupositionierungsvorgang
durchführen, wodurch sich die Systemleistung verschlech
tert. Angesichts dieser Tatsache sind die beiden Steuerein
heiten 100 a und 100 b jeweils mit den inneren Pufferspei
chern 106 a und 106 b versehen und wenden ein Vorlade/Nach
schreibverfahren an, wodurch der Datentransfervorgang zwi
schen den Pufferspeichern 106 a und beispielsweise MT 130 in
Einheiten mehrerer Blöcke pro Startprozeß durchgeführt wird.
Für die zwei Steuereinheiten 100 a und 100 b sind acht Kanal
adapter 101 a und 101 b vorhanden. Die Übertragungsschaltung
103 a oder 103 b kann nur eine Datenübertragung zur selben
Zeit durchführen, so daß die gemäß der erfindungsgemäßen
Ausführung gestaltete E/A-Vorrichtung nur zwei Anforderun
gen gleichzeitig empfangen kann.
Nachfolgend wird die Operation der Steuereinheiten 100 a und
100 b beschrieben. Da sie für beide Steuereinheiten dieselbe
ist, dient die Steuereinheit 100 a als Beispiel für die
Beschreibung. Die erste kanalseitige Übertragungsschaltung
103 a führt die Datenübertragung zwischen dem Kanal und dem
Pufferspeicher 106 a gemäß einem vom Prozessor 107 a ausgege
benen Befehl durch. Da die Datenübertragung mittels eines
DMA-Transfers erfolgt (Speicherdirektzugriff), ist der
Prozessor 107 a während der Ausführung des Datentransfers
nicht betroffen.
Der Pufferspeicher 106 a wird gemeinsam von mehreren MTs 130
und 131 benutzt und speichert zeitweilig Daten von dem CPU-
System, d.h. vom Kanal oder Daten von den MTs 130 und 131.
Es muß jedoch hervorgehoben werden, daß die Beziehung zwi
schen dem Pufferspeicher 106 a und den MTs 130 und 131 fest
zugeordnet ist. Da bei dieser Ausführungsart der Puffer
speicher 106 a von beiden MTs 130 und 131 benutzt wird, sind
die der Steuereinheit 100 b zugeteilten MTs in Fig. 1 nicht
dargestellt. Eine solchermaßen feste Zuordnung wird zur
Vereinfachung der Datenübertragungssteuerung für das Vorla
den/Nachschreiben zwischen dem Pufferspeicher 106 a und den
MTs 130 oder 131 angewendet. Der Grund dafür liegt darin,
daß die Datenübertragungssteuerung in Einheiten mehrerer
Blöcke kompliziert würde, falls die Daten einer MT über
mehrere Pufferspeicher verteilt wären. Deshalb ist die
Zuordnung des Puffers 106 a zu den MTs 130 und 131 festge
legt. Ein weiterer Grund besteht darin, den Einfluß eines
möglichen Fehlers auf einen einzelnen Pufferspeicher zu
begrenzen, so daß sich dieser nicht auf sämtliche MTs
überträgt.
Genauso wie die erste kanalseitige Übertragungsschaltung
103 a überträgt die zweite Übertragungsschaltung 108 a auf
der Seite der MTs Daten zwischen dem Pufferspeicher 106 a
und den MTs 130 oder 131 gemäß einem von dem Prozessor 107 a
ausgegebenen Befehl.
Der Prozessor 107 a verwaltet die Steuerung der Datenübertragung
zwischen Kanal und Pufferspeicher 106 a und zwischen Puffer
speicher 106 a und den MTs 130 oder 131 Der Prozessor
107 a führt auch aufgrund von Steuerinformation, die in dem
von beiden Steuereinheiten 100 a und 100 b benutzten Speicher
120 gespeichert ist, eine Vorlade/Nachschreibablaufsteue
rung aus.
Die Zeitsteuerung 111 a wird während der Ablaufsteuerung
benutzt und durch den Prozessor 107 a gesetzt. Der Prozessor
107 a wird durch die Taktschaltung 112 a zeitlich gesteuert.
Bei der gemäß dieser Ausführungsart gestalteten E/A-Vor
richtung erfolgt die Datenübertragung zwischen Kanal und
Pufferspeicher 106 a in Blockeinheiten über den Kanaladapter
101 a und die erste kanalseitige Übertragungsschaltung 103 a.
Insbesondere prüft der Prozessor 107 a auf der Grundlage des
Inhalts des Speichers 120 auf den Empfang einer Datenüber
tragungsanforderung vom Kanal einen von der MT 130 a zu
benutzenden Pufferspeicher (bei dieser Ausführung den
Pufferspeicher 106 a). Wenn es sich dabei um den Pufferspei
cher 106 a derselben Steuereinheit 100 a handelt, weist der
Prozessor 107 a die erste kanalseitige Übertragungsschaltung
103 a an, die Datenübertragung über die Datenübertragungs
leitung 104 a durchzuführen. Die erste Übertragungsschaltung
103 a führt die Datenübertragung gemäß einem von dem Prozes
sor 107 a ausgegebenen Befehl aus. Da die Datenübertragung
mittels Speicherdirektzugriffs (DMA) durchgeführt wird,
gibt der Prozessor 107 a nur diesen einen Befehl aus und ist
von der tatsächlichen Durchführung der Datenübertragung
nicht betroffen. In manchen Fällen wird zum Pufferspeicher
106 a gleichzeitig über zwei Datenübertragungsleitungen 104 a
und 105 b zugegriffen.
Bei der erfindungsgemäß ausgeführten E/A-Vorrichtung er
folgt für die Datenübertragung zwischen dem Puffer 106 a und
den MTs 130 oder 131 ein Vorlade/Nachschreibprozeß, der
über die zweite Übertragungsschaltung 108 a auf der Seite
der MTs 130 und 131 und über die Datenübertragungsleitung
114 a durchgeführt wird.
In solch einem Falle gibt der Prozessor 107 a einen Übertra
gungsbefehl für jeden Block an die zweite Übertragungs
schaltung 108 a. Der Prozessor 107 a gibt nur den Übertra
gungsbefehl aus und ist von dem tatsächlichen Datentransfer
nicht betroffen.
Der Prozessor 107 a führt die Ablaufsteuerung für den Vor
lade/Nachschreibprozeß für die MTs 130 und 131 in Überein
stimmung mit der im Speicher 120 gespeicherten Information
aus. Wenn die im Sinne der Ablaufsteuerung anzusteuernde MT
130 die andere Steuereinheit 100 b benutzt, wird ein Vor
lade/Nachschreibprozeß mittels der Datenübertragungsleitung
110 b durchgeführt. Somit wird zum Pufferspeicher 106 a in
manchen Fällen gleichzeitig durch zwei Datenübertragungs
leitungen 109 a und 110 b zugegriffen.
Unter Verwendung der Datenübertragungsleitungen 105 a und
105 b sowie 110 a und 110 b kann jeder Prozessor 107 a bzw.
107 b zum anderen Pufferspeicher 106 b bzw. 106 a zugreifen.
Deshalb ist auch beim Zugriff vom CPU-System 10 zu einer
bestimmten E/A-Einheitengruppe keine einzelne Übertragungs
schaltung vorhanden, die zum Engpaß des Systems werden
könnte.
Beispielsweise wird angenommen, daß die Datenübertragung
zwischen dem Pufferspeicher 105 a der Steuereinheit 100 a und
dem Kanal über die erste kanalseitige Übertragungsschaltung
103 a der Steuereinheit 100 a und die Datenübertragungslei
tung 104 a erfolgt. Falls eine Datenübertragungsanforderung
für MT 130, die den Pufferspeicher 106 a der Steuereinheit
100 a verwendet, zum Prozessor 107 a der anderen Steuerein
heit 100 b gesendet wird, führt der Prozessor 107 b die
Datenübertragung zum und vom Pufferspeicher 106 a über die
erste Übertragungsschaltung 103 b der Steuereinheit 100 b und
die Datenübertragungsleitung 105 b durch.
In diesem Fall könnte der Prozessor 107 b, falls die Daten
übertragungsleitung 105 nicht zur Verfügung steht, eine
Datenübertragungsanforderung vom CPU-System nicht annehmen.
Somit muß die Anforderung warten bis der vorangehende Da
tentransfer beendet ist, auch wenn die erste Übertragungs
schaltung 103 b der Steuereinheit 100 b im Leerlauf ist. Dies
ist bei der Datenübertragungsleitung 110 b dasselbe.
Mit dem oben beschriebenen Aufbau der erfindungsgemäßen
E/A-Vorrichtung wird die Last automatisch zwischen den
Übertragungsschaltungen der Steuereinheiten 100 a und 100 b
ausgeglichen, d.h. zwischen der ersten und zweiten Übertra
gungsschaltung 103 a und 108 a der Steuereinheit 100 a und der
ersten und zweiten Übertragungsschaltung 103 b und 108 b der
Steuereinheit 100 b. Deshalb ist ein höchstmöglicher Durch
satz der erfindungsgemäß ausgeführten E/A-Vorrichtung
sichergestellt.
In dem bei dem Ausführungsbeispiel der erfindungsgemäßen
E/A-Vorrichtung durchgeführten Vorlade/Nachschreib-Ablauf
steuerverfahren hat jeder Prozessor 107 a oder 107 b die
Berechtigung, alle MTs anzusteuern, und es ist deshalb
nicht festgelegt, welcher Prozessor eine bestimmte MT
steuern soll.
Jeder Prozessor 107 a bzw. 107 b führt die Ablaufsteuerung so
aus, daß eine effiziente Datenübertragung über die zweite
Datenübertragungsschaltung 108 a bzw. 108 b der eigenen
Steuereinheit 100 a bzw. 100 b und die Datenübertragungs
leitung 114 a bzw. 114 b erfolgt.
Genauer ist eine Ablaufsteuer -Warteschlange vorgesehen, durch die
die anzusteuernde MT entschieden wird. Jeder Prozessor 107 a
oder 107 b führt die Ablaufsteuerung beginnend vom Kopf der
Steuerschlange aus. Die der Ablaufsteuerung unterworfene MT
wird aus der Steuerschlange herausgenommen und dem Ende der
Steuerschlange, nachdem der Vorlade/Nachschreibvorgang be
endet ist, angefügt.
Gemäß dem Grundprinzip des Vorlade/Nachschreibablaufsteuer
verfahrens wird die Vorlade/Nachschreibdatenmenge in Über
einstimmung mit der Menge der Daten, zu denen vom CPU-
System in jeder MT zugegriffen wird, entschieden, wobei
eine effiziente Ausnutzung der Datenübertragungsleitungen
zwischen den Pufferspeichern und den MTs berücksichtigt
wird.
Genauer wird gemäß der Ablaufsteuerschlange eine für den
Vorlade/Nachschreibvorgang anzusteuernde MT bestimmt. In
diesem Fall wird die Datenmenge für den Vorlade/Nach
schreibvorgang im Prinzip auf die Differenz zwischen einer
übertragenen Datenmenge 214 (gemäß Fig. 2b) und einer über
tragenen Datenmenge 215 zum Steuerzeitpunkt (gemäß Fig. 2b)
festgelegt. Die übertragene Datenmenge 214 ist die Menge
der zwischen dem Kanal und dem Pufferspeicher 106 a während
der Zeitdauer vom letzten Steuerzeitpunkt des vorangehenden
Vorlade/Nachschreibprozesses für die MT 130 beispielsweise
bis zum laufenden Steuerzeitpunkt der MT 130 nach dem
Umschalten auf die Ansteuerung der MT 131 übertragene Da
tenmenge. Die übertragene Datenmenge 215 gibt die Datenmen
ge an, die beim Steuerzeitpunkt der MT 130 übertragen
wurde, d.h. zum Startverarbeitungszeitpunkt für die MT 130.
Deshalb gibt die Differenz, falls sie Null ist, an, daß
eine Datenübertragung für die MT 130 zwischen dem Kanal und
dem Pufferspeicher 106 a während der Zeitdauer vom vorange
henden Steuerzeitpunkt bis zum laufenden Steuerzeitpunkt
der MT 130 nicht stattfand. Im Falle eine Leseanforderung
für die MT 130 vorliegt, wird auch die Bedingung betrach
tet, ob die Vorladedaten am vorangehenden Steuerzeitpunkt
noch im Pufferspeicher 106 stehen und weitere Bedingungen.
Der nächste Steuerzeitpunkt wird auf einen Zeitpunkt ge
setzt, der um die Größe der Startverarbeitungszeitdauer vor
dem Zeitpunkt der Beendigung des laufenden Vorlade/Nach
schreibprozesses liegt.
Der nächste Steuerzeitpunkt ist nämlich ein durch Addition
des gegenwärtig entschiedenen Vorlade/Nachschreibzeitpunk
tes zur gegenwärtigen Zeit erhaltener Zeitpunkt.
Abhängig davon, ob eine Umschaltebedingung erfüllt ist oder
nicht, wird entschieden, ob das Vorladen/Nachschreiben für
die MT 130 fortgesetzt wird oder beim nächsten Steuerzeit
punkt zur MT 131 wechselt.
Die Umschaltbedingung für die zwei Steuereinheiten 100 a und
100 b aufweisende E/A-Vorrichtung läßt sich durch die fol
gende Beziehung (1) ausdrücken:
2(t-ti)-Vi/v MT ≧ 2(S + R),
worin t die gegenwärtige Zeit, ti einen Zeitpunkt, zu dem
für eine gegenwärtig für den Vorlade/Nachschreibvorgang
angesteuerte MT (MTi) eine vorangehende Umschaltbedingung
erfüllt ist, Vi eine von der Zeit ti bis zur Zeit t über
tragene Datenmenge, v MT für eine MT gültige Datenübertra
gungsrate, S eine Startverarbeitungszeit und R eine Neu
positionierungszeit darstellen. t i läßt sich aus einer Zeit
218 ableiten, sobald eine Umschaltbedingung erfüllt ist,
und Vi ergibt sich aus der übertragenen Datenmenge 214.
Bei erfüllter Umschaltbedingung wird nicht die gegenwärtig
angesteuerte MT 130, sondern die andere MT 131 als nächstes
für den Vorlade/Nachschreibvorgang angesteuert. Die Be
ziehung (1) stellt sicher, daß nach dem Vorladen/Nach
schreiben für eine bestimmte MTi und mindestens während dem
Neupositionierungsvorgang und dem Startprozeß für den näch
sten Datentransfer die Datenübertragungsleitung 114 effi
zient für die Datenübertragung zur und von der MT 131
benutzt wird.
Die Fig. 2a und 2b stellen jeweils eine Ausführungsart
einer Steuerverwaltungstabelle und einer MT-Verwaltungs
tabelle gemäß der Erfindung dar.
Um eine Vorlade/Nachschreib-Ablaufsteuerung gemäß dem be
schriebenen Grundprinzip durchzuführen, muß die notwendige
Information in der Steuerverwaltungstabelle 200 und der MT-
Verwaltungstabelle 210 im Speicher 120 gemäß den Fig. 2a
und 2b gespeichert werden.
Die Steuerverwaltungstabelle 200 ist aus einem Ablauf
steuerschlangenkopfzeiger 201, der auf einen MT-Kopfindex
der von den beiden Prozessoren 107 gemeinsam verwendeten
Steuerschlange zeigt, einem Steuerschlangenendzeiger 202,
der auf einen MT-Endindex der Steuerschlange zeigt, einer
Datenmenge 203 sämtlicher übertragener Daten, die sich
durch Aufsummieren der übertragenen Datenmenge zwischen
Kanal und dem Pufferspeicher 106 für alle MTs ergibt und
aus einem Vorlade/Nachschreibkennzeichen 204 aufgebaut.
Die Datenmenge 203 für sämtliche übertragenen Daten wird
durch Aufsummieren der übertragenen Blocklängen jedesmal,
wenn der Prozessor 107 eine Datenübertragung zwischen dem
Kanal und dem Pufferspeicher befiehlt und eine Übertra
gungsendequittung empfängt, gebildet.
Das Vorlade/Nachschreibkennzeichen 204 ist für jeden Pro
zessor vorgesehen und ausgeschaltet, falls zu einem Steuer
zeitpunkt keine MT anzusteuern ist.
Die MT-Verwaltungstabelle 210 in Fig. 2b ist für jede MT
vorgesehen und besteht aus einem MT-Index (MT ID) 211,
einem Steuereinheitindex (Steuereinheit ID) 212, einer
Zustandsinformation 213, der Menge 214 der übertragenen
Daten, der Menge 215 der beim Steuerzeitpunkt übertragenen
Daten, einer Vorlade/Nachschreibdatenmenge 216, einer Da
tenmenge 217 sämtlicher übertragener Daten, wenn eine
Umschaltbedingung erfüllt ist, einer Zeit 218, wenn eine
Umschaltbedingung erfüllt ist, einem Umschaltkennzeichen
219, einem Steuerschlangenvorwärtszeiger 220, einem Steuer
schlangenrückwärtszeiger 221, einer Datenmenge 222 im
Puffer und einem Wartekennzeichen 223.
Der MT ID 211 gibt an, zu welcher MT der beiden MTs 130 und
131 die MT-Verwaltungstabelle 210 gehört. Der Steuereinheit
ID 212 gibt an, welcher Pufferspeicher der Steuereinheiten
100 a und 100 b von derjeweiligen MT benutzt wird.
Die Zustandsinformation 213 gibt an, ob die der Verwal
tungstabelle 210 zugehörige MT in dem Startprozeß, in der
Datenübertragung, im Neupositionierungsvorgang oder im
Zustand eines möglichen Startvorgangs ist. Letzterer
Zustand bedeutet, daß die jeweilige MT auf einen Start
befehl oder dergleichen vom Prozessor eine solche Operation
unmittelbar starten kann.
Die Menge 214 der übertragenen Daten ist die aufsummierte
Menge der für diese MT zwischen dem Kanal und dem Puffer
speicher 106 übertragenen Daten. Dieser Datenmengenwert
wird gelöscht, sobald eine Umschaltbedingung erfüllt ist,
die beim nächsten Steuerzeitpunkt entscheidet, ob das Vor
laden/Nachschreiben für diese MT fortzusetzen ist oder
nicht. Entsprechend gibt die Datenmenge 214 die für die MT
zwischen dem Kanal und dem Pufferspeicher 106 übertragene
Datenmenge, nachdem die vorangehende Umschaltbedingung
erfüllt war, an.
Die Menge 215 der beim Steuerzeitpunkt übertragenen Daten
ist in einem Bereich gespeichert, in den die Datenmenge 214
gerettet wird, wenn die MT 130 angesteuert wird.
Zum Retten wird eine Differenz zwischen der Datenmenge 214
und der Datenmenge 215 beim Steuerzeitpunkt prinzipiell auf
die Vorlade/Nachschreibdatenmenge 216 gesetzt. Weil jedoch
vom Wert der Vorlade/Nachschreibdatenmenge, immer wenn ein
Datentransfer für einen Block zwischen dem Puffer 106 a und
dem jeweiligen MT ausgeführt wurde, die übertragene Daten
menge abgezogen wird, wird die verbleibende Vorlade/Nach
schreibdatenmenge als Vorlade/Nachschreibmenge 216 gesetzt.
Die Datenmenge 203 aller übertragener Daten wird in den
Informationsbereich 217 für die Menge sämtlicher übertrage
ner Daten gerettet, sobald eine Umschaltbedingung erfüllt
ist. Das Retten wird zur Zeit 218 ausgeführt, welche von
der Taktschaltung 112 a abgeleitet ist.
Das Umschaltkennzeichen 219 wird bei Vorliegen einer
Umschaltbedingung in den Ein-Zustand versetzt und beim
nächsten Steuerzeitpunkt in den Aus-Zustand versetzt.
Wenn eine Umschaltbedingung erfüllt ist, werden die Infor
mationsbereiche 214 und 215 beim Steuerzeitpünkt gelöscht.
Der Steuerschlangen-Vorwärtszeiger 220 zeigt auf den Index
MT ID 211 einer vor der durch die Steuerschlange angegebe
nen MT anzusteuernden MT. In ähnlicher Weise zeigt der
Steuerschlangen-Rückwärtszeiger 221 auf den Index 211 einer
nach der laufenden MT anzusteuernden MT.
Die Datenmenge 222 ist die im Pufferspeicher 106a für die
MT gespeicherte Datenmenge. Das Wartekennzeichen 223 wird
in den Ein-Zustand gesetzt, falls eine vom Kanal kommende
Datenübertragungsanforderung eine Leseanforderung ist und
falls keine Daten entsprechend der Leseanforderung vorhan
den sind. Das Wartekennzeichen 223 wird in den Ein-Zustand
versetzt, falls die Anforderung eine Schreibanforderung und
der Puffer 106 voll ist.
Die Fig. 3 bis 8 stellen Flußdiagramme dar, die die
erfindungsgemäße Operation des Prozessors veranschaulichen.
Wie sich aus den Fig. 1 bis 3 ergibt, beginnt der Pro
zessor 107 a der E/A-Vorrichtung gemäß dieser Ausführung auf
den Empfang einer Datenübertragungsanforderung vom Kanal
(Schritt 301), einer Datenübertragungsendenachricht von der
ersten Übertragungsschaltung 103 a (Schritt 303), einer
Datenübertragungsendenachricht von der zweiten Übertra
gungsschaltung 108 a (Schritt 305), einer Endenachricht von
einer MT (Schritt 307), einer Unterbrechung von der Zeit
steuerung 111 (Schritt 309) und eines Aus-Zustands des
Vorlade/Nachschreibkennzeichens 204 (Schritt 311) zu arbei
ten.
Zunächst wird auf den Empfang einer Datenübertragungsanfor
derung vom Kanal (Schritt 301) ein Pufferspeicher ausge
wählt (Schritt 406) und geprüft, ob eine Leseanforderung
vorliegt oder nicht (Schritt 401 gemäß Fig. 4).
Falls eine Leseanforderung vorliegt (Schritt 401) wird
außerdem geprüft, ob die Datenmenge 222 im Puffer Null ist
(Schritt 402).
Falls sie Null ist (Schritt 402), wird das Wartekennzeichen
223 in den Ein-Zustand gesetzt.
Falls die Datenmenge 222 nicht Null ist (Schritt 402), wird
ein Datenübertragungsbefehl an die erste Übertragungsschal
tung 103 a abgegeben (Schritt 405).
Falls die Datenübertragungsanforderung eine Schreibanfor
derung ist (Schritt 401), wird außerdem geprüft, ob der
Puffer 106 a voll ist (Schritt 403).
Wenn der Pufferspeicher 106 a voll ist (Schritt 403), wird
das Wartekennzeichen 223 in den Ein-Zustand gesetzt
(Schritt 404). Falls der Pufferspeicher 106 a nicht voll ist
(Schritt 403), wird ein Datenübertragungsbefehl an die
erste Übertragungsschaltung 103 abgegeben.
Wie Fig. 3 zeigt, wird, falls keine Datenübertragungsanfor
derung vom Kanal vorliegt (Schritt 301) als nächstes ge
prüft, ob eine Datenübertragungsendenachricht von der er
sten Übertragungsschaltung 103 empfangen wurde (Schritt
303).
Falls dies der Fall ist, werden die Informationen 214 und
222 jeweils für die übertragene Datenmenge und die Daten
menge im Pufferspeicher in der MT-Verwaltungstabelle 210
und die Datenmenge 203 aller übertragener Daten der Steuer
verwaltungstabelle 200 aufgefrischt (Schritt 304).
Falls die Prüfung in Schritt 303 ergibt, daß keine Daten
übertragungsendenachricht empfangen wurde, wird zunächst
geprüft, ob eine Datenübertragungsendenachricht von der
zweiten Übertragungsschaltung 108 a empfangen wurde (Schritt
305).
Nach Empfang der Datenübertragungsendenachricht von der
zweiten Übertragungsschaltung 108 a (Schritt 305) werden die
Vorlade/Nachschreib-Menge 216 und die Information 222 für
die im Pufferspeicher stehende Datenmenge gemäß Fig. 5
aufgefrischt (Schritt 501). Als nächstes wird geprüft, ob
die Information 216 für die Vorlade/Nachschreibdatenmenge
Null ist (Schritt 502). Falls diese Information nicht Null
ist (Schritt 502) wird, nachdem ein Pufferspeicher gewählt
wurde, ein Befehl zur Übertragung der nächsten Daten ausge
geben (Schritt 503).
Falls die Information 216 Null ist, wird entschieden, daß
der Vorlade/Nachschreibvorgang beendet ist und der Steuer
schlangenendzeiger 202 und dergleichen aufgefrischt, um die
am Ende der Steuerschlange stehende MT einzutragen (Schritt
504). Dann wird eine Stop- und Neupositionierungsanforde
rung für die MT über die Steuerleitung 115 ausgegeben
(Schritt 505). Außerdem wird geprüft, ob das Wartekennzei
chen 223 der zu der jeweiligen MT zugehörigen Verwaltungs
tabelle 210 eingeschaltet ist oder nicht (Schritt 506).
Falls das Wartekennzeichen im Ein-Zustand ist (Schritt
506), wird ein Übertragungsbefehl an die erste Übertra
gungsschaltung 103 a abgegeben. Falls jedoch das Wartekenn
zeichen im Aus-Zustand ist (Schritt 506), wird die Prozedur
beendet.
Fig. 3 zeigt, daß beim Ausbleiben einer Datenübertragungs
endenachricht von der ersten Übertragungsschaltung 108 a
(Schritt 305) als nächstes bestätigt wird, falls eine Ende
nachricht vom MT empfangen wird (Schritt 307).
Auf den Empfang einer Endenachricht vom MT (Schritt 307)
wird der Inhalt der Nachricht analysiert, wie Fig. 6 zeigt
(Schritt 601).
Wenn der Inhalt eine Endenachricht darstellt (Schritt 601),
wird die Zustandsinformation 213 in einen Zustand geändert,
der eine mögliche Datenübertragung angibt (Schritt 602).
Nachdem ein Pufferspeicher gewählt wurde, wird ein Daten
übertragungsbefehl abgegeben (Schritt 603).
Falls der Inhalt eine Endenachricht eines Neupositionie
rungsvorgangs angibt (Schritt 601), wird die Zustandsinfor
mation 213 in einen Zustand geändert, der einen möglichen
Startvorgang angibt (Schritt 604).
Wie Fig. 3 darstellt, wird als nächstes, falls keine Ende
nachricht vom MT vorliegt (Schritt 307), bestätigt, ob
von der Zeitsteuerung 111 a eine Unterbrechung empfangen
wurde (Schritt 309). Die Unterbrechung von der Zeitsteue
rung 111 a gibt an, daß nun ein Ablaufsteuerzeitpunkt vor
liegt. Zu diesem Steuerzeitpunkt muß entschieden werden, ob
der Vorlade/Nachschreibvorgang für die MT fortgesetzt oder
angehalten wird.
Falls eine Unterbrechung von der Zeitsteuerung 111 a vor
liegt (Schritt 309), wird geprüft, ob das Umschaltkennzei
chen 219, wie Fig. 7 zeigt, eingeschaltet ist (Schritt
701).
Falls das Umschaltkennzeichen eingeschaltet ist (Schritt
701) bedeutet dies, daß eine Umschaltbedingung am voran
gehenden Steuerzeitpunkt erfüllt war. Deshalb ist gegenwär
tig die Ansteuerung der anderen MT möglich. Folglich wird
das Umschaltkennzeichen 219 in den Aus-Zustand versetzt
(Schritt 702) und zum Schritt 803, der in Fig. 8 gezeigt
ist, gesprungen (Schritt 710).
Falls das Umschaltkennzeichen 219 im Aus-Zustand ist
(Schritt 701) wird als nächstes geprüft, ob eine Differenz
zwischen der Menge 214 der übertragenen Daten und der Menge
215 zum Steuerzeitpunkt Null ist (Schritt 703).
Falls die Differenz Null ist (Schritt 703), bedeutet dies,
daß die Datenübertragung für die MT zwischen dem Kanal und
dem Puffer 106 a während der Zeitdauer vom vorangehenden
Steuerzeitpunkt bis zum gegenwärtigen Steuerzeitpunkt nicht
durchgeführt wurde.
Der Vorlade/Nachschreibvorgang wird demgemäß nicht fortge
setzt. In diesem Fall wird die laufende Zeit zur
Umschaltung der Ansteuerung zur anderen MT in die Zelle 218
gerettet, die die Information über die Zeit bei erfüllter
Umschaltbedingung enthält, und die Menge 214 der übertrage
nen Daten sowie die Menge 215 der zum Steuerzeitpunkt
übertragenen Daten werden gelöscht und die Menge 203 der
gesamten übertragenen Daten in die Zelle 217 gerettet
(Schritt 704). Danach geht der Prozeß mit einem Sprung nach
Schritt 803 gemäß Fig. 8 weiter (Schritt 711).
Falls die Differenz zwischen der Datenmenge 214 und der
Datenmenge 215 der übertragenen Daten zum Steuerzeitpunkt
nicht Null ist (Schritt 703), wird die Differenz zu der
Vorlade/Nachschreibmenge 216 addiert (Schritt 705). Danach
wird geprüft, ob eine Umschaltbedingung erfüllt ist
(Schritt 706).
Falls die Umschaltbedingung erfüllt ist (Schritt 706), wird
das Umschaltkennzeichen 219 in den Ein-Zustand gesetzt
(Schritt 707), das Zeitglied 218, das die Zeit bei erfüll
ter Umschaltbedingung angibt und dergleichen fortgeschrie
ben (Schritt 708), und der nächste Ansteuerzeitpunkt be
rechnet und mit diesem Wert die Zeitsteuerung gesetzt
(Schritt 709).
Der Ansteuerzeitpunkt wird auch berechnet und die Zeit
steuerung entsprechend gesetzt, wenn eine Umschaltbedingung
nicht erfüllt ist (Schritt 706).
Falls das Vorlade/Nachschreibkennzeichen 204 im Aus-Zustand
ist, wie Fig. 3 zeigt (Schritt 311), von der Zeitsteuerung
111 eine Unterbrechung empfangen wird (Schritt 309), und
falls eine Ansteuerung der anderen MT gemäß Fig. 7 (Schritt
710) durchgeführt wird, dann wird gemäß Fig. 8 zuerst eine
MT, die vom Steuerschlangenkopfzeiger 201 angegeben ist,
gesucht (Schritt 801) und danach geprüft, ob die Bedingun
gen erfüllt sind, daß die gesuchte MT im Zustand eines
möglichen Startvorgangs ist und daß die Menge der übertra
genen Daten nicht Null sind (Schritt 802).
Falls diese Bedingungen nicht erfüllt sind (Schritt 802),
kann die gesuchte und anzusteuernde MT nicht benutzt wer
den, so daß geprüft wird, ob der Steuerschlangen-Rückwärts
zeiger 221 Null ist, um so eine andere MT festzustellen
(Schritt 803).
Falls sich bei der Prüfung keine Null ergibt (Schritt 803),
wird eine vom Zeigerwert angegebene MT gesucht (Schritt
804) und erneut geprüft, ob sie angesteuert werden darf
(Schritt 802).
Falls der Steuerschlangen-Rückwärtszeiger 221 Null ist
(Schritt 803), bedeutet dies, daß die gesuchte MT die
letzte MT ist, und deshalb keine ansteuerbare MTs mehr
vorhanden sind.
Folglich wird das Vorlade/Nachschreibkennzeichen 204 in
seinen Aus-Zustand versetzt (Schritt 805), um den Prozeß zu
beenden.
Falls die Bedingungen, daß der Zustand 213 der gesuchten MT
einen Zustand eines möglichen Startvorgangs angibt und die
übertragene Datenmenge 214 nicht Null ist, beide erfüllt
sind (Schritt 802), wird die Vorlade/Nachschreibdatenmenge
216 gesetzt und das Kennzeichen 204 für das Vorladen/Nach
schreiben in den Ein-Zustand versetzt (Schritt 806).
Nun wird geprüft, ob eine Umschaltbedingung erfüllt ist
(Schritt 807).
Falls eine Umschaltbedingung erfüllt ist (Schritt 807),
wird das Umschaltkennzeichen 219 in den Ein-Zustand gesetzt
(Schritt 808), und die Zeitinformation 218 bei erfüllter
Umschaltbedingung und dergleichen fortgeschrieben (Schritt
809).
Außerdem wird die MT aus der Steuerschlange herausgenommen,
ein Startprozeßbefehl an die MT abgegeben, die Zustandsin
formation 213 geändert, daß sie einen Startprozeß angibt
(Schritt 810), der folgende Ansteuerzeitpunkt berechnet und
damit die Zeitsteuerung 111 gesetzt (Schritt 811), um den
Prozeß zu beenden.
Obwohl bei dem beschriebenen Ausführungsbeispiel Kassetten
magnetbandgeräte als E/A-Einheiten verwendet wurden, können
auch andere E/A-Einheiten in der E/A-Vorrichtung eingesetzt
werden, die die Relation zwischen den in den Steuereinhei
ten vorgesehenen Pufferspeichern und den E/A-Einheiten fest
zuordnet.
Obwohl nur ein Speicher beim vorliegenden Ausführungsbei
spiel verwendet ist, kann auch eine Mehrspeicheranordnung
zur Erhöhung der Systemzuverlässigkeit verwendet werden. In
diesem Fall wird eine ähnliche Operation wie bei der vor
liegenden Ausführung angewendet, mit der Ausnahme, daß,
falls Information fortzuschreiben ist, die Speicher in
ihrer Vielzahl gleichzeitig fortgeschrieben werden müssen.
Bei dem Ablaufsteuerverfahren können andere E/A-Einheiten in
weitem Umfang eingesetzt werden, falls sie eine gleichför
mige Verteilung der Startprozeßzeit vor einem Datenübertra
gungsvorgang und der Neupositionierungszeit nach der Daten
übertragung haben. Ferner läßt sich das Ablaufsteuerverfah
ren, obwohl beim vorliegenden Ausführungsbeispiel ein Puffer
in jeder Steuereinheit vorgesehen ist, auch effektiv auch in
einer E/A-Vorrichtung einsetzen, die einen einzigen von
allen Steuereinheiten gemeinsam benutzten Pufferspeicher
hat.
Vorteilhaft ist bei der vorliegenden Erfindung, daß die Last
jeder Steuereinheit automatisch ausgeglichen wird.
Außerdem führt jede Steuereinheit in einer E/A-Vorrichtung
mit mehreren E/A-Einheiten und Steuereinheiten, die einen
gemeinsamen Pufferspeicher verwenden, wobei die E/A-Einhei
ten einen Startprozeß oder eine Vorverarbeitung für eine
gewisse Zeitdauer vor einem Datenübertragungsvorgang brau
chen und wobei die Vorverarbeitung Off-line von den Steuer
einheiten ausgeführt wird, eine der Zugriffsbedingung jeder
E/A-Einheit angepaßte Vorlade/Nachschreibansteuerung durch.
Deshalb können die Datenübertragungsleitungen zwischen den
jeweiligen Steuereinheiten und E/A-Einheiten wirksam benutzt
und ein maximaler Durchsatz der E/A-Vorrichtung sicherge
stellt werden.
Claims (6)
1. Daten-Ein/Ausgabevorrichtung mit
mehreren E/A-Einheiten (MT),
mindestens einem Daten-E/A-Pufferspeicher (106 A, 106 B), dem mindestens zwei der E/A-Einheiten zugeteilt sind,
mehreren Steuereinheiten (100 A, 100 B), die zwischen den E/A-Einheiten (MT) und einem CPU-System (10) angeordnet und mit dem Pufferspeicher verbunden sind,
und
einer Speichereinrichtung (120), die mit den Steuerein heiten verbunden ist und Information, die die Steuerein heiten zur Steuerung der E/A-Einheiten benötigen, spei chert,
dadurch gekennzeichnet, daß jede Steuereinheit aufweist:
eine erste Übertragungsschaltung (103 a), die eine gegenseitige Verbindung mit dem CPU-System und dem Pufferspeicher (106 a) für einen gegenseitigen Datentransfer herstellt,
eine zweite Transferschaltung (103 b), die eine gegensei tige Verbindung für einen Datenaustausch zwischen dem Pufferspeicher (106 a) und der E/A-Einheit (MT) her stellt,
eine erste Datenleitung (105 b), die mit einer ersten Übertragungsschaltung (103 b) einer weiteren Steuerein heit (100 b) verbunden ist und diese weitere Steuerein heit (100 b) mit dem Pufferspeicher (106 a) zum gegensei tigen Datenaustausch verbindet,
und
eine zweite Datenleitung (110 a), die mit der zweiten Übertragungsschaltung der weiteren Steuereinheit (106 b) verbunden ist und
(100 b) mit dem Pufferspeicher (106 a) für einen gegensei tigen Datenaustausch verbindet, wodurch jede Steuerein heit einen Datenaustausch mit dem Pufferspeicher über die andere Steuereinheit ausführen kann.
mehreren E/A-Einheiten (MT),
mindestens einem Daten-E/A-Pufferspeicher (106 A, 106 B), dem mindestens zwei der E/A-Einheiten zugeteilt sind,
mehreren Steuereinheiten (100 A, 100 B), die zwischen den E/A-Einheiten (MT) und einem CPU-System (10) angeordnet und mit dem Pufferspeicher verbunden sind,
und
einer Speichereinrichtung (120), die mit den Steuerein heiten verbunden ist und Information, die die Steuerein heiten zur Steuerung der E/A-Einheiten benötigen, spei chert,
dadurch gekennzeichnet, daß jede Steuereinheit aufweist:
eine erste Übertragungsschaltung (103 a), die eine gegenseitige Verbindung mit dem CPU-System und dem Pufferspeicher (106 a) für einen gegenseitigen Datentransfer herstellt,
eine zweite Transferschaltung (103 b), die eine gegensei tige Verbindung für einen Datenaustausch zwischen dem Pufferspeicher (106 a) und der E/A-Einheit (MT) her stellt,
eine erste Datenleitung (105 b), die mit einer ersten Übertragungsschaltung (103 b) einer weiteren Steuerein heit (100 b) verbunden ist und diese weitere Steuerein heit (100 b) mit dem Pufferspeicher (106 a) zum gegensei tigen Datenaustausch verbindet,
und
eine zweite Datenleitung (110 a), die mit der zweiten Übertragungsschaltung der weiteren Steuereinheit (106 b) verbunden ist und
(100 b) mit dem Pufferspeicher (106 a) für einen gegensei tigen Datenaustausch verbindet, wodurch jede Steuerein heit einen Datenaustausch mit dem Pufferspeicher über die andere Steuereinheit ausführen kann.
2. Daten-Ein/Ausgabevorrichtung nach Anspruch 1, dadurch gekenn
zeichnet, daß der Daten-E/A-Pufferspeicher in jeder
Steuereinheit vorgesehen ist.
3. Daten-Ein/Ausgabevorrichtung nach Anspruch 2, dadurch
gekennzeichnet, daß
jede der Steuereinheiten einen Prozessor (107 a, 107 b)
aufweist, der die erste und die zweite Datenübertra
gungsschaltung und den eigenen Pufferspeicher steuert.
4. Daten-Ein/Ausgabevorrichtung nach Anspruch 1,
dadurch gekennzeichnet, daß
eine weitere Steuereinheit während eine der Steuerein
heiten eine E/A-Anforderung von dem CPU-System
für eine gekennzeichnete E/A-Einheit empfängt und zwi
schen dem Pufferspeicher und dem CPU-System ein Daten
austausch durchgeführt wird, eine E/A-Anforderung für
eine andere E/A-Einheit empfangen kann, die diesem
Pufferspeicher unter diesem Datenaustauschvorgang zuge
ordnet ist und diesen Pufferspeicher über die erste
Datenleitung benützt.
5. Daten-Ein/Ausgabevorrichtung nach Anspruch 1, dadurch
gekennzeichnet, daß
eine weitere Steuereinheit, während eine der Steuerein
heiten einen Datenaustausch zwischen einer E/A-Einheit
und dem Pufferspeicher durchführt, einen Datenaustausch
von einer anderen E/A-Einheit, die diesem Pufferspeicher
unter diesem Datenaustauschvorgang zugeteilt ist, indem
dieser Pufferspeicher gemeinsam über die zweite Daten
leitung benutzt wird.
6. Daten-Ein/Ausgabevorrichtung nach Anspruch 1, dadurch gekenn
kennzeichnet, daß die Speichereinrichtung (120) eine
Ablaufsteuerschlange enthält, die die Ausführungsreihen
folge für die Steuereinheiten steuert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62010192A JPS63178360A (ja) | 1987-01-20 | 1987-01-20 | 入出力システム構成方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3801547A1 true DE3801547A1 (de) | 1988-07-28 |
Family
ID=11743423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3801547A Withdrawn DE3801547A1 (de) | 1987-01-20 | 1988-01-20 | Daten-ein/ausgabevorrichtung |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPS63178360A (de) |
DE (1) | DE3801547A1 (de) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0445479A1 (de) * | 1990-03-08 | 1991-09-11 | Bull S.A. | Peripheres Massenspeichersubsystem |
EP0532509A1 (de) * | 1990-03-14 | 1993-03-24 | Micro Technology, Inc. | Puffersystem, um daten dynamisch an mehrere speicherelemente weiterzuleiten |
EP0747822A2 (de) * | 1995-06-07 | 1996-12-11 | Hitachi, Ltd. | Externes Speichersystem mit redundanten Speichersteuerungen |
EP0772127A1 (de) * | 1995-10-30 | 1997-05-07 | Hitachi, Ltd. | Ausfallbeseitigung für Steuergerät in einem externen Speicher |
DE10254615A1 (de) * | 2002-11-22 | 2004-06-17 | Infineon Technologies Ag | Schnittstellenschaltung |
US6931567B2 (en) | 2000-01-31 | 2005-08-16 | Hitachi, Ltd. | Storage system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2936913A1 (de) * | 1978-09-13 | 1980-03-27 | Hitachi Ltd | Verfahren und system zur steuerung von eingabe und ausgabe bei einer prozesssteuerung |
DE3151937C1 (de) * | 1981-12-30 | 1983-04-14 | Siemens AG, 1000 Berlin und 8000 München | Kanalsteuerung für Multiplexkanäle eines Ein-/Ausgabewerkes einer Datenverarbeitungsanlage |
US4546430A (en) * | 1983-07-13 | 1985-10-08 | Sperry Corporation | Control unit busy queuing |
-
1987
- 1987-01-20 JP JP62010192A patent/JPS63178360A/ja active Pending
-
1988
- 1988-01-20 DE DE3801547A patent/DE3801547A1/de not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2936913A1 (de) * | 1978-09-13 | 1980-03-27 | Hitachi Ltd | Verfahren und system zur steuerung von eingabe und ausgabe bei einer prozesssteuerung |
DE3151937C1 (de) * | 1981-12-30 | 1983-04-14 | Siemens AG, 1000 Berlin und 8000 München | Kanalsteuerung für Multiplexkanäle eines Ein-/Ausgabewerkes einer Datenverarbeitungsanlage |
US4546430A (en) * | 1983-07-13 | 1985-10-08 | Sperry Corporation | Control unit busy queuing |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0445479A1 (de) * | 1990-03-08 | 1991-09-11 | Bull S.A. | Peripheres Massenspeichersubsystem |
FR2659460A1 (fr) * | 1990-03-08 | 1991-09-13 | Bull Sa | Sous-systeme peripherique de memoire de masse. |
EP0532509A1 (de) * | 1990-03-14 | 1993-03-24 | Micro Technology, Inc. | Puffersystem, um daten dynamisch an mehrere speicherelemente weiterzuleiten |
EP0532509A4 (en) * | 1990-03-14 | 1994-05-11 | Micro Technology Inc | Buffering system for dynamically providing data to multiple storage elements |
US5386548A (en) * | 1990-03-14 | 1995-01-31 | Mti Technology Corporation | Method for storing data from an external processor in storage devices through buffer devices |
EP0747822A3 (de) * | 1995-06-07 | 1997-04-09 | Hitachi Ltd | Externes Speichersystem mit redundanten Speichersteuerungen |
EP0747822A2 (de) * | 1995-06-07 | 1996-12-11 | Hitachi, Ltd. | Externes Speichersystem mit redundanten Speichersteuerungen |
EP0772127A1 (de) * | 1995-10-30 | 1997-05-07 | Hitachi, Ltd. | Ausfallbeseitigung für Steuergerät in einem externen Speicher |
US6052795A (en) * | 1995-10-30 | 2000-04-18 | Hitachi, Ltd. | Recovery method and system for continued I/O processing upon a controller failure |
US6412078B2 (en) | 1995-10-30 | 2002-06-25 | Hitachi, Ltd. | External storage |
US6931567B2 (en) | 2000-01-31 | 2005-08-16 | Hitachi, Ltd. | Storage system |
DE10254615A1 (de) * | 2002-11-22 | 2004-06-17 | Infineon Technologies Ag | Schnittstellenschaltung |
US7327632B2 (en) | 2002-11-22 | 2008-02-05 | Infineon Technologies Ag | Interface circuit |
Also Published As
Publication number | Publication date |
---|---|
JPS63178360A (ja) | 1988-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69132195T2 (de) | System für verteilte Mehrfachrechnerkommunikation | |
DE68927375T2 (de) | Arbitrierung von Übertragungsanforderungen in einem Multiprozessor-Rechnersystem | |
DE69417874T2 (de) | Verfahren zur aufgabenzuordnung zwischen zwei armen die auf der gleichen magnetplatte auf einem einzelplattenantrieb benutzt werden | |
DE3803759C2 (de) | ||
DE69322985T2 (de) | Ein-/Ausgabesteuerungssystem und Ein-/Ausgabesteuerungsverfahren im System | |
DE2455803C2 (de) | Mehrprozessor-Datenverarbeitungsanlage | |
DE19983589B4 (de) | Hochfrequenz-Pipeline-Entkopplungswarteschlangengestaltung | |
DE3152435C2 (de) | ||
DE1952158A1 (de) | Speicherschutzverfahren und Einrichtung zur Durchfuehrung dieses Verfahrens | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE2523414A1 (de) | Hierarchische speicheranordnung | |
DE2523372B2 (de) | Eingabe-ZAusgabe-Anschlußsteuereinrichtung | |
DE69016978T2 (de) | Sicheres Datenschnellschreibverfahren für Massenspeichereinrichtung und ein dieses Verfahren ausführendes Computersystem. | |
DE2856680A1 (de) | Befehlspuffer fuer ein datenverarbeitungssystem | |
DE2912073C2 (de) | ||
DE19900251B4 (de) | Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals | |
DE3801547A1 (de) | Daten-ein/ausgabevorrichtung | |
DE1774053A1 (de) | Digitaldaten-UEbertragungssystem | |
DE3639395C2 (de) | Informationsverarbeitungs-Vorrichtung | |
DE1808678B2 (de) | Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher | |
DE2817135C3 (de) | ||
DE3787213T2 (de) | Verzögerungsverwaltungsverfahren und -vorrichtung. | |
DE2355814C2 (de) | Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung | |
DE69522369T2 (de) | Datenübertragungssystem und -verfahren in einem Informationsverarbeitungssystem | |
EP0280954B1 (de) | Verfahren zur Steuerung des Datenaustausches zwischen Verarbeitungseinheiten und einem Speichersystem mit Cachespeicher in Datenverarbeitungsanlagen, sowie ein entsprechend arbeitender Cachespeicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal |