DE2554502C3 - Verfahren und Anordnung zum Adressieren eines Speichers - Google Patents

Verfahren und Anordnung zum Adressieren eines Speichers

Info

Publication number
DE2554502C3
DE2554502C3 DE2554502A DE2554502A DE2554502C3 DE 2554502 C3 DE2554502 C3 DE 2554502C3 DE 2554502 A DE2554502 A DE 2554502A DE 2554502 A DE2554502 A DE 2554502A DE 2554502 C3 DE2554502 C3 DE 2554502C3
Authority
DE
Germany
Prior art keywords
memory
arrangement
address
partial address
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2554502A
Other languages
English (en)
Other versions
DE2554502B2 (de
DE2554502A1 (de
Inventor
Pieter Anton Beekbergen Jacobs (Niederlande)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE2554502A1 publication Critical patent/DE2554502A1/de
Publication of DE2554502B2 publication Critical patent/DE2554502B2/de
Application granted granted Critical
Publication of DE2554502C3 publication Critical patent/DE2554502C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Description

Die Erfindung betrifft ein Verfahren nach dem
Ό Oberbegriff des Anspruchs 1 sowie Anordnungen zur Durchführung des Verfahrens.
Beim Auslesen eines Speichers wird gelegentlich ein früher darin eingeschriebenes Speicherwort verändert ausgelesen. Dies kann durch zufällige Störungen in dem Speicher auftreten, aber auch infolge eines Defekts in einer Speicherstelle oder in der Adressieranordnung. Aus diesem Grunde isi es bekannt, die Speicherwörter mit Prüfzeichen zu versehen, mit denen die Richtigkeit eines Speicherworts feststellbar ist und gegebenenfalls ein fehlerhaftes Speicherwort auch rekonstruiert werden kann. Es können jedoch auch unkorrigierbare Fehler auftreten. Wird ein unkorrigierbarer Fehler detektier*, so kann man darauf die Speicheranordnung außer Betrieb setzen. Dies ist für die Leistungen eines Rechenmaschinensystems, von dem die Speicheranordnung ein Teil ist, sehr nachteilig. Man kann auch die defekte Speichereinheit getrennt außer Betrieb setzen und von einem Servicetechniker eine einwandfreie Ersatzspeichereinheit einsetzen lassen. Dieser Vorgang fordert viel Zeit, und es ist nahezu sicher, daß in dieser Zeit die versagende Speichereinheit adressiert werden wird: derartige Speichereinheiten bilden üblicherweise den sogenannten Hauptspeicher eines Rechenmaschinensystems, dessen Kapazität aus wirtschaftlichen Gründen immer knapp gehalten wird.
Inzwischen ist es bekanntgeworden, die Adresse der versagenden Speichereinheit zusammen mit einer Ersatzadresse für die entsprechende Zeit zu vermerken. Das wiederholte Anrufen dieses Adressenhinweis· Speichers erfordert jedoch viel Zeit.
Aufgabe der Erfindung ist es. ein Verfahren zum Adressieren eines eingangs genannten Speichers anzugeben, bei dem ein Speichermodul mit einem unkorrigierbaren Fehler nicht mehr adressiert und die übrigen Speichermoduln auf möglichst einfache Weise weiterhin adressiert werden können. Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen des Hauptanspruchs angegebenen Verfahrensschi itte gelöst. Auf diese Weise wird die Reihenfolge bezüglich der Adressierung der einzelnen Speichermoduln so geändert, daß der Speichermodul mit einem unkorrigierbaren Fehler automatisch dem höchsten Wert der ersten Teiladresse zugeordnet und damit nicht mehr adressiert wird, während die anderen Speichermoduln automatisch in einer entsprechend geänderten Folge adressiert werden. Die Speicherkapazität des Speichers wird dabei nur geringfügig beeinträchtigt.
Eine Ausgestaltung des erfindungsgemäßen Verfahrens für den Fall, daß unkorrigierbare Fehler in einem oder mehreren der noch adressierten Speichermoduln auftreten, ist im Anspruch 2 gekennzeichnet. Durch die zusätzlichen Invertierungen, wobei dann die höchste zulässige Teiladresse entsprechend verringert wird, bleiben auch in ungünstigen Fällen, d. h. bei ungünstigen
*■> Kombinationen fehlerhafter Speichermoduln, noch eine Anzahl einwandfreier Speichermoduln ohne besondere zusätzliche Maßnahmen weiterhin adressierbar.
Speicheranordnungen zur Durchführung des erfin-
dungsgemäßen Verfahrens sind in den weiteren Unteransprüchen gekennzeichnet Darin kann die Inversionssteueranordnung ein elektronischer Speicher sein. In bestimmten Fällen kann sie jedceh auch mit Vorteil eiektromechanische Komponenten enthalten, beispielsweise Schalter, deren Stellungen den gespeicherten Wert angeben. Dadurch entsteht keine Verzögerung. Weil außerdem nur die ersten binären Teiladressen geändert werden, ist eine schnelle Wirkung möglich. Wenn beispielsweise eine vollständige Speichereinheit gelesen wird, braucht nur einmal eine Inversion binärer Adressensignale zu erfolgen. Die Inversionsanordnung kann je Teiladressenstelle ein invertierendes Gatter enthalten, so daß die entstehende Verzögerung der Adressensignale sehr klein bleiben '5 kann.
Durch die Begrenzung der erzeugbaren Teiladressen bei mehreren fehlerhaften Speichermoduln gemäß dem Anspruch 5 wird automatisch erreicht, daß je nach der Kombination fehlerhafter Speichermoduln insgesamt nur 1, 2, 3, 5, 9, 17 usw. Speichermoduln nicht länger adressiert werden können, während die übrigen aufeinanderfolgend adressierbar bleiben, wie später erläutert wird.
Ein weiterer Vorteil der Erfindung besteht darin, daß nach Reparatur bzw. Eratz der fehlerhaften Speichermoduln durch eine einfache Rückstellung der Inversionssteueranordnung automatisch die volle Kapazität der Speicheranordnung wieder vorhanden ist.
Ausführungsbeispiele der Erfindung werden nächstehend anhand der Zeichnung näher erläutert. Es zeigt
Fig. 1 in einer Tabelle die verschiedenen Möglichkeiten bei der Verwendung von sechzehn Moduln für die Rangfolge,
Fig.2 verschiedene Möglichkeiten, wenn zwei unbrauchbare Moduln vorhanden sind,
F i g. 3 ein Blockschaltbild einer erfindungsgemäßen Speicheranordnung,
Fig.4 eine detaillierte dargestellte Schaltung nach der Erfindung und
Fig. 5 eine andere Ausführung eines Inversionselementes.
Fig. 1 zeigt in einer Tabelle die verschiedenen Möglichkeiten für die Rangfolge von sechzehn Moduln nach der Erfindung. Die erste Spalte gibt die Dezimalzahlen von 0 bis 15. In der zweiten Spalte ist der entsprechende Binärkode gegeben, wobei der Kode mit dem bedeutsamsten Bit anfängt. Dieser Binärkode hat die Bedeutung, daß ein Adressenbit invertiert wird, wenn an der Stelle mit entsprechender Signifikanz des Binärkodes eine binäre Information »0« vorhanden ist. Der Kode der letzten Zeile lautet 1111 (dezimal 15), was bedeutet, daß die Moduln in der natürlichen Reihenfolge von 0, 1 bis 15 adressiert werden. Dies ist auf der zugehörigen Zeile verzeichnet. Wenn der Modul 15 defekt ist, kann er ohne weitere Maßnahmen außer Betrieb gesetzt werden, unter der Bedingung, daß die höchste Moduladresse 1110 (14) ist. Wenn jeder Modu1 mehrere Adressen enthält, enthalten die Adressen nach F i g. 1 davon die bedeutsamsten &o Adressenteile. Ist der Modul ; »efekt, wird nach der Zeile 14 nur das unbedeutsamste Adressenbit (auf Modulpegel) invertiert. Je Paar aufeinanderfolgender Moduln wird jeweils die Stelle gewechselt, so daß der Modul 14 als letzter adressiert ist. Wenn die höchstzulässige (unmodifizierte) Moduladresse 14 ist (damit wird dann der Modul 15 adressiert), ist der defekte Modul ohne weitere KomDÜkalionen außer Betrieb gesetzt Ist beispielsweise der Modul 9 defekt, werden die zwei mittleren Adressenbits invertiert. Es wechseln dabei aufeinanderfolgende Vierzahlen und außerdem in jeder Vierzahl noch einmal aufeinanderfolgende Modulpaare die Stelle. So ist tatsächlich der Modul 9 als letzter adressierbar. Die Figur gibt die sechzehn verschiedenen Möglichkeiten, bei denen die Adresse des versagenden Moduls die zu invertierenden Adressenbits angibt: eine gespeicherte Information »0« gibt an, daß das entsprechende Adressenbit invertiert wird. Der übrigbleibende Adressenraum enthält 16 — 1 = 15 Moduln. Bei anderen Binärkodes ist die Methode auch anwendbar (so z. B. bei einem Ein-Wechselkode oder Gray-Kode).
Fig.2 gibt die 120 verschiedenen Möglichkeiten, wenn zwei unbrauchbare Moduln aus einer Gesamtzahl von sechzehn vorhanden sind. Wenn beispielsweise die Moduln 2 und 11 defekt sind (erste Spalte), geben die zweite und dritte Spalte die Informationen 0 0 11 (dezimal 3) bzw. 1 0 1 0 (dezimal 10). Durch Invertierung des ersten und zweiten oder des zweiten und vierten Adressenbits werden die defekten Moduln als die Nummern 7 bzw. 14 adressiert. So sind die Moduln 0 bis 6 immer aufeinanderfolgend adressierbar (faktisch werden dabei die an den ersten sieben Stehen stehenden Moduln der Zeilen 3 bzw. 10 nach Fig. 1 adressiert). Wenn dagegen die Moduln 3 und 10 defekt sind, können die ersten sieben Moduln der Zeilen 2 und 11 nach Fig. 1 anschließend adressiert werden. Dabei werden das erste, zweite bzw. vierte und nur das zweite Adressenbit invertiert. Die vierte Spalte in Fig.2 gibt die Anzahl anschließend adressierbarer Moduln für alle 120 Fälle. Diese Anzahl schwankt zwischen 7 und 14. Im Falle willkürlichen Ausfalls zweier Moduln bleiben etwa 60Vo der Speicheranordnung verfügbar. Bei nur einem defekten Modul ist dieser Prozentsatz 15/16, ist etwa 94%. Bei drei defekten Moduln ist der verfügbare Teil der Speicheranordnung minimal 7/16, ist etwa 44%. Dies ist leicht wie folgt ersichtlich: bei jeder Kombination dreie- defekter Moduln ist bei einer Hälfte der Moduln (also beispielsweise die Hälften 0 — 7 und 8-15) höchstens einer defekt. Durch eine geeignete Wahl aus den Zeilen 0-7 oder 8—15 in Fig. 1 kann dieser defekte Modul gerade als achter in der Rangfolge adressiert werden. Dabei sind also die ersten sieben Moduln anschließend adressierbar. Wenn alle drei defekten Moduln in der gleichen Hälfte liegen, wird die Anzahl anschließend adressierbarer Moduln größer, bis maximal 13.
Das Verfahren läßt sich leicht auf mehrere defekte Speichereinheiten erweitern. Es sei angenommen, daß die Moduln 0, 2, 8 und 13 defekt sind. In diesem Falle kann die Inversion durch die Daten 10 0 0 oder 10 10 gesteuert werden. In beiden Fällen sind dabei noch fünf der Moduln anschließend adressierbar.
Nachstehend wird ein einfacher Algorithmus zur Bestimmung der zu invertierenden Adressenbits gegeben. Es wird nicht immer die maximale Anzahl anschließend adressierbarer Moduln erreicht, weil eine einfache Anordnung angestrebt ist. in der nicht alle ursprünglichen Adressen defekter Moduln gemerkt werden. Bei der Detektion eines defekten Moduls wird seine Adresse gespeichert, wobei die gespeicherten Adressenbits »0« eine Inversion später folgender Adressensignale steuern. Wird ein zweiter defekter Modul detektiert, wird seine Adresse Bit für Bit mit der bereits zuvor gespeicherten Adresse verglichen. Wenn ab dem bedeutsamsten die Adressenbits jeweils
übereinstimmen, geschieht nichts in der gespeicherten Information. Das bedeutsamste Adressenbit, das nicht in Übereinstimmung ist, wird auch nicht geändert, aber alle Adressenbits noch niedrigerer Signifikanz werden in die entsprechenden des Moduls geändert, der kürzest zuvor defekt befunden worden ist.
Einige Beispiele: Zunächst wird der Modul 6 defekt und die Adresse 0 110 wird gespeichert, so daß dieser Modul die letzte (nicht adressierbare) Stelle in der Rangfolge bekommt. Danach wird der Modul 1 defekt und die Adresse 0 0 0 1 wird mit der gespeicherten Adresse verglichen: das zweite Bit ist verschieden, so daß die letzten zwei Bits 0 1 der gespeicherten Adresse zugefügt werden, die lautet: 0 10 1. Im umgekehrten Fall wird zunächst 0 0 0 1 gespeichert und davon die letzten zwei Bits in 1 0 geändert. Dies gibt die zwei Möglichkeiten, die in der Tabelle nach F i g. 2 bei der Kombination 1^6 defekter Moduln (zwanzigste Zeile der Tabelle) erwähnt sind. Jetzt sind noch elf Moduln anschließend adressierbar, und zwar 16-1-4, wobei das bedeutsamste Bit der Binärkodierung der Ziffer »4« dem obenerwähnten bedeutsamsten nicht übereinstimmenden Adressenbit entspricht.
Weiter: Zunächst wird der Modul 15 defekt und die Adresse 1111 wird gespeichert. Darauf wird der Modul 0 defekt und die letzten drei Bits der Adresse 0 0 0 0 werden der gespeicherten Adresse zu 10 0 0 zugefügt: denn das bedeutsamste nicht übereinstimmende Adressenbit war das erste. Die Anzahl anschließend adressierbarer Moduln ist jetzt: 16-1—8 = 7, wobei der Binärkode der Ziffer »8« dem obenerwähnten bedeutsamsten nicht übereinstimmenden Adressenbit entspricht.
Die Methode läßt sich wie folgt auf mehr als zwei defekte Moduln erweitern. Es sei angenommen, daß hintereinander die Moduln 0 und 4 defekt werden, wonach die Information 0 10 0 zur Steuerung der Inversion gespeichert ist. Weil die letzten zwei Bits überschrieben sind (sei es durch die identische Information), sind dann 16-1—4 = 11 Moduln anschließend adressierbar. Wenn nun darauf der Modul 3 defekt wird (Adresse 0 0 11) darf jetzt die gespeicherte Adresse durch 0 111 unter der zusätzlichen Bedingung ersetzt werden, das jetzt nicht 11 Moduln anschließend adressierbar sind: wie aus F i g. 1 ersichtlich ist, sind dabei nämlich nur acht (16 — 4 — 4) anschließend adressierbar: das zweitbedeutsamste Adressenbit ist jetzt 2 χ zwischen aufeinanderfolgenden Adressen verschieden gewesen. Auf gleiche Weise ist es jedoch dabei erlaubt, die gespeicherte Adresse ungeändert zu lassen. Aus der F i g. 1 ist ersichtlich, daß in diesem Falle die optimal gespeicherte Adresse 0 ö ö ö mit i i anschließend adressierbaren Moduln wäre, aber mit dem skizzierten Algorithmus (der wegen seiner Einfachheit ausgewählt wurde) ist dies nicht durchführbar. Denn, nach dem skizzierten Algorithmus konnten im obigen Fall auch die Kombinationen 0—5, 0 — 6 und 0-7 mit der Adresse 0 100 und 11 anschließend adressierbarer Moduln defekt sein. Wenn nun darauf beispielsweise der Modul 13 (1 10 1) defekt wird, wird die gespeicherte Adresse zu 0 1 0 1 mit 7 anschließend adressierbaren Moduln überschrieben. Wenn danach ein Modul mit der Adresse < 7 (0...) defekt wird, geschieht nichts. Wenn ein weiterer Modul mit der Adresse > 8 defekt wird (1...), kann entweder ein Fehlersignal erzeugt werden (die Kapazität kann dabei noch um höchstens 6/16 der ursprünglichen werden und im ungünstigsten Fall sogar nur noch 3/16) oder durch geeignete Maßnahmen die Anzahl leicht und anschließend adressierbarer Moduln hoch gehalten werden.
F i g. 3 zeigt eine Blockschaltung einer erfindungsgemäßen Speicheranordnung, die eine Eingangsadressenleitung 1, ein Adressenregister 2 mit vier binären Stufen 3... 6, eine Steuerleitung für Lese/Schreibbefehlssignale 7, eine Ansteuerungseinheit einschließlich Dateneingangsregister 8 mit Dateneingangsleitung 36, eine Speicheranordnung 9 mit weiteren nicht detaillierten
ίο Moduln 10 ... 25, einen Dekoder 27, ein Datenregister 26, eine Datenausgangsleitung 28, eine Detektionsanordnung 29, eine Inversionsanordnung 30 mit Inversionselementen 31... 34 und eine Inversionssteueranordnung 35 enthält. Die Speicheranordnung 9 enthält sechzehn Speichermoduln, von denen die Daten über das Datenregister 26 abführbar sind. Auf der Adressenleitung 1 kommt eine Vier-Bit-Adresse an, die im Adressenregister 2 gespeichert wird und über die möglicherweise von der Inversionssteueranordnung 35 aktivierten Iversionseinheiten 31... 34 beim Dekoder 27 ankommt. Dadurch ist einer der Moduln 10 bis 25 adressierbar (einfachheitshalber sind nur acht Adressenleitungen angegeben). Die Adressierung beispielsweise eines Wortes in einem Modul ist nicht weiter angegeben; sie kann gegebenenfalls für alle Moduln zusammen durchgeführt werden. Über die Leitung 7 wird die Ansteuereinheit 8 angesteuert, wodurch es klar ist, ob es sich um eine Lese- oder um eine Schreiboperation handelt und die Moduln entsprechend gesteuert werden. Die zu speichernde Information wird nötigenfalls über die Leitung 36 zugeführt. Die Ansteuerinformation kann Taktimpulsdaten enthalten. Die Figur gibt den einfachen Fall, daß von der Detektionsanordnung 29 delektiert wird, ob die im Datenregister 26 aus dem Speicher gelesene Information einwandfrei ist, z. B. die richtige Parität hat. Dazu empfängt die Detektionsanordnung 29 ein Signal aus der Ansteueranordnung 8, z. B. zum Synchronisieren. Wird ein Fehler detektiert, empfängt die Inversions-Steuereinheit 35 ein Signal, wodurch die dabei noch an den Ausgängen des Adressenregisters 2 verfügbare Adresse in der Einheit gespeichert wird, die gleichfalls merkt, »daß ein Versagen aufgetreten ist«. Wenn ein Modul versagt hat. ist die Information dieses ganzen Moduls danach als unzuverlässig zu betrachten. Dies übt seinen Einfluß auf die Wirkung der vollständigen Speicheranordnung aus: möglicherweise muß durch diesen Fehler ein Datenblock aus einem vorhandenen Hintergrundspeicher herbeigeführt werden, um die Operation des Rechenmaschinensystems fortsetzen zu können, von dem die beschriebene Speicheranordnung ein Teil isi. Ei kann auch sein, da" eine bestimmte vorliegende Aufgabe erneut gestartet werden muß, aber auf diese Angelegenheiten bezieht sich die Erfindung als solche nicht Weiter wird die zentrale Steueranordnung geeignete Maßnahmen treffen müssen, um die Bearbeitungen dem jetzt verfügbaren kleineren Speicherraum anzupassen. Unter der Steuerung des erwähnten Algorithmus, der in der Anordnung 35 verkörpert ist, werden die Inversionseinheiten 31 ...34 selektiv gesteuert Gleiches gilt beim Detektieren der folgenden versagenden Moduln, was bei der Beschreibung für die Fig.4 näher erläutert wird. Die Leitung 37 dient beispielsweise zum Aktivieren der Detektionsanordnung 29. Fig.4 gibt eine weiter ausgearbeitete Schaltung nach der Erfindung, die das bei Fig.3 erwähnte Adressenregister 2 und den Dekoder 27 enthält Weiter enthält die Schaltung zwei Signalein-
gangsklemmen 40 und 41, eine Signalausgangsklemme 42, vierzehn logische UND-Gatter 46...56, 80...82, sieben logische ODER-Gatter 59... 64,84, drei logische EXKLUSIV-ODER-Gatter 65 ... 67, vier Umkehrstufen 68 ... 71 und neun bistabile Elemente 72... 79, 83. Zunächst können die Datenflipflops 72... 75 die »1«-Stellung und die Setz-Rückstell-Flipflops 76...79 die »O«-Stellung einnehmen. So sind jetzt die Gatter 46, 48, 50 und 52 für die aus dem Adressenregister 2 herrührenden vier Adressenbits durchlässig, die über die ODER-Gatter 59... 62 den Dekoder 27 erreichen. Die Adresse wird somit nicht geändert. Das bedeutsamste Adressenbit erscheint im Registerelement 3, das unbedeutsamste in Element 6. Wenn ein Fehler eintritt, wird die Steuerklemme 40 für einige Zeit hoch. Diese Klemme ist mit einem Ausgang der nicht dargestellten Detektionsanordnung 29 (Fig. 3) verbunden. UND-Gatter 55 empfängt jetzt zwei hohe Eingangssignale und erregt die Taktimpulseingänge der Datenflipflops 72... 75 über die ODER-Gatter 63, 64, 84, die als Trennelement arbeiten. Dabei wird die dann gültige Adresse aus dem Adressenregister 2 in den Datenflipflops 72... 75 gespeichert, wodurch diese Adresse die letzte der Folge wird und als solche nicht adressierbar ist. Im Falle der Adresse 0 0 0 0 z. B. werden die »0«-Ausgänge der Flipflops jeweils hoch, wodurch die logischen UND-Gatter 47,49,51 und 53 für die von den Umkehrstufen 68... 71 invertierten Adressenbits aus dem Adressenregister 2 durchlässig werden. Diese Signale erreichen dann, erneut über die ODER-Gatter 59... 62, den Dekoder 27. Auf diese Weise ist, wie in F i g. 1 erste Zeile, die Adresse 0 0 0 0 als letzte adressiert. Die Adresse 0 0 0 0 kann weiter dadurch gesperrt werden, daß das Signal am 1-Ausgang des Flipflops 76 die Steueranordnung des Rechenmaschinensystems, in das die erfindungsgemäße Speicheranordnung aufgenommen wird, signalisiert, daß die höchst zulässige Adresse jetzt 1110 ist. Bekanntlich kann in Rechenmaschinen eine höchst zulässige Adresse getrennt gespeichert werden. Das Fehlersignal an der Klemme 40 wird niedrig, bevor der »!«-Ausgang des Flipflops 76 hoch wird. Gegebenenfalls kann es sich um ein Meister-Sklave-Flipflop 76 handeln. Dadurch bleiben fürs erste die UND-Gatter 80... 82 gesperrt. Wenn ein folgender Fehler eintritt, empfängt die Klemme 40 erneut ein hohes Signal, wodurch das UND-Gatter 54 ein hohes Signal liefert und weiter die Gatter 56, 80, 81 und 82 entblockt werden. Weiter wird vom Ausgangssignal des Gatters 54 der JK-Flipflop 83 in die »1 «-Stellung gebracht, wodurch signalisiert wird, daß zwei versagende Moduln (oder mehr, siehe weiter unten) aufgetreten sind. Wenn keins der drei logischen EXKLUSIV-ODER-Gatter 65...67 jetzt ein hohes Signal abgibt, bedeutet dies, daß der als fünfzehnte rangmäßig adressierte Modul einen Fehler aufgewiesen hat Die gespeicherte Adresse in den Flipflops 72... 75 ändert sich dabei nicht Das hohe Signal am »!«-Ausgang des Flipflops 83 signalisiert daß weiterhin höchstens vierzehn aufeinanderfolgende Moduln anschließend adressierbar sind. Wenn dagegen eines der EXKLUSIV-ODER-Gatter 65, 66 oder 67 ein hohes Signal liefert beinhaltet dies ein nicht übereinstimmendes Adressenbit und geschieht folgendes. Ein hohes Signal vom Gatter 67 erreicht über das UND-Gatter 80 den Flipflop 79 und bringt ihn in die »1«-Stellung. Das Ausgangssignal »1« dieses Flipflops signalisiert danach, daß weiterhin höchstens dreizehn Moduln anschließend adressierbar sind. Außerdem bringt der Ausgangsimpuls vom Gatter 80 über das ODER-Gatter 84 den Flipflop 75 in die Stellung, die dem Wert des unbedeutsamsten Adressenbits im Adressenregister 2 entspricht. Ein hohes Signal vom Gatter 66 erreicht über das UND-Gatter 81 und die ODER-Gatter 64 und 84 die Flipflops 74,75 und 78. Die »1 «-Stellung des Flipflops 78 signalisiert danach, daß nur noch höchstens elf Moduln anschließend adressierbar sind. Die Flipflops 74 und 75 werden in die Stellung gebracht, die den Werten der
ίο zwei unbedeutsamsten Adressenbits im Adressenregister 2 entspricht. Ein hohes Signal vom EXKLUSIV-ODER-Gatter 65 deutet an, daß das bedeutsamste Adressenbit nicht übereinstimmt. Dieses Signal erreicht über das UND-Gatter 82 den Flipflop 77. Die »1 «-Stellung des Flipflops 77 signalisiert danach, daß nur noch sieben Moduln aufeinanderfolgend adressierbar sind. Außerdem werden über die ODER-Gatter 63, 64 und 84 die Flipflops 73, 74, 75 in die Stellung gebracht, die den Werten der drei unbedeutsamsten Adressenbits im Adressenregister 2 entspricht Dabei gilt für die Flipflops 72, 73, 74, 75 und 77, daß sich das Ausgangssignal erst ändern darf, wenn das Fehlersignal an der Klemme 40 verschwunden ist. Die gleichen Maßnahmen wie beim Flipflop 76 können dazu getroffen werden.
Wenn nun danach wiederum ein Fehler eintritt, empfängt das UND-Gatter 56 zwei logische Signale und es erscheint an der Ausgangsklemme 42 ein Alarmsignal, um anzugeben, daß die Kapazität der Speicheran-Ordnung zu klein wird. Dies geschieht bei der beschriebenen Anordnung erst nach mindestens drei und höchstens sechs versagenden Moduln. Wenn der Fehler später durch Reparatur beseitigt worden ist, empfängt die Klemme 41 einen Rückstellimpuls, wodurch die Flipflops 76, 77, 78, 79 und 83 in die »0«-Stellung eintreten. Gegebenenfalls können auch die Flipflops 72... 75 durch dieses Signal am Rückstelleingang 85 in die »1 «-Stellung zurückgestellt werden, aber dies ist nicht immer notwendig, weil die Reihenfolge der Adressierung der physikalischen Moduln nicht wesentlich wichtig ist. Für diese Flipflops ist die Rückstellimpulsleitung daher punktiert dargestellt.
Eine Erweiterung läßt sich noch dadurch erreichen, daß das Register der Flipflops 72...85 mehrfach gemacht wird. Dabei ist das erste Register wie in F i g. 4 an den Gattern 46... 53 aktivierend tätig. Das zweite Register ist ein Blindregister, das im Falle zweier versagender Moduln die Adresse der beiden versagenden Moduln getrennt merkt. Wenn danach ein dritter Modul versagt werden alle drei Adressen wie zuvor Bit für Bit miteinander verglichen. Übereinstimmende Adressenbits werden als solche im aktiven Register gespeichert Vom ersten nicht übereinstimmenden Adressenbit wird ein Mehrheitsurteil gebildet und der entsprechende Wert im entsprechenden der Flipflops 72... 75 gespeichert Von den weniger bedeutsamen Bits (weniger bedeutsam als das erste) wird dann der mit der Adresse der Minderheit übereinstimmende Wert gespeichert Beispiel: Moduln 0, 9 und 10 werden in dieser Reihenfolge defekt Nach dem ersten defekten Modul ist im Steuerregister 0 0 0 0, im ersten Hilfsregister 0 0 0 0 und im zweiten nichts gespeichert während fünfzehn Moduln anschließend adressierbar sind. Wenn der Modul 9 defekt wird, wird im Steuerregister 0 0 0 1 gespeichert und das zweite Hilfsregister enthält 10 0 1. Wenn der Modul 10 defekt wird (1 0 1 0), ist das bedeutsamste nicht übereinstimmende Adressenbit das erste. Es folgt die Mehrheit: 1, die folgenden folgen der
»Minderheit«-Adresse 0 0 0. Dabei bleiben ungeändert sieben Moduln aufeinanderfolgend adressierbar. Mehrheitsbildende logische Gatter sind bekannt sowie die übrigen zu verwendenden Bausteine.
F i g. 5 gibt eine andere Ausführungsform eines Inversionselementes, das eine Signaleingangsklemme 100, zwei Spannungseingangsklemmen 101 und 102, eine Signalausgangsklemme 103, einen Widerstand 105, einen Schalter 106, vier logische NICHT-UND-Elemente 107, 108, 109 und 110 und zwei Differenzverstärker 111 und 112 enthält. An die Klemme 102 ist eine Speisespannung beispielsweise von +5 Volt und an die Klemme 101 eine positive (niedrigere) Bezugsspannung angelegt. Wenn der Schalter 106 geschlossen ist, ist der obere Eingang des Gatters 106 ununterbrochen niedrig und dadurch der obere Eingang des Gattereiemenis lös ununterbrochen hoch sowie der untere Eingang des Elements 108. Wenn das Eingangssignal an der Klemme 100 höher als die Bezugsspannung an der Klemme 101 ist, liefert der Verstärker 112 ein hohes Signal, oder das Element 108 empfängt zwei hohe Signale und liefert ein niedriges Signal. Dadurch liefert das Element 109 ein hohes Signal. Ist die Eingangsspannung verhältnismäßig niedrig, liefert auch der Verstärker 112 ein niedriges Signal, wodurch das Element 108 ein hohes Signal gibt. Das Element 109 empfängt dabei zwei hohe Signale und liefert ein niedriges Signal. Auf diese Weise ist also die nicht invertierende Wirkung implementiert. Der Schalter 106 kann von Hand bedienbar sein.
Wenn der Schalter 106 geöffnet ist, führt der obere Eingang des Gatters 107 über den Widerstand 105 ein hohes Potential; dieses Signal wird vom Element UO invertiert, so daß der untere Eingang des Elements 108 ununterbrochen ein niedriges Potential führt, wodurch der untere Eingang des Gatters 109 ununterbrochen ein hohes Potential führt. Wenn das Eingangssignal an der Klemme 100 höher als die Bezugsspannung an der Klemme 101 ist, liefert der Differenzverstärker 111 ein niedriges Signal und dadurch das Element 107 ein hohes Signal. Das Element 109 empfängt zwei hohe Signale
ίο und das Ausgangssignal ist somit niedrig. Wenn das
- Eingangssignal an der Klemme 100 niedriger als die Bezugsspannung ist, gibt der Verstärker 111 ein hohes Signal ab. Das Element 107 empfängt jetzt drei hohe Signale und liefert somit ein niedriges Signal. Dadurch liefert das Element 109 ein hohes Ausgangssignal. Auf diese Weise ist eine invertierende Wirkung implementiert.
Gemäß obiger Beschreibung kann dabei immer eine große Anzahl von Moduln geschlossen adressierbar sein. Für jedes Adressenbit ist dabei ein derartiger Schalter vorgesehen. Die Schaltung nach F i g. 4 arbeitet vollautomatisch und also sehr schnell, wobei in manchen Fällen nicht immerzu die höchst mögliche Anzahl von Moduln geschlossen adressierbar ist. In bestimmten Fällen kann es vorteilhaft sein, den Vorgang selbsttätig neu einzuleiten, z. B. wenn ein bestimmter Modul vorübergehend Fehler aufweist, z. B. durch zu hohe Temperatur. Wenn die Temperatur gefallen ist, könnte er wieder funktionieren. Inzwischen ist dabei ein großer Teil der Speicheranordnung brauchbar und aktiv geblieben.
Hierzu 5 Blatt Zeichnungen

Claims (5)

Patentansprüche:
1. Verfahren zum Adressieren eines Speichers, der aus einer Anzahl getrennt auswechselbarer Speichermoduln besteht, die durch erste Teiladressensignale adressiert werden, wobei die Speicherstellen innerhalb der Speichermoduln durch zweite Teiladressensignale adressiert werden und ein unkorrigierbarer Fehler in einem Speichermodul detektierbar ist, dadurch gekennzeichnet, daß beim Detektieren eines unkorrigierbaren Speicherfehlers in einem Speichermodul die ersten Teiladrussensignale dieses fehlerhaften Speichermoduls gespeichert werden, daß abhängig von den gespeicherten Teiladressensignalen weitere zugeführte Teiladressensignale mindestens teilweise derart invertiert werden, daß die fehlerhafte Speichereinheit der höchsten ersten Teiladresse zugeordnet ist, und daß die Erzeugung der höchsten ersten Teiladresse gesperrt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß beim Detektieren eines unkorrigierbaren Speicherfehlers in einem weiteren, noch adressierten Speichermodul dessen erste Teiladressensignale mit den gespeicherten Teiladressensignalen kombiniert und gespeichert werden und daß •bhängig von den kombinierten Teiladressensignalen weitere Teile von später zugeführten Teiladressensignalen invertiert werden.
3. Speicheranordnung zur Durchführung des Verfahrens nach Anspruch 1 aus einer Anzahl austauschbarer Speichermoduln mit Eingängen für erste Teiladressensignale, die die Speichermoduln adressieren, und für zweite Teiladressensignale, die pro Speichermodul binäre Speicherelemente adressieren, und mit einer Detektionsanordnung zum Detektieren eines auftretenden unkorrigierbaren Speicherfehlers, dadurch gekennzeichnet, daß zwischen die Eingänge (1) für die ersten Teiladressen und den Speichermoduln (10-25) der Speicheranordnung (9) eine Inversionsanordnung (30) eingefügt ist, daß eine Inversionssteueranordnung (35) durch ein Signal der Dptektionsanordnung (29) bei einem unkorrigierbaren Fehler die erste Teiladresse des fehlerhaften Speichermoduls speichert und die Inversionsanordnung (30) so ansteuert, daß bei den nachfolgend zugeführten Teiladressen diejenigen Stellen invertiert werden, in denen die Teiladresse des fehlerhaften Speichermoduls den binären Wert »0« hatte, und daß die Inversionssteueranordnung (35) ein Signal abgibt, das die Erzeugung der höchsten Teiladresse sperrt.
4. Speicheranordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Inversionssteueranordnung (35) bei einem weiteren Signal der Detektionsanordnung (29) infolge eines unkorrigierbaren Fehlers in einem noch adressierten Speichermodul (10-25) dessen Teiladresse mit der gespeicherten Adresse stellenweise von der höchsten Stelle ausgehend vergleicht und diejenigen Stellen der zweiten Teiladresse, die nach der höchsten Stelle folgen, bei der beide Teiladressen unterschiedlich sind, zur Ansteuerung der Inversionsanordnung (30) speichert.
5. Speicheranordnung nach Anspruch 4, dadurch gekennzeichnet, daß die Inversionssteueranordnung (35) ein der Nummer der höchsten Stelle, bei der beide Teiladressen unterschiedlich sind, anzeigendes Signal abgibt, daß die Erzeugung der höchsten Teiladressen bis zu einer dem anzeigenden Signa' entsprechenden Teiladresse sperrt.
DE2554502A 1974-12-09 1975-12-04 Verfahren und Anordnung zum Adressieren eines Speichers Expired DE2554502C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL7415966A NL7415966A (nl) 1974-12-09 1974-12-09 Werkwijze en inrichting voor het opslaan van binaire informatie-elementen.

Publications (3)

Publication Number Publication Date
DE2554502A1 DE2554502A1 (de) 1976-06-10
DE2554502B2 DE2554502B2 (de) 1980-04-10
DE2554502C3 true DE2554502C3 (de) 1980-12-04

Family

ID=19822607

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2554502A Expired DE2554502C3 (de) 1974-12-09 1975-12-04 Verfahren und Anordnung zum Adressieren eines Speichers

Country Status (6)

Country Link
US (1) US4028539A (de)
JP (1) JPS5183430A (de)
DE (1) DE2554502C3 (de)
FR (1) FR2294486A1 (de)
GB (1) GB1529367A (de)
NL (1) NL7415966A (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51139735A (en) * 1975-05-28 1976-12-02 Hitachi Ltd Data processors
US4088876A (en) * 1976-12-17 1978-05-09 Burroughs Corporation Error correcting circuits and methods for shift register type memories
US4103823A (en) * 1976-12-20 1978-08-01 International Business Machines Corporation Parity checking scheme for detecting word line failure in multiple byte arrays
US4435754A (en) 1981-06-30 1984-03-06 Ampex Corporation Method of selecting PROM data for selective mapping system
US4506364A (en) * 1982-09-30 1985-03-19 International Business Machines Corporation Memory address permutation apparatus
EP0253161B1 (de) * 1986-06-25 1991-10-16 Nec Corporation Prüfschaltung für eine Speichereinrichtung mit willkürlichem Zugriff
US4922451A (en) * 1987-03-23 1990-05-01 International Business Machines Corporation Memory re-mapping in a microcomputer system
US5067105A (en) * 1987-11-16 1991-11-19 International Business Machines Corporation System and method for automatically configuring translation of logical addresses to a physical memory address in a computer memory system
DE19507312C1 (de) * 1995-03-02 1996-07-25 Siemens Ag Halbleiterspeicher, dessen Speicherzellen zu einzeln adressierbaren Einheiten zusammengefaßt sind und Verfahren zum Betrieb solcher Speicher
JP3059076B2 (ja) * 1995-06-19 2000-07-04 シャープ株式会社 不揮発性半導体記憶装置
US6678836B2 (en) 2001-01-19 2004-01-13 Honeywell International, Inc. Simple fault tolerance for memory
JP4001280B2 (ja) * 2002-10-22 2007-10-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、記憶装置を制御するプログラム、記憶装置の制御方法、及び記録媒体
US7927313B2 (en) 2004-05-27 2011-04-19 Baxter International Inc. Medical device configuration based on recognition of identification information
US8961461B2 (en) 2004-05-27 2015-02-24 Baxter International Inc. Multi-state alarm system for a medical pump

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3781826A (en) * 1971-11-15 1973-12-25 Ibm Monolithic memory utilizing defective storage cells
US3796996A (en) * 1972-10-05 1974-03-12 Honeywell Inf Systems Main memory reconfiguration
US3803560A (en) * 1973-01-03 1974-04-09 Honeywell Inf Systems Technique for detecting memory failures and to provide for automatically for reconfiguration of the memory modules of a memory system
US3872291A (en) * 1974-03-26 1975-03-18 Honeywell Inf Systems Field repairable memory subsystem
US3917933A (en) * 1974-12-17 1975-11-04 Sperry Rand Corp Error logging in LSI memory storage units using FIFO memory of LSI shift registers

Also Published As

Publication number Publication date
DE2554502B2 (de) 1980-04-10
NL7415966A (nl) 1976-06-11
DE2554502A1 (de) 1976-06-10
JPS5612960B2 (de) 1981-03-25
GB1529367A (en) 1978-10-18
FR2294486B1 (de) 1980-07-18
JPS5183430A (en) 1976-07-22
US4028539A (en) 1977-06-07
FR2294486A1 (fr) 1976-07-09

Similar Documents

Publication Publication Date Title
DE2328869C2 (de) Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems
DE2554502C3 (de) Verfahren und Anordnung zum Adressieren eines Speichers
DE3111447C2 (de)
DE2556556A1 (de) Verfahren und anordnung zur speicherung von informationen ueber den ort eines oder mehrerer fehlerhafter bits in einem einzelne fehler korrigierenden halbleiter-hauptspeicher
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE3209679C2 (de)
DE2128790A1 (de) Einrichtung zum Verwenden mehrerer betriebsfähiger Schaltungen in einem in tegrierten Schaltungsplättchen
EP0038947A2 (de) Programmierbare logische Anordnung
DE2646162B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE2225841C3 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
DE2357168C2 (de) Schaltungsanordnung für einen Speichermodul
DE2144870A1 (de) Verfahren und Schaltungsanordnung zur Kompensation schadhafter Speicherstellen in Halbleiterspeichern
DE1901806A1 (de) Schaltungsanordnung zur Kompensation schadhafter Speicherzellen in Datenspeichern
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
EP1113362A2 (de) Integrierter Halbleiterspeicher mit einer Speichereinheit zum Speichern von Adressen fehlerhafter Speicherzellen
DE2450468C2 (de) Fehlerkorrekturanordnung für einen Speicher
EP0615211B1 (de) Verfahren zum Speichern sicherheitsrelevanter Daten
DE2752377A1 (de) Fehlerpruefeinrichtung
EP2063432B1 (de) Verfahren zum Prüfen eines Arbeitsspeichers
DE19922786B4 (de) Halbleiterspeicher mit Testeinrichtung
DE2549392B2 (de) Verfahren zur erhoehung der zuverlaessigkeit von integrierten speicherbausteinen und zur verbesserung der ausbeute von nach aussen hin fehlerfrei erscheinenden speicherbausteinen bei ihrer herstellung
DE69637427T2 (de) Verfahren und Gerät zur Erkennung doppelter Eintragungen in einer Nachschlagtabelle
EP0353660B1 (de) Verfahren zur Fehlersicherung in Speichersystemen von Datenverarbeitungsanlagen, insbesondere Fernsprechvermittlungsanlagen
DE2004934B2 (de) Speicheranordnung mit schaltungen zur fehlererkennung und fehlerkorrektur
EP0453609B1 (de) Verfahren zum Testen einer kleinsten adressierbaren Einheit eines RAM&#39;s auf über einer bestimmten Zahl liegende Bitfehler

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee