DE2004934A1 - - Google Patents

Info

Publication number
DE2004934A1
DE2004934A1 DE19702004934 DE2004934A DE2004934A1 DE 2004934 A1 DE2004934 A1 DE 2004934A1 DE 19702004934 DE19702004934 DE 19702004934 DE 2004934 A DE2004934 A DE 2004934A DE 2004934 A1 DE2004934 A1 DE 2004934A1
Authority
DE
Germany
Prior art keywords
memory
bits
error correction
word
register
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
DE2004934B2 (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

IBM Deutschland Internationale Büro-Maschinen Gesellschaft mbH IBM Germany Internationale Büro-Maschinen Gesellschaft mbH

Böblingen, 2. Februar 1970 ru/duBoeblingen, February 2, 1970 ru / du

Anmelderin sApplicant s

International Business Machines Corporation, Armonk, N. Y. 105t>4International Business Machines Corporation, Armonk, N.Y. 105t> 4

Amtl. Aktenzeichen;Official File number;

Neu anmeldun gNew registration

Aktenzeichen der Anmelderin:Applicant's file number:

Docket UK 968 020Docket UK 968 020

Speicheranordnung mit Fehlererkennung und FehlerkorrekturMemory arrangement with error detection and correction

Die Erfindung betrifft eine Speicheranordnung mit Mitteln zur Fehlererkennung und Fehlerkorrektur der im Speicher gespeicherten Informationen durch Aufteilung des Speichers in Gruppen von Speichermodulen, die Daten- bzw. Fehlerkorrekturcodebits speichern. The invention relates to a memory arrangement with means for Error detection and correction of those stored in the memory Information by dividing the memory into groups of Memory modules that store data or error correction code bits.

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 Anforderungen gestellt werden, 1st es nicht zu vermeiden, daß in einem Matrixspeicher mit mehreren Millionen Bits Speicherkapazität, d.h.Memory arrangements, in particular matrix memories made from ferrite cores or from semiconductor integrated circuits, are used for the modern Data processing systems in an automatic manufacturing process generated. Although very high demands are placed on the devices for producing these memory matrices in particular it is unavoidable that in a matrix memory with several million bits of storage capacity, i.

BADORtGlNALBADORtGlNAL

009834/1702009834/1702

mehreren Millionen Linzelbausteinen, fehlerhafte bzw. schadhafte Speicherstellen auftreten. Außerdem ist es möglich, daß nach längerem 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 bekannt geaworden, uia die schad-several million Linzel components, faulty or damaged Memory locations occur. It is also possible that after a long period of operation of such a memory, different memory cells fail. However, since a memory for a data processing system must be error-free, the individual types of memory various possibilities have become known to uia the damaging

^ haften Stellen innerhalb des Speichers festzustellen und zu kenn-W Determine ^ adhere locations within the memory and to tag W

zeichnen 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 Fehlerkorrekturcodes in einem beschränkten Umfange zu korrigieren.draw or replace it with other non-damaged memory locations. It is also known when saving within a stored word to detect errors and automatically by applying an error correction code to a limited extent to correct.

Außerdem hat man bei Matrixspeichern mit Magnetkernen versucht, die schadhaften Speicherstellen dadurch zu ersetzen, daß man von vornherein bei der Herstellung mehr Wortleitungen mit Speicherzellen vorgesehen hat, als eigentlich für die gewünschte Speicherkapazität erforderlich sind. Tritt nun an einer Speicherstelle in einer Wortleitung ein Fehler auf, dann wird die gesamte Wortleitung unwirksam gemacht und eine der redundanten Leitungen an deren Stelle angesteuert. Diese Art der Kompensation von schadhaften Speicherzellen innerhalb eines Matrixspeichers hat jedoch den großen Nachteil, daß ganze Zellengruppen im Speicher redundant sind, die den Preis des Speichers wesentlich erhöhen. Darüber- hinaus ist es bei einem derartig organisierten Speicher nicht möglich einzelne schadhafte Bitstellen auf mehreren Wortleitungen In addition, in the case of matrix memories with magnetic cores, attempts have been made to replace the defective memory locations by providing more word lines with memory cells from the outset than are actually required for the desired memory capacity. If an error now occurs at a memory location in a word line, then the entire word line is rendered ineffective and one of the redundant lines is activated in its place. However, this type of compensation for defective memory cells within a matrix memory has the great disadvantage that entire cell groups in the memory are redundant, which increases the price of the memory considerably. In addition, with a memory organized in this way it is not possible to have individual defective bit positions on a plurality of word lines

Docket BK 968 020 009834/1702 BADDocket BK 968 020 009834/1702 BAD

festzustellen und zu korrigieren, da nur eine bestimmte begrenzte Anzahl von redundanten Wortleitungen eingebaut werden kann, um den Preis eines derartig organisierten Speichers noch in tragbaren Grenzen zu halten.determine and correct, as only a certain limited Number of redundant word lines can be built in, at the price of such an organized memory to be kept within acceptable limits.

Durch die amerikanische Patentschrift 3 222 653 ist eine Schaltungsanordnung bekanntgeworden, die durch ein zusätzliches Fehlermarkierungsbit gekennzeichnete Speicherstellen innerhalb des Speichers über ein Steuernetzwerk automatisch ersetzt. Wird beim Speicheranruf z.B. eine schadhafte Speicherstelle angesteuert, dann wird über eine Vergleichsschaltung bewirkt, daß eine Alternativadresse, die eine freie nicht schadhafte Speicherzelle, bezeichnet, automatisch angesteuert wird. Dieses zusätzliche Steuernetzwerk ist jedoch technisch äußerst kompliziert und aufwendig und benötigt zur Fehlerkompensation außerdem relativ viel Zeit.The American patent 3 222 653 discloses a circuit arrangement has become known, the memory locations within of the storage system is automatically replaced via a control network. If, for example, a defective memory location is activated when the memory is called, then a comparison circuit causes an alternative address, which designates a free, non-defective memory cell, is controlled automatically. However, this additional control network is technically extremely complicated and expensive and it also takes a relatively long time to compensate for errors.

Weiterhin ist eine Schaltungsanordnung zur Kompensation von schadhaften Speicherzellen vorgeschlagen worden, die dadurch charakterisiert ist, daß jedem Datenblock ein überlaufblock im Speicher zugeordnet ist, das die Ansteuerung der Speicherblocks und die Zählung bekannterweise von einem Blockadressenzähler, der die jeweilige Anfangsblockadresse beinhaltet und einem weiteren 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ß eineFurthermore, there is a circuit arrangement for compensating for Defective memory cells have been proposed, which is characterized in that each data block is an overflow block in the Memory is assigned, which is known to control the memory blocks and counting from a block address counter, which contains the respective header address and a further block counter that counts the data blocks transferred, as well as through a word address counter that records the word cells within a Block determined by advancing by one and a word counter, who counts the transmitted words, takes place, and that one

Docket'Ιίκf Äö 020 0 0 9 8 3 A / 1 7 0 2 BAD originalDocket'Ιίκ f Äö 020 0 0 9 8 3 A / 1 7 0 2 BAD original

Schaltung bei Vorliegen einer schadhaften Wortzelle innerhalb eines Blocks ein Signal erzeugt, das die Weiterschaltung des Wortzählers zu diesem Zeitpunkt verhindert, wodurch nach /uafruf aller Wortzellen in einem Block der Wortzähler nicht auf dem Sollwert steht und über vorhandene, bekannte Adressierungsschaltungen die Übertragung der restlichen Worte eines Datenblockes in einen zugeordneten Überlaufblock steuert. Außerdem besteht ein weiterer Vorschlag darin, daß jede Wortleitung des Speichers in eine Vielzahl Unterwort-Register unterteilt ist, und daß mit dem Hauptspeicher ein Festwertspeicher verbunden ist, der in einen Fehlerkennzeichen-Teil und in einen Ersatzadressen-Teil unterteilt ist, die über eine Fehlerkorrekturschaltung sowie über eine Steuerschaltung einen Lrsatzspeicher, der in Unterwort-Register unterteilt ist, eines der Unterwort-Register auswählen und mit dem zu ersetzenden schadhaften Unterwort-Register des Speichers in Verbindung bringen. Der Schaltungsaufwand für die beiden letztgenannten Schaltungsanordnungen, die nur eine schadhafte Speicherzelle in einem Speicher kompensieren können, ist im Verhältnis zur Kompensationsiuöglichkeit äußerst hoch. Außerdem wurde vorgeschlagen, einen Magnetkernspeicher in m+n-Teilspeicher zu unterteilen. Die Anzahl der Bits eines Speicherworts ist dabei die Summe von m+n, wobei m die Informationsbits sind und η die Fehlerkorrekturbits. Jeder Teilspeicher hat nach dieser vorgeschlagenen Lösung sein eigenes Adressregister, eigene Ansteuerschaltungen und ein eigenes Datenregister. Die Adressregister aiier'^eilupeicher sind parallel geschaltet, so daß in jedem Teil-Circuit generates a signal in the presence of a defective word cell within a block, which enables the further switching of the Word counter at this point in time, which results in / uafruf of all word cells in a block the word counter is not on that The setpoint is available and the remaining words of a data block are transmitted via existing, known addressing circuits controls in an assigned overflow block. In addition, there is a further proposal is that each word line of the memory is divided into a plurality of sub-word registers, and that with the main memory is connected to a read-only memory, which is divided into an error code part and a replacement address part is subdivided, via an error correction circuit and a control circuit, a replacement memory, which is in sub-word registers is divided, select one of the sub-word registers and with the defective sub-word register des Connect memory. The circuit effort for the two last-mentioned circuit arrangements, which can only compensate for a defective memory cell in a memory, is in the Relation to the possibility of compensation extremely high. aside from that it was proposed to subdivide a magnetic core memory into m + n partial memories. The number of bits in a memory word is included the sum of m + n, where m is the information bits and η is the error correction bits. Each partial memory has proposed according to this Solution to have its own address register, its own control circuitry and its own data register. The address register aiier '^ eilupeicher are connected in parallel, so that in each part

Docket UK 968 020 00 9 8 3 4/1702 BAD ORIGINALDocket UK 968 020 00 9 8 3 4/1702 BAD ORIGINAL

speicher der gleiche Platz adressiert werden kann. Dadurch ist es zwar möglich j 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 Adressregisters, einer eigenen Ansteuerschaltung und eines eigenen Datenregisters für jeden Teilspeicher ergibt»memory the same place can be addressed. Thus, it is possible j that ~ can be so many partial memory simultaneously without interruption ', as errors can be corrected by the error correction circuit, but this correction capability is made possible by a very high technical effort, resulting from the allocation of a separate address register, a own control circuit and a separate data register for each partial memory results in »

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 technischen Aufwand ermöglicht.The invention is based on the object of a memory arrangement to create with error detection and automatic error correction, which by using error correction code bits a variable ■ automatic error correction of the memory words read with made possible with little technical effort.

Die erfindungsgemäße Lösung der Aufgabe besteht darin, daß der Speicher in einen ersten Teil zur Speicherung von Worten aus m -Datenbits und η-,-Fehler korrektur codebits sowie einen zweiten Teil zur Speicherung von Worten von mo-Datenbits und η -Fehlerkorrekturcodebits unterteilt ist, wobei n, größer m2 und n^ größer n."ist* daß den beiden Speicherteilen ein gemeinsames Adressregister zugeordnet 1st und daß mit dem Speicheradressregister und den beiden Speicherteilen gemeinsame Speioherkorrekturschaltungen zur Korrektur von Fehlern in ©Inem aus m. oder m_ Pafcenbits bestehenden Wort, das aus dem Speicher ausgelesen wird bzw. wurde, verbünden sind.The inventive solution to the problem is that the memory is divided into a first part for storing words from m data bits and η, error correction code bits and a second part for storing words from m o data bits and η error correction code bits , where n, greater than m 2 and n ^ greater than n. "* that a common address register is assigned to the two memory parts and that memory correction circuits common to the memory address register and the two memory parts for correcting errors in © Inem consisting of m. or m_pacce bits Word that is or has been read from the memory are allied.

Docket UK 968 Q2O 00 983 4/1?02Docket UK 968 Q2O 00 983 4/1? 02

200A93A200A93A

Der Vorteil eier erfindungsgemäßen Fehlererkennung und Fehlerkorrektur in einer Speicheranordnung besteht darin, daß die Kapazität einer darartig organisierten Speicheranordnung ohne weiteres um ein Vielfaches erhöht werden kann, ohne daß ein besonderer technischer Aufwand bzw. eine Änderung des Speicherkonzepts erforderlich ist. Die hohe E'lexibilitä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 error detection and correction according to the invention in a storage arrangement is that the capacity of a storage arrangement organized like this without further can be increased many times over without a special technical effort or a change in the storage concept is required. The high flexibility of the automatic Error correction system also comes with a very low technical effort compared to the known correction systems for memories and the known compensation circuits achieved for bad bits within a memory word.

Die Erfindung wird nun anhand von in den Fign. 1 bis 3 dargestellten Ausführungsbeispielen näher beschrieben.The invention will now be based on in FIGS. 1 to 3 shown Embodiments described in more detail.

Der in Fig. 1 gezeigte Datenspeicher ist in zwei Speicherteile oder zwei Speichereinheiten 1 und 2 aufgeteilt. Die Kapazität der Speichereinheit 1 beträgt in diesem Beispiel 8000 (8k) Speicherworte von je 72 Bits und die Speicherkapazität der Speichereinheit 2 beträgt 8000 (8k) Speicherworte mit je 22 Bits.The data memory shown in FIG. 1 is divided into two memory parts or two memory units 1 and 2. The capacity of the memory unit 1 is 8000 (8k) memory words of 72 bits each and the memory capacity of the Memory unit 2 is 8000 (8k) memory words with 22 bits each.

Die Speichereinheit 1 enthält 72 Speichermodule von dem jedes 8k-Bits speichern kann. Die Speichereinheit 1 ist außerdem so organisiert, daß jedes Speicherraodul 1 Bit von jedem in der Speichereinheit 1 gespeicherten Speicherwort enthält. Jedes Speicherwort enthält 64 Datenbits und 8 Fehlerkorrekturcodebits um eine Uinzelfehlerkorrektur zu ermöglichen. Die Speicherein-The memory unit 1 contains 72 memory modules, each of which can store 8k bits. The storage unit 1 is also like this organizes that each memory module has 1 bit of each in the Storage unit 1 contains stored memory word. Each memory word contains 64 data bits and 8 error correction code bits to enable a single error correction. The storage

nnooti/Uni BADnnooti / Uni BAD

Docket UK 968 020 009834/1702 0^Docket UK 968 020 009834/1702 0 ^

hext 2 besteht aus .22 Speichermodulen, wobei wiederum jedes Speichermpdul 1 Bit von jedem Wort speichert. Jedes Wort in der Speichereinheit 2 besteht aus 16 Datenbits und 6 Fehlerkorrekturcodebits. hext 2 consists of .22 memory modules, each of which Memory module stores 1 bit of each word. Every word in the Memory unit 2 consists of 16 data bits and 6 error correction code bits.

Adressiert werden die beiden Speichereinheiten 1 und 2 in Bytesdarstellung. Die Adressen der Bytes in jedem Wort sind benachbart oder anders ausgedrückt, sie sind aneinandergrenzend. Das·Speicheradressregister 3, das 32 Bit groß ist, speichert die Adresse von dem Byte/ das am Speicherausgang 4 gewünscht ist. Die Bits 15 bis 28 vom Speicheradressregister 3 werden verwendet, Um Zugriff zu einem Speicherwort der Spe'ichereinheit 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 31 vom Speicheradressregister 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. Die höherstelligen Bits 0 bis 15 im Speicheradressregister 3 wählen entweder die Speichereinheit 1 oder die Speichereinheit 2 aus. Die höchste Kombination der Bits 0 bis 15 im Speicheradressregister wählen die Speichereinheit 2. Wicht alle der möglichen Kombinationen der Bits. 0 bis 15, die im vorliegenden Ai3sführungsbeispiel verwendet werden, sind zur /-uaswahl der opeichereinheiten 1 und 2 erforderlich, so daß die restlichenThe two memory units 1 and 2 are addressed in bytes. 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 / which is required at memory output 4. Bits 15 to 28 from memory address register 3 are used to access a memory word of the memory unit 1 and bits 18 to 30 are used to access a memory word of the To get memory part 2 »Bits 16 and 17 are both zero, when the memory unit 2 is addressed. Bits 29, 30 and 31 from memory address register 3 are used to set 1 of 8 bytes to select when the word is fetched from memory unit 1 and bit 31 is used to select one of two bytes ρ if the word of, the. Fetched storage unit 2 shall be. The higher-order bits 0 to 15 in the memory address register 3 select either the storage unit 1 or the storage unit 2. The highest combination of bits 0 to 15 in the Memory address registers select memory unit 2. Most importantly, all of the possible combinations of bits. 0 to 15, which in the present Ai3sleitbeispiel used are for / -uaswahl the Storage units 1 and 2 are required so that the remaining

BADBATH

t!l:|i 00983 4/1702t ! l : | i 00983 4/1702

Kombinationen bei einer gewünschten Erhöhung der Speicherkapazität verwendet werden können.Combinations with a desired increase in storage capacity can be used.

Die 32 Bits von jedem Wort, das aus dem Speicherteil 1 geholt wird, wird über das liingangstorglied 5 in das 32 Bit-Register 6 eingetragen. Die in dem Register 8 gespeicherten Bits werden dann in eine nachgeschaltete Fehlerkorrekturschaltung 7 gegeben, die Doppelfehler feststellen kann una 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 am Ausgang eine aer 64 Umkehrschaltungen hervorruft. Jede der 64 Urakehrschaltungen 8 läßt das Aus gangs signal 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 wird 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. Das 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 21-Bitwort von der Speichereinheit 2 kommt werden die Datenbits O bis 15 zu den Positionen O bis 15 des Re-The 32 bits of each word that is fetched from the memory part 1 is transferred to the 32-bit register 6 via the input gate element 5 registered. The bits stored in the register 8 are then passed into a downstream error correction circuit 7, the Can detect double errors and can display the positions in register 6 in which there are individual errors. If a single mistake occurs, the error correction circuit 7 shows the position of the individual error in register 6 by generating an error bit display which causes 64 reverse switching at the output. Each of the 64 reverse circuits 8 can be the output signal from one Pass position in the register unchanged to the corresponding gate circuit 9 if there is no error. However, there is a mistake in a position before, then the output signal In the corresponding Position inverted, which corrects the error. The word read out remains in register 6 until another word the entrance gate member 5 happens. The output gate member 9 gives the required byte to the output 4 under control the byte selection bits 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. When a 21-bit word comes from memory unit 2 the data bits O to 15 are assigned to positions O to 15 of the

BAD Docket UK 968 020 009834/1702 BAD Docket UK 968 020 009834/1702

gisters 6 und die Fehlerkorrekturcodebits 16 bis 21 zu den Positionen 64 bis 69 des Registers 6 gegeben. Jede der nicht verwendeten Datenpositionen 16 bis 63 wird auf Null gesetzt und die J Fehlerkorrekturcodepositionen 70 und 71 des Registers 6 werden auf Hins 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 ab, sobald das Wort von der Speichereinheit 1 ausgelesen wird, ausgenommen daß nur die Bits O bis 15 des Registers 16 bedeutungsvolle Daten enthalten. , 'gisters 6 and the error correction code bits 16 to 21 are given to positions 64 to 69 of register 6. Each of the unused data positions 16 to 63 is set to zero and the J error correction code positions 70 and 71 of the register 6 are set to Hins by the gates 5 at which there are no input signals. The value to which an unused position in register 6 is set is determined by the error correction code used. The operation then takes place as soon as the word is read out from the memory unit 1, with the exception that only bits 0 to 15 of the register 16 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 verursachen kaniif daß das entsprechende Byte auf dem Speicherausgang ignoriert wird und daß das korrigierte Byte, das danach zu dem Speicherausgang übertragen wird,· akzeptiert wird. · ·When a double error is detected by the error correction circuit 7 an uncorrectable error signal is generated. This Signal can cause access to the appropriate Memory cell is repeated again. To increase the working speed, a byte can be placed on the memory output 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 cause know that the corresponding byte is on the memory output is ignored and that the corrected byte that is then added to the Memory output is transferred, · is accepted. · ·

Acht Fehlerkorrelcburcodebytes können für jedes Wort, das in der Speiahereinheit 2 gespeichert ist, verwendet werden. Dies erfor-Eight error correlation code bytes can be used for each word contained in the Storage unit 2 is stored, can be used. This requires

Doqket OK 968 020 00 9834/170 2Doqket OK 968 020 00 9834/170 2

-lodert zwei zusätzliche Module für die Speichereinheit 2. Fig. 2 zeigt ein Datenspeicher ähnlich dem nach Fig. 1, mit der Ausnahme, daß die Speichereinheit 2 aus 39 Modulen, 32 für die Datenspeicherung und 7 für die Fehlerkorrekturcodebits, besteht. Die Speicherkapazität der Speichereinheit 2 ist 32k-Datenbytes. Die Arbeitsweise ist dieselbe wie bereits in Verbindung mit dem in Fig. 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.-lodert two additional modules for the memory unit 2. Fig. 2 shows a 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 storage unit 2 is 32k bytes of data. The way of working is the same as previously described in connection with the memory shown in Fig. 1, except that if the word was fetched in register 6 from storage unit 2, register 6 contains four meaningful data bytes. Two byte selection bits 30 and 31 are required to have one of four bytes for transmission to select the exit.

In Fig. 3 ist eine kleinere Speichereinheit gezeigt, in der zwei Bits vermieden werden in den Speichereinheiten 1 und 2 in den gleichen Modul speichert. Die Speichereinheit 1 enthält 36 Module, von denen jedes 8k-Bits speichert, um 4k-Worte von 72 Bits (64 Daten- und 8 Fehlerkorrekturcodebits) speichern zu können, d.h. es ist eine Datenspeicherkapazität von 32k-Bytes vorhanden. Die Speichereinheit 2 besteht aus 20 gleichen Modulen um 4k-Yiorte von 40 Bits (32 Daten- und 8 Fehlerkorrekturcodobits) zu speichern. Diese entspricht einer Datenbytekapazität von 16k. Die Arbeitsweise des Speichers nach Fig. 3 ist genauso wie die Arbeitsweise der Speicher, die in den Fign. 1 und 2 dargestellt sind, mit der Ausnahme, daß in diesem Beispiel der Ausyang 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. EineIn Fig. 3 a smaller memory unit is shown in which two bits are avoided in the memory units 1 and 2 are stored in the same module. The memory unit 1 contains 36 modules, each of which stores 8k bits in order to be able to store 4k words of 72 bits (64 data and 8 error correction code bits), ie there is a data storage capacity of 32k bytes. The memory unit 2 consists of 20 identical modules to store 4k locations of 40 bits (32 data and 8 error correction codobits). This corresponds to a data byte capacity of 16k. The operation of the memory of FIG. 3 is the same as the operation of the memories shown in FIGS. 1 and 2 are shown to be with the exception that in this example, the Ausyang two bytes in size, and the bits 30 and 31 or the bit 31 are used to provide the required two bytes to the output. One

Docket UK 968 020 009834/1702 Docket UK 968 020 009834/1702

-■11 - -" '■- ■ 11 - - "'■

Do.ppelfehlerkorrektur rauß vorgenommen werden, wenn der Speicher mit einem schadhaften oder entfernten Modul weiterarbeiten soll.Do.ppelferror correction be made rough when the memory should continue to work with a defective or removed module.

Eine erhöhte Speicherkapazität kann.erreicht werden, indem eine zusätzliche Speichereinheit öder mehrere zusätzliche Speichereinheiten entsprechend der Speichereinheit 1 in den Pign. 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 i ist. Hat z.B. die Speichereinheit 1 eine Speicherkapazität von 64k-Bytes, dann sollte die Speichereinheit 2 eine Speicherkapazität von 8k, 16k oder 32k-Bytes haben. Die Bits O bis 15 im Speicher*- adressregister 3 werden verwendet, um die Teilspeichereinheit auszuwählen.Increased storage capacity can be achieved by adding a additional storage unit or several additional storage units corresponding to the memory unit 1 in the Pign. 1 and 3 can be used. Small increases in memory can be achieved ■ are by a unit such as the storage unit 2, their Capacity is a binary fraction of the capacity of the storage unit i. For example, if the storage unit 1 has a storage capacity of 64k bytes, then the storage unit 2 should have a storage capacity of 8k, 16k or 32k bytes. Bits O to 15 in the memory * - address registers 3 are used to select the partial storage unit.

BADBATH

Docket UK 968 020 OQ 9 8 3 4/1702Docket UK 968 020 OQ 9 8 3 4/1702

Claims (8)

PATENTANSPRÜCHEPATENT CLAIMS 1. Speicheranordnung mit Schaltungen zur Fehlererkennung und Fehlerkorrektur der im Speicher gespeicherten Informationen durch Aufteilung des Speichers in Gruppen von Speichermodulen, die Daten bzw. Fehlerkorrekturcodebits speichern, dadurch gekennzeichnet, daß der Speicher in einen ersten Teil (1) zur Speicherung von Worten aus m -Datenbits und η -Fehlerkorrekturcodebits sowie einen zweiten Teil (2) zur Speicherung von Worten1. Memory arrangement with circuits for error detection and correcting errors in the information stored in the memory by dividing the memory into groups of memory modules which store data or error correction code bits, characterized in that the Memory in a first part (1) for storing words from m data bits and η error correction code bits and a second part (2) for storing words von m_-Datenbits und η -Fehlerkorrekturcodebits unter-& 2. of m_ data bits and η error correction code bits below & 2. teilt ist, wobei η größer m und n.. größer n2 ist, daß den beiden Speicherteilen (1 und 2) ein gemeinsames Speicheradressregister (3) zugeordnet ist und daß mit dem Speicheradressregister (3) und den beiden Speicherteilen (1 und 2) Speicherkorrekturschaltungen (6, 7 und 8) zur Korrektur von Fehlern in einem aus m oder m Datenbits bestehenden Wort verbunden sind, das aus dem Speicher ausgelesen wird bzw. wurde.divides, where η is greater than m and n .. greater than n2, that a common memory address register (3) is assigned to the two memory parts (1 and 2) and that with the memory address register (3) and the two memory parts (1 and 2) memory correction circuits (6, 7 and 8) are connected to correct errors in a word consisting of m or m data bits, which consists of the Memory is or has been read out. 2. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Speicher aus einer Vielzahl von Modulen 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 consists of a plurality of modules, each module having one bit of each word in one which stores parts from memory. Docket UK 968 O2o 0 0 9 8 3 A / 1 7 0 2Docket UK 968 O2o 0 0 9 8 3 A / 1 7 0 2 3, Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet t daß der Speicher eine Anzahl Speichermodule enthält, wobei jedes Modul zwei Bits von jedem der Worte, in einem der Teile vom Speicher enthält.3, memory array of claim 1, characterized in t that the memory contains a number of memory modules, each module contains two bits from each of the words in one of the items from store. 4, . _.': Speicheranordnung nach den Ansprüchen 1 bis 31 dadurch4,. _. ' : Memory arrangement according to claims 1 to 3 1 thereby gekennzeichnet, daß die Schaltungen zur Fehlererkennung und Fehlerkorrektur ein Register (6) beinhalten, daß m +n-,-Bitpositionen zur Speicherung eines vom Speicher abgerufenen Wortes umfaßt/ daß mit dem genannten Register (6) eine Fehlerkorrekturschaltung (7) und eine Urnkehrschaltung (8) zur Anzeige der Fehlerposition bzw« zur Invertierung der fehlerhaften Position bzw. Positionen verbunden ist.characterized in that the circuits for error detection and error correction a register (6) include that m + n -, - bit positions for storing one from memory fetched word includes / that with said register (6) an error correction circuit (7) and a Reversing circuit (8) to display the error position or « is connected to invert the incorrect position or positions. 5. - Speicheranordnung nach Anspruch 4, dadurch gekennzeichnet, daß bei Eintragung eines Wortes mit m + η,,-Bitstellen vom Speicherteil 2 in das Register 6-Eingangstorglieder (5) vorgesehen sind, die in jede nicht verwendete Bitposition des Registers .6 ein vorbestimmtes vom Fehlerkorrektureode abhängiges Bit* zur Ausführung der Fehlerkorrektur einträgt.5. - Storage arrangement according to claim 4, characterized in that that when entering a word with m + η ,, - bit positions from the memory part 2 into the register 6 input gate elements (5) are provided in each unused bit position of the register .6 a predetermined from Error correction code dependent bit * for executing the Error correction entries. 6. Speicheranordnung nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß die im Speicheradressregister (3) stehenden höchststeliigen Bits zur Steuerung des Zu-6. Memory arrangement according to claims 1 to 5, characterized characterized in that the memory address register (3) most significant bits to control the supply Docket UK 968 020 009834/1702Docket UK 968 020 009834/1702 griffs zu einem Speicherwort dienen und die niederstelligen Bits das Byte oder die Bytes vom gelesenen
Wort steuern, das an den Ausgang übetragen werden soll.
used to access a memory word and the lower-digit bits the byte or bytes of the read
Control word that is to be transferred to the output.
7. Speicheranordnung nach den Ansprüchen 1 bis β, dadurch gekennzeichnet, daß der Speicher eine Anzahl Speicherpositionen enthält in denen Worte von m -Datenbits und η„-Fehlerkorrekturcodebits gespeichert sind und in den der Wert von nu in jeder Position verschieden ist.7. Memory arrangement according to claims 1 to β, characterized in that the memory contains a number of memory positions in which words of m data bits and η "error correction code bits are stored and in which the value of nu is different in each position. 8. Speicheranordnung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß m_ ein binärer Bruchteil von m ist.8. Memory arrangement according to one of claims 1 to 7, characterized characterized in that m_ is a binary fraction of m. Docket UK 968 020 0 0 9 8 3 4/1702Docket UK 968 020 0 0 9 8 3 4/1702
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 true DE2004934A1 (en) 1970-08-20
DE2004934B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2359776A1 (en) * 1972-12-01 1974-06-12 Honeywell Inf Systems MEMORY MODULE FOR USE IN CONNECTION WITH A DATA PROCESSING UNIT
DE2428348A1 (en) * 1973-06-13 1975-01-09 Ibm PROCEDURE AND EQUIPMENT FOR CONTINUING USE OF A DEFECTIVE DATA MEMORY
DE2921243A1 (en) * 1978-05-25 1979-11-29 Western Electric Co SELF-CHECKING, DYNAMIC STORAGE SYSTEM
EP0012017A2 (en) * 1978-11-30 1980-06-11 Sperry Corporation Programmable computer comprising means for checking the error-correcting circuits

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2359776A1 (en) * 1972-12-01 1974-06-12 Honeywell Inf Systems MEMORY MODULE FOR USE IN CONNECTION WITH A DATA PROCESSING UNIT
DE2428348A1 (en) * 1973-06-13 1975-01-09 Ibm PROCEDURE AND EQUIPMENT FOR CONTINUING USE OF A DEFECTIVE DATA MEMORY
DE2921243A1 (en) * 1978-05-25 1979-11-29 Western Electric Co SELF-CHECKING, DYNAMIC STORAGE SYSTEM
EP0012017A2 (en) * 1978-11-30 1980-06-11 Sperry Corporation Programmable computer comprising means for checking the error-correcting circuits
EP0012017A3 (en) * 1978-11-30 1980-10-01 Sperry Corporation Programmable computer comprising means for checking the error-correcting circuits

Also Published As

Publication number Publication date
GB1197418A (en) 1970-07-01
FR2031150A5 (en) 1970-11-13
DE2004934B2 (en) 1977-08-25
JPS4936331B1 (en) 1974-09-30

Similar Documents

Publication Publication Date Title
DE2328869C2 (en) Method and circuit arrangement for operating a digital storage system
DE2030760C2 (en) Parity check circuit for a memory circuit
DE2357233C2 (en) Address converter
DE2144870C3 (en)
DE2364785A1 (en) INTEGRATED SEMI-CONDUCTOR MEMORY WITH DEFECTIVE CELLS
DE2556556A1 (en) METHOD AND ARRANGEMENT FOR STORING INFORMATION ABOUT THE LOCATION OF ONE OR MORE DEFECTIVE BITS IN A SINGLE FAULT-CORRECTING MAIN STORAGE
DE2523414A1 (en) HIERARCHICAL STORAGE ARRANGEMENT
DE2151472A1 (en) Microprogram memory for electronic computers
EP0046976A2 (en) Semi-conductor memory made of memory building blocks with redundant memory areas
DE2400064A1 (en) MEMORY CHECK ARRANGEMENT AND TERMINAL SYSTEM USING THIS IN A DATA PROCESSING SYSTEM
DE1901806A1 (en) Circuit arrangement for compensating for defective memory cells in data memories
DE2144870A1 (en) Method and circuit arrangement for compensating for defective storage locations in semiconductor memories
DE2527062C3 (en) Adaptable address decoder
EP1113362B1 (en) Integrated semiconductor memory with a memory unit for storing addresses of faulty memory cells
DE3618136C2 (en)
DE2456709C2 (en) Circuit arrangement for error detection and correction
DE2364254B2 (en) CIRCUIT ARRANGEMENT FOR DATA PROCESSING DEVICES
DE3329022A1 (en) DATA STORAGE DEVICE
DE2515099A1 (en) CIRCUIT FOR THE CONTINUOUS GENERATION OF A LONGITUDINAL PARITY WORD FOR THE MAIN MEMORY OF A DIGITAL COMPUTER
DE1524788A1 (en) Circuit arrangement for the detection and automatic replacement of defective storage locations in data memories
DE2554502C3 (en) Method and arrangement for addressing a memory
DE2458525A1 (en) STORAGE SYSTEM WITH MAIN AND BUFFER STORAGE
DE2648225C2 (en) Data storage device
DE2004934A1 (en)
DE3024153A1 (en) STORAGE SUBSYSTEM

Legal Events

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