鮑迪 孫逸帆 劉驍 王冠雄 楊鹿
(上海航天電子技術(shù)研究所/八院智能計(jì)算技術(shù)重點(diǎn)實(shí)驗(yàn)室,上海,201109)
隨著空間應(yīng)用技術(shù)的發(fā)展,針對星載數(shù)據(jù)高速處理、交換及大吞吐量的需求,采用COTS器件的分布式大容量存儲架構(gòu)具有成本低廉、功能密度高、開發(fā)周期短等特點(diǎn)。然而COTS器件一般不采用抗輻照工藝、器件內(nèi)部單元庫未采取加固設(shè)計(jì),通常沒有抗輻照指標(biāo),器件本身抗單粒子翻轉(zhuǎn) (SEU)、閂鎖 (SEL)、總劑量 (TID)等空間輻射能力較弱。如果不對其進(jìn)行有針對性的可靠性設(shè)計(jì),容易引發(fā)數(shù)據(jù)運(yùn)算錯誤、功能中斷等故障,影響在軌任務(wù)的正常執(zhí)行。
隨著信息技術(shù)的高速發(fā)展,越來越多的領(lǐng)域采用多片NAND Flash級聯(lián)或組成陣列以擴(kuò)大存儲空間和提高數(shù)據(jù)吞吐量。NAND Flash寫入的平均時(shí)間為 200μs,最大等待時(shí)間為 700μs,若不按順序依次寫入數(shù)據(jù),速度就會很慢,無法滿足實(shí)際的使用要求[1]。
采用多通道NAND Flash陣列,可以有效地解決這一問題。在多通道NAND Flash陣列中,每個(gè)閃存通道都有自己獨(dú)立的通道緩存、時(shí)序模塊、數(shù)據(jù)總線和控制總線,每個(gè)通道并行工作互不影響,由硬件邏輯來實(shí)現(xiàn)數(shù)據(jù)到各個(gè)通道上的自動分配,大大提高了數(shù)據(jù)的傳輸速度。
但由于NAND Flash本身的工藝局限性,數(shù)據(jù)在傳輸與存儲過程中可能發(fā)生 “位翻轉(zhuǎn)”的現(xiàn)象。故為了保證存儲數(shù)據(jù)的可靠性,NAND Flash存儲系統(tǒng)在使用過程中需要伴隨一定的檢錯與糾錯機(jī)制。而且COTS器件為了減小尺寸,往往采用新材料、新結(jié)構(gòu)及新封裝形式。生產(chǎn)廠商為獲得最大利益,在滿足設(shè)計(jì)指標(biāo)的基礎(chǔ)上,對設(shè)計(jì)、工藝、產(chǎn)地的要求都比較寬松,不同批次器件一致性較差,且器件記錄不完整,一旦出現(xiàn)問題,用戶無法追溯。商用器件的應(yīng)用環(huán)境不是太空環(huán)境,設(shè)計(jì)時(shí)不會考慮空間環(huán)境應(yīng)用,更缺乏應(yīng)用于宇航環(huán)境的可靠性數(shù)據(jù)與試驗(yàn),因此直接用于宇航領(lǐng)域存在較大風(fēng)險(xiǎn)。
與宇航級器件相比,COTS器件在出廠時(shí)沒有進(jìn)行嚴(yán)格的篩選試驗(yàn),導(dǎo)致衛(wèi)星研制過程中可能采購到固有失效率較高的COTS器件。因此,為保證工程實(shí)用性,需要制定針對COTS器件的篩選和選用規(guī)范,保證器件的可用性和可靠性。
a)優(yōu)選具有成功飛行經(jīng)驗(yàn)的元器件。在軌飛行過的元器件已經(jīng)經(jīng)受過空間環(huán)境的考驗(yàn),具有一定的飛行數(shù)據(jù)。
b)選用元器件的適應(yīng)溫度范圍為-40℃~85℃。衛(wèi)星星內(nèi)溫度一般維持在-10℃~45℃,商業(yè)級器件的溫度范圍是0℃~70℃,工業(yè)級器件的溫度范圍是-40℃~85℃,所以選用工業(yè)級COTS器件。
c)選用芯片兼顧 “高性能、先進(jìn)性、集成化、可獲得性、低成本、長期應(yīng)用”原則。
d)COTS器件的質(zhì)量等級與篩選試驗(yàn)應(yīng)考慮低軌互聯(lián)網(wǎng)星座任務(wù)的壽命要求、軌道高度、研制周期、研制成本等綜合因素。嚴(yán)格制定試驗(yàn)流程,確保試驗(yàn)到位。
e)考慮元器件的運(yùn)行環(huán)境。在空間運(yùn)行時(shí)需要考慮空間輻射環(huán)境,包括總劑量效應(yīng)、單粒子效應(yīng)以及空間的真空熱環(huán)境等。
為了屏蔽處理器等器件的單粒子效應(yīng)引起的指令流軟錯誤,在模塊層面進(jìn)行了多級校驗(yàn)糾錯進(jìn)行防護(hù),保證單粒子軟錯誤不在整機(jī)/系統(tǒng)數(shù)據(jù)鏈路上傳遞,實(shí)現(xiàn)數(shù)據(jù)層面的故障隔離。
本文采用一種基于軟件的Cache抗單粒子加固手段,即Cache重載刷新技術(shù)。由于SM750處理器的Cache可配置成寫通模式 (write through),保證每次寫入 Cache的數(shù)據(jù)會同時(shí)寫入NAND Flash主存儲器,從而可以確保Cache和NAND Flash主存儲器之間的數(shù)據(jù)一致性。通過軟件的指令控制,使得Cache定期從NAND Flash主存儲器中重新載入相應(yīng)數(shù)據(jù),完成對Cache數(shù)據(jù)的刷新,修復(fù)由于單粒子翻轉(zhuǎn)引起的Cache數(shù)據(jù)錯誤。而主存儲器的SRAM或SDRAM因?yàn)樵谛酒獠?,可以通過傳統(tǒng)的糾錯校驗(yàn)碼進(jìn)行加固,從而保證重新載入的數(shù)據(jù)的正確性。
這種方法不需要更改芯片本身的結(jié)構(gòu),只需要在軟件中增加相應(yīng)的重載刷新控制即可實(shí)現(xiàn),回避了重新設(shè)計(jì)和驗(yàn)證芯片帶來的諸多不利因素。同時(shí),軟件可以實(shí)現(xiàn)刷新算法的動態(tài)調(diào)整,在刷新效果和系統(tǒng)性能之間找到一個(gè)平衡。同時(shí)本文提出了自主重載算法 (Automatic Refetch Algorithm)。這種算法充分利用了Cache數(shù)據(jù)結(jié)構(gòu)中的狀態(tài)位,軟件按照一定頻率將選中數(shù)據(jù)塊的狀態(tài)位改寫成無效,這樣當(dāng)下次處理器需要訪問該數(shù)據(jù)塊時(shí),按照Cache未命中處理,處理器會訪問主存儲器,并將對應(yīng)數(shù)據(jù)自動更新至Cache。其工作流程如圖1所示。
這種算法利用了Cache訪問本身的機(jī)制,雖然會將所有選中數(shù)據(jù)塊的狀態(tài)位都改寫成無效,但是只會對處理器需要使用到的數(shù)據(jù)塊進(jìn)行實(shí)際的存儲器訪問和刷新,從而避免了靜態(tài)重載算法中出現(xiàn)的大量不必要的刷新工作,提高了系統(tǒng)效率。同時(shí),與事件觸發(fā)重載算法相比,由于具體的重載刷新工作可以利用處理器原有的Cache工作機(jī)制來自動完成,軟件除了修改狀態(tài)位,沒有其他對硬件的控制,從而可以有效降低軟件的負(fù)擔(dān)。另一方面,這種算法可以動態(tài)調(diào)整刷新頻率,在實(shí)際應(yīng)用中針對不同需求,可以通過增加刷新頻率來達(dá)到更好的抗單粒子效果,或者通過降低刷新頻率來進(jìn)一步降低軟件用于刷新操作的工作量,增加有效數(shù)據(jù)在Cache中的保持時(shí)間,從而提升系統(tǒng)性能。
考慮到系統(tǒng)的集成性和低價(jià)性,不再做整體備份,而是突出關(guān)鍵和薄弱環(huán)節(jié)的加固。為了滿足單機(jī)的抗總劑量指標(biāo)要求,需要對上述器件進(jìn)行屏蔽防護(hù),主要通過機(jī)殼的3mmAL和加貼0.5mm鉛皮進(jìn)行防護(hù),提高整機(jī)的抗輻射性能指標(biāo)。
系統(tǒng)級可靠性設(shè)計(jì)方法還可以通過故障維護(hù)與自主管理軟件 (FDIR)完成。具體工作方式如下。
a)模擬量采集模塊采集各模塊/器件的模擬量運(yùn)行參數(shù),將數(shù)據(jù)進(jìn)行匯總后發(fā)送至串行IO模塊。串行IO模塊通過串行通信接口接收各模塊發(fā)來的數(shù)字量運(yùn)行參數(shù),與模擬量參數(shù)匯總后保存至緩存。
圖1 自主重載刷新工作流程圖
b)當(dāng)單機(jī)工作在主備雙機(jī)工作模式下,處理器模塊的CPU通過內(nèi)總線從串行IO緩存中讀取各模塊/器件的運(yùn)行參數(shù),按照故障判據(jù)完成對模塊/器件的故障識別,由串行IO模塊通過串行通信接口向指令驅(qū)動模塊發(fā)送對應(yīng)模塊/器件的斷電、復(fù)位和切機(jī)指令。
c)當(dāng)單機(jī)工作在加固對比模式下,處理器模塊的FPGA負(fù)責(zé)處理各模塊/器件的運(yùn)行參數(shù),按照故障判據(jù)完成對各模塊/器件的故障識別,由串行IO模塊通過串行通信接口向指令驅(qū)動模塊發(fā)送對應(yīng)模塊/器件的關(guān)機(jī)、復(fù)位和切機(jī)指令。
d)指令驅(qū)動模塊接收串行IO模塊發(fā)來的指令,驅(qū)動OC門電路向?qū)?yīng)模塊/器件發(fā)送關(guān)機(jī)、復(fù)位和切機(jī)指令脈沖。
e)對于像 SM750和 SMSJA1000的核心器件,處理器模塊FPGA具備檢測其功能中斷的設(shè)計(jì),可以在不通過串行IO模塊和指令模塊的情況下,對器件進(jìn)行局部斷電和復(fù)位等操作,完成比較快速的故障恢復(fù)。檢測和故障維護(hù)結(jié)果也作為處理器模塊的單機(jī)級FDIR遙測內(nèi)容。
f)局部器件進(jìn)行恢復(fù)期間,處理器模塊暫時(shí)接替SM750處理器進(jìn)行遙控遙測鏈路的控制,CAN總線控制器則切換至備份機(jī)通道,確保故障恢復(fù)器件不造成單機(jī)功能中斷。
g)單機(jī)遙測采集模塊需要實(shí)時(shí)檢測各參試設(shè)備的運(yùn)行參數(shù),作為輻射誘導(dǎo)故障的判據(jù)。其中模擬量參數(shù)通過數(shù)據(jù)采集模塊進(jìn)行AD轉(zhuǎn)換后進(jìn)行采集,F(xiàn)DIR(主備雙機(jī)模式)或串行IO模塊(加固對比模式)對數(shù)據(jù)進(jìn)行分析比對。
數(shù)字量參數(shù)主要用于檢測單機(jī)的各項(xiàng)功能是否正常運(yùn)行,各功能模塊會按一定控制周期檢測單機(jī)各項(xiàng)功能,將檢測結(jié)果以數(shù)字量遙測形式由FDIR(主備雙機(jī)模式)或串行IO模塊 (加固對比模式)進(jìn)行數(shù)據(jù)分析比對。由于許多檢測功能需要占用處理器/FPGA運(yùn)算資源,可以在單機(jī)運(yùn)行時(shí)根據(jù)需要可關(guān)閉相應(yīng)的檢測功能。具體的參數(shù)檢測內(nèi)容見表1。
各模塊從內(nèi)總線獲得二次電源后,經(jīng)過電源檢測芯片后作為單板供電電源,電源檢測芯片可以檢測到單板電流的變化情況,如圖2所示。
三端穩(wěn)壓器用來給輻射敏感器件供電,閂鎖檢測電路首先預(yù)設(shè)一個(gè)正常的電流閾值,當(dāng)發(fā)生閂鎖后產(chǎn)生的電流超過閾值,觸發(fā)運(yùn)算放大器產(chǎn)生過流指示信號給單機(jī)的抗輻射FPGA檢測單元。FPGA一旦收到過流信號即輸出約2s的復(fù)位信號。對于處理器這種具備軟件控制周期的器件,還可以設(shè)計(jì)硬件看門狗電路,當(dāng)輻照效應(yīng)造成軟件無法正常運(yùn)行時(shí),看門狗計(jì)數(shù)器溢出,會產(chǎn)生周期的復(fù)位信號。因此當(dāng)出現(xiàn)閂鎖過流后,首先會導(dǎo)致約2s的單板復(fù)位,使閂鎖器件進(jìn)入低功耗的等待狀態(tài),嘗試退出閂鎖。復(fù)位后可能會遇到以下3種故障模式:①復(fù)位后仍有閂鎖,再次復(fù)位2s;②復(fù)位后閂鎖信號消失,但系統(tǒng)軟件無法重新運(yùn)行,則在看門狗電路作用下,仍輸出持續(xù)的復(fù)位信號;③復(fù)位后若閂鎖信號消失且系統(tǒng)軟件重新運(yùn)行,無復(fù)位信號輸出。
表1 單機(jī)FDIR數(shù)字量檢測參數(shù)
圖2 存儲器模塊電流檢測電路原理框圖
如果嘗試復(fù)位恢復(fù)超過3次 (等效于復(fù)位超過6s),F(xiàn)PGA可以通過控制三端使能信號對閂鎖器件進(jìn)行局部斷電。在供電電路設(shè)計(jì)時(shí),閂鎖敏感器件的各檔電壓均使用獨(dú)立的三端穩(wěn)壓器供電,并且設(shè)計(jì)了獨(dú)立的斷電電路,從而確保FPGA可以對其進(jìn)行局部斷電而不影響其他外圍器件的狀態(tài)。在斷電3s后,閂鎖器件重新上電,并進(jìn)行軟件重啟。
同時(shí),需要采用抗閂鎖電阻對整機(jī)電流進(jìn)行限流保護(hù),防止閂鎖造成器件燒毀??紤]到部分器件自身工作電流較大,因而不適合在器件端加裝抗閂鎖電阻。在單機(jī)其他器件對單粒子閂鎖效應(yīng)不敏感或者電流較小的情況下,因閂鎖造成的電流增量可以通過單機(jī)的電流增量體現(xiàn),因而采用抗閂鎖電阻對整機(jī)電流進(jìn)行保護(hù),可以有效防止閂鎖過流引起的器件燒毀,從而保證閂鎖現(xiàn)象不對單機(jī)造成永久性損傷。
COTS器件構(gòu)建的星載分布式超大容量存儲架構(gòu)具備新一代綜合電子系統(tǒng)低成本、高可靠性的特點(diǎn)。針對COTS可靠性數(shù)據(jù)不足、抗輻射能力不確定的薄弱環(huán)節(jié),針對性的提出了器件篩選、模塊檢錯容錯、系統(tǒng)可靠性設(shè)計(jì)、軟件糾錯、閂鎖檢測與恢復(fù)等方面的抗輻射加固解決措施,為我國衛(wèi)星快速集成研制、通用化、產(chǎn)品化等方面提供了有益參考。