DE60004399T2 - Verfahren und vorrichtung zur prüfung eines externen speichers mit einer eingebautem selbsttest - Google Patents

Verfahren und vorrichtung zur prüfung eines externen speichers mit einer eingebautem selbsttest Download PDF

Info

Publication number
DE60004399T2
DE60004399T2 DE60004399T DE60004399T DE60004399T2 DE 60004399 T2 DE60004399 T2 DE 60004399T2 DE 60004399 T DE60004399 T DE 60004399T DE 60004399 T DE60004399 T DE 60004399T DE 60004399 T2 DE60004399 T2 DE 60004399T2
Authority
DE
Germany
Prior art keywords
memory
type
network interface
external
built
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
DE60004399T
Other languages
English (en)
Other versions
DE60004399D1 (de
Inventor
Sie Boo Chiang
Beng Chew Khou
Jacques Wong
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of DE60004399D1 publication Critical patent/DE60004399D1/de
Application granted granted Critical
Publication of DE60004399T2 publication Critical patent/DE60004399T2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf das Gebiet der Netzwerkkommunikation und insbesondere auf das Prüfen eines externen Systemspeichers von einer Netzwerk-Interface-Steuerung.
  • Hintergrund der Erfindung
  • Nahbereichsnetzwerke verwenden ein Netzwerkkabel oder ein anderes Medium, um Teilnehmer in dem Netzwerk miteinander zu verbinden. Jede Architektur von Nahbereichsnetzwerken verwendet eine Medienzugriffssteuerung (MAC), welche es Netzwerk-Interface-Karten an jedem Teilnehmer ermöglicht, den Zugriff auf das Medium zu teilen.
  • Gewöhnliche Architekturen von Nahbereichsnetzwerken verwenden Medienzugriffssteuerungen, die in Übereinstimmung mit dem Halbduplex oder Vollduplex Ethernet (ANSI/IEEE 802.3) Protokoll unter Verwendung eines beschriebenen Netzwerkmediums, wie 10 BASE-T, arbeiten. Neuere Betriebssysteme erfordern, dass ein Netzwerkteilnehmer fähig ist, das Vorhandensein des Netzwerks zu detektieren. In einer Ethernet 10 BASE-T Umgebung wird das Netzwerk detektiert durch die Übermittlung eines Verbindungspulses durch den Transceiver der physikalischen Schicht (PHY). Der periodische Verbindungspuls auf dem 10 BASE-T Medium wird von einem PHY Empfänger detektiert, der auf der Basis der Detektierung der periodischen Verbindungspulse das Vorhandensein eines weiteren auf dem Netzwerkmedium übertragenden Netzwerkteilnehmers feststellt. Daher ist ein PHY Transceiver bei dem Teilnehmer A fähig, das Vorhandensein eines Teilnehmers B ohne die Übermittlung oder den Empfang von Datenpaketen zu detektieren, durch den Empfang von Verbindungspulsen auf dem 10 BASE-T Medium von dem PHY Transmitter bei dem Teilnehmer B.
  • Es sind Architekturen entwickelt worden, die es Computer ermöglichen, unter Verwendung von konventionellen Telefonleitungen mit verdrillten Paaren miteinander verbunden zu werden anstatt eines Nahbereichsnetzwerksmediums, wie 10 BASE-T. Eine derartige Anordnung, hier als eine Heimnetzwerk Umgebung bezeichnet, hat den Vorteil, dass vorhandene Telefonleitungen in einem Haus zur Einrichtung einer Heimnetzwerk Umgebung verwendet werden können. Jedoch sind Telefonleitungen immer wegen des Störrauschens rauschbehaftet, das von elektrischen Geräten in dem Haus, zum Beispiel Dimmerschalter, Transformatoren von Haushaltsgeräten usw. verursacht wird. Des weiteren leiden die Telefonleitungen mit verdrillten Paaren unter Einschalttransienten aufgrund des Abhebens und Auflegens und unter Rauschpulsen von den Standard POTS Telefonen und elektrischen Systemen wie der Heizung und Klimaanlagen usw.
  • Es ist daher wichtig für eine MAC, über die Bedingungen informiert zu sein, die zu jeder Zeit in einem Netzwerk existieren. Die Information über den Zustand wird von der Netzwerksteuerung normalerweise in einem externen Speicher gespeichert. Zusätzlich zu der Statusinformation speichert der externe Speicher auch Seitendaten und Steuerinformationen. Der externe Speicher weist, zusammen mit den Leiterbahnen und Anschlüssen einer PC Platine und auch Teilen der Logik innerhalb der Netzwerksteuerung, ein Speichersubsystem auf. Fehler in dem Speichersubsystem können hervor gerufen werden von einem elektrischen oder mechanischen Fehler von jedem der Elemente des Systems und/oder Fehlern in dem Entwurf der PC Platine, wie eine übermäßige Länge des Ladens oder der Leiterbahnen.
  • In vielen Netzwerk- und anderen Produkten werden eingebaute Selbsttest (MBIST) Schaltungen für den eingebetteten Speicher verwendet, um im Betrieb interne statische wahlfreie Zugriffsspeicher (SRAMs) zu testen. Der MBIST ist normalerweise eine einfache Schaltung, die während jedes Zugriffs eine Speicherstelle liest oder schreibt. In letzter Zeit wird externes RAM verwendet, um den großen Betrag an Daten zu speichern, der in modernen in Netzwerken arbeitenden Anwendungen erforderlich ist. Eine An zahl von verschiedenen Typen von externen Speichern, die eine Fähigkeit für den Burstmodus erlauben, werden verwendet. Diese umfassen Pipeline Burst SRAM, keine Bus Latenz (NoBL) SRAM und Null Busdurchlauf (ZBT) SRAM.
  • Um die Hardware zu minimieren, kann der gleiche MBIST, der zum Testen eines internen SRAMs verwendet wird, auch zum Prüfen des externen SRAMs verwendet werden. Jedoch tritt ein Problem auf, wenn verschiedene Typen von SRAMs geprüft werden. Dies ist wegen der Tatsache, dass immer wenn ein Versagen beim Prüfen auftritt, die Abtastungsausgangs-Adressstelle nicht immer dieselbe sein wird. Der Grund dafür ist, dass der MBIST Adresszähler unterschiedlich hoch zählt, wenn unterschiedliche Typen von SRAM geprüft werden. Zum Beispiel wird, wegen der für Pipeline Burst SRAM erforderlichen Latenz bei einer Durchführung einer direkt aufeinander folgenden Lesezugriffsoperation, der MBIST Zähler nicht immer hoch zählen. Dies ist jedoch nicht der Fall für ZBT SRAM, das keine derartige Latenzbeschränkung hat. Als ein Ergebnis ist es sehr schwer, den genauen Ort der fehlerhaften Speicherstelle für verschiedene Typen von externem SRAM sicher zu stellen.
  • Zusammenfassung der Erfindung
  • Es existiert ein Bedarf nach einer Anordnung einer Netzwerk-Interface-Steuerung, welche die Durchführung eines Standard MBIST auf externem Speicher von verschiedenen Typen erlaubt, der an die Steuerung angeschlossen ist, was ein Anzeigen des exakten Orts einer fehlerhaften Speicherstelle erlaubt.
  • Diese und andere Bedürfnisse werden von der vorliegenden Erfindung angesprochen, die eine Netzwerk-Interface-Steuerung, wie in dem begleitenden Anspruch 1 definiert, und ein Verfahren zum Prüfen eines externen, an eine Netzwerk-Interface-Steuerung angeschlossenen Speichers, wie in dem begleitenden Anspruch 12 definiert, zur Verfügung stellt.
  • Entsprechend stellen Ausführungsbeispiele der vorliegenden Erfindung eine Netzwerk-Interface-Steuerung bereit, die ein Interface für einen externen Speicher aufweist, das konfiguriert ist, um an verschiedene Typen von externen Speichern angeschlossen zu werden. Ein Speichertyp-Register ist konfiguriert, um den Typ von einem externen Speicher, der an das Interface für einen externen Speicher angeschlossen ist, zu speichern. Die Steuerung weist auch eine eingebaute Selbsttest (MEIST) Logik für den Speicher auf, die konfiguriert ist für eine Durchführung einer eingebauten Selbstprüfung für einen externen Speicher, der an das Interface für einen externen Speicher angeschlossen ist. Die MBIST Logik umfasst eine adaptive Logik, die konfiguriert ist, um Ergebnisse der eingebauten Selbstprüfung in Übereinstimmung mit dem Typ des externen Speichers, der in dem Speichertyp-Register gespeichert ist, unterschiedlich zu interpretieren.
  • Die in der vorliegenden Endung verwendete adaptive Logik trägt den unterschiedlichen Typen von externen Speichern Rechnung, die an das Interface für einen externen Speicher von der Netzwerk-Interface-Steuerung angeschlossen werden können. Insbesondere kann der gleiche MBIST verwendet werden, um verschiedene Typen von externen Speichern zu prüfen, wobei die fehlerhafte Adresse genau bestimmt wird, da die Latenz des bestimmten an das Netzwerkinterface angeschlossenen externen Speichers berücksichtigt wird.
  • Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung stellt ein Verfahren zum Prüfen eines mit einer Netzwerk-Interface-Steuerung verbundenen externen Speichers zur Verfügung, mit den Schritten des Ermittelns des Typs des externen Speichers, der mit der Netzwerk-Interface-Steuerung verbunden ist, und des Durchführens eines MBIST an dem externen Speicherinterface durch ein Interface für den externen Speicher auf der Netzwerk-Interface-Steuerung. Der gleiche MBIST wird unabhängig von dem Typ des externen Speichers durchgeführt. Die Ergebnisse des MBIST werden in Übereinstimmung mit dem ermittelten Typ des externen Speichers unterschiedlich interpretiert.
  • Die obigen und weitere Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden offensichtlicher aus der folgenden detaillierten Beschreibung der vorliegenden Erfindung, wenn sie in Verbindung mit den begleitenden Zeichnungen genommen wird.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm einer in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung konstruierten Netzwerk-Interface-Steuerung, wobei eine Netzwerk-Intertace-Steuerung mit einer CPU und einem externen Speicher verbunden ist.
  • 2 ist ein Blockdiagramm, das in Form eines Blockdiagramms gewisse Elemente der Netzwerk-Interface-Steuerung und den externen Speicher darstellt, um gewisse Merkmale der Erfindung zu veranschaulichen.
  • 3 ist eine schematische Darstellung eines MBIST Registers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 4 ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Durchführen eines MBIST in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 5 ist ein beispielhaftes Zeitablaufdiagramm eines direkt aufeinander folgenden Burst Lesezugriffs auf ein Pipeline Burst RAM während eines MBIST in Übereinstimmung mit Ausführungsbeispielen der vorliegenden Erfindung.
  • 6 ist ein beispielhaftes Zeitablaufdiagramm eines direkt aufeinander folgenden Burst Lesezugriffs auf ein Null Byte Durchlauf RAM wäh rend eines MBIST in Übereinstimmung mit Ausführungsbeispielen der vorliegenden Erfindung.
  • 7 ist in Übereinstimmung mit Ausführungsbeispielen der vorliegenden Erfindung ein beispielhaftes Zeitablaufdiagramm eines Zugriffs auf eine einzelne Speicherstelle von einem Speicher, der intern in der Netzwerk-Interface-Steuerung ist, während die Adresse ansteigt.
  • 8 ist in Übereinstimmung mit Ausführungsbeispielen der vorliegenden Erfindung ein beispielhaftes Zeitablaufdiagramm eines Zugriffs auf eine einzelne Speicherstelle von einem Speicher, der intern in der Netzwerk-Interface-Steuerung ist, während die Adresse absteigt.
  • Detaillierte Beschreibung der Erfindung
  • Die vorliegende Erfindung adressiert das Problem des Überprüfens des korrekten Betriebs von einem externen Speicher, der mit einer Netzwerk-Interface-Steuerung verbunden ist, wobei der externe Speicher einer von verschiedenen Typen von Speichern sein kann. Die vorliegende Erfindung geht dieses Problem an durch, in bestimmten Ausführungsbeispielen, Verwenden des gleichen MBIST für alle verschiedenen Typen von Speichern, aber Benutzung einer adaptiven Logik in der Netzwerk-Interface-Steuerung, um die Ergebnisse des MBIST in Übereinstimmung mit dem Typ des an die Netzwerk-Interface-Steuerung angeschlossenen externen Speichers unterschiedlich zu interpretieren. Dies trägt Unterschieden in der Latenz, zum Beispiel bei dem Betrieb der verschiedenen Typen von externem Speicher Rechnung, die für die Benutzung mit einer Netzwerk-Interface-Steuerung geeignet sind.
  • 1 ist ein Blockdiagramm eines beispielhaften Ausführungsbeispiels einer Netzwerk-Interface-Steuerung, die in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung konstruiert ist. Die Netzwerk- Interface-Steuerung wird in dem Kontext eines IEEE 802.3 fähigen Netzwerkinterfaces beschrieben, das konfiguriert ist zum Senden und Empfangen von Datenpaketen zwischen einem Systemspeicher und einem Netzwerkmedium unter Verwendung von etablierten Medienzugriffssteuerungs (MAC) und physikalischen Schicht (PHY) Protokollen.
  • Das Netzwerkinterface 10 enthält eine PCI Bus Interfaceeinheit 16 und Speichersteuereinheit 18, einen Netzwerkinterfacebereich 20, eine Beschreibungsverwaltungseinheit 22 und eine Registersteuer- und Statuseinheit 24. Der Netzwerkinterfacebereich 20 enthält einen IEEE 802.3 konformen und Vollduplex fähigen Medienzugriffssteuerungs (MAC) Kern 26, einen Anschluss 28 eines von Medien unabhängigen Interfaces (MII) zum Anschließen von externen 10 Megabit pro Sekunde, 100 Megabit pro Sekunde oder 1000 Megabit pro Sekunde Transceivern, einen Anschluss 30 eines externe Adresse Detektierungsinterfaces (EADI) und eine Netzwerkanschlussverwaltungseinheit 32. Das Netzwerkinterface 10 enthält auch ein EEPROM Interface 34 zum Lesen von einem und zum Schreiben auf ein externes EEPROM, eine LED Steuerung 36 und ein IEEE 1149.1 konformes JTAG Grenzabtastungstest-Zugriffsanschluss-Interface 38, eine Takterzeugungseinheit 40 und einen Erweiterungsbus 42. Die Erweiterungsbus-Interfaceeinheit 42 bildet eine Schnittstelle zu einem externen Datenspeicher 60 zum Speichern von Seitendaten, zum Speichern von Steuerdaten und zum Speichern von Statusdaten. Die Erweiterungs-Interfaceeinheit 42 bildet auch eine Schnittstelle für nicht flüchtigen (zum Beispiel EEPROM oder Flashspeicher) Speicher für ein während des Hochfahrens verwendetes Boot ROM.
  • Die PCI Bus Interfaceeinheit 16, konform mit der PCI Lokalbus Spezifikation (Revision 2.2), empfängt Datenseiten von einem Host Computer über einen PCI Bus 12. Die PCI Bus Interfaceeinheit 16, unter der Steuerung der Beschreibungsverwaltungseinheit 22, empfängt Übermittlungen von dem Host Computer über den PCI Bus 12. Zum Beispiel werden von der PCI Bus Interfaceeinheit 16 empfangene Sendedaten an die Speichersteuereinheit 18 weiter geleitet, welche diese in dem Datenspeicher speichert. Nachfolgend holt die Speichersteuereinheit 18 die Sendedaten aus dem Datenspeicher und gibt sie an die MAC 26 weiter, um sie schließlich an das Netzwerk zu übermitteln. Auf ähnliche Weise werden von dem Netzwerk 50 empfangene Daten von der MAC 26 verarbeitet und zum Speichern in dem Datenspeicher 60 an die Speichersteuereinheit 18 weiter gegeben. Nachfolgend empfängt die Speichersteuereinheit 18 die Daten von dem Datenspeicher 16 und leitet sie an die PCI Bus Interfaceeinheit 16 für einen Transfer an den Host Computer 62 über den PCI Bus 12 weiter.
  • Die Beschreibungsverwaltungseinheit 22 verwaltet den Transfer von Daten an und von dem Host Computer 62 über die PCI Bus Interfaceeinheit 16. In dem Speicher des Host Computers 62 enthaltene Datenstruktur gibt die Größe und Stelle des Datenpuffers zusammen mit verschiedenen Steuer in Statusinformationen an. Die Beschreibungsverwaltungseinheit 22 bildet eine Schnittstelle mit der Speichersteuereinheit 18, um Steuerinformationen in den übermittelten Datenstrom zu integrieren und um Statusinformation aus dem empfangenen Datenstrom heraus zu holen. Der Netzwerkinterfacebereich 20 umfasst die Netzwerkanschlussverwaltung 32, die automatische Verhandlungsfunktionen ausführt, die über das Medium 50 mit einer entsprechenden automatisches Verhandlungseinheit in dem Verbindungspartner (zum Beispiel einem zentralisiertem Hub, Repeater, Workstation oder Switch) kommunizieren können.
  • Das Netzwerkinterface 10 enthält auch eine Energieverwaltungseinheit 44, welche eine fern gesteuerte Aktivierung (das heißt Einschalten) des Host Computers 62 über das Netzwerkmedium 50 ermöglicht, durch die Detektierung eines vorbestimmten Musters auf dem Medium 50 in Übereinstimmung mit den Microsoft On Now und ACPI Spezifikationen, einschließlich der Konformität mit der Magic Packet Technologie und Protokollen nach der PCI Bus Energieverwaltungsinterface Spezifikation.
  • Das Netzwerkinterface 10 enthält auch eine MIB Zählereinheit 46, welche Informationen von der MAC 26 hinsichtlich der Übertragung und des Empfangs von Seiten akzeptiert und die für die Verwaltung des Netzwerks erfor derlichen Statistiken beibehält. Auf die Statistiken wird von dem Host Computer 62 über die PCI Bus Interfaceeinheit 16 zugegriffen.
  • 2 stellt die Netzwerk-Interface-Steuerung und den externen Speicher 60 dar. Nur gewisse Elemente der Netzwerk-Interface-Steuerung 10 sind für die Zwecke der folgenden Beschreibung dargestellt.
  • Die Netzwerk-Interface-Steuerung 10 verwendet den externen Speicher 60 zum Empfangen und Übermitteln des Status. Die Größe des Speichers kann bis zu 4 Megabyte betragen, in bevorzugten Ausführungsbeispielen als 1M × 32 Bits organisiert. In weiteren Ausführungsbeispielen der Erfindung ist die Speichergröße größer. Die Größe des Speichers 60 wird von den Inhalten eines Größeregisters 66 für den externen Speicher angezeigt. Die Größe des externen Speichers wird von einem EEPROM Interface 34 in das eines Größeregister 66 für den externen Speicher geladen.
  • Der externe Speicher 60 wird in Einheiten von 512 Byte Seiten programmiert. Um anzugeben, wie viel von dem externen Speicher 60 für das Senden zugewiesen wird und wie viel für den Empfang zugewiesen wird, sollte ein Benutzer ein Grenzregister (nicht gezeigt) programmieren, wobei die Seitengrenze dort ist, wo der Empfangspuffer anfängt. Das Grenzregister wird ebenso in Einheiten von 512 Byte Seiten programmiert. Der Platz des Sendepuffers fängt an der ersten Adresse in dem Grenzregister an. Es ist dem Benutzer oder einem Softwaretreiber überlassen, den Speicher für ein Senden oder Empfangen aufzuteilen, und es gibt keinen Vorgabewert in bevorzugten Ausführungsbeispielen. Die in bevorzugten Ausführungsbeispielen erforderliche minimale Speichergröße beträgt vier 512 Byte Seiten für jede Sende- und Empfangswarteschlange, was die Größe des Speichers darauf begrenzt, mindestens 4 KBytes zu sein.
  • Die Netzwerk-Interface-Steuerung 10 erlaubt keinen Diagnosezugriff per Software auf den externen Speicher 60. Jedoch stellt die Netzwerk-Interface-Steuerung 10 einen Softwarezugriff auf eine interne eingebauter Selbsttest (MBIST) Steuerung (das heißt Steuerlogik) 68 für den Speicher zur Verfügung, die während des Betriebs intensive Tests an dem externen Speicher 60, der internen Zugriffslogik 18 für den Speicher 60 und den Anschlüssen der PC Platine vornimmt.
  • Das Erweiterungsbusinterface 42 (externes Speicherinterface) enthält externe Speicheradressanschlüsse [19:0], welche Adressen sowohl für den externen Speicher 60 als auch für ein externes Boot ROM Gerät zur Verfügung stellen. Alle von diesen Ausgängen [19:0] werden auf einen konstanten Pegel gezwungen, um Energie zu sparen, während kein Zugriff auf den externen Speicherbus durchgeführt wird. Die ERD [31:0] Anschlüsse stellen Datenbits [31:0] für Zugriffe auf den externen Speicher 60 zur Verfügung. Diese Signale werden auf einen konstanten Pegel gezwungen, um Energie zu sparen, während kein Zugriff auf den externen Speicherbus durchgeführt wird. Für Zugriffe auf das Boot ROM stellen die ERD [7:0] Anschlüsse die Datenbits [7:0] für Zugriffe auf das Boot ROM zur Verfügung.
  • ERCE dient als das Chip Freigabesignal für den externen Speicher 60. Dies wird niedrig ausgegeben, wenn die externe Speicheradresse an den ERA [19:0] Anschlüssen gültig ist.
  • FLCS dient als das Chip Freigabesignal für das Boot Gerät. Dies wird niedrig ausgegeben, wenn die Boot ROM Adresse an den ERA [19:0] gültig ist.
  • EROS ist das Ausgang Freigabesignal für den externen Speicher, das während Geräteleseoperationen für den externen Speicher aktiv niedrig ausgegeben wird, um es dem externen Speicher 60 zu erlauben, den ERD [31:0] Datenbus zu treiben. Es ist zu allen anderen Zeiten nicht angelegt.
  • ERWE ist die Byte Freigabe für den externen Speicher, welche die Schreibfreigabe für Schreibzugriffe auf den externen Speicher 60 in dem Flash (Boot ROM) Gerät zur Verfügung stellt.
  • ERADSP ist das Adress-Strobe Signal für den externen Speicher, welches das Adress-Strobe Signal zum Laden der Adresse in den externen Speicher 60 zur Verfügung stellt.
  • ERADV verwendet den Fortschritt der Adresse des externen Speichers, der das Adressfortschrittssignal dem externen Speicher 60 zur Verfügung stellt. Dieses Signal wird während eines Burst Zugriffs niedrig ausgegeben, um den Adresszähler in dem externen Speicher 60 zu erhöhen.
  • ERCLK ist der Referenztakt für alle synchronen Zugriffe auf den Speicher.
  • Es wird nun auf 2 Bezug genommen, wo die Netzwerk-Interface-Steuerung 10 der vorliegenden Erfindung eine Steuerlogik 68 verwendet, welche den MEIST Vorgang steuert, um die Größe des externen Speichers 60 zu bestimmen und seinen korrekten Betrieb zu überprüfen. Bevor die adaptiven Merkmale der vorliegenden Erfindung zur Anpassung an verschiedene externen Speicher beschrieben werden, wird der MBIST selbst in Übereinstimmung mit Ausführungsbeispielen der Erfindung beschrieben. Die Steuerlogik 68 kann Teil der Speichersteuerung 18 oder von dieser Steuerung logisch getrennt sein. Die Steuerlogik 68 verwendet das MEIST Verfahren, um das Speichersubsystem zu bewegen. Das Speichersubsystem enthält den externen Speicher 60, die Eingangs/Ausgangslogik (das Erweiterungsbus Interface 42) und die Leiterbahnen der Platine in dem externen Speicher 60. Dieser Test kann mit der normalen Betriebsgeschwindigkeit des Speichers laufen und überprüft normale und/oder Worst Case Zugriffsmuster.
  • Der MBIST ist ein Mustererzeugungstest, der das Schreiben von Daten in den externen Speicher 60 und das Lesen von Daten aus dem externen Speicher 60 und das Vergleichen davon mit den erwarteten Daten umfasst. Typischerweise wird ein derartiger MBIST in einer eng gekoppelten MBIST Logik gefunden, die auf Herstellungsfehler überprüft. Der Ausdruck "eng gekoppelt" ist dahingehend zu verstehen, dass die Logik physikalisch in dem RAM Block angeordnet ist und Zugriff auf interne RAM Signale hat, auf wel che üblicherweise nicht über Anschlüsse an den Kanten eines RAM Chips zugegriffen werden kann. Im Gegensatz dazu stellt die vorliegenden Erfindung eine MBIST Logik auf der Netzwerk-Interface-Steuerung 10 zur Verfügung, welche mit einem externen Speicher 60 verbunden ist und daher nicht eng gekoppelt ist. Dies erlaubt, dass externe Speicher 60 mit unterschiedlichen Größen in Übereinstimmung mit den Erfordernissen des Benutzers verwendet werden können.
  • Die Steuerlogik 68 verwendet das MBIST Register 64 und ein SRAM Größe Register 66, um die Bestimmung der Größe durchzuführen und um den Betrieb des externen Speichers 60 zu überprüfen. Diese Register können Teil der Registersteuer- und Statuseinheit 24 bilden. Eine schematische Darstellung des MBIST Registers 64 ist in 3 gegeben. Das MBIST Register 64 ist in bevorzugten Ausführungsbeispielen ein 64 Bit Register. Eine Beschreibung der Bit Felder in dem Register folgt nun.
  • Das Bit 63 ist das DM_DONE Bit, welches anzeigt, ob der MBIST durchgeführt wurde. Dieses Bit wird auf 1 gesetzt, wenn der automatische Speichertest gestoppt hat, entweder weil der Test abgeschlossen wurde oder weil ein Fehler detektiert wurde. Es wird auf 0 zurück gesetzt, wenn entweder ein DM_START oder DM_RESUME gesetzt wird. Das DM_DONE Bit ist nur zum Lesen.
  • Das Bit 62 ist das DM_ERROR Bit, welches als der MBIST Fehlerindikator agiert. Dieses Bit wird auf 1 gesetzt, wenn die Speichertestlogik einen Speicherfehler detektiert hat. Es wird auf 0 zurück gesetzt, wenn entweder DM_START oder DM_RESUME gesetzt wird. Dieses Bit ist ebenfalls nur zum Lesen.
  • DM_START ist das MBIST Start Bit. Das Setzen dieses Bits auf 1 setzt die MBIST Logik zurück, einschließlich der DM_ERROR und DM_TEST_FAIL Bits, und startet den Vorgang des Testens des Speichers. DM_START sollte nicht zu der gleichen Zeit gesetzt sein, zu der das DM_RESUME Bit gesetzt ist.
  • Das DM_START Bit wird automatisch gelöscht, wenn der Speichertest stoppt. Dieses Bit kann gelesen und geschrieben werden.
  • Das DM_RESUME Bit ist das Bit 60 und agiert, um den MBIST fortzusetzen. Das Setzen dieses Bits auf 1 startet die Sequenz des Speichertests erneut an dem Punkt, wo sie zuletzt gestoppt wurde. Das Setzen dieses Bits löscht das DM_ERROR Bit, aber es löscht nicht das DM_TEST_FAIL Bit. Dieses Bit sollte nicht zu der gleichen Zeit gesetzt sein, zu der das DM_START Bit gesetzt ist. Das DM_RESUME Bit wird automatisch gelöscht, wenn der Speichertest stoppt. Dieses Bit kann gelesen und geschrieben werden.
  • Das DM_FAIL_STOP Bit ist das Bit 59 und führt die Steuerung für das Anhalten des MBIST bei einem Fehler durch. Wenn dieses Bit auf 1 gesetzt ist, wird der Speichertest jedes Mal anhalten, wenn ein Fehler detektiert wird. Wenn dieses Bit auf 0 zurück gesetzt wird, wird der Speichertest bis zum Ende laufen, unabhängig von der Anzahl der Fehler, die detektiert wurden. Dieses Bit kann gelesen und geschrieben werden.
  • Das Bit mit der Nummer 58 ist das DM_TEST_FAIL Bit, das als Indikator für ein Versagen des MBIST Tests agiert. Dieses Bit wird gesetzt, wenn ein Fehler bei dem Speichertest detektiert wird. Es wird zurück gesetzt, wenn DM_START auf 1 gesetzt wird. Es wird nicht gelöscht, wenn DM_RESUME auf 1 gesetzt ist. Dieses Bit kann nur gelesen werden.
  • Das Bit mit der Nummer 57 ist reserviert und als 0 geschrieben und als undefiniert gelesen.
  • Das DM_DIR Bit (Bit 56) ist die Richtung des MBIST Tests. Dieses Bit wird auf 1 gesetzt, wenn der MBIST Speicherzeiger runter gezählt wurde, als der Test anhielt. Es wird auf 0 gelöscht, wenn der MBIST Speicherzeiger hoch gezählt wurde, als der Test anhielt. Dieses Bit kann nur gelesen werden.
  • Das Bit 5554 stellt die DM_FAIL_STATE Bits dar und agiert als der Indikator für den MBIST Fehlerversatz. Dieses Feld zeigt den Versatz der Stelle des letzten Fehlers des Speichertests im Hinblick auf den Wert in dem DM_ADDR Feld an. Die Interpretation von diesem Feld hängt von dem Wert des DM_DIR Felds ab, welches anzeigt, ob der Adresszeiger hoch oder runter gezählt wurde als der Fehler detektiert wurde. Dieses Feld kann nur gelesen werden. Eine beispielhafte Zuweisung der Stelle des Fehlers als eine Funktion des DM_DIR Bits und der DM_FAIL_STATE Bits ist unten gegeben.
  • Figure 00140001
  • Die DM_BACKG Bits 5352 bilden die MBIST Hintergrundbits. Dieses Feld enthält das Hintergrundmuster, welches die Speichertestlogik verwendete als der Test anhielt. Dieses Feld kann nur gelesen werden.
  • Die Bits 5132 sind die DM_ADDR Bits und bilden die MBIST Adresse. Dieses Feld enthält die Inhalte der MBIST Adresszeiger zu dem Zeitpunkt als der Test anhielt. Wegen der pipelineartigen Ausbildung des externen Speichers 60 muss dieser Wert nicht die Stelle des Speicherfehlers sein. Die tatsächliche Stelle des Fehlers wird erhalten, indem die Inhalte des wie oben beschriebenen DM_FAIL_STATE Felds addiert oder subtrahiert werden. Dieses Feld kann nur gelesen werden.
  • Die DM_DATEN Bits sind die Bits 310. Dieses Feld enthält die letzten Daten, welche die Speichertestlogik von dem externen Speicher 60 gelesen hat. Falls die DM_ERR und DM_FAIL_STOP Bits beide auf 1 gesetzt sind, enthalten die Inhalte von diesem Feld einen Fehler. Dieses Feld kann nur gelesen werden.
  • Obwohl die bestimmten Zuweisungsbits in dem MBIST Register in 3 und in der obigen Beschreibung zur Verfügung gestellt sind, ist diese Zuweisung lediglich beispielhaft, da das MBIST Register 64 anders konfiguriert, aber ansonsten übereinstimmend mit der Beschreibung der vorliegenden Erfindung sein kann. Die Inhalte der Register werden auf 0 gelöscht, wenn der Reset Anschluss angelegt wird.
  • 4 ist ein Ablaufdiagramm von einem beispielhaften Ausführungsbeispiel des Verfahrens zum Überprüfen des Betriebs des externen Speichers 60 und seiner Größe unter Verwendung der Steuerlogik 68 in Übereinstimmung mit Ausführungsbeispielen der vorliegenden Erfindung. Nachdem die Netzwerk-Interface-Steuerung 10 gestartet ist, wird die Größe des externen Speichers (SRAM) in das SRAM_SIZE Register 66 auf einen minimalen erlaubten Wert von 4 programmiert. Nachdem dieser Schritt abgeschlossen ist, geht das Verfahren zu Schritt 72 über, bei dem die DM_START und DM_FAIL_STOP Bits in dem MBIST Register 64 geschrieben werden. Zum Beispiel werden die Bits 63:56 mit 0 × 28 geschrieben. Der Rest des MBIST Registers 64 ignoriert Schreibvorgänge, so dass es mit willkürlichen Daten beschrieben oder überhaupt nicht beschrieben werden könnte. Dieser Vorgang startet automatisch den Vorgang des Speichertestens durch die Steuerlogik 68.
  • Die Steuerschaltung 78 liest das DM_DONE Bit (Bit 63) und das DM_ERROR Bit (Bit 62) bis das DM_DONE Bit 63 auf 1 gesetzt ist. Dies ist in 4 bei den Schritten 74 und 76 dargestellt. Sobald das DM_DONE Bit gesetzt ist, wie im Schritt 76 festgestellt, wird dann im Schritt 78 festgestellt, ob das DM_ERROR Bit gesetzt ist. Falls das DM_ERROR Bit gesetzt ist, wird der externe Speicher 60 als fehlerhaft angesehen, der Fehler wird in dem Schritt 80 gemeldet und aus dem Vorgang des Speichertestens wird ausgestiegen.
  • Wenn das DM_DONE Bit gesetzt ist, wie in dem Schritt 76 festgestellt wird, aber das DM_ERROR Bit nicht gesetzt ist, wie in dem Schritt 78 festgestellt wird, dann wird das SRAM_SIZE Register 66 auf den maximalen Wert 0 × 800, wie in dem Schritt 82 dargestellt, zurück programmiert. Die Schritte 74 und 76 werden dann als Schritte 84 und 86 erneut ausgeführt. Anders ausgedrückt werden die DM_START und DM_FAIL_STOP Bits von der Steuerlogik 68 in das MBIST Register 64 geschrieben. Der Speichertest wird dann wiederum ausgeführt, bis das DM_DONE Bit gesetzt ist, wobei die Steuerlogik 68 die DM_DONE und DM_ERROR Bits liest. Der Prozess schleift zurück zu Schritt 84, falls das DM_DONE Bit, wie in dem Schritt 86 festgestellt wird, nicht gesetzt ist.
  • Wenn der Test des Speichers abgeschlossen ist, was durch das Setzen von DM_DONE angezeigt wird, das in Schritt 86 bestimmt wird, wird erneut bestimmt, ob das DM_ERROR Bit gesetzt ist. Falls das DM_ERROR 0 ist wird der aktuelle Wert in dem SRAM_SIZE Register 66 als die Größe des externen Speichers an die CPU 62 raus gemeldet (Schritt 92). Der Prozess wird dann beendet. Falls das DM_ERROR Bit nicht gesetzt ist (das heißt nicht gleich 0), wird das SRAM SIZE Register 66 auf 1/2 des Maximums (0 × 400) programmiert und die Schritte 8486 werden wiederholt. Dieser Prozess des erneuten Programmierens der SRAM SIZE und das Durchführen des Speichertests bis das DM_ERROR Bit 0 ist wird wiederholt unter Verwendung des binären Suchalgorithmus bis die Größe des externen Speichers 60 bestimmt ist.
  • Der oben beschriebene von der MBIST Steuerung 68 zur Verfügung gestellte MBIST wird angewendet unabhängig von dem Typ des externen Speichers 60, der an das Interface für den externen Speicher 42 angeschlossen ist. Die vorliegende Erfindung verwendet die adaptive Logik 69 in der MBIST Steuerung 68, um die tatsächliche fehlerbehaftete Adresse eines MBIST unabhängig von dem Typ des externen Speichers zu bestimmen.
  • Die Sorge hinsichtlich der verschiedenen Typen von externen Speichern in Zusammenhang mit dem Testen dieser Speicher mit einem einzelnen MBIST wird erleichtert durch die Bereitstellung eines Fehlschlag-Status-Indikators, der von der adaptiven Logik 69 verwendet wird, um die Speicherstelle eines MBIST Fehlschlags genau zu bestimmen. 5 stellt einen direkt aufeinander folgenden Burst Lesezugriff auf einen externen Speicher von einem Pipeline BURST SRAM dar und 6 stellt einen direkt aufeinander folgenden Burst Lesezugriff auf ein Null Byte Durchlauf SRAM dar.
  • Ein Vergleich der beispielhaften Zeitablaufdiagramme der 5 und 6 offenbart die Sorge hinsichtlich der Verwendung eines einzelnen MBIST mit verschiedenen Typen von externen Speichern. Wegen der erforderlichen Latenz bei der Ausführung einer direkt aufeinander folgenden Operation in einem Pipeline Burst SRAM, zählt der MBIST Zähler zum Beispiel (5) nicht bei dem Takt 6 hoch. Im Vergleich dazu hat das Null Byte Durchlauf SRAM keine derartige Beschränkung bei der Latenz (6). Entsprechend würde die MBIST Steuerung 68, wenn sie den gleichen MBIST für die verschiedenen Typen von Speichern ausführt, Schwierigkeiten haben, die exakte Stelle der fehlerhaften Speicherstelle genau zu bezeichnen.
  • Wie in 5 zu sehen ist, wird eine Operation eines direkt aufeinander folgenden Burst Lesezugriffs durchgeführt. In dem Pipeline Burst SRAM wird angenommen, dass die Speicherstelle 0002 die zu testende Stelle ist. Die Daten werden nur bei dem Takt 5 verfügbar sein. Falls die zu lesenden Daten falsch sind, zeigt die MBIST Steuerung 68 einen Fehler im Takt 6 an. Der Adresszähler des MBIST im Takt 6, wie in 5 zu sehen ist, wird mit der Adresse 0004 registriert. Jedoch ist diese Adresse (0004) nicht die tatsächliche Speicherstelle des Fehlschlags. Die Tatsächliche Speicherstelle ist 0002, oder zwei Stellen weniger als die, die mit dem MBIST Adresszähler verzeichnet ist.
  • Als ein weiteres Beispiel, bei Verwendung der gleichen 5, falls die, Speicherstelle des Fehlschlags 0001 ist, würde der Fehler in dem Takt 5 angezeigt. Der MBIST Adresszähler würde ebenfalls mit der Speicherstelle 0004 im Takt 5 registriert, so wie es der Fall in dem vorherigen Beispiel im Takt 6 war. In diesem Fall ist die tatsächliche Speicherstelle des Fehlschlags 0001, was 3 Stellen weniger ist als die, die mit dem MBIST Adresszähler verzeichnet ist.
  • Diese Beispiele verdeutlichen, dass die Latenz von einem Takt des Pipeline Burst SRAMs bei der Durchführung einer direkt aufeinander folgenden Operation die Schwierigkeiten der MEIST Steuerung 68 bei der Bestimmung der tatsächlichen fehlerhaften Stelle verursacht, da sie nicht beständig von der Stelle versetzt ist, die bei dem MBIST Adresszähler registriert ist, wenn der Fehlschlag angezeigt wird. Wenn ein anderer Typ von SRAM verwendet wird, wie ein Null Busdurchlauf SRAM, können die Beziehungen der Latenz anders sein. Zum Beispiel ist in 6 kein Problem mit der Latenz bei direkt aufeinander folgenden Operationen. Daher wird ein Fehler bei der Stelle 0002 im Takt 6 berichtet, registriert bei der Speicherstelle 5. Der Versatz der gemeldeten Speicherstelle und die tatsächliche fehlerhafte Speicherstelle verbleibt bei 3 (00050002), während des gesamten direkt aufeinander folgenden Burst Lesezugriffs. Die MBIST Steuerung 68 muss sich daher des Typs des externen Speichers 60, der an das Interface für den externen Speicher 42 der Netzwerk-Interface-Steuerung 10 angeschlossen ist, bewusst sein. Sobald sie korrekt über den Typ des externen Speichers informiert ist, kann die MBIST Steuerung 68 den gleichen MBIST für jeden Typ des externen Speichers benutzen, aber die unterschiedlichen Latenzen der verschiedenen Typen berücksichtigen, um die tatsächliche fehlerhafte Speicherstelle genau zu bestimmen.
  • Die vorliegende Erfindung verwendet einen Fehlschlag-Status-Indikator, der den Zustand der Zustandsmaschine der MBIST Steuerung anzeigt, wenn ein Fehlschlag auftritt, um die tatsächliche fehlerhafte Speicherstelle zu bestimmen. Der Fehlschlag-Status-Hinweis (DM_FAIL_STATE) wird wie zuvor beschrieben in dem MEIST 64 gespeichert. In dem MEIST Register 64 ist ebenso die Adressrichtung (DM_DIR), die Adressstelle zu dem Zeitpunkt an dem der MBIST angehalten wurde (DM_ADDR) und die letzten Daten (DM_DATA), die die MBIST Steuerung 68 von dem externen Speicher 60 las, gespeichert. Die erwarteten Daten werden aus dem Datenhintergrund (DM_BACKG) gebildet. Dies sind zwei Bits (00, 01, 10, 11), die in bevorzugten Ausführungsbeispielen dupliziert werden, um während des MBIST den Eingang für den externen Speicher zu bilden. Zum Beispiel können, bei einem 8 Bit Datenbus, die erwarteten Daten gebildet werden unter Benutzung der beiden Datenhintergrundbits durch viermaliges Nachbilden der Bits. Dies erzeugt erwartete Daten von 00000000, 0101010101, 10101010 oder 11111111. Dieses Schema der Nachbildung der Datenhintergrundbits verringert die Anzahl der für den MBIST benötigten Register.
  • In bevorzugten Ausführungsbeispielen der Erfindung werden die Richtung der Adresse und der Fehlschlag-Status-Indikator von der MBIST Steuerung 68 verwendet, um die tatsächliche fehlerhafte Speicherstelle zu berechnen. Die MBIST Steuerung 68 wird dann diese tatsächliche fehlerhafte Speicherstelle dem Benutzer mitteilen. Während des MBIST wird der Wert von DM_FAIL_STATE in dem MBIST Register 64 von der Zustandsmaschine der MBIST Steuerung in Übereinstimmung mit dem Typ des externen Speichers 60 und dem derzeitigen Status der Speicheroperation geändert. Zum Beispiel ist sich die MBIST Steuerung 68 durch Untersuchen des SRAM_TYPE Feldes in einem Konfigurationsregister bewusst, dass der externe Speicher ein Pipeline Burst SRAM ist (unter der Annahme, dass ein derartiger Speicher an das Interface für den externen Speicher 42 angeschlossen ist). Während der Latenz von einen Takt zwischen zwei Bursts (Takte 5 und 6 in 5), ändert die Zustandsmaschine der MBIST Steuerung den Wert von DM_FAIL_STATE in dem MBIST Register 64 von '11' zu '10'. Dies zeigt an, wie in 5 gezeigt, dass der Versatz zur Bestimmung der tatsächlichen fehlerhaften Speicherstelle von der Adresse des gelesenen Speichers, wenn der Fehler angezeigt wird, sich von 3 auf 2 geändert hat. Daher wird in dem Beispiel von 5 ein Fehler an der Stelle 0002 im Takt 6 angezeigt, registriert mit der Adresse 0004. Der Wert von DM_ADDR ist daher gleich mit 0004. Die Richtung der Adresse (DM_DIR) wird auf '0' gesetzt, was anzeigt, dass die Zustandsmaschine der MBIST Steuerung hoch zählt. Der Wert von DM_FAIL_STATE wird zu diesem Zeitpunkt auf '10' gesetzt, was einen Versatz von –2 anzeigt, da DM_DIR einen Wert von '0' hat. (Falls DM_DIR auf '1' gesetzt war, würde der Versatz +2 sein).
  • Die MBIST Steuerung untersucht das MBIST Register 64, wenn der MBIST anhält und ein Fehler detektiert wird, wie zuvor im Hinblick auf das beispielhafte Verfahren von 4 diskutiert wurde. Der Versatz wird von den DM_FAIL_STATE und DM_DIR Werten erhalten und die tatsächliche fehlerhafte Speicherstelle wird dann von der MBIST Steuerung 68 durch Versetzen des Werts von DM_ADDR um den bestimmten Versatzwert berechnet.
  • In dem Beispiel mit einem unterschiedlichen Typ von externem Speicher, wie einem Null Busdurchlauf SRAM, darf der Wert von DM_FAIL_STATE während des MBIST nicht geändert werden, da die Beziehungen der Latenz nicht die gleichen sind wie bei dem Pipeline Burst SRAM. Die vorliegende Erfindung jedoch stellt eine Flexibilität zur Verfügung, die es erlaubt, den gleichen MBIST mit verschiedenen Typen von externen Speichern zu verwenden, dadurch dass den unterschiedlichen Latenzen von diesen verschiedenen Typen von externen Speichern Rechnung getragen wird. Die Erfindung ist daher nicht auf die beiden verschiedenen Typen von externem Speicher beschränkt, die zuvor als beispielhafte externe Speicher zum Anschluss an die Netzwerk-Interface-Steuerung beschrieben wurden, sondern kann vielmehr mit anderen Typen von externen Speichern verwendet werden. Von der Zustandsmaschine der MBIST Steuerung würde dann gefordert werden, dass sie den Wert des Fehlschlag-Status-Indikators korrekt setzt.
  • Die Implementierung des 2 Bit Fehlschlag-Status-Indikators der vorliegenden Erfindung kann einfach in existierende Zustandsmaschinen der MBIST Steuerung eingearbeitet werden. Dies wird in einem folgenden partiellen Verilog HDL Code gezeigt, der den Burst Zugriffsmodus der Implementierung zeigt. Die Zustände BR1, BR2, BR3 und BR4 stellen den Burst Lesevorgang der ersten, zweiten, dritten beziehungsweise vierten Speicherstelle dar. Da die Daten zwei Takte später zum Lesen zur Verfügung stehen, wird das Fehlschlagzustandssignal zwei Mal verriegelt (zum Beispiel mit D Flip-Flops), bevor die Abtastungsausgangsinformation in dem MBIST Register 64 aktualisiert wird.
  • Figure 00200001
  • Figure 00210001
  • Die 7 und 8 sind beispielhafte Zeitablaufdiagramme eines Zugriffs auf eine einzelne Speicheradresse eines internen SRAMs in der Netzwerk-Interface-Steuerung 10. Dieses interne SRAM kann Teil der Speichersteuereinheit 18 oder logisch davon getrennt sein. In 7 ist die Adresse absteigend während des Zugriffs auf eine einzelne Speicheradresse, während die Adresse in 8 aufsteigend ist. In dem Beispiel von 7, mit der absteigenden Adresse (DM_DIR = '0'), wird die tatsächliche fehlerhafte Speicherstelle als 0001 –1 = 0 berechnet, wobei 0001 der Wert von DM_ADDR ist und '0' die tatsächliche fehlerhafte Speicherstelle ist. Der Versatz von '–1' wird bestimmt von dem Wert von DM_FAIL_STATE ('01'), der einen Versatz von 1 anzeigt, und DM_DIR ('0'), der anzeigt, dass der Versatz von dem Wert von DM_ADDR subtrahiert werden sollte.
  • In 8 ist die Adresse absteigend, so dass DM_DIR einen Wert von '1' haben wird. Der Wert von DM_ADDR für den Fehler in 8 ist FFFE. Weil die Adressen absteigend sind (siehe ADD in 8), wird der Adressversatz von 1 (DM_FAIL_STATE = '01') zu dem Wert von DM_ADDR hinzu addiert, um die tatsächliche fehlerhafte Speicherstelle zu erzeugen. In diesem Beispiel ist dann die tatsächliche fehlerhafte Speicherstelle FFFE + 1 = FFFF. Dieser Wert wird dann von der MBIST Steuerung 68 an den Benutzer heraus gegeben.
  • Die vorliegende Erfindung kann daher verwendet werden, um die tatsächliche fehlerhafte Speicherstelle im Hinblick auf interne Speicher und auch verschiedene Typen von externen Speichern zu bestimmen. Dies erlaubt die Verwendung einer einzelnen MBIST, wodurch die Anforderungen auf dem Chip reduziert werden.
  • Obwohl die vorliegende Erfindung detailliert beschrieben und dargestellt worden ist, sollte klar verstanden werden, dass dies lediglich im Wege der Darstellung und beispielhaft ist und nicht als Beschränkung angesehen werden sollte, der Umfang der vorliegenden Erfindung wird nur durch die Ausdrücke der angefügten Ansprüche begrenzt.

Claims (15)

  1. Netz-Interface-Steuereinrichtung (10) mit: einem Externspeicher-Interface (42), das zum Koppeln mit unterschiedlichen Typen von Externspeichern vorgesehen ist, wobei unterschiedliche Typen von Externspeichern unterschiedliche Betriebscha rakteristiken aufweisen können; dadurch gekennzeichnet, dass die Netz-Interface-Steuereinrichtung ferner aufweist: eine eingebaute Speicher-Selbstprüflogik (68) zum Durchführen einer eingebauten Selbstprüfung an einem Externspeicher (60), der mit dem Externspeicher-Interface (42) gekoppelt ist, wobei die gleiche Selbstprüfung für sämtliche unterschiedliche Typen von Externspeichern, die mit dem Externspeicher-Interface (42) gekoppelt sind, durchgeführt wird, und zum Interpretieren von Ergebnissen der Prüfung entsprechend dem Typ des mit dem Externspeicher-Interface (42) gekoppelten Externspeichers (60).
  2. Netz-Interface-Steuereinrichtung nach Anspruch 1, ferner mit einem Speichertyp-Register (64) zum Speichern des Typs eines Externspeichers (60), der mit dem Externspeicher-Interface (42) gekoppelt ist.
  3. Netz-Interface-Steuereinrichtung nach Anspruch 2, bei der die eingebaute Speicher-Selbstprüflogik (68) eine adaptive Logik (69) zum unterschiedlichen Interpretieren von Ergebnissen der eingebauten Selbstprüfung aufweist, und zwar je nach in dem Speichertyp-Register (64) gespeichertem Typ des Externspeichers (60).
  4. Netz-Interface-Steuereinrichtung nach Anspruch 3, bei der die Ergebnisse der eingebauten Selbstprüfung eine aktuelle Adresse enthalten und die adaptive Logik (69) zum Ermitteln der fehlerbehafteten Adres se anhand der aktuellen Adresse und des Typs des in dem Speichertyp-Register (64) gespeicherten Externspeichers (60) vorgesehen ist.
  5. Netz-Interface-Steuereinrichtung nach Anspruch 4, bei der die adaptive Logik (69) ferner zum Ermitteln der fehlerbehafteten Adresse durch Addieren einer ganzen Zahl zu der aktuellen Adresse vorgesehen ist, wobei die addierte ganze Zahl anhand des Typs des in dem Speichertyp-Register (64) gespeicherten Externspeichers (60) ausgewählt wird.
  6. Netz-Interface-Steuereinrichtung nach Anspruch 5, bei der mindestens einige unterschiedliche Typen von Externspeichern unterschiedliche Zyklusverzögerungen aufweisen und die für den in dem Speichertyp-Register (64) gespeicherten Typ des Externspeichers (60) ausgewählte ganze Zahl der Zyklusverzögerung für diesen Typ des Externspeichers (60) gleich ist.
  7. Netz-Interface-Steuereinrichtung nach Anspruch 6, bei der der Typ des in dem Speichertyp-Register (64) gespeicherten Externspeichers (60) einen Pipeline-Burst-Synchron-Statik-RAM und einen Nullbus-Durchlauf-Synchron-Statik-RAM aufweist.
  8. Netz-Interface-Steuereinrichtung nach Anspruch 5, 6 oder 7, bei der die ganze Zahl aus folgenden Zahlen ausgewählt ist: –3, –2, –1, +1, +2, +3.
  9. Netz-Interface-Steuereinrichtung nach einem der Ansprüche 2 bis 8, bei der die eingebaute Speicher-Selbstprüflogik (68) ferner zur Bezugnahme auf das Speichertyp-Register (64) vorgesehen ist, und zwar zum Ermitteln des Typs des mit dem Externspeicher-Interface (42) gekoppelten Externspeichers (60) und der Zyklusverzögerung für den ermittelten Typ des Externspeichers (60).
  10. Netz-Interface-Steuereinrichtung nach Anspruch 9, bei der die eingebaute Speicher-Selbstprüflogik (68) ferner zum Ermitteln einer fehler behafteten Adresse der eingebauten Speicher-Selbstprüfung durch Addieren einer aktuellen Adresse der eingebauten Speicher-Selbstprüfung und der ermittelten Zyklusverzögerung vorgesehen ist.
  11. Netz-Interface-Steuereinrichtung nach Anspruch 10, bei der der Typ des in dem Speichertyp-Register (64) gespeicherten Externspeichers (60) einen Pipeline-Burst-Synchron-Statik-RAM und einen Nullbus-Durchlauf-Synchron-Statik-RAM aufweist.
  12. Verfahren zum Prüfen eines mit einer Netz-Interface-Steuereinrichtung (10) gekoppelten Externspeichers (60), mit folgenden Schritten: Ermitteln des Typs des mit der Netz-Interface-Steuereinrichtung (10) gekoppelten Externspeichers (60); Durchführen einer eingebauten Speicher-Selbstprüfung an dem Externspeicher (60) über ein Externspeicher-Interface (42) in der Netz-Interface-Steuereinrichtung (10), wobei die gleiche eingebaute Speicher-Selbstprüfung unabhängig von dem Typ des Externspeichers (60) durchgeführt wird; und unterschiedliches Interpretieren der Ergebnisse der eingebauten Speicher-Selbstprüfung entsprechend dem ermittelten Typ des Externspeichers (60).
  13. Verfahren nach Anspruch 12, bei dem der Schritt des Interpretierens das Ermitteln der fehlerbehafteten Adresse für die eingebaute Speicher-Selbstprüfung für den mit der Netz-Interface-Steuereinrichtung (10) gekoppelten Typ des Externspeichers (60) umfasst.
  14. Verfahren nach Anspruch 13, bei dem der Schritt des Ermittelns der fehlerbehafteten Adresse das Ermitteln der aktuellen Adresse der eingebauten Speicher-Selbstprüfung und das Addieren einer Zyklusverzögerung umfasst, die für den ermittelten Typ des Externspeichers (60) spezifisch ist.
  15. Verfahren nach Anspruch 12, 13 oder 14, ferner mit dem Schritt des Speicherns des Typs des Externspeichers (60) in einem Register (64) in der Netz-Interface-Steuereinrichtung (10), wobei der Schritt des Ermittelns des Typs des Externspeichers (60) das Lesen des Registers (64) umfasst.
DE60004399T 1999-12-29 2000-06-05 Verfahren und vorrichtung zur prüfung eines externen speichers mit einer eingebautem selbsttest Expired - Lifetime DE60004399T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US17348899P 1999-12-29 1999-12-29
US173488P 1999-12-29
US517517 2000-03-02
US09/517,517 US6675335B1 (en) 1999-12-29 2000-03-02 Method and apparatus for exercising external memory with a memory built-in self-test
PCT/US2000/015476 WO2001050474A1 (en) 1999-12-29 2000-06-05 Method and apparatus for exercising external memory with a memory built-in self-test

Publications (2)

Publication Number Publication Date
DE60004399D1 DE60004399D1 (de) 2003-09-11
DE60004399T2 true DE60004399T2 (de) 2004-06-09

Family

ID=26869204

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60004399T Expired - Lifetime DE60004399T2 (de) 1999-12-29 2000-06-05 Verfahren und vorrichtung zur prüfung eines externen speichers mit einer eingebautem selbsttest

Country Status (6)

Country Link
US (1) US6675335B1 (de)
EP (1) EP1242998B1 (de)
JP (1) JP4630514B2 (de)
KR (1) KR100776399B1 (de)
DE (1) DE60004399T2 (de)
WO (1) WO2001050474A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912202B1 (en) * 2001-01-25 2005-06-28 Advanced Micro Device, Inc. Arrangement for testing network switch expansion port using external logic to emulate connected expansion port
US7096393B2 (en) * 2002-12-20 2006-08-22 Sun Microsystems, Inc. Built-in self-test (BIST) of memory interconnect
US7526692B2 (en) * 2004-09-30 2009-04-28 International Business Machines Corporation Diagnostic interface architecture for memory device
JP6503889B2 (ja) * 2015-05-25 2019-04-24 富士通株式会社 演算処理装置、情報処理装置および演算処理装置の制御方法
KR102649318B1 (ko) 2016-12-29 2024-03-20 삼성전자주식회사 상태 회로를 포함하는 메모리 장치와 그것의 동작 방법
US10663515B2 (en) 2017-11-01 2020-05-26 Nvidia Corp. Method and apparatus to access high volume test data over high speed interfaces

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2745669B2 (ja) 1989-04-27 1998-04-28 ブラザー工業株式会社 プリンタ
US5588115A (en) * 1993-01-29 1996-12-24 Teradyne, Inc. Redundancy analyzer for automatic memory tester
US5423028A (en) 1993-03-17 1995-06-06 Dell Usa, L.P. Diagnostic procedure for identifying presence of computer memory
US5410544A (en) * 1993-06-30 1995-04-25 Intel Corporation External tester control for flash memory
JPH07160570A (ja) * 1993-12-03 1995-06-23 Canon Inc 記憶制御装置
US5675545A (en) * 1995-09-08 1997-10-07 Ambit Design Systems, Inc. Method of forming a database that defines an integrated circuit memory with built in test circuitry
US5835502A (en) * 1996-06-28 1998-11-10 International Business Machines Corporation Method and apparatus for handling variable data word widths and array depths in a serial shared abist scheme
US5958072A (en) * 1997-01-13 1999-09-28 Hewlett-Packard Company Computer-system processor-to-memory-bus interface having repeating-test-event generation hardware
US5812472A (en) 1997-07-16 1998-09-22 Tanisys Technology, Inc. Nested loop method of identifying synchronous memories
US6080203A (en) * 1997-12-18 2000-06-27 Advanced Micro Devices, Inc. Apparatus and method for designing a test and modeling system for a network switch device
US6345371B1 (en) * 1999-05-05 2002-02-05 Advanced Micro Devices Inc. Method of performing diagnostic procedures on a queue structure

Also Published As

Publication number Publication date
KR20020065628A (ko) 2002-08-13
KR100776399B1 (ko) 2007-11-16
US6675335B1 (en) 2004-01-06
WO2001050474A1 (en) 2001-07-12
DE60004399D1 (de) 2003-09-11
EP1242998A1 (de) 2002-09-25
JP2003519851A (ja) 2003-06-24
EP1242998B1 (de) 2003-08-06
JP4630514B2 (ja) 2011-02-09

Similar Documents

Publication Publication Date Title
DE69516634T2 (de) Intelligente Wiederprogrammierung eines Flash-Speichers
DE69634529T2 (de) Serielle schnittstelle die, in zwei unterschiedlichen modi, serielle daten zu übertragen imstande ist
DE69835256T2 (de) Speicherbusschnittstelle mit niedriger Leistung
DE69520819T2 (de) Verringerung von Buszugriffskonflikten in gemeinsamem Speicher
DE3854361T2 (de) Programmierbare Protokollvorrichtung.
DE602004004942T2 (de) Virtuelle Netzwerkadressen
DE60028176T2 (de) Verfahren zur automatischen Übertragung des Rückbestätigungsrahmens in Canopen und anderen Can Verarbeitungschichtprotokollen
DE69305203T2 (de) Flexibele Kommunikationsarchitektur für ein Bewegungssteuerungssystem
EP1776805B1 (de) Flexray-kommunikationsbaustein
DE102010010198B4 (de) System und Verfahren zum Testen eines Moduls
DE112011103225B4 (de) Schaltkreisvorrichtung, System und Verfahren mit Drosseln einer integrierten Verbindung
DE10239814B4 (de) Erweiterte Testmodusunterstützung für Hostcontroller
DE69524846T2 (de) Arbitervorrichtung
DE68923864T2 (de) Anordnung zur Speicher- und Peripherie-Bausteinauswahl.
DE60031643T2 (de) Signalisierungskodierverfahren zur sicherstellung der datenintegrität im can mikrokontroller und can mikrokontroller dafür
DE60106929T2 (de) Methode und vorrichtung zur ankopplung von single master geräten an eine multimaster wired-and busumgebung
DE69515458T2 (de) Serielle Anschlussstelle für Ferndiagnose
DE60004399T2 (de) Verfahren und vorrichtung zur prüfung eines externen speichers mit einer eingebautem selbsttest
US6530052B1 (en) Method and apparatus for looping back a current state to resume a memory built-in self-test
WO2007010024A1 (de) Flexray-kommunikationsbaustein, flexray-kommunikationscontroller und verfahren zur botschaftsübertragung zwischen einer flexray-kommunikationsverbindung und einem flexray-teilnehmer
DE112006001543T5 (de) Antwortplanung bei einem Speicherkanal
DE69232645T2 (de) Kommunikationsgerät
DE69332327T2 (de) Überwachung von zirkulierenden Zeigern
US6493647B1 (en) Method and apparatus for exercising external memory with a memory built-in self-test
DE60005528T2 (de) Willkürliche längenerweiterung eines synchronen busses mit originalem busprotokoll

Legal Events

Date Code Title Description
8364 No opposition during term of opposition