DE3912705C2 - Method and arrangement for controlling data exchange in the case of write requests from processing units to a cache memory - Google Patents

Method and arrangement for controlling data exchange in the case of write requests from processing units to a cache memory

Info

Publication number
DE3912705C2
DE3912705C2 DE3912705A DE3912705A DE3912705C2 DE 3912705 C2 DE3912705 C2 DE 3912705C2 DE 3912705 A DE3912705 A DE 3912705A DE 3912705 A DE3912705 A DE 3912705A DE 3912705 C2 DE3912705 C2 DE 3912705C2
Authority
DE
Germany
Prior art keywords
data
memory
cache
write
dat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3912705A
Other languages
German (de)
Other versions
DE3912705A1 (en
Inventor
Ernst Josef Dr Kock
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.)
Wincor Nixdorf International GmbH
Original Assignee
Wincor Nixdorf International GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wincor Nixdorf International GmbH filed Critical Wincor Nixdorf International GmbH
Priority to DE3912705A priority Critical patent/DE3912705C2/en
Publication of DE3912705A1 publication Critical patent/DE3912705A1/en
Application granted granted Critical
Publication of DE3912705C2 publication Critical patent/DE3912705C2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Die Erfindung betrifft ein Verfahren und eine Anordnung zur Steuerung des Datenaustausches bei Schreibanforderungen von Verarbeitungseinheiten an einen Cachespeicher gemäß dem Oberbe­ griff des Patentanspruches 1 bzw. 6.The invention relates to a method and an arrangement for Control of data exchange for write requests from Processing units to a cache according to the Oberbe Handle of claim 1 or 6.

Die Verwendung eines Cachespeichers als Pufferspeicher zwischen den Verarbeitungseinheiten und dem Arbeitsspeicher in einer Datenverarbeitungsanlage zur Verkürzung der Zugriffszeiten zum Arbeitsspeicher ist allgemein üblich. Dabei kann der Cachespei­ cher auf zwei Arten betrieben werden. Beim "copy-through" -Ver­ fahren werden die geänderten Daten sowohl in den Cachespeicher als auch in den Arbeitsspeicher eingetragen, während die geän­ derten Daten bei einem nach dem "copy-back"-Verfahren arbeiten­ den Cachespeicher nur dann in den Arbeitsspeicher übertragen werden, wenn der zugehörige Speicherbereich im Cachespeicher für andere Daten benötigt wird.The use of a cache as a buffer between the processing units and the working memory in one Data processing system to shorten access times to Memory is common. The cache can be operated in two ways. With the "copy-through" version will drive the changed data both in the cache as well entered in the working memory while the geän changed data in a "copy-back" process only then transfer the cache memory to the main memory if the associated memory area in the cache memory is needed for other data.

Die DE 34 42 823 A1 und die EP-0 280 954 A2 beschreiben einen nach dem "copy-back"-Verfahren betriebenen Cachespeicher. Wird im Steuerspeicherteil des Cachespeichers ein MISS-Zugriff fest­ gestellt, d. h. kann die Speicheranforderung vom Cachespeicher wegen nicht vorhandener benötigter Daten im Datenspeicherteil nicht erfüllt werden, so wird die Anforderung unmittelbar an den Arbeitsspeicher weitergeleitet. Ist für die vom Arbeits­ speicher gelieferten neuen Daten kein freier Speicherbereich im Datenspeicherteil des Cachespeichers vorhanden, muß vorher ein in an sich bekannter Weise ausgewählter Speicherbereich geräumt werden, indem die darin enthaltenen Daten in den Arbeitsspei­ cher ausgelagert werden.DE 34 42 823 A1 and EP-0 280 954 A2 describe one cache operated according to the "copy-back" method. Becomes MISS access fixed in the control memory part of the cache memory posed, d. H. can save the memory from the cache due to the lack of required data in the data storage section are not met, the request will immediately start the memory passed on. Is for those at work delivered new data no free memory area in the Data storage part of the cache memory must be previously Cleared selected storage area in a conventional manner the data contained therein in the working memory be outsourced.

Um diesen Auslagerungsvorgang zu vereinfachen, ist ein geson­ derter Ausgabespeicher vorgesehen, in dem die auszulagernden Daten unabhängig vom Arbeitsspeicher zunächst zwischengespei­ chert werden. Der geräumte Speicherbereich im Cachespeicher kann dann bereits wieder belegt, oder es können andere Spei­ cheranfragen erledigt werden, während die in den Ausgabespei­ cher übernommenen Daten auf Fehler überprüft werden, bevor die Übertragung zum Arbeitsspeicher erfolgt.To simplify this outsourcing process, a separate derter output memory provided in which the outsourced Data initially cached regardless of the working memory  be saved. The cleared storage area in the cache can then already be occupied again, or other dishes can be used Inquiries are dealt with while in the output Checked data are checked for errors before the Transfer to the working memory.

Bei Schreibanforderungen von Verarbeitungseinheiten an einen derartigen Cachespeicher besteht ohne zusätzliche Sicherungs­ maßnahmen außerdem die Gefahr, daß bei einem HIT-Zugriff, d. h. bei einem Zugriff, der keine Weiterleitung der jeweiligen An­ forderung an den Arbeitsspeicher zur Folge hat, die ursprüngli­ chen Daten mit fehlerbehafteten oder falschen neuen Daten über­ schrieben werden. Schreibzugriffe dürfen daher ebenfalls erst ausgeführt werden, wenn die Parameter und Daten einer Schreib­ anforderung überprüft und fehlerfrei sind. Das führt zu Zeit­ verlusten, insbesondere wenn die einzelnen Dateneinheiten nach­ einander angeliefert werden.When processing units write requests to one such a cache exists without additional backup measures also take the risk that a HIT access, ie. H. with an access that does not forward the respective To memory requirement, the original data with incorrect or incorrect new data be written. Write access is therefore also allowed first run when the parameters and data of a write requirement checked and correct. That leads to time losses, especially if the individual data units after are delivered to each other.

Es ist daher Aufgabe der Erfindung, für einen nach dem "copy- back"-Verfahren betriebenen Cachespeicher der eingangs genann­ ten Art ein Verfahren und eine Anordnung zu schaffen, bei denen Schreibzugriffe im Mittel schneller durchgeführt werden kön­ nen und solche mit fehlerbehafteten Daten nicht zu Folgefehlern führen.It is therefore an object of the invention for a copy- back "method operated cache memory of the aforementioned to create a method and an arrangement in which Write access can be carried out faster on average and those with erroneous data do not result in subsequent errors to lead.

Diese Aufgabe wir durch die kennzeichnenden Merkmale des Patentanspruches 1 bzw. 6 gelöst.This task we through the characteristic features of the Claim 1 and 6 solved.

Die Erfindung nutzt dabei den vorhandenen Ausgabespeicher, indem die Daten aus dem vom Schreibzugriff betroffenen Da­ tenspeicherbereich zunächst in den Ausgabespeicher übertragen werden. In den frei gewordenen, gleichaddressierten Bereich werden dann die neuen Daten unmittelbar, d. h. ohne vorherige Fehlerüberprüfung eingeschrieben. Die Fehlerüberprüfung er­ folgt vielmehr parallel zum jeweiligen Eintragungsvorgang für die einzelnen Dateneinheiten. Wird dabei ein Fehler erkannt, werden am Ende des Einschreibvorgangs der neuen Dateneinheiten die im Ausgabespeicher zwischengespeicherten, unveränderten alten Daten für weitere Zugriffe durch die Verarbeitungsein­ heiten gesichert. Zeitverluste durch eine Überprüfung der einzelnen Dateneinheiten vor dem Einschreiben in den Datenspeicherteil werden dadurch verringert, und beim Einschreiben von fehlerbehafteten Daten stehen die alten Daten im Ausgabespeicher weiterhin zur Verfügung.The invention uses the existing output memory, by using the data from the Da first memory area in the output memory will. In the vacant, equally addressed area the new data is then immediately, i. H. without previous Error check registered. The error check he rather follows in parallel with the respective registration process for the individual data units. If an error is detected, will be at the end of the writing process of the new data units the unchanged, temporarily stored in the output memory old data for further access by the processing  secured. Time lost through a review of the individual data units before enrolling in the Data storage portion are reduced, and at Enrollment of erroneous data are the old ones Data in the output memory is still available.

Die Sicherung der Ursprungsdaten im Ausgabespeicher erfolgt gemäß einer Weiterbildung der Erfindung entsprechend Patent­ anspruch 2 durch die Auslagerung dieser Daten aus dem Ausgabespeicher in den Arbeitsspeicher und der Kennzeichnung der gleichadressierten neuen Daten im Datenspeicherteil als ungültig.The original data is saved in the output memory according to a development of the invention according to patent claim 2 by the  Outsourcing this data from the output memory to the RAM and the identification of the same address new data in the data storage part as invalid.

Die Übernahme der auszulagernden Daten vom Ausgabespeicher kann entsprechend der Weiterbildung der Erfindung gemäß Patentan­ spruch 3 nur auf die von einer Schreibanforderung betroffenen Dateneinheiten beschränkt sein, wobei dann die davon unberühr­ ten Dateneinheiten direkt dem Datenspeicherteil des Cachespei­ chers entnommen werden.The data to be swapped out can be taken over from the output memory according to the development of the invention according to Patentan say 3 only to those affected by a write request Data units may be limited, which is then unaffected data units directly to the data storage part of the cache chers can be removed.

Anstelle der Auslagerung oder auch zusätzlich dazu werden gemäß einer weiteren Ausgestaltung der Erfindung laut Patentanspruch 4 die im Ausgabespeicher gespeicherten Dateneinheiten der alten Daten wieder in den Datenspeicherteil eingetragen und als gültig gekennzeichnet.Instead of the outsourcing or in addition to this, according to a further embodiment of the invention according to claim 4 the data units of the old ones stored in the output memory Data entered again in the data storage part and as validly marked.

Der Datenaustausch erfolgt für alle Verfahren gemäß einer Weiterbildung der Erfindung entsprechend Patentanspruch 5 jeweils im Wechselspiel von Auslagerung einer alten Datenein­ heit in den Ausgabespeicher und Einschreiben einer neuen, gleichaddressierten Dateneinheit in den Datenspeicherteil durch entsprechend abwechselnde Lese- und Schreibvorgänge.The data exchange takes place for all processes according to one Further development of the invention according to claim 5 in the interplay of outsourcing old data unit in the output memory and writing a new, equally addressed data unit in the data storage part through correspondingly alternating read and write processes.

Eine für die Durchführung der verschiedenen Verfahren gemäß der Erfindung geeignete Schaltungsanordnung geht aus den Merkmalen des Patentanspruches 6 hervor, ergänzt durch eine Weiterbildung gemäß Patentanspruch 7.One for performing the various procedures according to the Circuit arrangement suitable for the invention results from the features of claim 6, supplemented by further training according to claim 7.

Einzelheiten der Erfindung werden nachfolgend anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. Im einzelnen zeigen:Details of the invention are described below using a the drawing shown embodiment closer explained. In detail show:

Fig. 1 ein Blockschaltbild der erfindungsgemäßen Schaltungsan­ ordnung und Fig. 1 is a block diagram of the circuit arrangement according to the invention and

Fig. 2 ein Flußdiagramm für die Steuerung des Datenaustausches bei einer Schreibanforderung. Fig. 2 is a flow chart for the control of data exchange in a write request.

Das Blockschaltbild in Fig. 1 zeigt eine Verarbeitungseinheit CPU, von der bei einer Schreibanforderung die Informationen PAR und die aus den Dateneinheiten DW0 bis DW3, beispielsweise Doppelwörtern zu je acht Byte, bestehenden Daten in den Cache­ speicher CACHE übertragen und dort in den Registern CPAR und WDAT gespeichert werden. Anhand der mit den Anforderungsparame­ tern PAR bereitgestellten Datenadresse wird von einer HIT/MISS- Prüfeinrichtung im Steuerspeicherteil CA-PST angezeigt, ob die addressierten Daten im Datenspeicherteil DAT-SP verfügbar sind. Das Ergebnis der Anforderungsüberprüfung wird an eine Cachespei­ chersteuerung CA-ST weitergeleitet, die die notwendigen Signale für die Steuerungsabläufe erzeugt.The block diagram in FIG. 1 shows a processing unit CPU, from which, in the event of a write request, the information PAR and the data consisting of the data units DW0 to DW3, for example double words of eight bytes each, are transferred to the cache memory CACHE and there in the registers CPAR and WDAT can be saved. On the basis of the data address provided with the request parameters PAR, a HIT / MISS test device in the control memory section CA-PST indicates whether the addressed data is available in the data memory section DAT-SP. The result of the requirements check is forwarded to a cache memory controller CA-ST, which generates the necessary signals for the control processes.

So wird bei einem HIT-Zugriff auf einen Datenblock die durch die Auswahladresse AWAD bestimmte erste Dateneinheit der alten Daten aus dem Datenspeicherteil DAT-SP ausgelesen und mit dem Über­ nahmetaktsignal RSWB0 für den Speicherabschnitt SWB0 in einen Ausgabespeicher SWBUF eingetragen. Anschließend wird die neue Dateneinheit DW0 aus dem Schreibdatenregister WDAT von einem Auswahlschalter MUX2 zum Datenspeicherteil DAT-SP durchgeschal­ tet und in die mit der gleichen Adresse AWAD angesprochene Speicherstelle durch ein für alle Schreibdateneinheiten gemein­ sames Schreibtaktsignal WRSP eingeschrieben.In the case of HIT access to a data block, the through the selection address AWAD determined the first data unit of the old one Data read out from the data storage part DAT-SP and with the over acquisition clock signal RSWB0 for the memory section SWB0 into one Output memory SWBUF entered. Then the new one Data unit DW0 from the write data register WDAT from one Selection switch MUX2 connected to data storage section DAT-SP and into the address addressed with the same address AWAD Storage location by a common for all write data units same write clock signal WRSP written.

Die von der Verarbeitungseinheit CPU gelieferte neue Datenein­ heit DW0 wird parallel zum Schreibdatenweg einer Fehlerprüfein­ richtung ERC zugeführt, die bei Vorliegen einer fehlerbehafte­ ten oder falschen Schreibdateneinheit DW0 aus den ankommenden Eingangssignalen ein Fehlersignal ERR ableitet. Dieses Signal wirkt zusammen mit dem zugehörigen Schreibtaktsignal WRSP und einem den Einschreibvorgang bei einem HIT-Zugriff kennzeichnen­ den Signal HITC auf die Eingänge des UND-Gliedes U1, dessen Ausgang an den Setzeingang S einer bistabilen Kippstufe FF angeschlos­ sen ist.The new data supplied by the processing unit CPU Unit DW0 becomes an error check in parallel to the write data path direction ERC supplied, if there is a faulty th or wrong write data unit DW0 from the incoming An error signal ERR is derived from input signals. This signal works together with the associated write clock signal WRSP and mark the enrollment process for a HIT access the signal HITC to the inputs of the AND gate U1, its output connected to the set input S of a bistable multivibrator FF is.

In gleicher Weise erfolgt das Auslagern der nächstfolgenden alten Dateneinheiten in die zugehörigen Speicherabschnitte SWB1 bis SWB3 und das Einschreiben der neuen Dateneinheiten DW1 bis DW3 in die dafür vorgesehenen Speicherplätze des Datenspeicher­ teiles DAT-SP in abwechselnden Lese- und Schreibvorgängen, ge­ steuert durch die Taktsignale RSWB1 bis RSWB3 bzw. WRSP, wobei jede neue Schreibdateneinheit ebenfalls für die Fehlerprüfein­ richtung ERC bereitgestellt wird. Somit läßt sich nach Beendi­ gung des Schreibvorganges, erkennbar am Signal , bei Auf­ treten eines Fehlers über ein weiteres UND-Glied U2, ausgelöst durch ein Taktsignal C1, ein Steuersignal CTRL zur Aufbereitung der alten, unveränderten Daten für weitere Zugriffe durch die Verarbeitungseinheit CPU herleiten. Das Ausgangssignal des UND-Gliedes U2 wird außerdem über eine Verzögerungseinheit VZ als Steuersignal DEL für das Zurücksetzen der bistabilen Kipp­ stufe FF rückgekoppelt.Outsourcing of the next following takes place in the same way old data units in the associated memory sections SWB1  to SWB3 and the registration of the new data units DW1 to DW3 into the designated storage locations of the data memory partial DAT-SP in alternate reads and writes, ge controls by the clock signals RSWB1 to RSWB3 or WRSP, whereby each new write data unit also for error checking direction ERC is provided. Thus, after finishing the writing process, recognizable by the signal, when open an error occurs via a further AND gate U2 by a clock signal C1, a control signal CTRL for processing the old, unchanged data for further access by the Derive processing unit CPU. The output signal of the AND gate U2 is also a delay unit VZ as control signal DEL for resetting the bistable toggle stage FF fed back.

Das Steuersignal CTRL wird der Cachspeichersteuerung CA-ST mit­ geteilt, die zwei Signale INVAL und ST-SW liefert, von denen das Signal INVAL den zugehörigen Datenblock im Datenspeicherteil DAT-SP für ungültig erklärt, während das Signal ST-SW veran­ laßt, daß die die ursprünglichen, unveränderten Daten führenden Ausgangssignalleitungen des Ausgabespeichers SWBUF durch einen weiteren Auswahlschalter MUX1 auf die zum Arbeitsspeicher MM führenden Dateneingangssignalleitungen M-DATIN durchgeschaltet werden.The control signal CTRL is with the cache memory controller CA-ST divided, which supplies two signals INVAL and ST-SW, of which the signal INVAL the associated data block in the data storage part DAT-SP declared invalid while the ST-SW signal is causing let that lead the original, unchanged data Output signal lines of the output memory SWBUF through a another selection switch MUX1 to the memory MM leading data input signal lines M-DATIN switched through will.

Die Wiederherstellung des Ursprungszustandes des Datenspeicher­ teiles DAT-SP für Folgezugriffe durch die Verarbeitungseinheit CPU erfolgt auch dadurch, daß der Inhalt des Ausgabespeichers SWBUF entweder zusätzlich zu oder anstelle der Auslagerung in den Arbeitsspeicher MM in den Datenspeicherteil DAT-SP wieder eingeschrieben wird, so daß eine Ungültigkennzeichnung der feh­ lerbehafteten Daten entfällt. Dazu sind die Ausgänge des Aus­ wahlschalters MUX1 mit den Eingängen des Auswahlschalters MUX2 verbunden, dessen ebenfalls von der Cachespeichersteuerung CA-ST bereitgestelltes Steuereingangssignal REST die Weiterlei­ tung der Ursprungsdaten zu den Eingängen des Datenspeichertei­ les DAT-SP ermöglicht. The restoration of the original state of the data storage partial DAT-SP for subsequent accesses by the processing unit CPU also takes place in that the content of the output memory SWBUF either in addition to or instead of being outsourced to the working memory MM in the data storage part DAT-SP again is registered so that an invalid marking of the feh There is no data. These are the outputs of the off Selector switch MUX1 with the inputs of the selector switch MUX2 connected, its also from the cache controller CA-ST provided control input signal REST the transfer processing of the original data to the inputs of the data storage unit les DAT-SP enables.  

Zur Verdeutlichung des Datenaustausches bei einer Schreiban­ forderung mit einem HIT-Zugriff auf einen aus vier Datenein­ heiten zusammengesetzten Datenblock ist in Fig. 2 ein Ablaufdia­ gramm angegeben. Zu Beginn des HIT-Zyklus HITC wird der Parame­ ter K für die auszuwählende Dateneinheit auf den Startwert K = 0 gesetzt. Anschließend wird die adressierte Dateneinheit der alten Daten aus dem Datenspeicherteil DAT-SP ausgelesen und in den Ausgabespeicher SWBUF ausgelagert und die neue, gleich adressierten Dateneinheit DW0 in die entsprechende Speicher­ stelle des Datenspeicherteils DAT-SP eingeschrieben. Tritt da­ bei ein Fehler ERR auf, so wird die bistabile Kippstufe FF ge­ setzt.To illustrate the data exchange in a write request with HIT access to a data block composed of four data units, a flow chart is given in FIG. 2. At the beginning of the HIT cycle HITC, the parameter K for the data unit to be selected is set to the start value K = 0. The addressed data unit of the old data is then read out of the data storage part DAT-SP and swapped out into the output memory SWBUF and the new, equally addressed data unit DW0 is written into the corresponding storage location of the data storage part DAT-SP. If an error ERR occurs, the bistable flip-flop FF is set.

Für die Auswahl der nächstfolgenden Dateneinheiten wird der Parameter K nach jedem Einschreibvorgang jeweils um eins erhöht und mit dem Wert KEND für die Anzahl der Dateneinheiten je Da­ tenblock verglichen, wobei sich die neue Dateneinheitsadresse DWAn aus der Addition einer 1 zur jeweils vorhergehenden alten Adresse DWAa ergibt. Sind die Einschreibvorgänge für die Daten­ einheiten beendet, so wird der HIT-Zyklus HITC beendet und bei gesetzter bistabiler Stufe FF das Steuersignal CTRL erzeugt. Da­ raufhin werden die neuen, fehlerbehafteten Daten im Datenspei­ cherteil DAT-SP für ungültig erklärt und die Ursprungsdaten aus dem Ausgabespeicher SWBUF in den Arbeitsspeicher MM ausgelagert oder die alten, unveränderten Daten in den Datenspeicherteil DAT-SP zurückgeschrieben und mit Zurücksetzen der bistabilen Kippstufe FF die Cachespeichersteuerung CA-ST wieder freigege­ ben.For the selection of the next following data units, the parameter K is increased by one after each writing process and compared with the value K END for the number of data units per data block, the new data unit address DWAn resulting from the addition of a 1 to the previous old address DWAa results. If the write-in processes for the data units have ended, the HIT cycle HITC is ended and the control signal CTRL is generated when the bistable stage FF is set. Thereupon, the new, faulty data in the data storage part DAT-SP are declared invalid and the original data is swapped out of the output memory SWBUF into the working memory MM or the old, unchanged data is written back into the data storage part DAT-SP and the bistable flip-flop FF is reset Enable CA-ST cache control.

Claims (8)

1. Verfahren zur Steuerung des Datenaustausches bei Schreib­ anforderungen von Verarbeitungseinheiten (CPU) an einen Cache­ speicher (CACHE) in einer Datenverarbeitungsanlage, bei denen im Datenspeicherteil (DAT-SP) des Cachespeichers vorhandene, aus mehreren Dateneinheiten zusammengesetzte Daten über einen gesonderten Ausgabespeicher (SWBUF) zum nachgeschalteten Ar­ beitsspeicher (MM) übertragen werden, wenn aufgrund einer einen Zugriff zum Arbeitsspeicher (MM) auslösenden Anforderung der zu diesen Daten gehörige Speicherbereich im Cachespeicher für an­ dere Daten aus dem Arbeitsspeicher benötigt wird, dadurch gekennzeichnet,
  • - daß bei jedem Schreib-HIT die im Datenspeicherteil des Cache­ speichers (CACHE) enthaltenen alten Daten in den Ausgabespei­ cher (SWBUF) übertragen werden, bevor die neuen Daten in den adressierten Bereich des Datenspeicherteils des Cachespei­ chers eingeschrieben werden,
  • - daß parallel zum Einschreiben der neuen Daten in den Daten­ speicherteil (DAT-SP) des Cachespeichers (CACHE) jede neue Dateneinheit auf Fehler überprüft wird, und
  • - daß nach Beendigung des Einschreibvorganges bei einem festge­ stellten Datenfehler (ERR) die in den Ausgabespeicher (SWBUF) übertragenen alten Daten für weitere Zugriffe der Verarbei­ tungseinheiten (CPU) gesichert werden.
1. Method for controlling the data exchange in the case of write requests from processing units (CPU) to a cache memory (CACHE) in a data processing system, in which data in the data storage part (DAT-SP) of the cache memory, composed of several data units, is stored in a separate output memory (SWBUF ) are transmitted to the downstream working memory (MM) if, due to a request triggering access to the working memory (MM), the memory area belonging to this data is required in the cache memory for other data from the working memory, characterized in that
  • - With each write HIT, the old data contained in the data storage part of the cache memory (CACHE) are transferred to the output memory (SWBUF) before the new data are written into the addressed area of the data storage part of the cache memory,
  • - That parallel to the writing of the new data in the data memory part (DAT-SP) of the cache memory (CACHE) each new data unit is checked for errors, and
  • - That after completion of the enrollment process in a determined data error (ERR), the old data transferred to the output memory (SWBUF) are saved for further accesses of the processing units (CPU).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bei einem festgestellten Datenfehler (ERR) die in den Aus­ gabespeicher (SWBUF) übertragenen alten Daten in den Arbeitsspei­ cher (MM) ausgelagert und die gleichadressierten neuen Daten im Datenspeicherteil (DAT-SP) des Cachespeichers (CACHE) für un­ gültig erklärt werden.2. The method according to claim 1, characterized, that in the event of a detected data error (ERR) the in the Aus memory (SWBUF) transferred old data in the working memory cher (MM) and the equally addressed new data in the Data storage part (DAT-SP) of the cache memory (CACHE) for un be declared valid. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß nur die von einer Schreibanforderung betroffenen Datenein­ heiten in den Ausgabespeicher (SWBUF) übertragen werden und daß bei der Auslagerung in den Arbeitsspeicher (MM) die nicht be­ troffenen Dateneinheiten direkt dem Datenspeicherteil (DAT-SP) des Cachespeichers (CACHE) entnommen werden.3. The method according to claim 2, characterized, that only the data affected by a write request is  units are transferred to the output memory (SWBUF) and that when swapping to memory (MM) the not be affected data units directly to the data storage part (DAT-SP) of the cache memory (CACHE). 4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß die in den Ausgabespeicher (SWBUF) übertragenen Dateneinhei­ ten der alten Daten zusätzlich zu oder anstatt der Auslagerung in den Datenspeicherteil (DAT-SP) des Cachespeichers (CACHE) eingetragen und dort als gültig gekennzeichnet werden.4. The method according to claim 2 or 3, characterized, that the data unit transferred into the output memory (SWBUF) old data in addition to or instead of outsourcing into the data storage part (DAT-SP) of the cache memory (CACHE) registered and marked there as valid. 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Übertragung einer alten Dateneinheit in den Ausgabespei­ cher (SWBUF) und das Einschreiben einer neuen, gleichadressier­ ten Dateneinheit in den Datenspeicherteil (DAT-SP) des Cache­ speichers (CACHE) jeweils abwechselnd in aufeinanderfolgenden Lese-/Schreibzyklen vorgenommen wird.5. The method according to any one of claims 1 to 4, characterized, that the transfer of an old data unit in the output memory cher (SWBUF) and the registration of a new, same address th data unit in the data storage part (DAT-SP) of the cache memory (CACHE) alternately in successive Read / write cycles is carried out. 6. Schaltungsanordnung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 5, mit
  • - einem Cachespeicher (CACHE), bestehend aus einem Datenspei­ cherteil (DAT-SP), einem Steuerspeicherteil (CA-PST) mit in­ tegrierter HIT/MISS-Prüfeinrichtung sowie einer Cachespei­ chersteuerung (CA-ST),
  • - einem zwischen dem Ausgang des Datenspeicherteiles (DAT-SP) und dem Eingang des Arbeitsspeichers (MM) angeordneten Aus­ gabespeicher (SWBUF), bestehend aus einer der Anzahl der bei einer Datenübertragung bereitgestellten Dateneinheiten (z. B. DW0 . . . DW3) entsprechenden Anzahl von Speicherabschnitten (z. B. SWB0 . . . SWB3),
  • - sowie einem im Datenweg von der Verarbeitungseinheit (CPU) zum Datenspeicherteil (DAT-SP) angeordneten Register (WDAT) für Schreibdaten,
6. Circuit arrangement for performing the method according to one of claims 1 to 5, with
  • - a cache memory (CACHE), consisting of a data memory part (DAT-SP), a control memory part (CA-PST) with an integrated HIT / MISS test device and a cache memory controller (CA-ST),
  • - An output memory (SWBUF) arranged between the output of the data storage part (DAT-SP) and the input of the main memory (MM), consisting of one corresponding to the number of data units provided during data transmission (e.g. DW0... DW3) Number of memory sections (e.g. SWB0... SWB3),
  • a register (WDAT) for write data arranged in the data path from the processing unit (CPU) to the data storage part (DAT-SP),
gekennzeichnet
  • - durch von der Cache-Speichersteuerung (CA-ST) bei einem in der Prüfeinrichtung des Steuerspeicherteiles (CA-PST) ermittelten Treffer (HIT) für die jeweilige Schreibanforde­ rung gelieferte Taktsignale (z. B. RSWB0, WRSP) für den Daten­ austausch im Wechselspiel von Auslesen der durch die jeweilige Zugriffsadresse (AWAD) von der Verarbeitungseinheit (CPU) aus­ gewählten alten Dateneinheit in den zugehörigen Speicherab­ schnitt (z. B. SWB0) des Ausgabespeichers (SWBUF) und Ein­ schreiben der von der Verarbeitungseinheit (CPU) jeweils be­ reitgestellten und im Schreibdatenregister (WDAT) gespeicher­ ten neuen Dateneinheit (z. B. DW0) in den Datenspeicherteil (DAT-SP),
  • - durch eine parallel zum Schreibdatenweg angeordnete Fehler­ prüfeinrichtung (ERC) zur Ableitung eines Fehlersignals (ERR) bei Vorliegen einer fehlerbehafteten Schreibdateneinheit (z. B. DW0),
  • - durch eine Steuereinrichtung (CU), die bei einem auftretenden Fehlersignal (ERR) nach Beendigung des Schreibvorganges in Verbindung mit der Cachespeichersteuerung (CA-ST) das für die Aufbereitung der alten Daten notwendige Steuersignal (CTRL) auslöst.
featured
  • - Clock signals (e.g. RSWB0, WRSP) for data exchange provided by the cache memory controller (CA-ST) for a hit (HIT) determined in the test device of the control memory part (CA-PST) for the respective write request Interplay of reading out the old data unit selected by the respective access address (AWAD) from the processing unit (CPU) into the associated memory section (e.g. SWB0) of the output memory (SWBUF) and writing in the data from the processing unit (CPU) provided and stored in the write data register (WDAT) th new data unit (e.g. DW0) in the data storage part (DAT-SP),
  • by an error checking device (ERC) arranged parallel to the write data path for deriving an error signal (ERR) in the presence of an erroneous write data unit (e.g. DW0),
  • - By a control device (CU) which triggers the control signal (CTRL) necessary for the preparation of the old data in the event of an error signal (ERR) occurring after the writing process in connection with the cache memory controller (CA-ST).
7. Schaltungsanordnung nach Anspruch 6, dadurch gekennzeichnet, daß die Steuereinrichtung (CU) aus einer bistabilen Kippstufe (FF) besteht, die durch ein während eines Schreibvorganges (HITC und WRSP) von der Fehlerprüfeinrichtung (ERC) ermitteltes Fehlersignal (ERR) über ein vorgeschaltetes UND-Glied (U1) ge­ setzt wird und im gesetzten Zustand nach Beendigung des Schreib­ vorganges über ein nachgeschaltetes UND-Glied (U2) ein Steuersignal (CTRL) für die Aufbereitung der alten Daten und ein die bistabile Kippstufe (FF) verzögert wieder zurücksetzen­ des Steuersignal (DEL) auslöst.7. Circuit arrangement according to claim 6, characterized, that the control device (CU) from a bistable flip-flop (FF) is created by a during a write (HITC and WRSP) determined by the error checking device (ERC) Error signal (ERR) via an upstream AND gate (U1) ge is set and in the set state after completion of the write process via a downstream AND gate (U2) Control signal (CTRL) for the preparation of the old data and on reset the bistable flip-flop (FF) with a delay of the control signal (DEL) is triggered.
DE3912705A 1989-04-18 1989-04-18 Method and arrangement for controlling data exchange in the case of write requests from processing units to a cache memory Expired - Fee Related DE3912705C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE3912705A DE3912705C2 (en) 1989-04-18 1989-04-18 Method and arrangement for controlling data exchange in the case of write requests from processing units to a cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE3912705A DE3912705C2 (en) 1989-04-18 1989-04-18 Method and arrangement for controlling data exchange in the case of write requests from processing units to a cache memory

Publications (2)

Publication Number Publication Date
DE3912705A1 DE3912705A1 (en) 1990-10-25
DE3912705C2 true DE3912705C2 (en) 1996-06-20

Family

ID=6378916

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3912705A Expired - Fee Related DE3912705C2 (en) 1989-04-18 1989-04-18 Method and arrangement for controlling data exchange in the case of write requests from processing units to a cache memory

Country Status (1)

Country Link
DE (1) DE3912705C2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197144A (en) * 1990-02-26 1993-03-23 Motorola, Inc. Data processor for reloading deferred pushes in a copy-back data cache
US5295259A (en) * 1991-02-05 1994-03-15 Advanced Micro Devices, Inc. Data cache and method for handling memory errors during copy-back
US8132048B2 (en) * 2009-08-21 2012-03-06 International Business Machines Corporation Systems and methods to efficiently schedule commands at a memory controller

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4084236A (en) * 1977-02-18 1978-04-11 Honeywell Information Systems Inc. Error detection and correction capability for a memory system
DE3442823A1 (en) * 1984-11-23 1986-06-05 Siemens AG, 1000 Berlin und 8000 München Method and arrangement for increasing the performance capability of data-processing installations having data which have errors and are stored in buffer stores, especially in cache stores
EP0280954B1 (en) * 1987-02-16 1991-04-24 Siemens Aktiengesellschaft Data exchange control method between processing units and a memory arrangement including a cache in data-processing systems, as well as a cache operating according to this method

Also Published As

Publication number Publication date
DE3912705A1 (en) 1990-10-25

Similar Documents

Publication Publication Date Title
DE2328869C2 (en) Method and circuit arrangement for operating a digital storage system
DE1928202C3 (en) Device for the creation of statistical data on the operational sequence of program-controlled data processing systems
DE2428348C2 (en) Process for the continued use of a faulty data memory and device for carrying out this process
DE3003150C2 (en) Microcomputer with an additional random access memory for storing parity bits
DE2518588C3 (en) Method for monitoring the consistency of code signal groups in telecommunications equipment
DE19983098B4 (en) Multi-bit display for handling write-to-write errors and eliminating bypass comparators
DE2407241A1 (en) PROCEDURE AND ARRANGEMENT FOR INCREASING THE AVAILABILITY OF A DIGITAL COMPUTER
DE2336020C3 (en) Address calculation circuit for parity error correction programs
EP0282877B1 (en) Method and apparatus for controlling the error correction in a data transmission system of data read from dynamical peripheral storage devices, in particular disk storage devices of a data-processing system
DE3045609A1 (en) METHOD AND CIRCUIT FOR DELIVERING A CORRECTED DATA GROUP TO A DETERMINATION CIRCUIT
DE2246863C3 (en) Device for logging the program sequence in a data processing system
DE3912705C2 (en) Method and arrangement for controlling data exchange in the case of write requests from processing units to a cache memory
AT412315B (en) INSTALLATION FOR THE TRANSFER OF DATA
EP0009600B1 (en) Method and interface device for carrying out maintenance operations over an interface between a maintenance processor and a plurality of individually testable functional units of a data processing system
DE2242279C3 (en) Circuit arrangement for determining errors in a memory unit of a program-controlled data exchange system
DE10062404A1 (en) Faulty memory cell address reduction method compares each detected faulty memory cell address with second fault address for word and/or bit line to be repaired for eliminating duplications
EP0280954B1 (en) Data exchange control method between processing units and a memory arrangement including a cache in data-processing systems, as well as a cache operating according to this method
DE3433679A1 (en) Method and arrangement for securing important information in memory units with optional access, particularly for control bits in buffer memories acting as cache memories in a data processing system
DE4335604A1 (en) Memory checking circuit
DE2939412C2 (en) Circuit arrangement for addressing data for read and write access in a data processing system
EP0353660A2 (en) Fault prevention method in memory systems of data-processing installations, in particular telephone exchanges
DE4104114A1 (en) Redundant data processing system e.g. for control applications - uses program counter and count comparator for synchronising stand-by system following interrupt
DE3211256C2 (en) Circuit arrangement for the intended repetition of machine commands in a data processing system in the event of a fault
DE3442823C2 (en)
EP0190575A1 (en) Method and arrangement for reducing the effect of memory errors on data stored in caches of data-processing systems

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: SIEMENS NIXDORF INFORMATIONSSYSTEME AG, 33106 PADE

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee