DE102021205172A1 - Storage device and method for checking storage contents - Google Patents
Storage device and method for checking storage contents Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
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.
- 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.
- 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.
- 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.
-
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
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
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
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
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
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
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
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
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
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)
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)
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 |
-
2021
- 2021-05-20 DE DE102021205172.3A patent/DE102021205172A1/en active Pending
Patent Citations (3)
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 |