Sunteți pe pagina 1din 9

Arhitecturi tolerante la defectari

Proiectarea sistemelor reziliente la erori de tip soft


cu ajutorul corectiei de erori

Student Profesor indrumator


Cocarla Razvan Bacivarov Angelica

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.

1. Ce sunt erorile soft ?

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.

Protectia impotriva SDC nu este suficienta. Sa presupunem ca avem o metoda


perfecta de a detecta toate erorile soft care pot cauza SDC. Odata ce acestea sunt
detectate, sistemul trebuie sa repare eroare detectata. Aceste erori se numesc erori
detectabile dar necorectabile (DUE – Detected but Uncorretable Errors). In functie de
modul in care modalitatea de reparare este implementata, o parte din sistem poate sa nu
functioneze (se pot implementa metode de reparatie eficiente fara ca sistemul sa-si
inceteze complet functionarea). Perioadele cat sistemul nu functioneaza cauzeaza pierderi
foarte mari de aceea nu este de ajuns sa se implementeze detectia erorilor de tip SDC –
este absolut necesar sa se minimizeze timpul cat sistemul nu functioneaza.

2. Erorile soft in tehnologiile din generatia urmatoare

La acest moment nu exista un consens in industrie cu referire la cresterea sau descresterea


ratei erorilor unei singure latch in generatiile tehnologice urmatoare. S-a cazut totusi de
accord ca rata erorilor soft la nivel de sistem va creste in aceste tehnologii. Un alt trend ce
va aparea este refolosirea aceluiasi design pentru o gama variata de aplicatii cu o gama
foarte larga de putere, performanta si fiabibilitate.

3. Cum putem proteja un sistem de erori soft?

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.

- Costul Este important sa luam in calcul pierderile in putere, performanta si marime


aduse de fiecare tehnica.

- Proiectarea mecanismelor de reparare si validarea acestora Proiectarea unui


mecanism de reparare corespunzator si validarea acestuia nu sunt cerinte esentiale.
Costurile datorate acestor doua operatiuni pot totusi limita avantajele anumitor tehnici de
protectie impotriva erorilor.

- 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.

- Aplicabilitatea Anumite tehnici de protectie la erori soft sunt optimizate pentru


pentru anumite aplicatii cum ar fi procesoarele . Aceste tehnici sunt foarte utile dar nu se
pot aplica pentru o gama prea mare de aplicatii

- Protectia bistabililor flip-flop si a circuitelor logice combinationale Este de dorit


ca tehnicile de protectie la erori soft sa se aplice atat in cazul bistabililor cat si in cazul
circuitelor logice combinationale. In caz contrar, tehnici separate pentru cele doua duc la
o complexitate marita a sistemului.

4. Aplicarea BISER pentru corectarea erorilor soft la nivel logic

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

Simulari intensive intr-o tehnologie sub 90 nm folosind unelte de simulare de ultima


generatie arata ca designul din fig 1 poate duce la o reducere de 20 de ori mai mare decat
un latch neprotejat. De notat faptul ca o eroare soft in keeper nu are o consecinta
importanta deoarece iesirea elementului C va fi influentata de continutul latch
(presupunand o eroare singulara). Pentru a evalua gradul de eficacitate la nivel de sistem
al tehnicii BISER, au fost efectuate simulari cu injectie de erori pe microprocesoare de tip
Alpha. Rezultatele arata o rata a erorilor soft de 10 ori mai buna pentru sistemele ce
folosesc tehnica BISER cu pierderi neglijabile din punctual de vedere al energiei
consumate si al performantelor.
Erorile soft pot fi corectate folosind 2 tehnici: Error Correction using Duplication
sau Error Correction using Time-Shifted Outputs. In figura 2 este exemplificata tehnica
Error Correction using Duplication. In loc sa comparam continutul unor bistabili latch ce
contin iesiri duplicate, vom introduce un element C, aeasta tehnica ducand la o reducere
semnificativa a ratei erorilor. Mai mult aceasta tehnica corecteaza si erorile in latch cand
Clock=0. Cu toate acestea costurile pot fi considerabile.

4
Figura 2 Corectarea erorilor de tip soft in circuitele logice combinationale
folosind duplicarea

Tehnica Error Correction using Time-Shifted Outputs descrisa in continuare nu


necesita duplicare dar impune pierderi de performanta. Tehnica este prezentata in figura
3. Aceasta tehnica profita de faptul ca erorile soft in logica combinationala se manifesta
ca bug-uri. In loc de a duplica circuitele logice combinationale, vom esantiona iesirea
iesirea circuitului logic combinational (OUT3) si o versiune intarziata a lui OUT3 numita
OUT4. In fig 3 OUT3 este intarziata cu τ unitati de timp pentru a obtine OUT4. Clock-ul
trebuie intarziat cu τ unitati in comparatie cu fig 2. Iesirile bistabilului latch sunt
conectate la un element C. Marele avantaj al acestei tehnici este ca pierderile de putere
introduse de duplicare sunt minimalizate.

In plus , nu este necesar un control al clock-ului complex acest lucru ducand la un


impact minim asupra designului. De notat ca τ este un parametru al proiectarii si poate fi
modificat in functie de cerintele de fiabilitate. Mai mult, aceasta tehnica corecteaza
erorile soft si cand Clock=0. Rezultatele simularilor au aratat ca aceasta tehnica poate
reduce rata erorilor soft cu mai mult de un ordin de marime daca τ=21 ps.

Figura 3 Corectarea erorilor de tip soft in circuitele logice combinationale


folosind tehnica iesirilor intarziate

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).

Figura 4 Tehnica BISER pentru design-uri bazate pe bistabili flip-flop (a)


corectarea doar in latch-uri (b) corectarea in latch-uri si circuite logice
combinationale

6
5. Concluzii

Tehnica BISER reprezinta un mod eficient si practic de a proiecta sisteme cu


corectie integrata a erorilor soft. Analizele comparative cu tehnicile existente
demonstreaza ca aceasta tehnica combina beneficiile corectiei erorilor la nivel de circuit
si a tehnicilor ce tin de arhitectura sistemului (redundanta sau detectia erorilor), fara a
avea aceleasi inconveniente. Acest lucru este posibil deoarece tehnica BISER foloseste
caracteristicile erorilor soft in locul modelelor generale de erori. Acest lucru ar putea
limita folosirea tehnicii BISER din moment ce nu toate sursele de erori au aceleasi
caracteristici cu erorile induse de radiatii.
Tabelul 1 prezinta o analiza comparative a principalelor tehnici de corectare a erorilor.

Redimensionarea Intarirea
Tehnica BISER tranzistoarelor securitatii Duplicarea
circuitelor

Reducerea Latch - 20X 1,5X Latch - 20X Aproape in


SDC CLC - 12-64X CLC - 0 totalitate

Reducerea DUE Latch - 20X 1,5X Latch - 20X Cresterea DUE


CLC - 12-64X CLC - 0

Pierderile de 6-10% 3% 12-18% 40-100%


putere

Pierderi de Latch 0-1% 0-10% 0-1% Foarte scazut


viteza CLC ~ 5%

Efortul depus
pentru Nici unul Nici unul Nici unul Crescut
corectarea
erorilor

Complexitatea Scazuta Crescuta Crescuta Scazuta


configurarii

Aplicabilitate Generala Generala Generala Generala

Tabelul 1 Analiza comparative a principalelor tehnici de corectie a 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.

 Hennessy J., and D. Patterson, Computer Architecture: A Quantitative Approach,


3rd ed, 2002.

 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”

S-ar putea să vă placă și