Contribuţii la identificarea unor substanţe medicamentoase prin ...
CONTRIBUŢII LA DEZVOLTAREA UNOR - ace.tuiasi.ro rezumat .pdf · 2 Teza de doctorat a fost...
Transcript of CONTRIBUŢII LA DEZVOLTAREA UNOR - ace.tuiasi.ro rezumat .pdf · 2 Teza de doctorat a fost...
UNIVERSITATEA TEHNICĂ “GHEORGHE ASACHI” DIN IAŞI
Şcoala Doctorală a Facultăţii de AUTOMATICĂ ȘI CALCULATOARE
CONTRIBUŢII LA DEZVOLTAREA UNOR
ALGORITMI DE TESTARE A MEMORIILOR
SEMICONDUCTOARE DE TIP RAM
- REZUMAT AL TEZEI DE DOCTORAT -
Conducător de doctorat:
Prof. univ. dr. Alexandru Valachi
Doctorand:
Ing. Cristina Huzum (căs. Neculiță)
IAŞI - 2011
UNIUNEA EUROPEANĂ GUVERNUL ROMÂNIEI
MINISTERUL MUNCII, FAMILIEI ŞI PROTECŢIEI SOCIALE
AMPOSDRU
Fondul Social European
POSDRU 2007-2013
Instrumente Structurale
2007-2013 OIPOSDRU UNIVERSITATEA TEHNICĂ
“GHEORGHE ASACHI” DIN IAŞI
2
Teza de doctorat a fost realizată cu sprijinul financiar al proiectului „Burse
Doctorale - O Investiţie în Inteligenţă (BRAIN)”.
Proiectul „Burse Doctorale - O Investiţie în Inteligenţă (BRAIN)”,
POSDRU/6/1.5/S/9, ID 6681, este un proiect strategic care are ca obiectiv
general „Îmbunătățirea formării viitorilor cercetători în cadrul ciclului 3 al
învățământului superior - studiile universitare de doctorat - cu impact
asupra creșterii atractivității şi motivației pentru cariera în cercetare”.
Proiect finanţat în perioada 2008 - 2011.
Finanţare proiect: 14.424.856,15 RON
Beneficiar: Universitatea Tehnică “Gheorghe Asachi” din Iaşi
Partener: Universitatea “Vasile Alecsandri” din Bacău
Director proiect: Prof. univ. dr. ing. Carmen TEODOSIU
Responsabil proiect partener: Prof. univ. dr. ing. Gabriel LAZĂR
UNIUNEA EUROPEANĂ GUVERNUL ROMÂNIEI
MINISTERUL MUNCII, FAMILIEI ŞI PROTECŢIEI SOCIALE
AMPOSDRU
Fondul Social European
POSDRU 2007-2013
Instrumente Structurale
2007-2013 OIPOSDRU UNIVERSITATEA TEHNICĂ
“GHEORGHE ASACHI” DIN IAŞI
3
4
CUPRINS
1. Problematica testării memoriilor RAM ................................................ 7
1.1. Introducere ..................................................................................................................................7
1.2. Testarea orientată pe defecte ......................................................................................................8
1.3. Realizarea unui experiment de testare ........................................................................................8
1.4. Clasificarea defectelor de memorie .............................................................................................9
2. Defecte permanente de memorie ...................................................... 11
2.1. Localizarea defectelor de memorie .......................................................................................... 11
2.1.1. Blocul celulelor de memorie ........................................................................................... 11
2.1.2. Blocul logicii de citire-scriere........................................................................................... 11
2.1.3. Blocul decodificator ......................................................................................................... 11
2.2. Detectarea defectelor de memorie .......................................................................................... 12
2.3. Defecte primitive de memorie .................................................................................................. 12
2.3.1. Definiții și notații ............................................................................................................. 12
2.3.2. Clasificarea defectelor primitive ..................................................................................... 13
2.4. Defecte de tip cuplaj în matricea celulelor de memorie ........................................................... 14
2.5. Teste de tip march .................................................................................................................... 15
2.5.1 Clasificarea testelor de memorie ..................................................................................... 15
2.5.2. Noțiuni legate de testele de tip march ............................................................................ 16
2.5.3. Teste march cu diferite iniţializări (engl. backgrounds) .................................................. 16
2.6. Simularea software a defectelor permanente de memorie ..................................................... 17
3. Defecte statice de tip cuplaj între două celule de memorie ............ 19
3.1. Descrierea modelului clasic de tip cuplaj între două celule de memorie ................................. 19
3.2. Modelul extins de tip cuplaj între două celule de memorie ..................................................... 19
3.3. Teste dedicate modelului extins de tip cuplaj între două celule de memorie .......................... 20
3.3.1. Testul March SS ............................................................................................................... 20
3.3.2. Testul March S2C ............................................................................................................. 20
3.4. March AS2C – un nou test dedicat modelului extins de tip cuplaj între două celule
de memorie ................................................................................................................................. 21
3.4.1. Descrierea testului .......................................................................................................... 21
3.4.2. Compararea testului March AS2C cu alte teste de memorie .......................................... 21
4. Modelul NPSF (engl. neighborhood pattern sensitive fault) ........... 23
4.1. Descrierea defectelor de tip NPSF ............................................................................................ 23
4.1.1. Modelul ANPSF ................................................................................................................ 24
4.1.2. Modelul PNPSF ................................................................................................................ 24
5
4.1.3. Modelul SNPSF ................................................................................................................ 24
4.2. Teste dedicate modelul NPSF.................................................................................................... 26
4.2.1. Testul propus de Suk şi Reddy pentru detectarea defectelor NPSF (testul SR) .............. 26
4.2.2. Testul March-100N .......................................................................................................... 26
4.2.3. Testul March 96N ............................................................................................................ 27
4.2.3. Testul CM-79N ................................................................................................................. 27
4.3. March-76N - un nou test de memorie dedicat defectelor de tip NPSF .................................... 28
4.4. Evaluarea comparativă a testelor dedicate defectelor de tip NPSF ......................................... 29
4.5. Concluzii .................................................................................................................................... 29
5. Studiu privind defectele înlănțuite de tip NPSF ............................... 31
5.1. Definiții ...................................................................................................................................... 31
5.2. Simularea defectelor înlănțuite de tip NPSF ............................................................................ 32
5.3. Evaluarea testelor dedicate defectelor NPSF privind detectarea defectelor înlănțuite ........... 32
5.4. Concluzii .................................................................................................................................... 33
6. Studiu privind un model extins de defecte de tip NPSF .................. 35
6.1. Descrierea modelului ................................................................................................................ 35
6.2. Evaluarea testelor dedicate modelului NPSF clasic privind acoperirea modelului extins ........ 37
6.3. March ENPSF – un nou test de memorie dedicat modelului NPSF extins ................................ 38
6.4. Concluzii .................................................................................................................................... 39
7. Defecte dinamice de memorie ........................................................... 41
7.1. Definiție ..................................................................................................................................... 41
7.2. Studii privind defectele dinamice de memorie ......................................................................... 41
7.3. Modelul de defecte dinamice ................................................................................................... 42
7.3.1. Modelul de defecte dinamice de tip single-cell .............................................................. 42
7.3.2. Modelul de defecte dinamice de tip two-cell.................................................................. 43
7.4. Teste de memorie dedicate defectelor dinamice ..................................................................... 43
7.4.1. Teste de memorie dedicate modelului de defecte dinamice de tip single-cell .............. 43
7.4.2. Teste de memorie dedicate modelului de defecte dinamice de tip two-cell.................. 44
7.5. Modelul realist de defecte dinamice ........................................................................................ 45
7.5.1. Modelul realist de defecte dinamice de tip single-cell ................................................... 45
7.5.2. Modelul realist de defecte dinamice de tip two-cell ....................................................... 45
7.6. Teste de memorie dedicate defectelor dinamice realiste ........................................................ 46
7.6.1. Teste de memorie dedicate defectelor dinamice realiste de tip single-cell ................... 46
7.6.2. Teste de memorie dedicate defectelor dinamice realiste de tip two-cell ...................... 47
6
8. Studiu asupra defectelor dinamice de tip NPSF .............................. 49
8.1. Modelul de defecte dinamice de tip NPSF ................................................................................ 49
8.2. Gradul de acoperire a modelului de defecte dinamice de tip NPSF ......................................... 51
8.3. RAW-NPSF – un nou test de memorie dedicat defectelor dinamice de tip NPSF ..................... 51
8.4. Concluzii .................................................................................................................................... 53
9. Studiu comparativ privind robustețea implementării celulelor de
memorie SRAM cu șase și cu opt tranzistoare .................................... 55
9.1. Introducere ............................................................................................................................... 55
9.1.1. Celula de memorie SRAM cu șase tranzistoare (6T) ....................................................... 56
9.1.2. Celula de memorie SRAM cu opt tranzistoare (8T) ......................................................... 57
9.2. Descrierea experimentului ........................................................................................................ 58
9.2.1. Modelul de memorie studiat ........................................................................................... 58
9.2.2. Defectele de memorie considerate ................................................................................. 58
9.3. Rezultatele simulărilor și concluzii ............................................................................................ 59
10. Concluzii ........................................................................................... 63
10.1. Rezumatul contribuțiilor științifice ......................................................................................... 63
10.2. Direcții viitoare de cercetare................................................................................................... 64
10.3. Articole științifice .................................................................................................................... 64
Bibliografie (extras) ............................................................................... 67
7
Capitolul 1
Problematica testării memoriilor RAM
În acest capitol sunt prezentate câteva concepte introductive privind domeniul testării
memoriilor RAM. Este descris stadiul actual al cercetărilor și direcțiile urmărite în ultimii ani. În
plus, sunt introduse câteva noțiuni specifice și câteva clasificări ale defectelor de memorie.
1.1. Introducere
Dezvoltarea rapidă a tehnologiei circuitelor integrate a determinat o creştere continuă a
capacităţii circuitelor de memorie. Un domeniu important de evoluţie a fost creşterea densităţii
de integrare, care a avut ca o consecință directă creșterea ratei defectelor de fabricaţie a
memoriilor RAM. În același timp, s-a constatat că sunt tot mai frecvente defectele de
complexitate crescută, greu de modelat şi, deci, de detectat. Mai mult decât atât, studiile
experimentale au arătat că încă există un procent de defecte permanente de memorie de tip
necunoscut ce nu poate fi neglijat. Ca o consecință, se constată pe de o parte, că timpul necesar
testării memoriei crește şi, pe de altă parte, că memoria devine un element critic din punct de
vedere al fiabilității sistemelor de calcul.
În vederea asigurării unui grad ridicat de fiabilitate şi de siguranţă în funcţionare pentru
memorii, cercetările din ultimii 15 de ani s-au orientat în câteva direcţii:
1. Creşterea gradului de testabilitate a circuitelor VLSI. În acest domeniu s-a reușit realizarea
de memorii cu structură modulară care permit testarea în paralel a circuitelor de memorie.
2. Creșterea calității echipamentelor de testare automată. S-au realizat testoare de înaltă
performanță, care permit verificarea unui număr mare de cipuri de memorie în paralel.
3. Construirea memoriilor tolerante la defecte. Această toleranță se realizează pe baza
codurilor detectoare şi corectoare de erori. În acest mod se asigură protecţia împotriva
defectelor de tip tranzitoriu din cadrul memoriilor.
4. Crearea de noi algoritmi de testare. S-au realizat algoritmi noi de testare ce caută să
realizeze un compromis cât mai eficient între cele două cerințe contradictorii ale acestui
domeniu: reducerea duratei testării şi acoperirea unei arii cât mai mari de defecte de
memorie.
5. Dezvoltarea de circuite de memorie autotestabile (engl. Build-In-Self-Testing). S-au realizat
noi circuite de memorie autotestabile în principal pentru SRAM, cercetările recente
anunțând mereu noi implementări. Aceste noi tehnici de implementare a autotestabilităţii au
determinat o scădere semnificativă a costului testării circuitelor de memorie de mare
capacitate.
8
6. Modelarea defectelor de memorie. Pe baza unei analize temeinice a defectelor fizice subtile
ce apar în procesul de fabricaţie, s-au realizat noi modele de defecte de memorie.
7. Evaluarea performanţelor testelor de memorie. Cele mai notabile rezultate din acest
domeniu s-au obținut prin studii de simulare care au la bază injectarea defectelor
permanente.
8. Diagnoza defectelor de memorie. S-au realizat noi algoritmi de testare capabili să localizeze
defectul în cadrul circuitului de memorie [2][3][4][5].
1.2. Testarea orientată pe defecte
O memorie RAM este definită în sensul general ca fiind funcţională dacă este posibilă
schimbarea şi citirea corectă a stării oricărei celule, independent de starea în care se află celelalte
celule de memorie [6]. În schimb, verificarea în sensul acestei definiţii este practic imposibilă: ar
trebui verificată fiecare celulă pentru toate combinațiile de stări ale celorlalte celule. Este
necesar, deci, un număr de operații de ordinul 2N, în care N este numărul celulelor de memorie.
Pentru memorii de capacitate mare, o astfel de abordare nu este realizabilă şi, deci, în acest caz o
testare funcţională completă, care să garanteze faptul că memoria este funcţională în sensul
definiției menționate mai sus, este imposibilă.
Există, însă, o soluţie alternativă realizabilă din punct de vedere practic și anume testarea
orientată pe defecte. Aşa cum sugerează şi denumirea, testarea este limitată la verificarea unei
mulţimi de defecte cu probabilitatea de apariţie cea mai mare. Un experiment de testare poate să
pună în evidenţă lipsa oricărui defect dintr-o anumită clasă, dar nu poate demonstra lipsa oricărui
defect din oricare clasă.
Două proprietăţi deosebite ale circuitelor de memorie compensează marele dezavantaj al
numărului mare de elemente şi de stări interne:
1. Structura internă regulată;
2. Controlabilitatea şi observabilitatea circuitului aproape ideale. Aceasta înseamnă că orice
celulă din memorie poate fi modificată (scrisă) şi citită în mod direct.
1.3. Realizarea unui experiment de testare
Pentru testarea memoriilor ca circuite VLSI independente, se folosesc echipamente
specializate ce poartă numele de testoare. În schimb, atunci când memoria se testează ca modul
în cadrul unui echipament, acest lucru se realizează cu programe de test (software) sau, printr-o
logică de testare (hardware) [7].
În funcţie de modalitatea de generare a adreselor şi datelor folosite ca stimuli, testarea poate
fi deterministă sau stochastică [1]. Structura regulată a memoriei constituie un argument în
favoarea testării deterministe, în detrimentul testării stochastice [8][9][10]. De aceea, în cele ce
urmează se vor exemplifica doar metode de testare deterministă a memoriei.
9
1.4. Clasificarea defectelor de memorie
Din punctul de vedere al efectului pe care îl produc, defectele de memorie se împart în:
Defecte funcţionale – afectează circuitul din punct de vedere logic, alterându-i capacitatea
de a își îndeplini în mod corespunzător funcţiile specifice.
Defecte parametrice – reprezintă anomalii structurale ale circuitului de memorie și se
răsfrâng asupra parametrilor de funcționare: consumul de curent, puterea disipată etc. [1].
În această lucrare vor fi tratate doar defectele funcţionale.
O altă clasificare are ca şi criteriu modul de manifestare în timp, sau mai precis condiţiile de
activare. În acest sens, defectele funcţionale se împart în:
Defecte permanente – se manifestă în orice regim de funcționare, la fiecare activare logică.
Această activare depinde doar de câțiva parametri: starea actuală a memoriei și operația
efectuată, caracterizată la rândul ei de valoarea adresei celulei vizate, tipul operației și data
furnizată (în cazul operației de scriere). Eventuale cauze ale acestui tip de defecte sunt
conexiuni electrice defecte, componente defecte, conexiuni corodate, erori de logică etc.
Defecte nepermanente – se activează numai în anumite regimuri de funcţionare și se
manifestă în mod aleatoriu. Există două tipuri de defecte nepermanente: defecte tranzitorii și
defecte intermitente [11].
Detectarea defectelor nepermanente este mult mai dificilă, deoarece activarea lor este
posibilă numai într-un regim de funcţionare sever, favorizant pentru acele defecte. Cu alte
cuvinte, mai apar și alți parametri de activare, pe lângă cei care se referă strict la operațiile
cu circuitul de memorie. În aceste condiții, un test obișnuit nu mai garantează detectarea
acestor defecte, gradul de încredere privind rezultatul testării depinzând atât de calitatea
programului de test cât şi de durata testării [12][13][14][15][16].
În această lucrare vor fi abordate doar defectele permanente de memorie.
10
11
Capitolul 2
Defecte permanente de memorie
Capitolul de față prezintă un rezumat al celor mai importante concepte din literatura de
specialitate privind defectele permanente de memorie. Sunt introduse noțiuni privind localizarea
defectelor de memorie şi modul de detectare a acestora. De asemenea, sunt prezentate câteva
notații specifice privind modelarea defectelor de memorie și este descris conceptul de test march.
În plus, este prezentat modul de simulare a defectelor în studiile efectuate pentru această teză.
2.1. Localizarea defectelor de memorie
Din punctul de vedere al testării, un circuit de memorie conţine următoarele trei blocuri
funcţionale: blocul celulelor de memorie, blocul decodificator de adrese, blocul logicii de citire-
scriere. În vederea analizei, pentru fiecare dintre acestea trebuie precizate defectele funcţionale
specifice.
2.1.1. Blocul celulelor de memorie
Din punctul de vedere al defectelor fizice, în blocul celulelor de memorie pot exista
imperfecțiuni precum scurtcircuite de metalizare, cuplaje capacitive, întreruperi etc. Acestea pot
afecta celule de memorie separate şi, mai mult, pot conduce la interferenţe între celulele de
memorie fizic vecine.
2.1.2. Blocul logicii de citire-scriere
În cadrul blocului de citire-scriere, unele din liniile amplificatoarelor sale pot fi blocate la 0
sau la 1 logic, pot apărea scurtcircuite sau cuplaje capacitive între linii [17]. Toate aceste defecte
afectează lucrul cu oricare locație din matricea celulelor de memorie și de aceea pot fi detectate
ușor prin scrierea și citirea imediată a unei locații oarecare. Vectorii de date folosiți pentru
detectarea acestor defecte sunt 11..11, 00..00, şi toate combinaţiile care conţin un sigur bit de 1
sau de 0.
2.1.3. Blocul decodificator
Pentru blocul decodificator de adrese s-au propus următoarele modele de defecţiuni:
1) Pentru o anumită adresă nicio celulă de memorie nu este selectată;
2) O celulă de memorie nu poate fi accesată cu nicio adresă;
12
3) Mai multe celule sunt selectate simultan, defecțiune numită selecţie nedeterminată;
4) Mai multe adrese accesează aceeași celulă, defecțiune numită selecție multiplă [1].
Dacă se analizează cu atenţie efectele pe care le produc aceste defecțiuni, se constată că
modelul defectelor de memorie poate fi simplificat prin includerea defectelor din blocul
decodificator în modelul defectelor din blocul matricei celulelor de memorie. Aceasta deoarece
pentru fiecare defect de adresare există un defect în matricea celulelor de memorie care are
acelaşi efect din punctul de vedere al rezultatului operaţiei de lucru cu memoria. În concluzie,
dacă un anume test de memorie este capabil să detecteze toate defectele din blocul matricii
celulelor de memorie, atunci va detecta cu certitudine şi defectele de adresare.
Datorită acestui fapt, analiza ce urmează se concentrează numai asupra defectelor din cadrul
blocului matricei celulelor de memorie. Există însă și studii mai aprofundate ce tratează defecte
mai subtile ce pot apărea fie la nivelul circuitelor de încărcare (engl. pre-charge circuit)
[18][19], fie la nivelul decodoarelor [20][21] sau al circuitului de scriere [22].
O altă particularitate a memoriilor ce poate fi folosită pentru a reduce problema testării este
faptul că biţii ce alcătuiesc un cuvânt sunt memoraţi, în cele mai multe dintre implementările
circuitelor RAM, în zone distincte, independente ale suprafeţei de integrare. Ca o consecinţă
firească, aceşti biţi se pot influenţa reciproc numai la nivelul blocului logicii de citire-scriere sau
la nivelul magistralelor. Așadar, problema testării memoriilor orientate pe cuvânt se poate reduce
la testarea memoriilor de capacitate N × 1 [1]. Pentru cazul în care biții ce alcătuiesc un cuvânt
sunt memorați în locații fizic adiacente, van de Goor și Tlili au elaborat un algoritm de conversie
a testelor destinate memoriilor orientate pe bit în teste dedicate memoriilor orientate pe cuvânt
[23]. S-au propus și implementări ale unor astfel de teste orientate pe cuvânt [24].
2.2. Detectarea defectelor de memorie
Așa cum s-a discutat anterior, testarea unui circuit de memorie constă în esență în verificarea
blocului matricii celulelor de memorie, în ipoteza în care celelalte blocuri funcționează corect.
Un test ar trebui să verifice faptul că fiecare celulă funcționează corect în mod independent de
starea celorlalte celule de memorie. Mai mult decât atât, operațiile efectuate asupra unei anumite
celule nu trebuie să afecteze starea celorlalte celule de memorie.
2.3. Defecte primitive de memorie
2.3.1. Definiții și notații
Defectul funcțional poate fi definit ca o modificare în comportamentul așteptat de la
circuitul de memorie, respectiv în rezultatele operațiilor de lucru cu memoria. O listă oarecare de
operații efectuate asupra memoriei se numește secvență de operații. Atunci când o astfel de
secvență de operații conduce la un comportament diferit al memoriei față de cel așteptat (cel din
funcționarea normală), aceasta se numește secvență de activare (engl. sensiting operation
13
sequence) și este notată cu S. Rezultatul anormal obținut la aplicarea secvenței S se numește
comportament eronat (engl. faulty behavior) și se notează cu F. Atunci când secvența de
activare conține o operație de citire, rezultatul citirii se notează cu R.
Pentru a descrie o funcționare eronată a memoriei, trebuie să se specifice secvența de
activare S, comportamentul eronat corespunzător F și rezultatul citirii R (în cazul în care S nu
este o operație de citire, pentru R se va folosi caracterul „-„). Combinația S, F, R corespunzătoare
unei funcționări eronate a circuitului de memorie se numește defect primitiv și se notează sub
forma < S/F/R > [25].
Noțiunea de defect primitiv are o importanță deosebită deoarece stă la baza definirii
conceptului de model de defecte de memorie, concept fundamental în domeniul testării
memoriilor. Astfel, un model de defecte de memorie este definit ca un set nevid de defecte
primitive. Un astfel de set este privit ca bază pentru descrierea oricărui defect complex [26].
2.3.2. Clasificarea defectelor primitive
Prima clasificare a defectelor primitive are drept criteriu numărul de operații simultane
necesare activării defectului [26]. Fie P numărul de porturi de care este nevoie simultan pentru a
aplica secvența S. În funcție de valoarea P, defectele primitive pot fi clasificate în defecte de tip
single-port și de tip multi-port.
Defectele de tip single-port necesită cel mult un port pentru a activa un defect, în
consecință P ≤ 1. Se observă că defectele de tip single-port pot fi activate atât în memorii
single-port cât și în memorii multi-port.
Defectele de tip multi-port necesită cel puțin două operații simultane pe porturi diferite,
deci P ≥ 2. Detectarea defectelor de tip multi-port este mai dificilă decât a celor single-port
deoarece condițiile de activare sunt mai greu de realizat [27].
O altă clasificare a defectelor primitive se face în funcție de numărul de operații succesive
din S [26]. Fie O numărul de operații distincte efectuate succesiv în secvența de activare S. În
funcție de valoarea lui O, defectele primitive pot fi împărțite în defecte de tip static sau dinamic.
Defectele statice sunt acele defecte care necesită cel mult o operație pentru activare, deci
O ≤ 1. De exemplu, dacă o celulă este blocată la valoarea 0 logic, atunci O = 0, deci defectul
este static; dacă o operație de citire a unei celule de memorie determină schimbarea valorii
acesteia, atunci O = 1, deci și acesta este tot un defect static.
Defectele dinamice sunt acele defecte care necesită cel puțin două operații succesive pentru
activare.
O altă clasificare a defectelor primitive are drept criteriu modul în care acestea se manifestă.
Astfel, defectele primitive se împart în defecte simple și defecte înlănțuite [26].
Defectele simple sunt acele defecte primitive care nu pot fi influențate de alt defect. Cu alte
cuvinte, efectul produs de un defect simplu nu poate schimba comportamentul altui defect.
Defectele înlănțuite sunt defectele primitive care se pot influența unul pe celălalt. Așadar,
efectul produs de un defect poate influența comportamentul altui defect și în acest mod
14
defectele se pot masca reciproc [28]. Se observă faptul că un defect înlănțuit este alcătuit din
cel puțin două defecte simple. În ceea ce privește studierea acestui tip de defecte, există
câteva studii în domeniu şi câteva teste de memorie dedicate acestora [29][30][31][32][33].
Cele trei criterii de clasificare a defectelor primitive sunt independente, așadar un defect
dinamic poate fi la rândul lui single-port sau multi-port, simplu sau înlănțuit, așa cum un defect
simplu poate fi single-port sau multi-port, static sau dinamic etc. (Fig. 2.1).
Fig. 2.1. Clasificarea defectelor de memorie
2.4. Defecte de tip cuplaj în matricea celulelor de memorie
Modelele de defecte de tip cuplaj au fost introduse pentru prima dată de Nair, Thatte și
Abraham [34], fiind reformulate ulterior de Papachristou si Sahgal [35]. Suk şi Reddy au
introdus alte modele şi definiţii [36], reformulate apoi de David, Fuentes şi Courtois [8]. Cea mai
riguroasă şi cuprinzătoare abordare asupra modelelor de defecte de memorie a fost realizată în
1993 de către van de Goor [37][28].
Defectele de tip cuplaj (engl. coupling fault) înfățișează interferenţele ce pot apărea între
două sau mai multe celule de memorie. La nivel fizic, acestea se datorează capacităţilor parazite
și izolaţiilor imperfecte dintre celulele vecine şi apar în special în circuitele de memorie cu o
densitate de integrare foarte ridicată. Influența ce poate apărea între celulele cuplate poate fi una
activă (engl. transition coupling faults) sau una pasivă (engl. state coupling faults) [1]. Se vor
analiza pe rând fiecare dintre acestea.
1. Cuplaje active
1. Cuplaje între două celule
Considerând două celule de memorie oarecare i și j, un cuplaj activ între i și j
determină ca o tranziție 0 → 1 sau 1 → 0 în celula i (notată ↑ i, respectiv ↓ i) să schimbe
şi starea celulei j, indiferent de starea celorlalte celule de memorie. Se spune, aşadar, că
celula i are o influenţă activă asupra celulei j. Aceasta nu implică și influența inversă,
deci o tranziţie în celula j poate afecta sau nu starea celulei i. În exemplul menționat,
celula i este denumită celulă agresoare (engl. aggressor cell), iar celula j, celulă victimă
(engl. victim cell).
15
Fig. 2.2 [38] reprezintă graful stărilor unei perechi de celule în lipsa oricărui defect, iar Fig.
2.2 [38] reflectă stările unei astfel de perechi în prezența unui defect de tip cuplaj.
Fig. 2.2. Graful stărilor pentru o pereche de celule de memorie
a. cu funcționare corectă; b. afectate de un defect de tip cuplaj
2. Cuplaje între mai multe celule
Considerând un grup de v celule (v ≥ 3), un cuplaj activ între celulele din grup
determină ca tranziția în una din celulele din grup (celula agresoare) să provoace o
schimbare a stării şi în altă celulă din grup (celulă victimă), în condițiile în care celelalte
v – 2 celule rămase (engl. enabling cells) se află într-o anume combinaţie de stări. Un
astfel de v-cuplaj poate apărea numai în cadrul unui grup de celule fizic vecine [39][40].
2. Cuplaje pasive
Considerând un grup cu v celule cuplate (v ≥ 2), un cuplaj pasiv determină imposibilitatea
trecerii unei celule din grup (celula victimă) într-o anumită stare (0 logic sau 1 logic) atunci
când celelalte v-1 celule din grup au o anumită combinaţie de stări. Acestea din urmă, numite
celule agresoare, exercită, prin intermediul stării în care se află, o influenţă pasivă asupra
celulei victime.
2.5. Teste de tip march
2.5.1 Clasificarea testelor de memorie
În prezent este cunoscut un mare număr de teste de memorie. Majoritatea dintre acestea au
fost elaborate în mod euristic și au un grad scăzut de detectare a defectelor. Un parametru foarte
important în ceea ce privește un test de memorie este lungimea acestuia, reprezentată de numărul
de operaţii cu memoria. Acest parametru reflectă durata testării. În funcție de lungime, testele se
împart în patru categorii, după clasele de complexitate ale algoritmilor: O(N), O(Nlog2N), O(N3/2
)
și O(N2). Câteva exemple de durate pentru cele patru categorii de teste sunt ilustrate în tabelul
2.1. Valorile corespund unei frecvențe de lucru de 600MHz.
16
Tabelul 2.1. Durata testării memoriei
Ordinul de complexitate al
testului
Mărimea memoriei
1Mbit 16Mbit 256Mbit
N 0.002 sec 0.028 sec 0.447 sec
Nlog2N 0.035 sec 0.671 sec 12.52 sec
N3/2 1.789 sec 1.9 min 2.03 ore
N2 0.5 ore 5.43 zile (!) 1390 zile (!)
2.5.2. Noțiuni legate de testele de tip march
Testele march sunt o clasă de teste de memorie de complexitate O(N). Datorită creşterii
capacităţii de memorare, testele march au fost tot mai mult aduse în atenţie, fiind singurele care
pot să asigure o testare eficientă într-un timp scurt. În prezent, testele march sunt cele mai
folosite în practică.
Pentru a face înţeles principiul testelor march, se vor introduce câteva notaţii si definiţii.
Un element march (M) este o secvenţă de operaţii care se aplică succesiv fiecărei celule de
memorie. Operaţiile pot fi de scriere a valorii 1 sau 0 logic (w1 respectiv w0) sau de citire a unei
valori de 1 sau 0 logic (r1 respectiv r0). În cazul detectării unui defect de memorie, valoarea
citită va fi diferită de cea aşteptată (precizată în elementul march)
Celulele pot fi parcurse în ordinea crescătoare a adreselor (), de la 0 la N - 1, sau în ordinea
descrescătoare a lor (). Simbolul indică faptul că ordinea de parcurgere a memoriei nu este
importantă. La modul general, simbolul poate să reflecte o ordine oarecare a adreselor de
memorie, iar simbolul ordinea inversă a acestor adrese.
O secvenţă march (SMi) este reprezentată sub forma (Mi) sau (Mi), în funcție de ordinea
de parcurgere și cuprinde toate operaţiile efectuate asupra memoriei la trecerea i.
Un test march (TM) reprezintă o înșiruire de m secvențe march într-o ordine dată,
TM = (M1); (M2); …….; (Mm-1); (Mm) .
2.5.3. Teste march cu diferite iniţializări (engl. backgrounds)
Într-un test march obişnuit, când se citeşte sau se scrie o celulă de memorie (fie aceasta
celula B), toate celulele cu adresă mai mică decât adresa lui B au aceeaşi valoare, respectiv toate
celulele cu adresă mai mare decât adresa lui B au aceeaşi valoare. De exemplu, atunci când se
aplică o secvenţa march (r0,w1), toate celulele cu adresă mai mare decât adresa lui B vor avea
valoarea 0 logic, şi toate celulele cu adresă mai mică decât adresa lui B vor avea valoarea 1
logic. În aceste condiții, la accesarea celulei B apar în vecinătatea acesteia doar patru configurații
posibile de valori.
Totuși, există defecte de memorie ce nu pot fi activate de un asemenea test march. În
schimb, este posibil să fie generate și alte combinaţii necesare activării unor defecte dacă se
17
folosesc diferite iniţializări pentru testele march [41][42]. În formalismul notațiilor elementele
march w0, r0 sunt înlocuite cu wa, respectiv ra, unde a reprezintă valoarea din schema de
iniţializare. De asemenea, w1 şi r1 sunt înlocuite cu wb, respectiv rb, unde b este complementul
lui a.
Iniţializarea uniformă are avantajul de a putea fi aplicată unei memorii a cărei structură
internă nu este cunoscută. Însă, pentru aplicarea unor scheme de iniţializare diferite de cea
uniformă, trebuie cunoscută maparea adreselor logice ale memoriei în adresele fizice.
2.6. Simularea software a defectelor permanente de memorie
Simularea software a defectelor permanente de memorie reprezintă o metodă experimentală
de determinare a eficienţei unui test de memorie relativ la un anumit model de defecte. În cadrul
acestei metode, mecanismul de adresare şi de transfer al datelor se consideră a fi fără eroare [43].
Într-un program de simulare, memoria este privită ca un vector cu N locaţii. Metoda
principală de evaluare a unui test de memorie constă în injectarea unui defect permanent pe
durata rulării algoritmului de testare, cu scopul de a proba capacitatea testului de a-l detecta.
Simularea prezenţei unui defect de memorie se poate realiza prin captarea întreruperii după
fiecare instrucţiune a testului (mai precis întreruperea TRAP).
Se ia ca exemplu un program de test T:
T=< I1, I2, …, Ij-1, Ij, Ij+1 …In > .
Fie R o rutină alocată întreruperii TRAP. De exemplu, rutina R = < M[i] = 1 > garantează
simularea unui blocaj la 1 logic în celula cu adresa i. Executând programul de test cu flag-ul
pentru întreruperea TRAP setat, rezultă următoarea secvenţă de instrucţiuni:
T‟=< I1, R ,I2, R , …, Ij-1, R , Ij, R , Ij+1, R …In, R >.
La executarea testului T‟, orice instrucțiune va găsi în locația i valoarea 1, deci se simulează
cu succes un blocaj la 1 al celulei de la adresa i. Structura unui program standard de simulare
pentru evaluarea gradului de acoperire a unui test de memorie este prezentat în cele ce urmează
sub forma de pseudocod. Programul ilustrat evaluează eficienţa unui test de memorie prin
raportarea numărului de defecte detectate la numărul total de defecte simulate.
defecte_simulate=0;
defecte_detectate=0;
WHILE exista defecte neverificate
simuleaza defect D;
defecte_simulate++;
ruleaza Test;
IF D este detectat THEN
defecte_detectate++;
ENDIF
ENDWHILE
EF = defecte_detectate/defecte_simulate * 100;
18
19
Capitolul 3
Defecte statice de tip cuplaj între două celule de memorie
Defectele de memorie pot fi împărțite în două mari categorii: defecte ce implică o singură
celulă de memorie (engl. single-cell) şi defecte ce implică mai multe celule de memorie (engl.
multi-cell). Cea mai populară clasă de defecte de tip multi-cell este aceea care implică doar două
celule (defect de tip cuplaj între două celule de memorie). În acest capitol se prezintă stadiul
actual al cercetărilor privind acest tip de defecte și se propune un test de memorie original
dedicat acestui model, cu performanţe superioare celorlalte teste publicate în literatura de
specialitate.
3.1. Descrierea modelului clasic de tip cuplaj între două celule de memorie
Dintre cele două celule de memorie ce formează un defect de tip cuplaj, una este celula
victimă – celula asupra căreia se exercită defectul, iar cealaltă, celula agresoare – celula care
favorizează, prin starea sau prin tranziția efectuată asupra sa, apariția defectului. Între cele două
celule influența poate fi simetrică (celula victimă și celula agresoare își pot schimba rolurile), sau
asimetrică. În general se studiază cuplajele asimetrice deoarece sunt mai dificil de detectat.
Modelul clasic de defecte de tip cuplaj între două celule de memorie este descris de 12
defecte primitive și conține trei categorii de defecte și anume:
Cuplaje active – O anumită tranziție în celula agresoare determină schimbarea stării celulei
victime.
Cuplaje pasive – Celula victimă nu poate executa o anumită tranziție atunci când celula
agresoare se află într-o anumită stare.
Defecte statice – Existența unei anumite valori în celula agresoare forțează apariția unei
anumite stări în celula victimă [1].
3.2. Modelul extins de tip cuplaj între două celule de memorie
În anul 1999 s-a realizat un studiu în cadrul căruia s-au aplicat un număr mare de teste de
memorie asupra unui număr mare de circuite de memorie [44]. S-a constatat că multe teste
funcționale detectau anumite circuite ca fiind defecte, însă defectele găsite nu puteau fi explicate
folosind modelele de defecte de memorie existente la acea dată. Ca urmare, s-au introdus noi
modele. Unul dintre acestea este modelul extins de defecte de tip cuplaj între două celule de
memorie (engl. all static 2-cell coupling faults).
20
Pe lângă defectele din modelul clasic, modelul extins conține defecte activate de o operație
de citire și defecte activate de o operație de scriere nontranzițională (scrierea unui 0 (1) într-o
celulă de memorie cu starea 0 (1) ) [25]. Pentru modelul extins, notația generală a unui defect
primitiv este următoarea: <S/F/R> = < Sa; Sv / F / R >a,v , în care Sa reprezintă secvența de
activare efectuată asupra celulei agresoare, iar Sv reprezintă valoarea sau tranziția de activare
executată asupra celulei victime. Sa și Sv pot conține următoarele simboluri: 0, 1, r0, r1, 0w0,
1w1, 0w1, 1w0. Semnificațiile simbolurilor sunt următoarele: 0 și 1 reprezintă starea 0 logic,
respectiv 1 logic a celulei de memorie, r0 și r1 semnifică o operație de citire a valorii 0, respectiv
1 logic, 0w0 și 1w1 reprezintă operații de scriere, iar 0w1 și 1w0 reprezintă scrieri tranziționale
(scrierea valorii 1 (0) într-o celulă care conține 0 (1) logic).
Defectele primitive din cadrul modelului extins sunt împărțite în 7 submodele, și anume:
State coupling faults (CFst);
Disturb coupling faults (CFds);
Transition coupling faults (CFtr);
Write destructive coupling faults (CFwd);
Read destructive coupling faults (CFrd);
Deceptive read destructive coupling faults (CFrd);
Incorrect read coupling faults (CFir) [25].
Într-un studiu efectuat de Kim și Chen [45], s-a demonstrat faptul că toate defectele din
modelul extins de tip cuplaj între două celule de memorie definit în [25] pot apărea în diferite
tipuri de implementări ale circuitelor de memorie RAM, atât SRAM cât şi DRAM.
3.3. Teste dedicate modelului extins de tip cuplaj între două celule de memorie
3.3.1. Testul March SS
Hamdioui, van de Goor și Rogers au propus testul March SS [26] de lungime 22N, a cărui
structură este următoarea:
March SS = (w0); (r0,r0,w0,r0,w1); (r1,r1,w1,r1,w0); (r0,r0,w0,r0,w1);
(r1,r1,w1,r1,w0); (r0).
3.3.2. Testul March S2C
Testul March S2C [46] este un test propus de Cașcaval, Silion și Stan. Lungimea testului
este, de asemenea, 22N.
March S2C = (w0); (r0, w1,r1,r1,w1); (r1, w0,r0,r0,w0); (r0, w1,r1,r1,w1);
(r1,w0,r0,r0,w0); (r0).
21
(w0);
M0
(r0, w1, w1, r1); (r1, w0, w0, r0); M1 M2
(r0, w1, w1, r1); (r1, w0, w0, r0); M3 M4
(r0);
M5
Fig. 3.1. Testul March AS2C
3.4. March AS2C – un nou test dedicat modelului extins de tip cuplaj între
două celule de memorie
3.4.1. Descrierea testului
Se propune un nou test de memorie, March AS2C, dedicat modelului extins de tip cuplaj
între două celule de memorie. Testul propus are o lungime de 18N, deci mai mică decât a
celorlalte două teste dedicate acestui model de defecte. Testul March AS2C este descris în Fig.
3.1.
Pentru evaluarea testului propus, s-a realizat un studiu bazat pe metoda de simulare descrisă
în subcapitolul 2.6. Studiul a arătat faptul că testul March AS2C acoperă în totalitate modelul
extins de două celule cuplate. Mai mult decât atât, pentru a demonstra analitic acest fapt, s-a
realizat un alt studiu, mai detaliat. În acest sens, tabelul 3.1 conține operația care activează și
operația care detectează fiecare defect primitiv al modelului. În tabel se disting două cazuri
diferite după cum adresa celulei victime este mai mare sau mai mică decât a celulei agresoare
(notate v > a, respectiv v < a). Simbolul Mi(j) notează operația cu numărul j din cadrul
elementului march Mi. De exemplu, M1(2) reprezintă operația a doua din cadrul elementului M1,
adică w1.
3.4.2. Compararea testului March AS2C cu alte teste de memorie
Prin compararea cu diferite teste de memorie folosite în industrie s-a constatat că testul
March AS2C este cel mai scurt test capabil să acopere în totalitate modelul de defecte de tip
cuplaj între două celule de memorie.
22
Tabelul 3.1. Detectarea defectelor de către testul March AS2C
# Defect primitive
a < v v < a
Operația de
activare
Operația de
detectare
Operația de
activare
Operația de
detectare
1 < 0; 0 / 1 / - > M0 M1(1) M0 M1(1)
2 < 0; 1 / 0 / - > M2(2) M2(1) M1(2) M1(4)
3 < 1; 0 / 1 / - > M1(2) M1(1) M2(2) M2(4)
4 < 1; 1 / 0 / - > M1(2) M1(4) M1(2) M2(1)
5 < r0; 0 / / - > M1(1) M1(1) M2(4) M3(1)
6 < r0; 1 / / - > M2(4) M2(1) M1(1) M2(1)
7 < r1; 0 / / - > M1(4) M1(1) M2(1) M3(1)
8 < r1; 1 / / - > M2(1) M2(1) M1(4) M2(1)
9 < 0w0; 0/ / - > M4(3) M5 M2(3) M3(1)
10 < 0w0; 1/ / - > M2(3) M2(1) M4(3) M4(1)
11 < 1w1; 0/ / - > M1(3) M1(1) M3(3) M3(1)
12 < 1w1; 1/ / - > M3(3) M4(1) M1(3) M2(1)
13 < 0w1; 0/ / - > M1(2) M1(1) M3(2) M3(1)
14 < 0w1; 1/ / - > M3(2) M4(1) M1(2) M2(1)
15 < 1w0; 0/ / - > M4(2) M5 M2(2) M3(1)
16 < 1w0; 1/ / - > M2(2) M2(1) M4(2) M4(1)
17 < 0; 0w1/ 0 / - > M3(2); M3(3) M3(4) M1(2);
M1(3)
M1(4)
18 < 1; 0w1/ 0 / - > M1(2); M1(3) M1(4) M3(2);
M3(3)
M3(4)
19 < 0; 1w0 / 1 / - > M2(2); M2(3) M2(4) M4(2);
M4(3)
M4(4)
20 < 1; 1w0 / 1 / - > M4(2); M4(3) M4(4) M2(2);
M2(3)
M2(4)
21 < 0; 0w0 / / - > M2(3) M2(4) M4(3) M4(4)
22 < 1; 0w0 / / - > M4(3) M4(4) M2(3) M2(4)
23 < 0; 1w1 / / - > M3(3) M3(4) M1(3) M1(4)
24 < 1; 1w1 / / - > M1(3) M1(4) M3(3) M3(4)
25 < 0; r0 / / 1 > M2(4) M2(4) M1(1) M1(1)
26 < 1; r0 / / 1 > M1(1) M1(1) M2(4) M2(4)
27 < 0; r1 / / 0 > M2(1) M2(1) M1(4) M1(4)
28 < 1; r1 / / 0 > M1(4) M1(4) M2(1) M2(1)
29 < 0; r0 / / 0 > M2(4) M3(1) M4(4) M5
30 < 1; r0 / / 0 > M4(4) M5 M2(4) M3(1)
31 < 0; r1 / / 1 > M3(4) M4(1) M1(4) M2(1)
32 < 1; r1 / / 1 > M1(4) M2(1) M3(4) M4(1)
33 < 0; r0 / 0 / 1 > M2(4) M2(4) M1(1) M1(1)
34 < 1; r0 / 0 / 1 > M1(1) M1(1) M2(4) M2(4)
35 < 0; r1 / 1 / 0 > M2(1) M2(1) M1(4) M1(4)
36 < 1; r1 / 1 / 0 > M1(4) M1(4) M2(1) M2(1)
23
Capitolul 4
Modelul NPSF (engl. neighborhood pattern sensitive fault)
În acest capitol este prezentat modelul de defecte de tip NPSF (engl. neighborhood pattern
sensitive fault) și sunt descrise câteva teste din literatura de specialitate dedicate acestui model.
Totodată, este prezentat un nou test de memorie, March-76N, capabil să acopere în totalitate
modelul studiat.
4.1. Descrierea defectelor de tip NPSF
Pentru început, se defineşte modelul PSF (engl. pattern sensitive fault) ca fiind un caz de
cuplaj multiplu în care funcționarea unei celule de memorie este influenţată de diferite
combinaţii ale celorlalte celule de memorie [47][48]. Celula afectată se numește celulă victimă,
iar celulele care influențează starea celulei victime se numesc celule agresoare. Totuși, este
inutil să se ia în consideraţie toate combinaţiile posibile ale tuturor celulelor de memorie. Din
acest motiv, modelul PSF a fost redus la NPSF (engl. neighborhood pattern sensitive fault), în
care, aşa cum spune şi numele, pot forma un astfel de cuplaj doar celulele fizic vecine. Aşadar,
pentru modelul NPSF celula victimă şi celulele agresoare sunt localizate astfel :
Celula victimă, numită și celulă centrală sau de bază (engl. base cell) se află în mijloc;
Celulele agresoare sunt celulele fizic vecine cu celula de bază. Această vecinătate este
formată din 4 celule pentru modelul PSF-1, respectiv din 8 celule pentru modelul PSF-2
(Fig. 4.1).
Acest model de defecte se găseşte atât în circuite SRAM cât şi în circuite DRAM, având
probabilităţi de apariţie diferite, în funcţie de implementare. Studiile efectuate au evidențiat
faptul că modelul PSF-1 este mai practic pentru memoriile RAM cu densitate de integrare
ridicată și pentru circuitele de memorie care au celulele organizate în matrici bidimensionale
[49][50]. Din acest motiv, teza de față se concentrează doar asupra modelului PSF-1.
PSF-1 PSF-2
Figura 4.1. Configuraţiile PSF-1 şi PSF-2 ale modelului NPSF
N
W B E
S
NW N NE
W B E
SW S SE
24
Vecinătatea poate exercita asupra celulei centrale o influenţă activă (engl. active-
neighborhood-pattern-sensitive fault – ANPSF), una pasivă (engl. passive-neighborhood-
pattern-sensitive fault – PNPSF) sau una statică (engl. static-neighborhood-pattern-sensitive
fault – SNPSF) [28][51].
În cazul particular al defectelor de tip NPSF, defectul primitiv se exprimă sub forma
<S/F/R> = < SN; SV; SE; SS; B / Bf >, în care SN, SV, SE, SS sunt secvenţele de activare executate
asupra celulelor agresoare (N, V, E, S), B este valoarea sau tranzacția de activare executată
asupra celulei centrale, iar Bf este valoarea eronată care apare în celula de bază ca urmare a
defectului de memorie; SN, SV, SE, SS, B, Bf pot conține următoarele simboluri: 0, 1, ↑ , ↓ .
Simbolurile 0 și 1 semnifică faptul că celula respectivă se află în starea 0 logic, respectiv 1 logic.
Simbolurile ↑ și ↓ semnifică o tranziție din 0 logic în 1 logic, respectiv din 1 logic în 0 logic.
4.1.1. Modelul ANPSF
Modelul ANPSF (engl. active-neighborhood-pattern-sensitive fault) se defineşte astfel:
celula de bază este forţată la valoarea 0 logic sau 1 logic atunci când se execută o tranziţie din 0
în 1 (↑) sau din 1 în 0 (↓) în una din celulele din vecinătate, în condiţiile în care celelalte celule
din vecinătate au o anumită combinaţie de valori.
Există 128 de defecte de tip ANPSF, prezentate în tabelul 4.1.
4.1.2. Modelul PNPSF
Modelul PNPSF (passive-neighborhood-pattern-sensitive fault) este definit astfel: celula de
bază nu îşi poate schimba valoarea din 1 logic în 0 logic sau invers, dacă celulele din vecinătate
(celulele agresoare) sunt într-o anumită stare. Există 32 de defecte de tip PNPSF, reprezentate în
tabelul 4.2.
4.1.3. Modelul SNPSF
Modelul SNPSF (static-neighborhood-pattern-sensitive fault) este definit astfel: celula de
bază este forţată la 1 logic sau la 0 logic în condițiile existenței unei anumite combinaţii de valori
în celulele din vecinătate. Aparent, acest tip de defecte ar putea fi asimilat de defectele de tip
ANPSF, dar de această dată defectul nu apare doar la execuţia unei tranziţii, ci poate fi observat
încă de la resetarea sistemului (şi implicit a memoriei).
Există 32 de defecte de tip SNPSF, reprezentate în tabelul 4.3.
25
Tabelul 4.1. Defecte primitive pentru modelul ANPSF
<000↑; 0/1> <00↑0; 0/1> <0↑00; 0/1> <↑000; 0/1>
<001↑; 0/1> <00↑1; 0/1> <0↑01; 0/1> <↑001; 0/1>
<010↑; 0/1> <01↑1; 0/1> <0↑10; 0/1> <↑010; 0/1>
<011↑; 0/1> <01↑1; 0/1> <0↑11; 0/1> <↑011; 0/1>
<100↑; 0/1> <10↑0; 0/1> <1↑00; 0/1> <↑100; 0/1>
<101↑; 0/1> <10↑1; 0/1> <1↑01; 0/1> <↑101; 0/1>
<110↑; 0/1> <11↑0; 0/1> <1↑10; 0/1> <↑110; 0/1>
<111↑; 0/1> <11↑1; 0/1> <1↑11; 0/1> <↑111; 0/1>
<000↓; 0/1> <00↓0; 0/1> <0↓00; 0/1> <↓000; 0/1>
<001↓; 0/1> <00↓1; 0/1> <0↓01; 0/1> <↓001; 0/1>
<010↓; 0/1> <01↓0; 0/1> <0↓10; 0/1> <↓010; 0/1>
<011↓; 0/1> <01↓1; 0/1> <0↓11; 0/1> <↓011; 0/1>
<100↓; 0/1> <10↓0; 0/1> <1↓00; 0/1> <↓100; 0/1>
<101↓; 0/1> <10↓1; 0/1> <1↓01; 0/1> <↓101; 0/1>
<110↓; 0/1> <11↓0; 0/1> <1↓10; 0/1> <↓110; 0/1>
<111↓; 0/1> <11↓1; 0/1> <1↓11; 0/1> <↓111; 0/1>
<000↑; 1/0> <00↑0; 1/0> <0↑00; 1/0> <↑000; 1/0>
<001↑; 1/0> <00↑1; 1/0> <0↑01; 1/0> <↑001; 1/0>
<010↑; 1/0> <01↑0; 1/0> <0↑10; 1/0> <↑010; 1/0>
<011↑; 1/0> <01↑1; 1/0> <0↑11; 1/0> <↑011; 1/0>
<100↑; 1/0> <10↑0; 1/0> <1↑00; 1/0> <↑100; 1/0>
<101↑; 1/0> <10↑1; 1/0> <1↑01; 1/0> <↑101; 1/0>
<110↑; 1/0> <11↑0; 1/0> <1↑10; 1/0> <↑110; 1/0>
<111↑; 1/0> <11↑1; 1/0> <1↑11; 1/0> <↑111; 1/0>
<000↓; 1/0> <00↓0; 1/0> <0↓00; 1/0> <↓000; 1/0>
<001↓; 1/0> <00↓1; 1/0> <0↓01; 1/0> <↓001; 1/0>
<010↓; 1/0> <01↓0; 1/0> <0↓10; 1/0> <↓010; 1/0>
<011↓; 1/0> <01↓1; 1/0> <0↓11; 1/0> <↓011; 1/0>
<100↓; 1/0> <10↓0; 1/0> <1↓00; 1/0> <↓100; 1/0>
<101↓; 1/0> <10↓1; 1/0> <1↓01; 1/0> <↓101; 1/0>
<110↓; 1/0> <11↓0; 1/0> <1↓10; 1/0> <↓110; 1/0>
<111↓; 1/0> <11↓1; 1/0> <1↓11; 1/0> <↓111; 1/0>
Tabelul 4.2. Defecte primitive pentru modelul PNPSF
<0000; ↑/0> <1000; ↑/0> <0000; ↓/1> <1000; ↓/1>
<0001; ↑/0> <1001; ↑/0> <0001; ↓/1> <1001; ↓/1>
<0010; ↑/0> <1010; ↑/0> <0010; ↓/1> <1010; ↓/1>
<0011; ↑/0> <1011; ↑/0> <0011; ↓/1> <1011; ↓/1>
<0100; ↑/0> <1100; ↑/0> <0100; ↓/1> <1100; ↓/1>
<0101; ↑/0> <1101; ↑/0> <0101; ↓/1> <1101; ↓/1>
<0110; ↑/0> <1110; ↑/0> <0110; ↓/1> <1110; ↓/1>
<0111; ↑/0> <1111; ↑/0> <0111; ↓/1> <1111; ↓/1>
26
Tabelul 4.3. Defecte primitive pentru modelul SNPSF
<0000; -/0> <1000; -/0> <0000; -/1> <1000; -/1>
<0001; -/0> <1001; -/0> <0001; -/1> <1001; -/1>
<0010; -/0> <1010; -/0> <0010; -/1> <1010; -/1>
<0011; -/0> <1011; -/0> <0011; -/1> <1011; -/1>
<0100; -/0> <1100; -/0> <0100; -/1> <1100; -/1>
<0101; -/0> <1101; -/0> <0101; -/1> <1101; -/1>
<0110; -/0> <1110; -/0> <0110; -/1> <1110; -/1>
<0111; -/0> <1111; -/0> <0111; -/1> <1111; -/1>
4.2. Teste dedicate modelul NPSF
4.2.1. Testul propus de Suk şi Reddy pentru detectarea defectelor NPSF (testul SR)
Testul propus de Suk şi Reddy [36] (la care se va referi de acum cu numele de testul SR)
este alcătuit din două părţi:
Testul TANPSF1 – pentru defecte de tip ANPSF,
Testul TLPNPSF1 – pentru defecte de tip PNPSF.
Defectele de tip SNPSF pot fi detectate de oricare din cele două teste.
Testul împarte mulțimea celulelor de memorie în două partiții și aplică o serie de tranziții
pentru a acoperi toate combinațiile posibile victimă-agresori.
Testul SR se obţine prin concatenarea celor două teste. Se obţine testul SR = TLPNPSF1||
TANPSF1 de lungime 165,5N.
4.2.2. Testul March-100N
Testul March-100N [52] propus de Cheng, Tsai şi Wu este un test march aplicat pe cele 8
scheme de inițializare prezentate în Fig. 4.2. Testul march este următorul:
March-100N = (wa); (ra, wb, wa); (ra, wb); (rb, wa, wb); (rb, wa); (ra)
Rezultă un test de memorie de lungime 96N. La acesta s-au mai adaugat două elemente march
pentru schema de inițializare BG1: (ra, wb); (rb, wa), cu scopul ca testul rezultat să
detecteze și toate defectele de tip cuplaj dintre două celule de memorie. În final, rezultă un test
de lungime 100N.
27
0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1
0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1
BG1 BG2 BG3 BG4
Fig. 4.2. Inițializarea memoriei la testul March-100N
4.2.3. Testul March 96N
Testul March 96N propus de Cheng, Tsai şi Wu [52] este un test de memorie cu inițializări
multiple, în care elementele march (wa); (ra, wb, rb, wa); (ra) se aplică de 16 ori.
Schemele de inițializare folosite sunt prezentate în Fig. 4.3.
0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 1
BG1 BG2 BG3 BG4 BG5 BG6 BG7 BG8
0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 BG9 BG10 BG11 BG12 BG13 BG14 BG15 BG16
Fig. 4.3. Inițializarea memoriei la testul CM-79N
Prima operaţie de scriere iniţializează celulele de memorie cu valorile din schema de
iniţializare. La aplicarea celui de-al doilea element march se efectuează două tranziții în celula
adresată. Dacă aceasta este celula de bază într-o configurație de celule cuplate, atunci se poate
activa un defect de tip PNPSF. Dacă celula adresată este o celulă agresoare, atunci poate fi
activat un defect ANPSF sau SNPSF.
4.2.3. Testul CM-79N
Autorii propun o reducere a lungimii testului March 96N. Se observă că unele operații sunt
redundante și pot fi eliminate. Ca urmare, la prima scriere din testul march se scriu doar valorile
care se modifică de la o schemă de inițializare la următoarea (în Fig. 4.3 se observă că de la o
schemă de inițializare la alta se schimbă doar patru din cele nouă valori), astfel reducându-se
lungimea testului cu 15 × 5N/9 = 8⅓N operații. Similar, la finalul testului march nu se citesc
0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1
BG5 BG6 BG7 BG8
28
decât locațiile ale căror valori vor fi modificate de inițializarea următoare, cele nemodificate
urmând a fi citite în cadrul background-ului următor la prima operație de citire. Așadar,
lungimea testului March 96N se mai reduce cu 15 × 5N/9 = 8⅓N operații.
În concluzie, testul rezultat, numit de autori CM-79N, are lungimea 96N - 16⅔N = 79⅓N.
4.3. March-76N - un nou test de memorie dedicat defectelor de tip NPSF
În urma unor cercetări sistematice dedicate modelului de defecte de tip NPSF, care s-au
întins pe mai mulţi ani, am reuşit să elaborez un nou test de memorie, cu performanţe superioare
celui de referinţă în literatura de specialitate, testul CM-79N, propus de Cheng, Tsai şi Wu.
Acest nou test de memorie, pe care l-am numit March-76N, constituie una din principalele
contribuţii originale prezentate în teză.
Testul March-76N este tot un test march cu 16 iniţializări diferite ca şi testul CM-79N. Cele
16 scheme de inițializare folosite la aplicarea testului propus sunt prezentate în Fig. 4.4. Testul
este compus dintr-o serie alternantă de elemente march și secvențe de verificare și reinițializare
(așa cum a propus pentru prima dată Cockburn în [53]).
Structura testului este următoarea:
March-76N = (w0); [ (ra, wb); (rb, wa) ; CBGi ], i =1, 2, …, 16 ,
în care CBGi este o secvenţă destinată verificării memoriei și trecerii de la inițializarea cu BGi-1
la inițializarea cu BGi.
Mai precis, secvenţa CBGi are următoarea semnificaţie:
CBGi, i =1, 2, …, 15, reinițializează memoria, trecând de la BGi-1 la BGi. Deoarece fiecare
astfel de schimbare afectează doar o treime din celulele de memorie (3 din cele 9 celule ale
schemei de iniţializare se modifică de la un background la următorul), doar acele celule care
trebuie să îşi schimbe starea sunt scrise. De asemenea, aceste operaţii de scriere sunt
precedate şi de o operaţie de citire pentru verificarea celulei.
CBG16 citeşte toate celulele de memorie pentru verificarea finală (CBG16 = (ra)).
0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0
BG0 BG1 BG2 BG3 BG4 BG5 BG6 BG7
0 0 1 1 0 1 0 1 0 0 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 BG8 BG9 BG10 BG11 BG12 BG13 BG14 BG15
Fig. 4.4. Inițializarea memoriei la testul March-76N
29
Aşadar, testul March-76N cuprinde următoarele operaţii:
N operaţii pentru inițializarea cu 0 a memoriei (primul element march);
[2N + 2N + 2 × 3N/9 ] × 15 = 70N operaţii, pentru primele cincisprezece serii de elemente
march şi schimbări de background;
2N + 2N + N = 5N operații pentru a şaisprezecea serie de elemente march și verificarea
finală.
În consecinţă, lungimea totală a noului test de memorie este N + 70N + 5N = 76N.
Teza conține și o demonstrație analitică a faptului că testul March-76N acoperă modelul de
tip NPSF, aceste rezultate fiind publicate în [54].
4.4. Evaluarea comparativă a testelor dedicate defectelor de tip NPSF
Au fost realizate studii de simulare pentru toate testele de memorie descrise în acest capitol,
rezultatele fiind prezentate în tabelul 4.4. Se observă că testul March-76N este cel mai scurt test
care acoperă în totalitate modelul de defecte de tip NPSF.
Tabelul 4.4. Rezultatele comparative pentru testele dedicate modelului NPSF
Algoritm Grad de
acoperire Lungime
SR 100% 165,5N
March-100N 100% 100N
March 96N 100% 96N
CM-79N 100% 79⅓N
March-76N 100% 76N
4.5. Concluzii
În urma studierii testelor dedicate modelului NPSF, am propus un nou test de memorie
(March-76N), cu lungime mai scurtă decât a celorlalte teste din literatură dedicate acestui model.
Verificarea acoperirii modelului NSPF de către noul test s-a realizat atât printr-un program de
simulare, cât și printr-o demonstrație analitică (prezentată în teză).
30
31
Capitolul 5
Studiu privind defectele înlănțuite de tip NPSF
Testele descrise în capitolul anterior au fost verificate pentru defecte simple, ce nu se
influențează unul pe celălalt. În acest capitol se face o analiză a defectelor înlănțuite și se
evaluează capacitatea testelor dedicate modelului NPSF de acoperire a acestora.
5.1. Definiții
Așa cum s-a precizat în capitolele anterioare, pentru descrierea unui defect primitiv de
memorie se folosește o notație de forma D = < S / F / R >, în care S reprezintă secvența de
activare, F descrie comportarea anormală a memoriei la aplicarea secvenței S, iar R reflectă
rezultatul citirii. Datorită specificului defectelor de tip NPSF, notația pentru un defect primitiv
este particularizată, astfel încât în continuarea acestui capitol un defect primitiv de tip NPSF este
notat astfel: <N V E S ; B/Bf>, în care:
N, V, E, S reprezintă starea sau tranziția de activare pentru cele patru celule agresoare N, V,
E, respectiv S;
B este starea sau tranzacția de activare corespunzătoare celulei centrale;
Bf descrie comportamentul eronat al celulei de bază (valoarea eronată care apare în celula de
bază din cauza defectului de memorie).
Un defect compus este un defect pentru a cărui descriere sunt necesari cel puțin doi vectori
D. Cu alte cuvinte, atunci când există cel puțin două defecte primitive cu aceeași localizare
(aceeași celulă victimă, aceleași celule agresoare), acestea formează un defect compus. În cazul
defectelor compuse de tip NPSF, acestea sunt formate din cel puțin două defecte primitive care
au aceeași celulă de bază (celulele agresoare se găsesc în jurul celulei de bază, deci atunci când
pentru două defecte celula de bază coincide, vor coincide și celulele agresoare).
Defectele compuse sunt, în general, mai ușor de detectat decât defectele primitive, deoarece
sunt mai ușor de activat. Aceasta se justifică prin faptul că activarea unui defect compus poate fi
realizată prin activarea oricărui defect primitiv din componența sa. Există, însă, și cazul unor
defecte compuse ce conțin defecte primitive cu efect contrar asupra celulei victime, existând
astfel posibilitatea să se mascheze unul pe celălalt. Acestea se numesc defecte înlănțuite (engl.
linked faults).
Defectele înlănțuite de tip NPSF sunt formate din cel puțin două defecte primitive cu efect
contrar asupra celulei de bază. Un exemplu de astfel de defect este următorul:
D1= <1↑00; 1/0>, D2= <101↑; o/1>.
Se observă că o tranziție din 0 logic în 1 logic în celula agresoare V produce o tranziție și în
celula de bază din 1 logic în 0 logic, atunci când celelalte celule agresoare au valorile 1, 0, 0
32
pentru locațiile N, E, respectiv S. Totodată, o tranziție din 0 în 1 în celula agresoare S va
determina o tranziție din 0 logic în 1 logic în celula de bază în condițiile în care restul de celule
agresoare prezintă valorile 1, 0, 1 în locațiile N, V, respectiv E. Se constată că atunci când între
activările celor două defecte primitive D1 și D2 nu se execută citirea celulei de bază, atunci
următoarea operație de citire va găsi celula centrală cu valoarea 1, deci nu se observă că ar exista
vreun defect de memorie. Așadar, o posibilitate de detectare a defectelor înlănțuite este
executarea de citiri cât mai dese pentru a scădea cât mai mult probabilitatea de activare a
defectelor înlănţuite fără citiri intermediare [55].
5.2. Simularea defectelor înlănțuite de tip NPSF
Așa cum am precizat în subcapitolul anterior, defectele înlănțuite sunt alcătuite dintr-un
număr par de defecte primitive. Cum probabilitatea de apariție a unui defect înlănțuit alcătuit din
patru sau mai multe defecte primitive este mică, pentru studiul efectuat s-au luat în considerare
doar defectele înlănțuite compuse din două defecte primitive.
Așadar, din numărul total de defecte primitive de tip NPSF (192) s-au alcătuit toate
perechile de defecte cu efect contrar asupra celulei de bază: există 96 de defecte primitive care
schimbă valoarea celulei de bază din 0 logic în 1 logic și 96 de defecte primitive ce realizează
tranziția inversă (din 1 logic în 0 logic), rezultă deci 96 × 96 = 9216 defecte înlănțuite.
Simularea propriu-zisă a defectelor NPSF înlănțuite se realizează în același mod ca la
defectele primitive: o rutină asociată întreruperii TRAP care analizează starea celulelor agresoare
și a tranziției ce urmează să se efectueze și, dacă acestea coincid cu unul din defectele primitive
din perechea considerată, atunci schimbă starea celulei de bază.
5.3. Evaluarea testelor dedicate defectelor NPSF privind detectarea defectelor
înlănțuite
S-a realizat simularea prin program a fiecărui test dedicat defectelor de tip NPSF descris în
capitolul anterior pentru a determina gradul de acoperire a defectelor înlănțuite de tip NPSF.
Pentru testul SR, gradul de acoperire obținut este de 100%. Acest lucru era ușor de intuit,
deoarece în cadrul testului SR, după fiecare tranziție se execută citirea celulelor din submulțimea
complementară, așadar după fiecare activare de defect, se urmărește observarea efectului acestei
activări.
Pentru testul March-100N, gradul de acoperire pentru defecte NPSF înlănțuite este de
asemenea de 100%. Lungimea destul de mare a testului considerat asigură detectarea tuturor
defectelor de acest tip.
În ceea ce privește testul CM-79N, există un număr de defecte înlănțuite de tip NPSF care
nu sunt detectate de acesta. Rezultatele acestea au fost prezentate în [56] și [57].
Simulările executate asupra testului nou, March-76N, descris în capitolul anterior, arată că
acesta detectează toate defectele înlănțuite de tip NPSF. Așadar, pe lângă avantajul faptului că
33
testul propus este cel mai scurt test capabil să acopere în totalitate modelul de defecte simple de
tip NPSF, acesta detectează și defectele înlănțuite de tip NPSF.
Teza conține demonstrația analitică a faptului că testul nou propus, March-76N, acoperă
defectele înlănțuite de tip NPSF.
5.4. Concluzii
Se observă că testele de memorie mai lungi (SR și March-100N) detectează toate defectele
înlănțuite de tip NPSF. În schimb, testele mai scurte (March 96N și CM-79N) lasă neacoperite
un număr însemnat de astfel de defecte. Excepție face testul de memorie propus în capitolul
anterior, March-76N care, deși este cu 4.2% mai mic decât cel mai scurt test din literatură
dedicat defectelor simple de tip NPSF, detectează și toate defectele înlănțuite de tip NPSF. Din
acest motiv apreciez că testul March-76N constituie o contribuţie ştiinţifică semnificativă la
detectarea defectelor de tip NPSF.
34
35
Capitolul 6
Studiu privind un model extins de defecte de tip NPSF
În ultimii ani au fost definite mai multe modele de defecte având la bază modelul extins de
tip cuplaj între două celule de memorie definit de Hamdioui, van de Goor şi Rodgers [26].
Acestea sunt modelul extins de tip cuplaj între 3 celule de memorie [58] și modelul extins de tip
cuplaj între 4 celule de memorie [59].
În cadrul cercetărilor pentru teza de doctorat, am extins studiul asupra modelului de defecte
de tip NPSF. Acest capitol cuprinde rezultatele obținute în această direcție. Mai întâi este definit
modelul extins de defecte de tip NPSF și este prezentat un set de defecte primitive pentru
descrierea acestuia. În continuare sunt analizate performanțele testelor dedicate modelului clasic
NPSF în ceea ce privește capacitatea acestora de a detecta defecte din modelul extins.
Rezultatele obținute prin simulare arată că testele evaluate au un grad de acoperire scăzut.
Lucrarea prezintă un nou test de memorie capabil să acopere integral acest model complex.
6.1. Descrierea modelului
Modelul extins de tip NPSF conține, pe lângă defectele clasice de tip NPSF, și defecte care
se activează printr-o operaţie de citire sau una de scriere nontranzițională (scrierea unui 0 (1)
într-o celulă de memorie cu starea 0 (1) ). S-a identificat pentru modelul extins un set de defecte
primitive pentru următoarele clase de defecte:
State coupling faults (CFst),
Disturb coupling faults (CFds),
Transition couplig faults (CFtr),
Write destructive coupling faults (CFwd),
Read destructive coupling faults (CFrd),
Deceptive read destructive coupling faults (CFdrd),
Incorrect read destructive coupling faults (CFir).
Pentru descrierea defectelor primitive ce definesc modelul se foloseşte notația consacrată
<S/F/R>, în care S defineşte secvenţa de activare, F – efectul pe care îl are defectul asupra celulei
victime, iar R – valoarea citită, pentru cazul în care S conține o operație de citire. În cazul
particular al defectelor de tip NPSF, defectul primitiv se exprimă sub forma
<S/F/R> = < SN; SW; SE; SS; SB /F/R>, în care SN, SW, SE, SS descriu stările sau operațiile de
activare executate asupra celulelor agresoare (N, W, E, S), iar SB este secvenţa de activare
executată asupra celulei de bază (B). De precizat că SN, SW, SE, SS, SB 0, 1, 0w0, 1w1, 0w1,
1w0, r0, r1.
Tabelul 6.1 conține 576 de defecte primitive care acoperă noul model extins de tip NPSF.
36
Tabelul 6.1. Modelul NPSF extins (partea I)
Defecte primitive Clasa de defecte
<x; y; z; t; 0 / 1 / - > x, y, z, t 0, 1 CFst
<x; y; z; t; 1 / 0 / - >
<r0; x; y; z; 0 / 1 / - >
x, y, z 0, 1 CFds
<r0; x; y; z; 1 / 0 / - >
<r1; x; y; z; 0 / 1 / - >
<r1; x; y; z; 1 / 0 / - >
<0w0; x; y; z; 0 / 1 / - >
<0w0; x; y; z; 1 / 0 / - >
<1w1; x; y; z; 0 / 1 / - >
<1w1; x; y; z; 1 / 0 / - >
<0w1; x; y; z; 0 / 1 / - >
<0w1; x; y; z; 1 / 0 / - >
<1w0; x; y; z; 0 / 1 / - >
<1w0; x; y; z; 1 / 0 / - >
<x; r0; y; z; 0 / 1 / - >
<x; r0; y; z; 1 / 0 / - >
<x; r1; y; z; 0 / 1 / - >
<x; r1; y; z; 1 / 0 / - >
<x; 0w0; y; z; 0 / 1 / - >
<x; 0w0; y; z; 1 / 0 / - >
<x; 1w1; y; z; 0 / 1 / - >
<x; 1w1; y; z; 1 / 0 / - >
<x; 0w1; y; z; 0 / 1 / - >
<x; 0w1; y; z; 1 / 0 / - >
<x; 1w0; y; z; 0 / 1 / - >
<x; 1w0; y; z; 1 / 0 / - >
<x; y; r0; z; 0 / 1 / - >
<x; y; r0; z; 1 / 0 / - >
<x; y; r1; z; 0 / 1 / - >
<x; y; r1; z; 1 / 0 / - >
<x; y; 0w0; z; 0 / 1 / - >
<x; y; 0w0; z; 1 / 0 / - >
<x; y; 1w1; z; 0 / 1 / - >
<x; y; 1w1; z; 1 / 0 / - >
<x; y; 0w1; z; 0 / 1 / - >
<x; y; 0w1; z; 1 / 0 / - >
<x; y; 1w0; z; 0 / 1 / - >
<x; y; 1w0; z; 1 / 0 / - >
<x; y; z; r0; 0 / 1 / - >
<x; y; z; r0; 1 / 0 / - >
<x; y; z; r1; 0 / 1 / - >
<x; y; z; r1; 1 / 0 / - >
<x; y; z; 0w0; 0 / 1 / - >
<x; y; z; 0w0; 1 / 0 / - >
<x; y; z; 1w1; 0 / 1 / - >
<x; y; z; 1w1; 1 / 0 / - >
<x; y; z; 0w1; 0 / 1 / - >
<x; y; z; 0w1; 1 / 0 / - >
<x; y; z; 1w0; 0 / 1 / - >
<x; y; z; 1w0; 1 / 0 / - >
37
Tabelul 6.1. Modelul NPSF extins (partea a II-a)
Defecte primitive Clasa de defecte
<x; y; z; t; 0w1 / 0 / - > x, y, z, t 0, 1 CFtr
<x; y; z; t; 1w0 / 1 / - >
<x; y; z; t; 0w0 / 1 / - > x, y, z, t 0, 1 CFwd
<x; y; z; t; 1w1 / 0 / - >
<x; y; z; t; r0 / 1 / 1 > x, y, z, t 0, 1 CFrd
<x; y; z; t; r1 / 0 / 0 >
<x; y; z; t; r0 / 1 / 0 > x, y, z, t 0, 1 CFdrd
<x; y; z; t; r1 / 0 / 1 >
<x; y; z; t; r0 / 0 / 1 > x, y, z, t 0, 1 CFir
<x; y; z; t; r1 / 1 / 0 >
6.2. Evaluarea testelor dedicate modelului NPSF clasic privind acoperirea
modelului extins
Folosind un program propriu care implementează metoda de simulare a defectelor prezentată
în subcapitolul 2.6, s-a determinat gradul de acoperire a defectelor din modelul NPSF extins
pentru toate testele descrise în capitolele anterioare.
Pentru testul SR, valoarea obţinută este de aproximativ 49,20. Aceasta semnifică faptul că în
afară de cele 192 de defecte clasice (ce reprezintă 33,33% din totalul de defecte din modelul
extins), testul SR mai detectează încă aproximativ 96 de defecte din următoarele clase: CFrd,
CFir, iar din clasa CFdrd, defectele activate de citirea lui 0 logic.
Folosind aceeaşi metodă de simulare a defectelor se determină și gradul de acoperire a
testului CM-79N pentru modelul NPSF extins: 66,67%. Aceasta semnifică faptul că în afară de
cele 192 de defecte clasice, testul CM-79N mai detectează încă 192 de defecte din următoarele
clase: CFds (toate defectele activate de citirea lui 0 logic şi 1 logic) şi toate defectele de tip CFrd
şi CFir.
Testul CM-79N provine din testul March 96N, din care s-au omis câteva operaţii de scriere
ce nu schimbau starea memoriei şi câteva operaţii de citire ce nu erau necesare pentru detectarea
defectelor NPSF clasice. În schimb, pentru noile tipuri de defecte ale modelul NPSF extins,
acestea pot fi utile. Aşadar, gradul de acoperire a testului March 96N pentru modelul NPSF
extins este mai mare decât al testului CM-79N, și anume aproximativ 70,95%. În plus faţă de
testul anterior, acest test detectează câteva defecte din clasa CFds (activate de scrieri
nontranziționale) şi din clasa CFwd.
În ceea ce priveşte testul March-100N, acesta are un grad de acoperire de aproximativ
66,04%. În afară de defectele clasice se mai detectează defecte din clasele CFds, CFwd, CFrd şi
toate defectele din clasa CFir.
Testul March-76N are un grad de acoperire similar cu cel al testului CM-79N, și anume
66,67%.
Motivul pentru care aceste valori sunt ușor aproximative este faptul că acestea diferă cu
câteva sutimi în funcție de poziţia celulei de bază. Valorile redate sunt obţinute prin calcularea
38
mediei aritmetice între valorile obţinute pentru 9 poziţii reprezentative ale celulei de bază în
cazul testelor March 96N şi CM-79N, respectiv 16 poziţii reprezentative pentru testul March-
100N.
Rezultatele studiului sunt redate în tabelul 6.2, fiind publicate, de asemenea, și în [60].
Tabelul 6.2. Gradul de acoperire a modelului NPSF extins
# Test de
memorie
Grad de acoperire a
defectelor (%) Lungimea testului
1 SR 49,20 165N
2 March 96N 70,95 96N
3 CM-79N 66,67 79⅓N
4 March-100N 66,04 100N
5 March-76N 66,67 67N
6.3. March ENPSF – un nou test de memorie dedicat modelului NPSF extins
Pornind de la exemplul testului March AS2C, dedicat modelului extins de tip cuplaj între
celule de memorie, am elaborat un nou test de memorie, numit March ENPSF, dedicat modelului
extins de tip NPSF. În cadrul acestui test au fost folosite scheme de inițializare de dimensiune 3
× 3. Cele 16 scheme de iniţializare folosite de testul March ENPSF sunt prezentate în Fig. 6.1.
Testul March ENPSF conține o serie alternantă de elemente march și schimbări de scheme
de inițializare. Structura testului este următoarea:
March ENPSF = (w0); [ (ra, wb, wb, rb); (rb, wa, wa, ra); CBGi ], i =1, 2, …, 16 ,
în care CBGi este o secvenţă destinată verificării memoriei şi reinițializării ei după o nouă
schemă de inițializare (BGi ).
0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 0 1 0 0
BG0 BG1 BG2 BG3 BG4 BG5 BG6 BG7
1 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 BG8 BG9 BG10 BG11 BG12 BG13 BG14 BG15
Fig. 6.1. Inițializarea memoriei la testul March ENPSF
Mai precis, secvenţa CBGi are următoarea semnificaţie:
CBGi, i =1, 2, …, 15, schimbă inițializarea memoriei, trecând de la schema de iniţializare
BGi-1 la BGi. Deoarece fiecare schimbare de acest fel afectează doar o treime din celulele de
memorie (3 din cele 9 celule ale schemei de iniţializare se modifică de la o schemă de
39
inițializare la alta), sunt scrise doar acele celule care trebuie să îşi schimbe starea. Totodată,
aceste operaţii de scriere sunt precedate şi de o operaţie de citire pentru verificarea stării
celulei.
CBG16 citeşte toată memoria pentru verificarea finală (CBG16 = (ra)).
Aşadar, testul march ENPSF este alcătuit din următoarele operaţii:
N operaţii pentru inițializarea cu 0 a memoriei;
[4N + 4N + 2 × 3N/9 ] × 15 = 130N operaţii, pentru primele cincisprezece serii de elemente
march şi modificări de background;
4N + 4N + N = 9N operații, pentru a şaisprezecea serie de elemente march cu verificarea
finală.
Așadar, lungimea totală a testului March ENPSF este N + 130N + 9N = 140N.
Teza conține și o demonstrație analitică a faptului că testul March ENPSF acoperă în
totalitate modelul extins de tip NPSF, rezultatele fiind publicate în [61].
6.4. Concluzii
În urma studiului asupra modelului NPSF, am propus un nou model complex de defecte ce
cuprinde, pe lângă defectele NPSF clasice, și defecte activate de o operație de citire sau de o
scriere nontranzițională. Deoarece testele dedicate modelului clasic nu acoperă într-o măsură
satisfăcătoare acest nou model extins, am propus un nou test de memorie, March ENPSF, de
lungime 140N, capabil să acopere în totalitate modelul extins de tip NPSF.
40
41
Capitolul 7
Defecte dinamice de memorie
Creșterea continuă a densității de integrare determină apariția unor noi defecte a căror
activare depinde de secvențele de operații aplicate circuitelor de memorie și de condițiile de
lucru. Câteva exemple în acest sens ar fi devieri ale pragului de tensiune, influența tot mai mare a
paraziților, fenomenele de interferență (engl. cross talk), creșterea zgomotului la tensiunea de
alimentare, întârzieri de propagare, reducerea marjei de zgomot etc. [62][63][64][65][66][67].
De exemplu, o operație de scriere a valorii 0 logic urmată de o operație de citire din acea
locație, determină schimbarea valorii din respectiva celulă de memorie în 1 logic. În schimb, o
simplă operație de scriere sau de citire a acelei locații de memorie nu produce schimbarea valorii
sale. Acest capitol prezintă stadiul actual al cercetărilor în ceea ce privește acest nou tip de
defecte, numite dinamice de memorie.
7.1. Definiție
Așa cum s-a prezentat în clasificarea din subcapitolul 2.3.2, defectele dinamice sunt acele
defecte pentru a căror activare sunt necesare cel puțin două operații succesive.
Cele mai multe din testele folosite în industrie au fost concepute pentru a acoperi diferite
modele de defecte statice şi, în consecinţă, au o capacitate redusă de a detecta defecte dinamice
[68]. În ultimii ani au fost însă create mai multe teste de memorie dedicate unor modele simple
de defecte dinamice, ce implică una sau două celule de memorie. Problema studierii acestui tip
de defecte constituie în prezent o temă de cercetare de mare interes pentru creșterea calității
memoriilor RAM.
7.2. Studii privind defectele dinamice de memorie
În ultimii ani au fost publicate o serie de studii referitoare la defectele dinamice, studii care
pe de o parte demonstrează importanța acestora și, pe de altă parte, propun variante de teste de
memorie pentru detectarea lor [69][70].
În [68] și [71], se prezintă un studiu asupra unui lot mare de circuite defecte de memorie
SRAM produse de companiile ST-Microelectronics și Intel. Prin aplicarea a 14 teste de memorie,
cu un mare grad de utilizare în industrie, s-a constatat, în cazul ambilor producători, că există un
număr de circuite care nu trec niciun test (cu alte cuvinte, toate testele detectează memoriile ca
fiind defecte) și un număr (mai mic) de cipuri care trec anumite teste de memorie, fiind detectate
ca defecte doar de o parte a testelor aplicate. Atenția cercetătorilor s-a concentrat asupra acelor
42
teste care detectează defecte unice (nedetectate de niciunul din celelalte teste aplicate). Prin
analiza detaliată a testelor care detectează defectele unice și compararea acestora cu testele care
nu le detectează, s-a constatat că aceste defecte sunt activate de anumite succesiuni de operații.
De exemplu, testul March SR[72] detectează un anumit defect unic (notat UF1) aplicând
elementul march (r0, w1, r1, w0) asupra circuitului de memorie. Acest defect nu este însă
detectat de elementul (r0, w1) al testului March C- [73] şi nici de (r0,w1,r1) al testului PMOVI
[74]. Se constată, deci, în urma analizei, că pentru activarea defectului UF1 este necesară
aplicarea ultimei operații a elementului march (r0, w1, r1, w0) (operația w0) asupra celulei
agresoare urmată de aplicarea primei operații a aceluiași element march (operația r0) asupra
celulei victime. Celula agresoare și celula victimă sunt accesate succesiv. Așadar, pentru
detectarea defectului UF1 este necesară o operație de scriere a celulei agresoare urmată de o
operație de citire a celulei victime, adresele acestora fiind adiacente. Concluzia a fost că există o
nouă clasă de defecte, numite defecte dinamice care necesită mai mult de o operație pentru
activare. Totodată, a fost definit un model al defectelor dinamice, model care va fi detaliat în
subcapitolul următor.
7.3. Modelul de defecte dinamice
Modelul de defecte dinamice ce urmează a fi detaliat este prezentat de Hamdioui,
Gaydadjiev și van de Goor în [75]. În funcție de numărul de celule implicate, defectele dinamice
se clasifică în două categorii:
defecte dinamice de tip single-cell, care implică o singură celulă de memorie,
defecte dinamice de tip multi-cell, care implică cel puțin două celule de memorie. Dintre
acestea, în literatură a fost studiat deocamdată doar modelul defectelor dinamice de tip two-
cell.
7.3.1. Modelul de defecte dinamice de tip single-cell
Defectele dinamice de tip single-cell sunt acele defecte activate de cel puțin două operații
succesive aplicate aceleiași celule de memorie. Modelul prezentat este redus la defectele activate
de exact două operații succesive, deoarece studiile efectuate au demonstrat existența lor.
Totodată, probabilitatea de apariție a unui defect dinamic activat de mai multe operații scade o
dată cu creșterea numărului de operații [76].
Pentru descrierea defectului se folosește notația < S/F/R > (introdusă în subcapitolul 2.3.1),
în care S reprezintă secvența de activare, F descrie comportarea anormală corespunzătoare
defectului, iar R rezultatul citirii atunci când S se încheie cu o operație de citire. Dacă secvența
de activare pentru defectele dinamice single-cell conține două operații, trebuie avute în vedere 18
combinații posibile. Notațiile folosite sunt r pentru o operație de citire, w pentru o operație de
scriere, iar simbolurile x, y, z pot lua valoarea 0 sau 1.
43
Tabelul 7.1. Defecte dinamice de tip single-cell
Subclasă Defecte primitive
dRDF < 0r0r0/1/1 >, < 1r1r1/0/0 >,
< 0w0r0/1/1 >, < 1w1r1/0/0 >, < 0w1r1/0/0 >, < 1w0r0/1/1 >.
dDRDF < 0r0r0/1/0 >, < 1r1r1/0/1 >,
< 0w0r0/1/0 >, < 1w1r1/0/1 >, < 0w1r1/0/1 >, < 1w0r0/1/0 >.
dIRF < 0r0r0/0/1 >, < 1r1r1/1/0 >,
< 0w0r0/0/1 >, < 1w1r1/1/0 >, < 0w1r1/1/0 >, < 1w0r0/0/1 >.
dTF < 0w0w1/0/- >, < 1w1w0/1/- >, < 0w1w0/1/- >, < 1w0w1/0/- >, < 0r0w1/0/- >, < 1r1w0/1/- >.
dWDF < 0w0w0/1/- >, < 1w1w1/0/- >, < 0w1w1/0/- >, < 1w0w0/1/- >, < 0r0w0/1/- >, < 1r1w1/0/- >.
7.3.2. Modelul de defecte dinamice de tip two-cell
Modelul cuprinde defectele primitive activate de două operații succesive aplicate celulei
agresoare (a-cell) și/sau celulei victime (v-cell). În funcție de ordinea și de locația în care se
aplică secvența de activare, se diferențiază 4 tipuri de secvențe S:
Saa – cele două operații de activare sunt aplicate celulei agresoare,
Svv – cele două operații de activare sunt aplicate celulei victime,
Sav – prima operație de activare este aplicată celulei agresoare, iar cea de-a doua, celulei
victime,
Sva – prima operație de activare este aplicată celulei victime, iar cea de-a doua, celulei
agresoare.
Pe de altă parte, așa cum s-a precizat în subcapitolul anterior, există 18 combinații posibile
de secvențe S (8 de tipul xwywz, 2 de tipul xrxrx, 4 de tipul xrxwy și 4 de tipul xwyry).
Aplicându-le în cele 4 modalități enumerate mai sus, rezultă un număr de 72 de secvențe
posibile. Așadar, numărul de defecte primitive ale acestui model este destul de ridicat.
7.4. Teste de memorie dedicate defectelor dinamice
7.4.1. Teste de memorie dedicate modelului de defecte dinamice de tip single-cell
În [77], Harutunyan, Vardanian și Zorian prezintă două teste dedicate acestui model: March
MD1a și March MD1b. Printr-o serie de leme și teoreme se realizează demonstrația faptului că
testele acoperă în totalitate modelul de defecte dinamice de tip single-cell, dar și că aceste teste
au o lungime minimă (nu există alt test de memorie, de lungime mai mică, capabil să acopere în
totalitate modelul de defecte vizat).
44
Testul March MD1a (de lungime 33N) are următoarea structură:
March MD1a = (w0) ; (w0, w1, w0, w1); (r1, w0, w0); (w0, w0);
(r0, w1, r1, w1, r1, r1); (r1); (w1, w0, w1, w0); (r0, w1, w1); (w1, w1);
(r1, w0, r0, w0, r0, r0); (r0); .
Algoritmul March MD1b cu lungimea 33N, este următorul:
March MD1b = (w0) ; (w0, w1, w0, w1, r1); ( w0, w0); (w0, w0);
(r0, w1, r1, w1, r1, r1); (r1); (w1, w0, w1, w0, r0); (w1, w1); (w1, w1);
(r1, w0, r0, w0, r0, r0); (r0); .
Verificările făcute prin simulare confirmă capacitatea testelor descrise anterior de a detecta
toate defectele dinamice de tip single-cell.
7.4.2. Teste de memorie dedicate modelului de defecte dinamice de tip two-cell
Testele de memorie publicate până în prezent tratează cazul defectelor dinamice de tip two-
cell activate de o secvență de tip Svv sau Saa. Aceasta deoarece defectele activate de o secvență de
tip Sva sau Sav au nevoie pentru activare de o operație aplicată celulei victime și de o operație
aplicată celulei agresoare, una după cealaltă în ordinea specificată de secvență (victimă –
agresor, respectiv agresor – victimă). În condițiile în care cele două celule implicate în cuplajul
dinamic pot fi oricare două din cadrul matricei celulelor de memorie, activarea tuturor defectelor
de acest tip ar necesita un test de complexitate pătratică, deci mult prea lung. Așadar, în
continuare noțiunea de defecte dinamice de tip two-cell se va referi doar la acele defecte
dinamice activate de o secvență de tip Svv sau Saa.
În [78] Benso et al. propun testul de memorie March 100N de lungime 100N ce acoperă în
totalitate modelul de defecte dinamice de tip two-cell. Structura acestui test este următoarea:
March 100N = (w1) ; ( r1, r1, r1, w1, r1, w1, r1, r1, w1, w1, r1, w0, r0, r0, r0, w0, r0, w0, r0,
r0, w0, w0, r0, w1); (r1, w0, r0, r0, w1, r1, r1, w1, w0, r0, w0, w1, r1, w0, w1, r1, w0, w0, r0,
w1, w0, r0, w1, w1) ; (r1, w0); (r0, r0, r0, w0, r0, w0, r0, r0, w0, w0, r0, w1, r1, r1, r1, w1,
r1, w1, r1, r1, w1, w1, r1, w0); (r0, w0, w1, r1, w1, w0, r0, w1, w0, r0, w1, w1, r1, w0, w1, r1,
w0, w0, r0, w1, r1, r1, w0, r0); (r0) .
Un test mult mai scurt, March MD2, este prezentat de Harutunyan, Vardanian și Zorian
în [77]. Acesta are o lungime de 70N și acoperă, de asemenea, modelul de defecte dinamice de
tip two-cell. În plus, testul este demonstrat a fi de lungime minimă pentru acest model de defecte.
Testul March MD2 are următoarea structură:
March MD2 = (w0); (r0, w1, w1, r1, w1, w1, r1, w0, w0, r0, w0, w0, r0, w0, w1, w0, w1);
(r1, w0, w0, r0, w0, w0, r0, w1, w1, r1, w1, w1, r1, w1, w0, w1, w0);
(r0, w1, r1, w1, r1, r1, r1, w0, r0, w0, r0, r0, r0, w0, w1, w0, w1);
(r1, w0, r0, w0, r0, r0, r0, w1, r1, w1, r1, r1, r1, w1, w0, w1, w0); (r0).
45
7.5. Modelul realist de defecte dinamice
Un studiu mai aprofundat privind defectele dinamice publicat în [25] evidențiază faptul că în
tehnologiile actuale cele mai realiste defecte dinamice (cu cea mai mare probabilitate de apariție)
sunt cele activate de o operație de scriere urmată de o operație de citire (engl. read-after-write).
Din acest motiv, cele mai multe studii privind defectele dinamice de memorie s-au concentrat pe
acest tip de defecte.
7.5.1. Modelul realist de defecte dinamice de tip single-cell
Acesta conține din totalul de defecte dinamice de tip single-cell doar acele defecte activate
de o operație de scriere urmată de o operație de citire. Tabelul 7.2 conține cele 12 defecte
primitive ale acestui model.
Tabelul 7.2. Defecte dinamice realiste de tip single-cell
Subclasă Defecte primitive dRDF < 0w0r0/1/1 >, < 1w1r1/0/0 >, < 0w1r1/0/0 >, < 1w0r0/1/1 >.
dDRDF < 0w0r0/1/0 >, < 1w1r1/0/1 >, < 0w1r1/0/1 >, < 1w0r0/1/0 >.
dIRF < 0w0r0/0/1 >, < 1w1r1/1/0 >, < 0w1r1/1/0 >, < 1w0r0/0/1 >.
7.5.2. Modelul realist de defecte dinamice de tip two-cell
Similar cu defectele de tip single-cell, modelul realist de defecte dinamice de tip two-cell
este limitat la acele defecte dinamice de tip two-cell activate de operație de scriere urmată de o
operație de citire. Modelul redus conține 32 de defecte primitive și este prezentat în tabelul 7.3.
Tabelul 7.3. Defecte dinamice realiste de tip two-cell
Subclasă Defecte primitive
dCFds <0w0r0; 0/1/–>, <0w0r0; 1/0/–>, <0w1r1; 0/1/–>, <0w1r1; 1/0/–>,
<1w0r0; 0/1/–>, <1w0r0; 1/0/–>, <1w1r1; 0/1/–>, <1w1r1; 1/0/–>.
dCFrd < 0; 0w0r0/1/1 >, < 1; 0w0r0/1/1 >, < 0; 1w1r1/0/0 >, < 1; 1w1r1/0/0 >,
< 0; 0w1r1/0/0 >, < 1; 0w1r1/0/0 >, < 0; 1w0r0/1/1 >, < 1; 1w0r0/1/1 >.
dCFdrd < 0; 0w0r0/1/0 >, < 1; 0w0r0/1/0 >, < 0; 1w1r1/0/1 >, < 1; 1w1r1/0/1 >,
< 0; 0w1r1/0/1 >, < 1; 0w1r1/0/1 >, < 0; 1w0r0/1/0 >, < 1; 1w0r0/1/0 >.
dCFir < 0; 0w0r0/0/1 >, < 1; 0w0r0/0/1 >, < 0; 1w1r1/1/0 >, < 1; 1w1r1/1/0 >,
< 0; 0w1r1/1/0 >, < 1; 0w1r1/1/0 >, < 0; 1w0r0/0/1 >, < 1; 1w0r0/0/1 >.
46
7.6. Teste de memorie dedicate defectelor dinamice realiste
7.6.1. Teste de memorie dedicate defectelor dinamice realiste de tip single-cell
În ultimii ani au fost concepute mai multe teste dedicate acestui model. Dintre acestea, cele
mai importante sunt:
Testul March RAW1 [79] („read-after-write‟), propus de Hamdioui, Al-Ars, van de Goor și
Rodgers, cu lungimea 13N, având următoarea structură:
March RAW1 = (w0); (w0, ro); (r0); (w1, r1), (r1), (w1, r1), (r1),
(w0, ro); (r0).
Testul March AB1[80], de lungime 11N, elaborat de Benso et al.:
March AB1 = (w0); (w1, r1, w1, r1, r1); (w0, r0, w0, r0, r0).
Testul March SD[81], propus de Thakur, Chandorkar și Parekhji are o lungime mai mare
față de testele anterioare (20N), în schimb are avantajul de a fi compatibil cu un algoritm de
localizate a defectelor [82]. Algoritmul March SD are următoarea structură:
March SD = (w0); (r0, w1, r1); (r1, w1, r1); (r1, w0, r0); (r0, w0, r0);
(r0, w1, r1); (r1, w0, r0); (r0) .
Testele March MRAW1a-MRAWf [77] sunt o serie de teste de lungime 11N create de
Harutunyan, Vardanian și Zorian, demonstrate a fi de lungime minimă pentru modelul
vizat.
March MRAW1a = (w0, w1, r1, w1, r1, r1, w0, r0, w0, r0, r0).
March MRAW1b = (w0); (w1, r1, w1, r1, r1, w0, r0, w0, r0, r0).
March MRAW1c = (w0); (w1, r1, w1, r1, r1); (w0, r0, w0, r0, r0).
March MRAW1d = (w0); (w1, r1, w1, r1); (r1); (w0, r0, w0, r0, r0).
March MRAW1e = (w0); (w1, r1); (w1, r1, r1); (w0, r0); (w0, r0, r0).
March MRAW1f = (w0); (w1,r1); (w1, r1); (r1); (w0, r0); ( w0, r0); (r0).
Toate testele de mai sus acoperă în totalitate modelul defectelor dinamice realiste de tip
single-cell. Bineînțeles, dintre acestea cele mai bune teste sunt cele cu lungimea cea mai mică
(March AB1, March MRAW1a-MRAWf).
47
7.6.2. Teste de memorie dedicate defectelor dinamice realiste de tip two-cell
Dintre testele concepute pentru modelul de defecte dinamice realiste de tip two-cell cele mai
importante sunt următoarele:
Testul March RAW(„read-after-write‟)[79], cu lungimea 26N, având următoarea structură:
March RAW = (w0); (r0, w0, r0, r0, w1, r1); (r1, w1, r1, r1, w0, r0);
(r0, w0, r0, r0, w1, r1); (r1, w1, r1, r1, w0, r0); (r0).
Testul March AB [80], cu lungimea 22N:
March AB = (w1); (r1, w0, r0, w0, r0); (r0, w1, r1, w1, r1);
(r1, w0, r0, w0, r0); (r0, w1, r1, w1, r1); (r1) .
Testul March SD [81] cu lungimea de 20N, are un grad de acoperire de 78,95% din modelul
vizat, în schimb are avantajul compatibilităţii cu un algoritm de localizate a defectelor [82].
Algoritmul are următoarea structură:
March SD = (w0); (r0, w1, r1); (r1, w1, r1); (r1, w0, r0); (r0, w0, r0);
(r0, w1, r1); (r1, w0, r0); (r0) .
Testul March MRAW [77], de lungime 22N, demonstrat a fi de lungime minimă pentru
modelul de defecte dinamice realiste de tip two-cell:
March MRAW = (w0); (r0, w1, r1, w1, r1); (r1, w0, r0, w0, r0);
(r0, w1, r1, w1, r1); (r1, w0, r0, w0, r0); (r0) .
48
49
Capitolul 8
Studiu asupra defectelor dinamice de tip NPSF
După modelul de defecte dinamice realiste de tip single-cell și two-cell, am definit și am
studiat un model de defecte dinamice de tip NPSF. Acesta conține defectele dinamice de tip
read-after-write asociate modelului NPSF. Nici testele dedicate diferitelor tipuri de defecte
dinamice, nici testele dedicate defectelor de tip NPSF nu au un grad de acoperire satisfăcător în
ceea ce privește defectele dinamice de tip NPSF. Din acest motiv, am propus un nou test de
memorie dedicat acestui nou model.
8.1. Modelul de defecte dinamice de tip NPSF
Acesta conține defectele dinamice activate de o operație de scriere urmată de o operație de
citire aplicate fie celulei de bază, caz în care celulele agresoare trebuie să conțină o anumită
combinație de valori, fie uneia din celulele agresoare, în condițiile în care celelalte celule din
vecinătate au o anumită combinație de valori. În concluzie, modelul definit conține defecte
activate de secvențe de tipul Svv și Saa. Tabelul 8.1 conține 448 de defecte primitive care definesc
modelul propus, împărțite, după exemplul defectelor de tip two-cell, în 4 submodele diferite:
1. Dynamic Disturb Coupling Fault (dCFds) – o operație de scriere urmată de o operație de
citire aplicată uneia din celulele agresoare, în condițiile în care celelalte celule agresoare au
o anumită combinație de valori, determină schimbarea stării celulei victime. Există 4
variante de secvențe de activare, fiecare având două efecte posibile (schimbarea stării celulei
victime din 0 în 1 sau din 1 în 0), în condițiile în care celelalte 3 celule agresoare pot avea 8
combinații posibile de valori, deci un număr de 4 × 2 × 8 = 64 de defecte primitive pentru
fiecare celulă agresoare, în total un număr de 64 ×4 = 256 de defecte primitive.
2. Dynamic Read Destructive Coupling Fault (dCFrd): o operație de scriere a celulei victime
urmată de o operație de citire a acesteia îi schimbă valoarea, afectând în același timp și
rezultatul citirii, dacă celulele agresoare au o anumită combinație de valori. Scrierea poate fi
tranzițională sau nontranzițională. Această subclasă conține 4 × 16 = 64 defecte primitive.
3. Dynamic Deceptive Read Destructive Coupling Fault (dCFdrd): o operație de scriere a
celulei victime urmată de citirea acesteia îi schimbă valoarea, fără afectarea rezultatului
citirii, dacă celulele agresoare au o anumită combinație de valori. Similar cu subclasa
precedentă, scrierea poate fi tranzițională sau nontranzițională. Acest submodel conține 4 ×
16 = 64 defecte primitive.
4. Dynamic Incorrect Read Couplig Fault (dCFir): o operație de scriere a celulei victime
urmată de citirea acesteia, în condițiile în care celulele agresoare au o anumită combinaţie
de valori, determină returnarea pe magistrală a unei valori incorecte, în timp ce valoarea
50
celulei victime rămâne neschimbată (corectă). Scrierea poate fi tranzițională sau
nontranzițională. Acest submodel conține 4 × 16 = 64 defecte primitive.
Tabelul 8.1. Defecte dinamice de tip NPSF
Subclasă Defecte primitive
Număr de defecte
primitive
dCFds
<0w0r0; x; y; z; 0 / 1 / ->
<0w0r0; x; y; z; 1 / 0 / ->
<1w0r0; x; y; z; 0 / 1 / ->
<1w0r0; x; y; z; 1 / 0 / ->
<0w1r1; x; y; z; 0 / 1 / ->
<0w1r1; x; y; z; 1 / 0 / ->
<1w1r1; x; y; z; 0 / 1 / ->
<1w1r1; x; y; z; 1 / 0 / ->
x, y, z 0, 1 256
<x; 0w0r0; y; z; 0 / 1 / ->
<x; 0w0r0; y; z; 1 / 0 / ->
<x; 1w0r0; y; z; 0 / 1 / ->
<x; 1w0r0; y; z; 1 / 0 / ->
<x; 0w1r1; y; z; 0 / 1 / ->
<x; 0w1r1; y; z; 1 / 0 / ->
<x; 1w1r1; y; z; 0 / 1 / ->
<x; 1w1r1; y; z; 1 / 0 / ->
<x; y; 0w0r0; z; 0 / 1 / ->
<x; y; 0w0r0; z; 1 / 0 / ->
<x; y; 1w0r0; z; 0 / 1 / ->
<x; y; 1w0r0; z; 1 / 0 / ->
<x; y; 0w1r1; z; 0 / 1 / ->
<x; y; 0w1r1; z; 1 / 0 / ->
<x; y; 1w1r1; z; 0 / 1 / ->
<x; y; 1w1r1; z; 1 / 0 / ->
<x; y; z; 0w0r0; 0 / 1 / ->
<x; y; z; 0w0r0; 1 / 0 / ->
<x; y; z; 1w0r0; 0 / 1 / ->
<x; y; z; 1w0r0; 1 / 0 / ->
<x; y; z; 0w1r1; 0 / 1 / ->
<x; y; z; 0w1r1; 1 / 0 / ->
<x; y; z; 1w1r1; 0 / 1 / ->
<x; y; z; 1w1r1; 1 / 0 / ->
dCFrd
<x; y; z; t; 0w0r0 / 1 / 1>
<x; y; z; t; 1w0r0 / 1 / 1>
<x; y; z; t; 0w1r1 / 0 / 0>
<x; y; z; t; 1w1r1 / 0 / 0>
x, y, z, t 0, 1 64
dCFdrd
<x; y; z; t; 0w0r0 / 1 / 0>
<x; y; z; t; 1w0r0 / 1 / 0>
<x; y; z; t; 0w1r1 / 0 / 1>
<x; y; z; t; 1w1r1 / 0 / 1>
x, y, z, t 0, 1 64
dCFir
<x; y; z; t; 0w0r0 / 0 / 1>
<x; y; z; t; 1w0r0 / 0 / 1>
<x; y; z; t; 0w1r1 / 1 / 0>
<x; y; z; t; 1w1r1 / 1 / 0>
x, y, z, t 0, 1 64
51
8.2. Gradul de acoperire a modelului de defecte dinamice de tip NPSF
Simularea defectelor dinamice s-a realizat cu ajutorul unei funcții care testează condițiile de
activare ale defectului, funcție apelată înainte și/sau după fiecare operație cu memoria, în funcție
de specificul defectului injectat. În cazul în care condițiile sunt îndeplinite, asupra vectorului ce
simulează memoria se vor efectua modificările specifice efectului pe care îl are defectul, astfel
încât următoarele operații cu memoria vor găsi locația respectivă modificată. Studiul a fost
efectuat pentru testele de memorie dedicate defectelor simple de tip NPSF (descrise în capitolul
5) și pentru testele dedicate modelului de defecte dinamice de tip single-cell și two-cell (descrise
în capitolul 7). Rezultatele simulărilor sunt prezentate în tabelul 8.2.
Tabelul 8.2. Gradul de acoperire a modelului de defecte dinamice de tip NPSF
Test de memorie dCFds dCFrd dCFir dCFdrd Total
Lungime nr. %
SR 0/256 0/64 0/64 0/64 0/448 0 165N
March-100N 0/256 0/64 0/64 0/64 0/448 0 100N
CM-79N 64/256 16/64 0/64 16/64 96/448 21,43 79,33N
March-76N 0/256 0/64 0/64 0/64 0/448 0 76N
March MD1a 16/256 4/64 4/64 4/64 28/448 6,25 33N
March MD1b 16/256 4/64 4/64 4/64 28/448 6,25 33N
March 100N 32/256 8/64 4/64 8/64 52/448 11,61 100N
March MD2 16/256 4/64 0/64 4/64 24/448 4,92 70N
March RAW1 8/256 4/64 4/64 4/64 20/448 4,46 13N
March AB1 0/256 4/64 4/64 4/64 12/448 2,68 11N
March SD 24/256 6/64 6/64 6/64 42/448 9,38 20N
March MRAW1a 0/256 4/64 4/64 4/64 12/448 2,68 11N
March MRAW1b 0/256 4/64 4/64 4/64 12/448 2,68 11N
March MRAW1c 0/256 4/64 4/64 4/64 12/448 2,68 11N
March MRAW1d 8/256 4/64 4/64 4/64 20/448 4,46 11N
March MRAW1e 0/256 4/64 2/64 4/64 10/448 2,23 11N
March MRAW1f 4/256 4/64 2/64 4/64 14/448 3,13 11N
March RAW 32/256 8/64 8/64 8/64 56/448 12,5 26N
March AB 32/256 8/64 8/64 8/64 56/448 12,5 22N
March MRAW 32/256 8/64 8/64 8/64 56/448 12,5 22N
8.3. RAW-NPSF – un nou test de memorie dedicat defectelor dinamice de tip
NPSF
Datele din Tabelul 8.2 evidenţiază faptul că gradul de acoperire a testelor studiate privind
modelul de defecte dinamice de tip NPSF este foarte scăzut (mai mic de 22%). Pornind de la
exemplul testelor dedicate modelului de defecte dinamice realiste de tip two-cell, am elaborat un
nou test de memorie, RAW-NPSF, dedicat defectelor de tip read-after-write asociate modelului
52
NPSF. Testul propus este unul de tip march cu iniţializări multiple, ca şi celelalte teste dedicate
modelului NPSF prezentate anterior. Scheme de inițializare folosite la testul RAW-NPSF, tot de
forma 3 × 3 sunt prezentate în Fig. 8.1.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1
BG0 BG1 BG2 BG3 BG4 BG5 BG6 BG7
1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 0 0 1
BG8 BG9 BG10 BG11 BG12 BG13 BG14 BG15
Fig. 8.1. Inițializarea memoriei la testul RAW-NPSF
Testul propus are următoarea structură:
RAW-NPSF = (w0); [ (ra, wb, rb, wb, rb); (rb, wa, ra, wa, ra); CBGi ], i =1, 2, …, 16 ,
în care secvenţele CBGi includ operaţii de verificare a memoriei şi de reiniţializare a ei la
trecerea de la o etapă de testare la alta. Mai precis, CBGi realizează următoarele operaţii:
Secvenţele CBGi, i =1, 2, …, 15, asigură schimbarea iniţializării memoriei de la modelul
BGi-1 la BGi. Deoarece fiecare astfel de schimbare afectează doar o treime din celulele de
memorie (3 din cele 9 celule ale unei scheme de iniţializare se modifică de la un background la
altul), la o nouă reiniţializare sunt rescrise doar acele celule care îşi schimbă starea. De
asemenea, aceste operaţii de scriere sunt precedate şi de o operaţie de citire pentru verificarea
celulei.
Secvenţa CBG16 citeşte toate celulele de memorie pentru o verificare finală (CBG16 =
(ra)).
Aşadar, testul RAW-NPSF aplică cele două elemente march de lungime 5, de 16 ori, pe
iniţializări diferite. Pentru determinarea lungimii testului trebuie avut în vedere că la o rulare
completă sunt efectuate următoarele operaţii:
N operaţii pentru inițializarea cu 0 a memoriei;
[5N + 5N + 2 × 3N/9 ] × 15 = 160N operaţii, pentru primele cincisprezece serii de elemente
march şi schimbări de background;
5N + 5N + N = 11N operații, pentru ultima etapă de testare a memoriei care se încheie cu o
verificare finală.
Așadar, testul RAW-NPSF necesită N + 160N + 11N = 172N operaţii de lucru cu memoria.
De menţionat că pentru acoperirea tuturor defectelor dinamice de tip RAW asociate
modelului NPSF pot fi folosite şi schemele de iniţializare prezentate în Fig. 4.4 și Fig. 6.1.
Verificările realizate prin simulare arată însă că testul în această formă are o capacitate mai
ridicată de detectare a defectelor dinamice de tip two-cell. Ca o observaţie, deşi are o lungime
53
mare (172N) testul dedicat modelului NPSF nu acoperă şi modelul defectelor dinamice de tip
cuplaj în care intervin perechi de celule de memorie aflate la distanţă.
Capacitarea testului RAW-NPSF de a detecta toate defectele de tip read-after-write asociate
modelului NPSF este demonstrată analitic în teză.
8.4. Concluzii
Ca urmare a studiului efectuat asupra defectelor dinamice de memorie, am propus un nou
model ce cuprinde defectele de tip read-after-write asociate modelului NPSF. Deoarece în
literatura de specialitate nu există un test de memorie care să acopere într-o măsură acceptabilă
acest nou model, am propus un nou test de memorie numit RAW-NPSF. Acesta este de lungime
172N și este capabil să acopere în totalitate modelul de defecte dinamice de tip read-after-write
asociate modelului NPSF.
54
55
Capitolul 9
Studiu comparativ privind robustețea implementării celulelor de
memorie SRAM cu șase și cu opt tranzistoare
Capitolul de față prezintă un studiu experimental privind compararea robusteții
implementării unei celule de memorie SRAM cu șase sau opt tranzistoare. Studiul a fost realizat
în cadrul unei mobilității de cercetare de 3 luni, la Politehnica din Torino. În cadrul acestui
studiu am colaborat cu dr. Stefano di Carlo și prof. Paolo Prinetto.
9.1. Introducere
Creșterea densității de integrare, respectiv scăderea continuă a dimensiunilor tranzistoarelor
din componența memoriilor SRAM are efecte imediate asupra vulnerabilității celulelor de
memorie. Vulnerabilitatea circuitelor SRAM la defecte „catastrofice” (engl. catastrophic defects)
crește de asemenea și datorită faptului că frecvența defectelor de tip întrerupere și scurtcircuit
crește cu fiecare nouă tehnologie[83][84]. Din acest motiv, există o îngrijorare tot mai mare în
legătură cu impactul scăderii continue a dimensiunilor tranzistoarelor asupra randamentului de
fabricare. Creșterea numărului de contacte și dimensiunile reduse ale liniilor de legătură cresc
probabilitatea de apariție a defectelor de tip întrerupere. Unele dintre acestea sunt întreruperi
totale (engl. full opens) în care conexiunea electrică este total întreruptă, iar altele sunt denumite
întreruperi rezistive (engl. resistive opens, resistive defects) și sunt modelate printr-o rezistență
aflată pe una din liniile de legătură [85].
Cele mai multe teste de memorie orientate pe defecte sunt axate pe circuitele cu celule de
memorie formate din 6 tranzistoare (numite în cele ce urmează circuite de memorie de tip 6T).
Acestea sunt la momentul actual cele mai populare arhitecturi pentru circuitele SRAM
comerciale. Ca o caracteristică, celulele SRAM de tip 6T folosesc aceleași linii de biți atât pentru
operația de citire cât și pentru cea de scriere.
Un parametru foarte important în determinarea stabilității unei arhitecturi este marginea de
zgomot (engl. static noise margin). Aceasta este definită ca zgomotul minim de tensiune la care
starea unei celule SRAM se poate schimba [86]. Pentru a garanta o margine de zgomot
acceptabilă în timpul operației de citire a celulei SRAM de tip 6T, puterea de acces a
tranzistorului nMOS trebuie să fie scăzută în comparație cu puterea tranzistorului nMOS de
descărcare. Pe de altă parte, pentru a garanta o margine de zgomot acceptabilă în timpul operației
de scriere, puterea de acces a tranzistorului nMOS trebuie să fie mai mare decât cea a
tranzistorului nMOS de descărcare. Aceste cerințe contradictorii pot fi îndeplinite de celulele cu
margine de zgomot mare, dar în circuitele viitoare în care marginea este mai scăzută, celula de
memorie devine instabilă.
56
Pentru a depăși această problemă în tehnologiile viitoare, de la 32nm în jos, a fost propusă
celula de memorie de tip 8T [87] [88] ca o posibilă variantă pentru celula SRAM de tip 6T. În
cadrul celulei de memorie de tip 8T, căile de citire și scriere sunt independente datorită adăugării
unei linii de cuvânt pentru citire (engl. read word line – RWL), a unei linii de cuvânt pentru
scriere (engl. write word line – WWL) și a două tranzistoare pe calea de citire (RD și RDaux)
[89] [90].
În același timp, o altă problemă a circuitelor cu tehnologii sub 100nm este reprezentată de
variațiile de proces. Acestea reprezintă un efect al îmbătrânirii circuitelor CMOS ca urmare a
unor modificări subtile ce au loc în substraturile de siliciu [91]. Ca o consecință directă,
tensiunea de prag a tranzistoarelor nu mai este cea nominală, ci poate varia în funcție de mai
mulți factori (temperatura de operare, perioada de funcționare, regimul de lucru etc.)[92].
Studiul de față compară efectele cumulate ale variațiilor de proces și ale defectelor rezistive
asupra celulelor de memorie SRAM de tip 6T și 8T.
9.1.1. Celula de memorie SRAM cu șase tranzistoare (6T)
Celula de memorie SRAM de tip 6T este ilustrată în Fig. 9.1.
Tensiunile din nodurile T și F stabilesc starea celulei sau valoarea logică a acesteia. De exemplu,
când celula se află în starea 1 logic, tensiunea din punctul T este Vdd, iar cea din punctul F este
0. Pentru cazul în care celula este în starea 0 logic, tensiunile sunt inversate (0 pentru T și Vdd
pentru F).
În cazul scrierii, valoarea logică este transmisă pe liniile de biți (BL și ) de către circuitul
de scriere. De exemplu, dacă se dorește scrierea lui 0 logic în celulă, linia BL va fi dusă pe 0, iar
pe 1. La activarea liniei WL, valorile corespunzătoare de pe liniile de biți vor fi stocate în
nodurile T și F ale celulei.
În cazul citirii, lucrurile se întâmplă în sens invers. Să presupunem că celula se găsește în
starea 1 logic (punctul T are valoarea Vdd – sau 1 logic, iar punctul F, valoarea 0 logic). Ciclul
de citire începe cu preîncărcarea ambelor linii de biți la 1 logic, urmat de activarea liniei WL,
deschizând tranzitorii de acces (M5 și M6). În următoarea etapă, valorile din punctele T și F sunt
transmise liniilor de biți, în sensul păstrării valorii 1 logic pe linia BL și a descărcării liniei
prin tranzistoarele M6 și M2. În același timp, valoarea liniei BL este adusă către Vdd și prin
tranzistoarele M5 și M3. Dacă celula de memorie ar fi în starea 0 logic, linia BL s-ar descărca, iar
linia s-ar menține încărcată. Ca urmare a acestor procese de descărcare, între liniile BL și
va fi o diferență de tensiune. Amplificatorul de linie va amplifica această diferență și va compara
tensiunile de pe cele două linii cu tensiunile de referință, determinând astfel starea în care se afla
celula [11].
57
Fig. 9.1. Celula de memorie SRAM cu șase tranzistoare (6T)
9.1.2. Celula de memorie SRAM cu opt tranzistoare (8T)
Celula de memorie SRAM de tip 8T este ilustrată în Fig. 9.2. Pe lângă cele 6 tranzistoare
din modelul 6T, acesta prezintă linii separate pentru citire și scriere (read word line – RWL ,
write word line – WWL) și două tranzistoare pe calea de citire (RD și RDaux). Operația de
scriere are loc similar ca la celula de tip 6T, doar că de această dată se va activa linia WWL.
Fig. 9.2. Celula de memorie SRAM cu opt tranzistoare (8T)
La operația de citire, tranzistorul RDaux este activat de linia RWL, iar linia RBL este
preîncărcată. Dacă celula este în starea 1 logic (punctul F are valoarea 0 logic), tranzistorul RD
rămâne închis, iar linia RBL rămâne la valoarea 1 logic (Fig. 9.3a [93]). Dacă, în schimb, celula
conține valoarea 0 logic (în punctul F tensiunea este Vdd – 1 logic), atunci tranzistorul RD se va
deschide, permițând astfel descărcarea condensatorului CRBL prin cele două tranzistoare deschise
(Fig. 9.3b [93]). Un circuit amplificator va determina apoi daca rezultatul citirii va fi 0 logic sau
1 logic[93].
58
a b
Fig. 9.3. Citirea dintr-o celulă de memorie de tip 8T
a. Citirea valorii 1 logic; b. Citirea valorii 0 logic
9.2. Descrierea experimentului
Experimentul constă într-o serie de simulări realizate pe două blocuri de memorie SRAM
folosind simulatorul NGSPICE (un simulator Spice gratuit).
9.2.1. Modelul de memorie studiat
Modelele de memorie simulate sunt două arhitecturi de memorie SRAM, una pentru
circuitul de memorie de tip 6T și cealaltă pentru modelul de tip 8T, folosind tranzistoare de
tehnologie 32nm de la Predictive Technology Model [94]. Arhitectura include o matrice de
16×16 celule de memorie, circuitele de preîncărcare (engl. pre-charge circuits) pentru liniile de
bit și de cuvânt, amplificatorul și circuitul de scriere. Datorită faptului că experimentul necesită
un număr foarte mare de simulări, am studiat un model simplificat cu o singură celulă de
memorie, păstrând circuitele periferice. Primul pas al experimentului a fost determinarea
valorilor parametrilor circuitelor periferice (în principal al capacităților parazite) astfel încât
semnalele de ieșire ale arhitecturii 1×1 să fie similare cu ale arhitecturii 16×16. Acest lucru a
permis ținerea timpului de simulare sub control, lucrând în același timp cu un model de memorie
realist.
Cele două circuite de memorie sunt ilustrate în teză.
9.2.2. Defectele de memorie considerate
Figurile 9.4 și 9.5 ilustrează mulțimea de defecte care au fost luate în considerare pentru
simulare. Numărul de defecte rezistive introduse a fost redus datorită simetriei interne a
circuitului astfel încât au fost simulate doar șapte locații tipice pentru defectele rezistive
[96][97][98]. Studiul analizează și compară efectele defectelor rezistive considerate asupra
circuitelor din figurile 9.4 și 9.5 în prezența variațiilor de proces. În circuit au fost introduse pe
59
rând defectele rezistive vizate, iar fenomenul de variație de proces a fost simulat considerând
tensiunile de prag (engl. threshold voltages) ale tranzistoarelor ca variabile aleatoare
independente [99]. În acest studiu s-a propus o distribuție Gaussiană pentru aceste variabile.
Intervalul considerat este [Vt-3, Vt+3] în care Vt reprezintă tensiunea de prag specifică
respectivului tranzistor. Cum a fost precizat în [100], este proporțional cu 1/√ , în care W și
L reprezintă lungimea și lățimea tranzistoarelor. Mai precis, am considerat pentru studiu =0.2V.
Pentru rezultate cât mai elocvente, pentru fiecare caz au fost realizate 1000 de simulări.
Toate experimentele au fost realizate în condiții identice și anume: temperatură de lucru de
27C și perioadă de clock de 1.5ns (frecvența clockului de 666MHz). În plus, pentru fiecare
defect rezistiv, au fost analizate șase valori diferite pentru tensiunea de alimentare (Vdd): 0.7V,
0.8V, 0.9V, 1.2V, 1.5V, 1.8V.
Fig. 9.4. Defecte rezistive în celula de tip 6T
Fig. 9.5. Defecte rezistive în celula de tip 8T
9.3. Rezultatele simulărilor și concluzii
Figurile 9.6 – 9.7 ilustrează rezultatele simulărilor pentru cele două circuite studiate, pentru
defectul rezistiv DFR1 (restul rezultatelor putând fi găsite în teză). Pe axa orizontală se
reprezintă valorile considerate pentru defectele rezistive, iar pe axa de profunzime valorile pentru
tensiunea de alimentare Vdd. Rezultatele sunt ilustrate pe axa verticală ca procentaj de încercări
60
reuşite dintr-un total de 1000 de simulări. Operațiile simulate la fiecare încercare sunt
w0r0w1r1. O încercare este reuşită dacă circuitul de memorie funcţionează corect, în sensul că la
cele două operații de citire valoarea logică rezultată este cea așteptată, iar starea celulei după
citire este corectă.
Prima concluzie care se poate desprinde din acest studiu este că în privința tensiunii de
alimentare, modelul 6T este mai robust, deoarece la valoarea de 0.7V funcționează corect, pe
când modelul 8T nu furnizează rezultate corecte. Mai precis, citirea valorii 0 este cea care nu
funcționează corect pentru modelul 8T, deoarece descărcarea condensatorului RDaux nu este
suficientă pentru ca tensiunea liniei RBL să ajungă la o valoare destul de joasă pentru a fi
interpretată drept 0 logic. În ceea ce privește celelalte cazuri studiate, modelul 8T este mai robust
decât modelul 6T, în sensul că rezistența parazită trebuie să fie mai mare ca să provoace un
comportament eronat în cadrul circuitului.
Așadar, cu singura excepție a unei tensiuni de alimentare mici, așa cum era de așteptat,
modelul 8T este mai robust decât modelul 6T.
Fig. 9.6. Procentul cazurilor de funcționare normală a celulei 6T studiate,
în prezența defectului rezistiv DFR1, pentru diferite tensiuni de alimentare (Vdd)
0
20
40
60
80
100
Vdd
Pro
cen
t
Valoarea defectului rezistiv
1Ω 10Ω 100Ω 1kΩ 10kΩ 25kΩ 50kΩ 75kΩ 100kΩ 1MΩ 10MΩ 100MΩ
1.8 100 100 100 99 22,3 0 0 0 0 0 0 0
1.5 100 100 100 100 4,4 0 0 0 0 0 0 0
1.2 100 100 100 100 15,3 0 0 0 0 0 0 0
0.9 100 100 100 100 91,9 2,7 0 0 0 0 0 0
0.8 100 100 100 100 98,4 27,4 0 0 0 0 0 0
0.7 100 100 100 100 98,7 53,6 3,1 0 0 0 0 0
61
Fig. 9.7. Procentul cazurilor de funcționare normală a celulei 8T studiate,
în prezența defectului rezistiv DFR1, pentru diferite tensiuni de alimentare (Vdd)
0
20
40
60
80
100
1Ω
10
Ω
10
0Ω
1kΩ
10
kΩ
25
kΩ
50
kΩ
75
kΩ
10
0kΩ
1M
Ω
10
MΩ
10
0M
Ω
Vdd
Pro
cen
t
Valoarea defectului rezistiv
1Ω 10Ω 100Ω 1kΩ 10kΩ 25kΩ 50kΩ 75kΩ 100kΩ 1MΩ 10MΩ 100MΩ
1.8 100 100 100 100 100 100 100 100 99,9 98,2 97,4 96,8
1.5 100 100 100 100 100 100 95,5 87,7 76,4 52,3 52,7 50,3
1.2 100 100 100 100 100 100 38,2 12,6 8,6 1,3 1,1 0,7
0.9 100 100 100 100 100 100 55,7 7,5 1,3 0 0 0
0.8 100 100 100 100 100 100 82,5 24,8 5,1 0 0 0
0.7 0 0 0 0 0 0 0 0 0 0 0 0
62
63
Capitolul 10
Concluzii
10.1. Rezumatul contribuțiilor științifice
Datorită creșterii tot mai accelerate a densității de integrare, în cadrul circuitelor de memorie
apar noi tipuri de defecte pentru care trebuie concepute noi modele de defecte şi noi teste de
memorie. Cercetările din ultima vreme au definit câteva modele noi de defecte, care conțin, pe
lângă defectele clasice, și defecte activate de o operație de citire sau de o operație de scriere
nontranzițională. Principalele contribuții științifice ale tezei de față sunt:
1) Elaborarea unui test de memorie pentru modelul extins de defecte statice de tip cuplaj
între două celule de memorie (Testul March AS2C). Acest test de lungime 18N acoperă în
întregime modelul de defecte considerat și este cu 18,2% mai scurt decât cele mai performante
teste publicate în literatura de specialitate, și anume: testul March SS propus de Hamdioui și van
de Goor în 2002 [26] și testul March S2C propus de Cașcaval, Silion și Stan în 2006 [46],
ambele de lungime 22N. Lucrarea care prezintă testul March AS2C a fost trimisă la o revistă de
specialitate de mare prestigiu fiind în curs de evaluare [101].
2) Elaborarea unui test de memorie pentru modelul clasic de defecte statice de tip NPSF, cu
performanțe superioare celor publicate în literatura de specialitate, și anume: testul SR propus de
Suk şi Reddy [36], testele March 100N, March 96N și CM-79N elaborate de Cheng, Tsai şi Wu
[52]. Testul propus, numit March-76N, are o lungime de 76N, în condițiile în care cel mai scurt
test de memorie din literatură dedicat acestui model este CM-79N, de lungime 79,33N. În plus,
testul March-76N acoperă și toate defectele înlănțuite de tip NPSF. Ca o comparaţie, aşa cum
arată un studiu publicat în [56], testul CM-79N lasă neacoperite un număr de aproximativ 25 de
tipuri de defecte înlănţuite. Capacitarea testului March-76N de a detecta toate defectele statice de
tip NSPF, simple și înlănțuite, este demonstrată analitic. Acest test a fost publicat în [102].
3) Definirea unui set de defecte primitive pentru descrierea modelului NPSF extins care
include, pe lângă defectele din modelul clasic, și defectele activate printr-o operație de citire sau
una de scriere nontranzițională. Studiul în care se prezintă acest model extins este publicat în
[60].
4) Evaluarea performanţelor principalelor teste de memorie dedicate modelului NPSF clasic
în ceea ce priveşte capacitatea de acoperire a modelului extins de tip NPSF. Rezultatele acestui
studiu de simulare au fost publicate în [60].
5) Elaborarea unui test de tip march cu inițializări multiple pentru acoperirea modelului
extins de defecte statice de tip NPSF. Testul se numește March ENPSF și are lungimea de 140N.
64
Capacitatea acestui test de a detecta toate defectele primitive ce descriu acest model extins este
demonstrată analitic. Testul de memorie March ENPSF este publicat in [61].
6) Definirea unui model de defecte dinamice de tip NPSF, pe baza modelului de defecte
dinamice pentru două celule de memorie propus de Hamdioui, Gaydadjiev și van de Goor în [75]
și stabilirea unui set de defecte primitive pentru descrierea lui.
7) Evaluarea performanțelor testelor de memorie dedicate modelului static de tip NPSF și a
testelor dedicate diferitelor modele de defecte dinamice privind capacitatea de acoperire a
defectelor dinamice de tip read-after-write asociat modelului NPSF. Rezultatele acestui studiu
experimental sunt publicate în lucrarea [103].
8) Elaborarea unui nou test de memorie numit RAW-NPSF pentru detectarea defectelor
dinamice read-after-write asociate modelului NPSF. Testul are o lungime de 172N, iar
capacitatea lui de a acoperi întregul model de defecte dinamice de acest tip este demonstrată
analitic. Lucrarea pentru diseminarea acestui test este în curs de elaborare.
9) Realizarea unui amplu studiu experimental privind robustețea implementării unei celule
de memorie SRAM cu șase sau opt tranzistoare. Studiul a fost realizat la Politehnica din Torino,
în cadrul unui mobilității de cercetare de 3 luni. La realizarea acestui studiu am colaborat cu dr.
Stefano di Carlo beneficiind de atenta îndrumare a prof. Paolo Prinetto. Lucrarea care cuprinde
rezultatele acestui studiu experimental a fost trimisă la o revistă internaţională, fiind în curs de
evaluare [104].
10.2. Direcții viitoare de cercetare
Ca o concluzie la rezultatele obţinute, s-a constatat posibilitatea extinderii cercetărilor în mai
multe direcții. Una dintre acestea ar fi proiectarea logică a unor structuri autotestabile pentru
testul March AS2C sau a altor teste nou elaborate în vederea unei posibile implementări de tip
Build-In-Self-Test RAM (BIST RAM).
O altă posibilitate de extindere a cercetărilor ar fi definirea altor modele de defecte dinamice
de tip NPSF activate de alte succesiuni de operaţii cum ar fi citire urmată de scriere (engl. write-
after-read), şi crearea de teste de memorie dedicate acestor modele.
Totodată se are în vedere pentru viitor studierea defectelor de tip multi-port și crearea de noi
teste de memorie pentru acest tip de memorii.
10.3. Articole științifice
Articole publicate în reviste:
1. Petru Caşcaval, Radu Silion, Doina Caşcaval, Cristina Huzum, “A Fault Primitive Based
Model of All Static Four-Cell Coupling Faults in Random-Access Memories”, Buletinul
Institutului Politehnic din Iaşi, Tom LIV(LVIII), Fasc.1, Secţia Automatică şi
Calculatoare, 2008, pp 51-61.
65
2. Cristina Huzum, Petru Cașcaval, “A Fault Primitive Based Model For All Static
Neighbourhood Pattern-Sensitive Faults In Random Access Memories”, Buletinul
Institutului Politehnic din Iaşi, Tom LV(LIX), Fasc. 3, Secţia Automatică şi Calculatoare,
2009, pp. 63-73.
3. Cristina Huzum, Petru Cașcaval, “A Fault Coverage Evaluation of Linked Neighborhood
Pattern-Sensitive Faults in Random-Access Memories”, Analele Universității din
Craiova, Vol.7 (34), No.1, 2010, ISSN 1841-0626, pp. 21-26.
4. Cristina Huzum, Petru Cașcaval "A multibackground March test for static neighborhood
pattern-sensitive faults in random-access memories", Journal of Electronics and Electrical
Engineering (revistă ISI), ISSN 1392-1215 No. 3(119), March, 2012 (in press).
5. Cristina Huzum, Petru Cașcaval, “Dynamic Neighborhood Pattern-Sensitive Faults In
Random-Access Memories. A Fault Coverage Evaluation”, Buletinul Institutului
Politehnic din Iaşi, Secţia Automatică și Calculatoare (in press).
Articole prezentate în volumele unor conferințe internaționale:
1. Cristina Huzum, Petru Cașcaval, “Linked Neighborhood Pattern-Sensitive Faults in
Random-Access Memories. A Fault Coverage Evaluation”, Lucrare publicată în volumul
conferinței 14th International Conference on System Theory and Control, Sinaia,
România, 17-19 octombrie 2010, ISSN 2068-0465, pp. 241-245.
2. Cristina Huzum, Petru Cașcaval, “A Multibackground March Test For All Static Simple
Neighborhood Pattern-Sensitive Faults in RAMs”, Lucrare publicată în volumul
conferinței 15th International Conference on System Theory and Control, Sinaia,
România, 13-16 octombrie 2011, ISBN 978-973-621-323-6, pp. 288-293.
Articole în curs de evaluare
1. Cristina Huzum, Petru Cașcaval, “March AS2C: Efficient March Test for All Static Two-
Cell Coupling Faults in Random-Access Memories”, Reliability Engineering & System
Safety, Elsevier, ISSN 0951-8320 (under submision).
2. Cristina Huzum, Stefano di Carlo, Paolo Prinetto, Alberto Scionti, “Comparison of
Process Variation Effects Between 6T and 8T Defective SRAM Cells”, IET Computers
and Digital Techniques, ISSN 1751-8601 (under submision).
66
67
Bibliografie (extras)
1. P. Caşcaval, „Sisteme de timp real – Fiabilitatea şi siguranţa în funcţionare”, Ed.
Performantica, Iași, 2007.
2. A. Ney, A. Bosio, L. Dilillo, P. Girard, S. Pravossoudovitch, A. Virazel, “A signature-
based approach for diagnosis of dynamic faults in SRAMs”, 3rd International Conference
on Design and Technology of Integrated Systems in Nanoscale Era, pp. 1-6, Tozeur,
Tunisia, martie 2008.
3. G. Harutunyan, V.A. Vardanian, Y. Zorian, “Minimal March-Based Fault Location
Algorithm with Partial Diagnosis for All Static Faults in Random Access Memories”, IEEE
Design and Diagnostics of Electronic Circuits and Systems, pp. 260-265, Prague, Czech
Republic, aprilie 2006.
4. S.M. Al-Harbi, F. Noor, F.M. Al-Turjman, “March DSS: A New Diagnostic March Test for
All Memory Simple Static Faults”, IEEE Transactions on Computer-Aided Design of
Integrated Circuits and Systems, vol. 26, no. 9, pp. 1713-1720, 2007.
5. D. Appello, V. Tancorre, P. Bernardi, M. Grosso, M. Rebaudengo, M.S. Reorda,
“Embedded Memory Diagnosis: An Industrial Workflow”, IEEE Intern. Test Conference,
pp. 1-9, Santa Clara, CA, USA, octombrie 2006.
6. A.J. van de Goor, “Testing semiconductor memories, Theory and Practice”, Ed. John Wiley
& Sons, Chichester, UK, 1991.
7. G. N. Gaydadjiev, “Testing of Modern Semiconductor Memory Structures”, Dissertation at
Electrical Engineering, Mathematics and Computer Science, Technical University of Delft,
2007.
8. R. David, A. Fuentes, B. Curtois, “Random Pattern Testing Versus Deterministic Testing of
RAMs”, IEEE Transactions on Computers, Vol. 38, Issue. 5, pp 637-650, 1989.
9. L. Dilillo, P. Girard, S. Pravossoudovitch, A. Virazel, M. Hage-Hassan, “Data retention fault
in sram memories: analysis and detection procedures”, 23rd IEEE VLSI Test Symposium, pp.
183–188, Palm Springs, CA, USA, mai 2005.
10. Z. Al-Ars, S. Hamdioui, G.N. Gaydadjiev, S. Vassiliadis, “Test set development for cache
memory in modern microprocessors”, IEEE Trans. on VLSI Systems, Vol. 16, Issue 6, pp.
725-732, 2008.
11. M. Bushnell, V. Agrawal, “Essentials of Electronic Testing for Digital, Memory and Mixed-
signal VLSI Circuits”, Springer, New York, USA, 2000.
12. A.J.van de Goor, S. Hamdioui, Z. Al-Ars, “The effectiveness of the scan test and its new
variants”, Proc. IEEE Int. Workshop on Memory Technology Design and Testing, pp. 26-31,
San Jose, CA, USA, august 2004.
13. Z. Al-Ars, S. Hamdioui, G. Mueleer, A.J. van de Goor, “Framework for fault analysis and
test generation in DRAMs”, Proceedings Design, Automation and Test in Europe, pp.1020-
1021, Munich, Germany, martie 2005.
68
14. S. Hamdioui, Z. Al-Ars, “Scan More with Memory Scan Test”, 4th International
Conference on Design & Technology of Integrated Systems in Nanoscale Era, pp. 204-209,
Cairo, Egypt, aprilie 2009.
15. S. Hamdioui, A.J. van de Goor, J.D. Reyes, M. Rodgers, “Memory Test Experiment:
Industrial Results and Data”, IEEE Proceedings of Computes and Digital Techniques, Vol.
153, Issue 1, pp. 1-8, 2006.
16. W.H. Wan Zuha, O. Mahsuri, S. Bombang Sunarjo, “Test and Diagnosis Procedures for
Coupling Faults on SRAM Memories”, World Engineering Congress, Penang, Malaysia,
pp.1-7, august 2007.
17. A.J. van de Goor, S. Hamdioui, “Detecting Faults in Peripheral Circuits and an Evaluation
of SRAM Tests”, Proc. of IEEE International Test Conference, Charlotte, NC, USA, pp.
114-134, octombrie 2004.
18. L. Dilillo, P. Girard, S. Pravossoudovitch, A. Virazel, M. Bastian, Hage-Hassan, “Resistive-
open defect influence in SRAM pre-charge circuits: analysis and characterization”, IEEE
European Test Symposium, pp. 116–121, Tallinn, Estonia, mai 2005.
19. L. Dilillo, P. Girard, S. Pravossoudovitch, A. Virazel, M. Bastian, “March pre: an efficient
test for resistive-open defects in the SRAM precharge circuit”, IEEE Design and
Diagnostics of Electronic Circuits and Systems, pp. 254–259, Prague, Czech Republic,
aprilie 2006.
20. M. Azimane, A. Majhi, G. Gronthoud, M. Lousberg, S. Eichenberger, A.L. Ruiz, “A new
algorithm for dynamic faults detection in RAMs”, Proceedings of VLSI Test Symposium, pp.
177-182, Palm Springs, CA, USA, mai 2005.
21. S. Hamdioui, Z. Al-Ars, G. Gaydadjiev, A.J. van de Goor, “An investigation on capacitive
coupling in ram address decoders”, 2nd
International Design and Test Workshop, pp. 9–14,
Cairo, Egypt, decembrie 2007.
22. A. Ney, P. Girard, C. Landrault, S. Pravossoudovitch, A. Virazel, M. Bastian, “Slow write
driver faults in 65nm SRAM technology: analysis and March test solution”, Proc. of Design
Automation and Test Conference, pp. 1-6, Nice, France, aprilie 2007.
23. A.J. van de Goor, I.B.S. Tlili, “March tests for word-oriented memories”, Proceedings of
Design, Automation and Test in Europe, pp. 501-508, Paris, France, februarie 1998.
24. X. Du, W. Cheng, S. M. Reddy, J. Rayhawk, N. Mukherjee, “At-Speed Built-in Self-Repair
Analyzer for Embedded Word-Oriented Memories”, International Conference on VLSI
Design, pp. 895-900, Mumbai, India, ianuarie 2004.
25. A.J. van de Goor, “Functional Faults Models: A Formal Notation and Taxonomy”, Proc. of
IEEE VLSI Test Symp, pp. 281- 290, Montreal, Canada, aprilie-mai 2000.
26. S. Hamdioui, A.J. van de Goor, M. Rogers, “March SS: A Test for All Static Simple RAM
Faults”, Proc. of IEEE Int’l Workshop on Memory Technology, Design and Testing, pp. 95-
100, Isle of Bendor, France, iulie 2002. 27. S. Hamdioui, A.J. van de Goor, “Thorough Testing of Any Multi-Port Memory with Linear
Tests”, IEEE Trans. of CAD, Vol.21, Issue 2, pp.217-231, 2002.
69
28. A.J. van de Goor, “Testing Semiconductor Memories, Theory and Practice”, ComTex
Publishing, Gouda, The Nederlandes, 1998. 29. A.J. van de Goor, G. Gaydadjiev, “March LR: A memory Test for Realistic Linked Faults”,
Proc. IEEE VLSI Test Symposium, pp. 272-280, Princeton, NJ, USA, aprilie-mai 1996. 30. A. Bosio, S. Di Carlo, G. Di Natale, P. Prinetto, “March AB, a state-of-the-art march test
for realistic static linked faults and dynamic faults in SRAMs”, IET Computers & Digital
Techniques, Vol. 1, Issue. 3, pp. 237-241, 2007.
31. G. Harutunyan, V.A. Vardanian, Y. Zorian, “Minimal march test algorithm for detection of
linked static faults in random access memories”, Proceedings. 24th IEEE VLSI Test
Symposium, , pp. 6-10, Berkeley, CA, USA, aprilie-mai 2006.
32. A. Benso, A. Bosio, S. Di Carlo, G. Di Natale, P. Prinetto, “Memory Fault Simulator for
Static-Linked Faults”, ATS ‘06 - 15th Asian Test Symposium, pp. 31-39, Fukuoka, Japan,
noiembie 2006.
33. A. Benso, A. Bosio, S. Di Carlo, G. Di Natale, P. Prinetto, “March Test Generation
Revealed”, IEEE Transactions on Computers, Vol. 57, Issue 12, pp. 1704-1710, 2008.
34. R. Nair, S. Thatte, J. Abraham, “Efficient Algorithms for Testing Semiconductor Random-
Access Memories”, IEEE Transactions on Computers, Vol. 27, Issue 6, pp.572-576, 1978.
35. C. Papachristou, N. Sahgal, “An Improved Method for Detecting Functional Faults in
Semiconductor Random-Access Memories”, IEEE Transactions on Computers, Vol. 34,
Issue 2, pp.110-116, 1985.
36. D.S. Suk, M. Reddy, “Test Procedures for a Class of Pattern-Sensitive Faults in
Semiconductor Random-Access Memories”, IEEE Transactions on Computers, Vol. 29,
Issue 6, pp.419-429, 1980.
37. A.J. van de Goor, “Using March Tests to Test SRAMs”, IEEE Design & Test of
Computers,Vol.10, Issue 1, pp. 8-14, 1993.
38. D. Adams, “High-Performance Memory Testing. Design Principles, Fault Modeling and
Self-Test”, Kluwer Academic Publishers, Boston, USA, 2003.
39. Z. Al-Ars, S. Hamdioui, “Evaluation of SRAM faulty behavior under bit line coupling”,
Proc. of IEEE International Design and Test Workshop, pp. 231-235, Monastir, Tunisia,
decembrie 2008.
40. S. Irobi,Z. Al-Ars, S. Hamdioui, “Bit line coupling memory tests for single-cell fails in
SRAMs”, 28th VLSI Test Symposium, pp. 27-32, Santa Cruz, CA, USA, aprilie 2010.
41. I. Mrozek, V.N. Yarmolik, E. Buslowska, “Multi Background Memory Testing”, Computer
Information Systems and Industrial Management Applications, pp. 511-516, Ostrava, Czech
Republic, iunie 2008.
42. B.F. Cockburn, “Deterministic tests for detecting scrambled pattern-sensitive faults in
RAMs”, Proc. IEEE Int. Workshop Memory Technology, Design and Testing (MTDT), pp.
117-122, San Jose, CA, USA, august 1995.
70
43. H.W. Zuha Wan, A.H. Izhal, R. Sidek, O. Masuri, “A Fault Syndromes Simulator for
Random Access Memories”, European Journal of Scientific Research, Vol.23, Issue 1, pp.
13-24, 2008.
44. A.J. van de Goor, J. de Neef, “Industrial Evaluation of DRAMs Tests”, Proc. of Design
Automation and Test in Europe, pp.623-630, Munich, Germany, martie 1999. 45. V.K. Kim, T. Chen, “On Comparing Functional Fault Coverage and Defect Coverage for
Memory Testing”, IEEE Transactions on CAD, Vol. 18, Issue 11, pp. 1676-1683, 2000. 46. P. Caşcaval, R. Silion, A. Stan, “MarchS2C: A Test For All Static 2-Cell RAM Coupling
Faults”, Bul. Inst. Polit. Iasi , Tom LII (LVI), Fasc.1-4, Automatică şi Calculatoare, pp 79-
86, 2006. 47. M. Franklin, K. Saluja, K. Kinoshit, “A Built-In Self-Test Algorithm for Row/Column
Pattern Sensitive Faults in RAM‟s”, IEEE Journal Of Solid-State Circuits, Vol. 25. Issue 2,
pp. 514-524, 1990. 48. P. Mazumder , J. Patel, “An Efficient Built-In Self Testing for Random-Access Memory”,
IEEE Transactions on Industrial Electronics, Vol. 36, Issue 2, pp. 246-253, 1989. 49. D.C. Kang, S. Min Park, S.B. Cho, “An Efficient Build-in Self-Test Algorithm for
Neighborhood Pattern- and Bit-Line-Sensitive Faults in High Density Memories”, ETRI
Journal, Vol. 26, Issue 6, pp.520-534, 2004. 50. Y. Sfikas, Y. Tsiatouhas, “Physical Design Oriented DRAM Neighborhood Pattern
Sensitive Fault Testing”, IEEE Intl. Symp. on Design and Diagnostics of Electronic Circuits
and Systems, pp. 108-113, Liberec, Czech Republic, aprilie 2009. 51. J.C. Lee, Y.S. Kang, S. Kang, “A Parallel Test Algorithm for Pattern Sensitive Faults in
Semiconductor Random Access Memories”, IEEE Intl. Symp. on Circuits and Systems,
Hong Kong, pp. 2721 - 2724, Hong Kong, China, iunie 1997. 52. K. Cheng, M. Tsai, C. Wu, “Neighborhood Pattern-Sensitive Fault Testing and Diagnostics
for Random-Access Memories”, IEEE Transactions on Computer-aided Design of
Integrated Circuits and Systems, Vol. 21, Issue 11, pp. 1328-1336, 2002. 53. B.F. Cockburn, “Deterministic tests for detecting single V-coupling faults in RAMs”, J.
Electronic Testing. Theory and Applications, Vol. 5, Issue 1, pp. 91-113, 1994. 54. Cristina Huzum, P. Cașcaval, “A multibackground March test for static neighborhood
pattern-sensitive faults in random-access memories”, acceptată spre publicare la Journal
of Electronics and Electrical Engineering, Kaunas: Technologija, Lituania. 55. A.J. van de Goor, I.B.S. Tlili, “Disturb Neighborhood Pattern Sensitive Fault”, Proceedings
of the 15th IEEE VLSI Test Symposium, pp. 37-45, Monterey, CA, USA, aprilie-mai 1997. 56. Cristina Huzum, P. Cașcaval, “Linked Neighborhood Pattern-Sensitive Faults in Random-
Access Memories. A Fault Coverage Evaluation”, 14th International Conference on System
Theory and Control, pp. 241-245, Sinaia, Romania, octombrie 2010. 57. Cristina Huzum, P. Cașcaval, “A Fault Coverage Evaluation of Linked Neighborhood
Pattern-Sensitive Faults in Random-Access Memories”, Analele Universității din Craiova,
Vol. 7 (34), Issue 1, pp. 21-26, 2010.
71
58. P. Cașcaval, D. Cașcaval, “March SR3C: A Test for a reduced model of all static simple
three-cell coupling faults in random-access memories”, Microelectronics Journal, Volume
41, Issue 4, pp. 212-218, 2010.
59. P. Caşcaval, R. Silion, D. Caşcaval, Cristina Huzum, “A Fault Primitive Based Model Of
All Static Four-Cell Coupling Faults In Random-Access Memories”, Bul.Inst.Polit.Iaşi,
Tom LIV(LVIII), Fasc.1, Secţia Automatică şi Calculatoare, pp 51-61, 2008. 60. Cristina Huzum, P. Cașcaval, “A Fault Primitive Based Model For All Static
Neighbourhood Pattern-Sensitive Faults In Random Access Memories”, Buletinul
Institutului Politehnic din Iaşi, LV(LIX), Fasc. 3, Secţia Automatică și Calculatoare, pp. 63-
73, 2009. 61. Cristina Huzum, P. Cașcaval, “A Multibackground March Test For All Static Simple
Neighborhood Pattern-Sensitive Faults in RAMs”, 15th International Conference on System
Theory and Control, pp. 288-293, Sinaia Romania, octombrie 2011. 62. S. Hamdioui, Z. Al-Ars, G. Gaydadjiev, J.D. Reyes, “Investigation of Single-Cell Dynamic
Faults in Deep-Submicron Memory Technologies”, in Proc. IEEE European Test
Symposium Digest of Papers (11th ETS'06), Southampton, UK, pp. 1-6, mai 2006.
63. L. Dilillo, B. Al-Hashimi, P. Rosinger, P. Girard, “Leakage Read Fault in Nanoscale SRAM:
Analysis, Test and Diagnosis”, Proc. IEEE Int. Design and Test Workshop, Dubai, EAU, pp.
1-7, noiembrie 2006.
64. A. Ney, P. Girard, C. Landrault, S. Pravossoudovitch, A.Virazel and M. Bastian, “Slow
Write Driver Faults in 65nm Technology SRAM: Analysis and March Test Solution”, Proc.
of IEEE Design Automation and Test in Europe, pp. 1-6, Nice, France, aprilie 2007.
65. A. Ney, P. Girard, C. Landrault, S. Pravossoudovitch, A. Virazel and M. Bastian, “Un-
Restored Destructive Write Faults due to Resistive-Open Defects in the Write Driver of
SRAMs”, Proc. of IEEE VLSI Test Symposium, pp. 361-368, Berkeley, CA, USA, mai 2007.
66. L. Dilillo, P. Girard, S. Pravossoudovitch, A. Virazel, “Resisitive open defect influence in
SRAM pre charge circuit: Analysis and characterization”, Proc. of IEEE European Test
Symposium, pp. 116-121, Tallinn, Estonia, mai 2005.
67. A.K. Majhi, M. Azimane, G. Gronthoud, M. Lousberg, S. Eichenberger, F. Bowen,
“Memory testing under different stress conditions: an industrial evaluation”, Proceedings of
Design, Automation and Test in Europe, Vol. 1, Issue 1, pp. 438-443, 2005.
68. S. Hamdioui, R. Wadsworth, J.D. Reyes, A.J. van de Goor, “Memory Fault Modeling
Trends: A Case Study”, Journal of Electronic Testing, Vol. 20, Issue 3, pp. 245-255, 2004. 69. S. Hamdioui, Z. Al-Ars, “Scan more with memofry scan test”, 4th International Conference
on Design & Technology of Integrated Systems in Nanoscale Era, pp. 204-209, Cairo,
Egypt, aprilie 2009. 70. S. Hamdioui, A.J. van de Goor, “Experimental Analysis of Spot Defects in SRAM. Realitic
Fault Models and Tests”, Proc. of Ninth Asian Test Symposium, pp.131-138, Taipei, Taiwan,
decembrie 2000.
72
71. M. Marinescu, “Simple and Efficient Algorithms for Functional RAM Testing”, Digest of
Papers, 1982 Int’l Test Conference, Philadelphia, PA, pp.236-239, noiembrie 1982. 72. J.H. de Jonge, A.J. Smeulders, “Moving Inversion Test Pattern is Thorough, Yet Speedy”,
Computer System Design, ACM, Vol. 19, Issue 5, pp.169-173, 1976. 73. M. Azimane, A. Majhi, G. Gronthoud, M. Lousberg, S. Eichenberger, A.L. Ruiz, “A new
algorithm for dynamic faults detection in RAMs”, Proceedings of VLSI Test Symposium, pp.
177-182, Palm Springs, CA, USA, mai 2005. 74. S. Hamdioui, R. Wadsworth, J.D. Reyes, A.J. van de Goor, “Importance of Dynamic Faults
for New SRAM Technologies”, Proceedings of the Eighth IEEE European Test Workshop,
pp. 29-34, Maastricht, The Netherlandes, mai 2003. 75. S. Hamdioui, N. Gaydadjiev, A.J. van de Goor, “A Fault Primitive Based Analysis of
Dynamic Memory Faults”, Proceedings of PRORISC’03, pp. 84-89, Veldhoven, The
Detherlandes, noiembrie 2003. 76. Z. Al-Ars, A.J. van de Goor, “Approximating Infinite Dynamic Behavior for DRAM Cell
defects”, Proc. IEEE VLSI Test Symp, pp. 401-406, Monterey, CA, USA, aprilie-mai 2002. 77. G. Harutunyan, V.A. Vardanian, Y. Zorian, “Minimal March Tests for Detection of
Dynamic Faults in Random Access Memories”, Journal of Electronic Testing: Theory and
Applications, Vol. 23, Issue 1, pp. 55-74, 2007. 78. A. Benso, A. Bosio, S. Di Carlo, G. Di Natale, P. Prinetto, “Automatic march tests
generations for static linked faults in SRAMs”, Proc.ETS, pp. 1-6, Southampton, UK, mai
2006. 79. S. Hamdioui, Z. Al-Ars, A.J. van de Goor, M. Rodgers, “Dynamic Faults in Random-
Access-Memories: Concept, Fault Models and Tests”, Journal of Electronic Testing: Theory
and Applications, Vol. 19, Issue 2, pp. 195-205, 2003. 80. A. Benso, A. Bosio,S. Di Carlo, G. Di Natale, P. Prinetto, “March AB, March AB1:New
March Tests for Unlinked Dynamic Memory Faults”, Proceedings ITC, pp. 834-841,
Austin, TX, USA, noiembrie 2005. 81. S. K. Thakur, A. N. Chandorkar, R. A. Parekhji, “Diagnostic Testing of Memories for Static
and Dynamic Faults”, VLSI Design and Test (VDAT) Symposium, pp.179-187, Bangalore,
India, august 2005. 82. S.K. Thakur, R.A. Parekhji, A.N. Chandorkar, “On-chip Test and Repair of Memories for
Static and Dynamic Faults”, International Test Conference, pp. 1-10, Santa Clara, CA, USA,
octombrie 2006. 83. K. Natori, “Prospective characteristics of nanoscale MOSFETs”, 8th International on Solid-
State and Integrated Circuit Technology, pp. 47-50, Shanghai, China, octombrie 2006.
84. W. Zhao, Y. Cao, “New generation of predictive technology model for sub-45nm early
design exploration”, IEEE Trans. on Electron Devices, Vol. 53, Issue 11, pp. 2816–2823,
2006.
85. R. Rodriguez-Montanes, J.P. de Gyvez , P. Volf, “Resistance characterization for weak open
defects”, IEEE Design & Test of Computers, Vol. 19 , Isuue 5, pp. 18 – 26, 2002.
73
86. K. Kang, M.A. Alam, K. Roy, “Characterization of NBTI induced Temporal Performance
Degradation in Nano-Scale SRAM array using IDDQ ∗”, International Test Conference, pp.
1-10, Santa Clara, CA, USA, octombrie 2007.
87. L. Chang, D.M. Fried,J. Hergenrother, J.W. Sleight, R.H. Dennard, R.K. Montoye, L.
Sekaric, S.J. McNab, A.W. Topol, C.D. Adams, K.W. Guarini, W. Haensch, “Stable SRAM
cell design for the 32 nm node and beyond”, Symposium on VLSI Technology, pp. 128 –
129, Kyoto, Japan, iunie 2005.
88. L. Chang, Y. Nakamura, R.K. Montoye , J. Sawada, A.K. Martin,K. Kinoshita, F. Gebara,
K.B. Agarwal, D.J. Acharyya, W. Haensch, K. Hosokawa, D. Jamsek, “A 5.3 GHz 8T-
SRAM with operation down to 0.41 V in 65 nm CMOS”, Proc. Very Large Scale Integr.
Circuit Symp., pp. 252–253, Kyoto, Japan, iunie 2007.
89. Y. Morita, H. Fujiwara, H. Noguchi, Y. Iguchi, K. Nii, H. Kawaguchi, M. Yoshimoto,“An
Area-Conscious Low-Voltage-Oriented 8T-SRAM Design under DVS Environment”,
Symposium on VLSI Circuits, pp. 256-257, Kyoto, Japan, iunie 2007.
90. H. Yamauchi , “A Discussion on SRAM Circuit Design Trend in Deeper Nanometer-Scale
Technologies”, IEEE Trans. on Very Large Scale Integration (VLSI) Systems, Vol. 18, Issue
5, pp. 763-774, 2010.
91. K. Kang, S.P. Park, K. Roy, M.A. Alam, “Estimation of Statistical Variation in Temporal
NBTI Degradation and its Impact on Lifetime Circuit Performance”, Proceedings of the
2007 IEEE/ACM international conference on Computer-aided design, pp. 730-734, San
Jose, CA, USA, noiembrie, 2007.
92. G. L. Rosa and W. L. Ng and S. Rauch and R. Wong and J. Sudijono, “Impact of NBTI
Induced Statistical Variation to SRAM Cell Stability”, International Reliability Physics
Symposium, pp. 274-282, San Jose, CA, USA, martie 2006.
93. R. Rodr guez-Monta s, D. Arum , S. Manich,J. Figueras, S. Di Carlo, P. Prinetto, A.
Scionti, “Defective Behaviour of an 8T SRAM Cell with Open Defects”, Second
International Conference on Advances in System Testing and Validation Lifecycle (VALID),
pp. 81-86, Nice, France, august 2010.
94. Berkeley Predictive Tehcnology Model, http://ptm.asu.edu/, 2011.
95. S. Di Carlo, A. Savino, A. Scionti,P. Prinetto, “Influence of Parasitic Capacitance Variations
on 65 nm and 32 nm Predictive Technology Model SRAM Core-Cells”, 17th Asian Test
Symposium, pp. 411-416, Sapporo, Japan, noiembrie 2008.
96. L. Dilillo, P. Girard, S. Pravossoudovitch, A. Virazel, M. Bastian, “Resistive-open defect
injection in SRAM core-cell: analysis and comparison between 0.13 μm and 90nm
technologies”, Proceedings of 42nd Design Automation Conference, pp. 857 – 862,
Anaheim, CA, USA, iunie 2005.
97. S. Di Carlo, P. Prinetto, A. Scionti, Z. Al-Ars, “Automating defects simulation and fault
modeling for SRAMs”, IEEE International High Level Design Validation and Test
Workshop, pp. 169-176, Incline Village, NV, USA, noiembrie 2008.
74
98. J. Figueras, R. Rodr guez-Monta s, D. Arumi, “Models in Hardware Testing”, chapter 2 –
“Open Defects in Nanometer Technologies”, Springer, Dordrecht, 2010.
99. Q.Chen, H. Mahmoohi, S.Bhunja, K.Roy, “Modeling and testing of SRAM for new failure
mechanisms due to process variations in nanoscale CMOS”, Proc. IEEE VLSI Test
Symposium , pp. 292-297, Palm Springs, CA, USA, mai 2005.
100. M.J.M. Pelgrom, A.C.J. Duinmaijer, A.P.G. Welbers, “Matching properties of MOS
transistors”, IEEE Journal of Solid-State Circuits, Vol.24, Issue 5, pp. 1433-1439, 1989.
101. Cristina Huzum, Petru Cașcaval “March AS2C: Efficient March Test for All Static Two-
Cell Coupling Faults in Random-Access Memories”, Reliability Engineering & System
Safety, Elsevier (under submision).
102. Cristina Huzum, Petru Cașcaval, “A multibackground March test for static neighborhood
pattern-sensitive faults in random-access memories”, Journal of Electronics and Electrical
Engineering, No. 3(119), March, 2012 (in press).
103. Cristina Huzum, Petru Cașcaval, “Dynamic Neighborhood Pattern-Sensitive Faults In
Random-Access Memories. A Fault Coverage Evaluation”, Buletinul Institutului Politehnic
din Iaşi, Secţia Automatică și Calculatoare (in press).
104. Cristina Huzum, Stefano di Carlo, Paolo Prinetto, Alberto Scionti, “Comparison of Process
Variation Effects Between 6T and 8T Defective SRAM Cells”, IET Computers and Digital
Techniques, ISSN 1751-8601 (under submision).