王利偉,蔡金燕,許承志,朱賽
(1.陸軍工程大學石家莊校區,河北 石家莊 050003;2.空軍工程大學 航空機務士官學校,河南 信陽 464000)
在航天、航空、深海探測等領域,環境溫度、壓力、振動和電離輻射對電子設備的影響極其嚴重。如何設計一個極端工作環境下具有高可靠性和容錯能力的電子系統,是一個很大的挑戰[1]。
胚胎電子陣列[2]是一種在極端工作環境下具有高可靠性和容錯能力的新型電子系統,它由功能可在線配置的電子細胞和連線兩部分組成。通過模擬生物組織的自診斷、自修復機制,胚胎電子陣列可實現自身的容錯,使可靠性得到很大程度的提升[3-4]。
胚胎電子陣列的研究主要集中于結構模型、修復策略和性能優化等方面。在結構模型方面,文獻[5]受多細胞生物發育過程的啟發,提出具有多層結構的真核電子細胞模型,奠定了胚胎電子學的基礎,實現了電子陣列的自修復。針對真核細胞模型基因存儲量大的問題,文獻[6]提出原核細胞模型,減少了陣列的基因存儲量。傳統陣列只能相鄰細胞間進行通信,文獻[7]提出內分泌模型的胚胎電子陣列,優化了細胞間的數據傳輸。傳統電子細胞通過三模冗余實現故障檢測,為了降低陣列的硬件消耗量,文獻[8]提出了基于免疫模型的胚胎電子陣列。文獻[9]提出簇結構的胚胎電子細胞陣列,進一步提升了胚胎電子陣列的資源利用率,減少了資源消耗。在自修復策略方面,典型自修復策略有行、列移除策略[10]以及細胞移除策略[11]。雖然各種自修復策略在形式上存在差異,但其本質都是通過空閑細胞替代故障細胞的方式恢復胚胎電子陣列的功能,實現陣列的容錯。在性能優化方面,基于可靠性的性能優化一直是胚胎電子陣列的研究熱點[12]。文獻[13]提出k-out-of-n可靠性模型并分析了不同修復策略的胚胎電子陣列的可靠性。文獻[14-16]利用k-out-of-n可靠性模型分析了所設計胚胎電子陣列的可靠性,并與傳統胚胎電子陣列進行了對比。文獻[6,17]分析了硬件消耗量和修復策略對胚胎電子陣列可靠性的影響。文獻[18]針對電子細胞的暫態故障設計了相應的修復策略和細胞結構,提升了陣列的可靠性。
現有研究以電子細胞的容錯為主,針對連線容錯的研究相對較少[19]。與電子細胞相比,連線的復雜度和失效率很低,因此現有研究大多假設連線是完全可靠的[20]。但是,由于制作工藝的缺陷、空氣氧化、鹽分腐蝕、電應力沖擊以及機械振動等因素的影響,連線依然會出現故障。而且隨著集成度的提高,連線數量激增,連線線寬減小。連線故障已經成為系統故障的主要原因,在集成電路故障中連線故障的頻次已高于邏輯單元[21]。連線是胚胎電子陣列的數據傳輸通道,在沒有任何容錯措施的情況下,任意一段連線故障都將導致陣列失效。文獻[22]提出基于矛盾圖的連線容錯方法。該方法的適應性強,但是修復時間長,不適合在線修復。文獻[23]提出免疫機制的容錯方法,但是需要在功能細胞周圍設置大量的空閑細胞和布線細胞,細胞利用率較低。文獻[24-25]通過增加冗余通路實現故障連線的自修復,但是容錯次數有限。文獻[20,26]通過增加開關端口和設置穿越線的方式,實現了工作單元內連線故障的容錯,但不能處理工作單元之間的連線故障。
本文利用行、列移除修復策略的信號傳輸特性,提出基于行和列的混合移除策略,同時容錯連線故障和細胞故障;提出連線不完全可靠情況下的胚胎電子陣列可靠性模型;提出電子細胞內部各模塊的新結構。通過仿真分析驗證了混合移除修復策略的有效性。為了實現連線故障的檢測和容錯,混合移除策略增加了部分硬件資源。硬件資源分析的結果表明,混合移除策略增加的硬件資源占細胞總資源的比例很小,而混合移除策略整體消耗的資源也在可接受范圍內??煽啃苑治鼋Y果表明,對于規模大、連線多的胚胎電子陣列,混合移除修復策略的可靠性優于列移除策略和細胞移除策略等典型修復策略。
典型胚胎電子陣列是一個二維網格結構的電子細胞陣列。電子細胞結構相同,功能可配置。相鄰的細胞通過連線連接,如圖1所示。圖1中,M、N、m、n分別為胚胎電子陣列的行數、列數和工作細胞的行數、列數。

圖1 胚胎電子陣列的結構Fig.1 Structure of embryonic electronic array
全部細胞通過組網實現陣列功能。故障細胞出現時,陣列通過移除故障細胞、激活空閑細胞的方式進行自修復。列移除策略(行移除策略)和細胞移除策略是兩種典型的自修復策略。
1.1.1 列移除策略
當陣列內有細胞發生故障時,將故障細胞所在列設置成透明,透明列東方的列依次替代西方相鄰列的功能。其修復過程如圖2所示。圖2中,C11、C12、C13、C21、C22、C23、C31、C32、C33分別為胚胎電子陣列內的工作細胞。

圖2 列移除策略的修復過程Fig.2 Self-repairing process of column elimination strategy
假設電子細胞的壽命服從失效率為λ的指數分布。列移除策略的胚胎電子陣列可靠度Rc(t)和平均壽命MTTFc[13]為
(1)
式中:t為胚胎電子陣列的工作時間;i為矩陣內正常列的數量。
1.1.2 行移除策略
行移除策略通過冗余行替代故障細胞所在行,本質和列移除策略相同,不再贅述。
如果故障細胞所在行有空閑細胞,則將故障細胞設置成透明,調整故障細胞東方的所有細胞功能,使其依次替代西方相鄰細胞功能;如果故障細胞所在行沒有空閑細胞,則實施行移除。具體修復過程如圖3所示。

圖3 細胞移除策略的修復過程Fig.3 Self-repairing process of cell elimination strategy
假設電子細胞的壽命服從失效率為λ的指數分布。細胞移除策略的每行可靠度Rr(t)[13]為
(2)
陣列可靠度Rcell(t)和平均壽命MTTFcell為
(3)
由此可見,現有修復策略僅對細胞故障進行了容錯,并沒有考慮連線故障對胚胎電子陣列的影響,也沒有對應的容錯修復策略。針對這一問題,本文提出對細胞故障和連線故障都能容錯的混合移除修復策略,分析連線故障對胚胎電子陣列可靠性的影響,進一步提出基于混合移除修復策略的電子細胞結構。
胚胎電子陣列的傳統可靠性模型認為,與電子細胞的失效率相比,連線的失效率很低。因此,將連線視為完全可靠,但是連線依然會出現故障。而且由于連線數量龐大,連線故障已經成為系統故障的主要原因。因此,在胚胎電子陣列的可靠性分析中,應當將連線視為不完全可靠。
連線是陣列的數據傳輸通道。不僅工作細胞間的連線負責數據傳輸,而且在某些情況下,與冗余細胞相連的連線也負責接收和發送陣列的輸入和輸出數據。由于陣列內沒有冗余連線,陣列內的任意一段數據連線故障,整個陣列的功能都將會出現錯誤。
假設圖1的胚胎電子陣列連線不完全可靠。Xp為連線完全可靠情況下的陣列壽命,X1、X2、…、Xk為陣列內各連線的壽命,其中k為陣列內連線的數量。當連線不完全可靠時,陣列的可靠度R(t)為
R(t)=P{min{Xp,X1,X2,…,Xk}>t},
(4)
=P{Xp>t,X1>t,…,Xk>t},
(5)
(6)
式中:Rp(t)為連線完全可靠的陣列可靠度;Ri(t)為陣列內各連線的可靠度。
通常,相鄰細胞間的連線是多通道的,其數量主要由數據傳輸需求和修復策略兩個因素決定。
文獻[4]設計了一種典型胚胎電子陣列結構,根據數據傳輸的需求,相鄰細胞間設置有4條通道,包括2條輸入通道和2條輸出通道。
此外,修復策略對細胞間的連線數量也有要求。文獻[11]設計了一種典型的細胞移除策略胚胎電子陣列,并指出細胞移除會引起細胞相對位置的改變,為了能夠區分同向傳輸的多路信號,相鄰細胞間的行連線數量由行內空閑細胞的數量決定。每配置一個空閑細胞,都需要在該行的細胞間增加1組行連線,而列連線不需要增加。以圖1的陣列為例,假設相鄰細胞間的連線以4條通道為1組。對于細胞移除策略的胚胎電子陣列,陣列內連線的數量應為4×(N-1)×(N-n)×M+4×(M-1)×N.
文獻[10]設計了一種典型的列移除策略胚胎電子陣列。相鄰細胞間的連線僅為1組。由于列移除修復策略的重構修復不會使細胞的相對位置發生改變,細胞間的連線數量不受空閑細胞數目的影響。以圖1的陣列為例,其他假設條件不變,對于列移除策略的胚胎電子陣列,陣列內連線的數量應為4×(N-1)×M+4×(M-1)×N.
假設連線的壽命服從失效率為μ的指數分布,且相互獨立。采用細胞移除策略的胚胎電子陣列,在連線不完全可靠情況下的可靠度Rcell,i(t)和平均壽命MTTFcell,i為
(7)
采用列移除策略的胚胎電子陣列,在連線不完全可靠情況下的可靠度Rc,i(t)和平均壽命MTTFc,i為
(8)
假設胚胎電子陣列的行數M=30,列數N=30,工作細胞的行數m=25,列數n=25,電子細胞的失效率λ=1.0×10-6/h,連線的失效率μ=1.0×10-8/h.圖4所示為連線可靠和不可靠時的陣列可靠度。

圖4 連線可靠和不可靠時胚胎電子陣列可靠度Fig.4 Reliability of EEA with perfect and imperfect wires
由圖4可知,雖然連線的失效率μ很小(μ?λ),但是連線失效對陣列可靠度的影響依然很大。這是因為胚胎電子陣列沒有相應的連線容錯修復策略,所以任意一段連線故障都直接導致陣列的失效。
本節針對連線失效對胚胎電子陣列可靠性的影響,提出能夠容錯連線故障的混合移除修復策略,及其相應的細胞結構,以提升連線不完全可靠的胚胎電子陣列的可靠性和維修覆蓋率。
根據連線的走向,胚胎電子陣列內的連線可以分為兩類,即南北方向的列連線和東西方向的行連線。
對于采用列移除策略的胚胎電子陣列,被移除列的所有細胞只需要傳輸東西方向的信號,不需要傳輸南北方向的信號。因此,如果陣列內有列連線發生故障,則可以采用將故障連線所在列移除的方法,對連線故障進行容錯。修復過程如圖5所示。圖5中,Ci-1,j-1、Ci-1,j、Ci-1,j+1、Ci,j-1、Ci,j、Ci,j+1、Ci+1,j-1、Ci+1,j、Ci+1,j+1分別為胚胎電子陣列內的工作細胞。

圖5 通過列移除對列連線故障進行容錯Fig.5 Fault tolerance of column-wire by column elimination
在圖5中,細胞Ci-1,j和Ci,j之間的列連線故障,造成細胞Ci-1,j和Ci,j的數據傳輸中斷,陣列失效。
將故障連線所在的第j列移除,第j列及其東方的細胞全部向東移動1列。列移除后,細胞Ci-1,j和Ci,j之間是正常連線,因此數據傳輸恢復。原本東西相鄰的第j-1列和第j列細胞可以通過透明細胞傳輸數據,也不會受故障連線的影響。此外,故障連線所在列的細胞全部變成透明,因此,該列的細胞間沒有傳輸數據的需求,故障的列連線也不會被使用。由此可見,通過列移除可以屏蔽故障的列連線。
同理,對于行連線的故障,可以通過行移除的方法實現容錯,如圖6所示。

圖6 通過行移除對行連線故障進行容錯Fig.6 Fault tolerance of row-wire by row elimination
由于這個修復策略從列移除策略演變而來,它不僅可以容錯連線故障,還可以容錯細胞故障。另外,它的移除形式包括行移除和列移除,因此將它稱為混合移除策略,即:
1)細胞發生故障時,通過列移除進行容錯;
2)南北方向的列連線發生故障時,將故障連線所在列設置成故障狀態,通過列移除進行容錯;
3)東西方向的行連線發生故障時,將故障連線所在行設置成故障狀態,通過行移除進行容錯。
由于行連線和列連線涵蓋陣列內所有的連線,混合移除策略的行移除和列移除能夠對陣列內全部連線的故障進行容錯。此外,與列移除策略和細胞移除策略等典型修復策略相比,混合移除策略兼顧細胞故障容錯和連線故障容錯,因此混合移除策略對陣列的維修覆蓋率要高于典型修復策略。
為了實現對細胞故障和連線故障的容錯,以列移除策略的細胞結構為基礎,對細胞進行了重新設計,包括連線檢測模塊、開關盒、控制模塊、基因存儲模塊、地址模塊和功能模塊,如圖7所示。

圖7 細胞的結構組成Fig.7 Structure of electronic embryonic cell
3.2.1 連線檢測模塊
連線檢測模塊通過周期自檢判斷細胞間連線的狀態,可檢測連線的永久型故障。連線檢測模塊由測試向量生成單元和連線狀態判斷單元組成。其中:
1)測試向量生成單元是在陣列時鐘和測試時鐘的控制下產生測試向量。測試向量分別送往細胞的全部輸出端口和細胞的連線狀態判斷單元。
由于功能模塊的輸出和測試向量生成單元的測試向量都是通過細胞連線進行傳輸,為了不影響陣列的正常邏輯,將測試向量生成單元產生的測試向量與功能模塊的輸出在時間上進行分離,功能模塊在陣列時鐘上升沿產生邏輯輸出,測試向量生成單元在下降沿產生測試向量。
2)連線狀態判斷單元通過比較相鄰細胞發送的測試向量和本地測試向量,判斷輸入連線的狀態。各細胞同步產生測試向量,在相同測試周期各細胞產生的測試向量相同。如果接收的測試向量和本地測試向量相同,則細胞間的連線正常,否則細胞間的連線存在故障。如果東向和西向的連線均正常,則行連線狀態為1,否則為0;如果南向和北向的連線均正常,則列連線狀態為1,否則為0.行連線狀態和列連線狀態被送入細胞的控制模塊。
3.2.2 開關盒
開關盒控制細胞間的數據傳輸,結構與列移除策略的開關盒相同。但是,功能模塊的輸出和連接檢測模塊的測試向量都通過連線傳輸,為了避免錯誤和沖突,開關盒與細胞輸入端之間增加了多路分配器,開關盒與細胞輸出端之間增加了多路選擇器。
多路選擇器和多路分配器受連線檢測信號line_test控制。在工作周期,line_test=0,細胞接收的信號經多路分配器送往開關盒和功能模塊,多路選擇器將開關盒的輸出與細胞的輸出端口連通。在連線檢測周期,line_test=1,細胞接收的信號經多路分配器送往連線狀態判斷單元,多路選擇器將檢測信號產生單元與細胞的輸出端口連通。
3.2.3 控制模塊
控制模塊根據細胞當前狀態和控制信息決定細胞下一步狀態??刂颇K采用有限狀態機實現。由于增加了故障類型和修復形式,細胞的狀態和控制邏輯比傳統控制模塊更加復雜。細胞的狀態根據故障修復形式可以分為正常、故障、行移除、列移除、行+列移除。其狀態轉換和觸發條件如圖8所示。

圖8 控制模塊的狀態轉換Fig.8 State transition of control module
3.2.4 基因存儲模塊
基因存儲模塊存儲細胞的配置基因組,同時根據細胞的狀態和被分配的坐標選擇相應的基因,對細胞的功能模塊和開關盒進行配置。
基因存儲模塊的結構與列移除策略的基因存儲模塊類似,區別在于存儲的基因類型由2種增加到4種,分別為正?;蚪M、列移除基因、行移除基因和行+列移除基因?;虼鎯δK通過多路選擇器選擇細胞應配置的基因。多路選擇器的控制端由行移除信號和列移除信號控制?;虼鎯δK結構如圖9所示。

圖9 基因存儲模塊Fig.9 Genome memory module
3.2.5 地址模塊
地址模塊根據控制模塊的控制信息,將細胞的物理地址映射成邏輯地址。其結構與列移除策略的地址模塊的結構類似,區別在于橫向地址和縱向地址都受控制模塊的控制,其中橫向地址受列移除信號的控制,縱向地址受行移除信號的控制。
3.2.6 功能模塊
功能模塊根據基因存儲模塊提供的配置基因實現相應的邏輯功能。采用查找表(LUT)結構,與傳統胚胎電子陣列的功能模塊相同。同時,為了實現對功能模塊的自檢,在其內部采用三模冗余的設計形式。
為了驗證混合移除策略的容錯能力,以4位二進制乘法器為例,設計一個7 × 6的胚胎電子陣列。工作細胞規模為5 × 4,空閑細胞分布在剩余的兩列和兩行。相鄰細胞間為4通道,輸入和輸出各2路。
在陣列設計過程中,將陣列的輸入信號設計為從陣列南、北兩個方向輸入,輸出信號設計為從陣列東、西兩個方向輸出。由于陣列在行移除和列移除的過程中會產生信號端口的移位,參照文獻[4]的方法,在陣列最南行的南側輸入端口和最北行的北側輸入端口設置了多路選擇器,將最東側列的東側輸出和最西側的西側輸出接到了多個多路分配器,從而實現輸入信號和輸出信號的端口固定。
使用Xilinx ISE Design Suite 14.7軟件進行綜合、布線仿真,使用Isim軟件進行功能仿真,使用的開發板是Xilinx的Spartan6系列XC6SLX45型現場可編程門陣列(FPGA)。仿真過程中,通過故障注入的方法觸發故障。
實驗過程中,clk為陣列時鐘,周期10 ns;blk_data_z[7:0]為乘積;blk_data_xin[3:0]和blk_data_yin[3:0]為乘數;fault_inject為故障注入標志,高電平表示注入故障;col_elimination和row_elimination為列移除和行移除狀態,高電平表示正在移除操作;fault_col[5:0]和fault_row[6:0]從低位到高位依次表示陣列從西到東對應列和從北到南對應行的故障狀態,低電平表示對應列或行無故障,高電平表示對應列或行有故障;working_col[5:0]和working_row[6:0]從低位到高位依次表示陣列從西到東對應列和從北到南對應行的工作狀態,低電平表示對應列或行為空閑狀態,高電平表示對應列或行為工作狀態。
4.1.1 陣列邏輯功能的驗證
圖10所示為陣列邏輯功能驗證的時序圖。

圖10 胚胎電子陣列邏輯功能的仿真結果Fig.10 Simulated result of EEA function
由圖10可見:胚胎電子陣列從0 ns時刻啟動,經過2個周期初始化,陣列完成配置,并開始工作;胚胎電子陣列在運行初期,陣列內沒有故障細胞和連線。陣列在每次時鐘的上升沿輸出結果,輸出始終保持正確,表明所設計的胚胎電子陣列的邏輯功能正確。
4.1.2 列連線故障容錯的驗證
圖11所示為細胞間列連線故障容錯驗證的時序圖。

圖11 列連線故障容錯的仿真結果Fig.11 Simulated result of fault tolerance of column-wire
由圖11可見:
346.4 ns時,fault_inject=1,陣列注入故障,將細胞C32和C42間的一條列連線置為固定1型故障。
350 ns時,故障后的第1次時鐘上升沿到達。陣列更新輸出。由于連線故障,陣列產生錯誤輸出。
355 ns時,故障后的第1次時鐘下降沿到達。陣列發現第2列有故障連線,fault_col[5:0]變為000010.陣列啟動列移除操作,col_elimination=1.
360 ns時,時鐘上升沿再次到達。列移除修復結束,陣列輸出恢復正常。同時,第2列被移除,第5列被激活,working_col[5:0]從001111變為011101.
4.1.3 行連線故障容錯的驗證
圖12所示為細胞間行連線故障容錯驗證的時序圖。

圖12 行連線故障容錯的仿真結果Fig.12 Simulated result of fault tolerance of row-wire
由圖12可見:
523.8 ns時,fault_inject=1,陣列注入故障,將細胞C34和C35間的一條行連線置為固定0型故障。
525 ns陣列時鐘下降沿到達。陣列發現第3行有故障連線,fault_row[6:0]變為0000100.陣列啟動行移除操作,row_elimination=1.
530 ns陣列時鐘上升沿到達,行移除修復結束,陣列輸出恢復正常。同時,第3行被移除,第6行被激活,working_row[6:0]從0011111變為0111011.
由于陣列出現故障后的第1次時鐘上升沿到達前陣列已完成修復,陣列未產生錯誤輸出。
4.1.4 細胞故障容錯的驗證
圖13所示為細胞故障容錯驗證的時序圖。

圖13 細胞故障容錯的仿真結果Fig.13 Simulation result of fault tolerance of cell
由圖13可見:
668.3 ns時,fault_inject=1,陣列注入故障,將細胞C24置為故障。
670 ns時,故障后的第1次時鐘上升沿到達。細胞C24自檢發現故障。陣列啟動自修復并屏蔽輸出。陣列確定故障位于第4列,fault_col[5:0]從000010變為001010.啟動列移除操作,col_elimination=1.
680 ns時,時鐘上升沿再次到達。列移除結束,陣列輸出恢復正常。同時,第4列被移除,第6列被激活,working_col[5:0]從011101變為11010.
以上實驗結果表明,混合移除策略通過細胞移除的形式可以對列連線和行連線的永久型故障進行容錯,故障類型包括固定0型和固定1型故障。連線故障的發現時間不超過1個時鐘周期,修復時間為0.5個時鐘周期。此外,混合移除策略還可以對細胞故障進行容錯,與行、列移除和細胞移除等典型策略相比,混合移除策略提升胚胎電子陣列的容錯能力。
以4.1節的陣列規模和使用的FPGA芯片為例,假設細胞的任務分配、布局、布線相同,分別設計列移除策略、細胞移除策略和混合移除策略的胚胎電子陣列。使用Xilinx ISE Design Suite 14.7軟件進行綜合仿真,得到以Slices、Flip-Flops和LUT形式統計的3種修復策略的胚胎電子陣列的硬件資源,如表1所示。

表1 3種修復策略的硬件資源消耗量Tab.1 Hardware resource consumptions of three strategies
由表1可知,混合移除策略消耗的硬件資源略多于列移除策略和細胞移除策略。以消耗的Slices、Flip-Flops和LUT數量為指標,混合移除策略比列移除策略增加了1.59%、15.26%和15.13%,比細胞移除策略增加了0.32%、10.29%和8.19%.
表1的結果以7 × 6的陣列為例,空閑行和空閑列為2.由于陣列規模小,不同策略的細胞消耗的硬件資源差別不大。因此,混合移除策略多出的硬件消耗主要源自兩種典型策略沒有的連線狀態檢測模塊、多路選擇器和多路分配器。其功能是用于細胞間連線的檢測。此外,為了實現行移除和列移除兩種修復形式,混合移除策略以列移除策略的細胞結構為基礎,對地址模塊、控制模塊、基因存儲模塊進行了調整,但增加的硬件資源很少。由此可見,混合移除策略多消耗的硬件資源主要用于連線故障的容錯。而根據統計結果,這部分硬件資源的占比相對較小。
文獻[17]指出,當陣列的修復策略不同時,隨著空閑行和空閑列的增加,細胞消耗硬件資源的增加量不相同。其主要原因是,開關盒和基因存儲模塊的硬件資源增加量會受修復策略的影響。其中,隨著空閑行和空閑列的增加,列移除策略的細胞消耗的硬件資源僅有極少量的增加,通常可以近似認為其硬件資源相對不變。而細胞移除策略的開關盒和基因存儲模塊消耗的硬件資源會有顯著增加。
由于混合移除策略的開關盒結構與列移除策略相同,隨著空閑行和空閑列的增加,其開關盒消耗的硬件資源可以認為不變。而混合移除策略的基因存儲方式與細胞移除策略相同,隨著空閑行和空閑列的增加,其基因儲備模塊消耗的硬件資源會增加。此外,連線檢測模塊、功能模塊、控制模塊和地址模塊消耗的硬件資源不受空閑行數和空閑列數的影響。由此可見,隨著陣列規模變大,列移除策略的細胞增加的硬件量近似為0,細胞移除策略的細胞增加的硬件量相對較大,而混合移除策略的細胞增加的硬件量介于兩種典型修復策略之間。
隨著陣列規模的變大,混合移除策略的細胞硬件資源多于列移除策略,多出的硬件資源以基因存儲模塊消耗的資源為主。對于細胞移除策略,由于其細胞硬件資源增加量最大,隨著陣列規模的變大,細胞移除策略的細胞消耗的硬件資源將反超混合移除策略的細胞,多出的硬件資源以開關盒消耗的資源為主。
綜上所述可知:
1)混合移除策略為了實現對連線故障的檢測和容錯,增加了部分硬件資源,但這部分資源在陣列內的占比較小。
2)當陣列規模較小時,混合移除策略的細胞消耗的硬件資源略多于列移除策略和細胞移除策略,但差別不大,可以近似認為相等。
3)當陣列規模較大時,混合移除策略的細胞消耗硬件資源介于列移除策略和細胞移除策略兩種典型策略之間。
4)混合移除策略消耗的硬件資源基本在可接受的范圍之內,因此具有一定的實用價值。
4.3.1 可靠性模型與分析
由于胚胎電子陣列的設計者無法預知陣列的網表形式,當考慮連線故障對可靠性的影響時,很難準確評估陣列可靠性。為了能夠大致了解陣列的可靠性,選擇可靠性的下限作為陣列的可靠性,即假設陣列內的全部連線對陣列的可靠性都有影響。此外,空閑行和空閑列的連線經常被選做陣列與外部輸入輸出端口進行數據傳輸的通道,可靠性分析時也應被列入分析范圍。
假設胚胎電子陣列為M×N,工作細胞子陣列為m×n;細胞和連線的壽命服從指數分布,失效率分別為λ和μ;細胞間的連線為4通道。
根據胚胎電子陣列的修復策略可知,當工作細胞故障或相鄰細胞間的列連線故障時,胚胎電子陣列將執行列移除。因此,每列的可靠度Rs,c(t)為
Rs,c(t)=exp(-mλt-4(M-1)μt),
(9)
在t時刻,陣列內不少于n列正常的概率Pn,c(j≥n,t)為
(10)
當細胞間的行連線故障時,胚胎電子陣列將執行行移除。因此每行的可靠度Rs,r(t)為
Rs,r(t)=exp(-4(N-1)μt),
(11)
在t時刻,陣列內不少于m行正常的概率Pm,r(i≥m,t)為
(12)
陣列正常的條件是正常行不少于m行、正常列不少于n列,因此t時刻陣列正常的概率即陣列的可靠度Rh(t)為
Rh(t)=Pn,c(j≥n,t)Pm,r(i≥m,t),
(13)
胚胎電子陣列的平均壽命MTTFh為

(14)
假設工作細胞行數m=50、列數n=50,細胞失效率λ=1.0×10-6h-1,連線失效率μ=1.0×10-8h-1.空閑行數M-m=5,空閑列數N-n分別為0、2、5、10、25.圖14所示為不同空閑列對應的陣列可靠度。

圖14 不同空閑列對應的陣列可靠度Fig.14 Reliability of EEA with different spare columns
由圖14可知,隨著空閑列的增加,陣列可靠性逐漸提升。這是因為空閑列可以容錯細胞故障和列連線故障,空閑列越多,陣列的可靠度越高。
假設空閑列數N-n=25,空閑行數M-m分別為0、2、5、25、50.圖15所示為不同空閑行對應的陣列可靠度。

圖15 不同空閑行對應的陣列可靠度Fig.15 Reliability of EEA with different spare rows
由圖15可知:有空閑行的陣列的可靠性明顯優于沒有空閑行的陣列的可靠性;并非空閑行越多,陣列可靠性越高。圖15中,空閑行M-m=5時,陣列的可靠度最高。這是因為空閑行可容錯行連線故障,而連線失效率較低,只需配置少量空閑行即可明顯提升陣列可靠性??臻e行較少時,陣列可靠性隨著空閑行的增加而提升。配置大量空閑行會增加列連線數量,因此當空閑行較多且空閑列不變時,陣列的可靠性隨著空閑行的增加又逐漸減小。同時,由于連線的失效率較小,陣列可靠性減小的程度很小。
4.3.2 與典型自修復策略的對比
胚胎電子陣列的很多研究都是基于列移除策略和細胞移除策略兩種典型的自修復策略。為了驗證混合移除策略的性能,將混合移除策略和這兩種典型自修復的可靠性進行對比分析。為了便于分析,首先定義以下3個變量。
4.3.2.1 冗余度
胚胎電子陣列中空閑行占總行數的百分比為行冗余度,記為Pr;空閑列占總列數的百分比為列冗余度,記為Pc.則有
(15)
4.3.2.2 歸一化因子Qcell
對于連線不完全可靠的胚胎電子陣列,采用細胞移除策略的平均壽命與采用混合移除策略的平均壽命的比值,即
(16)
式中:MTTFcell,i為陣列采用細胞移除策略的平均壽命。
4.3.2.3 歸一化因子Qc
對于連線不完全可靠的胚胎電子陣列,采用列移除策略的平均壽命與采用混合移除策略的平均壽命的比值,即
(17)
式中:MTTFc,i為陣列采用列移除策略的平均壽命。
顯然,Qcell>1表示細胞移除策略的平均壽命優于混合移除策略。反之,混合移除策略的平均壽命更優。Qc與此類似。
假設胚胎電子陣列的行數和列數相等,且行冗余度和列冗余度相等。細胞失效率λ=1.0×10-6/h,連線失效率μ=1.0×10-8/h.
圖16所示為行冗余度Pr和列冗余度Pc分別為10%、20%、30%時,不同規模的陣列對應的Qcell曲線。陣列的行數和列數從20~100,以10為步進遞增。

圖16 不同規模的胚胎電子陣列對應的QcellFig.16 Qcell with different sizes of EA
由圖16可知,當陣列規模較小時,部分冗余度對應的Qcell>1.當陣列行數和列數為30且行冗余度Pr和列冗余度Pc為10%時,Qcell=1.416.表明此時細胞移除策略的可靠性優于混合移除策略。隨著陣列規模的增大,所有冗余度對應的Qcell逐漸減小,并都小于1.表明對于規模較大的胚胎電子陣列,混合移除策略的可靠性優于細胞移除策略。
這是因為當胚胎電子陣列的規模較小時,陣列內連線數量較少,陣列故障以細胞故障為主。同時,在修復過程中,細胞移除策略的細胞利用率較高,而混合移除策略的細胞利用率較低,因此細胞移除策略可以提供比混合移除策略更高的可靠性。隨著陣列規模的增大,陣列內連線數量增加。連線故障對陣列可靠性的影響逐漸顯著。由于細胞移除策略不能對連線故障進行容錯,而混合移除策略可以對連線故障進行容錯,因此混合移除策略的可靠性逐漸優于細胞移除策略。
圖17所示為行冗余度Pr和列冗余度Pc分別為10%、20%、30%時,不同規模陣列對應的Qc的曲線。陣列行數和列數從20~100,以10為步進遞增。

圖17 不同規模胚胎電子陣列對應的QcFig.17 Qc with different sizes of EEA
由圖17可知,對于不同規模的胚胎電子陣列,Qc始終小于1,并隨著陣列規模的增大,Qc逐漸減小。表明混合移除策略的可靠性優于列移除策略,并且陣列規模的增大,二者之間的差距變大。
這是因為混合移除策略和列移除策略的修復形式相似,修復過程中的細胞利用率相當。列移除策略不能對連線故障進行容錯,混合移除策略可以對連線故障進行容錯,因此混合移除策略的可靠性比列移除策略更高。同時,隨著陣列規模的變大,陣列內連線數量增加,列移除策略可靠性進一步減小,因此Qc隨著陣列規模的變大逐漸減小。
需要說明的是,細胞失效率與細胞消耗的硬件資源量有關。由于列移除策略、細胞移除策略和混合移除策略的細胞消耗的硬件資源不同,3種修復策略對應的細胞失效率也不相等。在本節分析中,假設3種修復策略的失效率相等,因此理論分析值與實際結果存在差距。
3種修復策略的細胞在硬件資源上的差別主要來自于開關盒和基因存儲模塊。集成電路的互連資源引發故障的概率遠大于其他部件[27]。開關盒作為細胞互連資源的主要組成,其消耗量是影響細胞失效率的主要因素。
根據4.2節可知,混合移除策略和列移除策略的開關盒資源基本相同,細胞移除策略的開關盒資源大于混合移除策略和列移除策略。因此可以認為混合移除策略和列移除策略的失效率近似相等,細胞移除策略的失效率大于混合移除策略和列移除策略。
由此可知,Qc的理論分析值與實際值近似相等,即混合移除策略和列移除策略的實際對比結果與理論分析結果一致。Qcell的實際值小于理論值,即混合移除策略相對于細胞移除策略的優勢要比理論分析結果更好。
綜合以上實驗結果可知:
1)增加空閑列可以提高混合移除策略的胚胎電子陣列的可靠性??臻e列越多,陣列的可靠性越高。適量配置空閑行可以提升陣列的可靠性,但過多的空閑行反而會降低陣列的可靠性。
2)混合移除策略對連線不完全可靠的胚胎電子陣列具有較好的容錯能力。特別是規模大、連線多的胚胎電子陣列,采用混合移除策略可以獲得比列移除策略和細胞移除策略更高的可靠性。
本文提出混合移除策略,對胚胎電子陣列的連線故障進行容錯。設計了基于混合移除修復策略的細胞結構,通過仿真實驗對混合移除策略進行了驗證,并對混合移除策略的可靠性和硬件資源消耗進行了分析。得出主要結論如下:
1)混合移除策略的容錯能力強?;旌弦瞥呗阅軌驅B線故障和細胞故障進行容錯,故障覆蓋范圍優于傳統的列移除策略和細胞移除策略。
2)混合移除策略的硬件資源消耗量有限。為了實現對連線故障的容錯,混合移除策略增加了部分硬件資源。與列移除策略和單細胞移除策略相比,當陣列規模較小時,混合移除策略消耗的硬件略多于列移除策略和單細胞移除策略,但三者的硬件資源消耗量差別不大;當陣列規模較大時,混合移除策略消耗的硬件資源介于列移除策略和細胞移除策略之間。
3)混合移除策略的可靠性高。對于連線不完全可靠的胚胎電子陣列,隨著陣列規模的增大和連線數量的增加,混合移除策略具有比列移除策略和單細胞移除策略更高的可靠性。