DE2004934B2 - MEMORY ARRANGEMENT WITH CIRCUITS FOR ERROR DETECTION AND ERROR CORRECTION - Google Patents

MEMORY ARRANGEMENT WITH CIRCUITS FOR ERROR DETECTION AND ERROR CORRECTION

Info

Publication number
DE2004934B2
DE2004934B2 DE19702004934 DE2004934A DE2004934B2 DE 2004934 B2 DE2004934 B2 DE 2004934B2 DE 19702004934 DE19702004934 DE 19702004934 DE 2004934 A DE2004934 A DE 2004934A DE 2004934 B2 DE2004934 B2 DE 2004934B2
Authority
DE
Germany
Prior art keywords
memory
bits
error correction
word
arrangement according
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
DE19702004934
Other languages
German (de)
Other versions
DE2004934A1 (en
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 filed Critical
Publication of DE2004934A1 publication Critical patent/DE2004934A1/de
Publication of DE2004934B2 publication Critical patent/DE2004934B2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words

Description

Die Erfindung betrifft eine Speicheranordnung mit haltungen zur Fehlererkennung und Fehlerkorrektur r im Speicher gespeicherten Informationen durchThe invention relates to a memory arrangement with settings for error detection and correction r information stored in memory Aufteilung des Speichers in Gruppen von Speichermoduln, die Daten- bzw. Fehlerkorrekturcodebits speichern, nach dem Oberbegriff des Anspruchs 1.Division of the memory into groups of memory modules which store data or error correction code bits, according to the preamble of claim 1.

Speicheranordnungen, insbesondere Matrixspeicher aus Ferritkernen oder aus integrierten Halbleiterschaltungen, werden für die modernen Datenverarbeitungsanlagen in einem automatischen Herstellungsverfahren erzeugt. Obwohl insbesondere an die Vorrichtungen zur Herstellung dieser Speichermatrizen sehr hohe Anfor-Memory arrangements, in particular matrix memories made from ferrite cores or from integrated semiconductor circuits, are used for modern data processing systems in an automatic manufacturing process generated. Although very high demands are made on the devices for the production of these memory matrices in particular

derungen gestellt werden, ist es nicht zu vermeiden, daß in einem Matrixspeicher mit mehreren Millionen Bits Speicherkapazität, d. h. mehreren Millionen Einzelbausteinen, fehlerhafte bzw. schadhafte Speicherstellen auftreten. Außerdem ist es möglich, daß nach längeremchanges are made, it is unavoidable that in a matrix memory with several million bits Storage capacity, d. H. several million individual components, faulty or damaged memory locations appear. It is also possible that after a long time Betrieb eines derartigen Speichers verschiedene Speicherzellen ausfallen. Da jedoch ein Speicher für eine Datenverarbeitungsanlage fehlerfrei sein muß, sind für die einzelnen Speicherarten verschiedene Möglichkeiten bekanntgeworden, um die schadhaften StellenOperation of such a memory different Memory cells fail. However, since a memory for a data processing system must be error-free, are For the individual memory types, various options have become known to repair the damaged areas innerhalb des Speichers festzustellen und zu kennzeichnen bzw. durch andere nicht schadhafte Speicherstellen zu ersetzen. Außerdem ist es bekannt, bei Speichern innerhalb eines gespeicherten Wortes Fehler festzustellen und automatisch durch Anwendung eines Fehlerkor-to be determined and marked within the memory or by other non-defective memory locations to replace. In addition, it is known to detect errors within a stored word when storing and automatically by using an error correction rekturcodes in einem beschränkten Umfange zu korrigieren.correct correction codes to a limited extent.

Außerdem hat man bei Matrixspeichern mit Magnetkernen versucht, die schadhaften Speicherstellen dadurch zu ersetzen, die man von vornherein bei derIn addition, in the case of matrix memories with magnetic cores, attempts have been made to replace the defective memory locations that were used in the Herstellung mehr Wortleitungen -nit Speicherzellen vorgesehen hat, als eigentlich für die gewünschte Speicherkapazität erforderlich sind. Tritt nun an einet Speicherstelle in einer Wortleitung ein Fehler auf, dann wird die gesamte Wortleitung unwirksam gemacht undProduction of more word lines -nit memory cells provided than actually intended for the desired Storage capacity are required. If an error now occurs at a memory location in a word line, then the entire word line is made ineffective and eine der redundanten Leitungen an deren Stelle angesteuert. Diese Art der Kompensation von schadhaften Speicherzellen innerhalb eines Matrixspeichers hai jedoch den großen Nachteil, das ganze Zellengruppen im Speicher redundant sind, die den Preis des Speichersone of the redundant lines in its place controlled. This type of compensation for defective memory cells within a matrix memory hai However, the major disadvantage that entire cell groups in the memory are redundant, which increases the price of the memory wesentlich erhöhen. Darüber hinaus ist es bei einem derartig organischen Speicher nicht möglich, einzelne schadhafte Bitstellen auf mehreren Wortleitunger festzustellen und zu korrigieren, da nur eine bestimmte begrenzte Anzahl von redundanten Wortleitungerincrease significantly. In addition, it is not possible with such an organic memory, individual Identify and correct defective bit positions on several word lines, as only a certain one limited number of redundant word lines eingebaut werden kann, um den Preis eines derartig organisierten Speichers noch in tragbaren Grenzen zt halten.Can be built in at the price of such a one Organized storage can still be kept within acceptable limits.

Durch die amerikanische Patentschrift 32 22 653 isi eine Schaltungsanordnung bekanntgeworden, die durchBy the American patent specification 32 22 653 isi a circuit arrangement became known by ein zusätzliches Fehlermarkierungsbit gekennzeichnet« Speicherstellen innerhalb des Speichers über eir Steuernetzwerk automatisch ersetzt Wird beirr Speicheranruf z. B. eine schadhafte SpeicherstelU angesteuert, dann wird über eine Vergleichsschaltungan additional error marking bit marked " Storage locations within the memory are automatically replaced via a control network Memory call z. B. a defective SpeicherstelU is controlled, then a comparison circuit bewirkt, daß eine Alternativadresse, die eine freie, nich schadhafte Speicherzelle bezeichnet, automatisch ange steuert wird. Dieses zusätzliche Steuernetzwerk is jedoch technisch äußerst kompliziert und aufwendig und benötigt zur Fehlerkompensation außerdem relativcauses an alternative address, which designates a free, non-defective memory cell, to be automatically assigned is controlled. However, this additional control network is technically extremely complicated and expensive and also requires relative to compensate for errors viel Zeit.much time.

Weiterhin ist durch das ältere Patent (DT-Pi 15 24 788) eine Schaltungsanordnung zur Kompensa tion von schadhaften Speicherzellen vorgeschlagei worden, die dadurch charakterisiert ist, daß jedenFurthermore, the older patent (DT-Pi 15 24 788) provides a circuit arrangement for Kompensa tion of defective storage cells, which is characterized by the fact that each

Datenblock ein Überlaufblock im Speicher zugeordne ist, das die Ansteuerung und die Zählung de Speicherblocks bekannterweise von einem Blockadres senzähter, der die jeweilige AnfangsblockadressiData block is assigned to an overflow block in the memory that controls and counts de As is known, memory blocks are sent by a block address that contains the respective header address

beinhaltet und einem Blockzähler, der die übertragenen Datenblöcke zählt, sowie durch einen Wortadressenzähler, der die Wortzellen innerhalb eines Blockes durch Weiterschalten um eins bestimmt und einen Wortzähler, der die übertragenen Worte zählt, erfolgt, und daß eine Schaltung bei Vorliegen einer schadhaften Wortzelle innerhalb eines Blocks ein Signal erzeugt, das die Weiterschaltung des Wortzählers zu diesem Zeitpunkt verhindert, wodurch nach Aufruf aller Wortzellen in einem Block der Wortzähler nicht auf dem Sollwert steht und über vorhandene, bekannte Adressierschaltungen die Übertragung der restlichen Worte eines Datenblockes in einen zugeordneten Überlaufblock steuert. Außerdem besteht nach dem älteren Patent (DT-PS 15 24 791) ein weiterer Vorschlag darin, daß jede Wortleitung des Hauptspeichers in eine Vielzahl Unterwortregister unterteilt ist, daß der als Ersalzadreßspeicher ausgebildete Festwertspeicher einen Fehlererkennzeichenspeicher enthält, daß der Festwertspeicher über eine Fehlerkorrekturschaltung sowie über Steuerschaltungen mit einem Ersatzspeicher verbunden ist, der wie der Hauptspeicher in Unterwortregister unterteilt ist, die anstelle der im Hauptspeicher defekten und zu ersetzenden Unterwortregister ansteuerbar sind.contains and a block counter, which counts the transmitted data blocks, as well as a word address counter, which determines the word cells within a block by advancing by one and a word counter, that counts the transmitted words, and that a switch is made in the presence of a defective word cell A signal is generated within a block that the word counter is switched on at this point in time prevents the word counter from reaching the nominal value after calling all word cells in a block stands and the transfer of the remaining words of one via existing, known addressing circuits Controls data block in an assigned overflow block. In addition, according to the earlier patent (DT-PS 15 24 791) another suggestion is that each word line of the main memory in a plurality Sub-word register is subdivided so that the read-only memory designed as an additional address memory has a Error identifier memory contains that the read-only memory via an error correction circuit and via Control circuits are connected to a spare memory which, like the main memory, is in sub-word registers is subdivided, which can be controlled instead of the defective sub-word register in the main memory that needs to be replaced.

Der Schaltungsaufwand für die beiden letztgenannten Schaltungsanordnungen, die nur eine schadhafte Speicherzelle in einem Speicher kompensieren können, ist im Verhältnis zur Kompensationsmöglichkeit äußerst hoch. Außerdem wurde durch das ältere Patent (DT-PD 15 49 468) vorgeschlagen, daß die Speicheranordnung aus m + π Teilspeichern als Grund-Arbeitsspeichern besteht, wobei m+n der Bitanzahl eines Wortes entspricht, das außer den m Informationsbits auch π Bits zur Fehlererkennung und -korrektur enthält, daß jeder Teilspeicher ein Adressenregister, Ansteuerschaltungen sowie ein Datenregister aufweist und daß die Eingänge aller Adressenregister parallel an die Ausgänge eines von der Zentraleinheit der Datenverarbeitungsanlage gespeisten Adressenregisters angeschlossen sind, derart, daß der gleiche Speicherplatz in allem m+n Teilspeichern adressiert wird.The circuit complexity for the two last-mentioned circuit arrangements, which can only compensate for a defective memory cell in a memory, is extremely high in relation to the compensation possibility. In addition, it was proposed by the earlier patent (DT-PD 15 49 468) that the memory arrangement consists of m + π sub-memories as basic working memories, where m + n corresponds to the number of bits of a word which, in addition to the m information bits, also contains π bits for error detection and correction includes that each sub-memory has an address register, control circuits and a data register and that the inputs of all address registers are connected in parallel to the outputs of an address register fed by the central processing unit of the data processing system, so that the same memory location in all m + n sub-memories is addressed will.

Dadurch ist es zwar möglich, daß ohne Unterbrechung so viele Teilspeicher gleichzeitig ausfallen können, wie Fehler durch die Fehlerkorrekturschaltung korrigiert werden können, jedoch wird diese Korrekturmöglichkeit durch einen sehr hohen technischen Aufwand ermöglicht, der sich aus der Zuordnung eines eigenen Adreßregisters, einer eigenen Ansteuerschaltung und eines eigenen Datenregisters für jeden Teilspeicher ergibt.As a result, it is possible that so many partial memories fail at the same time without interruption how errors can be corrected by the error correction circuit, however, this correction possibility made possible by a very high technical effort, which results from the assignment of a own address register, own control circuit and own data register for each Partial memory results.

Der Erfindung liegt die Aufgabe zugrunde, eine Speicheranordnung mit Fehlererkennung und automatischer Fehlerkorrektur zu schaffen, die durch Anwendung von Fehlerkorrekturcodebits eine variable automatische Fehlerkorrektur der gelesenen Speicherworte mit geringem technischem Aufwand ermöglicht.The invention is based on the object of a memory arrangement with error detection and automatic To create error correction, a variable automatic by using error correction code bits Enables error correction of the memory words read with little technical effort.

Die erfindungsgemäße Lösung der Aufgabe besteht im Kennzeichen des Patentanspruchs 1.The solution to the problem according to the invention consists in the characterizing part of claim 1.

Der Vorteil der erfindungsgemäßen Speicheranordnung mit Schaltungen zur Fehlererkennung und Fehlerkorrektur besteht darin, daß ihre Kapazität ohne weiteres um ein Vielfaches erhöht werden kann, ohne daß ein besonderer technischer Aufwand bzw. eine Änderung des Speicherkonzepts erforderlich ist. Die hohe Flexibilität des automatischen Fehlerkorrektursystems wird außerdem mit einem sehr geringen technischen Aufwand im Vergleich zu den bekannten Korrektursystemen für Speicher und zu den bekannten Kompensationsschaltungen für schadhafte Bits innerhalb eines Speicherwortes erzielt.The advantage of the memory arrangement according to the invention with circuits for error detection and Error correction consists in the fact that its capacity can easily be increased many times over without that a special technical effort or a change in the storage concept is required. the high flexibility of the automatic error correction system is also achieved with a very low technical effort compared to the known correction systems for memory and to the known Compensation circuits achieved for bad bits within a memory word.

Die Erfindung wird nun anhand von in den F i g. 1 bis 3 dargestellten Ausführungsbeispielen näher beschrieben. The invention will now be described with reference to FIGS. 1 to 3 illustrated embodiments described in more detail.

Der in F i g. 1 gezeigte Datenspeicher ist in zwei Speiciierteile oder zwei 'Speichereinheiten 1 und 2 aufgeteilt. Die Kapazität der Speichereinheit 1 beträgt in diesem Beispiel 8000 (8 k) Speicherwörter von je 72 ίο Bits, und die Speicherkapazität der Speichereinheit 2 beträgt 8000 (8 k) Speicherwörter mit je 22 Bits.The in F i g. The data memory shown in FIG. 1 is in two storage parts or two storage units 1 and 2 divided up. The capacity of the memory unit 1 is 8000 (8 k) memory words of 72 each in this example ίο bits, and the storage capacity of the storage unit 2 is 8000 (8 k) memory words with 22 bits each.

Die Speichereinheit 1 enthält 72 Speichermoduln, von dem jedes 8 k-Bits speichern kann. Die SpeichereinheitThe memory unit 1 contains 72 memory modules, each of which can store 8 k bits. The storage unit

1 ist außerdem so organisiert, daß jedes Speichermodul 1 Bit von jedem in der Speichereinheit 1 gespeicherten Speicherwort enthält. Jedes Speicherwort enthält 64 Datenbits und 8 Fehlerkorrekturcodebits, um eine Einzelfehlerkorrektur zu ermöglichen. Die Speichereinheit 2 besteht aus 22 Speichermoduln, wobei wiederum jedes Speichermodul 1 Bit von jedem Wort speichert. Jedes Wort in der Speichereinheit 2 besteht aus 16 Datenbits und 6 Fehlerkorrekturcodebits.
Adressiert werden die beiden Speichereinheiten 1 und
1 is also organized in such a way that each memory module contains 1 bit of each memory word stored in the memory unit 1. Each memory word contains 64 data bits and 8 error correction code bits to enable individual error correction. The memory unit 2 consists of 22 memory modules, each memory module in turn storing 1 bit of each word. Each word in the memory unit 2 consists of 16 data bits and 6 error correction code bits.
The two memory units 1 and are addressed

2 in Bytesdarstellung. Die Adressen der Bytes in jedem Wort sind benachbart oder anders ausgedrückt, sie sind aneinandergrenzend. Das Speicheradreßregister 3, das 32 Bits groß ist, speichert die Adresse von dem Byte, das am Speicherausgang 4 gewünscht ist. Die Bits 16 bis 28 vom Speicheradreßregister 3 werden verwendet, um Zugriff zu einem Speicherwort der Speichereinheit 1 zu erlangen und die Bits 18 bis 30 werden verwendet, um Zugriff zu einem Speicherwort des Speicherteils 2 zu erlangen Die Bits 16 und 17 sind beide Null, wenn die Speichereinheit 2 adressiert wird. Die Bits 29,30 und 312 in byte representation. The addresses of the bytes in each word are contiguous, or in other words, they are contiguous. The memory address register 3, which is 32 bits in size, stores the address of the byte that at memory output 4 is required. Bits 16 through 28 of memory address register 3 are used to To gain access to a memory word of memory unit 1 and bits 18 to 30 are used to To gain access to a memory word of the memory part 2 Bits 16 and 17 are both zero if the Memory unit 2 is addressed. Bits 29,30 and 31

vom Speicheradreßregister 3 werden dazu verwendet, um 1 von 8 Bytes auszuwählen, wenn das Wort von der Speichereinheit 1 geholt wird und das Bit 31 wird dazu verwendet, um eins von zwei Bytes auszuwählen, wenn das Wort von der Speichereinheit 2 geholt werden soll.from memory address register 3 are used to select 1 of 8 bytes when the word is from the Memory unit 1 is fetched and bit 31 is used to select one of two bytes when the word is to be fetched from the memory unit 2.

Die höherstelligen Bits 0 bis 15 im Speicheradreßregister 3 wählen entweder die Speichereinheit 1 oder die Speichereinheit 2 aus. Die höchste Kombination der BitsThe higher-order bits 0 to 15 in the memory address register 3 select either the memory unit 1 or the Storage unit 2 off. The highest combination of bits

0 bis 15 im Speicheradreßregister wählen die Speichereinheit 2, Nicht alle der möglichen Kombinationen der Bits 0 bis 15, die im vorliegenden Auslfiihmngsbeispiel verwendet werden, sind zur Auswahl der Speichereinheiten 1 und 2 erforderlich, so daß die restlichen Kombinationen bei einer gewünschten Erhöhung der Speicherkapazität verwendet werden können.0 to 15 in the memory address register select the memory unit 2, Not all of the possible combinations of bits 0 to 15 in the present exemplary embodiment are used, are required to select memory units 1 and 2, so that the remaining Combinations can be used with a desired increase in storage capacity.

Die 72 Bits von jedem Wort, das aus dem SpeicherteilThe 72 bits of each word that came out of the memory section

1 geholt wird, werden über das EingangPtorglied 5 in das 72-Bit-Register 6 eingetragen. Die in dem Register 6 gespeicherten Bits werden dann in eine nachgeschaltete Fehlerkorrekturschaltung 7 gegeben, die Doppelfehler feststellen kann und die Positionen im Register 6 anzeigen kann, in denen Einzelfehler sind. Wenn ein Einzelfehler auftritt, zeigt der Fehlerkorrekturschaltkreis 7 die Position des Einzelfehlers im Register 6 durch Erzeugen einer Fehlerbitanzeige an, die eine entspre-1 is fetched via the input gate element 5 into the 72-bit register 6 entered. The bits stored in the register 6 are then switched to a downstream Error correction circuit 7 given, which can detect double errors and the positions in register 6 can show in which there are individual errors. When a single error occurs, the error correction circuit shows 7 shows the position of the individual error in register 6 by generating an error bit display that shows a corresponding

chend der 64 Umkehrschaltungen steuert Jede der 64 Unikehrschaltungen 8 läßt das Ausgangssignal einer Position im Register unverändert zu der entsprechenden Torschaltung 9 passieren, wenn kein Fehler vorliegt. Liegt jedoch ein Fehler in einer Position vor, dann wirdAccording to the 64 reverse circuits, each of the 64 Unikehrschaltungen 8 leaves the output of a Pass position in the register unchanged to the corresponding gate circuit 9 if there is no error. However, if there is an error in one position, then

das Ausgangssignal in der entsprechenden Position invertiert, wodurch der Fehler korrigiert wird. Das ausgelesene Wort verbleibt so lange im Register 6, bis ein anderes Wort das Eingangstorglied 5 passiert. Dasthe output signal is inverted in the corresponding position, whereby the error is corrected. The word read out remains in register 6 until another word passes input gate element 5. That

>5> 5

2020th

Ausgangstorglied 9 gibt das erforderliche Byte an den Ausgang 4 unter Steuerung der Byteauswahlbits wie vorher beschrieben. Das für das ausgewählte Byte verwendete Prüfbit wird durch einen Prüfgenerator 10 erzeugt, der auf konventionelle Art mit der Fehlerkorrekturschaltung 7 verbunden ist. Wenn ein 22-Bitwort von der Speichereinheit 2 kommt, werden die Datenbits 0 bis 15 zu den Positionen 0 bis 15 des Registers 6 und die Korrekturcodebits 16 bis 21 zu den Positionen 64 bis 69 des Registers 6 gegeben. Jeder der nicht verwendeten Datenbitpositionen 16 bis 63 wird auf Null gesetzt und die Fehlerkorrekturcodepositionen 70 und 71 des Registers 6 werden auf Eins gesetzt durch die Torglieder 5, an denen keine Eingangssignale liegen. Der Wert, auf den eine unverwendete Position im Register 6 gesetzt wird, wird durch den verwendeten Fehlerkorrektionscode bestimmt. Die Operation läuft dann so ab, als ob das Wort von der Speichereinheit 1 ausgelesen wird, ausgenommen, daß nur die Bits 0 bis 15 des Registers 6 bedeutungsvolle Daten enthalten.Output gate element 9 gives the required byte to output 4 under control of the byte selection bits such as previously described. The check bit used for the selected byte is generated by a check generator 10 which is connected to the error correction circuit 7 in a conventional manner. If a 22-bit word comes from memory unit 2, data bits 0 to 15 are assigned to positions 0 to 15 of register 6 and the correction code bits 16 to 21 are given to the positions 64 to 69 of the register 6. Any of the not used Data bit positions 16 to 63 are set to zero and the error correction code positions 70 and 71 of the Registers 6 are set to one by the gate elements 5 at which there are no input signals. The value to which an unused position in register 6 is set is determined by the used Error correction code determined. The operation then proceeds as if the word were transferred from memory unit 1 is read, except that only bits 0 to 15 of register 6 contain meaningful data.

Wenn ein Doppelfehler durch die Fehlerkorrekturschaltung 7 erkannt wird, wird ein unkorrigierbares Fehlersignal erzeugt. Dieses Signal kann veranlassen, daß der Zugriff zu der entsprechenden Speicherzelle nochmals wiederholt wird. Um die Arbeitsgeschwindigkeit zu erhöhen, kann ein Byte auf dem Speicherausgang plaziert werden, bevor die Fehlerkorrekturschaltung 7 die Fehlererkennung abgeschlossen hat. Wenn ein korrigierbarer Fehler erkannt wird, kann ein korrigierbares Fehlersignal erzeugt werden, welches verursa- chen kann, daß das entsprechende Byte auf dem Speicherausgang ignoriert wird und daß das korrigierte Byte, das danach zu dem Speicherausgang übertragen wird, akzeptiert wird.If a double error is detected by the error correction circuit 7, it becomes an uncorrectable one Error signal generated. This signal can cause access to the corresponding memory cell is repeated again. In order to increase the working speed, a byte can be placed on the memory output be placed before the error correction circuit 7 has completed the error detection. When a correctable error is detected, a correctable error signal can be generated which causes It is possible that the corresponding byte on the memory output is ignored and that the corrected Byte that is then transferred to the memory output is accepted.

Acht Fehlerkorrekturcodebytes können für jedes Wort, das in der Speichereinheit 2 gespeichert ist, verwendet werden. Dies erfordert zwei zusätzliche Moduln für die Speichereinheit 2. Fig.2 zeigt einen Datenspeicher ähnlich dem nach Fig. 1, mit der Ausnahme, daß die Speichereinheit 2 aus 39 Moduln, 32 für die Datenspeicherung und 7 für die Fehlerkorrekturcodebits, besteht. Die Speicherkapazität der SpeieberEight error correction code bytes can be used for each word stored in memory unit 2 be used. This requires two additional modules for the memory unit 2. Figure 2 shows one Data memory similar to that of FIG. 1, with the exception that the memory unit 2 consists of 39 modules, 32 for data storage and 7 for the error correction code bits. The storage capacity of the Speieber einheit 2 ist 32 k-Datenbytes. Die Arbeitsweise ist dieselbe wie bereits in Verbindung mit dem in F i g. 1 gezeigten Speicher beschrieben, mit der Ausnahme, daß wenn das Wort im Register 6 von der Speichereinheit 2 geholt wurde, das Register 6 vier bedeutungsvolle Datenbytes enthält. Zwei Byte-Auswahl-Bits 30 und 31 sind erforderlich, um eins von vier Bytes für die Übertragung zum Ausgang auszuwählen.unit 2 is 32 k bytes of data. The mode of operation is the same as in connection with the one in FIG. 1 memory shown, with the exception that when the word in register 6 from memory unit 2 has been fetched, the register 6 contains four meaningful data bytes. Two byte selection bits 30 and 31 are required to select one of four bytes for transmission to the output.

In F i g. 3 ist eine kleinere Speichereinheit gezeigt, in der zwei Bits von jedem Wort in den Speichereinheiten 1 und 2 in den gleichen Modul gespeichert werden. Die Speichereinheit 1 enthält 36 Moduln, von denen jedes 8 k-Bits speichert, um 4 k-Worie von 72 Bits (64 Daten- und 8 Fehlerkorrekturcodebits) speichern zu können, d. h. es ist eine Datenspeicherkapazität von 32 k-Bytes vorhanden. Die Speichereinheit 2 besteht aus 20 gleichen Moduln, um 4 k-Worte von 40 Bits (32 Daten- und 8 Fehlerkorrekturcodebits) zu speichern. Diese entspricht einer Datenbytekapazität von 16 k. Die Arbeitsweise des Speichers nach F i g. 3 ist genauso wie die Arbeitsweise der Speicher, die in den F i g. 1 und 2 dargestellt sind, mit der Ausnahme, daß in diesem Beispiel der Ausgang zwei Byte groß ist und die Bits 30 und 31 oder das Bit 31 dazu verwendet werden, um die erforderlichen zwei Bytes auf den Ausgang zu geben. Eine Doppelfehlerkorrektur muß vorgenommen werden, wenn der Speicher mit einem schadhaften oder entfernten Modul weiterarbeiten soll.In Fig. 3, a smaller storage unit is shown in FIG of the two bits of each word in storage units 1 and 2 are stored in the same module. the Storage unit 1 contains 36 modules, each of which stores 8 k-bits to store 4 k-words of 72 bits (64 data and 8 error correction code bits), d. H. it is a data storage capacity of 32 k-bytes available. The memory unit 2 consists of 20 identical modules to store 4 k words of 40 bits (32 data and 8 error correction code bits). This corresponds to a data byte capacity of 16 k. the Operation of the memory according to FIG. 3 is the same as the operation of the memories shown in FIGS. 1 and 2 with the exception that in this example the output is two bytes and bits 30 and 31 or bit 31 can be used to put the required two bytes on the output. A double error correction must be made if the memory with a defective or removed module should continue to work.

Eine erhöhte Speicherkapazität kann erreicht werden, indem eine zusätzliche Speichereinheit oder mehrere zusätzliche Speichereinheiten entsprechend der Speichereinheit 1 in den F i g. 1 und 3 verwendet werden. Kleine Erhöhungen des Speichers können erreicht werden durch eine Einheit, 'wie z. B. die Speichereinheit 2, deren Kapazität ein binärer Bruchteil der Kapazität der Speichereinheit 1 ist. Hat z. B. die Speichereinheit 1 eine Speicherkapazität von 64 k-Bytes, dann sollte die Speichereinheit 2 eine Speicherkapazität von 8 k-, 16 k- oder 32 k-Bytes haben. Die Bits 0 bis 15 im Speicheradreßregister 3 werden verwendet, um die Teilspeichereinheit auszuwählen.Increased storage capacity can be achieved by adding an additional storage unit or several additional storage units corresponding to storage unit 1 in FIGS. 1 and 3 used will. Small increases in memory can be achieved by a unit such as B. the Storage unit 2, the capacity of which is a binary fraction of the capacity of storage unit 1. Has z. B. the Storage unit 1 has a storage capacity of 64 k bytes, then the storage unit 2 should have a storage capacity of 8 k, 16 k or 32 k bytes. Bits 0 to 15 in memory address register 3 are used to select the partial memory unit.

Hierzu 3 Blatt ZeichnungenFor this purpose 3 sheets of drawings

V - V^-V - V ^ -

Claims (8)

Patentansprüche:Patent claims: 1. Speicheranordnung mit Schaltungen zur Fehlererkennung und Fehlerkorrektur der im Speicher gespeicherten Informationen durch Aufteilen des Speichers in Gruppen von Speichermoduln, die Daten- bzw. Fehlerkorrekturcodebits speichern, die am Speicherausgang die Fehlerkorrekturschaltung aufweist, die im Bedarfsfalle fehlerhafte Bits, die in einem Ausgangsregister stehen, korrigiert, dadurch gekennzeichnet, daß der Speicher in einen ersten Teil (1) zur Speicherung von Worten aus /πι Datenbits und n\ Fehlerkorrekturcodebits sowie einen zweiten Teil (2) zur Speicherung von Worten von im Datenbits und /J2 Fehlerkorrekturbits unterteilt ist, wobei m\ größer /712 und n\ größer /72 ist, und den beiden SpeicherteiSen (1 und 2) ein gemeinsames Speicheradreßregister (3) zugeordnet ist.1.Memory arrangement with circuits for error detection and error correction of the information stored in the memory by dividing the memory into groups of memory modules which store data or error correction code bits, which the error correction circuit has at the memory output, which if necessary contains erroneous bits that are in an output register, corrected, characterized in that the memory is divided into a first part (1) for storing words from / πι data bits and n \ error correction code bits and a second part (2) for storing words from the data bits and / J 2 error correction bits, wherein m \ larger / 712 and n \ larger / 72, and a common memory address register (3) is assigned to the two memory elements (1 and 2). 2. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Speicher aus einer Vielzahl von Moduln besteht, wobei jedes Modul ein Bit von jedem Wort in einem der Teile vom Speicher speichert.2. Memory arrangement according to claim 1, characterized in that the memory is made up of a plurality of modules, each module having one bit from each word in one of the parts of memory saves. 3. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Speicher eine Anzahl Speichermoduln enthält, wobei jedes Modul zwei Bits von jedem der Worte in einem der Teile vom Speicher enthält.3. Memory arrangement according to claim 1, characterized in that the memory has a number Memory modules, each module containing two bits of each of the words in one of the parts of Includes memory. 4. Speicheranordnung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß das mit der Fehlerkorrekturschaltung (7) verbundene Ausgangsregister (6) des Speichers mit einer Umkehrschaltung (8) zur Anzeige der Fehlerposition bzw. der Invertierung der fehlerhaften Position bzw. Positionen verbunden ist.4. Memory arrangement according to claims 1 to 3, characterized in that the with the Error correction circuit (7) connected output register (6) of the memory with an inverting circuit (8) for displaying the error position or the Inversion of the incorrect position or positions is connected. 5. Speicheranordnung nach Anspruch 4, dadurch gekennzeichnet, daß bei Eintragung eines Wortes mit /772 + /J2 Bitstellen vom Speicherteil (2) in das Ausgangsregister (6) Eingangstorglieder (5) angeordnet sind, die in jede nicht verwendete Bitposition des Ausgangsregisters (6) ein vorbestimmtes, vom Fehlerkorrekturcode abhängiges Bit zur Ausführung der Fehlerkorrektur einträgt.5. A memory arrangement according to claim 4, characterized in that when a word is entered with / 772 + / J 2 bit positions from the memory part (2) into the output register (6) input gate elements (5) are arranged, which in every unused bit position of the output register ( 6) enters a predetermined bit, which is dependent on the error correction code, for carrying out the error correction. 6. Speicheranordnung nach den Ansprüchen 1 bis6. Memory arrangement according to claims 1 to 5, dadurch gekennzeichnet, daß die im Speicheradreßregister (3) stehenden höchststelligen Bits zur Steuerung des Zugriffs zu einem Speicherwort dienen und die niederstelligen Bits das Byte oder die Bytes vom gelesenen Wort steuern, das an den Ausgang übertragen werden soll.5, characterized in that the most significant bits in the memory address register (3) for Control of access to a memory word are used and the lower-digit bits are the byte or the Control bytes of the read word that is to be transferred to the output. 7. Speicheranordnung nach den Ansprüchen 1 bis7. Memory arrangement according to claims 1 to 6, dadurch gekennzeichnet, daß der Speicher eine Anzahl Speicherpositionen enthält, in denen Worte von /Π2 Datenbits und /72 Fehlerkorrekturcodebits gespeichert sind und in den aer Wert von m in jeder Position verschieden ist6, characterized in that the memory contains a number of memory positions in which words of / Π2 data bits and / 72 error correction code bits are stored and in which the value of m is different in each position 8. Speicheranordnung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß /772 ein binärer Bruchteil von m\ ist8. Memory arrangement according to one of claims 1 to 7, characterized in that / 772 is a binary fraction of m \
DE19702004934 1969-02-05 1970-02-04 MEMORY ARRANGEMENT WITH CIRCUITS FOR ERROR DETECTION AND ERROR CORRECTION Withdrawn DE2004934B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB611469A GB1197418A (en) 1969-02-05 1969-02-05 Data Storage Apparatus

Publications (2)

Publication Number Publication Date
DE2004934A1 DE2004934A1 (en) 1970-08-20
DE2004934B2 true DE2004934B2 (en) 1977-08-25

Family

ID=9808641

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19702004934 Withdrawn DE2004934B2 (en) 1969-02-05 1970-02-04 MEMORY ARRANGEMENT WITH CIRCUITS FOR ERROR DETECTION AND ERROR CORRECTION

Country Status (4)

Country Link
JP (1) JPS4936331B1 (en)
DE (1) DE2004934B2 (en)
FR (1) FR2031150A5 (en)
GB (1) GB1197418A (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3814922A (en) * 1972-12-01 1974-06-04 Honeywell Inf Systems Availability and diagnostic apparatus for memory modules
US3800294A (en) * 1973-06-13 1974-03-26 Ibm System for improving the reliability of systems using dirty memories
US4183096A (en) * 1978-05-25 1980-01-08 Bell Telephone Laboratories, Incorporated Self checking dynamic memory system
US4223382A (en) * 1978-11-30 1980-09-16 Sperry Corporation Closed loop error correct
US4500958A (en) * 1982-04-21 1985-02-19 Digital Equipment Corporation Memory controller with data rotation arrangement
US4785452A (en) * 1986-04-25 1988-11-15 International Business Machines Corporation Error detection using variable field parity checking
US5289477A (en) * 1991-06-06 1994-02-22 International Business Machines Corp. Personal computer wherein ECC and partly error checking can be selectively chosen for memory elements installed in the system, memory elements enabling selective choice of error checking, and method

Also Published As

Publication number Publication date
GB1197418A (en) 1970-07-01
DE2004934A1 (en) 1970-08-20
JPS4936331B1 (en) 1974-09-30
FR2031150A5 (en) 1970-11-13

Similar Documents

Publication Publication Date Title
DE2030760C2 (en) Parity check circuit for a memory circuit
DE2357233C2 (en) Address converter
DE2132565C3 (en) Converter
DE2224389A1 (en) Storage system
DE2456709C2 (en) Circuit arrangement for error detection and correction
DE2364785A1 (en) INTEGRATED SEMI-CONDUCTOR MEMORY WITH DEFECTIVE CELLS
DE3329022C2 (en)
EP0046976A2 (en) Semi-conductor memory made of memory building blocks with redundant memory areas
DE2364254B2 (en) CIRCUIT ARRANGEMENT FOR DATA PROCESSING DEVICES
DE1549468A1 (en) Memory arrangement for a program-controlled data processing system
EP1113362B1 (en) Integrated semiconductor memory with a memory unit for storing addresses of faulty memory cells
DE1901806A1 (en) Circuit arrangement for compensating for defective memory cells in data memories
DE3618136C2 (en)
DE2527062C3 (en) Adaptable address decoder
DE2554502C3 (en) Method and arrangement for addressing a memory
DE1524788A1 (en) Circuit arrangement for the detection and automatic replacement of defective storage locations in data memories
DE3505314A1 (en) Bit pattern converter
DE3148804C2 (en) Device for storing commands
DE2004934B2 (en) MEMORY ARRANGEMENT WITH CIRCUITS FOR ERROR DETECTION AND ERROR CORRECTION
DE2153116C3 (en) Function-monitored information memories, in particular integrated semiconductor memories
EP0036148B1 (en) Hybrid associative memory
DE10062404A1 (en) Faulty memory cell address reduction method compares each detected faulty memory cell address with second fault address for word and/or bit line to be repaired for eliminating duplications
DE2714314C2 (en) Data processing device with a data memory
DE4030629C2 (en) Arrangement for securing control information coupled to the memory entries of a working memory in a multiprocessor system
EP0262636B1 (en) Circuit arrangement for selecting and/or aligning data units in data processors

Legal Events

Date Code Title Description
8239 Disposal/non-payment of the annual fee