NL7909178A - Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten. - Google Patents

Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten. Download PDF

Info

Publication number
NL7909178A
NL7909178A NL7909178A NL7909178A NL7909178A NL 7909178 A NL7909178 A NL 7909178A NL 7909178 A NL7909178 A NL 7909178A NL 7909178 A NL7909178 A NL 7909178A NL 7909178 A NL7909178 A NL 7909178A
Authority
NL
Netherlands
Prior art keywords
code
error
word
data
symbols
Prior art date
Application number
NL7909178A
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 NL7909178A priority Critical patent/NL7909178A/nl
Priority to DE8080201185T priority patent/DE3070868D1/de
Priority to AT80201185T priority patent/ATE14250T1/de
Priority to EP80201185A priority patent/EP0031183B1/en
Priority to CA000366572A priority patent/CA1163373A/en
Priority to US06/216,118 priority patent/US4402045A/en
Priority to AU65447/80A priority patent/AU539375B2/en
Priority to JP18029380A priority patent/JPS5697158A/ja
Publication of NL7909178A publication Critical patent/NL7909178A/nl

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

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)
  • Hardware Redundancy (AREA)
  • Detection And Correction Of Errors (AREA)
  • Multi Processors (AREA)
  • Error Detection And Correction (AREA)

Description

t / PHN 9652 1 N.V. PHILIPS' GLOEILAMPENFABRIEKEN TE EINDHOVEN.
"Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten".
ACHTERGROND VAN DE UITVINDING
De uitvinding betreft een multiprocessor-reken-machinesysteem, bevattende een aantal n (n > 2) parallel werkende processorelementen die elk een eerste data-ingang en een eerste data-uitgang bezitten, welk rekenmachinesys-5 teem voorts bevat een geheugen met tweede data-ingangen om op genoemde eerste data-uitgangen verschijnende informatie te ontvangen en voorbijgaand op te slaan en met tweede data-uitgangen om informatie aan genoemde eerste data-ingangen te presenteren, waardoor voor de informatie een . ^ rondgekoppelde baan vormbaar is, met voorts in de rondgekoppelde baan een informatie-rekonstruktieinrichting om alle in de randgekoppelde baan circulerende informatie te ontvangen en deze na rekonstruktie op basis van een fou- tenkorrigerende kode aan de rondgekoppelde baan te herpre-15 senteren. Alle informatiebehandeling is onderhevig aan fouten. Sommige fouten zijn bestendig, bijvoorbeeld doordat een bepaald element van een schakeling uitsluitend één enkele signaalwaarde af kan geven van de twee (of meer) informatieafhankelijke signaalwaarden. Andere fouten zijn 20 slechts tijdelijk aanwezig, bijvoorbeeld onder invloed van uitwendige stoorsignalen. De uitvinding neemt beide kate-goriëen:in aanmerking. Volledigheidshalve wordt erop gewezen dat de tweede dataingangen en tweede datauitgangen fysiek in dezelfde aansluitklemmen gerealiseerd kunnen 25 zijn, die dan bidirektioneel werkzaam zijn. Het-zelfde kan ook het geval zijn met de eerste data-ingang en eerste data-uitgang. Een systeem volgens de aanhef, bijvoorbeeld met n = 3» is geschikt om telkens drie parallele bits in de rondgekoppelde baan te vergelijken en op basis van 30 een meerderheidsbeslissing de juiste informatiewaarde te rekonstrueren. Voor een volledige zekerheid moeten alle elementen (processorelementen, geheugenkapaciteit, infor- 7909178 PHN 9652 2 matierekonstruktie—elementen en datapaden) tenminste drievoudig aanwezig zijn * De informatierekonstruktie-inrich— ting kan enkelvoudig zijn, maar dan is geen korrektie mogelijk voor fouten die in de informatierekonstruktieinrichting 5 zélf optreden» Als de informatierekonstruktie—inrichting ook drievoudig is uitgevoerd zijn nog extra verbindingen noodzakelijk om telkens alle informatie ook aan alle in-formatierekonstruktie-elementen toe te voeren.
Vooreerst zullen enkele eigenschappen van fouten— 10 korrigerende, respektievelijk foutendetekterende kodes worden besproken. Het zal blijken dat telkens een processor-element tesamen met een bijbehorende sektor van het geheugen en een separate rekonstruktie sektor van de informatierekonstruktie—inrichting in een separaat isolatiegebied 15 voor fouten is opgenomen. Elk van die isolatiegebieden levert bijvoorbeeld in een symmetrisch geval (alle werken op dezelfde bitlengte) telkens b bits; in een later te bespreken uitvoeringsvoorbeeld heeft b de waarde 4. Er zijn n van deze isolatiegebieden; in het uitvoeringsvoorbeeld heeft n 20 de waarde 4, Zo'n groep van b bits wordt een "symbool" genoemd; over de betekenis van deze term wordt teffens meer bericht. Stel nu dat de informatieinhoud van de door alle isolatiegebieden voor fouten tesamen gegenereerde uitgangssignalen gerepresenteerd kan worden door k symbolen van 25 elk b bits., De in werkelijkheid geproduceerde hoeveelheid signalen bedraagt n symbolen van b bits. De kode heet systematisch op bitniveau als elk van de b.k. informatiebits gerekonstrueerd kan worden uit precies één van de b.n kode bits; dan zijn er dus b.(n-k) redundantiebits. De kode heet 30 systematisch op symboolniveau als elk van k informatiesym-bolen, die tesamen de gehele informatieinhoud bevatten, gerekonstrueerd kan worden uit precies één kodesymbool; dan zijn er dus (n-k) redundantiesymbolen. Ook niet-systemati-sche kodes zijn mogelijk, maar dikwijls wordt dan de ko-35 deer/dekodeer-inrichting gekompliceerder.
Men definieert nu een "afstand" als eigenschap van de kode. De afstand volgens Hamming is het minimum aan- 790917? * # PHN 9652 3 tal bits waarin elk willekeurig paar kode-woorden onderling tenminste verschilt. De kode wordt nu gedefinieerd als hebbende een "afstand” over de symbolen van D; dat is nu het minimum aantal symbolen waarin elk willekeurig paar kode-5 woorden onderling tenminste verschilt. De waarde van dit verschil kan in een meerbits-symbool verschillend zijn (mits ongelijk aan nul). Er zijn verschillende mogelijkheden voor het detekteren en korrigeren van gestoorde kode-woorden. Als D een oneven waarde heeft die groter is dan 10 1, dan kunnen t = (D—1)/2 gestoorde symbolen gekorrigeerd worden, als de korrektiemogelijkheid maximaal wordt benut (als D=1 is geen korrektie/detektie van een gestoord symbool gewaarborgd). Als D een even waarde heeft, dan kunnen er D/2 gestoorde symbolen gedetekteerd worden waarvan er 15 t=(D-2)/2 gekorrigeerd kunnen worden. Het is mogelijk dat de korrektiekapaciteit niet volledig benut wordt, doordat de korrektieinrichting slechts tot het doen van een beperktere korrektie dan theoretisch mogelijk wordt geaktiveerd, bijvoorbeeld slechts om t^(D-l)/2 voor d oneven, respek-20 tievelijk t ^ (D-2)/2 voor D even, gestoorde symbolen te korrigeren. In dat geval zijn in totaal (D-t-1) sumboolfou-ten te detekteren, waarvan er t gekorrigeerd kunnen worden.
In extreme gevallen kan t zelfs de waarde "O" krijgen. Zo is het bijvoorbeeld mogelijk om bij D=6 öfwel 3 fouten de— 25 tekteerbaar, waarvan 2 korrigeerbaar te maken, ofwel 4 fouten detekteerbaar waarvan 1 korrigeerbaar, 6fwel 5 fouten detekteerbaar te maken. Het nalaten (gedeeltelijk of geheel) kan voordelig zijn, waar de korrektie vaak vertragend werkt, of waar men in bepaalde gevallen een zo 30 groot mogelijke zekerheid wenst dat geen gestoord kode-woord als ongestoord kodewoord wordt aangegeven.
SAMENVATTING VAN DE UITVINDING
35 De uitvinding baseert zich op het inzicht dat het mogelijk is de redundantie in bepaalde delen van het systeem te verminderen door juist in andere delen van het 7909178 -¾ » ♦ * 0 ΡΗΝ 9652 4 systeem een extra investering te doen en met name in deze andere delen een grotere hoeveelheid informatie te verwerken. Het is daarmee een doelstelling van de uitvinding om met name door een verminderde behoefte aan geheugen—kapa-5 citeit, waartegenover slechts een beperkte toename in pro-cessorkapaciteit staat, een goedkoper rekenmachinesysteem te realiseren. De uitvinding verwerkelijkt de doelstelling doordat hij het kenmerk heeft dat, voor n^ k telkens een processorelement met een bijbehorende sektor van het geheu-10 gen en een separate rekonstruktiesektor van de informatie— rekonstruktie—inrichting in een separaat isolatie gebied voor fouten (fault isolation area) is opgenomen, dat binnen een isolatiegebied voor fouten een kodevormer aanwezig is om op basis van een datawoord dat is opgebouwd uit k 15 symbolen van elk b bits en dat is gegenereerd door het bijbehorende processorelement te vormen een kodesymbool van b bits voor de bijbehorende geheugensektor als deel van een uit n kodesymbolen opgebouwd kode-woord dat behoort tot een verzameling kodewoorden met een over de symbolen daar— 20 van gedefinieerde kode-afstand ter waarde van D(D^3), dat genoemde tweede data-uitgangen telkens verbonden zijn met ingangen van alle rekonstruktiesektoren van het betreffende multiprocessor-rekenmachinesysteem om een uit het geheugen uitgezen kodewoord ter rekonstruktie van het bijbehorende 25 datawoord telkens geheel aan elke rekonstruktiesektor toe te voeren en dat het verband tussen D, k en n gegeven wordt door de formule: D.k - (D-1) ^ n - (D—1) ^ k ^ 2. Daardoor wordt de infor-matierekonstruktie—inrichting komplexer, maar de verminder-30 de geheugenkapaciteit werkt kostenbesparend. Met name wordt dit laatste gerealiseerd doordat in elke kodevormer een kodesymbool met kleinere lengte dan het bijbehorende datawoord wordt gevormd. Voor elk isolatiegebied voor fouten (zie later) vindt en dus als het ware een datareduktie in 35 twee stappen plaats: eerst in de informatierekonstruktie sektor van kodewoord naar datawoord, en vervolgens in de kodevormer van datawoord naar kodesymbool.
7909178 * Λ ΡΗΝ 9652 5
Het verband tussen D, k en n wordt als volgt afgeleid uit een aantal restrikties, namelijk; k^ 2, want voor k=1 ontstaat het n-voudig systeem dat als vermeld het nadeel van grote kostbaarheid meebrengt.
5 n^ D.k, want n « D.k leidt als het ware tot een n-voudig systeem als boven, maar dan k x parallel, met dezelfde nadelen.
n^ k+D-1, dit is een eis uit de theorie der foutkorrige-rende kodes.
10 Voor theorie der foutkorrigerende kodes in het algemeen wordt verwezen naar het boek door V.F. Peterson et al, "Error correcting codes", MIT, Boston, 2° druk 1971» dat als hèt standaardwerk op dit gebied geldt. Dit boek geeft een groot aantal kodes en middelen om zulke kodes 15 (matematisch) te genereren. De uitvinding betreft daarbij niet de kode zélf, maar een multiprocessor-rekenmachine— systeem, waarbij op bijzondere wijze gebruik gemaakt is van de voordelige eigenschappen van zulke kodes. Na het bovenstaande geldt nog dat er een benedengrens isr voor de waarde 20 van b die afhangt van de specifieke eigenschappen van de gebruikte kode.
Het is gunstig als de waarde van n gegeven wordt 2 door n = k + D- 1, waarbij voor D=4 geldt b ^ log (n-2), doch overigens b ^ log(n-l). Het is gebleken dat juist 25 het gebruik van deze kodefamilie (MDS-minimum distance between symbols) een multiprocessor-rekenmachine systeem mogelijk maakt dat een ruime korrektie/detektiemogelijk-heid voor fouten toestaat voor een beperkte hoeveelheid noodzakelijke onderdelen.
30 Het is gunstig als de waarden van D, b, k en n gegeven zijn door de verbanden: D*3» nsk+2, b log (n-1). Dit levert een betrekkelijk geringe hoeveelheid benodigde redundantie, namelijk n/(n-2) X voor het geheugen nx voor de processor-elementen. Toch is 35 dan telkens één gestoord kodesymbool per kodewoord korri-geerbaar, respektievelijk (zonder korrektie) twee gestoorde kodesymbolen per kode-woord detekteerbaar.
7909178 • Γ» ΡΗΝ 9652 6
Het is gunstig als de waarden van b, k, en m. gegeven zijn door de verbanden : n=4, k=2, b ^ 2. Dit betekent dat de processorkapaciteit viermaal die van een enkele processor is, maar dat de geheugenkapaciteit slechts 5 twee maal die van een uniprocessorsysteem behoeft te zijn. Voor een drievoudig multiprocessor systeem met bitsgewijze meerderheidsbeslissing zijn de kosten gewoonlijk aanzienlijk hoger.
Het is gunstig als genoemde kodevormers geschikt 10 zijn om de elementen van genoemde (n—2) datasymbolen zonder verdere kodering als elementen in genoemde kodesymbolen op te nemen.. Dit geeft een vereenvoudiging omdat zo de logische > bouw van de kode-vormers zich gedeeltelijk tot een selek-tie van de databits beperkt. Bijvoorkeur worden de data— 15 symbolen direkt als kodesymbool overgenomen.
VERDERE DETAILS VAN DE UITVINDING
Het is gunstig als elk isolatiegebied voor fouten 20 aan de ingang van de informatierekonstruktiesektor een register voor een kodewoord bevat. De werking van de elementen in de respektievelijke isolatiegebieden voor fouten is onderling synchroon. Enige fase—ongelijkheid is echter toelaatbaar. Het ingangsregister heeft als doel er voor te 25 zorgen dat de ingangsinformatie (al dan niet gestoorde kode-woord^niet meer verandert op het moment dat de informatie— rekonstruktiesektor begint om het datawoord te rekonstru-eren. Dit is nodig omdat anders bijvoorbeeld een kombina-torisch netwerk daartoe een.veranderend signaal zou ontvan— 30 gen: en dat zou een ongedetermineerd uitgangssignaal ten gevolge hebben.
Het is gunstig als tenminste een der informatie— rekonstruktiesektoren .-is voorzien van een signaleringsuit-gang voor het signaleren van de detektie van een al dan niet 35 korrigeerbare fout. Als de fout dusdanig is dat rekonstruk-tie onmogelijk is, kan het foutdetektiesignaal gebruikt worden om een "herhaal"-operatie te starten. Als de rekonstruk-tie wel mogelijk is kan het detektiesignaal gebruikt worden 7909178 » · PHN 9652 7 om een boekhouding bij te werken die de mate van onbetrouwbaarheid der verschillende isolatiegebieden voor fouten aangeeft. Bij een onherstelbare fout kan het onbetrouwbaarste isolatiegebied buiten beschouwing worden gelaten.
5 Het is gunstig als voor de aansluiting van een randapparaat, in een eerste isolatiegebied voor fouten het processor element voorzien, is van tenminste êên uitgaande besturingslijn en van een uitgangslijn voor een data-woord voor-dat randapparaat, en dat voorts in alle isola-10 tiegebieden voor fouten het betreffende processorelement voorzien is van tenminste één inkomende besturingslijn en van een inkomende lijn voor een datawoord vanuit dat randapparaat en dat voorts alle genoemde inkomende lijnen voorzien zijn van door een uitgangssignaal van het betreffende 15 processorelement blokkerend aktiveerbare schakelaars. Een randapparaat kan verschillende aard zijn: het kan enerzijds een inrichting zijn voor het effektueren van een toe/af-voer van gegevens, zoals een toetsenbord of een afbeeldin-richting. Het kan een achtergrondgeheugen zijn, zoals een 20 -magnetisch schijfgeheugen met bijbehorende besturingselementen. Het kan tenslotte een tweede rekenmachinesysteem zijn, bijvoorbeeld een subalterne of voorkants-(front-end) processor. Met name in het geval van een eenvoudig randappa— raat, dat geen of weinig dataverwerkende middelen bezit, 25 geeft het laatstelijk geschetste systeem een eenvoudige en goedkope oplossing. Daarbij is de werking van het randapparaat niet door de eerder genoemde redundantie medebeveiligd.
In het geval het randapparaat slechts datatransport in éên richting meebrengt zal de dataverbinding in de andere rich-30 ting loos zijn. In een eenvoudige uitvoering zullen de besturingsli jnen bijvoorbeeld betreffen een verzoek (request) lijn in uitgaande richting en een bevestigings(acknowledge) lijn in teruggaande richting. In gecompliceerde situaties kunnen status-, onderbreek-, en andere lijnen aanwezig zijn.
35 Aan de andere kant kan in een zeer eenvoudige situatie het betreffende randapparaat in een afroep-organisatie opgenomen zijn (polling). Het kan bijvoorbeeld betreffen een sensor-met-A/D-omzetter die op afroep de digitale representatie νεη 7909178 ·- · « « PHN 9652 8 een meetwaarde overstuurt· Dan kan per isolatiegebied voor fouten de ingaande besturingslijn achterwege blijven.
Het is gunstig als voor de aansluiting van een randapparaat dit laatste voorzien is van eerste middelen 5 om van alle isolatiegebieden voor fouten de door de bijbehorende kodevormer gevormde kodesymbolen te ontvangen en op basis daarvan het bijbehorende datawoord te rekonstruer en, dat voorts in elk isolatiegebied voor fouten het processor-element voorzien is van tenminste een uitgaande besturings-10 lijn voor dat randapparaat annex een tweede kodevormer en dat genoemd randapparaat voorzien is van tweede middelen om uit de zo per isolatiegebied voor fouten gekodeerde be-sturingssignalen een besturingswoord te vormen op basis van dezelfde symboolkorrigerende kode als gebruikt voor het 15 kodewoord en dat voorts in alle isolatiegebieden voor fouten het betreffende processor-element voorzien is van tenminste één inkomende besturingslijn en van een inkomende lijn voor een datawoord van dat randapparaat en dat voorts alle genoemde inkomende lijnen voorzien zijn van door een 20 uitgangssignaal van het betreffende processorelement blokkerend aktiveerbare schakelaars. Dit levert een verbeterde beveiliging, want nu is het transport van informatiesigna— len en besturingssignalen van de respektievelijke isolatiegebieden voor fouten naar het randapparaat toe ook door 25 een redundante kode beveiligd. En daarvoor is in het rand·* apparaat slechts een beperkte hoeveelheid maatregelen noodzakelijk. Zoals hierboven vermeld, kunnen ook nu in bepaalde gevallen de ingaande besturingslijnen van de respektie-velijke isolatiegebieden voor fouten achterwege blijven.
30 Wat betreft de uitgaande besturingslijnen van de respektie-velijke isolatiegebieden voor fouten is verondersteld dat door de betreffende kodevorming minder verbindingslijnen nodig zi'jn dan wanneer alle besturingssignalen direkt zouden worden overgestuurd. Als deze vermindering niet ont— 35 staat is het voordeliger de besturingssignalen ongekodeerd over te zenden, waarna in het randapparaat telkens een meerderheidsbeslissing volgt. Zo kan in het geval van slechts een enkel uitgaand besturingssignaal per processor- 7909178 * * PHN 9652 9 element een korrektiemogelijkheid van één (hier symbool = bit) verkregen worden door bij n = 4 slechts drie bestu-ringslijnen te verbinden (en de vierde loos te laten).
Het is gunstig als voor de aansluiting van een 5 randapparaat dit laatste voorzien is van eerste middelen om van alle isolatiegebieden voor fouten de door de bijbehorende Eodevormer gevormde kodesymbolen te ontvangen en op basis daarvan het bijbehorende datawoord te rekonstrueren en voorts van derde middelen om van een geproduceerd data-10 woord middels kodevorming als in de isolatiegebieden voor fouten een kodewoord te vormen, dat-voorts in elk isolatie— gebied voor fouten het processorelement voorzien is van tenminste één uitgaande besturingslijn voor dat randapparaat annex een tweede kodevormer en dat genoemd randapparaat 15 voorzien is van tweede middelen om uit de zo per isolatie— gebied voor fouten gekodeerde besturingssignalen een bestu-ringswoord te vormen op basis van dezelfde symboolkorrigerea· de kode als gebruikt voor het kodewoord, dat voorts in alle isolatiegebieden voor fouten het betreffende processor-ele-20 ment voorzien is van tenminste één inkomende besturingslijn van dat randapparaat en de informatierekonstruktiesektor middels een door een uitgangssignaal van het betreffende processorelement blokkerend aktiveerbare schakelinrichting is aangesloten om een geheelmin genoemd randapparaat 25 gegenereerd, kodewoord te ontvangen. Zo is daarenboven het informatietransport in beide richtingen tussen de res-pektievelijke isolatiegebieden voor fouten en het randappa— raat door een redundante kode beveiligd. Hier gelden weer dezelfde beperkingsmogelijkheden voor als in de vorige 30 paragraaf genoemd.
Het is gunstig als voor de aansluiting van een randapparaat dat over tweede isolatiegebieden voor fouten is verdeeld elk tweede isolatiegebied voor fouten is voorzien van eerste middelen om van alle eerste isolatiegebieden 35 voor fouten de dour de bijbehorende kodevormer gevormde kode- symbolen te ontvangen en op basis daarvan telkens het bijbehorende datawoord te rekonstrueren en voorts van vier- 7909178 ♦ » ft t PHN 9652 10 de middelen om uit een geproduceerd datawoörd middels kode— vorming telkens als in een korresponderend eerste isolatie— gebied voor fouten een kodesymbool te vormen, dat voorts in elk eerste isolatiegebied voor fouten het processor-element" 5 voorzien is van tenminste één uitgaande besturingslijn voor het randapparaat annex een tweede kodevormer en dat genoemd randapparaat in elk tweede isolatiegebied voor fouten voorzien is· van tweede middelen om uit de zo per eerste isolatiegebied voor fouten gekodeerde besturingssignalen 10 een besturingswoord te vormen op basis van een symboolkor-rigerende kode, .dat voorts alle eerste isolatiegebieden voor futen voorzien zijn van vijfde middelen om van alle tweede isolatiegebieden voor fouten telkens tenminste één be sturings signaal te ontvangen en daaruit een overeenkom-15 stig gekombineerd besturingssignaalte vormen en via een • door een uitgangssignaal van het bijbehcaende processorele— ment blokkerend aktiveerbare schakelinrichting toe te voeren aan laatstgenoemd processorelement en in alle eerste isolatiegebieden voor fouten de informatierekonstruktie— 20 sektor via een verdere^ door een tweede uitgangssignaal van het bijbehorende processorelement blokkerend aktiveer— bare tweede schakelinrichting is aangesloten om een geheel, in genoemd randapparaat gegenereerd, kodewoord te ontvangen» Zo is daarenboven ook het transport van besturings-25 signalen in beide richtingen tussen de respektievelijke eerste isolatiegebieden voor fouten en de respektievelijke tweede isolatiegebieden voor fouten door een redundante kode beveiligd.
Het is gunstig als genoemd randapparaat .η '' 30 tweede isolatiegebieden voor fouten bevat. Dat levert een evenwichtige en symmetrische opbouw.
De uitvinding wordt hierna als volgt beschreven. Eerst volgt een korte beschrijving van de figuren. Dan wordt een voorbeeld gegeven van een te gebruiken kodering, 35 waarbij een kodewoord is opgebouwd uit vier gedeelten.
Daarna worden enkele voorkeursuitvoeriigen gegeven van volgens dit kodeersysteem werkende inrichtingen gegeven.
7909178 PHN 9652 1 1 * Jl
Tenslotte worden een aantal uitbreidingsmogelijkheden van de kode gevormuleerd.
KORTE BESCHRIJVING VAN DE FIGUREN 5
De uitvinding wordt nader uitgelegd aan de hand van enkele figuren.
Fig. 1 geeft ter illustratie de zestien elemen- , ks ten van het Galois-lichaam GF (2 ).
10 Fig. 2a-2c geeft als voorbeeld een vorming van de kodesymbolen.
Fig. 3 geeft een eerste voorbeeld van een eenvoudig rekanmachinesysteem volgens de uitvinding.
Fig. 4 geeft ter illustratie een microprocessor 15 die als processor element in een isolatiegebied voor fouten te gebruiken is.
Fig. 5 geeft daarbij een voorbeeld van een infon-matierekonstruktiesektor.
Fig. 6a-6b geven een multiprocessor-rekenmachine 20 systeem en een randapparaat, waarbij dit laatste ook in respektievelijke isolatiegebieden voor fouten is verdeeld.
Fig. 7 illustreert enkele andere koderingen.
BESCHRIJVING VAN EEN VOORDELIGE KODE.
25
Voor een goed begrip van de uitvinding wordt gedefinieerd het begrip "symbool”. Een symbool is een bit-
groep van een vast aantal bits, bijvoorbeeld M. Het sym-M
bool kan dan 2 verschillende waarden hebben en beschouwd 30 worden als een element van een Galois-lichaam (Galois vr
field), wat genoteerd wordt als in dit geval GF^^). Voor M
de 2 elementen van een Galois lichaam zijn vier algebraïsche bewerkingen (optellen, aftrekken, vermenigvuldigen en delen) gedefinieerd en bijvoorbeeld beschreven in een 35 artikel door T.C. Bartee en D.I. Schneider "Computation wiöi finite fields", Information and Control, Vol. 6 (1963) biz. 79γ98· Het resultaat van zo’n bewerking is weer een 7909178 . » * ► PHN 9652 12 element van hetzelfde Galois—lichaam. In dit verhand heeft Fig. 1 de zestien elementen van het Galois lichaam GF (2 ) eenmaal als een machtreeks, en eenmaal als een bit groep.
Op zichzelf zijn deze voorstellingen konventioneel. De bit-5 groepen kunnen worden gevormd met gebruikmaking van het 4 zogenoemde primitieve en nietreduceerbare polynoom x +x+1. o 1 2 3
De grootheden a , a , a , zijn in dit voorbeeld onderling lineair onafhankkelijk. De waarde van M is in principe willekeurig. Het element 0 (bitsgewijs OOOO) en a° (0001) 10 worden hierna kortheidshalve 0_ en genoemd (dus weer symbolen) .
In het eerste voorbeeld werkt het rekenmachine-systeem op basis van datawoorden van 8 bits. Deze kan men beschouwen als opgebouwd uit twee datasymbolen van elk vier 15 bits. De datawoorden worden omgekodeerd tot (langere) kode woorden van zestien bits die telkens georganiseerd zijn als vier kodesymbolen van elk vier bits. Dit wordt als volgt geformuleerd: c = (£3» £2» £1» £0)» £± = (ci3» ci2’ ci1» ci0^* 20 Hierin is "cf het kodewoord dat in:'feite een ele— 16 ment is van GF (2 ). Verder is elk kodesymbool c. een J j element van GF (2 j en elke c.. een element van GF (2)* 11]
In GF (2) kunnen de elementen alleen de waarden O en 1 heb— ben. Ieder kodewoord c moet nu voldoen aan de voorwaarde 25 dat het orthogonaal staat op de transformatiematrix (parity check matrix) Γη] van de betreffende kode: [H] . t = t
Een geschikte kode is bekend uit het boek "The theory of error correcting codes", door F.J. Mach-Wil-30 liams en N.J.A. Sloane, North Holland Publishing Co, met name hoofdstuk 11. Hiervoor geldt bijvoorbeeld; [π] =[ι°Ι0!°ί]
Elke rij bestaat uit evenveel symbolen als het kodewoord. kodesymbolen bevat. Onder bepaalde voorwaarden 35 is met deze kode een kodewoord te korrigeren als het ten hoogste één, op willekeurige wijze, gestoord kodesymbool bevat. Voor een kodewoord van vier symbolen met elk vier bits is aan deze voorwaarden voldaan. Zo'n gestoord kode- 7909178 * PHN 9652 13 woord kan worden voorgesteld door: c = c + e waarbij e een storingswoord is dat bestaat uit één sto-ringssymbool en verder drie symbolen identiek gelijk aan a nul. Vermenigvuldiging van het gestoorde kodewoord c met de transformatiematrix£ levert het resultaat: £ïï| . = [h] . (c+e) = [H] . + ]jElJ . ^ = [hJ . "if* = [h] . t = -f
Als er hoogstens één van de vier symbolen van W de storingsvektor een van nul verschillende storing bevat geldt de volgende relatie tussen de storingsvektor die uit vier symbolen en de vektor "s^ die slechts twee symbolen bevat: e * s es m £ £ £ £ 00 o e o o oe 000e e_ ai. e_ 2. 2. 2. 2. e ° .2, ü .2, e e
Uit de informatie-inhoud van de vektor s kan gemakkelijk en eenduidig de foutlokator worden afgeleid , ^ die aangeeft, wélk kodesymbool gestoord is: als beide sym- — i bolen van de vektor s de waarde 0^ hebben is er geen storing.
Als alleen het eerste symbool van de vektor s de waarde _o heeft is slechts het tweede kodesymbool gestoord. Als al-leen het tweede symbool van de vektor s de waarde o heeft is slechts het eerste kodesymbool gestoord. Als beide sym-bolen van de vektor s dezelfde waarde hebben, ongelijk o, is het derde kodesymbool gestoord. Als beide symbolen van de vektor s ongelijk aan o_ zijn is het mogelijk dat alleen het vierde kodesymbool is gestoord. In dat geval moet gekontroleerd worden of deze twee symbolen zich verhouden als e^ : (a .e_). In het beschreven geval is deze kontrole eenvoudig: 1 1 / 3 2 1 os 3. · Θ = 2L · ( β« *3, +0 0 id. +0 m · 6L +Θ «3· ) — - “4 - 3 3 ~2 2 ~ 1 " 0 - e^.a +e^.a +e^.a +eQ.a 35 /0 T 0 0 \ 63 \ (”'oo“ · I* I * {e2’ (e3 +V> «3Ï· \ 1 0 0 0 / \e0 / 790917? PHN 9652 14
Daarbij vormen de kolommen van de linkermatrix 4 telkens de binaire voorstellingen van respektievelijk a , 3 2 1 ff ar , a en a . Als één van de beschreven vijf gevallen optreedt wordt de waarde van de fout ("error value", dit in 5 tegenstelling tot de eerder genoemde "error locator") gegeven door het eerste symbool van de vektor s , tenzij dit symbool de waarde _o heeft (wanneer dus het tweede kodesymbool is gestoord).
Als beide symbolen van de vektor s een waarde on- -| ^ gelijk £ hebben en ze verhouden zich niet als : a , „dan is een onkorrigeerbare fout aanwezig. Als aan de andere kant de vektor s één van de vier genoemde mogelijkheden voor het signaleren van een één-symbools-fout aangeeft, kan dit ook door een meersymboolsfout veroorzaakt zijn.
^ Deze laatste wordt dan op een onjuiste manier gekorrigeead en het resultaat wordt ten onrechte als korrekt gesignaleerd. Enkele meer-symbool-fouten die tot een verkeerde korrektie zouden leiden zijn bijvoorbeeld: (e^ o^ oj : geeft een korrektie in het derde symbool.
^ (jL £. £, : een korrektie in het tweede symbool, doordat stee.ds modulo 2 wordt opgeteld.
Het genereren van de redundantiebits gebeurt met de generatormatrix E»3 , die met de transformatiematrix .. M op bekende wijze is gekoppeld door: 25 Γ a° a° “ O] -I»0 ;&] »; o a° “ ^
Daarbij wordt het kodewoord c gevonden door 30 -> r T , \ c = [_GJ . a , waarbij a = (a^ ao) de informatievektor is oftewel het informatie (data) woord van acht bits. Er zijn nu twee keuzes mogelijk: a) Het kodewoord bevat vier symbolen van elk vier bits, b) Het kodewoord wordt gesplitst in twee hulpkodewoorden die elk bevatten vier symbolen (twee datasymbolen en twee redundantiesymbolen).
Opm.: Het kleinste aantal bits per symbool is 2. Immers, als er 1 bit per symbool is ontstaat een (hulp)-kodewoord 7909178 PHN 9651 15 van vier bits met twee redundantiebitsj het aantal redun-dantiebits is dan te klein voor een juiste korrektie.
Xn het algemeen moet bij n kodesymbolen in een kodewoord en bij (n-2) datasymbolen in het datawoord het aantal bits 5 per kodesymbool tenminste gelijk zijn aan het kleinste gehele getal dat niet kleiner is dan log2(n-l) om één op willekeurige wijze gestoord kodesymbool te kunnen korri-geren. Voor n=6 zou elk kodesymbool dan tenminste drie bits bevatten (in de praktijk zal dan gewoonlijk voor 10 vier bits gekozen worden). Overeenkomstige redeneringen gelden als meer dan één gestoord kodesymbool per kodewoord kar rigeerbaar moet zijn.
Ih het bovenstaande zal veelal de oplossing volgens b) een eenvoudiger realisatie leveren en deze wordt 15 daarom verder beschouwd. De matrixen Lg3 en[ behouden hun vorm, met de symbolen anders genoteerd: £ is (00), a° is (01), at is (10).
Het zestienbitskodewoord: C=C33C32C31C30C23C22C21C20C13C12C11C10C03C02C01 °00 20 wordt nu gesplitst in twee achtbits hulpkodewoorden: het eerste hulpkodewoord bevat de eerste, tweede, vijfde, zesde, negende, tiende, dertiende en veertiende bit; het tweede hulpkodewoord bevat de acht andere bits. Dan is bijvoorbeeld te schrijven: 25 4 ~ C31C30C21C20C11C10C01C00 a = a11a10a01a0Q.
Fig. 2a geeft de in matrix vorm geschreven ge- neratorformules c · a.· Daarna geeft fig.2b de vorming van het eerste tweebitskodesymbool en fig. 2c de 30 vorming van het tweede tweebits kodesymbool, een en ander zowel in matrixvorm als gerealiseerd met logische Exclusdef-OF-poorten of modulo-2 optellers. De laatsten zijn telkens weergegeven door een cirkel met een kruis erin. Synchronisatie- en andere stuursignalen zijn in figs. 2b, 2c kort-35 heidshalve achterwege gelaten. De vorming van de twee overige kodesymbolen bij deze systematische kode wordt eenvoudig weergegeven door: 7909178 PHN 9652 16 (a 11 a 10 a 01 a OO) = (c 11 c 10 c 01 c OO).
De desbetreffende datasymbolen maken dus onveranderd deel uit van het kodewoord. De volgorde van de ko<è-symbolen binnen het kodewoord kan uiteraard anders zijn.
5 De dekodeur om uit het kodewoord het bijbehorende data-woord te hervormen wordt later besproken.
VOORKEURSUITVOERINGEN VOLGENS DE UITVINDING.
10 Fig. 3 geeft een rekenmachinesysteem volgens de uitvinding in een eenvoudige uitvoering. Er wordt uitgegaan van informatie die is georganiseerd volgens bit— groepen (bytes) van acht bits. Deze worden verondersteld geen redundantie te bezitten; in een enkel-processor®sys-15 teem zouden alle datapaden bij parallelverwerking van deze informaties een breedte van 8 bits hebben en ook de woordlengte van het lokale geheugen bij de processor zou acht bits zijn. Het systeem van fig. 3 geeft nu een viervoudig systeem, waarbij elke informatiebyte in elke pro-20 cessor vertegenwoordigd wordt door acht informatiebits en in de lokale geheugensektor bij elke processor (processor-element) telkens wordt vertegenwoordigd door viar kodebits. Als de kosfcen van het geheugen groot zijn ten opzichte van diè van de processoren betekent dit dat ten opzichte van 25 het enkelprocessorsysteem de kosten tweemaal zo groot zijn. Eerst wordt nu besproken het systeem zonder aankoppeling van een randapparaat, dus zonder implementatie van de lijnen 90, 92, 96. Voorts wordt verder eerst besproken het meest rechtse kwart van de figuur, waarvan met name 35 deel uitmaken de onderchLen 12, 28, k6, en 5^·*
Ter nadere adstruktie geeft fig. k een geschikte microprocessor, te gebruiken als processorelement -12 in fig 3· Deze Signetics 2Ó50 bipolaire microprocessor is beschreven in het gelijknamige boek dat is uitgegeven door de 35 fabrikant Signetics Corporation, 811 East Arquest Av.,
Sunnyvale, Cal., 1975» met name in in fig. 1. In de schakeling zijn door cijfers in cirkels de 8-bits datapaden, 7909178 PHN 9652 17 respektievelijk de 13/15-bits adrespaden geïdentificeerd. De met "1" of ttx" aangegeven verbindingen maken deel uit van de besturingsbus. De overige leidingen van deze be-sturingsbus zijn eenvoudsbalve niet aangegeven. Verbinding 5 200 is een bidirektionele databus met aansluitend regis ter 202. De inkomende lijn 204 is aangesloten op het 8— bits instruktreregister 206, het 8-bits "houd” registers 208 een 8-bits ingang van de adresopteller 210 (deze werkt over een breedte van 13 bits) en op een data-aansluiting 10 van de arithmetische en logische (ALI7-) eenheid 240 (deze laatste werkt over een breedte van 8 bits). Op lijn 214 kan verschijnen een onderbreeksignaal van buiten (interrupt request), lijn 216 is bestemd voor een onderbreek-toestemmingssignaal (interrupt-acknowledge). Voorts bezit 15 de betreffende microprocessor een hier niet aangegeven aansluiting voor het ontvangen van een pauzeer-signaal dat hem doet stoppen aan het eind van de lopende instruk-tie. Dit pauzeer—signaal kan de verwerking van gegevens voor onbepaalde tijd doen halthouden ^ het wordt gebruikt 20 om een direkte geheugen toegang (DMA) te realiseren. In verband met de lijnen 214 en 216 bevat blok 212 de onder-breeklogika. Dit blok kan voorts een signaal sturen aan de onderbreek- en besturingslogika in blok 218. De lijnen 220 zijn de in/uitvoerbesturingslijnen. De signalen daarop 25 werken samen met het blok logika 222 en verder met blok 217· Lijn 224 is een externe klokpulslijn, welke klokpuls in de tijdgenererende logika 226 tot sekundaire kloksig-nalen voor blok 218 wordt verwerkt. De van blok 217 uitgaande besturingslijnen naar de verdere onderdelen van de 30 schakeling zijn eenvoudshalve niet aangegeven. Een tweede dertien bits brede ingang van de adres opteller 210 is verbonden met de adresbus 228 waarvan de externe verbinding alleen geschikt is om signalen uit te zenden. Element 230 is het operandadresregisters, element 232 is het 35 instruktieadresregister, element 234 is het adresuitgangs- besturingselement, element 236 de subroutine-terugkeer-adresstapel, element 238 de stapelaanwijzer. De interne besturing wordt verzorgd door signalen van het blok 218 790917? PHN 9652 18 en door de inhoud van het programma-statuswoord in element 242. Verder is er een registerstapel die bevat het nul-register 246 en 2 x 3 registers in het verdere stapelele-ment 248. Element 250 is nog een multiplexer. Het blok 5 252 bevat logika voor de konditiekode en eventuele aftak-' kingen. Voor de met deze mikroprocessor te realiseren funk-ties en voor verdere technische details wordt in het algemeen verwezen naar het geciteerde boek van de fabrikant.
In fig. 3 verschijnt op lijn 62 (lijn 200 in fig. 4) een 8-bits data-woord. Dit wordt bewerkt in proces-sorelement 12, waarbij de aard van de bewerking bepaald wordt door het doel waarvoor het rekenmachinesysteem wordt gebruik. Het kan dus betreffen het bijwerken van een gege-venstoestand, of het uitvoeren van een gekompliceerde 15 wetenschappelijke berekening , of anderzins bijvoorbeeld het bewerken van parameters om in een procesbesturingssysteem een of meerdere stuurgrootheden te genereren.
De microprocessor 12 kan een uitgangsdatawoord presenteren op lijn 78 (lijn 299 in fig· 4), respektievelijk een adres-2® woord op lijn 70 (lijn 228 in fig. 4) om middels de adresseer inrichting 27 (bijvoorbeeld bevattende een dekodeur) het lokale geheugen 28 te adresseren. In de kodevormer 20 wordt uit het ontvangen 8-bits datawoord een vier-bits kodesymbool gevormd dat via lijn 80. aan het geheugen 25 28 wordt gepresenteerd en opgeslagen. De uit het geheugen ..' 28 uitgelezen informatie verschijnt als een kodesymbool en op lijn 81/wordt geregenereerd in de uitleesversterker(s) 36 die een voldoende fanout marge bezitten. Zo wordt het kodesymbool op lijn 88 gepresenteerd. Dit laatste kan ook 30 gebeuren zonder tussentijdse opslag in het geheugen 28.
Bij gebruikmaking van de eerder genoemde SIGNETICS 2650 microprocessor zijn dus de lijnen 78 en 62 onderling doorverbonden. Zonder aangesloten randapparaat treedt dan ten opzichte van deze microprocessor de informatierekonstruk— ^ tiesektor 54 als enige informatiebron op en de kodevormer 20 als enig informatiedoel. De bovenbeschreven inrichting is in viervoud aanwezig (processor-elementen 12, 14, 7909178 PHN 9652 19 16, 18 en geheugensektoren 28, 30» 32, 34 met bijbehorende schakelingen) en op de kodevormers 20, 22, 24, 26 na (zie later) zijn al deze inrichtingen identiek gebouwd. Bovendien werken de processor-elementen volgens hetzelfde 5 programma en voeren dus telkens dezelfde bewerking tesamen uit. De instrukties van dit programma kunnen ook tot kode-woorden zijn omgevormd die in de geheugensektoren 28, 30, 32, 3¾ zijnopgeslagen. Een andere oplossing is dat ze in elk isolatiegebied voor fouten afzonderlijk zijn opge-10 slagen. De synchronisatie van de werking der vier isola-tiegebieden voor fouten is niet aangegeven. De verschillende mogelijkheden daarvoor zijn beschreven in een artikel door D. Davies, et al., Synchronization and Matching in redundant Systems, IEEE Tr. Comp, Vol, C. 27 (juni 15 1978) blz. 531-539.
Als de ingangsinformatie op de lijnen 62, 64, 66, 68 ook dezelfde is ontvangen ook alle kodevormers 20, 22, 24, 26 telkens dezelfde informatie. Ze vormen daaruit telkens twee maal een tweebits kodesymbool vol-20 gens de principes die bij fig. 2a - c besproken zijn. Met name worden in een eenvoudige uitvoering uit het datawoord van 8 bits twee kodewoorden gevormd van elk vier symbolen van twee bits. Bijvoorbeeld bevat kodevormer 20 een schakeling om de eerste twee bits van het datawoord door te 25 laten voor het eerste kodewoord en een schakeling volgens fig. 2b om een redundant kodesymbool te vormen voor het tweede kodewoord. Kodevormer 22 bevat dan een schakeling om de tweede twee bits van het datawoord door te laten voor het eerste kodewoord en een schakeling volgens fig.
30 2c voor het tweede kodewoord. Kodevormer 24 bevat dan een schakeling om de derde twee bits van het datawoord door te laten voor het tweede kodewoord en een schakeling volgens fig. 2b voor het eerste kodewoord. Kodevormer 26 bevat dan een schakeling om de vierde twee bits van het datawoord door te laten voor het tweede kodewoord en een schakeling volgens fig. 2c voor het eerste kodewoord.
In feite behoeft zo elke kodevormer slechts zes bits van het datawoord te ontvangen. Verder heeft elk processor- 790917a PHN 9652 20 element een eigen informatierekonstruktie-sektor, respek-tievelijk 54, 56» 58, 60 met voorgeschakeld, register, res-pektievelijk 46, 48, 50, 52· Deze registers ontvangen telkens alle uit de respektievelijke geheugensektoren uitgele-------- 5 zen informatie (16 bits) via de respektievelijke verbindingen 82, 84, 86, 88 opdat hierdoor in de informatierekon-struktoren het datawoord hervormd wordt. Elke informatie- rekonstruktiesektor bevat dan bijvoorbeeld een dood geheu-8
gen met 2 adresplaatsen, met een woordlengte van vier W bits. Daaruit wordt dan voor elk te reproduceren datawoorL
/5 tweemaal een vier-bits woord uitgelezen. Van de 25¾ adres- 4 plaatsen zijn er 2 = 16 adresseerbaar door een ongestoord kodewoord met ongestoorde redundantiebits omdat dit steeds gevormd is op basis van slechts vier databits. Elk kode-woord kan één gestoord kodesymbool van twee bits bezitten, dat zijn 4x3 mogelijkheden voor een korrekt korrigeerbaar woord omdat de fout (het foutsymbool) drie waarden kan hebben. Het bovenstaande levert dus 16 + 192 = 208 mogelijkheden die een juiste korrektie opleveren. De overige 48 20 mogelijkheden betreffen* .een dubbele (of meervoudige) fout.
In dat geval geeft het dood geheugen bijvoorkeur een foutindikatie af als een van de betreffende geheugenplaafc- sen wordt geadresseerd. Het is, ook mogelijk om bij een de isoiatiegebieden voor fouten telkens de optreden^fout in één der^fout-lokator te produceren. In dit geval zou dat betekenen dat een 8-bits (half-)kodewooxL wordt ontvangen. Dit produceert een vierbits datawoord, één bit om aan te geven dat één symboolfout is gedetek-teerd, twee bits om daarbij de foutlokatpr aan te geven, en een bit om te- signaleren dat een onkorrigeerbare fout on is gedetekteerd. De herstelde fouten kunnen in een histogram worden samengevat dat aangeeft hoe vaak een bepaald isolatiegebied voor fouten een storingheeft opgeleverd.
Onder besturing van de signalering van een onkorrigeerbare fout zijn de volgende verdere herstelpogingen moge-35 lijk, bijvoorbeeld: a) op basis van de statistische verdeling der gedetekteer-de (en gekorrigeerde) fouten wordt een bepaald isolatiege— bied voor fouten tot "defekt” verklaard. In de andere 7909178 PHN 9652 21 isolatie-gebieden wordt dan geprobeerd om de fout te herstellen.
b) als zo een onherstelbare fout wordt gedetekteerd en er zijn geen statistische gegevens beschikbaar, wordt altijd 5 een vast gedeelte van het systeem betrouwbaar verklaard, bijvoorbeeld juist dat deel dat de informatiesymbolen onveranderd als kodesymbolen weergeeft.
c) de oorspronkelijke begininformatie wordt uit een ach-tergrondgeheugen opgehaald en de bewerking wordt herhaald.
10 Dit is een tijdrovende procedure.
De indikatie "dubbele fout” kan éénmaal of tweemaal per datawoord worden gegenereerd. Deze indikaties worden dan op bekende manier door een OF-poort samengenomen. Deze is in de figuur niet aangegeven.
15 In tegenstelling tot informatierekonstruktie- sektoren op basis van dood-geheugens is het anderzijds ook mogelijk dat de informatierekonstruktiesektoren zijn opgebouwd met een kombinatorisch-logische schakeling die in fig. 5 getoond is.
20 Voor elk van de bouwstenen 54, 56, 58, 60 is deze schakeling (lx of 2x) aanwezig. Er is een 8-bits ingangslijn 130 die uit elk van de deelgeheugens twee bits ontvangt. De bovenste vier van deze lijnen dragen de in-formatiebits, de onderste vier lijnen de redundantiebits.
25 In de EXCLTJSIEF-OF-poorten (modulo-2 optellers) 132, 134, 136, 138, worden de redundantiebits op dezelfde manier hervormd als in fig. 2b, 2c, en vergeleken met de aktuele redundantiebits op de onderste vier ingangslijnen. Als zo’n poort dus een logische "O" afgeeft betekent dat dat 30 er geen fout is opgetredenj deze poorten kunnen op zich bekende schakelingen zijn volgens het Amerikaanse Octrooi-schrift 3 838 393 (PHA 975)· Via de inverteurs l4ö, 142, l44, 146 worden de zo gevormde foutsignaleringsbits toegevoerd aan de zes NIET-EN-poorten 148, 100, 102, 104, 35 106, 108 en van daar aan de vier NIET-EN-poorten 110, 112, 114, 116. Zo worden de al besproken matrixvermenigvuldi-gingen uitgevoerd om het korrektorsymbool te genereren.
7909178 PHN 9652 22
Dit wordt in de elementen 118, 120, 122, 124 bitsgewijs opgeteld (modulo 2) bij de data informatie om eventuele storingen te korrigeren. De uitgangen van de elementen 118— 124 zijn verbonden met een geklokt data register waaruit 5 de informatie voor bewerking.·, in de microprocessor beschikbaar komt, bijvoorbeeld het register 202 in fig, 4.
In het voorgaande vormden de elementen 12, 20, 28, 36* 46, 54 delen van eenzelfde isolatiegebied voor fouten (fault isolation area). De schakeling van fig. 3 bé-10 vat vier van zulke gebieden met elk overeenkomstige schakelingen. Binnen zo'n gebied kunnen optredende fouten afhankelijk zijn. De fouten in verschillende van zulke gebieden zijn evenwel onafhankelijk verondersteld, wat voor vele kategoriëên fouten overeenkomt met de werkelijkheid. De 15 kans op fouten in meer dan één gebied is dan gelijk aan het produkt van de kansen in de afzonderlijke gebieden: in het algemeen heeft zo'n produkt een zeer kleine waarde.
De verschillende gebieden zijn onderling verbonden door de lijnen 82, 84, 86, 88. De kans op fouten in de signaalzo overdracht daarlangs kan door geëigende maatregelen (zoals de versterker 36) klein gemaakt worden. De fouten kunnen binnen eenzelfde isolatiegebied dus willekeurig zijn, zelfs in die zin dat zo'n gebied in het geheel niet funk-tioneert. Als de elementen 12, 20, 28, 36, .46, 54 op een 25 enkele plaat met gedrukte bedrading, of in een enkele IC-module aanwezig zijn mag de plaat/module dus geheel worden weggenomen, zonder dat een fout optreedt. Dit betekent dat een reparatiemonteur de falende elementen tijdens bedrijf kan verwijderen, waarbij dan dikwijls de machine on-30 gestoord verder blijft werken.
De respektievelijke in fig. 3 getoonde datapaden hebben de volgende bitbreedten: 62 (64, .66, 68) : 8 bits 80, 81 (enz.) : 4 bits 35 78 : 8 bits (eventueel 6 bits als 2 bits dirékfc worden doorgelaten en 4 verdere bits naar een tweebits kodesymbool worden gekodeetd).
7909178 PHN 9652 23
De geheugensektoren 28, 30, 32, jh zijn konven-tionele bouwstenen en worden niet verder besproken,
Fig. 3 bevat enkele toevoegingen voor de aansluiting van een randapparaat, bijvoorbeeld een in/uitvoer-5 toestel voor datagegevens. Er wordt verondersteld dat dit toestel foutloze informatie produceert: deze arriveert, bijvoorbeeld weer als 8-bits-woorden, op de lijn 96.
Lijn 96 is telkens via een respektievelijke onderbreekscha-kelaar 61, 63, 65» 67 koppelbaar met de informatieingangs-10 lijnen 62, 64, 66, 68 van de processor elementen 12, 14, 16, 18, Voorts is er een van het randapparaat uitgaande besturingslijn 94, die via de respektievelijke onderbreek-schakelaars 99» 101, 103, 105 verbonden is met een in/uit-voerbesturingsaansluiting van de respektievelijke proces— 15 sor-elementen 12, 14, 16, 18, De informatie is aan het randapparaat toevoerbaar via de 8-bitslijn 90 die een aftakking is van lijn 78. Tenminste deze lijn 78 moet dus een 8-bitslijn zijn, en dus meer informatie transporteren dan minimaal voor de kodevormer 20 noodzalijk zou zijn. Een be-20 sturingssignaal wordt aan het randapparaat toegevoerd via de lijn 92 die uit het processorelement 12 ontspringt.
Het randapparaat is niet verbonden met lijnen die van de processorelementen 14, 16» 18 uitgaan. De desbetreffende uitgangen kunnen weliswaar aanwezig zijn, maar ze worden 25 niet gebruikt. Het lijnenpaar 92, 9^· kan op konventionele manier gebruikt worden om bij een data-overdracht verzoek en toestemmings(acknowledge)-signalen te transporteren, zoals bijvoorbeeld beschreven in het artikel door K.L. Thurber et al., ”A Systematic Approach to the Design of 30 Digital Bussing Structures”, Proceedings AFXPS Conf.,
Fall 1972, pp. 719—740, bijvoorbeeld p. 727» rechterkolom, Fig. 17 en de bijbehcnende tekst. Deze besturingslijnen worden in fig. 4 gevormd door de heen- en teruggaande lijnen 220. De schakelaars 61, 63, 65, 67 en 99, 101, 103, 105 35 worden aangestuurd door een geschikt signaal van uit het desbetreffende processorelement. Als het processorelement een 2650 microprocessor is, is deze sfchakelaar impliciet 7909178 PHN 9652 24 in het register 202 gerealiseerd. Dit register neemt alleen informatie op onder besturing van een signaal van de processor zelf. De schakelaar 99 is dan impliciet aanwezig in de onderbreeklogika in blok 212, respektievelijk invoer/uit-5 voerbesturingslogika in blok 222, een en ander alles in fig. 4. Daarmee kan de schakelaar 99 enkelvoudig of meervoudig zijn zoals eerder is opgemerkt. In een afvraag (polling) organisatie kan hij zelfs geheel vervallen. Bij gebruik van een uitgebreider processorelement kunnen de scha-10 kelaars 61 en 99 in afzonderlijke fysieke bouwstenen zijn gerealiseerd.
In het bovenstaande werkt op zichzelf het rand-apparaat op de gebruikelijke manier die bij een één-proces-sorrekenmachine systeem is bekend geworden. Kortheidshalve 15 is daarom het randapparaat zelf niet verder getoond; het kan een konventioneel toetsenbord, afbeeldapparaat of ach-tergrondgeheugen betreffen; anderzijds ook een sensor met A/D-omzetter of een subalterne rekenmachine. De betrouwbaarheid van het systeem kan begrensd zijn door fouten 20 in het I/O—toestel, respektievelijk de dataverbinding daarheen.
In dit verband geeft fig. 6a—6b een systeem waarbij het randapparaat, respektievelijk de dataverbin— ding daarmede door redundantie is beveiligd. De in fig.
25 6a/b getroffen maatregelen behoeven evenwel niet alle tesamen te worden geïmplementeerd en in het volgende zal de redundantie daarom worden beschreven als stapsgewijze te zijn geïmplementeerd. In de eerste plaats bevat fig.
6a, met name de bovenhelft er van goeddeels gezelfde onder-30 delen van fig. 3» die ook weer volgens vier respektieve-lijke isolatiegebieden voor fouten zijn gegroepeerd en overeenkomstig met fig. 3 zijn genummerd.
In een eerste niveau van redundantie toevoeging wordt nu de dataverbinding met het randapparaat van dezdfde 35 mate van redundantie worden voorzien als de rfest van het systeem. Het systeem van het randapparaat bevindt zich in fig. 6b, en wordt telkens besproken voor zover van toepassing. De toevoegingen in fig. 6a betreffen nu het vol- 7909178 PHN 9652 25 gende: 1) de aftakking 90 van de datauitgangslijn van processor-element 12 ia vervallen en daarvoor in de plaats zijn alle datalijnen 82, 84, 86, 88 van de geheugensektoren naar het 5 randapparaat doorgetrokken; 2) alle processorelementen 12, 14, 16, 18 zijn voorzien van een uitgaande verbinding voor besturingssignalen, res-pektievelijk 92, 150, 152, 15^· Daarop aangesloten is een kodevormer, respektievelijk 156, 158 160, 162. De twee 10 kodevormers van het zelfde isolatiegebied voor fouten kunnen volgens hetzelfde algorithme werken of volgens een ander algorithme, dat hangt bijvoorbeeld af van de gewenste mate van betrouwbaarheid. Daarbij kan een onkorrigeerbare fout wel onafhankelijk bij de besturingssignalen dan wel bij de infonnatiesignalen worden gevonden. Verder wordt een afwezige besturingsbit gesuppleerd door een vaste "O". Als er bijvoorbeeld drie uitgaande besturingsbits zijn van de processor-elementen, worden deze gekodeerd in een 8-bits besturingswoord. In de figuur worden de vier uitgaande be- 9Π sturingslijnen 164, 166, 168, 170 alle naar het randapparaat doorgetrokken.. Als slechts weinig uitgaande besturingsbits aanwezig zijn, is het soms goedkoper om deze bits direkt door te sturen om aan de ontvangstzijde een meerderheidsbe- slissing te nemen. Voor 2 besturingsbits zijn dan slechts 25 6 lijnen nodig. Vanaf 3 besturingsbits is de oplossing met kodevormers echter vaak goedkoper.
3) De lijnen §4 (besturingsbits inkomend) en $6 (datain- komend) worden op dezelfde manier aangesloten als in fig.
3, hetgeen kortheidshalve niet nader is aangegeven.
30
De maatregelen in fig. 6b betreffen het volgende: Het randapparaat wordt in eerste instantie enkelvoudig uitgevoerd en voorgesteld door het blok 188. Binnen dat blok behoeven geen speciale voorzieningen te zijn die met het implementeren van de redundantie verband zouden houden· 35 Verder: a)' alle informatielijnen 82, 84, 86, 88 zijn aangesloten op een ingangsregister 172 van een informatierekonstruktiesek- 7909178 5 * PHN 9652 26 tor 180. Deze laatste is opgebouwd overeenkomstig met de inrichtingen 54, 56, 58, 60, in fig. 3 om het datawoord te hervormen.
b) alle lijnen voor besturingssignalen 164, 166, 168, 170 5 zijn aangesloten op een ingangsregister 268 van een informa-tierekonstruktiesektor 276. Deze kan enerzijds van overeenkomstige bouw zijn als de elementen 54, 56, 58, 60. In voorkomende gevallen kan het ook weer een meerderheidsbepalende schakeling zijn.
10 De niet beschreven onderdelen van fig. 6a, 6b kunnen hierbij vervallen, want ten aanzien daarvan worden de maatregelen van fig. 3 toegepast. Met name zijn in fig. 6b de elementen 190» 192, 19¾ en bijbehorende onderdelen afwezig, evenals element 260, evenzo voorts in fig. 6a 15 de elementen 308 t/m 322.
Op een naast hoger niveau van redundantie wordt het data-transport over de verbindingen in twee richtingen beveiligd door een kode met redundantie.
In de schakeling volgens fig. 6a zijn bovenge-20 noemde maatregelen 1) en 2) onveranderd ..aanwezig. Bovendien is er de volgende : 4) Er zijn vier inkomende informatielijnen 276, 278, 280 282, elk voor vier bits. Deze zijn via de blokkerend akti-veerbare (juist als in fig. 3 de schakelaars 61, 63, 65, 25 67 door een signaal van de respektievelijke processorele- menten) schakelaars 292, 294, 296, 298 op de ingangsregis-ters van de informatierekonstruktiesektoren 54, 56, 58, 60 aangesloten. Verder zijn er regeneratorversterkers 284, 286, 288, 290. Een andere oplossing is dat laatstgenoemde 30 regeneratorversterkers vervallen en dat de uitgangszijde van de schakelaars 292, 294, 296, 298 telkens verbonden is met de ingangszijde van de regenerator versterkers 36, 38, 40, 44. Zo wordt dan het inkomende datawoord hervormd voor verdere bewerking.
35 5) De lijn wordt op dezelfde manier aangesloten als in fig. 3, wat kortheidshalve niet nader is aangegeven. In de schakeling van fig. 6b zijn bovengenoemde maatregelen a) 7909178 PHN 9652 27 en t>) onveranderd aanwezig. Bovendien is er de volgende toevoeging: c. Het randapparaat is als blok 188 nog steeds enkelvoudig aanwezig. De (8-bits brede) uitgang daarvan voert de data-5 woorden toe aan de kodevormer 260, en bovendien parallel daarmee (dus niet zoals de figuur aangeeft) ook aan de kodevormers 262, 264, 266. Deze kodevormers zijn overeenkomstig opgebouwd als de respektievelijke kodevormers 20, 22, 24, 26 en met de uitgaande datalijnen 276, 278, 280, 282 verbonden. De ingangen van de kodevormers 260 t/m 268 zijn dus telkens samengenomen om hetzelfde informatiewoord telkens van het betreffende randapparaat te ontvangen. Verder worden de uitgaande besturingssignalen op de. manier van fig. 3 behandeld terwijl ook de nóg niet beschreven onder-delen van fig. 6a, 6b kunnen vervallen, want ten aanzien daarvan worden de maatregelen van fig. 3 toegepast.
Op een volgend nivo van redundantie wordt de in-formatiebehandeling ook binnen het randapparaat beveiligd door een kode met redundantie. In de schakeling volgens 20 fig. 6a zijn bovengenoemde maatregelen l), 2) en 4) onveranderd aanwezig. Bovendien is er de volgende toevoeging: 6) er zijn vier inkomende lijnen voor besturingssignalen 300, 302, 304, 306. Deze zijn telkens in elk isolatiegebied voor fouten (hier dus 4) alle verbonden met een ingangs-25 register 308, 310, 312, 314 van een bijbehcaende rekonstruk-tiesektor respektievelijk 316, 318, 320, 322. Deze zijn op· gebouwd als de elementen 54, 56, 58, 60 (eventueel echter als meerderheidsschakelingen, waarbij zelfs één van de leidingen 300, 302, 304, 306 achterwege kan blijven). Zo wordt 30 het hervormde besturingseignaal nu separaat aan de respektievelijke , blokkerend aktiveerbare, schakelaars 99» 101, 103, 105 toegevoerd.
In de schakeling van fig. 6b is nu ook het randapparaat zelf viervoudig uitgevoerd. De onderlinge synchro-35 nisatie van de vier delen kan gebeuren, ofwel door een "meester"-klok van de schakeling volgens fig. 6a, ofwel &°SLr synchronisatie zoals bij fig. 3 is gerele- 79091/8 PHN 9652 28 veerd. Nu zijn de maatregelen volgens a) en b) viervoudig aanwezig, zodat er tweemaal vier ingangsregisters zijn (172, 174, 176, 178, 268, 270, 272, 274) en tweemaal vier rekonstruktiesektoren,. respektievelijk voor...het. .datawoor-d -_____ 5 (18Ο, 182, 184, 186) en voor de besturingssignalen (276, 278, 280, 284). De eigenlijke informatieverwerking binnen het randapparaat vindt plaats in dê blokken 188, 190» 192, 194 die van op zichzelf konventionele aard zijn en niet nader worden beschreven. De elementen 172, ISO, 188, 260, 10 268, 270 bevinden zich in één isolatiegebied voor fouten, hetzelfde geldt voor de overige drie kwart gedeelten van de schakeling. Elle randapparaatsektor bezit een eigen kode-vormer, respektievelijk 2Ó0, 262, 264, 266 om van het bijbehorende verwerkingsblok, respektievelijk 188, 190, 192, 15 194 een datawoord te ontvangen en een kodesymbool te gene reren. Deze kodesymboolvormers voeden de respektievelijke lijnen 276, 278, 280, 282. In fig. 6b is voorts verondersteld dat elk isolatiegebied voor fouten ten hoogste twee besturingsbits afgeeft voor de schakeling van fig. 6a.
ΛΛ
Dan behoeft in de uitgangslijnen voor besturingsbits 300, 302, 304, 306 dus geen kodevormer opgenomen te worden.
Soms is dit uiteraard wel nodig.
In bepaalde gevallen kunnen de respektievelijke lijnen 82, 84, 86, 88 paarsgewijs samengenomen worden met 25 de lijnen 276, 278, 280, 282 om een geheel- respektievelijk half-duplex werkende bus te produceren. Op overeenkomstige manier kan een groter aantal randapparaten worden aangesloten. Het is dan bijvoorbeeld mogelijk om voor de besturing- a lijnen een Mster"-konfiguratie en voor de data-lijnen een 30 Mbus”-konfiguratie te kopiëren. Voorts kan het niveau vaïi de redundantie in processor (fig. 6a) en randapparaat verschillend zijn: zo kan de processor werken met D=3 (één gestoord symbool korrigeerbaar) en het randapparaat met D=2 (één gestoord symbool detekteerbaar). Het is ook moge-lijk dat bij D=3 voor het randapparaat twee gestoorde symbolen per kodewoord detekteerbaar gemaakt worden, zonder dat de korrektiemogelijkheid daarvoor geïmplementeerd is.
7909178 PHN 9652 29 UITBREIDINGSMOGELIJKHEDEN VAN DE KODE.
In het voorgaande is beschouwd bet geval van een datawoord van 8 bits dat omgezet wordt in een kodewoord van 5 vier symbolen van elk vierbits of in twee halve kodewoorden van telkens vier symbolen è. twee bits. Op overeenkomstige manier kan een datawoord van 16 bits op drie manieren worden gekodeerd, op basis van symbolen van respektievelijk 8, 4 en twee bits. Er bestaat een grote klasse van kodes 10 die één op willekeurige manier gestoord kodesymbool kunnen korrigeren, waarbij een kodewoord bevat (n-2) informatie-symbolen en twee redundantiesymbolen. De beperking is het aantal bits van een symbool (b) voldoende groot is (b^. entier lag^ (n-l)). Zo kan men een 16 bits datawoord dus I5 ook koderen in zes symbolen van elk vier bits, want log2(5) is kleiner dan vier. Dan is minder geheugenruimte nodig (24 bits per datawoord, in plaats van 32 hits zoals eerder). Het zou ook kunnen met acht symbolen van drie bits, maar dat vergt niet minder· geheugenruimte en kan slechts één symbool van 3 bits Jcorrigeren. Een 8-bits datawoord kan eventueel gekodeerd worden als 5 symbolen van 3 bits. Dit gebeurt dan doordat eerst een pseudo-datawoord van 9 bits (de laatste is dan een dummy-bit, of bijvoorbeeld een ~ pariteits bit), wordt gekreëerd en dat wordt gekodeerd.
25 De benodigde geheugenkapaciteit is 6$ kleiner' dan volgens fig. 3» maar de berekeningen zijn iets gekompliceerder.
De hierboven beschreven methode voor het toevoegen van redundantie is niet beperkt tot het bestand zijn tegen fouten in slechts één enkel isolatiegebied voor fou-30 ten. Als een kodewoord meer dan twee redundantie symbolen bevat kunnen ook meer fouten worden gekorrigeerd. De hier gebruikte MDS-kodes (minimum distance separable codes) hebben de eigenschap dat de minimale tussen twee symbolen (Hamming-afstand) gelijk is aan (n-k+1), waarbij (n-k) het ^ aantal redundantie-symbolen in een kodewoord is.
Voor één redundant symbool is er dus een afstaii van 2 en kan één fout symbool worden gedetekteerd. Het aan- 790917e PHN 9652 30 tal gelijktijdig korrigeerbare fouten ia (D-l):2, waarbij D de Hamming-afstand is. Voor vier redundantiesymbolen zijn dus twee foute symbolen korrigeerbaar. Dan kan men uit een 8-bits datawoord bijvoorbeeld een zestien-bitskodewoord vor-5 men van acht symbolen a 2 bits. Er mogen dan twee deelsystemen defekt raken.
Hierna worden nog enkele specifieke mogelijkheden genoemd voor de te gebruiken kodes.
1) n = 8 (acht isolatdegebieden voor fouten).
10 k = k (vier datasymbolen).
D = 5 (twee willekeurig gestoorde kodesymbolen korrigeerbaar) b ^2log (n-t), dus b^ 3· we kiezen b = k.
15 Het datawoord bevat k symbolen van 4 bits.
Het kodewoord bevat 8 symbolen van k bits.
De kode wordt bijvoorbeeld bepaald door de matrix Γ H { die in fig. 7a is gegeven. Daarbij is a een element uit GF(2 ).
2) De volgende kode wordt niet beperkt door de eisen aan · 20 een MDS-systeem.
n = 12 k = 7 b = 1
De processor is twaalfvoudig; de redundantie in het ge-25 heugen betreft een faktor 1-g·.
De kode kan één willekeurig gestoord symbool van 1 bit korrigeren. De kode wordt bepaald, bijvoorbeeld door de pariteitsmatrix £ H 3 uit fig. 7b en de generator-matrix £ G J uit fig. 7c.
30 3) De volgende is weer een MDS-kode.
D = k n = 5 k = 2 b = 2 35 Het datawoord bevat dus twee symbolen van 2 bits.
De kode kan een enkele symboolfout detekteren en ingeval er twee symbolen gestoord zijn, dit met 100$ zekerheid detekteren. Als op grond van oudere gegevens (statistiek) 7909178 PHN 9652 31 ----de foutlokator van één van deze twee gestoorde symbolen-bekend is» kan de andere fout gekorrigeerd worden. De matrixen zijn gegeven door Fig. 7d. Daarbij is a een element van GF (22). Hierbij wordt gerefereerd aan het boek van Mac 5 Williams et al, blz. 326. De laatstgenoemde korrektie-ei-genschap kan gerealiseerd worden met een matrix [h2] volgens fig. 7e. Beide matrixen leveren met het eventueel gestoorde kodewoord C C + e een syndroomvektor. De foutlokator van C wordt genummerd als volgt (voor de 10 vijf symbolen): C* ~ (43210). Als de bekende lokator (dus van de noudeM fout) de waarde 0, 1 of 2 heeft gebruikt men Eh,3 , en wel alleen die rijen waarop de bekende fout geen invloed heeft. Als de bekende lokator de waarde "o" heeft worden dus alleen de bovenste twee rijen gebruikt. Als de 10 bekende lokator 1 is, alleen de oneven rijen, als bij 2 is, de onderste twee rijen. Als de lokator van de bekende fout de waarde ”3” of "4" heeft wordt de matrix ge bruikt en het bijbehorend syndroom. De voor de korrektie-methodes 1, 2, 3 benodigde onderdelen zijn niet getoond; 2t! ze worden op analoge wijze gekoncipieerd als die van de figuren 2, 3» 5» 6.
25 30 35 -7 9 0 9 1 7 8 ____——

Claims (11)

1. Multiprocessor-rekenmachinesysteem, bevattende een aantal n (n'>2) parallel werkende processorelementen die elk een eerste data-ingang en een eerste data-uitgang -5 bezitten, welk rekenmachinesysteem voorts bevat een geheugen met tweede data-ingangen om op genoemde eerste data- j i uitgangen verschijnende informatie te ontvangen en voorbijgaand op te slaan en met tweede data-uitgangen om infor-: matie aan genoemde eerste data-ingangen te presenteren, ^ waardoor voor de informatie een rondgekoppelde baan vormbaar is, met voorts in de rondrgekoppelde baan een informa- ï tie-rekonstruktieinrichting om alle in de randgekoppelde baan circulerende informatie te ontvangen en deze na rekon-struktie op basis van een foutenkorrigerende kode aan de 1E rondgekoppelde baan te herpresenteren, met het kenmerk, dat voor Ti^k telkens een processorelement met een bijbehe· rende sektor van het geheugen en een separate rekonstruktie-sektor van de informatierekonstruktie-inrichting in een separaat isolatiegebied voor fouten (fault isolation area) 20 is opgenomen, dat binnen een isolatiegebied voor fouten een kodevormer aanwezig is om op basis van een datawoord dat is opgebouwd uit k symbolen van elk b bits>en dat is gegenereerd door het bijbehorende processorelement>te vormen een kodesymbool van b bits voor de bijbehorende geheugen-” 25 sektor als deel van een uit n kodesymbolen opgebouwd kode- woord dat behoort tot een verzameling kodewoorden met een over de symbolen daarvan gedefinieerde kode-afstand ter waarde van D (D^, 3)> dat genoemde tweede data-uitgangen telkens verbonden zijn met ingangen van alle rekonstruk-30 tiesektoren van het betreffende multiprocessor-rekenmachi— nesysteem om een uit het geheugen uitgelezen kodewoord ter rekonstruktie van het bijbehorende datawoord telkens geheel aan elke rekonstruktiesektor toe te voeren, en dat het verband tussen D, k en n gegeven wordt door de formule:
35 D . k - (D - l)>n - (D - T)> k ^ 2.
2. Multiprocessor-rekenmachinesysteem volgens con clusie 1, met het kenmerk, dat de waarde van n gegeven 7 9 0 9 1 7 8----- f PHN 9652 33 ---wordt door n = k + D - 1, waarbij voor D = 4 geldt ___ b"^ 2log (n-2), doch overigens b^>2Xog (n-1).
3· Multiprocessor-rekenmachinesysteem volgens conclusie 1, met het kenmerk, dat de waarden van D, b, k en n S gegeven zijn door de verbanden: D = 3» n = k + 2, b ^ 2 log (n - 1)
4. Multiprocessor-rekenmachinesysteem volgens con clusie 3> waarbij de waarden van b, k en n gegeven zijn door de verbanden: n=4, k=2, b^ 2. 10 5· Multiprocessor-rekenmachinesysteem volgens con clusie 3* niet het kenmerk, dat genoemde kodevormers geschikt zijn om de elementen van genoemde (n-2) datasymbolen zonder verdere kodering als elementen in genoemde kodesym-bolen op te nemen.
6. Multiprocessor-rekenmachinesysteem volgens één der conclusies 1 tot en met 5» met het kenmerk, dat elk isolatiegebied voor fouten aan de ingang van de informatie-rekonstrüktiesektor een register voor een kodewoord bevat.
7. Multiprocessor-rekenmachinesysteem volgens één 20 der conclusies 1 tot en met 6, met het kenmerk, dat tenminste een der informatie-rekonstruktiesektoren is voorzien van een signaleringsuitgang voor het signaleren van de· detektie van een al dan niet korrigeerbare fout.
8. Multiprocessor-rekenmachinesysteem volgens één 25 der conclusies 1 tot en met 7» met het kenmerk, dat voor de aansluiting van een randapparaat in een eerste isolatiegebied voor fouten het processorelement voorzien is van tenminste één uitgaande besturingslijn en van een uit-gangslijn voor een datawoord voor dat randapparaat, en dat 30 voorts in alle isolatiegebieden voor fouten het betreffende processorelement voorzien is van tenminste één inkomende besturingsli jn en van een inkomende lijn voor een datawoord vanuit dat randapparaat en dat voorts alle genoemde inkomende lijnen voorzien zijn van door een uitgangssignaal van het betreffende processorelement blokkerend aktiveer-bare schakelaars.
9. Multiprocessor-rekenmachinesysteem volgens één -790917? _____ * * • * PHN 9652 3h : --der conclusies 1 tot en met 7, met het kenmerk dat voor de__ aansluiting van een randapparaat dit laatste voorzien is van eerste middelen om van alle isolatiegehieden voor fouten de door de-bijbehorende kodevormer gevormde kodesym-^ bolen te ontvangen en op basis daarvan het bijbehcoende datawoord te rekonstrueren, dat voorts in elk isolatiege-bied voor fouten het processorelement voorzien is van tenminste een uitgaande besturingslijn voor dat randapparaat annex een tweede kodevormer en dat genoemd randapparaat voorzien is van tweede middelen om uit de zo per isolatie- ! gebied v<nr fouten gekodeerde besturingssignalen een.bestu— ringswoord te vormen op basis van dezelfde symboolkorrige-rende kode als gebruikt voor het kodewoord, en dat voorts in alle isolatiegebieden voor fouten het betreffende pro- 15 ,, cessor-element voorzien is van tenminste een inkomende besturingslijn en van een inkomende lijn voor een data— woord van dat randapparaat, en dat voorts alle genoemde inkomende lijnen voorzien zijn van door een uitgangssignaal van het betreffende processorelement blokkerend aktiveer-^ bare schakelaars. *0. Multiprocessor-rekenmachinesysteem volgens één der conclusies 1 tot en met 7> met het kenmerk dat voor de aansluiting van een randapparaat dit laatste voorzien is 'van eerste middelen om van alle isolatiegebieden voor fouten 25 de door de bijbehorende kodevormer gevormde kodesymbolen te ontvangen en op basis daarvan het bijbehorende datawoord te rekonstrueren en voorts van derde middelen om van een geproduceerd datawoord middels kodevorming als in de isolatiegebieden voor fouten een kodewoord te vormen, dat voorts 30 in elk isolatiegebied voor fouten het processorelement voorzien is van tenminste één uitgaande besturingslijn voordat -randapparaat annex een tweede kodevormer en dat genoemd, randapparaat voorzien is van tweede'middelen om uit de zo per isolatiegebied voor fouten gekodeerde besturingssigna-35 len een besturingswoord te vormen op basis van dezelfde symboolkorrigerende kode als gebruikt voor het kodewoord dat voorts in alle isolatiegebieden voor fouten het be- "79 0 9 1 7 8_:----- pmr 9652 35 ------treffende processor-element voorzien is van tenminste één inkomende besturingslijn van dat randapparaat en de informa-tierekonstruktiesektor middels een door een uitgangssignaal van het betreffende processorelement blokkerend aktiveerba-5 re schakelinrichting is aangesloten om een geheel, in genoemd randapparaat gegenereerd, kodewoord te ontvangen.
11. Multiprocessor-rekerunachinesysteem volgens één der conclusies 1 tot en met 7 dat over eerste isolatiegebie-den voor fouten is verdeeld, met het kenmerk, dat voor de 1° aansluiting van een randapparaat dat over tweede isolatiege-bieden voor fouten is verdeeld elk tweede isolatiegebied voor fouten is voorzien van eerste middelen om van alle eerste isolatiegebieden voor fouten de door de bijbehorende kodevormer gevormde kodesymbolen te ontvangen en er op 15 basis daarvan telkens het bijbehorende datawoord te rekon-strueren en voorts van vierde middelen om uit een geproduceerd datawoord middels kodevorming telkens als in een Corresponderend eerste isolatiegebied voor fouten een kodesym-bool te vormen, dat voorts in elk eerste isolatiegebied 20 voor fouten het processorelement voorzien is van tenminste één uitgaande besturingslijn voor het randapparaat annex een tweede kodevormer en dat genoemd randapparaat in elk tweede isolatiegebied voor fouten voorzien is van tweede middelen om uit de zo per eerste isolatiegebied voor fouten 25 gekodeerde besturingssignalen een besturingswoord te vormen op basis van een symboolkorrigerende kode, dat voorts alle eerste isolatiegebieden voor fouten voorzien zijn van vijfde middelen om van alle tweede isolatiegebieden voor fouten telkens tenminste één besturingssignaal te ontvangen 20 en daaruit een overeenkomstig gekombineerd besturingssignaal te vormen en via een door een uitgangssignaal van het bijbehorende processorelement blokkerend aktiveerbare schakel· inrichting toe te voeren aan laatstgenoemd processorelement, en in alle eerste isolatiegebieden voor fouten de informa-35 tierekonstruktiesektor via een verdere, door een tweede uitgangssignaal van het bijbehorende processorelement blokkerend aktiveerbare tweede schakelinrichting is aangesloten 7909178 PHN 9652 36 -----om een geheel, in genoemd randapparaat gegenereerd, kode-------- woord te ontvangen.
12. Multiprocessor-rekenmachinesysteem volgens con clusie 10, met het kenmerk, dat genoemd randapparaat n 5 tweede isolatiegebieden voor fouten bevat. 10 15 20 25 30 79 0 9 1 7 8_____________________________ 35
NL7909178A 1979-12-20 1979-12-20 Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten. NL7909178A (nl)

Priority Applications (8)

Application Number Priority Date Filing Date Title
NL7909178A NL7909178A (nl) 1979-12-20 1979-12-20 Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten.
DE8080201185T DE3070868D1 (en) 1979-12-20 1980-12-09 Multi-processor computer system
AT80201185T ATE14250T1 (de) 1979-12-20 1980-12-09 Mehrrechner-datenverarbeitungssystem.
EP80201185A EP0031183B1 (en) 1979-12-20 1980-12-09 Multi-processor computer system
CA000366572A CA1163373A (en) 1979-12-20 1980-12-11 Multiprocessor computer system which is distributed over error-isolating areas
US06/216,118 US4402045A (en) 1979-12-20 1980-12-15 Multi-processor computer system
AU65447/80A AU539375B2 (en) 1979-12-20 1980-12-17 Multi-processor computer system
JP18029380A JPS5697158A (en) 1979-12-20 1980-12-19 Multiprocessor computer system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL7909178 1979-12-20
NL7909178A NL7909178A (nl) 1979-12-20 1979-12-20 Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten.

Publications (1)

Publication Number Publication Date
NL7909178A true NL7909178A (nl) 1981-07-16

Family

ID=19834353

Family Applications (1)

Application Number Title Priority Date Filing Date
NL7909178A NL7909178A (nl) 1979-12-20 1979-12-20 Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten.

Country Status (8)

Country Link
US (1) US4402045A (nl)
EP (1) EP0031183B1 (nl)
JP (1) JPS5697158A (nl)
AT (1) ATE14250T1 (nl)
AU (1) AU539375B2 (nl)
CA (1) CA1163373A (nl)
DE (1) DE3070868D1 (nl)
NL (1) NL7909178A (nl)

Families Citing this family (43)

* 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.
US4497059A (en) * 1982-04-28 1985-01-29 The Charles Stark Draper Laboratory, Inc. Multi-channel redundant processing systems
NL8204038A (nl) * 1982-10-20 1984-05-16 Philips Nv Multiprocessorrekenmachinesysteem, bevattende n parallel werkende rekenmachinemodules, en rekenmachinemodule te gebruiken in zo een multiprocessorrekenmachinesysteem.
NL8303536A (nl) * 1983-10-14 1985-05-01 Philips Nv Geintegreerde schakeling op grote schaal welke verdeeld is in isochrone gebieden, werkwijze voor het machinaal ontwerpen van zo een geintegreerde schakeling, en werkwijze voor het machinaal testen van zo een geintegreerde schakeling.
FR2565002B1 (fr) * 1984-05-25 1986-08-22 Bull Sa Processeur de detection et de correction d'erreurs selon un code produit reed solomon entrelace
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.
US4751639A (en) * 1985-06-24 1988-06-14 Ncr Corporation Virtual command rollback in a fault tolerant data processing system
NL8502768A (nl) * 1985-10-10 1987-05-04 Philips Nv Dataverwerkingsinrichting, die uit meerdere, parallel-werkende dataverwerkingsmodules bestaat, multipel redundante klokinrichting, bevattende een aantal onderling zelf-synchroniserende klokschakelingen voor gebruik in zo een dataverwerkingsinrichting, en klokschakeling voor gebruik in zo een klokinrichting.
US4797848A (en) * 1986-04-18 1989-01-10 Hughes Aircraft Company Pipelined bit-serial Galois Field multiplier
US4807228A (en) * 1987-03-18 1989-02-21 American Telephone And Telegraph Company, At&T Bell Laboratories Method of spare capacity use for fault detection in a multiprocessor system
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
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
US4891785A (en) * 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
US5201029A (en) * 1988-10-24 1993-04-06 U.S. Philips Corporation Digital data processing apparatus using daisy chain control
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
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
US5257266A (en) * 1991-02-27 1993-10-26 General Dynamics Corporation, Space Systems Division Computer and communications systems employing universal direct spherics processing architectures
US6141769A (en) 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US5956351A (en) * 1997-04-07 1999-09-21 International Business Machines Corporation Dual error correction code
FR2794876B1 (fr) * 1999-06-10 2001-11-02 Bull Sa Procede de reconfiguration d'un systeme de traitement de l'information sur detection de defaillance d'un composant
US6738935B1 (en) * 2000-02-07 2004-05-18 3Com Corporation Coding sublayer for multi-channel media with error correction
JP2003081060A (ja) * 2001-09-11 2003-03-19 Fujitsu Ten Ltd キー閉じ込め防止装置
US8832523B2 (en) * 2006-03-03 2014-09-09 Ternarylogic Llc Multi-state symbol error correction in matrix based codes
US7007128B2 (en) * 2004-01-07 2006-02-28 International Business Machines Corporation Multiprocessor data processing system having a data routing mechanism regulated through control communication
US7308558B2 (en) * 2004-01-07 2007-12-11 International Business Machines Corporation Multiprocessor data processing system having scalable data interconnect and data routing mechanism
US8108429B2 (en) 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US7565661B2 (en) 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
US7680834B1 (en) 2004-06-08 2010-03-16 Bakbone Software, Inc. Method and system for no downtime resychronization for real-time, continuous data protection
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
US7979404B2 (en) 2004-09-17 2011-07-12 Quest Software, Inc. Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data
US7904913B2 (en) 2004-11-02 2011-03-08 Bakbone Software, Inc. Management interface for a system that provides automated, real-time, continuous data protection
US7689602B1 (en) 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
US7788521B1 (en) 2005-07-20 2010-08-31 Bakbone Software, Inc. Method and system for virtual on-demand recovery for real-time, continuous data protection
US9203436B2 (en) * 2006-07-12 2015-12-01 Ternarylogic Llc Error correction in multi-valued (p,k) codes
US8131723B2 (en) 2007-03-30 2012-03-06 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US8364648B1 (en) 2007-04-09 2013-01-29 Quest Software, Inc. Recovering a database to any point-in-time in the past with guaranteed data consistency
US9383970B2 (en) * 2009-08-13 2016-07-05 Microsoft Technology Licensing, Llc Distributed analytics platform
WO2014169015A1 (en) * 2013-04-09 2014-10-16 Carlson Frederic Roy Jr Multiprocessor system with independent direct access to bulk solid state memory resources

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2419587A1 (de) * 1974-04-23 1975-11-06 Siemens Ag Schaltungsanordnung zum gesicherten verarbeiten von digital dargestellten informationen
IT1014277B (it) * 1974-06-03 1977-04-20 Cselt Centro Studi Lab Telecom Sistema di controllo di elaboratori di processo operanti in parallelo

Also Published As

Publication number Publication date
JPS6327734B2 (nl) 1988-06-06
CA1163373A (en) 1984-03-06
DE3070868D1 (en) 1985-08-14
EP0031183B1 (en) 1985-07-10
AU6544780A (en) 1981-06-25
EP0031183A2 (en) 1981-07-01
AU539375B2 (en) 1984-09-27
US4402045A (en) 1983-08-30
ATE14250T1 (de) 1985-07-15
EP0031183A3 (en) 1982-02-10
JPS5697158A (en) 1981-08-05

Similar Documents

Publication Publication Date Title
NL7909178A (nl) Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten.
US4486882A (en) System for transmitting binary data via a plurality of channels by means of a convolutional code
US5099484A (en) Multiple bit error detection and correction system employing a modified Reed-Solomon code incorporating address parity and catastrophic failure detection
US7765454B2 (en) Fault tolerant memory system
US5712861A (en) Error correcting method and decoder with improved reliability
US3755779A (en) Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection
CA1199411A (en) Syndrome processing unit for multibyte error correcting system
US5457702A (en) Check bit code circuit for simultaneous single bit error correction and burst error detection
JPS6041770B2 (ja) エラ−・チェック修正システム
US5778009A (en) Dedicated ALU architecture for 10-bit Reed-Solomon error correction module
NL8104342A (nl) Rekenmachinesysteem, gebaseerd op een symboolkorrigerende kode met twee werkmodes.
US4473902A (en) Error correcting code processing system
US3831144A (en) Multi-level error detection code
US7870473B2 (en) Error detection device for an address decoder, and device for error detection for an address decoder
US20050149834A1 (en) (18, 9) Error correction code for double error correction and triple error detection
JPS6349245B2 (nl)
US3688265A (en) Error-free decoding for failure-tolerant memories
US3982226A (en) Means and method for error detection and correction of digital data
US4994993A (en) System for detecting and correcting errors generated by arithmetic logic units
JPH0728227B2 (ja) Bch符号の復号装置
US5592498A (en) CRC/EDC checker system
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
US3622984A (en) Error correcting system and method
JPS632370B2 (nl)
US9141466B2 (en) Correcting double-bit burst errors using a low density parity check technique

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed