《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 面向片上網(wǎng)絡(luò)路由器FIFO故障的實時容錯設(shè)計
面向片上網(wǎng)絡(luò)路由器FIFO故障的實時容錯設(shè)計
2017年電子技術(shù)應(yīng)用第3期
杭彥希,徐金甫,陳松濤,郭朋飛
解放軍信息工程大學,河南 鄭州450001
摘要: 為滿足對片上網(wǎng)絡(luò)路由器FIFO故障的實時容忍需求,設(shè)計了一種可實時檢測路由器FIFO故障并對故障容忍的方法。首先建立了路由器FIFO的功能模型及故障模型,在此基礎(chǔ)上利用測試地址在線生成法,提出了一種針對于片上網(wǎng)絡(luò)路由器FIFO的故障實時檢測算法,并提出利用FIFO重定向機制容忍FIFO故障。實驗結(jié)果表明,對測試電路參數(shù)進行合理地設(shè)置,可將測試電路對路由器性能影響降到很小范圍,且在故障條件下,吞吐率和延時得到較好的改善。
中圖分類號: TN402
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.03.008
中文引用格式: 杭彥希,徐金甫,陳松濤,等. 面向片上網(wǎng)絡(luò)路由器FIFO故障的實時容錯設(shè)計[J].電子技術(shù)應(yīng)用,2017,43(3):36-39.
英文引用格式: Hang Yanxi,Xu Jinfu,Chen Songtao,et al. Design of fault-tolerant router for online FIFO fault detection on network-on-chip[J].Application of Electronic Technique,2017,43(3):36-39.
Design of fault-tolerant router for online FIFO fault detection on network-on-chip
Hang Yanxi,Xu Jinfu,Chen Songtao,Guo Pengfei
PLA Information Engineering University,Zhengzhou 450001,China
Abstract: To meet the realtime fault-tolerant requirement of FIFO in the network-on-chip router, a method for online fault detection and fault tolerance of FIFO fault is proposed. Firstly, the function model and fault model for router FIFO are established; on the basis of this, a real-time testing algorithm for the fault of the FIFO in the network-on-chip router is put forward by using the test address generation method; then a FIFO redirection mechanism is proposed to tolerant FIFO faults. The experiment shows that the impact induced by test circuit can be down to a small range. The throughput and delay can be greatly improved with fault injected.
Key words : network-on-chip;router;FIFO;fault-tolerant

0 引言

    目前對路由器故障的檢測與容忍研究是片上網(wǎng)絡(luò)相關(guān)研究的一個重要方面。其解決辦法主要有以下兩類:(1)通過容錯路由算法繞開故障節(jié)點,如文獻[1]和文獻[2]。但是這些方法容錯粒度較大,一旦發(fā)現(xiàn)故障節(jié)點就選擇繞開或者丟棄,極大地浪費了片上緩存等資源;(2)通過修改路由器微結(jié)構(gòu)進行容錯,如文獻[3]和文獻[5],但是根據(jù)文獻[4],在FIFO深度為32的路由器中,F(xiàn)IFO占用了94%以上的面積,發(fā)生故障的概率也最大,文獻[3]未對FIFO提出容錯方案,這顯然對于設(shè)計容錯路由器是不夠的。文獻[5]的檢錯粒度大,且其采用的故障通道隔離技術(shù)浪費了片上一些仍然可用的資源。文獻[4]提出了一種可靠的容錯路由器架構(gòu)Vicis,但是文中提出的故障診斷是線下的,降低了路由器的工作效率。文獻[6]提出了一種在線的FIFO硬故障檢查方法,能夠在線對FIFO故障進行檢測,但是故障覆蓋率不高,也未對最關(guān)鍵的FIFO控制部分進行故障檢測,而且在對故障檢測后也未提出合適的容錯方案。

    綜合以上研究,本文針對于片上網(wǎng)絡(luò)FIFO提出了一種故障實時容忍設(shè)計方案,首先針對于片上網(wǎng)絡(luò)FIFO中易發(fā)生的故障建立故障模型;然后提出一種針對于片上網(wǎng)絡(luò)路由器FIFO的實時故障檢測算法,最后提出了有效的容錯機制容忍FIFO故障。

1 FIFO功能模型及故障模型

    本文選用的路由器是基本的蟲孔路由器,采用蟲孔交換機制,輸入通道中利用FIFO作為數(shù)據(jù)包緩存。

1.1 FIFO功能模型

    本文討論的是異步雙端口RAM型FIFO,其功能模型如圖1所示。

wdz4-t1.gif

    FIFO相關(guān)控制信號作用如下:

    FF:FIFO滿信號,為1表示滿,為0表示不滿;

    EF:FIFO空信號,為1表示空,為0表示不空;

    RS:復(fù)位信號,將讀寫地址恢復(fù)到初始地址(Initial Address,IA),即(RAR):=IA||(WAR):=IA||FF:=0||EF:=1,||代表操作同時獨立發(fā)生;

    WE:寫使能,WE=1時允許寫操作;

    RE:讀使能,RE=1時允許讀操作;

    WClk:寫時鐘;

    RClk:讀時鐘。

1.2 FIFO故障模型

    本文結(jié)合RAM型FIFO中尋址故障和功能故障發(fā)生相似性,將片上網(wǎng)絡(luò)FIFO故障分為存儲單元陣列故障和FIFO控制邏輯故障兩大類。存儲單元陣列故障模型包括:固定型故障(Stuck-At Fault,SAF)、開路故障(Stuck-Open Fault,SOF)、地址譯碼器故障(Address Decoder Fault,ADF)、跳變故障(Transition Fault,TF)、耦合故障(Coupling Fault,CF)(包括倒置耦合故障CFin,固化耦合故障CFid,狀態(tài)耦合故障CFst)、數(shù)據(jù)延時故障(Data Retention Fault,DRF)和多端口故障(Multi-Port Fault,MPF)。FIFO控制邏輯故障模型主要有以下5種:

    FF=0,while(WAR)=(RAR) and (LO)=WO;

    FF=1,while(WAR)≠(RAR) or (LO)≠WO;

    EF=0,while(WAR=RAR) and (LO=RO);

    EF=1,while(WAR)≠(RAR) or (LO)≠RO;

    RS:(WAR)≠IA or (RAR)≠IA or (LO)≠RO。

2 容錯設(shè)計

2.1 實時故障檢測算法描述

wdz4-2.1-x1.gif

    i=test_address;//FIFO地址指針

    j=0;//j代表單地址測試周期

    while(j≤2) do

        if(j == 1||j == 2)

        delay;//發(fā)現(xiàn)DRF故障

        temp1=read(i);

        if(j == 0)

            if(0 < i < n-1) check(FF == 0&EF == 0);

            if(i = n-1)   check(FF == 0&EF == 1);

            original = temp1;

            write(i,!temp1) & temp2 = read(i);

        result = compare(temp1,temp2); 

    else if(j == 1)

        result = compare(temp1,original);

        write(i,!temp1) & temp2 = read(i);

        result = compare(temp1,temp2); 

    if(0 < i < n-1) check(FF == 0&EF == 0);

    if(i = n-1)    check(FF == 1&EF == 0);

            else

        result = compare(temp1,original);

        end if

        j = j+1;

    endwhile

    算法中i代表FIFO的測試地址,每次測試分為3個階段,由j來控制,當j為0時執(zhí)行算法的第一個階段,讀出測試地址test_address的值,保存在一個臨時寄存器temp1中,并通過判斷是否是FIFO最后一個地址來檢查空標志EF的狀態(tài),隨后將temp1的值保存在一個寄存器original中,然后對temp1取反,將取反值寫到測試地址上,與此同時,讀出測試地址上的值與temp1做比較;當j為1時,進入第二個測試階段,先經(jīng)過一段時間的延遲,然后讀出測試地址上的值存在temp1中,與original值作比較,并將temp1值取反寫回到測試地址上,與此同時,讀出測試地址上的值,與temp1值作比較,并通過判斷是否是FIFO最后一個地址來檢查滿標志FF的狀態(tài);當j為2時,同樣經(jīng)過一段延時,然后讀出測試地址上的值,最后一個階段的讀操作保證了對前兩個階段未發(fā)現(xiàn)的故障再次進行檢測,有效增強了故障檢測能力。

2.2 故障覆蓋率分析

    針對前文描述的不同故障類型,本文對提出的測試算法能達到的故障覆蓋率分析如下。

wdz4-2.2-x1.gif

wdz4-t2.gif

    耦合故障(CF): 算法對FIFO每個地址的值都采取了翻轉(zhuǎn)和讀寫交替操作,但是地址只遞增遍歷一次,對于侵略單元地址大于受害單元地址的故障不能檢出,因此只能覆蓋50%的耦合故障。

    數(shù)據(jù)延時故障(DRF):算法描述中的Del代表了一定的延時操作,可覆蓋DRF。

wdz4-t2-x1.gif

    控制邏輯故障:可對空滿信號FF/EF故障進行檢測,但是因為算法強調(diào)實時性和無損性,所以對復(fù)位信號RS故障無法檢測。

2.3 FIFO重定向機制

    本文引入FIFO讀寫指針重定向表(Redirection Table),提出一種FIFO故障檢測與重定向機制。讀寫地址生成器生成的讀寫指針輸入到重定向表中,產(chǎn)生輸入到FIFO緩存的讀寫指針,其原理圖如圖3所示,深色方塊代表故障槽。在未檢測到故障時,重定向表與FIFO中地址一一順序?qū)?yīng);當檢測到故障后,測試電路產(chǎn)生地址更新信號address_update對重定向表進行更新,有效避開了故障并充分節(jié)省了片上資源。

wdz4-t3.gif

3 功能比較及實驗結(jié)果

3.1 功能比較

    本文提出的路由器FIFO檢錯容錯方法與文獻[4]、文獻[6]提出的方法在故障覆蓋率、測試在線性和是否有容錯機制分析比較如表1所示??梢园l(fā)現(xiàn)本文方案故障覆蓋率較高,具有實時測試性,且包含容錯機制。

wdz4-b1.gif

3.2 仿真實驗

    本文采用修改的開源片上網(wǎng)絡(luò)仿真器作為仿真實驗平臺,使用systemC作為硬件描述語言,搭建的拓撲結(jié)構(gòu)為4×4的mesh結(jié)構(gòu),F(xiàn)IFO深度為6個微片,路由算法采用XY維序路由方式。根據(jù)提出的算法設(shè)計相應(yīng)的FIFO故障測試電路,并通過設(shè)置故障測試電路不同的時鐘周期觀察網(wǎng)絡(luò)的延時和吞吐率。

    圖4所示的是在不同的測試周期下網(wǎng)絡(luò)的吞吐率變化圖。隨著測試周期的不斷增加,吞吐率增長越來越緩慢,逐漸接近一個固定值,這是因為當測試周期增加,對FIFO測試的頻率減少,測試過程對片上網(wǎng)絡(luò)正常工作模式的影響越來越小。

wdz4-t4.gif

    圖5所示為不同測試周期下的網(wǎng)絡(luò)延時變化圖,隨著測試周期的不斷增加,平均網(wǎng)絡(luò)延時逐漸接近一個固定值。

wdz4-t5.gif

    為測試本文容錯機制對故障容忍的效果,在FIFO注入相同故障的情況下,比較基準蟲孔路由器和本文提出的路由器在不同數(shù)據(jù)包注入率下的吞吐率和延時。圖6所示為吞吐率對比圖,隨著注入率增大,采用基準路由器和本文路由器的網(wǎng)絡(luò)的吞吐率都逐漸接近飽和值,但是因為本文路由器采取了容錯措施,吞吐率改善約為17.89%。

wdz4-t6.gif

    圖7所示為延時對比圖,可以看出本文的路由器隨數(shù)據(jù)包注入率增加,延時均小于基準路由器,這是因為基準路由器未設(shè)計合適的容錯機制,隨注入率增加,基準路由器的堵塞和丟包現(xiàn)象越來越嚴重。與基準蟲孔路由器相比,本文路由器延時改善約25.67%。

wdz4-t7.gif

4 結(jié)論

    本文根據(jù)FIFO讀寫特性,提出了一種可對片上網(wǎng)絡(luò)路由器FIFO故障實時檢測并對故障容忍的方法。實驗結(jié)果表明,在故障條件下,能有效提高片上網(wǎng)絡(luò)吞吐率,并且降低了網(wǎng)絡(luò)延時。

參考文獻

[1] 姚磊,蔡覺平,李贊,等.基于內(nèi)建自測技術(shù)的Mesh結(jié)構(gòu)NoC無虛通道容錯路由算法[J].電子學報,2012,40(5):983-989.

[2] Liu Junxiu,Jim Harkin,Li Yuhua,et al.Fault-tolerant networks-on-chip routing with coarse and fine-grained look-ahead[J].IEEE Transactions on Computer-aided Design of Integrated Circuits and Systems,2016,35(2):260-273.

[3] Pavan Poluri,Ahmed Louri.Shield:a reliable network-on-chip router architecture for chip multiprocessors[J].IEEE Transactions on Parallel and Distributed Systems,2016.

[4] Andrew DeOrio,David Fick,Valeria Bertacco,et al.A reli-able routing architecture and algorithm for NoCs[J].IEEE Transactions on Computer-aided design of Integrated Circuits and Systems.2012,31(5):726-739.

[5] 歐陽一鳴,陳義軍,梁華國,等.一種故障通道隔離的低開銷容錯路由器設(shè)計[J].電子學報,2014,42(11):2142-2149.

[6] Bibhas Ghoshal,Kanchan Manna,Santanu Chattopadhyay et al.In-field test for permanent faults in FIFO buffers of NoC routers[J].IEEE Transactions on Very Large Scale Integration Systems.2016,24(1):393-397.

[7] SEBASTIAN W,JAVIER N,MIKEL L.A survey on design approaches to circumvent permanent faults in networks-on-chip[J].ACM Computing Surveys.2016,48(4):5920-5936.



作者信息:

杭彥希,徐金甫,陳松濤,郭朋飛

(解放軍信息工程大學,河南 鄭州450001)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。