APP下载

SRIO交换系统冗余备份机制的研究

2018-11-01

航天控制 2018年5期
关键词:系统可靠性板卡备份

包 冲

中国科学院大学(北京国科环宇空间技术有限公司),北京100049

在航天领域,随着各类数据载荷(如光学相机、雷达等)性能的不断提升,可能会要求后端数据处理设备有非常高的数据传输、交换和处理能力[1]。SRIO(即Serial RapidIO,它是面向嵌入式系统开发提出的新一代高速互联技术,已于2004年被国际标准化组织(ISO)和国际电工协会(IEC)批准为ISO/IECDIS 18372标准)总线具有传输带宽高、协议精简,操作灵活等特点[2],当前主流的高性能数据处理器件,如DSP、FPGA、PowerPC等,很多都集成了SRIO总线控制器[3],因此SRIO成为载荷数据处理设备的首选总线。

在航天设备中应用SRIO总线,可靠性是必须考虑的因素,而冗余备份是提高可靠性的最有效手段之一[4]。作为一种基于交换的高速数据串行传输总线,SRIO协议本身并没有针对其交换系统的冗余备份机制提出建议。本文基于实际应用情况,对SRIO交换系统的冗余备份机制进行了研究,提出了几种方案,并进行了可靠性的计算、分析和比较。

1 背景概述

1.1 SRIO交换芯片

交换系统的冗余备份机制的设计都要围绕交换芯片来完成。因此,SRIO交换芯片是SRIO交换系统中的关键部件。

目前市场上使用的SRIO交换芯片以IDT公司的产品为主,国内相关研究很少[5]。IDT公司的CPS1848是常用的交换芯片之一,它支持 SRIO 2.1标准,具有48个通道,支持18个端口,可以灵活配置端口模式和速率。

在应用中,当单个交换芯片不能满足系统对端口数量的要求时,一般会使用多个交换芯片进行级联,组成一个交换单元来扩充交换端口。

1.2 常用的冗余备份机制

在高可靠应用系统中,常见的备份机制,按规模可以分为整机备份、模块(单板)备份和电路组合(芯片)备份;按冗余度又可以分为双(机/板/电路)备份或多(机/板/电路)备份;按工作状态(上电与否),又可以分为冷备和热备。

本文主要聚焦于冗余备份机制的拓扑结构研究,关于具体实现时,与电路相关的细节问题不再详细讨论。

2 SRIO交换系统模型

2.1 系统组成

SRIO交换系统一般包括通信节点、主控节点、通信通道和交换单元等4类部件。部件的形态可能是一块板卡或者一个芯片及其外围电路。

2.1.1 通信节点

每个通信节点在SRIO系统中具有唯一的ID,通过通信通道与交换单元连接。每个通信节点都集成有SRIO控制器,挂接在DSP、PowerPC等处理器上或者在FPGA中用IP核[6]实现。通信节点一般都是高集成度、高主频的电路,同时软件复杂度也非常高,其可靠性设计的压力较大。

2.1.2 主控节点

在可扩展的SRIO总线系统中,需要有一个通信节点在整个系统启动之初,对整个系统进行扫描,发现系统中存在的所有通信节点和交换芯片,然后为通信节点分配ID,并对交换芯片进行路由配置,这个通信节点称为主控节点。

在可靠性要求较高,且具有确定性的SRIO系统中,系统内所有通信节点的ID和交换芯片的路由配置在设计过程中固定下来。系统上电后,交换芯片主动或被动地加载路由信息,不需要扫描的过程。在这种情况下,系统中可以不存在主控节点。

2.1.3 交换单元

交换单元可以是单个交换芯片或者是由多个交换芯片组成的交换网络,本文将交换单元作为一个整体来研究。

图1 CPS1848结构图

参见图1中CPS1848的结构[7],由于共用资源太多,交换芯片仅仅出现某个端口故障的概率非常小,可以认为交换芯片的故障就是整个芯片的故障。

2.1.4 通信通道

每个通信节点到交换单元之间的物理传输通道称为通信通道。

通信通道的组成一般为PCB走线和连接器等。当SRIO总线在设备间连接时,还可能是连接器+线缆或者光模块+光纤。除光纤传输外,由于通信通道的大部分构成都是无源的,出现故障的概率很小。

2.2 简化的系统模型

为了简化分析,对SRIO交换系统中的部件进行进一步的归类。首先,设定系统使用静态路由方式,不存在主控节点;其次,通信通道出现故障的概率很小,不再单独作为研究要素。

设定一个系统模型如下:

1)组成:包含6类通信节点,每类通信节点都包括1个主份和1个备份。1个交换单元具有12个端口;

2)判定模型系统正常工作的条件,设定为组成系统的部件均正常工作;

3)设定每类通信节点的可靠性概率均为P(e),并设定P(e)=0.95,其主份和备份的可靠性概率分别表示为P(eA)和P(eB),且有P(eA)=P(eB)=P(e);

4)同理,每个交换单元的可靠性概率均为P(s),其主份和备份的可靠性概率分别表示为P(sA)和P(sB),且有P(sA)=P(sB)=P(s)。

本文的研究重点是不同冗余备份机制的拓扑结构,以及交换单元的可靠性与系统可靠性之间的函数关系,即P(system)=f(P(s)),并进而进行分析和对比。

3 冗余备份机制的设计与讨论

3.1 双机备份

3.1.1 拓扑结构

双机备份是最常见的备份方式,所有主份部件构成主机(A机),所有备份部件构成备机(B机),如图2所示。主机和备机之间相互独立。

图2 双机备份的拓扑结构

当主机出现故障时,可以由更高一级的控制机制将工作任务整体迁移到另外备机上运行。

3.1.2 可靠性计算

在这种拓扑结构中,每台单机的所有部件为串联方式。从而得到主机的可靠性概率为:

P(systemA)=(P(sA)×(P(eA))6

(1)

且有P(systemB)=P(systemA)。

主机和备机在整个系统中为并联方式,所以系统的可靠性概率为:

P(system1)=1-(1-(P(systemA))×
(1-P(systemB))

(2)

当P(e)=0.95时,由式(1)和式(2)可得到P(system1)关于P(s)的函数为:

P(system1)=1.4702P(s)-0.5404(P(s))2

(3)

3.2 交叉备份

3.2.1 拓扑结构

当系统中的部件数量不多时,可以将所有主/备份部件都分配在同一台单机中。同时,将图2中的主/备份交换单元的各自6个没有使用的端口进行互联,得到如图3所示的拓扑结构。

图3 交叉备份的拓扑结构

这个交换系统中,在交换单元正常的情况下,当某个通信节点发生故障时,仅需要切换该节点的备份节点来代替故障节点,就可以使系统恢复正常工作,从而形成交叉备份,提高了系统的可靠性。

3.2.2 可靠性计算

在图3所示的拓扑结构中,以交换单元故障与否的条件概率为基础,分3种情况计算系统的可靠性概率,详见表1。

表1 交换单元的故障情况分类

可知:

P(sA∩sB)=P(sA)×P(sB)

(4)

(5)

(6)

(7)

a)情况下,每类通信节点的主份和备份都可以互为备份,为并联关系,因此,每类通信节点的可靠性概率为:

P(eA∩eB)=1-(1-P(eA))×(1-P(eB))

(8)

在a)情况下,系统可靠性的条件概率为:

P(system|sA∩sB)=(P(eA∪eB))6

(9)

b)情况下,交换单元的主份和备份之一发生故障,则与故障交换单元相联的所有通信节点都将无法正常工作,这时,系统可靠性的条件概率分别为:

(10)

(11)

c)情况下,2个交换单元均发生故障,系统无法正常工作,这时系统可靠性的概率为0。

根据贝叶斯公式[8],可得到交叉备份情况下,系统的可靠性为:

(12)

由式(4)~(12)可知,当P(e)=0.95时,得到P(system2)关于P(s)的函数为:

P(system2)=1.4702P(s)-0.4851(P(s))2

(13)

可见,与双机备份机制相比,交叉备份机制由于充分利用了系统中的每个部件,其可靠性有了一定程度的提高。下面将以此为基础,尝试增强交换网络,来观察系统可靠性的变化情况。

3.3 全交换备份

3.3.1 拓扑结构

吕鹏[9]提出了一种SRIO总线的全交换路由设计方案。在这个方案中,交换单元分布在每个通信节点上。具体实现的拓扑结构参见图4。

图4 全交换备份的拓扑结构

图中每个通信节点与1个交换单元构成一个组合(后文均简称组合),交换单元的1个端口用于组合内互联,其它的11个端口用于组合之间的互联。所有组合之间均实现了点对点互联。这样,同类通信节点组合的主、备组合之间构成交叉备份。

理论上,这种拓扑结构可以保证任意2个通信节点之间通信是“无阻塞”的。其代价是大量交换芯片的使用以及功耗和系统复杂度的提升。

3.3.2 可靠性计算

图4中每个通信节点和与其相联的交换单元是串联关系,串联后的组合的可靠性概率为:

P(eA∩s)=P(eB∩s)=P(e)×P(s)

(14)

每类组合的主份和备份之间是并联关系,其可靠性概率为:

P[(eA∩s)∪(eB∩s)]=
1-(1-P(eA∩s))×(1-P(eB∩s))

(15)

每类通信节点组合之间都是串联关系,因此整个系统的可靠性概率为:

P(system3)=(P[(eA∩s)∪(eB∩s)])6

(16)

根据式(14)~(16),当P(e)=0.95时,得到P(system3)关于P(s)的函数为:

P(system3)=[1.9P(s)-0.9025(P(s))2]6

(17)

3.4 三种冗余备份机制的对比分析

图5中描绘了对应3种冗余备份拓扑结构的系统可靠性概率P(system)关于交换单元可靠性概率P(s)的函数。

可以观察到,在本文设定的系统模型的前提下,方案2效果最佳。其它2种方案在P(s)为0.9左右时,其系统可靠性概率的曲线出现交叉。

相比于方案2,从P(s)>0.5开始,方案1的系统可靠性开始变差,这是因为,在保证交换单元有较高可靠性的前提下,方案2比方案1更好地利用了通信节点的主、备份资源,实现了交叉备份。

当P(s)<0.9时,方案3的可靠性随着P(s)的减小开始剧烈变差。这是由于方案3中使用了大量的交换芯片,交换单元可靠性的下降,必然拖累系统的可靠性以指数规律下降。而当P(s)>0.9时,方案3的系统可靠性开始提升,明显高于方案1,这也是因为方案3实现了通信节点的交叉备份。

图5 三种冗余备份拓扑结构的可靠性概率比较

由此,关于SRIO交换系统的冗余备份机制的设计,可以得出以下规律:

1)交换单元的可靠性是设计中重要的考虑依据,它的高低会直接影响到对冗余备份拓扑结构的选择;

2)应该尽量利用SRIO总线的交换特点,实现通信节点间的交叉备份,有助于提高系统的可靠性。

这里需要说明的是:SRIO冗余备份机制的设计是一个系统性问题,除了本文的研究内容外,还要综合考虑成本、功耗、面积和实现难度等多方面因素。

4 实现与验证情况

4.1 实际设备概况

关于SRIO冗余备份机制的研究已经应用于1台信号处理设备的设计中。这台设备将用在运行于中低轨道的航天器中,实现对光学相机输出的图像数据进行压缩编码、存储管理和数据下行等功能。原始图像数据有效速率高达14Gbps。设备采用6U VPX架构,以4x的SRIO总线作为数据平面总线。设备包括主控板、电源板、SRIO交换板、存储板(2块)、数据处理板、接口板(2块)等板卡,每类板卡都有主、备份两块板卡。该设备为二级设备,有航天器平台计算机作为上位机,对其进行管理控制。

4.2 具体实现

根据对这台设备的技术要求,分别使用文中提出的3种冗余备份机制进行设计,并预计可靠性,计算结果如表2所示。其中,通过对交换芯片CPS1848进行筛选和加固,预计其可靠性为0.96。

表2 系统可靠性预计

注1:所统计的SRIO节点数量,包含主份和备份;注2:除每个SRIO节点对应1块板卡外,另有电源板1块,背板1块,交换板1块(方案3不需要独立的交换板)

根据表2的计算结果,选定了系统可靠性预计值更高的交叉备份方案应用于当前设备。除冗余备份的拓扑结构外,系统的故障检测和切换机制对系统可靠性也有非常大的影响,因此,有必要在下文进行简要的描述。

设备采用VPX标准的IPMB总线[10]以实现更高级别的状态监控和管理(器件等级更高)。每个板卡上的IPMC会监控该板卡的电压、电流、温度和心跳等状态,同时控制该板卡的加断电,实现交叉备份的切换。SRIO交换系统使用静态路由,由IPMC通过IIC接口对交换芯片进行路由配置[11]。

主控板和电源板的主备切换由平台计算机控制。系统启动后,主控板通过2种方式监控其它板卡的状态:1)除正常的SRIO通信外,主控板定期发送消息给其它所有的在线板卡,监控SRIO总线上各个板卡的状态;2)通过IPMB总线收集其它板卡的状态。主控板将这些遥测信息上报平台控制计算机。地面人员可以根据这些遥测信息判断板卡状态,并通过主控板以及IPMB总线系统对出现故障的板卡进行主备切换,同时由交换板上的IPMC重新配置交换芯片的路由路径。

目前设备已经完成原理样机的研制,进入鉴定件设计阶段。在联调过程中,通过故障注入和模拟,对所选用的交叉备份方案进行了充分测试,证明了该方案的合理性和有效性。

5 结论

提出了关于SRIO交换系统的3种冗余备份机制,进行了可靠性计算和对比分析,得出了冗余备份设计的一些原则。并以一台数据处理设备的研制过程为例,证明了交叉备份机制的合理性和有效性,从而说明其对提高系统可靠性具有较大的帮助作用。

猜你喜欢

系统可靠性板卡备份
“备份”25年:邓清明圆梦
创建vSphere 备份任务
试析提高配网系统可靠性的技术措施
电气化铁路牵引系统可靠性分析
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
旧瓶装新酒天宫二号从备份变实验室
基于故障树模型的光伏跟踪系统可靠性分析
一种基于光纤数据传输的多板卡软件程序烧写技术
基于系统可靠性的工程质量量化研究