-
Hintergrund der Erfindung
-
Die
Erfindung betrifft allgemein Datenspeichersysteme, und insbesondere
Datenspeichersysteme, die Redundanzanordnungen haben, um im Falle
eines Versagens einer Komponente oder Baugruppe des Speichersystems
vor einem Totalausfall des Systems geschützt zu sein.
-
Wie
auf dem Fachgebiet bekannt ist, erfordern große Zentralrechnersysteme Datenspeichersysteme
mit großer
Speicherkapazität.
Diese großen Zentralrechnersysteme
weisen allgemein Datenprozessoren auf, die viele Operationen an
Daten ausführen,
die durch Peripherieeinrichtungen, einschließlich des Datenspeichersystems,
in das Rechnersystem eingegeben werden. Die Ergebnisse dieser Operationen
werden zu den Peripherieeinrichtungen, einschließlich des Datenspeichersystems,
ausgegeben.
-
Ein
Typ eines Datenspeichersystems ist ein Magnetplattenspeichersystem.
Hierbei sind mehrere Platteneinheiten (Plattenspeicherbank) und
das Zentralrechnersystem über
eine Schnittstelle miteinander verbunden. Die Schnittstelle weist
CPU- oder "vordere" Steuerungen (oder
Direktoren) und "hintere" Plattensteuerungen
(oder Direktoren) auf. Die Schnittstelle betreibt die Steuerungen
(oder Direktoren) auf eine solche Weise, daß sie dem Rechner transparent
sind. Das heißt,
Daten werden auf eine solche Weise in der Plattenspeicherbank gespeichert oder
von dort herausgeholt, daß das
Zentralrechnersystem denkt, daß es
nur mit einem einzigen Zentralspeicher arbeitet. Ein solches System
ist beschrieben im US-Patent 5 206 939 mit dem Titel "System and Method
for Disk Mapping and Data Retrieval", Erfinder Moshe Yanai, Natan Vishlitzky,
Bruno Alterescu und Daniel Castel, herausgegeben am 27. April 1993
und auf den gleichen Zessionar übertragen
wie die vorliegende Erfindung.
-
Wie
in diesem US-Patent beschrieben, kann die Schnittstelle zusätzlich zu
den CPU-Steuerungen (oder Direktoren) und Plat tensteuerungen (oder
Direktoren) auch adressierbare Cachespeicher aufweisen. Der Cachespeicher
ist ein Halbleiterspeicher und ist vorgesehen, um Daten aus dem
Zentralrechnersystem schnell zu speichern, bevor sie in den Platteneinheiten
gespeichert werden, und andererseits Daten aus den Platteneinheiten
zu speichern, bevor sie zum Zentralrechner geschickt werden. Da der
Cachespeicher ein Halbleiterspeicher ist, im Unterschied zu den
Platteneinheiten, die Magnetspeicher sind, liest und schreibt er
Daten viel schneller als die Platteneinheiten.
-
Die
CPU-Steuerungen, Plattensteuerungen und der Cachespeicher sind über eine
gedruckte "Backplane"-Schaltkarte miteinander
verbunden. Insbesondere sind Plattensteuerungen an gedruckten Plattensteuerung-Schaltkarten
angebracht. CPU-Steuerungen sind an gedruckten CPU-Steuerung-Schaltkarten
angebracht. Und Cachespeicher sind an gedruckten Cachespeicher-Schaltkarten
angebracht. Die Plattensteuerung-, CPU-Steuerung- und Cachespeicher-Schaltkarten
stecken in der gedruckten "Backplane"-Schaltkarte. Um im Falle eines Ausfalls
einer Steuerung Datenintegrität
bereitzustellen, hat die gedruckte "Backplane"-Schaltkarte
einen Systembus, der aus einem Buspaar besteht. Ein Satz Plattensteuerungen
ist mit dem einen Bus verbunden und ein anderer Satz Plattensteuerungen
ist mit dem anderen Bus verbunden. Ebenso ist ein Satz CPU-Steuerungen
mit dem einen Bus verbunden und ein anderer Satz CPU-Steuerungen
ist mit dem anderen Bus verbunden. Die Cachespeicher sind mit beiden
Bussen verbunden. Jeder der Busse stellt Daten, Adreß- und Steuerinformation
bereit.
-
Somit
stellt die Verwendung von zwei Bussen einen Grad an Redundanz bereit,
um in dem Fall, daß die
Steuerungen oder Platteneinheiten, die mit dem einen Bus verbunden
sind, versagen, vor einem Totalausfall des Systems geschützt zu sein.
Ferner erhöht
die Verwendung von zwei Bussen die Datenübertragungsbandbreite des Systems
im Vergleich zu einem System mit einem einzigen Bus.
-
Die
US 5 819 045 A offenbart
ein Verfahren zum Ermitteln eines Netzwerk-Leistungsfähigkeitsindexes
(NCI), der die Last, die ein Rechner einem Rechnernetz auferlegt,
repräsentiert.
-
Gemäß der Erfindung
wird ein Datenspeichersystem mit den Merkmalen von Anspruch 1 bereitgestellt.
-
In
einer bevorzugten Ausführungsform
wird ein Datenspeichersystem bereitgestellt, in welchem ein Hostrechner über eine
Schnittstelle mit einer Plattenspeicherbank verbunden ist. Die Schnittstelle weist
einen Systemspeicher auf, der zwei Systemspeichersektionen aufweist.
Jede Speichersektion hat mehrere adressierbare Orte zum Speichern
der in diese Speichersektion an den adressierbaren Orten geschriebenen
Daten. Ein Systembus ist mit den zwei Systemspeichersektionen verbunden.
Mehrere Direktoren sind über
den Systembus mit dem Systemspeicher verbunden, wobei die Direktoren
konfiguriert sind, um die Datenübertragung
zwischen dem Hostrechner und der Plattenspeicherbank zu steuern,
wenn die Daten durch den Systemspeicher hindurchgehen. Die Direktoren
sind konfiguriert, um das System in einen Doppelschreibmodus zu
setzen und in diesem Modus ein zwischen dem Hostrechner und der
Plattenspeicherbank zu übertragendes
Datenbündel
bei sich zu speichern, dieses gespeicherte Bündel von Daten sequentiell
zum Systembus zu übertragen
und zu ermöglichen,
daß in
beide mit diesem Systembus verbundene Speichersektionen an dem gleichen
adressierbaren Ort das gleiche sequentiell zu dem Systembus übertragene
Datenbündel
hineingeschrieben wird.
-
Gemäß einem
anderen Merkmal weist die Schnittstelle einen Systemspeicher mit
zwei Systemspeichersektionen auf. Jede Systemspeichersektion hat
mehrere adressierbare Orte, um die in diese Speichersektion an den
adressierbaren Orten hineingeschriebenen Daten zu speichern. Ein
Systembus, der zwei Systembusse aufweist, ist bereitgestellt, wobei
jeder der zwei Systembusse mit der entsprechenden Sektion der zwei
Systemspeichersektionen verbunden ist. Mehrere Direktoren sind über den
Systembus mit dem Systemspeicher verbunden. Die Direktoren sind
konfiguriert, um die Datenübertragung zwischen
dem Hostrechner und der Plattenspeicherbank zu steuern, wenn die
Daten durch den Systemspeicher hindurchgehen. Die Direktoren sind
konfiguriert, um das System in einen Doppelschreibmodus zu setzen
und in diesem Modus ein zwischen dem Hostrechner und der Plattenspeicherbank
zu übertragendes
Datenbündel
bei sich zu spei chern, dieses gespeicherte Datenbündel sequentiell
zu den zwei Systembussen zu übertragen
und zu ermöglichen, daß in beide
mit diesen Systembussen verbundene Speichersektionen an dem gleichen
adressierbaren Ort das gleiche sequentiell zu den zwei Systembussen übertragene
Datenbündel
hineingeschrieben wird.
-
Gemäß einem
anderen Merkmal speichern während
des Doppelschreibmodus die Direktoren zwischen dem Hostrechner und
der Plattenspeicherbank zu übertragende
Datenbündel
bei sich. Jedes in dem Direktor gespeicherte Datenbündel wird
dann während
eines Speicherzyklus zu einem der zwei mit diesem Direktor verbundenen
Systembusse übertragen
und während
des nächsten
Speicherzyklus wird dann das gleiche Datenbündel noch einmal übertragen,
aber dieses Mal zu dem anderen der zwei mit diesem Direktor verbundenen
Systembusse. Somit wird das gleiche gespeicherte Datenbündel sequentiell
zu den beiden mit diesem Direktor verbundenen Systembussen übertragen.
Der Direktor ermöglicht, daß sequentiell
in beide mit beiden Systembussen verbundene Speichersektionen an
den gleichen adressierbaren Orten das gleiche Datenbündel hineingeschrieben
wird, das sequentiell zu jedem der zwei mit dem Direktor verbundenen
Systembusse übertragen
worden ist. Somit sind nach den zwei Systemspeicherzyklen das Datenbündel und
eine Kopie dieses Datenbündels
an dem gleichen adressierbaren Ort beider Speichersektionen gespeichert. Folglich
sind redundante Datenbündel
in dem Systemspeicher gespeichert.
-
Gemäß einem
anderen Merkmal ist ein Doppelschreibbus mit den mehreren Direktoren
verbunden. Jeder Direktor weist auf: (a) einen Direktorspeicher
zum Speichern des entweder von dem Hostrechner oder der Plattenspeicherbank
aus zugeführten
Datenbündels;
und (b) eine Doppelschreibsteuerung. Die Doppelschreibsteuerung
ist in der Lage, (i) als Antwort auf einen dem System zugeführten Doppelschreibmodusbefehl
einen Doppelschreib-Interrupt an dem Doppelschreibbus bereitzustellen;
(ii) einen am Doppelschreibbus erzeugten Doppelschreib-Interrupt zu empfangen;
und (iii) als Antwort auf den am Doppelschreibbus empfangenen Doppelschreib-Interrupt
sequentiell das im Direktorspeicher gespeicherte Datenbündel an
den zwei Systembussen anzuordnen, um es sequentiell in beiden System speichersektionen
an den gleichen adressierbaren Orten zu speichern.
-
Gemäß einem
weiteren Merkmal ist das System in der Lage, zu einem Nichtdoppelschreibmodus zurückzukehren,
wenn als Antwort auf eine dem System bereitgestellte Rücksetzbedingung
jeder der mehreren Direktoren in einen Nichtdoppelschreibmodus zurückgesetzt
ist. Im Nichtdoppelschreibmodus ist jeder der Direktoren in der
Lage, das im Direktorspeicher gespeicherte Datenbündel an
einem ausgewählten
der zwei Systembusse anzuordnen, um diese gespeicherten Daten in
derjenigen Systemspeichersektion zu speichern, die mit diesem ausgewählten Systembus
verbunden ist.
-
Gemäß einem
weiteren Merkmal ist jeder Direktor in der Lage, einen Fehler bei
der Übertragung der
Daten zwischen dem Direktor und jeder der Systemspeichersektionen
zu erkennen. Als Antwort auf einen erkannten Fehler zwischen dem
Direktor und einer der zwei Systemspeichersektionen ist jeder Direktor
in der Lage, anschließende
Datenübertragungen
zwischen dem Direktor und der anderen der zwei Systemspeichersektionen
zu erzwingen.
-
Kurze Beschreibung der
Zeichnung
-
Diese
und weitere Merkmale der Erfindung werden aus der folgenden detaillierten
Beschreibung schneller ersichtlich, wenn sie zusammen mit den beiliegenden
Zeichnungen gelesen wird, die zeigen:
-
1 ist
ein erfindungsgemäßes Datenspeichersystem,
das in der Lage ist, in einem Doppelschreibmodus oder in einem Nichtdoppelschreibmodus
zu arbeiten;
-
2 ist
ein Blockdiagramm eines beispielhaften Speichers, der für eine Verwendung
in dem System von 1 geeignet ist;
-
3 ist
ein Blockdiagramm eines erfindungsgemäßen hinteren Direktors, der
für eine
Verwendung in dem System von 1 geeignet
ist;
-
4 ist
ein Blockdiagramm eines erfindungsgemäßen vorderen Direktors, der
für eine
Verwendung in dem System von 1 geeignet
ist;
-
5 ist
ein Blockdiagramm einer erfindungsgemäßen Doppelschreib-HIGH/LOW-Zwang-Steuerung,
die für
eine Verwendung in den vorderen und hinteren Direktoren von 3 und 4 geeignet
ist;
-
6 ist
ein Flußdiagramm
eines in den Direktoren von 3 und 4 gespeicherten
Programms, das in der Lage ist, das System von 1 in
einen Doppelschreibmodus zu setzen;
-
7 ist
ein Flußdiagramm
eines in den Direktoren von 3 und 4 gespeicherten
Programms, das in der Lage ist, das System von 1 aus
dem Doppelschreibmodus in einen Nichtdoppelschreibmodus zu setzen;
und
-
8 ist
ein Flußdiagramm
eines in den Direktoren von 3 und 4 gespeicherten
Programms, das in der Lage ist, das System von 1 in
einen erzwungenen HIGH/LOW-Modus zu setzen.
-
Beschreibung der bevorzugten
Ausführungsformen
-
Mit
Bezug auf 1 ist ein Datenspeichersystem 10 gezeigt,
in welchem ein Hostrechner 12 über eine Systemschnittstelle 16 mit
einer Gruppe 14 von Platteneinheiten (Plattenspeicherbank 14)
verbunden ist. Die Systemschnittstelle 16 weist einen System-
oder Cachespeicher 18 auf, der Speichersektionen mit hohen
Adressen (Hochadreß-Speichersektion) 18H und
Speichersektionen 18L mit niedrigen Adressen (Niederadreß-Speichersektionen)
hat. Mehrere Direktoren 200 –2015 sind bereitgestellt, um die Datenübertragung
zwischen dem Hostrechner 12 und der Plattenspeicherbank 14 zu
steuern, wenn diese Daten durch den Systemspeicher 18 laufen.
Das System 10 weist einen Systembus 17 auf, der
vier Systembusse aufweist, einen oberen Hochadreßspeicher-Bus TH, einen oberen
Niederadreßspeicher-Bus
TL, einen unteren Hochadreßspeicher-Bus
BH und einen unteren Niederadreßspeicher-Bus
BL, wie detaillierter in der US-A-6 289 401 beschrieben ist. Insbesondere
sind die Hochadreß-Systembusse TH, BH
elektrisch mit den Hochadreß-Speichersektionen 18H verbunden.
Die Niederadreß-Systembusse
TL, BL sind elektrisch mit den Niederadreß-Speichersektionen 18L verbunden.
Jeder der Direktoren 200 –2015 ist mit zwei Systembussen verbunden;
wobei der eine Bus ein Hochadreßbus
ist und der andere ein Niederadreßbus ist. Somit ist jeder der
Direktoren 200 –2015 mit
den zwei Systemspeichersektionen 18H und 18L verbunden.
-
Hierbei
sind während
eines Nichtdoppelschreibmodus die Speicherorte des Systemspeichers 18,
die die höheren
Adressen haben, in den Hochadreß-Speichersektionen 18H und
sind die Speicherorte, die die niedrigeren Adressen haben, in den
Niederadreß-Speichersektionen 18L.
Es ist anzumerken, daß jeder
der Direktoren 200 –2015 mit einem der zwei Hochadreß-Systembusse
TH, BH und mit einem der zwei Niederadreß-Systembusse TL, BL elektrisch
verbunden ist. Somit ist jeder der Direktoren 200 –2015 in der Lage, alle Orte im gesamten Systemspeicher 18 (d.h.
sowohl die Hochadreß-Speichersektionen 18H als
auch die Niederadreß-Speichersektionen 18L)
zu adressieren und ist daher in der Lage, an irgendeinem Speicherort
im gesamten Systemspeicher 18 Daten zu speichern oder von
dort herauszuholen. Während
die Systembusse BH, BL, TH, TL dem Speicher 18 Daten, Adressen und
Speichersteuerung (d.h. Schreibfreigabe, Lesefreigabe) bereitstellen,
weist das System 10 außerdem
einen Doppelschreib-Steuersignal-Bus
DW auf, der, wie gezeigt, mit allen Direktoren verbunden ist.
-
Insbesondere
ist ein hinterer Teil der Direktoren, hier die Direktoren 200 –203 und 2012 –2015 , jeweils über I/O-Adapterkarten 220 –223 und 2212 –2215 elektrisch mit der Plattenspeicherbank 14 verbunden
und ist ein vorderer Teil der Direktoren, hier die Direktoren 204 –2011 , jeweils über I/O-Adapterkarten 224 –2211 elektrisch mit dem Hostrechner 12 verbunden.
Es ist auch anzumerken, daß jedes
Ende der Busse TH, TL, BH, BL mit einem Paar "Master-Slave-Arbiter-Anordnungen" verbunden ist, die
nicht gezeigt sind und detailliert in Verbindung mit der oben erwähnten anhängigen Patenanmeldung
beschrieben sind.
-
Wie
nachstehend detailliert beschrieben wird, ist das System 10 in
der Lage, in mehreren Modi zu arbeiten. Ein Modus ist ein Nichtdoppelschreibmodus,
ein anderer Modus ist ein Doppelschreibmodus und ein weiterer Modus
ist ein erzwungener HIGH/LOW-Modus. Zunächst ist anzumerken, daß die zwischen
dem Hostrechner 12 und der Plattenspeicherbank 14 zu übertragenden
Daten als eine Serie von Bündeln
dieser Daten übertragen
werden. Ferner ist anzumerken, daß die Direktoren 200 –2015 die zwischen dem Hostrechner 12 und
der Plattenspeicherbank 14 zu übertragenden Datenbündel speichern.
Während
eines Nichtdoppel schreibmodus wird das gespeicherte Datenbündel von
dem diese Daten speichernden Direktor zu einem der zwei mit ihm
verbundenen Systembusse übertragen,
um es temporär
im Systemspeicher 18 zu speichern. Jedoch wird im Doppelschreibmodus
das in dem Direktor gespeicherte Datenbündel sequentiell zu beiden mit
diesem Direktor verbundenen Bussen übertragen. Die Direktoren ermöglichen,
daß in
beide mit diesen beiden Bussen verbundenen Speichersektionen 18H und 18L an
den gleichen adressierbaren Orten das sequentiell zu dem Bus übertragene
Datenbündel
hineingeschrieben wird. Somit sind für eine Redundanz zwei Kopien
des gleichen Datenbündels in
den zwei Speichersektionen 18H, 18L gespeichert.
-
Ferner
ist jeder der Direktoren 200 –2015 in der Lage, einen Fehler bei der Übertragung
der Daten zwischen dem Direktor und den Speichersektionen 18H und 18L zu
erkennen. Jeder der Direktoren ist in der Lage, als Antwort auf
einen erkannten Fehler zwischen dem Direktor und einer der zwei
Speichersektionen 18H, 18L anschließende Datenübertragungen zwischen
dem Direktor und der anderen der zwei Speichersektionen zu erzwingen.
Betrachtet man also den Direktor 204 ,
der mit den Bussen BL und TH verbunden ist: wenn dieser Direktor
ein bei sich gespeichertes Datenbündel über den Systembus TH zur Speichersektion 18H übertragen
soll und wenn mit einer Schaltung zur Fehlererkennung und -korrektur
(EDAC) oder einer "Zeitüberschreitung"-Schaltung (nicht
gezeigt) ein Fehler bei dieser Übertragung in
der Speichersektion 18H oder dem Direktor 204 erkannt wird, dann wird das System 10 von
diesem Direktor 204 in den erzwungenen
HIGH/LOW-Modus (nachstehend beschrieben) gesetzt. Insbesondere erzwingt
in diesem Beispiel der Direktor 204 ,
daß alle Übertragungen
von Datenbündeln
zu dem mit ihm verbundenen anderen Speicher, hier über den
Systembus BL zur Speichersektion 18L, erfolgen, bis der Fehler
korrigiert ist.
-
Betrachtet
sei nun der allgemeine Betriebsablauf des Systems 10: Wenn
der Hostrechner 12 eine Speicherung von Daten wünscht, schickt
der Hostrechner 12 zu einem der vorderen Direktoren 204 –2011 eine Schreibanforderung zur Ausführung eines
Schreibbefehls. Einer der vorderen Direktoren 204 –2011 antwortet auf die Anforderung und
bittet den Hostrechner 12 um die Daten. Nachdem die Anforderung
dem anfordernden der vorderen Direktoren 204 –2011 übergeben
worden ist, bestimmt der Direktor die Datengröße und reserviert Platz im
Systemspeicher 18, um die Anforderung zu speichern. Der vordere
Direktor erzeugt dann Steuersignale, um für den gegebenen Bus zu entscheiden,
an entweder einem Hochadreßspeichersystembus
(TH oder BH) oder einem Niederadreßspeichersystembus (TL oder BL),
die mit diesem vorderen Direktor verbunden sind, abhängig von
dem zur Speicherung der Daten zugewiesenen Ort im Systemspeicher 18 und
um die Übertragung
zum Systemspeicher 18 freizugeben. Der Hostrechner 12 überträgt dann
die Daten als Datenbündel
zum vorderen Direktor. Der vordere Direktor meldet dann dem Hostrechner 12,
daß die Übertragung
abgeschlossen ist. Der vordere Direktor schaut in einer im Systemspeicher 18 gespeicherten Tabelle
(nicht gezeigt) nach, um zu bestimmen, welcher der hinterer Direktoren 200 –203 und 2012 –2015 diese Anforderung erledigen soll.
Die Tabelle ordnet der Adresse des Hostrechners 12 eine
Adresse in der Plattenspeicherbank 14 zu. Der vordere Direktor
legt dann eine Mitteilung in einen "Postkasten" (nicht gezeigt und im Systemspeicher 18 gespeichert)
für den hinteren
Direktor, der die Anforderung, die Datenmenge und die Plattenadresse
für die
Daten bearbeiten soll. Andere hintere Direktoren, wenn sie im Leerlauf
sind, rufen den Systemspeicher 18 ab, um ihre "Postkästen" zu überprüfen. Wenn
der abgerufene "Postkasten" eine auszuführende Übertragung
anzeigt, bearbeitet der hintere Direktor die Anforderung, adressiert
die Platteneinheit in der Bank, liest die Daten aus dem Systemspeicher 18 aus
und schreibt sie in die Adressen einer Platteneinheit in der Bank 14. Wenn
Daten aus der Plattenspeicherbank 14 zum Hostrechner 12 auszulesen
sind, arbeitet das System 10 in umgekehrter Weise.
-
Wie
oben kurz angemerkt, sind die Direktoren 200 –2015 konfiguriert, um das System 10 in
einen Doppelschreibmodus zu setzen. In diesem Doppelschreibmodus
speichern die Direktoren 200 –2015 die zwischen dem Hostrechner 12 und
der Plattenspeicherbank 14 zu übertragenden Datenbündel bei sich.
Jedes in dem Direktor gespeicherte Datenbündel wird dann während eines
Speicherzyklus zu einem der beiden mit diesem Direktor verbundenen Systembusse übertragen
und im nächsten
Speicherzyklus wird das gleiche Datenbündel dann noch einmal übertragen,
aber dieses Mal zum anderen der mit diesem Direktor verbundenen
beiden Systembusse. Somit wird das gleiche gespeicherte Datenbündel sequentiell
zu beiden mit diesem Direktor verbundenen Systembussen übertragen.
Der Direktor ermöglicht, daß sequentiell
in beide mit den zwei Systembussen verbundene Speichersektionen 18H und 18L an
den gleichen adressierbaren Orten das gleiche Datenbündel eingeschrieben
wird, das sequentiell zu jedem der zwei mit dem Direktor verbundenen
Systembusse übertragen
worden ist. Betrachtet man zum Beispiel den Direktor 204 , dann läuft während des Doppelschreibmodus
ein Datenbündel
von dem Hostrechner 12 aus zu diesem Direktor 204 und wird in diesem Direktor 204 gespeichert. Das gespeicherte Datenbündel wird
dann zusammen mit einer Adresse, an welche dieses Datenbündel in
die Speichersektion 18L einzuschreiben ist, während eines
Systemspeicherzyklus zum Beispiel zum Systembus BL übertragen.
Während
des nächsten
Systemspeicherzyklus wird das gleiche Datenbündel zusammen mit dem gleichen
adressierbaren Ort, der zur Speicherung in der Speichersektion 18L verwendet
worden ist, zum Systembus TH übertragen.
Somit wird während
des zweiten Speicherzyklus das gleiche Datenbündel in der Speichersektion 18H an
dem gleichen adressierbaren Ort gespeichert, wie das Datenbündel in
der Speichersektion 18L gespeichert wurde. Somit sind nach
den zwei Systemspeicherzyklen das Datenbündel und eine Kopie dieses
Datenbündels
an dem gleichen adressierbaren Ort beider Speichersektionen 18H und 18L gespeichert.
Folglich sind im Systemspeicher 18 redundante Datenbündel gespeichert.
-
Als
ein Beispiel für
die Speichersektionen 18H, 18L ist hier in 2 Sektion 18H gezeigt,
um mehrere, hier vier, DRAM-Sektionen aufzuweisen, die, wie gezeigt, über Busschnittstellen
und ASIC-Steuerlogik mit dem oberen und unteren Bus verbunden sind.
-
Jeder
des hinteren Teils der Direktoren 200 –203 und 2012 –2015 hat einen identischen Aufbau, ein
Beispiel dafür,
hier hinterer Direktor 200 , ist
in 3 gezeigt, um aufzuweisen: zwei Zentralprozessorabschnitte
CPU X und CPU Y, eine Dualport-Speichersektion
mit wahlfreiem Zugriff (Dualport-RAM-Sektion) zum Speichern der
Datenbündel, welche
einen mit der Y-CPU verbundenen Dualport-RAM-Y und einen mit der
X-CPU verbundenen Dualport-RAM-X aufweist, gemeinsame Betriebsmittel
(Flashspeicher, unter anderem zum Speichern von Programmen, die
Flußdiagramme
einiger davon sind in 6, 7 und 8 gezeigt,
usw.), zwei Backplane-Schnittstellen 22H, 22L,
zwei Datenlatchschaltungen 24H, 24L, zwei Adressenlatchschaltungen 26H, 26L,
zwei I/O-Backplane-Schnittstellen 281 , 282 und ein Doppelschreib-HIGH/LOW-Zwang-Steuerabschnitt 30 (der
detailliert in Verbindung mit 5 beschrieben
wird), alle wie gezeigt angeordnet. Der X- und der Y-CPU-Abschnitt
sind durch eine I/O-Adapterkarte 220 (1) über eine
I/O-Backplaneabschnitt-Schnittstelle 281 , 282 mit der Plattenspeicherbank 14 verbunden.
Anzumerken ist, daß der
Direktor einen primären
Ausgangsanschluß P
und einen sekundären
Ausgangsanschluß S
hat. Wie in Verbindung mit der oben erwähnten anhängigen Patentanmeldung detailliert
beschrieben, ist der primäre
Anschluß P
sowohl mit der I/O-Backplane-Schnittstelle 281 als
auch der I/O-Backplane-Schnittstelle 282 verbunden. Ebenso ist der sekundäre Anschluß S sowohl
mit der I/O-Backplane-Schnittstelle 282 als
auch der I/O-Backplane-Schnittstelle 281 verbunden.
-
Die
Dualport-RAM-Sektion des Direktors 200 ist
verbunden mit: (1) einem Hochadreß-Speicherbus, hier BH, über die
Datenlatchschaltung 24H und die Backplane-Abschnitt-Schnittstelle 22H;
und (2) einem Niederadreß-Speicherbus,
hier TL, über
die Datenlatchschaltung 24L und die Backplane-Abschnitt-Schnittstelle 22L,
wie gezeigt. Daten (d.h. Datenbündel)
werden als Antwort auf Latchsignale, die von dem Doppelschreib/HIGH/LOW-Zwang-Steuerabschnitt 30 auf
Leitungen 32H bzw. 32L zugeführt werden, in den Datenlatchschaltungen 32H bzw. 32L gespeichert.
Wie oben angemerkt, wird der Doppelschreib/HIGH/LOW-Zwang-Steuerabschnitt 30 detailliert
in Verbindung mit 5 beschrieben. Es genügt hier
jedoch zu sagen, daß dieser
Abschnitt 30 in der Lage ist, (i) als Antwort auf einen
dem System 10 zugeführten
Doppelschreibmodusbefehl einen globalen Doppelschreib-Interrrupt
(GLB_DW) an dem Doppelschreibbus DW bereitzustellen; (ii) einen
von einem der anderen Direktoren 201 –2015 an dem Doppelschreibbus DW erzeugten
globa len Doppelschreib-Interrupt (GLB_DW) zu empfangen und (iii) als
Antwort auf den an dem Doppelschreibbus DW empfangenen globalen
Doppelschreib-Interrupt (GLB_DW) (entweder auf den GLB_DW, den er
erzeugte, oder denjenigen, der von irgendeinem der anderen Direktoren
erzeugt wurde) sequentiell das im Dualport-RAM gespeicherte Datenbündel an
beiden mit diesem Direktor verbundenen Systembussen BH, TL an dem
gleichen adressierbaren Ort anzuordnen. Hier sequentiell das im
Dualport-RAM gespeicherte Datenbündel
an beiden mit diesem Direktor verbundenen Systembussen BH und TL
an dem gleichen adressierbaren Ort anzuordnen, wie oben beschrieben.
Selbstverständlich
ist der Abschnitt 30 so konfiguriert, daß, wenn
dem System 10 ein Doppelschreibmodusbefehl nicht zugeführt worden
ist (d.h. wenn das System 10 in einem Nichtdoppelschreibmodus
ist), das Datenbündel
in dem Dualport-RAM an einem der zwei Systembusse angeordnet wird, hier
entweder BH oder TL, mit unterschiedlichen adressierbaren Orten.
Wenn das System 10 in einen Doppelschreibmodus gesetzt
worden ist, ist dieser Abschnitt 30 außerdem in der Lage, zu einem
Nichtdoppelschreibmodus zurückzukehren,
wenn jeder der mehreren Direktoren 200 –2015 als Antwort auf eine dem System 10 zugeführte Rücksetzbedingung in
einen Nichtdoppelschreibmodus zurückgesetzt worden ist. Wie oben
erwähnt,
ist außerdem
jeder der Direktoren 200 –2015 in der Lage, einen Fehler bei der Übertragung
der Daten zwischen dem Direktor und den Speichersektionen 18H und 18L zu
erkennen. Jeder der Direktoren ist in der Lage, als Antwort auf einen
erkannten Fehler zwischen dem Direktor und einer der Speichersektionen 18H, 18L anschließende Datenübertragungen
zwischen dem Direktor und dem anderen Speicher zu erzwingen. Betrachtet
man den Direktor 204 , der mit den
Bussen TL und BH verbunden ist: falls dieser Direktor ein bei sich
gespeichertes Datenbündel über den
Bus BH zur Speichersektion 18H übertragen soll und bei dieser Übertragung
ein Fehler mit Hilfe einer EDAC- oder "Zeitüberschreitung" schaltung in der
Speichersektion 18H oder dem Direktor 204 erkannt
wird, so wird das System 10 von diesem Direktor 204 in den erzwungenen HIGH/LOW-Modus
gesetzt. In diesem Beispiel erzwingt der Direktor 204 insbesondere, daß alle Übertragungen von Datenbündeln über den
Bus TL zu dem mit ihm verbundenen anderen Speicher, hier zur Speichersektion 18L,
erfolgen, bis der Fehler korrigiert ist.
-
Im
einzelnen werden im Doppelschreibmodus von dem Steuerabschnitt 30 Latchfreigabesignale
sequentiell an den Leitungen 32H und 32L erzeugt. Das
heißt
in diesem Beispiel, während
eines Speicherzyklus wird ein Latchfreigabesignal zum Beispiel an
der Leitung 32H erzeugt und während des nächsten Speicherzyklus wird
ein Latchfreigabesignal an der Leitung 32L erzeugt. Als
Antwort auf diese Latchfreigabesignale wird in diesem Beispiel das
Datenbündel
im Dualport-RAM sequentiell in den Datenlatchschaltungen 24H bzw. 24L gespeichert.
Außerdem
speichern im Doppelschreibmodus die Latchsignale an den Leitungen 32H, 32L eine
gemeinsame Adresse entweder am Bus 34X oder
Bus 34Y in die Adreßlatchschaltungen 26H oder 26L.
Die in den Adreßlatchschaltungen 26H und 26L gespeicherte Adresse
sieht den gleichen Adreßort
im Systemspeicher 18 vor, wo dieses Datenbündel zu
speichern ist. Es ist anzumerken, daß, wenn in diesem Beispiel
das Datenbündel
durch das Latchfreigabesignal an der Leitung 32H während eines
Speicherzyklus von dem Dualport-RAM aus in die Datenlatchschaltung 24H gespeichert
wird und die Adresse für
dieses gespeicherte Datenbündel
in die Adreßlatchschaltung 26H gespeichert
wird, dieses gespeicherte Datenbündel zusammen
mit seiner Adresse durch die Backplane-Schnittstelle 22H zum
Hochadreß-Speichersystembus
BH läuft.
Wenn in diesem Beispiel ebenso das gleiche Datenbündel durch
das Latchfreigabesignal an der Leitung 32L während des
nächsten
Speicherzyklus von dem Dualport-RAM aus in die Datenlatchschaltung 24L gespeichert
wird und die Adresse für
dieses gespeicherte Datenbündel
in die Adreßlatchschaltung 26L gespeichert
wird, läuft
dieses gespeicherte Datenbündel
zusammen mit seiner Adresse durch die Backplane-Schnittstelle 32L zum
Niederadreß-Speichersystembus
TL. Somit wird das Datenbündel,
das von dem Dualport-RAM aus für
eine Speicherung im Systemspeicher 18 übertragen wird, während eines
Speicherzyklus zuerst zum Beispiel über die Datenlatchschaltung 24H und
die Backplane-Schnittstelle 22H am Bus BH angeordnet und
wird während
des nächsten
Speicherzyklus dann über
die Datenlatchschaltung 24L und die Backplane-Schnittstelle 22L am
Bus TL angeordnet.
-
Jeder
des vorderen Teils der Direktoren 204 –2011 hat einen identischen Aufbau, der
im wesentlichen demjenigen der vorstehend in Verbindung mit 3 beschriebenen
hinteren Direktoren entspricht. So ist ein Beispiel dafür, hier
Direktor 204 , detailliert in 4 gezeigt,
wobei entsprechende Elemente mit den gleichen Bezugszeichen bezeichnet sind,
wie sie in 3 verwendet sind. So ist der
beispielhafte vordere Direktor 204 gezeigt,
um aufzuweisen: zwei Zentralprozessorabschnitte (d.h. CPU X und
CPU Y), eine Dualport-Speichersektion mit wahlfreiem Zugriff (Dualport-RAM-Sektion),
die einen mit der Y-CPU verbundenen Dualport-RAM-Y und einen mit
der X-CPU verbundenen Dualport-RAM-X aufweist, gemeinsame Betriebsmittel
(Flashspeicher usw.), zwei Backplane-Schnittstellen 22H, 22L,
zwei Datenlatchschaltungen 24H, 24L, zwei Adreßlatchschaltungen 26H, 26L,
zwei I/O-Backplane-Schnittstellen 281 , 282 und einen Doppelschreib/HIGH/LOW-Zwang-Steuerabschnitt 30 (der in
Verbindung mit 5 detailliert beschrieben wird), alle
wie gezeigt angeordnet. Der X- und der Y-CPU-Abschnitt sind durch
eine I/O-Adapterkarte 224 (1) über eine
I/O-Backplaneabschnitt-Schnittstelle 281 , 282 mit
dem Hostrechner 12 verbunden, wie gezeigt ist.
-
Wie
bei den hinterer Direktoren ist die Dualport-RAM-Sektion verbunden mit: (1) einem Hochadreß-Speicherbus,
hier TH, über
die Datenlatchschaltung 24H und die Backplane-Abschnitt-Schnittstelle 22H;
und (2) einem Niederadreß-Speicherbus, hier BL, über die
Datenlatchschaltung 24L und Backplane-Abschnitt-Schnittstelle 22L,
wie gezeigt. Daten (d.h. Datenbündel)
werden als Antwort auf Latchsignale, die von dem Doppelschreib/HIGH/LOW-Zwang-Steuerabschnitt 30 auf Leitungen 32H bzw. 32L zugeführt werden,
in den Datenlatchschaltungen 24H bzw. 24L gespeichert. Wie
oben angemerkt, ist der Abschnitt 30 in der Lage, (i) als
Antwort auf einen dem System 10 zugeführten Doppelschreibmodusbefehl
einen globalen Doppelschreib-Interrrupt
(GLB_DW) an dem Doppelschreibbus DW bereitzustellen; (ii) einen
von einem der anderen Direktoren 201 –2015 an dem Doppelschreibbus DW erzeugten
globalen Doppelschreib-Interrupt (GLB_DW) zu empfangen und (iii)
als Antwort auf den am Doppelschreibbus DW empfangenen globalen
Doppelschreib-Interrupt (GLB_DW) (entweder den GLB_DW, den er erzeugte,
oder denjenigen, der von irgendeinem der anderen Direktoren erzeugt wurde)
sequentiell das in dem Dualport-RAM gespeicherte Datenbündel an
beiden mit diesem Direktor verbundenen Systembussen BH, TL an dem
gleichen adressierbaren Ort anzuordnen. Hier sequentiell das in
dem Dualport-RAM gespeicherte Datenbündel an den beiden Systembussen
TH und BL an dem gleichen adressierbaren Ort anzuordnen. Wenn ferner
das System 10 in einen Doppelschreibmodus gesetzt worden
ist, ist dieser Abschnitt 30 in der Lage, zu einem Nichtdoppelschreibmodus
zurückzukehren,
wenn jeder der mehreren Direktoren 200 –2015 als Antwort auf eine dem System 10 zugeführte Rücksetzbedingung
in einen Nichtdoppelschreibmodus zurückgesetzt worden ist. Wie oben erwähnt, ist
außerdem
jeder der Direktoren 200 –2015 in der Lage, einen Fehler bei der Übertragung
der Daten zwischen dem Direktor und den Speichersektionen 18H und 18L zu
erkennen. Jeder der Direktoren ist in der Lage, als Antwort auf
einen erkannten Fehler zwischen dem Direktor und einer der Speichersektionen 18H, 18L anschließende Datenübertragungen
zwischen dem Direktor und der anderen Speichersektion zu erzwingen.
-
Mit
Bezug nun auf 5 ist der Doppelschreib/HIGH/LOW-Zwang-Steuerabschnitt 30 gezeigt,
um aufzuweisen: zwei Doppelschreib-Interrupt-Steuerungen 40X , 40Y ,
die jeweils mit dem X-CPU-Abschnitt und Y-CPU-Abschnitt des Direktors,
der diesen Steuerabschnitt 30 hat, verbunden sind. Jede
Steuerung 40X , 40Y hat
einen identischen Aufbau und ist konfiguriert, um (i) als Antwort
auf einen dem System 10 (1) zugeführten Doppelschreibmodus-Befehl
einen globalen Doppelschreib-Interrupt YGLB_DW bzw. XGLB_DW bereitzustellen
und (ii) einen Doppelschreib-Interrupt DW_INT zu empfangen, der
an dem Doppelschreibbus DW entweder von dem Direktor, der den Steuerabschnitt 30 hat,
oder irgendeinem der anderen Direktoren erzeugt wurde. Die XGLB_DW
und YGLB_DW-Signale, von denen jedes hier ein Zweibitsignal ist,
werden einem ODER-Gatter 42 zugeführt. Das Ausgangssignal des
ODER-Gatters 42 ist ein Zweibitsignal GLB_DW_OUT, das einem GTL-Treiber
zugeführt
wird. Das Ausgangssignal des GTL-Treibers ist das globale Doppelschreibsignal GLB_DW
und wird über
den Doppelschreibbus DW den anderen Direk toren zugeführt und
wird über
den GTL-Empfänger,
der das Signal DW_INT für
die zwei Doppelschreib-Interrupt-Steuerungen 40X , 40Y , erzeugt, dem das GLB_DW-Signal erzeugenden
Direktor zugeführt.
-
Der
Doppelschreib/HIGH/LOW-Zwang-Steuerabschnitt 30 weist außerdem zwei
Adreß-Gatearrays
(Gatearray: Gatter-Anordnung) 46X und 46Y auf, die jeweils mit den X- und Y-Interrupt-Steuerungen 40X , 40Y verbunden
sind, wie gezeigt. Die zwei Adreßgatearrays 46X und 46Y liefern dem Systemspeicher 18 Adressen
für die
im Dualport-RAM gespeicherten Datenbündel, im Doppelschreibmodus, eine
gemeinsame Adresse für
jedes Datenbündel, wie
oben diskutiert. Die Ausgangssignale der Adreß-Gatearrays 56X und 64Y werden einem Logikabschnitt 50 zugeführt. Der
Logikabschnitt 50 erzeugt die Latchsignale an den Leitungen 32H und 32L und
die X- und Y-DRAM-Steuersignale (z.B. Lesen/Schreiben/Adressieren)
für den
DRAM-Abschnitt. Die Steuerungen 40X , 40Y liefern Adressen für das von dem Dualport-DRAM-Abschnitt (3 und 4)
aus zu den Datenlatchschaltungen 24H, 24L einzukoppelnde
Datenbündel
an den Bussen 34X bzw. 34Y . Somit werden die von den zwei Adreß-Gatearrays 46X und 46Y an
die Busse 34X und 34Y gelieferten Adressen den Adreßlatchschaltungen 26H, 26L zugeführt, wie
in 3 und 4 gezeigt und oben diskutiert
ist. Anzumerken ist, daß die Adressen
auf den Bussen 34X und 34Y selektiv gemäß den Latchsignalen an den
Leitungen 32H und 32L in die Adreßlatchschaltungen 26H und 26L gespeichert
werden.
-
Insbesondere
wird während
des Doppelschreibmodus, wie oben angemerkt, das Datenbündel im
Dualport-RAM-Abschnitt sequentiell in die Datenlatchschaltungen 24H und 24L gestellt.
Es ist anzumerken, daß,
während
des Doppelschreibmodus, wenn das Datenbündel zum Beispiel in die Datenlatchschaltung 24H gespeichert
wird, eine Adresse für
diese Daten in die Adreßlatchschaltung 26H gespeichert
wird. Ferner wird während
des nächsten Systemspeicherzyklus,
wenn Daten in die Latchschaltung 26L gespeichert werden,
die gleiche Adresse, die im vorausgehenden Speicherzyklus in die
Adreßlatchschaltung 26H gespeichert
wurde, in die Adreßlatchschaltung 26L gespeichert.
Während des
Nichtdoppelschreibmodus sind während
aufeinanderfolgender Spei cherzyklen die in die Adreßlatchschaltungen 26H und 26L gespeicherte
Adresse unabhängig
voneinander.
-
Mit
Bezug nun auf 6 ist ein Flußdiagramm
eines in den Direktoren 200 –2015 gespeicherten Programms gezeigt,
wobei dieses Programm in der Lage ist, das System 10 (1)
in den Doppelschreibmodus zu setzen. So wird beim Starten (Schritt 600)
das System 10 überprüft, um festzustellen,
ob im Systemspeicher 18 die Speicherkapazitäten der
Hochadreß-Speichersektion 18H und
der Niederadreß-Speichersektion 18L ausgeglichen
sind (d.h. die Sektionen ausgeglichene Speicherkapazitäten haben).
Wenn eine Unausgeglichenheit festgestellt wird (Schritt 602),
wird das System 10 von dem Benutzer heruntergefahren (Schritt 604)
und wird eine zusätzliche
Speicherkapazität
zu derjenigen Sektion 18L oder 18H hinzugefügt, deren
Speicherkapazität
unzureichend ist.
-
Nachdem
eine Ausgeglichenheit des Systemspeichers 18 festgestellt
worden ist, wählt
der Benutzer, wenn gewünscht,
einen Doppelschreib-Betriebsmodus. Dieser Modus wird gewählt, wenn
der Benutzer wünscht,
im Systemspeicher 18 redundante Daten zu haben, d.h. das
gleiche Datenbündel
in jeder der Speichersektionen 18L und 18H. Somit
ist im Falle eines Defekts in einer der Speichersektionen 18H oder 18L und
einer nicht ordnungsgemäßen Übertragung
der Daten zwischen dem Hostrechner 12 oder der Plattenspeicherbank 14 (1)
und dieser Speichersektion das gleiche Bündel übertragener Daten in der anderen
Speichersektion 18H, 18L verfügbar. Damit das System im Doppelschreibmodus ordnungsgemäß arbeitet,
muß jeder
der Direktoren 200 –2015 wissen, daß das System 10 in
den Doppelschreibmodus gesetzt worden ist. Wenn einer der Direktoren 200 –2015 feststellt, daß der Benutzer das System in
den Doppelschreibmodus gesetzt hat, wird in diesem Direktor ein
Signal sowohl zur X- als auch Y-CPU geschickt (Schritt 606).
Als Antwort auf dieses Signal veranlassen die X- und Y-Interrupt-Steuerabschnitte 40X und 40Y bei
einem ersten darauffolgenden Systemtaktpuls, daß sich eines von zwei Bit eines
Maschinenzustandsregisters (nicht gezeigt) von einem anfänglichen,
zurückgesetzten
logischen 0-Zustand zu einem logischen 1-Zustand ändert. Wenn
dieser Interrupt am nächsten
Systemtaktpuls existiert, wird das zweite Bit der Maschi nenzustandsregister
sowohl des X- als auch des Y-Interrupt-Steuerabschnitts 40X und 40Y von einem anfänglichen logischen 0-Zustand
zu einem logischen 1-Zustand geändert.
Also werden die Maschinenzustandsregister sowohl des X- als auch
des Y-Interrupt-Steuerabschnitts 40X und 40Y nur
dann, wenn die Doppelschreib-Anforderung nach den zwei Systemtaktpulsen
existiert, einen binären
logischen 00-Zustand an beiden Bussen XGLB_DW* und YGLB_DW* erzeugen.
(Es ist anzumerken, daß die
Logik hier "aktive" niedrige Logik ist,
in 5 mit dem Stern (*) gekennzeichnet). Nur wenn
dieser logische 00-Zustand an den Bussen XGLB_DW* und YGLB_DW* erzeugt
ist, wird das ODER-Gatter 42 einen logischen 00-Zustand
am Bus GLB_DW* erzeugen (Schritt 608, 610, 612),
wiederum in einer "aktiven
niedrigen" Logik (Schritt 606).
Der logische 00-Zustand am Bus GLB_DW* wird über einen GTL-Treiber zugeführt zu: dem
Doppelschreibbus DW (5) als ein globales Doppelschreibsignal
GLB_DW*; und zurück
zu den X- und Y-Interrupt-Steuerabschnitten 40X und 40Y über
einen GTL-Empfänger,
wie in 5 gezeigt. Das GLB_DW*-Signal zeigt diesem Direktor
und allen anderen Direktoren an, daß ein Doppelschreibmodus angefordert
worden ist, d.h. daß ein GLB_DW*-Signal am Doppelschreibbus
DW gültig geworden
worden ist (Schritt 614, 6). Wie
oben angemerkt, wird das logische GLB_DW*-11-Signal am Doppelschreibbus
dem interruptaussendenden der Direktoren 200 –2015 und allen anderen Direktoren 200 –2015 zugeführt. Jeder der Direktoren 200 –2015 stellt fest, ob die Maschinenzustandsregister
in seinen X- und Y-Interrupt-Steuerabschnitten 40X und 40Y im
logischen 00-Zustand sind. Wenn auch der interruptaussendende der
Direktoren 200 –2015 seine Maschinenzustandsregister
im logischen 00-Zustand hat, müssen
die übrigen
der Direktoren 200 –2015 zwei Systemtaktpulse warten, bevor
ihre Maschinenzustände
in den logischen 00-Zustand
gesetzt werden (Schritt 613). Nachdem alle Direktoren 200 –2015 im Doppelschreibmodus sind, wie durch
den Softwarestatus (Schritt 615) angezeigt, schicken die
Interrupt-Steuerabschnitte 40X und 40Y die Signalanzeige für globalen
Doppelschreibmodus zu den Adreßgatearray-Steuerungen 46X , 46Y (5)
(Schritt 616).
-
Mit
Bezug nun auf 7 ist ein Flußdiagramm
eines in den Direktoren 200 –2015 gespeicherten Programms gezeigt,
das in der Lage ist, das System 10 (1) von dem
Doppelschreibmodus aus in einen Nichtdoppelschreibmodus zurückzusetzen.
Als Antwort auf einen Benutzerbefehl, den Doppelschreibmodus zurückzusetzen
(d.h. zu inaktivieren), tritt die Software in die Routine zum "Ausschalten" des globalen Doppelschreibmodus
(Schritt 700) ein. Interrupts werden den zwei X- und Y-Interrupt-Steuerungen 40X und 40Y zugeführt (5,
Schritt 702) und wenn nach zwei Systemtaktpulsen der Interrupt wirksam
ist (Schritt 704), wird das GLB_DW*-Signal am Doppelschreibbus
DW ungültig
(Schritt 706). Da die Doppelschreib-Steuerabschnitte 30 am
Doppelschreibbus DW ODER-verdrahtet sind, ist es notwendig, daß alle Direktoren 200 –2015 das GLB_DW*-Signal dem Doppelschreibbus
DW in einem niedrigen, d.h. Ungültigkeit
anzeigenden logischen Zustand zugeführt haben, bevor alle Direktoren 200 –2015 zurückgesetzt werden. Das heißt, der
Doppelschreibmodus ist inaktiviert und das System 10 ist
in den Nichtdoppelschreibmodus gesetzt, Schritt 708. Als
Antwort auf das Ungültigkeitssignal
aus dem Doppelschreibbus DW (d.h. alle Direktoren 200 –2015 erzeugen ein Doppelschreibmodus-Ungültigkeitssignal
am Doppelschreibbus DW) zeigen die X- und Y-Interrupt-Steuerungen 40X und 40Y den
Adreßgatearray-Steuerungen 46X , 46Y an,
daß das
System 10 nun im Nichtdoppelschreibmodus ist (Schritt 710).
-
Mit
Bezug nun auf 8 ist ein Flußdiagramm
eines in den Direktoren 200 –2015 gespeicherten Programms gezeigt,
das in der Lage ist, das System 10 (1) in einen
erzwungen HIGH/LOW-Modus
zu setzen. Es wird vorausgesetzt, daß das System 10 im
Doppelschreibmodus (Schritt 800) normal arbeitet. Die Steuerungen
bzw. Direktoren messen die Anzahl der Fehler oder "Zeitüberschreitungs" fehler, die ihnen
gemeldet werden (Schritt 802). Wenn keinem der Direktoren 200 –2015 Fehler oder Zeitüberschreitungen in einer größeren als
einer vorgegebenen Anzahl gemeldet worden sind, bleibt das System weiter
im Doppelschreibmodus (Schritt 804, 806). Wenn
andererseits einem der Direktoren 200 –2015 Fehler oder Zeitüberschreitungen in einer größeren als
der vorgegebenen Anzahl gemeldet worden sind, initiiert dieser Direktor
den erzwungenen HIGH/LOW-Betriebsmodus für das System 10 (Schritt 806).
Wie oben in Verbindung mit 6 (Schritt 608)
und 7 (Schritt 702) diskutiert, erzeugen
die Maschinenzustandsregister sowohl der X- als auch der Y-Interrupt-Steuerabschnitte 40X und 40Y einen
binären
logischen 11-Zustand entweder (a) an beiden Bussen XGLB_FOR_HI*
und YGLB_FOR_HI* oder (b) an beiden Bussen XGLB_FOR_LO und YGLB_FOR_LO*
(Schritt 810), abhängig
davon, ob die Fehler in Verbindung mit Übertragungen zum Hochadreß-Speicherbus
oder Niederadreß-Speicherbus
auftreten (Schritt 810). (Anzumerken ist, daß die Logik
hier eine "aktive" niedrige Logik ist,
in 5 mit dem Sternchen (*) gekennzeichnet.) Die Signale
an den Bussen XGLB_FOR_HI* und YGLB_FOR_HI* werden dem NAND-Gatter 60HI zugeführt und
die Signale an den Bussen XGLB_FOR_LO* und YGLB_FOR_LO* werden dem
NAND-Gatter 60LO zugeführt.
Wenn die Logiksignale an beiden Bussen XGLB_FOR_HI* und YGLB_FOR_HI*
einen erzwungenen HI-Buszustand anzeigen
(d.h. es sind zu viele Fehler oder Zeitüberschreitungen zur Niederadreß-Speichersektion 18L), wird
ein GLB_FOR_LO*-Signal (in "aktiver" niedriger Logik)
für den
dieses Signal ausgebenden Direktor und für die anderen Direktoren 200 –2015 erzeugt. Ebenso wird, wenn die Logiksignale
an beiden Bussen XGLB_FOR_LO* und YGLB_FOR_LO* einen erzwungenen
LO-Buszustand anzeigen
(d.h. es sind zu viele Fehler oder Zeitüberschreitungen zur Hochadreß-Speichersektion 18H),
ein GLB_FOR_HI*-Signal (in "aktiver" niedriger Logik)
für den
dieses Signal ausgebenden Direktor und für die anderen Direktoren 200 –2015 erzeugt (Schritt 812). Anzumerken
ist, daß die
NAND-Gatter 60HI und 60LO an
dem Doppelschreibbus DW ORDER-verdrahtet
sind. Es ist auch anzumerken, daß sich die Ausgangssignale
der NAND-Gatter 60HI und 60LO über ein von einem Benutzer
aktiviertes Signal DIS_IF*, das "open-collector"-Treibern 61H und 61LO zugeführt wird,
inaktivieren lassen, wie gezeigt. Auf diese Weise wird ein Interrupt
erzeugt, wenn einer der Direktoren 200 –2015 einen HIGH/LOW-Zwang-Interrupt (d.h.
entweder ein GLB_FOR_LO*-Signal oder ein GLB_FOR_HI*-Signal) gültig macht, 5 (Schritt 814).
Die Direktoren 200 –2015 sind nun im HIGH/LOW-Zwangsmodus
(d.h. der Doppelschreibmodus ist inaktiviert) und die X- und Y-Interrupt-Steuerungen 40X und 40Y zeigen
den Adreßgatearray-Steuerungen 46X und 46Y an,
wo der erzwungene HIGH- und/oder erzwungene LOW-Zustand gewählt ist.
Die Adreßgatearray-Steuerungen 40X und 40Y stellen
dann jeweils an den Y_TB_MEM*- und/bzw. X_TB_MEM*-Bussen Signale
bereit, um dadurch der Logik 50 zu ermöglichen, Latchsignale an den
Leitungen 32H oder 32L zu erzeugen; das erstere
wird bei einem erzwungenen HIGH-Zustand erzeugt (d.h. zu viele Fehler
oder Zeitüberschreitungen
zur Niederadreß-Speichersektion 18L)
und das letzere wird bei einem erzwungenen LOW-Zustand erzeugt (d.h.
zu viele Fehler oder Zeitüberschreitungen
zur Hochadreß-Speichersektion 18H),
Schritt 816.