吳珍妮
【摘 要】隨著集成電路特征尺寸進入納米級,高能粒子造成的軟錯誤已對電路的正常工作構成嚴重威脅。現代通信設備的集成電路具有工作頻率高、存儲單元數量多的特點,易受軟錯誤影響。本文簡述了軟錯誤的原理與現象,并列舉了現代通信設備中軟錯誤造成的影響以及防護措施實例。
【關鍵詞】軟錯誤;DSP;防護
中圖分類號: TN431.2 文獻標識碼: 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)也被稱為單事件翻轉(SEU, Single Event Upset),是由宇宙輻射中的中子和封裝材料中的α粒子轟擊電路所造成的瞬態錯誤[1]。它是一種間歇性的不可預測的硬件工作錯誤。過去曾經認為高能粒子在穿越大氣層時能量迅速減弱,將不會引起地面上的集成電路發生功能性錯誤。但是隨著集成電路特征尺寸的急劇減小,單芯片中的節點迅速增加,并且由于供電電壓的降低,節點的電量也隨之降低,較低能量的粒子也有可能影響集成電路的正常運行[2]。當粒子轟擊集成電路時,粒子與硅晶格在庫倫力的作用下會產生沉積電荷。當電荷累計到一定量時,受影響節點會翻轉到一個錯誤的邏輯值。對于存儲器或觸發器等時序邏輯電路,錯誤的值將被保持直到下一個值寫入,這種現象被稱為SEU。對于組合邏輯電路,錯誤值只會形成一個寬0.35ns~1.3ns的毛刺[3],稱為單事件瞬態(SET, Single Event Transient)。SEU的發生頻率很高,商用MIPS處理器在500公里地球近地軌道上大約每分鐘發生一次SEU[2]。
1 通信系統中的軟錯誤現象
在現代通信系統中,存儲單元軟錯誤的發生極為常見。TI的文檔中將單事件翻轉造成的原因歸納為以下兩點:
1.1 α粒子排放
包裝材料(通常238U和232Th的)會發生自發輻射事件,這些事件將創造α粒子通過半導體并引起跳變,發生率是由所使用的包裝材料來確定。
1.2 中子罷工
大氣里的中子會撞擊材料在芯片內引起連鎖反應,導致生成阿爾法粒子,發生率是由該裝置的地理位置和周圍的環境來確定。
1bit跳變在一個關鍵的DSP內存空間會導致DSP的即時異常,引發的DSP資源不可用告警。由于現在1bit跳變檢測是對片內代碼段進行檢測的,但是如果發生在其他地方,如數據段等,那樣就檢測不出來(代碼就會跑飛),或者發生1bit跳變時并沒有檢測到的時候,業務也會有問題,但是不會上報任何告警,DSP也不會復位。在上報DSP資源不可用告警的時候,DSP的所有服務將被釋放,然后在DSP內存信息將存儲在一個黑盒內。在收集DSP的黑盒信息期間,業務將建立在其它DSP上。收集完成時,DSP將被重置并重新加載。DSP的重裝過程完成后,告警將被清除。整個過程如圖1所示。
1bit跳變在非關鍵的DSP存儲器空間不會導致DSP的即時異常。在這種情況下,為了避免這種不正常的DSP上運行的服務,該內存將被定期檢查,它被定義為內存軟校驗。
2 通信設備的軟錯誤防護實例
某通信公司處理的故障某日接到用戶投訴,表示連續呼叫多次均自動釋放,后臺查看該用戶呼叫記錄,釋放原因為“28:IU-UP失敗”,
IU-UP消息屬于RANAP消息,一般出現在RNC到MGW承載建立過程中。通過當天全時段查詢,失敗原因為“28:IU-UP失敗”的記錄只有在無線主設備RNCX下存在,單小時可達165次,而在該時間段,RNCX下的呼叫記錄有34854條,發生概率非常低,約0.34%。通過系統繼續分析其他RNC業務信道指配成功率,發現RNCX成功率為99.35%,遠低于其他RNC(一般為99.7%以上)。而失敗原因為“28:IU-UP失敗”的只有RNCX下存在上百次統計,其余RNC均為0。問題初步定位為RNCX承載建立過程存在問題。通過后臺告警、性能進行分析發現RNCX電路域RAB指派建立失敗的RAB數目指標中確實存在少量的IUUP建立失敗的情況,通過歷史性能查詢發現該問題從投訴發生前一日中午開始出現。后將該設備前后的配置及參數數據進行比對未發現有異常數據修改。通過獲取RNCX的關聯日志以及系統日志分析發現,IUUP失敗集中在某塊DSP模塊上面,懷疑是由于DSP異常引起。
該公司當晚將異常DSP進行復位操作,“IU-UP失敗”現象消失,問題得到解決。通過獲取黑盒再次進行分析發現giErrorCode=190,該代碼對應到的DSP故障原因為DSP出現1bit跳變。隨后對設備打開如下功能,問題得到解決:
2.1 打開內存軟校驗
DSP的內存會定期檢查。如果MemChkFailReSwi開關處于ON,當發現一個DSP的位跳變, DSP將被重置。如果MemChkFailReSwi為OFF時,將不對DSP做任何操作。
2.2 打開ECC的邏輯功能
當ECC邏輯被使用(SlaveEccSwitch為ON),1bit錯誤可以被校正。但是,在代碼存儲區被限制。根據TI的文檔中,ECC邏輯功能的主要目的是為了保護該程序代碼和靜態數據,是不經常改變。ECC邏輯能夠檢測雙位錯誤,并在每個256位對齊訪問糾正單比特錯誤。
【參考文獻】
[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].計算機學報,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.