DE3433679C2 - - Google Patents

Info

Publication number
DE3433679C2
DE3433679C2 DE3433679A DE3433679A DE3433679C2 DE 3433679 C2 DE3433679 C2 DE 3433679C2 DE 3433679 A DE3433679 A DE 3433679A DE 3433679 A DE3433679 A DE 3433679A DE 3433679 C2 DE3433679 C2 DE 3433679C2
Authority
DE
Germany
Prior art keywords
bit
error
combinations
memory
combination
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
Application number
DE3433679A
Other languages
English (en)
Other versions
DE3433679A1 (de
Inventor
Ernst Josef Dr. 8192 Geretsried De 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.)
Siemens AG
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 DE19843433679 priority Critical patent/DE3433679A1/de
Publication of DE3433679A1 publication Critical patent/DE3433679A1/de
Application granted granted Critical
Publication of DE3433679C2 publication Critical patent/DE3433679C2/de
Granted legal-status Critical Current

Links

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

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)
  • Detection And Correction Of Errors (AREA)

Description

Verfahren und Anordnung zur Sicherung von aus Bitkombinationen bestehenden wichtigen Informationen in Speichereinheiten mit wahlfreiem Zugriff, insbesondere von Steuerbitkombinationen in als Cache-Speicher arbeitenden Pufferspeichern einer Datenverarbeitungsanlage.
Die Erfindung betrifft ein Verfahren und eine Anordnung zur Sicherung von wichtigen Informationen in Speichereinheiten mit wahlfreiem Zugriff entsprechend dem Oberbegriff des Patentanspruches 1.
Wichtige Daten oder Informationen werden in der Regel durch einen fehlerkorrigierenden Code anstelle des sonst üblichen einzigen Paritätsbits gesichert. Dabei können mit P Prüfbits nach der Beziehung
N = 2 P - (P + 1)
insgesamt N Nutzbits überwacht und bei Einzelfehlern sicher korrigiert werden. Für zwei, drei, oder vier Nutzbits sind also zum Beispiel drei Prüfbits erforderlich. Der zusätzliche Aufwand für die Prüfbits ist daher bei einer geringen Anzahl von zu sichernden Nutzbits sehr erheblich - man siehe zum Beispiel Bell System Technical Journal, Vol. XXVI, No. 2, April 1950, S. 147 bis 160, insbesondere Seiten 150/151 oder Steinbuch/Weber: "Taschenbuch der Informatik", Bd. 2, 3. Aufl. 1974, S. 156.
Wichtige Informationen sind zum Beispiel die Adressen- und Steuerbiteinträge in einem dem Arbeitsspeicher einer Datenverarbeitungsanlage als Cache-Speicher vorgeschalteten Pufferspeicher, wenn die zugehörigen Daten des Arbeitsspeichers nur im Pufferspeicher geändert und geänderte Daten nur dann in den Arbeitsspeicher übertragen werden, wenn der zugehörige Speicherbereich im Cache- Speicher für andere Daten benötigt wird ("copy-back"- Verfahren).
In diesem Falle sind die geänderten Daten nicht doppelt vorhanden, und vor allem würden Speicherfehler im Adressen- und/oder Steuerbitbereich die ordnungsgemäße Arbeitsweise der Datenverarbeitungsanlage erheblich beeinträchtigen, da eine verfälschte Adresse zu einer Auslagerung der Daten an eine falsche Stelle im Arbeitsspeicher führen würde oder gegebenenfalls Daten ausgelagert würden, die ungültig sind. Bei mehreren Cache-Speichern könnten außerdem die Übereinstimmung der Daten oder die Daten selbst verloren gehen, weil aus dem Arbeitsspeicher Daten bereitgestellt werden, die infolge Änderung in einem Cache-Speicher nicht auf dem letzten Stand sind oder weil Änderungen nicht erkannt werden.
Es ist daher üblich, solche Adressen- und Steuerbiteinträge neben den Dateneinträgen mit einem fehlerkorrigierenden Code zu sichern und im Fehlerfall entsprechend zu korrigieren - man siehe beispielsweie Computing Surveys, Vol. 14, No. 3, September 1982, Seiten 473 bis 530, insbesondere Seite 501, rechte Spalte, Abschn. 6. Reliability.
Fehlerkorrigierende Codes erfordern aber zusätzlichen Aufwand, wobei infolge des mehr Platz erfordernden Speicherbedarfs an RAM-Bausteinen neben der höheren Fehlerwahrscheinlichkeit auch zusätzliche, den Speicherzyklus beeinflussende Laufzeiten wegen der zwangsläufig größeren Verbindungsentfernungen entstehen.
Es ist daher Aufgabe der Erfindung, ein Verfahren und eine Anordnung der eingangs genannten Art zu schaffen, bei denen mit nur geringem zusätzlichen Aufwand der Sicherungsgrad gegenüber Fehlern bei mit nur einem einzigen Paritätsbit gesicherten Informationen von geringem Umfang wesentlich verbessert ist und die insbesondere bei nach dem "copy-back"-Verfahren arbeitenden Cache-Speichern ein einwandfreies Arbeiten wenigstens bei Einzelfehlern ermöglichen.
Diese Aufgabe wird gemäß der Erfindung durch die kennzeichnenden Merkmale des Patentanspruches 1 gelöst.
Die Erfindung nutzt dabei die Tatsache, daß in sehr vielen Fällen nur eine sehr begrenzte Anzahl von zulässigen Bitkombinationen von den insgesamt möglichen Bitkombinationen der zu sichernden Bitfolge möglich ist, so daß sich die Anzahl der aus diesen zulässigen Kombinationen ableitbaren möglichen Fehlerkombinationen bei einem auftretendem Einzelfehler erheblich reduziert. Außerdem wird die Tatsache genutzt, daß in vielen Anwendungsfällen nicht die genaue fehlerfreie Bitfolge zu rekonstruieren ist, sondern lediglich zu entscheiden ist, ob die von der Bitfolge abhängige Operation in der üblichen Weise fortgesetzt werden kann, ohne daß der weitere Funktionsablauf dadurch beeinträchtigt wird, oder ob eine Fortsetzung nur nach vorheriger Zwischenschaltung einer Sonderoperation oder aber gar nicht möglich ist. Gliedert man die möglichen Fehlerkombinationen entsprechend in Gruppen, so reduziert sich die Anzahl in den einzelnen Gruppen meistens auf einige wenige Kombinationen, die neben der Paritätsprüfung in einfacher Weise durch entsprechende Verknüpfungen überwacht werden können, so daß bei nur geringem zusätzlichen Aufwand eine bessere Sicherung des Funktionsablaufes erreicht wird.
Gemäß einer Weiterbildung der Erfindung entsprechend dem Patentanspruch 2 läßt sich der Wirkungsgrad der Sicherung in vielen Fällen noch erhöhen, wenn durch Modifikationen wenigstens eines des Informationsbits durch Ausnutzung möglicher Verknüpfungen mit anderen Informationsbits ein Ersatzinformationsbit geschaffen wird, wodurch die Anzahl der nicht eindeutig einer Gruppe zuordenbaren Fehlerkombinationen verringert wird.
Eine besonders vorteilhafte Weiterbildung der Erfindung bezieht sich gemäß Patentanspruch 3 auf die Sicherung der Steuerbits in nach dem "copy-back"-Verfahren arbeitenden Cache-Speichern in Datenverarbeitungsanlagen, wonach trotz Verwendung nur eines einzigen Paritätsbits bei drei Steuerbits wie bei einem fehlerkorrigierenden Code alle Einzelfehler umgangen werden, so daß in jedem Falle ein einwandfreies Arbeiten ohne Abbruch einer eingeleiteten Speicheroperation möglich ist.
Zusätzlich können gemäß Patentanspruch 4 bei allen Lösungsvarianten auch Doppelfehler bis zu einem gewissen Grade erkannt werden.
Die weiteren Patentansprüche 5 bis 9 beziehen sich auf entsprechende Anordnungen zur Durchführung der einzelnen Verfahren, wonach zusätzlich zur Einrichtung für die Paritätsprüfung wenigstens ein Verknüpfungsnetzwerk für die Ermittlung der jeweils vorliegenden Gruppe von Fehlerkombinationen und eine Signalerzeugungseinrichtung zur Erzeugung der entsprechenden Steuersignale benötigt wird, wenn die Paritätsprüfeinrichtung einen Fehler anzeigt.
Einzelheiten der Erfindung seien nachfolgend anhand eines in der Zeichnung dargestellten Ausführungsbeispieles näher erläutert. Im einzelnen zeigen
Fig. 1 eine tabellarische Zusammenstellung der von vorgegebenen Bitkombinationen bei einem Einzel- und einem Doppelfehler ableitbaren Fehlerkombinationen,
Fig. 2 in Anlehnung an die von Fig. 1 eine weitere tabellarische Zusammenstellung mit durch Modifikation eines der Informationsbits verringerter Anzahl von zulässigen Bitkombinationen,
Fig. 3 ein Blockschaltbild der gemäß der Erfindung für einen Cache-Speicher benötigten Überwachungsanordnung,
Fig. 4 ein ausführliches Schaltbild der für die Überwachungsanordnung von Fig. 3 benötigten Verknüpfungswerke und
Fig. 5 ein Ablaufdiagramm für die Anordnung von Fig. 3 und 4.
Fig. 1 zeigt für beispielsweise fünf zulässige Kombinationen K 1 bis K 5 der jeweils aus drei Steuerbits V, W und S sowie einem Paritätsbit P bestehenden Bitkombinationen ST-B die sich ergebenden Fehlerkombinationen FK bei einem Einzelfehler EF und einem Doppelfehler DF in tabellarischer Zusammenstellung.
Bei der Kombination K 1 sind die Steuerbits V, W und S alle gleich Null oder ungesetzt, so daß bei ungerader Parität das Paritätsbit P gleich 1 oder gesetzt ist. Bei einem Einzelfehler EF sind daraus die vier dargestellten Fehlerkombinationen a, b, c und d und bei einem Doppelfehler die sechs Fehlerkombinationen A bis F ableitbar. Analoges gilt für die übrigen Kombinationen K 2 bis K 5.
Insgesamt ergeben sich für die fünf zulässigen Kombinationen K 1 bis K 5 von insgesamt sechzehn möglichen Bitkombinationen bei einem Einzelfehler EF acht verschiedene Fehlerkombinationen a bis h bei insgesamt zwanzig Fehlerkombinationen und bei einem Doppelfehler DF ebenfalls acht verschiedene Fehlerkombinationen A bis H bei insgesamt dreißig Fehlerkombinationen. Unterstellt man dabei, daß die Kombinationen K 1 und K 2 sich auf ungültige, nicht verwendbare und die Kombination K 3 bis K 5 auf gültige zugehörige Speichereinträge beziehen, so ist zunächst mit Bezug auf einen Einzelfehler festzustellen, daß lediglich die Fehlerkombination g und h eindeutig gültige Speichereinträge kennzeichnen, obwohl die Paritätsprüfung einen Fehler anzeigt. Von den insgesamt möglichen zwanzig Fehlerkombinationen können daher durch Überwachung der Fehlerkombination g und h bereits vier Fehlerkombinationen ausgeschieden und eine Fehleranzeige durch die Paritätsprüfung vermieden werden, während die sechs Fehlerkombinationen a bis f keine Rückschlüsse auf die Gültigkeit der Speichereinträge zulassen.
Besteht weiterhin die Möglichkeit, wie zum Beispiel bei einem nach dem "copy-back"-Verfahren arbeitenden Cache- Speicher, zu unterscheiden, ob die gültigen Speichereinträge entsprechend den Kombinationen K 3 und K 4 unverändert sind und daher noch eine gültige Kopie im Arbeitsspeicher vorhanden ist, auf die zurückgegriffen werden kann, ober ob entsprechend Kombination K 5 die gültigen Speichereinträge zwischenzeitlich geändert sind und daher im Arbeitsspeicher keine gültige Kopie mehr vorhanden ist, dann ist es vollkommen gleichgültig, ob die bei der Kombination K 5 nicht auftretenden vier Fehlerkombinationen c, d, e, und f auf gültige oder ungültige Einträge hinweisen. Auf jeden Fall würde ein Ungültigerklären der zugehörigen Einträge und ein Rückgriff auf die gültigen Kopien im Arbeitsspeicher die Funktionsfähigkeit des Cache nicht beeinträchtigen. Die Überwachung dieser Fehlerkombinationen im Fehlerfall mit entsprechender Reaktion der Speichersteuerung würde also bei insgesamt zehn der möglichen zwanzig Fehlerfälle nicht zu einem Abbruch führen, sondern eine Fortführung der eingeleiteten Zugriffsoperation ermöglichen.
Ähnliches gilt bezüglich der Fehlerkombination g und h, die - wie bereits festgestellt - eindeutig auf gültige Speichereinträge hinweisen, aber wegen ihres möglichen Auftretens in den drei Kombinationen K 3 bis K 5 keinen Hinweis auf eine mögliche Änderung der zugehörigen Speichereinträge geben. Unterstellt man aber für diese beiden Fehlerkombinationen eine mögliche Änderung und überträgt man die Speichereinträge immer erst in den Arbeitsspeicher bevor man die entsprechenden Einträge im Cache-Speicher für ungültig erklärt, dann kann die eingeleitete Zugriffsoperation ebenfalls ohne Gefahr eines Datenverlustes oder eines Verlustes der Übereinstimmung bei mehreren Cache-Speichern fortgesetzt werden, so daß lediglich die Fehlerkombinationen a und b bei einer Paritätsfehleranzeige zu einem Abbruch führen müssen.
Diese beiden Fehlerkombinationen a und b sind in den zwanzig möglichen Fehlerkombinationen insgesamt sechsmal enthalten, so daß bei vierzehn der insgesamt zwanzig Einzelfehlerfälle trotz des angezeigten Paritätsfehlers die Arbeit des Cache-Speichers ohne Risiko fortgesetzt werden kann. Bedenkt man zudem, daß von den restlichen sechs Fehlerfällen zwei tatsächlich auf ungültige Einträge zurückgehen, dann ergibt das trotz der einfachen Paritätssicherung einen erheblich verbesserten Grad an Funktionssicherheit bei Einzelfehlern.
Eine weitere Verbesserung der Funktionssicherheit läßt sich erreichen, wenn man die Prüfung der Steuerbits auf mögliche Doppelfehler DF ausdehnt, indem man bei von der Paritätsprüfung gültig erklärten Steuerbitfolgen diese zusätzlich anhand der zulässigen Bitkombinationen K 1 bis K 5 überprüft. Alle durch Doppelfehler erzeugten Fehlerkombinationen, die mit den zulässigen fünf Kombinationen K 1 bis K 5 nicht übereinstimmen, sind eindeutige Fehlerkombinationen und als solche eindeutig erkennbar. Es sind dies die Fehlerkombination D, E und G in der rechten Tabellenspalte für die Doppelfehler DF, die unterhalb der einzelnen Fehlerkombinationsblöcke jeweils mit X gekennzeichnet sind und im Rahmen der insgesamt dreißig möglichen Fehlerfälle insgesamt zwölfmal auftreten, während die restlichen achtzehn Fehlerfälle den zulässigen Kombinationen K 1 bis K 5 entsprechen und daher als Doppelfehler nicht erkennbar sind.
Unterstellt man wiederum, daß nur die Kombination K 5 geänderte gültige Speichereinträge kennzeichnet, die im Arbeitsspeicher nicht mehr kopiert vorliegen, dann ist auch die Fehlerkombination F tolerierbar, da sie gegebenenfalls gültige, aber ungeänderte Speichereinträge als ungültig vortäuschen kann, was sowieso zu einem Rückgriff auf den Arbeitsspeicher zwingt und damit die Funktion des Cache-Speichers nicht beeinträchtigt. Da die Fehlerkombination F insgesamt dreimal auftreten kann, werden von den insgesamt dreißig Doppelfehlerfällen zwar achtzehn nicht erkannt, jedoch führen nur fünfzehn davon zu Fehlern im Programmablauf. Eine entsprechende zusätzliche Überwachung steigert also die Funktionssicherheit weiter.
Fig. 2 zeigt in Anlehnung an die Darstellung von Fig. 1, wie bei verschiedenen Anwendungsfällen eine Verringerung der nicht eindeutig identifizierbaren Fehlerkombinationen, wie z. B. a und b bei Fig. 1, möglich ist, beispielsweise durch Modifikation des Steuerbits S.
Bei Fig. 1 war unterstellt, daß sich die Kombinationen K 1 und K 2 auf ungültige Speichereinträge beziehen und sechs mögliche Fehlerkombinationen a bis f erzeugen, von denen die Fehlerkombinationen a und b gerade bei der Anwendung auf nach dem "copy-back"-Verfahren arbeitenden Cache-Speichern die beiden einzigen Fehlerkombinationen sind, die einen Abbruch erzwingen.
Würde man daher zum Beispiel das Steuerbit S mit dem Steuerbit V so verknüpfen und durch ein entsprechendes Steuerbit C ersetzen, daß die zulässige Kombination K 1 auf die andere zulässige Kombination K 2 zurückgeführt wird, ohne daß die übrigen Kombinationen K 3 bis K 5 verändert werden, dann bliebe lediglich die Kombination K 2 mit den Fehlerkombinationen c, d, e und f als Hinweis auf gegebenenfalls ungültige Speichereinträge, während die Fehlerkombinationen a, b, g und h in jedem Falle gültige Speichereinträge kennzeichnen. Die Fehlerkombinationen a und b können dann wie die Fehlerkombinationen g und h in der anhand von Fig. 1 erläuterten Weise behandelt werden, so daß ein Abbruch einer eingeleiteten Zugriffsoperation bei einem durch die Paritätsprüfung gemeldeten Einzelfehler EF in jedem Falle vermieden wird. Es wird damit derselbe Grad an Funktionssicherheit erreicht, als wären die Steuerbits STB statt mit einem einfachen Paritätsbit mit einem fehlerkorrigierenden Code gesichert.
Die notwendige Verknüpfung der beiden Steuerbits V und S zur Ableitung des modifizierten Steuerbits C in Fig. 2 anstelle des Steuerbits S ergibt sich aus der einfachen Tatsache, daß C entsprechend der Kombination K 2 zu 1 werden muß, gleichgültig ob entsprechend den Kombinationen K 1 und K 2 das Steuerbit V = 0 ist oder ob entsprechend Kombination K 4 das Steuerbit V gleich 1 ist. Dies führt zur Bedingung:
C = (VS)( )( S)
was durch Umformung zu
C = S
entsprechend einer einfachen ODER-Verknüpfung des Steuerbits S mit dem invertierten Steuerbit V führt.
Mit der Einführung des modifizierten Steuerbits C anstelle des Steuerbits S ergibt sich aus der Darstellung von Fig. 1 die von Fig. 2, wobei die Benennungen für die einzelnen Kombinationen unverändert übernommen sind.
Durch die Modifizierung des Steuerbits S und die dadurch von fünf auf vier verringerte Anzahl von zulässigen Kombinationen ergibt sich auch ein verbesserter Schutz gegen Doppelfehler DF. Denn zusätzlich zu den Fehlerkombinationen D, E und G ist jetzt auch die Fehlerkombination H eindeutig als Doppelfehler erkennbar, so daß von den insgesamt vierundzwanzig möglichen Doppelfehlerfällen vierzehn eindeutig feststellbar sind, die wiederum durch X gekennzeichnet sind. Berücksichtigt man weiterhin, daß die zweimal auftretende, aber nicht erkennbare Fehlerkombination F wiederum tolerierbar ist, dann verbleiben lediglich acht nicht erkennbare Doppelfehlerfälle, die zu tatsächlichen Fehlern im Programmablauf führen.
Fig. 3 zeigt eine Anordnung zur Durchführung des anhand von Fig. 2 erläuterten Sicherungsprinzips bei einem nach dem "copy-back"-Verfahren arbeitenden Cache-Speicher C-SP in Form eines Blockschaltbildes.
Der einzige gezeigte Eintrag des Speichers C-SP gliedert sich in bekannter Weise in drei Teile, nämlich einen Adressenteil AD, einen Steuerbitteil mit den Steuerbits V, W, C und einem Paritätsbit P, sowie den Datenteil DAT, in dem Daten aus dem nicht gezeigten Arbeitsspeicher gespeichert werden.
Von den angelieferten drei Steuerbits V, W und S kennzeichnet V als Gültigkeitsbit im gesetzten Zustand die Gültigkeit des Eintrags. Das Bit W zeigt im gesetzten Zustand an, daß die im Datenteil DAT gespeicherten Daten geändert sind, und das Steuerbit S, ob eine Kopie von Daten aus dem Arbeitsspeicher nur in diesem Cache- Speicher (S = 0) oder bei mehreren Cache-Speichern auch in anderen vorhanden ist (S = 1).
Ist durch die Speichersteuerung außerdem sichergestellt, daß ein mit W = 1 als geändert markierter Eintrag nicht in mehreren Cache-Speichern gleichzeitig abgespeichert ist und daß ein Setzen des Steuerbits W nur möglich ist, wenn der Eintrag mit V = 1 als gültig markiert ist, dann entsprechen die zulässigen Steuerbitkombinationen denen von Fig. 1 und Fig. 2, wobei in Anlehnung an Fig. 2 ein ODER-Glied OR das modifizierte Steuerbit C erzeugt. Mit den drei Steuerbitleitungen ist ein Paritätszeichengenerator PG gekoppelt, der in an sich bekannter Weise das jeweils zugehörige Paritätsbit P liefert.
Mit den Ausgangsleitungen für die jeweils gelesene Steuerbitkombination STB ist zur Überprüfung der Steuerkombination eine Paritätsprüfeinrichtung PRE gekoppelt, die bei Vorliegen eines Paritätsfehlers ein Fehlersignal PERR liefert, was normalerweise zum Abbruch der Zugriffoperation führt.
Entsprechend der Erfindung aber führen Paritätsfehler nur beschränkt oder beim vorliegenden Beispiel gar nicht zum Abbruch. Dies wird durch ein erstes Verknüpfungsnetzwerk VN 1 sichergestellt, daß die gelesene Steuerkombination STB ebenfalls überprüft und entsprechend den vorgegebenen Gruppen von Fehlerkombinationen entsprechende Signale, z. B. SIG und , liefert, die zusammen mit dem Fehlersignal PEER der Paritätsprüfeinrichtung PPE von der Signalerzeugungseinrichtung SEG ausgewertet und in Steuersignale, z. B. SWAP und S. INV, für die nicht gezeigte Speichersteuerung umgesetzt werden. Könnten entsprechend dem Beispiel von Fig. 1 nicht alle Fehlerkombinationen in eines der Fortführungssignale SWAP oder S. INV umgewandelt werden, dann würde zusätzlich auch das Fehlersignal PERR von der Signalerzeugungseinrichtung SEG bei einer den Abbruch erzwingenden Fehlerkombination weitergeleitet. Im vorliegenden Fall können aber gemäß dem Beispiel von Fig. 2 in Verbindung mit dem ODER-Glied OR alle Fehlerkombinationen eindeutig zugeordnet und in eines der Fortführungssignale überführt werden.
Zusätzlich kann ein zweites Verknüpfungsnetzwerk VN 2 für die Überwachung der gelesenen Steuerbits STB auf Doppelfehler DF vorgesehen werden, das mögliche Doppelfehler erkennt und ein entsprechendes Fehlersignal DERR liefert, das zum Abbruch des laufenden Programms führt.
Fig. 4 zeigt den Aufbau der aus den beiden Verknüpfungsnetzwerken VN 1 und VN 2 sowie der Signalerzeugungseinrichtung SEG bestehenden zusätzlichen Überwachungsanordnung gemäß der Erfindung. Das Verknüpfungsnetzwerk 1 besteht aus einer Gruppe von vier UND-Gliedern U 1, die die gelesenen Steuerbits STB jeweils auf das Vorliegen einer der Fehlerkombinationen a, b, g und h überwacht. Die Ausgänge dieser UND-Glieder U 1 werden durch das ODER-Glied OR 1 auf ihr Ansprechen überwacht, wobei das Ausgangssignal SIG das Vorliegen einer der vier überwachten Fehlerkombinationen und das invertierte Signal das Vorliegen einer der nicht geprüften Fehlerkombination c, d, e und f markiert.
Liegt gleichzeitig ein Fehlersignal PERR vor, dann wird mit dem Signal = 1 über das UND-Glied U 4 durch das Steuersignal S. INV veranlaßt, daß der zugehörige Eintrag im Cache-Speicher C-SP für ungültig erklärt wird, und mit Signal SIG = 1 über das UND-Glied U 3 durch das Steuersignal SWAP veranlaßt, daß die im Eintrag gespeicherten Daten DAT in den Arbeitsspeicher übertragen werden und anschließend der Eintrag für ungültig erklärt wird.
Das zweite Verknüpfungsnetzwerk VN 2 besteht ebenfalls aus vier UND-Gliedern U 2, die die gelesenen Steuerbits STB auf das Vorliegen einer der zulässigen Kombinationen K 2 bis K 5 überwachen. Die Ausgänge dieser vier UND-Gliedern U 2 werden wiederum durch ein ODER-Glied OR 2 überwacht, dessen invertiertes Ausgangssignal dann in Verbindung mit dem invertierten Fehlersignal PERR am Ausgang des UND-Gliedes U 5 ein Fehlersignal DERR erzeugt, das einen Doppelfehler anzeigt und zum Abbruch führt.
Beim Verknüpfungsnetzwerk VN 2 kann am untersten der vier UND-Glieder U 2 zur Prüfung der Kombination K 4 ein weiterer Steuereingang vorgesehen sein, der mit dem invertierten Signal MONO angesteuert wird, das mit MONO = 1 kennzeichnet, daß die Datenverarbeitungsanlage nur einen Cache-Speicher C-SP aufweist. In diesem Falle enthält die zulässige Kombination K 4 als solche, so daß sich speziell für diesen Anwendungsfall die Doppelfehlersicherheit weiter erhöht. In Fig. 1 und Fig. 2 sind in der Tabellenspalte DF die der Kombination K 4 entsprechenden Fehlerkombinationen B mit einem Kreis gekennzeichnet. Von den bei dem Beispiel von Fig. 2 dann möglichen achtzehn Fehlerkombinationen sind in diesem Falle vierzehn Fehlerkombinationen eindeutig erkennbar und zwei weitere nicht erkennbare Fehlerkombinationen F tolerierbar, so daß lediglich zwei unerkannte Doppelfehlerfälle zu Fehlern im Programmablauf führen können.
Fig. 5 zeigt ein entsprechendes Ablaufdiagramm. Im Rahmen eines normalen Programmablaufes PG einer Datenverarbeitungsanlage mit Cache-Speicher erfolgt ein Speicherzugriff, der zunächst an den Cache-Speicher gerichtet wird. Liegt ein entsprechender Eintrag vor oder ist im Rahmen eines solchen Zugriffs ein Eintrag in den Arbeitsspeicher auszulagern, werden die gelesenen Steuerbits geprüft. Wird dabei weder ein Paritätsfehler PERR noch ein Doppelfehler DERR erkannt, dann wird die eingeleitete Operation ausgeführt und das Programm fortgesetzt.
Bei einem Doppelfehler DERR wird das Programm PG auf jeden Fall abgebrochen und in an sich bekannter Weise in eine Fehlerbehandlung übergegangen.
Bei einem Paritätsfehler PERR erfolgt dagegen kein Abbruch, sondern es werden die Steuerbits V, W und C überprüft und ermittelt, ob der zugehörige Dateneintrag zunächst in den Arbeitsspeicher ausgelagert werden muß und/oder ob der Eintrag für ungültig zu erklären ist, indem das Gültigkeitsbit V auf 0 gesetzt wird. Anschließend wird der Speicherzugriff wiederholt und in der üblichen Weise mit Prüfen der Steuerbits fortgesetzt.
Mit nur geringem zusätzlichem Aufwand können also trotz einer einfachen Paritätssicherung wichtige Informationen von nur geringem Umfang in viel stärkerem Maße gesichert und die Funktionssicherheit einer Einrichtung wesentlich gesteigert werden, wobei abhängig von den gegebenen Randbedingungen die Funktionssicherheit gegebenenfalls denselben Grad wie bei einer durch einen fehlerkorrigierenden Code gesicherten Information erreichen kann.
Als Anwendungsbeispiel wurde ein nach dem "copy-back"- Verfahren arbeitender Cache-Speicher gewählt, ohne auf dessen allgemeine Arbeitsweise näher einzugehen. Das ist für das Verständnis der Erfindung auch nicht erforderlich. Es genügt daher lediglich ein Hinweis z. B. auf IEEE Transactions on Computers, Vol. C-31, No. 11, Nov. 1982, Seiten 1083 bis 1099 oder Elektronische Rechenanlagen, 18. Jahrg., 1976, Heft 3, Seiten 122 bis 128, zumal die Erfindung ohne weiteres auch auf andere Einrichtungen mit entsprechenden Voraussetzungen anwendbar ist.
Auch ist es für die Durchführung der Prüfungen unerheblich, ob - wie beim gewählten Ausführungsbeispiel gemäß Fig. 3 und 4 - diese mit fest verdrahteter oder stattdessen mit speicherprogrammierter Logik unter Verwendung eines Mikroprozessors erfolgt.

Claims (9)

1. Verfahren zur Sicherung von aus Bitkombinationen zur Steuerung von Operationsabläufen bestehenden wichtigen Informationen geringen Umfangs in Speichereinheiten mit wahlfreiem Zugriff unter Verwendung lediglich eines Paritätsbits als Sicherungszeichen je Bitkombination, insbesondere von Steuerbitkombinationen in als Cachespeicher arbeitenden Pufferspeichern einer Datenverarbeitungsanlage, dadurch gekennzeichnet, daß bei lediglich eine beschränkte Anzahl von zulässigen Bitkombinationen (zum Beispiel K 1 bis K 5) einschließlich des Paritätsbits (P) umfassenden Informationen (zum Beispiel Informationsbits V, W, S bzw. C und Paritätsbit P) und bei möglicher Aufteilung der aus den einzelnen zulässigen Bitkombinationen (K 1 bis K 5) ableitbaren Fehlerkombinationen (zum Beispiel a bis h) wenigstens der niedrigsten Fehlerklasse (zum Beispiel Einzelfehler EF) in wenigstens zwei Gruppen, von denen die eine trotz eines erkannten Fehlers eine fehlerfreie Fortsetzung der von den Bitkombinationen (K 5) zu steuernden Operation, gegebenenfalls durch Einschieben zusätzlicher Operationen, zuläßt und die andere wegen eines nicht eindeutig identifizierbaren Fehlers einen vorzunehmenden Abbruch der eingeleiteten Operation kennzeichnet, die jeweils aus der Speichereinheit gelesene Bitkombination auf das Vorliegen einer der einen oder der anderen Gruppe zugeordneten Fehlerkombination überprüft und davon abhängig der Fortgang der eingeleiteten Operation gesteuert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zur Verringerung der sich bei einer vorgegebenen Anzahl von zulässigen Bitkombinationen (z. B. K 1 bis K 5) ergebenden nicht eindeutig einer Gruppe zuordenbaren Fehlerkombination (z. B. a und b) wenigstens eines der Informationsbits (z. B. S) bezüglich seiner Aussage durch Ausnutzung von eindeutige Rückschlüsse ermöglichenden Verknüpfungen mit anderen Informationsbits (z. B. V) modifiziert und als solches (C) gespeichert wird.
3. Verfahren nach Anspruch 1 und 2 für Cache-Speicher in Datenverarbeitungsanlagen, bei denen nur im Cache- Speicher gespeicherte Daten des Arbeitsspeichers geändert werden und geänderte Daten nur dann in den Arbeitsspeicher übertragen werden, wenn der zugehörige Speicherbereich im Cache-Speicher für andere Daten benötigt wird ("copy-back"-Verfahren), wobei insgesamt drei Steuerbits und ein Paritätsbit P verwendet werden, von denen ein erstes Bit (V) die Gültigkeit des zugehörigen Dateneinangs, ein zweites Bit (W) die Änderung der Daten und ein drittes Bit (S) die gleichzeitige Speicherung derselben Daten in mehreren Cache-Speichern kennzeichnet und wobei ein geänderter Dateneingang jeweils nur in einem Cache-Speicher enthalten sein darf und eine Datenänderung nur bei einem gültigen Dateneintrag vorliegen kann, dadurch gekennzeichnet, daß anstelle des die gleichzeitige Speicherung derselben Daten in mehreren Cache-Speichern anzeigenden Steuerbits (S) ein Kontrollbit (C) verwendet wird, das aus der ODER-Verknüpfung des ersetzten Steuerbits (S) mit dem invertierten Gültigkeitbsbit (V) gewonnen wird, daß bei im Falle eines Paritätsfehlers (PERR) auf gültige Speichereinträge (V = 1) hinweisenden Fehlerkombinationen die im Cache-Speicher gespeicherte Daten in den Arbeitsspeicher übertragen werden und anschließend der zugehörige Eintrag im Cache-Speicher für ungültig erklärt wird, während in allen übrigen Fällen lediglich die zugehörigen Einträge im Cache-Speicher für ungültig erklärt werden, und daß anschließend die eingeleitete Operation mit einem erneuten Zugriff zum selben Speichereintrag fortgesetzt wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die von der Paritätsprüfung als fehlerfrei erkannten Bitkombinationen anhand der zulässigen Kombinationen (z. B. K 2 bis K 5) auf Doppelfehler (DERR) überprüft werden und daß bei Vorliegen einer nicht zulässigen Kombination die eingeleitete Operation abgebrochen und in eine Fehlerbehandlung übergeleitet wird.
5. Anordnung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 4, bestehend aus einem Speicher C-SP) mit wahlfreiem Zugriff zur Speicherung von Bitkombinationen (STB) und einer Einrichtung (PPE) zur Prüfung der Parität anhand des im Rahmen der Bitkombination (STB) gespeicherten Paritätsbits (P) bei jeder aus dem Speicher gelesenen Bitkombination, gekennzeichnet durch ein logisches Verknüpfungsnetzwerk (VN 1) zur Prüfung der jeweils gelesenen Bitkombination (STB) und zur Ermittlung der gegebenenfalls vorliegenden Gruppe von Fehlerkombinationen und durch eine mit dem Verknüpfungsnetzwerk (VN 1) gekoppelte Signalerzeugungseinrichtung (SEG), die bei Vorliegen eines von der Einrichtung (PPE) zur Paritätsprüfung gemeldeten Fehlersignals (PERR) dieses Fehlersignal nur dann als solches weiterleitet und damit den Abbruch der mit dem Lesen der Bitkombination (STB) eingeleiteten Operation veranlaßt, wenn die entsprechende Gruppe von Fehlerkombinationen ermittelt worden ist, während im übrigen das Fehlersignal in ein die Art der Operationsführung kennzeichnendes Steuersignal (z. B. SWAP, S. INV) abhängig von der ermittelten Gruppe umgewandelt wird.
6. Anordnung nach Anspruch 5, gekennzeichnet durch ein zweites Verknüpfungsnetzwerk (VN2) zur Prüfung der jeweils gelesenen Bitkombination (STB) auf das Vorliegen einer zulässigen Bitkombination (z. B. K 2 bis K 5) und zur Erzeugung eines Fehlersingnales (DERR), falls eine von den zulässigen Bitkombinationen (K 2 bis K 5) abweichende Bitkombination ermittelt wird und die Einrichtung (PPE) zur Paritätsprüfung keinen Fehler (PERR) anzeigt.
7. Anordnung nach Anspruch 5 oder 6 zur Durchführung des Verfahrens nach Anspruch 2, gekennzeichnet durch eine dem Schreibeingang des Speichers (C-SP) vorgeschaltete Modifikationsschaltung (z. B. OR) zur Durchführung der jeweils vorgegebenen Verknüpfung anhand der zugeführten Informationsbits (z. B. V und S) und zur Erzeugung des entsprechend modifizierten Informationsbits (C).
8. Anordnung nach Anspruch 5 und 7 zur Durchführung des Verfahrens nach Anspruch 3, dadurch gekennzeichnet, daß die Modifikationsschaltung aus einem ODER-Glied (OR) zur Erzeugung eines Kontrollbits (C) aus dem invertierten Gültigkeitsbit (V) und dem die gleichzeitige Speicherung derselben Daten in mehreren Cache-Speichern kennzeichnenden Steuerbit (S) besteht und der Signalausgang des ODER-Gliedes (OR) mit dem Schreibeingang für das die gleichzeitige Speicherung derselben Daten anzeigenden Steuerbits (S) verbunden ist, daß das logische Verknüpfungsnetzwerk (VN 1) zwei Gruppensignale (SIG) und ( entsprechend den Bedingungen erzeugt und daß die Signalerzeugungseinrichtung (SEG) entsprechend den Bedingungen
SWAP = PERRSIG und S. INV = PERR
zwei verschiedene, die eingeleitete Operation trotz eines Paritätsfehlers (PERR) fortführende Steuersignale erzeugt, nämlich eines (SWAP) zum Auslagern der zugehörigen Daten in den Arbeitsspeicher und eines (S. INV) zum Ungültigerklären des zugehörigen Eintrags im Cache- Speicher durch Nullsetzen des Gültigkeitsbits (V) in der im Cache-Speicher gespeicherten Steuerbitkombination (STB).
9. Anordnung nach Anspruch 8 in Verbindung mit Anspruch 6 zur Durchführung der Verfahren nach Anspruch 3 und 4, dadurch gekennzeichnet, daß das zweite Verknüpfungsnetzwerk (VN 2) ein Fehlersignal (DERR) entsprechend der Bedingung erzeugt, wobei MONO = 1 das Vorhandensein nur eines einzigen Cache-Speichers kennzeichnet.
DE19843433679 1984-09-13 1984-09-13 Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage Granted DE3433679A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19843433679 DE3433679A1 (de) 1984-09-13 1984-09-13 Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19843433679 DE3433679A1 (de) 1984-09-13 1984-09-13 Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage

Publications (2)

Publication Number Publication Date
DE3433679A1 DE3433679A1 (de) 1986-03-27
DE3433679C2 true DE3433679C2 (de) 1988-11-17

Family

ID=6245340

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19843433679 Granted DE3433679A1 (de) 1984-09-13 1984-09-13 Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage

Country Status (1)

Country Link
DE (1) DE3433679A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4030629A1 (de) * 1990-09-27 1992-04-02 Siemens Nixdorf Inf Syst Anordnung zur sicherung von mit den speichereintraegen eines arbeitsspeichers gekoppelten steuerinformationen in einem multiprozessorsystem

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3765884D1 (de) * 1986-08-07 1990-12-06 Siemens Ag Verfahren und anordnung zum aktualisieren von steuerbitkombinationen.
US4967414A (en) * 1989-01-06 1990-10-30 International Business Machines Corp. LRU error detection using the collection of read and written LRU bits
US5339322A (en) * 1991-03-29 1994-08-16 Sgs-Thomson Microelectronics, Inc. Cache tag parity detect circuit
JP2842809B2 (ja) * 1995-06-28 1999-01-06 甲府日本電気株式会社 キャッシュ索引の障害訂正装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4030629A1 (de) * 1990-09-27 1992-04-02 Siemens Nixdorf Inf Syst Anordnung zur sicherung von mit den speichereintraegen eines arbeitsspeichers gekoppelten steuerinformationen in einem multiprozessorsystem

Also Published As

Publication number Publication date
DE3433679A1 (de) 1986-03-27

Similar Documents

Publication Publication Date Title
DE3111447C2 (de)
DE2421112C2 (de) Speicheranordnung
DE2817431A1 (de) Speicherhierarchie
EP1588380B1 (de) Verfahren zur erkennung und/oder korrektur von speicherzugriffsfehlern und elektronische schaltungsanordnung zur durchführung des verfahrens
DE1250163B (de) Einrichtung zur Paritätsprüfung von Speicherworten
DE3433679C2 (de)
EP0615211A1 (de) Verfahren zum Speichern sicherheitsrelevanter Daten
EP0127118B1 (de) Speichersteueranordnung, insbesondere für fehlertolerantes Fernsprech-Vermittlungssystem
EP1222545B1 (de) Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul
DE69924012T2 (de) Verfahren und vorrichtung für speicherdata-fehlerdetektion und speichermodul-fehlerdetektion
DE2549392B2 (de) Verfahren zur erhoehung der zuverlaessigkeit von integrierten speicherbausteinen und zur verbesserung der ausbeute von nach aussen hin fehlerfrei erscheinenden speicherbausteinen bei ihrer herstellung
DE69534316T2 (de) Telekommunikationsanlage mit einem prozessorsystem und ein prozessorsystem
DE3002048A1 (de) Verfahren und vorrichtung zur verbesserung der eingabe und ausgabe in einer datenverarbeitungsanlage
DE2823457C2 (de) Schaltungsanordnung zur Fehlerüberwachung eines Speichers einer digitalen Rechenanlage
EP0151810B1 (de) Verfahren und Schaltungsanordnung zum Prüfen eines Programms in Datenverarbeitungsanlagen
DE69637427T2 (de) Verfahren und Gerät zur Erkennung doppelter Eintragungen in einer Nachschlagtabelle
EP0453609B1 (de) Verfahren zum Testen einer kleinsten adressierbaren Einheit eines RAM's auf über einer bestimmten Zahl liegende Bitfehler
DE3716594C2 (de) Schaltungsanordnung für Fernmeldeanlagen, insbesondere Fernsprechvermittlungsanlagen, mit Speichereinrichtungen, in denen gespeicherte Informationsportionen auf ihre Richtigkeit überprüft werden
DE3431770A1 (de) Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere solchen aus ram-bausteinen
DE4335604A1 (de) Speicher-Prüfschaltung
DE3105254A1 (de) Verfahren zum ueberpruefen von in speichern abgelegten daten
DE10340236A1 (de) Anordnung mit einer Datenverarbeitungseinrichtung und einem Speicher
DE4244275C1 (de) Nachprüfung der Datenintegrität bei gepufferter Datenübertragung
DE3442823C2 (de)
EP0491073A1 (de) Verfahren und Schaltungsanordnung zur Datensicherung in Speichereinheiten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee