容错组合电路设计
摘要
本文提出了一种基于完全自检系统且具有低开销的容错方案。该方案仅包含一个自检模块和一个单模模块(组合电路)。给出了所提方案的可靠性分析。
引言
在现代军事、航天、医疗等计算机系统中,对硬件可靠性的要求日益提高。提高系统可靠性的一种方法是容错。容错系统是指在存在故障的情况下仍能继续正确执行其指定任务的系统。实现容错通常需要增加一种冗余:硬件冗余、软件冗余、信息冗余或时间冗余。
提供容错特性的最常见技术之一是三重模块冗余(TMR)[1]。TMR的基本思想是对电路进行三重复制,并通过多数表决来确定系统的输出。TMR的主要难点在于表决器,如果表决器发生故障,则整个系统都会失效,此外还有较高的面积开销。
文献[2]中提出了一种基于两个自检电路副本和错误掩蔽接口的容错系统。他们使用了两个检测器,以及一个包含触发器的、较为复杂的错误掩蔽接口。
论文[3]提出了一种基于两个自检电路的容错组合电路或时序电路设计。该方案包括两个自检电路、一个自测试检测器,以及比[2]中更简单的错误掩蔽接口。这种可生存方案[4]能够为任何允许的瞬态或间歇性故障保持同步时序(组合)电路的正确行为。
本文提出了一种基于完全自检系统的低容错方案与[2]和[3]中提出的架构进行开销比较。与这些方案不同,我们的方案仅包含一个自检模块,另一个为单模模块(组合电路)。该方案在发生任何允许的瞬态或间歇性故障时,能够实现组合电路的正确行为。文中给出了所提方案的可靠性分析。
本文结构如下。第2节介绍基本定义。第3节描述容错方案。第4节给出所建议方案的容错特性分析。第5节展示了不同方法可靠性的比较。最后,第6节得出结论。
2. 基本定义
设系统F的无故障功能对于输入x表示为F(x, ∅)。令X和Y分别为输入和输出码字的集合。令V为预定义的故障集合。
定义1. 当且仅当对于∀v ∈ V,存在至少一个输入码字使得v被检测到时,F关于V是自测试的。
定义2。 F关于V是容错安全的,当且仅当∀x ∈ X,∀v ∈ V,F(x, v) = F(x, ∅) 或 F(x,v)∉Y。
定义3。 F是码分离的,当且仅当∀x₁ ∈ X,F(x₁, ∅) ∈ Y,且∀x₂ ∉ X,F(x₂, ∅) ∉ Y。
定义4. F是完全自检的(TSC),如果它是自测试且故障安全的。
定义5。 F是一个TSC检测器,如果它是自测试的、容错安全的且码间不相交的。
假设1
1) 故障一次只发生一个;
2) V中的下一个故障只有在前一个故障(无论是瞬态还是间歇性故障)消失后才会出现。
本研究部分得到了俄罗斯科学基金会项目ʋ 14‐19‐00218的支持。参加EWDTS2015的部分费用由“2013‐2020年托木斯克国立大学国际竞争力提升计划”支持。
3. 一种基于自检电路的容错架构
我们建议采用图1所示方案来实现容错系统。
此处TSC_CS1为完全自检电路,建议采用已知技术之一实现,例如带有奇偶校验的完全自检电路[5, 6]或单向错误检测电路[7, 8]。X₁ = (x₁¹, x₁², …, x₁ⁿ) 是TSC_CS1的输入,Y₁ = (y₁¹, y₁², …, y₁ᵐ) 是TSC_CS1的主要输出,Z₁ = (y₁^{m+1}, y₁^{m+2}, …, y₁^{m+s}) 是TSC_CS1的附加输出,用于提供特殊编码。
CS2——实现系统主要功能的组合电路。建议使用任何低成本实现方式。为了提高系统的可靠性,可以对TSC_CS1和CS2采用不同的综合方法(例如,TSC_CS1使用或非门,CS2使用与非门)。这种方案可降低出现相同故障[9]的概率。X₂ = (x₂¹, x₂², …, x₂ⁿ) —— CS2的输入,Y₂ = (y₂¹, y₂², …, y₂ᵐ) —— CS2的主要输出。
TSC_Ch——完全自检的检测器[10‐12]。该自检检测器用于检测TSC_CS1的输出上的错误码字(Y₁, Z₁)= (y₁¹, y₁², …, y₁ᵐ, y₁^{m+1}, …, y₁^{m+s})。该检测器具有两个以双轨形式表示的输出 U = (u₁, u₂),即在无错误时为“01”或“10”,当检测到错误时为“00”和“11”。
多路复用器——一个具有输入u₁, u₂, Y₂, Y₁和1*Y的多路复用器。从分支点2到多路复用器相应输入端的附加线路上实现了双轨码(Y₁, 1*Y)。当(u₁, u₂)取(01)或(10)值时,该多路复用器将TSC_CS1 Y₁ = (y₁¹, y₁², …, y₁ᵐ)的输出连接到容错电路的主要输出Y = (y¹, y², …, yᵐ),以及值 (y₁¹, y₁², …, y₁ᵐ) = (1*y¹, 1*y², …, 1*yᵐ)。否则多路复用器将CS2 (y₂¹, y₂², …, y₂ᵐ)的输出与输出(y¹, y², …, yᵐ)连接起来。描述一条数据线i的多路复用器行为(表1)。
表1. 一个数据线的多路复用器行为 i。
| u₁ | u₂ | y₁ⁱ | 1*yⁱ | y₂ⁱ | yⁱ |
|---|---|---|---|---|---|
| 0 | 1 | 0 | 0 | – | y₂ⁱ |
| 0 | 1 | 1 | 1 | – | y₂ⁱ |
| 0 | 1 | 1 | 0 | – | 1 |
| 0 | 1 | 0 | 1 | – | 0 |
| 1 | 0 | 0 | 0 | – | y₂ⁱ |
| 1 | 0 | 1 | 1 | – | y₂ⁱ |
| 1 | 0 | 1 | 0 | – | 1 |
| 1 | 0 | 0 | 1 | – | 0 |
| 0 | 0 | ----- | ----- | y₂ⁱ | y₂ⁱ |
| 1 | 1 | ----- | ----- | y₂ⁱ | y₂ⁱ |
4. 容错特性分析
我们考虑来自允许集合中的任何瞬态或间歇性故障,这些故障不与假设1相矛盾,即故障一次只发生一个,且在前一个故障消失后,允许集合中的下一个故障才能出现。
注意将Vcs1视为TSC_CS1的允许故障集以及从分支点1到TSC_CS1输入端X1的单 stuck-at 故障。当存在来自Vcs1的任意故障时,电路TSC_CS1可能在输出端产生非码字(根据自检特性),该非码字将被检测器检测到,多路复用器将由此选用CS2的无错误输出。
设VCh为检测器的一组允许故障,以及从TSC_CS1的输出(Y₁, Z₁)到TSC_CS1输入端的输入线上单个固定故障。当存在来自VCh的任何故障时,该检测器将在输出上产生错误指示信号(“00”、“11”)(通过自检特性)输出,驱动多路复用器使用来自CS2的无错误输出。
设VCS2为电路CS2的任意故障集合,以及从分支点1到CS2输入X₂的输入线路上的单个固定故障,和从CS2输出Y₂到多路复用器输入的输出线路上的单个固定故障。在这种情况下,系统的其他部分是无故障的(根据假设1),且多路复用器使用来自TSC_CS2的无错误输出。
设Vpoint2为从分支点2到多路复用器输入端的内部线路单 stuck-at 故障集合(Y₁, 1*Y)。当Vpoint2中的故障出现时,多路复用器将CS的无故障输出 (y₂¹, y₂², …, y₂ᵐ) 连接到输出 (y¹, y², …, yᵐ)。
设VMUX为多路复用器的一组允许故障。这些故障可以将集合Y₁中的某些线路的连接更改为集合Y₂中相应线路的连接。
不考虑主要输入(x₁, x₂, …, xₙ)和主要输出 (y¹, y², …, yᵐ) 上的故障。
注意 V = VCS1 ∪ VCh ∪ VCS2 ∪ Vpoint2 ∪ VMUX。
定理1. 在假设1下,来自V的任何故障均保持组合电路的行为。
5. 系统可靠性评估
让我们讨论三模冗余方案和基于自检的容错系统的可靠性,其中一个建议了我们另一个来自[2]的方案。
假设三模冗余表决器机制在给定任务时间内具有可靠性R。假设单模模块的复杂度是表决器的T倍,则每个模块的可靠性为Rmodule = R^T。如果表决器发生故障,或至少有两个副本发生故障,则系统性能下降,此时三模冗余系统的可靠性为:
$$
R_{TMR} = R \cdot (3R^T - 2R^{2T})
\tag{1}
$$
如[2]所假设,容错接口和表决器具有相同的可靠性R。同时还假设单模模块比容错接口复杂 倍,相应的自检模块比其单模对应模块复杂δ倍。每个自检模块的可靠性定义为R^(δT)。当容错接口发生故障或两个副本发生故障时,整个自检系统性能下降,此时自检系统的可靠性为:
$$
R_{SC1} = R \cdot (2R^{\delta T} - R^{2\delta T})
\tag{2}
$$
为了计算我们容错系统的可靠性,让我们采用与[2]中相同的假设。整个自检系统的性能下降发生在以下情况:容错接口(MUX)发生故障,或者自检系统(TSC_CS1+TSC_Ch)和组合电路(CS2)同时发生故障。此时,自检系统的可靠性为:
$$
R_{SC2} = R + R^{\delta T} \cdot R^T - R \cdot R^{\delta T} \cdot R^T = R + R^{(\delta+1)T} - R^{(\delta+1)T+1}
\tag{3}
$$
在[13]中表明,将复杂电路转换为自检电路时,硅表面积开销可达到10–84 percent的范围。为了在图2中将我们的方法与其他方法进行比较,针对R = 0.99,模块复杂度T(10 ≤ T ≤ 150)不同时,单模模块(R_module)、三模冗余(R_tmr)、来自[2]的自检系统(R_sc1)以及我们的自检系统(R_sc2)的可靠性分别进行了绘制,其中δ的取值范围为1.2到1.6。
图示表明,我们自检系统的可靠性高于其他系统。如果δ = 1.8 [2],则该自检系统的可靠性几乎与三模冗余的可靠性相同。
6. 结论
提出了一种基于完全自检系统的低开销容错方案。该方案仅包含一个自检模块和一个单模模块(组合电路)。当发生任何允许的瞬态或间歇性故障时,该方案能够实现组合电路的正确行为。对所提方案的可靠性分析表明,我们自检系统的可靠性高于其他系统。
814

被折叠的 条评论
为什么被折叠?



