吳珍妮
【摘 要】隨著集成電路特征尺寸進(jìn)入納米級,高能粒子造成的軟錯誤已對電路的正常工作構(gòu)成嚴(yán)重威脅?,F(xiàn)代通信設(shè)備的集成電路具有工作頻率高、存儲單元數(shù)量多的特點(diǎn),易受軟錯誤影響。本文簡述了軟錯誤的原理與現(xiàn)象,并列舉了現(xiàn)代通信設(shè)備中軟錯誤造成的影響以及防護(hù)措施實(shí)例。
【關(guān)鍵詞】軟錯誤;DSP;防護(hù)
中圖分類號: TN431.2 文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2018)17-0253-002
DOI:10.19694/j.cnki.issn2095-2457.2018.17.127
【Abstract】As the feature sizes of integrate circuits decrease to nm, high-energy particles have posed a great threat to circuits normal function.Integrate circuits of modern communication equipment have high working frequency and a large number of storage elements,are easily affected by soft error. This paper describes theory and phenomenon of soft error, and lists an example of modern communication equipment protection.
【Key words】Soft error;DSP;Protection
0 引言
軟錯誤(soft error)也被稱為單事件翻轉(zhuǎn)(SEU, Single Event Upset),是由宇宙輻射中的中子和封裝材料中的α粒子轟擊電路所造成的瞬態(tài)錯誤[1]。它是一種間歇性的不可預(yù)測的硬件工作錯誤。過去曾經(jīng)認(rèn)為高能粒子在穿越大氣層時(shí)能量迅速減弱,將不會引起地面上的集成電路發(fā)生功能性錯誤。但是隨著集成電路特征尺寸的急劇減小,單芯片中的節(jié)點(diǎn)迅速增加,并且由于供電電壓的降低,節(jié)點(diǎn)的電量也隨之降低,較低能量的粒子也有可能影響集成電路的正常運(yùn)行[2]。當(dāng)粒子轟擊集成電路時(shí),粒子與硅晶格在庫倫力的作用下會產(chǎn)生沉積電荷。當(dāng)電荷累計(jì)到一定量時(shí),受影響節(jié)點(diǎn)會翻轉(zhuǎn)到一個錯誤的邏輯值。對于存儲器或觸發(fā)器等時(shí)序邏輯電路,錯誤的值將被保持直到下一個值寫入,這種現(xiàn)象被稱為SEU。對于組合邏輯電路,錯誤值只會形成一個寬0.35ns~1.3ns的毛刺[3],稱為單事件瞬態(tài)(SET, Single Event Transient)。SEU的發(fā)生頻率很高,商用MIPS處理器在500公里地球近地軌道上大約每分鐘發(fā)生一次SEU[2]。
1 通信系統(tǒng)中的軟錯誤現(xiàn)象
在現(xiàn)代通信系統(tǒng)中,存儲單元軟錯誤的發(fā)生極為常見。TI的文檔中將單事件翻轉(zhuǎn)造成的原因歸納為以下兩點(diǎn):
1.1 α粒子排放
包裝材料(通常238U和232Th的)會發(fā)生自發(fā)輻射事件,這些事件將創(chuàng)造α粒子通過半導(dǎo)體并引起跳變,發(fā)生率是由所使用的包裝材料來確定。
1.2 中子罷工
大氣里的中子會撞擊材料在芯片內(nèi)引起連鎖反應(yīng),導(dǎo)致生成阿爾法粒子,發(fā)生率是由該裝置的地理位置和周圍的環(huán)境來確定。
1bit跳變在一個關(guān)鍵的DSP內(nèi)存空間會導(dǎo)致DSP的即時(shí)異常,引發(fā)的DSP資源不可用告警。由于現(xiàn)在1bit跳變檢測是對片內(nèi)代碼段進(jìn)行檢測的,但是如果發(fā)生在其他地方,如數(shù)據(jù)段等,那樣就檢測不出來(代碼就會跑飛),或者發(fā)生1bit跳變時(shí)并沒有檢測到的時(shí)候,業(yè)務(wù)也會有問題,但是不會上報(bào)任何告警,DSP也不會復(fù)位。在上報(bào)DSP資源不可用告警的時(shí)候,DSP的所有服務(wù)將被釋放,然后在DSP內(nèi)存信息將存儲在一個黑盒內(nèi)。在收集DSP的黑盒信息期間,業(yè)務(wù)將建立在其它DSP上。收集完成時(shí),DSP將被重置并重新加載。DSP的重裝過程完成后,告警將被清除。整個過程如圖1所示。
1bit跳變在非關(guān)鍵的DSP存儲器空間不會導(dǎo)致DSP的即時(shí)異常。在這種情況下,為了避免這種不正常的DSP上運(yùn)行的服務(wù),該內(nèi)存將被定期檢查,它被定義為內(nèi)存軟校驗(yàn)。
2 通信設(shè)備的軟錯誤防護(hù)實(shí)例
某通信公司處理的故障某日接到用戶投訴,表示連續(xù)呼叫多次均自動釋放,后臺查看該用戶呼叫記錄,釋放原因?yàn)椤?8:IU-UP失敗”,
IU-UP消息屬于RANAP消息,一般出現(xiàn)在RNC到MGW承載建立過程中。通過當(dāng)天全時(shí)段查詢,失敗原因?yàn)椤?8:IU-UP失敗”的記錄只有在無線主設(shè)備RNCX下存在,單小時(shí)可達(dá)165次,而在該時(shí)間段,RNCX下的呼叫記錄有34854條,發(fā)生概率非常低,約0.34%。通過系統(tǒng)繼續(xù)分析其他RNC業(yè)務(wù)信道指配成功率,發(fā)現(xiàn)RNCX成功率為99.35%,遠(yuǎn)低于其他RNC(一般為99.7%以上)。而失敗原因?yàn)椤?8:IU-UP失敗”的只有RNCX下存在上百次統(tǒng)計(jì),其余RNC均為0。問題初步定位為RNCX承載建立過程存在問題。通過后臺告警、性能進(jìn)行分析發(fā)現(xiàn)RNCX電路域RAB指派建立失敗的RAB數(shù)目指標(biāo)中確實(shí)存在少量的IUUP建立失敗的情況,通過歷史性能查詢發(fā)現(xiàn)該問題從投訴發(fā)生前一日中午開始出現(xiàn)。后將該設(shè)備前后的配置及參數(shù)數(shù)據(jù)進(jìn)行比對未發(fā)現(xiàn)有異常數(shù)據(jù)修改。通過獲取RNCX的關(guān)聯(lián)日志以及系統(tǒng)日志分析發(fā)現(xiàn),IUUP失敗集中在某塊DSP模塊上面,懷疑是由于DSP異常引起。
該公司當(dāng)晚將異常DSP進(jìn)行復(fù)位操作,“IU-UP失敗”現(xiàn)象消失,問題得到解決。通過獲取黑盒再次進(jìn)行分析發(fā)現(xiàn)giErrorCode=190,該代碼對應(yīng)到的DSP故障原因?yàn)镈SP出現(xiàn)1bit跳變。隨后對設(shè)備打開如下功能,問題得到解決:
2.1 打開內(nèi)存軟校驗(yàn)
DSP的內(nèi)存會定期檢查。如果MemChkFailReSwi開關(guān)處于ON,當(dāng)發(fā)現(xiàn)一個DSP的位跳變, DSP將被重置。如果MemChkFailReSwi為OFF時(shí),將不對DSP做任何操作。
2.2 打開ECC的邏輯功能
當(dāng)ECC邏輯被使用(SlaveEccSwitch為ON),1bit錯誤可以被校正。但是,在代碼存儲區(qū)被限制。根據(jù)TI的文檔中,ECC邏輯功能的主要目的是為了保護(hù)該程序代碼和靜態(tài)數(shù)據(jù),是不經(jīng)常改變。ECC邏輯能夠檢測雙位錯誤,并在每個256位對齊訪問糾正單比特錯誤。
【參考文獻(xiàn)】
[1]S. Mitra, N. Seifert, M. Zhang, Q. Shi, and K. S. Kim. Robust system design with built-in soft-error resilience[J]. Computer, 2005,38(2):43-52.
[2]陳微,龔銳,劉芳,戴葵,王志英.FT51:一種容軟錯誤高可靠微控制器[J].計(jì)算機(jī)學(xué)報(bào),2007,第30卷(第10期):1662-1673.
[3]P.Eaton,J.Benedetto, D.Mavis,K.Avery,M.Sibley,M.Gadlage,and T.Turflinger.Single event transient pulsewidth measurements using a variable temporal latch technique[J].Nuclear Science, IEEE Transactions on, 2004, 51(6):3365-3368.