DE3912705A1 - Data exchange control for processing unit write request - stores existing data in special memory for reinstatement if errors are detected - Google Patents

Data exchange control for processing unit write request - stores existing data in special memory for reinstatement if errors are detected

Info

Publication number
DE3912705A1
DE3912705A1 DE3912705A DE3912705A DE3912705A1 DE 3912705 A1 DE3912705 A1 DE 3912705A1 DE 3912705 A DE3912705 A DE 3912705A DE 3912705 A DE3912705 A DE 3912705A DE 3912705 A1 DE3912705 A1 DE 3912705A1
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.)
Granted
Application number
DE3912705A
Other languages
German (de)
Other versions
DE3912705C2 (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
Siemens AG
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 Siemens AG filed Critical Siemens AG
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)

Abstract

Data from several units is transferred to a special output memory (SWBUF) with a following working memory when other data is required from the working memory when data from this storage region is requested. For a write access with identical addresses to data present in the cache data store, the data present are transferred into the special output memory before the new data are written into the addressed region. If errors are detected, the old data are reinstated. USE/ADVANTAGE - For controlling "copy-back" cache memory (CACHE) write request data exchanges to prevent error propagation without full testing.

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.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.

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 as entered into 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 EP-A2-02 80 944 beschreibt einen nach dem "copy-back"-Ver­ fahren betriebenen Cachespeicher. Wird im Steuerspeicherteil des Cachespeichers ein MISS-Zugriff festgestellt, d. h. kann die Speicheranforderung vom Cachespeicher wegen nicht vorhande­ ner benötigter Daten im Datenspeicherteil nicht erfüllt werden, so wird die Anforderung unmittelbar an den Arbeitsspeicher wei­ tergeleitet. Ist für die vom Arbeitsspeicher 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 Arbeitsspeicher ausgelagert wer­ den. Um diesen Auslagerungsvorgang zu vereinfachen, ist ein ge­ sonderter Ausgabespeicher vorgesehen, in dem die auszulagernden Daten unabhängig vom Arbeitsspeicher zunächst zwischengespei­ chert werden.EP-A2-02 80 944 describes a copy-back method drive operated cache. Is in the control memory part MISS access detected in the cache, d. H. can the memory request from the cache memory does not exist the required data in the data storage section are not met, the request is immediately passed to the working memory forwarded. Is for the new ones delivered from the working memory Data no free memory area in the data storage part of the Cache memory available, must be in a known per se Selected memory area can be cleared by the data contained therein is swapped into the working memory the. To simplify this outsourcing process, a ge special output memory provided in which the outsourced Data initially cached regardless of the working memory  be saved.

Bei Schreibanforderungen von Verarbeitungseinheiten an einem derartigen Cachespeicher besteht ohne zusätzliche Sicherungs­ maßnahmen die Gefahr, daß bei einem HIT-Zugriff, d. h. bei einem Zugriff, der keine Weiterleitung der jeweiligen Anforde­ rung an den Arbeitsspeicher zur Folge hat, die ursprünglichen Daten mit fehlerbehafteten oder falschen neuen Daten überschrie­ ben werden. Schreibzugriffe dürfen daher erst ausgeführt wer­ den, wenn die Parameter und Daten einer Schreibanforderung überprüft und fehlerfrei sind. Das führt zu Zeitverlusten, ins­ besondere wenn die einzelnen Dateneinheiten nacheinander ange­ liefert werden.When processing units write requests to one such a cache exists without additional backup measures the risk that a HIT access, ie. H. at an access that does not forward the respective request memory to the main memory, the original Data overwritten with incorrect or incorrect new data be. Write access can therefore only be carried out by who when the parameters and data of a write request checked and correct. This leads to wasted time, ins especially if the individual data units are displayed one after the other be delivered.

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 Zugriffe mit fehlerbehafteten Daten nicht zu Folgefehlern füh­ ren, obwohl vorher keine vollständige Prüfung durchgeführt wird.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 Access with incorrect data does not lead to subsequent errors ren, although no complete test has been carried out beforehand becomes.

Diese Aufgabe wird durch die kennzeichnenden Merkmale des Patentanspruches 1 gelöst.This task is characterized by the characteristics of the Claim 1 solved.

Die Erfindung nutzt dabei den vorhandenen Ausgabespeicher, in den die aus dem Datenspeicherbereich gegebenenfalls verdrängten Daten vorher übertragen werden. In den frei gewordenen, gleich­ addressierten Bereich werden dann die neuen Daten unmittelbar eingeschrieben, wobei jede einzutragende Dateneinheit parallel zum jeweiligen Eintragungsvorgang überprüft wird. Wird dabei ein Fehler erkannt, werden am Ende des Einschreibvorgangs der neuen Dateneinheiten die im Ausgabespeicher vorhandenen, unver­ änderten alten Daten für weitere Zugriffe durch die Verarbei­ tungseinheiten bereitgestellt.The invention uses the existing output memory, in which may have been displaced from the data storage area Data are transferred beforehand. In the released ones, the same the new data will be immediately addressed registered, each data unit to be entered in parallel is checked for the respective registration process. Will be there If an error is detected, the new data units, the existing ones in the output memory, not changed old data for further access by the processing units provided.

Die Aufbereitung der Ursprungsdaten erfolgt gemäß einer Weiter­ bildung der Erfindung entsprechend Patentanspruch 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 preparation of the original data takes place according to a next education of the invention according to 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 or in addition to the outsourcing, 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 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 patent 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 zeigtDetails of the invention are described below using a the drawing shown embodiment closer explained. In detail shows

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 flowchart 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 DW 0 bis DW 3, beispielsweise Doppelwörtern zu je acht Byte, bestehenden Daten in dem 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 , of which the information PAR and the data consisting of the data units DW 0 to DW 3 , for example double words of eight bytes each, are transmitted in the cache memory CACHE and there in the registers when a write request is made 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 dem Datenspeicherteil DAT-SP ausgelesen und mit dem Über­ nahmetaktsignal RSWB 0 für den Speicherabschnitt SWB 0 in einen Ausgabespeicher SWBUF eingetragen. Anschließend wird die neue Dateneinheit DW 0 aus dem Schreibdatenregister WDAT von einem Auswahlschalter MUX 2 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.Thus, in the case of HIT access to a data block, the first data unit of the old data determined by the selection address AWAD is read out from the data storage part DAT-SP and entered into an output memory SWBUF with the transfer clock signal RSWB 0 for the memory section SWB 0 . The new data unit DW 0 from the write data register WDAT is then switched through by a selection switch MUX 2 to the data storage part DAT-SP and written into the memory location addressed with the same address AWAD by a write clock signal WRSP common to all write data units .

Die von der Verarbeitungseinheit CPU gelieferte neue Datenein­ heit DW 0 wird parallel zum Schreibdatenweg einer Fehlerprüfein­ richtung ERC zugeführt, die bei Vorliegen einer fehlerbehafte­ ten oder falschen Schreibdateneinheit DW 0 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 UND-Gliedes U 1, dessen Ausgang an den Setzeingang S einer bistabilen Kippstufe FF angeschlos­ sen ist.Supplied from the processing unit CPU new data input integrated DW 0 is parallel to said write a Fehlerprüfein direction ERC supplied to the 0 from the incoming input signals an error signal ERR is derived in the presence of remedial exemplary th or incorrect write data unit DW. This signal acts together with the associated write clock signal WRSP and a write-in process for a HIT access characterize the signal HITC on the inputs AND gate U 1 , the output of which is connected to the set input S of a bistable flip-flop FF .

In gleicher Weise erfolgt das Auslagern der nächstfolgenden alten Dateneinheiten in die zugehörigen Speicherabschnitte SWB 1 bis SWB 3 und das Einschreiben der neuen Dateneinheiten DW 1 bis DW 3 in die dafür vorgesehenen Speicherplätze des Datenspeicher­ teiles DAT-SP in abwechselnden Lese- und Schreibvorgängen, ge­ steuert durch die Taktsignale RSWB 1 bis RSWB 3 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 U 2, ausgelöst durch ein Taktsignal C 1, ein Steuersignal CTRL zur Aufbereitung der alten, unveränderten Daten für weitere Zugriffe durch die Verarbeitungseinheit CPU herleiten. Das Ausgangssignal des UND-Gliedes U 2 wird außerdem über eine Verzögerungseinheit VZ als Steuersignal DEL für das Zurücksetzen der bistabilen Kipp­ stufe FF rückgekoppelt.In the same way, the swapping of the next following old data units into the associated memory sections SWB 1 to SWB 3 and the writing of the new data units DW 1 to DW 3 into the storage locations provided for this purpose in the data storage part DAT-SP are carried out in alternating read and write processes by the clock signals RSWB 1 to RSWB 3 or WRSP , each new write data unit also being provided for the error checking device ERC . Thus, after completion of the writing process, recognizable by the signal, when an error occurs via a further AND gate U 2 , triggered by a clock signal C 1 , a control signal CTRL for processing the old, unchanged data for further access by the processing unit Derive CPU . The output signal of the AND gate U 2 is also fed back via a delay unit VZ as a control signal DEL for resetting the bistable flip-flop FF .

Das Steuersignal CTRL wird der Cachespeichersteuerung 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 MUX 1 auf die zum Arbeitsspeicher MM führenden Dateneingangssignalleitungen M-DATIN durchgeschaltet werden.The control signal CTRL is shared with the cache memory controller CA-ST , which supplies two signals INVAL and ST-SW , of which the signal INVAL invalidates the associated data block in the data storage part DAT-SP , while the signal ST-SW causes the the original, unchanged data-carrying output signal lines of the output memory SWBUF are switched through by a further selection switch MUX 1 to the data input signal lines M-DATIN leading to the working memory MM .

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 eingeschreiben wird, so daß eine Ungültigkennzeichnung der feh­ lerbehafteten Daten entfällt. Dazu sind die Ausgänge des Aus­ wahlschalters MUX 1 mit den Eingängen des Auswahlschalters MUX 2 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 part DAT-SP for subsequent accesses by the processing unit CPU also takes place in that the content of the output memory SWBUF is either rewritten in addition to or instead of being swapped out into the working memory MM in the data storage part DAT-SP , so that a Invalid labeling of the incorrect data is not applicable. For this purpose, the outputs of the off selector MUX are connected to the inputs of the selection switch MUX 2 1 whose Provided also by the cache memory controller CA-ST control input signal REST the Weiterlei processing of the original data to the inputs of Datenspeichertei les DAT-SP possible.

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 DW 0 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 DW 0 is written into the corresponding storage location of the data storage part DAT-SP . If an ERR error 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 K END 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ücktreten 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 are 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 resigns Enable cache memory control CA-ST again.

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 in einen ge­ sonderten Ausgabespeicher (SWBUF) mit nachgeschaltetem Arbeits­ speicher (MM) übernommen werden, wenn aufgrund einer einen Zu­ griff zum Arbeitsspeicher auslösenden Anforderung der zu diesen Daten gehörigen Speicherbereich für andere Daten aus dem Arbeits­ speicher benötigt wird, dadurch gekennzeichnet,
  • - daß bei einem Schreibzugriff auf im Datenspeicherteil (DAT-SP) des Cachespeichers (CACHE) vorhandene, gleichadressierte Da­ ten durch eine der Verarbeitungseinheiten (CPU) die im Daten­ speicherteil des Cachespeichers enthaltenen Daten zunächst in den Ausgabespeicher (SWBUF) übertragen werden, bevor die neuen Daten in den adressierten Bereich des Datenspeicherteils des Cachespeichers eingeschrieben werden,
  • - daß beim Einschreiben der neuen Daten in den Datenspeicherteil (DAT-SP) des Cachespeichers (CACHE) jede Dateneinheit auf Feh­ ler überprüft wird, und
  • - daß nach Beendigung des Einschreibvorganges bei einem während des Schreibvorganges festgestellten Datenfehler (ERR) die al­ ten, nicht geänderten Daten für weitere Zugriffe der Verarbei­ tungseinheiten (CPU) aufbereitet 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 put into a separate output memory ( SWBUF) with a downstream working memory (MM) , if, due to a request to access the working memory, the memory area belonging to this data is required for other data from the working memory, characterized in that
  • - That with a write access to the data memory part (DAT-SP) of the cache memory (CACHE) existing, equally addressed data th by one of the processing units (CPU), the data contained in the data memory part of the cache memory are first 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 when writing the new data in the data storage part (DAT-SP) of the cache memory (CACHE) each data unit is checked for errors , and
  • - That after the end of the writing process in a data error (ERR) detected during the writing process, the old, unchanged data for further accesses of the processing units (CPU) are processed.
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 Daten im Daten­ speicherteil (DAT-SP) des Cachespeichers (CACHE) für ungültig erklärt werden. 2. The method according to claim 1, characterized in that in the event of a detected data error (ERR), the old data transferred into the output memory (SWBUF) is swapped into the memory (MM) and the equally addressed data in the data memory part (DAT-SP) Cache (CACHE) can be declared invalid. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß nur die von einer Schreibanforderung betroffenen Datenein­ heiten in den Ausgabespeicher (SWBUF) übertragen werden, während die nicht betroffenen Dateneinheiten bei einer notwendig werden­ den Auslagerung in den Arbeitsspeicher (MM) direkt dem Datenspei­ cherteil (DAT-SP) des Cachespeichers (CACHE) entnommen werden.3. The method according to claim 2, characterized in that only the data units affected by a write request are transferred to the output memory (SWBUF) , while the data units not affected are necessary if they are swapped out into the main memory (MM) 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 in that the data units transferred into the output memory (SWBUF) of the old data are entered in addition to or instead of being swapped out into the data storage part (DAT-SP) of the cache memory (CACHE) and are valid there be marked. 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) jeweil abwechselnd in aufeinanderfolgenden Lese-/Schreibzyklen vorgenommen wird.5. The method according to any one of claims 1 to 4, characterized in that the transmission of an old data unit in the output memory (SWBUF) and the writing of a new, equally-addressed data unit in the data storage part (DAT-SP) of the cache memory (CACHE) is carried out alternately in successive read / write cycles. 6. Schaltungsanordnung zur Durchführung des Verfahrens nach einem der Anspü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. DW 0 . . . DW 3) entspechenden Anzahl von Speicherabschnitten (z. B. SWB 0 . . . SWB 3),
  • - 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 of the number of data units provided during data transmission (e.g. DW 0 .. DW 3 ) corresponding number of memory sections (e.g. SWB 0 ... SWB 3 ),
  • 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. RSWBO, WRSP) für den Daten­ austausch im Wechselspiel von Auslesen der durch die jeweilige Zugriffsadresse (AWAD) von der Verarbeitungseinheit (CPU) aus­ gewählten ursprünglichen Dateneinheit in den zugehörigen Spei­ cherabschnitt (z. B. SWB 0) des Ausgabespeichers (SWBUF) und Einschreiben der von der Verarbeitungseinheit (CPU) jeweils bereitgestellten und im Schreibdatenregister (WDAT) gespeicher­ ten neuen Dateneinheit (z. B. DW 0) 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. DW 0),
  • - durch eine Steuereinrichtung (CU), die bei einem während ei­ nes Schreibvorganges auftretenden Fehlersignal (ERR) nach Be­ endigung des Schreibvorganges in Verbindung mit der Cache­ speichersteuerung (CA-ST) das für die Aufbereitung der alten Daten notwendige Steuersignal (CTRL) auslöst.
featured
  • - Clock signals (e.g. RSWBO, WRSP) for data exchange provided by the cache memory controller (CA-ST) in the event of 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 original data unit selected by the respective access address (AWAD) from the processing unit (CPU) into the associated memory section (e.g. SWB 0 ) of the output memory (SWBUF) and writing in the data provided by the processing unit (CPU) and the new data unit (e.g. DW 0 ) stored in the write data register (WDAT) 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. DW 0 ),
  • - 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 during a write operation (ERR) after completion of the write operation in connection with the cache control (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 (U 1) ge­ setzt wird und im gesetzten Zustand nach Beendigung des Schreib­ vorganges (HITC) über ein nachgeschaltetes UND-Glied (U 2) 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 in that the control device (CU) consists of a bistable multivibrator (FF) , which is determined by an error signal (ERR) determined by a fault signal during a write operation (HITC and WRSP) from the error checking device (ERC) AND gate (U 1 ) is set and in the set state after completion of the write process (HITC) via a downstream AND gate (U 2 ) a control signal (CTRL) for the preparation of the old data and a bistable flip-flop (FF ) delayed reset of the control signal (DEL) triggers.
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 true DE3912705A1 (en) 1990-10-25
DE3912705C2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0444401A2 (en) * 1990-02-26 1991-09-04 Motorola, Inc. A data processor for reloading deferred pushes in a copy-back data cache
EP0498520A2 (en) * 1991-02-05 1992-08-12 Advanced Micro Devices, Inc. Improved data cache and method for handling memory errors during copyback
WO2011020791A1 (en) * 2009-08-21 2011-02-24 International Business Machines Corporation Systems and methods to efficiently schedule commands at a memory controller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE2806024C2 (en) * 1977-02-18 1987-08-27 Honeywell Information Systems Inc., Waltham, Mass., Us
EP0280954A1 (en) * 1987-02-16 1988-09-07 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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2806024C2 (en) * 1977-02-18 1987-08-27 Honeywell Information Systems Inc., Waltham, Mass., Us
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
EP0280954A1 (en) * 1987-02-16 1988-09-07 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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0444401A2 (en) * 1990-02-26 1991-09-04 Motorola, Inc. A data processor for reloading deferred pushes in a copy-back data cache
EP0444401A3 (en) * 1990-02-26 1992-09-02 Motorola Inc. A data processor for reloading deferred pushes in a copy-back data cache
EP0498520A2 (en) * 1991-02-05 1992-08-12 Advanced Micro Devices, Inc. Improved data cache and method for handling memory errors during copyback
EP0498520A3 (en) * 1991-02-05 1993-07-14 Advanced Micro Devices, Inc. Improved data cache and method for handling memory errors during copyback
WO2011020791A1 (en) * 2009-08-21 2011-02-24 International Business Machines Corporation Systems and methods to efficiently schedule commands at a memory controller

Also Published As

Publication number Publication date
DE3912705C2 (en) 1996-06-20

Similar Documents

Publication Publication Date Title
DE69029479T2 (en) High performance storage system
DE69427129T2 (en) FAULT-TOLERANT QUEUE DEVICE AND METHOD THEREFOR
DE69326175T2 (en) Data reprogramming method in an EEPROM and in an EEPROM card
DE1901228B2 (en) DATA PROCESSING SYSTEM WITH DEVICES FOR REPEATING OPERATIONS WHEN AN ERROR OCCURS
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
EP2110995B1 (en) Data transfer device
DE2246863C3 (en) Device for logging the program sequence in a data processing system
EP0282877A1 (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
DE2835498C2 (en) Arrangement for dynamic error detection in data processing systems
DE2654389A1 (en) PROCEDURE FOR FAULT ANALYSIS AND DIAGNOSTICS IN ELECTRONIC DATA PROCESSING EQUIPMENT
DE3912705A1 (en) Data exchange control for processing unit write request - stores existing data in special memory for reinstatement if errors are detected
DE2242279C3 (en) Circuit arrangement for determining errors in a memory unit of a program-controlled data exchange system
DE2823457C2 (en) Circuit arrangement for error monitoring of a memory of a digital computer 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
DE2631545C2 (en) Test device for a directory memory
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
DE2902477A1 (en) DATA PROCESSING ARRANGEMENT
EP0026460B1 (en) Circuit arrangement for addressing data for read and write access in a data processing system
DE3211256C2 (en) Circuit arrangement for the intended repetition of machine commands in a data processing system in the event of a fault
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
DE69334046T2 (en) Cache memory device
DE1267888B (en) Device for monitoring the program flow in data processing machines
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