DE112008000991T5 - Verfahren und Vorrichtung zum Testen eines Seitendecoders - Google Patents

Verfahren und Vorrichtung zum Testen eines Seitendecoders Download PDF

Info

Publication number
DE112008000991T5
DE112008000991T5 DE112008000991T DE112008000991T DE112008000991T5 DE 112008000991 T5 DE112008000991 T5 DE 112008000991T5 DE 112008000991 T DE112008000991 T DE 112008000991T DE 112008000991 T DE112008000991 T DE 112008000991T DE 112008000991 T5 DE112008000991 T5 DE 112008000991T5
Authority
DE
Germany
Prior art keywords
pages
memory
bit sequence
page
unique bit
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.)
Withdrawn
Application number
DE112008000991T
Other languages
English (en)
Inventor
Ciro Corcelli
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.)
Atmel Corp
Original Assignee
Atmel Corp
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 Atmel Corp filed Critical Atmel Corp
Publication of DE112008000991T5 publication Critical patent/DE112008000991T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/024Detection or location of defective auxiliary circuits, e.g. defective refresh counters in decoders

Abstract

Verfahren zum Testen der korrekten Funktion eines Seitendecoders in einem Speicher mit N Seiten, wobei jede der N Seiten M Speicherzellen hat, mit den Schritten:
Löschen des Speichers, um alle Speicherzellen, die mit den N Seiten des Speichers verbunden sind, zurückzusetzen;
iteratives Erzeugen einer eindeutigen Bitsequenz aus M Bits und gleichzeitigem Programmieren der eindeutigen Bitsequenz in eine Vielzahl der N Seiten, bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält; und
abhängig davon, ob jede der N Seiten eine eindeutige Bitsequenz hat, Verwenden des Seitendecoders, um die mit den N Seiten verbundene eindeutige Bitsequenz auszulesen, um die korrekte Funktion des Seitendecoders zu überprüfen.

Description

  • Prioritätsanspruch
  • Hiermit wird die Priorität des US-Patentanmeldung Nr. 11/735,182, eingereicht am 13. April 2007, beansprucht. Diese Anmeldung wird hiermit mittels Verweis mit aufgenommen.
  • Technischer Bereich
  • Die in dieser Druckschrift offenbarten Ausführungsformen beziehen sich im Allgemeinen auf digitale Schaltungen, und insbesondere auf Adressdecoder.
  • Hintergrund
  • Flash-Speicher ist ein nicht-flüchtiger Computerspeicher, der elektrisch gelöscht und wieder programmiert werden kann. 1 illustriert einen herkömmlichen Flash-Speicher 100, der in mehrere Seiten aufgeteilt ist (z. B. Seiten 1-N). Jede Seite (1-N) enthält im Allgemeinen mehrere Worte, und jedes Wort enthält eine vorbestimmte Zahl von Bits (z. B. 16 Bits). Auf jedes Wort einer gegebenen Seite kann mit einem Zeiger (oder Programmzähler) mittels eines Adressdecoders zugegriffen werden. Wie in 1 gezeigt, besteht der Adressdecoder aus einem Seitendecoder 102 und einem Wortdecoder 104. Insbesondere während des Lesens vom Flash-Speicher 100 decodiert der Seitendecoder 102 die höherwertigen Bits des Programmzählers, um zu bestimmen, welche Seite ausgewählt werden muss, und der Wortdecoder 104 decodiert die niedrigerwertigen Bits des Programmzählers, um zu bestimmen, welches Wart (innerhalb einer ausgewählten Seite) gelesen werden muss. Jedes Wort hat eine Gruppe von Bitleitungen (mit der gleichen Größe wie die Wortgröße), die auf high gehen, wenn das zugehörige Wart ausgewählt ist. Der Wortdecoder 104 wählt die richtigen Bitleitungen aus, die verwendet werden, um die Daten auf einen Anweisungsbus (nicht gezeigt) zu multiplexen. Um den Flash-Speicher 100 zu beschreiben, werden Seitenauffangregister 106 mit Daten geladen. Die niedrigerwertigen Bits des Programmzählers werden typischerweise verwendet, um die Daten an die richtige Stelle der Seitenauffangregister 106 zu laden, und zwar in ähnlicher Weise wie in dem Wortdecoder (oder es kann der gleiche Wortdecoder verwendet werden). Jedes Seitenauffangregister ist mit einer entsprechenden Bit leitung verbunden. Während des Lesens ist der Ausgang der Seitenauffangregister 106 typscherweise in einem tri-state-Zustand, um einen Ansteuerungskonflikt zu vermeiden.
  • Zum Testen der korrekten Funktionsweise eines Flash-Speichers ist es üblicherweise erforderlich, die Funktionalität sowohl des Wortdecoders als auch des Seitendecoders zu überprüfen. Die Überprüfung der Funktionalität eines Wortdecoders stellt normalerweise kein Problem dar, da es im Allgemeinen ausreicht, lediglich eine Seite zu programmieren, d. h. Werte hineinzuschreiben, und dann die in der Seite programmierten Werte zurückzulesen. Die Überprüfung der Funktionalität eines Seitendecoders erfordert im Allgemeinen jedoch die Programmierung aller Seiten innerhalb eines Flash-Speichers. Das bedeutet, dass eine eindeutige Signatur in jede Seite des Flash-Speichers geschrieben wird, wobei die eindeutige Signatur anschließend von jeder Seite des Flash-Speichers gelesen wird. Dies garantiert, dass der Seitendecoder auf die richtigen Stellen innerhalb des Flash-Speichers zeigt. Die Programmierung jeder Seite eines Flash-Speichers ist jedoch ein sehr zeitaufwendiger Vorgang und die Testzeit ist ein wichtiger Faktor im Produktionsablauf. Ein anderes Verfahren zum Testen der Funktionalität eines Seitendecoders besteht darin, Beobachtungspunkte (z. B. eine Abtastkette) in den Ausgang des Seitendecoders einzufügen. Wenn der Seitendecoder richtig arbeitet, wird nur eine Leitung (die zum Zugriff auf eine Seite verwendet wird) gleichzeitig aktiv. Ein derartiges Verfahren garantiert jedoch nicht, dass die Verbindung zwischen den Ausgangsleitungen und den Seiten fehlerfrei ist.
  • Die Details einer oder mehrerer Ausführungsformen werden in der folgenden Beschreibung und den begleitenden Zeichnungen dargelegt. Weitere Merkmale und Vorteile werden aus der Beschreibung, den Zeichnungen und den Ansprüchen ersichtlich.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines herkömmlichen Flash-Speichers;
  • 2 ist ein Blockdiagramm eines Flash-Speichers gemäß einiger Ausführungsformen;
  • 3 ist ein Verfahren zum Testen der Funktionalität eines Seitendecoders eines Flash-Speichers in Übereinstimmung mit einigen Ausführungsformen;
  • 4 ist ein schematisches Diagramm eines Seitendecoders in Übereinstimmung mit einigen Ausführungsformen; und
  • 5 ist ein Blockdiagramm eines Speichers mit einem Seitendecoder in Übereinstimmung mit einigen Ausführungsformen.
  • Detaillierte Beschreibung
  • Die Ausführungsformen der vorliegenden Erfindung beziehen sich im Allgemeinen auf digitale Schaltungen, und insbesondere auf Adressdecoder. Die folgende Beschreibung der verschiedenen Ausführungsformen zielt darauf ab, den Fachmann in die Lage zu versetzen, die Erfindung anzuwenden und wird im Zusammenhang mit einer Patentanmeldung und ihren Erfordernissen zur Verfügung gestellt. Die vorliegende Erfindung soll nicht durch die gezeigten Ausführungsformen begrenzt werden, sondern es soll ihr der breitestmögliche Umfang zuerkannt werden, der mit den hier beschriebenen und beanspruchten Prinzipien und Merkmalen vereinbar ist. Ähnliche Bezugszeichen in den verschiedenen Zeichnungen bezeichnen ähnliche Elemente.
  • 2 illustriert einen Flash-Speicher 200 in Übereinstimmung mit einer Implementierung. In einer Implementierung ist der Flash-Speicher 200 in Seiten aufgeteilt (z. B. Seiten 1-N) und enthält einen Adressdecoder (mit einem Seitendecoder 202 und einem Wortdecoder 204), um jedes Wort einer gegebenen Seite innerhalb des Flash-Speichers 200 anzusprechen. In einer Implementierung decodiert der Seitendecoder 202 während des Lesens von dem Flash-Speicher 200 die höherwertigen Bits eines Programmzählers (nicht gezeigt), um zu bestimmen, welche Seite ausgewählt werden muss, und der Wortdecoder 204 decodiert die niederwertigen Bits des Programmzählers, um zu bestimmen, welches Wort (innerhalb einer ausgewählte Seite) gelesen werden muss. In einer Implementierung werden zum Beschreiben des Flash-Speichers 200 Seitenauffangregister 206 mit Daten (oder Bitsequenzen) geladen, die an entsprechende Bitstellen (oder Speicherzellen) innerhalb des Flash-Speichers 200 geschrieben werden sollen, d. h. jedes Seitenauffangregister ist mit einer entsprechenden Bitleitung verbunden. Die niederwertigen Bits des Programmzählers können verwendet werden, um die Daten in dem korrekten Abschnitt der Seitenauffangregister 206 zu laden. In einer Implementierung wird jede Speicherzelle des Flash-Speichers 200 beschrieben, indem ein Logikpegel der Speicherzelle auf null gesetzt wird. Demgemäß erfordert in dieser Implementierung das Löschen einer Speicherzelle das Setzen des Logikpegels der Speicherzelle auf 1. In einer Implementierung wird während eines Programmiervorgangs eine gesamte Seite gleichzeitig geschrieben und die resultierenden Logikwerte der mit der Seite verbundenen Speicherzellen hängen davon ab, was zuvor in die Seitenauffangregister 206 geladen wurde. In anderen Worten, eine logische Eins in einem Seitenauffangregister lässt den Inhalt (oder Logikpegel) einer zugehörigen Speicherzelle in dem Flash-Speicher unverändert, wohingegen eine logische Null in dem Seitenauffangregister die zugehörige Speicherzelle in den Flash-Speicher schreibt (der Logikpegel der Speicherzelle wird auf null gesetzt).
  • Wie zuvor beschrieben wurde, erfordert das Testen der korrekten Funktion eines Flash-Speichers typischerweise die Überprüfung von sowohl dem Wortdecoder als auch dem Seitendecoder. Die Überprüfung der Funktionalität eines Wortdecoders ist üblicherweise kein Problem, da es im Allgemeinen genügt, nur eine Seite zu programmieren und die in der Seite programmierten Werte sodann zurückzulesen. Die Überprüfung der Funktionalität eines Seitendecoders erfordert in manchen Ausführungsformen jedoch die Programmierung aller Seiten (innerhalb eines Flash-Speichers) mit einer eindeutigen Signatur, die anschließend von jeder Seite des Flash-Speichers gelesen wird. Im Gegensatz zu einem herkömmlichen Seitendecoder, der N Operationen benötigt, um N Seiten eines Flash-Speichers zu programmieren, ist der Seitendecoder 202 in der Lage, eine Mehrzahl von Seiten gleichzeitig zu programmieren, um den Zeitaufwand zu reduzieren, der erforderlich ist, um alle Seite eines Flash-Speichers mit einer eindeutigen Signatur zu programmieren. Die Reduktion der Zeit, die erforderlich ist, um die Seiten eines Flash-Speichers zu programmieren, reduziert die Gesamtzeit und Kosten, die erforderlich sind, um die Funktionalität eines Flash-Speichers zu testen. In einer Implementierung wird die Zahl der Operationen, die erforderlich ist, um jede der N Seiten eines Flash-Speichers (mit einer eindeutigen Signatur) zu programmieren, auf log2N reduziert, wie weiter unten im Detail beschrieben wird.
  • 3 illustriert ein Verfahren 300 zum Testen der Funktionalität eines Seitendecoders (z. B. Seitendecoder 202) eines Flash-Speichers in Übereinstimmung mit einer Implementierung. Ein Flash-Speicher (z. B. Flash-Speicher 200) wird gelöscht (Schritt 302). In einer Implementierung umfasst das Löschen eines Flash-Speichers das Setzen eines Logikpegels einer jeden Speicherzelle (des Flash-Speichers) auf eins. Nachdem der Flash-Speicher gelöscht ist, wird eine eindeutige Bitsequenz (oder Signatur), die in den Flash-Speicher geladen werden soll, erzeugt (z. B. durch eine Logik) (Schritt 304). In einer Implementierung ist die Zahl der Bits in der eindeutigen Bitsequenz gleich der Zahl der Bits in einer gegebenen Seite des Flash-Speichers. Wenn z. B. eine Seite 32 Bits enthält, dann umfasst die eindeutige Bitsequenz 32 Bits. Eine Bitsequenz mit einer derartigen Länge erlaubt es, dass eine gesamte Seite auf einmal programmiert wird. Die eindeutige Bitsequenz wird in eine Mehrzahl von Seiten des Flash-Speichers zu einer Zeit (Schritt 306) programmiert. In einer Implementie rung werden N/2 Seiten mit der eindeutigen Bitsequenz programmiert, wobei N die Gesamtzahl von Seiten in dem Flash-Speicher ist.
  • Es wird eine Überprüfung vorgenommen (z. B. durch eine Logik), ob jede Seite des Flash-Speichers eine eindeutige Bitsequenz (oder eindeutige Signatur) relativ zu den anderen Seiten in dem Flash-Speicher enthält (Schritt 308). Wenn noch nicht jede Seite des Flash-Speichers programmiert wurde, um eine eindeutige Signatur zu haben, dann kehrt das Verfahren 300 zum Schritt 304 zurück, um eine weitere eindeutige Bitsequenz zu erzeugen, die in den Flash-Speicher geladen werden soll. In einer Implementierung werden während jeder Iteration N/2 Seiten des Flash-Speichers programmiert. In dieser Implementierung sind daher nur log2N Iterationen (oder Operationen) erforderlich, um jede Seite des Flash-Speichers mit einer eindeutigen Signatur zu programmieren. Wenn im Schritt 306 festgestellt wurde, dass jede Seite des Flash-Speichers mit einer eindeutigen Signatur programmiert wurde, dann wird jede eindeutige Signatur von einer entsprechenden Seite des Flash-Speichers gelesen (Schritt 310).
  • Es wird nun ein Beispiel gegeben. Tabelle 1 zeigt die Inhalte eines Flash-Speichers, nachdem der Flash-Speicher gelöscht wurde, d. h. jede Speicherzelle hat einen Logikwert eins. In dem Beispiel hat der Flash-Speicher nur 8 Seiten, und jede Seite enthält 5 Bits. Tabelle 1
    Seite 1 1 1 1 1 1
    Seite 2 2 2 2 2 2
    Seite 3 3 3 3 3 3
    Seite 4 4 4 4 4 4
    Seite 5 5 5 5 5 5
    Seite 6 6 6 6 6 6
    Seite 7 7 7 7 7 7
    Seite 8 8 8 8 8 8
  • Tabelle 2 zeigt den Inhalt des Flash-Speichers, nachdem eine erste Vielzahl von Seiten (z. B. N/2 Seiten) mit einer eindeutigen Signatur programmiert wurden. Die eindeutige Signatur, die in den Flash-Speicher programmiert wurde, ist [01111], und diese Signatur wird zuerst in die Seitenauffangregister geladen, bevor sie in den Flash-Speicher geschrieben wird. ”H” bedeutet, dass die Seitenleitung, die den Seiten 1–4 entspricht, auf high gesetzt ist. Da nur das erste Bit in den Seitenauffangregistern auf null gesetzt ist, wohingegen all die ande ren Bits auf eins gesetzt sind, wird nur das erste Bit in jeder der angesprochenen Seiten (z. B. Seiten 1–4) geschrieben, während die anderen Bits unberührt bleiben. Tabelle 2
    Seitenauffangregister 0 1 1 1 1
    H Seite 1 0 1 1 1 1
    H Seite 2 0 1 1 1 1
    H Seite 3 0 1 1 1 1
    H Seite 4 0 1 1 1 1
    Seite 5 1 1 1 1 1
    Seite 6 1 1 1 1 1
    Seite 7 1 1 1 1 1
    Seite 8 1 1 1 1 1
  • In einem zweiten Programmierungsschritt wird auf N/2 Seiten des Flash-Speichers wieder auf einmal zugegriffen. Wie jedoch in Tabelle 3 gezeigt wird, wird auf die ersten zwei Seiten der ersten Hälfte des Flash-Speichers und die ersten zwei Seiten der zweiten Hälfte des Flash-Speichers zugegriffen. In diesem Programmierschritt ist nur das zweite Bit in den Seitenauffangregistern auf null gesetzt. Tabelle 3 zeigt die Inhalte des Flash-Speichers nach dem zweiten Programmierschritt. Tabelle 3
    Seitenauffangregister 1 0 1 1 1
    H Seite 1 0 0 1 1 1
    H Seite 2 0 0 1 1 1
    Seite 3 0 1 1 1 1
    Seite 4 0 1 1 1 1
    H Seite 5 1 0 1 1 1
    H Seite 6 1 0 1 1 1
    Seite 7 1 1 1 1 1
    Seite 8 1 1 1 1 1
  • In einem dritten (und letzten) Programmierschritt werden N/2 Seiten wieder auf einmal angesprochen, diesmal jedoch in alternierender Weise. In diesem Programmierschritt ist nur das dritte Bit in den Seitenauffangregistern auf den logischen Wert null gesetzt. Tabelle 4 zeigt den Inhalt des Flash-Speichers nach dem dritten Programmierschritt. Tabelle 4
    Seitenauffangregister 1 1 0 1 1
    H Seite 1 0 0 0 1 1
    Seite 2 0 0 1 1 1
    H Seite 3 0 1 0 1 1
    Seite 4 0 1 1 1 1
    H Seite 5 1 0 0 1 1
    Seite 6 1 0 1 1 1
    H Seite 7 1 1 0 1 1
    Seite 8 1 1 1 1 1
  • Wie in Tabelle 4 dargestellt ist, hinterlässt die Programmierungstestsequenz eine eindeutige Signatur in jeder Seite mit lediglich log2N (oder drei) Programmiervorgängen. Diese Signaturen können dann verwendet werden, um die Funktionalität eines Seitendecoders durch eine Leseoperation zu testen. Wie in dem oben gezeigten Beispiel, wird Seite 1 mit einer gegebenen eindeutigen Bitsequenz während eines jeden Programmierschritts programmiert. Im Gegensatz dazu bleibt die Seite 8 über alle Programmierschritte hinweg unverändert.
  • Um eine derartige Programmiertechnik auf einen Flash-Speicher mit N Seiten anzuwenden, benötigt man im Allgemeinen die höchsten log2N Bits des Programmzählers. Jedes dieser Bits des Programmzählers kann mit einem Testmodussignal (ebenfalls von der Größe log2N) kombiniert werden, um auf N/2 Seiten des Flash-Speichers gleichzeitig zuzugreifen. 4 illustriert eine Implementierung eines Seitendecoders 400, der dazu eingerichtet ist, um N/2 Seiten eines Flash-Speichers gleichzeitig zu programmieren. Der Seitendecoder 400 enthält Inverter (INVO-INV2), ODER-Gatter (ORO-OR2) und UND-Gatter (ANDO-AND11). Um N/2 Seiten, wie in dem obigen Beispiel, gleichzeitig anzusprechen, können die folgenden programmtechnischen Randbedingungen implementiert werden:
  • Programmschritt 1:
    • PC[2:0] = 3'000
    • TM[2:0] = 3'b101
  • Programmschritt 2:
    • PC[2:0] = 3'b000
    • TM[2:0] = 3'b110
  • Programmschritt 3:
    • PC[2:0] = 3'b000
    • TM[2:0] = 3'b110
  • Schlussfolgerung
  • Diese Spezifikation beschreibt Verfahrensausführungsformen zum Testen der korrekten Funktion eines Seitendecoders in einem Speicher mit N Seiten, indem jede der N Seiten M Speicherzellen hat. Das Verfahren umfasst, unter anderem das Löschen des Speichers, um alle Speicherzellen, die mit jeder der N Seiten in dem Speicher verbunden sind, zurückzusetzen; die iterative Erzeugung einer eindeutigen Bitsequenz aus M Bits und die gleichzeitige Programmierung der eindeutigen Bitsequenz in eine Vielzahl der N Seiten, bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält; und abhängig davon, ob jede der N Seiten eine eindeutige Bitsequenz hat, Verwenden des Seitendecoders zum Auslesen jeder der eindeutigen Bitsequenzen, die mit den N Seiten verbunden sind, um die korrekte Funktion des Seitendecoders zu überprüfen.
  • Konkrete Implementierungsausführungsformen können eines oder mehrere der folgenden Merkmale enthalten. Das Löschen des Speichers kann das Setzen aller Speicherzellen, die mit jeder der N Seiten verbunden sind, auf einen Logikpegel 1 enthalten. Das Programmieren der eindeutigen Bitsequenz in eine Mehrzahl der N Seiten kann das Setzen von einer oder mehrerer der M Speicherzellen einer gegebenen Seite auf einen logischen Wert von null enthalten. Das gleichzeitige Programmieren der eindeutigen Bitsequenz in eine Mehrzahl der N Seiten kann die gleichzeitige Programmierung der eindeutigen Bitsequenz in N/2 Seiten des Speichers beinhalten. In einem Aspekt werden lediglich log2N Iterationen erforderlich, bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält. Zumindest eine der Mehrzahl von N Seiten kann während jeder Iteration mit einer gegebenen eindeutigen Bitsequenz programmiert werden. Der Speicher kann ein Flash-Speicher sein.
  • Diese Spezifikation beschreibt auch Ausführungsformen eines Flash-Speichers mit N Seiten, in dem jede der N Seiten M Speicherzellen hat. Der Speicher enthält außerdem ein Seitenauffangregister, um iterativ eine eindeutige Bitsequenz von M Bits in eine Mehrzahl der N Seiten gleichzeitig zu laden, bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält, und einen Seitendecoder, um jede eindeutige Bit sequenz, die mit den N Seiten verbunden ist, auszulesen, wenn jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher hat.
  • In manchen Ausführungsformen wird ein Verfahren und ein System zum vollständigen Testen der Funktionalität eines Seitendecoders angegeben, das die Verwendung von Beobachtungspunkten, z. B. eine Abtastkette, nicht erfordert. In manchen Ausführungsformen reduzieren die hier beschriebenen Techniken die Gesamttestzeit eines Flash-Speichers durch Reduktion der Zahl von Programmiervorgängen, die erforderlich sind, um eine eindeutige Signatur in jeder Seite des Flash-Speichers zu platzieren.
  • Verschiedene Implementierungsausführungsformen eines Seitendecoders für einen Flash-Speicher wurden beschrieben. Nichtsdestotrotz können verschiedene Abwandlungen an den Implementierungen vorgenommen werden. Obwohl die oben beschriebenen Beispielausführungsformen des Seitendecoders im Allgemeinen bezüglich eines Flash-Speichers beschrieben wurden, kann ein erfindungsgemäßer Seitendecoder auch mit anderen Arten von Speicher, wie in 5 gezeigt, implementiert werden.
  • 5 illustriert einen Speicher 500 mit einem Seitendecoder 502 und einem Wortdecoder 504. Der Seitendecoder 502 ist dazu eingerichtet, eine Mehrzahl von Seiten (oder Speicherblöcken) (nicht gezeigt) innerhalb des Speichers gleichzeitig zu programmieren, um den Zeitaufwand zu reduzieren, der mit der Programmierung aller Seiten (oder Speicherblöcke) mit einer eindeutigen Signatur verbunden ist. Der Speicher kann zusätzlich zu einer Multipegelzellenvorrichtung (die mehr als 1 Bit pro Speicherzelle speichern kann) z. B. ein RAM (random access memory), ein ROM (read-only memory), oder ein Hybridspeicher sein. Zusätzlich können die Schritte des oben beschriebenen Verfahrens in anderer Reihenfolge ausgeführt werden und dennoch wünschenswerte Ergebnisse liefern. Demzufolge können viele Abwandlungen vorgenommen werden, ohne vom Geist der folgenden Ansprüche abzuweichen.
  • Zusammenfassung
  • Es wird ein Verfahren (300) und eine Vorrichtung zum Testen der korrekten Funktion eines Seitendecoders in einem Speicher zur Verfügung gestellt. In einer Implementierung enthält das Verfahren das Löschen des Speichers (302), um alle Speicherzellen, die mit den N Seiten des Speichers verbunden sind, zurückzusetzen, und die iterative Erzeugung einer eindeutigen Bitsequenz aus M Bits (304) und die gleichzeitige Programmierung der eindeutigen Bitsequenz in eine Vielzahl der N Seiten (306), bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält (308). Abhängig davon, ob jede der N Seiten eine eindeutige Bitsequenz hat, enthält das Verfahren des Weiteren die Verwendung des Seitendecoders, um jede eindeutige Bitsequenz, die mit den N Seiten verbunden ist, auszulesen, um die korrekte Funktion des Seitendecoders zu überprüfen (310).

Claims (16)

  1. Verfahren zum Testen der korrekten Funktion eines Seitendecoders in einem Speicher mit N Seiten, wobei jede der N Seiten M Speicherzellen hat, mit den Schritten: Löschen des Speichers, um alle Speicherzellen, die mit den N Seiten des Speichers verbunden sind, zurückzusetzen; iteratives Erzeugen einer eindeutigen Bitsequenz aus M Bits und gleichzeitigem Programmieren der eindeutigen Bitsequenz in eine Vielzahl der N Seiten, bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält; und abhängig davon, ob jede der N Seiten eine eindeutige Bitsequenz hat, Verwenden des Seitendecoders, um die mit den N Seiten verbundene eindeutige Bitsequenz auszulesen, um die korrekte Funktion des Seitendecoders zu überprüfen.
  2. Verfahren nach Anspruch 1, wobei: das Löschen des Speichers das Setzen aller Speicherzellen, die mit jeder der N Seiten verbunden sind, auf einen logischen Wert von 1 umfasst; und das Programmieren der eindeutigen Bitsequenz in eine Vielzahl der N Seiten das Setzen von einer oder mehrerer der M Speicherzellen einer gegebenen Seite auf einen logischen Wert von null umfasst.
  3. Verfahren nach Anspruch 1, wobei das gleichzeitige Programmieren der eindeutigen Bitsequenz in eine Vielzahl der N Seiten ein gleichzeitiges Programmieren der eindeutigen Bitsequenz in N/2 Seiten des Speichers umfasst.
  4. Verfahren nach Anspruch 3, wobei nur log2N Iterationen benötigt werden, bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält.
  5. Verfahren nach Anspruch 4, wobei zumindest eine der Vielzahl von N Seiten mit einer gegebenen eindeutigen Bitsequenz während jeder Iteration programmiert wird.
  6. Verfahren nach Anspruch 5, wobei der Speicher ein Flash-Speicher ist.
  7. Speicher, bestehend aus N Seiten, wobei jede der N Seiten M Speicherzellen hat, umfassend: eine Einrichtung zum Löschen des Speichers, um alle Speicherzellen, die mit den N Seiten des Speichers verbunden sind, zurückzusetzen; eine Einrichtung zum iterativen Erzeugen einer eindeutigen Bitsequenz aus M Bits und zum gleichzeitigen Programmieren der eindeutigen Bitsequenz in eine Vielzahl der N Seiten, bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält; und abhängig davon, ob jede der N Seiten eine eindeutige Bitsequenz hat, eine Einrichtung zum Auslesen jeder eindeutigen Bitsequenz, die mit den N Seiten verbunden ist, um die korrekte Funktion des Speichers zu überprüfen.
  8. Speicher nach Anspruch 7, wobei die Einrichtung zum Löschen des Speichers eine Einrichtung zum Setzen aller Speicherzellen, die mit den N Seiten verbunden sind, auf einen logischen Wert von eins umfasst; und wobei die Einrichtung zum iterativen Erzeugen einer eindeutigen Bitsequenz aus M Bits und zum gleichzeitigen Programmieren der eindeutigen Bitsequenz in eine Vielzahl der N Seiten eine Einrichtung zum Setzen von einer oder mehrerer der M Speicherzellen einer gegebenen Seite auf einen logischen Wert von null umfasst.
  9. Verfahren nach Anspruch 7, wobei die Einrichtung zum iterativen Erzeugen einer eindeutigen Bitsequenz aus M Bits und zum Programmieren der eindeutigen Bitsequenz in eine Vielzahl der N Seiten eine Einrichtung zum gleichzeitigen Programmieren der eindeutigen Bitsequenz in N/2 Seiten des Speichers umfasst.
  10. Speicher nach Anspruch 9, wobei die Einrichtung zum iterativen Erzeugen einer eindeutigen Bitsequenz aus M Bits und zum Programmieren der eindeutigen Bitsequenz in eine Vielzahl der N Seiten nur log2N Iterationen benötigt, bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält.
  11. Speicher nach Anspruch 10, wobei zumindest eine der Vielzahl der N Seiten mit einer gegebenen eindeutigen Bitsequenz während jeder Iteration programmiert wird.
  12. Speicher nach Anspruch 11, wobei der Speicher ein Flash-Speicher ist.
  13. Speicher umfassend: N Seiten, wobei jede der N Seiten M Speicherzellen hat; ein Seitenauffangregister, um eine eindeutige Bitsequenz aus M Bits iterativ in eine Vielzahl der N Seiten gleichzeitig zu laden, bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält; und einen Seitendecoder zum Auslesen jeder eindeutigen Bitsequenz, die mit den N Seiten verbunden ist, wenn jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher hat.
  14. Speicher nach Anspruch 13, wobei das Seitenauffangregister dazu eingerichtet ist, iterativ eine gegebene eindeutige Bitsequenz in N/2 Seiten des Speichers gleichzeitig zu laden.
  15. Speicher nach Anspruch 14, wobei nur log2N Iterationen benötigt werden, bis jede der N Seiten eine eindeutige Bitsequenz relativ zu den anderen Seiten in dem Speicher enthält.
  16. Speicher nach Anspruch 15, wobei der Speicher ein Flash-Speicher ist.
DE112008000991T 2007-04-13 2008-04-10 Verfahren und Vorrichtung zum Testen eines Seitendecoders Withdrawn DE112008000991T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/735,182 US7646645B2 (en) 2007-04-13 2007-04-13 Method and apparatus for testing the functionality of a page decoder
US11/735,182 2007-04-13
PCT/US2008/004637 WO2008127616A1 (en) 2007-04-13 2008-04-10 Method and apparatus for testing page decoder

Publications (1)

Publication Number Publication Date
DE112008000991T5 true DE112008000991T5 (de) 2010-05-12

Family

ID=39591056

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008000991T Withdrawn DE112008000991T5 (de) 2007-04-13 2008-04-10 Verfahren und Vorrichtung zum Testen eines Seitendecoders

Country Status (5)

Country Link
US (1) US7646645B2 (de)
CN (1) CN101669174A (de)
DE (1) DE112008000991T5 (de)
TW (1) TW200907991A (de)
WO (1) WO2008127616A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7646645B2 (en) 2007-04-13 2010-01-12 Atmel Corporation Method and apparatus for testing the functionality of a page decoder
US10218388B2 (en) * 2015-12-18 2019-02-26 SK Hynix Inc. Techniques for low complexity soft decoder for turbo product codes

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672610A (en) * 1985-05-13 1987-06-09 Motorola, Inc. Built in self test input generator for programmable logic arrays
US5623620A (en) * 1993-06-30 1997-04-22 Intel Corporation Special test modes for a page buffer shared resource in a memory device
US5954831A (en) * 1997-10-08 1999-09-21 Ects Inc. Method for testing a memory device
FR2787233B1 (fr) * 1998-12-11 2001-02-16 St Microelectronics Sa Procede pour verifier l'integrite des circuits de decodage d'une memoire
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
JP4413406B2 (ja) * 2000-10-03 2010-02-10 株式会社東芝 不揮発性半導体メモリ及びそのテスト方法
US6865702B2 (en) * 2001-04-09 2005-03-08 Micron Technology, Inc. Synchronous flash memory with test code input
ITRM20010556A1 (it) * 2001-09-12 2003-03-12 Micron Technology Inc Decodificatore per decodificare i comandi di commutazione a modo di test di circuiti integrati.
JP3898481B2 (ja) * 2001-10-03 2007-03-28 富士通株式会社 半導体記憶装置
TW567500B (en) * 2002-07-09 2003-12-21 Spirox Corp Diagonal test method of flash memory
JP3863124B2 (ja) * 2003-05-08 2006-12-27 株式会社東芝 半導体記憶装置及びそのテスト方法
JP2004348803A (ja) * 2003-05-20 2004-12-09 Sharp Corp 不揮発性メモリ素子のプログラム検証方法および半導体記憶装置とそれを備えた携帯電子機器
FR2856186A1 (fr) * 2003-06-12 2004-12-17 St Microelectronics Sa Memoire flash comprenant des moyens de controle et de rafraichissement de cellules memoire dans l'etat efface
KR100632947B1 (ko) * 2004-07-20 2006-10-12 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 프로그램 방법
US7325177B2 (en) * 2004-11-17 2008-01-29 Silicon Storage Technology, Inc. Test circuit and method for multilevel cell flash memory
JP2006310457A (ja) * 2005-04-27 2006-11-09 Toshiba Corp 半導体集積回路
KR100666185B1 (ko) * 2005-07-29 2007-01-09 삼성전자주식회사 3-레벨 불휘발성 반도체 메모리 장치 및 이에 대한구동방법
US7130222B1 (en) * 2005-09-26 2006-10-31 Macronix International Co., Ltd. Nonvolatile memory with program while program verify
US7646645B2 (en) 2007-04-13 2010-01-12 Atmel Corporation Method and apparatus for testing the functionality of a page decoder

Also Published As

Publication number Publication date
TW200907991A (en) 2009-02-16
WO2008127616A1 (en) 2008-10-23
US7646645B2 (en) 2010-01-12
US20080253207A1 (en) 2008-10-16
CN101669174A (zh) 2010-03-10

Similar Documents

Publication Publication Date Title
DE102008002083B4 (de) Flash-Speichervorrichtung und entsprechende Programmierverfahren
DE2328869C2 (de) Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems
DE102004036888B4 (de) Flashspeichersystem und zugehöriges Datenschreibverfahren
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE102005043295A1 (de) Fehlerdetektionsverfahren, Rückkopierprogrammierverfahren und NAND-Flashspeicherbauelement
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE102007059927A1 (de) Verfahren zum Übertragen von Daten in einem Speichersystem und Speichersystem
EP1008993B1 (de) Schreib/Lesespeicher mit Selbsttestvorrichtung und zugehöriges Testverfahren
DE60222891T2 (de) Nichtflüchtige Speichervorrichtung und Selbstreparatur-Verfahren
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE112008000429T5 (de) Prüfvorrichtung und Prüfverfahren
DE10058030A1 (de) Integrierte Schaltung mit Datenprüfmitteln auf einem Chip
EP1444699B1 (de) Verfahren zur rekonfiguration eines speichers
DE19724471C2 (de) Vorrichtung und Verfahren zum Einschreiben von Daten in einen nichtflüchtigen Speicher
DE10256487B4 (de) Integrierter Speicher und Verfahren zum Testen eines integrierten Speichers
DE112008000991T5 (de) Verfahren und Vorrichtung zum Testen eines Seitendecoders
DE19841005B4 (de) Halbleiterplattenlaufwerk und Verfahren zum Erzeugen einer physikalisch/logischen Adressenumsetzungstabelle
DE19922786B4 (de) Halbleiterspeicher mit Testeinrichtung
DE112004002973B4 (de) Halbleiterbauelement und Verfahren zum Schreiben von Daten
DE19952357A1 (de) Schreibvorrichtung für eine nicht-flüchtige Halbleiter-Speichervorrichtung
DE10331068A1 (de) Verfahren zum Auslesen von Fehlerinformationen aus einem integrierten Baustein und integrierter Speicherbaustein
DE10050212A1 (de) Verfahren und integrierte Schaltung zum Testen eines Speichers mit mehreren Speicherbänken
DE102005054898A1 (de) Flexibles internes Adresszählverfahren und -vorrichtung
DE2137578A1 (de) Verfahren zum Bestimmen der Brauch barkeitskategonen von teilweise brauch baren Mikrobausteinen

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination