DE2655829A1 - HIERARCHICAL STORAGE ARRANGEMENT - Google Patents

HIERARCHICAL STORAGE ARRANGEMENT

Info

Publication number
DE2655829A1
DE2655829A1 DE19762655829 DE2655829A DE2655829A1 DE 2655829 A1 DE2655829 A1 DE 2655829A1 DE 19762655829 DE19762655829 DE 19762655829 DE 2655829 A DE2655829 A DE 2655829A DE 2655829 A1 DE2655829 A1 DE 2655829A1
Authority
DE
Germany
Prior art keywords
data
memory
copy
storage
level
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.)
Withdrawn
Application number
DE19762655829
Other languages
German (de)
Inventor
Anthony J Capozzi
Vincent A Cordi
Bruce A Edson
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 US05/642,035 external-priority patent/US4077059A/en
Priority claimed from US05/642,034 external-priority patent/US4084231A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2655829A1 publication Critical patent/DE2655829A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

** lw/bm ** lw / bm

Anmelderin: International Business MachinesApplicant: International Business Machines

Corporation, Armonk, N.Y. 10504Corporation, Armonk, N.Y. 10504

Amtliches Aktenzeichen: Neuanmeldung Aktenzeichen der Anmelderin: PO 974 023/PO 974 024Official file number: New registration File number of the applicant: PO 974 023 / PO 974 024

Hierarchische SpeicheranordnungHierarchical storage arrangement

Hierarchische Speicher mit monolithischen Speicherelementen in den höheren Stufen führten zu schnelleren und wirtschaftlicheren Speichersystemen, haben jedoch auch ihren Nachteil. Hierarchische Systeme haben insbesondere beträchtliche Kommunikationsproblerne zwischen den Hierarchiestufen und die flüchtigen monolithischen Speicher in den höheren Stufen der Hierarchie ergeben Probleme bei der Datenintegrität, die aus ihrer Abhängigkeit und Empfindlichkeit von bzw. für Ausfälle und Schwankungen in der Stromversorgung resultieren. Eine Lösung für das Integritätsproblem wäre die Verwendung von zwei Speichereinheiten auf jeder Stufe, wobei jede ein Duplikat der Daten auf der betreffenden Stufe enthält, so daß bei einem Ausfall in einem Speicher die Daten von dem anderen Speicher reproduziert werden könnten. Während dadurch zwar die Unabhängigkeit verbessert wird, werden die Kommunikationsprobleme zwischen den Stufen keineswegs gelöst und außerdem wäre bei einem Ausfall, der ein Abschalten des Speichers erforderlich macht oder erzwingt, für die Übertragung der duplizierten Daten von den Speicherstufen, die die flüchtigen Speicher enthalten, auf die Stufen, die nicht flüchtige Speicher enthalten, im Proßez der Abschaltung des Speichersystems mehr Zeit erforderlich, als erwünscht ist und tatsächlich manchmal zur Verfügung steht, bevor der Ausfall zu einer Zerstörung der Daten führt.Hierarchical storage with monolithic storage elements in the higher levels led to faster and more economical Storage systems, however, also have their drawbacks. Hierarchical systems in particular have considerable communication problems between the hierarchy levels and the volatile monolithic memories in the higher levels of the hierarchy result in problems data integrity resulting from its dependency and sensitivity to or for failures and fluctuations in the power supply result. One solution to the integrity problem would be to use two storage units at each tier, each with contains a duplicate of the data at that level, so that in the event of a failure in one memory, the data from the other Memory could be reproduced. While this improves independence, it also poses communication problems between the stages is by no means resolved and, moreover, in the event of a failure that makes it necessary to switch off the memory or forces for the transfer of the duplicated data from the memory levels containing the volatile memory to the levels which contain non-volatile memories require more time than is desired in the process of switching off the memory system and is actually sometimes available before the failure leads to the destruction of the data.

Nach einem älteren Vorschlag der Anmelderin (P 25 23 414) erhält man die Datenintegrität mit neuen Rückkopiertechniken, und das Kommunikationsproblem wurde durch die Verwendung neuerAccording to an older proposal by the applicant (P 25 23 414), data integrity is obtained with new copy-back techniques, and that Communication problem became due to the use of new

Rückkopieralgorithmen in Verbindung mit neuen Rückkopiertechniken vereinfacht. Das neue hierarchische Speichersystem hat zwei Speichereinheiten auf jeder Stufe, von denen eine alle Daten auf dieser Speicherstufe enthält und die andere nur die Änderungen, die in diesen Daten entweder durch Hinzufügungen oder Veränderung vorgenommen wurden. Während die erste oder Datenspeichereinheit mit der nächst höheren Stufe im hierarchischen Speichersystem oder mit den Verarbeitungseinheiten für das Datenverarbeitungssystem in Verbindung steht, kann die zweite oder Rückkopierspeichereinheit die in den Daten vorgenommenen Änderungen in die nächst niedere Stufe in der Speicherhierarchie übertragen, wenn der Rückkopierspeicher frei ist und die Hauptspeichereinheit in der nächst niederen Stufe nicht mit der Datenübertragung nach oben beschäftigt ist. Durch Duplizieren nur der veränderten Daten und Rückkopieren der Änderungen auf die Daten in niedrigeren Stufen, wenn sich die Gelegenheit bietet, wird die bei Auftreten eines Fehlers zu verschiebende Datenmenge sehr klein gehalten und dadurch die Zeit reduziert, die zur Datenverschiebung bei einem Ausfall erforderlich ist. Außerdem hängen der Datenspeicher und der Rückkopierdatenspeicher auf jeder Stufe an zwei verschiedenen Stromsystemen, so daß bei Ausfall eines Stromsystems ein komplettes Verzeichnis der Daten erhalten bleibt.Copy-back algorithms in conjunction with new copy-back techniques simplified. The new hierarchical storage system has two storage units at each level, one of which has all data on this The storage level contains and the other only the changes made to this data either through additions or changes became. While the first or data storage unit with the next higher level in the hierarchical storage system or with is in communication with the processing units for the data processing system, the second or copy-back storage unit may use the Changes made in the data are transferred to the next lower level in the memory hierarchy if the copy-back memory is free and the main storage unit in the next lower level is not busy with the data transfer upwards. By Duplicate only the changed data and copy back the changes to the data at lower levels when the opportunity arises offers, the amount of data to be moved in the event of an error is kept very small, thus reducing the time that is required to move data in the event of a failure. In addition, the data store and the copy-back data store hang up each level on two different power systems, so that if one power system fails, a complete directory of the data is obtained remain.

In der oben beschriebenen Anordnung ist jedoch der Rückkopierdatenspeicher auf einer gegebenen Stufe genausogroß wie der Datenspeicher auf dieser Stufe, so daß in diesem Fall die Rückkopiertechnik dieselbe Wirkung auf den Speicher hat wie die Duplizierung aller Daten auf jeder Stufe, d.h., es sind doppelt soviel Speicherelemente auf jeder Stufe der Hierarchie erforderlich, ohne daß dadurch die Kapazität des Speichers vergrößert würde.In the arrangement described above, however, there is the copy back data memory at a given level is the same size as the data store at that level, so in this case the copy-back technique has the same effect on memory as duplicating all data at each level, i.e. there are twice as many memory elements required at every level of the hierarchy without increasing the capacity of the memory.

Der Erfindung liegt die Aufgabe zugrunde, die Geschwindigkeit und Effektivität der Rückübertragungen zu erhöhen.The invention is based on the object of the speed and Increase the effectiveness of retransmissions.

PO 974 023/4 709827/0600PO 974 023/4 709827/0600

Diese Aufgabe wird erfindungsgemäß durch die kennzeichnenden Merkmale des Hauptanspruches gelöst.According to the invention, this object is achieved by the characterizing features of the main claim.

Die Erfindung hat den Vorteil, daß weniger Speicherraum benötigt wird. Dabei wird diese Ersparnis keineswegs durch die notwendigen, anpassenden Zusatzmittel in den Rückübertragungseinrichtungen aufgewogen .The invention has the advantage that less storage space is required will. This saving is by no means due to the necessary, adaptive additive in the retransmission devices.

Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.Advantageous further developments of the invention are set out in the subclaims refer to.

Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben.An embodiment of the invention is shown in the drawings and is described in more detail below.

Es zeigensShow it

Fig. 1 in einem verallgemeinerten Schemadiagramm eine1 shows a generalized schematic diagram

die vorliegende Erfindung verwendente Speicherhierarchie, memory hierarchy employing the present invention,

Fig. 2 in einem Blockdiagramm Einzelheiten der erstenFig. 2 is a block diagram showing details of the first

Stufe der in Fig. 1 gezeigten Speicherhierarchie,Level of the memory hierarchy shown in Fig. 1,

Fig. 3 in einem Blockdiagramm die zweite Stufe der in3 shows in a block diagram the second stage of the in

Fig. 1 gezeigten Speicherhierarchie,Fig. 1 shown memory hierarchy,

Fig. 4 in einem Schemadiagramm ein Journalverzeichnis,4 shows a journal directory in a schematic diagram,

das in Fig, 2 im Blockdiagramm gezeigt ist,which is shown in Fig. 2 in the block diagram,

Fig. 5 ein Schemadiagramm der Schaltung zur ErzeugungFig. 5 is a schematic diagram of the circuit for generating

eines Rückkopierbefehlssignales für die in Fig. 2 gezeigte Speicherhierarchie,a copy back command signal for the memory hierarchy shown in FIG. 2,

po 974 023/4 709827/06Ö£po 974 023/4 709827 / 06Ö £

-JL --JL -

Fig. 6 in einem Blockdiagramm Einzelheiten der Rückkopier-6 shows, in a block diagram, details of the copy-back

Erzwingungsschaltung in Fig. 2,Forcing circuit in Fig. 2,

Fig. 7 in einem Schemadiagrainm die dritte, vierte und7 shows the third, fourth and fourth in a schematic diagram

fünfte Stufe der in Fig. 1 gezeigten Speicherhierarchie undfifth level of the memory hierarchy shown in FIG. 1 and

Fig. 8 in einer Skizze das Format zur Adressierung derFig. 8 in a sketch the format for addressing the

vierten und fünften Stufe.fourth and fifth stages.

Fig. 1 zeigt ein Multiprozessorsystera mit einem hierarchischen Speicher, der die vorliegende Erfindung verwendet. Der Speicher ist in zwei Hälften unterteilt, die man das Α-System und das B-System nennt. Jedes Speichersystem ist eine separate Verfügbarkeitsachse des hierarchischen Speichers, d.h., Daten werden entlang der Verfügbarkeitsachse unabhängig von der anderen Verfügbarkeitsachse verarbeitet und aufwärts und abwärts übertragen. Außerdem werden die Systeme A und B unabhängig mit Strom versorgt und sind so entwickelt, daß der Verlust des Ganzen oder eines Teiles eines Systemes das andere System nicht herunterbringt. Jede Hälfte des Systems enthält eine Anzahl von Programmverarbeitungseinheiten oder PPU's 10 und eine Prozeßsteuereinheit oder PCU 12. Jeder Prozessor 10 hat seinen eigenen L1-Speicher 14 (Notizspeicher) und ein zugehöriges L1-Verzeichnis und Steuerung 16. Außerdem existiert auf der Stufe 1 für jeden Prozessor ein L1-Rückkopierdatenspeicher 18 (CBDS) und ein L1 Journal und Steuerung 20. Der Einfachheit der Fig. 1 halber sind der L1-Rückkopierspeicher 14 und das Journal für die PPU 1 neben dem Notizspeicher 14 A für PPU 1 gezeigt. Aus Gründen der Zuverlässigkeit und des Wiederanlaufs würde jedoch der Rückkopierspeicher und das Journal für eine PPU in der Α-Hälfte des Systems mit den PPU's auf der B-Hälfte des Systems zusammengepackt und umgekehrt.Fig. 1 shows a multi-processor system with a hierarchical memory using the present invention. The memory is divided into two halves, the Α-system and the B system is called. Each storage system is a separate availability axis of hierarchical storage, i.e., data is moved along the availability axis is processed independently of the other availability axis and transmitted upwards and downwards. aside from that Systems A and B are independently powered and designed to prevent loss of whole or part one system does not bring down the other system. Each half The system includes a number of program processing units or PPU's 10 and a process control unit or PCU 12. Each Processor 10 has its own L1 memory 14 (memo memory) and an associated L1 directory and controller 16. In addition there is an L1 copyback data store at level 1 for each processor 18 (CBDS) and an L1 journal and controller 20. For the sake of simplicity of FIG. 1, the L1 copy back memory 14 is and the journal for the PPU 1 next to the memo 14 A for PPU 1 shown. However, for reasons of reliability and recovery, the copy back memory and journal for a PPU in the Α-half of the system with the PPU's on the B-half of the Systems packed together and vice versa.

po 974 023/4 709827/0606po 974 023/4 709827/0606

Jede durch eine PPU in ihrem Notizspeicher gespeicherten Daten vorgenommene Änderung wird in den L1-Speicher und in den L1-Rückkopierspeicher für ihre Systemhälfte gesetzt zur Kommunikation zwischen den PPU's und einem mehrstufigen hierarchischen Speicher mit den Stufen L2/3, L4 und L5. Daten werden durch die Hierarchie von der Stufe L5 in die Notizspeicher 14 übertragen und Änderungen der Daten werden wieder in der Hierarchie abwärts zurückgesendet von der Stufe L1 zur Stufe L5.Any change made by a PPU stored in its memo memory is written to the L1 memory and the L1 copy back memory set for their system half for communication between the PPUs and a multi-level hierarchical memory with levels L2 / 3, L4 and L5. Data is transferred to memo memory 14 through the hierarchy from level L5 and changes the data is sent back down the hierarchy from level L1 to level L5.

Für die Datenübertragung zwischen den Stufen L1 und L2/L3 gibt es zwei L2/3 Steuerungen 22 und 24, die in der Ausführung identisch sind, im Normalbetrieb, d.h. wenn sie beide richtig arbeiten, jedoch unabhängige Aufgaben übernehmen. Die Steuerung 22 sorgt für die Seitenaufwärtsfunktion, d.h., sobald ein Prozessor oder PPU Daten verlangt, die nicht im Notizspeicher stehen, besorgt die Steuerung 22 den Abruf der angeforderten Daten aus dem betreffenden L2/3 Grundspeichermodul (BSM) und leitet die Daten aufwärts in den Notizspeicher (L1) des anfordernden Prozessors. Im Normalbetrieb wird die Adresse an die L2/3 Steuerung 22A geleitet über die rechte oder linke 8-Byte große Adreßsammelleitung 26 oder 28, während die BCU (Sammelleitungssteuereinheit) 22B die angeforderten Daten auf der rechten oder linken 8-Byte großen Datensammelleitung 30 oder 32 überträgt. Im Normalbetrieb sorgt also die Seitenaufwärtssteuerung 22 für die Bewegung der Daten zur Speicherhierarchie von der Stufe L2/3 zur Stufe L1.There are two L2 / 3 controls 22 and 24, which are identical in design, for data transmission between levels L1 and L2 / L3 are in normal operation, i.e. when they both work properly but take on independent tasks. The controller 22 takes care of the page up function, i.e. as soon as a processor or PPU requests data that is not in the note memory, takes care of the Controller 22 retrieves the requested data from the relevant L2 / 3 basic memory module (BSM) and forwards the data upwards into the Memo memory (L1) of the requesting processor. In normal operation, the address is sent to the L2 / 3 controller 22A via the right one or left 8-byte address bus 26 or 28, while the BCU (bus control unit) 22B receives the requested data on the right or left 8-byte data bus 30 or 32. In normal operation, the page up control takes care of it 22 for moving the data to the storage hierarchy from level L2 / 3 to level L1.

Im Gegensatz dazu behandelt die Steuerung 24 die Datenbewegung in der Gegenrichtung. Die sogenannte Rückkopiersteuerung 24 übernimmt das Rückkopieren neuer oder veränderter Daten von den CBDS L/l auf die Stufe L2/3. Während die Steuerungen im Normalbetrieb verschiedene Funktionen haben, können sie beim Ausfall der einen Steuerung die Aufgabe der jeweils anderen übernehmen.In contrast, the controller 24 handles data movement in the opposite direction. The so-called copy-back control 24 takes over copying back new or changed data from the CBDS L / l to level L2 / 3. While the controls are in normal operation have different functions, if one controller fails, they can take over the task of the other.

Auf der Stufe L2/L3 erfolgt eine Teilung der Speicherkapazität in Speichereinheiten, die Grundspeichermodulen oder BSM's 34 genannt werden. Die BSM1S A1, A2, A3, A4, A5 und B sind physikalischAt level L2 / L3, the storage capacity is divided into storage units, which are called basic storage modules or BSMs 34. The BSM 1 S A1, A2, A3, A4, A5 and B are physical

PO 974 023/4 709S27/0606PO 974 023/4 709S27 / 0606

zusammengepackt und liegen in der A-Verfügbarkeitsachse des Systems während die BSM1 s B1, B2, B3, B4, B5 und A physikalische zusammengepackt sind und in der B-Verfügbarkeitsachse liegen. Die BSM1s A1 bis A5 und B1 bis B5 sind die Ausgangsstellen der Daten, die auf L2/3 liegen während das BSM B alle Änderungen enthält, die an Daten in den BSM1S B1 bis B5 vergenommen wurden, und das BSM A enthält alle Änderungen, die an den Daten in den BSM1S A1 bis A5 vorgenommen wurden.packed together and lie in the A availability axis of the system while the BSM 1 s B1, B2, B3, B4, B5 and A are physically packed together and lie in the B availability axis. The BSM 1 s A1 to A5 and B1 to B5 are the output points of the data that are on L2 / 3, while the BSM B contains all changes that have been made to data in the BSM 1 s B1 to B5, and the BSM A contains all changes made to the data in BSM 1 S A1 to A5.

Die letzten beiden Stufen sind elektromechanische Geräte, d.h. die Stufe L4 besteht aus Plattenstapeln 38 während die Stufe L5 aus einer Bandkassetteneinheit 40 besteht. Diese Einheiten sind über \ die Schaltkreisschleifen 42 und 44 miteinander verbunden, und zwar ' ist jede Einheit durch die beiden Schleifen mittels einer der ! Schleifen mit einem anderen Steuergerät 46 oder 48 verbunden. Die ! Platteneinheiten werden zwischen der Verfügbarkeitsachse A und B : aufgeteilt und die Bandeinheit liegt darstellungsgemäß in der Hälfte der Verfügbarkeitsachse B, wobei eine der Stationen durch die Verfügbarkeitsachse A gesteuert wird.The last two stages are electromechanical devices, ie stage L4 consists of stacks of discs 38 while stage L5 consists of a tape cartridge unit 40. These units 42 and 44 are interconnected by \ the circuit loops, namely "shall mean any unit by the two loops by means of the! Loops connected to another controller 46 or 48. The ! Disk units are divided between the availability axis A and B: and the tape unit lies in half of the availability axis B, as shown, with one of the stations being controlled by the availability axis A.

Bei dieser Anordnung werden Daten von der Stufe L1 in die Stufe L2/L3 kopiert, sobald der Datenspeicher 14B für die Stufe L2/L3 frei ist und der Prozessor seinen Notizspeicher nicht ansteuert. | Dann können die veränderten Daten aus dem Kopierunterstützungs- I speicher der Stufe L1 in den Datenspeicher der Stufe L2 bewegt wer-S den. In gleicher Weise werden Daten von der Stufe L2/L3 in die Stufe L4 zurückkopiert, während der Speicher auf der Stufe L2/L3 frei ist usw. Die Änderungen der Daten werden in derjenigen Reihen-· folge zurückkopiert, in der sie in das Journal 20 eingegeben wurdeij, wobei die älteste Eintragung im Journal zuerst zurückkopiert wird . oder mit anderen Worten, die Daten, die am längsten unverändert j sind (LRFM), werden zuerst zurückkopiert, sobald sich die Gelegen- \ heit dazu bietet. Auf diese Weise werden Daten zur Aufrechterhaltung einer Datenpyramide wirksam zurückkopiert, ohne daß die Auf- J wärtsbewegung der Daten in der Hierarchie gestört wird. Unter eineij Datenpyramide versteht man die Tatsache, daß Daten auf einer gegebenen Stufe nur zulässig sind, wenn eine Kopie der Daten auf einerWith this arrangement, data are copied from level L1 to level L2 / L3 as soon as data memory 14B is free for level L2 / L3 and the processor is not activating its note memory. | The changed data can then be moved from the copy support memory of level L1 into the data memory of level L2. In the same way, data are copied back from level L2 / L3 to level L4, while the memory on level L2 / L3 is free, etc. The changes to the data are copied back in the order in which they were entered in journal 20 was entered, whereby the oldest entry in the journal is copied back first. or in other words, the data j unchanged longest (LRFM) are copied back first, as soon as the opportunity \ digestion unit has it. In this way, data is effectively copied back to maintain a data pyramid without disrupting the upward movement of the data in the hierarchy. A data pyramid is the fact that data at a given level is only allowed if a copy of the data is at a

PO 974 023/4 709827/0606PO 974 023/4 709827/0606

Niedrigeren Stufe existiert und auf niedrigere Stufen zur Bildung einer Datenpyramide zurückkopiert wird.Lower level exists and on lower levels to education a data pyramid is copied back.

•Veränderte Daten können nicht nur in der Hierarchie abwärts kopiert werden, um die Datenpyramide aufrechtzuerhalten/ sondern sie können auch aus einer Stufe herausgenommen und in der Hierarchie ab- ;wärts bewegt werden, um Platz für neue Daten zu schaffen. Bevor !veränderte Daten in der Hierarchie abwärts bewegt werden können, müssen sie die Spitze der Datenpyramide bilden oder dort in der obersten Position stehen, d.h., die abwärtszubewegenden Daten dürfen nicht auf einer Stufe stehen, die in der Hierarchie höher ist als diejenige Stufe, aus der sie entnommen werden. Dadurch, daß nur die oberste oder Spitzenposition in der Pyramide zurückgerollt oder überlagert werden darf, sollen Löcher in der Pyramide ausgeschaltet werden, da hierdurch die Benutzung der Journalführungs■ und Rückkopiertechnik der vorliegenden Erfindung vereinfacht wird. !Unveränderte Daten brauchen natürlich nicht abwärts zurückkopiert zu werden, um Platz zu schaffen für neue Daten, sondern sie braujchen nur durch die neuen Daten überlagert zu werden, da eine Kopie der unveränderten Daten bereits auf niedrigeren Stufen existiert.• Changed data cannot only be copied down in the hierarchy in order to maintain the data pyramid / but they can also be removed from a level and reduced in the hierarchy. ; moved upwards to make room for new data. Before changed data can be moved down in the hierarchy, they must be at the top of the data pyramid or in the top position, i.e. the data to be moved down must not be at a level that is higher in the hierarchy than the level from which they are taken. Through this, that only the top or top position in the pyramid may be rolled back or overlaid, holes in the pyramid should be switched off, since this allows the use of journal management ■ and the copyback technique of the present invention is simplified. ! Of course, unchanged data do not need to be copied backwards to make room for new data, but they need it only to be overlaid by the new data, since a copy of the unchanged data already exists at lower levels.

Mit der durch die gestrichelte Linie 50 dargestellten Stromabschir-» mung, die die Systeme A und B voneinander trennt, wird zusammen mit der beschriebenen Journal- und Rückkopiertechnik die Integrität der Daten gesichert. Unter Stromabschirmung wird verstanden, daß alle Geräte auf einer Seite der gestrichelten Linie 50 von einer Stromversorgung gespeist werden, während alle Geräte auf der anderen Seite der Linie 50 von einer anderen Stromversorgung gespeist werden. Außerdem werden spätestens in der Stufe L5 des Speichersystems die Daten in einem nicht flüchtigen Speichermedium wie einem Magnetband dupliziert. Ein Ausfall der Stromversorgung des Systems A oder B zerstört daher die Integrität der Daten nicht, da alle Daten wenigstens auf der Stufe L5 in einem Medium festgehalten werden, das für einen solchen Ausfall unempfindlich ist. Alle in den in der Stufe L5 gespeicherten Daten vorgenommenen Änderungen sind außerdem auf beiden Seiten der Abschirmung 50 aufWith the current shielding shown by the dashed line 50 » tion that separates systems A and B from one another, together with the journal and copy-back technology described, the integrity of the data backed up. Current shielding is understood to mean that all devices on one side of the dashed line 50 from one Power supply are fed while all devices on the other side of line 50 are powered by a different power supply will. In addition, at the latest in level L5 of the storage system, the data is stored in a non-volatile storage medium such as duplicated on a magnetic tape. A failure of the power supply of system A or B therefore does not destroy the integrity of the data, since all data are held at least at level L5 in a medium that is insensitive to such a failure. Any changes made to the data stored in stage L5 are also on both sides of the shield 50

po 974 023/4 709827/0608po 974 023/4 709827/0608

wenigstens einer der anderen Stufen L1 bis L4 vorhanden. Die Daten können daher durch die Hierarchie herunter zurückkopiert werden unter Benutzung desjenigen Systems, das noch Strom hat, um die Datenbasis auf der Stufe L5 fortzuschreiben. Als letzte Sicherheitsvorkehrung kann noch Batteriestrom benutzt werden, wenn die Netzstromversorgung für beide Systeme ausfällt, um Daten im Rückkopierspeicher und im Journal 20 auf allen Stufen zu halten, wo das Speichermedium flüchtig ist, und auch auf allen Stufen die Daten in der Datenpyramide abwärts bis zu einer Stufe zu bewegen, wo die Daten in einem nicht flüchtigen Medium gespeichert werden.at least one of the other stages L1 to L4 is present. The data can therefore be copied back down the hierarchy using the system that still has power to clean the Update the database at level L5. As a last precaution battery power can still be used in the event that the mains power supply fails for both systems, in order to store data in the copy-back memory and to keep in journal 20 at all levels where the storage medium is volatile, and also at all levels Move data down the data pyramid to a level where the data is stored in a non-volatile medium.

Die Stufe L1 der in Fig. 1 dargestellten Speicherhierarchie ist in Fig. 2 im Detail wiedergegeben. Das Verzeichnis 16A der Stufe L1 speichert die virtuellen Adressen in Gruppen von je vier für alle in der Stufe L1 der Speicherhierarchie zu einem gegebenen Moment stehenden Daten. Die vier Adressen in einer Gruppe nennt man eine Kongruenzklasse, deren Adresse in der Stufe L1 bestimmt wird durch die Exklusiv-ODER-Verknüpfung bestimmter virtuell einer Adreßbit mit realen Adreßbits vom Adreßregister 51 in der Exklusiv-ODER-Schaltung 52. Die Ausgabe β der Exklusiv-ODER-Schaltung wird auf den decodierer Eingang des Verzeichnisses 16A gegeben, um das Verzeichnis anzusteuern. Wenn das Verzeichnis auf diese Weise angesteuert wird, werden vier Adressen einer Kongruenzklasse aus dem Verzeichnis parallel ausgelesen. Jede aus dem Verzeichnis 16A ausgelesene virtuelle Adresse wird in einer Vergleicherschaltung 54 mit der virtuellen Adresse verglichen, die zur Erzeugung der 3-Adressierung des Verzeichnisses 16A der Stufe L1 benutzt wurde. Wenn eine der aus dem Verzeichnis 16A ausgelesenen Adressen mit der angeforderten virtuellen Adresse übereinstimmt, liefert die Vergleicherschaltung ein Ausgangssignal aus zwei Bits, die angeben, welche deß vier aus dem Verzeichnis ausgelesenen Adressen mit der gesuchten Adresse übereinstimmt. Dieses Zwei-Bit große Signal wird einem mit dem Ausgang des Datenspeichers 14A der ersten Stufe arbeitenden Decodierer zugeführt. Der Datenspeicher 14A speichert alle Daten in der ersten Stufe und wird über seinen Eingangsdecodierer durch dasselbe Signal β adressiert wie das Verzeichnis 16AThe level L1 of the memory hierarchy shown in FIG. 1 is in Fig. 2 reproduced in detail. The L1 level directory 16A stores the virtual addresses in groups of four for everyone in level L1 of the memory hierarchy at a given moment standing data. The four addresses in a group are called a congruence class, the address of which is determined in level L1 by the exclusive-OR-link certain virtually one address bit with real address bits from the address register 51 in the exclusive OR circuit 52. The output β of the exclusive OR circuit is on given the decoder input of directory 16A to navigate to the directory. When the directory is driven this way four addresses of a congruence class are read out of the directory in parallel. Each read from directory 16A virtual address is compared in a comparator circuit 54 with the virtual address that is used to generate the 3 addressing of directory 16A of level L1 was used. If one of the addresses read from the directory 16A with the The comparator circuit supplies the requested virtual address an output signal of two bits indicating which of the four addresses read from the directory corresponds to the searched address matches. This two-bit signal becomes one operating on the output of the first stage data memory 14A Decoder supplied. The data memory 14A stores all data in the first stage and is via its input decoder addressed by the same signal β as directory 16A

PO 974 023/4 ? 0 9 8 2 7 / 0 60 SPO 974 023/4? 0 9 8 2 7/0 60 p

und liest dann die Daten an den vier virtuellen Adressen in der Kongruenzklasse aus. Das Zwei-Bit große Vergleichssignal eins-ausvier wählt dann die Daten aus einer virtuellen Adresse ihrer Kongruenzklasse zum Auslesen und Rückleiten zur Programmverarbeitungs-* einheit 1OA aufgrund der Datenanforderung. Die anderen beiden Bits zum Adressieren des Speichers L1 sind die zwei Adreßbits vom Adreßregister ,and then reads out the data at the four virtual addresses in the congruence class. The two-bit comparison signal one-out of four then selects the data from a virtual address of its congruence class for reading out and returning to the program processing * unit 1OA based on the data request. The other two bits for addressing the memory L1 the two address bits are from the address register,

Wenn sich herausstellt, daß sich die Daten nicht in der ersten Stufe L1 befinden, müssen sie aus der zweiten Stufe L2/L3 geholt werden. Die Adresse im Register 51 wird daher zwecks übertragung an den Speicher L2/L3 auf die Adreßsammelleitung 26 übertragen, wenn ! die Vergleicherschaltung 54 kein Übereinstimmungsausgangssignal liefert. Nach Darstellung in Fig. 3 enthält die zweite Stufe L2/L3 ein Verzeichnis 56 wie die erste Stufe L1 . Da die zweite Stufe mehrt Daten speichert als die erste muß das Verzeichnis größer sein. Der Eingang zu diesem Verzeichnis ist somit ein größeres Signal mit mehr Bits zur Wahl der Kongruenzklasse der vier virtuellen Adressen. Dieses Signal "V wird ebenfalls durch eine Exklusiv-ODER-Schal-* tung 58 erzeugt. Das Verzeichnis 56 wird durch das Signal γ adres- ι siert und liefert eine reale Lage im Speicher in der Stufe L2/L3, , wo die Daten gefunden werden können. Wie nachfolgend noch zu sehen ist, ist das Verzeichnis ein Teil des Hauptspeichers und daher relativ langsam. Außerdem gibt es noch eine Verzeichnis-Nebensuchtabelle (DLAT) 60, die schneller arbeitet als das Verzeichnis und Übersetzungen einiger zuletzt benutzter virtueller Adressen enthält. t)ie DLAT 60 wird gleichzeitig mit dem Verzeichnis adressiert, und Wenn die Adresse in der DLAT steht, wird sie schneller angesteuert.If it turns out that the data is not in the first stage L1, it must be fetched from the second stage L2 / L3. The address in register 51 is therefore transferred to the address bus 26 for the purpose of transfer to the memory L2 / L3, if ! the comparator circuit 54 does not provide a match output signal. As shown in FIG. 3, the second level L2 / L3 contains a directory 56 like the first level L1. Since the second level stores more data than the first, the directory must be larger. The entry to this directory is thus a larger signal with more bits for selecting the congruence class of the four virtual addresses. This signal "V" is also generated by an exclusive OR circuit 58. The directory 56 is addressed by the signal γ and supplies a real location in the memory in stage L2 / L3, where the data is found As will be seen below, the directory is part of main memory and is therefore relatively slow. There is also a directory look-up table (DLAT) 60 which is faster than the directory and contains translations of some recently used virtual addresses. t) The DLAT 60 is addressed at the same time as the directory, and if the address is in the DLAT, it is accessed more quickly.

Nach Darstellung in den Fign. 2 und 4 liefert die PPü 1 ein Schreibjsteuersignal an das Schalt-Gate 66, wenn Daten in das Speichersystem zu schreiben sind, um die Ausgabe der Schaltung 52 in das Suchadreßjregister 68 des Li-Journales 2OA zu leiten. Das Journal 2OA ist jAccording to the illustration in FIGS. 2 and 4, the PP1 supplies a write control signal to switch gate 66 when data is in the memory system are to be written to the output of the circuit 52 in the search address register 68 of the Li Journal 2OA. The journal 2OA is j

po 974 023/4 709027/060 8po 974 023/4 709027/060 8

Assoziativspeicher. In einem Assoziativspeicher wird durch Vergleichen der virtuellen Adresse mit der im Journal gespeicherten virtuellen Adresse gesucht. Wenn die virtuelle Adresse im Suchadreßre ister mit derjenigen im Journal übereinstimmt liefert das Journal oder der Assoziativspeicher 2OA ein Vergleichssignal, welches anzeigt, daß die Adresse im Journal gespeichert ist oder mit anderen Worten die Daten an dieser Adresse vorher verändert wurden. Wenn kein Übereinstimmungssignal auftritt heißt das, daß die Daten an dieser Adresse vorher nicht verändert wurden und dann wird eine Eintragung sowohl im Journal 2OA als auch im Rückkopierdatenspeicher 18A vorgenommen, um anzuzeigen, daß die Adresse jetzt verändert wird. Die Position der virtuellen Adresse wird in das Journal eingegeben und der Rückkopierspeicher 18A liefert eine Anzeige der Reihenfolge, in der die Änderung vorgenommen wurde und die Adresse im Journal und im Rückkopierspeicher bestimmen diese Reihenfolge, in der die Änderung in die unteren Stufen zurückkopiert wird. Dazu zählt ein Zähler 70 jede Adresse des Journales 2OA und CBDS 18A der Reihe nach herunter. Wenn ein Nichtübereinstimmungssignal durch das Trefferregister des Journales 2OA in Verbindung mit einem PPU-Schreibsignal geliefert wird, wird die Ausgabe des Zählers 70 durch die UND-Glieder 72 geleitet, um eines der m Wörter im Journal 20 und im CBDS 18 zu wählen. Gleichzeitig wird die virtuelle : Adresse im Suchregister 68 durch das UND-Glied 74 in das Journal i eingegeben und die Adresse und Daten von der PPU 1OA werden in das CBDS 18A an der durch den Zähler angegebenen Stelle eingetragen. Die Datenveränderung wird natürlich ebenfalls in den L1-Speicher 14A eingegeben.Associative memory. An associative memory is searched by comparing the virtual address with the virtual address stored in the journal. If the virtual address in the search address is the same as that in the journal, the journal or the associative memory 20A supplies a comparison signal which indicates that the address is stored in the journal or, in other words, that the data at this address has previously been changed. If no match signal occurs, it means that the data at that address has not previously been changed and an entry is then made in both journal 20A and copy-back data store 18A to indicate that the address is now being changed. The location of the virtual address is entered in the journal and the copyback memory 18A provides an indication of the order in which the change was made and the address in the journal and copyback memory determine that order in which the change is copied back to the lower levels. For this purpose, a counter 70 counts down each address of the journal 20A and CBDS 18A in sequence. If a mismatch signal is provided by the hit register of journal 20A in conjunction with a PPU write signal, the output of counter 70 is passed through AND gates 72 to select one of the m words in journal 20 and CBDS 18. At the same time, the virtual: input address in the search register 68 through the AND gate 74 in the journal i and the address and data from the PPU 1OA be entered in the CBDS 18A at the specified location by the counter. The data change is of course also input into the L1 memory 14A.

Wenn die Journaleintragung fertig ist, wird der Zähler auf die nächste Zahl in der Adressierfolge durch ein Eintragungsendsignal ΪΓ2 vorgeschaltet. Auf diese Weise wird jede im Journal und im CBDS vorgenommene Eintragung in eine Reihenfolge gesetzt, in der die Änderung in den Daten zuerst durch die Programmierverarbeitungs einheit 10A angefordert wurde, so daß beim Rückkopieren von Daten diese in der Reihenfolge rückkopiert werden können, in der die Eintragungen in das Journal vorgenommen wurden, indem man einfachWhen the journal entry is complete, the counter is reset to the next number in the addressing sequence by an end of entry signal ΪΓ2 connected upstream. That way, everyone in the journal and in the Entry made by CBDS is placed in an order in which the change in the data is first made by the programming processing unit 10A was requested, so that when data is copied back, it can be copied back in the order in which the Entries were made in the journal by simply

po 974 023/4 709827/0806po 974 023/4 709827/0806

; - vr -; - vr -

jdie Adressen im Journal in numerischer Reihenfolge ansteuert. {Das geschieht über den Rückkopierzähler 76, der durch die Adressen ]im Journal 2OA und im CBDS 18A in der Reihenfolge läuft, in der sie zuerst in das Journal gesetzt wurden, und so werden die Änderungen in die niedrigeren Stufen zurückkopiert. Dazu gehört, daß !ungeachtet der Anzahl der an den Daten vorgenommenen Änderungen jder Kandidat zum Rückkopieren von den Daten gebildet wird, die am längsten unverändert sind. Das sind diejenigen Daten, deren erste Eintragung am längsten im Journal 2OA und im CBDS 18A steht, ;und die mit größter Wahrscheinlichkeit nicht wieder vom Prozessor |1OA verändert werden. Der Rückkopierzähler 76 läuft immer hinter dem Zähler 70 her und zeigt auf den nächsten Kandidaten zum Rückkopieren von L1 nach L2/3. Sobald der Prozessor 10A Daten in seinem L1-Speicher 14 nicht verändert und das L1-Verzeichnis 16A frei ist, kann ein Zyklus zum Rückkopieren von L1 nach L2/3 ablaufen. Dann geben die Schaltungen in Fig. 5 den Inhalt des Rückkopierzählers in das SAR des CBDS, um die virtuelle Adresse und 16 modifizierte Datenbytes abzurufen. Der Rückkopierbefehl wird an die Rückkopiersteuerung L2/3 gegeben. Nachdem die Eintragung vom Rückkopierspeicher 18A der Stufe L1 in die Daten- und Rückkopierspeicher der Stufe L2/L3 zurückkopiert wurden und die Datenänderungen entsprechend im Journal von L2/L3 notiert wurden, wird ein Datensignal T1 an den Rückkopierzähler 76 angelegt, um diesen in die nächste Position zu schalten. Wenn dann die Bedingungen zur Rückkopierung von Daten immernoch vorliegen, wird wieder der CBDS 18 angesteuert und die Daten an der nächsten Adresse im CBDS 18A in | die Daten- und Rückkopierspeicher der nächsten Stufe zurückkopiert.j controls the addresses in the journal in numerical order. {This is done via the copy-back counter 76, which is determined by the addresses ] in Journal 2OA and in CBDS 18A runs in the order in which they were journaled first, and so will the changes copied back to the lower levels. This includes that! Regardless of the number of changes made to the data each candidate for copy back is formed from the data that has been unchanged the longest. These are the dates whose first entry is in Journal 2OA and CBDS 18A for the longest time, ; and which are most likely not to be changed again by the processor | 10A. The copy back counter 76 is always behind the counter 70 and points to the next candidate to copy back from L1 to L2 / 3. Once the processor 10A has data in its L1 memory 14 not changed and the L1 directory 16A free a cycle for copying back from L1 to L2 / 3 can run. Then the circuits in Fig. 5 give the contents of the copy back counter into the SAR of the CBDS to get the virtual address and 16 modified data bytes. The copy back command is sent to the Copy back control L2 / 3 given. After the entry from the copy back memory 18A of level L1 has been copied back to the level L2 / L3 data and copyback memories and the data changes have accordingly been noted in the journal of L2 / L3, a data signal T1 is applied to the copy-back counter 76 in order to add it to the to switch to the next position. If the conditions for copying back data are still there, the CBDS will be 18 again controlled and the data at the next address in the CBDS 18A in | the next level data and copyback memories are copied back.

Das Journal 18A speichert außer der virtuellen Adresse auch ein Gültigkeitsbit, das eingeschaltet wird, wenn am Anfang eine Eintragung in das Journal gemacht wird. Aus Fig. 4 ist zu ersehen, Wie ein Gültigkeitsbit in die Suchanordnung des Journalverzeichnisses 2OA eingegeben wird. Wenn die PPU 1OA einen Schreibbefehl zum Schreiben an einer virtuellen Adresse gibt, wird die virtuelle Adresse in das Such/Schreibregister 68 geladen. Das Such/Schreibregister ist ein Bit größer als die geladene virtuelle Adresse und ,The journal 18A also stores in addition to the virtual address Valid bit that is switched on when an entry is made in the journal at the beginning. From Fig. 4 it can be seen that How a valid bit is entered into the search arrangement of the journal directory 2OA. When the PPU 1OA a write command for writing to a virtual address, the virtual address is loaded into the search / write register 68. The search / write register is one bit larger than the loaded virtual address and,

Po 974 023/4 709827/0608Po 974 023/4 709827/0608

wenn die virtuelle Adresse eingegeben wird, wird die letzte Position oder die Y-Position des Suchregisters auf logisch 1 gezwungen»when the virtual address is entered, it will be the last position or the Y position of the search register is forced to logical 1 »

Wie schon oben gezeigt wurde, wird die ganze Suchanordnung 2OA gleichzeitig abgefragt. Wenn der Inhalt des SuchZSchreibregisters 68 bitweise mit einem der Wörter der Anordnung übereinstimmt, wird nur einer der Treiber 80 eingeschaltet. Jeder eingeschaltete Treiber liefert ein Treffersignal, das anzeigt, daß die Daten vorher verändert wurden und eine Eintragung bereits im Journal und im Journalverzeichnis vorgenommen wurde. Wenn keiner der Treiber 80 eingeschaltet ist, wird auch kein Treffer angezeigt, d.h., es muß eine Eintragung in das Journal 20 und den CBDS 18A vorgenommen werden. Hierzu wird der Zähler 70 so vorgeschaltet, daß er das nächste verfügbare Wort in der Anordnung 18 ansteuert. Gleichzeitig wird das Schreibschaltglied vorbereitet, so daß der Inhalt der SuchZSchreibregister in die vom Zähler adressierte Stelle geschrieben wird.As has already been shown above, the entire search arrangement 20A is queried at the same time. If the contents of the SearchZ write register 68 matches one of the words of the arrangement bit by bit, only one of the drivers 80 is switched on. Every activated driver delivers a hit signal that indicates that the data has been changed before and that an entry has already been made in the journal and in the Journal directory was made. If none of the drivers 80 is switched on, no hit is displayed either, i.e. it An entry must be made in Journal 20 and CBDS 18A will. For this purpose, the counter 70 is connected upstream in such a way that it controls the next available word in the arrangement 18. Simultaneously the write switching element is prepared so that the content of the SearchZ write register is in the position addressed by the counter is written.

Wenn die Daten schließlich zurückkopiert werden, muß das Journal 2OA die Tatsache wiederspiegeln, daß die Seite im L1-Datenspeicher 14A sich nicht mehr langer von der Kopie im L2-Datenspeicher 34 unterscheidet. Dazu wird zur Rückkopierzeit die Trefferadresse in der Suchanordnung in die übereinstimmungsadreßriegel gesetzt und das Gültigkeitsbit im SuchZSchreibregister auf ungültig oder lo- .When the data is eventually copied back, journal 20A must reflect the fact that the page is in L1 data storage 14A no longer differs from the copy in the L2 data store 34 differs. For this purpose, the hit address is used at copy-back time in the search arrangement in the match address bars and the validity bit in the SearchZ write register to invalid or lo-.

igisch Null. Im Schreibteil des Zyklus dienen die übereinstimmungs- j ^dreßverriegelungen zur Adressierung der Suchgruppe. 'igisch zero. In the writing part of the cycle, the matching j ^ dreßverriegelungen for addressing the search group. '

Der Inhalt der SuchZSchreibregister wird in die Adressiergestelle geschrieben. Das abgeschaltete Gültigkeitsbit verhindert einen Vergleich bei einer virtuellen Adreßsuche der Anordnung, wenn diese das nächste Mal abgesucht wird. Die in dieser und anderen figuren der Spezifikation gezeigten Taktsignale T werden durch eine konventionelle Taktschaltung in der zu dem Signal gehörenden Reihenfolge erzeugt.The content of the SearchZ write register is written into the addressing racks. The disabled valid bit prevents you Compare in a virtual address search of the arrangement the next time it is searched. The ones in this and others Figures of the specification clock signals T shown by a conventional clock circuit in the associated with the signal Sequence generated.

Zwei Arten von Rückkopieren sind möglich; Rückkopieren gemäß dem normalen Abruf, d.h. wenn Daten geändert wurden und diese beiTwo types of copy back are possible; Copy back according to normal retrieval, i.e. when data has been changed and this is in

po 974 O23Z4 709827/0606po 974 O23Z4 709827/0606

nächster Gelegenheit rückkopiert werden, und erzwungenes Rückkopie4 ren. Ein erzwungenes Rückkopieren ist ein Rückkopieren, das i nicht in der Reihenfolge des am längsten unveränderten Rückkopier-; algorithmus erfolgt. Das ist der Algorithmus, der durch das Durch-, laufen des Journales 2OA durch seine Adressen in der Reihenfolge durch den Rückkopierzähler 76 ausgestellt wird. Wenn ein erzwungenes Rückkopieren stattfindet, wird das Gültigkeitsbit aus dem Journal 2OA wie während eines regulären Rückkopierens entfernt, um dem Rückkopiermechanismus anzuzeigen, daß die Daten bereits zurückkopiert wurden und nicht wiederholt werden sollten.copied back to the next opportunity and forced copy back4 A forced copy back is a copy back that i not in the order of the longest unchanged copy back; algorithm is done. That is the algorithm that goes through the journal 2OA through its addresses in sequence is issued by the copy back counter 76. If a forced Copying back takes place, the valid bit is removed from the journal 2OA as during a regular copying back, to indicate to the copyback mechanism that the data has already been copied back and should not be repeated.

Ein erzwungenes Rückkopieren findet aus einer Anzahl von Gründen statt. Zuerst erfolgt es, wenn Daten in einer Kongruenzklasse einzusetzen sind, in der die Daten auf allen virtuellen Adressen \ in der Kongruenzklasse verändert wurden und die Änderungen noch nicht zurückkopiert wurden. Um festzustellen, ob ein erzwungenes Rückkopieren aus diesem Grunde erfolgen muß, enthält das Verzeichnis 16A vier Statusbits, je eine für eine Adresse in der Kongruenz^ klasse. Die Statusbits werden durch die Statusbit-Fortschreibe- \ schaltung gesetzt, die im einzelnen in Fig. 6 gezeigt ist. Sobald ! Staten entweder verändert oder rückkopiert werden, verändert die- j se Schaltung die Statusbits um diesen Umstand zu reflektieren. ! Die Statusbitschaltung enthält auch das UND-Glied 82. Wenn die ! Ausgabe im Verzeichnis vier Einsen enthält und damit anzeigt, daß j Daten an allen Adressen in einer bestimmten Kongruenzklasse verändert wurden und ein Signal für Nichtübereinstimmung anzeigt, j daß die Daten nicht irgendwo auf der Stufe gespeichert sind, wird ! lein Rückkopiererzwingungssignal durch dieses UND-Glied 58 erzeugt, wenn durch eine obenbeschriebene Schaltung eine neue Eintragung an dieser Adresse verzeichnet wird. jForced copy back occurs for a number of reasons. It is done first if data are to be used in a congruence class in which the data has been changed on all virtual addresses \ in the congruence class and the changes have not yet been copied back. In order to determine whether a forced copying back must take place for this reason, the directory 16A contains four status bits, one each for an address in the congruence class. The status bits are set by the status bit Fortschreibe- \ circuit which is shown in detail in Fig. 6. As soon as ! If states are either changed or copied back, this circuit changes the status bits to reflect this fact. ! The status bit circuit also contains the AND gate 82. If the ! Output in the directory contains four ones, indicating that j data has been changed at all addresses in a certain congruence class and a signal for mismatch indicates j that the data is not stored somewhere on the level! A copyback force signal is generated by this AND gate 58 when a new entry is made at this address by a circuit described above. j

Ein zweiter Grund zum Erzielen des Rückkopierens ist das überlau- ! fen des CBDS 18A und des Journales 2OA. Diese haben nur 1/6 der Positionen des Datenspeichers 14 und daher wird mit Hilfe eines i Journal-Füllzählers 84 sichergestellt, daß der nächste freie Raum im Zähler 70 nicht den Rückkopierzähler überläuft und überlagernde ! Eintragungen im Journal auf dem CBDS beginnt, die noch nicht zurückjkopiert wurden. Das Journal-Füllregister 84 ist ein Zwei-RichtungsHA second reason for achieving copy back is overflow! the CBDS 18A and the Journal 2OA. These have only 1/6 of the positions of the data memory 14 and therefore with the help of an i Journal fill counter 84 ensures that the next free space in counter 70 does not overflow the copy back counter and overlap! Entries in the journal on the CBDS begins that have not yet been copied back became. Journal fill register 84 is a two-way H

po 974 023/4 709827/0606po 974 023/4 709827/0606

zähler, der die Anzahl der m Abschnitte im Journal und im CBDS
festhält, die benutzt und nicht zurückkopiert werden. Wenn ein
bestimmter Prozentsatz dieser Abschnitte in diese Kategorie fällt, t gibt der Journal-Füllzähler einen Rückkopier-Regenerierbefehl an ι die in Fig. 6 gezeigte Schaltung, um eine Rückkopieroperation zu ; initiieren. Es kann z.B. vorteilhaft sein, Rückkopieranforderungen
abzugeben, wenn das Journal einen Schwellenwert von 90 % seiner
Kapazität erreicht und die Rückkopierzyklen fortzusetzen, bis 60 %
counter showing the number of m sections in the journal and in the CBDS
that are used and not copied back. When a
certain percentage of these sections falls into this category, t the journal filling counter issues a copy-back regeneration command to ι the circuit shown in FIG. 6 for a copy-back operation; initiate. For example, it can be beneficial to have copy back requests
to submit when the journal reaches 90% of its threshold
Capacity reached and copy back cycles to continue until 60%

der Kapazität erreicht sind. Dadurch können Datenzeilen wiederholt |the capacity are reached. This allows lines of data to repeat |

vor dem Rückkopieren auf L2/3 modifiziert und dadurch der Rück- ; kopierverkehr nach L2/3 reduziert werden. jmodified before copying back to L2 / 3 and thereby the reverse; Copy traffic to L2 / 3 can be reduced. j

i Die Maschinenausrüstung für die Journalführung und das Rückkopierenl auf der Stufe L2/3 ist in Fig. 3 dargestellt. Die Verzeichnis-Seitensuchtabelle (DLAT) 60 besteht aus einer Hochgeschwindigkeitstechnologie relativ zum Hauptspeicherverzeichnis (MSD) 56, bei j dem es sich um dasselbe MSD wie für die Steuerung 22 und die Steuerung 24 handelt. Das MSD ist im Speicher L2/3 enthalten. Außer- ; dem gibt es ein L2/3 Journal 88 aller auf der Stufe L2/3 vorzunehmender Modifikationen über Rückkopieren von L1, CBDS 18 oder von j Quelle/Senke nach L2/3. \ The machine equipment for journaling and copying back at level L2 / 3 is shown in FIG. Directory Page Lookup Table (DLAT) 60 consists of high speed technology relative to Main Storage Directory (MSD) 56, which is the same MSD as controller 22 and controller 24. The MSD is contained in memory L2 / 3. Except- ; there is also an L2 / 3 journal 88 of all modifications to be made at level L2 / 3 by copying back from L1, CBDS 18 or from j source / sink to L2 / 3. \

!Schließlich gibt es im L2/3 Speicher zwei Listen von Seiten, die
für Rückkopierzwecke reserviert sind und freie Rückkopierliste . [A und B genannt werden. Wenn die Adresse der modifizierten Daten
in einem BSM in der Hälfte A des Systems steht, wird die Rückkopiex seite zugeordnet von CBFL für die B-Hälfte des Systems und umgekehrt.
Finally, there are two lists of pages in L2 / 3 memory that
reserved for copyback purposes and free copyback list. [A and B are named. If the address of the modified data
If a BSM is in half A of the system, the return copy side is assigned by CBFL for the B half of the system and vice versa.

{Jetzt sei angenommen, daß ein Rückkopierbefehl von der L1-Rückkopiersteuerung an die L2/3-Rückkopiersteuerung 22 gegeben wird. Die von '{Now assume that a copyback command from the L1 copyback controller is given to the L2 / 3 copy back controller 22. The of '

L1 CBDS 18A geholte virtuelle Adresse wird an die L2/3-Steuerung > !22B gegeben über die L1 CB-Adreßsammelleitung und die DLAT 60 wird
'abgesucht. Es wird angenommen, daß in der DLAT keine Übereinstimmung erzielt wird. Das MSD 56 wird dann abgesucht und es muß eine
Vergleichssituation auftreten, da auf alle in der L2/3 Stufe ste-
L1 CBDS 18A fetched virtual address is given to the L2 / 3 control>! 22B via the L1 CB address trunk and the DLAT 60 becomes
'searched. It is assumed that a match is not achieved in the DLAT. The MSD 56 is then searched and one must
Comparison situation, since everyone in the L2 / 3 level is

po 974 Ο23/4 709827/0606po 974 Ο23 / 4 709827/0606

jhenden Seiten durch das MSD 56 gezeigt wird. Die reale Ausgangsadresse der Seite wird durch die Eintragungsstelle im MSD 56 angegeben, wenn zwischen der durch L1 CBDS abgegebenen virtuellen Adresse und dem virtuellen Adreßfeld im MSD ein Vergleich existiert. Wenn die CBRA-Eintragungen und die nächste freie Raumzeigereintragung im MSD Null sind wird angenommen/ daß die erste Fortschreibung auf eine Linie der Seite bei L2/3 relativ zu ihrer Kopie in L4 erfolgen soll. Die virtuelle Adresse und HRA werden von MSD gelesen und in die DLAT 60 gesetzt zusammen mit dem Inhalt des nächsten freien Raumzählers 92 (NFS CTR). Da es die erste Modifikation ist, wird auch eine vor der CBRA-Tabelle zugeordnete CBRA in die DLAT gesetzt. Gleichzeitig werden die virtuelle Adresse und die CBRA in das L2/3 Journal 88 an der Stelle gesetzt, auf die durch den NFS CTR 92 gezeigt wird verkettet mit der Hauptspeicheradreßversetzung. Da die Linien modifizierter Daten in L1 CBDS 16 Bytes ist und die Seitengröße auf L2/3 2KB beträgt, müssen die wertniederen sieben Bits (D16 bis D1O24) decodiert werden um festzustellen, welche 16 der 128 Bytes in der 2K Seite modifiziert wer-* den. Das Ergebnis dieses Bitcode wird ebenfalls in das L2/3 Journal 88 in den als Wiederanlaufbitverzeichnis bezeichneten Bereich geschrieben.is shown by the MSD 56 on the following pages. The real output address the page is indicated by the registration office in the MSD 56, if there is a comparison between the virtual address given by L1 CBDS and the virtual address field in the MSD. If the CBRA entries and the next free space pointer entry in the MSD are zero, it is assumed that the first update should be on a line of the page at L2 / 3 relative to its copy in L4. The virtual address and HRA are used by MSD read and placed in the DLAT 60 together with the content of the next free space counter 92 (NFS CTR). As it is the first modification a CBRA allocated before the CBRA table is also placed in the DLAT. At the same time, the virtual address and the CBRA is placed in the L2 / 3 journal 88 at the location pointed to by the NFS CTR 92 concatenated with the main storage address offset. Since the lines of modified data in L1 CBDS is 16 bytes and the page size on L2 / 3 is 2KB, the Lower seven bits (D16 to D1O24) are decoded to determine which 16 of the 128 bytes are modified in the 2K side. The result of this bit code is also entered in the L2 / 3 journal 88 written in the area designated as the restart bit directory.

Die implizierte HRA in MSD und die zugeordnete CBRA werden in die L2/3 Rückkopierwarteschlange der L2/3 Rückkopiersteuerung gesetzt. ', Wenn die Rückkopierwarteschlange bedient wird, werden die 16 Bytes der modifizierten Daten in L1 CBDS geschrieben in L2/3 HRA und CBRA.The implied HRA in MSD and the associated CBRA are placed in the L2 / 3 copyback queue of the L2 / 3 copyback controller. ' When the copy back queue is serviced, the 16 bytes of modified data in L1 CBDS are written to L2 / 3 HRA and CBRA.

; ι; ι

Es wird angenommen, daß ein Rückkopierbefehl in die Stufe L2/3 · geht und ein DLAT-Fehler auftritt, jedoch eine gültige CBRA-Eintra-r gung im MSD 56 steht. Eine gültige CBRA-Eintragung bedeutet die neunte Modifikation für eine Seite in L2/3 relativ zu ihrer Kopie in der Stufe L4. Da es sich um die neunte Modifikation für eine Seite handelt wurde die CBRA bereits zugeordnet. Die virtuelle Ad-> resse, CBRA, und die eingeschlossene HRA werden vom MSD an DLAT übertragen. Die CBRA und die HRA werden auch in die L2/3 Rückkopiersteuerungswarteschlange gesetzt. Wenn die RückkopierwarteschlangeIt is assumed that a copy-back command in the stage L2 / 3 · and a DLAT error occurs, but a valid CBRA entry in the MSD 56. A valid CBRA entry means the ninth modification for a page in L2 / 3 relative to its copy in level L4. Since this is the ninth modification for one side, the CBRA has already been assigned. The virtual ad-> resse, CBRA, and the included HRA are transmitted from the MSD to DLAT. The CBRA and HRA are also put on the L2 / 3 copy back control queue set. When the copy back queue

po 974 023/4 709827/0 606po 974 023/4 709827/0 606

bedient wird, werden die modifizierten Daten in L1 CBDS 18A geschrieben in L2/3 aus HRA und CBRA.is operated, the modified data is written in L1 CBDS 18A in L2 / 3 from HRA and CBRA.

Das nächste freie Raumzeigerfeld vom MSD wird in das Journal SAR gesetzt. Die virtuelle Adresse CBRA und das Wiederholungsbitverzeichnis werden geholt und gerettet. Das Gültigkeitsbit wird im Rückspeicherzyklus ungültig gemacht. Die virtuelle Adresse CBRA und das Wiederholungsbitverzeichnis werden dann an die Stelle im L2/3 Journal 88 zurückgespeichert, auf die der Inhalt des nächsten freien Raumzählers 92 zeigt. Die Journalliste wurde somit umgeordnet. (Es ist zu beachten, daß der Inhalt des nächsten freien Raumzählers auch in die DLAT 60 gespeichert wurde, als die virtuelle Adresse CBRA und HRA vom MSD 56 an die DLAT 60 übertragen wurden)The next free space pointer field from the MSD is set in the journal SAR. The virtual address CBRA and the repetition bit map are fetched and saved. The validity bit is made invalid in the restore cycle. The virtual address CBRA and the repetition bit map are then stored back in the position in the L2 / 3 journal 88 to which the contents of the next free space counter 92 shows. The journal list has thus been rearranged. (It should be noted that the content of the next free space counter was also stored in the DLAT 60 when the virtual address CBRA and HRA were transferred from the MSD 56 to the DLAT 60)

Bei nachfolgenden Modifikationen wird das Journal so umgeordnet, daß eine gewisse Filterung des Rückkopierens von L2/3 nach L4 erfolgt, welches ein wesentlich langsameres Gerät ist. Ein LRU-Rückkopieralgorithmus würde den höchsten Filtergrad bei Anwendungen liefern, wo die Modifikationsraten für eine gegebene Seite hoch sind. Wenn jedoch langsame Speicher betroffen sind, benötigt die Implementierung von LRU wesentlich mehr Gesamtaufwand in der Hardware und in der Zeit relativ zu dem noch zu beschreibenden Rückkopieralgorithmus .In the case of subsequent modifications, the journal is rearranged in such a way that a certain filtering of the copying back from L2 / 3 to L4 takes place, which is a much slower device. An LRU copyback algorithm would provide the highest level of filtering in applications where the modification rates for a given page are high are. However, when slow memories are concerned, the implementation of LRU requires significantly more overall hardware effort and in time relative to the copy back algorithm to be described.

letzter Fall wird in diesem Abschnitt der Fall betrachtet, in dem ein Rückkopierbefehl an L2/3 und ein DLAT-Vergleich existieren. jEin DLAT-Vergleich enthält immer die neunte Modifikation für eine Seite auf der Stufe L2/3 seit der letzten Fortschreibung von der Stufe L2/3 zur Stufe L4. Die HRA und CBRA werden in die L2/3-Rückkopiersteuerungswarteschlange gesetzt. Wenn die Rückkopierwarteschlange bedient wird, werden die modifizierten Daten in L1 CBDS geschrieben nach L2/3 HRA und CBRA.the latter case, the case in this section is considered in which a copy back command on L2 / 3 and a DLAT comparison exist. jA DLAT comparison always contains the ninth modification for a Page at level L2 / 3 since the last update from level L2 / 3 to level L4. The HRA and CBRA go into the L2 / 3 copy back control queue set. When the copy-back queue is serviced, the modified data in L1 CBDS written according to L2 / 3 HRA and CBRA.

Die Umordnung der Journaleintragung entsprechend der zurückzukopierenden Seite erfolgt genauso wie es oben beschrieben wurde. Die vierte und fünfte Stufe des Speichers sind magnetisch und werdenThe rearrangement of the journal entry according to the page to be copied back is carried out exactly as described above. the fourth and fifth levels of memory are magnetic and become

po 974 023/4 709827/0606po 974 023/4 709827/0606

als Platten- bzw. Bandarchivstufe bezeichnet. Die vierte Stufe ! enthält Plattenlaufwerke 38 mit vier Stellgliedern A, B, C und D : pro Laufwerk, von denen jedes eine zugeordnete Gruppe von Zylindern ansteuert.referred to as the disk or tape archive level. The fourth stage! includes disk drives 38 with four actuators A, B, C and D: per drive, each of which controls an assigned group of cylinders.

Die Archivstufe oder fünfte Stufe des Speichers ist ein Kassettenbandgerät 40 mit mehreren Stationen 164 zum Lesen eines Bandes 100 in Kassettenform. Die Laufwerke 38 und 40 sind an eine Steuerung 46 oder 48 über eine serielle Schleifenschnittstelle 42 oder 44 angeschlossen. Mehrere Platten- und Bandlaufwerke 38 und 40 sind an jede Schleife angeschlossen. Die zweite Schleife 48 is zur Verfügbarkeit mit denselben Platten- und Bandeinheiten verbunden wie die erste Schleife 46.The archive level or fifth level of storage is a cassette tape device 40 with a plurality of stations 164 for reading a tape 100 in cassette form. The drives 38 and 40 are connected to a controller 46 or 48 connected via a serial loop interface 42 or 44. Multiple disk and tape drives 38 and 40 are connected to each loop. The second loop 48 is for availability connected to the same disk and tape units as the first loop 46.

Daten werden auf der Plattenebene in Segmenten aufgezeichnet, die eine oder mehrere Seiten enthalten. Wenn auf der Platte Raum für !Data is recorded at the disk level in segments that contain one or more pages. If there is room for!

eine gegebene Segmentgröße zugeordnet wird, wird die physikalische ja given segment size is assigned, the physical j

Adresse dieses zugeordneten Raumes als die Ausgangsadresse dieses ■ Segmentes bezeichnet, solange dieses Segment auf der Plattenstufe j liegt. Der Plattenruckkopierbereich befindet sich auf einem Lauf- ! werk 38, auf dem die Ausgangsadresse nicht aufgezeichnet wird. Da-!Address of this allocated room as the output address of this ■ Segment denotes as long as this segment lies on the disk step j. The plate print copy area is on a barrel! factory 38, on which the output address is not recorded. There-!

durch wird wieder Anlauf ermöglicht, wenn das Laufwerk mit der j Ausgangsadresse ausfällt. Fig. 1 zeigt, wie die Ausgangsadreßdaten| und die zugehörigen Rückkopierdaten auf verschiedenen Laufwerken [ liegen. Alle Zylinder des Stellgliedes A des Laufwerkes 38A sind ! zugeordnet und werden als Rückkopierbereich B bezeichnet. Hier auf-1 gezeichnete Daten sind neue und modifizierte Daten für die Aus- ! gangsadreßbereiche für die Spindeln der Hälfte B des Systems. | Der zweite Rückkopierbereich A liegt auf dem Stellglied A des Lauf 4 werkes 38B.This enables restart if the drive with the j output address fails. Fig. 1 shows how the output address data | and its copy back data on different drives [lie. All cylinders of actuator A of drive 38A are! and are designated as copy-back area B. Up here one plotted data are new and modified data for the training! Input address areas for the spindles of half B of the system. | The second copy-back area A is on the actuator A of the mechanism 38B.

Alle Einschreibungen, die von der Stufe 3 des Speichers herunter- ! kommen, sind entweder neue oder modifizierte Daten für die Platten+ stufe. Jede Einschreibung auf die Platte wird zweimal aufgezeichnet. Die Seite im Ausgangsadreßbereich wird überlagert oder zugeordnet abhängig davon, ob sie neu oder modifiziert ist. Dieselbe Seite wird außerdem im Rückkopierbereich aufgezeichnet.All registrations that are down from level 3 of the memory! are either new or modified data for the disk level. Each writing on the disk is recorded twice. The page in the output address area is overlaid or assigned depending on whether it is new or modified. The same page is also recorded in the copy back area.

po 974 023/4 709827/0606po 974 023/4 709827/0606

Das in Fig. 7 gezeigte Rückkopierstellglied muß eine Schreibrate ; halten, die gleich der Summe aller Schreibraten auf allen anderen Laufwerken ist, ohne an Leistung zu verlieren. Zur Erfüllung dieser Forderung ist ein Pufferbereich 102 für den CB-Speicher vorgesehen. Während in den HA-Bereich 104 geschrieben wird, werden die Seiten auch im Hauptspeicher gepuffert. Eine ausreichende Pufferung ist vorgesehen, so daß das CB-Stellglied auf einmal eine Datenspur schreiben kann. Tatsächlich sind zwei derartige Puffer vorgesehen. Wenn der erste Puffer entladen wird (erste Plattenumdrehung) kann der zweite geladen werden. Die Seiten werden in die Puffer in der Reihenfolge gesetzt,in der sie von L2/3 zur Stufe L4 kommen, während sie an der Ausgangsadresse aufgezeichnet werden. Wenn der Puffer voll ist, beginnt der L4 Rückkopierspeicher die Aufzeichnung von Daten, die gespeichert sind im Puffer | auf die Spur 1 Zylinder 1, dann Spur 2 des Zylinders 1, Spur 3 uswJ Wenn die letzte Spur des Zylinders 1 geschrieben wurde bewegt sich das Stellglied zum Zylinder 2 usw. Da auf diese sequentielle Art geschrieben wird, ist die physikalische Adresse, an der die 2K j Seite auf der Platte geschrieben wird, vorgegeben, wenn sie in den Spurpuffer gesetzt wird. Wie schon gesagt kommen alle auf die Platte zurückkopierten Daten vom Ausgangsadreßbereich L2/3. Der leichteren Darstellung halber ist die Kapazität deß Rückkopierzylinder mit 60 Seiten angegeben. Das Beispiel zeigt 3 Spuren pro Zylinder und 2 Seiten pro Spur. ; The copyback actuator shown in Fig. 7 must have a write rate ; that is equal to the sum of all write rates on all other drives without losing performance. To meet this requirement, a buffer area 102 is provided for the CB memory. While the HA area 104 is being written, the pages are also buffered in main memory. Sufficient buffering is provided so that the CB actuator can write one data track at a time. In fact, two such buffers are provided. When the first buffer is unloaded (first disk revolution) the second can be loaded. The pages are placed in the buffers in the order in which they come from L2 / 3 to stage L4 as they are recorded at the home address. When the buffer is full, the L4 copy back memory begins recording data stored in the buffer | on track 1, cylinder 1, then track 2 of cylinder 1, track 3, etc. When the last track of cylinder 1 has been written, the actuator moves to cylinder 2, etc. Since this is the sequential type of writing, the physical address is where the 2K j page is written on the disk is predetermined when it is placed in the track buffer. As already mentioned, all data copied back to the disk come from the output address area L2 / 3. For the sake of ease of illustration, the capacity of the copy back cylinder is given as 60 pages. The example shows 3 tracks per cylinder and 2 pages per track. ;

Ein Bitverzeichnis 106 ist vorgesehen, um Raum im Rückkopierbereicht zuzuordnen und neu zu beanspruchen. Das Bitverzeichnis steht im Hauptspeicher und enthält ein Bit für jeden Seitenabschnitt im Rückkopierbereich. Jeder Zylinder (6 Seiten) wird durch 6 Bits im Verzeichnis dargestellt. Die erste Bitzeile im Verzeichnis ist für den Zylinder 1, Das erste Bit stellt die Spur 1, Record 1 und das letzte Bit die Spur 3, Record 2 dar. Zu dem Zeitpunkt, an dem einer Seite in den Spurpuffer gesetzt wird, wird das entsprechende Bit im Bitverzeichnis auf 1 gesetzt und zeigt damit an, daß es benutzt wird.A bit map 106 is provided to provide space in the copy back area assign and reclaim. The bit map is in main memory and contains one bit for each page section in the Copy back area. Each cylinder (6 pages) is represented by 6 bits in the dictionary. The first bit line in the directory is for the cylinder 1, the first bit represents the track 1, record 1 and the last bit represents track 3, record 2. At the point in time at which a page is placed in the track buffer, the corresponding Bit in the bit map set to 1, indicating that it is being used.

po 974 023/4 709827/0606po 974 023/4 709827/0606

, die obenerwähnten beiden Spurpuffer enthalten daher je zwei Seiten !(Spurpuffer 1 und 2). In dem Beispiel ist gezeigt, daß 7 Seiten zu 7 verschiedenen Segmenten gehören, die auf die Plattenstufe zurückzukopieren sind. Die Seiten sind mit den Buchstaben A bis G bezeichnet und stellen die virtuelle Adresse dieser 7 Seiten dar.The two track buffers mentioned above therefore each contain two pages ! (Track buffers 1 and 2). In the example it is shown that 7 pages belong to 7 different segments which are copied back to the disk stage are. The pages are labeled with the letters A to G and represent the virtual address of these 7 pages.

Wenn die L2/3-Rückkopiersteuerung feststellt, daß eine Seite auf die Platte zurückzukopieren ist, gibt sie einen Rückkopierbefehl und sendet die virtuelle Adresse an die L4/5-Steuerung. Diese adressiert das Hauptspeicherverzeichnis (MSD) mit der virtuellen Adresse. Der Zustand im MSD zeigt der Plattenstufe an, ob diese Seite neu oder modifiziert ist. Wenn sie neu ist muß die L4/5-Steuerung Raum zuordnen für das ganze Segment. Die Größe des Segmentes muß bekannt sein, damit genügend Raum auf der Platte zugeordnet werden kann. Die Größeninformation steht im Segmentsteuerblock zur Verfügung, der alle Information über dieses Segment enthält. Jede Einrichtung zur Raumzuordnung auf der Platte reicht für dieses Beispiel aus. Wenn der physikalische Raum (HA) für dieses Segment jetzt zur Verfügung gestellt ist, wird im Plattenverzeichnis eine Eintragung gemacht, die Lage, Größe usw. dieses Segmentes angibt.When the L2 / 3 copyback control determines that a page is to be copied back to the disk, it issues a copyback command and sends the virtual address to the L4 / 5 control. This addresses the main memory directory (MSD) with the virtual Address. The status in the MSD indicates to the disk level whether this page is new or modified. If it is new, the L4 / 5 control must Allocate space for the entire segment. The size of the segment must be known in order to allocate enough space on the disk can be. The size information is available in the segment control block, which contains all information about this segment. Any room allocation facility on the plate is sufficient for this example. If the physical space (HA) for this Segment is now available, an entry is made in the disk directory, the position, size, etc. of this segment indicates.

Wenn der MSD-Status anzeigt, daß die Seite nicht neu sondern nur [modifiziert ist, wird das Plattenverzeichnis abgesucht, um die Ausgangsadresse zu ermitteln. Die Ausgangsadresse wird angesteuert und die 2K-Seite mit dem modifizierten 2K-Block von der Stufe L2/L3 überlagert.If the MSD status indicates that the page is not new, only [is modified, the disk directory is searched to determine the starting address. The output address is activated and the 2K side is superimposed with the modified 2K block from level L2 / L3.

Jeder auf den Ausgangsadreßbereich der Platte geschriebene 2K-Block wird auch in den Rückkopierpufferbereich im Hauptspeicher gesetzt. Es wird angenommen, daß die virtuelle Adresse A und B die ersten veränderten Seiten enthält, die zurückzukopieren sind. Die virtuelle Adresse A wird in den Spurpuffer 1 gesetzt und weil sie in Zylinder 1, Spur 1, Record 1 aufgezeichnet wird, wird das erste Bit im Zylinderbitverzeichnis auf eine 1 gesetzt. Die virtuelle Adresse A kann jetzt auf die Plattenausgangsadresse geschrieben werden.Any 2K block written in the home address space of the disk is also placed in the copy back buffer area in main memory. It is assumed that virtual addresses A and B contain the first modified pages to be copied back. The virtual Address A is placed in track buffer 1 and because it is recorded in cylinder 1, track 1, record 1, the first bit in the Cylinder bit directory set to a 1. The virtual address A can now be written to the disk output address.

PO 974 023/4 709827/060SPO 974 023/4 709827/0 60S

Alle Einschreibungen, die von der Stufe 3 des Speichers herunterkommen, sind entweder neue oder modifizierte Daten für die Plattenstufe. Jede Einschreibung auf die Platte wird zweimal aufgezeichnet. Die Seite im Äusgangsadreßbereich wird überlagert oder zugeordnet abhängig davon, ob sie neu oder modifiziert ist. Dieselbe Seite wird außerdem im Rückkopierbereich aufgezeichnet.All enrollments that come down from level 3 of the store, is either new or modified data for the disk level. Each writing on the disk is recorded twice. The page in the output address area is overlaid or allocated depending on whether it is new or modified. Same Page is also recorded in the copy back area.

Das in Fig. 7 gezeigte Rückkopierstellglied muß eine Schreibrate halten, die gleich der Summe aller Schreibraten auf allen anderen Laufwerken ist, ohne an Leistung zu verlieren. Zur Erfüllung dieser Forderung ist ein Pufferbereich 102 für den CB-Speicher vorgesehen. Während in den HA-Bereich 104 geschrieben wird, werden die Seiten auch im Hauptspeicher gepuffert. Eine ausreichende Pufferung ist vorgesehen, so daß das CB-Stellglied auf einmal eine Datenspur schreiben kann. Tatsächlich sind zwei derartige Puffer vorgesehen. Wenn der erste Puffer entladen wird (erste Plattenumdrehung) kann der zweite geladen werden. Die Seiten werden in die Puffer in der Reihenfolge gesetzt, in der sie von L2/3 zur Stufe L4 kommen, während sie an der Ausgangsadresse aufgezeichnet werden. Wenn der Puffer voll ist beginnt der L4-Rückkopierspeicher die Aufzeichnung von Daten, die gespeichert sind im Puffer auf der Spur 1 Zylinder 1, dann Spur 2 des Zylinders 1, Spur 3 usw. Wenn die letzte Spur des Zylinders 1 geschrieben wurde bewegt sich das Stellglied zum Zylinder 2 usw. Da auf diese sequentielle Art geschrieben wird, ist die physikalische Adresse, an der die 2K-Seite auf der Platte geschrieben wird, vorgegeben, wenn sie in den Spurpuffer gesetzt wird. Wie schon gesagt kommen alle auf die Platte zurückkopierten Daten vom Ausgangsadreßbereich L2/3. Der leichteren Darstellung halber ist die Kapazität der Rückkopierzylinder mit 60 Seiten angegeben. Das Beispiel zeigt 3 Spuren pro Zylinder und 2 Seiten pro Spur.The copyback actuator shown in Figure 7 must maintain a write rate equal to the sum of all the write rates on all of the others Drives without sacrificing performance. To meet this requirement, a buffer area 102 is provided for the CB memory. While the HA area 104 is being written, the pages are also buffered in main memory. Sufficient buffering is provided so that the CB actuator is one data track at a time can write. In fact, two such buffers are provided. When the first buffer is unloaded (first disk revolution) it can the second to be loaded. The pages are placed in the buffers in the order in which they come from L2 / 3 to stage L4 while they are recorded at the home address. When the buffer is full, the L4 copy back memory starts recording of data that is stored in the buffer on track 1 cylinder 1, then track 2 of cylinder 1, track 3 etc. When the last track of cylinder 1 has been written, the actuator moves to the cylinder 2 etc. Because writing is done in this sequential fashion, it is the physical address where the 2K page is written on the disk is given when it is placed in the track buffer. As I said, all the data copied back to the disk comes from the output address area L2 / 3. For the sake of ease of illustration, the capacity of the copy back cylinder is given as 60 pages. The example shows 3 tracks per cylinder and 2 pages per track.

Ein Bitverzeichnis 106 ist vorgesehen, um Raum im Rückkopierbereich zuzuofcdnen und neu zu beanspruchen. Das Bitverzeichnis steht im Hauptspeicher und enthält ein Bit für jeden Seitenabschnitt im Rückkopierbereich. Jeder Zylinder (6 Seiten) wird durch 6 Bits im Verzeichnis dargestellt. Die erste Bxtzeile im Verzeichnis ist fürA bitmap 106 is provided to provide space in the copy back area to open and reclaim. The bit map is in main memory and contains one bit for each page section in the Copy back area. Each cylinder (6 pages) is represented by 6 bits in the dictionary. The first line of text in the directory is for

PO 974 023/4 709827/0606PO 974 023/4 709 827/0606

den Zylinder 1. Das erste Bit stellt die Spur 1, Record 1 und das letzte Bit die Spur 3 Record 2 dar. Zu dem Zeitpunkt, an dem eine Seite in den Spurpuffer gesetzt wird, wird das entsprechende Bit im Bitverzeichnis auf Eins gesetzt und zeigt damit an, daß es b|enutzt wird.cylinder 1. The first bit represents track 1, record 1 and the last bit represents track 3 Record 2. At the point in time at which a page is placed in the track buffer, the corresponding Bit in the bit map set to one, indicating that it is in use will.

Die obenerwähnten beiden Spurpuffer enthalten daher je 2 Seiten (Spurpuffer 1 und 2). In dem Beispiel ist gezeigt, daß 7 Seiten zu 7 verschiedenen Segmenten gehören, die auf die Plattenstufe zurückzukopieren sind. Die Seiten sind mit den Buchstaben A bis G bezeichnet und stellen die virtuelle Adresse dieser 7 Seiten dar.The two track buffers mentioned above therefore each contain 2 pages (track buffers 1 and 2). In the example it is shown that 7 pages belong to 7 different segments that are to be copied back to the disk level. The sides are with the letters A through G. and represent the virtual address of these 7 pages.

Wenn die L2/3 Rückkopiersteuerung feststellt, daß eine Seite auf die Platte zurückzukopieren ist, gibt sie einen Rückkopierbefehl und sendet die virtuelle Adresse an die L4/5-Steuerung. Diese adressiert das Hauptspeicherverzeichnis (MSD) mit der virtuellen Adresse. Der Zustand im MSD zeigt der Plattenstufe an, ob dieseWhen the L2 / 3 copyback control determines that a page is to be copied back to the disk, it issues a copyback command and sends the virtual address to the L4 / 5 control. These addresses the main memory directory (MSD) with the virtual address. The status in the MSD indicates to the disk level whether this

Seite neu oder modifiziert ist. Wenn sie neu ist muß die L4/5-Steuerung Raum zuordnen für das ganze Segment. Die Größe des Segmentes muß bekannt sein, damit genügend Raum auf der Platte zugeordnet werden kann. Die Größeninformation steht im Segmentsteuerblock zur Verfügung, der alle Information über dieses Segment enthält. Jede Einrichtung zur Raumzuordnung auf der Platte reicht für dieses Beispiel aus. Wenn der physikalische Raum (HA) für dieses Segment jetzt zur Verfügung gestellt ist, wird im Plattenverzeichnis eine Eintragung gemacht, die Lage, Größe usw. dieses Seg- ". mentes angibt.Page is new or modified. If it is new, the L4 / 5 control must allocate space for the entire segment. The size of the segment must be known so that sufficient space can be allocated on the disk. The size information is available in the segment control block, which contains all information about this segment. Any room allocation facility on the plate is sufficient for this example. If the physical space (HA) is now provided for this segment available disk directory an entry is made, the location, size, etc. of this segment ". Mentes indicates.

Wenn der MSD-Status anzeigt, daß die Seite nicht neu sondern nur modifiziert ist, wird das Plattenverzeichnis abgesucht, um die Ausgangsadresse zu ermitteln. Die Ausgangsadresse wird amgesteuert und die 2K-Seite mit dem modifizierten 2K-Block von der Stufe L2/ L3 überlagert.If the MSD status indicates that the page is not new but only modified, the disk directory is searched for the To determine the output address. The output address is am-controlled and the 2K side with the modified 2K block from level L2 / L3 superimposed.

Jeder auf den Ausgangsadreßbereich der Platte geschriebene 2K-Bloclf wird auch in den Rückkopierpufferbereich im Hauptspeicher gesetzt, jEach 2K block written in the output address range of the disk is also placed in the copy back buffer area in main memory, j

po 974 023/4 709827/0606po 974 023/4 709827/0606

Es wird angenommen, daß die virtuelle Adresse A und B die ersten veränderten Seiten enthält, die zurückzukopieren sind. Die virtuelle Adresse A wird in den Spurpuffer 1 gesetzt und weil sie im Zylinder 1, Spur 1, Record 1 aufgezeichnet wird, wird das erste Bit im Zylinderbitverzeichnis auf eine Eins gesetzt. Die virtuelle ; Adresse A kann jetzt auf die Plattenausgangsadresse geschrieben werden. Wenn B zum Rückkopieren signalisiert wird, läuft dieselbe Routine ab, jedoch wird das zweite Bit des Bitverzeichnisses desIt is assumed that virtual addresses A and B contain the first modified pages to be copied back. The virtual Address A is placed in track buffer 1 and because it is recorded in cylinder 1, track 1, record 1, the first bit in the Cylinder bit map set to a one. The virtual; Address A can now be written to the disk output address will. When B is signaled to copy back, the same routine runs, but the second bit of the bit map of the

ι Zylinders 1 auf Eins gesetzt.ι cylinder 1 set to one.

Der Spurpuffer 1 ist zu dieser Zeit voll (enthält A und B). Die L4/5-Steuerung leitet ein Schreiben zum Rückkopierstellglied ein und zeichnet die Seiten A und B auf der Spur 1 des Zylinders 1 auf. In dieser Zeit werden Rückkopierbefehle für die virtuelle Adresse C und D initiiert und in den Spurpuffer 2 gesetzt, während. der Puffer 1 entladen wird. Während C und D beschrieben werden, ! werden E und F in den Puffer 1 gesetzt. Nachdem E und F auf die i letzte Spur des Zylinders 1 geschrieben sind bewegt sich das Stell+ glied zur Spur 2. ίThe track buffer 1 is full (contains A and B) at this time. The L4 / 5 controller initiates a write to the copy back actuator and records pages A and B on track 1 of cylinder 1. During this time, copy back commands for virtual addresses C and D are initiated and placed in track buffer 2 while . the buffer 1 is discharged. While C and D are described ,! E and F are placed in buffer 1. After E and F have been written on the last i track of cylinder 1, the actuator moves to track 2. ί

Fig. 8 zeigt im einzelnen die in einem Block enthaltene Information. Jeder Datenblock (auch im Rückkopierbereich) enthält die physikalische Adresse (Zylindernummer, Spurnummer, Recordnummer). ι Physikalische Adresse und anschließendes Datenfeld sind durch eine Lücke getrennt. Das Datenfeld enthält andere Information als die eigentlichen Datenbytes. Der virtuellen Adresse folgt ein Zeiger (3 Bytes), der die andere Kopie dieser Seite im L4-Rückkopierbereich bezeichnet. Diese Rückkopieradresse wurde zu der Zeit beistimmt, als die Seite in den Spurpuffer gesetzt wurde vor dem !Schreiben der Ausgangsadresse. In Fig. 7 wird der Inhalt des Zei-ί gers mit den Daten für die virtuelle Adresse A auf dem Laufwerk 5 geschrieben. Die Notierung 1-1-1 bezeichnet die physikalische Adresse der anderen Kopie im Rückkopierspeicher (Zylinder 1, Spur 1, Record 1).Fig. 8 shows in detail the information contained in a block. Each data block (also in the copy back area) contains the physical address (cylinder number, track number, record number). ι The physical address and the subsequent data field are separated by a gap. The data field contains different information than that actual data bytes. The virtual address is followed by a pointer (3 bytes) to the other copy of this page in the L4 copy-back area designated. This copyback address was determined at the time the page was placed in the track buffer prior to ! Writing the output address. In Fig. 7, the content of the Zei-ί gers with the data for virtual address A on drive 5. The notation 1-1-1 denotes the physical address the other copy in the copy back memory (cylinder 1, track 1, record 1).

'Diese Zeiger werden erst benutzt, wenn mehr als eine Änderung an derselben Seite vorgenommen wird« Während eines Zyklus im Rück-'These pointers are not used until more than one change is made the same side is carried out «During a cycle in reverse

po 974 023/4 709827/0606po 974 023/4 709827/0606

kopierspeicher und der sequentiellen Bewegung vom Zylinder 1 bis 334 kann eine gegebene Seite mehr als einmal modifiziert werden. Mit jeder Änderung oder Modifikation wird eine neue Rückkopieradresse zugeordnet und daher wird die vorhergehende Änderung ungültig durch entsprechende Änderung des Bitverzeichnisses. Durch Veränderung des Bitverzeichnisses (Umschalten des Bit von 1 auf 0) wird diese Änderung nicht auf der nächsten Speicherstufe beim nächsten Durchgang des Rückkopierbereiches aufgezeichnet. Das Verzeichnisbit wird wie folgt geändert. Es sei angenommen, daß ein Lesebefehl zur virtuellen Adresse A seiner ersten Modifikation zur Platte folgt. Wenn A das zweite Mal in den Hauptspeicher gelesen wird, wird es mit A1 bezeichnet. A1 wird einer MSD-Eintra-'gung zugeordnet und der Rückkopierzeiger (1-1-1) wird ebenfallscopy memory and the sequential movement of cylinders 1 through 334, a given page can be modified more than once. With every change or modification a new copy back address is assigned and therefore the previous change becomes invalid by changing the bit map accordingly. By changing the bit directory (switching the bit from 1 to 0), this change is not recorded on the next memory level when the copy-back area is passed through the next time. The directory bit is changed as follows. Assume that a read command to virtual address A follows its first modification to disk. The second time A is read into main memory, it is labeled A 1. A 1 is assigned to an MSD entry and the copy back pointer (1-1-1) also becomes

in MSD eingetragen. Das nächste Mal, wenn A' modifiziert wird, wird MSD adressiert und der Zeiger ausgelesen. Dieser Zeiger gibt das betreffende Bit im Verzeichnis an, das auf Null zu ändern ist. In diesem Fall ist es das erste Bit des Bitverzeichnisses des Zylinders 1.registered in MSD. The next time A 'is modified, MSD is addressed and the pointer read out. This pointer gives the relevant bit in the directory, which is to be changed to zero. In this case it is the first bit of the cylinder's bitmap 1.

Das Rückkopierstellglied sitzt jetzt auf dem Zylinder 2. Wenn A1 zurückkopiert wird wollen wir annehmen, daß A1 auf Zylinder 2, Spur 1, Record 2 geschrieben wird und die Ausgangsadreßlage gibt im Zeigerfeld 2-1-2 an. Dieser Zeiger bezeichnet die Stelle der letzten Änderung des Blockes auf dem Rückkopierlaufwerk. Fig. 7 zeigt auch zwei Modifikationen für den Block E. Die erste Modifikation beim Rückkopieren wurde aufgezeichnet am Zylinder 1, Spur 3, !Record 1. Die zweite Modifikation liegt bei 2-2-2. Während sequen-The copy-back actuator is now located on cylinder 2. If A 1 is copied back, we want to assume that A 1 is written to cylinder 2, track 1, record 2 and the initial address position is 2-1-2 in the pointer field. This pointer indicates the location of the last change to the block on the copy back drive. Fig. 7 also shows two modifications for block E. The first modification in the copy back was recorded on cylinder 1, track 3,! Record 1. The second modification is at 2-2-2. During sequential

tiell durch den Rückkopierbereich geschrieben wird, werden Kopien '·. von Blöcken, die mehr als einmal geändert wurden, von den früheren ι Zylindern gelöscht. In diese Technik ist ein automatischer LRU- ι Algorithmus eingebaut.is partially written through the copy back area, copies become '·. of blocks that have been changed more than once deleted from the previous ι cylinders. An automatic LRU algorithm is built into this technology.

Auf dem Bandlaufwerk zu verzeichnende Daten kommen vom Rückkopierbereich der Platte. Der in den Plattenrückkopiermechanismus eingebaute LRU-Algorithmus bestimmt die Seite, die auf dem Band zu verzeichnen ist. Die Aufzeichnung auf dem Band beginnt nach dem erstelltData to be recorded on the tape drive comes from the copy back area the plate. The LRU algorithm built into the disk copy back mechanism determines the side to be recorded on the tape is. The recording on the tape begins after it is created

PO 974 023/4 709827/0506PO 974 023/4 709827/0506

Zyklus durch den Plattenruckkopierbereich (d.h. das Rückkopierstellglied hat die letzte Spur des Zylinders 334 beschrieben und kehrt zum Zylinder 1 zurück). Wenn das Stellglied auf dem Zylinder 1 steht besteht der erste Schritt in der Festlegung, welche 2K-Seite aufgezeichnet wird, indem das Bitverzeichnis für den Zylinder 1 abgefragt wird. Diejenigen 2K-Seiten, deren zugehörige Bits im Verzeichnis des Zylinders 1 auf logisch eins stehen, müssen aufgezeichnet werden. Diese Seiten werden dann beginnend bei Spur 1 gelesen und in einen Bandpuffer im Hauptspeicher gesetzt. Die Seiten werden vom Bandpufferbereich auf das Band geschrieben. Spur 1 ist jetzt für andere von L3 zu schreibende Seiten frei. Beim entladen jeder sequentiellen Spur in den Bandpuffer wird diese mit Daten von L3 wieder gefüllt.Cycle through the plate back-copy area (i.e., the copy-back actuator has written the last track of cylinder 334 and is returning to cylinder 1). When the actuator is on the cylinder 1, the first step is to determine which one 2K page is recorded by querying the bit map for cylinder 1. Those 2K pages, their associated Bits in the directory of cylinder 1 are at logical one, must be recorded. These pages are then starting at Track 1 read and placed in a tape buffer in main memory. The pages are written to the tape from the tape buffer area. Track 1 is now free for other pages to be written from L3. When each sequential track is unloaded into the tape buffer, it is filled again with data from L3.

Alle für ein gegebenes Segment aufgezeichneten oder auf das Band zurückkopierten Daten werden durch eine Eintragung im Bandverzeich-* nis identifiziert, das auf der Plattenstufe liegt. Die Kassette, die die Daten verzeichnete, ist eine andere Kassette als diejenige, auf der die Daten an der HA aufgezeichnet werden. Wir beenden die Operation daher mit zwei Kopien der Segmente, die auf die Bandstufe wandern. Aus der Plattenstufenausgangsadresse auszuleitende Daten werden durch einen LRü-Algorithmus bestimmt. Alle Segmente tragen einen Zeitstempel und die ältesten Seiten (nicht angezogen) werden ausgeleitet. Da der Ausgangsadressenbereich wesentlich größer ist als der Rückkopierbereich, bleiben Daten länger an deß Ausgangsad-, resse als im Rückkopierbereich.All data recorded or copied back to the tape for a given segment is identified by an entry in the tape directory * nis that lies on the plate step. The cartridge that recorded the data is a different cartridge than the one on which the data are recorded at the HA. We therefore end the operation with two copies of the segments on the tape stage hike. Data to be extracted from the disk level exit address are determined by an LRü algorithm. Wear all segments a timestamp and the oldest pages (not attracted) diverted. Since the output address area is much larger than the copy-back area, data remains longer at the output address, resse than in the copy back area.

Das Bandgerät kann zwei oder mehr Lese/Schreibstationen haben (wir nehmen vier an). Wenn Daten auf das Band geleitet werden können sie auf einer eingelegten Kassette aufgezeichnet werden, was ebenso wie bei der Platte am zweckmäßigsten sequentiell erfolgt. Wenn eine von den beiden Kassetten, auf denen das Segment aufgezeichnet wird, ausfällt, kann das Segment von der anderen Kassette rekonstruiert werden.The tape device can have two or more read / write stations (we assume four). When data is directed onto the tape, it can be recorded on an inserted cassette, what as with the plate, it is most expediently done sequentially. If one of the two cassettes on which the segment is recorded if, fails, the segment can be reconstructed from the other cassette.

PO 974 023/4 709827/0606PO 974 023/4 709827/0606

Wiederanlauf, Neukonfiguration und Datenrekonstruktion aus einem Verzeichnis- oder Speicherausfall erfolgen über das Aufzeichnen und Rückkopieren. Die Fehlererkennung ist eine Voraussetzung für jede Fehlerbehebungsroutine. Jedes Verzeichnis und jeder Speicher , haben daher als Minimum eine SEC/DED Einheit (Einzelfehlerkorrektur, Doppelfehlererkennung).Die Benutzung leistungsfähiger Korrekturcodes ist eine Funktion der Fehlerarten der vollendeten Speichertechnologien, Restart, reconfiguration and data reconstruction from a directory or memory failure take place via the recording and copy back. Error detection is a prerequisite for any troubleshooting routine. Every directory and every memory therefore have as a minimum one SEC / DED unit (single error correction, The use of powerful correction codes is a function of the types of errors of the completed storage technologies,

Aus Fig. 1 ist zu ersehen, daß jeder erkannte Fehler außerhalb der: Korrekturmöglichkeit der Einheit an diesen Speicher oder Verzeichnis ein Trigger für die Fehlerwiederholung ist. Nimmt man zuerst an, daß der Speicher an der Stufe N fehlerhaft ist und das Verzeichnis in Ordnung ist, so wird die fehlerhafte Speicheradresse aus dem Verezichnis herausgeholt und mit Hilfe des Verzeichnisstatusbits festgestellt, ob die Daten verändert wurden. Wenn das nicht der Fall ist wird die Verzeichniseintragung als ungültig für die physikalische Stelle im Speicher markiert, um ihre künftige Benutzung zu verbieten. Da die Daten nicht verändert wurden exi- | stiert eine laufende Kopie auf der Stufe N-1 und kann auf die Stufφ N hochgeleitet werden. ' From Fig. 1 it can be seen that every detected error outside the: Correction possibility of the unit to this memory or directory is a trigger for the error repetition. Assuming first that the memory at level N is defective and the directory is in order, the incorrect memory address is fetched from the directory and the directory status bit is used to determine whether the data has been changed. If this is not the case, the directory entry is marked as invalid for the physical location in memory in order to prohibit its future use. Since the data has not been changed exi- | A running copy stares at level N-1 and can be passed up to level N. '

Wenn der Speicher ausfällt und das Verzeichnis in Ordnung ist, das Verzeichnis jedoch anzeigt, daß die Daten verändert wurden, wird das Journal an der Stufe N-1 mit der virtuellen Adresse (HD) vom anfordernden Prozessor abgesucht. Ein Rückkopieren von N-1 j nach N wird erzwungen und dadurch die Kopie auf der Stufe N auf ; den neuesten Stand gebracht. Die rekonstruierten Daten auf der Stufe N werden dann auf die Stufe N-1 hochgeleitet.If the memory fails and the directory is fine, but the directory indicates that the data has been changed, the journal is searched at level N-1 with the virtual address (HD) by the requesting processor. A copy back of N-1 j after N is forced and thereby the copy on level N up; brought up to date. The reconstructed data at level N is then passed up to level N-1.

Wenn das Verzeichnis ausfällt ist der Zustand der adressierten Daten nicht bekannt. Die Verzeichniseintragung wird für die künftige Benutzung ungültig markiert und die physikalische Adresse der fehlerhaften Lage ausgeleitet. Wie im vorhergehenden Absatz beschrieben wurde wird das Journal abgesucht, eine Rückkopie erzwungen und die rekonstruierten Daten von der Stufe N auf eineIf the directory fails, the status of the addressed data is not known. The directory entry is for future Use is marked as invalid and the physical address of the faulty location is diverted. As in the previous paragraph the journal is searched, a copy back is forced and the reconstructed data is transferred from level N to a

po 974 023/4 709827/0606po 974 023/4 709827/0606

Stelle in der Stufe N-1 hochgeleitet.Place in level N-1.

Das MSD wird benutzt, um von Journalausfällen wie folgt wieder weiterzuarbeiten. Das MSD wird sequentiell abgesucht. Sobald eine gültige CBRA auftritt, muß eine Rückkopie erzwungen werden. Da das Journal-Wiederholungsbitverzeichnis jedoch verlorengegangen sein kann, erfolgt das Rückkopieren von L2/3 nach L4 von der Ausgangsadresse L2/3 zur Ausgangsadresse L4. Wenn einmal alle veränderten oder modifizierten Daten zurückkopiert wurden, wird die Rückkopiersteuerung aus dem System ausgeschaltet, da ihr Journal fehlerhaft ist.The MSD is used to continue working after journal failures as follows. The MSD is searched sequentially. As soon a valid CBRA occurs, a copy back must be forced. However, since the journal retry bitmap has been lost can be, the copying back from L2 / 3 to L4 takes place from the output address L2 / 3 to the output address L4. Once everyone changed or modified data has been copied back, the copy-back control is switched off from the system as its journal is faulty.

Zusammenfassend läßt sich das obige Ausführungsbeispiel der Erfindung wie folgt darstellen:In summary, the above embodiment of the invention represent as follows:

Die Rückkopiertechniken werden auf die Magnetplatten-und -Bandstufen des Speichers angewendet. Die Platten- und Bandlaufwerke sind in Serie durch mehrere unabhängige Zugangsschleifen miteinander verbunden. Diese Schleifen werden durch zwei verschiedene Stromsysteme versorgt, so daß Datenübertragungen zu den untersten Stufen auf einer Schleife weiterlaufen können, falls der Strom auf der anderen Schleife ausfällt. Der Rückkopieralgorithmus wird durch die Verwendung von Puffern entsprechend modifiziert. Auf die unteren Stufen zurückzukopierende Änderungen werden im Puffer gespeichert, bis der Spurwert einer Platte mit Änderungen angesammelt wurde. Dann wird das Rückkopieren auf die Plattenebene eingeleitet. Hierbei handelt es sich um eine Reihenfolge, mit der die Schreibrate im Rückkopierbereich der Platte auf die Rate der anderen Bereiche der Platten angehoben werden soll.The copy back techniques are applied to the magnetic disk and tape stages of memory applied. The disk and tape drives are in series with one another through several independent access loops tied together. These loops are powered by two different power systems so that data transfers to the lowest Levels on one loop can continue to run in the event of a power failure on the other loop. The copy back algorithm will modified accordingly through the use of buffers. Changes to be copied back to the lower levels are stored in the buffer stored until the track value of a disk has been accumulated with changes. Then the copying back to the disk plane initiated. This is an order in which the write rate in the copy-back area of the disk matches the rate the other areas of the plates should be lifted.

Zu den höheren Stufen der Hierarchie wird die Kapazität eines Rückkopierdatenspeichers auf einen Teil des entsprechenden Datenspeichers reduziert und eine laufende Prüfung der Anzahl von Eintragungen in diesem Rückkopierspeicher vorgenommen, die noch nich zurückkopiert wurden. Wenn die Anzahl dieser Eintragungen sich der Kapazität des Rückkopierspeichers nähert, werden alleAt the higher levels of the hierarchy, the capacity of a copy-back data store becomes part of the corresponding data store reduced and made an ongoing check of the number of entries in this copy back memory that are still were not copied back. When the number of these entries approaches the capacity of the copy back memory, they all become

PO 974 023/4 '709827/0808 PO 974 023/4 '709827/0808

'Funktionen des Speichers, die neue Eintragungen in diesen Rückikopierspeicher fördern, angehalten und das Rückkopieren von in diesem Rückkopierspeicher aufgelisteten Änderungen erhält die oberste Priorität. Diese Operation läuft dann weiter, bis die Anzahl der nicht kopierten Rückeintragungen im Rückkopierdatenspeicher auf ein akzeptables Maß reduziert ist.Functions of the memory, the new entries in this copy-back memory promote, paused and the copy back of changes listed in this copy back store receives the top priority. This operation then continues until the number of uncopied return entries in the copyback data memory is reduced to an acceptable level.

Nach einem weiteren Gesichtspunkt werden Journalführung und Rückkopiertechnik auf Multiprozessorsysteme angewandt. Insbesondere der Hierarchiespeicher derartiger Systeme wird in zwei separat mit stromversorgte Verfügbarkeitsachsen unterteilt, von denen jede einen anderen Satz von Prozessoren bedient. Während des Normalbetriebes bewegen sich Daten unabhängig aufwärts und abwärts auf diesen Achsen, jedoch werden auf einer Achse zurückzukopierende Daten in einen Rückkopierdatenspeicher dupliziert, der auf der anderen Verfügbarkeitsachse liegt. Bei dieser Anordnung kann eine Verfügbarkeitsachse alle Programmverarbeitungseinheiten bedienen, falls die andere Verfügbarkeitsachse ausfällt.From a further point of view, journaling and copy-back technology become applied to multiprocessor systems. In particular, the hierarchy memory of such systems is divided into two divided with powered availability axes, each serving a different set of processors. During the During normal operation, data will move independently up and down these axes, but will be copied back on one axis Duplicated data in a copy-back data store located on the other availability axis. With this arrangement One availability axis can serve all program processing units if the other availability axis fails.

Die Vorteile der oben beschriebenen Einrichtung bestehen in der Schaffung einer Speicherhierarchie für Verarbeitungssysteme und/ oder Multiprozessorsysteme, in denen die Datenintegrität ohne die Komplikationen der direkten Duplizierung durch Rückkopier- und Journalführungstechniken sowie durch eine neue übertragungstechnik für Änderungen in den Daten abwärts im hierarchischen Speichersystem aufrechterhalten wird. Dazu wird ein neuer Rückkopierspei- -chermechanismus geschaffen, bei dem der Rückkopierspeicher nur einen Prozentsatz der Kapazität des Gesamtspeichers zu haben braucht. Zusätzlich wird die Datenintegrität durch die beschriebenen Rückkopier- und Verzeichnistechniken in der Platten- und Bandebene der Hierarchie sichergestellt.The advantages of the facility described above are the creation of a memory hierarchy for processing systems and / or multiprocessor systems that ensure data integrity without the complications of direct duplication through copy-back and Journaling techniques as well as a new transmission technique is maintained for changes in the data down the hierarchical storage system. For this purpose, a new copy-back memory -chermechanismus created in which the copy-back memory only need to have a percentage of the capacity of the total memory. In addition, the data integrity is ensured by the described Copy-back and directory techniques are ensured at the disk and tape levels of the hierarchy.

po 974 023/4 709827/0606po 974 023/4 709827/0606

soso

LeerseiteBlank page

Claims (8)

PATENTANSPRÜCHEPATENT CLAIMS Hierarchische Speicheranordnung, in der in jeder Stufe ein Datenspeicher und ein Rückkopierspeicher zur Speicherung von verarbeiteten Daten sowie Journal-Speichereinrichtungen zur Speicherung von Adressen von erstmalig veränderten Daten vorgesehen sind, dadurch gekennzeichnet, daß die Kapazität der Rückkopierspeicher (18) kleiner ist als die Kapazität der Datenspeicher (14) dieser Stufe und daß in den Rückübertragungseinrichtungen Mittel (Fig. 2, Fig. 7) zur Anpassung dieser verminderten Kapazität vorgesehen sind.Hierarchical memory arrangement in which a data memory and a copy-back memory for storage in each level of processed data and journal storage devices for storing addresses of the first time changed data are provided, characterized in that the capacity of the copy back memory (18) is smaller is than the capacity of the data memories (14) of this stage and that in the retransmission devices means (Fig. 2, Fig. 7) are provided to accommodate this reduced capacity. 2. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet r daß die Mittel Zähler (70, 76, 84) enthalten zum Zählen der bereits belegten und der noch verfügbaren Speicherplätze im Rückkopierspeicher (18).2. A memory device according to claim 1, characterized in that the means r counter (70, 76, 84) for counting the already occupied and the remaining available storage locations in the copy-back memory (18). 3. Speicheranordnung nach Anspruch 2, gekennzeichnet durch Steuereinrichtungen zum Einleiten einer erzwungenen Rückübertragung, wenn die Anzahl der noch verfügbaren Speicherplätze unter ein vorher festgelegtes Minimum absinkt und zum Beenden der erzwungenen Rückübertragung, wenn die Anzahl der noch verfügbaren Speicherplätze ein vorher festgelegtes Maximum erreicht.3. Memory arrangement according to claim 2, characterized by control devices for initiating a forced retransmission, if the number of memory spaces still available falls below a previously determined minimum and to terminate the forced retransmission if the number of memory spaces still available has reached a previous level fixed maximum reached. 4. Speicheranordnung nach Anspruch 2, gekennzeichnet durch erste Adressier-Einrichtungen zum Auffinden von Speicherplätzen im Rückkopierspeieher zum Eintragen von veränderten Daten in den Journalspeicher (20) und durch zweite Adressier-Einrichtungen aum Auffinden von Adressen von zurückübertragenden Daten und durch Einrichtungen zum Vergleich der Adressen der beiden Adressiereinrichtungen.4. Memory arrangement according to claim 2, characterized by first addressing devices for finding memory locations in the copy-back memory for entering changed data in the journal memory (20) and by second Addressing devices aum finding addresses of data to be transmitted back and by devices for Comparison of the addresses of the two addressing devices. 5. Speicheranordnung nach Anspruch 1, mit einem Plattenspeicher und einem Magnetbandspeicher in der niedersten5. Storage arrangement according to claim 1, with a disk storage and a magnetic tape storage in the lowest PO 974 023/04 709827/060ΘPO 974 023/04 709827 / 060Θ Stufe der Hierarchie, gekennzeichnet durch zwei unabhängig voneinander arbeitende Übertragungsschleifen (42, 44), welche jeweils einzelne Plattenspeicher und einzelne Bandspeicher wahlweise mit einer ersten (46) oder mit einer zweiten (48) Speicherverwaltungseinrichtung verbinden.Level of the hierarchy, characterized by two transmission loops that work independently of one another (42, 44), which each have individual disk storage and individual tape storage optionally with a first (46) or connect to a second (48) storage management facility. 6. Speicheranordnung nach Anspruch 5, dadurch gekennzeichnet, daß jede Übertragungsschielfe von einer anderen Stromversorgung gespeist wird.6. Memory arrangement according to claim 5, characterized in that each transmission squint from a different power supply is fed. 7. Speicheranordnung nach Anspruch 6, gekennzeichnet durch zwei bestimmte Platteneinheiten, die jeweils Datenänderungen der in anderen Platteneinheiten gespeicherten Daten enthalten und mit anderen Übertragungsschleifen verbunden sind als die, welche Daten zu den anderen Plattspeichereinheiten übertragen, derart daß bei Ausfall einer der beiden Stromversorgungseinrichtungen (Trennlinie 50) die Rückübertragung zu den Magnetband- und Plattenspeichereinheiten nicht verhindert wird.7. Storage arrangement according to claim 6, characterized by two specific disk units, each of which changes data of the data stored in other disk units and with other transmission loops are connected than those which transmit data to the other disk storage units, so that in the event of failure one of the two power supply devices (dividing line 50) the return transmission to the magnetic tape and disk storage devices is not prevented. 8. Speicheranordnung nach Anspruch 5, gekennzeichnet durch Pufferspeichereinrichtungen (Fig. 7), zum Zwischenspeichern von zu den Plattenspeichern rückzuübertragenden Daten, bis die Datemnenge die Kapazität einer Plattenspur erreicht.8. Memory arrangement according to claim 5, characterized by buffer storage devices (Fig. 7) for intermediate storage of data to be retransmitted to disk storage until the amount of data equals the capacity of a disk track achieved. po 974 023/4 709827/0606po 974 023/4 709827/0606
DE19762655829 1975-12-18 1976-12-09 HIERARCHICAL STORAGE ARRANGEMENT Withdrawn DE2655829A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/642,035 US4077059A (en) 1975-12-18 1975-12-18 Multi-processing system with a hierarchial memory having journaling and copyback
US05/642,034 US4084231A (en) 1975-12-18 1975-12-18 System for facilitating the copying back of data in disc and tape units of a memory hierarchial system

Publications (1)

Publication Number Publication Date
DE2655829A1 true DE2655829A1 (en) 1977-07-07

Family

ID=27093913

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762655829 Withdrawn DE2655829A1 (en) 1975-12-18 1976-12-09 HIERARCHICAL STORAGE ARRANGEMENT

Country Status (2)

Country Link
DE (1) DE2655829A1 (en)
GB (1) GB1533768A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0019358A1 (en) * 1979-05-09 1980-11-26 International Computers Limited Hierarchical data storage system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0019358A1 (en) * 1979-05-09 1980-11-26 International Computers Limited Hierarchical data storage system

Also Published As

Publication number Publication date
GB1533768A (en) 1978-11-29

Similar Documents

Publication Publication Date Title
DE69323225T2 (en) Data handling in a processor system to control access to a plurality of data storage disks
DE69127895T2 (en) LOGICAL TRACK WRITE ASSIGNMENT SYSTEM FOR PARALLEL DISK DRIVE MATRIX DATA STORAGE SUBSYSTEM
DE69034227T2 (en) EEprom system with block deletion
DE2656546C2 (en) Data block interchange arrangement
EP0013737B1 (en) Multilevel storage hierarchy for a data processing system
DE69533058T2 (en) A redundant storage disk array and method for incrementally generating redundancy during data write to the disk array
DE69030024T2 (en) Process for making a duplication from a database
DE69321901T2 (en) Redundant disk array with improved write and read speeds
DE69131728T2 (en) STORAGE SYSTEM FOR BINARY COMPUTERS WITH HIGH SPEED, HIGH CAPACITY, ERROR TOLERANCE AND ERROR CORRECTION
DE69127229T2 (en) Method and device for data formatting on DASD devices
DE69131480T2 (en) MEMORY FOR DISK UNIT
DE69838898T2 (en) Duplicate disk storage controls
DE69223287T2 (en) Control method for a computer storage device
DE69727083T2 (en) VERIFICATION SYSTEM TO MAINTAIN THE INTEGRITY OF THE PARITY OF A MEMORY PANEL MATRIX
DE69219208T2 (en) Distributed replacement in DASD fields
DE68929229T2 (en) Control device with a cache memory and method for controlling the cache memory
DE69730449T2 (en) GENERATING A MIRROR DATA COPY (PICTURE) USING REFERENCE LABELS
DE112011100623B4 (en) Read-other protocol for maintaining parity coherency in a writeback distributed redundancy data storage system
DE68919219T2 (en) MEMORY FOR DISK UNIT.
DE69632424T2 (en) Continuous data server and data transfer scheme for multiple concurrent data access
EP0254247A2 (en) Calculator status saving system
DE2523414A1 (en) HIERARCHICAL STORAGE ARRANGEMENT
DE602005000819T2 (en) Maintaining the Consistency of a Remote Copy Using Virtualization
DE2617408A1 (en) DATA PROCESSING DEVICE
DE102009034651A1 (en) Process and method for mapping logical addresses to physical addresses in solid state disks

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee