Beschreibung
RAM-Speicherschaltung mit mehreren Bänken und einer Hilfseinrichtung zum Testen
Die Erfindung betrifft eine RAM-Speicherschaltung, die mehrere Bänke mit jeweils einer Vielzahl von Speicherzellen aufweist und ferner eine Hilfseinrichtung zum Testen enthält, gemäß dem Oberbegriff des Patentanspruchs 1. Bevorzugtes, je- doch nicht ausschließliches Gebiet der Erfindung sind dynamische RΑM-Speicherschaltungen (DRAMs) .
Das Akronym "RAM" (hergeleitet aus "Random Access Memory") wird üblicherweise verwendet zur Bezeichnung eines Datenspei- chers, der eine Vielzahl von Speicherzellen aufweist, deren jede ein Datum speichern kann und auf welche selektiv und direkt zugegriffen werden kann, um Daten wahlweise einzuschreiben oder auszulesen. In vielen Fällen sind die Speicherzellen in mehreren getrennten Zellenfeldern, sogenannten "Bänken", zusammengefaßt. Jede dieser Bänke hat eine eigene Zellen-Selektionseinrichtung, enthaltend ein Netz schaltbarer Datenwege und ein Netz von Selektions-Steuerleitungen zur Steuerung der Schaltfunktionen im Datenwegenetz.
Die Selektionseinrichtung einer Bank ist durch eine Bankadresse aktivierbar und spricht im aktivierten Zustand auf eine angelegte Zellen-Adreßinformation an, um die hierdurch identifizierten ("adressierten") Speicherzellen für einen Schreib- oder Lesebetrieb zu selektieren. Diese Selektion er- folgt im Prinzip dadurch, daß die Selektionseinrichtung abhängig von der Zellen-Adreßinformation ausgewählte Selektions-Steuerleitungen erregt, um zugeordnete Schalter im Daten- pfadnetz zu betätigen und dadurch Datenübertragungswege zwischen den adressierten Speicherzellen und einem der betref- fenden Bank zugeordneten Datenbus ("Bankbus") durchzuschalten.
Infolge dieses Selektionsvorganges finden Schreibdaten, die beim Erscheinen eines Schreibbefehls auf dem Bankbus bereitgestellt sind, ihren Weg in die adressierten Speicherzellen, und beim Erscheinen eines Lesebefehls finden die in den ad- ressierten Speicherzellen enthaltenen Daten ihren Weg zum Bankbus. Typischerweise ist der Bankbus ein Parallelbus zur gleichzeitigen Übertragung von n Daten, und die Selektionseinrichtung ist so ausgelegt, daß mit einer Zellen-Adreßinformation jeweils eine Gruppe von n Speicherzellen gleichzei- tig adressiert und zum Schreiben oder Lesen selektiert werden kann. Die Bankbusse sind üblicherweise über einen Bankmulti- plexer selektiv, abhängig von der Bankadresse, mit einem bidirektionalen Datenport verbindbar, der n parallele Daten- Transferkanäle enthält, die ihrerseits zum Empfangen und Sen- den der einzuschreibenden bzw. auszulesenden Daten mit n äußeren Datenanschlüssen der Speicherschaltung verbunden sind.
Zur Überprüfung der Funktionsfähigkeit einer RAM-Speicherschaltung sind verschiedene Tests in verschiedenen Stadien der Herstellung notwendig. Solche Tests bestehen im Prinzip darin, in jede Speicherzelle ein jeweils bestimmtes Datum einzuschreiben und bei anschließenden Lesezugriffen zu prüfen, ob die ausgelesenen Daten mit den zuvor eingeschriebenen Daten übereinstimmen. Speichertests werden mit Hilfe externer Testgeräte durchgeführt, welche nach einem wählbaren Testprogramm arbeiten, um die jeweiligen Adressen- und Dateninformationen für die Selektion der Speicherzellen und für die einzuschreibenden Daten bereitzustellen, außerdem Kommandobits zur Vorgabe der jeweiligen Betriebsart der Speicherschaltung zu liefern und Strobesignale für die Abfrage der Testresultate zu erzeugen.
Durch immer größere Speicherdichten ergeben sich immer längere Testzeiten pro Speicherschaltung. Da die Testzeit ein wesentlicher Kostenfaktor ist, bemüht man sich um deren Verkürzung. Ein bekannter Beitrag zu TestZeitverkürzung besteht darin, beim Einschreiben der Testdaten sowohl die Bankbusse
als auch die Selektionseinrichtungen aller Bänke parallel zu schalten, so daß jede Gruppe von n Schreibdaten gleichzeitig in die jeweils adressierte Speicherzellengruppe aller Bänke eingeschrieben wird. Im Lesebetrieb kann man einen Parallel- betrieb der Bankbusse aber nicht durchführen, weil sich dann die Lesedaten aus verschiedenen Bänken einander überlagern würden, so daß Fehler nicht diskriminierbar sind.
Man hat sich deswegen bisher darauf beschränkt, die Dauer des Lesebetriebs zu verkürzen durch Überbrückung der üblichen Wartezeiten, die zwischen aufeinanderfolgenden Zugriffen auf verschiedene Speicherzellengruppen in einer Bank eingehalten werden müssen. Vor jedem neuen Lesezugriff muß nämlich abgewartet werden, bis die datenführenden Leitungen in der Selek- tionseinrichtung wieder in ihren neutralen Ladezustand gebracht sind. Um diese Wartezeiten nutzvoll zu überbrücken, ist es bekannt, die einzelnen Bänke beim Auslesen in einer zeitverschachtelten Weise anzusprechen, derart daß unmittelbar nach erfolgtem Lesen an einer Bank, also bereits vor Ab- lauf der Wartezeit an dieser Bank, auf eine andere Bank zugegriffen wird. Hierdurch lassen sich aber nur wenige Prozent der Gesamtzeit der Speicherauslesung einsparen.
Die Aufgabe der Erfindung besteht darin, eine mit mehreren Speicherbänken versehene RAM-Speicherschaltung so auszubilden, daß sie in kürzerer Zeit als bisher getestet werden kann. Diese Aufgabe wird erfindungsgemäß durch die im Patentanspruch 1 angegebenen Merkmale gelöst.
Gegenstand der Erfindung ist demnach eine RAM-Speicherschaltung, enthaltend: k ≥ 2 Bänke, deren jede eine Vielzahl von Speicherzellen und eine Selektionseinrichtung aufweist, um Gruppen von jeweils n 2 Speicherzellen der Bank abhängig von einer angelegten Zellen-Adreßinformation gleichzeitig zu selektieren und an der jeweils selektierten Speicherzellengruppe eine Gruppe von n Daten über einen zugeordneten n-Bit- Bankbus in einem Schreibbetrieb als Schreibdaten einzuschrei-
ben oder in einem Lesebetrieb als Lesedaten auszulesen; einen bidirektionalen Datenport mit n Transferkanälen, die zum Empfangen und Senden von n parallelen Daten ausgelegt und mit auswählbaren Exemplaren der Bankbusse verbindbar sind; eine Testhilfseinrichtung, die eine Bus-Parallelschalteinrichtung zum gleichzeitigen Verbinden aller k Bankbusse mit dem Datenport und eine Selektions-Parallelschalteinrichtung zum gleichzeitigen Aktivieren der Selektionseinrichtungen aller Bänke aufweist. Erfindungsgemäß enthält die Testhilfseinrich- tung eine Teststeuerschaltung, die auf ein Testmodus-Einstellsignal anspricht, um die Bus-Parallelschalteinrichtung nur während des Schreibbetriebs zu aktivieren, alle Bankbusse während des Lesebetriebs vom Datenport abzukoppeln und die Selektions-Parallelschalteinrichtung während des Schreibbe- triebs und während des Lesebetriebs zu aktivieren. Ferner enthält die Testhilfseinrichtung für jede Bank eine eigene Auswerteeinrichtung zum Vergleichen der auf dem zugeordneten Bankbus erscheinenden n Lesedaten mit einer Referenzinformation, die repräsentativ für die Schreibdaten ist, welche zu- vor an der aktuell selektierten Speicherzellengruppe eingeschrieben worden sind, und zur Bereitstellung einer Ergebnisinformation, bestehend aus 1 ≤ m ≤ n/k Bits, deren jedes anzeigt, ob eine genau ihm zugeordnete Untermenge aus m Untermengen der n Lesedaten mit einem genau dieser Untermenge zu- geordneten Teil der Referenzinformation übereinstimmt.
Wenn hier und im folgenden von "m Untermengen" irgendeiner Gesamtmenge die Rede ist, sind damit m disjunkte Mengen gemeint, die zusammengenommen alle Elemente der Gesamtmenge restlos umfassen. Dies schließt auch den Fall m = 1 ein; in diesem Fall ist die (einzige) "Untermenge" identisch mit der Gesamtmenge.
Die erfindungsgemäße Testhilfseinrichtung ermöglicht einen zeitsparenden Parallelbetrieb der Speicherbänke nicht nur beim Einschreiben der Testdaten, sondern auch beim Lesen.
Auch im Lesebetrieb läuft die Selektion der Speicherzellen-
gruppen parallel an allen Bänken, jedoch ohne Parallelschaltung der Bankbusse. Beim Lesen ist keiner der n-Bit-Bankbusse mit dem n-Bit-Datenport verbunden. Jede der k n-Bit-Leseda- tengruppen, die gleichzeitig auf den k verschiedenen Bankbus- sen erscheinen, wird in einer eigenen Auswerteeinrichtung geprüft, um k "komprimierte" Testergebnisse zu erhalten, die zusammengenommen höchstens n Bits enthalten, so daß sie über den n-Bit-Datenport ausgegeben werden können.
Besondere Ausführungsformen der Erfindung sind in den Unteransprüchen gekennzeichnet. Die Erfindung wird nachstehend an Ausführungsbeispielen anhand von Zeichnungen näher erläutert.
Fig. 1 zeigt schematisch den Aufbau einer RAM-Speicherschal- tung mit vier Bänken und einer Testhilfseinrichtung gemäß einer ersten Ausführungsform der Erfindung;
Fig. 2 zeigt in ähnlicher Weise das Schema einer zweiten Ausführungsform der Erfindung.
In den Figuren sind gleichartige Elemente und Steuersignale mit jeweils den selben Bezugszahlen bzw. Abkürzungen bezeichnet, denen zur näheren Identifizierung manchmal Ziffern oder Buchstaben, teilweise in eckigen Klammern [], nachgestellt sind.
Die in Fig. 1 gezeigte Speicherschaltung enthält k = 4 Bänke 10A, 10B, IOC und 10D, die jeweils fragmentarisch dargestellt sind und zusammen mit anderen Komponenten der Speicherschal- tung auf einem einzigen Halbleiterchip integriert sind. Jede der vier Bänke 10[A:D] liegt in einem zugeordneten Quadranten des Chip. Die vier Bänke haben gleiche Größe und sind in gleicher Weise aufgebaut, so daß eine kurze Beschreibung nur des Aufbaus der Bank 10A genügt.
Die Bank 10A enthält ein Zellenfeld 11A mit einer großen Vielzahl einzelner Speicherzellen, die matrixförmig in Zeilen
("rows") und Spalten ("colu ns") angeordnet sind. Der Zugriff auf ausgewählte Speicherzellen der Bank 10A zum Schreiben und Lesen erfolgt über eine zugeordnete Selektionseinrichtung 12A durch Erregung ausgewählter Leitungen in einem Vielfach von Zeilenselektions-Steuerleitungen RS und einem Vielfach von Spaltenselektions-Steuerleitungen CS. Die Erregung der Steuerleitungen RS erfolgt durch einen Zeilenadressendecoder 21 abhängig von den Bits einer Zeilenadresse RAD, und die Erregung der Steuerleitungen CS erfolgt durch einen Spaltenadres- sendecoder 22 abhängig von den Bits einer Spaltenadresse CAD. Nur bei Aktivierung durch ein zugeordnetes Bankselektionssignal BS-A spricht die Selektionseinrichtung auf die Erregungs- zustände der erwähnten Steuerleitungen RS und CS an, um jeweils eine durch die Adressen RAD und CAD bestimmte Gruppe von n Speicherzellen des Zellenfeldes mit den n Datenleitungen eines zugeordneten Bankbusses 13A zu verbinden. Über den so geschaffenen n-Bit-Datenweg können dann gleichzeitig n Daten an der betreffenden Speicherzellengruppe eingeschrieben oder ausgelesen werden. Beim dargestellten Ausführungsbei- spiel ist n = 16.
Auch den anderen drei Bänken 10B, IOC, 10D ist jeweils ein eigener n-Bit-Bankbus 13B bzw. 13C bzw. 13D zugeordnet. Die Selektionseinrichtungen 12B, 12C, 12D drei Bänke 10B, IOC, 10D sind in der gleichen Weise wie die Selektionseinrichtung 12A der Bank 10A über die Zeilenselektions- und Spaltenselek- tions-Steuerleitungen RS und CS mit den beiden Adressendecodern 21 und 22 verbunden und sind individuell aktivierbar durch ein jeweils zugeordnetes Bankselektionssignal BS-B bzw. BS-C bzw. BS-D. Die Bankselektionsignale BS-[A:D] werden erzeugt durch einen Bankadressendecoder 23 abhängig von den Bits einer Bankadresse BAD.
Die Speicherschaltung hat n = 16 äußere Datenanschlüsse D[0:15], welche mit n parallelen Daten-Transferkanälen eines bidirektionalen Datenportes 24 verbunden sind. Ein Bankmulti- plexer 25 mit k Zweiganschlüssen A, B, C und D ist durch die
Bankadresse BAD steuerbar, um den Datenport 24 mit dem Bankbus der jeweils selektierten Bank zu verbinden.
Um die Folge der einzelnen Vorgänge während verschiedener Be- triebsabläufe zu steuern, ist ein Steuerteil 26 vorgesehen, der Eingänge zum Empfang extern angelegter Kommandobits CMB hat und aus diesen Bits Betriebssteuersignale für verschiedene Betriebsarten ableitet. Hierzu gehören unter anderem ein Schreibsteuersignal WRD zum Aktivieren des Betriebs für das Schreiben von Daten, ein Lesesteuersigal RDD zum Aktivieren des Betriebs für das Lesen und ein Testmodus-Einstellsignal TM, welches die Speicherschaltung speziell für die Durchführung von Testoperationen konditioniert . Der Steuerteil 26 liefert ferner diverse Zeitsteuersignale für das Timing der aufeinanderfolgenden Schaltoperationen in den Selektionseinrichtungen 12 [A: D] . Die entsprechenden Signalverbindungen sind aus Gründen der Übersichtlichkeit nicht gesondert dargestellt.
Die bis hierher beschriebenen Merkmale der Speicherschaltung sind an sich bekannt und ermöglichen den üblichen Normalbetrieb zum Schreiben und Lesen von Daten an jeweils einer ausgewählten Speicherbank. Um jedoch einen Speichertest in verkürzter Zeit durchführen zu können, ist die Speicherschaltung nach Fig. 1 zusätzlich mit einer Testhilfseinrichtung versehen, die k = 4 gleichartige Auswerteeinrichtungen 30[A:D], einen n-poligen Schalter 32 in der Verbindung zwischen dem Datenport 24 und dem Multiplexer 25, eine Schalteinrichtung 33 zum Parallelschalten aller k Bankbusse 13[A:D], eine Schalteinrichtung 34 zum parallelen Aktivieren aller Selektionseinrichtungen 12[A:D] und einen Teststeuersignalgeber 35 enthält. Der Teststeuersignalgeber 35 verknüpft die vom Steuerteil 26 erzeugten Signale WRD, RDD und TM, um ein erstes Teststeuersignal Sl für das Öffnen des Schalters 32 und die Aktivierung der Auswerteeinrichtungen 30[A:D] zu erzeugen und ein zweites Teststeuersignal S2 für die Bus-Parallelschalteinrichtung 33 zu erzeugen.
Die vier Auswerteeinrichtungen 30[A:D] sind den vier Bänken 10[A:D] individuell zugeordnet und enthalten jeweils einen Vergleicher 31 mit n Signaleingängen, die mit den n Datenlei- tungen des Bankbusses der zugeordneten Bank verbunden sind. Die Vergleicher 31 sind durch das Teststeuersignal Sl aktivierbar, um die an ihren Signaleingängen empfangenen n Bits mit einem Referenzbit zu vergleichen und ein Ergebnisbit zu liefern, welches anzeigt, ob alle empfangenen n Bits mit dem Referenzbit übereinstimmen oder nicht. Das Referenzbit für die Vergleicher 31 der vier Auswerteeinrichtungen 30[A:D] wird über eine Referenzbitleitung 36 zugeführt, die an einen der Transferkanäle des Datenportes 24 angeschlossen ist, im dargestellten Fall an den Transferkanal des Datenanschlusses DO. Die Ergebnisbits von den Vergleichern 31 der vier Auswerteeinrichtungen 30[A:D] werden über vier Ergebnisleitungen 37 abgeführt, die an vier andere Transferkanäle des Datenportes 24 angeschlossen sind, im dargestellten Fall an die Transferkanäle der Datenanschlüsse D[12:15].
Im normalen Betriebsmodus der Speicherschaltung wird das Testmodus-Einstellsignal TM unwirksam gehalten. Unter dieser Bedingung ist die Selektions-Parallelschalteinrichtung 34 unwirksam, und der Teststeuersignalgeber 35 hält die Teststeu- ersignale Sl und S2 unwirksam, so daß der Schalter 32 geschlossen bleibt, die Bus-Parallelschalteinrichtung 33 unwirksam bleibt und die Auswerteeinrichtungen 30[A:D] alle deaktiviert sind. Über äußere Adressenanschlüsse wird eine Bankadresse BAD, eine Zeilenadresse RAD und eine Spaltenad- resse CAD angelegt, um die Selektionseinrichtung der durch die Bankadresse BAD bestimmten Bank zu aktivieren, so daß die durch die Adressen RAD und CAD bestimmte Speicherzellengruppe (n = 16 Speicherzellen) nur dieser Bank selektiert wird. Gleichzeitig wird der Bankmultiplexer 25 durch die Bankadres- se BAD so eingestellt, daß er den Bankbus genau dieser Bank mit dem Datenport 24 verbindet (über den im Normalmodus geschlossen n-poligen Schalter 32). Somit ist zwischen den n
äußeren Datenanschlüssen D[0:15] und den n selektierten Speicherzellen ein Datenübertragungsweg zur parallelen Eingabe von n Schreibdaten oder zur parallelen Ausgabe von n Lesedaten an der selektierten Bank hergestellt. Die zeitliche Abfolge der verschiedenen Schaltoperationen in der jeweils aktivierten Selektionseinrichtung zum Schreiben und Lesen wird gesteuert durch entsprechende Zeitsteuersignale, die im Steuerteil 26 unter dem Einfluß des Schreibsteuersignals WRD bzw. des Lesesteuersignals RDD erzeugt werden.
Zur Durchführung des Speichertests wird das Testmodus-Einstellsignal TM wirksam gemacht und während des ganzen Testbetriebs wirksam gehalten. Dies veranlaßt die Selektions-Pa- rallelschalteinrichtung 34, die Selektionseinrichtungen 12[A:D] aller Bänke 10[A:D] gleichzeitig aktiv zu halten, durch gleichzeitige Aktivierung aller Bankselektionssignale BS-[A:D]. Ein eventueller Einfluß von Bankadressenbits BAD auf diese Signale wird durch die Aktivierung seitens der Schalteinrichtung 34 überschrieben.
Der Testbetrieb beginnt mit dem Schreiben von Testdaten in die Bänke 10[A:D]. Hierzu wird das Schreibsteuersignal WRD wirksam gemacht, wodurch der Teststeuersignalgeber 35 veranlaßt wird, das Teststeuersignal S2 zum Parallelschalten aller Bankbusse 13[A:D] wirksam zu machen. Das andere Teststeuersignal Sl bleibt während des Schreibsteuersignals WRD im "unwirksamen" Zustand, so daß der Schalter 32 geschlossen bleibt und die Auswerteeinrichtungen 30[A:D] deaktiviert bleiben. In diesem Betriebszustand werden nacheinander verschiedene Zel- len-Adreßinformationen angelegt, durch unterschiedliche Kombinationen von Zeilen- und Spaltenadressenbits RAD und CAD. Zusammen mit jeder Zellen-Adreßinformation wird eine Gruppe von n = 16 Testdatenbits gleichen Binärwertes an die n Datenanschlüsse D[0:15] gelegt. Wegen der erwähnten gemeinsamen Aktivierung aller Selektionseinrichtungen 12[A:D] und wegen der erwähnten Parallelschaltung aller Bankbusse 13[A:D] wird jede Gruppe der Testdatenbits gleichzeitig in eine durch die
angelegte Zellen-Adreßinformation bestimmte Speicherzellengruppe in jeder Bank eingeschrieben. Der Bankmultiplexer 25 muß hierbei natürlich "durchlässig" sein, was z.B. durch Anlegen irgendeiner beliebigen Bankadresse BAD erreicht werden kann.
Nach diesem Testschreibbetrieb folgt ein Testlesebetrieb. Hierzu wird das Lesesteuersignal RDD wirksam gemacht, wodurch der Teststeuersignalgeber 35 veranlaßt wird, das Teststeuer- signal S2 wieder unwirksam zu machen und das andere Teststeuersignal Sl wirksam zu machen. Hierdurch wird die Parallelschaltung der Bankbusse 13[A:D] aufgehoben, der Schalter 32 wird geöffnet, und alle Auswerteeinrichtungen 30[A:D] werden aktiviert. In diesem Betriebszustand werden wiederum nachein- ander die verschiedenen Zellen-Adreßinformationen angelegt, die auch im Testschreibbetrieb angelegt wurden. Zusammen mit jeder Zellen-Adreßinformation wird am Datenanschluß DO ein Referenzbit angelegt, welches den gleichen Binärwert hat wie die Gruppe der n Testdatenbits, die während des Testschreib- betriebs beim Anlegen der betreffenden Zellen-Adreßinformation an allen Bänken 10[A:D] eingeschrieben wurde.
Mit jedem Anlegen einer Zellen-Adreßinformation im Testlesebetrieb erscheinen also an den n Signaleingängen jedes Ver- gleichers 31 die n Lesedaten aus der adressierten Speicherzellengruppe der jeweils zugeordneten Bank. Gleichzeitig erscheint am Referenzeingang jedes Vergleichers 31 das Referenzbit, das anzeigt, welchen Binärwert die n Lesedaten am Vergleicher haben sollten, wenn kein Fehler vorliegt. Besteht Übereinstimmung zwischen den Binärwerten aller n Lesedaten und dem Referenzbit an einem Vergleicher 31, liefert dieser Vergleicher an seinem Ausgang das Ergebnisbit mit einem Informationsinhalt "Test bestanden", z.B. dargestellt durch den Binärwert "1". Andernfalls liefert der Vergleicher eine "0", wodurch das Ergebnis "Test nicht bestanden" dargestellt wird.
Die insgesamt k (=4) Ergebnisbits von den Vergleichern 31 der
k (=4) Auswerteschaltungen 30[A:D] gelangen über die vier Leitungen 37 und den Datenport 24 parallel zu den Datenanschlüssen D[12:15]. Somit wird an der Speicherschaltung bei jeder Adressierung ein "komprimiertes" k-Bit-Testergebnis ausgegeben, das anzeigt, welche der k Speicherbänke 10[A:D] den Test für die adressierte Speicherzellengruppe bestanden bzw. nicht bestanden hat.
Die beschriebene, aus den Elementen 30 bis 37 gebildete Test- hilfseinrichtung in der Speicherschaltung nach Fig. 1 erlaubt also ein zeitsparendes paralleles Testen aller Speicherbänke, wobei nicht nur der Testschreibbetrieb sondern auch der Testlesebetrieb parallel an allen Bänken ablaufen kann. Sowohl die Testschreibdaten als auch Referenzinformation für den Testvergleich und die Ergebnisinformation können über die für den Normalbetrieb vorgesehenen Datenanschlüsse laufen, so daß es keiner zusätzlichen äußeren Anschlüsse für den Testmodus bedarf. Das komprimierte k-Bit-Testergebnis ist aussagekräftig, denn es zeigt genau an, welche Speicherzellengruppe in welcher der k Bänke fehlerhaft ist.
Die Aussage des Testergebnisses kann noch verfeinert werden, indem man in jeder der k Auswerteeinrichtungen mehrere Vergleicher vorsieht, deren jeder eine disjunkte Untermenge der n parallelen Lesedaten aus der betreffenden Speicherbank mit jeweils einem Referenzbit vergleicht, so daß für jede dieser Untermengen ein eigenes Ergebnisbit geliefert wird. Die Fig. 2 zeigt ein Beispiel für eine diesbezügliche Ausführungsform der RAM-Speicherschaltung.
Viele Elemente der Speicherschaltung nach Fig. 2 entsprechen der in Fig. 1 gezeigten Ausführungsform und sind mit gleichen Bezugszeichen bezeichnet wie in Fig. 1. Eine nochmalige Beschreibung des Aufbaus und der Funktion dieser Elemente ist daher überflüssig. Es genügt, im folgenden nur die Unterschiede zu erörtern, die allein im Aufbau und der Funktion der Testhilfseinrichtung liegen.
Die Testhilfseinrichtung gemäß der Fig. 2 enthält k = 4 gleichartige Auswerteeinrichtungen 50[A:D], einen Schreib/- Lese-Multiplexer 42 zwischen dem Datenport 24 und dem Bank- multiplexer 25, eine Schalteinrichtung 43 zum Parallelschalten aller k Bankbusse 13[A:D], eine Schalteinrichtung 44 zum parallelen Aktivieren aller Selektionseinrichtungen 12[A:D], ein Latchregister 48 und einen Teststeuersignalgeber 45. Der Teststeuersignalgeber 45 verknüpft die vom Steuerteil 26 er- zeugten Signale WRD, RDD und TM, um ein Steuersignal S3 für den Betrieb des Schreib/Lese-Multiplexers Schalters 42 und die Aktivierung der Auswerteeinrichtungen 50[A:D], ein Steuersignal S4 zur Aktivierung der Bus-Parallelschalteinrichtung 43 und Steuersignal S5 zum Triggern des Latchregisters 48 zu erzeugen.
Die vier Auswerteeinrichtungen 50[A:D] sind den vier Bänken 10[A:D] individuell zugeordnet und enthalten jeweils m Vergleicher, wobei m ein ganzzahliger Bruchteil der Anzahl n von Speicherzellen in einer Speicherzellengruppe ist (d.h. n/m ist eine ganze Zahl) und das Produkt m*k höchstens gleich n ist. Im dargestellten Fall (n = 16 und k = 4) ist m = 4. Somit ist k*m genau gleich 16.
Jeder der m = 4 Vergleicher 51, 52, 53, 54 hat p = n/m =4 Signaleingänge, die mit einer zugeordneten Untermenge der n Datenleitungen des Bankbusses der zugeordneten Bank verbunden sind. Die Vergleicher 51-54 sind durch das Steuersignal S3 aktivierbar, um die an ihren Signaleingängen empfangenen p Bits mit einem Referenzbit zu vergleichen und ein Ergebnisbit zu liefern, welches anzeigt, ob alle empfangenen p Bits mit dem Referenzbit übereinstimmen oder nicht. Die m Referenzbits für die m Vergleicher • 51-54 jeder der Auswerteeinrichtungen 50[A:D] werden allen Auswerteeinrichtungen gemeinsam über ein Bündel von m Referenzbitleitungen 46 zugeführt, und zwar von den m Ausgängen des Latchregisters 48. Das Latchregister 48 enthält m triggerbare Datenflipflops, deren Dateneingänge
über m Leitungen 49 an m verschiedene Transferkanäle des Datenportes 24 angeschlossen sind, im dargestellten Fall (m = 4) an die Transferkanäle der vier Datenanschlüsse DO, D4, D7 und D12.
Die insgesamt k*m = 16 Ergebnisbits von den m Vergleichern jeder der vier Auswerteeinrichtungen 50[A:D] werden über 16 Ergebnisleitungen 47 abgeführt, die über den Schreib/Lese- Multiplexer 42 mit den 16 Transferkanälen des Datenportes 24 verbunden werden können, zur parallelen Ausgabe der 16 Ergebnisbits an den 16 Datenanschlüssen D[0:15]. Der Schreib/Lese- Multiplexer 42 ist durch das Steuersignal S3 steuerbar, um entweder den Bankmultiplexer 25 oder das Bündel der Ergebnisleitungen 47 mit dem Datenport 24 zu verbinden.
Im normalen Betriebsmodus der SpeicherSchaltung nach Fig. 2 wird das Testmodus-Einstellsignal TM unwirksam gehalten. Unter dieser Bedingung ist die Selektions-Parallelschaltein- richtung 44 unwirksam, und der Teststeuersignalgeber 45 hält das Steuersignal S3 für den Schreib/Lese-Multiplexer in einem Zustand zum Verbinden des Datenportes 24 dem Bankmultiplexer 25. Das Steuersignal S4 wird in einem Zustand gehalten, bei welchem die Bus-Parallelschalteinrichtung 43 unwirksam bleibt, und das Steuersignal S5 für die Triggerung der Flip- flops des Latchregisters wird inhibitiert. So kann der Normalbetrieb für Schreiben und Lesen in der gleichen Weise durchgeführt werden, wie es oben anhand der Fig. 1 beschrieben wurde.
Zur Durchführung des Speichertests an der Speicherschaltung nach Fig. 2 wird das Testmodus-Einstellsignal TM wirksam gemacht und während des ganzen Testbetriebs wirksam gehalten. Dies veranlaßt die Selektions-Parallelschalteinrichtung 43, die Selektionseinrichtungen 12[A:D] aller Bänke 10[A:D] gleichzeitig aktiv zu halten, durch gleichzeitige Aktivierung aller Bankselektionssignale BS-[A:D].
Der Testbetrieb beginnt mit dem Schreiben von Testdaten in die Bänke 10[A:D]. Hierzu wird das Schreibsteuersignal WRD wirksam gemacht, wodurch der Teststeuersignalgeber 45 veranlaßt wird, das Steuersignal S4 zum Parallelschalten aller Bankbusse 13[A:D] wirksam zu machen. Das Steuersignal S3 wird während des Schreibsteuersignals WRD beim Testmodus in einem Zustand gehalten, bei welchem es die Auswerteeinrichtungen 50[A:D] unwirksam läßt und den Schreib/Lese-Multiplexer 42 veranlaßt, den Datenport 24 mit dem Bankmultiplexer 25 zu verbinden. In diesem Betriebszustand werden nacheinander verschiedene Zellen-Adreßinformationen angelegt, durch unterschiedliche Kombinationen von Zeilen- und Spaltenadressenbits RAD und CAD. Zusammen mit jeder Zellen-Adreßinformation wird eine Gruppe von n = 16 Testdatenbits an die n Datenanschlüsse D[0:15] gelegt. Wegen der erwähnten gemeinsamen Aktivierung aller Selektionseinrichtungen 12[A:D] und wegen der erwähnten Parallelschaltung aller Bankbusse 13[A:D] wird jede Gruppe der Testdatenbits gleichzeitig in eine durch die angelegte Zellen-Adreßinformation bestimmte Speicherzellengruppe in je- der Bank eingeschrieben.
Für das Muster der n Datenbits, die im Testmodus der Speicherschaltung nach Fig. 2 jeweils parallel eingeschrieben werden, gelten folgende Vorschriften: a) die Menge der n Schreibdatenbits ist zu gliedern in m dis- junkte Untermengen, entsprechend den m Untermengen der Datenleitungen in jedem Bankbus, die mit den m Vergleichern der jeweils zugeordneten Auswerteschaltung verbunden sind; b) alle Bits innerhalb jeder einzelnen Untermenge der Schreibdatenbits haben jeweils gleichen Binärwert, der jedoch von Untermenge zu Untermenge verschieden sein darf; c) das Gesamtmuster der n Schreibdatenbits ist bei den aufeinanderfolgenden Schreibvorgängen während jedes Testschreibbetriebs das gleiche.
Zur Befolgung dieser Vorschriften an der Speicherschaltung nach Fig. 2 werden während des gesamten Testschreibbetriebs
vier Datenbits gleichen Binärwertes an die erste Untermenge D[0:3] der 16 Datenanschlüsse, vier Datenbits gleichen Binärwertes an die zweite Untermenge D[4:7], vier Datenbits gleichen Binärwertes an die dritte Untermenge D[8:ll] und vier Datenbits gleichen Binärwertes an die vierte (also die m-te) Untermenge D[12:15] der 16 Datenanschlüsse gelegt. Irgendwann während des Testschreibbetriebs (vorzugsweise etwas verzögert nach Erzeugung des Schreibsteuersignals) macht der Teststeuersignalgeber 45 das Steuersignal S5 aktiv, um die m Flip- flops des Latchregisters 48 zu triggern und dadurch die m Datenbits, die an den m Untermengen der Datenanschlüsse anliegen, als Referenzbits an den m Ausgängen des Registers 48 für den anschließenden Lesebetrieb bereitzuhalten.
Nach diesem Testschreibbetrieb folgt der Testlesebetrieb. Hierzu wird das Lesesteuersignal RDD wirksam gemacht, wodurch der Teststeuersignalgeber 45 veranlaßt wird, mittels des Steuersignals S3 die Auswerteeinrichtungen 50[A:D] zu aktivieren und den Schreib/Lese-Multiplexer 42 so einzustellen, daß er den Datenport 24 mit den n = 16 Ergebnisleitungen 47 verbindet. Außerdem macht der Teststeuersignalgeber 45 im Testlesebetrieb die Bus-Parallelschalteinrichtung 43 mittels des Steuersignals S4 unwirksam. Somit wird die Parallelschaltung der Bankbusse 13[A:D] und deren Verbindung mit dem Da- tenport 24 aufgehoben.
In diesem Betriebszustand werden wiederum nacheinander die verschiedenen Zellen-Adreßinformationen angelegt, die auch im Testschreibbetrieb angelegt wurden. Mit jedem Anlegen einer Zellen-Adreßinformation im Testlesebetrieb erscheinen an den Signaleingängen jedes der m Vergleicher 51-54 in jeder Auswerteeinrichtung 50[A:D] m disjunkte Untermengen der n Lesedaten aus der adressierten SpeicherZellengruppe der jeweils zugeordneten Bank. Am Referenzeingang jedes Vergleichers er- scheint das im Latchregister 48 gespeicherte Referenzbit, das anzeigt, welchen Binärwert die Lesedaten an diesem Vergleicher haben sollten, wenn kein Fehler vorliegt. Besteht Über-
einstimmung zwischen den Binärwerten aller Lesedaten und dem zugeordneten Referenzbit an einem Vergleicher 31, liefert dieser Vergleicher an seinem Ausgang das Ergebnisbit mit einem Informationsinhalt "Test bestanden", z.B. dargestellt durch den Binärwert "1". Andernfalls liefert der Vergleicher eine "0", wodurch das Ergebnis "Test nicht bestanden" dargestellt wird.
Die insgesamt k*m (=16) Ergebnisbits von den insgesamt k*m Vergleichern der Auswerteschaltungen 30[A:D] gelangen über die 16 Ergebnisleitungen 47 und den Datenport 24 parallel zu den Datenanschlüssen D[0:15], Somit wird an der Speicherschaltung bei jeder Adressierung ein "komprimiertes" 16-Bit- Testergebnis ausgegeben, das anzeigt, welche von m Untermen- gen der jeweils adressierten Speicherzellengruppe in welcher der k Speicherbänke 10[A:D] den Test bestanden bzw. nicht bestanden hat.
Bei Verwendung der in Fig. 2 gezeigten, aus den Elementen 42 bis 54 gebildeten Testhilfseinrichtung ist das aus n = 16 Bits bestehende Testergebnis jedes Lesevorganges weniger "komprimiert" und somit von feinerer Aussage als das aus k = 4 Bits bestehende Testergebnis bei Ausführungsform nach Fig. 1. Es erlaubt nicht nur das Auffinden einer fehlerbehaf- teten Speicherzellengruppe, sondern auch die Diskriminierung derjenigen Untermenge (n) einer Speicherzellengruppe, in welcher der Fehler liegt (oder die Fehler liegen) . Dennoch ist die Testzeit ebenso kurz wie bei der Ausführungsform nach Fig. 1, und es bedarf auch keiner zusätzlichen Datenan- Schlüsse, um alle Ergebnisbits auszugeben.
Bei den gezeigten Ausführungsbeispielen ist die Anzahl n der gleichzeitig selektierbaren Speicherzellen gleich 16, und die Anzahl k der Bänke ist gleich 4. Natürlich sind auch andere Zahlenwerte für n und k möglich. Für die Zahl m, welche die Anzahl der Vergleicher pro Speicherbank und somit die Anzahl der diskrimierbaren Untermengen pro Speicherzellengruppe vor-
gibt, gilt allgemein folgendes:
Die Zahl m kann innerhalb des Bereiches 1 < m ≤ n/k natürlicher Zahlen im Prinzip beliebig gewählt werden, wenn man si- cherstellen will, daß die Anzahl der Ergebnisbits nicht größer wird als n und alle Ergebnisbits somit über die für den Normalbetrieb vorgesehenen n Datenanschlüsse ausgegeben werden können. Wenn man m ≤ n/(2k) wählt (wie im Falle m = 1 gemäß der Fig. 1), übersteigt die Summe der m*k Ergebnisbits und der m Referenzbits nicht die Zahl n der Datenanschlüsse, so daß im Testlesebetrieb alle Ergebnisbits gleichzeitig ausgegeben werden können und noch genügend andere Datenanschlüsse übrig sind, um gleichzeitig alle m Referenzbits von außen anzulegen. Bei m < n/ (2k) wie im Falle m = 4 gemäß der Fig. 2 ist diese Bedingung nicht mehr erfüllt, so daß ein interner Referenzbitgeber nötig ist, der abhängig von den im Testschreibbetrieb benutzten Schreibdaten programmierbar ist, wie z.B. das in Fig. 2 gezeigte m-Bit-Latchregister 48. Für solche Fälle gilt immer die erwähnte Einschränkung, daß die n Schreibdaten während des gesamten Testschreibbetriebs unverändert bleiben müssen.
In Fällen m < 1 kann man auch mit weniger als m Referenzbits auskommen, wenn man mehreren der m Untermengen in jeder Spei- cherzellengruppe Schreibdaten gleichen Binärwertes zuteilt. Hierdurch reduziert sich die Zahl der für die Referenzbit- Eingabe benötigten Datenanschlüsse bzw. die benötigte Bitbreite der internen Referenzbit-Latch entsprechend.
Es empfiehlt sich natürlich, die Gliederung jeder n-teiligen Speicherzellengruppe in m Untermengen so vorzunehmen, daß jede Untermenge gleiche Mächtigkeit p hat (also aus gleich vielen Elementen besteht) hat. Dabei empfiehlt es sich besonders, die Zahl m so zu wählen, daß diese Mächtigkeit p = n/m gleich 4 ist (wie im Falle der Fig. 2) und daß jede Untermenge jeweils ein Quadrupel von Speicherzellen umfaßt, das über eine gemeinsame Spaltenselektions-Steuerleitung selek-
tiert wird. Die Selektionseinrichtungen der meisten derzeit gebräuchlichen RAM-Speicher sind nämlich für eine solche Quadrupel-Selektion konstruiert. Dies hat zur Folge, daß die zur Fehlerreparatur übliche Ersetzung defektbehafteter Zeilen und/oder Spalten durch Einschalten redundanter Zeilen bzw. Spalten unter Einbeziehung jeweils ganzer Speicherzellen- Quadrupel erfolgen muß. Insofern ist die Diskriminierung von Quadrupeln beim Speichertest fein genug und optimal, um eine zielgerichtete Reparatur vornehmen zu können.
Die Einrichtung zum Parallelschalten der Bankbusse 13[A:D] ist in den Figuren zur besseren Anschaulichkeit als eine gesonderte Schalteinrichtung 33 bzw. 43 hinter den Zweiganschlüssen des Bankmultiplexers 25 dargestellt. In der Praxis kann die Funktion der Bus-Parallelschalteinrichtung im Bankmultiplexer selbst implementiert werden. Gleiches gilt für die Einrichtung zum Abkoppeln aller Bankbusse 13[A:D] vom Datenport 24, die in den Figuren rein symbolisch als n-poliger Schalter 32 bzw. als Schreib/Lese-Multiplexer 42 zwischen Da- tenport 24 und Bankmultiplexer 25 dargestellt ist. Ein üblicher Bankmultiplexer kann durch relativ einfache Zusatzmittel so ausgebildet werden, daß er durch das Steuersignal S2 (Fig. 1) bzw. das Steuersignal S4 (Fig. 2) in einen Schaltzustand versetzt wird, in welchem er alle k Zweiganschlüsse A, B, C und D mit dem Hauptanschluß verbindet und daß er durch das Steuersignal Sl (Fig. 1) bzw. das Steuersignal S3 (Fig. 2) in einen abgeschalteten "toten" Zustand versetzt wird, in welchem alle k Zweiganschlüsse voneinander und vom Hauptanschluß getrennt sind.
Bei den schnellen Testverfahren, wie sie an erfindungsgemäß ausgebildeten RAM-Speicherschaltungen durchgeführt werden können, ist natürlich zu berücksichtigen, daß die jeweiligen Testschreibdaten nicht beliebige Bitmuster haben können, son- dern daß, je nach Ausführungsform der Testhilfseinrichtung, bestimmte Untermengen der Bits gleichen Binärwert haben müssen und daß bei manchen Ausführungsformen das Bitmuster im
Verlauf eines Testschreibbetriebs nicht geändert werden darf. Ein übliches Testgerät, das zur Durchführung der Speichertests verwendet werden kann, läßt sich ohne weiteres so programmieren, daß es neben den erforderlichen Kommandobits CMB die jeweils gewünschten oder möglichen Datenbitmuster im Testschreibbetrieb zusammen mit den jeweiligen Adreßinforma- tionen liefert und daß es im Testlesebetrieb die über die Datenanschlüsse ausgegebenen Ergebnisbits verarbeitet, um Fehler anzuzeigen und zu protokollieren, und auch die passenden Referenzbits über einen Teil der Datenanschlüsse liefert (wo dies möglich ist) .