DE69535635T2 - Vefahren und Vorrichtung zur Ein-/Ausgabeanforderungsverarbeitung mit einer Mehrzahl von Kanalbussen - Google Patents

Vefahren und Vorrichtung zur Ein-/Ausgabeanforderungsverarbeitung mit einer Mehrzahl von Kanalbussen Download PDF

Info

Publication number
DE69535635T2
DE69535635T2 DE69535635T DE69535635T DE69535635T2 DE 69535635 T2 DE69535635 T2 DE 69535635T2 DE 69535635 T DE69535635 T DE 69535635T DE 69535635 T DE69535635 T DE 69535635T DE 69535635 T2 DE69535635 T2 DE 69535635T2
Authority
DE
Germany
Prior art keywords
port
busy
channel
speed
command
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.)
Expired - Fee Related
Application number
DE69535635T
Other languages
English (en)
Other versions
DE69535635D1 (de
Inventor
Susumu Kawasaki-shi Koyama
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE69535635D1 publication Critical patent/DE69535635D1/de
Publication of DE69535635T2 publication Critical patent/DE69535635T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Description

  • Diese Erfindung bezieht sich auf Verfahren und ein Gerät zum Verarbeiten von Eingabe/Ausgabe-Anforderungen, indem ein Hostcomputer und eine Eingabe/Ausgabe-Steuereinheit durch mehrere Kanalbusse verbunden werden, und insbesondere auf Verfahren und ein Gerät zum Verarbeiten von Eingabe/Ausgabe-Anforderungen durch Verwenden von Kanalbussen mit verschiedenen Übertragungsgeschwindigkeiten.
  • 1 zeigt ein Beispiel eines Eingabe/Ausgabe-(I/O)-Teilsystems unter Verwendung von Magnetbandgeräten. Das Eingabe/Ausgabe-Teilsystem ist aufgebaut aus: einer Magnetbandsteuereinheit 410, die als Eingabe/Ausgabe-Steuereinheit dient; und mehreren Magnetbandlaufwerkeinheiten 412-1 bis 412-4, von denen jede als Eingabe/Ausgabe-Einheit dient. Vorrichtung-IDs #1 bis #4 sind für die Magnetbandlaufwerkeinheiten 412-1 bis 412-4 definiert. Die Magnetbandsteuereinheit 410 hat z. B. zwei Eingabe/Ausgabe-(I/O)-Ports 420-1 und 420-2. Portnummern (A) und (B) sind für die I/O-Ports 420-1 und 420-2 definiert. Kanaleinheiten 416-1 und 416-2 von Hostcomputern 414-1 und 414-2 sind durch Kanalbusse 418-1 und 418-2 mit den I/O-Ports 420-1 und 420-2 verbunden. Kanalnummern (A) und (B) sind für die Kanaleinheiten 416-1 und 416-2 definiert. In der folgenden Beschreibung werden die obigen Komponenten nur als Kanäle (A) und (B) und Ports (A) und (B) ausgedrückt.
  • Nun wird kurz eine Verarbeitungsoperation für eine Eingabe/Ausgabe-Anforderung von dem Hostcomputer beschrieben. Es wird nun beispielsweise angenommen, daß eine Eingabe/Ausgabe-Anforderung wie z. B. eine Schreibanforderung für ein in eine Magnetbandlaufwerkeinheit 412-1 geladenes Magnetband von dem Hostcomputer 414-1 erzeugt wurde. Der Kanal (A) des Hostcomputers 414-1 erzeugt zuerst eine Start-I/O-Anforderung (Aktivierungsanforderung), welche eine Vorrichtungsmaschine Nr. #1 der Magnetbandlaufwerkeinheit 412-1 bezeichnet, für den I/O-Port (A). Als Antwort auf die Start-I/O-Anforderung von dem Port (A) unterscheidet die Magnetbandsteuereinheit 410, ob der Port (B) mit dem Kanal (B) gekoppelt wurde oder nicht. Wenn der Port (B) nicht gekoppelt ist, akzeptiert die Magnetbandsteuereinheit 410 die Start-I/O-Anforderung für den Port (A) und wird sie mit dem Kanal (A) gekoppelt und meldet als Antwort ein normales Ende der Start-I/O-Anforderung und führt einen Übertragungsprozeß einer Befehlssequenz aus.
  • Wenn die Start-I/O-Anforderung von dem Kanal (A) durch den Port (A) empfangen wird, wird, falls der Kanal (B) gekoppelt wurde, eine Belegt-Antwort zurückgegeben. Wenn der Übertragungsprozeß durch die Kopplung des Kanals (B) und des Port (B) beendet ist, wird als Status-Antwort ein Einheitsende von dem Port (B) an den Kanal (B) gemeldet, und sie werden getrennt. In Verbindung mit der Trennung wird auch ein Belegt-Ende, das eine Belegt-Aufhebung angibt, von dem Port (A) an den Kanal (A) gemeldet. Eine Aktivierungsanforderung wird wieder von dem Kanal (A) im Wartezustand an den Port (A) gemäß der Belegt-Antwort durchgeführt.
  • In der Eingabe/Ausgabe-Steuereinheit zum Verarbeiten von Eingabe/Ausgabe-Anforderungen von solch einer Vielzahl von Kanälen ist es notwendig, Dienste für die Eingabe/Ausgabe-Anforderung jedes Kanals äquivalent auszuführen. In dem Fall jedoch, in dem Übertragungsgeschwindigkeiten der Kanalbusse sich unterscheiden oder in Abhängigkeit von dem Kanal, wie z. B. einem elektrischen Kanalbus oder einem optischen Kanalbus, ein verschiedenes Übertragungsprotokoll verwendet wird, besteht eine Tendenz der Art, daß sich die Dienste einseitig auf den Hochgeschwindigkeitskanal konzentrieren, so daß das Problem der Reduzierung der Dienste für den Kanal mit niedriger Geschwindigkeit besteht. Als Systemumgebung liegen in vielen Fällen der Hostcomputer mit hoher Geschwindigkeit und der Hostcomputer mit niedriger/mittlerer Geschwindigkeit gemischt vor. Ferner sind der Hostcomputer mit hoher Geschwindigkeit und der Hostcomputer mit mittlerer/niedriger Geschwindigkeit so verbunden, daß sie über Kreuz gerufen werden können. In solch einem Fall tritt ein Problem auf, das dem obenerwähnten ähnlich ist. Dieser Punkt wird nun mit Verweis auf 1 beschrieben. Dabei wird z. B. angenommen, daß der Kanal (A) ein Kanal mit niedriger Geschwindigkeit ist und der Kanal (B) ein Kanal mit hoher Geschwindigkeit ist. Eine Eingabe/Ausgabe-Steuerung in diesem Fall wird z. B. wie in dem Zeitdiagramm von 2 ausgeführt.
  • Wenn eine Start-I/O-Anforderung 500 von dem Kanal (B) mit hoher Geschwindigkeit an den Port (B) gesendet wird und eine Kopplungs-Abschlußantwort 502 durch das normale Ende erhalten wird, werden Übertragungsprozesse 504 und 506 einer Befehlssequenz zwischen dem Kanal B mit hoher Geschwindigkeit und dem Port (B) ausgeführt. Unter der Annahme, daß nun eine Start-I/O-Port-Anforderung 508 von dem Kanal (A) mit niedriger Geschwindigkeit für den Port (A) während der Periode der Übertragungsprozesse 504 und 506 erzeugt wird, wird, da der Port (B) gekoppelt ist, eine Belegt-Antwort 510 zurückgegeben. Nach Abschluß des Übertragungsprozesses 506 wird ein Einheitsende 512 vom Port (B) zum Kanal (B) mit hoher Geschwindigkeit zurückgegeben, und die Kopplung wird getrennt. In Verbindung mit dem Einheitsende 512 wird ein Belegt-Ende 514, das die Belegt-Aufhebung anzeigt, anschließend von dem Port (A) zum Kanal (A) mit niedriger Geschwindigkeit im Wartezustand der Belegt-Aufhebung zurückgegeben. Wenn nun angenommen wird, daß die nächste Eingabe/Ausgabe-Anforderung von dem Kanal (B) mit hoher Geschwindigkeit erzeugt wird, der das Einheitsende 512 empfing, wird sofort eine Start-I/O-Anforderung 516 als Aktivierungsanforderung von dem Kanal (B) mit hoher Geschwindigkeit an den Port (B) ausgegeben. Nachdem eine Kopplungs-Abschlußantwort 518 erteilt wurde, werden Übertragungsprozesse 520 und 522 wieder ausgeführt. Andererseits erkennt der Kanal (A) mit niedriger Geschwindigkeit, der das Belegt-Ende 514 empfing, die Belegt-Aufhebung und erzeugt eine Start-I/O-Anforderung 524 für den Port (A). Es dauert jedoch eine Zeit, bis die Start-I/O-Anforderung 524 von dem Port (A) empfangen wird, nachdem das Belegt-Ende 514 ausgegeben wurde. Innerhalb dieser Zeitspanne ist der Port (B) durch die Start-I/O-Anforderung 516 von dem Kanal (B) mit hoher Geschwindigkeit bereits gekoppelt. Daher wird für die Start-I/O-Anforderung 524 von dem Kanal (A) mit niedriger Geschwindigkeit wieder eine Belegt-Antwort 526 von dem Port (A) ausgegeben, und der Kanal (A) mit niedriger Geschwindigkeit wartet wieder auf eine Belegt-Aufhebung. Solange Eingabe/Ausgabe-Anforderungen an den Kanal (B) mit hoher Geschwindigkeit kontinuierlich ausgeführt werden, wird daher ein Schleifenprozeß aus Start-I/O-Anforderung, Belegt-Antwort und Belegt-Ende bei dem Kanal (A) mit niedriger Geschwindigkeit wiederholt. Die Eingabe/Ausgabe-Anforderung wird nicht akzeptiert, und die Dienste verschlechtern sich. Da solch ein Schleifenprozeß über eine lange Zeit hinweg ausgeführt wird, besteht im schlimmsten Fall das Problem des Auftretens einer Prüfbedingung, so daß der Hostcomputer des Kanals (A) mit niedriger Geschwindigkeit beurteilt, daß in der Kanaleinheit oder dem Eingabe/Ausgabe-Teilsystem irgendeine Anormalität aufgetreten ist. Je nach Steuerverfahren ist, wenn die Eingabe/Ausgabe-Anforderung von dem Kanal mit hoher Geschwindigkeit kontinuierlich ausgeführt wird, auch keine Zeit, um mit dem Belegt-Ende in Verbindung mit dem Ende der Kopplung auf der Seite des Kanals mit hoher Geschwindigkeit für den Kanal (A) mit niedriger Geschwindigkeit zu antworten. In solch einem Fall kann der Kanal mit niedriger Geschwindigkeit in dem eine Belegt-Aufhebung abwartenden Zustand das Belegt-Ende nicht erhalten, selbst wenn er eine lange Zeit auf die Belegt-Aufhebung wartet. Es tritt eine Situation der Art auf, daß das Warten auf eine Belegt-Aufhebung verstreicht und die Eingabe/Ausgabe-Anforderung des Kanals mit niedriger Geschwindigkeit als Fehler beendet wird. Als Verfahren zum Lösen des obigen Problems, daß sich die Dienste des Eingabe/Ausgabe-Steuergeräts einseitig auf einen bestimmten Kanal konzentrieren, wie oben erwähnt, gibt es ein Verfahren, bei dem die Priorität der Route in Zeitmultiplex- oder zeit geteilter Weise so geändert wird, daß die Dienste für jeden Eingabe/Ausgabe-Port äquivalent verteilt werden.
  • 3 zeigt den Fall, wenn acht Kanäle von Ports (A bis H) für die Eingabe/Ausgabe-Steuereinheit vorgesehen sind. Prioritäten werden den Ports (A bis H) durch Takte gemäß dieser Reihenfolge sequentiell zugeordnet. Es wird nun z. B. angenommen, daß zur Zeit t0 Aktivierungsanforderungen für alle Eingabe/Ausgabe-Ports (A bis H) vorliegen. In diesem Fall gibt es einen Takt in einem Schlitz des I/O-Ports (C), wird die Priorität eingestellt und wird die Kopplung am I/O-Port (C) akzeptiert. Bezüglich der anderen I/O-Ports wird automatisch die Belegt-Antwort gemeldet. Unter der Annahme nun, daß zur Zeit t0 zwei Aktivierungsanforderungen der I/O-Ports (B und E) vorliegen, wird die Kopplung des I/O-Port (E) für einen Schlitz des I/O-Port (E) zur Zeit t1 akzeptiert, wenn der Takt sich ändert. Bezüglich des I/O-Port (B) wird automatisch die Belegt-Antwort gemeldet. Solch ein Verfahren zum zeitgeteilten Ändern der Priorität der Route ist in dem Fall effektiv, wenn jeder Kanalbus die gleiche Leistungsfähigkeit und auch das gleiche Protokoll wie z. B. ein elektrischer Kanalbus oder optischer Kanalbus hat. In dem Fall jedoch, wenn die Übertragungsgeschwindigkeiten verschieden oder die Protokolle verschieden sind, wobei ein elektrischer Kanal und ein optischer Kanal gemischt existieren, ist das obige Verfahren so nicht effektiv.
  • EP 287 301 (Tandem Computers Inc.) offenbart ein vielseitiges Computersystem mit einer Vielzahl von Hostprozessoren, Systembussen und I/O-Ports, geht aber nicht die Frage des Ausgleichs der Nutzung von Kanälen mit verschiedenen Geschwindigkeiten an.
  • Ein Aspekt der vorliegenden Erfindung ist eine Vorrichtung, wie sie in dem unabhängigen Anspruch 1 definiert ist. Ein anderer Aspekt der Erfindung ist ein Verfahren, wie es in dem unabhängigen Anspruch 4 definiert ist. Weitere Ausfüh rungsformen der Erfindung sind in den jeweilig beigefügten abhängigen Ansprüchen spezifiziert.
  • Die obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung mit Verweis auf die Zeichnungen ersichtlicher.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm eines herkömmlichen Geräts;
  • 2 ist ein Zeitdiagramm eines Umlaufs eines Belegt-Einheitsendes, der bei einer herkömmlichen Eingabe/Ausgabe-Steuerung auftritt;
  • 3 ist ein erläuterndes Diagramm einer herkömmlichen Steuerung, bei der ein mit einem Takt synchronisierter Zeitschlitz einem Eingabe/Ausgabe-Port zugeordnet wird;
  • 4 ist ein Blockdiagramm eines Systems, für das die Erfindung verwendet wird;
  • 5 ist ein Blockdiagramm einer Eingabe/Ausgabe-Steuereinheit;
  • 6 ist ein Blockdiagramm der ersten Form eines I/O-Systems;
  • 7 ist ein Zeitdiagramm für einen Prozeß, um eine Aktivierungszeit in 6 zu messen;
  • 8 ist ein Zeitdiagramm für einen Eingabe/Ausgabe-Prozeß in 6;
  • 9 ist ein Flußdiagramm für den Eingabe/Ausgabe-Prozeß in 6;
  • 10 ist ein Flußdiagramm für einen Prozeß, um die Aktivierungszeit in 6 zu messen;
  • 11 ist ein Flußdiagramm für einen Prozeß, um einen Wartezeit-Zeitgeber in 6 einzustellen;
  • 12 ist ein Blockdiagramm einer Abwandlung der ersten Form;
  • 13 ist ein Blockdiagramm der zweiten Form des I/O-Systems;
  • 14 ist ein Flußdiagramm für einen Eingabe/Ausgabe-Prozeß in 13;
  • 15 ist ein Blockdiagramm der dritten Form des I/O-Systems;
  • 16 ist ein Flußdiagramm für einen Eingabe/Ausgabe-Prozeß in 15;
  • 17 ist ein Blockdiagramm einer vierten Form des I/O-Systems;
  • 18 ist ein Zeitdiagramm für einen Eingabe/Ausgabe-Prozeß in 17;
  • 19 ist ein Flußdiagramm für den Eingabe/Ausgabe-Prozeß in 17;
  • 20 ist ein Blockdiagramm einer fünften Form des I/O-Systems;
  • 21 ist ein Zeitdiagramm für einen Eingabe/Ausgabe-Prozeß in 20;
  • 22 ist ein Flußdiagramm für den Eingabe/Ausgabe-Prozeß in 20;
  • 23 ist ein Blockdiagramm einer Abwandlung der fünften Form des Systems;
  • 24 ist ein Blockdiagramm einer anderen Abwandlung der fünften Form;
  • 25 ist ein Blockdiagramm einer Form des I/O-Systems, die die vorliegende Erfindung verkörpert; und
  • 26 ist ein Zeitdiagramm für einen Eingabe/Ausgabe-Prozeß in 25.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • [Systemaufbau]
  • 4 zeigt einen Systemaufbau als Hintergrund für die Erfindung, wobei Magnetbandgeräte als Laufwerkeinheiten genutzt werden. In 4 sind acht Magnetbandlaufwerkeinheiten 12-1 bis 12-8 über eine Vorrichtungsschnittstelle (I/F) 25 mit einer Magnetbandsteuereinheit 10 verbunden, die als Eingabe/Ausgabe-(I/O)-Steuereinheit dient. Laufwerk-IDs #1 bis #8 sind für die Magnetbandlaufwerkeinheiten 12-1 bis 12-8 voreingestellt. In der Ausführungsform weist die Magnetbandsteuereinheit 10 acht Eingabe/Ausgabe-Ports 20-1 bis 20-8 auf. Portnummern (A bis H) sind für die I/O-Ports 20-1 bis 20-8 definiert. In der folgenden Beschreibung werden die Portnummern (A bis H) einfach als Ports (A bis H) ausgedrückt. Kanaleinheiten 16-1 bis 16-8, die für Hostcomputer 14-1 bis 14-8 vorgesehen sind, sind jeweilig über Kanalbusse 18-1 bis 18-8 mit den Ports (A bis H) der Magnetbandsteuereinheit 10 verbunden. Kanalnummern (A bis H) sind für die Kanaleinheiten 16-1 bis 16-8 definiert. In der folgenden Beschreibung werden die Kanalnummern (A bis H) einfach als Kanäle (A bis H) ausgedrückt. Die Kanäle (A bis H) der Hostcomputer 14-1 bis 14-8 und die Kanalbusse 18-1 bis 18-8 zwischen den Ports (A bis H) der Magnetbandsteuereinheit 10 weisen jeweilig spezielle Übertragungsgeschwindigkeiten auf. Zum Beispiel ist der den Kanal (A) und den Port (A) verbindende Kanalbus 18-1 ein elektrischer Kanalbus, und seine Übertragungsgeschwindigkeit ist auf 4,5 MBs eingestellt. Eine Block-Multiplex-Kanalschnittstelle (BMC), die von IBM Corporation hergestellt wird, kann als elektrischer Kanalbus 18-1 verwendet werden. Der den Kanal (B) und den Port (B) verbindende Kanalbus 18-2 ist z. B. ein optischer Kanalbus, und dessen Übertragungsgeschwindigkeit ist bis zu 9 MBs hoch. Ein ESCON-Kanal, der von IBM Corporation hergestellt wird, kann z. B. als optischer Kanalbus 18-2 verwendet werden. Bezüglich der verbleibenden Kanalbusse 18-3 bis 18-8 werden Kanalbusse verwendet, die jeweils eine spezielle Übertragungsgeschwindigkeit haben. Es reicht aus, zumindest zwei Kanalbusse mit einer hohen Übertragungsgeschwindigkeit und einer niedrigen Übertragungsgeschwindigkeit vorzusehen. Zum Beispiel bildet der elektrische Kanalbus 18-1 mit der Übertragungsgeschwindigkeit von 4,5 MBs den Kanalbus mit niedriger Geschwindigkeit. Auf der anderen Seite bildet der den optischen Kanalbus nutzende Kanalbus 18-2 den Kanalbus mit hoher Geschwindig keit, weil die Übertragungsgeschwindigkeit 9 MBs beträgt. In der folgenden Beschreibung wird der Kanal (A) des Kanalbusses 18-1 mit niedriger Geschwindigkeit als Kanal mit niedriger Geschwindigkeit bezeichnet. Der Kanal (B) des Kanalbusses 18-2 mit hoher Geschwindigkeit wird als Kanal mit hoher Geschwindigkeit bezeichnet. Bezüglich der Ports (A und B) wird ähnlich auch der Port (A) als Eingabe/Ausgabe-Port mit niedriger Geschwindigkeit bezeichnet, und der Port (B) wird als Eingabe/Ausgabe-Port mit hoher Geschwindigkeit bezeichnet.
  • 5 zeigt einen Hardwareaufbau der Magnetbandsteuereinheit 10 in 4. Die Magnetbandsteuereinheit 10 ist aus einem Host-Schnittstellenteil 24, einem Pufferspeicher 26, einem Formatiererteil 28 und einer Kommunikationsinformationsspeichertabelle 30 aufgebaut. Der Host-Schnittstellenteil 24 weist eine MPU 32, eine Firmware 34 und einen Schnittstellenprozessor 36 auf. Die Ports (A bis H), die durch die Eingabe/Ausgabe-Porteinheiten 20-1 bis 20-8 realisiert sind, mit denen die Kanalbusse von den Hostcomputern verbunden sind, sind für den Schnittstellenprozessor 36 vorgesehen. Eine MPU 38, Firmware 40 und ein Formatprozessor 42 sind für den Formatiererteil 28 vorgesehen. Eingabe/Ausgabe-Steuerungen werden durch die MPU 32, Firmware 34 und den Schnittstellenprozessor 36 ausgeführt, die für den Host-Schnittstellenteil 24 vorgesehen sind. Daten, welche zwischen den Hostcomputern und den Magnetbandlaufwerkeinheiten gesendet und empfangen werden, werden in dem Pufferspeicher 26 vorübergehend gespeichert. Durch die Datenübertragung über den Pufferspeicher 26 werden die Übertragung zwischen der I/O-Steuereinheit 10 und dem Kanal sowie die Übertragung zwischen der I/O-Steuereinheit 10 und der Seite der Magnetbandlaufwerkeinheiten asynchron ausgeführt. Wenn eine Aktivierungsanforderung für einen der Ports (A bis H) des Schnittstellenprozessors 36 empfangen wird, akzeptiert die für den Host-Schnittstellenteil 24 vorgesehene MPU 32 die Aktivierungsanforderung unter der Bedingung, daß die anderen Ports nicht gekoppelt sind, koppelt mit dem Kanalbus und führt einen Übertragungsprozeß eines Kanalbefehlswortes basierend auf einer Eingabe/Ausgabe-Anforderung von dem Hostcomputer aus. Der Kanalbefehl enthält im allgemeinen eine Befehlskettung wie z. B. kontinuierliche verschiedene Befehlsworte, um eine Reihe von Befehlssequenzen zu realisieren, und eine Datenkettung, um einen Lesebefehl oder einen Schreibbefehl wiederholt zu übertragen, um die Daten auf Blockeinheitsbasis zu übertragen.
  • Jedesmal, wenn die Datenübertragung durch den Kanalbefehl einmal ausgeführt ist, erzeugt die Kanaleinheit eine Start-I/O-Anforderung (Start-I/O-Befehl) für den entsprechenden Port der Magnetbandsteuereinheit 10, wodurch eine Aktivierungsanforderung ausgeführt wird. Zur Zeit der Aktivierungsanforderung wird gewöhnlich eine der Laufwerk-IDs #1 bis #8 der Magnetbandlaufwerkeinheiten bezeichnet. Der Schnittstellenprozessor 36 überwacht die Start-I/O-Anforderungen von den Kanalbussen für die Ports (A bis H). Wenn die Start-I/O-Anforderung erkannt wird, gibt der Schnittstellenprozessor 36 eine Kopplungs-Abschlußantwort, die ein normales Ende für den Start-I/O-Befehl angibt, unter der Bedingung zurück, daß die anderen Ports nicht gekoppelt sind. In dem Fall, wenn ein anderer Port gekoppelt ist, wenn die Start-I/O-Anforderung empfangen wird, gibt der Schnittstellenprozessor 36 grundsätzlich eine Belegt-Antwort zurück. Die MPU 32 decodiert den Befehl von der Kanalseite, der über den Schnittstellenprozessor 36 empfangen wurde, und schreibt verschiedene Arten von Informationen wie z. B. Parameter und dergleichen, welche notwendig sind, um die Magnetbandlaufwerkeinheiten zu steuern, in die Kommunikationsinformationsspeichertabelle 30. Die Daten, die übertragen werden, um die Magnetbandlaufwerkeinheiten zu beschreiben, werden in den Pufferspeicher 26 geschrieben. Die MPU 38 des Formatiererteils 28 verweist asynchron mit der MPU 32 zyklisch auf die Kommunikationsinformationsspeichertabelle 30. Wenn die zur Steuerung der Magnetbandlaufwerkeinheiten oder Datenübertragung notwendigen Informationen erkannt werden, weist die MPU 38 die Verarbeitungsoperation für verschiedene Arten von Steuerungen und die Datenübertragung für die Magnetbandlaufwerkeinheit mit der bezeichneten Laufwerk-ID über den Formatprozessor 42 an. Die MPU 38 detektiert zyklisch Zustände der Magnetbandlaufwerkeinheiten 12-1 bis 12-8 und schreibt die Detektionsergebnisse in die Kommunikationsinformationsspeichertabelle 30. Wenn ein Abfragebefehl, um die Zustände der Magnetbandlaufwerkeinheiten zu bestätigen, von dem Host-Schnittstellenteil 24 von der Kanalseite empfangen wird, erkennt daher die MPU 32 die Zustände der Magnetbandlaufwerkeinheiten durch Bezugnahme auf die Kommunikationsinformationsspeichertabelle 30 und kann auf einen Statusbefehl antworten. Ferner ist für den Schnittstellenprozessor 36 eine Funktion, wie z. B. ein Komprimier- und Expandierteil zum Komprimieren der Übertragungsdaten vom Kanalbus, zum anschließenden Schreiben der komprimierten Übertragungsdaten in den Pufferspeicher 26, zum Expandieren der aus der Magnetbandlaufwerkeinheit zum Pufferspeicher 26 ausgelesenen komprimierten Lesedaten in die ursprünglichen Daten und zum Senden der expandierten ursprünglichen Daten an den Kanalbus vorgesehen. Was den Datenkomprimier- und Expandierprozeß anbelangt, kann durch ein Bit-Flag eines Einstellbefehls, der bei der ersten einer Lese- oder Schreibanforderung gesendet wird, bestimmt werden, ob die Daten expandiert oder komprimiert werden oder verarbeitet werden wie sie sind. Andererseits sind eine CRT 35 und eine Tastatur 45 als optionale Vorrichtungen über eine Vorrichtungsschnittstelle 25 vorgesehen. Der Bediener kann folglich von außen verschiedene Arten von Parametern einstellen, die für die Eingabe/Ausgabe-Steuerungen der MPU 32 des Host-Schnittstellenteils 24 notwendig sind. Steuerparameter der MPU 32 können ebenfalls eingestellt werden, indem eine CRT und eine Tastatur auf der Hostcomputerseite verwendet werden.
  • [Lernprozeß]
  • 6 zeigt eine Ausführungsform der Stammanmeldung und bezieht sich auf ein Beispiel in dem Fall, wenn zwei Ports (A und B) für die Magnetbandsteuereinheit 10 vorgesehen sind. Ein Routen-Steuerteil 46 ist für die Magnetbandsteuereinheit 10 vorgesehen und dient als Kanalschalter, um auf der Basis einer Aktivierungsanforderung von dem Kanalbus an den Port (A) oder Port (B) einen der Ports auszuwählen. Zeitgeber 52 und 58 sind für die Ports (A bzw. B) vorgesehen. Die Zeitgeber 52 und 58 werden aktiviert, wenn von den Ports (A und B) ein Belegt-Ende an die Kanalbusse als Antwort gemeldet wird, und werden gestoppt, wenn die Aktivierungsanforderungen von den Kanalbussen danach empfangen werden. Genauer gesagt ist die Aktivierungszeit, welche durch jeden der Zeitgeber 52 und 58 gemessen wird, eine Zeit von einem Zeitpunkt an, wenn das Belegt-Ende in Verbindung mit dem Ende der Kopplung der anderen Ports als Antwort gemeldet wird, nachdem die Belegt-Antwort an den Kanalbus erfolgte, bis zu einem Zeitpunkt, wenn die Aktivierungsanforderung von dem Kanal in einem auf eine Belegt-Aufhebung wartenden Zustand, der das Belegt-Ende empfing, durch den Port empfangen wird. Die Aktivierungszeit selbst stellt daher eine Zeit dar, zu der der Kanal ein Einheitsende in dem auf eine Belegt-Aufhebung wartenden Zustand empfängt und wieder eine Aktivierungsanforderung erzeugt. Die Aktivierungszeit hängt von einer Übertragungsgeschwindigkeit des Kanalbusses ab. Der Port (A) ist ein Port mit niedriger Geschwindigkeit, der mit dem Kanalbus 18-1 mit niedriger Geschwindigkeit verbunden ist. Der Port (B) ist ein Port mit hoher Geschwindigkeit, der mit dem Kanalbus 18-2 mit hoher Geschwindigkeit verbunden ist. Daher ist eine Aktivierungszeit T1 des Port (A) mit niedriger Geschwindigkeit, die durch den Zeitgeber 52 gemessen wird, länger als eine Aktivierungszeit T2 des Port (B) mit hoher Geschwindigkeit, die durch den Zeitgeber 58 gemessen wird. Ein Aktivierungszeitmessungs-Speicherteil 48 speichert die Aktivierungszeit T1 des Port (A) mit niedriger Geschwindigkeit und die Aktivierungszeit T2 des Port (B) mit hoher Geschwindigkeit, welche durch die Zeitgeber 52 und 58 gemessen wurden. Ferner ist für die Magnetbandsteuereinheit 10 ein Belegt-Verhältnismessungs-Speicherteil 50 vorgesehen. Der Belegt-Verhältnismessungs-Speicherteil 50 berechnet und speichert Belegt-Verhältnisse R1 und R2 bei allen Ports (A und B), indem Zählwerte eines Aktivierungszahl-Zählers 54 und eines Belegt-Zahl-Zählers 56, die für den Port (A) vorgesehen sind, bzw. Zählwerte eines Aktivierungszahl-Zählers 60 und eines Belegt-Zahl-Zählers 62, die für den Port (B) vorgesehen sind, verwendet werden. Wenn z. B. der Port (A) betrachtet wird, wird der Aktivierungszahl-Zähler 54 jedesmal hochgezählt, wenn eine Aktivierungsanforderung von dem Kanalbus 18-1 an den Port (A) existiert, und dessen Zählwert zeigt die Gesamtzahl von Aktivierungsanforderungen während der Operation für den Port (A) an. Der Belegt-Zahl-Zähler 56 zählt die Zahl von Malen einer Belegt-Antwort, die von dem anderen Port (B) ausgeführt wurde, welcher schon gekoppelt war, unter den Aktivierungsanforderungen an den Port (A). Jedesmal wenn der Aktivierungszahl-Zähler 54 hochzählt, nämlich wann immer es eine Aktivierungsanforderung gibt, teilt der Belegt-Verhältnismessungs-Speicherteil 50 den Zählwert des Belegt-Zahl-Zählers 56 durch den Zählwert des Aktivierungszahl-Zählers 54, wodurch das Belegt-Verhältnis R1 des Port (A) berechnet wird. Dieser Punkt soll ebenfalls ähnlich Anwendung finden für den Aktivierungszahl-Zähler 60 und den Belegt-Zahl-Zähler 62 des Port (B). Jedesmal, wenn die Aktivierungsanforderung empfangen wird, wird der Wert des Belegt-Zahl-Zählers 62 durch den Wert des Aktivierungszahl-Zählers 60 geteilt, wodurch das Belegt-Verhältnis R2 des Port (B) berechnet und gespeichert wird. Der Aktivierungszeitmessungs-Speicherteil 48 speichert übrigens nicht die Aktivierungszeiten T1 und T2 der Ports (A und B), die von den Zeitgebern 52 und 58 gemessen wurden, wie sie sind, sondern speichert sie getrennt nach einer maximalen Zeit Tmax, einer minimalen Zeit Tmin und einer durchschnittlichen Zeit Tav, weil die Aktivierungszeit in Abhängigkeit von der Situation zu dieser Zeit verschieden ist. Wenn die maximale Zeit Tmax gespeichert wird, wird die maximale Zeit Tmax, die bis zur vorhergehenden Zeit erhalten wurde, mit einer zu dieser Zeit erhaltenen Aktivierungszeit (T) verglichen. Wenn die Aktivierungszeit (T) größer ist, wird die bisherige maximale Zeit Tmax aktualisiert. Wenn die Aktivierungszeit (T) kleiner ist, wird die bisherige maximale Zeit Tmax so gelassen. Die minimale Zeit Tmin wird ebenfalls in einer zu der obenerwähnten ähnlichen Art und Weise aktualisiert. Die durchschnittliche Zeit Tav kann erhalten werden, indem die Summe der Aktivierungszeiten bis zum gegenwärtigen Zeitpunkt durch die Anzahl der Male der Aktivierungsanforderungen geteilt wird. Wenn die Summe aller Aktivierungszeiten erhalten wird, ist es, da eine Datenbitlänge zu lang ist, wünschenswert, einen gleitenden Durchschnitt von jeder vorbestimmten Zahl von Aktivierungszeiten zu berechnen. Wenn die Aktivierungsanforderung an den Port (B) mit hoher Geschwindigkeit empfangen wird, führt der Routen-Steuerteil 46 eine Kopplungs-Abschlußantwort nicht sofort aus, selbst wenn der Port (A) in einem Nichtkopplungszustand ist, sondern vergleicht die Belegt-Verhältnisse R1 und R2 der Ports (A und B) und führt eine Routensteuerung aus, um die Belegt-Verhältnisse R1 und R2 bezüglich des Belegt-Verhältnismessungs-Speicherteils 50 auszugleichen. Im allgemeinen ist das Belegt-Verhältnis R1 auf der Seite des Port (A) mit niedriger Geschwindigkeit groß, und das Belegt-Verhältnis R2 des Port (B) mit hoher Geschwindigkeit ist klein. Daher wird aus dem Aktivierungszeitmessungs-Speicherteil 48 die Aktivierungszeit T1 des Port (A) mit niedriger Geschwindigkeit mit einem großen Belegt-Verhältnis ausgelesen. Für die Aktivierungszeit T1 des Port (A) mit niedriger Geschwindigkeit, die ausgelesen wurde, stellt der Port (B) eine Wartezeit auf die Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit ein. Wenn es während der Wartezeit T1 der Aktivierungsanforderung an den Port (A) eine Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit gibt, koppelt der Routen-Steuerteil 46 den Port (A) mit dem Kanalbus 18-1 und führt den Übertragungsprozeß aus und gibt die Belegt-Antwort an den Port (B) mit hoher Geschwindigkeit zurück, für den die Aktivierungsanforderung schon ausgeführt wurde. Die Seite des Port (A) mit niedriger Geschwindigkeit mit dem hohen Belegt-Verhältnis akzeptiert somit vorzugsweise die Aktivierungsanforderung und kann das Belegt-Verhältnis mit dem des Port (B) mit hoher Geschwindigkeit fast ausgleichen. Da die maximale Zeit Tmax, die durchschnittliche Zeit Tav und die minimale Zeit Tmin in den Aktivierungszeitmessungs-Speicherteil 48 als eine Aktivierungszeit T1 des Port (A) mit niedriger Geschwindigkeit gespeichert wurden, wird die Wartezeit der Aktivierungsanforderung für den Port (A) mit niedriger Geschwindigkeit wie folgt z. B. aus der Beziehung zwischen den Belegt-Verhältnissen R1 und R2 der Ports (A und B) eingestellt.
    • I. Wenn R1 > R2 gilt, wird die maximale Zeit Tmax als Wartezeit eingestellt.
    • II. Wenn R1 = R2 gilt, wird die durchschnittliche Zeit Tav als Wartezeit eingestellt.
    • III. Wenn R1 < R2 gilt, wird die minimale Zeit Tmin als Wartezeit eingestellt.
  • 7 ist ein Zeitdiagramm für einen Aktivierungszeit-Meßprozeß in 6. Wenn nun der Hostcomputer 14-2 eine Start-I/O-Anforderung 100 an den Port (B) erzeugt, wird, da der Port (A) in diesem Fall nicht genutzt wird, eine Kopplungs-Abschlußantwort 102, die das normale Ende anzeigt, zurückgegeben, und der Kanal (B) und der Port (B) führen Übertragungsprozesse 104 und 106 aus. Nimmt man nun an, daß während der Zeitspannen der Übertragungsprozesse 104 und 106 eine Start-I/O-Anforderung 108 von dem Kanal (A) mit niedriger Geschwindigkeit erzeugt wird, wird von dem Port (A) mit niedriger Geschwindigkeit eine Belegt-Antwort 110 zurückgege ben. Nach Abschluß des Übertragungsprozesses wird ein Einheitsende 112 von dem Port (B) mit hoher Geschwindigkeit an den Kanal (B) mit hoher Geschwindigkeit gemeldet. Anschließend wird ein Belegt-Ende 114 von dem Port (A) mit niedriger Geschwindigkeit an den Kanal (A) mit niedriger Geschwindigkeit in dem auf eine Belegt-Aufhebung wartenden Zustand ausgegeben. Als Antwort auf das Belegt-Ende 114 erkennt der Kanal (A) mit niedriger Geschwindigkeit die Belegt-Aufhebung und erzeugt eine Start-I/O-Anforderung 116. Der Zeitgeber 52 in 6 mißt die Zeit T1 von der Antwort mit dem Belegt-Ende 114 am Port (A) mit niedriger Geschwindigkeit bis zum Empfang der Start-I/O-Anforderung 116 als Aktivierungszeit. Der Port (A) mit niedriger Geschwindigkeit, der die Start-I/O-Anforderung 116 empfing, erzeugt eine Kopplungs-Abschlußantwort 118, die das normale Ende anzeigt. Beim Kanal (A) mit niedriger Geschwindigkeit und Port (A) mit niedriger Geschwindigkeit werden Übertragungsprozesse 120 und 122 ausgeführt. Nimmt man nun an, daß eine Start-I/O-Anforderung 124 von dem Kanal (B) mit hoher Geschwindigkeit während der Zeitspannen der Übertragungsprozesse 120 und 122 erzeugt wird, wird von dem Port (B) mit hoher Geschwindigkeit eine Belegt-Antwort 126 zurückgegeben. Nach Abschluß des Übertragungsprozesses wird ein Einheitsende 128 von dem Port (A) mit niedriger Geschwindigkeit an den Kanal (A) mit niedriger Geschwindigkeit gemeldet. Anschließend wird von dem Port (B) mit hoher Geschwindigkeit ein Belegt-Ende 130 an den Kanal (B) mit hoher Geschwindigkeit in dem auf eine Belegt-Aufhebung wartenden Zustand ausgegeben. Als Antwort auf das Belegt-Ende 130 erkennt der Kanal (B) mit hoher Geschwindigkeit die Belegt-Aufhebung und erzeugt eine Start-I/O-Anforderung 132. Der Zeitgeber 58 in 6 mißt eine Zeit T2 von der Antwortmeldung des Belegt-Endes 130 am Port (B) mit hoher Geschwindigkeit bis zum Empfang der Start-I/O-Anforderung 132 als Aktivierungszeit.
  • 8 zeigt Eingabe/Ausgabe-Steuerungen durch den Routen-Steuerteil 46 unter Verwendung einer Speicherzeit des Aktivierungszeitmessungs-Speicherteils 48 in 6. Nimmt man nun an, daß eine Start-I/O-Anforderung 142 von dem Kanal (B) mit hoher Geschwindigkeit an den Kanal (B) mit hoher Geschwindigkeit erzeugt wird und es eine Start-I/O-Anforderung 148 vom Kanal (A) mit niedriger Geschwindigkeit während Zeitperioden gibt, während derer Übertragungsprozesse 145 und 146 gemäß einer Kopplungs-Abschlußantwort 144 ausgeführt werden, wird eine Belegt-Antwort 150 erteilt. Wenn die Übertragungsprozesse 145 und 146 in dem auf eine Belegt-Aufhebung wartenden Zustand des Kanals (A) mit niedriger Geschwindigkeit beendet werden und ein Einheitsende 152 ausgegeben wird und ein Belegt-Ende 154 von dem Port (A) mit niedriger Geschwindigkeit in Verbindung damit erzeugt wird, wird eine auf der Aktivierungszeit T1 basierende Wartezeit (T) eingestellt. Während einer Wartezeit T0 wird zuerst eine Start-I/O-Anforderung 156 von dem Kanal (B) mit hoher Geschwindigkeit an den Port (B) mit hoher Geschwindigkeit ausgeführt. Da jedoch solch eine Anforderung in der Wartezeit T0 durchgeführt wird, wird die Start-I/O-Anforderung 156 nicht akzeptiert, sondern abgewartet. Anschließend erzeugt der Kanal (A) mit niedriger Geschwindigkeit eine Start-I/O-Anforderung 158 nach Verlauf einer Zeit T1' von dem Empfang des Belegt-Endes 154 an. In diesem Fall liegt die Magnetbandsteuereinheit 10 innerhalb der Wartezeit (T), während der die Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit vorzugsweise durch das Einstellen der Wartezeit (T) ausgeführt wird, akzeptiert die Steuereinheit 10 die Start-I/O-Anforderung 158 und gibt eine Kopplungs-Abschlußantwort 160 zurück und führt Übertragungsprozesse 162 und 164 aus. Anschließend wird eine Belegt-Antwort 166 auf die Start-I/O-Anforderung 156 von dem Port (B) mit hoher Geschwindigkeit an den Kanal (B) mit hoher Geschwindigkeit zurückgegeben. Nach Abschluß der Übertragungsprozesse 162 und 164 wird ein Einheitsende 168 erzeugt, und ein Belegt-Ende 170 wird ebenfalls erzeugt. Übertragungsprozesse 174 und 176 gemäß der Kopplung des Kanals (B) mit hoher Geschwindigkeit und des Port (B) mit hoher Geschwindigkeit werden ausgeführt. Wie oben erwähnt wurde, wird, wenn die Aktivierungsanforderung an den Port (B) mit hoher Geschwindigkeit akzeptiert wird, die Wartezeit (T) über die Aktivierungszeit auf der Seite des Port (A) mit niedriger Geschwindigkeit vorgesehen, und die Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit wird vorzugsweise verarbeitet. Selbst wenn die Aktivierungsanforderung an den Port (B) mit hoher Geschwindigkeit andauert, kann, solange es eine Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit gibt, sie normalerweise akzeptiert und verarbeitet werden. Eine Situation der Art, daß die Dienste der Seite des Port (B) mit hoher Geschwindigkeit einseitig zugeordnet werden, kann verhindert werden.
  • Das Flußdiagramm von 9 bezieht sich auf einen Eingabe/Ausgabe-Steuerprozeß unter Verwendung der Aktivierungszeiten und Belegt-Verhältnisse in 6. Wenn es bei Schritt S1 eine Aktivierungsanforderung gibt, geht die Verarbeitungsroutine zu Schritt S2 über, und es wird eine Prüfung vorgenommen, um zu sehen, ob der Port jener Port mit hoher Geschwindigkeit ist oder nicht. Falls JA, folgt Schritt S3. Zum Beispiel wird die beim Port mit niedriger Geschwindigkeit gemessene Aktivierungszeit T1 als Wartezeit (T) in den Zeitgeber gesetzt. Bis die Aktivierungszeit (T1) bei Schritt S4 abgelaufen ist, wird bei Schritt S5 die Aktivierungsanforderung an den Port mit niedriger Geschwindigkeit geprüft. Wenn bei Schritt S5 beurteilt wird, daß es während der Aktivierungszeit T1 eine Aktivierungsanforderung beim Port mit niedriger Geschwindigkeit gibt, folgt Schritt S6, und der Port mit niedriger Geschwindigkeit wird mit dem Kanal mit niedriger Geschwindigkeit gekoppelt, und der Übertragungsprozeß wird gestartet. Zur gleichen Zeit erfolgt bei Schritt S7 eine Belegt-Antwort von dem Port mit hoher Geschwindigkeit an den Kanal mit hoher Geschwindigkeit. Wenn der Abschluß der Übertragungsprozesse auf der Seite mit niedriger Geschwindigkeit bei Schritt S8 beurteilt wird, wird von dem Port mit niedriger Geschwindigkeit bei Schritt S9 ein Einheitsende ausgegeben, und von dem Port mit hoher Geschwindigkeit wird ein nächstes Belegt-Ende ausgegeben. Daher wird von dem Port mit hoher Geschwindigkeit wieder die Aktivierungsanforderung in dem auf eine Belegt-Aufhebung wartenden Zustand ausgeführt. Die Verarbeitungsroutine wird wieder zum Prozeß bei Schritt S1 zurückgeführt. Wenn die Aktivierungsanforderung von dem Port mit niedriger Geschwindigkeit bei Schritt S2 beurteilt wird, folgt Schritt S10, und der Port mit niedriger Geschwindigkeit wird mit dem Kanal gekoppelt, und die Übertragungssteuerung wird unter der Bedingung ausgeführt, daß der Port mit hoher Geschwindigkeit nicht gekoppelt ist. Falls der Port mit hoher Geschwindigkeit gekoppelt wurde, werden gewöhnliche Prozesse ausgeführt, so daß ein Steuerungseinheitsende von dem Port mit niedriger Geschwindigkeit als Antwort gemeldet wird und das Gerät wegen der Antwort mit dem Steuerungseinheitsende bis zum Ende der Kopplung des Port mit hoher Geschwindigkeit wartet und wieder die Aktivierungsanforderung an den Port mit niedriger Geschwindigkeit vorgenommen wird.
  • Das Flußdiagramm von 10 bezieht sich auf die Verarbeitungsoperation des Aktivierungszeitmessungs-Speicherteils 48 in 6. Die Verarbeitungsoperation wird für jeden Port (A oder B) unabhängig ausgeführt. Im Fall des Port (A) z. B. wird eine Prüfung bei Schritt S1 vorgenommen, um zu sehen, ob es eine Belegt-Ende-Antwort gibt oder nicht. Falls JA, wird bei Schritt S2 der Zeitgeber gestartet. Bei Schritt S3 wird eine Prüfung vorgenommen, um zu sehen, ob eine Aktivierungsanforderung an den Port (A) empfangen wurde oder nicht. Wenn die Aktivierungsanforderung empfangen wurde, folgt Schritt S4, und der bei Schritt S2 aktivierte Zeitgeber wird gestoppt. Bei Schritt S5 wird die im Zeitgeber gehaltene Zeit als Aktivierungszeit abgerufen und gespeichert. Bei Schritt S6 wird die durchschnittliche Zeit Tav einschließlich der zu dieser Zeit gemessenen Aktivierungszeit berechnet. Wenn eine Bedingung der minimalen Zeit erfüllt ist, wird bei Schritt S7 die gegenwärtige minimale Zeit Tmin aktualisiert. Wenn eine Bedingung der maximalen Zeit erfüllt ist, wird bei Schritt S8 die maximale Zeit Tmax aktualisiert.
  • Das Flußdiagramm von 11 zeigt die Details, wenn die Aktivierungszeit T1 des Port mit niedriger Geschwindigkeit für den Zeitgeber bei Schritt S3 in 9 eingestellt wird. Zunächst werden bei Schritt S1 das Belegt-Verhältnis R2 des Port (B) mit hoher Geschwindigkeit, der die Aktivierungsanforderung empfing, und das Belegt-Verhältnis R1 des Port (A) mit niedriger Geschwindigkeit im Zustand des Wartens auf die Anforderung berechnet. Die Belegt-Verhältnisse R1 und R2 werden auf die Werte eingestellt, die erhalten wurden, indem die Zählwerte der Belegt-Zahl-Zähler 56 und 62, die für die Ports (A und B) in 6 vorgesehen sind, durch die Zählwerte der Aktivierungszahl-Zähler 54 und 60 geteilt werden, und welche in dem Belegt-Verhältnismessungs-Speicherteil 50 gespeichert wurden. Anschließend wird bei Schritt S2 eine Prüfung vorgenommen, um zu sehen, ob das Belegt-Verhältnis R1 des Port (A) mit niedriger Geschwindigkeit größer gleich dem Belegt-Verhältnis R2 des Port (B) mit hoher Geschwindigkeit ist oder nicht. Wenn das Belegt-Verhältnis R1 des Port mit niedriger Geschwindigkeit größer als das Belegt-Verhältnis R2 des Port mit hoher Geschwindigkeit ist, folgt Schritt S3, und die maximale Zeit Tmax in der Aktivierungszeit des Port (A) mit niedriger Geschwindigkeit, die in dem Aktivierungszeitmessungs-Speicherteil 48 gespeichert wurde, wird als Wartezeit eingestellt. Wenn das Belegt-Verhältnis R1 des Port mit niedriger Geschwindigkeit gleich dem Belegt-Verhältnis R2 des Port mit hoher Geschwindigkeit ist, wird bei Schritt S4 die durchschnittliche Zeit Tav der Aktivierungszeit des Port mit niedriger Geschwindigkeit als Wartezeit eingestellt. Wenn ferner das Belegt-Verhältnis R1 des Port mit niedriger Geschwindigkeit kleiner als das Belegt-Verhältnis R2 des Port mit hoher Geschwindigkeit ist, folgt Schritt S5, und die minimale Zeit Tmin in der Aktivierungszeit des Port mit niedriger Geschwindigkeit wird auf die Wartezeit eingestellt. Dies ist nicht beschränkt auf ein Verfahren zum Einstellen der Aktivierungszeit als Wartezeit auf der Basis der Belegt-Verhältnisse der Ports mit hoher und niedriger Geschwindigkeit in 11, sondern jedes andere geeignete Verfahren zum Entscheiden über die Wartezeit, um das Belegt-Verhältnis des Port mit hoher Geschwindigkeit mit dem Belegt-Verhältnis des Port mit niedriger Geschwindigkeit nahezu auszugleichen, kann ebenfalls verwendet werden. Zum Beispiel ist es auch möglich, nur die durchschnittliche Zeit Tav als Aktivierungszeit des Port mit niedriger Geschwindigkeit zu verwenden und die Zeit zu erhalten, indem die durchschnittliche Zeit mit einem vorbestimmten Gewichtskoeffizienten multipliziert wird, und anstelle der maximalen Zeit oder minimalen Zeit bei den Schritten S3 oder S5 eine solche Zeit einzustellen.
  • 12 zeigt eine modifizierte Ausführungsform der ersten Form des Systems. Diese Modifikation ist dadurch gekennzeichnet, daß zur Zeit des Einheitsendes des Port (B) mit hoher Geschwindigkeit die Aktivierungszeit (T) von einem Zeitpunkt an, wenn von dem Port (A) mit niedriger Geschwindigkeit ein Belegt-Ende an den Kanal (A) mit niedriger Geschwindigkeit als Antwort gemeldet wird, bis zu einem Zeitpunkt, wenn die Aktivierungsanforderung empfangen wird, gemessen wird und die Aktivierungsanforderung von dem Kanal (B) mit hoher Geschwindigkeit an den Port (B) mit hoher Geschwindigkeit danach während der gemessenen Aktivierungszeit (T) abgewartet wird und die Verarbeitungsanforderung von dem Kanal (A) mit niedriger Geschwindigkeit an den Port (A) mit niedriger Geschwindigkeit während solch einer Wartezeit akzeptiert wird.
  • In 12 ist für den Port (A) mit niedriger Geschwindigkeit ein Aktivierungszeit-Meßteil 230 vorgesehen. In einer dem Zeitdiagramm von 7 ähnlichen Art mißt der Aktivierungszeit-Meßteil 230 die Aktivierungszeit (T) von einem Zeitpunkt an, wenn das Belegt-Ende an den Kanal (A) mit niedriger Geschwindigkeit von dem Port (A) mit niedriger Geschwindigkeit als Antwort gemeldet wird, bis zu einem Zeitpunkt, wenn die Start-I/O-Anforderung (Aktivierungsanforderung) empfangen wird. Auf der Basis der durch den Aktivierungszeit-Meßteil 230 gemessenen Zeit (T) stellt ein Wartezeit-Entscheidungsteil 232 die Wartezeit T0 in dem Routen-Steuerteil 46 ein. Die Wartezeit T0 kann auch auf die gleiche Zeit wie die gemessene Zeit (T) eingestellt werden, oder die Wartezeit T0 kann gemäß der gemessenen Zeit (T) auch variabel eingestellt werden. Wenn die tatsächliche Wartezeit T0 länger als die gemessene Zeit (T) eingestellt ist, können im allgemeinen die Dienste effektiver der Seite mit niedriger Geschwindigkeit zugeordnet werden. Daher wird die Wartezeit T0, bei der die gemessene Zeit (T) z. B. mit einem vorbestimmten Koeffizienten (K) von 1 oder mehr multipliziert wird, variabel eingestellt. Die Wartezeit T0 kann ferner auch durch die Eingabeoperation des Bedieners eingestellt werden. Zu diesem Zweck sind auf der Außenseite für den Wartezeit-Entscheidungsteil 232 ein Anzeigeteil 234 und ein Eingabeteil 236 vorgesehen. Funktionen des Anzeigeteils 234 und des Eingabeteils 236 werden durch die Vorrichtungsschnittstelle 25, die CRT 35 und die Tastatur 45 in 5 realisiert. Der Bediener liest die gegenwärtige Wartezeit T0 aus, die in dem Wartezeit-Entscheidungsteil 232 eingestellt ist, und zeigt sie am Anzeigeteil 234 durch die Operation des Eingabeteils 236 an und gibt eine beliebige Wartezeit T0 aus und stellt sie in dem Wartezeit-Entscheidungsteil 232 unter Berücksichtigung eines Belegt-Zustandes jedes Kanals zu jener Zeit und eines Operationsstils des Hostcomputers ein. Wenn ein Einheitsende durch das Ende der Übertragung des Port (B) mit hoher Ge schwindigkeit als Antwort gemeldet wird, erzeugt der Routen-Steuerteil 46 eine Belegt-Antwort, selbst wenn es eine Aktivierungsanforderung an den Port (B) mit hoher Geschwindigkeit gibt, wodurch während der Wartezeit T0, die von dem Wartezeit-Einstellteil 232 geliefert wird, auf die Aktivierung gewartet wird. Wenn es während solch einer Wartezeit T0 eine Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit gibt, wird sie schnell akzeptiert, und ein Übertragungsprozeß wird ausgeführt. Wenn die Wartezeit T0 verstreicht oder das Einheitsende durch das Ende der Übertragung des Port (A) mit niedriger Geschwindigkeit als Antwort gemeldet wird, wird von dem Port (B) mit hoher Geschwindigkeit ein Belegt-Ende erzeugt, wodurch zugelassen wird, daß der Kanal mit hoher Geschwindigkeit wieder die Aktivierungsanforderung erzeugt und diese akzeptiert wird.
  • [Umlauf-Prüfprozeß von Belegt-Antwort/Belegt-Ende]
  • 13 zeigt eine Ausführungsform der zweiten Form des Systems. Die Ausführungsform ist dadurch gekennzeichnet, daß ein Zirkulations- oder Umlaufzustand einer Belegt-Antwort und eines Belegt-Endes (Belegt-Aufhebungs-Antwort), so daß durch eine kontinuierliche Aktivierungsanforderung an einen Port mit hoher Geschwindigkeit die Seite des Port mit niedriger Geschwindigkeit eine Belegt-Antwort für die Aktivierungsanforderung basierend auf dem Belegt-Ende wiederholt, detektiert wird und eine Akzeptanz einer Eingabe/Ausgabe-Anforderung dem Port mit niedriger Geschwindigkeit bevorzugt zugeordnet wird. Zähler 64 und 66 sind jeweilig für den Port (A) mit niedriger Geschwindigkeit und den Port (B) mit hoher Geschwindigkeit der Magnetbandsteuereinheit 10 vorgesehen. Die Zähler 64 und 66 werden um "1" hochgezählt, wenn das Belegt-Ende als Antwort gemeldet wird und eine Belegt-Antwort für die Aktivierungsanforderung basierend auf dem als Antwort gemeldeten Belegt-Ende gegeben wird. Die Zähler 64 und 66 zählen nämlich hoch, indem ein Umlauf von einer Belegt-Ant wort und dem Belegt-Ende detektiert wird. Ein Umlaufzahl-Beurteilungsteil 68 beurteilt, ob Zählwerte der Zähler 64 und 66, nämlich die Zahl der Male eines Umlaufs der Belegt-Antwort und des Belegt-Endes, einen vorbestimmten Wert erreicht haben oder nicht. Wenn durch den Umlaufzahl-Beurteilungsteil 68 beurteilt wird, daß der Zählwert des Zählers 64 und 66 den vorbestimmten Wert erreicht hat, steuert der Routen-Steuerteil 46 durch den Empfang von solch einer Beurteilungsausgabe so, daß die Aktivierungsanforderung für den Port (A) oder (B), in welchem die Zahl der Male eines Umlaufs den vorbestimmten Wert überschreitet, bevorzugt akzeptiert wird.
  • Das Flußdiagramm von 14 bezieht sich auf die Verarbeitungsoperation in 13. Zuerst wird bei Schritt S1 das Vorhandensein oder Fehlen einer Aktivierungsanforderung für den Port (A) oder (B) unterschieden. Wenn es eine Aktivierungsanforderung gibt, wird der Port mit dem Kanal unter der Bedingung gekoppelt, daß er nicht mit dem anderen Port gekoppelt ist, und der Übertragungsprozeß wird ausgeführt. Wenn der Verarbeitungsprozeß bei Schritt S3 beendet wird, wird bei Schritt S4 ein Einheitsende als Antwort gemeldet. In diesem Fall wird, wenn es einen Port gibt, der eine Belegt-Antwort erteilte, von diesem Port als Antwort ein Belegt-Ende gemeldet. Falls die Aktivierungsanforderung durch den anderen Port während der Übertragung gemäß der Kopplung bei Schritt S2 ausgeführt wurde und die Belegt-Antwort erteilt wurde, zählt daher der entsprechende Zähler in 13 die Zahl der Male eines Umlaufs der Belegt-Antwort und des Belegt-Endes um "1" gemäß dem Belegt-Ende bei Schritt S4 hoch. Bei Schritt S5 wird eine Prüfung vorgenommen, um zu sehen, ob es einen Port gibt, in welchem die Zahl der Male eines Umlaufs der Belegt-Antwort und des Belegt-Endes einen vorbestimmten Wert überschreitet oder nicht. Wenn es einen Port gibt, in welchem die Umlaufzahl den vorbestimmten Wert übersteigt, folgt Schritt S6, und ein bevorzugter Prozeß der Aktivierungsanforderung wird dem Port zugeordnet, in welchem die Umlaufzahl den vorbestimmten Wert übersteigt. Wenn bei Schritt S7 beurteilt wird, daß die Aktivierungsanforderung vorhanden ist, wird bei Schritt S8 eine Prüfung vorgenommen, um zu sehen, ob der Port der Port ist, dem der bevorzugte Prozeß zugeordnet wurde oder nicht. Falls NEIN, wird bei Schritt S12 eine Belegt-Antwort zurückgegeben. Somit wird nur die Aktivierungsanforderung für den bevorzugten Zuordnungsport akzeptiert. Der Übertragungsprozeß wird durch die Kopplung mit dem Kanalbus bei Schritt S9 ausgeführt. Nach Abschluß des Übertragungsprozesses des bevorzugten Zuordnungsport bei Schritt S10 wird bei Schritt S11 der für den bevorzugten Zuordnungsport vorgesehene Umlaufzahl-Zähler zurückgesetzt, und ein Einheitsende wird als Antwort gemeldet. Falls es in diesem Fall einen anderen Port in einem Wartezustand gemäß der Belegt-Antwort bei Schritt S12 gibt, wird von solch einem Port ein Belegt-Ende erzeugt, wodurch zugelassen wird, daß die Aktivierungsanforderung erzeugt wird.
  • [Zeitsequentieller Prozeß]
  • 15 bezieht sich auf eine Ausführungsform der dritten Form des Systems. Die Ausführungsform der dritten Form ist dadurch gekennzeichnet, daß die Zeit einer Belegt-Antwort des anderen Port während der Kopplung eines bestimmten Port gespeichert wird und am Ende der Kopplung Dienste vorzugsweise dem Port mit der ältesten Belegt-Antwortzeit zugeordnet werden. Zusätzlich zu den Ports (A und B) und dem Routen-Steuerteil 46 sind für die Magnetbandsteuereinheit 10 ein Belegt-Antwortzeit-Speicherteil 70 und ein Verarbeitungsport-Entscheidungsteil 72 vorgesehen. Während der Kopplung des Port (A oder B) speichert der Belegt-Antwortzeit-Speicherteil 70 die Zeit, zu der die Aktivierungsanforderung an den anderen Port gestellt und die Belegt-Antwort erteilt wurde. Da es in der Ausführungsform zwei Ports (A und B) gibt, wird die Antwortzeit des Port (B) während der Kopplung des Port (A) gespeichert, während die Antwortzeit des Port (A) während der Kopplung des Port (B) gespeichert wird. Wenn der Übertragungsprozeß des Port während der Kopplung beendet wird und die Einheitsende-Antwort gemeldet wird, verweist der Verarbeitungsport-Entscheidungsteil 72 auf den Belegt-Antwortzeit-Speicherteil 70, bestimmt den Port mit der ältesten Zeit von den gespeicherten Belegt-Antwortzeiten als Port für eine anschließende bevorzugte Verarbeitung der Aktivierungsanforderung und informiert den Routen-Steuerteil 46. Der Routen-Steuerteil 46 verarbeitet vorzugsweise die Aktivierungsanforderung von dem durch den Verarbeitungsport-Entscheidungsteil 72 entschiedenen Port. Da es nur die beiden Ports (A und B) gibt, bestimmt in der Ausführungsform, wenn der Port (B) während der Kopplung des Port (A) die Belegt-Antwort erteilt, der Verarbeitungsport-Entscheidungsteil 72 den Port (B) als Port, der die Aktivierungsanforderung anschließend vorzugsweise akzeptiert. Der Routen-Steuerteil 46 führt die Belegt-Antwort für die Aktivierungsanforderung von dem Port (A) aus und akzeptiert nur die Aktivierungsanforderung von dem Port (B). Selbst wenn der Port (A) der Port mit niedriger Geschwindigkeit ist und der Port (B) der Port mit hoher Geschwindigkeit ist, kann somit der Routen-Steuerteil 46 die Aktivierungsanforderung bei jeder der kontinuierlichen Aktivierungsanforderungen abwechselnd akzeptieren. Die Belegt-Verhältnisse des Port (A) mit niedriger Geschwindigkeit und des Port (B) mit hoher Geschwindigkeit können beinahe ausgeglichen sein. Wie in dem Systemaufbau von 4 dargestellt ist, sind für die Magnetbandsteuereinheit 10 tatsächlich acht Ports (A bis H) vorgesehen. Während der Kopplung eines bestimmten Port wird in diesem Fall, falls es eine Aktivierungsanforderung an einen der übrigen sieben Ports gibt, die Belegt-Antwortzeit zu dieser Zeit gespeichert. Wenn der gegenwärtige Übertragungsprozeß beendet ist und das Einheitsende auftritt, wird durch Erzeugen des Belegt-Endes von dem Port mit der ältesten Zeit von mehreren Belegt-Antwortzeiten die Akzeptanz der Aktivierungsanforderung zugeordnet.
  • Das Flußdiagramm von 16 bezieht sich auf die Verarbeitungsoperation von 15. Bei Schritt S1 wird das Vorhandensein oder Fehlen einer Aktivierungsanforderung für die Vielzahl von Ports geprüft. Wenn es eine Aktivierungsanforderung an einen bestimmten Port gibt, wird der Port mit dem Kanalbus gekoppelt und der Übertragungsprozeß bei Schritt S2 ausgeführt. Bei Schritt S3 wird eine Prüfung durchgeführt, um zu sehen, ob der Verarbeitungsprozeß beendet worden ist oder nicht. Nach Abschluß der Übertragung wird bei Schritt S4 ein Einheitsende von dem Port während der Kopplung als Antwort gemeldet. Bei den Schritten S1 bis S4 wird während der Kopplung eines bestimmten Port, wenn es eine Aktivierungsanforderung von einem anderen Port gibt, die Antwortzeit in dem Belegt-Antwortzeit-Speicherteil 70 gespeichert. Nachdem das Einheitsende als Antwort gemeldet wurde, wird bei Schritt S5 der Port mit der ältesten Zeit unter den Belegt-Antwortzeiten als Verarbeitungsport bestimmt. Ein Belegt-Ende wird von dem Port, auf den die Entscheidung gefallen ist, bei Schritt S6 erzeugt. Der auf eine Belegt-Aufhebung wartende Kanal, der das Belegt-Ende empfing, erzeugt wieder die Aktivierungsanforderung. Bei Schritt S7 wird das Vorhandensein oder Fehlen einer Aktivierungsanforderung unterschieden. Wenn es eine Aktivierungsanforderung gibt, wird bei Schritt S8 eine Prüfung vorgenommen, um zu sehen, ob der Port ein bevorzugter Zuordnungsport ist oder nicht. Falls NEIN, wird bei Schritt S12 eine Belegt-Antwort zurückgegeben. Folglich wird nur die Aktivierungsanforderung für den bevorzugten Zuordnungsport akzeptiert. Bei Schritt S9 wird der Port mit dem Kanalbus gekoppelt, und der Übertragungsprozess wird ausgeführt. Wenn bei Schritt S10 der Übertragungsprozeß beendet ist, wird die Belegt-Antwortzeit des Verarbeitungsport zurückgesetzt und das Einheitsende bei Schritt S11 als Antwort gemeldet. Die Verarbeitungsroutine wird zu Schritt S13 zurückgeführt. Falls die Aufzeichnung der Belegt-Antwortzeiten noch vorhanden ist, wird die Verarbeitungsroutine wieder zu Schritt S5 zurückge führt. Die Prozesse der Art, daß der Port mit der ältesten Zeit unter den verbleibenden Belegt-Antwortzeiten als Verarbeitungsport bestimmt wird und das Belegt-Ende erzeugt wird, werden wiederholt. Wenn keine Belegt-Antwortzeit mehr vorhanden ist, wird die Verarbeitungsroutine wieder zu Schritt S1 zurückgeführt.
  • [Wiederholungsunterbrechungsprozeß 1]
  • 17 zeigt eine Ausführungsform der vierten Form des I/O-Systems. Die vierte Form ist dadurch gekennzeichnet, daß während der Kopplung eines gewissen Port mit dem Kanal, wenn die Aktivierungsanforderung zu einem anderen Port gelangt, anstelle einer Belegt-Antwort ein Status zum Anfordern einer Wiederholung der Kanaloperation als Antwort gemeldet wird, und wenn der Übertragungsprozeß, der gegenwärtig ausgeführt wird, beendet ist, eine Unterbrechungsanforderung zum Starten der Wiederholung für den Kanal gestellt wird, der mit dem Status der Wiederholungsanforderung geantwortet hat, und der Port wieder gekoppelt wird. Zusätzlich zu den Ports (A und B) und dem Routen-Steuerteil 46 ist ein Wiederholungsunterbrechungsverarbeitungsteil 74 für die Magnetbandsteuereinheit 10 vorgesehen. Wenn die Aktivierungsanforderung zum Beispiel während der Kopplung des Port (A) zu dem Port (B) gelangt, hat der Wiederholungsunterbrechungsverarbeitungsteil 74 in den vorherigen Ausführungsformen gewöhnlich die Belegt-Antwort zurückgesendet. In der fünften Form wird jedoch als Antwort ein Status zum Anfordern der Wiederholung der Kanaloperation gesendet, und die Kopplung mit dem Kanalbus des Port (B) wird einstweilen getrennt. Wenn anschließend der Übertragungsprozeß des Port (A) beendet ist und das Einheitsende als Antwort gemeldet ist, wird die Unterbrechungsanforderung des Wiederholungsstarts für den Kanal (B) ausgeführt, der als Antwort den Status der Wiederholungsanforderung gesendet hat, und wird der Port wieder gekoppelt. Die Kanaleinheit, die die Antwort mit dem Wiederholungsanforderungs status von dem Wiederholungsunterbrechungsverarbeitungsteil 74 empfing, tritt in einen Wartezustand des Wiederholungsstarts der Kanaloperation ein. Danach wird, wenn eine Unterbrechungsantwort zum Starten der Wiederholung empfangen ist, eine Befehlssequenz von der Aktivierungsanforderung neu gestartet und der Port wieder gekoppelt.
  • Durch solche Prozesse des Wiederholungsunterbrechungsverarbeitungsteils 74 kann auf der Seite der Magnetbandsteuereinheit 10 bestimmt werden, welcher Port neu zu koppeln ist, und können Dienste für jeden Port gleichmäßig vorgesehen werden. Wenn zum Beispiel die Aktivierungsanforderung für den Port (B) mit hoher Geschwindigkeit kontinuierlich ist und eine Aktivierungsanforderung für den Port (A) mit niedriger Geschwindigkeit während der Kopplung des Port (B) mit hoher Geschwindigkeit vorliegt, antwortet der Wiederholungsunterbrechungsverarbeitungsteil 74 mit dem Wiederholungsanforderungsstatus, und die Seite des Kanals (A) mit niedriger Geschwindigkeit, die die Aktivierungsanforderung für den Port (A) mit niedriger Geschwindigkeit ausgeführt hat, wird in einen Wiederholungswartezustand versetzt. Wenn der Übertragungsprozeß des Port (B) mit hoher Geschwindigkeit beendet ist und das Einheitsende als Antwort gemeldet wird, führt der Wiederholungsunterbrechungsverarbeitungsteil 74 die Unterbrechungsanforderung aus, um die Wiederholung für den Kanal (A) mit niedriger Geschwindigkeit über den Port (A) mit niedriger Geschwindigkeit zu starten, wird der Port wieder gekoppelt, wird die Aktivierungsanforderung von dem Kanal (A) mit niedriger Geschwindigkeit wieder erzeugt, der die Unterbrechung des Wiederholungsstarts empfing, und wird der Übertragungsprozeß gemäß einer Befehlssequenzserie ausgeführt. Selbst wenn die Aktivierungsanforderung auf der Seite des Port (B) mit hoher Geschwindigkeit andauert, wird daher die Aktivierungsanforderung des Port (A) mit niedriger Geschwindigkeit, die während der Kopplung des Port (B) mit hoher Geschwindigkeit auftritt, nicht mit einer Belegt-Antwort eliminiert. Die Aktivierungsanforderung des Port (A) mit niedriger Geschwindigkeit wird durch die Unterbrechung zwingend akzeptiert. So können gleichmäßige Dienste für den Port (A) mit niedriger Geschwindigkeit und den Port (B) mit hoher Geschwindigkeit vorgesehen werden.
  • 18 zeigt Prozesse in dem Fall, wenn eine Aktivierungsanforderung für den Port (A) mit niedriger Geschwindigkeit während der Kopplung des Port (B) mit hoher Geschwindigkeit in 17 auftritt. Zuerst wird, wenn eine Start-I/O-Anforderung 200 von dem Kanal (B) mit hoher Geschwindigkeit für den Port (B) mit hoher Geschwindigkeit erfolgt, eine Kopplungs-Abschlußantwort 202 erteilt. Danach werden Übertragungsprozesse 204 und 206 ausgeführt. Während der obigen Übertragungsprozesse wird, wenn eine Start-I/O-Anforderung 208 von dem Kanal (A) mit niedriger Geschwindigkeit an den Port (A) mit niedriger Geschwindigkeit gestellt wird, eine Wiederholungsunterbrechungsstatusantwort 210 erteilt, und der Kanal (A) mit niedriger Geschwindigkeit tritt in einen Wiederholungsaktivierungswartezustand ein. Wenn die Übertragungsprozesse 204 und 206 beendet sind und ein Steuereinheitsende 212 erzeugt ist, wird eine Wiederholungsstartunterbrechungsmitteilung 214 von dem Port (A) mit niedriger Geschwindigkeit an den Kanal (A) mit niedriger Geschwindigkeit in Zuordnung zu dem Steuereinheitsende 212 gesendet. Eine Start-I/O-Anforderung 216 wird von dem Kanal (A) mit niedriger Geschwindigkeit in dem Wiederholungsstartwartezustand wieder erzeugt. Andererseits wird eine Kopplungs-Abschlußantwort 218 durch die erneute Kopplung erzeugt und werden Übertragungsprozesse 220 und 222 durch die Kopplung zwischen dem Kanal (A) mit niedriger Geschwindigkeit und dem Port (A) mit niedriger Geschwindigkeit ausgeführt. Nach Vollendung des Übertragungsprozesses wird ein Steuereinheitsende 224 erzeugt.
  • Das Flußdiagramm von 19 betrifft die Verarbeitungsoperation der Ausführungsform von 17. Zuerst wird bei Schritt S1 das Vorhandensein oder Fehlen einer Aktivierungsanforderung geprüft. Wenn eine Aktivierungsanforderung für einen spezifischen Port vorhanden ist, folgt Schritt S2. Der Port wird mit dem Kanal gekoppelt, und der Übertragungsprozeß wird unter der Bedingung ausgeführt, daß der andere Port nicht im Kopplungszustand ist. Während der Übertragung wird, bis das Übertragungsende bei Schritt S3 beurteilt wird, bei Schritt S4 geprüft, ob eine Aktivierungsanforderung für den anderen Port vorhanden ist oder nicht. Falls eine Aktivierungsanforderung vorhanden ist, folgt Schritt S5 und wird bei Schritt S5 geprüft, ob der Wiederholungsstatus als Antwort an die Kanaleinheit gemeldet wird oder nicht, die die Aktivierungsanforderung gestellt hat. Wenn der Port, der gegenwärtig gekoppelt ist, der Port mit niedriger Geschwindigkeit ist, und der Port, der die Aktivierungsanforderung während der Kopplung empfing, der Port mit hoher Geschwindigkeit ist, wird bei Schritt S7, da keine Notwendigkeit für eine bevorzugte Verarbeitung besteht, eine Belegt-Antwort zurückgesendet. Wenn andererseits der Port, der gegenwärtig gekoppelt ist, der Port mit hoher Geschwindigkeit ist, und der Port, der die Aktivierungsanforderung während der Kopplung empfing, der Port mit niedriger Geschwindigkeit ist, ist eine bevorzugte Verarbeitung erforderlich. Deshalb folgt Schritt S6 und wird als Antwort der Wiederholungsstatus gesendet. Wenn das Übertragungsende bei Schritt S7 beurteilt wird, folgt Schritt S8 und wird von dem gekoppelten Port als Antwort ein Einheitsende gesendet. Bei Schritt S9 wird geprüft, ob der Wiederholungsstatus während der Übertragung als Antwort gesendet wurde oder nicht. Falls JA, wird bei Schritt S10 die Unterbrechungsanforderung des Wiederholungsstarts von dem anderen Port erzeugt, der mit dem Wiederholungsstatus geantwortet hat. Falls während der Übertragung nicht mit dem Wiederholungsstatus geantwortet wird, wird von dem anderen Port, der die Belegt-Antwort erteilt hat, bei Schritt S11 mit dem Einheitsende geantwortet. Die Verarbeitungsroutine kehrt zu Schritt S1 zurück. Obwohl die obige Ausführungsform in der vierten Form bezüglich der beiden Ports beschrieben worden ist, die den Port (A) mit niedriger Geschwindigkeit und den Port (B) mit hoher Geschwindigkeit umfassen, wie in 5 gezeigt, kann sie auch auf den Fall von acht Ports (A bis H) angewendet werden. Wenn die Anzahl der Ports 3 oder mehr beträgt, tritt indessen der Fall auf, daß während der Kopplung eines gewissen Port die Unterbrechungsanforderung durch die Vielzahl von anderen Ports akzeptiert wird. Deshalb genügt es, die Priorität dem Wiederholungsunterbrechungsprozeß für die Unterbrechungsanforderung zuzuweisen und die Unterbrechung des Wiederholungsstarts gemäß der Priorität mitzuteilen.
  • [Wiederholungsunterbrechungsprozeß 2]
  • 20 zeigt die erste Ausführungsform der fünften Form des I/O-Systems. In der fünften Form wird, wenn eine vorbestimmte Unterbrechungsbedingung während der Kopplung eines gewissen Port erfüllt ist, der Status einer Wiederholungsanforderung als Antwort an den Kanal von dem Port gesendet, der gegenwärtig gekoppelt ist, wodurch er vorübergehend getrennt wird. Anschließend wird, ob nun eine Situation einer Belegt-Antwort, wie zum Beispiel die neueste Belegt-Antwortzeit, und die Anzahl der Male einer Belegt-Antwort bezüglich aller Ports geprüft werden oder die Unterbrechungsanforderung analysiert wird, der Port bestimmt, bei dem die Dienste bevorzugt ausgeführt werden. Ein Einheitsende wird als Antwort von dem Port gemeldet, der für den Vorzugsprozeß bestimmt wurde, wodurch der Übertragungsprozeß vorzugsweise ausgeführt wird. Nach Vollzug des Übertragungsprozesses wird eine Unterbrechungsanforderung zum Starten der Wiederholung von dem getrennten Port gestellt und wird der Port wieder gekoppelt. Der Prozeß, der einstweilen unterbrochen war, wird neu gestartet.
  • Die erste Version, von 20, ist dadurch gekennzeichnet, daß die Unterbrechung in einem vorbestimmten Zeitintervall als Unterbrechungsbedingung vorgenommen wird. Zusätzlich zu den Ports (A und B) und dem Routen-Steuerteil 46 sind ein Unterbrechungszeitgeber 80, ein Belegt-Antwort-Speicherteil 82 und ein Wiederholungsunterbrechungsverarbeitungsteil 76 für die Magnetbandsteuereinheit 10 vorgesehen. Der Unterbrechungszeitgeber 80 bewirkt eine Zeitgeberausgabe an den Wiederholungsunterbrechungsverarbeitungsteil 76 in einem vorbestimmten Zeitintervall, wodurch der Unterbrechungsprozeß ausgeführt wird. Als Informationen, die Belegt-Zustände der Ports (A und B) angeben, werden zum Beispiel die Zeit, zu der die neueste Belegt-Antwort erteilt wurde, und die Anzahl der Male einer Belegt-Antwort in dem Belegt-Antwort-Speicherteil 82 gespeichert. Der Wiederholungsunterbrechungsverarbeitungsteil 76 startet die Unterbrechungsoperation durch den Zeitablauf des Unterbrechungszeitgebers 80 während der Kopplung zum Beispiel des Port (B) mit hoher Geschwindigkeit. Der Status der Wiederholungsanforderung wird von dem Port (B) mit hoher Geschwindigkeit, der gegenwärtig gekoppelt ist, als Antwort an den Kanal (B) mit hoher Geschwindigkeit gesendet, wodurch er vorübergehend getrennt wird. Nachdem die Kopplung mit dem Port (B) mit hoher Geschwindigkeit getrennt ist, wird Bezug genommen auf Belegt-Zustände aller Ports, nämlich der Ports (A und B), die in dem Belegt-Antwort-Speicherteil 82 gespeichert sind, wie zum Beispiel auf die neueste Belegt-Antwortzeit und die Anzahl der Male der Belegt-Antwort, wodurch bestimmt wird, für welchen Port die Dienste bevorzugt erteilt werden. Da gegenwärtig zum Beispiel die Prozesse bezüglich des Port (B) mit hoher Geschwindigkeit ausgeführt werden, ist die Belegt-Zeit hinsichtlich des Port (A) mit niedriger Geschwindigkeit als anderer Port die älteste Zeit und gibt die Anzahl von Belegt-Antworten einen gewissen Wert an, so daß der Wiederholungsunterbrechungsverarbeitungsteil 76 entscheidet, daß der Port (A) mit niedriger Geschwindigkeit der bevorzugte verarbeitende Port ist. Wenn der verarbeitende Port bestimmt ist, gestattet der Wiederholungsunterbrechungsverarbeitungsteil 76, daß dem Kanal (A) von dem bestimmten verarbeitenden Port (A) über den Routen-Steuerteil 46 als Antwort ein Einheitsende gemeldet wird. Durch den Empfang des Einheitsendes von dem Port (A) wird die Aktivierungsanforderung an den Port (A) mit niedriger Geschwindigkeit von dem Kanal (A) mit niedriger Geschwindigkeit gestellt, der durch die Belegt-Antwort bislang im Wartezustand war. Der Port (A) wird effektiv gekoppelt, und der Übertragungsprozeß wird ausgeführt. Wenn der Übertragungsprozeß auf der Seite des Port (A) mit niedriger Geschwindigkeit beendet ist und als Antwort das Einheitsende gemeldet wird, unterbricht der Wiederholungsunterbrechungsverarbeitungsteil 76 den Prozeß und erzeugt eine Unterbrechungsanforderung für den Wiederholungsstart für den Kanal (B) mit hoher Geschwindigkeit von dem getrennten Port (B) mit hoher Geschwindigkeit. Durch den Empfang der Unterbrechungsanforderung wird die Aktivierungsanforderung von dem Kanal (B) mit hoher Geschwindigkeit an den Port (B) mit hoher Geschwindigkeit gestellt. Der Übertragungsprozeß, der einstweilen unterbrochen war, wird neu gestartet. Wenn der bevorzugte Prozeß des Port (A) mit niedriger Geschwindigkeit beendet ist und das Einheitsende erzeugt ist, werden die Belegt-Antwortzeit und die Anzahl von Belegt-Antworten bezüglich des Port (A) mit niedriger Geschwindigkeit in dem Belegt-Antwort-Speicherteil 82 gleichzeitig zurückgesetzt.
  • Das Zeitdiagramm von 21 betrifft die Operation des Wiederholungsverarbeitungsteils in 20. Zuerst wird eine Start-I/O-Anforderung 300 von dem Kanal (B) mit hoher Geschwindigkeit an den Port (B) mit hoher Geschwindigkeit gestellt, und da der andere Port (A) mit niedriger Geschwindigkeit nicht gekoppelt ist, wird eine Kopplungsabschlußantwort 302 als normales Ende zurückgesendet, und der Kanal (B) mit hoher Geschwindigkeit und der Port (B) mit hoher Ge schwindigkeit führen Übertragungsprozesse 304 und 306 aus. Wenn eine Zeitgeberunterbrechung 308 auf Grund des Unterbrechungszeitgebers während der Übertragungsprozesse auftritt, wird eine Wiederholungsstatusantwort 310 von dem Port (B) mit hoher Geschwindigkeit für den Kanal (B) mit hoher Geschwindigkeit erzeugt, wodurch die Trennung erfolgt. Nach Vollzug der Trennung werden Zustände der Belegt-Antworten bezüglich aller Ports (A und B) unterschieden. In diesem Fall wird, wenn eine Belegt-Antwort für die Seite des Port (A) mit niedriger Geschwindigkeit vorhanden ist, der Port (A) mit niedriger Geschwindigkeit als bevorzugter verarbeitender Port bestimmt. Ein Einheitsende 314 wird von dem Port (A) mit niedriger Geschwindigkeit, für den der bevorzugte Prozeß entschieden wurde, für den Kanal (A) mit niedriger Geschwindigkeit erzeugt, wodurch zugelassen wird, daß eine Start-I/O-Anforderung 316 von dem Kanal (A) mit niedriger Geschwindigkeit erzeugt wird. Die Start-I/O-Anforderung 316 wird normalerweise durch den Port (A) mit niedriger Geschwindigkeit empfangen. Nachdem eine Kopplungsabschlußantwort 318 zurückgesendet wurde, werden Übertragungsprozesse 320 und 322 zwischen dem Kanal (A) mit niedriger Geschwindigkeit und dem Port (A) mit niedriger Geschwindigkeit ausgeführt. Nachdem die Übertragungsprozesse beendet sind, wird von dem Port (A) mit niedriger Geschwindigkeit mit einem Einheitsende 324 geantwortet. Anschließend wird eine Wiederholungsstartunterbrechungsmitteilung 326 von dem Port (B) mit hoher Geschwindigkeit, der vorübergehend getrennt war, an den Kanal (B) mit hoher Geschwindigkeit gesendet. Deshalb wird eine Start-I/O-Anforderung 328 von dem Kanal (B) mit hoher Geschwindigkeit in dem Wiederholungswartezustand erzeugt und durch den Port (B) mit hoher Geschwindigkeit empfangen. Die Prozesse werden normal beendet, und eine Kopplungsabschlußantwort 330 wird zurückgesendet. Die Übertragungsprozesse, die vorübergehend unterbrochen waren, werden als Übertragungsprozesse 332 und 334 neu gestartet. Nach Vollendung der neu gestarteten Über tragungsprozesse wird von dem Port (B) mit hoher Geschwindigkeit ein Einheitsende 336 erzeugt. Wie oben erwähnt, kann, wenn die Unterbrechungsbedingung erfüllt ist, durch Trennen der gegenwärtigen Kopplung auf der Seite der Magnetbandsteuereinheit und durch Bestimmen des Ports, dessen Verarbeitung gemäß dem Belegtzustand bevorzugt erfolgt, und Ausführen der Übertragungsprozesse durch Unterbrechung selbst in dem Fall, wenn die Aktivierungsanforderung für den Port mit hoher Geschwindigkeit andauert, der Kreislauf, oder Umlauf, von [Belegt-Einheitsende] auf der Seite des Port mit niedriger Geschwindigkeit verhindert werden.
  • Das Flußdiagramm von 22 betrifft den Wiederholungsunterbrechungsprozeß unter Verwendung des Unterbrechungszeitgebers in 19. Zuerst wird bei Schritt S1 das Vorhandensein oder Fehlen einer Aktivierungsanforderung für jeden Port bestimmt. Wenn eine Aktivierungsanforderung für einen gewissen Port vorhanden ist, folgt Schritt S2, und der Port wird mit dem Kanal gekoppelt, und der Übertragungsprozeß wird unter der Bedingung gestartet, daß er nicht mit dem anderen Port gekoppelt ist. Während der Übertragung wird, bis bei Schritt S3 das Ende der Übertragung beurteilt wird, der Zeitablauf des Unterbrechungszeitgebers bei Schritt S4 überwacht. Wenn die Zeit des Unterbrechungszeitgebers während der Übertragung um ist, folgt Schritt S5 und wird eine Statusantwort der Wiederholungsanforderung von dem Port gesendet, der gegenwärtig gekoppelt ist, wodurch er getrennt wird. Bei Schritt S6 werden Faktoren der Belegt-Antworten aller Ports analysiert, wie zum Beispiel die Zeiten und die Anzahlen von Belegt-Antworten, und der Port mit der bevorzugten Verarbeitung wird bestimmt. Bei Schritt S7 wird geprüft, ob der bestimmte Port mit der bevorzugten Verarbeitung derselbe wie der Port ist oder nicht, der bei Schritt S5 getrennt wurde. Wenn sie sich unterscheiden, wird als Antwort ein Einheitsende von dem bestimmten Port an den Kanal gesendet. Die Aktivierungsanforderung in Zuordnung dazu wird bei Schritt S9 empfangen, und der Port wird gekoppelt, und der Übertragungsprozeß wird ausgeführt. Bei Schritt S10 wird, wenn der Übertragungsprozeß durch die Unterbrechung beendet ist, als Antwort ein Einheitsende gesendet, und bei Schritt S11 wird die Kopplung getrennt. Bei Schritt S12 wird eine Unterbrechungsanforderung des Wiederholungsstarts von dem getrennten Port an die Kanaleinheit gestellt, die auf Grund der Trennung in dem Wiederholungsstartwartezustand ist. Durch den Empfang der Unterbrechungsanforderung wird die Aktivierungsanforderung von dem Kanal in dem Wiederholungsstartwartezustand wieder gestellt und bei Schritt S1 beurteilt. Bei Schritt S2 wird der Port wieder mit dem Kanal gekoppelt, und der Übertragungsprozeß wird neu gestartet. Wenn bei Schritt S3 beurteilt wird, daß der neu gestartete Übertragungsprozeß beendet ist, wird bei Schritt S13 mit dem Einheitsende geantwortet und wird die Serie der Übertragungsprozesse beendet. Wenn andererseits bei Schritt S6 der bevorzugte verarbeitende Port, der durch das Analysieren der Faktoren der Belegt-Antworten aller Ports bestimmt wurde, derselbe wie der Port ist, der bei Schritt S5 getrennt wurde, geht die Verarbeitungsroutine sofort zu Schritt S12 über, und die Unterbrechungsanforderung des Wiederholungsstarts wird von dem getrennten Port gestellt, und der Übertragungsprozeß durch das erneute Koppeln wird bald neu gestartet.
  • Wie aus dem Flußdiagramm von 22 offensichtlich hervorgeht, wird, wenn die Unterbrechungsbedingung durch den Unterbrechungszeitgeber während der Kopplung des Port (B) mit hoher Geschwindigkeit in 20 erfüllt ist, die Entscheidung für den bevorzugten Prozeß des Port (A) mit niedriger Geschwindigkeit in dem Belegt-Wartezustand getroffen und wird der Übertragungsprozeß auf der Seite des Port (A) mit niedriger Geschwindigkeit durch die Unterbrechung beendet. Danach wird der unterbrochene Übertragungsprozeß des Port (B) mit hoher Geschwindigkeit neu gestartet. Wenn die Unterbrechungsbedingung durch den Unterbrechungszeitgeber während der Verarbeitung auf der Seite des Port (A) mit niedriger Geschwindigkeit erfüllt ist, wird, solange die Anzahl der Male der Belegt-Antwort zu der Seite des Port mit niedriger Geschwindigkeit ausschlägt, derselbe Port (A) mit niedriger Geschwindigkeit wie der getrennte Port wieder als der am meisten bevorzugte verarbeitende Port bestimmt. In diesem Fall wird der Übertragungsprozeß im Port (A) mit niedriger Geschwindigkeit, der durch die Unterbrechungsanforderung des Wiederholungsstarts zur erneuten Kopplung unterbrochen war, sofort neu gestartet. In Abhängigkeit von der Situation gibt es auch den Fall, daß der Übertragungsprozeß auf der Seite des Port mit hoher Geschwindigkeit während der Verarbeitung des Port mit niedriger Geschwindigkeit bevorzugt verarbeitet wird. Obwohl die Ausführungsform von 20 bis 22 als Beispiel in bezug auf den Fall beschrieben worden ist, daß zwei Ports (A und B) vorhanden sind, können für die Magnetbandsteuereinheit 10, wie in 5 gezeigt, die acht Ports (A bis H) vorgesehen sein. Wenn die Unterbrechungsmitteilung von dem Unterbrechungszeitgeber empfangen wird, prüft der Wiederholungsunterbrechungsverarbeitungsteil 76 Zustände von Belegt-Antworten hinsichtlich der acht Ports (A bis H), wodurch der Port bestimmt wird, dessen Verarbeitung bevorzugt erfolgt.
  • 23 zeigt die zweite Version der fünften Form des I/O-Systems. Diese Version ist dadurch gekennzeichnet, daß dann, wenn eine vorbestimmte Anzahl von Befehlsprozessen in jedem Port ausgeführt ist, beurteilt wird, daß die Unterbrechungsbedingung erfüllt ist, so daß der Wiederholungsunterbrechungsprozeß ausgeführt wird. Der Port (A) mit niedriger Geschwindigkeit, der Port (B) mit hoher Geschwindigkeit, der Routen-Steuerteil 46, der Wiederholungsunterbrechungsverarbeitungsteil 76, der Belegt-Antwort-Speicherteil 82 und Befehlszähler 84 und 86 sind für die Magnetbandsteuereinheit 10 vorgesehen. Der Befehlszähler 84 zählt die Anzahl der Male der Befehlsausführung des Port (A) mit niedriger Geschwindig keit. Der Befehlszähler 86 zählt die Anzahl der Male der Befehlsausführung des Port (B) mit hoher Geschwindigkeit. Wenn der Zählwert des Befehlszählers 84 oder 86 eine vorbestimmte Zahl erreicht, führt der Wiederholungsunterbrechungsverarbeitungsteil 76 den Wiederholungsunterbrechungsprozeß aus. Zum Beispiel wird eine Befehlssequenzserie durch den Übertragungsprozeß auf Grund der Kopplung des Port (B) mit hoher Geschwindigkeit ausgeführt, und der Befehlszähler 86 zählt in Zuordnung zu der Befehlsausführung aufwärts. In diesem Fall wird, wenn der Wiederholungsunterbrechungsverarbeitungsteil 76 beurteilt, daß der Zählwert die vorbestimmte Zahl übersteigt, eine Statusantwort der Wiederholungsanforderung von dem Port (B) mit hoher Geschwindigkeit, der gegenwärtig gekoppelt ist, an den Kanal (B) mit hoher Geschwindigkeit gesendet, wodurch er getrennt wird. Nach der Trennung nimmt der Wiederholungsunterbrechungsverarbeitungsteil 76 Bezug auf den Belegt-Antwort-Speicherteil 82 und prüft die Zustände der bisherigen Belegt-Antworten hinsichtlich aller Ports (A) und (B). Speziell werden die neueste Antwortzeit und die Anzahl von Belegt-Antworten in jedem der Ports (A und B) geprüft. Der Port, in dem die Belegt-Antwortzeit alt ist und die Anzahl von Belegt-Antworten hoch ist, wird als Port bestimmt, dessen Verarbeitung am meisten zu bevorzugen ist. In diesem Fall wird der Port (A) mit niedriger Geschwindigkeit als bevorzugter verarbeitender Port bestimmt. Durch den Empfang von solch einer Entscheidung antwortet der Routen-Steuerteil 46 mit einem Belegt-Ende von dem Port (A) mit niedriger Geschwindigkeit an den Kanal (A) mit niedriger Geschwindigkeit, wodurch zugelassen wird, daß die Aktivierungsanforderung von dem Kanal (A) mit niedriger Geschwindigkeit, der das Belegt-Ende empfing, an den Port (A) mit niedriger Geschwindigkeit gestellt wird. Durch das Koppeln des Port (A) wird der Übertragungsprozeß ausgeführt. Wenn der Übertragungsprozeß durch die Unterbrechung des Port (A) mit niedriger Geschwindigkeit beendet ist, führt im Anschluß an die Antwort mit dem Einheitsende von dem Port (A) mit niedriger Geschwindigkeit der Wiederholungsunterbrechungsverarbeitungsteil 76 die Unterbrechungsanforderung des Wiederholungsstarts von dem Port (B) mit hoher Geschwindigkeit aus und koppelt den Port (B), wodurch der unterbrochene Übertragungsprozeß neu gestartet wird. Der detaillierte Wiederholungsunterbrechungsprozeß ist im wesentlichen jenem in der ersten Ausführungsform ähnlich, die in 20 bis 22 gezeigt ist, außer daß die Anzahl der Male der Befehlsausführung der Ports (A und B) durch die Befehlszähler 84 und 86 gezählt wird und, wenn die Male der Befehlsausführung den vorbestimmten Wert erreichen, der Wiederholungsunterbrechungsprozeß gestartet wird.
  • 24 zeigt die dritte Ausführungsform der fünften Form des I/O-Systems. Diese Ausführungsform ist dadurch gekennzeichnet, daß der Wiederholungsunterbrechungsprozeß ausgeführt wird, wenn das Belegt-Verhältnis von jedem Port einen vorbestimmten Wert erreicht. Der Port (A) mit niedriger Geschwindigkeit, der Port (B) mit hoher Geschwindigkeit, der Routen-Steuerteil 46, der Wiederholungsunterbrechungsverarbeitungsteil 76, der Belegt-Antwort-Speicherteil 82 und ferner ein Belegt-Verhältnis-Berechnungsteil 88 sind für die Magnetbandsteuereinheit 10 vorgesehen. Der Belegt-Verhältnis-Berechnungsteil 88 kann durch die Aktivierungszahl-Zähler 54 und 60, die Belegt-Zahl-Zähler 56 und 62 und den Belegt-Verhältnismessungs-Speicherteil 50 in 6 realisiert werden. Der Wiederholungsunterbrechungsverarbeitungsteil 76 beurteilt, ob das Belegt-Verhältnis R1 des Port (A) mit niedriger Geschwindigkeit oder das Belegt-Verhältnis R2 des Port (B) mit hoher Geschwindigkeit, das durch den Belegt-Verhältnis-Berechnungsteil 88 berechnet wurde, einen vorbestimmten Wert erreicht hat oder nicht. Wenn das Belegt-Verhältnis R1 oder R2 den vorbestimmten Wert erreicht, wird der Wiederholungsunterbrechungsprozeß gestartet. Der Wiederholungsunterbrechungsprozeß ist im wesentlichen jenen in der ersten Ausführungsform der fünften Form von 20 und der zweiten Ausführungsform der fünften Form von 23 ähnlich. Als Antwort wird nämlich ein Status der Wiederholungsanforderung von dem Port gemeldet, der gegenwärtig gekoppelt ist, und der Port wird vorübergehend getrennt. Der Port, dessen Verarbeitung am meisten zu bevorzugen ist, wird unter Bezugnahme auf den Belegt-Antwort-Speicherteil 82 bestimmt. Ein Belegt-Ende wird für den bestimmten Port erzeugt, die Aktivierungsanforderung wird akzeptiert, und der Übertragungsprozeß wird ausgeführt. Wenn der Übertragungsprozeß durch die Unterbrechung beendet wird, wird eine Unterbrechungsanforderung des Wiederholungsstarts an den getrennten Port gestellt, wird der Port neu gekoppelt und wird der unterbrochene Übertragungsprozeß neu gestartet. In der dritten Ausführungsform wird, wenn das Belegt-Verhältnis den vorbestimmten Wert erreicht und der Wiederholungsunterbrechungsprozeß ausgeführt wird, der Port, dessen Verarbeitung bevorzugt wird, gemäß den Situationen der Belegt-Antworten aller Ports bestimmt, nämlich gemäß der Zeit der Belegt-Antwort und der Anzahl der Male einer Belegt-Antwort. Jedoch kann der bevorzugte verarbeitende Port auch durch Analysieren der Belegt-Verhältnisse selbst bestimmt werden, die die Unterbrechungsfaktoren darstellten. Das heißt, es reicht aus, die Belegt-Verhältnisse aller Ports zu analysieren und den Port mit dem höchsten Belegt-Verhältnis als bevorzugter verarbeitender Port zu bestimmen. Solch ein Bestimmungsverfahren kann als Bestimmung des bevorzugten verarbeitenden Port durch die Analyse der Unterbrechungsfaktoren selbst angesehen werden. Was die erste Ausführungsform der fünften Form von 20 und die zweite Ausführungsform der fünften Form von 23 anbelangt, werden ähnlich wie bei der dritten Ausführungsform von 25 durch Vorsehen des Belegt-Verhältnis-Berechnungsteils 88 die Belegt-Verhältnisse aller Ports zu der Zeit des Wiederholungsunterbrechungsprozesses analysiert, und auch der Port mit dem höchsten Belegt-Verhältnis kann als bevorzugter verarbeitender Port bestimmt werden.
  • [Bewirken der Intelligenz der Eingabe/Ausgabe-Ports]
  • 25 betrifft eine Form des I/O-Systems, die die vorliegende Erfindung verkörpert. In dieser Form ist eine Befehlsanalysierfunktion für jeden Port vorgesehen, werden Befehle, die während der Verarbeitung eines anderen Port ausgeführt werden können, analysiert und werden Prozesse parallel ausgeführt. In der Magnetbandsteuereinheit 10 ist ein Befehlsanalyseausführungsteil (eine Befehlsanalyse ausführende Sektion) 92 für den Port (A) mit niedriger Geschwindigkeit vorgesehen und ist ein Befehlsanalyseausführungsteil (eine Befehlsanalyse ausführende Sektion) 94 für den Port (B) mit hoher Geschwindigkeit vorgesehen. Die Befehlsanalyseausführungsteile 92 und 94 führen Steuersignale der Magnetbandsteuereinheit 10 und den unteren Magnetbandlaufwerkeinheiten 12-1 und 12-2 durch einen unabhängigen Steuerbus 98 zu. Eine Datenübertragung zu der Seite der Magnetbandlaufwerkeinheiten 12-1 und 12-2 wird durch einen Datenbus 96 ausgeführt. Ein Datenrouten-Steuerteil 90 zum Umschalten der Ports (A und B) ist für den Datenbus 96 vorgesehen. In den oben bezüglich 424 beschriebenen ersten bis fünften Formen sind der Befehlsanalyseausführungsteil und der Datenrouten-Steuerteil als ein Routen-Steuerteil für die Magnetbandsteuereinheit 10 vorgesehen. Jeder der Befehlsanalyseausführungsteile 92 und 94, die für die Ports (A und B) vorgesehen sind, analysiert den Befehl, der durch das Koppeln mit dem Kanal in Zuordnung zu der Aktivierungsanforderung empfangen wurde, und unterscheidet, ob der Befehl ein Befehl ist, der auch während der Datenübertragung durch den anderen Port ausgeführt werden kann oder nicht. Als Befehl, der während der Datenübertragung auf Grund der Kopplung des anderen Port ausgeführt werden kann, gibt es Befehle eines Bewegungssystems für eine Ladeoperaton, eine Entladeoperation, eine Schnellvorlaufoperation, eine Rückspuloperation und dergleichen eines Magnetbandes auf der Seite der Magnetbandlaufwerkeinheiten 12-1 und 12-2, Befehle eines Abfragesystems zum Mitteilen der Operationszustände der Seite der Magnetbandlaufwerkeinheiten 12-1 und 12-2 und dergleichen. Andererseits gibt es als Befehl, der während der Datenübertragung durch das Koppeln der Seite des anderen Ports nicht ausgeführt werden kann, einen Lesebefehl und einen Schreibbefehl. Wenn die Befehlsanalyseausführungsteile 92 und 94 die Aktivierungsanforderung während der Datenübertragung durch das Koppeln des anderen Port empfangen und den Empfang des Befehls des Bewegungssystems oder des Abfragesystems analysieren, wird eine Kopplungs-Abschlußantwort erzeugt, wird der Befehl akzeptiert, ohne eine Belegt-Antwort zu erteilen, und wird der Befehl des Bewegungssystems oder Abfragesystems ausgeführt. In diesem Fall müssen die Magnetbandlaufwerkeinheit, die die Datenübertragung durch das Koppeln des anderen Port ausführt, und die Magnetbandlaufwerkeinheit des Befehls des Bewegungssystems oder Abfragesystems, der parallel ausgeführt wird, verschiedene Einheiten sein. Der Unterschied zwischen jenen Einheiten wird durch eine Laufwerk-ID geprüft, die als Befehlsparameter der Start-I/O-Anforderung empfangen wird. Hinsichtlich der Vorrichtungsbusse zwischen der Magnetbandsteuereinheit 10 und der Seite der Magnetbandlaufwerkeinheiten 12-1 und 12-2, in denen das Datenübertragungssystem, das Steuersystem und das Abfragesystem unabhängig verarbeitet werden können, kann zusätzlich zu den unabhängigen Bussen des Steuerbusses 98 und des Datenübertragungsbusses 96, die in dem Diagram gezeigt sind, auch eine Gemeinschaftsbuskonstruktion der Art verwendet werden, daß der Befehlsprozeß und die Datenübertragung gleichzeitig ausgeführt werden können.
  • Das Flußdiagramm von 26 betrifft die Verarbeitungsoperation von 25. Zuerst wird bei Schritt S1 das Vorhandensein oder Fehlen einer Aktivierungsanforderung für den Port geprüft. Wenn die Aktivierungsanforderung empfangen ist, wird bei Schritt S2 der Port mit dem Kanal gekoppelt und wird der Übertragungsprozeß des Befehls ausgeführt. Bei Schritt S3 wird der empfangene Befehl analysiert. Durch die Befehlsanalyse kann in Erfahrung gebracht werden, daß der empfangene Befehl der Befehl des Bewegungssystems ist, der nichts mit der Datenübertragung oder dem Abfragesystem zu tun hat. Bei Schritt S4 wird geprüft, ob der empfangene Befehl ein Befehl ist, der nichts mit der Datenübertragung zu tun hat, nämlich ein Befehl des Bewegungssystems oder ein Befehl des Abfragesystems. Im Falle des Befehls des Bewegungssystems oder des Befehls des Abfragesystems folgt Schritt S5 und wird geprüft, ob die Magnetbandlaufwerkeinheit in Betrieb ist oder nicht. Falls JA, wird bei Schritt S6 geprüft, ob die Laufwerk-ID, die durch die Analyse des empfangenen Befehls erhalten wurde, mit der Laufwerk-ID der Laufwerkeinheit, die gegenwärtig arbeitet, koinzidiert oder nicht. Falls JA, kann der empfangene Befehl ungeachtet der Befehlsart nicht ausgeführt werden. Deshalb wird bei Schritt S10 eine Belegt-Antwort zurückgesendet. Wenn sich die Laufwerk-ID unterscheidet, wird dann, da der Befehl des Bewegungssystems oder des Abfragesystems ausgeführt werden kann, der empfangene Befehl bei Schritt S7 ausgeführt. Wenn bei Schritt S8 beurteilt wird, daß die Serie von Übertragungsprozessen in Zuordnung zu der Befehlsausführung vollendet ist, wird ein Einheitsende als Antwort bei Schritt S9 gesendet, und die Verarbeitungsroutine kehrt zu Schritt S1 zurück. Im Falle des Port, der die Belegt-Antwort erteilte, wird als Antwort ein Belegt-Ende in Zuordnung zu dem Einheitsende gesendet. Wenn der empfangene Befehl ein Schreibbefehl oder Lesebefehl ist, der mit der Datenübertragung bei Schritt S4 einhergeht, folgt Schritt S11 und wird geprüft, ob die Daten gerade durch den anderen Teil übertragen werden oder nicht. Falls JA, wird dann, da die Daten nicht übertragen werden können, eine Belegt-Antwort bei Schritt S12 zurückgesendet, und die Verarbeitungsroutine kehrt zu Schritt S1 zurück. Wenn die Daten durch den anderen Port zur Zeit nicht übertragen werden, wird, da der Schreibbefehl oder Lesebefehl ausgeführt werden kann, der Datenübertragungsprozeß in Zuordnung zu der Befehlsausführung bei Schritt S12 ausgeführt. Wenn bei Schritt S8 beurteilt wird, daß das Ende der Übertragung eingetreten ist, wird bei Schritt S9 als Antwort ein Einheitsende gesendet, und die Verarbeitungsroutine kehrt zu Schritt S1 zurück.
  • Gemäß den oben beschriebenen I/O-Systemen kann, selbst wenn eine Vielzahl von Eingabe/Ausgabe-Ports der Eingabe/Ausgabe-Steuereinheit mit den Kanaleinheiten auf der Hostcomputer-Seite durch die Kanalbusse mit den verschiedenen Übertragungsgeschwindigkeiten verbunden ist, solch eine Situation sicher verhindert werden, daß die Dienste für die Eingabe/Ausgabe-Anforderung zwischen einem spezifischen Kanal und dem Port einseitig sind. Auch wenn sich die Eingabe/Ausgabe-Anforderungen von den Kanaleinheiten überlappen, können die Dienste für jeden Eingabe/Ausgabe-Port nahezu gleichmäßig vorgesehen werden. Deshalb kann sicher verhindert werden, daß die Vorrichtung in einen Schleifenzustand von [Belegt/Einheitsende] gelangt, so daß die Aktivierungsanforderung zu einer Belegt-Antwort zwischen dem Kanal mit niedriger Geschwindigkeit und dem Port führt, und auch wenn eine Aktivierungsanforderung wegen des Einheitsendes wieder gestellt wird, eine Belegt-Antwort erteilt wird. Solch eine Situation, daß die Zeit der Vorrichtung auf Grund einer Antwortverzögerung für die Eingabe/Ausgabe-Anforderung des Hostcomputers abläuft und sie in eine Prüfbedingung gelangt, wird vermieden. Die Systemleistung kann garantiert werden.
  • Das System der Erfindung ist oben in bezug auf das Eingabe/Ausgabe-Teilsystem beschrieben worden, das aus der Magnetbandsteuereinheit und der Magnetbandlaufwerkeinheit gebildet ist, wobei das Magnetband als Speichermedium verwendet wird. Als Eingabe/Ausgabe-Vorrichtungen außer dem obigen System inkorporiert die Erfindung jedoch auch andere Eingabe/Ausgabe-Steuereinheiten hinsichtlich geeigneter Ein gabe/Ausgabe-Vorrichtungen, wie etwa einer magneto-optischen Plattenvorrichtung, einer Magnetplattenvorrichtung und dergleichen. Die Erfindung wird auch nicht durch die in den Ausführungsformen angegebenen Zahlenwerte begrenzt.

Claims (6)

  1. Vorrichtung zum Verarbeiten einer Eingabe/Ausgabe-Anforderung von einer anfordernden Einheit (14-i) unter Verwendung mehrerer Kanalbusse (18-i) mit verschiedenen Übertragungsgeschwindigkeiten, mit: mehreren Eingabe/Ausgabe-Ports (20-i), die mit mehreren Kanaleinheiten auf der Seite der anfordernden Einheit durch mehrere Kanalbusse verbunden sind; und einer eine Befehlsanalyse ausführenden Sektion (92, 94), die für jeden Eingabe/Ausgabe-Port vorgesehen ist, um zu analysieren, ob ein in Verbindung mit einer Aktivierungsanforderung während der Kopplung eines anderen Eingabe/Ausgabe-Port empfangener Befehl ein Befehl ist, der ausgeführt werden kann oder nicht, indem ermittelt wird, ob eine Datenübertragung der internen Ressourcen durch die Kopplung des anderen Eingabe/Ausgabe-Port gerade ausgeführt wird, und, solange der empfangene Befehl ein auf andere interne Ressourcen oder ein Steuerungssystem bezogener Befehl ist und nicht mit einer Datenübertragung einhergeht, die Aktivierungsanforderung akzeptiert und der Befehlsprozeß für die anderen internen Ressourcen ausgeführt wird.
  2. Vorrichtung nach Anspruch 1, mit einer gemeinsamen Datenrouten-Steuersektion (90) für mehrere Ports.
  3. Vorrichtung nach Anspruch 1 oder 2, wobei die internen Ressourcen mehrere Eingabe/Ausgabe-Einheiten mit unabhängigen Steuerbussen (98) für einen gemeinsamen Datenbus (96) einschließen.
  4. Verfahren zum Verarbeiten einer Eingabe/Ausgabe-Anforderung von einer anfordernden Einheit (14-i) unter Verwendung mehrerer Kanalbusse, mit: einem Befehlsanalysierschritt zum Analysieren, ob ein empfangener Befehl ein Befehl ist, der ausgeführt werden kann oder nicht, falls der Befehl durch einen spezifischen Eingabe/Ausgabe-Port in Verbindung mit einer Aktivierungsanforderung in einem Zustand empfangen wird, in welchem ein anderer Eingabe/Ausgabe-Port gerade gekoppelt wird, indem analysiert wird, ob eine Datenübertragung der internen Ressourcen durch das Koppeln des anderen Eingabe/Ausgabe-Port gerade ausgeführt wird, und, solange der empfangene Befehl ein Befehl einer anderen der internen Ressourcen und eines Steuerungssystems ist, mit dem keine Datenübertragung einhergeht, beurteilt wird, daß der Befehl ein ausführbarer Befehl ist; und einem Befehlsausführschritt zum Akzeptieren der Aktivierungsanforderung und Ausführen eines Befehlsprozesses für interne Ressourcen, falls in dem Befehlsanalysierschritt analysiert wird, daß der empfangene Befehl ein Befehl ist, der in einem Zustand ausgeführt werden kann, in welchem der andere Eingabe/Ausgabe-Port gerade gekoppelt wird.
  5. Verfahren nach Anspruch 4, wobei die internen Ressourcen mehrere Eingabe/Ausgabe-Einheiten mit unabhängigen Steuerbussen für einen gemeinsamen Datenbus sind.
  6. Vorrichtung oder Verfahren nach einem der vorhergehenden Ansprüche, wobei die anfordernde Einheit einen Computer umfaßt und die Kanalbusse mit jeweiligen Magnetspeichervorrichtungen verbunden sind.
DE69535635T 1994-09-01 1995-07-31 Vefahren und Vorrichtung zur Ein-/Ausgabeanforderungsverarbeitung mit einer Mehrzahl von Kanalbussen Expired - Fee Related DE69535635T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP20850694A JP3474646B2 (ja) 1994-09-01 1994-09-01 入出力制御装置及び入出力制御方法
JP20850694 1994-09-01

Publications (2)

Publication Number Publication Date
DE69535635D1 DE69535635D1 (de) 2007-12-13
DE69535635T2 true DE69535635T2 (de) 2008-07-10

Family

ID=16557292

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69525120T Expired - Fee Related DE69525120T2 (de) 1994-09-01 1995-07-31 Verfahren und Vorrichtung zur Verarbeitung von Ein-/Ausgabeanforderungen von mehreren Host-Rechnern
DE69535635T Expired - Fee Related DE69535635T2 (de) 1994-09-01 1995-07-31 Vefahren und Vorrichtung zur Ein-/Ausgabeanforderungsverarbeitung mit einer Mehrzahl von Kanalbussen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69525120T Expired - Fee Related DE69525120T2 (de) 1994-09-01 1995-07-31 Verfahren und Vorrichtung zur Verarbeitung von Ein-/Ausgabeanforderungen von mehreren Host-Rechnern

Country Status (4)

Country Link
US (3) US5781800A (de)
EP (4) EP1143343A3 (de)
JP (1) JP3474646B2 (de)
DE (2) DE69525120T2 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3474646B2 (ja) * 1994-09-01 2003-12-08 富士通株式会社 入出力制御装置及び入出力制御方法
US6330585B1 (en) * 1998-10-14 2001-12-11 International Business Machines Corporation Transfer information using optical fiber connections
US6185631B1 (en) 1998-10-14 2001-02-06 International Business Machines Corporation Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6240446B1 (en) 1998-10-14 2001-05-29 International Business Machines Corporation Multiplexing of multiple data packets for multiple input/output operations between multiple input/output devices and a channel subsystem having multiple channels
US6434637B1 (en) * 1998-12-31 2002-08-13 Emc Corporation Method and apparatus for balancing workloads among paths in a multi-path computer system based on the state of previous I/O operations
US6820115B1 (en) * 1999-04-09 2004-11-16 Nortel Networks Limited Apparatus and method for mediating message transmission across a network
US6609165B1 (en) 1999-09-27 2003-08-19 International Business Machines Corporation Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration
US6499066B1 (en) 1999-09-27 2002-12-24 International Business Machines Corporation Method and apparatus for using fibre channel test extended link service commands for interprocess communication
US20030079018A1 (en) * 2001-09-28 2003-04-24 Lolayekar Santosh C. Load balancing in a storage network
JP2005115600A (ja) 2003-10-07 2005-04-28 Hitachi Ltd 情報処理装置及び方法
US7574548B2 (en) * 2007-09-12 2009-08-11 International Business Machines Corporation Dynamic data transfer control method and apparatus for shared SMP computer systems
CN101539771B (zh) * 2008-03-21 2012-09-19 鸿富锦精密工业(深圳)有限公司 主设备对从设备的自动定址系统
US8966126B2 (en) 2012-04-10 2015-02-24 Oracle International Corporation Multiple path load distribution for host communication with a tape storage drive
US8769162B2 (en) 2012-04-10 2014-07-01 Oracle International Corporation Multiple path load distribution for host communication with a tape storage device
US10055368B2 (en) * 2016-02-26 2018-08-21 Sandisk Technologies Llc Mobile device and method for synchronizing use of the mobile device's communications port among a plurality of applications

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4191997A (en) * 1978-04-10 1980-03-04 International Business Machines Corporation Circuits and methods for multiple control in data processing systems
US4310882A (en) * 1978-12-28 1982-01-12 International Business Machines Corporation DAS Device command execution sequence
JPS5654535A (en) * 1979-10-08 1981-05-14 Hitachi Ltd Bus control system
JPS5947625A (ja) * 1982-09-13 1984-03-17 Fujitsu Ltd 入出力割り込み方式
US4901232A (en) * 1983-05-19 1990-02-13 Data General Corporation I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
USH696H (en) * 1984-07-03 1989-10-03 Cpt Corporation System for accessing shared resource device by intelligent user devices
US4815074A (en) * 1986-08-01 1989-03-21 General Datacomm, Inc. High speed bit interleaved time division multiplexer for multinode communication systems
JPH0752420B2 (ja) * 1986-09-10 1995-06-05 株式会社日立製作所 入出力装置アドレス方式
US4821170A (en) * 1987-04-17 1989-04-11 Tandem Computers Incorporated Input/output system for multiprocessors
US5129090A (en) * 1988-05-26 1992-07-07 Ibm Corporation System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration
JPH0267653A (ja) * 1988-09-01 1990-03-07 Fujitsu Ltd ポインタ制御方式
US5179667A (en) * 1988-09-14 1993-01-12 Silicon Graphics, Inc. Synchronized DRAM control apparatus using two different clock rates
FR2644260B1 (fr) * 1989-03-08 1993-10-29 Nec Corp Dispositif de commande d'acces en memoire pouvant proceder a une commande simple
JPH0831077B2 (ja) * 1989-04-07 1996-03-27 富士通株式会社 入出力サブシステムのチャネルパス負荷率均等化方法
DE69029760T2 (de) * 1989-05-15 1997-07-17 Ibm Dateiverriegelung in einem verteilten Dateisystem
US5276678A (en) * 1990-06-18 1994-01-04 Intelect, Inc. Distributed switching and telephone conferencing system
US5255372A (en) * 1990-08-31 1993-10-19 International Business Machines Corporation Apparatus for efficiently interconnecing channels of a multiprocessor system multiplexed via channel adapters
JPH04167648A (ja) * 1990-10-29 1992-06-15 Fujitsu Ltd データ伝送装置
US5241630A (en) * 1990-11-13 1993-08-31 Compaq Computer Corp. Device controller with a separate command path between a host and the device and a separate data path including a first in, first out memory between the host and the device
JPH04373056A (ja) * 1991-06-21 1992-12-25 Matsushita Electric Ind Co Ltd 割り込みコントローラ
IE922761A1 (en) * 1992-10-21 1994-05-04 Digital Equipment Internat Ltd Port controller
US5572694A (en) * 1992-11-25 1996-11-05 Fujitsu Limited Virtual system for detecting access paths belonging to same group from plurality of access paths to reach device designated by command with reference to table
US5526484A (en) * 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
US5509126A (en) * 1993-03-16 1996-04-16 Apple Computer, Inc. Method and apparatus for a dynamic, multi-speed bus architecture having a scalable interface
JP3474646B2 (ja) * 1994-09-01 2003-12-08 富士通株式会社 入出力制御装置及び入出力制御方法
US5933648A (en) * 1996-12-20 1999-08-03 Intel Corporation Configurable arbitration device for controlling the access of components to an arbiter or the like based on a control input

Also Published As

Publication number Publication date
JPH0877092A (ja) 1996-03-22
JP3474646B2 (ja) 2003-12-08
EP0703535A2 (de) 1996-03-27
EP0703535B1 (de) 2002-01-23
DE69525120D1 (de) 2002-03-14
EP1939755A3 (de) 2008-07-30
EP1143342B1 (de) 2007-10-31
US5781800A (en) 1998-07-14
US6366963B2 (en) 2002-04-02
US20010034801A1 (en) 2001-10-25
EP1939755A2 (de) 2008-07-02
DE69535635D1 (de) 2007-12-13
EP0703535A3 (de) 1996-10-02
EP1143342A3 (de) 2004-10-06
DE69525120T2 (de) 2002-06-13
US6029008A (en) 2000-02-22
EP1143343A2 (de) 2001-10-10
EP1143343A3 (de) 2004-10-06
EP1143342A2 (de) 2001-10-10

Similar Documents

Publication Publication Date Title
DE69535635T2 (de) Vefahren und Vorrichtung zur Ein-/Ausgabeanforderungsverarbeitung mit einer Mehrzahl von Kanalbussen
DE19607515B4 (de) Computer mit Prozessverwalter
DE69334171T2 (de) Verfahren und Vorrichtung zur Arbitrierung auf einen acyclischen gerichteten Graph
DE60301702T2 (de) Fehlertolerantes Computersystem, Verfahren zur Resynchronisation desselben und Programm zur Resynchronisation desselben
DE19861002C2 (de) Computerprogramm zur Synchronisation von Leistungsdaten in verteilten Rechnerumgebungen
DE69532383T2 (de) Verfahren und vorrichtung zur dynamischen erzeugung und erhaltung von rahmenbasierten abfrageprogrammen für das abfragen von isochronen und asynchronen funktionen, die wartezeiten und bandbreiten für die isochronen funktionen garantieren
EP0179936B1 (de) Verfahren und Einrichtung zur Steuerung einer Sammelleitung
DE3238532C2 (de)
DE69633821T2 (de) Verfahren und vorrichtung in einem netzadapter zur automatischen sendewiederholung von paketen
DE3820544C2 (de) Ortsbereichsnetzsystem mit einem hiermit gekoppelten Mehrcomputersystem und Verfahren zur Steuerung hiervon
DE2911677C3 (de) Verfahren und Schaltungsanordnung zum Überwachen und Verhindern von Blockierungen in Datenverarbeitungssystemen mit mehreren Prozessoren
EP0107026B1 (de) Speicherprogrammierbare Steuerung
DE112018005427T5 (de) Autonome adress-/befehls-chip-synchronisierte datenchip-adress-ablaufsteuerung für ein verteiltes pufferspeichersystem
EP3172871B1 (de) Zugriffsverfahren mit zugriffsschlitzen und prioritätsauflösung
DE10131307B4 (de) Verfahren und Bussystem zum Synchronisieren eines Datenaustausches zwischen einer Datenquelle und einer Steuereinrichtung
DE112018007743B4 (de) Kommunikationsgerät, Kommunikationssystem und Synchronisationssteuerungsverfahren
EP0141247A2 (de) Multiprozessor-Rechner, insbesondere Multiprozessor-Zentralsteuereinheit eines Fernsprech-Vermittlungssystems
EP0175095B1 (de) Datenübertragungsverfahren über einen Multiprozessorbus
DE2629401C2 (de)
DE112016006244B4 (de) Zeitsynchrone slave-vorrichtung und kommunikationssteuerverfahren
DE112018008173T5 (de) Drahtlos-kommunikationseinrichtung; drahtlos-kommunikationsverfahren und drahtlos-kommunikationsprogramm
DE102004055445A1 (de) Verfahren und Systeme zur dynamischen Partitionsverwaltung von gemeinsamen Verbindungspartitionen
EP1426862B1 (de) Synchronisation der Datenverarbeitung in redundanten Datenverarbeitungseinheiten eines Datenverarbeitungssystems
DE3142683A1 (de) Steuerverfahren fuer lokale datennetze mit bus-struktur
DE19836051C2 (de) Synchronisation von Leistungsdaten in verteilten Rechnerumgebungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee