eTech - NUMÉRO 11 15
La tolérance aux pannes présuppose que des pannes sont susceptibles de
se produire quel que soit le nombre de mesures prises pour les éviter.
• Les systèmes à sécurité intégrée ne permettent pas de reprendre
un fonctionnement sûr en cas de détection de panne, mais
garantissent un arrêt contrôlé du système, sans erreur de sortie.
• Les systèmes tolérants aux pannes sont quant à eux capables,
sans assistance externe, d'exécuter correctement leurs
programmes, ainsi que leurs fonctions d'entrée/sortie, face
à un certain nombre de pannes de fonctionnement.
Bien que ces défi nitions puissent paraître simples, elles se
traduisent très diffi cilement en système réel. En cas de panne de
système permanente ou transitoire, trois conditions doivent être
remplies pour permettre une « exécution correcte continue » :
• Détection des erreurs.
Le système doit être capable de détecter ses propres erreurs.
• Diagnostic des pannes.
Après avoir détecté une erreur pendant l'exécution d'un programme,
le système doit être capable de localiser la panne au niveau d'un
groupe de composants ou de modules pouvant être contournés,
remplacés sous le contrôle du processeur ou désactivés.
• Suppression de la panne.
Une fois la panne localisée, le système doit prendre des mesures
afi n de l'éliminer ou de minimiser ses effets. En cas de panne
transitoire, il est possible qu'une nouvelle tentative suffi se.
Il faudrait, dans l'idéal, que ces trois processus se produisent le plus
rapidement possible, afi n de minimiser toute interruption du fl ux de
données. Une redondance de sécurité est introduite sous forme de matériels
ou de logiciels supplémentaires (ou des deux) pour tenter d'atteindre
l'objectif conceptuel de reprise quasi-immédiate en cas de panne. Dans la
pratique, il est presque impossible de gérer tous les types de pannes de
composants susceptibles de se produire. Certaines pannes entraîneront
inévitablement des arrêts de système catastrophiques, et la seule chose à
faire consiste à rendre leur taux de probabilité acceptable. Dans le cas des
circuits non redondants, tels que les générateurs d'horloge, une attention
particulière est nécessaire à l'étape de conception pour éviter qu'une simple
panne ne mette hors service un système autrement tolérant aux pannes.
La couverture correspond à la probabilité conditionnelle selon laquelle
une panne pourra être détectée et éliminée de manière sûre. Le terme
« sûr » peut signifi er un arrêt du système sans conséquences néfastes
(sécurité intégrée) ou l'isolement du composant défectueux pour
permettre la poursuite du fonctionnement (tolérance aux pannes dans
un système redondant). Cette probabilité peut également s'exprimer
sous forme de pourcentage, à l'aide du taux SFF (Safe Failure Fraction).
Il existe bien sûr des situations dans lesquelles même une perte
de fonction contrôlée n'est pas acceptable : que se passerait-il, par
exemple, si les commandes automatiques d'une voiture sans chauffeur
cessaient de fonctionner pendant une manœuvre à grande vitesse ?
Dans ce type de scénario, la tolérance aux pannes est la seule option.
Le concept de couverture permet aussi d'évaluer l'effi cacité de schémas
de fi abilité particuliers en termes de capacité de détection et d'élimination
de tous les modes de pannes possibles. La couverture doit être presque
totale pour permettre la fi abilité attendue. La tolérance aux pannes et
l'évitement des défaillances ne sont pas mutuellement exclusifs et il est
possible de combiner les deux techniques dans certaines conceptions.
L'introduction de composants redondants et l'inclusion de modules
de secours n'améliorent pas automatiquement la fi abilité du système.
En effet, lorsque des composants de faible qualité sont répliqués, le
système redondant est moins susceptible d'accomplir sa mission qu'un
système simplex. L'utilisation de composants d'excellente qualité et
d'une conception détarée est nécessaire pour permettre une tolérance
aux pannes optimale. Cela signifi e une disponibilité accrue du système
et des chances de succès optimisées, même en cas de pannes de
composants. Une attention particulière aux problèmes de disponibilité
à l'étape de la conception a permis aux véhicules d'exploration de Mars
lancés en 2003 de dépasser leur durée de mission de plusieurs années.
Diagnostics simplex et simplex +
Les systèmes simplex ou 1oo1 (One out of One) sont incapables de
détecter les pannes et courent d'importants risques d'arrêt non contrôlé.
Les diagnostics simplex + ou 1oo1D incorporent des circuits de contrôle
qui permettent un suivi du fonctionnement du processeur sans impact
sur les systèmes en temps réel pour lesquels la vitesse est cruciale.
Une minuterie de surveillance, parfois incluse sur la puce du processeur
ou dans un dispositif de surveillance distinct, est souvent utilisée pour
détecter les pannes de processeur. Elle oblige généralement le système
à redémarrer en cas de perte de signal généré par un programme. Ces
dispositifs très simples intègrent souvent un système de contrôle de
l'alimentation électrique. Une solution beaucoup plus complète est
nécessaire pour répondre aux exigences des nouvelles normes de
sécurité ISO26262 et CEI 61508. Le fRCPU Yogitech du microcontrôleur
ARM® Cortex M3 [1] en est un exemple, le circuit de surveillance Infi neon
CIC61508 [2] du processeur TriCore™ en est un autre. Ces dispositifs de
diagnostic permettent de transformer un système simplex ou 1oo1 en
système 1oo1D capable de créer un système certifi é CEI 61508 SIL3. Cela
signifi e un taux SFF supérieur à 99 % et une sortie à sécurité intégrée.
Le microcontrôleur « de sécurité » TMS470M de la gamme Hercules™
de Texas Instruments intègre un seul cœur Cortex M3 avec correction
des erreurs et logique de test automatique sur une même puce [3]. Il ne
remplit cependant pas les critères de sécurité CEI 61508, car son taux
SFF est inférieur à 60 %. Ceci est dû au fait que la logique de contrôle
des erreurs ne peut pas détecter plus de 60 % des erreurs transitoires
ou systématiques possibles au niveau du cœur. La technique éprouvée
qui consiste à exécuter le même programme sur deux cœurs ou plus
et à comparer les sorties est une façon d'optimiser la couverture.
Redondance modulaire multiprocesseur
La redondance des systèmes de contrôle informatique signifi ait
traditionnellement la multiplication par 2 (DMR ou 2oo2), par 3 (TMR ou
2oo3), voire par 4 (QMR ou 2oo4), des unités de processeur et l'exécution
du même programme sur chacune d'entre elles avec un léger décalage.
La logique de vote et la comparaison séparée permettent uniquement
une sortie à travers un actionneur si la majorité des processeurs
s'accordent. Cela signifi e que les systèmes DMR ne sont pas tolérants
aux pannes, car la logique de vote ne permet pas de dire quelle sortie
est incorrecte. Les deux processeurs doivent donc être désactivés de
manière contrôlée. Toutefois, les systèmes DMR dont le taux SFF est
supérieur à 99 % pourraient répondre aux critères SIL3. Les systèmes
TMR permettent à un processeur de tomber en panne sans interruption
du fonctionnement, à condition que les deux autres processeurs
s'accordent. (Figure 1) Les systèmes QMR devraient pouvoir gérer deux
pannes sans baisse de performances. Les systèmes de type TMR et QMR
devraient répondre aux critères SIL4 s'ils réussissent à atteindre un taux
SFF supérieur à 99 %, car ils sont également tolérants aux pannes.
La première partie de ce dossier concernait
l'évitement des défaillances. Dans ce
numéro, nous décrivons les techniques de
conception matérielle qui permettent de gérer
les pannes transitoires et permanentes au
sein des systèmes de microcontrôleurs.
Deuxième volet sur la démarche de conception able:
tolérance aux pannes
Suite page 16 >