DE112005002975T5 - Verfahren zur Behandlung während der Ausführung einer Fehlerbehandlungsroutine auftretender Fehler - Google Patents
Verfahren zur Behandlung während der Ausführung einer Fehlerbehandlungsroutine auftretender Fehler Download PDFInfo
- Publication number
- DE112005002975T5 DE112005002975T5 DE112005002975T DE112005002975T DE112005002975T5 DE 112005002975 T5 DE112005002975 T5 DE 112005002975T5 DE 112005002975 T DE112005002975 T DE 112005002975T DE 112005002975 T DE112005002975 T DE 112005002975T DE 112005002975 T5 DE112005002975 T5 DE 112005002975T5
- Authority
- DE
- Germany
- Prior art keywords
- error
- processor
- handler
- handling routine
- general
- 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.)
- Withdrawn
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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
Abstract
Verfahren
umfassend:
in einer Fehlerbehandlungsroutine eines Prozessors, Ausführen als Antwort auf einen ersten erkannten nicht behebbaren Fehler (DUE) des Prozessors, Antworten auf eine Anzeige, dass ein zweiter DUE aufgetreten ist, durch Auswerten eines oder mehrere Effekte des zweiten DUE auf die Richtigkeit der Fehlerbehandlungsroutine.
in einer Fehlerbehandlungsroutine eines Prozessors, Ausführen als Antwort auf einen ersten erkannten nicht behebbaren Fehler (DUE) des Prozessors, Antworten auf eine Anzeige, dass ein zweiter DUE aufgetreten ist, durch Auswerten eines oder mehrere Effekte des zweiten DUE auf die Richtigkeit der Fehlerbehandlungsroutine.
Description
- Hintergrund
- Energetische, sub-atomare Partikel, wie z.B. Neutronen aus kosmischen Strahlen und Alphapartikel aus radioaktiven Spurenelementen in der Verpackung einer Halbleitervorrichtung, können Elektron-Loch-Paare hervorrufen, wenn sie sich durch eine solche Vorrichtung bewegen. Transistorquellen- und Drain-Anschlüsse in der Vorrichtung können diese Ladungen sammeln, und eine ausreichende Anhäufung der Ladung kann eine logische Vorrichtung, welche einen solchen Transistor enthält, schliesslich dazu veranlassen, ihren Zustand zu invertieren, oder umzuschlagen, was eine logische Fehlfunktion in der Betriebsweise der Schaltung verursacht. Diese Fehlfunktionen sind vorübergehend, da sie kein dauerhaftes Versagen der Vorrichtung hervorrufen, und werden daher weiche oder vorübergehende Fehler genannt. Eine übliche Form einer weichen Fehlers ist ein Fehler in einem Transistor, der einen Teil einer Speicherzelle bildet, wie eine Cachezelle, oder eine Registerzelle, was ein Umschlagen des von einer solchen Zelle repräsentierten Bits von seinem beabsichtigten Wert hervorruft.
- Die Wahrscheinlichkeit, dass ein sanfter Fehler einen Prozessor oder eine andere Halbleitervorrichtung beeinträchtigt, hängt von der Anzahl, der auf dem Chip untergebrachten Transistoren ab. Insbesondere im Fall von Prozessoren ist die Anzahl von auf dem Chip befindlichen Transistoren sehr schnell gewachsen, und daher ist die Fehlerrate auf Grund von sanften Fehlern proportional gewachsen. Daher, ist die Bedeutsamkeit, die Einflüsse von sanften Fehlern auf den Betrieb von Prozessoren zu verringern, angestiegen.
-
1 stellt eine Klassifizierung von sanften Fehlern in einer Prozessorspeichereinheit, wie einem Register oder Cache, dar, die zur Klarheit als Flussdiagramm abgebildet ist. Wenn ein sanfter Fehler auftritt, 110, dann kann die Fehlfunktion als harmlos betrachtet werden, wenn das betroffene Bit nicht gelesen wurde,120 und140 . Wenn das Bit gelesen wurde, aber die betroffene Einheit, wie eine Cache Linie, oder Registerbank, einen eingebauten Fehlerschutz aufweist,130 , kann der Fehler behebbar, oder zumindest feststellbar sein. Eine solche Fehlerbehebung ist wohlbekannt, und enthält z.B. Gleichheits- und ECC Schemen. In der Situation, wo ein Bit keinen Fehlerschutz aufweist, und das Bit die Richtigkeit einer im Ablauf befindlichen Berechnung in dem Prozessor beeinflusst, spricht man vom Auftreten einer lautlosen Datenkorrumpierung180 . Dies ist ein unerwünschter Zustand, dessen Wahrscheinlichkeit Konstrukteure von Prozessoren minimieren möchten. - Wenn der Fehler erkannt wird und behoben werden kann,
150 , dann wird das Bit auf seinen Ausgangswert gesetzt, oder zurückgesetzt, und der Prozessorbetrieb wird normal fortgesetzt,190 . Wenn der Fehler nicht behoben werden kann, aber erkannt wurde, dann kann der Prozessor zusätzliche Massnahmen ergreifen, da ein solcher Fehler als nicht behebbar angesehen wird,170 . Diese Art von Fehler wird als erkannter, nicht behebbarer Fehler oder DUE bezeichnet. - Üblicherweise bedingt ein DUE einen durch Fehler verursachten Abbruch, zumindest des ausgeführten Prozesses, welcher versuchte, das fehlerhafte Bit zu lesen, und manchmal einen durch Fehler verursachten Abbruch des gesamten Betriebsystems, welches auf dem Prozessor läuft, was einen Stillstand oder Neustart der Maschine bedingt. Es ist natürlich vorzuziehen, einen Vorgang abzubrechen, anstatt des gesamten Systems, um die Gesamtfolgen des DUE zu minimieren. In hochgradig zuverlässigen Systemen, wie Servern für kritische Anwendungen, versuchen Konstrukteure sicherzustellen, dass die mittlere Zeitspanne zwischen das System abbrechenden DUEs besonders hoch ist, z.B. 25 Jahre.
- Wenn ein DUE festgestellt wird, tritt der Prozessor üblicherweise in eine Routine zur Behandlung von Software Fehlern ein. Unter Verwendung von Fehlerregister Listen stellt die Routine fest, ob der DUE einen Verfahrens- oder Systemsabbruch verlangt, und wie vorzugehen ist. In einem Szenario kann ein zweiter DUE während der Ausführung der Fehlerbehandlungsroutine für die erste DUE auftreten. Obwohl ein solches Ereignis relativ unwahrscheinlich ist, muss der Konstrukteur eines hochzuverlässigen Prozessors dieses Szenario berücksichtigen.
- Kurze Beschreibung der Zeichnungen
-
1 bildet die Auswirkungen sanfter Fehler und verschiedener Ergebnisse in Abhängigkeit von Feststellung, Auswirkung, und Milderung als Flussdiagramm ab (Stand der Technik), -
2 bildet ein Prozessor gestütztes System in einer Ausführungsform ab, -
3 ist ein Zustandsdiagramm der möglichen Zustände, die auf die Aktivierung einer Fehlerbehandlungsroutine als Antwort auf einen ersten DUE folgen, in einer Ausführungsform, -
4 ist ein Flussdiagramm einer Software gestützten Lösung, um die Auswirkungen eines zweiten DUE abzumildern, der während einer Fehlerbehandlung eines ersten DUE auftritt, in einer Ausführungsform. - Ausführliche Beschreibung
-
2 bildet ein prozessorgestütztes System in einer Ausführungsform ab. Ein solches System enthält einen Prozessor210 , ein Speicher Subsystem, das einen Schreiblesezugriffsspeicher (RAM Speicher)270 und einen Nur-Lesespeicher (ROM Speicher)290 enthält, um Daten und Programme zu speichern, die von dem Prozessor ausführbar sind, und eine nicht flüchtige Speichereinheit, wie z.B. ein Disksystem280 , welches von einem Bussystem260 verbunden wird, und mit dem externen Netzwerk oder Benutzern durch Systemeingabe/Ausgabe (I/O) Vorrichtungen oder Peripheriegeräte250 gekoppelt ist. Der Prozessor kann eine Gruppe von allgemeinen Registern220 für Verfahren, die auf dem Prozessor ausgeführt werden, um häufig verwendete Daten zu speichern; eine Gruppe von Status Flags, oder Bits, welche den Status von verschiedenen Aspekten des Prozessorbetriebs240 anzeigen; und eine Signalisierungslogik230 , die eine Interaktion zwischen den Zustand Flags ermöglicht, umfassen. Bekanntermassen sind viele andere Komponenten, wie ein Cache, logische Einheiten, Pipelines, etc., auch als Komponenten eines Prozessors vorhanden, und in ähnlicher Weise können andere Komponenten auch in einem Prozessor gestützten System gegenwärtig sein, aber sind hier aus Gründen der Klarheit nicht abgebildet. - Wenn ein Prozessor, wie z.B. der in
2 abgebildete, einen detektierbare nicht behebbaren Fehler oder DUE detektiert, üblicherweise durch den Betrieb eines Fehlerdetektionsmechanismus, wie z.B. Paritätsprüfung oder ECC, unterbricht er üblicherweise den derzeit in Ausführung befindlichen Prozeß, und leitet die Ausführung einer Software Fehlerbehandlungsroutine ein. In einer Ausführungsform ist die Fehlerbehandlungsroutine dazu ausgelegt, nur minimal gegenüber einer zweiten oder folgenden DUE anfällig zu sein, die während der Ausführung der Fehlerbehandlungsroutine selbst auftritt. Zum Beispiel kann die Routine mit ausgeschaltetem Cache ausgeführt werden, um sich nicht möglichen Fehlern in dem Cachespeicher auszusetzen. Sie kann in einem ROM290 gespeichert sein, welcher weniger anfällig auf DUEs ist, als RAM Zellen in einem Cache- oder Systemspeicher. Sogar wenn die Routine RAM Speicherzellen verwenden muss, wie diejenigen in einem Cachespeicher oder Register, kann es die Inhalte des Bereichs, welcher zur Speicherung verwendet wird, löschen bevor er verändert wird. Allgemein ist es jedoch für eine Fehlerbehandlungsroutine sehr schwierig, abzulaufen, ohne einige Speicherzellen zu lesen, die auf DUEs empfindlich sind, ganz gleich ob Register, Cache- oder Systemspeicher, und damit verbleibt die, wenn auch geringe Möglichkeit, dass ein DUE, welcher die Richtigkeit der Routine während ihrer Ausführung, zwischen der Zeit wenn, die Routine in eine Speicherzelle schreibt, und der Zeit, zu der sie von der Speicherzelle liest, beeinflusst. Insbesondere ist es sehr wahrscheinlich, dass ein Error Handler an einem bestimmten Punkt seiner Ausführung in einige der Allzweckregister (Allgemeines Register220 ) schreiben, und dann daraus lesen muss, um seine Aufgabe auszuführen. - Wenn ein zweiter DUE detektiert wird, bevor der erste DUE behandelt wird, kann er nach der Aktivierung des Error Handlers aufgetreten sein oder nicht, da viele Speicherlesevorgänge, die mit der Fehlerbehandlung nichts zutun haben, zwischen der Zeit auftreten können, wenn eine erste DUE berichtet wird, und der Zeit, zu der die Fehlerbehandlungsfunktion tatsächlich aktiviert ist. Die Feststellung, ob die DUE vor oder nach Aktivierung der Routine auftrat, ist nützlich, um die Notwendigkeit zu begrenzen, einen Systemabbruch auszulösen, der notwendig wäre, falls der DUE nach Aktivierung der Routine aufgetreten wäre, da dies die mögliche Korrumpierung der Routine selbst bedeuten könnte.
-
3 bildet die möglichen Zustände des Systems im Verhältnis zu dieser Problematik ab. Wenn des Error Handler beginnt, dann löscht der Error Handler, oder ihr Aufrufmechanismus üblicherweise das Fehlerstaus Flag, sobald die Ausführung beginnt. Weiterhin kann ein Flag in einigen Ausführungsformen gesetzt werden, um anzuzeigen, dass der Error Handler aktiv ist. Dieser Zustand, in dem das Fehlerstatus Flag gelöscht wird, und das Handler-Aktivierungs-Flag gesetzt wird, ist bei310 gezeigt. Von diesem Zustand kann sich der Prozessor zu einem von zwei möglichen Zuständen mit Bezug auf den Error Handler-Aktivierungsstatus und den Fehlerstatus bewegen. In einer Alternative bricht der Error Handler ab, ohne dass ein anderer DUE auftritt (Fehlerstatus Flag ist immer noch gelöscht, und Handler-Aktivierung-Flag ist auch gelöscht,330 ), und ein Prozeßabbruch kann verwendet werden, um den ersten DUE zu behandeln. In einer anderen Alternative, tritt ein Zustand auf, bei dem der Error Handler aktiv ist, während das Fehlerzustand Flag gesetzt ist, das bei320 einen zweiten DUE anzeigt. Dieser Zustand kann einen Fehler bei der Ausführung des DUE anzeigen, und ohne weitere Information, kann der herkömmliche Ansatz zur Behandlung des Fehlers, wenn dieser Zustand detektiert wird, einen Systemabbruch hervorrufen. - In einer Ausführungsform wird Signalisierungslogik
230 , die oben mit Bezug auf2 erörtert wurde, verwendet, um den Zustand320 zu detektieren, der in3 gezeigt wird. Zum Beispiel kann in dem Intel® Itanium Prozessor ein Zustand, in dem das PSR.mc Bit, welches die Aktivierung der „machine check" (mc)-Fehlerbehandlungsroutine und das gleichzeitige Setzen eines Flag in dem allgemeinen Hardware Register-Fehlerprotokoll, während das PSR.mc Flag gesetzt ist, anzeigt, durch eine Signalisier-Logik erfaßt werden, um einen Zustand anzuzeigen, in dem die Richtigkeit der Maschinenprüfungsroutine möglicherweise verfälscht war. - Während die oben beschriebene Lösung wohl funktionieren würde, kann sie jedoch über Gebühr Situationen einschliessen, in welchen die zweite DUE nicht den Error Handler, sondern lediglich den unterbrochenen Prozeß beeinflusst. In einer Ausführungsform speichert die Fehlerbehandlungsroutine zumindest einen Teil der allgemeinen Register vor ihrer Verwendung in einen temporären Speicherbereich. Wenn eine DUE berichtet wird, die ein allgemeines Register während der Ausführung der Routine beeinflusst, ist die Feststellung, ob der DUE auftrat, bevor, oder nachdem die Routine begann, allgemeine Register zu verwenden, nützlich, um die Notwendigkeit, einen Systemabbruch zu erzeugen, auf eine Situation zu begrenzen, in der das allgemeine Register nur beeinflusst wurde, nachdem die Routine begann, das Register zu verwenden.
-
4 bildet eine Verarbeitung innerhalb einer Fehlerbehandlungsroutine ab, die dazu ausgelegt ist, einen zweiten DUE Fehler zu detektieren, der nach dem DUE Fehler aufgetreten ist, der derzeit behandelt wird, und weiterhin, um festzustellen, ob dieser Fehler die Ausführung der Routine wahrscheinlich beeinflussen wird. In der Figur beginnt die Routine, nachdem sie als Antwort auf einen ersten DUE405 aufgerufen wurde, mit einem Schritt, der alle Allzweckregister (GRs), die von ihm verwenden werden können, sichert,410 . Die Routine prüft dann das allgemeine Register Hardware Fehlerprotokoll,415 , um zu sehen, ob irgendwelche DUEs nach dem ersten DUE von der Hardware mit einem Flag versehen wurden. Wenn die Hardware anzeigt, dass ein DUE mit Flag versehen wurde,420 , ist es ein DUE, der den unterbrochenen Prozeß beeinträchtigt. Die Routine speichert die allgemeine Register DUE Information zur späteren Handhabung425 , löscht die GR Fehlerliste430 , und löscht dann die allgemeinen Register, und verwendet sie,445 . Nach Verwendung der allgemein Register, und Abschluss der Handhabung des ersten DUE prüft die Routine dann wieder die allgemeine Register-Fehlerliste450 . Wenn in diesem Zustand ein Fehler,455 , gefunden wird, dann ist es sehr wahrscheinlich, dass ein Fehler, der die Richtigkeit der Fehlerbehandlungsroutine beeinträchtigt, aufgetreten ist, und ein Systemabbruchverfahren eingeleitet werden kann,435 . Ansonsten kann der Handler dann normal abschliessen,440 . - Während bestimmte beispielhafte Ausführungsformen oben beschrieben wurden, und in den beigefügten Zeichnungen gezeigt werden, ist festzuhalten, dass solche Ausführungsformen für die breiten Aspekte von verschiedenen Ausführungsformen der Erfindung lediglich beschreibend, aber nicht einschränkend sind, und dass diese Ausführungsformen nicht auf die spezifischen Auslegungen und Anordnungen beschränkt sein sollen, die hier gezeigt und beschrieben werden, da verschiedene andere Modifikationen möglich sind. Es kann möglich sein, die Ausführungsformen, oder einige ihrer Merkmale in Hardware, programmierbaren Vorrichtungen, Firmware, Software, oder einer Kombination daraus auszuführen.
- Ausführungsformen können als Computer Programm Produkt zur Verfügung gestellt werden, das ein maschinenlesbares Medium enthalten kann, welches darauf gespeicherte Daten aufweist, welche, wenn auf sie von einer Maschine zugegriffen wird, die Maschine veranlassen können, ein Verfahren gemäss dem in Anspruch genommen Gegenstand auszuführen. Das maschinenlesbare Medium kann enthalten, ist aber nicht beschränkt auf: Floppy Disketten, optische Platten, DVD-ROM Platten, DVD-RAM Platten, DVD-RW Platten, DVD+RW Platten, CD-R Platten, CD-RW Platten, CD-ROM Platten, und magneto-optische Platten, ROMs, RAMs, EPROMs, EEPROMs, magnetische oder optische Karten, Flash Memory, oder andere Typen von Medien/maschinenlesbaren Medien, die zum Speichern von elektronischen Befehlen geeignet sind. Weiterhin können Ausführungsformen auch als ein Computer Programm Produkt heruntergeladen werden, wobei das Programm von einem entfernten Computer auf einen anfragenden Computer durch Datensignale übertragen werden kann, die in einer Trägerwelle, oder in einem anderen Verbreitungsmedium über eine Kommunikationsverbindung, z.B. eine Modem- oder eine Netzverbindung, übertragen werden.
- Viele der Methoden werden in ihrer Grundform beschrieben, jedoch können in jedem der Verfahren Schritte hinzugefügt oder gelöscht werden, und Informationen können von jeder der beschrieben Nachrichten hinzugefügt, oder abgezogen werden, ohne vom grundlegenden Umfang des beanspruchten Gegenstands abzuweichen. Fachleuten wird klar sein, dass viele weitere Modifikationen und Anpassungen durchgeführt werden können. Die einzelnen Ausführungsformen sind nicht zur Beschränkung, sondern zur beispielhaften Darstellung der Erfindung angeführt. Der Umfang des beanspruchten Gegenstands wird nicht von den spezifischen, oben dargelegten Beispielen festgelegt, sondern nur von den folgenden Ansprüchen.
- Zusammenfassung
- Fehlerbehandlungsroutine eines Prozessors, die als Antwort auf einen ersten detektierten, nicht behebbaren Fehler (DUE) des Prozessors, als Antwort auf eine Anzeige, dass ein zweiter DUE aufgetreten ist, durch Auswerten der Auswirkung des zweiten DUE auf die Richtigkeit der Fehlerbehandlungsroutine abläuft.
Claims (27)
- Verfahren umfassend: in einer Fehlerbehandlungsroutine eines Prozessors, Ausführen als Antwort auf einen ersten erkannten nicht behebbaren Fehler (DUE) des Prozessors, Antworten auf eine Anzeige, dass ein zweiter DUE aufgetreten ist, durch Auswerten eines oder mehrere Effekte des zweiten DUE auf die Richtigkeit der Fehlerbehandlungsroutine.
- Verfahren nach Anspruch 1, weiterhin umfassend, Feststellen ob der zweite DUE in einer Ressource auftrat, die von der Fehlerbehandlungsroutine verwendet wurde; und ob die Anzeige, dass der zweite DUE aufgetreten ist, vor Beendigung der Fehlerbehandlungsroutine ausgeführt wurde.
- Verfahren nach Anspruch 2, wobei die Anzeige, die anzeigt, dass die zweite DUE in einer Ressource aufgetreten ist, die von der Fehlerbehandlungsroutine verwendet wurde, ein gesetztes Fehlerstatus Flag des Prozessors umfasst.
- Verfahren nach Anspruch 3, weiterhin umfassend, Detektieren eines Zustands, in dem das Fehlerstatus Flag des Prozessors und ein Flag, das eine Aktivierung der Fehlerbehandlungsroutine anzeigt, beide gesetzt sind.
- Verfahren nach Anspruch 4, wobei die Ressource, die von der Fehlerbehandlungsroutine verwendet wird, ein Allzweckregister des Prozessors umfasst.
- Verfahren nach Anspruch 1, weiterhin umfassend: die Fehlerbehandlungsroutine speichert die Inhalte einer Gruppe von Allzweckregistern des Prozessors in einen vorläufigen Speicher; nach Speichern der Inhalte der Gruppe von Allzweckspeichern löscht die Fehlerbehandlungsroutine eine Fehlerliste des Allzweckregisters, die einen DUE in dem Allzweckregister des Prozessors aufzeichnen soll.
- Verfahren nach Anspruch 1, weiterhin umfassend, Setzen einer Systemabbruchausnahme, wenn die Auswertung feststellt, dass der zweite DUE einen Einfluss auf die Richtigkeit der Fehlerbehandlungsroutine hat, und ansonsten Setzen einer Prozessabbruchausnahme.
- Verfahren nach Anspruch 4, weiterhin umfassend, Setzen einer Systemabbruchausnahme, wenn ein Zustand, in dem sowohl das Fehlerstatus Flag des Prozessors und ein Flag, welches die Aktivierung der Fehlerbehandlungsroutine anzeigt, beide gesetzt sind, detektiert wird, und Setzen einer Prozessabbruchausnahme anderenfalls.
- Verfahren nach Anspruch 6, weiterhin umfassend, Setzen einer Systemabbruchausnahme, wenn das Allzweckregister Fehlerflag während dem verbleibenden Betrieb der Fehlerbehandlungsroutine gesetzt wird, und Setzen einer Prozessabbruchausnahme anderenfalls.
- Prozessor umfassend: ein Fehlerdetektionssystem, um einen ersten detektierten nicht behebbaren Fehler (DUE) in einer Ressource des Prozessors zu detektieren; und Logik, um eine Fehlerbehandlungsroutine als Antwort auf den ersten DUE auszuführen, und auf eine Anzeige von dem Fehlerdetektionssystem zu antworten, dass ein zweiter DUE aufgetreten ist, durch Auswerten der Auswirkung des zweiten DUE auf die Richtigkeit der Fehlerbehandlungsroutine.
- Prozessor nach Anspruch 10, wobei die Fehlerbehandlungsroutine weiter bestimmen soll, ob der zweite DUE in einer Prozessor Ressource auftrat, die von der Fehlerbehandlungsroutine verwendet wurde; und ob die Anzeige, dass der zweite DUE aufgetreten ist, vor einer Beendigung der Fehlerbehandlungsroutine gemacht wurde.
- Prozessor nach Anspruch 11, wobei die Anzeige, welche anzeigt dass der zweite DUE in einer Ressource aufgetreten ist, die von der Fehlerbehandlungsroutine verwendet wird, ein gesetztes Fehlerstatus Flag des Prozessors umfasst.
- Prozessor nach Anspruch 12, weiterhin umfassend eine Logik, um einen Zustand zu detektieren, in dem das Fehlerstatus Flag des Prozessors, und ein Flag, welches die Aktivierung der Fehlerbehandlungsroutine anzeigt, beide gesetzt sind.
- Prozessor nach Anspruch 13, wobei die Ressource, welche von der Fehlerbehandlungsroutine verwendet wird, ein Allzweckregister des Prozessors umfasst.
- Prozessor nach Anspruch 10, wobei die Fehlerbehandlungsroutine weiterhin die Inhalte einer Gruppe von Allzweckregistern des Prozessors in einem vorläufigen Speicher speichern soll; nach Speichern der Inhalte der Gruppe von Allzweckspeichern die Fehlerbehandlungsroutine weiterhin eine Allzweckregister Fehlerliste löschen soll, die einen DUE in den Allzweckregistern des Prozessors aufzeichnen soll.
- Prozessor nach Anspruch 10, wobei die Fehlerbehandlungsroutine weiterhin eine Systemabbruchausnahme setzen soll, wenn die Auswertung feststellt, dass der zweite DUE einen Effekt auf die Richtigkeit der Fehlerbehandlungsroutine gehabt hat, und anderenfalls Setzen einer Prozessabbruchausnahme.
- Prozessor nach Anspruch 13, wobei die Fehlerbehandlungsroutine weiterhin eine Systemabbruchausnahme setzen soll, wenn ein Zustand detektiert wird, in welchem das Fehlerstatus Flag des Prozessors, und ein Flag, welches die Aktivierung einer Fehlerbehandlungsroutine anzeigt, beide gesetzt sind, und anderenfalls Setzen einer Prozessabbruchausnahme.
- Prozessor nach Anspruch 15, weiterhin umfassend Logik, um eine Systemabbruchausnahme zu setzen, wenn das Allzweckregister Fehler Flag während des verbleibenden Betriebs der Fehlerbehandlungsroutine gesetzt wird, und anderenfalls Setzen einer Prozessabbruchausnahme.
- Maschinenlesbares Medium, darauf gespeicherte Daten aufweisend, welche, wenn auf sie von einer Maschine zugegriffen wird, die Maschine dazu veranlassen, ein Verfahren auszuführen, wobei das Verfahren umfasst: eine Fehlerbehandlungsroutine eines Prozessors, die als Antwort auf einen ersten detektierten nicht behebbaren Fehler (DUE) des Prozessors abläuft, auf eine Anzeige, dass ein zweiter DUE aufgetreten ist, durch Auswerten der Auswirkung der zweiten DUE auf die Richtigkeit der Fehlerbehandlungsroutine reagiert.
- Maschinenlesbares Medium nach Anspruch 19, wobei das Verfahren weiterhin umfasst: die Fehlerbehandlungsroutine speichert die Inhalte einer Gruppe von Allzweckregistern des Prozessors in einem vorläufigen Speicher; nach Speichern der Inhalte der Gruppe von Allzweckregistern löscht die Fehlerbehandlungsroutine eine Fehlerliste des Allzweckregisters, die einen DUE in den Allzweckregistern des Prozessors aufzeichnen soll.
- Maschinenlesbares Medium nach Anspruch 20, wobei das Verfahren weiterhin umfasst, Setzen einer Systemabbruchausnahme, wenn das Fehler Flag des Allzweckregisters während des verbleibenden Betriebs der Fehlerbehandlungsroutine gesetzt wird, und anderenfalls Setzen einer Prozessabbruchausnahme.
- System umfassend einen Prozessor, der Prozessor umfassend: ein Fehlerdetektionssystem, um einen ersten detektierten, nicht behebbaren Fehler (DUE) in einer Ressource des Prozessors zu detektieren; und Logik, um eine Fehlerbehandlungsroutine als Antwort auf den ersten DUE auszuführen, und auf eine Anzeige von dem Fehlerdetektionssystem zu antworten, dass ein zweiter DUE aufgetreten ist, durch Auswerten der Auswirkung des zweiten DUE auf die Korrektheit der Fehlerbehandlungsroutine.
- System nach Anspruch 22, wobei die Fehlerbehandlungsroutine weiterhin bestimmen soll, ob der zweite DUE in einer Prozessor Ressource aufgetreten ist, die von der Fehlerbehandlungsroutine verwendet wird; und ob die Anzeige, dass der zweite DUE aufgetreten ist, vor der Beendigung der Fehlerbehandlungsroutine gemacht wurde.
- System nach Anspruch 23, wobei die Anzeige, welche anzeigt, dass der zweite DUE in einer Ressource, die von der Fehlerbehandlungsroutine verwendet wird, aufgetreten ist, ein gesetztes Fehlerstatus Flag des Prozessors umfasst.
- System nach Anspruch 24, wobei der Prozessor weiterhin Logik umfasst, um einen Zustand zu detektieren, in dem das Fehler Status Flag des Prozessors, und ein Flag, welches die Aktivierung der Fehlerbehandlungsroutine anzeigt, beide gesetzt sind.
- System nach Anspruch 25, wobei die Ressource, die von der Fehlerbehandlungsroutine verwendet wird, ein Allzweckregister des Prozessors ist.
- Prozessor nach Anspruch 25, wobei die Fehlerbehandlungsroutine weiterhin eine Systemabbruchausnahme setzen soll, wenn ein Zustand, in dem das Fehlerstatus Flag des Prozessors, und ein Flag, welches die Aktivierung der Fehlerbehandlungsroutine anzeigt, beide gesetzt sind, detektiert wird, und anderenfalls Setzen einer Prozessabbruchausnahme.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/012,979 US7370231B2 (en) | 2004-12-14 | 2004-12-14 | Method of handling errors |
US11/012,979 | 2004-12-14 | ||
PCT/US2005/044770 WO2006065687A1 (en) | 2004-12-14 | 2005-12-09 | Method of handling errors occuring during the execution of an error handler |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112005002975T5 true DE112005002975T5 (de) | 2007-10-31 |
Family
ID=36215712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112005002975T Withdrawn DE112005002975T5 (de) | 2004-12-14 | 2005-12-09 | Verfahren zur Behandlung während der Ausführung einer Fehlerbehandlungsroutine auftretender Fehler |
Country Status (6)
Country | Link |
---|---|
US (1) | US7370231B2 (de) |
JP (1) | JP4866366B2 (de) |
CN (1) | CN100501686C (de) |
DE (1) | DE112005002975T5 (de) |
TW (1) | TWI310495B (de) |
WO (1) | WO2006065687A1 (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7353433B2 (en) * | 2003-12-08 | 2008-04-01 | Intel Corporation | Poisoned error signaling for proactive OS recovery |
US7581152B2 (en) * | 2004-12-22 | 2009-08-25 | Intel Corporation | Fault free store data path for software implementation of redundant multithreading environments |
US20070250755A1 (en) * | 2006-03-29 | 2007-10-25 | Wayne Burleson | Dormant error checker |
US8127277B2 (en) | 2007-05-21 | 2012-02-28 | International Business Machines Corporation | Framework for conditionally executing code in an application using conditions in the framework and in the application |
WO2014142852A1 (en) | 2013-03-13 | 2014-09-18 | Intel Corporation | Vulnerability estimation for cache memory |
US20160110277A1 (en) * | 2014-10-16 | 2016-04-21 | Siemens Aktiengesellshaft | Method for Computer-Aided Analysis of an Automation System |
US11341012B2 (en) * | 2020-05-14 | 2022-05-24 | EMC IP Holding Company LLC | Test platform employing test-independent fault insertion |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4438494A (en) * | 1981-08-25 | 1984-03-20 | Intel Corporation | Apparatus of fault-handling in a multiprocessing system |
EP0473806A1 (de) | 1990-09-03 | 1992-03-11 | International Business Machines Corporation | Vorrichtung und Verfahren zur Fehlererkennung und -isolierung |
US6691250B1 (en) * | 2000-06-29 | 2004-02-10 | Cisco Technology, Inc. | Fault handling process for enabling recovery, diagnosis, and self-testing of computer systems |
DE10135285B4 (de) * | 2001-07-19 | 2005-08-04 | Infineon Technologies Ag | Speichereinrichtung und Verfahren zum Betreiben eines eine Speichereinrichtung enthaltenden Systems |
US6948094B2 (en) * | 2001-09-28 | 2005-09-20 | Intel Corporation | Method of correcting a machine check error |
JP2004021936A (ja) * | 2002-06-20 | 2004-01-22 | Hitachi Ltd | 情報処理装置の障害処理方法および情報処理装置 |
US7555703B2 (en) * | 2004-06-17 | 2009-06-30 | Intel Corporation | Method and apparatus for reducing false error detection in a microprocessor |
US7373558B2 (en) * | 2004-09-23 | 2008-05-13 | Intel Corporation | Vectoring process-kill errors to an application program |
-
2004
- 2004-12-14 US US11/012,979 patent/US7370231B2/en not_active Expired - Fee Related
-
2005
- 2005-12-09 DE DE112005002975T patent/DE112005002975T5/de not_active Withdrawn
- 2005-12-09 JP JP2007545689A patent/JP4866366B2/ja not_active Expired - Fee Related
- 2005-12-09 WO PCT/US2005/044770 patent/WO2006065687A1/en active Application Filing
- 2005-12-09 CN CNB2005800423908A patent/CN100501686C/zh not_active Expired - Fee Related
- 2005-12-13 TW TW094144135A patent/TWI310495B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN101076786A (zh) | 2007-11-21 |
JP4866366B2 (ja) | 2012-02-01 |
WO2006065687A1 (en) | 2006-06-22 |
US20060156153A1 (en) | 2006-07-13 |
TW200634505A (en) | 2006-10-01 |
JP2008523513A (ja) | 2008-07-03 |
US7370231B2 (en) | 2008-05-06 |
TWI310495B (en) | 2009-06-01 |
CN100501686C (zh) | 2009-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7617074B2 (en) | Suppressing repeated events and storing diagnostic information | |
DE102006048115B4 (de) | System und Verfahren zum Aufzeichnen von behebbaren Fehlern | |
DE69801744T2 (de) | Verfahren und system zur fehlerisolierung für pci-busfehler | |
DE102012109614B4 (de) | Verfahren zum Wiederherstellen von Stapelüberlauf- oder Stapelunterlauffehlern in einer Softwareanwendung | |
DE68924223T2 (de) | Mechanismus zum Prüfpunktwiederversuch. | |
DE69026743T2 (de) | Fehlertolerantes Speichersystem | |
DE69219657T2 (de) | Fortsetzung der Aufgabe eines fehlerhaften Prozessors von einem alternativen Prozessor | |
DE102010037457B4 (de) | Verfahren zur Datenverarbeitung zum Bereitstellen eines Wertes zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, Verfahren zur Datenverarbeitung zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, Verfahren zum Erzeugen von Programm-Code, Datenverarbeitungsanordnungen zum Bereitstellen eines Wertes zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, Datenverarbeitungsanordnungen zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, und Datenverarbeitungsanordnungen zum Erzeugen von Programm-Code | |
EP1667022A2 (de) | Vorrichtung und Verfahren zur Behebung von Fehlern bei einem Prozessor mit zwei Ausführungseinheiten | |
EP2901281B1 (de) | Benachrichtigung über adressbereiche mit nicht korrigierbaren fehlern | |
US20080276129A1 (en) | Software tracing | |
DE112017007690T5 (de) | Verfahren und vorrichtungen zur durchführung einer fehlerdetektion und/oder korrektur in einer speichervorrichtung | |
DE102018124628A1 (de) | System, Gerät und Verfahren zum funktionellen Testen eines oder mehrerer Gefüge eines Prozessors | |
DE112005001338T5 (de) | Verfahren und Vorrichtung zur Reduzierung falscher Fehlererkennung in einem Mikroprozessor | |
DE112005002975T5 (de) | Verfahren zur Behandlung während der Ausführung einer Fehlerbehandlungsroutine auftretender Fehler | |
JP5623557B2 (ja) | 診断データを収集するためのマルチスレッド化コンピューティング環境における方法、装置、およびコンピュータ・プログラム | |
US8489938B2 (en) | Diagnostic data capture in a computing environment | |
DE69029164T2 (de) | Vorrichtung und Verfahren zum Ersetzen der Parität | |
DE102006035610A1 (de) | Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung | |
DE102023201815A1 (de) | Verfahren zum Testen eines Computerprogramms | |
DE102006004168A1 (de) | Überprüfung eines Adressdecoders | |
DE102014114157A1 (de) | Verfahren zur Datenverarbeitung zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist und Datenverarbeitungsanordnungen zum Erzeugen von Programm-Code | |
CN115473784B (zh) | 一种确定无效告警的方法及装置 | |
DE102023202348A1 (de) | Verfahren zum Testen eines Computerprogramms | |
DE102018123921A1 (de) | Techniken zum Verhindern von Speicherkorruption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R016 | Response to examination communication | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |