DE2854748A1 - Speichereinrichtung - Google Patents
SpeichereinrichtungInfo
- Publication number
- DE2854748A1 DE2854748A1 DE19782854748 DE2854748A DE2854748A1 DE 2854748 A1 DE2854748 A1 DE 2854748A1 DE 19782854748 DE19782854748 DE 19782854748 DE 2854748 A DE2854748 A DE 2854748A DE 2854748 A1 DE2854748 A1 DE 2854748A1
- Authority
- DE
- Germany
- Prior art keywords
- error
- memory
- signal
- output
- information
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/1052—Bypassing or disabling error detection or correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Debugging And Monitoring (AREA)
Description
-A-
Die vorliegende Erfindung betrifft eine Speichereinrichtung nach dem Gattungsbegriff des Anspruches 1. Derartige Speichereinrichtungen
werden hauptsächlich durch die Hauptspeicher von Datenverarbeitungssystemen gebildet, und insbesondere durch
solche Speicher, die mit Einrichtungen versehen sind, um deren Zuverlässigkeit zu verbessern. Diese Einrichtungen sind in der
Lage, mögliche Fehler hinsichtlich der gespeicherten Information festzustellen und zu korrigieren.
Es ist bekannt, daß das Aufkommen der in großem Umfang integrierten
Halbleiter-Schaltkreistechnologie nach und nach zu dem Ersatz der bisherigen Magnetkernspeicher durch Halbleiterspeicher
in integrierter Technik geführt hat. Diese Einrichtungen bieten"neben den geringen Kosten pro gespeicherter Informationseinheit
den Vorteil einer extrem verringerten Größe, so daß Speicher mit sehr hoher Kapazität verwirklicht werden
können. Obgleich der durch diese Halbleiterspeicher erzielbare Grad an Zuverlässigkeit recht hoch ist, kann jedoch eine bestimmte
Wahrscheinlichkeit für den Auftritt von Fehlern in diesen integrierten Schaltkreisen nicht ausgeschlossen werden.
Diese Fehler können während der Auslösung oder während des Betriebs auftreten. Die auftretenden Fehler beeinflussen die
korrekte Information, die in einen bestimmten Speicherplatz eingespeichert oder aus diesem ausgelesen wird. Die Fehlerwahrscheinlichkeit,
die für einen einzigen integrierten Schaltkreis gering ist, kann im Falle von Speichern mit einer großen
Kapazität, die eine beträchtliche Anzahl von integrierten Schaltkreisen umfassen, durchaus beachtlich sein.
Dieser Gesichtspunkt hat zu der Verwendung von redundanten Speichertechniken geführt, bei denen durch die Verwendung
dieser Redundanz es ermöglicht wird, mögliche Fehler zu indentifizieren
und zu korrigieren. Auf diese Weise wird die Verwendung einer Speichereinrichtung auch im Falle fehlerhafter
Schaltkreise möglich, wobei durch diese fehlerhaften Schaltkreise Fehler beim Einschreiben und beim nachfolgenden Auslesen
der gespeicherten Information entstehen.
909826/0843
unter den verschiedenen heutzutage üblicherweise verwendeten
redundanten Systemen sind die Fehler-Korrekturcodes am gebräuchlichsten. Diese bilden eine Alternative zu einer Doppelspeicherkonfiguration.
Unter den vielen Korrekturcodes sind die sogenannten Einzelfehler-Korrekturcodes (SEC = Single Error
Correction) und die Doppelfehler-Korrekturcodes (DEC = Double
Error Correction) die am häufigsten verwendeten, wobei durch diese Codes folgendes ermöglicht wird: Feststellung und Korrektur-
eines Einzelfehlers, d. h. Feststellung und Korrektur eines einzigen Bits der ausgelesenen Information; Feststellung, aber
keine Korrektur von Doppelfehlern, d. h. von Fehlern, die zwei Bits der ausgelesenen Information beeinflussen können.
Eine Beschreibung der Theorie, auf der diese Codes und die sie
benutzenden Einrichtungen basieren, sei an dieser Stelle nicht gegeben, da dies für das Verständnis der vorliegenden Erfindung
nicht erforderlich ist. Ferner gibt es zahlreiche Literatur, die sich mit diesem Problem befaßt, wobei hier nur auf den zuerst
erschienenen Artikel "Error Detecting and Error Detecting Code" von R. W. Hamming in "The Bell System Technical Journal", Band
XXII Nr. 2,April 1950 verwiesen sei.
Andererseits ist es wesentlich, festzuhalten, daß die Verwendung dieser Codes vor der Einspeicherung einer binär codierten Information
in den Speicher die Erzeugung des der Information zuzuordnenden Codes erfordert, wobei nachfolgend sowohl die Information
als auch der zugehörige Code in dem Speicher gespeichert werden kann. In gleicher Weise ist es erforderlich, die aus dem Speicher
ausgelesene Information zu verarbeiten, um den zugeordneten Code zu erzeugen und diesen mit einem bereits gespeicherten und
zusammen mit der Information ausgelesenen Code zu vergleichen, bevor eine ausgelesene Information als gültig gewertet werden
kann. Aus diesem Vergleich kann sich ein Fehlersyndrom ergeben,
mit welchem ggf. über einen Korrekturschaltkreis die Korrektur der ausgelesenen Information vorgenommen wird. Diese Operationen
909826/0843
der Korrekturcodeerzeugung, wobei der Korrekturcode basierend
auf der ausgelesenen Information erzeugt wird, verglichen wird und erforderlichenfalls für die Korrektur der ausgelesenen Information
verwendet wird, werden mittels logischer Schaltkreise ausgeführt, die eine gewisse, nicht vernachlässigbare Interventionszeit
aufweisen.
Im Falle einer Ausführung der Fehlercodeerzeugung vor einer Schreiboperation des Speichers können die Erzeugungszeit und
die für die Speicheradressierung erforderliche Zeit überlappen, so daß sich demzufolge keine Verzögerung ergibt. Andernfalls
muß bei der Ausführung einer Fehlercodeerzeugung nach der Leseoperation und bei einem nachfolgenden Vergleich des gespeicherten
Codes mit dem ausgelesenen Code, diese Operation ausgeführt werden, nachdem der Lesezyklus vollständig durchgeführt ist. Die
Bestätigung der korrigierten und/oder geprüften Information kann nur mit einer gewissen Verzögerung im Hinblick auf den Zeitpunkt
stattfinden, zu dem die ausgelesene Information durch den Speicher verfügbar gemacht wird. Diese Verzögerung kann die Leistungsfähigkeit
der Speichereinrichtung wesentlich beeinträchtigen. Ferner ist vorhersehbar für die Zukunft, daß mit dem Aufkommen
der in weitem Umfang in bipolarer Technologie integrierten Schaltkreise,
die sehr viel schneller als integrierte MOS-Schaltkreise sind, diese Verzögerung anteilsmäßig noch störender wird.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine Speichereinrichtung
der eingangs genannten Art so zu verbessern, daß die durch die Fehlerkorrektur hervorgerufene Verminderung
der Leistungsfähigkeit nur minimal ins Gewicht fällt. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten
Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
Der der Erfindung zugrundeliegende Hauptgedanke besteht darin, daß die Fehlerprüf- und Korrektureinrichtung gemäß der vorliegenden
Erfindung nur selektiv interveniert. Die erfindungsgemäße Speichereinrichtung ist dadurch gekennzeichnet, daß die
909826/0843
Einrichtung für die Fehlercodeerzeugung, den Fehlervergleich und die Korrektur direkt bezüglich der ausgelesenen Information
in dem Fall interveniert, wo die Adressierung von durch Fehler beeinflußten Speicherzonen vorliegt. In allen anderen Fällen
wird die ausgelesene Information mit der durch die Speicherschaltkreise gestatteten maximalen Betriebsgeschwindigkeit
übertragen. Dies bedeutet, daß der Speicher seine Betriebsgeschwindigkeit in Abhängigkeit von dem Vorliegen oder dem
Fehlen eines Fehlers handhabt.
Die erfindungsgemäße Speichereinrichtung besitzt Zeitsteuerschaltkreise,
die die Dauer eines Speicherzyklus in Abhängigkeit von dem Vorliegen oder dem Fehlen eines Fehlers modifizieren
und sie umfaßt einen Hilfsspeicher bzw. eine Liste, in welchem bzw. in welcher für jede Speicherzone festgehalten
wird, ob diese Zone durch Fehler beeinflußt ist oder nicht. Die Unterteilung des Speichers in Zonen kann gemäß geeigneten
Kriterien und im Hinblick auf die Natur und das Ausmaß der höchstwahrscheinlichen Fehler und der sich daraus ergebenden
fehlerhaften Resultate erfolgen. Es muß demnach offensichtlich festgestellt werden, welche Speicherzonen durch Fehler beeinflußt
sind. Die Lokalisierung dieser Speicherzonen kann durch einen Test des gesamten Speichers im Auslösezeitpunkt erfolgen,
wobei jedoch in diesem Fall nicht die Fehler berücksichtigt werden können, die während des Betriebs auftreten können.
Gemäß einem weiteren Gesichtspunkt der vorliegenden Erfindung wird daher die Steuerung der ausgelesenen Information systematisch
nach jeder Leseoperation ausgeführt, nachdem die ausgelesene Information - ob richtig oder falsch - verfügbar gemacht
worden ist. Erforderlichenfalls wird nachfolgend festgehalten, daß die Information mit einem Fehler behaftet war. und es erfolgt
deshalb ein neuer Lesezyklus für die gleiche Information, die vor ihrer Verwendung einer Prüfung und Korrektur unterzogen
wird.
90 9826/084 3
Anhand eines in den Figuren der beiliegenden Zeichnungen dargestellten
Ausführungsbeispieles sei die Erfindung im folgenden näher erläutert. Es zeigen:
Fig. 1 eine schematische Darstellung eines bevorzugten Ausführungsbeispieles einer Speichereinrichtung,
die erfindungsgemäß organisiert ist.
Fig. 2 die Organisation der Speichermodule im Detail,
die die Speichereinrichtung gemäß Fig. 1 bilden.
Fig. 3a einen Erzeugungsschaltkreis in näheren Einzelheiten für den SEC/DEC-Code, wie er bei der
erfindungsgemäßen Speichereinrichtung verwendet wird.
Fig. 3b eine logische Tabelle für die zwischen den verschiedenen Informationsbits und den Bits bestehenden
Beziehung, die den zu dieser Information zugehörigen SEC/DEC-Code bilden.
Fig. 4 den Syndrom-Erzeugungsschaltkreis in näheren Einzelheiten, wie er für die erfindungsgemäße
Speichereinrichtung verwendet wird.
Fig. 5 einen Fehler-Korrekturschaltkreis in näheren
Einzelheiten, wie er bei der erfindungsgemäßen Speichereinrichtung verwendet wird.
Fig. 6 eine Zeittakteinheit für die Speichereinrichtung gemäß der vorliegenden Erfindung in näheren Einzelheiten.
Fig. 7 ein Zeittaktdiagramm für die durch die Zeittakteinheit gemäß Fig. 6 erzeugten verschiedenen Zeittaktsignale
.
Fig. 8, 9, 1OA, 1OB und 1OC verschiedene Blöcke der Steuereinheit der erfindungsgemäß organisierten Speichereinrichtung
.
Gemäß Fig. 1 ist das Schema einer Speichereinrichtung dargestellt,
die gemäß der Erfindung mit einer selektiv intervenierenden Fehlerfeststell- und Korrektureinrichtung versehen ist und 8 Bit parallel
verarbeitet. Es liegt auf der Hand, daß die Verwendung redundanter
909826/0843
Codes vom SEC- bzw. DED-Typ (z.B. Einzelfehlerkorrektur und
Doppelfehlerkorrektur) vorzugsweise bei Speichern mit größerer Wortbreite (z.B. 32 Bits) erfolgt, um das Verhältnis von Informationsbits
zu redundanten Bits zu verbessern. Tatsächlich erfordert ein SEC/DED-Code für eine 8 Bit-Information 5 zusätzliche
redundante Bits, während im Falle einer Information mit 32 Bits der zusätzliche Code lediglich 7 Bits erfordert. Die
Speichereinrichtung befindet sich im Dialog mit der Zentraleinheit (nicht dargestellt) oder mit anderen Einheiten, die zusammen
mit der Speichereinrichtung ein System bilden. Der Dialog erfolgt über eine Sammelschiene 2, die aus einer Gruppe
von Leitungen besteht. Beispielsweise umfaßt die Sammelschiene folgende Leitungen:
Eine erste Gruppe 3 von 8+1 Leitungen, die benutzt werden, um aus dem Speicher ausgelesene Daten mit 8 Bit zu übertragen, die
von einem Prüfbit begleitet sind.
Eine Leitung 4 zur Übertragung eines Signales GERR (GERR =
general error), das auf einen von dem Speicher erzeugten allgemeinen
Fehler verweist.
Eine Gruppe 5 von 8+1 Leitungen, um in dem Speicher zu speichernde
Daten von 8 Bit zusammen mit einem Prüfbit zu übertragen. Eine Leitung 6 zur Übertragung eines Signales PCL zu dem Speicher,
um einen Speicherzyklus zu starten.
Eine Gruppe 7 von Leitungen, um in den Speicher einen Binärcode für die Speicheradressierung zu übertragen. Die Anzahl der Leitungen
für diese Gruppe hängt von der Speicherkapazität ab, d.h. von der Anzahl der adressierbaren Speicherplätze. Nimmt man an,
daß der adressierbare Speicher 256.000 Speicherplätze aufweist, so sind 18 Leitungen erforderlich, um einen Code mit 18 Bit zu
übertragen.
Eine Gruppe 8 von Leitungen, um zu dem Speicher eine geeignete Anzahl von binär codierter Anweisungsinformationen zu übertragen.
Diese Anweisungsinformation legt fest, ob der Speicher einen Lese- oder einen Schreibzyklus bzw. Test/Diagnosezyklen auszuführen
hat.
909826/0843
Eine Gruppe von Leitungen, um von dem Speicher zu dem System eine geeignete Anzahl von zeitgetakteter Statusinformation zu
übertragen, die durch den Speicher selbst erzeugt wird. In dem Ausführungsbeispiel gemäß Fig. 1 sind nur zwei Leitungen
1A und 9 für die Übertragung von Signalen MEMBUZ und MECOL
dargestellt, deren Bedeutung später erläutert wird.
Die in Fig. 1 dargestellte Speichereinrichtung umfaßt grundsätzlich:
Eine Gruppe von Treiberschaltkreisen 10, um die Leitungsgruppe
anzusteuern;
ein Register 11 (als I-Verriegelung bezeichnet), um die Eingangsdaten
zu laden, wobei dieses Register mit seinen Eingängen an die Leituftgsgruppe 5 angeschlossen ist;
ein Register 12 zum Laden der Speicheradresse, die über die Leitungsgruppe 7 empfangen wird. Diese Leitungsgruppe 7 ist
an die Eingänge des Registers 12 angeschlossen, und dieses Register ist als Α-Verriegelung (Adressenverriegelung) bezeichnet;
ein Register 13 zum Laden der über die Leitungsgruppe 8
empfangenen Anweisungsinformation, wobei die Leitungsgruppe 8 an die Eingänge des Registers angeschlossen ist. Dieses Register
ist als C-Verriegelung (Steuerverriegelung) bezeichnet; einen Paritätsbit-Erzeugungsschaltkreis 14 (PAR-GEN) zur Erzeugung
eines seitlichen Paritätsbits für die aus dem Speicher ausgelesene Information;
einen Paritäts-Prüfschaltkreis 15 (PAR CHECK) für die von dem
Speicher empfangene Information;
einen Decodierer 16 zum Decodieren der Anweisungsinformation am Ausgang der C-Verriegelung 13;
eine Zeittakteinheit 17A,·
eine Zeittakteinheit 17A,·
eine als Steuereinheit fungierende Anweisungseinheit 17; einen Speichermodulblock 18, der mit M.M.M. bezeichnet ist
(Main Memory Module);
ein Hamming- bzw. SEC/DED-Redundanzcode-Erzeugungsnetzwerk 19 (SEC-DED GEN) zur Erzeugung eines der in dem Speicher gespeicherten
Information zugeordneten SEC/DED-Codes;
909826/0843
ein Register 20 zur Speicherung der Information am Ausgang des Speichers, wobei dieses Register mit O-Verriegelung
{Ausgangsverriegelung) bezeichnet ist;
einen Schaltkreis 21 für den Vergleich und die Erzeugung von Fehlersyndromen (SYNDR GEN);
einen Fehlerkorrekturschaltkreis 22 (ERRCORR); eine Gruppe von Inverter/Treiberschaltkreisen 23; einen Multiplexerschaltkreis 24 (MPLX); einen Fehlerspeicher 25 (ERR REG);
einen Fehlerkorrekturschaltkreis 22 (ERRCORR); eine Gruppe von Inverter/Treiberschaltkreisen 23; einen Multiplexerschaltkreis 24 (MPLX); einen Fehlerspeicher 25 (ERR REG);
einen ODER-Schaltkreis 26 für die Erzeugung eines allgemeinen
Fehlersignales;
einen Hilfsspeicher 27 bzw. eine Liste, um eine Information zu
speichern, die durch Fehler beeinflußte Speicherzonen von den
Zonen unterscheidet, die von Fehlern nicht beeinflußt sind.
In Fig. 1 sind darüber hinaus die Hauptdialog- und Verbindungswege
der zuvor erwähnten Blöcke dargestellt. Um das Verständnis der Zeichnung zu erleichtern, sind einige Leitungen nicht dargestellt,
die für die Übertragung von Anweisungen und Zeittaktsignalen
benutzt werden. Es sei darauf verwiesen, daß die Anweisungseinheit 17 und die Zeittakteinheit 17A eine bestimmte
Anzahl von Ausgangsanschlüssen aufweisen, wobei diese Anschlüsse und die von ihnen abgegebenen Signale mit den gleichen Bezeichnungen
versehen sind. Solche Bezeichnungen sind beispielsweise: MECOL, CS, WE1 usw.
Signale, die eine Anweisungs- oder Zeittaktfunktion oder auch beides besitzen, werden entweder zu den Eingangsanschlüssen
der bereijts erwähnten Speicherblöcke oder zu der Sammelschiene gesendet. Beispielsweise wird das Signal MECOL über die Leitung
zu der Zentraleinheit gesendet, das Signal CS wird ebenso wie das Signal WE1 zu den mit den gleichen Namen versehenen Eingängen
des Listenmoduls 27 gesendet, das Signal CAS wird ebenso wie die Signale RAS und WE2 zu Eingängen des MMM-Speichermoduls
18 mit gleichem Namen gesendet, schließlich werden die Signale SEL1 und EM1 zu den gleichnamigen Eingängen des Multiplexers 24
gesendet usw.
909826/0843
Es liegt auf der Hand, daß die Darstellung der verschiedenen Leitungen zwischen den verschiedenen Ausgängen der Steuereinheit
und den verschiedenen Eingangsanschlüssen der Blöcke, die den Speicher bilden, eine Verwirrung hervorrufen würde. Deshalb
sind nur die wichtigeren Dialogwege dargestellt. Dies trifft auch für die Zeittakteinheit zu, deren Ausgänge sowohl mit der
Steuereinheit als auch mit einigen Blöcken innerhalb des Speichers verbunden sind.
Gemäß Fig. 1 sind die Ausgänge des Adressregisters 12 an einen
Kanal 28 angeschlossen, der aus 18 Leitungen ADDR. 0-17 besteht, die die Ausgänge des Adressregisters mit den Adressiereingängen
29 des MMM-Speichermoduls 18 verbinden. 10 Leitungen
des Kanales 28, die die signifikantesten Adressbits übertragen, sind ebenfalls über einen Kanal 30 mit 10 Leitungen an die entsprechende
Anzahl von Adressiereingängen des Listenspeichers angeschlossen. Der Ausgang 31 des Listenspeichers 27 ist mit
einem Eingang 33 der Steuereinheit 17 verbunden.
In ähnlicher Weise sind die Ausgänge des C-Verriegelungsregisters
13 mit den Eingängen des Decodierers 16 verbunden, dessen Ausgänge ihrerseits an entsprechende Eingänge der
Steuereinheit 17 über eine Leitungsgruppe 34 angeschlossen sind. ; j .
Das Signal PCL, das den Speicher aktiviert und das von der Zentraleinheit (nicht dargestellt) empfangen wird, wird zu
einem Freigabeeingang der I-Verriegelung 11, der A-Verriegelung
12 uiid der C-Verr lege lung 13 gesendet, wobei diese Verriegelung^register
durch die Anstiegsflanke des Signales PCL freigegeben werden und binäre Daten bzw. eine binäre Adresse
und eine Anweisung entsprechend laden. Das Signal PCL wird ebenfalls ;einem Eingang 35 der Zeittakteinheit 17A zugeführt.
Die Ausgänge des I-Verriegelungsregisters 11 sind mit Ausnahme
des Ausganges 40 über den Kanal 36, deroevorzugten Ausführungsbeispiel 8 Leitungen aufweist, mit einer entsprechenden Anzahl
909826/0843
■-"*'*- IN8PBCTBD
von Dateneingängen 37 des Speichermoduls 18 sowie mit einer entsprechenden Anzahl von Eingängen 38 des SEC/DED-Codeerzeugungsschaltkreises
19 verbunden, und sie sind ebenfalls einer entsprechenden Anzahl von Eingängen 39 des ParitätsprüfSchaltkreises
15 zugeführt. Eine Leitung 36A des Kanales 36 ist ferner an die Steuereinheit 17 angeschlossen. Ein Ausgang 40 des I-Verriegelungsregisters
11, der den Ausgang einer Registerzelle bildet, die ein Paritätsbit für die in den anderen Registerzellen
gespeicherte Information enthält, ist an den 9. Eingang des ParitätsprüfSchaltkreises 15 angeschlossen. Im Falle einer
Nichtübereinstimmung zwischen dem Paritätsbit und der Information erzeugt der Schaltkreis auf der Ausgangsleitung 42 ein
Paritätsfehlersignal, das auf einen Eingang eines ODER-Schaltkreises
26, auf einen Eingang des Fehlerregisters 25 sowie über die Leitung 66 zu der Steuereinheit 17 gegeben wird.
Die Ausgänge des SEC/DED-Codeerzeugungsschaltkreises 19 sind
über Leitungen 125 mit einer entsprechenden Anzahl von Dateneingängen 41 des Speichermoduls 18 verbunden, so daß bei einer
Freigabe des Moduls (durch das Signal WE2) zum Schreiben einer Eingangsinformation am Ausgang des Registers 11 ebenfalls der
zugehörige Redundanzcode in den Speichermodul geschrieben wird.
Wenn der Speichermodul unter einer vorgegebenen Speicheradresse gelesen wird, so wird die darin enthaltene Information und der
zugehörige Redundanzcode über die Ausgangskanäle 43 und 44 (im vorgegebenen Beispiel mit 8 und 5 Leitungen) entsprechend zu
den Eingängen 45 und 46 des O-Verriegelungsregisters 20 übertragen,
wobei die Information und der zugehörige Redundanzcode in das Register geladen werden, wenn dieses durch ein Signal
T1 freigegeben wird. Die Ausgänge 47 des Registers 20, die zu jenen Registerzellen gehören, die den Redundanzcode aufweisen,
sind an Eingänge 48 des SyndromerZeugungsschaltkreises 21 angeschlossen.
Die Ausgänge 49 des Registers 20, die den Registerzellen entsprechen, die die aus dem Speicher ausgelesenen binären
Daten enthalten, sind über Kanäle 50 und 51 mit Eingängen der
90982Θ/0843
Gruppe von Invertern/Treiberschaltkreisen 23, sowie über Kanäle 50 und 52 an die Eingänge 53 des Multiplexers 24 angeschlossen.
Die Ausgänge der Gruppe von Invertern/Treiberschaltkreisen sind über einen Kanal 54 mit Eingängen 55 des
SyndromerZeugungsschaltkreises 21 und über einen Kanal 56 mit den Eingängen 57 des Fehlerkorrekturschaltkreises 22
verbunden.
Die Ausgänge 58 des SyndromerZeugungsschaltkreises 21 sind
über einen Kanal 59 mit einer gleichen Anzahl von Eingängen des Fehlerkorrekturschaltkreises 22 und über einen Kanal 60
mit einer gleichen Anzahl von Eingängen des Fehlerregisters 25 verbunden. Der SyndromerZeugungsschaltkreis 21 besitzt
neben den Syndromausgängen 58 zwei zusätzliche Ausgänge 61 und 62, auf denen immer dann eine Übertragung stattfindet,
wenn ein Einzelfehlersignal oder ein Doppelfehlersignal vorliegt. Der Ausgang 62 ist über eine Leitung 63 an einen Eingang
des Fehlerregisters 25 sowie an einen Eingang des ODER-Schaltkreises 26 angeschlossen. Der Ausgang 61 ist über eine
Leitung 64 mit einem Eingang des Fehlerregisters 25 sowie mit einem Eingang des ODER-Schaltkreises 26 verbunden. Ferner ist
der Ausgang 61 über eine Leitung 65 an einen Eingang der Steuereinheit 17 und über eine Leitung 47 an einen Eingang der Zeittakteinheit
17A angeschlossen.
Der Fehlerkorrekturschaltkreis weist eine Gruppe 67 von 8 Ausgängen
auf, die mit einer entsprechenden Gruppe 68 von Eingängen des Multiplexers 24 verbunden sind. Der Multiplexer
ist in der Lage, an seinem Ausgang 69 die Information abzugeben, die entweder an der Eingangsgruppe 53 oder an der Eingangsgruppe 68 vorliegt. Dies geschieht in Abhängigkeit von dem
Signal SEL1, wobei es darauf ankommt, ob dieses Signal einem Auswahleingang mit dem Logikpegel 1 oder mit dem Logikpegel 0
zugeführt wird. In jedem Fall muß ferner ein Freigabesignal EN1 einem Steuereingang zugeführt werden. In allen anderen
Fällen befinden sich die Ausgänge des Multiplexers in einem Zustand hoher Impedanz. Die Ausgänge 69 sind an den Ausgabe-
909826/0843
kanal 70 angeschlossen. Die Ausgänge 71 des Fehlerregisters sind ebenfalls an den Ausgabekanal 70 angeschlossen.
Das Fehlerregister 25 wird durch einen Impuls T2 gesetzt, der
über das UND-Gatter 1 erhalten wird, wenn dieses durch ein allgemeines Fehlersignal vorbereitet ist. Die Ausgänge des
Registers 25 werden durch ein Signal OC freigegeben. Im anderen Fall besitzen diese Ausgänge einen Zustand hoher Impedanz.
Der' Sammelkanal 70 ist einerseits an die Eingänge des Paritätserzeugungsschaltkreises
14 und andererseits an die Eingänge der Treiberschaltkreise 10 angeschlossen, wobei die Treiberschaltkreise
10 die an ihren Eingängen anliegende Information und das zugehörige Paritätsbit zu der Sammelschiene 2 übertragen,
wenn die Treiberschaltkreise durch ein Signal ENO freigegeben werden.
Bevor die schaltungstechnischen Einzelheiten des Speicherblockes betrachtet werden, die den Gegenstand der vorliegenden
Erfindung bilden, ist es nützlich, einige wichtige Gesichtspunkte des bereits beschriebenen Aufbaus zu erwähnen.
Es sei darauf verwiesen, daß am Ende eines Speicher-Lesezyklus
die aus dem Speicher ausgelesene und in das O-Verriegelungsregister
20 geladene binäre Information zwei Wege durchlaufen kann, um zu den Treiberschaltkreisen 10 und danach zu der
Sammelschiene 2 zu gelangen. Ein direkter Schaltungsweg wird durch die Kanäle 50, 52 und durch den Kanal 70 gebildet, wobei
lediglich d'er Multiplexer 24 in diesen Schaltkreis eingefügt ist. Ein anderer Weg wird durch die Kanäle 50, 51, 56 und 70
gebildet, wobei in diesen Weg die Inverter/Treiberschaltkreise
23, der Fehlerkorrekturschaltkreis 22 und der Multiplexer 24 eingefügt sind.
Es sei ebenfalls vermerkt, daß der Fehlerkorrekturschaltkreis
ein korrektes Ausgangssignal nur dann liefert, wenn diesem gleichzeitig mit der Information über den Kanal 59 die geeigneten
909826/08A3
Fehlersyndrome zugeführt werden. Die Fehlersyndrome werden durch den Syndromerzeugungsschaltkreis 21 geliefert, der
seinerseits für einen richtigen Betrieb als Eingangssignal die zu prüfende Information erfordert, die von den Treiberschaltkreisen
23 über den Kanal 54 erhalten wird. Es liegt daher klar auf der Hand, daß der zweite Schaltungsweg, der
von nun an als Steuerpfad bezeichnet sei, beträchtlich langsamer als der erste Schaltungsweg ist, wobei er die Steuerung
und die Korrektur des Einzelfehlers der ausgelesenen Information gestattet. Selbst wenn Hochgeschwindigkeitsschaltkreise
für den Aufbau der Blöcke 21, 22 und 23 benutzt werden, so liegt doch die sich ergebende Verzögerung in der Größenordnung
von 50 ns.
Das Vorhandensein zweier Dialogwege zwischen dem Ausgang des Speichermoduls und der Sammelschiene ist ein wesentlicher Gesichtspunkt
der vorliegenden Erfindung. Wenn eine Information zu übertragen ist, die voraussichtlich durch einen Fehler
beeinflußt ist, so ist es möglich, den Pfad auszuwählen, der eine Fehlerfeststellung und Korrektur liefert, obgleich dieser
Schaltungspfad langsamer ist. Wenn andererseits die zu übertragende
Information voraussichtlich korrekt ist, so kann der schnellere Schaltungspfad ausgewählt werden.
Es ist daher hinsichtlich der Steuer- und Zeittakteinheit erforderlich,
daß diese in beiden Fällen unterschiedliche Zeittaktzyklen liefern.
Der Hilfsspeicher bzw. die Liste 27, die einen weiteren Gesichtspunkt
gemäß der vorliegenden Erfindung bildet, bildet den Schlüssel, um festzustellen, welchem Pfad zu folgen ist.
Fig. 1 zeigt, daß die Richtigkeit der in den Speicher einzuschreibenden Information durch den Paritätssteuerschaltkreis
überprüft wird, wobei dies unmittelbar vor einer stattfindenden Schreiboperation geschieht. Es wird später noch herausgestellt,
daß im Falle der Feststellung eines Paritätsfehlers
909826/0843
bei einer in den Speicher einzuschreibenden Information der Schreibzyklus in einen Lesezyklus modifiziert wird, um zu
vermeiden, daß eine nicht korrekte Information in den Speicher eingeschrieben wird. Mit anderen Worten stellt der Paritätssteuerschaltkreis
die Richtigkeit der in den Speicher einzuschreibenden Information sicher. Wenn sich daher bei einem
nachfolgenden Lesen der Information ein Fehler herausstellt, so ist dieser Fehler einem zwischenzeitlich aufgetretenen oder
einem den Speichermodulen anhaftenden Fehler zuzuschreiben. Ein solcher Fehler besitzt einen genau definierten Speicherplatz
in den Speichermodulen, d. h. er betrifft eine genau definierte Zone der Module.
Die Liste 27 bildet einen Hilfsspeicher mit 1024 Bit, und sie
gestattet die Hinzufügung eines Bits zu einer zuvor festgelegten Speicherzone, wobei durch den Wert des Bits festgelegt wird, ob
die zugeordnete Zone durch einen Fehler beeinflußt ist oder nicht. Beispielsweise kann ein Speicher mit einer Größe von 256K adressierbaren
Speicherplätzen in 1024 Zonen unterteilt sein, wobei jede Zone eine Größe von 256 aufeinanderfolgenden adressierbaren
Speicherplätzen aufweist und jeder Zone ein Bit der Liste 27 zugeordnet ist.
Irgendeine aus 18 Bits bestehende Speicheradresse gestattet die Adressierung eines vorbestimmten Speicherplatzes, wobei
mittels der 10 signifikantesten Bits die Zone identifiziert
werden kann, zu der der vorbestimmte Speicherplatz gehört. Gleichzeitig kann die Liste adressiert werden, um das zu dieser
Zone zugehörige Bit aufzusuchen und dieses auszulesen. Um darauf zu verweisen, daß eine Speicherzone durch einen Fehler beeinflußt
ist, wird dem zugehörigen Bit der Liste der Logikpegel 1 zugeordnet, während der Logikpegel 0 anzeigt, daß die Zone
voraussichtlich durch keinen Fehler beeinflußt ist.
Sobald daher ein Speicherplatz adressiert wird, wird ebenfalls
ein Listen-Speicherplatz adressiert, und es wird das in diesem Speicherplatz gespeicherte Bit ausgelesen. Das ausgelesene Bit
909826/0843
wird von dem Ausgang 31 zu dem Eingang 33 der Steuereinheit übertragen und gestattet auf Grund seines Logikwertes der Einheit
17, den geeigneten Schaltungspfad auszuwählen, den die aus dem Speicher ausgelesene Information mit dem zugeordneten
Speicher-Zyklustakt durchläuft.
Der Listeninhalt kann auf verschiedene Weisen geladen werden, beispielsweise durch eine Speicherprüfung, die bei der Auslösung
oder periodisch ausgeführt wird. Bei diesem Verfahren besteht die Gefahr, daß die Leseoperation ausgeführt wird, ohne
daß die Information geprüft und in jenen Speicherzonen korrigiert
wird, wo ein Fehler aufgetreten ist, nachdem die letzte Prüfung ausgeführt worden ist. Es ist daher wesentlich, und
dieses bildet einen weiteren Gesichtspunkt der vorliegenden Erfindung, daß die ausgelesene Information auch bei einer
Übertragung zu der Sammelschiene über den direkten Weg auf irgendeine Weise geprüft wird. Auf diese Weise wird die Feststellung
eines möglichen Fehlers der Zentraleinheit angezeigt und im Falle eines Einzelfehlers wird auf Grund seiner wiederauffindbaren
Natur ein solcher Zustand der Zentraleinheit mitgeteilt. Zum gleichen Zeitpunkt wird ein Fehlerhinweis in die
Liste 27 an dem der Speicherzone zugeordneten Speicherplatz eingeschrieben. Zu diesem Speicherplatz gehört die Leseadresse,
unter der ein Hinweis auf eine nicht korrekte gelesene Information erzeugt worden ist.
Auf diese Weise kann die Zentraleinheit in einem zweiten Speicherzyklus
anfordern, daß die Information unter der gleichen vorhergegangenen Adresse noch einmal gelesen wird. Diese Leseoperation
wird unter Benutzung des Prüf- und Korrekturpfades anstelle des direkten Pfades zwischen Speichermodul und Sammelschiene
ausgeführt, so daß der Fehler automatisch korrigiert wird.
Nachdem die Speichereinrichtung in groben Zügen beschrieben worden ist, seien nunmehr die verschiedenen die Speichereinrichtung
bildenden Blöcke in näheren Einzelheiten beschrieben.
909826/0843
Die Verriegelungsregister 11, 12, 13, 20 und 25 sind als integrierte Schaltkreise erhältlich. Beispielsweise werden
diese Schaltkreise von der Firma Texas Instruments Inc. unter der Typnummer 74LS374 hergestellt und vertrieben. Derartige
Register werden mit der Anstiegsflanke des an den Freigabeeingang angelegten Freigabesignales geladen. Das Freigabesignal
wird hinsichtlich der Register 11, 12 und 13 durch das Signal
PCL, hinsichtlich des Registers 20 durch das Signal T1 und hinsichtlich des Registers 25 durch das Signal T2 (verknüpft
mit einem allgemeinen Fehlersignal) gebildet.
Im Falle des Registers 20 werden zwei solcher integrierter Register
parallel benutzt, um eine Wortbreite von 16 Bit zu erhalten, wobei nur 8+5 Bits tatsächlich benutzt werden. Im
Gegensatz zu dem Register 25 können die Ausgänge der Register 11, 12, 13 und 20 permanent freigegeben sein, so daß deshalb kein
Freigabesignal für den Ausgang speziell erwähnt ist.
Der Decodierer 16 kann ebenfalls mit integrierten Schaltkreisen aufgebaut werden. Beispielsweise wird von der Firma Texas Instruments
Inc. unter der Typ-Nr. 74LS138 ein integrierter Decodierer
mit 3 Eingängen und 8 Ausgängen vertrieben, der einen 3-Bit-Binärcode in ein Signal decodiert, das nur an einem der 8 Ausgänge
vorliegt. Es sei an dieser Stelle nur darauf verwiesen, daß die von dem Register 13 aufgenommenen und in dieses geladenen
Anweisungen eine Speicherleseoperation RM, eine Speicherschreiboperation WM, eine Leseoperation des Fehlerregisters RE
oder eine Diagnose-Schreiboperation WD umfassen können. Allgemein
können noch andere Betriebsverfahren vorgesehen sein, namentlich für Diagnosezwecke oder für kombinierte Lese/Schreiboperationen.
Der Schaltkreis 14, der das Paritätsbit erzeugt, und der Schaltkreis 15,;der für die Paritätsbitsteuerung benutzt wird, können
aus integrierten Schaltkreisen des gleichen Typs bestehen, wie sie beispielsweise unter der Typ-Nr. 82S62 von der Firma Motorola
hergestellt und vertrieben werden. Dieser Baustein bildet einen
909826/0843
Paritätssteuer-Erzeugungsschaltkreis mit 9 Eingängen. Wenn der Schaltkreis als ein Paritätsbiterzeuger arbeitet, so wird
der 9. Eingang nicht benutzt, d. h. er wird permanent an Masse gelegt, so daß ein "O"-Signal an diesem Eingang anliegt.
Der Multiplexer 24 kann gebildet werden, indem eine herkömmliche Anzahl von integrierten Schaltkreisen benutzt wird. Von
der Firma Texas Instruments Inc. ist ein derartiger 2 zu 1-Multiplexer als integrierter Schaltkreis unter der Typ-Nr.
74LS287 erhältlich. Die geforderte Wortbreite von 8 Bit kann berücksichtigt werden, indem zwei solcher Schaltkreise parallel
benutzt werden. Die Treiberschaltkreise 10 können durch 3 parallel
geschaltete integrierte Schaltkreise des Typs 26S1O aufgebaut werden, wobei diese Schaltkreise von der Firma AMD vertrieben
werden. Diese Schaltkreise weisen eine Verarbeitungsbreite für 12 Bit auf, wobei jedoch nur 9 Bit tatsächlich benutzt werden.
Der Hilfsspeicher bzw. die Liste 27 wird durch einen integrierten
Schaltkreis gebildet, der von der Firma Fairchild unter der Typ-Nr. 934425 vertrieben wird. Genauer gesagt handelt es sich
hierbei um einen isoplanaren TTL-Speicher mit sehr kurzer Lese/ Schreib-Zugriffszeit und einer Größe von 1024 Bit, der über eine
Adresse mit 10 Bit adressierbar ist. Ohne die Einzelheiten eines solchen Schaltkreises abzuhandeln, die den technischen
Broschüren der Hersteller entnommen werden können, sei lediglich darauf verwiesen, daß dieser Speicher mit 10 Adressieranschlüssen,
einem Speicher-Auswahleingang CS, einem Dateneingang DIN, einem Anweisungseingang WE1 und einem Datenausgang DOUT ausgerüstet
ist.
Der Block von Speichermodulen 18 kann aus einer passenden Anzahl
integrierter Schaltkreispakte aufgebaut werden. Beispielsweise vertreibt die Firma Mostek unter der Typ-Nr. MK4116P MOS-Speicherschaltkreise
mit wahlfreiem Zugriff, deren Eingänge und Ausgänge mit TTL-Standardschaltkreisen kompatibel sind. Diese Speicherschaltkreise
weisen eine Speichergröße von 16384 Bit auf. Durch die Verwendung einer passenden Anzahl dieser Schaltkreise ist es
909826/0843
möglich, Speicher mit einer beliebigen Wortlänge und Speicherkapazität
zu erhalten. Im vorliegenden Beispiel führt die geforderte Wortlänge von 13 Bit und eine Speichergröße von 256K
Worten zu einer Anzahl von 13 χ 16 = 218 integrierten Speicherschaltkreisen.
Jeder Schaltkreis ist mit einem Dateneingangsanschluß, einem Datenausgangsanschluß, 7 Adressanschlüssen, einem
WR-Befehlseingang für die Vorgabe einer Lese/Schreiboperation
und mit zwei RAS-, CAS-Eingängen versehen, wobei die beiden letztgenannten Eingangssignale Zeittakt- und Steuerfunktionen
besitzen und festlegen, ob die gerade vorliegende Information an den Adresseingängen zu diesem Zeitpunkt bei ihrem aktiven
Zustand eine Zeilen- oder eine Spaltenadresse vorgibt.
Um eine Speicherposition innerhalb der 16.384 Bit zu adressieren,
ist eine Binärinformation mit 14 Bit erforderlich. Diese Information wird in zwei Phasen übertragen. Zunächst wird durch 7 Bits
eine Zeile innerhalb der Matrix von 16.384 Speicherzellen adressiert und danach wird mit den anderen 7 Bits an den gleichen
Eingängen eine Spaltenposition innerhalb der bereits ausgewählten Zeile ausgewählt. Fig. 2 zeigt ein Beispiel für die Organisation
eines Speichermoduls mit einer Größe von 256K Worten, wobei jedes Wort eine Länge von 13 Bit aufweist. Die Speicherschaltkreise,
218 an der Zahl, sind in 16 Reihen mit jeweils 13 Speicherschaltkreisen
angeordnet. Die verschiedenen Speicherschaltkreise weisen die Bezugsziffer Mij auf, wobei i den Spaltenindex und j den
Zeilenindex angibt.
Bei den mit DINi bezeichneten Dateneingangsanschlüssen stellt i einen Spaltenindex dar, wobei pro Spalte der gleiche Dateneingang
allen Speicherschaltkreisen in den verschiedenen Zeilen der Spalte i zugeführt wird. Auch die Datenausgangsanschlüsse jedes
Moduls, die mit DOUTi bezeichnet sind, wobei i den Spaltenindex darstellt, sind innerhalb einer Spalte i für alle Zeilen zusammengefaßt.
Die 18 den Kanal 28 bildenden Adressleitungen werden über einen Eingang 29 dem Speichermodul 18 zugeführt. Hierbei werden die
909826/0843
4 Leitungen, die die signifikantesten Adressbits übertragen,
einem Decodierer 7O zugeführt, der auf Grund der 4 Eingangssignale 16 Ausgangssignale erzeugt. Ein an die Eingänge des
Decodierers 70 angelegter binärer Code wird in ein Signal umgewandelt, das nur auf einer der Ausgangsleitungen 71 87
vorliegt. Jede Ausgangsleitung ist mit dem Freigabeeingang einer
entsprechenden Gruppe von UND-Schaltkreisen 91 106
(16 an der Zahl) verbunden, wobei nur die Gruppen 91 und 106
dargestellt sind. Alle diese Schaltkreisgruppen erhalten gleichzeitig an einer gleichen Anzahl von Eingängen die Signale RAS,
CAS und WR2 zugeführt, die von der Befehlseinheit erzeugt werden. Diese Signale werden aber nur an den Ausgang der verschiedenen
ÜND-Schaltkreise übertragen, wenn dieser ÜND-Schaltkreis durch
das an seinem Freigabeeingang empfangene Signal freigegeben ist.
Die Ausgangssignale eines jeden UND-Schaltkreises 91
sind jeweils an die Eingänge RASi, CASi und WRi der Speicherschaltkreise einer jeden Reihe angeschlossen. Jede Zeile von
Speicherschaltkreisen M1j, M2j, Mij, M13j empfängt daher die
geeigneten Operationsbefehle nur dann, wenn sie durch ein Freigabesignal ausgewählt ist, das den entsprechenden UND-Steuerschaltkreis
freigibt. Auf diese Weise wählen die 4 signifikantesten Adressbits die Zeile der integrierten Speicherschaltkreise
innerhalb des Speichers aus.
Die verbleibenden 14 Bits, die in zwei Gruppen von jeweils 7 Bits gruppiert sind, werden über die Leitungsgruppen 88 und 89
zu einer entsprechenden Anzahl von Eingängen des Multiplexers 90 gesendet, wobei diese in einer selektiven Weise die Bits zu
dem Ausgang 107 übertragen. Die Auswahl hängt davon ab, ob ein Auswahlsignal UED an dem Auswahleingang des Multiplexers vorliegt.
Der Multiplexer 90 kann ebenso wie der Multiplexer 24 durch 4 integrierte Schaltkreise vom Typ 74LS257 gebildet werden.
Die 7 Ausgänge des Multiplexers 90 sind an die Adressiereingänge aller den Speichermodul bildenden Speicherschaltkreise angeschlossen,
wobei sie zunächst die Zeile und sodann die Spalte
909826/0843
85^748
innerhalb der Speicherschaltkreisreihe adressieren. Die Speicherschaltkreisreihe wird hierbei durch den Empfang der
Signale RASi, CASi und WRi ausgewählt.
Fig. 3A zeigt in näheren Einzelheiten ein bevorzugtes Ausführungsbeispiel
des Fehlerfeststell/Korrekturcode-Erzeugungsschaltkreises
19 für eine 8 Bit-Information. Der Schaltkreis
ist aus Exklusiv-ODER-Schaltkreisen 110, 111, 124 aufgebaut,
wobei auf eine detaillierte Beschreibung der verschiedenen Verbindungen unter den Exklusiv-ODER-Schaltkreisen hier
verzichtet sei. Dem Fachmann ist erkennbar, daß solche Schaltkreise 5 seitliche Paritätsbits bilden, wobei jedes in einer
selektiven Weise einer bestimmten Anzahl von Bits der Information Rechnung trägt.
Die elektrischen Signale entsprechend dem Paritätssteuerbit werden an entsprechenden Ausgängen ausgegeben, die mit C1 , C2,
C3, C4 und C5 bezeichnet sind. Die gleiche Bezugsziffer wird benutzt, um die Ausgangsleitung und das durch das Signal auf
dieser Leitung repräsentierte Steuerbit zu bezeichnen.
Fig. 3B zeigt in einer Tabellenform jene Bits (mit einem Kreuz markiert), die die Paritätbits C1, C2, C3, C4 und C5 darstellen.
Dies bedeutet, daß in Fig. 3B das Ergebnis der logischen Operation dargestellt ist, die durch die Exklusiv-ODER-Schaltkreise
gemäß Fig. 3A ausgeführt wird. Diese Tabelle zeigt, daß die Bits jeder Wertigkeit in einer selektiven Weise zu der Erzeugung
von 3 Paritätbits beitragen, wobei insgesamt 5 Paritätbits den Fehlercode bilden.
Der auf diese Weise erzeugte SEC/DED-Code wird über die Leitungsgruppe 125 (siehe Figuren 1 und 3A) zu dem Speichermodul 18 gesendet,
um in diesen zusammen mit den zugehörigen binären Daten eingeschrieben zu werden.
Fig. 4 zeigt ein bevorzugtes Ausführungsbeispiel des Syndrom-ErZeugungsschaltkreises
21 für eine 8 Bit-Information, der ein
909826/0843
SEC/DED-Code von 5 Bits beigefügt ist. Der Schaltkreis wird
durch einen ersten Abschnitt 21A gebildet, der exakt dem bereits in Fig. 3A gezeigten Code-Erzeugungsschaltkreis 19 entspricht,
und durch einen zweiten Vergleichsabschnitt 21B, der die Syndromerzeugung
liefert.
Der Vergleichsabschnitt 21B wird durch Exklusiv-ODER-Schaltkreise
131, 132, 133, 134 und 135 gebildet, denen jeweils eines der Paritätbits C1', C2', C31, C4' und C5' von dem Abschnitt 21A zugeführt
wird. Diese Paritätbits C1', C2', werden entsprechend
der aus dem Speicher ausgelesenen binären Information erzeugt, und diese sind daher potentiell durch Fehler beeinflußt.
Darüber hinaus werden den erwähnten Exklusiv-ODER-Schaltkreisen
131, 132, .... die entsprechenden aus dem Speicher ausgelesenen Paritätbits C1, C2, C3, C4 und C5 zugeführt, welche über die
Eingangsleitungen 48 ankommen. Auch die Paritätbits C1, C2, .... sind potentiell durch Fehler beeinflußt. Die Ausgänge S1, S2, S3,
S4 und S5 jedes Exklusiv-ODER-Schaltkreises, die zusammen die
Gruppe von Ausgangsleitungen 58 bilden, liefern entsprechend dem Logikpegel entweder ein Fehlersymptom oder einen Hinweis
auf keinen Fehler, wobei sie zusammen ein Syndrom bilden.
Es liegt auf der Hand, daß bei einem fehlerfreien Zustand C1'
mit C1, C21 mit C2 usw. übereinstimmt und sich die Ausgänge
S1 S5 auf dem Logikpegel 0 befinden. Im Falle eines
Fehlers befindet sich ein oder mehrere Ausgänge S1 .... S5
auf dem Logikpegel 1. Die Ausgänge S1, S2, S3, S4 und S5 sind
an eine entsprechende Anzahl von Eingängen eines ODER-Schaltkreises
136 angeschlossen. Der Logikpegel 1 an irgendeinem Ausgang liefert daher über diesen ODER-Schaltkreis 136 einen Hinweis
auf einen Fehler.
Ferner zeigt die Tabelle gemäß Fig. 3B, daß im Falle eines
Einzelfehlers hinsichtlich der Informationsbits 1 bis 7 das Syndrom 3 FehlerSymptome enthält, d. h. mit anderen Worten,
daß 3 Ausgänge S1 ...... S5 einen Logikpegel 1 einnehmen. Im
909826/08A3
" 25 - 261.748
die Ausgänge S1, S2 und S3 der Exklusiv-ODER-Schaltkreise 131,
132 und 133, die den Vergleich zwischen C1, C1'; C2, C21 und
C3, C3' ausführen, den Logikpegel 1 ein. Im Falle eines Einzelfehlers
eines gespeicherten SEC/DED-Codebits enthält das Syndrom nur ein Fehlersymptom. Erneut enthält im Falle eines Doppelfehlers
das Syndrom eine gerade Anzahl von Fehlersymptomen. Diese Beobachtungen können in einfacher Weise durch eine Prüfung
der Logiktabelle gemäß Fig. 3B bestätigt werden, wobei sich eine weitere Erläuterung und Beispiele in dem zuvor erwähnten Buch
von Hamming befinden.
Unter der Voraussetzung, daß Einzelfehler somit korrigierbar sind und durch eine ungerade Anzahl von Symptomen gekennzeichnet
sind, während Doppelfehler unkorrigierbar und durch eine gerade Anzahl von Symptomen gekennzeichnet sind, umfaßt der
Schaltkreis 21 einen weiteren Schaltkreis für die Unterscheidung zwischen Einzel- und Doppelfehlern. Dieser Schaltkreis besteht
aus der Gruppe von Exklusiv-ODER-Schaltkreisen 137, 138, 139 und 140, dem Inverter 141 und den UND-Schaltkreisen 142 und 143. Die
Ausgänge S4 und S5 sind an die Eingänge des Exklusiv-ODER-Schaltkreises
137 angeschlossen, während die Ausgänge S3 und S2 an die Eingänge des Exklusiv-ODER-Schaltkreises 138 angeschlossen sind.
Die Ausgänge der Exklusiv-ODER-Schaltkreise 137 und 138 sind mit den Eingängen des Exklusiv-ODER-Schaltkreises 139 verbunden und
der Ausgang des Exklusiv-ODER-Schaltkreises 139 und der Ausgang S1 sind an die Eingänge des Exklusiv-ODER-Schaltkreises 140 angeschlossen.
Das Ausgangssignal des Exklusiv-ODER-Schaltkreises 140 weist hierbei nur dann den Logikpegel 1 auf, wenn der Logikpegel
1 an einer ungeraden Anzahl von Ausgängen S1, S2, S3,· S4 ;
und S5 vorliegt. Der Exklusiv-ODER-Schaltkreis 140 liefert daher
ein Einzelfehlersignal, wenn sein Ausgang den Logikpegel 1 aufweist. Dieser Ausgang wird auf einen Eingang eines UND-Schaltkreises
143 mit drei Eingängen geführt.
Ein Zeittaktsignal T4, das von der Anweisungs- und Zeittakteinheit
17 erhalten wird, wird einem zweiten Eingang des UND-Gatters 143 zugeführt. Dem dritten Eingang des UND-Gatters 143 wird ein
909826/0843
Signal LONCY zugeführt, das von der Anweisungs- und Zeittakteinheit
erhalten wird und bei einem Logikpegel 1 anzeigt, daß der laufende Speicherzyklus kein langer Zyklus ist und eine
Einzelfehlerkorrektur nicht vorliegt.
Im Falle kurzer Speicherzyklen, in denen eine Einzelfehlerkorrektur
nicht ausgeführt wird (LONCY befindet sich auf dem Logikpegel 1), wird daher der Einzelfehlerhinweis immer dann,
wenn er an dem Ausgang des Schaltkreises 140 vorliegt, über das' UND-Gatter 143 während des gesamten durch das Signal T4
vorgegebenen Zeitintervalles weitergereicht.
Umgekehrt wird bei einem Signal LONCY mit dem Logikpegel 0, wodurch angezeigt wird, daß während des Speicherzyklus die
Korrektur von möglichen Einzelfehlern voreingestellt ist, der mögliche Einzelfehlerhinweis nicht zu dem Ausgang 61 übertragen
sondern unterdrückt.
Das Ausgangssignal des Exklusiv-ODER-Schaltkreises 140 wird
ebenfalls dem Inverter 141 zugeführt, dessen Ausgang auf einen
Eingang des UND-Gatters 142 geführt ist, welches an einem zweiten Eingang das Ausgangssignal des ODER-Gatters 136 zugeführt
erhält. Zusätzlich wird das Zeittaktsignal T4 einem dritten Eingang des UND-Gatters 142 zugeführt.
Wenn der auftretende Fehler kein Einzelfehler (daher ein Mehrfachfehler)
ist, so nimmt der Ausgang 62 des UND-Gatters den Logikpegel 1 ein und liefert einen Mehrfachfehlerhinweis
während des gesamten durch T4 vorgegebenen Zeitintervalles.
Die Hinweise auf Einzelfehler und Mehrfachfehler werden in der zuvor erwähnten Weise über die Leitungen 63 und 64 zu einem
ODER-Glied 26 gesendet, welches ein allgemeines Fehlersignal liefert. Darüber hinaus werden diese Hinweise einem Paar von
Eingängen des Fehlerregisters 25 zugeführt. Das Einzelfehlersignal SER am Ausgang 61 wird ferner über die Leitung 65 zu
909826/0843
der Zeittakt- und Steuereinheit 17 übertragen.
Fig. 5 zeigt in näheren Einzelheiten ein bevorzugtes Ausführungsbeispiel eines Fehlerkorrekturschaltkreises 22 für eine binäre
Information mit 8 Bit. Die über den Kanal 59 zu den Eingängen IS1 , IS2, IS3, IS4 und IS5 gesendeten Fehlersyndrome werden
decodiert, um einen Fehlerhinweis auf einer von 8 Leitungen zu liefern, wobei jede Leitung dem falschen zu korrigierenden
Bit zugeordnet ist. Die Decodierung wird in Abhängigkeit von der Charakteristik des SEC/DED-Korrekturcodes ausgeführt, der
durch die Tabelle gemäß Fig. 3B dargestellt ist. Beispielsweise wird ein Fehler hinsichtlich des Bits mit der Wertigkeit 0 durch
ein Syndrom vermerkt, bei dem IS1, IS2 und IS3 den Logikpegel 1
einnehmen.
Die Eingänge IS1, IS2 und IS3 werden daher auf die Eingänge
des UND-Gatters 150 geschaltet, dessen Ausgang den Logikpegel 1 einnimmt, um anzuzeigen, daß der Fehler hinsichtlich
des Bits mit niedrigster Wertigkeit vorliegt. In gleicher Weise sind die Eingänge IS1, IS2 und IS4 auf die Eingänge des UND-Gatters
151 geschaltet, dessen Ausgang den Logikpegel 1 einnimmt, um anzuzeigen, daß der Fehler hinsichtlich des Bits mit
der Wertigkeit 1 vorliegt.
In gleicher Weise werden gemäß der Tabelle in Fig. 3B die anderen Eingänge IS auf die Eingänge der UND-Gatter 152, 153, 154,
155, 156 und 157 geschaltet, deren Ausgänge den Logikpegel 1
einnehmen, um anzuzeigen, daß der Fehler hinsichtlich des Bits mit der Wertigkeit 2, 3, 4, 5, 6 und 7 aufgetreten ist.
Das Ausgangssignal eines jeden UND-Gatters 150 157 ist als
Eingang jeweils einem Exklusiv-ODER-Gatter 166, 167, 173
zugeführt. Jedes Exklusiv-ODER-Gatter erhält als zweites Eingangssignal
über den Kanal 57 die entsprechenden Informationsbits "0, 1, 2, 3, 4, 5, 6 und 7" zugeführt, die zu korrigieren
oder ohne Modifikation zu übertragen sind.
909826/0843
- 28 - 285^748
Da es eine Frage der binären Information ist, besteht die Korrektur in einer Umkehrung des Logikwertes, die durch die
Exklusiv-ODER-Gatter 166 173 ausgeführt wird. Die Ausgänge der Exklusiv-ODER-Gatter 166 173 liefern die
korrekte Information, und diese sind zu dem Kanal 67 des Korrekturschaltkreises 22 zusammengefaßt.
Die Steuereinheit 117 und die Zeittakteinheit 17A seien
nun näher betrachtet. Fig. 6 zeigt die Zeittakteinheit, die als Ganzes mit 17A bezeichnet ist. Die Einheit umfaßt einen
Quarzoszillator 180, der ein Frequenzsignal von beispielsweise
57,15 MHz, d. h. Impulse mit einer Periodendauer von 17,5 ns liefert. Diese Impulse werden an den Takteingang CK
eines JK-Flip-Flops 181 gesendet, das von der Firma Texas
Instruments Inc. unter der Typ-Nr. 74S112 vertrieben wird. Wenn das Flip-Flop 181 an seinen Eingängen J und K ein Signal
mit dem Logikpegel 1 empfängt und sich der Setzeingang E auf dem Logikpegel 0 befindet, so ändert es seinen Schaltzustand
mit der abfallenden Flanke des an dem Takteingang zugeführten Taktimpulses. Am Ausgang Q des Flip-Flops 181 tritt eine Folge
von Impulsen mit einer Länge von 17,5 ns auf, wobei sich dieser Impuls alle 35 ns wiederholt. Der Ausgang Q des Flip'-Flops
ist an den Eingang CK1 eines Schieberegisters 182 angeschlossen, das von der Firma Texas Instruments Inc. unter der Typ-Nr.
74S195A erhältlich ist. Ein solches Register mit 4 Zellen besitzt einen seriellen Eingang 11, parallele Ausgänge UA, UB,
UC und UD, 4 parallele Eingänge, die nicht benutzt und daher nicht dargestellt sind, und einen Rückstelleingang CL1. Wenn
sich der Rückstelleingang CL1 auf einem Logikpegel 1 befindet, so wird die am Eingang 11 (1 oder 0) vorliegende Information
mit der abfallenden Flanke eines Impulses geladen, der dem f
Takteingang CK1 zugeführt wird. Die Information befindet sich sodann in der ersten Zelle des Registers und tritt am Ausgang
UA auf. Zur gleichen Zeit wird die in den Registerzellen vorliegende binäre Information von einer Zelle zu der nächsten
verschoben, d. h. sie wird von dem Ausgang UA zu dem Ausgang UB
usw. weitergereicht. 909826/0843
ORIGINAL INSPECTED
285^748
Die Ausgänge UA, UB, UC und UD werden als Eingänge 4 Verzögerungsleitungen
Δ.1 , A2, A3 und A4 zugeführt, die mit
Zwischenabgriffen versehen sind, die mit MA, MB, MC und MD bezeichnet sind; Die Ausgänge der Verzögerungsleitungen sind
jeweils über einen Widerstand R mit geeignetem Wert an Masse gelegt.
Der Ausgang UA ist ferner an den Takteingang CK2 eines zweiten
Schieberegisters 183 angeschlossen. Ferner ist der Ausgang UC
an den Takteingang CK3 eines dritten Schieberegisters 184 angeschlossen. Die Register 183 und 184 sind von dem gleichen
Typ wie das Register 182. Die parallelen Ausgänge des Registers 183, die mit UE, UF, UG und UH bezeichnet sind, sind mit den
parallelen Eingängen des Registers 184 verbunden. Das parallele Laden des Registers 184 anstelle des seriellen Ladens wird durch
das Signal PE gesteuert, indem dieses Signal permanent auf dem Logikpegel 1 gehalten wird. Beide Register 183 und 184 werden
durch ein Signal mit dem Logikpegel 1 zum Betrieb freigegeben, das den Rückstelleingängen CL2 und CL3 entsprechend zugeführt
wird.
Die Zeittakteinheit wird durch einige Gatter und Flip-Flops vervollständigt,
die den Start bzw. Stop der Einheit vorgeben. Das Signal PCL, das über die Schnittstellen-Sammelschiene mit der
Bedeutung eines Startbefehls für einen Speicherzyklus empfangen
wird, wird zu dem Setzeingang eines Flip-Flops 186 gesendet, wodurch dieses gesetzt wird. Der Ausgang Q des Flip-Flops 186
ist über eine Leitung 187 mit dem Setzeingang des JK-Flip-Flops
188 sowie über eine Leitung 190 mit dem Setzeingang des RS-Flip-Flops
191 verbunden. Wenn daher das Flip-Flop 186 zurückgestellt
ist, so sind die Flip-Flops 188 und 191 gesetzt. Der Ausgang Q des Flip-Flops 188 ist über eine Leitung 189 mit dem Eingang
des Registers 182 verbunden, und es sendet im gesetzten Zustand ein Signal mit dem Logikpegel 1 an diesen Eingang. Der Rückstelleingang
des Flip-Flops 188 ist an den Ausgang UA des Registers 182 über die Leitung 202 angeschlossen. Ein Impuls am
909826/0843
ORIGINAL INSPECTED
Ausgang UA stellt das Flip-Flop 188 zurück. Das Flip-Flop 188,
das durch einen Impuls am Setzeingang gesetzt wird, wird zusätzlich
durch die abfallende Flanke eines Taktsignales am Takteingang CK4 gesetzt.
Der Ausgang UD des Registers 182 ist an den Eingang des Inverters 205 angeschlossen, dessen Ausgang mit dem Takteingang CK4 verbunden
ist. Wenn ein Impuls mit dem Logikpegel 1 am Ausgang UD auftritt, wird somit das Flip-Flop 188 zurückgestellt.
Der Ausgang Q des Flip-Flops 191 ist über eine Leitung 192 mit
dem seriellen Eingang IO des Registers 183 verbunden.
Der Ausgang Q des Flip-Flops 186 ist ferner mit dem Eingang des Inverters 193 verbunden, dessen Ausgang an die Leitung 194 angeschlossen
ist. Diese Leitung wird benutzt, um auf der Sammelschiene 2 ein Signal MEMBUZ zu übertragen, das anzeigt, daß der
Speicher belegt ist. Der Ausgang des Inverters 193 ist ferner an Leitungen 196, 197 und 198 angeschlossen, die benutzt werden,
um ein Freigabesignal zu den Freigabeeingängen CL1, CL2 und CL3 der Register 182, 183 und 184 zu übertragen* Der Ausgang des
Inverters 193 ist ferner an eine Leitung 195 angeschlossen, welche bei gesetztem Flip-Flop 186 einen Logikpegel 1 an die Eingänge
JK des Flip-Flops 181 und über den Inverter 185 einen
Logikpegel 0 an den Setzeingang E desselben anlegt." .Wenn daher
das Flip-Flop 186 durch das Signal PCL gesetzt ist, so wird das Setzsignal von den Eingängen der Flip-Flops 191, 181 und 188
weggenommen, wobei jedoch diese Flip-Flops im gesetzten Zustand verbleiben und die Register 182, 183 und 184 freigegeben sind.
Die Rückstellung des Flip-Flops 186 wird durch verschiedene Signale gesteuert, die eine Modifikation der Dauer des Zeittaktzyklus
in Abhängigkeit von verschiedenen Anforderungen gestatten.
Für den Rahmen der vorliegenden Erfindung ist es ausreichend, festzustellen, daß drei verschiedene Zeittaktzyklen auftreten
können:
"Kurzer Zyklus": Dies ist ein Lesezyklus, während welchem keine
9 0 9826/0843
Einzelfehlerkorrektur ausgeführt wird. Er ist gekennzeichnet durch ein positives Signal LONCY.
"Langer Zyklus": Dies ist ein Lesezyklus, während welchem die Korrektur eines möglichen Fehlers von Anfang an geplant ist.
Dieser Zyklus ist gekennzeichnet durch ein positives Signal LONCY.
"Modifizierter Zyklus": Dies ist ein ursprünglich kurzer Lesezyklus,
wobei an dessen Ende ein Einzelfehler in der ausgelesenen Information festgestellt wird. Dieser Zyklus wird vor
seinem Ende verlängert, um die Speicherung eines Bits zu gestatten,
das das Vorliegen eines Einzelfehlers anzeigt. Dieses Bit wird im Hilfsspeicher 27 gespeichert. Dieser Zyklus ist gekennzeichnet
durch den Anstieg des Signales SER vor dem Ende des kurzen Zyklus.
Es sei darauf verwiesen, daß solche Zyklen der Leseanweisung des Speichers entsprechen. Andere Anweisungen, z.B. Schreibanweisungen,
Leseanweisungen des Fehlerregisters, Lese/Schreib-Diagnoseanweisungen, usw. können im allgemeinen unterschiedliche
Zeittaktzyklen erfordern.
In dem beschriebenen Ausführungsbeispiel wird angenommen, daß eine solche Anweisung innerhalb eines kurzen Zeittaktzyklus
ausgeführt werden kann. Auf eine längere diesbezügliche Beschreibung sei verzichtet, da eine solche für das Verständnis
der Erfindung nicht erforderlich ist.
Der durch die UND-Gatter 199, 201 und 160 und durch das ODER-Gatter
200 sowie durch den Inverter 161 gebildete Schaltkreis bestimmt die unterschiedliche Länge der Zeittaktzyklen. Im
Falle eines kurzen Zyklus liefert die gleichzeitige Gegenwart der Signale LONCY und SER sowie von zwei Zeittaktimpulsen MD
und UG an den Eingängen des UND-Gatters 160 einen Logikpegel 1 am Ausgang dieses Gatters, der auf einen Eingang des ODER-Gatters
200 gegeben wird. Der Ausgang des ODER-Gatters 2OO ist mit dem Rückstelleingang des Flip-Flops 186 verbunden,
welches daraufhin zurückgestellt wird.
909826/0843
Im Falle eines langen Zyklus liefert die gleichzeitige Gegenwart des Signales LONCY und der zwei Zeittaktimpulse UH und ÜB
an den Eingängen des UND-Gatters 201 einen Logikpegel 1 an dessen Ausgang, wobei dieses Ausgangssignal ebenfalls auf einen
Eingang des ODER-Gatters 200 geführt ist. Das Signal wird über das ODER-Gatter 200 übertragen und stellt das Flip-Flop 186
zurück. -
Im Falle eines kurzen Zyklus mit einem festgestellten Einzelfehler
liefert die gleichzeitige Gegenwart des Signales SER und der zwei Zeittaktimpulse UH und EB an den Eingängen des
UND-Gatters 199 einen Logikpegel 1 an dessen Ausgang, wobei dieses Signal einem Eingang des ODER-Gatters 200 zugeführt
wird, wodurch das Flip-Flop 186 zurückgestellt wird.
Die Zeittaktimpulse MD, UH, UB und UG werden durch die gerade beschriebene Zeittakteinheit erzeugt. Das Signal SER wird durch
den bereits beschriebenen Schaltkreis 21 erzeugt und die Signale LONCY und LONCY werden durch die Steuereinheit erzeugt,
was nachstehend beschrieben ist.
An dieser Stelle ist die Wirkungsweise der Zeittakteinheit verständlich
und kann sowohl anhand von Fig. 6, als auch anhand von dem Zeitdiagramm gemäß Fig. 7 beschrieben werden, wobei in
letzterem Diagramm die an verschiedenen Stellen innerhalb der Zeittakteinheit vorliegenden Signale dargestellt sind.
Der Oszillator 180 ist freischwingend, aber der Speicher wird
nicht aktiviert, bevor das Signal PCL empfangen wird. Das Signal PCL setzt das Flip-Flop 186, welches seinerseits im zurückgestellten
Zustand die Flip-Flops 191 und 192 setzt. Ein Signal
mit dem Logikpegel 1 wird daher zu den Eingängen 11 und IO der beiden Schieberegister 182 und 183 gesendet, und es wird das
Speicher-Belegtsignal MEMBUZ erzeugt.
909826/0843
In dem Diagramm gemäß Fig. 7 wird die Schaltverzögerung der verschiedenen Elemente berücksichtigt.
Das Flip-Flop 181 und die Register 182, 183 und 184 werden
zum gleichen Zeitpunkt freigegeben. Das Flip-Flop 181 wird mit einer Periode von 35 ns geschaltet und triggert das Register
182. Am Ausgang UA des Registers 182 wird ein Impuls mit der Dauer von 35 ns erzeugt, der das Flip-Flop 188 zurückstellt.
Das Signal am Eingang 11 schaltet daher auf den Logikpegel 0 zurück. Der am Ausgang UA vorliegende Impuls triggert
das Register 183, dessen Eingang IO sich auf dem Logikpegel 1
befindet.
Am Ausgang UE des Registers 183 wird ein Impuls erzeugt, dessen
Länge von dem Zeitintervall zwischen zwei aufeinanderfolgenden Triggerimpulsen am Ausgang UA abhängt (z.B. beträgt diese Länge
140 ns, wie noch ersichtlich sein wird).35 ns nach der Impulserzeugung
am Ausgang UA erhält das Register 182 von dem Flip-Flop 181 ein neues Triggersignal zugeführt. Da sich der Eingang 11
zu diesem Zeitpunkt auf dem Logikpegel 0 befindet, schaltet der Ausgang UA auf den Logikpegel 0 um, während der Ausgang UB
auf den Logikpegel 1 angehoben wird. In gleicher Weise wird nach 35 ns der Ausgang UB auf den Logikpegel 0 umgeschaltet und der
Ausgang UC auf den Logikpegel 1 angehoben. Nach weiteren 35 ns wird der Ausgang UC auf den Logikpegel 0 umgeschaltet und der
Ausgang UD auf den Logikpegel 1 angehoben. An dieser Stelle wird das Flip-Flop 188 erneut gesetzt. Aus diesem Grund wird 140 ns
nach dem Auftritt eines Impulses mit dem Logikpegel 1 am Ausgang UA der gleiche Ausgang erneut gesetzt, d. h. er wird zum zweiten
Mal auf den Logikpegel 1 umgeschaltet und das Register 183 empfängt ein neues Triggersignal.
Zur Aufsummierung von 35 ns treten Impulse für eine Zeitperiode
von 140 ns in zeitlicher Reihenfolge an den Ausgängen UA, UB, UC und UD auf, während Impulse mit einer Dauer von 140 ns in
zeitlicher Reihenfolge an den Ausgängen UE, UF, UG und UH auftreten .
909826/0 84 3
Das Register 184 mit den Ausgängen UED UHD wird durch
Impulse aktiviert, die von dem Ausgang UC empfangen werden.
Hierdurch wird die an den Ausgängen UE .... UH anstehende Information des Registers 183 parallel geladen, wobei dieses
Laden mit einer Verzögerung von 70 ns wiederholt wird.
In gleicher Weise werden durch die verschiedenen Zwischenabgriffe der Verzögerungsleitungen Δ.1/ Δ 2, Δ 3 und Δ. 4, die
an den Ausgängen UA, UB, UC und UD vorliegenden Impulse mit einer Verzögerung wiederholt, die von der Charakteristik der
Verzögerungsleitung und der Abgriffposition abhängt.
Alle erwähnten Ausgangssignale der Zeittakteinheit sind auf Leitungen verfügbar, die insgesamt mit U bezeichnet sind. Es
liegt daher auf der Hand, daß durch Ausführung von UND- und ODER-Operationen mit den verschiedenen verfügbaren Zeittaktimpulsen
Zeittaktimpulse erhalten werden können, die exakt zu geforderten Zeitpunkten beginnen und enden. Es ist ebenfalls
möglich, die Länge der Zeittaktimpulse in Abhängigkeit von den auftretenden Ereignissen zu modifizieren, wobei Bedingung
ist, daß die Ereignisse während solcher Zeittaktimpulse identifiziert werden. Die Modifikation kann eine Verlängerung bzw.
Verkürzung solcher Zeittaktimpulse und - falls erforderlich das Anhalten des vollständigen Speicherzyklus mit extrem kurzer
Wiederanlaufzeit umfassen.
Es sei vermerkt, daß ein sehr kurzer Zeittaktimpuls die verschiedenen
Flip-Flops und Register mit einer Rückstellzeit von wenigen ns zurückstellt und daß die Verzögerungsleitungen die
einzigen Elemente darstellen, die die sehr kurzen Impulse von wenigen ns (von 35 ns) mit einer charakteristischen Verzögerungszeit von 35 ns oder weniger verzögern. Zu jedem Zeitpunkt, zu
dem der Betrieb der Zeittakteinheit angehalten werden muß, kann dies daher innerhalb einer Zeitperiode geschehen, die im schlimmsten
Fall im vorliegenden Beispiel bei 35 bis 40 ns liegt.
909826/0843
Das Diagramm gemäß Fig. 7 berücksichtigt nur näherungsweise
die den verschiedenen Komponenten anhaftende Signalverzögerung, und die an jeder Impulsflanke angeschriebenen Zahlen stellen
die Verzögerung in ns, bezogen auf die Flanke des ersten Impulses UA dar, mit welchem der Speicherzyklus beginnt. Die
Definition dieser Verzögerungen ist nützlich für die Zusammenarbeit des Steuerabschnittes mit dem Zeittaktabschnitt und für
die Beschreibung der zeitgestaffelten Ereignisse beim Speicherbetrieb .
Ferner sei von nun an aus Gründen der Vereinfachung beim Senden des Zeittaktimpulses zu dem Eingang eines logischen Schaltkreises
dieses Signal und der Eingang, dem das Signal zugeführt wird, mit dem Bezugszeichen versehen, das der Ausgang der Zeittakteinheit
aufweist, der dieses Signal erzeugt. Auf diese Weise kann auf die verschiedenen Verbindungsleitungen und auf eine
Unterscheidung zwischen Eingängen, Ausgängen und Signalen verzichtet werden, ohne daß dadurch das Verständnis der vorliegenden
Erfindung beeinträchtigt wird.
An dieser Stelle ist es möglich, die Befehlseinheit 17 in näheren Einzelheiten zu beschreiben, die der Übersichtlichkeit halber in
Blöcke unterteilt ist, die in den Figuren 8, 9, 1OA, 1OB und 1OC dargestellt sind. Insgesamt muß die Steuereinheit den Ablauf der
Speicheroperation in Abhängigkeit von Befehlen steuern, die durch den Decodierer empfangen werden. Dabei müssen mögliche
Zustände berücksichtigt werden, die in dem Speicher selbst auftreten können.
Der Einfachheit halber sei angenommen, daß die Steuereinheit von dem Decodierer 16 nur vier sich gegenseitig ausschließende Arten
von Befehlen empfängt:
1. Eine Leseanweisung, die durch ein Signal RM (RM = read memory) mit einem Logikpegel 1 definiert ist;
2. eine Schreibanweisung, die durch ein Signal WM (WM = write
memory) mit einem Logikpegel 1 definiert ist;
909826/0843
3. Eine Fehlerregister-Leseanweisung, die durch ein Signal RER
(RER = read error register) mit einem Logikpegel 1 definiert ist; und
4. eine Schreib-Diagnoseanweisung, die durch ein Signal WD
(WD = write diagnostic) definiert ist, wobei eine Information
in dem HilfsSpeicher bzw. der Liste in Abhängigkeit davon gespeichert
wird, ob ein Informationsbit einen geeigneten Pegel (1 oder 0) aufweist.
Andere Arten von Anweisungen, die im allgemeinen vorgesehen sind, um eine kombinierte Schreib/Leseoperation und Diagnoseoperationen
auszuführen, seien hier nicht betrachtet, da sie für das Verständnis der Erfindung nicht von Bedeutung sind.
Fig. 8 zeigt einen Block der Steuereinheit, der die Eingangsdaten
steuert und die Lese/Schreiboperationen des Speichermoduls handhabt. Dieser Block umfaßt ODER-Gatter 210, 211, 212 und 213A,
UND-Gatter 213, 214 und 215 und einen Inverter 216. Dem ODER-Gatter
210 werden an seinen Eingängen alle Zeittaktimpulse UE, UED, UF, UFD, UG, UGD, UH und UHD zugeführt, wodurch ein kontinuierliches
Freigabesignal erzeugt wird. Dieses Freigabesignal beginnt am Anfang des Speicherzyklus und endet am Ende dieses
Zyklus. Dieses Signal wird über das UND-Gatter 213 übertragen, wenn dieses entweder durch das Signal WM oder durch das Signal
WD vorbereitet ist, wobei beide Signale von dem Decodierer 16 über das ODER-Gatter 213A empfangen werden. Beide Signale zeigen
an, daß der Zyklus als ein Schreibzyklus abläuft, wobei ein normaler Modus oder ein Diagnosemodus vorliegen kann. Das Signal
EN2 am Ausgang des UND-Gatters 213 wird als ein Freigabesignal
für den Paritätssteuerschaltkreis 15 benutzt.
Berücksichtigt man die Signalverzögerung des Schaltkreises, so beginnt das Signal EN2 mit einer Verzögerung von ungefähr 30
bis 40 ns nach dem ersten Impuls UA. Diese Verzögerung garantiert, daß sich die Information an dem Eingang des Paritätsprüfschaltkreises
15 stabilisiert hat. Hierdurch werden falsche Paritätsfehlersignale am Ausgang vermieden. Zu diesem Zeitpunkt
909826/0843
kann ein möglicher Paritätsfehler über den Ausgang 4 2 und die Leitung 66 zu dem gleichen in Fig. 8 dargestellten Block
weitergeschaltet werden, bevor dieser Block den Impuls UED zugeführt erhält.
Tatsächlich zeigt Fig. 8, daß der Impuls UED benutzt wird,
um beim Vorliegen eines Signales WM und bei Abwesenheit eines Signales PERR (Paritätsfehler) auf der Leitung 66 eine zeitlich
versetzte Anweisung WE2 zu erzeugen. Diese Operation wird durch das UND-Gatter 215 zusammen mit dem Inverter 216 ausgeführt.
Die Auswahl des Impulses UED hängt im wesentlichen von der Charakteristik des benutzten Speichers ab, der im vorliegenden
Beispiel die Aüssendung des Signales WE2 in Bezug auf das Signal RAS mit einer Verzögerung von ungefähr 70 ns und mit einer
Dauer von 140 ns erfordert. Es liegt daher auf der Hand, daß im Falle eines festgestellten Paritätsfehlers bei den zu schreibenden
Eingangsdaten die Schreiboperation nicht stattfindet, da die geeignete Anweisung fehlt.
Das ODER-Gatter 211 erzeugt das Anweisungssignal RS als logische Summe der Zeittaktimpulse UE, UED und UF an seinen Eingängen,
wobei dieses Anweisungssignal eine Dauer von 280 ns aufweist und mit einer Verzögerung von ungefähr 25 bis 30 ns nach dem
ersten Impuls UA erzeugt wird. In gleicher Weise erzeugt das ODER-Gatter 212 das Anweisungssignal CAS als logische Summe
der Impulse UED und UF, wobei dieses Signal eine Dauer von 210 ns aufweist und mit einer Verzögerung von ungefähr 25 bis 30 ns nach
den ersten Impuls UA auftritt.
Das UND-Gatter 214 erzeugt den Ladeimpuls T1 für das Ausgangsregister
20 als logisches Produkt der Impulse UG und UB. Der Impuls T1 ist daher ein Impuls mit einer Dauer von 35 ns, der
mit einer Verzögerung von ungefähr 320 bis 325 ns nach dem ersten Impuls UA auftritt. Das zum Schalten des Multiplexers
909826/0843
(Figuren 1 und 2) benutzte Auswahlsignal wird durch den gleichen Impuls UED gebildet. Es liegt auf der Hand, daß
die Auswahl der Zeittaktimpulse unmittelbar von den Charakteristiken der Speichermodule abhängt und daß die hier angegebenen
Werte nur Beispiele für eine bevorzugte Ausführungsform darstellen. Schließlich sei darauf verwiesen, daß die Anweisungen
RAS, CAS und T1 in jedem Speicherzyklus erzeugt werden,
während die Signale EN2, WE2 nur bei den Lesezyklen erzeugt werden.
Fig. 9 zeigt einen weiteren Block der Steuereinheit 17, der auf die Syndromerzeugung 21, den Hilfsspeicher 27 und die
Speicherzykluslänge einwirkt. Dieser Block umfaßt UND-Gatter
220 bis 225, ODER-Gatter 162 bis 165 und ein Flip-Flop 226.
Das UND-Gatter 220 erzeugt das Zeittaktsignal T4. Es wird hierbei durch das Eingangssignal RM und durch den Zeittaktimpuls
UGD beaufschlagt. Das von dem Decodierer 16 empfangene Signal RM zeigt an, daß der ablaufende Speicherzyklus ein Lesezyklus
ist. Das Signal UGD liefert eine geeignete Zeitsteuerung. Zieht man die Verzögerung des Gatters 220 (5 bis 10 ns) in Betracht,
so kann dem Zeittaktdiagramm entnommen werden, daß das Signal T4 mit einer Verzögerungszeit von ungefähr 375 bis 380 ns
nach dem ersten Auftritt des Impulses UA erzeugt wird, wobei es zu diesem Zeitpunkt den Fehlerausgang des Syndromerzeugungsschaltkreises
21 freigibt.
Es ist festzustellen, daß die auf das Vorhandensein oder die Abwesenheit eines Fehlers zu überprüfende Information am Ausgang
des Registers 20 nur zu dem Zeitpunkt T1, erhöht um die
Ubertragungszeit des Registers 20, verfügbar ist, d. h. zu einem Zeitpunkt, der ungefähr 330 ns nach dem ersten Auftritt
des Impulses UA liegt. Aus den zuvor erwähnten Gründen führt der Syndromerzeugungsschaltkreis 21 eine weitere Verzögerung
von ungefähr 45 bis 50 ns ein,bevor das Syndrom am Ausgang erhältlich
ist. Das Freigabesignal T4 kommt daher an, wenn die
909826/0843
auf Grund der am Eingang zugeführten Signale am Ausgang erhaltenen
Signale des Schaltkreises 21 sich stabilisiert haben, d. h. mit einer Verzögerung von ungefähr 375 bis 380 ns im
Hinblick auf den ersten Impuls UA.
Die Ausgänge 61 und 62 des Schaltkreises 21 werden daher von diesem Zeitpunkt an (plus der Verzögerungszeit der Schaltkreise
142 und 143, die ungefähr 5 bis 10 ns beträgt) für den restlichen
Teil des Zyklus freigegeben, welcher Teil - wie später noch ersichtlich sein wird - kürzer als 140 ns ist und den
Impuls ÜGD nach ungefähr 110 ns beendet. Im Falle eines Einfach- oder Mehrfachfehlers tritt entweder das Signal SER oder
MER an den Ausgängen 61 bzw. 62 auf.
Das Flip-Flop 226 wird benutzt, um die Länge des Lesezyklus in Abhängigkeit von der Gegenwart oder der Abwesenheit von bereits
festgestellten Einzelfehlern in dem ausgewählten Speichermodulbereich zu definieren, in welchem die Leseoperation ausgeführt
wird. Zum Beginn des Lesezyklus wird das Flip-Flop 226, falls es nicht bereits zurückgestellt ist, durch den Impuls UA zurückgestellt.
Unter diesen Bedingungen wird der Ausgang LONCY auf den
Logikpegel 1 gesetzt und zeigt an, daß der ablaufende Zyklus ein kurzer Zyklus ist.
Während der ersten Phase des Lesezyklus wird parallel zu der Adressierung und dem Lesen des Speichermoduls 18 der Hilfsspeicher
27 adressiert und ausgelesen. Dieser Speicher ist schneller als der Speichermodul 18, so daß die Information an
dem Ausgang auf der Leitung 31 vor der Information am Ausgang des Speichermoduls verfügbar ist. Wie später noch ersichtlich
sein wird, ist diese Information mit einer Verzögerung von ungefähr 140 ns nach dem Auftritt des ersten Impulses UA verfügbar.
Wenn die aus dem Speicher 27 ausgelesene Information den Logikpegel
1 aufweist, so bedeutet dies, daß in der adressierten Zone des Speichermoduls wenigstens ein Speicherplatz durch einen
909826/0843
Einzelfehler beeinträchtigt ist und daß daher die gelesene Information
zu prüfen und zu korrigieren ist. Diese Operationen erfordern einen langen Speicherzyklus. Das auf der Leitung 31
empfangene Signal stellt sodann das Flip-Flop 226 zurück, worauf dessen Ausgang LONCY auf den Logikpegel 1 umschaltet,
während der Ausgang LONCY auf den Logikpegel 0 zurückfällt. Wie bereits erläutert, werden die Signale LONCY und LONCY zu
der Zeittakteinheit 17A gesendet und beide Signale definieren entsprechend ihrem Logikzustand die Zykluslänge. Wie ferner
noch ersichtlich sein wird, werden diese Signale zu anderen Elementen der Steuereinheit gesendet, und sie modifizieren
die Startzeit bzw. die Länge der Zeittaktsignale.
Der durch die anderen bereits erwähnten Gatter gebildete Schaltkreis
steuert die Lese/Schreiboperationen des Hilfsspeichers Am Beginn eines jeden Lesezyklus muß der Hilfsspeicher 27 gelesen
werden. Dies geschieht, indem ein Lesesignal CS mit einer Dauer von 140 ns gesendet wird. Dieses Signal wird durch den
Impuls UED erhalten, wenn das UND-Gatter 222 durch die Anweisung RM vorbereitet ist. Das Signal am Ausgang des UND-Gatters 222
wird über das ODER-Gatter 163 zu dem Ausgang CS übertragen.
Aus Fig. 7 ist ersichtlich, daß unter Berücksichtigung einer Signalverzögerung durch die Schaltkreise 222 und 163 das Signal
CS ungefähr 100 ns nach dem ersten Impuls UA auftritt und 140 ns
dauert.
Mit einer Verzögerung von 40 ns gegenüber dem Signal CS und mit gleicher Zeitdauer ist die aus dem Speicher 27 gelesene Information
am Ausgang 31 verfügbar. Diese Zahlenwerte gelten unter der Annahme, daß als Hilfsspeicher 27 ein Speicher verwendet wird,
der von der Firma Fairchild unter der Typ-Nr. 93L425 vertrieben wird.
Am Ende eines kurzen Lesezyklus ist zusätzlich eine Fortschreibung
bzw. Schreiboperation des Hilfsspeichers 27 auszuführen, wenn das Signal SER einen Einzel-Lesefehler aufgezeigt hat.
909826/0843
2 8 Γ- -, 7 A
Dies bedeutet, daß ein Logikpegel 1 in den adressierten Speicherplatz
anstelle des zuvor vorliegenden Logikpegels 0 einzuschreiben ist. Diese Operation erfordert die Erzeugung eines
neuen Signales CS zusammen mit einer Schreibanweisung WE1, die
im Hinblick auf das Signal CS eine geeignete zeitliche Lage aufweist. Das auf der Leitung 61 empfangene Signal SER, das
über das ODER-Gatter 163 übertragen wird, liefert das neue
Signal, wobei dieses unter Berücksichtigung der Schaltkreisverzögerungen ungefähr 385 bis 380 ns nach dem ersten Impuls
UA verfügbar gemacht wird.
Das Signal SER, das dem UND-Gatter 224 zusammen mit dem Zeittaktsignal
UGD und der logischen ODER-Verknüpfung der Zeittaktsignale MD, UA und MA (durchgeführt durch das ODER-Gatter 162)
zugeführt wird, erzeugt gemeinsam mit diesen Zeittaktsignalen das Signal WE1 für die geforderte Länge und zu dem geforderten
Zeitpunkt.
Die in dem Hilfsspeicher gespeicherte Information befindet
sich auf dem Logikpegel 1, was durch das Signal UGD über das ODER-Gatter 165 dem Eingang DIN mitgeteilt wird. Es liegt auf
der Hand, daß der Logikpegel 1 an dem Eingang DIN während eines Zeitintervalles vorliegt, dessen Länge das Zeitintervall umfaßt,
während welchem die Schreibanweisung WE1 vorliegt, wobei dies für den Fall eines festgestellten Einzelfehlers gilt. Es
ist ferner erkennbar, daß die Möglichkeit besteht, den Inhalt des Hilfsspeichers mittels einer Anweisung WD für Diagnosebzw.
Rückstellzwecke zu modifizieren.
Dem UND-Gatter 221 wird als Eingang die Anweisung WD ebenso wie der Zeittaktimpuls UED zugeführt. Der Ausgang des UND-Gatters
221 ist an einen Eingang des ODER-Gatters 163 angeschlossen und als Eingang den UND-Gattern 223 und 225 zugeführt.
Der Ausgang des ODER-Gatters 163 liefert das Signal CS während der gesamten Dauer des Impulses UED beim Vorliegen einer Anweisung
WD. Während des gleichen Zeitintervalles wird dem UND-Gatter 225 die Übertragung eines auf der Leitung DINO empfangenen
909826/0843
iMSPEOTE
- 42 - 28U748
Signales zu dessen Ausgang gestattet, wobei die Leitung DINO an eine der Leitungen des Datenkanals 36 angeschlossen ist
und sich somit auf dem gleichen logischen Pegel wie die in diesem Kanal vorliegende Information befindet.
Die Freigabe des UND-Gatters 223 gestattet ferner die übertragung
des am Ausgang des ODER-Gatters 162 vorliegenden Signales, wodurch über das ODER-Gatter 164 die geeignete
Schreibanweisung WB1 erzeugt wird.
Die Figuren 1OA, 1OB und 1OC zeigen andere Blöcke der Anweisungseinheit
17, die den Multiplexer 24, das Fehlerregister 25, die Treiberschaltkreise 10 und die Signale am Ausgang des
Speichers zur Sammelschiene 2 steuern. Diese Anweisungsblöcke seien als Ausgabe-Steuerblöcke bezeichnet.
Für die Steuerung des Multiplexers 24 sind zwei Signale EN1 und SEL1 erforderlich. Das erste Signal dient der Freigabe
des Multiplexerausganges, der bei Abwesenheit des Signales EN1 (oder bei einem Logikpegel von 0 für das Signal EN1)
einen Zustand hoher Impedanz aufweist. Das zweite Signal dient der Auswahl der Eingänge 53 bzw. 68 in einer sich gegenseitig
ausschließenden Weise. Die Signale EN1 und SEL1 werden durch ODER-Gatter 230, 231 und 234 und durch UND-Gatter 232
und 233 erzeugt. Das ODER-Gatter 230 erhält als Eingänge die Signale UB, MB und UC zugeführt und sein Ausgang ist mit einem
Eingang des UND-Gatters 232 verbunden. Das UND-Gatter 232 erhält als Eingänge die Signale RM, UG und LONCY sowie das
Signal am Ausgang des ODER-Gatters 230 zugeführt. Der Ausgang des UND-Gatters 232 ist an einen Eingang des ODER-Gatters 231
angeschlossen. Der Ausgang des ODER-Gatters 231 schaltet daher auf den Logikpegel 1 um, d. h. es wird ein Signal EN1 mit dem
Logikpegel 1 im Falle von kurzen Lesezyklen (RM mit dem Logikpegel 1, LONCY mit dem Logikpegel 1) mit einer Verzögerung von
ungefähr 330 bis 340 ns im Hinblick auf den ersten Impuls UA für eine Dauer von 70 ns erzeugt. Auch hier ist wieder die
909826/0843
Signalverzögerung der Gatter 230, 232 und 231 berücksichtigt.
Das UND-Gatter 233 erhält als Eingangssignale die Signale RM, LONCY und UGD sowie das Signal am Ausgang des ODER-Gatters 234
zugeführt. Dem ODER-Gatter 234 werden als Eingangssignale die Signale UC, MC und UD zugeführt. Der Ausgang des UND-Gatters
233 ist mit einem Eingang des ODER-Gatters 231 verbunden. Der Ausgang des ODER-Gatters 231 schaltet daher auf den Logikpegel 1
um, d. h. es wird das Signal EN1 auch im Falle langer Lesezyklen erzeugt, aber mit einer Verzögerung in Bezug auf den ersten Impuls
UA von ungefähr 385 bis 395 ns. Die Dauer des Signales E1 beträgt 70 ns. Auch hier ist wieder die Verzögerungszeit der
Gatter 234, 233 und 231 berücksichtigt. Mit anderen Worten wird das Signal EN1 in Abhängigkeit von der Zykluslänge mit unterschiedlichen
Verzögerungen erzeugt.
Der Ausgang des UND-Gatters 233 liefert direkt ein Auswahlsignal SEL1, das dem Signal EN1 kurz vorauseilt und den Multiplexereingang
68 anstelle des Eingangs 53 auswählt.
Für die Steuerung des Fehlerregisters 25 sind zwei Signale T2 und OC erforderlich, wobei das erste Signal benutzt wird, um
das Laden des Registers freizugeben, und wobei das zweite Signal benutzt wird, um jene Ausgänge des Registers freizugeben, die in
Abwesenheit des Signales OC sich in dem Zustand hoher Impedanz befinden. Der Impuls T2 wird durch das UND-Gatter 236 erzeugt,
dem als Eingangssignale die Signale MD und UG zugeführt werden. Der Ausgang dieses Gatters liefert einen Impuls T2 mit einer
Länge von 35 ns und mit einer Verzögerung von ungefähr 395 ns in Bezug auf den ersten Impuls UA.
Der Impuls T2 wird als Eingang dem UND-Gatter 1 (Fig. 1) zugeführt
und zu dessen Ausgang übertragen, wenn das UND-Gatter 1 durch ein allgemeines Fehlersignal freigegeben ist. Das allgemeine
Fehlersignal wird erzeugt, wenn während eines Zyklus ein Fehler festgestellt wird, wobei dies mit einer Verzögerung von
höchstens 390 ns bezogen auf den ersten Impuls UA, d. h. vor dem
909826/0843
ORIGINAL INSPECTED
26U748
Impuls T2, erfolgt. Von dem Ausgang des UND-Gatters 1 wird der Impuls T2 zu dem Takteingang des Registers 25 übertragen. Um die
Ausgänge des Registers 25 freizugeben, wird ein Impuls OC an einen Steuereingang angelegt. Der Impuls OC wird durch den Schaltkreis
erzeugt, der durch das UND-Gatter 237 und durch das ODER-Gatter 238 gebildet wird. Dem ODER-Gatter 238 werden als Eingangssignale
die Signale UB, MB und UC zugeführt. Das Signal am Ausgang des ODER-Gatters 238 wird als ein Eingangssignal dem
UND-Gatter 237 zugeführt, das als weitere Eingänge die Signale RER/ UG und LONCY zugeführt erhält. Der Ausgang des UND-Gatters
237 liefert ein Freigabesignal OC mit dem Logikpegel 1 nur bei Gegenwart der Anweisung RER. Dieses Signal befindet sich auf
dem Logikpegel 1 während einer Dauer von 70 ns und dieses beginnt wie das Signal EN1 mit einer Verzögerung von 330 bis 340 ns
im Hinblick auf den ersten Impuls UA.
Die Steuerung der Treiberschaltkreise 10 erfordert ein Freigabesignal
ENO mit dem Logikpegel 1 für das Zeitintervall, während dem die entweder am Ausgang des Multiplexer 24 oder des Registers
25 verfügbare Information gültig ist. Das Signal ENO wird durch die Gruppe von UND-Gattern 243 und 244 und durch die ODER-Gatter
239 bis 242 erzeugt.
Auf eine detaillierte Beschreibung der zwischen diesen Logikelementen
bestehenden Verbindungen sei an dieser Stelle verzichtet. Es wird als ausreichend angesehen, darauf zu verweisen, daß im
Falle eines kurzen Zyklus (LONCY mit dem Logikpegel 1) und bei Leseoperationen des Fehlerregisters (RER auf dem Logikpegel 1)
oder für Leseoperationen (RM auf dem Logikpegel 1) das Signal ENO mit einer Verzögerung von ungefähr 350 ns bezogen auf den
ersten Impuls UA beginnt und eine Dauer von 70 ns aufweist. Im Falle eines langen Zyklus (LONCY mit dem Logikpegel 1) und nur
bei Leseoperationen (RM auf dem Logikpegel 1) beginnt das Signal mit einer Verzögerung von 400 ns bezogen auf den ersten Impuls UA
und weist eine Dauer von 70 ns auf.
909826/0843
ORIGINAL INSPECTED
Um der Zentraleinheit über die Sammelschiene 2 mitzuteilen,
daß der Speicherzyklus tatsächlich aktiviert worden ist und um zur gleichen Zeit ein Tastsignal für die ausgelesene Information
oder einen Hinweis auf das Ende des SpeicherZyklus zu erzeugen,
wird im Falle von Schreiboperationen ein Signal MECOL geliefert. Dieses Signal wird durch den Schaltkreis erzeugt, der durch das
Flip-Flop 245, die UND-Gatter 247 und 248 und durch das ODER-Gatter 246 gebildet wird. Der Ausgang Q des Flip-Flops 245 ist
an die Leitung 9 angeschlossen, die benutzt wird, um das Signal
MECOL an die Sammelschiene 2 zu senden. Das Flip-Flop 245 wird durch den Impuls UE gesetzt, wodurch der Ausgang Q auf den Logikpegel
1 umschaltet (Signal MECOL). Die abfallende Flanke des Ausgangssignales Q zeigt über die Sammelschiene 2 an, daß der
Speicherzyklus tatsächlich aktiviert worden ist und daß die Zeittakteinheit aktiv ist.
Im Falle eines kurzen Zyklus ruft die gleichzeitige Gegenwart der Signale UG, UC und LONCY an den Eingängen des UND-Gatters
einen Logikpegel 1 am Ausgang dieses Gatters hervor. Dieses Signal wird durch das ODER-Gatter 246 übertragen und stellt das
Flip-Flop 245 zurück. Unter Berücksichtigung der Verzögerung der Schaltkreiskomponenten schaltet im Falle eines kurzen Zyklus
das Signal auf den Logikpegel 0 mit einer Verzögerung von ungefähr
370 bis 380 ns bezogen auf den ersten Impuls UA zurück. Mit anderen Worten tritt die abfallende Flanke des Signales MECOL
innerhalb desjenigen Zeitintervalles auf, während welchem eine Leseinformation (Daten oder Fehler) über die Treiberschaltkreise
10 auf der Sammelschiene 2 verfügbar gemacht wird.
Im Falle eines langen Zyklus wird durch die gleichzeitige Gegenwart
der Signale LONCY, UGD und MD der Ausgang des UND-Gatters
248 auf den Logikpegel 1 geschaltet. Dieses Signal wird über das ODER-Gatter 246 übertragen und stellt das Flip-Flop 245 zurück.
In diesem Fall wird das Signal MECOL auf den Logikpegel 0 mit einer Verzögerung von ungefähr 420 bis 430 ns bezogen auf den
ersten Impuls UA zurückgeschaltet, d. h. die abfallende Flanke
909826/0843
des Signales MECOL tritt erneut innerhalb desjenigen Zeitintervalles
auf, während welchem die ausgelesene Information (erforderlichenfalls korrigiert) auf der Sammelschiene 2 verfügbar
gemacht wird.
Wie bereits beschrieben, wird der Speieherzyklus beendet, indem
über die Sammelschiene 2 mitgeteilt wird, daß der Speicher nicht langer belegt ist, was durch die abfallende Flanke des Signales
MEMBUZ geschieht.
Betrachtet man Fig. 6 zusammen mit dem Diagramm gemäß Fig. 7 und stellt man die Verzögerungszeit der verschiedenen betroffenen
Komponenten (von 5 bis 10 ns für jedes Element) in Rechnung, so ist festzustellen, daß das Signal MEMBUZ auf den Logikpegel 0
mit einer Verzögerung von ungefähr 430 bis 440 ns in Bezug auf den ersten Impuls UA abgesenkt wird. Dies gilt für einen kurzen
Speicherzyklus. Bei einem langen Speicherzyklus beträgt die Verzögerung
ungefähr 510 bis 520 ns.
Nachdem ein bevorzugtes Ausführungsbeispiel eines Speichers mit der Möglichkeit einer Einzelfehlerkorrektur und die veränderlichen
Zyklen beschrieben worden sind, sei nunmehr betrachtet, wie ein solcher Speicher mit einer Zentraleinheit eines Datenverarbeitungssystems
zusammenarbeitet.
Zunächst kann zum Auslösezeitpunkt die Zentraleinheit die Funktionsfähigkeit des Speichers testen, indem sie das Schreiben
und das nachfolgende Lesen einer geeigneten Information in allen adressierbaren Speicherpositionen freigibt. Auf diese Weise ist
es möglich, den HilfsSpeicher bzw. die Liste in einen Zustand
zu versetzen, in welchem zum größten Teil die Speicherzonen angezeigt
sind, hinsichtlich denen Einzelfehler beim Auslesen festgestellt worden sind. Diese Test- bzw. Voreinstelloperation erfordert
selbst bei einer Speicherkapazität von ungefähr einer Million Worten bei SpeicherZyklen von 1 yusec nur eine Zeitspanne
von wenigen Sekunden.
909826/0843
OESGSüAL HnISPECTED.
Nachfolgend ist es anstelle der zuvor für Diagnosezwecke gespeicherten
Information möglich, in den Speicher verschiedene auszuführende Programme sowie zu verarbeitende Daten einzuschreiben.
Während des Auslesens unterscheiden sich die Operationen, die der logischen Struktur des Systems folgen, in Abhängigkeit
von verschiedenen Alternativen.
Während der ersten Phase des Lesezyklus wird in der Liste eine Prüfung auf zuvor festgestellte, in der adressierten Zone vorhandene
Einzelfehler durchgeführt. Liegen solche vor, so wird der Lesezyklus automatisch durch den Speicher verlängert, und
es wird die gelesene Information über den Korrekturschaltkreis übertragen, so daß ein möglicher Einzelfehler korrigiert wird.
Ein Einzelfehlersignal wird nicht vermerkt. Jedoch kann ein allgemeines Fehlersignal auftreten, das beispielsweise durch
einen Mehrfachfehler verursacht wird. In diesem Fall kann die Steuereinheit sofort oder zu dem geeigneten Zeitpunkt eine
Leseanweisung des Fehlerregisters auswählen und durch das Lesen dieses Registers das Wesen des aufgetretenen Fehlers testen sowie
über die Art der auszuführenden Intervention entscheiden.
In dem Fall, wo keine zuvor festgestellten Einzelfehler in der Liste ermittelt werden, wird die Leseoperation in einem kurzen
Zyklus ausgeführt. Wenn während dieses kurzen Zyklus kein Fehler festgestellt wird, so wird die Operation innerhalb dieses kurzen
Zyklus beendet. Wenn ein Einzelfehler festgestellt wird, so wird ein allgemeines Fehlersignal erzeugt und das Fehlerregister geladen.
Gleichzeitig wird der Zyklus verlängert, um das Einschreiben der Fehlerinformation in die Liste zu ermöglichen.
Wenn ein Doppelfehler festgestellt wird, so wird das allgemeine Fehlersignal erzeugt und .das Fehlerregister wird geladen, wobei
aber die Länge des kurzen Zyklus nicht modifiziert wird. Beim Auftritt des allgemeinen Fehlersignales kann die Zentraleinheit
unmittelbar oder zu einem geeigneten Zeitpunkt eine Leseanweisung an das Fehlerregister richten und durch das Lesen dieses Registers
das Wesen des aufgetretenen Fehlers testen sowie über die Art der
909826/0843
auszuführenden Information entscheiden.
Im Falle eines Einzelfehlers besteht beispielsweise die Intervention
aus einer Wiederaufsuchoperation bzw. einem erneuten Lesen, was mit dem langen Speicherzyklus ausgeführt wird und
zu einer Korrektur des Einzelfehlers führt, da die Liste zuvor fortgeschrieben worden ist. Es liegt auf der Hand, daß diese
Wiederaufsuchoperation vor dem Lesen des Fehlerregisters ausgeführt
werden kann, so daß in diesem Fall beim Auftritt eines Einzelfehlers dieser korrigiert wird und das allgemeine Fehlersignal
nicht erscheinen wird. Stattdessen tritt das allgemeine Fehlersignal erneut in dem Fall auf, wo ein Mehrfachfehler festgestellt
wird, der nicht korrigiert werden kann. Die vorstehende Betrachtung macht deutlich, daß das Fehlerregister kein wesentliches
Element der vorliegenden Erfindung ist, sondern nur ein Hilfselement. Tatsächlich wird, wenn das System die zweite beschriebene
Betriebsweise einnimmt, die Wiederaufsuchoperation hervorgebracht, die eine Information zur Unterscheidung zwischen
den zwei möglichen Fehlerformen liefert, die während einer Leseoperation auftreten können. Die Verwendung eines Fehlerregisters
ist von Vorteil, da dieses der Zentraleinheit mehr Information als die einfache Unterscheidung zwischen zwei Fehlerformen liefern
kann.
In dem zuvor beschriebenen Ausführungsbeispiel wird beispielsweise
das gesamte Syndrom in das Fehlerregister geladen und sodann zu der Zentraleinheit übertragen. Durch eine Syndromanalyse
ist es der Zentraleinheit möglich, eine Diagnoseinformation zu erhalten, die die Identifizierung der Fehler gestattet, die ein
solches Syndrom hervorrufen.
Es ist möglich, zusätzlich zu dem Syndrom in das Fehlerregister
die Speicheradresse zu laden, unter der der Fehlerhinweis aufgetreten
ist. Dies liefert eine zusätzliche Information und gestattet der Zentraleinheit, das Fehlerregister zu irgendeinem
bevorzugten Zeitpunkt auszulesen, beispielsweise am Ende einer Leseoperation, die aus einer Folge von Lesezyklen besteht, wie
909826/0843
dies allgemein der Fall ist.
Tatsächlich ist erkennbar, daß in dem gegebenen Beispiel der Inhalt des Fehlerregisters im Laufe des folgenden Speicherzyklus
nicht verlorengeht (es ist keine Rückstellung vorgesehen) , sondern nur fortgeschrieben wird, so daß neue auftretende
Fehlersignale aufgezeichnet werden. Nur in diesem Fall der Fortschreibung geht die zuvor gespeicherte Information
verloren. Im Verlauf normaler Operationen in einem Datenverarbeitungssystem ist jedoch die Wahrscheinlichkeit, daß im Verlauf
einer Lesefolge mehrere Fehler festgestellt werden, statistisch so gering, daß das Risiko des Informationsverlustes vernachlässigbar
ist.
Es kann weiter festgestellt werden, daß in dem Fall, wo die Länge des Fehlerregisters die Ausgangs-Wortlänge des Speichers
überschreitet, es immer möglich ist, die Leseoperation des Fehlerregisters in mehrere aufeinanderfolgende Zyklen aufzuspalten.
Es ist somit klar, daß der beschriebene Speicher nur ein bevorzugtes Ausführungsbeispiel darstellt, das in mancher
Hinsicht vereinfacht ist, um die Merkmale der Erfindung besser zu zeigen. Änderungen können daher hinsichtlich der beschriebenen
Ausführungsform vorgenommen werden, ohne daß der Rahmen der vorliegenden
Erfindung verlassen wird.
909828/0843
Claims (6)
- HONEYWELL INFORMATION SYSTEMS 18. Dezember 1978ITALIA S.p.A. 5600177 GeC a 1 u s οSpeichereinrichtungPatentansprüche:.J Speichereinrichtung in einem DV-System mit einem Speichermodul mit mehreren adressierbaren Speicherplätzen, wobei in diesen Speicherplätzen jeweils eine digitale Information und ein dieser zugeordneter Fehlerkorrekturcode gespeichert ist,, gekennzeichnet durch eine Fehlerfeststell/Korrekturcode-Erzeugungseinrichtung zur Erzeugung eines jeder digitalen in dem Modul zu speichernden Information zugeordneten Korrekturcodes, wobei der Korrekturcode zusammen mit der digitalen Information in dem Modul gespeichert wird;eine Fehlersyndrom-ErZeugungseinrichtung, die die digitale Information und den zugehörigen aus dem Modul ausgelesenen Korrekturcode zugeführt erhält;eine Fehlerkorrektureinrichtung, der die aus dem Modul ausgelesene digitale Information und das zu der digitalen Information zugehörige Fehlersyndrom zugeführt wird und die eine korrigierte digitale Information am Ausgang der Speichereinrichtung abgibt;einen direkten Schaltungspfad zur Umgehung der Fehlerkorrektureinrichtung und zur direkten Abgabe der aus dem Modul ausgelesenen digitalen Inforeation am Ausgang der Speichereinrich-tung; 909826/0843 nDr/n. ORIGINAL INSPBCTEDeinen Hilfsspeicher mit mehreren adressierbaren Hilfsspeicherplätzen, wobei jeder HilfsSpeicherplatz wenigstens einem adressierbaren Speicherplatz des Speichermoduls zugeordnet ist und eine Hinweisinformation auf einen Fehler bzw. keinen Fehler speichert;eine Zeittakteinrichtung zur Erzeugung von Zeittaktimpulsen für die zeitliche Vorgabe von Lesezyklen der Speichereinrichtung mit unterschiedlicher Dauer; und eine Steuereinrichtung zur Steuerung der Leseoperation des Speichermoduls an einem ausgewählten Speicherplatz und der Leseoperation des Hilfsspeichermoduls an dem dem ausgewählten Speicherplatz zugeordneten HilfsSpeicherplatz und für die sich gegenseitig ausschließende Freigabe der Fehlerkorrektureinrichtung bzw. des direkten Schaltungspfades, um die aus dem ausgewählten Speicherplatz ausgelesene digitale Information an dem Ausgang abzugeben, und zur weiteren Steuerung der Zeittakteinrichtung, um Zeittaktimpulse zu erzeugen, die Lesezyklen mit einer unterschiedlichen Dauer definieren, wobei die Dauer auf Grund der aus dem ausgewählten Speicherplatz ausgelesenen digitalen Information ausgewählt wird.
- 2. Speichereinrichtung nach Anspruch 1, dadurch gekennzeichnet , daß die Fehlersyndrom-Erzeugungseinrichtung ferner eine Signal-Erzeugungseinrichtung zur Erzeugung eines korrigierbaren Fehlersignales und eines nichtkorrigierbaren Fehlersignales aufweist.
- 3. Speichereinrichtung nach Anspruch 2, gekennzeichnet durch weitere durch die Steuereinrichtung gesteuerte Schaltkreise zum Sperren der Erzeugung des korrigierbaren Fehlersignales durch die Signalerzeugungseinrichtung, wenn die Steuereinrichtung die Fehlerkorrektureinrichtung freigibt.909826/0843
- 4. Speichereinrichtung nach Anspruch 3, gekennzeichnet durch eine Schreibsteuereinrichtung zum Schreiben einer Fehlerinformation in den Hilfsspeicherplatz des Hilfsspeichers immer dann, wenn eine Leseoperation hinsichtlich des zugeordneten ausgewählten Speicherplatzes die Signalerzeugungseinrichtung zur Erzeugung eines korrigierbaren Fehlersignales veranlaßt hat.
- 5. Speichereinrichtung nach Anspruch 4, gekennzeichnet durch ein Fehlerregister zur Speicherung eines Fehlersignales beim jeweiligen Auftritt desselben und des gleichzeitig auftretenden Fehlersyndroms.
- 6. Speichereinrichtung nach Anspruch 4, gekennzeichnet durch ein Fehlerregister zur Speicherung eines Fehlersignales beim jeweiligen Auftritt desselben und des gleichzeitig auftretenden Fehlersyndroms und durch eine Beibehaltung des gespeicherten Fehlersignales und des Fehlersyndromes bis zum Auftritt eines neuen Fehlersignales.909826/0843
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT31170/77A IT1089225B (it) | 1977-12-23 | 1977-12-23 | Memoria con dispositivo rivelatore e correttore a intervento selettivo |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE2854748A1 true DE2854748A1 (de) | 1979-06-28 |
Family
ID=11233213
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19782854748 Withdrawn DE2854748A1 (de) | 1977-12-23 | 1978-12-19 | Speichereinrichtung |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US4249253A (de) |
| JP (1) | JPS5496936A (de) |
| AU (1) | AU520615B2 (de) |
| CA (1) | CA1109159A (de) |
| DE (1) | DE2854748A1 (de) |
| FR (1) | FR2412885B1 (de) |
| GB (1) | GB2034942B (de) |
| IT (1) | IT1089225B (de) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3045609A1 (de) * | 1979-12-03 | 1981-08-27 | Honeywell Information Systems Inc., 02154 Waltham, Mass. | Verfahren und schaltungsanordnung zur abgabe einer korrigierten datengruppe an eine bestimmungsschaltung |
| DE3128740A1 (de) * | 1980-07-25 | 1982-03-18 | Honeywell Information Systems Inc., 02154 Waltham, Mass. | Dynamisches halbleiter-speichersystem |
| DE4040503A1 (de) * | 1990-12-11 | 1992-06-25 | Honda Motor Co Ltd | Nur-lese-speichervorrichtung |
Families Citing this family (47)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2915159A1 (de) * | 1978-08-04 | 1980-02-21 | Honeywell Inf Systems | Verfahren und vorrichtung zur fehlerkorrektur bei datenverarbeitungssystemen |
| JPS5750307A (en) * | 1980-09-05 | 1982-03-24 | Sony Corp | Time base correcting device |
| US4384353A (en) * | 1981-02-19 | 1983-05-17 | Fairchild Camera And Instrument Corp. | Method and means for internal error check in a digital memory |
| JPS5823395A (ja) * | 1981-07-31 | 1983-02-12 | Fujitsu Ltd | デ−タ記憶装置誤り制御方式 |
| US4455655A (en) * | 1981-09-28 | 1984-06-19 | Hewlett-Packard Company | Real time fault tolerant error correction mechanism |
| JPS595497A (ja) * | 1982-07-02 | 1984-01-12 | Hitachi Ltd | 半導体rom |
| JPS59117800A (ja) * | 1982-12-25 | 1984-07-07 | Fujitsu Ltd | バツフア・ストレ−ジの1ビツトエラ−処理方式 |
| JPS6050669A (ja) * | 1983-08-29 | 1985-03-20 | Hitachi Ltd | デ−タ復調方式 |
| IT1206331B (it) * | 1983-10-25 | 1989-04-14 | Honeywell Inf Systems | Architettura di sistema di elaborazione dati. |
| US4604750A (en) * | 1983-11-07 | 1986-08-05 | Digital Equipment Corporation | Pipeline error correction |
| DE3473365D1 (en) * | 1984-05-26 | 1988-09-15 | Honeywell Bull Spa | Single error correction circuit for system memory |
| US4646312A (en) * | 1984-12-13 | 1987-02-24 | Ncr Corporation | Error detection and correction system |
| JPS61158078A (ja) * | 1984-12-28 | 1986-07-17 | Sony Corp | 情報再生装置 |
| JPS61217999A (ja) * | 1985-03-25 | 1986-09-27 | Toshiba Corp | 半導体メモリ |
| JP2865692B2 (ja) * | 1989-02-22 | 1999-03-08 | 株式会社日立製作所 | スイッチングシステム及びその構成方法 |
| US6330240B1 (en) | 1987-04-24 | 2001-12-11 | Hitachi, Ltd. | ATM cell switching system |
| US5365519A (en) | 1991-03-05 | 1994-11-15 | Hitachi, Ltd. | ATM switch1ng system connectable to I/O links having different transmission rates |
| USRE36716E (en) * | 1987-07-15 | 2000-05-30 | Hitachi, Ltd. | Switching system for switching cells having error detection apparatus |
| USRE36751E (en) * | 1987-07-15 | 2000-06-27 | Hitachi, Ltd. | ATM switching system connectable to I/O links having different transmission rates |
| JPH0766340B2 (ja) * | 1987-12-25 | 1995-07-19 | 松下電器産業株式会社 | 演算装置 |
| US4884271A (en) * | 1987-12-28 | 1989-11-28 | International Business Machines Corporation | Error checking and correcting for read-modified-write operations |
| JP2606862B2 (ja) * | 1987-12-28 | 1997-05-07 | 株式会社東芝 | 単−エラー検出・訂正方式 |
| AU628971B2 (en) * | 1989-05-22 | 1992-09-24 | Tandem Computers Incorporated | Sequential parity correction |
| JPH04162300A (ja) * | 1990-10-26 | 1992-06-05 | Nec Corp | 半導体メモリ |
| JPH04248642A (ja) * | 1991-01-18 | 1992-09-04 | Kenneth W Iobst | メモリ集積回路のpimチップおよびその制御方法 |
| US5906656A (en) * | 1991-12-26 | 1999-05-25 | International Business Machines Corporation | Method and system for providing actions by way of electronic distributions |
| US5452429A (en) * | 1993-11-17 | 1995-09-19 | International Business Machines Corporation | Error correction code on add-on cards for writing portions of data words |
| US5488691A (en) * | 1993-11-17 | 1996-01-30 | International Business Machines Corporation | Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes |
| DE69421925T2 (de) * | 1994-09-30 | 2000-03-16 | Stmicroelectronics S.R.L. | Speichergerät mit Fehlerdetektion und -korrektur und Verfahren zum Schreiben und Löschen des Speichergeräts |
| EP0766174B1 (de) * | 1995-09-29 | 2002-05-22 | STMicroelectronics S.r.l. | Speicheranordnung mit verbessertem Ergebnis und verbesserter Zuverlässigkeit |
| US5857069A (en) * | 1996-12-30 | 1999-01-05 | Lucent Technologies Inc. | Technique for recovering defective memory |
| JP3177207B2 (ja) | 1998-01-27 | 2001-06-18 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | リフレッシュ間隔制御装置及び方法、並びにコンピュータ |
| US8250295B2 (en) | 2004-01-05 | 2012-08-21 | Smart Modular Technologies, Inc. | Multi-rank memory module that emulates a memory module having a different number of ranks |
| US7289386B2 (en) | 2004-03-05 | 2007-10-30 | Netlist, Inc. | Memory module decoder |
| US7916574B1 (en) | 2004-03-05 | 2011-03-29 | Netlist, Inc. | Circuit providing load isolation and memory domain translation for memory module |
| US7490283B2 (en) | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
| EP1635261B1 (de) * | 2004-09-10 | 2008-06-11 | STMicroelectronics S.r.l. | Speicher mit eingebauter Fehlerkorrekturkode-Einrichtung |
| US7120051B2 (en) | 2004-12-14 | 2006-10-10 | Sandisk Corporation | Pipelined programming of non-volatile memories using early data |
| US7409473B2 (en) | 2004-12-21 | 2008-08-05 | Sandisk Corporation | Off-chip data relocation |
| US7849381B2 (en) * | 2004-12-21 | 2010-12-07 | Sandisk Corporation | Method for copying data in reprogrammable non-volatile memory |
| JP2009181425A (ja) * | 2008-01-31 | 2009-08-13 | Nec Corp | メモリモジュール |
| US8516185B2 (en) | 2009-07-16 | 2013-08-20 | Netlist, Inc. | System and method utilizing distributed byte-wise buffers on a memory module |
| US8787060B2 (en) | 2010-11-03 | 2014-07-22 | Netlist, Inc. | Method and apparatus for optimizing driver load in a memory package |
| US8154901B1 (en) | 2008-04-14 | 2012-04-10 | Netlist, Inc. | Circuit providing load isolation and noise reduction |
| US9128632B2 (en) | 2009-07-16 | 2015-09-08 | Netlist, Inc. | Memory module with distributed data buffers and method of operation |
| EP2936496B1 (de) * | 2012-12-21 | 2018-11-28 | Hewlett-Packard Enterprise Development LP | Speichermodul mit fehlerkorrekturlogik |
| KR20160038034A (ko) | 2013-07-27 | 2016-04-06 | 넷리스트 인코포레이티드 | 로컬 동기화를 갖는 메모리 모듈 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2357168A1 (de) * | 1972-11-15 | 1974-05-22 | Honeywell Inf Systems | Speichermodul fuer eine datenverarbeitungseinheit |
| US4045779A (en) * | 1976-03-15 | 1977-08-30 | Xerox Corporation | Self-correcting memory circuit |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5232544B2 (de) * | 1971-12-07 | 1977-08-22 | ||
| US3814922A (en) * | 1972-12-01 | 1974-06-04 | Honeywell Inf Systems | Availability and diagnostic apparatus for memory modules |
| JPS5339293B2 (de) * | 1974-12-26 | 1978-10-20 | ||
| US3949208A (en) * | 1974-12-31 | 1976-04-06 | International Business Machines Corporation | Apparatus for detecting and correcting errors in an encoded memory word |
| US4077565A (en) * | 1976-09-29 | 1978-03-07 | Honeywell Information Systems Inc. | Error detection and correction locator circuits |
| US4058851A (en) * | 1976-10-18 | 1977-11-15 | Sperry Rand Corporation | Conditional bypass of error correction for dual memory access time selection |
-
1977
- 1977-12-23 IT IT31170/77A patent/IT1089225B/it active
-
1978
- 1978-12-19 DE DE19782854748 patent/DE2854748A1/de not_active Withdrawn
- 1978-12-21 AU AU42759/78A patent/AU520615B2/en not_active Expired
- 1978-12-21 FR FR7836050A patent/FR2412885B1/fr not_active Expired
- 1978-12-21 JP JP15812778A patent/JPS5496936A/ja active Granted
- 1978-12-21 GB GB7849588A patent/GB2034942B/en not_active Expired
- 1978-12-26 US US05/973,448 patent/US4249253A/en not_active Expired - Lifetime
- 1978-12-27 CA CA318,643A patent/CA1109159A/en not_active Expired
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2357168A1 (de) * | 1972-11-15 | 1974-05-22 | Honeywell Inf Systems | Speichermodul fuer eine datenverarbeitungseinheit |
| US4045779A (en) * | 1976-03-15 | 1977-08-30 | Xerox Corporation | Self-correcting memory circuit |
Non-Patent Citations (1)
| Title |
|---|
| US-Z: Hewlett-Packard Journal August 1976, S. 8-13 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3045609A1 (de) * | 1979-12-03 | 1981-08-27 | Honeywell Information Systems Inc., 02154 Waltham, Mass. | Verfahren und schaltungsanordnung zur abgabe einer korrigierten datengruppe an eine bestimmungsschaltung |
| DE3128740A1 (de) * | 1980-07-25 | 1982-03-18 | Honeywell Information Systems Inc., 02154 Waltham, Mass. | Dynamisches halbleiter-speichersystem |
| DE4040503A1 (de) * | 1990-12-11 | 1992-06-25 | Honda Motor Co Ltd | Nur-lese-speichervorrichtung |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2412885B1 (fr) | 1986-03-14 |
| GB2034942B (en) | 1982-06-16 |
| JPS6321223B2 (de) | 1988-05-06 |
| AU520615B2 (en) | 1982-02-11 |
| CA1109159A (en) | 1981-09-15 |
| AU4275978A (en) | 1979-06-28 |
| JPS5496936A (en) | 1979-07-31 |
| GB2034942A (en) | 1980-06-11 |
| IT1089225B (it) | 1985-06-18 |
| US4249253A (en) | 1981-02-03 |
| FR2412885A1 (fr) | 1979-07-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2854748A1 (de) | Speichereinrichtung | |
| DE2523414C3 (de) | Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen | |
| DE3125048C2 (de) | ||
| EP0038947B1 (de) | Programmierbare logische Anordnung | |
| DE2328869C2 (de) | Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems | |
| DE2061854C3 (de) | Speicher aus Schieberegistern | |
| DE2619159C2 (de) | Fehlererkennungs- und Korrektureinrichtung | |
| DE2921387C2 (de) | Verfahren zum Austauschen von Informationen zwischen einer Datenverarbeitungsanlage und einem Magnetplattenspeicher | |
| DE3853206T2 (de) | Verfahren und gerät zur byteschreibfehlerkodierung. | |
| DE2916710C2 (de) | ||
| DE3128740C2 (de) | ||
| DE2132565C3 (de) | Umsetzer | |
| DE2741886A1 (de) | Datenuebertragungseinrichtung | |
| DE3603926A1 (de) | Halbleiter-speicherelement | |
| DE2225841C3 (de) | Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers | |
| DE2442191A1 (de) | Verfahren und anordnung zur fehlerortsbestimmung in einem arbeitsspeicher | |
| DE2421112A1 (de) | Speicheranordnung | |
| DE3209679C2 (de) | ||
| DE2555658A1 (de) | Verfahren und einrichtung zur fehlerdiagnose in einer datenverarbeitungsanlage | |
| DE2357168C2 (de) | Schaltungsanordnung für einen Speichermodul | |
| DE1901036A1 (de) | Anordnung fuer die wiederholte Ausfuehrung fehlerhaft ausgefuehrter Funktionen | |
| DE1249926B (de) | Einrichtung zum Umadressieren fehlerhafter Speicherstellen eines beliebig zuganglichen Hauptspeichers in einer Datenverarbeitungsanlage | |
| DE2157829C2 (de) | Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern | |
| DE3045609C2 (de) | ||
| DE112004001843T5 (de) | System und Verfahren zum automatischen Erkennen von Softfehlern in Latches einer integrierten Schaltung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8110 | Request for examination paragraph 44 | ||
| 8125 | Change of the main classification |
Ipc: G11C 29/00 |
|
| 8130 | Withdrawal |