-
Die
Erfindung bezieht sich auf ein Verfahren zum Erfassen einer Störung in
einer Fehlerkorrektureinheit, bei dem die Fehlerkorrektureinheit
Ausgangsdaten von einer Datenquelle empfängt und bestimmt, ob die empfangenen
Daten falsch sind, und bei dem, falls die empfangenen Daten falsch
sind, erwartet wird, dass die Fehlerkorrektureinheit wenigstens
einen Fehler in den empfangenen Daten korrigiert, die korrigierten
Daten ausgibt und einen Fehlervektor setzt, wobei der Fehlervektor
wenigstens angibt, ob ein Fehler korrigiert worden ist oder ob ein Fehler
erfasst worden ist, aber nicht korrigiert werden konnte.
-
Die
Erfindung bezieht sich außerdem
auf ein System zum Erfassen einer Störung in einer Fehlerkorrektureinheit,
bei dem die Fehlerkorrektureinheit Mittel zum Empfangen von Ausgangsdaten
von einer Datenquelle, Mittel zum Bestimmen, ob die empfangenen
Daten falsch sind, Mittel zum Korrigieren wenigstens eines Fehlers
in den empfangenen Daten, falls die empfangenen Daten falsch sind,
Mittel zum Ausgeben der korrigierten Daten und Mittel zum Manipulieren
eines Fehlervektors bereitstellt, wobei der Fehlervektor so beschaffen
ist, dass er wenigstens angibt, ob ein Fehler korrigiert worden
ist oder ob ein Fehler identifiziert worden ist, aber nicht korrigiert werden
konnte.
-
Außerdem bezieht
sich die Erfindung auf ein Computer-Programm, das in einem Computer,
insbesondere in einem eingebetteten System, ausgeführt werden
kann.
-
Von
jedem computergestützten
System wird typischerweise erwartet, dass es richtig arbeitet und insbesondere
keine Fehler oder falschen Ergebnisse erzeugt, die z. B. von einem
defekten Hardware-Element, einem fehlerhaften Software-Element oder einer
fehlerhaften Datenübertragung
ausgehen, unabhängig
davon, ob die Störung
eine permanente Störung
oder eine vorübergehende
Störung
(die z. B. durch eine extern induzierte Signalstörung, Leistungsversorgungs-Störungen oder
Strahlung von kosmischen Strahlen verursacht wird) ist. Um ein bestimmtes
Niveau der Zuverlässigkeit
eines Systems zu erreichen, müssen
derartige Störungen
wenigstens erfasst werden. Basierend auf der Fehlererfassung ist
es bekannt, mehrere Fehler zu korrigieren, um ein bestimmtes Niveau
der Fehlertoleranz zu erreichen.
-
Um
Fehler zu erfassen und/oder zu korrigieren, stellen Computersysteme
irgendeiner Art, z. B. eingebettete Systeme, oft Fehlerkorrektureinheiten bereit,
um die Zuverlässigkeit
des gesamten Systems zu vergrößern. Derartige
Fehlerkorrektureinheiten basieren oft auf sogenannten Fehlerkorrekturcodes
(ECC), die es ermöglichen,
eine vorgegebene Anzahl von Fehlern zu erfassen, die in einem Datenwort
auftreten können.
Die ECCs ermöglichen
es ferner, eine vorgegebene Anzahl von erfassten Fehlern zu korrigieren.
Um dies zu erreichen, werden in einer ersten Stufe für alle Daten,
die als fehlerfrei bekannt sind, mehrere sogenannte Prüfbits erzeugt,
die an den Daten angebracht werden und durch den ECC verwendet werden,
um einen oder mehrere Fehler zu erfassen und um wenigstens einen
erfassten Fehler zu korrigieren. Je mehr Fehler zu erfassen und/oder zu
korrigieren sind, desto mehr Prüfbits
müssen
bereitgestellt werden. Um die Anzahl der Prüfbits auf einem annehmbaren
Niveau zu halten, werden oft sogenannte SECDED-Verfahren in eingebetteten
Systemen implementiert, die es ermöglichen, einen Einzelfehler
zu korrigieren, aber einen Doppelfehler zu erfassen.
-
Im
Allgemeinen könnte
jede Hardware- und Software-Komponente in einem Computersystem oder
in einem eingebetteten System möglicherweise fehlerhaft
sein. Weil eine Fehlerkorrektureinheit außerdem in Software oder in
Hardware verwirklicht ist, könnte
selbst eine Fehlerkorrektureinheit defekt sein. Eine defekte Fehlerkorrektureinheit
könnte
z. B. nicht vorhandene Fehler ”korrigieren” und folglich
von selbst Fehler erzeugen. Außerdem
könnten
defekte Fehlerkorrektureinheiten angeben, dass sie einen Fehler
korrigiert haben, ohne dass sie dies getan haben.
-
Es
ist deshalb eine Aufgabe der vorliegenden Erfindung, die Zuverlässigkeit
eines Computersystems, insbesondere eines eingebetteten Systems,
das eine Fehlerkorrektureinheit umfasst, zu vergrößern. Es
ist außerdem
eine Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System
zum Erfassen, ob eine Fehlerkorrektureinheit defekt ist, zu schaffen.
-
Die
Aufgabe wird durch ein Verfahren gelöst, wie es oben erwähnt worden
ist, wobei das Verfahren einen Schritt des Vergleichens der Ausgangsdaten der
Fehlerkorrektureinheit mit wenigstens einem Referenzdatenelement
umfasst, wobei das wenigstens eine Referenzdatenelement wenigstens
indirekt von der Datenquelle stammt. Sowohl der Fehlervektor als auch
das Ergebnis des Vergleichs werden in eine Plausibilitätsprüfung eingegeben,
um zu entscheiden, ob die Fehlerkorrektureinheit defekt ist. Gemäß dem Ergebnis
der Plausibilitätsprüfung wird
ein Störungsvektor
manipuliert, um anzugeben, ob eine Störung in der Fehlerkorrektureinheit
erfasst worden ist.
-
Gemäß der vorliegenden
Erfindung wird die Ausgabe der Fehlerkorrektureinheit mit den Referenzdaten
verglichen, die vorteilhaft direkt den Ausgangsdaten der Datenquellen
entsprechen können. Dies
ermöglicht
es, eine defekte Fehlerkorrektureinheit mit nur geringem Zusatzaufwand
zu erfassen, indem z. B. ein Komparator und eine Plausibilitätsprüfungseinheit
vorgesehen werden. Der Störungsvektor
gibt dann an, ob bestimmt worden ist, dass die Fehlererfassungseinheit
defekt ist. Die im Störungsvektor
gespeicherten Informationen könnten
z. B. zu einer Steuervorrichtung übertragen werden, die die Informationen
aufzeichnet und/oder einen Administrator oder dergleichen informiert.
-
Die
Fehlerkorrektureinheit könnte
in mehreren verschiedenen Arten arbeiten. Gemäß einer ersten Ausführungsform
könnte
ein an der Fehlerkorrektureinheit angebrachter Fehlervektor manipuliert
werden, wann immer die Fehlerkorrektureinheit einen Fehler erfasst
hat, unabhängig
davon, ob der Fehler korrigiert werden konnte oder nicht. In dieser
Ausführungsform
könnte
der Störungsvektor
manipuliert werden, um nur dann eine Störung in der Fehlerkorrektureinheit
anzugeben, wenn sich die Ausgangsdaten der Fehlerkorrektureinheit
von den Referenzdaten unterscheiden, aber der Fehlervektor keinen
Fehler in den empfangenen Daten angibt.
-
Gemäß einer
weiteren Ausführungsform könnte die
Fehlerkorrektureinheit den Fehlervektor nur dann manipulieren, wenn
ein Fehler erfasst wird, der nicht korrigiert werden konnte. Wenigstens
in diesem Beispiel ist es vorteilhaft, wenn der Störungsvektor
manipuliert wird, um eine Störung
in der Fehlerkorrektureinheit anzugeben, wenn sich die Ausgangsdaten
der Fehlerkorrektureinheit nicht von den Referenzdaten unterscheiden,
aber der Fehlervektor einen Fehler in den empfangenen Daten angibt.
-
Beide
Bedingungen sind Teil der Plausibilitätsprüfung und ermöglichen
es, basierend auf dem Ergebnis des Vergleichs effektiv zu entscheiden,
ob eine Fehlerkorrektureinheit defekt ist oder nicht.
-
Gemäß einer
weiteren bevorzugten Ausführungsform
des Verfahrens der Erfindung werden die Referenzdaten durch eine
zweite Fehlerkorrektureinheit erzeugt, wobei die zweite Fehlerkorrektureinheit die
Ausgangsdaten von der Datenquelle empfängt und bestimmt, ob die empfangenen
Daten falsch sind. Wenn wenigstens ein einziger Fehler erfasst wird,
korrigiert die zweite Fehlerkorrektureinheit wenigstens einen Fehler
in den empfangenen Daten und gibt die korrigierten Daten aus. Gemäß dieser Ausführungsform
werden die Ergebnisse der ersten Fehlerkorrektureinheit und der
zweiten Fehlerkorrektureinheit verglichen, wobei die Plausibilitätsprüfung auf
dem Ergebnis des Vergleichs basiert.
-
Vorteilhaft
manipuliert die zweite Fehlerkorrektureinheit wenigstens dann, wenn
die empfangenen Daten falsch sind und der Fehler nicht korrigiert werden
konnte, einen zweiten Fehlervektor. In dieser Ausführungsform
könnte
die zweite Fehlerkorrektureinheit zur ersten Fehlerkorrektureinheit
redundant arbeiten. Es ist jedoch außerdem denkbar, dass sich die
Strategie zum Entscheiden, ob der zweite Fehlervektor manipuliert
wird, von der Strategie der ersten Fehlerkorrektureinheit zum Entscheiden,
ob der erste Fehlerkorrekturvektor zu manipulieren ist, unterscheiden
könnte.
Es ist außerdem
denkbar, dass nur ein einziger Fehlervektor verwendet wird, der
angibt, ob wenigstens die erste oder die zweite Fehlerkorrektureinheit
einen Fehler erfasst hat oder ob beide Fehlerkorrektureinheiten
einen Fehler erfasst haben.
-
Wenn
eine zweite Fehlerkorrektureinheit vorhanden ist, könnte eine
Störung
erfasst werden und es könnte
der Störungsvektor
manipuliert werden, wann immer die Ausgangsdaten der ersten Fehlerkorrektureinheit
von den Referenzdaten, d. h. den Ausgangsdaten der zweiten Fehlerkorrektureinheit, unterschiedlich
sind. Es könnte
außerdem
eine Störung
erfasst werden und es könnte
der Störungsvektor
manipuliert werden, wann immer sich die Ausgangsdaten der ersten
Fehlerkorrektureinheit nicht von den Referenzdaten, d. h. den Ausgangsdaten der
zweiten Fehlerkorrektureinheit, unterscheiden, aber der erste Fehlervektor
und der zweite Fehlervektor sich unterscheiden.
-
Diese
Bedingungen können
effizient getestet werden und ermöglichen es somit, effizient
zu entscheiden, ob die Fehlerkorrektureinheit defekt ist.
-
Gemäß einer
weiteren bevorzugten Ausführungsform
identifiziert der Störungsvektor
die defekte Fehlerkorrektureinheit. Dies ist vorteilhaft, falls
mehrere Fehlerkorrektureinheiten verfügbar sind, die defekt sein
könnten.
Insbesondere ermöglicht
es diese Ausführungsform
dann, wenn eine redundante Fehlerkorrektureinheit vorgesehen ist,
zu speichern und möglicherweise
zu übertragen,
ob die erste oder die zweite Fehlerkorrektureinheit defekt ist.
-
Vorteilhaft
identifiziert der Störungsvektor
die Position der falsch korrigierten oder nicht korrigierten Datenbits
in den Daten, insbesondere in den Referenzdaten. Diese Positionen
können
durch das Vergleichen der Ausgangsdaten der Fehlerkorrektureinheit
mit den Referenzdaten bestimmt werden. Beim Erfassen der Software-
oder Hardware-Komponente in der Fehlerkorrektureinheit, die defekt
ist, könnte
es hilfreich sein, die Kenntnis einer derartigen Position zu haben.
-
Gemäß einer
weiteren bevorzugten Ausführungsform
der vorliegenden Erfindung ist der Störungsvektor unter Verwendung
eines Störungsflags verwirklicht.
Dies bedeutet, dass der Störungsvektor ein
eindimensionaler Vektor ist, der durch ein einziges Bit verwirklicht
sein kann. Das Störungsflag
zeigt, ob eine defekte Fehlerkorrektureinheit erfasst worden ist
oder nicht. Die Verwendung eines Störungsflags erlaubt schnelle
Manipulationen des Störungsvektors
und verringert die Menge der Bits, die verwendet wird, um anzugeben,
ob eine defekte Fehlerkorrektureinheit erfasst worden ist.
-
Vorteilhaft
könnte
der Fehlervektor außerdem
unter Verwendung eines Fehlerflags verwirklicht sein.
-
Die
Aufgabe der vorliegenden Erfindung wird ferner durch ein System
gelöst,
wie es oben erwähnt worden
ist, wobei das System Mittel zum Ausführen des Verfahrens der Erfindung
bereitstellt.
-
Die
Verwirklichung dieser Erfindung in der Form eines Computer-Programms
ist von besonderer Bedeutung. Das Computer-Programm kann in einer
Rechenvorrichtung oder in einem Computer, insbesondere in einem
eingebetteten System, ausgeführt
werden, wobei es programmiert ist, um das Verfahren der Erfindung
auszuführen.
Die Erfindung ist dadurch durch das Computer-Programm verwirklicht, wobei dieses
Computer-Programm die Erfindung im gleichen Sinn wie das Verfahren
der Erfindung repräsentiert,
das durch das Computer-Programm ausgeführt wird.
-
Das
Computer-Programm ist vorzugsweise in einem Speicherelement gespeichert.
Ein Speicherelement kann insbesondere eine magnetische Speichervorrichtung
oder eine optische Speichervorrichtung sein.
-
Weitere
Merkmale, mögliche
Anwendungen und vorteilhafte Ausführungsformen der vorliegenden
Erfindung sind in der folgenden Beschreibung der Zeichnung beschrieben.
-
Kurzbeschreibung der Zeichnung
-
1 zeigt
ein System zum Erfassen einer Störung
in einer Fehlerkorrektureinheit gemäß einer ersten Ausführungsform;
-
2 zeigt
ein Verfahren zur Erfassen einer Störung in einer Fehlerkorrektureinheit
gemäß einer ersten
Ausführungsform;
-
3 zeigt
ein System zum Erfassen einer Störung
in einer Fehlerkorrektureinheit gemäß einer zweiten Ausführungsform,
wobei das System eine zweite Fehlerkorrektureinheit umfasst;
-
4 zeigt
ein Verfahren zum Erfassen einer Störung in einer Fehlerkorrektureinheit
gemäß einer
zweiten Ausführungsform;
und
-
5 zeigt
ein System zum Erfassen einer Störung
in einer Fehlerkorrektureinheit gemäß einer dritten Ausführungsform.
-
Beschreibung der bevorzugten
Ausführungsformen
-
1 zeigt
ein System 1a, das eine Fehlerkorrektureinheit 2 und
eine Störungserfassungseinheit 3 umfasst.
Die Störungserfassungseinheit 3 umfasst
eine Komparatoreinheit 5 und eine Plausibilitätsprüfungseinheit 6.
-
Das
System 1a umfasst ferner eine Datenquelle 20.
Das System 1a könnte
unter Verwendung verschiedener funktionaler Hardware-Komponenten in
einem eingebetteten System verwirklicht sein. Das System 1a könnte ferner
in Software verwirklicht sein, die in dem eingebetteten System ausgeführt wird.
Insbesondere können
eine oder mehrere Komponenten des Systems 1a in Hardware
verwirklicht sein, wohingegen andere Komponenten in Software verwirklicht
sein könnten.
-
Die
Datenquelle 20 emittiert Datenbits, die zu einer Empfangseinheit 21 zu übertragen
sind. Um Fehler in den Datenbits zu erfassen, wird jede vorgegebene
Anzahl von Datenbits von einer vorgegebenen Anzahl von Prüfbits begleitet,
wie es von den Fehlerkorrekturcode-Techniken allgemein bekannt ist.
Die Datenbits und die Prüfbits
werden zur Fehlerkorrektureinheit 2 übertragen, um Fehler zu erfassen und
möglicherweise
zu korrigieren, z. B. basierend auf einem Fehlerkorrekturcode, der
zu den Datenbits und den Prüfbits
gehört.
-
Die
Ausgaben der Fehlerkorrektureinheit 2 werden über die
Datenleitung 12 zur Komparatoreinheit 5 übertragen.
Die Datenbits von der Datenquelle 20 werden außerdem über die
Datenleitung 8 direkt zur Komparatoreinheit 5 übertragen.
Das Ergebnis des Vergleichens der über die Datenleitung 8 empfangenen
Datenbits und der über
die Datenleitung 12 empfangenen Ausgangsdaten wird in die
Plausibilitätsprüfungseinheit 6 eingespeist.
Beim Erfassen einer defekten Fehlerkorrektureinheit 2 wird
der Störungsvektor 7 manipuliert.
-
Der
Betrieb des Systems 1a ist in 2, die einen
Ablaufplan mehrerer Ausführungsformen
des Verfahrens der Erfindung zeigt, ausführlicher beschrieben.
-
In
einem Schritt 100 werden die Datenbits und die Prüfbits von
der Datenquelle 20 zur Fehlerkorrektureinheit 2 übertragen.
Außerdem
werden die Datenbits über
die Datenleitung 8 zur Störungserfassungseinheit 3,
insbesondere zur Komparatoreinheit 5, übertragen.
-
In
einem Schritt 101 wertet die Fehlerkorrektureinheit 2 den
Fehlerkorrekturcode aus, um einen Fehler zu erfassen und möglicherweise
zu korrigieren. Falls ein Fehler erfasst worden ist, sendet die Fehlerkorrektureinheit 2 in
einem Schritt 102 ein Signal, das den erfassten Fehler
angibt, zur Störungserfassungseinheit 3,
insbesondere zur Plausibilitätsprüfungseinheit 6.
Außerdem
wird der Fehlervektor 7 manipuliert, was angibt, dass ein
Fehler erfasst worden ist.
-
In
einem Schritt 103 versucht die Fehlererfassungseinheit 2,
den erfassten Fehler zu korrigieren. Falls dies möglich ist,
werden in einem Schritt 106 die korrigierten Datenbits
zur Störungserfassungseinheit 3 übertragen.
Falls jedoch der erfasste Fehler nicht korrigiert werden konnte,
wird in einem Schritt 104 der Fehlervektor 4 manipuliert,
um diese Situation anzugeben. Dies könnte ausgeführt werden, indem ein spezifisches
Bit im Fehlervektor 4 gesetzt oder zurückgesetzt wird. Sowohl die
Ausgangsdaten als auch der Wert des Fehlervektors 4 werden in
einem Schritt 105 zur Störungserfassungseinheit 3 übertragen.
-
Falls
im Schritt 101 kein Fehler erfasst worden ist, werden die
von der Datenquelle 20 empfangenen Daten durch die Fehlerkorrektureinheit 2 überhaupt
nicht geändert
und im Schritt 115 als die Ausgangsdaten zur Störungserfassungseinheit 3 übertragen.
-
In
einem Schritt 107 werden die von der Datenquelle 20 über die
Datenleitung 8 direkt empfangenen Referenzdaten mit den
von der Fehlerkorrektureinheit 2 empfangenen Ausgangsdaten
verglichen. Gemäß der in 1 gezeigten
Ausführungsform
wird der Vergleich durch die Komparatoreinheit 5 ausgeführt.
-
Falls
sich die Ausgangsdaten und die Referenzdaten nicht unterscheiden,
wird in einem Schritt 108 geprüft, ob der Fehlervektor 4 angibt,
dass durch die Fehlerkorrektureinheit 4 ein Fehler erfasst
und korrigiert worden ist. Falls dies der Fall ist, wird bestimmt,
dass die Fehlerkorrektureinheit 2 defekt ist, weil, falls
ein Fehler erfasst und korrigiert worden ist, die Referenzdaten
und die von der Fehlerkorrektureinheit 2 empfangenen Ausgangsdaten
verschieden sein müssen,
vorausgesetzt, dass die Fehlerkorrektureinheit 2 richtig
arbeitet. Deshalb wird in einem Schritt 109 der Störungsvektor 7 manipuliert,
um anzugeben, dass die Fehlerkorrektureinheit 2 defekt
ist.
-
Falls
im Schritt 108 der Fehlervektor 4 angibt, dass
kein Fehler erfasst worden ist, oder falls der Fehlervektor 4 angibt,
dass ein Fehler erfasst worden ist, der nicht korrigiert werden
konnte, wird bestimmt, dass die Fehlerkorrektureinheit 2 nicht
defekt ist, und es endet die Plausibilitätsprüfung im Schritt 111,
wobei der Störungsvektor 7 überhaupt nicht
manipuliert wird, was angibt, dass in der Fehlerkorrektureinheit
kein Fehler erfasst worden ist.
-
Falls
jedoch das Ergebnis des Vergleichs im Schritt 107 zeigt,
dass die Referenzdaten von den von der Fehlerkorrektureinheit 2 empfangenen
Ausgangsdaten verschieden sind, muss die Fehlerkorrektureinheit 2 wenigstens
einen Fehler korrigiert haben, vorausgesetzt, dass die Fehlerkorrektureinheit 2 richtig
arbeitet. Deshalb wird in einem Schritt 110 der Zustand
des Fehlervektors 4 geprüft. Falls der Fehlervektor 4 angibt,
dass wenigstens ein Fehler erfasst worden ist, der korrigiert werden
konnte, bestimmt die Plausibilitätsprüfungseinheit 6,
dass die Fehlerkorrektureinheit 2 richtig arbeitet, wobei
die Plausibilitätsprüfung im
Schritt 111 endet, indem der Störungsvektor 7 nicht
manipuliert wird und indem die als die Ausgangsdaten von der Fehlerkorrektureinheit 2 empfangenen
Datenbits möglicherweise
zur Empfangseinheit 21 übertragen
werden.
-
Falls
im Schritt 110 der Fehlervektor angibt, dass überhaupt
kein Fehler erfasst worden ist oder dass ein Fehler erfasst worden
ist, der nicht korrigiert werden konnte, wird bestimmt, dass in
der Fehlerkorrektureinheit 2 ein Fehler aufgetreten ist.
Folglich wird in einem Schritt 112 der Störungsvektor 7 manipuliert,
um anzugeben, dass in der Fehlerkorrektureinheit 2 eine
Störung
aufgetreten ist.
-
3 zeigt
eine weitere Ausführungsform
eines Systems 1b, in dem die aus dem System 1a bekannten
Elemente mit denselben Bezugszeichen bezeichnet sind.
-
Das
System 1b umfasst eine zweite Fehlerkorrektureinheit 15.
Die Datenbits und die Prüfbits, die
von der Datenquelle 20 emittiert werden, werden zur Fehlerkorrektureinheit 2 und
zur zweiten Fehlerkorrektureinheit 15 übertragen. Die zweite Fehlerkorrektureinheit 15 ist über die
Datenleitung 22 mit einem zweiten Fehlervektor verbunden,
der als ein einziger Fehlermerker 19a verkörpert ist.
Die Datenleitung 22 ist über die Datenleitung 23 mit
der Plausibilitätsprüfungseinheit 6 verbunden.
-
Außerdem ist
in 3 der Fehlervektor 4 (1)
als ein Fehlerflag 4a realisiert, während der Störungsvektor 7 als
ein Störungsflag 7a realisiert
ist.
-
Das
System 1a, wie es in 1 gezeigt
ist, und das System 1b, wie es in 3 gezeigt
ist, könnten
verschieden betrieben werden. Eine Ausführungsform des Verfahrens der
Erfindung, die in dem System 1b betriebsfähig ist,
ist in 4 gezeigt. Das Verfahren beginnt in einem Schritt 200,
in dem die Daten, die die Datenbits und die Prüfbits umfassen, von der Datenquelle 20 zur
Fehlerkorrektureinheit 2 und zur zweiten Fehlerkorrektureinheit 15 übertragen werden.
-
In
einem Schritt 201a erfasst die Fehlerkorrektureinheit 2,
ob ein Fehler aufgetreten ist. Falls dies der Fall ist, wird in
einem Schritt 202a ein Fehlerflag 4a gesetzt.
-
In
einem Schritt 203a versucht die Fehlerkorrektureinheit 2,
wenigstens einen erfassten Fehler zu korrigieren. Falls dies möglich ist,
wird der Fehler korrigiert, indem die empfangenen Datenbits in einem Schritt 204a entsprechend
manipuliert werden, wobei die korrigierten Daten dann in einem Schritt 205a zur Störungserfassungseinheit 3 übertragen
werden.
-
Falls
jedoch im Schritt 201a überhaupt
kein Fehler erfasst worden ist oder falls im Schritt 203a kein
Fehler korrigiert werden konnte, werden im Schritt 205a die
von der Datenquelle 20 empfangenen Daten zur Störungserfassungseinheit 3 übertragen.
-
Wie
bereits beschrieben worden ist, umfasst das System 1b eine
zweite Fehlerkorrektureinheit 15. Für die folgende Beschreibung
wird angenommen, dass die zweite Fehlerkorrektureinheit 15 die
gleiche Funktionalität
wie die Fehlerkorrektureinheit 2 bereitstellt. Folglich
ist die zweite Fehlerkorrektureinheit 15 völlig redundant.
Es ist jedoch denkbar, dass die zweite Fehlerkorrektureinheit 15 eine
Anzahl von Fehlern erfassen und/oder korrigieren kann, die von der
Anzahl der Fehler verschieden ist, die durch die Fehlerkorrektureinheit 2 erfasst
und/oder korrigiert werden kann.
-
In 4 werden
die Daten von der Datenquelle 20 zur Fehlerkorrektureinheit 2 und
außerdem zur
zweiten Fehlerkorrektureinheit 15 übertragen.
-
In
einem Schritt 201b erfasst die zweite Fehlerkorrektureinheit 15,
ob ein Fehler aufgetreten ist. Falls dies der Fall ist, wird in
einem Schritt 202b das Fehlerflag 19a gesetzt.
In einem Schritt 203b versucht die zweite Fehlerkorrektureinheit 15,
wenigstens einen erfassten Fehler zu korrigieren. Falls dies möglich ist,
wird der Fehler korrigiert, indem die empfangenen Datenbits in einem
Schritt 204b entsprechend manipuliert werden, wobei dann
die korrigierten Daten in einem Schritt 205b zur Störungserfassungseinheit 3 übertragen
werden.
-
Falls
im Schritt 201b überhaupt
kein Fehler erfasst worden ist oder falls im Schritt 203b kein
Fehler korrigiert werden konnte, werden die von der Datenquelle 20 empfangenen
Daten im Schritt 205b von der zweiten Fehlerkorrektureinheit 15 zur
Störungserfassungseinheit 3 übertragen.
-
In
einem Schritt 206 vergleicht die Störungserfassungseinheit 3,
insbesondere der Komparator 5, die von der Fehlerkorrektureinheit 2 empfangenen Ausgangsdaten
und die von der zweiten Fehlerkorrektureinheit 15 empfangenen
Referenzdaten. Das Ergebnis dieses Vergleichs wird dann zur Plausibilitätsprüfungseinheit 6 übertragen.
Falls die Fehlerkorrektureinheit 2 und die zweite Fehlerkorrektureinheit 15 die
gleiche Funktionalität
bereitstellen, müssen die
Ausgangsdaten der Fehlerkorrektureinheit 2 und die von
der zweiten Fehlerkorrektureinheit 15 empfangenen Referenzdaten
völlig
gleich sein. Diese Bedingung wird in einem Schritt 207 von
der Plausibilitätsprüfungseinheit 6 geprüft. Falls
die Ausgangsdaten der Fehlerkorrektureinheit 2 und die
von der zweiten Fehlerkorrektureinheit 15 empfangenen Referenzdaten
nicht völlig
gleich sind, wird in einem Schritt 208 das Störungsflag 7a manipuliert,
um anzugeben, dass eine Störung
erfasst worden ist. Falls jedoch der Störungsflag 7a als ein
Störungsvektor 7 verwirklicht
ist, der mehrere Bits umfasst, könnte
das Störungsflag 7 manipuliert
werden, um anzugeben, dass sich die von der Fehlerkorrektureinheit 2 empfangenen
Daten von den von der zweiten Fehlerkorrektureinheit 15 empfangenen
Daten unterscheiden.
-
Falls – gemäß der in 4 gezeigten
bevorzugten Ausführungsform – im Schritt 207 kein
Unterschied zwischen den von der Fehlerkorrektureinheit 2 empfangenen
Ausgangsdaten und den Referenzdaten erfasst wird, wird in einem
Schritt 209 geprüft, ob
die Werte der Fehlerflags 19a und 4a verschieden sind.
Die Werte des Fehlerflags 4a und des Fehlerflags 19a könnten zur
Störungserfassungseinheit 3 übertragen
werden, indem der Fehleranzeigeausgang der zweiten Fehlerkorrektureinheit 15 über die Datenleitung 23 und
die Datenleitung 24 mit der Plausibilitätsprüfungseinheit 6 verbunden
wird und indem der Fehleranzeigeausgang der Fehlerkorrektureinheit 2 über die
Datenleitung 13 mit der Plausibilitätsprüfungseinheit 6 verbunden
wird. Vorausgesetzt, dass die Fehlerkorrektureinheit 2 und
die zweite Fehlerkorrektureinheit 15 die gleiche Funktionalität verwirklichen,
müssen
das Fehlerflag 4a und das Fehlerflag 19a den gleichen
Wert zeigen. Falls dies nicht der Fall ist, muss die Fehlerkorrektureinheit 2 oder die
zweite Fehlerkorrektureinheit 15 defekt sein. Um diese
Situation anzugeben, wird in einem Schritt 210 das Störungsflag 7a entsprechend
manipuliert.
-
Im
Schritt 211 werden die Daten von der Störungserfassungseinheit 3 zur
Empfangseinheit 21 übertragen.
-
Sowohl
die Systeme 1a und 1b, wie sie in den 1 und 3 gezeigt
sind, als auch die in den 2 und 4 gezeigten
Verfahren zeigen beispielhafte Ausführungsformen des Systems der
Erfindung und des Verfahrens der Erfindung. Es sind jedoch mehrere
weitere Ausführungsformen
und Variationen möglich.
-
5 zeigt
ein System 1c, das ein Beispiel einer weiteren vorteilhaften
Ausführungsform
der Erfindung ist. Darin sind anstelle der Verwendung eines zweiten
Fehlerflags 19a oder eines zweiten Fehlervektors der Fehleranzeigeausgang
der zweiten Fehlerkorrektureinheit 15 und der Fehleranzeigeausgang der
Fehlerkorrektureinheit 2 über die Datenleitungen 26 und 27 mit
einer Komparatoreinheit 25 verbunden. Die Komparatoreinheit 25 ist über eine
Datenleitung 28 mit dem Fehlerflag 4a verbunden.
Das Fehlerflag 4a könnte
jedoch außerdem
als ein Fehlervektor 4 verwirklicht sein.
-
Die
Komparatoreinheit 25 könnte
betrieben werden, um nur das Fehlerflag 4a zu setzen, falls
die von den Datenleitungen 26 und 27 empfangenen
Signale nicht völlig
gleich sind. Folglich ermöglicht
es das Fehlerflag 4a, anzugeben, dass in der Fehlerkorrektureinheit 2 oder
in der zweiten Fehlerkorrektureinheit 15 eine Störung aufgetreten
sein muss. Das Signal der Komparatoreinheit 25 könnte z.
B. über
die Datenleitung 29 automatisch zur Plausibilitätsprüfungseinheit 6 übertragen
werden.
-
Im
System 1c werden die Daten von der Datenquelle 20 nicht
nur zur Fehlerkorrektureinheit 2 und zur zweiten Fehlerkorrektureinheit 15 übertragen,
sondern außerdem über die
Datenleitung 8 direkt zur Störungserfassungseinheit 3.
Die Komparatoreinheit 5 empfängt folglich drei verschiedene
Signale, die verglichen und für
die Plausibilitätsprüfung verwendet
werden könnten.
Dies ermöglicht
es, weitere Einzelheiten zu gewinnen, wann immer eine defekte Fehlerkorrektureinheit 2 erfasst
wird. Insbesondere ist es möglich,
zu bestimmen, welche der Fehlerkorrektureinheiten, die Fehlerkorrektureinheit 2 oder
die zweite Fehlerkorrektureinheit 15, defekt ist. Der Störungsvektor 7 könnte entsprechend
modifiziert werden, um ein derartiges Ereignis anzugeben.
-
Der
Störungsvektor 7 könnte z.
B. als eine Zeichenfolge von Bits implementiert sein, in der jedes Bit
angibt, ob ein vorgegebener Typ der Störung erfasst worden ist. Diese
Typen könnten
angeben, ob eine Störung
in der Fehlerkorrektureinheit 2 erfasst worden ist, ob
eine Störung
in der Fehlerkorrektureinheit 15 erfasst worden ist oder
ob es der Fehlerkorrektureinheit 2 oder der Fehlerkorrektureinheit 15 misslingt,
den Fehlermerker 4a richtig zu setzen.
-
Weitere
Ausführungsformen
des Verfahrens der Erfindung und des Systems der Erfindung sind möglich, wie
durch die Ansprüche
angegeben ist. Insbesondere könnten
die Verfahren mehrere weitere Schritte umfassen, um zu bestimmen,
ob die Fehlerkorrektureinheit 2 defekt ist, und/oder um
weitere Einzelheiten zu erzeugen, die die Art des Fehlers betreffen.
-
Außerdem könnten mehrere
weitere redundante Fehlerkorrektureinheiten vorgesehen sein, sowohl
um eine defekte Fehlerkorrektureinheit 2, 15 genauer
zu identifizieren als auch um die Fehlertoleranz zu vergrößern.
-
Weil
alle Signale von der Fehlerkorrektureinheit 2, der zweiten
Fehlerkorrektureinheit 15 und/oder der Datenquelle 20 beinahe
gleichzeitig zur Störungserfassungseinheit 3 übertragen
werden könnten,
könnten
außerdem
mehrere Vergleiche und Bestimmungsschritte gleichzeitig oder in
einer anderen Reihenfolge ausgeführt
werden.
-
Zusammenfassung
-
Um
eine defekte Fehlerkorrektureinheit (2) in einem eingebetteten
System zu erfassen, wobei die Fehlerkorrektureinheit (2)
Ausgangsdaten von einer Datenquelle (20) empfängt und
bestimmt, ob die empfangenen Daten fehlerhaft sind, und wobei, falls die
empfangenen Daten fehlerhaft sind, erwartet wird, dass die Fehlerkorrektureinheit
(2) wenigstens einen Fehler in den empfangenen Daten korrigiert, die
korrigierten Daten ausgibt und einen Fehlervektor (4) manipuliert,
werden ein Verfahren und ein System (1a) vorgeschlagen,
die es ermöglichen,
die Ausgangsdaten der Fehlerkorrektureinheit (2) mit wenigstens
einem Referenzdatenelement zu vergleichen, wobei das wenigstens
eine Referenzdatenelement wenigstens indirekt von der Datenquelle
(20) stammt. Sowohl der Fehlervektor (4) als auch
das Ergebnis des Vergleichs werden in eine Plausibilitätsprüfung eingegeben,
um zu entscheiden, ob die Fehlerkorrektureinheit (2) defekt
ist. Gemäß dem Ergebnis
der Plausibilitätsprüfung wird
ein Störungsvektor (7)
manipuliert, um anzugeben, ob eine Störung in der Fehlerkorrektureinheit
(2) erfasst worden ist.