DE3801547A1 - Daten-ein/ausgabevorrichtung - Google Patents

Daten-ein/ausgabevorrichtung

Info

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
Application number
DE3801547A
Other languages
English (en)
Inventor
Miho Motoyama
Akira Yamamoto
Hiroyuki Kitajima
Mikito Ogata
Toshifumi Nishimura
Takashi Doi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3801547A1 publication Critical patent/DE3801547A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data 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.
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.
DE3801547A 1987-01-20 1988-01-20 Daten-ein/ausgabevorrichtung Withdrawn DE3801547A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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