DE3932474C2 - Plattenzugriff-Steuerverfahren - Google Patents
Plattenzugriff-SteuerverfahrenInfo
- Publication number
- DE3932474C2 DE3932474C2 DE3932474A DE3932474A DE3932474C2 DE 3932474 C2 DE3932474 C2 DE 3932474C2 DE 3932474 A DE3932474 A DE 3932474A DE 3932474 A DE3932474 A DE 3932474A DE 3932474 C2 DE3932474 C2 DE 3932474C2
- Authority
- DE
- Germany
- Prior art keywords
- access
- disk
- level
- data
- memory
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
Description
Die Erfindung betrifft ein Steuerverfahren für den
Plattenzugriff nach dem Oberbegriff des Patentanspruchs.
Ein solches Verfahren ist aus der US 4 476 526 bekannt.
Die genannte US 4 476 526 beschreibt ein Plattenzu
griff-Steuerverfahren, bei dem die Verwaltung der Speicher
plätze des Cache-Speichers im Cache-Subsystem selbst unterge
bracht ist. Im Falle des Auftretens eines Fehlers wird der
Cache-Pufferspeicher umgangen, und es werden dann die Daten
nur mehr direkt zwischen Hauptgerät und Platte übertragen.
Diese Vorgehensweise hat den Nachteil, daß bei einer
solchen Totalabschaltung des Cache-Speichers zum Beispiel
frisch aktualisierte Daten verlorengehen können und statt
dessen unter der gleichen Adresse veraltete Daten aus dem
Plattenspeicher ausgelesen werden oder im Cache-Speicher zwi
schengespeicherte aktuelle Daten nicht mehr zum Plattenspei
cher übertragen werden.
Darüberhinaus kann, wenn bei einer Plattenspeichervor
richtung mit einem Cache-Speicher und einer Anzahl von Daten
übertragungswegen (Speicherpfaden) bei einem der Wege bzw.
Speicherpfade die Daten-Übertragungsfunktion eingeschränkt
ist, bezüglich an sich gleicher Daten eine Inkonsistenz auf
treten, wenn sorglos mittels des nur eingeschränkt funktio
nierenden Speicherpfades und ohne Berücksichtigung der ande
ren Pfade auf den Cache-Speicher oder die Platte zugegriffen
wird. Zum Beispiel können dann nicht mehr aktuelle Daten aus
gelesen werden. Wenn andererseits der Speicherpfad beim Auf
treten eines Fehlers sofort und dauerhaft gesperrt wird, wie
es beim genannten Stand der Technik der Fall ist, verringert
sich die Datenübertragungskapazität der Vorrichtung unnötig,
da der Speicherpfad ja noch teilweise funktionsfähig ist. Von
besonderer Bedeutung ist dies, wenn mehrere Speicherpfade nur
noch eingeschränkt arbeiten.
Aus der US 4 686 621 ist ein Multilevel-Cache-System
bekannt, dessen Cache-Speicher in mehrere Speicherebenen
(Levels) unterteilt ist. Wenn innerhalb einer Ebene des
Cache-Speichers ein Fehler auftritt, wird diese Ebene still
gelegt, wobei die restlichen Ebenen des Cache-Speichers in
Betrieb bleiben und die Daten für die fehlerhafte Ebene auf
die anderen Ebenen umgeleitet werden.
Ausgehend von dem eingangs genannten Stand der Technik
liegt der Erfindung die Aufgabe zugrunde, die Plattenspei
chervorrichtung so auszugestalten, daß auch bei eingeschränk
ter Datenübertragungsfähigkeit der Speicherpfade die Vorrich
tung trotzdem noch mit der größtmöglichen Effektivität be
trieben werden kann.
Diese Aufgabe wird erfindungsgemäß mit den im Kennzei
chen des Patentanspruchs angegebenen Merkmalen gelöst.
Erfindungsgemäß wird somit der nur mehr eingeschränkt
funktionierende Speicherpfad nicht dauernd gesperrt, sondern
nur vorübergehend. Wenn die Anzahl der verwendbaren Pfade
unter einen vorgegebenen Wert absinkt, wird das Zugriffsver
fahren für die Daten auf den Platten geändert, so daß zwi
schen dem vorübergehend gesperrten Pfad und den anderen Pfa
den beim Zugriff auf die neuesten Daten im Cache-Speicher
oder auf einer Platte keine Inkonsistenzen auftreten. Der
vorübergehend gesperrte Pfad wird entsprechend der erhalten
gebliebenen Funktionsfähigkeit später wieder verwendet. Er
findungsgemäß wird so eine unnötige Verringerung der Daten
übertragungskapazität vermieden.
Beim Auftreten eines Fehlers in einem der Speicherpfade
wird der Pfad vorübergehend gesperrt. Wenn die Anzahl der
vorübergehend gesperrten Pfade über einen vorgegebenen Wert
ansteigt, wird die Datenübertragung, die auf den vorüberge
hend gesperrten Pfaden noch möglich ist, entsprechend dem
Ausmaß des Fehlers auf dem Pfad auf einer niedrigeren Ebene
fortgesetzt. Die Funktionsebene der vorübergehend und teil
weise gesperrten Pfade steigt damit wieder über die Zu
griffsebene der Platten an. Da die vorübergehende Sperrung
automatisch aufgehoben wird, steigt auch die Anzahl verwend
barer Speicherpfade von selbst wieder an, und die Verringe
rung der Datenübertragungskapazität ist klein.
Bevorzugte Ausführungsbeispiele der Erfindung werden im
folgenden unter Bezugnahme auf die anliegenden Zeichnungen be
schrieben. In den Zeichnungen zeigen
Fig. 1 ein Blockdiagramm eines platten-Subsystems und
einer Plattensteuervorrichtung als ein Ausführungsbeispiel der
Erfindung;
Fig. 2 den Inhalt eines gemeinsamen Steuerspeichers in
der Plattensteuervorrichtung;
Fig. 3 ein Flußdiagramm, in dem die Operationsabläufe
der jeweiligen Speicherpfade in der Plattensteuervorrichtung
dargestellt sind;
Fig. 4 ein Flußdiagramm zur Erläuterung der Einzel
heiten einer Prozedur zur Bestimmung der Zulassung/Zurückwei
sung des Zugriffs beim Betrieb jedes Speicherpfades in Fig.
3;
Fig. 5 ein Flußdiagramm zur Erläuterung der Einzelhei
ten einer Prozedur (1) zur Änderung der Zugriffsebene in einer
Platte beim Betrieb eines Speicherpfades;
Fig. 6 ein Flußdiagramm zur Erläuterung der Einzelhei
ten einer Prozedur (2) zur Änderung der Zugriffsebene einer
Platte beim Betrieb eines Speicherpfades;
Fig. 7 ein Flußdiagramm zur Erläuterung der Einzelhei
ten einer Prozedur zum Setzen eines Faktors der SP-Störung
beim Betrieb eines Speicherpfades;
Fig. 8 ein Flußdiagramm für die SP-Funktionsebenen beim
Betrieb eines Speicherpfades;
Fig. 9 ein Ausführungsbeispiel eines logischen SP mit
zwei Moduln;
Fig. 10 den Aufbau einer Tabelle, die den Status von
zwei einen logischen SP aufbauenden Moduln verwaltet;
Fig. 11 eine Entscheidungstabelle, die die Korrespon
denzbeziehung zwischen dem Status eines logischen SP und dem
Status von zwei den SP aufbauenden Moduln angibt;
Fig. 12 eine SP-Struktur, in der zwei einen logischen
SP aufbauende Moduln und zwei einen anderen logischen SP auf
bauende Moduln eine Kreuzverbindung haben;
Fig. 13 ein Flußdiagramm, das die Prozeduren zeigt, die
von einer Plattensteuervorrichtung mit einem Cache-Speicher
ausgeführt werden, auf die die Erfindung Anwendung findet;
Fig. 14 ein Blockdiagramm eines Platten-Subsystems mit
einer erfindungsgemäßen Plattensteuervorrichtung mit einem
Cache-Speicher;
Fig. 15 Daten im Tabellenformat, die bei Anwendung der
Erfindung für die Steuerung notwendig sind;
Fig. 16 eine Liste von Routen oder Leitwegen, die für
die Übertragung von Daten Anwendung finden;
Fig. 17 ein Flußdiagramm, das eine Prozedur für die Be
stimmung einer Zugriffsebene zeigt; und
Fig. 18 die Beziehung zwischen SP-LEVEL und SP-STATUS,
wie sie für die Änderung der Funktionsebene des SP Anwendung
findet.
Im folgenden wird ein Ausführungsbeispiel beschrieben,
das das Setzen einer Funktionsebene als Bezugsgröße betrifft.
Fig. 1 zeigt ein Blockdiagramm eines Platten-Subsystems
(Untersystems) mit einem Cache-Speicher, worauf die vorliegen
de Erfindung Anwendung findet. Das Subsystem enthält eine Ka
nalsteuereinheit 111, eine Plattensteuervorrichtung 110, Plat
ten 90 bis 93, Verbindungsleitungen 113 bis 120, die die Ka
nalsteuereinheit 111 und die Plattensteuervorrichtung 110
verbinden, und Verbindungsleitungen 137 bis 152, die die Plat
tensteuervorrichtung und die Platten verbinden. Die verwende
ten Platten können magnetische Platten, optische Platten oder
Halbleiter-Platten sein.
Die Kanalsteuereinheit 111 enthält acht Kanäle a bis h,
über die gleichzeitig Anforderungen für den Zugriff auf die
Platten 90 bis 93 vorgenommen werden können. Die Plattensteu
ervorrichtung 110 enthält Datenübertragungs-Steuereinheiten
100 bis 103 (als "Steuerpfad" oder kurz "SP" bezeichnet), die
Anforderungen für den Zugriff auf Daten von Kanälen empfangen
und Daten zwischen den Kanälen und Platten parallel übertragen
(Lesen/Schreiben). Im einzelnen ist jeder SP aus einem spe
ziell dafür ausgelegten Prozessor oder einem universellen Mi
kroprozessor aufgebaut. Die Verbindung zwischen den acht Ka
nälen a bis h und den vier SPs 100 bis 103 wird in einem dyna
mischen Schaltvorgang durch eine MPSD (multi-path switching
device/Mehrweg-Schaltvorrichtung) 109 so gesteuert, daß An
forderungen für den Zugriff von den Kanälen über die Verbin
dungsleitungen 121 bis 124 nicht gemeinsam von einem bestimm
ten SP empfangen werden. Die Plattensteuervorrichtung 110 ent
hält weiter einen Cache-Speicher 105, der mit SPs (1) bis (4)
über Verbindungsleitungen 126, 128, 130 und 132 verbunden ist,
und einen Speicher NVS 106, der mit den SPs (1) bis (4) über
Verbindungsleitungen 133 bis 136 verbunden ist. Der Cache-
Speicher 105 ist ein "flüchtiger", d. h. energieabhängiger
Speicher, der nach Bedarf die Kopie eines Teils von auf den
Platten 90 bis 93 gespeicherten Daten speichert. Wenn ein SP
von einem Kanal eine Anforderung für den Zugriff (Lesen) auf
Daten empfängt, die vorher in dem Cache-Speicher 105 gespei
cbert wurden (eine derartige Zugriffsanforderung wird als
"cache hitting access request"/den Cache-Speicher treffende
Zugriffsanforderung bezeichnet), liest der SP die Daten in dem
Cache-Speicher 105, anstatt die Daten auf den Platten 90 bis
93 zu lesen, um die Ansprechfähigkeit des Zugriffs auf die Da
ten zu erhöhen. Ist diese den Cache-Speicher treffende Zu
griffsanforderung eine Schreib-Anforderung, aktualisiert der
SP die vorher im Cache-Speicher 105 gespeicherten Daten und
schreibt gleichzeitig dieselben Aktualisierungsdaten in den
NVS 106, der ein (nicht-flüchtiger) Speicher für die Sicherung
der Aktualisierungsdaten auf dem Cache-Speicher ist, um die
Verarbeitung für die Schreib-Anforderung von dem Kanal nur
durch die Aktualisierung der Daten auf dem Cache-Speicher zu
beenden, ohne die Daten auf den Platten 90 bis 93 zu aktuali
sieren. Später werden die neuen, nur im Cache-Speicher aktu
alisierten Daten in einer Leerzeit nach der Datenübertragung
zwischen der Plattensteuervorrichtung 110 und dem Kanal auf
die Platte geschrieben, um dadurch die Zugriff-Ansprechfähig
keit auf die Schreib-Anforderung zu verbessern (als "Hochge
schwindigkeits-Plattenschreiben" bezeichnet).
Ein ECM 104, der mit den SPs (1) bis (4) über Verbin
dungsleitungen 125, 129, 131 und 127 verbunden ist, ist ein
Steuerspeicher, auf den Bezug genommen wird, wenn die vier SPs
(1) bis (4) in der Plattensteuervorrichtung 110 eine Zugriffs
anforderung verarbeiten, und speichert Daten, die in Fig. 2
in Form einer Tabelle gezeigt sind. Zuerst setzt eine Tabelle
SP-LEVEL 200 eine der folgenden drei Funktionsebenen, die ent
sprechend dem verfügbaren Cache-Status sortiert sind, als
Funktionsebene, kennzeichnend für den Grad der den Cache-
Speicher benutzenden Funktion durch die jeweiligen SPs in Ab
hängigkeit vom jeweiligen Störungsgrad in den SPs (1) bis (4):
- (1) Funktionsebene 3, auf der ein Kanal über einen Speicher pfad eine Platte direkt lesen und Daten auf die Platte schrei ben kann und über den Speicherpfad zwischen dem Kanal und dem Cache-Speicher den Cache-Speicher lesen und Daten in den Cache-Speicher schreiben kann;
- (2) Funktionsebene 2, auf der ein Kanal über einen Speicher pfad eine Platte direkt lesen und Daten auf die Platte schrei ben kann und über den Speicherpfad zwischen Kanal und Cache- Speicher den Cache-Speicher nur lesen kann; und
- (3) Funktionsebene 1, auf der ein Kanal über einen Speicher pfad eine Platte direkt lesen und Daten auf die Platte schrei ben kann und über den Speicherpfad zwischen Kanal und Cache- Speicher den Cache-Speicher weder lesen noch Daten in den Cache-Speicher schreiben kann.
In Fig. 2 ist der Zahlenwert 3 als Anfangswert gesetzt,
der die Funktionsebenen aller SPs angibt. Wenn ein eine Funk
tionsebene bezeichnender Zahlenwert größer ist, ist die Funk
tionsebene höher.
Ein Flag (Kennzeichen), das angibt, ob jeder der vier SPs
(1) bis (4) in der Plattensteuervorrichtung 110 logisch ver
fügbar ist oder nicht ("1" gibt an, daß ein SP verfügbar ist,
und "0" gibt an, daß ein SP nicht verfügbar ist), wird in ei
ner Tabelle SP-AVAILABLE 210 gesetzt. In Fig. 2 sind alle SPs
so gesetzt, daß sie logisch verfügbar sind. Ein Flag, das an
gibt, ob jeder SP (1) bis (4) funktionsmäßig verfügbar ist
("1" gibt an, daß ein SP verfügbar ist, und "0" gibt an, daß
ein SP nicht verfügbar ist) , wird in einer Tabelle SP-OPERAT-
ABLE 220 gesetzt. In Fig. 2 sind alle SPs als funktionsmäßig
verfügbar dargestellt. Die in der Tabelle SP-LEVEL 200 gesetz
ten Funktionsebenen der SPs ergeben nur Sinn, wenn die SPs
funktionsmäßig verfügbar sind.
Eine Pfad-Funktionsebene (Zugriffsebene) , die ein Spei
cherpfad, der auf eine Platte zugreift, als die niedrigste ha
ben muß, ist als eine Variable (LEVEL) in die Spalten von je
der der DEVs (1) bis (4) der Tabelle DEV 230 in Entsprechung
zu dieser Platte gesetzt. Die folgenden vier Zugriffsebenen
sind vorgesehen:
- (a) Zugriffsebene 3, auf die nur von einem Speicherpfad auf der Funktionsebene 3 zugegriffen werden kann;
- (b) Zugriffsebene 2, auf die nur von einem Speicherpfad auf der Funktionsebene 2 oder 3 zugegriffen werden kann;
- (c) Zugriffsebene 1, auf die von einem Speicherpfad auf der Funktionsebene 1, 2 oder 3 zugegriffen werden kann; und
- (d) Zugriffsebene 0, die den Zugriff auf jede Platte unterbin det.
In Fig. 2 sind die Variablen (LEVEL) von DEV (1) bis
(4), die die Zugriffsebenen der Platten 90 bis 93 angeben,
alle auf 3 gesetzt. Die Inhalte der Variablen (FLAG) und
(LOCK) in DEV 230 werden später beschrieben.
Die Struktur eines Zugriffspfades zwischen einer Platte
und einem Kanal, der durch die Plattensteuervorrichtung 110
gesteuert wird, ist in der Tabelle DCB 240 in Entsprechung zu
dieser Platte vorgegeben. Im einzelnen wird die Struktur eines
Zugriffspfades zwischen einer Platte und einem Kanal in Form
von drei Daten PAM, POM und CPAS in jeder der Platten 90 bis
93 in den Einheiten DCB (1) bis (4) gesetzt. Ein Flag, das
angibt, mit welchem der SPs (1) bis (4) in der Plattensteuer
vorrichtung jede Platte logisch verbunden ist, wird in den
Spalten (b1) bis (b4) von PAM gesetzt ("1" gibt an, daß eine
Verbindung vorliegt, und "0" gibt an, daß keine Verbindung
vorliegt). Da die Platten 90 und 91 über Pfade 137 bis 140 mit
allen SPs (1) bis (4) verbunden sind, sind in Fig. 2 die PAM-
Spalten (b1) bis (b4) der DCBs (1) und (2) alle auf "1" ge
setzt. Da die Platten 92 und 93 über den Pfad 138 bzw. 139 nur
mit den SPs (2) und (3) verbunden sind, werden die PAM-Spalten
(b1) und (b4) der DCBs (3) und (4) auf "0" und die übrigen auf
"1" gesetzt. Ein Flag, das angibt, welcher der SPs (1) bis (4)
in der Plattensteuervorrichtung funktionsmäßig auf irgendeine
bestimmte Platte zugreifen kann ("1" gibt an, daß ein SP auf
die Platte zugreifen kann, und "0" gibt an, daß ein SP nicht
auf die Platte zugreifen kann), wird in jeder der POM-Spalten
(b1) bis (b4) gesetzt. In Fig. 2 sind die POM-Spalten (b1)
bis (b4) der DCBs (1) bis (4) alle auf "1" gesetzt. Die Ergeb
nisse der AND (UND) -Verknüpfung der entsprechenden Bits in den
jeweiligen PAM und POM-Spalten (b1) bis (b4) sind in den jewei
ligen CPAS-Spalten (b1) bis (b4) der DCB gesetzt. Im einzelnen
zeigen die jeweiligen CPAS-Werte (b1) bis (b4) in Entsprechung
zu einer Platte ein Flag, das denjenigen der SPs (1) bis (4)
in der Plattensteuervorrichtung angibt, mit dem die jeweiligen
Platten logisch verbunden sind und der im Moment tatsächlich
auf diese Platte zugreifen kann ("1" gibt an, daß ein SP auf
diese Platte zugreifen kann, und "0" gibt an, daß ein SP nicht
auf diese Platte zugreifen kann).
Der jeweilige Zustand (Status) der SPs (1) bis (4) in der
Plattensteuervorrichtung in bezug auf Störungen ist in einer
Tabelle SP-STATUS 260 in SP-STATUS-Zeilen (1) bis (4) in Ent
sprechung zu den SPs angegeben. Der Wert "1" wird in der Spal
te (b1) von SP-STATUS gesetzt, wenn der SP auf den Cache-
Speicher zugreifen kann, und der Wert "0" wird gesetzt, wenn
der SP nicht zugreifen kann. Der Wert "1" wird in der Spalte
(b2) gesetzt, wenn der SP auf den NVS zugreifen kann, und der
Wert "0" wird gesetzt, wenn der SP nicht zugreifen kann.
Flags (C) und (N), die angeben, ob der Cache-Speicher
bzw. der NVS verfügbar sind oder nicht, werden in einer Tabel
le CACHE/NVS-AVAILABLE 250 gesetzt, in der "1" angibt, daß der
jeweilige Speicher verfügbar ist, und "0", daß er nicht ver
fügbar ist. Im Beispiel nach Fig. 2 wird "1" als Anfangswert
für beide Flags (C) und (N) gesetzt.
Eine Anforderung zum Schließen irgendeines SP wird in ei
ner Tabelle SP-CLOSE 270 gesetzt. Wenn in dieser Tabelle S(4)
"1" gesetzt ist, wird vorgegeben, daß das Schließen von SP(4)
angefordert wird.
Anforderungen für die "Wiedergewinnung" (recovery) des
Cache-Speichers, des Speichers NVS und eines der SPs werden in
einer Tabelle RECOV 280 gesetzt. Ist "1" in (C), (N), S(n)
gesetzt, wird angegeben, daß eine Anforderung für die Wieder
gewinnung oder Regenerierung des Cache-Speichers, des Spei
chers NVS und des Speicherpfads SP(n) erfolgt.
Die Tabellen SP-CLOSE 270 und RECOV 280 werden durch eine
Bedienperson über einen Service-Prozessor 150 von einem War
tungsterminal 151 aus gesetzt, das in Fig. 1 dargestellt ist.
Im folgenden wird unter Verwendung der oben genannten
Steuerdaten in dem Steuerspeicher ECM unter Bezugnahme auf das
Flußdiagramm in Fig. 3 beschrieben, wie ein erfindungsgemäßes
Plattenzugriff-Steuersystem ausgelegt ist. In dem Flußdiagramm
nach Fig. 3 ist der Operationsablauf der jeweiligen SPs nach
vorliegender Erfindung dargestellt. Diese Operationen werden
insbesondere durch ein Mikroprogramm ausgeführt, das in den
jeweiligen SPs arbeitet. Zuerst bestimmt jeder SP unveränder
lich, ob ein Zugriffsbefehl von einem Kanal an diesem SP über
die Mehrweg-Schaltvorrichtung MPSD angekommen ist (Block 299).
Wird festgestellt, daß kein Zugriffsbefehl angekommen ist,
wird ein Schließ-Anforderung-Flag geprüft (Block 323). Ist das
Flag gesetzt, wird der SP geschlossen (Block 324). Weiterhin
wird ein Wiedergewinn-Anforderung-Flag geprüft (Block 325).
Ist dieses Flag gesetzt, wird die Wiedergewinnung einer Kompo
nente durchgeführt (Block 326) und die Steuerung kehrt zu dem
Block 299 zurück, in dem festgestellt wird, ob ein Zugriffsbe
fehl von einem Kanal angekommen ist. Der Inhalt der SP-Schließung
und der Komponenten-Wiedergewinnung wird später beschrie
ben.
Wird festgestellt, daß ein Zugriffsbefehl vorliegt,
schreitet die Steuerung zur Ausführung des Zugriffsbefehls
fort, wie im folgenden beschrieben. Zuerst wird die Nummer
einer Platte, auf die Zugriff genommen werden soll, von dem
Kanal empfangen (Block 300 in Fig. 3). Der Wert einer Variab
len (LOCK) in einer der Platte (Nr. = n) entsprechenden Unter
einheit DEV (n) in der Tabelle DEV 230 wird geprüft (Block
301). Ist der Wert der Variablen 1, wird bestimmt, daß eine
Plattensperre nicht sichergestellt werden kann, die Empfangs
bestätigung für den Zugriffsbefehl wird annulliert, eine BE-
LEGT WIEDERHOLEN-Mitteilung wird an den Kanal zurückgegeben,
und die Steuerung kehrt zum Block 299 zurück, in dem festge
stellt wird, ob ein Zugriffsbefehl vorliegt. Ist der Wert der
Variablen 0, wird festgestellt, daß eine Platten-Sperre gesi
chert ist, der Wert der Variablen wird auf 1 gesetzt, und ein
Prozeß (1) zur Überprüfung der Zugriffsebene der Platte (Nr. =
n) wird durchgeführt (Block 298). Weiter wird der Wert einer
Variablen (FLAG) in der DEV (n) entsprechend der Platte (Nr. =
n) geprüft (Block 303). Ist der Wert der Variablen 0, wird
sofort bestimmt, ob der Zugriff auf die Platte ausführbar ist
(Block 305). Ist der Wert der Variablen 1, wird ein Prozeß (2)
zur Überprüfung der Zugriffsebene der Platte (Nr. = n), auf
die Zugriff genommen werden soll, durchgeführt (Block 315).
Danach wird bestimmt, ob der Zugriff ausführbar ist oder nicht
(Block 305). Die Einzelheiten der Prozesse (1) und (2) zur
Überprüfung der Zugriffsebene und zur Bestimmung der Ausführ
barkeit des Zugriffs werden später beschrieben. Wenn sich als
Ergebnis der Bestimmung der Ausführbarkeit ergibt, daß der
Zugriff nicht ausführbar ist, wird die Ausführung des Befehls
gestoppt, und die Mitteilung FEHLER WIEDERHOLEN (ERROR RETRY)
wird an den Kanal zurückgegeben (Block 317). Der Wert der Va
riablen (FLAG) in der DEV (n) entsprechend der Platte (Nr. =
n) wird auf 0 gesetzt, und die Steuerung kehrt zum Block 299
zurück, wo bestimmt wird, ob ein Zugriffsbefehl von einem Ka
nal angekommen ist. Wird im Block 305 festgestellt, daß ein
Zugriff ausführbar ist, wird eine Aufzeichnungs- oder Daten
satz-Adresse, auf die Zugriff genommen werden soll, empfangen
(Block 304) , und Daten in dem Cache-Speicher werden wiederge
wonnen. Ist der Datensatz, auf den zugegriffen werden soll, in
dem Cache-Speicher gespeichert, wird er als ein "Treffer" ge
lesen oder geschrieben. Wenn zu diesem Zeitpunkt die Aufzeich
nung bzw. der Datensatz gelesen werden soll, wird der Inhalt
des Datensatzes in dem Cache-Speicher auf den Kanal übertra
gen, während der Inhalt des Datensatzes in dem Cache-Speicher
aktualisiert wird und der aktualisierte Inhalt des Datensatzes
gleichzeitig in dem NVS 106 gespeichert wird, wenn der Daten
satz geschrieben werden soll (Block 309). Wenn der Datensatz,
auf den Zugriff genommen werden soll, nicht in dem Cache
speicher gespeichert ist, wird der Datensatz auf der Platte
(Nr. = n) direkt als ein "Fehler" gelesen oder geschrieben und
der Inhalt des Datensatzes, auf den Zugriff genommen werden
soll, wird von der Platte auf den Cache-Speicher übertragen.
Dann wird bestimmt, ob diese Prozesse normal abgeschlos
sen wurden (Block 311). Wenn das so ist, wird der Wert der Va
riablen (FLAG) in der der Platte (Nr. = n) entsprechenden DEV
(n) auf 0 gesetzt, und die Steuerung kehrt zum Block 299 zu
rück, wo bestimmt wird, ob ein Zugriffsbefehl von einem Kanal
angekommen ist. Wenn in dem entsprechenden SP während der Aus
führung eines Befehls eine Störung auftritt und ein Fehler en
dete, tritt die Steuerung in eine Störung-Bearbeitungsfolge
mit folgenden Schritten ein: Setzen eines Störungsfaktors
(Block 319), Ändern der Funktionsebene des SP (Block 321) und
Schließen des Cache/NVS (Block 322). Der Inhalt dieser Prozes
se wird später beschrieben.
Im folgenden wird der Inhalt der Bestimmung der Ausführ
barkeit des Zugriffs (Block 305), der Prozesse (1) und (2) zur
Überprüfung der Zugriffsebene der Platte, auf die Zugriff ge
nommen werden soll (Blöcke 298 und 315) , der Verarbeitung zum
Setzen des Störungsfaktors in dem SP (Block 319), der Änderung
der Funktionsebene des SP (Block 321), der Schließung des
Cache/NVS (Block 322), der Schließung des SP (Block 324) und
der Komponenten-Rückgewinnung (Block 326) beschrieben.
Unter Bezugnahme auf das Flußdiagramm nach Fig. 4 wird
die Bestimmung der Ausführbarkeit des Zugriffs (Block 305) be
schrieben. Zuerst wird die momentane Funktionsebene des SP aus
SP LEVEL 200 nach Fig. 2 gelesen (Block 501), dann wird die
momentane Zugriffsebene der Platte, auf die Zugriff genommen
werden soll (Nr. = n), gelesen (Block 502), und der gelesene
Wert der Funktionsebene des SP sowie der Wert der Zugriffsebe
ne der Platte, auf die Zugriff genommen werden soll, werden
verglichen (Block 503). Wenn der gelesene Wert der Funktions
ebene des SP größer als der der Zugriffsebene der Platte ist,
wird bestimmt, daß durch den SP auf die Platte zugegriffen
werden kann (Block 504). Bei einem entgegengesetzten Ver
gleichsergebnis, wird bestimmt, daß der Zugriff nicht möglich
ist (Block 505).
Der Prozeß (1) für die Überprüfung der Zugriffsebene der
Platte, auf die Zugriff genommen werden soll (Block 298 in
Fig. 3), wird unter Bezugnahme auf das Flußdiagramm nach
Fig. 5 beschrieben. Zuerst wird bestimmt, ob der Cache-Speicher
entsprechend dem Flag (C) der CACHE/NVS-AVAILABLE-Tabelle 250
in Fig. 2 geschlossen ist (Block 650 in Fig. 5). Ist das der
Fall, wird die Zugriffsebene der Platte, auf die Zugriff ge
nommen werden soll, nur dann auf 1 gesetzt, wenn sie gleich
oder größer als 1 ist (Blöcke 651, 652). Ergibt die Abfrage in
Block 650 das Ergebnis NEIN, wird bestimmt, ob der NVS
entsprechend dem Flag (N) geschlossen ist (Block 653). Ist der
NVS geschlossen, wird die Zugriffsebene der Platte, auf die
Zugriff genommen werden soll, nur dann auf 2 gesetzt, wenn sie
gleich oder größer als 2 ist (Blöcke 654, 655).
Im folgenden wird unter Bezugnahme auf das Flußdiagramm
in Fig. 6 der Prozeß (2) zur Überprüfung der Zugriffsebene
der Platte, auf die Zugriff genommen werden soll, beschrieben
(Block 315 in Fig. 3). Zuerst werden die vier Daten in den
jeweiligen Datenflags (b1) bis (b4) der Tabellen SP-AVAILABLE
210, SP-OPERATABLE 220 und der Zeilen PAM, POM der DCB (n)
entsprechend der Platte (Nr. = n), auf die Zugriff genommen
werden soll, einer AND-Verknüpfung (UND-Verknüpfung) unterzo
gen. Die Ergebnisse werden in den entsprechenden Flags (b1)
bis (b4) der Zeile CPAS der DCB (n) entsprechend der Platte,
auf die Zugriff genommen werden soll, gesetzt (Block 801 in
Fig. 6). Anschließend werden die Flags (b1) bis (b4) der CPAS
von der DCB (n) gelesen (Block 802), und die Zugriffsebene
SPLEVEL (n) des SP (n) entsprechend dem Flag (bn), in dem "1"
gesetzt ist, wird von SP-AVAILABLE 210 gelesen (Blöcke 802,
803). Da im allgemeinen eine Vielzahl von solchen SP LEVELs
(n) erhalten wird, wird der SP LEVEL (n) mit dem höchsten
Funktionsebenenwert unter den SP LEVELs, die der Bedingung ge
nügen, nach der es SPs gibt, jeweils mit einem verschiedenen
SP LEVEL größer als eine bestimmte Funktionsebene und größer
als ein Schwellenwert entsprechend der Kombination der Werte
der SP LEVELs, als die Funktionsebene der Platte verwendet und
als die Zugriffsebene-Variable gesetzt (Blöcke 804, 805, 806,
807). Der schließlich erhaltene Wert der Zugriffsebene-Variab
len wird in (LEVEL) der DEV (n) der Platte gesetzt, der Wert
von (FLAG) wird auf "0" gesetzt.
Entsprechend dem Flußdiagramm nach Fig. 7, das die Pro
zedur zum Setzen des SP-Störungsfaktors zeigt, wird der Stö
rungsfaktor in SP identifiziert (Block 600 in Fig. 7), und
das Ergebnis wird in Form eines Bit-Musters in den Flags (b1)
und (b2) in SP STATUS (n) entsprechend dem SP (n) in der Ta
belle SP STATUS 260 in Fig. 2 gesetzt.
Entsprechend dem Flußdiagramm nach Fig. 8, in dem die
Prozedur zur Änderung der SP-Funktionsebene dargestellt ist,
werden die Werte der (b1)- und (b2)-Flags von SP STATUS (n)
entsprechend dem SP (n) in der Tabelle SP STATUS 260 in Fig.
2 geprüft, und der Wert von SP LEVEL (n) entsprechend SP (n)
in SP LEVEL 200 wird entsprechend dem Bit-Muster gesetzt, wie
in den Blöcken 701 bis 703 in Fig. 8 dargestellt.
Wenn in der Cache/NVS-Schließprozedur (Block 322 in Fig.
3) die Zahl von SPs (n), in denen (b1) von SP STATUS 260 0 ist)
und die den (bn) in SP-OPERATABLE 220 in Fig. 2 entspricht,
in denen 1 gesetzt ist, größer als der Wert der Schwelle ist,
wird in dem Flag (C) in CACHE/NVS-AVAILABLE 250 1 gesetzt und
der Cache-Speicher geschlossen. Wenn die Zahl von SPs, in de
nen der Wert von (b2) 0 ist, gleich dem oder größer als der
Wert der Schwelle ist, wird in dem Flag (N) von CACHE/NVS-
AVAILABLE 250 1 gesetzt und der NVS geschlossen.
In der SP-Schließprozedur (Block 324 in Fig. 3) werden
die S (n)-Flags, in denen 1 gesetzt ist, in der SP CLOSE-
Tabelle 270 in Fig. 2 geprüft, in dem entsprechenden Flag von
SP-AVAILABLE 210 wird 0 gesetzt, und in der Spalte (FLAG) von
DEV (1) bis (4) der DEV 230 wird 1 gesetzt.
In der Komponenten-Wiedergewinnungsprozedur (Block 326 in
Fig. 3) werden Flags, in denen 1 gesetzt ist, in der RECOV-
Tabelle 280 geprüft. Wenn in den Flags (C) und (N) 1 gesetzt
ist, wird in den Flags (C) und (N) in CACHE/NVS-AVAILABLE 250
1 gesetzt, die Werte von SPLEVEL (1) bis (4) von SPLEVEL 200
werden auf 3 gesetzt und in der Spalte (FLAG) von DEV (1) bis
(4) von DEV 230 wird 1 gesetzt. Wenn in dem Flag S (n) 1 ge
setzt ist, wird in den (bn)-Flags von SP-AVAILABLE 210 und SP-
OPERATABLE 220 1 gesetzt und wird in der Spalte (FLAG) von DEV
(1) bis (4) von DEV 230 1 gesetzt.
Wenn einer der zu den Platten 90 bis 93 gehörigen Pfade
141 bis 152 entsprechend Fig. 1 für Wartungszwecke oder ähn
liches geschlossen (rück-verbunden) ist, wird in dem entspre
chenden Flag (b1) bis (b4) von PAM von DCB (n) in jeder Platte
(Nr. = n) 0( 1) gesetzt und in der Spalte (FLAG) von DEV (n)
wird 1 gesetzt.
Wenn entsprechend dem oben beschriebenen Ausführungsbei
spiel eine Störung in irgendeinem der SPs (1) bis (4) auftritt
und wenn der Cache-Speicher, der NVS und/oder irgendein zu ir
gendeiner Platte gehöriger Pfad geschlossen sind, kann der
Cache-Speicher unter Verwendung der vorhandenen SP-Funktion
bis zum äußersten verwendet werden, und auf die Platte kann
zugegriffen werden, während eine Daten-Änderung verhindert
wird, wenn der SP in der Plattensteuervorrichtung auf eine mit
der Vorrichtung verbundene Platte Zugriff nimmt, um die Ver
fügbarkeit der Plattensteuervorrichtung zu erhöhen. Da das
Schließen eines SP zu Wartungszwecken und das Schließen ir
gendeines zu einer Platte gehörigen Pfades usw. durchgeführt
werden, ohne die Operation des Platten-Subsystems in größerem
Umfang zu beeinflussen, kann eine Wartung ohne weiteres durch
geführt werden, während das Platten-Subsystem in Betrieb ist.
Während in dem obigen Ausführungsbeispiel von der Ver
wendung eines einzelnen Prozessors als SP in der Plattensteu
ervorrichtung ausgegangen wurde, kann ein einzelner logischer
Speicherprozessor (SP1) 1000, der zwei in Serie geschaltete
getrennte Prozessoren (MP1) 1001 und (MP2) 1002 enthält, ver
wendet werden, um hauptsächlich Daten auf der Kanal-Seite bzw.
auf der Platten-Seite zu übertragen, wie in Fig. 9 darge
stellt. In diesem Fall werden in einer in Fig. 10 gezeigten
Tabelle Daten über Kombinationen von verfügbaren und nicht
verfügbaren Zuständen von zugehörigen Pfaden 1261, 1262, 1331,
1332 gespeichert, die die den SP aufbauenden MP1 und MP2 ha
ben. Wenn in den zugehörigen Pfaden bzw. Eigenleitungen von
MP1 und MP2 eine Störung oder ein Fehler auftritt, wird der
SPSTATUS eines logischen SP mit einem MP, in dessen zugehöri
gem Pfad eine Störung aufgetreten ist, oder der Wert von SP-
OPERATABLE in einer in Fig. 11 gezeigten Entscheidungstabelle
gesetzt, um dadurch den Zugriff zu einer Platte durch den lo
gischen SP auf ganz dieselbe Weise wie im vorhergehenden Aus
führungsbeispiel zu steuern. Wenn, wie in Fig. 12 gezeigt,
eine Struktur verwendet wird, in der Querpfade 1204 und 1205
Prozessoren MP1 (MP10, MP11) und MP2 (MP20, MP21) verbinden,
die zwei logische SPs 1200, 1201 bilden, wird davon ausgegan
gen, daß vier SPs existieren, die zwei neue logische SPs ent
halten, die durch die Blöcke 1202, 1203 dargestellt sind. Die
Funktionsebenen der jeweiligen SPs erhält man durch Kombina
tionen der entsprechenden Zustände (Status) der MPs, die die
jeweiligen SPs aufbauen, wie oben erwähnt, um dadurch die
Funktionsebenen der entsprechenden SPs auf dem ECM zu reflek
tieren, um den Plattenzugriff durch die logischen SPs auf die
selbe Weise wie im vorherigen Ausführungsbeispiel zu steuern.
Im folgenden wird ein Ausführungsbeispiel im einzelnen
beschrieben, in dem die vorhergenannte Bezugsgröße geändert
wird, wenn ein Befehl von einem Kanal empfangen wird und ein
SP mit einer Platte verbunden ist. Fig. 13 zeigt ein Fluß
diagramm eines Ausführungsbeispiels eines Prozesses, der unter
Anwendung der vorliegenden Erfindung durch eine Plattensteuer
vorrichtung mit einem Cache-Speicher durchgeführt wird.
In Fig. 14 ist die Struktur eines Platten-Subsystems mit
einer erfindungsgemäßen Plattensteuervorrichtung mit einem
Cache-Speicher dargestellt. Nach Fig. 14 enthält das Platten-
Subsystem eine Kanalsteuereinheit 21, eine Plattensteuervor
richtung 22, Platten 60, 61 und Verbindungsleitungen 23 bis
30, die die Kanalsteuereinheit und die Plattensteuervorrich
tung verbinden, sowie Verbindungsleitungen 56 bis 59, die die
Plattensteuervorrichtung und die Platten verbinden.
Die Kanalsteuereinheit 21 hat acht Kanäle a bis h, über
die acht Zugriffsanforderungen auf Platten 60 und 61 erfolgen.
Die Plattensteuervorrichtung 22 hat vier Speicherpfade (SPs)
37 bis 40, die parallel Anforderungen für einen Datenzugriff
von den entsprechenden Kanälen verarbeiten können. Im einzel
nen ist jeder SP aus einem speziell dafür ausgelegten Prozes
sor oder einem universellen Mikroprozessor aufgebaut. Die Ver
bindung zwischen den acht Kanälen a bis h und den vier SPs 37
bis 40 wird in einem dynamischen Schaltvorgang durch MPSDs 31,
32 (multi-path switching devices/Mehrweg-Schaltvorrichtungen)
so gesteuert, daß Anforderungen für den Zugriff von den Kanä
len nicht gemeinsam von einem bestimmten SP empfangen werden.
Die Plattensteuervorrichtung 22 enthält weiterhin einen
Cache-Speicher 42 und einen NVS 43. Der Cache-Speicher ist ein
flüchtiger Speicher, der nach Bedarf die Kopie eines Teils von
auf den Platten gespeicherten Daten speichert. Der NVS ist
beispielsweise ein nicht-flüchtiger Speicher, der verwendet
wird, um Daten auf dem Aktualisierungs-Cache-Speicher sicher
zustellen. Es gibt drei Verfahrensarten, um auf eine Platte
zuzugreifen, abhängig von einem Prozeß zur Verwendung des
Cache-Speichers und/oder des NVS:
Wenn eine Anforderung zum Lesen der zuvor in dem Cache-
Speicher gespeicherten Daten (eine derartige Zugriffsanforde
rung wird als "cache-hitting access request"/den Cache-Spei
cher treffende Zugriffsanforderung bezeichnet) als eine Zu
griffsanforderung von einem Kanal empfangen wird (das wird als
"rectd hit"/Lese-Treffer bezeichnet), werden die vorher in dem
Cache-Speicher gespeicherten Daten anstatt der Daten auf der
Platte gelesen, um dadurch die Ansprechfähigkeit des Zugriffs
auf die Daten zu verbessern. Ist die den Cache-Speicher tref
fende Zugriffsanforderung eine Schreib-Anforderung (als "write
hit"/Schreib-Treffer bezeichnet), werden die vorher in dem
Cache-Speicher gespeicherten Daten durch neue Daten aktuali
siert und die neuen Daten werden gleichzeitig in den NVS ge
schrieben, um dadurch die Verarbeitung für eine Anforderung
von dem Kanal zu beenden, ohne die Daten auf der Platte zu ak
tualisieren. Die allein in dem Cache-Speicher aktualisierten
neuen Daten werden später in einer Leerzeit für die Platten
steuervorrichtung kollektiv auf die Platte geschrieben, um
dadurch die Zugriff-Ansprechfähigkeit auf die Schreib-Anforde
rung zu verbessern. Wird von einem Kanal eine Anforderung zum
Zugriff auf Daten empfangen, die nicht im voraus in dem Cache
speicher gespeichert wurden (eine derartige Zugriffsanforde
rung wird als "cache missing access request"/eine den Cache
speicher nicht treffende Zugriffsanforderung bezeichnet), wird
auf die Platte unabhängig von einer Lese-Anforderung/Schreib-
Anforderung sofort Zugriff genommen und Daten werden zwischen
der Platte und dem Kanal übertragen und gleichzeitig in Vorbe
reitung für den nächsten Zugriff auf die Daten in dem Cache-
Speicher gespeichert oder geladen.
Der Prozeß für eine Anforderung zum Lesen entspricht dem
unter (1). Im Falle eines Schreib-Treffers (write hit) werden
die Daten auf der Platte und die Daten in dem Cache-Speicher
gleichzeitig aktualisiert. Im Falle eines Schreib-Fehlers
(write miss) werden die Daten auf der Platte nur aktualisiert
und nicht geladen.
Der Cache-Speicher wird nicht verwendet und auf die Plat
te wird direkt Zugriff genommen.
Der Block ECM 41 ist ein Steuerspeicher, auf den Bezug
genommen wird, wenn die vier SPs (1) bis (4) in der Platten
steuervorrichtung 22 Zugriffsanforderungen verarbeiten und Da
ten speichern, wie in Fig. 15 in Form einer Tabelle darge
stellt.
Zuerst werden die Zustände (Status) der SPs in der Tabel
leneinheit SPSTATUS 5100 gehalten. Wie oben erwähnt, gibt es
vier Daten-Übertragungspfade:
- (P1) zwischen den Kanälen und den Platten;
- (P2) zwischen den Kanälen und dem Cache-Speicher;
- (P3) zwischen den Kanälen und dem NVS; und
- (P4) zwischen den Platten und dem Cache-Speicher.
Der Zahlenwert "1" wird in jeder der Zeilen (P1) bis (P4)
in der Tabelle SPSTATUS gesetzt, wenn der Pfad in dem jeweili
gen SP verfügbar ist, während "0" gesetzt wird, wenn der Pfad
nicht verfügbar ist. In Fig. 15 bis "1" gesetzt, weil alle
Pfade zu allen SPs verfügbar sind.
Die Tabelle SPLEVEL 5110 enthält die Funktionsebenen, die
jeweils für den Grad einer SP-Funktion zur Verwendung des
Cache/NVS entsprechend dem Status dieses SP kennzeichnend
sind.
Fünf Arten von Funktionsebenen sind vorgesehen:
- (1) Funktionsebene 5, auf der ein direkter Zugriff möglich ist zwischen den jeweiligen Kanälen und der Platte über die ent sprechenden Speicherpfade, zwischen den jeweiligen Kanälen und dem Cache-Speicher über die entsprechenden Speicherpfade und zwischen den jeweiligen Kanälen und dem NVS über die entspre chenden Speicherpfade;
- (2) Funktionsebene 4, auf der ein direkter Zugriff möglich ist zwischen den jeweiligen Kanälen und den Platten über die ent sprechenden Speicherpfade, zwischen den jeweiligen Kanälen und dem Cache-Speicher über die entsprechenden Speicherpfade und zwischen den jeweiligen Platten und dem Cache-Speicher über die entsprechenden Speicherpfade;
- (3) Funktionsebene 3, auf der ein direkter Zugriff möglich ist zwischen den jeweiligen Kanälen und den Platten über die ent sprechenden Speicherpfade und zwischen den jeweiligen Kanälen und dem Cache-Speicher über die entsprechenden Speicherpfade;
- (4) Funktionsebene 2, auf der ein direkter Zugriff möglich ist zwischen den jeweiligen Kanälen und den jeweiligen Platten über die entsprechenden Speicherpfade und zwischen den jewei ligen Platten und dem Cache-Speicher über die entsprechenden Speicherpfade; und
- (5) Funktionsebene 1, auf der ein direkter Zugriff möglich ist zwischen den jeweiligen Kanälen und den jeweiligen Platten über die entsprechenden Speicherpfade.
In den Zeilen (LEVEL 5) bis (LEVEL 1) in der Tabelle SP-
LEVEL wird der numerische Wert "1" für jeden SP gesetzt, wenn
dieser SP diese Funktionsebene hat, und "0" wird gesetzt, wenn
das nicht der Fall ist. Dies wird durch den Status der SP-
STATUS-Tabelle bestimmt. Das Verfahren zur Bestimmung wird
später beschrieben. Aufgrund der Annahme, daß sich alle SPs
auf einer Funktionsebene befinden, ist in der Tabelle in
Fig. 15 "1" gesetzt.
Ein Flag, das anzeigt, ob die jeweiligen SPs in der Plat
tensteuervorrichtung logisch verfügbar sind, ist in der Tabel
le SP-AVAILABLE 5120 gesetzt ("1" gibt an, daß ein SP verfüg
bar ist, während "0" angibt, daß ein SP nicht verfügbar ist).
Entsprechend der Setzung der Flags in Fig. 15 sind alle SPs
logisch verfügbar.
Die jeweiligen Strukturen von Zugriffspfaden zwischen den
Kanälen und den Platten, die durch die Plattensteuervorrich
tung 22 gesteuert werden, sind in der Tabelle DCB 5130 in Ent
sprechung zu diesen Platten gesetzt. Im einzelnen werden die
jeweiligen Strukturen der Zugriffspfade zwischen den Platten
60, 61 und den Kanälen als Daten in den Zeilen PAM und POM in
DCB (1) und DCB (2) gesetzt.
Ein Flag, das angibt, mit welchem der SPs (1) bis (4) in
der Plattensteuervorrichtung jede Platte logisch verbunden
ist, ist in der Zeile PAM gesetzt ("1" gibt an, daß eine Ver
bindung vorliegt, während "0" angibt, daß keine Verbindung
vorliegt).
In Fig. 14 ist die Platte 60 mit allen SPs (1) bis (4)
über Pfade 56 bis 59 verbunden, so daß in Fig. 15 alle PAM-
Werte in DCB (1) auf "1" gesetzt sind. Die Platte 61 ist nur
mit SP (2) und SP (3) über Pfade 57 und 58 verbunden, so daß
in (SP1) und (SP4) von PAM in DCB (2) "0" gesetzt ist, während
in (SP2) und (SP3) "1" gesetzt ist.
Ein Flag, das angibt, welcher der SPs (1) bis (4) in der
Plattensteuervorrichtung funktionsmäßig auf die entsprechende
Platte zugreifen kann, ist in POM gesetzt ("1" gibt an, daß
ein SP zugreifen kann, während "0" angibt, daß ein SP nicht
zugreifen kann). Entsprechend Fig. 15 sind alle Flags so ge
setzt, daß sowohl DCB (1) als auch DCB (2) von allen SPs zu
gänglich sind.
Die Tabelleneinheit SP-CURRENT (SP-AKTUELL) 5140 enthält
Daten über jeden verfügbaren SP, der mit Erfolg auf eine Plat
te zugegriffen hat. Wenn der jeweilige SP verfügbar ist, wenn
er auf die Platte zugreift, wird "1" gesetzt, während sonst
"0" gesetzt wird. Verfahren zur Erstellung und Verwendung die
ser Tabelle werden später beschrieben.
Eine "Zugriffsebene", die ein Verfahren des Zugreifens
auf die jeweiligen Platten definiert, wird für diese Platten
in Variablen (LEVEL) in DEV 5150 gesetzt. Die folgenden vier
Zugriffsebenen werden gesetzt
- (a) Zugriffsebene 3, auf der der Plattenzugriff unter Verwen dung des Cache/NVS erfolgt;
- (b) Zugriffsebene 2, auf der der Plattenzugriff unter Verwen dung des Cache-Speichers erfolgt;
- (c) Zugriffsebene 1, auf der der Plattenzugriff ohne Verwen dung des Cache-Speichers erfolgt;
- (d) Zugriffsebene 0, auf der der Plattenzugriff unterbunden ist.
In Fig. 15 sind die beiden variablen Werte (LEVEL) in
DEV (1), DEV (2), die die Zugriffsebenen der Platten 60 bzw.
61 angeben, auf 3 gesetzt. Diese Zugriffsebenen werden durch
den Status des SP-LEVEL bestimmt. Dieses Verfahren der Be
stimmung wird später beschrieben. Auch der Inhalt der Variab
len-Spalte (LOCK) in DEV 5150 wird später beschrieben.
Unter Bezugnahme auf das Flußdiagramm nach Fig. 13 wird
beschrieben, wie das Plattenzugriff-Steuersystem nach vorlie
gender Erfindung unter Verwendung der Steuerdaten in dem ECM
realisiert wird. Im einzelnen enthält diese Operation die Im
plementierung und Umsetzung eines Mikroprogramms, das auf ei
nem SP arbeitet.
Jeder SP prüft unveränderlich, ob ein Anfangs-Inbetrieb
nahmesignal von einem Kanal an diesem SP über die Mehrweg-
Schaltvorrichtung MPSD angekommen ist (Block 1). Ist das der
Fall, schreitet die Steuerung zur Ausführung eines Zugriffsbe
fehls von dem Kanal fort. Zuerst wird die Nummer einer Platte,
auf die Zugriff genommen werden soll, von dem Kanal empfangen
(Block 2). Der Wert der Variablen (LOCK) in der der Platte
(Nr. = n) entsprechenden Untereinheit DEV (n) in DEV 5150 wird
geprüft (Block 3). Ist der Wert der Variablen 1, wird be
stimmt, daß eine Plattensperre nicht sichergestellt werden
kann, die Bestätigung des Zugriffsbefehls wird annulliert, ei
ne BELEGT WIEDERHOLEN-Mitteilung wird an den Kanal zurückgege
ben (Block 4), und die Steuerung kehrt zu dem Verarbeitungs
schritt zurück, in dem die Ankunft eines Anfangs-Inbetrieb
nahmesignals von einem Kanal bestimmt wird (Block 1). Ist der
Wert der Variablen 0, wird festgestellt, daß eine Plattensper
re gesichert ist, der Wert der Variablen wird auf 1 gesetzt
(Block 5), und ein Prozeß (I) zur Wahl eines SP, der auf eine
Platte zugreifen kann, wird durchgeführt (Block 6). Die Ein
zelheiten des Prozesses (I) werden später beschrieben. Als Er
gebnis der Durchführung des Prozesses (I) werden die folgenden
Prozesse durchgeführt, wenn bestimmt wird, daß der SP, der ein
Inbetriebnahmesignal von einem Kanal empfangen hat, auf eine
Platte zugreifen kann. Wird festgestellt, daß der SP, der ein
Inbetriebnahmesignal von einem Kanal empfangen hat, nicht auf
die Platte zugreifen kann und daß es einen anderen SP gibt,
der auf die Platte zugreifen kann, wird die Steuerung zu die
sem SP übertragen, der dann die anschließenden Prozesse durch
führt. Wird festgestellt, daß es keine verfügbaren SPs gibt,
wird die Ausführung des entsprechenden Befehls angehalten, die
Mitteilung FEHLER WIEDERHOLEN (ERROR RETRY) wird an den Kanal
zurückgegeben (Block 7), und die Steuerung kehrt zu dem Prozeß
zur Bestimmung der Ankunft eines Anfangs-Inbetriebnahmesignals
von einem Kanal zurück (Block 1).
Wenn ein SP, der einen Zugriff durchführt, in seinem Zu
griffsprozeß den Cache-Speicher benutzt, wird eine Treffer/
Fehler-Bestimmung (hit/miss) durchgeführt (Block 9). Diese
enthält eine Abfrage, ob aufgezeichnete Information oder ein
Datensatz, worauf zugegriffen werden soll, in dem Cache-
Speicher gespeichert ist. Wenn diese Information nicht in dem
Cache-Speicher abgelegt ist oder wenn der Zugriffsprozeß den
Cache-Speicher nicht verwendet, ist es notwendig, auf eine
Platte direkt zuzugreifen. Bei Zugriff auf die Platte muß zu
erst der Magnetkopf positioniert werden, so daß ein Befehl für
die SUCH-Operation (SEEK) an die Platte ausgegeben wird (Block
10). Da bis zum Abschluß der SUCH-Operation in dem Zugriffs
prozeß nichts zu tun ist, wird nach der Abgabe des SUCH-Be
fehls die Verbindung zwischen dem SP und dem Kanal zeitweise
unterbrochen, und die Steuerung kehrt zu dem Prozeß zur Fest
stellung der Ankunft eines Anfangs-Inbetriebnahmesignals von
einem Kanal zurück (Block 1). Ist die aufgezeichnete Informa
tion, auf die Zugriff genommen werden soll, in dem Cache-
Speicher gespeichert, werden die Cache-Trefferdaten übertragen
(Block 11). Ist der Zugriff für eine Leseanforderung, werden
die Daten von dem Cache-Speicher zu dem Kanal übertragen. Ist
der den Cache/NVS benutzende Zugriff ein Schreib-Treffer, wer
den die Daten von dem Kanal zu dem Cache/NVS übertragen. Wenn
der den Cache-Speicher verwendende Zugriff ein Schreib-Treffer
ist, d. h. wenn der Cache-Speicher zu schreibende Daten ent
hält, ist es notwendig, auf eine Platte zuzugreifen, so daß
dieselbe Verarbeitung wie bei einem Fehler (miss) durchge
führt wird.
Wenn festgestellt wird, daß kein Anfangs-Inbetriebnahme
signal von einem Kanal angekommen ist, wird bestimmt, ob es
einen Bericht über einen Abschluß der SUCH-Operation von einer
Platte gibt (Block 12).
Wenn festgestellt wird, daß kein Bericht vorliegt, kehrt
die Steuerung zu dem Verarbeitungsschritt zur Bestimmung des
Vorliegens eines Anfangs-Inbetriebnahmesignals von einem Kanal
(Block 1) zurück. Wird festgestellt, daß ein Bericht vorliegt,
wird eine Verarbeitung (II) zur Wahl eines verfügbaren SP
durchgeführt (Block 13). Die Einzelheiten der Verarbeitung
(II) werden später beschrieben. Als Ergebnis der Durchführung
der Verarbeitung (II) wird ein SP bestimmt, der die nachfol
genden Prozesse durchführt. Dieser SP stellt zuerst eine Rück
verbindung mit einem Kanal her (Block 14) und überträgt dann
Fehlerdaten (miss-data), d. h. Daten, die der Cache-Speicher
nicht enthält (Block 15). Die Einzelheiten dieses Schrittes
werden unten beschrieben. Im Falle eines Lese-Fehlers, d. h.
daß der Cache-Speicher nicht die zu lesenden Daten enthält,
werden Daten von der Platte zu dem Kanal übertragen und der
Inhalt von Aufzeichnungen, auf die Zugriff genommen werden
soll, wird von der Platte zu dem Cache-Speicher übertragen. Im
Falle eines Schreib-Fehlers, d. h. daß der Cache/NVS nicht die
zu schreibenden Daten enthält, werden bei dem den Cache/NVS
benutzenden Zugriff Daten von dem Kanal zu dem Cache / der
Platte übertragen und der Inhalt der Aufzeichnungen, auf die
Zugriff genommen werden soll, wird von der Platte zu dem
Cache-Speicher übertragen. Im Falle eines Schreib-Treffers bei
dem den Cache-Speicher benutzenden Zugriff werden Daten von
dem Kanal zu dem Cache / der Platte übertragen. Im Falle eines
Schreib-Fehlers, werden Daten von dem Kanal zu der Platte
übertragen. Bei dem Zugriff ohne Verwendung des Cache-Spei
chers werden Daten nur zwischen dem Kanal und der Platte
übertragen.
Wenn die Datenübertragung abgeschlossen ist, wird der
Wert der Variablen (LOCK) in DEV (n) entsprechend der Platte
(Nr. = n) in DEV 5150 auf "0" gesetzt (Block 16), und die
Steuerung kehrt zu dem Verarbeitungsschritt zur Bestimmung des
Vorliegens eines Anfangs-Inbetriebnahmesignals von einem Kanal
zurück (Block 1).
Fig. 16 zeigt eine Liste von Pfaden, die bei der Daten
übertragung verwendet werden (das Symbol ○ gibt an, daß es ei
nen Übertragungspfad entsprechend dem Zugriffsprozeß gibt).
Im folgenden werden die Inhalte der Prozesse (I) und (II)
zur Wahl des zugreifbaren SP beschrieben. In den beiden Pro
zessen (I) und (II) wird die SP-CURRENT-Tabelle 5140 in Fig.
15 aktualisiert und es wird bestimmt, daß ein SP, in dem "1"
gesetzt ist, einen Zugriff ausführen kann. Die Ergebnisse der
AND-Verknüpfung (UND) der entsprechenden Bits in SP-AVAILABLE
5120, PAM und POM in der Platte in DCB 5130 und einer ent
sprechenden Ebene in SPLEVEL 5110 werden in der Tabelle SP-
CURRENT gesetzt. Welche der Ebenen in SP-LEVEL 5110 verwendet
wird, wird in Abhängigkeit von der Zugriffsebene der Platte
und in Abhängigkeit davon bestimmt, ob die Verarbeitung zur
Wahl eines SP, der einen Zugriff ausführen kann, (I) oder (II)
ist. Die Einzelheiten der Bestimmung werden unten beschrieben.
Wie oben erwähnt, wird im Falle eines Fehlers die Verbindung
zwischen dem SP und dem Kanal zeitweise unterbrochen und ein
neuer SP gewählt, so daß ein SP, der einen Zugriff ausführen
kann, im Falle eines Treffers in der Auswahlverarbeitung (I)
gewählt werden muß. Daher wird bei dem Zugriff unter Verwen
dung des Cache/NVS die Ebene 5 von SP-LEVEL verwendet. Bei dem
Zugriff unter Verwendung des Cache-Speichers wird die Ebene 3
verwendet. Bei der Verarbeitung (II) zur Wahl eines SP, der
einen Zugriff ausführen kann, ist ein Treffer oder Fehler
schon unterschieden, so daß der SP-LEVEL entsprechend gewählt
werden kann. Bei dem Zugriff unter Verwendung des Cache/NVS
gibt es nur den Fall eines Fehlers, so daß Ebene 4 verwendet
wird. Ist der den Cache-Speicher anwendende Zugriff ein
Schreib-Treffer, wird Ebene 3 verwendet, ist er ein Fehler,
wird Ebene 2 verwendet. Bei dem Zugriff, in dem der Cache-
Speicher nicht benutzt wird, wird Ebene 1 verwendet.
Im folgenden wird der Prozeß beschrieben, der durchge
führt wird, wenn in der Verarbeitung (II) zur Wahl des SP, der
einen Zugriff ausführen kann, festgestellt wird, daß es keine
SPs gibt, die einen Zugriff ausführen können. Ein solches Feh
len von SPs ergibt sich aus der Tatsache, daß es keine SPs
gibt, die direkt auf die Platte zugreifen können und verfügba
re Pfade zwischen der Platte und dem Cache-Speicher haben. Das
Laden unter Verwendung der Pfade zwischen den Platten und dem
Cache-Speicher wird in Vorbereitung für das Eintreffen eines
neuen möglichen Zugriffs auf denselben Datensatz bzw. diesel
ben Aufzeichnungen durchgeführt. Diese Verarbeitung verur
sacht keine Mißstände, selbst wenn sie nicht ausgeführt wer
den kann. Wenn festgestellt wird, daß es keine SPs gibt, die
einen Zugriff durchführen können, wird daher ein SP, der einen
Zugriff ausführen kann, als solcher mit Ausnahme des Ladens
gewählt. Im einzelnen wird im Falle des Zugriffs unter Verwen
dung des Cache/NVS Ebene 3 erneut als der SP-LEVEL verwendet,
um die Tabelle SP-CURRENT umzubauen. Beim Zugriff unter Ver
wendung des Cache-Speichers wird erneut Ebene 1 verwendet.
Unter Bezugnahme auf Fig. 17 wird nun die Verarbeitung
zur Bestimmung der Zugriffsebene beschrieben. Diese Verarbei
tung wird durchgeführt, wenn ein Fehler oder eine Störung in
einer Komponente der Plattensteuervorrichtung auftritt oder
wenn zu Wartungszwecken die Verbindung einer Komponente zeit
weise unterbrochen oder auf andere Weise angeordnet ist,um eine
Änderung in den in dem ECM gespeicherten Daten zu verursachen
(Fig. 15). Zuerst werden die entsprechenden Bits in SP-AVAIL-
ABLE 5120 und den Zeilen PAM und POM von einer der Platte (Nr.
= n) entsprechenden DCB (n) AND-verknüpft, die entsprechenden
Ergebnisse und entsprechenden Bits in jeder der Zeilen LEVEL
1 bis LEVEL 5 in der Tabelle SP-LEVEL 5110 werden AND-ver
knüpft und die resultierenden Daten werden in WORK (1) bis
WORK (5) gespeichert (Block 7200). Wie in der Verarbeitung zur
Wahl eines SP, der einen Zugriff durchführen kann, beschrie
ben, gibt WORK (i) einen SP an, der einen Zugriff jeweils in
den folgenden Fällen durchführen kann:
WORK (5): bei einem Zugriff unter Verwendung des Cache/NVS, wenn ein Treffer auftritt;
WORK (4): bei einem Zugriff unter Verwendung des Cache/NVS, wenn ein Fehler auftritt;
WORK (3): bei einem Zugriff unter Verwendung des Cache-Spei chers, wenn ein Treffer auftritt;
WORK (2): bei einem Zugriff unter Verwendung des Cache-Spei chers, wenn ein Fehler auftritt; und
WORK (1): bei einem Zugriff, bei dem der Cache-Speicher nicht verwendet wird.
WORK (5): bei einem Zugriff unter Verwendung des Cache/NVS, wenn ein Treffer auftritt;
WORK (4): bei einem Zugriff unter Verwendung des Cache/NVS, wenn ein Fehler auftritt;
WORK (3): bei einem Zugriff unter Verwendung des Cache-Spei chers, wenn ein Treffer auftritt;
WORK (2): bei einem Zugriff unter Verwendung des Cache-Spei chers, wenn ein Fehler auftritt; und
WORK (1): bei einem Zugriff, bei dem der Cache-Speicher nicht verwendet wird.
Die kleinere der Zahlen von Bits in WORK (5) und WORK
(4), wo "1" gesetzt ist, wird als OK-SP (3) verwendet (Block
7210). Das gibt die Zahl von SPs an, die einen logischen Zu
griff auf der Zugriffsebene 3 durchführen können. Ähnlich wird
die kleinere der Zahlen von Bits in WORK (3) und WORK (2), wo
"1" gesetzt ist, als OK-SP (2) verwendet (Block 7220), und die
Zahl von Bits in WORK (1), wo "1" gesetzt ist, wird als OK-SP
(1) verwendet (Block 7230). Die höchste der Zugriffsebenen,
die die Bedingung erfüllen, nach der es SPs gibt, die einen
Zugriff durchführen können, und die der Zahl nach größer als
die Schwelle sind, wird als die Zugriffsebene der Platte ver
wendet (Blöcke 7240, 7250, 7260, 7270). Schließlich wird der
Wert der bestimmten Zugriffsebene in (LEVEL) in DEV (n) der
Platte gesetzt (Block 7280).
Unter Bezugnahme auf Fig. 18 wird nun der Prozeß zur Än
derung der Funktionsebene des SP beschrieben. Dieser Prozeß
wird durchgeführt, wenn eine Störung oder ein Fehler in einer
Komponente der Plattensteuervorrichtung auftritt oder wenn die
Verbindung einer Komponente zeitweise unterbrochen oder für
Wartungszwecke auf andere Weise angeordnet ist, um dadurch ei
ne Änderung in SP-STATUS zu verursachen. Zuerst werden die
Werte von Flags (p1) bis (p4) eines SP-STATUS (k), entspre
chend SP (k) in der Tabelle SP-STATUS 5100, geprüft, und der
Wert von SP-LEVEL (k), entsprechend dem passenden SP (k) in
der Tabelle SP-LEVEL 5110, wird entsprechend einem Bit-Muster
der Flag-Werte gesetzt. Fig. 18 zeigt die Beziehung zwischen
SP-LEVEL und dem Bit-Muster von SP-STATUS (wenn alle Bits von
SP-STATUS mit dem Symbol ○ in einer Ebene "1" sind, wird in
dieser Ebene "1" gesetzt).
Wenn einer der zu den jeweiligen Platten (60, 61 in
Fig. 14) gehörigen Pfade (62 bis 67 in Fig. 14) für Wartungs
zwecke oder ähnliches geschlossen (wieder-verbunden) ist, wird
in dem entsprechenden Flag in PAM von DCB (n) dieser Platte
(Nr. = n) "0" ("1") gesetzt.
Die vorliegende Erfindung wurde unter Anwendung auf vier
oder zwei Platten, acht Kanäle und vier Speicherpfade be
schrieben. Sie ist jedoch auch auf eine Plattensteuervorrich
tung bzw. ein entsprechendes Verfahren mit einer unterschied
lichen Anzahl von Platten, Kanälen und Speicherpfaden anwend
bar.
Wenn ein Fehler oder eine Störung in irgendeinem der Pfa
de zur Übertragung der Daten in der Plattensteuervorrichtung
auftritt oder wenn irgendeiner der zu den jeweiligen Platten
gehörigen Pfade geschlossen ist, sind nach dem bevorzugten
Ausführungsbeispiel die meisten der SPs in der Plattensteuer
vorrichtung verfügbar, um Zugriff auf die mit der Platten
steuervorrichtung verbundenen Platten zu nehmen, um dadurch
die Anwendbarkeit und Nutzbarkeit der Plattensteuervorrichtung
zu verbessern. Da ein Schließen eines SP zu Wartungszwecken
und ein Schließen irgendeines der zu den jeweiligen Platten
gehörigen Pfade durchgeführt werden kann, ohne in größerem Um
fang den Betrieb des Platten-Subsystems zu beeinflussen, wird
die Wartung erleichtert, während das Platten-Subsystem in Be
trieb ist.
Wenn eine Störung beim Zugriff des Cache/NVS in einem der
in der Plattensteuervorrichtung vorhandenen Speicherpfade auf
tritt oder wenn eine Störung oder ein Schließen in einem der
zu den jeweiligen Platten gehörenden Pfade auftritt, wird nach
vorliegender Erfindung der Cache-Speicher bis zu seinem maxi
malen Grad innerhalb des Umfangs der in den Speicherpfaden in
der Plattensteuervorrichtung vorhandenen Funktionen ausge
nutzt, um dadurch die Nutzbarkeit der Steuervorrichtung zu
verbessern. Da das Schließen eines Speicherpfades zu Wartungs
zwecken und das Schließen irgendeines zu den jeweiligen Plat
ten gehörigen Pfades durchgeführt werden kann, ohne in großem
Umfang die Operation des Platten-Subsystems zu beeinflussen,
wird die Wartung erleichtert, während das Platten-Subsystem in
Betrieb ist.
Claims (1)
- Plattenzugriff-Steuerverfahren für eine Plattensteuer vorrichtung (110) zum Steuern des Zugriffs über eine Anzahl von Kanälen (113 bis 120), über die Zugriffsanforderungen zugeführt werden, auf eine Anzahl von Platten (90 bis 93), um Daten auszulesen oder einzuschreiben, wobei die Plattensteu ervorrichtung (110) einen Cache-Speicher (105) zum Speichern von ersten Daten, die eine Kopie von Daten sind, die auf den Platten (90 bis 93) gespeichert sind, und zum Speichern von zweiten Daten, die über die Kanäle (113-120) direkt im Cache-Speicher (105) gespeichert werden und die auf den Platten (90 bis 93) zu speichern sind; eine Anzahl von Spei cherpfaden (100 bis 103) für die Zugriffsanforderungen von den Kanälen (113 bis 120) zum Auslesen oder Einschreiben von Daten in den bzw. aus dem Cache-Speicher (105) oder in die bzw. aus den Platten (90 bis 93); und einen Steuerspeicher (104) zum Speichern von Zugriffssteuerinformationen (200 bis 260) aufweist, die von den Speicherpfaden (100-103) verwen det werden, um den Zugriff auf den Cache-Speicher (105) und auf die Platten (90 bis 93) in Reaktion auf eine über einen der Kanäle (113 bis 120) erhaltene Zugriffsanforderung zu steuern,
gekennzeichnet durch die Schritte- (a) des Aufteilens der Datenübertragungsmöglichkeiten für die Speicherpfade (100 bis 103) in jeweils mehrere Funktions ebenen (200), des Speicherns derjenigen Funktionsebenennummer im Steuerspeicher (104), die die höchste Funktionsebene eines jeden Speicherpfades (100 bis 103) angibt, des Definierens einer Zugriffsebene (230) für jede Platte (90 bis 93), die angibt, daß ein Speicherpfad (100-103), der auf eine be stimmte der Platten (90 bis 93) zugreift, die mit der Zu griffsebene (230) der Platte (90-93) übereinstimmende Funktionsebene (200) aufweisen soll, und des Speicherns der entsprechenden Zugriffsebenennummer im Steuerspeicher (104);
- (b) des Zugriffs auf den Steuerspeicher (104), um die Funk tionsebenennummer des Speicherpfades (100 bis 103) festzu stellen, der über einen Kanal (113 bis 120) eine Zugriffsan forderung für den Zugriff auf eine bestimmte Platte (90 bis 93) erhält, und um die Zugriffsebenennummer dieser Platte (90-93) festzustellen;
- (c) des Bestimmens, durch Vergleichen der Funktionsebenen nummer des Speicherpfades (100 bis 103) mit der Zugriffsebe nennummer der bestimmten Platte (90-93) und Feststellen, ob die Funktionsebenennummer größer oder gleich der Zugriffsebe nennummer ist, ob der Speicherpfad (100-103), der die Zu griffsanforderung erhält, in der Lage ist, den angeforderten Zugriff auf die bestimmte Platte (90-93) auszuführen;
- (d) des Ausführens des angeforderten Zugriffs auf den Cache-Speicher (105) oder die bestimmte Platte (90 bis 93) auf der Basis der Funktionsebene (200) und in Übereinstimmung mit der Zugriffsebenennummer der bestimmten Platte (90-93), wenn der Speicherpfad (100-103) in der Lage ist, den ange forderten Zugriff auf die bestimmte Platte (90-93) auszu führen;
- (e) des vorübergehenden Unterdrückens der Ausführung des Zugriffs vom Speicherpfad (100 bis 103) auf die bestimmte Platte (90 bis 93) durch Herabsetzen der Funktionsebenennum mer des Speicherpfades (100-103), um zu erreichen, daß die Funktionsebenennummer des Speicherpfades (100-103) kleiner als die Zugriffsebenennummer der bestimmten Platte (90 - 93) ist, wenn beim Zugriff des Speicherpfades (100-103) auf die bestimmte Platte (90-93) Schwierigkeiten oder Fehler auf treten;
- (f) des Auswählens eines anderen Speicherpfades (100 bis 103) für den Zugriff auf die bestimmte Platte (90 bis 93), der eine größere Funktionsebenennummer hat als die Zu griffsebenennummer der bestimmten Platte (90-93) ist, und des Ausführens des angeforderten Zugriffs auf den Cache- Speicher (105) oder die bestimmte Platte (90-93) unter Ver wendung der Datenübertragungsmöglichkeiten des ausgewählten Speicherpfades (100-103) in Übereinstimmung mit der Zu griffsebene (230) der bestimmten Platte (90-93);
- (g) des Herabsetzens der Zugriffsebenennummer der bestimm ten Platte (90-93) nach dem Einschreiben von zweiten Daten aus dem Cache-Speicher (105) auf die bestimmte Platte (90-93), wenn die Gesamtzahl von Speicherpfad-Funktionsebenen nummern, die größer oder gleich der Zugriffsebenennummer der bestimmten Platte (90-93) sind, kleiner als eine vorbe stimmte Schwellenzahl ist; und
- (h) des Wiedereröffnens des vorübergehend gesperrten Spei cherpfades (100 bis 103), wenn dessen Funktionsebenennummer durch das Herabsetzen der Zugriffsebenennummer der Platte (90 bis 93) wieder größer oder gleich der Zugriffsebenennummer der bestimmten Platte wird, des erneuten Auswählens eines Speicherpfades (100-103) für den Zugriff auf die bestimmte Platte (90-93), der eine Funktionsebenennummer hat, die größer ist als die Zugriffsebenennummer der Platte (90-93), und des Ausführens des angeforderten Zugriffs auf den Cache- Speicher (105) oder die Platte (90-93) und Verwendung der Datenübertragungsmöglichkeiten des ausgewählten Speicherpfa des (100-103) in Übereinstimmung mit der herabgesetzten Zugriffsebene (230) der bestimmten Platte (90-93)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63240977A JP2776841B2 (ja) | 1988-09-28 | 1988-09-28 | ディスク制御装置におけるディスクアクセス制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3932474A1 DE3932474A1 (de) | 1990-04-05 |
DE3932474C2 true DE3932474C2 (de) | 1996-07-18 |
Family
ID=17067477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3932474A Expired - Lifetime DE3932474C2 (de) | 1988-09-28 | 1989-09-28 | Plattenzugriff-Steuerverfahren |
Country Status (3)
Country | Link |
---|---|
US (1) | US5404487A (de) |
JP (1) | JP2776841B2 (de) |
DE (1) | DE3932474C2 (de) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0375946A (ja) * | 1989-08-18 | 1991-03-29 | Hitachi Ltd | 入出力制御方式 |
JP2826857B2 (ja) * | 1989-12-13 | 1998-11-18 | 株式会社日立製作所 | キャッシュ制御方法および制御装置 |
FR2656441B1 (fr) * | 1989-12-22 | 1993-12-10 | Bull Sa | Procede securise d'ecriture rapide d'informations pour dispositif de memoire de masse. |
JP3058743B2 (ja) * | 1992-01-21 | 2000-07-04 | 株式会社日立製作所 | ディスクアレイ制御装置 |
US5734926A (en) * | 1992-07-15 | 1998-03-31 | Advanced Hardware Architectures | Direct memory access controller in an integrated circuit |
US5452421A (en) * | 1992-09-23 | 1995-09-19 | International Business Machines Corporation | System for using register sets and state machines sets to communicate between storage controller and devices by using failure condition activity defined in a request |
US5666511A (en) * | 1992-10-08 | 1997-09-09 | Fujitsu Limited | Deadlock suppressing schemes in a raid system |
US5771367A (en) * | 1992-12-17 | 1998-06-23 | International Business Machines Corporation | Storage controller and method for improved failure recovery using cross-coupled cache memories and nonvolatile stores |
JP3600257B2 (ja) * | 1993-05-31 | 2004-12-15 | 富士通株式会社 | 情報処理装置及びキャッシュ制御装置 |
US5584007A (en) * | 1994-02-09 | 1996-12-10 | Ballard Synergy Corporation | Apparatus and method for discriminating among data to be stored in cache |
US5588129A (en) * | 1994-02-09 | 1996-12-24 | Ballard; Clinton L. | Cache for optical storage device and method for implementing same |
US5867736A (en) * | 1996-03-29 | 1999-02-02 | Lsi Logic Corporation | Methods for simplified integration of host based storage array control functions using read and write operations on a storage array control port |
US5787466A (en) * | 1996-05-01 | 1998-07-28 | Sun Microsystems, Inc. | Multi-tier cache and method for implementing such a system |
US6167486A (en) | 1996-11-18 | 2000-12-26 | Nec Electronics, Inc. | Parallel access virtual channel memory system with cacheable channels |
US6145028A (en) * | 1997-12-11 | 2000-11-07 | Ncr Corporation | Enhanced multi-pathing to an array of storage devices |
JP3726484B2 (ja) | 1998-04-10 | 2005-12-14 | 株式会社日立製作所 | 記憶サブシステム |
US6636908B1 (en) | 1999-06-28 | 2003-10-21 | Sangate Systems, Inc. | I/O system supporting extended functions and method therefor |
US6735636B1 (en) | 1999-06-28 | 2004-05-11 | Sepaton, Inc. | Device, system, and method of intelligently splitting information in an I/O system |
US6708254B2 (en) | 1999-11-10 | 2004-03-16 | Nec Electronics America, Inc. | Parallel access virtual channel memory system |
US6782401B2 (en) | 2001-07-02 | 2004-08-24 | Sepaton, Inc. | Method and apparatus for implementing a reliable open file system |
JP4462852B2 (ja) * | 2003-06-23 | 2010-05-12 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの接続方法 |
JP4012498B2 (ja) | 2003-11-18 | 2007-11-21 | 株式会社日立製作所 | 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム |
JP2005301419A (ja) * | 2004-04-07 | 2005-10-27 | Hitachi Ltd | ディスクアレイ装置およびそのデータ処理方法 |
US7904644B1 (en) * | 2006-11-01 | 2011-03-08 | Marvell International Ltd. | Disk channel system with sector request queue |
US9280477B2 (en) * | 2010-12-13 | 2016-03-08 | Seagate Technology Llc | Data storage management in a memory device |
US8627124B2 (en) * | 2011-02-10 | 2014-01-07 | International Business Machines Corporation | Techniques for performing storage power management |
US10229221B1 (en) * | 2012-03-01 | 2019-03-12 | EMC IP Holding Company LLC | Techniques for cache updates based on quality of service |
KR101864831B1 (ko) * | 2013-06-28 | 2018-06-05 | 세종대학교산학협력단 | 가상 캐시를 포함하는 메모리 및 그 관리 방법 |
US11036509B2 (en) * | 2015-11-03 | 2021-06-15 | Intel Corporation | Enabling removal and reconstruction of flag operations in a processor |
CN112988036A (zh) * | 2019-12-16 | 2021-06-18 | 瑞昱半导体股份有限公司 | 存储器数据存取装置及其方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5362945A (en) * | 1976-11-17 | 1978-06-05 | Toshiba Corp | Disc address system |
US4437155A (en) * | 1980-11-14 | 1984-03-13 | Sperry Corporation | Cache/disk subsystem with dual aging of cache entries |
US4476526A (en) * | 1981-11-27 | 1984-10-09 | Storage Technology Corporation | Cache buffered memory subsystem |
US4636946A (en) * | 1982-02-24 | 1987-01-13 | International Business Machines Corporation | Method and apparatus for grouping asynchronous recording operations |
JPS5955558A (ja) * | 1982-09-22 | 1984-03-30 | Fujitsu Ltd | キヤツシユメモリ制御方式 |
JPS59100964A (ja) * | 1982-12-01 | 1984-06-11 | Hitachi Ltd | ディスク制御システム及びその並列データ転送方法 |
US4686621A (en) * | 1983-06-30 | 1987-08-11 | Honeywell Information Systems Inc. | Test apparatus for testing a multilevel cache system with graceful degradation capability |
JPS6079447A (ja) * | 1983-10-07 | 1985-05-07 | Hitachi Ltd | キヤツシユ付デイスクサブシステム |
US4958351A (en) * | 1986-02-03 | 1990-09-18 | Unisys Corp. | High capacity multiple-disk storage method and apparatus having unusually high fault tolerance level and high bandpass |
US4984149A (en) * | 1987-03-28 | 1991-01-08 | Kabushiki Kaisha Toshiba | Memory access control apparatus |
US4858117A (en) * | 1987-08-07 | 1989-08-15 | Bull Hn Information Systems Inc. | Apparatus and method for preventing computer access by unauthorized personnel |
US5025366A (en) * | 1988-01-20 | 1991-06-18 | Advanced Micro Devices, Inc. | Organization of an integrated cache unit for flexible usage in cache system design |
US5142627A (en) * | 1988-11-17 | 1992-08-25 | Unisys Corporation | FIP-compliant block multiplexor channel interface operational method for cache/disk subsystem |
US5070502A (en) * | 1989-06-23 | 1991-12-03 | Digital Equipment Corporation | Defect tolerant set associative cache |
-
1988
- 1988-09-28 JP JP63240977A patent/JP2776841B2/ja not_active Expired - Lifetime
-
1989
- 1989-09-28 DE DE3932474A patent/DE3932474C2/de not_active Expired - Lifetime
-
1993
- 1993-07-12 US US08/089,633 patent/US5404487A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0290313A (ja) | 1990-03-29 |
JP2776841B2 (ja) | 1998-07-16 |
US5404487A (en) | 1995-04-04 |
DE3932474A1 (de) | 1990-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3932474C2 (de) | Plattenzugriff-Steuerverfahren | |
DE2523414C3 (de) | Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen | |
DE2617408C3 (de) | Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE602005000926T2 (de) | Speichersystem und Speicherauszugs-Erstellungsverfahren eines Speichersystems | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE3508291C2 (de) | Datenverarbeitungssystem | |
DE69535099T2 (de) | Identifizieren der Steuergerätepaare in einer Festplattenanordnung mit dualem Steuergerät | |
DE2230987C2 (de) | ||
DE19723909A1 (de) | Verfahren zum Erzielen einer geteilten Paritätsersatzplatte in einem RAID-Untersystem | |
EP0600112A1 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff | |
EP0046976A2 (de) | Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen | |
DE1524788C3 (de) | Schaltungsanordnung zum Erkennen und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern | |
DE60318337T2 (de) | Speicherkontrollervorichtung versehen mit einem Trennungsbefehl von Volumenpaaren und Verfahren dazu | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE3639549A1 (de) | Mehrfachsteuersystem und -verfahren fuer plattenspeicher | |
DE19922786B4 (de) | Halbleiterspeicher mit Testeinrichtung | |
DE3928213C2 (de) | Subsystem mit einer externen Speichervorrichtung und Datenverarbeitungsverfahren | |
DE19905541B4 (de) | Verfahren zum Steuern des Speicherzugriffs in einer Maschine mit einem Speicher mit ungleichmäßigem Zugriff und Maschine zur Ausführung eines solchen Verfahrens | |
DE2842288A1 (de) | Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher | |
DE2355814C2 (de) | Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung | |
DE2854286A1 (de) | Schaltungsanordnung mit einem befehlspuffer fuer eine cachespeichereinheit eines datenverarbeitungssystems | |
DE19837473A1 (de) | Speichervorrichtung mit einem Datenpuffer | |
DE1449816C3 (de) | Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher | |
DE3918453C2 (de) | LRU-Schaltung | |
DE3016269C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 13/12 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |