2. 空间辐射效应与内存错误

星载FPGA在轨运行时,其内部存储资源——配置存储器(CRAM)、块RAM(BRAM)、触发器(FF)以及外部挂载的SRAM/DRAM——都持续暴露在空间辐射环境中。要设计有效的ECC与数据保护方案,首先必须理解辐射究竟以什么方式、在什么位置、以多大概率破坏数据。本节从物理机制出发,逐层建立“辐射效应—错误形态—错误率—保护需求”的对应关系。

一、单粒子翻转(SEU):最基础的可恢复错误

高能质子或重离子穿过FPGA硅片时,会在其路径上电离出电子—空穴对。若电荷收集量超过存储单元临界电荷Qcrit,双稳态节点就会翻转。对SRAM型存储单元,这表现为一个比特从0变1或从1变0,即单粒子翻转(Single Event Upset, SEU)。

SEU的关键特征是:非破坏性、可恢复、空间上通常局限于单个存储单元。它不会烧毁器件,掉电重写或纠错写回即可恢复。但SEU发生在不同资源上,后果差异极大:

  • CRAM SEU:改变FPGA内部布线或LUT配置,可能使功能电路瞬间变成另一套逻辑,属于“功能性中断”,必须靠配置刷新或三模冗余(TMR)缓解。
  • BRAM/FF SEU:改变用户数据或状态机编码,可由ECC纠正或状态机安全编码防护。
  • 外部SRAM/DRAM SEU:改变存储的数据字,是EDAC(纠错检错)最典型的应用对象。

二、多位翻转(MBU)与单粒子多位翻转(SMU)

随着工艺尺寸缩小,一个粒子径迹可能同时影响相邻多个存储单元,产生多位翻转(Multiple Bit Upset, MBU)。若这些位落在同一个ECC码字内,传统的单错纠正(SEC)能力将被击穿。工程上必须区分两种情形:

  • 同一字内多位翻转:直接威胁SEC码字,需要SEC-DED或纠两位错(DEC)能力。
  • 跨字多位翻转:落在不同码字中,各自仍可被SEC纠正,但会同时占用多个纠错周期。

因此,ECC方案设计时必须考虑物理位交错(bit interleaving):把同一码字的各位在物理布局上打散,使一个粒子径迹难以同时命中同一码字的多个位。这是抗MBU最有效、成本最低的手段之一。

三、总剂量效应(TDE):累积性、不可恢复的退化

与SEU的瞬时性不同,总剂量效应(Total Dose Effect, TDE)是电离辐射能量在氧化层中长期累积的结果。它表现为阈值电压漂移、漏电流增大、载流子迁移率下降,最终导致器件参数超出规格甚至功能失效。

TDE的关键特征:累积性、不可恢复、与时间积分相关。它不会像SEU那样被ECC纠正,只能通过工艺加固、屏蔽设计和寿命预算来管理。对内存而言,TDE会表现为:

  • 存储单元保持时间缩短,刷新周期需缩短;
  • 读出放大器裕度下降,误码率随累积剂量上升;
  • ECC校验逻辑本身也可能因TDE而失效,需评估其剂量容限。
SEU与TDE必须分开评估:SEU决定纠错与刷新策略,TDE决定器件选型、屏蔽与任务寿命。二者不能互相替代。

四、错误率评估:从截面到在轨翻转率

工程上通常用截面(cross-section, σ)描述器件对粒子的敏感程度,单位为cm²/bit或cm²/device。地面加速器试验测得σ随LET(线性能量转移)的变化曲线,再结合轨道环境模型(如AP8/AE8质子谱、CREME96重离子谱)积分,得到在轨翻转率。

一个常用的简化估算式为:

R = σ × Φ
其中:
R  = 翻转率(upsets/bit/s)
σ  = 饱和截面(cm²/bit),示例取 1e-14
Φ  = 轨道粒子通量(particles/cm²/s),示例取 1e3

R = 1e-14 × 1e3 = 1e-11 upsets/bit/s

若某存储器容量为 1 Mbit,则整器件翻转率约为 1e-11 × 1e6 = 1e-5 upsets/s,即约每 27.8 小时发生一次翻转。这个量级说明:对于长时间在轨任务,不采取ECC保护的存储器几乎必然出现数据错误。

进一步,若采用SEC-DED码,单错可纠、双错可检,则残余不可纠正错误率主要由三错及以上或同一码字内双错造成。设计时需把“不可纠正错误率”压到任务允许的失效率以下,通常要求低于1e-6/天或更低。

五、案例:某星载数据存储单元的ECC需求推导

假设某星载FPGA外挂一片 4 Mbit SRAM,用于存储遥测数据,任务周期5年。地面试验给出:σ_sat = 2e-14 cm²/bit,轨道质子通量 Φ = 5e2 particles/cm²/s。则单比特翻转率:

R_bit = 2e-14 × 5e2 = 1e-11 upsets/bit/s
R_device = 1e-11 × 4e6 = 4e-5 upsets/s
每天翻转次数 = 4e-5 × 86400 ≈ 3.46 次/天
5年累计 ≈ 3.46 × 365 × 5 ≈ 6315 次

若不加保护,5年内将出现约6300次数据错误,遥测数据不可用。若采用SEC-DED(如(72,64)汉明码),单错全部纠正,双错检出并触发重写,则残余不可纠正错误率可下降数个数量级。若再叠加位交错,使同一码字内双错概率进一步降低,即可满足任务要求。

空间辐射效应 → 内存错误形态 → 保护策略映射 空间辐射环境 质子 / 重离子 / 电子 累积电离剂量 单粒子翻转 SEU 瞬时、可恢复、单比特 CRAM / BRAM / FF / SRAM 多位翻转 MBU 相邻多位同时翻转 威胁同一ECC码字 总剂量效应 TDE 累积、不可恢复 阈值漂移 / 漏电增大 错误率评估 R = σ × Φ σ:饱和截面 Φ:轨道粒子通量 → 在轨翻转率 ECC + 位交错 + 刷新 案例:4 Mbit SRAM,σ=2e-14 cm²/bit,Φ=5e2 /cm²/s R_bit = 1e-11 upsets/bit/s → R_device = 4e-5 upsets/s → 约 3.46 次/天 → 5年约 6315 次 SEC-DED + 位交错 → 不可纠正错误率降至任务允许范围

六、从错误形态到保护策略的对应关系

综合以上分析,可以建立如下工程判断逻辑:

辐射效应错误形态是否可恢复主要保护手段
SEU(单比特)单比特翻转可恢复SEC-DED、周期刷新、TMR
MBU(同一码字)多比特翻转可恢复(需更强ECC)位交错、DEC、交织+SEC
TDE参数退化/永久失效不可恢复工艺加固、屏蔽、寿命预算

需要强调的是,错误率评估不是一次性的计算,而是贯穿设计、试验和在轨阶段的迭代过程。地面加速器试验给出σ,轨道模型给出Φ,二者相乘得到预测翻转率;在轨遥测数据再反过来修正模型。对于关键存储区,建议在FPGA内部实现错误计数器,实时统计可纠正错误和不可纠正错误,作为健康监测和任务调度的依据。

设计提示:在评估ECC强度时,不要只看“单错纠正”能力,必须结合物理位交错评估“同一码字内双错”的残余概率。对于高可靠任务,建议把不可纠正错误率目标设为1e-7/天以下,并留出至少一个数量级的裕量。