-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft eine Speichersteuerung und insbesondere
ein Speichersteuersystem, das es ermöglicht, Daten auf verschiedenen
Speichermedien zum Speichern von in Host-Computer eingegebenen Daten
bzw. aus diesen ausgelesenen Daten zwischen diesen Host-Computern,
die verschiedene Host-Computer-Ein-/Ausgabeschnittstellen aufweisen,
zu teilen, und ein Computersystem, bei dem dieses verwendet wird.
-
In
der letzten Zeit haben Fälle
zugenommen, in denen Großrechner
mit einem Zuteilungssystem offener Systembasen verbunden sind, wobei
der Teil der Operationen (Transaktionen, Aufgaben) verkleinert wird,
der gewöhnlich
von einem Hauptrechner eines Zuteilungsservers (beispielsweise eines UNIX-Servers
usw.) verarbeitet wurde oder wobei ein Informationssystem in eine
Unterteilung aufgenommen wird.
-
Weil
das Datenformat (CKD-Format) des Großrechners in diesen Fällen von
dem Datenformat (FBA-Format) der Host-Computer-Ein-/Ausgabeschnittstelle des
UNIX-Servers verschieden ist, sind die Entwicklung von Programmen
zur Datenkonvertierung und die Datenkonvertierung zwischen Host-Computern oder eine
Speichersteuerung, die jeder Host-Computer-Ein-/Ausgabeschnittstelle zugewiesen
ist, erforderlich. Dies macht es schwierig, einen breiten Bereich
von Computersystemkonfigurationen aufzubauen.
-
Als
ein Verfahren, das zum Lösen
der vorstehend erwähnten
Probleme entwickelt wurde, ist in JP-A-60-254270 ein integriertes
Computersystem offenbart, das es ermöglicht, verschiedene Programme auszuführen, ohne
die Architektur der CPU (Zentralverarbeitungseinheit) zu beschränken, wobei
beispielsweise eine Hardwarekonfiguration verwendet wird, die mehrere
Computer in einem System aufweist.
-
Eine
Magnetplattenvorrichtung, die eine Schnittstelle, welche mit mehreren
verschiedenen Schnittstellenstandards kompatibel ist, und eine Schnittstellen-Konvertierungssteuerschaltung,
die es ermöglicht,
Dateien auf einer Magnetplatte gemeinsam zu verwenden, aufweist,
ist in JP-A-1-309117 offenbart.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Bei
der Technologie aus dem Stand der Technik, die im vorstehend erwähnten JP-A-60-254270
offenbart ist, weisen CPUs mit verschiedenen Architekturen eine
Master-Slave-Beziehung
auf. Die CPU auf der anderen Slave-Seite mit einer anderen Architektur
wird ausschließlich
daran gehindert, das Speichermedium gleichzeitig zu verwenden, damit
die CPU auf der Slave-Seite durch einen Hardwareschalter ausgewählt wird,
um einen Systembus zum Ausführen
eines Eingabevorgangs in das Speichermedium bzw. eines Ausgabevorgangs
aus dem Speichermedium zu belegen. Wenn dementsprechend die ausgewählte CPU
für einen längeren Zeitraum
verwendet wird, ergibt sich der Nachteil, daß das Speichermedium und/oder
der Systembus, die dem System gemeinsame Betriebsmittel sind, für einen
längeren
Zeitraum belegt werden.
-
Weil
Dateien in der Magnetplattenvorrichtung für jede der verschiedenen die
CPU teilenden Architekturen unterteilt und gespeichert sind, ist
es unmöglich,
dieselbe Datei in der Magnetplattenvorrichtung zwischen CPUs mit
verschiedenen Architekturen geteilt zu verwenden.
-
Wenngleich
es möglich
ist, daß Host-Computer
mit verschiedenen Architekturen ein Speichermedium im Stand der
Technik, wie vorstehend erwähnt
wurde, geteilt verwenden, wird das Speichermedium ausschließlich von
Host-Computern mit verschiedenen Architekturen verwendet. Dies kann
teilweise dazu führen,
daß die
Verwendungswirksamkeit des Dateiuntersystems erheblich verringert
wird. Der Nachteil dieser geteilten Verwendung von Daten zwischen
Host-Computern mit verschiedenen Host-Computer-Ein-/Ausgabeschnittstellen
wird nicht überwunden.
-
Wenngleich
eine geteilte Verwendung von Dateien zwischen Host-Vorrichtungen
mit verschiedenen Schnittstellen im vorstehend erwähnten JP-A-1-309117
möglich
ist, wurde die geteilte Verwendung von Daten zwischen verschiedenen Schnittstellen
nicht erwähnt.
-
Eine
Aufgabe der vorliegenden Erfindung besteht darin, eine Speichersteuerung
bereitzustellen, bei der eine Anforderung zum Datenzugriff auf ein
Speichermedium von Host-Computern
mit verschiedenen Host-Computer-Ein-/Ausgabeschnittstellen durch
Ausführen
einer Datenkonvertierung möglich
ist, falls dies für
eine solche Anforderung erforderlich ist, und bei der eine geteilte
Verwendung von Daten auf dem Speichermedium zwischen Host-Computern
mit verschiedenen Host-Computer-Ein-/Ausgabeschnittstellen möglich ist,
wodurch die Erweiterbarkeit des Dateiuntersystems und das Ansprechvermögen von
Daten erhöht
sind, um das Aufbauen eines breiten Bereichs von Computersystemkonfigurationen
zu ermöglichen.
-
Eine
weitere Aufgabe der vorliegenden Erfindung besteht darin, eine Speichersteuerung
bereitzustellen, welche es ermöglicht,
daß verschiedene Host-Computer-Ein-/Ausgabeschnittstellen
und/oder verschiedene Speichermedien-Ein-/Ausgabeschnittstellen
zur Speichersteuerung hinzugefügt
oder von dieser entfernt werden.
-
Eine
weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Computersystem
bereitzustellen, das die vorstehend erwähnte Speichersteuerung aufweist.
-
Zum
Lösen der
vorstehend erwähnten
Aufgabe ist gemäß einem
Aspekt der vorliegenden Erfindung eine Speichersteuerung in einem
Computersystem vorgesehen, die mehrere Host-Computer mit verschiedenen
Host-Computer-Ein-/Ausgabeschnittstellen, die Speichersteuerung
zum Steuern der Eingabe in die Host-Computer bzw. der Ausgabe aus den
Host-Computern und verschiedene Speichermedien zum Speichern von
Ein- /Ausgabedaten der Host-Computer aufweist, wobei die Speichersteuerung
aufweist:
-
Steuerprozessoren,
die jeweils mit einem der Host-Computer
verbunden sind, Vorrichtungs-Ein-/Ausgabeschnittstellen, jeweils
für eines der
Speichermedien, um die Steuerprozessoren mit den verschiedenen Speichermedien
zu verbinden, um Daten in einem vorgegebenen Format in jedes Speichermedium
einzugeben bzw. aus diesem auszugeben, und eine Host-Schnittstellen-Managementtabelle
zum Behandeln des Datenformats der Host-Computerschnittstelle jedes
Host-Computers,
wobei
jeder der Steuerprozessoren eine Datenformat-Konvertierungseinheit aufweist, die
das Datenformat des entsprechenden Host-Computers in der Host-Computer-Schnittstellenmanagementtabelle mit
dem vorgegebenen Datenformat vergleicht, wenn eine Schreibdatenanforderung
von dem entsprechenden Host-Computer ausgegeben wird, das Datenformat
der Schreibdaten in das vorgegebene Datenformat konvertiert, die
konvertierten Schreibdaten in das Speichermedium schreibt, wenn
die verglichenen Formate übereinstimmen,
und die Schreibdaten ohne Konvertieren des Datenformats der Schreibdaten
schreibt, wenn sie nicht übereinstimmen,
und die auch das Datenformat des entsprechenden Host-Computers in
der Host-Computer-Schnittstellenmanagementtabelle mit dem vorgegebenen
Datenformat vergleicht, wenn eine Lesedatenanforderung vom entsprechenden
Host-Computer ausgegeben wird, das Datenformat der aus dem Speichermedium
gelesenen Lesedaten in das vorgegebene Datenformat konvertiert,
um die konvertierten Lesedaten zum entsprechenden Host-Computer
zu übertragen,
wenn die verglichenen Formate nicht übereinstimmen, und die Lesedaten
zum entsprechenden Host-Computer überträgt, ohne das Datenformat der Lesedaten
zu konvertieren, wenn sie übereinstimmen.
Diese Konfiguration ermöglicht
es, daß Daten auf
verschiedenen Speichermedien zwischen Host-Computern mit verschiedenen
Host-Computer-Ein-/Ausgabeschnittstellen geteilt verwendet werden.
-
Bei
einem Computersystem mit der Speichersteuerung, die die vorstehend
erwähnte
Konfiguration aufweist, ist das Hinzufügen oder Entfernen von einem
oder mehreren Host-Computern
mit gewünschten
Arten von Host-Computer-Ein-/Ausgabeschnittstellen und von einem
oder mehreren mit den Host-Computern kompatiblen Steuerprozessoren durch
Aktualisieren der Host-Computer-Schnittstellenmanagementtabelle
möglich.
-
Gemäß einem
Merkmal der vorliegenden Erfindung sind Laufwerkssteuerblöcke (DCB),
die jeweils für
eine Speichervorrichtung (ein Laufwerk) vorgesehen sind, zum Steuern
des Zugriffs auf jede Speichervorrichtung bereitgestellt. Dies ermöglicht es,
verschiedene Speichervorrichtungen mit einer gegebenen Vorrichtungs-Ein-/Ausgabeschnittstelle hinzuzufügen oder
zu entfernen.
-
KURZBESCHREIBUNG DER ZEICHNUNG
-
1 ist ein schematisches
Blockdiagramm, in dem eine Ausführungsform
eines Computersystems gemäß der vorliegenden
Erfindung dargestellt ist,
-
2 ist ein schematisches
Blockdiagramm, das zum Erklären
der Zusammenfassung der vorliegenden Erfindung nützlich ist,
-
3 ist ein schematisches
Blockdiagramm, in dem die Konfiguration einer anderen Ausführungsform
eines Plattenuntersystems gemäß der vorliegenden
Erfindung dargestellt ist,
-
4 ist ein Diagramm, in dem
die Konfiguration eines Laufwerkssteuerblocks dargestellt ist,
-
5 ist ein Diagramm, in dem
ein Beispiel von Host-Computer-Schnittstellenmanagementinformationen
dargestellt ist,
-
6 ist ein Flußdiagramm,
in dem ein Datenzugriffsvorgang dargestellt ist,
-
7 ist ein Flußdiagramm,
in dem ein DCB-Reservierungsvorgang
dargestellt ist,
-
8 ist ein Flußdiagramm,
in dem ein DCB-Freigabevorgang dargestellt ist,
-
9 ist ein Diagramm, das
zum Erläutern der
Konvertierung zwischen CKD- und BAD-Formaten nützlich ist, und
-
10 ist ein schematisches
Blockdiagramm, in dem die Konfiguration einer weiteren Ausführungsform
eines Plattenuntersystems gemäß der vorliegenden
Erfindung dargestellt ist.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
Nun
werden die Ausführungsformen
der vorliegenden Erfindung detailliert mit Bezug auf die Zeichnung
beschrieben.
-
1 ist ein Blockdiagramm,
das zum Erklären
des Arbeitsprinzips der vorliegenden Erfindung nützlich ist, worin die Konfiguration
einer Ausführungsform
eines Computersystems der vorliegenden Erfindung dargestellt ist,
welche mehrere Host-Computer mit verschiedenen Ein-/Ausgängen, eine
Speichersteuerung zum Steuern der Eingabe in die Host-Computer bzw. der
Ausgabe von den Host-Computern und verschiedene Speichermedien zum
Speichern von Daten, die in die Host-Computer eingegeben bzw. von
diesen ausgegeben werden, aufweist.
-
In 1 sind die mehreren Host-Computer A100,
B101 und C102 mit verschiedenen Host-Computer-Ein-/Ausgabeschnittstellen über eine
Speichersteuerung 103 mit einer Magnetplattenvorrichtung 111,
einer Magnetbandvorrichtung 112 und einer Diskettenlaufwerksvorrichtung 113 verbunden.
-
Steuerprozessoren 104, 105, 106, 108, 109 und 110,
die in die Speichersteuerung 103 aufgenommen sind, sind
dafür ausgelegt,
die Übertragung von
Daten zwischen den Host-Computern
A100, B101 und C102 und der Magnetplattenvorrichtung 111,
der Magnetbandvorrichtung 112 und der Diskettenlaufwerksvorrichtung 113 zu
steuern.
-
Mit
anderen Worten führen
die Steuerprozessoren 104, 105 und 106 eine
Anforderung zum Übertragen
von Ein-/Ausgabedaten von den Host-Computern A100, B101 und C102
aus und die Steuerprozessoren 108, 109 und 110 eine
Anforderung zum Übertragen
von Ein-/Ausgabedaten für
die Magnetplattenvorrichtung 111, die Magnetbandvorrichtung 112 und
die Diskettenlaufwerksvorrichtung 113 aus.
-
Alle
Steuerprozessoren 104, 105, 106, 108, 109 und 110 empfangen
und übertragen
unter sich über
eine Steuerleitung 107 ein Daten- und ein Steuersignal.
-
2 ist ein Blockdiagramm
zur Erklärung des
Grundgedankens der vorliegenden Erfindung. Der Grundgedanke der
vorliegenden Erfindung wird nun mit Bezug auf 2 beschrieben.
-
In 2 sind die Host-Computer
A200, B201 mit verschiedenen Host-Computer-Ein-/Ausgabeschnittstellen
und dem Speichermedium 203 mit der Speichersteuerung 210 verbunden,
welche eine Datenzugriffeinheit 202 aufweist. Zugriffsanforderungen 204 (Schreiben), 205 (Lesen), 206 (Schreiben)
und 207 (Lesen), welche von den Host-Computern A200 und
B201 für
das Speichermedium 203 erzeugt werden, werden an die Speichersteuerung 210 ausgegeben.
Diese Zugriffsanforderungen werden von der Datenzugriffeinheit 202 ausgeführt.
-
Falls
die Schreibzugriffsanforderung 204 vom Host-Computer A200 ausgegeben
wird, führt
die Datenzugriffeinheit 202 eine Datenkonvertierung durch,
wenn die Datenkonvertierung der Schreibdaten erforderlich ist, und
sie schreibt konvertierte Daten in das Speichermedium 203 und
unkonvertierte Schreibdaten in das Speichermedium 203,
wenn die Datenkonvertierung nicht erforderlich ist.
-
Falls
die Schreibzugriffsdatenanforderung 204 vom Host-Computer A200 ausgegeben
wird, führt
die Datenzugriffeinheit 202 eine Datenkonvertierung der
Schreibdaten aus, wenn dies erforderlich ist, und sie schreibt die
konvertierten Daten in das Speichermedium 203 und unkonvertierte
Daten in das Speichermedium 203, wenn die Datenkonvertierung
nicht erforderlich ist (208).
-
Falls
die Lesezugriffsanforderung 205 vom Host-Computer A200
ausgegeben wird, liest die Datenzugriffeinheit 202 Daten aus
dem Speichermedium und führt
eine Datenkonvertierung aus, wenn dies erforderlich ist, und überträgt die konvertierten
Daten zum Host-Computer A und unkonvertierte Schreibdaten zum Host-Computer
A, wenn die Datenkonvertierung nicht erforderlich ist.
-
Die
Verarbeitung für
die Zugriffsanforderung vom Host-Computer
B201 wird ähnlich
der Verarbeitung für
die Zugriffsanforderung vom Host-Computer A200 ausgeführt.
-
Der
vorstehend erwähnte
Vorgang ermöglicht
es den Host-Computern
mit verschiedenen Host-Computer-Ein-/Ausgabeschnittstellen, die
Daten auf dem Speichermedium gemeinsam zu verwenden.
-
Es
sei bemerkt, daß die
Anzahl der Host-Computer mit verschiedenen Host-Computer-Ein-/Ausgabeschnittstellen
nicht auf 2 beschränkt ist,
sondern daß drei
oder mehr Host-Computer
angeschlossen werden können.
-
3 ist ein Blockdiagramm,
in dem die Funktion eines Platten-Untersystems mit einem Cache-Speicher
gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung dargestellt ist.
-
In 3 ist eine Plattensteuerung 302 über eine
Kanalsteuerung 301 auf der Host-Seite mit einem Host-Computer 300 verbunden
und auch über eine
Kleincomputersystem-Schnittstelle (als SCSI abgekürzt) mit
einem Host-Computer 303 verbunden.
-
Gemäß der vorliegenden
Ausführungsform ist
der Host-Computer 300 ein
Großrechner (CKD-Datenformat)
und der Host-Computer 303 ein UNIX-Computer
(FBA-Datenformat).
-
Die
Plattensteuerung 302 ist mit Laufwerken 315 und 316 verbunden,
die ein magnetisches Speichermedium auf der unteren Seite sind.
-
Die
Plattensteuerung 302 führt
ansprechend auf die Anforderungen der Host-Computer 300 und 303 ein
Lesen/Schreiben von Daten auf den Laufwerken 315 und 316 aus.
-
Die
Datenübertragung
zwischen den Host-Computern 300, 303 und den Laufwerken 315, 316 wird
durch die Steuer prozessoren 305, 306, 310 und 311 gesteuert,
welche in der Plattensteuerung 302 enthalten sind.
-
Die
Steuerprozessoren 305 und 306 sind durch die Kanalsteuerung 301 bzw.
die SCSI-Bussteuerung 304 mit den Host-Computern 300 und 303 verbunden,
und die Steuerprozessoren 310 und 311 sind über die
Laufwerksschnittstellen 313 bzw. 314 mit den Laufwerken 315 und 316 verbunden.
-
Die
Steuerprozessoren 305 und 306 führen hauptsächlich eine
Datenübertragung
zwischen den Host-Computern 300 und 303 und dem
Cache-Speicher 309 aus. Die Steuerprozessoren 310 und 311 führen hauptsächlich eine
Datenübertragung
zwischen dem Cache-Speicher 309 und den Laufwerken 315 und 316 aus.
-
Ein
gemeinsamer Steuerspeicher 307 ist ein gemeinsamer Speicher,
der von allen Steuerprozessoren 305, 306, 310 und 311 zugänglich ist
und in dem gemeinsame Steuerinformationen 318 gespeichert
sind, die verwendet werden, um es der Plattensteuerung 302 zu
ermöglichen,
die Laufwerke 315 und 316 zu verwalten. Die gemeinsamen
Steuerinformationen 318 werden nachstehend detailliert
beschrieben.
-
Der
Cache-Speicher 309 ist von allen Steuerprozessoren 305, 306, 310 und 311 zugänglich und wird
zum Zwischenspeichern von Daten verwendet, die aus den Laufwerken 315 und 316 ausgelesen wurden.
Ein Cache-Slot 312 ist die Datenverwaltungs-Einheitsgröße im Cache-Speicher 309.
-
Die
Steuerprozessoren 305, 306, 310 und 311 empfangen über eine
Signalleitung 308 Daten- und Steuersignale vom Cache-Speicher 309 und vom
gemeinsamen Steuerspeicher 307 und übertragen Daten- und Steuersignale über die
Signalleitung 308 zum Cache-Speicher 309 und zum
gemeinsamen Steuerspeicher 307.
-
Die
Steuerprozessoren 305 und 306 sind mit einem Dienstprozessor 317 verbunden.
-
Wenn
eine Aktualisierung der gemeinsamen Steuerinformationen 318 im
gemeinsamen Steuerspeicher 307 vom Dienstprozessor 317 vorgeschrieben
wird, wählt
der Dienstprozessor 317 einen der Steuerprozessoren 305 und 306 aus,
um eine Aktualisierungsanforderung zu senden, so daß der ausgewählte Steuerprozessor
die gemeinsamen Steuerinformationen 318 im gemeinsamen
Steuerspeicher 307 aktualisiert.
-
Nun
werden die gemeinsamen Steuerinformationen beschrieben.
-
Die
gemeinsamen Steuerinformationen 318 enthalten einen Laufwerkssteuerblock 400 und
eine Host-Computer-Schnittstellen-Managementinformationstabelle 500,
die der Reihe nach beschrieben werden.
-
4 zeigt einen Laufwerkssteuerblock
(als DCB abgekürzt) 400.
Ein DCB 400 ist für
jedes der Laufwerke vorgesehen, und es sind darin vier Dateneinheiten
gespeichert.
-
Die
vier Dateneinheiten umfassen eine Laufwerksnummer 401,
um es der Laufwerkssteuerung 302 zu ermöglichen, jedes Laufwerk zu
identifizieren, Interprozessor-Exklusivdaten 402, Interhost-Exklusivinformationen 403 und
Laufwerksvakanz-Warteinformationen 404.
-
Die
Interprozessor-Exklusivinformationen 402 werden verwendet,
wenn der Steuerprozessor 305 oder 306 den DCB-Zugriff
vom anderen Steuerprozessor exklusiv steuert, und es wird dadurch
die Prozessornummer festgelegt, wenn der Steuerprozessor das Zugriffsrecht
für den
DCB mit der spezifizierten Laufwerksnummer reserviert, und die Prozessornummer
gelöscht,
wenn der Steuerprozessor das Zugriffsrecht für den DCB aufhebt.
-
Die
Interhost-Exklusivinformationen 403 werden verwendet, wenn
der Host-Computer 300 oder 303 den Laufwerkszugriff
vom anderen Host-Computer exklusiv steuert, und die Informationen 403 werden "freigegeben", wenn der Prozessor den
Zugriff auf die spezifizierte Laufwerksnummer reserviert, und "gesperrt", wenn der Host-Computer das
Zugriffsrecht aufhebt.
-
Die
Laufwerksvakanz-Warteinformationen 404 werden verwendet,
um einen der Host-Computer 300 und 304 zu informieren,
daß ein
DCB mit der spezifizierten Laufwerksnummer vakant ist, nachdem seine
Verwendung durch den anderen Host- Computer aufgehoben wurde, welcher den
DCB verwendet hat, als der Computer gefordert hat, das Zugriffsrecht für den DCB
zu reservieren, jedoch darüber
informiert wurde, daß der
DCB vom anderen Host-Computer verwendet wurde.
-
5 zeigt eine Host-Schnittstellen-Managementinformationstabelle 500.
-
In
der Tabelle 500 werden die Host-Schnittstelleninformationen 502 für jede Nummer 501 des Steuerprozessors
eines angeschlossenen Host-Computers verwaltet. Es wird anhand dieser
Informationen bestimmt, ob eine Datenkonvertierung vorzunehmen ist.
-
Gemäß der vorliegenden
Ausführungsform verwalten
die Steuerprozessoren 305 (503 in 5) und 306 (504 in 5) das CKD-Format 506 bzw. das
FBA-Format 507. Die vorliegende Verwaltungsinformationstabelle 500 wird
ansprechend auf eine Anweisung vom Dienstprozessor 317 gesetzt
und zurückgesetzt.
-
Nun
wird die Arbeitsweise der Steuerprozessoren 305, 306, 310 und 311 in
der Plattensteuerung 302 gemäß der vorliegenden Erfindung
beschrieben.
-
6 ist ein Flußdiagramm,
in dem der Hauptarbeitsablauf dargestellt ist, der von einer Datenzugriffs-Verarbeitungseinheit
(600) ausgeführt wird,
welche eine Datenformat-Konvertierungseinheit aufweist.
-
Wenn
ein Steuerprozessor 305 einen Datenzugriffsbefehl vom Host-Computer 300 empfängt, wird
die DCB-Verarbeitung zum Reservieren des Zugriffsrechts für den DCB
der spezifizierten Laufwerksnummer ausgeführt (Schritt 601).
-
Es
wird bestimmt, ob die Reservierung des DCB gelungen ist oder nicht
(Schritt 602). Falls sie fehlgeschlagen ist, wird die Datenzugriffsverarbeitung
beendet (Schritt 616). Falls sie erfolgreich ist, wird
der folgende Vorgang ausgeführt.
-
Zuerst
wird eine Reservierung des Cache-Slots vorgenommen (Schritt 603).
Anschließend wird
bestimmt, ob der Datenzugriffsbefehl ein Schreibbefehl oder ein
Lesebefehl ist (Schritt 604).
-
Falls
er ein Schreibbefehl ist, wird der folgende Vorgang ausgeführt:
-
Anhand
der Host-Computer-Schnittstellen-Managementinformationstabelle 500 (5) (Schritt 610)
wird bestimmt, ob die Host-Computer-Schnittstelle, die mit dem Steuerprozessor
verbunden ist, im CKD- oder FBA-Format vorhanden ist (Schritt 611).
-
Gemäß der vorliegenden
Ausführungsform liegen
die Steuerprozessoren 305 und 306 im CKD-Format 506 bzw.
im FBA-Format 507 vor.
-
Falls
er im CKD-Format vorliegt, konvertiert der Steuerprozessor 305 CKD-Daten
in FBA-Daten (Schritt 612) und schreibt anschließend die
konvertierten Schreibdaten in den Cache-Slot 312 (Schritt 613).
Falls er im FBA-Format vorliegt, schreibt der Steuerprozessor 305 FBA-Daten
in den Cache-Slot 312, ohne eine Konvertierung vorzunehmen.
Die Konvertierung von FBA-Daten in CKD-Daten wird später beschrieben.
Daher wird der Cache-Slot freigegeben (Schritt 614) und
DCB freigegeben (Schritt 615).
-
Falls
der empfangene Befehl ein Lesebefehl ist, wird der folgende Vorgang
ausgeführt:
-
Zuerst
wird bestimmt, ob Lesedaten im Cache-Speicher vorhanden sind (Schritt 617).
Falls die Daten vorhanden sind, wird der Vorgang in Schritt 605 und
den folgenden Schritten ausgeführt.
Falls keine Daten vorhanden sind, wird der Vorgang (1) ausgeführt.
-
Beim
Vorgang (1) weisen die Steuerprozessoren 305 und 306 die
Steuerprozessoren 310, 311 an, Daten aus den Laufwerken
auszulesen, und die Steuerprozessoren 310, 311 lesen
Daten über
die Laufwerksschnittstellen 313, 314 aus den Laufwerken,
um Lesedaten in den Cache-Slot des Cache-Speichers zu schreiben.
Dieser Vorgang ist im Flußdiagramm
von 6 fortgelassen.
-
Nun
wird der Vorgang in Schritt 605 und den folgenden Schritten
beschrieben.
-
Es
werden Daten im Cache-Slot 312 gelesen (Schritt 605).
-
Anhand
der Host-Computer-Schnittstellen-Managementinformationstabelle 500 (5) (Schritt 606)
wird bestimmt, ob sich die Host-Computer-Schnittstelle, die mit
dem Steuerprozessor verbunden ist, im CKD- oder FBA-Format befindet (Schritt 607).
-
Falls
sie sich im CKD-Format befindet, konvertiert der Steuerprozessor 305 die
Lesedaten vom FBA-Format in das CKD-Format (Schritt 608) und überträgt die konvertierten
Daten zum Host-Computer 300 (Schritt 609). Die
Konvertierung von FBA-Daten in CKD-Daten wird später beschrieben.
-
Falls
er sich im FBA-Format befindet, werden die aus dem Cache-Slot 312 ausgelesenen
Daten, ohne eine Konvertierung auszuführen, zum Host-Computer 303 übertragen.
-
Anschließend wird
der Cache-Slot 312 freigegeben (Schritt 614) und
der DCB freigegeben (Schritt 615).
-
Die
Schreibdaten im Cache-Slot 312 werden von den Steuerprozessoren 310, 311 asynchron
mit dem Betrieb der Host-Computer 300, 303 in
die Laufwerke 315, 316 geschrieben. Mit anderen
Worten rufen die Steuerprozessoren 310, 311 den
Cache-Speicher ab, und wenn darin in das Laufwerk zu schreibende
Daten gefunden werden, werden diese Daten in das Laufwerk geschrieben.
-
7 ist ein Flußdiagramm,
in dem der Ablauf (700) beim DCB-Reservierungsvorgang (601)
in 6 dargestellt ist.
-
Es
werden Interprozessor-Exklusivinformationen 402 des DCB 400 entsprechend
der spezifizierten Laufwerksnummer 401 vorgegeben (Schritt 701).
-
Anschließend wird
bestimmt, ob die Interhost-Exklusivinformationen "freigegeben" sind oder nicht
(Schritt 702).
-
Falls
sie nicht "freigegeben" sind, werden die Interhost-Exklusivinformationen 403 "freigegeben" (Schritt 703), um
den Erfolg der Reservierung in einem Rückkehrcode festzulegen (Schritt 704).
-
Anschließend werden
die Interprozessor-Exklusivinformationen 402 gelöscht (Schritt 708),
um den DCB-Reservierungsvorgang
zu beenden (Schritt 709).
-
Falls
die Interhost-Exklusivinformationen bereits "freigegeben" waren, wird der Vorgang folgendermaßen ausgeführt:
-
Die
Tatsache, daß der
DCB verwendet wird, wird dem Host-Computer mitgeteilt (Schritt 705).
-
Anschließend wird
der Host-Computer, dem die Verwendung des DCB mitgeteilt wurde,
in die DCB-Vakanz-Warteinformationen 404 des DCB 400 aufgenommen
(Schritt 706).
-
Der
Fehlschlag der Reservierung wird im Rückkehrcode (Schritt 707)
festgelegt, und es werden dann die Interprozessor-Exklusivinformationen 401 gelöscht (Schritt 708).
-
8 ist ein Flußdiagramm,
in dem der Ablauf der DCB-Freigabeverarbeitung
(615) in 6 dargestellt
ist.
-
Nun
werden die Interprozessor-Exklusivinformationen 402 des
DCB 400 mit der Laufwerksnummer 401, worin die
Freigabe angefordert wird, festgelegt (Schritt 801).
-
Anschließend werden
die Interhost-Exklusivinformationen 403 gelöscht (Schritt 802).
-
Anschließend wird
bestimmt, ob ein Host-Computer vorhanden ist, der in den Vakanz-Warteinformationen
des DCB registriert ist (Schritt 803).
-
Falls
kein Host-Computer vorhanden ist, werden die Interprozessor-Exklusivinformationen 402 gelöscht (Schritt 605),
um den Laufwerksfreigabevorgang (Schritt 800) zu beenden
(Schritt 806).
-
Falls
ein Host-Computer vorhanden ist, wird die Vakanz des DCB dem registrierten
Host-Computer mitgeteilt (Schritt 804).
-
Hierdurch
wird verhindert, daß der
DCB vorherrschend von einem der Host-Computer verwendet wird. Anschließend werden die
Interprozessor-Exklusivinformationen gelöscht (Schritt 805).
-
9 ist ein Diagramm zum Erklären der Konvertierung
zwischen dem CKD- und dem FBA-Datenformat.
-
Anhand 9 wird die Konvertierung
vom CKD- in das FBA-Datenformat kurz beschrieben.
-
Informationen
dazu, auf welchem Block CKD (1) und (2) positioniert sind, sind
verfügbar.
Informationen zur Datenlänge
von CKD sind in einem C-Bereich (Zählbereich) gespeichert. Im
Fall einer Dateneingabe in einen Host-Computer mit dem CKD-Format
bzw. einer Datenausgabe von einem Host-Computer mit dem CKD-Format werden die
Datenlängeninformationen
durch 512 Bytes geteilt, um die Anzahl der erforderlichen Blöcke zu bestimmen.
Die Daten werden vom vorderen Ende der positionierten Blöcke beginnend
gepackt. Der restliche Teil des Blocks wird unverändert gelassen.
Im Fall einer Dateneingabe in den Host-Computer mit einem FBA-Format bzw, einer
Datenausgabe von dem Host-Computer mit dem FBA-Format wird vom Host-Computer
auf die spezifizierte LBA (logische Blockadresse) zugegriffen.
-
Nun
wird die Konvertierung vom FBA-Datenformat in das CKD-Datenformat
beschrieben.
-
Im
Fall einer Dateneingabe in einen Host-Computer mit dem CKD-Format
bzw. einer Datenausgabe von dem Host-Computer mit dem CKD-Format
wird ein Block mit den interessierenden C-Informationen gesucht, und es wird durch
die spezifizierten C-Informationen darauf zugegriffen.
-
Im
Fall einer Dateneingabe in einen Host-Computer mit dem FBA-Format
bzw. einer Datenausgabe von einem Host-Computer mit dem FBA-Format wird auf
einen Block einer spezifizierten LBA zugegriffen.
-
Weil
das Konvertierungsverfahren wohlbekannt ist, wird hier auf seine
detaillierte Beschreibung verzichtet.
-
Wenngleich
in den vorstehend erwähnten Ausführungsformen
eine Magnetplattenvorrichtung als ein Speichermedium verwendet wird,
kann die vorstehend erwähnte
Datenzugriffs verarbeitung unter Verwendung einer Magnetbandvorrichtung
oder einer Diskettenlaufwerksvorrichtung an Stelle der Magnetplattenvorrichtung
implementiert werden.
-
Die
Host-Computer können
zur Speichersteuerung des Computersystems für jeden der Steuerprozessoren
zur Verarbeitung einer Anforderung zur Ein- bzw. Ausgabe des Host-Computers und der Steuerprozessoren
zum Verarbeiten der Eingabe in die Speichermedien bzw. der Ausgabe
von den Speichermedien hinzugefügt
oder davon entfernt werden. Weiterhin können Host-Computer zur Speichersteuerung
eines Laufwerks (Speichers) mit einer Vorrichtungs-Ein-/Ausgabeschnittstelle
hinzugefügt
oder davon entfernt werden. Eine solche Ausführungsform wird anhand 10 beschrieben. Weil Komponenten,
die jenen aus 3 entsprechen,
mit den gleichen Bezugszahlen bezeichnet sind, wird auf ihre Beschreibung
verzichtet.
-
In 10 wird ein Paar (319)
einer Faserkanalsteuerung 317 und eines Steuerprozessors 318 zum
Steuern davon mit dem gemeinsamen Bus 308 der Plattensteuerung 302 verbunden
(diesem hinzugefügt)
oder davon entfernt (gelöscht).
-
Weiterhin
wird ein paar (322) eines Diskettenlaufwerks (FD) 321 und
eines Steuerprozessors 320 zum Steuern von diesem mit dem
gemeinsamen Bus 308 der Plattensteuerung 302 verbunden
(diesem hinzugefügt)
oder davon entfernt.
-
Der
Dienstprozessor 317 aktualisiert den Inhalt des Laufwerkssteuerblocks 318 in
einem gemeinsamen Speicher 317 und der Host-Computer-Schnittstellenmanagementtabelle 319 ansprechend
auf das Hinzufügen
oder Löschen
der Paare 319 und 322.
-
Gemäß der vorliegenden
Erfindung können Daten
auf Speichermedien von Host-Computern, in denen Speichersteuerungen
verschiedene Host-Computer-Ein-/Ausgabeschnittstellen aufweisen,
geteilt verwendet werden, wie in den vorstehenden Ausführungsformen
erwähnt
wurde. Die Erweiterbarkeit des Dateiuntersystems und das Ansprechvermögen von
Daten sind verbessert.
-
Weil
Host-Computer mit verschiedenen Host-Computer-Ein-/Ausgabeschnittstellen
oder verschiedenen Speichermedien zum Speichern von Ein-/Ausgabedaten
der Host-Computer durch eine einzige Speichersteuerung verbunden
werden können,
ist ein breiter Konfigurationsbereich eines Computersystems möglich.