DE10340410A1 - Processor system e.g. for personal computer (PC), has operation of main processor monitored and drive of processor system stabilized - Google Patents

Processor system e.g. for personal computer (PC), has operation of main processor monitored and drive of processor system stabilized Download PDF

Info

Publication number
DE10340410A1
DE10340410A1 DE2003140410 DE10340410A DE10340410A1 DE 10340410 A1 DE10340410 A1 DE 10340410A1 DE 2003140410 DE2003140410 DE 2003140410 DE 10340410 A DE10340410 A DE 10340410A DE 10340410 A1 DE10340410 A1 DE 10340410A1
Authority
DE
Germany
Prior art keywords
processor
main processor
instability
main
memory
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.)
Granted
Application number
DE2003140410
Other languages
German (de)
Other versions
DE10340410B4 (en
Inventor
Bernhard Lippmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2003140410 priority Critical patent/DE10340410B4/en
Publication of DE10340410A1 publication Critical patent/DE10340410A1/en
Application granted granted Critical
Publication of DE10340410B4 publication Critical patent/DE10340410B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Abstract

A processor system has a main processor (100), a working store (102) assigned to the main processor, an auxiliary processor (104) which works independently of the main processor, and a device (108) for accessing the working store or for analyzing operating instability of the main processor. Independent claims are also included for the following: (A) A method for stabilizing operation of a main processor.(B) A computer program with program code.

Description

Die vorliegende Erfindung bezieht sich auf ein Prozessorsystem und insbesondere auf ein Prozessorsystem, in dem ein Betrieb eines Hauptprozessors überwacht wird sowie auf ein Verfahren zum Stabilisieren eines Betriebes eines Prozessorsystems.The The present invention relates to a processor system, and more particularly to a processor system in which monitors a main processor operation As well as a method for stabilizing an operation of a Processor system.

Prozessorsysteme wie beispielsweise PCs weisen eine Hardwareschicht auf. Auf der Hardwareschicht setzt eine Betriebssystemschicht auf, die die Ausführung von Anwenderprogrammen auf der Hardware ermöglicht. Bei der Ausführung der Anwenderprogramme können Fehlfunktionen auftreten, die je nach Stabilität des Betriebssystemkernels häufiger oder eher seltener zu Abstürzen des Betriebssystems führen. Jedem Benutzer von Microsoft Windows Betriebssystemen sind Bluescreens und Messageboxen mit der Meldung „Zugriffsverletzung an Adresse 0x54e2FF..." hinlänglich bekannt. Ursache für System- oder Softwareabstürze sind in der Regel unvorhergesehene Timingprobleme oder unvorhergesehene Zustände der verschiedenen Hardwarekomponenten.processor systems such as PCs have a hardware layer. On the Hardware layer sets up an operating system layer, which is the execution of User programs on the hardware. In the execution of the User programs can Malfunctions will occur depending on the stability of the operating system kernel frequently or rather less likely to crash of the operating system. Every user of Microsoft Windows operating systems has blue screens and message boxes with the message "Access Violation to Address 0x54e2FF ... "well known. Cause for System or software crashes are usually unforeseen timing issues or unforeseen ones conditions the different hardware components.

In Betriebssystemen wird versucht einen Fehlerfall abzufangen. Auf einem herkömmlicher Motherboard mit einem Systemprozessor fällt eine Analyse einer Fehlerursache im Fehlerfall nur sehr vage aus. Einfache Fehler wie zu wenig freier Arbeitsspeicher, zu geringe Kapazität einer Festplatte bis hin zu einem im Taskmanager angezeigten Status eines Programmes können von herkömmlichen Betriebssystemen verwaltet werden. Jedoch ist es dem Betriebssystem häufig nicht möglich abzufragen und zu analysieren warum ein Treiber oder ein Programm keine Rückmeldung an das Betriebssystem zurückgibt oder warum ein Programm abgestürzt ist. Es ist auch oft nicht klar, ob ein Fehler nur lokal beim Programm auftrat oder ob weitere Ressourcen in den Fehler verwickelt sind. Tritt ein Fehler bei der Abarbeitung eines Programmes auf, kann primär keine System-Komponente als Fehlerursache ausgeschlossen werden.In Operating systems will try to intercept an error. On a conventional one Motherboard with a system processor drops an analysis of a cause of failure in case of error only very vague. Simple mistakes like too little freer Memory, too low capacity of a hard drive up to to a status of a program displayed in the task manager can from usual Operating systems are managed. However, it is the operating system often not possible to query and analyze why a driver or a program does not feedback returns to the operating system or why a program crashed is. It is also often not clear if an error is only local to the program occurred or whether other resources are involved in the error. If an error occurs during the execution of a program, can primary no system component can be excluded as the cause of the error.

In stabilen Betriebssystemen kann eine Anwendung ausreichend gegenüber den Betriebssystemressourcen abgeschirmt werden und ein Neustart des Programmes ist ausreichend für eine Fehlerbeseitigung. Die Daten des Benutzers, der das Programm ausgeführt hat sind jedoch in der Regel verloren. Ein weiterer Nachteil von Prozessorsystemen gemäß dem Stand der Technik liegt darin, daß das Betriebssystem oder das Programm nicht erkennen kann warum es abgestürzt ist und der Fehlerfall beim nächsten Programmstart somit nicht gezielt umgangen werden kann.In stable operating systems can be enough for the application OS resources are shielded and restart the Program is sufficient for a bug fix. The data of the user of the program accomplished however, they are usually lost. Another disadvantage of Processor systems according to the state The technique is that the operating system or the program can not detect why it crashed and the error case the next Program start thus can not be specifically bypassed.

Es ist die Aufgabe der vorliegenden Erfindung ein stabil arbeitendes Prozessorsystem, das kostengünstig eine Fehleranalyse und Fehlerbehebung ermöglicht, sowie ein Verfahren zum Stabilisieren eines Betriebes eines Prozessorsystems zu schaffen.It the object of the present invention is a stable working Processor system that is cost-effective allows error analysis and troubleshooting, as well as a procedure to stabilize an operation of a processor system.

Diese Aufgabe wird durch ein Prozessorsystem gemäß Anspruch 1, ein Verfahren gemäß Anspruch 9 sowie ein Computerprogramm gemäß Anspruch 10 gelöst.These The object is achieved by a processor system according to claim 1, a method according to claim 9 and a computer program according to claim 10 solved.

Der Erfindung liegt die Erkenntnis zugrunde, daß sich ein autark bezüglich eines Hauptprozessors ausgebildeter Nebenprozessor oder eine Einrichtung zum Zugriff auf den Arbeitsspeicher oder zum Analysieren einer Instabilität eines Betriebes des Hauptprozessors vorteilhaft verwenden lassen, um den Betrieb eines Prozessorsystems zu stabilisieren.Of the The invention is based on the finding that a self-sufficient with respect to a Main processor trained secondary processor or means for Accessing Memory or Analyzing Instability of a Memory Operation of the main processor can be used to advantage Operation of a processor system to stabilize.

Gemäß der vorliegenden Erfindung weist ein Prozessorsystem neben einem Hauptprozessor und einem dem Hauptprozessor zugeordneten Arbeitsspeicher, einen Nebenprozessor und/oder eine einer Einrichtung zum Zugriff auf den Arbeitsspeicher oder zum Analysieren einer Instabilität eines Betriebes des Haupt prozessors im Falle einer Instabilität des Betriebes des Hauptprozessors auf.According to the present The invention includes a processor system in addition to a main processor and a the main processor associated memory, a slave processor and / or one of a device for accessing the working memory or for analyzing instability of operation of the main processor in case of instability the operation of the main processor.

Gemäß einem bevorzugten Ausführungsbeispiel wird ein TPM-Baustein als Nebenprozessor genutzt, um als eine zweite physikalische vom Hauptprozessor unabhängige Instanz über eine korrekte Programmausführung zu wachen und im Alarmfall eine geeignete Aktion zu einer Stabilisierung der Programmabarbeitung zu starten.According to one preferred embodiment becomes a TPM building block used as a slave processor to act as a second physical of the Main processor independent Instance over a correct program execution to watch and in case of alarm a suitable action to stabilize to start the program execution.

Im Rahmen der Trusted Computing Platform Alliance (TCPA; TCPA = Trusted Computing Platform Alliance) werden moderne PCs mit TPM – Bausteinen (TPM; TPM = Trusted Platform Modul) ausgestattet; http://www.heise.de/newsticker/data/anw-04.12.02-005/. Ein TPM-Baustein ist ein Nebenprozessor, der üblicherweise über einen Chipsatz mit dem Hauptprozessor verbunden ist. Üblicherweise weist ein TPM-Baustein neben einer Verschlüsselungsfunktionalität, einen Controller sowie eine Sensorik zum Überwachen von Betriebsparametern auf. Zusammen mit einem speziellen Betriebssystem wie Palladium http://yro.slashdot.org/yro/02/09/10/1514236.shtml?tid=118, sowie speziellen Anwendungsprogrammen ermöglicht der TPM-Baustein eine Überprüfung der Hardware und der Software des Prozessorsystems, eine Absicherung der von dem Prozessorsystem verarbeiteten Daten sowie eine Absicherung des Prozessorsystems nach außen. Da gegenwärtig kein Betriebssystem sowie keine Anwendungsprogramme verfügbar sind, die den TPM-Baustein unterstützen, ist der TPM-Baustein gegenwärtig deaktiviert.Within the framework of the Trusted Computing Platform Alliance (TCPA), modern PCs are equipped with TPM (TPM = Trusted Platform Module) modules; http://www.heise.de/newsticker/data/anw-04.12.02-005/. A TPM device is a slave processor that is typically connected to the main processor via a chipset. Usually, a TPM module, in addition to an encryption functionality, a controller and a sensor for monitoring operating parameters. Together with a special operating system such as Palladium http://yro.slashdot.org/yro/02/09/10/1514236.shtml?tid=118, as well as special application programs, the TPM module enables a review of the hardware and software of the processor system , Securing the processed by the processor system data and a hedge of the processor system to the outside. There are currently no operating system or application programs available that support the TPM device, the TPM device is currently disabled.

Ein besonderer Vorteil der Verwendung eines TPM-Bausteines als Nebenprozessor liegt darin, daß der TPM-Baustein aufgrund seiner Spezifikation bereits alle notwendigen Merkmale aufweist, die zur Stabilisierung eines Prozessorsystemes erforderlich sind. Ein weiterer wesentlicher Vorteil liegt darin, daß der TPM-Baustein in heutigen Prozessorsysten, wie PCs bereits vorhanden ist, jedoch nicht genutzt wird. Eine Aktivie rung des TPM-Bausteines zur Stabilisierung des Prozessorsystemes bringt auf diese Weise einen Mehrwert für das Prozessorsystem ohne zusätzliche Kosten zu verursachen.One particular advantage of using a TPM device as a secondary processor lies in the fact that the TPM module already has all the necessary ones due to its specification Features that help stabilize a processor system required are. Another key advantage is that the TPM building block in today's Prozessorsysten, like PCs already existing is, but not used. An activation of the TPM module to stabilize the processor system brings in this way Added value for the processor system without additional To cause costs.

Ein weiterer Vorteil besteht darin, daß der TPM-Baustein in einem Fehlerfall eine Fehleranalyse bzw. eine Datensicherung durchführen kann obwohl der Hauptprozessor aufgrund einer Instabilität bereits keine Analyse bzw. Sicherungsfunktionen mehr ausführen kann.One Another advantage is that the TPM module in one Error case can perform an error analysis or a backup although the main processor is not already due to instability Analysis or backup functions can perform more.

Gemäß einem weiteren Ausführungsbeispiel weist das Prozessorsystem zusätzliche Sensoren auf, die den Hardwarezustand des Prozessorsystems erfassen und die gewonnenen Daten an den Nebenprozessor liefern. Dadurch können durch Hardwarefehler hervorgerufene Systemabstürze vermieden werden bzw. sicher erkannt werden.According to one further embodiment the processor system additional Sensors that detect the hardware state of the processor system and deliver the data obtained to the slave processor. Thereby can System crashes caused by hardware errors are avoided or secure be recognized.

Gemäß einem weiteren Ausführungsbeispiel weist ein auf dem Prozessorsystem ausgeführtes Anwendungsprogramm eine Funktionalität auf, die es ermöglicht, nach einem durch den Nebenprozessor erkannten fehlerhaften Programmablauf, den Programmablauf so zu ändern, daß der Fehler bei zukünftigen Ausführungen des Programmes vermieden wird.According to one further embodiment an application program executed on the processor system functionality on that makes it possible after a faulty program sequence detected by the secondary processor, to change the program flow so that the Mistakes in future versions of the program is avoided.

Der erfindungsgemäße Ansatz bietet ferner den Vorteil, daß ein instabiler Zustand des Hauptprozessors, hervorgerufen durch einen nicht-spezifizierten softwaremäßige oder hardwaremäßigen Zustand, so rechtzeitig erkannt werden kann, daß ein Systemabsturz vermieden wird bzw. zumindest die Daten eines Anwendungsprogrammes rechtzeitig gesichert werden können.Of the inventive approach offers the further advantage that a unstable state of the main processor, caused by a non-specified software or software hardware state, can be detected in time to avoid a system crash or at least the data of an application program is secured on time can be.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend anhand der beiliegenden Zeichnungen näher erläutert. Es zeigen:preferred embodiments The present invention will be described below with reference to the accompanying Drawings closer explained. Show it:

1 ein Blockschaltbild eines Prozessorsystems gemäß der vorliegenden Erfindung; 1 a block diagram of a processor system according to the present invention;

2 ein Blockschaltbild eines bevorzugten Ausführungsbeispieles eines Prozessorsystems gemäß der vorliegenden Erfindung; und 2 a block diagram of a preferred embodiment of a processor system according to the present invention; and

3 einen Ablauf eines Anwendungsprogramms auf einem Prozessorsystem gemäß der vorliegenden Erfindung. 3 a flow of an application program on a processor system according to the present invention.

1 zeigt ein Blockschaltbild eines Prozessorsystems gemäß der vorliegenden Erfindung. Das Prozessorsystem weist einen Hauptprozessor 100, einen Arbeitsspeicher 102 und einen Nebenprozessor 104 auf. Der Hauptprozessor 100 und der Nebenprozessor 104 sind über einen Bus 106 mit dem Arbeitsspeicher 102 verbunden. Der Nebenprozessor weist eine Einrichtung 108 zum Zugriff auf den Arbeitsspeicher oder zum Analysieren einer Instabilität eines Betriebes des Hauptprozessors auf. 1 shows a block diagram of a processor system according to the present invention. The processor system has a main processor 100 , a working memory 102 and a slave processor 104 on. The main processor 100 and the slave processor 104 are over a bus 106 with the working memory 102 connected. The secondary processor has a device 108 for accessing the working memory or for analyzing instability of operation of the main processor.

Die Einrichtung 108 ist ausgebildet, um den Betrieb des Hauptprozessors 100 zu überwachen. Auf dem Hauptprozessor 100 werden Anwendungsprogramme ausgeführt. Der Betrieb des Hauptprozessors kann durch softwaremäßige oder durch hardwaremäßige Fehlfunktionen gestört werden. Eine solche Fehlfunktion kann eine Instabilität des Hauptprozessors 100 hervorrufen, die dann von der Einrichtung 108 erkannt wird. Die vom Hauptprozessor 100 unabhängige Einrichtung 108 ist in der Lage, die Ursache des instabilen Betriebes des Hauptprozessors 100 zu analysieren.The device 108 is designed to handle the operation of the main processor 100 to monitor. On the main processor 100 Application programs are executed. The operation of the main processor may be disturbed by software or hardware malfunctions. Such a malfunction can cause instability of the main processor 100 which then come from the institution 108 is recognized. The from the main processor 100 independent facility 108 is capable of the cause of the unstable operation of the main processor 100 analyze.

Instabilitäten die durch eine fehlerhafte Ausführung eines Anwendungsprogrammes hervorgerufen sind, können analysiert werden, indem die Einrichtung 108 Informationen aus dem Arbeitsspeicher 102 ausliest, die von dem Anwendungsprogramm oder einem Betriebssystem, das für die Ausführung des Anwendungsprogrammes verantwortlich ist, im Arbeitsspeicher 102 abgelegt wurden. Die Einrichtung 108 ist ferner ausgebildet, um im Arbeitsspeicher abgelegte Daten eines Benutzers zu sichern, wenn eine Instabilität des Betriebes des Hauptprozes sors 100 auftritt. Ist ein Neustart eines Anwendungsprogrammes aufgrund einer Instabilität des Hauptprozessors 100 erforderlich, so können Benutzerdaten ferner von der Einrichtung 108 an eine Stelle des Arbeitsspeichers 102 kopiert werden, auf die das Anwendungsprogramm nach dem Neustart zugreifen kann. Ist ein Neustart des Prozessorsystems erforderlich, so ist es vorteilhaft, daß die Einrichtung 108 die Benutzerdaten von dem zumeist flüchtigen Arbeitsspeicher 102 in einen nicht-flüchtigen Arbeitsspeicher (nicht gezeigt) kopiert. Nach dem Neustart des Prozessorsystems kann auf diese Daten zugegriffen werden.Instabilities caused by an erroneous execution of an application program can be analyzed by the device 108 Information from the working memory 102 reads in memory from the application program or an operating system responsible for running the application program 102 were filed. The device 108 is further adapted to save data stored in the working memory of a user when instability of the operation of the Hauptprozes sors 100 occurs. Is a restart of an application program due to instability of the main processor 100 required, so user data may also be from the facility 108 to a place of main memory 102 which the application program can access after rebooting. If a restart of the processor system is required, it is advantageous that the device 108 the user data from the mostly volatile memory 102 copied to non-volatile memory (not shown). After rebooting the processor system, this data can be accessed.

2 zeigt ein weiteres bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung in Form eines Prozessorsystems, gemäß den Spezifikationen der Trusted Computing Platform Alliance. Gezeigt ist ein Blockschaltbild eines Prozessorsystems, das eine Hardwareschicht 200, eine Betriebssystemschicht 202 und eine Anwendungsprogrammschicht 204 aufweist. 2 shows another preferred embodiment of the present invention in the form of a processor system, according to the specifications of the Trusted Computing Platform Alliance. Shown is a block diagram of a processor system, which is a hardware layer 200 , an operating system layer 202 and an application program layer 204 having.

Die Hardwareschicht 200 weist einen Hauptprozessor 210, einen Trusted Platform Modul (TPM) – Baustein 212 und eine Mehrzahl an Peripheriegeräten 214 auf. Peripheriegeräte 214 sind unter anderen PCI- oder Graphik-Einheiten oder auch Arbeitsspeicher und Festplatten. Der TPM-Baustein 212 weist eine Einrichtung 216, 218 zum Zugriff auf den Arbeitsspeicher oder zum Analysieren einer Instabilität eines Betriebes des Hauptprozessors in Form eines Software Transaction Servers 216 und eines Software Recovery Servers 218 auf. Der Hauptprozessor 210, der TPM-Baustein 212 sowie die Peripheriegeräte 214 sind miteinander gekoppelt.The hardware layer 200 has a main processor 210 , a Trusted Platform Module (TPM) building block 212 and a plurality of peripherals 214 on. peripherals 214 are among other PCI or graphics units or even memory and hard disks. The TPM device 212 has a facility 216 . 218 to access the working memory or to analyze an instability of an operation of the main processor in the form of a software transaction server 216 and a software recovery server 218 on. The main processor 210 , the TPM building block 212 as well as the peripherals 214 are coupled with each other.

In der Anwendungsprogrammschicht 204 ist ein Anwendungsprogramm 220 gezeigt. Um die, von dem TPM-Baustein 212 bereitgestellten Funktionalitäten zu nutzen, ist das Anwendungsprogramm 220, in Form einer „Palladium Enhanced Application", um einen „Trusted Agent" 222 erweitert. Der Trusted Agent 222 ist ein zusätzlicher Programmteil des Anwendungsprogrammes 220, der eine Nutzung der Funktionen des TPM-Baustein 212 ermöglicht.In the application program layer 204 is an application program 220 shown. To that, from the TPM building block 212 to use provided functionalities is the application program 220 , in the form of a "Palladium Enhanced Application", to be a "Trusted Agent" 222 extended. The trusted agent 222 is an additional program part of the application program 220 who is taking advantage of the features of the TPM building block 212 allows.

Gemäß dem vorliegenden Ausführungsbeispiel weist das Anwendungsprogramm 220 zwei zusätzliche Programmteile in Form eines Software Transaction Client 224 und eines Software Recovery Client 226 auf.According to the present embodiment, the application program 220 two additional program parts in the form of a Software Transaction Client 224 and a software recovery client 226 on.

Eine Ausführung des Anwendungsprogrammes 220 auf dem Hauptprozessor 210 wird durch das Betriebssystem 202 gesteuert. Das Betriebssystem steuert ebenfalls eine Ausführung des Trusted Agent 222. Dazu weist das Betriebssystem 202 eine Einrichtung, in diesem Ausführungsbeispiel einen Nexus (nicht gezeigt) auf, der Trusted Agents 222 unterschiedlicher Anwendungsprogramme 220 isoliert, eine Datenkommunikation von und zu dem Trusted Agent 222 steuert sowie eine Verschlüsselung von in dem Prozessorsystem gespeicherten Daten geeährleistet. Der Trusted Agent 222 wird nicht auf dem Hauptprozessor 210 sondern auf dem TPM-Baustein 212 ausgeführt. Der Trusted Agent 222 ermöglicht zusammen mit dem Betriebssystem 202 und dem TPM-Baustein 212 eine sichere Ausführung des Anwendungsprogrammes 220. Dabei werden Verschlüsselungs- und Authentifizierungs-Verfahren, die im TPM-Baustein 212 enthalten sind, genutzt.An execution of the application program 220 on the main processor 210 is through the operating system 202 controlled. The operating system also controls execution of the trusted agent 222 , This is indicated by the operating system 202 means, in this embodiment a nexus (not shown), the Trusted Agents 222 different application programs 220 isolated, a data communication from and to the trusted agent 222 controls and ensures encryption of data stored in the processor system. The trusted agent 222 will not be on the main processor 210 but on the TPM device 212 executed. The trusted agent 222 allows along with the operating system 202 and the TPM device 212 a safe execution of the application program 220 , In the process, encryption and authentication methods are used in the TPM module 212 are used.

In dem in 2 gezeigten Prozessorsystem können unterschiedliche Fehler 230, 232, 234 auftreten. In der Anwendungsprogrammschicht 204 treten Anwendungsprogrammfehler 230 auf, in der Betriebssystemschicht 202 treten Betriebssystemfehler 232 und in der Hardwareschicht 200 treten Hardwarefehler 234 sowie Fehler in den Peripheriegeräten 214 auf.In the in 2 shown processor system may have different errors 230 . 232 . 234 occur. In the application program layer 204 occur application program error 230 on, in the operating system layer 202 operating system errors occur 232 and in the hardware layer 200 occur hardware error 234 as well as errors in the peripherals 214 on.

Anwendungsprogrammfehler 230 sowie Fehler in den Peripheriegeräten 214 werden an das Betriebssystem weitergeleitet. Häufig verursachen Anwendungsprogrammfehler 230 sowie Fehler in den Peripheriegeräten 214 eine Instabilität des Betriebes des Hauptprozessors 210. Eine solche Instabilität kann dadurch hervorgerufen werden, daß sich der Hauptprozessor 210 in einer Endlosschleife befindet. In einem solchen Fall ist es dem Betriebssystem nicht mehr möglich, eine Fehlerursache, eine Fehlerbehebung und eine Sicherung von Anwendungsdaten durchzuführen. Diese Funktionalität wird erfindungsgemäß von den Einrichtungen 216, 218 übernommen.Application Error 230 as well as errors in the peripherals 214 are forwarded to the operating system. Often cause application errors 230 as well as errors in the peripherals 214 an instability of the operation of the main processor 210 , Such instability can be caused by the fact that the main processor 210 in an endless loop. In such a case, the operating system is no longer able to troubleshoot, troubleshoot, and backup application data. This functionality is inventively by the facilities 216 . 218 accepted.

Der Software Transaction Server 216 ist ausgebildet, um einen korrekten Ablauf des Anwendungsprogrammes 220 zu überwachen. Dazu ist der Software Transaction Server 216 mit dem Software Transaction Client 224 gekoppelt. Der Software Recovery Server ist ausgebildet, um beim Auftreten eines Fehlers, der eine Instabilität des Betriebes des Hauptprozessors 210 hervorruft, den Fehler zu analysieren und geeignete Maßnahmen zu ergreifen, um den Betrieb des Hauptprozessors 210 wieder zu stabilisieren, die Fehlerursache zu analysieren und einen Datenverlust zu verhindern. Dazu ist der Software Recovery Server 218 mit dem Software Recovery Client 226 gekoppelt.The software transaction server 216 is designed to ensure correct operation of the application program 220 to monitor. This is the software Transaction Server 216 with the software transaction client 224 coupled. The Software Recovery Server is trained to respond to the occurrence of a failure, which causes instability of operation of the main processor 210 causes the error to be analyzed and appropriate action taken to control the operation of the main processor 210 stabilize again, analyze the cause of the error and prevent data loss. This is the Software Recovery Server 218 with the software recovery client 226 coupled.

Der TPM-Baustein 212 mit dem Software Transaction Server 216 und dem Software Recovery Server 218 stellt neben dem Hauptprozessor 210 eine zweite unabhängige physikalische Instanz dar, die den Zustand und den Programmablauf des Anwendungsprogrammes 220 mit verfolgt. Bei standardmäßigen Softwarefehlern ermöglicht diese zweite Instanz eine genaue Analyse eines Softwarefehlers und einer eventuell dadurch hervorgerufenen Absturzursache des Anwendungsprogrammes 220, des Betriebssystems 208 oder des Prozessorsystems. Nach einer Analyse der Absturzursache kann eine Lernroutine in den Software Transaction Server 216, das Betriebssystem oder den Software Transaction Client 224 implementiert werden, die die erkannte Fehlerursache bei einer nachfolgenden Ausführung des Anwendungsprogrammes umgeht. Dazu kann eine andere Abarbeitungssequenz gewählt werden.The TPM device 212 with the software Transaction Server 216 and the Software Recovery Server 218 puts next to the main processor 210 a second independent physical entity representing the state and program flow of the application program 220 followed with. For standard software failures, this second instance allows for a thorough analysis of a software error and possibly the cause of the application program's crash 220 , the operating system 208 or the processor system. After analyzing the cause of the crash, a learning routine in the Software Transaction Server 216 , the operating system or the software transaction client 224 be implemented, which bypasses the detected error cause in a subsequent execution of the application program. For this purpose, another execution sequence can be selected.

Zusätzlich können unter Verwendung des TPM-Baustein 212 auch Hardwarefehler, Vcc Schwankungen, Takt- oder Signalschwankun gen über die in dem TPM-Baustein 212 eingebaute Sensorik erkannt und ausgewertet werden. Solche, sich außerhalb einer Spezifikation befindlichen Hardwarezustände können durch den Software Transaction Client 224 in eine Ablaufsteuerung des Anwendungsprogrammes 220 eingebracht werden. Bei kurzzeitigen Fehlerzuständen, wie beispielsweise einer kurzzeitigen Spannungsschwankung, wird der Ablauf des Anwendungsprogrammes 220 im Idealfall so beeinflußt, daß es zu keinem Programmabsturz kommt und der Benutzer den kurzzeitigen Fehlerzustand nicht bemerkt. Bei schwerwiegenderen Fehlerzuständen, die einen weiteren Betrieb des Hauptprozessors 210 verhindern, ist der TPM-Baustein 212 häufig noch betriebsbereit und kann Benutzerdaten, die in einem flüchtigen Arbeitsspeicher vorhanden sind auf einen nicht-flüchtigen Arbeitsspeicher kopieren und die Fehlerursache analysieren und ein ausführliches Fehlerprotokoll erstellen, das eine nachfolgende Reparatur des Prozessorsystems ermöglicht. Je mehr Hardware-Positionen auf einem Motherboard oder auf einer Schnittstellenkarte mit einer solchen Funktionsüberwachung ausgestattet sind, desto genauer kann die Analyse eines durch einen Hardware-Fehler hervorgerufenen Prozessorsystemfehler ausfallen.Additionally, using the TPM device 212 also hardware errors, Vcc fluctuations, clock or Signalschwankun gene over in the TPM block 212 built-in sensors are detected and evaluated. Such, out of spec hardware States can be controlled by the software transaction client 224 in a flow control of the application program 220 be introduced. For short-term fault conditions, such as a brief voltage fluctuation, the sequence of the application program 220 Ideally influenced so that there is no crash and the user does not notice the short-term fault condition. For more serious error conditions, the further operation of the main processor 210 prevent is the TPM building block 212 often still operational, and can copy user data resident in volatile memory to non-volatile memory and analyze the cause of the error, and create a verbose error log that allows for subsequent repair of the processor system. The more hardware locations on a motherboard or interface card have such functionality monitoring, the more accurate the analysis of a processor system error caused by a hardware failure.

Auf diese Weise kann auch analysiert werden, ob ein Fehler nur lokal bei einem Anwendungsprogramm auftritt oder ob weitere Ressourcen in den Fehler verwickelt sind. Bevorzugterweise werden dazu alle relevanten Prozessorsysteminformationen 240 erfaßt und an den Software Transaction Server 216 und den Software Recovery Server 218 im TPM-Baustein 212 übermittelt.In this way, it can also be analyzed whether an error occurs only locally in an application program or if further resources are involved in the error. Preferably, all relevant processor system information is provided 240 and to the Software Transaction Server 216 and the Software Recovery Server 218 in the TPM block 212 transmitted.

3 zeigt ein Verfahren zum Stabilisieren eines Anwendungsprogrammablaufs 300. Beim Start des Anwendungsprogrammes 300 wird von dem in 2 gezeigten Trusted Agent ein Überwachungsprogramm in Form eines Software Transaction Client gestartet 310. Das Überwachungsprogramm wird auf dem Software Transaction Server im TPM-Baustein nebenläufig zu dem Anwendungsprogramm 300 ausgeführt. Tritt während der Programmaus führung ein Fehler auf, so kann im Idealfall eine Fehleridentifizierungsnummer ausgegeben werden 312. Die Fehleridentifizierungsnummer ist jedoch üblicherweise nicht sehr aussagekräftig und eine weitere Fehleranalyse durch das Anwendungsprogramm oder das Betriebssystem ist nicht möglich. Da das auf dem TPM-Baustein ablaufende Überwachungsprogramm von dem Ausfall des Anwendungsprogrammes 300 und eine eventuell dadurch verursachte Instabilität des Hauptprozessors nicht betroffen ist, kann es den Fehler im Anwendungsprogramm 300 erkennen und seine Ursache analysieren. 3 shows a method for stabilizing an application program flow 300 , At the start of the application program 300 is from the in 2 Trusted Agent has started a monitoring program in the form of a Software Transaction Client 310 , The monitoring program becomes the application program on the Software Transaction Server in the TPM block 300 executed. If an error occurs during program execution, then ideally an error identification number can be output 312 , However, the error identification number is usually not very meaningful and further error analysis by the application program or the operating system is not possible. Since the monitoring program running on the TPM block depends on the failure of the application program 300 and any resulting instability of the main processor is not affected, it may be the error in the application program 300 recognize and analyze its cause.

Das Überwachungsprogramm wird beendet 314, indem entweder das Anwendungsprogramm 300 ordnungsgemäß vom Anwender beendet wird oder im Fehlerfall, der eine ordnungsgemäße Beendigung nicht ermöglicht, nach einer Fehleranalyse und einer Sicherung der Benutzerdaten.The monitoring program is terminated 314 by either the application program 300 is terminated properly by the user or in case of an error that does not allow a proper termination, after an error analysis and a backup of the user data.

Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren zum Stabilisieren eines Programmablaufes in Hardware oder in Software implementiert werden. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, daß das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.Depending on the circumstances, the inventive method for stabilizing a program sequence implemented in hardware or in software become. The implementation can be done on a digital storage medium, in particular a floppy disk or CD with electronically readable Control signals are made that way with a programmable computer system can cooperate, that the corresponding Procedure executed becomes. Generally, the invention thus also consists in a computer program product with a program code stored on a machine-readable carrier to carry out of the method according to the invention, if the computer program product runs on a computer. In other words The invention can thus be used as a computer program with a program code for execution the process can be realized when the computer program is up a computer expires.

100100
Hauptprozessormain processor
102102
Arbeitsspeicherrandom access memory
104104
NebenprozessorIn addition to processor
106106
Busbus
108108
Einrichtung zum Zugriff auf den Arbeitsspeicher oder zumFacility for accessing the main memory or the
Analysieren einer InstabilitätAnalyze an instability
200200
Hardware-SchichtHardware layer
202202
Betriebssystem-SchichtOperating system layer
204204
Anwendungsprogramm-SchichtApplication layer
210210
Hauptprozessormain processor
212212
Trusted Platform ModulTrusted Platform module
214214
Peripheriegeräteperipherals
216216
Software Transaction Serversoftware Transaction Server
218218
Software Recovery Serversoftware Recovery Server
220220
Anwendungsprogrammapplication program
222222
Trusted AgentTrusted agent
224224
Software Transaction Clientsoftware Transaction client
226226
Software Recovery Clientsoftware Recovery Client
230230
Fehler im Anwendungsprogrammerror in the application program
232232
Fehler im Betriebssystemerror in the operating system
234234
Fehler in der Hardwareerror in the hardware
240240
ProzessorsysteminformationenProcessor System Information
300300
Anwendungsprogrammapplication program
310310
Start ÜberwachungsprogrammStart monitoring program
312312
Ausgabe Fehler IDoutput Error ID
314314
Beendigung ÜberwachungsprogrammTermination monitoring program

Claims (10)

Prozessorsystem mit folgenden Merkmalen: einem Hauptprozessor (100; 210); einem Arbeitsspeicher (102), der dem Hauptprozessor zugeordnet ist; einem Nebenprozessor (104; 212), der autark bezüglich des Hauptprozessors ausgebildet ist; und einer Einrichtung (108; 216, 218) zum Zugriff auf den Arbeitsspeicher oder zum Analysieren einer Instabilität eines Betriebes des Hauptprozessors, im Falle einer Instabilität des Betriebes des Hauptprozessors.Processor system comprising: a main processor ( 100 ; 210 ); a memory ( 102 ) associated with the main processor; a secondary processor ( 104 ; 212 ), who are self-sufficient is formed Lich of the main processor; and a facility ( 108 ; 216 . 218 ) for accessing the working memory or for analyzing instability of operation of the main processor in case of instability of the operation of the main processor. Prozessorsystem gemäß Anspruch 1, wobei die Einrichtung (108; 216, 218) zum Zugriff auf den Arbeitsspeicher oder zum Analysieren einer Instabilität ausgebildet ist, um ansprechend auf eine Instabilität des Betriebes des Hauptprozessors (100; 210), auf den Arbeitsspeicher (102) zuzugreifen, um Benutzerdaten zu sichern und Informationen (240) über eine Ursache eines instabilen Zustandes zu erhalten.Processor system according to claim 1, wherein the device ( 108 ; 216 . 218 ) is adapted to access the random access memory or to analyze an instability so as to be responsive to instability of the operation of the main processor ( 100 ; 210 ), to the main memory ( 102 ) to secure user data and information ( 240 ) about a cause of an unstable state. Prozessorsystem gemäß einem der Ansprüche 1 oder 2, die ferner folgendes Merkmal aufweist: eine Einrichtung zum Ändern des Betriebes des Hauptprozessors, so daß ein stabiler Betrieb des Hauptprozessors gewährleistet wird, ansprechend auf eine Instabilität, wobei die Einrichtung zum Ändern ausgebildet ist, um auf der Basis von Analyseergebnissen über die Instabilität zu arbeiten.Processor system according to one of claims 1 or 2, further comprising: An institution to change the operation of the main processor, so that a stable operation of the main processor guaranteed is responsive to instability, wherein the means for changing is formed is to work on instability based on analysis results. Prozessorsystem gemäß einem der Ansprüche 1 bis 3, das eine Einrichtung zum Aktivieren (222) aufweist, die mit dem Nebenprozessor (212) gekoppelt und ausgebildet ist, um anspre chend auf eine Ausführung eines Programmes (220) auf dem Hauptprozessor (210) den Nebenprozessor und die Einrichtung zum Zugriff auf den Arbeitsspeicher oder zum Analysieren einer Instabilität in einen Überwachungszustand zu versetzen.Processor system according to one of claims 1 to 3, comprising means for activating ( 222 ) with the secondary processor ( 212 ) and is designed to be responsive to execution of a program ( 220 ) on the main processor ( 210 ) to put the slave processor and the memory accessor or instability analyzer in a monitor state. Prozessorsystem gemäß einem der Ansprüche 1 bis 4, das eine Mehrzahl von Sensoren zum Erfassen von Hardware-Zustandsinformationen aufweist, und bei der ferner eine Sensorikeinrichtung aufweist, die zum Auswerten der von den Sensoren erfaßten Informationen ausgebildet ist.Processor system according to one of claims 1 to 4, which includes a plurality of sensors for detecting hardware state information and in which further comprises a sensor device, formed for evaluating the information detected by the sensors is. Prozessorsystem gemäß einem der Ansprüche 1 bis 5, wobei das Prozessorsystem den Spezifikationen der Trusted Computing Platform Alliance entspricht.Processor system according to one of claims 1 to 5, the processor system to the specifications of Trusted Computing Platform Alliance complies. Prozessorsystem gemäß einem der Ansprüche 1 bis 6, wobei der Nebenprozessor ein Trusted Platform Modul ist.Processor system according to one of claims 1 to 6, where the slave processor is a trusted platform module. Prozessorsystem gemäß einem der Ansprüche 1 bis 7, bei dem der Nebenprozessor (104; 212) die Einrichtung (108; 216, 218) zum Zugriff auf den Arbeitsspeicher oder zum Analysieren einer Instabilität eines Betriebes des Hauptprozessors aufweist.Processor system according to one of Claims 1 to 7, in which the secondary processor ( 104 ; 212 ) the facility ( 108 ; 216 . 218 ) for accessing the working memory or for analyzing instability of operation of the main processor. Verfahren zum Stabilisieren eines Betriebes eines Hauptprozessors in einem Prozessorsystem, das einen Hauptprozessor, einen dem Hauptprozessor zugeordnet Arbeitsspeicher, einen Nebenprozessor, der autark bezüglich des Hauptprozessors ausgebildet ist, und eine Einrichtung zum Zugriff auf den Arbeitsspeicher oder zum Analysieren einer Stabilität eines Betriebes des Hauptprozessors, im Falle einer Instabilität des Betriebes des Hauptprozessors aufweist, mit folgenden Schritten: a) Erkennen einer Instabilität des Betriebes des Hauptprozessors; und b) Zugreifen auf den Arbeitsspeicher oder Analysieren der Instabilität eines Betriebes des Hauptprozessors durch die Einrichtung zum Zugriff auf den Arbeitsspeicher oder zum Analysieren einer Instabilität eines Betriebes des Hauptprozessors.Method for stabilizing an operation of a Main processor in a processor system that has a main processor, a memory allocated to the main processor, a secondary processor, the self-sufficient concerning is formed of the main processor, and means for access to memory or to analyze a stability of a Operation of the main processor, in case of instability of operation of the main processor, with the following steps: a) Recognize an instability the operation of the main processor; and b) accessing the Memory or analyzing the instability of operation of the main processor through the device for accessing the main memory or the Analyzing an instability of a Operation of the main processor. Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens gemäß Anspruch 9, wenn das Computer-Programm auf einem Computer abläuft.Computer program with a program code to carry out the Process according to claim 9, when the computer program runs on a computer.
DE2003140410 2003-09-02 2003-09-02 Processor system for stabilizing operation of a processor system Expired - Fee Related DE10340410B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003140410 DE10340410B4 (en) 2003-09-02 2003-09-02 Processor system for stabilizing operation of a processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003140410 DE10340410B4 (en) 2003-09-02 2003-09-02 Processor system for stabilizing operation of a processor system

Publications (2)

Publication Number Publication Date
DE10340410A1 true DE10340410A1 (en) 2005-03-31
DE10340410B4 DE10340410B4 (en) 2005-09-08

Family

ID=34223274

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003140410 Expired - Fee Related DE10340410B4 (en) 2003-09-02 2003-09-02 Processor system for stabilizing operation of a processor system

Country Status (1)

Country Link
DE (1) DE10340410B4 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023022819A1 (en) * 2021-08-19 2023-02-23 Microsoft Technology Licensing, Llc Systems and methods to flush data in persistent memory region to non-volatile memory using auxiliary processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790777A (en) * 1995-04-27 1998-08-04 Mitsubishi Denki Kabushiki Kaisha Computer system analysis device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790777A (en) * 1995-04-27 1998-08-04 Mitsubishi Denki Kabushiki Kaisha Computer system analysis device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Cisco IOS Software Releases 11.2-GPR Redundant Processor Support, Cisco Systems, S. 1-4 (http://www.cisco.com/en/US/products/sw/iosswrel/p s1824/products_feature_guide09186a00800a17ca.html) eingestellt in www.archive.org. am 13.02.03
Cisco IOS Software Releases 11.2-GPR Redundant Processor Support, Cisco Systems, S. 1-4 (http://www.cisco.com/en/US/products/sw/iosswrel/ps1824/products_feature_guide09186a00800a17ca.html)eingestellt in www.archive.org. am 13.02.03 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023022819A1 (en) * 2021-08-19 2023-02-23 Microsoft Technology Licensing, Llc Systems and methods to flush data in persistent memory region to non-volatile memory using auxiliary processor

Also Published As

Publication number Publication date
DE10340410B4 (en) 2005-09-08

Similar Documents

Publication Publication Date Title
DE19747396C2 (en) Method and arrangement for creating a remote diagnosis for an electronic system via a network
DE69906995T2 (en) ACCELERATION ERROR RECOVERY
DE69919632T2 (en) Fault tolerance through N-modular software redundancy using indirect instrumentation
DE102018113625A1 (en) ERROR INJECTION TESTING DEVICE AND METHOD
DE102006048115B4 (en) System and method for recording recoverable errors
DE60019038T2 (en) Intelligent error management
DE102012109614B4 (en) Procedure for recovering from stack overflow or stack underflow errors in a software application
EP3274825A1 (en) Method and execution environment for the secure execution of program instructions
EP0522332B1 (en) Computer for controlling a machine, especially a printing press
DE19781620B4 (en) Bus patcher
DE102007033346A1 (en) Method and device for administration of computers
DE19835609C2 (en) Program controlled unit
DE102008013033A1 (en) Failsafe Computer Support Assistant
DE102012100738A1 (en) Method for configuring a BIOS in a computer system and computer program product
EP2056201A2 (en) Method, computing system and computer program product
DE69815006T2 (en) Data processing unit with troubleshooting options
EP1262856A2 (en) Program controlled storage device
DE10340411B4 (en) Device and method for the safe execution of a program
DE60008872T2 (en) METHOD AND DEVICE FOR AUTOMATIC REINTEGRATION OF A MODULE IN A COMPUTER SYSTEM
EP3566398B1 (en) Method and semiconductor circuit for protecting an operating system of a security system of a vehicle
DE10340410A1 (en) Processor system e.g. for personal computer (PC), has operation of main processor monitored and drive of processor system stabilized
DE19946959B4 (en) Method for loading data for basic system routines
DE19908866C1 (en) Software system transfer method has hardware parameters of configuration data for software system specific to first hardware platform replaced by hardware parameters specific to second hardware platform
DE102005008952A1 (en) Arrangement and method for replacing program data of a control unit
WO2021170316A1 (en) Analysis of a container instance of an operating system

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee