SE466368B - 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 - Google Patents

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

Info

Publication number
SE466368B
SE466368B SE8703405A SE8703405A SE466368B SE 466368 B SE466368 B SE 466368B SE 8703405 A SE8703405 A SE 8703405A SE 8703405 A SE8703405 A SE 8703405A SE 466368 B SE466368 B SE 466368B
Authority
SE
Sweden
Prior art keywords
data processing
code
bytes
fed
coding
Prior art date
Application number
SE8703405A
Other languages
English (en)
Other versions
SE8703405D0 (sv
SE8703405L (sv
Inventor
Gils W J Van
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 SE8703405D0 publication Critical patent/SE8703405D0/sv
Publication of SE8703405L publication Critical patent/SE8703405L/sv
Publication of SE466368B publication Critical patent/SE466368B/sv

Links

Classifications

    • 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
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

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)
  • Error Detection And Correction (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

466 368 10 15 20 25 30 35 2 kodningsmoduler som matas av de tillordnade databehandlingsorganen för byte-vis kodning av ett behandlingsresultat med 2n bytes till ett kod- ningsresultat med n bytes, respektive minnesmoduler som matas av den tillhörande kodningsmodulen för lagring av kodningsresultatet, ett för- bindningsnät som matas av de respektive databehandlingsmodulerna för att mata kodningsresultat mellan alla databehandlingsmodulerna samt ingångs- avkodare som matas av nämnda förbindningsnät för att ta emot nämnda kod- ningsresultat i grupper av fyra bytes och därav âterbilda ett tvâ-bytes dataord som representerar nämnda behandlingsresultat och matas till det tillordnade databehandlingsorganet, varvid nämnda databehandlingsanord- ning vidare innefattar modregisterorgan för att styra nämnda ingängsav- kodare i respektive första, andra och tredje moder för att i en första mod acceptera och behandla alla bytes i en nämnda grupp, för att i var och en av fyra respektive andra moder acceptera och behandla tre bytes i en nämnda grupp men förkasta en tillhörande fjärde byte i gruppen i fråga och att i var och en av sex respektive tredje moder acceptera och behand- la två bytes i en nämnda grupp men förkasta en tillhörande kombination av tvâ återstående bytes i gruppen ifråga, och där nämnda kodningsmoduler multiplicerar varje byte i ett dataord med en regelbunden matris och summerar dessa multiplikations-bytes för att alstra en kod-byte, varvid de fyra kod-bytes som sålunda genereras av de respektive kodningsmodul- erna utgör kodord, i en kod med ett minimalt Hamming-avstånd över bitarna av sju, medan de tre kod-bytes som accepterats i varje andra mod utgör ett partiellt kodord med ett minimalt Hamming-avstånd över bitarna av fyra och de två bytes som accepterats i varje tredje mod utgör en repre- sentation av alla bitar i det tillhörande behandlingsresultatet.
SAMMANFATTNING AV FIGURERNA Uppfinningen förklaras närmare med hjälp av en föredragen ut- föringsform som exemplifieras genom följande figurer: Figur 1 visar en databehandlingsanordning enligt uppfinningen; Figur 2 visar paritetscheckmatriser för nio koder med avseende på baserna B43 och B95 med en minimal avstàndsprofil av (7, 4, 1); Figur 3a, 3b, 3c visar de binära represenationerna för elementen i ett speciellt Galois-fält Gf (23); Figur 3d visar en s k redundant paritetscheckmatris; Figur 4a visar en grupp av avkodningsdefinitioner; Figur 4b visar en grupp av uppskattade meddelanden; 10 15 20 25 30 35 466 368 3 Figurerna Sa, 5b visar en lista av alla korrigerbara felklasser, deras detektering och val av uppskattade meddelanden; Figur 6 visar reglerna för en avkodare; Figur 7 visar en global avkodningsdesign.
BESKRIVNING AV EN FÖREDRAGEN UTFÖRINGSFORM Figur 1 visar en databehandlingsanordning enligt uppfinningen.
Datana består av ord, varvid varje ord har 16 bitar och representerar tva symboler i ett Galois-fält, såsom kommer att förklaras i det efterfölj- ande. Dataorden uppträder på ledningarna 62, 64, 66, 68. De behandlas i de respektive processorelementen 12, 14, 16, 18. Som svar härpå alstrar processorelementen dataresultatord på ledningarna 90, 92, 94, 96 eller adressord på ledningarna 70, 72, 74, 76. En ej visad känd minnesdrivenhet kan vara anordnad för var och en av minnesmodulerna. De lokala minnena 28, 30, 32, 34 adresseras via adressavkodarna 27, 29, 31, 33. Av varje 16-bits dataord som tagits emot bildas en 8-bitskodsymbol i var och en av kodgeneratorerna 20, 22, 24, 26, så att kodsymbolerna som bildats av ett dataord tillsammans bildar ett kodord. Dessa kodsymboler matas till minnena 28, 30, 32, 34 för att lagras. Efter avläsning regenereras kod- symbolerna i läsförstärkarna 36, 38, 40, 42. Regenereringen kan alterna- tivt åstadkommas utan mellanlagring i minnena. Kodsymbolerna kan samtliga matas till alla register 46, 48, 50, 52. Dessa register är anslutna till rekonstruktionsanordningar eller avkodare 54, 56, 58, 60 som áterbildar dataorden av kodorden och matar dem till ledningarna 62, 64, 66, 68. Kon- binationen av elementen 46, 54, 12, 20, 28 och 36 ingår i en separat fel- isolationszon och motsvarande gäller för andra zoner. Det antages att felen i tva olika zoner är oberoende; i många fall är detta krav uppfyllt för många kategorier av fel om varje felisolationszon t ex täcker ett separat tryckt kretskort plus komponenter eller alternativt en separat integrerad krets. Den på ritningen visade kretsen bildar således fyra felisolationszoner. Synkroniseringen av funktionen i de fyra felisola- tionszonerna har för enkelhets skull utelämnats. Processorerna arbetar i enlighet med program. Konstruktionen av delsystemen i de aktuella feliso- lationszonerna är identisk bortsett ifrån kodgeneratorerna (20, 22, 24, 26) som var och en realiserar en speciell algoritm för att bilda de fyra respektive kodsymbolerna av 16-bits dataordet. Vidare kan styrningen av F datarekonstruktionsanordningarna 54, 56, 58, 60 skilja sig beroende på datorsystemets styrmod. Det har visat sig att den normala moden som kan 466 368 10 15 20 25 30 35 4 korrigera upp till tre godtyckligt belägna bitfel eller ett en-symbolfel är mycket väl lämpad för korrektion av fel som uppträder i minnet. Dessa senare fel är vanligen inbördes oberoende och dessutom ofta s k “mjuka fel". Symbolfel som gör en hel symbol otillförlitlig förorsakas vanligen av en felaktig processor. Dessa kan behandlas i en raderingsmod där alla data- och/eller styrsignalerna som alstras av en valbar felisolationszon eller databehandlingsmodul ignoreras. Det har visat sig att sådana sym- bolfel vanligen är av permanent natur. Emellertid behöver de inte repare- ras omedelbart i detta datorsystem, emedan avkodarna kan ställas om till raderingsmoden. Det har visat sig fördelaktigt att koppla över till ut- raderingsmoden så snart som är nödvändigt. Vidare innefattar felisola- tionszonen i figur 1 ett separat felregister (148, 150, 152, 154) som är styrt av utgångssignaler från den aktuella avkodaren (54, 56, 58, 60) och vars utgångssignaler matas till den centrala styranordningen 44. Slutli- gen visas áterställningsledningar för felregistren från den centrala styrenheten 44. Det multipla utförandet av dessa styrledningar är ej visat. Vidare innefattar varje felisolationszon ett respektive 4-bitsmod- register 140, 142, 144, 146. Modregistren är styrda av utgångssignaler från de tillhörande avkodarna (54, 56, 58, 60). Innehållet i varje mod- register styr den tillhörande avkodarens arbetsmod. Inställningen av fel- registret är samstyrt genom innehållet i det tillhörande modregistret.
Denna relation är angiven genom en extra pil. Slutligen tar varje mod- register emot styrsignaler från den centrala styranordningen 44. I en annan utföringsform är också den centrala styrningen fördelad över de fyra databehandlingsmodulerna. Kommunikationssystemet för att kommunicera styrmeddelanden mellan dessa ej visade fördelade styrmoduler kan vara ut- fört i enlighet med den tidigare holländska patentansökningen 8402472 eller motsvarande US patentansökning Ser. No. 758932 som härmed infoxcs såsom referens. Kommunikationsschemat tillåter godtycklig felfunktion 1 en databehandlingsmodul.
I arrangemanget enligt figur 1 utföres samma program i alla :sola- tionszonerna i det felfria tillståndet. Detta gäller också i den normala moden. Men om en systematisk störning inträffar i en given felisolations- zon detekteras det därav följande symbolfelet med upp till bitvikten 8 i de andra isolationszonerna; dessa zoner kommer därvid att koppla över till raderingsmoden, så att den felaktiga isolationszonen ej längre tas i beaktande. I den felaktiga isolationszonen själv behöver signaleringen ej vara korrekt; det kan t o m inträffa att en helt annorlunda styrning sker 10 15 20 25 30 35 466 368 5 (t ex till följd av ett fel i modregistret). Men systemet som helhet fortsätter att arbeta korrekt tack vare de tre andra felisolationszon- erna.
KONSTRUKTIONEN AV MÖJLILGA KODER I denna sektion kommer konstruktionen av [4,2]-koder över Galois- fältet GF (28) med minimala distansprofilen (7,4,1) att beskrivas.
Som alfabet tar vi GF (28) = 0,1,m,u2,....u254, där u är en primitiv rot till det primitiva polynomet x5+x4+x3+x2+1 (för en utförlig behandling av Galois-fält, se F.J. Mac Williams och D.J.A.
Sloane, 'The Theory of Error-correcting Codes", North Holland Pub. Cy.
Amsterdam 1977).
Med avseende pä en bas i GF (28) över GF (2), kan elementen i GF (23) representeras såsom binära vekto~ rer av längden 8. För y e GF (23) är (a0,a1,...,a7) den binära representationen av 1 om ai«b<1> i=0 En [4,2]-kod över GF (28) har en systematisk paritetscheckmatris av följande form: 1 0 GP11 mP12 H: 0 1 uP21 uP22 Problemet är att finna en 8-tuple (b(0),b(1),...,b(7)) och en 4- tuple (p11,p12,p21,p22) sä att [4,2]-koden med paritetscheckmatrisen I har en "stor" minimal distansprofil med avseende på basen ub(1),...,ab(7)>. Den minimala distansprofílen för vilken som helst [4,2]-kod över GF (28) kan bevisas ej ha nâgra högre element än de hos profilen (8,4,1). Inget analytiskt uttryck finns emellertid för den aktu- ella minimala distansprofilen som kan näs. Elementen i den minimala di- stansprofilen utgör en avtagande serie.
Galois-fältet GF (23) har ett mycket stort antal (~fl012) baser så det är ej praktiskt att utvärdera dem alla. Vidare ger varje bas upp- hov till ett avsevärt antal olika koder, såsom framgår av den utförings- 466 568 10 15 20 25 30 35 6 form som beskrivs i det efterföljande. Även om brákdelen koder som har en optimal distansprofil är mycket liten är á andra sidan antalet av dessa optimala koder i sig stort. Därför presenteras följande sökstrategi.
Först och främst har vi begränsat oss till de normala baserna i GF(8), av vilka det bara finns 16: Bj==', där j = 5,9,11,15,21,29,39,43,47,53,55,61,63,87,91,95.
I sig är dessa normala baser kända i den aktuella tekniken. För var och en av dessa normala baser har vi sökt efter 4-tuples (p11,p12,p21,p22) som ger "goda" koder. Dessa normala baser ger i kombination med de 2554 möjliga fyra-tuples upphov till 2554x16 möjliga koder. Dessa många koder ger var och en upphov till en speciell minimal distansprofil. Det är möjligt att ange en sökoperation för att finna fyra-tuples som ger goda koder. Detta kommer att beskrivas i det efterföljande. Denna sökning gav till resultat alla fyra-tuples, för vilka den motsvarande [4,2]-koden alstrar en minimal distansprofil av (7,4,1) med avseende på en given nor- mal bas.
Med avseende på baserna Bi, = i= 5,9,15,21,29,39,53,55,61,63,87,91 existerar ingen [4,2]-kod över GF(23) med en minimal distansprofil av (7,4,1) eller (8,4,1).
Med avseende pa baserna B11 och B47 finns i huvudsak bara en [4,2]- kod med den minimala distansprofilen (7,4,1), d v s den med paritets- checkmatrisen 1 0 3 312 H: 0 1 33 34 där B:=u17 (således BsGF (24): B är ett element i ett delfält.
Hed avseende på baserna B43 och B95 finns i huvudsak 9 koder med den minimala distansprofilen (7,4,1) vilka är de som har de i figur 2 visade paritetscheckmatriserna.
Andra ekvivalenta koder kan erhållas genom att permutera kolumner i den tillhörande matrisen H och/eller genom att multiplicera dessa matri- ser H med 2 ggr 2 regelbundna matriser över GF(23).
För de normala baserna i GF(23) existerar inte [4,2]-koder med den - minimala distansprofilen (8,4,1). Det föregående är en begränsadademon- stration av kodsökningsstrategin. Av utrymmesskäl presenteras inga andra 10 15 20 25 30 35 466 568 7 koder. Det är mycket osannolikt att en (8,4,1)-kod skulle existera för någon annan bas.
AVKODARKONSTRUKTIONEN I det efterföljande betraktas konstruktionen av en utföringsform av en avkodare. I Låt oss betrakta [4,2]-koden C över Galois-fältet F:=GF(23) med paritetscheckmatrisen Hs= 0 1 65 B Matrisen ß 96 1 o c5= är en generatormatris för denna kod, vilken har en minimal distansprofil 43 =( q43, (186, (1172, q89, q178' 11101, a202, u149>. Lat M vara den binära 8 ggr 8 matrisen vars i:e rad är den av (7,4,1) med avseende på basen B binära representationen av Bu43*21 med avseende på basen B Den 43' binära representationen av elementen i GF(23)= 0,1,u,u2,...u254, där a är en rot till x3+x4+x3+x2+1=0 med avseende på basen B43, är given i figur- erna 3a, 3b, 3c. Således är den binära bilden av matrisen G5 u M6 I e o Gbin = H2 u o I medan den binära bilden av H5 är r o MT (uTyz "bin = o r (MTJG uT 466 368 10 15 20 25 .30 35 8 För avkodning användes den “redundanta' paritetscheckmatris, vilken är visad i figur 3d.
Ett kodord g=(g1,g2,g3,g4) i [§,2]-koden C över GF (23) består av fyra symboler g¿, i=1,2,3,4 med 8 bitar vardera. Syndromet för ett stört kodord r=_r_1.;2.;3.r4)=(c1.s2.c3.s4)+ (g1,g2,§3,g4) definieras genom a=(s1.s2.s3.s4)= I 0 M M2 (Ä1IÄZIÄ3IÄ4) X M6 M Û I För en binär vektor Ä, definieras vikten wt(§) av Ä såsom antalet kompo- nenter i ¿ som är lika med ett (s skilt från noll).
Nu definierar vi ett antal grupper. Gruppen (*0O0) definieras genom ((¿,Q,Q,Q : 5 e F, # 0)). Detta motsvarar ett felmönster som bara skulle påverka den första symbolen i kodordet. Pâ analogt sätt definieras grupperna (0*00), (00*0) och (000*).
Grupperna (ijkm), i,j,k,m s (0,1,2) definieras genom ((u.r.u.z.)=u.r,u.r eæywtui) = i,wt(y)= j,wt(g) = k,wt(¿) = m). Dessa grupper definierar felmönster som skulle störa maximalt två bitar i varje kodsymbol. En utradering, d v s en känd databehandlingsmodul har blivit felaktig och kan ej korrigeras, kommer att betecknas med “E“. Grupperna (Ejkm), j,k,m e (0,1) definieras genom Hurri)=u.r.u.ref.wt(r) = i.wt(v_) = k. wt(§) = m).
I denna grupp göres ingen restriktion av u emedan den betecknas såsom en radering och ignoreras fullständigt. Dessa grupper definierar felmönster med högst ett enkelbitsfel utanför den raderade kodsymbolen.
På analogt sätt definieras (iEjk), (ijEk), och (ijkE). De grupper som definieras genom ovanstående 4-tuples kallas felklasser. Gruppen U av korrigerbara felmönster är kombinationen av de felklasser som är visade i figur 5a, 5b (första kolumnen). Härvid är en asterisk ett godtyckligt symbolfel, medan E är en raderingssymbol och heltal anger antalet bitfel i den tillhörande symbolen.
För en fast felklass i gruppen U av korrigerbara felmönster har syndromerna av dess element någon egenskap gemensam. Exempelvis har alla 10 15 20 25 _30 35 466 368 9 felmönster g i felklassen (*00O) det gemensamt att deras syndrom §.=(§1.§2,.a3,s4) uppfyller §1=Q,§2#Q,§3#Q,§4#Q. Alla felmönster_g i felklassen (i0j0) har det gemen- samt att deras syndrom §=(§1,§2,§3,§4) uppfyller wt(§1M“5)=j och wt(§3M'5)=i. Vi skall använda sådana egenskaper som delas av element i en felklass i avkodningsprocessen. Därför har vi konstruerat en grupp av boole-uttryck, en för varje felklass som finns i gruppen U av korriger- bara felmönster, så att dessa boole-uttryck är inbördes exklusiva och så att varje felmönster i en felklass från U uppfyller boole-uttrycket som motsvarar denna felklass. Boole-uttrycken är givna såsom exempel i första hand, emedan de avser den givna specifika koden (vilken är en av många), i andra hand emedan andra grupper av boole-uttryck kan väljas för denna speciella kod.
För alla felklasser som innehåller element för vilka minst två sym- boler är korrekta kan detta lätt göras. Om det är ett felmönster som an- tas vara i en sådan felklass så blir också uppskattningen av meddelandet enkel, emedan minst två symboler (de korrekta) i det störda kodordet i [4,2]-koden bestämmer det motsvarande meddelandet.
För felklasser som innehåller element för vilka tre symboler har vikten 1 måste vi bestämma bitfelet i en av symbolerna. Om detta göres har vi två korrekta kodordssymboler. Av dessa uppskattas sedan det sända meddelandet.
För att konstruera de ovannämnda boole-variablerna behöver vi följ- ande definitioner. Med gj betecknar vi den binära vektorn av längden 8 med en etta i den jze positionen och nollor på andra ställen.
DEFINITIONER Figur 4a visar en första grupp av definitioner. Följande moder i avkodaren definieras: RM = 1 om och bara om avkodaren arbetar i slumpmod, d v s alla utgångssignalerna från de fyra enheterna (databehandlings- modulerna) betraktas vid avkodningsprocessen; Efli = 1 om och bara om avkodaren arbetar i raderingsmod i, d v s _enheten i betraktas såsom felaktig (alstrar en radering); SM¿j - 1 om och bara om avkodaren arbetar i singel-mod, d v s bara enheterna i och j betraktas såsom fungerande korrekt; Figur 4b visar en grupp av uppskattningar av meddelandet.
Figur Sa, 5b visar en lista av alla korrigerbara felklasser (EC), 466 568 10 15 20 25 30 35 10 det motsvarande boole-uttrycket som skall användas (BE) och den tillhör- ande uppskattningen av meddelandet (ME) för alla felklasser av korriger- bara felmönster. Återigen anger en asterisk ett godtyckligt symbolfel.
Ett "E" anger en raderingssymbol för vilken läget är känt. Heltal 0,1... anger antalet bitfel i den tillhörande symbolen. (Noll anger en korrekt symbol). Heltal 3,4... skulle representeras genom en asterisk. Tre eller flera bitfel i en (ej raderad) symbol kombinerat med något felmönster som ej är noll i de andra symbolerna kan ej korrigeras med 100 % effektivi- tet.
Ett felmönster g i (1100) uppfyller exempelvis boole-uttrycket RM f11f21 = 1, och meddelandet kan uppskattas med fiá4 (observera att OCH- punkterna ej har visats). Ett felmönster e i (10E0) uppfyller boole-ut- trycket EM3h31 = 1, och meddelandet kan uppskattas med Éä4. Ett felmön- ster g i (1101) uppfyller boole-uttrycket RM t4j = 1 för exakt ett j i (1,...,8) och meddelandet kan uppskattas med fi4j.
Av figur Sa, 5b framgár_att avkodaren skall realisera de logiska uttryck som är visade i figur 6. Härvid ger det sista uttrycket det vill- kor som mäste uppfyllas för en detekteringsflagga som genereras om det alstrade syndromet är ett ej-nollsyndrom som inte motsvarar ett korriger- bart felmönster.
Figur 7 visar en global design för en avkodare. Avkodaren har ett modregister 202 som innehåller värdena av RM, EMi och SMij för i, j = 1,2,3,4 i 1 j. Efter ett avkodningssteg uppdateras också modregistret.
En av de möjliga strategierna kan vara att koppla om från slumpmod till raderingsmod när ett enkelsymbolfel uppträder, vilket inte är ett enkel- bitsfel. Andra omkopplingsstrategier kan bero på felstatistiken i hela systemet. För korthets skull diskuteras detta inte vidare.
I avkodaren-kan också andra typer av register vara implementerade, t ex ett register som lagrar positionerna och frekvenserna av bitfel.
I figur 7 uppträder de fyra eventuellt störda kodsymbolerna ;1,;2,;3,;4 på ingångar 210. I blocket 200 finns ett nät för att be- stämma de binära storheterna fij, gij, hij, tíj. I blocket 204 finns ett nät för att på basis av dessa 60 värden generera beslutssignal- erna DSEL** och ISEL** samt även för att uppdatera modregistret och andra register som nämnts tidigare. För att åstadkomma detta tar blocket 204 också emot modstyrsignalerna från modregistret 202. I blocket 208 genere- ras, pà basis av de fyra kodsymbolerna r1..r4, de sex möjliga uppskatt- ningarna som är baserade pá tvâ korrekta symboler, och även de 32 upp- 10 15 20 25 30 35 466 368 11 skattade, för varje symbol som har en-bits korrektion i position j. På ledningen 212 alstras dessa 38 möjliga uppskattningar, medan väljsignal- erna uppträder på ledningarna 214. I blocket 206 finns ett nät för grind- styrning av det korrekta uppskattade värdet som uppträder på ledningen 218 (observera att detta val inte alltid behöver vara unikt), medan också en detekteringsflagga alstras på utgången 216 för att signalera ett okorrigerbart detekterat fel (det kan också vara möjligt att ett odetek- terbart fel uppträder). I det föregående har antagits att ett behand- lingsord har 16 bitar (d v s tvâ bytes) och ett kodord 32 bitar. Om data- banan i (mikro-) processorn skulle vara ännu bredare kan man á ena sidan tänka sig en övergång till 16-bits symboler, vilket skulle möjliggöra en ytterligare ökad felskyddsförmâga. A andra sidan skulle anordningen fort- farande kunna arbeta med kodord som har fyra symboler, varvid varje kod- ord t ex avser bara ena hälften av ett datorord. Fördelen med detta senare skulle ligga i den förenklade behandlingen av átta-bits symboler jämfört med 16-bits symboler.
SÖKNINGSPROCESSEN FÖR GODA KODER.
I det efterföljande beskrivs sökningsprocessen för goda koder. För en bas < ub(0), ub(17,..., men alla fyra-tuples p11, p12, p21, p22, ub(7)>, bestämmas genom sökningsalgorit- 0 p11 ¿ 254,- P12 1 254.
P21 i 254.
P22 L 254, P22 eller (P11 = P22 °°h P12 5 P21)' P11 P11 P11 P11 11» |^ |^ |^ |^ ___. så att [4,2l-koden med paritetscheckmatrisen 1 0 up" aP12 Hc = 0 1 QP21 aP22 har en minimal distansprofil av åtminstone (7,4,1) för basen < uP(°),ub(1),...,ub(7)>. Detta kan göras genom att undersöka ett antal villkor på fyra-tuples (p11,p12,p21,p22). 466 368 10 15 20 _25 30 35 12 Därför behöver vi följande definitioner: v, = 1 1 = wt<«i) = 1) = 1b1o). b11). ..., b<1)), vz = ( 1 = wt(ai) = 2), W1 = ( (V1-vå) mod 255 = v1, v; S v1), V2 = ( (V2-vä) mod 255 : V2, vå s V2), V12 := ( (V1-v2) mod 255 : V1, e V1, V2 s V2) U ( (V2-v1) mod 255 : v1, s V1, V2 e V2).
För alla v e V2 : XV := ( (u-v) mod 255 :.u e V2).
För en grupp X e (0, 1, 2, ..., 254) betecknar ä komplementet till X i förhållande till (0, 1, 2, ..., 254): ä = (O, 1, 2, ..., 254) / X. Funk- tionen Z(.) betecknar Zech's logaritm som år definierad genom ekvationen 1 + an = azfn) för n 11, 2, 3, ..., 254). [4,2]-koden med partitetscheckmatrisen Hc har en minimal distansprofil mdp med avseende på basen < mb(0), ub(1), .. fyller ., ab(7)>, vilken upp- * mdp 1 (3, 2, 1) om och bara om (A)= P11'P12 * P21"P22F * mdp ¿ (4, 3, 1) om och bara om (A) °°h (B1)” P11' P12' P21' P22E§1* _ °°h (B2)* P11'P12' P11'P22' P22'P12' P22"P21°w1* °°h (B3)* P12+z(P11+P22'P12'P21)' P21*Z(P11*P22'P12"P21)' P11*Z('P11'Pz2+P12*P21)'_ P22+Z('P11'P22+P12*P21M1* * mdp ¿ (5, 3, 1) om och bara om (A) och (B1, B2, B3) 10 15 20 _25 30 35 466 368 13 och (C): För alla i, jsV x V : 1 1__ i+p11+Z(j-i+p12-p11)sV1 eller i+p21+Z(j~i+p22-p21)eV1; * mdp ¿ (6, 4, 1) om och bara om (A) och (B1, 2, 3) och (C) °°h (91): P11' P12' P21' P22°“12; °°h (°2)* P11'P12' P11'P21' P22'P12' P22'P21E"12 °°h (D3)* P12+Z(p11+P22'P12'p21)' P21+Z(P11+P22'P12'P21)' P11*Z('P11'P22*P12*P21)'_ P22+Z('P11'P22*P12+P21)ew12* och (D4): För alla i, jeV1 x V1: i+p21+Z(j"i+P22-p21)| i+p11+Z(j“i+p12_p11)r i"P12'Z(P11+P22'P12'P21)+Z(j'i+P11'P21)' _ i_p11_z(_p11_P22+p12+P21)+z(j_i+P12-p22)ÉV1; * mdp ¿ (7, 4, 1) om och bara om (A) och (B1, 2, 3) och (C) och (D1, 2, 3, 4) och (E1): För alla nsV2: _ A (p11ešu eller p21e Eu) och (p12sXu eller p22a Xu) och (p12+Z(p11+p22-p12-p21)e Xu eller P22'P21°g5) _ och (p22+Z(-p11-p22+p12+p21)sXu eller P12'P11°xu); 11656 10 15 20 25 30 35 -wp(g|j) := minimum (Z 3(58 14 och (E2): För alla (i,l)eV1 x V1: i+p11+Z(j-i+p12-p11)aV¿ eller i+p21+Z(j~i+p12-p21)eV2; och (E3): För alla (u, v)eV2 x V2: (“'“=P12'P11) eller (u-v=p22-p21) eller (u-v#p12-p11) och (u-vïpzz-p21) och (u+p11+Z(v-u+p12-p11)eV1 eller u+p21+Z(v-u+p22-p21)e Vá)); och (E4): För alla i eV1 och u eV2: (i+p11+Z(u-i+p12-p11)eV1 eller i+p21+Z(u-i+p22-p21)eV2) och (i+p12+Z(u-i+p11-p12)eV1 eller i+p22+Z(u-i+p21-p22)eV2) och (i+p21+Z(u-i+p22-p21)eV1 eller i+p11+Z(u-í+p12-p11)sV?) och (i+p22+Z(u-i+p21-p22)eV1 eller i+p12+Z(u-i+p11 )eVê) 'P12 DEFINITION OCH EGENSKAPER HOS DEN MINIMALA DISTANSPROFILEN FÖR EN KOD.
I det efterföljande ges en exakt definition av den minimala distansprofilen eller minimumdistansprofilen för en kod samt även några egenskaper hos densamma.
Betrakta en linjär [n,m]-kod av längden n och dimensionen m över fältet F:=GF(2k) med minimala (symbol)-distansen S. Elementen i F är symboler. Varje symbol c kan representeras med en binär k-vektor c.
Vikten wt(g) (den binära) av en symbol ceF vid den valda vektorrepresentationen definieras såsom antalet ettor i den binära vektorrepresentationen Q av c. Vikten (den binära) av en vektor av symboler definieras.sásom summan av (de binära) vikterna för dess komponenter.
Viktprofilen för en n-vektor g = (c , _, gn_1) av symboler i F, kallat ett ord, definieras såsom vektorn wp(g) := (wp(c|0), wp(§|1). genom §1| -- .., wp (g|S-1) där komponenten wp(g|j) definieras Wt(§i) -A. e 1ßAj; 3(0,1,...,n-1)|Aj|= n-j, i=O,1,...,S-1). 10 15 20 25 30 35 466 368 15 wp(g|j) är således minimat för vikterna av alla vektorer av längden n-j som erhållits av g genom att stryka j komponenter från g. Exempelvis har Q = (1001, 1101, 0010) viktprofilen wp (g) = (6, 3, 1). Den minimala distansprofilen d(C) för den linjära koden C definieras genom d(C) := ((d(C|0), d(C|1). ..., d(C|S-1)), där d(C|j) := minimum (wp(g|j) : gsC, g # Q), j=0,1,...S-1.
Om man tar n-j godtyckliga komponenter i ett godtyckligt kodord i C som ej är noll, så är summan av vikterna av dessa n-j komponenter minst d(C|j). Det finns också ett kodord i koden C med n-j komponenter, vilkas vikter tillsammans blir exakt d(C|j).
Ett par (s,t) kallas en beskrivning av ett ord 5 s Fn om det är möjligt att stryka s komponenter som ej är noll från Ä så att summan av vikterna av de återstående komponenterna är lika med t. Gruppen av alla möjliga beskrivningar av 3 kallas beskrivningsgruppen för 5. Exempelvis är beskrivningsgruppen för (1001, 1101, 0010) lika med ((0,6), (1,3), (1,4), (1,5), (2,1), (2,2), (2,9), (3,0)) medan beskrivningsgruppen för (0000, 1001, 1000) är lika med ((0,ß), (1,1) (1,2). (2,0)).
En ändliv grupp A == ((a1,b1). (arbz), .., (am, bIAIH av par av naturliga tal kallas en lista av par om alla första komponenter Ai, där i=1,... |A|av paren i A är inbördes olika. Vi säger att ett ord 3 är täckt av A, där A är en lista av par, om åtminstone en av dess be- skrivningar (s,t) är täckt av åtminstone ett par i A, d v s om åtminstone ett par (ai,bi) i A uppfyller aig s, bi ¿ t.
Låt T och U vara två listor av par. Koden C säges vara samtidigt T-korrigerande och U-detekterande om den korrigerar alla fel g som är täckta av T och om den detekterar alla fel g som är täckta av U och som inte är täckta av T. Om U = 0 så kallas C T-korrigerande, om T = 4 så kallas C U-detekterande. Det är uppenbart att C samtidigt är T-korrigerande och U-detekterande om och bara om 1. Ingen av dess grupper innehåller mer än ett ord som är täckt av T. 2. Om en grupp innehåller ett ord som är täckt av T så innehåller den inte ett ord som är täckt av U och inte täckt av T.
Detta är ekvivalent med att säga att ingen skillnad mellan två olika ord 466 368 10 15 20 25 30 35 16 av vilka ett är täckt av T och det andra är täckt av T eller U är något kodord. Den följande egenskapen är en direkt konsekvens av dessa observationer.
Koden C är samtidigt T-korrigerande och U-detekterande om och bara om för något par (s,t) i T och något par (u, v) i kombinationen av T och U komponenten d(C|s+u) i d(C) uppfyller olikheten d(C|s+u) ¿ t + v + 1 Om e komponenter, där e 3 S-1, utraderas i något kodord sa erhåller vi en grupp av kodord i en [n-e,m]-kod C' över GF(2k) med minimala distansprofilen d(C') = (d(C'|0), ..., d(C'|n-e-1)), där d(C'|j) uppfyller olikheten d(C'|j) 2 <ï(C|j+@)

Claims (4)

10 15 20 25 30 35 466 368 17 Patcntkrav
1. Databehandlingsanordning sammansatt av fyra databehandlingsmodulcr (100, 102, 104, 106) som innehåller motsvarande databehandlingsorgan (12, 14, 16, 18) med en databanbredd av minst 2n bytes, respektive kodnings- moduler (20, 22, 24, 26) som matas av de tillordnade databehandlingsorga- nen för byte-vis kodning av ett behandlingsresultat omfattande 2n bytes till ett kodningsresultat med n bytes, respektive minnesmoduler (28, 30, 32, 34) som matas av den tillordnade kodningsmodulen för lagring av kod- ningsresultatet, ett förbindningsnät (82, 84, 86, 88) som matas av res- pektive databehandlingsmoduler för att mata kodningsresultat mellan alla databehandlingsmoduler samt ingångsavkodare (54, 56, 58, 60) som matas av nämnda förbindningsnät för att ta emot nämnda kodningsresultat i grupper av fyra bytes och därav rekonstruera ett två-bytes dataord som represen- terar nämnda behandlingsresultat och matas till det tillordnade databe- handlingsorganet, vilken databehandlingsanordning vidare innefattar mod- registerorgan för att styra nämnda ingångsavkodare i första, andra res- pektive tredje moder för att i en första mod acceptera och behandla alla bytes i en nämnda grupp, för att i var och en av fyra respektive andra moder acceptera och behandla tre bytes i en nämnda grupp men förkasta en tillhörande fjärde byte i gruppen i fråga, och för att i var och en av sex respektive tredje moder acceptera och behandla två bytes i en nämnda grupp men förkasta en tillhörande kombination av två återstående bytes i gruppen ifråga, och där nämnda kodningsmoduler multiplicerar varje byte i ett dataord med en regelbunden matris och summerar dessa multiplikations- bytes för att alstra en kod-byte, varvid de fyra kod-bytes som sålunda genereras av respektive kodningsmoduler utgör kodord i en kod med ett minimalt Hamming-avstånd över bitarna av sju, medan de tre kod-bytes som accepterats i varje andra mod utgör ett partiellt kodord med ett minimalt Hamming-avstånd över bitarna av fyra, och de två bytes som accepterats i varje tredje mod utgör en representation av alla bitar i det tillhörande behandlingsresultatet.
2. Databehandlingsanordning enligt patentkravet 1, k ä n n e t e c k- n a d av att nämnda kod-bytes är definierade i ett Galois-fält som har en normal bas.
3. Databehandlingsanordning enligt patentkravet 1 eller 2, k ä n n e- 466 368 10 15 20 25 30 35 18 t e c k n a d av att nämnda avkodare innefattar: - en ingång för att ta emot varje kod-byte i ett kodord; - en första avkodarmodul (200) som matas genom nämnda ingång för att bestämma syndromsymboler och medelst olika multiplikationer därav med exponenter av en rg-matris generera karakteristiska boole-storheter (fij, Qij. hij, tij); - en andra avkodningsmodul som matas av nämnda första avkodningsmodul (204) och är dubbelriktat förbunden med ett modregister (202) för att under styrning med ett modregisterinnehåll och nämnda karakteristiska boole-storheter generera en väljsignal (DSEL**, ISEL**); - en tredje avkodningsmodul (208) som matas parallellt med nämnda första avkodningsmodul genom nämnda ingång för att emulera 32 uppskattade storheter genom korrektion för lika många enkel-bitsfel; - en väljmodul som matas genom nämnda ingång och av nämnda tredje avkodningsmodul för att ta emot alla reella och emulerade kodsymboler i ett kodord samt matas av nämnda andra avkodningsmodul för att under styr- ning med en "sann" väljsignal bland en serie av exklusivt "falska" välja minst en korrekt ej-emulerad kodsymbol och en ytterligare korrekt kodsym- bol, vilken senare antingen är emulerad eller inte, och att mata ut dessa tvâ kodsymboler pá en användarutgáng (218).
4. Anordning enligt patentkravet 3, k ä n n e t e c k n a d av att nämnda väljmodul har en felutgàng för att under styrning med exklusivt mottagna "falska" väljsignaler mata ut en feldetekteringsflagga medan ut- matning av varje kodsymbol blockeras.
SE8703405A 1986-09-05 1987-09-02 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 SE466368B (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB8621469A GB2194850B (en) 1986-09-05 1986-09-05 Data processing device

Publications (3)

Publication Number Publication Date
SE8703405D0 SE8703405D0 (sv) 1987-09-02
SE8703405L SE8703405L (sv) 1988-03-06
SE466368B true SE466368B (sv) 1992-02-03

Family

ID=10603758

Family Applications (1)

Application Number Title Priority Date Filing Date
SE8703405A SE466368B (sv) 1986-09-05 1987-09-02 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

Country Status (7)

Country Link
US (1) US4882731A (sv)
JP (1) JP2612000B2 (sv)
CA (1) CA1297590C (sv)
DE (1) DE3727586C2 (sv)
FR (1) FR2604542A1 (sv)
GB (1) GB2194850B (sv)
SE (1) SE466368B (sv)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69032737T2 (de) * 1989-07-13 1999-04-29 Canon Kk Kodierung- und Dekodierungsvorrichtung geeignet für das Kopieren von Daten
JPH0458619A (ja) * 1990-06-28 1992-02-25 Canon Inc 誤り訂正システム
EP0481128B1 (en) * 1990-10-16 1998-01-14 Koninklijke Philips Electronics N.V. Data processor system based on an (N, k) symbol code having symbol error correctibility and plural error mendability
US5339404A (en) * 1991-05-28 1994-08-16 International Business Machines Corporation Asynchronous TMR processing system
US5375127A (en) * 1992-03-25 1994-12-20 Ncr Corporation Method and apparatus for generating Reed-Soloman error correcting code across multiple word boundaries
US6367046B1 (en) * 1992-09-23 2002-04-02 International Business Machines Corporation Multi-bit error correction system
US5432801A (en) * 1993-07-23 1995-07-11 Commodore Electronics Limited Method and apparatus for performing multiple simultaneous error detection on data having unknown format
JP3412349B2 (ja) * 1994-12-28 2003-06-03 株式会社日立製作所 制御装置
US5576197A (en) * 1995-04-07 1996-11-19 Molecular Bio-Products Polymerase chain reaction container and methods of using the same
US7257763B1 (en) 2001-08-03 2007-08-14 Netlogic Microsystems, Inc. Content addressable memory with error signaling
US7283380B1 (en) 2001-08-03 2007-10-16 Netlogic Microsystems, Inc. Content addressable memory with selective error logging
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
US6971053B1 (en) 2002-07-30 2005-11-29 Cypress Semiconductor Corp. Method for initiating internal parity operations in a CAM device
US7304873B1 (en) 2005-01-25 2007-12-04 Netlogic Microsystems, Inc. Method for on-the-fly error correction in a content addressable memory (CAM) and device therefor
IE20050277A1 (en) * 2005-05-04 2006-11-29 Nat Univ Ireland Method and apparatus for generating error-correcting and error-detecting codes using zero-divisors and units in group rings
US8042029B2 (en) * 2006-05-21 2011-10-18 Ramot At Tel Aviv University Ltd. Error correction decoding by trial and error
US8990631B1 (en) 2011-03-03 2015-03-24 Netlogic Microsystems, Inc. Packet format for error reporting in a content addressable memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8104342A (nl) * 1981-09-21 1983-04-18 Philips Nv Rekenmachinesysteem, gebaseerd op een symboolkorrigerende kode met twee werkmodes.
US4593396A (en) * 1982-10-08 1986-06-03 August Systems Process for a fault-tolerant data processing system with error detection and resistance to fault propagation
US4698814A (en) * 1984-02-06 1987-10-06 U.S. Philips Corporation Arrangement for checking the parity of parity-bits containing bit groups
JPS60212048A (ja) * 1984-04-06 1985-10-24 Nec Corp 符号修正型切替方式
US4648091A (en) * 1984-07-02 1987-03-03 General Electric Company Apparatus and method for decoding error correction coded information
NL8403147A (nl) * 1984-10-16 1986-05-16 Philips Nv Dataverwerkingssysteem dat is opgebouwd uit drie dataverwerkingsmodules.

Also Published As

Publication number Publication date
SE8703405D0 (sv) 1987-09-02
DE3727586A1 (de) 1988-03-10
GB8621469D0 (en) 1986-10-15
GB2194850B (en) 1990-10-31
JP2612000B2 (ja) 1997-05-21
US4882731A (en) 1989-11-21
FR2604542A1 (fr) 1988-04-01
GB2194850A (en) 1988-03-16
FR2604542B1 (sv) 1994-12-16
SE8703405L (sv) 1988-03-06
JPS6367644A (ja) 1988-03-26
DE3727586C2 (de) 1997-12-11
CA1297590C (en) 1992-03-17

Similar Documents

Publication Publication Date Title
EP0031183B1 (en) Multi-processor computer system
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
US4928280A (en) Fast processor for multi-bit error correction codes
US5754563A (en) Byte-parallel system for implementing reed-solomon error-correcting codes
US6675349B1 (en) Error correction coding of data blocks with included parity bits
US5099484A (en) Multiple bit error detection and correction system employing a modified Reed-Solomon code incorporating address parity and catastrophic failure detection
EP0026516B1 (en) Apparatus for the processing of an information stream with the aid of an error-correcting convolutional code and for the detection of an error still irremediable in this processing
EP0075985B1 (en) A data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes
SE441790B (sv) Minne med feldetektering och felkorrigering
JPS5960654A (ja) エラ−訂正システム
US8332727B2 (en) Error correction circuit, flash memory system including the error correction circuit, and operating method of the error correction circuit
US7870473B2 (en) Error detection device for an address decoder, and device for error detection for an address decoder
RU2448359C1 (ru) Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации
US4868829A (en) Apparatus useful for correction of single bit errors in the transmission of data
EP0120371B1 (en) Fault alignment control system and circuits
EP0178726B1 (en) Data processing system composed of three data processing modules
RU106771U1 (ru) Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации
JP3654655B2 (ja) データ処理システム
RU2297030C2 (ru) Самокорректирующееся устройство хранения информации
RU2297034C2 (ru) Отказоустойчивое устройство хранения информации
RU2297032C2 (ru) Самокорректирующееся запоминающее устройство
RU2297035C2 (ru) Отказоустойчивое запоминающее устройство
RU2297033C2 (ru) Самокорректирующееся устройство
RU42686U1 (ru) Самокорректирующееся устройство
RU42684U1 (ru) Самокорректирующееся запоминающее устройство

Legal Events

Date Code Title Description
NAL Patent in force

Ref document number: 8703405-4

Format of ref document f/p: F

NUG Patent has lapsed

Ref document number: 8703405-4

Format of ref document f/p: F