[go: up one dir, main page]

SE502576C2 - Feltolerant kösystem - Google Patents

Feltolerant kösystem

Info

Publication number
SE502576C2
SE502576C2 SE9303932A SE9303932A SE502576C2 SE 502576 C2 SE502576 C2 SE 502576C2 SE 9303932 A SE9303932 A SE 9303932A SE 9303932 A SE9303932 A SE 9303932A SE 502576 C2 SE502576 C2 SE 502576C2
Authority
SE
Sweden
Prior art keywords
pointer
test
memory
pointers
list
Prior art date
Application number
SE9303932A
Other languages
English (en)
Other versions
SE9303932D0 (sv
SE9303932L (sv
Inventor
Tord Lennart Haulin
Original Assignee
Ellemtel Utvecklings Ab
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 Ellemtel Utvecklings Ab filed Critical Ellemtel Utvecklings Ab
Priority to SE9303932A priority Critical patent/SE502576C2/sv
Publication of SE9303932D0 publication Critical patent/SE9303932D0/sv
Priority to TW083110275A priority patent/TW278157B/zh
Priority to US08/339,672 priority patent/US5602988A/en
Priority to EP95903068A priority patent/EP0730764B1/en
Priority to DE69427129T priority patent/DE69427129T2/de
Priority to PCT/SE1994/001119 priority patent/WO1995014970A2/en
Priority to AU12067/95A priority patent/AU681220B2/en
Priority to CA002176471A priority patent/CA2176471A1/en
Priority to JP7515003A priority patent/JPH09506452A/ja
Priority to KR1019960702770A priority patent/KR100301719B1/ko
Priority to BR9408131A priority patent/BR9408131A/pt
Priority to DK95903068T priority patent/DK0730764T3/da
Priority to ES95903068T priority patent/ES2155882T3/es
Priority to CN94194287A priority patent/CN1045675C/zh
Publication of SE9303932L publication Critical patent/SE9303932L/sv
Publication of SE502576C2 publication Critical patent/SE502576C2/sv
Priority to FI962202A priority patent/FI962202A7/sv
Priority to NO962120A priority patent/NO962120D0/no
Priority to AU26188/97A priority patent/AU693056B2/en
Priority to US08/964,094 priority patent/US6088817A/en
Priority to GR20010400643T priority patent/GR3035795T3/el

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Plural Heterocyclic Compounds (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Indole Compounds (AREA)

Description

502 576 2 som kan repareras genom inkoppling av reservkretsar, bestäms typen av tillverkningsfel och reparationen genomförs.
Vid halvledarminnen utan redundans bestäms mappning mellan adress och fysisk position i minnet under konstruktion av min- net. Vid halvledarminnen med redundans inställs denna mappning delvis under konstruktionen, och slutförs under tillverkning när felaktiga minnesställen skall repareras.
Vid diskminnen används en provningsprocedur, innan disken tas i bruk, under en formateringsoperation för att bestämma vilka sektorer på disken som kan användas. Syftet är att kunna använda en disk med dåliga sektorer. Den felhypotes, från vilken man utgår, är att vissa positioner på disken kan vara dåliga på grund av att tillverkningen ej är perfekt. Uppdelningen i bra och dåliga sektorer kan ske under formateringsprocessen och antas ej behöva ändras. Risken för diskadresseringsfel behöver ej beaktas under formateringsproceduren.
I vissa system används felkorrigeringskoder (ECC = Error Correcting Codes) för att åstadkomma feltolerans mot bitfel under drift. Dessa under drift uppträdande fel kan vara mjuka eller hårda fel, dvs temporära störningar eller fasta fel.
Antalet bitar som kan korrigeras i varje ord är begränsat. Den oftast använda koden kan korrigera enkelbitfel och detektera dubbelbitfel. Nyligen har det visats att en kombination av felkorrigeringskoder och reservrader ger ett feltoleranssystem, som har en mycket höggradig reparerbarhet av tillverkningsfel i halvledarminnen, jfr IEEE transactions on computers vol. 41 #9 Sep 1992, pp 1078-1087.
Reparation av anordningar innan de lämnar tillverkningen kräver provningsapparatur och utrustning för säkringsprogram- mering (varaktig förändring av förbindelser i en elektrisk krets för att påverka dess funktion - eng. fuse or antifuse), på tillverkningslinjen i fabriken, samt en tillverkningsprocess, som innefattar säkringskomponenter. Detta innebär ökade kost- nader på grund av förlängning av tillverkningscykeln. Graden av framgång med reparationsoperationerna begränsas av att de bygger på användningen av reservrader- och kolumner, samt inflexibili- teten med avseende på hantering av spridda punktfel.
Utnyttjande av felkorrigeringskoder tar hand om de spridda punktfelen. För full effektivitet krävs emellertid kombination 502 576 3 med någon sort av system med redundanta rader. Enligt teknikens ståndpunkt innebär detta säkringsprogrammering och provning innan kretsarna lämnar fabriken.
US 4,049,956 utgör exempel på teknikens ståndpunkt vad avser felupptäckt under drift, och beskriver övervakning av ett minne arbetande i en tidsmultiplexmod. Inkommande dataord lagras temporärt i respektive steg hos ett flerstegsminne och utläses därifrån för vidare bearbetning. Provningen utförs utan att minnet tas ur normal verksamhet. Minnet består av n antal steg, vilka periodiskt adresseras i en återkommande scanningscykel av n tidsluckor, i vilka binära ord inskrivs och utläses från respektive steg. Ord inskrivna i ett minnessteg utläses i den omedelbart påföljande cykeln. Felfunktioner detekteras via paritetscheckningar.
US 3,863,227 beskriver val och provning av vart och ett av individuella elektroniska styrelement, som används för access av de olika kärnelementen i ett kärnminne, medan minnet är "on- line". Det rör sig sålunda om "on-line"-provning av ett minnes- system, men inte av de i minnet ingående minneslagringselemen- ten. Ingen använding av paritetskontroller beskrivs.
US 5,016,248 beskriver ett kösystem för pakettrafik utan omnämnande av eventuell initialisering eller underhåll.
Redogörelse för uppfinningen.
Ett första syfte med föreliggande uppfinning är att åstad- komma feltolerans genom ett löpande underhåll av pekarhantering- en i ett kösystem med dynamisk indirekt adressering så att systemet alltid har förmågan att återställa en korrekt uppsätt- ning pekare oberoende av vilket tillstånd systemet har hamnat i.
Ett andra syfte är att uppnå feltolerans mot fel i minnen, som kan uppstå under drift av systemet.
Ett tredje syfte med uppfinningen är att förbättra utbytet vid tillverkning av stora halvledarminnen genom organisering och användning av redundanta kretsar på ett nytt sätt. Genom ut- nyttjande av feltolerans kan minnen med smärre tillverkningsfel ändå fungera felfritt och behöver ej kasseras. Genom lämplig inställning av kassationströskeln under provningsproceduren, så att reservkapacitet kvarstår, kan minneshanteringssystemet även återhämta sig från fel som uppträder under drift. 502 576 4 Ovanstående syften uppnås enligt uppfinningen genom att vid ett kösystem av inledningsvis definierat slag lagringspositio- nerna underkastas en provningsprocedur, vilken genomförs perio- diskt på varje lagringsposition under lediga cykler under drift av systemet, och vars resultat används för underhåll av ledig- listan, varvid de för provningen utvalda adresserna styrt av systemet frigörs från systemanvändning.
Föredragna och/eller fördelaktiga utföringsformer av upp- finningen har därvid, av skäl som kommer att framgå av nedan- stående närmare beskrivning, erhållit de i respektive underkrav angivna kännetecknen.
Minneshanteringssystemet enligt uppfinningen åstadkommer dynamisk tolerans för tillverkningsfel när systemet är i drift.
Provning och reparation genom rekonfigurering i fabriken krävs ej. Provning sker efter fullbordad tillverkning för att bestämma huruvida minnet har tillräcklig lagringskapacitet eller inte för den avsedda tillämpningen.
Figurbeskrivninq.
Uppfinningen skall nu beskrivas närmare med hänvisning till ett på bifogade ritning visat utföringsexempel, varvid fig. 1 schematiskt åskådliggör ett kösystem enligt uppfin- ningen, fig. 2 delvis i blockschemaform visar en utföringsform av en paketväljare, vid vilken uppfinningens olika apsekter tillämpas, fig. 3 visar ett flödesschema över huvudarbetsmoder ingående i en underhållsfunktion för provning av adresspekare och buf- fertminnespositioner vid paketväljaren enligt fig. 2, samt fig. 4-7 visar flödesscheman för respektive moder i fig. 3.
Föredraqna utförinqsformer.
I fig. 1 åskådliggörs mycket schematiskt ett kösystem för val av lagringspositioner i ett dataminne 2 för utförande av skrivo- perationer, pil 4, på dessa från en on-line underhållen ledig- lista 6 av adresser till lediga lagringspositioner i minnet 2, samt kalkylering av adresser för att hämta, pil 8, tidigare i minnet 2 lagrade data. Sistnämnda adresser överförs, pil 10, till listor 12 över använt lagringsutrymme i minnet 2.
Enligt uppfinningen underkastas minnets lagringspositioner 502 576 med hjälp av en testlogik 14 en provningsprocedur, som genomförs periodiskt, pil 16, på varje lagringsposition under lediga cykler under drift av systemet. De för provning avsedda positio- nerna väljs, pil 18, med hjälp av de i listorna 12 ingående adresserna, varvid de utvalda positionerna styrt av systemet frigörs från systemanvändning. Resultatet av provningen används för underhåll, pil 20, av lediglistan 6.
Provningen av en lagringsposition kan ske efter avvaktan av att den skall friges från bruk av systemet. Alternativt kan adresser till för provning avsedda lagringspositioner frigöras genom kopiering av innehållet hos en sådan, för provning avsedd lagringsposition till en ledig och felfri, ny lagringsposition.
Adresskalkyleringen omriktas därpå för användning av denna nya lagringsposition.
I båda fallen återförs slutligen provad lagringsposition till systembruk, dvs till lediglistan 6, endast om den klarar prov- ningen. Lagringspositioner som inte klarat provningen omprovas vid tillfällen då hela det minnesblock, som innehåller lagrings- positionen ifråga, frigörs från användning i systemet.
Minnesprovningslogiken 14 för genomförande av provningen av en given lagringsposition kan företrädesvis arbeta i två moder.
I den första moden provas alla adresser i en av logiken styrd off-line-provning, under vilken räkning sker av antalet lag- ringspositioner med rättningsbara fel, och där befintliga icke rättningsbara fel indikeras.
Vid denna komponentprovning utförs ett fullständigt minne- sprov med exempelvis s.k. "march patterns", jfr t.ex. "Using March Tests to Test SRAMS", AD J van de Goor, IEEE Design & Tests of Computers, March 93, vol 10, no 1, and "Built in Self Diagnosis for Repairable Embedded RAM:S, Robert Trenter et al, IEEE Design & Tests of Computers, June 93, vol 10, no 2. Detta görs för att sortera bort icke fungerande kretsar. Eftersom kösystemet enligt uppfinningen erbjuder ett visst mått av felto- lerans, kan även kretsar med felaktiga lagringspositioner klas- sas som korrekta. Därför registreras antalet fel under prov- ningen. Om antalet fel är lägre än den uppsatta kassationströs- keln godkänns komponenten.
I den andra moden, som verkar on-line, kontrollerar logiken endast data till det för tillfället provade minnesstället, 502 576 6 och andra lagringspositioner bringas att arbeta med data under normal drift adresstyrt av systemet.
En utföringsform av uppfinningen skall nu beskrivas mera detaljerat. Med hänvisning till fig. 2, skrivs i en typ av paketväljare ett inkommande paket, efter analys av innehållet i paketets huvud i en analysfunktion 30, in på en lagringsposition i ett för de anländande paketen gemensamt buffertminne 32. Buf- fertminnet 32 visas schematiskt med ett inkommande paketflöde 34 och ett antal utkanaler 36.1.,.36.n för utgående paketflöden från väljaren. Flödet av data till analysfunktionen 30 för att möjliggöra dess funktion har därvid betecknats med 34'. Inskriv- ningen sker med ledning av en adresslista 38, vilken innehåller adresspekare, vilka pekar till motsvarande lediga lagringsposi- tioner i buffertminnet 32. Denna adresslista benämns nedan i korthet även "lediglista". Analysfunktionen 30 beordrar närmare bestämt med signal enligt pil 39 lediglistan 38 dels att till- handahålla en pekare för ett aktuellt paket, och dels att efter inskrivning, signalerad enligt pil 40 från lediglistan 38 till buffertminnet 32, av paketet i buffertminnet med ledning av pekaren, överföra den senare till ett pekarkösystem innehållande ett antal fifo-pekarköer 44, en för varje utgång 36. Pekaren flyttas således närmare bestämt enligt pil 42 från lediglistan 38 till en fifo-pekarkö 44.n för en väljarutgång 36.n, som utvalts för paketet med ledning av analysen av innehållet i dess huvud. Valet av pekarkö sker genom en styrsignal 45 från analys- funktionen 30 till aktuell pekarkö.
Ett inkommande pakets huvud kan innehålla flera destinations- adresser, dvs paketets innehåll skall skickas till flera väljar- utgångar. I detta fall kopieras pekaren till den utvalda lag- ringspositionen i buffertminnet 32 så att lika många pekare som det aktuella antalet väljarutgångar erhålles. Nedan används även benämningen "multipelpekare" för en pekare i en sådan uppsätt- ning pekare, som pekar till samma lagringsposition i buffert- minnet 32. Dessa multipelpekare leds till varsin av pekarköerna för de aktuella utgångarna.
När en pekare, dvs. en enstaka pekare eller en multipelpeka- re, hamnat först i sin fifo-kö 44.n, läses det av pekaren ut- pekade datapaketet enligt pil 46.n med ledning av pekaren ut från sin lagringsposition i buffertminnet 32 till den aktuella 502 S76 utgången 36.n.
Pekaren återleds enligt pilar 48 och 50 därefter till ledig- listan 38 via en nedan närmare beskriven underhållsfunktion 52, som övervakar pekare, som återförs till lediglistan 38. Närmare bestämt flyttas pekaren till lediglistan om den ej utväljs för test av underhållsfunktionen 52.
I underhållsfunktionen 52 hanteras kopior av samma pekare på ett kontrollerat sätt. Detta sker närmare bestämt genom använd- ning av en i underhållsfunktionen 52 ingående multipekarlista 56 där antalet i systemet ingående kopior av respektive pekare registreras, varvid underhållsfunktionen 52 kontrollerar att antalet kopior av en pekare stämmer överens med det värde som finns registrerat i multipekarlistan 56 för respektive pekare.
I nedan mer detaljerade beskrivning av utföringsformer av uppfinningen används benämningen x på en pekare under test, där x tillhör mängden av alla pekare. I motsvarighet härtill be- tecknas den buffertminnesposition i buffertminnet 32, som ut- pekas av pekaren x, med B(x).
Underhållsfunktionen 52 utför, på nedan närmare beskrivet sätt, provning av buffertminnespositioner B(x). För detta ända- mål överförs pekaren x till en testlogik 58 för buffertminnet 32 enligt pil 60'. Resultatet av testoperationen på buffertminnes- positionen B(x) signaleras från testlogiken 58 till underhålls- funktionen 52 enligt pil 60".
Det kommer likaledes att framgå närmare av den följande beskrivningen att om denna provning indikerar felfunktion hos en minnesposition spärras motsvarande pekare ut från användning i systemet och tillförs en spärrlista 62, som likaledes ingår i underhållsfunktionen 52. Listorna för multipelt använda, och utspärrade pekare kan även kombineras till en lista.
Närmare bestämt kontrollerar underhållsfunktionen 52 cykliskt alla pekarna och tillhörande buffertplatser, en i sänder, före- gånget av en initieringsprocedur. Med "alla" pekare avses här alla pekare som skall finnas i systemet, dvs pekare, som be- finner sig i lediglistan 38, i utköerna 44, i multipekarlistan 56 och i spärrlistan 62. Under initieringsproceduren tas varje pekarvärde, ett i sänder, ur drift för att dels kontrollera att kösystemets 38, 44 hantering av pekaren är korrekt och dels för att kontrollera den datalagringsarea B(x) i buffertminnet 32, 502 576 8 som identifieras av pekaren i fråga.
Under initieringsproceduren töms kösystemet 38, 44 på pekaren under test och alla eventuella kopior av densamma, varefter kontroll sker av att antalet funna kopior stämmer överens med värdet i multipekarlistan 56 för pekaren under test.
Underhållsfunktionen 52 kan därefter arbeta enligt en enda eller flera arbetsmoder. Oavsett vilket alternativ som gäller utgör initieringsproceduren första moment i varje sådan arbets- mode.
Med hänvisning till fig. 3 kan det vid en utföringsform av fallet flera arbetsmoder finnas fyra nivåer 70, 72, 74 och 76 av underhållsfunktionen 52. Den lägsta nivån 70 benämns nedan "Pekarkonditionering" och befattar sig endast med cirkulationen av pekare. De andra tre är utvidgade med olika läs/skriv-prov- ningar av buffertminnet 32.
Som nämnts, töms under initieringsproceduren kösystemet 38, 44 på alla eventuella kopior av pekaren x. I icke-realtidssystem kan detta åstadkommas på många olika sätt. I realtidssystem är man i allmänhet hänvisad till att arbeta endast med pekare som returneras till lediglistan 38.
För att tömma ett realtidskösystem av ovan beskrivet slag på pekaren x måste först lediglistan 38 tömmas på alla eventuella kopior av den. Detta sker genom att filtrera ut pekaren x från flödet 48 av returnerade pekare, moment 78 i fig. 4-7, så att den hindras från att skrivas in på lediglistan 38. Denna ut- filtrering möjliggörs närmare bestämt genom att underhållsfunk- tionen 52 enligt pil 78' avger en signal till lediglistan 38 att sätta markör för den pekare, som för tillfället är sist i ledig- listan. Med en signal 78" erhåller därefter underhållsfunktionen 52 information om att markören kommit längst fram i lediglistan 38. När alla pekare som fanns i lediglistan 38 vid filtreringens början, utgetts till ut-köerna 44, är lediglistan 38 med säker- het tömd på alla pekare x.
Därefter måste ut-köerna 44 tömmas på eventuella kopior av pekaren x. Denna tömning möjliggörs närmare bestämt genom att underhållsfunktionen 52 enligt pil 79' avger en signal till utköerna 44 att sätta markör för de pekare, som för tillfället är sist i respektive utkö. Med en signal enligt pil 79" erhåller därefter underhållsfunktionen 52 information från utköerna att soz 576 9 de sålunda markerade pekarna hamnat först i resp. kö. Sålunda inväntar underhållsfunktionen 52, under fortsatt utfiltrering av pekare x från flödet 48 av returnerade pekare, att de pekare som låg sist i ut-köerna 44 då tömningen av lediglistan 38 full- bordats, skall hamna först i kön. När den långsammaste kön uppfyllt detta kriterium är systemet tömt på pekaren x. Därefter kontrolleras, moment 80 i fig. 5-7, att antalet returnerade pekare stämmer överens med värdet för pekare x i multipekarlis- tan 56. Om detta ej är fallet, genereras en pekarfelsignal.
Denna felsignal leder till något olika åtgärder beroende på vilken underhållsmode som exekveras. I alla moder utom moden "Pekarkonditionering" spärras pekarvärdet ut och en ej närmare visad felräknare stegas upp, moment 82 i fig. 5-7. Om fler än ett antal a fel påträffas, moment 84 i fig. 5-7, avbryts på- gående underhållsmode, felräknaren nollställs och hopp sker till moden "Pekarkonditionering", pil 86 i fig. 5-7. a är den önskade graden av tolerans mot fel i multipekarlistan 56. I moden "Pe- karkonditionering" leder pekarfelsignalen inte till någon åt- gärd, jfr fig. 4.
Vid start av systemet bör en korrekt pekaruppsättning göras tillgänglig för kösystemet så snabbt som möjligt. Därför initi- eras proceduren "Pekarkonditionering". Detta kan ske antingen som resultat av att pekarfel uppträder enligt ovan, eller genom aktivering genom en extern signal. Med pekarfel avses här och fortsättningsvis att, såsom ovan beskrivits, antalet under initieringsproceduren returnerade kopior av en pekare inte överensstämmer med det för pekaren ifråga angivna antalet i multipekarlistan. Så snart som en pekare har blivit kontrollerad införs den i lediglistan 38 och kan användas för köande paket.
När alla pekare har konditionerats exekveras nästa under- hållsnivå 72, nedan även benämnd "Snabbtest", för alla pekarna.
Därefter övergår underhållsfunktionen 52 till underhållsnivå 74, nedan även benämnd "Fulltest“, varpå exekvering påbörjas av underhållsnivå 76 "Fulltest med omtest" som är det löpande drifttillståndet, vilket dock kan avbrytas om pekarfel uppträ- der.
Om fler felaktiga pekare (multipla eller förlorade pekare) än a upptäcks, kommer underhållsfunktionen 52, såsom likaledes beskrivits ovan, alltid att återstarta med "Pekarkonditione- 502 576 ring", oberoende av vilken av de övriga underhållsmoderna som exekveras; Detta antyds i fig. 3, liksom i fig. 5-7, med pilarna 86.
Moden 70 "Pekarkonditionering" återför, med hänvisning till fig. 4, moment 88, varje pekare x till lediglistan 38, åter- ställer värdet i multipekarlistan 56 till "inga multipelkopior", samt i spärrlistan 62 till "ingen utspärrning". När sista pekare behandlats, jfr moment 90, nollställs pekarfelräknaren, moment 92. Moden 70 övergår därefter i moden 72, pil 94.
Moden 72 "Snabbtest" aktiveras således, med hänvisning till fig. 5, av att den första moden 70 genomlöpts för alla pekare.
Initieringsproceduren utförs därpå åter på pekarna och ett enkelt skriv- och lästest on-line, moment 96, utförs på buffert- minnespositioner B(x), som identifieras av pekare x. Om så anses erforderligt kan detta test utföras efter köande med låg eller lägsta prioritet bland de operationer, som kan utföras på buf- fertminnet. Resultatet av skriv- och lästesten används så att aktuell pekare returneras till lediglistan 38 om provningen gav korrekt resultat, men spärras ut från användning i systemet och införs i spärrlistan 62 om provningen indikerar felfunktion inom området som identifieras av pekaren i fråga. Efter sista pekare övergår provningen till moden 74, jfr moment 98 och pil 100.
Till skillnad mot den tidigare ovan beskrivna off-line provningen, där testlogiken 14 i fig. 1 styr och kontrollerar allt data och alla adresser till minnet, har testlogiken 58 i fig. 2 vid on-line provning endast skriv- och läsrättigheter till de adresspositioner som frigjorts från systemanvändning genom initieringsproceduren, där systemet töms på ett pekarvär- de. Vidare är testlogiken i allt vad som beskrivs fortsättnings- vis, hänvisad till att arbeta endast då inga högre prioriterade systemoperationer mot minnet är aktuella. I det enkla skriv- och lästestet i moden 72 enligt fig. 5 skrivs först ett första bitmönster in i de adresspositioner som identifieras av den frigjorda pekaren. Så snart detta skett läses dessa positioner för att kontrollera att minnescellerna kan lagra detta första bitmönster. Därefter repeteras förloppet en andra gång, denna gång med ett andra bitmönster som är inversen av det första mönstret. Om läsdata ej motsvarar skrivdatat genereras signalen 60" i fig. 2 i form av en felsignal. 502 576 ll Den tredje arbetsmoden 74 "Fulltest" aktiveras, med hän- visning till fig. 6, av att den andra moden 72 genomlöpts för alla pekare och inleds med att initieringsproceduren utförs ånyo på de av moden 72 icke utspärrade pekarna. Därefter köas en buffertminnesprovning, för detektering av typer av felfunktio- ner, som ej upptäcks av den enkla skriv- och lästesten i den andra arbetsmoden, upp med lägsta prioritet för utförande på de buffertminnespositioner B(x), vilka ej är utspärrade, jfr moment 102 och 104. Därvid exerceras, dvs skrivs och läses, dessa minnespositioner med provningsdata, medan samtliga övriga, icke utspärrade buffertminnespositioner exerceras, dvs skrivs och läses, med systemdata under provningen för varje utspärrad peka- re. Resultatet av provningen används så att pekaren returneras till lediglistan 38 om buffertminnesprovningen gav korrekt resultat, men spärras ut från användning i systemet och införs i spärrlistan 62 om buffertminnesprovningen indikerar felfunktion hos det område som identifieras av pekaren. Efter sista pekare övergår provningen till moden 76, jfr moment 106 och pil 108.
Vid fullständig on-line provning enligt den tredje arbets- moden 74 skall också fel i adresseringslogiken upptäckas. Nor- malt kräver detta att data skilt från datat i minnespositionen B(x) inskrivs i samtliga andra adresser. Enligt uppfinningen skrivs systemdata in och läses ut från de andra icke utspärrade positionerna. Detta fyller samma funktion som det styrda datat vid tidigare ovan beskrivna off-line test. Den risk som finns för att ett adresseringsfel undgår upptäckt genom att systemet råkar skriva in samma data som testlogiken använder för testet, på en adress som har ett adressavkodningsfel som överlappar minnespositionerna under test, minimeras genom att alla tester kontinuerligt upprepas, och en felupptäckt räcker för att spärra ut pekaren. Testlogiken inväntar därför att systemdata inskri- vits i alla övriga använda positioner innan läskontrollen ut- förs.
Den fjärde arbetsmoden 76 "Fulltest med omtest" aktiveras således, med hänvisning till fig. 7, av att den tredje moden 74 genomlöpts för alla pekare. Även de tidigare utspärrade pekarna accepteras därpå för provning, genom att nämnda initieringspro- cedur utövas cykliskt för samtliga pekare, en i sänder. Därpå appliceras en buffertminnesprovning av samma slag som i den 502 576 12 tredje moden på icke utspärrade pekare, moment 110 och 112.
Tidigare utspärrade pekare underkastas samma typ av buffert- minnesprovning villkorat med att varje provningsdataoperation hålls kvar i kön så länge systemdata finns lagrat någonstans i det buffertminnessegment som innehåller den lagringsarea B(x), vilken identifieras av den tidigare utspärrade pekaren x, moment 114. Resultatet av provningen används på samma sätt som i den tredje moden för icke utspärrade pekare och underkända prov- ningar av tidigare utspärrade pekare, medan tidigare utspärrade pekare returneras till lediglistan 38 först efter att ha god- känts i ett antal konsekutiva provningar som definieras av ett gränsvärdesantal ß.
Den fjärde arbetsmoden 76 bygger på insikten att i kontinuer- lig drift måste också den risken beaktas att adresseringsfel från minnespositionen under test kan korrumpera systemdata.
Därför tillåts ingen skrivning från testlogiken i tidigare utspärrade positioner förrän hela det segment inom vilket adres- seringsfel kan uppstå, har tömts på systemdata. Därefter in- väntas, som i den tredje arbetsmoden, skrivning med systemdata i alla andra positioner. Eftersom även läsoperationer kan korrum- pera data i felaktiga minnen, inväntas ånyo tömning av system- data från minnessegmentet innan läskontroll utföres på de buf- fertpositioner, som identifieras av den tidigare utspärrade pekaren, nu under förnyad test.
Vid en utföringsform av fallet en enda arbetsmode rör det sig väsentligen om en sammanslagning av de två sista arbetsmoderna enligt fig. 6 och 7.
Närmare bestämt köas efter initieringsproceduren en provning för buffertminnet 32 upp med lägsta prioritet för utförande på buffertminnespositioner, som identifieras av icke utspärrade pekare, jfr moment 102 och 104 i fig. 6. Dessa minnespositioner exerceras med provningsdata. Samtliga övriga, icke utspärrade buffertminnespositioner exerceras med systemdata under prov- ningsproceduren. Därefter används resultatet av provningen så att pekaren returneras till lediglistan 38 om buffertminnesprov- ningen gav korrekt resultat, men spärras ut från användning i systemet om buffertminnesprovningen indikerar felfunktion hos det område som definieras av pekaren.
Spärrade pekare tillförs spärrlistan 62 och underkastas samma 502 576 13 typ av buffertminnesprovning villkorat med att varje provnings- dataoperation hålls kvar i kön så länge systemdata finns lagrat någonstans i det buffertminnessegment som innehåller de positio- ner som identifieras av spärrade pekare, jfr moment 114 i fig. 7. Därefter används resultatet av provningen så att pekaren returneras till lediglistan 38 om buffertminnesprovningen gav korrekt resultat. Utspärrade pekare däremot returneras till lediglistan 38 först efter att ha godkänts i ett antal konseku- tiva provningar, större än gränsvärdet ß.

Claims (5)

502 576 14 Patentkrav.
1. Kösystem för val av lagringspositioner i ett minne (2) för utförande av skrivoperationer (4) på dessa från en on-line underhållen lediglista (6) av adresser till lediga lagringsposi- tioner i minnet, samt kalkylering av adresser för att hämta (8) tidigare i minnet lagrade data, kännetecknat av att lagrings- positionerna underkastas en provningsprocedur (16), vilken genomförs periodiskt på varje lagringsposition under lediga cykler under drift av systemet, och vars resultat används för underhåll av lediglistan (6), varvid de för provningen utvalda adresserna styrt av systemet frigörs från systemanvändning.
2. System enligt krav 1, kännetecknat av att provning av en lagringsposition (34) sker efter avvaktan av att den skall friges från bruk av systemet, och återföring till systembruk sker endast om lagringspositionen klarar provningen.
3. System enligt krav 1, kännetecknat av att adresser till lagringspositionerna frigörs genom kopiering av innehållet hos för provning avsedd lagringsposition till en ledig och felfri lagringsposition, varpå adresskalkyleringen omriktas för an- vändning av den nya lagringspositionen, samt slutligen den provade lagringspositionen återförs till systembruk endast om den klarar provningen.
4. System enligt krav 1, kännetecknat av att lagringspositio- ner som inte klarat en provning omprovas vid tillfällen då hela det minnesblock, som innehåller lagringspositionen ifråga, frigörs från användning i systemet.
5. System enligt krav 1, kännetecknat av att minnesprov- ningslogik för genomförande av provningen av en given lagrings- position har en första mod, där alla adresser provas i en av provnings- logiken styrd off-line-provning, under vilken räkning sker av antalet lagringspositioner med rättningsbara fel, och där be- fintliga icke rättningsbara fel indikeras, samt en andra mod on-line, under vilken minnesprovningslogiken endast kontrollerar data till det för tillfället provade min- nesstället, och andra lagringspositioner bringas att arbeta med data under normal drift adresstyrt av systemet.
SE9303932A 1993-11-26 1993-11-26 Feltolerant kösystem SE502576C2 (sv)

Priority Applications (19)

Application Number Priority Date Filing Date Title
SE9303932A SE502576C2 (sv) 1993-11-26 1993-11-26 Feltolerant kösystem
TW083110275A TW278157B (sv) 1993-11-26 1994-11-07
US08/339,672 US5602988A (en) 1993-11-26 1994-11-14 Fault tolerant queue system
CN94194287A CN1045675C (zh) 1993-11-26 1994-11-23 容错队列系统
JP7515003A JPH09506452A (ja) 1993-11-26 1994-11-23 フォールト・トレラント・キュー・システム
ES95903068T ES2155882T3 (es) 1993-11-26 1994-11-23 Un sistema de colas tolerante a fallos.
PCT/SE1994/001119 WO1995014970A2 (en) 1993-11-26 1994-11-23 A fault tolerant queue system
AU12067/95A AU681220B2 (en) 1993-11-26 1994-11-23 A fault tolerant queue system
CA002176471A CA2176471A1 (en) 1993-11-26 1994-11-23 A fault tolerant queue system
EP95903068A EP0730764B1 (en) 1993-11-26 1994-11-23 A fault tolerant queue system and method therefor
KR1019960702770A KR100301719B1 (ko) 1993-11-26 1994-11-23 고장방지큐시스템
BR9408131A BR9408131A (pt) 1993-11-26 1994-11-23 Sistema de fila e processos para testar posições de armazenamento e para gerenciar indicadores no mesmo
DK95903068T DK0730764T3 (da) 1993-11-26 1994-11-23 Et fejltolerant køsystem
DE69427129T DE69427129T2 (de) 1993-11-26 1994-11-23 Fehlertolerantes warteschlangenvorrichtung und verfahren dafür
NO962120A NO962120D0 (no) 1993-11-26 1996-05-24 Feiltolerant kö-system
FI962202A FI962202A7 (sv) 1993-11-26 1996-05-24 Feltolererande kösystem
AU26188/97A AU693056B2 (en) 1993-11-26 1997-06-20 A faulty tolerant queue system
US08/964,094 US6088817A (en) 1993-11-26 1997-11-04 Fault tolerant queue system
GR20010400643T GR3035795T3 (en) 1993-11-26 2001-04-27 A fault tolerant queue system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9303932A SE502576C2 (sv) 1993-11-26 1993-11-26 Feltolerant kösystem

Publications (3)

Publication Number Publication Date
SE9303932D0 SE9303932D0 (sv) 1993-11-26
SE9303932L SE9303932L (sv) 1995-05-27
SE502576C2 true SE502576C2 (sv) 1995-11-13

Family

ID=20391901

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9303932A SE502576C2 (sv) 1993-11-26 1993-11-26 Feltolerant kösystem

Country Status (17)

Country Link
US (2) US5602988A (sv)
EP (1) EP0730764B1 (sv)
JP (1) JPH09506452A (sv)
KR (1) KR100301719B1 (sv)
CN (1) CN1045675C (sv)
AU (2) AU681220B2 (sv)
BR (1) BR9408131A (sv)
CA (1) CA2176471A1 (sv)
DE (1) DE69427129T2 (sv)
DK (1) DK0730764T3 (sv)
ES (1) ES2155882T3 (sv)
FI (1) FI962202A7 (sv)
GR (1) GR3035795T3 (sv)
NO (1) NO962120D0 (sv)
SE (1) SE502576C2 (sv)
TW (1) TW278157B (sv)
WO (1) WO1995014970A2 (sv)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19742378A1 (de) * 1997-09-25 1999-04-22 Siemens Ag Ringspeicher für eine TDMA-Datenübertragungsstation und entsprechende Datenübertragungsstation
US6778490B1 (en) 1998-05-20 2004-08-17 Nortel Networks Limited Method and apparatus for a fault tolerant router architecture
US6256756B1 (en) * 1998-12-04 2001-07-03 Hewlett-Packard Company Embedded memory bank system
US6363506B1 (en) * 1999-04-13 2002-03-26 Agere Systems Guardian Corp. Method for self-testing integrated circuits
US6606326B1 (en) 1999-07-02 2003-08-12 International Business Machines Corporation Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path
US6510531B1 (en) * 1999-09-23 2003-01-21 Lucent Technologies Inc. Methods and systems for testing parallel queues
US6985455B1 (en) * 2000-03-03 2006-01-10 Hughes Electronics Corporation Method and system for providing satellite bandwidth on demand using multi-level queuing
US6584584B1 (en) * 2000-04-10 2003-06-24 Opentv, Inc. Method and apparatus for detecting errors in a First-In-First-Out buffer
US20020110094A1 (en) * 2001-02-13 2002-08-15 Reddy Naveen S. Spot beam hopping packet scheduler system
US7480239B1 (en) 2001-11-27 2009-01-20 Cisco Technology, Inc. Method and apparatus for true priority based connection establishment within a PNNI ATM network
US7161950B2 (en) * 2001-12-10 2007-01-09 Intel Corporation Systematic memory location selection in Ethernet switches
DE10162046A1 (de) * 2001-12-17 2003-06-26 Thomson Brandt Gmbh Wiedergabegerät mit einem Zwischenspeicher zum Verringern der mittleren Zugriffszeit auf einen Informationsträger
US6781898B2 (en) * 2002-10-30 2004-08-24 Broadcom Corporation Self-repairing built-in self test for linked list memories
US20050071730A1 (en) * 2003-09-30 2005-03-31 Lattice Semiconductor Corporation Continuous self-verify of configuration memory in programmable logic devices
US7532574B1 (en) 2003-10-02 2009-05-12 Cisco Technology, Inc. Method and apparatus for improved priority based connection establishment within a PNNI ATM network
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
WO2006013529A1 (en) * 2004-08-02 2006-02-09 Koninklijke Philips Electronics N.V. Data storage and replay apparatus
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7257750B1 (en) 2005-01-13 2007-08-14 Lattice Semiconductor Corporation Self-verification of configuration memory in programmable logic devices
US7802148B2 (en) * 2005-02-23 2010-09-21 Broadcom Corporation Self-correcting memory system
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
CN101346692B (zh) * 2005-12-29 2011-05-04 英特尔公司 多处理器系统中的高性能队列实现
US7596744B1 (en) 2006-02-24 2009-09-29 Lattice Semiconductor Corporation Auto recovery from volatile soft error upsets (SEUs)
US7562260B2 (en) * 2006-04-04 2009-07-14 International Business Machines Corporation Method and system for performing recovery of a single-threaded queue
US7640386B2 (en) 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7539842B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) * 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US8065574B1 (en) 2007-06-08 2011-11-22 Lattice Semiconductor Corporation Soft error detection logic testing systems and methods
CN101794242B (zh) * 2010-01-29 2012-07-18 西安交通大学 服务于操作系统核心层的容错计算机系统数据比较方法
US10866837B2 (en) * 2018-07-30 2020-12-15 Lendingclub Corporation Distributed job framework and task queue
CN119011623B (zh) * 2024-07-19 2025-10-03 南方电网电力科技股份有限公司 一种基于缓冲区的智能电表数据调度方法及装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3681757A (en) * 1970-06-10 1972-08-01 Cogar Corp System for utilizing data storage chips which contain operating and non-operating storage cells
US3814922A (en) * 1972-12-01 1974-06-04 Honeywell Inf Systems Availability and diagnostic apparatus for memory modules
US3863227A (en) * 1973-09-17 1975-01-28 Gte Automatic Electric Lab Inc Method and arrangement for testing a core memory
US3982111A (en) * 1975-08-04 1976-09-21 Bell Telephone Laboratories, Incorporated Memory diagnostic arrangement
IT1047437B (it) * 1975-10-08 1980-09-10 Cselt Centro Studi Lab Telecom Procedimento e dispositivo per il controllo in linea di memorie logiche sequenziali operanti a divisione di tempo
US4575792A (en) * 1982-03-31 1986-03-11 Honeywell Information Systems Inc. Shared interface apparatus for testing the memory sections of a cache unit
US4479214A (en) * 1982-06-16 1984-10-23 International Business Machines Corporation System for updating error map of fault tolerant memory
US4535455A (en) * 1983-03-11 1985-08-13 At&T Bell Laboratories Correction and monitoring of transient errors in a memory system
US4672583A (en) * 1983-06-15 1987-06-09 Nec Corporation Dynamic random access memory device provided with test circuit for internal refresh circuit
US4841434A (en) * 1984-05-11 1989-06-20 Raytheon Company Control sequencer with dual microprogram counters for microdiagnostics
JPS62250593A (ja) * 1986-04-23 1987-10-31 Hitachi Ltd ダイナミツク型ram
US4809276A (en) * 1987-02-27 1989-02-28 Hutton/Prc Technology Partners 1 Memory failure detection apparatus
FR2625392B1 (fr) * 1987-12-24 1993-11-26 Quinquis Jean Paul Circuit de gestion de pointeurs d'ecriture de files tampons notamment pour commutateur temporel de paquets auto-acheminables
JPH02117243A (ja) * 1988-10-27 1990-05-01 Toshiba Corp パケット通信装置
US5014266A (en) * 1988-12-28 1991-05-07 At&T Bell Laboratories Circuit switching system for interconnecting logical links between packet switching networks
US4953157A (en) * 1989-04-19 1990-08-28 American Telephone And Telegraph Company Programmable data packet buffer prioritization arrangement
JPH0387000A (ja) * 1989-08-30 1991-04-11 Mitsubishi Electric Corp 半導体記憶装置
US5200959A (en) * 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5155844A (en) * 1990-02-14 1992-10-13 International Business Machines Corporation Background memory test during system start up
US5357521A (en) * 1990-02-14 1994-10-18 International Business Machines Corporation Address sensitive memory testing
EP0459001B1 (de) * 1990-05-31 1996-01-24 Siemens Aktiengesellschaft Integrierter Halbleiterspeicher
US5276833A (en) * 1990-07-02 1994-01-04 Chips And Technologies, Inc. Data cache management system with test mode using index registers and CAS disable and posted write disable
JPH04271445A (ja) * 1990-08-02 1992-09-28 Internatl Business Mach Corp <Ibm> メモリ・テスト装置
US5177745A (en) * 1990-09-26 1993-01-05 Intel Corporation Memory device with a test mode
JPH04178580A (ja) * 1990-11-14 1992-06-25 Ando Electric Co Ltd 半導体メモリの故障自己診断装置
US5299202A (en) * 1990-12-07 1994-03-29 Trw Inc. Method and apparatus for configuration and testing of large fault-tolerant memories
EP0522224B1 (en) * 1991-07-10 1998-10-21 International Business Machines Corporation High speed buffer management
US5311520A (en) * 1991-08-29 1994-05-10 At&T Bell Laboratories Method and apparatus for programmable memory control with error regulation and test functions
KR950000305Y1 (ko) * 1991-12-23 1995-01-16 금성일렉트론 주식회사 메모리 장치의 테스트 모드회로
US5452418A (en) * 1992-04-24 1995-09-19 Digital Equipment Corporation Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
US5388238A (en) * 1992-07-24 1995-02-07 At&T Corp. System and method for monitoring the validity of circulating pointers in a FIFO memory
US5291482A (en) * 1992-07-24 1994-03-01 At&T Bell Laboratories High bandwidth packet switch
SE516073C2 (sv) * 1993-02-15 2001-11-12 Ericsson Telefon Ab L M Sätt för hantering av redundanta väljarplan i paketväljare och paketväljare för utförande av sättet
US5396619A (en) * 1993-07-26 1995-03-07 International Business Machines Corporation System and method for testing and remapping base memory for memory diagnostics
US5461588A (en) * 1994-11-15 1995-10-24 Digital Equipment Corporation Memory testing with preservation of in-use data

Also Published As

Publication number Publication date
EP0730764A1 (en) 1996-09-11
KR960706126A (ko) 1996-11-08
CA2176471A1 (en) 1995-06-01
CN1136354A (zh) 1996-11-20
AU693056B2 (en) 1998-06-18
AU2618897A (en) 1997-09-04
FI962202A0 (sv) 1996-05-24
DE69427129D1 (de) 2001-05-23
KR100301719B1 (ko) 2001-10-22
CN1045675C (zh) 1999-10-13
NO962120L (no) 1996-05-24
DE69427129T2 (de) 2001-08-02
AU1206795A (en) 1995-06-13
WO1995014970A3 (en) 1995-07-27
GR3035795T3 (en) 2001-07-31
ES2155882T3 (es) 2001-06-01
NO962120D0 (no) 1996-05-24
AU681220B2 (en) 1997-08-21
TW278157B (sv) 1996-06-11
US6088817A (en) 2000-07-11
SE9303932D0 (sv) 1993-11-26
JPH09506452A (ja) 1997-06-24
DK0730764T3 (da) 2001-07-09
BR9408131A (pt) 1997-08-05
SE9303932L (sv) 1995-05-27
FI962202A7 (sv) 1996-05-24
WO1995014970A2 (en) 1995-06-01
US5602988A (en) 1997-02-11
EP0730764B1 (en) 2001-04-18

Similar Documents

Publication Publication Date Title
SE502576C2 (sv) Feltolerant kösystem
EP1416499B1 (en) Self-repairing built-in self test for linked list memories
JP3878062B2 (ja) メモリテスト情報を記憶する方法および装置
KR100331139B1 (ko) 에러 위치지정 코드를 사용하여 멀티레벨 셀 메모리를 정정하는방법 및 장치
JP2000173289A5 (sv)
JP2000311497A (ja) 半導体記憶装置
CN113393889A (zh) 记忆体系统
JP3222083B2 (ja) 共有メモリ制御装置
JP3563362B2 (ja) 集積メモリのメモリセルの機能をテストする方法および集積メモリ
SE502719C2 (sv) Feltolerant kösystem för buffertering av data i en paketväljare
EP0096030B1 (en) Apparatus for high speed fault mapping of large memories
US7437627B2 (en) Method and test device for determining a repair solution for a memory module
JPH07321795A (ja) バッファアドレス管理方法
CN104348738B (zh) 缓存器和路由器
RU186529U1 (ru) Отказоустойчивое запоминающее устройство
TW531751B (en) Method and device to process the error-address
US8108740B2 (en) Method for operating a memory device
EP4571517A2 (en) Memory device that changes type of codeword stored in memory area and method for operating the same
US20030160288A1 (en) Method for storing data in a memory device with the possibility of access to redundant memory cells
CN117037884A (zh) 在存储阵列中使用的熔断器单元及其处理方法、存储阵列
JPH0259946A (ja) メモリ装置
JPH0312757A (ja) メモリカード
JPH0879266A (ja) バッファ制御装置
JPH0277968A (ja) 情報処理装置
JPH1165942A (ja) 制御記憶装置障害回復方式

Legal Events

Date Code Title Description
NUG Patent has lapsed