DE102021205172A1 - Storage device and method for checking storage contents - Google Patents

Storage device and method for checking storage contents Download PDF

Info

Publication number
DE102021205172A1
DE102021205172A1 DE102021205172.3A DE102021205172A DE102021205172A1 DE 102021205172 A1 DE102021205172 A1 DE 102021205172A1 DE 102021205172 A DE102021205172 A DE 102021205172A DE 102021205172 A1 DE102021205172 A1 DE 102021205172A1
Authority
DE
Germany
Prior art keywords
memory
value
registers
module
check
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
DE102021205172.3A
Other languages
German (de)
Inventor
Jorge RIVAS
Michael Meixner
Tilman Gloekler
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 DE102021205172.3A priority Critical patent/DE102021205172A1/en
Publication of DE102021205172A1 publication Critical patent/DE102021205172A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Speichervorrichtung und Verfahren zur Überprüfung von Speicherinhalten eines Speichermoduls mit mehreren Registern. Die Inhalte der einzelnen Register werden zyklisch, periodisch nacheinander innerhalb von vorgegebenen Zeitintervallen überprüft. Somit wird gewährleistet, dass ein Fehler bzw. eine Inkonsistenz in den gespeicherten Daten innerhalb der vorgegebenen Zeitspanne detektiert wirdMemory device and method for checking memory contents of a memory module with multiple registers. The contents of the individual registers are checked cyclically, periodically one after the other within specified time intervals. This ensures that an error or an inconsistency in the stored data is detected within the specified time period

Description

Die vorliegende Erfindung betrifft eine Speichervorrichtung sowie ein Verfahren zur Überprüfung von Speicherinhalten. Die vorliegende Erfindung betrifft ferner eine Steuervorrichtung mit einer solchen Speichervorrichtung.The present invention relates to a memory device and a method for checking memory contents. The present invention also relates to a control device with such a memory device.

Stand der TechnikState of the art

Obwohl die vorliegende Erfindung nachfolgend in Bezug auf eine Steuervorrichtung in einem Kraftfahrzeug beschrieben wird, ist die Erfindung nicht hierauf beschränkt. Vielmehr lässt sich das erfindungsgemäße Grundprinzip auf beliebige Speichervorrichtungen, insbesondere Speichervorrichtungen mit mehreren Speicherregistern anwenden.Although the present invention is described below in relation to a control device in a motor vehicle, the invention is not limited thereto. Rather, the basic principle according to the invention can be applied to any memory devices, in particular memory devices with a plurality of memory registers.

Für zahlreiche Steuer- oder Regelungsaufgaben, beispielsweise in Zusammenhang mit Fahrerassistenzsystemen im Automobilbereich, ist es erforderlich, Steuerbefehle unter Verwendung von mehreren zuvor erfassten oder generierten Eingangsdaten zu berechnen. Hierzu können die erforderlichen Eingangsdaten in einer geeigneten Speichervorrichtung abgespeichert werden. Die mittels dieser Speichervorrichtung bereitgestellten Eingangsdaten können daraufhin ausgelesen werden, um Steuerbefehle zu generieren. Beispielsweise kann ein Fahrerassistenzsystem Eingangsdaten von einem oder mehreren Radarsensoren, optischen Sensoren, wie zum Beispiel eine oder mehrere Kameras, oder Ähnlichem auswerten.For numerous control or regulation tasks, for example in connection with driver assistance systems in the automotive sector, it is necessary to calculate control commands using a number of previously recorded or generated input data. To this end, the required input data can be stored in a suitable storage device. The input data provided by this memory device can then be read out in order to generate control commands. For example, a driver assistance system can evaluate input data from one or more radar sensors, optical sensors, such as one or more cameras, or the like.

Um gegebenenfalls einen Fehler in den abgespeicherten Daten zu erkennen, kann zu den einzelnen abgespeicherten Datenwerten jeweils ein Prüfwert berechnet werden und dieser Prüfwert in Zusammenhang mit dem korrespondierenden Datenwert abgespeichert werden. Beispielsweise kann es sich bei dem Prüfwert um eine Prüfsumme handeln, welche mittels eines vorgegebenen Algorithmus berechnet wird. Alternativ ist auch die Verwendung eines oder mehrerer Paritätsbits möglich.In order to possibly detect an error in the stored data, a test value can be calculated for the individual stored data values and this test value can be stored in connection with the corresponding data value. For example, the check value can be a checksum, which is calculated using a predefined algorithm. Alternatively, one or more parity bits can also be used.

Die Druckschrift DE 602 106 58 T2 beschreibt ein Halbleiterspeicherbauelement mit einem Speicherarray, welches Datenwerte und entsprechende Fehlerkorrekturwerte speichert. Bei einem Schreibzugriff erzeugt ein Fehlerkorrekturgenerator einen Korrekturwert. Bei einem Lesezugriff wird überprüft, ob der korrespondierende Korrekturwert mit einem für das ausgelesene Datenwort berechneten Korrekturwert übereinstimmt.The pamphlet DE 602 106 58 T2 describes a semiconductor memory device having a memory array storing data values and corresponding error correction values. In the case of a write access, an error correction generator generates a correction value. In the case of a read access, a check is made as to whether the corresponding correction value matches a correction value calculated for the data word that has been read out.

Offenbarung der ErfindungDisclosure of Invention

Die vorliegende Erfindung offenbart eine Speichervorrichtung, eine Steuervorrichtung und ein Verfahren zur Überprüfung von Speicherinhalten mit den Merkmalen der unabhängigen Patentansprüche. Weitere vorteilhafte Ausführungsformen sind Gegenstand der abhängigen Patentansprüche.The present invention discloses a memory device, a control device and a method for checking memory contents with the features of the independent patent claims. Further advantageous embodiments are the subject matter of the dependent patent claims.

Demgemäß ist vorgesehen:

  • Eine Speichervorrichtung mit einem Speichermodul und einem Prüfmodul. Das Speichermodul umfasst mehrere Speicherregister. Jedes Speicherregister des Speichermoduls ist dazu ausgelegt, einen Datenwert und einen zu dem Datenwert korrespondierenden Prüfwert zu speichern. Das Prüfmodul ist dazu ausgelegt, den Datenwert eines Speicherregisters unter Verwendung des korrespondierenden Prüfwerts zu überprüfen. Insbesondere ist das Prüfmodul dazu ausgelegt, die Datenwerte einer vorbestimmten Gruppe von Speicherregister innerhalb einer vorbestimmten Zeitspanne zu überprüfen. Die Überprüfung der Datenwerte der vorbestimmten Gruppe von Speicherregistern innerhalb einer vorbestimmten Zeitspanne wird periodisch wiederholt. Das Überprüfen der Datenwerte in der Gruppe von Speicherregistern erfolgt sequentiell, das heißt, nacheinander.
Accordingly, it is provided:
  • A memory device having a memory module and a test module. The memory module includes multiple memory registers. Each memory register of the memory module is designed to store a data value and a check value corresponding to the data value. The check module is designed to check the data value of a storage register using the corresponding check value. In particular, the checking module is designed to check the data values of a predetermined group of storage registers within a predetermined period of time. The checking of the data values of the predetermined group of storage registers within a predetermined period of time is repeated periodically. The checking of the data values in the group of storage registers is carried out sequentially, that is to say one after the other.

Weiterhin ist vorgesehen:

  • Eine Steuervorrichtung mit einer erfindungsgemäßen Speichervorrichtung. Die Steuervorrichtung ist insbesondere dazu ausgelegt, Steuersignale unter Verwendung der in den Speicherregistern der Speichervorrichtung gespeicherten Datenwerte zu generieren.
Furthermore, it is provided:
  • A control device with a memory device according to the invention. The control device is designed in particular to generate control signals using the data values stored in the memory registers of the memory device.

Schließlich ist vorgesehen:

  • Ein Verfahren zur Überprüfung von Speicherinhalten eines Speichermoduls. Das Speichermodul umfasst mehrere Speicherregister. Jedes der mehreren Speicherregister ist dazu ausgelegt, jeweils einen Datenwert und einen zu dem Datenwert korrespondierenden Prüfwert zu speichern. Das Verfahren umfasst einen Schritt zum Auslesen eines Datenwerts und eines korrespondierenden Prüfwerts aus einem der mehreren Speicherregister. Weiterhin umfasst das Verfahren einen Schritt zum Überprüfen des ausgelesenen Datenwerts unter Verwendung des ausgelesenen korrespondierenden Prüfwerts. Das Auslesen sowie das Überprüfen des Datenwerts unter Verwendung des korrespondierenden Prüfwerts wird hierbei für alle Datenwerte einer vorbestimmten Gruppe von Speicherregistern innerhalb einer vorbestimmten Zeitspanne nacheinander ausgeführt. Insbesondere erfolgt das Auslesen und Überprüfen der Datenwerte innerhalb der vorbestimmten Zeitspanne periodisch.
Finally it is provided:
  • A method of checking the memory contents of a memory module. The memory module includes multiple memory registers. Each of the multiple storage registers is designed to store a data value and a check value corresponding to the data value. The method includes a step of reading a data value and a corresponding check value from one of the plurality of storage registers. Furthermore, the method comprises a step for checking the data value that has been read out using the corresponding check value that has been read out. The reading out and checking of the data value using the corresponding test value is carried out one after the other for all data values of a predetermined group of storage registers within a predetermined period of time. In particular, the data values are read out and checked periodically within the predetermined period of time.

Vorteile der ErfindungAdvantages of the Invention

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass beim Schreiben, Auslesen oder während des Speichervorgangs von Daten in einem Speicher, insbesondere einem Halbleiterspeicher, es beispielsweise durch eine Fehlfunktion zu einer Veränderung eines zu speichernden Datenwerts kommen kann. Wird ein derart verfälschter Datenwert als Grundlage für weitere Operationen, wie zum Beispiel die Steuerung eines technischen Systems, genutzt, kann es zu einer unerwünschten Fehlfunktion kommen. Die Berechnung von Prüfwerten zur Überprüfung von ausgelesenen Datenwerten erfordert jedoch eine nicht zu vernachlässigende Rechenleistung. Werden für Steuer- oder Regelaufgaben mehrere Datenwerte parallel verwendet, so ist es gegebenenfalls nicht möglich, zum Auslesezeitpunkt alle Daten parallel innerhalb einer erforderlichen Zeitspanne zu überprüfen.The present invention is based on the finding that when data is written, read or stored in a memory, in particular a semiconductor memory, a malfunction can result in a change in a data value to be stored, for example. If such a falsified data value is used as a basis for further operations, such as the control of a technical system, an undesirable malfunction can occur. However, the calculation of test values for checking data values that have been read out requires a computing power that is not negligible. If several data values are used in parallel for control or regulation tasks, it may not be possible to check all the data in parallel within a required period of time at the time of reading.

Es ist daher eine Idee der vorliegenden Erfindung, dieser Erkenntnis Rechnung zu tragen und eine Speichervorrichtung sowie ein entsprechendes Verfahren bereitzustellen, welches bereits vorab eine Überprüfung von Speicherinhalten ermöglicht. Auf diese Weise kann die Zuverlässigkeit der in den einzelnen Registern einer solchen Speichervorrichtung abgespeicherten Datenwerte mit hoher Zuverlässigkeit gewährleistet werden.It is therefore an idea of the present invention to take this knowledge into account and to provide a memory device and a corresponding method which already enables memory contents to be checked in advance. In this way, the reliability of the data values stored in the individual registers of such a memory device can be guaranteed with high reliability.

Die Überprüfung der Speicherinhalte der einzelnen Speicherregister erfolgt dabei einzeln nacheinander. Daher ist für die Überprüfung der Datenwerte in den einzelnen Speicherregistern nur eine relativ geringe Rechenleistung erforderlich. Da jeweils innerhalb einer vorgegebenen Zeitspanne nacheinander alle zu überprüfenden Speicherregister auf Konsistenz hin überprüft werden, kann gewährleistet werden, dass eine Veränderung, insbesondere eine Verfälschung, von Datenwerten in den Speicherregistern innerhalb dieser vorgegebenen Zeitspanne detektiert wird. Somit kann gewährleistet werden, dass ein Fehler in den Datenwerten innerhalb dieser vorgegebenen Zeitspanne identifiziert wird und somit eine Weiterverarbeitung von fehlerhaften Datenwerten innerhalb dieser vorgegebenen Zeitspanne gestoppt werden kann.The memory contents of the individual memory registers are checked one after the other. Therefore, only a relatively small amount of computing power is required to check the data values in the individual memory registers. Since all of the memory registers to be checked are checked for consistency one after the other within a specified time period, it can be ensured that a change, in particular a falsification, of data values in the memory registers is detected within this specified time period. It can thus be ensured that an error in the data values is identified within this specified time period and further processing of erroneous data values can thus be stopped within this specified time period.

Werden beispielsweise die Datenwerte einer solchen Speichervorrichtung als Grundlage für Funktionen eines Fahrerassistenzsystems in einem Kraftfahrzeug genutzt, so kann gewährleistet werden, dass eine Inkonsistenz in den gespeicherten Datenwerten innerhalb der vorgegebenen Zeitspanne erkannt wird. Folglich kann gewährleistet werden, dass die entsprechende Funktion des Systems nicht länger als die vorgegebene Zeitspanne auf Grundlage von fehlerhaften Datenwerten fortgeführt wird.If, for example, the data values of such a memory device are used as the basis for functions of a driver assistance system in a motor vehicle, it can be ensured that an inconsistency in the stored data values is detected within the specified time period. Consequently, it can be ensured that the corresponding function of the system is not continued longer than the predetermined period of time based on erroneous data values.

Wird ein Fehler bzw. eine Inkonsistenz in den in der Speichervorrichtung gespeicherten Datenwerten detektiert, so können entsprechende Schritte eingeleitet werden. Beispielsweise kann ein System, welches auf Grundlage der in der Speichervorrichtung gespeicherten Daten gesteuert oder geregelt wird, in einen Notbetrieb überführt oder gegebenenfalls gestoppt werden. Gegebenenfalls kann das System zumindest teilweise unter Ausschluss der als fehlerhaft identifizierten Datenwerte weiterbetrieben werden.If an error or an inconsistency is detected in the data values stored in the memory device, appropriate steps can be taken. For example, a system that is controlled or regulated on the basis of the data stored in the storage device can be switched to emergency operation or possibly stopped. If necessary, the system can continue to be operated at least partially with the exclusion of the data values identified as faulty.

Gemäß einer Ausführungsform ist das Prüfmodul dazu ausgelegt, ein Fehlersignal bereitzustellen, falls bei der periodischen Überprüfung des Datenwerts eines Speicherregisters ein Fehler detektiert worden ist. Zusätzlich oder alternativ kann auch ein Fehlersignal bereitgestellt werden, falls das Ausgabemodul einen Fehler in einem ausgelesenen Datenwert detektiert hat.According to one embodiment, the checking module is designed to provide an error signal if an error has been detected during the periodic checking of the data value of a memory register. Additionally or alternatively, an error signal can also be provided if the output module has detected an error in a data value that has been read out.

Die Signalisierung eines Fehlers kann beispielsweise einer angeschlossenen Datenverarbeitungsvorrichtung bereitgestellt werden. Diese Datenverarbeitungsvorrichtung kann beispielsweise nach Signalisierung eines Fehlers bzw. einer Inkonsistenz in den gespeicherten Datenwerten entsprechende Schritte einleiten. Beispielsweise kann ein System, welches unter Verwendung der in der Speichervorrichtung gespeicherten Datenwerte gesteuert oder geregelt wird, in einen sicheren Betriebsmodus überführt werden oder das System kann vollständig gestoppt werden. Ferner ist es möglich, das System beispielsweise unter Ausschluss der als fehlerhaft identifizierten Datenwerte weiter zu betreiben.The signaling of an error can be provided to a connected data processing device, for example. This data processing device can, for example, initiate appropriate steps after an error or an inconsistency in the stored data values has been signaled. For example, a system that is controlled or regulated using the data values stored in the storage device can be transferred to a safe operating mode or the system can be stopped completely. Furthermore, it is possible to continue to operate the system, for example, excluding the data values identified as faulty.

Gemäß einer Ausführungsform der Speichervorrichtung ist das Prüfmodul dazu ausgelegt, die Datenwerte der Speicherregister nacheinander mit einer vorgegebenen Taktrate zu überprüfen. Bei der vorgegebenen Taktrate kann es sich insbesondere um eine Taktrate handeln, mit welcher die Speichervorrichtung betrieben wird. Beispielsweise kann es sich bei der Taktrate um eine Taktrate handeln, mit welcher einzelne Datenwerte in die Speicherregister des Speichermoduls eingeschrieben oder ausgelesen werden können, sowie eine Taktrate, mit der die Speichervorrichtung gegebenenfalls auch die Datenwerte mehrerer, insbesondere aller Speicherregister parallel bereitstellen kann. Das Prüfmodul kann in diesem Fall dazu ausgelegt sein, pro Takt jeweils den Datenwert eines Speicherregisters zu überprüfen.According to one embodiment of the memory device, the checking module is designed to check the data values of the memory registers one after the other at a predefined clock rate. The specified clock rate can in particular be a clock rate at which the memory device is operated. For example, the clock rate can be a clock rate at which individual data values can be written to or read from the memory register of the memory module, as well as a clock rate at which the memory device can also provide the data values of several, in particular all, memory registers in parallel. In this case, the checking module can be designed to check the data value of a memory register for each cycle.

Gemäß einer Ausführungsform ist das Prüfmodul dazu ausgelegt, die Datenwerte aller Speicherregister der vorgestimmten Gruppe von Speicherregistern innerhalb der vorbestimmten Zeitspanne jeweils genau einmal zu überprüfen. Erfolgt das Überprüfen der einzelnen Speicherregister mit einer vorgegebenen Taktrate, so sind für eine Anzahl von n Speicherregistern somit n Takte erforderlich. Ist die Überprüfung der vorgegebenen Anzahl von Speicherregistern bereits vor Ablauf der vorgegebenen Zeitspanne abgeschlossen, so kann die Prüfvorrichtung gegebenenfalls bis zur erneuten Überprüfung der Datenwerte deaktiviert werden. Auf diese Weise kann beispielsweise der Energieverbrauch gesenkt werden. Umfasst das Speichermodul mehr Speicherregister als innerhalb der vorgegebenen Zeitspanne überprüft werden können, so können die Speicherregister des Speichermoduls in mehrere Gruppen von Speicherregistern unterteilt werden. In diesem Fall kann für jede Gruppe der mehreren Gruppen von Speicherregistern ein separates Prüfmodul vorgesehen sein.According to one embodiment, the checking module is designed to check the data values of all memory registers of the predetermined group of memory registers exactly once within the predetermined period of time. Checking of the individual storage registers takes place ter with a predetermined clock rate, n clocks are therefore required for a number of n memory registers. If the checking of the predetermined number of storage registers is already completed before the end of the predetermined period of time, the checking device can be deactivated, if necessary, until the data values are checked again. In this way, for example, energy consumption can be reduced. If the memory module includes more memory registers than can be checked within the specified period of time, the memory registers of the memory module can be divided into a number of groups of memory registers. In this case, a separate test module can be provided for each group of the multiple groups of storage registers.

Entsprechend kann die Speichervorrichtung gemäß einer Ausführungsform ein Speichermodul mit mehreren Gruppen von Speicherregistern umfassen, wobei für jede Gruppe von Speicherregistern ein separates Prüfmodul vorgesehen ist. Auf diese Weise kann es ermöglicht werden, dass auch bei einer großen Anzahl von Speicherregistern in dem Speichermodul die Überprüfung der Datenwerte in den einzelnen Speicherregistern auf Konsistenz innerhalb einer relativ kurzen Zeitspanne gewährleistet werden kann.Correspondingly, according to one embodiment, the memory device can comprise a memory module with a plurality of groups of memory registers, a separate test module being provided for each group of memory registers. In this way, it can be made possible for the consistency of the data values in the individual memory registers to be checked within a relatively short period of time, even when there is a large number of memory registers in the memory module.

Gemäß einer Ausführungsform ist das Speichermodul dazu ausgelegt, die Datenwerte der mehreren Speicherregister parallel an einem Datenverarbeitungssystem bereitzustellen. Ein solches Datenverarbeitungssystem kann somit die parallel bereitgestellten Datenwerte der mehreren Speicherregister gleichzeitig empfangen und verarbeiten. Beispielsweise kann auf Grundlage der parallel bereitgestellten Datenwerte eine Berechnung von Steuerbefehlen oder Ähnlichem erfolgen.According to one embodiment, the memory module is designed to provide the data values of the multiple memory registers in parallel to a data processing system. Such a data processing system can thus simultaneously receive and process the data values provided in parallel from the plurality of memory registers. For example, control commands or the like can be calculated on the basis of the data values provided in parallel.

Gemäß einer Ausführungsform ist die vorbestimmte Zeitspanne, innerhalb der alle Datenwerte einer Gruppe von Speicherregistern überprüft werden, kleiner oder gleich einem fehlertoleranten Zeitintervall (englisch Fault Tolerant Time Interval - FTTI) einem Fault Detection Time Interval (FDTI) oder einem Fault Handling Time Interval (FHTI). Derartige Zeitintervalle sind beispielsweise aus ISO 26262 bekannt. Ein solches fehlertolerantes Zeitintervall bezeichnet beispielsweise eine Zeitspanne, in welcher ein System auch mit fehlerbehafteten Eingangswerten weiterbetrieben werden kann oder darf. Insbesondere kann ein System innerhalb einer solchen FTTI weiterbetrieben werden, ohne dass eine Gefahr oder signifikante Fehlfunktion auftritt.According to one embodiment, the predetermined period of time within which all data values of a group of memory registers are checked is less than or equal to a fault-tolerant time interval (FTTI), a fault detection time interval (FDTI) or a fault handling time interval (FHTI ). Such time intervals are known from ISO 26262, for example. Such a fault-tolerant time interval designates, for example, a period of time in which a system can or may continue to be operated even with faulty input values. In particular, a system can continue to be operated within such an FTTI without a hazard or significant malfunction occurring.

Gemäß einer Ausführungsform umfasst die Speichervorrichtung ein Eingabemodul. Das Eingabemodul ist dazu ausgelegt, einen Datenwert und eine Adresse für ein Speicherregister des Speichermoduls zu empfangen. Das Eingabemodul ist ferner dazu ausgelegt, einen Prüfwert für den empfangenen Datenwert und/oder die Adresse zu berechnen. Ferner ist das Eingabemodul dazu ausgelegt, den empfangenen Datenwert und den dazu berechneten korrespondierenden Prüfwert in Speicherregister zu schreiben, welches durch die empfangene Adresse spezifiziert wird. Zusätzlich oder alternativ umfasst die Speichervorrichtung ein Ausgabemodul. Das Ausgabemodul ist dazu ausgelegt, eine Adresse für ein Speicherregister zu empfangen. Weiterhin ist das Ausgabemodul dazu ausgelegt, den Datenwert und den Prüfwert aus dem durch die empfangene Adresse spezifizierten Speicherregister auszulesen. Ferner ist das Ausgabemodul dazu ausgelegt, den ausgelesenen Datenwert unter Verwendung des korrespondierenden ausgelesenen Prüfwerts zu überprüfen. Schließlich kann das Ausgabemodul den ausgelesenen Datenwert ausgeben. Insbesondere kann das Ausgabemodul in diesem Zusammenhang eine Signalisierung ausgeben, falls eine Inkonsistenz zwischen dem ausgelesenen Datenwert und dem korrespondierenden Prüfwert detektiert worden ist.According to one embodiment, the memory device includes an input module. The input module is designed to receive a data value and an address for a memory register of the memory module. The input module is also designed to calculate a check value for the received data value and/or the address. Furthermore, the input module is designed to write the received data value and the corresponding check value calculated thereto into a memory register, which is specified by the received address. Additionally or alternatively, the memory device includes an output module. The output module is designed to receive an address for a storage register. Furthermore, the output module is designed to read out the data value and the check value from the storage register specified by the received address. Furthermore, the output module is designed to check the data value that has been read out using the corresponding check value that has been read out. Finally, the output module can output the data value that has been read out. In particular, the output module can output a signal in this context if an inconsistency between the read data value and the corresponding test value has been detected.

Gemäß einer Ausführungsform ist mindestens das Speichermodul und das Prüfmodul auf einem gemeinsamen Mikrochip implementiert. Ferner können auch die zusätzlichen Komponenten, wie beispielsweise das Eingabemodul und/oder das Ausgabemodul ebenfalls auf dem gemeinsamen Chip implementiert sein. Darüber hinaus können auch weitere Komponenten, welche beispielsweise die in dem Speichermodul gespeicherten Datenwerte nutzen, ebenfalls auf dem Mikrochip implementiert werden. Alternativ kann eine Schnittstelle auf dem Mikrochip implementiert werden, welche die in den einzelnen Speicherregistern gespeicherten Datenwerte parallel an eine angeschlossene weitere Komponente, beispielsweise eine Datenverarbeitungsvorrichtung oder Ähnliches, weitergibt.According to one embodiment, at least the memory module and the test module are implemented on a common microchip. Furthermore, the additional components, such as the input module and/or the output module, can also be implemented on the common chip. In addition, other components, which use the data values stored in the memory module, for example, can also be implemented on the microchip. Alternatively, an interface can be implemented on the microchip, which forwards the data values stored in the individual memory registers in parallel to a further connected component, for example a data processing device or the like.

Die obigen Ausgestaltungen und Weiterbildungen lassen sich, soweit sinnvoll, beliebig miteinander kombinieren. Weitere Ausgestaltungen, Weiterbildungen und Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich den Ausführungsbeispielen beschriebenen Merkmalen der Erfindung. Insbesondere wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu den jeweiligen Grundformen der Erfindung hinzufügen.The above configurations and developments can be combined with one another as desired, insofar as this makes sense. Further refinements, developments and implementations of the invention also include combinations of features of the invention described above or below with regard to the exemplary embodiments that are not explicitly mentioned. In particular, the person skilled in the art will also add individual aspects as improvements or additions to the respective basic forms of the invention.

Figurenlistecharacter list

Weitere Merkmale und Vorteile der Erfindung werden nachfolgend anhand der Figuren erläutert. Dabei zeigen:

  • 1: eine schematische Darstellung eines Blockschaubilds, einer Speichervorrichtung gemäß einer Ausführungsform; und
  • 2: eine schematische Darstellung eines Ablaufdiagramms, wie es einem Verfahren zur Überprüfung von Speicherinhalten gemäß einer Ausführungsform zugrunde liegt.
Further features and advantages of the invention are explained below with reference to the figures. show:
  • 1 12 is a schematic representation of a block diagram of a memory device according to an embodiment; and
  • 2 FIG. 1: a schematic representation of a flow chart as a basis for a method for checking memory contents according to an embodiment.

Beschreibung der AusführungsformenDescription of the embodiments

1 zeigt eine schematische Darstellung eines Blockschaubilds einer Speichervorrichtung 1 gemäß einer Ausführungsform. Die Speichervorrichtung 1 umfasst ein Speichermodul 10 sowie ein Prüfmodul 20. Ferner kann die Speichervorrichtung 1 ein Eingabemodul 30 und/oder ein Ausgabemodul 40 umfassen. 1 FIG. 1 shows a schematic representation of a block diagram of a memory device 1 according to an embodiment. The memory device 1 comprises a memory module 10 and a test module 20. Furthermore, the memory device 1 can comprise an input module 30 and/or an output module 40.

Das Speichermodul 10 umfasst mehrere Speicherregister 11-i. Insbesondere können in jedem Speicherregister 11-i in einem ersten Teil 12-i ein Datenwert sowie in einem zweiten Teil 13-i ein korrespondierender Prüfwert abgespeichert werden. Bei dem Prüfwert kann es sich um einen Wert handeln, welcher auf beliebige Weise unter Verwendung des korrespondierenden Datenwerts berechnet wird. Beispielsweise kann es sich um eine Prüfsumme wie zum Beispiel einen CRC-Wert handeln. Aber auch die Verwendung eines oder mehrerer Paritätsbits ist ebenso möglich. Darüber hinaus können selbstverständlich auch beliebige andere Berechnungsgrundlagen zur Erstellung eines zu dem Datenwert korrespondierenden Prüfwerts vorgesehen sein. Alternativ zu einem reinen Prüfwert ist es auch möglich, als einen Code verwendet werden, der auch eine Fehlerkorrektur erlaubt. Derartige Fehlerkorrekturcodes (ECC), wie beispielsweise ein Hamming-Code, ermöglichen zunächst die Klassifikation, ob ein Fehler aufgetreten ist. Falls ein Fehler identifiziert worden ist, kann unter Verwendung des Codes ermittelt werden, ob der detektierte Fehler korrigiert werden kann. Falls der detektierte Fehler korrigierbar ist, kann direkt bei der Ausgabe eine Korrektur durchgeführt werdenThe memory module 10 includes a plurality of memory registers 11-i. In particular, a data value can be stored in a first part 12-i and a corresponding test value can be stored in a second part 13-i in each storage register 11-i. The check value can be a value that is calculated in any way using the corresponding data value. For example, it can be a checksum such as a CRC value. However, the use of one or more parity bits is also possible. In addition, any other calculation basis can of course also be provided for creating a test value that corresponds to the data value. As an alternative to a pure test value, it is also possible to use it as a code that also allows error correction. Error correction codes (ECC) of this type, such as a Hamming code, initially enable classification as to whether an error has occurred. If an error has been identified, it can be determined using the code whether the detected error can be corrected. If the detected error can be corrected, a correction can be carried out directly at the output

Zum Beschreiben der einzelnen Speicherregister 11-i kann beispielsweise an dem Eingabemodul 30 ein Adresswert A bereitgestellt werden, welcher eine Adresse für eines der Speicherregister 11-i spezifiziert. Parallel dazu kann ein Datenwert D an dem Eingabemodul 30 bereitgestellt werden. Das Eingabemodul 30 kann daraufhin unter Verwendung des bereitgestellten Datenwerts D einen entsprechenden Prüfwert berechnen. Dieser berechnete Prüfwert kann daraufhin zusammen mit dem bereitgestellten Datenwert in dem durch die Adresse A spezifizierten Speicherregister 11-i gespeichert werden.In order to write to the individual memory registers 11-i, an address value A can be provided at the input module 30, for example, which specifies an address for one of the memory registers 11-i. In parallel with this, a data value D can be provided at the input module 30 . The input module 30 can then calculate a corresponding test value using the data value D provided. This calculated test value can then be stored in the storage register 11-i specified by the address A together with the data value provided.

Zum Auslesen einzelner Datenwerte kann beispielsweise an dem Ausgabemodul 40 eine Adresse A bereitgestellt werden, welche eines der Speicherregister 11-i spezifiziert. Daraufhin kann das Ausgabemodul 40 den in dem durch die Adresse A spezifizierten Speicherregister 11-i sowie den dazu korrespondierenden Prüfwert auslesen. Das Ausgabemodul 40 berechnet daraufhin unter Verwendung des ausgelesenen Datenwertes einen Prüfwert und vergleicht diesen berechneten Prüfwert mit dem aus dem Speicherregister 11-i ausgelesenen Prüfwert. Stimmen der berechnete und der ausgelesene Prüfwert miteinander überein, so wird der ausgelesene Datenwert als korrekt klassifiziert. Alternativ kann bei einer Diskrepanz zwischen dem berechneten Prüfwert und dem ausgelesenen Prüfwert ein Fehler in dem ausgelesenen Datenwert (oder dem ausgelesenen Prüfwert) detektiert werden. Wird ein solcher Fehler detektiert, so kann beispielsweise ein Fehlersignal F ausgegeben werden. Darüber hinaus kann, gegebenenfalls unabhängig vom Ergebnis der Überprüfung, der ausgelesene Datenwert D durch das Ausgabemodul 40 ausgegeben werden. Gegebenenfalls kann der Datenwert D auch nur dann ausgegeben werden, falls die Überprüfung des ausgelesenen Prüfwerts mit dem berechneten Prüfwert auf einen fehlerfreien Datenwert hinweist.For reading out individual data values, for example, an address A can be provided at the output module 40, which address specifies one of the memory registers 11-i. The output module 40 can then read out the memory register 11-i specified by the address A and the check value corresponding thereto. The output module 40 then calculates a test value using the read data value and compares this calculated test value with the test value read from the storage register 11-i. If the calculated test value and the read test value agree with one another, the data value read out is classified as correct. Alternatively, if there is a discrepancy between the calculated check value and the read check value, an error in the read data value (or the read check value) can be detected. If such an error is detected, an error signal F can be output, for example. In addition, the read data value D can be output by the output module 40, possibly independently of the result of the check. If necessary, the data value D can also only be output if the checking of the test value that has been read out with the calculated test value indicates an error-free data value.

Neben dem sequentiellen Schreiben und Auslesen von Datenwerten in einzelne Speicherregister 11-i ist es auch möglich, mehrere oder gegebenenfalls alle Datenwerte der Speicherregister 11-i parallel bereitzustellen. Beispielsweise können die Datenwerte der einzelnen Speicherregister 11-i als Datenwerte D1 bis Dn über eine geeignete Schnittstelle der Speichervorrichtung 1 bereitgestellt werden. Alternativ ist es auch möglich, die Datenwerte D1 bis Dn von dem Speichermodul 10 innerhalb eines Speicherchips direkt an eine geeignete weitere Verarbeitungseinrichtung weiterzugeben. Insbesondere bei dem parallelen Bereitstellen mehrerer Datenwerte Di der Speicherregister 11-i können die einzelnen Datenwerte Di auch ohne unmittelbare Überprüfung der korrespondierenden Prüfwerte weitergegeben werden.In addition to the sequential writing and reading out of data values in individual storage registers 11-i, it is also possible to provide several or possibly all data values of the storage registers 11-i in parallel. For example, the data values of the individual memory registers 11-i can be provided as data values D1 to Dn via a suitable interface of the memory device 1. Alternatively, it is also possible to forward the data values D1 to Dn from the memory module 10 directly to a suitable further processing device within a memory chip. In particular when a plurality of data values Di are provided in parallel in the storage registers 11-i, the individual data values Di can also be forwarded without an immediate check of the corresponding test values.

Um darüber hinaus sicherzustellen, dass die in den Speicherregistern 11-i gespeicherten Datenwerte fehlerfrei sind, kann mittels des Prüfmoduls 20 eine periodische Überprüfung der einzelnen Datenwerte in den Speicherregistern 11-i unter Verwendung der korrespondierenden Prüfwerte erfolgen. Die einzelnen Datenwerte und die korrespondierenden Prüfwerte werden dabei nacheinander sequentiell durch das Prüfmodul 20 ausgelesen und überprüft. Hierzu liest das Prüfmodul 20 jeweils einen Datenwert und den korrespondierenden Prüfwert aus einem Speicherregister 11-i aus. Daraufhin berechnet das Prüfmodul 20 für den ausgelesenen Datenwert einen Prüfwert und vergleicht diesen berechneten Prüfwert mit dem korrespondierenden ausgelesenen Prüfwert. Stimmen der berechnete und der ausgelesene Prüfwert miteinander überein, so wird der Datenwert (und der korrespondierende Prüfwert) als fehlerfrei klassifiziert. Weichen der berechnete Prüfwert und der ausgelesene Prüfwert dagegen voneinander ab, so ist dies ein Indiz auf einen Fehler in dem gespeicherten Datenwert oder dem korrespondierenden Prüfwert. In diesem Fall kann beispielsweise ein Fehler durch Ausgabe eines Fehlersignals F signalisiert werden.In order to also ensure that the data values stored in the storage registers 11-i are error-free, the test module 20 can be used to periodically check the individual data values in the storage registers 11-i using the corresponding test values. The individual data values and the corresponding test values are sequentially read out and checked one after the other by the test module 20 . For this purpose, the test module 20 reads a data value and the corresponding test value from a memory register 11-i. The test module 20 then calculates a test value for the data value read out and compares it calculated test value with the corresponding read test value. If the calculated test value and the read test value match, the data value (and the corresponding test value) is classified as error-free. If, on the other hand, the calculated check value and the check value read out differ from one another, then this is an indication of an error in the stored data value or in the corresponding check value. In this case, an error can be signaled by outputting an error signal F, for example.

Wie zuvor bereits angeführt, kann bei Detektion eines Fehlers in den gespeicherten Datenwerten (oder den korrespondierenden Prüfwerten) eine beliebige geeignete Operation initiiert (oder gestoppt) werden. Beispielsweise kann beim Signalisieren eines Fehlers durch das Fehlersignal F ein Interrupt oder Ähnliches ausgelöst werden. Nach Detektion eines Fehlers kann zum Beispiel die Steuerung eines Systems entsprechend angepasst oder gegebenenfalls vollständig gestoppt werden.As previously noted, any suitable operation may be initiated (or stopped) upon detection of an error in the stored data values (or the corresponding test values). For example, when an error is signaled by the error signal F, an interrupt or the like can be triggered. After detecting an error, for example, the control of a system can be adjusted accordingly or, if necessary, stopped completely.

Das Überprüfen der Datenwerte erfolgt unter Verwendung der korrespondierenden Prüfwerte in den einzelnen Speicherregistern 11 durch das Prüfmodul 20 sequentiell, d.h. es wird jeweils nacheinander ein Datenwert und ein korrespondierender Prüfwert ausgelesen und daraufhin der Datenwert und der korrespondierende Prüfwert auf Konsistenz hin überprüft. Wird beispielsweise die Speichervorrichtung 1 mit einer vorgegebenen Taktrate betrieben, so kann pro Takt der Taktrate jeweils der Inhalt eines Speicherregisters 11-i überprüft werden. Entsprechend sind für eine Anzahl von n Speicherregistern somit n Taktzyklen erforderlich. Zur Überprüfung aller Speicherregister 11-i des Speichermoduls 10 können beispielsweise alle Speicherregister zyklisch ausgelesen und überprüft werden. Nach Überprüfen des letzten Speicherregisters 11-n kann daraufhin erneut mit der Überprüfung des ersten Speicherregisters 11-1 begonnen werden. Selbstverständlich ist auch jedes beliebige andere geeignete Schema möglich, welches das Auslesen und Überprüfen aller erforderlichen Speicherregister 11-i ermöglicht. Nachdem alle Speicherregister nacheinander überprüft worden sind, kann ein erneuter Zyklus zur nächsten Überprüfung aller Speicherregister 11-i gestartet werden. Auf diese Weise können die Speicherregister 11-i periodisch auf Konsistenz bzw. Fehlerfreiheit hin überprüft werden.The data values are checked sequentially by the check module 20 using the corresponding check values in the individual memory registers 11, i.e. a data value and a corresponding check value are read out one after the other and the data value and the corresponding check value are then checked for consistency. If, for example, the memory device 1 is operated at a predetermined clock rate, then the content of a memory register 11-i can be checked for each cycle of the clock rate. Correspondingly, n clock cycles are therefore required for a number of n memory registers. To check all memory registers 11-i of the memory module 10, for example, all memory registers can be read out and checked cyclically. After the last memory register 11-n has been checked, the first memory register 11-1 can then be checked again. Of course, any other suitable scheme is also possible, which enables all required memory registers 11-i to be read out and checked. After all storage registers have been checked one after the other, a new cycle can be started for the next check of all storage registers 11-i. In this way, the storage registers 11-i can be periodically checked for consistency or freedom from errors.

Insbesondere wenn die in den Speicherregistern 11-i gespeicherten Datenwerte als Grundlage für weitere Operationen, wie zum Beispiel das Berechnen von Steuerbefehlen oder Ähnlichem herangezogen werden, so ist es erstrebenswert, dass ein Fehler bzw. eine Inkonsistenz in den gespeicherten Datenwerten innerhalb einer vorgegebenen Zeitspanne detektiert wird. Eine solche Zeitspanne, innerhalb der ein Fehler in den Datenwerten detektiert werden muss, kann beispielsweise durch ein sogenanntes fehlertolerantes Zeitintervall (englisch Fault Tolerant Time Interval, FTTI) vorgegeben werden. Ein solches Zeitintervall bezeichnet eine Zeitspanne, mit der ein System maximal mit fehlerbehafteten Daten weiterbetrieben werden darf (siehe z.B. ISO 26262). Darüber hinaus sind Zeitspannen, innerhalb welcher ein Fehler innerhalb eines Systems detektiert werden soll/muss, auch unter dem Begriff Fault Detection Time Interval (FDTI) bzw. Fault Handling Time Interval (FHTI) bekannt.In particular, if the data values stored in the storage registers 11-i are used as a basis for further operations, such as calculating control commands or the like, it is desirable that an error or an inconsistency in the stored data values be detected within a specified period of time becomes. Such a period of time, within which an error in the data values must be detected, can be specified, for example, by a so-called fault-tolerant time interval (FTTI). Such a time interval designates a maximum period of time during which a system may continue to be operated with faulty data (see e.g. ISO 26262). In addition, periods of time within which an error should/must be detected within a system are also known under the term Fault Detection Time Interval (FDTI) or Fault Handling Time Interval (FHTI).

Um die Einhaltung der zuvor genannten Bedingung einer Fehlerdetektion innerhalb eines FTTI oder Ähnlichem zu gewährleisten, führt das Prüfmodul 20 eine Überprüfung aller Datenwerte in den Speicherregistern 11-i in einer Zeitspanne aus, die ein vorgegebenes FTTI nicht überschreitet. Ist eine Überprüfung aller Speicherregister 11-i des Speichermoduls 20 durch sequentielles Auslesen und Überprüfen der einzelnen Speicherregister 11-i mittels eines einzelnen Prüfmoduls 20 nicht möglich, so können die Speicherregister 11-i des Speichermoduls 10 in zwei oder mehrere Gruppen von Speicherregistern 11-i unterteilt werden. In diesem Fall kann für jede Gruppe der Speicherregister 11-i ein separates Prüfmodul 20 vorgesehen sein. Die einzelnen Prüfmodule 20 können dabei jeweils parallel betrieben werden.In order to ensure compliance with the aforementioned condition of error detection within an FTTI or the like, the checking module 20 checks all data values in the storage registers 11-i in a time period which does not exceed a predetermined FTTI. If it is not possible to check all the memory registers 11-i of the memory module 20 by sequentially reading out and checking the individual memory registers 11-i using a single checking module 20, the memory registers 11-i of the memory module 10 can be divided into two or more groups of memory registers 11-i be subdivided. In this case, a separate test module 20 can be provided for each group of memory registers 11-i. The individual test modules 20 can each be operated in parallel.

Kann dagegen ein einzelnes Prüfmodul 20 auch bei einer sequentiellen Überprüfung der einzelnen Datenwerte und der korrespondierenden Prüfwerte in den Speicherregistern 11-i die Überprüfung schneller ausführen als dies durch das vorgegebene Zeitintervall, beispielsweise das FTTI, vorgegeben ist, so kann das Prüfmodul 20 bis zu einer erneuten Überprüfung der Registerinhalte pausieren und beispielsweise deaktiviert werden. Auf diese Weise kann der Energieverbrauch des Systems reduziert werden.If, on the other hand, an individual test module 20 can carry out the test more quickly than is specified by the specified time interval, for example the FTTI, even with a sequential check of the individual data values and the corresponding test values in the storage registers 11-i, the test module 20 can carry out up to one pause the renewed check of the register contents and, for example, be deactivated. In this way, the energy consumption of the system can be reduced.

2 zeigt eine schematische Darstellung eines Ablaufdiagramms, wie es einem Verfahren zur Überprüfung von Speicherinhalten eines Speichermoduls zugrunde liegt. Das Verfahren kann beispielsweise mittels der zuvor beschriebenen Komponenten der Speichervorrichtung 1 realisiert werden. Entsprechend kann die Speichervorrichtung 1 beliebige Komponenten umfassen, welche zur Realisierung des nachfolgend beschriebenen Verfahrens erforderlich sind. Analog kann auch das nachfolgend beschriebene Verfahren beliebige weitere Schritte umfassen, welche zuvor in Zusammenhang mit der Speichervorrichtung 1 bereits beschrieben worden sind. 2 shows a schematic representation of a flowchart on which a method for checking memory contents of a memory module is based. The method can be implemented, for example, using the components of the memory device 1 described above. Correspondingly, the memory device 1 can include any components that are required to implement the method described below. Analogously, the method described below can also include any additional steps that have already been described above in connection with the memory device 1 .

In Schritt S1 erfolgt ein Auslesen eines Datenwerts und eines korrespondierenden Prüfwerts aus einem der mehreren Speicherregister 11-i.In step S1, a data value and a corresponding check value are read from one of the plurality of storage registers 11-i.

In Schritt S2 wird der ausgelesene Datenwert unter Verwendung des ausgelesenen korrespondierenden Prüfwerts überprüft. Hierzu kann beispielsweise für den ausgelesenen Datenwert ein Prüfwert berechnet werden. Der berechnete Prüfwert kann mit dem ausgelesenen Prüfwert verglichen werden. Weichen der ausgelesene Prüfwert und der berechnete Prüfwert voneinander ab, so kann ein Fehler signalisiert werden.In step S2, the data value read out is checked using the corresponding check value read out. For this purpose, for example, a test value can be calculated for the data value read out. The calculated test value can be compared with the read test value. If the test value read out and the calculated test value deviate from one another, an error can be signaled.

Das Auslesen und das Überprüfen der Datenwerte unter Verwendung der korrespondierenden Prüfwerte erfolgt für alle Datenwerte und Prüfwerte einer vorgegebenen Gruppe von Speicherregistern innerhalb einer vorbestimmten Zeitspanne, insbesondere beispielsweise innerhalb eines FTTI. Ferner wird das Auslesen und Überprüfen aller Inhalte der Speicherregister 11-i der Gruppe von Speicherregistern periodisch wiederholt.The data values are read out and checked using the corresponding test values for all data values and test values of a predetermined group of storage registers within a predetermined time period, in particular within an FTTI, for example. Furthermore, the reading and checking of all the contents of the storage registers 11-i of the group of storage registers are repeated periodically.

Zusammenfassend betrifft die vorliegende Erfindung eine Speichervorrichtung und ein Verfahren zur Überprüfung von Speicherinhalten eines Speichermoduls mit mehreren Registern. Die Inhalte der einzelnen Register werden zyklisch, periodisch nacheinander innerhalb von vorgegebenen Zeitintervallen überprüft. Somit wird gewährleistet, dass ein Fehler bzw. eine Inkonsistenz in den gespeicherten Daten innerhalb der vorgegebenen Zeitspanne detektiert wird.In summary, the present invention relates to a memory device and a method for checking memory contents of a memory module with a plurality of registers. The contents of the individual registers are checked cyclically, periodically one after the other within specified time intervals. This ensures that an error or an inconsistency in the stored data is detected within the specified time period.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN 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 cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent Literature Cited

  • DE 60210658 T2 [0005]DE 60210658 T2 [0005]

Claims (10)

Speichervorrichtung (1), mit: einem Speichermodul (10), das mehrere Speicherregister (11-i) umfasst, wobei jedes Speicherregister (11-i) dazu ausgelegt ist, einen Datenwert und einen zu dem Datenwert korrespondierenden Prüfwert zu speichern; und einem Prüfmodul (20), das dazu ausgelegt ist, den Datenwert eines Speicherregisters (11-i) unter Verwendung des korrespondierenden Prüfwerts zu überprüfen, wobei das Prüfmodul (20) ferner dazu ausgelegt ist, periodisch innerhalb einer vorbestimmten Zeitspanne nacheinander jeweils die Datenwerte einer vorbestimmten Gruppe von Speicherregister (11-i) zu überprüfen.Storage device (1), comprising: a memory module (10) comprising a plurality of memory registers (11-i), each memory register (11-i) being designed to store a data value and a check value corresponding to the data value; and a check module (20) designed to check the data value of a memory register (11-i) using the corresponding check value, wherein the checking module (20) is also designed to periodically check the data values of a predetermined group of storage registers (11-i) one after the other periodically within a predetermined period of time. Speichervorrichtung (1) nach Anspruch 1, wobei das Prüfmodul (20) dazu ausgelegt ist, ein Fehlersignal (F) bereitzustellen, falls bei der periodischen Überprüfung des Datenwerts eines Speicherregisters ein Fehler detektiert worden ist.Storage device (1) according to claim 1 , wherein the checking module (20) is designed to provide an error signal (F) if an error has been detected during the periodic checking of the data value of a memory register. Speichervorrichtung (1) nach Anspruch 1 oder 2, wobei das Prüfmodul (20) dazu ausgelegt ist, die Datenwerte der Speicherregister (11-i) nacheinander mit einer vorgegebenen Taktrate zu überprüfen, und wobei das Prüfmodul (20) dazu ausgelegt ist pro Takt jeweils den Datenwert eines Speicherregisters (11-i) zu überprüfen.Storage device (1) according to claim 1 or 2 , wherein the test module (20) is designed to check the data values of the memory registers (11-i) one after the other at a predetermined clock rate, and wherein the test module (20) is designed to check the data value of a memory register (11-i) per cycle to check. Speichervorrichtung (1) nach einem der Ansprüche 1 bis 3, wobei die Datenwerte aller Speicherregister (11-i) der vorgestimmten Gruppe von Speicherregister (11-i) innerhalb der vorbestimmten Zeitspanne jeweils genau einmal überprüft werden.Storage device (1) according to one of Claims 1 until 3 , wherein the data values of all storage registers (11-i) of the predetermined group of storage registers (11-i) are each checked exactly once within the predetermined period of time. Speichervorrichtung (1) nach einem der Ansprüche 1 bis 4, wobei das Speichermodul (10) mehrere Gruppen von Speicherregistern (11-i) umfasst, und wobei für jede Gruppe von Speicherregister (11-i) ein separates Prüfmodul (20) vorgesehen ist.Storage device (1) according to one of Claims 1 until 4 , wherein the memory module (10) comprises a plurality of groups of memory registers (11-i), and wherein a separate test module (20) is provided for each group of memory registers (11-i). Speichervorrichtung (1) nach einem der Ansprüche 1 bis 5, wobei das Speichermodul (10) dazu ausgelegt ist, die Datenwerte der mehreren Speicherregister (11-i) parallel an einem Datenverarbeitungssystem bereitzustellen, und wobei die vorbestimmte Zeitspanne maximal einem Fault Tolerant Time Interval des Datenverarbeitungssystems entspricht.Storage device (1) according to one of Claims 1 until 5 , wherein the memory module (10) is designed to provide the data values of the plurality of memory registers (11-i) in parallel to a data processing system, and wherein the predetermined period of time corresponds at most to a fault-tolerant time interval of the data processing system. Speichervorrichtung (1) nach einem der Ansprüche 1 bis 6, mit einem Eingabemodul (30), das dazu ausgelegt ist, einen Datenwert (D) und eine Adresse (A) für ein Speicherregister (11-i) des Speichermoduls (20) zu empfangen, einen Prüfwert für den empfangenen Datenwert (D) und/oder die empfangene Adresse (A) zu berechnen, und den empfangenen Datenwert (D) und den berechneten Prüfwert in das durch die Adresse (A) spezifizierte Speicherregister (11-i) zu schreiben; und mit einem Ausgabemodul (40), das dazu ausgelegt ist, eine Adresse (A) für ein Speicherregister (11-i) zu empfangen, den Datenwert und den Prüfwert aus dem durch die empfangene Adresse (A) spezifizierten Speicherregister (11-i) auszulesen, den ausgelesenen Datenwert unter Verwendung des korrespondierenden Prüfwerts zu überprüfen und den ausgelesenen Datenwert auszugeben.Storage device (1) according to one of Claims 1 until 6 , having an input module (30) designed to receive a data value (D) and an address (A) for a memory register (11-i) of the memory module (20), a check value for the received data value (D) and /or to calculate the received address (A) and to write the received data value (D) and the calculated check value into the storage register (11-i) specified by the address (A); and an output module (40) adapted to receive an address (A) for a storage register (11-i), the data value and the check value from the storage register (11-i) specified by the received address (A) to read out, to check the read out data value using the corresponding test value and to output the read out data value. Speichervorrichtung (1) nach einem der Ansprüche 1 bis 7, wobei das Speichermodul (10) und das Prüfmodul (20) in einem gemeinsamen Mikrochip implementiert sind.Storage device (1) according to one of Claims 1 until 7 , wherein the memory module (10) and the test module (20) are implemented in a common microchip. Steuervorrichtung, mit einer Speichervorrichtung (1) nach einem der Ansprüche 1 bis 8, wobei die Steuervorrichtung dazu ausgelegt ist, Steuersignale unter Verwendung der in den Speicherregistern (11-i) gespeicherten Datenwerte zu generieren.Control device, with a storage device (1) according to one of Claims 1 until 8th , wherein the control device is designed to generate control signals using the data values stored in the storage registers (11-i). Verfahren zur Überprüfung von Speicherinhalten eines Speichermodule (10) mit mehreren Speicherregistern (11-i), wobei die mehreren Speicherregister (11-i) jeweils dazu ausgelegt sind, einen Datenwert und einen zu dem Datenwert korrespondierenden Prüfwert zu speichern, mit den Schritten: Auslesen (S1) eines Datenwerts und eines korrespondierenden Prüfwerts aus einem der mehreren Speicherregister (11-i); und Überprüfen (S2) des ausgelesenen Datenwerts unter Verwendung des ausgelesenen korrespondierenden Prüfwerts; wobei das Auslesen (S1) und das Überprüfen (S2) periodisch innerhalb einer vorbestimmten Zeitspanne nacheinander für die Datenwerte einer vorbestimmten Gruppe von Speicherregister (11-i) ausgeführt wird.Method for checking memory contents of a memory module (10) with a plurality of memory registers (11-i), the plurality of memory registers (11-i) each being designed to store a data value and a test value corresponding to the data value, with the steps: reading (S1) a data value and a corresponding check value from one of the plurality of storage registers (11-i); and Checking (S2) the data value read out using the corresponding check value read out; wherein the reading out (S1) and the checking (S2) are carried out periodically within a predetermined period of time one after the other for the data values of a predetermined group of storage registers (11-i).
DE102021205172.3A 2021-05-20 2021-05-20 Storage device and method for checking storage contents Pending DE102021205172A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021205172.3A DE102021205172A1 (en) 2021-05-20 2021-05-20 Storage device and method for checking storage contents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021205172.3A DE102021205172A1 (en) 2021-05-20 2021-05-20 Storage device and method for checking storage contents

Publications (1)

Publication Number Publication Date
DE102021205172A1 true DE102021205172A1 (en) 2022-11-24

Family

ID=83898987

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021205172.3A Pending DE102021205172A1 (en) 2021-05-20 2021-05-20 Storage device and method for checking storage contents

Country Status (1)

Country Link
DE (1) DE102021205172A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60210658T2 (en) 2001-11-14 2007-04-05 Monolithic System Technology, Inc., Sunnyvale ERROR-CORRECTING MEMORY AND METHOD FOR USE THEREOF
US20090125788A1 (en) 2005-03-16 2009-05-14 Andrew Ray Wheeler Hardware based memory scrubbing
DE102009028871A1 (en) 2009-08-26 2011-03-03 Robert Bosch Gmbh Method for testing memory e.g. RAM memory, of function testing system for switching off of electrical vehicle drive, involves executing memory testing routine after cycle of predetermined time intervals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60210658T2 (en) 2001-11-14 2007-04-05 Monolithic System Technology, Inc., Sunnyvale ERROR-CORRECTING MEMORY AND METHOD FOR USE THEREOF
US20090125788A1 (en) 2005-03-16 2009-05-14 Andrew Ray Wheeler Hardware based memory scrubbing
DE102009028871A1 (en) 2009-08-26 2011-03-03 Robert Bosch Gmbh Method for testing memory e.g. RAM memory, of function testing system for switching off of electrical vehicle drive, involves executing memory testing routine after cycle of predetermined time intervals

Similar Documents

Publication Publication Date Title
DE102008033675B4 (en) Dual core engine control module architecture
DE19839680B4 (en) Method and device for modifying the memory contents of control units
DE10335978B4 (en) Hub module for connecting one or more memory modules
DE102015210651B4 (en) Circuit and method for testing an error correction capability
DE102018120315A1 (en) Non-volatile memory device and method of operation thereof
EP1588380B1 (en) Method for the recognition and/or correction of memory access errors and electronic circuit arrangement for carrying out said method
DE102018124836A1 (en) NEW STORAGE BLOCK
DE102005040916A1 (en) Memory arrangement and method of operation therefor
EP0990236B1 (en) Storage cell system and method for testing the function of storage cells
DE102018112584A1 (en) Configurable sensor device and method for monitoring its configuration
EP2786162B1 (en) Method of detecting a fault in connecting lines between a central unit and a plurality of electronic components which are independent of one another
DE102020111321A1 (en) SYSTEM AND PROCEDURE FOR DETECTION AND CORRECTION OF DATA ERRORS IN A TRANSPARENT REGISTER
DE102021205172A1 (en) Storage device and method for checking storage contents
DE102016221441A1 (en) Method and device for monitoring an image sensor
EP1595212B1 (en) Method and device for monitoring an electronic circuit
DE102006036384A1 (en) Microprocessor system for controlling or regulating at least partially safety-critical processes
DE10340236B4 (en) Arrangement with a data processing device and a memory
DE102017214610B4 (en) Method for checking at least one vehicle function and testing device
DE102009002786A1 (en) Method for testing a memory and control device with means for a memory test
DE102018122482A1 (en) Semiconductor memory module, semiconductor memory system, and method for accessing a semiconductor memory module
DE102021119998B3 (en) SERIAL DATA COMMUNICATION WITH IN-FRAME RESPONSE
DE10393178B4 (en) Arrangement of a sensor module and a control unit
DE102022111513A1 (en) Level sensor for activating and deactivating a safe operating state
EP4354808A1 (en) Gateway for connection to a host processor and a plurality of slaves and a method of operating the gateway
EP1993878B1 (en) Control apparatus

Legal Events

Date Code Title Description
R163 Identified publications notified