DE102016100630B4 - Speichervorrichtung und Verfahren zum Testen einer Speichervorrichtung - Google Patents

Speichervorrichtung und Verfahren zum Testen einer Speichervorrichtung Download PDF

Info

Publication number
DE102016100630B4
DE102016100630B4 DE102016100630.0A DE102016100630A DE102016100630B4 DE 102016100630 B4 DE102016100630 B4 DE 102016100630B4 DE 102016100630 A DE102016100630 A DE 102016100630A DE 102016100630 B4 DE102016100630 B4 DE 102016100630B4
Authority
DE
Germany
Prior art keywords
data word
memory
error
read
complementary
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.)
Active
Application number
DE102016100630.0A
Other languages
English (en)
Other versions
DE102016100630A1 (de
Inventor
Martin Huch
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 DE102016100630.0A priority Critical patent/DE102016100630B4/de
Priority to US15/387,780 priority patent/US10170200B2/en
Publication of DE102016100630A1 publication Critical patent/DE102016100630A1/de
Application granted granted Critical
Publication of DE102016100630B4 publication Critical patent/DE102016100630B4/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/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • 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/36Data generation devices, e.g. data inverters
    • 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
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Speichervorrichtung, umfassend:
eine Vielzahl von Datenwortspeichern;
einen Testcontroller, der konfiguriert ist, für jeden Datenwortspeicher
ein im Datenwortspeicher gespeichertes, aus Sicht des Testcontrollers unbekanntes Datenwort auszulesen, welches Fehlerkorrekturbits umfasst;
das ausgelesene Datenwort, basierend auf den Fehlerkorrekturbits für das Datenwort, zu überprüfen, um einen Fehler der Speichervorrichtung zu detektieren;
sofern kein Fehler des ausgelesenen Datenwortes detektiert wird;
ein Komplementärdatenwort des Datenworts zu bestimmen;
das Komplementärdatenwort im Datenwortspeicher zu speichern;
das Komplementärdatenwort aus dem Datenwortspeicher auszulesen;
das ausgelesene Komplementärdatenwort zu überprüfen, um einen Fehler der Speichervorrichtung zu detektieren, und
das ausgelesene Datenwort oder das ausgelesene Komplementärdatenwort nach dem Auslesen des Komplementärdatenworts aus dem Datenwortspeicher im Datenwortspeicher zu speichern.

Description

  • Die vorliegende Offenbarung betrifft Speichervorrichtungen und Verfahren zum Testen einer Speichervorrichtung.
  • Eine elektronische Vorrichtung wie etwa ein Mikrocontroller kann in einem Kontext verwendet werden, bei dem es von entscheidender Bedeutung ist, dass in seinem Speicher gespeicherte Daten korrekt gespeichert sind. Daher kann die elektronische Vorrichtung konfiguriert sein, periodisch eine Überprüfung seines Speichers gemäß einem Testverfahren durchzuführen. Testverfahren sollten üblicherweise dazu fähig sein, eine Vielzahl von Fehlern zu detektieren, d.h. die Testabdeckung sollte gut sein. Ferner kann es wünschenswert sein, dass der Test nichtdestruktiv ist, d.h. dass vor dem Test im Speicher gespeicherte Daten durch den Test nicht zerstört werden.
  • In dem Dokument US 2005 / 0 160 332 A1 ist ein Speicher beschrieben, der eine ECC Schaltung aufweist mit einer Fehlerkorrekturfunktion für N bits der Ausgangsdaten des Speichers. Außerdem weist der Speicher einen Fehlerdetektions-Schaltkreis auf, der so konfiguriert ist, dass er ein Signal herausgibt, wenn die Fehlerbitanzahl nl mit einem ersten Datenmuster ermittelt wird oder eine Fehlerbitanzahl n2, die mit dem inversen Datenmuster ermittelt wird, eine bestimmte Zahl N erreicht oder überschreitet. Ein erstes vorbestimmtes Datenmuster und danach ein zweites Datenmuster werden in den Speicher geschrieben und wieder ausgelesen, wobei das zweite Datenmuster invers zu dem ersten Datenmuster ist. Ferner werden mittels des ECC Schaltkreises die Fehlerbitanzahlen ermittelt.
  • Aus dem Dokument US 2011 / 0 191 648 A1 ist eine Vorrichtung bekannt, die Signale zusammen mit einem Fehlerkorrektur-Code übermittelt und dabei auch zumindest Teile der Signale als inverse Signale an einen Empfänger übermittelt.
  • Eine Aufgabe der Erfindung ist es, eine Vorrichtung zum Testen eines Speichers und ein Testverfahren bereitzustellen, das nichtdestruktiv gegenüber dem vor dem Test vorhandenen Speicherinhalt ist.
  • Gemäß einer Ausführungsform der Erfindung wird eine Speichervorrichtung bereitgestellt, die eine Vielzahl von Datenwortspeichern und einen Testcontroller umfasst, der konfiguriert ist, für jeden Datenwortspeicher ein im Datenwortspeicher gespeichertes, aus Sicht des Testcontrollers unbekanntes Datenwort auszulesen, welches Fehlerkorrekturbits umfasst, das ausgelesene Datenwort, basierend auf den Fehlerkorrekturbits für das Datenwort, zu überprüfen, um einen Fehler der Speichervorrichtung zu detektieren, sofern kein Fehler des ausgelesenen Datenwortes detektiert wird, ein Komplementärdatenwort des Datenworts zu bestimmen, das Komplementärdatenwort in dem Datenwortspeicher zu speichern, das Komplementärdatenwort aus dem Datenwortspeicher auszulesen und das ausgelesene Komplementärdatenwort zu überprüfen, um einen Fehler der Speichervorrichtung zu detektieren, und das ausgelesene Datenwort oder das ausgelesene Komplementärdatenwort nach dem Auslesen des Komplementärdatenworts aus dem Datenwortspeicher im Datenwortspeicher zu speichern.
  • Ferner wird ein Verfahren zum Testen einer Speichervorrichtung gemäß der obigen Speichervorrichtung bereitgestellt.
  • Weitere Ausführungsformen der Erfindung sind in den Unteransprüchen angegeben.
  • In den Zeichnungen beziehen sich die gleichen Bezugszeichen im Allgemeinen auf die gleichen Elemente in allen verschiedenen Ansichten. Die Zeichnungen sind nicht unbedingt maßstäblich, vielmehr wird der Schwerpunkt im Allgemeinen darauf gelegt, die Prinzipien der Erfindung zu veranschaulichen. In der folgenden Beschreibung werden verschiedene Aspekte unter Bezugnahme auf die folgenden Zeichnungen beschrieben, in denen Folgendes gilt:
    • 1 zeigt eine elektronische Vorrichtung, die einen Speicher wie einen Mikrocontroller aufweist.
    • 2 zeigt ein Beispiel für eine Struktur eines Speichers.
    • 3 zeigt ein Flussdiagramm, das die Testverarbeitung für eine Wortzelle gemäß einem beispielhaften March-Element veranschaulicht.
    • 4 zeigt eine Speichervorrichtung gemäß einer Ausführungsform.
    • 5 zeigt ein Flussdiagramm, das ein Verfahren zum Testen einer Speichervorrichtung gemäß einer Ausführungsform veranschaulicht.
  • Die folgende detaillierte Beschreibung betrifft die beiliegenden Zeichnungen, die zur Veranschaulichung spezifische Details und Aspekte dieser Offenbarung darstellen, in der die Erfindung umgesetzt sein kann. Es können weitere Aspekte verwendet werden und strukturelle, logische und elektrische Änderungen durchgeführt werden, ohne vom Schutzumfang der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen einander nicht notwendigerweise gegenseitig aus, da manche Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
  • Eine elektronische Vorrichtung wie etwa ein Mikrocontroller, ein eingebetteter Computer etc. kann, abhängig von seiner Anwendung, hohe Anforderungen bezüglich der Zuverlässigkeit seines Speichers aufweisen, d.h. es kann von entscheidender Bedeutung sein, dass im Speicher der Vorrichtung gespeicherte Daten nicht verlorengehen. Um Datenverlust zu vermeiden, kann ein Fehlerkorrekturcode (ECC) von der elektronischen Vorrichtung verwendet werden, um Fehler Datenwörtern zu detektieren und gegebenenfalls auch zu korrigieren. Allerdings hängt die Fähigkeit des ECC, Fehler in diesen missionskritischen Daten zu bewältigen, (in hohem Ausmaß) von der Hamming-Distanz (HD) des Codes ab. Eine hohe Hamming-Distanz geht mit einer erhöhten Anzahl von ECC-Bits einher und erhöht die Speicherzugriffszeit. Zusätzlich dazu können sogar dann im Falle eines hohen Hammings nicht alle Fehler korrigiert oder nicht einmal detektiert werden, da die ECC-Überprüfung typischerweise nur durchgeführt wird, wenn auf ein Datenwort zugegriffen wird. Das Zeitintervall zwischen dem Zugreifen auf denselben Speicherort kann sehr lang sein, sodass sich nach dieser langen Dauer sich eine zusätzliche Anzahl von Fehlern in dem Datenwort akkumuliert haben kann. Dies kann in einem derartigen Ausmaß erfolgen, dass es die Fähigkeit des ECC-Codes übersteigt.
  • Dieses Problem kann gelöst werden, indem ein periodischer Test des Speichers derart durchgeführt wird, dass Fehler korrigiert oder zumindest detektiert werden können, bevor sie entscheidend werden. Zusätzlich dazu kann ein solcher Test dafür ausgelegt sein, auch latente Fehler in dem Speicher zu detektieren.
  • 1 zeigt eine elektronische Vorrichtung 100.
  • Die elektronische Vorrichtung 100 (wie etwa ein Mikrocontroller, z.B. für eine Kraftfahrzeuganwendung) umfasst einen Speicher 101, einen (Speicher-)Testcontroller 102 und eine CPU (zentrale Verarbeitungseinheit) 103, die den Testcontroller 102 steuert und z.B. dem Testcontroller 102 Testbefehle erteilt. Beispielsweise kann die CPU 103 den Testcontroller 102 periodisch anweisen, einen Speichertest durchzuführen (z.B. wenn die elektronische Vorrichtung läuft). Sie kann den Testcontroller 102 beispielsweise auch anweisen, einen Speichertest durchzuführen, wenn die elektronische Vorrichtung 100 gestartet wird.
  • Der Speicher 101 ist beispielsweise ein SRAM (statischer Direktzugriffsspeicher)
  • 2 zeigt ein Beispiel für eine Struktur eines Speichers 200.
  • Der Speicher umfasst eine Vielzahl von Scheiben 201, worin die Anzahl der Scheiben 201 der Anzahl der Bits eines Datenwortspeichers (im Folgenden auch als Wortzelle bezeichnet) entspricht. Ein Datenwortspeicher dient dem Speichern eines Datenworts und ECC-Bits des Datenworts (worin die ECC-Bits als Teil des Datenworts selbst oder als in der Wortzelle zusätzlich zu einem Datenwort gespeichert angesehen werden können).
  • Jede Scheibe 201 ist eine Anordnung, die Zeilen und Spalten von Bitzellen umfasst. Jede Bitzelle kann durch eine Zeilenadresse 202 und eine Spaltenadresse 203 adressiert werden. So kann basierend auf einer Zeilenadresse 202 ein Zeilendecoder 204 die adressierte Zeile für jede Scheibe 201 derart auswählen, dass jede Scheibe 201 die in den Bitzellen der adressierten Zeile gespeicherten Bits ausgibt. Ein Spaltendecoder 205 (der im Fall des Auslesens vom Speicher als Multiplexer fungiert) wählt für jede Scheibe das Ausgabebit der adressierten Spalte derart aus, dass der Spaltendecoder 205 insgesamt ein Wort 206 ausgibt, das die ECC-Bits und die Nutzlast eines Datenworts umfasst, worin, wie oben erwähnt, in den im Folgenden beschriebenen Beispiel die Nutzlast ohne die ECC-Bits als das Datenwort angesehen werden kann oder die Nutzlast mit den ECC-Bits als das Datenwort angesehen werden kann.
  • Daher bildet die Zeilenadresse gemeinsam mit der Spaltenadresse die Adresse einer Wortzelle. Im Folgenden bezieht sich „Zelle“ auf „Wortzelle“ (im Gegensatz zu „Bitzelle“). Beispielsweise ist die Adresse einer Wortzelle durch den Binärwert AN, AN-1, ..., A0 angegeben, worin jeweils Ai (i= 0, ..., N) ein Bitwert ist und Aj,..., A0 die Spaltenadresse ist und AN, ..., Aj+1 die Zeilenadresse für manche j (0<j<N) ist.
  • Während oben das Auslesen vom Speicher 200 beschrieben wurde, kann das Schreiben in den Speicher 200 analog durchgeführt werden, worin beim Schreibvorgang die Spaltendecoder als Demultiplexer arbeiten.
  • Der Speicher 200 kann verschiedene Größen aufweisen, z.B. mit den folgenden Eigenschaften:
    1. a. Anzahl der Bits pro Wort: von 8 bis 137.
    2. b. Anzahl der Wörter, die gespeichert werden können: von 764 bis 8K.
    3. c. Der Spaltendecoder 205 kann 4, 8 oder 16 Eingänge aufweisen, d.h. die Spaltenadresse kann 4, 8 oder 16 Bits aufweisen.
    4. d. Der ECC-Code weist eine Hamming-Distanz von 3 auf, was bedeutet, dass er Einzelbitfehler (SBE) korrigieren und Doppelbitfehler (DBE) detektieren kann.
  • Speichertestalgorithmen weisen typischerweise die Form eines March-Tests auf. Sie können, wie unten dargestellt, unter Verwendung des einfachen March-Tests MATS+ eindeutig definiert sein. MATS+ kann geschrieben werden als: {⇕(w0)M0;⇑(r0,w1)M1;⇓(r1,w0)M2}
    • • Der MATS+-Algorithmus besteht aus 3 March-Elementen: M0, M1 und M2. Die tiefstehenden Indizes, die nicht Teil des March-Tests sind, werden nur zur einfachen Bezugnahme verwendet.
    • • Die geschwungenen Klammern „{“ und „}“ markieren den Beginn und das Ende des Tests.
    • • Das Zeichen „;“ trennt die MEs.
    • • Die runden Klammern „(“ und „)“ markieren den Beginn und das Ende der Operationen der ME.
    • • Ein March-Element besteht aus einer Sequenz von Operationen, die auf jede (Wort-)Zelle angewandt werden, in einem von zwei Adressreihenfolgen (AO):
      1. 1. Aufsteigende (11) Adressreihenfolge; von Zelle 0 bis Zelle n-1.
      2. 2. Absteigende (⇓) Adressreihenfolge; von Zelle n-1 bis Zelle 0.
  • Die ⇑-Adressreihenfolge kann jegliche Sequenz von Adressen (z.B. 5,2,0,1,3,4,6,7) sein, vorausgesetzt, dass die ⇓-Adressreihenfolge die exakt umgekehrte Sequenz ist (d.h. 7,6,4,3,1,0,2,5).
  • Das AO-Symbol „⇕“ wird verwendet, um eine AO zu bezeichnen, die irrelevant ist; d.h. sie kann willkürlich ausgewählt werden.
  • Beispiel: { ( w 0 ) M 0 ; ( r 0, w 1 ) M 1 ; ( r 1, w 0 ) M 2 } .
    Figure DE102016100630B4_0001
    • • Der Test weist eine Testlänge (TL) von 5 auf, da insgesamt 5 Operationen auf jede Zelle angewendet werden.
    • • Die Adressreihenfolge von M0 ist irrelevant (durch das Symbol ⇕ bezeichnet).
    • • M0: ⇕(w0) bedeutet ,for i = 0 to n-1 do A[i]:=0'. n = die Anzahl von Speicherzellen.
    • • M1: ⇑(r0,w1) bedeutet ,for i = 0 to n-1 do {read A[i]; A[i]:=1}'.
    • • M2: ⇓(r1,w0) bedeutet ,for i = n-1 to 0 do {read A[i]; A[i]:=0}'.
  • Der Testalgorithmus definiert zusammen mit dem Algorithmusanwendungsverfahren (AM) einen Test. Um einen Testalgorithmus anzuwenden, werden zusätzliche Informationen benötigt, die durch das AM bereitgestellt werden. Das AM besteht aus:
  • 1.
    Einem Datenhintergrund (DB).
    2.
    Einer Adressrichtung (AD).
    3.
    Einem Zählverfahren (CM).
    4.
    Operationen pro March-Element (OPME).
  • Um dazu fähig zu sein, Fehler zu sensitivieren und zu detektieren, muss man den Speicher mit Daten füllen; diese Daten werden Datenhintergrund (DB) genannt. Jeder Datenhintergrund hat seine eigene Umkehrung, was bedeutet, dass, wenn der DB aus lauter 0en besteht, die Umkehrung aus lauter 1 en besteht.
  • Die folgenden DB werden typischerweise verwendet:
    • sDB: fester Datenhintergrund.
      • sDB0: Der Speicher ist mit lauer 0en gefüllt.
      • sDB 1: Der Speicher ist mit lauter 1en gefüllt.
    • bDB: Schachbrett-DB.
      • bDB0: Der Speicher ist mit einem alternierenden Muster von 01,01,0, ..../1,0,1,0,1,0, ... gefüllt.
      • bDB1: Der Speicher ist mit einem alternierenden Muster von 1,0,1,0,1 ..../0,1,0,1,0, ...gefüllt.
    • rDB: Zeilen-Streifen-DB
      • Der Speicher ist mit alternierenden Zeilen von lauter 0en und lauter 1en gefüllt. rdB0: Füllt den Speicher mit den alternierenden Zeilen von 0000.../1111... rDB1: Füllt den Speicher mit alternierenden Zeilen von 1111.../0000...
    • cDB: Spalten-Streifen-DB
      • Der Speicher ist mit alternierenden Spalten von lauter 0en und lauter 1en gefüllt. cdB0: Füllt den Speicher mit dem alternierenden Muster 0000.../1111 ... cDB1: Füllt den Speicher mit dem alternierenden Muster 1111.../0000...
    • aDB: willkürlicher (oder anwendungsspezifischer) DB
      • Der Speicher ist mit einem willkürlichen Satz von Datenwerten gefüllt.
      • aDB: der ursprüngliche Satz von Datenwerten.
      • a*DB: der umgekehrte Satz von Datenwerten („*“ bedeutet Umkehrung).
  • Da die meisten Speicher eine zweidimensionale Struktur aufweisen (wie für den Speicher 200 beschrieben, der Zeilen und Spalten aufweist), kann die Adressmodifikation (d.h. die Adresserhöhung oder -verringerung) wie folgt durchgeführt werden (dies wird Adressrichtung (AD) genannt):
  • a.
    Schnell-Spalte Die Spaltenadresse wird am häufigsten modifiziert; bezeichnet durch AO des tiefstehenden Index „C“, wie z.B. in c⇑
    b.
    Schnell-Zeile Die Zeilenadresse wird am häufigsten modifiziert; bezeichnet durch AO des tiefstehenden Index „R“, wie z.B. in R⇑.
  • Ein Zählverfahren (CM) ist die Art, auf die man zählt. Beispielsweise kann das Zählen von 3 Objekten auf 6 verschiedene Arten ausgeführt werden: 1,2,3; 1,3,2 oder 2,1,3 oder 2,3,1 oder 3,1,2 oder 3,2,1. Das CM wird durch einen hochstehenden Index der AO folgendermaßen bezeichnet: Li⇑.
  • Mehrere CM werden zum Testen von Speichern verwendet, von denen nur zwei angegeben werden:
    1. a. Das lineare CM, das für die ⇑-Sequenz wie folgt zählt: 0,1,2,3, etc. Für die ⇓- Sequenz zählt es: ..., 5,4,3,2,1,0. Dies ist das am häufigsten verwendete CM, da CF typischerweise zwischen benachbarten Zellen auftreten. Notation: Li⇑.
    2. b. Das 2i CM. Dieses CM erhöht/verringert die Adresse mit einer Zahl, die eine Potenz von 2 ist. Beispielsweise für den Fall i=3 erhöht/verringert es die Adresse mit 23=8. Notation: 2i⇑. Das 2i CM erfordert spezielle Hardware-Unterstützung in den Adressgeneratoren. Dieses CM wird zum Detektieren geschwindigkeitsbezogener Fehler verwendet, wie es beim Moving-Inversion(MOVI)-Test der Fall ist, der Adressübergänge mit einer Hamming-Distanz von 2 für alle Werte von i erfordert. Dies bedeutet, dass der Test c-mal durchgeführt wird, wobei ein c-Bit-Adresszähler angenommen wird.
  • Betreffend die Operationen pro March-Element (OPME) ist das oben genannte MATS+-Algorithmusbeispiel aus 3 ME zusammengesetzt: {⇕(w0)M0;⇑(r0,w1)M1;⇓(r1,w0)M2}. Für das Detektieren von Einzelzellfehlern sind nur die Operationen und ihre Sequenz relevant. Beispielsweise kann der Algorithmus zum Detektieren von SAF (Stuck-at-fault-Fehlern) folgendermaßen aus einem Einzel-ME bestehen: {⇕(w0,r0,w1,r1)}. Alternativ dazu kann es aus 2 ME bestehen, wie z.B. in {⇕(w0,r0,w1);⇕(r1,w0)}, etc.
  • Zusätzlich zu den obigen Sequenzen erlauben Algorithmen für Einzelzellfehler auch, dass die Sequenz von Operationen umgekehrt ist, da irrelevant ist, welcher Fehler zuerst detektiert wird. Beispielsweise können alle folgenden Algorithmen auch verwendet werden, um alle SAF zu detektieren: {⇕(w1,r1,w0,r0)} und der Algorithmus {⇕(w0,r0,w1);⇕(r1)}.
  • Schließlich kann ein willkürlicher Satz von null oder mehr Operationen vor und nach dem Operationenpaar eingefügt werden, von denen erforderlich ist, dass sie eine Unterklasse eines Fehlers detektieren. Beispielsweise wie in dem Algorithmus: {⇕(...,w0,r0,...,w1,r1,...)}, wobei „...“ für einen willkürlichen Satz von (null oder mehr) Operationen steht.
    Durch Obiges ist ein höheres Maß von Freiheit beim Erstellen von Algorithmen für Einzelzellfehler gegeben.
  • Der Raum von Speicher(z.B. SRAM)-Fehlern besteht aus vielen Unterräumen. Im Folgenden werden die häufigsten Unterräume beschrieben. Diese sind:
  • 1.
    Einzelzellfehler: SAF, TF, DRF, SOF.
    2.
    Zweizellenfehler (Kopplungsfehler) CFs: CFid, CFst.
    3.
    Geschwindigkeitsbezogene Fehler.
    4.
    Adressdecoder-Fehler: AF.
  • Diese Fehler werden im Folgenden ausführlicher beschrieben:
  • Einzelzellfehler: SAF, TF, DRF, SOF
  • Im Fall eines Einzelzellfehlers umfasst der Fehler nur eine einzelne Zelle. Er besteht aus den folgenden Unterklassen:
  • 1.1
    SAF (Stuck-At-Fault).
    1.2
    TF (Übergangsfehler).
    1.3
    DRF (Datenerhaltungsfehler).
    1.4
    SOF (Stuck-Open-Fault).
  • SAF (Stuck-At-Fault):
  • Der Logikwert einer SA-Zelle ist immer:
    • 0: ein SA0-Fehler; eine w1-Operation ändert den 0-Zustand der Zelle nicht. Notation: <1/0>; das Zeichen vor dem Schrägstrich stellt die Sensitivierungsoperation dar; die Fehlerwirkung ist nach dem Schrägstrich dargestellt.
    • 1: ein SA1-Fehler Notation: <0/1>.
  • Es gilt anzumerken, dass nur ein Fehler in einer gegebenen Zelle zur selben Zeit vorhanden sein kann.
  • Das Sensitivieren und Detektieren von SAF erfordert, dass in jeder Zelle eine 1 geschrieben und ausgelesen wird und eine 0 geschrieben und ausgelesen wird.
    Die Algorithmen {⇕(w0);⇑(r0,w1);⇓(r1,w0)}, {⇕(w0,r0,w1,r1)} und (⇕(w0,r0,w1);⇕(r1,w0)} detektieren alle SAF.
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Dem Datenhintergrund (DB); d.h. sDB, bDB, rDB, cDB oder aDB.
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (R⇓).
    • • Dem Zählverfahren (CM); z.B. Schnell-Zeile (Li⇓).
    • • Den Operationen pro March-Element (OPME).
  • TF (Übergangsfehler):
  • Im Fall eines Übergangsfehlers (TF) ist eine Zelle nicht in der Lage, eine oder beide der folgenden Übergänge zu durchlaufen:
    • • Einen Aufwärts-Übergang: einen <↑/0> TF; d.h., die Zelle ist nicht in der Lage, von 0 zu 1 zu wechseln.
    • • Einen Abwärts-Übergang: einen <↓/1 > TF.
  • Eine einzelne Zelle kann beide Fehler gleichzeitig enthalten.
  • Das Sensitivieren und Detektieren von CF erfordert, dass in jeder Zelle ein Aufwärts-Übergang (d.h. ↑), gefolgt von einer Leseoperation, und ein Abwärts-Übergang, gefolgt von einer Leseoperation, ausgelöst wird. Beispielsweise detektieren alle Algorithmen {⇕(w0);⇑(r0,w1);⇓(r1,w0,r0)} und {⇕(w0,r0,w1,r1,w0,r0)} und {⇕(w0,r0,w1,r1,w0,r0)} SAF.
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Dem Datenhintergrund (DB); d.h. sDB, bDB, rDB, cDB oder aDB.
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (R⇓).
    • • Dem Zählverfahren (CM); z.B. dem linearen CM (Li⇓).
    • • Den Operationen pro March-Element (OPME).
  • DRF (Datenerhaltungsfehler):
  • Im Fall eines DRF ändert eine Zelle nach einer Dauer (T) ihren Zustand, ausgelöst durch Lecken. Da der ursprüngliche Zustand 0 oder 1 sein kann; können die folgenden zwei Fehler existieren:
    • • Der 0-Zustand geht verloren; Notation <0T/1>, nach einer Dauer T wechselt die Zelle zum Zustand 1.
    • • Der 1-Zustand geht verloren; Notation <1T/0>.
  • Ein Testalgorithmus für DRF verwendet typischerweise eine Verzögerung, wobei der Verzögerungswert Del ≥ T.
    Der Test muss eine 0 in jede Zelle schreiben und die Zellen nach einer Zeit T auslesen, ähnlich dazu muss eine 1 in die Zellen geschrieben werden und diese müssen nach einer Zeit T ausgelesen werden.
  • Aufgrund der hohen Speicherdichte, die dazu führt, dass Zellen nahe beieinander liegen, kann eine Zelle nicht nur gegen Masse oder Vcc lecken, sondern auch zu den Nachbarzellen. Daher ist der Datenhintergrund (DB) cDB (Schachbrett) typischerweise vorteilhaft.
  • Der Algorithmus zum Detektieren von DRF ist eine Obermenge jener zum Detektieren von SAF, wobei Verzögerungselemente (DEL) eingefügt werden.
  • Beispielsweise detektiert der Algorithmus {⇕(w0);Del;⇑(r0,w1);Del;⇓(r1)} DRF.
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Der Adressreihenfolge (AO); d.h. ⇑ oder ⇓.
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓).
    • • Dem Zählverfahren (CM); z.B. dem linearen CM (Li⇓).
    • • Den Operationen pro March-Element (OPME).
  • SOF (Stuck-Open-Fault):
  • Ein SOF wird durch eine nicht zugängliche Zelle oder einen nicht zugänglichen Satz von Zellen ausgelöst; z.B. ist dies der Fall, wenn eine Wortleitung unterbrochen ist. Der Leseverstärker (SA) kann die korrekten Inhalte der Zelle(n), auf die zugegriffen wird, nicht erzeugen und/oder der Schreibtreiber kann den/die korrekte(n) Wert(e) nicht in die Zellen schreiben. Beim Auslesen einer Zelle mit einem SOF kann das folgende Leseergebnis erzeugt werden:
    • • Ein Festwert (FV).

    Der SOF verhält sich wie ein SAF; d.h. wie <0/1> oder wie <1/0>.
    • • Der vorige Wert (PV) des SA. Dies wird durch Restladung im SA verursacht. Das sind die Fehler: <0/?P> und <1/?P>. Das „?“ zeigt an, dass durch das Auslesen der Zelle ein zufälliger (nicht vorhersehbarer) Datenwert erzeugt wird. Das Detektieren erfordert einen Test, bei dem in einem einzelnen ME eine 0 und eine 1 ausgelesen werden. Beispielsweise: (...,rx,...,rx*), für x=0 und (...,rx*,...,rx), für x=1. „x“ ist der Datenwert in der Zelle, und „x*“ ist die Umkehrung dieses Datenwerts.
    • • Zufälliges Ergebnis (RR), verursacht durch eine Leseoperation, wobei die zwei Eingänge des SA denselben Wert aufweisen. Das ist der Fehler: <?/?R>; „?R“bedeutet, dass Leseoperationen ein zufälliges Leseergebnis erzeugen. Dieser Fehler kann nur probabilistisch detektiert werden. Beispielsweise kann ein Test 20 Leseoperationen durchführen, dann ist die Wahrscheinlichkeit für ein Nichtentdecken: 2-20.
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Der Adressreihenfolge (AO); d.h. ⇑ oder ⇓.
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓).
    • • Dem Zählverfahren (CM); z.B. dem linearen CM (Li⇓).
    • • Den Operationen pro March-Element (OPME).
  • Zweizellenfehler: Kopplungsfehler (CFs)
  • Zweizellenfehler (CF) umfassen zwei Zellen: eine Aggressorzelle und eine Opferzelle. Notation:
    • <a;v>, das „;“-Zeichen trennt die Sensitivierungsoperation des Aggressors von der Fehlerwirkung im Opfer.
    • Der Satz von CF besteht aus idempotenten CF (CFid) und Zustands-CF (CFst), die im Folgenden beschrieben werden.
  • Idempotenter CF (CFid):
  • Die Definition des CFid lautet folgendermaßen: Eine Änderung in der Aggressor(A)-Zelle erzwingt den Zustand in der Opfer(V)-Zelle.
  • Der CFid weist 4 Subtypen auf: <↑;0>, <↑;1>, <↓;0> und <↓;1>.
    Jeder Subtyp weist zwei Positionen auf:
    • • Die Adresse der a-Zelle < die Adresse der v-Zelle. Notation: av<-;->.
    • • Die Adresse der a-Zelle > die Adresse der v-Zelle. Notation: va<-;->.

    Daher können insgesamt 8 Unterklassen identifiziert werden.
  • Ein Test für den CFid va<↓;0> muss die v-Zelle so konditionieren, dass sie den Datenwert „1“ in der v-Zelle aufweist, gefolgt von einem ↓-Übergangsschreiben in die a-Zelle, um den Fehler zu sensitivieren, gefolgt vom Auslesen der v-Zelle mit dem erwarteten Wert „1“. Dies kann z.B. durch den Algorithmus {⇕(w1);⇑(r1,w0)} detektiert werden.
  • In ähnlicher Weise kann der Fehler CFid av<↓;0> (die Adresse der a-Zelle ist niedriger als die Adresse der v-Zelle) z.B. durch den Algorithmus {⇕(w1);⇓(r1,w0)} detektiert werden.
    Ein ähnlicher Ansatz kann für die 6 verbleibenden Fehler verfolgt werden.
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Dem Datenhintergrund (DB); d.h. sDB, bDB, rDB, cDB oder aDB.
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓).
  • Zustands-CF (CFst):
  • Der Zustand der a-Zelle erzwingt den Zustand der v-Zelle.
  • Der CFst weist 4 Subtypen auf: <1;0>, <1;1>, <0;0> und <0;1>.
    Jeder Subtyp weist zwei Positionen auf:
    • • Die Adresse der a-Zelle < die Adresse der v-Zelle. Notation: av<-;->.
    • • Die Adresse der a-Zelle > die Adresse der v-Zelle. Notation: va<-;->.
  • Daher können insgesamt 8 Unterklassen identifiziert werden.
  • Ein Test für den CFst va<1;0> muss einen 1-Wert in der a-Zelle aufweisen, wonach die v-Zelle zu einer 0 gezwungen wird, oder falls sie bereits eine 0 war, kann sie nicht zu einer 1 geändert werden.
  • Beispielsweise ist der Test {⇕(w1);⇓(r1)} fähig dazu, diesen Fehler zu detektieren.
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓).
    • • Dem Zählverfahren (CM); z.B. dem linearen CM (Li⇓).
  • Geschwindigkeitsbezogene Fehler
  • Diese Fehler werden durch den Umstand verursacht, dass der Speicher nicht seine Geschwindigkeitsanforderungen erfüllt.
  • Es können zwei Klassen von geschwindigkeitsbezogenen Fehlern identifiziert werden:
    • • Starke Fehler Hierbei handelt es sich um Fehler, die durch einen starken (großen) Defekt ausgelöst werden. Ein solcher Defekt ist groß genug, um eine große Verzögerung zu verursachen, die durch gewöhnliche Tests detektiert werden kann.
    • • Schwache Fehler Diese Fehler werden durch schwache Defekte ausgelöst. Solche Defekte sind zu klein, um von einem gewöhnlichen Speichertest detektiert zu werden. Allerdings kann ein Pfad durch den Speicher mehrere schwache Defekte enthalten, sodass diese zusammengenommen einen geschwindigkeitsbezogenen Fehler verursachen können. Beispielsweise können ein schwacher Defekt im Adressdecoder, ein schwacher Defekt in der Speicherzellanordnung und ein schwacher Defekt in der Schreib- und Leseschaltungsanordnung sich zusammen zu einem starken Fehler akkumulieren und daher detektierbar sein, vorausgesetzt, dass sich die schwachen Fehler auf dem Pfad der Lese- oder Schreiboperation befinden. Ein Test zum Abdecken solcher schwacher Defekte muss alle Pfade durch den Speicher abdecken. Ein Beispiel ist der GALPAT-Test, der jedoch eine Testlänge (TL) der Ordnung n2 (n = die Anzahl von Zellen im Speicher) aufweist.
  • Eine kürzere Version ist MOVI (Moving Inversion), der eine TL von Ordnung n3/2 aufweist. Dieser Test deckt jedoch nicht alle geschwindigkeitsbezogenen Fehler ab und benötigt spezielle Hardware-Unterstützung, um die richtigen Adresssequenzen zu generieren.
  • Die Verwendung des Schnell-Spalten-Adresszählverfahrens (das C⇑ oder C⇓ adressiert) ermöglicht das Detektieren einiger geschwindigkeitsbezogener Fehler, jedoch nur, wenn der Defekt fast ein starker Fehler ist. Dies ist auf den Umstand zurückzuführen, dass Schnell-Spalten-Adressieren eine Hochfrequenz von Bitleitungs(BL)-Vermittlung verursacht. Aufgrund der schwachen Signale auf den BL sehen die Leseverstärker einen geringfügigen Unterschied zwischen den Signalpegeln auf der True-BL und der False-BL, was ein falsches Leseergebnis erzeugen kann.
  • Adressdecoder-Fehler (AF)
  • Ein Fehler im Adressierungspfad, der als Adressdecoder-Fehler (AF) bezeichnet wird, kann einen der folgenden 4 Fehler verursachen:
    1. 1. SANC AF: Single Address, No Cell. Notation: <X->, Adresse X adressiert nichts (bezeichnet durch „-“). Dieser verhält sich wie ein SOF, der eine Detektierbarkeit von 50 % aufweist.
    2. 2. SAMC AF: Single Address, Multiple Cells. Notation: <X-,Yxy>, Adresse X adressiert nichts, während Adresse Y Zelle x und Zelle y adressiert. Großbuchstaben bezeichnen Adressen, Kleinbuchstaben bezeichnen Zellen.
    3. 3. MASC AF: Multiple Addresses, Single Cell. Notation: <Xx, Yx> (sowohl Adresse X als auch Adresse Y greifen auf Zelle x zu). Notation: <
    4. 4. MAMC AF: Multiple Addresses, Multiple Cells. Notation: <Xx, Yxy> (sowohl Adresse X als auch Adresse Y greifen auf Zelle x zu, während Adresse Y auch Zelle y adressiert). Leseoperation zu Adresse Y kann ein zufälliges Ergebnis erzeugen.
  • Damit ein March-Test die obigen 4 Typen von AF detektieren kann, muss er die folgende Bedingung AF erfüllen.
    Bedingung AF: Ein March-Test muss zumindest die folgenden zwei ME enthalten:
    • a. ( rx , , wx * , rx * ) .  wx *  bedeutet : write Not-x .
      Figure DE102016100630B4_0002
    • b. ( rx * , , wx , rx ) .
      Figure DE102016100630B4_0003
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Dem Datenhintergrund (DB);d.h. sDB, bDB, rDB, cDB oder aDB.
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓).
    • • Dem Zählverfahren (CM); z.B. dem linearen CM (Li⇓).
  • Es wird ein Testverfahren (als Testverfahren C oder TMC bezeichnet) verwendet, das auf den folgenden Annahmen basiert:
    1. 1. Ein nichtdestruktiver Test wird verwendet; d.h., die bestehenden Speicherinhalte gehen infolge des Tests nicht verloren.
    2. 2. Das CM (Zählverfahren) ist das lineare CM; z.B. Li⇑ oder Li⇓.
    3. 3. Adressverwürfelung (physische Speicherorte unterscheiden sich von den logischen Speicherorten) wird nicht berücksichtigt, da Blocks von 64 Wortleitungen (WL) linear organisiert sind (daher sind diese nicht verwürfelt).
    4. 4. Schnell-Spalten-Adressierung (C⇑) sowie Schnell-Zeilen-Adressierung (R⇑) kann verwendet werden.
    5. 5. Das Testverfahren kann nur die bereits vorhandenen Speicherdaten verwenden (d.h., aDB und a*DB müssen verwendet werden).
    6. 6. Der Testalgorithmus des Testverfahrens (d.h. des Tests) kann als March C+ (mit zufälligem Datenhintergrund) entsprechend angesehen werden, wobei ein optionales ME im Klammerpaar „[]“dargestellt ist. { Li ( ra , wra * , ra * ) ; Li ( ra * , wra , ra ) ; Li ( ra , wra * , ra * ) ; Li ( ra * , wra , ra * ) ;
      Figure DE102016100630B4_0004
      ( [ Li ( ra , wra * , ra * , wra ) ] ) } .
      Figure DE102016100630B4_0005
    7. 7. Der Testalgorithmus kann Schnell-Zeilen (R⇑)- oder Schnell-Spalten (C⇑)-Adressierung verwenden.
    8. 8. Die ECC-Bits können während des Tests nicht gesteuert werden.
  • Im Folgenden wird eine Analyse der Fehlerabdeckung dieses Testverfahrens gegeben.
  • Die Fehleranalyse verwendet die oben genannten Fehlermodelle, die dahingehend modifiziert sind, die Notation der angewandten Tests widerzuspiegeln. Beispielsweise ist der Datenhintergrund aDB (anwendungsspezifischer DB) ein solches Beispiel. Der 0-Wert für aDB ist a, während der Komplementärwert a* ist. Daher wird die Operation wr1 als wra* geschrieben. Diese Notation ermöglicht eine einfachere Bezugnahme des DB mit dem angewandten Algorithmus des TMA.
  • Auf ähnliche Weise wird die Notation für Fehler modifiziert. Beispielsweise wird der SAF <0/1> als <a/a*> geschrieben (kurz: <0/1> = <a/a*>).
  • In diesem Abschnitt wird zunächst die Fehlerabdeckung (FC) jedes der oben genannten Fehler 1. bis 4. analysiert, gefolgt von einer zusammenfassenden Tabelle (Tabelle 1). Er folgt daher der Struktur der obigen Liste von Fehlern, die folgendermaßen lautet:
  • 1
    Einzelzellfehler: SAF, TF, DRF, SOF.
    2
    Zweizellenfehler (Kopplungsfehler) CF: CFid, CFst.
    3
    Geschwindigkeitsbezogene Fehler.
    4
    Adressdecoder-Fehler (AF).
  • Wie oben ausgeführt, kann der angewandte Testalgorithmus als March C+ entsprechend angesehen werden, wobei ein optionales ME im Klammerpaar „[]“ dargestellt ist. Die Kennsätze A0 bis E3 identifizieren jede der Operationen des Tests; dies erleichtert die Analyse. { Li ( ra , wra * , ra * ) ; Li ( ra * , wra , ra ) ; Li ( ra , wra * , ra * ) ; Li ( ra * , wra , ra ) ; [ Li ( ra , wra * , ra * , wra ) ] }        A 0  A 1  A 2           B 0  B 1  B 2           C 0  C 1  C 2                  D 0  D 1  D 2            E 0  E 1  E 2  E 3
    Figure DE102016100630B4_0006
  • Zusätzlich dazu werden die folgenden drei zusätzlichen Akronyme verwendet: SE = bezeichnet SEnsitiviert .
    Figure DE102016100630B4_0007
    DE = bezeichnet Detektiert .
    Figure DE102016100630B4_0008
    DE = --bezeichnet NICHT detektiert .
    Figure DE102016100630B4_0009
  • Einzelzellfehler
  • Der Fehler wird durch eine Operation auf der a-Zelle oder den Zustand der a-Zelle sensitiviert, während er durch eine Leseoperation auf der v-Zelle detektiert wird. Die a-Zelle und v-Zelle können zwei relative Positionen im Speicher aufweisen:
    • • Die a-Zelle weist eine niedrigere Adresse als die v-Zelle auf; bezeichnet durch den tiefstehenden Index „av“, wie z.B. av<0/1>.
    • • Die a-Zelle weist eine höhere Adresse als die v-Zelle auf; bezeichnet durch den tiefstehenden Index „va“, wie z.B. va<0/1>.
  • SAF
  • Der Test March C+ mit dem optionalen ME detektiert alle SAF wie folgt:
    • Es gilt anzumerken, dass SAF durch einen Zustand sensitiviert sind; daher benötigen sie keine spezifischen Sensitivierungsoperationen.
  • Der verwendete Algorithmus detektiert alle SAF wie folgt: < 0 / 1 > = < a / a * > : SE = NN;DE = A 0.  SE = NN bedeutet: SEnsitivierung Nicht N o ¨ tig .
    Figure DE102016100630B4_0010
    < 1 / 0 > = < a * / a > : SE = NN;DE = B 0.
    Figure DE102016100630B4_0011
    <a/a*> ist die Notation für den Fehler <0/1>, wobei angenommen wird, dass der Speicher im ursprünglichen Zustand a ist.
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Dem Datenhintergrund (DB); d.h. sDB, bDB, rDB, cDB oder aDB.
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓).
    • • Dem Zählverfahren (CM); z.B. dem Li CM (Li⇓).
  • TF
  • Der Test March C+ mit dem optionalen ME detektiert alle TF wie folgt: < / 0 > = < a a * / a > : SE = A 1 ;DE = A 2.
    Figure DE102016100630B4_0012
    < / 1 > = < a * a / a * > : SE = B 1 ;DE = B 2.
    Figure DE102016100630B4_0013
    Die Notation a→a* bezeichnet, dass a einen Aufwärtsübergang durchführt.
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Dem Datenhintergrund (DB); d.h. sDB, bDB, rDB, cDB oder aDB.
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓).
    • • Dem Zählverfahren (CM); d.h. dem Li CM (Li⇓).
  • DRF
  • Die Klasse von DRF besteht aus zwei Fehlern:
    • Fehler < 0 T / 1 > = < a T a* / a >
      Figure DE102016100630B4_0014
    • Fehler < 1 T / 0 > = < a* T a / a* >
      Figure DE102016100630B4_0015
  • Beide Fehler sind durch den Test nicht detektierbar, da der DB cDB und ein Verzögerungs-ME erforderlich sind.
  • SOF
  • Die Unterklassen von SOF werden von der Ausgabe des Leseverstärkers (SA) bestimmt, wenn ein Leseergebnis erzeugt wird. Dies kann Folgendes sein:
    • • Ein Festwert (FV). Der SOF verhält sich wie ein SAF; d.h. wie <0/1> = <a/a*> oder wie <1/0> = <a*/a>. Da der Test alle SAF detektiert, ist der Fall FV zu 100 % durch den Test abgedeckt.
    • • Der vorige Wert (PV) des SA. Dies wird durch Restladung im SA verursacht. Das sind die Fehler: <0/?P> = <a/?P> und <1/?P> = <a*/?P>. Das „?P“zeigt an, dass durch das Auslesen der Zelle ein zufälliger (nicht vorhersehbarer) Datenwert erzeugt wird. Das Detektieren erfordert einen Test, bei dem in einem einzelnen ME eine 0 und eine 1 ausgelesen werden. (...,rx,...,rx*), für x=0 und für x=1. „x“ ist der Datenwert in der Zelle, und „x*“ ist die Umkehrung dieses Datenwerts. Da das ME: Li C⇑(ra,wra*ra*,wra) 50 % des Falls „voriger Wert“ detektieren kann (für den anderen Fall wird ein ME mit den umgekehrten Datenwerten erfordert, siehe Abschnitt 3.4), wird es 50 % dieser Unterklasse detektieren.
    • • Zufälliges Ergebnis (RR), verursacht durch eine Leseoperation, wobei die zwei Eingänge des SA denselben Wert aufweisen. Das ist der Fehler: <?/?R>. „?R“bezeichnet das zufällige Leseergebnis. Dieser Fehler kann nur probabilistisch detektiert werden. Beispielsweise kann ein Test 20 Leseoperationen durchführen, dann ist die Wahrscheinlichkeit für ein Nichtentdecken: 2-20. Diese Unterklasse erfordert eine höhere Anzahl von Leseoperationen, um eine hohe Wahrscheinlichkeit, detektiert zu werden, aufzuweisen. Daher wird dies als 0%-Detektierung angenähert.
  • Um ein Gesamtbild der Detektierbarkeit der SOF zu erhalten, wird die Häufigkeit jeder der drei Alternativen folgendermaßen geschätzt: 40 % für „FV“, 40 % für „PV“ und 20 % für „RR“. Davon ausgehend lautet die Detektierbarkeit von SOF folgendermaßen:
  • a.
    Festwert (FV): 100 % * 40 % = 40 %.
    b.
    Voriger Wert (PV): 50 % * 40 % = 20 %.
    c.
    Zufälliges Ergebnis (RR): 0 %.
    d.
    Obiges führt zu einer Gesamtdetektierbarkeit von 60 %..
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Der Adressreihenfolge (AO); d.h. ⇑ oder ⇓.
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (cU)
    • • Dem Zählverfahren (CM); z.B. dem linearen CM (Li⇓).
    • • Den Operationen pro March-Element (OPME).
  • Zweizellenfehler
  • Die Unterklasse besteht aus den CFid und den CFst.
  • CFid
  • Nur eine begrenzte Anzahl der 8 Unterklassen von CFid sind durch den Test detektierbar.
    a. Fehler 1 av<↑;0> =av<a→a*;a>: SE = C1; DE=D0. Detektierbar.
    b. Fehler 2 av<↑;1> =av<a→a*;a*>: SE = A1; DE = A0. Detektierbar.
    c. Fehler 3 av<↓;0> = av<a*→a;a>: SE = B1; DE = B0. Detektierbar.
    d. Fehler 4 av<↓;1> = av<a*→a;a*>: SE = E3; DE = E0. Detektierbar .
    e. Fehler 5 va<↑;0> = va<a→a*;a>: SE = A1; DE = B0. Detektierbar .
    f. Fehler 6 va<↑;1> = va<a→a*;a*>: SE = C1; DE = C0. Detektierbar .
    g. Fehler 7 va<↓;0> = va<a*→a;a>: SE = D1; DE = D0. Detektierbar.
    h. Fehler 8 va<↓;1> = va<a*→a;a*>: SE = --; DE = --. Nicht detektierbar
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓)
  • CFst
  • Der Zustand der a-Zelle erzwingt den Zustand der v-Zelle.
  • Ein Test für den CFst va<1;0> muss einen 1-Wert in der a-Zelle aufweisen, wonach die v-Zelle zu einer 0 gezwungen wird, oder falls sie bereits eine 0 war, kann sie nicht zu einer 1 geändert werden.
    Beispielsweise ist der Test {⇕(w1);⇓(r1)} dazu fähig, diesen Fehler zu detektieren.
  • Der CFst weist 4 Subtypen auf: <1;0>, <1;1>, <0;0> und <0;1>.
    Jeder Subtyp hat 2 Positionen:
    • • Die Adresse der a-Zelle < die Adresse der v-Zelle. Notation: av<-;->.
    • • Die Adresse der a-Zelle > die Adresse der v-Zelle. Notation: va<-;->.

    Daher können insgesamt 8 Unterklassen identifiziert werden.
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓).
  • Unten ist die Analyse der Fähigkeit, jede der 8 Unterklassen des CFst-Fehlers zu analysieren, dargestellt:
    a. Fehler 1av<0;0> = av<a;a>: SE = B1; DE = B0. Detektierbar.
    b. Fehler 2 av<0;1> = av<a;a*>: SE= E3; DE = E0. Detektierbar.
    c. Fehler 3 av<1;0> = av<a*;a>: SE = A1; DE = A0. Detektierbar.
    d. Fehler 4 av<1;1> = av<a*;a*>: SE = A1; DE = A0. Detektierbar.
    e. Fehler 5 va<0;0> = va<a;a>: SE = D1; DE = D0. Detektierbar.
    f. Fehler 6 va<0;1> = va<a;a*>: SE = --; DE =--. Nicht detektierbar.
    g. Fehler 7 va<1;0> = va<a*;a>: SE = C1; DE = C0. Detektierbar.
    h. Fehler 8 va<1;1> = va<a*;a*>: SE = C1; DE = C0. Detektierbar .
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓)
  • Geschwindigkeitsbezogene Fehler
  • Wie oben gezeigt, erfordert die Detektierung geschwindigkeitsbezogener Fehler spezielle Adresssequenzen, die erforderlich sind, um die Worst-Case-Adressierungssequenzen zu erzeugen, und zwar aufgrund der im Adressierungspfad ausgelösten Verzögerung aufgrund von Decoderverzögerungen und Verzögerungen auf den Spalten- und Zeilenwahlleitungen aufgrund ihrer Länge und ihrer kapazitativen Kopplung.
    Der Test ist nicht dazu fähig, geschwindigkeitsbezogene Fehler zu detektieren, da er das lineare Zählverfahren verwendet.
  • Adressdecoder-Fehler (AF)
  • Damit ein March-Test die 4 Typen von AF (siehe Abschnitt 3.4) detektieren kann, muss er die Bedingung AF erfüllen.
    Bedingung AF: Ein March-Test muss zumindest die folgenden zwei ME enthalten:
    1. a. ( rx , , wx* , rx* ) . wx* bedeutet write Not-x .
      Figure DE102016100630B4_0016
    2. b. ( rx* , , wr , rx ) .
      Figure DE102016100630B4_0017
  • Der Test erfüllt die Bedingung AF; daher werden alle AF detektiert.
  • Das Sensitivieren und Detektieren hängt nicht von Folgendem ab:
    • • Der Adressreihenfolge (AO); d.h. ⇑ oder ⇓.
    • • Dem Datenhintergrund (DB); d.h. sDB, bDB, rDB, cDB oder aDB.
    • • Der Adressrichtung (AD); d.h. Schnell-Zeile oder Schnell-Spalte (C⇓).
    • • Dem Zählverfahren (CM); z.B. dem linearen CM (Li⇓).
  • Tabelle 1 fasst die Ergebnisse für die oben dargestellten Fehler basierend auf dem Testalgorithmus { Li ( ra , wra* , ra* ) ; Li ( ra* , wra , ra ) ; Li ( ra , wra* , ra* ) ; Li ( ra* , wra , ra ) ; [ Li ( ra , wra* , ra* , wra ) ] }     A 0  A 1  A 2                 B 0  B 1  B 2            C 0  C 1  C 2                 D 0  D 1  D 2         E 0  E 1  E 2  E 3
    Figure DE102016100630B4_0018
    des Testverfahrens C zusammen.
    • • Spalte 1 enthält zur einfachen Bezugnahme Sequenzzahlen.
    • • Spalte 2 enthält den Namen des Fehlermodells.
    • • Spalte 3 enthält die Unterklassen des Fehlermodells in logischer Notation.
    • • Spalte 4 listet die Notation der Fehler auf, angenommen der Test
    • • Spalte 5 listet die Fehlerabdeckung (FC) für jede der Unterklassen auf.
    • • Spalte 6 listet die FC für jedes Fehlermodell auf.
  • Es gilt anzumerken, dass in Tabelle 1 keine Annahmen bezüglich der relativen Häufigkeit oder der absoluten Häufigkeit des Vorkommens jedes der Fehlermodelle von Spalte 2 getroffen werden.
  • Zeile 34 gibt die Gesamt-FC von 535 von einer potenziellen FC von 700 an (wobei angenommen wird, dass alle Fehlermodell gleich wahrscheinlich auftreten). Tabelle 1: Zusammenfassung der Fehlerabdeckung unter Verwendung von Testverfahren C (TMC)
    Theoretische Fehlerbeschreibung Beschreibung unter Verwendung des ME von TMC
    # Fehlermodell Unterklasse Unterklasse FC FC
    1 SAF 100
    2 <0/1> <a/a*> 100
    3 <1/0> <a*/a> 100
    4 TF 100
    5 <↑/0> <a→a*/a> 100
    6 <↓/1> <a*→a/a*> 100
    7 DRF 0
    8 <0T/1> <aT →a*/a> 0
    9 <1T/0) <a*T →a/a*> 0
    10 SOF 60
    11 Festwert FV 100*40=40
    12 Voriger Wert PV 50*40=20
    13 Zufälliges Ergebnis RR 0
    14 CFid 87,5
    15 av<↑;0> av<a→a*;a> 100
    16 av<↑;1> av<a→a*;a*> 100
    17 av<↓;0> av<a*→a;a> 100
    18 av<↓;1> av<a*→a;a> 100
    16 va<↑;0> va<a→a*;a> 100
    19 va<↑;1> va<a→a*;a*> 100
    20 va<↓;0> va<a*→a;a> 100
    21 va<↓;1> va<a*→a;a*> 0
    22 CFst 87,5
    23 av<0;0> av<a;a> 100
    24 av<0;1> av<a;a*> 100
    25 av<1;0> av<a*;a> 100
    26 av<1;1> av<a*;a*> 100
    27 va<0;0> va<a;a> 100
    28 va<0;1> va<a;a*> 0
    29 va<1;0> va<a*;a> 100
    30 va*<1;1> va<a*;a*> 100
    31 AF 100
    32 Bedingung AFa ⇑(rx,...,wx*,rx*) 100
    33 Bedingung AFb ⇓(rx*,...,wx,rx) 100
    34 Gesamt-FC beträgt 535 von 700
  • Testverfahren C kann als basierend auf March-Elementen angesehen werden, gemäß denen für jede Wortzelle (auch als Datenwortspeicher bezeichnet):
    • ein im Datenwortspeicher gespeichertes Datenwort ausgelesen wird;
    • das ausgelesene Datenwort überprüft wird, um einen Fehler der Speichervorrichtung zu erkennen
    • ein Komplementärdatenwort des Datenworts bestimmt wird;
    • das Komplementärdatenwort im Datenwortspeicher gespeichert wird;
    • das Komplementärdatenwort aus dem Datenwortspeicher ausgelesen wird; und das ausgelesene Komplementärdatenwort überprüft wird, um einen Fehler der Speichervorrichtung zu detektieren.
  • 3 zeigt ein Flussdiagramm 300, das die Testverarbeitung für eine Wortzelle gemäß dem ersten March-Element Li⇑(ra,wra*,ra*) des Testverfahrens C beispielhaft veranschaulicht.
  • Die Testverarbeitung wird beispielsweise durch den Testcontroller 102 durchgeführt.
  • In 301 wird die Adresse der zu testenden Wortzelle gemäß dem Zählverfahren bestimmt (z.B. durch einen Adresszähler des Testcontrollers 102), in diesem Beispiel dem linearen Zählverfahren für die ⇑(d.h. Aufwärts-)Richtung.
  • In 302 wird das in der Wortzelle gespeicherte Datenwort ausgelesen (z.B. über eine Leseschnittstelle zwischen dem Testcontroller 102 und dem Speicher 101). Dieses Datenwort ist aus Sicht des Tests unbekannt und sollte durch den Test nicht gelöscht werden.
  • In 303 wird das Datenwort auf Fehler überprüft. Da das Datenwort unbekannt ist, wird dies basierend auf den ECC-Bits für das Datenwort ausgeführt (z.B. durch eine ECC-Testschaltungsanordnung des Testcontrollers 102). Wie oben erwähnt, können die ECC-Bits als Teil des Datenworts oder als zusätzlich zum Datenwort in der Wortzelle gespeichert angesehen werden.
  • Wenn ein Fehler detektiert wird, wird in 308 ein Fehlerverarbeitungsverfahren eingeleitet. Dieses kann einen Versuch, den Fehler zu korrigieren, die Erzeugung eines Fehlersignals oder die Ausgabe eines Fehlersignals der elektronischen Vorrichtung enthaltend den Speicher etc. umfassen.
  • Die Verarbeitung von 302 und 303 entspricht der March-Operation „ra“.
  • In 304 wird, in der Annahme, dass kein Fehler für das Datenwort a detektiert wurde, das Komplementärdatenwort von Datenwort a, das mit a* bezeichnet ist, bestimmt (z.B. mittels eines Bit-Wandlers des Testcontrollers 102). Das Komplementärdatenwort a* zum Datenwort a wird als das Datenwort a verstanden, von dem jedes Bit umgekehrt wird, d.h. jede 1 wird durch eine 0 ersetzt und jede 0 wird durch eine 1 ersetzt. Das Komplementärdatenwort wird in der Wortzelle gespeichert (z.B. über eine Schreibschnittstelle zwischen dem Testcontroller 102 und dem Speicher 101).
  • Wie oben erwähnt, kann dies das Umkehren der ECC-Bits umfassen oder nicht umfassen, abhängig davon, ob die ECC-Bits als Teil des Datenworts angesehen werden. Beispielsweise kann eines der folgenden angewendet werden:
    1. a) Wenn das Umkehren von Datenbits und ECC-Bits ein ECC-korrektes Datenwort ergibt, können alle Überprüfungen unter Verwendung der üblichen ECC-Überprüfungseinheit des Testcontrollers 102 durchgeführt werden.
    2. b) Wenn die einfache Umkehrung nicht ECC-korrekt ist,
      • b1) wird das ECC-Bit durch einen gültigen ECC-Code ersetzt. Dann kann eine Fehlerüberprüfung auf dieselbe Weise wie für nicht umgekehrte Daten unter Verwendung einer ECC-Fehlerdetektierungslogik des Testcontrollers 102 durchgeführt werden. Allerdings geht auf diese Weise eine gewisse Fehlerabdeckung auf den ECC-Bits verloren.
      • b2) werden ECC-Bits, die ECC-inkorrekte Daten ergeben, im Speicher (nur) für die Umkehrung umgekehrt,
        • b21) und die ausgelesenen Daten (einschließlich der ECC-Bits) werden umgekehrt, bevor sie an die ECC-Überprüfungseinheit gesendet werden
        • b22) und das umgekehrte Datenwort wird im Testcontroller 102 gespeichert, wenn es auf den Speicher geschrieben wird, und für direkten Vergleich verwendet, wenn das Datenwort aus dem Speicher innerhalb desselben March-Elements ausgelesen wird. Dies ist jedoch nur für March-Elemente möglich, bei denen die Umkehrungsdaten sofort und nicht innerhalb des nächsten March-Elements überprüft werden.
  • Die Verarbeitung von 304 entspricht der March-Operation wra*.
  • In 305 wird das Datenwort, das geschrieben wurde, aus der Wortzelle ausgelesen (z.B. über eine Leseschnittstelle zwischen dem Testcontroller 102 und dem Speicher 101). Dieses Datenwort ist als a*' bezeichnet, das, wenn kein Fehler vorliegt, gleich wie a* ist.
  • In 306 wird das Datenwort a*' auf Fehler überprüft. Dies kann ausgeführt werden, indem überprüft wird, ob das Datenwort a*' dem Komplementärdatenwort a* gleich ist, das geschrieben wurde (was jedoch zusätzliche Hardware im Testcontroller 102 erfordern kann, der einen Vergleich unterstützt). Alternativ dazu können die ECC-Bits des Datenworts a*' verwendet werden, um das Datenwort a*' auf Fehler zu überprüfen (unter Verwendung von ECC-Überprüfungshardware, die im Testcontroller vorhanden ist, z.B. zum Durchführen der ECC-Überprüfung in 304). Wenn festgestellt wurde, dass die ECC-Bits Teil des Datenworts a sind und diese daher zusammen mit dem Datenwort a umgewandelt wurden, kann die ECC-Überprüfung beispielsweise durch Umkehren des ausgelesenen Datenworts a*' erfolgen, d.h. Bilden des Komplementärdatenworts (a*')* und Überprüfen, ob die ECC-Bits (d.h. die Bits an den ECC-Bit-Positionen) für dieses Datenwort korrekt sind. Abhängig vom verwendeten Code kann die Überprüfung auch durchgeführt werden, indem überprüft wird, ob die ECC-Bits (d.h. die Bits an den ECC-Bit-Positionen) des ausgelesenen Datenworts a*' für den Rest (d.h. die Bits an den Nutzlastpositionen) des ausgelesenen Datenworts a*' korrekt sind. Dies erfordert, dass der Code für jedes Codewort auch das Komplementärcodewort enthält.
  • Wenn festgestellt wurde, dass die ECC-Bits nicht Teil des Datenworts a sind und daher nicht zusammen mit dem Datenwort a umgekehrt wurden, kann die Überprüfung auf ähnliche Weise durch Umkehren des ausgelesenen Datenworts a*' erfolgen, d.h. Bilden des Komplementärdatenworts (a*')* und Überprüfen, ob die (ursprünglichen) ECC-Bits für dieses Datenwort korrekt sind.
  • Wenn ein Fehler detektiert wird, wird das Fehlerverarbeitungsverfahren in 308 eingeleitet.
  • Die Verarbeitung von 305 und 306 entspricht der March-Operation ra*.
  • Wenn kein Fehler detektiert wurde, fährt die Verarbeitung mit dem nächsten March-Element in 307 fort.
  • Es gilt anzumerken, dass im Testverfahren C das March-Element Li⇑(ra,wra*,ra*) von Li⇑(ra*,wra,ra) gefolgt ist, sodass die Wortzelle, sofern kein Fehler auftritt, wieder das ursprüngliche Datenwort a enthält.
  • Die Verarbeitung ist für die anderen March-Elemente von TMC ähnlich, worin für das letzte March-Element (Li⇓(ra*,wra,ra) oder, wenn angewendet, Li⇑(ra,wra*,ra*,wra)) die Verarbeitung für die nächste Wortzelle in 307 fortgesetzt wird.
  • Zum Vergleich zeigt Tabelle 2 die Ergebnisse für ein Testverfahren (als Testverfahren A oder TMA bezeichnet) basierend auf Folgendem:
  • 1.
    Vor dem Test wird der Speicher mit anwendungsspezifischen Daten gefüllt, die jegliche Daten sein können und die von Wort zu Wort unterschiedlich sein können. Dieser DB wird als aDB bezeichnet; d.h. anwendungsspezifischer DB.
    2.
    Nach dem Test sollte der DB der aDB sein, wie er vor dem Test existierte.
    3.
    Das CM (Zählverfahren) ist das lineare CM; z.B. Li⇑ oder Li⇓.
    4.
    Adressverwürfelung wird nicht berücksichtigt, da Blocks von 64 Wortleitungen (WL) linear organisiert sind (daher sind diese nicht verwürfelt).
    5.
    Schnell-Spalten-Adressierung wird verwendet (C⇑).
    6.
    Der angewendete Test besteht aus einem einzelnen ME: Li C⇑(ra,wra*,ra*,wra).
    7.
    Die ECC-Bits können während des Tests nicht gesteuert werden.
    Tabelle 2: Zusammenfassung der Fehlerabdeckung unter Verwendung von Testverfahren A (TMA)
    Theoretische Fehlerbeschreibung Beschreibung unter Verwendung des ME von TMA
    # Fehlermodell Unterklasse Unterklasse FC FC
    1 SAF 100
    2 <0/1 > <a/a*> 100
    3 <1/0> <a*/a> 100
    4 TF 50
    5 <↑/0> <a→a*/a> 100
    6 <↓/1> <a*→a/a*> 0
    7 DRF 0
    8 <0T/1> <aT →a*/a> 0
    9 <1T/0) <a*T →a/a*> 0
    10 SOF 60
    11 Festwert FV 100*40=40
    12 Voriger Wert PV 50*40=20
    13 Zufälliges Ergebnis RR 0
    14 CFid 25
    15 av<↑;0> av<a→a*;a> 0
    16 av<↑;1> av<a→a*;a*> 100
    17 av<↓;0> av<a*→a;a> 0
    18 av<↓;1> av<a*→a;a> 100
    16 va<↑;0> va<a→a*;a> 0
    19 va<↑;1> va<a→a*;a*> 0
    20 va<↓;0> va<a*→a;a> 0
    21 va<↓;1> va<a*→a;a*> 0
    22 CFst 25
    23 av<0;0> av<a;a> 0
    24 av<0;1> av<a;a*> 100
    25 av<1;0> av<a*;a> 0
    26 av<1;1> av<a*;a*> 100
    27 va<0;0> va<a;a> 0
    28 va<0;1> va<a;a*> 0
    29 va<1;0> va<a*;a> 0
    30 va<1;1> va<a*;a*> 0
    31 AF 50
    32 Bedingung AFa ⇑(rx,...,wx*,rx*) 100
    33 Bedingung AFb ⇓(rx*,...,wx,rx) 0
    34 Die Gesamt-FC beträgt 310 von 700.
  • Zusammengefasst wird gemäß verschiedenen Ausführungsformen eine Speichervorrichtung, wie in 4 veranschaulicht, bereitgestellt.
  • 4 zeigt eine Speichervorrichtung 400.
  • Die Speichervorrichtung 400 umfasst eine Vielzahl von Datenwortspeichern 401.
  • Die Speichervorrichtung 400 umfasst ferner einen Testcontroller 402, der konfiguriert ist, für jeden Datenwortspeicher 401 ein Datenwort auszulesen, das in dem Datenwortspeicher 401 gespeichert ist, das ausgelesene Datenwort zu überprüfen, um einen Fehler der Speichervorrichtung zu detektieren, ein Komplementärdatenwort des Datenworts zu bestimmen, das Komplementärdatenwort in dem Datenwortspeicher 401 zu speichern, das Komplementärdatenwort aus dem Datenwortspeicher 401 auszulesen und das ausgelesene Komplementärdatenwort zu überprüfen, um einen Fehler Speichervorrichtung 400 zu detektieren.
  • In anderen Worten wird gemäß verschiedenen Ausführungsformen für jedes in einem Datenwortspeicher (d.h. einer Wortzelle) gespeicherte Datenwort dessen Komplement in der Wortzelle gespeichert, wieder von der Wortzelle ausgelesen und das ausgelesene Komplementärdatenwort (das sich im Falle eines Fehlers von dem gespeicherten Komplementärdatenwort unterscheiden kann) auf Fehler überprüft, um einen Fehler der Speichervorrichtung zu detektieren. Das Komplementärwort des Datenworts wird individuell für das Datenwort bestimmt. In anderen Worten wird das Komplementärdatenwort basierend auf dem Datenwort bestimmt, z.B. durch Umdrehen jedes Bit-Wertes des Datenworts. Dementsprechend ist die Bestimmung und Speicherung des Komplementärdatenworts beispielsweise nicht als die Speicherung eines vorbestimmten Datenworts zu verstehen, das, durch Zufall, das Komplement des Datenworts ist.
  • Der Testcontroller kann konfiguriert sein, die Verarbeitung des Auslesens eines im Datenwortspeicher gespeicherten Datenworts durchzuführen, ein Komplementärdatenwort des Datenworts zu bestimmen, das Komplementärdatenwort im Datenwortspeicher zu speichern, das Komplementärdatenwort aus dem Datenwortspeicher auszulesen und das ausgelesene Komplementärdatenwort zu überprüfen, um einen Fehler der Speichervorrichtung wieder zu detektieren, sodass als Ergebnis, wenn keine Fehler aufgetreten sind, das ursprüngliche Datenwort wieder in dem Datenwortspeicher gespeichert wird. Der Testcontroller kann daher gemäß einer Ausführungsform einen Test implementieren, der einen Test, welcher als solcher destruktiv wäre, mit einer nichtdestruktiven Testvorgehensweise kombiniert, in diesem Beispiel durch Schreiben von Wörtern abhängig von den Wörtern, die gespeichert wurden, und Durchführen der Bestimmung und Speicherung von Komplementärworten zweimal (oder eine gerade Anzahl von Malen) in Folge.
  • Es gilt anzumerken, dass der Testcontroller weitere Operationen für den Datenwortspeicher durchführen kann, um einen Fehler der Speichervorrichtung zu detektieren (z.B. weitere Daten im Datenwortspeicher speichern und weitere im Datenwortspeicher gespeicherte Daten überprüfen).
  • Ein Beispiel für ein destruktives Testverfahren umfasst das Schreiben eines spezifischen regulären Musters (Datenhintergründe) in die Speicheranordnung und das Auslesen desselben. Dieses Verfahren ändert den ursprünglichen Inhalt des Speichers.
  • Ein Beispiel ist March C+, das die folgende Sequenz durchführt:
  • 1.
    Up WR0
    2.
    Up RD0 WR1 RD1
    3.
    Up RD1 WR0 RD0
    4.
    Dn RD0 WR1 RD1
    5.
    Dn RD1 WR0 RD0
    6.
    Dn RD0
    (worin Up sich auf das Aufwärtszählen einer Adresse bezieht, Dn sich auf das Abwärtszählen einer Adresse bezieht und WR0/1 und RD0/1 sich jeweils auf das Schreiben einer 0/1 oder das Auslesen einer 0/1 beziehen).
  • Beim nichtdestruktiven Testen ist der Dateninhalt nach dem Test identisch mit dem Dateninhalt davor. Dies kann durch Folgendes erreicht werden:
  • 1.
    Auslesen eines Datenworts und Überprüfen auf einen korrekten ECC
    2.
    Zurückschreiben der Umkehrung des Datenworts mit gültigem ECC
    3.
    Auslesen und (optional Vergleichen, ob das ausgelesene Datenwort wirklich die Umkehrung ist, und) Überprüfen, ob es einen korrekten ECC aufweist
    4.
    Zurückschreiben der ursprünglichen Daten
    5.
    Auslesen der ursprünglichen Daten und Überprüfen, ob sie noch immer einen korrekten ECC aufweisen
    Allerdings weist dieses Testverfahren im Vergleich mit dem destruktiven Test unter Verwendung eines March-C+-Algorithmus eine niedrige Testabdeckung auf.
  • Gemäß verschiedenen Ausführungsformen wird ein nichtdestruktiver Test verwendet, das den Speicher in dem umgekehrten Zustand zurücklässt, und zwar nach dem Durchführen der Sequenz
    1. 1. Auslesen eines Datenworts und Überprüfen auf einen korrekten ECC ;
    2. 2. Zurückschreiben der Umkehrung dieses Datenworts mit gültigem ECC;
    3. 3. Auslesen und Vergleichen, ob das ausgelesene Datenwort wirklich die Umkehrung ist und einen korrekten ECC aufweist.

    Wenn dieser Test zweimal ausgeführt wird, stellt er den ursprünglichen Speicherinhalt wieder her und erfüllt so die grundlegenden Anforderungen an einen nichtdestruktiven Test.
  • Durch Aufteilen des Tests in zwei March-Elemente ist es möglich, die exakte Sequenz des March-C+-Algorithmus auszuführen, was in einem sogenannten nichtdestruktiven Test(NDT)-March-C+-Algorithmus resultiert. Der einzige Unterschied besteht darin, dass der destruktive March C+ an definierten Datenhintergründen arbeitet, die auf bestimmte Zellkopplungsfehler abzielen, während der NDT March C+ an einem zufälligen und unvorhersehbaren Datenhintergrund arbeitet und daher bestimmte Ausnahmefälle von Fehlern nicht detektieren kann.
  • Die Speichervorrichtung 400 führt zum Beispiel ein Verfahren zum Testen einer Speichervorrichtung aus, wie in 5 dargestellt.
  • 5 zeigt ein Flussdiagramm 500.
  • In 501 wird für jeden Datenwortspeicher einer Vielzahl von Datenwortspeichern ein im Datenwortspeicher gespeichertes Datenwort ausgelesen.
  • In 502 wird das ausgelesene Datenwort überprüft, um einen Fehler der Speichervorrichtung zu detektieren.
  • In 503 wird ein Komplementärdatenwort des Datenworts bestimmt.
  • In 504 wird das Komplementärdatenwort im Datenwortspeicher gespeichert.
  • In 505 wird das Komplementärdatenwort aus dem Datenwortspeicher ausgelesen.
  • In 506 wird das ausgelesene Komplementärdatenwort überprüft, um einen Fehler der Speichervorrichtung zu detektieren.
  • Im Folgenden werden weitere Ausführungsformen beschrieben.
  • Ausführungsform 1 ist eine Speichervorrichtung, wie in 4 dargestellt, worin das Datenwort Fehlerkorrekturbits umfasst.
  • Ausführungsform 2 ist die Speichervorrichtung gemäß Ausführungsform 1, worin der Testcontroller konfiguriert ist, zu überprüfen, ob das ausgelesene Datenwort einen Fehler basierend auf Fehlerkorrekturbits des ausgelesenen Komplementärdatenworts aufweist (die durch den Testcontroller basierend auf den Fehlerkorrekturwörtern des Datenworts erzeugt werden können, z.B. durch Umkehrung der Fehlerkorrekturwörter des Datenworts, z.B. abhängig davon, ob der verwendete Fehlerkorrekturcode dies erlaubt, oder durch den Testcontroller für das Komplementärdatenwort gemäß dem Code erzeugt werden, z.B. beim Bestimmen des Komplementärdatenworts).
  • Ausführungsform 3 ist die Speichervorrichtung gemäß Ausführungsform 2, worin der Testcontroller konfiguriert ist, zu überprüfen, ob das ausgelesene Komplementärdatenwort einen Fehler aufweist, indem er überprüft, ob die Fehlerkorrekturbits des ausgelesenen Komplementärdatenworts gültige Fehlerkorrekturbits für den Rest des ausgelesenen Komplementärdatenworts sind.
  • Ausführungsform 4 ist die Speichervorrichtung gemäß Ausführungsform 1, worin der Testcontroller konfiguriert ist, basierend auf den im Datenwortspeicher gespeicherten Fehlerkorrekturbits zu überprüfen, ob das ausgelesene Komplementärdatenwort einen Fehler aufweist.
  • Ausführungsform 5 ist die Speichervorrichtung gemäß Ausführungsform 4, worin der Testcontroller konfiguriert ist, zu überprüfen, ob das ausgelesene Komplementärdatenwort einem Fehler aufweist, indem er das ausgelesene Komplementärdatenwort umkehrt und überprüft, ob die Fehlerkorrekturbits gültige Fehlerkorrekturbits für das umgekehrte ausgelesene Komplementärdatenwort sind.
  • Ausführungsform 6 ist die Speichervorrichtung gemäß einer der Ausführungsformen 1 bis 5, worin jeder Datenwortspeicher eine Wortzelle umfassend eine Vielzahl von Bitzellen ist.
  • Ausführungsform 7 ist die Speichervorrichtung gemäß Ausführungsform 6, worin jede Bitzelle konfiguriert ist, ein Bit zu speichern.
  • Ausführungsform 8 ist die Speichervorrichtung gemäß einer der Ausführungsformen 1 bis 7, worin jeder Datenwortspeicher konfiguriert ist, Nutzlastbits und Fehlerkorrekturbits für die Nutzlastbits zu speichern.
  • Ausführungsform 9 ist die Speichervorrichtung gemäß einer der Ausführungsformen 1 bis 8, worin der Testcontroller konfiguriert ist, für jeden Datenwortspeicher eine Sequenz umfassend das Auslesen eines im Datenwortspeicher gespeicherten Datenworts, Bestimmen eines Komplementärdatenworts des Datenworts, Speichern des Komplementärdatenworts im Datenwortspeicher, Auslesen des Komplementärdatenworts aus dem Datenwortspeicher und Überprüfen des ausgelesenen Komplementärdatenworts, um einen Fehler der Speichervorrichtung zu detektieren, eine gerade Anzahl von Malen für den Datenwortspeicher durchzuführen.
  • Ausführungsform 10 ist die Speichervorrichtung gemäß einer der Ausführungsformen 1 bis 9, worin der Testcontroller konfiguriert ist, das Komplementärdatenwort des Datenworts abhängig vom Datenwort zu bestimmen.
  • Ausführungsform 11 ist die Speichervorrichtung gemäß einer der Ausführungsformen 1 bis 10, worin der Testcontroller konfiguriert ist, das Komplementärdatenwort des Datenworts durch Umkehren jedes Bits des Datenworts zu bestimmen.
  • Ausführungsform 12 ist die Speichervorrichtung gemäß einer der Ausführungsformen 1 bis 11, worin der Testcontroller konfiguriert ist, das ausgelesene Komplementärdatenwort zu überprüfen, um einen Fehler der Speichervorrichtung zu detektieren, indem er das gespeicherte Komplementärdatenwort mit dem ausgelesenen Komplementärdatenwort vergleicht.
  • Ausführungsform 13 ist die Speichervorrichtung gemäß einem der Ansprüche 1 bis 12, worin die Speichervorrichtung einen Speicher umfasst, der eine Vielzahl von Datenwortspeichern umfasst.
  • Ausführungsform 14 ist die Speichervorrichtung gemäß Ausführungsform 13, worin der Speicher ein statischer Direktzugriffsspeicher ist.
  • Ausführungsform 15 ist die Speichervorrichtung gemäß einer der Ausführungsformen 1 bis 14, worin die Speichervorrichtung ferner eine zentrale Verarbeitungseinheit umfasst, die konfiguriert ist, den Testcontroller zu steuern.
  • Ausführungsform 16 ist die Speichervorrichtung gemäß einer der Ausführungsformen 1 bis 15, worin der Testcontroller konfiguriert ist, ein Fehlersignal auszugeben, wenn er einen Fehler detektiert.
  • Ausführungsform 17 ist die Speichervorrichtung gemäß Ausführungsform 1, worin der Testcontroller konfiguriert ist, zu überprüfen, ob das ausgelesene Datenwort einen Fehler aufweist, indem er überprüft, ob die Fehlerkorrekturbits gültige Fehlerkorrekturbits für den Rest des ausgelesenen Datenworts sind.
  • Ausführungsform 18 ist ein Verfahren, wie in 5 veranschaulicht, umfassend: Auslesen für jeden Datenwortspeicher einer Vielzahl von Datenwortspeichern der Speichervorrichtung eines im Datenwortspeicher, im Testverfahren unbekannten, gespeicherten Datenworts, welches Fehlerkorrekturbits umfasst; Überprüfen des ausgelesenen Datenworts, mittels der Fehlerkorrekturbits des Datenwortes, um einen Fehler der Speichervorrichtung zu detektieren; Bestimmen eines Komplementärdatenworts des Datenworts, sofern kein Fehler des ausgelesenen Datenwortes detektiert wird; Speichern des Komplementärdatenworts im Datenwortspeicher; Auslesen des Komplementärdatenworts aus dem Datenwortspeicher; Überprüfen des ausgelesenen Datenworts, um einen Fehler der Speichervorrichtung zu detektieren; Speichern des ausgelesenen Datenwortes oder des ausgelesenen Komplementärdatenwortes im Datenwortspeicher.
  • Es gilt anzumerken, dass Ausführungsformen basierend auf der Speichervorrichtung 400 (d.h. Ausführungsform 1) analog gültig für das in 5 veranschaulichte Verfahren (d.h. Ausführungsform 21) sind und umgekehrt.

Claims (18)

  1. Speichervorrichtung, umfassend: eine Vielzahl von Datenwortspeichern; einen Testcontroller, der konfiguriert ist, für jeden Datenwortspeicher ein im Datenwortspeicher gespeichertes, aus Sicht des Testcontrollers unbekanntes Datenwort auszulesen, welches Fehlerkorrekturbits umfasst; das ausgelesene Datenwort, basierend auf den Fehlerkorrekturbits für das Datenwort, zu überprüfen, um einen Fehler der Speichervorrichtung zu detektieren; sofern kein Fehler des ausgelesenen Datenwortes detektiert wird; ein Komplementärdatenwort des Datenworts zu bestimmen; das Komplementärdatenwort im Datenwortspeicher zu speichern; das Komplementärdatenwort aus dem Datenwortspeicher auszulesen; das ausgelesene Komplementärdatenwort zu überprüfen, um einen Fehler der Speichervorrichtung zu detektieren, und das ausgelesene Datenwort oder das ausgelesene Komplementärdatenwort nach dem Auslesen des Komplementärdatenworts aus dem Datenwortspeicher im Datenwortspeicher zu speichern.
  2. Speichervorrichtung nach Anspruch 1, worin der Testcontroller konfiguriert ist, basierend auf Fehlerkorrekturbits des ausgelesenen Komplementärdatenwortes zu überprüfen, ob das ausgelesene Komplementärdatenwort einen Fehler aufweist.
  3. Speichervorrichtung nach Anspruch 2, worin der Testcontroller konfiguriert ist, zu überprüfen, ob das ausgelesene Komplementärdatenwort einen Fehler aufweist, indem er überprüft, ob die Fehlerkorrekturbits des ausgelesenen Komplementärdatenworts gültige Fehlerkorrekturbits für den Rest des ausgelesenen Komplementärdatenworts sind.
  4. Speichervorrichtung nach Anspruch 1, worin der Testcontroller konfiguriert ist, basierend auf den im Datenwortspeicher gespeicherten Fehlerkorrekturbits zu überprüfen, ob das ausgelesene Komplementärdatenwort einen Fehler aufweist.
  5. Speichervorrichtung nach Anspruch 4, worin der Testcontroller konfiguriert ist, zu überprüfen, ob das ausgelesene Komplementärdatenwort einen Fehler aufweist, indem er das ausgelesene Komplementärdatenwort umkehrt und überprüft, ob die Fehlerkorrekturbits gültige Fehlerkorrekturbits für das umgekehrte ausgelesene Komplementärdatenwort sind.
  6. Speichervorrichtung nach einem der Ansprüche 1 bis 5, worin jeder Datenwortspeicher eine Wortzelle ist, die eine Vielzahl von Bitzellen umfasst.
  7. Speichervorrichtung nach Anspruch 6, worin jede Bitzelle konfiguriert ist, ein Bit zu speichern.
  8. Speichervorrichtung nach einem der Ansprüche 1 bis 7, worin jeder Datenwortspeicher konfiguriert ist, Nutzlastbits und Fehlerkorrekturbits für die Nutzlastbits zu speichern.
  9. Speichervorrichtung nach einem der Ansprüche 1 bis 8, worin der Testcontroller konfiguriert ist, für jeden Datenwortspeicher eine Sequenz umfassend das Auslesen eines im Datenwortspeicher gespeicherten Datenworts, das Überprüfen des ausgelesenen Datenworts, um einen Fehler der Speichervorrichtung zu detektieren, das Bestimmen eines Komplementärdatenworts des Datenworts, das Speichern des Komplementärdatenworts im Datenwortspeicher, das Auslesen des Komplementärdatenworts aus dem Datenwortspeicher und das Überprüfen des ausgelesenen Komplementärdatenworts, um einen Fehler der Speichervorrichtung zu detektieren, eine gerade Anzahl von Malen für den Datenwortspeicher durchzuführen.
  10. Speichervorrichtung nach einem der Ansprüche 1 bis 9, worin der Testcontroller konfiguriert ist, das Komplementärdatenwort des Datenworts abhängig vom Datenwort zu bestimmen.
  11. Speichervorrichtung nach einem der Ansprüche 1 bis 10, worin der Testcontroller konfiguriert ist, das Komplementärdatenwort des Datenworts durch Umkehren jedes Bits des Datenworts zu bestimmen.
  12. Speichervorrichtung nach einem der Ansprüche 1 bis 11, worin der Testcontroller konfiguriert ist, das ausgelesene Komplementärdatenwort zu überprüfen, um einen Fehler der Speichervorrichtung zu detektieren, indem er das gespeicherte Komplementärdatenwort mit dem ausgelesenen Komplementärdatenwort vergleicht.
  13. Speichervorrichtung nach einem der Ansprüche 1 bis 12, worin die Speichervorrichtung einen Speicher umfasst, der eine Vielzahl von Datenwortspeichern umfasst.
  14. Speichervorrichtung nach Anspruch 13, worin der Speicher ein statischer Direktzugriffsspeicher ist.
  15. Speichervorrichtung nach einem der Ansprüche 1 bis 14, worin die Speichervorrichtung ferner eine zentrale Verarbeitungseinheit umfasst, die konfiguriert ist, den Testcontroller zu steuern.
  16. Speichervorrichtung nach einem der Ansprüche 1 bis 15, worin der Testcontroller konfiguriert ist, ein Fehlersignal auszugeben, wenn er einen Fehler detektiert.
  17. Speichervorrichtung nach Anspruch 1, worin der Testcontroller konfiguriert ist, zu überprüfen, ob das ausgelesene Datenwort einen Fehler aufweist, indem er überprüft, ob die Fehlerkorrekturbits gültige Fehlerkorrekturbits für den Rest des ausgelesenen Datenworts sind.
  18. Verfahren zum Testen einer Speichervorrichtung, umfassend: Auslesen für jeden Datenwortspeicher einer Vielzahl von Datenwortspeichern der Speichervorrichtung eines im Datenwortspeicher, im Testverfahren unbekannten, gespeicherten Datenworts, welches Fehlerkorrekturbits umfasst; Überprüfen des ausgelesenen Datenworts, mittels der Fehlerkorrekturbits des Datenwortes, um einen Fehler der Speichervorrichtung zu detektieren; Bestimmen eines Komplementärdatenworts des Datenworts, sofern kein Fehler des ausgelesenen Datenwortes detektiert wird; Speichern des Komplementärdatenworts im Datenwortspeicher; Auslesen des Komplementärdatenworts aus dem Datenwortspeicher; Überprüfen des ausgelesenen Datenworts, um einen Fehler der Speichervorrichtung zu detektieren; Speichern des ausgelesenen Datenwortes oder des ausgelesenen Komplementärdatenwortes im Datenwortspeicher.
DE102016100630.0A 2016-01-15 2016-01-15 Speichervorrichtung und Verfahren zum Testen einer Speichervorrichtung Active DE102016100630B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102016100630.0A DE102016100630B4 (de) 2016-01-15 2016-01-15 Speichervorrichtung und Verfahren zum Testen einer Speichervorrichtung
US15/387,780 US10170200B2 (en) 2016-01-15 2016-12-22 Memory device and method for testing a memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016100630.0A DE102016100630B4 (de) 2016-01-15 2016-01-15 Speichervorrichtung und Verfahren zum Testen einer Speichervorrichtung

Publications (2)

Publication Number Publication Date
DE102016100630A1 DE102016100630A1 (de) 2017-07-20
DE102016100630B4 true DE102016100630B4 (de) 2020-10-01

Family

ID=59256001

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016100630.0A Active DE102016100630B4 (de) 2016-01-15 2016-01-15 Speichervorrichtung und Verfahren zum Testen einer Speichervorrichtung

Country Status (2)

Country Link
US (1) US10170200B2 (de)
DE (1) DE102016100630B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10706952B1 (en) * 2018-06-19 2020-07-07 Cadence Design Systems, Inc. Testing for memories during mission mode self-test

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160332A1 (en) * 2004-01-16 2005-07-21 Osamu Hirabayashi Semiconductor integrated circuit
US20110191648A1 (en) * 2010-02-01 2011-08-04 Fujitsu Limited Information processing apparatus, information transmitting method, and information receiving method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0620465A (ja) * 1991-09-02 1994-01-28 Mitsubishi Electric Corp 半導体記憶装置
US8120960B2 (en) * 2007-11-07 2012-02-21 Spansion Israel Ltd. Method and apparatus for accessing a non-volatile memory array comprising unidirectional current flowing multiplexers
KR20140106770A (ko) * 2013-02-25 2014-09-04 삼성전자주식회사 반도체 메모리 장치, 이의 테스트 방법 및 동작 방법
JP2016184189A (ja) * 2015-03-25 2016-10-20 ルネサスエレクトロニクス株式会社 診断プログラム、診断方法および半導体装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160332A1 (en) * 2004-01-16 2005-07-21 Osamu Hirabayashi Semiconductor integrated circuit
US20110191648A1 (en) * 2010-02-01 2011-08-04 Fujitsu Limited Information processing apparatus, information transmitting method, and information receiving method

Also Published As

Publication number Publication date
DE102016100630A1 (de) 2017-07-20
US20170206982A1 (en) 2017-07-20
US10170200B2 (en) 2019-01-01

Similar Documents

Publication Publication Date Title
DE69825234T2 (de) Verfahren und vorrichtung zur selbstprüfung von multi-port-rams
DE3412676C2 (de)
DE102018122491A1 (de) Halbleiterspeichervorrichtung und verfahren zum betreiben derselben
EP1389336B1 (de) Testverfahren zum testen eines datenspeichers
DE3607015A1 (de) Verfahren und vorrichtung zur funktionspruefung von direktzugriffsspeichern
DE102012104648A1 (de) Techniken zur Verifikation einer Verlässlichkeit eines Speichers
DE102015113414A1 (de) Fehlerkorrektur unter Verwendung von WOM-Codes
DE4011935C2 (de)
DE2946119C2 (de) Datenverarbeitungseinrichtung mit einer Vielzahl von Datenverarbeitungselementen, denen ein einziger Strom von Steuersignalen zugeführt wird
DE102007019545B4 (de) Dateninversionsverfahren
EP1444699B1 (de) Verfahren zur rekonfiguration eines speichers
DE10337284A1 (de) Integrierter Speicher mit einer Schaltung zum Funktionstest des integrierten Speichers sowie Verfahren zum Betrieb des integrierten Speichers
DE10256487B4 (de) Integrierter Speicher und Verfahren zum Testen eines integrierten Speichers
DE102016100630B4 (de) Speichervorrichtung und Verfahren zum Testen einer Speichervorrichtung
DE102017124313B4 (de) Speicheranordnung und verfahren zum verifizieren eines speicherzugriffs
DE69724737T2 (de) Verfahren und Vorrichtung zur Prüfung von Speicherschaltungen
DE112007003117T5 (de) Neue Implementierung der Spaltenredundanz für einen Flash-Speicher mit einem hohen Schreibparallelismus
DE102008016205A1 (de) Verfahren und Schaltung zur Belastung von Zwischenverbindungen auf hoher Ebene in Halbleiterbauelementen
DE10124742C1 (de) Verfahren und Einrichtung zum Testen einer Speicherschaltung
DE10331068A1 (de) Verfahren zum Auslesen von Fehlerinformationen aus einem integrierten Baustein und integrierter Speicherbaustein
DE102006004009A1 (de) Prüfdatentopologie-Schreibvorgang in Speicher unter Verwendung von zwischengespeicherten Leseverstärkerdaten und Zeilenadressenverwürfelung
DE102018126051A1 (de) Neuartige Speichervorrichtung
DE60212103T2 (de) Strukturierter speicherzellentest
DE4018669A1 (de) Halbleiterspeichereinrichtung mit einem auf dem chip befindlichen testschaltkreis und testverfahren fuer diese
DE112004002973T5 (de) Halbleiterbauelement und Verfahren zum Schreiben von Daten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative