DE4447853C2 - Storage system input=output system with exclusive controller - Google Patents

Storage system input=output system with exclusive controller

Info

Publication number
DE4447853C2
DE4447853C2 DE4447853A DE4447853A DE4447853C2 DE 4447853 C2 DE4447853 C2 DE 4447853C2 DE 4447853 A DE4447853 A DE 4447853A DE 4447853 A DE4447853 A DE 4447853A DE 4447853 C2 DE4447853 C2 DE 4447853C2
Authority
DE
Germany
Prior art keywords
data
semiconductor memory
memory module
compressed
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE4447853A
Other languages
German (de)
Inventor
Shigeo Konno
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP5232677A external-priority patent/JP2972501B2/en
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE4447853C2 publication Critical patent/DE4447853C2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Abstract

A large computer system has multiple control processors that use common data and freely exchange information. For this an input/output system with memory capability is provided. The system has channel adapters (21a-21c) that connect with a common I-O memory (22) and to an exclusive operations management controller (23). The controller has a control table with a logical channel number listed and an indication of whether the channel is busy. This is stored in non-volatile memory to protect against power loss. Requests for access by processors involve the accessing of the table and the setting of flags.

Description

Die vorliegende Erfindung betrifft ein E/A-Hilfssystem und ein Datenspeicherverfahren in einem E/A-Hilfssystem.The present invention relates to an auxiliary I / O system and a data storage method in an auxiliary I / O system.

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.A new, significantly enlarged large computer system is made up of several Central processing units (CPU) together. In such a system the common one is Use of data and the exchange (communication) of data between several CPUs necessary. For this reason, an auxiliary I / O system with an external Storage unit needed, which in turn with multiple host interfaces (or host or Main interfaces) should be provided.

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.To meet these requirements, the auxiliary I / O system has a variety of Input / output controllers (Ca: channel adapter) with multiple input / Output interfaces connected to the host CPUs. To access multiple Controlling CPUs exclusively is the auxiliary I / O system with an exclusive control manager (RM: Resource Manager) with an exclusive control table.

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 der 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 mit der Schnittstelle zwischen der CPU 1a (1b) und einem Magnetplattencontroller überein. 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. Fig. 1 shows the structure of a semiconductor disk device, for example an I / O subsystem. In Fig. 1, reference numerals 1 a, 1 b each designate a CPU, 2 a semiconductor plate controller and 3 a semiconductor plate with a plurality of semiconductor memory modules 3 a, 3 b, 3 c,. , .. The semiconductor disk device has the same structure (command code, data transmission method, etc.) as that of a magnetic disk device, except that the magnetic disk as a recording medium is replaced by a semiconductor memory. Therefore, the interface between the CPU 1 a ( 1 b) and the semiconductor disk controller 2 completely matches the interface between the CPU 1 a ( 1 b) and a magnetic disk controller. This semiconductor disk device has the advantage that quick access is possible since the movement of the head required for a magnetic disk is unnecessary and that the software means between the CPU and the magnetic disk controller can be used unchanged.

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.In the semiconductor disk controller 2, the reference numerals 2 designate a and 2 b are each a channel adapter CA with a single or multiple interfaces (Host Interface) from and to a host apparatus (CPU), 2 c and 2 d are each a storage interface adapter for controlling the writing and reading out the data on or from the semiconductor plate 3 , 2 e, a resource manager RM with an exclusive control table ECT, which executes an exclusive control to enable the host interface to use the semiconductor module 3 a, 3 b or 3 c if another host interface does not do so, while excluding use if another host interface uses the semiconductor module. Exclusive control is carried out in each semiconductor memory module.

Zwei physikalische Schnittstellen (physikalische ports, Anschlußstellen für periphere Geräte) 2a0, 2a1 (2b0, 2b1) 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.Two physical interfaces (physical ports, connection points for peripheral devices) 2 a 0 , 2 a 1 ( 2 b 0 , 2 b 1 ) are provided between the channel adapter 2 a ( 2 b) and the CPU 1 a ( 1 b). The exclusive control table ECT of the resource manager 2 e records whether each of the semiconductor memory modules 3 a, 3 b, 3 c (device number 0 to 2 ) is occupied by a combination (path) of a channel adapter (channel number) and a physical interface that, how shown in Fig. 2, is placed on each channel adapter. There are four different types of paths (for example, (00), (01), (10) and (11) in the semiconductor plate controller 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 2b1 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.Is appropriate in this I / O subsystem a command to access the semiconductor memory module 3 b of the CPU 1b to the channel adapter 2 b via the physical interface 2 b 1 is output, such as calls, the channel adapter 2 b the resource manager 2 e, which To allow use of the memory module 3 b. If the resource manager 2 e receives the request for use, it is checked whether the semiconductor memory module 3 b is used via a different path by referring to the exclusive control table ECT. If the answer is YES, the resource manager 2 e does not allow the channel adapter 2 b to use the semiconductor memory module. On the other hand, if the answer is NO, the resource manager 2 e allows the channel adapter 2 b to use the semiconductor memory module, and at the same time sets a flag (flag) that indicates "occupied" in the field of the semiconductor memory module 3 b in accordance with the path ( 11 ). The channel adapter 2 b, which was allowed to use the semiconductor memory module 3 b, then receives data from the CPU 1 b via the physical interface 2 b, and writes this data into the semiconductor memory module 3 b via the memory interface adapter 2 d. As soon as the write operation has ended, the resource manager 2 e changes the “busy” flag with respect to the path ( 11 ) to a flag that indicates “free”.

Probleme in der ExklusivsteuerungExclusive control problems

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.As previously described, in the conventional I / O subsystem, a table or Table section from the exclusive control table ECT one in advance Channel adapter assigned in the I / O subsystem. If the number of channel adapters in the I / O support system are housed, is increased and the number of physical Interface is increased in each channel adapter, the size increases for this reason the exclusive control.

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.With the new development and change in data transmission technology, many exist Types of interface systems (for example electrical interface systems, optical Interface systems and OC connections) side by side. To now in this situation It is necessary to connect the I / O auxiliary system with as many CPUs as possible to match existing interface systems. That is, it is necessary to have various Provide channel adapter types in the auxiliary I / O system to accommodate each interface system correspond, which therefore increases the number of channel adapters. This happens through also because not only the physical data transmission devices but also also the number of physical interfaces that are provided in a channel adapter can be different in interface systems. For this reason, the Exclusive control table further enlarged.

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.If multiple logical interfaces are defined on one physical interface, the exclusive control table must be created while considering each logical interface. Fig. 3 is an exemplary view of an OC link interface system. In Fig. 3, reference numeral 4 denotes a a channel adapter for an OC link, an OC link changer / amplifier which is provided between a (... I = 1, 2,) CPU 4 ci and the I / O subsystem to switch the interface dynamically. It is possible to define a maximum of 256 CPUs on one physical interface via the OC connection switch / amplifier. If several logical interfaces are defined on one physical interface in this way, it is necessary to create an exclusive control table ECT which treats each of the logical interfaces as if they were different physical interfaces.

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.A so-called multi-access system enables one Multiple access by defining multiple I / O device addresses related to one I / O device become. This multi-access system is used as an I / O device access system that to multiple areas simultaneously in one I / O device, such as a magnetic drum a semiconductor disk device and a disk cash (cash = fast buffer) can access via different paths. A computer has an architecture, the virtual one Machines (separate execution systems that are independent of each other from a single CPU be operated). If several such virtual machines (Drain systems) are operated, an access (English: exposure) an operating system assigned to ensure independence of I / O device access for each operating system to back up. In this way, several logical interfaces exist on one physical Interface if there are multiple virtual machines. In this case it is also necessary to generate the exclusive control table ECT while the logical interfaces are so treated as if they were different physical interfaces.

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. Fig. 4 is an exemplary view of a multi-access system. It is now assumed that 256 I / O device addresses, for example (00) hex to (FF) hex , can be defined on an interface. At the same time, the area bits of an address are assigned to an access number. As shown in Fig. 4a, for example, the first two bits are assigned to an access number and the last six bits to a device number. This means that accesses 0, 1, 2, and 3 are defined. If the number of the physical I / O device in the auxiliary I / O system is assumed to be one and the device number is 0, the relationship shown in Fig. 4B is held between the access number and an I / O device address. These four I / O device addresses designate the same physical device (multiple definition). The number of the accesses can differ from four and the bit positions which indicate the access number can also be other positions.

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.As described above, in the conventional I / O auxiliary system, a table section is permanently assigned to an exclusive control table in accordance with the maximum possible structure of the I / O auxiliary system. In this system, it is necessary to save a large table area on the exclusive control table so that a large memory area is required. Fig. 5 shows an example of a structure of a conventional exclusive control table. In this table, the symbol n1 represents the maximum number of channel adapters installed in an I / O auxiliary system, n2 the maximum number of physical interfaces installed on a channel adapter and n3 the maximum number of logical interfaces defined on a physical interface. The number of data words in the column is n1 × n2 × n3. In this auxiliary system, however, the number of physical interfaces on a channel adapter and the number of logical interfaces on a physical interface vary. Much of the table remains generally free, so it is unnecessary to create a large exclusive control table.

Probleme im HalbleiterspeicherProblems in semiconductor memory

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 a semiconductor disk device, a semiconductor memory chip is used as a data storage medium used. For this reason, the storage cost per bit is higher than that in one Magnetic disk device. In addition, the storage capacity is one Semiconductor disk device less than that of a magnetic disk device. To the problem to solve the storage capacity, the shape of a semiconductor memory chip is revised or improves the method of building a semiconductor memory chip. Both improvements however, there are restrictions and the cost issue remains unsolved. Around To solve this cost problem, a storage technology is necessary, where possible large amount of data is stored on the same physical semiconductor memory means.

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. In a conventional semiconductor plate device, the current one Magnetic disk device appropriate format (CDK format) during emulation used. That is, an area in the semiconductor memory is assigned to gap information, to control the input / output of data from and to a magnetic disk medium necessary is.  

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 Cl 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. Fig. 6 shows a data format in a conventional semiconductor disk device. The DIR symbol represents a directory that was recorded at the head of a track field. This data is essential in a semiconductor disk, but does not exist in a current magnetic disk device. After the directory DIR, several data fields Ri are recorded, each of which is composed of a counting area Ci (i = 1, 2,...), A key area Ki and a data area Di. The count area Cl contains a track address, a data field number and the length of the key area Ki and the data area Di. The key area Ki is not always necessary, but records a key or index for searching using an access method. The data area Di records data which are generally referred to as "user data". All adjacent recording areas are separated from one another by a gap g.

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.Such a gap g is not necessary when accessing a semiconductor memory. For this The reason is a larger amount of data on the same physical semiconductor memory means saved if all columns g are removed. However, as compared to these gap areas to the total area of the auxiliary system are very small, the removal of the gap areas cannot be called a very effective solution.

Eine weitere Technik ist die in der US 5 167 034 beschriebene Datenkomprimierung- /Wiederherstellungstechnik. Dabei werden Daten komprimiert, um die Originaldatengröße ohne Beeinträchtigung des Dateninhalts zu reduzieren, die komprimierten Daten auf einem externen Speichermedium gespeichert und aus den komprimierten Daten die Originaldaten wiederhergestellt, wenn 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 Zeichen "a" komprimiert werden, so ergibt sich bei einem Zeichen "aa" das komprimierte Zeichen "a2" oder bei "aaaaa" das komprimierte Zeichen "a5". Another technique is data compression described in US 5,167,034. / Restore technology. Data is compressed to the original data size without reducing the data content, reduce the compressed data on one external storage medium and the original data from the compressed data restored when the data is processed. There are different procedures for this Technology. A typical method is to match data in accordance with the Encode data continuation in a block of data chains, and includes a run-length Coding method and a universal coding method. For example, with the Run-length coding method the character "a" are compressed, it results in the compressed character "a2" for a character "aa" or the compressed character for "aaaaa" Character "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. Beil, "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).In the universal coding method, the input data is encoded by the information is used, which represents a partial data chain that has already been encoded. The typical one Universal coding method uses a Ziv-Lempel code (see for example Munakata, "Data Compression Method by Ziv-Lempel" Information Processing Volume 26, No. 1, 1985). Two algorithms are proposed in this Ziv-Lempel coding method, namely (1) a universal type and (2) a step-by-step analysis type. A universal type A practical method using the algorithm is, for example LZSS coding method (T. C. Beil, "Better OMP / L Text Compression", IEEE trans. On Commun, volume COM-34, No. 12, Dec. 1986). As a practical process that the an LZW is used, for example, step-by-step analysis algorithm (Lempel-Ziv-Welch) coding method (T. A. Welch, "A Technique for High-Performance Data Compression ", Computer June 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.In the event that a large amount of data in the same physical semiconductor memory to enroll, consideration will be given to choosing a method that writes compressed data and reads it into the original data when it is read reconverts. However, this data compression technique still leaves unsolved There are problems.

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.A first problem, for example, is that it takes a long time for data compression Time is needed. Although there are small differences in data compression methods there, data compression is basically buffered to monitor the data compression Data patterns and the registration and recovery of the encoded data. For this The reason is that the data transmission time for the compressed data is longer than that Transmission time for data that are not processed. Such Excess time can occur in a semiconductor disk device that has uniform access allowed very high speed regardless of the data type, not disregarded stay.

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.A second problem is that the size of the compressed data before actual compression cannot be estimated. For example, if saved Data is read out and written back after a change in a part,  it is often no longer possible to store this data in the same place because of the size of the compressed data differs from the size before the change. Becomes for example, in the run-length coding method which is encoded as "a4" and in Semiconductor memory saved data "aaaa" changed to "aabaa", so the Compression to the data word "a2ba2", reducing the size of the compressed date grows. Unless the data is continuous or the pattern of the data or the Frequency of data appearance is not constant, compression in general impossible. In the worst case, the size of the compressed data exceeds that of the original data.

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.A third problem is that if there is an abnormality in one Compression mechanism or the like comes, this abnormality is not found can be as long as the compressed data is not in the original data be converted back.

Es ist notwendig, diese Probleme zu lösen, um die Datenmenge, die im Halbleiterspeicher durch Anwendung des Datenkomprimierung-Wiederherstellungsverfahrens gespeichert wird, zu erhöhen.It is necessary to solve these problems to the amount of data stored in the semiconductor memory is saved using the data compression recovery method, to increase.

Probleme bei der SpeicherinitialisierungzeitMemory initialization time issues

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. If in the case of a storage unit which has volatile memory, for example a Semiconductor plate device used, the voltage source is turned on or the PCB with memory modules put on or removed, the content of the memory undefined. In this case, an initialization of the memory for writing is more specific Data (initialization data) required in the memory. Since the device during the Initialization cannot be used, the user has to wait for some time after the voltage source has been switched on. In addition, memory access is during initialization is impossible because the access controller is performing the initialization. It is therefore necessary, such inconvenience in a storage unit as much as possible to reduce by shortening the initialization time or the memory access path is improved.  

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. 7 shows a conventional initialization mechanism. If the voltage source is switched on, an initialization start signal INS is generated in a host module or an access controller 11 . A data register 12 receives this initialization start signal INS and accepts write-in data IDT for initialization. An initialization address counter 13 outputs an initialization address IAD. An address switch 14 converts an address signal AD from the host module to the initialization address IAD, and outputs the initialization data IDT to a data bus 15 , the initialization address signal IAD to an address bus 16, and a memory access synchronization signal (not shown) to perform the initialization of a memory unit 10 , Here, REF denotes a refresh command signal and IED an initialization end signal.

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. Fig. 8 shows the structure of another conventional initialization mechanism. In this mechanism, two access controller access 11 a, 11 b on three memory areas 10 a, 10 b and 10 c separated from each other to. Each of the access controllers 11 a, 11 b has the same structure as the access controller 11 shown in FIG. 7. If the memory area 10 b in the middle by placing a printed circuit board for a memory module is completed, the upper access controller 11 a accesses the memory area 10 b to initialize them in the same way as the mechanism shown in Fig. 7. During the initialization of the memory area 10 b, the lower access controller 11 b receives an address signal AD and a data signal DT from the host module and outputs these signals to the address bus 16 and the data bus 15, respectively. Furthermore, it emits a memory access synchronization signal (not shown) in order to access the other two memory areas 10 a and 10 c depending on the access request from the host module.

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 Initialisierungsadresszähler 13 die Erzeugung eines Initialisierungsadressignals IAD für die Zeit der Auffrischungsoperation. Daraus ergibt sich, daß die zur Initialisierung benötigte Zeit die Summe aus der Zeit zum Einschrieben der Initialisierungsdaten IDT und der Zeit zur Ausführung der Auffrischungsoperation ist.As described above, the initialization is carried out in a conventional manner by generating an initialization address and writing initialization data into a memory depending on the address of an access controller. If volatile memory is to be initialized, a refresh operation is required to hold the data in memory. Therefore, if a refresh command signal REF (see Fig. 7) is input, the initialization address counter 13 stops generating an initialization address signal IAD for the time of the refresh operation. As a result, the time required for initialization is the sum of the time for writing in the initialization data IDT and the time for performing the refresh operation.

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.If the initialization takes a long time, for example because the access request from the host module cannot be processed until the end of the initialization, the user who has switched on the power supply has to wait for a long time before he can actually use the device. In the mechanism shown in Fig. 8, the other access controller can process the access request from the host module. Overall, the device's memory access performance is reduced by half during this time. That is, even with this mechanism, the performance is greatly degraded if the initialization takes a long time.

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.As previously described, the exclusive control table is in a conventional I / O Auxiliary system large, with a large memory for storing this exclusive control table is needed.

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.In addition, the process of writing compressed data in one suffers conventional semiconductor disk device under various problems such as (1) an increase in the transmission time that cannot be disregarded, (2) one not predictable size of the compressible data and (3) an impossible Detection of an abnormality if such an abnormality in the Compression control mechanism is caused as long as the data is not be recovered or restored.

Da zusätzlich eine Auffrischungsoperation zur Initialisierung eines Halbleiterspeichers oder ähnlichem notwendig ist, verlängert sich die Wartezeit für den Zugriff.In addition, since a refresh operation for initializing a semiconductor memory or the waiting time for access is extended.

Aufgabe der vorliegenden Erfindung ist ein E/A-Hilfssystem bzw. ein Datenspeicherverfahren anzugeben, die es ermöglichen, eine große Menge an Daten bei hoher Datensicherheit auf eine Halbleiterplattenvorrichtung (Speicherchips) für die Datenverarbeitung in Host-Vorrichtungen zu speichern. The object of the present invention is an auxiliary I / O system or a data storage method specify that allow a large amount of data with high data security on a Semiconductor disk device (memory chips) for data processing in host devices save.  

Insbesondere sollen die Datenverarbeitungsgeschwindigkeit bei der Benutzung von Datenkomprimierungsverfahren bei der Speicherung der Daten auf den Speicherchips gegenüber den bekannten Systemen erhöht bzw. konstant und ein "Überlaufen" der Halbleiterspeicher bei den Speicheroperationen verhindert werden.In particular, the data processing speed when using Data compression method when storing the data on the memory chips compared to the known systems increased or constant and an "overflow" of the Semiconductor memory can be prevented during the memory operations.

Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Patentansprüche 1 und 10 gelöst. Die Erfindung wird durch die Merkmale der abhängigen Ansprüche weitergebildet.This object is achieved according to the features of independent claims 1 and 10 solved. The invention is developed by the features of the dependent claims.

Weitere Einzelheiten und Vorteile der vorliegenden Erfindung werden anhand der folgenden Beschreibung unter Zuhilfenahme der begleitenden Zeichnungen deutlich.Further details and advantages of the present invention will become apparent from the following Description clearly with the help of the accompanying drawings.

Fig. 1 zeigt den Aufbau eines EI A-Hilfssystems als eine Halbleiterplattenvorrichtung; Fig. 1 shows the construction of an EI A auxiliary system as a semiconductor disk device;

Fig. 2 ist eine erläuternde Ansicht einer Exklusivsteuerungstabelle; Fig. 2 is an explanatory view of an exclusive control table;

Fig. 3 ist eine erläuternde Ansicht eines OC-Verbindungsschnittstellensystems; Fig. 3 is an explanatory view of an OC connection interface system;

Fig. 4A und 4B sind erläuternde Ansichten eines Zugangs; FIGS. 4A and 4B are explanatory views of an access;

Fig. 5 zeigt den Aufbau einer herkömmlichen Exklusivsteuerungstabelle; Fig. 5 shows the structure of a conventional exclusive control table;

Fig. 6 zeigt ein Datenformat, das in einem herkömmlichen Halbleiterplattengerät verwendet wird; Fig. 6 shows a data format used in a conventional semiconductor disk device;

Fig. 7 zeigt einen herkömmlichen Initialisierungsmechanismus; Fig. 7 shows a conventional initialization mechanism;

Fig. 8 zeigt den Aufbau eines anderen herkömmlichen Initialisierungsmechanismus; Fig. 8 shows the structure of another conventional initialization mechanism;

Fig. 9 ist eine erste schematische Ansicht der vorliegenden Erfindung; Fig. 9 is a first schematic view of the present invention;

Fig. 10 ist eine zweite exemplarische Ansicht der vorliegenden Erfindung; Fig. 10 is a second illustrative view of the present invention;

Fig. 11 ist eine dritte schematische Ansicht der vorliegenden Erfindung; Fig. 11 is a third schematic view of the present invention;

Fig. 12 zeigt den Aufbau eines Ausführungsbeispiels eines erfindungsgemäßen Exklusivsteuerungsverfahrens; Fig. 12 shows the structure of one embodiment of an exclusive control method of the invention;

Fig. 13 zeigt den Aufbau der Hardware jeder Einheit in dem Ausführungsbeispiel der Fig. 12; Fig. 13 shows the structure of the hardware of each unit in the embodiment of Fig. 12;

Fig. 14 ist eine erläuternde Ansicht einer logischen Pfadsteuerungstabelle im Ausführungsbeispiel, das in Fig. 12 gezeigt ist; Fig. 14 is an explanatory view of a logical path control table in the embodiment shown in Fig. 12;

Fig. 15 ist eine erläuternde Ansicht einer Exklusivsteuerungstabelle in dem Ausführungsbeispiel; Fig. 15 is an explanatory view of an exclusive control table in the embodiment;

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. 16 is an explanatory view of the assignment of a logical path number if a host interface matches a physical interface in the embodiment;

Fig. 17 ist eine erläuternde Ansicht der Inhalte einer logischen Pfadsteuerungstabelle; Fig. 17 is an explanatory view of the contents of a logical path control table;

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. 18A and 18B are explanatory views of the assignment of a logical path if a host interface matches a logical interface in the embodiment;

Fig. 19A bis 19C sind erläuternde Ansichten einer logischen Pfadnummernzuordnungssteuerung in einem Zugangs-System; Figs. 19A to 19C are explanatory views showing a logical path number assignment control in an access system;

Fig. 20 ist ein Flußdiagramm der Verarbeitung des Betriebsmittelmanagers in der logischen Pfadnummernzuordnungssteuerung; Figure 20 is a flowchart of resource manager processing in logical path number assignment control;

Fig. 21 ist ein ersten Flußdiagramm der Verarbeitung durch den Kanaladapter in der logischen Pfadnummernzuordnungssteuerung; Fig. 21 is a first flow diagram of processing by the channel adapter in logical path number assignment control;

Fig. 22A und 22B sind erläuternde Ansichten der Registrierung einer logischen Pfadnummer durch einen Kanaladapter; FIG. 22A and 22B are explanatory views of the registration of a logical path number by a channel adapter;

Fig. 23 ist ein zweites Flußdiagramm der Verarbeitung durch einen Kanaladapter in der logischen Pfadnummernzuordnungssteuerung; Fig. 23 is a second flowchart of processing by a channel adapter in logical path number assignment control;

Fig. 24 ist ein Flußdiagramm der Exklusivsteuerung; Fig. 24 is a flowchart of exclusive control;

Fig. 25 zeigt den gesamten Aufbau einer aktuellen Halbleiterplatte; Fig. 25 shows the entire structure of a current semiconductor plate;

Fig. 26 zeigt den Aufbau eines Ausführungsbeispiels eines Datenspeichersteuerungsverfahrens zur Speicherung komprimierter Daten in einem Halbleiterspeichermodul einer Halbleiterplattenvorrichtung entsprechend der vorliegenden Erfindung; Fig. 26 shows the structure of an embodiment of a data storage control method for storing compressed data in a semiconductor memory module of a semiconductor disk device according to the present invention;

Fig. 27 zeigt den Aufbau des Kanaladapters in dem in Fig. 26 gezeigten Ausführungsbeispiels; Fig. 27 shows the structure of the channel adapter in the embodiment shown in Fig. 26;

Fig. 28 zeigt den Aufbau des Datensteuerungsadapters in dem in Fig. 26 gezeigten Ausführungsbeispiel; Fig. 28 shows the structure of the data control adapter in the embodiment shown in Fig. 26;

Fig. 29 zeigt den Aufbau des Backup-Plattenadapters im Ausführungsbeispiel der Fig. 26; Fig. 29 shows the structure of the backup disk adapter in the embodiment of Fig. 26;

Fig. 30 ist eine erläuternde Ansicht des erfindungsgemäßen Datenformats; Fig. 30 is an explanatory view of the data format according to the invention;

Fig. 31 ist eine erläuternde Ansicht der Betriebsweise der Datenschreibsteuerung; Fig. 31 is an explanatory view of the operation of the data write control;

Fig. 32 ist eine erläuternde Ansicht der Betriebsweise der Datenschreibsteuerung, falls ein Halbleiterspeichermodul übergelaufen ist; Fig. 32 is an explanatory view of the operation of the data write control in the event that a semiconductor memory module has overflowed;

Fig. 33 ist eine erläuternde Ansicht der Betriebsweise der Datenlesesteuerung; Fig. 33 is an explanatory view of the operation of the data read controller;

Fig. 34 ist eine erläuternde Ansicht des Speicherbereichs der Backup-Plattenvorrichtung in dem in Fig. 26 gezeigten Ausführungsbeispiels; Fig. 34 is an explanatory view of the storage area of the backup disk device in the embodiment shown in Fig. 26;

Fig. 35A und 35B sind erläuternde Ansichten eines herkömmlichen Speicherinitialisierungsverfahrens; FIG. 35A and 35B are explanatory views of a conventional Speicherinitialisierungsverfahrens;

Fig. 36A und 36B sind erläuternde Ansichten einer Auffrischungsoperation; FIG. 36A and 36B are explanatory views of a refresh operation;

Fig. 37A und 37B sind erläuternde Ansichten eines erfindungsgemäßen Initialisierungsverfahrens; FIG. 37A and 37B are explanatory views of an initialization according to the invention;

Fig. 38 zeigt den Aufbau eines Ausführungsbeispiels eines Speicherinitialisierungsverfahrens gemäß der vorliegenden Erfindung; Fig. 38 shows the structure of an embodiment of a Speicherinitialisierungsverfahrens according to the present invention;

Fig. 39 ist ein Zeitdiagramm, das den Arbeitsablauf des in Fig. 38 gezeigten Ausführungsbeispiels darstellt; Fig. 39 is a timing chart illustrating the operation of the embodiment shown in Fig. 38;

Fig. 40 zeigt den Aufbau eines anderen Ausführungsbeispiels eines Speicherinitialisierungsverfahrens gemäß der vorliegenden Erfindung; Fig. 40 shows the structure of another embodiment of a Speicherinitialisierungsverfahrens according to the present invention;

Fig. 41 zeigt den Aufbau eines Initialisierungsadresszählers, der in einem Hochgeschwindigkeitszugriffsmodus benutzt wird; Fig. 41 shows the structure of an initialization address counter used in a high-speed access mode;

Fig. 42 ist ein erläuterndes Verfahren eines weiteren Ausführungsbeispiels eines Speicherinitialisierungsverfahrens gemäß der vorliegenden Erfindung, das einen Hochgeschwindigkeitszugriff erlaubt; Fig. 42 is an explanatory process is a further embodiment of a Speicherinitialisierungsverfahrens of the present invention which allows high-speed access;

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. 43 shows the construction of another embodiment of a memory initialization method according to the present invention, in which the memory is divided into several blocks;

Fig. 44 zeigt den Aufbau des Initialisierungsadresszählers, der in dem in Fig. 43 gezeigten Ausführungsbeispiel benutzt wird; und Fig. 44 shows the structure of the initialization address counter used in the embodiment shown in Fig. 43; and

Fig. 45 ist eine erläuternde Ansicht eines Verfahrens zum Einschreiben von Daten des in Fig. 43 gezeigten Ausführungsbeispiels. FIG. 45 is an explanatory view of a data write method of the embodiment shown in FIG. 43.

(a) Schematischer Aufbau der Erfindung(a) Schematic structure of the invention

Fig. 9 und 10 sind schematische Ansichten des Aufbaus der vorliegenden Erfindung. FIGS. 9 and 10 are schematic views of the structure of the present invention.

(a-1) Exklusivsteuerung (Fig. 9)(a-1) Exclusive control ( 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.Referring to FIG. 9, reference numerals 21 a to 21 c plurality of input / output interface regions (channel adapter), each comprising a single or multiple interfaces (Host Interface) between a host device (ie, a host computer) and the interface region , Reference numeral 22 denotes an I / O device (semiconductor memory) which is shared between the multiple interface areas 21 a to 21 c, and 23 denotes an exclusive controller (resource manager) which is provided with an exclusive control table ECT and a logical path control table LPT and which enables a host interface to use an I / O device if it is not being used by another host interface, whereas use is prohibited if the other host interface uses it.

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.The exclusive controller 23 assigns a logical path number to each host interface of each input / output interface area 21 a to 21 c, manages the state of use of the I / O device in accordance with the logical path number in the exclusive control table ECT and checks whether the I / O device 22 is used by another host interface via a different logical path by accessing the exclusive control table ECT when the exclusive controller 23 receives the request to use the I / O device 22 via a host interface with one receives its assigned predetermined logical path number. If the answer is NO, the exclusive controller 23 prohibits the host interface that issued the usage request from using the I / O device 22 and sets a flag indicating that the I / O device is "busy" , in the exclusive control table ECT according to the logical path number of the host interface. After the end of use of the I / O device 22 , the exclusive controller 23 changes the flag to "free", which indicates that the I / O device is free again.

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.In this case it can be a host interface with a physical interface to match. But if there are several logical interfaces in one physical interface are defined, a host interface corresponds to a logical interface. That is, everyone logical interface is assigned a logical path number as a host interface if at least two interfaces are defined on one physical interface. If further assigned multiple I / O machine numbers to a single I / O device and the operating systems in a host device simultaneously for the I / O device become available through a physical interface by the respective I / O machine numbers are used, becomes a host interface number assigned physical interface, depending on the respective I / O device number, and a logical path number becomes each of the host interfaces (Host interface numbers).

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.According to this structure, it is not necessary to set a large exclusive control table prepare that can cope with the maximum build, as opposed to one conventional auxiliary I / O system. That is, an exclusive control table in which only the Host interfaces currently connected to the I / O subsystem are listed, enough. It is therefore possible to set the size of the exclusive control table and that for it Table to reduce required storage capacity.

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.The assignment of logical path numbers is controlled in the following way. A logical path control table LPT is provided in the exclusive controller 23 . If the power supply is turned on or logical interfaces are defined, each of calls for the input / output interface areas 21 a to 21 c to when exclusive controller 23, each of host ports that are connected thereto, to assign a logical path number. The exclusive controller 23 dynamically assigns a free logical path number to a host interface depending on the request for assigning a logical path number, and registers the assigned logical path number in the logical path control table LPT according to the identification information (CA number) of the input / output interface area and the identification information (host interface number) of the host interface.

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.The exclusive controller 23 also stores the logical path control table LPT in a non-volatile memory which does not lose its content even if the power supply fails. It also assigns a logical path number, either based on the logical path control table LPT or on the basis of the aforementioned dynamic assignment of the logical path number, depending on the on / off state of a command device (switch). According to this structure, since it is possible to assign a logical path number before the power failure, the same environment is restored at the time of analyzing an error or a reproduction test of the error.

(a-2) Datenspeichersteuerung (Fig. 10)(a-2) Data storage controller ( 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. Referring to Fig. 10, reference numeral 31 denotes a channel adapter for controlling the input / output operation between a host device (CPU) 30 and a memory interface adapter, 32 an exclusive controller (resource manager) for executing exclusive control of access to a semiconductor memory module, 33 a to 33 n semiconductor memory modules, each of which consists of a plurality of semiconductor memory chips, 34 a memory interface adapter for controlling the writing process and the reading process of data to and from a semiconductor memory module, 35 a data control adapter for checking the compressed data which are written into a semiconductor memory module, 36 a backup Disk device and 37 a backup disk adapter.

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.If data is stored in one of the semiconductor memory modules 33 a to 33 n (hereinafter referred to as semiconductor memory module 33 ) in the I / O system, the channel adapter 31 compresses the data stored in the data buffer and writes the compressed data into the semiconductor memory module 33 . The data control adapter 35 reads and stores the compressed data from the semiconductor memory module 33 to check the compressed data by comparing the newly stored data with the data (uncompressed data) before compression. In this case, after the compressed data have been written into the semiconductor memory module 33 , the uncompressed data which are stored in the data buffer are written into an additional semiconductor memory module 33 s. The uncompressed data are then read out from the additional semiconductor memory module 33 s in order to be compared with the newly stored data.

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.If an error or an abnormality is recognized as a result of the data comparison, the data control adapter 35 compresses the data read out from the additional semiconductor memory module 33 s and writes this compressed data into the semiconductor memory module 33 . The compressed data is then re-stored and this newly stored data is compared with the uncompressed data in order to check the compressed data written into the semiconductor memory module 33 . The result of the check is recorded in the directory area at the head of the track of the semiconductor memory module 33 .

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.If the semiconductor memory module becomes full while the compressed data is being written, the uncompressed data is stored in the backup disk device 36 . The uncompressed data from the backup disk device 36 is then written into the semiconductor memory module.

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.This solves the problems that arise when data is compressed become. This gives you the opportunity to have a large amount of data in one Store semiconductor memory by writing in the compressed data.

(a-3) Initialisierung (Fig. 11)(a-3) initialization ( 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.In Fig. 11, reference numeral 41 denotes volatile memory in need of refresh, and symbol CA denotes a column address and RA a row address.

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 (1 bis 2) 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 3 bis 4) 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.The volatile memory 41 is accessed by combining the selected column address CA with the selected row address RA, and is refreshed for each row. In order to initialize the volatile memory 41 , initialization data are written into all memory cells (1 to 2) in an i-th column, while the row addresses RA are generated one after the other in ascending order, the column address CA being kept at a constant value i. The initialization data are then written in the same way in the successive columns (at the row addresses 3 to 4). Since the writing of the initialization data refreshes the memory at the same time, provided that the time required for writing the data into a column is shorter than the time interval between two refresh cycles, a separate refresh cycle is not necessary. This leads to a reduction in the initialization time. If high speed memory is used, the column address CA is divided into an upper column address and a lower column address, with the initialization data being written into the memory cells, while the lower column addresses are generated in ascending order while the upper column address and the row address are being held. The initialization data are then written into the following line in the same way. After the initialization data is written in all rows, the data writing is repeated while the upper column address is increased step by step. This process also avoids a separate refresh cycle, which reduces the initialization time.

(b) Ausführungsbeispiel des Exklusivsteuerungsverfahrens der Erfindung(b) Embodiment of the exclusive control method of the invention (b-1) Gesamter Aufbau(b-1) Overall structure

Fig. 12 zeigt den Aufbau eines Ausführungsbeispiels eines erfindungsgemäßen Exklusivsteuerungverfahrens. Die Bezugsziffer 20 kennzeichnet eine Halbleiterplattenvorrichtung als ein E/A-Hilfssystem, und die Bezugsziffern 30 0, 30 1 und 30 2 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 0 bis 30 2 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. Fig. 12 shows the structure of one embodiment of an exclusive control method of the invention. Reference numeral 20 denotes a semiconductor disk device as an auxiliary I / O system, and reference numerals 30 0 , 30 1 and 30 2 denote CPUs (CPU-0 to CPU-2) as host devices. In the semiconductor disk device 20 , reference numerals 21 a, 21 b and 21 c channel adapter (CA-0 to CA-2), each having a single or more interfaces (host interfaces) to and from a host device (CPU), 22 a semiconductor plate with a plurality of semiconductor memory modules 22 a to 22 n is provided, with each module serving as an I / O device for CPUs 30 0 to 30 2 . Reference numeral 23 denotes an equipment manager (RM) which is provided with an exclusive control table ECT and a logical path control table LPT, so that a logical path control and an exclusive control can be carried out. The exclusive control table ECT and a logical path control table LPT are stored in a non-volatile memory area. The logical path controller adds a logical path number to a host interface connected to each adapter and controls the path between the CPUs and the semiconductor disk. The exclusive control allows a host interface to use a semiconductor memory, unless it is already being used by another host interface, otherwise the use of the semiconductor memory is prohibited. Exclusive control is performed for each semiconductor memory module.

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: 1 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 2 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. The reference numeral 24 denotes a memory interface adapter for controlling the data writing and the reading out of data to or from the semiconductor plate 22 , the reference numeral 25 denotes a service adapter (SA) with which, for example, a repair or maintenance or module monitoring is carried out, and 26 denotes a monitoring / Maintenance control panel, which has a switch SW, with which the method for assigning a logical path number is determined. There are two methods of assigning a logical path number: 1 one method (called an unfixed logical path number mode) of assigning a free logical path number when an assignment request of a logical path number is made by one of the channel adapters 21 a to 21 c, and 2 a method (referred to as fixed logical path number mode) for assigning a logical path number based on the logical path control table stored in the non-volatile memory area prior to the power failure. If the switch SW is turned off, a logical path number is assigned by the non-fixed logical path number mode, and if the switch SW is turned on, the logical path number is assigned by the fixed logical path number mode.

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.Reference numeral 27 denotes an internal bus which has a C-BUS, D-BUS and S-BUS (not shown). The C-BUS is a control bus with which each unit transmits messages and has access to control information. The D-BUS is a data transmission bus, via which each unit feeds data to the semiconductor plate 22 or receives data therefrom, and the S-BUS is a service bus, via which a service module 25 as master controls the state of each unit.

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 0, die physikalischen Schnittstellen 0, 1 des Kanaladapters 21b bilden die Schnittstellen der CPUs 30 0 bzw. 30 1, und die physikalischen Schnittstellen 0, 1, 2 des Kanaladapters 21c bilden die Schnittstellen der CPUs 30 0, 30 0, 30 2.The channel adapter 21 a is provided with a physical interface (physical port) 0, the channel adapter 21 b with two physical interfaces 0, 1, and the channel adapter 21 c with three physical interfaces 0, 1, 2. The physical interface 0 of the channel adapter 21 a also forms the interface of the CPU 30 0 , the physical interfaces 0, 1 of the channel adapter 21 b form the interfaces of the CPUs 30 0 and 30 1 , and the physical interfaces 0, 1, 2 of the channel adapter 21 c form the interfaces of the CPUs 30 0 , 30 0 , 30 2 .

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.Each of the channel adapters 21 a to 21 c, the resource manager 23 , the memory interface adapter 24 and the service adapter 25 consist of a microprocessor which has essentially the same structure as that shown in FIG. 13. In FIG. 13, reference numeral 101 denotes a microprocessor (MPU), 102 a control memory area (CS) with a RAM (Random Access Memory = random access memory) structure, 103 a control memory area (CS) with a ROM (Read Only Memory, Read Only Memory) construction, 104 a driver / receiver (DV / RV) connected to the internal bus 27 , 105 a bus interface logic (BIL), 106 a driver / receiver (DV / RV) connected to a connected to an external interface, 107 a buffer or a table memory area (TS), and 108 an individual LSI (gate array). The number of drivers / receivers (DV / RV) 106 depends on the number of connected external interfaces.

(b-2) Logische Pfadsteuerungstabelle(b-2) Logical path control table

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.The logical path control table LPT stores a logical path number, a channel adapter number (CA number) and a host interface number in correspondence with each other, as shown in FIG. 14. If no logical interface is defined on the physical interface, a host interface corresponds to a physical interface (physical port). If, on the other hand, several logical interfaces are defined on one physical interface, a host interface corresponds to one logical interface.

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).In the case of the unfixed logical path number mode, the logical path control table LPT is generated in the following manner. When the voltage switch is turned on, each of the channel adapters 21 a to 21 c instructs the resource manager 23 to assign a logical path number to each host interface connected to the corresponding channel adapter. The resource manager 23 assigns a free logical path number to the host interface in response to the assignment request, and registers the channel adapter number (CA number) and the host interface number in the logical path control table LPT in accordance with the logical path number. This logical path control table LPT is created by now performing this registration for all channel adapters. In Fig. 14, the host interface is 0 of the channel adapter 21 a logical path number 0 assigned to the logical path number 1 is Interface Host 0 of the channel adapter 21 associated with b of the logical path number 2, the host interface 1 of the channel adapter 21b assigned,. , , (the same rule applies to the following accordingly).

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 ZuordnungIf a host interface of a channel adapter is added, the channel adapter prompts the resource manager 23 to assign a logical number to the added host interface. The resource manager 23 then assigns a free logical path number to the host interface in the same manner and registers the channel adapter number (CA number) and the host interface number in the logical path control table LPT in accordance with the logical path number. , , , additional dynamic allocation

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.If a particular host interface of a channel adapter is removed or a channel adapter itself is removed from the auxiliary I / O system (for repair reasons, for example), the resource manager 23 removes the logical path number (s) that were assigned to the corresponding host interfaces , , , , dynamic elimination.

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.With this method of assigning the logical path numbers, a logical path number is assigned if the event requires it, for example when the I / O auxiliary system is started or when an additional device (additional interface) is added. For this reason, the logical path numbers can vary depending on the switch-on order of the voltage switches in the CPU or the I / O subsystem. Normally this is not a problem, but if an error is caused, it is difficult to recreate the same environment for analyzing the error or replaying the error. As a countermeasure, a non-volatile memory area is provided to store the logical path control table LPT. In addition, the switch SW, which can be operated externally by a maintenance person, for example, is provided on the maintenance control panel 26 , as described above.

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.If the switch SW is switched off, one is issued each time it is issued A logical path number assignment request from a channel adapter is a logical one Path number assigned as previously described (dynamic assignment). Will the switch SW, on the other hand, is the same logical path number as defined by the in table information stored in the non-volatile area is marked, assigned. The switch SW is turned on when the maintenance person is stationary assigns logical path number. , , , fixed logical path number mode.

(b-3) Exklusivssteuerungstabelle(b-3) Exclusive control table

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. The exclusive control table ECT stores the occupancy data, which indicates whether an I / O device (semiconductor memory module) is used. In addition, reservation data indicating whether an I / O device (semiconductor memory module) is reserved, path group information (path name), etc. are stored in accordance with a logical path number as shown in FIG. 15. The exclusive control table ECT is provided for each semiconductor memory module.

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.If a host interface uses a semiconductor memory module 31 , a flag "1" is set in the column of the occupancy data on the line of the logical path number of the host interface. When the use of the semiconductor memory module 33 is finished, the flag "1" is reset to "0". When a host interface issues a reservation command to use a particular semiconductor memory module 32 exclusively, a flag is set to "1" in the reservation data column and in the line of the host interface logical path number. If the reservation command is withdrawn, the flag is reset from "1" to "0". Even if another host interface issues a request to access the semiconductor memory module 33 , the answer is "busy" as long as the flag in the reservation data column is set to "1".

(b-4) Zuordnung der logischen Pfadnummer(b-4) Assignment of the logical path number

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. Figure 16 is a logical path mapping view when a host interface corresponds to a physical interface. The physical interfaces placed on each channel adapter 21 a to 21 c serve as host interfaces, and the logical path control table LPT, as shown in FIG. 17, is generated by the logical path number assignment control.

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. FIGS. 18A and 18B are views of logical path assignment if a host interface corresponds to a logical interface. The channel adapter 21 b is an adapter for an OC connection and a physical interface 21 b 'is connected to four CPUs 20 a to 20 d via a changeover switch / amplifier 28 . That is, four interfaces 29 are defined on the one physical interface 21 b '. In such a case, a host interface corresponds to a logical interface, and a logical path number is assigned to each of the host interfaces (0 to 3). If it is assumed that the channel adapter 21 shown in Fig. 16 b with each CPU, as shown in Fig. 18A, is connected to the logical path control table LPT how generates, by the logical path number mapping control shown in Fig. 18.

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. FIG. 19A to 19C are views of a logical path number allocation control in an access system. If the CPU 20 b with the channel adapter 21 via a physical interface 21 b '(see Fig. 19A) is connected, two machine addresses on the semiconductor memory module 22 are a set through an access. Due to the access, the CPU 20 behaves as a two virtual machines VM1, VM2, so that each virtual machine over a physical interface 21 b on the semiconductor memory module 22 can send an access request Vm1 and VM2 'a. This means that two logical interfaces on one physical interface 21b '(see Fig. 19b) are defined. Since a host interface corresponds to a logical interface, a logical path number is assigned to each of the host interfaces (0 and 1). Therefore, if the CPU, which with the physical interface of the channel adapter 21b in Fig. 16 is connected, two sets accesses, the logical path control table LPT shown in Fig. 19C is generated.

(b-5) Logische Pfadnummernzuordnungs-Steuerung(b-5) Logical path number assignment control

Fig. 20 ist ein Flußdiagramm, das die Verarbeitung durch den Betriebsmittel-Manager 23 bei einer logischen Pfadnummernzuordnungs-Steuerung zeigt. Fig. 20 is a flowchart showing the processing by the resource manager 23 in a logical path number assignment control.

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.When the power source of the resource manager 23 is turned on, a function program is started to check whether the switch SW is on or off after the initial diagnosis (step 201 ) is carried out. If the switch SW is turned off, the contents of the logical path control table LPT are initialized (step 202 ), while they are not initialized if the switch SW is turned on.

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. Regardless of whether a request for assigning a logical path number (assignment request command + CA number + host interface number) is issued by a channel adapter, this is checked (step 203 ) and if the answer is YES, it is checked whether the switch SW is on or off (step 204 ). If the switch SW is turned off, a new logical path number is dynamically allocated, and the logical path number is registered in the logical path control table LPT in accordance with the CA number and the host interface number (step 205 ). Subsequently, the channel adapter that issued the mapping request is informed of the logical path number (step 206 ), and the flow returns to step 203 to repeat the subsequent processing.

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.If the switch SW is turned on in step 204 , the logical path number is retrieved from the logical path control table LPT based on the CA number and the host interface number contained in the mapping request (step 207 ). The channel adapter that issued the mapping request is then informed of the recovered logical path number (step 106 ). The flow then returns to step 203 to repeat the subsequent processing.

Die logischen Pfadnummern sind Seriennummern, die allen Host-Schnittstellen in dem E/A-Hilfssystem zugeordnet sind.The logical path numbers are serial numbers that all host interfaces in the I / O subsystem are assigned.

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. Fig. 21 is a flowchart showing the processing of the channel adapter 21 a to 21 c in the logical path number assignment control. If the power supply is switched on, a logical path number of the host interface that corresponds to a physical interface or the logical path number of the host interface that is assigned to an access is registered.

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.If the voltage source of a certain channel adapter is switched on, a function program is started after the initial diagnosis. The channel adapter counts and confirms the number of host interfaces connected to it and prompts the resource manager 23 to assign a logical path number to an i-th host interface (step 301 ). The mapping request consists of a mapping request command, a CA number, and an interface number.

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.It is then checked whether the resource manager 23 has informed the channel adapter of the logical path number (step 302 ). If the answer is yes, the channel adapter registers the logical path number received from the resource manager 23 in the logical path control table in accordance with the host interface number (step 303 , see Fig. 22A). It is then checked whether the assignment of a logical path number with regard to all host interfaces has been completed (step 304 ). If the answer is NO, the processing at step 301 is repeated with respect to the (i + 1) th host interface. In this way, the logical path numbers of all host interfaces are registered.

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.In the case of an OC connection, logical interfaces are defined during the operation of the system. Fig. 23 shows a flowchart of processing by a channel adapter in the logical path number assignment control in this case.

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).A channel adapter for an OC connection checks whether a CPU has instructed the establishment of a connection (step 401 ). If YES, the OC connection number is registered in accordance with the host interface number (step 402 , see Fig. 22B). The channel adapter then prompts the resource manager to assign a logical path number to the host interface (step 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.It is then checked whether the resource manager 23 has communicated the logical path number to the channel adapter (step 404 ). If YES, the channel adapter registers the logical path number received from the resource manager 23 in the logical path control table in accordance with the interface number and the OC connection number (step 405 ) as shown in Fig. 22B. The flow returns to step 401 to repeat the subsequent processing.

(b-6) Exklusivsteuerung(b-6) Exclusive control

Fig. 24 ist ein Flußdiagramm einer Exklusivsteuerung. Fig. 24 is a flowchart of exclusive control.

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").If an access request (read / write command) is transmitted from a specific CPU to a specific channel adapter via a host interface (step 501 ), the channel adapter specifies the physical interface and the logical interface that issued the request, the host recognizes Interface number and obtains the logical path number from the logical path control table based on the host interface number (step 502 ). The request to use the I / O device (semiconductor memory module) with the added logical path number is transmitted to the resource manager 23 (step 503 ). The resource manager 23 is then waited for (step 504 ). When the resource manager 23 receives the request to use the I / O device, it is checked whether the semiconductor memory module is occupied or reserved by another logical path (host interface) by referring to the exclusive control table ECT (step 505 ). If the module is neither busy nor reserved, a flag in the exclusive control table ECT is set to "1", which means "busy", in accordance with the logical path number added to the usage request (step 506 ). The resource manager 23 then provides permission to use the I / O device to the channel adapter that issued the usage request (step 507 ). If the semiconductor memory module is in use, the resource manager 23 answers the channel adapter negatively ("busy").

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).When the channel adapter receives permission, the data is transferred between the CPU and the semiconductor memory module (step 508 ) and when the access is complete, the channel adapter informs the resource manager 23 of the end of use (step 509 ) and the CPU of the command end (Steps 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.When the resource manager 23 is informed of the end of use, it changes the flag from "1" to "0", which means "free", with which the exclusive control is ended.

(b-7) Andere Steuerung(b-7) Other controls

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. Sometimes a CPU is newly added to a computer system, for example to do this Enlarge system. If the new CPU uses the existing I / O subsystem, it is necessary to add an interface or a channel adapter to the auxiliary I / O system. After adding an interface / channel adapter, a request for the Assign a logical path number in the same way to the resource manager issued, as when switching on the power supply. A new logical path number is assigned and registered. Then the channel adapter / interface as an object the exclusive control.  

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.If an error occurs in part of the hardware and the adapter from the I / O subsystem is removed to be serviced or repaired, the data stored in the area in the logical path control table LPT are registered which are related to the logical path number of the channel adapter, deleted.

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.Such addition or removal of a logical path number during the operation of the Systems does not affect the operation of one interface through another logical path number is executed. It is therefore possible to add an additional device To change modules and to maintain a module while the auxiliary I / O system is operating and of the entire computer system continues.

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.In the logical path number assignment method in the present invention The logical path numbers can vary depending on the switch-on sequence of the Supply switch in the auxiliary I / O system, even if the internal structure (the number of Channel adapter, the number of interfaces) of the I / O subsystem is the same. in the practical operation, this is not a problem, but if an exclusive control Error occurs in part of the hardware or a microprogram, it is necessary that Analyze the problem and reproduce the error. In such a case, it is important to create the same environment. For this reason, the previously described switch SW switched on to fix the logical path numbers, so that the mode on the fixed logical path number mode is switched. This operation secures the same assignment of logical path numbers. In the fixed logical path number mode it is possible to assign a new logical path number. If, however, a logical one Path number is eliminated due to an error or the like, the logical Path number not removed from the logical path control table LPT. This is because the same logical path number is assigned to the module after it is repaired. Of a control method can also be introduced by switching the switch SW to ON is held after the system is set up for use.

(b-8) Aufbau einer aktuellen Halbleiterplattenvorrichtung(b-8) Structure of Current Semiconductor Plate Device

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. Fig. 25 shows the entire structure of a semiconductor disk device as an I / O subsystem. The semiconductor disk device has a dual structure, wherein modules with an index 1 belong to a first semiconductor plate device G0, modules with an index 2 belong to a second semiconductor plate device G1, and modules with no index are shared.

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.The symbol CA represents a channel adapter that acts as an interface to and from one Serves host device. Various duct adapters that form an electrical duct correspond, an optical channel and an OC connection are provided, provided required. A resource manager RM performs the logical path control and Exclusive control and manages all resources of the auxiliary system. A service adapter SA serves as a master that controls the states of the other units.

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.A C-BUS is a control bus through which each unit transmits messages and access on control information. A D-BUS is a data transfer bus through which each unit Sends data to or from a semiconductor disk, and an S-BUS is on Service bus, via which a service module as master controls the status of each unit. The Symbols BH-1 and BH-2 represent bus controllers (handlers) to the competition control the buses or feed the bus clock. The MDK symbol denotes one Magnetic disk device for temporarily storing (backup) the memory contents, if one Problem occurred, DA marks a device adapter that acts as an interface between the magnetic disk device and the channel adapter DA, and BANK indicates a semiconductor disk (shared memory) that has a maximum of 10 Semiconductor memory modules can accommodate MSs.

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. The symbols ESP1 to ESP4 indicate ports (additional memory ports) for controlling the Access to the semiconductor disks, ESA1 to ESA4, characterize memory interface adapters to carry out a synchronization control between the semiconductor memory modules MSs, memory refresh and data correction based on an error check code, and PANEL denotes a maintenance control panel.  

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 CA1 und CA2 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.The first and second semiconductor plate devices G0 and G1 have a symmetrical structure with respect to the broken line in Fig. 25. A host CPU is symmetrically connected to the channel adapters CA 1 and CA 2 of the first and second semiconductor devices, and the respective ports ESP2 and ESP3 are connected to the memory interface adapters ESA3, ESA4 on the other side. Therefore, even if there is a problem on one side in a channel adapter, the CPU has access to the semiconductor plate through a channel adapter on the other side. Even if a problem occurs on one side in a semiconductor plate, it is possible to access the semiconductor plate on the other side. This increases reliability.

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.In this embodiment, an exclusive control method in one Semiconductor disk device explained as an auxiliary I / O system. An exclusive control process However, the present invention is not limited to this, but can also be in one I / O auxiliary system, for example a magnetic disk device or a disk cash, be applied.

(c) Ausführungsbeispiel eines Datenspeichersteuerungsverfahrens der Erfindung(c) Embodiment of a data storage control method of the invention (c-1) Gesamter Aufbau(c-1) Overall structure

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. Fig. 26 shows the structure of an embodiment of a data storage control method for storing compressed data in a semiconductor memory module of a semiconductor disk device according to the present invention. Reference numeral 30 denotes a host device such as a CPU, 31 a channel adapter for controlling the data input / output operation between the host device (CPU) 30 and a memory interface adapter ESA, 32 a resource manager for performing exclusive access control to a semiconductor memory module, 33 a to 33 n semiconductor memory modules, each being composed of a plurality of semiconductor memory chips, 33 s a free semiconductor memory module, 34 a memory interface adapter for controlling the writing and reading of data into or from a semiconductor memory module, 35 a data control adapter for verifying the compressed ones Data written in a semiconductor memory module, 36 a backup disk device, 37 a backup disk adapter, and 38 an internal data bus. The channel adapter 31 and the data control adapter 35 have a data buffer 31 a with a large capacity and a data compression mechanism 31 b or a data buffer 35 a and a data compression mechanism 35 b. The backup disk adapter 37 has a data compression mechanism 37 a.

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.When data is stored in a semiconductor memory modules 33 a to 33 n (hereinafter referred to as "semiconductor memory module" 33 hereinafter) in the I / O subsystem, compressed, the data compression mechanism 31b of the channel adapter 31, the compressed in the data buffer 31 a stored data and writes Data in the semiconductor memory module 33 . The data before compression (uncompressed data), which are stored in the data buffer 31 a, are written in the additional semiconductor memory module 33 s.

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".After writing this data, the data compression mechanism 35 b of the data control adapter 35 reads out the compressed data from the semiconductor memory module 33 and stores it again so that it is stored in the data buffer 35 a. The uncompressed data are then read out from the additional semiconductor memory module 33 s in order to verify the compressed data written into the semiconductor memory module 33 by comparing the data which have been stored again with the uncompressed data. If a request to access the data is made by any channel adapter during the comparison and verification, the resource manager 32 replies "busy".

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.If an error or an abnormality is detected as a result of the data comparison, the data control adapter 35 compresses the data read out from the additional semiconductor memory module 33 s and writes this compressed data into the semiconductor memory module 33 . Thereafter, the compressed data is restored and the restored data is compared with the uncompressed data to verify the compressed data written in the semiconductor memory module 33 . The result (comparison error flag, recovery flag or the like) of the verification is recorded in the directory area at the head of the track of the semiconductor memory module 33 . A flag indicating whether the data is compressed is added to the header of each date. The directory area contains, in addition to the result of the verification, logical address information, physical memory address information, a compression flag indicating that the data has been subjected to compression, and the latest date (update information) on which the data on the track was changed or written were.

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.If the semiconductor memory module 33 overflows while writing the compressed data (for example, if the size of the compressed data is larger than the size of the uncompressed data), the channel adapter 31 stores the uncompressed data in the backup disk device 36 via the backup disk adapter 37 . After storage, the backup disk adapter 37 reads the uncompressed data from the backup disk device 36 and writes it into the semiconductor memory module 33 .

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.If the data stored in a semiconductor memory is stored (backup-stored) in the backup disk device 36 , the data is compressed by the backup disk adapter 37 and stored in the backup disk device 36 . When the data is read out of the backup disk device 36 , it is restored. In this case, the backup completion date is stored, and if the data stored in the semiconductor memory 33 is back-stored again, the date contained in the directory area is compared with the backup completion date so as not to store the data older with respect to the backup completion date. This shortens the backup time.

(c-2) Aufbau eines Kanaladapters(c-2) Structure of a duct adapter

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. Fig. 27 shows the structure of a channel adapter 31st The channel adapter 31 contains a data buffer 31 a with a large capacity for storing the transmitted data, the data compression mechanism 31 b for compressing / restoring the data transmitted between the channel interface and the internal bus interface, a dictionary memory 31 c for assisting the compression / restoration operation, a channel interfaces -Protocol controller 31 d, a selection device 31 e for the selective output of the data from the data buffer 31 a and the data compression mechanism 31 b and for the selective input of the data into the data buffer 31 a and the data compression mechanism 31 b, an internal bus interface controller 31 f, which with the internal Bus 38 is connected, an MPU 31 g for controlling this hardware equipment by a microprogram, a control memory 31 h for storing the program and a bus 31 i.

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, 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.The channel interface protocol controller 31 d analyzes the content of the command transmitted between the channel adapter and the host device and controls the transmission of the data based on a certain sequence in the interface. When the channel interface protocol controller 31 d receives the data to be stored in the semiconductor memory module 33 from the host device, the channel interface protocol controller 31 d briefly stores the data in the data buffer 31 a with a large capacity. The data compression mechanism 31 b compresses the input data from the data buffer 31 a. The selector 31 e selects the data compressed by the data compression mechanism 31 b or the original data (uncompressed data) stored in the data buffer 31 a under the control of the MPU 31 g, and executes them as input signals to the internal bus interface controller 31 f to. The internal bus interface controller 31 f, which has received the data coming from the selection device 31 e, transmits this data to the memory interface adapter 34 . During writing, the compressed data from the compression mechanism 31 via the data selector 31 e, the internal bus interface 31 f and the memory interface adapter are written into the semiconductor memory module 33 34th The uncompressed data are written into the additional semiconductor memory module 33 f via the data buffer 31 a, the selection device 31 e, the internal bus interface 31 f and the memory interface adapter 34 .

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.On the other hand, if the data written in the semiconductor memory module 33 is transferred to the host device, the selector 31 e selectively guides the data to the data compression mechanism 31 b or the data buffer 31 a depending on the identification flag that was written shortly before the data, to indicate whether the data is compressed or uncompressed. That is, if the data that the internal bus interface controller 31 f receives from the memory interface adapter 34 is compressed data, the selector 31 e delivers the data to the data compression mechanism 31 b, whereas it is delivered to the data buffer 31 a if it is uncompressed data. The data compression mechanism 31 b restores the compressed data and stores it in the data buffer 31 a. The data stored in this data buffer 31 a are transmitted to the channel interface protocol controller 31 d and via the channel interface to the host device.

(c-3) Datensteuerungsadapter(c-3) data control adapter

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. Fig. 28 shows the structure of the data control adapter 35th The data control adapter 35 includes the data buffer 35 a with a large capacity, the data compression mechanism 35 b for compressing / restoring the data to be transferred, a dictionary memory 35 c for assisting the compression / restoration operation, an internal bus interface controller 35 b, which is connected to the internal bus 38 is a data comparator 35 e for verifying compressed data by comparing the compressed and restored data with the original uncompressed data, a selector 35 f for selectively outputting the input data to the data compression mechanism 35 b or the data comparator 35 e depending on whether it is when the data input from the internal bus interface controller 35 d is compressed or uncompressed data, an MPU 35 g for controlling these hardware resources by means of a microprogram, a control memory 35 h for storing the program and e a bus 35 i.

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. When the channel adapter 31 has finished writing the compressed data into the semiconductor memory module 33 and the uncompressed data into the additional semiconductor memory module 33 s, the data control adapter 35 reads out the compressed data. These compressed data are used as input data to the data compression mechanism 35 b via the internal bus interface 35 d and the selection means 35 f supplied. The data compression mechanism 35 b restores the compressed data and stores the restored data in the data buffer 35 a.

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.The data control adapter 35 then reads out the uncompressed data stored in the additional semiconductor memory module 33 s. These uncompressed data are transmitted to the data comparator 35 e via the internal bus interface controller 35 d and the selection device 35 f. The data comparator 35 e compares the restored data which are stored in the data buffer 35 a with the uncompressed data which have been read out from the additional semiconductor memory module 35 s.

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.If an abnormality or an error is recognized as a result of this comparison, the data is repaired in the following manner. The uncompressed data are read out again from the additional semiconductor memory module 33 s and stored in the data buffer 35 a via the internal bus interface controller 35 d and the selection device 35 f. After the reading of the uncompressed data has ended, the data compression mechanism 35 b compresses the data stored in the data buffer 35 a and writes the compressed data into the semiconductor memory module 33 via the selection device 35 f and the internal bus interface controller 35 d. After the compressed data has been written in, the data comparison is carried out again in the manner described above in order to confirm the normality of the data.

(c-4) Backup-Plattenadapter(c-4) Backup disk adapter

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. Fig. 29 shows the structure of the backup plate adapter 37th The backup disk adapter 37 comprises a data compression mechanism 37 a for compressing / restoring data, a dictionary memory 37 b for assisting the compression operation, an internal bus interface controller 37 c for controlling the data transfer via an internal bus interface, a magnetic disk interface controller 37 d, which is connected to the backup disk device 36 is connected, a selector 37 e for selectively outputting the data input through the internal bus interface 37 c to the data compression mechanism 37 a or the magnetic disk interface controller 37 d and selectively outputting the output of the data compression mechanism 37 a or the magnetic disk interface controller 37 d to the internal bus interface controller 37 c, an MPU 37 f for controlling these hardware resources by means of a microprogram, a control memory 37 g for storing the program and a bus 37 h.

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.When the backup storage of the data stored in the semiconductor memory module 33 is started, the data received via the internal bus interface controller 37 c is transmitted to the data compression mechanism 37 c by the selection device 37 e. The data compression mechanism 37 a compresses all data including those data that have already been compressed by another data compression mechanism, and transmits this compressed data to the magnetic disk interface controller 37 d. This magnetic disk interface controller 37 d the received data writes to the backup disk device 36 without considering whether it is compressed or uncompressed data. It is possible to write data to the backup disk device 36 by operating the selector 37 e without having the data compressed by the data compression mechanism 37 a.

(c-5) Datenformat(C-5) data format

Ein herkömmliches E/A-Hilfssystem benutzt das gleiche Datenformat wie es bei einer normalen Magnetplatte benut 43552 00070 552 001000280000000200012000285914344100040 0002004447853 00004 43433zt 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 Zugriffsverfahren auf. Der Datenbereich Di zeichnet Daten auf, die allgemein als Benutzerdaten bezeichnet werden.A conventional auxiliary I / O system uses the same data format as that used in a normal magnetic disk 43552 00070 552 001000280000000200012000285914344100040 0002004447853 00004 43433 as shown in Fig. 6 to emulate a magnetic disk. The symbol DIR represents a directory that is inscribed at the head of a track field. This date is typical of a semiconductor disk and does not exist in a current magnetic disk device. After the directory DIR, several data fields Ri are written, each of which is composed of a counting area Ci (i = 1, 2,...), A key area Ki and a data area Di. The count area Ci records a record number and the lengths of the subsequent key area Ki and the data area Di. The key area Ki is not always necessary, but records a key for searching in an access method. The data area Di records data which are generally referred to as user data.

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.In the present invention, the data in the semiconductor memory module 33 is compressed, with the directory area DIR, the count area Ci and the key area Ki removed (for example only the data area Di). The semiconductor plate device eliminates as many unnecessary gap areas as possible, instead, additional information for the semiconductor plate is written in the area corresponding to a gap.

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. Fig. 30 shows the data format which is written according to the present invention, in a semiconductor memory module. In this data format, an identification flag Fi for distinguishing between compressed and uncompressed data is written after the directory area DIR, the count area Di and the key area Ki, and data Di 'compressed by the data compression mechanism is written after the identification flag Fi.

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.The directory area DIR comprises logical address information d1, physical memory address information d2, a compression flag d3 which indicates whether the data has been subjected to compression, the most current date d4 (update information) on which the data in the track area was changed or written , a backup disk usage flag d5, which indicates that part of the data on the track is stored on the backup disk 36 , and a comparison error flag d6 and a recovery success flag d7, which are the result of the verification by the data control adapter Mark 35 .

(c-6) Dateneinschreibsteuerung(c-6) Data write control

Fig. 31 ist eine Ansicht der Betriebsweise der Dateneinschreibsteuerung. Fig. 31 is a view of the operation of the data write control.

Auf eine Halbleiterplatte wird von einer Hilfsvorichtung 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.A semiconductor device is accessed by an auxiliary device in the same manner as on a magnetic disk with high speed access. That is, a positioning command, which specifies the position for the search or the like, a read command and a write command for Perform data transfer from a host device in the same way be released as in the case of a conventional magnetic disk.

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.The channel adapter 31 , which has received a positioning command, requests the resource manager 32 to allow the use of a semiconductor memory module. If the use of the semiconductor memory module is permitted, the address of the corresponding semiconductor memory module is calculated from the selected physical positioning parameter. The directory information of the track in which the obtained address exists is read out from the semiconductor memory module. Processing on the logical address information and the physical address information is carried out.

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.When a write command is issued from the host device after the positioning operation is completed, the channel adapter 31 stores the data received through the channel interface protocol controller 31 d in the data buffer 31 a. The MPU 31 g of the channel adapter 31 controls the selector 31 e, to the output side of the data compression mechanism b select 31 when the data corresponds to the data area d i.

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.The data compression mechanism 31 b compresses the input / output data stored in the data buffer 31 a and passes this compressed data as input data to the internal bus interface controller 31 f. This compressed data is in turn transmitted to the memory interface adapter 34 via the internal bus and stored in the address area which corresponds to the specific semiconductor memory module 33 .

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.When the compressed data are stored, writes the MPU 31 g of the channel adapter 31, the identification flag Fi, which indicates that the data is compressed corresponding to the semiconductor memory module 33 to the data format. The MPU 31 g also controls the selection device 31 e in order to transmit the original data (uncompressed data), which are stored in the data buffer 31 a, to the internal bus interface controller 31 f, and writes them into the additional semiconductor memory module 33 s.

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. After completing the registration, the MPU 31 g updates the update information, the identification flag which indicates that the data is compressed and the like in the directory area DIR. After renewing the directory area DIR, this is written back to the head of the track of the corresponding semiconductor memory module 33 .

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.After all write operations with regard to the semiconductor memory module 33 and the additional semiconductor memory module 33 s have been carried out by the channel adapter 31 , the resource manager 32 prevents access by a host device to the corresponding data for a specific time, by the exclusive control with "busy" is answered. The resource manager 32 then commands the data control adapter 35 to begin verifying the compressed data.

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.The MPU 35 g of the data control adapter 35 reads out the directory area DIR of the compressed data from the semiconductor memory module 33 , and continues to read out the compressed data. The data transmitted by the semiconductor memory module 33 are fed to the data compression mechanism 35 b as input data via the internal bus interface controller 35 d and the selection device 35 f.

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.The data compression mechanism 35 b restores the input data and stores it in the data buffer 35 a. The data compression mechanism 35 b then reads the uncompressed data from the additional semiconductor memory module 33 s and feeds this uncompressed data as input data to the data comparator 35 e. The data comparator 35 e compares the restored data with the uncompressed data.

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.If the normality of the data is confirmed as a result of the comparison, the data control adapter 35 informs the resource manager 32 of the normal end of the write operation without performing any processing, such as restoring the directory area DIR. The resource manager 32 , which has received the information, removes the temporary ban on accessing the data with a host device.

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 Einschrieben 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.If an abnormality or an error in the data is recognized as a result of the data comparison, the MPU 35 g of the data control adapter 35 reads out the uncompressed data from the additional semiconductor memory module 33 s. The data compression mechanism 35 b compresses the data on the basis of the uncompressed data read out and writes the compressed data into the semiconductor memory module 33 . When the compression of the compressed data is finished, the data control adapter 35 performs the data verification described above. If the normality of the compressed data stored in the semiconductor memory module 33 is again confirmed by the second verification, both the comparison error flag d6 and the normality recovery flag d7 are set to "1" in the directory area DIR of the compressed data. Then the directory area DIR is written back into the semiconductor memory module 33 . As soon as the restore of the directory area DIR has ended, the resource manager 32 is informed of the end of the verification, whereby the process is ended. The resource manager 32 then removes the temporary ban on the host device from accessing the data.

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.On the other hand, if an abnormality is detected as a result of the data recovery, the data control adapter 35 sets the comparison error flag d6 (not the normality recovery flag d7) to "1" and writes the directory area DIR back to the semiconductor memory module 33 . As soon as the directory area DIR has been restored, the resource manager 32 is informed of the end of the verification, whereby this process ends. The resource manager 32 then removes the temporary ban on a host device from accessing the data.

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.The sequence described above can then be used as long as a semiconductor memory module does not overflow. Fig. 32 is a view of the operation of the data write control in the event that a semiconductor memory module overflows.

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.If the compressed data is larger than the original data, it is sometimes physically impossible to write the compressed data into a selected semiconductor memory module 33 . In such a case, the resource manager 32 is informed of an error due to the area overflow. When the resource manager receives this error information, the channel adapter 31 is instructed to suspend writing the compressed data to the semiconductor memory module 33 and instead to write the uncompressed data to the backup disk device 36 . The channel adapter 31 then interrupts the writing of the compressed data into the semiconductor memory module 33 and starts the short-term storage of the uncompressed data in the backup disk device 36 . The backup disk adapter 37 then switches the selector 37 e to write the data transferred from the channel adapter 31 via the internal bus interface to the backup disk device 36 without compression. Since a sufficiently large area is temporarily allocated for short-term storage in the backup disk device 36 , there is no possibility that the user data already stored as backup data will be damaged.

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.As soon as the writing into the backup disk device 36 has ended, the MPU 31 g of the channel adapter 31 writes the uncompressed data stored in the data buffer 31 a into the additional semiconductor memory module 33 s via the internal bus interface controller 31 f. After this operation, the MPU 31 renews g of the channel adapter 31, the update information is d4, the compression flag d3, which indicates that the data is compressed, and the flag d5, which indicates that the data stored in the backup disk device 36 and writes the renewed directory area DIR back to the semiconductor memory module 33 .

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.Once the writing is completed in the backup disk device 36, the backup disk adapter calls 37 the resource manager 32, to allow the use of the semiconductor memory module 33 to the uncompressed data to be written that are briefly stored in the memory module 33rd If the use of the semiconductor memory module 33 is permitted, the backup disk adapter 37 reads out the uncompressed data from the backup disk device 36 and writes it into the semiconductor memory module 33 . When the enrollment is complete, the backup disk adapter 37 informs the resource manager 32 of the end of the enrollment, thereby completing the process. The resource manager 32 then removes the temporary ban on a host device from accessing the data.

(c-7) Datenlesesteuerung(C-7) data read control

Fig. 33 zeigt eine erklärende Darstellung der Abfolge der Datenlesesteuerung. Fig. 33 shows an explanatory illustration of the sequence of data reading control.

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.The channel adapter 31 , which has received a positioning command, requests the resource manager 32 to allow the use of a semiconductor memory module in the same way as when writing. If the use of the semiconductor memory module is permitted, the address of the corresponding semiconductor memory module is calculated from the selected physical positioning parameters. The directory information of the track in which the received address occurs is read out from the semiconductor memory module. Then processing is performed on the logical address information and the physical address information.

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.When a read command is issued from the host device after completion of the positioning, starts the MPU 31 g of the channel adapter 31 with the reading of the data from the semiconductor memory module 33 in which the data is stored. The MPU 31 g checks whether the data is compressed or uncompressed by referring to the identification flag Fi. If the data is compressed, provides the MPU 31 g of the compressed data through the internal bus interface 31 f and the selector 31 e to the data compression mechanism 31 e. The data compression mechanism 31 b restores the data and transfers it via the data buffer 31 a and the data interface protocol controller 31 d to the channel interface. On the other hand, if the data is uncompressed, the MPU 31 g stores the uncompressed data directly in the data buffer 31 a. The MPU 31 g then transmits the data to the channel interface via the data interface protocol controller 31 d.

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. In the above-mentioned read operation, the MPU 31 checks g of the channel adapter 31 sets the state of the data based on the contents of the directory area DIR. That is., That the MPU g 31 the status of the data checks based on the flag d5 to d7, which were written by the channel adapter 31 or the data control adapter 35 at the time of data registration, and transmits the status to the host device. For example, if the backup use flag d5 is set to "1", the normal data can be read out. However, since there is a risk of an area in the semiconductor memory module being too small, a warning is issued. When the comparison error flag d6 is set to "1" and the recovery flag d7 is set to "0", the abnormal data is notified in the same manner as in the data verification so that the data is rewritten and transmitted become.

(c-8) Backup-Steuerung(C-8) backup control

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.Since a semiconductor memory is a volatile recording medium, the Data in the semiconductor memory is backed up in a magnetic disk device (backup), if that System is stopped or in an emergency. This is the Magnetic disk device around a non-volatile recording medium.

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 36q 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.As shown in FIG. 34, areas 36 a n up to 36 and 36 s, said semiconductor memory modules 33 a n to 33 and 33 s correspond, and a temporary storage area 36 p in advance of the backup disk device 36 assigned to it. Each of the areas 36 a to 36 n and 36 s is ultimately divided into areas for tracks, each of which corresponds to the track emulated in the semiconductor memory module. The backup disk device 36 also includes areas 36 q and 36 r for storing the time at which the backup operation ends and the time at which the write-back operation (operation to restore the data from the backup disk device to the semiconductor memory module) ends. If a backup operation is to be carried out, the backup disk adapter 37 outputs the data transmitted from the semiconductor memory modules 33 a to 33 n and 33 s via the internal bus interface controller 37 c and the selection device 37 d to the data compression mechanism 37 a. The data compression mechanism 37 a compressed together the input data and writes the compressed data in the corresponding areas of the backup disk device 36 via the magnetic disk interface controller 37 d.

Der Backup-Plattenadapter 37 schreibt das Datum, das den Fertigstellungszeitpunkt der Backup-Operation angibt, in das Gebiet 36q 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. The backup disk adapter 37 writes the date indicating the completion time of the backup operation in the area 36 q of the backup disk device 36 and internally reads and stores the date on which the data was written back. If a backup operation is normally instructed, the backup disk adapter 37 compares the stored time with the update information of the directory stored in the header of the semiconductor memory module track. If the date of the directory is older than the latest backup completion date, the date stored on the track is not written into the backup disk device 36 . In this way it is possible to shorten the backup time.

(c-9) Modifikation(c-9) modification

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.Although only one channel adapter 31 , one memory interface adapter 34 and one backup disk adapter 37 are used in the previously described embodiment, the number of these devices can be increased.

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.Although only one data control adapter 35 is provided in the semiconductor disk device in this embodiment, a plurality of data control adapters may be provided to enable parallel processing.

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.Although the data for each track is stored as a unit in the backup disk device 36 in this embodiment, the data for each cylinder or the data for each sector can be stored as a unit.

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.Although in this embodiment, an additional semiconductor memory module for storage uncompressed data is provided, a part of each semiconductor memory module as Additional semiconductor memory module can be used instead.

(c-10) Vorteile(c-10) advantages

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.Since, as previously described, some of the data is compressed before storage, it is possible a semiconductor disk device for storing a compared to the capacity a larger amount of data to provide a semiconductor memory.

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.Since a data buffer with a large capacity is provided inside the channel adapter it is possible to transfer data while respecting the data transfer speed of a host device is kept constant. This can reduce the strain that is caused will be alleviated if data is processed.

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.In addition, since a data control adapter is used, it is possible to restore the normality of the to verify compressed data within the auxiliary system without the connection with  a host device. Even if incorrect data as a result of the verification are recognized, it is possible to restore the data within the auxiliary system.

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.As update information in the directory area and in the backup disk device saved, the time required for the data backup is also reduced.

(d) Initialisierung des Speichers(d) Memory initialization (d-1) Schematische Erläuterung der Initialisierung(d-1) Schematic explanation of the initialization

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. FIG. 35A and 35B are explanatory views of a conventional Speicherinitialisierungsverfahrens, which is applied to a semiconductor disk or the like in a I / O subsystem. In Fig. 35A, the symbol INCT represents a conventional initialization address counter, where the symbols CA0 to CAn represent the column addresses of (n + 1) bits, and RA0 to RAm the row addresses of (m + 1) bits. A dynamic RAM, which is volatile memory, is supplied with both the row addresses which represent an address in the row direction of the memory and with column addresses which identify an address in the column direction of the memory. In the conventional initialization address counter, the least significant bit of the counter output signal is CA0 and the most significant bit is RAM. With the help of the INCT counter, serial address signals are generated in ascending order. Initialization data are written into the memory cells in the counter INCT, the sequence being indicated by the arrows with solid lines in FIG. 35b.

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 dThe dynamic RAM must be refreshed at constant time intervals. To refresh the dynamic RAM, the data of all the memory cells in a row identified by the address RA are read by a sense amplifier SA in the memory as shown in Fig. 36A and written back to the memory cells in the same row to

ie 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 3 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 .To keep the charges stored in the cells above a constant value. This operation is repeated at a constant interval with respect to the data of all lines. If this refreshing of the data is not carried out for all cells at a constant time interval, the data stored in the memory will be lost. If data is written into the memory, the effect is the same as that of refreshing. That is, if data is written into a cell 3 in Fig. 36B, the data in the row which is externally designated by the row address RA is read into the sense amplifier SA. After the data in the cell identified by the column address CA has been renewed by externally supplied data, all data are written back to the memory cells in the same row. In this way, the data write produces the same effect as refreshing the data in all cells of the row.

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.Referring now to Figure 35B. If the initialization data is sequentially written into the cells in the row of memory, the time to hold the charges expires before the data is written into the cells of the row, so that the charges in the cells of the row are lost. For this reason, the refresh explained in Fig. 36A is necessary during the initialization in the conventional memory initialization method, thereby extending the initialization time.

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.On the other hand, in the initialization address counter INCT of the present invention, as shown in Fig. 37A, the least significant bit of the counter output signal RA0 and the most significant bit CAn. By using this counter, the generated addresses are non-serial compared to those generated by a conventional counter, and data is continuously written into the memory cells in the order of the columns as indicated by the solid line arrows in Fig. 37b. According to this data writing method, the time for writing the data into the cells is up to and shorter than the interval between two refresh operations, so that the charges are stored in the memory cell unchanged until the data is written into the memory cell. At the time of writing the data into the memory cell, the memory cell that is on the same row as the memory cell is refreshed due to the refreshing effect explained in Fig. 36B. That is, according to the initialization method using the initialization address counter of the present invention, it is not necessary to perform refresh individually, thereby shortening the initialization time by this amount.

(d-2) Aufbau der Ausführungsbeispiele des Speicherinitialisierungsverfahrens der Erfindung(d-2) Structure of the embodiments of the memory initialization method of the invention

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. 38 shows the structure of an embodiment of a Speicherinitialisierungsverfahrens the present invention. In Fig. 38, reference numeral 41 denotes volatile memory such as dynamic RAM that needs refresh, 42 an access controller, 43 an initialization address generator, 44 a data generator, and 45 an address switching area. In the Initialisierungsadreßerzeuger 43, reference numeral 43 denotes a an up counter by (n + 1) bits to output Initialisierungsspaltenadressen CA0 to CAn and 43b of an up-counter (m + 1) bits to output Initialisierungszeilenadressen RA0 to RAM. At the start of the initialization, both counters 43 a and 43 b output a logical zero. The data generator 44, the reference numeral 44 designate a is a register for storing the initialization data 44b, a selector for selecting the initialization data or the write data 44c and a data memory register. In Adreßumschaltbereich 45, reference numeral denote 45 a selection means for switching between a Initialisierungsspaltenadresse and a data access column address, 45b a selector for switching between a Initialisierungszeilenadresse and a data access row address and 45c a selection device for selecting a row address or a column address depending on a switch signal 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. Fig. 39 is a timing chart of the operation of the embodiment shown in Fig. 38, showing the operations of the counters 43 a, 43 b and the selector 45 c.

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. When the power switch is turned on, and an initialization signal IS is generated, the selector switch 44 b to a data signal DT from a host module as the input signal to a Initialisierungsschreibdatensignal IDT, which is output from the register 44 a, and stores the Initialisierungsschreibdatensignal IDT in the register 44 c. The selection device 45 a switches the column addresses CA0 'to CAn' as an input signal from a host module to the initialization column addresses CA0 to CAn as the output signal from the counter 43 a, and the selection device 45 b switches the row addresses RA0 'to RAm' as an input signal from the host Module to the initialization row addresses RA0 to RAm as an output signal from the counter 43 b.

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 3 bis 4 in Fig. 37b eingeschrieben. Wenn die Daten in der zweiten Spalte eingeschrieben werden, werden die Speicherzellen bis aufgefrischt aufgrund des zuvor beschriebenen Auffrischungseffekts.An AND gate 43 c gives a clock signal CL to the counter 43 b and to an AND gate 43 d. Since a carry signal CRY from the counter 43 b remains in the state of a logic 0, the clock signal CL is not supplied to the counter 43 a. The counter 43 b counts up according to the clock signal CL. Since the switch signal SWS changes half of the clock signal period CL, the selector 45 c alternately outputs an address signal AD, which is composed of the row address RA and the column address CA, during a clock, as shown in FIG. 39. At this time, data is written in the order of the memory cells to, (in the serial order of the rows) in Fig. 37B. When the counter 43 b counts up and all initialization line address signals Ra0 to Ram become "1", the carry signal CRY of the counter 43 b is output and the AND gate 43 b is opened. The counter 43 a counts up at the next clock, and all output signals of the counter 43 b become logic "0". Therefore, the carry signal CRY is again logical 0. While the counter 43b counts up data are written in the order of the memory cell 3 to 4 in Fig. 37b. When the data is written in the second column, the memory cells 12 are refreshed due to the refresh effect described above.

Dieser Ablauf wird wiederholt, und wenn alle Ausgangssignale der Zähler 43a und 43b logisch "1" werden (in Fig. 37Bin 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.This process is repeated and when all the output signals of the counters 43 a and 43 b become logic "1" (shown in FIG. 37B in cell), both carry signals CRY ', CRY of the counters 43 a and 43 b become "1". An initialization end signal IED is output as the output signal of an AND gate 43 e and the host module is informed of the end of the initialization of the memory 41 .

Fig. 40 zeigt den Aufbau eines anderen Ausführungsbeispiels eines Speicherinitialisierungsverfahrens der vorliegenden Erfindung. In jedem Speichermodul 40 1 bis 40 4 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 1 bis 40 4 separat voneinander zugreifen. Wenn beispielsweise das zweite Speichermodul 40 2 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 2 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 2 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. Fig. 40 shows the structure of another embodiment of a Speicherinitialisierungsverfahrens the present invention. In each memory module 40 1 to 40 4 , the same reference numerals are used for the elements that correspond to those of the exemplary embodiment shown in FIG. 38. In this exemplary embodiment, the access controller 46 can access each of the memory modules 40 1 to 40 4 separately from one another. For example, if the second memory module 40 2 is added from above because, for example, a printed circuit board is used, the access controller 46 transmits an initialization command signal ISTb in response to a request for initialization from a host module. The flip-flop 47 in the memory module 40 2 is then set and the access controller 42 in the memory module generates an initialization address, as previously described, in order to carry out the initialization of the memory. When the initialization has ended, an initialization end signal IEDb is delivered, the flip-flop is reset and the access controller 46 is informed of the end of the initialization. In this embodiment, since the refresh is not necessary during the initialization, and the initialization of the memory module 40 2 is carried out as a single unit, the access controller 46 can access another memory module during the initialization between the transmission of the initialization command signal IEDb and the receipt of the initialization end signal IEDb ,

Es ist auch möglich, einen anderen Zugriffscontroller 46 (nicht gezeigt) vorzusehen, so daß die beiden Zugriffscontroller individuell auf mehrere Speichermodule 40 1 bis 40 4 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.It is also possible to provide another access controller 46 (not shown) so that the two access controllers can individually access a plurality of memory modules 40 1 to 40 4 . If a memory module is added in this configuration, for example because a printed circuit board is used, one of the access controllers 46 s transmits the initialization command signals ISTa to ISTd. Then the initialization of the selected memory module is carried out as a single unit. Therefore, two access controllers 46 can process a request to access a host module even during the initialization of the memory module.

(d-3) Initialisierungsverfahren, wenn ein Hochgeschwindigkeitszugriff möglich ist(d-3) Initialization procedure when high-speed access is possible

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. In order to carry out high-speed initialization, dynamic RAM which permits high-speed access, for example in a nipple mode and a high-speed side mode, is introduced. In nipple mode or high speed page mode, it is possible to read / write data in consecutive four memory cells in one row or any four cells in one row. Fig. 41 shows this structure of an initialization address counter used in a high speed page mode. The initialization address counter consists of a counter 51 of 2 bits, a counter 52 of (n - 1) bits, a counter 53 of (m + 1) and AND gates 54 to 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.A clock signal CL is constantly supplied to the counter 51 . A clock signal CL is supplied to the counter 53 only when a carry signal CRY1 is output from the counter 51 (all output signals of the counter 51 are logic "1"). A clock signal CL is supplied to the counter 52 when the carry signal CRY1 and a carry signal CRY3 are output from the counters 51 and 53 at the same time. The counter 51 outputs the lower 2 bits CA0, CA1 of the column address, the counter 52 outputs the upper (n - 1) bits CA2 to CAn of the column address, and the counter 53 outputs the row addresses RA0 to RAm of (m + 1) Bits out. If all the carry signals CRY1 to CRY3 of the counters 51 to 53 are output, the output signal IED of the AND gate 54 becomes logic "1", which indicates the end of the initialization.

Die Daten werden während der Initialisierung in die Speicherzellen in der Reihenfolge von 1 bis 8 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 1 bis 4 benötigte Zeit ist kürzer als der Zeitabstand zwischen zwei Auffrischungsoperationen.The data is written into the memory cells in the order of 1 to 8 during the initialization by using the initialization address counter as shown in FIG. 42. The data written in the memory cells 11 to 12 are refreshed when the data are written in the memory cells 11 to 12. The time required for the data to be written into cells 1 to 4 is shorter than the interval between two refresh operations.

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. Fig. 43 shows the structure of a further embodiment of a memory initialization method according to the present invention, in which the memory 41 is divided into a plurality of memory blocks 41 a to 41 d. In this case, the address signal AD from a host module contains column address signals CA0 'to CAn', row address signals RA0 'to RAm' and a signal BSL for selecting a memory block. The selector 45 outputs one of selection signals d SLa to SLd from based on the signal BSL so that on one of the memory blocks 41 is a to 41 d, which have received the selection signal SLa to SLd, accessed. Selecting one of the memory blocks 41a to 41d simultaneously with the transfer of the address signal is required at the time of initialization. The initialization address counter 43 therefore has a structure as shown, for example, in FIG. 44. The initialization address counter 43 is generated by adding a 2-bit counter 57 , a decoder 58 for decoding the outputs of the counter 57, and AND gates 59a , 59b to the structure shown in Fig. 41, assuming that the high speed page mode described above is used.

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.A clock signal CL is constantly supplied to the counter 51 , and a clock signal CL is supplied to the counter 53 only when a carry signal CRY1 is output from the counter 51 . A clock signal CL is supplied to the counter 57 only when the carry signal CRY1 and a carry signal CRY3 are output from the counters 51 and 53 at the same time, and a clock signal CL is supplied to the counter 52 only when the carry signal CRY1 is a carry signal CRY2 and a carry signal CRY4 are simultaneously output by counters 51 , 52 and 57 .

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ähler 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.In this initialization method using the initialization address counter 43 , the data is written into the memory cells in the order shown in FIG. 45. The internal cells of the memory blocks 41a to 41d , as shown in Fig. 43, are shown in Fig. 45. Data is written into the cells in the same manner as shown in Fig. 43. After the data is written into the cell, the output of the counter 57 and the memory block 41 changes b is selected so that the data are then written in the cell of the memory block 41b. Subsequently, data in the memory blocks 41 c and 41 d is written in the same way. When the writing of the data into the memory block 41d has ended, the memory block 41a is selected again, but since the counter 52 then counts up, the data are written into the memory cell. Since the cells are refreshed until while the data is being written into the cell bis, there is no possibility of losing the content of the memory cells bis.

(d-4) Vorteile(d-4) advantages

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.During the initialization, which requires a refresh, the generation of the Addresses the individual refresh operations according to a specific rule, which shortens the initialization time.

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.In addition, a host module and the access controller can perform the initialization without Impact the refresh. It can be prevented that the  Memory access performance is reduced due to the initialization, thereby reducing the Performance of the information processing device is increased.

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.As described above, according to the invention it is not necessary to have a large stationary one To prepare an exclusive control table for the maximum configuration of an I / O auxiliary system in Contrary to a conventional auxiliary I / O system. An exclusive control table is sufficient by listing only the host interfaces currently connected to the auxiliary I / O system are. It is therefore possible to reduce the size of the exclusive control table and thus also the memory requirement for this table. Since the logical path control table LPT in stored in a non-volatile memory that does not lose the content even then, when the power is turned off and a logical path number on the Based on the logical path control table LPT is assigned, it is possible to Restore a logical path number before the power failure, so that the same environment can be reproduced at the time the error was analyzed or a reproduction test of the error can be carried out. According to the invention, it is based on this Possible way to increase the performance of the I / O subsystem.

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.Since, according to the invention, part of the data is compressed before being stored, it is possible to to provide a semiconductor disk device for storing a large amount of data Comparison to the capacity of a semiconductor memory. At the time of data compression it is possible to compress data while the data transfer speed is kept constant with respect to a host device and thereby by the Compression of the data caused load is alleviated, since a data buffer with a large capacity is provided within the channel adapter. It is possible to normalcy to verify the compressed data within the auxiliary system without the connection with a host device. Even if abnormal data or error data as a result the verification are recognized, it is possible to restore the data in the auxiliary system. Since such data compression allows a large capacity of the data to be stored, it is possible to increase the performance of the auxiliary I / O system.

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.If, according to the invention, the initialization data are stored in volatile memory for each Line needs a refresh, the initialization data will be in  all memory cells of an i-th column are written while the row addresses are in succession RA are generated in an ascending order, with the column address CA on is kept at a constant value i. The step of writing the initialization data is in the same way for successive columns repeated while the column address CA is gradually increased. Because refreshing and data registration at the same time be carried out, it is not necessary to refresh separately from data registration to be carried out if the time required to enroll the data is shorter than the Period between two refresh operations. This shortens the Initialization time. If a high-speed memory is used, the Column addresses CA divided into an upper column address and a lower column address, and the initialization data is written into the memory cells while successively lower column addresses are generated in ascending order, whereby the upper column address and the row address RA are recorded. The Initialization data are then written into the following line in the same way. After the initialization data has been written in all lines, the letter is written of the data is repeated while the upper column address is incremented by one. With With this method, a separate refresh can also be avoided, which results in the initialization time is reduced. According to the invention it is possible in this way, the To increase the performance of the I / O subsystem.

Claims (17)

1. E/A-Hilfssystem mit
mehreren Kanaladaptern, wobei jeder eine einzelne oder mehrere Host-Schnittstellen zu und von einer Host-Vorrichtung (30) aufweist;
mehreren E/A-Geräten, die gemeinsam von den mehreren Host-Schnittstellen benutzt werden;
mehreren Geräteadaptern, die als Schnittstellen zu und von den E/A-Geräten dienen; und
einem Betriebsmittelmanager (32) zum Verwalten der Betriebsmittel des E/A- Hilfssystems als Ganzes; umfassend:
ein aus mehreren Halbleiterspeicherchips bestehendes Halbleiterspeichermodul (33), das als E/A-Gerät (22) dient;
einen Speicher-Schnittstellenadapter (34), der das Einschreiben und Auslesen der Daten in bzw. aus dem Halbleiterspeichermodul (33) steuert, wobei der Speicher- Schnittstellenadapter als Geräteadapter vorgesehen ist;
einen Daten-Komprimierungs/Wiederherstellungs-Mechanismus (31b), der Daten komprimiert und komprimierte Daten wiederherstellt; und
eine Verifikationsvorrichtung, die die komprimierten Daten wiederherstellt und die komprimierten Daten verifiziert, indem die wiederhergestellten Daten mit den Daten vor der Komprimierung verglichen werden.
dadurch gekennzeichnet, daß
die Verifikationsvorrichtung die von dem Daten-Komprimierungs/Wiederherstellungs- Mechanismus (31b) komprimierten Daten aus dem Halbleiterspeichermodul (33) ausliest und verifiziert.
1. I / O auxiliary system with
a plurality of channel adapters, each having a single or multiple host interfaces to and from a host device ( 30 );
multiple I / O devices shared by the multiple host interfaces;
multiple device adapters that serve as interfaces to and from the I / O devices; and
a resource manager ( 32 ) for managing the resources of the auxiliary I / O system as a whole; full:
a semiconductor memory module ( 33 ) consisting of a plurality of semiconductor memory chips and serving as an I / O device ( 22 );
a memory interface adapter ( 34 ) which controls the writing and reading of the data into or from the semiconductor memory module ( 33 ), the memory interface adapter being provided as a device adapter;
a data compression / recovery mechanism (31 b), the data is compressed and restores compressed data; and
a verification device that restores the compressed data and verifies the compressed data by comparing the restored data with the data before compression.
characterized in that
the verification device which (31 b) reads out and verified by the data compression / recovery mechanism compressed data from the semiconductor memory module (33).
2. E/A-Hilfssystem nach Anspruch 1, dadurch gekennzeichnet, daß
ein Datenpuffer (35a) mit einer großen Kapazität und ein Daten- Komprimierungsmechanismus (35b) im Kanaladapter (21, 31) vorgesehen wird;
die im Datenpuffer (35a) gespeicherten Eingangsdaten von dem Daten- Komprimierungsmechanismus (35b) komprimiert und diese komprimierten Daten in das Halbleiterspeichermodul (33) eingeschrieben werden.
2. I / O auxiliary system according to claim 1, characterized in that
a data buffer ( 35 a) with a large capacity and a data compression mechanism ( 35 b) in the channel adapter ( 21 , 31 ) is provided;
the input data stored in the data buffer ( 35 a) is compressed by the data compression mechanism ( 35 b) and this compressed data is written into the semiconductor memory module ( 33 ).
3. E/A-Hilfssystem nach Anspruch 2, dadurch gekennzeichnet, daß
die im Datenpuffer (35a) gespeicherten Daten vor der Komprimierung in ein Zusatz-Halbleiterspeichermodul (33) eingeschrieben werden nachdem die komprimierten Daten in das Halbleiterspeichermodul (33) eingeschrieben wurden; und
die Daten vor der Komprimierung aus dem Zusatz-Halbleiterspeichermodul (33) ausgelesen werden, um diese Daten mit den komprimierten Daten zu vergleichen.
3. I / O auxiliary system according to claim 2, characterized in that
the data stored in the data buffer ( 35 a) are written into an additional semiconductor memory module ( 33 ) before compression after the compressed data have been written into the semiconductor memory module ( 33 ); and
the data are read out from the additional semiconductor memory module ( 33 ) prior to compression in order to compare this data with the compressed data.
4. E/A-Hilfssystem nach Anspruch 3, dadurch gekennzeichnet, daß
die aus dem Zusatz-Halbleiterspeichermodul (33s) ausgelesenen Daten komprimiert und in die Halbleiterspeichermodule (33a-33n) eingeschrieben werden, falls eine Anormalität als Ergebnis des Datenvergleichs festgestellt wird;
die in die Halbleiterspeichermodule (33a-33n) eingeschriebenen Daten ausgelesen und wiederhergestellt werden; und
die in die Halbleiterspeichermodule (33a-33n) eingeschriebenen komprimierten Daten verifiziert werden, indem die wiederhergestellten Daten mit den aus dem Zusatz- Halbleiterspeichermodul (33s) ausgelesenen Daten verglichen werden.
4. I / O auxiliary system according to claim 3, characterized in that
the data read from the additional semiconductor memory module ( 33 s) is compressed and written into the semiconductor memory modules ( 33 a- 33 n) if an abnormality is found as a result of the data comparison;
the data written into the semiconductor memory modules ( 33 a- 33 n) are read out and restored; and
the compressed data written into the semiconductor memory modules ( 33 a- 33 n) are verified by comparing the restored data with the data read out from the additional semiconductor memory module ( 33 s).
5. E/A-Hilfssystem nach Anspruch 1, dadurch gekennzeichnet, daß ein Signal, das den Zustand "Beschäftigt" anzeigt, vom Exklusiv-Controller (23) geliefert wird in Antwort auf die Anforderung zum Zugriff auf das Halbleiterspeichermodul (33) während des Datenvergleichs.5. I / O auxiliary system according to claim 1, characterized in that a signal indicating the "busy" state is supplied by the exclusive controller ( 23 ) in response to the request to access the semiconductor memory module ( 33 ) during the data comparison. 6. E/A-Hilfssystem nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß das E/A-Hilfssystem eine Halbleiterplatten-Vorrichtung (20) ist, indem eine Magnetplatten-Vorrichtung emuliert wird.6. I / O auxiliary system according to one of claims 1 to 5, characterized in that the I / O auxiliary system is a semiconductor disk device ( 20 ) by emulating a magnetic disk device. 7. E/A-Hilfssystem nach Anspruch 6, dadurch gekennzeichnet, daß
ein Verzeichnis, das Steuerungsinformationen von Datensätzen enthält, in ein Spurgebiet am Kopf eines Spurgebiets, das einer Spur einer Magnetplatten-Vorrichtung entspricht, eingeschrieben und die Datensätze hinter bzw. nach dem Verzeichnis eingeschrieben werden;
jedem Datensatz ein Flag hinzugefügt wird, das angibt, ob die Daten dieses Datensatzes komprimiert sind oder nicht; und
dem Verzeichnis hinzugefügt werden: logische Adreßinformationen, physikalische Speicheradreßinformationen, ein Komprimierungs-Flag, das anzeigt, daß die Daten komprimiert sind, und das aktuelle Datum, an dem das Spurgebiet geändert oder eingeschrieben wurde.
7. I / O auxiliary system according to claim 6, characterized in that
a directory containing control information of records is written into a track area at the head of a track area corresponding to a track of a magnetic disk device, and the records are written after or after the directory;
a flag is added to each record indicating whether the data of that record is compressed or not; and
added to the directory: logical address information, physical memory address information, a compression flag indicating that the data is compressed, and the current date when the track area was changed or registered.
8. E/A-Hilfssystem nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß
die im Halbleiterspeichermodul (33a-33n) gespeicherten Daten in einer Backup- Plattenvorrichtung (36) gesichert werden;
das Backup-Fertigstellungsdatum gespeichert wird, wenn die im Halbleiterspeichermodul (33) gespeicherten Daten in der Backup-Plattenvorrichtung (36) gesichert werden;
das im Verzeichnis enthaltene Datum mit dem Backup-Fertigstellungsdatum verglichen wird, wenn die im Halbleiterspeicher gespeicherten Daten wieder gesichert werden; und
die gegenüber dem Backup-Fertigstellungsdatum neueren Daten in der Backup- Plattenvorrichtung (36) gesichert werden, während ältere Daten nicht gesichert werden.
8. I / O auxiliary system according to one of claims 1 to 7, characterized in that
the (n 33 33 a-) data stored be saved in a backup plate means (36) in the semiconductor storage module;
the backup completion date is saved when the data stored in the semiconductor memory module ( 33 ) is saved in the backup disk device ( 36 );
the date contained in the directory is compared with the backup completion date when the data stored in the semiconductor memory is backed up; and
data that is newer than the backup completion date is backed up in the backup disk device ( 36 ) while older data is not backed up.
9. E/A-Hilfssystem nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß
eine Datensicherungs-(Backup) Plattenvorrichtung und ein Backup-Adapter zur Steuerung der Ein- und Ausgabe der Daten zu bzw. von der Backup-Plattenvorrichtung (36) vorgesehen werden;
unkomprimierte Daten in der Backup-Plattenvorrichtung (36) gespeichert werden, wenn das Halbleiterspeichermodul (33a-33n) während des Einschreibens der komprimierten Daten voll wird, da die Größe der komprimierten Daten diejenige der unkomprimierten Daten übersteigt; und
anschließend die umkomprimierten Daten von der Backup-Plattenvorrichtung (36) in das Halbleiterspeichermodul (33) eingeschrieben werden.
9. I / O auxiliary system according to one of claims 1 to 8, characterized in that
a backup disk device and a backup adapter for controlling the input and output of data to and from the backup disk device ( 36 ) are provided;
uncompressed data is stored in the backup disk device (36) when said semiconductor memory module (33 a- 33 n) during the writing of the compressed data becomes full because the size of the compressed data that of the uncompressed data exceeds; and
then the recompressed data is written into the semiconductor memory module ( 33 ) by the backup disk device ( 36 ).
10. Datenspeicherverfahren in einem E/A-Hilfssystem mit mehreren Kanaladaptern, wobei jeder eine einzelne oder mehrere Host-Schnittstellen zu und von einer Host- Vorrichtung (30) aufweist;
mehreren E/A-Geräten, die gemeinsam von den mehreren Host-Schnittstellen benutzt werden;
mehreren Geräteadaptern, die als Schnittstellen zu und von den E/A-Geräten dienen; und
einem Betriebsmittelmanager (32) zum Verwalten der Betriebsmittel des E/A- Hilfssystems als Ganzes; umfassend:
ein aus mehreren Halbleiterspeicherchips bestehendes Halbleiterspeichermodul (33), das als E/A-Gerät (22) dient;
einen Speicher-Schnittstellenadapter (34), der das Einschreiben und Auslesen der Daten in bzw. aus dem Halbleiterspeichermodul (33) steuert, wobei der Speicher- Schnittstellenadapter als Geräteadapter vorgesehen ist;
einen Daten-Komprimierungs/Wiederherstellungs-Mechanismus (31b), der Daten komprimiert und komprimierte Daten wiederherstellt; und
eine Verifikationsvorrichtung, die die komprimierten Daten wiederherstellt und die komprimierten Daten verifiziert, indem die wiederhergestellten Daten mit den Daten vor der Komprimierung verglichen werden,
mit den Schritten:
Komprimieren (31b) der von der Host-Vorrichtung (30) gesendeten Daten;
Verifizierung der komprimierten Daten durch Wiederherstellten der von der Host-Vorrichtung (30) gesendeten Daten aus den komprimierten Daten und Vergleichen der wiederhergestellten Daten mit den Daten vor der Komprimierung;
dadurch gekennzeichnet, daß
die komprimierten Daten nach der Komprimierung (31b) in das Halbleiterspeichermodule (33) eingeschrieben und zur Verifizierung aus dem Halbleiterspeichermodul (33) ausgelesen werden.
10. A data storage method in an auxiliary I / O system with multiple channel adapters, each having a single or multiple host interfaces to and from a host device ( 30 );
multiple I / O devices shared by the multiple host interfaces;
multiple device adapters that serve as interfaces to and from the I / O devices; and
a resource manager ( 32 ) for managing the resources of the auxiliary I / O system as a whole; full:
a semiconductor memory module ( 33 ) consisting of a plurality of semiconductor memory chips and serving as an I / O device ( 22 );
a memory interface adapter ( 34 ) which controls the writing and reading of the data into or from the semiconductor memory module ( 33 ), the memory interface adapter being provided as a device adapter;
a data compression / recovery mechanism (31 b), the data is compressed and restores compressed data; and
a verification device that restores the compressed data and verifies the compressed data by comparing the restored data with the data before compression,
with the steps:
Compressing (31 b) of the data transmitted from the host device (30);
Verifying the compressed data by recovering the data sent from the host device ( 30 ) from the compressed data and comparing the recovered data with the data before compression;
characterized in that
the compressed data after the compression ( 31 b) is written into the semiconductor memory module ( 33 ) and read out for verification from the semiconductor memory module ( 33 ).
11. Datenspeicherverfahren nach Anspruch 10, dadurch gekennzeichnet, daß
die von der Host-Vorrichtung (30) gesendeten Daten in einem Datenpuffer (35a) mit einer großen Kapazität gepuffert werden; und
die im Datenpuffer (35a) gespeicherten Daten komprimiert und diese komprimierten Daten in das Halbleiterspeichermodul (33) eingeschrieben werden.
11. Data storage method according to claim 10, characterized in that
the data sent by the host device ( 30 ) are buffered in a data buffer ( 35 a) with a large capacity; and
the data stored in the data buffer ( 35 a) is compressed and this compressed data is written into the semiconductor memory module ( 33 ).
12. Datenspeicherverfahren nach Anspruch 11, dadurch gekennzeichnet, daß
die im Datenpuffer (35a) gespeicherten Daten vor der Komprimierung in ein Zusatz-Halbleiterspeichermodul (33) eingeschrieben werden nachdem die komprimierten Daten in das Halbleiterspeichermodul (33) eingeschrieben wurden; und
die Daten vor der Komprimierung aus dem Zusatz-Halbleiterspeichermodul (33) ausgelesen werden, um diese Daten mit den komprimierten Daten zu vergleichen.
12. Data storage method according to claim 11, characterized in that
the data stored in the data buffer ( 35 a) are written into an additional semiconductor memory module ( 33 ) before compression after the compressed data have been written into the semiconductor memory module ( 33 ); and
the data are read out from the additional semiconductor memory module ( 33 ) prior to compression in order to compare this data with the compressed data.
13. Datenspeicherverfahren nach Anspruch 12, gekennzeichnet durch, die Schritte:
Komprimieren und Schreiben der Daten, die aus dem Zusatz- Halbleiterspeichermodul (33s) gelesen wurden, in die Halbleiterspeichermodule (33a-33n), wenn eine Abnormalität als ein Ergebnis des Datenvergleichs detektiert ist;
Lesen und Wiederherstellen der komprimierten Daten, die in die Halbleiterspeichermodule (33a-33n) geschrieben sind; und
Verifizierung der komprimierten Daten, die in die Halbleiterspeichermodule (33a-33n) geschrieben wurden durch Vergleichen der wiederhergestellten Daten mit den Daten vor der Komprimierung.
13. Data storage method according to claim 12, characterized by the steps:
Compressing and writing the data read from the auxiliary semiconductor memory module ( 33 s) into the semiconductor memory modules ( 33 a- 33 n) when an abnormality is detected as a result of the data comparison;
Reading and restoring the compressed data are written in the semiconductor memory modules (33 a-33 n); and
Verification of the compressed data written in the semiconductor memory modules ( 33 a- 33 n) by comparing the recovered data with the data before compression.
14. Datenspeicherverfahren nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, daß ein Signal, das den Zustand "Beschäftigt" anzeigt, geliefert wird, wenn eine Anforderung zum Zugriff auf das Halbleiterspeichermodul (33) während des Datenvergleichs erfolgt.14. Data storage method according to one of claims 10 to 13, characterized in that a signal indicating the "busy" state is supplied when a request to access the semiconductor memory module ( 33 ) is made during the data comparison. 15. Datenspeicherverfahren nach einem der Ansprüche 10 bis 14, gekennzeichnet durch, die Schritte:
Schreiben eines Verzeichnis, das Steuerinformationen von Datensätzen, die in einem Spurgebiet am Kopf des Spurfgebiets, das einer Spur einer Magnetplatten- Vorichtung entspricht, gespeichert werden sollen, enthält und die Datensätze nach dem Verzeichnis eingeschrieben werden;
Hinzufügen eines Flags zu jeden Datensatz, das anzeigt, ob die Daten in dem Datensatz komprimiert sind oder nicht; und
Hinzufügen dem Verzeichnis: logische Adressinformationen, physikalischer Speicheradreßinformationen, eine Komprimierunsmarkierung, die anzeigt, daß die Daten Komprimierungsobjekte sind und das letzte Datum, wann die Daten in dem Spurfeld geändert oder geschrieben sind.
15. Data storage method according to one of claims 10 to 14, characterized by the steps:
Writing a directory containing control information of records to be stored in a track area at the head of the track area corresponding to a track of a magnetic disk device and the records being written after the directory;
Adding a flag to each record indicating whether the data in the record is compressed or not; and
Adding the directory: logical address information, physical memory address information, a compression mark indicating that the data is compression objects and the last date when the data in the track field was changed or written.
16. Datenspeicherverfahren nach einem der Ansprüche 10 bis 15, gekennzeichnet durch, die Schritte:
Bereitstellen einer Backup-Plattenvorichtung (36) und eines Backup-Adapters (39) zum Steuern der Datenein- und Ausgabeoperation zu der Backup-Plattenvorichtung (36);
Sichern der in den Halbleiterspeichermodulen (33a-33n) gespeicherten Daten in den Backup-Plattenvorichtung (36);
Speichern des Backup-Fertigstellungsdatum, wenn die im Halbleiterspeichermodul (33) gespeicherten Daten in der Backup-Plattenvorrichtung (36) gesichert werden;
Vergleichen das im Verzeichnis enthaltene Datum mit dem Backup- Fertigstellungsdatum, wenn die im Halbleiterspeicher gespeicherten Daten wieder gesichert werden; und
Sichern der, gegenüber dem Backup-Fertigstellungsdatum, neueren Daten in der Backup-Plattenvorrichtung (36), während ältere Daten nicht gesichert werden.
16. Data storage method according to one of claims 10 to 15, characterized by the steps:
Providing a backup disk device ( 36 ) and a backup adapter ( 39 ) for controlling the data input and output operation to the backup disk device ( 36 );
Securing the in semiconductor memory modules (33 a-33 n) data stored in the backup Plattenvorichtung (36);
Storing the backup completion date when the data stored in the semiconductor memory module ( 33 ) is saved in the backup disk device ( 36 );
Compare the date in the directory with the backup completion date when the data stored in the semiconductor memory is backed up; and
Backing up newer data to the backup disk device ( 36 ) than the backup completion date while not backing up older data.
17. Datenspeicherverfahren nach einem der Ansprüche 10 bis 15, gekennzeichnet durch, die Schritte:
Bereitstellen einer Backup-Plattenvorichtung (36) und eines Backup-Adapters (39) zum Steuern der Datenein- und Ausgabeoperation zu der Backup-Plattenvorichtung (36);
Speichern unkomprimierte Daten in der Backup-Plattenvorrichtung (36), wenn die Halbleiterspeichermodule (33a-33n) während des Einschreibens der komprimierten Daten voll wird, da die Größe der komprimierten Daten diejenige der unkomprimierten Daten übersteigt; und
anschließendes Einschreiben der umkomprimierten Daten von der Backup-Plattenvorrichtung (36) in das Halbleiterspeichermodul (33).
17. Data storage method according to one of claims 10 to 15, characterized by the steps:
Providing a backup disk device ( 36 ) and a backup adapter ( 39 ) for controlling the data input and output operation to the backup disk device ( 36 );
Storing uncompressed data of the uncompressed data is because the size of the compressed data exceeds that in the backup disk device (36) when said semiconductor memory modules (33 a-33 n) full during writing of the compressed data; and
then writing the recompressed data from the backup disk device ( 36 ) into the semiconductor memory module ( 33 ).
DE4447853A 1993-09-20 1994-07-07 Storage system input=output system with exclusive controller Expired - Fee Related DE4447853C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP5232677A JP2972501B2 (en) 1993-09-20 1993-09-20 I / O subsystem and exclusive control method in I / O subsystem
DE4423949A DE4423949A1 (en) 1993-09-20 1994-07-07 I/O auxiliary system and exclusive control method, data storage method and memory initialisation method in an I/O auxiliary system

Publications (1)

Publication Number Publication Date
DE4447853C2 true DE4447853C2 (en) 2003-04-17

Family

ID=25938123

Family Applications (2)

Application Number Title Priority Date Filing Date
DE4447853A Expired - Fee Related DE4447853C2 (en) 1993-09-20 1994-07-07 Storage system input=output system with exclusive controller
DE4447854A Expired - Fee Related DE4447854B4 (en) 1993-09-20 1994-07-07 Speicherinitialisierungsverfahren

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE4447854A Expired - Fee Related DE4447854B4 (en) 1993-09-20 1994-07-07 Speicherinitialisierungsverfahren

Country Status (1)

Country Link
DE (2) DE4447853C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064585A (en) * 2021-11-10 2022-02-18 南京信易达计算技术有限公司 Storage compression system based on domestic AI chip architecture and control method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5167034A (en) * 1990-06-18 1992-11-24 International Business Machines Corporation Data integrity for compaction devices

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0390942A (en) * 1989-09-01 1991-04-16 Oki Electric Ind Co Ltd Control system for main storage device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5167034A (en) * 1990-06-18 1992-11-24 International Business Machines Corporation Data integrity for compaction devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064585A (en) * 2021-11-10 2022-02-18 南京信易达计算技术有限公司 Storage compression system based on domestic AI chip architecture and control method
CN114064585B (en) * 2021-11-10 2023-10-13 南京信易达计算技术有限公司 Storage compression system based on domestic AI chip architecture and control method

Also Published As

Publication number Publication date
DE4447854B4 (en) 2006-10-12

Similar Documents

Publication Publication Date Title
DE4423949A1 (en) I/O auxiliary system and exclusive control method, data storage method and memory initialisation method in an I/O auxiliary system
DE69915243T2 (en) Disk array control device
DE69630624T2 (en) EEPROM matrix with a core similar to "flash" memory
DE3909896C2 (en)
DE69834739T2 (en) COMPARING DATA BETWEEN DIFFERENT LADDERS OPERATING ON DIFFERENT FREQUENCIES
DE2617408C3 (en) Memory module for a data processing device with a memory hierarchy
DE2856483C2 (en)
DE19515661C2 (en) Semiconductor disk device
DE3901579C2 (en)
DE3935235A1 (en) STORAGE PROCEDURE FOR MICROCOMPUTER SYSTEMS
EP0046976A2 (en) Semi-conductor memory made of memory building blocks with redundant memory areas
DE4441007C2 (en) Multibit test circuit of a semiconductor memory device
DE2928488A1 (en) STORAGE SUBSYSTEM
AT389951B (en) DATA TRANSFER DEVICE
DE2725396A1 (en) BUFFER STORAGE
EP0062141B1 (en) Circuit arrangement for entering control commands into a microcomputer system
DE3911721C2 (en)
DE2703559A1 (en) COMPUTER SYSTEM
DE102015203202B4 (en) Storage subsystem with continuous read following wrapped read
DE4429969A1 (en) Process for exchanging program packages in a multi-computer system and computer therefor
DE69724732T2 (en) Remote atomic operation and device for performing the operation
DE4335061C2 (en) Multi-storage device
DE69932891T2 (en) Information processing apparatus and method, and presentation medium
DE4447853C2 (en) Storage system input=output system with exclusive controller
DE69630326T2 (en) Information storage control unit

Legal Events

Date Code Title Description
8304 Grant after examination procedure
AC Divided out of

Ref document number: 4423949

Country of ref document: DE

Kind code of ref document: P

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120201