-
Die Erfindung bezieht sich auf ein Datenspeichersystem, das
eine Gruppe von integrierten Schaltungen oder Halbleiter-Chips
umfaßt, wobei jeder Chip einen Speicher enthält der aus einer
Gruppe von Speicherorten besteht, von denen einige fehlerhaft
sein können.
-
Speicher-Chips leiden unter einer kleinen Zahl von Fehlern,
die während der Herstellung entstehen oder sich anschließend
entwickeln können. Es wurden Systeme entwickelt, die solche
fehlerhaften Chips tolerieren können. Die allgemeinste Form der
Fehlertoleranz im Gebrauch ist die Einbeziehung von Ersatz oder
Redundanz-Reihen- und -Spalten von Bits in jeden Speicher-Chip. Nach
der Herstellung wird die fehlerhafte Reihe oder Spalte durch
Chip-Prüfung identifiziert, und der Ersatz wird programmiert, um
das fehlerhafte Element zu ersetzen. Die Programmierung ist
permanent, indem beispielsweise ein Laserchnitt oder das elektrische
Durchbrennen einer Sicherung verwendet wird. Dies hat sich als
eine erfolgreiche Technik erwiesen und wird heute bei allen
Speicherherstellern verwendet, siehe den Aufsatz "Redundancy - the
new device technology for circuits of the 80's", R.J. Smith,
International Electron Devices Meeting, Dezember 1982.
-
Die sogenannte Redundanz-Lösung leidet unter Begrenzungen,
insbesondere im frühen Teil des Lebenskreislaufs der Herstellung
eines Speicherprodukts. Der Hersteller muß die Zahl und den Typ
von fehlerhaften Elementen vorhersagen, die als Ergebnis eines
bestimmten Herstellungsprozesses erwartet werden, um die
geeignete Zahl von Ersatzreihen und -spalten vorzusehen. Die Wahl des
Herstellers für den Ersatz ist durch Grenzen erzwungen, die durch
die Chip-Fläche und die Funktion auferlegt werden. Ferner kann
die Programmiertechnik die Wirksamkeit des Ersatzes von Elementen
beschränken. Die Programmierung ist permanent, da keine Vorsorge
für die Reparatur von Fehlern getroffen wird, die sich nach einer
gewissen Betriebszeitdauer entwickeln.
-
Eine alternative Lösung ist in GB 2 184 268 beschrieben.
Anstatt zu versuchen, perfekte Speichervorrichtungen durch
Reparatur von unvollkommenen Chips in der Fabrik (Redundanz)
herzustellen, wurde vorgeschlagen, schadhafte Vorrichtungen
wiederzuverwerten und nur ihre guten Bits zu verwenden. Dieses Verfahren hat
einen Haupt-Nachteil. Während der Datenübertragung erscheinen
periodisch große leere Zwischenräume. Während bei einem örtlichen
Computer diese Zwischenräume identzifiziert und der Eingang oder
der Ausgang schwebend gehalten werden könnte, würde ein
entfernteres System die Schwierigkeit beim Stoppen und Starten haben.
Diese Zwischenräume führen zu einer stark verminderten
Datenübertragungsrate. Ein weiterer Nachteil ist die Verminderung der
Speicherkapazität.
-
US-3,735,368 offenbart ein Datenspeichersystem, das mit
seinen Speicherelementen an vorgegebenen Positionen gemäß dem Ort
von Fehlern innerhalb dieser Speicherelemente zusammengebaut
wird. Es wird ein fest verdrahtetes Versetzen verwendet, so daß
ein adressiertes fehlerhaftes Element durch ein
Ersatz-Speicherelement ersetzt wird.
-
Gemäß der vorliegenden Erfindung ist ein fehlertolerantes
Datenspeichersystem vorgesehen mit einer Anordnung primärer
integrierter Schaltungen, einer redundanten integrierten Schaltung,
wobei die jeweiligen primären und redundanten integrierten
Schaltungen einen Speicher umfassen, der eine Anordnung von in Zeilen
und Spalten angeordneten Speicherstellen umfaßt, einer Mehrzahl
von Datenleitungen, die an entsprechende Schaltungen in einer
Reihe der primären integrierten Schaltungen angeschlossen sind,
um Daten in die Schaltungen dieser Reihe parallel einzuschreiben
bzw. Daten aus den Schaltungen dieser Reihe auszulesen, Mitteln
zum jeweils einzelnen Erzeugen logischer Spaltenadressen, auf
jede logische Spaltenadresse reagierenden Versetzungsmitteln zum
Verbinden ausgewählter Spalten der entsprechenden primären
integrierten Schaltungen mit ihren entsprechenden Datenleitungen,
wobei mindestens einige der ausgewählten Spalten physikalische
Adressen aufweisen, die sich von der logischen Spalten-Adresse
unterscheiden, und wobei die Versetzungsmittel so angeordnet
sind, daß für jede primäre integrierte Schaltung mit einem Fehler
in der ausgewählten Spalte jeder entsprechenden Datenleitung mit
einer nicht fehlerhaften Spalte in der redundanten integrierten
Schaltung verbunden wird, dadurch gekennzeichnet, daß
zufallsmäßige primäre und redundante integrierte Schaltungen zufallsmäßige
Spalten aufweisen, die fehlerhaft sind, und die besagten
Versetzungsmittel programmierbare elektronische Mittel zum Umsetzen
jeder logischen Spalten-Adresse in eine Menge physikalischer
Spalten-Adressen, eine für jede primäre integrierte Schaltung und
eine für die redundante integrierte Schaltung, so daß nicht mehr
als eine der physikalischen Spalten-Adressen der Menge in ihrer
entsprechenden integrierten Schaltung der einen fehlerhaften
Spalte entspricht, auf jede logische Spalten-Adresse reagierende
Kennzeichnungsmittel zum Kennzeichnen der primären integrierten
Schaltungen, für die die umgesetzte physikalische Adresse einer
fehlerhaften Spalte entspricht, und auf die Kennzeichnungmittel
reagierende elektronisch steuerbare Mittel zum Verbinden der
Datenleitung für diese integrierte Schaltung mit der redundanten
integrierten Schaltung umfassen.
-
Ein typischer Speicher-Chip umfaßt eine zweidimensionale
Speicheranordnung von n Spalten entlang der Horizontalachse und m
Reihen entlang der Vertikalachse. Ein typischer
Herstellungsfehler beeinträchtigt eine oder mehrere Spalten und/oder Reihen.
-
Bei den hier zu beschreibenden Ausführungsformen der
Erfindung werden Spalten (oder Häufungen von individuellen
Bit-Fehlern) durch Umschalten von fehlerhaften Spalten auf gute Spalten
(Ersatz) im Flug wiedergewonnen. Dieser sogenannte "dynamische
Ersatz" ist wirksam, weil moderne Speichervorrichtungen eine
große Zahl von Spalten haben (üblicherweise mehr als 512). Die
Ersatzspalten werden durch einen besonderen Chip vorgesehen, der
jeder Reihe der Speichergruppe hinzugefügt wird.
-
Während des Datentransfers ist der Spaltenort derjenige, der
am häufigsten adressiert wird, da der dynamische Spaltenersatz
(DCS) autonom mit hoher Geschwindigkeit arbeiten muß. Da Reihen
geeignete Datenblöcke darstellen, wird eine fehlerhafte Reihe
ersetzt, bevor eine Übertragung beginnt und während der Zeitdauer
der Übertragung benutzt.
-
Die Reihen-Wiedergewinnung ist ähnlich dem oben beschriebenen
DCS und bekannt als pre-emptiver Reihenersatz (PRS). PRS
verwendet eine Ersatzreihe von Chips, um die fehlerhaften Reihen der
Chips in den Gruppen zu ersetzen, jedoch findet der Ersatz statt,
bevor die Datenübertragung beginnt, und der ausgewählte Ersatz
bleibt im Gebrauch, bis die Datenübertragung abgeschlossen ist.
-
Die Wiedergewinnungsfunktion von DCS und PRS wurde unter
Berücksichtigung eines realistischen Bereichs der
Fehler-Gesamtzahl, des Speicher-Typs und der Gruppen-Größe ermittelt. Es wurde
gezeigt, daß die Kombination von DCS und PRS 100 %
Wiedergewinnung erreicht, wobei 100 % die maximale Speicherung (Ignorieren
von Fehlern) der Chip-Gruppe mit Ausnahme von Redundanzen
darstellt.
-
Die vorliegende Erfindung erzielt 100 %
Speicher-Wiedergewinnung, selbst wenn alle Chips in der Gruppe fehlerhaft sind, sogar
die Ersatz-Chips. Die Redundanz-Verfahren können jedoch nur bei
Fehlern betrieben werden, die eindeutige logische Orte besetzen,
da jeder fehlerhafte Ort in einen von n oder m Orten in den
Ersatzchips eingegeben wird. Ein Haupt-Merkmal der vorliegenden
Erfindung ist die Fähigkeit, diese Fehler zu handhaben, die
denselben physikalischen Ort in verschiedenen Chips einnehmen, da die
normale Adressensequenz während der Datenübertragung versetzt
wird, um den koinzidenten physikalischen Ort rechtzeitig zu einem
unterschiedlichen logischen Ort zu bewegen.
-
Die Erfindung verwendet in der Fabrik programmierte Karten
von falschen Spalten- und Reihenorten und Versetznummern. Wenn
sich während einer Feldoperation ein Fehler entwickelt, können
die Fehlerkarten und Versetznummern neu programmiert werden und
so eine Feld-Fehlertoleranz vorsehen.
-
Ausführungsbeispiele der Erfindung werden nachfolgend nur
beispielsweise unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben. In den Zeichnungen stellen dar:
-
Fig. 1 eine Reihe von Chips in einem Speichersystem zur
Erläuterung der Prinzipien, auf denen die
Erfindung beruht;
-
Fig. 2 zwei Reihen von Chips in einem Speichersystem zur
Erläuterung des Prinzips eines logischen
Adressenversatzes, der bei der Erfindung verwendet wird;
-
Fig. 3 eine Gruppe von Modulen gemäß unserer
internationalen Anmeldung PCT/GB 90/00539;
-
Fig. 4 einen der Module von Fig. 3, der modifiziert ist,
um einen XRAM zu bilden;
-
Fig. 5 ein Fließdiagramm zur Veranschaulichung der XRAM-
Selektion, der Befehls-Dekodierung und der
Durchführung;
-
Fig. 6 eine mögliche Anordnung für die Zusammenschaltung
einer Gruppe von XRAMS;
-
Fig. 7 ein Speichersystem, das eine Gruppe von
vollkommenen XRAMS enthält;
-
Fig. 8 ein Diagramm zur weiteren Erläuterung des Prinzips
des dynamischen Spalten-Ersatzes;
-
Fig. 9 einen Ausgangs-Multiplexer von Fig. 8
-
Fig. 10 ein Diagramm zur weiteren Erläuterung des
preemptiven Reihen-Ersatzes;
-
Fig. 11 ein mögliches Verpackungs-Schema für Karten, die
Spalten- und Reihenfehler und Versatz-Werte
beschreiben;
-
Fig. 12 ein Blockdiagramm einer ersten Ausführungsform
eines Datenspeichersystems gemäß der Erfindung;
-
Fig. 13 ein typisches Datenspeichersystem, das einen RAM
enthält;
-
Fig. 14 eine zweite Ausführungsform eines
Datenspeichersystems gemäß der Erfindung;
-
Fig. 15 eine Gruppen-Spalten-Ansteuerung des Systems von
Fig. 14;
-
Fig. 16 einen Ausgangs-Multiplexer des Systems von Fig. 14,
-
Fig. 17 ein Format für die pre-emptive Reihen-Ersatzkarte;
und
-
Fig. 18 ein Format für die dynamische Spalten-Ersatzkarte.
-
Ein Datenspeichersystem umfaßt eine Gruppe von Speicher-
Chips, die aus einer Vielzahl von Spalten und einer Vielzahl von
Spalten und einer Vielzahl von Reihen bestehen. Fig. 1 zeigt eine
solche Reihe von Chips C0 bis CN zusammen mit einem Ersatz-Chip
CS für die Reihe. Jeder Chip umfaßt eine Gruppe von
Speicherorten, die aus einer Vielzahl von Spalten und einer Vielzahl von
Reihen bestehen. Parallele Daten, die auf Leitungen DO bis DN
empfangen werden, werden den jeweiligen Haupt-Chips gleichzeitig
zugeführt, sobald eine Gruppen-Reihe und eine Chip-Reihe für alle
Chips (einschließlich des Ersatz-Chips) ausgewählt worden sind.
Das erste Daten-Wort wird in die Reihe 0, die Spalte 0 von allen
Haupt-Chips gleichzeitig eingeschrieben, das zweite Daten-Wort
wird in die Reihe 0, die Spalte 1 von allen Haupt-Chips
gleichzeitig eingeschrieben usw. Wenn somit eine Gruppen-Reihe und eine
Chip-Reihe ausgewählt worden ist, wird die Spalten-Adresse über
der Breite der jeweiligen Chips fortgeschaltet, dann wird die
nächste Chip-Reihe ausgewählt, und der Prozeß setzt sich fort.
-
Jeder Chip kann Fehler enthalten. Diese können aus einer
Anzahl von fehlerhaften Speicherorten innerhalb einer Spalte
bestehen (in diesem Fall kann angenommen werden, daß der Chip eine
fehlerhafte Spalte enthält), oder aus einer Anzahl von
fehlerhaften Speicherorten innerhalb einer Reihe (in diesem Fall kann
angenommen werden, daß der Chip eine fehlerhafte Reihe hat), oder
aus einem einzigen fehlerhaften Speicherort (in diesem Fall kann
angenommen werden, daß der Chip entweder eine fehlerhafte Spalte
oder eine fehlerhafte Reihe hat).
-
Fig. 1 zeigt eine fehlerhafte Spalte in jedem Chip, wobei der
Chip 0 beispielsweise eine fehlerhafte Spalte 0 hat. Eine Karte
MAP speichert Daten, die angeben, welcher Chip eine fehlerhafte
Spalte in der Spalte hat, die in irgendeinem Augenblick
adressiert
wird. Wenn beispielsweise die Spalten 0 aller Chips
gleichzeitig adressiert werden, zeigt die Karte MAP an, daß der Chip 0
eine fehlerhafte Spalte an dieser Adresse hat. Die Karte MAP
steuert einen N:1 Multiplexer MUX (mit dem alle Datenleitungen
verbunden sind) an, um die Datenleitung 0 mit der adressierten
Spalte 0 des Ersatz-Chips CS am Ende der Gruppen-Reihe zu
verbinden. Das Daten-Bit auf der Leitung 0 wird somit in die
gegenwärtig adressierte Spalte des Ersatz-Chips kopiert.
-
Die Anordnung von Fig. 1 wird jedoch nicht damit fertig, wenn
mehr als ein Chip einen Fehler in derselben Spalte hat (z.B. zwei
Chips haben eine fehlerhafte Spalte 0), d.h. Spalten-Koinzidenz.
Demzufolge werden die logischen Adressen der Chip-Spalten
innerhalb einer Reihe relativ zu einander in einer Weise versetzt, die
sicherstellt, daßes keine solche Koinzidenz gibt. Dies ist im
Prinzip in Fig. 2 in der oberen Reihe dargestellt, alle Haupt-
Chips haben eine fehlerhafte Spalte 0 und so auch der Ersatz-
Chip. Wenn die logische Adresse der physikalischen Adresse
entsprechen würde, dann würde die Koinzidenz von fehlerhaften
Spalten einen wirksamen Betrieb verhindern. Statt dessen werden, wie
in der unteren Reihe dargestellt ist, die logischen Adressen der
unterschiedlichen Chips relativ zueinander in einer Weise
versetzt, die sicherstellt, daß für irgendeine logische Adresse
nicht mehr als ein Chip vorhanden ist, der eine fehlerhafte
Spalte an dem entsprechenden physikalischen Spaltenort hat. Wenn
beispielsweise die logische Adresse 0 eine fehlerhafte Spalte
(physikalischer Ort 0) in dem ersten Chip aber in keinem anderen Chip
findet, findet die logische Adresse 2 nur eine fehlerhafte Spalte
im Chip 2; die logische Adresse 3 findet keine fehlerhaften
Spalten in irgendeinem Chip usw.
-
Fehlerhafte Reihen können in gleicher Weise behandelt werden,
obwohl der Reihen-Ersatz vorzugsweise vor der Datenübertragung
statt im Flug stattfindet. Genaue Anordnungen für sowohl den
Spalten-Ersatz als auch den Reihen-Ersatz ergeben sich aus der
folgenden Beschreibung.
-
Eine erste Ausführungsform eines Datenspeichersystems gemäß
dieser Erfindung ist in Fig. 12 dargestellt und beruht auf einem
Steuersystem, das in unserer internationalen Patentanmeldung
PCT/GB 90/00539 offenbart ist. Dieses Steuersystem wird zunächst
beschrieben. Somit beschreibt unsere Anmeldung PCT/GB 90/00539
ein Steuersystem, das Steuersignale mit Modulen in einer Gruppe
als Kreuzpunkt-Netzwerk verbindet. Fig. 3 beschreibt eine solche
Gruppe, die mit R11- (horizontalen) und C12- (vertikalen)
Steuerleitungen verbunden ist. Die Datenwegverbindungen DI13 und DO14
sind von dem Steuer-Netzwerk getrennt. Gemäß der Erfindung sind
die Module RAMS, die eine Schaltung enthalten, um das R- und das
C-Protokoll zu stützen, und die als XRAMS bezeichnet sind. Die
Gruppe ist inaktiv bis sowohl die R- und C-Signale eines
bestimmten XRAM bestätigt werden. Nach einer Bestätigung wird der XRAM-
Ort aktiv, und sofern weder R und C gemeinsam negiert werden, ist
der XRAM-Ort in der Lage, Befehle zu empfangen, zu dekodieren und
auszuführen, wobei die C-Leitung verwendet wird, um serielle
Befehlsdaten zu übertragen und die R-Leitung, um als
synchronisierender Takt zu wirken. Der XRAM umfaßt einen DRAM mit einer
zusätzlichen Schaltung, und vorzugsweise ist die Vorrichtung so
angeordnet, daß sie entweder als XRAM oder als üblicher DRAM durch
geeignete Anschlüsse an seine Stifte verwendet werden kann. Bei
dem ersten Ausführungsbeispiel wird die Vorrichtung als ein XRAM
verwendet.
-
Gemäß der Erfindung wird ein Steuersystem verwendet, um eine
Adresseninformation in individuelle XRAMs innerhalb der Gruppe zu
programmieren. In den meisten Fällen wird eine R-Leitung (für
eine bestimmte Reihe von XRAMs) zusammen mit allen C-Leitungen
der Gruppe bestätigt. Serielle Daten, die auf irgendeiner
C-Leitung erscheinen, dürfen nicht identisch mit denen einer anderen
C-Leitung sein.
-
Ein typischer XRAM ist als Blockschaltbild in Fig. 4
dargestellt. Eine Decoder-Schaltung XDEC 181 ist mit dem
Kreuzungspunkt einer R-182- und einer C-180-Leitung in einer Gruppe
verbunden. Die XDEC bestimmt, wenn sowohl R und C bestätigt werden
(Chip ausgewählt), erzeugt die Takt-Zeitsteuerung von der
R-Leitung und übernimmt Daten auf der C-Leitung. Die XDEC sendet Daten
SD 196, die in der C-Leitung erscheinen, an das Instruktions-
Speicherregister ISR 183 und an das Adressen-Speicherregister ASR
184. Das ISR verriegelt ein serielles Datenpaket und steuert den
Instruktions-Bus IBUS 194 an, nachdem die Daten in der
Instruktions-Ausführungseinheit IEU 186 verriegelt worden sind. Die IEU
ist verantwortlich für die Bestimmung, wenn ISR und ASR geladen
worden sind, und um die Ausführung der dekodierten Instruktion
auf dem IBUS auszulösen. Die IEU erzeugt alle Signale, die von
dem DRAM 187 benötigt werden. Ein Daten-Multiplexer DMUX 188
leitet Daten von dem DRAM oder verschiedenen Testpunkten zu dem
Ausgangsanschluß.
-
Eine typische XRAM-Auswahl/Ausführungs-Sequenz ist in Fig. 5
dargestellt. Instruktionspakete werden über die C-Leitungen
unmittelbar nach der Chip-Auswahl gesendet. Dies ist eine Option,
um ein Adressenpaket zu senden, das die Spalte, die Reihe oder
die Spalte und die Reihe definiert, von der die ursprüngliche
Datenübertragung beginnen wird. Das Instruktionspaket kann auf
vielfache Weise kodiert werden. PCT/GB 90/00539 beschreibt eine
Liste von möglichen Befehlen, z.B. schnelles Schreiben in der
Seitenbetriebsart (PMWT). Die Seitenbetriebsart ist eine übliche
Datenübertragungsbetriebsart und arbeitet im wesentlichen,
während die Reihen-Adressen innerhalb eines Speichers konstant
gehalten werden, während die Spalten-Adressen entlang der
ausgewählten Reihe mit hoher Geschwindigkeit geordnet werden. Das
Instruktionspaket wird dekodiert, um den Signaltakt zu erzeugen,
der von dem XRAM gefordert wird, um den bestimmten erforderlichen
Datenübertragungsbetrieb aufzurufen. Die Ausführung einer
bestimmten Betriebsart wird durch die R-Leitung getaktet, die mit
der Reihe von ausgewählten Chips verbunden ist. Die Instruktions-
Ausführung ist in PCT/GB 90/00539 beschrieben und wird durch die
Instruktions-Ausführungseinheit (IEU) innerhalb jedes Chips
durchgeführt.
-
Da während der Instruktionsausführung die C-Leitung bestätigt
aber inaktiv ist (keine Rückkehr-zu-1-Übergänge erfährt), ist sie
frei, die Aktionen der IEU zu ergänzen. Dies erfordert eine
zusätzliche Instruktion an die typische aber nicht erschöpfende
Liste, die in PCT/GB 90/00539 gegeben ist. Alle in der Liste
gezeigten Instruktionen erzeugen Signale, die von dem DRAM in
Abhängigkeit von den auf der R-Leitung erscheinenden
Takt-Übergängen erforderlich ist. Diese Signale enthalten ein Schreibauslöse-
Signal, das entweder ein oder aus ist und den DRAM informiert, zu
schreiben bzw. zu lesen. Die zusätzliche Instruktion ist
identisch in ihrer Operation zu PMWT, mit der Ausnahme, daß das
Schreibauslöse-Signal nicht örtlich durch die IEU erzeugt wird.
Statt dessen wird das Schreibauslöse-Signal von fern durch die C-
Leitung zugeführt. Diese zusätzliche Instruktion erlaubt das
wahlweise Schreiben irgendeines Spaltenortes und kann im Flug
ausgewählt werden und ist bekannt als Schreibbetrieb von ferne.
-
Fig. 6 zeigt eine Gruppe von XRAMS 23, die an den
Kreuzungspunkten der individuellen R26- und C27-Steuerleitungen verbunden
sind. Eine mögliche Anordnung sind acht C-Leitungen und
zweiunddreißig R-Leitungen. Die R- und C-Signale werden durch die
integrierte Ansteuerschaltung IDC 21 erzeugt. Wegen der
charakteristischen Verminderung des Stift-Ausgangs des XRAM wird nur eine
einzige integrierte Schaltung benötigt, um alle R- und
C-Leitungen der Gruppe anzusteuern. Demzufolge können die
Takt-Versetzungen zwischen den R- und dem C-Signalen im Grunde genommen
beseitigt werden. Die IDC wird mit einem R-Adressenbus (RABUS) 28
versorgt, der eine aus der Vielzahl von R-Ausgangsleitungen
(RBUS) 26 auswählt. Der R-Eingang 29 ist die Quelle der R-Signal-
Taktsteuerung. R wird
erneut getaktet durch CK 30 und zu einer der RBUS-Leitungen
"bertragen. Der C-Eingangs-Bus (CIBUS) 22 versorgt einen Eingang pro
C-Leitung in der Gruppe. Der CIBUS überträgt serielle Daten an
die einzelnen C-Leitungen, und damit können verschiedene Chip-
Spalten verschiedene C-Daten empfangen. CIBUS-Signale werden
erneut durch den CK 30-Eingang getaktet und zu dem C-Ausgangs-Bus
(COBUS) 27 übertragen.
-
Der Steuerweg der Gruppe ist vom Datenweg getrennt. Der
Datenweg besteht aus der Daten-Ein-Ansteuerstufe 20, die mit den
Eingangs-Stiften der XRAMs verbunden ist und der
Daten-Aus-Ansteuerstufe 32.
-
Fig. 7 zeigt ein Speichersystem, das eine auf einem
Mikroprozessor (MPU) 44 beruhende Steuereinheit umfaßt, die mit dem XRAM-
Substrat 43 verbunden ist. Es sind nur Datenwege dargestellt.
Adressen- und Karten-Speicher-Signale werden angenommen. Aus
Gründen der Klarheit ist nur ein Substrat gezeigt, obwohl
zahlreiche Substrate möglich sind (unter Verwendung zusätzlicher
Bord-Auslöse-Leitungen WE/53). Das Speichersystem ist mit einem
entfernten Computer durch den Host-Computer-Schnittstellen-Bus
(HCIBUS) 40 verbunden. Der HCIBUS ist verantwortlich für die
Aussendung von Nachrichten an die MPU über den mit einem Karten-
Speicher versehenen Schnittstellen-Port 41, wobei die
Datenübertragung angefordert und Blockadressen-Deskriptoren ausgesendet
werden, was bekannt ist als logische Blocknummern (LBNs). LBNs
sind üblicherweise eine zusammenhängende Folge von Zahlen von
bis N.
-
Speicherdaten werden direkt zum HCIBUS übertragen, nachdem
ein geeignetes Nachrichtenprotokoll zwischen dem MPU 44 und dem
Host-Computer beobachtet worden ist. Die Speicherdaten werden
über die Systemdaten-Steuereinheit SDC 42 aus dem XRAM-Substrat
gelesen oder in dieses eingeschrieben. Die SDC ist verantwortlich
für die HCIBUS-Steuerung und die Fehlerfeststellung und Korrektur
(EDC). Weder das HCIBUS-Protokoll noch die SDC EDC ist hier
beschrieben, da es viele verfügbare veröffentlichte Verfahren gibt.
-
Das XRAM-Substrat wird durch die
System-Zugriffs-Steuereinheit (SAC) 47 gesteuert. Die SAC ist verantwortlich für die
Formatierung der jedem Substrat zugeführten C-Daten und für die
Substrat-, die Gruppen-Reihen- und die interne XRAM-Reihenauswahl.
-
Nachdem die Startadresse innerhalb eines Chips (eine Funktion
von LBN) dekodiert worden ist, beginnt die Datenübertragung von
einer ausgewählten Reihe von XRAM innerhalb eines ausgewählten
Substrats. Blockgrößen können passend zu der Länge einer Reihe
innerhalb eines XRAM (üblicherweise 512, 1024 oder 2048)
festgelegt werden. Die Datenübertragung fängt am Beginn einer Reihe
innerhalb eines XRAM an und hört am Ende auf. Ein binärer Zähler in
jedem XRAM führt die Spaltenadressen-Sequenz während der
Datenübertragung zu.
-
Das in Fig. 7 dargestellte Speichersystem geht von
vollkommenen XRAM-Chips aus. Das System von Fig. 12 gemäß der vorliegenden
Erfindung kann jedoch Fehler in XRAM-Spalten und/oder Reihen
tolerieren. Wenn fehlerhafte Spalten adressiert werden, führt eine
Information, die die fehlerhafte Adresse beschreibt, Multiplexer
in den Datenweg des Substrats ein, um Daten wieder in eine gute
Spalte des Ersatz-XRAM hinein- oder aus dieser herauszuführen.
Diese Information wird während der Herstellung bestimmt und
permanent in einem nicht flüchtigen Speicher jedes Substrats
gespeichert. Diese Eintragung von fehlerhaften Spaltenadressen im Flug
beseitigt alle Datendurchsatzverluste. Ein Blockschaltbild zur
Erläuterung des dynamischen Spalten-Ersatzsystems ist in Fig. 8
dargestellt. Einzelne oder angehäufte Bits werden in derselben
Weise wie fehlerhafte Spalten gehandhabt.
-
In Fig. 8 ist die dynamische Spalten-Ersatz-Karte (DC-SM) 61
eine Nachschlagtabelle, die von einem Haupt-Spaltenzähler (MCC)
60 adressiert wird, der eine Folge von Spaltenadressen vom Beginn
der Reihe bis zum Ende adressiert. Der MCC 60 wird durch einen
Übertragungs-Takt 81 getaktet, der das Synchronsignal für die
Datenübertragung zu oder von der Gruppe 72 ist. Die DCSM 61 erzeugt
eine Folge von Kodierungen, die alle spezifischen Chips
identifizieren, die einen Fehler in der adressierten Spalte haben. Ein
mögliches Code-Format ist x Bits plus ein Markierungs-(Tag)-Bit,
wobei x die Breite der Gruppe ist, und das Markierungs-Bit
identifiziert eine bestimmte 0 bis x Chip-Adresse als das fehlerhafte
XRAM. Der MOX-Auswahl-Bus (MSBUS) 65 überträgt die x Bits an den
Eingangs-Multiplexer 75 und an den Ausgangs-Multiplexer 77. An
vielen Orten sind Null-Codes (Markierungs-Bit ist Null)
anzutreffen, jedoch wenn ein Markierungs-Bit gültig ist, werden Daten,
die zu dem durch den Wert von MBUS definierten XRAM gehen, in den
Ersatz XRAM 73 kopiert, indem einer von x Bits über den Eingangs-
Multiplexer ausgewählt wird. Die in Fig. 8 dargestellte DCSM 61
zeigt einen 3-Bit-Code plus einem Markierungs-Bit. Eine übliche 8
Bit breite Nachschlagtabelle könnte daher XRAM-Gruppen handhaben,
die eine Breite von 128 Chips haben.
-
Der durch den XRAM vorgesehene Schreibbetrieb von ferne wird
verwendet, um nur das fehlerhafte Spalten-Bit in den Ersatz-XRAM
einzuschreiben, andernfalls würde der Ersatz die guten Orte des
XRAM mit dem Fehler kopieren, und damit würden die durch
vorhergehenden Ersatz gespeicherten Daten überschrieben. Demzufolge
wird die C-Leitung 69, die mit dem Ersatz-XRAM verbunden ist,
niedrig mit der geeigneten Zeit (in Abhängigkeit von einem
gültigen Markierungs-Bit) über das Tor 68 gepulst. Alle Chips in der
Reihe sind programmiert worden, um in einem örtlich erzeugten
Schreibauslöse-Signal (PMWT) zu arbeiten, wenn ein Datenblock
geschrieben wird, während der Ersatz-Chip programmiert worden
ist, um im Seitenbetrieb bei Schreibbetrieb von ferne zu
arbeiten.
Die XRAMs werden programmiert, um bestimmte Betriebsarten
sicherzustellen, bevor die Datenübertragung beginnt.
-
Während des Lesens wird der Ausgang des fehlerhaften Bits
durch den Ausgang des Ersatz-Chips über den Ausgangs-Multiplexer
77 ersetzt. Fig. 9 veranschaulicht den Ausgangs-Multiplexer in
größeren Einzelheiten. Dieser umfaßt einen 1-Aus-N-Decoder 91,
der mit Eingängen A92 und S90 gespeist wird. A ist mit dem MSBUS
65 und 5 mit dem Markierungs-Bit 66 von der DCSM verbunden. Wenn
S niedrig ist, sind alle Ausgänge des Decoders hoch. Dies ist die
normale Situation, und Bits von der Gruppe werden unmittelbar mit
dem Daten-Ausgangs-Bus verbunden. Wenn jedoch S hoch ist, wird
einer der N Ausgänge niedrig gesteuert, wodurch der Datenstrom
von dem Ersatz-Bit 105 ausgewählt wird. Der Daten-Ausgang wird
durch das Bord-Auslöse-Signal, das mit dem Ausgangs-Multiplexer
verbunden ist, wirksam gemacht.
-
Es wird nur ein Fehler pro MCC-Zählung zugelassen. Wenn die
Spaltenadressen-Zähler innerhalb jedes XRAM alle von demselben
Ort starten, besteht eine Gefahr, daß zwei oder mehr Fehler in
verschiedenen XRAMs denselben Zeitpunkt besetzen würden, d.h.
eine Koinzidenz bilden wie in Verbindung mit Fig. 2 erläutert
wurde. Solche Koinzidenzen können nicht wiedergewonnen werden, da
es nur einen logischen Spalten-Ersatz (nur einen Ersatz-XRAM pro
Gruppen-Reihe) gibt. Daher hat jeder Chip eine unterschiedliche
Spalten-Sequenz von anderen Chips in derselben Reihe. Der
Versatz-Wert für jeden Chip wird erzeugt, nachdem physikalische
Fehler bestimmt worden sind, wenn ein Substrat hergestellt wird,
wobei die Gruppe geprüft wird und dann ein eine Versetzung
erzeugender Algorithmus für die fehlerhaften Eintragungen jedes XRAM
betrieben wird.
-
Es können zahlreiche Algorithmen zur Erzeugung von
Versatzwerten entwickelt werden. Das einfachste Vorgehen fügt einfach
eine Zahl zu dem ersten Ort jedes Fehlers hinzu (und dieselbe
Zahl zu allen Orten innerhalb derselben Anhäufung) und prüft dann
die Chip-Karten erneut, um zu sehen, ob der koinzidente Fehler
vermieden worden ist. Wenn eine Koinzidenz noch verbleibt, wird
derselbe Ort (und diejenigen innerhalb derselben Anhäufung)
erneut fortgeschaltet, und die Fehlerkarten werden erneut geprüft,
u.s.w., bis der fortgeschaltete Wert die Zahl der möglichen Orte
überschreitet.
-
Nachdem die Versatzzahlen erzeugt worden sind, werden sie als
Tabelle, der Versatz-Wert-Tabelle (SVT) in dem lichtflüchtigen
Speicher auf dem Substrat gespeichert.
-
Der pre-emptive Reihen-Ersatz (PRS) ereignet sich - wie der
Name sagt - bevor die Datenübertragung beginnt. PRS verwendet
eine Nachschlagtabelle, die pre-emptive Reihen-Ersatzkarte
(PRSM), die anzeigt, ob eine bestimmte Reihe während der
schwebenden Datenübertragung ersetzt werden muß. Fig. 10
veranschaulicht die PRSM 120, die an einen N-zu-1-Multiplexer 123
angeschlossen ist. Somit umfaßt ein Byte in der PRSM bis zu acht
Reihen innerhalb des XRAM. Ein Mikroprozessor kann den Ausgang des
Multiplexers 123 über den MPU-Port lesen. Falls die PRSM einen
Reihenfehler anzeigt, leitet der Mikroprozessor die
Datenübertragung so, daß sie innerhalb der Ersatzreihe von XRAMs arbeitet.
Aufgrund der oben beschriebenen Anti-Koinzidenz-Technik (die in
diesem Fall die startende Reihenadresse versetzt) wird jede
fehlerhafte Reihe in der Haupt-Gruppe von einer Arbeitsreihe in der
Ersatzreihe von XRAMs bestimmt. Das PRS-System verwendet eine
ähnliche Orts-Versetzungstechnik, wie sie bei dem oben erwähnten
DCS-System verwendet wird. Nach der Herstellung werden Reihen-
Versatz-Werte in einen nicht flüchtigen SVT, der auf allen
Substraten vorhanden ist, hineinprogrammiert. Derselbe Algorithmus,
der zur Erzeugung der Spalten-Versatz-Werte verwendet wird, wird
zur Erzeugung der Reihen-Versatz-Werte verwendet.
-
Da die Kombination von DCS und PRS eine 100%
-Speicherkapazität von der Gruppe erzeugt, kann die Umwandlung von LBN zur Chip-
Reihenadresse (CRA), zur Reihenadresse (ARA) und zum Substrat
(SA) direkt sein. Wenn beispielsweise jedes Substrat eine Gruppe
von acht x 32 enthält, wobei jeder Chip in der Gruppe 1024 Reihen
hat, und für ein System mit acht Substraten, kann LBN wie folgt
umgewandelt werden:
-
Chip-Reihenadresse, CRA (9:0) = LBN (9:0)
-
Gruppen-Reihenadresse, ARA (4:0) = LBN (14:10)
-
Substrat-Adresse, SA (2:0) = LBN (16:15)
-
worin (x:y) Bits x bis y einschließlich darstellt.
-
In einem solchen Beispiel, bei dem eine Reihe eine Länge von
1024 Spalten hat, würde die LBN einen Datenblock von 1024 Bytes
in einem Bereich von 2 bis zur Potenz von 17 Blocks, oder 128
Megabytes auflösen. Diese unmittelbare Umwandlung von LBN in die
verschiedenen physikalischen Adressen des Systems führt zu einer
sehr kurzen Zugriffszeit.
-
Wenn das der von der LBN ausgewählten Reihe zugeordnete PRSM-
Bit eine schlechte Reihe anzeigt, dann wird die Ersatzreihe von
Chips aufgerufen, und ARA ist ungültig. CRA wird dann verwendet,
um die Reihen innerhalb der Ersatzreihe von Chips auf dem
ausgewählten Substrat zu adressieren.
-
Alle drei Nachschlagetabellen, die DCSM, die PRSM und die
SVT, die gemeinsam den Kartenspeicher bilden, werden in einem
nicht flüchtigen Speicher auf jedem XRAM-Substrat gespeichert.
Fig. 11 zeigt eine mögliche Speicheranordnung, die die folgenden
Parameter verwendet. Die Gruppe ist aus 8 x 32 XRAMs organisiert,
worin jeder XRAM 1024 Reihen und 1024 Spalten hat. ARA definiert
die Reihe von Chips und CRA definiert die Reihen mit
individuellen XRAMs. Fig. 11 veranschaulicht die Speicherkarte für die
verschiedenen Tabellen. Eingang 210 bis 212 bildet die DCSM für die
Haupt-Gruppe. MCC 60 versorgt Spaltenorte, um innerhalb jedes
DCSM-Eingangs zu adressieren, und ARA wählt aus, welchen Eingang.
ARA wird der DCSM-Basis-Adresse 220 hinzugefügt, um die DCSM zu
lokalisieren und adressiert den erforderlichen Eingang. Eine
typische Kodierung für einen DCSM-Eingang 211 ist mit drei MSBUS-
Bits für 1 bis 8 Chips dargestellt. Es gibt keinen neunten
Eingang in der DCSM, da die anti-koinzidentale Versetzung
garantiert, daß dort eine brauchbare Spalte an der durch MCC
ausgewählten Spalte vorhanden ist. Falls ein Reihenfehler festgestellt
wird, ist nach Bezugnahme auf PRSM und ARA die Adresse redundant,
und es wird ein einzelner DCSM-Eingang für die Ersatzreihe über
die Ersatz-Basis 225 adressiert. Bei diesem Beispiel ist ein
DCSM-Eingang 1 K Bytes. PRSM-Eingänge werden unter Verwendung der
Summe aus PRSM-Basis-Adresse und der ARA-Adresse lokalisiert. Da
fehlerhalfte Reihen durch einzelne Bits in Bytes angezeigt
werden, wird die CRA verwendet, um Reihen innerhalb von
PRSM-Eingängen zu lokalisieren. In diesem Beispiel lokalisieren die sieben
bedeutsamsten Bits von CRA ein Byte in der PRSM, und die
niedrigsten drei Bits von CRA bestimmen, welches Bit in dem Byte. Es
gibt keinen Ersatz-Eingang für die PRSM, da die
anti-koinzidentale Versetzung garantiert, daß eine nutzbare Reihe bei der von CRA
ausgewählten Reihe vorhanden ist. Ein Eingang innerhalb der SVT
wird durch die SVT-Basis-Adresse 224 plus ARA lokalisiert. Ein
typischer Eingang sind 4 Bytes mal 9 Chips lang (36 Bytes), und
ein typischer Eingang ist bei 216 dargestellt. Die Versatz-Werte
für Spalte und Reihe sind typischerweise 16 Bit-Worte. Im Fall
einer Ersatzreihe wird die Ersatz-SVT entweder über die Ersatz-
DCSM-Basis oder eine getrennte Basis lokalisiert. Der
Kartenspeicher wird ebenfalls mit Basen, Tabellengrößen und verschiedenen
Prüfsummen programmiert. Bei dem obigen Beispiel würden alle
Tabellen weniger als 64 K Bytes einnehmen.
-
Fig. 12 zeigt die erste Ausführungsform eines Speichersystems
vollständiger. Das Diagramm ist ähnlich wie in Fig. 7, wobei der
HCIBUS 131 mit dem mit dem Kartenspeicher versehenen Port 130 und
der System-Daten-Steuereinheit SDC 132 verbunden ist.
Mikroprozessor, RAM und ROM bilden dieselbe Architektur wie in Fig. 7.
Die Unterschiede gegenüber Fig. 7 bestehen in dem XRAM-Substrat
137 und der System-Zugriffs-Steuereinheit SAC 153.
-
Die in Fig. 6 dargestellten Daten-Ansteuerstufen auf dem
Substrat sind durch einen Eingangs-Multiplexer IMUX 166 mit
integrierter BUS-Ansteuer-Fähigkeit und durch den
Ausgangs-Multiplexer OMUX 167 ersetzt worden. Diese Multiplexer kopieren und
adressieren Daten jeweils von dem fehlerhaften XRAM in einer
Reihe in der Gruppe 145 zu einem XRAM in der Ersatz-Spalte 165 um.
Die IDC 150 versorgt die notwendigen R- und C-Leitungen (dies
schließt die C-Leitung 149 zu der Ersatz-Spalte von XRAMs ein,
und die Schreibtastung von ferne ist vorhanden aber nicht
dargestellt, da in der Praxis diese Tastfunktion in die IDC integriert
würde) zu der Gruppe und zu Ersatz-Spalten und Ersatz-Reihen von
XRAMs. Die Ersatz-Reihe des XRAM 141 hat auch einen
Ersatz-Spalten-Chip 164, so daß DCS ohne fehlerhafte Spalten in der Ersatz-
Reihe ausgeführt werden kann. Das Substrat enthält auch die Karte
146, die ein nicht flüchtiger Speicher ist, der die DCSM, PRSM
und SVT speichert. Wenn eine Datenübertragung mit hoher
Geschwindigkeit erforderlich ist, ist es erwünscht, den Inhalt der DCSM
auf einen Speicher mit schnellerer Zugriffszeit herunterzuladen,
der bekannt ist als Hochgeschwindigkeits-DCSM (HDCSM) 152. Der
bei dem PRSM-Zugriff-Mechanismus verwendete Ein-von-N-Multiplexer
ist in Fig. 10 aus Gründen der Klarheit nicht dargestellt. Dieser
Multiplexer kann auf dem Substrat sein oder ein mit einem
Kartenspeicher versehener Port des MPU. Alternativ kann die von diesem
Multiplexer ausgeführte Auspackfunktion in der Software erzielt
werden.
-
Unter Verwendung derselben Parameter von vorherigen
Beispielen wird bei einer 8 x 32-Gruppe von 256 unvollkommenen Chips
dafür
gesorgt, daß sie durch Vorsehen eines Ersatz-XRAM pro
Gruppen-Reihe (32 Ersatz-Chips) und einer Ersatz-Reihe von XRAMs (8
Ersatz-Chips) vollkommen erscheint. Aufgrund des Anti-Koinzidenz-
Versetzverfahrens können die Ersatz-Chips auch fehlerhaft sein.
Da ferner ein Spalten-Ersatz im Flug stattfindet, gibt es keine
Verminderung der Daten-Rate. Die Notwendigkeit, Spalten- und
Reihen-Versetz-Werte in die SAC einzuprogrammieren, führt zu
einer kleinen Erh:hung der Zugriffszeit des Speichersystems.
Üblicherweise werden nur Reihen-Versetzungen regelmäßig
programmiert, da Spalten-Versetzungen einmal bei Inbetriebnahme des
Systems programmiert werden können.
-
Das Beispiel in Fig. 12 zeigt die XRAM-Gruppe und den
gesamten Ersatz auf demselben Substrat. In der Praxis kann der Ersatz
entfernt sein und einfach auf dem Datenweg zwischen Substraten
und SDC arbeiten, sofern Auswahisignale wie z.B. die C-Leitung
mit Schreibauslösung von ferne verfügbar gemacht werden.
-
Das beschriebene Ausführungsbeispiel kann fehlerhafte Spalten
in dem Ersatz-Chip jeder Gruppen-Reihe wie auch in den Haupt-
Chips dieser Reihe bei geeigneter Spalten-Adressen-Versetzung
tolerieren, um alle Spalten-Fehler in der Gruppen-Reihe zu
berücksichtigen. Eine fehlerhafte Reihe in einem der Haupt-Chips wird
durch Kopieren in eine gute Reihe in der Ersatz-Reihe von Chips
gehandhabt. Das System kann so modifiziert werden, daß es nur
zwei vollkommene Chips benötigt, von denen einer ein
Ersatz-Reihen-Chip für die Ersatz-Spalte und der andere ein Ersatz-Spalten-
Chip für die Ersatz-Reihe ist. Wenn das Kopieren in eine
fehlerhafte Reihe in einem Chip der Ersatz-Spalte auftritt, kann dies
auf diese Weise weiter in eine Reihe in dem vollkommenen Ersatz-
Reihen-Chip für die Ersatz-Spalte kopiert werden. Wenn das
Kopieren in eine fehlerhafte Spalte in einem Chip der Ersatz-Reihe
auftritt, kann dies in gleicher Weise weiter in eine Spalte in
dem vollkommenen Ersatz-Spalten-Chip für die Ersatz-Reihe kopiert
werden.
-
Bei der zweiten Ausführungsform, die nun beschrieben wird,
braucht keiner der Chips vollkommen zu sein, und die Chips sind
übliche Chips mit beliebigem Zugriff, z.B. DRAM's. Diese zweite
Ausführungsform wird nun unter Bezugnahme auf Fig. 13 bis 18
beschrieben.
-
Fig. 13 zeigt ein übliches Computersystem, das einen
Mikroprozessor (MPU) 301 umfaßt, der mit einem Speicher, einem
Festspeicher (ROM) 305 und einem Speicher mit beliebigem Zugriff
(RAM) 304 über einen bidirektionalen Daten-Bus 302 und einen
Adressen-Bus 303 verbunden ist. Der Adressen-Bus speist drei
wirksam getrennte Adressen-Busse in den RAM. Dies sind die
Gruppen-Reihen-Adresse (ARA) 306, die Chip-Spalten-Adresse (CCA) 307
und die Chip-Reihen-Adresse (CRA) 308. Steuersignale und
peripherische Schaltungen sind im Interesse der Klarheit ignoriert
worden. ARA definiert, zu welcher von der Vielzahl von Gruppen-
Reihen ein Zugriff erfolgen soll. CCA definiert den in den von
ARA ausgewählten Chips zu adressierenden Spalten-Ort. CRA
definiert den innerhalb der von ARA ausgewählten Chips zu
adressierenden Reihen-Ort. Alle drei Busse werden als logische Adressen
betrachtet, da die Aktion der Fehlertoleranz-Schaltung, die in
der gedruckten RAM-Leiterplatte enthalten ist, diese logischen
Adressen in neue physikalische Adressen modifizieren soll, wenn
im Flug Fehler festgestellt werden. Fig. 14 beschreibt diese
Schaltung in größeren Einzelheiten.
-
Fig. 14 zeigt die Grundschaltung des Fehlertoleranzsystems
mit einem Speicher mit beliebigem Zugriff. Die Adressen-Busse ARA
322, CCA 321 und CRA 323 sind dargestellt und mit den Bussen
äquivalent, die in Fig. 13 dargestellt sind. Daten-Ein 336 und
Daten-Aus 366 sind dargestellt und äquivalent mit denen von Fig.
13. Im Interesse der Klarheit sind übliche
Daten-Ausgangs-Auslöse- oder Bord-Auswahl-Signale nicht dargestellt, da diese in der
Praxis allgemein benötigt werden. Ferner ist nur ein Teil der
Haupt-Gruppe dargestellt. Gruppen-Spalten, denen das am wenigsten
bedeutsame Daten-Bit 340 und das am meisten bedeutsame Bit 339
zugeordnet sind, sind als repräsentativ für alle Gruppen-Spalten
dargestellt. Gruppen-Reihen, denen die am wenigsten bedeutsame
Gruppen-Reihen-Adresse, die von dem ARA-Decoder-(AD)-326-Ausgang
ED 360 dekodiert wurde und die am meisten bedeutsame
Gruppen-Reihen-Adresse, die durch den AD-Ausgang EY 361 dekodiert wurde,
zugeordnet sind, sind als repräsentativ für alle Gruppen-Reihen
dargestellt.
-
Fig. 14 zeigt die beiden Karten, die die fehlerhaften
Spalten- und Reihen-Orte definieren, nämlich die dynamische Spalten-
Ersatz-Karte (DCSM) 320 bzw. die pre-emptive Reihen-Ersatz-Karte
(PRSM) 331. Sie sind getrennt, um die System-Zugriffszeit durch
parallelen Zugriff zu beiden zu vermindern. Die DCSM liefert
Daten, die definieren, welcher Chip eine fehlerhafte Spalte an dem
logischen Ort CCA hat. Diese Daten werden durch den MSBUS 335
zwei Multiplexern IMUX 332 und OMUX 333 zugeführt. Wenn während
eines Daten-Schreibens einer der Chips in der ausgewählten
Gruppen-Reihe durch den MSBUS als einen Spalten-Fehler enthaltend
identifiziert wird und das Ereignis durch das Markierungs-Bit
T337 von der DCSM gültig gemacht wird, werden Daten von dem
identifizierten Bit in dem Daten-Ein-Bus über den IMUX in die Ersatz-
Spalte von Chips auf der Datenleitung 338 kopiert. Das
Schreibauslöse-(WE)-365-Signal wird durch das Tor 334 abgetastet, so daß
nur der fehlerhafte Ort kopiert wird. Diese Abtastung wird der
ausgewählten Reihe der Haupt-Gruppe oder der Ersatz-Reihe durch
den Schreib-Abtast-Generator (WSG) 330 zugeführt. Der WSG ist ein
allgemeiner Ein-von-N-Decoder. Während einer Daten-Lese-Operation
wird der Ausgang des Ersatz-Chips dazu verwendet, den Datenstrom
von dem fehlerhaften Chip über den OMUX zu ersetzen.
-
Im Fall einer fehlerhaften Reihe kann die PRSM eine bestimmte
Reihe als schadhaft identifizieren, indem die SP 353-Leitung
bestätigt wird. Dieser Zustand identifiziert eine logische Reihe
als fehlerhaft, und ein Ersatz-Reihen-Ort wird auf dem Ersatz-
Chip-Reihen-Adressen-Bus (RCRABUS) 325 zugeführt. Die SP-Leitung
macht die Gruppen-Reihen-Ansteuerstufe (ARD) 327 für die Ersatz-
Reihe wirksam und macht die von der ARA angeforderte Reihe
unwirksam. Wenn die Ersatz-Reihe nicht benötigt wird, wird die
ausgewählte ARD durch einen Eins-von-N-Decoder, den ARD-Decoder (AD)
326 wirksam gemacht. Wenn eine fehlerhafte Spalte in der Ersatz-
Reihe durch einen "Ersatz-Reihen"-Eingang in der DCSM
festgestellt wird, findet der normale Spalten-Ersatz statt. Die Aktion
des Reihen-Ersatzes erlaubt, daß fehlerhafte Reihen in den Chips
in der Ersatz-Gruppen-Reihe vorhanden sind. Die Zahl von Gruppen-
Reihen (Nar), die gehandhabt werden können, ist gegeben durch:
-
Nar = INT (Rmax/(W*F)) - 1 (1)
-
worin bedeuten:
Rmax = Nummer der Reihen-Orte pro Chip,
W = Nummer der Bits pro Gruppen-Reihe,
-
F = Nummer von fehlerhaften Reihen-Orten pro Chip.
-
Gleichung (1) ist der schlimmste Fall, da der (W*F)-Ausdruck
durch Fehler verbessert wird, die an demselben Reihen-Ort in
unterschiedlichen Chips derselben Gruppen-Reihe auftreten.
-
Jede Spalte von Chips in der Gruppe wird durch eine Gruppen-
Spalten-Ansteuereinheit (ACD) 329 gesteuert, was in Fig. 14
dargestellt ist. Die ACD führt die Adressen zu, die von der Spalte
der Chips angefordert werden, mit der sie verbunden ist. Die
Speicher-Chips sind als dynamische Speicher 328 mit beliebigem
Zugriff (DRAMs) dargestellt. Jedem Chip werden Adressen
zugeführt, die von der ACD in Reihen-Adressen- und Spalten-Adressen-
Phasen gemultiplext und von dem Adressen-Bus AB 354 zugeführt
werden. Diese Phasen werden durch die Bestätigung der Reihen-
Adressen-Abtast-(RAS)-Signale 363 bzw. der
Spalten-Adressen-Abtast-(CAS)-Signale identifiziert. Alle DRAMs benutzen einen
gemultiplexten Adressen-Bus und Norm-Sequenzen der RAS- und CAS-
Taktsteuerung und werden hier nicht weiter beschrieben. Jeder
Gruppen-Reihe werden Daten-Eingänge 340 bis 339 (das am wenigsten
bedeutsame Bit bzw. das bedeutsamste Bit) zugeführt. Jede Spalte
von Chips hat einen gemeinsamen Ausgang 341 bis 342 (am wenigsten
bzw. am meisten bedeutsam).
-
Fig. 14 zeigt im Interesse der Klarheit nicht den
Programmierungs-Daten-Weg für die ACD's. Die Spalten-Versatz-Werte weren in
der DCSM gespeichert und in die ACDs mit Hilfe des
System-Mikroprozessors programmiert, wenn das System mit Strom versorgt wird.
Alternativ kann jede ACD einen nicht flüchtigen Speicher
enthalten, der permanent die Spalten-Versatz-Werte speichert.
-
Fig. 15 beschreibt die ACD in größeren Einzelheiten. Da der
Reihen-Ersatz stattfindet, bevor die Datenübertragung erfolgt,
ist es nur notwendig, Mittel vorzusehen, um die Reihen-Adressen
zu den DRAMs über den Z-Weg-2:1-Multiplexer 417 zu übertragen,
wobei Z die Zahl der Reihen oder Spalten-Orte in irgendeinem RAM-
Chip darstellt (es ist üblich, daß hier dieselbe Anzahl von
Reihen- und Spalten-Orten vorhanden ist). Das Reihen-Auswahl-(SR)-
Signal 415 wählt den RCRA-Bus-Eingang als Datenquelle über den
Multiplexer aus. Die RCRA-Daten sind bereits durch die Aktion der
PRSM-Karte transformiert worden, wenn eine Reihe ersetzt werden
soll. Im Normalbetrieb führen übliche DRAMs erst Reihen-Adressen
und dann Spalten-Adressen zu. Die Spalten-Adresse wird von dem
CCA-Bus 413 in Fig. 5 zugeführt. Um koinzidentale Fehler zu
verhindern (Fehler am selben CCA-Ort in unterschiedlichen Chips in
derselben Gruppen-Reihe) wird der CCA-Wert dem Versatz-Wert für
den ausgewählten Chip hinzugefügt. Die volle Addierstufe 416
addiert den CCA-Wert und die Inhalte von einem der in der Register-
Bank 410 enthaltenen Register. Jedes Register ist Z Bits breit.
-
Die resultierende Summe wird dem Adressen-Multiplexer 417 über
den SUMBUS 418 zugeführt. Die Verwendung der Addierstufe versetzt
die logische Spalten-Adresse im Flug, um fehlerhafte Koinzidenzen
zu vermeiden. Wenn Spaltenadressen von den DRAMs erforderlich
sind, wählt das SR-Signal den SUMBUS als Quelle des Adressen-
Werts aus.
-
Jede Spalte von Chips ist mit einem ACD versehen. Jedem Chip
in der Gruppen-Spalte wird ein Spalten-Versatz-Wert gegeben, der
in einem der Register in der Bank gespeichert wird. Der ARA-Bus
wählt über einen Z-Weg-N-zu-Eins-Multiplexer 412 aus, welches
Register erforderlich ist, wo N die Zahl von Reihen in der Gruppe
plus 1 darstellt. Dieser Multiplexer versorgt den SVBUS 419, der
den Inhalt eines der Register in der Bank auswählt. Der SVBUS
führt auch eine Abruffähigkeit zu, um die korrekte Programmierung
über den Programmierungs-Daten-Bus (PDB) 400 zu bestätigen. Der
PDB führt auch die Daten während einer Register-Schreiboperation
zu. Üblicherweise wird die Register-Bank durch den
System-Mikroprozessor bei der Inbetriebnahme des Systems programmiert, und
die Register werden geschrieben und in der Folge verifiziert,
indem die geeigneten Daten auf dem PDB zugeführt und das Register
durch den Wert auf der ARA ausgewählt wird. Nachdem die Haupt-
Gruppen-Versatz-Werte programmiert worden sind, erfolgt ein
Zugriff auf eine bekannte fehlerhafte Reihe, und dies erlaubt die
Programmierung der der Ersatz-Gruppen-Reihe zugeordneten Register
durch Bestätigung des SB-Signals 407.
-
Ausgangs-Daten (341 bis 343) von der Gruppe werden dem
Ausgangs-Multiplexer (OMOX) in Fig. 14 zugeleitet. Dies ist in
größeren Einzelheiten in Fig. 16 dargestellt. Ein ausgewählter Chip
steuert den Ausgangs-Bus an, und somit werden normale und Ersatz-
Reihen-Daten aufgelöst, indem jeweils nur ein ARD aktiv ist.
Diese
Daten-Busse speisen den OMUX als Bit 0432 zum Bit X440. Eine
Vielzahl von 2:1-Multiplexern, die durch Tore 436, 437 und 438
gebildet werden, wählen Daten von der Gruppe (Bit 0 bis X) aus.
Im Falle einer fehlerhaften Spalte wählt das T-Signal 435 einen
der X-Ausgänge des Decoders 430 aus, um die Gruppen-Daten durch
Daten von der Ersatz-Spalte von Chips zu ersetzen. Das für den
Ersatz bestimmte Bit wird durch den MS-Eingang 431 über den MSBUS
definiert.
-
Die DCSM, SVT und PRSM werden in einem nicht flüchtigen
Speicher gespeiert. Dies ist üblich auf derselben gedruckten
Leiterplatte wie es die DRAMs sind, auf die sich die Karte bezieht. Die
PRSM ist üblich in einem getrennten Speicher, um eine parallele
Auslesung von Karten-Inhalten zu erleichtern. Die Inhalte eines
typischen PRSM sind in Fig. 17 dargestellt. Der PRSM wird von ARA
und CRA adressiert, was durch die hexadezimale Darstellung 450
gezeigt ist. Im Falle einer fehlerhaften Reihe ist die Adresse
der Reihe, die die fehlerhafte Reihe ersetzt, in dem RCRABUS-Feld
451 enthalten, was in Fig. 17 dargestellt ist. Eine fehlerhafte
Reihe wird durch das SP452-Bit identifiziert, das üblicherweise
auf eine logische Eins gesetzt wird. Wenn kein Fehler vorhanden
ist, ist das SP-Bit Null, und die ursprüngliche CRA wird in die
Karte programmiert, um die Notwendigkeit für einen externen
Multiplexer zu eliminieren.
-
Ein typisches Format für die DCSM ist in Fig. 18 dargestellt.
Die DCSM hat einen Zugriff durch die Kombination der DCSM-Basis-
Adresse 500 plus ARA und CCA. Im Falle des Zugriffs zu der
Ersatz-Gruppen-Reihe übersteuert die SP-Leitung den Wert von ARA.
Ein übliches Beispiel des DCSM-Inhalts ist in Fig. 18 mit 509
bezeichnet. Das TAG-Bit identifiziert einen bestimmten Ort als
fehlerhaft. Es erfolgt Zugriff zur SVT, die durch die SVT-Basis-
Adresse 502 plus ARA, um bestimmte Gruppen-Reihen-Eingänge zu
identifizieren. Wenn beispielsweise die Gruppe 16 Bit breit war,
würde es in der SVT für eine bestimmte Gruppen-Reihe 16 + 1 Ein
gänge geben. Da es erforderlich ist, die SVT zu lesen und den ACD
mit Werten zu programmieren, die in der SVT enthalten sind, ist
es notwendig, Computer-Zugriff zu der DCSM-Karte zu schaffen.
Dies ist in der Zeichnung nicht dargestellt, in der Praxis aber
einfach durch die Verwendung eines mit einem Karten-Speicher
versehenen Ports, der die Inhalte der DCSM lesen kann, während die
Adresse der DCSM über CCA und ARA geändert wird.
-
Vorzugsweise wird eine getrennte DCSM für die Ersatz-Reihe
von Chips vorgesehen, zu der parallel der Zugriff mit der DCSM
für die Haupt-Gruppe und mit der PRSM erfolgt. Dies vermindert
die Zugriffszeit zur Vermeidung der Notwendigkeit eines Zugriffs
zuerst zur PRSM und dann zur DCSM. Vorzugsweise enthält auch
jeder ACD eine zweite volle Addierstufe, die so ausgebildet ist,
daß sie CCAs für die Ersatz-Reihen von Chips parallel mit der
Erzeugung von CCAs für die ausgewählte Gruppen-Reihe erzeugt. Das
SP-Signal von der PRSM wird verwendet, um passend den Ausgang von
der ersten oder zweiten Addierstufe auszuwählen.
-
Vorzugsweise wird jeder Speicher-Chip nach der Herstellung
automatisch geprüft, um seine Fehler-Orte zu lokalisieren. Die
Test-Ausrüstung erzeugt dann eine gedruckte Aufzeichnung der
fehlerhaften Orte, die mit dem Chip verpackt wird. Die gedruckte
Aufzeichnung ist durch ein optisches Lesegerät lesbar und kann
unmittelbar auf den Chip oder auf ein Etikett gedruckt werden,
das dann an dem Chip befestigt wird.