• Aucun résultat trouvé

est différente de celle attendue, une erreur de type perte de séquence sera comptée, les résultats associés à une telle exécution n’étant pas exploités pour éviter des problèmes d’interprétation de données. Un ajustement de la fluence, indispensable pour garantir la validité des taux d’erreurs mesurés, est rendu possible par la flexibilité offerte par l’ar-chitecture de la plateforme ASTERICS. Il est important de noter que les cartes utilisées pour réaliser des essais sous radiations de composants complexes, sont généralement basées sur des cartes de développement commerciales, et n’offrent donc pas la possibi-lité d’implémenter des ressources nécessaires à un tel ajustement.

Le contrôleur du flot d’exécution développé permet aussi de mesurer avec exacti-tude le temps d’exposition aux radiations du processeur et donc permet de connaître la fluence (nombre de particules) exacte à laquelle a été exposée l’application étudiée.

Le temps d’exposition pour n exécutions est égal à :

E =

n

X

i=1

runningi

Le compteurrunningenglobe les temps d’initialisation et d’écriture des résultats dans la mémoire du testeur. Pour que les estimations soient précises, les temps d’initialisation et d’écriture des résultats doivent être négligeables par rapport au temps d’exposition aux faisceaux.

Comme dit précédemment, dans les programmes utilisés pour évaluer la section ef-ficace statique, le processeur ne fait pas de calcul, le but étant d’obtenir la sensibilité aux ions lourds de différentes zones accessibles. Dans le but d’obtenir des résultats sur la sensibilité des processeurs étudiés lorsqu’ils exécutent un programme "réaliste", nous avons utilisé un programme dédié au calcul d’orbite durant des tests sous radiations avec les mêmes particules que celles utilisés pour les tests statiques.

Ce programme fourni par le CNES est issu du logiciel "SCA TAFT/PRONAOS". Ce logiciel est un Système de Contrôle d’Attitude (SCA) développé pour le projet PRONAOS (PROjet National d’AstrOnomie Submillimétrique) du CNES, c’est à dire la stabilisation de la nacelle d’un ballon stratosphérique emportant un télescope pour l’observation de l’Univers Froid dans le domaine submillimétrique (longueurs d’ondes comprises entre 200 microns et 1,2 mm). Cette stabilisation est assurée par un asser-vissement basé sur un filtre de Kalman, en fonction des données issues de différentes mesures fournies par des capteurs (centrale inertielle, senseur stellaire, données GPS).

A partir du code en langage C disponible du logiciel SCA, il fut obtenu le code exé-cutable pour le PowerPC (à l’aide du compilateur GCC). Ce code a été exécuté sur la plateforme ASTERICS afin d’obtenir les résultats de référence. Un jeu de données ému-lant les mesures des capteurs impliquées a été utilisé durant l’exécution du programme SCA.

Lors de la campagne d’essais sous ions lourds effectuée au cyclotron de l’HIF de Louvain-la-Neuve, le PowerPC 7448 fut exposé aux faisceaux d’ions lourds pendant l’exécution en boucle du programme SCA. Les figures 3.5 et 3.6 donnent les sections

FIGURE3.5 – Section efficace de l’application avec mémoire cache désactivée

FIGURE3.6 – Section efficace de l’application avec mémoire cache activée

D’après ces résultats il peut être constaté que l’impact de l’activation de la mémoire cache sur la sensibilité de l’application est faible car la taille des données traitées est

L’un des buts de ces recherches est de montrer que la sensibilité aux SEU d’un pro-cesseur exécutant un programme peut être prédite à partir de la section efficace statique et des résultats des sessions d’injection de fautes comme énoncé dans le chapitre pré-cédent. Une telle stratégie de prédiction du taux d’erreurs, dans le cas où la validité des résultats qu’elle fourni est prouvée, devrait permettre d’éviter la réalisation de tests dynamiques sous radiation, tests qui devraient en principe être effectués en cas d’évo-lutions majeures du logiciel de l’application. Bien évidement, les tests statiques sont obligatoires, mais peuvent être réalisés une seule fois sur les composants sélectionnés.

Dans ce qui suit, seront décrits les résultats des sessions d’injection de fautes effec-tués sur les PowerPC 7448 durant l’exécution du programme SCA. Ces résultats seront combinés avec la section efficace statique du processeur pour déterminer le taux d’erreur de l’application lorsqu’elle est exécutée sous faisceau de particules.

3.4.4 Confrontation des prédictions du taux d’erreurs aux mesures effectuées sous radiation

Contrairement aux essais sous radiation, dont leur coût oblige à les limiter dans le temps lorsque un nombre “raisonnable” d’évènements a été détecté, la méthode CEU peut être utilisée de manière à injecter des nombres très importants de SEU, avec pour unique contrainte le temps. A titre d’exemple, l’injection de 150 000 SEUs sur les bits des registres du PowerPC 7448 a demandé 2 jours d’expérimentation avec le testeur THESIC, alors que lors d’une campagne en accélérateur il faudrait, en se basant sur les données de la figure 14, environ 4 jours complets, durée ayant un coût de faisceau trop

Type Pourcentage Perte de séquence du programme 2.2%

Exception (adresse non alignée) 0.9% Erreur de calcul 80% Pas d’erreur observée 16.9% TABLE3.4 – Taux d’erreurs obtenus par injection de 150 000 fautes

sont confrontées aux mesures (cf. figures 3.5 et 3.6) aux prédictions des taux d’erreurs issues des sessions d’injection de SEU réalisées sur le PowerPC 7448 pour les deux configurations possibles de la cache données.

Ion σSEU Prédit σSEU Mesuré Argon 1,96.106 1,84.106 Krypton 3,82.106 3,56.106

TABLE3.5 – Prédictions vs. Mesures dans le cas cache données désactivée

Ion σSEU Prédit σSEU Mesuré Argon 2,12.105 2,04.105 Krypton 3,24E.105 3,17.105 TABLE3.6 – Prédictions vs. Mesures dans le cas cache données activée

Ces résultats montrent la pertinence de la méthode adoptée pour la prédiction de taux d’erreurs d’une application, même dans le cas où elle est exécutée par des processeurs

Des nombres très importants de SEU ont été simulés à l’aide de la plateforme utilisée lors des campagnes sous radiation, en se basant sur une technique utilisant les signaux d’interruption activés aléatoirement. Cette stratégie a été appliquée dans le cas du pro-cesseur PPC7448 ceci pour une application réelle issue d’un logiciel développé pour le CNES. Les taux d’erreurs prédits se sont révélés comme étant très proches de ceux mesurés sous faisceaux d’ions lourds, pour la même application et processeur. Cette surprenante précision, malgré le nombre important de cibles de SEU qui ne peuvent pas être atteintes à l’aide de la méthode CEU, peut être justifiée par le grand nombre de SEUs injectés durant les campagnes de simulation, nombre qui aurait nécessité l’exposi-tion au faisceau d’ions lourds du processeur durant plusieurs jours de manière continue. L’utilisation lors de ces expériences d’un programme issu d’une application spatiale, est une contribution importante de ces travaux. En effet, dans littérature scientifique liée à cette thématique, des programmes simples de type benchmark sont utilisés dans le cadre des expériences visant l’évaluation de la sensibilité aux radiations d’architectures à base de processeurs.

4.3 L’outil de simulation MUSCA SEP3 . . . 63 4.4 Premiers résultats obtenus . . . 63

4.4.1 Modélisation du composant et du vol . . . 63 4.4.2 Résultats théoriques . . . 65 4.4.3 Comparaison avec les résultats obtenus en vol . . . 65

4.1 Introduction

Depuis 1993, plusieurs expériences (en ballons, avions et haute montagne) ont été publiées dans la littérature [26, 28, 25]. Ces expériences donnent un retour objectif sur le FIT (Failure In Time) de circuits tels que les FPGAs et SRAMS fonctionnant à diffé-rentes altitudes. Ces expériences permettent aussi de valider des solutions garantissant la fiabilité requise par des applications critiques.

Ce type d’expériences requiert un grand nombre de circuits à cause du flux de parti-cules relativement faible (même aux altitudes avioniques) ainsi que la faible sensibilité aux évènements singuliers des technologies disponibles lors de la réalisation de ces ex-périmentations. Les procédés de fabrication disponibles de nos jours ainsi que les tech-nologies faible consommation permettent de réaliser de telles expériences en utilisant un nombre significativement réduit de composants. Ainsi, il devient possible de transporter une carte d’expérimentation dans un bagage à main lors d’un vol commercial.

4.2 Plateforme expérimentale

La plateforme expérimentale développée au cours de cette thèse embarque 1Gbit de mémoire SRAM. Elle est composée de 64 circuits fournis par Cypress et prove-nant de deux générations successives d’un procédé technologique (respectivement 130 et 90nm). La photo donnée dans la figure 4.1 donne un aperçu de la carte alors que l’ar-chitecture de celle-ci est donnée dans la figure 4.2.

FIGURE4.1 – Carte développée pour les essais en environnement atmosphérique

FIGURE4.2 – Architecture de la carte

Le contrôle ainsi que l’adressage des mémoires sont implémentés dans deux FPGAs. L’un d’eux assure la communication avec l’utilisateur :

Écriture du motif de référence

Lecture et vérification du contenu des mémoires Rapport d’erreurs

Lorsque la configuration initiale de démarrage a été effectuée, une machine à états implémentée dans le FPGA de contrôle initialise le contenu de chacune des mémoires. Le valeur qui a été écrite lors des expériences réalisées dans le cadre de cette thèse est le motif bien connu dit “damier” (suite alternée de 0 et de 1).

Circuit Adresse Donnée lue en hexa Donnée lue en binaire Nbre de bits faux NA NA 0x5555 0101010101010101 NA 3 0xB657F6 0x5557 0101010101010111 1 3 0xB657FA 0xD557 1101010101010111 2 3 0xB657BE 0xF557 1111010101010111 3 TABLE4.1 – Erreurs observées lors d’un vol Madrid - Buenos Aires

La première colonne donne le numéro de circuit dans lequel ont été observées les erreurs. Les trois octets de la seconde colonne fournit l’adresse dans laquelle la don-née errodon-née a été lue. Enfin, les 16 bits suivants représentent le mot erroné. L’exemple précédent montre clairement qu’un SEU et deux MBUs ont été détectés dans le même circuit. La sensibilité du circuit aux MBUs d’ordre 3 a été clairement mise en évidence. Comme deuxième exemple, le tableau 4.2 donne les résultats obtenus lors du vol re-tour Buenos Aires - Madrid. Les adresses des mots en erreur diffèrent de quatre montrent qu’une technologie utilisant dubit interleavinga été certainement implémentée dans les circuits choisis pour ces expériences. Cette hypothèse pourra être vérifiée par des essais LASER futures.

Circuit Adresse Donnée lue en

hexa Donnée lue en binaire Nbre de bits faux 0 0xFAE334 0x5515 0101010100010101 1 0 0xFAE338 0x5515 0101010100010101 1 0 0xFAE33C 0x5515 0101010100010101 1

reur de circuits. Pour cela, plusieurs mécanismes physiques entrent en jeu entre l’instant d’apparition d’un évènement singulier et l’impact avec le matériau de la particule inci-dente :

1. Les caractéristiques de la particule incidente sont modifiées par le blindage pré-sent autour du circuit

2. Injection de charges, transport et collection sur les contacts internes du circuit 3. Impulsions transitoires observés au niveau transistor

4. Réponse du composant face à ces transitoires (apparition ou non d’un SEE)

Par conséquent, le principe de la plateforme MUSCA SEP3 consiste à modéliser séquentiellement tous ces mécanismes. La figure 4.3 illustre les étapes de calcul. Des simulationsMonte-Carloinverses et directes sont utilisées pour la sélection des carac-téristiques des particules et modéliser les processus nucléaires.

La plateforme reçoit comme entrées une description du composant : zones actives du semi-conducteur, passivation, couches de métallisation, caractéristiques du boîtier. Dans le cas d’une mémoire de type SRAM, la cellule élémentaire (layout) est décrite, puis des règles de transposition permettent de définir le plan mémoire complet.

4.4 Premiers résultats obtenus

4.4.1 Modélisation du composant et du vol

Pour pouvoir modéliser une mémoire SRAM dans MUSCA SEP3, il est nécessaire de définir premièrement une description tridimensionnelle du plan mémoire puis un

ni-FIGURE4.3 – Mécanismes physiques et électriques modélisés avec MUSCA SEP3

veau de charge critique ainsi que des constantes de diffusion. Concernant la description du plan mémoire, la première étape consiste en la description d’une topologie de cellule élémentaire et d’y appliquer des règles de translation et de symétrie. Ainsi, plusieurs méga bits peuvent être définis. Une analyse technologique permet de déduire la topolo-gie des cellules, la surface totale ainsi que les caractéristiques des drains des transistors (dimension et localisation). Un test en accélérateur de particules peut être utile pour es-timer la charge critique et les constantes de diffusion [22].

Pour palier à l’absence d’informations technologiques sur les composants utilisés sur la carte expérimentale, deux modèles technologiques ont été considérés. Le premier est bâti sur l’hypothèse d’une sensibilité assez importante du circuit alors que le second table sur une sensibilité faible face aux évènements singuliers. Les caractéristiques de ces modèles (charge critique et layout de cellule) issus de l’ITRS (International Tech-nology Roadmap for Semiconductors) sont donnés dans la figure 4.4.

Le spectre d’énergies des neutrons, qui dépend de l’altitude ainsi que de la latitude, peut être calculé à l’aide du code QARM (QinetiQ Atmospheric Radiation Model). La figure 4.5 donne une représentation de ce spectre dans une plage allant de 1MeV à 1GeV en fonction de plusieurs altitudes et latitudes.

Les figures 4.6 et 4.7 présentent respectivement les sections efficaces calculées par MUSCA SEP3pour les fortes et faibles sensibilités des modèles technologiques retenus. La plateforme de simulation permet de caractériser le type d’évènement (simple ou multiple) pouvant apparaître. Des évènements multiples d’ordre 5 peuvent être simulés. Le seuil théorique est de 3MeV.

La figure 4.8 donne le taux d’erreurs calculé pour une localisation de référence (12km, Lat. = 51.5) et les deux modèles technologiques considérés (haute et faible sensibilité). Ces résultats montrent un nombre important d’évènements multiples qui peuvent laisser penser que les résultats expérimentaux réalisée à l’aide de la carte de test devraient être équivalents aux simulations effectuées avec MUSCA SEP3. Pour le modèle sensible, les évènements multiples sont prépondérants.

4.4.3 Comparaison avec les résultats obtenus en vol

La comparaison des données obtenues en vol avec les estimations calculées par MUSCA SEP3 est donnée dans le tableau 4.3. Suivent les figures 4.9, 4.10, 4.11 et 4.12 qui se focalisent sur trois vols : Los Angeles - Paris, Paris - Buenos Aires et Buenos Aires - Paris. Pour chaque vol sont présentées les trajectoires ainsi que les estimations du nombre intégré de SEU sur la durée du temps de vol.

Le nombre d’erreurs observées est en adéquation avec les estimations calculées. Une comparaison du vols Los Angeles - Paris avec le vol Buenos Aires - Paris montre claire-ment la dépendance du spectre neutronique en fonction de la latitude et de la longitude. Il y a approximativement trois fois plus d’évènements pour le vol Paris - Los Angeles ce qui correspond aux hautes latitudes.

FIGURE 4.5 – Énergie du spectre neutronique pour différentes localisations géogra-phiques

FIGURE4.6 – Section efficace calculée pour le modèle technologique sensible

FIGURE4.7 – Section efficace calculée pour le modèle technologique peu sensible

FIGURE4.8 – Type d’évènements pour les deux technologies

simulation. Le nombre élevé d’évènements de type MBU révèle une grande sensibilité de ces mémoires et pourrait mettre en défaut les techniques de redondance habituelle-ment utilisés tels les codes de Hamming.

0.12< nbM BU−3bit <0.95 Los Angeles-Paris 23/04/2009 15 1 double MBU 3 MCU (2 doubles, 1 triple) 4.25< nbSEU total <18 2.2< nbSEU <6.48 1< nbM BU−2bit <5.94 0.38< nbM BU−3bit <2.16 TABLE4.3 – Résumé des SEU observés durant des vols long courrier commerciaux

4.5 Conclusion

Dans ce chapitre, les résultats obtenus sur une mémoire SRAM exposée au flux de neutrons atmosphériques rencontré à haute altitude sont comparés à ceux issus de la plateforme de simulation MUSCA SEP3. Ces essais ont été réalisés lors de vols trans-continentaux.

Les SEUs et MBUs qui ont été observés montrent la sensibilité relativement impor-tante de ces mémoires face aux évènements multiples. L’outil de simulation MUSCA SEP3 a été utilisé pour estimer à la fois la section efficace et le taux d’erreurs pour les composants choisis. Ces estimations préliminaires, faites sans avoir une connaissance approfondie des paramètres technologiques de ces mémoires, sont en bonne adéquation avec les données obtenues en vol.

Des tests en accélérateur de particules ainsi que l’utilisation d’un faisceau LASER devrait permettre de déterminer la correspondance adresse physique-logique et ainsi valider la susceptibilité de la mémoire face aux évènements de type MCU.

FIGURE4.9 – Intégration du nombre de SEE durant le vol Los Angeles - Paris flight

FIGURE4.11 – Intégration du nombre de SEE durant le vol Madrid - Buenos Aires

ronnement final.

Le pragmatisme a été un point clé de ces travaux. Une méthode de prédiction de taux d’erreur existante, mais n’ayant jamais été appliquée à des architectures logicielles/ma-térielles représentatives, a été utilisée dans des expériences d’injection de fautes et de mesures sous faisceau de particules, lesquelles une fois combinées permettent d’esti-mer de manière précise le taux d’erreur de ces architectures. Pour ce faire, un élément clé a été le développement d’une plateforme de test générique, flexible et performante, plateforme qui a été utilisée pour valider la méthode de prédiction, ceci en confrontant prédictions et mesures sous faisceaux de particules pour une application issue d’un pro-jet spatial. Cette plateforme de test est de nos jours utilisé comme support dans le cadre de l’école internationale SERESSA (School on the Effects of Radiation on Embedded Systems for Space Applications) visant à former des ingénieurs et des universitaires à cette thématique.

L’obtention d’évidences de la susceptibilité croissante des circuits intégrés face aux particules présentes dans l’atmosphère terrestre a été un deuxième objectif de cette thèse. Des essais effectués en altitude, grâce à l’activation durant des vols commer-ciaux d’une plateforme de test développée au cours de la thèse, ont permis l’obtention de résultats sur des mémoires SRAM. L’occurrence d’erreurs multiples dans un mot de la mémoire comme conséquence de l’impact d’un unique particule a clairement mon-tré que des “talons d’Achile” sont présents pouvant mettre en défaut les techniques de durcissement de l’état de l’art. En effet, les données issues de ces expériences révèlent qu’une technique visant à séparer les bits d’un même mot (bit interleaving) a probable-ment été utilisée dans la mémoire testée et n’est donc pas efficace. Une dernière

contri-Atmospheric Environment : measure vs. predictions done by means of MUSCA SEP3 platform, Accepted for publication in IEEE Trans. on Nuclear Science, 2009

F. Faure, R. Velazco, P. Peronnard, Single Event Upset-like Fault Injection : A com-prehensive Framework, IEEE Trans. on Nuclear Science, Vol. 25, Nˇr 6, pp.2205-2209, décembre 2005.

M. García-Valderas, F. Faure, P. Peronnard, C. López-Ongil, R. Ecoffet, F. Bezerra, R. Velazco, Two Complementary Approaches for Studying the Effects of SEUS on Di-gital Processors, IEEE Transactions on Nuclear Science, Vol. 54, Part 2, pp. 924-928, août 2007.

Chapitre de livre

Raoul Velazco, Gilles Foucard, Paul Peronnard, Integrated circuit qualification for Space and Ground-level Applications : Accelerated test and Error-Rate Prediction, Cha-pitre à paraître en 2009 Springer.

V. Pouget, A. Douin, D. Lewis, P. Fouillat, G. Foucard, P. Peronnard, V. Maingot, J-B Ferron, L. Anghel, R. Leveugle, R. Velazco, Tools and Methodology Development for Pulsed Laser Fault Injection in SRAM-based FPGAs, Proceedings of Latin Ameri-can Test Workshop (LATW 2007), (Lima, Pérou), 11-14 mars 2007.

P. Peronnard, R. Ecoffet, M. Pignol, D. Bellin, R. Velazco, Predicting the SEU Er-ror Rate through Fault Injection for a Complex Microprocessor, presented at the Ses-sion D2CCIA (Dependable Design of Circuits for Critical Industrial Applications), organized within the 2008 IEEE International Symposium on Industrial Electronics, ISIE’2008, Cambridge,UK, June 30th to July 2nd, 2008.

V. Pouget, A. Douin, G. Foucard, P. Peronnard, D. Lewis, P. Fouillat, R. Velazco, Dynamic testing of an SRAM-based FPGA by time-resolved laser fault injection, Pro-ceedings of IEEE International On-Line Testing Symposium (IOLTS 2008, Rhodes, Greece, 6-9 July 2008), pp. 295-301.

P. Peronnard, R. Velazco, G. Foucard, V. Pouget, G. Berger, F. Charlier, F. Boldrin, "Remote SEE testing capabilities with heavy-ion and laser beams at Cyclone-HIF and ATLAS facilities", Proceedings of IEEE NSREC Data Workshop, 14-18 July, Tucson (Arizona), USA.

Carlos A. Lisboa, P. Peronnard, E. Rhod, R. Velazco, L. Carro, "Validation by Fault Injection of a Hardening Technique for Matrix Multiplication Algorithms", accepted for presentation at RADECS 2008, 10-12 September 2008 in Jyväskylä (Finland).

Documents relatifs