19
15/01/16 1 TEST DE MEMOIRES Luigi DILILLO – [email protected] LIRMM (Laboratoire d’Informa@que, Robo@que et Microélectronique de Montpellier) Université Montpellier Les Mémoires Percentage of SOC surface composed of memories ITRS roadmap: International Technology Roadmap for Semiconductors 2005 Technologies are scaling down following Moore’s law Memory blocks become the main responsible of chip reliability 2014 2008 50% 2002 80% 95% Résumé Introduction Modélisation de la mémoire Mécanismes de défaillances et modélisation de fautes Algorithmes de test pour RAM Cas d’étude :Test des ADOFs Test des ROMs BIST mémoire La technologie… Introduction Les mémoires (particulièrement les RAM) sont au premier rang de la conception des circuits commerciaux Les DRAMs sont les moteurs du développement technologique dans l’industrie des semi-conducteurs Les mémoires sont les coeurs les plus utilisés dans les SoC (centaines !) Principaux types de mémoires vives RAMs (Random Access Memories) RAM dynamique (DRAM) La meilleure densité Temps d’accès lent (typiquement 20ns) L’information est stockée comme la charge d’un condensateur et doit être rafraîchie régulièrement RAM statique (SRAM) Les plus rapides (typiquement 2ns) L’information est stockée dans des latches réalisés avec des inverseurs rebouclés Principaux types de mémoires non volatiles RAMs (Random Access Memories) FRAM MRAM PCRAM RRAM Flash

TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

Embed Size (px)

Citation preview

Page 1: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

1&

TEST DE MEMOIRES

Luigi&DILILLO&–&[email protected]&

LIRMM&(Laboratoire&d’Informa@que,&Robo@que&et&Microélectronique&de&Montpellier)&

Université&Montpellier&

Les&Mémoires!

Percentage of SOC surface composed of memories ITRS roadmap: International Technology Roadmap for Semiconductors 2005

• Technologies are scaling down following Moore’s law

•  Memory blocks become the main responsible of chip reliability

2014

2008

50%

2002

80% 95%

Résumé •  Introduction •  Modélisation de la mémoire •  Mécanismes de défaillances et modélisation

de fautes •  Algorithmes de test pour RAM •  Cas d’étude :Test des ADOFs •  Test des ROMs •  BIST mémoire •  La technologie…

Introduction

•  Les mémoires (particulièrement les RAM) sont au premier rang de la conception des circuits commerciaux

•  Les DRAMs sont les moteurs du développement technologique dans l’industrie des semi-conducteurs

•  Les mémoires sont les coeurs les plus utilisés dans les SoC (centaines !)

Principaux types de mémoires vives RAMs (Random Access Memories)

•  RAM dynamique (DRAM) –  La meilleure densité –  Temps d’accès lent (typiquement 20ns) –  L’information est stockée comme la charge d’un

condensateur et doit être rafraîchie régulièrement

•  RAM statique (SRAM) –  Les plus rapides (typiquement 2ns) –  L’information est stockée dans des latches réalisés

avec des inverseurs rebouclés

Principaux types de mémoires non volatiles RAMs (Random Access Memories)

•  FRAM •  MRAM •  PCRAM •  RRAM •  Flash

Page 2: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

2&

Principaux types de mémoires mortes ROMs (Read Only Memories)

•  Les mémoires mortes (ROM) –  L’information est stockée par la présence ou l’absence d’un

transistor lors de la fabrication –  L’information persiste même en cas de non alimentation du

circuit •  Les mémoires mortes effaçables et programmables

(EPROM) –  Programmables dans l’application –  Effaçables entièrement en appliquant des rayons ultraviolets

•  Les mémoires mortes effaçables électriquement et programmables (EEPROM) –  Les mots peuvent être effacés sélectivement par des moyens

électriques

Le Test de mémoire (à la fabrication)

•  Le test de mémoire doit prouver que le circuit sous test se comporte comme il a été conçu, il consiste donc en: – Des test paramétriques relatifs au niveau de

courants/tensions et aux délais sur les broches d’E/S du circuit

– Un test fonctionnel qui comprend le test dynamique

Parametric testing

•  Test paramétrique DC –  Test de Contact –  Consommation –  Courant de fuite –  Tension de seuil –  Courant de sortie –  Courant de court -

circuit

•  Test paramétrique AC –  Temps de montée et de

descente –  Temps d’établissement et

de maintien (setup, hold) –  Test de délai Delay test –  Test de vitesse

•  Test IDDQ testing (Pour les mémoires CMOS seulement) –  Approche zéro défaut –  Utilisé pour détecter

certains défauts non détectés par le test fonctionnel

Résumé

•  Introduction •  Modélisation de la mémoire •  Mécanismes de défaillances et

modélisation de fautes •  Algorithmes de test pour RAM •  Test des ROMs •  BIST mémoire •  La technologie…

Modèle fonctionnel de RAM Rafraîchissement Adresse

Registre adresse Décodeur de colonne

Logique de rafraichissement

Tableau de cellules mémoire

Commande d’écriture

Registre de données

Amplificateurs de lecture

Décodeur de ligne

Data out Data in

R/W et CE

Modèle fonctionnel de SRAM Rafraîchissement Adresse

Registre adresse Décodeur de colonne

Logique de rafraichissement

Tableau de cellules mémoire

Commande d’écriture

Registre de données

Amplificateurs de lecture

Décodeur de ligne

Data out Data in

R/W et CE

Page 3: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

3&

Modèle fonctionnel de SRAM Adresse

Registre adresse Décodeur de colonne

Tableau de cellules mémoire

Commande d’écriture

Registre de données

Amplificateurs de lecture

Décodeur de ligne

Data out Data in

R/W et CE

Modèle fonctionnel de ROM Adresse

Registre adresse Décodeur de colonne

Tableau de cellules mémoire

Commande d’écriture

Registre de données

Amplificateurs de lecture

Décodeur de ligne

Data out Data in

R/W et CE

Modèle fonctionnel de ROM Adresse

Registre adresse Décodeur de colonne

Tableau de cellules mémoire

Registre de données

Amplificateurs de lecture

Décodeur de ligne

Data out

CE

Modèle fonctionnel réduit Rafraîchissement Adresse

Registre adresse Décodeur de colonne

Logique de rafraichissement

Tableau de cellules mémoire

Commande d’écriture

Registre de données

Amplificateurs de lecture

Décodeur de ligne

Data out Data in

R/W et CE

Décodage d’Adresse

Tableau de cellule mémoire

Logique de lecture/écriture

Modèle fonctionnel réduit

Décodage d’addresse

Tableau de cellules mémoire

Logique de lecture écriture

Adresse

Données

The&architecture&of&SRAMs&

SRAM%basic%architecture&& Classic%scheme%for%cell%array%and%I/0%logic&&

Page 4: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

4&

The&architecture&of&SRAMs&

Scheme%of%a%sec<on%of%an%SRAM%organized%in%4x4%blocks&&

The&selec@on&of&given&word&for&a&write/read&access&is&done&as&follow:&&

•  The&word&line&that&selects&the&given&word&is&ac@vated;&•  Only&one&column&per&block&is&selected;&•  The&selected&cells&are&connected&to&one&SA/WD&unit&through&a&4:1&mul@plexer.&&

Other&design&improvements&contribute&to&reduce&the&occurrence&of&mul@Xbit&flips&within&the&same&word:&bit&scrambling.%

The&architecture&of&SRAMs

BuCerfly%architecture%for%SRAMs&&

This&configura@on&reduces&by&half&the&word&line&length&and&contributes&to&MBU&resilience.&&&

Résumé

•  Introduction •  Modélisation de la mémoire •  Mécanismes de défaillances et modélisation

de fautes •  Algorithmes de test pour RAM •  Cas d’étude :Test des ADOFs •  Test des ROMs •  BIST mémoire •  La technologie…

Défaillance, erreurs et fautes

•  La défaillance d’un système correspond à un fonctionnement incorrect de celui-ci

•  Les défaillances sont dues à des erreurs •  Une erreur est une différence entre une valeur

fautive et la valeur correcte, c’est la manifestation de la faute

•  Une faute représente la différence physique entre le circuit sain et le circuit fautif

•  Les fautes peuvent être permanentes ou non-permanentes

Mecanismes de défaillance

•  Corrosion •  Electromigration •  Détérioration des liaisons (circuits ouverts dus à

l’interdiffusion Au-Al) •  Contamination Ionique (modification des tensions de

seuil due à une diffusion ionique dans les grilles de transistor)

•  Alliage (migration d’atomes d’Al dans le Si) •  Radiations et rayonnements cosmiques (« soft memory

errors », …) •  …….

Manufacturing&defects &&In& & &IC& & &manufacturing,& & &different& & &processes& & &can& & &be& & &responsible&&&for& & &defects& & &on& & & fabricated& & &products:& & & implanta@on,& & &etching,&&&deposi@on,&&&planariza@on,&&&cleaning,&&&lithography…&

Different%%types%%of%%manufacturing%%defect&

Con tam ina@ons& and& o the r&mechanisms&are&defect& & &causes&in&ICs:&a)  A i r b o r n e & M o l e c u l a r&&&

Contamina@on&(AMC);&&b)  & Process& & & induced& & & defects,&&&

e.g.& scratches,& & cracks,&&par@cles,& &overlay& & faults& &and&&stresses;&&&

c)  Process& varia@ons& in& doping&&&profiles&or&layer&thicknesses;&

d)  Devia@on& from& design,& due& to&paaern& transfer& from&mask& to&wafer;&

e)  Diffusion& & of& & atoms& & through&&layers& & and& & in& & the&&semiconductor&&bulk&&material.&&

Page 5: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

5&

Interference&phenomena&

ICs&con@nuously&interact&with&the&opera@ng&environment.&They&may&be&subject&to:&&X&radia@on&strikes,&&X&electrical&noises&from&crosstalk&&X&electromagne@c&interferences&with&other&running&circuits&in&proximity.&

&Among&these&interac@ons,&radia@on&strikes&are&the&most&important&sources&of&error&&in& CMOS& ICs.& They&mostly& create& Soc& Errors& which& affect&memories,& registers& and&combina@onal&logics&of&digital&systems.&&&When&&a&&par@cle&&hits&&a&&silicon&&atom,&&it&&can&&induce&:&

&X&fission;&&X&shaaering&the&atom&into&charged&fragments&that&con@nue&traveling&through& &&&&&&&&substrate.&A&cylindrical&track&of&electronXhole&pairs&is&formed.&

&When&&the&&ioniza@on&&track&&comes&&close&&to&&&the&&deple@on&&region,&&the&&electric&&field&&rapidly&&collects&&carriers&&and&&creates&&a&&current/voltage&&glitch&&at&&that&node.&

Acer&a&par@cle&strike&a&tunnel&shape&extending&high&field&deple@on&region&deeper&into&substrate&is&formed.&

Interference&phenomena&

Soc&&&errors&&&create&&&voltage&&&glitches&&&at&&&struck&&&nodes.&&&In&&&combina@onal&&logic&&parts&&of&&digital&&systems,&&these&&glitches&&are&&called&&Single&Event&Transient&&(SET).&

SoH%%Error%%Mechanism&

To&&completely&&flip&&state&&of&&a&&node,&&a&&minimum&&quan@ty&&of&&charge&&Qcri<cal&&must&&be&&collected.&This&&value&&depends&&on&&the&&capacitance&&and&&the&&voltage&&of&&the&&node.&&&

Hot& carriers& injec@on,& temperature& varia@ons,& oxide& wearXout& and&electromigra@on& are& responsible& of& aging& of& ICs,& which& may& lead& to& defects& in&digital&systems.&

During&ICs’&life@me,&&&gate&&&oxides&&&are&&&subject&&&to&&&stress&&&and&&&gradually&&&wear&&&out,&with&three&main&mechanisms:&

1.  Hot&Carriers& Injec@on& (HCI):&As& transistors& switch,&highXenergy& (hot)& carriers&are&occasionally&injected&into&the&gate&oxide.&These&carriers&are&trapped&in&the&oxide,&and&therefore&change&the&currentXvoltage&characteris@cs&of&the&device.&

2.  Nega@ve& Bias& Temperature& Instability& (NBTI):& This& problem& concerns&mostly& PMOS& transistors& because& they& almost& always& operate& at& elevated&&&temperature& with& strong& nega@ve& bias& (current& gate& voltage& is& at& 0& while&&&drain&and&source&voltages&are&at&Vdd).&Dangling&bonds&called&TRAPS!develop&&&at& the& SiXSiO2& interface& and& the& threshold& voltage& Vth! increases,& reducing&&&the&drive&current,&and&making&transistors&slower.&

3.  TimeXDependent& Dielectric& Breakout& (TDDB):& With& an& electric& field& applied&across& the& gate& oxide,& the& gate& current& gradually& increases.& Acer& sufficient&stresses,& this& can& result& in& catastrophic& dielectric& breakdown& that& shortXcircuits&the&gate&and&cause&system&failures.&

&

Aging&phenomena && Fault&classifica@on&in&ICs&Manufacturing defects, variability, interference and aging phenomena may create different fault types in ICs. Despite different causes, these faults have some common impacts on circuits. Based on duration, faults can be classified into three groups: 1.   Permanent%faults:&&&They&are&irreversible.&The&&&most&&&common&&&sources&&&of&&&

permanent&&&faults&&&are&&&manufacturing&&&defects.&&&These&&&faults&&&can&&&also&&&be&&&caused&&&by&&&aging&&&phenomena&&&at&&&the&&&end&&&of&life@me&when&wearXout&approaches.&

2.   Transient%faults:&&&These&&&are&&&faults&&&that&&&cause&&&IC&&&components&&&to&&&malfunc@on&&&during&&&a&&&short&&&period&&of&&@me.&&Principle&sources&of&transient&faults&are&variability&and&interference&phenomena.&&&&&

3.   IntermiCent%faults:&&&They&appear&now&and&then,&but&they&never&disappear&&completely&&like&&transient&&faults,&&and&they&do&&not&&occur&&con@nuously&&like&&permanent&&&fault&&&either.&&&However,&&&intermiaent&&&faults&&&ocen&&&precede&&&the&&&occurrence&&&of&&&permanent&&&faults.&&&Aging&&phenomenon&&is&&the&&main&&cause&&of&&this&&reliability&&issue.

Fault&classifica@on&in&ICs&Faults&&&can&&&also&&&be&&&classified&&&by&&&their&&&resul<ng%%%errors&&&in&&&ICs.&&&There&&&are&&&three&&&types&&&of&&&error:&&

1.   Hard%%errors:&These&are&permanent&errors&which&change&permanently&the&

logic&func@on&of&ICs.&A&typical&example&is&an&error&caused&by&a&stuckXatXfault.&&

2.   SoH%%%errors:&&They&&are&caused&by&transient&faults.&Depending&on&the&place&of&&error&occurrence&(in&memories,&combina@onal&logics&or&registers),&they&may&lead&&to&&bitXflipping&(in&memories&and&registers)&or&voltage&glitches&(in&combina@onal&logic).&SET&in&combina@onal&logic&part&and&SEU&in&registers&are&&the&&most&&common&&soc&&errors&&observed&&in&&digital&&&circuits.&&

3.   Timing%%%errors:&Components&that&suffer&from&@ming&error&s@ll&provide&correct&logic&outputs.&However,&they&have&higher&delays&between&input&and&output&signal&establishments.&Transient&faults&induced&by&PVT&variability,&manufacturing&defects&and&aging&phenomenon&are&responsible&for&this&type&of&error.

Fault&classifica@on&in&ICs&

&&Types&of&fault&and&error,&and&the&four&main&reasons&for&reliability&issues.&

Page 6: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

6&

Les&Mémoires&X&So$!!Errors!!

So#$$Error$$Rate$$in$$Embedded$$Memory!

Defini-on:&Soc&&Error&&Rate&&(SER)&:&number&&of&&failures&&in&&one&&million&&hours&&per&&megabit&&(FIT/Mb).&

X&&&&The&SER&&increases&&&as&&&the&&&technology&&&advances.&&X  The& & &percentage& & &of& & &Mul@ple& & &Bits& & &Upsets& & &(MBU)& & &on& & &total& & &SER&&&

increases&&&very&&&fast&&&and&&&will&&&reach&&&100%&&&in&&&2016.&&&

&These&&&trends&&&explain&&&why&&&today,&&&error&&detec@on/correc@on&&codes&&are&&systema@cally&&used&&in&&memories.&

Les&Mémoires&–&Hard!Errors&Hardware& &faultXtolerance& & in& &memories& & is& & implemented& &under&&the&&form&&of&&spare%&memory&&cells,&&words&&&and&&&columns.&&

Defected& elements& are& replaced& by& redundant& resources& & & using&different&techniques&such&as& laser%beams,%electrical% %fuses%or%an<Rfuses.&&

&For&&embedded&&memory,&&external&&test&&and&&&repair&&&have&&&been&&&replaced&&&by&&&BuiltXInXSelfXTest&&&(BIST)&&&and&&&BuiltXIn&&&SelfXRepair&&&(BISR).&&&&

BIST/BISR& & &can& & &be& & &run& & &any@me& & &during& & &the& & & life@me& & &of&&&memories&&&to&&&tolerate&&&both&&&manufacturing&&&defects&&and&&faults&&created&&by&&aging%%phenomena.&&

Par@cle&Impact&on&SRAM&

Electronic devices and ICs are constantly hitby ionizing radiation

Par@cles&and&that&may&disturb&electronics:&!

! &Neutrons&(both&high&energy&and&thermal)&

! &Alphas&(Emiaed&by&contaminants&in&the&&&package/solder&materials)&&

! &Heavy&Ions&(Space&Level)&

! &Protons&(Space&Level)&

Par@cle&Impact&on&SRAM&

Par@cle&hikng&a&transistor,&a&basic&element&of&CMOS&technology&

Par@cle&Impact&on&SRAM

1

0

Neutron

0

1S SB

Impinging&par@cles&may&generate&Soc&Errors&

(SE):&the&device&is&not&permanently&damaged,&but&the&par@cle&may&have&enough&energy&to&corrupted&one&(SBU)&or&more&(MCU/MBU)&stored&bits&in&a&memory&array&

Fautes Fonctionnelles •  Collage de cellules •  Collage de Driver •  Collage de ligne •  Collage de ligne de sélection •  Collage de ligne de donnée •  Circuit ouvert de ligne de

donnée •  Court-circuit entre lignes de

donnée •  Crosstalk entre ligne de

donnée

•  Collage de ligne d’adresse •  Ouverture de ligne d’adresse •  Court-circuit entre lignes

d’adresse •  Circuit ouvert de décodeur •  Mauvais accès •  Accès Multiple •  Une Cellule peut être mise à 0

et pas à 1 (ou vice versa) •  interaction entre cellules

dépendant de la configuration de la mémoire

Page 7: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

7&

Fautes fonctionnelles réduites

•  SAF : fautes de collage •  TF : fautes de transition •  CF : fautes de couplages •  NPSF : fautes de voisinage

Une seule cellule impliquée 2 cellules impliquées ou plus

K cellules impliquées

Modèle de Faute : SAF

•  La valeur logique d’une ligne ou d’une cellule est toujours 0 (SA0) ou 1 (SA1)

•  Pour détecter les SAF des cellules mémoires : – SA0 : Write 1 Read 1 (w1 r1) – SA1 : Write 0 Read 0 (w0 r0)

w0

w1

w0 w1 w0 w1

w0 w1

SA0

SA1 Cellule saine S1

S0 S1 S0

Modèle de Faute : Faute de Transition

•  Une cellule ne peut pas effectuer une transition 0 → 1 (TF

rise) ou une transition 1 → 0 (TF

fall)

•  Pour détecter une faute de transition : – TF

rise : w0 w1 r1

– TFfall

: w1 w0 r0

w0

w1

w0 w1 S0 S1

Cellule saine

w0

w0

w1

S0 S1 w1

Cellule affectée d’une TFrise

Modèle de Faute : Fautes de couplage (2 cellules)

•  Implique deux cellules : une cellule victime et une cellule agresseur

•  Différentes sortes de fautes de couplage existent : –  Faute d’Inversion

–  Faute Idempotente

–  Faute de couplage d’état

–  Fautes de court- circuit

–  Fautes de couplage dynamique

–  ……..

Modèle de Faute : FC d’Inversion

•  Faute de couplage d’inversion (CFin): Le contenu de la cellule victime (i) est inversée par une transition de la cellule agresseur (j)

•  Suivant le type de transition (0 → 1 or 1 → 0), il y a deux types de CFin :

< ↑ ; ! > < ↓ ; ! >

•  Pour détecter une CFin entre une cellule x (victime) et une cellule y (agresseur) –  CFin (y rise → x inversée) : w0i w0j w1j r0i. –  CFin (y fall → x inversée) : w0i w1j w0j r0i.

w1/i,w0/j

Modèle de Faute : FC d’Inversion

w0/j

w0/i,w0/j w0/i,w1/j S00 S01

Deux cellules saines w0/j

S10 S11

w1/j

w1/i w0/i w1/i w0/i

w1/i,w1/j w1/i,w0/j

w1/j w0/j

w0/i,w0/j w0/i,w1/j S00 S01

w0/j S10 S11

w1/j w1/i w0/i w1/i w0/i

w1/i,w1/j

w1/j

Deux cellules avec <↑;!> CFin

Page 8: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

8&

Modèle de Faute : FC idempotente

•  Faute de couplage idempotente (CFid) : La cellule victime(i) est forcée à 0 ou 1 si la cellule agresseur(j) a une transition 0 → 1 ou 1 → 0

•  Suivant le type de transition (0 → 1 ou 1 → 0), il y a 4 types possible de CFid :

< ↑ ; 0 > < ↓ ; 0 > < ↑ ; 1 > < ↓ ; 1 > •  Pour détecter une CFid entre une cellule x (victime) et une

cellule y (agresseur) –  CFid (j rise → i=0): w1i w0j w1j r1i –  CFid (j fall → i=1): w0i w1j w0j r0i –  CFid (j rise → i=1): w0i w0j w1j r0i –  CFid (j fall → i=0): w1i w1j w0j r1i

Modèle de Faute : FC idempotente

w0/j w0/i,w0/j w0/i,w1/j S00 S01

w0/j

S10 S11

w1/j w1/i w0/i w1/i w0/i

w1/i,w1/j w1/i,w0/j w1/j

Deux cellules avec <↑;1> CFid (Idempotent)

w0/j w0/i,w0/j w0/i,w1/j S00 S01

w0/j S10 S11

w1/j w1/i w0/i w1/i w0/i

w1/i,w1/j w1/i,w0/j

w1/j

Deux cellules avec <↑;!> CFin (Inversion)

Modèle de Faute : FC d’état

•  Faute de couplage d’état (CFst): La cellule victime(i) est forcée à 0 ou 1 si la cellule agresseur(j) est dans certain état

•  Il y a 4 types possible de CFst : < 0 ; 0 > < 0 ; 1 > < 1 ; 0 > < 1 ; 1 >

•  Pour détecter une CFst entre une cellule x (victime) et une cellule y (agresseur) –  CFst (j=0 → i=0): w1i w0j r1i –  CFst (j=0 → i=1): w0i w0j r0i –  CFst (j=1 → i=0): w1i w1j r1i –  CFst (j=1 → i=1): w0i w1j r0i

Modèle de Faute : FC d’état

w0/j

w0/i,w0/j w0/i,w1/j S00 S01

2 cellules saines w0/j

S10 S11

w1/j

w1/i w0/i w1/i w0/i

w1/i,w1/j w1/i,w0/j

w1/j

Deux cellules avec <1;1> SCF

w0/j w0/i,w0/j w0/i,w1/j S00 S01

w0/j

S10 S11

w1/j w1/i w0/i w1/i w0/i

w1/i,w1/j w1/i,w0/j w1/j

Modèle de Faute : Fautes de court-circuit (BF)

•  Un court-circuit entre deux lignes ou deux cellules •  C’est une faute bidirectionnelle due à un niveau logique

et non pas une transition •  Deux sortes de fautes de court-circuit (BFs) :

–  AND-type (ABF): les lignes/cellules court-circuitées prennent la valeur du AND de leur valeur saine (4 ABFs possibles)

–  OR-type (OBF): les lignes/cellules court-circuitées prennent la valeur du OR de leur valeur saine (4 OBFs possibles)

•  Pour détecter une faute de court-circuit, il est nécessaire d’écrire des valeurs différentes dans des cellules adjacentes (voir algorithme de l’échiquier).

Modèles de Fault : Pattern Sensitive (PSF)

•  La cellule victime est forcée à 0 ou à 1 si un certain nombre de cellules voisines présente une configuration particulière.

•  Les fautes PSF sont le cas le plus général des fautes de couplage •  Les fautes de couplage NPSF (Neighborhood Pattern Sensitive Fault),

réduisent le voisinage aux cellules immédiatement voisine de la cellule victime (cellule de base)

•  Equivalente à une faute de couplage avec N agresseurs (jusqu’à 8 cellules adjacentes)

•  Difficile à détecter –  Pour chaque cellule, l’effet de toutes les combinaisons possibles (28) des cellules

adjacentes doit être testé.

Page 9: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

9&

Modèles de fautes : Neighborhood Pattern Sensitive (NPSF)

•  En pratique deux types de fautes sont utilisés

•  Le type-1 NPSF avec 4 cellules voisines

•  Le type-2 NPSF avec 8 cellules voisines

cellule de base Cellules pour Type-1

cellule de base Cellules pour Type-2

Type-1 Type-2

Modèles de fautes : Neighborhood Pattern Sensitive (NPSF)

•  NPSF Active (ANPSF): –  Changement de la cellule de base du a une transition in the cellules voisines –  Chaque cellule de base doit être lue dans l’état 0 et dans l’état 1 pour

toutes les changements possibles dans la configuration des cellules voisines •  NPSF Passive (PNPSF):

–  Le changement de la cellule de base est impossible du à une certaine configuration des cellules voisines

–  Chaque cellule de base doit être écrite et lue dans l’état 0 et dans l’état 1 pour toutes les permutations des configurations des cellules voisines

•  NPSF Statique (SNPSF): –  Le contenu de la cellule de base est forcé à une certaine valeur du à une

certaine configuration des cellules voisines –  Chaque cellule de base doit être lue dans l’état 0 et dans l’état 1 pour

toutes les permutations des configurations des cellules voisines

Modèles de fautes : Fautes du décodeur d’adresse AF

•  1. Une certaine adresse pointe vers aucune cellule

•  2. Une certaine cellule n’est jamais accédée

•  3. Une certaine adresse pointe vers plusieurs

cellules

•  4. Une certaine cellule est accédée par plusieurs

adresses

Ax

Cx

Cx

Cy Ax

Ax

Ay

Cx

&&&&&&&4&types&de&fautes&du&décodeur&d’adresse&qui&ne&peuvent&arriver&

isolées&(en&supposant&que&la&faute&est&iden@que&en&lecture&et&écriture&et&que&le&décodeur&&fau@f&ne&présente&pas&de&fonc@onnement&séquen@el)&

Modèles de fautes : Fautes du décodeur d’adresse AF

4 combinaisons des fautes du décodeur d’adresse

•  Fault A: 1+2

•  Fault B: 1+3

•  Fault C: 2+4

•  Fault D: 3+4

Ax Cx

Cx

Cy Ay

Ax

Ax

Ay

Cx

Cy

Ax

Ay

Cx

Cy

Conditions pour détecter les fautes du décodeur d�adresse

•  Le test March doit contenir les deux éléments suivants

•  ↑(rx, … , wx) •  ↓(rx, … , wx)

Modèles de Fautes : Faute de Stuck-Open

•  Une cellule n’est plus accessible due à un circuit ouvert dans une wordline (WL)

•  Identique à une faute de décodeur d’adresse (3) – une cellule n’est jamais accédée

Page 10: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

10&

Modèle de fautes : Rétention de données (DRF)

•  Une cellule est incapable de retenir sa valeur après un certain

temps •  Faute due par exemple à un élément de pull-up défectueux dans

une cellule de SRAM •  La cellule perd sa valeur du fait des courants de fuite •  Deux différentes DRFs existent (perte du 1 et perte du 0) et

peuvent être simultanément présente •  Pour détecter une DRF => on introduit un délai avant de lire le

contenu de la cellule (usuellement ~ 10-100 ms) •  Peut être très aisément rajouté à tout algorithme •  Le temps de test augmente de manière dramatique !

Modèles de fautes : Fautes liées

•  Des fautes liées sont deux ou plusieurs fautes (fautes de couplage) qui affectent la même cellule

•  Les fautes peuvent être de même type ( i.e. CF x->y et CF z->y ) ou de types différents (i.e. CF x->y et TFrise pour y)

•  Elles peuvent se cacher l’une l’autre (masquage de fautes) : très difficile à détecter

i& j& k& l& i& k& l&

<↑;1>&

<↑;0>& <↑;0>&<↑;1>&

2&fautes&de&CFid& 2&fautes&de&CFid&liées&

Validité des modèles de fautes •  Utilisation de l’analyse de faute inductive (Inductive Fault

Analysis) au niveau masque –  Générer des défauts avec une taille, un emplacement et un

niveau compatible avec ce qui peut arriver en fabrication –  Placer le défaut sur un modèle de dessin du masque –  Extraire la schématique et les paramètres électriques de la

cellule défectueuse –  En déduire et vérifier les modèles de fautes potentiels

•  Les résultats sont bien sûr fonction de la technologie utilisée et du processus de fabrication

Résumé

•  Introduction •  Modélisation de la mémoire •  Mécanismes de défaillances et modélisation

de fautes •  Algorithmes de test pour RAM •  Cas d’étude :Test des ADOFs •  Test des ROMs •  BIST mémoire •  La technologie…

Algorithmes de Test : notations

–  ↑ : indique un parcours des adresses en ordre croissant

–  ↓ : indique un parcours des adresses en ordre décroissant

–  w0 : écrire un 0 à l’adresse courante –  w1 : écrire un 1 à l’adresse courante –  r0 : lire l’adresse courante en attendant un 0 –  r1 : lire l’adresse courante en attendant un 1 –  (….) : élément de l’algorithme –  {(…),(…),…,(…)} : algorithme complet

Algorithmes de Test

•  Un test comportemental complet est définitivement trop long (3.n.2n)

•  Les méthodes de test classiques et les plus anciennes avaient des temps d�exécution proportionnels à : –  n (zero-one, checkerboard, …)

–  n2 et n.log2(n) (walking1/0, ping-pong, Galpat, Galcol, …)

Page 11: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

11&

Algorithme de test : Zero-One

•  Ce test minimal consiste à écrire des 0 et des 1 dans la mémoire –  Etape1: écrire 0 dans toutes les cellules –  Etape2: lire toutes les cellules (0 attendu) –  Etape3: écrire 1 dans toutes les cellules –  Etape4: lire toutes les cellules (1 attendu)

•  Test en O(n) •  Taux de couverture :

–  Ne détecte pas toutes les AFs –  SAFs détectées si le décodeur d’adresse est sain –  Ne détecte pas toutes les TFs et CFs

Algorithme de test : Echiquier (Checkerboard)

•  Les cellules sont divisées en 2 groupes –  Etape1: écrire 1 dans les cellules vertes et 0 dans les violettes –  Etape2: lire (et vérifier) toutes les cellules –  Etape3: écrire 0 dans les cellules vertes et 1 dans les violettes –  Etape4: lire (et vérifier) toutes les cellules

•  Test en O(n) •  Taux de couverture :

–  Ne détecte pas toutes les AFs –  SAFs détectées si le décodeur d’adresse est sain –  Ne détecte pas toutes les TFs et CFs

•  Ce test est capable de détecter les fautes de court-circuit

Algorithme de test : GALPAT et Walking 1/0

•  La mémoire est remplie de 0 (1) exceptée la cellule de base qui contient un 1 (0)

•  Pendant le test la cellule de base se déplace à travers toute la mémoire

•  La différence entre GALPAT et W 1/0 réside dans la lecture de la cellule de base

0 → 0 → 0 → 0 0 1 0 → 0 0 → 0 → 0 → 0

Walking 1/0

0 0 0 0 1 0 0 0 0

GALPAT

Algorithme de test : GALPAT et Walking 1/0

•  Toutes les AFs sont détectées et localisées •  Toutes les SAFs sont détectées et localisées •  Toutes les TFs sont détectées et localisées •  Toutes les CFs sont détectées et localisées •  Ce sont tous les deux des test en O(n2) •  D’autres tests ont été proposés comme des alternatives plus rapides

(0(n3/2): –  Sliding diagonal –  Papillon (Butterfly, seules les cellules voisines de la cellule de base

sont lues) –  GALCOL/GALROW (seules les cellules des colonnes (lignes)

voisines de celle de la cellule de base sont lues)

Temps de test

Nombre d�opérations

n n n.log2n n2 (hr!!)

1Mb 0.063 1.26 18.33

16Mb 1.01 24.16 4691.3

256Mb 16.11 451 1200959.9

2Gb 128.9 3994.4 76861433.7

Les tests March

•  Le test parcourt ("march") la mémoire •  Le test est composé d’éléments de march

qui sont représentés entre () •  Les test march sont les test les plus

simples pour détecter les SAFs, TFs et les CFs

Page 12: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

12&

Tests March : exemple de MATS++

{↑(w0); ↑(r0,w1); ↓(r1,w0,r0)}

•  For i=0 to n-1 –  écrire 0 dans Ci

•  For i=0 to n-1 –  Lire Ci et vérifier son contenu (0 attendu) –  écrire 1 dans Ci

•  For i=n-1 to 0 –  Lire Ci et vérifier son contenu (1 attendu) –  écrire 0 dans Ci –  Lire Ci et vérifier son contenu (0 attendu)

Tests March : exemple de MATS++

{↑(w0); ↑(r0,w1); ↓(r1,w0,r0)}

•  6n operations •  Toutes les SAFs détectées •  Toutes les AFs non liées aux TFs détectées •  Toutes les AFs liées aux TFs détectées •  Toutes les TFs détectées

0 1

Tests March : Résumé

Name Ref. algorithm

MATS [NAI79] { !(w0);! (r0,w1);!(r1)}

MATS+ [ABA83] {!(w0);⇑(r0,w1); ⇓(r1,w0)}

MATS++ [VAN91] {!(w0);⇑(r0,w1);⇓(r1,w0,r0)}

March X [VAN91] {!(w0);⇑(r0,w1);⇓(r1,w0);!(r0)}

March C- [MAR82] {!(w0);⇑(r0,w1);⇑(r1,w0);⇓(r0,w1);⇓(r1,w0);!(r0)}

March A [SUK81] {!(w0);⇑(r0,w1,w0,w1);⇑(r1,w0,w1);⇓(r1,w0,w1,w0);⇓(r0,w1,w0)}

March Y [VAN91] {!(w0);⇑(r0,w1,r1);⇓(r1,w0,r0);!(r0)}

March B [SUK81] {!(w0);⇑(r0,w1,r1,w0,r0,w1);⇑(r1,w0,w1);⇓(r1,w0,w1,w0); ⇓(r0,w1,w0)}

March GS [VAN93] {!(w0);⇑(r0,w1,r1,w0,w1);⇑(r1,w0,r0,w1);⇓(r1,w0,w1,w0); ⇓(r0,w1,r1,w0);Del;!(r0,w1,r1);Del;!(r1,w0,r0)}

March M [MIK96] {!(w0);⇑(r0,w1,r1,w0);!(r0);⇑(r0,w1);!(r1);⇑(r1,w0,r0,w1,);!(r1);⇓(r1,w0)}

March LR [VAN96] {!(w0);⇓(r0,w1);⇑(r1,w0,r0,w1);⇑(r1,w0);⇑(r0,w1,r1,w0,);⇑(r0)}

March U [VAN97] {!(w0);⇑(r0,w1,w0,w1,r1);⇑(r1,w0,w1,w0,r0);⇓(r0,w1,w0,w1,r1);⇓ (r1,w0,w1,w0,r0; ⇓ (r0)}

March LA [VAN99] {!(w0);⇑(r0,w1,r1,w0);⇑(r0,w1); ⇓ (r1,w0,r0,w1); ⇓ (r1,w0)}

March SR [VAN00] {⇓ (w0);⇑(r0,w1,r1,w0);⇑(r0,r0); );⇑(w1),⇓ (r1,w0,r0,w1); ⇓ (r1,r1)}

March SS [HAM02] {!(w0);⇑(r0,r0,w0,r0,w1);⇑(r1,r1,w1,r1,w0);⇓(r0,r0,w0,r0,w1);⇓ (r1,r1,w1,r1,w0; !(r0)}

Taux de couverture des tests March (exemple)

Algorithme

Taux de couverture

Nbre d’op. S

AF AF TF CFin

CFid

CFdyn

SCF Fautes liées

MATS All Some 4.n

MATS+ All All 5.n

MATS++ All All All 6.n

March X All All All All 6.n

March C- All All All All All All All 10.n

March A All All All All Toutes CFids liées, certaines CFins liées avec les CFids 15.n

March Y All All All All toutes TFs liées avec les CFins 8.n

March B All All All All Toutes les CFids liées, toutes TFs

liées avec CFids ou CFins, certaines CFins liées avec CFids

17.n

Test des mémoires organisées en mots

•  Pour les SAFs et TFs qui n’impliquent qu’une cellule on utilise un mot (data background) et son complément en remplacement de 0 et 1

•  MATS+ pour une mémoire 4 bits Data background = 0101

&{↑(w0101);&↑(r0101,w1010);&↓(r1010,w0101)}&

Résumé

•  Introduction •  Modélisation de la mémoire •  Mécanismes de défaillances et modélisation

de fautes •  Algorithmes de test pour RAM •  Cas d’étude :Test des ADOFs •  Test des ROMs •  BIST mémoire •  La technologie…

Page 13: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

13&

73&

I / O DATA

DEC

OD

EUR

D

E LI

GN

E

C O L U M N

D E C O D E R

DECODEUR DE COLONNE

PLAN

MEMOIRE

La structure du décodeur

Décodeur d’adresse composé par des portes logiques de type NOR

Q D

Q D

A0

A1

WLEN WL3

WL2

WL1

WL0 ZA0=A0�+A1�

ZA1=A0�+A1�

ZA2=A0�+A1�

ZA3=A0�+A1�

74&

A0

A1

ZA0

WL2

WL0

WLEN

ZA2

Fonctionnement

La structure du décodeur

Q D

Q D

A0

A1

WLEN WL3

WL2

WL1

WL0 ZA0=A0�+A1�

ZA1=A0�+A1�

ZA2=A0�+A1�

ZA3=A0�+A1�

75&

ZA0=A0�+A1�

Circuit ouvert A0

A1

ZA0

WL2

WL0

WLEN

ZA2

Comportement fautif

ZA0 reste à 1

WL0 est à nouveau sélectionnée

ADOF : Address Decoder Open Fault

ZA0

A0'

A1'

Vdd

TP1

TP2

TN2 TN1 Q D

Q D

A0

A1

WLEN WL3

WL2

WL1

WL0 ZA0=A0�+A1�

ZA1=A0�+A1�

ZA2=A0�+A1�

ZA3=A0�+A1�

76&

* M.Sachdev, �Test and Testability techniques for Open Defects in RAM Address Decoders�, Proc. IEEE European Design & Test Conference, pp. 428-434, 1996.

ZA0=A0�+A1�

Circuit ouvert

•  Séquence&de&Test*&

Test des ADOFs

ZA0

A0'

A1'

Vdd

TP1

TP2

TN2 TN1 Q D

Q D

A0

A1

WLEN WL3

WL2

WL1

WL0 ZA0=A0�+A1�

ZA1=A0�+A1�

ZA2=A0�+A1�

ZA3=A0�+A1�

77&

ZA0=A0�+A1�

Circuit ouvert

•  Séquence&de&Test&Sensibilisa4on&–  Ecriture&‘0’&à&l’adresse&“00”&

⇒&WL0&ac@ve&

Test des ADOFs

ZA0

A0'

A1'

Vdd

TP1

TP2

TN2 TN1 Q D

Q D

A0

A1

WLEN WL3

WL2

WL1

WL0 ZA0=A0�+A1�

ZA1=A0�+A1�

ZA2=A0�+A1�

ZA3=A0�+A1�

78&

•  Séquence&de&Test&Sensibilisa4on&–  Ecriture&‘0’&à&l’adresse&“00”&

⇒&WL0&ac@ve&

–  Ecriture&‘1’&à&l’adresse&“01”&&⇒&WL2&ac@ve&&En&cas&de&faute,&WL0&reste&ac@ve&et&deux&cellules&sont&écrites.&&

ZA0=A0�+A1�

Circuit ouvert

Test des ADOFs

ZA0

A0'

A1'

Vdd

TP1

TP2

TN2 TN1 Q D

Q D

A0

A1

WLEN WL3

WL2

WL1

WL0 ZA0=A0�+A1�

ZA1=A0�+A1�

ZA2=A0�+A1�

ZA3=A0�+A1�

Page 14: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

14&

79&

•  Séquence&de&Test&Sensibilisa4on&–  Ecriture&‘0’&à&l’adresse&“00”&

⇒&WL0&ac@ve&

–  Ecriture&‘1’&à&l’adresse&“01”&&⇒&WL2&ac@ve&&En&cas&de&faute,&WL0&reste&ac@ve&et&deux&cellules&sont&écrits.&$

&&Observa4on$

–  Lecture&à&l�adresse&�00�&&⇒&‘0’%prévu%mais%‘1’%% %est%lu&&

ZA0=A0�+A1�

Circuit ouvert

Test des ADOFs

ZA0

A0'

A1'

Vdd

TP1

TP2

TN2 TN1 Q D

Q D

A0

A1

WLEN WL3

WL2

WL1

WL0 ZA0=A0�+A1�

ZA1=A0�+A1�

ZA2=A0�+A1�

ZA3=A0�+A1�

80&

ADOF-résistif

Circuit-ouvert résistif dans le plan

parallèle de la porte logique NOR

Conditions de test : ADOF <=> ADOF-résistif

ZA0=A0�+A1�

Mémoire Infineon 0.13 µm

ZA0

A0'

A1'

Vdd

TP1

TP2

TN2 TN1 Q D

Q D

A0

A1

WLEN WL3

WL2

WL1

WL0 ZA0=A0�+A1�

ZA1=A0�+A1�

ZA2=A0�+A1�

ZA3=A0�+A1�

81&

rD wD wD

Hd = 1

rD wD wD

Hd = 1

Test des ADOFs

Algorithme de Sachdev Séquence de Sachdev : double adressage pendant la phase d’écriture (sensibilisation)

rD wD SENSIBILISATION

OBSERVATION

wD

Hd = 1

•  L’algorithme de Sachdev teste les ADOFs •  Solution peu performante : Complexité élevée

•  Une meilleure solution : Adressage continu ⇒ test March

rD wD wD

Hd = 1

rD wD wD

Hd = 1

rD wD wD

Hd = 1

rD wD wD

Hd = 1

rD wD wD

Hd = 1

rD wD wD

Hd = 1

(2n-1)·N

82&

La séquence de Sachdev implantée dans un test March Réalisation de nouveaux éléments March

⇑ wA ⇑ rA

A: donnée alternée Séquence d'adresses avec Hd = 1

Ces éléments peuvent être ajoutés aux tests March existants

OBSERVATION r0 r1 r0 r1 r0 r1 r0 r1 r0 r1 r0 r1 ...

cellule 0 1 2 3 4 5 6 7 8 9 10 11 ... SENSIBILISATION w0 w1 w0 w1 w0 w1 w0 w1 w0 w1 w0 w1 ...

Hd = 1 Hd = 1 Hd = 1 Hd = 1 Hd = 1 Hd = 1 Hd = 1 Hd = 1 Hd = 1 Hd = 1

Solution proposée

Algorithme de Sachdev : (2n-1)·N ⇒ éléments March : 2N Complexité :

83&

↓ ↑ {↑ (w0); ↑(r0,w1); ↑(r1,w0); ↓(r0,w1); ↓ (r1,w0); ↓ (r0)} MARCH C- :

cellule -000 -001 -010 -011 -100 -101 -110 -111 ... ↑(w0) w0 w0 w0 w0 w0 w0 w0 w0 … ↑(r0,w1) r0w1 r0w1 r0w1 r0w1 r0w1 r0w1 r0w1 r0w1 … ↑(r1,w0) r1w0 r1w0 r1w0 r1w0 r1w0 r1w0 r1w0 r1w0 …

… ...

cellule -000 -001 -011 -010 -110 -111 -101 -100 ... ↑(wA) w0 w1 w0 w1 w0 w1 w0 w1 … ↑(rA,wA) r0w1 r1w0 r0w1 r1w0 r0w1 r1w0 r0w1 r1w0 … ↑(rA,wA) r1w0 r0w1 r1w0 r0w1 r1w0 r0w1 r1w0 r0w1 …

… …

MARCH iC- : ↑ { ↑(wA); ↑(rA,wA); ↑(rA,wA); ↓(rA,wA); ↓(rA,wA); ↓ (rA)}

Implantation algorithmique : March iC-

•  Adresses adjacentes •  A donnée alternée

84&

- Complexité : inchangée - Capacité de détection des autres fautes : conservée

↓ ↑ {↑ (w0); ↑(r0,w1); ↑(r1,w0); ↓(r0,w1); ↓ (r1,w0); ↓ (r0)} MARCH C- :

cellule -000 -001 -010 -011 -100 -101 -110 -111 ... ↑(w0) w0 w0 w0 w0 w0 w0 w0 w0 … ↑(r0,w1) r0w1 r0w1 r0w1 r0w1 r0w1 r0w1 r0w1 r0w1 … ↑(r1,w0) r1w0 r1w0 r1w0 r1w0 r1w0 r1w0 r1w0 r1w0 …

… ...

cellule -000 -001 -011 -010 -110 -111 -101 -100 ... ↑(wA) w0 w1 w0 w1 w0 w1 w0 w1 … ↑(rA,wA) r0w1 r1w0 r0w1 r1w0 r0w1 r1w0 r0w1 r1w0 … ↑(rA,wA) r1w0 r0w1 r1w0 r0w1 r1w0 r0w1 r1w0 r0w1 …

… …

MARCH iC- : ↑ { ↑(wA); ↑(rA,wA); ↑(rA,wA); ↓(rA,wA); ↓(rA,wA); ↓ (rA)}

•  Adresses adjacentes •  A donnée alternée

Implantation algorithmique : March iC-

Page 15: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

15&

85&

Bilan

Algorithme de Sachdev ((2n-1)·N)

Test des ADOFs

Eléments March (2N)

March iC- (SAF, TF, AF, Coupling, + ADOF )

Réduction de la complexité

Implantation algorithmique

Résumé

•  Introduction •  Modélisation de la mémoire •  Mécanismes de défaillances et modélisation

de fautes •  Algorithmes de test pour RAM •  Cas d’étude :Test des ADOFs •  Test des ROMs •  BIST mémoire •  La technologie…

Test de ROM

•  Les données correctes que doit contenir la mémorie sont déjà connues

•  Le modèle fonctionnel réduit est le même que pour une RAM

•  Les SAF couvrent toutes les fautes du modèle réduit –  TFs, CFs et NPSFs ne peuvent pas apparaître dans

les cellules mémoires –  TFs, CFs et NPSFs sont très peu probables dans le

logique de lecture –  Toutes les Afs sont couvertes par les SAF dans le

tableau mémoire car il n’y a pas d’écriture en fonctionnement normal

Test de ROM : méthode classique

–  Lire tous les mots de la ROM –  Compresser la sortie avec un LFSR (Linear Feedback

Shift Register) de n bits : i.e. faire une division polynomiale permettant de calculer le code cyclique redondant (CRC)

–  Comparer le CRC calculé avec le CRC correct stocké dans le dernier mot de la ROM

–  Le parcours des adresses peut se faire deux fois en ordre croissant et décroissant pour vérifier la présence possible de lecture destructive

–  Détecte les erreurs simple, les erreurs doubles, les erreurs en nombre impair et les erreurs «n-burst»

Résumé

•  Introduction •  Modélisation de la mémoire •  Mécanismes de défaillances et modélisation

de fautes •  Algorithmes de test pour RAM •  Cas d’étude :Test des ADOFs •  Test des ROMs •  BIST mémoire •  La technologie…

Rappels sur le BIST •  Dans les techniques de BIST (Built-In Self-Test), les vecteurs de test

sont produits et les résultats analysés sur le circuit

•  L’objectif étant de résoudre tout ou partie des problèmes suivants : mauvaise contrôlabilité et mauvaise observabilité, test à la vitesse nominale de fonctionnement, coût de l’ATE, réduction du temps de test, test "transparent" pour les concepteurs, …..

Générateur&de&vecteurs&

Circuit&Sous&test&

Analyseur&de&réponse&

Page 16: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

16&

BIST de RAM basé sur des tests March

….

….

MUX

Input Data Data background

Column decoder

Column decoder

Lign

dec

oder

. . . control

Add

ress

G

ener

ator

comparator OK/OK

Data Generator Output Data

Cell array

test/normal

BIST de ROM

…. MISR

Add

ress

dec

oder

. . . control

Address Generator

comparator OK/OK

Golden signature Computed signature

Cell array

Résumé

•  Introduction •  Modélisation de la mémoire •  Mécanismes de défaillances et modélisation

de fautes •  Algorithmes de test pour RAM •  Cas d’étude :Test des ADOFs •  Test des ROMs •  BIST mémoire •  La technologie…

SRAM

SRAM:&the&sta@c&noise&margin

Scheme&of&SRAM&core&cell&with&the&voltage&noise&sources.&&

Graphical&representa@on&of&Sta@c&Noise&Margin&in&a&SRAM&core&cell.&

SRAM:&the&sta@c&noise&margin

Graphical&representa@on&of&Sta@c&Noise&Margin&in&a&SRAM&core&cell&in&presence&of&defect.&

!

Page 17: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

17&

DRAM FLASH&memory

FLASH&memory Magne@c&memory

Magne@c&memory Magne@c&memory

ToggleRMRAM%cell%(1T1MTJ)%&

Write%opera<on%of%ToggleRmode%MRAM%cell&&

Page 18: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

18&

Magne@c&memory

The&write&opera@on&can&only&produce&a&bit&cell&swap&and&not&a&bit&cell&set.&The&write&opera@on&is&in&many&cases&not&actually&performed,&but&masked.&&&&

•  MTJ&is&a&magne@c&junc@on,&whose&characteris@cs&are&not&electrically&but&magne@cally&dependent.&&

•  Toggle&MRAM&is&par@cularly&soc&error&resilient&especially&in&sta@c&mode&(hold&mode).&&

•  the&write&mechanism&is&very&complex&and&the&occurrence&of&errors&that&completely&mimic&the&write&opera@on&in&all&its&steps&is&unlikely&to&occur&in&sta@c&test&mode,&when&the&memory&is&in&standby&&

•  The&memory&could&be&more&sensi@ve&during&read&opera@ons&(dynamic&mode).&&•  The&read&sense&current&is&of&the&order&of&10μA,&small&enough&to&be&affected&by&a&

par@cle&induced&parasi@c&current.&This&is&s@ll&very&unlikely&to&happen&for&two&reasons:&

•  the&sensing&@me&window&is&very&small&&•  the&sensi@ve&area&is&very&small&&•  the&probability&is&very&low&for&the&parasi@c&current&to&hit&coincide&with&the&

exact&loca@on&of&the&memory&chip&at&the&right&moment.&&

Phase&change&memory

Phase&change&memory Phase&change&memory

Resis@ve&memory&RRAM Resis@ve&memory&RRAM

Page 19: TEST DE MEMOIRES - lirmm.frdilillo/Course_memory_test.pdf · 15/01/16& 3& Modèle fonctionnel de SRAM Adresse Registre adresse Décodeur de colonne Tableau de Commande cellules mémoire

15/01/16&

19&

Resis@ve&memory&&RRAM Ferroelectric&memory&FRAM

Two&transistors/two&capacitors&(2TX2C)&architecture&of&an&FRAM&cell&&

PZT&crystal&with&an&oxygen&atom&in&the&center.&The&two&stable&states&of&the&crystal&

with&posi@ve&(‘0’)&and&nega@ve&(‘1’)&polariza@on.&&

The&func@onality&of&the&FRAM&memory&is&similar&to&the&one&of&DRAMs&in&terms&of&read&and&write&opera@ons.&&

FRAM

Hysteresis& loop& of& a&ferroelectric&capacitor&

(2TX2C)&architecture&of&an&FRAM&cell&&

1)  the& capacitor& is& posi@vely& polarized& (at& logic& ‘0’,& state& ‘B’);& The& bit& line& will& be& slightly&charged,& and& a& small& poten@al& difference&will& be& sensed& through& the& read& sense& amplifier&(from&point&‘B&to&point&‘C’)&

2)  the&capacitor&is&nega@vely&polarized&(at&logic&‘1’,&state&‘A’),&The&polariza@on&is&reversed&and&a&large&amount&of&charge&flows&to&the&bit&line.&This&difference&in&charge&will&be&sensed&by&the&sense&amplifier&returning&logic&‘1’.&&

In&posi@on&A&the&capacitor&stores&a&‘1’,&while&in&posi@on&B&the&capacitor&stores&a&‘0’.&By&applying&either&a&posi@ve&or&a&nega@ve&voltage&to&the&plate&line,&the&capacitor&is&posi@ve&or&nega@vely&polarized.&&Read%opera<on:&the&plate&line&(PL)&is&charged&at&+Vcc&while&the&bit&line&(BL)&is&charged&at&0V.&When&the&word&line&(WL)&is&selected&there&are&two&possibili@es:&

For&read&‘1’&,&the&informa@on&stored&in&the&capacitor&is&reversed,&and&it&has&to&be&reXwriaen.&

FRAM

Hysteresis& loop& of& a&ferroelectric&capacitor&

(2TX2C)&architecture&of&an&FRAM&cell&&

The& write& opera@on& follows& the& principle& of& forcing& the& polarity& of& the& capacitor& to&change:&XTo&write&a&logic&‘0’,&the&BL&is&charged&at&+VCC&while&the&PL&is&set&to&ground.&XTo&write&‘1’&opera@on,&the&BL&is&set&to&ground&and&the&PL&is&charged&at&+VCC.&&

During&hold&mode&the&PL,&WL&and&BL&are&set&to&0V.&&

Ferroelectric&memory&FRAMThe&intrinsic&characteris@cs&of&the&ferroelectric&thin&film&make&it&resilient&to&the&effects&of&ionizing&radia@on&and&especially&of&TID&induced&degrada@on.&Due&to&the&structure&of&the&crystal&and&the&hysteresis&characteris@c&loop,&it&is&rather&difficult&to&induce&a&charge&large&enough&that&would&change&the&polariza@on&of&the&PZT&film.&&One&failure&mechanism&is&possible&if&the&access&transistor&of&the&FRAM&cell&is&hit&by&a&par@cle,&crea@ng&a&poten@al&large&enough&to&change&the&polarity&of&the&capacitor&when&it&stores&a&‘0’.&&Since&in&reten@on&mode&the&PL&and&the&BL&are&connected&to&the&ground,&the&opening&of&the&access&transistor&will&not&alter&the&state&of&the&cell.&Addi@onally,&the&double&capacitor&structure&proves&the&cell&to&be&significantly&robust&against&such&effects.&The&few&reports&tes@ng&FRAM&devices&show&that&mainly&SEFIs&have&been&observed&but&no&SEUs.&&