包 沖
中國科學(xué)院大學(xué)(北京國科環(huán)宇空間技術(shù)有限公司),北京100049
在航天領(lǐng)域,隨著各類數(shù)據(jù)載荷(如光學(xué)相機、雷達等)性能的不斷提升,可能會要求后端數(shù)據(jù)處理設(shè)備有非常高的數(shù)據(jù)傳輸、交換和處理能力[1]。SRIO(即Serial RapidIO,它是面向嵌入式系統(tǒng)開發(fā)提出的新一代高速互聯(lián)技術(shù),已于2004年被國際標(biāo)準化組織(ISO)和國際電工協(xié)會(IEC)批準為ISO/IECDIS 18372標(biāo)準)總線具有傳輸帶寬高、協(xié)議精簡,操作靈活等特點[2],當(dāng)前主流的高性能數(shù)據(jù)處理器件,如DSP、FPGA、PowerPC等,很多都集成了SRIO總線控制器[3],因此SRIO成為載荷數(shù)據(jù)處理設(shè)備的首選總線。
在航天設(shè)備中應(yīng)用SRIO總線,可靠性是必須考慮的因素,而冗余備份是提高可靠性的最有效手段之一[4]。作為一種基于交換的高速數(shù)據(jù)串行傳輸總線,SRIO協(xié)議本身并沒有針對其交換系統(tǒng)的冗余備份機制提出建議。本文基于實際應(yīng)用情況,對SRIO交換系統(tǒng)的冗余備份機制進行了研究,提出了幾種方案,并進行了可靠性的計算、分析和比較。
交換系統(tǒng)的冗余備份機制的設(shè)計都要圍繞交換芯片來完成。因此,SRIO交換芯片是SRIO交換系統(tǒng)中的關(guān)鍵部件。
目前市場上使用的SRIO交換芯片以IDT公司的產(chǎn)品為主,國內(nèi)相關(guān)研究很少[5]。IDT公司的CPS1848是常用的交換芯片之一,它支持 SRIO 2.1標(biāo)準,具有48個通道,支持18個端口,可以靈活配置端口模式和速率。
在應(yīng)用中,當(dāng)單個交換芯片不能滿足系統(tǒng)對端口數(shù)量的要求時,一般會使用多個交換芯片進行級聯(lián),組成一個交換單元來擴充交換端口。
在高可靠應(yīng)用系統(tǒng)中,常見的備份機制,按規(guī)??梢苑譃檎麢C備份、模塊(單板)備份和電路組合(芯片)備份;按冗余度又可以分為雙(機/板/電路)備份或多(機/板/電路)備份;按工作狀態(tài)(上電與否),又可以分為冷備和熱備。
本文主要聚焦于冗余備份機制的拓撲結(jié)構(gòu)研究,關(guān)于具體實現(xiàn)時,與電路相關(guān)的細節(jié)問題不再詳細討論。
SRIO交換系統(tǒng)一般包括通信節(jié)點、主控節(jié)點、通信通道和交換單元等4類部件。部件的形態(tài)可能是一塊板卡或者一個芯片及其外圍電路。
2.1.1 通信節(jié)點
每個通信節(jié)點在SRIO系統(tǒng)中具有唯一的ID,通過通信通道與交換單元連接。每個通信節(jié)點都集成有SRIO控制器,掛接在DSP、PowerPC等處理器上或者在FPGA中用IP核[6]實現(xiàn)。通信節(jié)點一般都是高集成度、高主頻的電路,同時軟件復(fù)雜度也非常高,其可靠性設(shè)計的壓力較大。
2.1.2 主控節(jié)點
在可擴展的SRIO總線系統(tǒng)中,需要有一個通信節(jié)點在整個系統(tǒng)啟動之初,對整個系統(tǒng)進行掃描,發(fā)現(xiàn)系統(tǒng)中存在的所有通信節(jié)點和交換芯片,然后為通信節(jié)點分配ID,并對交換芯片進行路由配置,這個通信節(jié)點稱為主控節(jié)點。
在可靠性要求較高,且具有確定性的SRIO系統(tǒng)中,系統(tǒng)內(nèi)所有通信節(jié)點的ID和交換芯片的路由配置在設(shè)計過程中固定下來。系統(tǒng)上電后,交換芯片主動或被動地加載路由信息,不需要掃描的過程。在這種情況下,系統(tǒng)中可以不存在主控節(jié)點。
2.1.3 交換單元
交換單元可以是單個交換芯片或者是由多個交換芯片組成的交換網(wǎng)絡(luò),本文將交換單元作為一個整體來研究。
圖1 CPS1848結(jié)構(gòu)圖
參見圖1中CPS1848的結(jié)構(gòu)[7],由于共用資源太多,交換芯片僅僅出現(xiàn)某個端口故障的概率非常小,可以認為交換芯片的故障就是整個芯片的故障。
2.1.4 通信通道
每個通信節(jié)點到交換單元之間的物理傳輸通道稱為通信通道。
通信通道的組成一般為PCB走線和連接器等。當(dāng)SRIO總線在設(shè)備間連接時,還可能是連接器+線纜或者光模塊+光纖。除光纖傳輸外,由于通信通道的大部分構(gòu)成都是無源的,出現(xiàn)故障的概率很小。
為了簡化分析,對SRIO交換系統(tǒng)中的部件進行進一步的歸類。首先,設(shè)定系統(tǒng)使用靜態(tài)路由方式,不存在主控節(jié)點;其次,通信通道出現(xiàn)故障的概率很小,不再單獨作為研究要素。
設(shè)定一個系統(tǒng)模型如下:
1)組成:包含6類通信節(jié)點,每類通信節(jié)點都包括1個主份和1個備份。1個交換單元具有12個端口;
2)判定模型系統(tǒng)正常工作的條件,設(shè)定為組成系統(tǒng)的部件均正常工作;
3)設(shè)定每類通信節(jié)點的可靠性概率均為P(e),并設(shè)定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)。
本文的研究重點是不同冗余備份機制的拓撲結(jié)構(gòu),以及交換單元的可靠性與系統(tǒng)可靠性之間的函數(shù)關(guān)系,即P(system)=f(P(s)),并進而進行分析和對比。
3.1.1 拓撲結(jié)構(gòu)
雙機備份是最常見的備份方式,所有主份部件構(gòu)成主機(A機),所有備份部件構(gòu)成備機(B機),如圖2所示。主機和備機之間相互獨立。
圖2 雙機備份的拓撲結(jié)構(gòu)
當(dāng)主機出現(xiàn)故障時,可以由更高一級的控制機制將工作任務(wù)整體遷移到另外備機上運行。
3.1.2 可靠性計算
在這種拓撲結(jié)構(gòu)中,每臺單機的所有部件為串聯(lián)方式。從而得到主機的可靠性概率為:
P(systemA)=(P(sA)×(P(eA))6
(1)
且有P(systemB)=P(systemA)。
主機和備機在整個系統(tǒng)中為并聯(lián)方式,所以系統(tǒng)的可靠性概率為:
P(system1)=1-(1-(P(systemA))×
(1-P(systemB))
(2)
當(dāng)P(e)=0.95時,由式(1)和式(2)可得到P(system1)關(guān)于P(s)的函數(shù)為:
P(system1)=1.4702P(s)-0.5404(P(s))2
(3)
3.2.1 拓撲結(jié)構(gòu)
當(dāng)系統(tǒng)中的部件數(shù)量不多時,可以將所有主/備份部件都分配在同一臺單機中。同時,將圖2中的主/備份交換單元的各自6個沒有使用的端口進行互聯(lián),得到如圖3所示的拓撲結(jié)構(gòu)。
圖3 交叉?zhèn)浞莸耐負浣Y(jié)構(gòu)
這個交換系統(tǒng)中,在交換單元正常的情況下,當(dāng)某個通信節(jié)點發(fā)生故障時,僅需要切換該節(jié)點的備份節(jié)點來代替故障節(jié)點,就可以使系統(tǒng)恢復(fù)正常工作,從而形成交叉?zhèn)浞?,提高了系統(tǒng)的可靠性。
3.2.2 可靠性計算
在圖3所示的拓撲結(jié)構(gòu)中,以交換單元故障與否的條件概率為基礎(chǔ),分3種情況計算系統(tǒng)的可靠性概率,詳見表1。
表1 交換單元的故障情況分類
可知:
P(sA∩sB)=P(sA)×P(sB)
(4)
(5)
(6)
(7)
a)情況下,每類通信節(jié)點的主份和備份都可以互為備份,為并聯(lián)關(guān)系,因此,每類通信節(jié)點的可靠性概率為:
P(eA∩eB)=1-(1-P(eA))×(1-P(eB))
(8)
在a)情況下,系統(tǒng)可靠性的條件概率為:
P(system|sA∩sB)=(P(eA∪eB))6
(9)
b)情況下,交換單元的主份和備份之一發(fā)生故障,則與故障交換單元相聯(lián)的所有通信節(jié)點都將無法正常工作,這時,系統(tǒng)可靠性的條件概率分別為:
(10)
(11)
c)情況下,2個交換單元均發(fā)生故障,系統(tǒng)無法正常工作,這時系統(tǒng)可靠性的概率為0。
根據(jù)貝葉斯公式[8],可得到交叉?zhèn)浞萸闆r下,系統(tǒng)的可靠性為:
(12)
由式(4)~(12)可知,當(dāng)P(e)=0.95時,得到P(system2)關(guān)于P(s)的函數(shù)為:
P(system2)=1.4702P(s)-0.4851(P(s))2
(13)
可見,與雙機備份機制相比,交叉?zhèn)浞輽C制由于充分利用了系統(tǒng)中的每個部件,其可靠性有了一定程度的提高。下面將以此為基礎(chǔ),嘗試增強交換網(wǎng)絡(luò),來觀察系統(tǒng)可靠性的變化情況。
3.3.1 拓撲結(jié)構(gòu)
呂鵬[9]提出了一種SRIO總線的全交換路由設(shè)計方案。在這個方案中,交換單元分布在每個通信節(jié)點上。具體實現(xiàn)的拓撲結(jié)構(gòu)參見圖4。
圖4 全交換備份的拓撲結(jié)構(gòu)
圖中每個通信節(jié)點與1個交換單元構(gòu)成一個組合(后文均簡稱組合),交換單元的1個端口用于組合內(nèi)互聯(lián),其它的11個端口用于組合之間的互聯(lián)。所有組合之間均實現(xiàn)了點對點互聯(lián)。這樣,同類通信節(jié)點組合的主、備組合之間構(gòu)成交叉?zhèn)浞荨?/p>
理論上,這種拓撲結(jié)構(gòu)可以保證任意2個通信節(jié)點之間通信是“無阻塞”的。其代價是大量交換芯片的使用以及功耗和系統(tǒng)復(fù)雜度的提升。
3.3.2 可靠性計算
圖4中每個通信節(jié)點和與其相聯(lián)的交換單元是串聯(lián)關(guān)系,串聯(lián)后的組合的可靠性概率為:
P(eA∩s)=P(eB∩s)=P(e)×P(s)
(14)
每類組合的主份和備份之間是并聯(lián)關(guān)系,其可靠性概率為:
P[(eA∩s)∪(eB∩s)]=
1-(1-P(eA∩s))×(1-P(eB∩s))
(15)
每類通信節(jié)點組合之間都是串聯(lián)關(guān)系,因此整個系統(tǒng)的可靠性概率為:
P(system3)=(P[(eA∩s)∪(eB∩s)])6
(16)
根據(jù)式(14)~(16),當(dāng)P(e)=0.95時,得到P(system3)關(guān)于P(s)的函數(shù)為:
P(system3)=[1.9P(s)-0.9025(P(s))2]6
(17)
圖5中描繪了對應(yīng)3種冗余備份拓撲結(jié)構(gòu)的系統(tǒng)可靠性概率P(system)關(guān)于交換單元可靠性概率P(s)的函數(shù)。
可以觀察到,在本文設(shè)定的系統(tǒng)模型的前提下,方案2效果最佳。其它2種方案在P(s)為0.9左右時,其系統(tǒng)可靠性概率的曲線出現(xiàn)交叉。
相比于方案2,從P(s)>0.5開始,方案1的系統(tǒng)可靠性開始變差,這是因為,在保證交換單元有較高可靠性的前提下,方案2比方案1更好地利用了通信節(jié)點的主、備份資源,實現(xiàn)了交叉?zhèn)浞荨?/p>
當(dāng)P(s)<0.9時,方案3的可靠性隨著P(s)的減小開始劇烈變差。這是由于方案3中使用了大量的交換芯片,交換單元可靠性的下降,必然拖累系統(tǒng)的可靠性以指數(shù)規(guī)律下降。而當(dāng)P(s)>0.9時,方案3的系統(tǒng)可靠性開始提升,明顯高于方案1,這也是因為方案3實現(xiàn)了通信節(jié)點的交叉?zhèn)浞荨?/p>
圖5 三種冗余備份拓撲結(jié)構(gòu)的可靠性概率比較
由此,關(guān)于SRIO交換系統(tǒng)的冗余備份機制的設(shè)計,可以得出以下規(guī)律:
1)交換單元的可靠性是設(shè)計中重要的考慮依據(jù),它的高低會直接影響到對冗余備份拓撲結(jié)構(gòu)的選擇;
2)應(yīng)該盡量利用SRIO總線的交換特點,實現(xiàn)通信節(jié)點間的交叉?zhèn)浞?,有助于提高系統(tǒng)的可靠性。
這里需要說明的是:SRIO冗余備份機制的設(shè)計是一個系統(tǒng)性問題,除了本文的研究內(nèi)容外,還要綜合考慮成本、功耗、面積和實現(xiàn)難度等多方面因素。
關(guān)于SRIO冗余備份機制的研究已經(jīng)應(yīng)用于1臺信號處理設(shè)備的設(shè)計中。這臺設(shè)備將用在運行于中低軌道的航天器中,實現(xiàn)對光學(xué)相機輸出的圖像數(shù)據(jù)進行壓縮編碼、存儲管理和數(shù)據(jù)下行等功能。原始圖像數(shù)據(jù)有效速率高達14Gbps。設(shè)備采用6U VPX架構(gòu),以4x的SRIO總線作為數(shù)據(jù)平面總線。設(shè)備包括主控板、電源板、SRIO交換板、存儲板(2塊)、數(shù)據(jù)處理板、接口板(2塊)等板卡,每類板卡都有主、備份兩塊板卡。該設(shè)備為二級設(shè)備,有航天器平臺計算機作為上位機,對其進行管理控制。
根據(jù)對這臺設(shè)備的技術(shù)要求,分別使用文中提出的3種冗余備份機制進行設(shè)計,并預(yù)計可靠性,計算結(jié)果如表2所示。其中,通過對交換芯片CPS1848進行篩選和加固,預(yù)計其可靠性為0.96。
表2 系統(tǒng)可靠性預(yù)計
注1:所統(tǒng)計的SRIO節(jié)點數(shù)量,包含主份和備份;注2:除每個SRIO節(jié)點對應(yīng)1塊板卡外,另有電源板1塊,背板1塊,交換板1塊(方案3不需要獨立的交換板)
根據(jù)表2的計算結(jié)果,選定了系統(tǒng)可靠性預(yù)計值更高的交叉?zhèn)浞莘桨笐?yīng)用于當(dāng)前設(shè)備。除冗余備份的拓撲結(jié)構(gòu)外,系統(tǒng)的故障檢測和切換機制對系統(tǒng)可靠性也有非常大的影響,因此,有必要在下文進行簡要的描述。
設(shè)備采用VPX標(biāo)準的IPMB總線[10]以實現(xiàn)更高級別的狀態(tài)監(jiān)控和管理(器件等級更高)。每個板卡上的IPMC會監(jiān)控該板卡的電壓、電流、溫度和心跳等狀態(tài),同時控制該板卡的加斷電,實現(xiàn)交叉?zhèn)浞莸那袚Q。SRIO交換系統(tǒng)使用靜態(tài)路由,由IPMC通過IIC接口對交換芯片進行路由配置[11]。
主控板和電源板的主備切換由平臺計算機控制。系統(tǒng)啟動后,主控板通過2種方式監(jiān)控其它板卡的狀態(tài):1)除正常的SRIO通信外,主控板定期發(fā)送消息給其它所有的在線板卡,監(jiān)控SRIO總線上各個板卡的狀態(tài);2)通過IPMB總線收集其它板卡的狀態(tài)。主控板將這些遙測信息上報平臺控制計算機。地面人員可以根據(jù)這些遙測信息判斷板卡狀態(tài),并通過主控板以及IPMB總線系統(tǒng)對出現(xiàn)故障的板卡進行主備切換,同時由交換板上的IPMC重新配置交換芯片的路由路徑。
目前設(shè)備已經(jīng)完成原理樣機的研制,進入鑒定件設(shè)計階段。在聯(lián)調(diào)過程中,通過故障注入和模擬,對所選用的交叉?zhèn)浞莘桨高M行了充分測試,證明了該方案的合理性和有效性。
提出了關(guān)于SRIO交換系統(tǒng)的3種冗余備份機制,進行了可靠性計算和對比分析,得出了冗余備份設(shè)計的一些原則。并以一臺數(shù)據(jù)處理設(shè)備的研制過程為例,證明了交叉?zhèn)浞輽C制的合理性和有效性,從而說明其對提高系統(tǒng)可靠性具有較大的幫助作用。