DE3932474C2 - Plattenzugriff-Steuerverfahren - Google Patents

Plattenzugriff-Steuerverfahren

Info

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
Application number
DE3932474A
Other languages
English (en)
Other versions
DE3932474A1 (de
Inventor
Tomohiro Murata
Masaharu Akatsu
Kenzo Kurihara
Yoshiaki Kuwahara
Shigeo Honma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3932474A1 publication Critical patent/DE3932474A1/de
Application granted granted Critical
Publication of DE3932474C2 publication Critical patent/DE3932474C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In 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:
(1) Zugriff unter Verwendung des Cache/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.
(2) Zugriff unter Verwendung des Cache-Speichers
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.
(3) Zugriff ohne Verwendung des Cache-Speichers
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.
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)

  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)
DE3932474A 1988-09-28 1989-09-28 Plattenzugriff-Steuerverfahren Expired - Lifetime DE3932474C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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