DE69322985T2 - Ein-/Ausgabesteuerungssystem und Ein-/Ausgabesteuerungsverfahren im System - Google Patents
Ein-/Ausgabesteuerungssystem und Ein-/Ausgabesteuerungsverfahren im SystemInfo
- Publication number
- DE69322985T2 DE69322985T2 DE69322985T DE69322985T DE69322985T2 DE 69322985 T2 DE69322985 T2 DE 69322985T2 DE 69322985 T DE69322985 T DE 69322985T DE 69322985 T DE69322985 T DE 69322985T DE 69322985 T2 DE69322985 T2 DE 69322985T2
- Authority
- DE
- Germany
- Prior art keywords
- input
- output
- control
- channel
- request
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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/126—Program 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Die vorliegende Erfindung betrifft ein Computersystem und insbesondere ein Daten-Ein-/Ausgabesteuerverfahren, das verwendet wird, wenn ein hoher Durchsatz und ein schnelles Ansprechen erforderlich sind, sowie eine Vorrichtung bei der dieses Verfahren verwendet wird.
- Dieser Typ einer Ein-/Ausgabesteuereinrichtung (E/A- Steuereinrichtung) ist im allgemeinen zwischen einer höherrangigen Vorrichtung, wie einer Zentralverarbeitungseinheit, und Einrichtungen, wie Sekundärspeichereinrichtungen in Form von Magnetplatteneinrichtungen angeordnet, so daß eine Hauptaufgabe von ihnen darin besteht, eine E/A-Verarbeitung zwischen der höherrangigen Vorrichtung und den Einrichtungen asynchron auszuführen.
- Die E/A-Steuereinrichtung und die Einrichtungen sind durch einen einzigen Kanalweg oder mehrere Kanalwege miteinander verbunden, so daß E/A-Befehle und Daten über die Kanalwege zwischen der E/A-Steuereinrichtung und den Einrichtungen übertragen werden. Die Kanalwege und die Einrichtungen können so verbunden werden, daß ein Kanalweg einer Einrichtung entspricht oder daß ein Kanalweg mehreren Einrichtungen entspricht oder daß mehrere Kanalwege einer Einrichtung entsprechen. Die E/A-Steuereinrichtung kann mehrere E/A- Anforderungen gleichzeitig verarbeiten. In dieser Situation können die Kanalwege so ausgelastet sein, daß Befehle und Daten selbst dann nicht übertragen werden können, wenn eine E/A-Anforderung von der höherrangigen Vorrichtung ausgegeben wird. Als herkömmliche Maßnahme zum Behandeln dieses Problems ist in der ungeprüften japanischen Patentveröffentlichung Sho-60-183660 eine E/A-Vorrichtung beschrieben. Bei der E/A- Vorrichtung ist eine E/A-Anforderungswarteschlange in einer Speichervorrichtung vorgesehen, die so an die E/A-Vorrichtung angeschlossen ist, daß eine E/A-Anforderung in der Warteschlange registriert werden kann und daß die E/A-Anforderung aus der Warteschlange entnommen und verarbeitet werden kann, wenn ein Zielkanalweg frei ist.
- Wie oben beschrieben wurde, werden beim herkömmlichen Verfahren E/A-Anforderungen nacheinander einzeln aus der Warteschlange entnommen und verarbeitet. Demgemäß ergibt sich zu Beginn der Datenübertragung zu den Vorrichtungen und bei der Befehlsanalyse bei jeder E/A-Anforderung ein Zusatzaufwand.
- Dieser Zusatzaufwand wird weiter unten genauer beschrieben. Der Zusatzaufwand läßt sich grob in zwei Typen einteilen.
- Ein Typ von Zusatzaufwand tritt beim Entnehmen von E/A- Befehlen, Daten usw. auf, die in einer Hauptspeichervorrichtung gespeichert sind. Wenn ein E/A-Prozessor einen E/A- Arbeitsgang ausführen soll, ist es erforderlich, daß E/A- Befehle und Daten, die in der Hauptspeichervorrichtung gespeichert sind, von einem Benutzer oder von einem Betriebssystem im E/A-Prozessor abgerufen werden. Genauer gesagt tritt dieser Typ von Zusatzaufwand in der folgenden Prozedur auf, in der eine Reihe von Arbeitsgängen dargestellt sind, durch die eine aus mehreren Kanalbefehlen bestehende E/A- Anforderung wiederholt ausgeführt wird, solange die E/A- Anforderung existiert.
- (1) Beurteilen, ob es eine E/A-Anforderung gibt oder nicht;
- (2) Entnehmen einer E/A-Anforderung;
- (3) Ungültigmachen der entnommenen E/A-Anforderung;
- (4) Herausnehmen von Hauptspeicheradressen, an denen Kanalbefehle gespeichert sind, aus der E/A-Anforderung;
- (5) Entnehmen eines Kanalbefehls aus der Hauptspeichervorrichtung;
- (6) Wiederholen des Arbeitsgangs (5), falls nicht eine E/A-Anforderung beendet wurde; und
- (7) Zurückführen der Situation der Prozedur zum Arbeitsgang (1), um die nächste E/A-Anforderung zu verarbeiten.
- Die oben erwähnte Prozedur besteht aus mehreren Mikroprogrammodulen. Demgemäß ist eine Prozedur erforderlich, die mehrere Mikroprogrammodule abdeckt, und in manchen Fällen ist eine Prozedur erforderlich, die mehrere Mikroprozessoren abdeckt, um eine E/A-Verarbeitung auszuführen. Diese Prozeduren bilden eine der Hauptursachen zum Verringern der Leistungsfähigkeit.
- Der andere Typ eines Zusatzaufwands tritt auf, wenn Befehle und Daten vom E/A-Prozessor zu einer Plattensteuereinrichtung übertragen werden. Genauer gesagt tritt dieser Typ eines Zusatzaufwands in der folgenden Prozedur auf, die zwischen den Vorgängen (5) und (6) ausgeführt wird.
- (a) Analysieren eines aus der Hauptspeichervorrichtung entnommenen Kanalbefehls;
- (b) Beurteilen, ob der Befehl an eine Plattensteuereinrichtung oder an den E/A-Prozessor ausgegeben werden soll, und Übertragen des Befehls an eine festgelegte Plattensteuereinrichtung nur in dem Fall, in dem der Befehl an die Plattensteuereinrichtung ausgegeben werden soll;
- (c) Ausführen des Befehls nur in dem Fall, in dem er an den E/A-Prozessor ausgegeben werden soll; und
- (d) Wiederholen der Prozedur vom Schritt (a) bis zum Schritt (c), falls nicht eine E/A-Anforderung beendet wurde.
- Diese Art von Zusatzaufwand wird hauptsächlich dadurch hervorgerufen, daß der E/A-Prozessor eine mit der Plattensteuerung synchrone Verarbeitung ausführt. Die Plattensteuereinrichtung führt eine Reihe von Prozeduren aus, die durch Befehle, wie SUCHEN, DURCHSUCHEN und LESEN/SCHREIBEN, gegeben sind, diese Befehle werden jedoch nacheinander einzeln vom E/A-Prozessor zur Plattensteuereinrichtung übertragen. Beim DURCHSUCHEN-Befehl, der eine Prozedur darstellt, in der beurteilt wird, ob der Plattenkopf eine vorgegebene Position erreicht hat, beginnt der E/A-Prozessor jedoch mit der Ausführung des nächsten Kanalbefehls unmittelbar nachdem der DURCHSUCHEN-Befehl zur Plattensteuereinrichtung übertragen wurde, so daß der E/A-Prozessor nicht ohne irgendeine Maßnahme normal arbeiten kann. Das heißt, daß unerwartete Daten gelesen/geschrieben werden, falls der E/A-Prozessor den nächsten LESE-/SCHREIB-Befehl zu diesem Zeitpunkt ausführt, weil LESEN/SCHREIBEN an der aktuellen Position des Plattenkopfs ausgeführt wird. Es ist daher erforderlich, einen TIC- Befehl zwischen dem DURCHSUCHEN-Befehl und dem LESE-/SCHREIB- Befehl anzuordnen, um dadurch eine Prozedur zum fortlaufenden Ausführen des DURCHSUCHEN-Befehls zu erzielen, bis durch den DURCHSUCHEN-Befehl die Ankunft des Plattenkopfs an der Position, wo die Zieldaten existieren, herausgefunden wurde. Während dieser Prozedur muß der E/A-Prozessor Befehle zur ausschließlichen Benutzung für E/A-Prozessoren ausführen, die ursprünglich keine direkte Beziehung zu Befehlen für die Plattensteuereinrichtung aufweisen. Das herkömmliche Verfahren weist in der Hinsicht Vorteile auf, daß ein leichtes Steuern ermöglicht ist, daß es keinen großen Einfluß auf die Leistungsfähigkeit bei Umständen einer relativ geringen Belastung gibt usw. Wenn die Kanalweg-Übertragungsgeschwindigkeit ansteigt, steigt die Zusatzaufwandrate jedoch im Verhältnis dazu an. Unter der Annahme, daß die herkömmliche Kanalweg-Übertragungszeit und der Zusatzaufwand folgendermaßen sind:
- herkömmliche Kanalweg-Übertragungszeit: 1 ms
- Zusatzaufwand 0,5 ms,
- beträgt die Zusatzaufwandrate 33%. Unter der Annahme, daß die Kanalweg-Übertragungsgeschwindigkeit unter der Bedingung, daß der Zusatzaufwand konstant ist, um eine Ziffer verbessert wird, sind die Kanalweg-Übertragungszeit und der Zusatzaufwand in dem Fall, in dem Daten mit derselben Datenlänge übertragen werden, die folgenden:
- Hochgeschwindigkeits-Kanalweg-Übertragungszeit: 0,1 ms
- Zusatzaufwand 0,5 ms
- Daher wird die Zusatzaufwandrate auf 83% erhöht. Das heißt, daß die zusätzliche Zeit fast die gesamte Verwendungs zeit des Kanalwegs einnimmt, wenn die Kanalweg-Übertragungszeit verkürzt wird. Es kann unter diesen Umständen daran gedacht werden, daß die Kanalweg-Übertragungszeit vergrößert wird, indem die Länge der übertragenen E/A-Daten zum Verringern des Zusatzaufwands erhöht wird. Für die Änderung der E/A-Datenlänge ist jedoch die Änderung eines Anwendungsprogramms erforderlich.
- In EP-A-0 165 915 ist ein Computersystem offenbart, das einen Ein-/Ausgabeprozessor aufweist, der über einen Kanalmultiplexer und Steuereinheiten zum Steuern der Platteneinheiten an mehrere Platteneinheiten angeschlossen ist. Für jeden Kanal im Multiplexer ist ein Puffer zum Ausführen einer Datenübertragung zu der Plattensteuereinrichtung und von dieser vorgesehen, so daß es möglich ist, zwischen den Puffern und den Platteneinheiten eine parallele Ein- und Ausgabe vorzunehmen. Die im Puffer gespeicherten Daten und Befehle werden durch einen Multiplexer zeitlich eingeteilt und zum Ein-/Ausgabeprozessor und zur Steuereinheit übertragen. Dadurch wird die Eingabe in die Platteneinheiten und die Ausgabe aus diesen in Pipelineform vorgenommen.
- Auf US-A-4 939 644 ist ein Layout eines Ein- /Ausgabeprozessors bekannt, durch das eine Verringerung des Zusatzaufwands zwischen einem Hauptprozessor und dem Ein- /Ausgabeprozessor ermöglicht wird. Um diesen Zweck zu erzielen, sind im Ein-/Ausgabeprozessor eine Gruppe von Befehlsregistern zum Akzeptieren mehrerer Befehle und eine Gruppe von Statusregistern, die den Befehlsregistern entsprechen, vorgesehen. Ein vom Hauptprozessor ausgegebener Ein- /Ausgabebefehl wird über einen Befehls-/Rückgabebus zum Ein- /Ausgabeprozessor übertragen und vorübergehend in einem aus der Gruppe von Befehlsregistern gespeichert. Wenn die Ausführung der Ein-/Ausgabe beendet ist, wird eines der mehreren Befehlsregister ausgewählt und sein Inhalt zu einer Ein- /Ausgabevorrichtung übertragen. Gleichzeitig werden Informationen in der Art eines Ein-/Ausgabefehlers in der Gruppe von Statusregistern gespeichert. Die Datenübertragung zwischen dem Hauptprozessor und dem Eingabeprozessor wird über einen schnellen Datenbus ausgeführt.
- Aus "DATABASE WPIL (Derwent Publications) Week" 9233, AN 92-274775, RD 339027 920710, welches ein Dokument nach Artikel 54(3) EPÜ ist, ist ein Verfahren zum Verringern der Ein-/Ausgabe-Übertragungszeit bekannt. Ein Ein-/Ausgabeprotokoll wird verwendet, bei dem an der Hauptseite mehrere Ein-/Ausgabebefehle als ein Paket gruppiert sind und als das eine Paket zu einer Vorrichtung übertragen werden. Das Übertragungspaket wird in einem Speicher der Vorrichtung gespeichert, und die Befehle des Pakets werden der Reihe nach auf der Grundlage von Bezeichnern ausgeführt, die dem Paket beigefügt sind, um Untersysteme zu bezeichnen.
- Eine Aufgabe der vorliegenden Erfindung besteht darin, ein Ein-/Ausgabesteuerverfahren, durch das die oben erwähnten Nachteile im Stand der Technik beseitigt werden können, und auch eine Vorrichtung, bei der das Verfahren verwendet wird, zu erzielen.
- Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Ein-/Ausgabesteuerverfahren, durch das ein hoher Durchsatz und ein schnelles Ansprechen erreicht werden können, und auch eine Vorrichtung, bei der das Verfahren verwendet wird, zu erzielen.
- Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und eine Vorrichtung gemäß Anspruch 18 gelöst. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen offenbart.
- Gemäß der vorliegenden Erfindung beinhaltet das Ein- /Ausgabesteuerverfahren die Schritte des Übertragens eines Kanalprogramms entsprechend wenigstens einer der in der Ein- /Ausgabe-Anforderungswarteschlange gespeicherten Ein-/Ausgabeanforderungen von der Ein-/Ausgabesteuereinrichtung zu einer externen Speichersteuereinrichtung, um eine Ausführung des Kanalprogramms anzufordern und die Ausführung des Kanal programms durch die externe Speichersteuereinrichtung zu steuern.
- Bei einer bevorzugten Ausführungsform der vorliegenden Erfindung reiht die externe Speichersteuereinrichtung die im empfangenen Kanalprogramm enthaltenen Kanalbefehle in die Warteschlange ein, so daß die Kanalbefehle sequentiell zu Zeitpunkten ausgeführt werden, die von Arbeitsgängen einer externen Speichervorrichtung abhängen, die durch das Kanalprogramm zu steuern ist.
- Vorzugsweise überträgt die Ein-/Ausgabesteuereinrichtung mehrere Kanalprogramme zu der externen Speichersteuereinrichtung, um die externe Speichersteuereinrichtung aufzufordern, diese Programme auszuführen.
- Fig. 1 ist ein Blockdiagramm zur Darstellung der Struktur einer Ausführungsform eines Ein-/Ausgabe-Untersystems, auf das ein Daten-Ein-/Ausgabesystem und ein Daten-Ein-/Ausgabesteuerverfahren beim System gemäß der vorliegenden Erfindung angewendet werden;
- Fig. 2 ist ein Blockdiagramm zur Darstellung der Struktur jeweiliger Steuerprozessoren in Fig. 1;
- Fig. 3 ist ein Flußdiagramm zur Darstellung der Verarbeitung bei einem Ein-/Ausgabeprozessor;
- Fig. 4 ist eine Darstellung eines Beispiels einer Ein- /Ausgabeanforderung;
- die Fig. 5A und 5B sind Darstellungen eines Beispiels von Kanalprogrammen;
- die Fig. 6A und 6B sind Darstellungen eines weiteren Beispiels von Kanalprogrammen;
- Fig. 7 ist eine Darstellung eines Beispiels der Struktur in Zusammenhang mit Plattenvorrichtungen;
- Fig. 8 ist eine Darstellung eines Beispiels einer Kanalweg-Steuertabelle;
- Fig. 9 ist eine Darstellung der Struktur von Ein- /Ausgabe-Anforderungswarteschlangen;
- die Fig. 10A bis 10C sind Darstellungen zur Erklärung der Anordnung der Ein-/Ausgabe-Anforderungswarteschlangen;
- Fig. 11 ist ein Flußdiagramm der Verarbeitung beim Kanalwegauswahl-Ein-/Ausgabe-Anforderungsregistrierabschnitt;
- Fig. 12 ist ein Flußdiagramm der Verarbeitung im Stapelsteuerabschnitt;
- Fig. 13 ist eine Darstellung eines Beispiels der Plattenvorrichtungs-Steuertabelle;
- Fig. 14A ist ein Flußdiagramm einer Plattenbefehlsverarbeitung im Befehlsverarbeitungsabschnitt;
- Fig. 14B ist ein Flußdiagramm eines Teils des Befehlsverarbeitungsabschnitts 117 einer Plattensteuereinrichtung;
- Fig. 15 ist eine Darstellung eines Beispiels der Plattenbefehlsverarbeitung;
- Fig. 16 ist eine Darstellung der Bedingung zur Datenübertragung;
- Fig. 17A ist eine Darstellung eines Datenflusses bei der herkömmlichen Kanalsteuerung;
- Fig. 17B ist eine Darstellung eines Datenflusses bei der Kanalsteuerung gemäß der vorliegenden Erfindung;
- Fig. 18 ist ein Flußdiagramm der Verarbeitung im Stapelsteuerabschnitt in dem Fall, in dem eine das Ansprechen bevorzugende Steuerung bei einer anderen Ausführungsform ausgeführt wird;
- Fig. 19 ist ein Flußdiagramm der Verarbeitung im Stapelsteuerabschnitt in dem Fall, in dem eine das Ansprechen bevorzugende Steuerung bei einer weiteren Ausführungsform ausgeführt wird;
- Fig. 20 ist eine Darstellung der Übertragung eines eine Schreibanforderung ausdrückenden Kanalprogramms zur Plattensteuereinrichtung;
- Fig. 21 ist eine Darstellung der Übertragung eines Endergebnisses der auf die Schreibanforderung hin erfolgenden Ein-/Ausgabe an den Ein-/Ausgabeprozessor;
- Fig. 22 ist eine Darstellung der Übertragung eines eine Leseanforderung ausdrückenden Kanalprogramms an die Plattensteuereinrichtung;
- Fig. 23 ist eine Darstellung der Übertragung eines Endergebnisses der auf die Leseanforderung hin erfolgenden Ein- /Ausgabe an den Ein-/Ausgabeprozessor; und
- Fig. 24 ist ein Blockdiagramm zur Darstellung der Struktur einer weiteren Ausführungsform der vorliegenden Erfindung.
- Ein Daten-Ein-/Ausgabesystem und ein Daten-Ein- /Ausgabesteuerverfahren beim System gemäß der vorliegenden Erfindung werden weiter unten detailliert mit Bezug auf die Zeichnung beschrieben.
- Fig. 1 ist ein Blockdiagramm zur Darstellung der Gesamtstruktur einer Ausführungsform eines Ein-/Ausgabe-Untersystems (E/A-Untersystems), auf das die vorliegende Erfindung angewendet wird. Das E/A-Untersystem besteht hauptsächlich aus einer Ein-/Ausgabesteuereinrichtung oder einem Ein- /Ausgabeprozessor (E/A-Steuereinrichtung oder E/A-Prozessor) 101, einer externen Speichersteuereinrichtung oder Plattensteuereinrichtung 131, externen Speichervorrichtungen, wie Plattenvorrichtungen 132, sowie einer Hauptspeichervorrichtung 121. Beim E/A-Untersystem gemäß der vorliegenden Erfindung führt der E/A-Prozessor 101 eine Ein-/Ausgabe- Anforderungsannahmeverarbeitung oder dergleichen aus, wenn eine Ein-/Ausgabeanforderung (E/A-Anforderung) 130 von einer oberen oder höherrangigen Vorrichtung (nicht dargestellt) ausgegeben wird. Daraufhin wird ein Ein-/Ausgabevorgang durch eine Datenübertragung zwischen der Hauptspeichervorrichtung 121 und der Plattensteuereinrichtung 131 abgeschlossen. Der E/A-Prozessor 101 besteht aus einem Ein-/Ausgabesteuerprozessor (E/A-Steuerprozessor) 102 sowie aus Kanal steuerprozessoren (oder Kanalvorrichtungen) 108. Der E/A- Steuerprozessor 102 besteht aus einem Hauptspeicher-Übertragungssteuerabschnitt 134 zum Ausführen einer Datenübertragungssteuerung bezüglich der Hauptspeichervorrichtung 121, eines Steuerprozessors 136 sowie eines Speicher 138. Eine Kanalsteuertabelle 103 und durch den Steuerprozessor 136 auszuführende Mikroprogramme (u-Programme) 1060 sind im Speicher 138 gespeichert. Der Steuerprozessor 136 führt die im Speicher 138 gespeicherten Mikroprogramme 1060 aus und steuert die Annahme des Annehmens der E/A-Anforderung 130 oder dergleichen, während er mit Bezug auf die Steuertabelle 103 eine Aktualisierung ausführt. Jeder der Kanalsteuerprozessoren 108-i (i = 1-4) besteht aus einem Hauptspeicher-Übertragungssteuerabschnitt 135, einem Steuerprozessor 137 und einem Speicher 139. In jedem der Kanalsteuerprozessoren 108 ist ein Befehls-/Datenpuffer 113 zum vorübergehenden Speichern von Befehlen und Daten vorgesehen, und durch den Steuerprozessor 137 auszuführende Mikroprogramme 1090 sind im Speicher 139 gespeichert. Diese Kanalsteuerprozessoren 108-i führen bezüglich der Plattensteuereinrichtung 131 eine Datenübertragung durch. Die Plattensteuereinrichtung 131 besteht aus einer Vielzahl von Plattensteuerprozessoren 133, die jeweils einen Steuerprozessor 140, einen Speicher 141 und so weiter aufweisen. Jeder der Plattensteuerprozessoren 133 analysiert vom E/A-Prozessor 101 übertragene Befehle und führt bezüglich einer Anzahl n (n: eine ganze Zahl, die nicht kleiner als 2 ist) von Plattenvorrichtungen 132 (132-1 bis 132-n) einen Platten-Ein-/Ausgabevorgang aus. Befehls-/Daten-Warteschlangen 115 zum vorübergehenden Speichern von vom E/A-Prozessor 101 übertragenen Befehlen/Daten, eine Kanalweg-Steuertabelle 103', eine Plattensteuertabelle 118 und durch den Steuerprozessor 140 auszuführende Mikroprogramme 1060' und so weiter sind im Speicher 141 gespeichert.
- In Fig. 2 sind detailliert Mikroprogrammroutinen dargestellt, die von der Struktur der jeweiligen Steuerprozesso ren 136, 137 und 140 ausgeführt werden. Der E/A-Prozessor 101 arbeitet unabhängig von der die E/A-Anforderung ausgebenden höherrangigen Vorrichtung und führt eine E/A-Steuerung der zwischen den Plattenvorrichtungen 132 (oder dergleichen) und der Hauptspeichervorrichtung 121 übertragenen Daten entsprechend der E/A-Anforderung von der höherrangigen Vorrichtung aus. Der E/A-Anforderungssteuerprozessor 102 führt Mikroprogramme, wie einen Kanalwegauswahl-Ein-/Ausgabe-Anforderungsregistrierabschnitt 104, einen Stapelsteuerabschnitt 106, einen Kanalbelegungs-Erkennungsabschnitt 105 und einen E/A- Anforderungs-Stapelabrufabschnitt 107, aus. Jeder der Kanalsteuerprozessoren 108-i führt Mikroprogramme, wie einen Befehlsstapel-Abrufabschnitt 109, einen Datenstapel-Übertragungsabschnitt 110, einen E/A-Anforderungsanalyseabschnitt 111 und einen Datenübertragungs-Steuerabschnitt 112, aus.
- Die über Kanalwege 142 an den E/A-Prozessor 101 angeschlossene Plattensteuereinrichtung 131 steuert Daten-E/A- Vorgänge für Plattenvorrichtungen 132 gemäß Anforderungen vom E/A-Prozessor 101. Die Plattensteuereinrichtung 131 führt Mikroprogramme, wie einen Stapelsteuerabschnitt 106', einen Datenübertragungs-Steuerabschnitt 114, einen Befehlsverarbeitungsabschnitt 117 sowie einen Kanalbelegungs-Erkennungsabschnitt 105', aus.
- Zur E/A-Steuerung durch den E/A-Prozessor 101 verwendete E/A-Anforderungswarteschlangen 122, Bereiche zum Speichern von Kanalprogrammen, die jeweils aus Kanalbefehlswörtern 123, 124, 125 und so weiter bestehen (jede der Bezugszahlen 123, 124 und 125 bezeichnet ein Kanalprogramm), auf die die E/A- Anforderungen zeigen, die in den E/A-Anforderungswarteschlangen 122 enthalten sind, sind in der Hauptspeichervorrichtung 121 gespeichert, und Datenbereiche 126, 127, 128 und so weiter zum Speichern zu den Kanalprogrammen gehörender Daten sind in der Hauptspeichervorrichtung 121 gespeichert.
- Die Grundlagen der E/A-Verarbeitung bei dieser Ausführungsform werden weiter unten mit Bezug auf Fig. 3 beschrie ben, wo ein Verarbeitungsablauf im E/A-Prozessor 101 dargestellt ist.
- Eine von einer höherrangigen Vorrichtung (nicht dargestellt) ausgegebene E/A-Anforderung 130 wird durch den E/A- Prozessor 101 akzeptiert (Schritt 204). Daraufhin wird durch den Inhalt der E/A-Anforderung 130 eine Beurteilung vorgenommen, um einen Kanalweg zu bestimmen, über den die Datenübertragung auszuführen ist (Schritt 205). Diese Beurteilung wird durch Durchsuchen der Kanalweg-Steuertabelle 103 ausgeführt. Daraufhin wird die im Schritt 206 akzeptierte E/A-Anforderung 130 in einer vorgegebenen E/A-Anforderungswarteschlange 122 registriert. Im Schritt 207 wird erkannt, ob der im Schritt 205 bestimmte Kanalweg gegenwärtig hinsichtlich einer Übertragung weiterer Daten belegt ist. Falls der Kanalweg hinsichtlich einer Übertragung weiterer Daten belegt ist, wird auf den Abschluß der Datenübertragung gewartet (Schritt 210). Der Vorgang des Wartens auf den Abschluß der Wegbefreiung wird zu dem Zeitpunkt unterbrochen, zu dem eine Meldung, daß der Weg frei ist, empfangen wurde. Falls der Kanalweg im Schritt 207 nicht belegt ist, geht die Routine zu einem Schritt 208 über. Im Schritt 208 wird beurteilt, ob in den E/A-Anforderungswarteschlangen 122 bereits auf eine E/A- Anforderung, die den Kanalweg verwendet, gewartet wird. Falls es keine wartende E/A-Anforderung gibt, die den Kanalweg verwendet, wird auf die Registrierung einer neuen E/A-Anforderung gewartet (Schritt 209). Falls es eine wartende E/A- Anforderung gibt, die den Kanalweg verwendet, was der übliche Fall ist, werden mehrere E/A-Anforderungen, die den Kanalweg unter allen in den E/A-Anforderungswarteschlangen 122 registrierten E/A-Anforderungen verwenden, aufgenommen (Schritt 211), und Kanalprogramme und Schreibdaten, die den jeweiligen aufgenommenen E/A-Anforderungen entsprechen, werden aus dem Hauptspeicher 121 ausgelesen und zusammen zur Plattensteuereinrichtung 131 übertragen (Schritt 212). Ein Punkt, an dem diese Ausführungsform vom Stand der Technik erheblich verschieden ist, besteht darin, daß mehrere E/A-Anfor derungen, die denselben Kanalweg verwenden, von den E/A- Anforderungswarteschlangen 122 gemeinsam aufgenommen und zur Plattensteuereinrichtung 131 übertragen werden. Die Plattensteuereinrichtung steuert die Ausführung jedes in jedem übertragenen Kanalprogramm enthaltenen Befehls. Der zusätzliche Aufwand zum Lesen eines Kanalprogramms und der zusätzliche Aufwand zum Austauschen von Befehlen zwischen dem Ein- /Ausgabeprozessor und der Plattensteuereinrichtung können so verringert werden, daß ein hoher Durchsatz erzielt werden kann.
- Diese Ausführungsform wird in näheren Einzelheiten beschrieben.
- Erstens werden von der höherrangigen Vorrichtung (nicht dargestellt) dieser Ausführungsform ausgegebene E/A-Anforderungen mit Bezug auf Fig. 4 beschrieben.
- In Fig. 4 sind ein Beispiel 301 eines E/A-Programms für in Vorrichtungen gespeicherte Dateien sowie die Grundlagen von Vorgängen (302 bis 304) eines Betriebssystems zum eigentlichen Ausführen einer Ein-/Ausgabe an Vorrichtungen in Reaktion auf eine Datei-E/A-Anforderung vom Programm 301 dargestellt. Das E/A-Programm 301 ist ein allgemein verwendetes Datei-E/A-Programm. Die Datei-Ein-/Ausgabe wird bei einem LESE-Abschnitt ausgeführt. Vor und nach dem LESE-Abschnitt sind im Programm Vor und nach-Prozeduren (ÖFFNEN/SCHLIESSEN) vorhanden. Beim LESE-Abschnitt werden ein Datenbereich, in dem Daten zu speichern sind, und andere Informationen als Parameter festgelegt. Das Betriebssystem wird in Reaktion auf den LESE-Abschnitt des E/A-Programms 301 in Betrieb genommen. In einem Schritt 302 wird ein Kanalprogramm erzeugt. Das Kanalprogramm besteht aus einem Satz von Befehlen, der durch den E/A-Prozessor 101 auszuführende Arbeitsgänge beschreibt. E/A-Anforderungen an Platten oder dergleichen sind im Kanalprogramm enthalten. In einem Schritt 303 werden durch die Kanalbefehlswörter beschriebene Arbeitsgänge an den E/A- Prozessor übergeben. Zu diesem Zeitpunkt werden Parameter in der Art eines Vorrichtungsbezeichners und einer E/A-Anforde rungsblockadresse festgelegt. Die Adresse, in der das Kanalprogramm gespeichert ist, kann über die E/A-Anforderungsblockadresse gefunden werden. Daraufhin wird in einem Schritt 304 auf den Abschluß der E/A-Verarbeitung gewartet. Der Abschluß der E/A-Verarbeitung wird durch Zurückführen einer Unterbrechung vom E/A-Prozessor 101 zur höherrangigen Vorrichtung erreicht. Das Warten auf den Abschluß der E/A- Verarbeitung wird durch die Unterbrechung aufgehoben, so daß die Verarbeitung im E/A-Programm 301 fortgesetzt wird.
- Beispiele von Kanalprogrammen, die Schnittstellenprogramme zwischen dem E/A-Prozessor und der höherrangigen Vorrichtung sind, sind in den Fig. 5A bis 6B dargestellt.
- In den Fig. 5A und 6B sind zwei Typen von Kanalprogrammen dargestellt, die allgemein verwendet und auch bei der vorliegenden Ausführungsform verwendet werden. Die Kanalprogramme eines Typs 1 sind in den Fig. 5A und 5B dargestellt, und sie weisen Befehlswörter zum Steuern des Plattenkopfs auf. In der Zeichnung bezeichnen Bezugszahlen 401 bis 408 Kanalbefehlswörter für ein LESE-Verarbeitungs-Kanalprogramm und 409 bis 419 Kanalbefehlswörter für ein SCHREIB- Verarbeitungs-Kanalprogramm. SUCHEN 401 ist ein Kanalbefehlswort zum Festlegen der Position eines Zylinderkopfs auf einen Zieldatensatz einer Platte. LEGE SEKTOR FEST 402 ist ein Kanalbefehlswort zum Festlegen der Position des Zylinderkopfs auf einen Sektor des Zieldatensatzes. SUCHE GLEICHEN BEZEICHNER 403 ist ein Kanalbefehlswort zum Prüfen des Zieldatensatzes. TIC 404 bedeutet im allgemeinen den Vorgang des Springens zu SUCHE GLEICHEN BEZEICHNER 403. SUCHE GLEICHEN BEZEICHNER 403 und TIC 404 bilden ein Paar, so daß SUCHE GLEICHEN BEZEICHNER 403 wiederholt wird, falls der Zieldatensatz nicht bestätigt wurde. Wenn die Bedingung (daß die Position des Zylinderkopfs die Position des Zieldatensatzes erreicht) in SUCHE GLEICHEN BEZEICHNER 403 erfüllt ist, überspringt das Programm TIC 404, zum LESEN 405. LESEN 405 bedeutet das Lesen von Daten aus der aktuellen Position des Plattenkopfs mit einer durch DATENLÄNGE 406 angegebenen Länge. Die so gelesenen Daten werden in einer mit HAUPTSPEICHERADRESSE 407 bezeichneten Speicheradresse gespeichert. Das in Fig. 5B dargestellte Kanalprogramm ähnelt in seiner Struktur im wesentlichen dem in Fig. 5A dargestellten Programm, wobei LESEN 405 jedoch durch SCHREIBEN 413 ersetzt ist. Die Verarbeitungen der beiden Programme unterscheiden sich folgendermaßen.
- Lesedaten werden im durch das Kanalbefehlswort 407 bezeichneten Datenbereich 408 gespeichert, wenn das in Fig. 5A dargestellte Programm ausgeführt wird. Dagegen werden Daten im Datenbereich 416 gespeichert, bevor mit der Ausführung des in Fig. 5B dargestellten Kanalprogramms begonnen wird.
- Die Kanalprogramme des Typs 2 sind in den Fig. 6A und 6B dargestellt, und sie unterscheiden sich von den Kanalprogrammen des Typs 1 und weisen eine einfachere Form auf. Die Kanalprogramme des Typs 1 beschreiben das Steuern für den Plattenkopf innerhalb von 401 bis 407 und 409 bis 415 der Kanalprogramme, während die Kanalprogramme des Typs 2 keine solche Reihe von Steuervorgängen für einen Plattenkopf, wie SUCHEN, LEGE SEKTOR FEST, SUCHE GLEICHEN BEZEICHNER und TIC beschreiben, sondern diese Arbeitsgänge werden durch die Plattensteuereinrichtung 131 lediglich durch die Festlegung der Anforderungen (LESEN, SCHREIBEN) für die Platte und die Festlegung der Position des Zieldatensatzes ausgeführt. Die Bezugszahlen 417 bis 420 bezeichnen Kanalbefehlswörter für ein Kanalprogramm zum Ausführen des LESE-Arbeitsgangs, und 422 bis 425 bezeichnen Kanalbefehlswörter für ein Kanalprogramm zum Ausführen des SCHREIB-Vorgangs.
- Fig. 7 ist eine schematische Ansicht eines Beispiels der Verbindungsstruktur von Plattenvorrichtungen. Der E/A-Prozessor 101 beinhaltet eine Vielzahl von Kanalsteuerprozessoren 108-i (die jeweils den bei dieser Ausführungsform als vorhanden angenommenen Kanalwegen 1 bis 4 entsprechen). Eine Anzahl n von Plattenvorrichtungen 132 ist an die Plattensteuereinrichtungen 131 angeschlossen. Um eine E/A-Verarbeitung auszuführen, werden eindeutige Namen (beispielsweise VOL1 bis VOL4), die im System entsprechend den Plattenvorrichtungen 132 verwendet werden, im allgemeinen von E/A-Anforderungen an die Plattenvorrichtungen 132 ausgebender Software festgelegt. In Fig. 7 wird eine Daten-E/A-Verarbeitung für VOL1 und VOL2 über einen der Kanalwege 1 und 2 ausgeführt. In ähnlicher Weise wird die Daten-E/A-Verarbeitung für VOL3 und VOL4 über einen der Kanalwege 3 und 4 ausgeführt. Im allgemeinen wird die E/A-Verarbeitung über einen Kanalweg (freien Weg) ausgeführt, der von einer Datenübertragung frei ist. Durch in der oben beschriebenen Weise geschehendes Anschließen einer Vielzahl von Kanalwegen an eine Platte kann der Durchsatz verbessert werden.
- Vom E/A-Prozessor verwendete Hauptbetriebsmittel werden weiter unten beschrieben. Wichtige Betriebsmittel, die bei der vorliegenden Erfindung verwendet werden, sind eine E/A- Anforderungswarteschlange 122 sowie eine Kanalweg-Steuertabelle 103. Die Kanalweg-Steuertabelle 103 wird zum Verwalten eines Kanalsteuerprozessors oder einer Vielzahl von Kanalsteuerprozessoren 108 verwendet, wie oben mit Bezug auf Fig. 7 beschrieben wurde. Die E/A-Anforderungswarteschlangen 122 werden zum vorübergehenden Halten von E/A-Anforderungen von höherrangigen Vorrichtungen in Wartezuständen verwendet.
- Zuerst wird die Struktur der Kanalweg-Steuertabelle 103 mit Bezug auf Fig. 8 beschrieben. Die Kanalweg-Steuertabelle 103 weist Felder zum Speichern von Vorrichtungsbezeichnern 601, E/A-Anforderungswarteschlangen-Bezeichnern 602, der jeweiligen Anzahlen 603 wartender E/A-Anforderungen, verwendbarer Kanalvorrichtungsnummern 4 und von Kanalvorrichtungszuständen 605 auf.
- Die Vorrichtungsbezeichner sind im allgemeinen Werte, die von einem Systemverwalter entsprechend den jeweiligen Vorrichtungen bei der Konstruktion des Systems zum Identifizieren einzelner E/A-Vorrichtungen festgelegt werden. Die Werte sind im System so eindeutig, daß ein Vorrichtungsbezeichner nicht für verschiedene Vorrichtungen festgelegt wird. Wenn ein Vorrichtungsbezeichner festgelegt ist, ist eine dem Vorrichtungsbezeichner entsprechende Vorrichtung dementsprechend eindeutig bestimmt. Die Werte werden auch festgelegt, wenn E/A-Anforderungen von Software an den E/A-Prozessor 101 ausgegeben werden.
- Die E/A-Anforderungswarteschlangen-Bezeichner werden zum Identifizieren einer Vielzahl von E/A-Anforderungswarteschlangen 122 verwendet. Jede der E/A-Anforderungswarteschlangen 122 kann im wesentlichen durch irgendeine geeignete Einheit getrennt werden. Die Struktur und die Halteeinheit der E/A-Anforderungswarteschlangen 122 werden später in näheren Einzelheiten beschrieben. Das Feld 603 zeigt Werte, die die jeweiligen Anzahlen von E/A-Anforderungen angeben, die als wartende E/A-Anforderungen in den E/A-Anforderungswarteschlangen 122 registriert sind. Das Feld 604 zeigt verwendbare Kanalvorrichtungen. Wie oben mit Bezug auf Fig. 7 beschrieben wurde, sind einer Vorrichtung mehrere Kanalwege zugewiesen. Die hier verwendete Bezeichnung "verwendbare Kanalwege (verwendbare Kanalvorrichtungen)" bedeutet Kanalwege, die für eine Datenübertragung verwendet werden dürfen, falls sie frei sind. Die verwendbaren Kanalwege (verwendbare Kanalvorrichtungen) werden durch einen Verwalter bei der Konstruktion des Systems festgelegt. Es ist beispielsweise im allgemeinen der Fall, daß der Verwalter eine große Anzahl von Wegen an eine Plattensteuereinrichtung, an die eine stark belastete Plattenvorrichtung angeschlossen ist, anschließt. Das Kanalvorrichtungs-Statusfeld 605 gibt an, ob jeder der Kanalwege belegt ist oder nicht. In der Zeichnung gibt "BELEGT" an, daß der Zielkanalweg gegenwärtig zur Verarbeitung einer anderen E/A-Anforderung verwendet wird, und "FREI" gibt an, daß der Zielkanalweg gegenwärtig nicht verwendet wird. Beispielsweise sind einer durch einen Vorrichtungsbezeichner "10" bezeichneten Plattenvorrichtung 132 drei Kanalwege (Kanalvorrichtungen "1", "2" und "10") zugewiesen. Von diesen werden die Kanalwege der Kanalvorrichtungen "2" und "10" gegenwärtig verwendet. Die E/A-Anforderungswarteschlange 122 wird gemeinsam durch den Bezeichner "1" verwaltet, und die Anzahl der wartenden E/A-Anforderungen in der E/A- Anforderungswarteschlange 122 ist 5. Bei einem anderen Verfahren zum Zuweisen der E/A-Anforderungswarteschlangen 122 können zwei E/A-Anforderungswarteschlangen 122 (E/A-Anforderungswarteschlangen-Bezeichner "2" und "3") zugewiesen werden, wie in einer durch einen Vorrichtungsbezeichner "20" bezeichneten Plattenvorrichtung 132 dargestellt ist. Dies zeigt, daß die Kanalvorrichtungen 108 jeweils E/A-Anforderungswarteschlangen 122 aufweisen.
- Die in den Warteschlangen 122 gehaltenen E/A-Anforderungen werden weiter unten mit Bezug auf Fig. 9 beschrieben. Fig. 9 ist eine Darstellung eines Beispiels der Struktur der E/A-Anforderungswarteschlangen 122. In der folgenden Beschreibung wird eine durch den E/A-Anforderungswarteschlangen-Bezeichner "1" bezeichnete E/A-Anforderungswarteschlange 122 als Beispiel verwendet.
- Das Feld 701 zeigt die jeweiligen obersten Adressen von gespeicherten Kanalprogrammen. Dieses Feld wird durch Software erzeugt und zeigt die jeweiligen obersten Adressen der in der Hauptspeichervorrichtung 121 gespeicherten Kanalprogramme 123 bis 125. Dieses Feld wird verwendet, wenn der E/A- Prozessor 101 bei der Nachverarbeitung Kanalprogramme aufnimmt. Das Feld 702 zeigt Vorrichtungsbezeichner. Dieses Feld wird zum Bestimmen einer Vorrichtung verwendet, die von einer E/A-Anforderung zur Verarbeitung durch ein entsprechendes Kanalprogramm angewiesen wurde. Das Feld 703 zeigt die Länge von auf der Grundlage einer E/A-Anforderung zu übertragenden Daten, die durch ein entsprechendes Kanalprogramm zu verarbeiten sind. Das Feld 704 zeigt die Art der E/A-Anforderung, wie "LESEN", die eine Übertragung von Daten von einer Vorrichtung zur Hauptspeichervorrichtung angibt, "SCHREIBEN", die eine Übertragung von Daten aus der Hauptspeichervorrichtung in eine Vorrichtung angibt, und so weiter. Wie in Fig. 9 dargestellt ist, sind mehrere E/A-Anforderungswarteschlan gen 122 vorgesehen. Die E/A-Anforderungswarteschlangen 122 sind über E/A-Anforderungswarteschlangen-Bezeichner von der Kanalweg-Steuertabelle 103 in Beziehung gesetzt. Bei dieser Ausführungsform sind die E/A-Anforderungswarteschlangen 122 in der Hauptspeichervorrichtung 121 angeordnet, und es ist nicht erforderlich, daß die E/A-Anforderungswarteschlangen 122 insbesondere in der Hauptspeichervorrichtung 121 angeordnet werden. Falls es möglich ist, die E/A-Anforderungswarteschlangen 122 im E/A-Prozessor 101 anzuordnen, können die E/A-Anforderungswarteschlangen 122 im E/A-Prozessor 101 angeordnet werden, um die Verarbeitungsleistung zu verbessern.
- Die Einheit, durch die eine E/A-Anforderungswarteschlange 122 verwaltet wird, wird weiter unten mit Bezug auf die Fig. 10A bis 10C beschrieben.
- Die Einheit für eine E/A-Anforderungswarteschlange 122 kann beliebig festgelegt werden. Es ist erheblich vorzuziehen, daß E/A-Anforderungswarteschlangen 122 dementsprechend an Orten angeordnet werden, auf die häufiger zugegriffen wird und an denen eine höhere Wahrscheinlichkeit einer Einschränkung der Leistungsfähigkeit auftritt. Bei der in Fig. 10A dargestellten Anordnung 1 sind die E/A-Anforderungswarteschlangen 122a und 122b beispielsweise jeweils entsprechend zwei Plattensteuereinrichtungen 131ä und 131b vorgesehen. Der Fall, in dem eine Plattensteuereinrichtung 131a, 131b eine große Anzahl von Plattenvorrichtungen verwaltet, wird als der Fall angesehen, in dem die vorhergehend erwähnte Anordnung wirksam ist.
- Bei der in Fig. 10B dargestellten Anordnung 2 sind E/A- Anforderungswarteschlangen 122c und 122d durch Plattenvorrichtungen angeordnet. Die Anordnung 2 unterscheidet sich in der Hinsicht von der Anordnung 1, daß die E/A-Anforderungswarteschlangen 122 unabhängig von der Anzahl der Plattensteuereinrichtungen 131 durch Plattenvorrichtungen angeordnet sind. Diese Einheit der Verwaltung von E/A-Anforderungswarteschlangen ist für den Fall wirksam, in dem auf Vorrichtungen mit hoher Frequenz zugegriffen werden kann. Beispielsweise können eine Platten-Matrixvorrichtung 132', also eine Vorrichtung, die hinsichtlich der Software logisch als eine Plattenvorrichtung angesehen wird, die jedoch hinsichtlich des Inneren der Vorrichtung als mehrere Plattenvorrichtungen 815, 816 und 817 angesehen wird, auf die gleichzeitig zugegriffen wird, oder eine Vorrichtung, die aus Halbleiterspeichern und dergleichen besteht und von der erwartet werden kann, daß sie ein sehr hohes Ansprechvermögen hat, erwogen werden.
- Bei der in Fig. 10C dargestellten Anordnung 3 sind E/A- Anforderungswarteschlangen 122e und 122f entsprechend Kanalwegen angeordnet. Diese Anordnung ist für den Fall wirksam, in dem E/A-Anforderungen mit hoher Frequenz unter Verwendung einer kleineren Anzahl von E/A-Wegen verarbeitet werden müssen, oder für den Fall, in dem kurze Daten unter Verwendung eines schnellen Kanals zu verarbeiten sind.
- Wir nehmen bei der vorliegenden Ausführungsform an, daß jede E/A-Anforderungswarteschlange in Übereinstimmung mit einem der Kanalwege entsprechend der Anordnung 3 vorgesehen ist.
- Die Arbeitsweise des Inneren des E/A-Prozessors 101 wird unter Verwendung der vorhergehend erwähnten Betriebsmittel beschrieben. In Fig. 11 ist ein Verarbeitungsablauf im Kanalwegauswahl-Ein-/Ausgabe-Anforderungsregistrierabschnitt 104 dargestellt. Durch Annehmen einer E/A-Anforderung 130 von einer höherrangigen Vorrichtung beginnt der Steuerprozessor 136 mit dieser Verarbeitung (Schritt 901). Wenn der Kanalwegauswahl-Ein-/Ausgabe-Anforderungsregistrierabschnitt 104 die E/A-Anforderung 130 akzeptiert, durchsucht der Abschnitt 104 die Kanalweg-Steuertabelle 103', um zu beurteilen, ob die verwendbare Kanalvorrichtung 108, die für die Vorrichtung eines von der empfangenen E/A-Anforderung festgelegten Vorrichtungsbezeichners verwendet werden kann, verwendet werden kann oder nicht (Schritt 902). Diese Beurteilung kann mit Bezug auf das in Fig. 8 dargestellte Kanal vorrichtungs-Statusfeld 605 erreicht werden. Falls es daher eine Kanalvorrichtung 108 gibt, die für die Vorrichtung verwendet werden kann und die den Status "FREI" hat, wird eine dem Kanalweg entsprechende E/A-Anforderungswarteschlange 122 ausgewählt. Wenn es keine Kanalvorrichtung 108 gibt, die für die Vorrichtung verwendet werden kann und die den Status "FREI" hat, wird ein E/A-Anforderungswarteschlangen-Bezeichner ausgewählt, der dem Kanalweg entspricht, bei dem die Anzahl der wartenden E/A-Anforderungen 130 kleiner ist. Die Anzahl der wartenden E/A-Anforderungen kann auch mit Bezug auf das Feld 603 erhalten werden, wo die Anzahl der wartenden Anforderungen in Fig. 8 angegeben ist. Die Auswahl über die Anzahl der wartenden E/A-Anforderungen 130 ist nur in dem Fall möglich gemacht, wo mehrere E/A-Anforderungswarteschlangen 122 einer Vorrichtung zugewiesen sind. Ansonsten ist die Auswahl an Hand der Anzahl der wartenden E/A-Anforderungen nicht erforderlich. In einem Schritt 904 werden Informationen, wie der Vorrichtungsbezeichner, die oberste Adresse des Kanalprogramms, die Übertragungsdatenlänge und die Art der Anforderung entsprechend dem im Schritt 903 erhaltenen E/A-Anforderungswarteschlangen-Bezeichner in einer E/A-Anforderungswarteschlange 122 registriert. Daraufhin wird der Wert des Felds 603, der die Anzahl der wartenden E/A-Anforderungen angibt, in der Kanalweg-Steuertabelle 103 um eins erhöht (Schritt 905), und eine Startanforderung wird an den Stapelsteuerabschnitt 106 ausgegeben (Schritt 906). Die in den E/A- Anforderungswarteschlangen neu registrierte E/A-Anforderung wird dem Stapelsteuerabschnitt 106 mitgeteilt.
- Die Verarbeitung im Stapelsteuerabschnitt 106' ist eines der Merkmale der vorliegenden Erfindung. Diese Verarbeitung wird weiter unten mit Bezug auf Fig. 12 beschrieben.
- Es gibt zwei Typen von Gelegenheiten zum Starten des Stapelsteuerabschnitts 106. Ein Gelegenheitstyp ist eine Startanforderung vom Kanalwegauswahl-Ein-/Ausgabe-Anforderungsregistrierabschnitt 104, wie einleitend beschrieben wurde. Der andere ist eine Startanforderung vom Datenübertra gungs-Verarbeitungsabschnitt 112, der von jedem der Kanalsteuerprozessoren 108-1 ausgeführt wird.
- Wenn eine Startanforderung vom Kanalwegauswahl-E/A-Anforderungsregistrierabschnitt 104 (Schritt 1001) empfangen wird, fragt der Stapelsteuerabschnitt 106 beim Kanalbelegungs- Erkennungsabschnitt 105 an, ob jeder der Kanalwege, der für eine Plattenvorrichtung verwendet werden kann, die von einer E/A-Anforderung benötigt wird, belegt ist oder nicht (Schritt 102). Hierbei erkennt der Kanalbelegungs-Erkennungsabschnitt 105 mit Bezug auf die Kanalweg-Steuertabelle 103, ob ein Kanalweg 142, der dem von der E/A-Anforderung festgelegten Kanalbezeichner entspricht, belegt ist. Ein Ergebnis der Feststellung wird dem Stapelsteuerabschnitt 106 mitgeteilt. Daraufhin beendet der Stapelsteuerabschnitt 106 die Verarbeitung, falls der entsprechende Kanalweg 140 "BELEGT" ist. Falls der Kanalweg "FREI" ist, geht die Situation der Routine zum nächsten Schritt über (Schritt 1003). Falls der Kanalweg 140 im Schritt 1003 "FREI" ist, durchsucht der Stapelsteuerabschnitt 106 die Kanalweg-Steuertabelle 103, um einen E/A-Anforderungswarteschlangen-Bezeichner für eine der dem Kanalweg entsprechenden E/A-Anforderungswarteschlangen zu erhalten (Schritt 1004). In einem Schritt 1005 wird dem E/A- Anforderungs-Stapelabruf-Verarbeitungsabschnitt 107 eine Anweisung gegeben, alle registrierten E/A-Anforderungen entsprechend dem im Schritt 1003 erhaltenen E/A-Anforderungswarteschlangen-Bezeichner aus einer der E/A-Anforderungswarteschlangen 122 zu entnehmen. Daraufhin wird null in das entsprechende die Anzahl der wartenden Anforderungen angebende Feld 603 in der Kanalweg-Steuertabelle 103 gesetzt, und das Kanalvorrichtungs-Statusfeld 605 wird von "FREI" zu "BELEGT" geändert (Schritt 1006). Daraufhin werden die mehreren vom E/A-Anforderungs-Stapelabruf-Verarbeitungsabschnitt 107 aufgenommenen E/A-Anforderungen zusammen zum E/A- Anforderungsanalyseabschnitt 111 der dem Kanalweg entsprechenden Kanalvorrichtung 108-i gesendet (Schritt 1007).
- Eine weitere Startanforderung vom Datenübertragungs- Steuerabschnitt 112 wird zu dem Zeitpunkt erzeugt, zu dem die Datenübertragung über einen der Kanalwege abgeschlossen ist. Zu diesem Zeitpunkt werden Informationen, die den Kanalweg angeben, bei dem die Datenübertragung abgeschlossen ist, zum Stapelsteuerabschnitt 106 übertragen. Wenn eine Startanforderung im Schritt 1008 vom Datenübertragungs-Steuerabschnitt 112 empfangen wird, durchsucht der Stapelsteuerabschnitt 106 die Kanalsteuertabelle 103 auf der Grundlage der Information, um zu untersuchen, ob es eine E/A-Anforderung gibt, die auf eine Übertragung von Daten zum entsprechenden Kanalweg wartet. Falls es dabei keine E/A-Anforderung gibt, die auf eine Datenübertragung wartet, wird die Verarbeitung beendet. Falls es eine auf eine Datenübertragung wartende E/A- Anforderung gibt, geht die Situation der Routine zum Schritt 1002 über, um die Datenübertragung auszuführen (Schritt 1009).
- Die Kanalsteuerprozessoren 108-i und die Plattensteuereinrichtung 131 werden weiter unten mit Bezug auf die Fig. 1 und 2 beschrieben.
- Jeder der Kanalsteuerprozessoren 108 dient zur Übertragung von Befehlen oder Daten hauptsächlich zwischen sich selbst und einer Vorrichtung. Der E/A-Anforderungsanalyseabschnitt 111 führt eine Analyse auf der Grundlage der vom Stapelsteuerabschnitt 106 gesendeten E/A-Anforderungen durch. Im E/A-Anforderungsanalyseabschnitt 111 wird zuerst der Befehlsstapel-Abrufabschnitt 109 gestartet, um Kanalprogramme zusammen abzurufen. Die vom Stapelsteuerabschnitt 106 gesendeten E/A-Anforderungen halten die jeweiligen obersten Adressen von Kanalprogrammen, so daß der Befehlsstapel-Abrufabschnitt 109 die in der Hauptspeichervorrichtung 121 gespeicherten Kanalprogramme 123 bis 125 zusammen auf der Grundlage der obersten Adressen ausliest und sie zum Befehls- /Datenpuffer 113 überträgt. Daraufhin wird die Steuerung zum Datenstapel-Übertragungsabschnitt 110 verschoben, in dem alle von einigen oder allen Kanalprogrammen erforderlichen Schreibdaten, die vom Befehlsstapel-Abrufabschnitt 109 aufgenommen wurde, aus der Hauptspeichervorrichtung 121 abgerufen und im Befehls-/Datenpuffer 113 gespeichert werden. Weil die in den Befehls-/Datenpuffer 113 zu übertragenden Schreibdaten im allgemeinen nur für ein Kanalprogramm vorhanden sind, für das ein Einschreiben von Daten in eine Plattenvorrichtung erforderlich ist, gibt es kein Abrufen von Schreibdaten für ein Kanalprogramm, für das ein Auslesen von Daten aus einer Plattenvorrichtung erforderlich ist. Die Beurteilung der Notwendigkeit des Abrufens von Schreibdaten wird mit Bezug auf das Feld 704 ausgeführt, das die Art der Anforderung in den E/A-Anforderungswarteschlangen 122 angibt.
- Von der Hauptspeichervorrichtung 121 übertragene Befehle/Daten werden im Befehls-/Datenpuffer 113 im E/A-Prozessor 101 gespeichert, wie in Fig. 16 dargestellt ist, wobei ein Kanalprogramm als ein Befehl dargestellt ist. Die weiteren Informationen mit Ausnahme der abgerufenen Befehle und Schreibdaten werden durch den Eingabeanforderungs-Analyseabschnitt 111 bereitgestellt. Befehle/Daten, beispielsweise 1405, repräsentieren, falls vorhanden, ein Kanalprogramm und Schreibdaten. Befehlsbezeichner 1403 und 1406 und Befehls- /Datenlängen 1404 und 1407 sind jeweils vor Befehlen/Daten 1405 und 1408 hinzugefügt. Die Befehlsbezeichner 1403 und 1406 weisen im System eindeutige Werte auf. Beispielsweise wird ein Vorrichtungsbezeichner für eine von einem Kanalprogramm benötigte Platte als Befehlsbezeichner 1403 oder 1406 verwendet. Ein Datenbezeichner 1401 und eine Gesamt-Übertragungsdatenlänge 1402 sind weiterhin als ein Kopfteil für die Datenübertragung hinzugefügt. Der Datenbezeichner 1401 weist einen von einer Übertragungseinheit gelieferten eindeutigen Wert auf. Bei dieser Ausführungsform wird ein E/A-Anforderungswarteschlangen-Bezeichner als Datenbezeichner 1401 verwendet.
- Es ist auf diese Weise anders als beim herkömmlichen Fall erforderlich, mehrere Befehle und die damit verbundenen Daten abzurufen, so daß es erforderlich ist, die Kapazität des Befehls-/Datenpuffers 113 stärker als im herkömmlichen Fall zu erhöhen. Wenngleich es wünschenswert ist, daß ein durch das Produkt aus der Anzahl von Warteschlangenpositionen in der E/A-Warteschlange 122, der durchschnittlichen Warteschlangenlänge bei jeder Warteschlangenposition, der E/A- Anforderungen und der durchschnittlichen Datenlänge einer E/A-Anforderung erhaltene Wert als der Wert dieser Kapazität verwendet wird, gibt es wegen der Anordnung des E/A-Prozessors usw. einige Fälle, in denen der Wert der Kapazität auf einen Wert begrenzt ist, der kleiner ist als der oben erwähnte gewünschte Wert. In diesen Fällen ist es möglicherweise nicht möglich, daß alle Anforderungen in der E/A-Anforderungswarteschlange 122 im Befehls-/Datenpuffer 113 gespeichert werden. Als Maßnahme gegen diese Fälle sind vorzugsweise Steuerungen vorgesehen, durch die so viele E/A-Anforderungen abgerufen werden, wie in freien Bereichen im Befehls- /Datenpuffer 113 gespeichert werden können. Diese Steuerungen werden durch Rückführen von E/A-Anforderungen, die nicht gespeichert werden konnten, zur E/A-Anforderungswarteschlange 122 während der Ausführung eines Arbeitsgangs im Befehlsstapel-Abrufabschnitt 109 oder im Datenstapel-Übertragungsabschnitt 110 erreicht. Weil es zu dieser Zeit eine Möglichkeit gibt, daß eine neue E/A-Anforderung an einer vorgegebenen Position der E/A-Anforderungswarteschlange 122 gespeichert worden ist, kann die E/A-Sequenz durch Einreihen bei der Position erster Ordnung (wo Befehle/Daten zuerst entnommen werden) der E/A-Anforderungswarteschlange 122 aufrechterhalten werden. Es ist weiterhin erforderlich, daß die oben erwähnte Anzahl von E/A-Anforderungen, die nicht gespeichert werden konnten, zum Wert des Felds 603 addiert wird, das die Anzahl der wartenden Anforderungen in der Kanalweg-Steuertabelle 103 angibt. Es ist weiterhin notwendig, die Positionen von mehreren im Befehls-/Datenpuffer 113 gespeicherten E/A-Anforderungen zu erkennen. Daher ersetzt der Stapelsteuerabschnitt 106 die oberste Adresse 701 des Kanalbefehlsworts, die in einem aus der E/A-Anforderungswar teschlange 122 entnommenen Datenfeld gespeichert ist, durch eine Adresse im Befehls-/Datenpuffer 113, um es dadurch zu ermöglichen, diese Steuerungen zu erzielen. Weil diese Informationen reserviert/verwaltet werden, bis die Übertragung von Befehlen/Daten in die Plattensteuereinrichtung 131 normal abgeschlossen wurde, sind diese Steuerungen möglich. Weiterhin werden mehrere Befehle/Daten zusammen zur Plattensteuereinrichtung 131 übertragen, so daß diese Steuerungen auf den Fall angewendet werden können, in dem Befehle/Daten wegen der Kapazität der Warteschlange 116 in der Plattensteuereinrichtung 131 nicht gespeichert werden können. Dies liegt daran, daß die Anzahl der in die Warteschlange eingereihten Befehle/Daten begrenzt ist, weil die Kapazität der Warteschlange 116 in der Plattensteuereinrichtung 131 auch endlich ist. In diesem Fall kann die Plattensteuereinrichtung 131 Befehle notieren, die nicht in der Warteschlange 116 in der Plattensteuereinrichtung 131 gespeichert werden konnten, so daß nur die Befehle, die nicht gespeichert werden konnten, in der E/A-Anforderungswarteschlange 122 gespeichert werden können.
- Wenn die Übertragung von Kanalprogrammen und Daten in den Befehls-/Datenpuffer 113 abgeschlossen ist, überträgt der Datenübertragungs-Steuerabschnitt 112 Befehle und Daten in die Plattensteuereinrichtung 131. Der Datenübertragungs- Steuerabschnitt 112 sendet die auf diese Weise im Befehls- /Datenpuffer 113 gespeicherten aus den Teilen 1401 bis 1408 bestehenden Daten über den Kanalweg, der mit einem Kanalsteuerprozessor verbunden ist, zu dem der Abschnitt 112 gehört, zum Datenübertragungs-Steuerabschnitt 114 in der Plattensteuereinrichtung 131. Wenn die Übertragung von Befehlen und Daten zwischen dem Datenübertragungs-Steuerabschnitt 112 und der Plattensteuereinrichtung 131 abgeschlossen ist, informiert der Datenübertragungs-Steuerabschnitt 112 den Stapelsteuerabschnitt 106 zusammen mit der Kanalvorrichtungsnummer über den Abschluß der Befehls-/Datenübertragung.
- Der folgende Zusatzaufwand, der beim Abrufen von in der Hauptspeichervorrichtung 121 gespeicherten Befehlen 123, 124 und 125 und Daten 126, 127 und 128 in den E/A-Prozessor auftritt und der bei der Ausführung der Steuerung im Stand der Technik hervorgerufen wird, kann verringert werden.
- (1) Beurteilen, ob es E/A-Anforderungen gibt oder nicht;
- (2) Entnehmen einer E/A-Anforderung;
- (3) Ungültigmachen der entnommenen E/A-Anforderung;
- (4) Herausnehmen von Hauptspeicheradressen, an denen Kanalbefehle gespeichert sind, aus der E/A-Anforderung;
- (5) Entnehmen eines Kanalbefehls aus der Hauptspeichervorrichtung;
- (6) Wiederholen des Arbeitsgangs (5) falls nicht eine E/A-Anforderung beendet wurde; und
- (7) Zurückführen der Situation der Prozedur zum Arbeitsgang (1) zum Verarbeiten der nächsten E/A-Anforderung.
- Das heißt, daß der beim Wechseln der Steuerung vom Arbeitsgang (1) zum Arbeitsgang (2) und vom Arbeitsgang (7) zum Arbeitsgang (1) auftretende Zusatzaufwand verringert werden kann, weil Befehle/Daten in den Arbeitsgängen (1) und (2) zusammen entnommen werden können. Weil das Entnehmen zusammenhängender Kanalbefehle und die Verarbeitung mehrerer E/A-Anforderungen durch einmaliges Steuern ausgeführt werden können, kann weiterhin der Zusatzaufwand, der beim Wechseln der Steuerung über mehrere Mikroprogrammodule auftritt, verringert werden.
- Weiterhin kann der folgende Zusatzaufwand, der auftritt, wenn Befehle/Daten vom E/A-Prozessor zur Plattensteuereinrichtung übertragen werden, verringert werden.
- (a) Analysieren eines aus der Hauptspeichervorrichtung entnommenen Kanalbefehls;
- (b) Beurteilen, ob der Befehl an eine Plattensteuereinrichtung oder an den E/A-Prozessor ausgegeben werden soll, und Übertragen des Befehls an eine festgelegte Plattensteuereinrichtung nur in dem Fall, in dem der Befehl an die Plattensteuereinrichtung ausgegeben werden soll;
- (c) Ausführen des Befehls nur in dem Fall, in dem er an den E/A-Prozessor ausgegeben werden soll; und
- (d) Wiederholen der Prozedur vom Schritt (a) bis zum Schritt (c), falls nicht eine E/A-Anforderung beendet wurde.
- Die Wirkung, daß der beim Wechseln der Steuerung über Mikroprogrammodule auftretende Zusatzaufwand verringert wird, wird durch Ausführen einer Stapelverarbeitung mehrerer E/A- Anforderungen in den Arbeitsgängen (a) bis (d) erreicht. Eine Erhöhung der Leistungsfähigkeit auf der Grundlage einer Vereinfachung der Arbeitsgänge (b) und (c) trägt stärker zur Verringerung des Zusatzaufwands bei. Wie später detailliert beschrieben wird, werden die Befehlswörter bei einer Übertragung von Kanalbefehlswörtern 123, 124 und 125 vom E/A-Prozessor 101 zur Plattensteuereinrichtung 131 zusammen zur Plattensteuereinrichtung 131 übertragen, nachdem Befehle (beispielsweise der TIC-Befehl) ohne direkte Beziehung zur Plattensteuereinrichtung 131 entfernt wurden. Die Bedeutung des TIC-Befehls ist die folgende. Die Plattensteuereinrichtung führt eine Reihe von Vorgängen aus, die durch Befehle, wie SUCHEN, DURCHSUCHEN und LESEN/SCHREIBEN gegeben sind, diese Befehle werden jedoch nacheinander einzeln vom E/A- Prozessor zur Plattensteuereinrichtung übertragen. Beim DURCHSUCHEN-Befehl, der eine Prozedur zum Beurteilen, ob der Plattenkopf eine vorgegebene Position erreicht hat, repräsentiert, beginnt der E/A-Prozessor mit der Ausführung des nächsten Kanalbefehls jedoch unmittelbar nachdem der E/A- Prozessor den DURCHSUCHEN-Befehl zur Plattensteuereinrichtung übertragen hat, so daß der E/A-Prozessor nicht ohne irgendeine Maßnahme normal arbeiten kann. Das heißt, daß dann, wenn der E/A-Prozessor den nächsten LESE-/SCHREIB-Befehl zu diesem Zeitpunkt ausführt, unerwartete Daten gelesen/geschrieben werden, weil LESEN/SCHREIBEN an der aktuellen Position des Plattenkopfs ausgeführt wird. Es ist daher erforderlich, einen TIC-Befehl zwischen dem DURCHSUCHEN-Befehl und dem LESE-/SCHREIB-Befehl anzuordnen, um dadurch eine Prozedur zum fortlaufenden Ausführen des DURCHSUCHEN-Befehls bereitzustel len, bis der Plattenkopf an der Position angekommen ist, wo vom DURCHSUCHEN-Befehl herausgefunden wurde, daß die Zieldaten existieren. Durch Beseitigen einer solchen synchronen Verarbeitung von der Seite des E/A-Prozessors 101, wie in dieser Ausführungsform dargestellt ist, kann die Verarbeitung, die im Stand der Technik synchron ausgeführt wurde, so eingerichtet werden, daß sie asynchron ausgeführt wird. Dadurch können die Prozeduren von (b) und (c) stark verringert werden.
- Der Stapelsteuerabschnitt 106', die Kanalweg-Steuertabelle 103' und der Kanalbelegungs-Erkennungsabschnitt 105' innerhalb einer Plattensteuereinrichtung 131 ähneln dem Stapelsteuerabschnitt 106, der Kanalweg-Steuertabelle 103 beziehungsweise dem Kanalbelegungs-Erkennungsabschnitt 105 innerhalb des E/A-Prozessors 101. Zwei Typen von Befehls- /Daten-Warteschlangen sind folgendermaßen vorgesehen. Es gibt eine Anzahl von Befehls-/Daten-Warteschlangen 116, die so verwendet werden, daß vom E/A-Prozessor 101 zusammen gesendete Befehle und Schreibdaten gehalten werden. Es gibt weiterhin eine Anzahl von Befehls-/Daten-Warteschlangen 115, um eine zum E/A-Prozessor 101 zu übertragende Ausführungsergebnisinformation und Lesedaten von den Plattenvorrichtungen 132-1 bis 132-n zu halten. Es ist idealerweise vorzuziehen, daß die Gesamtzahl der Befehls-/Daten-Warteschlangen 115 (oder 116) der Anzahl der Plattenlaufwerke gleicht, so daß jede Warteschlange der Warteschlangen 115 (oder 116) eindeutig den Plattenvorrichtungen entspricht.
- Der Datenübertragungs-Steuerabschnitt 114 in der Plattensteuereinrichtung 131 wählt eine Warteschlange innerhalb einer Befehls-/Daten-Warteschlange 116 aus, um jede Gruppe eines Kanalprogramms und von Schreibdaten auf der Grundlage des Befehlsbezeichners, beispielsweise 1403, zu speichern, so daß jede Gruppe in einer Warteschlange gespeichert wird, die einer Plattenvorrichtung entspricht, die für das Kanalprogramm erforderlich ist, welches nach dem Entfernen der Kopfteildaten 1401 und 1402 in der Gruppe enthalten ist.
- Der Datenübertragungs-Steuerabschnitt 114 entscheidet, daß mehrere Kanalprogramme, die dieselbe Plattenvorrichtung benötigen, in denselben Warteschlangen 116 gespeichert werden und daß mehrere Kanalprogramme, die verschiedene Plattenvorrichtungen benötigen, in verschiedenen Warteschlangen gespeichert werden, soweit dies möglich ist.
- In Fig. 13 ist die Struktur der Plattenvorrichtungs- Steuertabelle 118 dargestellt. Im Feld 1101 sind Plattenvorrichtungsbezeichner gespeichert, im Feld 1102 sind Befehls- /Daten-Warteschlangenbezeichner gespeichert, im Feld 1103 sind die jeweiligen Anzahlen von E/A-Anforderungen, die auf eine Verarbeitung warten, gespeichert, und im Feld 1104 sind die jeweiligen Zustände der Plattenvorrichtungen gespeichert. Die Zustände der Plattenvorrichtungen 132, der jeweiligen Befehls-/Daten-Warteschlangen 115 und 116, die den Plattenvorrichtungen 132 entsprechen und dergleichen können aus der Plattenvorrichtungs-Steuertabelle 118 entnommen werden. Der Befehlsverarbeitungsabschnitt 117 führt mit Bezug auf die Plattenvorrichtungs-Steuertabelle 118 eine Verarbeitung durch.
- In Fig. 14 ist ein Ablauf der Plattenbefehlsverarbeitung im Befehlsverarbeitungsabschnitt 117 dargestellt. Zwei Typen von Gelegenheiten zum Starten der Plattenbefehlsverarbeitung sind folgendermaßen vorgesehen. Ein Typ beruht auf einer Startanforderung vom Datenübertragungs-Steuerabschnitt 114. Der andere Typ beruht auf einer Abschlußmeldung der E/A- Verarbeitung von den Plattenvorrichtungen 119.
- Wenn eine Startanforderung vom Datenübertragungs-Steuerabschnitt 114 empfangen wird (Schritt 1201), nimmt der Befehlsverarbeitungsabschnitt 117 den Befehlsbezeichner auf, der in den Befehls-/Daten-Warteschlangen 116 gespeichert ist, um eine Zielplattenvorrichtung zu finden, und startet die Zielplatte (Schritt 1202) durch Befehle, die dem Bezeichner folgen.
- Mit dem Starten der Platte wird die in Fig. 14B dargestellte Verarbeitung im Hintergrund gestartet. Für das Star ten der Verarbeitung werden Kanalbefehlswörter 1210 bis 1213 verwendet. Die Kanalbefehlswörter 1210 bis 1213 werden durch Übertragung vom E/A-Prozessor 101 bereitgestellt. Weil, wie oben beschrieben wurde, keine Befehle mit Ausnahme von Befehlen, die zum Steuern der Plattenvorrichtungen 132 erforderlich sind, zur Plattensteuereinrichtung 131 übertragen werden, ist das Befehlsspeicherformat der Plattensteuereinrichtung 131 im Vergleich zu demjenigen der Hauptspeichervorrichtung vereinfacht. Es ist insbesondere dadurch hervorgehoben, daß der TIC-Befehl fortgelassen ist. Dementsprechend besteht eine Hauptaufgabe dieses Flußdiagramms darin, dieselbe Prozedur zu erzeugen, die durch den TIC-Befehl ausgeführt wird. In einem Schritt 1214 wird das Ende von Kanalbefehlswörtern erkannt. In einem Schritt 1215 wird ein Arbeitsgang zum Entnehmen eines Kanalbefehlsworts ausgeführt. In einem Schritt 1216 wird beurteilt, ob der gegebene Kanalbefehl SUCHEN ist oder nicht. Falls er SUCHEN ist, wird das Befehlswort zur Plattensteuereinrichtung 131 übertragen, und es wird auf den Abschluß der Übertragung gewartet (Schritt 1224). Nach Abschluß der Übertragung kehrt die Situation der Prozedur zum Schritt 1214 zurück. In einem Schritt 1217 wird beurteilt, ob der gegebene Kanalbefehl SUCHE GLEICHEN BEZEICHNER ist oder nicht. Falls er SUCHE GLEICHEN BEZEICHNER ist, wird das Befehlswort zur Plattensteuereinrichtung 131 übertragen. Danach wird beurteilt, ob das Ergebnis der Ausführung des Befehls die Bedingung des Befehls erfüllt oder nicht (Schritt 1226). Falls es die Bedingung nicht erfüllt, wird der Schritt 1222 erneut versucht. Falls es die Bedingung erfüllt, wird der Schritt 1214 ausgeführt. Der TIC-Befehl, der im Stand der Technik nur auf der Seite des E/A-Prozessors vorgesehen war, kann bei der oben erwähnten Prozedur auf der Seite der Plattensteuereinrichtung 131 verwirklicht werden. In einem Schritt 1219 wird beurteilt, ob der gegebene Kanalbefehl LESEN ist oder nicht. Falls er LESEN ist, wird das Befehlswort zur Plattensteuereinrichtung 131 übertragen, und es wird auf den Abschluß der Übertragung gewartet (Schritt 1227). Nach dem Abschluß der Übertragung kehrt die Situation der Prozedur zum Schritt 1214 zurück. Nach dem Schritt 1202 wird "BELEGT" in den Status 1104 einer entsprechenden Plattenvorrichtung in der Plattenvorrichtungs-Steuertabelle 118 geschrieben (Schritt 1203), und es wird auf die nächste Plattenstartanforderung gewartet (Schritt 1204).
- Wenn andererseits eine Meldung eines Abschlusses der E/A- Verarbeitung von einer Plattenvorrichtung 119 empfangen wird (Schritt 1205), setzt der Befehlsverarbeitungsabschnitt 117 entsprechend der Plattenvorrichtung, die über den Abschluß der E/A-Verarbeitung berichtet, Lesedaten oder Rückkehrinformationen in eine Befehls-/Daten-Warteschlange (Schritt 1206). Daraufhin wird der Stapelsteuerabschnitt 106' über das Einreihen in die Warteschlange informiert (Schritt 1207). Der Stapelsteuerabschnitt 106', der die Information über das Einreihen in die Warteschlange empfängt, führt dieselbe Verarbeitung (am Schritt 1001 in Fig. 12 beginnend) aus wie im Stapelsteuerabschnitt 106 im E/A-Prozessor 101, um den Arbeitsgang des Übertragens von Daten oder Rückkehrinformationen in den E/A-Prozessor zu starten.
- Daraufhin wird eine Daten-/Befehlseinheit am obersten Teil einer Befehls-/Daten-Warteschlange 116 entsprechend der Plattenvorrichtung, die den Abschluß der E/A-Verarbeitung meldet, von der Befehls-/Daten-Warteschlange 116 aufgenommen, so daß die Situation der Routine zum Schritt 1202 übergeht, um die Zielplattenvorrichtung zu starten (Schritt 1208). Daraufhin wird "BELEGT" in eine entsprechende Spalte des Plattenvorrichtungsstatus 1104 in der Plattensteuertabelle 118 geschrieben (Schritt 1203). Falls im Schritt 1208 in der Befehls-/Daten-Warteschlange 116 keine wartende Anforderung registriert ist, wird "FREI" als Plattenstatus in die entsprechende Spalte des Plattenvorrichtungsstatus 1104 in der Plattenvorrichtungs-Steuertabelle geschrieben.
- Der in Fig. 15 dargestellte Arbeitsgang kann durch paralleles Ausführen der vorhergehend erwähnten Plattenbefehlsver arbeitung bezüglich der mehreren Befehls-/Daten-Warteschlangen erzielt werden.
- In Fig. 15 ist der Fall dargestellt, in dem eine Befehls- /Daten-Warteschlange 1301 von den Plattenvorrichtungen 1307 und 1308 gemeinsam verwendet wird und in dem Plattenvorrichtungen 1309 und 1310 jeweilige Befehls-/Daten-Warteschlangen verwenden.
- Bei jeder der Plattenbefehlsverarbeitungen 1304, 1305 und 1306 wird beurteilt, ob es eine wartende E/A-Anforderung in der entsprechenden Befehls-/Daten-Warteschlange 1301, 1302 oder 1303 gibt. Falls es eine wartende E/A-Anforderung gibt, wird eine entsprechende Plattenvorrichtung gestartet. Die BELEGT-Raten der jeweiligen Plattenvorrichtungen können verbessert werden. Die BELEGT-Raten können insbesondere in dem Fall, in dem die Plattenvorrichtungen eine solche Struktur haben, daß eine Plattenvorrichtung eine Befehls-/Daten- Warteschlange in der gleichen Weise wie die Plattenvorrichtungen 1309 und 1310 verwendet, stärker verbessert werden.
- Die Übertragung verschiedener Kanalprogramme wird weiter unten in näheren Einzelheiten beschrieben.
- Zuerst wird die Übertragung eines Kanalprogramms entsprechend einer SCHREIB-Anforderung mit Bezug auf die Fig. 20 und 21 beschrieben.
- Fig. 20 zeigt einen Ablauf eines Kanalprogramms 123, der eine SCHREIB-Anforderung an eine Plattenvorrichtung 132 (beispielsweise 132-1) für den Fall angibt, in dem die SCHREIB-Anforderung und andere E/A-Anforderungen (unabhängig von der Art der E/A-Anforderung, von SCHREIBEN oder LESEN) an dieselbe Plattenvorrichtung zusammen zur Plattensteuereinrichtung 131 übertragen werden. Der E/A-Anforderungs-Stapelabrufabschnitt 107 im E/A-Prozessor 101 ruft eine E/A-Anforderung (beispielsweise 122-1) oder mehrere E/A-Anforderungen zusammen, also in einem Stapel, in einer E/A-Anforderungswarteschlange 122 ab, die in der Hauptspeichervorrichtung 121 gespeichert ist. Beispielsweise werden mehrere Kanalprogramme 123, 124 usw., auf die gezeigt wird, aus den so zusam men abgerufenen E/A-Anforderungen abgerufen. Zu diesem Zeitpunkt werden Kanalprogramme, die in keiner direkten Beziehung zur Platten-E/A-Steuerung stehen, aus den Kanalprogrammen entfernt. Beispielsweise wird bei dieser Ausführungsform TIC, das zum Steuern des E/A-Prozessors 101 vorgesehen ist, entfernt. Beim in den Fig. 6A und 6B dargestellten Format vom SCHREIBEN von Kanalprogrammen 2 ist die Entfernungsprozedur nicht erforderlich. Falls eine E/A-Anforderung für eine SCHREIB-Verarbeitung gegeben ist, ruft der Datenstapel-Abrufabschnitt 110 Daten 126 ab. Diese Kanalprogramme und Daten werden als ein Stapel von Daten 1803 bis 1810 zusammengestellt. Nachdem ein Datenbezeichner 1801 zum Bezeichnen des Stapels von Daten und Daten 1802 zum Angeben der Gesamt- Datenübertragungslänge L der zusammengestellten Kanalbefehle und Daten als Kopfteildaten zum Datenstapel hinzugefügt wurden, werden die sich ergebenden Daten durch den Datenübertragungs-Steuerabschnitt 112 zur Plattensteuereinrichtung 131 übertragen und über den Datenübertragungs-Steuerabschnitt 114 in einer der Befehls-/Daten-Warteschlangen 116 gespeichert, die der Plattenvorrichtung 132 entsprechen (beispielsweise 132-1).
- Dementsprechend werden Daten, die auf der SCHREIB-Anforderung beruhen, durch den Befehlsverarbeitungsabschnitt 117 in eine entsprechende Plattenvorrichtung (beispielsweise 132- 1) eingeschrieben.
- In Fig. 21 ist eine Prozedur dargestellt, in der eine Meldung, daß das Schreiben der Daten 1809 in eine entsprechende Plattenvorrichtung (beispielsweise 132-1) auf der Grundlage einer in Fig. 20 ausgegebenen SCHREIB-Anforderung 1803 bis 1809 abgeschlossen ist, zum E/A-Prozessor 101 übertragen wird. Der Befehlsverarbeitungsabschnitt 117 fügt einem SCHREIB-Ergebnis 1908 einen Befehlsbezeichner 1907 hinzu, um infolge der Ausgabe von Daten an die entsprechende Plattenvorrichtung (beispielsweise 132-1) auf der Grundlage der SCHREIB-Anforderung 1803 bis 1809 anzugeben, ob die Verarbeitung normal oder nicht normal beendet wurde. Darauf hin speichert der Befehlsverarbeitungsabschnitt 117 die sich ergebenden Daten in einer der Plattenvorrichtung (beispielsweise 132-1) entsprechenden Befehls-/Daten-Warteschlange (beispielsweise 115-1). Der Stapelsteuerabschnitt 106' der Plattensteuereinrichtung 131 ruft ein E/A-Ergebnis aus mehreren E/A-Ergebnissen 1906 bis 1908 aus den Daten, die auf diese Weise in einer der Befehls-/Daten-Warteschlangen 115 gespeichert wurden, also aus dem SCHREIB-Ergebnis und anderen E/A-Ergebnissen (SCHREIB-/LESE-Ergebnisse), die derselben Plattenvorrichtung 132-1 entsprechen, ab. Daraufhin fügt der Stapelsteuerabschnitt 106' den E/A-Ergebnissen einen Datenbezeichner 1901 und Daten 1802 zum Angeben der Gesamt- Datenübertragungslänge L der E/A-Ergebnisse und Daten als Kopfteildaten hinzu, um ein Paket zu bilden. Das Paket wird über den Datenübertragungs-Steuerabschnitt 114 zum E/A- Prozessor 101 übertragen.
- Im Stapelsteuerabschnitt 106' werden Daten, wie ein Befehlsbezeichner 1904 und dergleichen, zusätzlich bereitgestellt.
- Der das Paket empfangende E/A-Prozessor 101 überträgt den zusammengestellten Ergebnisbericht in Form eines Stapels oder getrennt nach E/A-Anforderung oder nach Abteilungseinheit zu entsprechenden Hauptprozessoren.
- Die Übertragung eines Kanalprogramms entsprechend einer LESE-Anforderung wird weiter unten mit Bezug auf die Fig. 22 und 23 beschrieben.
- Fig. 22 zeigt einen Ablauf eines Kanalprogramms 123, wobei eine SCHREIB-Anforderung in dem Fall angegeben ist, wo die LESE-Anforderung und andere E/A-Anforderungen (unabhängig von der Art der E/A-Anforderung SCHREIBEN oder LESEN) an dieselbe Plattenvorrichtung gemeinsam zur Plattensteuereinrichtung 131 übertragen werden. Der E/A-Anforderungs-Stapelabrufabschnitt 107 im E/A-Prozessor 101 ruft eine E/A-Anforderung oder mehrere E/A-Anforderungen zusammen aus einer in der Hauptspeichervorrichtung 121 gespeicherten E/A-Anforderungswarteschlange 122 ab. Beispielsweise werden mehrere bezeichnete Kanalprogramme 123, 124 usw. von den so zusammen abgerufenen E/A-Anforderungen abgerufen. Zu diesem Zeitpunkt werden Kanalprogramme, die nicht direkt auf die Platten-E/A- Steuerung bezogen sind, aus den Kanalprogrammen entfernt. Beispielsweise wird bei dieser Ausführungsform TIC, das zum Steuern des E/A-Prozessors 101 vorgesehen ist, entfernt. Beim in den Fig. 6A und 6B dargestellten Format des SCHREIBENS der Kanalprogramme 2 ist die Entfernungsprozedur nicht erforderlich. Weil die LESE-Verarbeitung in der Hinsicht von der SCHREIB-Verarbeitung verschieden ist, daß es bei der LESE- Verarbeitung noch keine Daten gibt, ist es erforderlich, die Adresse der Hauptspeichervorrichtung 121 zu speichern, wo Eingangsdaten geschrieben werden müssen. Dementsprechend ist weiter eine Hauptspeicheradresse 2009 als weitere Dateneinheit vorgesehen. Falls eine E/A-Anforderung für die SCHREIB- Verarbeitung gegeben ist, ruft der Datenstapel-Abrufabschnitt 110 Daten 126 ab. Bei der LESE-Verarbeitung führt der Datenstapel-Abrufabschnitt 110 jedoch keinen Arbeitsgang aus. Diese Kanalprogramme und Daten werden als ein Stapel von Daten 2003 bis 2010 zusammengestellt. Nachdem ein Datenbezeichner 2001 zum Bezeichnen des Stapels von Daten und Daten 2002 zum Bezeichnen der Gesamt-Datenübertragungslänge L der zusammengestellten Kanalbefehle und Daten als Kopfteildaten zum Stapel von Daten hinzugefügt wurden, werden die sich ergebenden Daten durch den Datenübertragungs-Steuerabschnitt 112 zur Plattensteuereinrichtung 131 übertragen und über den Datenübertragungs-Steuerabschnitt 114 in einer der Plattenvorrichtung 132 (beispielsweise 132-1) entsprechenden Befehls-/Daten-Warteschlange 116 (beispielsweise 116-1) gespeichert.
- Dementsprechend werden Daten auf der Grundlage der LESE- Anweisung durch den Befehlsverarbeitungsabschnitt 117 aus einer entsprechenden Plattenvorrichtung (beispielsweise 132- 1) ausgelesen.
- In Fig. 23 ist eine Prozedur dargestellt, bei der eine Meldung, daß die Übertragung der Daten 2112 aus einer ent sprechenden Plattenvorrichtung (beispielsweise 132-1) auf der Grundlage einer in Fig. 22 ausgegebenen LESE-Anforderung 2003 bis 2009 abgeschlossen ist, zum E/A-Prozessor 101 übertragen wird. Der Befehlsverarbeitungsabschnitt 117 fügt einen Befehlsbezeichner 2109 zu einem LESE-Ergebnis 2110 hinzu, um infolge der Ausgabe von Daten an die entsprechende Plattenvorrichtung (beispielsweise 132-1) auf der Grundlage der LESE-Anforderung 2003 bis 2009 anzugeben, ob die Verarbeitung normal oder nicht normal beendet wurde. Daraufhin speichert der Befehlsverarbeitungsabschnitt 117 die sich ergebenden Daten in einer der Plattenvorrichtung (beispielsweise 132-1) entsprechenden Befehls-/Daten-Warteschlange (beispielsweise 115-1). Der Stapelsteuerabschnitt 106' der Plattensteuereinrichtung 131 ruft ein E/A-Ergebnis aus mehreren E/A- Ergebnissen 2108 bis 2112 sowie eine Hauptspeicheradresse 2114 aus den Daten ab, die auf diese Weise in der Befehls- /Daten-Warteschlange 115-1 gespeichert wurden, also aus dem LESE-Ergebnis und anderen E/A-Ergebnissen (SCHREIB-/LESE- Ergebnisse), die derselben Plattenvorrichtung 132-1 entsprechen. Daraufhin fügt der Stapelsteuerabschnitt 106' einen Datenbezeichner 2101 und Daten 2102 zum Angeben der Gesamt- Datenübertragungslänge L der so zusammen abgerufenen E/A- Ergebnisse und Daten als Kopfteildaten zu den E/A-Ergebnissen hinzu, um ein Paket zu bilden. Das Paket wird über den Datenübertragungs-Steuerabschnitt 114 zum E/A-Prozessor 101 übertragen.
- Im Stapelsteuerabschnitt 106' werden Daten 2103, 2104 und so weiter, wie ein Befehlsbezeichner 2103 und dergleichen, zusätzlich bereitgestellt.
- Der das Paket empfangende E/A-Prozessor 101 überträgt den zusammengestellten Ergebnisbericht zu entsprechenden Hauptprozessoren in Form eines Stapels oder getrennt nach E/A- Anforderungen oder nach Abteilungseinheiten.
- Wenn die E/A-Anforderung eine LESE-Anforderung ist, müssen Daten in einen vorgegebenen Bereich der Hauptspeichervorrichtung 121 eingeschrieben werden. Die Daten werden hin ter dem Ort eingeschrieben, wo das Einschreiben der Daten auf der Grundlage der übertragenen Hauptspeicheradresse 2113 berechnet wurde.
- Wie oben beschrieben wurde, überträgt der E/A-Prozessor 101 dann, wenn die E/A-Anforderung eine LESE-Anforderung ist, um eine Anforderung zum Lesen von Daten aus einer Plattenvorrichtung auszugeben, das Kanalprogramm zusammen mit einer Adresse zum Einschreiben von Daten in die Hauptspeichervorrichtung 121 zur Plattensteuereinrichtung 131, so daß der E/A-Prozessor 101 dann, wenn die Plattensteuereinrichtung in Reaktion auf die LESE-Anforderung Daten aus der Plattenvorrichtung ausliest, die Daten an die Adresse der Hauptspeichervorrichtung schreiben kann, indem er die Schreibadresse 2114 zusammen mit den E/A-Ergebnissen 2108 bis 2112, die die Lesedaten für den E/A-Prozessor enthalten, zum E/A- Prozessor überträgt.
- In diesem Fall kann der E/A-Prozessor das Kanalprogramm zusammenstellen, das eine LESE-Anforderung und eine Schreibadresse für das Kanalprogramm angibt, um die so zusammengestellten Daten zur Plattensteuereinrichtung zu übertragen, oder er kann das Kanalprogramm, das eine LESE-Anforderung angibt, und andere E/A-Anforderungen zusammenstellen, um die so zusammengestellten Daten zur Plattensteuereinrichtung zu übertragen.
- Die Plattensteuereinrichtung kann das Daten enthaltende E/A-Ergebnis in Reaktion auf eine LESE-Anforderung und eine Schreibadresse für das E/A-Ergebnis zusammenstellen, um die zusammengestellten Daten zum E/A-Prozessor zu übertragen, oder sie kann das E/A-Ergebnis und andere E/A-Ergebnisse, die sich auf dieselbe Plattenvorrichtung beziehen, zusammenstellen, um die zusammengestellten Daten zum E/A-Prozessor zu übertragen.
- Weiterhin können in der Plattensteuereinrichtung Kanalprogrammen entsprechende Schreibadressen, die mehrere E/A- Anforderungen angeben, welche eine LESE-Anforderung enthalten, die sich auf eine Plattenvorrichtung bezieht, die getrennt vom E/A-Prozessor zur Plattensteuereinrichtung übertragen werden, zusammen verwaltet werden, so daß das E/A- Ergebnis, das in Reaktion auf die LESE-Anforderung gelesene Daten enthält, und andere E/A-Ergebnisse, die den mehreren E/A-Anforderungen entsprechen, zusammen zum E/A-Prozessor übertragen werden.
- Ein Datenfluß zwischen dem E/A-Prozessor 101 und der Plattensteuereinrichtung 131 gemäß der vorliegenden Erfindung wird mit Bezug auf die Fig. 17A und 17B mit demjenigen im Stand der Technik verglichen. Bei der herkömmlichen Kanalsteuerung werden E/A-Anforderungen von einer E/A-Anforderungswarteschlange nacheinander einzeln aufgenommen oder übertragen, und Kanalbefehlswörter innerhalb jedes Kanalprogramms werden nach Bestätigung des Abschlusses eines vorhergehenden von ihnen nacheinander einzeln übertragen. Dementsprechend ergibt sich ein Zusatzaufwand zum Aufnehmen jedes Kanalprogramms und zum Übertragen jedes Kanalbefehlsworts. Daher ist die Übertragungszeit 1508-1512 für Befehle und Daten für einzelne Kanalprogramme hoch. Weiterhin bestehen Blindzeiträume zwischen der Übertragung verschiedener Kanalprogramme. Falls die E/A-Anforderungswarteschlange dementsprechend stark belastet ist, werden die E/A-Anforderungen, die nicht mehr verarbeitet werden können, in der E/A-Anforderungswarteschlange angesammelt, wie in den Bezugszahlen 1501 bis 1505 dargestellt ist.
- Im Gegensatz dazu werden beim Datenfluß an Hand der Kanalsteuerung dieser Ausführungsform, wie in Fig. 17B dargestellt ist, mehrere in den E/A-Anforderungswarteschlangen gespeicherte E/A-Anforderungen gemeinsam aufgenommen und übertragen. Die Ausführung jedes Kanalbefehlsworts wird durch die Plattensteuereinrichtung gesteuert, nachdem diese das Kanalprogramm empfangen hat. Daher können mehrere Befehle/Daten mit einem geringeren Zusatzaufwand übertragen werden, wie bei den Befehls-/Datenübertragungen 1515 oder 1516 dargestellt ist. Die Anzahl der gemeinsamen Verarbeitungen ändert sich entsprechend der Belastung, so daß sich diese Anzahl bei einer geringen Belastung derjenigen beim herkömmlichen Kanalbetrieb nähert und bei einer hohen Belastung ansteigt. Weil die vorhergehend erwähnte Steuerung automatisch ausgeführt wird, wird nicht unnötig auf eine hohe Anzahl von E/A-Anforderungen gewartet, so daß Befehle/Daten mit so kurzer Reaktionszeit wie möglich übertragen werden können. Weil die Störung durch den zusätzlichen Aufwand durch die Zusammenstellung von E/A-Anforderungen auf das erforderliche Minimum begrenzt werden kann, kann im Vergleich mit der herkömmlichen Kanalvorrichtung ein relativ hoher Durchsatz erzielt werden. Insbesondere erhöht sich die Wirkung der Erfindung, wenn sich die Kanalgeschwindigkeit erhöht. Dies liegt daran, daß die Erhöhung der relativen Rate des Zusatzaufwands, die dadurch bewirkt wird, daß sich der Zusatzaufwand nicht ändert, wenngleich die Datenübertragungszeit durch die Erhöhung der Kanalgeschwindigkeit verkürzt wird, bei dieser Ausführungsform unterdrückt werden kann. Es wird weiter angenommen, daß die Kabellänge zwischen dem E/A-Prozessor und der Plattensteuereinrichtung zur Bildung eines Kanalwegs zur künftigen Erweiterung des Systems vergrößert werden kann. Wenn der Kanalweg wie oben beschrieben vergrößert wird, wird die zum Herstellen einer Verbindung zwischen den beiden erforderliche Zeit verlängert. Dadurch erhöht sich der Zusatzaufwand bei der Datenübertragung. Selbst in diesem Fall kann eine wirksame Datenübertragung bei dieser Ausführungsform ausgeführt werden, während die Erhöhung des Zusatzaufwands unterdrückt wird.
- Eine weitere Ausführungsform der Erfindung wird weiter unten beschrieben.
- Fig. 18 ist eine Ansicht eines Verarbeitungsablaufs im Stapelsteuerabschnitt 106 für den Fall, in dem in der Ausführungsform eine das Ansprechen bevorzugende Steuerung ausgeführt wird. Ähnlich wie bei der vorhergehend erwähnten Ausführungsform gibt es bei dieser Ausführungsform zwei Start gelegenheiten bei der Verarbeitung im Stapelsteuerabschnitt 106. Eine ist eine Startanforderung vom Kanalwegauswahl-Ein-/Ausgabe-Anforderungsregistrierabschnitt 104. Die andere ist eine Startanforderung vom Datenübertragungs-Verarbeitungsabschnitt 112. Wenn eine Startanforderung vom E/A- Anforderungsregistrierabschnitt 104 ausgegeben wird (Schritt 1601), verwendet der Stapelsteuerabschnitt 106 den Kanalbelegungs-Erkennungsabschnitt 105, um sich auf die Kanalweg-Steuertabelle 103 zu beziehen, um dadurch zu erkennen, ob ein Kanalweg verwendet werden kann, der dem Vorrichtungsbezeichner entspricht, welcher der E/A-Anforderung unterzogen wird (Schritt 1602). Falls der Ziel-Kanalweg 140 dabei "BELEGT" ist, wird die Verarbeitung beendet. Falls der Ziel-Kanalweg dabei nicht "BELEGT" ist, geht die Situation der Routine zum Schritt 1604 über (Schritt 1603). Im Schritt 1604 wird ein dem Kanalweg entsprechender E/A-Anforderungswarteschlangen-Bezeichner aus der Kanalweg-Steuertabelle 103 entnommen. Daraufhin werden E/A-Anforderungen aus den E/A-Anforderungswarteschlangen 122 aufgenommen, die dem E/A-Anforderungsbezeichner entsprechen, welcher im Schritt 1604 angenommen wurde, während die Länge von in die Plattensteuereinrichtung 131 zu übertragenden Daten hinzugefügt wird. Wenn die Datenlänge eine vorgegebene Länge übersteigt, wird das Aufnehmen von E/A-Anforderungen beendet (Schritte 1605 und 1606). Wenn es im Schritt 1606 keine aufzunehmende E/A-Anforderung gibt und wenn die Datenlänge eine vorgegebene Länge übersteigt, geht die Situation der Routine zum nächsten Schritt über. Wenn das Aufnehmen von E/A-Anforderungen abgeschlossen ist, wird ein durch Subtrahieren der Anzahl der so aufgenommenen E/A-Anforderungen von einer entsprechenden Spalte des Felds 603, die die Anzahl der wartenden Anforderungen in der Kanalweg-Steuertabelle 103 angibt, erhaltener Wert in die Spalte des Felds 603 gesetzt, die die Anzahl der wartenden Anforderungen angibt, und "BELEGT" wird in eine entsprechende Spalte des Kanalvorrichtungs-Statusfelds 605 gesetzt (Schritt 1607). Daraufhin wer den die mehreren so aufgenommenen E/A-Anforderungen zusammen zum E/A-Anforderungsanalyseabschnitt 111 gesendet (Schritt 1608).
- Eine Startanforderung vom Datenübertragungs-Steuerabschnitt 112 als die andere Startgelegenheit wird zu einem Zeitpunkt erzeugt, zu dem die Datenübertragung über einen Kanalweg abgeschlossen ist. Zu diesem Zeitpunkt werden Informationen, die den Kanalweg angeben, über den die Datenübertragung abgeschlossen wird, und dergleichen vom Datenübertragungs-Steuerabschnitt 112 gesendet (Schritt 1609). In einem Schritt 1610 wird die Kanalweg-Steuertabelle 103 auf der Grundlage der Informationen durchsucht, um zu untersuchen, ob es eine wartende E/A-Anforderung gibt, die den Kanalweg verwendet. Falls es dabei keine wartende E/A-Anforderung gibt, wird die Verarbeitung beendet. Falls es eine wartende E/A-Anforderung gibt, geht die Situation der Routine zum Schritt 1602 über.
- Durch Ausführen der vorhergehend erwähnten Steuerung im Stapelsteuerabschnitt 106 kann eine E/A-Steuerung mit einem bevorzugten Ansprechen bezüglich höherrangiger Vorrichtungen und dergleichen erzielt werden. Wenn die Anzahl der Zusammenstellungen begrenzt ist, ist die Daten-/Befehlsübertragungszeit verkürzt, so daß der Durchsatz mehr oder weniger verringert ist. Die Ausführungsform ist jedoch für den Fall wirksam, in dem ein bevorzugtes Ansprechen bezüglich höherrangiger Vorrichtungen und dergleichen erforderlich ist.
- Eine weitere Ausführungsform der Erfindung wird weiter unten beschrieben.
- Fig. 19 ist eine Ansicht eines Verarbeitungsablaufs im Stapelsteuerabschnitt 106' für den Fall, in dem ebenso wie bei der früheren Ausführungsform eine das Ansprechen bevorzugende Steuerung ausgeführt wird. Bei dieser Ausführungsform unterscheidet sich die Verarbeitung in einem Schritt 1706 von derjenigen im Schritt 1606 bei der vorhergehend erwähnten Ausführungsform. Wenn bei dieser Ausführungsform eine vorgegebene Anzahl von E/A-Anforderungen aus einer E/A-Anforderungswarteschlange aufgenommen wird, die dem im Schritt 1704 erhaltenen E/A-Anforderungsbezeichner entspricht, wird das Aufnehmen von E/A-Anforderungen beendet. Das heißt, daß im Schritt 1706 beurteilt wird, ob die Anzahl der aufgenommenen E/A-Anforderungen eine vorgegebene Anzahl erreicht (oder ob es keine aufzunehmende E/A-Anforderung gibt). Falls die Anzahl der E/A-Anforderungen kleiner ist als die vorgegebene Anzahl, wird das Aufnehmen der E/A-Anforderungen im Schritt 1705 fortgesetzt. Wenn die Anzahl der aufgenommenen E/A- Anforderungen die vorgegebene Anzahl übersteigt, geht die Situation der Routine zum nächsten Schritt über. Der Vorgang des Aufnehmens von E/A-Anforderungen kann bei höherer Geschwindigkeit ausgeführt werden, indem der Schritt 1602 bei der vorigen Ausführungsform zu einem Schritt 1701 bei dieser Ausführungsform geändert wird. Der Grund ist der folgende. In dem Fall, wo Kanalprogramme als ein Satz von Kanalprogrammen festgelegt werden, muß die Datenlänge bei der vorigen Ausführungsform berechnet werden, während die Kette von Kanalprogrammen immer dann, wenn eine E/A-Anforderung aufgenommen wird, um mehrere Stufen zurückverfolgt wird. Dagegen ist bei dieser Ausführungsform lediglich das Zählen der Anzahl der aufgenommenen E/A-Anforderungen erforderlich. Bei dieser Ausführungsform wurde jedoch die Datenlänge nicht berücksichtigt, die ein wichtiger Faktor für die zur Verwendung des Kanalwegs erforderliche Zeit ist. Dementsprechend ist diese Ausführungsform nicht für den Fall geeignet, wo die Änderung der E/A-Anforderungslänge hoch ist, sondern diese Ausführungsform ist unter den Umständen wirksam, daß die Änderung der E/A-Anforderungslänge gering ist.
- Andere Prozeduren werden bei dieser Ausführungsform in der gleichen Weise wie bei der vorigen Ausführungsform ausgeführt.
- Wenngleich jede der Ausführungsform in den Fig. 1 und 2 den Fall zeigt, wo das Steuerung unter Verwendung der Steuerprozessoren 136, 137 und 140 ausgeführt wird, kann die Erfindung auch auf den Fall angewendet werden, wo die Funktionen dieser Prozessoren jeweils durch Hardware für ausschließlichen Gebrauch ersetzt werden können. Fig. 24 ist ein Blockdiagramm zur Darstellung des Falls, wo die in den Fig. 1 und 2 dargestellte Gesamtstruktur durch Hardware ersetzt ist. In der Zeichnung ist das Bezugssymbol A zur Vereinfachung der Beschreibung jeder der Bezugszahlen hinzugefügt, die sich auf Teile beziehen, die dieselben Funktionen wie in den Blöcken aus Fig. 2 aufweisen.
- Wie oben beschrieben wurde, kann gemäß der vorliegenden Erfindung eine E/A-Verarbeitung erzielt werden, bei der nicht nur der zum Starten und Beenden eines Kanals erforderliche Zusatzaufwand auf das erforderliche Minimum beschränkt ist, sondern bei der die Ansprechzeit auch wenig verringert ist.
Claims (28)
1. Ein-/Ausgabesteuerverfahren in einem System, das eine
Ein-/Ausgabesteuervorrichtung (101) aufweist, die die
Ausführung einer Vielzahl von Ein-/Ausgabeanforderungen, die von
einer höherrangigen Vorrichtung ausgegeben werden, steuert,
wobei jeweils ein Datenschreiben in oder ein Datenlesen aus
einer Speichervorrichtung aus einer Vielzahl von externen
Speichervorrichtungen (132) gefordert wird, und das eine
externe Speichersteuervorrichtung (131) zum Steuern der
Vielzahl von externen Speichervorrichtungen auf der Grundlage der
von der Ein-/Ausgabesteuervorrichtung ausgegebenen Befehle
aufweist, mit den Verfahrensschritten:
(a) Auslesen wenigstens eines Steuerprogramms (123 bis
125), das durch wenigstens eine Anforderung aus den vielen,
von der höherrangigen Vorrichtung ausgegebenen Ein-
/Ausgabeanforderungen (130) bestimmt ist, durch die Ein-
/Ausgabesteuervorrichtung aus einem Speicher (121), der eine
Vielzahl von Steuerprogrammen speichert;
(b) Übertragen des ausgelesenen Steuerprogramms zu der
externen Speichersteuervorrichtung (131);
(c) Speichern des übertragenen Steuerprogramms innerhalb
der externen Speichersteuervorrichtung (131); und
(d) Ausführen des gespeicherten Steuerprogramms unter
Aufsicht der externen Speichersteuervorrichtung (131).
2. Ein-/Ausgabesteuerverfahren gemäß Anspruch 1, wobei im
Ausführungsschritt (d) eine Vielzahl von Befehlen, die in dem
gespeicherten Steuerprogramm enthalten sind, sequentiell zu
Zeitpunkten ausgeführt wird, die von den Arbeitsvorgängen
einer Speichervorrichtung aus der Vielzahl von externen
Speichervorrichtungen (132), die durch das eine Steuerprogramm
gesteuert werden soll, abhängen.
3. Ein-/Ausgabesteuerverfahren gemäß Anspruch 1 oder 2
weiter umfassend die Verfahrensschritte:
(e) Auslesen von Schreibdaten (126 bis 128), die durch
das Auslesesteuerprogramm bestimmt sind, aus dem Speicher
(121) durch die Ein-/Auslesesteuervorrichtung, wenn es welche
gibt;
wobei im Übertragungsschritt das ausgelesene
Steuerprogramm und die ausgelesenen Schreibdaten zu der externen
Speichersteuervorrichtung (131) übertragen werden;
(f) Speichern der übertragenen Schreibdaten innerhalb
der externen Speichersteuervorrichtung (131);
(g) Übertragen der gespeicherten Schreibdaten zu einer
der externen Speichervorrichtungen (132), die durch das
gespeicherte Steuerprogramm gesteuert werden soll, durch die
externe Speichersteuervorrichtung.
4. Ein-/Auslesesteuerverfahren gemäß Anspruch 3, wobei im
Übertragungsschritt das ausgelesene Steuerprogramm und die
ausgelesenen Schreibdaten zusammen zu der externen
Speichersteuervorrichtung (131) übertragen werden.
5. Ein-/Auslesesteuerverfahren gemäß einem der Ansprüche 1
bis 4, wobei im Ausführungsschritt
die vom gespeicherten Steuerprogramm bestimmten Daten
aus einer Speichervorrichtung der Vielzahl von externen
Speichersteuervorrichtungen (132) ausgelesen werden, wenn es
welche gibt; und
die ausgelesenen Daten zu der
Ein-/Ausgabesteuervorrichtung (101) zusammen mit einer Schreibadresse des
Speichers (121), der durch das gespeicherte Steuerprogramm
bestimmt ist, übertragen werden.
6. Ein-/Ausgabesteuerverfahren gemäß Anspruch 3, wobei das
ausgelesene Steuerprogramm und die ausgelesenen Schreibdaten
in der Ein-/Ausgabesteuervorrichtung (101) vorübergehend
gespeichert werden.
7. Ein-/Ausgabesteuerverfahren gemäß einem der Ansprüche 1
bis 6, weiter umfassend die Verfahrensschritte:
(a) Auswählen von vielen Ein-/Ausgabeanforderungen, die
unter den Ein-/Ausgabeanforderungen, die von der
höherrangigen Vorrichtung ausgegeben werden, abgearbeitet werden
sollen;
(b) Auslesen von vielen Steuerprogrammen, die durch die
Vielzahl von ausgewählten Ein-/Ausgabeanforderungen bestimmt
sind, durch die Ein-/Ausgabesteuervorrichtung (101) aus einem
Speicher (121), der eine Vielzahl von Steuerprogrammen
speichert;
(c) Übertragen der ausgelesenen Steuerprogramme zu der
externen Speichersteuervorrichtung (131);
(d) Speichern der übertragenen Steuerprogramme in der
externen Speichersteuervorrichtung (131); und
(e) Ausführen der gespeicherten Steuerprogramme unter
Aufsicht der externen Speichersteuervorrichtung (131).
8. Ein-/Ausgabesteuerverfahren gemäß einem der Ansprüche 1
bis 7, wobei im Ausführungsschritt (e) viele von den
gespeicherten Steuerprogrammen parallel zueinander ausgeführt
werden, wobei diese vielen Steuerprogramme unter den
gespeicherten Steuerprogrammen die sind, die unterschiedliche
Speichervorrichtungen aus der Vielzahl von externen
Speichervorrichtungen (132) steuern.
9. Ein-/Ausgabesteuerverfahren gemäß Anspruch 8,
wobei im Speicherschritt (d) die übertragenen
Steuerprogramme in einer Vielzahl von Befehlsspeicherbereiche (116)
gespeichert werden;
wobei im Ausführungsschritt (e) viele von den
gespeicherten Steuerprogrammen parallel zueinander ausgeführt
werden, wobei die vielen Steuerprogramme unter den gespeicherten
Steuerprogramme die sind, die in unterschiedlichen Bereiche
der Befehlspeicherbereiche (116) gespeichert sind und
unter
schiedliche Speichervorrichtungen der Vielzahl von externen
Speichervorrichtungen (132) steuern.
10. Ein-/Ausgabesteuerverfahren gemäß einem der Ansprüche 7
bis 9,
wobei im Übertragungsschritt eine Vielzahl von Kennungen
(1403, 1406) zusammen mit den ausgelesenen Steuerprogrammen
übertragen werden, wobei jede Kennung eine
Speichervorrichtung aus der Vielzahl von externen Speichervorrichtungen
(132) kennzeichnet, die durch eines der ausgelesenen
Steuerprogramme gesteuert werden soll;
wobei im Ausführungsschritt (e) über eine
Speichervorrichtung aus der Vielzahl von externen Speichervorrichtungen
(132) entschieden wird, die durch jeweils eines der
übertragenen Steuerprogramme gesteuert werden soll, auf der
Grundlage einer Kennung aus der Vielzahl von Kennungen, die zu dem
jeweils übertragenen Steuerprogramm gehört.
11. Ein-/Ausgabesteuerverfahren gemäß einem der Ansprüche 7
bis 10, wobei im Übertragungsschritt die ausgelesenen
Steuerprogramme zusammen übertragen werden.
12. Ein-/Ausgabesteuerverfahren gemäß einem der Ansprüche 7
bis 11,
wobei die Ein-/Ausgabesteuervorrichtung mit der externen
Speichersteuervorrichtung über eine Vielzahl von Kanälen
(142) verbunden ist;
wobei jede externe Speichervorrichtung (132) wenigstens
einem der Kanäle (142) zugewiesen ist;
wobei im Auswählschritt viele Ein-/Ausgabeanforderungen
ausgewählt werden, die Ein-/Ausgabevorgänge von einem oder
vielen Speichervorrichtungen der externen
Speichervorrichtungen (132), die demselben Kanal zugewiesen sind, fordern.
13. Ein-/Ausgabesteuerverfahren gemäß Anspruch 12, bei dem
jede der vielen Ein-/Ausgabeanforderungen (130), die von
der höherrangigen Vorrichtung ausgegeben werden, in eine
Anforderungswarteschlange aus einer Vielzahl von Ein-
/Ausgabeanforderungs-Warteschlangen (122), die jeweils in
Übereinstimmung mit einem Kanal (142) vorgesehen ist,
gespeichert wird, wobei die eine Ein-/Ausgabewarteschlange die ist,
die zu dem einen Kanal, der der einen externen
Speichervorrichtung (132), die durch jede Ein-/Ausgabeanforderung
bestimmt ist, zugewiesen ist, gehört;
wobei im Auswahlschritt viele Ein-/Ausgabeanforderungen,
die in derselben Ein-/Ausgabeanforderungs-Warteschlange (122)
gespeichert sind, ausgewählt werden.
14. Ein-/Ausgabesteuerverfahren gemäß Anspruch 12 oder 13,
wobei der Auswahlschritt ausgeführt wird, wenn eine Ein-
/Ausgabeanforderung neu durch die höherrangige Vorrichtung
ausgegeben wird, unter einer Bedingung, daß ein Kanal (142),
der einer externen Speichereinrichtung (132), die durch die
Ein-/Ausgabeanforderung bestimmt ist, zugewiesen ist,
verwendet werden kann.
15. Ein-/Ausgabesteuerverfahren gemäß einem der Ansprüche 12
bis 14, wobei der Auswahlschritt ausgeführt wird, wenn einer
der Kanäle (142) von einem In-Betriebszustand zu einem Außer-
Betriebszustand gewechselt hat.
16. Ein-/Ausgabesteuerverfahren gemäß einem der Ansprüche 7
bis 15, wobei im Auswahlschritt viele
Ein-/Ausgabeanforderungen, die verarbeitet werden sollen, unter einer Bedingung
ausgewählt wird, daß die Gesamtzahl der Schreibdaten, die
durch viele Anforderungen der Ein-/Ausgabeanforderungen
angefordert werden, nicht eine vorbestimmte Anzahl übersteigt.
17. Ein-/Ausgabesteuerverfahren gemäß einem der Ansprüche 7
bis 16, mit den weiteren Verfahrenschritten:
(f) vorübergehendes Speichern einer Antwort (5), die von
den externen Speichervorrichtungen unter Aufsicht der
gespeicherten Steuerprogramme als ein Ergebnis der Ausführung
ausgegeben worden ist und die an die
Ein-/Ausgabesteuervorrichtung übertragen werden müssen, in einem vorbestimmten
Speicherbereich (115) in der externen Speichersteuervorrichtung
(131); und
(g) Übertragen von Antworten, die im vorbestimmten
Speicher gespeichert sind, zusammen zu der
Ein-/Ausgabesteuervorrichtung (101), wenn es welche gibt.
18. Ein-/Ausgabesteuersystem mit
einer Ein-/Ausgabesteuervorrichtung (101), die die
Ausführung einer Vielzahl von Ein-/Ausgabeanforderungen (130),
die von einer höherrangigen Vorrichtung ausgegeben werden und
jeweils ein Datenschreiben in oder ein Datenlesen aus einer
Speichervorrichtung aus einer Vielzahl von externen
Speichervorrichtungen (132) fordern, steuert; und
einer externen Speichersteuervorrichtung (131) zum
Steuern der Vielzahl von externen Speichervorrichtungen auf der
Grundlage von Befehlen, die von der
Ein-/Ausgabesteuervorrichtung ausgegeben werden;
wobei die Ein-/Ausgabesteuervorrichtung (101) aufweist:
(a1) eine Einrichtung (109) zum Auslesen wenigstens
eines Steuerprogramms, das durch wenigstens eine Anforderung
aus vielen Ein-/Ausgabeanforderungen, die von der
höherrangigen Vorrichtung ausgegeben werden, aus einem Speicher (121),
der eine Vielzahl von Steuerprogrammen speichert; und
(a2) eine Einrichtung (116) zum Übertragen der
ausgelesenen Steuerprogramme zu der externen
Speichersteuervorrichtung (131);
wobei die externe Speichersteuervorrichtung (131)
aufweist:
(b1) eine Einrichtung (116) zum Speichern des
übertragenen Steuerprogramms in der externen
Speichersteuervorrichtung; und
(b2) eine Einrichtung (117) zum Ausführen des
gespeicherten Steuerprogramms.
19. Ein-/Ausgabesteuersystem gemäß Anspruch 18, wobei die
Ausführeinrichtung (b2) (117) eine Einrichtung zum
sequentiellen Ausführen einer Vielzahl von Befehlen, die in dem
gespeicherten Steuerprogramm enthalten sind, zu Zeitpunkten,
die von den Arbeitsvorgängen einer Speichersteuervorrichtung
aus der Vielzahl von externen Speichersteuervorrichtungen
(12), die durch das eine Steuerprogramm gesteuert werden
soll, abhängen, aufweist.
20. Ein-/Ausgabesteuersystem gemäß Anspruch 18 oder 19,
wobei die Ein-/Ausgabesteuervorrichtung (101) weiter
umfaßt:
(a3) eine Einrichtung (110) zum Auslesen von
Schreibdaten, die durch das gespeicherte Steuerprogramm bestimmt
werden, aus dem Speicher, wenn es welche gibt;
wobei die Übertragungseinrichtung (a2) (116) eine
Einrichtung zum Übertragen des ausgelesenen Steuerprogramms und
der ausgelesenen Schreibdaten zu der externen
Speichersteuervorrichtung aufweist;
wobei die externe Speichersteuervorrichtung (131) weiter
umfaßt:
(b3) eine Einrichtung (116) zum Speichern der
übertragenen Schreibdaten in der externen Speichersteuervorrichtung;
(b4) eine Einrichtung (117) zum Übertragen der
gespeicherten Schreibdaten auf eine Speichervorrichtung der
externen Speichervorrichtungen, die durch das gespeicherte
Steuerprogramm gesteuert werden soll.
21. Ein-/Ausgabesteuersystem gemäß Anspruch 20, wobei die
Übertragungseinrichtung (116) eine Einrichtung zum
gemeinsamen Übertragen des ausgelesenen Steuerprogramms und der
ausgelesenen Schreibdaten zu der externen
Speichersteuervorrichtung (131) enthält.
22. Ein-/Ausgabesteuersystem gemäß einem der Ansprüche 18
bis 21, wobei die Ausführeinrichtung (b2) (117) aufweist:
eine Einrichtung zum Auslesen der Daten, die durch das
gespeicherte Steuerprogramm bestimmt werden, aus einer
Speichervorrichtung der Vielzahl von externen
Speichervorrichtungen (132), wenn es welche gibt; und
eine Einrichtung (106') zum Übertragen der ausgelesenen
Daten zu der Ein-/Ausgabesteuervorrichtung zusammen mit einer
Schreibadresse des Speichers, die durch das gespeicherte
Steuerprogramm bestimmt wird.
23. Ein-/Ausgabesteuersystem gemäß einem der Ansprüche 18
bis 22, mit
(c) einer Einrichtung (113) zum vorübergehenden
Speichern des ausgelesenen Steuerprogramms und der ausgelesenen
Schreibdaten in der Ein-/Ausgabesteuervorrichtung (101).
24. Ein-/Ausgabesteuersystem gemäß einem der Ansprüche 18
bis 23, wobei die Ein-/Ausgabesteuervorrichtung (101)
aufweist:
(a1) eine Einrichtung (109) zum Auslesen von vielen
Steuerprogrammen, die bestimmt werden durch viele
Anforderungen, die verarbeitet werden sollen, unter einer Vielzahl von
Ein-/Ausgabeforderungen, die von der höherrangigen
Vorrichtung ausgegeben werden, auf einem Speicher, der eine Vielzahl
von Steuerprogrammen speichert; und
(a2) eine Einrichtung (112) zum Übertragen der
ausgelesenen Steuerprogramme zu der externen
Speichersteuervorrichtung (131);
wobei die externe Speichersteuervorrichtung (131)
aufweist:
(b1) eine Einrichtung (116) zum Speichern der
übertragenen Steuerprogramme in der externen Speichersteuervorrichtung
(131); und
(b2) eine Einrichtung (117) zum Ausführen der
gespeicherten Steuerprogramme.
25. Ein-/Ausgabesteuersystem gemäß Anspruch 24, wobei die
Speichereinrichtung (b1) (116) eine Vielzahl von
Speicherbereichen aufweist, die die übertragenen Steuerprogramme
speichern;
wobei die Ausführeinrichtung (b2) (117) eine Einrichtung
zum Ausführen vieler Steuerprogramme der gespeicherten
Steuerprogramme parallel zueinander aufweist;
wobei die vielen Steuerprogramme der gespeicherten
Steuerprogramme die sind, die Ein-/Ausgabebetriebsvorgänge bei
unterschiedlichen Speichervorrichtungen der externen
Speichervorrichtung (132) anfordern.
26. Ein-/Ausgabesteuersystem gemäß Anspruch 24 oder 25,
wobei die Ein-/Ausgabesteuervorrichtung (101) die externe
Speichersteuervorrichtung (131) über eine Vielzahl von Kanälen
(142) verbindet;
wobei jeder externen Speichervorrichtung (132)
wenigstens ein Kanal zugewiesen ist;
wobei die Leseeinrichtung (109) eine Vielzahl von
Leseeinrichtungen aufweist, die für jeweils einen Kanal
vorgesehen sind, wobei jede Leseeinrichtung der Vielzahl von
Leseeinrichtungen viele Ein-/Ausgabeanforderungen liest, die
verwendet werden von einem oder vielen der externen
Speichervorrichtungen, die demselben Kanal zugewiesen sind, der der
jeweiligen Leseeinrichtung entspricht, wobei die Vielzahl von
Leseeinrichtungen parallel zueinander betrieben werden
können;
wobei die Übertragungseinrichtung (112) eine Vielzahl
von Übertragungseinrichtungen aufweist, die jeweils in
Übereinstimmung mit einem Kanal vorgesehen sind, wobei jede
Übertragungseinrichtung eine Vielzahl von Steuerprogrammen, die
von einer Leseeinrichtung der Vielzahl von Leseeinrichtungen,
die zu dem einen Kanal gehört, zu dem die jeweilige
Übertra
gungseinrichtung gehört, ausgelesen wird, wobei die Vielzahl
von Übertragungseinrichtungen parallel zueinander betrieben
werden können.
27. Ein-/Ausgabesteuersystem gemäß Anspruch 26, wobei die
Ein-/Ausgabesteuervorrichtung (101) weiter aufweist:
(a3) eine Einrichtung (105) zum Bestimmen, ob die Kanäle
verwendet werden oder nicht; und
(a4) eine Einrichtung (104) zum Aktivieren einer
Leseeinrichtung aus der Vielzahl von Leseeinrichtungen, die zu
dem einen Kanal, der von der Bestimmungseinrichtung als nicht
in Verwendung bestimmt wurde, gehört.
28. Ein-/Ausgabesteuersystem gemäß Anspruch 27, wobei die
Ein-/Ausgabesteuervorrichtung (101) eine Einrichtung
aufweist, die in Reaktion auf den Empfang eines Ein-
/Ausgabeanforderung, der von der höherrangigen Vorrichtung
ausgegeben wird, bestimmt, ob ein Kanal, der einer
Speichervorrichtung der externen Speichervorrichtungen zugeordnet
ist, die durch die Ein-/Ausgabeanforderung bestimmt ist, in
Verwendung ist oder nicht, und die die
Aktivierungseinrichtung abhängig vom Ergebnis der Feststellung für den einen
Kanal steuert.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5129992 | 1992-03-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69322985D1 DE69322985D1 (de) | 1999-02-25 |
| DE69322985T2 true DE69322985T2 (de) | 1999-09-09 |
Family
ID=12883046
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69322985T Expired - Fee Related DE69322985T2 (de) | 1992-03-10 | 1993-03-10 | Ein-/Ausgabesteuerungssystem und Ein-/Ausgabesteuerungsverfahren im System |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5640596A (de) |
| EP (1) | EP0560343B1 (de) |
| DE (1) | DE69322985T2 (de) |
Families Citing this family (54)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07262154A (ja) * | 1994-03-25 | 1995-10-13 | Fujitsu Ltd | プロセッサ間通信制御方式 |
| US5548791A (en) * | 1994-07-25 | 1996-08-20 | International Business Machines Corporation | Input/output control system with plural channel paths to I/O devices |
| US5860022A (en) * | 1994-07-26 | 1999-01-12 | Hitachi, Ltd. | Computer system and method of issuing input/output commands therefrom |
| US5787304A (en) * | 1996-02-05 | 1998-07-28 | International Business Machines Corporation | Multipath I/O storage systems with multipath I/O request mechanisms |
| US5790887A (en) * | 1996-02-15 | 1998-08-04 | International Business Machines Corporation | Method and apparatus for processing programmed input/output (PIO) operations in a computer system |
| US5812877A (en) * | 1996-03-15 | 1998-09-22 | Adaptec, Inc. | I/O command block chain structure in a memory |
| US5768621A (en) * | 1996-03-15 | 1998-06-16 | Adaptec, Inc. | Chain manager for use in executing a chain of I/O command blocks |
| US5758187A (en) * | 1996-03-15 | 1998-05-26 | Adaptec, Inc. | Method for enhancing performance of a RAID 1 read operation using a pair of I/O command blocks in a chain structure |
| US5797034A (en) * | 1996-03-15 | 1998-08-18 | Adaptec, Inc. | Method for specifying execution of only one of a pair of I/O command blocks in a chain structure |
| US5867736A (en) * | 1996-03-29 | 1999-02-02 | Lsi Logic Corporation | Methods for simplified integration of host based storage array control functions using read and write operations on a storage array control port |
| US6298386B1 (en) * | 1996-08-14 | 2001-10-02 | Emc Corporation | Network file server having a message collector queue for connection and connectionless oriented protocols |
| KR100243271B1 (ko) * | 1996-12-20 | 2000-02-01 | 윤종용 | 광 디스크 데이타 재생 시스템의 명령 대기 장치 및 방법 |
| US6009484A (en) * | 1997-02-28 | 1999-12-28 | Ncr Corporation | Priority-based I/O task processing in computers |
| JP4086345B2 (ja) * | 1997-09-09 | 2008-05-14 | キヤノン株式会社 | 通信制御方法及び装置及び通信システム |
| GB9802097D0 (en) * | 1998-01-30 | 1998-03-25 | Sgs Thomson Microelectronics | DMA controller |
| US6105122A (en) * | 1998-02-06 | 2000-08-15 | Ncr Corporation | I/O protocol for highly configurable multi-node processing system |
| US6247077B1 (en) | 1998-02-06 | 2001-06-12 | Ncr Corporation | Highly-scalable parallel processing computer system architecture |
| JP3946873B2 (ja) * | 1998-06-19 | 2007-07-18 | 株式会社日立製作所 | ディスクアレイ制御装置 |
| 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 |
| US6330585B1 (en) | 1998-10-14 | 2001-12-11 | International Business Machines Corporation | Transfer information using optical fiber connections |
| 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 |
| US6230218B1 (en) * | 1998-10-14 | 2001-05-08 | International Business Machines Corporation | Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence |
| US6389488B1 (en) * | 1999-01-28 | 2002-05-14 | Advanced Micro Devices, Inc. | Read ahead buffer for read accesses to system memory by input/output devices with buffer valid indication |
| US6976083B1 (en) | 1999-02-19 | 2005-12-13 | International Business Machines Corporation | Apparatus for providing direct data processing access using a queued direct input-output device |
| US6339801B1 (en) * | 1999-02-19 | 2002-01-15 | International Business Machines Corporation | Method for determining appropriate devices for processing of data requests using a queued direct input/output device by issuing a special command specifying the devices can process data |
| WO2001001262A1 (en) * | 1999-06-24 | 2001-01-04 | Fujitsu Limited | Device controller and input/output system |
| 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 |
| US6418526B1 (en) | 1999-11-15 | 2002-07-09 | Ncr Corporation | Method and apparatus for synchronizing nodes in massively parallel systems |
| US6412002B1 (en) | 1999-11-15 | 2002-06-25 | Ncr Corporation | Method and apparatus for selecting nodes in configuring massively parallel systems |
| US6745240B1 (en) | 1999-11-15 | 2004-06-01 | Ncr Corporation | Method and apparatus for configuring massively parallel systems |
| US6519697B1 (en) | 1999-11-15 | 2003-02-11 | Ncr Corporation | Method and apparatus for coordinating the configuration of massively parallel systems |
| US6636940B1 (en) * | 1999-12-02 | 2003-10-21 | International Business Machines Corporation | Task control for high level commands in disk drives |
| US6877045B2 (en) * | 2001-12-18 | 2005-04-05 | International Business Machines Corporation | Systems, methods, and computer program products to schedule I/O access to take advantage of disk parallel access volumes |
| US7099816B2 (en) * | 2002-06-17 | 2006-08-29 | International Business Machines Corporation | Method, system and article of manufacture for an analytic modeling technique for handling multiple objectives |
| US9591112B2 (en) | 2002-12-31 | 2017-03-07 | Google Technology Holdings LLC | Command queuing for multimedia storage devices |
| JP4330889B2 (ja) * | 2003-01-20 | 2009-09-16 | 株式会社日立製作所 | 記憶デバイス制御装置にソフトウエアをインストールする方法、記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置 |
| JP2005115600A (ja) * | 2003-10-07 | 2005-04-28 | Hitachi Ltd | 情報処理装置及び方法 |
| JP2005135065A (ja) * | 2003-10-29 | 2005-05-26 | Hitachi Ltd | 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法 |
| ATE436047T1 (de) * | 2003-12-30 | 2009-07-15 | Wibu Systems Ag | Verfahren zum steuern eines datenverarbeitungsgeräts |
| JP4401788B2 (ja) * | 2004-01-06 | 2010-01-20 | 株式会社日立製作所 | ストレージ制御装置 |
| JP4528551B2 (ja) * | 2004-04-14 | 2010-08-18 | 株式会社日立製作所 | ストレージシステム |
| JP2006191171A (ja) * | 2004-12-28 | 2006-07-20 | Canon Inc | 制御装置、制御方法及びプログラム |
| US7756973B2 (en) * | 2006-04-27 | 2010-07-13 | International Business Machines Corporation | Identifying a configuration for an application in a production environment |
| US8156415B1 (en) | 2007-12-26 | 2012-04-10 | Marvell International Ltd. | Method and system for command queuing in disk drives |
| US8370717B1 (en) | 2008-04-08 | 2013-02-05 | Marvell International Ltd. | Method and apparatus for flexible buffers in an XOR engine |
| US8078848B2 (en) | 2009-01-09 | 2011-12-13 | Micron Technology, Inc. | Memory controller having front end and back end channels for modifying commands |
| US8055816B2 (en) | 2009-04-09 | 2011-11-08 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
| WO2012029163A1 (ja) * | 2010-09-02 | 2012-03-08 | 富士通株式会社 | ノードコントローラ、ノードコントローラの制御方法及びコンピュータシステム |
| TWI545588B (zh) * | 2013-02-06 | 2016-08-11 | 群聯電子股份有限公司 | 控制方法、連接器與記憶體儲存裝置 |
| CN104008072B (zh) * | 2013-02-22 | 2018-06-15 | 群联电子股份有限公司 | 控制方法、连接器与存储器存储装置 |
| US9874858B2 (en) * | 2014-03-18 | 2018-01-23 | The United States Of America As Represented By The Secretary Of The Navy | Automation control system and a method in an automation control system |
| US9904262B2 (en) * | 2015-06-01 | 2018-02-27 | Vonage America Inc. | Systems and methods for dynamic operation of electronic devices based on detection of one or more events |
| US10318904B2 (en) | 2016-05-06 | 2019-06-11 | General Electric Company | Computing system to control the use of physical state attainment of assets to meet temporal performance criteria |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| US4939644A (en) * | 1983-05-19 | 1990-07-03 | Data General Corporation | Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system |
| JPS60183660A (ja) * | 1984-03-02 | 1985-09-19 | Hitachi Ltd | 入出力処理装置 |
| CA1228677A (en) * | 1984-06-21 | 1987-10-27 | Cray Research, Inc. | Peripheral interface system |
| US5109484A (en) * | 1986-04-09 | 1992-04-28 | International Business Machines Corporation | Self configuring terminal which polls loop network and generates list of connected devices for use in selectively downloading control programs |
| US5337402A (en) * | 1986-06-12 | 1994-08-09 | Keiji Kitagawa | Graphic data processing apparatus using displayed graphics for application program selection |
| JPH0644251B2 (ja) * | 1986-08-28 | 1994-06-08 | 日本電気株式会社 | デ−タ処理装置 |
| JPH0650479B2 (ja) * | 1987-02-13 | 1994-06-29 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | データ処理装置 |
| US4943912A (en) * | 1987-10-13 | 1990-07-24 | Hitachi, Ltd. | Parallel processor system having control processor and array control apparatus for selectively activating different processors |
| US4888691A (en) * | 1988-03-09 | 1989-12-19 | Prime Computer, Inc. | Method for disk I/O transfer |
| US5179660A (en) * | 1989-05-15 | 1993-01-12 | International Business Machines Incorporated | System for reducing communications overhead in distributed database transactions by serializing in order related requests into single transmission message and receiving transmission response |
| JP2834189B2 (ja) * | 1989-07-05 | 1998-12-09 | 株式会社日立製作所 | 入出力制御方法 |
| EP0424658A3 (en) * | 1989-10-23 | 1993-11-18 | Ibm | Computer system |
| US5341493A (en) * | 1990-09-21 | 1994-08-23 | Emc Corporation | Disk storage system with write preservation during power failure |
-
1993
- 1993-03-08 US US08/027,373 patent/US5640596A/en not_active Expired - Fee Related
- 1993-03-10 EP EP93103889A patent/EP0560343B1/de not_active Expired - Lifetime
- 1993-03-10 DE DE69322985T patent/DE69322985T2/de not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0560343A1 (de) | 1993-09-15 |
| US5640596A (en) | 1997-06-17 |
| DE69322985D1 (de) | 1999-02-25 |
| EP0560343B1 (de) | 1999-01-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69322985T2 (de) | Ein-/Ausgabesteuerungssystem und Ein-/Ausgabesteuerungsverfahren im System | |
| DE69732020T2 (de) | Wiedereinordnung von Speicheranforderungen in einem Datenverarbeitungssystem | |
| DE69706693T2 (de) | Verfahren und vorrichtung für mehrere kontexte in speicheruntersystemzieleinrichtungen | |
| DE2350884C2 (de) | Adreßumsetzungseinheit | |
| DE3854481T2 (de) | Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem. | |
| DE69032337T2 (de) | Multiprozessorsystem verwendendes Datenbasisverarbeitungssystem | |
| DE69724846T2 (de) | Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus | |
| DE68924954T2 (de) | Übertragungssystem für verteilte Datenbanken. | |
| DE3852928T2 (de) | Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen. | |
| DE69622776T2 (de) | Von Multitasking gebrauch machendes Sortieren | |
| DE1424732C3 (de) | Einrichtung zum gegenseitigen Austausch von Angabenwörtern zwischen einem unmittelbar zugänglichen Hauptspeicher eineT Ziffernrechenmaschine und einem an diese angeschlossenen Sekundärspeicher vergleichsweise längerer Zugriffszeit | |
| DE1524102C3 (de) | Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine | |
| DE10062063B4 (de) | Verfahren, System, Computerprogramm-Produkt und Speichervorrichtung zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität | |
| DE68927753T2 (de) | Daten-Eingangs/-Ausgangssteuerungssystem in einem Betriebssystem | |
| DE2243956A1 (de) | Speicherprogrammierte datenverarbeitungsanlage | |
| DE69325566T2 (de) | Verfahren und System zur Befehlszuteilung in einem superskalaren Prozessorsystem mit unabhängig zugänglichem Zwischenspeicher | |
| DE2209282A1 (de) | Datenverarbeitungsanlage | |
| DE69031524T2 (de) | Verfahren und Vorrichtung zur Datenübertragung zwischen Prozessorelementen | |
| DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
| DE1499182B2 (de) | Datenspeichersystem | |
| DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
| DE2856680A1 (de) | Befehlspuffer fuer ein datenverarbeitungssystem | |
| DE2539929C2 (de) | Datenverarbeitungsanlage mit einer zentralen Einheit und über einen Bus mit der zentralen Einheit verbundenen Peripheriegeräte-Steueranordnungen | |
| DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
| DE2726679A1 (de) | Kanalsteuerung fuer datenverarbeitungsanlagen und verfahren zu ihrem betrieb |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |