NASA 如何打造阿耳忒弥斯 2 号的容錯電腦

How NASA Built Artemis II’s Fault-Tolerant Computer – Communications of the ACM


1. 容易懂(Easy Know)

想像你在打電玩,遊戲突然當機就會「Game Over」。可是太空船飛到離地球 40 萬公里時,不能有任何「當機」!所以 NASA 在獵戶座太空艙裡放了 8 顆「超強大腦」一起工作,只要一顆出錯,它會安靜閉嘴,不亂下命令,其他大腦立刻接手,讓太空人永遠安全。


2. 總結(Overall Summary)

阿提米絲二號的電腦系統與 1960 年代阿波羅任務有天壤之別:阿波羅只靠 1 MHz 處理器與 4 KB 記憶體,且多數關鍵功能用機械開關;獵戶座則把生命維持、導航、通訊、推進等所有安全關鍵功能交給軟體。為了在離地球 40 萬公里的真空與強輻射中「零停機」,NASA 採用「失效靜默」設計:兩台航管電腦各含兩個飛控模組(FCM),每個模組又是一對自檢處理器,共 8 顆 CPU 同步運算。當宇宙線導致位元翻轉或計算錯誤,故障 CPU 立即自我隔離,系統依優先序挑選健康通道輸出,可在 22 秒內失去 3 組 FCM 仍安全運行。為避免多機同步漂移,NASA 採用時間觸發乙太網與 ARINC653 排程,把所有輸入、計算、輸出鎖在微秒級「時間格」內;記憶體與通訊通道皆三模冗餘並即時自校。即使四台 FCM 全遭共因故障,獨立開發的備份飛控軟體(BFS)可在不同硬體上立即接管,確保任務進入安全停泊位後再由太空人嘗試修復。整套系統通過超大規模故障注入與蒙地卡羅模擬驗證,展現未來自駕車、電網亦可借鏡的「永不當機」設計典範。


3. 觀點(Viewpoints)

  • 深空電腦必須「不怕錯、只錯一次」
    錯誤偵測後立即靜默,避免錯誤指令放大成災難。
  • 八重冗餘並非浪費,而是距離換來的必要
    離地球 40 萬公里無維修,冗餘度直接等同太空人生命。
  • 時間觸發架構是「同步靈魂」
    所有節點共享奈秒級全局時脈,杜絕現代敏捷開發累積的時序債。
  • 備份系統刻意「完全不同」
    不同硬體、不同作業系統、不同團隊開發,把共因故障機率壓到最低。
  • 靜默失效仍需主動監控
    若無看門狗與跨層錯誤關聯,靜默組件可能掩蓋系統級缺陷。
  • 從太空到地面:零容錯架構將外溢至自駕與電網
    當商業世界要求 24×7 永不當機,獵戶座的設計思維可望成為新常態。

4. 摘要(Abstract)

✅ 八顆 CPU 同步運算,單顆出錯立即靜默,系統照常飛行
⚠️ 宇宙線位元翻轉每秒都可能發生,NASA 用三模冗餘記憶體即時自校
📌 22 秒內可失去 3 組飛控模組,仍靠最後 1 組安全返航
✅ 時間觸發乙太網把「遲到」視為故障,逾期任務直接重啟
⚠️ 備份飛控軟體跑在不同硬體,確保與主系統「不會一起錯」
📌 全船斷電後先穩定姿態、對日充電,再慢慢爬回通訊範圍
✅ 超大規模故障注入模擬,驗證軟體能在任何單點失效下存活


5. 問題測驗(FAQ)

Q1 阿提米絲二號的「失效靜默」設計主要指什麼?
A. CPU 故障時繼續輸出錯誤值供投票
B. CPU 故障時立即自我隔離,不送出任何資料
C. CPU 故障時自動重開機並繼續輸出
D. CPU 故障時由太空人手動拔除電源

正確答案:B
解釋:系統偵測到錯誤即讓故障 CPU 靜默,避免錯誤指令影響飛行。


Q2 為何 NASA 使用「時間觸發」而非「事件觸發」網路?
A. 時間觸發可讓多機在微秒級同步,避免漂移
B. 事件觸發在太空較省電
C. 時間觸發需要較少記憶體
D. 事件觸發無法處理宇宙線

正確答案:A
解釋:時間觸發提供全局時脈,保證所有 FCM 在同一時間格內收發資料,杜絕時序差異。


Q3 當四組主飛控模組全部失效時,獵戶座如何應對?
A. 立即返回地球大氣層
B. 啟用完全不同硬體與軟體的 Backup Flight Software
C. 由太空人改用手持計算機導航
D. 等待地面工程師遠端修復

正確答案:B
解釋:BFS 運行於獨立硬體與作業系統,可自動接管並完成任務關鍵階段。


https://cacm.acm.org/news/how-nasa-built-artemis-iis-fault-tolerant-computer/

Summarized by 小濃縮David888.com