Die vorliegende Erfindung betrifft ein E/A-Hilfssystem und ein Exklusivsteuerverfahren,
Datenspeicherverfahren und Speicherinitialisierungsverfahren in einem E/A-Hilfssystem.
Ein neues deutlich vergrößertes Großcomputersystem setzt sich aus mehreren
Zentralverarbeitungseinheiten (CPU) zusammen. In einem solchen System ist die gemeinsame
Benutzung von Daten und der Austausch (Kommunikation) von Daten zwischen mehreren
CPUs notwendig. Aus diesem Grund wird ein E/A-Hilfssystem mit einer externen
Speichereinheit benötigt, die ihrerseits mit mehreren Host-Schnittstellen (bzw. Wirts- oder
Haupt-Schnittstellen) versehen sein soll.
Um diese Anforderungen zu erfüllen, besitzt das E/A-Hilfssystem eine Vielzahl von
Eingangs-/Ausgangscontrollern (Ca: Kanal-Adapter) mit mehreren
Eingangs-/Ausgangsschnittstellen, die mit den Host-CPUs verbunden sind. Um den Zugriff auf
mehrere CPUs exklusiv zu steuern, ist das E/A-Hilfssystem mit einem
Exklusivsteuerungsmanager (RM: Betriebsmittelmanager) mit einer Exklusivsteuerungstabelle
versehen.
Fig. 1 zeigt den Aufbau einer Halbleiterplattenvorrichtung, beispielsweise ein
E/A-Hilfssystem. In Fig. 1 bezeichnen die Bezugsziffern 1a, 1b jeweils eine CPU, 2 einen
Halbleiterplattencontroller und 3 eine Halbleiterplatte mit mehreren Halbleiterspeichermodulen
3a, 3b, 3c, . . . . Die Halbleiterplattenvorrichtung besitzt den gleichen Aufbau (Befehlskode,
Datenübertragungsverfahren, etc.) wie derjenige eines Magnetplattengeräts, außer daß die
Magnetplatte als Aufzeichnungsmedium durch einen Halbleiterspeicher ersetzt ist. Deshalb
stimmt die Schnittstelle zwischen der CPU 1a (1b) und dem Halbleiterplattencontroller 2
vollständig überein mit der Schnittstelle zwischen der CPU 1a (1b) und einem
Magnetplattencontroller. Diese Halbleiterplattenvorrichtung hat den Vorteil, daß ein schneller
Zugriff möglich ist, da die bei einer Magnetplatte notwendige Bewegung des Kopfes unnötig
ist, und daß die Software-Mittel zwischen der CPU und dem Magnetplattencontroller
unverändert eingesetzt werden können.
In dem Halbleiterplattencontroller 2 bezeichnen die Bezugsziffern 2a und 2b jeweils einen
Kanaladapter CA mit einer einzelnen oder mehreren Schnittstellen (Host-Schnittstellen) von
und zu einem Host-Gerät (CPU), 2c und 2d jeweils einen Speicherschnittstellenadapter zur
Steuerung des Einschreibens und Auslesens der Daten auf bzw. von der Halbleiterplatte 3, 2e
ein Betriebsmittelmanager RM mit einer Exklusivsteuerungstabelle ECT, der eine exklusive
Steuerung ausführt, um der Host-Schnittstelle zu ermöglichen, das Halbleitermodul 3a, 3b
oder 3c zu benutzen, wenn eine andere Host-Schnittstelle dies nicht tut, während die
Benutzung ausgeschlossen wird, wenn eine andere Host-Schnittstelle das Halbleitermodul
benutzt. Eine Exklusivsteuerung wird in jedem Halbleiterspeichermodul ausgeführt.
Zwei physikalische Schnittstellen (physikalische ports, Anschlußstellen für periphere Geräte)
2a₀, 2a₁ (2b₀, 2b₁) sind zwischen dem Kanaladapter 2a (2b) und der CPU 1a (1b) vorgesehen.
Die Exklusivsteuerungstabelle ECT des Betriebsmittelmanagers 2e zeichnet auf, ob jedes der
Halbleiterspeichermodule 3a, 3b, 3c (Gerätenummer 0 bis 2) besetzt ist durch jeweils eine
Kombination (Pfad) eines Kanaladapters (Kanalnummer) und einer physikalischen
Schnittstelle, die, wie in Fig. 2 gezeigt, auf jedem Kanaladapter aufgesetzt ist. Es gibt vier
verschiedene Pfadtypen (beispielsweise (00), (01), (10) und (11) in dem
Halbleiterplattencontroller 2.
Falls in diesem E/A-Hilfssystem ein Befehl zum Zugriff auf das Halbleiterspeichermodul 3b
von der CPU 1b zu dem Kanaladapter 2b über die physikalische Schnittstelle 2b₁ ausgegeben
wird, fordert beispielsweise der Kanaladapter 2b den Betriebsmittelmanager 2e auf, die
Benutzung des Speichermoduls 3b zu erlauben. Falls der Betriebsmittelmanager 2e die
Anforderung zur Benutzung empfängt, wird geprüft, ob das Halbleiterspeichermodul 3b über
einen anderen Pfad benutzt wird, indem auf die Exklusivsteuertabelle ECT Bezug genommen
wird. Falls die Antwort JA lautet, erlaubt der Betriebsmittelmanager 2e dem Kanaladapter 2b
nicht, das Halbleiterspeichermodul zu benutzen. Falls die Antwort andererseits NEIN ist,
erlaubt der Betriebsmittelmanager 2e dem Kanaladapter 2b, das Halbleiterspeichermodul zu
benutzen, und es setzt gleichzeitig ein Flag (Kennzeichen), das "besetzt" angibt, im Feld des
Halbleiterspeichermoduls 3b in Übereinstimmung mit dem Pfad (11). Der Kanaladapter 2b,
dem die Benutzung des Halbleiterspeichermoduls 3b erlaubt wurde, empfängt dann Daten von
der CPU 1b über die physikalische Schnittstelle 2b₁ und schreibt diese Daten in das
Halbleiterspeichermodul 3b über den Speicherschnittstellenadapter 2d. Sobald die
Schreiboperation beendet ist, ändert der Betriebsmittelmanager 2e hinsichtlich des Pfades (11)
das "besetzt" anzeigende Flag in ein Flag, das "frei" kennzeichnet.
Probleme in der Exklusivsteuerung
Wie zuvor beschrieben, wird im herkömmlichen E/A-Hilfssystem ein Tabelle- bzw.
Tabellenausschnitt aus der Exklusivsteuerungstabelle ECT im voraus jeweils einem
Kanaladapter im E/A-Hilfssystem zugewiesen. Falls die Anzahl der Kanaladapter, die im
E/A-Hilfssystem untergebracht sind, erhöht wird und die Anzahl der physikalischen
Schnittstelle in jedem Kanaladapter erhöht wird, vergrößert sich aus diesem Grunde die Größe
der Exklusivsteuerung.
Mit der neuen Entwicklung und der Änderung der Datenübertragungstechnik existieren viele
Arten von Schnittstellensystemen (beispielsweise elektrische Schnittstellensysteme, optische
Schnittstellensysteme und OC-Verbindungen) nebeneinander. Um nun in dieser Situation ein
E/A-Hilfssystem mit möglichst vielen CPUs zu verbinden, ist es notwendig, allen
existierenden Schnittstellensystemen zu entsprechen. D.h., daß es notwendig ist, verschiedene
Kanaladaptertypen in dem E/A-Hilfssystem vorzusehen, um jedem Schnittstellensystem zu
entsprechen, womit sich die Anzahl der Kanaladapter deshalb erhöht. Dies geschieht darüber
hinaus auch deshalb, weil nicht nur die physikalische Datenübertragungsvorrichtungen sondern
auch die Anzahl der physikalischen Schnittstellen, die in einem Kanaladapter vorgesehen sein
können, in Schnittstellensystemen unterschiedlich sind. Aus diesem Grund wird die
Exklusivsteuerungstabelle weiter vergrößert.
Falls mehrere logische Schnittstellen auf einer physikalischen Schnittstelle definiert werden,
muß die Exklusivsteuerungstabelle erzeugt werden, während jede logische Schnittstelle
berücksichtigt wird. Fig. 3 ist eine beispielhafte Ansicht eines
OC-Verbindungsschnittstellensystems. In Fig. 3 bezeichnet die Bezugsziffer 4a einen
Kanaladapter für eine OC-Verbindung, einen OC-Verbindungswechsler/Verstärker, der
zwischen einer CPU 4 ci (i = 1, 2, . . . ) und dem E/A-Hilfssystem vorgesehen ist, um die
Schnittstelle dynamisch zu schalten. Es ist möglich, maximal 256 CPUs auf einer
physikalischen Schnittstelle über den OC-Verbindungsumschalter/Verstärker zu definieren.
Falls mehrere logische Schnittstellen auf einer physikalischen Schnittstelle in dieser Weise
definiert werden, ist es notwendig, eine Exklusivsteuerungstabelle ECT zu erzeugen, die jede
der logischen Schnittstellen so behandelt, als wären es verschiedene physikalische
Schnittstellen.
Ein sogenanntes Multi-Zugangs-System (engl.: multi-exposure system) ermöglicht einen
Mehrfachzugriff, indem mehrere E/A-Geräteadressen bezüglich eines E/A-Geräts definiert
werden. Dieses Multi-Zugangs-System wird als ein E/A-Gerätezugriffssystem benutzt, das
gleichzeitig auf mehrere Gebiete in einem E/A-Gerät, wie beispielsweise einer Magnettrommel
einer Halbleiterplattenvorrichtung und einem Plattencash (Cash = schneller Zwischenspeicher)
über unterschiedliche Pfade zugreifen kann. Ein Computer hat eine Architektur, die virtuelle
Maschinen (getrennte Ablaufsysteme, die unabhängig voneinander von einer einzelnen CPU
betrieben werden) genannt werden. Wenn mehrerer solcher virtueller Maschinen
(Ablaufsysteme) betrieben werden, wird ein Zugang (engl.: exposure) einem Betriebssystem
zugeordnet, um die Unabhängigkeit des E/A-Gerätezugriffs für jedes Betriebssystem zu
sichern. Auf diese Weise existieren mehrere logische Schnittstellen auf einer physikalischen
Schnittstelle, falls es mehrere virtuelle Maschinen gibt. In diesem Fall ist es auch notwendig,
die Exklusivsteuerungstabelle ECT zu erzeugen, während die logischen Schnittstellen so
behandelt werden, als wären sie unterschiedliche physikalische Schnittstellen.
Fig. 4 ist eine beispielhafte Ansicht eines Multi-Zugangs-Systems. Es wird nun angenommen,
daß 256 E/A-Geräteadressen, beispielsweise (00)hex bis (FF)hex, auf einer Schnittstelle definiert
sein können. Gleichzeitig werden die Bereichs-Bits einer Adresse einer Zugangsnummer
zugeordnet. Wie in Fig. 4a gezeigt, werden beispielsweise die ersten beiden Bits einer
Zugangsnummer zugeordnet und die letzten sechs Bits einer Gerätenummer. D.h., daß
Zugänge 0, 1, 2, und 3 definiert sind. Falls angenommen wird, daß die Nummer des
physikalischen E/A-Geräts im E/A-Hilfssystem eins ist, und die Gerätenummer 0, wird die in
Fig. 4B gezeigte Beziehung zwischen der Zugangsnummer und einer E/A-Garäteadresse
gehalten. Diese vier E/A-Geräteadressen bezeichnen das gleiche physikalische Gerät
(Mehrfachdefinition). Die Nummer der Zugänge kann sich von vier unterscheiden und die
Bit-Positionen, die die Zugangsnummer angeben, können ebenfalls andere Positionen sein.
Wie zuvor beschrieben wird im herkömmlichen E/A-Hilfssystem ein Tabellenausschnitt fest
einer Exklusivsteuerungstabelle zugeordnet in Übereinstimmung mit dem maximal möglichen
Aufbau des E/A-Hilfssystems. In diesem System ist es notwendig, ein großes Tabellengebiet
auf der Exklusivsteuerungstabelle zu sichern, so daß ein großer Speicherbereich benötigt wird.
Fig. 5 zeigt ein Beispiel eines Aufbaus einer herkömmlichen Exklusivsteuerungstabelle. In
dieser Tabelle stellt das Symbol n1 die maximale Anzahl von in einem E/A-Hilfssystem
eingebauten Kanaladaptern dar, n2 die maximale Anzahl der auf einem Kanaladapter
aufgesetzten physikalischen Schnittstellen und n3 die maximale Anzahl logischer
Schnittstellen, die auf einer physikalischen Schnittstelle definiert sind. Die Anzahl der
Datenworte in der Spalte ist n1 × n2 × n3. In diesem Hilfssystem variieren jedoch die Anzahl
der physikalischen Schnittstellen auf einem Kanaladapter und die Anzahl der logischen
Schnittstellen auf einer physikalischen Schnittstelle. Ein großer Teil der Tabelle bleibt
allgemein frei, so daß es unnötig ist, eine große Exklusivsteuerungstabelle zu erzeugen.
Probleme im Halbleiterspeicher
In einer Halbleiterplattenvorrichtung wird ein Halbleiterspeicherchip als Datenspeichermedium
benutzt. Aus diesem Grund sind die Speicherkosten pro Bit höher als die in einer
Magnetplattenvorrichtung. Darüber hinaus ist die Speicherkapazität einer
Halbleiterplattenvorrichtung geringer als die einer Magnetplattenvorrichtung. Um das Problem
der Speicherkapazität zu lösen, wird die Form eines Halbleiterspeicherchips überarbeitet oder
das Verfahren, einen Halbleiterspeicherchip aufzubauen, verbessert. Beide Verbesserungen
unterliegen jedoch Beschränkungen, und das Kostenproblem bleibt weiterhin ungelöst. Um
dieses Kostenproblem zu lösen, ist eine Speichertechnik notwendig, bei der eine möglichst
große Datenmenge auf dem gleichen physikalischen Halbleiterspeichermittel gespeichert wird.
In einer herkömmlichen Halbleiterplattenvorrichtung wird ein dem momentanen
Magnetplattenvorrichtung entsprechendes Format (CDK-Format) während der Emulation
benutzt. D.h., daß ein Gebiet im Halbleiterspeicher einer Spaltinformation zugeordnet wird,
die zur Steuerung der Ein/Ausgabe der Daten von und zu einem Magnetplattenmedium
notwendig ist.
Fig. 6 zeigt ein Datenformat in einer herkömmlichen Halbleiterplattenvorrichtung. Das
Symbol DIR stellt ein Verzeichnis dar, das am Kopf eines Spurfelds aufgezeichnet wurde.
Diese Daten sind bei einer Halbleiterplatte wesentlich, existieren jedoch bei einer momentanen
Magnetplattenvorrichtung nicht. Nach dem Verzeichnis DIR werden mehrere Datenfelder Ri
aufgezeichnet, deren jedes sich aus einem zählbereich Ci (i = 1, 2, . . . ), einen
Schlüsselbereich Ki und einem Datenbereich Di zusammensetzt. Der Zählbereich Ci nimmt
eine Spuradresse, eine Datenfeldnummer und die Länge des Schlüsselbereichs Ki und des
Datenbereichs Di auf. Der Schlüsselbereich Ki ist nicht immer notwendig, zeichnet jedoch
einen Schlüssel bzw. Index zur Suche durch ein Zugriffsverfahren auf. Der Datenbereich Di
zeichnet Daten auf, die allgemein als "Benutzerdaten" bezeichnet werden. Alle benachbarten
Aufzeichnungsbereiche sind durch einen Spalt g voneinander getrennt.
Ein solcher Spalt g ist beim Zugriff auf einen Halbleiterspeicher nicht notwendig. Aus diesem
Grund wird eine größere Datenmenge auf dem gleichen physikalischen Halbleiterspeichermittel
gespeichert, sofern alle Spalten g entfernt werden. Da jedoch diese Spaltflächen im Vergleich
zu dem Gesamtgebiet des Hilfssystems sehr klein sind, kann das Entfernen der Spaltflächen
nicht als sehr effektive Lösung bezeichnet werden.
Eine weitere Technik, die es wert ist, beschrieben zu werden, ist eine
Datenkompressionspunkt-Wiederherstellungstechnik, die in jüngerer Zeit entwickelt wurde.
Dabei werden Daten komprimiert, um die Originaldatengröße ohne Verschlechterung des
Dateninhalts zu reduzieren, die komprimierten Daten auf einem externen Speichermedium zu
speichern und aus den komprimierten Daten die Originaldaten wiederherzustellen, falls die
Daten verarbeitet werden. Es gibt verschiedene Verfahren für diese Technik. Ein typisches
Verfahren besteht darin, Daten in Übereinstimmung mit dem Datenfortlauf in einem Block von
Datenketten zu kodieren, und umfaßt ein Lauf-Längen-Kodierungsverfahren und ein
Universal-Kodierungsverfahren. Soll beispielsweise mit dem
Lauf-Längen-Kodierungsverfahren das Datum "a" komprimiert werden, so ergibt sich bei
einem Datum "aa" das komprimierte Datum "a2" oder bei "aaaaa" das komprimierte Datum
"a5".
Beim Universalkodierungsverfahren werden die Eingangsdaten kodiert, indem die Information
benutzt wird, die eine Teildatenkette darstellt, die bereits kodiert wurde. Das typische
Universalkodierungsverfahren benutzt einen Ziv-Lempel-Kode (siehe beispielsweise Munakata,
"Data Compression Method by Ziv-Lempel" Information Processing Band 26, No. 1, 1985).
in diesem Ziv-Lempel-Kodierungsverfahren werden zwei Algorithmen vorgeschlagen, nämlich
(1) ein Universaltyp und (2) ein schrittweise analysierender Typ. Ein einen Universaltyp
Algorithmus benutzendes praktisches Verfahren ist beispielsweise ein
LZSS-Kodierungsverfahren (T.C. Bell, "Better OMP/L Text Compression", IEEE trans. on
Commun, Band COM-34, No. 12, Dez. 1986). Als ein praktisches Verfahren, das den
schrittweise analysierenden Algorithmus benutzt, ist beispielsweise ein LZW
(Lempel-Ziv-Welch)-Kodierungsverfahren zu nennen (T.A. Welch, "A Technique for
High-Performance Data Compression", Computer Juni 1984).
Für den Fall, daß eine große Datenmenge in dem gleichen physikalischen Halbleiterspeicher
eingeschrieben werden soll, wird die Wahl eines Verfahrens in Betracht gezogen, das
komprimierte Daten einschreibt und diese beim Lesen in die ursprünglichen Daten
rückwandelt. Bei dieser Datenkomprimierungstechnik bleiben jedoch weiterhin ungelöste
Probleme bestehen.
Ein erstes Problem besteht beispielsweise darin, daß für die Datenkomprimierung eine lange
Zeit benötigt wird. Obwohl es kleine Unterschiede bei den Datenkomprimierungsverfahren
gibt, werden bei der Datenkomprimierung grundsätzlich Daten gepuffert zur Überwachung der
Datenmuster und der Registrierung und Wiedergewinnung der kodierten Daten. Aus diesem
Grund ist die Datenübertragungszeit für die komprimierten Daten länger als die
Übertragungszeit für Daten, die keiner Verarbeitung unterzogen werden. Eine solche
Überschußzeit kann in einer Halbleiterplattenvorrichtung, die einen gleichmäßigen Zugriff mit
sehr hoher Geschwindigkeit unabhängig von dem Datentyp erlaubt, nicht unberücksichtigt
bleiben.
Ein zweites Problem besteht darin, daß die Größe der komprimierten Daten vor der
eigentlichen Komprimierung nicht geschätzt werden kann. Falls beispielsweise gespeicherte
Daten ausgelesen werden und nach einer Veränderung eines Teils zurückgeschrieben werden,
ist es oft nicht mehr möglich, diese Daten an der gleichen Stelle zu speichern, da die Größe
der komprimierten Daten sich von der Größe vor der Veränderung unterscheidet. Wird
beispielsweise beim Lauf-Längen-Kodierungsverfahren das als "a4" kodierte und im
Halbleiterspeicher gespeicherte Datum "aaaa" in "aabaa" geändert, so führt die
Komprimierung zu dem Datenwort "a2ba2", wodurch die Größe des komprimierten Datums
wächst. Sofern die Daten nicht stetig sind oder die Muster der Daten oder die
Erscheinungshäufigkeit der Daten nicht konstant ist, wird eine Komprimierung im allgemeinen
unmöglich. Im schlimmsten Fall übersteigt die Größe der komprimierten Daten jene der
ursprünglichen Daten.
Ein drittes Problem besteht darin, daß, falls es zu einer Anormalität in einem
Datenkomprimierungsmechanismus oder ähnlichem kommt, diese Anormalität nicht gefunden
werden kann, solange die komprimierten Daten nicht in die ursprünglichen Daten
zurückgewandelt werden.
Es ist notwendig, diese Probleme zu lösen, um die Datenmenge, die im Halbleiterspeicher
durch Anwendung des Datenkomprimierung-Wiederherstellungsverfahren gespeichert wird,
zu erhöhen.
Probleme bei der Speicherinitialisierungzeit
Falls bei einer Speichereinheit, die einen flüchtigen Speicher, beispielsweise eine
Halbleiterplattenvorrichtung, benutzt, die Spannungsquelle eingeschaltet wird oder die
Leiterplatte mit Speichermodulen aufgesetzt oder entfernt wird, wird der Inhalt der Speicher
undefiniert. In diesem Fall ist eine Initialisierung des Speichers zum Einschreiben spezifischer
Daten (Initialisierungsdaten) in den Speicher notwendig. Da die Vorrichtung während der
Initialisierung nicht benutzt werden kann, muß der Benutzer für einige Zeit warten, nachdem
die Spannungsquelle eingeschaltet worden ist. Darüber hinaus ist der Speicherzugriff während
der Initialisierung unmöglich, da der Zugriffcontroller die Initialisierung ausführt. Es ist
deshalb notwendig, solche Unannehmlichkeiten in einer Speichereinheit so weit wie möglich
zu reduzieren, indem die Initialisierungszeit verkürzt oder der Speicherzugriffspfad bzw. -weg
verbessert wird.
Fig. 7 zeigt einen herkömmlichen Initialisierungsmechanismus. Falls die Spannungsquelle
eingeschaltet wird, wird ein Initialisierungsstartsignal INS in einem Host-Modul oder einem
Zugriffscontroller 11 erzeugt. Ein Datenregister 12 empfängt dieses Initialisierungsstartsignal
INS und übernimmt Einschreibdaten IDT zur Initialisierung. Ein Initialisierungsadresszähler
13 gibt eine Initialisierungsadresse IAD aus. Eine Adressenumschaltung 14 wandelt ein
Adressignal AD vom Host-Modul in die Initialisierungsadresse IAD um, und gibt die
Initialisierungsdaten IDT an einen Datenbus 15, das Initialisierungsadressignal IAD an einen
Adressbus 16 und ein Speicherzugriffssynchronisationssignal (nicht gezeigt) ab, um die
Initialisierung einer Speichereinheit 10 auszuführen. Dabei kennzeichnet REF ein
Auffrischungsbefehlssignal und IED ein Initialisierungsendsignal.
Fig. 8 zeigt den Aufbau eines anderen herkömmlichen Initialisierungsmechanismus. Bei
diesem Mechanismus greifen zwei Zugriffscontroller 11a, 11b auf drei Speicherbereiche 10a,
10b und 10c getrennt voneinander zu. Jeder der Zugriffscontroller 11a, 11b besitzt den
gleichen Aufbau wie der Zugriffscontroller 11, der in Fig. 7 gezeigt ist. Falls der
Speicherbereich 10b in der Mitte durch Aufsetzen einer gedruckten Leiterplatte für ein
Speichermodul ergänzt wird, greift der obere Zugriffscontroller 11a auf den Speicherbereich
10b zu, um ihn in gleicher Weise wie den in Fig. 7 gezeigten Mechanismus zu initialisieren.
Während der Initialisierung des Speicherbereichs 10b, empfängt der untere Zugriffscontroller
11b ein Adressignal AD und ein Datensignal DT vom Host-Modul und gibt diese Signale an
den Adressbus 16 bzw. den Datenbus 15 ab. Des weiteren gibt er ein
Speicherzugriffssynchronisationssignal (nicht gezeigt) ab, um auf die anderen beiden
Speicherbereiche 10a und 10c abhängig von der Zugriffsanforderung von dem Host-Modul
zuzugreifen.
Wie zuvor beschrieben, wird die Initialisierung in herkömmlicher Weise ausgeführt, indem
eine Initialisierungsadresse erzeugt wird und Initialisierungsdaten in einen Speicher
eingeschrieben werden abhängig von der Adresse eines Zugriffcontrollers. Falls ein flüchtiger
Speicher initialisiert werden soll, ist zum Halten der Daten im Speicher eine
Auffrischungsoperation notwendig. Falls deshalb ein Auffrischungsbefehlssignal REF (siehe
Fig. 7) eingegeben wird, unterbricht der Initialisierungsadreßzähler 13 die Erzeugung eines
Initialisierungsadreßignals IAD für die Zeit der Auffrischungsoperation. Daraus ergibt sich,
daß die zur Initialisierung benötigte Zeit die Summe aus der Zeit zum Einschreiben der
Initialisierungsdaten IDT und der Zeit zur Ausführung der Auffrischungsoperation ist.
Falls die Initialisierung längere Zeit dauert, da beispielsweise die Zugriffsanforderung vom
Host-Modul bis zum Ende der Initialisierung nicht verarbeitet werden kann, muß der Benutzer,
der die Spannungsversorgung eingeschaltet hat, für längere Zeit warten, bevor er die
Vorrichtung tatsächlich benutzen kann. Bei dem in Fig. 8 gezeigten Mechanismus kann der
andere Zugriffscontroller die Zugriffsanforderung vom Host-Modul verarbeiten. Die
Speicherzugriffsleistung der Vorrichtung im ganzen betrachtet, ist jedoch während dieser Zeit
um die Hälfte reduziert. D.h., daß die Leistung selbst bei diesem Mechanismus in großem
Maße vermindert wird, falls die Initialisierung eine lange Zeit benötigt.
Wie zuvor beschrieben, ist die Exklusivsteuerungstabelle in einem herkömmlichen
E/A-Hilfssystem groß, womit ein großer Speicher zur Speicherung dieser
Exklusivsteuerungstabelle benötigt wird.
Darüber hinaus leidet der Vorgang zum Einschreiben komprimierter Daten in einem
herkömmlichen Halbleiterplattengerät unter verschiedenen Problemen, wie beispielsweise (1)
einer nicht unberücksichtigt zu lassenden Erhöhung der Übertragungszeit, (2) einer nicht
vorausberechenbaren Größe der komprimierbaren Daten und (3) einer nicht möglichen
Entdeckung einer Anormalität, falls eine solche Anormalität im
Komprimierungsteuerungsmechanismus verursacht wird, solange die Daten nicht
wiedergewonnen bzw. wiederhergestellt werden.
Da zusätzlich eine Auffrischungsoperation zur Initialisierung eines Halbleiterspeichers oder
ähnlichem notwendig ist, verlängert sich die Wartezeit für den Zugriff.
Es ist deshalb eine erste Aufgabe der vorliegenden Erfindung, die zuvor beschriebenen
Probleme beim Stand der Technik zu beseitigen, und ein E/A-Hilfssystem mit verbesserter
Leistung vorzusehen.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Exklusivsteuerungsverfahren und
ein E/A-Hilfssystem vorzusehen, das die Größe einer Exklusivsteuerungstabelle reduzieren
kann.
Es ist eine dritte Aufgabe der vorliegenden Erfindung, ein Datenspeicherverfahren und ein
E/A-Hilfssystem zur Speicherung komprimierter Daten in einer Halbleiterplattenvorrichtung
vorzusehen, die die Probleme der Datenkomprimierung im Stand der Technik lösen können.
Es ist eine vierte Aufgabe der vorliegenden Erfindung, ein Initialisierungsverfahren und ein
E/A-Hilfssystem vorzusehen, mit denen die Initialisierungszeit eines Halbleiterspeichers oder
ähnlichem verkürzt werden kann, indem die Auffrischungsoperation umgangen wird.
Die erste und zweite Aufgabe der vorliegenden Erfindung wird durch die Merkmale des
Anspruchs 1 gelöst.
Die dritte Aufgabe der vorliegenden Erfindung wird durch die Merkmale des Anspruchs 8
gelöst.
Die vierte Aufgabe der vorliegenden Erfindung wird durch die Merkmale des Anspruchs 17
gelöst.
Weitere Merkmale und Vorteile der vorliegenden Erfindung werden anhand der folgenden
Beschreibung unter Zuhilfenahme der begleitenden Zeichnungen deutlich.
Fig. 1 zeigt den Aufbau eines E/A-Hilfssystems als eine Halbleiterplattenvorrichtung;
Fig. 2 ist eine erläuternde Ansicht einer Exklusivsteuerungstabelle;
Fig. 3 ist eine erläuternde Ansicht eines OC-Verbindungsschnittstellensystems;
Fig. 4A und 4B sind erläuternde Ansichten eines Zugangs;
Fig. 5 zeigt den Aufbau einer herkömmlichen Exklusivsteuerungstabelle;
Fig. 6 zeigt ein Datenformat, das in einem herkömmlichen Halbleiterplattengerät verwendet
wird;
Fig. 7 zeigt einen herkömmlichen Initialisierungsmechanismus;
Fig. 8 zeigt den Aufbau eines anderen herkömmlichen Initialisierungsmechanismus;
Fig. 9 ist eine erste schematische Ansicht der vorliegenden Erfindung;
Fig. 10 ist eine zweite exemplarische Ansicht der vorliegenden Erfindung;
Fig. 11 ist eine dritte schematische Ansicht der vorliegenden Erfindung;
Fig. 12 zeigt den Aufbau eines Ausführungsbeispiels eines erfindungsgemäßen
Exklusivsteuerungsverfahrens;
Fig. 13 zeigt den Aufbau der Hardware jeder Einheit in dem Ausführungsbeispiel der Fig.
12;
Fig. 14 ist eine erläuternde Ansicht einer logischen Pfadsteuerungstabelle im
Ausführungsbeispiel, das in Fig. 12 gezeigt ist;
Fig. 15 ist eine erläuternde Ansicht einer Exklusivsteuerungstabelle in dem
Ausführungsbeispiel;
Fig. 16 ist eine erläuternde Ansicht der Zuordnung einer logischen Pfadnummer, falls eine
Host-Schnittstelle mit einer physikalischen Schnittstelle im Ausführungsbeispiel
übereinstimmt;
Fig. 17 ist eine erläuternde Ansicht der Inhalte einer logischen Pfadsteuerungstabelle;
Fig. 18A und 18B sind erläuternde Ansichten der Zuordnung eines logischen Pfads, falls eine
Host-Schnittstelle mit einer logischen Schnittstelle im Ausführungsbeispiel übereinstimmt;
Fig. 19A bis 19C sind erläuternde Ansichten einer logischen
Pfadnummernzuordnungssteuerung in einem Zugangs-System;
Fig. 20 ist ein Flußdiagramm der Verarbeitung des Betriebsmittelmanagers in der logischen
Pfadnummernzuordnungssteuerung;
Fig. 21 ist ein ersten Flußdiagramm der Verarbeitung durch den Kanaladapter in der
logischen Pfadnummernzuordnungssteuerung;
Fig. 22A und 22B sind erläuternde Ansichten der Registrierung einer logischen Pfadnummer
durch einen Kanaladapter;
Fig. 23 ist ein zweites Flußdiagramm der Verarbeitung durch einen Kanaladapter in der
logischen Pfadnummernzuordnungssteuerung;
Fig. 24 ist ein Flußdiagramm der Exklusivsteuerung;
Fig. 25 zeigt den gesamten Aufbau einer aktuellen Halbleiterplatte;
Fig. 26 zeigt den Aufbau eines Ausführungsbeispiels eines
Datenspeichersteuerungsverfahrens zur Speicherung komprimierter Daten in einem
Halbleiterspeichermodul einer Halbleiterplattenvorrichtung entsprechend der vorliegenden
Erfindung;
Fig. 27 zeigt den Aufbau des Kanaladapters in dem in Fig. 26 gezeigten
Ausführungsbeispiels;
Fig. 28 zeigt den Aufbau des Datensteuerungsadapters in dem in Fig. 26 gezeigten
Ausführungsbeispiel;
Fig. 29 zeigt den Aufbau des Backup-Plattenadapters im Ausführungsbeispiel der Fig. 26;
Fig. 30 ist eine erläuternde Ansicht des erfindungsgemäßen Datenformats;
Fig. 31 ist eine erläuternde Ansicht der Betriebsweise der Datenschreibsteuerung;
Fig. 32 ist eine erläuternde Ansicht der Betriebsweise der Datenschreibsteuerung, falls ein
Halbleiterspeichermodul übergelaufen ist;
Fig. 33 ist eine erläuternde Ansicht der Betriebsweise der Datenlesesteuerung;
Fig. 34 ist eine erläuternde Ansicht des Speicherbereichs der Backup-Plattenvorrichtung in
dem in Fig. 26 gezeigten Ausführungsbeispiels;
Fig. 35A und 35B sind erläuternde Ansichten eines herkömmlichen
Speicherinitialisierungsverfahrens;
Fig. 36A und 36B sind erläuternde Ansichten einer Auffrischungsoperation;
Fig. 37A und 37B sind erläuternde Ansichten eines erfindungsgemäßen
Initialisierungsverfahrens;
Fig. 38 zeigt den Aufbau eines Ausführungsbeispiels eines Speicherinitialisierungsverfahrens
gemäß der vorliegenden Erfindung;
Fig. 39 ist ein Zeitdiagramm, das den Arbeitsablauf des in Fig. 38 gezeigten
Ausführungsbeispiels darstellt;
Fig. 40 zeigt den Aufbau eines anderen Ausführungsbeispiels eines
Speicherinitialisierungsverfahrens gemäß der vorliegenden Erfindung;
Fig. 41 zeigt den Aufbau eines Initialisierungsadreßzählers, der in einem
Hochgeschwindigkeitszugriffsmodus benutzt wird;
Fig. 42 ist ein erläuterndes Verfahren eines weiteren Ausführungsbeispiels eines
Speicherinitialisierungsverfahrens gemäß der vorliegenden Erfindung, das einen
Hochgeschwindigkeitszugriff erlaubt;
Fig. 43 zeigt den Aufbau eines weiteren Ausführungsbeispiels eines
Speicherinitialisierungsverfahrens gemäß der vorliegenden Erfindung, in dem der Speicher
in mehrere Blöcke unterteilt wird;
Fig. 44 zeigt den Aufbau des Initialisierungsadreßzählers, der in dem in Fig. 43 gezeigten
Ausführungsbeispiel benutzt wird; und
Fig. 45 ist eine erläuternde Ansicht eines Verfahrens zum Einschreiben von Daten des in Fig.
43 gezeigten Ausführungsbeispiels.
(a) Schematischer Aufbau der Erfindung
Fig. 9 und 10 sind schematische Ansichten des Aufbaus der vorliegenden Erfindung.
(a-1) Exklusivsteuerung (Fig. 9)
Bezugnehmend auf Fig. 9 bezeichnen die Bezugsziffern 21a bis 21c mehrere
Eingangs-/Ausgangsschnittstellenbereiche (Kanaladapter), wobei jeder eine einzelne oder
mehrere Schnittstellen (Host-Schnittstellen) zwischen einer Host-Vorrichtung (d. h. einem
Host-Rechner) und dem Schnittstellenbereich aufweist. Bezugziffer 22 kennzeichnet eine
E/A-Vorrichtung (Halbleiterspeicher), der von den mehreren Schnittstellenbereichen 21a bis
21c gemeinsam benutzt wird, und 23 kennzeichnet einen Exklusivcontroller
(Betriebsmittel-Manager), der mit einer Exklusivsteuerungstabelle ECT und einer logischen
Pfadsteuerungstabelle LPT versehen ist und der es einer Host-Schnittstelle ermöglicht, eine
E/A-Vorrichtung zu benutzen, falls diese nicht von einer anderen Host-Schnittstelle benutzt
wird, wohingegen die Benutzung verboten wird, wenn die andere Host-Schnittstelle sie
benutzt.
Der Exklusivcontroller 23 weist jeder Host-Schnittstelle jedes
Eingangs-/Ausgangsschnittstellenbereichs 21a bis 21c eine logische Pfadnummer zu, verwaltet
bzw. regelt den Benutzungszustand der E/A-Vorrichtung in Übereinstimmung mit der
logischen Pfadnummer in der Exklusivsteuerungstabelle ECT und überprüft, ob die
E/A-Vorrichtung 22 von einer anderen Host-Schnittstelle über einen anderen logischen Pfad
benutzt wird, indem auf die Exklusivsteuerungstabelle ECT zugegriffen wird, wenn der
Exklusivcontroller 23 die Anforderung zur Benutzung der E/A-Vorrichtung 22 über eine
Host-Schnittstelle mit einer ihr zugeordneten vorbestimmten logischen Pfadnummer empfängt.
Falls die Antwort NEIN ist, verbietet der Exklusivcontroller 23 der Host-Schnittstelle, die die
Benutzungsanforderung ausgegeben hat, die Benutzung der E/A-Vorrichtung 22, und setzt ein
Flag, das anzeigt, daß die E/A-Vorrichtung "Besetzt" ist, in der Exklusivsteuerungstabelle
ECT entsprechend der logischen Pfadnummer der Host-Schnittstelle. Nach dem
Benutzungsende der E/A-Vorrichtung 22 ändert der Exklusivcontroller 23 das Flag nach
"Frei", womit angezeigt wird, daß die E/A-Vorrichtung wieder frei ist.
In diesem Fall kann die eine Host-Schnittstelle mit einer physikalischen Schnittstelle
übereinstimmen. Falls aber mehrere logische Schnittstellen in einer physikalischen Schnittstelle
definiert sind, entspricht eine Host-Schnittstelle einer logischen Schnittstelle. D.h., daß jeder
logischen Schnittstelle als eine Host-Schnittstelle eine logische Pfadnummer zugewiesen wird,
falls zumindest zwei Schnittstellen auf einer physikalischen Schnittstelle definiert sind. Wenn
des weiteren mehrere E/A-Maschinennummern einer einzelnen E/A-Vorrichtung zugewiesen
werden und die Betriebssysteme in einer Host-Vorrichtung gleichzeitig für die
E/A-Vorrichtung über eine physikalische Schnittstelle verfügbar werden, indem die jeweiligen
E/A-Maschinennummern benutzt werden, wird eine Host-Schnittstellennummer der
physikalischen Schnittstelle zugeordnet, abhängig von der jeweiligen
E/A-Vorrichtungsnummer, und eine logische Pfadnummer wird jeder der Host-Schnittstellen
(Host-Schnittstellennummern) zugewiesen.
Entsprechend diesem Aufbau ist es nicht notwendig, eine große Exklusivsteuerungstabelle fest
vorzubereiten, die mit dem Maximalaufbau fertig werden kann, im Gegensatz zu einem
herkömmlichen E/A-Hilfssystem. D.h., daß eine Exklusivsteuerungstabelle, in der nur die
Host-Schnittstellen, die momentan mit dem E/A-Hilfssystem verbunden sind, aufgelistet sind,
genügt. Es ist daher möglich, die Größe der Exklusivsteuerungstabelle und die für diese
Tabelle benötigte Speicherkapazität zu reduzieren.
Die Zuweisung von logischen Pfadnummern wird in folgender Weise gesteuert. Eine logische
Pfadsteuerungstabelle LPT ist im Exklusivcontroller 23 vorgesehen. Falls die
Spannungsversorgung eingeschaltet wird oder logische Schnittstellen definiert werden, fordert
jeder der Eingangs-/Ausgangsschnittstellenbereiche 21a bis 21c beim Exklusivcontroller 23 an,
jeder der Host-Schnittstellen, die damit verbunden sind, eine logische Pfadnummer
zuzuordnen. Der Exklusivcontroller 23 weist dynamisch eine freie logische Pfadnummer einer
Host-Schnittstelle zu, abhängig von der Anforderung der Zuweisung einer logischen
Pfadnummer, und registriert die zugewiesene logische Pfadnummer in der logischen
Pfadsteuerungstabelle LPT entsprechend der Identifikationsinformation (CA-Nummer) des
Eingangs-/Ausgangsschnittstellenbereichs und der Identifikationsinformation
(Host-Schnittstellennummer) der Host-Schnittstelle.
Der Exklusivcontroller 23 speichert auch die logische Pfadsteuerungstabelle LPT in einem
nicht-flüchtigen Speicher der selbst beim Ausfall der Spannungsversorgung den Inhalt nicht
verliert. Er weist darüber hinaus eine logische Pfadnummer zu, entweder auf der Basis der
logischen Pfadsteuerungstabelle LPT oder auf der Basis der zuvor erwähnten dynamischen
Zuweisung der logischen Pfadnummer, abhängig vom Ein-/Auszustand einer
Befehlsvorrichtung (Schalter). Da es möglich ist, die Zuweisung einer logischen Pfadnummer
vor dem Spannungsausfall durchzuführen, wird entsprechend diesem Aufbau die gleiche
Umgebung zur Zeit der Analyse eines Fehlers oder eines Wiedergabetests des Fehlers
wiederhergestellt.
(a-2) Datenspeichersteuerung (Fig. 10)
Bezugnehmend auf Fig. 10 kennzeichnet die Bezugsziffer 31 einen Kanaladapter zur Steuerung
des Eingabe-/Ausgabebetriebs zwischen einer Host-Vorrichtung (CPU) 30 und einem
Speicherschnittstellenadapter, 32 einen Exklusivcontroller (Betriebsmittelmanager) zur
Ausführung der Exklusivsteuerung des Zugriffs auf ein Halbleiterspeichermodul, 33a bis 33n
Halbleiterspeichermodule, deren jedes aus mehreren Halbleiterspeicherchips besteht, 34 einen
Speicherschnittstellenadapter zur Steuerung des Schreibablaufs und des Ausleseablaufs von
Daten zu bzw. aus einem Halbleiterspeichermodul, 35 einen Datensteuerungsadapter zum
Überprüfen der komprimierten Daten, die in ein Halbleiterspeichermodul eingeschrieben sind,
36 eine Backup-Plattenvorrichtung und 37 ein Backup-Plattenadapter.
Falls in einem der Halbleiterspeichermodule 33a bis 33n (im folgenden als
Halbleiterspeichermodul 33 bezeichnet) im E/A-System Daten gespeichert werden,
komprimiert der Kanaladapter 31 die im Datenpuffer gespeicherten Daten und schreibt die
komprimierten Daten in das Halbleiterspeichermodul 33. Der Datensteuerungsadapter 35 liest
und speichert die komprimierten Daten von dem Halbleiterspeichermodul 33, um die
komprimierten Daten zu überprüfen, indem die neu gespeicherten Daten mit den Daten
(unkomprimierte Daten) vor der Komprimierung verglichen werden. Nachdem die
komprimierten Daten in das Halbleiterspeichermodul 33 eingeschrieben sind, werden in
diesem Fall die unkomprimierten Daten, die im Datenpuffer gespeichert sind, in ein
Zusatz-Halbleiterspeichermodul 33s eingeschrieben. Die unkomprimierten Daten werden dann
aus dem Zusatz-Halbleiterspeichermodul 33s ausgelesen, um mit den neu gespeicherten Daten
verglichen zu werden.
Falls ein Fehler oder eine Anormalität als Ergebnis des Datenvergleichs erkannt wird,
komprimiert der Datensteuerungsadapter 35 die aus dem Zusatz-Halbleiterspeichermodul 33s
ausgelesenen Daten und schreibt diese komprimierten Daten in das Halbleiterspeichermodul 33
ein. Anschließend werden die komprimierten Daten neu gespeichert und diese neu
gespeicherten Daten werden mit den unkomprimierten Daten verglichen, um die in das
Halbleiterspeichermodul 33 eingeschriebenen komprimierten Daten zu überprüfen. Das
Ergebnis der Überprüfung wird im Verzeichnisbereich am Kopf der Spur des
Halbleiterspeichermoduls 33 aufgezeichnet.
Falls während des Einschreibens der komprimierten Daten das Halbleiterspeichermodul voll
wird, werden die unkomprimierten Daten in der Backup-Plattenvorrichtung 36 gespeichert.
Anschließend werden die unkomprimierten Daten aus der Backup-Plattenvorrichtung 36 in das
Halbleiterspeichermodul eingeschrieben.
Auf diese Weise werden jene Probleme gelöst, die dann entstehen, wenn Daten komprimiert
werden. Daraus ergibt sich die Möglichkeit, eine große Datenmenge in einem
Halbleiterspeicher abzuspeichern, indem die komprimierten Daten eingeschrieben werden.
(a-3) Initialisierung (Fig. 11)
In Fig. 11 bezeichnet die Bezugsziffer 41 einen flüchtigen Speicher, der eine Auffrischung
benötigt, und das Symbol CA bezeichnet eine Spaltenadresse und RA eine Zeilenadresse.
Auf den flüchtigen Speicher 41 wird durch Kombination der gewählten Spaltenadresse CA mit
der ausgewählten Zeilenadresse RA zugegriffen, wobei er für jede Zeile aufgefrischt wird. Um
den flüchtigen Speicher 41 zu initialisieren, werden Initialisierungsdaten in alle Speicherzellen
( bis ) in einer i-ten Spalte eingeschrieben, während die Zeilenadressen RA in
aufsteigender Ordnung nacheinander erzeugt werden, wobei die Spaltenadresse CA auf einem
konstanten Wert i gehalten wird. Die Initialisierungsdaten werden dann in gleicher Weise in
den aufeinanderfolgenden Spalten (an den Zeilenadressen bis ) eingeschrieben. Da das
Einschreiben der Initialisierungsdaten den Speicher gleichzeitig auffrischt, sofern die für das
Einschreiben der Daten in eine Spalte benötigte Zeit kürzer ist als der Zeitabstand zwischen
zwei Auffrischungszyklen, ist ein getrennter Auffrischungszyklus nicht notwendig. Dies führt
zu einer Verringerung der Initialisierungszeit. Falls ein Hochgeschwindigkeitsspeicher benutzt
wird, wird die Spaltenadresse CA in eine obere Spaltenadresse und eine untere Spaltenadresse
aufgeteilt, wobei die Initialisierungsdaten in die Speicherzellen eingeschrieben werden,
während die unteren Spaltenadressen in aufsteigender Ordnung nacheinander erzeugt werden,
während die oberen Spaltenadresse und die Zeilenadresse festgehalten werden. Die
Initialisierungsdaten werden dann in gleicher Weise in die nachfolgende Zeile eingeschrieben.
Nachdem die Initialisierungsdaten in alle Zeilen eingeschrieben sind, wird das
Dateneinschreiben wiederholt, während die obere Spaltenadresse Schritt für Schritt erhöht
wird. Auch dieser Ablauf vermeidet einen getrennten Auffrischungszyklus, womit die
Initialisierungszeit verringert wird.
(b) Ausführungsbeispiel des Exklusivsteuerungsverfahrens der Erfindung
(b-1) Gesamter Aufbau
Fig. 12 zeigt den Aufbau eines Ausführungsbeispiels eines erfindungsgemäßen
Exklusivsteuerungsverfahrens. Die Bezugsziffer 20 kennzeichnet eine
Halbleiterplattenvorrichtung als ein E/A-Hilfssystem, und die Bezugsziffern 30₀, 30₁ und 30₂
kennzeichnen CPUs (CPU-0 bis CPU-2) als Host-Geräte In der Halbleiterplattenvorrichtung
20 kennzeichnen die Bezugsziffern 21a, 21b und 21c Kanaladapter (CA-0 bis CA-2), wobei
jeder eine einzelne oder mehrere Schnittstellen (Host-Schnittstellen) zu und von einer
Host-Vorrichtung (CPU) aufweist, 22 eine Halbleiterplatte, die mit mehreren
Halbleiterspeichermodulen 22a bis 22n vorgesehen ist, wobei jedes Modul als eine
E/A-Vorrichtung für die CPUs 30₀ bis 30₂ dient. Die Bezugsziffer 23 kennzeichnet einen
Betriebsmittel-Manager (RM), der mit einer Exklusivsteuerungstabelle ECT und einer
logischen Pfadsteuerungstabelle LPT versehen ist, so daß eine logische Pfadsteuerung und eine
Exklusivsteuerung durch geführt werden können. Die Exklusivsteuerungstabelle ECT und eine
logische Pfadsteuerungstabelle LPT werden in einem nicht-flüchtigen Speichergebiet
gespeichert. Die logische Pfadsteuerung fügt eine logische Pfadnummer einer
Host-Schnittstelle, die mit jedem Adapter verbunden ist, hinzu und steuert den Pfad zwischen
den CPUs und der Halbleiterplatte. Die Exklusivsteuerung erlaubt einer Host-Schnittstelle,
einen Halbleiterspeicher zu benutzen, sofern er nicht von einer anderen Host-Schnittstelle
bereits benutzt wird, anderenfalls wird die Benutzung des Halbleiterspeichers verboten. Die
Exklusivsteuerung wird für jedes Halbleiterspeichermodul ausgeführt.
Die Bezugsziffer 24 kennzeichnet einen Speicherschnittstellenadapter zur Steuerung des
Dateneinschreibens und des Datenauslesens zu bzw. von der Halbleiterplatte 22, die
Bezugsziffer 25 kennzeichnet einen Serviceadapter (SA), mit dem beispielsweise eine
Instandsetzung bzw. Instandhaltung oder eine Modulüberwachung durchgeführt wird, und 26
kennzeichnet eine Überwachungs/Wartungs-Bedientafel, die einen Schalter SW aufweist, mit
dem das Verfahren zur Zuweisung einer logischen Pfadnummer bestimmt wird. Es gibt zwei
Verfahren zur Zuweisung einer logischen Pfadnummer: ein Verfahren (wird als
nicht-fixierter logischer Pfadnummernmodus bezeichnet) zur Zuweisung einer freien logischen
Pfadnummer, wenn eine Zuweisungsanforderung einer logischen Pfadnummer von einer der
Kanaladapter 21a bis 21c abgegeben wird, und ein Verfahren (als fixierter logischer
Pfadnummernmodus bezeichnet) zur Zuweisung einer logischen Pfadnummer auf der Basis der
logischen Pfadsteuerungstabelle, die in dem nicht-flüchtigen Speichergebiet vor dem
Spannungsausfall gespeichert ist. Falls der Schalter SW ausgeschaltet ist, wird eine logische
Pfadnummer durch den nicht-fixierten logischen Pfadnummernmodus zugewiesen, und falls
der Schalter SW eingeschaltet ist, wird die logische Pfadnummer durch den fixierten logischen
Pfadnummernmodus zugewiesen.
Die Bezugsziffer 27 kennzeichnet einen internen Bus, der einen C-BUS, D-BUS und S-BUS
(nicht gezeigt) aufweist. Der C-BUS ist ein Steuerungsbus, mit dem jede Einheit Nachrichten
übermittelt und Zugriff auf Steuerungsinformationen bekommt. Der D-BUS ist ein
Datenübertragungsbus, über den jede Einheit Daten der Halbleiterplatte 22 zuführt bzw. Daten
von dieser empfängt, und der S-BUS ist ein Servicebus, über den ein Servicemodul 25 als
Master den Zustand jeder Einheit steuert.
Der Kanaladapter 21a ist mit einer physikalischen Schnittstelle (physikalischer Port) 0
versehen, der Kanaladapter 21b mit zwei physikalischen Schnittstellen 0, 1, und der
Kanaladapter 21c mit drei physikalischen Schnittstellen 0, 1, 2. Die physikalische Schnittstelle
0 des Kanaladapters 21a bildet auch die Schnittstelle der CPU 30₀, die physikalischen
Schnittstellen 0, 1 des Kanaladapters 21b bilden die Schnittstellen der CPUs 30₀ bzw. 30₁, und
die physikalischen Schnittstellen 0, 1, 2 des Kanaladapters 21c bilden die Schnittstellen der
CPUs 30₀, 30₁, 30₂.
Jeder der Kanaladapter 21a bis 21c, der Betriebsmittel-Manager 23, der
Speicherschnittstellenadapter 24 und der Serviceadapter 25 bestehen aus einem
Mikroprozessor, der im wesentlichen den gleichen Aufbau besitzt wie der in Fig. 13 gezeigte.
In Fig. 13 kennzeichnet die Bezugsziffer 101 einen Mikroprozessor (MPU), 102 einen
Steuerungsspeicherbereich (CS) mit einem RAM (Random Access Memory = Speicher mit
wahlfreiem Zugriff)-Aufbau, 103 einen Steuerungsspeicherbereich (CS) mit einem ROM
(Read Only Memory, Nur-Lese-Speicher)-Aufbau, 104 einen Treiber/Empfänger (DV/RV),
der mit dem internen Bus 27 verbunden ist, 105 eine Busschnittstellenlogik (BIL), 106 einen
Treiber/Empfänger (DV/RV), der mit einer externen Schnittstelle verbunden ist, 107 einen
Puffer oder einen Tabellenspeicherbereich (TS), und 108 ein individuelles LSI (Gate Array,
Gatterfeld). Die Anzahl der Treiber/Empfänger (DV/RV) 106 hängt von der Anzahl der damit
verbundenen externen Schnittstellen ab.
(b-2) Logische Pfadsteuerungstabelle
Die logische Pfadsteuerungstabelle LPT speichert eine logische Pfadnummer, eine
Kanaladapternummer (CA-Nummer) und eine Host-Schnittstellennummer in Übereinstimmung
miteinander, wie in Fig. 14 gezeigt. Falls keine logische Schnittstelle auf der physikalischen
Schnittstelle definiert ist, entspricht eine Host-Schnittstelle einer physikalischen Schnittstelle
(physikalischer Port). Falls andererseits mehrere logische Schnittstellen auf einer
physikalischen Schnittstelle definiert sind, entspricht eine Host-Schnittstelle einer logischen
Schnittstelle.
Im Falle des nicht-fixierten logischen Pfadnummernmodus wird die logische
Pfadsteuerungstabelle LPT in der folgenden Weise erzeugt. Wenn der Spannungsschalter
eingeschaltet wird, weist jeder der Kanaladapter 21a bis 21c den Betriebsmittel-Manager 23
an, jeder Host-Schnittstelle, die mit dem entsprechenden Kanaladapter verbunden ist, eine
logische Pfadnummer zuzuteilen. Der Betriebsmittel-Manager 23 weist in Antwort auf die
Zuweisungsanforderung der Host-Schnittstelle eine freie logische Pfadnummer zu und
registriert die Kanaladapternummer (CA-Nummer) und die Host-Schnittstellennummer in der
logischen Pfadsteuerungstabelle LPT in Übereinstimmung mit der logischen Pfadnummer.
Diese logische Pfadsteuerungstabelle LPT wird erzeugt, indem nun diese Registrierung für alle
Kanaladapter ausgeführt wird. In Fig. 14 wird der Host-Schnittstelle 0 des Kanaladapters 21a
die logische Pfadnummer 0 zugeteilt, die logische Pfadnummer 1 wird der Host-Schnittstelle 0
des Kanaladapters 21b zugeordnet, die logische Pfadnummer 2 wird der Host-Schnittstelle 1
des Kanaladapters 21b zugeordnet, . . . (die gleiche Regel wird auf die folgenden
entsprechend angewendet).
Falls eine Host-Schnittstelle eines Kanaladapters hinzugefügt wird, fordert der Kanaladapter
den Betriebsmittelmanager 23 auf, der hinzugefügten Host-Schnittstelle eine logische Nummer
zuzuweisen. Der Betriebsmittelmanager 23 weist dann der Host-Schnittstelle in der gleichen
Weise eine freie logische Pfadnummer zu und registriert die Kanaladapternummer
(CA-Nummer) und die Host-Schnittstellennummer in der logischen Pfadsteuerungstabelle LPT
in Übereinstimmung mit der logischen Pfadnummer . . . zusätzliche dynamische Zuordnung.
Falls eine bestimmte Host-Schnittstelle eines Kanaladapters beseitigt wird oder ein
Kanaladapter selbst aus dem E/A-Hilfssystem (beispielsweise aus Reparaturgründen)
herausgenommen wird, beseitigt der Betriebsmittel-Manager 23 die logische Pfadnummer(n),
die den entsprechenden Host-Schnittstellen zugeordnet waren . . . dynamische Beseitigung.
Bei diesem Verfahren der Zuordnung der logischen Pfadnummern wird eine logische
Pfadnummer zugeordnet, falls es das Ereignis erfordert, beispielsweise wenn das
E/A-Hilfssystem gestartet wird oder wenn Zusatzgerät (Zusatzschnittstelle) hinzugefügt wird.
Aus diesem Grund können die logischen Pfadnummern ihrerseits variieren abhängig von der
Einschaltreihenfolge der Spannungsschalter in der CPU oder dem E/A-Hilfssystem. Im
Normalzustand stellt dies kein Problem dar, aber wenn ein Fehler verursacht wird, ist es
schwierig, die gleiche Umgebung für die Analyse des Fehlers oder einen Wiedergabetest des
Fehlers neu zu erzeugen. Als Gegenmaßnahme ist ein nicht-flüchtiges Speichergebiet
vorgesehen, um die logische Pfadsteuerungstabelle LPT zu speichern. Zusätzlich ist der
Schalter SW, der extern von bspw. einer Wartungsperson bedient werden kann, auf der
Wartungsbedientafel 26, wie zuvor beschrieben, vorgesehen.
Falls der Schalter SW ausgeschaltet ist, wird bei jeder Herausgabe einer
Zuweisungsanforderung einer logischen Pfadnummer von einem Kanaladapter eine logische
Pfadnummer zugewiesen, wie zuvor beschrieben (dynamische Zuweisung). Wird der Schalter
SW andererseits eingeschaltet, wird die gleiche logische Pfadnummer, wie sie durch die in
dem nicht-flüchtigen Gebiet gespeicherten Tabelleninformation gekennzeichnet ist,
zugewiesen. Der Schalter SW wird eingeschaltet, wenn die Wartungsperson stationär eine
logische Pfadnummer zuweist. . . . fixierter logischer Pfadnummernmodus.
(b-3) Exklusivssteuerungstabelle
Die Exklusivsteuerungstabelle ECT speichert die Belegungsdaten, die anzeigen, ob eine
E/A-Vorrichtung (Halbleiterspeichermodul) benutzt wird. Darüber hinaus werden
Reservierungsdaten, die anzeigen, ob eine E/A-Vorrichtung (Halbleiterspeichermodul)
reserviert ist, eine Pfadgruppeninformation (Pfadname) etc. gespeichert in Übereinstimmung
mit einer logischen Pfadnummer, wie in Fig. 15 gezeigt. Die Exklusivsteuerungstabelle ECT
wird für jedes Halbleiterspeichermodul vorgesehen.
Falls eine Host-Schnittstelle ein Halbleiterspeichermodul 31 benutzt, wird ein Flag "1" in der
Spalte der Belegungsdaten auf der Zeile der logischen Pfadnummer der Host-Schnittstelle
gesetzt. Wenn die Benutzung des Halbleiterspeichermoduls 33 beendet ist, wird das Flag "1"
auf "0" zurückgesetzt. Wenn eine Host-Schnittstelle einen Reservierungsbefehl ausgibt, um ein
bestimmtes Halbleiterspeichermodul 32 exklusiv zu benutzen, wird ein Flag in der Spalte der
Reservierungsdaten und in der Zeile der logischen Pfadnummer der Host-Schnittstelle auf "1"
gesetzt. Falls der Reservierungsbefehl zurückgenommen wird, wird das Flag von "1" auf "0"
zurückgesetzt. Selbst wenn eine andere Host-Schnittstelle eine Anforderung zum Zugriff auf
das Halbleiterspeichermodul 33 ausgibt, ist die Antwort "Beschäftigt", solange das Flag in der
Spalte der Reservierungsdaten auf "1" gesetzt ist.
(b-4) Zuordnung der logischen Pfadnummer
Fig. 16 ist eine Ansicht der Zuordnung eines logischen Pfads, wenn eine Host-Schnittstelle
einer physikalischen Schnittstelle entspricht. Die auf jedem Kanaladapter 21a bis 21c
aufgesetzten physikalischen Schnittstellen dienen als Host-Schnittstellen, und die logische
Pfadsteuerungstabelle LPT, wie sie in Fig. 17 gezeigt ist, wird durch die logische
Pfadnummernzuordnungs-Steuerung erzeugt.
Fig. 18A und 18B sind Ansichten der Zuordnung eines logischen Pfads, falls eine
Host-Schnittstelle einer logischen Schnittstelle entspricht. Der Kanaladapter 21b ist ein Adapter
für eine OC-Verbindung und eine physikalische Schnittstelle 21b′ ist mit vier CPUs 20a bis
20d über einen Umschalter/Verstärker 28 verbunden. D.h., daß vier Schnittstellen 29 auf der
einen physikalischen Schnittstelle 21b′ definiert sind. In einem solchen Fall entspricht eine
Host-Schnittstelle einer logischen Schnittstelle, und eine logische Pfadnummer wird jeder der
Host-Schnittstellen (0 bis 3) zugeordnet. Falls angenommen wird, daß der in Fig. 16 gezeigte
Kanaladapter 21b mit jeder CPU, wie in Fig. 18A gezeigt, verbunden ist, wird die logische
Pfadsteuerungstabelle LPT, wie die in Fig. 18 gezeigte, durch die logische
Pfadnummernzuordnungs-Steuerung erzeugt.
Fig. 19A bis 19C sind Ansichten einer logischen Pfadnummernzuordnungs-Steuerung in einem
Zugangs-System. Falls die CPU 20 mit dem Kanaladapter 21b über eine physikalischen
Schnittstelle 21b′ (siehe Fig. 19A) verbunden wird, werden zwei Maschinenadressen auf dem
Halbleiterspeichermodul 22a durch einen Zugang gesetzt. Aufgrund des Zugangs, verhält sich
die eine CPU 20 wie zwei virtuelle Computer VM1, VM2, so daß jeder virtuelle Computer
Vm1 bzw. VM2 eine Zugriffsanforderung über die eine physikalische Schnittstelle 21b′ an das
Halbleiterspeichermodul 22a schicken kann. Das bedeutet, daß zwei logische Schnittstellen auf
der einen physikalischen Schnittstelle 21b′ (siehe Fig. 19b) definiert sind. Da eine
Host-Schnittstelle einer logischen Schnittstelle entspricht, wird jeder der Host-Schnittstellen (0
und 1) eine logische Pfadnummer zugeordnet. Falls deshalb die CPU, die mit der
physikalischen Schnittstelle des Kanaladapters 21b in Fig. 16 verbunden ist, zwei Zugänge
setzt, wird die logische Pfadsteuerungstabelle LPT, die in Fig. 19C gezeigt ist, erzeugt.
(b-5) Logische Pfadnummernzuordnungs-Steuerung
Fig. 20 ist ein Flußdiagramm, das die Verarbeitung durch den Betriebsmittel-Manager 23 bei
einer logischen Pfadnummernzuordnungs-Steuerung zeigt.
Wenn die Spannungsquelle des Betriebsmittel-Managers 23 angeschaltet wird, wird ein
Funktionsprogramm gestartet, um zu prüfen, ob der Schalter SW ein- oder ausgeschaltet ist,
nachdem die Anfangsdiagnose (Schritt 201) ausgeführt ist. Falls der Schalter SW ausgeschaltet
ist, werden die Inhalte der logischen Pfadsteuerungstabelle LPT initialisiert (Schritt 202),
während sie nicht initialisiert werden, falls der Schalter SW eingeschaltet ist.
Unabhängig davon, ob eine Anforderung zur Zuweisung einer logischen Pfadnummer
(Zuordnungsanforderungs-Befehl + CA-Nummer + Host-Schnittstellennummer) von einem
Kanaladapter ausgegeben wird, wird dies geprüft (Schritt 203) und falls die Antwort JA ist,
wird geprüft, ob der Schalter SW ein- oder ausgeschaltet ist (Schritt 204). Falls der Schalter
SW ausgeschaltet ist, wird eine neue logische Pfadnummer dynamisch zugeteilt, und die
logische Pfadnummer wird in der logischen Pfadsteuerungstabelle LPT in Übereinstimmung
mit der CA-Nummer und der Host-Schnittstellennummer (Schritt 205) registriert.
Anschließend wird der Kanaladapter, der die Zuordnungsanforderung ausgegeben hat, über die
logische Pfadnummer informiert (Schritt 206), und der Ablauf kehrt zu Schritt 203 zurück, um
die anschließende Verarbeitung zu wiederholen.
Falls der Schalter SW in Schritt 204 eingeschaltet ist, wird die logische Pfadnummer aus der
logischen Pfadsteuerungstabelle LPT auf der Basis der CA-Nummer und der
Host-Schnittstellennummer, die in der Zuordnungsanforderung enthalten ist, wiedergewonnen
(Schritt 207). Der Kanaladapter, der die Zuordnungsanforderung ausgegeben hat, wird dann
über die wiedergewonnene logische Pfadnummer informiert (Schritt 106). Der Ablauf kehrt
dann zu Schritt 203 zurück, um die anschließende Verarbeitung zu wiederholen.
Die logischen Pfadnummern sind Seriennummern, die allen Host-Schnittstellen in dem
E/A-Hilfssystem zugeordnet sind.
Fig. 21 ist ein Flußdiagramm, das die Verarbeitung der Kanaladapter 21a bis 21c in der
logischen Pfadnummernzuordnungs-Steuerung zeigt. Falls die Spannungsversorgung
eingeschaltet wird, wird eine logische Pfadnummer der Host-Schnittstelle, die einer
physikalischen Schnittstelle entspricht, oder die logische Pfadnummer der Host-Schnittstelle,
die einem Zugang zugeordnet ist, registriert.
Falls die Spannungsquelle eines bestimmten Kanaladapters eingeschaltet wird, wird nach der
Anfangsdiagnose ein Funktionsprogramm gestartet. Der Kanaladapter zählt und bestätigt die
Anzahl der Host-Schnittstellen, die damit verbunden sind, und fordert den
Betriebsmittel-Manager 23 auf, einer i-ten Host-Schnittstelle eine logische Pfadnummer
zuzuordnen (Schritt 301). Die Zuordnungsanforderung besteht aus einem
Zuordnungsanforderungsbefehl, einer CA-Nummer und einer Schnittstellennummer.
Es wird dann geprüft, ob der Betriebsmittel-Manager 23 den Kanaladapter über die logische
Pfadnummer informiert hat (Schritt 302). Falls die Antwort JA lautet, registriert der
Kanaladapter die vom Betriebsmittel-Manager 23 empfangene logische Pfadnummer in der
logischen Pfadsteuerungstabelle in Übereinstimmung mit der Host-Schnittstellennummer
(Schritt 303, siehe Fig. 22A). Anschließend wird überprüft, ob die Zuordnung einer logischen
Pfadnummer hinsichtlich aller Host-Schnittstellen vollständig ausgeführt ist (Schritt 304). Falls
die Antwort NEIN lautet, wird die Verarbeitung bei Schritt 301 mit Bezug auf die (i + 1)-ten
Host-Schnittstelle wiederholt. Auf diese Weise werden die logischen Pfadnummern aller
Host-Schnittstellen registriert.
Im Falle einer OC-Verbindung werden logische Schnittstellen während des Betriebs des
Systems definiert. Fig. 23 zeigt für diesen Fall ein Flußdiagramm der Verarbeitung durch
einen Kanaladapter bei der logischen Pfadnummernzuordnungs-Steuerung.
Ein Kanaladapter für eine OC-Verbindung überprüft, ob eine CPU die Einrichtung einer
Verbindung angewiesen hat (Schritt 401). Falls JA, wird die OC-Verbindungsnummer
registriert in Übereinstimmung mit der Host-Schnittstellennummer (Schritt 402, siehe Fig.
22B). Der Kanaladapter fordert danach den Betriebsmittel-Manager auf, der Host-Schnittstelle
eine logische Pfadnummer zuzuordnen (Schritt 403).
Danach wird geprüft, ob der Betriebsmittel-Manager 23 dem Kanaladapter die logische
Pfadnummer mitgeteilt hat (Schritt 404). Falls JA, registriert der Kanaladapter die vom
Betriebsmittel-Manager 23 empfangene logische Pfadnummer in der logischen
Pfadsteuerungstabelle in Übereinstimmung mit der Schnittstellennummer und der
OC-Verbindungsnummer (Schritt 405), wie in Fig. 22B gezeigt. Der Ablauf kehrt zu Schritt
401 zurück, um die nachfolgende Verarbeitung zu wiederholen.
(b-6) Exklusivsteuerung
Fig. 24 ist ein Flußdiagramm einer Exklusivsteuerung.
Falls eine Zugriffsanforderung (Lese-/Schreibbefehl) von einer bestimmten CPU an einen
bestimmten Kanaladapter über eine Host-Schnittstelle übermittelt wird (Schritt 501),
spezifiziert der Kanaladapter die physikalische Schnittstelle und die logische Schnittstelle, die
die Anforderung ausgegeben hat, erkennt die Host-Schnittstellennummer und gewinnt die
logische Pfadnummer aus der logischen Pfadsteuerungstabelle auf der Basis der
Host-Schnittstellennummer (Schritt 502). Die Anforderung zur Benutzung der
E/A-Vorrichtung (Halbleiterspeichermodul) mit der hinzugefügten logischen Pfadnummer wird
dem Betriebsmittel-Manager 23 übermittelt (Schritt 503). Dann wird auf die Erlaubnis des
Betriebsmittel-Managers 23 gewartet (Schritt 504). Wenn der Betriebsmittel-Manager 23 die
Anforderung zur Benutzung der E/A-Vorrichtung empfängt, wird geprüft, ob das
Halbleiterspeichermodul von einem anderen logischen Pfad (Host-Schnittstelle) belegt oder
reserviert ist, indem auf die Exklusivsteuerungstabelle ECT Bezug genommen wird (Schritt
505). Falls das Modul weder belegt noch reserviert ist, wird ein Flag in der
Exklusivsteuerungstabelle ECT auf "1" gesetzt, was "Besetzt" bedeutet, in Übereinstimmung
mit der logischen Pfadnummer, die der Benutzungsanforderung hinzugefügt ist (Schritt 506).
Der Betriebsmittel-Manager 23 liefert dann die Erlaubnis, die E/A-Vorrichtung zu benutzen,
an den Kanaladapter, der die Benutzungsanforderung ausgegeben hat (Schritt 507). Falls das
Halbleiterspeichermodul in Benutzung ist, antwortet der Betriebsmittel-Manager 23 dem
Kanaladapter in negativer Weise ("Beschäftigt").
Wenn der Kanaladapter die Erlaubnis empfängt, werden die Daten zwischen der CPU und dem
Halbleiterspeichermodul übertragen (Schritt 508), und wenn der Zugriff beendet ist, informiert
der Kanaladapter den Betriebsmittel-Manager 23 über das Benutzungsende (Schritt 509) und
die CPU über das Befehlsende (Schritte 510).
Wenn der Betriebsmittel-Manager 23 vom Ende der Benutzung informiert ist, ändert er das
Flag von "1" auf "0", was "Frei" bedeutet, womit die Exklusivsteuerung beendet ist.
(b-7) Andere Steuerung
Manchmal wird einem Computersystem eine CPU neu hinzugefügt, um beispielsweise das
System zu vergrößern. Falls die neue CPU das existierende E/A-Hilfssystem benutzt, ist es
notwendig, dem E/A-Hilfssystem eine Schnittstelle oder einen Kanaladapter hinzuzufügen.
Nach der Hinzufügung einer Schnittstelle/Kanaladapters wird eine Anforderung für die
Zuweisung einer logischen Pfadnummer in der gleichen Weise an den Betriebsmittel-Manager
abgegeben, wie beim Einschalten der Spannungsversorgung. Eine neue logische Pfadnummer
wird zugewiesen und registriert. Danach wird der Kanaladapter/die Schnittstelle als Objekt
der Exklusivsteuerung behandelt.
Falls ein Fehler in einem Teil der Hardware auftritt und der Adapter aus dem E/A-Hilfssystem
entfernt wird, um gewartet bzw. repariert zu werden, werden die Daten, die im Gebiet in der
logischen Pfadsteuerungstabelle LPT registriert sind, die der logischen Pfadnummer bezüglich
des Kanaladapters entspricht, gelöscht.
Ein solchen Hinzufügen oder Beseitigen einer logischen Pfadnummer während des Betriebs des
Systems hat keinen Einfluß auf den Betrieb, der durch eine Schnittstelle einer anderen
logischen Pfadnummer ausgeführt wird. Es ist deshalb möglich, ein Zusatzgerät hinzuzufügen,
Module zu wechseln und ein Modul zu warten, während der Betrieb des E/A-Hilfssystems und
des gesamten Computersystems weiterläuft.
In dem Verfahren zur Zuweisung logischer Pfadnummern in der vorliegenden Erfindung
können die logischen Pfadnummern variieren in Abhängigkeit von der Einschaltfolge der
Versorgungsschalter im E/A-Hilfssystem, selbst wenn der interne Aufbau (die Anzahl der
Kanaladapter, die Anzahl der Schnittstellen) des E/A-Hilfssystems der gleiche ist. Im
praktischen Betrieb stellt dies kein Problem dar, aber, falls bei der Exklusivsteuerung ein
Fehler in einem Teil der Hardware oder einem Mikroprogramm auftritt, ist es notwendig, das
Problem zu analysieren und den Fehler zu reproduzieren. In einem solchen Fall ist es wichtig,
die gleiche Umgebung zu schaffen. Aus diesem Grund wird der zuvor beschriebene Schalter
SW zur Fixierung der logischen Pfadnummern eingeschaltet, so daß der Modus auf den
fixierten logischen Pfadnummernmodus umgeschaltet wird. Diese Bedienung sichert die
gleiche Zuordnung von logischen Pfadnummern. Im fixierten logischen Pfadnummernmodus
ist es möglich, eine neue logische Pfadnummer zuzuordnen. Falls jedoch eine logische
Pfadnummer aufgrund eines Fehlers oder ähnlichem beseitigt wird, wird die logische
Pfadnummer nicht aus der logischen Pfadsteuerungstabelle LPT entfernt. Dies deshalb, weil
die gleiche logische Pfadnummer dem Modul zugeordnet wird, nachdem es repariert ist. Des
weiteren kann ein Steuerungsverfahren eingebracht werden, indem der Schalter SW auf EIN
gehalten wird, nachdem das System zur Benutzung aufgebaut ist.
(b-8) Aufbau einer aktuellen Halbleiterplattenvorrichtung
Fig. 25 zeigt den gesamten Aufbau einer Halbleiterplattenvorrichtung als E/A-Hilfssystem.
Die Halbleiterplattenvorrichtung hat einen dualen Aufbau, wobei Module mit einem Index 1
einer ersten Halbleiterplattenvorrichtung G0 angehören, Module mit einem Index 2 einer
zweiten Halbleiterplattenvorrichtung G1 angehören, und Module mit keinem Index gemeinsam
benutzt werden.
Das Symbol CA stellt einen Kanaladapter dar, der als Schnittstelle von und zu einer
Host-Vorrichtung dient. Verschiedene Kanaladapter, die einem elektrischen Kanal
entsprechen, ein optischer Kanal und eine OC-Verbindung sind vorgesehen, sofern
erforderlich. Ein Betriebsmittel-Manager RM führt die logische Pfadsteuerung und die
Exklusivsteuerung aus und verwaltet alle Betriebsmittel des Hilfssystem. Ein Serviceadapter
SA dient als Master, der die Zustände der anderen Einheiten steuert.
Ein C-BUS ist ein Steuerungsbus, über den jede Einheit Nachrichten übermittelt und Zugriff
auf Steuerungsinformationen hat. Ein D-BUS ist ein Datentransferbus, über den jede Einheit
Daten zu einer Halbleiterplatte schickt oder von dieser empfängt, und ein S-BUS ist ein
Servicebus, über den ein Servicemodul als Master den Zustand jeder Einheit steuert. Die
Symbole BH-1 und BH-2 stellen Bussteuerungen (handlers) dar, um den Konkurrenzbetrieb
der Busse zu steuern oder den Bustakt zuzuführen. Das Symbol MDK kennzeichnet eine
Magnetplattenvorrichtung zum zeitweisen Speichern (Backup) der Speicherinhalte, falls ein
Problem aufgetreten ist, DA kennzeichnet eine Vorrichtungsadapter, der als Schnittstelle
zwischen der Magnetplattenvorrichtung und dem Kanaladapter DA dient, und BANK
kennzeichnet eine Halbleiterplatte (geteilter Speicher), der maximal 10
Halbleiterspeichermodule MSs aufnehmen kann.
Die Symbole ESP1 bis ESP4 kennzeichnen Ports (Zusatzspeicherports) zur Steuerung der
Zugriffe auf die Halbleiterplatten, ESA1 bis ESA4 kennzeichnen Speicherschnittstellenadapter
zur Ausführung einer Synchronisationssteuerung zwischen den Halbleiterspeichermodulen
MSs, Speicherauffrischung und Datenkorrektur basierend auf einem Fehlerüberprüfungscode,
und PANEL kennzeichnet eine Wartungsbedienungstafel.
Die erste und die zweite Halbleiterplattenvorrichtung G0 bzw. G1 haben einen symmetrischen
Aufbau bezüglich der gestrichelten Linie in Fig. 25. Eine Host-CPU ist symmetrisch mit den
Kanaladaptern CA₁ und CA₂ der ersten und zweiten Halbleitervorrichtung verbunden, und die
jeweiligen Ports ESP2 und ESP3 sind mit den Speicherschnittstellenadaptern ESA3, ESA4 auf
der anderen Seite verbunden. Selbst wenn deshalb auf einer Seite in einem Kanaladapter ein
Problem auftritt, hat die CPU einen Zugriff auf die Halbleiterplatte über einen Kanaladapter
auf der anderen Seite. Selbst wenn auf einer Seite in einer Halbleiterplatte ein Problem auftritt,
ist es möglich, auf die Halbleiterplatte auf der anderen Seite zuzugreifen. Somit wird die
Zuverlässigkeit vergrößert.
In diesem Ausführungsbeispiel wird ein Exklusivsteuerungsverfahren in einer
Halbleiterplattenvorrichtung als E/A-Hilfssystem erläutert. Ein Exklusivsteuerungsverfahren
der vorliegenden Erfindung ist jedoch nicht darauf beschränkt, sondern kann auch in einem
E/A-Hilfssystem, beispielsweise einer Magnetplattenvorrichtung oder einem Plattencash,
angewendet werden.
(c) Ausführungsbeispiel eines Datenspeichersteuerungsverfahrens der Erfindung
(c-1) Gesamter Aufbau
Fig. 26 zeigt den Aufbau eines Ausführungsbeispiels eines Datenspeichersteuerungsverfahrens
zur Speicherung komprimierter Daten in einem Halbleiterspeichermodul einer
Halbleiterplattenvorrichtung gemäß der vorliegenden Erfindung. Das Bezugszeichen 30
kennzeichnet eine Host-Vorrichtung, wie beispielsweise eine CPU, 31 einen Kanaladapter zur
Steuerung der Dateneingabe-/-ausgabeoperation zwischen der Host-Vorrichtung (CPU) 30 und
einem Speicherschnittstellenadapter ESA, 32 einen Betriebsmittel-Manager zur Ausführung der
Exklusivsteuerung des Zugriffs auf ein Halbleiterspeichermodul, 33a bis 33n
Halbleiterspeichermodule, wobei jedes aus mehreren Halbleiterspeicherchips zusammengesetzt
ist, 33s ein freies Halbleiterspeichermodul, 34 einen Speicherschnittstellenadapter zur
Steuerung des Einschreibens und Auslesens von Daten in bzw. aus einem
Halbleiterspeichermodul, 35 einen Datensteuerungsadapter zur Verifizierung der
komprimierten Daten, die in ein Halbleiterspeichermodul eingeschrieben sind, 36 eine
Backup-Plattenvorrichtung, 37 ein Backup-Plattenadapter, und 38 einen internen Datenbus.
Der Kanaladapter 31 und der Datensteuerungsadapter 35 weisen einen Datenpuffer 31a mit
großer Kapazität und einen Datenkomprimierungsmechanismus 31b bzw. einen Datenpuffer
35a und einen Datenkomprimierungsmechanismus 35b auf. Der Backup-Plattenadapter 37
besitzt einen Datenkomprimierungsmechanismus 37a.
Wenn Daten in einem der Halbleiterspeichermodule 33a bis 33n (im folgenden als
"Halbleiterspeichermodul" 33 bezeichnet) im E/A-Hilfssystem gespeichert werden,
komprimiert der Datenkomprimierungsmechanismus 31b des Kanaladapters 31 die in dem
Datenpuffer 31a gespeicherten Daten und schreibt die komprimierten Daten in das
Halbleiterspeichermodul 33. Die Daten vor der Komprimierung (unkomprimierte Daten), die
in dem Datenpuffer 31a gespeichert sind, werden in das Zusatz-Halbleiterspeichermodul 33s
geschrieben.
Nach dem Einschreiben dieser Daten, liest der Datenkomprimierungsmechanismus 35b des
Datensteuerungsadapters 35 die komprimierten Daten aus dem Halbleiterspeichermodul 33 aus
und speichert sie erneut, so daß sie in dem Datenpuffer 35a gespeichert werden. Anschließend
werden die unkomprimierten Daten aus dem Zusatz-Halbleiterspeichermodul 33s ausgelesen,
um die in das Halbleiterspeichermodul 33 eingeschriebenen komprimierten Daten zu
verifizieren, indem die erneut gespeicherten Daten mit den unkomprimierten Daten verglichen
werden. Falls eine Anforderung zum Zugriff auf die Daten von irgendeinem Kanaladapter
während des Vergleichs und der Verifikation abgegeben wird, antwortet der
Betriebsmittel-Manager 32 mit "Beschäftigt".
Falls ein Fehler bzw. eine Anormalität als Ergebnis des Datenvergleichs erkannt wird,
komprimiert der Datensteuerungsadapter 35 die aus dem Zusatz-Halbleiterspeichermodul 33s
ausgelesenen Daten und schreibt diese komprimierten Daten in das Halbleiterspeichermodul 33
ein. Danach werden die komprimierten Daten wiederhergestellt und die wiederhergestellten
Daten mit den unkomprimierten Daten verglichen, um die in das Halbleiterspeichermodul 33
eingeschriebenen komprimierten Daten zu verifizieren. Das Ergebnis (Vergleichsfehler-Flag,
Wiederherstellungs-Flag oder ähnliches) der Verifikation wird im Verzeichnisbereich am Kopf
der Spur des Halbleiterspeichermoduls 33 aufgezeichnet. Ein Flag, das anzeigt, ob die Daten
komprimiert sind, wird dem Kopf jedes Datums hinzugefügt. Der Verzeichnisbereich enthält
zusätzlich zum Ergebnis der Verifikation logische Adreßinformationen, physikalische
Speicheradreßinformationen, ein Komprimierungs-Flag, das anzeigt, daß die Daten einer
Komprimierung unterzogen wurden, und das neueste Datum (Update-Information), an dem die
Daten auf der Spur geändert oder eingeschrieben wurden.
Falls das Halbleiterspeichermodul 33 während dem Einschreiben der komprimierten Daten
überläuft (beispielsweise wenn die Größe der komprimierten Daten größer ist als die Größe der
unkomprimierten Daten), speichert der Kanaladapter 31 die unkomprimierten Daten in der
Backup-Plattenvorrichtung 36 über den Backup-Plattenadapter 37. Nach der Speicherung liest
der Backup-Plattenadapter 37 die unkomprimierten Daten aus der Backup-Plattenvorrichtung
36 und schreibt diese in das Halbleiterspeichermodul 33 ein.
Falls die in einem Halbleiterspeicher gespeicherten Daten in der Backup-Plattenvorrichtung 36
gespeichert werden (backup-gespeichert), werden die Daten vom Backup-Plattenadapter 37
komprimiert und in der Backup-Plattenvorrichtung 36 gespeichert. Wenn die Daten aus der
Backup-Plattenvorrichtung 36 ausgelesen werden, werden sie wiederhergestellt. In diesem Fall
wird das Backup-Fertigstellungsdatum gespeichert, und falls die im Halbleiterspeicher 33
gespeicherten Daten wieder backup-gespeichert werden, wird das im Verzeichnisbereich
enthaltene Datum mit dem Backup-Fertigstellungsdatum verglichen, um nicht die hinsichtlich
des Backup-Fertigstellungsdatums älteren Daten zu speichern. Auf diese Weise wird die
Backup-Zeit verkürzt.
(c-2) Aufbau eines Kanaladapters
Fig. 27 zeigt den Aufbau eines Kanaladapters 31. Der Kanaladapters 31 enthält einen
Datenpuffer 31a mit großer Kapazität zum Speichern der übertragenen Daten, den
Datenkomprimierungsmechanismus 31b zum Komprimieren/Wiederherstellen der zwischen der
Kanalschnittstelle und der internen Busschnittstelle übertragenen Daten, ein
Wörterbuchspeicher 31c zum Assistieren der Komprimierungs-/Wiederherstellungsoperation,
ein Kanalschnittstellen-Protokollcontroller 31d, eine Auswahlvorrichtung 31e zur selektiven
Ausgabe der Daten vom Datenpuffer 31a und dem Datenkomprimierungsmechanismus 31b und
zum selektiven Eingeben der Daten in den Datenpuffer 31a und den
Datenkomprimierungsmechanismus 31b, einen internen Busschnittstellencontroller 31f, der mit
dem internen Bus 38 verbunden ist, ein MPU 31g zur Steuerung dieser
Hardware-Betriebsmittel durch ein Mikroprogramm, ein Steuerungsspeicher 31h zur
Speicherung des Programms und einen Bus 31i.
Der Kanalschnittstellen-Protokollcontroller 31d analysiert den Inhalt des Befehls, der zwischen
dem Kanaladapter und der Host-Vorrichtung übertragen wird, und steuert die Übertragung der
Daten basierend auf einer bestimmten Abfolge in der Schnittstelle. Wenn der
Kanalschnittstellen-Protokollcontroller 31d die im Halbleiterspeichermodul 33 zu speichernden
Daten von der Host-Vorrichtung empfängt 53356 00070 552 001000280000000200012000285915324500040 0002004423949 00004 53237, speichert der
Kanalschnittstellen-Protokollcontroller 31d die Daten kurzzeitig in dem Datenpuffer 31a mit
großer Kapazität. Der Datenkomprimierungsmechanismus 31b komprimiert die Eingangsdaten
von dem Datenpuffer 31a. Die Auswahlvorrichtung 31e wählt die von dem
Datenkomprimierungsmechanismus 31b komprimierten Daten oder die ursprünglichen Daten
(unkomprimierten Daten), die in dem Datenpuffer 31a gespeichert sind, unter der Steuerung
des MPU 31g aus, und führt sie als Eingangssignale dem internen Busschnittstellencontroller
31f zu. Der interne Busschnittstellencontroller 31f, der die von der Auswahlvorrichtung 31e
kommenden Daten empfangen hat, übermittelt diese Daten an den
Speicherschnittstellenadapter 34. Während des Einschreibens, werden die vom
Datenkomprimierungsmechanismus 31 komprimierten Daten über die Auswahlvorrichtung
31e, die interne Busschnittstelle 31f und den Speicherschnittstellenadapter 34 in das
Halbleiterspeichermodul 33 eingeschrieben. Die unkomprimierten Daten werden über den
Datenpuffer 31a, die Auswahlvorrichtung 31e, die interne Busschnittstelle 31f und den
Speicherschnittstellenadapter 34 in das Zusatz-Halbleiterspeichermodul 33f eingeschrieben.
Falls andererseits die in das Halbleiterspeichermodul 33 eingeschriebenen Daten zu der
Host-Vorrichtung übertragen werden, führt die Auswahlvorrichtung 31e selektiv die Daten zu
dem Datenkomprimierungsmechanismus 31b oder dem Datenpuffer 31a abhängig von dem
Identifikations-Flag, das kurz vor den Daten eingeschrieben wurde, um anzuzeigen, ob die
Daten komprimiert oder unkomprimiert sind. D.h., falls die Daten, die der interne
Busschnittstellencontroller 31f von dem Speicherschnittstellenadapter 34 empfängt,
komprimierte Daten sind, gibt die Auswahlvorrichtung 31e die Daten an den
Datenkomprimierungsmechanismus 31b ab, wohingegen sie an den Datenpuffer 31a abgegeben
werden, falls es sich um unkomprimierte Daten handelt. Der
Datenkomprimierungsmechanismus 31b stellt die komprimierten Daten wieder her und
speichert sie in dem Datenpuffer 31a. Die in diesem Datenpuffer 31a gespeicherten Daten
werden zum Kanalschnittstellen-Protokollcontroller 31d übertragen und über die
Kanalschnittstelle an die Host-Vorrichtung.
(c-3) Datensteuerungsadapter
Fig. 28 zeigt den Aufbau des Datensteuerungsadapters 35. Der Datensteuerungsadapter 35
umfaßt den Datenpuffer 35a mit einer großen Kapazität, den
Datenkomprimierungsmechanismus 35b zur Komprimierung/Wiederherstellung der zu
übertragenden Daten, einen Wörterbuchspeicher 35c zum Assistieren der
Komprimierungs/Wiederherstellungsoperation, einen internen Busschnittstellencontroller 35b,
der mit dem internen Bus 38 verbunden ist, einen Datenvergleicher 35e zum Verifizieren
komprimierter Daten, indem die komprimierten und wiederhergestellten Daten mit den
ursprünglichen unkomprimierten Daten verglichen werden, eine Auswahlvorrichtung 35f zur
selektiven Ausgabe der Eingangsdaten an den Datenkomprimierungsmechanismus 35b oder
den Datenvergleicher 35e abhängig davon, ob es sich beim Dateneingang vom internen
Busschnittstellencontroller 35d um komprimierte oder unkomprimierte Daten handelt, eine
MPU 35g zur Steuerung dieser Hardware-Betriebsmittel durch ein Mikroprogramm, einen
Steuerungsspeicher 35h zum Speichern des Programms und einen Bus 35i.
Wenn der Kanaladapter 31 das Einschreiben der komprimierten Daten in das
Halbleiterspeichermodul 33 und der unkomprimierten Daten in das
Zusatz-Halbleiterspeichermodul 33s beendet hat, liest der Datensteuerungsadapter 35 die
komprimierten Daten aus. Diese komprimierten Daten werden als Eingangsdaten dem
Datenkomprimierungsmechanismus 35b über den internen Busschnittstellencontroller 35d und
die Auswahlvorrichtung 35f zugeführt. Der Datenkomprimierungsmechanismus 35b stellt die
komprimierten Daten wieder her und speichert die wiederhergestellten Daten in dem
Datenpuffer 35a.
Der Datensteuerungsadapter 35 liest dann die unkomprimierten Daten, die im
Zusatz-Halbleiterspeichermodul 33s gespeichert sind, aus. Diese unkomprimierten Daten
werden zum Datenvergleicher 35e über den internen Busschnittstellencontroller 35d und die
Auswahlvorrichtung 35f übertragen. Der Datenvergleicher 35e vergleicht die
wiederhergestellten Daten, die im Datenpuffer 35a gespeichert sind, mit den unkomprimierten
Daten, die aus dem Zusatz-Halbleiterspeichermodul 35s ausgelesen wurden.
Wenn eine Anormalität oder ein Fehler als Ergebnis dieses Vergleichs erkannt wird, werden
die Daten in der folgenden Weise repariert. Die unkomprimierten Daten werden aus dem
Zusatz-Halbleiterspeichermodul 33s nochmals ausgelesen und im Datenpuffer 35a über den
internen Busschnittstellencontroller 35d und die Auswahlvorrichtung 35f gespeichert. Nach
Beendigung des Auslesens der unkomprimierten Daten, komprimiert der
Datenkomprimierungsmechanismus 35b die in dem Datenpuffer 35a gespeicherten Daten und
schreibt die komprimierten Daten in das Halbleiterspeichermodul 33 über die
Auswahlvorrichtung 35f und den internen Busschnittstellencontroller 35d. Nach Beendigung
des Einschreibens der komprimierten Daten, wird nochmals der Datenvergleich in der zuvor
beschriebenen Weise ausgeführt, um die Normalität der Daten zu bestätigen.
(c-4) Backup-Plattenadapter
Fig. 29 zeigt den Aufbau des Backup-Plattenadapters 37. Der Backup-Plattenadapter 37
umfaßt einen Datenkomprimierungsmechanismus 37a zum Komprimieren/Wiederherstellen
von Daten, einen Wörterbuchspeicher 37b zum Assistieren der Komprimierungsoperation,
einen internen Busschnittstellencontroller 37c zur Steuerung der Datenübertragung über eine
interne Busschnittstelle, einen Magnetplattenschnittstellencontroller 37d, der mit der
Backup-Plattenvorrichtung 36 verbunden ist, eine Auswahlvorrichtung 37e zum selektiven
Ausgeben des Dateneingangs über den internen Busschnittstellencontroller 37c an den
Datenkomprimierungsmechanismus 37a oder den Magnetplattenschnittstellencontroller 37d und
zum selektiven Ausgeben des Ausgangs des Datenkomprimierungsmechanismus 37a oder des
Magnetplattenschnittstellencontrollers 37d an den internen Busschnittstellencontroller 37c, eine
MPU 37f zur Steuerung dieser Hardware-Betriebsmittel durch ein Mikroprogramm, einen
Steuerungsspeicher 37g zum Speichern des Programms und einen Bus 37h.
Wenn das Sicherungsspeichern (Backup) der in dem Halbleiterspeichermodul 33 gespeicherten
Daten gestartet wird, werden die über den internen Busschnittstellencontroller 37c
empfangenen Daten durch die Auswahlvorrichtung 37e an den
Datenkomprimierungsmechanismus 37c übertragen. Der Datenkomprimierungsmechanismus
37a komprimiert alle Daten einschließlich jener Daten, die bereits von einem anderen
Datenkomprimierungsmechanismus komprimiert sind, und übermittelt diese komprimierten
Daten an den Magnetplattenschnittstellencontroller 37d. Dieser
Magnetplattenschnittstellencontroller 37d schreibt die empfangenen Daten in die
Backup-Plattenvorrichtung 36 ohne zu berücksichtigen, ob es sich um komprimierte oder
unkomprimierte Daten handelt. Es ist möglich, Daten in die Backup-Plattenvorrichtung 36 zu
schreiben, indem die Auswahlvorrichtung 37e bedient wird, ohne die Daten vom
Datenkomprimierungsmechanismus 37a komprimieren zu lassen.
(c-5) Datenformat
Ein herkömmliches E/A-Hilfssystem benutzt das gleiche Datenformat wie es bei einer
normalen Magnetplatte benutzt wird, wie in Fig. 6 gezeigt, um hinsichtlich einer Magnetplatte
eine Emulation auszuführen. Das Symbol DIR stellt ein Verzeichnis dar, das am Kopf eines
Spurfelds eingeschrieben ist. Dieses Datum ist typisch für eine Halbleiterplatte und existiert
nicht in einer aktuellen Magnetplattenvorrichtung. Nach dem Verzeichnis DIR werden mehrere
Datenfelder Ri, deren jedes sich aus einem Zählbereich Ci (i = 1, 2, . . . ), einem
Schlüsselbereich Ki und einem Datenbereich Di zusammensetzt, eingeschrieben. Der
Zählbereich Ci zeichnet eine Aufzeichnungsnummer und die Längen des nachfolgenden
Schlüsselbereichs Ki und des Datenbereichs Di auf. Der Schlüsselbereich Ki ist nicht immer
notwendig, sondern zeichnet einen Schlüssel zur Suche in einem Zugriffsverfähren auf. Der
Datenbereich Di zeichnet Daten auf, die allgemein als Benutzerdaten bezeichnet werden.
In der vorliegenden Erfindung werden die Daten in dem Halbleiterspeichermodul 33
komprimiert, wobei der Verzeichnisbereich DIR, der Zählbereich Ci und der Schlüsselbereich
Ki entfernt wurden (beispielsweise nur der Datenbereich Di). Die Halbleiterplattenvorrichtung
beseitigt soviele unnötige Spaltbereiche wie möglich, statt dessen werden zusätzliche
Information für die Halbleiterplatte in dem einem Spalt entsprechenden Bereich
eingeschrieben.
Fig. 30 zeigt das Datenformat, das gemäß der vorliegenden Erfindung in ein
Halbleiterspeichermodul eingeschrieben ist. In diesem Datenformat wird ein
Identifikations-Flag Fi zur Unterscheidung zwischen komprimierten und unkomprimierten
Daten nach dem Verzeichnisbereich DIR dem Zählbereich Di und dem Schlüsselbereich Ki
eingeschrieben, und Daten Di′, die vom Datenkomprimierungsmechanismus komprimiert sind,
werden nach dem Identifikations-Flag Fi eingeschrieben.
Der Verzeichnisbereich DIR umfaßt logische Adreßinformationen d1, physikalische
Speicheradreßinformationen d2, ein Komprimierungs-Flag d3, das anzeigt, ob das Daten einer
Komprimierung unterzogen wurden, das aktuellste Datum d4 (Update-Information), an dem
die Daten in dem Spurbereich geändert oder eingeschrieben wurden, ein
Backup-Plattenbenutzungs-Flag d5, das anzeigt, daß ein Teil der Daten auf der Spur auf der
Backup-Platte 36 gespeichert sind, und ein Vergleichsfehler-Flag d6 und ein
Wiederherstellungserfolgs-Flag d7, die das Ergebnis der Verifikation durch den
Datensteuerungsadapter 35 kennzeichnen.
(c-6) Dateneinschreibsteuerung
Fig. 31 ist eine Ansicht der Betriebsweise der Dateneinschreibsteuerung.
Auf eine Halbleiterplatte wird von einer Hilfsvorrichtung in der gleichen Weise zugegriffen wie
auf eine Magnetplatte mit Hochgeschwindigkeitszugriff. D.h., daß ein Positionierungsbefehl,
der die Position für die Suche oder ähnliches angibt, ein Lesebefehl und ein Schreibbefehl zur
Ausführung einer Datenübertragung von einer Host-Vorrichtung in der gleichen Weise
abgegeben werden, wie im Fall einer herkömmlichen Magnetplatte.
Der Kanaladapter 31, der einen Positionierbefehl empfangen hat, fordert den
Betriebsmittel-Manager 32 auf, die Benutzung eines Halbleiterspeichermoduls zu erlauben.
Falls die Benutzung des Halbleiterspeichermoduls erlaubt wird, wird die Adresse des
entsprechenden Halbleiterspeichermoduls aus dem ausgewählten physikalischen
Positionierparameter berechnet. Die Verzeichnisinformation der Spur, in der die erhaltene
Adresse existiert, wird aus dem Halbleiterspeichermodul ausgelesen. Eine Verarbeitung
hinsichtlich der logischen Adreßinformation und der physikalischen Adreßinformation wird
ausgeführt.
Wenn ein Schreibbefehl von der Host-Vorrichtung nach Ende der Positionieroperation
ausgegeben wird, speichert der Kanaladapter 31 die über den
Kanalschnittstellenprotokollcontroller 31d empfangenen Daten im Datenpuffer 31a. Das MPU
31g des Kanaladapters 31 steuert die Auswahlvorrichtung 31e, um die Ausgangsseite des
Datenkomprimierungsmechanismus 31b auszuwählen, wenn die Daten dem Datenbereich Di
entsprechen.
Der Datenkomprimierungsmechanismus 31b komprimiert die im Datenpuffer 31a
gespeicherten Eingangs-/Ausgangsdaten und gibt diese komprimierten Daten als Eingangsdaten
an den internen Busschnittstellencontroller 31f. Diese komprimierten Daten werden wiederum
zum Speicherschnittstellenadapter 34 über den internen Bus übertragen und im Adreßbereich
gespeichert, der dem bestimmten Halbleiterspeichermodul 33 entspricht.
Wenn die komprimierten Daten gespeichert sind, schreibt das MPU 31g des Kanaladapters 31
das Identifikations-Flag Fi, das anzeigt, daß die Daten komprimiert sind, in das
Halbleiterspeichermodul 33 entsprechend dem Datenformat. Das MPU 31g steuert weiterhin
die Auswahlvorrichtung 31e, um die ursprünglichen Daten (unkomprimierte Daten), die im
Datenpuffer 31a gespeichert sind, zum internen Busschnittstellencontroller 31f zu übertragen,
und schreibt diese in das Zusatz-Halbleiterspeichermodul 33s ein.
Nach Beendigung des Einschreibens erneuert das MPU 31g die Update-Information, das
Identifikations-Flag, das anzeigt, daß die Daten komprimiert sind und ähnliches im
Verzeichnisbereich DIR. Nach Erneuerung des Verzeichnisbereichs DIR wird dieser an den
Kopf der Spur des entsprechenden Halbleiterspeichermoduls 33 zurückgeschrieben.
Nachdem alle Schreiboperationen hinsichtlich des Halbleiterspeichermoduls 33 und des
Zusatz-Halbleiterspeichermoduls 33s durch den Kanaladapter 31 ausgeführt sind, unterbindet
der Betriebsmittel-Manager 32 für eine bestimmte Zeit den Zugriff einer Host-Vorrichtung auf
die entsprechenden Daten, indem von der Exklusivsteuerung mit "Beschäftigt" geantwortet
wird. Der Betriebsmittel-Manager 32 befiehlt dann dem Datensteuerungsadapter 35, mit der
Verifikation der komprimierten Daten zu beginnen.
Das MPU 35g des Datensteuerungsadapters 35 liest den Verzeichnisbereich DIR der
komprimierten Daten aus dem Halbleiterspeichermodul 33 aus, und liest weiterhin die
komprimierten Daten aus. Die von dem Halbleiterspeichermodul 33 übertragenen Daten
werden dem Datenkomprimierungsmechanismus 35b als Eingangsdaten über den internen
Busschnittstellencontroller 35d und der Auswahlvorrichtung 35f zugeführt.
Der Datenkomprimierungsmechanismus 35b stellt die Eingangsdaten wieder her und speichert
diese in dem Datenpuffer 35a. Der Datenkomprimierungsmechanismus 35b liest dann die
unkomprimierten Daten aus dem Zusatz-Halbleiterspeichermodul 33s und führt diese
unkomprimierten Daten als Eingangsdaten dem Datenvergleicher 35e zu. Der Datenvergleicher
35e vergleicht die wiederhergestellten Daten mit den unkomprimierten Daten.
Falls die Normalität der Daten als Ergebnis des Vergleichs bestätigt wird, informiert der
Datensteuerungsadapter 35 den Betriebsmittel-Manager 32 über das normale Ende der
Schreiboperation ohne eine Verarbeitung, beispielsweise das Zurückschreiben des
Verzeichnisbereichs DIR, auszuführen. Der Betriebsmittel-Manager 32, der die Informationen
empfangen hat, beseitigt das zeitweise Verbot, auf die Daten mit einer Host-Vorrichtung
zuzugreifen.
Falls eine Anormalität bzw. ein Fehler in den Daten als Ergebnis des Datenvergleichs erkannt
wird, liest das MPU 35g des Datensteuerungsadapters 35 die unkomprimierten Daten aus dem
Zusatz-Halbleiterspeichermodul 33s aus. Der Datenkomprimierungsmechanismus 35b
komprimiert die Daten auf der Basis der ausgelesenen unkomprimierten Daten und schreibt die
komprimierten Daten in das Halbleiterspeichermodul 33 ein. Wenn das Einschreiben der
komprimierten Daten beendet ist, führt der Datensteuerungsadapter 35 die zuvor beschriebene
Datenverifikation aus. Falls die Normalität der in dem Halbleiterspeichermodul 33
gespeicherten komprimierten Daten wiederum durch die zweite Verifikation bestätigt wird,
werden sowohl das Vergleichsfehler-Flag d6 als auch das Normalitätswiederherstellungs-Flag
d7 auf "1" im Verzeichnisbereich DIR der komprimierten Daten gesetzt. Dann wird der
Verzeichnisbereich DIR in das Halbleiterspeichermodul 33 zurückgeschrieben. Sobald das
Zurückschreiben des Verzeichnisgebiets DIR beendet ist, wird der Betriebsmittel-Manager 32
über das Ende der Verifikation informiert, wodurch der Ablauf beendet wird. Der
Betriebsmittel-Manager 32 entfernt dann das zeitweise Verbot für die Host-Vorrichtung, auf
die Daten zuzugreifen.
Falls andererseits eine Anormalität bzw. ein Fehler als Ergebnis der Datenwiederherstellung
erkannt wird, setzt der Datensteuerungsadapter 35 das Vergleichsfehler-Flag d6 (nicht das
Normalitätswiederherstellungs-Flag d7) auf "1", und schreibt den Verzeichnisbereich DIR in
das Halbleiterspeichermodul 33 zurück. Sobald das Zurückschreiben des Verzeichnisbereichs
DIR beendet ist, wird der Betriebsmittel-Manager 32 vom Ende der Verifikation informiert,
wodurch dieser Vorgang endet. Der Betriebsmittel-Manager 32 entfernt dann das kurzzeitige
Verbot für eine Host-Vorrichtung, auf die Daten zuzugreifen.
Die zuvor beschriebene Abfolge ist dann anwendbar, solange ein Halbleiterspeichermodul
nicht überläuft. Fig. 32 ist eine Ansicht der Betriebsweise der Dateneinschreibsteuerung, falls
ein Halbleiterspeichermodul überläuft.
Falls die komprimierten Daten größer sind als die ursprünglichen Daten, ist es manchmal
physikalisch unmöglich, die komprimierten Daten in ein ausgesuchtes Halbleiterspeichermodul
33 einzuschreiben. In einem solchen Fall wird der Betriebsmittel-Manager 32 von einem
Fehler aufgrund des Überlaufs des Gebiets informiert. Wenn der Betriebsmittel-Manager diese
Fehlerinformation empfängt, wird der Kanaladapter 31 angewiesen, das Einschreiben der
komprimierten Daten in das Halbleiterspeichermodul 33 auszusetzen und statt dessen die
unkomprimierten Daten in die Backup-Plattenvorrichtung 36 einzuschreiben. Der Kanaladapter
31 unterbricht dann das Einschreiben der komprimierten Daten in das Halbleiterspeichermodul
33 und startet die kurzzeitige Speicherung der unkomprimierten Daten in der
Backup-Plattenvorrichtung 36. Der Backup-Plattenadapter 37 schaltet dann die
Auswahlvorrichtung 37e um, um die von dem Kanaladapter 31 über die interne
Busschnittstelle übertragenen Daten ohne Komprimierung in die Backup-Plattenvorrichtung 36
einzuschreiben. Da ein ausreichend großes Gebiet zur kurzzeitigen Speicherung in der
Backup-Plattenvorrichtung 36 im voraus zugeteilt ist, besteht nicht die Möglichkeit, daß die
Benutzerdaten, die bereits als Backup-Daten gespeichert sind, beschädigt werden.
Sobald das Einschreiben in die Backup-Plattenvorrichtung 36 beendet ist, schreibt das MPU
31g des Kanaladapters 31 die in dem Datenpuffer 31a gespeicherten unkomprimierten Daten
über den internen Busschnittstellencontroller 31f in das Zusatz-Halbleiterspeichermodul 33s
ein. Nach dieser Operation erneuert das MPU 31g des Kanaladapters 31 die
Update-Information d4, das Komprimierungs-Flag d3, das anzeigt, daß die Daten komprimiert
sind, und das Flag d5, das anzeigt, daß die Daten in der Backup-Plattenvorrichtung 36
gespeichert sind, und schreibt den erneuerten Verzeichnisbereich DIR in das
Halbleiterspeichermodul 33 zurück.
Sobald das Einschreiben in die Backup-Plattenvorrichtung 36 beendet ist, fordert der
Backup-Plattenadapter 37 den Betriebsmittel-Manager 32 auf, die Benutzung des
Halbleiterspeichermodul 33 zu erlauben, um die unkomprimierten Daten einzuschreiben, die
kurzzeitig im Speichermodul 33 eingespeichert wurden. Falls die Benutzung des
Halbleiterspeichermodul 33 erlaubt wird, liest der Backup-Plattenadapter 37 die
unkomprimierten Daten aus der Backup-Plattenvorrichtung 36 aus und schreibt diese in das
Halbleiterspeichermodul 33 ein. Wenn das Einschreiben beendet ist, informiert der
Backup-Plattenadapter 37 den Betriebsmittel-Manager 32 vom Ende des Einschreibens,
wodurch der Vorgang beendet ist. Der Betriebsmittel-Manager 32 beseitigt dann das zeitweise
Verbot für eine Host-Vorrichtung, auf die Daten zuzugreifen.
(c-7) Datenlesesteuerung
Fig. 33 zeigt eine erklärende Darstellung der Abfolge der Datenlesesteuerung.
Der Kanaladapter 31, der einen Positionierungsbefehl empfangen hat, fordert den
Betriebsmittel-Manager 32 auf, die Benutzung eines Halbleiterspeichermoduls in der gleichen
Weise wie beim Einschreiben zu erlauben. Falls die Benutzung des Halbleiterspeichermoduls
erlaubt wird, wird die Adresse des entsprechenden Halbleiterspeichermoduls aus den
ausgewählten physikalischen Positionierungsparametern berechnet. Die Verzeichnisinformation
der Spur, in der die erhaltene Adresse vorkommt, wird aus dem Halbleiterspeichermodul
ausgelesen. Dann wird eine Verarbeitung hinsichtlich der logischen Adreßinformation und der
physikalischen Adreßinformation ausgeführt.
Wenn ein Lesebefehl von der Host-Vorrichtung nach Beendigung der Positionierung
ausgegeben wird, startet die MPU 31g des Kanaladapters 31 mit dem Auslesen der Daten aus
dem Halbleiterspeichermodul 33, in dem die Daten gespeichert sind. Die MPU 31g prüft, ob
die Daten komprimiert oder unkomprimiert sind, indem auf das Identifikations-Flag Fi Bezug
genommen wird. Falls die Daten komprimiert sind, liefert die MPU 31g die komprimierten
Daten über den internen Busschnittstellencontroller 31f und die Auswahlvorrichtung 31e an
den Datenkomprimierungsmechanismus 31e. Der Datenkomprimierungsmechanismus 31b stellt
die Daten wieder her und überträgt sie über den Datenpuffer 31a und den
Datenschnittstellen-Protokollcontroller 31d an die Kanalschnittstelle. Falls andererseits die
Daten unkomprimiert sind, speichert die MPU 31g die unkomprimierten Daten direkt im
Datenpuffer 31a. Anschließend überträgt die MPU 31g die Daten über den
Datenschnittstellen-Protokollcontroller 31d an die Kanalschnittstelle.
Bei der zuvor genannten Leseoperation prüft die MPU 31g des Kanaladapters 31 den Status
der Daten basierend auf dem Inhalt des Verzeichnisbereichs DIR. D.h., daß die MPU 31g den
Status der Daten prüft basierend auf den Flags d5 bis d7, die vom Kanaladapter 31 oder dem
Datensteuerungsadapter 35 zum Zeitpunkt der Dateneinschreibung eingeschrieben wurden, und
übermittelt den Status an die Host-Vorrichtung. Wenn beispielsweise das
Backup-Benutzungs-Flag d5 auf "1" gesetzt ist, ist das Auslesen der normalen Daten möglich.
Da jedoch die Gefahr eines zu kleinen Gebiets im Halbleiterspeichermodul besteht, wird eine
Warnung ausgegeben. Wenn das Vergleichsfehler-Flag d6 auf "1" gesetzt ist und das
Wiederherstellungs-Flag d7 auf "0" gesetzt ist, wird von fehlerhaften bzw. anormalen Daten in
der gleichen Weise wie bei der Datenverifikation informiert, so daß die Daten erneut
eingeschrieben und übertragen werden.
(c-8) Back-up-Steuerung
Da ein Halbleiterspeicher ein flüchtiges Aufzeichnungsmedium ist, werden normalerweise die
Daten im Halbleiterspeicher in einer Magnetplattenvorrichtung gesichert (Backup), falls das
System gestoppt wird, oder sich in einem Notfall befindet. Dabei handelt es sich bei der
Magnetplattenvorrichtung um ein nicht-flüchtiges Aufzeichnungsmedium.
Wie in Fig. 34 gezeigt, werden Gebiete 36a bis 36n und 36s, die Halbleiterspeichermodulen
33a bis 33n und 33s entsprechen, und ein Zwischenspeichergebiet 36p im voraus der
Backup-Plattenvorrichtung 36 zugewiesen. Jedes der Gebiete 36a bis 36n und 36s wird
letztlich in Gebiete für Spuren unterteilt, deren jede mit der im Halbleiterspeichermodul
emulierten Spur übereinstimmt. Die Backup-Plattenvorrichtung 36 enthält auch Gebiet 36g und
36r zum Speichern der Zeit, bei der die Backup-Operation endet und die Zeit, bei der die
Zurückschreibeoperation (Operation zum Zurückschreiben der Daten von der
Backup-Plattenvorrichtung in das Halbleiterspeichermodul) endet. Falls eine Backup-Operation
durchgeführt werden soll, gibt der Backup-Plattenadapter 37 die von den
Halbleiterspeichermodulen 33a bis 33n und 33s über den internen Busschnittstellencontroller
37c und die Auswahlvorrichtung 37d übertragenen Daten an den
Datenkomprimierungsmechanismus 37a aus. Der Datenkomprimierungsmechanismus 37a
komprimiert gemeinsam die Eingangsdaten und schreibt die komprimierten Daten in die
entsprechenden Bereiche der Backup-Plattenvorrichtung 36 über den
Magnetplattenschnittstellencontroller 37d.
Der Backup-Plattenadapter 37 schreibt das Datum, das den Fertigstellungszeitpunkt der
Backup-Operation angibt, in das Gebiet 36g der Backup-Plattenvorrichtung 36 und liest und
speichert intern das Datum, an dem die Daten zurückgeschrieben wurden. Falls normal eine
Backup-Operation angewiesen wird, vergleicht der Backup-Plattenadapter 37 die gespeicherte
Zeit mit der Update-Information des Verzeichnisses, das im Kopf der Spur des
Halbleiterspeichermoduls gespeichert ist. Falls das Datum des Verzeichnisses älter ist als das
neueste Backup-Fertigstellungsdatum, wird das auf der Spur gespeicherte Datum nicht in die
Backup-Plattenvorrichtung 36 eingeschrieben. Auf diese Weise ist es möglich, die Backup-Zeit
zu verkürzen.
(c-9) Modifikation
Obwohl nur ein Kanaladapter 31, ein Speicherschnittstellenadapter 34 und ein
Backup-Plattenadapter 37 in dem zuvor beschriebenen Ausführungsbeispiel benutzt werden,
kann die Anzahl dieser Vorrichtungen erhöht werden.
Obwohl nur ein Datensteuerungsadapter 35 in der Halbleiterplattenvorrichtung in diesem
Ausführungsbeispiel vorgesehen ist, können mehrere Datensteuerungsadapter vorgesehen sein,
um eine Parallelverarbeitung zu ermöglichen.
Obwohl die Daten für jede Spur in der Backup-Plattenvorrichtung 36 in diesem
Ausführungsbeispiel als Einheit gespeichert werden, können die Daten für jeden Zylinder oder
die Daten für jeden Sektor als Einheit gespeichert werden.
Obwohl in diesem Ausführungsbeispiel ein Zusatz-Halbleiterspeichermodul zum Speichern
unkomprimierter Datenvorgesehen ist, kann ein Teil jedes Halbleiterspeichermoduls als
Zusatz-Halbleiterspeichermodul statt dessen benutzt werden.
(c-10) Vorteile
Da wie zuvor beschrieben, ein Teil der Daten vor der Speicherung komprimiert wird, ist es
möglich, eine Halbleiterplattenvorrichtung zum Speichern einer im Vergleich zu der Kapazität
eines Halbleiterspeichers größeren Datenmenge vorzusehen.
Da ein Datenpuffer mit einer großen Kapazität innerhalb des Kanaladapters vorgesehen ist, ist
es möglich, Daten zu übertragen, während die Datenübertragungsgeschwindigkeit hinsichtlich
einer Host-Vorrichtung konstant gehalten wird. Dadurch kann die Belastung, die verursacht
wird, wenn Daten verarbeitet werden, gelindert werden.
Da ein Datensteuerungsadapter benutzt wird, ist es zusätzlich möglich, die Normalität der
komprimierten Daten innerhalb des Hilfssystems zu verifizieren ohne die Verbindung mit
einem Host-Gerät zu benötigen. Selbst wenn fehlerhafte Daten als Ergebnis der Verifikation
erkannt werden, ist es möglich, die Daten innerhalb des Hilfssystems wiederherzustellen.
Da Update-Informationen in dem Verzeichnisbereich und in der Backup-Plattenvorrichtung
gespeichert werden, wird darüber hinaus die für das Datenbackup benötigte Zeit verkürzt.
(d) Initialisierung des Speichers
(d-1) Schematische Erläuterung der Initialisierung
Fig. 35A und 35B sind erläuternde Darstellungen eines herkömmlichen
Speicherinitialisierungsverfahrens, das bei einer Halbleiterplatte oder ähnlichem in einem
E/A-Hilfssystem angewendet wird. In der Fig. 35A stellt das Symbol INCT einen
herkömmlichen Initialisierungsadreßzähler dar, wobei die Symbole CA0 bis CAn die
Spaltenadressen von (n + 1) Bits darstellen, und RA0 bis RAm die Zeilenadressen von
(m + 1) Bits. Ein dynamisches RAM, das ein flüchtiger Speicher ist, wird sowohl mit den
Zeilenadressen, die eine Adresse in Zeilenrichtung des Speichers darstellen sowie mit
Spaltenadressen, die eine Adresse in Spaltenrichtung des Speichers kennzeichnen, versorgt. In
dem herkömmlichen Initialisierungsadreßzähler ist das niederwertigste Bit des
Zählerausgangssignals CA0 und das höchstwertigste Bit RAM. Mit Hilfe des Zählers INCT
werden serielle Adreßsignale in aufsteigender Folge erzeugt. In dem Zähler INCT werden
Initialisierungsdaten in die Speicherzellen eingeschrieben, wobei die Reihenfolge durch die
Pfeile mit durchgezogenen Linien in Fig. 35b gekennzeichnet ist.
Das dynamische RAM muß in konstanten Zeitabständen aufgefrischt werden. Um das
dynamische RAM aufzufrischen, werden die Daten aller Speicherzellen in einer Zeile , die
durch die Adresse RA gekennzeichnet ist, von einem Leseverstärker SA im Speicher gelesen,
wie in Fig. 36A gezeigt, und in die Speicherzellen in der gleichen Zeile zurückgeschrieben,
um die in den Zellen gespeicherten Ladungen über einem konstanten Wert zu halten. Diese
Operation wird hinsichtlich der Daten aller Zeilen in einem konstanten Zeitabstand wiederholt.
Falls diese Auffrischung der Daten nicht für alle Zellen in einem konstanten Zeitabstand
durchgeführt wird, gehen die im Speicher gespeicherten Daten verloren. Falls Daten in dem
Speicher eingeschrieben werden ergibt sich die gleiche Wirkung wie beim Auffrischen. D.h.,
daß, falls Daten in eine Zelle in Fig. 36B eingeschrieben werden, die Daten in der
Zeile , die extern durch die Zeilenadresse RA bezeichnet sind, in den Leseverstärker SA
gelesen werden. Nachdem die Daten in der durch die Spaltenadresse CA gekennzeichneten
Zelle durch extern zugeführte Daten erneuert wurden, werden alle Daten in die
Speicherzellen in der gleichen Zeile zurückgeschrieben. Auf diese Weise wird durch das
Dateneinschreiben die gleiche Wirkung erzeugt wie beim Auffrischen der Daten in allen Zellen
der Zeile .
Nun wird auf die Fig. 35B Bezug genommen. Falls die Initialisierungsdaten nacheinander in
die Zellen in der Zeile des Speichers eingeschrieben werden, läuft die Zeit zum
Aufrechterhalten der Ladungen aus, bevor die Daten in die Zellen der Zeile eingeschrieben
sind, so daß die Ladungen in den Zellen der Zeile verlorengehen. Aus diesem Grund ist die
in Fig. 36A erläuterte Auffrischung während der Initialisierung beim herkömmlichen
Speicherinitialisierungsverfahren notwendig, wodurch die Initialisierungszeit verlängert wird.
Andererseits ist im Initialisierungsadreßzähler INCT der vorliegenden Erfindung, wie sie in
Fig. 37A gezeigt ist, das niederwertigste Bit des Zählerausgangssignals RA0 und das
höchstwertigste Bit CAn. Durch Benutzung dieses Zählers sind die erzeugten Adressen im
Vergleich zu jenen von einem herkömmlichen Zähler erzeugten nicht seriell, und Daten
werden fortlaufend in die Speicherzellen in der Reihenfolge der Spalten eingeschrieben, wie es
durch die Pfeile mit durchgehenden Linien in Fig. 37b angezeigt ist. Entsprechend diesem
Dateneinschreibverfahren, ist die zum Einschreiben der Daten in die Zellen bis und
kürzer als der Zeitabstand zwischen zwei Auffrischungsoperationen, so daß die Ladungen in
der Speicherzelle unverändert gespeichert werden, bis die Daten in die Speicherzelle
eingeschrieben sind. Zum Zeitpunkt des Einschreibens der Daten in die Speicherzelle , wird
die Speicherzelle , die in der gleichen Zeile wie die Speicherzelle ist, aufgrund des
Auffrischungseffekts, der in Fig. 36B erläutert wurde, aufgefrischt. D.h., daß es gemäß dem
Initialisierungsverfahren, das den Initialisierungsadreßzähler der vorliegenden Erfindung
benutzt, nicht notwendig ist, eine Auffrischung individuell auszuführen, wodurch die
Initialisierungszeit um dieses Maß verkürzt wird.
(d-2) Aufbau der Ausführungsbeispiele des Speicherinitialisierungsverfahrens der Erfindung
Fig. 38 zeigt den Aufbau eines Ausführungsbeispiels eines Speicherinitialisierungsverfahrens
der vorliegenden Erfindung. In Fig. 38 kennzeichnet die Bezugsziffer 41 einen flüchtigen
Speicher, wie beispielsweise ein dynamisches RAM, der eine Auffrischung benötigt, 42 einen
Zugriffscontroller, 43 einen Initialisierungsadressenerzeuger, 44 einen Datenerzeuger und 45
einen Adreßumschaltbereich. In dem Initialisierungsadreßerzeuger 43 kennzeichnet die
Bezugsziffer 43a einen Aufwärtszähler von (n + 1) Bits zur Ausgabe von
Initialisierungsspaltenadressen CA0 bis CAn und 43b einen Aufwärtszähler von (m + 1) Bits
zur Ausgabe von Initialisierungszeilenadressen RA0 bis RAm. Beim Start der Initialisierung
geben beide Zähler 43a und 43b eine logische Null aus. Im Datenerzeuger 44 bezeichnen die
Bezugsziffer 44a ein Register zum Speichern der Initialisierungsdaten, 44b eine
Auswahlvorrichtung zum Auswählen der Initialisierungsdaten oder der Schreibdaten und 44c
ein Datenspeicherregister. Im Adreßumschaltbereich 45 bezeichnen die Bezugsziffer 45a eine
Auswahlvorrichtung zum Umschalten zwischen einer Initialisierungsspaltenadresse und einer
Datenzugriffsspaltenadresse, 45b eine Auswahlvorrichtung zum Umschalten zwischen einer
Initialisierungszeilenadresse und einer Datenzugriffszeilenadresse und 45c eine
Auswahlvorrichtung zur Auswahl einer Zeilenadresse oder einer Spaltenadresse abhängig von
einem Umschaltsignal SWS.
Fig. 39 ist ein Zeitdiagramm des Betriebs des in Fig. 38 gezeigten Ausführungsbeispiels, das
die Abläufe der Zähler 43a, 43b und der Auswahlvorrichtung 45c zeigt.
Wenn der Spannungsschalter eingeschaltet wird und ein Initialisierungssignal IST erzeugt
wird, schaltet die Auswahlvorrichtung 44b um von einem Datensignal DT von einem
Host-Modul als Eingangssignal auf ein Initialisierungsschreibdatensignal IDT, das von dem
Register 44a ausgegeben wird, und speichert das Initialisierungsschreibdatensignal IDT im
Register 44c. Die Auswahlvorrichtung 45a schaltet die Spaltenadressen CA0′ bis CAn′ als
Eingangssignal von einem Host-Modul auf die Initialisierungsspaltenadressen CA0 bis CAn als
Ausgangssignal vom Zähler 43a, und die Auswahlvorrichtung 45b schaltet die Zeilenadressen
RA0′ bis RAm′ als ein Eingangssignal vom Host-Modul um auf die
Initialisierungszeilenadressen RA0 bis RAm als ein Ausgangssignal vom Zähler 43b.
Ein UND-Gatter 43c gibt ein Taktsignal CL an den Zähler 43b und an ein UND-Gatter 43d.
Da ein Übertragsignal CRY vom Zähler 43b im Zustand einer logischen 0 verbleibt, wird das
Taktsignal CL nicht dem Zähler 43a zugeführt. Der Zähler 43b zählt aufwärts entsprechend
dem Taktsignal CL. Da das Umschaltsignal SWS zur Hälfte der Taktsignalperiode CL
wechselt, gibt die Auswahlvorrichtung 45c abwechselnd ein Adreßignal AD, das sich aus der
Zeilenadresse RA und der Spaltenadresse CA zusammensetzt, während einem Takt aus, wie
dies in Fig. 39 gezeigt ist. Zu dieser Zeit werden Daten in der Reihenfolge der
Speicherzellen bis (in der seriellen Reihenfolge der Zeilen) in Fig. 37B eingeschrieben.
Wenn der Zähler 43b aufwärts zählt und alle Initialisierungszeilenadreßignale Ra0 bis Ram "1"
werden, wird das Übertragsignal CRY des Zählers 43b ausgegeben und das UND-Gatter 43b
geöffnet. Der Zähler 43a zählt beim nächsten Takt aufwärts, und alle Ausgangssignale des
Zählers 43b werden logisch "0". Deshalb wird das Übertragsignal CRY wieder logisch 0.
Während der Zähler 43b aufwärts zählt, werden Daten in der Reihenfolge der Speicherzelle
bis in Fig. 37b eingeschrieben. Wenn die Daten in der zweiten Spalte eingeschrieben
werden, werden die Speicherzellen bis aufgefrischt aufgrund des zuvor beschriebenen
Auffrischungseffekts.
Dieser Ablauf wird wiederholt, und wenn alle Ausgangssignale der Zähler 43a und 43b logisch
"1" werden (in Fig. 37B in Zelle gezeigt), werden beide Übertragsignale CRY′, CRY der
Zähler 43a und 43b "1". Ein Initialisierungsendsignal IED wird als Ausgangssignal eines
UND-Gatters 43e ausgegeben und das Host-Modul wird vom Ende der Initialisierung des
Speichers 41 informiert.
Fig. 40 zeigt den Aufbau eines anderen Ausführungsbeispiels eines
Speicherinitialisierungsverfahrens der vorliegenden Erfindung. In jedem Speichermodul 40₁ bis
40₄ werden die gleichen Bezugszeichen für die Elemente benutzt, die mit denjenigen des in
Fig. 38 gezeigten Ausführungsbeispiel übereinstimmen. In diesem Ausführungsbeispiel kann
der Zugriffscontroller 46 auf jedes der Speichermodule 40₁ bis 40₄ separat voneinander
zugreifen. Wenn beispielsweise das zweite Speichermodul 40₂ von oben hinzugefügt wird, da
beispielsweise eine gedruckte Leiterplatte eingesetzt wird, übermittelt der Zugriffscontroller 46
ein Initialisierungsbefehlssignal ISTb in Antwort auf eine Anforderung zur Initialisierung von
einem Host-Modul. Das Flipflop 47 im Speichermodul 40₂ wird dann gesetzt und der
Zugriffscontroller 42 im Speichermodul erzeugt eine Initialisierungsadresse, wie zuvor
beschrieben, um die Initialisierung des Speichers auszuführen. Wenn die Initialisierung
beendet ist, wird ein Initialisierungsendsignal IEDb geliefert, das Flipflop zurückgesetzt und
der Zugriffscontroller 46 über das Ende der Initialisierung informiert. Da in diesem
Ausführungsbeispiel die Auffrischung bei der Initialisierung nicht notwendig ist, und die
Initialisierung des Speichermoduls 40₂ als einzelne Einheit ausgeführt wird, kann der
Zugriffscontroller 46 auf ein anderes Speichermodul während der Initialisierung zwischen der
Übertragung des Initialisierungsbefehlssignals IEDb und dem Empfang des
Initialisierungsendsignals IEDb zugreifen.
Es ist auch möglich, einen anderen Zugriffscontroller 46 (nicht gezeigt) vorzusehen, so daß die
beiden Zugriffscontroller individuell auf mehrere Speichermodule 40₁ bis 40₄ zugreifen
können. Falls bei diesem Aufbau ein Speichermodul hinzugefügt wird, da beispielsweise eine
gedruckte Leiterplatte eingesetzt wird, überträgt einer der Zugriffscontroller 46s die
Initialisierungsbefehlssignale ISTa bis ISTd. Danach wird die Initialisierung des gewählten
Speichermoduls als eine einzelne Einheit ausgeführt. Deshalb können zwei Zugriffscontroller
46 eine Anforderung zum Zugriff auf ein Host-Modul verarbeiten, selbst während der
Initialisierung des Speichermoduls.
(d-3) Initialisierungsverfahren, wenn ein Hochgeschwindigkeitszugriff möglich ist
Um eine Hochgeschwindigkeits-Initialisierung auszuführen, werden ein dynamisches RAM,
das einen Hochgeschwindigkeitszugriff, beispielsweise in einem Nippelmodus und einem
Hochgeschwindigkeitsseitenmodus zuläßt, eingebracht. Im Nippelmodus oder einem
Hochgeschwindigkeitsseitenmodus ist es möglich, Daten in aufeinanderfolgenden vier
Speicherzellen in einer Zeile oder irgendwelche vier Zellen in einer Zeile
auszulesen/einzuschreiben. Fig. 41 zeigt diesen Aufbau eines Initialisierungsadreßzählers, der
in einem Hochgeschwindigkeitsseitenmodus benutzt wird. Der Initialisierungsadreßzähler
besteht aus einem Zähler 51 von 2 Bits, einem Zähler 52 von (n-1) Bits, einem Zähler 53 von
(m + 1) und UND-Gattern 54 bis 56.
Ein Taktsignal CL wird dem Zähler 51 konstant zugeführt. Ein Taktsignal CL wird dem
Zähler 53 nur zugeführt, wenn ein Übertragsignal CRY1 vom Zähler 51 (alle Ausgangssignale
des Zählers 51 sind logisch "1") ausgegeben wird. Ein Taktsignal CL wird dem Zähler 52
dann zugeführt, wenn das Übertragsignal CRY1 und ein Übertragsignal CRY3 gleichzeitig von
den Zählern 51 bzw. 53 ausgegeben werden. Der Zähler 51 gibt die unteren 2 Bits CA0, CA1
der Spaltenadresse aus, der Zähler 52 gibt die oberen (n-1) Bits CA2 bis CAn der
Spaltenadresse aus, und der Zähler 53 gibt die Zeilenadressen RA0 bis RAm von (m + 1) Bits
aus. Falls alle Übertragsignale CRY1 bis CRY3 der Zähler 51 bis 53 ausgegeben werden, wird
das Ausgangssignal IED des UND-Gatters 54 logisch "1", das das Ende der Initialisierung
anzeigt.
Die Daten werden während der Initialisierung in die Speicherzellen in der Reihenfolge von
bis eingeschrieben, indem der Initialisierungsadreßzähler benutzt wird, wie in Fig. 42
gezeigt. Die in die Speicherzellen bis eingeschriebenen Daten werden aufgefrischt,
wenn die Daten in die Speicherzellen bis eingeschrieben werden. Die für das
Einschreiben der Daten in die Zellen bis benötigte Zeit ist kürzer als der Zeitabstand
zwischen zwei Auffrischungsoperationen.
Fig. 43 zeigt den Aufbau eines weiteren Ausführungsbeispiels eines
Speicherinitialisierungsverfahrens entsprechend der vorliegenden Erfindung, in dem der
Speicher 41 in mehrere Speicherblöcke 41a bis 41d aufgeteilt wird. In diesem Fall enthält das
Adreßsignal AD von einem Host-Modul Spaltenadreßsignale CA0′ bis CAn′,
Zeilenadreßsignale RA0′ bis RAm′ und ein Signal BSL zur Auswahl eines Speicherblocks.
Die Auswahlvorrichtung 45d gibt eines der Auswahlsignale SLa bis SLd aus basierend auf dem
Signal BSL, so daß auf einem der Speicherblöcke 41a bis 41d, die das Auswahlsignal SLa bis
SLd empfangen haben, zugegriffen wird. Die Auswahl einer der Speicherblöcke 41a bis 41d
gleichzeitig mit der Übertragung des Adreßsignals ist zum Zeitpunkt der Initialisierung
notwendig. Der Initialisierungsadreßzähler 43 besitzt deshalb einen Aufbau, wie er
beispielsweise in Fig. 44 gezeigt ist. Der Initialisierungsadreßzähler 43 wird erzeugt, indem
ein Zähler 57 von 2 Bits, ein Dekodierer 58 zum Dekodieren der Ausgangssignale des Zählers
57 und UND-Gatter 59a, 59b zu dem in Fig. 41 gezeigten Aufbau hinzugefügt werden, unter
der Annahme, daß der zuvor beschriebene Hochgeschwindigkeitsseitenmodus benutzt wird.
Ein Taktsignal CL wird dem Zähler 51 konstant zugeführt, und ein Taktsignal CL wird dem
Zähler 53 nur zugeführt, wenn ein Übertragsignal CRY1 vom Zähler 51 ausgegeben wird. Ein
Taktsignal CL wird dem Zähler 57 nur zugeführt, wenn das Übertragsignal CRY1 und ein
Übertragsignal CRY3 vom den Zählers 51 bzw. 53 gleichzeitig ausgegeben werden, und ein
Taktsignal CL wird dem Zähler 52 nur zugeführt, wenn das Übertragsignal CRY1 ein
Übertragsignal CRY2 und ein Übertragsignal CRY4 gleichzeitig von Zählern 51, 52 bzw. 57
ausgegeben werden.
In diesem Initialisierungsverfahren, das den Initialisierungsadreßzähler 43 benutzt, werden die
Daten in die Speicherzellen in der in Fig. 45 gezeigten Reihenfolge eingeschrieben. Die
internen Zellen der Speicherblöcke 41a bis 41d, wie in Fig. 43 gezeigt, sind in Fig. 45
dargestellt. Daten werden in die Zellen bis in gleicher Weise wie in Fig. 43 gezeigt,
eingeschrieben. Nachdem die Daten in die Zelle eingeschrieben sind, ändert sich der
Ausgang des Zählers 57 und der Speicherblock 41b wird ausgewählt, so daß die Daten dann in
die Zelle des Speicherblocks 41b eingeschrieben werden. Nachfolgend werden Daten in die
Speicherblöcke 41c und 41d in gleicher Weise eingeschrieben. Wenn das Einschreiben der
Daten in den Speicherblock 41d beendet ist, wird der Speicherblock 41a wieder ausgewählt, da
jedoch der Zähler 52 dann aufwärts zählt, werden die Daten in die Speicherzelle ′
eingeschrieben. Da die Zellen bis während des Einschreibens der Daten in die Zelle ′
bis ′ aufgefrischt werden, besteht nicht die Möglichkeit, den Inhalt der Speicherzellen bis
zu verlieren.
(d-4) Vorteile
Während der Initialisierung, die eine Auffrischung benötigt, verhindert die Erzeugung der
Adressen entsprechend einer spezifischen Regel die individuellen Auffrischungsoperationen,
wodurch die Initialisierungszeit verkürzt wird.
Zusätzlich können ein Host-Modul und der Zugriffscontroller die Initialisierung ohne
Auswirkung auf die Auffrischung ausführen. Es kann verhindert werden, daß die
Speicherzugriffsleistung aufgrund der Initialisierung vermindert wird, wodurch die
Leistungsfähigkeit der Informationsverarbeitungsvorrichtung erhöht wird.
Wie zuvor beschrieben, ist es erfindungsgemäß nicht notwendig, stationär eine große
Exklusivsteuerungstabelle für den Maximalaufbau eines E/A-Hilfssystems vorzubereiten im
Gegensatz zu einem herkömmlichen E/A-Hilfssystem. Eine Exklusivsteuerungstabelle genügt,
indem nur die momentan mit dem E/A-Hilfssystem verbundenen Host-Schnittstellen aufgelistet
sind. Es ist deshalb möglich, die Größe der Exklusivsteuerungstabelle zu reduzieren und damit
auch den Speicherbedarf für diese Tabelle. Da die logische Pfadsteuerungstabelle LPT in
einem nicht-flüchtigen Speicher gespeichert wird, der den Inhalt selbst dann nicht verliert,
wenn die Spannungsversorgung ausgeschaltet wird, und eine logische Pfadnummer auf der
Basis der logischen Pfadsteuerungstabelle LPT zugewiesen wird, ist es möglich, die
Zuordnung einer logischen Pfadnummer vor dem Spannungsausfall wiederherzustellen, so daß
die gleiche Umgebung zum Zeitpunkt der Analyse des Fehlers reproduziert werden kann bzw.
ein Reproduktionstest des Fehlers ausgeführt werden kann. Erfindungsgemäß ist es auf diese
Weise möglich, die Leistungsfähigkeit des E/A-Hilfssystems zu erhöhen.
Da erfindungsgemäß ein Teil der Daten vor der Speicherung komprimiert wird, ist es möglich,
eine Halbleiterplattenvorrichtung zum Speichern einer großen Datenmenge vorzusehen im
Vergleich zu der Kapazität eines Halbleiterspeichers. Zum Zeitpunkt der Datenkompression ist
es möglich, Daten zu komprimieren, während die Datenübertragungsgeschwindigkeit
hinsichtlich einer Host-Vorrichtung konstant gehalten wird und dadurch die durch die
Kompression der Daten verursachte Belastung gelindert wird, da ein Datenpuffer mit einer
großen Kapazität innerhalb des Kanaladapters vorgesehen ist. Es ist möglich, die Normalität
der komprimierten Daten innerhalb des Hilfssystems zu verifizieren ohne die Verbindung mit
einem Host-Gerät zu benötigen. Selbst wenn anormale Daten oder Fehlerdaten als Ergebnis
der Verifikation erkannt werden, ist es möglich, die Daten im Hilfssystem wieder herzustellen.
Da eine solche Datenkomprimierung eine große Kapazität der zu speichernden Daten erlaubt,
ist es möglich, die Leistungsfähigkeit des E/A-Hilfssystems zu erhöhen.
Falls erfindungsgemäß die Initialisierungsdaten in einem flüchtigen Speicher, der für jede
Zeile eine Auffrischung benötigt, eingeschrieben werden, werden die Initialisierungsdaten in
alle Speicherzellen einer i-ten Spalte eingeschrieben, während nacheinander die Zeilenadressen
RA in einer aufsteigenden Reihenfolge erzeugt werden, wobei die Spaltenadresse CA auf
einem konstanten Wert i gehalten wird. Der Einschreibschritt der Initialisierungsdaten wird in
der gleichen Weise bei aufeinanderfolgenden Spalten wiederholt, während die Spaltenadresse
CA schrittweise erhöht wird. Da die Auffrischung und das Dateneinschreiben gleichzeitig
ausgeführt werden, ist es nicht notwendig, getrennt vom Dateneinschreiben die Auffrischung
durchzuführen, falls die zur Einschreibung der Daten benötigte Zeit kürzer ist als der
Zeitabschnitt zwischen zwei Auffrischungsoperationen. Dadurch verkürzt sich die
Initialisierungszeit. Falls ein Hochgeschwindigkeitsspeicher benutzt wird, werden die
Spaltenadressen CA in eine obere Spaltenadresse und eine untere Spaltenadresse aufgeteilt, und
die Initialisierungsdaten werden in die Speicherzellen eingeschrieben, während
aufeinanderfolgend untere Spaltenadressen in aufsteigender Reihenfolge erzeugt werden, wobei
die obere Spaltenadresse und die Zeilenadresse RA festgehalten werden. Die
Initialisierungsdaten werden dann in gleicher Weise in die nachfolgende Zeile eingeschrieben.
Nachdem die Initialisierungsdaten in alle Zeilen eingeschrieben sind, wird das Einschreiben
der Daten wiederholt, während die obere Spaltenadresse schrittweise um eins erhöht wird. Mit
diesem Verfahren kann ebenfalls eine separate Auffrischung vermieden werden, wodurch sich
die Initialisierungszeit verkürzt. Erfindungsgemäß ist es auf diesem Wege möglich, die
Leistungsfähigkeit des E/A-Hilfssystems zu erhöhen.