[go: up one dir, main page]

DE102023210817A1 - Method for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit - Google Patents

Method for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit Download PDF

Info

Publication number
DE102023210817A1
DE102023210817A1 DE102023210817.8A DE102023210817A DE102023210817A1 DE 102023210817 A1 DE102023210817 A1 DE 102023210817A1 DE 102023210817 A DE102023210817 A DE 102023210817A DE 102023210817 A1 DE102023210817 A1 DE 102023210817A1
Authority
DE
Germany
Prior art keywords
event information
buffer memory
event
computing unit
stored
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.)
Pending
Application number
DE102023210817.8A
Other languages
German (de)
Inventor
Thomas Roland Finke
Manuel Weiand
Michael Gonschorek
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102023210817.8A priority Critical patent/DE102023210817A1/en
Publication of DE102023210817A1 publication Critical patent/DE102023210817A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection

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)

Abstract

Die Erfindung betrifft ein Verfahren zum Speichern einer Ereignisinformation bezüglich eines Ereignisses, insbesondere eines Hardware- und/oder Software-Fehlers und/oder eines Reset-Ereignisses, einer Recheneinheit (10) und/oder einer weiteren Recheneinheit in ein zumindest einen Pufferspeicher (16) aufweisendes Speichersystem (12) der Recheneinheit (10), mit folgenden Schritten:
- Einlesen einer in dem Pufferspeicher (16) zu speichernden Ereignisinformation bezüglich eines Ereignisses der Recheneinheit (10) und/oder der weiteren Recheneinheit, wobei die eingelesene Ereignisinformation eine Ursache für das Ereignis umfasst;
- Ermitteln einer Anzahl von in dem Pufferspeicher (16) gespeicherten Ereignisinformationen, welche dieselbe Ursache für das jeweilige Ereignis aufweisen wie die eingelesene Ereignisinformation, wobei
◯ die älteste Ereignisinformation mit derselben Ursache aus dem Pufferspeicher (16) gelöscht wird, wenn die ermittelte Anzahl größer oder gleich einem definierten Schwellenwert ist, ansonsten
◯ die älteste Ereignisinformation aus dem Pufferspeicher (16) gelöscht wird; und
- Speichern der eingelesenen Ereignisinformation in dem Pufferspeicher (16).

Figure DE102023210817A1_0000
The invention relates to a method for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit (10) and/or another computing unit in a memory system (12) of the computing unit (10) having at least one buffer memory (16), comprising the following steps:
- reading in event information to be stored in the buffer memory (16) relating to an event of the computing unit (10) and/or the further computing unit, wherein the read-in event information comprises a cause for the event;
- Determining a number of event information stored in the buffer memory (16) which have the same cause for the respective event as the read-in event information, wherein
◯ the oldest event information with the same cause is deleted from the buffer memory (16) if the determined number is greater than or equal to a defined threshold value, otherwise
◯ the oldest event information is deleted from the buffer memory (16); and
- Storing the read event information in the buffer memory (16).
Figure DE102023210817A1_0000

Description

Die Erfindung betrifft ein Verfahren zum Speichern einer Ereignisinformation bezüglich eines Ereignisses, insbesondere eines Hardware- und/oder Software-Fehlers und/oder eines Reset-Ereignisses, einer Recheneinheit und/oder einer weiteren Recheneinheit in ein zumindest einen Pufferspeicher aufweisendes Speichersystem der Recheneinheit, ferner eine Recheneinheit sowie ein entsprechendes Computerprogramm und ein Speichermedium.The invention relates to a method for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit and/or a further computing unit in a memory system of the computing unit having at least one buffer memory, furthermore a computing unit and a corresponding computer program and a storage medium.

Stand der TechnikState of the art

In Systemen, welche aus einem Mikrocontroller und/oder Mikroprozessor bestehen, können zur Laufzeit sogenannte Resets (Neustarts) auftreten, welche einen Neustart des Systems verursachen. Diese Resets können sehr unterschiedliche Gründe haben, so kann z. B. das Einschalten der Versorgungsspannung einen „Power-on Reset“ auslösen, eine Software-Funktion kann einen Software-Reset auslösen, ein Hardwarefehler im Mikrocontroller/Mikroprozessor kann einen Reset auslösen, etc.In systems consisting of a microcontroller and/or microprocessor, so-called resets (restarts) can occur during runtime, causing the system to restart. These resets can have very different causes; for example, switching on the supply voltage can trigger a "power-on reset," a software function can trigger a software reset, a hardware error in the microcontroller/microprocessor can trigger a reset, etc.

Da durch diese, teilweise ungewollten Neustarts die Verfügbarkeit der Anwendung negativ beeinflusst wird, besteht ein Interesse in der Erkennung und dem Loggen dieser Ereignisse. Hierfür ist es Stand der Technik eine Art von Reset-Buffer zu implementieren, aus welchem man die Liste der zuletzt aufgetretenen Resets auslesen kann.Since these, sometimes unintentional, restarts negatively impact application availability, there is an interest in detecting and logging these events. For this purpose, it is state of the art to implement a type of reset buffer from which the list of most recently occurred resets can be read.

Das Auslesen dieser Reset-Ereignisse kann bei Fehleranalysen im Feld und auch bei einer Rückläuferanalyse sehr hilfreiche Informationen zum Problem eines Gerätes liefern.Reading these reset events can provide very helpful information about a device's problem during error analysis in the field and also during return analysis.

Ein großes Problem in eingebetteten Systemen (englisch: „embedded systems“) ist jedoch, dass diese typischerweise nur eine sehr begrenzte Menge an verfügbarem Speicherplatz aufweisen, um solche Ereignisse abzulegen. Aus diesem Grund ist meist eine Abwägung zwischen den zu speichernden Daten und dem verfügbaren Speicherplatz notwendig. Dies führt unter anderem dazu, dass ein Reset-Buffer typischerweise nur eine bestimmte Anzahl an Ereignissen abspeichern kann und dann beim Eintreffen weiterer Ereignisse das jeweils älteste Ereignis im Buffer überschreibt.However, a major problem in embedded systems is that they typically have only a very limited amount of available memory to store such events. Therefore, a trade-off between the data to be stored and the available memory is often necessary. This leads, among other things, to a reset buffer typically only being able to store a certain number of events and then overwriting the oldest event in the buffer as new events arrive.

Mit dieser Methode hat man zwar den Speicherverbrauch im Griff, allerdings werden alte Reset-Ereignisse einfach verworfen. Dies ist akzeptabel, wenn immer derselbe Reset-Grund auftritt. Das Verwerfen der alten Reset-Ereignisse kann aber von Nachteil sein, wenn durch das Auftreten neuer Resets ältere Ereignisse im Buffer gelöscht werden und anschließend keinerlei Hinweis mehr besteht, dass dieser bestimmte (gelöschte) Reset auch irgendwann mal aufgetreten war.While this method keeps memory usage under control, old reset events are simply discarded. This is acceptable if the same reset reason occurs every time. However, discarding old reset events can be disadvantageous if the occurrence of new resets deletes older events from the buffer, leaving no trace that the specific (deleted) reset ever occurred.

Aus der US 2009/0222700 A1 ist ein Verfahren zur Erfassung eines Geräte-Reset-Verlaufs eines Netzwerkkommunikationsgeräts bekannt, wobei der Reset eine hardware- oder softwareseitige Ursache aufweist.From the US 2009/0222700 A1 A method for detecting a device reset history of a network communication device is known, wherein the reset has a hardware or software cause.

Offenbarung der ErfindungDisclosure of the invention

Gemäß einem ersten Aspekt ist Gegenstand der vorliegenden Erfindung ein, insbesondere computerimplementiertes, Verfahren zum Speichern einer Ereignisinformation bezüglich eines Ereignisses, insbesondere eines Hardware- und/oder Software-Fehlers und/oder eines Reset-Ereignisses, einer Recheneinheit und/oder der weiteren Recheneinheit in ein zumindest einen Pufferspeicher aufweisendes Speichersystem der Recheneinheit gemäß dem Anspruch 1.According to a first aspect, the subject matter of the present invention is a method, in particular a computer-implemented method, for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit and/or the further computing unit in a memory system of the computing unit having at least one buffer memory according to claim 1.

Gemäß einem zweiten Aspekt ist Gegenstand der vorliegenden Erfindung eine Recheneinheit gemäß dem Anspruch 10.According to a second aspect, the present invention relates to a computing unit according to claim 10.

Gemäß einem weiteren Aspekt sind Gegenstand der vorliegenden Erfindung ein Computerprogramm und ein maschinenlesbares Speichermedium.According to a further aspect, the present invention relates to a computer program and a machine-readable storage medium.

Unter einem Ereignis der Recheneinheit kann im Rahmen der vorliegenden Anmeldung ein Ereignis bzw. ein Event verstanden werden, welches eine Software und/oder eine Hardware der Recheneinheit und/oder der weiteren Recheneinheit betrifft. Hierbei können für dasselbe Ereignis zumindest zwei unterschiedliche Ursachen bzw. Gründen vorliegen. Das heißt, es besteht ein Interesse daran, nicht nur eine Häufigkeit der Ereignisse, sondern auch die dem jeweiligen Ereignis zu Grunde liegende Ursache bzw. dessen Grund zu loggen und auszulesen bzw. zu ermitteln.In the context of this application, an event of the computing unit can be understood as an event that affects the software and/or hardware of the computing unit and/or the additional computing unit. At least two different causes or reasons can exist for the same event. This means that there is an interest in logging, reading, or determining not only the frequency of events, but also the underlying cause or reason for the respective event.

Das Ereignis ist bevorzugt ein Reset-Ereignis bzw. ein Neustart-Ereignis, wobei der Reset bzw. der Neustart ein Reset eines Software- und/oder eines Hardwaremoduls der und/oder der weiteren Recheneinheit umfassen kann. Denkbar ist auch, dass das Ereignis ein Fehlerereignis der und/oder der weiteren Recheneinheit ist. Hierbei kann das Fehlerereignis einen Fehler eines Software- und/oder eines Hardwaremoduls der Recheneinheit umfassen. Denkbar ist weiter, dass das Ereignis ein weiteres Ereignis der und/oder der weiteren Recheneinheit betrifft.The event is preferably a reset event or a restart event, wherein the reset or restart may comprise a reset of a software and/or hardware module of the and/or the further computing unit. It is also conceivable that the event is an error event of the and/or the further computing unit. In this case, the error event may comprise an error of a software and/or hardware module of the computing unit. It is further conceivable that the event relates to another event of the and/or the further computing unit.

Die Ursache bzw. der Grund des Ereignisses charakterisiert einen Auslöser des Ereignisses. Bspw. kann ein Reset-Ereignis durch ein Software- und/oder ein Hardwaremodul der und/oder der weiteren Recheneinheit verursacht werden. Denkbar ist, dass ein Reset-Ereignis durch ein Aktivieren oder Unterbrechen einer Versorgungsspannung der Recheneinheit verursacht bzw. ausgelöst wird.The cause or reason of the event characterizes a trigger of the event. For example, a reset event can be triggered by a software and/or a hardware module of the and/or the additional computing unit. It is conceivable that a reset event is caused or triggered by activating or interrupting a supply voltage of the computing unit.

Die Ereignisinformation kann das Ereignis umfassen, repräsentieren oder indizieren. Bspw. kann die Ereignisinformation als digitales Signal ausgebildet sein, welche das Ereignis umfasst, repräsentiert oder indiziert.The event information may include, represent, or indicate the event. For example, the event information may be embodied as a digital signal that includes, represents, or indicates the event.

Die Recheneinheit umfasst einen oder mehrere Mikrocontroller und/oder einen oder mehrere Mikroprozessoren. Weiter umfasst die Recheneinheit ein Speichersystem mit zumindest einem Pufferspeicher. Zusätzlich kann das Speichersystem ein oder mehrere weitere Speichereinheiten, bspw. einen Hauptspeicher, umfassen.The computing unit comprises one or more microcontrollers and/or one or more microprocessors. Furthermore, the computing unit comprises a memory system with at least one buffer memory. Additionally, the memory system may comprise one or more additional memory units, e.g., a main memory.

Unter einem Pufferspeicher bzw. einem Buffer kann im Rahmen der vorliegenden Anmeldung eine bevorzugt nichtflüchtige Speichereinheit des Speichersystems verstanden werden, welche ausgebildet bzw. eingerichtet ist, Daten, insbesondere Ereignisinformationen bezüglich Ereignissen der und/oder der weiteren Recheneinheit, temporär zu speichern bzw. zwischenzuspeichern. In the context of the present application, a buffer memory or a buffer can be understood as a preferably non-volatile memory unit of the memory system, which is designed or configured to temporarily store or buffer data, in particular event information relating to events of the and/or the further computing unit.

Hierzu weist der Pufferspeicher eine definierte Speichergröße auf. Insbesondere ist der Pufferspeicher ausgebildet, eine definierte Anzahl von Ereignisinformationen bzw. Einträgen zu speichern.For this purpose, the buffer memory has a defined memory size. In particular, the buffer memory is designed to store a defined number of event information items or entries.

Die den Pufferspeicher umfassende Recheneinheit ist bevorzugt als eine Steuereinheit bzw. ein Steuergerät ausgebildet. Insbesondere kann die Recheneinheit als ein eingebettetes System (englisch: „embedded system“) ausgebildet sein, bspw. als eingebettetes Steuergerät. Die Recheneinheit kann bspw. zum Steuern eines Fahrzeugs, eine Smart-Home-Geräts, einer Handwerkzeugmaschine, eines Haushaltsgeräts, eines Smartphones etc. ausgebildet sein.The computing unit comprising the buffer memory is preferably designed as a control unit or a control device. In particular, the computing unit can be designed as an embedded system, for example, as an embedded control device. The computing unit can be designed, for example, to control a vehicle, a smart home device, a handheld power tool, a household appliance, a smartphone, etc.

Das Verfahren umfasst einen Schritt des Einlesens einer in dem Pufferspeicher zu speichernden Ereignisinformation bezüglich eines Ereignisses der Recheneinheit und/oder der weiteren Recheneinheit. Hierbei umfasst die eingelesene Ereignisinformation eine Ursache für das Ereignis. Das Einlesen einer Ereignisinformation, insbesondere mittels einer Hardware- und/oder Softwareschnittstelle der Recheneinheit, kann ein Empfangen der Ereignisinformation und/oder ein Auslesen der Ereignisinformation aus einem, insbesondere temporären, Speichermedium umfassen. Dem Schritt des Einlesens der Ereignisinformation kann ein Schritt des Erfassens der Ereignisinformation vorausgehen, um die Ereignisinformation bspw. der Recheneinheit zum Speichern in dem Pufferspeicher bereitzustellen.The method comprises a step of reading in event information relating to an event of the computing unit and/or the further computing unit, to be stored in the buffer memory. The read-in event information comprises a cause of the event. Reading in event information, in particular by means of a hardware and/or software interface of the computing unit, can comprise receiving the event information and/or reading the event information from a storage medium, in particular a temporary storage medium. The step of reading in the event information can be preceded by a step of capturing the event information in order to provide the event information, for example, to the computing unit for storage in the buffer memory.

Das Verfahren umfasst weiter einen Schritt des Ermittelns einer Anzahl von in dem Pufferspeicher gespeicherten Ereignisinformationen, welche dieselbe Ursache für das jeweilige Ereignis aufweisen wie die eingelesene Ereignisinformation. Wenn bzw. falls bzw. genau in dem Fall, in dem die ermittelte Anzahl größer oder gleich einem definierten Schwellenwert ist, wird die älteste Ereignisinformation mit derselben Ursache aus dem Pufferspeicher gelöscht. Wenn bzw. falls bzw. genau in dem Fall, in dem die ermittelte Anzahl kleiner als der definierte Schwellenwert ist, wird die älteste Ereignisinformation aus dem Pufferspeicher gelöscht. Hierbei ist die älteste Ereignisinformation die älteste in dem Pufferspeicher gespeicherte Ereignisinformation, welche unabhängig von der von der Ereignisinformation umfassten Ursache gelöscht wird.The method further comprises a step of determining a number of event information items stored in the buffer memory which have the same cause for the respective event as the read-in event information. If, when, or precisely in the case in which the determined number is greater than or equal to a defined threshold value, the oldest event information item with the same cause is deleted from the buffer memory. If, when, when, or precisely in the case in which the determined number is less than the defined threshold value, the oldest event information item is deleted from the buffer memory. The oldest event information item is the oldest event information item stored in the buffer memory, which is deleted regardless of the cause encompassed by the event information item.

Das heißt, mit anderen Worten, das Verfahren umfasst einen Schritt des Löschens einer Ereignisinformation aus dem Pufferspeicher in Abhängigkeit der ermittelten Anzahl und einem definierten Schwellenwert, insbesondere des Löschens der älteste Ereignisinformation mit derselben Ursache aus dem Pufferspeicher, wenn bzw. falls bzw. genau in dem Fall, in dem die ermittelte Anzahl größer oder gleich einem definierten Schwellenwert ist, ansonsten des Löschens der ältesten Ereignisinformation aus dem Pufferspeicher.In other words, the method comprises a step of deleting event information from the buffer memory as a function of the determined number and a defined threshold value, in particular deleting the oldest event information with the same cause from the buffer memory if or when or exactly in the case in which the determined number is greater than or equal to a defined threshold value, otherwise deleting the oldest event information from the buffer memory.

Denkbar ist, dass der definierte Schwellenwert für alle Ursachen von Ereignissen der Recheneinheit denselben Wert aufweist. Denkbar ist auch, dass der definierte Schwellenwert für unterschiedliche Ursachen von Ereignissen der Recheneinheit unterschiedliche Werte aufweist. Das heißt, mit anderen Worten, der definierte Schwellenwert kann ein ursachenspezifischer Schwellenwert sein. Insbesondere kann der Schwellenwert in einem Bereich größer oder gleich 1 und kleiner oder gleich 20, bevorzugt größer oder gleich 1 und kleiner oder gleich 10 vorgegeben oder vorgebbar sein.It is conceivable that the defined threshold value has the same value for all causes of events in the computing unit. It is also conceivable that the defined threshold value has different values for different causes of events in the computing unit. In other words, the defined threshold value can be a cause-specific threshold value. In particular, the threshold value can be specified or specifiable in a range greater than or equal to 1 and less than or equal to 20, preferably greater than or equal to 1 and less than or equal to 10.

Das Verfahren umfasst ferner einen Schritt des Speicherns der eingelesenen Ereignisinformation in dem Pufferspeicher. Das heißt, mit anderen Worten die eingelesene Ereignisinformation wird in den Pufferspeicher geschrieben bzw. abgelegt.The method further comprises a step of storing the read-in event information in the buffer memory. In other words, the read-in event information is written or stored in the buffer memory.

Das vorgestellte Verfahren wird bevorzugt während eines Betriebs der Recheneinheit ausgeführt. Bspw. wird das Verfahren in der beschriebenen Abfolge von Verfahrensschritten wiederholt nacheinander ausgeführt, bevorzugt stets dann, wenn ein Ereignis der Recheneinheit auftritt bzw. eintritt.The proposed method is preferably executed during operation of the computing unit. For example, the method is executed repeatedly in the described sequence of process steps, preferably whenever an event of the computing unit occurs.

Das erfindungsgemäße Verfahren und die erfindungsgemäßen Vorrichtungen ermöglichen, dass auch selten auftretende Ursachen bzw. Gründe für Ereignisse der Recheneinheit in dem Pufferspeicher gespeichert bleiben. Insbesondere ist sichergestellt, dass eine zumindest einmal in dem Pufferspeicher gespeicherte Ursache für ein Ereignis nicht durch andere, häufiger auftretende Ursachen überschrieben wird. Vielmehr bleibt für jede aufgetretene Ursache zumindest die jeweils jüngste Ereignisinformation in dem Pufferspeicher gespeichert. Das heißt, mit anderen Worten, nicht jede in dem Pufferspeicher gespeicherte Ereignisinformation bleibt dauerhaft verfügbar, jedoch ist sichergestellt, dass von jeder Ursache mindestens eine vorgegebene Anzahl an Ereignisinformationen verfügbar bleibt und von anderen Ursachen nicht überschrieben werden kann. Dadurch kann die Diagnose bzw. Analyse von Ursachen von Ereignissen einer Recheneinheit, insbesondere von Gründen für Reset-Ereignisse der Recheneinheit, erheblich verbessert werden.The method and the devices according to the invention enable even rarely occurring causes or reasons for events in the computing unit to remain stored in the buffer memory. In particular, it is ensured that a cause for an event stored at least once in the buffer memory is not overwritten by other, more frequently occurring causes. Rather, for each cause that has occurred, at least the most recent event information remains stored in the buffer memory. In other words, not every piece of event information stored in the buffer memory remains permanently available; however, it is ensured that at least a predetermined number of event information items remain available for each cause and cannot be overwritten by other causes. This can significantly improve the diagnosis or analysis of causes of events in a computing unit, in particular reasons for reset events in the computing unit.

Mit dem vorgeschlagenen Ansatz entfällt die Notwendigkeit, die eingelesenen Ereignisinformationen vor dem Speichern zu filtern, bspw. hinsichtlich bewusst herbeigeführter und ungewollter Ereignisse, um die bewusst herbeigeführten Reset-Ereignisse überhaupt nicht zu speichern. Der für die vorgeschlagene Lösung erforderliche Speicherplatz kann hierbei durch eine Anpassung an die Anzahl der auftretenden Ursachen und die Wahl des Schwellenwerts optimiert werden, sodass auch bei eingebetteten Systemen mit geringem Speicherplatz alle aufgetretenen Ursachen von Ereignissen zuverlässig gespeichert und analysiert werden können. Dabei kann der Speicherbedarf des Pufferspeichers statisch verwaltet werden, das heißt, es ist keine dynamische Speicherallokation nötig. Vielmehr ist der für den Pufferspeicher benötigte Speicherplatz exakt vorhersagbar, was insbesondere für eingebettete Systeme vorteilhaft ist.The proposed approach eliminates the need to filter the read event information before saving it, for example, with regard to deliberately induced and unintentional events, in order to avoid saving deliberately induced reset events at all. The storage space required for the proposed solution can be optimized by adapting it to the number of occurring causes and the choice of threshold value, so that all occurring causes of events can be reliably stored and analyzed, even in embedded systems with limited storage space. The memory requirements of the buffer memory can be managed statically, meaning no dynamic memory allocation is necessary. Rather, the memory required for the buffer memory can be precisely predicted, which is particularly advantageous for embedded systems.

Vorteilhaft ist es, wenn die eingelesene Ereignisinformation aus einem weiteren Pufferspeicher des Speichersystems eingelesen wird, wobei die eingelesene Ereignisinformation eine, insbesondere die älteste, in dem weiteren Pufferspeicher gespeicherte Ereignisinformation ist. Denkbar ist auch, dass die eingelesene Ereignisinformation die zweiälteste oder drittälteste etc. in dem weiteren Pufferspeicher gespeicherte Ereignisinformation ist. Gemäß dieser Ausführungsform umfasst das Speichersystem der Recheneinheit den Pufferspeicher und den weiteren Pufferspeicher. Das Speichersystem kann also als ein zumindest zweistufiges System von Pufferspeichern verstanden werden. Hierbei ist eine in dem Pufferspeicher zu speichernde bzw. gespeicherte Ereignisinformation eine zuvor in dem weiteren Pufferspeicher gespeicherte Ereignisinformation. Somit kann der weitere Pufferspeicher als erster Pufferspeicher bzw. als eine erste Speicherstufe des Speichersystems und der Pufferspeicher als zweiter Pufferspeicher bzw. als eine zweite Speicherstufe des Speichersystems verstanden werden.It is advantageous if the read-in event information is read from a further buffer memory of the storage system, wherein the read-in event information is one, in particular the oldest, item of event information stored in the further buffer memory. It is also conceivable for the read-in event information to be the second oldest or third oldest, etc., item of event information stored in the further buffer memory. According to this embodiment, the memory system of the computing unit comprises the buffer memory and the further buffer memory. The memory system can therefore be understood as an at least two-stage system of buffer memories. In this case, an item of event information to be stored or stored in the buffer memory is event information previously stored in the further buffer memory. Thus, the further buffer memory can be understood as the first buffer memory or as a first storage stage of the storage system, and the buffer memory can be understood as the second buffer memory or as a second storage stage of the storage system.

Bevorzugt ist der weitere Pufferspeicher als FIFO-Pufferspeicher bzw. FIFO-Buffer (englisch: „First In First Out“) ausgebildet. Das heißt, mit anderen Worten, der FIFO-Pufferspeicher ist ausgebildet, die gespeicherten Daten, insbesondere die gespeicherten Ereignisinformationen, chronologisch zu speichern bzw. abzulegen. Hierbei ist der FIFO-Pufferspeicher ausgebildet, stets die älteste Ereignisinformation zu löschen, wenn in dem weiteren Pufferspeicher kein Speicherplatz zum Speichern einer zu speichernden Ereignisinformation mehr verfügbar ist. Durch diese Ausgestaltung werden zumindest die N jüngsten Ereignisinformationen unabhängig von der Ursache des jeweiligen Ereignisses chronologisch korrekt gespeichert, wobei N die Anzahl der in dem weiteren Pufferspeicher speicherbaren Ereignisinformationen repräsentiert. Dadurch sind die N zuletzt aufgetretenen Ereignisse und deren Ursache jederzeit auslesbar.Preferably, the additional buffer memory is configured as a FIFO buffer memory or FIFO buffer (English: "First In First Out"). In other words, the FIFO buffer memory is configured to store or save the stored data, in particular the stored event information, chronologically. The FIFO buffer memory is configured to always delete the oldest event information when there is no more storage space available in the additional buffer memory for storing the event information to be stored. This configuration ensures that at least the N most recent event information items are stored chronologically correctly, regardless of the cause of the respective event, where N represents the number of event information items that can be stored in the additional buffer memory. As a result, the N most recently occurred events and their cause can be read out at any time.

Vorteilhaft ist es hierbei, wenn dem Schritt des Ermittelns der Anzahl ein Schritt des Einlesens einer in dem weiteren Pufferspeicher zu speichernden weiteren Ereignisinformation bezüglich eines weiteren Ereignisses der Recheneinheit und/oder der weiteren Recheneinheit vorausgeht, wobei die weitere Ereignisinformation eine Ursache für das weitere Ereignis umfasst, und

  • - dem Schritt des Speicherns der eingelesenen Ereignisinformation in dem Pufferspeicher ein Schritt des Löschens der, insbesondere ältesten, in dem weiteren Pufferspeicher gespeicherten Ereignisinformation und ein Schritt des Speicherns der eingelesenen weiteren Ereignisinformation in dem weiteren Pufferspeicher nachfolgen.
It is advantageous here if the step of determining the number is preceded by a step of reading in further event information to be stored in the further buffer memory relating to a further event of the computing unit and/or the further computing unit, wherein the further event information comprises a cause for the further event, and
  • - the step of storing the read-in event information in the buffer memory is followed by a step of deleting the, in particular the oldest, event information stored in the further buffer memory and a step of storing the read-in further event information in the further buffer memory.

Hierbei ist die aus dem weiteren Pufferspeicher gelöschte Ereignisinformation die in den Pufferspeicher gespeicherte Ereignisinformation. Insbesondere kann der Schritt des Ermittelns der Anzahl ansprechend bzw. in Reaktion auf das Einlesen der in dem weiteren Pufferspeicher zu speichernden weiteren Ereignisinformation erfolgen. Das heißt, mit anderen Worten, das Verfahren umfasst einen Schritt des Verschiebens der ältesten Ereignisinformation aus dem weiteren Pufferspeicher in den Pufferspeicher, um in dem weiteren Pufferspeicher Speicherplatzplatz für zu die speichernde weitere Ereignisinformation verfügbar zu machen. Durch diese Ausgestaltung können der Pufferspeicher und der weitere Pufferspeicher zusammen zur Speicherung von Ereignisinformationen verwendet werden, wobei die Ereignisinformationen unabhängig von der Ursache der jeweiligen Ereignisse zunächst chronologisch in dem weiteren Pufferspeicher gespeichert und erst dann in den Pufferspeicher verschoben werden, wenn in dem weiteren Pufferspeicher kein Speicherplatz zum Speichern einer weiteren Ereignisinformation verfügbar ist.Here, the event information deleted from the further buffer memory is the event information stored in the buffer memory. In particular, the step of determining the number can be carried out in response to the reading of the further event information to be stored in the further buffer memory. In other words, the method comprises a step of moving the oldest event information from the further buffer memory into the buffer memory in order to make storage space available in the further buffer memory for the further event information to be stored. Through this embodiment, the buffer memory and the further buffer memory can be used together to store event information, wherein the event information, regardless of the cause of the respective events, is initially stored chronologically in the additional buffer memory and only moved to the buffer memory when there is no storage space available in the additional buffer memory to store further event information.

Vorteilhaft ist es auch, wenn der und/oder der weiteren Ereignisinformation ein Datensatz zugeordnet ist, wobei der Datensatz beim Auftreten des und/oder des weiteren Ereignisses vorliegende Daten und/oder ergänzende Informationen bezüglich der Ursache für das bzw. das weitere Ereignis umfasst und zusammen mit der und/oder der weiteren Ereignisinformation in dem jeweiligen Pufferspeicher gespeichert wird.It is also advantageous if a data record is assigned to the and/or the further event information, wherein the data record comprises data present at the time of occurrence of the and/or the further event and/or additional information regarding the cause of the or the further event and is stored together with the and/or the further event information in the respective buffer memory.

Die beim Auftreten bzw. zum Zeitpunkt des Auftretens des und/oder des weiteren Ereignisses vorliegenden Daten können Daten der Recheneinheit und/oder einer die Recheneinheit umfassenden Vorrichtung, bspw. eines Fahrzeugs, sein. Die Daten können als Umgebungsdaten ausgebildet sein. Bspw. können die Daten ein oder mehrere Elemente umfassen, welche ausgewählt sind aus der Gruppe: Datum, Uhrzeit, Kilometerstand eines die Recheneinheit umfassenden Fahrzeugs, ein Wert einer Versorgungsspannung der Recheneinheit, eine Uptime der Recheneinheit, ein Power Cycle Counter, ein genereller bzw. allgemeiner Ereigniszähler und/oder ein spezifischer bzw. ursachenindividueller Ereigniszähler (ein eigener Zähler pro Ursache für das Ereignis, der beim Auftreten des Ereignisses um eins erhöht wird). Hierbei kann unter einem Power Cycle Counter ein Zähler verstanden werden, welche eine Anzahl von Powerzyklen der Recheneinheit repräsentiert. Da kann die Anzahl sein, wie oft das Steuergerät eingeschaltet und gelaufen ist oder auch z.B. die Anzahl der Aktivierungen einer Zündung eines die Recheneinheit umfassenden Fahrzeugs.The data available at the occurrence or time of the occurrence of the and/or further event can be data from the computing unit and/or a device comprising the computing unit, e.g., a vehicle. The data can be in the form of environmental data. For example, the data can comprise one or more elements selected from the group: date, time, mileage of a vehicle comprising the computing unit, a supply voltage value of the computing unit, an uptime of the computing unit, a power cycle counter, a general or generic event counter, and/or a specific or cause-specific event counter (a separate counter for each cause of the event, which is incremented by one when the event occurs). A power cycle counter can be understood as a counter that represents the number of power cycles of the computing unit. This can be the number of times the control unit has been switched on and run, or, for example, the number of times an ignition has been activated in a vehicle comprising the computing unit.

Die ergänzenden Informationen bezüglich der Ursache für das bzw. das weitere Ereignis können Informationen umfassen, welche die Ursache näher spezifizieren bzw. detaillieren. Denkbar ist, dass nur für eine oder mehrere einer Vielzahl von Ursachen für die Ereignisse ergänzende Informationen bezüglich der Ursache vorliegen bzw. bereitgestellt werden können.The additional information regarding the cause of the event(s) may include information that further specifies or details the cause. It is conceivable that additional information regarding the cause is available or can be provided only for one or more of a multitude of causes for the events.

Die Daten und/oder die ergänzenden Informationen können von einer weiteren Einheit der Recheneinheit, bspw. einem Register eines Mikrocontrollers der Recheneinheit, und/oder einer Einheit einer die Recheneinheit umfassenden Vorrichtung, bspw. einer von der Vorrichtung umfassen Sensoreinheit, und/oder einer relativ zu der Recheneinheit und/oder der Vorrichtung externen Einheit bereitgestellt werden. Bspw. können die Daten und/oder die ergänzenden Informationen über eine drahtlose oder drahtgebundene Kommunikationsverbindung, bspw. über eine CAN-, Ethernet-, Wifi- oder Mobilfunkverbindung, bereitgestellt werden.The data and/or the supplementary information can be provided by another unit of the computing unit, e.g., a register of a microcontroller of the computing unit, and/or a unit of a device comprising the computing unit, e.g., a sensor unit comprised by the device, and/or a unit external to the computing unit and/or the device. For example, the data and/or the supplementary information can be provided via a wireless or wired communication connection, e.g., via a CAN, Ethernet, Wi-Fi, or mobile network connection.

Durch diese Ausgestaltung können eine Analyse der Ereignisse bzw. eine Diagnose der Recheneinheit weiter detailliert und die Ursachen für das Auftreten bestimmter Ereignisse besser verstanden werden.This design allows for a more detailed analysis of the events or a diagnosis of the computing unit and for a better understanding of the causes for the occurrence of certain events.

Alternativ ist es vorteilhaft, wenn der und/oder der weiteren Ereignisinformation ein Datensatz zugeordnet ist, wobei der Datensatz beim Auftreten des und/oder des weiteren Ereignisses vorliegende Daten und/oder ergänzende Informationen bezüglich der Ursache für das bzw. das weitere Ereignis umfasst und in einem zusätzlichen Pufferspeicher des Speichersystems gespeichert wird, wobei die und/oder die weitere gespeicherte Ereignisinformation eine auf den gespeicherten Datensatz verweisende Größe umfasst. Die auf den gespeicherten Datensatz verweisende Größe kann als eine Referenz, bspw. als ein Index oder ein Pointer bzw. Zeiger, ausgebildet sein. Durch das Vorsehen eines zusätzlichen Pufferspeichers zum Speichern des Datensatzes besteht die Möglichkeit, sämtliche auftretende Ursachen inklusive der ergänzenden Informationen in dem Speichersystem der Recheneinheit zu speichern, sodass auch Ursachen gespeichert und ausgelesen werden können, welche eigentlich nie hätte auftreten sollen bzw. mit denen zur Entwicklungszeit der Recheneinheit nicht gerechnet wurde, das heißt, die a priori unbekannt waren bzw. wider Erwarten auftreten. Durch diese Ausgestaltung können die von dem Datensatz umfassten Daten und/oder Informationen ergänzend gespeichert werden, ohne den Pufferspeicher und/oder den weiteren Pufferspeicher um entsprechenden Speicherplatz erweitern zu müssen.Alternatively, it is advantageous if a data record is assigned to the and/or the further event information, wherein the data record comprises data present at the time of occurrence of the and/or the further event and/or additional information regarding the cause of the or the further event and is stored in an additional buffer memory of the memory system, wherein the and/or the further stored event information comprises a variable referring to the stored data record. The variable referring to the stored data record can be designed as a reference, e.g. as an index or a pointer. By providing an additional buffer memory for storing the data record, it is possible to store all occurring causes, including the additional information, in the memory system of the computing unit, so that even causes can be stored and read out that should never have occurred or that were not anticipated at the time of development of the computing unit, i.e. that were unknown a priori or occur contrary to expectations. This configuration allows the data and/or information comprised in the data set to be stored additionally without having to expand the buffer memory and/or the additional buffer memory by the corresponding storage space.

Vorteilhaft ist es des Weiteren, wenn das Verfahren einen Schritt des Ermittelns von in dem Pufferspeicher zum Speichern der eingelesenen Ereignisinformation verfügbarem Speicherplatz aufweist, wobei

  • - die Anzahl der in dem Pufferspeicher gespeicherten Ereignisinformationen mit derselben Ursache wie die eingelesene Ereignisinformation nur dann ermittelt wird, wenn in dem Pufferspeicher kein Speicherplatz zum Speichern der eingelesenen Ereignisinformation verfügbar ist, ansonsten
  • - die eingelesene Ereignisinformation in dem verfügbaren Speicherplatz des Pufferspeichers gespeichert wird.
It is furthermore advantageous if the method comprises a step of determining the storage space available in the buffer memory for storing the read-in event information, wherein
  • - the number of event information stored in the buffer memory with the same cause as the read-in event information is only determined if there is no storage space available in the buffer memory to store the read-in event information, otherwise
  • - the read event information is stored in the available memory space of the buffer memory.

Gemäß dieser Ausführungsform wird also die eingelesene Ereignisinformation ohne Ermitteln der Anzahl der in dem Pufferspeicher gespeicherten Ereignisinformationen mit derselben Ursache wie die eingelesene Ereignisinformation in den Pufferspeicher gespeichert, solange in dem Pufferspeicher genügend Speicherplatz zum Speichern der eingelesenen Ereignisinformation verfügbar bzw. frei ist. Durch diese Ausgestaltung kann bei verfügbarem Speicherplatz in dem Pufferspeicher auf den Schritt des Ermittelns der Anzahl verzichtet werden, wodurch das Verfahren beschleunigt und der verfügbare Speicherplatz zum Speichern der Ereignisinformationen voll ausgenutzt werden kann.According to this embodiment, the read event information is thus read without determining the number of event information stored in the buffer memory with the same cause as The read-in event information is stored in the buffer memory as long as there is sufficient memory space available or free in the buffer memory to store the read-in event information. This configuration allows the step of determining the number to be omitted if memory space is available in the buffer memory, thereby accelerating the method and allowing the available memory space for storing the event information to be fully utilized.

Vorteilhaft ist es außerdem, wenn im Schritt des Ermittelns der Anzahl zunächst ermittelt wird, ob für ein oder mehrere Ursachen die Anzahl der in dem Pufferspeicher gespeicherten Ereignisinformationen größer als der definierte Schwellenwert ist, wobei

  • - die Anzahl von in dem Pufferspeicher gespeicherten Ereignisinformationen, welche dieselbe Ursache für das jeweilige Ereignis aufweisen wie die eingelesene Ereignisinformation, nur dann ermittelt wird, wenn für keine der Ursachen die Anzahl der in dem Pufferspeicher gespeicherten Ereignisinformationen größer als der definierte Schwellenwert ist, und
  • - die älteste Ereignisinformation aus dem Pufferspeicher gelöscht wird, für deren Ursache die Anzahl der in dem Pufferspeicher gespeicherten Ereignisinformationen größer als der definierte Schwellenwert ist.
It is also advantageous if, in the step of determining the number, it is first determined whether, for one or more causes, the number of event information stored in the buffer memory is greater than the defined threshold value, where
  • - the number of event information items stored in the buffer memory which have the same cause for the respective event as the read-in event information is only determined if the number of event information items stored in the buffer memory is not greater than the defined threshold value for any of the causes, and
  • - the oldest event information is deleted from the buffer memory, for which reason the number of event information stored in the buffer memory is greater than the defined threshold.

Das heißt, mit anderen Worten, zum Ermitteln der aus dem Pufferspeicher zu löschenden Ereignisinformation wird zunächst überprüft, ob für ein oder mehrere Ursachen die Anzahl der in dem Pufferspeicher gespeicherten Ereignisinformationen größer als der, ggf. ursachenspezifische, definierte Schwellenwert ist. Wenn für ein oder mehrere Ursachen die Anzahl der in dem Pufferspeicher gespeicherten Ereignisinformationen größer als der definierte Schwellenwert ist, wird die älteste Ereignisinformation aus dem Pufferspeicher gelöscht, für deren Ursache die Anzahl der in dem Pufferspeicher gespeicherten Ereignisinformationen größer als der definierte Schwellenwert ist.In other words, to determine the event information to be deleted from the buffer memory, a check is first made to determine whether the number of event information items stored in the buffer memory for one or more causes is greater than the defined threshold, possibly specific to the cause. If the number of event information items stored in the buffer memory is greater than the defined threshold for one or more causes, the oldest event information item for which the number of event information items stored in the buffer memory is greater than the defined threshold is deleted from the buffer memory.

Wenn für keine der Ursachen die Anzahl der in dem Pufferspeicher gespeicherten Ereignisinformationen größer als der definierte Schwellenwert ist, wird die Anzahl von in dem Pufferspeicher gespeicherten Ereignisinformationen, welche dieselbe Ursache für das jeweilige Ereignis aufweisen wie die eingelesene Ereignisinformation, ermittelt. Hierbei wird die älteste Ereignisinformation mit derselben Ursache aus dem Pufferspeicher gelöscht, wenn die ermittelte Anzahl gleich dem definierten Schwellenwert ist. Wenn die ermittelte Anzahl kleiner als der definierte Schwellenwert ist, wird die älteste Ereignisinformation aus dem Pufferspeicher gelöscht.If the number of event information items stored in the buffer memory is not greater than the defined threshold for any of the causes, the number of event information items stored in the buffer memory that have the same cause for the respective event as the read-in event information is determined. The oldest event information item with the same cause is deleted from the buffer memory if the determined number is equal to the defined threshold. If the determined number is less than the defined threshold, the oldest event information item is deleted from the buffer memory.

Durch diese Ausgestaltung werden zunächst diejenigen Ereignisinformationen gelöscht, deren Anzahl den definierten Schwellenwert überschreiten. Bspw. können bei verfügbarem Speicherplatz im Pufferspeicher zunächst eine Anzahl von Ereignisinformationen mit derselben Ursache gespeichert werden, die größer ist als der definierte Schwellenwert. Erst wenn kein Speicherplatz zum Speichern einer eingelesenen Ereignisinformation in dem Pufferspeicher mehr verfügbar ist, wird die älteste dieser Ereignisinformationen gelöscht. Dadurch ist sichergestellt, dass trotz des zwischenzeitlichen Speicherns von einer Anzahl von Ereignisinformationen mit derselben Ursache, welche größer als der definierte Schwellenwert ist, keine Ereignisinformationen mit gleicher Ursache gelöscht werden, deren Anzahl kleiner oder gleich dem Schwellenwert ist.This configuration ensures that those event information items whose number exceeds the defined threshold are deleted first. For example, if there is available storage space in the buffer memory, a number of event information items with the same cause that is greater than the defined threshold can initially be stored. Only when there is no more storage space available in the buffer memory to store a read-in event information item is the oldest of these event information items deleted. This ensures that, despite the interim storage of a number of event information items with the same cause that is greater than the defined threshold, no event information items with the same cause that are less than or equal to the threshold are deleted.

Vorteilhaft ist es darüber hinaus, wenn das Verfahren einen Schritt des Auslesens der gespeicherten Ereignisinformationen aus zumindest einem der Pufferspeicher, bevorzugt aus dem Pufferspeicher, dem weiteren Pufferspeicher und dem zusätzlichen Pufferspeicher, des Speichersystems aufweist. Im Schritt des Auslesens können ferner ein oder mehrere, den gespeicherten Ereignisinformationen zugeordnete Datensätze ausgelesen werden, welche beim Auftreten der Ereignisse vorliegende Daten und/oder ergänzende Informationen bezüglich der Ursache für die Ereignisse umfassen. Dem Schritt des Auslesens kann ein Schritt einer auf den ausgelesenen Ereignisinformationen basierenden Analyse bzw. Diagnose der Recheneinheit hinsichtlich des Auftretens der Ereignisse und deren Ursachen erfolgen. Ferner kann das Verfahren einen Schritt des Anpassens eines Software- und/oder Hardwaremoduls der Recheneinheit basierend auf den ausgelesenen Ereignisinformationen umfassen. Durch diese Ausgestaltung kann die Recheneinheit besonders zuverlässig analysiert und auch selten und/oder unerwartet auftretende Ereignisse diagnostiziert werden, um Software und/oder Hardware der Recheneinheit geeignet zu modifizieren.It is further advantageous if the method comprises a step of reading out the stored event information from at least one of the buffer memories, preferably from the buffer memory, the further buffer memory, and the additional buffer memory, of the storage system. In the reading out step, one or more data records associated with the stored event information can be read out, which records comprise data present at the time the events occurred and/or additional information regarding the cause of the events. The reading out step can be followed by a step of analyzing or diagnosing the computing unit with regard to the occurrence of the events and their causes based on the read out event information. Furthermore, the method can comprise a step of adapting a software and/or hardware module of the computing unit based on the read out event information. This embodiment allows the computing unit to be analyzed particularly reliably, and even rare and/or unexpectedly occurring events can be diagnosed in order to appropriately modify the software and/or hardware of the computing unit.

Vorteilhaft ist es ferner, wenn das Verfahren einen Schritt des Speicherns einer der und/oder der weiteren Ereignisinformation zugeordneten Zählerstandsinformation bezüglich einer Gesamtanzahl von Ereignissen der und/oder der weiteren Recheneinheit und/oder einer Gesamtanzahl von Ereignissen der und/oder der weiteren Recheneinheit mit einer definierten Ursache für das Ereignis in einem weiteren Speicherbereich des Speichersystems aufweist, wobei

  • - im Schritt des Auslesens ferner die gespeicherte(n) Zählerstandsinformation(en) aus dem weiteren Speicherbereich ausgelesen werden und
  • - für die ausgelesenen Ereignisinformationen basierend auf der/den ausgelesenen Zählerstandsinformation(en) jeweils ein Zählerstand ermittelt wird.
It is further advantageous if the method comprises a step of storing counter reading information associated with the and/or the further event information relating to a total number of events of the and/or the further computing unit and/or a total number of events of the and/or the further computing unit with a defined cause for the event in a further memory area of the memory system, wherein
  • - in the reading step, the stored meter reading information is read from the further memory area and
  • - a meter reading is determined for each of the read event information based on the meter reading information(s) read.

Die Gesamtanzahl von Ereignissen der und/oder der weiteren Recheneinheit mit einer definierten Ursache für das Ereignis kann eine Gesamtzahl von Ereignissen der und/oder der weiteren Recheneinheit mit einer einzigen definierten Ursache oder eine Gesamtzahl von Ereignissen der und/oder der weiteren Recheneinheit mit einer definierten Gruppe von Ursachen sein. Denkbar ist, dass die Gesamtzahl von Ereignissen der und/oder der weiteren Recheneinheit eine Gesamtzahl von bewusst herbeigeführten Ereignissen bzw. Ursachen ist. Alternativ ist denkbar, dass die Gesamtzahl von Ereignissen der und/oder der weiteren Recheneinheit eine Gesamtzahl von Ereignissen ausgenommen von bewusst herbeigeführten Ereignissen bzw. Ursachen ist. Die Zählerstandsinformation kann einen Zähler bzw. Counter umfassen, welcher eine Gesamtzahl von Ereignissen der und/oder der weiteren Recheneinheit und/oder einer Gesamtanzahl von Ereignissen der und/oder der weiteren Recheneinheit mit einer definierten Ursache für das Ereignis repräsentiert.The total number of events of the and/or the further computing unit with a defined cause for the event can be a total number of events of the and/or the further computing unit with a single defined cause or a total number of events of the and/or the further computing unit with a defined group of causes. It is conceivable that the total number of events of the and/or the further computing unit is a total number of deliberately caused events or causes. Alternatively, it is conceivable that the total number of events of the and/or the further computing unit is a total number of events excluding deliberately caused events or causes. The counter reading information can comprise a counter which represents a total number of events of the and/or the further computing unit and/or a total number of events of the and/or the further computing unit with a defined cause for the event.

Bevorzugt wird im Schritt des Speicherns der Zählerstandsinformation eine bereits in dem weiteren Speicherbereich des Speichersystems gespeicherte bzw. vorhandene Zählerstandsinformation überschrieben. Im Schritt des Auslesens kann der jüngsten Ereignisinformation die ausgelesene Zählerstandsinformation bezüglich der Gesamtanzahl von Ereignissen der und/oder der weiteren Recheneinheit zugeordnet werden. Weiter kann der jüngsten Ereignisinformation mit einer definierten bestimmten Ursache die ausgelesene Zählerstandsinformation bezüglich der Gesamtanzahl von Ereignissen der und/oder der weiteren Recheneinheit mit dieser definierten Ursache zugeordnet werden.Preferably, in the step of storing the meter reading information, meter reading information already stored or present in the further memory area of the storage system is overwritten. In the step of reading, the read meter reading information regarding the total number of events of the and/or the further computing unit can be assigned to the most recent event information. Furthermore, the read meter reading information regarding the total number of events of the and/or the further computing unit with this defined cause can be assigned to the most recent event information with a defined, specific cause.

Für ausgelesene ältere Ereignisinformationen kann der zu ermittelnde bzw. zuzuordnende Zählerstand basierend auf der ausgelesenen Zählerstandsinformation ermittelt bzw. zugeordnet werden, insbesondere indem der von der Zählerstandsinformation repräsentierte entsprechende Zähler dekrementiert wird. Der ermittelte bzw. zugeordnete Zähler repräsentiert hierbei eine Gesamtanzahl von Ereignissen der und/oder der weiteren Recheneinheit und/oder eine Gesamtanzahl von Ereignissen der und/oder der weiteren Recheneinheit mit einer definierten Ursache zum Zeitpunkt des Auftretens des Ereignisses. Durch diese Ausgestaltung können der Speicherbedarf des Pufferspeichers weiter reduziert und zusätzlich der Speicherbedarf zum Vorhalten der Zählerstandsinformation in dem weiteren Speicherbereich des Speichersystems minimiert werden.For read-out older event information, the counter reading to be determined or assigned can be determined or assigned based on the read-out counter reading information, in particular by decrementing the corresponding counter represented by the counter reading information. The determined or assigned counter represents a total number of events of the and/or the further computing unit and/or a total number of events of the and/or the further computing unit with a defined cause at the time the event occurred. This configuration allows the storage requirements of the buffer memory to be further reduced and, in addition, the storage requirements for storing the counter reading information in the further memory area of the storage system to be minimized.

Von Vorteil ist es, wenn das Speichersystem der Recheneinheit zusätzlich zu dem Pufferspeicher einen weiteren Pufferspeicher umfasst. Der weitere Pufferspeicher ist eingerichtet, Ereignisinformationen bezüglich Ereignissen der und/oder der weiteren Recheneinheit zu speichern, wobei die Ereignisinformationen jeweils eine Ursache für das Ereignis umfassen. Bevorzugt ist der Pufferspeicher eingerichtet, zuvor in dem weiteren Pufferspeicher gespeicherte Ereignisinformationen zu speichern. Das Speichersystem kann also als ein zumindest zweistufiges System von Pufferspeichern verstanden werden. Der weitere Pufferspeicher ist bevorzugt als FIFO-Pufferspeicher ausgebildet. Durch diese Ausgestaltung kann ein zweistufiger Reset-History-Buffer bereitgestellt werden. Dies ermöglicht zumindest die N jüngsten Ereignisinformationen unabhängig von der Ursache des jeweiligen Ereignisses zu speichern, wobei N die Anzahl der in dem weiteren Pufferspeicher speicherbaren Ereignisinformationen repräsentiert. Dadurch sind die N zuletzt aufgetretenen Ereignisse und deren Ursache jederzeit auslesbar.It is advantageous if the memory system of the computing unit comprises a further buffer memory in addition to the buffer memory. The further buffer memory is configured to store event information relating to events of the and/or the further computing unit, wherein the event information each includes a cause for the event. The buffer memory is preferably configured to store event information previously stored in the further buffer memory. The memory system can therefore be understood as an at least two-stage system of buffer memories. The further buffer memory is preferably designed as a FIFO buffer memory. This configuration makes it possible to provide a two-stage reset history buffer. This makes it possible to store at least the N most recent event information items, regardless of the cause of the respective event, where N represents the number of event information items that can be stored in the further buffer memory. As a result, the N most recently occurring events and their cause can be read out at any time.

Von Vorteil ist es auch, wenn das Speichersystem der Recheneinheit ferner einen zusätzlichen Pufferspeicher umfasst, welcher eingerichtet ist, einen Datensatz mit beim Auftreten der Ereignisinformationen vorliegenden Daten und/oder ergänzenden Informationen bezüglich der Ursache für die Ereignisinformationen zu speichern. Durch diese Ausgestaltung können die von dem Datensatz umfassten Daten und/oder Informationen ergänzend gespeichert werden, ohne den Pufferspeicher und/oder den weiteren Pufferspeicher um entsprechenden Speicherplatz erweitern zu müssen.It is also advantageous if the memory system of the computing unit further comprises an additional buffer memory configured to store a data set with data present at the time the event information occurred and/or additional information regarding the cause of the event information. This configuration allows the data and/or information contained in the data set to be additionally stored without having to expand the buffer memory and/or the additional buffer memory by the corresponding storage space.

Ausführungsbeispiele der vorstehend und nachfolgend beschriebenen Erfindung können in Hardware und/oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer eines (E)EPROM, eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einer programmierbaren Hardwarekomponente, insbesondere einer programmierbaren Logikkomponente, derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren oder einzelne Schritte davon durchgeführt werden.Embodiments of the invention described above and below can be implemented in hardware and/or software. The implementation can be carried out using a digital storage medium, for example an (E)EPROM, a FLASH memory, a hard disk, or another magnetic or optical memory on which electronically readable control signals are stored that can interact or interact with a programmable hardware component, in particular a programmable logic component, in such a way that the respective method or individual steps thereof are carried out.

Gemäß einer Ausführungsform umfasst die Recheneinheit eine programmierbare Hardwarekomponente, insbesondere eine programmierbare Logikkomponente, oder ist als diese ausgebildet.According to one embodiment, the computing unit comprises a programmable hardware component, in particular a programmable logic component, or is designed as such.

Eine programmierbare Hardwarekomponente kann durch einen Prozessor, einen Computerprozessor (CPU = Central Processing Unit), einen Grafikprozessor (GPU = Graphics Processing Unit), einen Computer, ein Computersystem, einen anwendungsspezifischen integrierten Schaltkreis (ASIC = Application-Specific Integrated Circuit), einen integrierten Schaltkreis (IC = Integrated Circuit), ein Ein-Chip-System (SOC = System an Chip), ein programmierbares Logikelement, ein feldprogrammierbares Gatterarray mit einem Mikroprozessor (FPGA = Field Programmable Gate Array) oder ein komplex programmierbarer Logikbaustein (CPLD = Complex Programmable Logic Device) gebildet sein.A programmable hardware component can be formed by a processor, a computer processor (CPU = Central Processing Unit), a graphics processor (GPU = Graphics Processing Unit), a computer, a computer system, an application-specific integrated circuit (ASIC = Application-Specific Integrated Circuit), an integrated circuit (IC = Integrated Circuit), a system on a chip (SOC = System on Chip), a programmable logic element, a field-programmable gate array with a microprocessor (FPGA = Field Programmable Gate Array) or a complex programmable logic device (CPLD = Complex Programmable Logic Device).

Von Vorteil ist auch ein Computerprogrammprodukt oder Computerprogramm mit Programmcode, der auf einem maschinenlesbaren Träger oder Speichermedium wie einem Halbleiterspeicher, einem Festplattenspeicher oder einem optischen Speicher gespeichert sein kann und zur Durchführung, Umsetzung und/oder Ansteuerung der Schritte des Verfahrens nach einer der vorstehend beschriebenen Ausführungsformen verwendet wird, insbesondere wenn das Programmprodukt oder Programm auf einem Computer bzw. einer Recheneinheit ausgeführt wird.Also advantageous is a computer program product or computer program with program code that can be stored on a machine-readable carrier or storage medium such as a semiconductor memory, a hard disk memory or an optical memory and is used to carry out, implement and/or control the steps of the method according to one of the embodiments described above, in particular when the program product or program is executed on a computer or a computing unit.

Im Folgenden soll die Erfindung anhand der Zeichnungen näher erläutert werden.In the following, the invention will be explained in more detail with reference to the drawings.

Dazu zeigen

  • 1 eine schematische Darstellung einer Recheneinheit gemäß einer Ausführungsform; und
  • 2 ein Ablaufdiagramm eines Verfahrens zum Speichern einer Ereignisinformation bezüglich eines Ereignisses einer Recheneinheit gemäß einer Ausführungsform.
To do this, show
  • 1 a schematic representation of a computing unit according to an embodiment; and
  • 2 a flowchart of a method for storing event information relating to an event of a computing unit according to one embodiment.

1 zeigt eine Recheneinheit 10 mit einem nicht dargestellten Mikrocontroller - und/oder Mikroprozessor und einem Speichersystem 12. Das Speichersystem 12 umfasst einen ersten Pufferspeicher 14, einen zweiten Pufferspeicher 16 und einen dritten Pufferspeicher 18. Weiter umfasst das Speichersystem 12 einen nicht dargestellten Hauptspeicher mit einem Computerprogramm. Das Computerprogramm umfasst Befehle, die bei der Ausführung durch den Prozessor 10 bewirken, dass die Recheneinheit 10 Ereignisinformationen bezüglich Ereignissen der Recheneinheit 10 gemäß dem nachfolgend beschriebenen Verfahren in einem oder mehreren der Pufferspeicher 14, 16, 18 bzw. Buffer 14, 16, 18 speichert. Alternativ oder zusätzlich kann das Speichersystem 12 der Recheneinheit 10 weitere derartiger dritter Pufferspeicher 18 umfassen. 1 shows a computing unit 10 with a microcontroller and/or microprocessor (not shown) and a memory system 12. The memory system 12 comprises a first buffer memory 14, a second buffer memory 16, and a third buffer memory 18. The memory system 12 further comprises a main memory (not shown) with a computer program. The computer program comprises instructions which, when executed by the processor 10, cause the computing unit 10 to store event information relating to events of the computing unit 10 in one or more of the buffer memories 14, 16, 18 or buffers 14, 16, 18 according to the method described below. Alternatively or additionally, the memory system 12 of the computing unit 10 can comprise further such third buffer memories 18.

Die Recheneinheit 10 ist bspw. als ein, insbesondere eingebettetes Steuergerät 10 eines Fahrzeugs ausgebildet. Die Recheneinheit 10 ist eingerichtet, eine in dem ersten Pufferspeicher 14 zu speichernde Ereignisinformation bezüglich eines Ereignisses der Recheneinheit 10 und/oder einer weiteren Recheneinheit, bspw. eines weiteren Steuergeräts oder einer Sensoreinheit des Fahrzeugs, einzulesen. Hierbei umfasst die eingelesene Ereignisinformation eine Ursache für das Ereignis.The computing unit 10 is embodied, for example, as a control unit 10 of a vehicle, in particular an embedded control unit 10. The computing unit 10 is configured to read event information, to be stored in the first buffer memory 14, relating to an event of the computing unit 10 and/or another computing unit, e.g., another control unit or a sensor unit of the vehicle. The read-in event information includes a cause for the event.

Weiter ist die Recheneinheit 10 eingerichtet, einen in dem ersten Pufferspeicher 14 zum Speichern der eingelesenen Ereignisinformation verfügbaren Speicherplatz zu ermitteln. Hierbei ist die Recheneinheit 10 eingerichtet, die eingelesene Ereignisinformation in dem verfügbaren Speicherplatz des ersten Pufferspeichers 14 zu speichern, wenn in dem ersten Pufferspeicher 14 genügend Speicherplatz zum Speichern der eingelesenen Ereignisinformation verfügbar ist.Furthermore, the computing unit 10 is configured to determine a storage space available in the first buffer memory 14 for storing the read-in event information. The computing unit 10 is configured to store the read-in event information in the available storage space of the first buffer memory 14 if sufficient storage space is available in the first buffer memory 14 to store the read-in event information.

Zudem ist die Recheneinheit 10 eingerichtet, eine Anzahl von in dem zweiten Pufferspeicher 16 gespeicherten Ereignisinformationen zu ermitteln, welche dieselbe Ursache für das jeweilige Ereignis aufweisen wie die älteste in dem ersten Pufferspeicher 14 gespeicherte Ereignisinformation.In addition, the computing unit 10 is configured to determine a number of event information items stored in the second buffer memory 16 which have the same cause for the respective event as the oldest event information item stored in the first buffer memory 14.

Außerdem ist die Recheneinheit 10 eingerichtet, die älteste Ereignisinformation mit derselben Ursache aus dem zweiten Pufferspeicher 16 zu löschen, wenn die ermittelte Anzahl größer oder gleich einem definierten Schwellenwert ist, und alternativ - das heißt, wenn die ermittelte Anzahl kleiner als der definierte Schwellenwert ist - die älteste Ereignisinformation aus dem zweiten Pufferspeicher 16 zu löschen. Hierbei können die Ursachen für das von der ältesten Ereignisinformation umfasste Ereignis im ersten Pufferspeicher 14 und für das von der ältesten Ereignisinformation umfasste Ereignis im zweiten Pufferspeicher 16 voneinander verschieden sein.In addition, the computing unit 10 is configured to delete the oldest event information with the same cause from the second buffer memory 16 if the determined number is greater than or equal to a defined threshold, and alternatively—that is, if the determined number is less than the defined threshold—to delete the oldest event information from the second buffer memory 16. The causes for the event contained in the oldest event information in the first buffer memory 14 and the event contained in the oldest event information in the second buffer memory 16 can be different from one another.

Darüber hinaus ist die Recheneinheit 10 eingerichtet, die älteste Ereignisinformation aus dem ersten Pufferspeicher 14 in dem zweiten Pufferspeicher 16 zu speichern. Des Weiteren ist die Recheneinheit 10 eingerichtet, die älteste Ereignisinformation aus dem ersten Pufferspeicher 14 zu löschen. Ferner ist die Recheneinheit 10 eingerichtet, die eingelesene Ereignisinformation in dem ersten Pufferspeicher 14 zu speichern.Furthermore, the computing unit 10 is configured to store the oldest event information from the first buffer memory 14 in the second buffer memory 16. Furthermore, the computing unit 10 is configured to delete the oldest event information from the first buffer memory 14. Furthermore, the computing unit 10 is configured to store the read-in event information in the first buffer memory 14.

Gemäß dieser Ausführungsform ist der erste Pufferspeicher 14 als FIFO (englisch: „First In First Out“)-Buffer 14 ausgebildet. Hierbei kann der erste Pufferspeicher 14 als eine erste Speicherstufe 14 des Speichersystems 12 und der zweite Pufferspeicher 16 als eine zweite Speicherstufe 16 des Speichersystems 12 verstanden werden. Der dritte Pufferspeicher 18 kann als eine der ersten und zweiten Speicherstufe 14, 16 nebengeordnete Speicherstufe 18 verstanden werden.According to this embodiment, the first buffer memory 14 is designed as a FIFO (First In First Out) buffer 14. Here, the first buffer memory 14 can be used as a first memory stage 14 of the memory system 12 and the second buffer memory 16 can be used as a second memory stage 16 of the memory storage system 12. The third buffer memory 18 can be understood as a storage stage 18 that is subordinate to the first and second storage stages 14, 16.

Die in dem ersten Pufferspeicher 14 und dem zweiten Pufferspeicher 16 gespeicherten Ereignisinformationen sind chronologisch gespeichert. Hierbei ist die jüngste in dem zweiten Pufferspeicher 16 gespeicherte Ereignisinformation älter als die älteste in dem ersten Pufferspeicher 14 gespeicherte Ereignisinformation. Jede in dem zweiten Pufferspeicher 16 gespeicherte Ereignisinformation ist eine zuvor in dem ersten Pufferspeicher 14 gespeicherte Ereignisinformation.The event information stored in the first buffer memory 14 and the second buffer memory 16 is stored chronologically. The most recent event information stored in the second buffer memory 16 is older than the oldest event information stored in the first buffer memory 14. Each event information stored in the second buffer memory 16 is previously stored in the first buffer memory 14.

Vorliegend wird das Speichersystem 12 zum Speichern von Reset- bzw. Neustart-Ereignissen der Recheneinheit 10 verwendet. Das heißt, mit anderen Worten, gemäß dieser Ausführungsform wird ein mehrstufiger Reset-History-Buffer zum Abspeichern bzw. Speichern von Reset-Gründen beschrieben, welche insbesondere auf eingebetteten Systemen 10 wie bspw. einem Automotive Steuergerät 10 auftreten. Hierzu können mittels des Reset-History-Buffers Reset-Ereignisse, zusammen mit weiteren relevanten Daten, in den Pufferspeichern 14, 16, 18 des Speichersystems 12 gespeichert werden. Die gespeicherten Informationen können anschließend bspw. bei Problemen im Feld oder auch bei einer Rückläuferanalyse ausgelesen werden.In the present case, the memory system 12 is used to store reset or restart events of the computing unit 10. In other words, according to this embodiment, a multi-stage reset history buffer is described for storing or saving reset reasons, which occur in particular on embedded systems 10, such as an automotive control unit 10. For this purpose, reset events, along with other relevant data, can be stored in the buffer memories 14, 16, 18 of the memory system 12 using the reset history buffer. The stored information can then be read out, for example, in the event of problems in the field or during a return analysis.

Gemäß dem vorgeschlagenen Ansatz kann beim Auftreten eines Reset-Ereignisses das Reset-Ereignis bzw. eine das Reset-Ereignis repräsentierende Ereignisinformation dem ersten Pufferspeicher 14 hinzugefügt werden (Pfeil 20 in 1). Diesem Eintrag im ersten Pufferspeicher 14 wird eine eindeutige Identifikationsinformation, gemäß dieser Ausführungsform eine Identifikationsnummer und eine Ursache für das Reset-Ereignis bzw. ein Reset-Grund zugeordnet und in dem ersten Pufferspeicher 14 abgelegt (bspw. PORST für „Power-on Reset“, SW_RST für „Software Reset“, SMU_RST für „Safety Management Unit (SMU) Reset“ bzw. „Hardware Reset“). Die Identifikationsnummer wird in der Spalte „Nr.“ des ersten Pufferspeichers 14 gespeichert. Die Ursache für das Reset-Ereignis wird in der Spalte „Info“ des ersten Pufferspeichers 14 gespeichert.According to the proposed approach, when a reset event occurs, the reset event or event information representing the reset event can be added to the first buffer memory 14 (arrow 20 in 1 ). This entry in the first buffer memory 14 is assigned unique identification information, according to this embodiment an identification number and a cause for the reset event or a reset reason, and stored in the first buffer memory 14 (e.g. PORST for "Power-on Reset", SW_RST for "Software Reset", SMU_RST for "Safety Management Unit (SMU) Reset" or "Hardware Reset"). The identification number is stored in the "No." column of the first buffer memory 14. The cause of the reset event is stored in the "Info" column of the first buffer memory 14.

Weiterhin können zusätzlich ein oder mehrere Datensätze mit abgelegt bzw. gespeichert werden, welche Zusatzinformationen zum Auftreten des Reset-Ereignisses beinhalten. Diese Zusatzinformationen können beim Auftreten des Reset-Ereignisses bzw. zum Zeitpunkt des Auftretens des Reset-Ereignisses vorliegende Daten wie beispielsweise Datum, Uhrzeit, Kilometerstand eines die Recheneinheit 10 umfassenden Fahrzeugs, ein Wert einer Versorgungsspannung der Recheneinheit 10, Uptime der Recheneinheit 10, Power Cycle Counter, ein genereller bzw. allgemeiner Reset Counter (dieser Zähler wird um 1 erhöht bei jedem ungewollten Reset) und/oder ein spezifischer Reset Counter per Reset (ein eigener Zähler pro Reset-Grund, der beim Auftreten des Resets um 1 erhöht wird) umfassen. Die Datensätze mit den Zusatzinformationen werden in der Spalte „Info+“ des ersten Pufferspeichers 14 und entsprechend in der Spalte „Info+“ des zweiten Pufferspeichers 16 gespeichert.Furthermore, one or more data records can also be filed or saved, which contain additional information about the occurrence of the reset event. This additional information can include data present at the time of the reset event or at the time the reset event occurred, such as the date, time, mileage of a vehicle containing the computing unit 10, a value of a supply voltage of the computing unit 10, the uptime of the computing unit 10, the power cycle counter, a general or generic reset counter (this counter is incremented by 1 for each unintentional reset) and/or a specific reset counter per reset (a separate counter for each reset reason, which is incremented by 1 when the reset occurs). The data records with the additional information are stored in the "Info+" column of the first buffer memory 14 and correspondingly in the "Info+" column of the second buffer memory 16.

Denkbar ist, dass ein oder mehrere dieser Zusatzinformationen, bspw. Datum und/oder Uhrzeit, zum Zeitpunkt des Reset-Ereignisses nicht verfügbar sind, bspw. da diese über eine Schnittstelle wie einen CAN-Bus noch nicht empfangen wurde(n). Bevorzugt werden diese zunächst fehlenden Informationen nach dem Reset der Recheneinheit 10 nachgereicht und in dem ersten Pufferspeicher 14 eingefügt bzw. gespeichert. Falls auch dies nicht möglich sein sollte, kann nach einer konfigurierbaren Timeout-Zeit ein Default-Wert für die fehlende Information eingetragen werden.It is conceivable that one or more of these additional pieces of information, e.g., the date and/or time, are not available at the time of the reset event, e.g., because they have not yet been received via an interface such as a CAN bus. Preferably, this initially missing information is subsequently provided after the reset of the computing unit 10 and inserted or stored in the first buffer memory 14. If this is not possible, a default value for the missing information can be entered after a configurable timeout period.

Gemäß einer alternativen Implementierung ist es bei dem allgemeinen und/oder dem spezifischen Reset Counter auch denkbar, nur die aktuellen Zählerstände in einem separaten Speicherbereich des Speichersystems 12 zu verwalten und beim Auslesen des mehrstufigen Reset-History-Buffers auch diese Zählerstände mit auszulesen. Da alle Einträge des Reset-History-Buffers in chronologisch korrekter Reihenfolge ausgegeben werden, können anschließend basierend auf den aktuellen Zählerständen des oder der Reset Counter die Zählerstände beim Auftreten des jeweiligen Reset-Ereignisses ermittelt werden. Hierdurch kann Speicherplatz in den Pufferspeichern 14, 16 eingespart werden.According to an alternative implementation, it is also conceivable for the general and/or specific reset counter to manage only the current counter readings in a separate memory area of the memory system 12 and to also read these counter readings when reading the multi-level reset history buffer. Since all entries in the reset history buffer are output in chronologically correct order, the counter readings at the occurrence of the respective reset event can then be determined based on the current counter readings of the reset counter(s). This can save storage space in the buffer memories 14, 16.

Der oder die Datensätze mit den Zusatzinformationen zum Auftreten des Reset-Ereignisses können direkt jedem Eintrag im ersten Pufferspeicher 14 bzw. zweiten Pufferspeicher 16 hinzugefügt werden. Alternativ können der oder die Datensätze in einen nicht dargestellten zusätzlichen Pufferspeicher bzw. separaten Buffer des Speichersystem 12 ausgelagert werden. Hierbei kann in dem ersten Pufferspeicher 14 bzw. zweiten Pufferspeicher 16 nur auf den Eintrag in diesem zusätzlichen Pufferspeicher bzw. separaten Buffer referenziert werden (beispielsweise mittels eines Index, Pointers, etc.). Dies bringt beim Verschieben einer gespeicherten Ereignisinformation vom ersten Pufferspeicher 14 in den zweiten Pufferspeicher 16 - das heißt, beim Speichern einer zuvor in dem ersten Pufferspeicher 14 gespeicherten Ereignisinformation in dem zweiten Pufferspeicher 16 und dem Löschen der gespeicherten Ereignisinformation aus dem ersten Pufferspeicher 14 - Vorteile mit sich, da weniger Daten verschoben werden müssen.The data record(s) with the additional information regarding the occurrence of the reset event can be added directly to each entry in the first buffer 14 or second buffer 16. Alternatively, the data record(s) can be swapped out to an additional buffer (not shown) or separate buffer of the storage system 12. In this case, the first buffer 14 or second buffer 16 can only reference the entry in this additional buffer or separate buffer (for example, using an index, pointer, etc.). This results in the following when moving stored event information from the first buffer 14 to the second buffer 16 - that is, when storing event information previously stored in the first buffer 14 in the second buffer 16 and deleting the stored event information from the first buffer 14: share with you because less data needs to be moved.

Gemäß der in 1 dargestellten Ausführungsform ist der erste Pufferspeicher 14 eingerichtet, maximal zehn Einträge bzw. Ereignisinformationen abzuspeichern. Die Anzahl der maximal speicherbaren Einträge bzw. Ereignisinformationen kann vorgegeben oder vorgebbar bzw. konfigurierbar sein.According to the 1 In the embodiment shown, the first buffer memory 14 is configured to store a maximum of ten entries or event information. The maximum number of storable entries or event information can be predetermined or can be predetermined or configured.

Falls beim Eintragen eines neuen Reset-Ereignisses (Pfeil 20 in 1) noch freie Speicherplätze in dem ersten Pufferspeicher 14 verfügbar sind, wird die entsprechende Ereignisinformation bzw. der Eintrag im nächsten freien Speicherplatz des ersten Pufferspeichers 14 gespeichert. Falls in dem ersten Pufferspeicher 14 aber bereits alle Speicherplätze belegt sind, wird zunächst der älteste Eintrag bzw. die älteste Ereignisinformation im ersten Pufferspeicher 14 (erkennbar an dem niedrigsten Wert in der Spalte „Nr.“) in den zweiten Pufferspeicher 16 verschoben (Pfeil 22 in 1), das heißt in dem zweiten Pufferspeicher 16 gespeichert und aus dem ersten Pufferspeicher 14 gelöscht. Hierdurch wird im ersten Pufferspeicher 14 ein Speicherplatz frei, welcher dann für den neuen Eintrag verwendet werden kann.If, when entering a new reset event (arrow 20 in 1 ) there are still free memory locations available in the first buffer memory 14, the corresponding event information or the entry is stored in the next free memory location of the first buffer memory 14. However, if all memory locations in the first buffer memory 14 are already occupied, the oldest entry or the oldest event information in the first buffer memory 14 (recognizable by the lowest value in the "No." column) is moved to the second buffer memory 16 (arrow 22 in 1 ), i.e., stored in the second buffer memory 16 and deleted from the first buffer memory 14. This frees up a storage space in the first buffer memory 14, which can then be used for the new entry.

Da im ersten Pufferspeicher 14 immer zuerst der älteste Eintrag bzw. die älteste Ereignisinformation in den zweiten Pufferspeicher 16 verschoben wird, liegt ein FIFO-Konzept vor. Durch das Verschieben des ältesten Eintrags in den zweiten Pufferspeicher 16 wird ein Löschen bzw. Entfernen dieses Eintrags aus dem Speichersystem 12 der Recheneinheit 10 vermieden.Since the oldest entry or the oldest event information in the first buffer 14 is always moved to the second buffer 16 first, a FIFO concept is in place. Moving the oldest entry to the second buffer 16 prevents this entry from being deleted or removed from the memory system 12 of the processing unit 10.

Gemäß der in 1 dargestellten Ausführungsform weist der zweite Pufferspeicher 16 dieselbe Datenstruktur wie der erste Pufferspeicher 14 auf. Somit können die Reset-Ereignisse, welche von dem ersten Pufferspeicher 14 in den zweiten Pufferspeicher 16 übertragen bzw. verschoben werden (Pfeil 22 in 1), sehr einfach ohne Konvertierung verschoben werden.According to the 1 In the embodiment shown, the second buffer memory 16 has the same data structure as the first buffer memory 14. Thus, the reset events that are transferred or moved from the first buffer memory 14 to the second buffer memory 16 (arrow 22 in 1 ), can be moved very easily without conversion.

Wenn im zweiten Pufferspeicher 16 ein neuer Eintrag bzw. eine neue, die jeweilige Ursache für das Ereignis umfassende Ereignisinformation aus dem ersten Pufferspeicher 14 hinzugefügt werden soll, wird zuerst überprüft, wie viele eben diese Ursache umfassende Ereignisinformationen bzw. wie oft dieser Reset-Grund bereits in dem zweiten Pufferspeicher 16 vorhanden bzw. gespeichert ist. In 1 soll beispielhaft ein Reset-Ereignis mit dem Reset-Grund „PORST“ hinzugefügt werden. Der Reset-Grund „PORST“ ist bereits dreimal in dem zweiten Pufferspeicher 16 vorhanden. Das heißt mit einem Hinzufügen des neuen Eintrags würde der zweite Pufferspeicher 16 vier Einträge mit dem Reset-Grund „PORST“ beinhalten. An dieser Stelle greift nun die Regel, dass in dem zweiten Pufferspeicher nur maximal X Mal ein bestimmter Reset-Grund bzw. eine definierte Anzahl X von Ereignisinformationen, welche dieselbe Ursache für das jeweilige Ereignis aufweisen wie die zu speichernde Ereignisinformation, vorhanden bzw. gespeichert sein darf. Der Wert von X ist hierbei frei wählbar bzw. vorgebbar bzw. konfigurierbar. Gemäß vorliegender Ausführungsform nimmt X beispielhaft den Wert drei an. Das heißt, maximal drei Einträge bzw. Ereignisinformationen in dem zweiten Pufferspeicher 16 dürfen denselben Reset-Grunds aufweisen. Da im vorliegenden Beispiel bereits drei Einträge in dem zweiten Pufferspeicher 16 mit der Ursache „PROST“ gespeichert sind und eine ein weiterer Eintrag mit der Ursache „PROST“ hinzugefügt werden soll, führt dies dazu, dass der älteste Eintrag mit der Ursache „PORST“ aus dem zweiten Pufferspeicher 16 (Pfeil 24 in 1) gelöscht wird. Dies kann in dem zweiten Pufferspeicher 16 dazu führen, dass alte Einträge bereits gelöscht werden, obwohl noch freie Speicherplätze in dem zweiten Pufferspeicher 16 verfügbar sind.If a new entry or new event information comprising the respective cause of the event is to be added from the first buffer memory 14 to the second buffer memory 16, it is first checked how many event information items comprising this cause or how often this reset reason is already present or stored in the second buffer memory 16. In 1 For example, a reset event with the reset reason “PORST” is to be added. The reset reason “PORST” already exists three times in the second buffer memory 16. This means that if the new entry is added, the second buffer memory 16 would contain four entries with the reset reason “PORST”. At this point, the rule applies that a specific reset reason or a defined number X of event information items that have the same cause for the respective event as the event information to be stored may only be present or stored in the second buffer memory a maximum of X times. The value of X is freely selectable, specifiable, or configurable. According to the present embodiment, X takes on the value three, for example. This means that a maximum of three entries or event information items in the second buffer memory 16 may have the same reset reason. Since in the present example three entries are already stored in the second buffer memory 16 with the cause “PROST” and a further entry with the cause “PROST” is to be added, this leads to the oldest entry with the cause “PORST” being deleted from the second buffer memory 16 (arrow 24 in 1 ) is deleted. This can lead to old entries in the second buffer memory 16 being deleted even though free memory locations are still available in the second buffer memory 16.

Gemäß einer alternativen Implementierung ist denkbar, zunächst freie Speicherplätze in dem zweiten Pufferspeicher 16 zu verwenden. Sobald keine freien Speicherplätze in dem zweiten Pufferspeicher 16 mehr verfügbar sind, wird ermittelt bzw. überprüft, für welche Reset-Gründe die Regel X=3 verletzt wird und aus diesen Reset-Gründen dann der älteste Eintrag entfernt. Damit wird sichergestellt, dass für jeden Reset-Grund mindestens X Einträge gespeichert werden können, jedoch im Falle von freiem bzw. verfügbaren Speicherplatz auch weitere Ereignisinformationen bzw. Einträge mit demselben Reset-Grund abgelegt bzw. gespeichert werden können.According to an alternative implementation, it is conceivable to initially use free memory locations in the second buffer memory 16. As soon as no more free memory locations are available in the second buffer memory 16, it is determined or checked for which reset reasons the rule X=3 is violated, and the oldest entry is then removed for these reset reasons. This ensures that at least X entries can be stored for each reset reason, but if free or available memory space is available, additional event information or entries with the same reset reason can also be stored or saved.

Bei der Konfiguration der Größe des zweiten Pufferspeichers 16 ist darauf zu achten, dass dieser mindestens X mal die Anzahl aller möglichen Arten bzw. Typen von Ereignisinformationen an Speicherplätzen zur Verfügung stellen muss. Falls die Recheneinheit 10 also 15 verschiedene Ereignisinformationen speichern können soll, müssen bei X=3 somit mindestens 3x15=45 Speicherplätze in dem zweiten Pufferspeicher 16 zur Verfügung stehen.When configuring the size of the second buffer memory 16, it is important to ensure that it must provide at least X times the number of all possible types of event information in memory locations. Therefore, if the computing unit 10 is to be able to store 15 different event information items, at X=3, at least 3x15=45 memory locations must be available in the second buffer memory 16.

Gemäß der vorliegenden Ausführungsform können bei der Recheneinheit 10 Reset-Ereignisse auftreten, für deren Ursache ergänzende Informationen bereitgestellt werden. Bspw. kann im Falle eines Software-Reset-Ereignisses und/oder eines Hardware-Reset-Ereignisses, insbesondere eines SMU-Alarm-Reset-Ereignisses, von einer Software der Recheneinheit 10 weitere Reset-Details ermittelt und/oder bereitgestellt werden.According to the present embodiment, reset events can occur at the computing unit 10, for which additional information is provided regarding their cause. For example, in the case of a software reset event and/or a hardware reset event, in particular an SMU alarm reset event, further reset details can be determined and/or provided by software of the computing unit 10.

Im Falle des SW-Resets können die ergänzenden Informationen bzw. Details zu einem ausgelösten Reset von der Software abgelegt bzw. gespeichert werden. Im Falle des Hardware-Resets, insbesondere des SMU-Alarm-Resets, können interne Register des von der Recheneinheit 10 umfassten Mikrocontrollers ausgelesen werden, um die ergänzenden Informationen zum Reset-Grund zu erhalten. Dieser Mechanismus ist ein großer Vorteil gegenüber anderen Implementierungen, da er die Möglichkeit bietet, bei einer späteren Fehleranalyse auch Reset-Gründe erkennen zu können, die zur Entwicklungszeit der Recheneinheit 10 noch nicht berücksichtigt wurden oder nicht bekannt waren und die durch einen Fehler in der Software und/oder Hardware der Recheneinheit 10 dennoch aufgetreten sind.In the case of a software reset, the additional information or details about a triggered reset can be stored or saved by the software. In the case of a hardware reset, in particular the SMU alarm reset, internal registers of the microcontroller included in the computing unit 10 can be read to obtain the additional information about the reason for the reset. This mechanism is a major advantage over other implementations because it offers the possibility of identifying reset reasons during a later error analysis that were not yet considered or were unknown at the time of development of the computing unit 10 and that nevertheless occurred due to an error in the software and/or hardware of the computing unit 10.

Falls ein Reset-Ereignis auftritt, für welches keine ergänzenden Informationen bezüglich dessen Ursache bzw. keine erweiterten Reset-Details vorliegen oder bereitgestellt werden, bleibt das entsprechende Feld in der Spalte „Index“ in dem ersten Pufferspeicher 14 und dem zweiten Pufferspeicher 16 leer oder wird mit einem Platzhalter-Wert belegt. Wenn jedoch ein Reset-Ereignis auftritt, für welches weitere Reset-Details ausgelesen werden können, werden diese Informationen in der Spalte „Index“ eingetragen bzw. gespeichert. Der einzutragende Wert kann bei einem SW-Reset zum Beispiel einfach ein numerischer Wert sein, welcher aussagt, was genau in der Software zu dem Reset-Ereignis geführt hat. Im 1 dargestellten Beispiel sind zwei Softwarebasierte bzw. -bedingte Reset-Ereignisse in dem ersten Pufferspeicher 14 gespeichert. Hierbei repräsentiert ein in der Spalte „Index“ angegebener Wert 5 zum Beispiel einen von der Diagnose angefragten Reset und ein in der Spalte „Index“ angegebener Wert 6 einen Reset, welcher zum Wechsel von einer Applikation in einen Bootloader der Recheneinheit 10 erforderlich war.If a reset event occurs for which no additional information regarding its cause or no extended reset details are available or provided, the corresponding field in the "Index" column in the first buffer 14 and the second buffer 16 remains empty or is filled with a placeholder value. However, if a reset event occurs for which further reset details can be read, this information is entered or stored in the "Index" column. For a software reset, for example, the value to be entered can simply be a numeric value that states what exactly led to the reset event in the software. 1 In the example shown, two software-based or software-related reset events are stored in the first buffer memory 14. For example, a value of 5 specified in the "Index" column represents a reset requested by the diagnostics, and a value of 6 specified in the "Index" column represents a reset that was required to switch from an application to a bootloader of the computing unit 10.

Im Falle komplexerer Reset-Ereignisse, wie zum Beispiel bei dem zuvor genannten SMU-Alarm-Reset-Ereignis, kann es auch vorkommen, dass eine große Menge an Reset-Details bzw. eine Vielzahl an ergänzenden Informationen bezüglich der Ursache des Reset-Ereignisses abgelegt werden sollen. Um größere Datenmengen nicht in dem ersten Pufferspeicher 14 oder dem zweiten Pufferspeicher 16 speichern zu müssen und daher für alle Ereignisinformationen bzw. Einträge im Reset-Buffer diesen Speicherplatz für die Reset-Details vorhalten zu müssen, kann insbesondere eine Referenz auf einen weiteren Speicherbereich des Speichersystem 12 verwendet werden. Vorliegend beinhaltet der zweite Pufferspeicher 16 drei Einträge mit dem Reset-Grund „SMU_RST“. Diese beinhalten in ihrer Spalte „Index“ die Werte 21, 22 und 23. Diese Werte entsprechen den Indices in dem dritten Pufferspeicher 18 des Speichersystems 12, das heißt eine Referenz auf einen spezifischen Eintrag in diesem Buffer 18 (Pfeile 26 in 1). Über diesen Mechanismus können diese großen und „unhandlichen“ Reset-Details in einen separaten Buffer ausgelagert werden, ohne die Einträge in dem ersten Pufferspeicher 14 und dem zweiten Pufferspeicher 16 aufzublähen. Durch vollständiges Speichern der ergänzenden Informationen bzgl. der Ursache der Reset-Ereignisse bzw. der Reset-Details in der Spalte „Info++“ in dem dritten Pufferspeicher 18 werden später auch Reset-Gründe sichtbar sind, welche durch eine Fehlkonfiguration oder einen Fehler des Mikrocontrollers der Recheneinheit 10 auftreten. Durch diese Ausgestaltung kann auf das Vorsehen eines Filters zum Herausfiltern von nicht erwarteten Ereignissen verzichtet werden. Dies reduziert die Entwicklungszeit der Recheneinheit 10, da auf die für die Implementierung des Filters erforderliche Identifizierung und Bewertung aller prinzipiell möglichen Ereignissen verzichtet werden kann.In the case of more complex reset events, such as the aforementioned SMU alarm reset event, it may also be necessary to store a large amount of reset details or a multitude of additional information regarding the cause of the reset event. In order to avoid having to store large amounts of data in the first buffer 14 or the second buffer 16, and thus to reserve this storage space for the reset details for all event information or entries in the reset buffer, a reference to another memory area of the memory system 12 can be used. In this case, the second buffer 16 contains three entries with the reset reason "SMU_RST." These contain the values 21, 22, and 23 in their "Index" column. These values correspond to the indices in the third buffer 18 of the memory system 12, i.e., a reference to a specific entry in this buffer 18 (arrows 26 in 1 ). Using this mechanism, these large and "unwieldy" reset details can be outsourced to a separate buffer without inflating the entries in the first buffer 14 and the second buffer 16. By completely storing the additional information regarding the cause of the reset events or the reset details in the "Info++" column in the third buffer 18, reset reasons that occur due to a misconfiguration or an error in the microcontroller of the computing unit 10 will later also be visible. This configuration eliminates the need to provide a filter to filter out unexpected events. This reduces the development time of the computing unit 10 because the identification and evaluation of all fundamentally possible events required for implementing the filter can be dispensed with.

Gemäß einer alternativen Ausführungsform können die ergänzenden Informationen bzgl. der Ursache der Reset-Ereignisse bzw. der Reset-Details vor dem Speichern in dem Speichersystem 12 vorgefiltert werden, um weniger Daten in den Pufferspeichern 14, 16, 18 ablegen zu müssen und weiteren Speicherplatz zu sparen.According to an alternative embodiment, the additional information regarding the cause of the reset events or the reset details can be pre-filtered before being stored in the storage system 12 in order to store less data in the buffer memories 14, 16, 18 and to save further storage space.

Um zu ermitteln, ob es sich bei dem Wert in Spalte „Index“ des zweiten Pufferspeichers 16 um einen direkt verwendbaren Wert oder einen Index auf ein oder mehrere weitere Pufferspeicher des Speichersystems 12 handelt, wird die Angabe der Ursache bzw. der Reset-Grund verwendet. Ein SW-Reset hat im Beispiel einen direkt verwendbaren Wert, während ein SMU-Reset immer einen Index auf den dritten Pufferspeicher 18 beinhaltet. In einer alternativen Ausgestaltung kann der zugehörige Pufferspeicher nicht aus dem Reset-Grund abgeleitet werden, sondern aus dem Wertebereich des Eintrags in der Spalte „Index“. Bspw. könnten Werte 0-99 auf direkt verwendbare Details zu einem SW-Reset verweisen, die Werte 100-199 einen Index auf einen Buffer A, die Werte 200-299 einen Index auf einen Buffer B, etc. repräsentieren.To determine whether the value in the "Index" column of the second buffer 16 is a directly usable value or an index to one or more additional buffers of the storage system 12, the cause or reset reason is used. In the example, a software reset has a directly usable value, while an SMU reset always includes an index to the third buffer 18. In an alternative embodiment, the associated buffer can be derived not from the reset reason, but from the value range of the entry in the "Index" column. For example, values 0-99 could refer to directly usable details for a software reset, values 100-199 could represent an index to buffer A, values 200-299 an index to buffer B, etc.

Gemäß dieser Ausführungsform werden die Einträge in dem dritten Pufferspeicher 18 gelöscht, sobald der zugehörige bzw. entsprechende, auf diesen Eintrag referenzierende Eintrag in dem ersten Pufferspeicher 14 bzw. in dem zweiten Pufferspeicher 16 gelöscht wird.According to this embodiment, the entries in the third buffer memory 18 are deleted as soon as the associated or corresponding entry referencing this entry in the first buffer memory 14 or in the second buffer memory 16 is deleted.

Bei der Konfiguration der Größe des dritten Pufferspeichers 18 ist darauf zu achten, dass dieser eine Größe aufweist, welche mindestens einer Summe aus einer maximalen Anzahl von in dem zweiten Pufferspeicher 16 speicherbaren Ereignisinformationen mit einer Referenz, insbesondere in der Spalte „Index“, auf den dritten Pufferspeicher 18 und der Anzahl der in dem ersten Pufferspeicher 14 gespeicherten Ereignisinformationen entspricht.When configuring the size of the third buffer memory 18, care must be taken to ensure that it has a size which corresponds at least to a sum of a maximum number of events that can be stored in the second buffer memory 16. information with a reference, in particular in the “Index” column, to the third buffer memory 18 and the number of event information stored in the first buffer memory 14.

Die in dem Speichersystem 12 gespeicherten Ereignisinformationen, insbesondere die Reset-Gründe bzw. die Ursachen für die Reset-Ereignisse, lassen sich sehr einfach aus dem ersten Pufferspeicher 14, dem zweiten Pufferspeicher 16 und dem dritten Pufferspeicher 18 in chronologisch korrekter Reihenfolge auslesen. Dies kann beispielsweise durch einen Diagnosedienst im Feld erfolgen oder auch über einen JTAG (englisch: „Joint Test Action Group“) Debugger im Werk im Falle einer Rückläuferanalyse. Darüber hinaus sind dem Fachmann weitere Möglichkeiten zum Auslesen dieser Daten über verschiedene Kommunikationskanäle der Recheneinheit 10 bekannt.The event information stored in the memory system 12, in particular the reset reasons or the causes of the reset events, can be very easily read out in chronologically correct order from the first buffer memory 14, the second buffer memory 16, and the third buffer memory 18. This can be done, for example, by a diagnostic service in the field or via a JTAG (Joint Test Action Group) debugger in the factory in the case of a return analysis. Furthermore, those skilled in the art will be aware of other options for reading out this data via various communication channels of the computing unit 10.

2 zeigt ein Ablaufdiagramm eines Verfahrens zum Speichern einer Ereignisinformation bezüglich eines Ereignisses, insbesondere eines Hardware- und/oder Software-Fehlers und/oder eines Reset-Ereignisses, einer Recheneinheit in ein zumindest einen Pufferspeicher aufweisendes Speichersystem der Recheneinheit. Die Recheneinheit kann bspw. die Recheneinheit 10 gemäß 1 sein. Das Verfahren ist in seiner Gesamtheit mit dem Bezugszeichen 100 versehen. 2 shows a flowchart of a method for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit in a memory system of the computing unit comprising at least one buffer memory. The computing unit can, for example, be the computing unit 10 according to 1 The method as a whole is designated by reference numeral 100.

Das Verfahren 100 wird bevorzugt während eines Betriebs der Recheneinheit 10 ausgeführt. Insbesondere wird das Verfahren 100 in der beschriebenen Abfolge von Verfahrensschritten wiederholt nacheinander ausgeführt, bevorzugt stets dann, wenn ein Ereignis der Recheneinheit 10 auftritt bzw. eintritt.The method 100 is preferably executed during operation of the computing unit 10. In particular, the method 100 is repeatedly executed in the described sequence of method steps, preferably always when an event of the computing unit 10 occurs or occurs.

In Schritt 110 wird eine in dem ersten Pufferspeicher 14 zu speichernde Ereignisinformation bezüglich eines Ereignisses der Recheneinheit 10 und/oder einer weiteren Recheneinheit eingelesen. Hierbei umfasst die eingelesene Ereignisinformation eine Ursache für das Ereignis.In step 110, event information relating to an event of the computing unit 10 and/or another computing unit is read in to the first buffer memory 14. The read-in event information includes a cause for the event.

In Schritt 120 wird ein in dem ersten Pufferspeicher 14 zum Speichern der eingelesenen Ereignisinformation verfügbarer Speicherplatz ermittelt.In step 120, a storage space available in the first buffer memory 14 for storing the read-in event information is determined.

Wenn in dem ersten Pufferspeicher 14 genügend Speicherplatz zum Speichern der eingelesenen Ereignisinformation verfügbar ist, wird die eingelesene Ereignisinformation in einem Schritt 190 in dem verfügbaren Speicherplatz des ersten Pufferspeichers 14 gespeichert. t.If sufficient storage space is available in the first buffer memory 14 to store the read-in event information, the read-in event information is stored in the available storage space of the first buffer memory 14 in a step 190. t.

Wenn in dem ersten Pufferspeicher 14 nicht genügend Speicherplatz zum Speichern der eingelesenen Ereignisinformation verfügbar ist, wird in Schritt 130 die älteste in dem ersten Pufferspeicher 14 gespeicherte Ereignisinformation eingelesen. In Schritt 140 wird eine Anzahl von in dem zweiten Pufferspeicher 16 gespeicherten Ereignisinformationen ermittelt, welche dieselbe Ursache für das jeweilige Ereignis aufweisen wie die älteste in dem ersten Pufferspeicher 14 gespeicherte Ereignisinformation.If there is insufficient storage space available in the first buffer memory 14 to store the read-in event information, the oldest event information stored in the first buffer memory 14 is read in in step 130. In step 140, a number of event information items stored in the second buffer memory 16 are determined which have the same cause for the respective event as the oldest event information stored in the first buffer memory 14.

In Schritt 150 wird die älteste Ereignisinformation mit derselben Ursache aus dem zweiten Pufferspeicher 16 gelöscht, wenn bzw. falls bzw. genau in dem Fall, in dem die ermittelte Anzahl größer oder gleich einem definierten Schwellenwert ist.In step 150, the oldest event information with the same cause is deleted from the second buffer memory 16 if or when or exactly in the case in which the determined number is greater than or equal to a defined threshold value.

Alternativ, das heißt wenn bzw. falls bzw. genau in dem Fall, in dem die ermittelte Anzahl kleiner als der definierte Schwellenwert ist, wird in Schritt 160 die älteste Ereignisinformation aus dem zweiten Pufferspeicher 16 gelöscht. Hierbei können die Ursachen für das von der ältesten Ereignisinformation umfasste Ereignis im ersten Pufferspeicher 14 und für das von der ältesten Ereignisinformation umfasste Ereignis im zweiten Pufferspeicher 16 voneinander verschieden sein.Alternatively, that is, if or when or precisely in the case in which the determined number is smaller than the defined threshold value, the oldest event information is deleted from the second buffer memory 16 in step 160. In this case, the causes for the event in the first buffer memory 14 comprised by the oldest event information and for the event in the second buffer memory 16 comprised by the oldest event information may be different from one another.

In Schritt 170 wird die älteste Ereignisinformation aus dem ersten Pufferspeicher 14 in dem zweiten Pufferspeicher 18 gespeichert.In step 170, the oldest event information from the first buffer memory 14 is stored in the second buffer memory 18.

In Schritt 180 wird die älteste Ereignisinformation aus dem ersten Pufferspeicher 14 gelöscht.In step 180, the oldest event information is deleted from the first buffer memory 14.

In Schritt 190 wird die in Schritt 110 eingelesene Ereignisinformation in dem ersten Pufferspeicher 14 gespeichert.In step 190, the event information read in step 110 is stored in the first buffer memory 14.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES CONTAINED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • US 2009/0222700 A1 [0007]US 2009/0222700 A1 [0007]

Claims (14)

Verfahren (100) zum Speichern einer Ereignisinformation bezüglich eines Ereignisses, insbesondere eines Hardware- und/oder Software-Fehlers und/oder eines Reset-Ereignisses, einer Recheneinheit (10) und/oder einer weiteren Recheneinheit in ein zumindest einen Pufferspeicher (16) aufweisendes Speichersystem (12) der Recheneinheit (10), mit folgenden Schritten: - Einlesen (130) einer in dem Pufferspeicher (16) zu speichernden Ereignisinformation bezüglich eines Ereignisses der Recheneinheit (10) und/oder der weiteren Recheneinheit, wobei die eingelesene Ereignisinformation eine Ursache für das Ereignis umfasst; - Ermitteln (140) einer Anzahl von in dem Pufferspeicher (16) gespeicherten Ereignisinformationen, welche dieselbe Ursache für das jeweilige Ereignis aufweisen wie die eingelesene Ereignisinformation, wobei ◯ die älteste Ereignisinformation mit derselben Ursache aus dem Pufferspeicher (16) gelöscht wird, wenn die ermittelte Anzahl größer oder gleich einem definierten Schwellenwert ist, ansonsten ◯ die älteste Ereignisinformation aus dem Pufferspeicher (16) gelöscht wird; und - Speichern (170) der eingelesenen Ereignisinformation in dem Pufferspeicher (16).A method (100) for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit (10) and/or another computing unit in a memory system (12) of the computing unit (10) having at least one buffer memory (16), comprising the following steps: - reading (130) event information relating to an event of the computing unit (10) and/or the other computing unit to be stored in the buffer memory (16), wherein the read-in event information comprises a cause for the event; - determining (140) a number of event information items stored in the buffer memory (16) that have the same cause for the respective event as the read-in event information, wherein: ◯ the oldest event information with the same cause is deleted from the buffer memory (16) if the determined number is greater than or equal to a defined threshold; otherwise: ◯ the oldest event information is deleted from the buffer memory (16); and - storing (170) the read-in event information in the buffer memory (16). Verfahren (100) nach Anspruch 1, dadurch gekennzeichnet, dass die eingelesene Ereignisinformation aus einem weiteren Pufferspeicher (14) des Speichersystems (12) eingelesen wird, wobei die eingelesene Ereignisinformation eine, insbesondere die älteste, in dem weiteren Pufferspeicher (14) gespeicherte Ereignisinformation ist.Procedure (100) according to Claim 1 , characterized in that the read-in event information is read from a further buffer memory (14) of the storage system (12), wherein the read-in event information is one, in particular the oldest, item of event information stored in the further buffer memory (14). Verfahren (100) nach Anspruch 2, dadurch gekennzeichnet, dass - dem Schritt des Ermittelns (140) der Anzahl ein Schritt des Einlesens (110) einer in dem weiteren Pufferspeicher (14) zu speichernden weiteren Ereignisinformation bezüglich eines weiteren Ereignisses der Recheneinheit (10) und/oder der weiteren Recheneinheit vorausgeht, wobei die weitere Ereignisinformation eine Ursache für das weitere Ereignis umfasst, und - dem Schritt des Speicherns (170) der eingelesenen Ereignisinformation in dem Pufferspeicher (16) ein Schritt des Löschens (180) der, insbesondere ältesten, in dem weiteren Pufferspeicher (14) gespeicherten Ereignisinformation und ein Schritt des Speicherns (190) der eingelesenen weiteren Ereignisinformation in dem weiteren Pufferspeicher (14) nachfolgen.Procedure (100) according to Claim 2 , characterized in that - the step of determining (140) the number is preceded by a step of reading in (110) further event information to be stored in the further buffer memory (14) relating to a further event of the computing unit (10) and/or the further computing unit, wherein the further event information comprises a cause for the further event, and - the step of storing (170) the read-in event information in the buffer memory (16) is followed by a step of deleting (180) the, in particular oldest, event information stored in the further buffer memory (14) and a step of storing (190) the read-in further event information in the further buffer memory (14). Verfahren (100) nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der und/oder der weiteren Ereignisinformation ein Datensatz zugeordnet ist, wobei der Datensatz beim Auftreten des und/oder des weiteren Ereignisses vorliegende Daten und/oder ergänzende Informationen bezüglich der Ursache für das bzw. das weitere Ereignis umfasst und zusammen mit der und/oder der weiteren Ereignisinformation in dem jeweiligen Pufferspeicher (14, 16) gespeichert wird.Method (100) according to one of the preceding claims, characterized in that a data record is assigned to the and/or the further event information, wherein the data record comprises data present at the occurrence of the and/or the further event and/or supplementary information regarding the cause of the or the further event and is stored together with the and/or the further event information in the respective buffer memory (14, 16). Verfahren (100) nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der und/oder der weiteren Ereignisinformation ein Datensatz zugeordnet ist, wobei der Datensatz beim Auftreten des und/oder des weiteren Ereignisses vorliegende Daten und/oder ergänzende Informationen bezüglich der Ursache für das bzw. das weitere Ereignis umfasst und in einem zusätzlichen Pufferspeicher (18) des Speichersystems (12) gespeichert wird, wobei die und/oder die weitere gespeicherte Ereignisinformation eine auf den gespeicherten Datensatz verweisende Größe umfasst.Method (100) according to one of the Claims 1 until 3 , characterized in that a data record is assigned to the and/or the further event information, wherein the data record comprises data present at the occurrence of the and/or the further event and/or additional information regarding the cause of the or the further event and is stored in an additional buffer memory (18) of the storage system (12), wherein the and/or the further stored event information comprises a variable referring to the stored data record. Verfahren (100) nach einem der vorherigen Ansprüche, gekennzeichnet durch einen Schritt des Ermittelns von in dem Pufferspeicher (16) zum Speichern der eingelesenen Ereignisinformation verfügbarem Speicherplatz, wobei - die Anzahl der in dem Pufferspeicher (16) gespeicherten Ereignisinformationen mit derselben Ursache wie die eingelesene Ereignisinformation nur dann ermittelt wird, wenn in dem Pufferspeicher (16) kein Speicherplatz zum Speichern der eingelesenen Ereignisinformation verfügbar ist, ansonsten - die eingelesene Ereignisinformation in dem verfügbaren Speicherplatz des Pufferspeichers (16) gespeichert wird.Method (100) according to one of the preceding claims, characterized by a step of determining the storage space available in the buffer memory (16) for storing the read-in event information, wherein - the number of event information items stored in the buffer memory (16) with the same cause as the read-in event information is only determined if no storage space is available in the buffer memory (16) for storing the read-in event information, otherwise - the read-in event information is stored in the available storage space of the buffer memory (16). Verfahren (100) nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass im Schritt des Ermittelns (140) der Anzahl zunächst ermittelt wird, ob für ein oder mehrere Ursachen die Anzahl der in dem Pufferspeicher (16) gespeicherten Ereignisinformationen größer als der definierte Schwellenwert ist, wobei - die Anzahl von in dem Pufferspeicher (16) gespeicherten Ereignisinformationen, welche dieselbe Ursache für das jeweilige Ereignis aufweisen wie die eingelesene Ereignisinformation, nur dann ermittelt wird, wenn für keine der Ursachen die Anzahl der in dem Pufferspeicher (16) gespeicherten Ereignisinformationen größer als der definierte Schwellenwert ist, und - die älteste Ereignisinformation aus dem Pufferspeicher (16) gelöscht wird, für deren Ursache die Anzahl der in dem Pufferspeicher (16) gespeicherten Ereignisinformationen größer als der definierte Schwellenwert ist.Method (100) according to one of the preceding claims, characterized in that in the step of determining (140) the number it is first determined whether for one or more causes the number of event information items stored in the buffer memory (16) is greater than the defined threshold value, wherein - the number of event information items stored in the buffer memory (16) which have the same cause for the respective event as the read-in event information is only determined if for none of the causes the number of event information items stored in the buffer memory (16) is greater than the defined threshold value, and - the oldest event information item is deleted from the buffer memory (16) for the cause of which the number of event information items stored in the buffer memory (16) is greater than the defined threshold value. Verfahren (100) nach einem der vorherigen Ansprüche, gekennzeichnet durch einen Schritt des Auslesens der gespeicherten Ereignisinformationen aus zumindest einem der Pufferspeicher (14, 16, 18) des Speichersystems (12).Method (100) according to one of the preceding claims, characterized by a step of reading out the stored event information tions from at least one of the buffer memories (14, 16, 18) of the storage system (12). Verfahren (100) nach Anspruch 8, gekennzeichnet durch einen Schritt des Speicherns einer der und/oder der weiteren Ereignisinformation zugeordneten Zählerstandsinformation bezüglich einer Gesamtanzahl von Ereignissen der Recheneinheit (10) und/oder der weiteren Recheneinheit und/oder einer Gesamtanzahl von Ereignissen der Recheneinheit (10) und/oder der weiteren Recheneinheit mit einer definierten Ursache für das Ereignis in einem weiteren Speicherbereich des Speichersystems, wobei - im Schritt des Auslesens ferner die gespeicherte(n) Zählerstandsinformation(en) aus dem weiteren Speicherbereich ausgelesen werden und - für die ausgelesenen Ereignisinformationen basierend auf der/den ausgelesenen Zählerstandsinformation(en) jeweils ein Zählerstand ermittelt wird.Procedure (100) according to Claim 8 , characterized by a step of storing counter reading information associated with the and/or the further event information with regard to a total number of events of the computing unit (10) and/or the further computing unit and/or a total number of events of the computing unit (10) and/or the further computing unit with a defined cause for the event in a further memory area of the memory system, wherein - in the reading step, the stored counter reading information(s) are further read out from the further memory area and - a counter reading is determined for each of the read out event information based on the read out counter reading information(s). Recheneinheit (10), insbesondere Steuereinheit, mit einem einen Pufferspeicher (16) umfassenden Speichersystem (12), wobei - der Pufferspeicher (16) eingerichtet ist, Ereignisinformationen bezüglich Ereignissen der Recheneinheit (10) und/oder einer weiteren Recheneinheit zu speichern, wobei die Ereignisinformationen jeweils eine Ursache für das Ereignis umfassen, und - die Recheneinheit (10) eingerichtet ist, das Verfahren (100) nach einem der vorherigen Ansprüche auszuführen.Computing unit (10), in particular a control unit, with a memory system (12) comprising a buffer memory (16), wherein - the buffer memory (16) is configured to store event information relating to events of the computing unit (10) and/or another computing unit, wherein the event information each comprises a cause for the event, and - the computing unit (10) is configured to carry out the method (100) according to one of the preceding claims. Recheneinheit (10) nach Anspruch 10, gekennzeichnet durch einen weiteren Pufferspeicher (14), welcher eingerichtet ist, Ereignisinformationen bezüglich Ereignissen der Recheneinheit (10) und/oder der weiteren Recheneinheit zu speichern, wobei die Ereignisinformationen jeweils eine Ursache für das Ereignis umfassen.Computing unit (10) according to Claim 10 , characterized by a further buffer memory (14) which is arranged to store event information relating to events of the computing unit (10) and/or the further computing unit, wherein the event information each comprises a cause for the event. Recheneinheit (10) nach Anspruch 10 oder 11, gekennzeichnet durch einen zusätzlichen Pufferspeicher (18), welcher eingerichtet ist, einen Datensatz mit beim Auftreten der Ereignisinformationen vorliegenden Daten und/oder ergänzenden Informationen bezüglich der Ursache für die Ereignisinformationen zu speichern.Computing unit (10) according to Claim 10 or 11 , characterized by an additional buffer memory (18) which is arranged to store a data set with data present at the time of occurrence of the event information and/or additional information regarding the cause of the event information. Computerprogramm, umfassend Befehle, die bei Ausführung durch eine Recheneinheit (10) gemäß einem der Ansprüche 10 bis 12 diese veranlassen, das Verfahren (100) nach einem der Ansprüche 1 bis 9 auszuführen und/oder zu steuern.Computer program comprising instructions which, when executed by a computing unit (10) according to one of the Claims 10 until 12 cause them to carry out the procedure (100) according to one of the Claims 1 until 9 to execute and/or control. Maschinenlesbares Speichermedium, auf dem das Computerprogramm gemäß Anspruch 13 gespeichert ist.Machine-readable storage medium on which the computer program according to Claim 13 is stored.
DE102023210817.8A 2023-10-31 2023-10-31 Method for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit Pending DE102023210817A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102023210817.8A DE102023210817A1 (en) 2023-10-31 2023-10-31 Method for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102023210817.8A DE102023210817A1 (en) 2023-10-31 2023-10-31 Method for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit

Publications (1)

Publication Number Publication Date
DE102023210817A1 true DE102023210817A1 (en) 2025-04-30

Family

ID=95342000

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023210817.8A Pending DE102023210817A1 (en) 2023-10-31 2023-10-31 Method for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit

Country Status (1)

Country Link
DE (1) DE102023210817A1 (en)

Similar Documents

Publication Publication Date Title
DE4244266C2 (en) Method and circuit device for dynamically configuring device drivers for computer system equipment
EP0067364B1 (en) Method and arrangement for a non-volatile storage of the counting state of an electronic counter
DE69028265T2 (en) Data acquisition method for a logic analyzer
DE102015217933B4 (en) Device for processing data and method for operating such a device
DE102014103347A1 (en) Conditional links for direct memory access controllers
DE112015007179T5 (en) Information processing apparatus, information processing method and information processing program
DE102019220274A1 (en) Measuring circuits for electrical current
DE112019007572T5 (en) Programmable logic controller, setting tool and program
DE102023210817A1 (en) Method for storing event information relating to an event, in particular a hardware and/or software error and/or a reset event, of a computing unit
DE102006041444B4 (en) Circuit arrangement and method for detecting an execution time of a command in a computer system
DE19951188B4 (en) Method and device for recording pulse signals
DE2102935A1 (en) Method and device for determining the performance of machine programs
DE102017108219A1 (en) Control system and method of memory access
WO2007033923A1 (en) Data processing arrangement and the operation mode thereof
DE102005009874B4 (en) Method for signaling a state or event
DE69317364T2 (en) Method for observing a computer program flow in a processor with an internal cache memory
DE2649506C2 (en) Counting arrangement
DE102009010881A1 (en) Accelerated bitmap generation during built-in memory self-test by locking an Nth error
DE102008042894A1 (en) Method and device for testing a computer core in a computer having at least two computer cores
DE10121745A1 (en) Method and arrangement for a stack with a memory divided into data groups with several elements
DE102005001930B4 (en) Circuit and method for the secure processing of hardware events
DE102008002494A1 (en) Method for actualizing flash memory for emulation of electrically EPROMs, for saving serial electrically EPROMs, in dashboard of vehicle, involves verifying actual version of data set to violation of defined rule
DE102017106400A1 (en) Configuration switch and bus users with such a configuration switch
DE102023213338A1 (en) Managing a ring buffer-like memory
DE102020210100A1 (en) Method and apparatus for monitoring operation of a non-volatile memory device