Năm 2024, các kỹ sư NASA đã sửa máy tính của tàu Voyager 1 mà không chạm được vào nó, bằng cách chuyển phần mềm ra khỏi một con chip nhớ đã ngừng hoạt động. Điều đáng chú ý nằm ở phương pháp: trước hết họ khiến con tàu tự để lộ bộ nhớ của nó, rồi cắt một chương trình thành nhiều mảnh đủ nhỏ để nhét vừa những khoảng trống còn lại.
Một con tàu vẫn nghe được nhưng không nói được
Ngày 14/11/2023, Voyager 1 ngừng gửi về dữ liệu đọc được. Tín hiệu vô tuyến vẫn đến, nhưng thay cho dữ liệu khoa học và kỹ thuật có cấu trúc, nó chỉ chứa một chuỗi số 1 và 0 lặp lại, như thể một khâu trong đường dẫn dữ liệu bị kẹt.
Triệu chứng này chỉ về Hệ thống Dữ liệu Bay (Flight Data Subsystem, FDS): máy tính trên tàu thu thập số đo từ các thiết bị khoa học và cảm biến kỹ thuật, đóng gói thành một luồng dữ liệu, rồi chuyển sang bộ điều chế đo xa để phát về Trái Đất.
Một chi tiết đã mở ra cơ hội cứu chữa: con tàu vẫn nhận và thực hiện lệnh. Hãy hình dung một chiếc điện thoại có micro còn tốt nhưng loa chỉ phát ra tiếng rè. Bạn vẫn ra lệnh được, chỉ là không nghe được câu trả lời.
Vật lý khiến mọi bước đều chậm. Ở khoảng cách chừng 24 tỷ km, tín hiệu vô tuyến mất khoảng 22,5 giờ mỗi chiều, nên một lượt hỏi đáp kéo dài gần hai ngày.
Đọc một bộ nhớ không thể nhìn thấy

Không thể sửa thứ chưa chẩn đoán được, mà chiếc FDS hỏng thì không tự giải thích được. Ngày 1/3/2024, nhóm kỹ sư gửi một lệnh mà NASA gọi là "cú chọc" (poke), nhằm thúc FDS chạy những trình tự khác trong phần mềm, phòng khi có thể đi vòng qua chỗ lỗi.
Ngày 3/3, các kỹ sư nhận thấy một phần tín hiệu gửi về khác hẳn phần còn lại. Giải mã ra, đó là bản đọc toàn bộ bộ nhớ FDS, gồm cả mã chương trình lẫn các biến số nó đang xử lý.
Đây là bước ngoặt. Có trong tay "ảnh chụp" bộ nhớ, nhóm có thể so sánh nó với các bản đọc từ trước khi sự cố xảy ra. Ngày 4/4, NASA công bố kết quả: một con chip lưu trữ một phần bộ nhớ FDS, bao gồm một phần mã phần mềm, đã không còn hoạt động. Khoảng 3% bộ nhớ FDS bị ảnh hưởng.
Nguyên nhân đến nay vẫn chưa chắc chắn. NASA cho rằng con chip có thể đã bị một hạt năng lượng cao từ vũ trụ va phải, hoặc đơn giản là đã hao mòn sau hơn 46 năm hoạt động.
Chuyển một chương trình né con chip hỏng

Không ai có thể thay một con chip hỏng trên con tàu đang bay trong không gian liên sao. Lựa chọn duy nhất là thôi phụ thuộc vào nó, tức là chuyển phần mã bị ảnh hưởng sang vùng bộ nhớ vẫn còn tốt.
Trở ngại nằm ở chỗ trống. Không có vùng trống liền mạch nào trong bộ nhớ FDS đủ lớn để chứa toàn bộ đoạn mã cần di dời thành một khối. Vì vậy, các kỹ sư chia nó thành nhiều phần và cất ở những vị trí khác nhau.
Hãy tưởng tượng một thư viện bị sập một kệ sách, kéo theo một chương người đọc vẫn cần. Không kệ trống nào đủ dài cho cả chương, nên bạn tách nó thành từng xấp trang và nhét vào các khe trống khắp tòa nhà. Nhưng đó mới là một nửa việc. Mọi mục danh mục từng trỏ tới kệ cũ phải trỏ tới đúng xấp mới, và cuối mỗi xấp phải dẫn người đọc sang xấp kế tiếp.
Bản vá phần mềm cũng phải giải đúng bài toán ấy. Các phần mã sau khi di dời cần được điều chỉnh để vẫn chạy ăn khớp với nhau như một tổng thể. Đồng thời, mọi chỗ khác trong mã có tham chiếu tới vị trí cũ đều phải được cập nhật. Chỉ cần sót một tham chiếu, máy tính có thể nhảy ngược vào vùng hỏng hoặc chạy nhầm sang những lệnh không liên quan.
Dữ liệu kỹ thuật trước, khoa học sau
Nhóm kỹ sư không chuyển tất cả cùng lúc. Bước đầu tiên, gửi đi ngày 18/4/2024, chỉ di dời phần mã đóng gói dữ liệu kỹ thuật, tức các báo cáo về tình trạng sức khỏe và hoạt động của chính con tàu. Sau đó, họ chờ tín hiệu đi hết quãng đường dài.
Ngày 20/4, câu trả lời về tới nơi. Lần đầu tiên sau khoảng năm tháng, Voyager 1 gửi về dữ liệu kỹ thuật đọc được.
Thứ tự này có chủ đích. Dữ liệu kỹ thuật giống bảng đồng hồ trong buồng lái: nó cho biết con tàu có khỏe không và một thay đổi vừa thực hiện có gây hại không. Khôi phục nó trước giúp mọi bản vá về sau được kiểm tra trên một mốc chuẩn đang hoạt động; sai sót sẽ lộ ra thay vì chìm vào thêm một quãng im lặng.
Trong những tuần tiếp theo, các kỹ sư di dời và điều chỉnh phần mã còn lại, bao gồm cả các thủ tục đóng gói dữ liệu khoa học. Vào tháng 5, thiết bị đo sóng plasma và từ kế bắt đầu gửi dữ liệu khoa học trở lại. Thiết bị đo tia vũ trụ và thiết bị đo hạt mang điện năng lượng thấp cần thêm thời gian xử lý. Ngày 13/6/2024, NASA thông báo cả bốn thiết bị khoa học còn hoạt động của Voyager 1 đều đã gửi về dữ liệu dùng được.
Vì sao một con chip lại quan trọng đến thế
Voyager 1 được phóng năm 1977 và đi vào không gian liên sao năm 2012. Cùng với tàu song sinh Voyager 2, nó là một trong hai con tàu duy nhất đang trực tiếp đo đạc từ bên trong vùng không gian nằm ngoài "bong bóng" gió Mặt Trời bao quanh hệ Mặt Trời. Mất dữ liệu của nó đồng nghĩa với mất các số đo tại chỗ về từ trường, plasma và hạt mang điện ở nơi xa xôi ấy.
Cuộc sửa chữa còn có bài học vượt ra ngoài ngành vũ trụ. Hệ thống sống lâu không phải vì chúng không bao giờ hỏng, mà vì vẫn giữ được vài khả năng then chốt khi có sự cố: một đường nhận lệnh còn thông, một cách kiểm tra trạng thái bên trong, và chút dung lượng dự phòng để lách qua chỗ hỏng, dù nằm rải rác. Bản sửa năm 2024 dựa vào cả ba.
Nó cũng cho thấy cách làm việc với vòng phản hồi hai ngày: thay đổi một thứ, chờ, xác nhận, rồi mới làm bước tiếp. Voyager 1 sẽ không hoạt động mãi, vì nguồn điện hạt nhân của nó sinh ra ít điện hơn một chút sau mỗi năm. Dù vậy, câu chuyện cho thấy sự chẩn đoán cẩn trọng có thể kéo dài tuổi thọ của một cỗ máy không ai còn chạm tới được đến mức nào.




Đang tải bình luận…