NL8204038A - Multiprocessorrekenmachinesysteem, bevattende n parallel werkende rekenmachinemodules, en rekenmachinemodule te gebruiken in zo een multiprocessorrekenmachinesysteem. - Google Patents

Multiprocessorrekenmachinesysteem, bevattende n parallel werkende rekenmachinemodules, en rekenmachinemodule te gebruiken in zo een multiprocessorrekenmachinesysteem. Download PDF

Info

Publication number
NL8204038A
NL8204038A NL8204038A NL8204038A NL8204038A NL 8204038 A NL8204038 A NL 8204038A NL 8204038 A NL8204038 A NL 8204038A NL 8204038 A NL8204038 A NL 8204038A NL 8204038 A NL8204038 A NL 8204038A
Authority
NL
Netherlands
Prior art keywords
code
data
module
calculator
bit
Prior art date
Application number
NL8204038A
Other languages
English (en)
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
Priority to NL8204038A priority Critical patent/NL8204038A/nl
Priority to CA000438844A priority patent/CA1204873A/en
Priority to US06/542,839 priority patent/US4633472A/en
Priority to AU20281/83A priority patent/AU570415B2/en
Priority to AT83201487T priority patent/ATE26624T1/de
Priority to DE8383201487T priority patent/DE3371008D1/de
Priority to EP83201487A priority patent/EP0110439B1/en
Priority to JP58195399A priority patent/JPS5991568A/ja
Publication of NL8204038A publication Critical patent/NL8204038A/nl

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
    • 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)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (AREA)
  • Error Detection And Correction (AREA)

Description

*·- 4 K .
4 ΡΗΝ 10.474 1
N.V. PHILIPS' GLCEILAMPENFABRIEKEN TE EINDHOVEN
"Maltiprocessorrekenmachlnesysteen, bevattende n parallel werkende rekenrrachinemodules, en rekenmachinemodule te gebruiken in zo een mul- tiprocessorrekenmacinesysteem."
De uitvinding betreft een multiprocessarrekenmachinesysteen, bevattende n parallel werkende rekenrnachinenodules met gesynchroniseerde besturing, die elk in een eigen isolatiegebied voer fouten zijn gelokaliseerd, waarbij elke rekenmachinemodule bevat: 5 - een processormodule ; - een op een data aansluiting van de processarmodule aangesloten data-kanaal; - een op het datakanaal aangesloten reducerende kodevormer cm uit een ontvangen datawoard een kodesymbool te vannen zodat door de respektie- 10 velijke kodevarmers uit een datawoard van k datasymbolen een uit k+1 ^ n < 3k kodesymbolen bestaand kodewoard wordt gevormd van een kode met simultane karrektiecapaciteit in tenminste twee kodesymbolen; - een geheugenmodule met een eerste dataingang die is aangesloten op een . eerste datauitgang van de bijbehorende reducerende kodevormer, en met 15 een tweede data-uitgang; - en een dataMoardrrékonstruktiemodule, die via een verbindingsnetwerk is aangesloten op de respektievel ij ke tweede data-uitgangen van de geheugenmodules der onderscheidene rekenmachinanodules om van elke rekenmachinemodule een respekt ievel ijk kodesymbool van een kodewoord 20 te ontvangen ai daaruit een datawoard te rekens truer en, waarbij de datawoordrekonstruktiemodule is voorzien van een derde data-uitgang die is aangesloten op genoemde data-aansluiting en cp genoemd datakanaal, en waarbij genoemd data-kanaal voorts is voorzien van een tweede data-aansluiting voor infarmatie-toe/afvoer naar buiten. Zo'n 25 rèkenmachinesysteem is beschreven in de oudere Nederlandse octrooiaanvrage 8104342 (FHN 10.155) van dezelfde aanvrager. Zo een multi-processorrekenmachinesysteem kan volstaan met een in totaliteit relatief geringe geheugencapaciteit, bij een relatief vergrote processor-capaciteit, één en ander bijvoorbeeld in vergelijking met een totale 30 verdrievoudiging van processor en geheugencapaciteit onder distributie daarvan over evenzovele isolatiegebieden voor fouten. Zowel volgens de oudere octrooiaanvrage als bij toepassing van totale verdrievoudi- 8204038 > * EHN 10.474 2 ging kan de totale schakeling van één zo'n isolatiegebied voor fouten een willekeurige datafout vertenen zonder dat de werking van het mul-tiprocessorrekenmachinesysteern als geheel wordt verhinderd. Nu heeft het rekenmachinesysteem volgens de oudere octrooiaanvrage verschillen-5 de werkmodes. In een daarvan kan een willekeurige symboolfout warden gekorrigeerd (mits bekend is wélk symbool gestoord is) plus daarenboven nog één enkele bitfout. In een andere mode kunnen twee willekeu·1· rige enkelbitsfouten worden gekorrigeerd. Op zichzelf zijn meerdere kodes bekend die meerdere bitfouten kunnen korrigeren, als voorbeeld 10 worden de "Fire"-kodes geciteerd, de positionering van deze fouten is dan geheel willekeurig.
De fcutkorrektiemogelijkheid van de geciteerde octrooiaanvrage is een uitbreiding van die, welke beschreven is in de oudere Europese Octrooiaanvrage 0031183A3 (PHN 9652) van dezelfde aanvrager.
15 Deze laatste geeft meerdere niveaus van redundantie die kunnen warden toegepast voor het implementeren van de toe/afvoer van informatie.
Een* hoge mate van redundantie, met een mogelijkheid tot ruime korrek-tie van fouten wordt geleverd door de aansluitingen voor toe/afvoer van informatie pp dezelfde manier te multipliceren als de rekenmachine-20 modules in het rekenmachinesysteem zelf meervoudig zijn uitgevoerd.
Het betreffende randapparaat kan dan ook meervoudig zijn uitgevoerd.
Het randapparaat kan anderzijds ook enkelvoudig zonder redundantie zijn uitgevoerd. Ook tussenliggende redundantieniveaus kunnen worden geïmplementeerd . Deze verschillende redundantieniveaus kunnen ook voorzien 25 worden in het multiprocessorrekenmachinesysteem volgens de Nederlandse Octrooiaanvrage 8104342 . In veel gevallen is het nodig cm een invoer/ uitvoergeheugen te implementeren, bijvoorbeeld voor het bufferen en her formatteren van de informatie. Hier is de geheugencapaciteit veelal relatief klein, gezien als kostenpost tegen de andere kostenposten die 30 zouden optreden in het geval van het ook hier vormen van een kodewoerd van n symbolen met bijbehorende infcrmatierékonstruktieséktoren, onderlinge informatieverbindingen, en dergelijke. Dit geldt eveneens als naast het invoer/uitvoergeheugen nog een invoer/uitvoerprocessormodule en eventueel verdere onderdelen noodzakelijk zijn.
35 De invoer/uitvoerinformatie wordt derhalve ongékodeerd (in het kader van de foutkorrigerende kode) ontvangen, ei het is derhalve een doelstelling van de uitvinding er voor te zorgen dat de invoer/ 820 4 03 8' ι 1 FHN 10.474 3 uitvoer informatie tijdens het invoer/uitvoerproces niet op zo'n manier behandeld kan warden dat een daarbij opgetreden bitfout in de reducerende kodevormer zou kunnen worden omgezet in een meerbits symbool-fout. Op zichzelf zou deze in veel gevallen nog wel korrigeerbaar zijn, 5 maar als er in hetzelfde kodewoord nog een andere bitfout was opgetreden zou dit de foutkarrektie-kapaciteit van de kode gemakkelijk te boven kunnen gaan. De uitvinding realiseert de doelstelling doordat hij het kenmerk heeft dat elke rékenmachinemodule voorts bevat: - een in serie met genoemde tweede data-aansluiting geschakeld tweede 10 datakanaal met een derde data-aansluiting; - een in/uitvoergeheugennodule, die middels een tweede, niet-reducerende kodevormer en een derde data-ingang, respektievelij k middels een met de tweede kodevormer gepaarde kodeterugvarmer op het tweede datakanaal is aangesloten, dat tussen de generatormatrix {g/J van een reducerende 15 kodevormer, tenminste voor zover deze een databit op meer dan één kodebit afbeeldt, de generatormatrix [g*/] van de tweede kodevormer en de generatormatrix van de kodeterugvormer de volgende verban den bestaan: .£ G^3 = C 13 · <*e identiteitsmatrix; 20 [f ]=Cgi ]. [Gf1] , waarin elke kolan van £f]^geschreven als cp-gebcuwd uit bits, ten hoogste één "1" en voorts uitsluitend "nullen" bevat en elke rij van £ F J tenminste één "1", zodat een bit van een in het invoer/uitvoergeheugen gekodeerd datawoord in de betreffende rékenmachinemodule op ten hoogste één bit van het uit dat datawoord 25 vormbare kodesymbool wordt af geheeld. Voor zover een reducerende kode-vcraner een databit afbeeldt (¾) "nul" kodebits wordt een fout in de betreffende databit niet doorgegeven aan de betreffende geheugenmodule.
Voor zover de afbeelding in de reducerende kodevormer op één kodebit geschiedt wordt een bitfout in het invoer/uitvoergeheugen ook zonder 30 bijzondere maatregelen in de tweede kodevormer/kodeterugvormer doorgegeven als slechts een enkele bitfout in de desbetreffende geheugenmodule. In deze beide gevallen kan voor de betreffende databit de generatormatrix van de tweede kodevormer de eigenschappen hebben van een identiteitsmatrix (al dan niet vermenigvuldigd met een transpo-35 sitiematrix waardoor de volgorde der bits veranderd wordt). Voor zover de reducerende kodevormer een databit cp méér dan één kodebit afbeeldt, moeten de respektievelike generatormatrices aan meer stringente eisen voldoen.
8204038 ( * i PHN 10.474 4
Het is gunstig als de korrektiekapac iteit van de kode tenminste een willekeurige storingsvektor in tenminste een kodesymbool anvat. De kanbinatie van de uitvindingsgedachte levert tesamen met de "uitwis" (erasure) mode van de recentere van de geciteerde oc- 5 trooiaanvragen een zeer voordelige realisatie.
Het is gunstig als een datawoordrekcnstruktiemodule tenminste twee selektief aktiveerbare werkmodes bezit met onderscheidene korrek-tiekapaciteit. Dit vergroot nog de flexibiliteit tegen verschillende fout-oorzaken.
10 Het is gunstig als elke rij van de matrix £ F3 precies één "1" bevat. In dat geval manifesteren vele fouten van het invoer/ uitvoergeheugen zich niet in de respektievelijke geheugenmodule van het hoofdgeheugen, en wordt de foutenkans in laatstgenoemd geheugen zo klein mogelijk gehouden.
15 Het is gunstig als elke kolcm van de matrix Q F J precies één "1" bevat. Cp die manier manifesteren zich alle fouten van het invoer/ uitvoergeheugen zich juist wel in de respektievelijke geheugenmodule van het hoofdgeheugen, waardoor het invoer/uitvoergeheugen gemakkelijk testbaar is.
20 De uitvinding betreft voorts een rekenmachinemodule te ge bruiken in een multiprocessorrekenmachinesysteem volgens het voorgaande, waarbij de reducerende kodevormer tenminste één databit op tenminste twee kodebits afbeeldt, en dat de kanbinatie van kodeterugvcr-mer en reducerende kodevormer elke bit uit het invoer/uitvoergeheugen 25 cp ten hoogste één bit in de geheugenmodule afbeeldt. Met zo'n rekenmachinemodule kan gemakkelijk een fout tolerant multiprocessor-rekenmachinesysteem warden opgebouwd.
KORTE BESCHRIJVING VM DE FIGUREN
De uitvinding wordt nader beschreven aan de hand van enkele 30 figuren.
Fig. 1 geeft een blokschema van een multiprocessorrekenmachine-systeem volgens de uitvinidng.
Fig. 2 geeft een voorbeeld van een generatormatrix van een foutkorrigerende kode te gebruiken in een systeem volgens Fig. 1; 35 Fig. 3 geeft de afzonderlijke generatarmatrixen der reducerende kodevormers, tweede kodevormers, en kodeterugvormers volgens Fig. 2, en wel voor een eerste geval; 82 0 A 038 t * * < PHN 10.474 5
Fig. 4 geeft deze afzonderlijke generatormatrixen voor een tweede geval?
Fig. 5, 6 illustreren een andere mogelijkheid voor de matrix £fJ en de consequenties daarvan voor de generatormatrixen.
5 BESCHEEVING VM DE VOORKEURSUITVOERING.
Fig. 1 geeft een blokschema van een nultiprocessarrekenma-chinesysteem volgens de uitvinding. Gedeeltelijk kant deze figuur overeen met het schema van fig. 3 van de eerder genoemde europese octrooiaanvrage 0031183, (PHN 9652), welke hierbij geïncorporeerd zij bij 10 wijze van referentie. De nultiprocessarrekenmachine bevat vier gesynchroniseerd werkende rekenmachinemodules die alle dezelfde instruk-ties uitvoeren. Het niet aangegeven synchrcnisatiemechanisme kan bestaan in een stelsel van vier wederzijds gesynchroniseerde klokken, maar is eenvoudshalve niet nader aangegeven. De eerste rekenmachine-15 module bevat een processormodule 30, bijvoorbeeld een geëigende microprocessor. De adresuitgang hiervan is aangesloten op de adresingang van het lokale geheugen 30. De data kunnen via datakanaal 70 en de reducerende kodevonrer 40 toegevoerd worden aan de dataingang van de lokale geheugenmodule 30. Het zestienbits datawoord wordt daarbij cm-20 gezet in een acht bits kodesymbool. Bij uitlezen uit geheugen 30 wordt het kodesymbool toegevoerd aan het register 50 met een breedte van 32 bits. Elke deelrekenmachine heeft zo een register en al- deze registers worden gevuld met alle vier de 8-bits kodesymbolen. De uitgang van kodewoordregister 50 is verbonden met de datawocrdrèkonstruk-25 tiemodule 60. Deze kan een willekeurig gestoord kodesymbool (willekeurige lokatie en ook willekeurige fout) korrigeren, zodat één der (vier) deelrekenmachines op een willekeurige manier kan falen (tenzij dit falen zélf de werking der andere deelrekenmachines ongunstig beïnvloedt) . Zoals eerder gereleveerd zijn in bepaalde gevallen ook 30 bits in verschillende kodesymbolen korrigeerbaar (2 bits, die elk in een verschillend kodesymbool zijn gelegen, respektievelijk in de uitwismode 1 kodesymbool, dat dan wordt genegeerd, plus 1 bit in een 4 verder symbool). De bovenstaande mogelijkheden gelden voor een kode die op vierbitssymbolen is gebaseerd: in feite bestaat elk datawoord en 35 elk kodewoord uit twee helften, terwjil elke helft dan twee, respektie-velijk vier symbolen bevat. Door het gebruik van relatief korte symbolen worden de kodeerschakelingen eenvoudig. In de meest linkse reken- 8204038 EHN 10.474 6 machinemodule is aangegeven hoeveel bits er per woord (datawoord of kodewoard) over de betreffende lijn worden getransporteerd. Bij andere keuzen van aantallen en lengten der symbolen gelden overeenkomstige situaties, mits voldaan is aan de eis dat symbolen minstens 5 twee bits bevatten.
Voorts bevat de rekenmachine een in/uitvoersysteem voor informatie. Wederom wordt slechts van één rekenmachinemodule het bijbehorende deel van het in/uitvoersysteem beschreven. Allereerst is er een aansluitelement 80. Dit is bijvoorbeeld een bidirektioneel werken-10 de drietoestandsbuffer die door niet aangegeven besturingslijnen vanuit de processor 20 of een bijbehorend besturingselement wordt geaktiveerd. Eventueel kan het aansluitelement geheel passief zijn, bijvoorbeeld in de vorm van een busverbinding, maar dan worden alle aangesloten elementen (datazenders/ontvangers) selektief geaktiveerd. Op het aan-15 sluitelement 80 is aangesloten een 16-bits breed datakanaal 90, dat wordt afgesloten door een tweede aansluitelement 140. Er is een in/ uitvoerprocessor 100 voorzien. In bepaalde gevallen kan een processor overbodig zijn. Een adresuitgang van processor 100 is aangesloten op de adresingang van geheugen 110. Als epen processor aanwezig is, is dit 20 geheugen bijvoorbeeld een eerst-in-eerst-uit (FIFO)-buffer, waarvoor geen externe adressering vereist is. Gevallen waarin wêl een processor vereist is doen zich voor wanneer informatie bijvoorbeeld geformatteerd moet warden voer opslag in een magnetisch schijf geheugen: dan is naast de bufferfunktie van het geheugen 110 ook het toevoegen, 25 respektievelijk verwijderen van synchronisatieinformatie, indikatiein-formatie en loze spatieinformatie noodzakelijk. De aansluiting van zo'n magnetisch schijf geheugen zal gebeuren qp een van de manieren die in de oudere geciteerde octrooiaanvrage zijn beschreven. Ditzelfde geldt voor andere invoer/uitvoers ituaties. In een geval net weinig 30 redundantie is slechts één der aansluitelementen 140, 142, 144, 146 voor zenden aktief, terwijl voor het ontvangen alle aansluitelementen parallel werkzaam zijn voor dezelfde informatie. In een geval met veel redundantie is het betreffende randapparaat ook meervoudig, bijvoorbeeld n-voudig uitgevoerd en zijn voor het zenden op de aansluit-35 elementen 140-146 soortgelike reducerende kodevormers als elementen 40-46 aangesloten. Voor ontvangen is elk der aansluitelementen 140-146 voorzien van een eigen datawoordrekonstruktiemodule die alle kode- 8204038 * t PHN 10.474 7 symbolen van het kodeword ontvangt. Tussen deze uitersten is een scala van mogelijkheden.
De eerder gereleveerde verschillende korrektiemogel ij kheden zijn aan verschillende soorten falen van het systeem gerelateerd.
5 Als een processor, bijvoorbeeld processormodule 20 of i/O-proces-sormodule 100 faalt is deze fout veelal permanent (duurt een groot aantal opeenvolgende processarcycli) en veroorzaakt dit falen daarbij vele meerbitsfouten in het op grond van het gestoorde datawoard gevormde kodesymboll (bijvoorbeeld gevormd door de reducerende kode-10 vormer 40). Hier is niets tegen te doen dan het gebruiken van de mogelijkheden van de symboolkorrigerende kode in de datawoordrekon-struktiemodule 60. Immers, de staring in het data word betreft ook zeer vaak meerdere bits.
De tweede kategcrie fouten wordt door de geheugenmodules 15 veroorzaakt. Een deel van deze fouten is permanent en behelst meerdere bits in een datawoord (module 140) dan wel in een kodesymbool (module 30), bijvoorbeeld doordat de adresdekodeur faalt. Veel vaker kanen enkelbitsfouten voor. Deze doenzich vaak voor als voorbijgaand falen. Enerzijds kan zo'n fout op zich voorbijgaand zijn, bijvoar-20 beeld doordat een informstiebit gestoord wordt door een alfastralings-deeltje dat ladingwsglekken induceert. Anderzijds kan een databitfout weliswaar permanent zijn (bijvoorbeeld voortdurend-struckat-nulzijn), maar dit beïnvloedt geen andere databits, en doordat hetzelfde adres slechts met tussenpozen wordt geadresseerd lijkt dit ook een 25 voorbijgaande enkelbits fout. Het is ook mogelijk, bijvoorbeeld als het geheugen bit-gearganiseerd is, dat één der geïntegreerde schakelingen alleen maar "nullen" afgeeft: dit is dan bijvoorbeeld een semi-permanente fout op de j-de bitpositie van het betreffende woord/symbool. Het is nu van belang dat zo'n enkelbits fout, zich 30 voortdoend in geheugenmodule 110, bij presentatie, via de reducerende kodevormer 40, en eventueel na voorbijgaande opslag in geheugenmodule 30, zich bij presentatie aan de datawoordrèkonstruktie-module 60, niet manifesteert als een meerbitsfeut. Laatstgenoemde zeu, in kembinatie met een symboolfout in een andere rekenmachine-35 module, veelal niet te kerrigeren zijn. Een enkelbits fout in module 110 mag dus aan de uitgang van kodevormer 40 slechts ten hoogste een 1-bits feut veroorzaken. De kodevormer 120 mag daarbij geen verdere 8204033 * PHN 10.474 8 redundantie introduceren.
Nu is de kode gedefinieerd qp symbolen van 4 bits elk, zodat slechts een half datawoord van 2x4=8 bits en een half kodewoard van 4x4=16 bits beschouwd hoeren te worden. Daaruit volgt direkt dat de 5 generatormatrix £go. .G3l van de reducerende kodevormers 40.....46 Γ* £—11
steeds een 4x8 matrix is, de generatormatrix L GQ .....J
van de respéktievelijke kodeterugvormers 130........136 steeds een 8x8 matrix. Bij het koderen in de tweede kodevormers 120-126 en dekoderen in kodeterugvormers 130-136 mag geen informatie veranderd 10 worden of verloren gaan. Daaruit volgt dat de generatormatrices £ G * .... G,* 3 niet singulier moeten zijn en dat het produkt Γη gelijk aan een identiteitsmatrix ^ 1J is (en evenzo in de andere modules).
15 Verder definiëren we: l>] =[Gj . o-ij zodat|~Fjde generatormatrix is cm van de inhoud van geheugenmodule (110.....116) het bijbehorende kodesymbool te vormen, volgens t = [p] . t 20 Het is bekend dat de matrix CF1 als volgt gevonden wordt. Als een tabel bekend is met alle mogelijke datavccrden (vektoren) b, en telkens het bijbehorende kodesymbool 1i, dan geven de basisvektcren 1d die slechts één bit "1" bevatten de matrix Γ F 1 : elke kolcm van de Γ *7 L J -9 matrix ^ F J wordt dan gevormd door het bij zo'n basisvektar b 25 behorende kodesymbool”!. Een fout in b mag ten hoogste een één-bit fout in a veroorzaken. Daardoor mag elke kolom van de matrix M ten hoogste één "1" bevatten.
In het systeem volgens de stand der techniek kan elk datawoord gerekcnstrueerd worden uit de desbetreffende kodesymbolen van 30 een willekeurige keuze van k (uitvoeringsvoorbeeld: k=2) rekenmachi-nemodules. Voer de generatormatrices DU —KI van de reducerende kodevormers heeft dit tot gevolg dat elke keuze van k rijen van de matrix
'V
35 G, DO- · . Gn.
8204038
* I
PHN 10.474 9 resulteert in een niet-singuliere matrix die vierkant is. Zo een matrix zij genoemd: ^ *
Ga r - ^ 5 LGair.. l· Gc • mm 4b
Deze matrix bestaat uit kxk koëfficienten, welke koëfficienten elemen-10 ten zijn van het Galois lichaam GF(2Ü), met b is de lengte van het symbool uitgedrukt in elementen van GF(2), dus bits. De matrix £Gabc 3 ^2^ eel ^νβΓ3β matrix^ zodanig dat het produkt CGatc...]· CC...H1] · een identiteitsmatrix is. Het is duidelijk dat 15 Ca°«l ..l-CSahc···! =CGal- waarin Γ a°0J3 .. ΓΪ bestaat uit k elementen van het Galois lichaam U i GF(2 ) bevat, van welke a° het eenheidselement en ώ het nulelement is.
Daaruit volgt: CGaJ · CG Ibc...3 =Ca°^····] · 20 Dit mag ook geschreven warden als:
Vc
Qndat £ Gv” 1. Γ G? J = £ 11 t kunnen we dus schrijven: CGa3 · c Gr' CGi*J-[ g'L...] =C a°f- 3 · we definiëren £Gj*^j · £ δΛ abc 3 = Cp 3 · eerder was 25 gedefinieerd: £f J - £ Gif . £ ~\ , zodat C*3- L/3 C>°* ·· 3·
Cmdat 3 -I G 3 beide niet-singulier zijn bestaat ook £p~13 · zodat£p 1 J. £ pj * CI3 ' dus geldt: 03 - t»>- 3 · c p'13 · 30 Tot dusverre ward £ p3 beschouw! als een matrix van kxk (hier k=2) koëfficienten die elementen vormden van het Galois lichaam GF(2°) (hier b=4). Zonder enig verlies van algemeenheid mag de matrix £ ?3 · 01 overeenkomstig de andere beschouwde matrixen qpgevat worden als binaire matrices (de koëfficienten zijn dan dus bits), doordat de koërricienten 35 uit GF(2^) worden vervangen door hun metgezel (companion) matrixen met koëfficienten uit GF(2): 8204038 PHN 10.474 10 ^1 0000000 p- 01000000 P_1- LPJ = 00100000 * Lp J * ^0 0 0 1 0 0 0 0 ^ 5 Als de matrix £ F 3 een rij met alleen koëfficienten "O" bevatte zou ook de matrix £ P ^3 z0'n rij bevatten (n.1. een van de eerste vier rijen). Dit zou evenwel betekenen dat de matrix D·-1] singulier zou zijn, hetgeen volgens eerder bewijs niet zo is. Dus bevat elke rij van de matrix 03 tenminste één "1”. Enkele^roor de hand liggende 10 keuzen van £ zijn nu de volgende: C3= Ca°03 o> 03= Da°3 (2)
Ca°a°J o)
Geval (1) betekent dat de eerste helft van een door de desbetreffende 15 tweede kodevormer gekodeerd datawoord in het invoer/uitvoergeheugen wordt gekopieerd pp het door de reducerende kodevormer van die reken-machinanodule te vormen kodesymbool.
Geval (2) betekent dat het andere halve datawoord in het invoer/uitvoergeheugen wordt gekopieerd op het desbetreffende kodesymbool. In deze 20 gevallen wordt een bitfout inde gekopieerde helft vertaald in een bit-fout in het kodesymbool. Een bitfout in de niet-gekopieerde helft heeft - geen invloed qp de informatie in het kodesymbool. Een eventuele perio dieke test pp de niet-gekppieerde helft kan dus niet worden uitgevoerd door de bijbehorende processormodule.
25 Op overeenkomstige manieren kunnen andere vormen voor de matrix £ F 3 gevonden voor andere waarden van de grootheden n (aantal modules, hier 4), k (aantal datasymbolen in datawoord, hier 2) en b (aantal bits in symbool, hier 4).
Uit het voorgaande blijkt dat als generatormatrix OM voor de tweede 30 kode vormer zulke voldoen, waarvoor geldt: £g*2 is niet singulier l>ï-13 -C Oil -Cf], waarbij £ een matrix is met koëff icienten in het Galois lichaam GF (2) , met de eigenschappen dat iedere rij tenminste één "1" bevat en 35 iedere kolom ten hoogste één "1” bevat. In dit geval spreken we over de metgezelmatrices waarvan de elementen uit het Galois lichaam GF(2) gekozen zijn.
8204038
P
PHN 10.474 11
Hierna wordt bij wijze van voorbeeld een reeks generator-matrixen voor geval (1) gegeven; de afleiding der overeenkomstige matrixes voor geval (2) is uiterst elementair. Fig. 2 geeft een voorbeeld van een generatarmatrix C voer de desbetreffende kode. Deze 5 gener atarmatr ix is reeds als verbeeld gegeven in de oudere Nederlandse octrooiaanvrage 8104342 (PHN 10.155) van dezelfde aanvrager, welke hierin geïncorporeerd zij bij wijze van referentie. Fig. 3 geeft de afzonderlijke generatormatrixen voor de respektievelijke reducerende kodevormers, tweede kodevonters en kodeterugvoraners.
W Uit het voorgaande volgt: CGi3 * L Gi* 1J= La°^ 3 ·
Daaruit volgt dat de eerste rij van de matrix £ G* J gelijk moet zijn aan de eerste regel van de matrix fa J . De onderste (tweede) regel van de matrix tX*3 moet zo gekozen warden dat deze matrix niet-singulier is. Het blikt dat dit binnen de beperkingen van de kode zoals 15 deze is gedefinieerd in de laatstgeciteerde octrooiaanvrage steeds gerealiseerd kan worden door de regels C*3 af(>°3 .
Er wordt op gewezen dat dit echter niet de enige mogelijkheden zijn, jedoch deze zijn wél gemakkelijk inplementeerbaar. Hieruit volgen direkt de generatormatrixen voor de kodeterügvormers.
20 Vervolgens wordt nog het eerder gereleveerde geval (3) be schouwd. Hierbij wordt het kodesymbool gevormd door de inhoud van de eerste en tweede helft van het woord in het invoer/uitvoergeheugen bitsgewijs en modulo-2 bij elkaar op te tellen. Iedere bitfout in het invoer/uitvoergeheugen wordt dus af geheeld op het bijbehorende kodesym-25 bool. Hier wordt dus de foutfrékwentie die door het invoer/uitvoer-geheugen wordt geïnduceerd, ceteris paribus, verdubbeld. Een voordeel is evenwel dat nu het gehele invoer/uitvoergeheugen door de processor-module 20....26 getest kan worden. Hier geeft fig. 4 de generatormatrixen voor de reducerende kodevormers, twaede kodevormers en kode-30 terugvormers. Er geldt: X3 .C e? '13=£a°a°] of IX 3 -CA° 3IPi* 3-
Ook hier kan ter besparing van onderdelen de eerste rij van de matrix JT G.j*^ gekozen worden uitsla0 1 en[ao0 J . In het tweede geval geldt: 35 CGi 1 C Gii Gio3 -Laa J-¾]
Daaruit volgt 8204038 * PHN 10.474 12
Gi1 = a^a1 a1 = G^ + a° G.n = s? iO .
Als 3? φ O, dan is ƒ G.x Ί niet singulier, en is er geen probleem.
1 J r * n
Anderzijds,' als G^q = 0, dan moet voor de bovenste rij van G^ l 5 de waarde Cfa°3 gekozen worden.
Fig. 5 illustreert een andere mogelijkheid voor de matrix £f] , bij dezelfde vraarden van de grootheden n, k, b, en de conse-quenties daarvan voor de generatormatrixen. Met opzet is voor de matrix £ een vorm gekozen die niet slechts twee sufcmatrices bevat die 10 behoren bij twee elementen uit het Galois lichaam GF (2^). De matrix 03 , Fig. 5, eerste regel voldoet aan de hierboven gevormileerde vereisten. Het bijbehorende stel generatormatr ixen £ G.* Jwcrdt gevonden C*-1 n * G. j volgens: C«J .£ 15 De realisatie kan nu als volgt gebeuren, doordat G^J en FJ worden uitgebreid tot matrixen £g| ^ en^”^ die niet-singulier zijn, dan geldt zeker: c^ji- cv1 j-oj ·
De gevondenOi 3 vee^al slechts één van de mogelijke oplossingen.
20 Stel: £g33 = £a°0j , weltematrix eerder is getoond. Dan kunnen £ Gj'J en [f'J de vorm hebben die in Fig. 5 tweede regel is getoond. Omdat geldt EG3'3 9eldt °°k CG3*~1J = L G3'_13 L F 3 en dit blijkt dezelfde matrix als op te leveren.
Op dezelfde wijze wordt de generatormatrix CVl bepaald: 25 r „ L.G2 'J kan volgens Fig. 5, derde regel, gevonden warden als een ge-penruteerde identiteitsmatrix. Hier geldt CV-1] = Γβ,·3—t behulp van de al eerder bepaalde matrix £ F'J kan^G- J worden be-30 paald volgens Fig. 5, vierde regel. Daaruit is £ G2^J te bepalen die op de tweede regel van Fig. 5 is getoond.
De matrix G^ is: [a a j .
Volgens eerder gegeven criteria, namelijk het streven naar eenvoud zij dan: r η 35 CGi]=[^j
Daaruit volgt voor de inverse: 8204038 ' ν· ΡΗΝ 10.474 13 φ*[λ"]
Voer de matrix CO kan weer de eerder bepaalde waarde gebruikt worden, zodat de matrix gevonden wordt volgens Fig. 6, eerste 5 regel, welke Figuur een vervolg is op Fig. 5. Tenslotte wordt de genera- tormatrix Q G1*3 door Cgi*3 = C f*_13 1°, 3 , volgens
Fig. 6, tweede regel.
De matrix is tenslotte LGol - I>” *7 3 , eenvoudshalve wordt . >>[· i’ ;] * cc·] Ml-
De respektievelij ke generatarmatrixen warden gevonden uit C G * 13=Cg-,13 *C F 3 , respektievelijk uit U*J- · CV 3 , zoals op de derde, respektievelijk vierde regel van Fig. 6 is getoond.
15 20 25 30 35 8204038

Claims (6)

1. Multiprocesscr-rékermiachinesysteem, bevattende n parallel werkende rekenmachinemodules met gesynchroniseerde besturing, die elk in een eigen isolatiegebied voor fouten zijn geïdealiseerd, waarbij elke rekenmachinemodule bevat: 5. een processcrmodule; . - een op een data-aanslilting van de processormodule aangesloten datakanaal; - een qp het datakanaal aangesloten reducerende kodevormer cm uit een ontvangen datawoord een kodesymbool te vormen zodat door de respektie- 10 velijke kodevormers uit een datawoord van k datasymbolen een uit k+1 ^ n ^ 3k kodesymbolen bestaand kodewoord wordt gevormd van een kode met simultane korrektiekapaciteit in tenminste twee kodesymbolen; - een geheugenmodule met een eerste dataingang die is aangesloten op een eerste data-uitgang van de bijbehorende reducerende kodevormer, en 15 met een tweede data-uitgang; - en een datawoordrekonstruktiemodule, die via een verbindingsnetwerk is aangesloten op de respektievelijke tweede data-uitgangen van de geheugenmodules der onderscheidene rekenmachinemodules cm van elke rekenmachinemodule een respektievelijk kodesymbool van een kodewoord 20 te ontvangen en daaruit een datawoord te rekonstrueren, waarbij de datawoordrekonstruktiemodule is voorzien van een derde data-uitgang die is aangesloten op genoemde data-aansluiting en op genoemd datakanaal, en waarbij genoemd data-kanaal voorts is voorzien van een tweede data-aansluiting voor informatie-toe/afvoer naar buiten, met het kenmerk, 25 dat elke rekenmachinemodule voorts bevat: - een in serie met genoemde tweede data-aansluiting geschakeld tweede data-kanaal met een derde data-aansluting; - een in/uitvoer-geheugenmodule, die middels een tweede, niet-reducerende kodevormer en een derde data-ingang, respektievelijk middels een met de 3° tweede kodevormer gepaarde kodeterugvormer op het tweede datakanaal is aangesloten, dat tussen de generatormatrix [<^3 van een reducerende kodevormer, tenminste voor zover deze een databit pp meer dan één kodebit afbeeldt, de generatormatr ix van de tweede kodevormer en de generatermatrix I>Γ3 van de kodeterugvormer de volgende 35 verbanden bestaan: U*3.UM3-i:i3 , de identiteitsmatrix; EM-teJ· EGiM3 , waarin elke kolom van 1*1 , geschreven 6204038 PHN 10.474 15 als opgebouwd uit bits, ten hoogste één ”1" en voorts uitsluitend "nullen" bevat en elke rij van 03 tenminste één "1", zodat een bit van een inhet invoer/uitvoergeheugen gekodeerd datawoord in de betreffende rekenmachinemodule pp ten hoogste één bit van het uit dat data-5 woord vormbare kodesynibool wordt af geheeld.
2. Miltiprocessarrekenmachinesysteem volgens conclusie 1, met het kenmerk, dat de korrektiekapaciteit van de kode tenminste een willekeurige staringsvektor in tenminste ém kodesymbool artvat.
3. Multiprocessorrekenmachinesysteem volgens conclusie 1 of 2, 10 met het kenmerk dat een datawxrdrékcnstruktienodule tenminste twee selektief aktiveerhare werkmodes bezit met onderscheidene korrektie-kapaciteit.
4. Hiltiprocessarrékenmachinesysteem volgens conclsie 1, 2 of 3, met het kenmerk, dat elke rij van de matrix 03 precies één 15 "1" bevat.
5. ffcdtiprocessorrekenmachinesysteem volgens één der conclusies 1 tot en met 3, met het kenmerk, dat elke kolom van de matrix £ precies één "1" bevat.
6. Rekenmachinemodule te gebruiken ' in een nultiprocessorreken-20 machinesysteem volgens één der ccnlusies 1 tot en met 5,met het kenmerk, dat de reducerende kodevormer tenminste één databit qp tenminste twee kodebits afbeeldt, en dat de kcmbinatie van kodeterugvormer en reducerende kodevormer elke bit uit het invoer/uitvoergeheugen op ten hoogste één bit in de geheugenmodule afbeeldt. 25 30 1 8204038
NL8204038A 1982-10-20 1982-10-20 Multiprocessorrekenmachinesysteem, bevattende n parallel werkende rekenmachinemodules, en rekenmachinemodule te gebruiken in zo een multiprocessorrekenmachinesysteem. NL8204038A (nl)

Priority Applications (8)

Application Number Priority Date Filing Date Title
NL8204038A NL8204038A (nl) 1982-10-20 1982-10-20 Multiprocessorrekenmachinesysteem, bevattende n parallel werkende rekenmachinemodules, en rekenmachinemodule te gebruiken in zo een multiprocessorrekenmachinesysteem.
CA000438844A CA1204873A (en) 1982-10-20 1983-10-12 Multiprocessor computer system comprising n parallel operating computer modules, and computer module for use in such a multiprocessor computer system
US06/542,839 US4633472A (en) 1982-10-20 1983-10-17 Multiprocessor computer system comprising n parallel operating computer modules, and computer module for use in such a multiprocessor computer system
AU20281/83A AU570415B2 (en) 1982-10-20 1983-10-18 Multiprocessor system
AT83201487T ATE26624T1 (de) 1982-10-20 1983-10-19 Mehrrechner-datenverarbeitungssystem welches n parallel arbeitende datenverarbeitungsmodulen enthaelt und datenverarbeitungsmodul zur anwendung in einem solchen mehrrechnerdatenverarbeitungssystem.
DE8383201487T DE3371008D1 (en) 1982-10-20 1983-10-19 Multiprocessor computer system comprising n parallel operating computer modules, and computer module for use in such a multiprocessor computer system
EP83201487A EP0110439B1 (en) 1982-10-20 1983-10-19 Multiprocessor computer system comprising n parallel operating computer modules, and computer module for use in such a multiprocessor computer system
JP58195399A JPS5991568A (ja) 1982-10-20 1983-10-20 マルチプロセサ計算機装置及びそこで使用される計算機モジユ−ル

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8204038 1982-10-20
NL8204038A NL8204038A (nl) 1982-10-20 1982-10-20 Multiprocessorrekenmachinesysteem, bevattende n parallel werkende rekenmachinemodules, en rekenmachinemodule te gebruiken in zo een multiprocessorrekenmachinesysteem.

Publications (1)

Publication Number Publication Date
NL8204038A true NL8204038A (nl) 1984-05-16

Family

ID=19840437

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8204038A NL8204038A (nl) 1982-10-20 1982-10-20 Multiprocessorrekenmachinesysteem, bevattende n parallel werkende rekenmachinemodules, en rekenmachinemodule te gebruiken in zo een multiprocessorrekenmachinesysteem.

Country Status (8)

Country Link
US (1) US4633472A (nl)
EP (1) EP0110439B1 (nl)
JP (1) JPS5991568A (nl)
AT (1) ATE26624T1 (nl)
AU (1) AU570415B2 (nl)
CA (1) CA1204873A (nl)
DE (1) DE3371008D1 (nl)
NL (1) NL8204038A (nl)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58221453A (ja) * 1982-06-17 1983-12-23 Toshiba Corp 多重系情報処理装置
NL8402472A (nl) * 1984-08-10 1986-03-03 Philips Nv Multiprocessor-rekenmachinesysteem, bevattende n parallelwerkende rekenmachinemodules en voorzien van een extern apparaat, alsmede rekenmachinemodule voor gebruik in zo'n systeem.
US4955024A (en) * 1987-09-14 1990-09-04 Visual Information Technologies, Inc. High speed image processing computer with error correction and logging
US4942517A (en) * 1987-10-08 1990-07-17 Eastman Kodak Company Enhanced input/output architecture for toroidally-connected distributed-memory parallel computers
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
US4937741A (en) * 1988-04-28 1990-06-26 The Charles Stark Draper Laboratory, Inc. Synchronization of fault-tolerant parallel processing systems
EP0377221B1 (en) * 1988-12-29 1996-11-20 Sharp Kabushiki Kaisha Neuro-computer
EP0386506A3 (en) * 1989-03-06 1991-09-25 International Business Machines Corporation Low cost symbol error correction coding and decoding
US5243697A (en) * 1989-03-15 1993-09-07 Sun Microsystems, Inc. Method and apparatus for selecting button functions and retaining selected options on a display
US5146461A (en) * 1989-11-13 1992-09-08 Solbourne Computer, Inc. Memory error correction system distributed on a high performance multiprocessor bus and method therefor
DE69031947T2 (de) * 1990-10-16 1998-07-16 Koninkl Philips Electronics Nv Datenverarbeitungssystem basierend auf einem (N,K)-Symbolkode und mit Symbolfehler-Korrigierbarkeit und mehrfacher Fehlerreparierbarkeit
US5325500A (en) * 1990-12-14 1994-06-28 Xerox Corporation Parallel processing units on a substrate, each including a column of memory
US5206865A (en) * 1990-12-17 1993-04-27 Motorola, Inc. Error detection and correction memory system
EP0886824A1 (en) * 1996-12-13 1998-12-30 Nyquist B.V. Redundant data processing system having two programmed logic controllers operating in tandem
US7181674B2 (en) * 2002-06-28 2007-02-20 Sun Microsystems, Inc. Computer system including a network employing redundant information and slicing
US7681104B1 (en) 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7804673A (nl) * 1978-05-02 1979-11-06 Philips Nv Systeem voor het overdragen van binaire informatie over een aantal kanalen.
NL7909178A (nl) * 1979-12-20 1981-07-16 Philips Nv Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten.
US4438494A (en) * 1981-08-25 1984-03-20 Intel Corporation Apparatus of fault-handling in a multiprocessing system
NL8104342A (nl) * 1981-09-21 1983-04-18 Philips Nv Rekenmachinesysteem, gebaseerd op een symboolkorrigerende kode met twee werkmodes.

Also Published As

Publication number Publication date
US4633472A (en) 1986-12-30
JPS5991568A (ja) 1984-05-26
CA1204873A (en) 1986-05-20
EP0110439A1 (en) 1984-06-13
AU570415B2 (en) 1988-03-17
AU2028183A (en) 1984-05-03
DE3371008D1 (en) 1987-05-21
ATE26624T1 (de) 1987-05-15
JPH0359457B2 (nl) 1991-09-10
EP0110439B1 (en) 1987-04-15

Similar Documents

Publication Publication Date Title
NL8204038A (nl) Multiprocessorrekenmachinesysteem, bevattende n parallel werkende rekenmachinemodules, en rekenmachinemodule te gebruiken in zo een multiprocessorrekenmachinesysteem.
US4402045A (en) Multi-processor computer system
EP1017177B1 (en) Configurable Reed-Solomon encoder/decoder
JP3256517B2 (ja) 符号化回路、回路、パリティ生成方法及び記憶媒体
US20090089642A1 (en) Low-density parity-check (ldpc) encoder
US7028248B2 (en) Multi-cycle symbol level error correction and memory system
EP0407066A2 (en) Fault tolerant memory
JPH05508750A (ja) 順方向誤り訂正コード方式
US8046661B2 (en) Symbol error correction by error detection and logic based symbol reconstruction
EP1183605A1 (en) System and method for protecting data and correcting bit errors due to component failures
US5563894A (en) Error detecting and correcting method and system
US8843810B2 (en) Method and apparatus for performing a CRC check
US6438726B1 (en) Method of dual use of non-volatile memory for error correction
US8539302B2 (en) Error detecting/correcting code generating circuit and method of controlling the same
EP0300139B1 (en) Error correcting code for b-bit-per-chip memory with reduced redundancy
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
US4519079A (en) Error correction method and apparatus
US20140258807A1 (en) Decoding and Optimized Implementation of SECDED Codes over GF(q)
US20130198582A1 (en) Supercharged codes
KR100304193B1 (ko) 리드솔로몬복호기의역수구현회로
JP3654655B2 (ja) データ処理システム
JPS60170330A (ja) 復号化システム
WO2000070459A1 (en) Error correction circuit and method for a memory device
KR102681248B1 (ko) 대칭-불변 이진 프로덕트 코드들을 인코드 하기 위한 하프-사이즈 데이터 어레이
RU169207U1 (ru) Устройство хранения и передачи данных с обнаружением ошибок

Legal Events

Date Code Title Description
A1B A search report has been drawn up
A85 Still pending on 85-01-01
BV The patent application has lapsed