Note: Descriptions are shown in the official language in which they were submitted.
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
1
Procédé de test d'une application logicielle
La présente invention a pour objet un procédé de test d'une
application logicielle. Elle est utilisable dans le domaine des cartes
électroniques quelle que soit l'application mise en oeuvre par de telles
cartes.
Les cartes électroniques visées sont principalement celles qui sont soumises
à des interactions énergétiques externes. Par application logicielle on entend
un traitement, numérique ou analogique, de données d'entrées pour produire
des données de sorties. Les données d'entrées peuvent être des mesures
provenant d'un organe de mesure ou des états électriques d'un tel organe,
porté ou non par la carte. Les données de sorties sont soit des données de
même type que les données d'entrées, mais corrigées ou transformées, soit
des attributs de ces données, soit des commandes d'actionneurs pilotés par
la carte électronique. Une carte électronique se distingue d'un composant
électronique en ce sens qu'elle peut comporter un ensemble de composants
électroniques servant à la logistique de maintien en service d'un composant
principal porté par la carte. Une carte électronique comporte essentiellement
un connecteur ou dispositif de connexion permettant à la carte d'être
connectée à l'intérieur d'un appareil.
Le fonctionnement des composants électroniques, typiquement des
circuits intégrés électroniques, peut être perturbé par l'environnement dans
lequel ils évoluent, par exemple l'environnement radiatif naturel ou
artificiel
ou l'environnement électromagnétique. Des agressions extérieures
provoquent la création de courants parasites par interaction avec la matière
constitutive du composant. Ces courants peuvent être à l'origine du
dysfonctionnement transitoire ou permanent du composant et de l'application
qui l'utilise.
Pour l'environnement radiatif naturel, ces effets dénommés de façon
générique effets singuliers sont créés par des particules. Par exemple, des
ions lourds et protons dans l'espace, affectent les équipements électroniques
des satellites et des lanceurs. A des altitudes moins élevées où évoluent des
avions, on note surtout la présence de neutrons qui créent également des
effets singuliers. Sur le sol terrestre, de telles agressions peuvent aussi
être
rencontrées et affecter les composants électroniques, qu'elles soient dues
aux particules de l'environnement naturel, aux particules radioactives
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
2
présentes dans des boitiers, à des problèmes d'immunité, d'intégrité de
signal, d'instabilités thermiques et de procédé. Dans la suite du texte, les
effets des particules seront plus particulièrement considérés, mais
l'invention
reste applicable aux mêmes types d'effets créés par des environnements
divers et variés.
On distingue, de façon usuelle, différents types d'effets singuliers
- les fautes transitoires: un courant transitoire créé par une ionisation
provoque soit un courant transitoire qui se propage dans le circuit, soit un
basculement d'un ou plusieurs états électriques (dans le cas d'une mémoire
ou d'un registre). Dans ce dernier cas l'effet est qualifié de transitoire
car, si
le contenu de la mémoire ou du registre est réécrit, l'erreur disparaît;
- les fautes permanentes nécessitant une intervention non prévue
dans le fonctionnement normal de l'application, par exemple une
reconfiguration de la logique ou une intervention sur l'alimentation (arrêt
puis
remise en service). Suite à cette intervention, le composant est de nouveau
fonctionnel;
- les effets destructifs conduisant à la mise hors service définitive du
composant.
Toutes ces fautes produites dans le composant n'ont pas un effet
immédiat ou retardé sur l'application car les différentes ressources du
composant ne sont pas forcément utilisées ou sollicitées en même temps. Un
problème se présente donc de savoir si une faute produite dans le
composant a un effet néfaste sur une application logicielle menée avec ce
composant monté sur une carte électronique ou si cette dernière est capable
de s'en affranchir.
De plus l'architecture de l'équipement ou du système peut offrir une
certaine protection. Les applications embarquées présentent donc une
certaine tolérance aux fautes qu'il convient de quantifier. Cette
quantification
n'est pas accessible aujourd'hui.
Un certain nombre de méthodes et techniques au niveau matériel,
système d'exploitation et logiciel d'application permettent de protéger une
application embarquée vis-à-vis des fautes transitoires et permanentes. Elles
sont appelées techniques de mitigation. L'invention porte plus
spécifiquement sur une méthode permettant l'évaluation et la validation de la
tolérance aux fautes des applications et des techniques de mitigation vis-à-
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
3
vis des effets transitoires et des effets permanents qui affectent les
composants électroniques logiques et analogiques.
Un composant électronique peut être constitué, entre autres, d'une
partie mémoire utilisateur, d'une partie mémoire nécessaire à sa
configuration, de ressources logiques permettant d'effectuer les opérations,
de ressources nécessaires à la communication entre les différents blocs
logiques et de ressources nécessaires à la communication de ce composant
avec son environnement.
Les applications basées sur des composants logiques ou
analogiques présentent une certaine tolérance aux fautes, c'est-à-dire que
certaines fautes créées au niveau silicium n'auront pas de conséquences
visibles sur l'application. Par exemple dans le cas du changement d'état
d'une cellule d'une mémoire, si cette cellule n'est pas utilisée par
l'application
avant d'être réécrite, il n'y aura pas d'erreur induite sur l'application. Il
y a
donc dans ce cas une différence importante entre le test d'un composant qui
révélerait alors un dysfonctionnement et le test d'une application qui, dans
les mêmes conditions, ne révélerait pas de dysfonctionnement.
De même dans la logique combinatoire (exemple au coeur d'un
microprocesseur), un courant parasite peut se propager dans une suite de
portes logiques, et s'atténuer puis disparaître sans jamais être mémorisé par
un registre. Cependant, si toutes les applications présentent une certaine
tolérance aux fautes, le problème du concepteur est de quantifier cette
tolérance afin d'appliquer un juste niveau de mitigation.
De nombreuses méthodes de mitigation peuvent être mises en
oeuvre de manière à limiter, à empêcher, à détecter et/ou corriger les effets
que peuvent avoir les fautes transitoires et les fautes permanentes sur
l'application.
Il est ainsi connu des méthodes destinées à détecter et/ou corriger
les fautes qui peuvent apparaître dans des circuits logiques afin de prévenir
les défaillances de l'application utilisant le composant. On peut, à titre
d'exemple, citer les codes de correction d'erreur, qui vont permettre de
détecter et corriger une ou plusieurs erreurs. Les codes de correction
d'erreur les plus complexes peuvent détecter et corriger plusieurs erreurs
simultanées. D'autres techniques de mitigation sont la réécriture périodique
des données ou la vérification périodique des données susceptibles d'être
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
4
corrompues et suivie de la réécriture de ces données si une erreur est
détectée.
Il existe également des méthodes au niveau carte, équipement ou
système qui ne vont pas corriger ou détecter une faute mais qui vont
permettre d'éviter que celle-ci ne mette en défaillance le système. On peut, à
titre d'exemple, citer les méthodes de redondance (le plus souvent il s'agit
d'une triplication) avec système de vote. Ces méthodes sont basées sur la
redondance, qu'elle soit physique, au niveau du nombre de circuits réalisés,
ou encore temporelle, de tout ou partie des ressources réalisant les
opérations de l'application. Un système de vote, placé en aval, permet, dans
l'hypothèse ou une erreur apparaît au niveau d'une des ressources
dupliquées, d'éviter que l'erreur ait une conséquence sur la fonction réalisée
par le composant ou la carte.
Les erreurs multiples sont aussi possibles et de plus en plus
fréquentes dans les nouvelles technologies de mémoires. Leur correction
demande des codes de correction d'erreur beaucoup plus évolués (type
Reed Solomon), pénalisants pour les performances de l'application. Quand
cela est possible, des méthodes de séparation physique des ressources sont
mises en oeuvre pour éviter qu'un événement puisse modifier deux
ressources physiquement proches à la fois. Néanmoins, cette séparation
nécessite une connaissance parfaite de l'architecture logique du composant
qui n'est pas toujours disponible pour le concepteur.
Enfin, au-delà du composant, des mitigations peuvent être mises en
place au niveau du système d'exploitation, au niveau du logiciel
d'application,
au niveau de l'architecture de l'équipement électronique, et au niveau
supérieur de l'architecture du système global.
Toutes les méthodes décrites précédemment peuvent être couplées
entre elles de manière à optimiser la protection du composant et/ou de la
fonction qu'il réalise.
Néanmoins, l'implantation de toutes ces méthodes n'est pas aisée
car elles sont spécifiques pour un composant et une application donnée.
Elles peuvent faire l'objet d'une erreur de réalisation due à leur complexité
de
mise en oeuvre. De plus, leur efficacité n'est pas forcément connue à
l'avance. En effet, en fonction de certains paramètres technologiques et en
particulier de l'architecture logique du composant, certaines techniques de
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
mitigation se révéleront inefficaces en cas d'erreurs multiples. Or, du fait
de
l'intégration des composants électroniques, les erreurs multiples, dues à
l'interaction d'une unique particule, prennent une part de plus en plus
importante. Ainsi, il est nécessaire d'évaluer l'efficacité des techniques de
5 mitigation mises en oeuvre, au niveau composant, au niveau équipement et
au niveau système. D'autre part, l'utilisation spécifique d'un composant par
une application donnée peut rendre inefficace une technique de mitigation
par ailleurs validée.
Il est connu, dans le document PCT/US2004/022531, un système
basé sur un laser pulsé focalisé sur la surface d'un composant électronique
pour injecter des fautes dans ce composant électronique et observer la
réaction de ses tensions et/ou courants d'alimentation. Cependant, dans ce
document, le composant testé n'est pas en situation réelle d'exécuter une
application. En outre, pour éviter de soumettre le composant à une agression
longue, ce document prévoit de synchroniser l'agression. Enfin, pour assurer
la détection vis-à-vis des effets identifiés ci-dessus, des durées d'impulsion
longues, au moins supérieures à une microseconde sont prévues. Les
mesures ne sont alors pas réalistes.
Dans l'invention présente, pour remédier à ce problème, le
composant est monté sur une carte d'utilisation et est en train d'exécuter son
application. En outre, le rayonnement laser est focalisé à l'intérieur du
composant au niveau des zones qui présentent une sensibilité à l'injection de
charges. La carte est intégrée ou non dans un équipement et/ou un système.
L'injection des fautes permet de quantifier, en direct ou après analyse, la
tolérance aux fautes transitoires et permanentes de l'application, et/ou de
valider les techniques de mitigation mises en oeuvre pour protéger
l'application vis-à-vis de ces mêmes fautes. La répétitivité dans le temps des
agressions effectuées par le laser et la brève durée de ces excitations
permettent de caractériser de manière réaliste la réaction du composant,
alors que l'application s'exécute.
L'invention a donc pour objet un procédé de test d'une application
logicielle mise en oeuvre à l'aide d'un composant électronique en circuit
intégré dans lequel
- on mesure la sensibilité de l'application aux fautes induites par les
particules énergétiques dans le composant dans une installation de test alors
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
6
qu'il est en fonctionnement et qu'il opère l'application,
- avec cette installation de test, on met le composant électronique en
service fonctionnel et, du fait de cette mise en service, le composant est
synchronisé par un signal d'horloge et possède un temps de cycle
d'application,
- un état de service fonctionnel étant différent d'un état de service
statique en ce que le composant réalise, en service fonctionnel, une fonction
d'application, autre qu'une fonction de logistique interne mise en oeuvre en
état de service statique,
- on excite le composant électronique ainsi mis en service à l'aide
d'impulsions d'un rayonnement laser pulsé produit par l'installation de test,
- le composant reçoit au cours de ce test sur ses entrées des
signaux d'entrée variables dans le temps, et produit en correspondance sur
ses sorties des signaux de sortie variables dans le temps,
- et on mesure un défaut de fonctionnement de l'application opéré
par le composant électronique mis en service correspondant à cette
excitation,
- ce défaut de fonctionnement se matérialisant par des signaux de
l'application, variables dans le temps, différents des signaux de
l'application,
variables dans le temps, attendus.
caractérisé en ce que pour cette mesure,
- le composant en circuit intégré est monté sur une carte électronique
capable d'opérer l'application,
- on place la carte électronique capable de l'application dans
l'installation de test,
- les impulsions d'excitation sont déclenchées par un signal
asynchrone ou synchrone de ce signal d'horloge du cycle de l'application.
- on focalise le rayonnement laser à différentes profondeurs dans le
composant, et
- on limite la durée des impulsions à une durée inférieure ou égale à
une nanoseconde
L'invention sera mieux comprise à la lecture de la description qui suit
et à l'examen des figures qui l'accompagnent. Celles-ci ne sont données qu'à
titre indicatif et nullement limitatif de l'invention. Les figures montrent :
- Figure 1: Une représentation schématique d'un dispositif utilisable
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
7
pour mettre en oeuvre le procédé de l'invention
- Figure 2 : Un diagramme temporel montrant des signaux d'horloge
du composant, des dates d'impulsion du laser de l'invention et des temps de
cycle de l'application mise en oeuvre;
- Figure 3 : Pour une zone d'intérêt selon l'invention, un relevé
d'énergie critique pour laquelle des interactions sont critiques, en fonction
d'une profondeur de focalisation, et un choix d'énergie d'excitation.
La figure 1 montre un dispositif utilisable pour mettre en oeuvre le
procédé de l'invention. Le but de l'invention est de mesurer les effets
d'interactions énergétiques dans un composant électronique 1. Le
composant électronique 1 comporte ainsi, d'une manière connue, et présenté
à l'envers, un cristal semi-conducteur 2 dans lequel sont réalisées diverses
implantations: des caissons et des zones implantées par des impuretés. Des
connexions, typiquement métalliques, telles que 3 débouchent sur une
interface 4 de connexion du composant électronique 1. La dalle semi-
conductrice 2 peut être surmontée par une protection 5, par exemple une
métallisation. La protection 5 est située sur une face du cristal 2 opposée à
celle où sont réalisées les connexions 3.
Dans l'invention, pour mesurer les défauts de fonctionnement de
l'application opérée par un composant électronique 1 qui serait soumis à des
interactions énergétiques, on monte ce composant 1 sur une carte
électronique 6 de type circuit imprimé, monocouche ou multicouches. La
carte 6 peut-être une carte réelle d'utilisation du composant 1. La carte 6
comporte à cet égard d'autres composants tels que 7 et 8, du type à broches
9 de connexion traversant la carte 6, ou du type à boules de soudure telles
que 10 pour composants montés en surface. Dans l'exemple, le composant 1
est lui-même du type composant monté en surface, avec des boules de
soudures connectées aux métallisations 3, mais ce n'est pas une obligation.
La carte 6 possède des composants 7 et 8 utiles à son
fonctionnement. Par exemple ces composants sont du type quartz d'horloge,
filtres de transmission, composants de découplage, commutateurs ou
interrupteurs, voire microcontrôleurs. Le composant 1 peut-être par exemple,
un microprocesseur, avec ou sans mémoire associée intégrée ou un
composant logique programmable (FPGA).
La carte 6 possède un connecteur 11. Dans l'invention, on utilise ce
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
8
connecteur 11 pour connecter la carte 6 à l'appareil de test. Le connecteur
11 est relié dans la carte à des pistes telles que 12 menant aux composants
1, 7 et 8. Les pistes 12 peuvent être réparties dans l'épaisseur 13 de la
carte
pour une carte électronique de type multicouche.
Pour mesurer la sensibilité du composant 1 et de l'application aux
particules énergétiques, on utilise un appareil de test. Avec cet appareil, on
excite le composant 1 au moyen d'une source laser 14. Cette source laser 14
émet un rayonnement 15 qui vient agresser le composant électronique 1. De
manière à favoriser cette agression, de préférence, le composant 1 est
soumis à cette agression par sa base 5. De manière à favoriser cette
agression, de préférence la protection 5 est ouverte (notamment par
processus chimique ou mécanique) dans une fenêtre 16 par laquelle peut
pénétrer le rayonnement 15 du laser 14.
Au moment du test, le composant électronique 1 est relié par son
interface 11 à un dispositif d'alimentation et de commande 17. Le dispositif
17 comporte, d'une manière schématique, un microprocesseur 18 relié par
un bus 19 de commandes, d'adresses et des données à une mémoire
programme 20, à une mémoire de donnée 21, à l'interface 11, à la source
laser 14 et à un système 32 d'atténuation de l'énergie laser. Le dispositif 17
comporte par ailleurs, schématiquement représenté, un comparateur 22
recevant d'une part sur une entrée de consigne 23 une grandeur électrique
attendue et sur une entrée de mesure 24 des signaux électriques de
l'application prélevés par l'interface 11 alors que le composant 1 subit les
interactions et les excitations du laser 14. Cette partie du dispositif permet
d'identifier les défauts de fonctionnement de l'application. La grandeur 23
peut être celle produite par une autre carte identique à la carte 6,
synchronisée avec cette dernière, mais qui n'est pas soumise à agression.
De manière optionnelle, le dispositif 17 comporte aussi autre un
comparateur recevant d'une part sur une entrée de consigne une grandeur
électrique du composant attendue et sur une entrée de mesure des signaux
électriques prélevés par l'interface 11 dans le composant 1, alors que ce
dernier subit les interactions et les excitations du laser 14. Cette partie
optionnelle du dispositif permet d'identifier les fautes du composant 1.
En pratique, il peut y avoir deux comparateurs : un premier
comparateur, optionnel, qui permet de mesurer la défaillance du composant
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
9
et un deuxième comparateur qui permet de mesurer une défaillance
correspondante de l'application. Le premier comparateur peut par exemple
comporter un programme pour, après une agression, aller lire une cellule
mémoire ou un registre et en vérifier le contenu, alors que cette cellule
mémoire ou ce registre ne sont pas sollicités par l'application. Le deuxième
comparateur mesure de signaux de sortie de l'application pour vérifier s'ils
sont cohérents.
Les comparateurs peuvent être remplacés par un sous-programme 25
de mesure de la cohérence du signal reçu de l'application et/ou du
composant électronique 1 avec un signal attendu. Le fonctionnement de la
mesure peut être statique : on teste dans ce cas uniquement des valeurs de
potentiels et de courants disponibles sur des plots de l'interface 11. Il est
essentiellement dynamique. Dans ce cas, le microprocesseur 18 comporte
en outre une horloge qui égrène certaines opérations dont le déroulement
doit subir un historique connu, et on mesure si cet historique se reproduit de
manière attendue ou s'il présente des anomalies.
La mémoire programme 20 comporte dans ce but un programme 26
de commande de la source laser 14, de ses déplacements XYZ, de sa
puissance et de ses instants de déclenchement. La mémoire 20 comporte
enfin de préférence un programme 27 de commande du fonctionnement de
la carte 6. Selon ce fonctionnement, la carte 6 réalise l'application pour
laquelle elle est conçue: traitement des données d'entrées reçues sur ses
connexions 3, éventuellement provenant du bus 19, et production de
données de sorties pour l'essentiel appliquées sur le bus 19 ou sur les autres
composants 7 et 8 de la carte 6. Les deux programmes 26 et 27 peuvent se
dérouler de manière simultanée, séquentielle ou asynchrone. Le programme
26 peut tenir compte de phases du programme 27 pour lancer
opportunément des excitations à des instants choisis.
La figure 2 montre un premier diagramme temporel 33 égrenant les
impulsions d'une horloge de cadencement du composant 1. Cette horloge
peut être portée par la carte 1 ou reliée au bus 19. De préférence ses
impulsions sont gérées, au moins prises en compte, par le programme 26.
Un deuxième diagramme temporel 34 montre la distribution temporelle des
impulsions laser, de courtes durées, telles que 35 émises à des instants 36 à
42 calés ou non par rapport à un signal particulier de l'horloge 33. Un
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
troisième diagramme temporel 43 montre des phases 44 à 46 d'actions du
composant 1. Ces phases d'actions correspondent à des actions, des
opérations complexes, de sélection, de calcul, de reformatage, de
transmission, de vérification ou autres effectuées par le composant 1 dans le
5 cadre de l'application mise en oeuvre avec la carte 16. Un temps de cycle 47
de l'application peut ainsi être défini comme celui pendant lequel une ou des
phases de traitement sont exécutées. Selon l'invention, il importe alors que
les dates 36 à 42 soient choisies, ou au moins réparties, par rapport à ces
cycles de l'application, qui sont différents d'un cycle 48 de l'horloge 33. Ce
10 qui est important est que ces impulsions 35 soient distribuées pendant le
cycle 47, et non pas tant qu'elles soient placées à un moment donné par
rapport au début 49 ou la fin 50 d'une impulsion quelconque de l'horloge 33.
D'une manière classique il est connu, notamment avec le
microprocesseur 18, de déplacer la source 14 dans des directions XY à la
surface du cristal 2 à l'aide d'un actionneur 28. En effectuant ce
déplacement, il est possible de repérer les localisations d'intérêts où on
mesure que les interactions entre le rayonnement 14 et le composant semi-
conducteur 1 sont les plus fortes, voire deviennent critiques. Mais cette
connaissance est insuffisante. Elle ne donne pas de renseignement sur la
profondeur.
Le trou formé par la fenêtre 16 peut-être plus petit que l'étendue de la
dalle 2 du composant 1. La trace de l'impact du rayonnement 15 sur la
surface du composant 1 est bien entendu inférieure au trou 16, sinon le
balayage en X et Y de la fenêtre 16 serait inutile.
Avec une telle technique, on repère des zones d'intérêt dans le
composant 1 au sens où ces zones sont les sièges d'interactions néfastes
pour le fonctionnement du composant 1 et/ou de l'application. Le but de
l'invention est de savoir si le composant va être en un endroit quelconque de
sa structure le siège d'une interaction néfaste.
Dans l'invention, pour obtenir ce résultat, on a prévu de focaliser le
rayonnement laser 15 à l'aide d'un dispositif de focalisation, ici
schématiquement représenté par une lentille 29, et de faire varier à l'aide de
cette lentille 29 une profondeur de focalisation d'un foyer 30 du rayonnement
15 ainsi focalisé. Par exemple, une profondeur 31 montrée est ici située sous
la l'interface 2-5. On tient bien entendu compte de l'indice de réfraction de
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
11
cristal 2, différent de l'indice de réfraction de l'air. Ceci n'est pas montré
sur
la figure 1 où le rayonnement focalisé présente des rayons rectilignes 34.
Selon l'invention, pour chaque profondeur de focalisation on mesure les
interactions énergétiques du rayonnement sur le composant 1. Le principe de
cette mesure est le suivant.
Une fois que la source laser 14 est placée en regard d'une zone
d'intérêt, pour une première focalisation donnée, par exemple sur l'interface
2-5, on ajuste par des commandes transmises à l'atténuateur 32, à l'aide du
microprocesseur 18 et du bus 19, le niveau d'atténuation de l'énergie laser et
on commande, à l'aide du microprocesseur 18 et du bus 19, la source 14
pour effectuer un impulsion laser. La diminution du niveau d'atténuation de
l'atténuateur 32 provoque une croissance de l'énergie du laser. Cette
croissance a pour résultat que la puissance laser déposée dans le
composant 1 augmente.
En pratique, cette administration d'excitations énergétiques est pulsée
(notamment afin de ne pas échauffer trop fortement le composant par une
illumination continue). Afin de rendre réalistes les mesures, on a découvert
que l'impulsion devait être très courte, par exemple de l'ordre d'une centaine
de picosecondes, voire bien moins, et donc en tous cas de durée inférieure
ou égale à une nanoseconde.
En outre, de préférence mais ce n'est pas une obligation, la
modification de puissance peut être effectuée pas à pas. Du point de vue
expérimental, on part de la valeur d'énergie (de puissance) laser la plus
élevée et on la diminue jusqu'à obtenir la valeur critique (mais l'inverse est
ainsi possible : partir de la valeur d'énergie la plus faible et l'augmenter
progressivement). Pour chaque impulsion on mesure, à la fin de l'impulsion,
la cohérence des signaux lus dans le composant 1 et au niveau de
l'application par rapport aux signaux attendus. Si cette cohérence est bonne,
on diminue l'atténuation. A un moment donné, on obtient une puissance
critique, celle pour laquelle, pour la première fois, la réponse électronique
de
l'application ou du composant 1 n'est plus celle attendue. On note la valeur
de cette puissance critique.
Puis on change la focalisation de la source laser, par exemple en
déplaçant la lentille 29 en direction du composant 1 (ou éventuellement en
utilisant une lentille à focale variable), de manière à ce que le foyer 30
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
12
pénètre plus avant dans le cristal 2. Pour cette autre position en profondeur
de ce foyer 30, on réitère l'opération de croissance (on peut aussi procéder
par décroissance) et on obtient une nouvelle valeur de puissance critique. En
agissant ainsi, on peut relever une cartographie en profondeur, et non plus
seulement en surface, du défaut de fonctionnement du composant
électronique 1.
Le faisceau laser est incident par la face arrière, du côté du substrat
du composant 1. Le faisceau laser ne pénétrant pas les métallisations,
l'irradiation par face arrière est préférable pour révéler toutes les zones
sensibles. Le montage sur la carte électronique 6 est donc tout à fait
compatible avec la méthode, de même qu'il permet l'ouverture de la fenêtre
16.
L'énergie critique correspond, pour une durée donnée d'impulsion, à
une puissance critique. Si la courbe de l'énergie critique, dite aussi énergie
seuil, est tracée en fonction de la profondeur de focalisation dans la
configuration de la figure 1, elle aura l'allure représentée sur la figure 3.
C'est
l'exploitation de cette courbe (recherche du minimum) qui fournit la
profondeur de la zone sensible de collection. En effet, la zone critique est
celle où il faut le moins de puissance au laser 14 pour dérégler le
fonctionnement du composant 1.
Pour une position d'intérêt, la focalisation du faisceau laser est
ajustée de manière à identifier la focalisation pour laquelle le composant
présente une sensibilité maximale vis-à-vis d'une impulsion laser. Cette
sensibilité maximale est obtenue lorsque l'énergie laser nécessaire pour
provoquer la défaillance est minimale. Cette opération est effectuée pour une
position d'intérêt mais peut également être répétée de manière systématique
sur toutes les positions de la cartographie laser ou éventuellement pour des
positions choisies aléatoirement. Par exemple, figure 3, pour une position
donnée en XY, on a mesuré qu'une énergie minimale 51 était nécessaire à
une profondeur 52 pour provoquer une défaillance. A toute autre profondeur,
il faut une énergie laser supérieure à l'énergie 51. Ainsi, le minimum de la
courbe expérimentale caractérisant l'évolution de l'énergie seuil en fonction
de la profondeur de focalisation, correspond bien à la profondeur à laquelle
est enterrée la zone sensible.
Ensuite, pour une énergie laser supérieure à cette énergie minimale,
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
13
donc supérieure à cette énergie 51, le faisceau laser est déplacé par rapport
au composant, de manière connue ou aléatoire, sur tout ou partie de la
surface de ce dernier, sur tout ou partie de sa profondeur, pendant tout ou
partie des phases 44 à 46. Pour un certain nombre de positions et pour des
instants 36 à 42, un tir laser est effectué, synchronisé ou non par rapport à
un signal 33 et une vérification est effectuée sur le système de test pour
voir
si une ou plusieurs défaillances (fautes au sein du composant ou défauts de
fonctionnement de l'application) ont eu lieu.
Il est nécessaire d'utiliser un laser pour lequel le matériau étudié du
composant 1 ne soit pas transparent (par mécanisme d'absorption linéaire ou
non linéaire). Dans le cas de l'absorption linéaire, l'énergie du photon laser
doit être supérieure à la barrière de potentiel, à la bande interdite du semi-
conducteur. Dans le cas du silicium, il faut que la longueur d'onde du laser
soit plus petite que 1,1 micromètre.
Ainsi, le minimum de la courbe expérimentale caractérisant
l'évolution de l'énergie seuil en fonction de la profondeur de focalisation,
correspond bien à la profondeur à laquelle est enterrée la zone sensible.
Si ses propriétés sont bien choisies, de même que les particules, un
laser pulsé et focalisé permet d'ioniser localement et de façon transitoire le
semi-conducteur constituant des composants électroniques, induisant des
fautes transitoires ou permanentes dans le composant opérant l'application.
Pour cela le laser doit posséder une longueur d'onde permettant la
génération de charges (par mécanisme d'absorption linéaire ou non linéaire)
dans le matériau constitutif du composant.
Le mécanisme d'absorption non linéaire correspond à une excitation
à plusieurs photons. Plusieurs photons sont absorbés simultanément par le
matériau semi conducteur. La somme d'énergie de ces photons est
suffisante pour déclencher la faute. L'avantage de ce dernier mécanisme est
de permettre une meilleure résolution spatiale, en profondeur dans le
composant et dans le plan de ce composant. Une localisation plus précise de
l'impact multi photonique permet alors de caractériser plus exactement le
fonctionnement de l'application par rapport aux agressions.
Par exemple, dans le cas de l'absorption linéaire dans le silicium, la
longueur d'onde du laser doit être inférieure à 1.1 pm. Le laser est utilisé
préférentiellement en mono impulsion ou synchronisé par rapport à un signal
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
14
du composant ou de l'application sous test. Un système d'optique est utilisé
pour focaliser le rayonnement laser au niveau des zones actives du
composant. Enfin, il existe sur le chemin optique du faisceau laser un
système permettant de modifier l'énergie du laser. Ce système possède une
interface qui permet son pilotage depuis un ordinateur.
Tous les éléments peuvent être pilotés pour permettre
l'automatisation du test.
Les positions et les instants des tirs laser peuvent être choisis
aléatoirement pour reproduire l'impact de particules de l'environnement
naturel ou non, ou bien au contraire soigneusement ajustés afin de localiser
les positions spatiales et temporelles mettant en faute le composant et
provoquant un défaut de fonctionnement de l'application. De même en
chaque position l'énergie laser peut être ajustée et la même position est
testée à nouveau jusqu'à ce qu'il n'y ait plus de faute mesurée et/ou de
défaut de fonctionnement de l'application observé, ce qui permet d'effectuer
une cartographie de la sensibilité du composant et de l'application qui lui
est
associée. .
Cette procédure peut être effectuée pour le composant et
l'application pour lesquels aucune technique de mitigation n'a été appliquée
ainsi que pour le composant et l'application pour lesquels une technique de
mitigation a été appliquée. La comparaison des deux mesures prouve l'effet
de la mitigation. Si l'application opérée par le composant présente un défaut
de fonctionnement, on met en oeuvre la mitigation et on recommence. Cette
procédure peut être effectuée sur un composant isolé dans une carte 6 et sur
lequel une application est embarquée, ou sur un composant 1 inclus dans
une carte 6, elle-même incluse dans son environnement réel.
Le tableau 1 ci après montre les différentes opérations de vérification
et de mesure qui peuvent être lancées selon le présent procédé. Le symbole
0 signifie oui, le symbole N signifie non.
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
Tableau 1
Opérations A B C D E F G H I J K L
Tir laser à Energie suffisante N 0000000000
Contrôle défaillance de l'application - si N 0000000000
nécessaire réinitialisation
Contrôle défaillance du composant - si O O O O O O O O O N
nécessaire réinitialisation
Contrôle et réinitialisation du composant
ou de l'application entre chaque tir laser O O O O O O O O N N
Cartographie (injection de faute
contrôlées spatialement à différentes O O O O N N N N - -
énergies)
Injection de fautes aléatoires N N N N O O O O - -
spatialement à différentes énergies
Détermination du seuil en énergie de la O O O O 00 00 00
défaillance application
Détermination du seuil en énergie de la O O O O 00 00 O N
défaillance au niveau composant
Synchro temporelle possible par rapport O O N N O O N N --
à I'application ?
Synchro temporelle possible par rapport O N O N O N O N --
à un signal du composant ?
En fonction des résultats délivrés par le dispositif de test en réponse
5 à ces opérations dans les situations A à L, les conclusions à en tirer en
matière de validité du test, de validité du composant et ou de l'application
logicielle testée sont les suivantes.
Situation A: Augmenter l'énergie et recommencer
Situation B : Sans objet
10 Situation C: Obtention de la cartographie spatiale et temporelle des
défaillances au niveau du composant et de l'application, identification des
localisations spatiales et temporelles responsables des défaillances du
composant et de l'application et observation exhaustive des modes de
défaillance, mesure de section efficace dynamique du composant (nombre
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
16
de défaillance par tir laser), ainsi que mesure de la section efficace
dynamique de l'application (nombre de défaillance par tir laser)
Situation D : Obtention de la cartographie spatiale des défaillances
au niveau du composant - cartographie spatiale et temporelle des
défaillances au niveau de l'application, identification des localisations
spatiales et temporelles responsables des défaillances de l'application -
Identification des localisations spatiales responsables des défaillances du
composant, observation exhaustive des modes de défaillance spatialement,
et observation exhaustive temporellement des modes de défaillance de
l'application, mesure de section efficace dynamique du composant (nombre
de défaillance par tir laser), ainsi que mesure de la section efficace
dynamique de l'application (nombre de défaillance par tir laser)
Situation E : Obtention de la cartographie spatiale et temporelle des
défaillances au niveau du composant -cartographie spatiale des défaillances
de l'application Identification des localisations spatiales et temporelles
responsables des défaillances du composant, identification des localisations
spatiales responsables des défaillances de l'application, observation
exhaustive des modes de défaillance spatialement, et observation statistique
temporellement, mesure de section efficace dynamique du composant
(nombre de défaillance par tir laser), ainsi que mesure de la section efficace
dynamique de l'application (nombre de défaillance par tir laser)
Situation F : Obtention de la cartographie spatiale des défaillances
au niveau du composant et de l'application Identification des localisations
spatiales responsables des défaillances du composant et de l'application,
observation exhaustive des modes de défaillance spatialement, et
observation statistique temporellement, mesure de section efficace
dynamique du composant (nombre de défaillance par tir laser), ainsi que
mesure de la section efficace dynamique de l'application (nombre de
défaillance par tir laser)
Situation G : Obtention de la cartographie temporelle des
défaillances au niveau du composant et de l'application, identification des
localisations temporelles responsables des défaillances du composant et de
l'application, observation exhaustive temporellement des modes de
défaillance, et observation statistique spatialement, mesure de section
efficace dynamique du composant (nombre de défaillance par tir laser), ainsi
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
17
que mesure de la section efficace dynamique de l'application (nombre de
défaillance par tir laser)
Situation H : Obtention de la cartographie temporelle des
défaillances au niveau de l'application, identification des localisations
temporelles responsables des défaillances de l'application, observation
exhaustive temporellement des modes de défaillance de l'application et
observation statistique spatialement, mesure de section efficace dynamique
du composant (nombre de défaillance par tir laser), ainsi que mesure de la
section efficace dynamique de l'application (nombre de défaillance par tir
laser)
Situation I: Obtention de la cartographie temporelle des défaillances
au niveau du composant, identification des localisations temporelles
responsables des défaillances du composant, observation exhaustive
temporellement des modes de défaillance du composant et observation
statistique spatialement, mesure de section efficace dynamique du
composant (nombre de défaillance par tir laser), ainsi que mesure de la
section efficace dynamique de l'application (nombre de défaillance par tir
laser)
Situation J : Observation statistique temporellement et spatialement
des modes de défaillance du composant et de l'application, similaire à ce qui
est obtenu lors des tests sous accélérateur de particules, mesure de section
efficace dynamique du composant (nombre de défaillance par tir laser), ainsi
que mesure de la section efficace dynamique de l'application (nombre de
défaillance par tir laser), mesure de section efficace dynamique du
composant (nombre de défaillance par tir laser), ainsi que mesure de la
section efficace dynamique de l'application (nombre de défaillance par tir
laser)
Situation K : Accumulation des défaillances dans le composant, les
erreurs multiples ne sont pas identifiées, mesure du nombre de défaillances
composant requises pour provoquer une défaillance de l'application, en
fonction de l'instant du tir par rapport au cycle de l'application, mesure de
la
section efficace statique du composant (nombre total de défaillance par
rapport au nombre total de tirs laser) et mesure de la section efficace
statique de l'application (nombre total de défaillance par rapport au nombre
total de tirs laser)
CA 02693991 2010-01-19
WO 2009/013419 PCT/FR2008/051166
18
Situation L : Accumulation des défaillances dans le composant, les
erreurs multiples ne sont pas identifiées, mesure de la section efficace
statique de l'application (nombre total de défaillance par rapport au nombre
total de tirs laser)