3. 掉电恢复与状态保持的核心指标

星载计算机的掉电恢复与状态保持,不能只用“能不能恢复”来判断,而必须用一组可度量、可验证、可折中的核心指标来约束设计。恢复时间决定系统多快重新提供服务;状态完整性决定恢复后“记忆”是否可信;数据一致性决定关键数据是否自洽;可用性、可靠性与空间环境约束则决定这套机制在轨长期运行是否站得住。这些指标彼此耦合,往往不能同时最优,工程上真正要做的是明确优先级并给出可验证的边界。

恢复时间:从掉电到可服务的时间预算

恢复时间通常定义为从供电恢复到系统重新进入可服务状态的时间,可细分为硬件复位与自检时间、引导加载时间、状态重建时间、外设与总线重新初始化时间、任务重新调度时间。对星载计算机而言,恢复时间不是单一数字,而是分级的:最小可服务时间(能响应关键遥测与指令)、关键任务恢复时间(姿态控制、数据采集等核心功能可用)、全功能恢复时间(所有任务与外设恢复)。

以一个合理假设的教学示例说明:某星载计算机采用 MRAM 保存关键状态,引导加载约 120 ms,自检约 80 ms,状态重建约 60 ms,外设初始化约 150 ms,任务调度约 40 ms,则最小可服务时间约为 450 ms。若关键状态需从 NAND Flash 读取并校验,读取与 ECC 校验可能增加 300~800 ms,恢复时间显著拉长。因此,恢复时间指标必须与存储介质、校验策略、任务优先级一起定义,不能孤立给出。

状态完整性:恢复后“记忆”是否可信

状态完整性关注的是掉电前保存的状态,在恢复后是否完整、未被破坏、未被错误覆盖。它包含三个层面:保存完整性(掉电瞬间是否来得及写入)、存储完整性(存储期间是否发生位翻转或块损坏)、恢复完整性(读取与重建过程是否引入错误)。

工程上常用“状态检查点”机制:将关键状态按重要性分级,一级状态(如姿态四元数、轨道参数、任务模式字)每次更新即写入非易失存储;二级状态(如统计计数、日志指针)周期性写入;三级状态(如临时缓存)可丢弃。完整性验证通常采用 CRC32 或 SHA-256 校验,配合双副本或三副本存储。若校验失败,系统应能回退到上一有效检查点,而不是直接使用可疑数据。

数据一致性:多副本、多任务与时间戳的约束

数据一致性要求恢复后的状态在逻辑上自洽:同一参数在不同副本中一致,任务间共享数据不出现“半新半旧”,时间戳与序列号单调可信。星载计算机常见的一致性风险包括:写入过程中掉电导致“写一半”;双副本更新顺序不当导致主备不一致;多任务并发访问共享状态时缺少原子保护。

可采用“影子页 + 提交标志”策略:先写影子页,再写提交标志,最后更新索引;恢复时只认提交标志完整的页。对多副本,采用“先写从副本、再写主副本、最后写提交记录”的顺序,确保任一时刻至少有一个完整副本。对共享状态,使用序列号与时间戳,恢复时选择序列号最大且校验通过的有效版本。

可用性、可靠性与空间环境约束

可用性通常用 A = MTBF / (MTBF + MTTR) 衡量。掉电恢复机制直接影响 MTTR:恢复越快、越可靠,可用性越高。可靠性则关注长期反复掉电、单粒子翻转、存储老化下的失效概率。空间环境约束包括:单粒子翻转(SEU)导致存储位翻转、单粒子锁定(SEL)导致电流异常、总剂量效应导致器件参数漂移、温度循环导致焊点与存储单元疲劳。

因此,状态保持设计必须与空间环境防护结合:关键状态采用抗辐射存储或三模冗余;写入路径加入 ECC 与 scrubbing;恢复流程加入看门狗与多次重试;对 SEL 引起的掉电,恢复后需重新初始化受影响的电源域与外设。指标定义时,应明确“在给定空间环境模型与任务剖面下”的恢复时间、完整性与一致性目标,而不是给出脱离环境的理想值。

掉电恢复与状态保持核心指标关系图 掉电 → 恢复 → 可服务 复位/自检/引导/重建/调度 恢复时间 最小可服务 / 关键任务 / 全功能 示例:约 450 ms(MRAM 路径) 状态完整性 保存 / 存储 / 恢复三层面 CRC32 / 双副本 / 检查点 数据一致性 影子页 / 提交标志 / 序列号 主备副本更新顺序 可用性 A = MTBF / (MTBF + MTTR) 恢复越快,MTTR 越小 可靠性 反复掉电 / 老化 / 失效概率 看门狗 / 重试 / 冗余 空间环境约束 SEU / SEL / 总剂量 / 温度 抗辐射存储 / ECC / scrubbing 指标折中关系 恢复时间 ↓ 常需更高写入频率 → 存储磨损 ↑、功耗 ↑;完整性 ↑ 常需多副本 → 存储开销 ↑、恢复时间 ↑ 空间环境越严酷,冗余与校验越强,但恢复时间与资源开销同步上升,需按任务优先级分级设计 状态保持侧 系统运行侧

指标如何落地为可验证的设计约束

把上述指标变成工程约束,关键是给出可测量、可复现的验证条件。恢复时间应在最坏供电跌落、最坏温度、最坏存储状态下测量;状态完整性应通过注入位翻转、模拟写中断、强制复位来验证;数据一致性应通过主备切换、并发访问、掉电时序测试来验证;可用性与可靠性应结合 MTBF 预计与加速寿命试验;空间环境约束应通过辐射试验或故障注入来评估。

一个可参考的指标表如下(示例参数,非实测):

指标 定义 示例目标 验证方法
最小可服务时间 供电恢复到关键遥测可响应 ≤ 500 ms 最坏供电跌落 + 示波器打点
关键任务恢复时间 姿态/采集等核心任务可用 ≤ 2 s 任务级打点 + 日志时间戳
状态完整性 检查点校验通过率 ≥ 99.999% 位翻转注入 + CRC 统计
数据一致性 主备副本一致且序列号单调 100% 一致 掉电时序注入 + 副本比对
可用性 A = MTBF/(MTBF+MTTR) ≥ 0.999 MTBF 预计 + MTTR 实测
空间环境约束 SEU 下状态保持可用 无不可恢复错误 辐射试验 / 故障注入
设计提示:指标优先级应随任务阶段变化。发射段与姿态机动段优先保证恢复时间与一致性;长期巡航段优先保证完整性与可靠性;空间环境恶劣时,冗余与校验优先于恢复时间。
常见误区:只给出“恢复时间小于 1 秒”而不说明测量条件与状态等级;只做单副本校验而不考虑写中断;把可用性目标写成 1 而不留 MTTR 余量。这些都会导致在轨异常时无法定位与恢复。

综上,恢复时间、状态完整性、数据一致性、可用性、可靠性与空间环境约束共同构成星载计算机掉电恢复与状态保持的指标闭环。设计时应先明确任务剖面与空间环境模型,再按优先级分配存储、校验、冗余与恢复策略,最后用可复现的测试方法逐项验证,确保每个指标都有明确的定义、目标值与判断依据。