DE69825234T2 - Verfahren und vorrichtung zur selbstprüfung von multi-port-rams - Google Patents

Verfahren und vorrichtung zur selbstprüfung von multi-port-rams Download PDF

Info

Publication number
DE69825234T2
DE69825234T2 DE1998625234 DE69825234T DE69825234T2 DE 69825234 T2 DE69825234 T2 DE 69825234T2 DE 1998625234 DE1998625234 DE 1998625234 DE 69825234 T DE69825234 T DE 69825234T DE 69825234 T2 DE69825234 T2 DE 69825234T2
Authority
DE
Germany
Prior art keywords
port
ram
row
ports
test
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.)
Expired - Fee Related
Application number
DE1998625234
Other languages
English (en)
Other versions
DE69825234D1 (de
Inventor
Yuejian Wu
Sanjay Gupta
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.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Ltd
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 Nortel Networks Ltd filed Critical Nortel Networks Ltd
Publication of DE69825234D1 publication Critical patent/DE69825234D1/de
Application granted granted Critical
Publication of DE69825234T2 publication Critical patent/DE69825234T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/34Accessing multiple bits simultaneously

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Static Random-Access Memory (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Eigentest von Multiport-Schreib-Lesespeichern (RAM's).
  • Hintergrund der Erfindung
  • Eingebettete Multiport-RAM's haben umfangreiche Anwendungen in Telekommunikations- und Mehrprozessorsystemen. Aufgrund des beschränkten Zuganges an eingebettete Speicher von den externen Anschluss-Stiften eines ASIC, ist ein eingebauter Eigentest (BIST) ein bevorzugter Test für RAM's. Typische BIST-Algorithmen sind der MARCH-Algorithmus [A. J. van de Goor, Testing Semiconductor Memories: Theory and Practice, John Wiley & Sons Ltd., England 1991] und der SMARCH-Algorithmus [B. Nadeau-Dostie, A. Silburt und V. K. Agarwal "Serial Interfacing for Embedded Memory Testing", IEEE Design and Test of Computers, April 1990, Seite 52].
  • Die meisten Multiport-Speicher-BIST-Algorithmen behandeln den Speicher als mehrfache einzelne Einzelport-Speicher und testen jeden unabhängig, wobei die Algorithmen verwendet werden, die für Einzelport-RAM's entwickelt wurden. Ein Hauptproblem bei dieser Lösung besteht in dem Fehlen der Berücksichtigung einiger Multiport-spezifischer Fehler, wie z. B. Zwischen-Port-Störungen aufgrund von Kurzschlüssen zwischen Ports.
  • Es wurden modifizierte MARCH-Algorithmen zur Feststellung von Zwischen-Port-Kurzschlüssen von T. Matsumura in den Veröffentlichungen "An Efficient Test Method for Embedded Multi-port RAM with BIST Circuitry", Records of the 1995 IEEE Int. Workshop on Memory Tech. Design and Testing, San Jose, CA., Seiten 62–67, 1995 und M. J. Raposa "Dual Port Static RAM Testing", Proc. IEEE Int. Test Conf., Seiten 362–368, 1988 vorgeschlagen. Der Algorithmus testet Paare von Ports durch gleichzeitiges Ausführen eines MARCH-Tests mit aufsteigenden Adressen an einem Port und eines weiteren MARCH-Tests mit absteigenden Adressen an dem anderen Port. Der Test berücksichtigt alle Wortleitungs-Kurzschlüsse und Bitleitungs-Kurzschlüsse, jedoch lediglich innerhalb der gleichen Reihe oder Spalte. Der Test kann weiterhin eine erhebliche Silizium-Fläche für die Weglenkung aufgrund der Notwendigkeit erfordern, unterschiedliche Adressen an die zwei Ports bereitzustellen.
  • Eine Veröffentlichung von S. Wood, R. Gibson, S. Adham und B. Nadeau-Dostie mit dem Titel "A 5 Gb/s 9-Port Application Specific SRAM with Built-In Self-Test, Records of the 1995 IEEE Int. Workshop on Memory Tech. Design and Testing, San Jose, CA. Seiten 68–73, August 1995 beschreibt einen Schatten-Schreibtest. In dem Schatten-Schreibtest erzwingen, wenn ein Port in die Schatten-Schreibbetriebsart gebracht wird, seine Schreib-Treiber kontinuierlich einen konstanten Wert auf allen Bitleitungen, wobei seine Wortleitungen intern unwirksam gemacht werden. Somit wird, wenn kein Kurzschluss zwischen diesem Port und dem geprüften Port vorhanden ist, keine Speicherzelle durch das Schatten-Schreiben beeinflusst. Wenn andererseits ein Zwischenport-Kurzschluss vorliegt, so wird der von dem getesteten Port ausgelesene Wert durch den Wert beeinflusst, der durch den Schatten-Schreibvorgang angesteuert wird. Das Schatten-Schreiben erfordert eine Konstruktions- und Auslegungs-Modifikation.
  • Es ist ein Ziel der vorliegenden Erfindung, eine verbesserte Vorrichtung und ein verbessertes Verfahren zum Selbsttesten eines Multiport-RAM zu schaffen.
  • Zusammenfassung der Erfindung
  • Gemäß einem Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren zum Testen eines Multiport-RAM (Schreib-Lese- oder Direktzugriffsspeicher) geschaffen, der RAM-Zellen mit m Reihen × n Spalten umfasst, wobei jede RAM-Zelle Speichereinrichtungen zum Speichern binärer Daten einschließt, wobei die Reihen und Spalten der RAM-Zellen durch ein Adressensignal adressiert werden, das ein Reihen-Adressensignal mit einer Anzahl von Bits umfasst, gekennzeichnet durch Testen eines ausgewählten Ports auf Einzelport-Fehler, Unwirksammachen des Schreibens an den oder die anderen Ports, und Testen des oder der anderen Ports auf Zwischen-Port-Fehler unter Verwendung von Port-Adressen, die durch Modifizieren eines bestimmten Bits des Reihen-Adressensignals abgeleitet sind, das an den ausgewählten Port geliefert wird.
  • Gemäß einem weiteren Gesichtspunkt der Erfindung wird eine Vorrichtung zum Testen eines Multiport-RAM geschaffen, wobei der RAM RAM-Zellen mit m Reihen × n Spalten umfasst, wobei jede RAM-Zelle Speichereinrichtungen zum Speichern binärer Daten einschließt, wobei die Reihen und Spalten der RAM-Zellen durch ein Adressensignal adressiert werden, das ein Reihen-Adressensignal mit einer Anzahl von Bits umfasst, wobei die Vorrichtung gekennzeichnet ist durch Port-Auswahleinrichtungen, Einzelport-Fehlerdetektionseinrichtungen, die zum Testen des ausgewählten Ports auf Einzelport-Fehler ausgebildet sind, Abschalteinrichtungen zum Abschalten des Schreibens an den oder die anderen Ports, während der Einzelport-Test ausgeführt wird, Adressen-Modifikationseinrichtungen zur Modifikation eines bestimmten Bits des Reihen-Adressensignals, das an den ausgewählten Port geliefert wird, und Einrichtungen zum Testen des oder der anderen Ports auf Zwischen-Port-Fehler unter Verwendung von Port-Adressen, die von den Adressen-Modifikationseinrichtungen abgeleitet sind.
  • Kurze Beschreibung der Zeichnungen
  • Ausführungsformen der vorliegenden Erfindung werden nunmehr in Form eines Beispiels unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1A und 1B Beispiele von Bitleitungs- und Wortleitungs-Kurzschlüssen zeigen;
  • 2 ein Blockschaltbild einer Testvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung ist;
  • 3 ein Blockschaltbild einer BIST-Steuerung nach 2 ist;
  • 4 eine Realisierung eines Adressen-Modifizierers gemäß 2 zeigt;
  • 5 ein Beispiel einer Ausführung eines Schrittes zeigt, der von der BIST-Steuerung ausgeführt wird;
  • 6 ein Beispiel einer Ausführung eines weiteren Schrittes zeigt, der von der BIST-Steuerung ausgeführt wird;
  • 7 ein Blockschaltbild einer Testvorrichtung gemäß einer weiteren Ausführungsform der vorliegenden Erfindung ist;
  • 8 eine BIST-Realisierung des Algorithmus zeigt;
  • 9 ein weiteres Beispiel einer BIST-Realisierung des Algorithmus zeigt;
  • 10 ein Blockschaltbild einer Testvorrichtung gemäß einer weiteren Ausführungsform der vorliegenden Erfindung zeigt; und
  • 11 ein Blockschaltbild einer Testvorrichtung gemäß einer weiteren Ausführungsform der vorliegenden Erfindung ist.
  • Ausführliche Beschreibung
  • 1. Fehlermodelle
  • Im Folgenden werden Fehlermodelle diskutiert, die spezifisch für Multiport-Speicher sind, nämlich Bitleitungs- und Wortleitungs-Kurzschlüsse über Ports hinweg.
  • (i) Bitleitungs-Kurzschlüsse
  • Im Allgemeinen ist ein Bitleitungs-Kurzschluss über Ports hinweg ein Überbrückungsfehler, der eine Bitleitung eines Ports mit einer Bitleitung eines weiteren Ports kurzschließt. In der Praxis können Bitleitungen, die physikalisch weit voneinander entfernt sind, nicht kurzgeschlossen werden, und lediglich Bitleitungs-Kurzschlüsse innerhalb der gleichen und benachbarten Spalten sind am wahrscheinlichsten.
  • Die 1A und 1B zeigen Beispiele von Zwischen-Port-Bitleitungs-Kurzschlüssen in zwei unterschiedlichen Auslegungsarten für einen Speicher mit zwei Ports: A und B. In 1A sind Bitleitungs-Kurzschlüsse innerhalb der gleichen Spalte oder zwischen benachbarten Spalten möglich. Wenn jedoch die Bitleitungen spiegelbildlich angeordnet sind, wie dies in 1B gezeigt ist, so sind lediglich Zwischenport-Bitleitungs-Kurzschlüsse innerhalb der gleichen Spalte möglich.
  • (ii) Wortleitungs-Kurzschlüsse
  • Ähnlich wie die Bitleitungs-Kurzschlüsse sind die wahrscheinlichsten Zwischen-Port-Wortleitungs-Kurzschlüsse Wortleitungs-Kurzschlüsse innerhalb der gleichen Reihe und zwischen benachbarten Reihen. Wenn die Wortleitungen in der in 1A gezeigten Weise ausgelegt sind, können beide Typen von Wortleitungs-Kurzschlüssen auftreten. Für die Auslegungsart nach 1B ist lediglich ein Zwischen-Port-Kurzschluss innerhalb der gleichen Reihe möglich. Ein Kurzschluss zwischen benachbarten Reihen kann lediglich für den gleichen Port auftreten und wird sehr einfach durch die meisten üblichen Einzelport-BIST-Algorithmen erfasst. Diese Zwischen-Port-Wortleitungs-Kurzschlüsse können weiter in a) WSA-Kurzschlüsse, die als ein Kurzschluss zwischen aktivierten und nicht aktivierten Wortleitungen definiert sind, der beide Wortleitungen aktivieren; und b) WSD-Kurzschlüsse kategorisiert werden, die als ein Kurzschluss zwischen aktiven und nicht aktiven Wortleitungen definiert sind, der beide Wortleitungen abschaltet. WSA- und WSD-Wortleitungs-Kurzschlüsse in der gleichen Reihe sowie zwischen benachbarten Reihen, werden untersucht.
  • Ein Schatten-Schreibtest für Bitleitungs- und Wortleitungs-Kurzschlüsse über Ports von Multiport-Speichern hinweg ist in der anhängigen US-Patentanmeldung Nr. 08/667 828 von S. Wood et al. vom 20. Juni 1996, in der anhängigen US-Patentanmeldung 08/719 306 von R. G. Gibbins et al. am 19. September 1996 und in der anhängigen US-Patentanmeldung 08/719 301 von G. F. R. Gibson vom 19. Juni 1996 beschrieben, die durch diese Bezugnahme hier mit aufgenommen werden.
  • II. Erste Ausführungsform
  • II-1. Schaltungskonfiguration
  • 2 zeigt eine Ausführungsform, die mit einem Multiport-RAM verbunden ist. In 2 ist ein RAM 210 ein N-Port- (beispielsweise 5-Port-) Speicher und wird durch eine BIST-Steuerung 212 und eine Funktionsbetriebsart-Schnittstelle 214 getestet. Der RAM 210 schließt RAM-Zellen in einer Vielzahl von Reihen und Spalten ein. Jede RAM-Zelle schließt ein Datenspeicherelement zum Speichern von Binärdaten ein. Die Reihen und Spalten der RAM-Zellen werden durch ein Adressensignal adressiert. Der RAM 210 hat an jedem Port einen Datenausgangsanschluss Q, einen Steueranschluss Cont, einen Dateneingangsanschluss D, einen Schreibfreigabeanschluss W und einen Adressenanschluss Add. Die Funktionsbetriebsart-Schnittstelle 214 ist mit N Gruppen von Wählern 2161 2164 verbunden, wobei jede der Gruppen mit den Anschlüssen eines jeweiligen Ports des RAM 210 verbunden ist. Die N Datenausgangsanschlüsse Q des RAM 210 sind mit einem Multiplexer 218 verbunden, dessen Ausgangsanschluss mit einem Testdaten-Eingangsanschluss Daten-Ein der BIST-Steuerung 212 verbunden ist. Ein Steueranschluss Cont der BIST-Steuerung 212 ist mit einem der zwei Eingangsanschlüsse jedes der N Wähler 216, verbunden. Ein Adressenanschluss Add der BIST-Steuerung 212 ist mit den Eingangsanschlüssen von N Adressenmodifizierern 220 verbunden. Der Ausgangsanschluss jedes Adressenmodifizierers 220 ist mit dem Eingangsanschluss des jeweiligen Wählers 216a verbunden. Ein Schreibfreigabeanschluss WE der BIST-Steuerung 212 ist mit Eingangsanschlüssen von N UND-Verknüpfungsgliedern 222 verbunden. Der Ausgangsanschluss jedes UND-Verknüpfungsgliedes 222 ist mit dem Eingangsanschluss des jeweiligen Wählers 2163 verbunden. Ein Testdaten-Ausgangsanschluss Daten-Aus der BIST-Steuerung 212 ist mit den Eingangsanschlüssen der N Wähler 2162 verbunden. Ein BIST-Ein-Anschluss Biston der BIST-Steuerung 212 ist mit den Wähleranschlüssen der N Gruppen der Wähler 2161 2164 verbunden. Ein Erledigt-Anschluss ERLEDIGT (Done) und ein Portadressenanschluss Port Add der BIST-Steuerung 212 sind mit einem Port-Wähler 224 verbunden, dessen N Ausgangsanschlüsse mit den N Adressenmodifizierern 220 und den N UND-Verknüpfungsgliedern 222 verbunden sind. Der Schreibfreigabeanschluss WE ist eine Einzelbit-Leitung. Der Dateneingangsanschluss D und der Datenausgangsanschluss Q sind n-Bit breit. Mit einem/bezeichnete Leitungen sind mehrere Bits breit.
  • 3 zeigt ein Beispiel der BIST-Steuerung 212. Die BIST-Steuerung 212 schließt einen Steuerblock 310, einen Zeitsteuergenerator 312, einen Adressenzähler 314 und einen Portzähler 316 ein. Die BIST-Steuerung 212 ist eine übliche Steuerung und ihre Einzelheiten hinsichtlich der Struktur und der Betriebsweise finden sich in der Veröffentlichung von B. Nadeau-Dostie, A. Silburt und V. K. Agarwal mit dem Titel "Serie) Interfacing for Embedded Memory Testing", IEEE Design and Test of Computers, April 1990, Seiten 52 bei 58 und 59, wobei diese Veröffentlichung durch diese Bezugnahme hier mit aufgenommen wird.
  • 4 zeigt ein Beispiel des Adressenmodifizierers, der in 2 gezeigt ist. Der Adressenmodifizierer 220 schließt ein Exklusiv-ODER-Verknüpfungsglied 410 und einen Inverter 412 ein. Der Eingangsanschluss des Inverters 412 ist mit dem jeweiligen Ausgangsanschluss des Port-Wählers 224 nach 4 verbunden und empfängt ein jeweiliges Auswahlsignal Sel 0, Sel 1, ..., oder Sel (N – 1). 4 ist eine Realisierung des Adressenmodifizierers 220 mit Y = 2i, 0 ≤ i, worin Y ein Parameter ist, der weiter unten definiert wird.
  • II-2. Betriebsweise der Ausführungsform
  • Die Betriebsweise der in 2 gezeigten Testvorrichtung wird nunmehr unter Bezugnahme auf die 24 beschrieben.
  • In der Testbetriebsart aktiviert die BIST-Steuerung 212 das Signal Biston, um die Testdaten für den RAM im Gegensatz zur Auswahl der Daten von der Funktionsbetriebsart-Schnittstelle 214 auszuwählen. Das Testen des RAM 210 arbeitet wie folgt:
  • Wenn die BIST-Steuerung 212 den Port 0 des RAM testet, aktiviert der Port-Wähler 224 das Signal Sel 0 und deaktiviert alle anderen Port-Auswahlsignale Sel 1, ..., Sel (N – 1). Das aktivierte Signal Sel 0 sensiblisiert das Schreibfreigabesignal WE an den Port 0. Es bringt weiterhin den Adressenmodifizierer 220 für den Port 0 in eine Umgehungsbetriebsart, so dass die Adresse von der BIST-Steuerung 212 direkt an die Adressenanschlüsse des Ports 0 angelegt wird. Andererseits machen die deaktivierten Port-Auswahlsignale Sel 1, ..., Sel (N – 1) das Schreibfreigabesignal WE an die entsprechenden Ports unwirksam. Zusätzlich bringen sie weiterhin den entsprechenden Adressenmodifizierer 220 in eine Transformationsbetriebsart, so dass die Adresse von der BIST-Steuerung 212 in dem Adressenmodifizierer 220 modifiziert und dann an die Adressenanschlüsse der entsprechenden Ports angelegt wird. Weiterhin liefert der Port-Wähler 224 einen Befehl an den Multiplexer 218, so dass dieser lediglich die Test-Antwortdaten von dem Port 0 an die BIST-Steuerung 212 zur Auswertung auswählt.
  • Sobald die vorstehenden Signale gesetzt sind, führt die BIST-Steuerung 212 einen Einzelport-Testalgorithmus aus. Das grundlegende Prinzip des Algorithmus besteht darin, einen üblichen Einzelport-BIST, in diesem Fall MARCH, an einem Port des Speichers auszuführen, beispielsweise dem Port 0, während gleichzeitig ein Zwischen-Port-Test an allen anderen Ports ausgeführt wird. Der Zwischen-Port-Test führt Pseudo-Leseoperationen an Adressen aus, die von denen auf dem Port 0 abweichen. Im Gegensatz zu einer tatsächlichen Leseoperation, die die spezifizierten Speicherzellen adressiert und ihren Inhalt mit irgendwelchen Bezugsdaten vergleicht, führt ein Pseudo-Nur-Lesen einen Zugriff auf die spezifizierten Speicherzellen ohne Vergleichen ihrer Inhalte aus. Diese Pseudo-Lese-Operationen ermöglichen die Feststellung von Zwischen-Port-Bitleitungs-Kurzschlüssen in der gleichen und benachbarten Spalten, sowie von WSA- und WSD-Wortleitungs-Kurzschlüssen in den gleichen und benachbarten Reihen durch den Einzelport-BIST an den Port 0. Durch Wiederholen des Tests für jeden anderen Port nacheinander kann die Betriebsweise aller Ports und ihrer Wechselwirkungen dann überprüft werden.
  • Ein Pseudo-Code für den Multiport-BIST-Algorithmus für einen Speicher mit M Ports wird nachfolgend angegeben.
  • Schreibweisen
    • – d ist stellt irgendwelche gültigen Daten an den Speicher dar. Beispielsweise ist, wenn ein Schachbrettmuster erwünscht ist, d = 0101 ... 0101.
    • – (Rd)@add und (Rd)@add stellen Lese-d- bzw. Lese-d-Operationen an der Adresse add des Leseports dar.
    • – (Rx)@z(add) stellt eine Pseudo-Leseoperation an der Adresse z(add) des Leseports dar.
    • (Rd)@add(Rx)@z(add) stellt eine Lese-d-Operation an der Adresse add gefolgt von einer Pseudo-Leseoperation (Rx) an der Adresse z(add) des Leseports dar.
    • – (W-Wd)@add und (W-Wd)@add stellen einen Nicht-Schreiben-Zyklus (bezeichnet als W-) gefolgt von Schreib-d- bzw. d-Operationen in dem Schreibport der Adresse add dar. Der Nicht-Schreiben-Zyklus (W-) ist grundlegend eine Nulloperation an dem Schreibport, wobei die Schreib-Freigabe abgeschaltet ist.
    • – (RdWd)@add und (RdWd)@add stellen ein Lesen von d gefolgt von einem Schreiben von d, beides an der Adresse add, bzw. ein Lesen von d gefolgt von einem Schreiben von d, beides an add, dar.
    • – i: (RdWd)@add und i: (RdWd)@add stellen die Durchführung von (RdWd)@add bzw. (RdWd)@add für den Port i dar.
    • – Schließlich sind zwei Ereignisse, die in einem Paar von eckigen Klammern [..., ...] eingeschlossen sind, zwei gleichzeitige Ereignisse. Beispielsweise zeigt [i: (RdWd)@add, j:(RxRx)@z(add)] an, das (RdWd) an der Adresse add für den Port i ausgeführt wird, und dass gleichzeitig (RxRx) an der Adresse z(add) für den Port j ausgeführt wird.
  • Mit den vorstehend definierten Schreibweisen kann der Algorithmus wie folgt zusammengefasst werden:
  • Algorithmus P
  • M0: initialisiere Speicher mit Daten d;
    M1: für Port i = 0 bis N – 1 do
    M2: für Adresse add = 0 bis w – 1 do
    [i: (RdWd)@add, j: (RxRx)@z(add)], j ≠ i;
    M3: für Adresse add = 0 bis w – 1 do
    [i: (RdWd)add, j: (RxRx)@z(add)], j ≠ i;
    M4: für Adresse add = w – 1 herunter bis 0 do
    [i: (RdWd)@add, j: (RxRx)@z(add)], j ≠ i;
    M5: für Adresse add = w – 1 herunter bis 0 do
    [i: (RdWd)@add, j: (RxRx)@z(add)], j ≠ i;
    M6: für Adresse add = w – 1 herunter bis 0 do
    [i: (RdWd)@add, j: (RxRx)@z(add)], j ≠ i;
  • In dem vorstehenden Algorithmus ist z(add) = {col, [row + (-1)Reihe/YY]}, wenn add = {col, row} ist, worin col und row die Spalten- bzw. Reihenadressen darstellen; Y eine positive ganze Zahl ist und row/Y das Ergebnis einer Ganzzahl-Division ist. Es sei bemerkt, dass ohne die Operationen an Ports j der Algorithmus der gleiche wie der MARCH C-Algorithmus ist.
  • Aufgrund der Adressentransformation auf die anderen Ports als den Port i deckt dieser Einzelport-Testalgorithmus nunmehr nicht nur alle die üblichen Einzelport-Fehler im Port i sondern auch alle die Zwischen-Port-Kurzschlüsse zwischen dem Port i und irgendeinem anderen Port ab, wobei j ≠ i ist.
  • 5 zeigt die Ausführung des vorstehenden Algorithmus (ein Beispiel des Schrittes M2) an mehreren Speicherzellen in der gleichen Spalte eines Dual-Port-Speichers. Es wird angenommen, dass d = 0 ist, und dass der Port A mit dem MARCH-Test getestet wird. 5(b)(e) zeigen die Ausführung des Schrittes M2 des Algorithmus jeweils an den Reihenadressen 0, 1, 2 und Y, und sie werden zum Analysieren der Abdeckung von Bitleitungs- und Wortleitungs-Kurzschlüssen verwendet. Damit die Analyse der vorstehenden vier Reihen auf alle anderen Adressen anwendbar ist, ist die Reihe Y + 2 ebenfalls in 5(a)(e) eingefügt. Die erste Spalte in 5(b)(e) zeigt die Inhalte der Speicherzellen nach der R 0-Operation am Port A, während die zweite Spalte die Inhalte der Zellen nach der W 1-Operation zeigt. Es sei nunmehr angenommen, dass Y > 1 ist. Später in diesem Abschnitt werden wir den Fall für Y = 1 diskutieren.
  • (i) Bitleitungs-Kurzschlüsse
  • Es sei zunächst Bitleitungs-Kurzschluss innerhalb der gleichen Spalte betrachtet. Es ist klar zu erkennen, dass dieser Kurzschluss bewirkt, dass Schreibdaten vom Port A auch fehlerhaft in die Zelle geschrieben werden, die von dem Port B adressiert wird. Beispielsweise schreibt in 5(b) die (ROW1) Operation an der Reihe 0 von Port A auch eine 1 in die Reihe Y, die festgestellt wird, wenn ein (ROW1) nachfolgend an der Reihe Y durchgeführt wird. Zusätzlich ruft ein derartiger Kurzschluss auf das Auftreten eines Konfliktes X am Port A hervor, wenn der Port A ein (R0) an der Reihe Y ausführt, und Port B ein (Rx) an der Reihe 0 ausführt, weil eine 0 von der Reihe Y und eine 1 von der Reihe 0 beide gleichzeitig auf der Bitleitung für den Port A aufgrund des Kurzschlusses auftreten.
  • Ein Bitleitungs-Kurzschluss über benachbarte Spalten kann ebenfalls in einer ähnlichen Weise festgestellt werden. Wenn beispielsweise ein Bitleitungs-Kurzschluss zwischen den Spalten 0 und 1 vorhanden ist, schreibt die (ROW1) Operation an der Reihe 0 und der Spalte 0 vom Port A außerdem eine 1 in die Zelle in Reihe Y und Spalte 1, die dann festgestellt wird, wenn der Port A nachfolgend einen Zugriff auf die Spalte 1 ausführt.
  • (ii) Wortleitungs-Kurzschlüsse in der gleichen Reihe
  • Es seien Wortleitungs-Kurzschlüsse in der gleichen Reihe betrachtet. Ein WSD-Wortleitungskurzschluss in der Reihe 0, das heißt ein Kurzschluss, der die Wortleitung A aktiviert, ruft das Lesen eines unbekannten Wertes X an dem Port A hervor und verhindert weiterhin, dass der Port A eine 1 in diese Reihe schreibt. Andererseits ruft ein WSA-Kurzschluss in der Reihe 0, das heißt ein Kurzschluss, der beide Wortleitungen A und B aktiviert, das Auftreten eines Konfliktes X an den Port A hervor, wenn der Port B eine (Rx) auf die Reihe 0 leitet und Port A eine (R0) an der Reihe Y ausführt (5(e)). Weiterhin wird dieser Kurzschluss robuster in den Schritten M4 und M5 des Algorithmus festgestellt, während derer ein falscher Wert in die Reihe 0 geschrieben wird, wenn der Port A eine (ROW1) oder (R1WO) an der Reihe Y ausführt und Port B einen Zugriff auf die Reihe 0 ausführt. Dies ist in 6(b) gezeigt, die die Ausführung des Schrittes M4 zeigt. In ähnlicher Weise werden andere Wortleitungs-Kurzschlüsse innerhalb der gleichen Reihe festgestellt.
  • (iii) Wortleitungs-Kurzschlüsse längs benachbarter Reihen
  • In ähnlicher Weise wie WSD-Wortleitungskurzschlüsse innerhalb der gleichen Reihe sind WSD-Kurzschlüsse über benachbarte Reihen ebenfalls leicht feststellbar, weil sie immer dazu führen, dass der dem MARCH-Test unterworfene Port einen unbekannten Wert X liest und er weiterhin an einem Schreiben an die adressierte Reihe gehindert ist.
  • Es sei nunmehr ein WSA-Wortleitungskurzschluss zwischen der Wortleitung B der Reihe 0 und der Wortleitung A der Reihe 1 betrachtet. Ein derartiger Kurzschluss führt zu dem Auftreten eines Konfliktes X an dem Port A, wenn der Port B einen Zugriff auf die Reihe 0 ausführt und der Port A einen Lesevorgang an der Reihe Y ausführt (5(e)). Weiterhin wird eine fehlerhafte 1 in die Reihe 1 im Schritt M4 geschrieben, wenn der Port B die Reihe 0 adressiert und der Port A eine W1-Operation an der Reihe Y ausführt, was in 6(b) gezeigt ist. In ähnlicher Weise wird ein WSA-Kurzschluss zwischen der Reihe 1 und der Reihe 2 festgestellt.
  • Wenn ein WSA-Kurzschluss zwischen der Reihe Y und der Reihe Y + 1 vorliegt, wenn der Port A die Reihe 0 adressiert und der Port B die Reihe Y adressiert, so wird die Reihe Y + 1 aufgrund des Kurzschlusses ebenfalls vom Port A ausgewählt. Dies führt zu einem Konflikt X aufgrund einer 0 von der Reihe 0 und einer 1 von der Reihe Y + 1 im Schritt M4, was in 6(e) gezeigt ist. Weiterhin wird im Schritt M2 eine fehlerhafte 1 in die Reihe Y + 1 geschrieben, wenn der Port A eine W1-Operation an der Reihe 0 ausführt und der Port B die Reihe Y adressiert, wie dies in 5(b) gezeigt ist.
  • Aus der vorstehenden Analyse kann geschlossen werden, dass der vorgeschlagene Algorithmus alle Wortleitungskurzschlüsse in den gleichen und benachbarten Reihen sowie alle Bitleitungs-Kurzschlüsse in den gleichen und benachbarten Reihen feststellt.
  • Im Allgemeinen ist es wünschenswert, Y so klein wie möglich zu halten, weil der Reihenadressenraum des Speichers durch 2Y teilbar sein muss. Daher ist Y = 2 die beste Wahl, weil in der vorstehenden Analyse angenommen wurde, dass Y > 1 ist. Für den Fall, in dem Y = 1 ist, deckt der Algorithmus sowohl Zwischen-Port-Bitleitungskurzschlüsse in der gleichen Spalte und über Spalten hinweg sowie Zwischen-Port-Wortleitungskurzschlüsse in der gleichen Reihe ab. Der Algorithmus mit Y = 1 deckt jedoch lediglich 50% der Zwischen-Port-Wortleitungskurzschlüsse über benachbarte Reihen hinweg ab. Der Grund hierfür ist wie folgt. Für Y = 1 wird, wenn der Port A einen Zugriff auf die Reihe j ausführt, und der Port B die Reihe j + 1 adressiert oder umgekehrt, worin j eine gerade ganze Zahl ist, bei Vorliegen eines Wortleitungs-Kurzschusses zwischen den Reihen j und j + 1 dieser niemals festgestellt, weil die zwei kurzgeschlossenen Wortleitungen immer mit dem gleichen Wert zugeordnet eingestellt sind. Dies ist aus 5(a) zu erkennen, die einen Kurzschluss zwischen der Wortleitung B der Reihe 0 und der Reihe 1 der Wortleitung A zeigt. Andererseits wird ein Kurzschluss zwischen den Reihen j + 1 und j + 2 in der gleichen Weise wie für den Fall Y > 1 abgedeckt. Daher wird, wenn die Zwischen-Port-Wortleitungskurzschlüsse über benachbarte Reihen keine Problematik darstellen, beispielsweise aufgrund der sorgfältigen Auflösung nach 1B, Y = 1 die beste Wahl darstellen wird.
  • Sobald der Test abgeschlossen ist, schaltet die BIST-Steuerung 212 den Port-Wähler 224 weiter, um einen anderen Port auszuwählen, indem das Signal Sel i aktiviert wird, worin 0 < i < N ist, während alle anderen deaktiviert werden. Der Prozess wiederholt sich, bis alle Ports getestet wurden. Die Testvorrichtung hat die folgenden zwei Schlüsselmerkmale:
    • 1. Wenn sie den Port i auf Einzelport-Fehler prüft, legt sie einen Satz von modifizierten Adressen an alle die anderen Ports an, um alle diese anderen Ports in die Lese-Betriebsart zu bringen.
    • 2. Sie wertet lediglich die Testdaten aus, die von dem im Einzeltest befindlichen Port, das heißt Port i in diesem Fall zurückkommen (man kann jedoch auch die Testdaten von anderen Ports gleichzeitig auswerten, weil die Bezugsdaten für diese Ports bekannt sind).
  • Es sei darauf hingewiesen, dass einige der Funktionsmodule, wie z. B. der Adressenmodifizierer 220, die UND-Verknüpfungsglieder 222, der Multiplexer 218 und der Port-Wähler 224 außerhalb oder innerhalb der BIST-Steuerung 212 angeordnet sein können. Für eine einfache Weglenkung wird jedoch empfohlen, den Adressenmodifizierer 220 und die UND-Verknüpfungsglieder 222 nahe an dem RAM anzuordnen und den Multiplexer 218 und den Port-Wähler 224 nahe an der BIST-Steuerung 212 oder im Inneren dieser Steuerung anzuordnen.
  • III. Zweite Ausführungsform
  • 7 zeigt eine weitere Ausführungsform. Um den Hardware-Zusatzaufwand zu einem Minimum zu machen, kann eine einzige BIST-Steuerung in vielen Fällen verwendet werden, um eine Anzahl von Speichern zu testen. Wenn diese Speicher jedoch weit auf einer ASIC verteilt sind, kann eine gemeinsam genutzte parallele BIST-Steuerung aufgrund der Kosten einer globalen Lenkung des Datenbus aufwändig sein. Eine seriell ausgebildete Speicher-BIST-Steuerung (SMARCH) macht diesen Zusatzaufwand dadurch zu einem Minimum, dass lediglich ein 1-Bit-Testeingang an alle Speicher geliefert wird und eine 1-Bit-Testantwort von jedem Speicher empfangen wird. Die Erfindung kann ebenfalls zum Testen von Multiport-RAM's in der seriellen Weise verwendet werden. Eine serielle Realisierung der Erfindung ist in 7 gezeigt.
  • Die serielle Realisierung der Erfindung ist ähnlich zu der in 2 gezeigten parallelen Realisierung. Die Unterschiede schließen Folgendes ein.
    • 1. Die serielle Version hat lediglich 1-Bit-Testdaten, die zum niedrigst bewerteten Bit (LSB) des Dateneinganges (D-Anschluss) jedes Ports laufen. Der Rest des Datenbus kommt von Q des entsprechenden Ports. Dies ist das gleiche, wie es in SMARCH beschrieben ist.
    • 2. Die serielle Version hat lediglich 1-Bit-Testdaten, die von dem höchst bewerteten Bit (MSB) des Datenausganges (Q-Anschluss) jedes Ports über einen Multiplexer 718 zurückkommen. Der Rest des Q-Bus geht an den Dateneingang des gleichen Ports. Diese Verbindung ist ebenfalls die gleiche, wie sie in SMARCH beschrieben wird.
  • Der im Abschnitt 3 angegebene Algorithmus kann sehr einfach so erweitert werden, dass er mit dem seriellen SMARCH-Test zusammenwirkt. Der serielle Multiport-Algorithmus (der als Algorithmus S bezeichnet wird) kann aus dem Algorithmus P erzeugt werden, in dem alle (RdWd) und (RdWd) Operationen an dem Port i durch (RdWd)n(RdWd) bzw. (RdWd)n(RdWd) ersetzt werden und dass alle (RxRx) an dem Port j durch (RxRx)n(RxRx) ersetzt werden. Im Algorithmus S ist d entweder eine binäre 0 oder eine binäre 1. Hier beinhaltet ein (RdWd)n das Lesen von d aus dem MSB des Speichers und das nachfolgende Schreiben von d an das LSB des Speichers n Mal, wobei n die Wortleitungsbreite des Speichers ist, während ein (RdWd) die nur einmalige Ausführung der Operationen bedingt.
  • Wenn die Operationen an anderen Ports als dem Port j ausgeschlossen werden, so ist wiederum der serielle Multiport-Algorithmus S der gleiche wie der SMARCH-Algorithmus. Die Abdeckung des Algorithmus S von Zwischenport-Kurzschlüssen ist die gleiche wie die des Algorithmus P. Weil weiterhin die serielle Ausgestaltung lediglich den Datenbus betrifft, ist die zur Realisierung des seriellen Multiport-Algorithmus zusätzlich zu einer üblichen SMARCH-Steuerung die gleiche, wie die für den Algorithmus P.
  • Im Vergleich mit SMARCH ergibt sich der Unterschied der Ausführungsformen der 2 und 7 aufgrund der Einfügung der Adressenmodifizierer 220 und 720 und der UND-Verknüpfungsglieder 222 und 722. Diese Unterschiedlichkeit ergibt für die Ausführungsformen die vollständige Abdeckung nicht nur der üblichen Einzelport-Fehler sondern auch der Zwischen-Port-Kurzschlüsse, während die in SMARCH beschriebene Erfindung lediglich die üblichen Einzelport-Fehler abdeckt.
  • IV. Weitere Realisierungen
  • 8 zeigt eine mögliche Realisierung für einen Dualport-Speicher. Dieser Abschnitt erläutert eine mögliche Realisierung für den Fall, bei dem Y = 2 ist. Die Realisierung ist aufgrund der Ähnlichkeit der an alle die Ports gelieferten Adressen unkompliziert. 8 zeigt eine mögliche Realisierung für einen Dualport-Speicher, bei dem Acol[ca – 1 : 9] der Spaltenadressenbus mit der Breite Ca ist, Arow[ra – 1 : 0] der Reihenadressenbus mit der Breite ra ist und D[n – 1 : 0] und Q[n – 1 : 0] n-Bit-Breite Eingangs- bzw. Ausgangs-Datenbusse sind. Die Signale SeIA und SeIB sind Portauswahlsignale für die Ports A bzw. B, und WE ist die Schreibfreigabe. Die in 8 gezeigte MARCH BIST-Steuerung ist eine übliche parallele Einzelport-MARCH BIST-Steuerung.
  • Für den in Zwischen-Port-Test befindlichen Port wird dessen (LSB + 1)-Bit der Reihenadresse Arow[1] invertiert, was äquivalent zu der Ausführung von [row + (-1)⌊row/2⌋2] ist. Zusätzlich wird seine Schreibfreigabe abgeschaltet. Alle anderen Signale sind für die beiden Ports die gleichen.
  • Diese Realisierung erfordert die Hinzufügung von lediglich zwei Exklusiv-ODER-Verknüpfungsgliedern, von zwei UND-Verknüpfungsgliedern und zwei Invertern zu einer üblichen MARCH BIST-Steuerung, ohne dass irgendeine Modifikation der Steuerung selbst erforderlich ist (im Allgemeinen schließen die Kosten lediglich ein Exklusiv-ODER-Verknüpfungsglied, ein UND-Verknüpfungsglied und einen Inverter pro Port des Speichers ein). Zusätzlich ist der Flächen-Zusatzbedarf unabhängig von der Größe des Speichers und beeinflusst den Datenpfad nicht. Weiterhin ergibt sich keine Auswirkung auf die globale Weglenkung, wenn die zusätzlichen Verknüpfungsglieder örtlich an dem Speicher angeordnet sind.
  • Es sei darauf hingewiesen, dass 8 lediglich die Verbindung oder die Datenflüsse in der Testbetriebsart zeigt. Die Wähler, die als 2161 2164 (2) gezeigt sind, sind hier aus Vereinfachungsgründen fortgelassen.
  • Im Allgemeinen ist die Realisierung für den Fall, bei dem Y = 2k ist (mit k ≥ 0) ähnlich zu der in 8 gezeigten Realisierung, in dem Arow[k] für die im Zwischen-Port-Test befindlichen Ports invertiert wird, im Gegensatz zu Arow[1], wie dies in 8 gezeigt ist.
  • Eine weitere mögliche Ausführungsform der Erfindung unter Anwendung auf einen Zwei-Port-Speicher ist in 9 gezeigt.
  • Feststellung von Zwischen-Port-Kurzschlüssen über zwei Nur-Lese-Ports
  • In dem Algorithmus wurde angenommen, dass alle Ports Lese-/Schreibports sind. Die vorgeschlagenen Algorithmen können jedoch auch Zwischen-Port-Kurzschlüsse zwischen zwei Nur-Lese-Ports testen. Um einen Test auf derartige Kurzschlüsse durchzuführen, wird einem der Nur-Lese-Ports die gleiche Adresse zugeführt, wie dem Port, an dem der MARCH- oder SMARCH-Test ausgeführt wird (der ein Lese-/Schreibport oder ein Nur-Schreib-Port sein kann), während dem anderen Nur-Lese-Port die modifizierte Adresse für den Zwischen-Port-Test zugeführt wird. Dies erfasst wiederum alle die Bitleitungs- und Wortleitungs-Kurzschlüsse in den gleichen und benachbarten Reihen und Spalten. Die Fehlerabdeckung kann jedoch nicht so robust sein, wie für Lese-/Schreib-Ports. Der Grund hierfür ist Folgender: für Lese-/Schreib-Ports wird ein Kurzschluss sowohl während der Lese- als auch der Schreib-Operationen an dem Port festgestellt, der dem MARCH-Test unterworfen wird. Im Allgemeinen ist eine Schreiboperation ausreichend leistungsfähig, um irgendeine Leseoperation von irgendeinem anderen Port zu überschreiben, wenn ein Kurzschluss existiert. Für Nur-Lese-Ports kann der Kurzschluss nur durch einen Konflikt X während einer Leseoperation festgestellt werden, was von der Leseschaltung als falscher Wert interpretiert werden kann oder nicht.
  • V. BIST für Dualport-RAM's mit Nur-Schreib- und Nur-Lese-Ports
  • Ein weiterer Testalgorithmus steckt die Zwischen-Port-Brückenfehler in einem Zwei-Port-Speicher mit einem Nur-Lese- und einem Nur-Schreib-Port zusätzlich zu üblichen Einzelport-Fehlern ab.
  • (i) Fehlermodelle
  • Der Test deckt die üblichen Einzelport-Fehler und die Zwischen-Port-Fehler ab. Im Folgenden wird zunächst der Algorithmus für das Beispiel eines Dualport-RAM mit Nur-Lese- und Nur-Schreib-Port angegeben.
  • (ii) Algorithmus
  • Dieser Abschnitt bietet einen modifizierten MARCH-Algorithmus, der die Zwischen-Port-Kurzschlüsse zusätzlich zu den Fehlern abdeckt, die von einem üblichen MARCH-Test abgedeckt sind. Aus Gründen der Einfachheit und ohne Verlust an Allgemeinheit nimmt dieser Bericht den Test eines Zwei-Port-Speichers mit einem Nur-Lese-Port und einem Nur-Schreib-Port an. Es gibt die gleichen Schreibweisen wie die vorstehend erwähnten. Hier zeigt [(RdRx)@add, (W-Wd)@addadd] an, dass eine (RdRx)-Operation an dem Leseport und eine (W-Wd)-Operation an dem Schreibport gleichzeitig ausgeführt werden, alle an der gleichen Adresse add.
  • Mit den vorstehend definierten Schreibweisen kann der vorgeschlagene Algorithmus wie folgt zusammengefasst werden:
    M0: initialisiere Speicher mit allen Daten d;
    M1: für Adresse add = 0 bis w – 1 do
    [(Rd)@add (Rx)@z(add)], (W – Wd)@add];
    M2: für Adresse add = 0 bis w – 1 do
    [(Rd)@add (Rx)@z(add), (W – Wd)@add];
    M3: für Adresse add = w – 1 herunter bis 0 do
    [(Rd)@add (Rx)@ (add), (W – Wd)@add];
    M4: für Adresse add = w – 1 herunter bis 0 do
    [(Rd)@add (Rx)@z(add), (W – Wd)@add];
    M5: für Adresse add = w – 1 herunter bis 0 do
    [(Rd)@add (Rx)@z(add), (W – Wd)@add];
  • Es sei bemerkt, dass der vorstehende Algorithmus zu dem MARCH C-Algorithmus wird, der in A. J. van de Goor, Testing Semiconductor Memories: Theory and Practice, John Wiley & Sons Ltd., England, 1991, beschrieben ist, wenn die Adresse z(add) durch add ersetzt wird und jede Pseudo-Leseoperation Rx durch eine Null-Operation an dem Nur-Lese-Port ersetzt wird.
  • (iii) BIST-Realisierung
  • Die Realisierung des vorgeschlagenen Algorithmus ist unkompliziert. 10 zeigt eine mögliche Realisierung für einen Dualport-Speicher mit einem Nur-Lese- und einem Nur-Schreib-Port. In 10 ist ein Adressenmodifizierer eines Exklusiv- oder Verknüpfungsgliedes 912 mit dem Nur-Lese-Port des Dualport-Speichers verbunden.
  • In 10 ist WE Schreibfreigabe (aktiv hoch) und RE ist Lesefreigabe (aktiv hoch); D[n – 1 : 0] ist der Eingangsdatenbus an den Schreibport, und Q[n – 1 : 0] ist der Ausgangsdatenbus von dem Nur-Lese-Port, wobei n die Wortbreite ist; Arow[ra – 1 : 0] bzw. Acol[ca – 1 : 0] die Reihen- und Spaltenadressenbusse darstellen, wobei ra und ca die entsprechende Busbreite sind; und die Einzelport-MARCH-Steuerung einen üblichen MARCH C-artigen Test ausführt. Während der gesamten Testperiode wird das Lesefreigabe- (RE-) Signal aktiviert. Dies stellt sicher, dass eine Pseudo-Leseoperation jedesmal dann ausgeführt wird, wenn eine Schreiboperation an dem Schreibport auftritt.
  • Während der Ausführung des Algorithmus wird das Exklusiv-ODER-Verknüpfungsglied 912 zu einem Puffer, wenn WE = 0 ist (W-Zyklus) und wird zu einem Inverter, wenn WE = 1 ist (Wd oder Wd-Zyklus). Wenn WE = 0 ist, wird eine reguläre Leseoperation an der Adresse add ausgeführt, die von der BIST-Steuerung geliefert wird. Wenn WE = 1 ist, so modifiziert dies die Adresse an dem Nur-Lese-Port auf z(add) = {col, [row + (–1)⌊row/2⌋2]}. Somit schreibt Wd (oder Wd) in den Schreibport an der Adresse add, und gleichzeitig adressiert eine Pseudo-Lese-Rx-Operation die Speicherzellen an der Adresse z(add). Wenn ein Zwischen-Port-Kurzschluss vorliegt, so schreiben die gleichzeitigen Schreib- und Pseudo-Leseoperationen in fehlerhafter Weise in die Speicherzellen an der Adresse z(add).
  • (iv) Erweiterung auf Multiport-Speicher
  • Die vorstehende Technik ist auch auf Speicher mit mehrfachen Ports in irgendeiner Kombination von Lese-/Schreib-, Nur-Lese- und Nur-Schreibports anwendbar. In diesem Fall deckt die Technik nicht nur übliche Einzelport-Fehler und Zwischen-Port-Kurzschlüsse ab, sondern auch Mehrport-Lesestörungs-Fehler, was ebenfalls speziell für Multiport-Speicher der Fall sein kann. Ein Lese-Störfehler ist ein Fehler, bei dem mehrere Ports die gleiche Speicherzelle gleichzeitig auslesen und der Inhalt der Zelle geändert wird oder die ausgelesenen Daten nicht korrekt sind. Eine mögliche Realisierung ist in 11 gezeigt. Die Schaltungsstruktur nach 11 ist ähnlich der nach 2. In 11 ist ein ODER-Verknüpfungsglied 921 mit einem invertierenden Eingang und einem nicht invertierenden Eingang hinzugefügt. Der invertierende Eingang des ODER-Verknüpfungsgliedes 921 ist mit dem Schreibfreigabeanschluss WE der BIST-Steuerung und einem Eingangsanschluss eines UND-Verknüpfungsgliedes 922 verbunden. Der nicht invertierende Eingangsanschluss des ODER-Verknüpfungsgliedes 921 ist mit dem Sel0-Ausgang eines Port-Wählers 924 und dem anderen Eingangsanschluss des UND-Verknüpfungsgliedes 922 verbunden. Auch dieser Algorithmus kann als paralleler BIST oder serieller BIST realisiert werden.

Claims (9)

  1. Verfahren zum Testen eines Multiport-RAM (210) mit RAM-Zellen in m Reihen mal n Spalten, wobei jede RAM-Zelle Speichereinrichtungen zum Speichern von Binärdaten einschließt, wobei die Reihen und Spalten der RAM-Zellen durch ein Adressensignal adressiert werden, das ein Reihenadressensignal mit einer Anzahl von Bits umfasst, dadurch gekennzeichnet, dass ein ausgewählter Port auf Einzelport-Fehler getestet wird, wobei das Schreiben (WE) an den oder die anderen Ports abgeschaltet wird und der oder die anderen Ports auf Zwischenport-Fehler unter Verwendung von Port-Adressen getestet werden, die durch Modifizieren eines bestimmten Bits des Reihenadressensignals abgeleitet werden, das dem ausgewählten Port zugeführt wird.
  2. Verfahren nach Anspruch 1, bei dem der Schritt des Modifizierens eines bestimmten Bits den Schritt des Invertierens des zweitniedrigst bewerteten Bits des Reihenadressensignals umfasst.
  3. Verfahren nach Anspruch 1, bei dem der Schritt des Modifizierens eines bestimmten Bits des Reihenadressensignals in Abhängigkeit von einem Schreibfreigabesignal (WE) freigegeben wird, wenn ein Port an den Mehrport-RAM schreibt.
  4. Vorrichtung zum Testen eines Mehrport-RAM's (210), wobei der RAM RAM-Zellen mit m Reihen mal n Spalten umfasst, wobei jede RAM-Zelle Speichereinrichtungen zum Speichern binärer Daten einschließt, wobei die Reihen und Spalten der RAM-Zellen durch ein Adressensignal adressiert werden, das ein Reihenadressensignal mit einer Anzahl von Bits umfasst, wobei die Vorrichtung gekennzeichnet ist durch: Portauswahleinrichtungen, Einzelport-Fehlerdetektionseinrichtungen, die zum Testen des ausgewählten Ports auf Einzelport-Fehler ausgebildet sind, Abschalteinrichtungen zum Abschalten eines Schreibens an den oder die anderen Ports, während der Einzelport-Test ausgeführt wird, eine Adressenmodifizierereinrichtung (220, 720) zum Modifizieren eines bestimmten Bits des an den ausgewählten Port gelieferten Reihenadressensignals, und Einrichtungen zum Testen des oder der anderen Ports auf Zwischenport-Fehler unter Verwendung von Portadressen, die von den Adressenmodifikationseinrichtungen abgeleitet werden.
  5. Vorrichtung nach Anspruch 4, bei der die Adressenmodifiziereinrichtung eine Modifiziereinrichtung (410, 912, 921) zum Invertieren des zweitniedrigst bewerteten Bits des Reihenadressensignals umfasst.
  6. Vorrichtung nach Anspruch 5, bei dem die Modifiziereinrichtung (912, 921) zur Durchführung der Modifikation eines bestimmten Bits des Reihenadressensignals in Abhängigkeit von einem Schreibfreigabesignal (WE) aktiviert wird, wenn ein Port an den Multiport-RAM schreibt.
  7. Vorrichtung nach einem der Ansprüche 4–6, bei dem der RAM eine Vielzahl von Ports aufweist, die Lese- und/oder Schreibports sind.
  8. Vorrichtung nach einem der Ansprüche 4–6, bei dem der RAM ein Dualport-RAM ist.
  9. Vorrichtung nach einem der Ansprüche 4–6, bei dem der Dualport-RAM einen Nur-Schreib-Port und einen Nur-Lese-Port aufweist.
DE1998625234 1997-05-29 1998-02-25 Verfahren und vorrichtung zur selbstprüfung von multi-port-rams Expired - Fee Related DE69825234T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US4794497P 1997-05-29 1997-05-29
US47944P 1997-05-29
PCT/CA1998/000150 WO1998054729A1 (en) 1997-05-29 1998-02-25 Method and apparatus for self-testing multi-port rams

Publications (2)

Publication Number Publication Date
DE69825234D1 DE69825234D1 (de) 2004-09-02
DE69825234T2 true DE69825234T2 (de) 2004-11-18

Family

ID=21951880

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1998625234 Expired - Fee Related DE69825234T2 (de) 1997-05-29 1998-02-25 Verfahren und vorrichtung zur selbstprüfung von multi-port-rams

Country Status (4)

Country Link
US (1) US6070256A (de)
EP (1) EP0916140B1 (de)
DE (1) DE69825234T2 (de)
WO (1) WO1998054729A1 (de)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151692A (en) * 1998-04-08 2000-11-21 Agilent Technologies, Inc. Integrated circuit having memory built-in self test (BIST) for different memory sizes and method of operation
US6360344B1 (en) * 1998-12-31 2002-03-19 Synopsys, Inc. Built in self test algorithm that efficiently detects address related faults of a multiport memory without detailed placement and routing information
US6550032B1 (en) * 1999-07-28 2003-04-15 Lsi Logic Corporation Detecting interport faults in multiport static memories
US6510530B1 (en) * 1999-09-23 2003-01-21 Nortel Networks Limited At-speed built-in self testing of multi-port compact sRAMs
JP2001159661A (ja) * 1999-12-02 2001-06-12 Oki Electric Ind Co Ltd 半導体集積回路
KR100359848B1 (ko) * 1999-12-29 2002-11-07 주식회사 하이닉스반도체 다중포트 램에서의 내장형 자기진단 방법
US6317379B1 (en) * 2000-02-18 2001-11-13 Hewlett-Packard Company Determine output of a read/write port
US6557127B1 (en) * 2000-02-28 2003-04-29 Cadence Design Systems, Inc. Method and apparatus for testing multi-port memories
US6779141B1 (en) * 2000-06-08 2004-08-17 Sun Microsystems, Inc. System and method for implementing memory testing in a SRAM unit
US7168005B2 (en) * 2000-09-14 2007-01-23 Cadence Design Systems, Inc. Programable multi-port memory BIST with compact microcode
US6333872B1 (en) * 2000-11-06 2001-12-25 International Business Machines Corporation Self-test method for testing read stability in a dual-port SRAM cell
US6829728B2 (en) * 2000-11-13 2004-12-07 Wu-Tung Cheng Full-speed BIST controller for testing embedded synchronous memories
US6865701B1 (en) * 2001-03-29 2005-03-08 Apple Computer, Inc. Method and apparatus for improved memory core testing
US7162672B2 (en) * 2001-09-14 2007-01-09 Rambus Inc Multilevel signal interface testing with binary test apparatus by emulation of multilevel signals
US20030070126A1 (en) * 2001-09-14 2003-04-10 Werner Carl W. Built-in self-testing of multilevel signal interfaces
US8286046B2 (en) 2001-09-28 2012-10-09 Rambus Inc. Integrated circuit testing module including signal shaping interface
US7308621B2 (en) 2002-04-30 2007-12-11 International Business Machines Corporation Testing of ECC memories
US7149941B2 (en) * 2002-04-30 2006-12-12 International Business Machines Corporation Optimized ECC/redundancy fault recovery
US20050066226A1 (en) * 2003-09-23 2005-03-24 Adams R. Dean Redundant memory self-test
US7203873B1 (en) 2004-06-04 2007-04-10 Magma Design Automation, Inc. Asynchronous control of memory self test
US20060090106A1 (en) * 2004-10-27 2006-04-27 Evans Donald A Generalized BIST for multiport memories
US7380190B2 (en) * 2004-12-15 2008-05-27 Impinj, Inc. RFID tag with bist circuits
US7599242B2 (en) * 2005-09-28 2009-10-06 Hynix Semiconductor Inc. Test circuit for multi-port memory device
US7443760B2 (en) * 2005-09-29 2008-10-28 Hynix Semiconductor Inc. Multi-port memory device with serial input/output interface
US7506225B2 (en) * 2005-10-14 2009-03-17 International Business Machines Corporation Scanned memory testing of multi-port memory arrays
US7356746B2 (en) * 2005-11-30 2008-04-08 Infineon Technologies Ag Embedded testing circuit for testing a dual port memory
US20070208968A1 (en) * 2006-03-01 2007-09-06 Anand Krishnamurthy At-speed multi-port memory array test method and apparatus
US7533222B2 (en) * 2006-06-29 2009-05-12 Mosys, Inc. Dual-port SRAM memory using single-port memory cell
US20080016421A1 (en) * 2006-07-13 2008-01-17 International Business Machines Corporation Method and apparatus for providing programmable control of built-in self test
KR100910869B1 (ko) * 2007-06-08 2009-08-06 주식회사 하이닉스반도체 테스트시 필요한 채널의 갯수를 줄인 반도체 메모리장치
US7853845B2 (en) * 2007-08-27 2010-12-14 Atmel Corporation Circuit and method for integrated circuit configuration
US7948786B2 (en) * 2008-02-06 2011-05-24 Micron Technology, Inc. Rank select using a global select pin
US7882406B2 (en) * 2008-05-09 2011-02-01 Lsi Corporation Built in test controller with a downloadable testing program
US8156391B2 (en) * 2008-05-27 2012-04-10 Lsi Corporation Data controlling in the MBIST chain architecture
US8046643B2 (en) * 2008-06-09 2011-10-25 Lsi Corporation Transport subsystem for an MBIST chain architecture
US7788563B2 (en) * 2008-06-20 2010-08-31 Lsi Corporation Generation of test sequences during memory built-in self testing of multiple memories
US8082474B2 (en) * 2008-07-01 2011-12-20 International Business Machines Corporation Bit shadowing in a memory system
US8082475B2 (en) * 2008-07-01 2011-12-20 International Business Machines Corporation Enhanced microprocessor interconnect with bit shadowing
US8245105B2 (en) * 2008-07-01 2012-08-14 International Business Machines Corporation Cascade interconnect memory system with enhanced reliability
US8139430B2 (en) * 2008-07-01 2012-03-20 International Business Machines Corporation Power-on initialization and test for a cascade interconnect memory system
US7895374B2 (en) * 2008-07-01 2011-02-22 International Business Machines Corporation Dynamic segment sparing and repair in a memory system
US8201069B2 (en) * 2008-07-01 2012-06-12 International Business Machines Corporation Cyclical redundancy code for use in a high-speed serial link
US8234540B2 (en) 2008-07-01 2012-07-31 International Business Machines Corporation Error correcting code protected quasi-static bit communication on a high-speed bus
US20100005335A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Microprocessor interface with dynamic segment sparing and repair
US7979759B2 (en) * 2009-01-08 2011-07-12 International Business Machines Corporation Test and bring-up of an enhanced cascade interconnect memory system
US20100180154A1 (en) * 2009-01-13 2010-07-15 International Business Machines Corporation Built In Self-Test of Memory Stressor
US8042011B2 (en) * 2009-04-28 2011-10-18 Synopsys, Inc. Runtime programmable BIST for testing a multi-port memory device
KR20110012401A (ko) * 2009-07-30 2011-02-09 주식회사 하이닉스반도체 퓨즈 정보 검출 회로
KR20110073953A (ko) * 2009-12-24 2011-06-30 주식회사 하이닉스반도체 반도체 메모리의 퓨즈 셋 및 이를 이용한 리패어 판단 회로
JP5982781B2 (ja) * 2011-10-28 2016-08-31 富士通株式会社 集積回路,試験回路,試験装置,及び試験方法
JP6291969B2 (ja) * 2014-03-31 2018-03-14 富士通株式会社 メモリ試験回路およびメモリ試験回路の制御方法
US9653152B1 (en) * 2016-11-15 2017-05-16 Qualcomm Incorporated Low voltage high sigma multi-port memory control
US10510431B2 (en) * 2017-09-22 2019-12-17 Qualcomm Incorporated Detecting random telegraph noise defects in memory

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69016509T2 (de) * 1989-05-31 1995-06-01 Fujitsu Ltd Integrierte Halbleiterschaltungsanordnung mit Testschaltung.
WO1993015462A1 (en) * 1992-02-03 1993-08-05 Advantest Corporation Memory tester
US5442642A (en) * 1992-12-11 1995-08-15 Micron Semiconductor, Inc. Test signal generator on substrate to test
US5812469A (en) * 1996-12-31 1998-09-22 Logic Vision, Inc. Method and apparatus for testing multi-port memory

Also Published As

Publication number Publication date
US6070256A (en) 2000-05-30
WO1998054729A1 (en) 1998-12-03
DE69825234D1 (de) 2004-09-02
EP0916140B1 (de) 2004-07-28
EP0916140A1 (de) 1999-05-19

Similar Documents

Publication Publication Date Title
DE69825234T2 (de) Verfahren und vorrichtung zur selbstprüfung von multi-port-rams
DE69904320T2 (de) On-chip schaltung und verfahren zur speicherschaltungs-prüfung
DE69019555T2 (de) Technik für die serielle Prüfung eingebauter Speicher.
DE69223461T2 (de) Konfigurable Selbstprüfung für integrierte RAMs
DE3412676C2 (de)
DE3788487T2 (de) Integrierte Schaltung mit Speicherselbstprüfung.
DE3886038T2 (de) Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält.
DE2555435C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE69127036T2 (de) Halbleiter mit verbessertem Prüfmodus
DE69421429T2 (de) Halbleiterspeicher mit eingebautem parallelen Bitprüfmodus
DE68923571T2 (de) Dynamischer RAM-Speicher mit Redundanz und verbesserter Prüfbarkeit.
DE4127698C2 (de)
DE10124923B4 (de) Testverfahren zum Testen eines Datenspeichers und Datenspeicher mit integrierter Testdatenkompressionsschaltung
DE3750460T2 (de) Halbleiterspeichergerät.
DE3906494C2 (de)
DE60221313T2 (de) Direktzugriffsspeicher
DE69422481T2 (de) Multibit-Halbleiterspeicheranordnung
DE4011935C2 (de)
DE2946119C2 (de) Datenverarbeitungseinrichtung mit einer Vielzahl von Datenverarbeitungselementen, denen ein einziger Strom von Steuersignalen zugeführt wird
DE3587374T2 (de) Halbleiterspeichergeraet mit einer bit-fehlererkennungsfunktion.
DE19908513A1 (de) Halbleiterspeicherbauelement mit eingebauter Schaltung zur parallelen Bitprüfung
EP1055238B1 (de) Testschaltung und verfahren zum prüfen einer digitalen halbleiter-schaltungsanordnung
DE69016849T2 (de) Halbleiterspeichergerät mit Adressenunterscheidungsschaltung zur Unterscheidung einer adressenzugewiesenen Defektspeicherzelle, ersetzt mit Redundanzspeicherzelle.
DE69323076T2 (de) Verfahren zur Erkennung fehlerhafter Elemente eines redundanten Halbleiterspeichers
DE10229164B4 (de) Speicherbaustein mit einem Datengenerator und einer Testlogik und Verfahren zum Testen von Speicherzellen eines Speicherbausteins

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee