DE102017115057A1 - Method for checking security-relevant register or memory cells for stuck-at errors during operation by comparing two write processes with different inversion states - Google Patents
Method for checking security-relevant register or memory cells for stuck-at errors during operation by comparing two write processes with different inversion states Download PDFInfo
- Publication number
- DE102017115057A1 DE102017115057A1 DE102017115057.9A DE102017115057A DE102017115057A1 DE 102017115057 A1 DE102017115057 A1 DE 102017115057A1 DE 102017115057 A DE102017115057 A DE 102017115057A DE 102017115057 A1 DE102017115057 A1 DE 102017115057A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- register cells
- stored
- inverted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Es wird ein Verfahren zur Überprüfung von Speicher- oder Registerzellen einer integrierten Schaltung auf Stuck-at-Fehler während des Betriebs dieser integrierten Schaltung vorgeschlagen, bei dem Teile der in den Speicher- oder Registerzellen abzulegenden Daten während des Betriebs mal invertiert, mal nicht invertiert abgelegt werden. Eine Information über die Invertierung wird mitabgelegt, sodass die Information rekonstruiert werden kann. Tritt ein Fehler durch einen Stuck-At-Fehler eines einzelnen Bits auf, so kann durch geeignete Invertierung der abzulegenden Daten und die entsprechende Information über die Invertierung die Speicherzelle in einem Notlaufmodus weiter genutzt werden. Ein weiterer Vorteil ist, dass hierdurch die Fehlerklasse „Stuck-At“ eindeutig identifiziert werden kann. Konkret wird die Fehlerdetektion durch ein erstes Abspeichern und Lesen der abzuspeichernden Daten und ein zweites Abspeichern und Lesen der gespeicherten Daten sichergestellt, wobei das zweite Abspeichern so erfolgt, das die Daten in den Speicher- und Registerzellen zumindest teilweise gegenüber dem ersten Speichern und Lesen beim zweiten Speichern und Lesen invertiert abgelegt werden.A method for checking memory or register cells of an integrated circuit for stuck-at errors during the operation of this integrated circuit is proposed in which parts of the data to be stored in the memory or register cells are stored inverted, sometimes not inverted, during operation become. Information about the inversion is included so that the information can be reconstructed. If an error occurs due to a stuck-at error of a single bit, the memory cell can be further used in an emergency mode by suitable inversion of the data to be stored and the corresponding information about the inversion. Another advantage is that this can clearly identify the defect class "Stuck-At". Specifically, the error detection is ensured by first storing and reading the data to be stored and a second storing and reading the stored data, wherein the second storage is carried out so that the data in the memory and register cells at least partially compared to the first storage and reading at the second Save and read are stored inverted.
Description
Oberbegriffpreamble
Es werden Verfahren zur Überprüfung von Speicher- oder Registerzellen einer integrierten Schaltung auf Stuck-at-Fehler während des Betriebs dieser integrierten Schaltung vorgeschlagen.Methods for checking memory or register cells of an integrated circuit for stuck-at errors during operation of this integrated circuit are proposed.
Allgemeine EinleitungGeneral introduction
Im Umfeld sicherheitsrelevanter integrierter Schaltungen sollen latente Fehler in Speicher- oder Registerzellen, die während des Betriebs z.B. durch Degradation etc. auftreten, gefunden werden, Dies betrifft beispielsweise Kalibrationsregister mit nahezu statischem Inhalt. Darüber hinaus besteht der Wunsch Register bei einem Einzelfehler nutzbar zu halten.In the field of safety-related integrated circuits, latent errors in memory or register cells, which occur during operation, e.g. due to degradation, etc. This applies, for example, to calibration registers with virtually static content. In addition, there is a desire register to keep usable in a single error.
Stand der TechnikState of the art
Aus dem Stand der Technik ist eine Registerabsicherung über redundante Daten wie CRC-Checksummen oder Parity-Bits bekannt. Sofern ein Parity-Fehler beispielsweise auftritt, ist das Register jedoch nicht mehr nutzbar. Dies kann in manchen Fällen zu Ausfällen führen.From the state of the art, register protection via redundant data such as CRC checksums or parity bits is known. However, if a parity error occurs, the register is no longer usable. This can in some cases lead to failures.
Beide Mechanismen allein finden einen Stuck-at Fehler erst bei tatsächlicher Variation aller Bits. Ein Register mit sicherheitsrelevantem Inhalt hätte damit das Potential, latente Fehler zu verdecken (z.B. Crashdaten wie Druck oder Beschleunigung, die typischerweise im Normalbetriebsfall ohne Crash keine deutliche Variation im Inhalt aufweisen).Both mechanisms alone find a stuck-at error only with actual variation of all bits. A registry with security relevant content would thus have the potential to obscure latent errors (e.g., crash data such as pressure or acceleration, which typically have no significant variation in content in normal operation without a crash).
Aufgabe des vorgeschlagenen VerfahrensTask of the proposed method
Die Aufgabe besteht somit darin, in Registern sicherheitsrelevanter ICs mit quasi-statischem Inhalt eine Überprüfung auf Stuck-At Fehler zu ermöglichen oder diese sogar trotz des Fehlers nutzbar zu halten. Hierzu ist ein Verfahren zum Auffinden potentiell nicht änderbarer Inhalte („Stuck-At“ Fehler) notwendig. Ein Notlaufbetrieb bei reduzierter Performance soll ermöglicht werden.The task is thus to allow a check for stucco-at faults in registers of security-relevant ICs with quasi-static content or even to keep them usable despite the fault. For this purpose, a method for finding potentially unchangeable content ("stucco-at" error) is necessary. An emergency mode with reduced performance should be possible.
Diese Aufgabe wird durch Verfahren nach Anspruch 1 gelöst.This object is achieved by the method according to claim 1.
Lösung der AufgabeSolution of the task
Es wird ein Verfahren zur Überprüfung von Speicher- oder Registerzellen einer integrierten Schaltung auf Stuck-at-Fehler und ggf. Bridging-Faults während des Betriebs dieser integrierten Schaltung vorgeschlagen. Das Verfahren beginnt mit dem Bereitstellen der in den zu überprüfenden Speicher- oder Registerzellen zu speichernden Daten. Diese zu speichernden Daten können zumindest in einen ersten und einen zweiten Teil aufgeteilt werden. Es ist denkbar, die Daten in mehr als zwei Teile aufzuteilen und diese unterschiedlich zu behandeln. Beispielsweise kann ein dritter Teil der Daten nicht abgesichert werden. Hier wird jedoch davon ausgegangen, dass beide Teile beispielsweise durch ein Parity-Bit oder eine CRC-Prüfsumme abgesichert werden, wobei nur die Speicher- und Registerzellen des ersten Teils einer Funktionsprüfung unterzogen werden. Der erste Teil der abzuspeichernden Daten und der zweite Teil der abzuspeichernden Daten sind überschneidungsfrei. Das bedeutet, dass ein Datum (und damit die zugehörige Register- oder Speicherzelle) entweder dem ersten Teil oder dem zweiten Teil zugehörig ist, nie aber beiden Teilen. Der erste Teil kann alle zu speichernden Daten umfassen. Der zweite Teil kann auch keine Daten umfassen. Der erste Teil sollte aber mindestens ein Datum enthalten, also mindestens ein Bit. Zu diesen abzuspeichernden Daten wird eine Prüfinformation hinzugefügt. Diese Prüfinformation kann vor oder nach der nachfolgenden teilweisen oder gesamten Inversion der abzuspeichernden Daten erfolgen. Beim Leseprozess muss dieser Vorgang dann nur in der umgekehrten Reihenfolge aufgehoben werden. Vorzugsweise wird die Prüfinformation Teil der abzuspeichernden Daten. Damit werden die Speicher- und Registerzellen für diese Prüfinformation dann selbst ebenfalls der Prüfung unterzogen. Das Hinzufügen einer Prüfinformation, insbesondere einer CRC-Checksumme zu den zu speichernden Daten ist somit ein wichtiger Teil des Verfahrens. Hierdurch wird diese Prüfinformation Teil der abzuspeichernden Daten. Diese zu speichernden Daten werden dann im Folgenden zu abgesicherten zu speichernden Daten. Es folgt typischerweise die Festlegung, ob und welcher erster Teil dieser abgesicherten zu speichernden Daten invertiert in den Speicher- oder Registerzellen abgelegt werden soll. Hierbei kann beispielsweise vorgesehen sein, alle Bits dieser Daten vor der Ablage zu invertieren oder nur bestimmte Daten oder ein bestimmtes Muster, beispielsweise jedes zweite Bit etc. Das Vorsehen von Mustern hinsichtlich der Inversion vor der Ablage hat den Vorteil, dass dann nicht nur Stuck-At-Fehler detektiert werden können, sondern dass auch Kurzschlüsse zwischen Leitungen erkannt werden können. Es ist besonders vorteilhaft, wenn die zu verwendenden Muster aufgrund der zum Produktionszeitpunkt der integrierten elektronischen Schaltung vorbekannten Topologie der Leitungen der integrierten mikroelektronischen Schaltung vorberechnet werden. Aufgrund dieser Topologie sind nämlich nur bestimmte Kurzschlüsse tatsächlich wahrscheinlich oder möglich.A method is proposed for checking memory or register cells of an integrated circuit for stuck-at errors and possibly bridging faults during the operation of this integrated circuit. The method begins by providing the data to be stored in the memory or register cells to be checked. These data to be stored can be divided at least into a first and a second part. It is conceivable to divide the data into more than two parts and treat them differently. For example, a third part of the data can not be secured. Here, however, it is assumed that both parts are protected by a parity bit or a CRC checksum, for example, whereby only the memory and register cells of the first part are subjected to a functional test. The first part of the data to be stored and the second part of the data to be stored are non-overlapping. This means that a datum (and hence the associated register or memory cell) belongs to either the first part or the second part but never to both parts. The first part can include all data to be stored. The second part can not include any data. The first part should contain at least one date, at least one bit. For this data to be stored, a check information is added. This check information can take place before or after the subsequent partial or total inversion of the data to be stored. In the reading process, this process must then be reversed only in the reverse order. Preferably, the check information is part of the data to be stored. The memory and register cells for this test information are then also subjected to the test itself. The addition of a check information, in particular a CRC checksum to the data to be stored is thus an important part of the method. As a result, this check information is part of the data to be stored. In the following, this data to be stored will then become secured data to be stored. It typically follows the determination of whether and which first part of this secure data to be stored is to be stored inverted in the memory or register cells. In this case, it may be provided, for example, to invert all bits of this data before storage or only certain data or a specific pattern, for example every other bit etc. The provision of patterns with regard to inversion before storage has the advantage that not only stucco At-fault can be detected, but that short circuits between lines can be detected. It is particularly advantageous if the patterns to be used are precalculated due to the previously known at the time of production of the integrated electronic circuit topology of the lines of the integrated microelectronic circuit. Because of this topology, only certain shorts are actually likely or possible.
Auch können auf diese Weise Mustersequenzen berechnet werden, die nacheinander in die Speicherzellen geschrieben werden sollten. Der ganz große Vorteil des vorliegenden Vorschlags ist, dass er eine Prüfmethode angibt, mit der solche Testmuster als invertierte Muster von Nutzdaten erzeugt werden können, ohne die Nutzung während des Betriebs zu unterbrechen.Also, pattern sequences can be calculated in this way, which should be successively written into the memory cells. The big advantage of the present proposal is that it indicates a test method by which such test patterns can be generated as inverted patterns of user data without interrupting use during operation.
Diese Testmuster können zur Detektion von Bridging-Faults verwendet werden.These test patterns can be used to detect bridging faults.
Zusammen mit der späteren Ablage der abzuspeichernden Daten in den Speicher- und/oder Registerzellen erfolgt die Ablage mindesten einer korrespondierenden zusätzlichen Dateninformation, die markiert ob und welche Teile der abgesicherten gespeicherten Daten als erster Teil der abgesicherten gespeicherten Daten invertiert oder nicht invertiert werden sollen bzw. invertiert sind, wenn sie abgelegt sind. Diese zusätzliche Dateninformation wird bevorzugt so abgelegt, dass auch deren Registerbits einer Überprüfung unterzogen werden können. Beispielsweise ist es möglich, drei Bits vorzusehen, von denen zwei immer den inversen Wert des dritten Bits beinhalten müssen. Man kann beim Lesen nun das dritte dieser Bits invertieren und darauf prüfen, ob alle Bits den gleichen Wert haben. Ist dies nicht der Fall, ist diese zusätzliche Dateninformation an sich fehlerhaft. Dieser so ermittelte Wert kann dann genutzt werden um zu erkennen, ob ein erster Teil der gelesenen Dateninformationen invertiert wurde oder nicht. Die zusätzliche Dateninformation sollte also zumindest einen ersten Status aufweisen, wenn der erste Teil der abgesicherten gespeicherten Daten nicht invertiert abgelegt werden soll bzw. nicht invertiert abgelegt wurde und einen zweiten Status aufweisen, wenn der erste Teil der abgesicherten gespeicherten Daten invertiert werden soll bzw. invertiert abgelegt wurde. Beim Abspeichern der abzulegenden Daten in den betreffenden Register- und/oder Speicherzellen wird diese Information berücksichtigt. Diese zusätzliche Dateninformation wird zwischen verschiedenen Schreibvorgängen auf diese Speicher oder Registerzellen modifiziert. Bevorzugt umfasst die Nettoinformation nur ein Bit, das angibt, ob die abzulegenden Daten bzw. die abgelegten Daten invertiert sein sollen bzw. invertiert sind. In dem Fall wird die zusätzliche Dateninformation zwischen Schreibzugriffen auf die Register- und/oder Speicherzellen invertiert. Eine besondere Variante sieht eine Neugenerierung der zusätzlichen Dateninformation für jeden Schreibzugriff auf die Register- und/oder Speicherzellen vor. Hierbei kann beispielsweise diese Neugenerierung auch durch ein Zufallsprinzip in einem Zufallsgenerator erfolgen. Je nach dem logischen Inhalt der zusätzlichen Dateninformation erfolgt eine nicht invertierte Ablage des ersten Teils der abgesicherten zu speichernden Daten in einem, dem ersten Teil der abgesicherten zu speichernden Daten entsprechenden, ersten Teil der Speicher- oder Registerzellen, wenn die zusätzliche Dateninformation einen ersten Status aufweist und eine invertierte Ablage des ersten Teils der abgesicherten zu speichernden Daten in einem, dem ersten Teil der abgesicherten zu speichernden Daten entsprechenden, ersten Teil der Speicher- oder Registerzellen, wenn die zusätzliche Dateninformation einen zweiten Status aufweist. Für den zweiten Teil der abzulegenden Daten erfolgt eine nicht invertierte Ablage des zweiten Teils der abgesicherten zu speichernden Daten in einem, dem zweiten Teil der abgesicherten zu speichernden Daten entsprechenden, zweiten Teil der Speicher- oder Registerzellen. Dieser zweite Teil der Daten wird also nicht invertiert. Somit findet für diesen zweiten Teil der Daten auch keine Überprüfung des zugehörigen zweiten Teils der Speicher- und Registerzellen statt. Diese Speicher- und Registerzellen diese zweiten teils der Speicher- und Registerzellen sind von den Speicher- und Registerzellen des ersten Teils der Speicher und Registerzellen verschieden.Together with the subsequent filing of the data to be stored in the memory and / or register cells, the filing takes place at least one corresponding additional data information which marks and which parts of the protected stored data are to be inverted or not inverted as the first part of the saved stored data or are inverted when they are stored. This additional data information is preferably stored so that its register bits can also be subjected to a check. For example, it is possible to provide three bits, two of which must always include the inverse of the third bit. Now you can invert the third of these bits while reading and check whether all bits have the same value. If this is not the case, this additional data information itself is faulty. This value thus determined can then be used to detect whether a first part of the read data information has been inverted or not. The additional data information should therefore have at least a first status if the first part of the saved stored data is not to be stored inverted or not inverted and has a second status if the first part of the saved stored data is to be inverted or inverted was filed. When storing the data to be stored in the relevant register and / or memory cells, this information is taken into account. This additional data information is modified between different writes to these memories or register cells. Preferably, the net information comprises only one bit, which indicates whether the data to be stored or the stored data should be inverted or are inverted. In that case, the additional data information is inverted between write accesses to the register and / or memory cells. A particular variant provides for a regeneration of the additional data information for each write access to the register and / or memory cells. Here, for example, this regeneration can also be done by a random principle in a random number generator. Depending on the logical content of the additional data information, a non-inverted filing of the first part of the protected data to be stored takes place in a first part of the memory or register cells corresponding to the first part of the protected data to be stored, if the additional data information has a first status and an inverted storage of the first part of the data to be saved to be stored in a first part of the memory or register cells corresponding to the first part of the data to be backed up, if the additional data information has a second status. For the second part of the data to be stored, a non-inverted filing of the second part of the protected data to be stored takes place in a second part of the memory or register cells corresponding to the second part of the protected data to be stored. This second part of the data is not inverted. Thus, no check of the associated second part of the memory and register cells takes place for this second part of the data. These memory and register cells, these second part of the memory and register cells, are different from the memory and register cells of the first part of the memory and register cells.
Zu einem typischerweise späteren Zeitpunkt erfolgt das Lesen der mindesten einen zusätzlichen Dateninformation aus dem ersten und zweiten Teil der Speicher und Registerzellen als gelesene zusätzliche Dateninformation. Auf Basis dieser gelesenen zusätzlichen Dateninformation wird nun festgestellt, ob und welcher erster Teil der abgesicherten gespeicherten Daten in den Speicher- oder Registerzellen invertiert abgelegt worden ist. Je nachdem erfolgt dann das nicht invertierende Lesen eines, dem ersten Teil der Daten der Speicher- oder Registerzellen entsprechenden, ersten Teils der Speicher- oder Registerzellen, wenn die gelesene zusätzliche Dateninformation einen ersten Status aufweist, um den ersten Teil der gelesenen Daten zu erhalten bzw. das invertierende Lesen des, dem ersten Teil der Daten der Speicher- oder Registerzellen entsprechenden, ersten Teils der Speicher- oder Registerzellen, wenn die gelesene zusätzliche Dateninformation einen zweiten Status aufweist, um den ersten Teil der gelesenen Daten zu erhalten. Darüber hinaus erfolgt dabei das nicht invertierende Lesen eines, dem zweiten Teil der Daten der Speicher- oder Registerzellen entsprechenden, zweiten Teils der Speicher- oder Registerzellen, um den zweiten Teil der gelesenen Daten zu erhalten. Es folgt dann die Extraktion der Prüfinformation aus dem ersten Teil und/oder dem zweiten Teil der gelesenen Daten und die Durchführung einer Überprüfung der Daten auf Korrektheit mit Hilfe dieser extrahierten Prüfinformation. Besonders vorteilhaft ist die Verwendung einer CRC Prüfsumme, die mit den Daten als Teil derselben abgespeichert wird, sodass an dieser Stelle im Prozess eine CRC-Überprüfung (CRC-Check) durchgeführt wird. Es erfolgt dann die Ausgabe oder Verarbeitung oder Bereitstellung einer Fehlermeldung bei Auftreten eines Fehlers bei dieser Überprüfung.At a typically later time, the reading of the at least one additional data information from the first and second part of the memory and register cells takes place as read additional data information. On the basis of this read additional data information it is now determined whether and which first part of the saved stored data has been stored inverted in the memory or register cells. Depending on this, the non-inverting reading of a first part of the memory or register cells corresponding to the first part of the data of the memory or register cells takes place when the read additional data information has a first status in order to obtain the first part of the read data the inverting reading of the first part of the memory or register cells corresponding to the first part of the data of the memory or register cells when the read additional data information has a second status to obtain the first part of the read data. In addition, the non-inverting reading of a second part of the memory or register cells corresponding to the second part of the data of the memory or register cells takes place in order to obtain the second part of the read data. This is then followed by the extraction of the check information from the first part and / or the second part of the read data and the execution of a check of the data for correctness with the aid of this extracted check information. Particularly advantageous is the use of a CRC checksum, which is stored with the data as part of the same, so that at this point in the process a CRC check (CRC Check) is performed. The output or processing or provision of an error message occurs when an error occurs during this check.
Das zuvor beschriebene vorgeschlagene Verfahren hat den Vorteil, dass die Prüfung immer stattfindet und kein zusätzlicher Zeitaufwand bis auf die Gatterlaufzeiten der zusätzlichen Logikstufen entsteht. Es ist aber denkbar, einen ähnlichen Test ohne abgespeicherte Prüfinformationen wie Parity-Bits oder CRC-Prüfsummen durchzuführen. Statt des Zusatzaufwands durch zusätzliche Speicher- und Registerzellen wird der Zusatzaufwand dann in den Zeitaufwand für das Beschreiben der Speicher- und Registerzellen verschoben. Die Anzahl der benötigten Speicher- und Registerzellen sinkt dadurch. Auf der anderen Seite findet die Prüfung aber nur zum Zeitpunkt des Beschreibens statt. Ein Kippen des logischen Inhalts von Speicher- und Registerzellen lässt sich dann nicht ohne Weiteres beobachten. Statt eine Prüfinformation mit abzulegen, wird eine geschriebene Information möglichst unmittelbar nach der Ablage der Daten in den Speicher- und Registerzellen durch Auslesen verifiziert.The proposed method described above has the advantage that the test always takes place and no additional expenditure of time except for the gate running times of the additional logic stages arises. However, it is conceivable to perform a similar test without stored test information such as parity bits or CRC checksums. Instead of the overhead of additional memory and register cells, the overhead is then shifted to the overhead for writing the memory and register cells. The number of memory and register cells required thereby decreases. On the other hand, the test takes place only at the time of writing. Tilting the logical contents of memory and register cells can then not be easily observed. Instead of storing a check information, a written information is verified by reading as soon as possible after the storage of the data in the memory and register cells.
Es wird daher eine Verfahrensvariante zur Überprüfung von Speicher- oder Registerzellen einer integrierten Schaltung auf Stuck-at-Fehler während des Betriebs dieser integrierten Schaltung vorgeschlagen, die wie zuvor mit der Bereitstellung abzulegender Daten beginnt. Die abzulegenden Daten können dabei wieder in einen ersten Teil und einen zweiten Teil aufgeteilt werden. Dieser erste Teil und dieser zweite Teil sollen sich nicht überlappen. Der erste Teil der der abzulegenden Daten kann übrigens die Gesamtheit der abzulegenden Daten komplett umfassen. In dem Fall enthält der zweite Teil der Daten keine Daten. Der zweite Teil der abzulegenden Daten kann also keine Daten umfassen. Es erfolgt die Ablage mindesten einer zusätzlichen Dateninformation in den Speicher- oder Registerzellen zur Markierung des ersten Teils der abzulegenden Daten als invertiert oder als bei der Ablage zu invertieren. Die zusätzliche Dateninformation weist wieder zumindest einen ersten Status auf, wenn der erste Teil der abzulegenden Daten der Speicher- oder Registerzellen nicht invertiert sein soll bzw. nicht invertiert ist. Die zusätzliche Dateninformation weist zumindest einen zweiten Status auf, wenn der erste Teil der Daten der Speicher- oder Registerzellen invertiert sein soll oder invertiert ist. Des Weiteren folgt die nicht invertierte Ablage des ersten Teils der abzulegenden Daten in einem, dem ersten Teil der abzulegenden Daten entsprechenden, ersten Teil der Speicher- oder Registerzellen, wenn die zusätzliche Dateninformation den ersten Status aufweist und die invertierte Ablage des ersten Teils der abzulegenden Daten in dem, dem ersten Teil der abzulegenden Daten entsprechenden, ersten Teil der Speicher- oder Registerzellen, wenn die zusätzliche Dateninformation den zweiten Status aufweist. Für den zweiten Teil der abzulegenden Daten erfolgt die nicht invertierte Ablage des zweiten Teils der abzulegenden Daten in einem, dem zweiten Teil der abzulegenden Daten entsprechenden, zweiten Teil der Speicher- oder Registerzellen. Dabei überschneidet sich der erste Teil der Speicher- oder Registerzellen nicht mit dem zweiten Teil der Speicher- oder Registerzellen. Im Gegensatz zu dem zuvor beschriebenen Verfahren erfolgt die Überprüfung auf konformes Verhalten nun jedoch nicht durch die Überprüfung von Prüfinformationen. Die Überprüfung beginnt wieder mit dem Lesen der mindesten einen zusätzlichen Dateninformation als gelesene zusätzliche Dateninformation. Es wird vorgeschlagen, anschließend festzustellen, ob und welcher erster Teil der abgesicherten gespeicherten Daten in den Speicher- oder Registerzellen invertiert abgelegt worden ist. Das vorgeschlagene Verfahren umfasst das nicht invertierende Lesen eines, dem ersten Teil der Daten der Speicher- oder Registerzellen entsprechenden, ersten Teils der Speicher- oder Registerzellen, wenn die gelesene zusätzliche Dateninformation einen ersten Status aufweist, um den ersten Teil der gelesenen Daten zu erhalten und das invertierende Lesen des, dem ersten Teil der Daten der Speicher- oder Registerzellen entsprechenden, ersten Teils der Speicher- oder Registerzellen, wenn die gelesene zusätzliche Dateninformation einen zweiten Status aufweist, um den ersten Teil der gelesenen Daten zu erhalten. Wie zuvor erfolgt auch das nicht invertierende Lesen eines, dem zweiten Teil der Daten der Speicher- oder Registerzellen entsprechenden, zweiten Teils der Speicher- oder Registerzellen, um den zweiten Teil der gelesenen Daten zu erhalten. Zumindest der erste Teil der gelesenen Daten und der zweite Teil der gelesenen Daten stellen das erste Leseergebnis dar. Anders als zuvor findet nun jedoch nicht eine Prüfung einer Prüfinformation statt. Der Schreibvorgang ist hier noch nicht abgeschlossen, somit sind der erste Teil und der zweite Teil der abzulegenden Daten noch bekannt. Statt der Prüfinformationsauswertung erfolgt daher unter Ausnutzung dieses Umstands in dieser Variante des vorgeschlagenen Verfahrens ein Vergleich des ersten Teils und des zweiten Teils der abzulegenden Daten mit dem ersten Leseergebnis unter Ermittlung eines Vergleichsergebnisses. Die Verfahrensvariante kann daher nicht angewendet werden, wenn dieses Wissen bereits gelöscht wurde. Die Ausgabe oder Verarbeitung oder Bereitstellung einer Fehlermeldung bei Auftreten eines Fehlers, wenn das Vergleichsergebnis ein von dem ersten Teil und dem zweiten Teil der abzulegenden Daten abweichendes zweites Leseergebnis darstellt, ist der letzte hier noch zu erwähnende Schritt dieser Verfahrensvariante.Therefore, a method variant for checking memory or register cells of an integrated circuit for stuck-at errors during operation of this integrated circuit is proposed, which begins as before with the provision of data to be stored. The data to be stored can be divided again into a first part and a second part. This first part and this second part should not overlap. Incidentally, the first part of the data to be stored may completely include the entirety of the data to be stored. In that case, the second part of the data contains no data. The second part of the data to be stored can therefore not include any data. The storage of at least one additional data information in the memory or register cells for marking the first part of the data to be stored is performed as being inverted or inverting during storage. The additional data information again has at least a first status if the first part of the data to be stored of the memory or register cells should not be inverted or is not inverted. The additional data information has at least a second status if the first part of the data of the memory or register cells is to be inverted or inverted. Furthermore, the non-inverted filing of the first part of the data to be stored in a first part of the memory or register cells corresponding to the first part of the data to be stored follows if the additional data information has the first status and the inverted filing of the first part of the data to be filed in the first part of the memory or register cells corresponding to the first part of the data to be stored, if the additional data information has the second status. For the second part of the data to be stored, the non-inverted filing of the second part of the data to be stored takes place in a second part of the memory or register cells corresponding to the second part of the data to be stored. In this case, the first part of the memory or register cells does not overlap with the second part of the memory or register cells. However, in contrast to the method described above, checking for compliant behavior is now not done by checking check information. The check begins again with the reading of the at least one additional data information as read additional data information. It is suggested to determine subsequently whether and which first part of the saved stored data has been stored inverted in the memory or register cells. The proposed method comprises non-inverting reading of a first part of the memory or register cells corresponding to the first part of the data of the memory or register cells when the read additional data information has a first status to obtain the first part of the read data inverting the first portion of the memory or register cells corresponding to the first portion of the data of the memory or register cells when the read additional data information has a second status to obtain the first portion of the read data. As before, the non-inverting reading of a second part of the memory or register cells, corresponding to the second part of the data of the memory or register cells, also takes place in order to obtain the second part of the read data. At least the first part of the read data and the second part of the read data represent the first reading result. Unlike before, however, now does not take place a check of a check information. The writing process is not yet completed, so the first part and the second part of the data to be stored are still known. Therefore, instead of the check information evaluation taking advantage of this circumstance in this variant of the proposed method, a comparison of the first part and the second part of the data to be stored with the first reading result and determination of a comparison result. Therefore, the method variant can not be used if this knowledge has already been deleted. The issuance or processing or provision of an error message when an error occurs when the comparison result represents a second reading result deviating from the first part and the second part of the data to be stored is the last step of this method variant to be mentioned here.
Die dritte Verfahrensvariante sieht nun vor, dass der in der vorhergehenden Variante beschriebene Schreib/Lesezyklus mit einer ersten weiteren Dateninformation als erster Schreib/Lesezyklus durchgeführt wird und dann anschließend mit einer zweiten weiteren Dateninformation, die von der ersten weiteren Dateninformation verschieden ist, ein zweites Mal durchgeführt wird. Im ersten Schreib/Lesezyklus wird ein erstes Leseergebnis erhalten. Im zweiten Schreib/Lesezyklus wird ein zweites Leseergebnis erhalten. Das erste und zweite Leseergebnis sollten übereinstimmen. Ist dies nicht der Fall, so erfolgt die Ausgabe oder Verarbeitung oder Bereitstellung einer Fehlermeldung bei Auftreten eines solchen Fehlers. Durch das Ändern der weiteren Dateninformation zwischen dem ersten Schreib/Lesezyklus und dem zweiten Schreib/Lesezyklus werden im ersten Schreib/Lesezyklus andere Datenanteile invertiert abgelegt als im zweiten Schreib/Lesezyklus. Hierdurch kommt ein Prüfungseffekt Zustande.The third variant of the method now provides that the write / read cycle described in the preceding variant is performed with a first further data information as the first write / read cycle and then subsequently with a second further data information, which is different from the first further data information, a second time is carried out. In the first write / read cycle, a first reading result is obtained. In the second write / read cycle, a second reading result is obtained. The first and second read results should match. If this is not the case, then the issue or processing or provision of an error message occurs when such an error occurs. By changing the further data information between the first write / read cycle and the second write / read cycle, other data components are stored inverted in the first write / read cycle than in the second read / write cycle. This is a test effect states.
Die Grundidee des vorgeschlagenen Verfahrens besteht somit, den abzulegenden Dateninhalt der Speicher- und Registerzellen zeitlich und/oder ggf. von Speicher- oder Registerzelle zu Speicher- zu Registerzelle alternierend invertiert und nicht-invertiert abzulegen. Die derartige Ablage des abzulegenden Dateninhalts erfolgt zusammen mit der zusätzlichen Dateninformation über die Inversion selbst. Hierbei wird bevorzugt diese zusätzliche Dateninformation vor der Inversion dem abzulegenden Dateninhalt, also den abzulegenden Daten, hinzugefügt und somit selbst dieser Inversion ggf. unterworfen. Die Hinzufügung kann aber auch nach der Inversion erfolgen, was aber den Nachteil hat, dass die entsprechenden Speicher- und Registerzellen dieser Prüfung nicht ebenso unterworfen sind.The basic idea of the proposed method is therefore to store the data content of the memory and register cells to be stored temporally and / or optionally alternately from memory or register cell to memory cell to register cell in an inverted and non-inverted manner. Such storage of the data content to be stored takes place together with the additional data information about the inversion itself. In this case, this additional data information is preferably added to the data content to be stored, that is to say the data to be stored, and thus even subject to this inversion. However, the addition can also be made after the inversion, but this has the disadvantage that the corresponding memory and register cells are not subject to this test as well.
Das vorgeschlagene Verfahren kann sich somit also beispielsweise durch die zusätzliche Ablage mindestens eines zusätzlichen Bits zur Anzeige vollständig oder partiell invertierter Daten auszeichnen. Diese Bits werden vorteilhafterweise in die CRC/Parity Generierung mit eingeschlossen. Ein Stuck-at Fehler wird damit erkennbar.The proposed method can therefore be characterized, for example, by the additional storage of at least one additional bit for displaying completely or partially inverted data. These bits are advantageously included in the CRC / Parity generation. A stucco-at-fault becomes recognizable.
Bis zu diesem Punkt wurden die Verfahren so beschrieben, dass Speicher- und Registerzellen gleich behandelt werden konnten. Typischerweise steuern Registerzellen in integrierten Schaltungen jedoch Zustandsautomaten oder liefern Daten, die innerhalb des betreffenden integrierten Schaltkreises intern weiter benutzt werden. Sie können also typischerweise in zwei Richtungen benutzt werden: Zum einen können sie von der Bus-Seite her gelesen werden und zum anderen vorn der Seite der zu steuernden Teilschaltung der integrierten Schaltung her gelesen werden. Es ist daher vorteilhaft, wenn auch beim Lesen eines Registers von der Seite der zu steuernden Teilschaltung der integrierten Schaltung her die zusätzliche Dateninformation ausgewertet wird und die in der entsprechenden Registerzelle gespeicherte Information nicht invertiert, also in der vorgesehenen Polarität, an die nachfolgende zu steuernden Teilschaltung der integrierten Schaltung ausgegeben wird.Up to this point, the methods have been described so that memory and register cells could be treated equally. Typically, however, register cells in integrated circuits control state machines or provide data internally used internally within the integrated circuit concerned. Thus, they can typically be used in two directions: on the one hand they can be read from the bus side and on the other hand they can be read from the side of the integrated circuit subcircuit to be controlled. It is therefore advantageous if, even when reading a register from the side of the subcircuit of the integrated circuit to be controlled, the additional data information is evaluated and the information stored in the corresponding register cell is not inverted, ie in the intended polarity, to the subsequent subcircuit to be controlled the integrated circuit is output.
Der mögliche Notlaufbetrieb ergibt sich für einen Einzelfehler ohne die Anwendung von Testmustern für die Inversion. Als Einzelfehler wird hier eine Speicher- oder Registerzelle betrachtet, deren logischer Wert auf einem logischen Wert durch einen Schaden fixiert ist und durch zumindest eines der vorgesehenen regulären Verfahren im Betrieb nicht wie vorgesehen modifiziert werden kann und somit schadhaft ist. Da durch die Inversionsmöglichkeit des Zugriffs auf den Dateninhalt dieser einzelnen fehlerhaften Speicher- oder Registerzelle die Polarität der Ablage der binären Daten in dieser einzelnen fehlerhaften Speicher- oder Registerzelle festgelegt werden kann, kann nach Feststellung eines Fehlers die zusätzliche Dateninformation in den Speicher und Registerzellen stets so eingestellt werden, dass stets der richtige logische Wert für den korrekten Dateninhalt dieser fehlerhaften Speicher- oder Registerzelle geliefert wird. Somit wird die Abspeicherung der ursprünglich in der einzelnen fehlerhaften Speicher- oder Registerzelle abzulegenden Information in die Speicherstellen verschoben, die zur Speicherung der zusätzlichen Dateninformation vorgesehen sind. Hierdurch kann bei einer einzelnen fehlerhaften Speicher- oder Registerzelle ein Notlauf sichergestellt werden.The possible emergency operation results for a single error without the use of test patterns for inversion. As a single error here is considered a memory or register cell whose logical value is fixed to a logical value by a damage and can not be modified as intended by at least one of the scheduled regular procedures in operation and thus is defective. Since the inversion possibility of access to the data content of this single faulty memory or register cell, the polarity of the storage of the binary data can be set in this single faulty memory or register cell, after finding a fault, the additional data information in the memory and register cells always so that the correct logical value for the correct data content of this faulty memory or register cell is always supplied. Thus, the storage of the information originally stored in the individual defective memory or register cell is shifted to the memory locations provided for storing the additional data information. This can be ensured in a single faulty memory or register cell emergency.
Vorteil der ErfindungAdvantage of the invention
Ein durch eines der oben beschriebenen Verfahren aufgrund eines Schadens an der betreffenden Speicher- oder Registerzelle nicht veränderbares Bit in den Speicher- oder Registerzellen führt somit frühzeitig zur Verletzung der Integritätsprüfung z.B. durch den beschriebenen CRC-Check und kann somit angezeigt werden oder weitere Maßnahmen durch ein übergeordnetes System veranlassen.A bit in the memory or register cells which can not be changed by one of the above-described methods due to damage to the relevant memory or register cell thus leads, at an early stage, to violation of the integrity check, e.g. through the described CRC check and can thus be displayed or cause further action by a higher-level system.
Vorteilhafterweise können dann die Speicher- und Registerzellen als Notlauffunktion bis zur Wartung zwischenzeitlich so genutzt werden, dass das fehlerhafte Bit keine Auswirkung hat. Die Inversion kann gezielt dazu verwendet werden, dass das Register je nach abzulegendem Inhalt gezielt nur dann invertiert würde, wenn es dadurch nutzbar bleibt!Advantageously, then the memory and register cells can be used as an emergency function to maintenance in the meantime so that the faulty bit has no effect. The inversion can be used purposefully, that the register would only be inverted, depending on the content to be dropped, if it remains usable!
Optional kann durch den Versuch der Datenablage mit oder ohne Inversion die Speicher- und Registerzellen weiter in zumindest einem der beiden Zustände genutzt werden, was einen erheblichen Vorteil gegenüber dem Stand der Technik darstellt.Optionally, by attempting to store the data with or without inversion, the memory and register cells can be further used in at least one of the two states, which represents a considerable advantage over the prior art.
Glossarglossary
Stuck-At-Fehler und Bridging-Faults (Quelle Wikipedia) Physikalische Fehler bei digitalen Schaltungen teilt man in mehrere Klassen ein.
- A) Stuck-at-Faults (dt. Haftfehler) sind Fehler, bei denen Gatter an einem Eingang oder Ausgang auf einem bestimmten Wert feststecken. Je nach dem Wert unterscheidet man Stuck-at-1 oder Stuck-at-O-Fehler.
- B) Als Bridging-Faults werden Kurzschlüsse zwischen zwei Leitungen bezeichnet. Daraus entstehen neue Funktionen der betroffenen Gatter. Input-Output-Bridging bedeutet, dass Ein- und Ausgänge der Schaltung miteinander verbunden sind (Rückkopplung). Dies führt zu zeitabhängigen Verhalten, z.B. zu oszillierenden Schaltungen. Speziell bei Transistoren kennt man noch Stuck-off-Fehler (Transistor sperrt immer), Stuck-on-Fehler (Transistor leitet immer) und Gate-Delay-Faults sowie Path-Delay-Faults, die Verzögerungen bei der Signalverarbeitung hervorrufen.
- A) Stuck-at-faults are faults where tags are stuck at an input or output at a certain value. Depending on the value, a distinction is made between stucco-at-1 or stuck-at-o errors.
- B) Bridging faults are short circuits between two lines. This results in new functions of the affected gates. Input-output bridging means that the inputs and outputs of the circuit are interconnected (feedback). This leads to time-dependent behavior, eg to oscillating circuits. Especially with transistors, stucco-off faults (transistor always off), stuck-on faults (transistor always on) and gate delay faults, as well as path-delay faults that cause signal processing delays are known.
Claims (3)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017115057.9A DE102017115057B4 (en) | 2017-07-05 | 2017-07-05 | Method for checking security-relevant register or memory cells for stuck-at errors during operation by comparing two write processes with different inversion states |
CN201810731582.9A CN109215723B (en) | 2017-07-05 | 2018-07-05 | Method for checking register unit or memory unit for fixed fault |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017115057.9A DE102017115057B4 (en) | 2017-07-05 | 2017-07-05 | Method for checking security-relevant register or memory cells for stuck-at errors during operation by comparing two write processes with different inversion states |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102017115057A1 true DE102017115057A1 (en) | 2019-01-10 |
DE102017115057B4 DE102017115057B4 (en) | 2019-03-07 |
Family
ID=64665876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102017115057.9A Active DE102017115057B4 (en) | 2017-07-05 | 2017-07-05 | Method for checking security-relevant register or memory cells for stuck-at errors during operation by comparing two write processes with different inversion states |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102017115057B4 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013215055A1 (en) * | 2013-07-31 | 2015-02-05 | Infineon Technologies Ag | Circuit arrangement and method with modified error syndrome for error detection of permanent errors in memories |
US9075742B2 (en) * | 2009-09-09 | 2015-07-07 | Kabushiki Kaisha Toshiba | Memory device |
-
2017
- 2017-07-05 DE DE102017115057.9A patent/DE102017115057B4/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9075742B2 (en) * | 2009-09-09 | 2015-07-07 | Kabushiki Kaisha Toshiba | Memory device |
DE102013215055A1 (en) * | 2013-07-31 | 2015-02-05 | Infineon Technologies Ag | Circuit arrangement and method with modified error syndrome for error detection of permanent errors in memories |
Also Published As
Publication number | Publication date |
---|---|
DE102017115057B4 (en) | 2019-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69904320T2 (en) | ON-CHIP CIRCUIT AND METHOD FOR CHECKING THE MEMORY CIRCUIT | |
DE2311034C2 (en) | Method for testing a semiconductor chip containing integrated logic combination and memory elements | |
DE102006001873B4 (en) | Apparatus and method for checking an error detection functionality of a memory circuit | |
DE102013211077A1 (en) | Method for testing a memory and storage system | |
DE2225841C3 (en) | Method and arrangement for systematic error checking of a monolithic semiconductor memory | |
EP0104635A2 (en) | Digital computer test method and configuration | |
EP2100308B1 (en) | Method and semiconductor memory with a device for detecting addressing errors | |
DE102015210651A1 (en) | Circuit and method for testing an error correction capability | |
DE112008001590B4 (en) | Processor operation inspection system and operation inspection circuit | |
DE69800343T2 (en) | Authentication method for integrated circuits | |
DE10256487B4 (en) | Integrated memory and method for testing an integrated memory | |
EP3378006B1 (en) | Method for loading of a secure memory image of a microcontroler and arrangement with a microcontroller | |
EP1444700B1 (en) | Memory unit test | |
DE102017115056B3 (en) | Method for checking safety-relevant register or memory cells for stuck at fault during operation | |
DE102017115057B4 (en) | Method for checking security-relevant register or memory cells for stuck-at errors during operation by comparing two write processes with different inversion states | |
DE102017115058B4 (en) | Method for checking safety-related register or memory cells for stucco-at faults during operation and for ensuring reliability | |
WO2007071590A1 (en) | Method for recognizing a power outage in a data memory and recovering the data memory | |
EP0353660B1 (en) | Fault prevention method in memory systems of data-processing installations, in particular telephone exchanges | |
EP0453609B1 (en) | Procedure for testing of a smallest addressable unit of a RAM for bit errors exceeding a fixed number | |
DE102017119426B4 (en) | TEST AND MANAGEMENT OF STORAGE CELLS | |
DE3718182A1 (en) | METHOD AND ARRANGEMENT FOR CARRYING OUT A SELF-TESTING OF A SPEECH ORGANIZED RAM | |
DE102006004168A1 (en) | Checking an address decoder | |
DE102015211458A1 (en) | A method and apparatus for securing a program counter structure of a processor system and for monitoring the handling of an interrupt request | |
EP0919917B1 (en) | Method to test the buffer memory of a microprocessor system | |
EP2002446B1 (en) | Method for operating a memory unit comprising the marking of memory blocks that are identified as defective |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R081 | Change of applicant/patentee |
Owner name: ELMOS SEMICONDUCTOR SE, DE Free format text: FORMER OWNER: ELMOS SEMICONDUCTOR AKTIENGESELLSCHAFT, 44227 DORTMUND, DE |