Documente Academic
Documente Profesional
Documente Cultură
Bucuresti
2010
Proiectarea sistemelor reziliente la erori de tip soft cu ajutorul
corectiei de erori
Aceasta lucrare este o prezentare a tehnicii “Rezilienta incorporata la erori de tip soft”
(BISER) pentru corectarea erorilor de tip soft in circuite logice combinationale. Aceasta
tehnica permite reducerea erorilor soft la nivelul chip-urilor cu mai mult de un ordin de
marime cu un impact minim asupra performantelor si marimii circuitelor. In comparatie,
alte tehnici mai vechi duc la o crestere cu 40-100% a costurilor si marimii circuitelor,
precum si un efort mai mare in proiectarea mecanismelor de reparare a erorilor.
Erorile soft sunt erori induse de radiatia cauzata de neutronii generati de razele
cosmice si de particulele alpha. La inceput acest tip de erori au fost o problema pentru
proiectele spatiale, dar acest lucru s-a schimbat. Radiatiile terestre constituie un motiv de
ingrijorare in continua crestere si cateva designuri aplicate in zilele noastre
implementeaza detectia si corectia extensive de erori (ECC), in special pentru memoriile
SRAM on-board. Doar protectia memoriei nu este suficienta pentru proiectarea
tehnologiilor sub 65 nm. Majoritatea proiectelor viitoare adresate in special aplicatiilor
destinate domeniului telecomunicatiilor necesita protectie la erori soft la nivelul
circuitelor bistabile de tip latch si flip-flop. Chiar daca circuitele logice combinationale
nu sunt o necesitate imediata ele vor deveni un ape masura ce din ce ince mai multe
tranzistoare sunt implementate in tehnologiile viitoare.
Rata de erori soft a unui proiect este in general cuantificata cu ajutorul defectarilor in
timp (Failure-in-time) sau FIT, unde 1 FIT corespunde unei erori la un milliard de ore de
functionare. Conform unor discutii recente, o valoare tipica pentru rata erorilor in
bistabili de tip latch se poate presupune a fi 10‾ ³ FIT. De notat faptul ca, rata erorilor soft
variaza destul de mult in functie de designul bistabilului respective. Presupunand ca un
design contine 1 milion de bistabili flip-flop (fiecare avand 2 bistabili latch in
componenta ) contributia unui latch la rata erorilor este de 1000 FIT. Aceasta contributie
de 1000 FIT este foarte mare! Sistemele ce contin intre 500 si 20000 procesoare sunt
foarte comune. Pentru sistemul cu 500 de procesoare rata erorilor la nivelul sistemului va
fi 500000 FIT (daca proiectul discutat anterior este un procesor). Acest lucru inseamna
ca la fiecare 3 luni un bistabil latch din sistem va produce o eroare. Pentru un sistem cu
20 000 procesoare, contributia la rata erorilor va fi de 20 milioane FIT , deci la fiecare 2
zile un latch va produce o eroare in sistem.
1
Din fericire majoritatea erorilor soft nu au nici un impact asupra functionarii
sistemului. De exemplu, o eroare intr-un flip-flop a carui iesire este cuplata intr-un AND
cu un semnal cu valoare logica 0, nu are nici un efect asupra functionarii sistemului.
Totusi, un procent suficient de mare de astfel de erori poate duce la coruperea datelor fara
ca sistemul sau utilizatorul sa stie acest lucru. Rezultatul este ca integritatea datelor din
sistem este compromisa. De exemplu, sa ne imaginam ce s-ar intampla daca bitul 1 din
cel mai semnficativ bit al registrului ce stocheaza suma de bani stocata intr-o banca, s-ar
modifica in 0. In functie de designul si de aplicatia folosita, intre 10-40% dintre erorile
soft pot cauza aceste Silent Data Coruption SDC. Luand cazul cel mai favorabil, ca
numai 10% dintre erori cauzeaza SDC la nivel de sistem, sa continuam analiza
precedenta. Pentru un sistem cu 500 de procesoare, bistabilele latch vor contribui la SDC
o data la aproximativ 30 de luni, iar pentru sistemul cu 20 000 de procesoare vor
contribui la o SDC la nivel de sistem o data la 20 de zile. Aceste rezultate nu sunt
acceptabile pentru banci, burse de valori, de aceea designurile viitoare necesita protectie
adecvata pentru a preveni aceste situatii.
Odata inteleasa nevoia pentru protectia impotriva erorilor soft, se pune intrebarea cum
putem proteja sistemele viitorului de astfel de erori. Ne vom concentra asupra protectiei
la nivel logic – erori soft in bistabili latch si flip-flop si circuite logice combinationale.
Erorile soft in SRAM sunt prevenite cu ajutorul paritatii sau a codurilor corectoare de
erori. Literatura ne prezinta cateva tehnici pentru protectia impotriva erorilor soft, fiecare
cu avantajele si dezavantajele ei. Scopul acestei sectiuni este de a stabili o serie de
parametri care sa ajute la stabilirea acestor avantaje si dezavantaje pentru fiecare sistem
in parte. Speram ca acesti parametri sa ajute proiectantii sa inteleaga aceste tehnici in
vederea alegerii uneia in defavoarea alteia. Parametrii sunt urmatorii:
2
- Reducerea SDC O tehnica ce ajuta la reducerea SDC se poate dovedi foarte
folositoare in proiectarea unui sistem cu cerinte exacte privind rata erorilor dar se poate
dovedi ineficienta odata cu aparitia noilor tehnologii cu un grad mai mare de integrare a
componentelor.
- Reducerea DUE Tehnicile ce reduc SDC pot creste semnificativ DUE. Sa luam un
exemplu, in care fiecare flip-flop este verificat si repararea erorilor incepe imediat dupa
detectarea lor. Toate erorile ce pot cauza SDC sunt detectate dar acest lucru duce la
cresterea DUE deoarece orice eroare intr-un flip-flop se va manifesta si ca DUE desi
numai o parte din acestea vor cauza intradevar SDC.
- Usurinta configurarii Dupa cum am mai mentionat, protectia la erori de tip soft va fi
influentata si de trendul industriei de a folosi aceeasi tehnologie pentru mai multe tipuri
de aplicatii in functie de cerintele fiecareia. De exemplu, folosirea unei anumite tehnici
poate solicita un nivel acceptabil de exces de putere pentru o aplicatie si un nivel mult
prea ridicat pentru alta aplicatie, care insa nu necesita protectie impotrica erorilor soft..
O solutie ar fi sa se creeze doua moduri de operare, unul in care mecanismele de protectie
sunt pornite si unul in care acestea nu functioneaza.
In primul rand vom ilustra tehnica BISER pentru un design bazat pe bistabili latch
urmand sa discutam si designul bazat pe flip-flop. Erorile soft in bistabili latch sunt
corectate folosind un element C ca in fig 1. In timpul functionarii normale, cand semnalul
de ceas Clock=1, intrarea in latch este influentata de circuitul logic combinational si nu
este supusa erorilor soft. Cand Clock=0, C-out are deja valoarea corecta, deci orice eroare
in latch va duce la o situatie in care valorile logice din A si B vor fi in contradictie.
Rezultatul va fi ca eroarea nu se va propaga in C-out si valoare logica corecta va fi tinuta
in C-out de catre keeper.
3
Figura 1 Corectarea erorilor in bistabili latch folosind elemental C
(a) Tehnica de corectare (b) Elementul C
4
Figura 2 Corectarea erorilor de tip soft in circuitele logice combinationale
folosind duplicarea
5
Chiar daca tehnica BISER a fost exemplificata pe designuri bazate pe bistabili
latch, ea poate fi aplicata si pe designuri bazate pe flip-flop. Acest lucru este exemplificat
in fig 4. In functie de tehnica folosita, IN2 din fig 4b va fi conectata la Duplicated Logic
Output (fig 2) sau la iesirea elementului de intarziere (fig 3).
6
5. Concluzii
Redimensionarea Intarirea
Tehnica BISER tranzistoarelor securitatii Duplicarea
circuitelor
Efortul depus
pentru Nici unul Nici unul Nici unul Crescut
corectarea
erorilor
7
Bibliografie
N. Seifert, M. Zhang, Q. Shi and K.S. Kim, “Robust System Design with Built-In
Soft Error Resilience,” IEEE Computer, Vol. 38, No. 2, pp. 43-52, Feb. 2005
S. Calin, T., M. Nicolaidis, and R. Velaco, “Upset Hardened Memory Design for
Submicron CMOS Technology,” IEEE Trans. Nucl. Sci., Vol. 43, pp. 2874-2878,
Dec. 1996.
T. Karnik, et al., “Selective Node Engineering for Chip-level Soft Error Rate
Improvement,” Proc. VLSI Circuits Symp., pp. 204-205, 2002.
Mitra, S., M. Zhang, T.M. Mak, N. Seifert, V. Zia and K.S. Kim, “Logic Soft
Errors: A Major Barrier to Robust Platform Design,” Proc. Intl. Test Conf., 2005.
Subhasish Mitra, Ming Zhang, Norbert Seifert, TM Mak Kee and Sup Kim “Soft
Error Resilient System Design through Error Correction”