Juteau-Desjardins, Olivier (2026). Méthodologies in situ d’identification de corruptions silencieuses de données dans un processeur RISC-V à l’aide de circuits FPGA. Mémoire de maîtrise électronique, Montréal, École de technologie supérieure.
Prévisualisation |
PDF
Télécharger (10MB) | Prévisualisation |
Résumé
Au cours des dernières années, un nombre croissant d’opérateurs de serveurs à grande échelle ont rapporté une augmentation marquée d’un type de panne particulier : les corruptions silencieuses de données. Il s’agit d’un type de panne de processeur où, en raison d’une défaillance matérielle, des données corrompues sont générées sans être immédiatement détectées. Ces corruptions de données peuvent alors se propager un certain temps sans être détectées et ne seront généralement décelées que lorsqu’elles causeront un problème, comme des pertes de données. La nature silencieuse de ces pannes complexifie le processus d’isolation.
Les travaux présentés ont pour but d’élaborer et de mettre en place des méthodologies in situ d’identification de corruptions silencieuses de données dans un processeur. Pour ce faire, trois sous-objectifs ont été définis : (1) le développement d’une méthodologie d’identification se basant sur l’utilisation de programmes préexistants, (2) le développement d’une méthodologie d’identification se basant sur la génération de programmes de tests et (3) le développement d’une méthodologie d’émulation de pannes permettant de mettre en application les méthodologies d’identification précédemment évoquées. Au final, deux méthodologies d’identification ont été développées. L’une se base sur la comparaison de l’exécution fautive d’un programme préexistant avec la simulation de l’exécution de ce programme. L’autre se base sur la comparaison entre la fréquence de manifestation des pannes et la fréquence d’utilisation de certaines ressources du processeur en utilisant des programmes générés spécifiquement pour ce test. De plus, une méthodologie d’émulation de pannes fondée sur l’utilisation d’injecteurs de pannes dans un processeur RISC-V implémenté dans un FPGA a été développée.
La méthodologie d’émulation a permis de mettre à l’essai les deux méthodologies d’identification de pannes. Pour ce faire, des pannes sur certaines opérations arithmétiques et logiques ainsi que sur l’entrée du banc de registres du processeur RISC-V ont été émulées. Ces tests ont permis de confirmer le fonctionnement des deux méthodologies. La méthodologie basée sur la fréquence de manifestation des pannes est pleinement automatisée et ne nécessite pas d’intervention manuelle. Lors de la mise en pratique, cette méthodologie a permis un taux d’identification de 100 % des sources de pannes. La méthodologie est toutefois limitée dans le nombre de pannes qu’elle peut détecter. Il s’agit de la méthodologie principale d’identification. Dans le cas de la méthodologie basée sur la simulation du programme, les résultats montrent qu’un certain travail d’interprétation manuelle est nécessaire. Dans le futur, la méthodologie de test basée sur la fréquence de manifestation des pannes pourrait être élargie afin de permettre l’identification de pannes plus complexes. De plus, les méthodologies d’identification pourraient être testées avec d’autres types de pannes, notamment des pannes temporelles.
Titre traduit
In situ methodologies to identify silent data corruption in a RISC-V processor using an FPGA platform
Résumé traduit
In recent years, multiple large-scale server operators have reported a growing number of silent data corruptions in their processors. Silent data corruption is a type of processor failure in which corrupted data is generated without being immediately detected. The corrupted data can then spread undetected throughout the program and will generally only be noticed when it causes a problem, such as data loss. The silent nature of these faults complicates the isolation process.
The main objective of the presented work was to develop and test in situ methodologies to identify silent data corruption in a processor. The sub-objectives were as follows : (1) develop a fault identification methodology based on a pre-existing program, (2) develop a fault identification methodology based on test program generation, and (3) develop a fault emulation methodology to test the aforementioned fault identification methodologies.
Two fault identification methodologies have actually been developed. The first methodology compares the faulty execution of a pre-existing program with the simulated execution of the program to identify the source of the fault. The second methodology compares the frequency of fault manifestation in test programs with the frequency of use of certain processor resources to identify which processor resources are associated with the fault. This methodology uses generated programs. Additionally, a fault emulation methodology based on the use of fault injectors inside a RISC-V processor implemented in an FPGA has been developed.
The emulation methodology has been used to validate the two fault isolation methodologies. Indeed, the emulation methodology has been used to inject faults on specific logic and arithmetic resources in the RISC-V processor, in addition to the input of the register file. The test results show that both methodologies can be used to isolate the fault source. The fault isolation methodology based on the frequency of fault manifestation is fully automated and was able to isolate 100% of all faults injected. This methodology is, however, limited in the number of faults it can detect. It is the main methodology developed. The results for the simulation-based methodology show that a certain level of manual analysis is required. In the future, the frequency-based testing methodology could be improved to support the detection of more complex faults. Additionally, both fault identification methodologies could be tested with different fault models, such as temporal faults.
| Type de document: | Mémoire ou thèse (Mémoire de maîtrise électronique) |
|---|---|
| Renseignements supplémentaires: | "Mémoire présenté à l'École de technologie supérieure comme exigence partielle à l'obtention de la maîtrise avec mémoire en génie électrique". Comprend des références bibliographiques (pages 121-127). |
| Mots-clés français: | circuits intégrés, pannes, corruptions silencieuses de données, RISC-V |
| Directeur de mémoire/thèse: | Directeur(-trice) Thibeault, Claude |
| Codirecteur: | Codirecteur(-trice) de mémoire/thèse Giard, Pascal |
| Programme: | Maîtrise en ingénierie > Génie électrique |
| Date de dépôt: | 10 sept. 2026 17:49 |
| Dernière modification: | 10 sept. 2026 17:49 |
| URI: | https://espace.etsmtl.ca/id/eprint/4078 |
Gestion Actions (Identification requise)
![]() |
Dernière vérification avant le dépôt |

Statistiques de téléchargement
Statistiques de téléchargement