专利摘要:
Esist eine Prüfanordnungmit einem Prüfspeicherbaustein(22) und einer Steuervorrichtung (21) vorgesehen, die eine ersteund eine zweite Schnittstelle (23) aufweist. Die Prüfanordnungist an einen Speichersteckplatz (32) eines Computersystems (3) angeschlossenund mit ihrer zweiten Schnittstelle (23) mit einem Speichermodul(1) verbunden. Fehlerkorrekturdaten, die von einem Speicherkontroller(31) des Computersystems (3) in den Fehlerkorrekturbaustein (ECC)des Speichermoduls (1) geschrieben werden, werden mit Hilfe derSteuervorrichtung (21) in den Prüfspeicherbaustein(22) abgelegt. Bei einem Fehlerereignis wird festgestellt, ob derFehler auf dem Fehlerkorrekturbaustein (ECC) aufgetreten ist. Wenn diesder Fall ist, vergleicht der Speicherkontroller (21) die in demFehlerkorrekturbaustein (ECC) abgelegten Daten mit den Daten desHilfsspeichers (22). Aus der Adresse des Hilfsspeichers (22) kannauf die Adresse des Fehlerkorrekturbausteins (ECC) zurückgeschlossenwerden, wodurch eine eindeutige Adressierung einer fehlerhaftenSpeicherzelle des Fehlerkorrekturbausteins (ECC) möglich ist.
公开号:DE102004021267A1
申请号:DE200410021267
申请日:2004-04-30
公开日:2005-11-24
发明作者:Christian Stocken
申请人:Infineon Technologies AG;
IPC主号:G11C29-00
专利说明:
[0001] DieErfindung betrifft ein Verfahren zum Testen eines Speicherbausteinssowie eine Prüfanordnungzur Fehleranalyse zumindest eines Speicherbausteins eines Speichers.
[0002] EinflüchtigerHauptspeicher fürComputersysteme, der in Kurzform als RAM-Speichermodul bezeichnetwird, ist bei modernen Computersystemen von großer Bedeutung. Die fortschreitende Technologieund der gleichzeitige Preisverfall erlauben es, Speichermodule miteiner Vielzahl darauf angebrachter einzelner Speicherbausteine biszu einer Gesamtkapazitätvon 2 GB auch in kleine Personalcomputersysteme einzusetzen. Größere Speicherkapazitäten sindin ständigerEntwicklung. Dabei nimmt die Bedeutung von Testsequenzen und Testverfahrenzur Entdeckung von möglichenFehlern zu, da ein Ausfall aufgrund eines Hardware- oder auch eines Designfehlersdurch die hohe Komplexitätder verwendeten Speicherbausteine nicht von vornherein in der Designphaseausgeschlossen werden kann.
[0003] DieVielzahl von Computerprogrammen und verschiedenen Anwendungen erzeugenDatenkombinationen und Zugriffsvarianten auf die einzelnen Speicherbausteineinnerhalb des Speichermoduls, die bei den für die Entwicklung oder für die Produktionverwendeten Tests nicht vollständigabgedeckt werden können.
[0004] 3 zeigt ein typisches Speichermodul, wiees bei heutigen Computersystemen, unter anderem für Serverund Desktopsysteme sowie fürprivate Personalcomputer, eingesetzt wird. Auf dem Speichermodul 1 sinddabei acht einzelne Speicherbau steine B1 bis B8 angeordnet, dieihrerseits eine Vielzahl von Speicherzellen enthalten. Die Gesamtzahl derSpeicherzellen in jedem Speicherbaustein ergibt die Kapazität des einzelnenSpeicherbausteins. Beispielsweise sind dies 8MB, 16MB oder sogar64MB pro Speicherbaustein. Jedem dieser Speicherbausteine B1 bisB8 ist eine Anzahl der Pins P1 bis P92 des Moduls 1 zugeordnet. Über entsprechendeSignale auf diesen Pins sind einzelne Speicherzellen der SpeicherbausteineB1 bis B8 adressierbar, und es könnenDaten in diese geschrieben bzw. aus ihnen gelesen werden. Eine Strom-und Spannungsversorgung fürdie Speicherbausteine B1 bis B8 wird ebenso sichergestellt.
[0005] Diefür einekorrekte Ansteuerung des Speichermoduls durch einen SpeicherkontrollerbenötigtenDaten sind in einem kleinen Hilfsspeicher E1 abgelegt, der auchals EEPROM oder SPDROM bezeichnet wird. Die Daten werden vor demBetrieb von dem Speicherkontroller ausgelesen. Die in dem ROM abgelegtenDaten betreffen unter anderem die Latenzzeiten der einzelnen Speicherbausteine,die Burst-Rate und den Lese- und Speicherzugriff.
[0006] UmLesefehler in den Speicherzellen der einzelnen Speicherbausteinezu vermeiden, ist auf dem Speichermodul 1 zusätzlich einweiterer Chip ECC vorgesehen. In diesem Speicherbaustein, der durchausder gleiche Typ wie die Speicherbausteine B1 bis B8 sein kann, werdenKorrekturdaten von dem Speicherkontroller abgelegt. Mit Hilfe dieserKorrekturdaten ist der Speicherkontroller nicht nur in der Lage,einen möglichenFehler in einer Speicherzelle eines der acht Speicherbausteine B1bis B8 zu erkennen und dies einem Prozessor des Computersystems mitzuteilen,sondern den Fehler möglicherweise auchzu korrigieren. Der zusätzlicheChip ECC wird auch als Fehlerkorrekturbaustein oder als Error CorrectionChip bezeichnet. Er speichert in seinen Speicherzellen so genannteCheck Bits, die füreine Detektion eines Fehlers und dessen Korrektur in einem der anderenSpeicherbausteine verwendet werden. Für die Erzeugung geeigneterKontrollbits und die anschließendenzugehörigenFehlerkorrekturverfahren sind verschieden Algorithmen verwendbar.Diese könnenjedoch großenEinfluss auf die Geschwindigkeit des Gesamtsystems und insbesonderevon Lese- und Schreibvorgängenim Speicher haben und werden deshalb von den Herstellern der Speicherkontrollermeist nicht veröffentlicht.
[0007] Ineinem typischen Anwendungsbeispiel ermittelt der Speicherkontrolleraus insgesamt 64 in die Speicherbausteine B1 bis B8 zu schreibendenBits eine Prüfsummeaus 8 Kontrollbits und schreibt dann die Gesamtmenge von 72 Bitsin das Speichermodul. Die 8 Kontrollbits oder Prüfsummenbits werden in den FehlerkorrekturbausteinECC geschrieben. Beim anschließendenLesen der Speicherzellen der Bausteine B1 bis B8 erzeugt der Speicherkontrolleraus den gelesenen Bits eine Prüfsummeund vergleicht diese mit der Prüfsummeaus dem Fehlerkorrekturspeicher. Dabei wird ermittelt, ob einerder Speicherzellen der Speicherbausteine B1 bis B8 fehlerhaft ist. Gegebenenfallswird das fehlerhafte Bit korrigiert.
[0008] Wennein Fehler auftritt, meldet der Speicherkontroller einen Fehler,ein "ECC-Fail-Event" an einen Hauptprozessordes Computersystems. Bei einer solchen Nachricht ist es jedoch demProzessor bzw. einem Testprogramm nicht möglich festzustellen, ob derFehler innerhalb der Speicherzelle eines der Speicherbausteine B1bis B8 auftrat oder innerhalb des Korrekturspeicherbausteins ECC.Eine fehlerhafte Speicherzelle innerhalb eines der SpeicherbausteineB1 bis B8 kann durch einen Vergleich der aus den Bausteinen gelesenenDaten mit Referenzdaten ermittelt werden. Da der Speicherkontroller auchdie genaue Adresse der jeweiligen Speicherzelle innerhalb des Speicherbausteinszurückgibt,ist somit der genaue Ort der fehlerhaften Speicherzelle innerhalbdes Speicherbausteins ermittelbar.
[0009] ImGegensatz dazu werden die Speicheradressen der Prüfsumme imFehlerkorrekturbaustein ECC vom Speicherkontroller nicht weitergemeldet. Beieinem Fehler innerhalb einer Speicherzelle des FehlerkorrekturspeichersECC muss daher die fehlerhafte Speicherzelle über andere Methoden ermitteltwerden.
[0010] EineMethode wärebeispielsweise, den fehlerhaften Fehlerkorrekturbaustein ECC vomSpeichermodul 1 abzulösenund separat zu testen. In der Praxis erweist es sich allerdingsals schwierig, die in der praktischen Anwendung aufgetretenen Fehlerinnerhalb des Testsystems nachzubilden und genau zu identifizieren.Dies ergibt sich aus der Unkenntnis über den verwendeten Algorithmuszur Erzeugung von Fehlerkorrekturdaten eines Speicherkontrollers. Beieinem Test innerhalb eines Testsystems treten sowohl statische alsauch dynamische Fehler auf, die nur schwer dem spezifischen Fehlerzuzuordnen sind.
[0011] Eineandere Möglichkeitzeigt die 5. Dabei istzwischen dem eigentlichen Speicherkontroller C in einem Computersystemund dem Speichermodul 1 mit insgesamt drei SpeicherbausteinenB1, ECC und B2 eine PrüfkarteTI geschaltet. Der Speicherbaustein ECC bildet den Fehlerkorrekturbausteinund ist in einem normalen Betriebsmodus bei einem direkten Anschlussdes Speichermoduls 1 an die Kontrollschaltung C für die Aufnahmeund Abgabe von Fehlerkorrekturdaten vorgesehen. Bei Auftreten ei nesECC-Fail-Events wird die PrüfkarteTI zwischen Speichermodul 1 und Kontrollschaltung C eingebaut.Dies erfolgt immer dann, wenn der ECC-Fail-Event aufgrund einesFehlers auf dem Fehlerkorrekturbaustein ECC hervorgerufen wurde. DiePrüfkarteist derart ausgestaltet, dass sie die entsprechenden Daten- undSignalleitungen von der Kontrollschaltung C für den Speicherbaustein B1 direktdurchleitet. Die PrüfkarteTI führtdie Steuerleitung S1, die Datenleitung D1 sowie die VersorgungsleitungV1 direkt von der Kontrollschaltung C auf das Speichermodul 1 undden dazugehörigenSpeicherbaustein B1.
[0012] Gleichzeitigsind die Steuerleitungen bzw. die Datenleitungen für den FehlerkorrekturspeicherbausteinECC und den zweiten Speicherbaustein B2 vertauscht. Dadurch werdendie Fehlerkorrekturdaten vom Speicherkontroller C nicht in den dafür eigentlichvorgesehenen Fehlerkorrekturspeicher ECC geschrieben, sondern inden zweiten Speicherbaustein B2. Gleichzeitig werden für den SpeicherbausteinB2 vorgesehene Daten in den Fehlerkorrekturbaustein ECC geschrieben.Da die Adressen fürdie Daten auf den Leitungen S3 und D3 vom Kontroller C abgegebenwerden, ist so eine genaue Bestimmung der fehlerhaften Speicherzelledes Fehlerkorrekturspeicherbausteins ECC möglich.
[0013] Auchhier sind jedoch die Daten, die ein Speicherkontroller in den Fehlerkorrekturspeicher schreibt,nicht im vorhinein bekannt. Insbesondere werden bei dieser Ausbildungandere Daten in den Fehlerkorrekturspeicher ECC geschrieben, alsdies bei einem normalen Betriebsmodus der Fall ist. Dadurch könnte einFehler, der vom Dateninhalt der Speicherzellen oder elektrischenParametern abhängt,nicht mehr nachvollziehbar sein.
[0014] Aufgabeder Erfindung ist es, ein Verfahren zum Testen eines für ein Fehlerkorrekturverfahren verwendetenSpeicherbausteins vorzusehen, das eine genaue Identifizierung einerFehleradresse ermöglicht.Zudem ist es Aufgabe der Erfindung, eine Anordnung vorzusehen, diemit einfachen Mitteln eine schnelle Identifizierung einer fehlerhaftenSpeicherzelle ermöglicht.
[0015] DieseAufgaben werden mit den Gegenständender vorliegenden nebengeordneten Patentansprüche 1 und 10 gelöst.
[0016] Sowird bei dem erfindungsgemäßen Verfahrenein Speicher mit einem Speicherbaustein bereitgestellt, der eineVielzahl les- undschreibbarer Speicherzellen umfasst. Die les- und schreibbaren Speicherzellendes Speicherbausteins sind adressierbar. Weiterhin ist der Speicherzellendes Speichermoduls in einem Betriebsmodus des Speichermoduls für die Aufnahmevon Fehlerkorrekturdaten vorgesehen. Erfindungsgemäß wird einTestspeicher bereitgestellt, der eine Vielzahl les- und schreibbarerSpeicherzellen aufweist. Sodann werden Fehlerkorrekturdaten in denSpeicherbaustein sowie parallel dazu in den Prüfspeicherbaustein geschrieben.In dem fürdie Fehlerkorrektur vorgesehenen Speicherbaustein des Speichermodulsund dem Prüfspeicherbausteinsind somit die gleichen Daten abgelegt. Eine fehlerhafte Speicherzelledes auf dem Speichermodul vorgesehenen Speicherbausteins wird durchVergleichen des Dateninhalts der Speicherzellen des Speicherbausteinsmit den Dateninhalten der Speicherzellen des Prüfspeicherbausteins ermittelt.
[0017] Dieserfolgt in einer vorteilhaften Ausführungsform durch die Identifikationeiner Adresse einer Speicherzelle des Prüf speicherbausteins, deren Dateninhaltvon der Speicherzelle des fürdie Fehlerkorrektur vorgesehenen Speicherbausteins des Speichermodulsabweicht. Aus der Adresse der Speicherzelle des Prüfspeicherbausteinskann auf die Adresse der Speicherzelle des für die Fehlerkorrektur vorgesehenenSpeicherbausteins geschlossen werden.
[0018] Dadurchwerden ähnlichwie in einem normalen Betriebsmodus Fehlerkorrekturdaten in denfür dieFehlerkorrekturdaten vorgesehenen Speicherbaustein des Speichermodulsgeschrieben. Insbesondere sind damit alle dynamischen und statischen Verhältnissesowohl währendeines normalen Betriebsmodus wie auch eines Testbetriebsmodus für den Fehlerkorrekturspeichergleich. Dynamische Fehler, die in einem Betriebsmodus in den Fehlerkorrekturdatensporadisch und abhängigvon den Fehlerkorrekturdaten auftreten, können so eindeutig identifiziertwerden, das sie nur in dem Fehlerkorrekturspeicher, jedoch nichtin Prüfspeicherbausteinauftreten.
[0019] Bevorzugtumfasst dabei der Schritt des Bereitstellens eines Speichermodulsauch ein Bereitstellen eines Speicherkontrollers zum Adressieren vonSpeicherzellen in dem fürdie Fehlerkorrektur vorgesehenen Speicherbaustein des Speichermoduls.Weiterhin werden Dateninhalte vom Speicherkontroller in adressierteSpeicherzellen des Speichermoduls geschrieben sowie aus diesen gelesen. DerSpeicherkontroller wird dabei mit dem Speichermodul gekoppelt.
[0020] Für das Schreibenvon Fehlerkorrekturdaten in den für den Fehlerkorrekturdatenvorgesehenen Speicherbaustein sowie den Prüfspeicherbaustein wird eineSpeicherzelle des fürdie Fehlerkorrekturdaten vorgesehenen Speicherbausteins adressiert. Mitder gleichen Adresse wird auch eine Speicherzelle des Prüfspeicherbausteinsangesprochen. Sodann wird ein Fehlerkorrekturdatum in die adressierte Speicherzelledes fürdie Fehlerkorrekturdaten vorgesehenen Speicherbausteins sowie desPrüfspeicherbausteinsgeschrieben. Da die Adressen des Speicherbausteins sowie des Prüfspeicherbausteinsfür diesesFehlerkorrekturdatum gleich sind bzw. abgeleitet werden können, kannbei Auftreten eines Fehlerereignisses in den Fehlerkorrekturdaten durcheinen anschließendenVergleich der einzelnen Speicherzellen des Speicherbausteins sowiedes Prüfspeicherbausteinsaus der Adresse des Prüfspeicherbausteinsauf die zugeordnete Adresse des für die Fehlerkorrekturdatenvorgesehenen Speicherbausteins des Speichermoduls geschlossen werden.
[0021] Ineiner Weiterbildung des Verfahrens wird die Adresse einer Speicherzelleim Prüfspeicherbausteinfür einFehlerkorrekturdatum aus einer Adresse einer Speicherzelle des für die Fehlerkorrekturdaten vorgesehenenSpeicherbausteins des Speichermoduls abgeleitet.
[0022] Ineiner Weiterbildung der Erfindung umfasst der Schritt des Ermittelnseiner fehlerhaften Speicherzelle ein Adressieren einer ersten Speicherzelle indem fürdie Fehlerkorrekturdaten vorgesehenen Speicherbaustein im Speichermodulsowie ein Adressieren einer dazugeordneten Speicherzelle im Testbaustein.Bevorzugt sind die beiden Adressen der jeweiligen Speicherzelleim Prüfspeicherbaustein sowieim Speicherbaustein gleich bzw. auseinander ableitbar. Sodann wirddas Fehlerkorrekturdatum aus der ersten Speicherzelle und der zugeordnetenSpeicherzelle des Prüfspeicherbausteinsgelesen und miteinander verglichen. Ergibt sich ein jeweiliges unterschiedlichesDatum und damit ein Unterschied im Vergleich, so liegt ein möglicherFehler in der Speicherzelle des für die Fehlerkorrekturdatenvorgesehenen Speicherbausteins vor. Nun können weitere Analyseverfahrenangewendet werden, um den Grund und die Beschaffenheit des Fehlersgenauer zu bestimmen. Insbesondere ist es mit der nunmehr bekanntenAdresse der fehlerhaften Speicherzelle innerhalb des für die Fehlerkorrekturvorgesehenen Speicherbausteins des Moduls möglich, die Geometrie und denOrt der Speicherzelle zu bestimmen, um daraus eventuell Rückschlüsse aufden Fehler zu ziehen. Das Verfahren wird bevorzugt solange durchgeführt, bisein Fehler gefunden ist.
[0023] Ineiner anderen Ausführungsformder Erfindung umfasst das Verfahren die Schritte eines Bereitstelleneines Speichers mit zumindest einem Speicherbaustein mit einer Vielzahlles- und schreibbarerSpeicherzellen. Diese sind adressierbar. Weiterhin wird in dem Speichermodulein fürFehlerkorrekturdaten vorgesehener Speicherbaustein mit einer Vielzahlles-, schreib- und adressierbarer Speicherzellen bereitgestellt.Weiterhin wird ein Speicherkontroller zum Adressieren von Speicherzellenin dem zumindest einen Speicherbaustein und in dem für die Fehlerkorrekturdatenvorgesehenen Speicherbaustein bereitgestellt. Dieser wird zum Lesenund Schreiben von Dateninhalten in adressierte Speicherzellen deszumindest einen Speicherbausteins und des für die Fehlerkorrekturdatenvorgesehenen Speicherbausteins des Speichermoduls verwendet. DasSpeichermodul wird letztlich mit dem Speicherkontroller gekoppelt.
[0024] Bevorzugtwerden nun Daten in Speicherzellen des zumindest einen Speicherbausteinssowie des fürdie Fehlerkorrekturdaten vorgesehenen Speicherbausteins geschrieben.Diese Ausführungsformder Erfindung ermöglichtes, auch dynamisch und von Dateninhalten abhängig auftretende Fehler innerhalbdes für dieFehlerkorrekturdaten vorgesehenen Speicherbausteins zu erkennenund eine eindeutige Adressierung der fehlerhaften Speicherzellenoder den genauen Ort des Fehlers über deren Adresse zu identifizieren.Dies ist währenddes laufenden Betriebs eines in einem anderen Speichermodul befindlichenauf dem Rechner ausgeführtenTestprogramm möglichund kann beispielsweise nicht nur in einem speziellen Testmodusmit speziellen Testdaten, sondern auch mit normalen Applikations- bzw. Programmdatenerfolgen. Dadurch lassen sich realitätsnahe Szenarien abbilden undkundenspezifisch auf auftretende Probleme reagieren.
[0025] Einererfindungsgemäße Prüfanordnungfür eineFehleranalyse eines fürFehlerkorrekturdaten vorgesehenen Speicherbausteins innerhalb eines Speichermodulsumfasst eine erste Schnittstelle, die zum Einbau in einen Speichermodulsteckplatzeines Computersystems ausgebildet ist. Weiterhin enthält die Prüfanordnungeine zweite Schnittstelle, die zur Aufnahme eines Speichermodulsmit einem ersten Speicherbaustein und zumindest einem zweiten Speicherbausteinmit jeweils einer Vielzahl adressierbarer les- und schreibbarerSpeicherzellen ausgebildet ist. Weiterhin ist eine anschlussrichtigeKopplung zwischen der ersten und der zweiten Schnittstelle vorgesehen.Erfindungsgemäß ist einPrüfspeicherbausteinmit einer Vielzahl adressierbarer les- und schreibbarer Speicherzellensowie eine Steuervorrichtung vorgesehen. Die Steuervorrichtung istmit dem Prüfspeicherbausteinund mit der zweiten Schnittstelle gekoppelt. Erfindungsgemäß kann die Prüfanordnungeinen ersten und zumindest einen zweiten Betriebszustand einnehmen.In dem ersten Betriebszustand ist die Prüfanordnung bei einem Schreibvorgangvon einem Datum in einer Speicherzelle des ersten Speicherbausteinszu einem Ablegen des Datums in einer Speicherzelle des Prüfspeicherbausteinsausge bildet. Bei einem Lesevorgang eines Datums aus einer Speicherzelledes ersten Speicherbausteins in den ersten Betriebszustand ist diePrüfanordnungzu einer Unterdrückungeines Lesevorgangs des Datums aus der Speicherzelle des Testbausteinsausgebildet. In dem zweiten Betriebszustand ist die Prüfanordnungfür einenVergleich eines Datums aus einer Speicherzelle des ersten Speicherbausteinsmit einem Datum aus einer Speicherzelle des Prüfspeicherbausteins ausgebildet.
[0026] Mitder erfindungsgemäßen Prüfanordnung zumTesten der Funktionalitäteines fürFehlerkorrekturdaten vorgesehenen Speicherbausteins in einem Speichermodulist eine Vorrichtung gebildet, die eine Kommunikation eines Speicherkontrollerseines Computersystems mit einem Speichermodul ermöglicht.Die erfindungsgemäße Prüfanordnungwird mit ihrer ersten Schnittstelle an das Computersystem und mitder zweiten Schnittstelle an das Speichermodul angeschlossen. EineKommunikation erfolgt über diePrüfanordnungderart, dass Fehlerkorrekturdaten sowohl in Speicherzellen des erstenSpeicherbausteins als auch in Speicherzellen des Prüfspeicherbausteinsabgelegt werden. Eine entsprechende Steuerung erfolgt zweckmäßigerweise über dieSteuervorrichtung.
[0027] Während einesLesevorgangs führtdann die Steuervorrichtung jedoch nur Daten aus den Speicherzellendes ersten Speicherbausteins des Speichermoduls an die zweite Schnittstelleweiter. Daten aus dem Prüfspeicherbausteinwerden nicht weitergegeben. Der zweite Betriebsmodus stellt einenerfindungsgemäßen Testmodusdar, in dem einzelne Daten aus den Speicherzellen des ersten Speicherbausteinsmit korrespondierenden Daten aus den Speicherzellen des Prüfspeicherbausteinsdurch die Steuervorrichtung verglichen werden. In geeigneter Weise istdie Prüfanordnungso füreine Ermittlung einer fehlerhaften Speicherzelle des ersten Speicherbausteinsausgebildet.
[0028] Dieerfindungsgemäße Prüfanordnungermöglichtumfangreiche realitätsnaheTestszenarien währendeines laufenden Betriebs eines Computersystems. Die Steuervorrichtungkontrolliert und steuert den Signalfluss zwischen erster und zweiter Schnittstellein geeigneter Weise, sodass ein fehlerhafter Betrieb vermieden wird.
[0029] Ineiner Weiterbildung der Erfindung ist die Prüfanordnung auf einer Steckkarterealisiert. Dabei sind alle Elemente, insbesondere die Schnittstellen, derPrüfspeicherbausteinund die Kontrollschaltung auf der Karte angeordnet. Dadurch wirdeine Prüfkartegebildet.
[0030] Ineiner anderen Ausführungumfasst die Prüfanordnungzumindest eine Signalleitung, durch die zumindest ein Anschlusspinder ersten Schnittstelle mit zumindest einem korrespondierendenAnschlusspin der zweiten Schnittstelle zur Ansteuerung des erstenSpeicherbausteins gekoppelt ist. Bevorzugt sind mehrere Signalleitungenvorgesehen, die jeweils einen Anschlusspin der ersten Schnittstelle mitdem jeweiligen Anschlusspin der zweiten Schnittstelle verbinden.Durch diese Signalleitungen werden Signale an den Anschlusspinsder ersten Schnittstelle an die korrespondierenden Pins der zweiten Schnittstelledurchgeführt.
[0031] Ineiner bevorzugten Ausführungsformist die erste sowie die zweite Schnittstelle zur Zuführung vonFehlerkorrekturdaten ausgebildet. Insbesondere sind die entsprechendenAnschlusspins zur Zuführungvon Fehlerkorrekturdaten der ersten Schnittstelle mit den korrespondierendenAnschlusspins der zweiten Schnittstelle gekoppelt.
[0032] Ineiner Weiterbildung der Erfindung ist der Prüfspeicherbaustein über einedurch die Steuervorrichtung steuerbare erste Schalteinrichtung trennbar mitder zweiten Schnittstelle gekoppelt. Dadurch ist der Prüfspeicherbausteinbevorzugt von den entsprechenden Signalleitungen und damit auchvon der zweiten Schnittstelle zu trennen. Diese Ausführung istbesonders zweckmäßig beieinem Lesevorgang in einem normalen Betriebsmodus, da so ein fehlerhaftesAuslesen von Fehlerkorrekturdaten vermieden wird. In einer Weiterbildungder Erfindung ist der Prüfspeicherbausteinmit der zumindest einen Signalleitung gekoppelt, wobei die zumindesteine Signalleitung füreinen Austausch von Fehlerkorrekturdaten zwischen der ersten Schnittstelleund der zweiten Schnittstelle und damit zwischen dem Speicherkontrollereines Computersystems und den fürFehlerkorrekturdaten vorgesehenen Speicherbaustein des Speichermodulsvorgesehen ist.
[0033] Bevorzugtist die erste Schalteinrichtung in dem ersten Betriebszustand derSteuervorrichtung bei einem Schreibvorgang für eine Verbindung des Prüfspeicherbausteinsmit der zweiten Schnittstelle und bei einem Lesevorgang in dem erstenBetriebszustand füreine Unterbrechung der Verbindung des Prüfspeicherbausteins mit derersten Schnittstelle ausgebildet. Bevorzugt enthält die Schalteinrichtung dazueinen Steuereingang, der mit der Steuervorrichtung verbunden ist.Die erste Schalteinrichtung trennt somit bei einem Lesevorgang denPrüfspeicherbausteinvon der zweiten Schnittstelle und verbindet diese mit der zweitenSchnittstelle bei einem Schreibvorgang für Fehlerkorrekturdaten.
[0034] Ineiner anderen Weiterbildung der Erfindung ist eine durch die Steuervorrichtungsteuerbare zweite Schalteinrichtung vorgesehen, welche zwischen dieerste und die zweite Schnittstelle geschaltet ist. Bevorzugt istdie zweite Schalteinrichtung in dem ersten Betriebszustand für ein Verbindender ersten Schnittstelle mit der zweiten Schnittstelle ausgebildet undin dem zweiten Betriebszustand füreine Unterbrechung der ersten Schnittstelle mit der zweiten Schnittstelle.Dadurch wird erreicht, dass in dem zweiten Betriebszustand einean die erste Schnittstelle angeschlossene Speicher-Kontrolleinrichtung keineSignale erhältund die Steuervorrichtung der Prüfanordnungfehlerfrei in den zweiten Betriebszustand gesetzt werden kann.
[0035] Ineiner anderen Weiterbildung der Erfindung ist die Steuervorrichtungzur Auswertung eines Lese- und Schreibvorgangs mit einer Steuersignalleitung verbunden.Dies ermöglichtvorteilhaft der Steuervorrichtung, eine Kontrolle eines Lese- und Schreibvorgangszu überwachen,um damit gegebenenfalls die erste und zweite Schalteinrichtung indem ersten Betriebszustand geeignet zu schalten.
[0036] DieSteuersignalleitung koppelt dabei die erste Schnittstelle mit derzweiten Schnittstelle und bevorzugt einen Anschlusspin der erstenSchnittstelle mit dem korrespondierenden Anschlusspin der zweitenSchnittstelle. In einer weiteren Ausbildung der Erfindung ist einedritte Schaltvorrichtung vorgesehen, über welche die Steuervorrichtungmit der zweiten Schnittstelle gekoppelt ist. Die dritte Schaltvorrichtungist dabei als eine von der Steuervorrichtung regelbare Schaltvorrichtungausgebildet. Bevorzugt unterbricht die dritte Schaltvorrichtungin dem ersten Betriebszustand eine Verbindung zwischen Steuervorrichtungund zweiter Schnittstelle und ermöglicht in dem zweiten Betriebszustandeine Verbindung der Steuervorrichtung mit der zweiten Schnittstelle.Durch die Verbindung der Steuervorrichtung mit der zweiten Schnittstellein dem zweiten Betriebszustand wird ein Auslesen von Speicherzellendes ersten Speicherbausteins des Speichermoduls mit Hilfe entsprechenderSignale der Steuervorrichtung möglich.
[0037] Weiterevorteilhafte Ausgestaltungsformen sind Gegenstand der Unteransprüche.
[0038] ImWeiteren wird die Erfindung anhand eines Ausführungsbeispiels unter Bezugnahmeauf die Zeichnungen im Detail erläutert. Es zeigen:
[0039] 1 eineerfindungsgemäße Prüfkarte,die zwischen Speichermodulsteckplatz eines Computersystems und Speichermodulgeschaltet ist,
[0040] 2 einenschematischen Überblick über eineAnzahl von Speicherzellen innerhalb eines Speicherbausteins,
[0041] 3 einBeispiel einer geometrischen Anordnung eines Speichermoduls mitmehreren Speicherbausteinen,
[0042] 4 einAusführungsbeispielmit dem erfindungsgemäßen Verfahren,
[0043] 5 einebekannte Prüfkarte,
[0044] 6 eine Übersicht über denzeitlichen Verlauf einiger Ansteuersignale.
[0045] 3 zeigtein bekanntes Ausführungsbeispieleines Speichermoduls 1, welches in einen Speichermodulsteckplatzeines Computersystems eingesteckt wird. Ein innerhalb des hier nichtdargestellten Computersystems angeordneter Speicherkontroller dientzur Steuerung sowie zur Adressierung von Speicherzellen, in dieDaten geschrieben werden bzw. aus der Daten gelesen werden können. Das Speichermodul 1 weistdazu mehrere einzelne Speicherbausteine B1 bis B8 auf, die ihrerseitseine Vielzahl verschiedener Speicherzellen enthalten.
[0046] Jederdieser Speicherbausteine B1 bis B8 ist seinerseits mit einer Anzahlvon Pins P1 bis P92 verbunden. Einige dieser Pins führen dabeiAdresssignale zur Adressierung einzelner Speicherzellen innerhalbeines der Speicherbausteine B1 bis B8, während andere zur Versorgungmit einem Versorgungsstrom bzw. einer Versorgungsspannung dienen.Weitere Pins sind als Datenleitungen vorgesehen, die den Inhaltvon Speicherzellen aus den Speicherbausteinen führen.
[0047] Deraus Übersichtsgründen nichtdargestellte Speicherkontroller steuert und kontrolliert die einzelnenSpeicherbausteine B1 bis B8 auf dem Speichermodul 1. Insbesondereist er dazu in der Lage, einzelne Speicherzellen auf einem Speicherbaustein zuadressieren, die entsprechenden Daten auszulesen und einem Prozessoroder weiteren Bauelementen des Computersystems zur Datenverarbeitungzuzuführen.Ebenso steuert er einzelne Speicherzellen in den SpeicherbausteinenB1 bis B8 in geeigneter Weise an, um so von dem Prozessor oder anderen Bauelementendes Computersystems übergebene Datenin dem Speicherbaustein abzulegen. Ein Zugriff auf einzelne Speicherzelleninnerhalb eines Speicherbausteins des Moduls 1 erfolgt über das Aussendenentsprechender Adresssignale auf den dem Baustein zugeordneten Pins.Nach einer erfolgreichen Ad ressierung erfolgt ein Auslesen der aktiviertenSpeicherzellen.
[0048] Einenschematischen Ablauf eines solchen Lesevorgangs zeigt 6 inForm einiger Signalverläufe.Dabei wird zu einem bestimmten Zeitpunkt ein Kommandosignal "Read" über eine Signalleitung an denSpeicherbaustein gesandt. Dieses kennzeichnet, dass als nächste Aktioneine Speicherzelle gelesen werden soll. Gleichzeitig werden zweiAdresssignale übergeben,welche eine Spalte sowie eine Reihe der zu lesenden Speicherzelleanzeigen. Nach einer Latenzzeit CL, die in diesem Fall zwei Taktzyklen CKbeträgt,liegen am Ausgang DQ die entsprechenden Datensignale an.
[0049] DieAdresssignale werden intern auf Wortleitungen sowie Bitleitungenumgesetzt. Diese stellen die Spalte sowie die Reihe einer Speicherzellein einem Speicherzellenfeld dar und öffnen damit eine spezifischeSpeicherzelle des Speicherbausteins. Einen Ausschnitt eines solchenSpeicherzellenfeldes in einem Speicherbaustein zeigt 2.
[0050] Dabeiist an jeder Wortleitung WL1 und WL2 ein Gate-Anschluss eines SpeichertransistorsST angeschlossen. Ein Anschluss eines jeden Transistors ST führt zu einemSpeicherkondensator SK, der gemeinsam mit dem SpeichertransistorST eine Speicherzelle SZ bildet. Der andere Anschluss des TransistorsST ist an jeweils eine Bitleitung BL1, BL2 bzw. BL3 angeschlossen.Die Ladung in den Speicherkondensatoren im Vergleich zu einem Referenzpotential bzw.einer Referenzladung stellt den logischen Wert dar.
[0051] ZumAuslesen einer dieser Speicherzellen SZ wird ein Signal an eineder Wortleitungen, beispielsweise die Wortleitung WL1, angelegt.Dadurch werden alle mit der Wortleitung WL1 verbundene Transistorengeöffnet.Die in den jeweiligen Speicherkondensatoren vorhandene Ladung erzeugtauf den jeweiligen Bitleitungen ein bestimmtes Potential. DurchAktivieren eine der Bitleitungen mit einem entsprechenden Signalwird der Speicherinhalt der Speicherzelle über einen an die Bitleitungangeschlossenen LeseverstärkerLV verstärktund auf der Datenleitung D durch Schalten des Schalters S abgegeben. DieZellinhalte aller an der Wortleitung WL1 angeschlossenen Speicherzellen,die nicht ausgelesen werden, werden über die ihnen zugeordnetenLeseverstärkerwieder in den Speicherkondensator zurückgeschrieben. Durch die Adressierungauf der Wortleitung sowie der Bitleitung kann eine eindeutige Zuordnungeiner Speicherzelle in einem Speicherzellenfeld eines Speicherbausteinserreicht werden. Durch die Wort und Bitleitung ist also eine Speicherzelleadressierbar.
[0052] ModerneSpeichermodule und entsprechende Speicherkontrolleinrichtungen besitzenzusätzlich dieMöglichkeiteiner Fehlerkorrektur, die im Englischen als "Error Correction Code" (ECC) bezeichnet wird.Diese Fehlerkorrektur ermöglichtnicht nur eine eindeutige Identifikation einer möglicherweise fehlerhaften einzelnenSpeicherzelle innerhalb eines Speicherbausteins des gesamten Speichermoduls, sondernauch eine Korrektur des Fehlers.
[0053] Dazuwird aus einer Menge von zu lesenden bzw. zu schreibenden Bits einePrüfsummemit Hilfe von einem mathematischen Algorithmus generiert. Häufig wirddazu eine Hamming-Matrix verwendet. Die erzeugte Prüfsumme umfasstselbst eine Anzahl von Bits und wird von dem Speicherkontrollerin einem speziell dafürvorgesehenen Chip auf dem Speichermodul abgelegt. Im Speichermodul 1 der 3 istdies der mit ECC bezeich nete Speicherbaustein. Dieser ist baugleichzu den Speicherbausteinen B1 bis B8, da sich die Fehlerkorrekturdatennicht von normalen Daten unterscheiden. Lediglich die Verarbeitungder Daten durch den Speicherkontroller erfolgt auf unterschiedlicheWeise.
[0054] Soerzeugt beispielsweise die Speicherkontrollschaltung aus insgesamt64 zu speichernden Bits gemäß dem verwendetenAlgorithmus eine Prüfsummeaus acht Bits. Die 64 zu speichernden Bits werden auf die acht SpeicherbausteineB1 bis B8 verteilt und parallel gemeinsam mit den acht Prüfsummenbitsin die adressierten Speicherzellen der Speicherbausteine geschrieben.Die acht Prüfsummenbits werdenin dem Speicherbaustein fürdie Fehlerkorrektur abgelegt. Bei einem Auslesen der 64 Bits aus denSpeicherbausteinen B1 bis B8 liest der Speicherkontroller zusätzlich auchdie 8 Bits des Fehlerkorrekturbausteins ECC mit aus. Ergeben die64 Bits der Speicherbausteine B1 bis B8 die gleiche Prüfsumme wiedie aus dem Fehlerkorrekturbaustein ECC gelesene Prüfsumme,so liegt kein Fehler vor. Ist diese jedoch unterschiedlich, liefertder Controller ein spezielles Fehlersignal zurück, das ein Fehlerkorrekturereignis "ECC-Fail-Event" anzeigt.
[0055] Umweitere Fehler zu vermeiden und gegebenenfalls entsprechende Maßnahmenergreifen zu können,ist es notwendig, die genaue Adresse innerhalb des Speicherbausteinszu erhalten. In einem normalen Testprogramm ist es möglich, dieAdresse einer fehlerhaften Speicherzelle in einem SpeicherbausteinB1 bis B8 durch Vergleich mit Referenzdaten zu erhalten. Ist jedocheine Speicherzelle innerhalb des Fehlerkorrekturchips ECC fehlerhaft,so ist eine genaue Identifikation dieser Speicherzelle nicht möglich, dader Speicherkontroller nur ein entsprechendes Fehlersignal ECC-Fail-Eventerzeugt, die Adresse der Speicherzelle des FehlerkorrekturbausteinsECC jedoch nicht zurückliefert.Diese fehlende Information erschwert eine Analyse des Fehlergrundesbeträchtlich.
[0056] Insbesonderebei dynamischen Fehlern, die beispielsweise auch abhängig vonden Dateninhalten benachbarter Speicherzellen sind, ist somit dasWissen und der genaue Dateninhalt der einzelnen Speicherzellen innerhalbdes Fehlerkorrekturbausteins ECC zwingend notwendig. Gleichzeitigsollten die in den Fehlerkorrekturbaustein geschriebenen Daten möglichstdenen entsprechen, bei denen der Fehler auftritt. Dies ist insbesonderedann zweckmäßig, wennes sich um so genannte weiche Fehler handelt, die also von äußeren Parameternwie Potenzialen auf Wort- oder Bitleitungen sowie den Inhalten benachbarterSpeicherzellen abhängen.
[0057] 1 zeigteine Prüfanordnung 2 ineinem Computersystem 3, die zur Bestimmung einer solchenAdresse füreine spätereAnalyse in einem Fehlerkorrekturbaustein auf einem Speichermodul 1 verwendbarist. Die Prüfanordnungist dabei in Form einer steifen Prüfkarte realisiert, auf deralle Elemente Angeordnet sind. Diese hat den Vorteil, dass sie direktanstatt des Speichermoduls einsetzbar ist. Das Computersystem 3 enthält einenSpeicherkontroller 31 mit einer Vielzahl an Anschlüssen 34.Der Speicherkontroller 31 liest und schreibt einzelne Speicherzellenund damit Daten in Speicherbausteine eines Speichermoduls.
[0058] Dieserfolgt überAussenden entsprechender Steuer- und Kontrollsignale sowie Datensignaleauf den mit dem Speicherkontroller 31 verbundenen Leitungen.Die Steuer- bzw. Kontrollleitungen sowie die Datenleitungen führen zueiner Schnittstelle 32, die eine Vielzahl einzelner Pinsaufweist. Diese sind hier aus Übersichtsgründen nichtdargestellt. Jeder einzelne dieser Pins ist mit einer entsprechendenSignalleitung an den Speicherkontroller 31 angeschlossen.
[0059] DieSchnittstelle 32 ist mit einer entsprechenden ersten Schnittstelle 32A einerPrüfkarte 2 verbunden.Im Einzelnen enthältdie Schnittstelle 32 ein weibliches Interface, während dieerste Schnittstelle 32A der Prüfkarte 2 beispielsweiseein männliches Interfacedarstellt. Die Schnittstelle 32A der Prüfkarte 2 ist in 2 nichtzu erkennen, da sie in der Schnittstelle 32 des Computersystemseingesteckt und damit versenkt ist. Die Schnittstelle 32 bildetsomit einen Speichermodulsteckplatz, in den nun, anstatt eines entsprechendenSpeichermoduls, die Prüfkarte 2 eingestecktwird.
[0060] DiePrüfkarte 2 enthält eineVielzahl von Anschlusspins fürdie elektrische Kontaktierung der Schnittstelle 32 undjeweils daran angeschlossene Leitungen, von denen hier einige gezeigtsind. Diese führenzu einer zweiten Schnittstelle 23 auf der gegenüberliegendenSeite der Prüfkarte 2,die ihrerseits als weibliches Speichersteckplatzmodul ausgebildetist. Sie ähneltbzw. ist sogar baugleich mit dem Steckplatz 32 des Computersystems 3.In die zweite Schnittstelle 23 ist das eigentliche Speichermodul 1 eingesteckt.Die Prüfkarte 2 führt dieeinzelnen Pins des Speichermoduls 1, die in 3 dargestelltsind, auf die entsprechenden Anschlusskontakten der ersten Schnittstelle 32A unddamit des Speichermodulsteckplatzes 32. Die Prüfkarte 2 ermöglicht einenfehlerfreien und korrekten Betrieb des Speichermoduls 1,wenn der Speicherkontroller 31 des Computersystems 3 dasSpeichermodul 1 ansteuert.
[0061] Imhier dargestellten Ausführungsbeispiel sindaus Übersichtsgründen nureinige der Adressleitungen, Datenleitungen, Versorgungsleitungensowie Steuerleitungen fürdie einzelnen Speicherbausteine zur Ansteuerung gezeigt. So istbeispielsweise der Speicherkontroller 31 über eineAdressleitung A1 sowie eine Datenleitung D1 mit einem SpeicherbausteinB4 des Speichermoduls 1 über die Prüfkarte 2 verbunden.Steuer- und Datenleitungen sind hier als eine einzige Leitung dargestellt,es könnenje nach Ausführungsformaber auch mehrere parallele Daten- und Adressleitungen pro Speicherbausteinvorgesehen sein.
[0062] Weiterhinführeneine Versorgungsleitung V1 sowie eine BausteinselektionsleitungS1 an die Speicherbausteine B4 und den Fehlerkorrekturbaustein ECC.Zur Adress- und Datenübermittlungvon Fehlerkorrekturdaten an den Fehlerkorrekturbaustein ECC enthält der Speicherkontroller 31 ebensoeine weitere Adressleitung A2 sowie eine Datenleitung D2. Die Datenleitungist mit den jeweiligen Anschlusspins des Speichermodulsteckplatzes 32 und 32A verbunden,die wiederum mit den entsprechenden Leitungen auf der Prüfkarte 2 elektrischgekoppelt sind. Die Steuerleitung A2 und D2 ist an den entsprechendenFehlerkorrekturbaustein ECC des Speichermoduls 1 angeschlossen.Auch die Chipselektionsleitung S1 sowie die Versorgungsleitung V1,welche die Strom- und Spannungsversorgung der einzelnen Bausteinesicherstellt, sind mit dem Fehlerkorrekturbaustein ECC verbunden.
[0063] Weiterhinenthältdie Prüfkarte 2 einenHalbleiterspeicher 22 sowie eine weitere Speicherkontrollschaltung 21.Die Speicherkontrollschaltung ist ebenso an die VersorgungsleitungV1 sowie die Chipselektionsleitung S1 angeschlossen. Über eine SchaltvorrichtungS3 ist sie zudem mit der Adressleitung A2 sowie der DatenleitungD2 fürden Fehlerkorrekturbaustein ECC verbunden. Sie ist damit über denSchalter S3 an die entsprechenden Pins der Schnittstelle 23 derPrüfkarte 2 angeschlossen.Weiterhin ist die Speicherkontrolleinrichtung 21 über einenSchalter S5 mit der Datenleitung, der Adressleitung sowie der ChipselektionsleitungS1 fürden Halbleiterspeicher 22 verbunden.
[0064] Zudemsind zwei weitere Schalter S2 sowie S4 vorgesehen. Der SchalterS2 ist zwischen erste und zweite Schnittstelle der Prüfkarte 2 undgenauer zwischen Chipselektionsleitung S1, Adressleitung A2 undDatenleitung D2 geschaltet. Der Schalter S4 verbindet SelektionsleitungS1, Datenleitung D2 und Adressleitung A2 des FehlerkorrekturbausteinsECC mit dem Prüfspeicherbaustein 22.Alle vier Schalter S2 bis S5 sind über entsprechende Steuerleitungen mitder Kontrollschaltung 21 verbunden. Dies ermöglicht derSteuerschaltung 21 ein selektives Trennen bzw. Verbindeneinzelner fürdie Kommunikation mit dem Fehlerkorrekturchip ECC vorgesehener Leitungen.In diesem Zusammenhang kann insbesondere auch der Schalter S2 nurin die Adressleitung A2 und die Datenleitung D2 für den FehlerkorrekturchipECC geschaltet sein. Letztlich ist eine Ausgangsschnittstelle 27 vorgesehen, über dender Speicherkontroller 21 Daten an ein Testprogramm liefernkann. Die Schnittstelle kann als serielle oder parallele Schnittstelleausgebildet sein.
[0065] DerPrüfspeicherbaustein 22 enthält verschiedenartigeElemente. Beispielsweise besitzt er einen sehr schnellen, jedochnur wenige Speicherzellen umfassenden ersten Speicher und einendaran angeschlossenen langsamen, jedoch sehr viele Speicherzellenumfassenden zweiten Speicher. Diese Ausbildungsvariante ermöglicht einendeutlich schnelleren Testmodus und eine kostengünstigere Ausbildung der zweitenPrüfkarte 2.Insbesondere lassen sich so Fehlerkorrekturdaten in schnellen Speichernzwischenspeichern, wenn ein entsprechender Testmodus ausgewählt wurde,der abwechselnde Lese- und Speicherzugriffe auf den FehlerkorrekturbausteinECC vorsieht.
[0066] Beider Ausbildung der Prüfkarte 2 mussjedoch darauf geachtet werden, dass die entsprechenden Daten- undSignalleitungen eine bestimmte, zueinander fest definierte Länge aufweisen.Dies ist notwendig, um entsprechende Latenzzeiten zu vermeiden undso automatische Datenverluste bzw. auftretende Fehler zu verhindern.Beispielsweise ist es zweckmäßig, dieLeitungsverbindungen zwischen Prüfspeicherbaustein 22 undden Abgriff auf die Selektionsleitung S1, die Adressleitung A2 unddie Datenleitung D2 in der gleichen Länge auszugestalten, die einerLänge vondem jeweiligen Abgriff zu dem Fehlerkorrekturbaustein ECC auf demSpeichermodul 1 entspricht. In gleicher Weise müssen auchdie Signalleitungen fürden Speicherkontroller 21 auf der Prüfkarte 2 ausgebildetsein. Zusätzlichist es ebenso sinnvoll, alle Signalleitungen möglichst kurz zu gestalten,um so Störeinkopplungenbzw. Dämpfungen aufden Signalleitungen zu minimieren.
[0067] Für einenTest der einzelnen Speicherzellen in den Speicherbausteinen desModuls 1 wird der Schalter S2 von der Steuereinrichtung 21 geschlossen.Somit sind alle Speicherbausteine des Speichermoduls 1 mitder Kontrolleinrichtung 31 verbunden. Der Speicherkontroller 31 erhält nun vomProzessor oder einer anderen Einrichtung Daten, die er in die Speicherzellender einzelnen Speicherbausteine des Moduls 1 schreibensoll.
[0068] 4 zeigteinen Überblick über einentsprechendes Testverfahren, mit dem die einzelnen Speicherzellensowie auch die Speicherzellen des Fehlerkorrekturbausteins ECC aufihre Funktionsfähigkeit getestetwerden können.Dazu wird ein Testprogramm auf einem Computersystem ausgeführt, dass eineerfindungsgemäße Prüfkarte enthält. Im Falleines Fehlers kann so eine genaue Adresse auf allen Bausteinen ermitteltwerden, sodass eine späteregenauere Analyse möglichist. Die von dem Testprogramm an den Speicherkontroller übermitteltenReferenzdaten sind bekannt und könnenso auch fürspätereVergleiche herangezogen werden.
[0069] Ausden übermitteltenDaten erzeugt der Speicherkontroller 31 in Schritt 1 deserfindungsgemäßen VerfahrensFehlerkorrekturdaten. Diese ermöglichennicht nur eine genaue Identifikation eines falschen bzw. umgekipptenBits, sondern auch eine Korrektur desselben. Bei einem geeignetenAlgorithmus zur Erzeugung der Fehlerkorrekturdaten ist sogar eineIdentifikation mehrerer falscher Bits möglich. Dies wird als SECDED "Single Error Correction, DoubleError Detection" bezeichnet.In einem Ausführungsbeispielerzeugt der Speicherkontroller 31 aus insgesamt 256 zuschreibenden Bits 32 Fehlerkorrekturbits. Diese 256 Bits bildeneine Cacheline, die zusammen mit den Korrekturbits in den Speicher geschriebenoder aus diesem gelesen wird. Ein Schreibvorgang oder ein Lesevorgangerfolgt währendeines sogenannten Burstzyklus, der im Ausführungsbeispiel die Länge 4 besitzt.Das bedeutet, dass der Speicherkontroller 31 in vier Zyklenjeweils 64 Bits Daten und die 8 zugeordneten Prüfbits liest oder schreibt.Je nach Spezifikation beträgtdie Längedes Bursts 2, 4 oder 8.
[0070] Diemeisten Speicherkontroller schreiben die Daten parallel in einzelneSpeicherzellen der Speicherbausteine B1 bis B8 auf dem Speichermodul 1.In dieser Ausführungsformwartet so der Speicherkontroller 31, bis er eine Folgevon 256 Bits zum Ablegen in die Speicherzellen enthält. Darauserzeugt er 32 Fehlerkorrekturbits und in Schritt 2 des Verfahrensnach 4 eine entsprechende Adressierung der Speicherzelleneines jeden Speicherbausteins.
[0071] InSchritt 2 werden somit die Adresssignale für je eine Speicherzelle aufeinem der Speicherbausteine B1 bis B8 sowie dem Fehlerkorrekturbaustein ECCerzeugt. Die Adresssignale werden für das Öffnen die entsprechenden Speicherzellendurch Ansteuerung der die Speicherzellen identifizierenden Wort-und Bitleitungen benötigt.
[0072] Sodannwird in Schritt 3 ein Datum in die jeweilige Speicherzelle der SpeicherbausteineB1 bis B8 geschrieben. Dabei werden über die ChipselektionsleitungenS1 die entsprechenden Speicherbausteine B1 bis B8 und der Fehlerkorrekturbaustein ECCsowie eventuell darin befindliche einzelne Speicherbänke ausgewählt. Einentsprechendes Steuersignal "Write" wird von dem Speicherkontroller 31 abgegeben.Dieses öffnetdie adressierten Speicherzellen aller Speicherbausteine und bereitetsie fürden nachfolgenden Schreibvorgang der Cacheline vor. Nach einem Schreibender Cacheline werden die einzelnen Speicherzellen der Speicherbausteine B1bis B8 wieder geschlossen.
[0073] Ingleicher Weise werden gleichzeitig auch die Fehlerkorrekturdatenin den Fehlerkorrekturdatenbaustein geschrieben. Auch hier erfolgtein entsprechendes Kommando "Write" über die Adressleitung A2 bzw.die Chipselektionsleitung S1 an den Fehlerkorrekturchip ECC. DasKommando fürden Schreibvorgang des Fehlerkorrekturbausteins ECC wird jedochvon der Kontrollschaltung 21 registriert, die daraufhinden Schalter S4 schließtund so den Prüfspeicherbaustein 22 mitden Signal leitungen S1, S2 und D2 verbindet. Der Speichervorgangder Fehlerkorrekturdaten in dem Fehlerkorrekturbaustein erfolgtso auch durch eine entsprechende Adressierung von Speicherzellenin dem Hilfsspeicher 22.
[0074] Somitwerden die Fehlerkorrekturdaten nicht nur im Fehlerkorrekturbausteinauf dem Speichermodul 1 abgelegt, sondern auch in dem Prüfspeicherbaustein 22.Dies ist umso vorteilhafter, als dass für den FehlerkorrekturbausteinECC sowie den Prüfspeicherbaustein 22 diegleichen Adressdaten zur Verfügungstehen. Es wird also in Schritt 3 der Ausführungsform des Verfahrens ebensoin den Prüfspeicherbaustein 22 aneine definierte Adresse geschrieben, die der entsprechenden Schreibadresse aufdem Fehlerkorrekturbaustein ECC zugeordnet ist.
[0075] ImAnschluss eines Schreibvorgangs in die Speicherbausteine B1 bisB8 sowie den Fehlerkorrekturbaustein ECC kann entschieden werden,ob weitere Daten füreinen Schreibvorgang vorhanden sind oder ob die geschriebene Cachelinegelesen werden soll. Wenn weitere Daten vorhanden sind, wird vonSchritt 4 des erfindungsgemäßen Verfahrenszurückauf den Schritt 1 gesprungen. Andernfalls erfolgt ein Lesevorgangder geschriebenen Cacheline in Schritt 5.
[0076] Dazuermittelt der Speicherkontroller 31 die für die zulesende Cacheline notwendigen Adressen. Der eigentliche Lesevorgangwird durch ein entsprechendes Vorbereitungskommando "Read" über die Steuerleitungen andie Speicherbausteine abgegeben. Die übermittelten Adressen öffnen dieWort- und Bitleitungen der Speicherbausteine B1 bis B8, sodass derDateninhalt der zugeordneten Speicherzelle ausgelesen werden kann.
[0077] Gleichzeitigwird auch der Fehlerkorrekturchip ECC ausgelesen. Dazu wird ebenfallsvon der Speicherkontrolleinrichtung 31 ein entsprechendes Kommando "Read" über die Steuerleitung an den Fehlerkorrekturchipabgegeben. Die Kontrolleinrichtung 21 auf der Prüfkarte 2 erkenntdieses Kommando und öffnetden Schalter S4. Dadurch werden die Daten-, Adress- und Steuerleitungendes Hilfsspeichers 22 von den Steuerleitungen für den FehlerkorrekturchipECC auf dem Testspeichermodul 1 getrennt.
[0078] Diesist notwendig, wenn die zurückgeliefertenDaten des Fehlerkorrekturchips nicht mit den Daten auf dem Hilfsspeicher übereinstimmen.Würden dieSpeicherzellen beider Speicher ausgelesen werden, könnte sichbei verschiedenen Daten ein Mittelwert auf der Datenleitung ergeben.Das Verhalten von Vergleichsschaltungen innerhalb des Speicherkontrollers 31 ineinem solchen Fall ist nicht bekannt. Es kann daher passieren, dassein möglicherFehler aufgrund falscher Auswertung nicht identifiziert wird. Ausdiesem Grund wird der Schalter S4 bei einem Lesevorgang auf demFehlerkorrekturbaustein ECC stets von den entsprechenden Leitungenabgetrennt.
[0079] Insgesamtwird so in Schritt 5 eine gesamte Cacheline aus den 256 Datenbitszuzüglichder 32 Fehlerkorrekturbits von dem Speicherkontroller gelesen.
[0080] InSchritt 6 des Verfahrens gemäß 4 erzeugtder Speicherkontroller aus den Speicherzellen der SpeicherbausteineB1 bis B8 eine Prüfsumme. Diesewird mit der aus dem Fehlerkorrekturbaustein gelesenen Prüfsumme inSchritt 7 verglichen. Alternativ lassen sich natürlich auch andere Verfahrenbenutzen, um die gelesenen 256 Datenbits auf eventuelle Fehler hinzu überprüfen. Dieeinzelnen Verfahren könnensich hinsichtlich ihrer Geschwindigkeit und Vergehensweise unterscheiden.
[0081] Stimmenbeide Prüfsummen überein,so kann in Schritt 9 geprüftwerden, ob weitere Daten aus dem Speichermodul 1 gelesenwerden sollen. Ist dies der Fall, wird das Verfahren bei Schritt4 weitergeführt.Müssenkeine weiteren Daten mehr gelesen werden und ist kein Fehler aufgetreten,kann das Speichermodul als fehlerfrei angesehen werden.
[0082] Fallsdie aus den gelesenen Daten berechnete Prüfsumme in Schritt 8 jedochnicht mit der aus den Fehlerkorrekturbits erzeugten Prüfsumme übereinstimmt,erzeugt der Speicherkontroller 31 ein entsprechendes Signal "ECC-Fail-Event", das einen Korrekturfehleranzeigt. Dieses Signal wird dem Prozessor und damit auch einem aufdem Prozessor ausgeführtenTestprogramm mitgeteilt. Dadurch wird dem Prozessor angezeigt, dassdie folgenden Daten fehlerhaft sind. Der Prozessor kann so entscheiden, ober die Daten erneut anfordert, oder die Berechnung abbricht undeinen Fehler ausgibt.
[0083] Gegebenenfallskann der Speicherkontroller 31 eine Fehlerkorrektur durchführen. Diesist jedoch nicht zweckmäßig, wenndie fehlerhafte Speicherzelle identifiziert und eine genaue Fehleranalysedurchgeführtwerden soll.
[0084] NachMitteilung eines "ECC-Fail-Events", das eine fehlerhaftePrüfsummeanzeigt, vergleicht das Testprogramm in Schritt 10 die 16 Bit dergelesenen Cacheline mit den bekannten Referenzdaten. Dabei werdenunter anderem dem Testprogramm auch die spezifischen Adressen dergelesenen Speicherzellen auf den Speicherbausteinen des Speichermoduls 1 mitgeteilt.Das Ergebnis dieses Vergleichs der gelesenen Daten mit den Refe renzdaten führt zu derEntscheidung in Schritt 11 des Verfahrens.
[0085] Wenndie gelesenen Daten mit den Referenzdaten nicht übereinstimmen, wird von demTestprogramm in Schritt 12 die Adresse der fehlerhaften Speicherzelleermittelt. Diese kann fürweitere Analysemethoden verwendet werden. Wenn die gelesenen Datenhingegen mit den Referenzdaten übereinstimmen,muss ein Fehler innerhalb einer Speicherzelle des FehlerkorrekturbausteinsECC vorliegen. Der Speicherkontroller 31 gibt jedoch dieAdresse der Fehlerkorrekturdaten auf dem FehlerkorrekturbausteinECC nicht aus. Daher ist eine Adresse der fehlerhaften Speicherzelleninnerhalb des Fehlerkorrekturbausteins unbekannt.
[0086] Ineinem solchen Fall wird dann in Schritt 13 der weitere Programmablaufgestoppt und von dem Testprogramm ein spezieller Testbetriebszustandder Prüfkarte 2 aktiviert.Dies kann beispielsweise über dieAusgangsschnittstelle 27 erfolgen, über die der Kontroller 22 aktiviertwird.
[0087] Durchdie Aktivierung trennt der Controller 21 über dieSchaltvorrichtung S2 auf der Prüfkarte 2 die ChipselectleitungS1 und die Adressleitungen A2 und D2 über die Schaltvorrichtung S2auf. Dadurch wird der Fehlerkorrekturbaustein ECC auf dem Speichermodul 1 vondem Chip-Controller 31 im Computersystem getrennt. Gleichzeitigwird auch der Schalter S4 geöffnetsowie die Schalter S1 und S3 geschlossen. Der Speicherkontroller 21 istjetzt überDaten-, Adress- und Steuerleitungen mit dem Hilfsspeicher 22 sowiedem Fehlerkorrekturbaustein ECC auf dem Speichermodul 1 verbunden.Gleichzeitig ist der Hilfsspeicher 22 von der zweiten Schnittstelle 23 der Prüfkarte 2 abgetrennt.
[0088] InSchritt 14 erzeugt der Speicherkontroller 21 nun eine Adressezum Auslesen der Speicherzellen auf dem FehlerkorrekturbausteinECC und dem Hilfsspeicher 22. Da während des Schreibvorgangs einefeste Zuordnung zwischen den Adressen des FehlerkorrekturbausteinsECC und des Prüfspeicherbausteins 22 bestand,ist es nun möglich,durch Auslesen und Vergleichen eines Datums in den Speicherzellendie genaue Adresse der fehlerhaften Speicherzelle auf dem BausteinECC zu bestimmen. Dazu wird nach der Erzeugung einer Adresse einentsprechendes Kommando "Read" auf den Steuerleitungenan den Fehlerkorrekturbaustein ECC und den Prüfspeicherbaustein 22 abgegeben.
[0089] DasKommando öffnetmit den übermittelten Adressleitungendie zugeordneten Speicherzellen auf dem FehlerkorrekturbausteinECC und dem Prüfspeicherbaustein 22,die so in Schritt 15 ausgelesen werden. Eine einfache Vergleichsschaltunginnerhalb der Kontrolleinrichtung 21 ermöglicht einenVergleich der Daten der gelesenen Speicherzellen. Stimmen diesebeiden Daten überein,ist diese Speicherzelle nicht fehlerhaft. Es wird dann mit einerAdressierung einer neuen Speicherzelle fortgefahren.
[0090] Ergibtjedoch der Vergleich keine Übereinstimmungder Daten, so kann aufgrund der festen Zuordnung der bekannten Adressedes Prüfspeicherbausteins 22 zudem Fehlerkorrekturbaustein ECC eine Adresse des FehlerkorrekturbausteinsECC eindeutig ermittelt werden. Abschließend wird das Verfahren nachAusgabe der Adresse der fehlerhaften Speicherzelle über dieSchnittstelle 27 an das Testprogramm innerhalb des Fehlerkorrekturbausteins ECCim Schritt 9 weitergeführt.Dabei wird wieder entschieden, ob bereits ein vollständiger Testdurchgeführtwurde oder die Testroutine weiter ablaufen soll.
[0091] Dashier dargestellte Verfahren lässtsich auf verschiedene Arten implementieren. So ist es beispielsweisesinnvoll, beim Schreiben jeweils nur einer Cacheline und anschließendem Lesendieser Cacheline nur einen kleinen Speicher mit wenigen Speicherzellenals Prüfspeicherbaustein 22 vorzusehen. DadurchkönnenPlatz und Kosten reduziert werden.
[0092] Eindynamischer Fehler auf dem Fehlerkorrekturbaustein kann mehrereUrsachen haben. So ist es beispielsweise durchaus denkbar, dassein Fehler nur bei bestimmten Voraussetzungen, beispielsweise durcheine definierte Potenzialverteilung in benachbarten Speicherzellenauftritt. Es kann daher notwendig sein, nicht nur eine Cachelinezu schreiben und zu lesen, sondern den kompletten Fehlerkorrekturbausteinmit Fehlerkorrekturdaten Daten zu beschreiben. In einem solchenFall muss der Prüfspeicherbausteineine entsprechende Größe aufweisen.Da zwischen den Schreibvorgängender Fehlerkorrekturdaten jedoch einige Taktzyklen zur Verfügung stehen,kann es zweckmäßig sein,einen kleinen, sehr schnellen Speicher mit wenigen Speicherzellenvorzusehen, der an einen großen,jedoch langsamen Speicher angeschlossen ist. Bei einem Schreibengrößerer Datenmengenbleibt dennoch ausreichend Zeit, durch die zusätzlichen Taktzyklen die Datenvon dem schnellen Speicher in den langsamen Speicher zu schreiben.Der Hilfsspeicher muss daher ausreichend Platz für die Fehlerkorrekturdaten enthalten.
[0093] Zudemkann es zweckmäßig sein,wenn die Speicherkontrolleinrichtung 21 die Adresse einesbereits durch den Speicherkontroller 31 adressierten undgeschriebenen Bereich zwischen speichert. Bei einem auftretenden "ECC-Fail-Event" kann so der adressierteBereich spezifisch abgefragt werden. Dadurch wird das Testverfahreninsgesamt beschleunigt.
[0094] Diehier dargestellte Prüfkarteermöglichteinen laufenden Betrieb mit einem Betriebssystem während einergleichzeitig laufenden Testphase. Insbesondere kann ein normalesTestprogramm fürein Computersystem im laufenden Betrieb implementiert werden. Besitztbeispielsweise das Computersystem mehrere Speichersteckplätze mitdarin eingeführten Speichermodulen,läuft dasTestprogramm innerhalb eines dieser Speichermodule ab. Das zu überprüfende Speichermodul 1 wird über diePrüfkarte 2 ineinen weiteren Speichersteckplatz eingefügt. Das Testprogramm kann nunDaten in das Speichermodul schreiben und so den FehlerkorrekturbausteinECC auf Funktionsfähigkeithin überprüfen.
[0095] DiezusätzlicheSchnittstelle 27 an der Prüfkarte 2 ermöglicht demSpeicherkontroller 21 die Abgabe einer fehlerhaften Adresseinnerhalb des Fehlerkorrekturbausteins ECC. Außerdem kann sie zur Steuerungdes Speicherkontrollers dienen. Die Ansteuerung kann wie im Beispieldurch ein Testprogramm, aber auch durch einen zweiten Rechner oder eineigenes Testsystem erfolgen. Natürlichlässt sich diePrüfkartenicht nur fürden Test eines Fehlerkorrekturbausteins ECC verwenden. Insbesonderelassen sich auch eine Prüfsummendaten,die keine Fehlerkorrektur ermöglichenmit dem hier vorgestellten Verfahren analysieren und testen. Durchgeeignete Verschaltung sind zudem die Adress- und Signalleitungenalle Speicherbausteine eines Moduls mit dem Hilfsspeicher koppelbar.Das Verfahren ist so auch auf andere Speicherbausteine anwendbar.
1 Speichermodul 2 Prüfkarte3 Computersystem31,21 Speicherkontroller 23,27, 32A SchnittstelleB1,B2...B7, B8 Speicherbausteine ECC Fehlerkorrekturspeicherbaustein22 Prüfspeicherbaustein A1,A2 AdressleitungenD1,D2 Datenleitungen V1 VersorgungsleitungS1 Selektionsleitung S2,S3, S4 SchalterP1,P92 Anschlusspins
权利要求:
Claims (28)
[1] Verfahren zum Testen eines Speicherbausteins,umfassend die Schritte: – Bereitstelleneines Speichers (1) mit einem für eine Fehlerkorrektur vorgesehenenSpeicherbaustein (ECC) mit einer Vielzahl les- und schreibbarerSpeicherzellen (SZ), die adressierbar sind; – Bereitstelleneines Prüfspeicherbausteins(22) mit einer Vielzahl les- und schreibbarer Speicherzellen, dieadressierbar sind; – Schreibenvon gleichen Fehlerkorrekturdaten in den für die Fehlerkorrektur vorgesehenenSpeicherbaustein (ECC) und in den Prüfspeicherbaustein (22); – Ermittelneiner fehlerhaften Speicherzelle in dem für die Fehlerkorrektur vorgesehenenSpeicherbaustein (ECC) durch Vergleichen des Dateninhalts von Speicherzellen(SZ) des fürdie Fehlerkorrektur vorgesehenen Speicherbaustein (ECC) mit demDateninhalt von Speicherzellen des Prüfspeicherbausteins (22).
[2] Verfahren nach Anspruch 1, dadurch gekennzeichnet,dass der Schritt eines Bereitstellens eines Speichers (1)die Schritte umfasst: – Bereitstelleneines Speicherkontrollers (31) zum Adressieren von Speicherzellen(SZ) in dem fürdie Fehlerkorrektur vorgesehenen Speicherbaustein (ECC) und zumLesen und Schreiben von Dateninhalte in adressierte Speicherzellen(SZ) des fürdie Fehlerkorrektur vorgesehenen Speicherbausteins (ECC); -Koppeln des Speichers (1) mit dem Speicherkontroller (31).
[3] Verfahren nach einem der Ansprüche 1 bis 2, dadurch gekennzeichnet,dass der Schritt des Schreibens die Schritte umfasst: – Adressiereneiner Speicherzelle (SZ) des fürdie Fehlerkorrektur vorgesehenen Speicherbaustein (ECC); – Adressiereneiner Speicherzelle im Testbaustein (22), die einer Speicherzellein dem fürdie Fehlerkorrektur vorgesehenen Speicherbaustein (ECC) zugeordnetist; – Schreibeneines Fehlerkorrekturdatums in die adressierte Speicherzelle desfür dieFehlerkorrektur vorgesehenen Speicherbausteins (ECC) und in die adressierteSpeicherzelle des Prüfspeicherbausteins (22).
[4] Verfahren nach Anspruch 3, dadurch gekennzeichnet,dass eine Adresse der Speicherzelle im Prüfspeicherbaustein (22)aus einer Adresse einer Speicherzelle des für die Fehlerkorrektur vorgesehenenSpeicherbausteins (ECC) abgeleitet wird.
[5] Verfahren nach Anspruch 3, dadurch gekennzeichnet,dass der Schritt des Adressieren einer Speicherzelle im Prüfspeicherbaustein(22) durch ein eindeutiges Zuordnen dieser Speicherzellezu der Speicherzelle des fürdie Fehlerkorrektur vorgesehenen Speicherbausteins (ECC) erfolgt.
[6] Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet,dass der Schritt des Ermittelns einer fehlerhafte Speicherzelleden Schritt umfasst: – Adressiereneiner ersten Speicherzelle in dem für die Fehlerkorrektur vorgesehenenSpeicherbaustein (ECC); – Adressierender zugeordneten Speicherzelle im Testbaustein (22); – Lesendes Datums der ersten Speicherzelle und der zugeordneten Speicherzelle; – Vergleichender gelesenen Daten.
[7] Verfahren nach Anspruch 6, dadurch gekennzeichnet,dass weitere Speicherzellen adressiert, der Zellinhalt gelesen undverglichen wird, bis eine mangelnde Übereinstimmung festgestelltwird, wobei dann die Adresse der ersten Speicherzelle im für die Fehlerkorrekturvorgesehenen Speicherbaustein (ECC) ermittelt wird.
[8] Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet,dass der Schritt des Bereitstellens eines Speichers die Schritteumfasst: – Bereitstelleneines Speichers (1) mit zumindest einem Speicherbaustein(B1, ..., B8) mit einer Vielzahl les- und schreibbarer Speicherzellen(SZ), die adressierbar sind, und einem für eine Fehlerkorrektur vorgesehenenSpeicherbaustein (ECC) mit einer Vielzahl les- und schreibbarerSpeicherzellen (SZ), die adressierbar sind; – Bereitstelleneines Speicherkontrollers (31) zum Adressieren von Speicherzellenin dem zumindest einen Speicherbaustein (B1, ..., B8) und in demfür die Fehlerkorrekturvorgesehenen Speicherbaustein (ECC), zum Lesen und Schreiben vonDateninhalten in adressierte Speicherzellen des zumindest einen Speicherbausteins(B1, ..., B8) und des fürdie Fehlerkorrektur vorgesehenen Speicherbausteins (ECC); – Koppelndes Speichers (1) mit dem Speicherkontroller (31).
[9] Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet,dass der Schritt des Schreibens die Schritte umfasst: – Vorbereitenzum Schreiben von Daten in Speicherzellen (SZ) des zumindest einenSpeicherbausteins (B1, ..., B8); – Ableiten von Fehlerkorrekturdatenaus den in die Speicherzellen zu schreibenden Daten. – Schreibender Daten in die Speicherzellen des zumindest einen Speicherbausteins(B1, ..., B8).
[10] Prüfanordnungzur Fehleranalyse zumindest eines Speicherbausteins (B1, ..., B8,ECC) eines Speichers (1), umfassend: – eine ersteSchnittstelle (32A), ausgebildet zum Einbau in einen Speichermodulsteckplatz(32) eines Computersystems (3); – eine zweiteSchnittstelle (23), ausgebildet zur Aufnahme eines Speichermoduls(1), welches einen ersten Speicherbaustein (ECC) und zumindesteinen zweiten Speicherbaustein (B1, ..., B8) umfasst, wobei dererste und der zumindest eine zweite Speicherbaustein (B1, ..., B8)des Speichermoduls (1) eine Vielzahl adressierbarer Speicherzellen(SZ) enthalten; – eineanschlussrichtige Kopplung zwischen der ersten Schnittstelle (32A)und der zweiten Schnittstelle (23); – einenPrüfspeicherbaustein(22) mit einer Vielzahl adressierbarer Speicherzellen (SZ); – eine Steuervorrichtung(21), die mit der ersten und der zweiten Schnittstelleund mit dem Prüfspeicherbaustein(22) gekoppelt ist; – einen ersten von der Prüfanordnungeinnehmbaren Betriebszustand und zumindest einen zweiten von derPrüfanordnung(2) einnehmbaren Betriebszustand, wobei die Prüfanordnung(2) in dem ersten einnehmbaren Betriebszustand bei einemSchreibvorgang von Daten in Speicherzellen (SZ) des ersten Speicherbaustein(ECC) zu einem Ablegen der Daten in Speicherzellen (SZ) des Prüfspeicherbaustein (22)und in dem einnehmbaren zweiten Betriebszustand für einenVergleich von Daten aus den Speicherzellen des ersten Speicherbausteinsmit den Daten aus den Speicherzellen des Prüfspeicherbausteins (22)ausgebildet ist.
[11] Prüfanordnungnach Anspruch 10, dadurch gekennzeichnet, dass die Prüfanordnung(2) in dem ersten einnehmbaren Betriebszustand bei einemLesevorgang von Daten aus Speicherzellen des ersten Speicherbausteins(ECC) die Steuervorrichtung (21) zur Unterdrückung einesLesevorgang aus Speicherzellen des Prüfspeicherbausteins (22)ausgebildet ist.
[12] Prüfanordnungnach einem der Ansprüche10 bis 11, dadurch gekennzeichnet, dass die anschlussrichtige Kopplungzumindest eine Signalleitung (V1, S1, A2, D2) umfasst, durch diezumindest einen Anschlusspin der ersten Schnittstelle (32A)mit zumindest einem korrespondierenden Anschlusspin an der zweitenSchnittstelle (23) zur Ansteuerung des ersten Speicherbausteins(ECC) gekoppelt ist.
[13] Prüfanordnungnach einem der Ansprüche10 bis 12, dadurch gekennzeichnet, dass die Prüfanordnung (2) eineVerbindungssignalleitungen (A1, D1) zwischen der ersten Schnittstelle(32A) und der zweiten Schnittstelle (23) für die Ansteuerungdes zumindest einen zweiten Speicherbausteins (B1, ..., B8) umfasst.
[14] Prüfanordnungnach einem der Ansprüche10 bis 13, dadurch gekennzeichnet, dass die erste Schnittstelle(32A) und die zweite Schnittstelle (22) zur Zuführung vonFehlerkorrekturdaten ausgebildet sind.
[15] Prüfanordnungnach einem der Ansprüche10 bis 14, dadurch gekennzeichnet, dass der Prüfspeicherbaustein (22) über einedurch die Steuervorrichtung (21) steuerbare erste Schalteinrichtung(S4) trennbar mit der zweiten Schnittstelle (23) gekoppelt ist.
[16] Prüfanordnungnach einem der Ansprüche12 bis 15, dadurch gekennzeichnet, dass der Prüfspeicherbaustein (22)mit der zumindest einen Signalleitung (D2, A2) gekoppelt ist, wobeidie zumindest eine Signalleitung (D2, A2) für einen Austausch von Fehlerkorrekturdatenzwischen der ersten Schnittstelle (32A) und der zweitenSchnittstelle (23) vorgesehen ist.
[17] Prüfanordnungnach Anspruch 16, dadurch gekennzeichnet, dass die erste Schalteinrichtung (S4)in dem ersten einnehmbaren Betriebszustand der Prüfanordnung(2) durch die Steuervorrichtung (21) bei einemSchreibvorgang füreine Verbindung des Prüfspeicherbausteins(22) mit der zweiten Schnittstelle (23) und beieinem Lesevorgang füreine Unterbrechung der Verbindung des Hilfsspeicherbausteins (22)mit der zweiten Schnittstelle (23) ausgebildet ist.
[18] Prüfanordnungnach einem der Ansprüche10 bis 17, dadurch gekennzeichnet, dass eine durch die Steuervorrichtung(21) steuerbare zweite Schalteinrichtung (S2) vorgesehenist, die zwischen erste Schnittstelle (32A) und zweiteSchnittstelle (23) geschaltet ist.
[19] Prüfanordnungnach Anspruch 18, dadurch gekennzeichnet, dass die zweite Schalteinrichtung (S2)in dem ersten einnehmbaren Betriebszustand durch die Steuervorrichtung(21) füreine Verbindung der erste Schnittstelle (32A) mit der zweitenSchnittstelle (23) und in dem zweiten einnehmbaren Betriebszustanddurch die Steuervorrichtung (21) für eine Verbindungsunterbrechungder ersten Schnittstelle (32A) mit der zweiten Schnittstelle(23) ausgebildet ist.
[20] Prüfanordnungnach einem der Ansprüche10 bis 19, dadurch gekennzeichnet, dass die Steuervorrichtung (21)zur Überwachungeines Lese- oder Schreibvorgangs mit einer Steuersignalleitung (S1) verbundenist.
[21] Prüfanordnungnach einem der Ansprüche10 bis 20, dadurch gekennzeichnet, dass die Steuervorrichtung (21) über einevon der Steuervorrichtung (21) regelbare dritte Schaltvorrichtung(S3) mit der zweiten Schnittstelle (23) gekoppelt ist.
[22] Prüfanordnungnach Anspruch 21, dadurch gekennzeichnet, dass die Steuervorrichtung(21) mit der zumindest einen Signalleitung (A2, D2) gekoppelt ist.
[23] Prüfanordnungnach Anspruch 21, dadurch gekennzeichnet, dass die dritte Schalteinrichtung (S3)in dem ersten einnehmbaren Betriebszustand durch die Steuervorrichtung(21) füreine Verbindung zwischen der Steuervorrichtung (21) undzweiten Schnittstelle (23) und in dem zweiten einnehmbaren Betriebszustanddurch die Steuervorrichtung (21) für eine Verbindung der Steuervorrichtung(21) mit der zweiten Schnittstelle (23) ausgebildetist.
[24] Prüfanordnungnach einem der Ansprüche10 bis 23, dadurch gekennzeichnet, dass die Steuervorrichtung (21)und der Prüfspeicherbaustein(22) über einevierte Schalteinrichtung (S5) mit einander gekoppelt sind.
[25] Prüfanordnungnach einem der Ansprüche10 bis 24, dadurch gekennzeichnet, dass die vierte Schalteinrichtung(S5) in dem ersten Betriebszustand durch die Steuervorrichtung (21)für eineVerbindungsunterbrechung zwischen der Steuervorrichtung (21)und dem Prüfspeicherbaustein(22) und in dem zweiten Betriebszustand durch die Steuervorrichtung(21) füreine Verbindung zwischen der Steuervorrichtung (21) unddem Prüfspeicherbaustein (22)ausgebildet ist.
[26] Prüfanordnungnach einem der Ansprüche10 bis 25, dadurch gekennzeichnet, dass die Prüfanordnung eine mit der Steuervorrichtung(21) gekoppelte Schnittstelle (27) zur Abgabevon Fehleradressen und zur Zuführungvon Steuersignalen aufweist.
[27] Prüfanordnungnach einem der Ansprüche10 bis 26, dadurch gekennzeichnet, dass die Steuervorrichtung (21)und der Prüfspeicherbaustein(22) auf der Prüfanordnung(1) angeordnet sind.
[28] Prüfanordnungnach einem der Ansprüche10 bis 27, dadurch gekennzeichnet, dass die Prüfanordnung (2) alseine steife Prüfkarteausgebildet ist.
类似技术:
公开号 | 公开日 | 专利标题
US8582339B2|2013-11-12|System including memory stacks
US6754117B2|2004-06-22|System and method for self-testing and repair of memory modules
KR100901404B1|2009-06-05|패리티 셀 어레이를 구비한 메모리 회로
CN101529396B|2011-07-13|存储器设备以及更新调整方法
US8659961B2|2014-02-25|Memory repair systems and methods for a memory having redundant memory
JP3866588B2|2007-01-10|半導体集積回路装置
KR100432791B1|2004-05-24|메모리 시험방법 및 메모리 시험장치
US8081529B2|2011-12-20|Circuit and method for testing multi-device systems
JP5327484B2|2013-10-30|大容量/高帯域幅メモリデバイスを修復するための方法および装置
KR100578293B1|2006-05-11|데이터 저장장치를 테스트하기 위한 테스트 방법
KR930004330B1|1993-05-26|자체시험 메모리시스템을 가진 데이타 처리시스템
US6438706B1|2002-08-20|On chip error correction for devices in a solid state drive
US6243307B1|2001-06-05|Semiconductor device including tester circuit suppressible of circuit scale increase and testing device of semiconductor device
US6636998B1|2003-10-21|Semiconductor memory device and parallel bit test method thereof
DE3412676C2|1988-03-10|
US5996106A|1999-11-30|Multi bank test mode for memory devices
TWI467591B|2015-01-01|於非揮發記憶體系統中損壞區塊隔離的方法及其相關非揮發記憶體器件
US6035432A|2000-03-07|System for remapping defective memory bit sets
KR100274478B1|2001-01-15|병렬 테스트 장치를 갖는 집적 반도체 메모리 및 그 리던던시 방법
KR100337218B1|2002-05-17|스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템
KR100616345B1|2006-08-29|반도체 기억 장치
JP3274332B2|2002-04-15|コントローラ・大容量メモリ混載型半導体集積回路装置およびそのテスト方法およびその使用方法、並びに半導体集積回路装置およびそのテスト方法
CN101960532B|2014-06-04|用于节省存储器自刷新功率的系统、方法和装置
DE69729771T2|2004-12-02|Integrierte Schaltung mit einer eingebauten Selbsttestanordnung
KR0134751B1|1998-04-30|테스트 결과 신호를 유지하기 위한 레지스터를 가진 반도체 메모리 장치
同族专利:
公开号 | 公开日
US20050251728A1|2005-11-10|
DE102004021267B4|2008-04-17|
US7272757B2|2007-09-18|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US6195616B1|1997-01-29|2001-02-27|Advanced Micro Devices, Inc.|Method and apparatus for the functional verification of digital electronic systems|
WO1999001871A1|1997-07-05|1999-01-14|The Acumen Trust|Memory characterisation means and method|
US6055653A|1998-04-27|2000-04-25|Compaq Computer Corporation|Method and apparatus for testing gang memory modules|
WO2000052487A1|1999-03-01|2000-09-08|Formfactor, Inc.|Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses|
US6467053B1|1999-06-28|2002-10-15|International Business Machines Corporation|Captured synchronous DRAM fails in a working environment|
WO2002029824A2|2000-10-03|2002-04-11|Concord Idea Corp.|System and method for testing integrated circuit devices|DE102005056279A1|2005-11-25|2007-05-31|Infineon Technologies Ag|Test device and method for testing electronic components|JPH09282900A|1996-04-11|1997-10-31|Oki Electric Ind Co Ltd|メモリモジュール|
US6178526B1|1998-04-08|2001-01-23|Kingston Technology Company|Testing memory modules with a PC motherboard attached to a memory-module handler by a solder-side adaptor board|
US6415397B1|1998-04-08|2002-07-02|Kingston Technology Company|Automated multi-PC-motherboard memory-module test system with robotic handler and in-transit visual inspection|
DE10300781B4|2003-01-11|2014-02-06|Qimonda Ag|Memory module, test system and method for testing one or more memory modules|
US7272774B2|2004-04-16|2007-09-18|Kingston Technology Corp.|Extender card for testing error-correction-code storage area on memory modules|US7478307B1|2005-05-19|2009-01-13|Sun Microsystems, Inc.|Method for improving un-correctable errors in a computer system|
US8117490B2|2005-11-30|2012-02-14|Kelsey-Hayes Company|Microprocessor memory management|
KR100746228B1|2006-01-25|2007-08-03|삼성전자주식회사|반도체 메모리 모듈 및 반도체 메모리 장치|
WO2007132457A2|2006-05-12|2007-11-22|Anobit Technologies Ltd.|Combined distortion estimation and error correction coding for memory devices|
US8151166B2|2007-01-24|2012-04-03|Anobit Technologies Ltd.|Reduction of back pattern dependency effects in memory devices|
WO2007132456A2|2006-05-12|2007-11-22|Anobit Technologies Ltd.|Memory device with adaptive capacity|
WO2007132453A2|2006-05-12|2007-11-22|Anobit Technologies Ltd.|Distortion estimation and cancellation in memory devices|
US20080052598A1|2006-08-09|2008-02-28|Aksamit Slavek P|Memory multi-bit error correction and hot replace without mirroring|
JP4652308B2|2006-10-27|2011-03-16|ルネサスエレクトロニクス株式会社|エラー検出システム及びエラー検出方法|
US7975192B2|2006-10-30|2011-07-05|Anobit Technologies Ltd.|Reading memory cells using multiple thresholds|
US7836380B2|2006-10-31|2010-11-16|Intel Corporation|Destination indication to aid in posted write buffer loading|
WO2008068747A2|2006-12-03|2008-06-12|Anobit Technologies Ltd.|Automatic defect management in memory devices|
WO2008111058A2|2007-03-12|2008-09-18|Anobit Technologies Ltd.|Adaptive estimation of memory cell read thresholds|
US8365044B2|2007-04-23|2013-01-29|Agere Systems Inc.|Memory device with error correction based on automatic logic inversion|
WO2008139441A2|2007-05-12|2008-11-20|Anobit Technologies Ltd.|Memory device with internal signal processing unit|
US8234545B2|2007-05-12|2012-07-31|Apple Inc.|Data storage with incremental redundancy|
US8259497B2|2007-08-06|2012-09-04|Apple Inc.|Programming schemes for multi-level analog memory cells|
US8174905B2|2007-09-19|2012-05-08|Anobit Technologies Ltd.|Programming orders for reducing distortion in arrays of multi-level analog memory cells|
WO2009050703A2|2007-10-19|2009-04-23|Anobit Technologies|Data storage in analog memory cell arrays having erase failures|
US8270246B2|2007-11-13|2012-09-18|Apple Inc.|Optimized selection of memory chips in multi-chips memory devices|
US8225181B2|2007-11-30|2012-07-17|Apple Inc.|Efficient re-read operations from memory devices|
US8209588B2|2007-12-12|2012-06-26|Anobit Technologies Ltd.|Efficient interference cancellation in analog memory cell arrays|
US8156398B2|2008-02-05|2012-04-10|Anobit Technologies Ltd.|Parameter estimation based on error correction code parity check equations|
US8230300B2|2008-03-07|2012-07-24|Apple Inc.|Efficient readout from analog memory cells using data compression|
US8493783B2|2008-03-18|2013-07-23|Apple Inc.|Memory device readout using multiple sense times|
US8400858B2|2008-03-18|2013-03-19|Apple Inc.|Memory device with reduced sense time readout|
US8498151B1|2008-08-05|2013-07-30|Apple Inc.|Data storage in analog memory cells using modified pass voltages|
US8949684B1|2008-09-02|2015-02-03|Apple Inc.|Segmented data storage|
US8169825B1|2008-09-02|2012-05-01|Anobit Technologies Ltd.|Reliable data storage in analog memory cells subjected to long retention periods|
US8482978B1|2008-09-14|2013-07-09|Apple Inc.|Estimation of memory cell read thresholds by sampling inside programming level distribution intervals|
US8239734B1|2008-10-15|2012-08-07|Apple Inc.|Efficient data storage in storage device arrays|
US8713330B1|2008-10-30|2014-04-29|Apple Inc.|Data scrambling in memory devices|
US8208304B2|2008-11-16|2012-06-26|Anobit Technologies Ltd.|Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N|
US8248831B2|2008-12-31|2012-08-21|Apple Inc.|Rejuvenation of analog memory cells|
US8397131B1|2008-12-31|2013-03-12|Apple Inc.|Efficient readout schemes for analog memory cell devices|
US8924661B1|2009-01-18|2014-12-30|Apple Inc.|Memory system including a controller and processors associated with memory devices|
KR101593603B1|2009-01-29|2016-02-15|삼성전자주식회사|반도체 장치의 온도 감지 회로|
US8228701B2|2009-03-01|2012-07-24|Apple Inc.|Selective activation of programming schemes in analog memory cell arrays|
US8832354B2|2009-03-25|2014-09-09|Apple Inc.|Use of host system resources by memory controller|
US8259506B1|2009-03-25|2012-09-04|Apple Inc.|Database of memory read thresholds|
US8238157B1|2009-04-12|2012-08-07|Apple Inc.|Selective re-programming of analog memory cells|
US8479080B1|2009-07-12|2013-07-02|Apple Inc.|Adaptive over-provisioning in memory systems|
US8495465B1|2009-10-15|2013-07-23|Apple Inc.|Error correction coding over multiple memory pages|
US8677054B1|2009-12-16|2014-03-18|Apple Inc.|Memory management schemes for non-volatile memory devices|
US8694814B1|2010-01-10|2014-04-08|Apple Inc.|Reuse of host hibernation storage space by memory controller|
US8677203B1|2010-01-11|2014-03-18|Apple Inc.|Redundant data storage schemes for multi-die memory systems|
US8683270B2|2010-04-29|2014-03-25|Micron Technology, Inc.|Signal line to indicate program-fail in memory|
US8694853B1|2010-05-04|2014-04-08|Apple Inc.|Read commands for reading interfering memory cells|
US8572423B1|2010-06-22|2013-10-29|Apple Inc.|Reducing peak current in memory systems|
US8595591B1|2010-07-11|2013-11-26|Apple Inc.|Interference-aware assignment of programming levels in analog memory cells|
US9104580B1|2010-07-27|2015-08-11|Apple Inc.|Cache memory for hybrid disk drives|
US8767459B1|2010-07-31|2014-07-01|Apple Inc.|Data storage in analog memory cells across word lines using a non-integer number of bits per cell|
US8856475B1|2010-08-01|2014-10-07|Apple Inc.|Efficient selection of memory blocks for compaction|
US8493781B1|2010-08-12|2013-07-23|Apple Inc.|Interference mitigation using individual word line erasure operations|
US8694854B1|2010-08-17|2014-04-08|Apple Inc.|Read threshold setting based on soft readout statistics|
US9021181B1|2010-09-27|2015-04-28|Apple Inc.|Memory management for unifying memory cell conditions by using maximum time intervals|
KR101212748B1|2010-10-29|2012-12-14|에스케이하이닉스 주식회사|반도체 메모리, 메모리 시스템 및 그 프로그래밍 방법|
US10437666B2|2015-08-06|2019-10-08|Nxp B.V.|Integrated circuit device and method for reading data from an SRAM memory|
US10223197B2|2015-08-06|2019-03-05|Nxp B.V.|Integrated circuit device and method for applying error correction to SRAM memory|
法律状态:
2005-11-24| OP8| Request for examination as to paragraph 44 patent law|
2008-05-21| 8327| Change in the person/name/address of the patent owner|Owner name: QIMONDA AG, 81739 MUENCHEN, DE |
2008-10-09| 8364| No opposition during term of opposition|
2010-02-18| 8339| Ceased/non-payment of the annual fee|
优先权:
申请号 | 申请日 | 专利标题
DE200410021267|DE102004021267B4|2004-04-30|2004-04-30|Verfahren zum Testen eines Speicherbausteins und Prüfanordnung|DE200410021267| DE102004021267B4|2004-04-30|2004-04-30|Verfahren zum Testen eines Speicherbausteins und Prüfanordnung|
US11/116,197| US7272757B2|2004-04-30|2005-04-28|Method for testing a memory chip and test arrangement|
[返回顶部]