[go: up one dir, main page]

DE2854748A1 - Speichereinrichtung - Google Patents

Speichereinrichtung

Info

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
Application number
DE19782854748
Other languages
English (en)
Inventor
Claudio Gentili
Calogero Dipl Ing Mantellina
Alessandro Dipl Ing Scotti
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2854748A1 publication Critical patent/DE2854748A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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/1052Bypassing 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 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 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
Falle eines Fehlers hinsichtlich des Bits 1 nehmen beispielsweise
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)

  1. HONEYWELL INFORMATION SYSTEMS 18. Dezember 1978
    ITALIA S.p.A. 5600177 Ge
    C a 1 u s ο
    Speichereinrichtung
    Patentansprü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 INSPBCTED
    einen 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. 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. 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. 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. 5. Speichereinrichtung nach Anspruch 4, gekennzeichnet durch ein Fehlerregister zur Speicherung eines Fehlersignales beim jeweiligen Auftritt desselben und des gleichzeitig auftretenden Fehlersyndroms.
  6. 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
DE19782854748 1977-12-23 1978-12-19 Speichereinrichtung Withdrawn DE2854748A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
US-Z: Hewlett-Packard Journal August 1976, S. 8-13 *

Cited By (3)

* Cited by examiner, † Cited by third party
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