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