Hasty Briefsbeta

双语

Making My Rust Program Space-Flight Ready

5 hours ago
  • #error correction
  • #Rust programming
  • #radiation hardening
  • 一个名为“hugebool”的Rust crate引入了一种16字节的“布尔安”类型,用于辐射硬化。
  • “布尔安”使用位模式(如交替的0x55和0xAA),通过最接近匹配解码使单比特翻转可检测和可修复。
  • 三重模块冗余通过通用的“Rad”结构实现,用于投票和清理,保护任何“Eq + Copy”类型。
  • 基准测试显示,硬化读取(例如,通过投票和清理)比普通布尔读取慢约12倍,但仍然很快(每秒1.95亿次)。
  • 局限性:保护仅适用于堆分配数据,不适用于寄存器、指令指针或其他系统组件,这与像RAD750这样的专用硬件不同。
  • 该方法利用Rust的类型系统将静默的硬件错误转化为可检测的错误,为关键系统提供了一种经济有效的替代方案。