DE3645342C2 - Plattenspeicher-Steuerverfahren - Google Patents

Plattenspeicher-Steuerverfahren

Info

Publication number
DE3645342C2
DE3645342C2 DE3645342A DE3645342A DE3645342C2 DE 3645342 C2 DE3645342 C2 DE 3645342C2 DE 3645342 A DE3645342 A DE 3645342A DE 3645342 A DE3645342 A DE 3645342A DE 3645342 C2 DE3645342 C2 DE 3645342C2
Authority
DE
Germany
Prior art keywords
command
memory
channel
positioning
cpu
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 - Lifetime
Application number
DE3645342A
Other languages
English (en)
Inventor
Hisaharu Takeuchi
Akira Kurano
Yoshiro Shiroyanagi
Hisashi Takamatsu
Katsunori Nakamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP60260395A external-priority patent/JP2550311B2/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE3645342C2 publication Critical patent/DE3645342C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

Die Erfindung betrifft ein Plattenspeicher-Steuerverfahren für Plattenspeichereinrichtungen, das eine einheitliche Verarbeitung der von mehreren Verarbeitungs-Zentralein­ heiten kommenden Ein/Ausgabebefehlen und den Durchsatz des Plattenteilsystems zu erhöhen gestattet.
Aus der US-PS 4 207 609 ist ein System bekannt, das üblicherweise bei gemeinsam benutzten Dateien eingesetzt wird.
In manchen Fällen wird in Magnetplattenteilsystemen, bei denen eine Platteneinrichtung gemeinsam von mehreren CPU-Einheiten benutzt wird, ein Mehrfachsteuersystem verwendet. Zum Beispiel greift in einem Fall, wo eine in Fig. 1 dargestellte Magnetplatteneinrichtung 10 von drei Systemen benutzt wird, jede der CPU-Einheiten 1 bis 3 über zwei Zugriffswege zur Platteneinrichtung 10 zu. Die jeweilige CPU greift zur gewünschten Platteneinrich­ tung mittels eines von ihr ausgesendeten Eingabebefehls über einen Kanal 4, einen Kanalschalter 5, eine Magnet­ plattensteuereinrichtung (nachstehend mit DKC abgekürzt) 6, 7 und eine Plattenverbindungseinrichtung (nachstehend mit DSC abgekürzt) 8 zu. Ein in der DSC enthaltener Speicher 9 speichert Daten während des Besetzt­ zustandes der Einrichtung und wird gemeinsam über mehrere Wege benutzt.
In diesem Fall ist es üblich, daß eine von mehreren Ver­ arbeitungsrechnern benutzte Ein/Ausgabeeinrichtung, wenn sie unter einem von einem Verarbeitungsrechner ausgege­ benen Befehl arbeitet, auf einen von einem anderen Ver­ arbeitungsrechner kommenden Befehl berichtet, daß sie besetzt ist und nach dem Operationsende an die Verarbei­ tungseinheit, der sie den Besetzt-Zustand mitgeteilt hat, eine Frei-nach-Besetzt-Meldung (B.T.F.) absendet. Es kann jedoch abhängig von den Umständen der Benutzung des Systems folgende Schwierigkeit auftreten: Bei Gelegenheiten, wo ein Verarbeitungsrechner aufeinanderfolgend Befehle an eine Einrichtung ausgibt und ein weiterer Verarbeitungs­ rechner an die selbe Einrichtung einen Befehl richtet, empfängt der zuletzt genannte Verarbeitungsrechner näm­ lich eine Meldung, daß die Einrichtung belegt ist, falls diese gerade arbeitet, und gibt erneut denselben Befehl aus, falls er - wie nach dem Ende der Operation - eine B.T.F.-Meldung empfängt (B.T.F.-Meldung bedeutet eine Meldung über einen Frei-Zustand, nachdem vorher ein Belegt-Zustand vorlag). Falls in diesem Moment die selbe Einrichtung erneut betrieben wird, empfängt der Verarbeitungsrechner wieder eine Meldung, daß die Einrichtung belegt ist. Auf diese Weise können sich Fälle ergeben, wo dieses Wechselspiel dauernd wiederholt wird und von dem anderen Verarbeitungsrechner kein Befehl verarbeitet werden kann.
Fig. 2 zeigt ein Ablaufdiagramm zur Erläuterung des oben geschilderten Zustandes. Es ist ein Fall dargestellt, wo zwei CPU's zu einer Ein/Ausgabeeinrichtung zugreifen. Zuerst belegt die CPU 1 die Einrichtung und führt Opera­ tionen, wie Suchen eines Lese/Schreibkopfs, Dateisuche und Lese/Schreib-Operationen, usw. aus (schattiert ange­ gebene Zeitdauer). Während dieser Zeitdauer meldet die Einrichtung, falls CPU 2 an die Einrichtung einen Ein/­ Ausgabebefehl richtet, da sie von der CPU 1 benutzt wird, eine EINRICHTUNGSBELEGT-MELDUNG an die CPU 2. Danach sendet die Einrichtung zum Zeitpunkt, wo sie nicht mehr für die CPU 1 arbeitet, eine B.T.F.-Meldung an die CPU 2, damit diese veranlaßt wird, den selben Befehl wieder zu senden. Nach Empfang der Meldung gibt die CPU 2 erneut den selben Befehl aus. Jedoch erreicht ein von der CPU 2 ausgegebener, neuer Befehl, falls die CPU 1 mehrere Male zur selben Ein­ richtung zugreift, nur die Abgabe einer EINRICHTUNGS- BELEGT-Meldung. Deshalb kann die CPU 2 die Ein/Ausgabeein­ richtung nicht benutzen, auch wenn ihr von der Einrich­ tung eine B.T.F.-Meldung zugeht, weil die Einrichtung erneut von der CPU 1 nach einer Zeitdauer t1 benutzt wird, wenn die CPU 1 wieder einen Befehl ausgibt.
Nun kann man, um die o. g. Schwierigkeit zu beheben, ein Belegt-Wiederholungsverfahren (englisch "BUSY RETRY"), das eine Funktion einer Kanalschnittstelle ist, in der in Fig. 3 dargestellten Weise anwenden. Während einer Zeitdauer, wo die CPU 1 die Einrichtung benutzt, wird immer dann, wenn die CPU 2 an diese einen Befehl rich­ tet, von einer Steuereinrichtung 5 oder 6 an die CPU 2 ein Belegt-Wiederholen ("BUSY RETRY") gesendet. Auf den Empfang dieser Meldung entscheidet die CPU 2, daß der Befehl von der Einrichtung empfangen wurde und gerät in einen Zustand, in dem sie auf eine Befehlsendemeldung von der Steuereinrichtung wartet. Nach Ende einer Operation 11, die die Einrichtung für die CPU 1 ausführt, verbindet die Steuereinrichtung wieder die Einrichtung mit dem Kanal, der nach "BUSY RETRY" gefragt hat, und meldet B.T.F. an die CPU 2, um bei dieser die Wiederholung des Befehls anzufordern. In diesem Fall verkürzt sich, da die Operationen von der Wiederverbindung mit dem Kanal bis zur erneuten Ausgabe des Befehls auf Kanalebene ausgeführt werden können, die von der B.T.F.-Meldung bis zur erneuten Ausgabe des Ein/Ausgabebefehls nötige Zeit (in Fig. 3 t0 im Vergleich mit t1 in Fig. 2). Der Kanal gibt wieder einen die Wiederholung anfordernden Befehl ab, und die Steuereinrichtung verarbeitet den Befehl zuerst und andere Befehle danach. Folglich kann die CPU 2 die Ein­ richtung benutzen, nachdem die CPU 1 diese nicht mehr zuerst benutzt und dies auch in einem Fall, wo die CPU 1 die Eingabe/Ausgabeeinrichtung wiederholt benutzt, weil der wiederholte Befehl von der CPU 2 früher zur Steuer­ einrichtung zugreift, als der nächste Befehl von der CPU 1. Dann wird, nachdem die auf Befehl von der CPU 2 ablaufen­ de Operation beendet ist, der CPU 1 eine B.T.F.-Meldung zugesendet, die angibt, daß die Einrichtung im Frei- Zustand ist. Da zuvor die CPU 1 eine "BUSY RETRY"-Meldung erhielt, wird die auf die erneute Ausgabe eines zweiten Befehls, der bereits im Kanal gespeichert wurde, nötige Prozedur sofort ausgeführt, und dann kann die CPU 1 die Einrichtung wieder benutzen, wie die Bezugsziffer 14 in Fig. 3 angibt. Auf diese Weise können zwei Verarbeitungs­ rechner die Einrichtung abwechselnd benutzen. Da die auf Kanalebene erfolgende Wiederausgabe des Befehls unbetei­ ligt von den Verarbeitungsrechnern erfolgt, können sie im allgemeinen innerhalb einer Zeitdauer, die von einer Ein/Ausgabe-Befehlsendemeldung bis zur Ausgabe des fol­ genden Befehls vergeht, ausgeführt werden. In dem Fall jedoch, wo sich der Zeitpunkt der Meldung von der Steuer­ einrichtung verzögert oder wenn sich die Leistungsfähigkeit der CPU's erhöht, kann es geschehen, daß die Einrichtung nicht abwechselnd benutzt werden kann. Deshalb ist in dieser Hinsicht eine weitere Verbesserung gefordert.
Fig. 4 zeigt ein Ablaufdiagramm für diesen Fall. Im Fall, wo die CPU 2 zur Einrichtung zugreift und danach die CPU 3 ebenfalls während einer Zeitdauer, wo die CPU 1 die Einrichtung besetzt hat, zugreift, werden - da beide die neue Verbindung anfordern - "BUSY RETRY"-Meldungen an beide CPU's gesendet. Zum Zeitpunkt, wo die Belegung der Einrichtung durch die CPU 1 beendet ist, wird eine Ende- Meldung den CPU's 2 und 3 zugesendet. Wenn man annimmt, daß die Leistungsfähigkeit der CPU 3 etwas schlechter ist, als die der CPU 2, wird die durch die Bezugsziffer 15 in Fig. 4 angegebene Neuausgabe des Befehls von der CPU 3 später erfolgen, als die von der CPU 2. Schließlich wird, falls CPU's 1 und 2 die Einrichtung wiederholt und abwechselnd benutzen, die CPU 3 niemals zur Einrich­ tung zugreifen können.
Aus der US 4207609 ist ein kanalorientiertes System bekannt, in dem die einzelnen Befehle eines E/A- Vorgangs über jeweils aufgebaute Pfade von der anfra­ genden CPU an die Plattensteuerung übertragen werden.
Aus dem Artikel "Multitasking controller speeds throughput to multiple disks" aus "Electronic de­ sign", 26. Januar 1994, S. 127 ff, ist es bekannt, für einen SCSI-Bus eine Warteschlange zu bilden. Zu Beginn der Abarbeitung eines in der Schlange stehenden Be­ fehls wird eine abermalige Verbindung zu der anfragen­ den CPU hergestellt.
Aufgabe der Erfindung ist es, ein Plattenspeicher-Steuerverfahren anzugeben, das die o. g., im Stand der Technik vorhandenen Schwierigkeiten löst und das die Ausführung von von mehreren Verarbeitungsrechnern ausgege­ bener Befehle in richtiger Reihenfolge in einer Ein/­ Ausgabeeinrichtung, die gemeinsam von mehreren Systemen oder Verarbeitungsrechnern verwendet wird, steuern kann.
Diese Aufgabe wird mit den Merkmalen des Anspruchs 1 gelöst.
Die Erfindung wird im folgenden anhand von Ausführungs­ beispielen unter Bezug auf die Zeichnung näher beschrieben.
Es zeigen:
Fig. 1 ein Blockschaltbild, das den Aufbau eines Magnetplattenteilsystems, bei dem die Erfindung anwendbar ist, darstellt;
Fig. 2 bis 4 Ablaufdiagramme einer herkömmlichen Mehrfachsteuerung;
Fig. 5 eine Befehlskette, die einen aufgelösten Ein/­ Ausgabebefehl an eine Magnetplatte enthält;
Fig. 6 den Inhalt einer gemeinsam verwendeten Speichertabelle;
Fig. 7 ein Flußdiagramm einer Ein/Ausgabe-Operation einer Plattensteuereinrichtung;
Fig. 8 ein Ablaufdiagramm für ein in Fig. 1 dargestelltes System, in dem drei Verarbeitungs­ rechner eingesetzt sind;
Fig. 9 den Aufbau eines anderen Magnetplattenteilsystems.
Nun werden anhand der Zeichnung bevorzugte Ausführungs­ beispiele der Erfindung im einzelnen erläutert. Die Fig. 5 und 6 erläutern schematisch das Grundprinzip der Er­ findung. Beim Betrieb des in Fig. 1 dargestellten Magnet­ plattenteilsystems wird gewöhnlich ein Ein/Ausgabebefehl in verschiedene in Fig. 5 dargestellte Teile in einem Kanal 4 aufgelöst und diese Befehlskette an eine Magnet­ plattensteuerung DKC 6 oder 7 gesendet. Das heißt, daß gewöhnlich eine Befehlskette für eine Magnetplatte von a) einem Suchbefehl, um den Kopf auf einem gewünschten Zylinder zu plazieren, b) einem Dateimaskierungssetz­ befehl, der die Bedingungen für den Dateizugriff kenn­ zeichnet, c) einem Sektorsetzbefehl, der die Sektor­ position innerhalb einer Spur angibt, d) einem Suchbefehl, um einen gewünschten Datensatz in der Spur zu suchen und e) einem Lese/Schreibbefehl zum Lesen oder Schreiben des gewünschten Datensatzes, besteht.
Im Fall, wo mehrere Verarbeitungsrechner an eine gerade betriebene Einrichtung Befehle abgeben, werden diese Be­ fehle in einem Speicher 9 innerhalb eines Magnetplatten­ teilsystems 8 in der Reihenfolge ihrer Ausgabe abgespei­ chert. Zum Zeitpunkt, wo die Operation beendet ist, werden diese Befehle aufeinanderfolgend aus dem Speicher im Bereich oder auf der Ebene der Plattensteuereinrich­ tung ohne Rückfrage bei den höherrangigen Verarbeitungs­ rechnern (Kanälen) ausgelesen und die Ausführung der Be­ fehle erneut gestartet.
Fig. 6 zeigt schematisch den Aufbau einer im gemeinsamen Speicher enthaltenen Tabelle.
In der der Anzahl der Verarbei­ tungsrechner für die jeweiligen DKU's notwendigen Anzahl werden für die verschiedenen Befehlselemente der in Fig. 5 dargestellten Befehlskette die Suchdaten, die Dateimaskie­ rungsdaten, die Sektordaten, die ausgegebene Kanalnummer, sämtlich für die Befehlskette, sowie die Ausnutzung des betreffenden Speicherbereichs und ein Datenverarbeitungs­ kennzeichen, das eine im Wartezustand (Warteschlange) stehende Befehlskette angibt, in Form eines Datenblocks vorbereitet. Das heißt, daß für das in Fig. 1 dargestell­ te System drei Datenblöcke 21 bis 23 vorbereitet werden. Für den Zugriff zu diesen Daten im selben gemeinsamen Speicher werden ein Speicheradressenzeiger, der einen Bereich zum Abspeichern nachfolgender Daten und ein Leseadressenzeiger, der den Bereich der zu diesem Zeit­ punkt auszulesenden Daten angibt, gesetzt. Das heißt, daß für die DKU 0-n gemäß Fig. 6 der Speicheradressen­ zeiger, der Leseadressenzeiger und die gemeinsame Speichertabelle gesetzt werden. Außerdem sind in der gemein­ samen Speichertabelle so viele Speicherbereiche vorgesehen, wie Verarbeitungsrechner, die mit einer Magnetplattenein­ heit verbindbar sind, vorhanden sind. Bei dem in Fig. 1 dargestellten Systembeispiel sind drei Blockbereiche in dem gemeinsamen Speicher angeordnet, und nur, wenn zu diesem zugegriffen wird, werden ein Datenverarbeitungs­ kennzeichen, eine Kanalnummer, Suchdaten, Dateimaskierungs­ daten und Sektordaten in einen entsprechenden Bereich ein­ geschrieben.
Fig. 7 zeigt ein Betriebsflußdiagramm für eine DKC gemäß einem Ausführungsbeispiel. Zuerst startet der entsprechende Kanal auf einen von einer CPU ausgege­ benen Eingabe/Ausgabebefehl die gewünschte DKC 6 oder 7. Sobald er von der DKC erfaßt wurde (Schritt 31), wird diese mit dem betreffenden Kanal 4 und gleichzeitig mit der gekennzeichneten DKU verbunden (Schritt 32). Wenn die in Fig. 5 dargestellten Befehle a bis e vom Kanal ausgegeben wurden, empfängt die DKC Daten bezüglich der Kopfpositio­ nierung usw. für die Befehle a, b und c der in der Be­ fehlskette enthaltenen Elemente (Schritt 33). Die DKC prüft, ob die bestimmte DKU von einem anderen Kanal oder einer anderen DKC besetzt ist oder nicht (Schritt 34).
Wenn die DKC die gekennzeichnete DKU verwenden kann, wird sie zu diesem Zeitpunkt unter Verwendung der o. g. Posi­ tionierdaten mit ihr verbunden (Schritt 35). Der Kanal und die DKU werden nach Übertragung der Daten bezüglich der Kopfpositionierung von der DKC getrennt (Schritt 37). Auf diese Weise nimmt die DKU einen Leerlauf-Zustand an. Die Beendigung der Positionierung der DKU wird durch das Messen der ver­ strichenen Zeit erfaßt (Schritt 38) und eine Wiederver­ bindung mit dem Kanal angefordert (Schritt 39). Ein ge­ wünschter Datensatz wird gesucht und eine Lese/Schreib- Prozedur ausgeführt (Schritt 41), indem die Daten zum und vom Kanal übertragen werden. Wenn eine Befehlskette ausgeführt ist, wird der Kanal abgetrennt (Schritt 42) und die Daten aus dem gemeinsamen Speicher ausgelesen (Schritt 43). Wenn die Positionierdaten im gemeinsamen Speicher nicht in einer Warteschlange stehen (Schritt 44), wird die DKU abgetrennt (Schritt 46) und auf diese Weise die Verarbeitung beendet. Dann wird zum Startpunkt zu­ rückgekehrt, und das System wartet auf einen weiteren Be­ fehl vom Kanal (Schritt 31).
Nachstehend werden von den o. g. Operationen die Operatio­ nen einer betrachteten DKC in dem Fall beschrieben, wo die DKU von einem anderen Kanal oder einer anderen DKC benutzt wird.
In Fig. 7 werden, nachdem die Daten bezüglich der Posi­ tionierung usw. empfangen wurden (Schritt 33), in der Befehlsverarbeitung mit dem Kanal in dem Fall, wo die relevante DKU benutzt wird (Schritt 34), diese Daten in eine Warteschlange in dem gemeinsamen Speicher gespeichert (Schritt 36) und der Kanal abgetrennt (Schritt 37). Zum Zeitpunkt, wo die bereits laufende Verarbeitung der DKU beendet ist, werden der dafür verwendete Kanal abgetrennt (Schritt 42) und Daten für die je­ weilige Plattenspeichereinheit aus dem gemeinsamen Spei­ cherbereich für die nachfolgende Lese/Schreib-Operation ausgelesen (Schritt 43). In diesem Fall werden die Daten bezüglich der Positionierung usw. der be­ trachteten, zu dieser Zeit angeschlossenen DKU ange­ geben (Schritt 45) und die DKU abgetrennt (Schritt 46).
In diesem Moment tritt die DKU in einen Leerlauf-Zustand ein. Danach finden aufeinanderfolgend die Erfassung des Positionierendes für die DKU (Schritt 38), die Anfrage der Wiederverbindung mit dem Kanal (Schritt 39), der Suchvorgang nach einem gewünschten Datensatz und die Ausführung der Lese/Schreib-Prozedur (Schritt 41) statt. Wenn diese beendet sind, wird der Kanal abgetrennt (Schritt 42). Dann werden die Daten aus dem gemeinsamen Speicher (43) gelesen und die zuvor erwähnten Trennvor­ gänge wiederholt bewirkt. Außerdem werden die zuerst ein­ gegebenen Daten 21, falls sich in der Warteschlange meh­ rere Daten 21, 22, 23 . . . ., befinden, ausgelesen und ihre Positionierinformation der DKU angegeben (Schritt 45).
Fig. 8 zeigt einen Ablaufplan, der die Zeitfolge der in Fig. 7 dargestellten Operationen veranschaulicht. Falls drei CPUs für eine Ein/Ausgabeeinrichtung verwendet werden, greift die CPU 1 als Erste zu. Wenn die DKU nicht benutzt wird, wird der DKU die Positionierung mitgeteilt. Wenn der Kanal und die DKU getrennt werden (Schritt 37), werden der Suchbefehl, der Dateimaskensetzbefehl und der Sektorsetzbefehl gemäß Fig. 5 ausgeführt (Zeitdauer A1 in Fig. 8). Wenn diese beendet sind, werden der Kanal und die DKC mit der DKU verbunden. Dann wird eine Such- und Lese/Schreib-Operation mit dem gewünschten Datensatz ausgeführt und die Daten übertragen (Zeitdauer A2 in Fig. 8). Wenn die Einrichtung von der CPU 1 (A2) benutzt wird und die CPU 2 und die CPU 3 greifen zur Einrichtung zu, werden die Suchdaten SK, die Dateimaskensetzdaten SFM und die Sektorsetzdaten STSCT in den gemeinsamen Speicher geschrieben. Wenn die Übertragung der Daten von der CPU 1 beendet ist, werden die nachfolgenden Positio­ nierdaten von der CPU 2 aus dem gemeinsamen Speicher ausgelesen, die Positionierung der DKU mitgeteilt und die DKU abgetrennt (Zeitdauer B1 in Fig. 8). Wenn die Positionierung beendet ist, werden der Kanal und die DKC mit der DKU verbunden, der gewünschte Datensatz gesucht und die Lese/Schreib-Prozedur ausgeführt (Zeitdauer B2 in Fig. 8). Dann werden von der CPU 3 stammende Posi­ tionierdaten aus dem gemeinsamen Speicher gelesen, die Positionierung der DKU mitgeteilt und die DKU abgetrennt (Zeitdauer C1 in Fig. 8). Wenn die Positionierung been­ det ist werden der Suchbefehl und der Lese/Schreibbefehl bewirkt (Zeitdauer C2). Da die Befehle in den gemeinsamen Speicher in der Reihenfolge ihres Zugriffs geschrieben und in dieser Reihenfolge ausgelesen werden und die Einrichtung sequentiell benutzt wird, wird sie ohne unnötige Warte­ zeit ausgenutzt. Sogar mehrere Verarbeitungs­ rechner, die eine unterschiedliche Leistungsfähigkeit haben, können gemeinsam und gleichförmig eine Eingabe/­ Ausgabeeinrichtung verwenden.
Weiterhin wird der gemeinsame Speicher erläutert.
Das in Fig. 1 dargestellte Magnetplattenteilsystem weist innerhalb der Plattenverbindungseinrichtung (DSC) 8 einen Speicher 9 auf, der für die von den verschiedenen DKCs ausgegebenen Cross-Anrufe gemeinsam verwendet wer­ den kann. Dieser ist vorgesehen, weil in dem Fall, wo die DKC und der Kanal abgetrennt sind, nachdem die Posi­ tionierdaten zur DKU empfangen wurden und die Verbindung erneut auf das Beenden der Positionierung der DKU einge­ richtet wird, die DKC, zu der zugegriffen werden soll, nicht verbunden werden kann, weil sie für eine andere Verarbeitung verwendet wird. Deshalb ist die Plattenrotation im Wartezustand und kann danach auch wiederholt im Warte­ zustand sein. Die CPU-Nummern usw. werden in dem in der DSC 8 enthaltenen gemeinsamen Speicher gespeichert, um die Anzahl dieser Rotations-Wartezustände zu verrin­ gern und um die CPU, auch wenn die DKC, zu der zuge­ griffen werden soll, besetzt ist, mit einer anderen DKC, die frei ist, zu verbinden, so daß ein Suchbefehl und ein Lese/Schreibbefehl angefordert werden können. Bei dieser Ausführung ist die Speicherung der Befehlskette unter Verwendung dieses Speichers in der DSC 8 möglich.
Wie in Fig. 9 dargestellt, können die in Fig. 6 darge­ stellten, gemeinsamen Tabellen auch im Speicher 51 für die gegenseitige Verbindung und Kommunikation zwischen der DKC 6 und 7 oder in den Speichern 52 und 53 (durch gestrichelte Linien innerhalb der DKC 6 und 7 dargestellt), die Befehlsketten von den Kanälen speichern, vorgesehen sein.
Die Erfindung wurde oben in Bezug auf eine Magnetplatten­ einrichtung und ein Magnetplattenteilsystem beschrieben. Sie kann jedoch auch in der selben Weise zum Abtasten eines optischen Systems, zum Setzen einer Dateimaske, eines Sektors, zum Suchen und Lesen/Schreiben in einer rotierenden Plattenspeichereinrichtung, wie einer Bild­ platte, Opto-Magnetplatte-, Kompaktdisk usw. mit Vorteil angewendet werden.

Claims (3)

1. Plattenspeicher-Steuerverfahren für ein Speichersystem mit mehreren Verarbeitungs-Zentraleinheiten (1, 2, 3), die jeweils über mehrere Kanäle (4) mit mehreren Plat­ tensteuerungen (6, 7) verbunden werden können, die ei­ nen sich drehenden Plattenspeicher (10) steuern, auf den von den Verarbeitungs-Zentraleinheiten (1, 2, 3) zugegriffen werden kann, wobei von jeder der mehreren Plattensteuerungen (6, 7) zu den mehreren Verarbeitungs-Zentraleinheiten (1, 2, 3) mehrere jeweils trennbare Verbindungen gebildet sind, um für die Verarbeitungs-Zentraleinheiten (1, 2, 3) Zugänge zu dem sich drehenden Platten­ speicher (10) zu bilden, dadurch gekennzeichnet, daß dann, wenn der sich drehende Plattenspeicher belegt ist, weil eine zweite Zentraleinheit den sich drehenden Plattenspeicher (10) zu dem Zeitpunkt belegt hat, zu dem eine erste Verarbeitungs-Zentraleinheit (1, 2, 3) über einen ersten der Vielzahl von Kanälen (4) einen Positionierungsbefehl einer Befehlskette überträgt, die folgenden Schritte ausgeführt werden:
  • a) Speichern (31-34, 36) des Positionierungsbefehls der Befehlskette durch eine Plattensteuerung in einem Speicher (9, 51-53), auf den die Plattensteuerungen (6, 7) zugreifen können, und Abtrennen (37) des ersten Kanals (4) von der Plattensteuerung,
  • b) Abtrennen (42) eines zweiten Kanals (4') von der Plattensteuerung, der für den Zugriff der zweiten CPU auf den sich drehenden Plattenspeicher verwen­ det wurde, nachdem dieser Zugriff beendet ist,
  • c) Lesen (43) des Positionierungsbefehls der Befehls­ kette aus dem Speicher (9, 51-53, 54) in dem abge­ trennten Zustand des ersten Kanals (4) von einer Plattensteuerung, und Weitergeben (45) der Positionierung des Kopfs an den sich drehenden Plattenspeicher,
  • d) Verbinden (38, 39, 40) eines Kanals mit einer Plat­ tensteuerung, wenn die Positionierung beendet ist, um auf den sich drehenden Plattenspeicher zuzugrei­ fen,
  • e) Abtrennen (42) des im Schritt d) verwendeten Ka­ nals (4) von der Plattensteuerung, wenn der Zugriff von der ersten CPU auf den sich drehenden Platten­ speicher beendet ist, und
  • f) Wiederholen der Schritte b) bis e), bis alle in einer Warteschlange gespeicherten Positionierungs­ befehle abgearbeitet sind.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Speicherns (31-34, 36) des Positionie­ rungsbefehls einen Schritt aufweist, der für den Plattenspeicher in der Reihenfolge der Zugrif­ fe der Verarbeitungsrechner eine Warteschlange bildet, wobei der Schritt des Weitergebens der Posi­ tionierung des Kopfs an den sich drehenden Platten­ speicher einen Schritt aufweist, wonach der Positionie­ rungsbefehl in derselben Reihenfolge an den Platten­ speicher weitergegeben wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß
  • a) der Schritt der Bildung einer Warteschlange einen Schritt umfaßt, wobei im gemeinsam verwendeten Speicher (9, 51) mehrere Speicherbereiche für ein Kennzeichen vorbereitet werden, welches einen Warteschlangenstatus, eine Kanal-Nummer für die Mehrzahl von Verarbeitungs-Zentraleinheiten und Bereichsdaten, die in dem Positionierungsbefehl für jede Verarbeitungs-Zentraleinheit vorgesehen sind, angibt,
  • b) der Lese-Schritt einen Schritt umfaßt, wonach das Kennzeichen und die Bereichsdaten gelesen werden, wodurch ein Kopf in dem von den Bereichsdaten an­ gegebenen Bereich gesetzt wird, und anschließend
  • c) die Schritte d) und e) durchgeführt werden, um Daten von dem sich drehenden Plattenspeicher zur ersten Verarbeitungs-Zentraleinheit zu schicken.
DE3645342A 1985-11-20 1986-11-20 Plattenspeicher-Steuerverfahren Expired - Lifetime DE3645342C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP60260395A JP2550311B2 (ja) 1985-11-20 1985-11-20 磁気デイスクの多重制御方式
DE19863639549 DE3639549A1 (de) 1985-11-20 1986-11-20 Mehrfachsteuersystem und -verfahren fuer plattenspeicher

Publications (1)

Publication Number Publication Date
DE3645342C2 true DE3645342C2 (de) 2001-09-27

Family

ID=25849531

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3645342A Expired - Lifetime DE3645342C2 (de) 1985-11-20 1986-11-20 Plattenspeicher-Steuerverfahren

Country Status (1)

Country Link
DE (1) DE3645342C2 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4546430A (en) * 1983-07-13 1985-10-08 Sperry Corporation Control unit busy queuing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4546430A (en) * 1983-07-13 1985-10-08 Sperry Corporation Control unit busy queuing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Freedland: "Intelligente Diskettenlaufwerke: Zukunft der Systemintegration" in: Der Elektroniker, 1984, Nr. 8, S. 58-61 *
Snively: "Multitasking controller speeds throughput to multiple disks" in Electronic Design, 26. Januar 1984, S. 127-136 *

Similar Documents

Publication Publication Date Title
DE2856483C2 (de)
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE2448212C2 (de) Asynchrone Sammelleitung zur Kommunikation mit selbstbestimmter Priorität zwischen Mutterrechnergeräten und Tochterrechnergeräten
DE69730449T2 (de) Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten
DE2917441A1 (de) Multiprozessoranlage
DE69515355T2 (de) Mehrfacharbitrierungsschema
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE2310631C3 (de) Speicherhierarchie für ein Datenverarbeitungssystem
DE3932474A1 (de) Platten-steuervorrichtung und plattenzugriff-steuerverfahren
DE3639549A1 (de) Mehrfachsteuersystem und -verfahren fuer plattenspeicher
DE69016978T2 (de) Sicheres Datenschnellschreibverfahren für Massenspeichereinrichtung und ein dieses Verfahren ausführendes Computersystem.
DE69122337T2 (de) Asynchrone DASD-Steuerung
DE68919638T2 (de) Rechner mit unterbrechungsgesteuerter Taktgeschwindigkeit und Verfahren für seinen Betrieb.
DE3142504A1 (de) Mehrfachplattenspeicher-uebertragungssystem
EP0350016B1 (de) Verfahren und Einrichtung zum Duplizieren des Inhalts von Datenträgern
DE2032323A1 (de) Vielstufiges Warteschlangensystem
DE3645342C2 (de) Plattenspeicher-Steuerverfahren
DE69328853T2 (de) Verfahren und System zur Verbesserung der Effizienz von Mehrkopf-Datenzugriffen in Speicher-Teilsystemen
DE68902185T2 (de) Modularer speicher.
DE69718432T2 (de) Ein-/Ausgabesteuerungsgerät und Verfahren angewendet für ein betriebsicheres Rechnersystem
DE2732068C3 (de) Schaltungsanordnung zur Steuerung des Informationsaustauschs zwischen den peripheren Einrichtungen und der zentralen Steuereinrichtung einer Fernmelde-, insbesondere Fernsprechvermittlungsanlage
DE3801547A1 (de) Daten-ein/ausgabevorrichtung
DE69031948T2 (de) System zur Speicherung von Daten auf FIFO-Basis
DE3689833T2 (de) Datensicherungsverfahren und Vorrichtung für ein Rechnersystem.
EP0576711A1 (de) Datenverarbeitungssystem mit mehreren Taktfrequenzen

Legal Events

Date Code Title Description
Q172 Divided out of (supplement):

Ref country code: DE

Ref document number: 3639549

8142 Declaration for partition to be considered as not given as to paragraph 39 or 60
8125 Change of the main classification

Ipc: G06F 13/12

8110 Request for examination paragraph 44
8170 Reinstatement of the former position
AC Divided out of

Ref country code: DE

Ref document number: 3639549

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition