摘要
隨著集成電路(IC)工藝節(jié)點(diǎn)不斷縮小,器件更容易受高能粒子的攻擊而發(fā)生單粒子翻轉(zhuǎn)(single-event upset, SEU)。特別應(yīng)該關(guān)注的是器件中的靜態(tài)RAM結(jié)構(gòu)。這些風(fēng)險(xiǎn)在太空應(yīng)用領(lǐng)域已經(jīng)是早被意識(shí)到的問(wèn)題,如今這種擔(dān)憂也正在蔓延到其它領(lǐng)域,如網(wǎng)絡(luò)、航空電子、汽車(chē),以及醫(yī)療器件。醫(yī)療器件不僅會(huì)受到自然環(huán)境存在的宇宙射線攻擊,而且還得在現(xiàn)代醫(yī)療機(jī)構(gòu)中常見(jiàn)的輻射環(huán)境中工作。由于這類(lèi)風(fēng)險(xiǎn)是顯然的事實(shí),醫(yī)療器件設(shè)計(jì)人員如今在器件選型時(shí),也必須要考慮器件的SEU影響。本文將就這種風(fēng)險(xiǎn)給出定義,并討論在可編程邏輯器件內(nèi)減少和避免這些風(fēng)險(xiǎn)的方法。
引言
CMOS存儲(chǔ)結(jié)構(gòu)(如靜態(tài)RAM單元和觸發(fā)器)在受到高能粒子轟擊時(shí)容易發(fā)生翻轉(zhuǎn)(即狀態(tài)改變)。這些高能粒子可能是阿爾法(alpha)粒子、中子、質(zhì)子或各種重離子,他們是由宇宙射線與大氣外層中的粒子碰撞,或宇宙射線釋放的粒子與宇宙射線二次碰撞而產(chǎn)生的
宇宙射線的主要成分是中子,其次是占地球表面中子通量的7%至32%的質(zhì)子。
這些粒子的其它來(lái)源是封裝和硅基片本身。集成電路的封裝材料含有微量的鈾和釷(thorium)。這兩種元素都會(huì)產(chǎn)生高能阿爾法粒子。此外,在多晶硅摻雜、基片摻雜,或硼磷硅玻璃(BPSG)中,要大量使用硼元素。當(dāng)這些常見(jiàn)的硼同位素(10B)之一被某一低能量(熱能)中子擊中(即所謂中子捕獲),就會(huì)產(chǎn)生一個(gè)鋰離子和一個(gè)阿爾法粒子。如果基片中硼元素和宇宙射線中的低能量中子達(dá)到一定濃度,這種輻射效應(yīng)可能會(huì)較大。由于這些粒子的源頭都在器件內(nèi)部,因此,再多的外部屏蔽措施也無(wú)法阻擋這些粒子。
當(dāng)這些帶電粒子轟擊到IC的硅片上,將留下一道電離痕。類(lèi)似地,當(dāng)一個(gè)高能粒子(如中子) 撞到硅片上,將與硅片內(nèi)的原子碰撞,釋放一群帶電粒子,這也會(huì)留下一道電離痕。這種電離作用會(huì)產(chǎn)生足以使柵極過(guò)壓,從而改變存儲(chǔ)單元狀態(tài)(位翻轉(zhuǎn))的電荷。這種存儲(chǔ)單元的狀態(tài)變化即單粒子翻轉(zhuǎn)(SEU)(參見(jiàn)圖1)。
存儲(chǔ)單元的這種翻轉(zhuǎn)狀態(tài)是暫時(shí)性的,存儲(chǔ)器在下次寫(xiě)入或重置(如重新上電)時(shí),翻轉(zhuǎn)就會(huì)被清除。目前還未見(jiàn)SEU導(dǎo)致電路永久性損壞的情況。
存儲(chǔ)器電路的SEU敏感性正在隨器件的更新?lián)Q代而增加。隨著工藝尺寸的縮小,還會(huì)出現(xiàn)以下情況:
- 供電電壓減小,發(fā)生SEU所需的閾值降低。
- 柵極面積縮小,造成電容減小,進(jìn)而減小了能夠降低發(fā)生翻轉(zhuǎn)所需的臨界電荷。
- 存儲(chǔ)單元面積縮小,截面面積減小,因此也減少了粒子轟擊的機(jī)會(huì)。
其后果是存儲(chǔ)器組件的SEU敏感性增加。這樣,原本僅在太空應(yīng)用中才需要關(guān)注的問(wèn)題,如今甚至成為地面上的高可靠性設(shè)備(如醫(yī)療設(shè)備)設(shè)計(jì)人員的心病。
圖1:帶電粒子造成SEU
FPGA技術(shù)與SEU敏感性
所有FPGA都有許多共同的特點(diǎn):都有一個(gè)邏輯陣列(即FPGA基礎(chǔ)架構(gòu)),一組嵌入式存儲(chǔ)器,可能還有一些其它特殊構(gòu)件(如乘法器或DSP),時(shí)鐘管理電路(如PLL)以及周邊的可編程I/O接口電路。不同F(xiàn)PGA產(chǎn)品系列間的關(guān)鍵差異之一是其邏輯陣列。不同供應(yīng)商之FPGA產(chǎn)品系列的邏輯模塊所采用的具體結(jié)構(gòu)和模塊互連方式都有所不同。而這種互連方式正是對(duì)SEU的關(guān)注的重點(diǎn)所在。
FPGA有兩種走線方式:金屬連接和通孔連接。而FPGA中的這些通孔是可編程的,構(gòu)成整個(gè)可編程邏輯技術(shù)的基礎(chǔ)。
這些可編程的通孔也用于各邏輯模塊和整個(gè)器件的配置設(shè)定,F(xiàn)PGA行業(yè)中采用三種類(lèi)型的通孔連接技術(shù):反熔絲、快閃和SRAM。
反熔絲技術(shù)
反熔絲技術(shù)(可編程鏈路)是一種金屬間的可編程互連組件,位于最上面的兩個(gè)金屬層之間。反熔絲一般處于開(kāi)路狀態(tài),且當(dāng)編程后就形成一個(gè)永久性的無(wú)源低阻抗連接。由于對(duì)反熔絲編程需要多個(gè)高壓脈沖,因此,高能粒子不可能改變其編程狀態(tài)。
圖2: 反熔絲技術(shù)
反熔絲有如下主要特點(diǎn):
- 一旦編程后,不可再重新編程;
- 編程所需能量較高;
- 編程是在板外完成的,作為OEM制造工藝的一部分;
- 屬靜態(tài)結(jié)構(gòu),不涉及任何晶體管,斷電后結(jié)構(gòu)狀態(tài)仍然保持;
- SEU免疫能力
快閃技術(shù)
基于快閃技術(shù)的FPGA中采用的互連組件是一種快閃開(kāi)關(guān)。與所有快閃存儲(chǔ)器一樣,這些快閃開(kāi)關(guān)編程后的狀態(tài)是非易失性的。對(duì)一個(gè)快閃開(kāi)關(guān)進(jìn)行編程/擦除需要的電壓和能量遠(yuǎn)遠(yuǎn)高于宇宙射線誘發(fā)的粒子所產(chǎn)生的電壓和能量。
圖3:快閃開(kāi)關(guān)
快閃開(kāi)關(guān)有如下主要特點(diǎn):
- 可重新編程;
- 互連快閃開(kāi)關(guān)編程所需能量較高;
- 屬靜態(tài)結(jié)構(gòu),斷電后結(jié)構(gòu)狀態(tài)仍然保持;
- SEU免疫能力
SRAM技術(shù)
基于SRAM的FPGA中的基本可編程通孔是一個(gè)僅有一個(gè)位的SRAM單元。這種SRAM通孔的編程和擦除方式與其它SRAM存儲(chǔ)器一樣。雖然SRAM通孔比一般SRAM組件更牢靠,但之后的狀態(tài)也很容易被宇宙射線引發(fā)的輻射撞擊產(chǎn)生的電荷改寫(xiě)。
SRAM通孔有如下主要特點(diǎn):
- 可重新編程;
- 編程所需能量較?。?/li>
- 編程本質(zhì)上就是對(duì)通孔狀態(tài)組構(gòu)存儲(chǔ)位的寫(xiě)操作;
- 由多個(gè)晶體管構(gòu)成的易失性結(jié)構(gòu),斷電后結(jié)構(gòu)狀態(tài)清除;
- 易受SEU攻擊。
SEU——醫(yī)療設(shè)備領(lǐng)域不斷增大的關(guān)注
與FPGA的其它產(chǎn)品領(lǐng)域一樣,人們也正在逐漸認(rèn)識(shí)SEU,以及其對(duì)醫(yī)療設(shè)備的影響。例如,1998年Bradley和Normand就報(bào)道了可植入心臟除顫器中發(fā)生SEU的事件。該報(bào)告給出了第一套表明植入醫(yī)療設(shè)備上發(fā)生宇宙射線輻射效應(yīng)的臨床數(shù)據(jù)。
基于Bradley和Normand的發(fā)現(xiàn),加拿大的St. Jude Medical公司于2005年向醫(yī)生發(fā)出忠告,警告可植入心臟除顫器的存儲(chǔ)器如果發(fā)生SEU事件,有機(jī)會(huì)造成設(shè)備電池過(guò)度耗電。
除了Bradley和Normand曾研究的那些地面水平誘發(fā)的錯(cuò)誤外,現(xiàn)代醫(yī)療設(shè)備,如便攜輸液泵、飛機(jī)上使用的心臟除顫器、起搏器,以及可植入心臟除顫器,都必須能在民航飛行環(huán)境(中子通量較大的飛行高度)運(yùn)行。
電路的出錯(cuò)率通常正比于運(yùn)行環(huán)境中的相對(duì)中子通量。兩極航線附近40000英尺飛行高度的中子通量大約是美國(guó)紐約市地面(JESD98A定義的參考點(diǎn))的600倍,這個(gè)通量意味著在飛機(jī)上運(yùn)行的設(shè)備的SEU風(fēng)險(xiǎn)大幅度增加。因此,運(yùn)行在兩極附近如此飛行高度的設(shè)備的失效率(FIT)大約是低海拔運(yùn)行設(shè)備的600倍。
然而,宇宙射線和器件材料并非醫(yī)療設(shè)備環(huán)境中電離輻射的唯一源頭。隨著新技術(shù)(如利用電離輻射來(lái)殺死癌細(xì)胞的治療方法)的興起,設(shè)計(jì)人員必須考慮在局部產(chǎn)生的粒子通量。事實(shí)上,Guo, et al曾研究過(guò)運(yùn)行在高能模式下的Varian直線加速器(LINAC)產(chǎn)生的通量。研究表明,典型的放射治療室中的翻轉(zhuǎn)事件率達(dá)每天38 SEUs/MB。對(duì)現(xiàn)代電子器件的存儲(chǔ)內(nèi)容而言,這個(gè)出錯(cuò)率的確相當(dāng)可觀。
SEU的抑制與免疫措施
所有FPGA,無(wú)論是基于SRAM,快閃,還是反熔絲技術(shù)的,都含有易發(fā)SEU的SRAM存儲(chǔ)模塊和觸發(fā)器。觸發(fā)器是最穩(wěn)健的存儲(chǔ)結(jié)構(gòu),僅在高輻射環(huán)境中(如太空)才出現(xiàn)翻轉(zhuǎn)。抑制觸發(fā)器的固件錯(cuò)誤措施是眾所周知的;例如可通過(guò)三模塊冗余(triple-module redundancy,TMR)來(lái)實(shí)現(xiàn)。SRAM存儲(chǔ)構(gòu)件的翻轉(zhuǎn)也可借助一些用于檢測(cè)和糾正其它錯(cuò)誤的標(biāo)準(zhǔn)技術(shù)(如檢錯(cuò)糾錯(cuò)電路EDAC)來(lái)抑制。這樣,這類(lèi)存儲(chǔ)結(jié)構(gòu)的翻轉(zhuǎn)可歸類(lèi)為軟故障,且只要有抑制措施,就不會(huì)蔓延到系統(tǒng)的其余部分。
基于SRAM的FPGA還有另一個(gè)與SEU事件相關(guān)的憂慮:FPGA器件的配置存儲(chǔ)器部分本質(zhì)上是一個(gè)大容量SRAM。因此,配置存儲(chǔ)器一旦發(fā)生SEU事件,就會(huì)以兩種方式之一改變器件的功能性:
- 改變走線連接狀態(tài)(使原設(shè)計(jì)中不連接或斷開(kāi)的線路發(fā)生連接或短路);
- 改變存儲(chǔ)配置,因而改變邏輯單元和I/O結(jié)構(gòu)的功能(例如將某一輸入變成輸出)。
這些錯(cuò)誤叫做固件錯(cuò)誤(相對(duì)于軟錯(cuò)誤),因?yàn)樗鼈儠?huì)影響器件的功能,且不能實(shí)時(shí)糾正。由于基于SRAM的FGPA中的配置存儲(chǔ)位眾多,潛在的SEU風(fēng)險(xiǎn)對(duì)系統(tǒng)的穩(wěn)定性影響極大。
例如,Xilinx公司自行對(duì)工作在40,000英尺高度中子通量環(huán)境中的小容量Virtex®-5器件(XC5VLX50)的配置存儲(chǔ)位出錯(cuò)率估計(jì)是570,125 到809,971 FIT,即平均無(wú)故障時(shí)間(MTBF)相當(dāng)于1.23到2.61個(gè)月。由于許多設(shè)備會(huì)包含多個(gè)FPGA,其在某一處理任務(wù)期間發(fā)生固件錯(cuò)誤的可能性相當(dāng)高。
圖4:基于反熔絲、SRAM和快閃技術(shù)的FPGA的系統(tǒng)重置率預(yù)測(cè)
注:該圖給出的是40,000英尺高度的最大中子通量情況下的FIT預(yù)測(cè)值。AX1000和APA1000中未曾觀察到固件錯(cuò)誤。這里給出的FIT值表示給定樣本的統(tǒng)計(jì)上限。
配置存儲(chǔ)構(gòu)件FIT
抑制基于SRAM的FPGA中的SEU
由于對(duì)SEU的認(rèn)識(shí)逐漸加強(qiáng),基于SRAM的FPGA制造商提出了各種抑制技術(shù),從強(qiáng)力性技術(shù)到更復(fù)雜的技術(shù)都有。
最簡(jiǎn)單的方法是直接定期重新配置FPGA,清除積累的任何錯(cuò)誤。這種方法要成功,設(shè)計(jì)人員必須確定潛在錯(cuò)誤的影響,以及這些錯(cuò)誤蔓延所需的時(shí)間。其思路是在這個(gè)時(shí)間段之內(nèi)重新配置FPGA。雖然錯(cuò)誤仍然會(huì)蔓延,但潛在的損害被重新配置所限制。此外,F(xiàn)PGA內(nèi)的功能僅在重新配置完成之后才可使用。
隨著基于SRAM的器件更新?lián)Q代,用戶會(huì)利用配置引擎中的內(nèi)置檢測(cè)方案。采用配置存儲(chǔ)回讀(readback)功能,可計(jì)算每個(gè)組態(tài)配置數(shù)據(jù)的循環(huán)冗余校驗(yàn)(CRC)值,并與某一標(biāo)準(zhǔn)CRC比較。如果檢測(cè)到失配情況,則說(shuō)明有SEU發(fā)生,應(yīng)用程序就會(huì)重新配置FPGA。
另外,應(yīng)用程序也可嘗試糾正錯(cuò)誤,以后臺(tái)方式重寫(xiě)配置數(shù)據(jù)。同樣,雖然錯(cuò)誤仍然會(huì)蔓延,但其處于未糾正狀態(tài)的時(shí)間大大減小。
抑制不等于免疫
無(wú)論采用何種方法,抑制都是事后糾錯(cuò);換句話說(shuō),抑制是試圖減少錯(cuò)誤的影響。在各種情況下,糾錯(cuò)方案只能應(yīng)對(duì)配置存儲(chǔ)器中單個(gè)位上的錯(cuò)誤。多個(gè)位發(fā)生錯(cuò)誤時(shí)就需要重新配置器件。而且,實(shí)現(xiàn)抑制方案需要耗費(fèi)額外的可靠性分析和重建時(shí)間。
所以我們絕不能將抑制與免疫視作等同。采用抑制措施后,固件錯(cuò)誤仍然會(huì)出現(xiàn),并會(huì)在系統(tǒng)內(nèi)蔓延。這種措施的希望目標(biāo)是在發(fā)生實(shí)質(zhì)性影響前檢測(cè)和消除任何已經(jīng)發(fā)生的固件錯(cuò)誤。
除對(duì)醫(yī)療設(shè)備(甚至采取了抑制措施的設(shè)備)中潛在SEU事件引起的可靠性擔(dān)憂外,潛在的固件錯(cuò)誤也產(chǎn)生責(zé)任性問(wèn)題。如果某一廠家采用了眾所周知具有SEU敏感性的器件,那么,就可能卷入過(guò)失擔(dān)責(zé)的糾紛;直線加速器在治療過(guò)程中突然失效,產(chǎn)生過(guò)量輻射就是一個(gè)例子。如果控制電路都在一塊FGPA中,人們會(huì)認(rèn)為,是某個(gè)SEU事件導(dǎo)致該設(shè)備失效,而廠家采用具有SEU脆弱性的技術(shù)是有過(guò)失的。
使用具有SEU免疫能力的FPGA不僅能夠簡(jiǎn)化系統(tǒng)設(shè)計(jì),而且還能讓設(shè)備廠家免除任何潛在的法律糾紛。
正如iRoC Technologies公司的Olmos所演示的,與基于SRAM的FPGA不同,基于快閃和反熔絲的FPGA不會(huì)發(fā)生配置錯(cuò)誤(即不會(huì)被SEU影響)。因此,設(shè)計(jì)人員既不必分析這些固件錯(cuò)誤對(duì)系統(tǒng)的潛在影響,也不必設(shè)計(jì)和測(cè)試抑制方案。
結(jié)論
SEU早就是太空應(yīng)用領(lǐng)域的所關(guān)注的問(wèn)題,而且,隨著對(duì)這類(lèi)問(wèn)題的報(bào)道越來(lái)越多,醫(yī)療設(shè)備領(lǐng)域?qū)@個(gè)問(wèn)題的憂慮也已突顯?;赟RAM的FPGA中的配置存儲(chǔ)器先天就有SEU脆弱性。這種脆弱性會(huì)導(dǎo)致器件設(shè)計(jì)功能改變,進(jìn)而影響病人的生命安全。雖然針對(duì)基于SRAM的FPGA中的配置存儲(chǔ)器有各種錯(cuò)誤抑制技術(shù),但錯(cuò)誤仍然會(huì)發(fā)生;要抑制這些固件錯(cuò)誤,必須清楚了解它們對(duì)系統(tǒng)可靠性的影響。相反,基于快閃和反熔絲的FPGA不會(huì)發(fā)生配置錯(cuò)誤,具有更高的系統(tǒng)可靠性