APP下载

基于SEM的FPGA抗单粒子翻转技术研究及验证

2022-04-25孙逸帆双小川田文波游红俊

原子能科学技术 2022年4期
关键词:中断延时粒子

孙逸帆,白 亮,双小川,田文波,游红俊,*

(1.上海航天电子技术研究所,上海 201109;2.上海航天智能计算技术重点实验室,上海 201109)

随着宇航系统的发展,高速数据处理和传输已成为必不可少的功能要求,由此催生了对高性能处理器件的巨大需求。近几年,高性能SRAM型FPGA凭借其在灵活性和经济性上的明显优势,在宇航高速数据处理载荷中得到了广泛的应用,并且随着载荷平台一体化的发展趋势,也开始逐步应用到平台管理和控制等高可靠系统中。

然而,与传统平台计算机采用的反熔丝FPGA相比,SRAM型FPGA对空间单粒子效应,尤其是单粒子翻转事件较为敏感,需要采取适当的抗单粒子加固措施。通常,SRAM型FPGA内部对单粒子翻转效应较为敏感的资源有配置RAM(CRAM)、块RAM(BRAM)和寄存器这三大类[1-4],其中尤以配置RAM对器件功能影响最大,可以说配置RAM中发生的单粒子翻转事件是这类FPGA发生单粒子功能中断的主要原因,因而也是重点的加固研究对象。

近几年,随着FPGA片内纠错技术的发展,Xilinx公司在旗下的SRAM型FPGA上应用了一种名为软错误修复(SEM)的加固技术[5],大幅提升了配置RAM的单粒子软错误检测和修复效率。但这种片内加固技术本身需要使用一定的逻辑和存储资源,同样也有发生单粒子软错误的风险。本文分析应用SEM加固技术的必要性和存在的问题,提出一套基于SEM的FPGA抗单粒子翻转解决方案,并给出在XC7K410T型FPGA上的试验验证结果,验证加固技术的有效性。

1 SEM加固技术

1.1 SEM加固技术简介

目前,对配置RAM的加固主要通过使用外部器件(通常为反熔丝FPGA)从配置RAM中回读配置位流文件,通过与外部存储中的原始位流文件进行比对,识别发生翻转的配置帧,再将正确的配置帧写回配置RAM中,实现单粒子翻转软错误的修复。这种加固方法被称为外部刷新。近几年来,针对SRAM型FPGA配置RAM的单粒子防护问题,Xilinx公司在旗下的高性能FPGA上设计了专用的片内纠检错电路,从而使得内部刷新加固技术变为可能[6]。配置RAM刷新技术示意图如图1所示。

图1 配置RAM刷新技术示意图Fig.1 Configuration RAM scrubbing architecture

对单粒子翻转软错误的检测和修复,这项被称为SEM的加固技术主要基于在配置帧层面加入32 bit的纠错码(ECC)和在整个位流文件上增加32 bit的循环冗余码(CRC)校验来实现。在片内专用电路的支持下,配置帧ECC可识别单帧内任意2 bit的翻转错误,并纠正任意1 bit的翻转错误。仅使用ECC计算电路时,SEM工作在修复模式。位流文件CRC可进一步增强FPGA的纠检错能力,当CRC与配置帧ECC结合后,SEM工作在增强修复模式,可检测绝大多数的翻转错误,并纠正单帧内任意1 bit或相邻2 bit的翻转错误。SEM同时支持通过外部存储器中读取原始位流文件进行比对的方法来识别和修复配置RAM翻转软错误,即使用替换模式,此时SEM可识别和修复任意的翻转软错误[5]。3种模式需要占用的资源略有不同,检错和纠错所需的时间也有所不同,可根据具体的设计需求进行选择。

1.2 SEM的应用优势

与传统的外部刷新技术相比,SEM最大的优势在于对软错误的纠检错效率。其中检错占用的时间与FPGA配置RAM的大小呈正比,而纠错占用的时间则主要受纠错模式的影响。SEM检错延时列于表1[5]。

表1 SEM检错延时Table 1 SEM maximum device scan time

不同纠错方式下,不同错误情况下的纠错延时列于表2[5]。

表2 SEM纠错延时Table 2 SEM maximum error correction latency

以XC7K410T为例,在修复模式下,识别和修复1 bit翻转错误的平均故障修复延时约为15.2+0.610=15.810 ms。与之相对应,外部刷新通常采用32 bit的SelectMap接口,受限于印制板走线和反熔丝FPGA时序性能,接口速率通常为10 MHz左右。当采用回读刷新时,回读全配置区需要用时303 ms,平均故障检测时间为152 ms,刷新一帧错误的时间约为10 μs,平均故障修复延时为152+0.01=152.01 ms。当采用盲刷新时,虽然没有了故障识别时间,但故障修复时间等同于刷新整个配置区的时间,此时平均故障修复延时为152 ms,且刷新期间FPGA本身处于功能中断,所以刷新的频率不能太高,平均故障延时还会由于刷新频率下降而进一步增大。

平均故障修复延时直接决定了FPGA的软错误故障修复率,在上述例子中,回读刷新的故障修复率为1/152.01 ms≈6.58 s-1,而修复模式下的SEM故障修复率为1/15.810 ms≈63.25 s-1。对于1个基于三模冗余的FPGA设计,在轨的平均故障时间MTTF[6]为:

(1)

其中:μ为软错误故障修复率;α为在轨单粒子翻转率。

由式(1)可看到,在单粒子翻转率保持不变的情况下,提升故障修复率可有效增大平均故障时间,从而降低FPGA的故障(功能中断)率。在上述例子中,采用修复模式SEM加固的FPGA,其平均故障时间约为采用回读刷新的10倍。由此可见,SEM技术在提升FPGA配置RAM的抗单粒子翻转加固效能方面,相比传统的外部刷新技术有着较大的优势。

1.3 SEM存在的问题

SEM技术也存在不足之处。由于SEM IP核自身需要调用FPGA逻辑,包括配置RAM来实现其功能,这意味着其本身也存在发生单粒子翻转软错误的可能。尽管相比FPGA本身的设计,SEM核调用的资源占比非常少,所以其发生单粒子翻转的概率也要低得多,但仍有必要在FPGA外部配备1套监控电路,在SEM自身发生单粒子功能中断时进行故障恢复,这点在可靠性要求较高的系统中尤为重要。SEM核资源占用情况列于表3[5]。

表3 SEM核资源占用情况Table 3 SEM resource utilization condition

2 加固系统设计

针对SEM加固技术的特点和问题,本文提出了一套基于SEM的FPGA抗单粒子翻转解决方案,既能够享受SEM在加固效率和平均故障时间上的优势,又能解决SEM核可能发生单粒子软错误的问题。

2.1 系统硬件设计

系统硬件设计如图2所示,主要由Kintex-7 XC7K410T FPGA[7]、外部监控芯片和SPI FLASH组成。XC7K410T FPGA作为系统功能的主要载体,内部除运行功能逻辑外,还配备了SEM IP核及相关控制逻辑用于对FPGA配置区进行比对和纠错。相关功能和SEM的工作状态通过通用IO输出给监控芯片,由后者进行监控,当发现FPGA发生功能中断,且SEM侦测到无法修正的错误或SEM核本身出现关键故障,监控芯片会对FPGA进行重载恢复。由于SEM核发生故障的概率相对较低,监控芯片并不需要频繁进行重载,FPGA发生的大部分故障可由SEM进行恢复,保证了系统的加固效率。两片SPI FLASH的接口设计确保了系统支持包括替换模式在内的所有SEM模式,可根据系统加固和成本控制要求进行灵活的选择。

图2 系统硬件示意图Fig.2 System block diagram

2.2 片内加固设计

XC7K410T FPGA的片内逻辑设计如图3所示。FPGA的片内功能按照典型的星上数据处理和控制要求进行设计,主体为采用三模冗余设计的Microblaze处理核[8],搭配使用ECC加固的BRAM,实现系统数据管理和运算的需求。数据接口采用了4×的Serial RapidIO(SRIO)高速接口[9],线速率为5 Gbps,可实现20 Gbps的高速数据传输。Microblaze处理核通过AXI片内总线与各接口模块进行数据交互。作为系统加固的重点,片内配备了SEM IP核用于对配置RAM的防护,SEM配置为增强修复模式。处理核、SRIO和SEM的工作状态通过通用IO输出至外部监控芯片。

图3 XC7K410T片内逻辑设计Fig.3 Logic design of XC7K410T

2.3 片外监控设计

片外监控设计如图4所示。监控芯片实现XC7K410T的上电配置、工作过程中的重配置、FLASH的写入和读出、SEM状态信号和串口信息监测、遥测数据解析及状态回传等功能。监控芯片尽量采用资源优化设计,可以在A54SX72A等常用的星上反熔丝FPGA上运行。2块FLASH分别存储XC7K410T的配置bit文件和SEM配置EBC文件。片外监控芯片工作流程如图5所示。

图4 外部监控芯片逻辑设计Fig.4 Logic design of external monitor chip

图5 监控芯片工作流程Fig.5 Monitor chip workflow

3 验证试验

为验证基于SEM的FPGA抗单粒子翻转解决方案,在地面重离子加速器上进行了验证试验,用于评估加固后系统在轨的单粒子功能中断率,从而验证加固技术的有效性。

3.1 试验设计

地面验证选择在北京HI-13串列加速器和兰州重离子加速器(HIRFL)上进行试验。试验选用的离子参数列于表4。

表4 验证试验离子参数Table 4 Ion parameter of validation test

试验前,对XC7K410T进行了衬底减薄处理,剩余衬底厚度约为40 μm。减薄后的芯片通过专用压接工装装配至PCB上,避免了高温焊接对衬底减薄器件的损伤。

3.2 试验结果

试验中分别记录不同粒子下出现300次功能异常时的累积注量。在4种粒子的照射下,受照器件均观察到了功能异常,但所有功能异常均被系统加固措施自主恢复,未发生功能中断。试验结果列于表5。

表5 验证试验结果Table 5 Result of validation test

利用4种粒子下的试验结果对系统功能中断截面进行处理,Weibull拟合后得到拟合曲线如图6所示,Weibull拟合参数列于表6。

表6 Weibull拟合参数Table 6 Weibull fit parameter

3.3 加固效果分析

结合GEO轨道银河宇宙线模型,考虑地磁屏蔽、地球阴影、地磁活动宁静,等效3 mm厚铝屏蔽,利用OMERE软件分别计算得到几种状态下的在轨功能中断率,结果列于表7。

由表7可见,通过应用SEM加固技术,功能中断率下降了94.33%,为2.30×10-4d-1。在应用了SEM加固和监控芯片的完整加固措施后,功能中断率相对加固前下降了99.95%,仅为2.23×10-6d-1,加速器试验的结果验证了加固的有效性。

表7 在轨功能中断评估Table 7 SEFI rate estimation in GEO

故障类型分布如图7所示。从软错误故障的分布来看,SEM自身故障占异常总数的18.25%,这个比例与SEM核使用的资源占比较为接近。这项结果证明绝大多数故障可由SEM核进行恢复,从而确保系统加固仍能享有SEM技术在加固效能上的优势。同时,外部监控芯片负责解决剩余18.25%的故障,保证了修复故障的覆盖性,进一步提升了加固效果。

a——加固前;b——SEM加固后;c——完整加固后图6 功能中断拟合曲线Fig.6 Weibull curve for SEFI

图7 故障类型分布Fig.7 Proportion of different error types

4 结论

本文分析了SEM技术在加固效能上的有效性和存在的问题,提出了一套基于SEM的FPGA抗单粒子翻转解决方案,既能够享受SEM在加固效率和平均故障时间上的优势,又能解决SEM核可能发生单粒子软错误的问题。该加固技术在XC7K410T型FPGA上进行了验证,并通过地面加速器试验验证了加固技术的有效性。

猜你喜欢

中断延时粒子
课后延时服务
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
TMS320F28335外部中断分析与研究
课后延时中如何优化不同年级学生活动效果
多级中断屏蔽技术分析
巧借动态圆突破粒子源遇上有界磁场问题
一种考虑GPS信号中断的导航滤波算法
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
跟踪导练(二)(5)
一种“死时间”少和自动校准容易的Wave Union TDC