针对星载FPGA配置数据的高可靠存储设计

2020-08-03 01:50禹霁阳郝维宁汪路元
计算机测量与控制 2020年7期
关键词:扇区存储系统粒子

李 欣,禹霁阳,郝维宁,张 溢,汪路元

(北京空间飞行器总体设计部, 北京 100094)

0 引言

目前,SRAM型FPGA凭借其灵活的可重复编程特性、丰富的逻辑资源以及高效的时序优势等促使航天数据管理系统中普遍采用“CPU+FPGA”的架构来进行数据处理[1]。星载SRAM型FPGA的逻辑功能通过在轨重构加载配置数据来确定。其在轨重构可靠性研究主要分为两部分:(1)针对SRAM型FPGA器件的重构设计,其主要通过重配置、定时刷新等方式实现[4]。(2)配置数据的存储操作,其主要通过选取不同的非易失存储芯片来实现。两部分设计均需要对抗单粒子效应,当前主流研究主要针对第一部分。本文则主要研究讨论第二部分的可靠性提升技术,最大限度地降低空间辐射对星上存储的配置数据的影响。

区别于PROM的不可更改和MRAM的容量有限,当前主流的NOR型FLASH存储器[5-6]容量可以支持多片FPGA配置数据的存放需求,且具有读取速率高,可以反复擦写等优势。NOR型FLASH存储器被广泛应用于运行系统程序以及FPGA配置数据的存储,因此如何有效的实现对NOR型FLASH存储器的抗辐照加固,保证其在空间环境中的功能稳定和数据安全性变得尤为重要。

当前研究趋势主要集中于两个方向:(1)通过增加纠错编码来纠正配置数据中发生的单粒子错误。例如Changpei Han使用EDAC检查的方式对存储于EEPROM中的配置数据进行错误检验和校正[2],该设计采用扩展的汉明校验码实现屏蔽配置数据中SEU的产生,扩展校验码数量少,操作简单。但纠错能力有限,发现两位以上的错误就需要地面辅助进行纠正,每次检验时间伴随配置数据的增加而逐渐增加,只适合存储资源量较小FPGA的配置数据。(2)通过三模冗余存储配置数据,因为三模数据中的两模数据同一比特发生反转的可能性很低,故在读取时进行三取二表决即可实现显著降低单粒子翻转的效果。袁素春等[3]将配置数据通过三模冗余的方是存储于Nor Flash中,控制器读出配置数据时进行三取二表决,将表决后的数据配置到FPGA中。三模冗余可以将大幅度降低单粒子反转的影响,但不能改善星上长时间工作的环境会造成Nor Flash芯片产生总剂量辐射效应(Total Dose Effect,TID)的影响,存在数据正确性隐患。故该方式适用于短期使用的星上设备。伴随着星载设备向智能化集成化发展,星上使用的SRAM型FPGA的器件资源和使用时间逐渐延长,因此三模冗余和纠错码的方式都不能满足当前星载FPGA的配置数据存储的可靠性需求。

针对这一问题,本文中提出“三模+巡检”的复合式存储设计方法,通过三模冗余存储与定期巡检操作相配合,打破EDAC纠错能力有限和三模冗余不能避免TID效应的困局,实现星载FPGA配置数据的高可靠存储。

本文结构如下,第一节主要阐述“三模+巡检”的复合式存储系统结构;第二节介绍复合式存储系统的具体工作流程;第三节结合Markov模型,对“三模+巡检”的复合式存储系统进行可靠性建模。第四节依据可靠性模型,对“三模+巡检”的复合式存储系统在空间应用方面的可靠性进行仿真,通过实验结果分析参数影响并和以往设计进行了比较,表明了本设计的有效性;第五节对全文进行了总结和展望。

1 “三模+巡检”的复合式存储系统结构

在卫星应用中,SRAM型FPGA通过其配套的在轨重构电路来进行上电配置以及在轨重配置等操作。在轨重构系统的稳定性会直接影响配置成功与否,并关系到目标SRAM型FPGA功能的实现[1]。 “三模+巡检”的复合式存储系统结构以传统的星载重构控制电路为基础,可以实现对多个SRAM型FPGA的并行配置和刷新等功能,系统结构如图1所示。

图1 复合式存储系统结构框图

考虑到星上高能粒子密集,低温等特殊环境,系统选取ACTEL公司生产的反熔丝FPGA作为控制芯片,凭借其良好的抗辐射性能,负责配置数据遥控帧处理、SRAM型FPGA的在轨配置和刷新操作以及配置数据在Nor Flash中的“三模+巡检”的复合式存储管理操作等。

选用Nor Flash来存储FPGA的配置数据。在其内部设置3个独立的配置数据存储区,每个存储区内部都对配置数据进行三模冗余存储。每个SRAM型FPGA的配置数据独立存储的模式即支持对多个SRAM型FPGA的分别配置来实现不同功能,也支持对3个SRAM型FPGA并行配置同一个配置数据,从而实现硬件FPGA的三模冗余,有效提高航天系统的可靠性。

由于Nor Flash本身不支持直接覆盖数据,需要擦除后才能写入新的数据,为了支持巡检操作,在Nor Flash中设置一个独立的校正数据存储区,其大小与单模配置数据大小一致,用于存储三取二判决获得的正确数据。

2 “三模+巡检”的复合式存储系统工作流程

“三模+巡检”的复合式存储系统工作分为三模冗余存储与定期数据巡检两部分。

2.1 三模冗余存储工作流程

三模冗余操作的基本原理在于三取二判决。如图2所示。

图2 三取二判决门电路图

其具体方法为三取二比对按位进行,即将取得的三份数据的每一位先两两相或,得到3个数值,然后将以上3个值相与,即为三取二判决后的数据,从而保证数据的正确性。

三模冗余存储操作在通过遥控上注SRAM型FPGA配置数据时进行。地面测控系统将配置数据通过星地链路上传至卫星,卫星数管系统将配置数据传递到Actel FPGA中,Actel FPGA将配置数据存储于Nor Flash中3个不同的偏移地址中。三模数据的存储地址均可以通过外部指令进行设置。

与三模冗余相对应,Actel FPGA在读取配置数据时,应进行三取二判决,如果3个数据均一致,则任意选择一个数据输出;如果3个数据不一致,则进行三取二判决,经过判决后的数据作为配置数据输出到SRAM型FPGA中。

2.2 定期数据巡检工作流程

定期数据巡检工作在卫星不需要存储或者读取配置数据的空闲时间进行,周期时长由指令控制。Actel FPGA对巡检操作进行控制,针对Nor Flash中配置数据三模后的存储区域,以扇区为单位进行遍历读取校验。如果发现三次读取的数据不相同,则证明所在扇区发生SEU错误,首先记录发生错误的配置数据区,然后在整个错误扇区的数据读取遍历结束后,进行错误校正。接着,开启下一个扇区的巡检操作,直到巡检偏移地址递增到SRAM型FPGA配置数据区的最大偏移地址后,巡检操作完毕。错误校正操作步骤如图3所示。

图3 配置数据巡检修复流程

(1)根据发生错误的扇区对应偏移地址,擦除校正数据区中的对应地址的扇区中的数据。(2)通过读取三模数据来获得正确的配置数据,该读取操作涉及整个扇区。从发生错误的扇区的首地址开始,依次读取三模冗余数据,每次读取的3个数据通过三取二表决来获得正确的配置数据并将正确数据存储校正数据区对应偏移地址中。(3)对发生错误扇区进行擦除数据操作。(4)读取校正数据区中步骤2获得的正确数据后写入到发生错误扇区,从而实现针对错误数据的修复工作。

3 “三模+巡检”的复合式存储可靠性模型

系统可靠性是指系统在规定条件下和规定时间完成规定功能的能力[7]。准确建模存储系统可靠性、分析其相关参数对可靠性的影响,并预估其可能的增长趋势,对于确定整个存储系统设计的可靠性至关重要。

在“三模+巡检”的复合式存储设计中,配置数据在轨存储的可靠性可以通过基于Markov模型进行过程分析和可靠度描述。

3.1 Markov状态转移模型

空间单粒子效应类型多样,航天器在轨工作工程中伴随着SRAM型FPGA规模增大,其配制数据文件随之变得更大, 其在Nor Flash中存储的过程中发生单粒子错误的概率也越来越严重。适用于配置数据存储管理系统的单粒子效应在表1中展示。

表1 单粒子效应类型[11]

表1中的单粒子效应中,单粒子烧毁属于永久损伤,不可恢复,称为硬错误。其他单粒子效应都属于非永久损伤,可以通过巡检操作恢复正常状态,称为软错误。

在“三模+巡检”的复合式存储系统中,配置数据的状态即表示系统的可靠性。航天器在轨工作过程中,伴随着单粒子效应造成的数据错误以及巡检操作带来的数据修复,配置数据在系统中冗余存储的三模数据会出现各类状态转移。从而构成该系统可靠性的Markov状态转移模型。如图4所示。

图4 “三模+巡检”的复合式存储Markov状态转移模型

图4中S0~S9等10个状态描述了“三模+巡检”的复合式存储系统中的配置数据在在轨运行中所有可能出现的状态,可以描述为:

1)状态S0:三模数据均未发生错误。

2)状态S1:一模数据发生软错误。

3)状态S2: 一模数据发生硬错误。

4)状态S3:一模数据发生软错误,一模数据硬错误。

5)状态S4:两模数据发生软错误。

6)状态S5: 两模数据发生硬错误。

7)状态S6:两模数据发生软错误,一模数据硬错误。

8)状态S7:两模数据发生硬错误,一模数据软错误。

9)状态S8:三模数据发生软错误。

10)状态S9: 三模数据发生硬错误。

3.2 Markov模型的连续微分方程组

根据状态转移模型,设置在t时刻状态概率矩阵P为:

P(t)=[P0(t),P1(t),...,P9(t)]

(1)

在实际工程中,需要使用可靠度来定量的表示可靠性的高低。由图4可知,处于S0,S1和S2状态下才能通过三取二判决后数据正确,从而保证SRAM型FPGA的配置操作正常,故“三模+巡检”的复合式存储系统设计的可靠度R即为在某一时刻处在S0,S1和S2状态下的概率。可以表示为:

R(t)=P0(t)+P1(t)+P2(t)

(2)

设置每个配置数据存储单元的发生软错误的概率为λ,发生硬错误的概率为η,“三模+巡检”的复合式存储中定时巡检的修复率为μ。根据可靠性分析理论[7],某模块在时刻t正常工作,则在t+Δt时刻发生软错误的概率为:

P(t+Δt)=1-e-λΔt

(3)

经过泰勒级数展开,当Δt趋近于0的时候,发生软错误的概率简化为:

P(t+Δ)=λΔt

(4)

同理,得到软错误通过巡检操作修复成功的概率为:

P(t+Δ)=1-e-μΔt

(5)

当Δt趋近于0的时候可以简化为:

P(t+Δ)=μΔt

(6)

同理,得到在t+Δt时刻发生硬错误的概率为:

P(t+Δ)=1-e-ηΔt

(7)

当Δt趋近于0的时候可以简化为:

P(t+Δ)=ηΔt

(8)

通过图4,公式(4), 公式 (6)和 公式 (8),获得状态转移密度矩阵A。

A=

(9)

“三模+巡检”的复合式存储系统在不同状态时的概率矩阵可由下列方程获得:

P′(t)=AP(t)

(10)

将A和P(t)代入公式(10),当Δt趋近于0的时候,可以得到“三模+巡检”的复合式存储系统Markov模型的连续微分方程组:

(11)

4 “三模+巡检”的复合式存储可靠性分析

4.1 基本假设

首先根据航天器在轨工作情况设置相关参数。设置可靠性观测时间裕度最大到15年.参考Nor Flash辐射测试数据[9],设置软错误概率为λ= 10-5,硬错误概率为η= 10-7。已知单粒子效应风险与配置数据在Nor Flash中的存储空间大小直接相关。Xilinx公司生产的SRAM型FPGA具有丰富的逻辑资源和I/O管脚,因此常被用于星上复杂的数据处理和算法实现。故选择该公司Virtex2系列XQR2V3000型FPGA作为分析的SRAM型FPGA,根据用户手册其配置数据大小约为10 Mbits[8],通过三模冗余方式存储于Nor Flash中的配置数据占用存储空间大小约为30 Mbits。

对于“三模+巡检”的复合式存储系统Markov模型的连续微分方程组,即公式(11),其初始条件,即t= 0时,三模数据均正确,其处于S0的状态。故设置概率矩阵P的初始状态为:

(12)

结合已设置的参数,求解公式(11),即可得到目标时刻的概率矩阵,由于求取微分方程组的解析算法相当复杂,计算工作量庞大,所以采用Matlab中的的解算指令来求解公式(11),进行复合式存储系统的可靠度仿真,从而目标时刻的概率矩阵中处在S0,S1和S2状态下的概率。将3个状态下的概率代入公式(2),即可获得目标时刻的复合式存储系统的可靠度R。

通过不同时刻系统可靠度比较就可以实现对在航天器在轨工作过程中对复合式存储系统的可靠性变化以及相关参数影响的仿真和评估。

4.2 修复率μ对可靠性的影响

复合式存储系统的一大创新在于引入定期巡检机制来提高配置数据存储的修复率μ。修复率μ与巡检周期成反比,因此分别设置巡检周期为5 s, 30 s, 1 min, 5 min, 30 min,来实现修复率的变化。从而通过对配置数据在不同程度的修复率下的可靠度进行仿真,可以得到修复率μ对可靠性的影响。其数值如表2所示。

表2 修复率μ对系统可靠性影响

获得曲线变化如图5所示。

图5 不同巡检周期对可靠度R的影响

由图5可知,初始时刻系统的可靠度最佳为1。 伴随卫星在轨时间增长,不同巡检周期的可靠度均有所下降。随着巡检周期变长,可靠度R下降的速度逐渐增加。根据表2中数值可以得到:在整个卫星在轨生命周期中修复率μ≥ 3.6e-4的可靠度R可以满足大于0.99的可靠性要求。因此,“三模+巡检”的复合式存储系统推荐巡检周期小于等于5 s。

4.3 空间损伤对可靠性的影响

结合4.1节,选取巡检周期为5 s的“三模+巡检”的复合式存储系统,选取不同的空间硬错误出现概率,依次设定在轨工作中,永久性损伤的概率比暂时性损伤的概率小1个、小2个和小3个数量级,“三模+巡检”的复合式存储系统可靠度变化如图6所示。

图6 硬错误概率η对可靠度R的影响

当永久性损伤的概率比暂时性损伤的概率小1个数量级时,复合式存储系统的可靠度相比两个数量级而大幅度下降,不能满足配置数据存储可靠性大于0.99的要求。当前空间环境中,系统发生永久性损伤的概率比发生暂时性损伤的概率要小2个数量级[10],故在卫星在轨全部生命周期内,“三模+巡检”的复合式存储系统为星载FPGA配置数据的存储提供极高的可靠性。

4.4 与普通三模冗余存储系统的可靠性对比

针对在轨实际应用,选取巡检周期为5 s的“三模+巡检”的复合式存储系统与普通三模冗余存储系统的可靠性进行对比,获得可靠度变化如图7所示。

随着时间增加,“三模+巡检”的复合式存储系统的可靠度明显优于普通三模冗余存储系统。

图7 与普通三模冗余存储系统的可靠性对比

5 结束语

为了提高星载SRAM型FPGA在轨重构系统中FPGA配置数据的存储数据正确性,本文提出了一种“三模+巡检”的复合式存储设计方法。在传统配置数据存储系统的基础上实施优化设计方案,并模拟星上设备在轨运行环境影响来建立“三模+巡检”的复合式存储Markov状态转移模型,提炼系统可靠度微分方程组对复合式存储设计方法进行可靠性分析。通过Matlab仿真分析了暂时性错误率、永久性错误率以及修复率等因素对可靠度的影响,证明了复合式存储设计在轨可靠度大于0.99,其可靠性明显优于传统三模冗余的存储方式。

该存储设计目前已经应用于航天器工程设计中,期望通过本文的相关可靠性研究以及工程实践工作,能对随后的面向航天应用的SRAM型FPGA配置数据存储设计提供有益的借鉴参考。

猜你喜欢
扇区存储系统粒子
MBR磁盘转换为GPT磁盘的研究与实现
分层式大数据存储系统缓存调度策略与性能优化
分阶段调整增加扇区通行能力策略
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于Matlab GUI的云粒子图像回放及特征值提取
天河超算存储系统在美创佳绩
面向4K/8K的到来 存储该怎么办?
浅述“4K对齐”及其发展前景
U盘故障排除经验谈
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征