Skip to content
research

O Resgate de Software Impossível da Voyager 1

Uma espaçonave a bilhões de milhas de distância continuava obedecendo a comandos enquanto enviava para casa dados que ninguém conseguia entender. A correção expôs um tipo de engenharia que os sistemas de atualização modernos raramente exigem — e que quase ninguém pratica manualmente.

Aki Tanaka
O Resgate de Software Impossível da Voyager 1

A Voyager estava falando. A Terra simplesmente não conseguia ler.

14 de novembro de 2023 marcou o início de uma profunda falha de comunicação da Voyager 1. A venerável espaçonave, a mais de 15 bilhões de milhas da Terra, continuou a receber e executar comandos, um testemunho de sua duradoura integridade operacional. No entanto, sua telemetria de downlink, antes um fluxo rico de dados científicos e de engenharia, degradou-se em padrões repetitivos e sem sentido de uns e zeros.

A anomalia originou-se dentro do Flight Data Subsystem (FDS), um dos três computadores de bordo da Voyager 1. O FDS é responsável por empacotar todas as leituras científicas e de engenharia antes de transmiti-las para o transmissor da espaçonave. Não foi uma perda de contato; a Terra ainda podia "falar" com a Voyager, mas a espaçonave não conseguia mais "responder" em uma linguagem decifrável.

Resolver tal paradoxo através de distâncias interestelares apresentou um desafio imenso. Cada sinal, viajando à velocidade da luz, requer aproximadamente 22,5 horas para completar uma jornada de ida. Isso significava que cada etapa de diagnóstico, cada tentativa de correção e cada confirmação levava quase dois dias, transformando a resolução de problemas em uma troca trabalhosa e prolongada com uma máquina no limite do sistema solar.

Um “Poke” virou o computador do avesso

Em março de 2024, engenheiros da NASA iniciaram uma manobra de diagnóstico crítica. Eles enviaram um comando, coloquialmente chamado de “poke”, solicitando que o Flight Data Subsystem (FDS) da Voyager 1 executasse um caminho de software diferente. Dois dias depois, a Deep Space Network recebeu um novo sinal: um dump de memória completo do FDS, contendo seu código ativo e variáveis.

Comparando este novo dump com uma linha de base anterior, pré-falha, a equipe identificou a anomalia em abril. Um único memory chip havia falhado, corrompendo aproximadamente 3% da memória total do FDS. Não foi um erro de bit simples e isolado; a arquitetura peculiar do chip criou um problema mais generalizado.

A memória do FDS organiza os dados em 16-bit words. O chip defeituoso era responsável por um bit específico em 256 palavras consecutivas. Sua falha tornou esse bit inutilizável em cada uma dessas 256 palavras, corrompendo efetivamente um bloco significativo de rotinas críticas do sistema que eram chamadas por todo o programa do FDS. A tarefa à frente era contornar esse dano de hardware irreparável a 15 bilhões de milhas de distância.

O patch precisava caber nas lacunas

Substituir o chip defeituoso a 15 bilhões de milhas de distância era, claro, impossível. Os engenheiros focaram em contornar a memória danificada. O problema: o chip quebrado afetava um bit em 256 16-bit words consecutivas, corrompendo rotinas cruciais do sistema. Mover essas rotinas exigia encontrar um novo bloco de memória contíguo grande o suficiente para abrigá-las, mas o FDS não possuía nenhum espaço livre desse tamanho.

Os engenheiros criaram uma solução engenhosa. Eles segmentaram as rotinas corrompidas em pedaços menores, distribuindo esses fragmentos por vários bolsões de memória disponíveis e não contíguos dentro do FDS. Isso exigiu atualizar meticulosamente cada local do programa que chamava essas rotinas, garantindo que o sistema pudesse encontrar cada peça espalhada.

Todo este processo desenrolou-se sem o luxo das ferramentas modernas. A arquitetura da Voyager dos anos 70 significava que não existia um assembler adequado. A equipe traduziu meticulosamente cada alteração de código e endereço de memória para binário manualmente, um testemunho da precisão da engenharia de baixo nível. Para mais informações sobre o diagnóstico inicial, veja Engineers Pinpoint Cause of Voyager 1 Issue, Are Working on Solution. Em 18 de abril de 2024, eles enviaram o primeiro patch para dados de engenharia, restaurando a legibilidade dois dias depois.

Gostando do artigo? Receba um assim na sua caixa de entrada toda manhã.

um e-mail por dia · cancele em dois cliques · sem rastreadores de terceiros

Uma atualização de 15 bilhões de milhas, bit a bit

Os engenheiros da NASA enviaram o código para dados de engenharia em 18 de abril de 2024. Dois dias depois, em 20 de abril, a telemetria de engenharia legível retornou, encerrando um apagão de cinco meses. Este não foi um reparo físico no chip de memória defeituoso, mas uma solução de software entregue a 15 bilhões de milhas de distância através da Deep Space Network.

A correção envolveu uma manipulação precisa, ao nível de byte, da memória do FDS. Os engenheiros segmentaram manualmente as rotinas corrompidas e, em seguida, mapearam os fragmentos em locais de memória disponíveis e dispersos. Eles atualizaram meticulosamente cada endereço no firmware do FDS que chamava essas rotinas, traduzindo cada alteração para binário sem a ajuda de assemblers modernos.

A recuperação da Voyager 1 demonstra a engenhosidade necessária para sustentar sistemas legados. Esta delicada dança de gerenciamento de memória manteve a venerável sonda viva. Após a correção inicial, os engenheiros realocaram as rotinas dos instrumentos científicos, restaurando todos os quatro instrumentos científicos ativos até junho de 2024.

No entanto, a missão permanece um testemunho tanto da persistência humana quanto da marcha implacável do tempo. As restrições de energia continuam a limitar a espaçonave, e problemas de hardware subsequentes, como um problema no final de 2024 com o transmissor principal de banda X, ressaltam os desafios contínuos de operar uma sonda de 47 anos no espaço interestelar.

Perguntas Frequentes

O que fez a Voyager 1 enviar dados ilegíveis?

Um chip de memória com falha corrompeu cerca de 3% da memória do Flight Data Subsystem, danificando rotinas usadas para empacotar a telemetria.

Como a NASA contornou a memória danificada da Voyager 1?

Os engenheiros dividiram o código afetado em fragmentos, colocaram-nos em locais de memória livre dispersos e atualizaram os endereços das rotinas que os chamavam.

Por que os engenheiros traduziram as alterações de software da Voyager 1 para binário manualmente?

A equipe não tinha um assembler funcional para a antiga arquitetura de computador proprietária da Voyager, então eles converteram as alterações para código de máquina manualmente.

Quando a Voyager 1 retomou o envio de dados de engenharia?

A NASA enviou o patch de dados de engenharia em 18 de abril de 2024, e dados legíveis chegaram dois dias depois.

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

Para builders

Esta página está trabalhando para a ferramenta de outra pessoa.

Agentes de IA leem. Compradores chegam nela. Ela responde em oito idiomas e via MCP. Sua ferramenta pode ter uma assim — no ar em 24 horas.