DE102017117779A1 - Verfahren und Vorrichtung zum Test von Speicherzellen - Google Patents

Verfahren und Vorrichtung zum Test von Speicherzellen Download PDF

Info

Publication number
DE102017117779A1
DE102017117779A1 DE102017117779.5A DE102017117779A DE102017117779A1 DE 102017117779 A1 DE102017117779 A1 DE 102017117779A1 DE 102017117779 A DE102017117779 A DE 102017117779A DE 102017117779 A1 DE102017117779 A1 DE 102017117779A1
Authority
DE
Germany
Prior art keywords
memory
bit string
processor
bit
checksum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102017117779.5A
Other languages
English (en)
Other versions
DE102017117779B4 (de
Inventor
Martin Perner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102017117779.5A priority Critical patent/DE102017117779B4/de
Publication of DE102017117779A1 publication Critical patent/DE102017117779A1/de
Application granted granted Critical
Publication of DE102017117779B4 publication Critical patent/DE102017117779B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

Ein Verfahren zum Test zu testender Speicherzellen einer integrierten Schaltung umfasst Bilden einer ersten Quersumme einer ersten Bitfolge, Schreiben der ersten Bitfolge in die zu testenden Speicherzellen, Lesen einer zweiten Bitfolge aus den zu testenden Speicherzellen, Bilden einer zweiten Quersumme der zweiten Bitfolge, Signalisieren, falls die zweite Quersumme von der ersten Quersumme verschieden ist, und/oder Signalisieren, falls die zweite Quersumme mit der ersten Quersumme übereinstimmt.

Description

  • Die vorliegende Offenbarung betrifft Speichereinrichtungen mit Speicherzellen zum Speichern von Information. Insbesondere betrifft die vorliegende Offenbarung ein Verfahren und eine Vorrichtung zum Test von Speicherzellen einer integrierten Schaltung.
  • Hinsichtlich eines eingebetteten Speicherbereichs einer Recheneinheit kann es erforderlich sein, Zellen des Speicherbereichs auf die Programmierfähigkeit der jeweiligen Zelle zu prüfen, um festzustellen, ob eine Information zuverlässig in die jeweilige Zelle eingeschrieben werden kann, die Zelle die eingeschriebene Information zuverlässig speichert, und ob die Information zuverlässig aus der Zelle ausgelesen werden kann.
  • Ein Prüfcode kann dazu verwendet werden, eine etwaige Einschränkung der Funktionstüchtigkeit zu testender Zellen zu erkennen. Dazu wird der Prüfcode auf der Grundlage der in die zu testenden Zellen zu schreibenden Information gebildet, gemeinsam mit der Information in die zu testenden Zellen eingeschrieben, gespeichert und daraus ausgelesen. Wenn der ausgelesene Prüfcode sich nicht zu der ausgelesenen Information passt, dann weist dies auf eine Funktionseinschränkung hin.
  • Das vorstehend beschriebene Testverfahren setzt voraus, dass die Information, die in die zu testenden Zellen einzuschreiben ist, bekannt ist. Somit ist die Anwendbarkeit des Verfahrens auf Zellen beschränkt, deren gespeicherte Information entweder gelöscht werden darf oder nicht geheim bleiben muss.
  • Die unabhängigen Ansprüche definieren die Erfindung in verschiedener Hinsicht. Die abhängigen Ansprüche benennen Merkmale von Ausführungsformen gemäß der Erfindung in verschiedener Hinsicht.
  • Die anliegenden Zeichnungen sind Teil der vorliegenden Offenbarung, um ein weitergehendes Verständnis der vorliegenden Erfindung zu ermöglichen. Die Zeichnungen stellen Ausführungsformen der vorliegenden Erfindung dar und dienen gemeinsam mit der Beschreibung dazu, Grundgedanken der Erfindung zu erklären.
    • 1 ist ein Blockdiagramm, das einen Prozessor gemäß einigen Ausführungsformen der Erfindung schematisch darstellt.
    • 2 ist ein Blockdiagramm, das einen Speicher gemäß einigen Ausführungsformen der Erfindung schematisch darstellt.
    • 3A, 3B und 3C sind Blockdiagramme, die einen Speichersektor gemäß einigen Ausführungsformen der Erfindung schematisch darstellen.
    • 4A und 4B zeigen ein Ablaufdiagramm, das ein Verfahren unter Verwendung des 1 dargestellten Prozessors gemäß einigen Ausführungsformen der Erfindung darstellt.
  • Die Merkmale der Zeichnungen sind nicht notwendigerweise zueinander maßstabsgetreu gezeichnet. Ähnliche Bezugszeichen bezeichnen einander entsprechende, ähnliche Teile. Sonstige Ausführungsformen gemäß der vorliegenden Erfindung und etliche der beabsichtigten Vorteile wird man ohne weiteres wahrnehmen, wenn man die nachfolgende eingehende Beschreibung zu Hilfe nimmt. Man sollte verstehen, dass sonstige Ausführungsformen verwendet werden können, und strukturelle und/oder logische Änderungen an den Ausführungsbeispielen vorgenommen werden können, ohne den Umfang der vorliegenden Erfindung zu verlassen. In diesem Sinne darf die folgende eingehende Beschreibung hinsichtlich der vorliegenden Erfindung nicht beschränkend aufgefasst werden. Vielmehr definieren die Ansprüche den Umfang der vorliegenden Erfindung.
  • Unten werden Ausführungsbeispiele, Ausführungsformen und damit zusammenhängende Wirkungen unter Bezugnahme auf die anliegenden Zeichnungen beschrieben.
  • Allgemein ist ein Prozessor vorgesehen, der an einen mehrere zu testenden Speicherzellen aufweisenden Speicher koppelbar ist. Der Prozessor ist dazu eingerichtet, eine erste Quersumme einer ersten Bitfolge zu bilden. Der Prozessor ist ferner dazu eingerichtet, eine zweite Quersumme einer zweiten Bitfolge zu bilden, die aus den zu testenden Speicherzellen gelesen ist. Der Prozessor ist dazu eingerichtet zu signalisieren, falls die zweite Quersumme von der ersten Quersumme verschieden ist.
  • 1 ist ein Blockdiagramm, das einen Prozessor gemäß einigen Ausführungsformen der Erfindung schematisch darstellt. In einer Ausführungsform ist ein Prozessor 100 als eine integrierte Schaltung mit einem Prozessorkern ausgebildet. Bei einer anderen Ausführungsform (nicht gezeigt) weist der Prozessor mehrere Prozessorkerne auf. Der Prozessor 100 weist eine Arithmetisch-Logische-Einheit (ALU) 110 auf.
  • Der Prozessor 100 weist einen Speicher 120 auf. Der Speicher 120 ist an die ALU 110 derart gekoppelt, beispielsweise mittels eines Datenbusses 112, dass die ALU 110 Daten in den Speicher schreiben bzw. aus dem Speicher 120 lesen kann. In einigen Ausführungsformen sind der Prozessor 100 und der Speicher 120 in einer Schaltung integriert. Der Speicher 120 ist beispielsweise als ein eingebetteter Speicher ausgebildet. Das bedeutet, dass Speicherzellen des Speichers 120 Teil derselben integrierten Schaltung des Prozessorkerns sind, der auch die ALU 110 umfasst. Bei einer anderen Ausführungsform (nicht gezeigt) ist der Speicher an den Prozessor gekoppelt ohne jedoch Teil des Prozessors zu sein. Beispielsweise ist der Speicher als räumlich getrennter Block der integrierten Schaltung mit dem Prozessor ausgebildet, die mit dem Speicher durch Leitungen verbunden ist. In einigen Ausführungsformen umfasst der Speicher 120 nicht-flüchtige Speicherzellen. Insbesondere ist der Speicher 120 in einigen Ausführungsformen nicht-flüchtig ausgebildet.
  • Ferner umfasst der Prozessor 100 in einigen Ausführungsformen Register 130 für spezielle Zwecke. Die Register 130 für spezielle Zwecke sind an die ALU 110 derart gekoppelt, beispielsweise mittels einer Datenleitung 113, dass die ALU 110 Daten in die Register 130 für spezielle Zwecke schreiben bzw. aus den Registern 130 für spezielle Zwecke lesen kann. In einigen Ausführungsformen (nicht gezeigt) enthält die ALU 110 die Register für spezielle Zwecke. In einigen Ausführungsformen umfasst der Prozessor eine Zustandsmaschine. Insbesondere kann der Prozessor als eine Zustandsmaschine ausgebildet sein.
  • Bei einigen Ausführungsformen ist der Prozessor 100 als eine Zustandsmaschine ausgebildet. In einigen Ausführungsformen weist der Prozessor 100 die Zustandsmaschine als einen eingebetteten Bestandteil auf. Die Zustandsmaschine ist beispielsweise einem Adressraum des Speichers 120 zugeordnet und dazu eingerichtet, eine Adressierung des Speichers 120 gemäß einer Speicheradressierungsaufforderung, etwa seitens der ALU 110, vorzunehmen.
  • In einigen Ausführungsformen ist die Zustandsmaschine dazu eingerichtet, einen Löschvorgang hinsichtlich eines adressierten Adressraums wie etwa einer Speicherzelle in dem Speicher 120, einem Speichersektor des Speichers 120, einer Speicherseite des Speichers 120 oder dem gesamten Speicher 120 vorzunehmen. In einigen Ausführungsformen, ist die Zustandsmaschine dazu eingerichtet, den Speicher 120, d.h. beispielsweise wahlweise eine bestimmte Speicherzelle des Speichers 120, gemäß einer vorbestimmten Abfolge von Programmierschritten auf einen Speicherwert zu programmieren, so dass der Speicherwert in dem Speicher gespeichert ist. Wenigstens eine Wirkung kann darin bestehen, das die Zustandsmaschine Daten aus dem Speicher 120 zwar aufzunehmen vermag, zugleich aber hinsichtlich der Verarbeitung der aufgenommenen Daten derart vorbestimmt ist, dass die Verarbeitung nicht ausschließlich nach der Maßgabe einer Programmbefehlsfolge stattfindet, sondern nach der Maßgabe einer Schaltung, die in der Zustandsmaschine implementier ist. Bei einer Ausführungsform ist die Zustandsmaschine derart eingerichtet, dass eine Übergabe von Daten, die aus einem ausgewählten Bereich des Speichers 120 ausgelesen werden, an die ALU 110 nicht stattfindet. Bei einer Ausführungsform der Zustandsmaschine kann keine Übergabe von Daten, die aus einem ausgewählten Bereich des Speichers 120 ausgelesen werden, an die ALU 110 gar nicht stattfinden. Wenigstens eine Wirkung kann darin bestehen, dass Daten aus dem ausgewählten Bereich des Speichers 120 zwar zur Verarbeitung an die Zustandsmaschine, aber darüber hinaus nicht auch an die ALU 110 gelangen.
  • Bei einer Ausführungsform ist die Zustandsmaschine dazu eingerichtet, auf gelesene Daten eine Signatur wie etwa eine Quersumme, einen Fehlerkorrekturcode (ECC) oder dergleichen bereitzustellen.
  • Bei einigen Ausführungsformen ist der Prozessor 100 widerstandsfähig gegenüber unberechtigten Zugriffen ausgebildet. Beispielsweise weist der Prozessor 100 Mittel wie eine Randomisierung von Speicherzugriffen und/oder sonstigen Abläufen auf, die eine differentielle Stromanalyse erschweren. Der Prozessor 100 kann eine Feldabschirmung aufweisen, um ein Auslesen von Daten anhand elektrischer Feldproben zu erschweren. Dem Fachmann sind sonstige Sicherungsmaßnahmen bekannt, um einen Zugriff auf Daten zu erschweren, die in dem Speicher 120 des Prozessors 100 gespeichert sind und/oder die von dem Prozessor 100 verarbeitet werden.
  • 2 ist ein Blockdiagramm, das einen Speicher gemäß einigen Ausführungsformen der Erfindung schematisch darstellt. Der Speicher 120 weist mehrere Speicherblöcke auf, auf die nachfolgend als Speichersektoren 121, 122, 123 bezuggenommen wird.
  • 3A, 3B und 3C sind Blockdiagramme, die beispielsweise einen Ausschnitt aus dem Speichersektor 121 gemäß einigen Ausführungsformen der Erfindung schematisch darstellen. Der Speichersektor 121 weist mehrere Zeilen 311, 321, 331 mit Zellen 311a, 311b ... 311h, 312a ... 312c, 321a ... 322c, 331a ... 332c auf. Die Zellen können individuell adressierbar sein. Je nach Speichertyp kann jede Zelle wenigstens ein Bit speichern. Obwohl der dargestellte Bereich vom Speichersektor drei Zeilen von jeweils acht plus drei Speicherzellen aufweist, sollte man verstehen, dass die Zahl der Speicherzellen von dem gezeigten Beispiel abweichen kann. Beispielsweise kann der Speichersektor 1024 Zeilen mit 32 plus acht Zellen pro Zeile aufweisen. Ferner sollte man verstehen, dass nicht jeder Speichersektor 121, 122, 123 gleich strukturiert sein muss. Beispielsweise kann ein erster Speichersektor 512 Zeilen mit 32 plus acht Zellen pro Zeile aufweisen, während ein zweiter Speichersektor 512 Zeilen mit 16 plus vier Zellen aufweist. Ferner können verschiedene Speichersektoren 121, 122, 123 des Speichers 120 verschiedene Speichertypen aufweisen.
  • 3A zeigt eine Darstellung eines Bereichs des Speichersektors 121, in dem die Zellen 311a ... 311h einer ersten Zeile 311 des dargestellten Bereichs des Speichersektors 121 eine Daten-Bitfolge 1 0 1 1 0 1 1 0 speichern. Auf die erste Zeile des dargestellten Bereichs des Speichersektors 121 wird in der weiteren Beschreibung als obere Zeile 311 Bezug genommen. Ferner wird unten auf die Bitfolge in der oberen Zeile 311 des Speichersektors auch als ursprüngliche Bitfolge Bezug genommen, während die 3B und die 3C sonstige Bitfolgen zeigen, die im Verlauf eines Tests des Speichersektors 121 hinsichtlich des Speichersektors 121 von Bedeutung sein können, wie es aus der weiteren Beschreibung deutlich wird. Auf die sonstigen Bitfolgen wird unten als Testdaten-Bitfolgen Bezug genommen.
  • Der Prozessor 100 ist dazu eingerichtet, unter Bilden einer Quersumme eine Signatur auf die ursprüngliche Bitfolge zu ermitteln. In dem Beispiel, das in 3A dargestellt ist, speichern dementsprechend die Zellen 312a ... 312c der oberen Zeile 311 des dargestellten Bereichs vom Speichersektor 121 eine Prüfbitfolge 1 0 1. Die Prüfbitfolge 1 0 1 bildet eine ursprüngliche Signatur auf die ursprüngliche Bitfolge 1 0 1 1 0 1 1 0. Beispielsweise repräsentiert die Prüfbitfolge eine Quersumme der Einsen der ursprünglichen -Bitfolge 1 0 1 1 0 1 1 0. Andere Testdaten-Bitfolgen können in den Zellen 311a ... 311h gespeichert sein. Dementsprechend können auch sonstige Prüfbitfolgen in den Zellen 312a ... 312c gespeichert sein. Die in den Zellen 312a ... 312c gespeicherte Bitfolge kann einen anderen Bezug zu der ursprünglichen Bitfolge aufweisen als eine Quersumme der Einsen darzustellen. Beispielsweise kann eine Abweichung der Darstellung der gespeicherten ursprünglichen Bitfolge von einer mittleren Prüfsumme kodiert sein oder eine Prüfsumme kann die Anzahl der Nullen in der ursprünglichen Bitfolge repräsentieren.
  • Um weitere Beispiele zu geben, ist in einer zweiten Zeile 321, auf die in der weiteren Beschreibung als mittlere Zeile 321 Bezug genommen wird, eine weitere beispielhafte ursprüngliche Bitfolge 1 1 1 1 0 0 0 0 dargestellt. Und in einer dritten Zeile 331, auf die in der weiteren Beschreibung als untere Zeile 331 Bezug genommen wird, ist noch eine weitere beispielhafte ursprüngliche Bitfolge 1 0 0 0 0 0 1 0 dargestellt. Man sollte verstehen, dass der getestete Speichersektor 121 je nach Ausführungsform weniger oder mehr Zeilen als der dargestellte Bereich des Speichersektors 121 umfassen kann. In einigen Ausführungsformen werden Zeilen des Speichersektors 121 wahlweise getestet. Somit kann in einigen Ausführungsformen ein Test auf eine Untermenge der Menge von Zeilen oder Speicheradressen des Speichersektors 121 beschränkt sein.
  • Entsprechend den Zellen 312a ... 312c der oberen Zeile 311 speichern die Zellen 322a ... 322c der mittleren Zeile 321 des dargestellten Bereichs vom Speichersektor 121 eine Prüfbitfolge 1 0 0. Im Beispiel repräsentiert die Prüfbitfolge 1 0 0 eine Quersumme der Einsen der ursprünglichen Bitfolge 1 1 1 1 0 0 0 0 in den Zellen 321a ... 321h der mittleren Zeile 321. Und weiter speichern dementsprechend auch die Zellen 332a ... 332c der unteren Zeile 331 des dargestellten Bereichs vom Speichersektor 121 eine Prüfbitfolge 0 1 0, die im Beispiel eine Quersumme der Einsen der ursprünglichen Bitfolge 1 0 0 0 0 0 1 0 in den Zellen 331a ... 331h der unteren Zeile 331 repräsentiert. Man sollte verstehen, dass die hier genannten ursprünglichen Bitfolgen in der oberen Zeile, der mittleren Zeile und der unteren Zeile des dargestellten Bereichs vom Speichersektor 121 willkürlich gewählt sind, um ein Beispiel zu geben.
  • Der Speichersektor 121, der in dem dargestellten Beispiel acht plus drei Zellen pro Zeile 311, 312, 313 umfasst, kann jegliche sonstigen Werte, die mit acht Bit darstellbar sind, in jeder Zeile speichern. Ferner kann der Speichersektor 121, der in dem dargestellten Beispiel acht plus drei Zellen pro Zeile umfasst, jegliche sonstigen Signaturen, die mit drei Bit darstellbar sind, in jeder Zeile speichern. In einer anderen Ausführungsform (nicht dargestellt), umfasst der Speichersektor 121 beispielsweise acht plus vier Speicherzellen. Dementsprechend kann der Speichersektor einen Prüfcode mit vier Bit pro Zeile speichern. Beispielsweise kann der Prüfcode unter Umständen über eine Fehlerfeststellung hinaus auch eine Fehlerkorrektur ermöglichen, wenn beispielsweise ein Fehlerkorrekturcode verwendet wird.
  • Die ALU 110 ist mittels des Busses 112 derart an den Speicher 120 gekoppelt, dass die ALU Daten in den Speicher 120 schreiben und aus dem Speicher 120 lesen kann. Insbesondere kann die ALU 110 Daten in die Zellen 311a ... 332c der mehreren Speichersektoren 121, 122, 123 schreiben und/oder aus den Zellen 311a ... 332c auslesen. Der Prozessor 100 ist beispielsweise dazu eingerichtet, eine ursprüngliche Bitfolge aus zu testenden Speicherzellen 311a ... 311h zu lesen. In einigen Ausführungsformen ist der Prozessor 100 an einen Programmspeicher (nicht dargestellt) gekoppelt, in dem ein Programm gespeichert ist, dessen Ausführung den Prozessor dazu veranlasst, die ursprüngliche Bitfolge aus den zu testenden Speicherzellen zu lesen. Bei der ursprünglichen Bitfolge kann es sich um jegliche Daten handeln, die gemäß einer vorgesehenen Funktion des Prozessors im Betrieb des Prozessors 100 in den Speicher 120 geschrieben ist.
  • Bei einigen Ausführungsformen ist der Prozessor dazu eingerichtet, auf der Grundlage der ursprünglichen Bitfolge eine erste Testdaten-Bitfolge zu bilden. Bei einer Ausführungsform ist der Prozessor dazu eingerichtet, ein Bit der ursprünglichen Bitfolge auszuwählen und das ausgewählte Bit zu invertieren. Beispielsweise kann der Prozessor das zweite Bit der ursprünglichen Bitfolge auswählen, um dieses Bit zu invertieren. Dementsprechend kann der Prozessor in dem obengenannten Beispiel der ursprünglichen Bitfolge 1 0 1 1 0 1 1 0 die erste Testdaten-Bitfolge 1 1 1 1 0 1 1 0 erzeugen.
  • Bei einer Ausführungsform (nicht dargestellt) ist der Prozessor dazu eingerichtet, mehr als ein Bit auszuwählen, das invertiert wird. Beispielsweise erfolgt die Auswahl des Bits zufällig. Der Prozessor 100 ist dazu eingerichtet, zu speichern, beispielsweise in dem Register 130 für spezielle Zwecke, welche Bitstelle, d.h. welches Bit, für die Invertierung ausgewählt ist, damit die Information über das ausgewählte Bit im weiteren Verlauf des Tests für eine weitere Verarbeitung zur Verfügung steht. Im vorliegenden Beispiel ist der Prozessor 100 dazu eingerichtet, die Information zu speichern, dass das zweite Bit für die Inversion ausgewählt ist. Bei einigen Ausführungsformen ist der Prozessor 100 optional dazu eingerichtet, den ursprünglichen und/oder den invertierten Wert des ausgewählten Bits zu speichern, beispielsweise in dem Register 130 für spezielle Zwecke, damit der ursprüngliche bzw. der invertierte Wert im weiteren Verlauf des Tests für eine weitere Verarbeitung zur Verfügung steht.
  • Der Prozessor 100 ist in einigen Ausführungsformen dazu eingerichtet, unter Bilden einer ersten Quersumme eine erste Testdaten-Signatur auf die erste Testdaten-Bitfolge zu ermitteln. In dem Beispiel, das in 3B dargestellt ist, speichern dementsprechend die Zellen 312a ... 312c der oberen Zeile 311 des dargestellten Bereichs vom Speichersektor 121 eine Prüfbitfolge 1 1 0. Die Prüfbitfolge 1 1 0 bildet eine erste Testdaten-Signatur auf die Testdaten-Bitfolge 1 1 1 1 0 1 1 0. Beispielsweise repräsentiert die Prüfbitfolge eine Quersumme der Einsen der Testdaten-Bitfolge 1 1 1 1 0 1 1 0. Andere Testdaten-Bitfolgen können in den Zellen 311a ... 311h gespeichert sein. Dementsprechend können auch sonstige Testdaten-Prüfbitfolgen in den Zellen 312a ... 312c gespeichert sein. Die in den Zellen 312a ... 312c gespeicherte Testdaten-Prüfbitfolge kann einen anderen Bezug zu der Testdaten-Bitfolge aufweisen als eine Quersumme der Einsen darzustellen. Beispielsweise kann eine Abweichung der Darstellung der gespeicherten Testdaten-Bitfolge von einer mittleren Prüfsumme kodiert sein oder eine Prüfsumme kann die Anzahl der Nullen in der Testdaten-Bitfolge repräsentieren.
  • Der Prozessor 100 ist dazu eingerichtet, die erste Testdaten-Bitfolge an die Stelle der ursprünglichen Bitfolge in die zu testenden Speicherzellen zu schreiben. 3B zeigt beispielhaft eine Darstellung des Speichersektors 121, in dem, sofern der Speichersektor fehlerfrei funktioniert, die Zellen 311a ... 311h der oberen Zeile die erste Testdaten-Bitfolge 1 1 1 1 0 1 1 0 speichern, die durch Kippen des zweiten Bits aus der ursprünglichen Bitfolge 1 0 1 1 0 1 1 0 hervorgegangen ist.
  • Der Prozessor 100 ist ferner dazu eingerichtet, aus dem Speicher 120 an der Stelle der ursprünglichen Bitfolge bzw. der ersten Bitfolge eine zweite Testdaten-Bitfolge zu lesen. 3C zeigt beispielhaft eine Darstellung des Speichersektors 121, aus dem in der oberen Zeile der Inhalt der Zellen 311a ... 311h die zweite Testdaten-Bitfolge 1 1 1 1 0 1 1 0 gelesen ist. Der Prozessor 100 ist in einigen Ausführungsformen ferner dazu eingerichtet, unter Bilden einer zweiten Quersumme eine zweite Testdaten-Signatur auf die zweite Testdaten-Bitfolge zu ermitteln. Im vorliegenden Beispiel repräsentiert die Prüfbitfolge 1 1 0 die zweite Quersumme. Funktionieren der Schreibvorgang, das Speichern und der Lesevorgang fehlerfrei, so entspricht die zweite Testdaten-Bitfolge, die aus den Speicherzellen 311a ... 311h des Speichersektors 121 gelesen wird, identisch der ersten Testdaten-Bitfolge, die in dieselben Speicherzellen 311a ... 311h des Speichersektors 121 programmiert wurde.
  • Der Prozessor 100 ist in einigen Ausführungsformen dazu eingerichtet, die zweite Quersumme 1 1 0 mit der ersten Quersumme 1 1 0 zu vergleichen. Ferner ist der Prozessor 100 dazu eingerichtet, ein Ergebnis des Vergleichs zu signalisieren. Beispielsweise kann der Prozessor 100 ein Fehlersignal genau dann ausgeben, wenn die zweite Quersumme nicht gleich der ersten Quersumme ist. In einigen Ausführungsformen ist der Prozessor 100 dazu eingerichtet, ein Bestätigungssignal genau dann auszugeben, wenn die zweite Quersumme 1 1 0 - wie im vorliegenden Beispiel - gleich der ersten Quersumme 1 1 0 ist. Wenigstens eine Wirkung kann darin bestehen, dass ein Nutzer das Signal des Prozessors 100 als Hinweis auf einen Speicherfehler interpretiert, wenn das Signal ein Fehlersignal ist oder wenn der Nutzer kein Bestätigungssignal erkennt. Wenigstens eine Wirkung kann darin bestehen, dass das Signal des Prozessors 100 dem Nutzer zur Verfügung steht, um beispielsweise in einer statistischen Auswertung weiterverarbeitet zu werden, die auf der Grundlage der invertierten Bitstellen zur Eingrenzung einer wahrscheinlichen Fehlerursache dient.
  • Der Prozessor 100 ist dazu eingerichtet, eine dritte Bitfolge 1 0 1 1 0 1 1 0 durch Invertieren mindestens eines ausgewählten Bits der zweiten Testdaten-Bitfolge zu bilden. Insbesondere kann der Prozessor gerade jenes Bit oder jene Bits invertieren, die der Prozessor 100 invertiert hat, um aus der ursprünglichen Bitfolge die erste Testdaten-Bitfolge zu gewinnen. Ferner ist der Prozessor 100 dazu eingerichtet, die dritte Bitfolge in die zu testenden Speicherzellen 311a ... 311h an die Stelle der ursprünglichen Bitfolge bzw.an die Stelle der ersten Bitfolge zu schreiben. Wenigstens eine Wirkung kann darin bestehen, dass der Nutzer den Test durchführen konnte, ohne den Inhalt des Speichers selbst in Erfahrung zu bringen. Denn der Nutzer hat zwar die erste Testdaten-Signatur, insbesondere die erste Quersumme, gespeichert, beispielsweise in dem Register 130 für spezielle Aufgaben, und mit der zweiten Testdaten-Signatur, insbesondere mit der zweiten Quersumme, verglichen. Der Nutzer kann beim Test jedoch darauf verzichten, die ursprüngliche Bitfolge, die erste Testdaten-Bitfolge, die zweite Testdaten-Bitfolge oder die dritte Bitfolge an einen anderen Ort als in die zu testenden Speicherzellen 311a ... 311h zu schreiben.
  • In einer Ausführungsform ist der Prozessor 120 dazu eingerichtet, die Bits der ursprünglichen Bitfolge, die Bits der ersten Testdaten-Bitfolge, die Bits der zweiten Testdaten-Bitfolge und die Bits der dritten Bitfolge jeweils seriell zu verarbeiten, etwa um die Signatur zu ermitteln, so dass der Nutzer zu keinem Zeitpunkt eine vollständige Darstellung der ursprünglichen Bitfolge, der ersten Testdaten-Bitfolge, der zweiten Testdaten-Bitfolge bzw. der dritten Bitfolge in einem Register der ALU 110 oder gar in dem Speicher 120 des Prozessors 100 speichert.
  • Allgemein umfasst ein Verfahren zum Test zu testender Speicherzellen einer integrierten Schaltung: Bilden einer ersten Quersumme einer ersten Bitfolge und ein Schreiben der ersten Bitfolge in die zu testenden Speicherzellen. Das Verfahren umfasst ferner Lesen einer zweiten Bitfolge aus den zu testenden Speicherzellen und Bilden einer zweiten Quersumme der zweiten Bitfolge. Außerdem umfasst das Verfahren Signalisieren, falls die zweite Quersumme von der ersten Quersumme verschieden ist oder das Verfahren umfasst Signalisieren, falls die zweite Quersumme mit der ersten Quersumme übereinstimmt. Das Verfahren kann auch beide Schritte des Signalisierens umfassen, denn das jeweilige Signalisieren ist bedingt, und die Bedingungen schließen sich gegenseitig aus, so dass je nach Vorliegen einer der beiden Bedingungen gemäß dem Verfahren entweder das Vorliegen der einen Bedingung oder das Vorliegen der anderen Bedingung signalisiert wird.
  • Nachfolgend wird eine beispielhafte Ausführung des Verfahrens gemäß einigen Implementierungen unter Bezugnahme auf das in den 4A und 4B dargestellte Ablaufdiagramm beschrieben, wobei auch auf die 1 und 2 sowie 3A, 3B und 3C referenziert wird.
  • Bei S410 wird eine ursprüngliche Bitfolge aus zu testenden Speicherzellen gelesen. Beispielsweise werden aus dem dargestellten Bereich des Speichersektors 121, wie in 3A dargestellt, die ursprünglichen Bitfolgen 10 1 1 0 1 1 0 (obere ursprüngliche Bitfolge), 1 1 1 1 0 0 0 0 (mittlere ursprüngliche Bitfolge) und 1 0 0 0 0 0 1 0 (untere ursprüngliche Bitfolge) gelesen.
  • Bei S415 wird wenigstens eine zu invertierende Bitstelle gewählt. Beispielsweise wird die zweite Bitstelle gewählt. Die Wahl der Bitstelle kann insbesondere dann zufällig erfolgen, wenn die nachfolgend beschriebenen Verfahrensschritte wiederholt durchgeführt werden, um statistische Daten hinsichtlich der zu testenden Speicherzellen zu sammeln.
  • Bei S420 wird eine erste Bitfolge durch Invertieren mindestens eines Bits an der mindestens einen ausgewählten Bitstelle der ursprünglichen Bitfolge gebildet. In dem beschriebenen Beispiel werden, wie in 3B dargestellt, durch das Invertieren des Bits an der zweiten Bitstelle so die Bitfolgen 1 1 1 1 0 1 1 0 (obere Testdaten-Bitfolge), 1 0 1 1 0 0 0 0 (mittlere Testdaten-Bitfolge) und 1 1 0 0 0 0 1 0 (untere Testdaten-Bitfolge) geschaffen. In einigen Ausführungsformen werden die ursprünglichen Bitfolgen aus sonstigen Registern der CPU 100 gelöscht, so dass die CPU 100 die ursprünglichen Bitfolgen nicht ausserhalb der zu testenden Speicherzellen 311a ... 331h der CPU 100 speichert.
  • Bei S425 wird eine erste Testdaten-Signatur auf einen Datenwortabschnitt der ersten Bitfolge ermittelt. Beispielsweise wählt der Nutzer den Datenwortabschnitt. In einigen Ausführungsformen ist die Wahl vorgegeben. In dem gezeigten Beispiel umfasst der Datenwortabschnitt das gesamte Datenwort. In dem gezeigten Beispiel umfasst die erste Testdaten-Signatur die Quersumme hinsichtlich der Einsen in einer Binärdarstellung des Datenworts. Dementsprechend werden hinsichtlich der Testdaten-Bitfolgen erste Testdaten-Prüfbitfolgen 1 1 0 (obere Testdaten-Prüfbitfolge), 0 1 1 (mittlere Testdaten-Prüfbitfolge) und 0 1 1 (untere Testdaten-Prüfbitfolge) ermittelt.
  • Bei einigen Ausführungsformen umfasst das Bilden der ersten Signatur wie bereits dargelegt das Ermitteln der Quersumme auf den Datenwortabschnitt. In einigen Ausführungsformen umfasst das Bilden der ersten Signatur das Ermitteln eines Hashs auf den Datenwortabschnitt (nicht dargestellt). In einigen Ausführungsformen umfasst das Bilden der ersten Signatur das Ermitteln eines Fehlerkorrekturcodes (ECC) für den Datenwortabschnitt (nicht dargestellt). In einigen Ausführungsformen umfasst das Bilden der ersten Signatur das Ermitteln einer Prüfsumme für den Datenwortabschnitt (nicht dargestellt). Das Bilden der Signatur umfasst in einigen Ausführungsformen auch eine Kombination von zwei oder mehr der vorgenannten Schritte (nicht dargestellt).
  • Bei einigen Ausführungsformen umfasst das Bilden der ersten Bitfolge das Ermitteln der Signatur. Bei dieser Ausführungsform umfasst die erste Bitfolge zumindest den Datenwortabschnitt und die Signatur. Im erläuterten Beispiel umfasst die erste Testdaten-Bitfolge für die erste Zeile 311 des Speichersektors 121 dementsprechend die Bits 1 1 1 1 0 1 1 0 1 1 0. Die erste Testdaten-Bitfolge für die zweite Zeile 321 des Speichersektors 121 umfasst die Bits 1 0 1 1 0 0 0 0 0 1 1, und die erste Testdaten-Bitfolge für die dritte Zeile 331 des Speichersektors 121 umfasst die Bits 1 1 0 0 0 0 1 0 0 1 1.
  • Noch bei S425 wird jede erste Testdaten-Signatur, d.h. die obere Testdaten-Prüfbitfolge 1 1 0, die mittlere Testdaten-Prüfbitfolge 0 1 1 und die untere Testdaten-Prüfbitfolge 0 1 1, in dem Register 130 des Prozessors 100 gespeichert. In einigen Ausführungsformen werden die ersten Testdaten-Prüfbitfolgen gelöscht. Sofern die Bitfolge sowohl den Datenwortabschnitt als auch die Signatur auf den Datenwortabschnitt umfasst, kann in einer alternativen Ausführungsform darauf verzichtet werden, die Signatur in dem Register 130 des Prozessors 100 zu speichern.
  • Bei S430 wird der Datenwortabschnitt der ersten Bitfolge in die zu testenden Speicherzellen des Speichersektors 121 geschrieben. Ein fehlerfreies Schreiben der jeweiligen Bitfolge in die zu testenden Speicherzellen 311a ... 332h des Speichersektors 121 setzt voraus, dass sich die Speicherzellen 311a ... 332h programmieren lassen.
  • Bei S435 wird eine zweite Bitfolge aus den zu testenden Speicherzellen gelesen. Funktionieren der Schreibvorgang, das Speichern und der Lesevorgang fehlerfrei, so entspricht die zweite Testdaten-Bitfolge, die aus den Speicherzellen 311a ... 311h des Speichersektors 121 gelesen wird, identisch der ersten Testdaten-Bitfolge, die in dieselben Speicherzellen 311a ... 311h des Speichersektors 121 programmiert wurde. Eine Wirkung der vorliegend offenbarten Lehre besteht allerdings darin, dass ein unmittelbarer Vergleich aus den Speicherzellen 311a ... 311h, 321a ... 321h , 331a ... 331h gelesener Datenworte mit in dieselben Speicherzellen 311a ... 311h, 321a ... 321h , 331a ... 331h jeweils geschriebener Datenworte nicht erforderlich ist, wie die weitere Erläuterung zeigt. Sofern die Bitfolge sowohl den Datenwortabschnitt als auch die Signatur auf den Datenwortabschnitt umfasst, wird in der alternativen Ausführungsform mit der Testdaten-Bitfolge auch die Signatur auf den Datenwortabschnitt der Testdaten-Bitfolge aus den Speicherzellen 312a ... 312c, 322a ... 322c , 332a ... 332c ausgelesen.
  • Bei S440 wird, entsprechend der ersten Testdaten-Signatur auf die erste Testdaten-Bitfolge, eine zweite Testdaten-Signatur auf einen Datenwortabschnitt der gelesenen zweiten Testdaten-Bitfolge gebildet. Eine Wahl des Datenwortabschnitts der zweiten Testdaten-Bitfolge entspricht dabei der Wahl des Datenwortabschnitts der ersten Testdaten-Bitfolge. In dem Beispiel entspricht die Testdaten-Signatur der Quersumme der Einsen der zweiten Testdaten-Bitfolge. Im erläuterten Beispiel umfasst die gelesene zweite Testdaten-Bitfolge für die obere Zeile 311 des Speichersektors 121 den Datenwortabschnitt 1 1 1 1 0 1 1 0, und dementsprechend werden als zweite Testdatensignatur für den Datenwortabschnitt der oberen Zeile als Darstellung der Quersumme die Bits 1 1 0 ermittelt. Ferner umfasst die gelesene zweite Testdaten-Bitfolge für die mittlere Zeile 312 des Speichersektors 121 den Datenwortabschnitt 1 0 1 1 0 0 0 0, und dementsprechend werden als zweite Testdaten-Signatur für den Datenwortabschnitt der mittleren Zeile als Darstellung der Quersumme die Bits 0 1 1 ermittelt. Und für die untere Zeile 313 umfasst in dem Beispiel die gelesene zweite Tastendaten-Bitfolge den Datenwortabschnitt 1 1 0 0 0 0 1 0. Dementsprechend werden als zweite Testdaten-Signatur für den Testdaten-Signatur für den Datenwortabschnitt der unteren Zeile ebenfalls als Darstellung der Quersumme die Bits 0 1 1 ermittelt.
  • Bei S445 wird die zweite Testdaten-Signatur mit der ersten Testdaten-Signatur verglichen. Im vorliegenden Beispiel wird die Darstellung der zweiten Quersumme mit der Darstellung der ersten Quersumme verglichen. Im Beispiel werden die zweite Testdaten-Signatur der ersten Testdaten-Signatur verglichen, d.h. für die obere Zeile 1 1 0 mit 1 1 0, für die mittlere Zeile 0 1 1 mit 1 0 0 und für die untere Zeile 0 1 1 mit 0 1 1.
  • Bei S450 wird signalisiert, falls die zweite Quersumme von der ersten Quersumme verschieden ist. In einigen Ausführungsformen wird signalisiert, falls die zweite Quersumme gleich der ersten Quersumme ist. In einigen Ausführungsformen umfasst das Signalisieren, falls die zweite Quersumme von ersten Quersumme verschieden ist, beziehungsweise das Signalisieren, falls die zweite Quersumme mit der ersten Quersumme übereinstimmt, ein Bilden eines Signals, das repräsentiert, ob die zweite Signatur von der ersten Signatur verschieden ist oder nicht. In dem dargestellten Beispiel wird in einigen Ausführungsformen für die obere Zeile signalisiert, dass die zweite Quersumme gleich der ersten Quersumme ist. Somit wurde kein Fehler festgestellt. Das bedeutet nicht zwingend, dass bei den Vorgängen Schreiben, gespeichert Halten, Lesen des Datenworts in die zu testenden Speicherzellen 311a ... 311h nicht Fehler passiert sein könnten, die sich gegenseitig kompensieren. In dem dargestellten Beispiel wird in einigen Ausführungsformen für die mittlere Zeile signalisiert, dass die zweite Quersumme ungleich der ersten Quersumme ist. In dem gewählten Beispiel wurde das gegenüber dem ursprünglichen Wert invertierte zweite Bit nicht in die Zelle 321b des Speichersektors programmiert, weshalb die gelesene Testdaten-Bitfolge eine andere Testdaten-Signatur ergibt als die erste Testdaten-Bitfolge, die bei S430 zum Schreiben in die zu testenden Zellen verwendet wurde. Auf einen solchen Fehler, bei dem der gespeicherter Wert „1“ sich aus einer Speicherzelle nicht löschen lässt, wird nachfolgend auch als „Stuck-at-1-Fehler“ Bezug genommen. In dem dargestellten Beispiel wird für die untere Zeile signalisiert, dass die zweite Quersumme gleich der ersten Quersumme ist. Somit wurde für die untere Zeile 331 kein Fehler festgestellt.
  • Einige Ausführungsformen des Verfahrens umfassen ein Bilden einer dritten Bitfolge. Das Bilden der dritten Bitfolge kann ein Invertieren mindestens eines Bits an der mindestens einen ausgewählten Bitstelle der zweiten Bitfolge umfassen. Dementsprechend wird beispielsweise bei S455 das Bit oder werden die Bits an den Bitstellen der zweiten Bitfolge umgekehrt, an denen schon das Bit bzw. die Bits der ersten Bitfolge invertiert wurden, um die zweite Bitfolge zu gewinnen. Die im Wege der Bitinvertierung entstandene Bitfolge bildet eine dritte Bitfolge. Das Bilden der dritten Bitfolge umfasst in einigen Ausführungsformen ein Ermitteln einer dritten Signatur auf den Datenwortabschnitt der ursprünglichen Bitfolge oder der dritten Bitfolge. Wenigstens eine Wirkung kann darin bestehen, dass die dritte Bitfolge mit der dritten Signatur ein drittes Datenwort bildet, das in den Speicher 120 geschrieben wird. In dem dargestellten Beispiel wird in einigen Ausführungsformen für die obere Zeile 311 durch Inversion des zweiten Bits der zweiten Testdaten-Bitfolge 1 0 1 1 0 1 1 0 die dritte Bitfolge 1 1 1 1 0 1 1 0 hergestellt, die der ursprünglichen Bitfolge der oberen Zeile 311 entspricht. Dementsprechend wird für die mittlere Zeile die dritte Bitfolge 1 0 1 1 0 0 0 0 gebildet, und für die untere Zeile 331 wird die dritte Bitfolge 1 0 0 0 0 0 1 0 gebildet. Die dritte Bitfolge für die mittlere Zeile entspricht an der zweiten Bitstelle nicht der ursprünglichen Bitfolge, weil in dem vorliegenden Beispiel die zweite Testdaten-Bitfolge für die mittlere Zeile 321 - wie vorstehend erläutert - schon nicht der ersten Testdaten-Bitfolge für die mittlere Zeile 321 entspricht. Die dritte Bitfolge für die untere Zeile 331 entspricht dagegen der ursprünglichen Bitfolge für die untere Zeile 331.
  • Bei einigen Ausführungsformen umfasst das Verfahren ein Schreiben der dritten Bitfolge in die zu testenden Speicherzellen an die Stelle der ersten Bitfolge. Dementsprechend werden beispielsweise bei S460 die dritten Bitfolge für die obere Zeile 311, die mittlere Zeile 321 und die untere Zeile 331 in die zu testenden Zellen 311a ... 331h des Speichers 120 geschrieben.
  • Bei S499 fährt das Verfahren mit sonstigen Schritten fort. In einigen Ausführungsformen endet das Verfahren. Wenigstens eine Wirkung des vorstehend anhand eines Beispiels erläuterten Verfahrens kann darin bestehen, dass der Speicher 120 getestet werden kann, ohne einem Tester Einblick in die in den Speicher geschriebenen Daten zu geben. Wenigstens eine Wirkung kann auch darin bestehen, dass der Speicher 120 getestet werden kann, ohne die Daten abschließend aus dem Speicher gelöscht zu haben. Ein möglicher Einblick des Testers in die Daten kann weiter erschwert werden, indem der Prozessor 100 dazu eingerichtet ist, eine Anzahl von Lesezugriffen auf den Speicher 120 zu beschränken. Beispielsweise kann ein Zähler auf eine maximale Anzahl von Lesezugriffen auf den Speicher 120 voreingestellt sein. Der Prozessor 100 kann weiter dazu eingerichtet sein, den Zähler mit jedem Lesezugriff auf den Speicher 120 herabzusetzen und den Lesezugriff nicht zuzulassen, falls der Zähler auf null heruntergezählt ist.
  • In einigen Ausführungsformen des Verfahrens umfasst das Schreiben der zweiten Testdaten-Bitfolge und der dritten Testdaten-Bitfolge ein Schreiben eines Speicherabbildes eines Sektors 121 des Speichers 120, der die zu testenden Speicherzellen 311a ... 332c umfasst, in einen Zwischenspeicher. Das Schreiben umfasst weiter ein Löschen des Sektors 121 des Speichers 120 und ein Schreiben des Speicherabbilds in den Sektor 121 des Speichers 120, wobei hinsichtlich der zu testenden Speicherzellen 311a ... 311h anstelle von Daten des Speicherabbilds die zweite Bitfolge bzw. die dritte Bitfolge in die zu testenden Speicherzellen 311a ... 311h programmiert wird.
  • Bei einigen Ausführungsformen werden die vorstehend erläuterten Schritte wiederholt ausgeführt. Bei einigen Ausführungsformen werden sämtliche Schritte oder eine Auswahl der Schritte Lesen einer ursprünglichen Bitfolge bei S410, Wählen wenigstens einer zu invertierenden Bitstelle bei S415, Bilden einer ersten Bitfolge auf der Grundlage der ursprünglichen Bitfolge bei S420, Bilden der ersten Quersumme bei S425, Schreiben der ersten Bitfolge in die zu testenden Speicherzellen, Lesen der zweiten Bitfolge aus den zu testenden Speicherzellen bei S435, Bilden der zweiten Quersumme der zweiten Bitfolge für verschiedene Datenwortabschnitte bei S440 wiederholt. Das Verfahren kann ferner umfassen: Erheben statistischer Daten hinsichtlich einer Übereinstimmung und/oder einer Verschiedenheit von erster Quersumme und zweiter Quersumme in Abhängigkeit der verschiedenen Datenwortabschnitte. Wenigstens eine Wirkung kann darin bestehen, in Abhängigkeit einer Wahl eines Auffälligkeitskriteriums statistisch auffällige Speicherzellen zu erkennen, die sich nicht mit derselben (niedrigen) Spannung programmieren zu lassen scheinen wie statistisch unauffällige Speicherzellen.
  • Bei dem vorstehend beschriebenen Beispiel wurde der Speichersektor 121 mit einem Stuck-at-1-Fehler einer einzelnen Speicherzelle 321b untersucht. In einem anderen Beispiel kann ein Bitleitungsfehler gefunden werden, wonach beispielsweise bei einem Fehler einer zweiten Bitleitung der Schreibvorgang für jedes Bit an der zweiten Bitstelle versagt. Denn jeglicher Test, bei dem ein Bit an der zweiten Bitstelle gekippt wird, kann dann einen Fehler hinsichtlich der Quersumme auf ein Datenwort ergeben, das in den Speichersektor 121 programmiert ist.
  • In noch einem weiteren Beispiel kann ein Wortleitungsfehler gefunden werden. Falls beispielsweise jene Wortleitung, die im dargestellten Bereich des Speichersektors 121 Zellen der mittlere Zeile 321 ansteuert, derart fehlerhaft ist, dass der Schreibvorgang für jedes Bit der mittleren Zeile versagt, dann kann jeglicher Test, bei dem ein Datenwort nicht ebenso viele Einsen wie Nullen aufweist, einen Fehler hinsichtlich der Quersumme für die mittlere Zeile 321 ergeben.
  • Wie oben erwähnt, kann eine Signatur verwendet werden, die einen Fehlerkorrekturcode (ECC) für den Datenwortabschnitt umfasst. Sofern der Prozessor allgemein dazu eingerichtet ist, eine Fehlerkorrektur vorzunehmen, ist der Prozessor 100 jedoch in einer Ausführungsform speziell dazu eingerichtet, das Verfahren gemäß der vorliegenden Offenbarung ohne Anwendung der Fehlerkorrektur auszuführen. Denn eine Korrektur des Fehlers wie in dem oben dargelegten Beispiel, in dem eine Speicherzelle 321b in dem Speichersektor 121 einen Stuck-at-1-Fehler aufweist, wäre mittels der Fehlerkorrektur schon korrigiert, noch bevor die Quersumme über die gelesene Bitfolge gebildet würde; der Fehler bliebe somit unbemerkt.
  • Bei einer Ausführungsform des Verfahrens umfasst das Datenwort selbst zusätzlich zu einer Bitdarstellung eines Datums auch einen Fehlerkorrekturcode für die Bitdarstellung. Bei dieser Ausführungsform kann die Quersumme auf die Gesamtheit von Repräsentation des Datums und den Fehlerkorrekturcode angewendet werden. Bei einer Ausführungsform ist setzt der Prozessor 100 die Fehlerkorrektur aus, wenn das zweite Datenwort aus dem zu testenden Speicher 120 gelesen wird., um zu verhindern, dass die Fehlerkorrektur einen vorhandenen Fehler ausblendet, so dass der Fehler verborgen bleibt..
  • Bei einer Ausführungsform ist der Prozessor 100 dazu eingerichtet, nacheinander verschiedene Fehlerkorrekturverfahren zu verwenden. Insbesondere ist der Prozessor 100 dazu eingerichtet, die Fehlerkorrektur bei einer wiederholten Anwendung des Tests unter Verwendung der verschiedenen Fehlerkorrekturverfahren nicht auszusetzen. Wenigstens eine Wirkung eines nach diesem Ausführungsbeispiel durchgeführten Verfahrens kann darin bestehen, dass eine Wirksamkeit der verschiedenen Fehlerkorrekturverfahren verglichen werden kann, sofern der Speicher fehlerhaft ist.
  • Bei einer Ausführungsform umfasst der Test, dass das Schreiben oder Programmieren der Speicherzellen 311a ... 331h mit einer Betriebsspannung oder einem Betriebsstrom vorgenommen wird, die bzw. der von einer Betriebsspannung bzw. einem Betriebsstrom abweichen, die ein Nutzer in einem gewöhnlichen Nicht-Test-Betrieb des Speichers 120 verwendet. Beispielsweise kann der Prozessor dazu eingerichtet sein, eine Programmierspannung geringer zu wählen als im gewöhnlichen Betrieb, um eine Toleranz des getesteten Speichers 120 gegenüber einer Verringerung der Programmierspannung zu ermitteln und/oder eine Charakteristik hinsichtlich des Programmierens für die verschiedenen getesteten Speicherzellen 311a, ...., 331h auszumessen.
  • Bei einer Ausführungsform kann der Prozessor 100 dazu eingerichtet sein, eine als fehlerhaft erkannte Speicherzelle nach Abschluss der Ausführung des Test gemäß der Offenbarung hierin erneut mit dem darin eingeschriebenen Wert zu programmieren, indem der Prozessor 100 beispielsweise eine erhöhte Programmierspannung verwendet, um den Wert zu schreiben. Eine Wirkung besteht darin, dass der Prozessor 100 den Wert unter Berücksichtigung der Fehlerhaftigkeit der Speicherzelle, d.h. beispielsweise unter Anpassung einer Bewertung des Lesestroms, aus dem Speicher lesen kann und sodann, in einer Ausführungsform wiederum unter Berücksichtigung des Speicherzellenfehlers, d.h. zum Beispiel unter Anwendung einer erhöhten Programmierspannung, in den Speicher schreiben kann, ohne den Wert zu kennen.
  • In einigen Ausführungsformen ist der Prozessor 100 dazu eingerichtet, die Quersumme in einem Speichermedium (nicht dargestellt) zu speichern, das an den Prozessor gekoppelt ist, ohne Bestandteil des Prozessors 100 selbst zu sein. In einigen Ausführungsformen ist das Speichermedium als ein nicht-flüchtiger Speicher ausgebildet, der mittels eines Schnittstellenprotokolls wie etwa das Universeller-Serieller-Bus (USB) Protokoll an den Prozessor koppelbar ist. Wenigstens eine Wirkung kann darin bestehen, dass eine weitere Auswertung der Quersummendaten zu einem späteren Zeitpunkt, insbesondere nach Ablauf des Tests, insbesondere durch einen Dritten, möglich ist.
  • So wie hierin verwendet bezeichnet der Begriff „Bitfolge“ eine Reihenfolge von Bitwerten.
  • So wie hierin verwendet bezeichnet der Begriff „Bit“ den Wert, den eine Bitstelle einer Bitfolge annimmt. Der Wert ist jeweils durch einen Begriff eines Begriffspaares bzw. durch einen Zeichen eines Zeichenpaares, beispielsweise durch 1 oder 0, WAHR oder FALSCH, Plus oder Minus, oder dergleichen repräsentierbar.
  • So wie hierin verwendet bezeichnet der Begriff „Invertieren eines Bits“ die Umkehrung des Wertes der Bitstelle mit dem Bit.
  • Sofern nichts anderes gesagt ist, können Bits unter Verwendung eines Speichermediums, etwa als Zustand einer Speicherzelle, gespeichert werden. Sofern nichts anderes gesagt ist, können Bits unter Verwendung eines Übertragungsmediums, etwa einer Übertragungsleitung, als ein Signal übertragen werden, dem das Bit aufgeprägt ist.
  • Sofern nichts anderes gesagt ist, betrifft die Reihenfolge von Bits einer Bitfolge nur die Darstellung der Bits. Die Bits der Bitfolge können nichtaufeinanderfolgend übertragen werden.
  • Sofern nichts anderes gesagt ist, betrifft gegebenenfalls ein unmittelbares Aufeinanderfolgen der Bits in einer Reihenfolge von Bits einer Bitfolge nur die Darstellung der Bits. Die Bits der Bitfolge können in nichtbenachbarten Speicherzellen gespeichert werden.
  • So wie es hierin verwendet wird bedeuten das Wort ‚beispielhaft‘ und das Wort ‚beispielsweise‘ sowie die Formulierung ‚zum Beispiel‘, dass ein Beispiel gegeben oder eine Ausführungsform dargestellt wird. Ein beispielhaft genannter Gesichtspunkt ist nicht notwendigerweise als vorteilhaft oder vorzugsweise auszulegen. Vielmehr dient das Beispiel einer Erläuterung eines Konzepts oder einer Technik anhand einer konkreten möglichen Ausführung. Der Begriff ‚Technik‘ umfasst dabei jegliches Produkt planmäßigen Handelns unter Einsatz von Kräften der Natur, je nach Kontext insbesondere ‚Gerät‘, ‚Vorrichtung‘, ‚Einrichtung‘, ‚System‘, ‚Herstellungsprodukt‘, ‚computerlesbares Medium‘, ‚Computerprogrammprodukt‘ und ‚Verfahren‘.
  • So wie hierin verwendet werden aufzählende Begriffe wie ‚erste‘, ‚zweite‘ und dergleichen dazu verwendet, verschiedene Elemente, Bereiche oder Schritte zu benennen. Die aufzählenden Begriff sind, insbesondere hinsichtlich der Anzahl, nicht beschränkend aufzufassen.
  • So wie hierin verwendet bezeichnen die Begriffe ‚Bestimmen‘ und ‚Berechnen‘ sowie Varianten derselben austauschbar verwendet, um jegliches Verfahren zu bezeichnen, um auf der Grundlage von Ausgangsdaten durch deren Auswertung zu einem Ergebnis zu kommen.

Claims (20)

  1. Verfahren zum Test zu testender Speicherzellen einer integrierten Schaltung, umfassend: - Bilden einer ersten Quersumme einer ersten Bitfolge; - Schreiben der ersten Bitfolge in die zu testenden Speicherzellen; - Lesen einer zweiten Bitfolge aus den zu testenden Speicherzellen; - Bilden einer zweiten Quersumme der zweiten Bitfolge; und - Signalisieren, falls die zweite Quersumme von der ersten Quersumme verschieden ist, und/oder Signalisieren, falls die zweite Quersumme mit der ersten Quersumme übereinstimmt.
  2. Verfahren nach Anspruch 1, das Verfahren ferner umfassend: - Ermitteln einer ersten Signatur auf einen Datenwortabschnitt der ersten Bitfolge; und - Schreiben des Datenwortabschnitts der ersten Bitfolge in die zu testenden Speicherzellen; wobei das Bilden der ersten Signatur eines oder mehreres umfasst von: - Ermitteln der Quersumme auf den Datenwortabschnitt, - Ermitteln eines Hashs auf den Datenwortabschnitt, - Ermitteln eines Fehlerkorrekturcodes (ECC) für den Datenwortabschnitt, und - Ermitteln einer Prüfsumme für den Datenwortabschnitt.
  3. Verfahren nach Anspruch 1 oder 2, ferner umfassend: - Bilden, entsprechend der ersten Signatur, wenigstens einer zweiten Signatur auf einen Datenwortabschnitt der gelesenen zweiten Bitfolge.
  4. Verfahren nach Anspruch 3, wobei die Schritte Bilden der ersten Quersumme, Schreiben der ersten Bitfolge in die zu testenden Speicherzellen, Lesen der zweiten Bitfolge aus den zu testenden Speicherzellen, Bilden der zweiten Quersumme der zweiten Bitfolge für verschiedene Datenwortabschnitte wiederholt werden, das Verfahren ferner umfassend: Erheben statistischer Daten hinsichtlich einer Übereinstimmung und/oder einer Verschiedenheit von erster Quersumme und zweiter Quersumme in Abhängigkeit der verschiedenen Datenwortabschnitte.
  5. Verfahren nach Anspruch 3 oder 4, wobei das Signalisieren, falls die zweite Quersumme von der ersten Quersumme verschieden ist, beziehungsweise das Signalisieren, falls die zweite Quersumme mit der ersten Quersumme übereinstimmt, umfasst: - Bilden eines Signals, das repräsentiert, ob die zweite Signatur von der ersten Signatur verschieden ist oder nicht.
  6. Verfahren nach einem der Ansprüche 1 bis 5, das Verfahren ferner umfassend, - Lesen einer ursprünglichen Bitfolge aus den zu testenden Speicherzellen; und - Bilden der ersten Bitfolge durch Invertieren mindestens eines Bits an mindestens einer ausgewählten Bitstelle der ursprünglichen Bitfolge.
  7. Verfahren nach Anspruch 6, wobei das Bilden der ersten Bitfolge das Ermitteln der Signatur umfasst.
  8. Verfahren nach einem der Ansprüche 1 bis 7, das Verfahren ferner umfassend: - Bilden einer dritten Bitfolge, umfassend - Invertieren mindestens eines Bits an der mindestens einen ausgewählten Bitstelle der zweiten Bitfolge, und - Schreiben der dritten Bitfolge in die zu testenden Speicherzellen an die Stelle der ersten Bitfolge.
  9. Verfahren nach Anspruch 8, wobei das Bilden der dritten Bitfolge das Ermitteln einer dritten Signatur auf den Datenwortabschnitt der ursprünglichen Bitfolge oder der dritten Bitfolge umfasst.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei das Schreiben der zweiten Bitfolge und der dritten Bitfolge umfasst: - Schreiben eines Speicherabbildes eines Sektors des Speichers, der die zu testenden Speicherzellen umfasst, in einen Zwischenspeicher; - Löschen des Sektors des Speichers; - Schreiben des Speicherabbilds in den Sektor des Speichers, wobei hinsichtlich der zu testenden Speicherzellen anstelle von Daten des Speicherabbilds die zweite Bitfolge bzw. die dritte Bitfolge in die zu testenden Speicherzellen programmiert wird.
  11. Prozessor, der an einen mehrere zu testenden Speicherzellen aufweisenden Speicher koppelbar ist, wobei der Prozessor dazu eingerichtet ist, eine erste Quersumme einer ersten Bitfolge zu bilden, eine zweite Quersumme einer zweiten Bitfolge zu bilden, die aus den zu testenden Speicherzellen gelesen ist, und zu signalisieren, falls die zweite Quersumme von der ersten Quersumme verschieden ist.
  12. Prozessor nach Anspruch 11, wobei der Prozessor dazu eingerichtet ist, unter Bilden der ersten Quersumme eine Signatur auf die zweite Bitfolge zu ermitteln.
  13. Prozessor nach einem der Ansprüche 11 oder 12, wobei der Prozessor dazu eingerichtet ist, eine ursprüngliche Bitfolge aus den zu testenden Speicherzellen zu lesen und die erste Bitfolge unter Invertieren des mindestens einen ausgewählten Bits der ursprünglichen Bitfolge zu bilden.
  14. Prozessor nach Anspruch 13, wobei der Prozessor dazu eingerichtet ist, die erste Bitfolge an die Stelle der ursprünglichen Bitfolge in die zu testenden Speicherzellen zu schreiben.
  15. Prozessor nach einem der Ansprüche 11 bis 14, wobei der Prozessor dazu eingerichtet ist, eine zweite Signatur auf die zweite Bitfolge zu ermitteln.
  16. Prozessor nach einem der Ansprüche 11 bis 15, wobei der Prozessor dazu eingerichtet ist, eine dritte Bitfolge durch Invertieren mindestens eines ausgewählten Bits der ersten Bitfolge oder der zweiten Bitfolge zu bilden, und die dritte Bitfolge in die zu testenden Speicherzellen an die Stelle der ersten Bitfolge zu schreiben.
  17. Prozessor nach einem der Ansprüche 11 bis 16, wobei der Prozessor als eine Zustandsmaschine ausgebildet ist.
  18. Prozessor nach einem der Ansprüche 11 bis 17, wobei der Prozessor und der Speicher in einer Schaltung integriert sind.
  19. Prozessor nach Anspruch 18, wobei der Speicher in den Prozessor eingebettet ist.
  20. Prozessor nach Anspruch 18 oder 19, wobei der Speicher nicht-flüchtig ausgebildet ist.
DE102017117779.5A 2017-08-04 2017-08-04 Verfahren und Vorrichtung zum Test von Speicherzellen Active DE102017117779B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017117779.5A DE102017117779B4 (de) 2017-08-04 2017-08-04 Verfahren und Vorrichtung zum Test von Speicherzellen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017117779.5A DE102017117779B4 (de) 2017-08-04 2017-08-04 Verfahren und Vorrichtung zum Test von Speicherzellen

Publications (2)

Publication Number Publication Date
DE102017117779A1 true DE102017117779A1 (de) 2019-02-07
DE102017117779B4 DE102017117779B4 (de) 2023-01-05

Family

ID=65019783

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017117779.5A Active DE102017117779B4 (de) 2017-08-04 2017-08-04 Verfahren und Vorrichtung zum Test von Speicherzellen

Country Status (1)

Country Link
DE (1) DE102017117779B4 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19700510A1 (de) * 1996-06-10 1997-12-11 Mitsubishi Electric Corp Speicherkarte mit Fehlerkorrekturfähigkeit und zugehöriges Fehlerkorrekturverfahren
US6185718B1 (en) * 1998-02-27 2001-02-06 International Business Machines Corporation Memory card design with parity and ECC for non-parity and non-ECC systems
DE102005044073A1 (de) * 2004-09-06 2006-03-23 Samsung Electronics Co., Ltd., Suwon Speicherbauelement und Verfahren zur Fehlerdetektion
EP3065078A1 (de) * 2015-03-02 2016-09-07 Siemens AG Österreich Schutz von speicherinhalten eines speichers eines computersystems unter verwendung einer hashfunktion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19700510A1 (de) * 1996-06-10 1997-12-11 Mitsubishi Electric Corp Speicherkarte mit Fehlerkorrekturfähigkeit und zugehöriges Fehlerkorrekturverfahren
US6185718B1 (en) * 1998-02-27 2001-02-06 International Business Machines Corporation Memory card design with parity and ECC for non-parity and non-ECC systems
DE102005044073A1 (de) * 2004-09-06 2006-03-23 Samsung Electronics Co., Ltd., Suwon Speicherbauelement und Verfahren zur Fehlerdetektion
EP3065078A1 (de) * 2015-03-02 2016-09-07 Siemens AG Österreich Schutz von speicherinhalten eines speichers eines computersystems unter verwendung einer hashfunktion

Also Published As

Publication number Publication date
DE102017117779B4 (de) 2023-01-05

Similar Documents

Publication Publication Date Title
DE102008002083B4 (de) Flash-Speichervorrichtung und entsprechende Programmierverfahren
DE2555439A1 (de) Monolithische hochintegrierte halbleiterschaltung
DE3876459T2 (de) Speicher und deren pruefung.
DE3784181T2 (de) Fehlererkennung unter verwendung von paritaetspruefung mit veraenderlichem feld.
EP2100308B1 (de) Verfahren und halbleiterspeicher mit einer einrichtung zur erkennung von adressierungsfehlern
DE2225841B2 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
DE60222891T2 (de) Nichtflüchtige Speichervorrichtung und Selbstreparatur-Verfahren
DE102015210651A1 (de) Schaltung und Verfahren zum Testen einer Fehlerkorrektur-Fähigkeit
DE4011935A1 (de) Testsignalgenerator fuer eine integrierte halbleiterspeicherschaltung und testverfahren dafuer
DE102004020875A1 (de) Verfahren und Vorrichtung zum Maskieren bekannter Ausfälle während Speichertestauslesungen
DE102006009214B4 (de) Verfahren und Vorrichtung zum Schreiben in eine Zielspeicherseite eines Speichers
DE102019116097A1 (de) Vorprogramm-lesevorgang zur behebung von wortleitungsfehlern
DE10256487B4 (de) Integrierter Speicher und Verfahren zum Testen eines integrierten Speichers
DE102017119426B4 (de) Test und verwaltung von speicherzellen
DE102017117779A1 (de) Verfahren und Vorrichtung zum Test von Speicherzellen
EP1125202B1 (de) Speichereinrichtung zum speichern von daten und verfahren zum betreiben von speichereinrichtungen zum speichern von daten
DE10124742C1 (de) Verfahren und Einrichtung zum Testen einer Speicherschaltung
WO2003043022A2 (de) Speichertest
DE102015119802A1 (de) Verfahren zum Laden eines sicheren Speicherabbilds eines Mikrocontrollers und Anordnung mit einem Mikrocontroller
DE69626654T2 (de) Mehrfaches schreiben pro einfachem löschen in nichtflüchtigem speicher
DE102016123689B4 (de) Speicherschaltung und Verfahren zum Betreiben einer Speicherschaltung
DE3718182A1 (de) Verfahren und anordnung zur ausfuehrung eines selbsttestes eines wortweise organisierten rams
EP2002446B1 (de) Verfahren zum betreiben einer speichereinrichtung mit markierung von als fehlerhaft erkannten speicherblöcken
DE112008000991T5 (de) Verfahren und Vorrichtung zum Testen eines Seitendecoders
DE112018002029T5 (de) Register fehlerhafter bits für einen speicher

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R082 Change of representative

Representative=s name: VON LIERES BRACHMANN SCHULZE PATENTANWAELTE, DE

Representative=s name: VON LIERES BRACHMANN SCHULZE PATENTANWAELTE IN, DE

R018 Grant decision by examination section/examining division
R020 Patent grant now final