專利名稱:一種數(shù)據(jù)通路分片的冗余保護(hù)結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及片上網(wǎng)絡(luò)可靠性設(shè)計(jì)技術(shù)領(lǐng)域,為其中片上路由器數(shù)據(jù)通路部件的冗余備份結(jié)構(gòu)。
背景技術(shù):
隨著VLSI技術(shù)的發(fā)展,越來(lái)越多的片上處理單元(存儲(chǔ)單元、信號(hào)處理單元、輸入輸出單元)將會(huì)被集成在同一個(gè)die上。片上網(wǎng)絡(luò)(Network-on-Chip, NoC)依靠其可擴(kuò)展性好,吞吐量大的特點(diǎn)逐漸成為片上互連的主要標(biāo)準(zhǔn)。隨著芯片規(guī)模的不斷擴(kuò)大和集成度的不斷提高,NoC的組件會(huì)受到兩類錯(cuò)誤的影響(1)暫時(shí)性(transient)錯(cuò)誤和(2)長(zhǎng)期性(permanent)錯(cuò)誤。這些錯(cuò)誤會(huì)降低芯片的成品率并影響片上互連的效率 和可靠性。由于片上網(wǎng)絡(luò)可以看成一組結(jié)構(gòu)化路由器的互連結(jié)構(gòu),片上路由器負(fù)責(zé)網(wǎng)絡(luò)流量控制和路由計(jì)算,其中流水線部件,存儲(chǔ)部件,交叉互連開關(guān)以及通道屬于“數(shù)據(jù)通路部件”,其它部件屬于“控制部件”。在SMIC 90nm工藝下,假設(shè)路由器之間點(diǎn)對(duì)點(diǎn)通道的寬度是O. 8mm (例如ARM9處理器內(nèi)核),綜合結(jié)果表明通道,存儲(chǔ)部件,流水線寄存器和交叉開關(guān)等“數(shù)據(jù)通路部件”的面積開銷較大,占路由器面積的絕大部分。因此直接對(duì)這些部件做冗余將會(huì)使路由器面積成倍增長(zhǎng)。因此,為保證在NoC組件出現(xiàn)故障情況下的通信效率,能夠?qū)崿F(xiàn)錯(cuò)誤容忍的路由器結(jié)構(gòu)是一種有效的解決方案。以往的容錯(cuò)路由器設(shè)計(jì)大多使用對(duì)組件直接進(jìn)行冗余備份的策略。它為每個(gè)路由器組件提供一個(gè)冗余部件,當(dāng)一個(gè)部件出錯(cuò)停止工作時(shí),可以使用冗余部件進(jìn)行替代。這種設(shè)計(jì)可以在一定程度上提高路由器的容錯(cuò)能力,但是冗余策略需要較大的面積開銷,使用冗余策略的路由器面積通常是原來(lái)的2倍(雙模冗余DMR)或3倍(三模冗余TMR)。在NoC面積資源有限的情況下,這種容錯(cuò)策略難以滿足要求。此外,正是由于冗余部件占用的芯片面積較大,故障概率也隨之提高,嚴(yán)重時(shí)導(dǎo)致NoC停止工作。由此可見,要實(shí)現(xiàn)對(duì)高可靠性的片上互連,保障片上網(wǎng)絡(luò)正常工作,首先需要設(shè)計(jì)針對(duì)路由器組件的容錯(cuò)保護(hù)機(jī)制,控制提高可靠性帶來(lái)的面積開銷。盡管存在多種方法來(lái)提高片上路由器的可靠性,但是其中一些方法沒能把面積開銷降低到一定程度,一些方法面積開銷雖然小,但是系統(tǒng)性能依舊隨著故障增多迅速降低。例如,一種面積開銷較小的數(shù)據(jù)通路部件保護(hù)機(jī)制如圖I所示,這是一種基于數(shù)據(jù)通路分片技術(shù)的容錯(cuò)路由器結(jié)構(gòu)的一部分,圖中標(biāo)示出了數(shù)據(jù)輸入的N方向和輸出的S方向。利用數(shù)據(jù)通路部件的可分片特點(diǎn),時(shí)分復(fù)用正常工作的部件分片,從而降低傳輸延遲??紤]一個(gè)64bit的通道出錯(cuò)的情況,通常認(rèn)為組成通道的64根導(dǎo)線全部失效,但是由于可以認(rèn)為數(shù)據(jù)通道是由一組并行工作的通道“分片”(Slice)組成(4個(gè)通道“分片”,每個(gè)位寬16bit),分片之間互不影響。由于面積開銷和故障數(shù)目存在正比關(guān)系,每個(gè)分片的面積較小,因此分片出錯(cuò)的概率很低,其中一個(gè)分片失效并不會(huì)影響其它分片正常工作。此時(shí)利用這些正常工作的分片,采用時(shí)分復(fù)用方法對(duì)數(shù)據(jù)進(jìn)行傳輸可以在一定程度上提高路由器的容錯(cuò)能力,從而在提高可靠性的同時(shí)降低面積開銷。對(duì)于其它數(shù)據(jù)通路部件,例如,一個(gè)64bit的先入先出(FIFO)存儲(chǔ)部件可以分成4個(gè)位寬16bit的FIFO分片;一個(gè)64bit的交叉開關(guān)部件可以分成4個(gè)位寬16bit的開關(guān)部件分片等,如圖I所示。此設(shè)計(jì)雖然能夠在一定程度上降低面積開銷,然而并沒有考慮當(dāng)分片故障數(shù)量增大時(shí)對(duì)性能的影響。在分片故障數(shù)量較大時(shí),此設(shè)計(jì)會(huì)嚴(yán)重降低數(shù)據(jù)通路部件的吞吐量。因此,如果能在此設(shè)計(jì)的基礎(chǔ)上,結(jié)合傳統(tǒng)的冗余策略,通過增加一級(jí)分片作為冗余備份,可在面積開銷增大不多的情況下,大幅度提高系統(tǒng)的性能。
發(fā)明內(nèi)容
本發(fā)明的任務(wù)在于,獲得一個(gè)即可使面積開銷小、功耗低,又可當(dāng)故障分片數(shù)量增多時(shí)系統(tǒng)性能不受影響的容錯(cuò)保護(hù)結(jié)構(gòu)。本發(fā)明在原有分片的基礎(chǔ)上增加一條冗余分片,用于在某個(gè)分片出錯(cuò)的情況下對(duì) 其進(jìn)行替代,在分片的前后端分別加入多個(gè)選擇器,用于動(dòng)態(tài)改變數(shù)據(jù)傳輸所使用的分片。本發(fā)明的關(guān)鍵點(diǎn)在于如何通過已得知的分片故障情況,控制多路選擇器的控制信號(hào)合理的對(duì)故障分片進(jìn)行替代。該分片容錯(cuò)結(jié)構(gòu)的主要特征在于(I)通過將待輸入分片的每路數(shù)據(jù)信號(hào)連接至某個(gè)多路選擇器的輸入端,根據(jù)分片的故障情況,控制多路選擇器的控制信號(hào),達(dá)到改變數(shù)據(jù)使用的部件分片的目的。(2)在多路選擇器構(gòu)成的分片選擇結(jié)構(gòu)中,共有兩組多路選擇器網(wǎng)絡(luò),一組多路選擇器控制數(shù)據(jù)使用哪些正常的分片;另一組控制如何從分片中提取數(shù)據(jù),并放到下一級(jí)需要使用這些數(shù)據(jù)的部件中。適合本發(fā)明的一個(gè)優(yōu)點(diǎn)在于,多路選擇器網(wǎng)絡(luò)可以適應(yīng)任何一種分片故障的組合。當(dāng)?shù)弥考制收锨闆r時(shí),控制模塊改變每個(gè)多路選擇器的控制信號(hào),改變數(shù)據(jù)所使用的分片。適合本發(fā)明的另一個(gè)優(yōu)點(diǎn)在于,系統(tǒng)性能不會(huì)由于分片故障數(shù)量增大而顯著降低,由于本發(fā)明增加了一個(gè)冗余分片,由于分片出錯(cuò)的概率很小,I個(gè)或2個(gè)分片出錯(cuò)已經(jīng)覆蓋了大部分故障情況,而當(dāng)這種情況發(fā)生時(shí),使用本發(fā)明的容錯(cuò)保護(hù)結(jié)構(gòu),即使用冗余分片替代故障分片,可使性能不受任何影響。
在附圖的各圖中舉例而不是限制地說(shuō)明本發(fā)明,其中圖I以方框圖的形式表示出使用數(shù)據(jù)通路部件分片容錯(cuò)策略的片上路由器NS方向數(shù)據(jù)流向示意圖。圖2以具體電路的形式表示本發(fā)明的分片冗余保護(hù)結(jié)構(gòu)。圖3以具體電路的形式表示如何將本發(fā)明的分片冗余保護(hù)結(jié)構(gòu)和部件的分片容錯(cuò)策略結(jié)合到一起。圖I是本發(fā)明之前用來(lái)提高片上網(wǎng)絡(luò)的可靠性的方法之一,使用該方法對(duì)數(shù)據(jù)通路部件進(jìn)行分片容錯(cuò),在分片故障數(shù)目較大時(shí)會(huì)影響網(wǎng)絡(luò)性能。圖2是本發(fā)明的分片冗余結(jié)構(gòu),表述了結(jié)構(gòu)各部分的組成,該電路中標(biāo)號(hào)和權(quán)利要求中的描述標(biāo)號(hào)對(duì)應(yīng)。圖3是本發(fā)明的一個(gè)應(yīng)用場(chǎng)景,對(duì)已使用分片容錯(cuò)策略進(jìn)行保護(hù)的數(shù)據(jù)通路部件進(jìn)行分片冗余備份,以提聞系統(tǒng)性能。
具體實(shí)施例方式描述一種新穎的故障檢測(cè)電路。在以下的詳細(xì)描述中,為了徹底理解本發(fā)明,給出了許多具體細(xì)節(jié),但是,本領(lǐng)域的普通技術(shù)人員都知道沒有這些具體細(xì)節(jié)也可以實(shí)施本發(fā)明。在其它情況下,眾所周知的方法、過程、元件和電路都沒有詳細(xì)描述,以便不使本發(fā)明模糊不清。在圖2中“分片故障指示器”用于指示數(shù)據(jù)即將進(jìn)入的數(shù)據(jù)通 路部件分片中有哪些出現(xiàn)了故障。以64bit帶寬的數(shù)據(jù)通路部件為例,若此時(shí)分成4個(gè)分片(每個(gè)16bit),則分片故障指示器的輸出為一個(gè)4bit的向量,每個(gè)bit用“O”和“I”分別代表對(duì)應(yīng)的分片“未出錯(cuò)”和“出錯(cuò)”。例如,若分片狀態(tài)指示器的輸出為“0101”,表示第二和第四個(gè)分片出
現(xiàn)故障?!胺制x通控制器”輸出7bit的控制信號(hào),每個(gè)bit的控制信號(hào)分別連入7個(gè)多路選擇器的控制端口。7個(gè)多路選擇器共分為兩組,第一組為三個(gè),第二組為四個(gè)。第一組的三個(gè)多路選擇器Muxl,Mux2和Mux 3負(fù)責(zé)根據(jù)分片選通控制器給出的控制信號(hào),把數(shù)據(jù)選進(jìn)相應(yīng)的部件分片中。在大多數(shù)情況下,若無(wú)故障的部件分片,也即分片故障狀態(tài)指示器輸出“0000”,分片選通控制器給第一組多路選擇器網(wǎng)絡(luò)輸出的3個(gè)bit控制信號(hào)為“000”,則3個(gè)多路選擇器選通下面一路信號(hào),也即“b”路的數(shù)據(jù)信號(hào),使其通過多路選擇器進(jìn)入數(shù)據(jù)通路的部件分片中傳遞。當(dāng)分片中存在故障時(shí),為了避開故障分片,多路選擇器選擇“a”路數(shù)據(jù)通過,數(shù)據(jù)使用的部件分片從故障分片開始依次下移一個(gè)。以圖2中的情況為例,此時(shí)部件分片3為一個(gè)故障分片,“分片故障指示器”輸出信號(hào)為“0010”,“分片選通控制器”輸出“0x1”。第一路和第二路數(shù)據(jù)仍然使用部件分片I和2,然而原來(lái)使用部件分片3的第三路數(shù)據(jù)信號(hào)由于Mux 3選通了 a路輸入,使第三路數(shù)據(jù)選擇部件分片4進(jìn)行傳輸,而原來(lái)使用部件分片4的第四路數(shù)據(jù)選擇“冗余分片”進(jìn)行傳輸,也即從第三路信號(hào)開始,所使用的部件分片依次下移,最后一路數(shù)據(jù)使用冗余分片。在輸出信號(hào)中有一個(gè)bit為“X”,表示這個(gè)bit的值可以是任意的(“O”或“I”均可),因?yàn)镸ux2連接的部件分片為故障分片,因此無(wú)論選通哪路數(shù)據(jù)都可,并不會(huì)影響實(shí)際結(jié)果。對(duì)于第二組多路選擇器網(wǎng)絡(luò),包含Mux4,Mux5,Mux6和Mux7。它們負(fù)責(zé)根據(jù)“分片選通控制器”的輸出來(lái)決定選擇“a”路或者“b”路數(shù)據(jù)通過自身。仍舊以圖2所示的情況為例。此時(shí)“分片選通控制器”向第二組的4個(gè)多路選擇器的控制端輸出的信號(hào)為“1100”,Mux4和Mux5選通a路信號(hào),因?yàn)閍路信號(hào)分別是第一路和第二路數(shù)據(jù)使用正常部件分片之后的輸出。由于第三個(gè)部件分片出錯(cuò),輸入數(shù)據(jù)使用的部件分片依次下移,因此Mux6和Mux7選擇b路數(shù)據(jù)信號(hào)通過自身。由此可見,雖然部件分片存在故障,但使用本發(fā)明可以使數(shù)據(jù)仍舊完好無(wú)損的輸出到下一級(jí)數(shù)據(jù)通路部件。圖3為本發(fā)明的一個(gè)應(yīng)用實(shí)例。在圖I的基礎(chǔ)上加入了本發(fā)明的分片冗余保護(hù)結(jié)構(gòu)。圖I雖然是提高可靠性的一種方法,但是對(duì)“鏈路分片”,“緩存分片”以及“交叉開關(guān)分片”均沒有進(jìn)行冗余備份,因此在這些部件故障數(shù)量較大時(shí)會(huì)嚴(yán)重影響系統(tǒng)性能。在使用本發(fā)明時(shí),加裝非常簡(jiǎn)單,在原有的數(shù)據(jù)通路部件分片的前端和后端加入上述兩組多路選擇器網(wǎng)絡(luò),在原有分片數(shù)量的基礎(chǔ)上增加一級(jí)冗余分片,即可構(gòu)成一個(gè)分片冗余備份結(jié)構(gòu)。
權(quán)利要求
1.一種數(shù)據(jù)通路部件的容錯(cuò)保護(hù)裝置,首先將部件進(jìn)行分片,形成N個(gè)依次排列的部件分片,則輸入的數(shù)據(jù)信號(hào)分為N路,其特征在于,該容錯(cuò)保護(hù)裝置還包括分片故障狀態(tài)指示模塊、分片選通控制模塊、排列在部件分片后的冗余分片、設(shè)置在部件分片和冗余分片前的N-I個(gè)依次排列的輸入端多路選擇器、以及設(shè)置在部件分片和冗余分片后的N個(gè)依次排列的輸出端多路選擇器,其中分片故障狀態(tài)指示模塊,用于指示數(shù)據(jù)即將進(jìn)入的數(shù)據(jù)通路的部件分片的故障情況;分片選通控制模塊,用于根據(jù)分片故障狀態(tài)指示模塊中指示的部件分片的故障情況選通多路選擇器,選擇合適的部件分片和冗余分片傳輸數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的容錯(cuò)保護(hù)裝置,其特征在于,若將部件分為N=4個(gè)分片,分別為部件分片I、部件分片2、部件分片3和部件分片4,此時(shí)輸入的數(shù)據(jù)信號(hào)分為4路數(shù)據(jù),分別為第一路數(shù)據(jù),第二路數(shù)據(jù)、第三路數(shù)據(jù)和第四路數(shù)據(jù),該容錯(cuò)保護(hù)裝置包括3個(gè)輸入端多路選擇器,分別為Muxl、Mux2、和Mux3,4個(gè)輸出端多路選擇器,分別為Mux4,Mux5, Mux6,Mux7,多路選擇器包括a輸入口和b輸入口 ;其中, 輸入端多路選擇器的連接關(guān)系為 第一路數(shù)據(jù)直接連接部件分片I,同時(shí)連接至Muxl的a輸入口 ; 第二路數(shù)據(jù)連接Muxl的b輸入口,同時(shí)連接Mux2的a輸入口 ; 第三路數(shù)據(jù)連接Mux2的b輸入口,同時(shí)連接Mux3的a輸入口 ; 第四路數(shù)據(jù)連接Mux3的b輸入口,同時(shí)直接連接至冗余分片; Muxl, Mux2和Mux3的輸出端分別連接部件分片2,3和4 ; 輸出端多路選擇器的連接關(guān)系為 部件分片I直接連接至Mux4的a輸入口 ; 部件分片2同時(shí)連接Mux4的b輸入口和Mux5的a輸入口 ; 部件分片3同時(shí)連接Mux5的b輸入口和Mux6的a輸入口 ; 部件分片4同時(shí)連接Mux6的b輸入口和Mux7的a輸入口 ; 冗余分片直接連接至Mux7的b輸入口。
3.根據(jù)權(quán)利要求1-2任一所述的容錯(cuò)保護(hù)裝置,其特征在于,所述分片選通控制模塊的輸出的bit數(shù)為2N-1,每個(gè)bit代表的信息分別控制每個(gè)多路選擇器。
全文摘要
本發(fā)明為一個(gè)片上網(wǎng)絡(luò)容錯(cuò)路由器數(shù)據(jù)通路部件的容錯(cuò)保護(hù)結(jié)構(gòu),對(duì)于開銷較大的部件先將其分片,再對(duì)分片進(jìn)行冗余備份,以降低增加可靠性帶來(lái)的面積開銷。當(dāng)某個(gè)分片出現(xiàn)故障時(shí),數(shù)據(jù)使用的部件分片從故障分片開始依次下移,最后一路數(shù)據(jù)使用冗余分片進(jìn)行傳輸。本發(fā)明中用兩組多路選擇器網(wǎng)絡(luò)控制數(shù)據(jù)使用的分片,多路選擇器的控制信號(hào)由“分片選通控制器”模塊進(jìn)行控制,該模塊接收來(lái)自分片狀態(tài)指示器模塊傳遞來(lái)的分片故障信息,之后產(chǎn)生多路選擇器的控制信號(hào),數(shù)據(jù)根據(jù)多路選擇器的選通情況選擇合適的分片傳輸數(shù)據(jù)。由于單個(gè)分片出現(xiàn)錯(cuò)誤的概率較大,因此使用本發(fā)明中的容錯(cuò)路由器恰好適合這種故障情況,可以保證片上網(wǎng)絡(luò)性能不受任何損失。
文檔編號(hào)G06F11/16GK102831037SQ20121024816
公開日2012年12月19日 申請(qǐng)日期2012年7月17日 優(yōu)先權(quán)日2012年7月17日
發(fā)明者高旭東 申請(qǐng)人:高旭東