?

高速SpaceWire協議IP的可靠性增強方法

2019-10-09 01:06楊孟飛劉鴻瑾
宇航學報 2019年9期
關鍵詞:進入狀態關鍵可靠性

姜 宏,楊孟飛,劉 波,劉鴻瑾,龔 健

(1. 北京控制工程研究所,北京 100190; 2. 中國空間技術研究院,北京 100094)

0 引 言

SpaceWire[1]是由歐空局和英國Dundee大學于2000年共同制定的航天總線標準。該標準于2003年、2005年、2008年和2010年經過了多次更新和補充后形成目前較完善的標準體系。在SpaceWire標準的基礎上,本文在前期工作中研制了高速SpaceWire協議IP[2],將200 Mbps的傳輸速率提速到1 Gbps以上,可滿足高速數據傳輸的需求。但是,作為一種航天數據總線,除了要滿足高速傳輸要求外,更重要的是保證系統的可靠性。

總線系統的可靠性一方面取決于協議本身的檢錯和糾錯能力,另一方面取決于實現環節的技術手段。本文實現的高速SpaceWire協議IP,其物理載體是SRAM型的FPGA芯片。由于空間輻照作用,這種FPGA芯片如果在空間工作極易受到單粒子翻轉效應(Single event upset,SEU)的影響而導致功能失效,從而使系統可靠性顯著下降。為解決這個問題,國內外學者提出了很多針對SRAM型FPGA的抗輻射加固容錯技術[3-6],從空間、時間等多個維度開展冗余設計,提高系統容錯能力。在這些技術中,三模冗余(Triple modular redundancy,TMR)[7-8]是最具有代表性的。

三模冗余方法首先由馮·諾依曼于1956年提出,核心思想是將原設計克隆出三份,每一份都單獨工作并輸出一組信號,然后對三組輸出信號進行三取二表決,最后給出表決后的輸出結果。

傳統TMR方法對于系統可靠性雖然有較大的改善,但是付出的資源代價和獲得的可靠性之間的性價比不高。因此,研究人員提出了選擇性三模冗余(Selective TMR)[9]和部分三模冗余(Partial TMR)[10]。在這類方法中,部分三模冗余(又被稱為分層三模冗余[11-12])最具有代表性,其特點是以更細的粒度開展設計,將原設計切割為多個部分或階段,對每個部分做三模冗余,從而形成一系列三模冗余子系統。雖然部分三模冗余會提高系統可靠性,但是如果劃分過細,數量龐大的表決器會成為系統可靠性的薄弱點,導致可靠性不升反降,因此表決器的數量不宜過多。

TMR雖然能夠在短時間內對單個故障進行容錯,但是隨著時間的推進會發生錯誤的累積,進而導致多個故障的發生,TMR方法會因此失效。于是針對SRMA型FPGA的加固設計,學者們提出了具有自刷新能力的TMR[13],從而能夠保證在很長的時間內系統可靠運行。

然而,隨著航天器電子系統的通信和處理速度的不斷加快,FPGA等電子元器件的工作頻率越來越高,對空間輻照的影響越來越敏感,另外國內外航天器的在軌壽命有不斷延長的趨勢,對包括SpaceWire協議IP在內的FPGA邏輯設計的可靠性提出了更高要求。為滿足之一要求,一種方法是縮短FPGA模塊的刷新周期提高故障維修率,但是如果單純提高刷新頻率,會導致電子系統的功耗明顯增加,并且還會使系統的實時性變差。

為此,本文提出了一種針對SRAM型FPGA的TMR新方法——增強三模冗余(Enhanced TMR,ENTMR),該方法能夠在不縮短刷新周期的前提下,有效提高高速SpaceWire協議IP設計的可靠性。

1 增強三模冗余

1.1 基本方法

在航天數據總線系統中,每個FPGA功能單元(簡稱單元)的故障率不是完全相同的,存在著一些可靠性薄弱點。假設系統的某個單模FPGA設計M共包含三個單元A,B,C(如圖1所示),其中A和B的輸出是C的輸入,并設B單元是易發生故障的關鍵單元(陰影線區域)。

圖1 原設計功能結構Fig.1 Function structure of original design

對于圖1所示的系統,傳統TMR不會對關鍵單元進行區分,只是簡單的對原設計M整體做三模冗余設計。部分TMR有兩種策略:一種策略是只對關鍵單元做三模冗余,一般單元仍然是單模,這時雖然節省了資源,但犧牲了系統可靠性;另一種策略是對關鍵單元和一般單元都做三模冗余,這時對兩種單元的加固方法是一樣的,并未提供對關鍵單元的額外防護。

本文方法與TMR和部分TMR的不同點在于:不僅對一般單元做三模冗余,而且對關鍵單元做四模冗余[14]。對于單一信號的多模冗余,傳統四模冗余與三模冗余在FPGA兩次刷新之間都只能容忍1個故障,并無明顯優勢,因此本文在此基礎上,借鑒故障順序出現情況下的系統診斷方法[15],提出了順序四模冗余(Sequential quad modular redundancy,SQMR),從而能夠使關鍵單元容忍的故障數大于1。

圖2 增強三模冗余示例Fig.2 Example of enhanced TMR

圖2是增強TMR方法的一個示例,在該例子中對圖1中的一般單元A和C都做三模冗余,對關鍵單元B做順序四模冗余。順序四模冗余要正常工作需滿足以下前提條件:

假設條件1. 在FPGA的相鄰兩次刷新之間,四模(例如圖2中的B1、B2、B3、B4)中兩個或兩個以上單元幾乎同時出錯的概率近似為0。

當具備上述條件后,N模冗余(NMR)容錯系統能容忍的故障數t與N不必滿足N≥2t+1[16],從而當N=4時,可容忍的故障數t可以大于1,方法如下:

(1)若在FPGA的相鄰兩次刷新之間,四模冗余結構中只有一個單元發生故障,則顯然可通過多數原理進行容錯;

(2)若在FPGA的相鄰兩次刷新之間,有兩個單元先后出錯,則當第一次錯誤出現時,可通過4選3排除,當第二次錯誤出現時,又可通過3選2排除。

為了防止錯誤累積,增強TMR系統還包含故障檢測模塊和FPGA的配置刷新(Configuration scrubbing)模塊。配制刷新對于提高SRAM型FPGA的可靠性非常重要,正如文獻[17]所強調的,如果FPGA不進行配置刷新,當多模冗余系統工作超過一段時間后,其可靠度會低于單模系統。

1.2 ENTMR的優勢

ENTMR系統中的主體部分是一般單元集,由于主體部分依然采用三模冗余方法,因此下面以傳統TMR和部分TMR作為參照來說明ENTMR的優勢。

在如圖3所示的例子中(下劃線表示該路信號出錯),在FPGA模塊兩次刷新之間,M1中的關鍵單元B1出錯,M2中的關鍵單元B2出錯,從而M1和M2的輸出OC1和OC2都出錯,最終導致三模冗余方法失效。

圖3 三模冗余失效情況Fig.3 Fault case of TMR

如果采用部分三模冗余結構(如圖4所示,下劃線表示該路信號出錯),將原設計M拆分為三部分,即:每個單元就是一個細分部分,然后對各部分做三模冗余,相應的表決器有三個分別為V1,V2和V3。接下來假設關鍵單元B1和B2出錯,則OB1和OB2出錯,從而導致經表決器V2輸出的OV2出錯,因此部分三模冗余方法失效。

圖4 部分三模冗余失效情況Fig.4 Fault case of partial TMR

由于增強TMR對關鍵單元做順序四模冗余,則按照圖2所示的結構,能夠在B1和B2先后出錯的情況下避免OB出錯,從而確保OM信號正確。

1.3 表決器

ENTMR方法的實現離不開表決器設計。本文ENTMR的表決器分為兩種:TMR表決器和SQMR表決器。

一般單元集內的每個單元采用TMR表決器[18],如圖2中的表決器V1,其布爾表達式為:

VTMR=AB+AC+BC

(1)

式中:VTMR為TMR表決器的輸出,A,B,C為TMR結構中的三個同構單元的輸出并作為TMR表決器的三個輸入。

關鍵單元集中的每個單元采用SQMR表決器,如圖2中的表決器V2,其布爾表達式為:

VSQMR=F1F2F3F4(ABC+ABD+

BCD)+F1F2F3(AB+AC+

BC)+F1F2F4(AB+AD+

BD)+F1F3F4(AC+AD+

CD)+F2F3F4(BC+BD+

CD)+……

(2)

其中,Fi(i=1, 2, 3, 4)是四個單元中第i個單元的無故障標志。若Fi=1,表示未檢測出第i個單元發生故障,若Fi=0,表示檢測出第i個單元發生故障。由于這些標志的存在,因此本文順序四模冗余的表決器是一種基于標志的SQMR表決器。這些標志信號可由故障檢測模塊提供。

式(2)與式(1)相比雖然表面上復雜度明顯增大,但是應注意到式(2)中的標志信號及相關布爾運算在帶有故障檢測模塊的系統中原本就已存在,這里只是在表決器中引進來加以利用,并未多占資源。因此,實際上SQMR表決器新占的資源在QMR和TMR的基礎上增加有限。

2 可靠性比較

本文在進行傳統TMR、部分TMR和ENTMR方法的可靠性比較時考慮到傳統TMR方法的可靠性不高于部分TMR方法,且ENTMR與部分TMR對于一般單元的處理方式是相同的,因此將重點放在針對關鍵單元的SQMR和TMR的可靠度的計算和比對上。

對于TMR系統,設系統中每個冗余單元的可靠度為Rm(t),則系統可靠度Rst(t)為:

(3)

對于SQMR,同樣假設每個冗余單元的可靠度為Rm(t),則系統可靠度Rss(t)為:

(4)

(5)

由式(3)和式(5)可得:

(6)

為了便于分析,將式(6)中的Rm(t)用x代替,并令該式為L(x)有:

L(x)=3x2-6x3+3x4

(7)

由于L(x)在(-∞, +∞)內一階可導,因此得到:

L′(x)=6x-18x2+12x3=6x(2x-1)(x-1)

(8)

分析式(8)可知,L(x)在x= 0.5處取得極大值,在x= 0和x= 1處取得極小值,從而當x∈[0, 1]時,0.1875 ≥L(x) ≥ 0,即:

0.1875≥Rss(t) -Rst(t) ≥ 0

(9)

式(9)是關于關鍵單元的順序四模冗余和三模冗余方法的可靠度差值,同時也是ENTMR方法和部分TMR方法的可靠度的一般比較結果。但是不夠充分和直觀,下文將通過仿真方法給出進一步的結果。

3 可靠性仿真

前文已提到,為了提高三模冗余設計的可靠性,本文采用了自刷新機制,從而使系統具備可維修能力。

由于電子系統(包含FPGA)發生故障的統計規律近似服從指數分布,在發生故障后可通過刷新進行故障維修,并且各模塊的維修時間也近似服從指數分布,因此構成了一個馬爾科夫可修系統[19]。

基于馬爾科夫可修系統的可靠性計算和仿真方法在電子系統中的應用已經比較成熟,下面將采用該方法首先建立增強三模冗余系統、傳統三模冗余系統和部分三模冗余系統的可靠性模型,然后進行仿真分析和結果對比。

3.1 增強TMR的可靠性模型

在對系統進行可靠性建模和仿真分析時,由于包含多個關鍵單元和多個一般單元與包含1個關鍵單元和1個一般單元的方法和過程基本一致,為便于描述和計算這里只考慮原設計包含1個關鍵單元和1個一般單元的情況。則經冗余后,系統共包含4個關鍵單元和3個一般單元。在此情況下,增強三模冗余系統運行的狀態空間包含如表1所示的7種狀態:

表1 增強三模冗余系統狀態和相關說明Table 1 System states of ENTMR and related descriptions

在表1中,0、1、2、3、4、5都是未失效狀態,狀態6是系統失效狀態。

設關鍵單元Ek在單位時間的失效次數(簡稱為失效率)為λ1,一般單元En的失效率為λ2,某個單元的單位時間維修次數(簡稱為維修率)為μ,再設在很短的時間Δt內只會有一個單元發生故障,在Δt時間內只能通過刷新修復一個單元的故障(因為部分重配置過程也需要耗費一定時間),則各個狀態之間的狀態轉換如圖5所示:

圖5 增強TMR的狀態轉換圖Fig.5 State chart of ENTMR

圖5中,各狀態之間的轉移概率如表2所示:

表2 轉移概率Table 2 Transition probability

注.由于某個單元發生故障的概率分布近似服從指數分布,且維修時間也近似服從指數分布,故當Δt很小時,某單元在t時刻失效,在t+Δt時刻被修復的概率為1-e-μΔt,近似為μΔt,某個Ek單元和En單元在t時刻正常,在t+Δt時刻發生故障的概率分別為:1-e-λ1Δt和1-e-λ2Δt近似為λ1Δt和λ2Δt。

1)狀態轉換圖說明

在圖5中,狀態0為系統的初始狀態,此時不論是關鍵單元還是一般單元都沒有發生任何故障。在此狀態下,當有一個Ek發生故障后,進入狀態1,當有一個En發生故障后,進入狀態2。

在狀態1下,若有一個En發生故障,則系統進入狀態3,若有另一個Ek發生故障,則系統進入狀態4,若故障被修復則系統進入狀態0,否則停留在狀態1。

在狀態2下,若有一個Ek發生故障,則系統進入狀態3,若有另一個En發生故障,則系統進入狀態6,若故障被修復則系統進入狀態0,否則停留在狀態2。

在狀態3下,若又有Ek發生故障,則系統進入狀態5,若又有En發生故障,則系統進入狀態6,若Ek的故障被修復則進入狀態2,若En的故障被修復則進入狀態1,其他情況下停留在狀態3。

在狀態4下,若又有En故障,則系統進入狀態5,若又有Ek故障,則系統進入狀態6,若故障被修復則系統進入狀態1,否則停留在狀態4。

在狀態5下,若又有En故障或Ek故障,則系統進入狀態6,若有一個Ek的故障被修復則進入狀態3,若En的故障被修復則進入狀態4,否則停留在狀態5。

在狀態6下,系統以概率1停留在狀態6。

2)Ek數為1的ENTMR系統可靠性計算

令增強三模冗余系統在t時和t+Δt時處于狀態0、狀態1、狀態2、狀態3、狀態4、狀態5、狀態6的概率分別為:Pe0(t),Pe1(t),Pe2(t),Pe3(t),Pe4(t),Pe5(t);Pe6(t),Pe0(t+Δt);Pe1(t+Δt);Pe2(t+Δt),Pe3(t+Δt),Pe4(t+Δt),Pe5(t+Δt),Pe6(t+Δt),則由表2可列出狀態轉移矩陣為:

(10)

再由系數矩陣Be=Ae-I(I為7階單位陣)可得到系統的狀態微分方程組為:

(11)

微分方程組(11)的初始條件為t= 0時系統未發生任何故障,即:Pe0(0)=1,Pe1(0)=0,Pe2(0)=0,Pe3(0)=0,Pe4(0)=0,Pe5(0)=0,Pe6(0)=0。

根據式(11)及初始條件求解出微分方程組的解,并得到關鍵單元個數為1時的增強TMR的可靠度Re(t)為:

Re(t)=Pe0(t)+Pe1(t)+Pe2(t)+

Pe3(t)+Pe4(t)+Pe5(t)

(12)

3.2 傳統TMR的可靠性模型

傳統三模冗余系統運行的狀態空間包含如表3所示的3種狀態:

表3 傳統TMR系統狀態和相關說明Table 3 System states of TMR and related descriptions

在表3中,狀態0和狀態1是未失效狀態,狀態2是系統失效狀態。當超過兩個單元發生故障時,系統進入狀態2。

設每個單元的失效率為λt,維修率為μ,同樣設在很短的時間Δt內只會有一個單元發生故障,在Δt時間內只能通過刷新修復一個單元的故障。令傳統三模冗余系統在t時和t+Δt時處于狀態0、狀態1、狀態2的概率分別為:Pt0(t),Pt1(t),Pt2(t),Pt0(t+Δt),Pt1(t+Δt),Pt2(t+Δt),由文獻[20]可得到TMR系統的狀態微分方程組為:

(13)

微分方程組(13)的初始條件為t= 0時系統未發生任何故障,即:Pt0(0)=1,Pt1(0)=0,Pt2(0)=0。

根據式(13)及初始條件對微分方程組求解,可得到傳統三模冗余系統的可靠度Rt(t)為:

Rt(t)=Pt0(t)+Pt1(t)

(14)

3.3 部分TMR的可靠性模型

與增強TMR類似,這里也只考慮將原設計分割為2個單元時的情況。設單元1的失效率為λp1,單元2的失效率為λp2。再設部分TMR系統中由單元1構成的TMR子系統的可靠度為Rp1(t),由單元2構成的TMR子系統的可靠度為Rp2(t),所有故障單元的維修率都為μ。

若部分三模冗余系統包含多個TMR子系統,則只有在所有子系統都可靠的時候系統才可靠。因此,對于包含2個TMR子系統的部分TMR系統,其可靠度Rp(t)為:

Rp(t)=Rp1(t)·Rp2(t)

(15)

3.4 模型仿真及結果分析

因為方程組(11)和(13)中存在多個不確定的參數不易直接得到解析解,所以本文在開展仿真時首先根據模型設定一組參數,然后利用MATLAB軟件在給定參數下求解方程組,得到方程組(11)和(13)的結果,再由(12)、(14)和(15)計算出增強TMR、傳統TMR和部分TMR的可靠度數值。

對于增強TMR將原設計分割為一個關鍵單元(Ek)和一個一般單元(En),對于部分TMR不區分關鍵單元只是將原設計分割為兩個部分(這兩部分的失效率分別為λp1和λp2)?,F在設原設計的失效率為λt,由于整體和局部的失效率的關系為:

1-λt=(1-λp1)(1-λp2)=(1-λ1)(1-λ2)

(16)

當λ1,λ2,λp1,λp2都很小時,λp1λp2和λ1λ2相對可忽略,于是近似有:

λt=λp1+λp2=λ1+λ2

(17)

在仿真參數設置上,取λt=0.0002/h,維修率μ=0.8/h。根據式(17)將λt進行分配,設參數λ1=0.00012/h,λ2=0.00008/h,λp1=λp2=0.0001/h。

仿真時間從0開始,到180000 h結束,各個時間點分別設置為:0 h,10000 h,20000 h,30000 h,40000 h,50000 h,60000 h,70000 h,80000 h,90000 h,100000 h,110000 h,120000 h,130000 h,140000 h,150000 h,160000 h,170000 h,180000 h。

根據上述設置(參數設置1),運行仿真后得到的可靠度數據如表4所示。

通過表4的數據可發現,隨著系統運行時間的延長,三種方法的可靠度都在下降,但是增強TMR的可靠度下降速度最慢,部分TMR的可靠度下降速度約為增強TMR的3倍,傳統TMR的可靠度下降速度約為增強TMR的6倍。當仿真運行到180000 h處時,增強TMR的可靠度最高,部分TMR的可靠度略低,傳統TMR的可靠度最低,且增強TMR的可靠度比傳統TMR高4.63%,比部分TMR高1.70%。如果航天器總體下達的任務期末的可靠度要求為0.975,則在此仿真條件下傳統TMR只能按要求工作9年,部分TMR為19年,增強TMR則能輕松超過40年。

表4 三種方法的可靠度對比Table 4 The comparison of three methods

由于增強TMR和部分TMR的可靠度較為接近,為了更直觀地將這兩種方法的可靠度進行對比,將仿真參數按三種情況(Case1,Case2,Case3)進行設定,在運行仿真360000 h后取二者可靠度之差與部分TMR可靠度原值的比值δ(t)(δ(t)=(Re(t)-Rp(t))/Rp(t))繪制了如圖6所示的點圖。

圖6 三種仿真參數下的δ(t)點圖Fig.6 The δ(t) plots under three parameters

δ(t)值越大反映的是增強TMR系統相比部分TMR系統的可靠性優勢越大。由圖6可知,隨著時間t的變化,δ(t)的數值不是固定不變的,而是呈現出逐漸增大趨勢,這說明運行時間越久增強TMR方法的可靠性優勢越顯著。在Case1下,增強TMR系統的360000 h可靠度比部分TMR略高(約為1%);在Case2下,增強TMR的360000 h可靠度比部分TMR高3%以上;在Case3下,增強TMR系統的360000 h可靠度比部分TMR高15%以上。上述結果表明:當原設計的可靠性很高時,可靠度的提高不明顯,但是當原設計的可靠性較低時,增強TMR系統能獲得明顯高于部分TMR的可靠度。這充分說明了增強TMR方法比部分TMR更適用于空間惡劣環境。

4 結 論

本文在傳統三模冗余和部分三模冗余的基礎上提出了增強三模冗余方法。該方法將原設計分割為一般單元集和關鍵單元集,對一般單元集的每個單元做三模冗余,對關鍵單元集的每個單元做順序四模冗余。通過這種混合冗余結構,使高速SpaceWire系統和薄弱單元的可靠性得到增強。

本文在提出ENTMR方法后給出了系統可靠性的計算公式和表決器的布爾表達式。在此基礎上,為了對增強三模冗余系統的可靠性進行論證,首先針對典型場景(系統中包含1個一般單元和1個關鍵單元)建立了具有維修能力的增強三模冗余系統的馬爾科夫可靠性模型,并基于該模型利用MATLAB軟件開展仿真運算,獲得了系統可靠度的仿真數據。然后根據傳統TMR和部分TMR的馬爾科夫可靠性模型開展MATLAB仿真,又獲得了兩組可靠度仿真數據。接下來將三組數據進行對比,得到如下結論:

1)增強TMR系統的可靠度不僅明顯高于傳統TMR,而且高于部分TMR。

2)在參數設置1和任務期末的可靠度要求為0.975的條件下,增強TMR系統的正常工作壽命是部分TMR系統的2倍多,是傳統TMR系統的4倍多。

最后按照三種參數設置運行仿真,對增強三模冗余系統和部分三模冗余系統的可靠性進行了重點比較,仿真結果顯示:當原設計的可靠性較低時,增強TMR系統能獲得明顯高于部分TMR系統的可靠度,在仿真參數Case3下,仿真運行到360000 h后,增強TMR系統比部分TMR系統的可靠度高15%以上,效果顯著;當原設計的可靠性較高時,增強TMR系統的可靠度雖然高于部分TMR系統,但效果并不明顯。上述仿真結果同時驗證了式(9)的正確性。

猜你喜歡
進入狀態關鍵可靠性
硝酸甘油,用對是關鍵
基于AK-IS法的航空齒輪泵滑動軸承可靠性分析
某重卡線束磨損失效分析與可靠性提升
討論如何提高建筑電氣設計的可靠性和經濟性
高考考好是關鍵
醫療器械可靠性研究現狀與發展趨勢
任務型教學在初中數學中的應用探討
國企黨員領導干部應當進入狀態
蔣百里:“關鍵是中國人自己要努力”
鵬鵬豬
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合