首页 理论教育 冗余和刷新的处理方式

冗余和刷新的处理方式

时间:2023-06-25 理论教育 版权反馈
【摘要】:系统冗余措施对减缓单粒子效应的影响具有一定作用,国内外在星载计算机系统设计上就广泛采用系统冗余设计。这种三模冗余计算机实现了故障情况的连续工作能力,同时解决了三机同步、故障屏蔽、自动退出等技术难题,满足了可靠性、安全性的要求。从最优可靠性的角度出发,也就是如何使式在满足pi<1和式(6

冗余和刷新的处理方式

从一般角度来说,冗余技术主要通过增加关键及重要的部分,来确保系统能更可靠持续地正常运行。在电子系统设计中,为了保证其工作的可靠性,采用的主要设计技术之一就是系统冗余设计,系统冗余就是使两个以上同样的系统工作在相同数据条件下,如果系统数据不一致,系统重启。另外,在系统的某个关键部位都采用两个以上的模块,避免出现单一的故障发生点,否则该处如果发生故障将会导致整个系统崩溃。比如采用多个CPU、多种通信方式,同时对数据进行备份以免发生数据丢失等。这样即使某一个节点发生故障,系统只是降低了鲁棒性,但仍然可以正常工作。对航天器电子系统或设备来说,针对单粒子效应防护的冗余技术常分为软件冗余和硬件冗余两个主要方面,硬件又采用热备份或冷备份的办法以达到所需的信息协同和主备转换等工作;软件则用程序对系统必须实现的功能进行完成。

冗余技术的另一个特点是当系统无故障时取消这些冗余措施不会影响系统正常运行。冗余技术就是为克服其他单粒子效应防护设计无法解决高可靠要求的困难而发展起来的,其设计思想是允许单粒子效应诱发故障存在,并能自动地消除其对电子设备和系统的影响。应用冗余技术对电子设备和系统进行冗余设计,固然是提高系统和设备可靠性的一种有效措施,特别是对于控制和导航电子设备和系统,用其他方法难以达到可靠性指标要求时,冗余设计往往能够达到目的。但是,冗余设计要求增加设备的体积、重量、功耗和费用,增大程序的规模,增加资源的消耗,因此,冗余技术也不是普遍采用的,只能有选择地用于失效后果非常严重的航天器电子设备和系统中。冗余技术在系统设计中要实现的功能主要有以下几个方面:系统的核对,统一性检查;系统的切换功能;运行模式的变更;热备传送功能;在线程序写入的冗余跟踪功能;从工作向备份系统的信息进行存储、拷贝;在线主备切换等。

冗余设计具体包含下面几个技术点:

第一,信息同步技术。信息同步是运行和备份之间完成无扰(Bumpless)切换的必备条件,要按系统需求实现快速、有用的数据沟通,保证设备运行控制能够同步地工作,就可使冗余系统的无扰切换得以完成。

第二,故障检测技术。为确保在发生异常时能快速地将备份设备转变为运行状态中,就需要有高度精准的在线故障的检测手段。保证能察觉故障、锁定、隔离并对故障进行保修及报警处理。故障检测有电源、处理器、数据总线及输入/输出状态等不同的方面,均可分为自检和互检。

第三,故障仲裁和切换技术。快速准确地察觉系统异常后,还要精准定位失效的部分,并且了解其程度是否严重,对运行及备份部件状态判断比较、进行仲裁,用以确定要不要把正在运行的部件与备份实现状态的互换。控制权的转变,还要尽可能及时、完好以及无扰。这里的及时,要求为ms级、μm级以上的动作时间,这样一来,可保障因部分失效而给控制对象带来失控等现象的情况尽量不发生。除此之外,还要对失效位置如地址等进行上报,让与系统相关联的其他电子设备或航天员等知晓关于本次系统故障的具体细节,方便分析,方便快速地得到维修及更换。

第四,热插拔技术。为了保障高的可靠性,就要使MTBR尽可能地短,让设备能达到在线养护、维修和更换的地步,这一点也十分有必要。热插拔技术能在不中断控制任务的前提下增多或替换系统的部件,让系统不受影响地工作。

第五,故障隔离技术。设计时一定还需考虑到设备之间故障要尽可能是相互独立的,即此设备发生失效对彼设备也会发生异常影响的概率尽量小(0.01%),大致近似为故障是彼此隔离的,以确保部件故障之间不受影响,使设计的冗余手段有效。

系统冗余措施对减缓单粒子效应的影响具有一定作用,国内外在星载计算机系统设计上就广泛采用系统冗余设计。举例来说,在20世纪90年代初,在中巴地球资源卫星上应用的星载计算机就采用了双机冷备份的冗余设计,用于完成姿轨控和信息管理等关键任务,计算机系统采用8086处理器作为主控制芯片,通过冗余设计,确保在正常当班工作系统出现故障时,可启用备份机工作。又如,在载人航天任务中,为适应载人飞船对主控计算机高安全性、不可间断的特性要求,采用了三模冗余的容错计算机实现方式。该计算机由3个独立的、功能完全相同的计算单元组成,常态为3个计算单元同时工作,3个计算单元运行完全一样的程序,通过互连的通信措施在软件的控制下实现3取2的表决。3取2的表决策略保证了任意一个计算单元故障,不影响三机系统的正常工作,适合在关键任务阶段采用;而当执行非关键任务情况下或某一计算单元故障时,系统降级为3备1冷备份系统或2备1冷备份系统,以更好地节约能源。这种三模冗余计算机实现了故障情况的连续工作能力,同时解决了三机同步、故障屏蔽、自动退出等技术难题,满足了可靠性、安全性的要求。

冗余技术中最普遍的问题是电子系统在各种不同类型的辐射情况下,以最小的成本来分配冗余设计,下面具体讨论这个方面的内容。考虑在给定的维护周期内,一台冗余设计的计算机以最低的成本达到可靠性要求。假设冗余是以备用芯片和EDAC系统的形式给出,也就是在使用备用芯片时,EDAC系统将从一个出现SEU的芯片切换到另一个芯片。从可靠性基础理论可知,没有冗余设计的计算机可靠性由下式定义:

式中,pi表示第i个芯片的可靠性。那么,芯片冗余分配的成本是:

式中,ki是将芯片生存概率转换为芯片成本的系数。因为pi<1,从式(6.2-13)中可以看出每个芯片的可靠性必定大于R。对于与(冗余)备用芯片并行以实现整体可靠性增强(Rc)的第i个芯片,需要的冗余芯片的数量可通过Rc得到。

例如,假设空间飞行的Tm个周期内,计算机可靠性目标要设定为:

式中,λcomp是计算机的平均错误率。所有芯片具有相同的pi=0.960,从式(6.2-16)可得到每个芯片的冗余数为:

可以看出,对于具有1 000个芯片的计算机,大约需要963个冗余芯片才能得到给定的可靠性Rc

从最优可靠性的角度出发,也就是如何使式(6.2-13)在满足pi<1和式(6.2-14)给定成本的要求下得到R最大,其结果为:

也就是,每个芯片分配了数量为C/n的相等成本。因此,必须明确所用的芯片数量,以便将其限制在kipi=C/n内。

关于冗余如何增加可靠性的常见例证之一是与错误检测和校正(EDAC)有关的存储器容错。例如,EDAC可用于缓解航天器计算机系统中存储器的单粒子翻转造成的危害性。我们知道,EDAC常用于解决每个存储字(Word)的单比特位错误纠正和双比特位错误检测(SEC-DED),这是由于每个存储字出现单个错误的概率比出现多个错误的概率相对要高,而且EDAC很容易通过相应的硬件和软件实现。

飞行时间tf可用刷新间隔ts计算。在整个飞行周期内,每个存储字的刷新间隔次数为Ns=tf/ts,刷新间隔是指存储阵列中单个字两次刷新的时间间隔,因此,在每个刷新间隔内,存储阵列的每个字都被刷新一次。利用汉明码SEC-DED刷新一个字包括周期(刷新间隔)巡检、单个错误的检测和纠正的过程。由于假设多位翻转发生的概率很低,因此将其忽略,实际刷新时间仅仅是刷新间隔周期的一小部分。但是,从存储阵列作为一个整体的角度出发,在飞行时间内,存储阵列的每个字将在刷新间隔内都会被刷新。

另一个故障冗余的方法是存储器的奇偶校验法,它的简单性和高处理速度是其主要的特性,它处理每个字需要的冗余位要比汉明码少。奇偶校验法的缺点是它不能检测到某些周期性的错误,例如在一个字中所有的偶数位发生错误,而且它在任何情况下都不能纠正错误。

假如一个存储阵列有w个字,每个字是n比特位,由连续的1和0构成。其中前k位包含具体信息,后n-k位是用于EDAC的,称作奇偶校验位。存储阵列中的每个字在其位0错误的情况下,或者在其内部检测到并纠正了单个位错误的情况下,都被视为正确的。如前所述,多比特位错误是被忽略的。虽然可以使用复杂的译码方案来处理多位错误,但就其存储空间和软件而言,这些方案都很烦琐,而且成本很高。

如果每个比特位发生0个错误的概率为p,则q=1-p是每个比特位发生一个或者多个错误的概率,那么具有n个比特位的字发生0个错误的概率为pn。对于这样的一个存储字出现一个错误的情形,其相应概率为npn-1q。这是根据二项概率分布得到的,它的一个性质是:

这样,在每个刷新间隔周期内,无论SEC-DED过程是否应用0或1位错误近似检测方法,从存储器中正确得到每个字的概率是pn+npn-1q。假设发生错误是随机的,当存储器仅仅发生了SEU错误但没有进行擦除操作时可靠性R或者正确读取存储阵列w个字的概率为:(www.xing528.com)

对于平均错误率λs,即SEU/(bit·day),一个比特位在一段时间t内只遭受SEU时,其值是正确的概率为:

将式(6.2-21)代入式(6.2-20),将得到在飞行时间tf内相应的无擦除操作存储器的可靠性为:

可以看出,当飞行时间无限大时,Rns将趋近于0,这时SEU错误将淹没存储器的EDAC系统。

在上面的例子中,如果有刷新操作(刷新间隔周期为ts),总的刷新间隔数为wNs,则具有刷新操作且有SEC-DED的存储器,一个比特位在一段时间t内只遭受SEU时,其值是正确的概率为p=exp(-λst)时,相应的可靠性为:

式中,SEU错误率sλ是随机的,且一次刷新间隔到下次刷新间隔内是不相关的。需注意的是,如果ts=tf,即一次飞行中进行一次刷新,那么Rs=Rns,这相当于一次飞行中没有进行刷新,这是因为考虑到其他诸如存储器访问时间、计算机运行频率等时间参数时,必须保持ts远远小于tf的快速敏感刷新操作。

如果存储器既不刷新,也没有SEC-DED方法,则上述式(6.2-22)可简化为:

图6-15给出了机载计算机的4 000 K×32 bit存储器与SEU错误率λs的关系。图中所示为6 h的飞行时间,刷新间隔ts为10 s;图中曲线分别对应:①具有刷新操作的SEC-DED方法的可靠性Rs;②没有刷新操作的SEC-DED方法的可靠性Rns;③既没有SEC-DED也没有刷新操作的可靠性R0

图6-15 4 000 K×32 bit存储器飞行6 h的可靠性

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈