-
-
Verfahren und Anordnung zur Sicherung von wichtigen In-
-
formationen in Speichereinheiten mit wahlweisem Zugriff, insbesondere
von Steuerbits in als Cache-Speicher arbeitenden Pufferspeichern einer Datenverarbeitungsanlage.
-
Die Erfindung betrifft Verfahren und Anordnung zur Sicherung von wichtigen
Informationen in aus Registern oder Speicherfeldern bestehenden Speichereinheiten
mit wahlweisem 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 <= 2P f # P + 1) insgesamt N
Nutzbits überwacht und bei Einzel fehlern 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, in diesem Pufferspeicher
ebenfalls gespeicherten 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 beispielsweise Computing Surveys, Vol.14,
No. 3, September 1982, Seiten 473 bis 530, insbesondere Seite 501, rechte Spalte,
Abschn. 6.
-
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, Verfahren und 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 in allgemeiner Weise durch
die kennzeichnenden Merkmale des Patentanspuches 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 Wei-
se
durch entsprechende Verknüpfungen überwacht werden können, so daß bei nur geringem
zusätzlichem 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 der Steuerbits durch Ausnutzung möglicher Verknüpfungen
mit anderen Steuerbits ein Ersatzsteuerbit 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 11copy-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 Signalerzeugungsein
richtung
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 Steuerbitkombinationen 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 Steuerbits verringerter Anzahl von zulässigen Steuerbitkombinationen,
FIG 3 ein Blockschaltbild der gemäß der Erfindung für einen Cache-Speicher benötigten
Überwachungsanordnung, FIG 4 ein ausführlicheres Schaltbild der für die Überwachungsanordnung
von FIG 3 benötigten Verknüpfungsnetzwerke 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 Kl bis
K5 der jeweils aus drei Bits V, W und S sowie einem Paritätsbit P bestehenden Steuerbits
ST-8 die sich ergebenden Fehlerkombinationen FK bei einem Einzelfehler EF und einem
Doppelfehler DF in tabellarischer Zusammenstellung.
-
Bei der Kombination Kl 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 K2 bis K5 Insgesamt ergeben sich für
die fünf zulässigen Kombinationen Kl bis K5 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 Kl und K2 sich auf ungültige,
nicht verwendbare und die Kombination K3 bis K5 auf gültige zugehörige Speichereinträge
beziehen, so ist zunächst mit Bezug auf einen Einzelfehler festzustellen, daß lediglich
die Fehlerkombinationen 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-backf-Verfahren arbeitenden Cache-Speicher, zu unterscheiden, ob die gültigen
Speicherein-
träge entsprechend den Kombinationen K3 und K4 unverändert
sind und daher noch eine gültige Kopie im Arbeitsspeicher vorhanden ist, auf die
zurückgegriffen werden kann, oder ob entsprechend Kombination K5 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
K5 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 Uberwachung 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 Fehlerkombinationen g und h, die - wie
bereits festgestellt - eindeutig auf gültige Speichereinträge hinweisen, aber wegen
ihres möglichen Auftretens in den drei Kombinationen K3 bis K5 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 Kl bis K5 überprüft. Alle durch Doppelfehler
erzeugten Fehlerkombinationen, die mit den zulässigen fünf Kombinationen Kl bis
K5 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 Kl bis K5 entsprechen und daher als Doppelfehler nicht erkennbar sind.
-
Unterstellt man wiederum, daß nur die Kombination K5 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 Kl und K2 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'l-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 Kl auf die andere zulässige Kombination K2 zurückgeführt wird, ohne
daß die übrigen Kombinationen K3 bis K5 verändert werden, dann bliebe lediglich
die Kombination K2 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 Funktior,ssicherheit 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 K2 zu 1 werden muß, gleichgültig
ob entsprechend den Kombinationen Kl und K2 das Steuerbit V = 0 ist oder ob entsprechend
Kombination K4 das Steuerbit V gleich 1 ist. Dies führt zur Bedingung: C = (V #
S) v (V # S) v (V # S) was durch Umformung zu C = Vvs 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 PPE gekoppelt,
die bei Vorliegen eines Paritätsfehlers ein Fehlersignal PERR liefert, was normalerweise
zum Abbruch der Zugriffsoperation 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 VN1 sichergestellt, das die gelesene Steuerbitkombination STB
ebenfalls überprüft und entsprechend den vorgegebenen Gruppen von Fehlerkombinationen
entsprechende Signale, z.B. SIG und SIG, liefert, die zusammen mit dem Fehlersignal
PERR 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 VN2 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 VN1
und VN2 sowie der Signalerzeugungseinrichtung SEG bestehenden zusätzlichen Überwachungsanordnung
gemäß der Erfindung. Das Verknüpfungsnetzwerk 1 besteht aus einer Gruppe von vier
UND-Gliedern Ul, die die gelesenen Steuerbits STB jeweils auf das Vorliegen einer
der Fehlerkombinationen a, b, g und h überwacht.
-
Die Ausgänge dieser UND-Glieder U1 werden durch das ODER-Glied OR1
auf ihr Ansprechen überwacht, wobei das Ausgangssignal SIG das Vorliegen einer der
vier überwachten Fehlerkombinationen und das invertierte Signal SIG das Vorliegen
einer der nicht geprüften Fehlerkombination c, d, e und f markiert.
-
Liegt gleichzeitig ein Fehlersignal PERR vor, dann wird mit Signal
SIG = 1 über das UND-Glied U4 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 U3 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 VN2 besteht ebenfalls aus vier UND-Gliedern
U2, die die gelesenen Steuerbits STB auf das Vorliegen einer der zulässigen Kombinationen
K2 bis K5 überwachen. Die Ausgänge dieser vier UND-Glieder U2 werden wiederum durch
ein ODER-Glied OR2
überwacht, dessen invertiertes Ausgangssignal
dann in Verbindung mit dem invertierten Fehlersignal PERR am Ausgang des UND-Gliedes
U5 ein Fehlersignal DERR erzeugt, das einen Doppelfehler anzeigt und zum Abbruch
führt.
-
Beim Verknüpfungsnetzwerk VN2 kann am untersten der vier UND-Glieder
U2 zur Prüfung der Kombination K4 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 entfällt die zulässige Kombination K4 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 K4 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 zwez 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 eingleitete
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.ll,
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
Ein-
richtungen 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.