DE60220511T2 - Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher - Google Patents

Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher Download PDF

Info

Publication number
DE60220511T2
DE60220511T2 DE60220511T DE60220511T DE60220511T2 DE 60220511 T2 DE60220511 T2 DE 60220511T2 DE 60220511 T DE60220511 T DE 60220511T DE 60220511 T DE60220511 T DE 60220511T DE 60220511 T2 DE60220511 T2 DE 60220511T2
Authority
DE
Germany
Prior art keywords
memory
bist
scan
data
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 - Lifetime
Application number
DE60220511T
Other languages
English (en)
Other versions
DE60220511D1 (de
Inventor
Laung-Terng WANG (L.-T.), Sunnyvale
Shyh-Horng Lin
Hsin-Po Wang
Xiaoqing Sunnyvale WEN
Chi-Chan Hsu
Anthony M. Round Rock VU
Yo Han Austin PARK
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.)
Syntest Technologies Inc
Original Assignee
Syntest Technologies Inc
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 Syntest Technologies Inc filed Critical Syntest Technologies Inc
Publication of DE60220511D1 publication Critical patent/DE60220511D1/de
Application granted granted Critical
Publication of DE60220511T2 publication Critical patent/DE60220511T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/32Serial access; Scan testing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test
    • G01R31/318563Multiple simultaneous testing of subparts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • 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/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • 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/48Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
    • 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
    • G11C2029/3202Scan chain

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Tests Of Electronic Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

  • DATEN VERWANDTER ANMELDUNGEN
  • Diese Anmeldung beansprucht die Vorzüge der vorläufigen US-Patentantanmeldung Nr. 60/282 917 , angemeldet 10. April 2001.
  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung steht im Allgemeinen zum Gebiet der Speichergestaltung und -Prüfung unter Verwendung von Gestaltung für Prüfungen (DFT(design-for-test))-Techniken in Beziehung. Insbesondere bezieht sich die vorliegende Erfindung auf das Gebiet von Speicherprüfung und -Diagnose für Integrierte Schaltungen, die eingebaute Selbstprüfungen (BIST (built-in self-test)) und Speicherabtasttechniken benutzen.
  • HINTERGRUND
  • Eine moderne integrierte Schaltung enthält gewöhnlich eine bedeutende Anzahl von eingebetteten Speicheranordnungen bzw. -bereichen: Einige sind klein und einige sind groß. Im Allgemeinen kann so viel wie die Hälfte der Größe einer Integrierten Schaltung durch eingebettete Speicheranordnungen aufgebraucht werden. Zusätzlich hat eine Speicheranordnung eine sehr dichte körperliche Verwirklichung aufgrund ihres regelmäßigen Aufbaus. Als Ergebnis sind Speicheranordnungen anfällig für körperliche Fehler, was es wichtig macht, alle eingebetteten Speicheranordnungen in einer Integrierten Schaltung gründlich zu überprüfen.
  • Es gibt zwei Angänge zum Prüfen einer eingebetteten Speicheranordnung: äußere Prüfung und eingebaute Selbstprüfung (BIST), wie unten beschrieben:
    Bei Prüfung von außen sollte zuerst ein direkter Zugangskanal zwischen einer automatischen Prüfausrüstung (ATE (automatic test equipment)) und der zu prüfenden eingebetteten Speicheranordnung eingerichtet werden. Dann werden, über den direkten Zugangskanal, Prüfmuster aus der ATE an die eingebettete Speicheranordnung angelegt, und Prüfantworten werden an die ATE aus der unter Prüfung befindlichen eingebetteten Speicheranordnung zurückübertragen. Ein Vergleich der Prüfantworten mit erwarteten Antworten wird auf der ATE durchgeführt um zu bestimmen, ob die eingebettete Speicheranordnung fehlerhaft ist oder nicht. Der direkte Zugangskanal kann parallel oder seriell sein. Bei einem parallelen direkten Zugangskanal kann auf alle der Dateneingänge, Datenausgänge, Adreßleitungen und Steuerleitungen einer eingebetteten Speicheranordnung von einer ATE gleichzeitig zugegriffen werden. Da eine große Schnittstelle zwischen einer ATE und einer eingebetteten Speicheranordnung benötigt wird, ist ein paralleler direkter Zugangskanal gewöhnlich sehr teuer, was ihn nicht geeignet für eine Integrierte Schaltung mit einer bedeutenden Anzahl von eingebetteten Speicheranordnungen macht. Bei einem seriellen direkten Zugangskanal reicht eine kleine Schnittstelle zwischen einer ATE und einer eingebetteten Speicheranordnung aus, aber Prüfmuster und Prüfantworten müssen seriell übertragen werden. Die typische Verwirklichung eines seriellen direkten Zugangskanals ist die Speicherabtastprüftechnik (memory scan test technique), in der eine oder mehrere Abtastketten um eine Speicheranordnung angeordnet werden, um Prüfmuster einzuschieben und Prüfantworten auszuschieben. Man beachte, daß die Speicherabtastprüfechnik immer noch die Einbeziehung einer ATE während der Speicherprüfung benötigt.
  • Bei der Speicher-BIST-Technik werden alle Prüfmuster und Steuersignale durch eine gewisse Schaltung, die in der gleichen Integrierten Schaltung sitzt wie die eingebettete Speicheranordnung, erzeugt und an die eingebettete Speicheranordnung, die geprüft wird, angelegt. Der Vergleich zwischen Prüfantworten und erwarteten Antworten wird auch in der gleichen Integrierten Schaltung durchgeführt. Diese Prüftechnik erfordert eine einfache Schnittstelle zwischen einer Integrierten Schaltung und einer ATE, die wesentlich vereinfacht werden kann. Die Vorteile der Speicher-BIST-Technik umfassen geringere Prüfkosten, höhere Prüfqualität und bessere Prüfwiederverwendbarkeit.
  • Die allgemeine Praxis in der Industrie ist jetzt, große eingebettete Speicheranordnungen mit der Speicher-BIST-Technik zu prüfen, während das Prüfen verhältnismäßig kleiner Speicheranordnungen, z.B. jener mit weniger als 4 kBits, mit der Speicherabtasttechnik geprüft werden.
  • Bei der Speicherprüfung, die entweder die Speicher-BIST-Technik oder die Speicherabtasttechnik benutzt, gibt es drei Hauptprobleme:
    Fehlerabdeckung, Prüfeinteilung und Speicherreparatur, wie unten beschrieben.
  • Zuerst sollte eine Speicherprüftechnik in der Lage sein, so viele Fehler wie möglich zu entdecken oder diagnostizieren. Insbesondere ist es wichtig, Verbindungsfehler ins Visier zu nehmen, die eine Abhängigkeit zwischen zwei Bits in einem Speicherwort erzeugen, was sie daran hindert, ihre Werte unabhängig zu ändern. Da dieser Art von Fehlern in einer modernen Speicheranordnung gang und gäbe ist, sollte eine Speicherprüftechnik eine hohe Abdeckung von Verbindungsfehlern haben. Zusätzlich ist es wichtig, da verschiedene Speicherprüfalgorithmen verschiedene entsprechende Fehlerabdeckungen haben, daß eine Speicherprüftechnik anpassungsfähig genug ist, sich an verschiedene Speicherprüfungsalgorithmen anzupassen.
  • Zweitens enthält eine Integrierte Schaltung gewöhnlich eine bedeutende Anzahl von eingebetteten Speicheranordnungen. Einige von ihnen können ziemlich groß sein. Wenn alle der eingebetteten Speicheranordnungen zur gleichen Zeit geprüft oder diagnostiziert werden, kann mehr Leistung verbraucht werden, als die Packung zulassen kann, was die Prüfung scheitern lassen kann oder sogar die Packung selbst beschädigen kann. Um dieses Problem zu lösen, wird ein Prüfzeitplan benötigt um die Prüfvorgänge einzelner Speicheranordnungen vernünftig zu ordnen.
  • Drittens, selbst wenn eine Speicheranordnung als fehlerhaft befunden wird, ist es teuer, sie einfach wegzuwerfen, da der Rest der Integrierten Schaltung, einschließlich solch komplizierter und teurer logischer Blöcke wie einer MPU, in der Lage sein können, richtig zu arbeiten. Zusätzlich ist es gut möglich, daß nur einige wenige Speicherzellen in einer großen Speicheranordnung fehlerhaft sind. Als Ergebnis ist es oft notwendig, eine fehlerhafte oder kaputte Speicheranordnung durch Neuanordnung in einer solchen Weise, daß jede gültige Speicheradresse nur auf ein Speicherwort, das nur aus guten oder fehlerfreien Speicherstellen besteht, abgebildet wird, zu reparieren.
  • Stand der Technik (StdT)-Lösungen für die obigen drei Speicherprüfprobleme weisen eine Lösung zum Verbessern der Verbindungsfehlerabdeckung auf der Grundlage der Verwendung des Inhaltes eines Johnson-Zählers als Testdaten (StdT-Lösung # 1), zwei Lösungen für Speicherprüfzeitpläne auf der Grundlage von Zeichendurchlaß (token passing) oder Vorgangsauslösung (StdT-Lösung # 2 und StdT-Lösung # 3) und eine Lösung zur Speicherinstandsetzung unter Verwendung redundanter Wortleitungen und Bitleitungen (StdT-Lösung # 4), wie unten zusammengefaßt, auf:
    StdT–Lösung # 1 ist in US-Patent Nr. 6 041 426 von Qureshi (2000) beschrieben. Diese Lösung beruht auf dem Verwenden eines Johnson-Zählers um Daten zu erzeugen, die während der Speicherprüfung in eine Speicheranordnung geschrieben werden sollen. Die Parität des Inhaltes eines Johnson-Zählers wird auch in eine Speicheranordnung als Teil der Prüfdaten geschrieben. Wenn die Daten aus einem Speicherwort ausgelesen werden, werden sowohl die Daten selbst als auch ihre Parität überprüft, um zu sehen, ob sie irgendwie nicht zusammenpassen. Diese Lösung leidet jedoch an verschiedenen Nachteilen. Erstens ist die Lösung keine reine auf einem Johnson-Zähler beruhende Technik, da sie erfordert, daß sowohl Daten als auch ihre Parität überprüft werden. Dieser Johnson-Zähler-plus-Paritätsangang benötigt mehr komplizierte zusätzliche Hardware bei größeren Hardwarekosten. Zweitens soll diese Lösung nur in der Speicher-BIST-Technik benutzt werden. Wenn man diese Lösung auf eine kleine eingebettete Speicheranordnung anwendet, wird dies zu teuer. Drittens weist jeder Prüfzyklus in dieser Lösung einen Schreibvorgang, der durch einen Lesevorgang gefolgt wird, und dann einen Vergleichsvorgang auf. Zusätzlich werden für jedes Wort nur zwei Prüfzyklen angewandt. Da nur ein Datum aus einem Johnson-Zähler in jedem Prüfzyklus angelegt wird, werden nur zwei Datenmuster aus einem Johnson-Zähler für jedes Wort angelegt. Offensichtlich gibt es keine Garantie, daß alle der vier 2-Bit-Logikwertkombinationen 00, 01, 10, und 11 in alle 2-Bits in jedem Speicherwort geschrieben werden; als Ergebnis können manche Verbindungsfehler nicht entdeckt oder diagnostiziert werden. Viertens ist das BIST-Steuerschema in dieser Lösung nicht anpassungsfähig, insoweit, als es nicht leicht angepaßt werden kann, um andere Speicherprüfalgorithmen zu verwirklichen. Dies begrenzt die Nützlichkeit der Lösung, da der Ausstoß und andere Kennwerte verschiedener Herstellungsverfahren das Benutzen verschiedener Speicherprüfalgorithmen erfordern können.
  • StdT-Lösung # 2 wird im US-Patent Nr. 6 237 123 von Kim et al. (2001) beschrieben. Diese Lösung soll ein Prüfzeitplan-Schema verwirklichen, indem sie Speicher-BIST-Vorgänge für mehrfache „gebistete" Speicheranordnungen ordnet und steuert. Sie verwendet ein Zeichendurchlaß-Netzwerk, das ein Universal-BIST-Zeitplaner (USB (universal BIST scheduler) genannt wird, um „gebistete" Speicheranordnungen in einen Zeitplan zu bringen um parallele BIST-Vorgänge, serielle BIST-Vorgänge oder eine Mischung von beiden zu verwirklichen. Diese Lösung leidet jedoch an verschiedenen Nachteilen: Erstens ist ein Zeichendurchlaß-Netzwerk groß und bringt beträchtliche Hardware-Zusatzkosten mit sich. Zweitens ist ein Zeichendurchlaß-Netzwerk, daß die Verwendung von endlichen Automaten mit sich bringt, in seiner Arbeitsweise komplex. Dies erhöht die Möglichkeit, daß das Zeichendurchlaß-Netzwerk selbst an irgendeiner Art von Fehlern leidet. Drittens ist keine Einrichtung vorgesehen, um zu überprüfen, ob ein Zeichendurchlaß-Netzwerk richtig arbeiten kann. Viertens kann die Einrichtung eines universellen BIST-Zeitplanes mit einem Zeichendurchlaß-Netzwerk eine verhältnismäßig große Datenmenge mit sich bringen.
  • StdT-Lösung # 3 wird im US-Patent Nr. 5 995 731 von Crouch et al. (1999) beschrieben. Diese Lösung soll mehrere Speicher-BIST-Steuereinrichtungen zum Prüfen mehrer eingebetteter Speicheranordnungen integrieren. Im Grunde verwendet es ein UND-Gatter und ein ODER-Gatter um ERLEDIGT-Signale und VERSAGEN-Signale aus einer Gruppe von Speicheranordnungen, für die entschieden wurde, sie parallel zu testen, zusammenzufassen. Der Ausgang des UND-Gatters kann dann verwendet werden als ein Vorgangsauslösesignal um die Speicher-BIST-Prüfsitzung für die nächste Gruppe von Speicheranordnungen zu beginnen. Dies hilft beim Prüfen zweier Gruppen von Speicheranordnungen in einer seriellen Weise, aber Prüfen aller Speicheranordnungen in jeder Gruppe im parallelen Modus. Zusätzlich, um die Bitmap jeder Speicheranordnung einer Speichergruppe auszugeben, wird ein Multiplexer hinzugefügt und alle Speicheranordnungen in der Speichergruppe teilen den Ausgang des Multiplexers im Diagnosemodus. Diese Lösung soll als Speicher-BIST-Zeitplantechnik mit geringen Kosten dienen. Diese Lösung leidet jedoch an verschiedenen Nachteilen. Zuerst ist diese Lösung nicht anpassungsfähig insoweit, als das Prüfzeitplanergebnis, einschließlich des Speichergruppierungsergebnisses und der Prüfreihenfolge unter den Speichergruppen als Teil einer Integrierten Schaltung verwirklicht ist, was es unmöglich macht, zu wechseln, sobald einmal die Integrierte Schaltung hergestellt ist.
  • Zweitens, wenn die Speicheranordnungen in einer Speichergruppe körperlich von einander verstreut sind, dann kann es schwierig werden, ERLEDIGT-Signale und VERSAGENS-Signale zu kombinieren, aufgrund von Leitweg-Verstopfung. Drittens macht diese Lösung es schwierig, eine bestimmte Speicheranordnung zu diagnostizieren, da es keine Möglichkeit gibt, nur eine Speicheranordnung zu aktivieren, aber alle anderen Speicheranordnung in einer Speichergruppe abzuschalten. Es sei z.B. angenommen, daß eine Speichergruppe drei Speicheranordnungen enthält. Wenn die kombinierten VERSAGEN-Signale dieser Speichergruppe ein Versagen anzeigen, gibt es keine Möglichkeit zu wissen, welche Speicheranordnung versagte. Um die fehlerhafte Speicheranordnung zu bestimmen, müssen die Bitmaps für alle der drei Speicheranordnungen gewonnen werden. Zu diesem Zweck muß der Speicher-BIST-Vorgang für die Speichergruppe dreimal wiederholt werden, da die Bitmaps für die drei Speicheranordnungen einen Ausgangsanschluß über einen Multiplexer teilen müssen. Das macht die Lösung sehr zeitaufwendig bei der Fehlerdiagnose.
  • StdT-Lösung # 4 wird im US-Patent Nr. 6 343 366 von Okitaka (2002) beschrieben. Diese Lösung soll eine Speicheranordnung reparieren, wenn sie als fehlerhaft befunden wurde. Zu diesem Zweck sollte die fehlerhafte Speicherzelle zuerst bestimmt werden. Dann wird die fehlerhafte Speicherzelle durch einer Reserve- oder Redundanz-Speicherzelle, die vorher in der Speicheranordnung angebracht wird, ersetzt. Diese Lösung leidet jedoch an verschiedenen Nachteilen. Zuerst ist diese Speicherreparaturlösung sehr teuer, da sie eine komplexe Reparaturschaltung benötigt. Zweitens hat diese Speicherreparaturlösung nur Erfolg, wenn es genug Redundanzspeicherzellen, die in einer Speicheranordnung eingebettet sind, gibt. Da es nur eine begrenzte Anzahl von Redundanzspeicherzellen gibt, wird eine solche Speicherreparatur unmöglich, wenn es zu viele fehlerhafte Speicherzellen gibt. Drittens hat diese Speicherreparaturlösung einzelne fehlerhafte Speicherzellen im Visier. In der Wirklichkeit ist es sehr gut möglich, daß mehrere Speicherzellen in der gleichen körperlichen Umgebung zur gleichen Zeit kaputtgehen können. Das Reparieren solcher Speicherzellen eine nach der anderen ist nicht nur ineffizient, sondern führt auch zu hohen Hardwarekosten.
  • Das US-Patent Nr. 6 001 662 zeigt ein Verfahren um eine Selbstprüfungs-Steuereinrichtung zu liefern, wo ein Johnson-Zähler Daten, die in eine Speicheranordnung während der Speicherprüfung eingeschrieben werden sollen, erzeugt.
  • Es besteht daher ein Bedürfnis für eine verbesserte Speicherprüftechnik, die ein Verfahren, eine Vorrichtung und ein CAD-(CAD(computer-aided design))-System aufweist, um eine hohe Abdeckung von Verbindungsfehlern, eine anpassungsfähige Prüfzeitplanung und eine effiziente Speicherreparaturfähigkeit zu erzielen. Diese Speicherprüftechnik sollte geringe Hardwarekosten haben, kann sowohl bei Speicher-BIST- als auch bei Speicher-Abtast-Techniken verwendet werden, kann jeglichen Verbindungsfehler zwischen jeglichen zwei Bit in jedem Speicherwort aufspüren und diagnostizieren und kann leicht an jeden Speicherprüfalgorithmus angepaßt werden (s. StdT-Lösung # 1). Zusätzlich sollte diese Speicherprüftechnik ein anpassungsfähiges und einfaches Prüfzeitplanschema mit geringen Kosten haben (s. StdT-Lösung # 2 und StdT-Lösung # 3). Darüberhinaus sollte diese Speicherprüftechnik eine einfache und effiziente Speicherinstandsetzunglösung haben, die nicht durch die Anzahl von Redundanz-Zeilen und -Spalten begrenzt ist (s. StdT-Lösung # 4). Schließlich sollte diese Speicherprüftechnik eine mächtige Diagnostizierfähigkeit haben, was durch StdT-Lösungen nicht vollständig angesprochen wird.
  • ZUSAMMENFASSUNG
  • Diese Erfindung wird durch Anspruch 1 umrissen. Dementsprechend ist ein erstes Ziel der vorliegenden Erfindung, ein verbessertes Speicherprüfsystem für sowohl Speicher-BIST- als auch Speicher-Abtast-Techniken zu schaffen. Dieses Speicherprüfsystem weist ein Verfahren und eine Vorrichtung auf um die Entdeckung und Lokalisierung jeglichen Verbindungsfehlers zwischen jeglichen zwei Bit in einem Speicherwort in einer eingebetteten Speicheranordnung zu erlauben, eine anpassungsfähige Prüfzeitplanung zu erlauben und eine effiziente Speicherreparatur zu erlauben. Die vorliegende Erfindung weist weiter ein CAD-System auf, das ein solches Speicherprüfsystem zusammenstellt und gewünschte Hardwarebeschreibungssprachen (HDL(hardware description language))-prüfbänke erzeugt. Die Speicherprüftechnik die in der vorliegenden Erfindung im einzelnen dargelegt wird, wird wie folgt zusammengefaßt:
  • (1) Datenerzeugung auf der Grundlage eines Folgenerzeugers
  • Während der Speicherprüfung müssen besonders gestaltete Daten in eine Speicheranordnung geschrieben werden. Die Art der Daten, die in eine Speicheranordnung geschrieben werden, ist ein wichtiger Faktor, der die Fehlerabdeckung der Speicherprüfung bestimmt.
  • Es wurde gezeigt, daß das Verbindungsfehlermodell eine übliche Fehlerart bei modernen Speicheranordnungen ist. Diese Art von Fehler zeigt sich, indem er eine Abhängigkeit von zwei Bits in einem Speicherwort erzeugt. Um einen Verbindungsfehler zu entdecken oder zu diagnostizieren, ist es nötig, verschiedene Werte auf die zwei Bits zu schreiben und dann die Werte zurückzulesen um zu sehen, ob sie korrekt geschrieben werden. Um irgendeinen Verbindungsfehler in irgendeinem Speicherwort zwischen irgendwelchen zwei Bits zu entdecken oder zu diagnostizieren müssen die Daten, die in irgendeinem Speicherwort geschrieben werden an jegliche zwei Bits verschiedene Werte anlegen. Es ist somit klar, daß man einen Folgenerzeuger verwenden kann, um eine Folge von Mustern zu erzeugen, wo alle zwei Bits in der Folge von Mustern vier verschiedene Zustände: 00, 01, 10 und 11 enthalten. Wenn diese Folge von Mustern in eine Speicheranordnung geschrieben wird, ist es offensichtlich, daß jeder Verbindungsfehler zwischen allen zwei Bits in jedem Wort in einer Speicheranordnung festgestellt und diagnostiziert werden kann.
  • Ein n-stufiger Johnson-Zähler, der auch ein Gedrehter-Ring-Zähler (twisted-ring-counter) genannt wird, ist ein synchroner Zähler, der aus n D-Flipflops und einem sehr kleinen Netzwerk für kombinatorische Logik besteht. Ein n-stufiger Johnson-Zähler hat die folgenden Eigenschaften: Wenn er mit einem I-aus-n-Code angestoßen wird, wird ein n-stufiger Johnson-Zähler durch 2n Zustände zählen, so daß die Ausgänge von je zwei D-Flipflops in dem Johnson-Zähler alle 2-Bit-Logikwertkombinationen: 00, 01,10 und 11 durchlaufen. Als Ergebnis kann ein Johnson-Zähler als ein Folgenerzeuger benutzt werden, um eine Folge von Mustern, die in eine Speicheranordnung während einer Speicherprüfung geschrieben werden sollen, zu erzeugen, um alle Verbindungsfehler zwischen jeglichen zwei Bit in jedem Wort in einer Speicheranordnung festzustellen oder zu diagnostizieren.
  • Z.B., wenn jedes Speicherwort in einer Speicheranordnung n Bit lang ist, dann kann ein n-stufiger Johnson-Zähler verwendet werden, um Daten, die in jedes Wort der Speicheranordnung während der Speicherprüfung geschrieben werden sollen, zu erzeugen. Indem man den Inhalt eines Johnson-Zählers in ein Speicherwort schreibt und es dann zum Vergleich zurückliest, kann leicht bestimmt werden, ob es einen Verbindungsfehler zwischen irgendwelchen zwei Bits in dem Speicherwort gibt.
  • Die vorliegende Erfindung umfaßt jedes Verfahren und jede Vorrichtung, die einen Folgenerzeuger verwenden, um Daten zu erzeugen, die in eine Speicheranordnung während einer Speicherprüfung geschrieben werden sollen. Solch eine Folge sollte in der Lage sein, eine Folge von Mustern zu erzeugen, wo alle zwei Bit in der Folge von Mustern vier unterschiedene Zustände enthalten: 00, 01, 10 und 11. Als eine Ausführungsform der vorliegenden Erfindung kann ein Johnson-Zähler als ein solcher Folgenerzeuger verwendet werden. Außerdem wird ein Datenverbinder, der aus einer Mehrzahl von Multiplexern zusammengesetzt ist hinzugefügt, um die Ausgänge eines Folgenerzeugers an die Dateneingänge einer Speicheranordnung zu verbinden, um Daten aus dem Folgenerzeuger während der Speicherprüfung in die Speicheranordnung zu schreiben. Zusätzlich wird ein Folgenerzeuger neu angeordnet, indem man einen Multiplexer an den Eingang seines D-Flipflops erster Stufe hinzufügt, so daß der Folgenerzeuger als ein Schieberegister arbeiten kann. Dies wird benutzt, um einen Folgenerzeuger zu einem speziellen Anfangszustand anzustoßen, gewöhnlich einem 1-aus-n Code durch Randabtastung (boundary scan). Darüber hinaus wird zusätzliche Haltezustandsschaltung hinzugefügt um einen Folgenerzeuger zu veranlassen, seinen Zustand unverändert beizubehalten, sogar wenn sein Tastgeber angestellt ist. Dieses Merkmal ist nützlich beim Gestalten einer Speicher-BIST-(eingebaute Selbstprüfung)-Steuereinrichtung. Bei der vorliegenden Erfindung wird ein Folgenerzeuger, erweitert durch einen Datenverbinder, eine Schiebeschaltung und eine Zustandshalteschaltung, als Datenerzeuger verwendet. Der Vorteil solch eines Datenerzeugers ist, daß jeglicher Verbindungsfehler zwischen jeglichen zwei Bits in einem Speicherwort entdeckt oder diagnostiziert werden kann bei geringen Bereichskosten.
  • (2) Neuabbildung von Adressen
  • Wenn eine Speicheranordnung, die in eine integrierte Schaltung eingebettet ist, durch eine Speicherprüfung als fehlerhaft befunden wurde, wird gewöhnlich eine Speicherreparatur in Betracht gezogen, anstatt die integrierte Schaltung einfach auszusondern. Zu diesem Zweck muß die Speicheranordnung genug Redundanz einschließlich Reservespalten und/oder Zeilen enthalten. Wenn gefunden wird, daß eine Speicheranordnung Fehler hat, wird bestimmt, ob die Fehler reparierbar sind, indem man einige Spalten und oder Zeilen auf Reserven umschaltet. Jedoch, da die Anzahl von Reservespalten und/oder -Zeilen begrenzt ist, ist eine Speicheranordnung nicht immer reparabel, wenn sie zu viele Fehler enthält.
  • Eine Speicheranordnung ist gewöhnlich in eine Menge kleinerer Baublöcke organisiert, die Speicherbänke genannt werden. Die Adresse einer solchen Speicheranordnung hat zwei Abschnitte: Einer wird benutzt, um die Speicherbank anzuzeigen, und der andere wird benutzt, die Verschiebung (offset) in der Speicherbank anzuzeigen. Als Ergebnis kann das Abbilden einer Adresse auf ein Wort in einer Speicheranordnung durchgeführt werden, indem man zuerst den Speicherbankbereich der Adresse an eine Speicherbank dekodiert und dann den Verschiebungsbereich der Adresse benutzt, um das entsprechende Wort direkt in der Speicherbank zu lokalisieren. Offensichtlich kann durch Ändern der Speicherbank-Dekodierfunktion eine Adresse auf verschiedene körperliche Stellen in einer Speicheranordnung abgebildet werden.
  • Die vorliegende Erfindung weist weiter alle Verfahren und Vorrichtungen auf, die einen Adresse-Neuabbildungslogikblock verwenden um die ursprüngliche Speicherbankdekodierfunktion zu ändern um alle fehlerhaften Speicherbänke zu überspringen.
  • Der Adressenraum der neuabgebildeten Speicherbänke, obwohl er kleiner ist als der der ursprünglichen Speicherbänke, beginnt auch bei 0 und schreitet in fortlaufender Weise fort. Die Adressenneuabbildungsfunktion kann mit einem eingebetteten programmierbaren Element verwirklicht werden, einschließlich eines programmierbaren ROMs (PROM), einer programmierbaren Logikeinrichtung (PLD (programmable logic device)), einer programmierbaren Logikanordnung (PLA (programmable logic array)), einer feldprogrammierbaren Gatteranordnung (FGPA (field programmable gate array)) oder einem Flash-Speicher. Der Vorteil dieser Neuabbildungstechnik ist, daß sie das Leben einer Speicheranordnung zu geringen Kosten verlängern kann. Zusätzlich ist diese Neuabbildungstechnik flexibel insoweit, als eine Neuabbildungsfunktion auf einfache Weise geändert werden kann. Diese macht es möglich, eine eingebettete Speicheranordnung in einer Integrierten Schaltung durch Adressen-Neuabbildung zu reparieren, selbst wenn die Integrierte Schaltung in einem System benutzt wird.
  • Es sei z.B. angenommen, daß eine Speicheranordnung vier Speicherbänke B0, B1. B3 und B4 hat. Jegliche Adresse für diese Speicheranordnung sollte zwei Bit haben, A0 und A1, die benutzt werden, um anzuzeigen, welche Speicherbank gewählt werden sollte.
  • Angenommen, daß die ursprüngliche Speicherbank-Abbildungsfunktion wie folgt ist:
    A1 A0 Ausgewählte Speicherbank
    0 0 B0
    0 1 B1
    1 0 B2
    1 1 B3
  • Angenommen, daß Speicherbank B1 während der Speicherprüfung als fehlerhaft befunden wird. Um diese Speicheranordnung an einer Weise mit verringerter Größe zu benutzen kann eine Adressen-Neuabbildungsfunktion verwendet werden, um die Speicherbankadresse {A1 = 0, A0 = 1} aus Speicherbank B1 neu abzubilden auf Speicherbank B3. Das Ergebnis ist unten gezeigt:
    A1 A0 Ausgewählte Speicherbank
    0 0 B0
    0 1 B3
    1 0 B2
  • (3) Anpaßbares Speicherprüfzeitplan-Schema auf der Grundlage von Speicherwählern.
  • Eine Integrierte Schaltung kann eine große Anzahl von eingebetteten Speicheranordnungen enthalten. Im Betriebszustand ist gewöhnlich nicht beabsichtigt, daß die eingebetteten Speicheranordnungen zur gleichen Zeit betätigt werden. Im Prüfzustand ist es jedoch möglich, jegliche Anzahl von eingebetteten Speicheranordnungen in einer Integrierten Schaltung zur gleichen Zeit zu betätigen. Dies erzeugt die Gefahr, die Leistungsaufnahmegrenze der Integrierten Schaltung zu überschreiten. In einer modernen Integrierten Schaltung nehmen eingebettete Speicheranordnungen gewöhnlich eine größere Fläche als Logikblöcke ein. Als Ergebnis ist die Leistungsverwaltung während der Speicherprüfung sehr wichtig.
  • Die vorliegende Erfindung weist weiter jegliches Verfahren und Vorrichtung auf, die ein anpaßbares Speicherprüfzeitverteilungsschema benutzen, in dem ein Speicherelement, genannt ein Speicherwähler, zu jeder Speicheranordnung hinzugefügt wird. Der Wert eines Speicherwählers zeigt an, ob die entsprechende Speicheranordnung während eines Speicherprüf-Arbeitsdurchganges geprüft oder diagnostiziert werden soll. Falls der logische Wert 1 ist, wird die entsprechende Speicheranordnung geprüft oder diagnostiziert; ansonsten wird die entsprechende Speicheranordnung inaktiv gemacht um sie zu veranlassen, wenig Leistung aufzunehmen, während andere Speicheranordnungen geprüft oder diagnostiziert werden. Zusätzlich kann eine Gruppe von Speicheranordnungen sich einen Speicherwähler teilen, wenn die Speicheranordnungen die ganze Zeit parallel geprüft oder diagnostiziert werden sollen. Darüber hinaus können alle Speicherwähler in einer Integrierten Schaltung in ein Speicherwahl-Schieberegister getan werden, auf das von außerhalb der Integrierten Schaltung durch Grenzabtastung (boundary scan) zugegriffen werden kann. Speicherprüfzeitverteilungsinformation, in der Form einer Menge von logischen Werten für alle Speicherwähler, kann in das Speicherwahlregister eingeschoben werden, bevor die Speicherprüfung begonnen wird. Danach kann ein einzelnes Speicherprüfstartsignal ausgegeben werden. Die Speicheranordnungen, die gerade geprüft oder diagnostiziert werden, werden durch den Inhalt des Speicherwahlregisters bestimmt. Der Vorteil dieses Speicherprüfzeitverteilungsschemas auf der Grundlage von Speicherwählern ist seine Anpassungsfähigkeit. Jegliche Prüfreihenfolge kann durch das Verwenden dieses Schemas erzielt werden. Zusätzlich besteht keine Notwendigkeit, eine Prüfreihenfolge vor der Produktion festzulegen. Darüber hinaus ist es einfach, nur eine Speicheranordnung für den Diagnosezweck zu wählen.
  • BIST (eingebaute Selbstprüfung) ist ein Prüfschema, in dem Prüfstimuli in einer Integrierten Schaltung erzeugt werden und an einen Teil der in Prüfung befindlichen Schaltung angelegt werden. Prüfantworten aus dem Teil der Integrierten Schaltung werden auch in der Integrierten Schaltung analysiert, um zu bestimmen, ob irgendein Fehler vorliegt. Die Vorteile von BIST schließen weniger Prüf-Schnittstellenerfordernisse, weniger Einbeziehung von Prüfern, weniger Kosten für die Prüfungserzeugung und -anwendung, höhere Prüfqualität aufgrund von „at-speed test" und bessere Prüfwiederverwendung ein. Insbesondere für eine regelmäßig aufgebaute Schaltung so wie eine Speicheranordnung sind ihre Prüfmuster so regelmäßig, daß sie leicht erzeugt werden können, indem man wohleingeführte March-Algorithmen benutzt. Es ist daher passend, zusätzliche Schaltungen zu verwirklichen um die Prüfmuster in einer Integrierten Schaltung zu erzeugen insbesondere für Speicheranordnungen. Als Ergebnis, Speicher-BIST ist nun eine allgemeine Prüfpraxis. Eine Speicher-BIST-Schaltung besteht gewöhnlich aus einem Datenerzeuger, einem Adressenerzeuger, einem Vergleicher, einem endlichen Automaten zum Erzeugen aller notwendigen Steuersignale und einiger zusätzlicher Logikschaltung, die benutzt wird, um Dateneingänge, Adresseneingänge und Steuereingänge vom Funktionsmodus zum Speicher-BIST-Modus umzuschalten.
  • Die vorliegende Erfindung weist weiter alle Verfahren und Vorrichtungen auf, die eine Speicher-BIST-Steuereinrichtung verwenden, die eine Folge von Mustern anlegt, wo alle zwei Bit in der Folge von Mustern vier unterschiedene Zustände: 00, 01, 10 und 11, enthalten. Solch eine Folge von Mustern kann von einem Folgenerzeuger, so wie einem Johnson-Zähler, erzeugt werden, und das kann sicherstellen, daß jeder Verbindungsfehler zwischen allen zwei Bits in jedem Wort in der eingebetteten Speicheranordnung entdeckt oder diagnostiziert werden kann. Zusätzlich sollte die Speicher-BIST-Steuereinrichtung an jeden bitweisen March-Typ-Speicherselbstprüfalgorithmus angepaßt werden können. Das heißt, ein bitweiser Marchartiger Speicherselbstprüfalgorithmus kann in einem Textformat vorgeschrieben sein und ein CAD-System kann verwendet werden, um eine Speicher-BIST-Steuereinrichtung zu erzeugen, die den bitweisen Speicherprüfalgorithmus verwirklicht. Der Vorteil ist seine Anpaßbarkeit, verschiedenen Prüfanforderungen zu genügen, indem er sich an alle March-artigen Speicherprüfalgorithmen anpaßt. Zusätzlich enthält jede Speicheranordnung auch einen Speicherwähler, eine BIST-Ergebniskette und eine BIST-Fehlerbeseitigungskette. Eine BIST-Ergebniskette ist ein Schieberegister, das aus D-Flipflops zusammengesetzt ist, die solche BIST-Ergebnisse wie Beendet und Bestanden/Durchgefallen darstellen. Eine BIST-Fehlerbeseitigungskette ist ein Schieberegister, das aus D-Flipflops zusammengesetzt ist, die solche BIST-Fehlerbeseitigungsinformation darstellen wie Fehler, Fehlerdaten und Fehleradresse. Zusätzlich kann ein Abtast-Verbinder benutzt werden um Speicherwähler, BIST-Ergebnisketten und BIST-Fehlerbeseitigungsketten miteinander zu verbinden in einer Integrierten Schaltung mit verschiedenen eingebetteten Speicheranordnungen, und sie durch Grenzabtastung zugänglich zu machen. Die Verbindung kann seriell oder parallel sein. Diese Abtastkette ist nützlich bei der Fehlerdiagnose.
  • Ein Beispiel einer Speicher-BIST-Steuereinrichtung gemäß der vorliegenden Erfindung wird nachfolgend beschrieben:
    Angenommen, daß eine 8 × 4-Speicheranordnung (8 Wörter und jedes Wort mit 4 Bits) durch den March-Algorithmus geprüft oder diagnostiziert werden. Dies ist ein O(5N)-Speicherprüfalgorithmus, wo N die Anzahl der Wörter in einer Speicheranordnung ist. O(5N) bedeutet, daß die Prüfzeit auf der Grundlage des March-Algorithmus 5N proportional ist. Wenn dieser Speicherprüfalgorithmus benutzt wird, arbeitet die Speicher-BIST-Steuereinrichtung gemäß der vorliegenden Erfindung auf folgende Weise:
    • (a) Setzte den entsprechenden Speicherwähler auf den logischen Wert 1, was die Speicheranordnung, die geprüft oder diagnostiziert werden soll, anschaltet.
    • (b) Initialisiere den Datenerzeuger zu einem Alles-0-Zustand.
    • (c) Schreibe Anfangsdaten in alle Wörter in der Speicheranordnung.
    • (d) Für jedes Wort in einer Aufwärtsanordnung wiederhole die folgenden Arbeitsschritte 4x: (i) Lies die Inhalte des gegenwärtig adressierten Wortes aus und vergleiche die Speicherinhalte mit den Inhalten des Datenerzeugers um festzustellen, ob ein Fehler vorliegt. (ii) Verschiebe den Datenerzeuger um ein Bit. (iii) Schreibe die Inhalte des Datenerzeugers in das gegenwärtig adressierte Wort.
    • (e) Für jedes Wort in einer Abwärtsreihenfolge wiederhole den Schritt (d).
  • (5) Anpaßbare Speicher-Abtast-Steuereinrichtung.
  • Trotz aller Vorteile von Speicher-BIST können seine Kosten in manchen Fällen ein Problem werden, insbesondere für eine kleine Speicheranordnung. Um dieses Problem zu lösen, kann eine Speicherabtasttechnik benutzt werden, in der Abtastzellen an den Dateneingängen, Datenausgängen und den Adreßleitungen einer Speicheranordnung eingefügt werden. Diese Abtastzellen können in eine oder mehrere Abtastketten verbunden werden. Durch die Abtastketten können Daten und Adressen von einer automatischen Prüfausrüstung (ATE (automatic test equipment)) an die Speicheranordnung geliefert werden und Prüfantworten können von der Speicheranordnung an die ATE übertragen werden. Durch das Verschieben der Prüferzeugung, der Prüfanwendung und des Prüfantwortvergleichs an eine ATE kann die Speicherabtasttechnik eine Speicherprüfung mit sehr geringen Hardwarekosten erzielen. Als Ergebnis ist diese Speicherprüftechnik zum Prüfen kleiner Speicher geeignet.
  • Die vorliegende Erfindung weist weiter alle Verfahren und Vorrichtungen auf, die eine Speicherabtaststeuereinrichtung verwenden, die eine Folge von Mustern anlegt, wo jegliche zwei Bits in der Folge von Mustern vier verschiedene Zustände enthalten: 00, 01, 10 und 11. Solch eine Folge von Mustern kann durch einen Folgenerzeuger so wie einen Johnson-Zähler in einer ATE erzeugt werden. Der Vorteil ist, daß alle Kopplungs- oder Verbindungsfehler zwischen jeglichen zwei Bits in jeglichem Speicherwort in der eingebetteten Speicheranordnung entdeckt oder diagnostiziert werden können. Zusätzlich sind die Hardwarekosten solch einer Speicherabtasttechnik niedrig, was sie für kleinere Speicheranordnungen geeignet macht. Darüber hinaus sollte die Speicherabtaststeuereinrichtung in der Lage sein, an jeden bitweisen March-artigen Abtast-Prüfalgorithmus angepaßt zu werden. Bemerke, daß solch eine Speicherabtastprüfeinrichtung gewöhnlich in einer ATE sitzt. Darüber hinaus werden die Abtastzellen, die an die Dateneingänge und Adreßleitungen einer Speicheranordnung eingefügt werden, in eine Eingangsabtastkette (ISC (input scan chain)) getan; während die Abtastzellen an den Datenausgängen der Speicheranordnung in eine Ausgangsabtastkette (OSC (output scan chain)) getan werden. Diese zwei Abtastketten werden in eine Abtastzustandskette zusammenverbunden, die durch Grenz-Abtastung zugänglich gemacht werden kann.
  • Ein Beispiel eines Speicherabtaststeuereinrichtung gemäß der vorliegenden Erfindung wird unten beschrieben.
  • Angenommen, daß eine 8 × 4 Speicheranordnung (8 Wörter und jedes Wort mit 4 Bits) durch den March-Algorithmus geprüft oder diagnostiziert werden soll. Dies ist ein O(5N)-Speicherprüfalgorithmus, wo N die Anzahl der Wörter in einer Speicheranordnung ist. O(5N) bedeutet, daß die Prüfzeit auf der Grundlage des March-Algorithmus 5N proportional ist. Wenn dieser Speicherprüfalgorithmus benutzt wird, arbeitet die Speicher-BIST-Steuereinrichtung gemäß der vorliegenden Erfindung in der folgenden Weise:
    • (a) Setzte den entsprechenden Speicherwähler auf den logischen Wert 1, was die Speicheranordnung, die geprüft oder diagnostiziert werden soll, anschaltet.
    • (b) Initialisiere den Datenerzeuger zu einem Alles-0-Zustand.
    • (c) Schiebe Anfangsdaten ein und schreibe sie in alle Wörter in der Speicheranordnung.
    • (d) Für jedes Wort in einer Aufwärtsanordnung wiederhole die folgenden Arbeitsschritte 4x: (i) lies die Inhalte des gegenwärtig adressierten Wortes aus. Schiebe die Inhalte vermittels der Speicherabtastkette aus, zur gleichen Zeit schiebe neue Daten, die in die Speicheranordnung über die Speicherabtastkette geschrieben werden sollen, ein und vergleiche die Speicherinhalte mit erwarteten Ergebnissen um zu bestimmen, ob ein Fehler vorliegt. (ii) Schreibe die neu eingeschobenen Daten in das gegenwärtig adressierte Wort.
    • (e) für jedes Wort in Abwärtsreihenfolge wiederhole den Schritt (d).
  • Um es zusammenzufassen: die vorliegende Erfindung verwendet eine verbesserte Speicherprüftechnik. Ein Folgenerzeuger wird benutzt, eine Folge von Mustern zu erzeugen, wo jegliche zwei Bits in der Folge von Mustern vier unterschiedliche Zustände enthalten: 00, 01, 10 und 11. Durch Einschreiben einer solchen Folge von Mustern in eine Speicheranordnung kann sichergestellt werden, daß jeglicher Verbindungsfehler zwischen jeglichen zwei Bits in jedem Speicherwort in der eingebetteten Speicheranordnung entdeckt und diagnostiziert werden kann. Ein Johnson-Zähler kann als ein solcher Folgenerzeuger benutzt werden. Im Grunde kann durch Schreiben von 2n verschiedenen Inhalten aus einem Johnson-Zähler auf jedes Speicherwort sichergestellt werden, daß jeder Verbindungsfehler zwischen allen zwei Bits in jedem Speicherwort in der eingebeten Speicheranordnung entdeckt oder diagnostiziert werden kann. Hier ist n die Breite eines Speicherwortes. Die Hardwarekosten, die benötigt werden um einen Johnson-Zähler zu verwirklichen, sind gering. Außerdem werden anpaßbare Speicherprüfsteuereinrichtungen im Speicher-BIST-Modus und im Speicher-Abtastmodus verwendet, was es leichtmacht, verschiedene Testanforderungen zu erfüllen, indem man an jeden bitweisen March-artigen Speicherselbstprüf- oder Abtastprüf-Algorithmus anpaßt. Außerdem wird ein flexibles Prüfzeitschema benutzt, das auf der Verwendung von Speicherwählern gründet. Jede eingebettete Speicheranordnung hat ihren eigenen Speicherwähler, um anzuzeigen, ob die Speicheranordnung geprüft werden soll oder nicht. Alle die Speicherwähler werden in eine Abtastkette getan, durch die verschiedene Testzeitpläne leicht verwirklicht werden können. Dieses Schema macht es auch leicht, irgendeine einzelne eingebettete Speicheranordnung zu diagnostizieren. Darüber hinaus wird ein Speicherreparaturschema benutzt, auf der Grundlage von Adressenneuabbildung eines Logikblockes, was alle fehlerhaften Speicherbänke überspringen kann. Dies wird die Lebensdauer einer eingebetteten Speicheranordnung bei verminderter Speichergröße verlängern. Der Logikblock zum Adressenneuabbilden ist programmierbar, was es möglich macht, eine eingebettete Speicheranordnung in einer Integrierten Schaltung zu retten, selbst wenn die Integrierte Schaltung in einem System verwendet wird. Zuletzt wird ein Diagnoseschema verwendet, um BIST-Ergebnisse und BIST-Fehlerbeseitigungsinformation wirksam nach außen zu bringen durch Grenz-Abtastung. Dies verbessert die Diagnostizierbarkeit einer Integrierten Schaltung mit einer bedeutenden Anzahl von eingebetteten Speicheranordnungen sehr.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Der obige und andere Gegenstände, Vorteile und Merkmale der Erfindung werden ersichtlicher, wenn sie mit der folgenden Beschreibung und den begleitenden Zeichnungen in Betracht gezogen werden, worin:
  • 1 ein Beispiel einer BIST-Steuereinrichtung um einen 8 × 4-Speicher gemäß der vorliegenden Erfindung zu prüfen oder diagnostizieren, zeigt;
  • 2 ein Beispiel eines Datenerzeugers, der einen Vier-Stufen-Folgenerzeuger gemäß der vorliegenden Erfindung aufweist, zeigt;
  • 3 ein Beispiel einer Folge von Mustern, die durch den Vier-Stufen-Folgenerzeuger der 2 gemäß der vorliegenden Erfindung erzeugt werden, zeigt;
  • 4 ein Beispiel eines Adressenerzeugers, der eine Adressenneuabbildungslogik enthält, um alle fehlerhaften Speicherbänke auszuschalten und alle guten Speicherbänke auf einen Speicher mit verminderter Größe gemäß der vorliegenden Erfindung neu abzubilden, zeigt;
  • 5 ein Beispiel eines Speicherwählers, der zwei D-Flipflops aufweist, um zwei Speicher unter Verwendung von Speicher-BIST gemäß der vorliegenden Erfindung zu prüfen oder zu diagnostizieren, zeigt;
  • 6 ein Beispiel einer BIST-Zustandskette, die eine BIST-Ergebniskette und eine BIST-Fehlerbeseitigungskette gemäß der vorliegenden Erfindung aufweist, zeigt;
  • 7 ein erstes Beispiel eines Abtastverbinders in einer hierarchischen Speicher-BIST-Steuereinrichtung um eine Mehrzahl von Speichern unter Verwendung von zwei Speicher-BIST-Steuereinrichtungen zu prüfen oder zu diagnostizieren, zeigt;
  • 8 ein zweites Beispiel eines Abtastverbinders in einer hierarchischen Speicher-BIST-Steuereinrichtung um eine Mehrzahl von Speichern unter Verwendung von zwei Speicher-BIST-Steuereinrichtungen zu prüfen oder zu diagnostizieren, zeigt;
  • 9 ein O(5N)-March-Prüfverfahren nach dem Stande der Technik und ein O(5N) angepaßtes bitweises March-Prüfverfahren einer Ausführungsform der vorliegenden Erfindung unter Verwendung von Speicher-BIST um den Speicher der 1 zu prüfen oder zu diagnostizieren, zeigt;
  • 10 ein Beispiel einer Speicherabtaststeuereinrichtung um einen 8 × 4-Speicher gemäß der vorliegenden Erfindung zu prüfen oder zu diagnostizieren, zeigt;
  • 11 ein Beispiel einer Abtastzustandskette, die die Eingangsabtastkette und die Ausgangsabtastkette gemäß der vorliegenden Erfindung aufweist, zeigt;
  • 12 zwei Beispiele von Abtastverbindern in einer hierarchischen Speicherabtaststeuereinrichtung um eine Mehrzahl von Speichern unter Verwendung zweier Speicherabtaststeuereinrichtung zu prüfen oder zu diagnostizieren, zeigt;
  • 13 ein O(5N)-March-Prüfverfahren nach dem Stande der Technik und ein O(5N) angepaßtes bitweises March-Prüfverfahren einer Ausführungsform der vorliegenden Erfindung unter Verwendung von Speicherabtastung um den Speicher der 10 zu prüfen oder zu diagnostizieren, zeigt;
  • 14 ein Fließdiagramm eines CAD-Systems zum Aufbau einer hierarchischen Speicher-BIST-Steuereinrichtung gemäß der vorliegenden Erfindung zeigt;
  • 15 ein Fließdiagramm eines Speicher-BIST-Verfahrens um eine Mehrzahl von Speichern gemäß der vorliegenden Erfindung zu prüfen oder zu diagnostizieren, zeigt;
  • 16 ein Fließdiagramm eines CAD-Systems zum Aufbauen einer hierarchischen Speicher-Abtaststeuereinrichtung gemäß der vorliegenden Erfindung zeigt;
  • 17 ein Fließdiagramm eines Speicherabtastverfahrens um eine Mehrzahl von Speichern gemäß der vorliegenden Erfindung zu prüfen oder zu diagnostizieren, zeigt; und
  • 18 ein Beispiel eines Systems, in dem ein CAD-System um eine Mehrzahl von Speichern gemäß der vorliegenden Erfindung zu prüfen oder zu diagnostizieren verwirklicht sein kann, zeigt.
  • INS EINZELNE GEHENDE BESCHREIUNG DER ERFINDUNG
  • Die folgende Beschreibung wird zur Zeit als die beste Art und Weise der Ausführung der vorliegenden Erfindung erwogen. Diese Beschreibung soll nicht in einem beschränkendem Sinne genommen werden, sondern wird nur zum Zwecke des Beschreibens der Grundsätze der Erfindung gemacht. Der Bereich der Erfindung sollte durch Bezug auf die angehängten Ansprüche bestimmt werden.
  • 1 zeigt ein Beispiel einer Speicher-BIST-Steuereinrichtung um einen 8 × 4-Speicher gemäß der vorliegenden Erfindung zu prüfen oder zu diagnostizieren. Die Speicher-BIST-Steuereinrichtung 101 weist einen endlichen Automaten 103, einen Speicherwähler und eine BIST-Zustandskette 104, einen Adressenerzeuger 105, einen Datenerzeuger 106 und einen Vergleicher 107 auf. Der endliche Automat 103 steuert die BIST-Arbeitsweise für den Speicher RAM_8 × 4 102. Wenn der Speicherwähler 104 auf den logischen Wert 1 gesetzt wird, führt der endliche Automat 103 den BIST-Vorgang auf dem Speicher RAM_8 × 4 102 durch, indem er den Adressenerzeuger 105, den Datenerzeuger 106 und den Vergleicher 107 steuert. Auf die Vollendung des BIST-Vorgangs hin oder wenn ein Fehler gefunden worden ist, können die Signalwerte, die in der BIST-Zustandskette 104 gespeichert sind, durch Bist_status_out 118 zur Speicherdiagnose ausgeschoben werden, wenn erforderlich. Das Taktsignal CLK 109 wird durch den Entwerfer geliefert, um als der BIST-Takt verwendet zu werden. Das Bist_mode-Signal 113 ist das Signal um den BIST-Vorgang zu starten. Das Bist-scan-in-Signal 115 kann als der gemeinsame Abtasteingang des Speicherwählers und der BIST- Zustandskette 104, und des Datenerzeugers 106 verwendet werden. Das Bist_status_en-Signal 117 ist das Auslösesignal um den Speicherwähler und die BIST-Zustandskette 104 zu verschieben. Die normalen Adreßleitungen 108 gehen in den Adressenerzeuger 105. Im Funktionsmodus werden normale Adreßleitungen an die Adresseneingänge des Speichers-RAM_8 × 4 102 angeschlossen. Die normalen Dateneingänge 114 gehen in den Datenerzeuger 106. Im Funktionsmodus werden normale Dateneingänge an die Dateneingänge des Speichers-RAM_8 × 4 102 angeschlossen. Der normale CS 110, der normale RE 111 und der normale WE 112 sind das Chip-Wählsignal (chip select signal) bzw. das Lese-Steuersignal (read control signal) bzw. das Schreib-Steuersignal (write control signal) des Speichers RAM_8 × 4 102.
  • 2 zeigt ein Beispiel eines Datenerzeugers der einen vierstufigen Folgenerzeuger gemäß der vorliegenden Erfindung aufweist.
  • Der vierstufige Folgenerzeuger 201 beruht auf einem Johnsonzähler. Er besteht aus 4 D-Flipflops, FF1 203 bis FF4 206, 6 Multiplexern 207 bis 212, einem UND-Gatter 214, und einem Inverter 213. Wenn das Bist_mode-Signal 224 auf den logischen Wert 0 gesetzt wird, wird der Folgenerzeuger 201 als ein Schieberegister wirken. Als Ergebnis können erforderliche Anfangswerte in den Folgeerzeuger 201 eingeschoben werden, bevor der BIST-Vorgang gestartet wird. Wenn das Bist_mode-Signal 224 auf den logischen Wert 1 gesetzt wird, und das Haltesignal 227 auf den logischen Wert 0 gesetzt wird, wird der Folgenerzeuger 201 als ein Johnson-Zähler wirken. Als Ergebnis können Prüfdaten, die in eine Speicheranordnung geschrieben werden sollen, erzeugt werden. Wenn sowohl das Bist-mode-Signal 224 und das Halten-Signal 227 auf den logischen Wert 1 gesetzt werden, wird der Folgenerzeuger 201 seinen Inhalt unverändert halten, selbst wenn die D-Flipflops FF1 203 bis FF4 206 getriggert werden.
  • Zusätzlich wird ein Datenverbinder 202 verwendet, um die Ausgänge des Folgenerzeugers 201 und die normalen Dateneingänge 228 an die Dateneingänge D[3] 232 bis D[0] 223 einer Speicheranordnung zu verbinden. Wenn das Bist-mode-Signal 224 auf den logischen Wert 1 gesetzt wird, werden normale Dateneingänge 228 an die Dateneingänge D[3] 229 bis D[0] 232 einer Speicheranordnung angelegt. Wenn das Bist_mode-Signal 224 auf den logischen Wert 1 gesetzt wird, dann werden die Ausgänge 219 bis 222 des Folgenerzeugers an die Dateneingänge D[3] 229 bis D[0] 232 einer Speicheranordnung angelegt.
  • Darüber hinaus verwendet der Multiplexer 213 das Bist mode-Signal 224 um den Taktgeber zu bestimmen, der verwendet wird, um den Folgenerzeuger 201 anzutreiben. Wenn der Bist_mode 224 auf den logischen Wert 0 gesetzt wird, verwendet der Folgenerzeuger TCK 226. Wenn das Bist_mode-Signal 224 auf den logischen Wert 1 gesetzt wird, verwendet der Folgenerzeuger CLK 225.
  • 3 zeigt ein Beispiel einer Folge von Mustern, die durch den vierstufigen Folgenerzeuger der 2 gemäß der vorliegenden Erfindung erzeugt sind.
  • Die Folge von Mustern 300 wird erzeugt durch zuerst Initialisieren des vierstufigen Folgenerzeugers 201, der in 2 gezeigt ist, mit einem Alles-0-Muster und dann Anlegen von acht Taktimpulsen. Offensichtlich erscheint jede 2-Bit Logikwertkombination aus {00, 01, 10 und 11} an den Ausgängen aller zweier D-Flipflops FF1 203 bis FF4 206, die in 2 gezeigt sind. Dies bedeutet, daß, wenn die Folge von Mustern in ein Speicherwort mit Breite 4 Bit als Prüfdaten geschrieben wird, jeder Verbindungsfehler zwischen allen 2 Bits in jeglichem Wort entdeckt werden wird.
  • 4 zeigt ein Beispiel eines Adressenerzeugers, der eine Adressenabbildungslogik aufweist, um alle fehlerhaften Speicherbänke auszuschalten und alle guten Speicherbänke auf einen Speicher mit verminderter Größe gemäß der vorliegenden Erfindung neu abzubilden.
  • 4A zeigt den Aufbau eines Adressenerzeugers 105, der einen Aufwärts-Abwärts-Zähler 401, einen Multiplexer 402 und eine Adressen-Neuabbildungs-Logik 403 aufweist. Das Bist_mode-Signal 113 wird verwendet, um den Aufwärts-Abwärts-Zähler 401 und das Wählsignal des Multiplexers 402 zu initialisieren. Wenn das Bist_mode-Signal 113 auf den logischen Wert 0 gesetzt wird, wird der Ausgang des Multiplexers 402 aus der normalen Adresse 108 kommen. Wenn das Bist_mode signal 113 auf den logischen Wert 1 gesetzt wird, wird der Ausgang des Multiplexers 402 aus dem Ausgang 404 des Aufwärts-Abwärts-Zählers 401 kommen. Wenn das Zählsignal „count" 407 auf den logischen Wert 1 gesetzt wird, wird der Aufwärts-Abwärts-Zähler 401 den Zählvorgang durchführen; sonst wird der Aufwärts-Abwärts-Zähler 401 seinen Zustand halten. Wenn das Aufwärts-Abwärts-Signal (up-down) 408 auf den logischen Wert 1 gesetzt wird, wird der Aufwärts-Abwärts-Zähler 401 aufwärts zählen; sonst wird der Aufwärts-Abwärts-Zähler 401 abwärts zählen. Die Adressen-Neuabbildungs- Logik 403 nimmt den Ausgang 405 des Multiplexers 402 und bildet ihn dann auf einen durch den Benutzer festgelegten Wert ab.
  • 4B zeigt ein Beispiel der Adressenneuabbildung (address re-mapping). Wie auf der Eingangsadressenseite angezeigt, entsprechen die Bankadressen 000 und 100 zwei fehlerhaften Speicherbänken. Durch die Adressen-Neuabbildungs-Logik 403 werden die Adressen 000 und 100 auf Bankadressen 111 bzw. 110 abgebildet. Bemerke, daß der effektive Bankadressenraum nun von einem Bereich von 000 bis 111 auf einen Bereich von 000 bis 101 vermindert ist.
  • 5 zeigt ein Beispiel eines Speicherwählers der zwei D-Flipflops aufweist um zwei Speicher unter Verwendung von Speicher-BIST gemäß der vorliegenden Erfindung zu prüfen oder zu diagnostizieren.
  • 5 zeigt ein Beispiel eines Speicherwählers 501 um zwei Speicheranordnung M1 502 und M2 503 gemäß der vorliegenden Erfindung zu prüfen. Der Speicherwähler 501 weist zwei D-Flipflops FF1 504 und FF2 505 auf, die ein Schieberegister bilden. Wähl-Abtastung-Ein (select_scan_in) 508 ist der Eingang des Schieberegisters. Das Select_scan_en-Signal 509 ist das Freigabe (enable)-Signal des Schieberegisters. Der endliche Automat 103 nimmt die Ausgänge 511 und 512 des Speicherwählers 501 an und erzeugt die Speichersteuersignale 513 und 514 um die Speicheranordnungen M1 502 und M2 503 freizugeben oder anzuhalten. Wenn sowohl FF1 504 als auch FF2 505 auf den logischen Wert 1 gesetzt werden, wird der BIST-Vorgang an beiden Speicheranordnungen M1 502 und M2 503 durchgeführt. Wenn FF1 504 und FF2 505 auf den logischen Wert 1 bzw. logischen Wert 0 gesetzt werden, wird der BIST-Vorgang nur auf dem ersten Speicher M1 502 durchgeführt. Wenn FF1 504 als auch FF2 505 auf den logischen Wert 0 bzw. logischen Wert 1 gesetzt werden, wird der BIST-Vorgang nur auf dem zweiten Speicher M2 503 durchgeführt. Wenn sowohl FF1 504 als auch FF2 505 auf den logischen Wert 0 gesetzt werden, wird kein BIST-Vorgang durchgeführt auf den Speicheranordnungen M1 502 und M2 503. Wähl-Abtast-Aus (Select_scan_out) 510 kann fortgelassen werden, wenn es keine andere Kette gibt, die nach dem Speicherwähler 501 angeschlossen werden soll.
  • 6 zeigt ein Beispiel einer BIST-Zustandskette, die eine BIST-Ergebniskette und eine BIST-Fehlerbeseitigungskette gemäß der vorliegenden Erfindung aufweist.
  • Die BIST-Ergebniskette 601 weist zwei D-Flipflops FF1 603 und FF2 604 auf. Das ENDE-(finish)-Signal 613 kommt aus dem endlichen Automaten 103 der Speicher-BIST-Steuereinrichtung 101 und wird verwendet, um anzuzeigen, ob der BIST-Vorgang endet. Das Bestanden/Durchgefallen-Signal 614 zeigt das Ergebnis des Prüfens einer Speicheranordnung RAM_8 × 4 102 an. Im Allgemeinen wird jede Speicheranordnung, die geprüft wird, ein Bestanden/Durchgefallen-Signal haben. Das Ergebnis-Abtast-EN-Signal (Result_scan_en) 616, das Ergebnis-Abtast-Ein-Signal (Result_scan_in) 615 und das Ergebnis-Abtast-Aus-(Result_scan-out)-Signal 617 sind das Auslösesignal, der Eingang und der Ausgang der BIST-Ergebniskette 601 und der BIST-Fehlerbeseitigungskette 602. Diese BIST-Ergebniskette 601 kann unabhängig oder Teil anderer Ketten sein.
  • Die BIST-Fehlerbeseitungskette 602 weist eine Mehrzahl von D-Flipflops FF3 607 bis FFn 609 auf. Das Fehlersignal 618 kommt aus dem endlichen Automaten 103 der Speicher-BIST-Steuereinrichtung 101 und wird benutzt, um anzuzeigen, ob ein Fehler gefunden worden ist. Das Fehleradressensignal 619 zeigt an, daß eine fehlerhafte Adresse gefunden worden ist. Das Fehlerdatensignal 620 zeigt an, daß fehlerhafte Daten gefunden worden sind. Die BIST-Fehlerbeseitigungskette 602 kann unabhängig oder Teil anderer Ketten sein.
  • 7 zeigt ein erstes Beispiel eines Abtastverbinders in einer hierarchischen Speicher-BIST-Steuereinrichtung um eine Mehrzahl von Speichern unter Verwendung von zwei Speicher-BIST-Steuereinrichtungen zu prüfen oder zu diagnostizieren.
  • Dieses Beispiel zeigt zwei Speicher-BIST-Steuereinrichtungen MBC1 702 und MBC2 703, deren Abtastketten an die Grenzabtastung (boundary scan) durch den TDI 719 und den TDO 722 angeschlossen sind. Die Abtastketten der Speicher-BIST-Steuereinrichtungen MBC1 702 und MBC2 703 teilen den TDO 722 mit der Grenzabtastkette BSC 701. Der Multiplexer 712 verwendet das Wähle-(select)-Signal 723 um die Quelle für den TDO 722 Ausgang zu wählen. Der Speicherwähler 706, die BIST-Ergebniskette 704 und die BIST-Fehlerbeseitigungskette 705 in der Speicher-BIST-Steuereinrichtung MBC1 702 und der Speicherwähler 710, die BIST-Ergebniskette 708 und die BIST-Fehlerbeseitigungskette 709 in der Speicher-BIST-Steuereinrichtung MBC2 703 sind in eine einzige Abtastkette verbunden. Das scan_en-Signal 718 ist das Freigabe- oder Auslösesignal der Abtastkette. TCK 116 wird als der Taktgeber verwendet, der verwendet wird um die Abtastkette und die Grenzabtastkette BSC 701 anzutreiben. Der TDI 719 Eingang ist der gemeinsame Abtasteingang aller Ketten.
  • 8 zeigt ein zweites Beispiel eines Abtastverbinders in einer hierarchischen Speicher-BIST-Steuereinrichtung um eine Mehrzahl von Speichern unter Verwendung von zwei Speicher-BIST-Steuereinrichtungen zu überprüfen oder zu diagnostizieren.
  • Dieses Beispiel zeigt zwei Speicher-BIST-Steuereinrichtungen MBC1 802 und MBC2 803, deren Abtastketten mit der Grenzabtastung durch den TDI 819 und TDO 823 verbunden sind. Die Abtastketten der Speicher-BIST-Steuereinrichtungen MBC1 802 und MBC2 803 teilen den TDO 823 mit der Grenzabtastkette BSC 801. Der Multiplexer 812 wählt das Wähle-(„select")-Signal 824 um die Quelle für den TDO 823-Ausgang zu wählen. Die BIST-Ergebniskette 804 und die BIST-Fehlerbeseitigungskette 809 in der Speicher-BIST-Steuereinrichtung MBC1 802 und die BIST-Ergebniskette 808 und die BIST-Fehlerbeseitigungskette 809 in der Speicher-BIST-Steuereinrichtung MBC2 803 sind in eine einzige Abtastkette verbunden. Das scan_en-Signal 818 ist das Abtastauslösesignal dieser Abtastkette. Der Speicherwähler 806 in der Speicher-BIST-Steuereinrichtung MBC1 802 und der Speicherwähler 810 in der Speicher-BIST-Steuereinrichtung MBC2 803 sind in eine andere Abtastkette verbunden. Das ms_sel_en-Signal 820 ist das Abtastauslösesignal dieser Abtastkette. Der TCK 116 wird als der Taktgeber verwendet, der verwendet wird, diese zwei Abtastketten und die Grenzabtastkette BSC 801 anzutreiben. Der TDI 819-Eingang ist der gemeinsame Abtasteingang aller Ketten.
  • 9 zeigt eine O(5N)-March-Prüfprozedur nach dem Stand der Technik und eine O(5N) angepaßte bitweise March-Prüfprozedur einer Ausführungsform der vorliegenden Erfindung die Speicher-BIST verwendet, um den Speicher der 1 zu prüfen oder zu diagnostizieren.
  • 9A zeigt eine O(5N)-March-Prüfprozedur nach dem Stand der Technik um die Speicheranordnung RAM_8 × 4 102, die in 1 gezeigt ist, zu prüfen. Leitungen 1 und 2 werden verwendet, um die erste Speicheranordnung mit Alle-0-Hintergrunddaten zu füllen. Leitung 3 dient dazu, durch den Adressenwortraum von 0 bis 7 durchzuschalten. Leitung 4 dient dazu, aus dem Speicherwort zu lesen und das Ergebnis mit dem erwarteten Datenmuster zu vergleichen. Leitung 5 dient dazu, das inverse Muster in das Speicherwort zu schreiben. Leitung 6 wird dazu verwendet, durch den Adressenwortraum von 7 bis 0 zu schalten. Leitung 7 dient dazu, aus dem Speicherwort zu lesen und das Ergebnis mit dem erwarteten Datenmuster zu vergleichen. Leitung 8 dient dazu, das inverse Muster in das Speicherwort zu schreiben.
  • 9B zeigt eine O(5N)-angepaßte-bitweise-March-Prüfprozedur unter Verwendung eines Folgenerzeugers auf der Grundlage eines Johnson-Zählers als eines Datenerzeugers um die in 1 gezeigte Speicheranordnung RAM_8 × 4 102 zu prüfen. Leitung 1 und 2 werden verwendet, um zuerst den Speicher mit anfänglichen Hintergrunddaten zu füllen. Leitung 3 dient dazu, durch den Adressenwortraum von 0 bis 7 zu schalten. Leitung 4 dient dazu, durch die Bitbreite von 0 bis 3 zu schalten. Leitung 5 dient dazu, aus dem Speicherwort zu lesen und das Ergebnis mit dem erwarteten Datenmuster zu vergleichen. Leitung 6 dient dazu, ein neues Muster in das Speicherwort zu schreiben. Leitung 7 wird verwendet, um durch den Adressenwortspeicher von 7 bis 0 zu schalten. Leitung 8 dient dazu, durch die Bitbreite von 0 bis 3 zu schalten. Leitung 9 dient dazu, aus dem Speicherwort zu lesen und das Ergebnis mit dem erwarteten Datenmustern zu vergleichen. Leitung 10 dient dazu, ein neues Muster in das Speicherwort zu schreiben.
  • 10 zeigt ein Beispiel einer Speicherabtaststeuereinrichung um einen 8-mal-4-Speicher gemäß der vorliegenden Erfindung zu prüfen oder zu diagnostzieren.
  • Die Speicherabtaststeuereinrichtung 1001 weist einen Speicherwähler 1002, ein UND-Gatter 1003, eine Eingangsabtastkette ISC (input scan chain) 1004, eine Augangsabtastkette OSC (output scan chain) 1008 und eine Mehrzahl von Multiplexern 1006, 1007 und 1009 auf. Der Speicherwähler 1002 ist ein Schieberegister, dessen Eingang sel scan_in 1010 und dessen Ausgang sel_scan out 1022 ist. Das Verschiebe-Freigabesignal des Speicherwählers 1002 ist sel_scan-en 1011. TCK 1012 ist der Taktgeber des Speicherwähler 1002. Die Speicheradresse und Daten können durch die Eingangsabtastkette ISC 1004 eingeschoben werden. Wenn scan_en 1020 auf den logischen Wert 1 gesetzt wird, können die Speicheradresse und Daten in die Eingangsabtastkette ISC 1004 durch den Abtastketteneingang scan_in 1021 eingeschoben werden. Die Datenausgänge des Speichers RAM_8 × 4 1005 können durch die Ausgangsabtastkette OSC 1008 erfaßt werden. Wenn test_en 1013 auf den logischen Wert 1 gesetzt wird, sind die Speicheradresse und Daten des RAM_8 × 4 1005 von ISC 1004; sonst sind die Speicheradresse und Daten von RAM_8 × 4 1005 aus normalen Adressen A[2:0] 1018 und Daten D[3:0] 1019. Der Taktgeber GTCK 1024 von ISC 1004 und OSC 1008 sind vom UND-Gatter 1003. Wenn der Speicherwähler 1002 gewählt wird, wird sel_scan_out 1022 auf den logischen Wert 1 gesetzt und GTCK 1024 wird das Gleiche wie TCK 1012; sonst hat GTCK 1027 immer den logischen Wert 0, weil sel_scan_out 1022 auf den logischen Wert 0 fest eingestellt ist.
  • 11 zeigt ein Beispiel einer Abtastzustandskette, die die Eingangsabtastkette und die Ausgangsabtastkette gemäß der vorliegenden Erfindung aufweist.
  • Die Eingangsabtastkette ISO 1101 wird für die Adreßleitungen A[2:0] und die Dateneingänge D[3:0] wie in 10 gezeigt eingefügt; während die Ausgangsabtastkette OSC 1102 für Datenausgänge Q[3:0] eingefügt ist. Diese zwei Abtastketten werden zusammen in eine Abtastzustandskette 1100 von der Eingangsabtastkette ISC 1101 zur Ausgangsabtastkette OSC 1102 zusammenverbunden. Die Abtastzustandskette 1100 hat einen Abtasteingang scan_in 1117 und einen Abtastausgang scan_out 1127. Sein Abtastfreigabesignal ist scan en 1118 und sein Taktgeber ist TCK 1119. Offensichtlich können Speicheradressen, Daten, die in ein Speicherwort geschrieben werden sollen und Daten, die aus einem Speicherwort ausgelesen werden über diese Abtastkette übertragen werden, um den Speicherabtasttest einer Speicheranordnung durchzuführen.
  • 12 zeigt zwei Beispiele von Abtastverbindern in einer hierarchischen Speicher-Abtaststeuereinrichtung um eine Mehrzahl von Speichern unter Verwendung von zwei Speicher-Abtaststeuereinrichtungen zu prüfen oder zu diagnostizieren.
  • 12A zeigt ein erstes Beispiel einer Abtastung 1200. Speicher-Abtast-Steuereinrichtungen MSC1 1202 und MSC2 1203 enthalten Speicherwähler MS1 1204 und MS2 1209, UND-Gatter 1205 und 1210, Eingangsabtastketten ISC1 1206 und ISC2 1211 und Ausgangsabtastketten OSC1 1207 bzw. OSC2 1212. Speicherabtaststeuergeräte MSC1 1202 und MSC2 1203 werden verwendet, um eine Speicherabtastprüfung für die Speicheranordnungen M1 1208 bzw. M2 1213 zu steuern. Speicherwähler MS1 1204 und MS2 1209 bilden eine Abtastkette von TDI 1216 bis TDO 1220, die durch den Taktgeber TCK 1217 betrieben wird. Das Abtastauslösesignal für diese Abtastkette ist scan_en 1215. Zusätzlich bilden ISC1 1206, OSC1 1207, ISC2 1211 und OSC2 1212 auch eine Abtastkette von SDI 1218 bis SDO 1222. Das Abtastauslösesignal für diese Abtastkette ist scan_mode 1219. Die Verschiebeoperation von ISC1 1206 und OSC1 1207 wird durch einen gattergesteuerten Taktgeber, der durch das Zusammenführen von TCK 1217 und dem Ausgang des Speicherwählers MS1 1204 mit einem UND-Gatter 1205 erzeugt wird, gesteuert. Als Ergebnis können ISC1 1206 und OSC1 1207 nur dann eine Verschiebeoperation durchführen, wenn Speicheranordnung M1 1208 für Prüfung oder Diagnose gewählt ist. Gleicherweise wird die Verschiebeoperation von ISC2 1211 und OSC2 1212 durch einen gattergesteuerten Taktgeber gesteuert, der durch Zusammenführen des TCK 1217 und des Ausganges des Speicherwählers MS2 1209 mit einem UND-Gatter 1210 erzeugt wird. Als Ergebnis können ISC2 1211 und OSC2 1212 nur dann eine Verschiebeoperation durchführen, wenn die Speicheranordnung M2 1213 für Prüfung oder Diagnose gewählt ist.
  • 12B zeigt ein zweites Beispiel einer Abtastung 1250. Speicher-Abtast-Steuergeräte MSC1 1252 und MSC2 1253 enthalten Speicherwähler MS1 1254 und MS2 1259, UND-Gatter 1255 und 1260, Eingangsabtastketten ISC1 1256 und ISC2 1261 und Ausgangsabtastketten OSC1 1257 bzw. OSC2 1262. Speicherabtaststeuergeräte MSC1 1252 und MSC2 1253 werden verwendet, um eine Speicherabtastprüfung für die Speicheranordnungen M1 1258 bzw. M2 1263 zu steuern. Speicherwähler MS1 1254 und MS2 1259 bilden eine Abtastkette von TDI 1266 bis TDO 1269, die durch den Taktgeber TCK 1267 betrieben werden. Das Abtastauslösesignal für diese Abtastkette ist scan_en 1265. Zusätzlich bilden ISC1 1256, OSC1 1257, ISC2 1261 und OSC2 1262 auch eine Abtastkette von TDI 1266 bis TDO 1269. Das Abtastauslösesignal für diese Abtastkette ist scan_mode 1268. Die Verschiebeoperation von ISC1 1256 und OSC1 1257 wird durch einen gattergesteuerten Taktgeber, der durch das Zusammenführen des TCK 1267 und des Ausgangs des Speicherwählers MS1 1254 mit einem UND-Gatter 1205 erzeugt wird, gesteuert. Als Ergebnis können ISC1 1256 und OSC1 1257 nur dann eine Verschiebeoperation durchführen, wenn Speicheranordnung M1 1258 für Prüfung oder Diagnose gewählt ist. Gleicherweise wird die Verschiebeoperation von ISC2 1261 und OSC2 1262 durch einen gattergesteuerten Taktgeber gesteuert, der durch Zusammenführen des TCK 1267 und des Ausganges des Speicherwählers MS2 1259 mit einem UND-Gatter 1260 erzeugt wird. Als Ergebnis können ISC2 1261 und OSC2 1262 nur dann eine Verschiebeoperation durchführen, wenn die Speicheranordnung M2 1263 für Prüfung oder Diagnose gewählt ist.
  • 13 zeigt einen O(5N)-Marchprüfvorgang nach dem Stande der Technik und einen 0(5N) angepaßten bitweisen Marchprüfvorgang einer Ausführungsform der vorliegenden Erfindung unter Verwendung von Speicherabtastung um den Speicher der 10 zu prüfen oder zu diagnostizieren.
  • 13A zeigt einen O(5N)-Marchprüfvorgang nach dem Stande der Technik um die in 10 gezeigte Speicheranordnung zu prüfen. Am Anfang werden alle Wörter in der Speicheranordnung mit Alle-0-Hintergrunddaten wie in Zeilen 1 bis 3 gezeigt gefüllt. Dann wird ein Prüfdurchgang auf jedem Speicherwort in einer ansteigenden Reihenfolge von Adresse 0 bis Adresse 7 wie auf Zeilen 4 bis 8 gezeigt durchgeführt. In jedem Prüfdurchgang wird das Speicherwort gelesen und ausgeschoben um mit dem erwarteten Datenmuster zu vergleichen, wie auf Zeilen 5 und 6 gezeigt. Danach wird das invertierte Datenmuster eingeschoben und auf das Wort wie auf Zeilen 7 und 8 gezeigt geschrieben. Solch ein Prüfdurchgang wird dann für jedes Speicherwort in einer absteigenden Reihenfolge von Adresse 7 bis Adresse 0 wiederholt, wie auf Zeilen 9 bis 13 gezeigt.
  • 13B zeigt einen O(5N)-angepaßten bitweisen Marchprüfvorgang um die in 10 gezeigte Speicheranordnung zu prüfen. Am Anfang werden alle Wörter in der Speicheranordnung mit Alle-0-Hintergrunddaten wie auf Zeilen 1 bis 3 gezeigt gefüllt. Dann wird ein Prüfdurchgang auf jedem Speicherwort in einer ansteigenden Reihenfolge von Adresse 0 bis Adresse 7 wie auf Zeilen 4 bis 9 gezeigt durchgeführt. In jedem Prüfdurchgang wird die folgende Menge von Operationen auf jedem Speicherwort vier Mal (der Anzahl von Bits in einem Speicherwort) wiederholt wie auf Zeilen 5 bis 9 gezeigt: Zuerst wird das Speicherwort gelesen und ausgeschoben um mit dem erwarteten Datenmuster zu vergleichen, wie auf Zeilen 6 und 7 gezeigt. Danach wird ein neues Datenmuster eingeschoben und auf das Wort geschrieben, wie auf Zeilen 8 und 9 gezeigt. Solch ein Prüfdurchgang wird dann für jedes Speicherwort in einer absteigenden Reihenfolge von Adresse 7 bis Adresse 0 wiederholt, wie auf Zeilen 10 bis 15 gezeigt.
  • 14 zeigt ein Fließdiagramm eines CAD-Systems zum Erzeugen einer hierarchischen Speicher-BIST-Steuereinrichtung gemäß der vorliegenden Erfindung. Das CAD-System nimmt Speicher-BIST-Beschränkungen 1401, Speicherbeschreibungen 1402 und einen ausgewählten Speicher-Selbstprüfalgorithmus 1403 an. Die Kompilierung 1404 wird durchgeführt um eine Entwurfsdatenbank 1405 zu erzeugen, auf deren Grundlage eine hierarchische Speicher-BIST-Synthese durchgeführt wird, um den Speicher-BIST-Steuereinrichtungs-HDL-(hardware design language)-Code 1408 sowie HDL-Prüfbänke und ATE-Prüfprogramme 1407 zu erzeugen. Alle Berichte und Fehler werden in den Listendateien 1409 gespeichert.
  • 15 zeigt ein Fließdiagramm eines Speicher-BIST-Verfahrens um eine Mehrzahl von Speichern gemäß der vorliegenden Erfindung zu prüfen oder zu diagnostizieren. Zuerst, in der Stufe der Speichergruppenwahl 1501, wird eine Gruppe von Speicheranordnungen gewählt, auf der Grundlage von Spitzenleistungsaufnahme, durchschnittlicher Energieabgabe und der Prüfzeit. Zweitens werden, in der Stufe der Speicher-BIST-Ausführung 1502, die gewählten Speicheranordnungen durch die Speicher-BIST-Technik geprüft oder diagnostiziert. Drittens, in der Speicher. BIST-Zustandsanalyse 1503 wird Prüf- oder Diagnosezustandsinformation analysiert um zu bestimmen, ob eine Speicheranordnung fehlerhaft ist oder wo die fehlerhaften Wörter usw. sich befinden. Dieser Vorgang wird wiederholt, bis alle Speichergruppen geprüft oder diagnostiziert worden sind.
  • 16 zeigt ein Fließdiagramm eines CAD-Systems zu Synthese einer hierarchischen Speicherabtaststeuereinrichtung gemäß der vorliegenden Erfindung. Das CAD-System nimmt Speicher-Abtast-Beschränkungen 1601, Speicherbeschreibungen 1602 und einen ausgewählten Speicher-Abtastprüfalgorithmus 1603 an. Die Kompilierung 1604 wird durchgeführt um eine Entwurfsdatenbank 1605 zu erzeugen, auf deren Grundlage eine hierarchische Speicher-Abtast-Synthese durchgeführt wird, um den Speicher-Abtast-Steuereinrichtungs-HDL-(hardware design language)-Code 1608 sowie HDL-Prüfbänke und ATE-Prüfprogramme 1607 zu erzeugen. Alle Berichte und Fehler werden in den Listendateien 1609 gespeichert.
  • 17 zeigt ein Fließdiagramm eines Speicher-Abtast-Verfahrens um eine Mehrzahl von Speichern gemäß der vorliegenden Erfindung zu prüfen oder zu diagnostizieren. Zuerst, in der Stufe der Speichergruppenwahl 1701, wird eine Gruppe von Speicheranordnungen gewählt, auf der Grundlage von Spitzenleistungsaufnahme, durchschnittlicher Energieabgabe und Prüfzeit. Zweitens werden, in der Stufe der Speicher-Abtast-Ausführung 1702, die gewählten Speicheranordnungen durch die Speicher-Abtast-Technik geprüft oder diagnostiziert. Drittens, in der Speicher. Abtast-Zustandsanalyse 1703 wird Prüf- oder Diagnosezustandsinformation analysiert um zu bestimmen, ob eine Speicheranordnung fehlerhaft ist oder wo die fehlerhaften Wörter usw. sich befinden. Dieser Vorgang wird wiederholt, bis alle Speichergruppen geprüft oder diagnostiziert worden sind.
  • 128 zeigt ein Beispiel eines Systems, in dem ein CAD-System, das Speicher-BIST oder Speicherabtastung zum Prüfen oder Diagnostizieren einer Mehrzahl von Speicheranordnungen, gemäß der vorliegenden Erfindung, verwendet, verwirklicht werden kann. Das System 1800 weist einen Prozessor 1802, der mit einem Speicher 1801 zusammenarbeitet um eine Menge von Speicher-BIST- oder Speicher-Abtast-Synthesesoftware laufen zu lassen, auf. Der Prozessor 1802 kann eine Zentralverarbeitungseinheit (CPU, central processing unit)) eines PCs, einer Workstation, eines Großrechners oder eines anderen geeigneten digitalen Verarbeitungsgerätes darstellen. Der Speicher 1801 kann ein elektronischer Speicher oder ein Speicher auf der Grundlage einer magnetischen oder optischen Scheibe sein, oder verschiedene Kombinationen davon. Ein Entwurfsgerät (designer) wirkt mit der Speicher-BIST- oder der Speicher-Abtast-Synthesesoftware zusammen, die durch den Prozessor 1802 laufen gelassen wird, um passende Eingänge über eine Eingabevorrichtung, die eine Tastatur, ein Plattenlaufwerk oder andere geeignete Quelle von Entwurfsinformation sein kann, zu liefern. Der Prozessor 1802 liefert Ausgänge an das Entwurfsgerät über eine Ausgabevorrichtung 1804, die eine Anzeige, ein Drucker, ein Plattenlaufwerk oder verschiedene Kombinationen dieser und anderer Elemente sein kann. Nachdem somit gegenwärtig bevorzugte Ausführungsformen der vorliegenden Erfindung beschrieben worden sind, kann nun gewürdigt werden, daß die Ziele der Erfindung vollständig erreicht worden sind. Und es wird durch den Fachmann verstanden werden, daß viele Änderungen im Aufbau und der Schaltung, und sich weithin unterscheidende Ausführungsformen und Anwendungen der Erfindung sich aufdrängen ohne den Bereich der Erfindung zu verlassen. Die Offenbarung und die Beschreibung hierin sollen erläuternd sein und sind nicht in irgendeinem Sinne Beschränkung der Erfindung, die bevorzugter durch die folgenden Ansprüche in ihrem Bereich umrissen ist.

Claims (16)

  1. Ein Speicher-Selbstprüf-(BIST (built-in self-test))-Steuergerät (101) zum Prüfen oder Diagnostizieren eines Speichers in einer Integrierten Schaltung, wobei das BIST-Steuergerät einen Datenerzeuger (106) hat, der Speicher eine Mehrzahl von Adreßleitungen und Dateneingängen hat; wobei besagter Datenerzeuger gekennzeichnet ist durch: (a) einen Folgenerzeuger (201) zum Erzeugen einer Folge von Mustern, worin besagte Folge von Mustern vier unterschiedene Zustände enthält, 00, 01, 10 und 11, zwischen jeglichen zwei Ausgängen besagten Folgenerzeugers; und (b) einen Datenverbinder (202) zum Verbinden der Ausgänge besagten Folgenerzeugers an besagte Dateneingänge besagten Speichers in Antwort auf einen Speicher-BIST-Modus, so daß alle der vier Kombinationen von 00, 01, 10 und 11 in jede zwei Bits in jedem Speicherwort geschrieben werden.
  2. Das Speicher-BIST des Anspruchs 1, weiter gekennzeichnet dadurch, daß besagter Folgenerzeuger (201) ein Johnson-Zähler ist.
  3. Das Speicher-BIST des Anspruchs 1, weiter gekennzeichnet dadurch, daß besagter Folgenerzeuger (201) eine Initialisierungsschaltung zum Initialisieren besagten Folgenerzeugers in einen Anfangszustand aufweist, wobei besagte Initialisierungsschaltung durch besagten Speicher-BIST-Modus gesteuert wird.
  4. Das Speicher-BIST des Anspruchs 1, weiter gekennzeichnet dadurch, daß besagter Folgenerzeuger eine Haltezustands-Schaltung (227) zum Halten besagten Folgenerzeugers in seinem vorhergehenden Zustand aufweist, worin besagte Haltezustands-Schaltung durch besagten Speicher-BIST-Modus gesteuert wird.
  5. Das Speicher-BIST des Anspruchs 1, weiter gekennzeichnet dadurch, daß besagter Datenverbinder (202) eine Mehrzahl von Multiplexern (215218) zum Verbinden besagter Ausgänge besagten Folgenerzeugers an besagte Dateneingänge besagten Speichers aufweist, worin besagte Multiplexer durch besagten Speicher-BIST-Modus gesteuert werden.
  6. Das in Anspruch 1 angegebene Speicher-BIST, weiter gekennzeichnet durch ein Steuergerät, wobei besagtes Steuergerät aufweist: (a) einen endlichen Automaten (103) zum Erzeugen von Steuersignalen entsprechend einer angepaßten bitweisen Prüfung, die an besagtem Speicher durchgeführt wird, um den Speicher-BIST-Betrieb zu steuern, in Antwort auf einen Speicher-BIST-Modus; (b) einen Adressenerzeuger (105), der durch besagten endlichen Automaten gesteuert wird um die Adresse besagten Speichers zu erzeugen; und (c) einen Vergleicher (107), der durch besagten endlichen-Automaten gesteuert wird um Vergleichsdaten mit Ausgangsdaten, die aus besagtem Speicher gelesen werden, zu vergleichen.
  7. Das Speicher-BIST des Anspruchs 6, weiter gekennzeichnet dadurch, daß besagte angepaßte bitweise Prüfung, die an besagtem Speicher durchgeführt wird, ein ausgewählter March-artiger Speicherselbstprüfsalgorithmus ist, daran angepaßt, Verbindungsfehler zwischen jeglichen zwei Bits in jeglichem Speicherwort in besagtem Speicher zu prüfen.
  8. Das Speicher-BIST des Anspruchs 6, weiter gekennzeichnet dadurch, daß besagter Folgenerzeuger (201) ein Johnson-Zähler ist.
  9. Das Speicher-BIST des Anspruchs 6, weiter gekennzeichnet dadurch, daß besagter Folgenerzeuger (201) eine Initialisierungsschaltung zum Initialisieren besagten Folgenerzeugers in einen Anfangszustand aufweist, worin besagte Initialisierungsschaltung durch besagten Speicher-BIST-Modus gesteuert wird.
  10. Das Speicher-BIST des Anspruchs 6, weiter gekennzeichnet dadurch, daß besagter Folgenerzeuger (201) eine Haltezustands-Schaltung zum Halten besagten Folgenerzeugers in seinem vorhergehenden Zustand aufweist, worin besagte Haltezustands-Schaltung durch besagten Speicher-BIST-Modus gesteuert wird.
  11. Das Speicher-BIST des Anspruchs 6, weiter gekennzeichnet dadurch, daß besagter Datenverbinder (202) eine Mehrzahl von Multiplexern zum Verbinden besagter Ausgänge besagten Folgenerzeugers an besagte Dateneingänge besagten Speichers aufweist, worin besagte Multiplexer durch besagten Speicher-BIST-Modus gesteuert werden.
  12. Das Speicher-BIST des Anspruchs 6, weiter gekennzeichnet dadurch, daß besagter Speicher weiter eine Mehrzahl von Speicherbereichen, die gleichzeitig getestet oder diagnostiziert werden, aufweist
  13. Das Speicher-BIST des Anspruchs 1, weiter gekennzeichnet durch ein Speicherabtaststeuergerät (1001), wobei besagtes Speicherabtaststeuergerät aufweist: (a) Eine Mehrzahl von Abtastzellen, die als ein Schieberegister zusammengeschaltet sind, um eine Folge von Mustern an besagte Adreßleitungen und besagte Dateneingänge einzuschieben, in Antwort auf einen Speicherabtastmodus, und (b) eine externe automatische Prüfausrüstung (ATE) zum Erzeugen und Einschieben besagter Folge von Mustern an besagte Adreßleitungen und besagte Dateneingänge gemäß einer angepaßten bitweisen Prüfung, die an besagtem Speicher in Antwort auf besagten Speicherabtastmodus durchgeführt wird.
  14. Das Speicher-BIST des Anspruchs 13, weiter gekennzeichnet dadurch, daß besagte externe automatische Prüfausrüstung (ATE) weiter aufweist das Ausschieben von Ausgangsdaten, die aus besagtem Speicher gelesen sind an besagte ATE und das Vergleichen besagter Ausgangsdaten mit erwarteten Daten, die in besagter ATE gespeichert sind.
  15. Das Speicher-BIST des Anspruchs 13, weiter gekennzeichnet dadurch, daß besagte angepaßte bitweise Prüfung, die an besagtem Speicher durchgeführt wird, ein ausgewählter March-artiger Speicherabtastprüfalgorithmus ist, der daran angepaßt ist, Verbindungsfehler zwischen jeglichen zwei Bits in jeglichem Speicherwort in besagtem Speicher zu prüfen.
  16. Das Speicher-BIST des Anspruchs 13, weiter gekennzeichnet dadurch, daß besagte Folge von Mustern in besagten Dateneingängen gemäß der Betriebsweise eines Johnson-Zählers erzeugt wird.
DE60220511T 2001-04-10 2002-04-09 Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher Expired - Lifetime DE60220511T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US28291701P 2001-04-10 2001-04-10
US282917P 2001-04-10
US10/116,128 US20020194558A1 (en) 2001-04-10 2002-04-05 Method and system to optimize test cost and disable defects for scan and BIST memories
US116128 2002-04-05
PCT/US2002/008245 WO2002084668A1 (en) 2001-04-10 2002-04-09 Method and system to optimize test cost and disable defects for scan and bist memories

Publications (2)

Publication Number Publication Date
DE60220511D1 DE60220511D1 (de) 2007-07-19
DE60220511T2 true DE60220511T2 (de) 2008-02-14

Family

ID=26813916

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60220511T Expired - Lifetime DE60220511T2 (de) 2001-04-10 2002-04-09 Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher

Country Status (5)

Country Link
US (1) US20020194558A1 (de)
EP (1) EP1377981B1 (de)
AT (1) ATE364227T1 (de)
DE (1) DE60220511T2 (de)
WO (1) WO2002084668A1 (de)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308629B2 (en) * 2004-12-07 2007-12-11 Texas Instruments Incorporated Addressable tap domain selection circuit with TDI/TDO external terminal
WO2002021234A2 (en) 2000-09-06 2002-03-14 Infineon Technologies Ag Bist for parallel testing of on-chip memory
DE10135583B4 (de) * 2001-07-20 2004-05-06 Infineon Technologies Ag Datengenerator zur Erzeugung von Testdaten für wortorientierte Halbleiterspeicher
US6853597B2 (en) * 2001-10-03 2005-02-08 Infineon Technologies Aktiengesellschaft Integrated circuits with parallel self-testing
US7734966B1 (en) 2002-12-26 2010-06-08 Marvell International Ltd. Method and system for memory testing and test data reporting during memory testing
US7210059B2 (en) * 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
JP4381750B2 (ja) * 2003-08-28 2009-12-09 株式会社ルネサステクノロジ 半導体集積回路
US7310752B2 (en) 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
JP4533616B2 (ja) * 2003-10-17 2010-09-01 株式会社 日立ディスプレイズ 表示装置
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7216196B2 (en) 2003-12-29 2007-05-08 Micron Technology, Inc. Memory hub and method for memory system performance monitoring
US7213186B2 (en) 2004-01-12 2007-05-01 Taiwan Semiconductor Manufacturing Company Memory built-in self test circuit with full error mapping capability
DE102004004808A1 (de) * 2004-01-30 2005-08-25 Infineon Technologies Ag Verfahren und Vorrichtung zum Sichern und Einstellen eines Schaltungszustandes einer mikroelektronischen Schaltung
US7310748B2 (en) * 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US8621304B2 (en) * 2004-10-07 2013-12-31 Hewlett-Packard Development Company, L.P. Built-in self-test system and method for an integrated circuit
EP1806847B1 (de) * 2004-10-28 2010-02-17 IP Flex Inc. Datenverarbeitungsgerät mit rekonfigurierbarer logischer schaltung
US7353437B2 (en) * 2004-10-29 2008-04-01 Micron Technology, Inc. System and method for testing a memory for a memory failure exhibited by a failing memory
JP4826116B2 (ja) * 2005-03-25 2011-11-30 富士通株式会社 Ram試験装置及び試験方法
US7496809B2 (en) * 2005-06-10 2009-02-24 Stmicroelectronics Pvt. Ltd. Integrated scannable interface for testing memory
US7308656B1 (en) * 2005-10-04 2007-12-11 Xilinx, Inc. Method and apparatus for generating a boundary scan description and model
US7484138B2 (en) * 2006-06-09 2009-01-27 Taiwan Semiconductor Manufacturing Co., Ltd. Method and system for improving reliability of memory device
US7917825B2 (en) * 2006-12-15 2011-03-29 Joo-Sang Lee Method and apparatus for selectively utilizing information within a semiconductor device
JP5080501B2 (ja) * 2007-02-16 2012-11-21 株式会社アドバンテスト 試験装置および試験方法
US7779316B2 (en) * 2007-12-05 2010-08-17 Oracle America, Inc. Method of testing memory array at operational speed using scan
US7996805B2 (en) * 2008-01-08 2011-08-09 National Semiconductor Corporation Method of stitching scan flipflops together to form a scan chain with a reduced wire length
US7735045B1 (en) * 2008-03-12 2010-06-08 Xilinx, Inc. Method and apparatus for mapping flip-flop logic onto shift register logic
KR100989458B1 (ko) * 2008-05-13 2010-10-22 주식회사 하이닉스반도체 반도체 장치의 카운터
US8127184B2 (en) * 2008-11-26 2012-02-28 Qualcomm Incorporated System and method including built-in self test (BIST) circuit to test cache memory
US9003251B2 (en) * 2010-03-16 2015-04-07 Stmicroelectronics International N.V. Diagnosis flow for read-only memories
US20120140541A1 (en) * 2010-12-02 2012-06-07 Advanced Micro Devices, Inc. Memory built-in self test scheme for content addressable memory array
US8239818B1 (en) * 2011-04-05 2012-08-07 International Business Machines Corporation Data structure for describing MBIST architecture
CN102799516B (zh) * 2011-05-21 2016-05-04 江南大学 一种大规模集成电路测试人力成本管理方法
US20130019130A1 (en) 2011-07-15 2013-01-17 Synopsys Inc. Testing electronic memories based on fault and test algorithm periodicity
US8850280B2 (en) * 2011-10-28 2014-09-30 Lsi Corporation Scan enable timing control for testing of scan cells
US8769354B2 (en) * 2012-06-28 2014-07-01 Ememory Technology Inc. Memory architecture and associated serial direct access circuit
EP2693441B8 (de) * 2012-07-31 2015-03-11 eMemory Technology Inc. Speicherarchitektur und dazugehörige serielle Direktzugriffsschaltung
US8719761B2 (en) * 2012-09-24 2014-05-06 Candence Design Systems, Inc. Method and apparatus for optimizing memory-built-in-self test
US9165687B2 (en) * 2013-01-21 2015-10-20 Cisco Technology, Inc. Methods and apparatus for testing and repairing digital memory circuits
US20150074474A1 (en) * 2013-09-06 2015-03-12 Broadcom Corporation System and method for on-the-fly incremental memory repair
US20150254383A1 (en) * 2014-02-06 2015-09-10 StarDFX Technologies, Inc. Method for concurrent simulation to evaluate the test quality of integrated circuits and computer program
US10824342B2 (en) 2014-02-28 2020-11-03 Hewlett Packard Enterprise Development Lp Mapping mode shift between mapping modes that provides continuous application access to storage, wherein address range is remapped between said modes during data migration and said address range is also utilized bypass through instructions for direct access
KR20150130888A (ko) * 2014-05-14 2015-11-24 에스케이하이닉스 주식회사 셀프 리페어 동작을 수행하는 반도체 메모리 장치
KR101631461B1 (ko) * 2014-09-30 2016-06-17 주식회사 네오셈 메모리 소자 테스트 장치 및 방법
CN105572573B (zh) * 2014-10-30 2018-08-24 国际商业机器公司 用于存储器时序测试的扫描链、扫描链构建方法和相应装置
WO2016159930A1 (en) 2015-03-27 2016-10-06 Hewlett Packard Enterprise Development Lp File migration to persistent memory
US10684954B2 (en) 2015-04-02 2020-06-16 Hewlett Packard Enterprise Development Lp Page cache on persistent memory
US9881693B2 (en) * 2016-02-16 2018-01-30 Micron Technology, Inc. Selectors on interface die for memory device
US10460822B2 (en) * 2017-08-23 2019-10-29 Arm Limited Memory with a controllable I/O functional unit
US10408876B2 (en) * 2018-01-29 2019-09-10 Oracle International Corporation Memory circuit march testing
US10937518B2 (en) 2018-12-12 2021-03-02 Micron Technology, Inc. Multiple algorithmic pattern generator testing of a memory device
US11080183B2 (en) * 2019-08-13 2021-08-03 Elite Semiconductor Memory Technology Inc. Memory chip, memory module and method for pseudo-accessing memory bank thereof
US11462295B2 (en) 2020-04-10 2022-10-04 International Business Machines Corporation Microchip level shared array repair
US11378623B2 (en) 2020-12-08 2022-07-05 International Business Machines Corporation Diagnostic enhancement for multiple instances of identical structures
CN114660445A (zh) * 2020-12-23 2022-06-24 恩智浦美国有限公司 具有嵌入式存储器模块的集成电路
TWI793688B (zh) 2021-02-03 2023-02-21 日商鎧俠股份有限公司 半導體積體電路
US11835991B2 (en) 2021-03-22 2023-12-05 Stmicroelectronics International N.V. Self-test controller, and associated method
CN116030874B (zh) * 2023-03-24 2023-08-18 长鑫存储技术有限公司 测试方法、装置、电子设备和计算机可读存储介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3359818A (en) * 1965-03-23 1967-12-26 Plessey Co Ltd Actuation system more particularly for changing the direction of the jet engine nozzles of a vertical take-off and landing aircraft
US4583041A (en) * 1983-05-31 1986-04-15 Takeda Riken Co., Ltd. Logic circuit test system
US4687988A (en) * 1985-06-24 1987-08-18 International Business Machines Corporation Weighted random pattern testing apparatus and method
US5422891A (en) * 1993-07-23 1995-06-06 Rutgers University Robust delay fault built-in self-testing method and apparatus
US5617531A (en) * 1993-11-02 1997-04-01 Motorola, Inc. Data Processor having a built-in internal self test controller for testing a plurality of memories internal to the data processor
US5815512A (en) * 1994-05-26 1998-09-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory testing device
US5655113A (en) * 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
US5577050A (en) * 1994-12-28 1996-11-19 Lsi Logic Corporation Method and apparatus for configurable build-in self-repairing of ASIC memories design
US5535164A (en) * 1995-03-03 1996-07-09 International Business Machines Corporation BIST tester for multiple memories
US6041426A (en) * 1995-04-07 2000-03-21 National Semiconductor Corporation Built in self test BIST for RAMS using a Johnson counter as a source of data
US5825785A (en) * 1996-05-24 1998-10-20 Internaitonal Business Machines Corporation Serial input shift register built-in self test circuit for embedded circuits
US5974579A (en) * 1996-09-03 1999-10-26 Credence Systems Corporation Efficient built-in self test for embedded memories with differing address spaces
US5878051A (en) * 1997-02-05 1999-03-02 Lockheed Martin Corp. Assembly-level bist using field-programmable gate array
US5923675A (en) * 1997-02-20 1999-07-13 Teradyne, Inc. Semiconductor tester for testing devices with embedded memory
JP3867862B2 (ja) * 1997-04-16 2007-01-17 株式会社ルネサステクノロジ 半導体集積回路およびメモリの検査方法
US6014336A (en) * 1997-04-30 2000-01-11 Texas Instruments Incorporated Test enable control for built-in self-test
US5875153A (en) * 1997-04-30 1999-02-23 Texas Instruments Incorporated Internal/external clock option for built-in self test
US5987632A (en) * 1997-05-07 1999-11-16 Lsi Logic Corporation Method of testing memory operations employing self-repair circuitry and permanently disabling memory locations
US6237123B1 (en) * 1997-10-07 2001-05-22 Lucent Technologies Inc. Built-in self-test controlled by a token network and method
US6001662A (en) * 1997-12-02 1999-12-14 International Business Machines Corporation Method and system for providing a reusable configurable self-test controller for manufactured integrated circuits
US5995731A (en) * 1997-12-29 1999-11-30 Motorola, Inc. Multiple BIST controllers for testing multiple embedded memory arrays
JP2000030483A (ja) * 1998-07-15 2000-01-28 Mitsubishi Electric Corp 大規模メモリ用bist回路
US6381715B1 (en) * 1998-12-31 2002-04-30 Unisys Corporation System and method for performing parallel initialization and testing of multiple memory banks and interfaces in a shared memory module
US6553525B1 (en) * 1999-11-08 2003-04-22 International Business Machines Corporation Method and apparatus for selectively enabling and disabling functions on a per array basis
US6671837B1 (en) * 2000-06-06 2003-12-30 Intel Corporation Device and method to test on-chip memory in a production environment
JP3893238B2 (ja) * 2000-07-14 2007-03-14 富士通株式会社 半導体記憶装置の不良解析装置
US6347056B1 (en) * 2001-05-16 2002-02-12 Motorola, Inc. Recording of result information in a built-in self-test circuit and method therefor

Also Published As

Publication number Publication date
DE60220511D1 (de) 2007-07-19
ATE364227T1 (de) 2007-06-15
EP1377981A1 (de) 2004-01-07
US20020194558A1 (en) 2002-12-19
EP1377981A4 (de) 2006-03-22
WO2002084668A1 (en) 2002-10-24
EP1377981B1 (de) 2007-06-06

Similar Documents

Publication Publication Date Title
DE60220511T2 (de) Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher
DE19952272B4 (de) Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen
DE60211659T2 (de) Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd)
DE102006009224B4 (de) Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest
DE60030480T2 (de) Gerät und verfahren zum selektiven verdichten von testergebnissen
DE60212962T2 (de) Hierarchischer intergrierter selbsttest
DE60005156T2 (de) Verteilte schnittstelle zur parallelen prüfung von mehreren vorrichtungen, wobei nur ein einzelner testkanal benutzt wird
DE69729771T2 (de) Integrierte Schaltung mit einer eingebauten Selbsttestanordnung
DE60221836T2 (de) Verfahren und vorrichtung zur optimierten parallelen prüfung und zum zugriff auf elektronische schaltung
DE2729053C2 (de) Prüfverfahren für eine monolithisch integrierte stufenempfindliche, einseitig verzögerungsabhängige logische Einheit
DE60104854T2 (de) System und Verfahren zum Testen integrierter Schaltungen
DE102011053359B4 (de) Latch-basierte Speichervorrichtung und Verfahren zum Testen derselben
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE3607015A1 (de) Verfahren und vorrichtung zur funktionspruefung von direktzugriffsspeichern
DE10297319T5 (de) Anwendungsspezifisches ereignisbasiertes Halbleiterspeicher-Testsystem
DE10343227A1 (de) System und Verfahren zum Testen eines Schaltungsaufbaus unter Verwendung einer extern erzeugten Signatur
DE10225381A1 (de) Verfahren und Vorrichtung zum Speichern von Speichertestinformantion
DE112008000397T5 (de) Eingebettete Architektur mit serieller Schnittstelle zum Testen von Flashspeichern
DE19947603A1 (de) Vorrichtung und Verfahren zum Testen eines Mikroprozessors mit einem platinen-eigenen Testvektorgenerator
DE102005026403B4 (de) Verfahren zum Liefern von Abtastmustern zu einer elektronischen Vorrichtung
DE60018468T2 (de) Verbrauch von redundanzdaten für das anzeigen der bitfehlerkarten für halbleiterelemente
DE19952262A1 (de) Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren
DE102004012279B3 (de) Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips
DE10250875B4 (de) Vorrichtung und Verfahren zum Konfigurieren einer integrierten Schaltung mit eingebettetem Speicher
DE10019790C2 (de) Testsystem für Halbleitervorrichtungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition