NO174406B - System for aa sikre dataintegritet - Google Patents

System for aa sikre dataintegritet Download PDF

Info

Publication number
NO174406B
NO174406B NO861863A NO861863A NO174406B NO 174406 B NO174406 B NO 174406B NO 861863 A NO861863 A NO 861863A NO 861863 A NO861863 A NO 861863A NO 174406 B NO174406 B NO 174406B
Authority
NO
Norway
Prior art keywords
complement
true
data
parity
signals
Prior art date
Application number
NO861863A
Other languages
English (en)
Other versions
NO174406C (no
NO861863L (no
Inventor
Srikumar R Chandran
Mark S Walker
Edward J Rhodes
Albert S Lui
Original Assignee
Tandem Computers Inc
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 Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of NO861863L publication Critical patent/NO861863L/no
Publication of NO174406B publication Critical patent/NO174406B/no
Publication of NO174406C publication Critical patent/NO174406C/no

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Alarm Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Control Of Transmission Device (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Control Of Throttle Valves Provided In The Intake System Or In The Exhaust System (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

Den foreliggende oppfinnelse vedrører et system som har to redundante prosessorer for å beskytte systemet mot adresse-, data- og styrefeil, idet de to redundante prosessorene respektive tilveiebringer sant- og komplementsett av adresse—, data- og styresignaler. Videre vedrører oppfinnelsen en dobbel, modulær, redundant prosessoranordning for å sikre dataintegritet, samt en selvkontrollerende, intelligent innmatnings/utmatningsstyreenhet. Den foreliggende oppfinnelse er tilpasset til å gi en høy grad av dataintegritet ved å detektere, lokalisere og isolere interne feil med hensyn til både tid og geografi.
Et system av ovennevnte type omtales i Seventh Euromicro Symposium on Microprocessing and Microprogramming, Paris, S.-IO, september 1981, sidene 243-247, Euromicro, North-Holland, Amsterdam, NL; CP. Disparte: "Å design approach for ah electronic engine controller self-checking microprocessor", samt US-4358823 og US-4412282.
Artikkelen av CP. Disparte omhandler teknikker for mikroprosessor selvkontrollering. Flere redundante prosessorer, for kontrollering av hverandre fremgår ikke. I stedet blir forskjellige av signalene som frembringes av, eller som leveres til mikroprosessoren dekket med en generert paritet som kontrolleres på flere steder ved hjelp av det som i publikasjonen er benevnt "fullstendig selv-kontrollerende kontrolleringsenheter" ("totally self-checking checkers"). Kontrollering av én prosessor mot den andre ved å anvende den sanne form av signalene fra én prosessor for sammenligning mot komplementformen av signalene fra den andre prosessoren fremgår imidlertid ikke av publikasjonen.
US-4358823 omhandler et par av redundante prosessorer som hver i sin tur omfatter et par av "underprosessorer". Under operasjonen opererer underprosessoren på synkron, samordnet (lockstep) måte for å behandle data, og utgangssignalene fra hver prosessor sammenlignes og kontrolleres m.h.t. identitet. Eventuell feilsammenligning frembringer et feilsignal.
US-4412282 skiller seg ikke så meget fra det som er beskrevet i US-4358823. I US-4412282 beskrives et mikroprosessor-basert kontrollsystem som anvender to "behandlingsenheter" som opererer i et innbyrdes fast forhold (lockstep) for å behandle samme data på den samme måte til å frembringe data/adresse og styresignaler. Data/adresse og styresignaler fra hver behandlingsenhet sammenlignes med hverandre ved hjelp av respektive komparatorer.
Kommersielt tilgjengelige mikroprosessorer som er lagervare beskytter ikke sine adresse-, data- og styrebusser mot interne feil. Følgelig er slike prosessorer i seg selv util-strekkelige for anvendelser hvor integritet hva angår data og feiltoleranse er vesentlig, slik som i direktekoplete data-behandl ingsanvendel ser hvor store volumer av data må håndteres med høye transaksjonstakter uten avbrudd eller forurensning av data innenfor systemet i tilfellet av at en systemsvikt frembringer en feil. Noen tidligere kjente systemer tilveiebringer feilbeskyttelse for adressebusser og databusser, men ingen tilveiebringer slik beskyttelse for styrebusser eller linjer. Uten beskyttelse for disse styresignaler kan visse typer av svikt ikke detekteres hurtig, hvilket tillater at feil forplanter seg gjennom systemet og gjør sviktisolering mer vanskelig. Feilforplantning kan føre til korrupsjon av data, hvilket er uakseptabelt i mange tilfeller. Derfor forelå det et behov innenfor teknikken for et system som kunne beskytte mot feil i adresse-, data- og styresignaler.
Følgelig er det et hovedformål ved den foreliggende oppfinnelse å detektere, lokalisere og isolere samtlige enkeltpunktsvikt og visse klasser av flerpunktsvikt, på adresse-, data- og styrebussene i et dobbelt, modulært, redundant prosessorsystem.
Det er et ytterligere formål med den foreliggende oppfinnelse å beskytte adressebussen, databussen og styrebussen mot enkeltpunktsvikt, enten statisk eller transient.
Det er et ytterligere formål med den foreliggende oppfinnelse å detektere slik svikt på en buss-syklusbasis.
Dessuten er det et formål med den foreliggende oppfinnelse å rapportere eventuell detektert svikt enten på den samme buss-syklus under hvilken de detekteres eller ved den neste syklus.
Videre tilsiktes det med den foreliggende oppfinnelse å detektere, lokalisere, isolere og rapportere interne svikt før de kan forplante seg, enten i tid eller geografi, for derved å gjøre sviktbestemmelse og korrigering vesentlig lettere og mer pålitelig.
Det er et ennu ytterligere formål ved den foreliggende oppfinnelse å operere et redundant par av kommersielt tilgjengelige mikroprosessorer samordnet (lock-step) for å tilveiebringe en intern systembuss som er beskyttet mot adresse-, data- og styrefeil og således sikre en høy grad av dataintegritet.
Det innledningsvis nevnte system omfatter, ifølge oppfinnelsen adressekontrolleringsmiddel for å sammenligne nevnte sant-og komplementsett av adressesignaler med hverandre og for å generere et sant- og et komplement-adressefeilsignalpar når en feilsammenligning fastslås, datakontrolleringsmiddel for å sammenligne nevnte sant- og komplementsett av datasignaler med hverandre og generere et sant- og et komplement-datafeilsignalpar når en feiIsammen-ligning fastslås, styrekontrolleringsmiddel for å sammenligne nevnte sant- og komplementsett av styresignaler med hverandre og generere et sant- og et komplement-styrefeilsignalpar når der er en feilsammenligning mellom disse, og kretsmiddel som innbefatter hver av de to redundante prosessorer for å reagere på en forutbestemt måte på et hvilket som helst av nevnte sant- og komplement-adressefeilsignal, komplement-datafeilsignal eller komplement-styrefeilsignal.
Ifølge ytterligere utførelsesformer av systemet genererer nevnte adressekontrolleringsmiddel paritetsbeskyttede adresser fra de to komplementsett av adressesignaler, og systemet omfatter dessuten adresseparitetskontrollerings-middel for å kontrollere pariteten av de paritetsbeskyttede adresser og generere et adresseparitetsfeilsignal ved deteksjon av en paritetsfeil for en adresse.
Videre kan nevnte datakontrolleringsmiddel generere paritetsbeskyttede data fra de to og komplemente sett av datasignaler, og systemet kan dessuten omfatte dataparitets-kontrolleringsmiddel for å kontrollere pariteten hos nevnte paritetsbeskyttede data og generere et dataparitetsfeil-signal ved deteksjon av en paritetsfeil for data.
Styrekontrolleringsmiddelet kan dessuten omfatte synkroniseringsmiddel for å synkronisere de fremre kanter av nevnte sant- og komplementsettene av styresignaler med hverandre. Nevnte adresse-, data- og styrekontrolleringsmidler hver har synkroniseringsmiddel for å synkronisere hvert sant-komplement par av adressefeilsignaler, datafeilsignaler og styrefeilsignaler.
Ifølge en ennu ytterligere utførelsesform kan systemet dessuten omfatte lagermiddel for lagring av programinstruksjoner som skal utføres av prosessorene og data, og bussmiddel for å føre paritetsbeskyttede adresser og paritetsbeskyttede data, idet nevnte lagermiddel kan aksesseres via nevnte bussmiddel for lese- og skriveoperasjoner ved hjelp av prosessorene. Programinstruksjonene som lagres i nevnte lagermiddel er paritetsbeskyttet. Dessuten kan nevnte lagermiddel omfatte lagerparitetskontrolleringsmiddel for å kontrollere pariteten av programinstruksjoner og data som er lest fra nevnte lagermiddel, idet nevnte lagerparitetskontrolleringsmiddel genererer et programinstruksjons-paritetsfeilsignal ved detektering av en paritetsfeil i en programinstruksjon som leses fra nevnte lagermiddel og nevnte lagerparitetskontrollerende middel genererer et lagerdataparitetsfeilsignal ved detektering av en paritetsfeil i data som leses fra nevnte lagermiddel. Prosessorene stopper behandling som reaksjon på et programinstruksjons-paritetsfeilsignal. Eventuelt kan programinstruksjonen inneholde unntakelsesrutiner som utføres av prosessorene som reaksjon på et lagerdataparitetsfeilsignal.
Den innledningsvis nevnte prosessoranordning kjennetegnes, ifølge oppfinnelsen, ved første og andre prosessormiddel for å frembringe sant- og komplementopererende signaler i fraværet av eventuell abnormal tilstand i den doble modulære redundantprosessoranordning, internt systembussmiddel koplet til det første og andre prosessormiddel for å kommunisere de opererende signaler, middel for å frembringe et periodisk klokkesignal, og synkronisatormiddel koplet til det interne systembussmiddel for synkronisering av fremre kanter av sant-og komplementpar av de opererende signaler frembragt av nevnte første og andre prosessormiddel, idet synkronisatormidlet innbefatter middel som reagerer på det periodiske klokkesignalet for syklisk å sample nevnte sant- og komplementpar av de opererende signaler, og utgangsmiddel koblet til samplingmidlet og som reagerer på klokkesignalet for frembringelse av synkroniserte, opererende signaler som har synkroniserte, fremre kanter og som tilsvarer nevnte sant- og komplementpar av opererende signaler. Dessuten har prosessoranordningen kontrolleringsmiddel som reagerer på de synkroniserte opererende signaler for å bestemme hvorvidt komplementering eksisterer mellom disse, idet nevnte kontrolleringsmiddel genererer et dobbelt-utført feilsignal i tilfellet av fravær av slik komplementering, og feildetektormiddel for mottakelse av feilsignalene fra nevnte kontrolleringsmiddel, idet nevnte feildetektormiddel genererer og sender til hvert av nevnte første og andre prosessormiddel et feildetektert signal, hvorved nevnte første og andre prosessormiddel kan iverksette passende handling som reaksjon på nevnte sant- og kompiementopererende signaler som detekteres til ikke å ha det forutbestemte logiske forhold.
Nevnte sant- og komplementopererende signaler vil respektive fortrinnsvis innbefatte sant- og komplementadressesignaler, idet nevnte kontrolleringsmiddel er virksomt til å bestemme hvorvidt sant- og komplementadressesignalene har et komplementært forhold til hverandre. Videre kan nevnte sant- og komplementopererende signaler respektive dessuten innbefatte sant- og komplementdatasignaler, idet nevnte kontrolleringsmiddel er virksomt til å bestemme hvorvidt nevnte sant- og komplementdatasignaler har et komplementært forhold til hverandre.
I tillegg kan prosessoranordningen omfatte paritetskontrolleringsmiddel for å kontrollere pariteten i hvert par av adresser.
Ifølge oppfinnelsen kjennetegnes den selvkontrollerende, intelligent innmatnings/utmatningsstyreenheten ved dobbelt, redundant prosessormiddel som er konfigurert til respektivt å avgi sant- og komplementopererende signaler, kontrolleringsmiddel som har morfologiske reduksjonskretser koblet til å motta og sammenligne nevnte santopererende signaler med nevnte komplementopererende signaler for å frembringe et sant- og komplementfeilsignal som indikerer en feilsammenligning, og kretsmiddel som innbefatter de doble, redundante prosessorer som er virksomme på en forutbestemt måte som reaksjon på feilsignalene.
Ifølge ytterligere utførelsesform av nevnte enhet innbefatter de opererende signaler adresse og datasignaler.
Dessuten kan nevnte kretsmiddel innbefatte middel for å stoppe operasjonen hos minst én av nevnte doble, redundante prosessorer som reaksjon på nevnte sant- og komplementfeilsignal.
Videre kan enheten, ifølge oppfinnelsen innbefatte lagermiddel og bussmiddel som kobler nevnte doble, redundante prosessormiddel til lagermidlet for å formidle visse av de opererende signaler derimellom, idet nevnte sant- og komplementopererende signaler respektive innbefatter sant- og komplementadressesignaler som er virksomme til syklisk å aksessere lagermidlet, idet kontrolleringsmidlet er virksomt under hver lagersyklus til å motta og sammenligne nevnte sant- og komplementadressesignaler.
Fig. 1 er et blokksk jerna over de behandl ingsblokkene,
kanalgrensesnittblokkene, anordningsgrensesnitt-blokkene og lagerfunksjonsblokkene, ifølge foreliggende oppfinnelse.
Fig. 2 er et blokkskjema over det stramt koplede, dobbelte,
modulære, redundante datamaskinprosessorsystem, ifølge foreliggende oppfinnelse.
Fig. 3 er et blokkskjema over adressebussens arkitektur,
ifølge foreliggende oppfinnelse.
Fig. 4 er et blokkskjema over databussens arkitektur, ifølge
foreliggende oppfinnelse.
Fig. 5 er et blokkskjema over lese/skrive-linjene hos styrebussen, ifølge den foreliggende oppfinnelses arkitektur. Fig. 6 er et blokkskjema over avbrudds- og bussarbitrasje-linjene hos styrebussen, ifølge den foreliggende oppfinnelses arkitektur. Fig. 7A er et logisk kretsskjema, ifølge foreliggende oppfinnelse, for å løse tidsstyringsproblemer for leseoperasjoner. Fig. 7B er et tidsbestemmelsesdiagram som viser forholdet mellom de to lesestyringspulsene og den ene styrepulsen som styrer når leseoperasjonene kan opptre. Fig. 8A er et logisk kretsskjema, ifølge den foreliggende oppfinnelse, for å løse tidsstyringsproblemer for skriveoperasjoner. Fig. 8B er et tidsdiagram som viser forholdet mellom to skrivesyringspulser og den ene styrepulsen som styrer når skriveoperasjonene kan opptre.
I fig. 1 består innmatnings/utmatnings-(I/U) styreenheten 10 ifølge den foreliggende oppfinnelse av tre hovedfunksjons-blokker: en prosessorblokk 20 og et tilhørende lager 22, et portstyre- eller kanalgrensesnitt 30, og et anordningsgrensesnitt 40. Funksjonsblokkene 20, 30 og 40 er sammen-koplet ved hjelp av et internt bussystem (ISB) 50. Prosessorblokken 20 innbefatter en sann-prosessor 114, en komplementprosessor 112, en direkte lageraksess (DMA)-modul 300, en prosessorstøttemodul (PSM) 400, som vist i fig. 1-6. En lagerseksjon er kommunikasjonsmessig koplet til prosessorblokken 20 via ISB 50. Buffere 108 og 102 er databuffere av en type som er i vanlig bruk innenfor teknikken.
Fig. 2, som viser i nærmere detalj prosessorblokken 20 i fig. 1, angir at I/U-styreenheten 10 ifølge foreliggende oppfinnelse omfatter to kommersielt tilgjengelige mikroprosessorer 112 og 114 av lagervaretype (f.eks. Motorola type MC
68000 mikroprosessorer) som drives samordnet (lock-step) fra en felles klokke 116 som et stramt koplet, dobbelt, modulært redundant datamaskinprosessorsystem. Prosessor 114 som har en ikke-inverterende buffer 118 (en elektrisk buffer for å øke den elektriske drivevne) på dens adressebuss 174, er betegnet som den "sanne" prosessor, og prosessoren 112, som har en inverterende buffer 120 (en elektrisk buffer) på sin adressebuss 172 og en inverterende buffer 146 på sin databuss 136, betegnes som "komplement"-prosessor. Den sanne prosessoren 114 og komplement-prosessoren 112 deler et felles programrom eller koderom (ikke vist), som er paritetsbeskyttet, innenfor et felles lager 22. Prosessorene 112 og 114 vil også felles aksessere et flertall anordninger 124, 126 og 128, som, som vist i fig. 1, eksempelvis kan være en skriveformateringsbrikke 44, en leseformateringsbrikke 48 eller DMA 300. Ytterligere eller færre slike anordninger kan anvendes etter behov eller når det er ønskelig uten å avvike fra den foreliggende oppfinnelse (se fig. 5).
ISB 50 omfatter en adressebussdel 132 (se fig. 3), en databussdel 130 (se fig. 4) og en styredel 198 (se fig. 5). Arkitekturen ifølge den foreliggende oppfinnelse beskytter samtlige tre deler av ISB 50 samt andre styrelinjer (ikke vist) mot feil bevirket av svikt. (Her betyr uttrykket "feil" en abnormal tilstand i et sett av observerbre utmatninger for et gitt sett av inngangsbetingelser ved observasjonstids-punktet, "svikt" betyr en abnormal tilstand i et fysisk element hos en logisk krets, "kontrollerbarhet" betyr evnen til å detektere svikt ved å observere feil, hvilket krever at hver fysiske svikt medfører et abnormalt sett av utmatninger for noen normale sett av innmatninger, og "testbarhet" betyr evnen til å lokalisere svikt, og settet av innmatninger som anvendes til å lokalisere svikt behøver ikke å være "normale" innmatninger). I den foretrukne utførelsesform bærer databussen 130 16 databiter og to paritetsbiter (dvs. en paritetbit for en øvre databitgruppe og en annen paritetbit for en nedre databitgruppe), og adressebussen 132 bærer 8 adressebiter og en paritetbit. I den foretrukne utførelsesform er databussen 130 og adressebussen 132 tretilstands (dvs. logisk 1 og logisk 0 tilstander pluss en inaktiv tilstand som tilsvarer et spenningsnivå innenfor en "død" sone).
I den foreliggende oppfinnelse er systemnivåfeilene oppdelt i to grupper: fatale og ikke-fatale. Fatale feil er katastrofe-messige og bevirker styreenheten 10 til å stoppe. Ikke-fatale feil initierer unntakelsesbehandling hos prosessorene 112 og 114. Unntakelsesbehandling styres ved hjelp av mikrokode lagret i lager 22 som utføres som reaksjon på et ikke-fatal-feil signal. I visse tilfeller kan en eller flere ikke-fatale feil føre til en fatal feil, hvilket stopper ytterligere behandling hos prosessoren 112 og 114.
Prosessorene 112 og 114 har henholdsvis dataporter 136 og 134. Dataporten 134 hos sann-prosessoren 114 er koplet via en ikke-inverterende buffer 138 (en elektrisk buffer) til en datakontrolleringsenhet 140 og en paritetskontrollerings-enhet/generator 142 via databuss 130 hos ISB 50. Dataporten 136 hos komplement-prosessoren 112 er koplet til ISB-databussen 130 via en ikke-inverterende buffer 144 (en elektrisk buffer), som tillater data å bli ført fra ISB-databuss 130 til komplement-prosessor 112 uten å bli invertert. Data føres fra dataport 136 hos komplementprosessoren 112 til datakontrolleringsenheten 140 via en inverterende buffer 146 (en elektrisk buffer).
Således mottar datakontrolleringsenheten 140 (som inngår i PSM 400) et sant sett av data fra sann-prosessoren 114 (og den ikke-inverterende buffer 138) og et komplementsett av data fra komplement-prosessoren 112 (og den inverterende buffer 146). Datakontrolleringsenheten 140 omfatter morfologiske reduksjonskretser (ikke vist) av en vanlig anvendt type, som fungerer som selvkontrollerende kontrollenheter og som sammenlikner sanne data og komplementdata. Uttrykket "morfologiske reduksjonskretser" er velkjent innenfor teknikken, se f.eks. artikkelen "Computer Error Control by Testable Morphic Boolealn Functions - a Way of Removing Eardcore", 1972 International Symposium on Fault Tolerant Computing Digest, Juni 1972. Publikasjonen omtaler bruken av morfologiske funksjoner i et feiltolerant miljø, og fordelen med å anvende kontrollering ved hjelp av morfologisk reduk-sj onskrets er at sann/komplementutmatingen som frembringes derfra alltid endrer seg. Så lenge som der eksisterer en sann og en komplementutmatning som endrer tilstand når sann/ komplementdata som tilføres endrer tilstand, selv om ingen feiltilstand eksisterer, er systemet i stand til å overvåke denne utmatning som endrer seg og å vite at kontrollerings-enheten opererer på riktig måte. Når den dobbeltførte utmatning fra den morfologiske reduksjonskretskontrollerings-enheten ikke er en sann/komplement type, dvs. begge sanne eller begge falske, angis feil. Sann- og komplementdata-bussene kontrolleres og reduseres i datakontrolleringsenheten 140 ved morfologisk reduksjon på hver skrivesyklus, hvilket resulterer i et sant-komplementsignalpar. Eventuell feilsammenlikning mellom nevnte sant- og komplementdata (dvs. hvor en databit fra komplementdatabussen ikke er komplementet av den korresponderende databit fra den sanne databuss) eller enhver feil i selve den tilhørende selvkontrollerende kontrollenhetkrets (ikke vist) er en fatal feil. Hvis en fatal feil detekteres av datakontrollenheten 140, frembringes et sant og komplement par ved hjelp av datakontrolleringsenheten 140 og sendes via et par av fatal-datafeil linjer 148 til en fatal-feil detektor 150, som er beskrevet nedenfor. Utgangen fra fatal-feil detektoren 150 er et par av fatal-feil linjer 152 og 154 som er koplet henholdsvis til stopp-inngangene 156 og 158 på prosessorene 112 og 114. Når således fatal-feil linjene 152 og 154 går aktive som reaksjon på dataf ei1sammen!igninger eller deteksjon av en feil i datakontrolleringsenheten 1440, stoppes prosessorene 112 og 114 .
Antar man at ingen feil detekteres av datakontrolleringsenheten 140, anvendes de kontrollerte data ved hjelp av paritetskontrolleringsenheten/generatoren 142 til å generere en øvre og nedre databitgruppe og en nedre bitgruppes likedataparitets bit og en øvre bitgruppes likepartiets bit på databussen 130. I den foretrukne utførelsesform anvendes to dataparitetsbiter for å forbedre datafeilbeskyttelses-dekning og å tillate operasjoner på enten bitgrupper eller ord av data. Som angitt nedenfor kontrollerer alle I/U kartlagte registre med hensyn til god dataparitet mens de skrives inn i, og eventuelle feil rapporteres tilbake til prosessoren 112 og 114 for den samme buss-syklusen. Paritetskontrolleringsenheten/generatoren 142 overvåker databussen 130 med hensyn til paritetsfeil under leseoperasjoner ved hjelp av prosessorene 112 og 114, og eventuell feil som detekteres rapporteres via et sant og komplementpar av ikke-fatale-feil signaler på linjene 160 til feilkontrolleringsenheten 162, som frembringer et par ikke-fatale-feil signaler på linjene 164 og 166, som koples til bussfellinngangene 168 og 170 på henholdsvis prosessorene 112 og 114. Paritetsfeil som detekteres av paritetskontrolleringsenheten/generatoren 142 behandles som ikke-fatale feil, hvilke behandles av prosessorene 112 og 114 som utfører passende fastvare (ikke vist) lagret i lageret 22 på en unntakelsesbasis for å lokalisere den sviktende krets. Paritetskontrolleringsenheten/ generatoren 142 genererer paritetsbiter under skriveoperasjoner.
Således genereres bitgruppe bred paritet og kontrolleres på databussen. I den foretrukne utførelsesform er der fire paritetskontrollbits i et paritetskontrollregister (ikke vist). Disse fire biter, under mikrokodestyring, anvendes til å generere odde-paritet på den nedre eller øvre bitgruppe og å sette paritetskontrollering ut av funksjon på den nedre eller øvre bitgruppen. Når paritetskontrolleringen ikke gjøres inoperativ, blir like-paritet alltid kontrollert på leseoperasjoner og like-paritet genereres alltid på skriveoperasjoner.
Under en leseoperasjon kontrolleres like-paritet. Hvis en feil opptrer, er der to muligheter: (1) lesningen fra koderom, i hvilket tilfelle feilen defineres som fatal og bevirker styreenheten til å stoppe, eller (2) lesningen var fra datarom, i hvilket tilfelle en bussfeil avgis til prosessorene 112 og 114 og unntakelsesbehandling initieres.
Komplement-prosessoren 112 har en adresseport 172 for utmatning av adresser via inverterende buffer 120 til ISB-adressebuss 132, og sann-prosessoren 114 har en adresseport 174 for utmatning av adresser via ikke-inverterende buffer 118 til ISB-adressebussen 132. På grunn av inverterende buffer 120, blir komplementet for hver adressebit levert til adressekontrolleringsenheten 176, som er del av DMA 300, fra komplement-prosessoren 112. De sanne adressebiter leveres til adressekontrolleringsenheten 176 fra den sann-prosessoren 114. Bortsett fra driftsmodus med direkte lageraksess, blir disse to sett av adresselinjer kontrollert ved hjelp av adressekontrolleringsenheten 176, som omfatter selvkontrollerende kontrolleringsenheter eller morfologiske reduksjonskretser (ikke vist) av en type som er kjent innenfor teknikken.
Hvis der er en fei1sammenlikning mellom et hvilket som helst sant og komplement par av adressebiter (dvs. en bit er ikke komplementet av den andre), frembringer adressekontrolleringsenheten 176 et sant og komplement par av fatal-adressefeil signaler på linjene 178. Fordi adressekontrolleringsenheten 176 er selvkontrollerende, frembringer enhver svikt i selve adressekontrolleringsenheten 176 også et sant og komplementpar av fatal-adressefeil signaler på linjene 178. De fatal-adressefeilsignalene leveres via linjene 178 til fatal-feil detektoren 150, som reagerer på den samme måte som omtalt ovenfor med hensyn til fatal-data feil. Således, hvis der en adressefei1sammenlikning eller en svikt i adressekontrolleringsenheten 176, stoppes prosessorene 112 og 114. Samtlige adressefeil detekteres av adressekontrolleringsenheten 176 på den samme buss-syklusen og behandles som fatale feil ved hjelp av fatal-feil detektoren 150, hvilket bevirker en stopp.
Under den normale prosessor lese/skrive-modus, anvendes de kontrollerte sant-komplementadressene av adressebussparitets-generatoren 180 til å generere odde-paritet over adressen som så leveres til ISB-adressebussen 132. De sanne adressebiter med en odde-paritetsbit danner de biter som føres på ISB-adressebussen 132. I den foretrukne utførelsesform, i samtlige ytre kretser, omfatter eksempelvis anordningen 124, 126 og 128 logiske kretser for å kontrollere paritet hos adressen på ISB-adressebussen 132 ved hver lese- og skriveoperasjon når slik anordning velges og dens interne registre adresseres. Paritetsfeil detektert av anordningene 124, 126 og 128 behandles som ikke-fatale feil, og de frembringer sant-komplement par av ikke-fatal-feil signaler på henholdsvis linjeparene 184, 186 og 188, som sender signalene til feilkontrolleringsenheten 162 for håndtering på den samme måte som dataparitetsfeil detektert av paritetskontrolleringsenheten 142 omtalt ovenfor. Slike feil behandles ved hjelp av prosessoren 112 og 114 som utfører passende mikrokodeinstruksjoner under avbruddet for å lokalisere den sviktende kretsen.
Under direkte lageraksessdriftsmodus, genereres odde-paritet ved hjelp av en adresseteller (ikke vist) i DMA 300. Denne adresseparitet kontrolleres internt til DMA 300 på adresse-bussgrensesnittbufferne (ikke vist). Enhver feil som finnes under denne kontrollering vil bevirke DMA 300 til å stoppe den direkte lageraksess og å gi avkall på ISB-bussen 50. I tillegg kan en ekstern adresse-bussparitetskontrollerings-enhet (ikke vist) anvendes til å kontrollere pariteten for adressene på adressebussen 132 under direkte lageraksesser. I tilfellet av at en feil detekteres av slik ekstern adresse-bussparitetskontrolleringsenhet, stoppes den direkte lageraksess og styringen av ISB-bussen 50 oppgis.
Prosessoren 112 har en styremarkeringspulsutgang 190 og prosessoren 114 har en styremarkeringspulsutgang 192. Prosessorene 112 og 114 genererer hver på henholdsvis utgangen 190 og 192 det følgende sett av ISB-styremarkeringspulser: en adressemarkeringspuls, en øvre datamarkeringspuls, en nedre datamarkeringspuls, en dataerkjennelsespuls, og en lese/skrive-markeringspuls. Disse fem markeringspulser anvendes til å utføre lese- og skriveoperasjoner. For hver av de fem markeringspulsene tilveiebringes en sann markeringspuls ved hjelp av sann-prosessoren 114 og en komplement-markeringspuls tilveiebringes av komplement-prosessoren 112 til å styre kontrolleringsenheten/ISB-generatoren 194. Sant-komplementparene av styremarkeringspulser mottatt av kontrol-ler ingsenheten/ISB-generatoren 194 er synkrone innenfor tids-toleransene for prosessorene 112 og 114. Som beskrevet nedenfor blir styre-markeringspulsene ytterligere synkronisert ved hjelp av styrekontrolleringsenheten/ISB-generatoren 194, som omfatter del av PSM 400. De fem signalene på styrelinjene 190 og 192 sammenlignes ved hjelp av selvkontrollerende kontrollenheter (dvs. morfologiske reduksjonskretser) i styrekontrolleringsenheten/ISB-generatoren 194, og enhver feilsammenlikning (dvs. deteksjon av tilsvarende markerings-pulssignaler fra prosessorene 112 og 114 som ikke er et sant-komplementpar) behandles som en fatal feil. Ved detektering av en feilsammenlikning, frembringer styrekontrolleringsenheten/ISB-generatoren 194 et sant-komplementpar av fatal-feil signaler, som tilføres via et par linjer 196 til fatal-feil detektoren 150. Fatal-feil detektoren 150 håndterer fatal-feil signalene på den måte som er beskrevet ovenfor med hensyn til adressekontrolleringsenheten 176 og datakontrolleringsenheten 140.
Denne kontrollering av styremarkeringspulsene uavhengig av all data og adressekontrollering oppnår to viktige konstruk-sjonsmålsettinger: (1) isolasjon av feil til styrebuss 190 eller 192, hvorved det gjøres lettere å finne feil, og (2) hindring av feilforplantning, hvorved man bevarer sammen-hengen under hvilken feilen opptrådte, hvilket er særlig viktig ved lokalisering av transiente og intermittente feiltilstander.
Der er visse konstruksjonsutfordringer ved kontrollering av styremarkeringspulser. Selv om prosessorene 112 og 114 begge drives av en felles klokke 116, kan en av prosessorene operere på sin minimumsforsinkelsesspesifikasjon og den andre kan operere på sin maksimumsforsinkelsesspesifikasjon på grunn av prosessvariasjoner ved fremstilling av delene. Selvom de to prosessorene 112 og 114 har identiske spesifika-sjoner og kjører på basis av et felles klokkesignal, kan deres utgangssignaler være skjevsatt i tid relativt hverandre. Virkningen av dette ved datalesninger og -skrivninger er å skape stremgere oppsetnings- og holdemarginer. På grunn av den mulige skjevsetting for de samordnede (lockstepped) prosessorene 112 og 114, må eksempelvis adresse og datamarkeringspulsene synkroniseres slik at, for en lesning, dataene holdes på databuss 130 inntil den saktere prosessoren har lest dataene (dvs. siste markeringspuls forsvinner), og for en skrivning, dataene skrives når den hurtigste prosessorens skrivemarkeringspuls har gått inaktiv, (dvs. den første markeringspulsen forsvinner). For å oppnå det foregående blir de uavhengige adressene fastholdt på prosessorene 112 og 114 og holdes inntil denne siste av de to datamarkeringspulsene forsvinner. Disse fastholdte adressebusser anvendes til brikkevalg og aksess av data. Således blir dataene holdt lenge nok til at begge prosessorer 112 og 114 leser de samme data. Skrivemarkeringspulsene for lager 22 avgis på den første datamarkeringspulsen. Igjen holdes adresse og brikkevalgene inntil siste datamarkeringspuls forsvinner, hvorved adressen vil være gyldig og holdetiden tilfredsstiller lagerskrivninger.
Tidsdiagrammet i fig. 7B for leseoperasjoner viser sann-komplementparet for adressemarkeringspulsene AS<*>]T§ og AS<*>]C§ og lesesignalet LAS<*>]T§. Leseoperasjonene kan opptre mens LAS<*>]T§ er aktiv, hvilket er tilfelle når den langsommere av adressemarkeringspulsene (i dette tilfellet AS<*>]C§) er aktiv. Likeledes viser tidsdiagrammet i fig. 8B for skriveoperasjoner sann-komplementparet for datamarkeringspulser DS<*>]T§ og DS<*>]C§. Skriveoperasjonene kan opptre, mens signalet FDS<*> er aktivt (dvs. lavt) som er tilfellet kun mens begge datamarkeringspulser er aktive.
Ifølge den foreliggende oppfinnelse genereres derfor modifiserte markeringspulser ved hjelp av styrekontrolleringsenheten/ISB-generatoren 194 for å ta vare på de strenge tidsbestemmelseskravene for lese- og skriveopera-sjonen. Denne genererering i seg selv skjer på en selv-kontrollerende måte og er dobbeltforløpende.
En synkronisatorkrets som er egnet til å oppnå den nødvendige synkronisering er beskrevet i norsk patent nr. 171617.
Samtlige ytre kretser (f.eks. anordningene 124, 126 og 128) som danner tilpasning til disse modifiserte styremarkeringspulser via linje 198 fra styrekontrolleringsenheten/ISB-generatoren 194 er konstruert slik at de kontrollerer disse linjer ved hver lesning hva angår ikke-fatal unntakelsesbehandling, som omtalt ovenfor. Paritetsbeskyttelse tilveiebringes også ved hjelp av paritetskontrolleringsenheten/generatoren 142 for datarommet i det felles lager 22. Hvis paritetskontrolleringsenheten 142 detekterer en paritetsfeil under en innhenting av opera-sjonskode fra lageret 22, frembringer paritetskontrolleringsenheten 142 et sant-komplementpar av fatal-feil signaler på et par av linjer 141 som tilfører fatal-feil signalene til fatal-feil detektoren 150 for å håndtere på den måte som er omtalt ovenfor. Hvis paritetskontrolleringsenheten 142 detekterer en paritetsfeil under en leseoperasjon fra lageret 22, blir et sant-komplementpar av ikke-fatal feilsignaler frembragt ved hjelp av paritetskontrolleringsenheten 142 på linjeparet 160 og tilført feilkontrolleringsenheten 162, som håndterer slike ikke-fatale feil på den måte som er omtalt ovenfor.
Med henvisning til fig. 1, består kanalgrensesnittet 30 av logikk for dobbeltkanalporter 32A og 32B. Kanalgrensesnittet 30 mottar og fortolker kommandoer fra den sentrale proses-sorenhet CPU (ikke vist), og utfører dataoverføringer mellom I/U-styreenheten 10 og nevnte CPU via porter 32A og 32B.
Anordningsgrensesnittet 40 består av grensesnittstyrings- og formateringskretser (f.eks. skriveformateringsmodul 44, formateringstidsstyringsmodul 42, lesestyremodul 46 og leseformateringsmodul 48), som i den foretrukne utførelses-form danner tilpasning mellom ISB-bussen 50 og to bånd-drivenheter (ikke vist). Selv om anordningens grensesnitt 40 er enestående for å danne tilpasninger med ISB 50, er grensesnittstyrings- og formateringskretsene av den type som vanlig anvendes i teknikken for slike funksjoner.
Sammenfatningsvis er der i den foretrukne utførelsesform av foreliggende oppfinnelse fire typer av fatale feil. Først blir sann og komplement-adressebussene kontrollert og morfologisk redusert ved hjelp av adressekontrolleringsenheten 176 i DMA 300 til å frembringe et enkelt, sann-komplementsignalpar som tilføres fatal-feil detektoren 150 via linjer 178. For det andre blir sann- og komplement-databussene kontrollert og morfologisk redusert ved hjelp av datakontrolleringsenheten 140 i PSM 400 ved hver skrivesyklus til å frembringe et sant-komplementsignalpar som tilføres fatal-feil detektoren 150 via linjer 148. For det tredje blir styremarkeringspulsene kontrollert og morfologisk redusert ved hjelp av styrekontrolleringsenheten 194 i PSM 400 til et sant-komplementsignalpar som tilføres fatal-feil detektoren 150 via linjene 196. Den fjerde typen av fatale feil er koderom-paritetsfeil som detekteres av paritetskontrolleringsenheten 142 og morfologisk reduseres til et sant-komplementsignalpar som tilføres fatal-feil detektoren 150 via linjer 141.
Disse fatale feil fastholdes og kontrolleres ved hver klokkesyklus. Disse feilsignaler kunne indikere at en feil har opptrådt under en klokkeperiode når der i realiteten ikke var noen feil, men kun resultatet av logiske forsinkelser og prosessortidsskjevsettinger. Følgelig, i den foretrukne utførelsesform, må en fatal feil være aktiv under to fullstendige klokkeperioder for å bli ansett som en reell feil. Dette er tilfredsstillende fordi hver fatal-feil indikator er i en bestemt tilstand under minst to klokkeperioder .
Resultatet av fatal-feil reduksjonen, kontrolleringen og synkroniseringen er to signaler: DIEUDOG 152 og DIEUDOG<*> 154. Evis det ene eller begge av disse signaler går aktivt, er det opp til den eksterne logikk (ikke vist) å bestemme hva som skal gjøres som reaksjon på denne feiltilstand. I den foretrukne utførelsesform avgir fatal-feil detektoren 150 i PCM 400 uavhengig stoppsignaler til hver av prosessorene 112 og 114.
Med hensyn til ikke-fatale feil, ved slutten av hver skriveoperasjon, kontrollerer hver anordning 124, 126 og 128 ISB 50 med hensyn til paritetsfeil når den aksesseres, og paritetskontrolleringsenheten/generatoren 142 kontrollerer paritet når lageret 22 aksesseres, ved hjelp av prosessorene 112 og 114. Resultatet av denne kontrollering fastholdes (i sant-komplement form) og rapporteres gjennom et sant-komplementsignalpar som er benevnt ERR på henholdsvis linjene 184, 186, 188 og 160. Feilkontrolleringsenheten 162 i PSM 400 mottar ERR-signalpar, og under anvendelse av morfologisk reduksjon, reduseres disse til et signalpar. Til sist blir dette paret utsatt for en eksklusiv-ELLER (XOR)-behandl ing for å kontrollere med hensyn til en svikt. Hvis en svikt detekteres, genereres to uavhengige bussfeilsignaler på linjene 164 og 166 for henholdsvis hver prosessor 112 og 114.
Når en bussfeil detekteres av prosessorene 112 og 114, blir den eksisterende buss-syklus som utføres abortert, adressen og dataene skyves på stakken, og unntakelsesbehandlingen ved hjelp av prosessoren 112 og 114 begynner etter at de hopper til et bestemt sted i programmet som er lagret i lager 22. Programmet er formulert for å forsøke å lokalisere svikten som bevirket feilsignalet. En bussfeil bevirket av en anordningsaksessfell rapporteres under den buss-syklus som bevirket feilen. Således, fordi adressene er anordnings-spesifikke, kan anordningen som har feil bestemmes ved å lese den skjøvede adresse. Adressen anses riktig fordi den allerede er kontrollert mellom prosessorene 112 og 114, og en hvilken som helst adressefeil ville vært en fatal feil. En dataparitetsfeil rapporteres på buss-syklusen umiddelbart etter den buss-syklus som bevirket feilen.
I den foretrukne utførelsesform kan årsaken til bussfeilen (paritet eller anordningsfeil) bestemmes ved lesning av et feilårsaks register ("EC") (ikke vist) i PSM 400. Forutbestemte biter i EC-registeret settes til å angi deteksjon av (1) en paritetsfeil på den øvre eller nedre databitgruppen under en lesning fra datarom, (2) en anordningsf eil under anordningsaksess, eller (3) en feil under en operasjon ved hjelp av DMA 300. Hvis en bussfeil genereres ved deteksjon av en paritetsfeil under en anordningsaksess, vil PSM 400 maskere bussfeilen under den neste buss-syklusen. Dette verner mot å få en dobbelt bussfeil på grunn av en signal-svikt. Ved kontrollering av adresser, data og styremarkeringspulser på en syklusbasis, kan transientfeil detekteres.
I den foreliggende oppfinnelse blir stoppsignalene som frembringes på linjene 178, 148, 141, 196, 152 og 154 og feilsignalene som frembringes på linjene 160, 184, 186, 188, 164 og 166 synkronisert ved hjelp av synkroniseringsmiddel som inngår enten i anordningen i hvilken feilen eller stoppsignalet har sin opprinnelse eller i PSM 400 (som beskrevet ovenfor) for å sikre at prosessorene 112 og 114 opererer samordnet (lockstep). Stopp- og feilsignalene bevirker respektive forskjellige typer av avbrudd hos prosessorene 112 og 114 (se fig. 6 som viser tre typer av avbrudd).
Med henvisning til fig. 3 og 6, håndterer DMA 200 blokk-overføringer av data mellom ytre moduler slik som kanalgrensesnitt 30 og anordningsgrensesnitt 40 (hvilke danner tilpasning med eksempelvis anordningen 124, 126 og 128) og lageret 22. DMA 300 har fire sett av utvekslings(handshake )-linjer (fire porter med seks linjer for hver port; ikke vist) av hvilke, i den foretrukne utførelsesform, to sett av utvekslingslinjer er tilegnet kanalportoverføringer til og fra et prosessorsystem. (Slikt system kunne eksempelvis være som beskrevet i US patent nr. 4.228.496) og to sett av utvekslingslinjer som er tilegnet anordningsoverføringer. I den foretrukne utførelsesform tillates ingen to av de fire utvekslingsportene å være aktive samtidig .
Med henvisning til fig. 6 anvender den foreliggende oppfinnelse tre bussarbitrasjelinjer (som i den foretrukne utførelsesform er uavhengig av ISB-buss 50) mellom DMA 300 og hver av prosessorene 112 og 114: bussf ordring, buss-bevilgning, og bussbevilgningserkjennelse. (Således krever hvert sett av utvekslingslinjer seks linjer.) Bussfordrings-og bussbevilgningserkjennelseslinjene fører signaler som er generert av DMA 300, og bussbevilgningslinjene fører signal generert av prosessorene 112 og 114. Som vist i fig. 6, genererer DMA 300 dobbeltforløpende bussfordrings- og bussbevilgningserkjennelsessignaler og leverer disse uavhengig til hver av prosessorene 112 og 114. Dobbelt-forløpende bussbevilgningssignaler genereres av hver av prosessorene 112 og 114 og kontrolleres (for å se at signalene fra prosessorene 112 og 114 danner et sant-komplementpar) ved hjelp av DMA 300. Bussf ordrings- og buss-bevilgningserkjennelsessignalene er synkrone med prosessorens klokke (ikke vist).
Styreenhetstilstandsmaskinen (ikke vist) i DMA 300 dupliseres i DMA 300, og utmatningen fra hver tilstandsmaskin kontrolleres for å være sikker på at de er overensstemmende ved hver tilstandsmaskins klokkesyklus. Adressegenereringen ved hjelp av DMA 300 beskyttes ved paritet forutsagte binære tellere. Binære feil som detekteres i en hvilken som helst av ovenstående logikk logges inn i et internt feilregister i DMA 300 (ikke vist). Deteksjon av eventuelle feil tvinger DMA 300 til en feiltilstand, hvilket bevirker DMA 300 til å gi avkall på styring over ISB 50. Prosessorene 112 og 114 gjenopptar så styring over ISB 50 og kontrollerer internfeil-registeret for å bestemme hvorvidt noen feil opptrådte under direkte lageraksessen ved hjelp av DMA 300. Hvis en eller annen feil ble logget inn i internregisteret, utfører prosessorene 112 og 114 passende mikrokode for å lokalisere og isolere feilen.
Under direkte lageraksess ved hjelp av DMA 300, overvåkes databussdelen hos ISB 50 ved hjelp av en uavhengig paritets-kontrolleringskrets (dvs. i anordningen som er kilden for dataene eller i anordningen som aksesser data, eksempelvis lageret 22 eller anordningen 124, 126 og 128 i fig. 2), og eventuelle feil logges inn i et internt paritets-statusregister (ikke vist) i PSM 400. Etter en direkte lageraksessoperasjon, leser prosessorene 112 og 114 statusen for internfeil-registeret i DMA 300 og paritetsstatus-registeret i PSM 400 for å se om den direkte lageraksess ble fullført normalt. Dette hjelper til å isolere eventuell svikt hurtig for å redusere forurensningen av data. Fastlåste inngangs-DMA-utvekslingslinjer (fig. 6) håndteres under anvendelse av en tids-utløpsmekanisme ved hjelp av hvilken styring av ISB 50 tvinges tilbake til prosessorene 112 og 114, som omtalt nedenfor.
Tidsutløpsmekanismen anvender en 16 bit teller (en "vakthund"-teller; ikke vist) i PSM 400. Denne teller har en separat klokkeinngang og en utgang som går aktiv når en overflyt opptrer på tellingen eller en feil detekteres i paritetsforutsigelseskretsen (ikke vist). Telleren realiseres under anvendelse av et 16 bit lineært tilbakekoplings-skiftregister (pseudotilfeldig sekvensgenerator) med null undertrykning. Overflyt opptrer ved den 2<**>16 - 1 tellling. Denne teller er mykt startbar. Når en GOWD-bit er av (null) holdes telleren i tilbakestilling, og når GOWD-biten settes (en) begynner telleren å telle. Når en skrivning foretas til vakthundregisteret, tilbakestilles vakthundtelleren. Dette tillater at vakthundtelleren kan tilbakestilles og startes i en operasjon. Hvis tellingen når en forutbestemt verdi før DMA 300 bringer styringen av ISB 50 tilbake til prosessorene 112 og 114, genereres et feilsignal for DMA 300 og styringen av ISB 50 går automatisk tilbake til prosessorene 112 og 114.
For direkte lageraksessoverføringer mellom kanalgrensesnittet 30 og lageret 22, er ytterligere beskyttelse tilveiebrakt ved utveklingslåsningskontroll. Hvis eventuell utvekslings-låsningsfeil detekteres av kanalgrensesnittet 30, inaktiverer dette dets DMA 300 fordringslinje (ikke vist), som tillater DMA 300 å gi avkall på ISB 50.
I den foretrukne utførelsesform klarer DMA-styreenheten 300 16 K x n biter av RAM via en FIFU-plan, men andre planer kan også godtas. Innfelte overføringer (mellom kanal og anordning) kan være mulige ved å anvende to styreenheter, ifølge den foreliggende oppfinnelse, og dobbelt hjelpekrets.
Denne arkitektur muliggjør både syklusstjelemodus og blokkmodus av dataoverføringer. DMA 300 kan utformes for syklus-stjele-operasjonsmodusen for anordningsoverføringer ved å kople DMA 300 fordringslinjen (ikke vist) og DMA 300 styremarkeringspulslinjen (ikke vist) sammen.

Claims (1)

1. System (10) som har to redundante prosessorer (112, 114) for å beskytte systemet mot adresse-, data- og styrefeil, Idet de to redundante prosessorene respektive tilveiebringer sant- og komplement-sett av adresse-, data- og styresignaler., karakterisert ved at systemet omfatter: adressekontrolleringsmiddel (176) for å sammenlikne nevnte sant-og komplementsett av adressesignaler med hverandre og for å generere et sant- og et komplement-adressefeilsignalpar når en feilsammenligning fastslås, datakontrolleringsmiddel for å sammenlikne nevnte sant- og komplementsett av datasignaler med hverandre og generere et sant- og et komplement-datafeilsignalpar når en feilsammenligning fastslås, styrekontrolleringsmiddel (194) for å sammenlikne nevnte sant- og komplementsett av styresignaler med hverandre og generere et sant- og et komplement-styrefeilsignalpar når der er en feilsammenligning mellom disse, og kretsmiddel (150) som innbefatter hver av de to redundante prosessorer for å reagere på en forutbestemt måte på et hvilket som helst av nevnte sant- og komplement-adressefeilsignal, komplement-datafeilsignal eller komplement-styrefeilsignal.
2. System som angitt i krav 1, karakterisert ved at nevnte adressekontrolleringsmiddel (176) genererer paritetsbeskyttede adresser fra de to komplement sett av adressesignaler, og at systemet dessuten omfatter adresse-paritetskontrolleringsmiddel (180) for å kontrollere pariteten av de paritetsbeskyttede adresser og generere et adresseparitetsfeilsignal ved deteksjon av en paritetsfeil for en adresse.
3. System som angitt i krav 1, karakterisert ved at nevnte datakontrolleringsmiddel (140) genererer paritetsbeskyttede data fra de to komplemente sett av datasignaler, og at systemet dessuten omfatter dataparitets-kontrolleringsmiddel (142) for å kontrollere pariteten hos nevnte paritetsbeskyttede data og generere et dataparitets-feilsignal ved deteksjon av en paritetsfeil for data.
4. System som angitt i krav 1, karakterisert ved at nevnte styrekontrolleringsmiddel (194) dessuten omfatter synkroniseringsmiddel for å synkronisere de fremre kanter av nevnte sant- og komplementsettene av styresignaler med hverandre.
5. System som angitt i krav 3, karakterisert ved at nevnte adresse-, data- og styrekontrolleringsmidler (140, 176, 194) hver har synkroniseringsmiddel for å synkronisere hvert sant-komplement par av adressefeilsignaler, datafeilsignaler og styrefeilsignaler.
6. System som angitt i krav 1,karakterisert ved dessuten å omfatte: lagermiddel (22) for lagring av programinstruksjoner som skal utføres av prosessorene (112, 114) og data, og bussmiddel (150, 130, 132) for å føre paritetsbeskyttede adresser og paritetsbeskyttede data, idet nevnte lagermiddel kan aksesseres via nevnte bussmiddel for lese- og skriveoperasjoner ved hjelp av prosessorene.
7. System som angitt i krav 6,karakterisert ved at programinstruksjonene som lagres i nevnte lagermiddel (22) er paritetsbeskyttet, og at nevnte lagermiddel dessuten omfatter: lagerparitetskontrolleringsmiddel (142) for å kontrollere pariteten av programinstruksjoner og data som er lest fra nevnte lagermiddel, idet nevnte lagerparitetskontrolleringsmiddel genererer et programinstruksjons-paritetsfeilsignal ved detektering av en paritetsfeil i en programinstruksjon som leses fra nevnte lagermiddel og nevnte lagerparitetskontrollerende middel genererer et lagerdataparitetsfeilsignal ved detektering av en paritetsfeil i data som leses fra nevnte lagermiddel.
8. System som angitt i krav 7, karakterisert ved at prosessorene stopper behandling som reaksjon på et programinstruksjons-paritetsfeilsignal.
9. System som angitt i krav 7, karakterisert ved at programinstruksjonen inneholder unntakelsesrutiner som utføres av prosessorene (112, 114) som reaksjon på et lagerdataparitetsfeilsignal.
10. Dobbel, modulær, redundant prosessoranordning for å sikre dataintegritet, karakterisert ved første og andre prosessormiddel (112, 114) for å frembringe sant- og komplementopererende signaler i fraværet av eventuell abnormal tilstand i den doble modulære redundantprosessoranordning, internt systembussmiddel (50, 134, 136) koplet til det første og andre prosessormiddel for å kommunisere de opererende signaler, middel (116) for å frembringe et periodisk klokkesignal, synkronisatormiddel (194) koplet til det interne systembussmiddel for synkronisering av fremre kanter av sant- og komplementpar av de opererende signaler frembragt av nevnte første og andre prosessormiddel, idet synkronisatormidlet innbefatter middel som reagerer på det periodiske klokkesignalet for syklisk å sample nevnte sant- og komplementpar av de opererende signaler, og utgangsmiddel koblet til samplingmidlet og som reagerer på klokkesignalet for frembringelse av synkroniserte, opererende signaler som har synkroniserte, fremre kanter og som tilsvarer nevnte sant- og komplementpar av de opererende signaler, kontrolleringsmiddel (140, 176, 194) som reagerer på de synkroniserte opererende signaler for å bestemme hvorvidt komplementering eksisterer mellom disse, idet nevnte kontrolleringsmiddel genererer et dobbelt-utført feilsignal i tilfellet av fravær av slik komplementering, og feildetektormiddel (150) for mottakelse av feilsignalene fra nevnte kontrolleringsmiddel, idet nevnte feildetektormiddel genererer og sender til hvert av nevnte første og andre prosessormiddel et feildetektert signal, hvorved nevnte første og andre prosessormiddel kan iverksette passende handling som reaksjon på nevnte sant- og komplementopererende signaler som detekteres til ikke å ha det forutbestemte logiske forhold.
11. Anordning som angitt i krav 10, karakterisert ved at nevnte sant- og komplementopererende signaler respektive innbefatter sant- og komplementadressesignaler, idet nevnte kontrolleringsmiddel (176) er virksomt til å bestemme hvorvidt sant- og komplementadressesignalene har et komplementært forhold til hverandre.
12. Anordning som angitt i krav 11, karakterisert ved at nevnte sant- og komplementopererende signaler respektive dessuten innbefatter sant- og komplementdatasignaler, idet nevnte kontrolleringsmiddel (140) er virksomt til å bestemme hvorvidt nevnte sant- og komplementdatasignaler har et komplementært forhold til hverandre.
13. Anordning som angitt i krav 10, karakterisert ved at den dessuten omfatter paritetskontrolleringsmiddel (180) for å kontrollere pariteten i hvert par av adresser.
14. Selvkontrollerende, intelligent innmatnings/utmatningsstyre-enhet (10),karakterisert ved : dobbelt, redundant prosessormiddel (112, 114) som er konfigurert til respektivt å avgi sant- og komplementopererende signaler, kontrolleringsmiddel (140, 176, 194) som har morfiske reduksjonskretser koblet til å motta og sammenligne nevnte santopererende signaler med nevnte komplementopererende signaler for å frembringe et sant- og komplementfeilsignal som indikerer en feilsammenligning, og kretsmiddel (150) som innbefatter de doble, redundante prosessorer som er virksomme på en forutbestemt måte som reaksjon på feilsignalene.
15. Selvkontrollerende, intelligent innmatnings/utmatningsstyre-enhet som angitt i krav 14,karakterisert ved at de opererende signaler innbefatter adresse og datasignaler.
16. Selvkontrollerende, intelligent innmatnings/utmatningsstyre-enhet som angitt i krav 15,karakterisert ved at kretsmidlet (150) innbefatter middel (152, 154) for å stoppe operasjonen hos minst én av nevnte doble, redundante prosessorer som reaksjon på nevnte sant- og komplementfeilsignal.
17. Selvkontrollerende, intelligent innmatnings/utmatningsstyre-enhet som angitt i krav 14,karakterisert ved at den innbefatter lagermiddel (22) og bussmiddel(50, 130,
132) som kopler nevnte doble, redundante prosessormiddel til lagermidlet for å formidle visse av de opererende signaler derimellom, idet nevnte sant- og komplementopererende signaler respektive innbefatter sant- og komplementadressesignaler som er virksomme til syklisk å aksessere lagermidlet, idet kontrolleringsmidlet (180) er virksomt under hver lagersyklus til å motta og sammenligne nevnte sant- og komplementadressesignaler.
NO861863A 1985-05-10 1986-05-09 System for å sikre dataintegritet NO174406C (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US73367985A 1985-05-10 1985-05-10

Publications (3)

Publication Number Publication Date
NO861863L NO861863L (no) 1986-11-11
NO174406B true NO174406B (no) 1994-01-17
NO174406C NO174406C (no) 1994-04-27

Family

ID=24948680

Family Applications (1)

Application Number Title Priority Date Filing Date
NO861863A NO174406C (no) 1985-05-10 1986-05-09 System for å sikre dataintegritet

Country Status (8)

Country Link
US (1) US4785453A (no)
EP (1) EP0201356B1 (no)
JP (1) JPH0792765B2 (no)
AT (1) ATE81412T1 (no)
AU (1) AU568977B2 (no)
CA (1) CA1259415A (no)
DE (1) DE3686901T2 (no)
NO (1) NO174406C (no)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4931922A (en) * 1981-10-01 1990-06-05 Stratus Computer, Inc. Method and apparatus for monitoring peripheral device communications
US5151999A (en) * 1986-03-31 1992-09-29 Wang Laboratories, Inc. Serial communications controller for transfer of successive data frames with storage of supplemental data and word counts
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US4908502A (en) * 1988-02-08 1990-03-13 Pitney Bowes Inc. Fault tolerant smart card
US5337411A (en) * 1988-10-20 1994-08-09 Westinghouse Electric Corporation Multi-processor computer system bus architecture
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
GB2228114B (en) * 1989-02-13 1993-02-10 Westinghouse Brake & Signal A system comprising a processor
JPH0314033A (ja) * 1989-06-12 1991-01-22 Fujitsu Ltd マイクロプロセッサ比較チェック機能の検査方式
US5128947A (en) * 1989-06-30 1992-07-07 Motorola, Inc. Self-checking memory cell array apparatus
US5131041A (en) * 1989-11-30 1992-07-14 At&T Bell Laboratories Fault tolerant interconnection networks
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
US5144230A (en) * 1990-11-26 1992-09-01 The Boeing Company Method and system for testing integrated circuits by cycle stealing
US6247144B1 (en) * 1991-01-31 2001-06-12 Compaq Computer Corporation Method and apparatus for comparing real time operation of object code compatible processors
US5392302A (en) * 1991-03-13 1995-02-21 Quantum Corp. Address error detection technique for increasing the reliability of a storage subsystem
US5285456A (en) * 1991-05-15 1994-02-08 International Business Machines Corporation System and method for improving the integrity of control information
US5455935A (en) * 1991-05-31 1995-10-03 Tandem Computers Incorporated Clock synchronization system
US5235602A (en) * 1991-06-11 1993-08-10 International Business Machines Corporation Synchronous/asynchronous i/o channel check and parity check detector
US5311508A (en) * 1991-12-23 1994-05-10 Square D Company Apparatus for receiving and decoding a serial data packet containing the status of a network of single point I/O devices
US5493497A (en) * 1992-06-03 1996-02-20 The Boeing Company Multiaxis redundant fly-by-wire primary flight control system
US5434997A (en) * 1992-10-02 1995-07-18 Compaq Computer Corp. Method and apparatus for testing and debugging a tightly coupled mirrored processing system
US5838894A (en) * 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
US5499384A (en) * 1992-12-31 1996-03-12 Seiko Epson Corporation Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device
US5758058A (en) * 1993-03-31 1998-05-26 Intel Corporation Apparatus and method for initializing a master/checker fault detecting microprocessor
JP3264465B2 (ja) 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
CA2125339A1 (en) * 1993-07-02 1995-01-03 Mark A. Taylor Inter-section cross cable detection system
US5600786A (en) * 1993-07-30 1997-02-04 Honeywell Inc. FIFO fail-safe bus
DE4341082A1 (de) * 1993-12-02 1995-06-08 Teves Gmbh Alfred Schaltungsanordnung für sicherheitskritische Regelungssysteme
US5546408A (en) * 1994-06-09 1996-08-13 International Business Machines Corporation Hierarchical pattern faults for describing logic circuit failure mechanisms
NL9401923A (nl) * 1994-11-17 1996-07-01 Gti Holding Nv Werkwijze en inrichting voor het in een veiligheidssysteem verwerken van signalen.
US6175883B1 (en) * 1995-11-21 2001-01-16 Quantum Corporation System for increasing data transfer rate using sychronous DMA transfer protocol by reducing a timing delay at both sending and receiving devices
US5978938A (en) * 1996-11-19 1999-11-02 International Business Machines Corporation Fault isolation feature for an I/O or system bus
US5864686A (en) * 1996-11-19 1999-01-26 International Business Machines Corporation Method for dynamic address coding for memory mapped commands directed to a system bus and/or secondary bused
US5857069A (en) * 1996-12-30 1999-01-05 Lucent Technologies Inc. Technique for recovering defective memory
US5908471A (en) * 1997-01-31 1999-06-01 Sun Microsystems, Inc Diagnostic arrangement for digital computer system
KR100213187B1 (ko) 1997-03-20 1999-08-02 윤종용 에러 마스터 검출장치
US6058449A (en) * 1997-07-31 2000-05-02 Motorola, Inc. Fault tolerant serial arbitration system
US6327668B1 (en) * 1998-06-30 2001-12-04 Sun Microsystems, Inc. Determinism in a multiprocessor computer system and monitor and processor therefor
DE19850672C2 (de) * 1998-11-03 2003-07-31 St Microelectronics Gmbh Leitungsfehlerprüfschaltung für ein elektrisches Datenübertragungssystem
US7012927B2 (en) 2001-02-06 2006-03-14 Honeywell International Inc. High level message priority assignment by a plurality of message-sending nodes sharing a signal bus
US7333504B2 (en) * 2001-03-08 2008-02-19 Honeywell International Inc. Simultaneous serial transmission of messages with data field arbitration
US20040073721A1 (en) * 2002-10-10 2004-04-15 Koninklijke Philips Electronics N.V. DMA Controller for USB and like applications
US7290169B2 (en) 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
US7296181B2 (en) 2004-04-06 2007-11-13 Hewlett-Packard Development Company, L.P. Lockstep error signaling
US7237144B2 (en) 2004-04-06 2007-06-26 Hewlett-Packard Development Company, L.P. Off-chip lockstep checking
US7590823B1 (en) 2004-08-06 2009-09-15 Xilinx, Inc. Method and system for handling an instruction not supported in a coprocessor formed using configurable logic
US7590822B1 (en) 2004-08-06 2009-09-15 Xilinx, Inc. Tracking an instruction through a processor pipeline
US7346759B1 (en) 2004-08-06 2008-03-18 Xilinx, Inc. Decoder interface
US7546441B1 (en) 2004-08-06 2009-06-09 Xilinx, Inc. Coprocessor interface controller
US7243212B1 (en) * 2004-08-06 2007-07-10 Xilinx, Inc. Processor-controller interface for non-lock step operation
DE102005037222A1 (de) * 2004-10-25 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Auswertung eines Signals eines Rechnersystems mit wenigstens zwei Ausführungseinheiten
EP1812858B1 (de) * 2004-10-25 2008-09-03 Robert Bosch Gmbh Verfahren und vorrichtung zur erzeugung eines modussignals bei einem rechnersystem mit mehreren komponenten
DE102004058288A1 (de) * 2004-12-02 2006-06-08 Robert Bosch Gmbh Vorrichtung und Verfahren zur Behebung von Fehlern bei einem Prozessor mit zwei Ausführungseinheiten
EP1712996A1 (en) * 2005-04-15 2006-10-18 STMicroelectronics S.r.l. Method and system for configuring registers in microcontrollers, related microcontroller and computer program product
US7769932B2 (en) * 2005-09-09 2010-08-03 Honeywell International, Inc. Bitwise arbitration on a serial bus using arbitrarily selected nodes for bit synchronization
DE102006002824B4 (de) 2006-01-19 2008-10-09 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zur Umwandlung mehrkanalig vorliegender Nachrichten in eine einkanalige sichere Nachricht
US7680144B2 (en) * 2006-09-12 2010-03-16 Honeywell International Inc. Device coupled between serial busses using bitwise arbitration
JP5308629B2 (ja) * 2007-03-26 2013-10-09 ルネサスエレクトロニクス株式会社 マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法
US8140629B2 (en) * 2008-09-30 2012-03-20 Pivot Solutions, Inc. System and method for processing instant messages
JP5404437B2 (ja) * 2010-01-13 2014-01-29 株式会社東芝 安全出力装置
RU2453079C2 (ru) * 2010-08-17 2012-06-10 Елена Геннадиевна Тимофеева Устройство для контроля и резервирования информационной системы
CN103901772B (zh) * 2014-04-23 2016-04-13 哈尔滨工业大学 双dsp冗余惯性平台控制器
US10078565B1 (en) * 2016-06-16 2018-09-18 Xilinx, Inc. Error recovery for redundant processing circuits
GB2575668B (en) 2018-07-19 2021-09-22 Advanced Risc Mach Ltd Memory scanning operation in response to common mode fault signal

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3517174A (en) * 1965-11-16 1970-06-23 Ericsson Telefon Ab L M Method of localizing a fault in a system including at least two parallelly working computers
US3559167A (en) * 1968-07-25 1971-01-26 Ibm Self-checking error checker for two-rail coded data
US3602886A (en) * 1968-07-25 1971-08-31 Ibm Self-checking error checker for parity coded data
FR2182259A5 (no) * 1972-04-24 1973-12-07 Cii
US3859513A (en) * 1973-02-28 1975-01-07 Univ Washington Switching and digital system
US4020460A (en) * 1975-11-13 1977-04-26 Ibm Corporation Method and apparatus of checking to determine if a signal is present on more than one of n lines
DE2612100A1 (de) * 1976-03-22 1977-10-06 Siemens Ag Digitale datenverarbeitungsanordnung, insbesondere fuer die eisenbahnsicherungstechnik
US4070648A (en) * 1976-06-18 1978-01-24 Ncr Corporation Computer to computer communication system
US4228496A (en) 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
SE397013B (sv) * 1976-12-17 1977-10-10 Ellemtel Utvecklings Ab Sett och anordning for att overfora datainformationer till tva parallellt arbetande datamaskindelar
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4270168A (en) * 1978-08-31 1981-05-26 United Technologies Corporation Selective disablement in fail-operational, fail-safe multi-computer control system
DE3003291C2 (de) * 1980-01-30 1983-02-24 Siemens AG, 1000 Berlin und 8000 München Zweikanalige Datenverarbeitungsanordnung für Eisenbahnsicherungszwecke
US4342112A (en) * 1980-09-08 1982-07-27 Rockwell International Corporation Error checking circuit
US4412282A (en) * 1980-12-29 1983-10-25 Gte Automatic Electric Labs Inc. Microprocessor control circuit
US4453215A (en) * 1981-10-01 1984-06-05 Stratus Computer, Inc. Central processing apparatus for fault-tolerant computing
DE3377541D1 (en) * 1982-06-03 1988-09-01 Lucas Ind Plc Control system primarily responsive to signals from digital computers
US4541094A (en) * 1983-03-21 1985-09-10 Sequoia Systems, Inc. Self-checking computer circuitry
WO1985002698A1 (en) * 1983-12-12 1985-06-20 Parallel Computers, Inc. Computer processor controller
US4700346A (en) 1985-05-10 1987-10-13 Tandem Computers Incorporated Self-checking, dual railed, leading edge synchronizer

Also Published As

Publication number Publication date
JPS6231441A (ja) 1987-02-10
US4785453A (en) 1988-11-15
JPH0792765B2 (ja) 1995-10-09
NO174406C (no) 1994-04-27
EP0201356A2 (en) 1986-11-12
ATE81412T1 (de) 1992-10-15
DE3686901T2 (de) 1993-02-18
EP0201356A3 (en) 1988-11-30
CA1259415A (en) 1989-09-12
AU5720486A (en) 1986-11-13
NO861863L (no) 1986-11-11
EP0201356B1 (en) 1992-10-07
AU568977B2 (en) 1988-01-14
DE3686901D1 (de) 1992-11-12

Similar Documents

Publication Publication Date Title
NO174406B (no) System for aa sikre dataintegritet
US5226152A (en) Functional lockstep arrangement for redundant processors
US5600784A (en) Fault resilient/fault tolerant computing
EP0306244B1 (en) Fault tolerant computer system with fault isolation
EP0306209B1 (en) Dual rail processors with error checking at single rail interfaces
US5640508A (en) Fault detecting apparatus for a microprocessor system
JPH0812621B2 (ja) 情報転送方法及び装置
JPH079625B2 (ja) フォールトトレラントな能力を備えたコンピュータ
US6785763B2 (en) Efficient memory modification tracking with hierarchical dirty indicators
US6961826B2 (en) Processor state reintegration using bridge direct memory access controller
KR100566340B1 (ko) 정보 처리 장치
US6950907B2 (en) Enhanced protection for memory modification tracking with redundant dirty indicators
JP3748117B2 (ja) 鏡像化メモリ用エラー検出システム
US6785777B2 (en) Control logic for memory modification tracking with hierarchical dirty indicators
CN109491842B (zh) 用于故障安全计算系统的模块扩展的信号配对
US6981172B2 (en) Protection for memory modification tracking
JPH0916535A (ja) マルチプロセッサ計算機
JPH0498326A (ja) マイクロプロセッサ
JPH02146643A (ja) 記憶装置
JPS63113641A (ja) パイプライン結合されたメモリサイクルをもつデイジタルデ−タ処理装置

Legal Events

Date Code Title Description
MM1K Lapsed by not paying the annual fees

Free format text: LAPSED IN NOVEMBER 2001