Skip to content
research

Le sauvetage logiciel impossible de Voyager 1

Un vaisseau spatial situé à des milliards de kilomètres continuait d'obéir aux commandes tout en envoyant des données que personne ne pouvait comprendre. La solution a révélé un type d'ingénierie que les systèmes de mise à jour modernes exigent rarement, et que presque personne ne pratique manuellement.

Aki Tanaka
Le sauvetage logiciel impossible de Voyager 1

Voyager parlait. La Terre ne pouvait tout simplement pas le lire.

Le 14 novembre 2023 a marqué le début d'une profonde panne de communication pour Voyager 1. Le vénérable vaisseau spatial, à plus de 15 milliards de miles de la Terre, continuait de recevoir et d'exécuter des commandes, témoignant de son intégrité opérationnelle durable. Cependant, sa télémétrie descendante, autrefois un riche flux de données scientifiques et techniques, s'est dégradée en motifs répétitifs et dénués de sens de uns et de zéros.

L'anomalie provenait du Flight Data Subsystem (FDS), l'un des trois ordinateurs de bord de Voyager 1. Le FDS est responsable de l'empaquetage de toutes les lectures scientifiques et techniques avant de les transmettre à l'émetteur du vaisseau spatial. Il ne s'agissait pas d'une perte de contact ; la Terre pouvait toujours « parler » à Voyager, mais le vaisseau spatial ne pouvait plus « répondre » dans un langage déchiffrable.

Résoudre un tel paradoxe à travers des distances interstellaires présentait un défi immense. Chaque signal, voyageant à la vitesse de la lumière, nécessite environ 22,5 heures pour effectuer un trajet aller simple. Cela signifiait que chaque étape de diagnostic, chaque tentative de réparation et chaque confirmation prenait près de deux jours, transformant le dépannage en un échange laborieux et prolongé avec une machine aux confins du système solaire.

Un « poke » a retourné l'ordinateur

En mars 2024, les ingénieurs de la NASA ont lancé une manœuvre de diagnostic critique. Ils ont envoyé une commande, surnommée familièrement un « poke », incitant le Flight Data Subsystem (FDS) de Voyager 1 à exécuter un chemin logiciel différent. Deux jours plus tard, le Deep Space Network a reçu un nouveau signal : un vidage mémoire complet du FDS, contenant son code actif et ses variables.

En comparant ce nouveau vidage avec une référence antérieure, datant d'avant la panne, l'équipe a identifié l'anomalie en avril. Une seule memory chip était défaillante, corrompant environ 3 % de la mémoire totale du FDS. Il ne s'agissait pas d'une simple erreur de bit isolée ; l'architecture particulière de la puce a créé un problème plus étendu.

La mémoire du FDS organise les données en 16-bit words. La puce défectueuse était responsable d'un bit spécifique sur 256 mots consécutifs. Sa défaillance a rendu ce bit inutilisable dans chacun de ces 256 mots, corrompant efficacement un bloc important de routines système critiques appelées tout au long du programme FDS. La tâche à accomplir consistait à contourner ces dommages matériels irréparables à 15 milliards de miles de distance.

Le correctif devait s'adapter aux lacunes

Remplacer la puce défectueuse à 15 milliards de miles de distance était, bien sûr, impossible. Les ingénieurs se sont plutôt concentrés sur le contournement de la mémoire endommagée. Le problème : la puce défectueuse affectait un bit sur 256 16-bit words consécutifs, corrompant des routines système cruciales. Déplacer ces routines nécessitait de trouver un nouveau bloc mémoire contigu suffisamment grand pour les héberger, mais le FDS ne disposait d'aucun espace libre de cette taille.

Les ingénieurs ont imaginé une solution de contournement astucieuse. Ils ont segmenté les routines corrompues en plus petits morceaux, distribuant ces fragments à travers divers poches de mémoire disponibles et non contiguës au sein du FDS. Cela a nécessité une mise à jour méticuleuse de chaque emplacement de programme appelant ces routines, garantissant que le système puisse trouver chaque morceau dispersé.

Tout ce processus s'est déroulé sans le luxe des outils modernes. L'architecture des années 1970 de Voyager signifiait qu'aucun assembleur approprié n'existait. L'équipe a minutieusement traduit chaque changement de code et chaque adresse mémoire en binaire à la main, un témoignage de la précision de l'ingénierie de bas niveau. Pour en savoir plus sur le diagnostic initial, consultez Engineers Pinpoint Cause of Voyager 1 Issue, Are Working on Solution. Le 18 avril 2024, ils ont téléversé le premier correctif pour les données d'ingénierie, rétablissant la lisibilité deux jours plus tard.

Cet article vous plaît ? Recevez-en un comme celui-ci chaque matin.

un e-mail par jour · désinscription en deux clics · aucun traqueur tiers

Une mise à jour à 15 milliards de miles, bit par bit

Les ingénieurs de la NASA ont téléversé le code pour les données d'ingénierie le 18 avril 2024. Deux jours plus tard, le 20 avril, la télémétrie d'ingénierie lisible est revenue, mettant fin à un black-out de cinq mois. Il ne s'agissait pas d'une réparation physique de la puce mémoire défectueuse, mais d'une solution logicielle contournée transmise à travers 15 milliards de miles via le Deep Space Network.

La correction a impliqué une manipulation précise, au niveau de l'octet, de la mémoire du FDS. Les ingénieurs ont segmenté manuellement les routines corrompues, puis ont mappé les fragments dans des emplacements mémoire disponibles et dispersés. Ils ont minutieusement mis à jour chaque adresse dans le firmware du FDS qui appelait ces routines, traduisant chaque changement en binaire sans l'aide d'assembleurs modernes.

La récupération de Voyager 1 démontre l'ingéniosité nécessaire pour maintenir les systèmes hérités. Cette danse délicate de gestion de la mémoire a maintenu la vénérable sonde en vie. Suite à la correction initiale, les ingénieurs ont déplacé les routines des instruments scientifiques, rétablissant les quatre instruments scientifiques actifs d'ici juin 2024.

Cependant, la mission reste un témoignage à la fois de la persistance humaine et de la marche incessante du temps. Les contraintes énergétiques continuent de limiter le vaisseau spatial, et les problèmes matériels ultérieurs, comme un problème fin 2024 avec l'émetteur principal en bande X, soulignent les défis permanents de l'exploitation d'une sonde vieille de 47 ans dans l'espace interstellaire.

Questions fréquemment posées

Qu'est-ce qui a causé l'envoi de données illisibles par Voyager 1 ?

Une puce mémoire défaillante a corrompu environ 3 % de la mémoire du Flight Data Subsystem, endommageant les routines utilisées pour empaqueter la télémétrie.

Comment la NASA a-t-elle contourné la mémoire endommagée de Voyager 1 ?

Les ingénieurs ont divisé le code affecté en fragments, les ont placés dans des emplacements mémoire libres dispersés et ont mis à jour les adresses des routines qui les appelaient.

Pourquoi les ingénieurs ont-ils traduit les changements logiciels de Voyager 1 en binaire à la main ?

L'équipe ne disposait pas d'un assembleur fonctionnel pour l'ancienne architecture informatique propriétaire de Voyager, ils ont donc converti manuellement les changements en code machine.

Quand Voyager 1 a-t-elle recommencé à envoyer des données d'ingénierie ?

La NASA a téléversé le correctif des données d'ingénierie le 18 avril 2024, et des données lisibles sont arrivées deux jours plus tard.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$199 · AI tools & software only

Pour les builders

Cette page travaille pour l’outil de quelqu’un d’autre.

Les agents IA la lisent. Des acheteurs y arrivent. Elle répond en huit langues et via MCP. Votre outil peut avoir la sienne — en ligne en 24 heures.