DE3645342C2 - Plattenspeicher-Steuerverfahren - Google Patents
Plattenspeicher-SteuerverfahrenInfo
- 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
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- 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/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING 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/14—Handling requests for interconnection or transfer
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller 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.
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)
| 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 |
-
1986
- 1986-11-20 DE DE3645342A patent/DE3645342C2/de not_active Expired - Lifetime
Patent Citations (2)
| 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)
| 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 |