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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1064—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (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 = (V ∧ S) ⟩ ( ∧ ) ⟩ ( ∧ 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 = PERR ∧SIG 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).
SWAP = PERR ∧SIG 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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0257405B1 (de) * | 1986-08-07 | 1990-10-31 | Siemens Aktiengesellschaft | 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 | 甲府日本電気株式会社 | キャッシュ索引の障害訂正装置 |
-
1984
- 1984-09-13 DE DE19843433679 patent/DE3433679A1/de active Granted
Cited By (1)
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) | ||
DE69126057T2 (de) | Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung | |
DE2421112A1 (de) | Speicheranordnung | |
DE3876459T2 (de) | Speicher und deren pruefung. | |
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) | ||
EP1222545B1 (de) | Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul | |
DE3786853T2 (de) | Gerät zur Erkennung und Klassifizierung von Steuerwortfehlern. | |
EP0615211A1 (de) | Verfahren zum Speichern sicherheitsrelevanter Daten | |
EP0127118B1 (de) | Speichersteueranordnung, insbesondere für fehlertolerantes Fernsprech-Vermittlungssystem | |
DE2655653C2 (de) | Anordnung zur Feststellung der richtigen Zuordnung von Adresse und Speicherwort in einem wortorganisierten Datenspeicher | |
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 | |
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 | |
CH674689A5 (de) | ||
DE3105254A1 (de) | Verfahren zum ueberpruefen von in speichern abgelegten daten |
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 |