SE441790B - Minne med feldetektering och felkorrigering - Google Patents

Minne med feldetektering och felkorrigering

Info

Publication number
SE441790B
SE441790B SE7903771A SE7903771A SE441790B SE 441790 B SE441790 B SE 441790B SE 7903771 A SE7903771 A SE 7903771A SE 7903771 A SE7903771 A SE 7903771A SE 441790 B SE441790 B SE 441790B
Authority
SE
Sweden
Prior art keywords
word
user
memory
symbol
error
Prior art date
Application number
SE7903771A
Other languages
English (en)
Other versions
SE7903771L (sv
Inventor
T Krol
Original Assignee
Philips Nv
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Nv filed Critical Philips Nv
Publication of SE7903771L publication Critical patent/SE7903771L/sv
Publication of SE441790B publication Critical patent/SE441790B/sv

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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)

Description

å79os771-9 fa nesord. Detta skall enligt uppfinningen realiseras med hjälp av användarord av be- gränsad längd emedan ett användarord med stor längd inte kan behandlas i en proces- soranordning (cpu) och/eller emedan en bred databana är dyrbar. Enligt uppfinningen _ uppnås dessa önskemål därigenom att till dataförbindningen är ansluten en detektor- anordning för ett dataord som är utläst från minnet, varvid en utgång på detektor- anordningen är ansluten till en aktiveringsingång på korrektoranordningen, och att minnesordens minnespositioner är uppdelade i ett fast antal ordpositioner för an- vändarord, varvid varje position är separat adresserbar genom en användaradres- signal, och att varje användarord innefattar minst en bitposition för en redundans- bit, varigenom åtminstone en felbit i nämnda användarord kan detekteras av detek- toranord ningen, medan en signal på nämnda detektorutgång i samverkan med nämnda användaradressignal är kapabel att adressera de andra ordpositionerna för användar- ord i samma minnesord, alltid innefattande deras redundansbitar för att presentera det kompletta minnesordet som således adresserats, omfattande ett förutbestämt antal korrektionsbitar som är adderade till det aktuella minnesordet och också är lagrade i minnet, för korrektionsanordningen för att initiera en korrektion.
Så länge inte något fel har avkänts är det varje gång tillräckligt att utläsa de önskade relativt korta användarorden med exempelvis 8 eller 16 bitar. Det är bar då ett fel har avkänts som det relativt långa minnesordet läses för korrigering av felet. On ett användarord t.ex. innehåller åtta databitar skall det innehålla fyra rkorrektionsbitar i enlighet med nämnda regel; det har således en adderad redundan av 50%. I enlighet med en första utföringsfonn av uppfinningen behöver ett minnesor med 4x8 databitar bara innehålla fyra feldetekteringsbitar plus sex felkorrigerings Ybitar, alltså en adderad redundans av 10:32=31%. För ett minnesord san omfattar 8x8 databitar räcker det med åtta feldetekteringsbitar och sju felkorrigeringsbitar, således en adderad redundans av 15:64=23,5%. Å andra sidan kan möjligheten för korrigering/detektering av fel i ett sådant minnesord göras större, t.ex. detektering/korrigering av två eller ännu flera fel. Minnesordens längd och möjligheten fö korrigering/detektering av fel i det kompletta minnesordet är före- mål för kända kompromisser mellan den önskade tillförlitligheten hos minnessystemet ' och den tillåtna_kostnaden och/eller tidsförlusten som ligger i korrigeringldetek- tering. I en enkel utföringsfonn enligt uppfinningen kan korrigeringen av ett enda avkänt fel realiseras på samma sätt som an det gällde ett ej uppdelat minnesord; feldetekteringsbitarna i de andra användarorden ger antingen inte någon ytterligare 1 infonnation~eller infonnatiqnen att de återstående användarorden inte innehåller något feL En ordposition för ett.användarord innefattar företrädesvis en redundant bitpo sition för lagring av en paritetsbit, varvid de kombinerade paritetsbitarna i ett 3 7903771-9 minnesord bildar en paritetssymbol, medan användarbitarna i motsvarande bitpo- sitioner av användarorden varje gång bildar en användarsymbol varvid så många korrektionsbitar adderas till det aktuella minnesordet som detta ord innehåller användarord för att bilda en korrektorsymbol, vilka nämnda symboler alla bildar element i samma Galois-fält, och varvid det finns första medel för att presentera en paritetsmatris i felkorrektionskoden som består av element i samma Galois-fält, samt andra medel för att multiplicera ett utläst felaktigt minnesord med paritets- matrisen för att,alstra en felsymbol och en produktsymbol av felsymbol och loka- liseringssymbol, samt tredje medel för att motta felsymbolen och produktsymbolen för att alstra en fellokalisator samt fjärde medel för att korrigera det felaktiga minnesordet medelst felsymbolen och fellokalisatorn. En konstruktion av detta slag erbjuder flera fördelar. Först och främst erhålles en modulkonstruktion emedan exakt en korrektionsbit krävs för varje användarord. Till följd av samverkan mellan korréktorsymbolen och paritetssymbolen kan vidare en ytterligare redundansminskning uppnås. Det har exempelvis visat sig att för fyra användarord som vardera omfattar - åtta användarbitar bara åtta redundansbitar krävs, vilket representerar en tillagd redundans av 8:32=25%. Dessutom kan varje godtyckligt fel i en användarsymbol kor- rigeras medelst felsymbolen som har bildats av paritetsbitarna och lokalisatorn, emedan den senare kan tillordnas exakt en användarsymbol. Detta resulterar i en felkorrigeringskapacitet som, emedan inbördes beroende fel således kan behandlas tillsammans, är mycket större än den tidigare beskrivna koden vilken redan resul- terade i en minskning av redundansen. Kodens ökade kapacitet har således två aspek- ter: ' a. flera fel kan korrigeras b. dessa är fel som vanligen uppträder tillsammans (såsom grupper) I fallet med M användarord i ett minnesord kan felkorrigeringskoden betecknas såsom en korrektion på basis av variabler med 2" möjliga värden i motsats till den kända koden som arbetar på basis av binära variabler. Utförandet av aritmetiska operationer på element ur ett Galois-fält är en enkel teknik där användningen av Exklusiv-ELLER-grindar förutom vanliga logiska grindar (t.ex. av NOCK- typ) har en förenklande effekt. I - Nämnda första medel är företrädesvis utförda att presentera en paritetsmatris vilken för de K användarsymbolerna per användarord innefattande dess paritetssymbol har ett användarblock i fonm av: 1 1 1..... 1 L_ med en tilläggs 'x m0 ml m2.....m(K-1) OJ kolumn [mj för korrektionssymbolerna, varvid elementserien ímü, m1,....m(K-1), 0] i fallet med M användarord per minnesord består av 7903771-9 _ alla inbördes olika element i Galois-fältet GF(2M), och nämnda kolumn (1,0) är tillordnad paritetssymbolerna medan nämnda kolun (x,mj) skiljer sig från alla andra kolumner. _ ' W Detta resulterar i en systematisk konstruktion av paritetsmatrisen och följakt- ligen av den fullständiga anordningen. Det är uppenbart att raderna i paritetsmatri- sen och dessutom inom användarblocket också kolumnerna kan växlas. Således är se- kvensen av de maximalt ZM elementen i Galois-efältet GF(2m) innefattande 0 god- tycklig. .
I gruppen av symboler D,a°, a1;...a(2M-1) inom Galois-fältet GF(2M) som är skriven såsom en potensserie har mj företrädesvis värdet ao.
D Denna föredragna utföringsform resulterar i en enkel implementering.
Nämnda första medel är företrädesvis utförda för att presentera ett värde x=D.
Korrektorbitarna tas således inte i beaktande vid paritetsbestämning. Å andra sidan kan detta leda till ett ej lyckosamt korrigeringsförsök om inte bara en användarsym- D bol är felaktig utan också en korrektionsbit. Å andra sidan resulterar detta i en _ relativt enkel krets, såsom kommer att visas i det efterföljande.' Nämnda första medel är företrädesvis utförda att presentera en storhet k=ap, vilket värde är olika för alla element i serien ïmfl, m1,....m(K-l)} . Tillförlitlig- heten i förhållande till den redan beskrivna utföringsfonnen ökas således därigenom att korrigeringssymbolerna nu också tagits i beaktande för bestämningen av parite- ten. ' A a 'Företrädesvis finns åtminstone en andra minnesbank som har en konstruktion som fär likadan som den första minnesbankens konstruktion vad gäller användarsymbolerna och paritetssymbolerna, varvid för varje andra minnesbank varje gång ett minnesord bildar ett kodord med ett motsvarande minnesord från den första minnesbanken, varvid lkorrektionssymbolen i minnesordet från den första minnesbanken som finns däri har en korrigerande effekt på varje kodord. Den erforderliga mängdenåav redundans i korrek- ”torsymbolerna reduceras således ytterligare emedan den delas av ett flertal minnes- banker. Det är uppenbart att antalet andra minnesbanker måste begränsas med tanke på den ökade risken för två felaktiga symboler som uppträder i ett enda kodord.
D Nämnda första medel är företrädesvis utförda att presentera en paritetsmatris omfattande lika många (L) användarblock som det finns minnesbanker, varvid användar- blocken innehåller (L-1) rader av element 0, och alla innehåller en rad, varje gång inbördes olika belägna, som uteslutande innehåller element 1 och varje gång en mot-' svarande belägen ytterligare rad bestående av en serie av alla inbördes olika ele- ment i ßalois-fältet GF i2M), varvid nämnda extra kolumn vid stället för nämnda ytterligare rad innehåller ett ytterligare element i Galois-fältet GF(2M) och för återstoden, förutom det maximalt enda elementet med värdet ao inom GF (ZM), ute- slutande innehåller element 0. Den huvudsakligen modulartade uppbyggnaden av pari- 5 7903771-9 tetsmatrisen resulterar 1 modulbehandling vad gäller multiplikationen med paritets- matrisen och således möjlighet till en enklare anordning.
Nämnda första medel är företrädesvis utförda att presentera nämnda ytterligare rad 1 paritetsmatrisen för varje anvähdarblock såsom inbördes identiska rader. Detta resulterar pâ liknande sätt i en ytterligare förenkling.
Företrädesvis finns en kodningsanordning för att i fallet med en skrivoperation i en minnesposition som kan adresseras genom en adressignal ta emot korrektionsbi- tarna i denna minnesposition som också kan adresseras genom nämnda adressignal plus modifieringsinfonnationen 1 användarordet som ånyo skrivs in för att också lagra en uppdaterad uppsättning av korrektionsbitar på basis av nämnda kombinerade informa- tion. Således kan uppfinningen med fördel också användas i ett läs/skrivminne. I fallet med en skrivoperation är det bara nödvändigt (om inga fel har inträffat) att ta modifikationen av användarordet i beaktande för beräkningen av de redundanta bi-- tarna.
Företrädesvis finns femte medel för att generera användarordmodifieringssigna- ler under styrning med en kombination av en ”gammalt” och ett "nytt" användarord, sjätte medel för att multiplicera användarordmodifieringssignalerna med en vektor m0,m1.... m(K-1)} för att bilda en korrektonmodifieringsmellansymbol, sjunde medel för att multiplicera korrektonnodifieringsmellansymbolen med användarordtalet för att bilda en korrektonmodifieringssymbol samt åttonde medel för att modifiera det aktuella minnesordets korrektorsymbol med korrektonnodifieringssymbolen. Korrektor- symbolerna uppdateras således systematiskt.
Företrädesvis finns femte medel för att generera användarordmodifieringssigna- ' ler under styrning med en kombination av ett "gammalt" och ett "nytt" användarord, sjätte medel för att multiplicera användarordmodifieringssignalerna med vektorn fim0,m1....m(K-1), mål för att bilda en korrektormodifieringsmellansymbol, sjunde me- del för att multiplicera korrektonnodifieringsmellansymbolen med användarordtalet för att bilda en korrektonmodifieringssymbol, åttonde medel för att modifiera det aktuella minnesordets korrektorsymbol med korrektonmodifieringssymbolen samt nionde medel för att modifiera det aktuella minnesordets paritetssymbol plus korrektorsym- bolen med korrektormodifieringssymbolen. Förutom korrektorsymbolerna korrigeras så- ledes paritetssymbolerna, vilka är sambestämda av korrektorsymbolerna, också syste- matiskt. ' * Uppfinningen beskrivs i detalj i det efterföljande med hänvisning till ritning- arna 1 kombination med en speciell kod som också komer att beskrivas. Fig 1 visar ett exempel på sammansättningen av ett minnesord, fig 2 visar en paritetsmatris, fig 3 visar en del av en minnesanordning, fig 4 visar en anordning för att bilda en kor- rektorsymbol, fig 5 visar sammansättningen av ett Galois-fält, och fig 6 visar en ytterligare utföringsform som är en utveckling av den 1 fig 3 visade kretsen. 7903771-9 I det efterföljande beskrivs i tur och ordning sammansättningen av ett minnes- ord, användningen av Gallois-fältteorin, en paritetsmatris, tvâ minneskonstruktio- ner, bestämning av modifieringen av en korrektorsymbol samt de tillåtna kapacitets- l gränserna.
Fig 1 visar ett exempel på uppbyggnaden av ett minnesord. I ett enkelt exempel omfattar ett minnesord 32 användarbitar (00-37) vilka är fördelade på fyra användar- ord med vardera âtta användarbitar. På ritningen är varje användarord visat på en separat rad och försett med en paritetsbit A-D som är visad på samma rad. Till det aktuella minnnesordet är dessutom tillordnade fyra korrektionsbitar E-H som är visa- de på samma fyra rader. Tills vidare antages att de fyra ytterligare raderna saknas.
-Minnet kan vara av konventionell konstruktion (t.ex. matrisorganiserat och exempel- vis arbetande enligt RAM-, ROM- eller EARDM- principerna). Vid läsaccess av en data- användare uppträder ett användarord på minnets utgång, t.ex. bitarna 10,11,12,l3,- i 14,15,16,17 och B. Biten B signalerar om pariteten hos den avlästa bitserien är kor- “ rekt eller felaktig. Om pariteten är korrekt blir användarordet tillgängligt för användaren i omodifierad_fonn tillsammans med den tillhörande paritetsbiten eller V ej. Om pariteten är korrekt till följd av att tvâ inverteringar av en bit har in- ' É träffat_på samma rad så är detektering ej möjlig på detta sätt. Risken för att ett sådant dubbelt fel inträffar på en rad är liten till följd av det begränsade antalet bitar på samma rad och till följd av en sådan lagring att bitfelen i en sådan rad är inbördes oberoende. Detta är vanligen fallet om dessa bitar är upptagna på separata integrerade kretsar (chips) eller separata tryckta kretskort. Chansen för samtidigt ¿ uppträdande av tvâ fel är därvid lika med produkten av de individuella chanserna.
Felen behöver inte vara oberoende på samma chip eller tryckta kretskort. En komplett enhet kan således uteslutande alstra "0“- signaler i händelse av en läsoperation (stuck at zero). Risken för ett fel är därvid 1/2 för godtycklig datalagring. En lsâdan enhet, utanför vilken felen alltid mäste vara inbördes oberoende men inom vil- ken felen inte nödvändigtvis är inbördes oberoende, betecknas såsom en "felisola- tionsyta“. Felaktig paritet innebär att ett udda antal (1,3...) bitinverteringar har g inträffat på den aktuella raden. Fallet med två eller flera inverteringar kommer å y inte att utvecklas ytterligare. Dä ett fel detekteras utläses hela minnesordet med É fyra användarord, a.v.s. också ana bitarna 0-7, 20-27, 30-37 sant aa finnöranaa paritetsbitarna A,C,D. Vidare utläses också de korrektionsbitar E,F,G,H som tillhör det aktuella minnesordet så att sammanlagd 40 bitar utläses, av vilka 8 är redundan- ta. För ett ord som omfattar 40 bitar är i och för sig 6 redundanta bitar tillräck- _ liga för korrektion av ett enda fel. I det efterföljande kommer att visas att i vis- sa fall ett mycket större antal fel kan korrigeras med den givna redundansen, varför den använda redundansen ej är för stor. Å andra sidan skulle ett antal av 4 redun- danta bitar krävas för korrektion av ett enkelfel för ett enda användarord med 8 7903771-9 bitar. Med avseende på den senare organisationen erbjuder det beskrivna systemet en minskning av redundansen. Bit- positionerna i samma kolumn, t.ex. 4;14,24,34, behö- ver därvid inte vara oberoende vad gäller deras feluppträdande. Till följd härav kan dessa fyra bitpositioner exempelvis alltid finnas i en och samma integrerade krets eller på samma tryckta kretskort. De visade fyra användarorden plus deras redundanta bitar bildar ett minnesord. Minnet kan innehålla ett stort antal sådana minnesord.
.Vidare kan det inträffa att bitarna i ett användarord inte är oberoende vad gäller deras feluppträdande, emedan de är belägna inom samma felisolationsyta, t.ex. alltid två och två. I enlighet med det föregående gäller därvid fortfarande att för varje användarord bara ett enda fel kan detekteras. Detta resulterar således i en större risk för oreparerbara fel i den tidigare beskrivna “stuck at"- situationen.
Fig 1 visar de "övre" fyra användarorden lagrade i en första minnesbank. Fig 1 visar också i en andra minnesbank fyra ytterligare användarord med användarbitar 40-47.... o.s.v. samt tillhörande paritetsbitar I,J,K,L. vid en läsoperation i dessa användarord gäller den föregående beskrivningen för en felfri situation. I detta mera utvecklade fall består emellertid minnet av två minnesbanker, varvid felen är oberoende i de separata bankerna. De fyra korrektionsbitarna E,F,G,H är därvid rela- terade till åtta användarord med totalt 64 databitar. Om ett fel inträffar i ett av dessa åtta användarord måste alla åtta orden läsas för korrektionen innefattande åtta paritetsbitar A-D, I-L och fyra korrektionsbitar E-H. Vid ett större antal ban- ker gäller samma sak: redundansen kan därvid vara relativt sett mindre men det visar sig att korrektionen kräver mera tid och mera utrustning, emedan samma operationer måste utföras oftare. Valet av de olika parametrarna (antalet användarord per min- nesord, antalet samtidigt verksamma minnesbankerl bestämmas av de krav som ställes på minnet eller risken för ett fel. Slutligen råder ett förhållande mellan redundan- _sens storlek, som minst krävs, och antalet användarbitar per minnesord (bl.a. bero- ende på felisolationsytornas storlek). Detta förhållande kommer att diskuteras i det efterföljande. Såson redan sagts ger innehållet i paritetsbitarna och korrektionsbi- tarna infonnation vad gäller det fel som skall korrigeras. Alternativt är det möj- ligt att ett fel korrigeras uteslutande med hjälp av korrektionsbitarna, varvid pa- ritetsbitarna bara tjänar för signaleringsändamål. I detta fall användes kända meto- der för korrektionen men utförandet av detekteringen förenklas genom det mindre an- talet användarbitar per användarord. I den föredragna utföringsfonnen tas också in- formationen i paritetsbitarna i beaktande för korrektionen. e I den vidare förklaringen av uppfinningen användes uttrycket "symbol". I den i fig 1 visade konfigurationen består en symbol av fyra bitar av motsvarande ordning inom fyra tillhörande användarord. T.ex. anger sekvensen av de fyra bitarna 06,16,26,36 en symbol och även sekvensen med de fyra bitarna 40,50,60,70. Sekvensen är densamma för alla symboler. Varje symbol kan i detta fall ha alla värden 0000-1111. Fyrabitsstorheter av detta slag kan betraktas såsom element i ett s.k. 7903771-9 Galois- fält. Beteckningen på ett sådant fält är GF(2M) där i detta fall M = 4.
För elementen i ett Galois- fält är exempelvis de fyra algebraiska operationerna definierade och beskrivna i en artikel av T.C. Bartee och D.I. Schneider, Computa- tion with finite fields, Information and Control 6 (1963), sid 79-98. En huvudskill- nad med avseende på de verkliga talen består i att ett Galois-fält innehåller ett ändligt antal element, d.v.s. sexton i fallet GF(24). I detta avseende visar fig 5 två olika representationer av elementen i GF(24): å ena sidan såsom en potensserie av a (0, a0...a1f) och å andra sidan såsom ett binärtal på två sätt i de båda vänstra respektive de båda högra kolumnerna. Genereringen av de binära representati- onerna kommer att förklaras på basis av två kretsar som arbetar såsom en räknare.
Den vänstra kretsen arbetar på basis av det s.k. primitiva och ej reducerbara poly- nonet x4'+ x + 1. Varje steg 300-303 har funktionen att lagra och överföra en bit.
Vidare bildar steget 302 då det aktiveras modulo-2-sunnan av data som mottages från stegen 300 och 303. Aktivering av stegen, varigenom varje gång nästa position nås, sker genom en ej visad gemensa klockpulssignal (stegen 300,301,303 arbetar därvid såsom 1-bits skiftregister). Alla femton positionerna (ej 0000) bildas således cyk- iiskt (stege: zoo innenaiier den mest signifikanta biten). Pa liknande sätt arbetar den högra halvan av figuren enligt det primitiva och ej reducerbara polynomet.x4 + xa + 1. Detta resulterar i en annorlunda representation. Det observeras att i båda fallen storheterna ao, al, az, a3 är inbördes linjärt oberoende. Uppfinning- en är ej begränsad till ett givet värde på M; Detta värde kan vara mindre likaväl 3 som större än 4. Vid trivalent logik kan exempelvis Galois- fältet GF (34) använ- das. De primitiva polynomen är alltid i enlighet därmed olika. I det efterföljande användes den förkortade beteckningen 0 och 1 för elementen 0 (bitsekvens 0000) re- spektive ao (bitsekvens 0001). Det observeras åter att beteckningen på elementen i Galois- fältet också kan vara annorlunda utan att förhållandena mellan de aktuella elementen inom nämnda fält är annorlunda, så att Galois-fältet självt ej heller därigenom är modifierat. A e Fig 1 visar ett exempel på en paritetsmatris [hilför den föreslagna koden. Var- je felkorrigeringskod kan helt beskrivas med en matris av detta slag emedan följande gäller för alla kodordlg: tf [H] = 0; kodorden är således ortogonalt anordnade med avseende på paritetsmatrisen. Matrisen består av delmatri ser eller "block" med en bredd av (K + 1) kolumner, där K är antalet användarbitar i ett användarord utan redundansen. I exemplet enligt fig 1 är därför K = 8. Antalet matrisblock L svarar mot antalet minnesbanker (lika med 2 i fig 1). Elementen i matrisen är element i Galois- fältet GF (24). Den första raden i det första blocket innehåller elementen "l" som enligt det föregående på bitnivå skrivs som (0001), medan den andra raden i det andra blocket innehåller elementen "1"-o.s.v. Den näst sista raden i det sista blocket innehåller elementen 1. Antalet rader överstiger antalet minnesbanker i min- 9 7903771-9 net med 1 och uppgår således till 3 i detta exempel. Den sista raden i alla block innehåller alltid samma element 1,a,a2....aK'1, 0 i detta exempel, I ett annat exempel kan denna serie också vara lika med q0, ql, ...q(K-1), 0 med villkoret att qi f qj för 0 5 i, j Sik-1 och i f J och dessutom är qi ett element i GF (ZM) såsom beskrivits tidigare. Det är även tillåtet att varje block i matrisen har sin egen specifika sekvens q0, q1,....q (K-1), 0 även om detta å andra sidan leder till en mera komplicerad anordning. Det föregående anger mera specifikt att ett sådant "användarblock" inte behöver innehålla alla olika element i det aktuella Galois- fältet, emedan användarordens längd är alltför litet för detta ändamål. Förutom nämnda block innefattar matrisen också en "allra sista" kolumn med elementen (0,0,.. .0,1). Ett alternativ består i att den allra sista kolumnen i paritetsbiten är (0,0,...0,1,1), i vilket fall två element "1" finns: ett i den sista raden och ett i en godtycklig annan rad. Serien (1,a,a2...aK'1, 0 ) kan således ersättas med en annan serie. Innebörden av valet av den "allra sista” kolumnen komer att förklaras i det efterföljande. Paritetsmatrisen omfattar således kolumnerna 0,1,..{L (K+1) + 11 samt raderna D,1.....L. Kolumnernas sekvenstal är givna genom uttrycket {d(K + 1) + bfi där d är bank- (block)- talet och b är sekvenstalet inuti en bank. De olika ban- kerna är således givna genom d, varvid O ïÉd EÉL-1 och kolumnerna inan en bank är givna genom b, varvid 0 ïšb ÉEK. Den allra sista kolumnen är given genom d-= L och b = 0. Exemplet i fig 1 resulterar således i en matris med 19 kolumner och tre rader.
Men fig 2 visar också fonmen på en sådan matris för flera rader och kolumner. Den övre hälften av denna figur visar det första och det andra blocket, medan den undre hälften visar början av det tredje blocket, slutet av det näst sista blocket, det sista blocket och "den allra sista" kolumnen. I det efterföljande kan raderna i pa- ritetsmatrisen vara växlade. Effekten av detta är att sekvensen av elementen i syn- dromvektorn, san kommer att beskrivas i det efterföljande, modifieras. Å andra sidan kan kolumnerna inan ett användarblock ändras. Detta resulterar i den annorlunda se- kvens av elementen ao, a1...aK°1, 0 såsom beskrivits tidigare. Slutligen kan användarblocken växlas. Detta har samma effekt som växlingen av raderna. Förskjut- ning av ”den allra sista" kolumnen innebär bara en annorlunda fysisk position av korrektionsbitarna. Paritetsmatrisen [H] kan nu generellt skrivas såsom: [H] =[Ld(k+1)+b,i:[ där 0 ïÉd ÉÉL, 0 fib fik, OIíifEL. På liknande sätt kan dess transponerade matris skrivas: BJJ; [hß d(K+1)+b1 7903771-9 m Kodorden kan därvid anses innehålla L(K+1)+1 element (d.v.s. 19 i enlighet med .fig 1) eller symboler, varvid varje symbol är ett element i GF (24). i Ett kodord innehåller således alltid de motsvarande minnesorden från de olika minnesbankerna. Symbolerna är numrerade i enlighet med samma system som kolumnerna i pari tetsmatri sen. Antag att ett element med index f avviker från det korrekta vär- det, vilket kan representeras såsom: i? =? a Här representerar vektorn É'det korrekta kodordet;_Éx det felaktiga kodordet och TF; en vektor som i detta exempel också anfattar 19 element, av vilka 18 har värdet 0 (de är således skrivna såsom 0000, se fig 5), varvid bara elementet med indexet f har fonnen av symbolen _c_=.f som inte är identiskt lika med 0. Värdet på denna symbol är i sig känt av det aktuella minnesordets fyra paritetsbitar där det har värdet ” (1111) om alla bitar i den felaktiga symbolen också är felaktiga själva. EXKLUSIV- ELLER-symbolengß anger att elementen (symbolerna) i c och ef adderas bitvis och modulo-2. Vidare kan felets syndrom bestämmas på känt sätt genom multiplikation med paritetsmatrisenhlltid känd i förväg): *šïíå [n] Fc' oïç) .|:H]= Syndromvektorn-šyär oberoende av data i det korrekta kodordet c emedan, såsom redan sagtsffLHlalltid är lika med 0 och emedan vidare uteslutande linjära operationer användes. Syndromvektorn ïbestår av (L + 1) element, således tre element (symbo- ler) med fyra bitar i exemplet enligt fig 1. De första L elementen (i detta fall två) i syndromvektorn s är alla utom ettidentiskt lika med noll (0000) i händelse av ett sådant fel. Detta har i detta fall exakt värdet hos ef och bildar således ett av de två data som krävs för felkorrektionen: felsymbolen. Vilket av dessa ele- ment som inte är lika med noll är bestämt av banktalet i minnet, där felet har de- tekterats, och bestämmer således värdet på d i formeln: f=“d.(K + 1) + b Här är ~f felets position medan d och b är banktalet respektive positionen inom ban- i ken. För bestämningen av f måste värdet på b också vara känt. Värdet på det sista elementet (det tredje elementet i exemplet enligt fig 1) i syndromvektorfïär givet genom “angr Här är-e; återigen felvektorn omfattande 18 element (0000) och ett element som inte är lika med noll utan har värdetgf (symbol). Vidare ärgf elementet i bottenraden ( i exemplet den tredje raden) ochkolumnen med paritetsma- /çrisens ordning f. nv dessa data gg och _ef_ Ef kan _59 bestämmes på känt sätt 7903771-9 ll så att värdet på b i den visade formeln är känt. Således kan_gf bestämas pâ olika sätt, t.ex. genom adressering av ett ROM-minne. I det i fig 1 visade ekemplet kan ¿gg2och_gf._g vardera ha sexton olika värden så att en minneskapacitet av 16 = 256 ord räcker till. Ordpositionerna lagrar värdet pä b som således varierar från noll (0000) till 8 (1000).
En extra ordinfonnation kan vara reserverad för ett multipelfel så att en ord- längd av fyra bitar krävs. En annan metod som är särskilt lämplig för den i fig 2 visade konfigurationen består i att_gf upprepat multipliceras med al tills det är lika med_gf ._gf varvid antalet multiplikationer anger felpositionens ord- ning. Givetvis kan det förhållandet inträffa att_gf ._gf omedelbart är lika med ef så att inte-någon av de nämnda multiplikationerna krävs. Dä ett fel detekteras multipliceras därför först det felaktiga kodordet med den lämpligen lagrade pari- tetsmatrisen medelst känd matrismultipliceringsteknik. Ur denna syndromvektorïfbe- stämmes följande saker: värdet på d (i detta fall 0 eller 1), felsymbolenjšç samt produktsymbolen av felsymbolen_gf och lokaliseringssymbolen_gf varvid kombinati- onen av felsymbolen och produktsymbolen tillsammans alstrar fellokalisatorn b och således felvektorn ef. Paritetsmatrisen kan vara lagrad i en del av ett styrminne som är utfört som ett ROM-minne.
För det föregående gäller också ett förhållande (som skall vara uppfyllt) mel- lan antalet användarord per minnesord och antalet bitar per användarord. Detta för- hållande beskrivas 1 det efterföijanae. om detta förnaiianae är uppfyiit kan en gea- tycklig felvektorn'E? som förorsakar ett 1-bits fel i ett användarord (innefattan- de dess paritetsbit) detekteras med 100% säkerhet. Den "allra sista" kolumnen i pa- ritetsmatrisen hade därvid fonuen 0,...0,1. Ett fel i en korrektionsbit (E,F,G,H i fig 1) detekteras emellertid inte. Hela minnet bör därför periodiskt läsas för att kontrollera det korrekta värdet på korrektionsbitarna. Om detta underlâtes kan ett fefi som har inträffat korrigeras felaktigt av en korrektionsbit som själv är felak- tig. En lösning pä detta problem kommer att beskrivas i det efterföljande. Om bara en minnesbank finns i föregående exempel har syndromvektorn'É'bara tvâ element.
Fig 3 visar ett minne med tvâ banker och en korrigeringsmöjlighet för en fel- symbol per minnesord utan detektering av fel i korrektionssymbolerna. Bankerna inne- fattar modulerna 1-3 respektive 4-6. Varje databit (användarbit) och även paritets- biten i ett användarord lagras varje gäng i en separat modul, t.ex. en integrerad minneschip. Figuren visar för enkelhets skull bara ett urval därav. Modulen 1 inne- håller den första databiten i det första användarordet (OD i fig 1) i minnesmatrisen 10 med adressregistret 11 och databufferten 12. Denna modul är av en konventionell typ. För återstoden är nämnda adressregister och databuffert ej helt nödvändiga. En - enda databit i minnesmatrisen kan adresseras genom en adress som tas emot på adress- ledningen 13. Modulen 2 innehåller vidare den sista databiten i det första användar- '27903771-9 12 ordet (07 i fig 1) i matrisen 20 med adressregistret 21 och databufferten 22. Mel- lanmodulerna har för tydlighets skull utelämnats. Modulen 3 innehåller det första användarordets paritetsbit (A i fig 1) i minnesmatrisen 30 med adressregistret 31 och databufferten 32. De andra användarorden i samma minnesord kan vara lagrade i de' beskrivna modulerna på samma sätt som det första användarordet och detta gäller ock- så för andra minnesord. Modulerna 1 (...) 2,3 i den första minnesbanken utväljes -tillsammans genom ledningen 80 från avkodaren 9. En logisk "1“:a på densamma kan ha funktionen av en aktiveringssignal. På liknande sätt innehåller modulen 4 det första användarordets första databit i den andra minnesbanken (40 i fig 1); modulen 5 innehåller detta användarords sista databit och modulen 6 innehåller den tillhörande i paritetsbiten. De andra modulerna i den andra minnesbanken är också utelämnade. Mo~ dulerna 4 (..) 5,6 och de andra modulerna i den andra minnesbanken utväljes till- samans genom en signal på ledningen 81 från avkodaren 9, vilken således alstrar en-av-två-kod. Alla aktuella moduler kan ha smma konstruktion. Dm man använder mo- duler med en kapacitet av 4 k-bitar (4096 ord med en bit) och en organisation som är visad i fig 1 innehåller minnet 8192 användarod med åtta användarbitar vardera plus en paritetsbit, vilka är fördelade pâ 2048 minnesord. Modulen 7 innehåller alltid _data on alla korrektionsbitar (E,F,G,H i fig 1) per minnesord och har således en kapacität av 1024 ord med fyra bitar vardera. Det är uppenbart att modulen 7 kan vara utförd av fyra likadana element som vartdera har en kapacitet av 1024 ord med en bit vardera. För att uppnå en större kapacitet kan minneskonfigurationen utökas på motsvarande sätt.
Dm användaranordningen 83 kräver minnesaccess avger den en adress via ledningen 84 till minnet, vilken består av en bankadress (en bit i detta exempel) till avkoda- ren 9, en minnespositionsadress (i detta exempel 10 bitar) på ledningen 85 och ett användarordtal (inuti minnesordet), således i detta exempel tvâ bitar på ledningen 86. Det utlästa användarordet uppträder pä ledningen 87 i form av åtta bitar paral- lellt medan den tillhörande paritetsbiten uppträder pâ ledningen 88. Ledningarna 87 och 88 från motsvarande moduler i de olika bankerna kombineras bitvis, t.ex. alltid i en “wired"- ELLER funktion. Användaranordningen 83 kan vara av konventionell.kon- struktion, t.ex. en central dator i serien Philips P 1000. I användaranordningen 83 bestämmes pariteten för de nio bitarna på vanligt sätt, t.ex. medelst EXKLUSIVE- ELLER logik. Användaranordningen innefattar vidare ett dataregister 96 i vilket det mottagna användarordet lagras temporärt. Du pariteten är korrekt blir användar- ordet tillgängligt för vidare behandling; On pariteten är felaktig upptecknas infor- mationen om banktalet och användarordtalet cykliskt t.ex. genan att adressregistret 82 som avser dessa tre bitar_är utfört såsom en räknare vilken fortsätter att räkna under successiva klockpulscykler. I mottagna (i detta fall åtta) användarord lagras alla bitar temporärt i register som är anslutna till registret 96 och vilka inte är 13 7903771-9 visade för enkelhets skull. De två bitarna på ledningen 86 matas till väljaren 89.
I Sâ länge inget fel detekteras har detta ingen inverkan, emedan varje data som upp- träder på ledningen 92 ignoreras av användaranordningen. _ Den tiobits minnesordadressen matas till modulen 7 såsom en adressignal. Då ett fel detekteras matar användaranordningen 83 en aktiveringssignal till modulen 7 via ledningen 90 med resultat att fyra korrektionsbitar som är tillordnade det aktuella minnesordet adresseras, Dessa korrektionsbitar lagras temporärt i registret 91. Un- der tiden mottar väljaren 89 de cykliskt cirkulerande ordtalsdatana och transporte- rar under styrning därav varje gâng en av de fyra korrektionsbitarna från registret 91 via ledningen 92 till användaranordningen 83 som successivt mottar alla 76 bitar från det i fig 1 visade arrangemanget. Korrektion äger sedan rum på basis av den tidigare beskrivningen i följande steg: a) Först och främst multipliceras kodordet som skall korrigeras med paritetsmatrisen för att generera syndromet s . Paritetsmatrisen är t.ex. lagrad i en del av ett ROM-minne i användaranordningen 83 och har följande fonn: 1 1 1 1 I 1 1 1 1 0 0 0 0 0 0 0 0 0 0 H = 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 a az a3 a4 as ae a7 0 1 a az aa a4 as aö a7 0 1 Genom multiplikationen alstras syndromvektorn. Matrismultiplikation är en vanlig teknik som användes vid digital databehandling och kommer inte att beskrivas närmare. b) Därefter bestämmas värdena på de tre elementen s0, sl, sr i syndrunvektorn varvid följande möjligheter uppträder: .EÛ .El å' 1) 0 0 0 inga data avseende fel (=korrekt) 2) #0 0 0 fel i paritetsmodulen i bank 0 3) 0 #0 0 fel i paritetsmodulen i bank 1 4) 0 0 #0 fel i korrektionsmodulen (70) S) #0 0 #0 fel i användarsymbolbank 0 6) 0 i 0 #0 fel i användarsymbolbank 1 7) #0 fo fo multipelfel och okorrigerbara fel 8) #0 #0 #0 Fallet 1) anger att inget fel uppträder och kan därför inträffa som följd av el extra kontroll. Fallen 2,3 och 4 anger att felet inte har inträffat i en användarsymbol och att det adresserade användarordet är lämpligt för att användas utan korrektion. Fallen 5 och 6 anger att användarordet mäste korrigeras. Om t.ex. 7903771-9 i e 14 från början ett användarord från bank nr 0 har adresserats kan i princip fallen 3,4 eller 6 inte inträffa; fallet 4) kan också bara inträffa under en kontrolloperati~ on. Det är endast nödvändigt att korrigera användarordet i fallen 5) och 6). Felets position anges genom vektordivisionen srzs (1,0) = ai. Denna division definieras av Gallois-fältens algebra. d c) om värdet på i är känt och användaranordningen endast kräver det ursprungligen adresserade användarordet är det bara nödvändigt att invertera biten som svarar mot ordningen i (emedan en felbit detekterats i detta ord). Om hela minnesordet skall användas mäste den erhållna symbolen_gf adderas bitvis och alltid modulo-2 med den aktuella användarsymbolen.
Resultatet av den beskrivna korrektionen består ä ena sidan av ett korrigerat användarord och ä andra sidan av ett korrektionsord som kan lagras, t.ex. såsom sju i data 0 och ett data 1 i en position som är bestämd av den nämnda storheten i. Detta korrektionsord med samma struktur sun ett användarord lagras (inklusive banktalet för den bank i vilken felet inträffat) ; vidare registreras genom lämpliga statis- *tiska metoder hur ofta ett givet korrektionsord har inträffat. Då en given summa nås kan man med säkerhet anta att en given modul alstrar felet, så att korrektionsordet D kan erhålla status av förutbestämd korrektor för att användas för direkt korrigering av ett fel som detekterats i ett användarord. Detta spar uppenbarligen den tid som lannars skulle krävas för avläsning av de andra användarorden och för bestämning av den redan beskrivna syndrunvektorn.
Om ä andra sidan ett nytt användarord skall skrivas in i fig 3 tar ledningen 84 återigen emot en 13 bits adress bestående av ett banktal, en minnesordsadress och e användarordtal från användaranordningen. Läs/skrivstyrningen av minnet visas ej se- parat. Under en första behandlingsoperation utläses användarordet som är lagrat i den aktuella användarordpositionen och undersökes med avseende pâ fel samt om så krävs korrigeras på beskrivet sätt varefter det lagras, eventuellt efter korrektion i 8-bits registret 94. Förutom den visade ingången kan detta register också (eller till och med endast) ha en ingång som är ansluten till en utgång på registret 96 i användaranordningen 83 för att därifrån motta det utlästa korrigerade användarordet.
Den senare förbindningen är ej visad för tydlighets skull. Även om inte något fel har detekterats i det utlästa användarordet utläses vidare de fyra korrektionsbitar~ na för det aktuella ordet från modulen 70 och lagras i registret 91 under styrning med en aktiveringssignal på ledningen 90. Därefter transporteras datana i användar~ ordet som skall skrivas in via multipelledningen 93 till de aktuella modulerna och vidare till paritetsbitsgeneratorn 79 som alstrar en paritetsbit på basis av de mottagna användarbitarna; detta kan återigen realiseras på konventionellt sätt medelst en Exklusive~Eller logik. Paritetsbiten lagras tillsammans med användarbit~ 7903771-9 15 arna i den aktuella modulen 3 eller 6 som också adresseras (via ledningen 84). 5am~ tidigt matas de "nya" data tillsammans med de "gamla" data som fortfarande finns i registret 94 till den bitvis arbetande modulo-2-adderaren 97. Resultatet (8 bitar) matas till symbolgeneratorn 95 och omvandlas i denna till en 4-bits symbol såsom kommer att beskrivas i detalj i det efterföljande med hänvisning till fig 4. Denna omvandling utföres därigenom att användarordet (H0...H7) multipliceras med en matris som är sammansatt av storheterna (a°...a7). Resultatet blir en 4~bits symbol från GF (ZM). I multiplikatorn 98 multipliceras denna symbol med en ytterligare 4-bits symbol (aj) varvid värdet på exponenten j bestämmes av användarordtalet inuti minnesordet som matas till multiplikatorn 98 via ledningen 86 och varav modi- fieringen för korrektionsbitarna följer. I elementet 89 adderas denna modifiering bitvis och modulo-2 till innehållet i registret 91; slutresultatet lagras sedan (äter) i modulen 70, varvid adresseringen fortfarande åstadkommes av signalen på ledningen 85. Läs/skrivstyrningen är ej heller nu separat visad för modulen 70.
I det efterföljande ges en beskrivning på en annan utföringsfonn där korrek- tionsbitarna också kontrolleras. Den följande paritetsmatrisen användes varvid det enkla exemplet enligt fig 1 fortfarande gäller: 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 H = 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 _a az a3 a4 as as a7 aa 0 a az as a4 as as a7 aa 0 1 Elementet ao uppträder ej längre i användarblocken i den sista raden emedan elementen har multiplicerats med a. Vidare innehåller den nittonde kolumnen elementet 1 på den andra raden (detta kan uppenbarligen alternativt vara den första raden) med resultat att korrektionsbitarna liksom bildar en del av minnesbank nr 1.
Såsom redan har sagts kan istället för potensserien a...a8 en annorlunda serie av elementen i,GF (ZM) användas; detta gäller också den andra "1":an i den allra sista kolumnen (0 1 1) som i verkligheten representerar symbolen ao varför en annan exponent som är unik inom det tillhörande användarblocket också kan uppträda.
Feldetekteringspro- ceduren är i början densamma men de tre elementen (s0, sl, sr) i syndromvektorn sf har nu följande betydelse: - 7903771-9 16 s s 1) 0 0 0 ingen infonnation avseende fel 2) f 0 0 0 fel i paritetsmodulen i bank 0 g 3) o 'f o o fei 1 paricetsmaauien i bank 1 -e 4) f D 0 f 0 fel i användannodulen i bank 0 5) 0 0 # 0 fel i användannodulen i bank 1 eller fel i korrektionsmodulen 6) 0 0 # 0 u 7) f 0 f 0 ¥ 0 multipelfel- och okorrektierbart fel 8) f- oafloßo Samma betraktelser och operationer som beskrivits för den föregående utförings~ fonmen gäller även här. En skillnad består i att fallet 6 inte separat signalerar ett fel i korrektionsmodulen. Det modufierade signaleringssystemet har uppenbarligen konsekvenser för den i fig 3 visade anordningen och_en anordning som är utvecklad för detta ändamål är visad i fig 6. I denna utföringsfonn bestämmes paritetsbitarna i bank 0 (matris 30) på basis av datinnehållet i de aktuella användarorden men för bank nr 1 är korrektionsbitarna sambestämmande för värdet på paritetsbiten (detta är "1":an i den andra raden och den nittonde kolumnen i den ovan givna tabellen). Kor- rektionsbitarna själva är inte sambestämda genan värdet på paritetsbitarna. Därför är paritetsbitsgeneratorns 79li fig 6 utgång ansluten bara till modul 3 (matris 30) i banken 0. Vidare svarar serieförbindningen av elementen 94,97¿95,98,99 och för~ bindningen av elementen 91,89 i fig 6 mot fig 3. Paritetsbitarna i bank 1 behandlas temeiierria nu på föijanae sätt.- Då ett nytt användarord skall lagras bildas återigen den bitvisa Exklusiv-ELLER funktionen av användarbitarna i det "gamla" och det "nya" användarordet i elementet 97. Såsom redan har beskrivits lagras alla modifierade korrektionsbitar i det aktu- ella minnesordet i modulen 70 genun serieförbindningen av elementen 95,98 och 99.
Istället för modulen 6 finns här en matris 60A med ett adressregister 61A för lag~ ring av paritetsbitarna i banken 1. Denna matris har samma kapacitet som den nämnda f matrisen 60 men den har inte den beskrivna konfigurationen med 4096 ord med vardera en bit utan samma konfiguration som matrisen 70, således t.ex. 1024 ord-om fyra bi~ tar. Dessa kan alltid adresseras per ord genom tio adressbitar på ledningen 85. I fallet med en läsoperation i banken 1 utläses de aktuella fyra paritetsbitarna under styrning med en aktiveringssignal på ledningen 81 från matrisen 60A och även de fyra korrektionsbitarna från matrisen 70. Dessa åtta bitar lagras temporärt i de likartat konstruerade registren 91,101. Ledningens 90 funktion vad gäller matrisen 70 utföres nu av ledningen 81. Väljarna 89 och 102 mottar de två adressbitarna på ledningen 86 7903771-9 17 och tillåter passage av endast en paritetsbit genom ledningen 88 och en korrektions~ bit genom ledningen 92 till användaranordningen 83 vid en normal läsoperation. Denna anordning 83 bestämmer på beskrivet sätt pariteten hos det utlästa 8-bitsordet (bank 0) eller det utlästa 9~bits ordet (bank 1). Dm pariteten är korrekt blir datat till~ gängligt för vidare behandling. Vid en läsoperation i bank 0 användes samma krets för beräkning av pariteten, varvid en falsk korrektionsbit simuleras vilken inte inverkar på pariteten. On pariteten är felaktig läses de 76 bitarna i minnesordet återigen medelst cyklisk modifiering av den adresserade på ledningen 80,8l,86 och korrektionen utföres på beskrivet sätt (med hänsyn tagen till den modifierade pari~ tetsmatrisen).
Då ett nytt användarord lagras läses alltid matriserna 70 och 60A först däri~ genom att en signal på användaranordningens ledning 90A kombineras med signalen på ledningen 81 i ELLER-grinden 78. De utlästa korrektionsbitarna matas till elementet 99. Elementet 103 mottar den bitvis alstrade modulo-2 summan av det gamla och det nya användarordet (8 bitar) från elementet 97 och bildar därav en paritetsbit på samma sätt som elementet 79 (det senare gäller bara om det nya användarordet får rum i modul 0). Elementets 103 paritetsbit multipliceras med storheten aj i elementet 104. Exponenten j har samma värde som användarordtalet inom minnesordet (d.v.s.0...3) och storheten aj är således given i fig 2. Såsom redan har sagts är alla storheter aj (OIÉ j fí3) linjärt oberoende av varandra. Värdet på j tillföres såsom 2-bit signalen (00,01,10,11) på ledningen 86. De två adressbitarna avkodas för att bilda en 4-bits symbol. Dm paritetsbiten är '0“ blir resultatet av multiplikati~ onen uppenbarligen "0000". Grinden 106 styras genom ledningen 81 och blockeras då det nya användarordet är avsett för banken 0; elementet 105 mottar då kombinatio- nen "0000". Modulen 105 är en 4~bits modulo-2-adderare och mottar från elementet 98 4-bits modifieringsvektorn för korrektionsbitarna som införes och adderas till 4-bits modifieringsvektorn för användarbitarnas paritet såsom den är bestämd i ele- mentet 104. Detta resulterar i den slutgiltiga modifieringsvektorn för paritetsbi- tarna. Elementet 100 är en 4-bits modulo~2-adderare och adderar den nämnda modifie~ ringen till paritetsbitarna i registret 101 så att de ”nya” paritetsbitarna för ma~ trisen 60A blir tillgängliga för inskrivning. Läs/skrivstyrningen för matrisen är för tydlighets skull ej visad.
Fig 4 visar en utföringsfbnn av en krets som då ett nytt eller modifierat an~ vändarord skall skrivas in i en ordposition av en minnesposition tjänar att uppda~ tera de korrektionsdata som är tillordnade nämnda ordposition. Kretsen är utförd fö: det enkla exemplet enligt fig 3 och innehåller nämnare bestämt elementen 97,95,98 och 99. De andra elementen i de i fig. 3 och 6 visade kretsarna för alstring av kor rektions/paritetsbitarna har delvis konventionell konstruktion och delvis en kon- 7903771-9 g I B struktion som är visad i fig 4. Kretsen anfattar 23 EXKLUSIV-ELLER-grindar 201~223 och 24 NOCH-grindar 224-247. Då ett nytt användarord är klart matas det bitvis till ingångarna 248~255. Minnesorden antages vara sammansatta på det sätt som är visat i fig 1. Tillsammans med dessa ord matas det lagrade användarordet bitvis till in~ gångarna 256-263. Varje EXKLUSIV-ELLER-grind i serien 201~208 mottar således tvâ bitar av motsvarande signifikans. Elementet 97 bildas således. Då det tidigare tomma minnet initieras lagras användarordet (0...0). Den till koden hörande paritetsmatriä senåär inskriven som 1 1 1 1 1 1 1 1 1 o o o o o o o o o o u = o o o o o o o o o 1 1 _1 1 1 1 1 1 1 o go g1 gå ga ga gs gs gi o go g1_ gz ga g4 95, g7 g7 o 1 Varje kod-(minnes-) ord uppfyller sambandetzïf. [H]= 0.
För de två första matrisraderna betyder detta att pariteten hos användarordet. inklusive paritetsbiten måste vara jämn. För bestämningen av villkoret som är ställt genom den tredje raden i matrisen observeras att varje element i Galois~fältet GF (2M)= GF (24) kan skrivas såsom en linjär kombination av de första fyra elemen- ten a°,a1,a2,a3 i GF (24) eller, vad gäller detta, av vilka fyra godtyck- _ liga elenient som helst i GF (24) förutsatt att dessa fyra element bildar en lin~ järt oberoende grupp, Följaktligen kan exempelvis bbitselernenten-É (9a + b) i kod~ ordet C skrivas såsom följande summa; varvid j är en variabel: c(9a+b) =_Z c(9a+b, j). a i (I) a=0 Korrektionssymbolen erhålles om 1 7 _c(18) fr: Z c(9a+b) . g(b) (2) a=0 b=0 Substitution av (1) i (2) ger: 1 3 _9118) =z :z _a5.=(9a+b, -¿)._g(1>)= a=o b=oj=o 1 3 J 1 i" Z _a 2 c(9a+b), j) ._g(b) a=o j=o b=o 7903771-9 19 Detta betyder att korrektionsbitarna bildas såsom summan av bidragen från de individuella användarorden till korrektionsbitarna. Det är uppenbart att detta re~ sulterar i en relativt enkel krets emedan, då ett gammalt användarord ersättes med ett nytt användarord bara dessa tvâ grupper av bitar behöver tas med i beräkningen.
Bidraget från användarordet med talet j i minnesbanken med talet a blir därför: 7 _a3 Z c(9a+b), j)_g(b) b=0 Dä ett nytt användarord skrives in krävs det bara att addera bidraget av skillnaden mellan det gamla och det nya användarordet till korrektionsbitarna som redan finns; detta blir korrekt emedan alla förhållanden är linjära. Den ovan givna sum~ meringen 7 . ä ítgammaï (9a+b, J) Dem, (9a+b,j)} _gb göres i elementet 95. Detta emedan, om utgângssignalerna från grindarna 208~20l i fig 4 betecknas w0....w7 i denna ordning, följande multiplikation bildas därav: w0 wl v0 1 0 0 D 1 0 0 1 w2 vl = D 1 0 D 1 1 0 1 w3 v2 0 0 1 D 0 1 1 0 w4 v3 0 0 0 1 0 D 1 1 w5 ä° ål 2.2 P 24 25 åß å? .ia WL/ för att bilda fyrabits~symbolen v. De första åtta elementen # 0 i enlighet med den vänstra halvan av fig 5 i Galois-fältet har använts.
Härav följer direkt att v0 = wo O w4 0 w7 v1 = wl 0 w4 0 w5 0 w7 v2 = w2 0 w5 0 w6 V3 = w3 0 H6 0 w7 ELLER~grindarna 209-216 bildar i detta fall följande funktioner: 7905771-9 20 209: w6 8 w7 210: w5 8 w2 211: wl 0 w5 ' 212: w4 0 w7 216; va; 215: v1;214= va; 214: va.
Modulen 95 i den i fig 3 visade kretsen realiserar således av dessa element.
Symbolen_v = (v3 v2 vl v0) skall därefter multipliceras med_§J. Värdet på j är givet i binär fonm och avkodas inte i detta exempel utan var och en av de bâda_bit~ positionerna i användarordtalet styr ett av de tvâ stegen som utgör elementet 98.
Dä klämman 264 mottar logisk "O" vilket anger ett jämnt användarordtal kan grindarna 224, 226, 228, 230 leda och storheten_v matas i omodifierad fann via de aktuella grindarna 232, 233, 234, 235 till det andra steget. 7Dâ klämman 264 mottar logisk "I" vilket anger ett udda användarordtal kan grin~ darna 225, 227, 229, 231 leda och storheten !_multipliceras med symbolen ag (v3, v2, v1, v0) x_a = (v2, v1, V0, 0 v3, v3), där nämnda EXKLUSIV~ELLER~funktion bildas av grinden 217, varvid resultaten matas ltill nästa steg via de aktuella grindarna 232, 233, 234, 235.
On klämmorna 264 och 265 båda mottar logisk "D" leder också grindarna 236, 238, 240, 242 (en cirkel anger en inverterande ingång/utgång) varvid storheten_v matas till utgången i omodifierad fonn via de aktuella grindarna 244, 245, 246, 247.
'Men om i det senare fallet klämman 265 mottar logisk "1" vilket anger användar- ordtalet (10) leder grindarna 237, 239, 241, 243 och storheten !_multipliceras med æmbflengzz Ä - Ä * (V3 v2 vl v0) x_g2 = (v1, v0 0 v3, va 0 v3, v2, där nämnda EXKLUSIV- ELLER funktion bildas av grindarna 218,219 varvid resultaten matas till utgången via de aktuella grindarna 244, 245, 246, 247.
Om ordtalet är (11) bildas på motsvarande sätt följande: _(v3 v2 v1 v0) x a3 = (v1, v0 0 v3, v2 9 v3, v2) x a = (v0 8 v3, v2 6 v3, vl 0 v2, V1) 6 _ _ Modulen 98 i den i fig 3 visade kretsen har således realiserats.
Grindarnas 244-247 utgängssignaler adderas bitvis modulo~2 till korrektionsbi~ tarna som uppträder på ingångarna 266, 267, 268 respektive 269. De nya korrektions- bitarna uppträder för förnyad lagring på de aktuella utgângarna från grindarna 220-223. Modulen 99 i den i fig 3 visade kretsen har således realiserats. Den i fig 4 visade kretsen kan synkroniseras genom att addera till ett klockpulssystem men detta är för enkelhets skull ej visat.
De olika minnesparametrarna kommer att betraktas i det efterföljande. Följande definitioner gäller: -. 7903771-9 X är antalet användarbitar (ej redundant) i ett minnesord (i fig 1:32).
Y är antalet bitar i ett minnesord som är lagrat i en enda felisoleringsyta (alltid ett i det föregående men högre värden kan ookså uppträda).
K är antalet användarbitar (ej redundant) i ett användarord (åtta i fig 1). Z = X/Y är antalet felisoleringsytor bland vilka användarbitarna är fördelade.
L är antalet minnesbanker.
Q är antalet användarbitar i ett användarord som är lagrat i en enda felisolerings- yta.
Om det finns minst lika många isoleringsytor som det finns användarbitar i ett användarord lagras alla användarbitar i en separat isolationsyta per användarord: Q=1 och L=Z/K. Om antalet användarbitar per användarord är minst två gånger antalet isolationsytor väljes (L=1) och Q=K/Z för en bank. Av tekniska skäl väljes i det förra fallet ibland Qj>1; antalet banker uppgår därvid till L=Z. Q.K"1. kolumnerna i den använda paritetsmatrisen måste alla var olika i förhållande till varandra. I fallet med en minnesbank finns det bara tvâ rader i paritetsmatri- sen. Elementen är element i GF (ZM) så att 2" olika möjligheter finns. I fallet med en minnesbank och om korrektionsbitarna inte tas i beaktande i pariteten kan (det maximala) antalet kolumner i matrisen vara 2M+1, således 17 i fallet i enligt fig 1; femton användarbitar, en paritetsbit och en korrektionsbit ingår därvid.
Detta emedan i detta fall kolumnen för korrektionsbitarna innehåller element "O" utom ett så att den definitivt skiljer sig från alla andra kolumner. Om korrektions- bitarna ingår i pariteten kan antalet kolumner maximalt vara ZM och det maximala antalet användarbitar är därför alltid ett lägre (d.v.s. 14 i fig 1). Detta kan ut- tryckas genom följande fonnel: KS 2" ~ 1 respektive KS 2"-z.
Om flera bitar Q är lagrade i en enda felisolationsyta gäller följande: xsolzfl-n respektive kSauzWz).
Detta visar att i fallet med ett större antal användarord per minnesord (M större) användarordens längd också kan vara större. Detsamma gäller om Q_är större.

Claims (11)

7903771-9 '22 Patentkrav
1. l. Minnesanläggning med adresseringsorgan (ll) för att ta emot en användar- ordadress, en dataledníng (87) för att transportera ett adresserat användar- ord och en första minnesbank innehållande användarordpositioner, varvid ett första flertal av användarordpositioner upptar första felskyddsbitar var och en tillordnad ett respektive användarord och andra felskyddsbitar som är kol- _lektivt tíllordnade nämnda första flertal, k ä n n e t e c k n a d av att användarbitar i motsvarande bitpositioner i nämnda första flertal av användar- ord bildar en användarsymbol (02,l2,22,3Z), att nämnda första felskyddsbitar (A,B.C,D) bilšêfen paritetssymbol för att detektera ett enkel-bitsfel i det tillhörande användarordet, att nämnda andra felskyddsbítar bildar en korrek- tor-symbol (E,F;G,H), och att alla nämnda symboler bildar element Galoisfält, att nämnda första flertal bildar ett minnesord såsom ett av ett 1 ett enda ytterligare flertal av minnesord i nämnda minnesanläggning samt att nämnda minne har en detektoranordning (96) ansluten till dataförbindningen för de- tektering av ett enkelbitsfel och en detekteringssignalutgång ansluten till en ingång på nämnda adresseringsorgan (ll) för att därpå adressera de ytter- ligare användarordpositionerna av samma minnesord inklusive sina paritetsbi- tar och motsvarande korrektorsymbol, vilken senare utgång vidare är ansluten till en aktiveringsingâng på en korrektoranordning, vilken korrektoranordning har första medel för att presentera en paritetsmatris som består av element i samma Galois-fält, andra medel för att motta det utlästa och felaktiga minnes- ordet och multiplicera detta minnesord med paritetsmatrisen för att alstra en felsymbol och en produktsymbol av felsymbol och lokalisator-symbol, varvid 7 nämnda lokalísator-symbol anger felstället inom Galois-fältet, tredje medel för att motta_felsymbolen och produktsymbolen och generera en fellokalisator- storhet, fjärde medel för att korrigera det felaktiga minnesordet medelst fel- _ symbolen och fellokalísator-storheten samt utgångsmedel för att mata ut ett kor- rigerat användarord.
2. Minne enligt patentkravet 1, k ä n n e t e c k na t av att nämnda första me~ del är utförda att presentera en paritetsmatris som för de K anvândarsymbolerna per användar-ord inklusive dess paritetssymbol har ett användarblock i form av: 1 1 1... 1 11 med en :iiiäggskaiumm x mo m1 m2..m(K-1) to g ...J för korrektorsyrribolerna, varvid elementserien m0,m1....miK-1), 0} i fallet med M användarord per minnesord består av alla inbördes olika element i Galois-fältet GHZM), varvid nämnda kolumn (1,0) är tillordnad paritetssymbolerna och-.nâmnda kolumn (igmj) avviker från alla andra kolumner. 7903771-9 23
3. Minne enligt patentkravet 2, 1 vilket mi i gruppen av Symbvlêf 0.fl0»d1--- |(2"-1) inom Galois-fältet GF(2M), skriven såsom en potensserie, har värdet 0 u I
4. Minne enligt patentkravet 2, k ä n n e t e c k_n a t_ av att nämnda första medel är utförda att presentera ett värde x=0.
5. Minne enligt patentkravet 2, k ä n n e t e c k n a t av att nämnda första aeaei ar utfärda att presentera ett värde x = ap. varvid nämnda värde skiláer sig från alla element i serien {m0,m1...m(K~1l} .
6. Minne enligt något av patentkraven 2-5, k ä n n e t e c k n a t av att det finns minst en andra minnesbank som har en liknande konstruktion som den första min- nesbankens konstruktion vad gäller användarsymbolerna och paritetssymbolerna, varvid för varje andra minnesbank varje gång ett minnesord bildar ett kodord med ett mot- svarande minnesord från den första minnesbanken och korrektorsymbolen 1 minnesordet från den första ninensbanken finns däri har en korrigerande effekt på varje kodord.
7. Minne enligt patentkravet 6, k ä n n e t e c k n a t av att nämnda första me- del är utförda att presentera en paritetsmatris innehållande lika många (L) använ- darblock som det finns minnesbanker, vilka användarblock innehåller (L-1) rader av element 0, alla vidare innehåller en enda rad, alltid inbördes olika belägen, enbart innehållande element 1 och varje gång en på motsvarande sätt belägen ytterligare rad bestående av en serie av alla inbördes olika element i Galois-fältet GF(2M) vilken nämnda extra kolumn vid den position som svarar mot nämnda ytterligare rad innehål- ler ett ytterligare element i Galois-fältet GF (ZM) och för resten innehåller för- utom maximalt ett element med värdet ao inom GF (ZM) uteslutande element 0.
8. Minne enligt patentkravet 7, k ä n n e t e c k n a t av att nämnda första me- del är utförda att presentera nämnda ytterligare rad 1 paritetsmatrisen för varje användarblock såsom en inbördes identisk rad.
9. Minne enligt något av patentkraven 1-B i vilket dataförbindelsen är lämpad för att motta yttre infonnation. k ä n n e t e c k n a t av att det finns en kodnings- anordning som vid en skrivoperation 1 en minnesposition som kan vara adresserad ge- nom en adressignal kan motta korrektionsbitarna för denna minnesposition som också _kan adresseras genun nämnda adressignal plus modifieringsinformationen för användar- ordet ånyo skrivs in för att också lagra en uppdaterad uppsättning av korrektionsbi- tar på basis av nämnda kombinerade infonnation. 7903771-9 24 t
10. Minne enligt patentkravet 2,3 ellerl4, k 'a' n n e t e c k n a t .av att det finns femte medel 'för att generera användarordrnodifieringssignaler under styrning med en kombination av ett 'gammalt". och ett 'nytt' användarord, sjätte medel för att multiplicera användarordnodifieringssignalerna med en vektor {m0,m1....m(_K-1l för att bil da en korrektonnodifieringsmellansymbol, sjunde medel för att multiplicera korrektonnodifieringsmellansymbolen med användarordtalet för att bilda en korrektur- modifieringssymbol samt åttonde medel för attmodi fiera det aktuella minnesordets korrektorsymbol med korrektonnodifieringssymbolen.
11. Minne enligt patentkravet 2,3 eller S, k ä n n e t e c k n a t av att det finns femte medel för att generera användarordmodifieringssignaler under styrning med en konibination av ett ”gammalt” och ett "nytt" användarord, sjätte medel för att multiplicera användarordmodifieringssignalerna med vektorn m0, m1....m(K-1) mj för att bilda en 'korrektonnodifieringsmellansymbol , sjunde medel för att multiplicera i korrektonnodifieringsznellansyinbolen med användárordtalet för att bilda en korrektor- lmodifieringssymboll, åttonde medel för att modifiera det aktuella minnesordets kor- .rektorsymbol med korrektonnodifieringssymbolen samt nionde medel för att mödifiera paritetssymbolen 'för det aktuella mi nnesordet inklusive korrektorsymbol en med kor- rektonnodi fi eri ngssymbol en.
SE7903771A 1978-05-02 1979-04-30 Minne med feldetektering och felkorrigering SE441790B (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL7804674A NL7804674A (nl) 1978-05-02 1978-05-02 Geheugen met detektie en korrektie van fouten.

Publications (2)

Publication Number Publication Date
SE7903771L SE7903771L (sv) 1979-11-03
SE441790B true SE441790B (sv) 1985-11-04

Family

ID=19830766

Family Applications (1)

Application Number Title Priority Date Filing Date
SE7903771A SE441790B (sv) 1978-05-02 1979-04-30 Minne med feldetektering och felkorrigering

Country Status (8)

Country Link
US (1) US4335458A (sv)
JP (1) JPS54144146A (sv)
CA (1) CA1128664A (sv)
DE (1) DE2916710A1 (sv)
FR (1) FR2425112B1 (sv)
GB (1) GB2020866B (sv)
NL (1) NL7804674A (sv)
SE (1) SE441790B (sv)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4345328A (en) * 1980-06-30 1982-08-17 Sperry Corporation ECC Check bit generation using through checking parity bits
US4464752A (en) * 1981-11-06 1984-08-07 The Singer Company Multiple event hardened core memory
JPS58105500A (ja) * 1981-11-23 1983-06-23 スペリ・コ−ポレ−シヨン メモリ駆動回路故障検出システム及び方法
JPS58141059A (ja) * 1982-02-15 1983-08-22 Nec Corp 多値デイジタル無線通信方式
US4506364A (en) * 1982-09-30 1985-03-19 International Business Machines Corporation Memory address permutation apparatus
CA1234222A (en) * 1984-09-26 1988-03-15 Akira Matsushita Method and apparatus for error correction
US4710934A (en) * 1985-11-08 1987-12-01 Texas Instruments Incorporated Random access memory with error correction capability
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
DE3716554C1 (en) * 1987-05-18 1988-08-04 Markus Wagner Method and circuit arrangement to secure digital memories
US4958350A (en) * 1988-03-02 1990-09-18 Stardent Computer, Inc. Error detecting/correction code and apparatus
US5172379A (en) * 1989-02-24 1992-12-15 Data General Corporation High performance memory system
US5345582A (en) * 1991-12-20 1994-09-06 Unisys Corporation Failure detection for instruction processor associative cache memories
US5612965A (en) * 1994-04-26 1997-03-18 Unisys Corporation Multiple memory bit/chip failure detection
US6738935B1 (en) * 2000-02-07 2004-05-18 3Com Corporation Coding sublayer for multi-channel media with error correction
US20030229844A1 (en) * 2002-03-25 2003-12-11 Akash Bansal Graceful degradation of serial channels
US7062592B2 (en) * 2002-03-25 2006-06-13 Intel Corporation Selecting a queue for service in a queuing system
US7324537B2 (en) * 2003-07-18 2008-01-29 Intel Corporation Switching device with asymmetric port speeds
US20050013251A1 (en) * 2003-07-18 2005-01-20 Hsuan-Wen Wang Flow control hub having scoreboard memory
US7080168B2 (en) * 2003-07-18 2006-07-18 Intel Corporation Maintaining aggregate data counts for flow controllable queues
US7324541B2 (en) * 2003-12-22 2008-01-29 Intel Corporation Switching device utilizing internal priority assignments
US7570654B2 (en) * 2003-12-22 2009-08-04 Intel Corporation Switching device utilizing requests indicating cumulative amount of data
US7623524B2 (en) * 2003-12-22 2009-11-24 Intel Corporation Scheduling system utilizing pointer perturbation mechanism to improve efficiency
US20050207436A1 (en) * 2004-03-18 2005-09-22 Anujan Varma Switching device based on aggregation of packets
US8464093B1 (en) * 2004-09-03 2013-06-11 Extreme Networks, Inc. Memory array error correction
US7538076B2 (en) 2005-03-28 2009-05-26 The Lubrizol Corporation Lubricant and concentrate compositions comprising hindered-phenol-containing diester antioxidant and method thereof
US7843927B1 (en) 2006-12-22 2010-11-30 Extreme Networks, Inc. Methods, systems, and computer program products for routing packets at a multi-mode layer 3 packet forwarding device
DE102006016499B4 (de) * 2006-04-07 2014-11-13 Qimonda Ag Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur
US20080159145A1 (en) * 2006-12-29 2008-07-03 Raman Muthukrishnan Weighted bandwidth switching device
JP5278115B2 (ja) * 2009-03-31 2013-09-04 日本電気株式会社 冗長符号生成方法及び装置、データ復元方法及び装置、並びにraid記憶装置
US8719684B2 (en) 2010-08-31 2014-05-06 Qualcomm Incorporated Guard interval signaling for data symbol number determination
US8935592B2 (en) * 2012-11-20 2015-01-13 Arm Limited Apparatus and method for correcting errors in data accessed from a memory device
US9600189B2 (en) 2014-06-11 2017-03-21 International Business Machines Corporation Bank-level fault management in a memory system
US9703630B2 (en) 2015-06-08 2017-07-11 International Business Machines Corporation Selective error coding
CN107680629B (zh) * 2017-10-30 2020-08-25 中北大学 一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3851306A (en) * 1972-11-24 1974-11-26 Ibm Triple track error correction
US3893070A (en) * 1974-01-07 1975-07-01 Ibm Error correction and detection circuit with modular coding unit
US3893071A (en) * 1974-08-19 1975-07-01 Ibm Multi level error correction system for high density memory
US4077565A (en) * 1976-09-29 1978-03-07 Honeywell Information Systems Inc. Error detection and correction locator circuits
US4072853A (en) * 1976-09-29 1978-02-07 Honeywell Information Systems Inc. Apparatus and method for storing parity encoded data from a plurality of input/output sources
JPS5381036A (en) * 1976-12-27 1978-07-18 Hitachi Ltd Error correction-detection system

Also Published As

Publication number Publication date
JPS6122826B2 (sv) 1986-06-03
US4335458A (en) 1982-06-15
CA1128664A (en) 1982-07-27
SE7903771L (sv) 1979-11-03
FR2425112A1 (fr) 1979-11-30
DE2916710C2 (sv) 1989-03-09
JPS54144146A (en) 1979-11-10
NL7804674A (nl) 1979-11-06
GB2020866A (en) 1979-11-21
GB2020866B (en) 1982-04-07
FR2425112B1 (fr) 1986-11-14
DE2916710A1 (de) 1979-11-08

Similar Documents

Publication Publication Date Title
SE441790B (sv) Minne med feldetektering och felkorrigering
US4402045A (en) Multi-processor computer system
US4450561A (en) Method and device for generating check bits protecting a data word
US4345328A (en) ECC Check bit generation using through checking parity bits
US4547882A (en) Error detecting and correcting memories
US5099484A (en) Multiple bit error detection and correction system employing a modified Reed-Solomon code incorporating address parity and catastrophic failure detection
US4928280A (en) Fast processor for multi-bit error correction codes
US4512020A (en) Data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes
US20090049366A1 (en) Memory device with error correction system
US5966389A (en) Flexible ECC/parity bit architecture
GB2216690A (en) Error detecting/correction
JP2745252B2 (ja) 半導体記憶装置
US5691996A (en) Memory implemented error detection and correction code with address parity bits
SE438581B (sv) Anordning for inmatning av binerdata
SE460243B (sv) Foerfarande och apparat foer avkodning av kodord som aer blockvis skyddade mot upptraedande av ett flertal symbolfel inom ett block medelst en reed-solomon-kod
JPS6326420B2 (sv)
SE466368B (sv) Databehandlingsanordning sammansatt av fyra databehandlingsmoduler med huvudsakligen identisk konstruktion, med skydd baade mot samtidiga enkel-bit fel i flera databehandlingsmoduler och mot fel i en databehandlingsmodul
US5761221A (en) Memory implemented error detection and correction code using memory modules
JP2776839B2 (ja) 半導体メモリ
JP2506936B2 (ja) メモリの誤り検査方式
US6901552B1 (en) System for storing data words in a RAM module
US4868829A (en) Apparatus useful for correction of single bit errors in the transmission of data
JP5617776B2 (ja) メモリ回路,メモリ装置及びメモリデータの誤り訂正方法
CN106021012B (zh) 数据处理电路
EP0120371A2 (en) Fault alignment control system and circuits

Legal Events

Date Code Title Description
NUG Patent has lapsed

Ref document number: 7903771-9

Effective date: 19910123

Format of ref document f/p: F