周永忠,洪晟,姜義初,顧爽,李雷,劉亮,高欣妍,陰宏偉,岳天羽
(1.北京智芯微電子科技有限公司 數(shù)字芯片設(shè)計(jì)中心,北京 100192;2.北京航空航天大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,北京 100191;3.北京航空航天大學(xué) 未來(lái)空天技術(shù)學(xué)院/高等理工學(xué)院,北京 100191)
CPU(中央處理器)系統(tǒng)通常由板載集成電路驅(qū)動(dòng),具有微型化、標(biāo)準(zhǔn)化、通用化等一系列特點(diǎn)。隨著工業(yè)控制對(duì)設(shè)備精密度、復(fù)雜度、安全度以及功能密度要求的日益提高,中央處理器安全技術(shù)成為工業(yè)控制芯片可靠的重要保障,因此研究其安全測(cè)試和自修復(fù)技術(shù)具有重要意義。
當(dāng)前中央處理器安全測(cè)試以及測(cè)試前的故障注入成為國(guó)內(nèi)外研究的重點(diǎn),研究系統(tǒng)面對(duì)突發(fā)情況時(shí)的自修復(fù)技術(shù)有利于更好提高工控芯片的安全性。當(dāng)前技術(shù)主要是致力于學(xué)科融合,應(yīng)用生物等各領(lǐng)域的知識(shí)硬軟件結(jié)合進(jìn)行,但各方法都有所偏重,單獨(dú)的故障處理技術(shù)無(wú)法很好地滿足工業(yè)控制的安全需求。因此,有必要建立協(xié)同各方面故障處理技術(shù)的模型來(lái)指導(dǎo)中央處理器的安全發(fā)展方向。
本文研究中央處理器安全測(cè)試與自修復(fù)技術(shù)的整個(gè)流程,對(duì)不同技術(shù)進(jìn)行優(yōu)劣對(duì)比,最終提出了一種融合各個(gè)技術(shù)的安全協(xié)同模型,對(duì)中央處理器發(fā)展的趨勢(shì)作出了總結(jié)與展望,得到有意義的結(jié)論。
對(duì)中央處理器系統(tǒng)進(jìn)行安全測(cè)試,首先需要故障注入。故障注入從本質(zhì)上來(lái)說(shuō)屬于一種模擬,是將錯(cuò)誤或者錯(cuò)誤效果注入目標(biāo)系統(tǒng),對(duì)系統(tǒng)進(jìn)行模擬干預(yù)來(lái)造成故障,從而為后續(xù)的測(cè)試操作作為條件和準(zhǔn)備;安全測(cè)試是監(jiān)測(cè)系統(tǒng)在故障到來(lái)時(shí)采取的應(yīng)對(duì)措施,用于得到系統(tǒng)對(duì)于故障的內(nèi)部處理機(jī)制來(lái)評(píng)估系統(tǒng)的容錯(cuò)能力;自修復(fù)技術(shù)是指中央處理器在面對(duì)某些故障時(shí)所采取的調(diào)度替代、容錯(cuò)、重構(gòu)、冗余等一系列自我保護(hù)機(jī)制,目的是排除故障對(duì)系統(tǒng)運(yùn)行帶來(lái)的不良影響。
1.2.1 故障注入
故障注入[1]技術(shù)是判斷系統(tǒng)可靠性和識(shí)別敏感區(qū)域的必要條件[2],實(shí)際應(yīng)用中,可以通過(guò)硬軟件配合同時(shí)實(shí)現(xiàn)兩者的優(yōu)點(diǎn)[3]。優(yōu)缺點(diǎn)對(duì)比如表1 所示。故障注入尚存在功能引腳限制導(dǎo)致的指示器激活缺陷,還需要在管腳上作進(jìn)一步的技術(shù)突破[4]。
表1 傳統(tǒng)硬軟件注入技術(shù)優(yōu)缺點(diǎn)對(duì)比
1.2.2 安全測(cè)試
傳統(tǒng)安全測(cè)試采用增加測(cè)試點(diǎn)的方法,效率低、成本高、可實(shí)現(xiàn)性低[5]。目前主要有基于掃描鏈的測(cè)試、TSV 非接觸測(cè)試和內(nèi)建自測(cè)試,超大規(guī)模的集成電路多實(shí)施內(nèi)建自測(cè)試電路[6]。
Stratigopoulos[7]、Roy S[8]等提到利用ML(機(jī)器學(xué)習(xí))故障測(cè)試,通過(guò)輸入原始數(shù)據(jù)來(lái)訓(xùn)練機(jī)器處理和測(cè)量大量數(shù)據(jù)。電路時(shí)序復(fù)雜度、模擬電路的非離散性和參數(shù)缺失性帶來(lái)的計(jì)算復(fù)雜性問(wèn)題可以交給ML 解決;S Jayanthy[10]、Di Natale G[11]、Dalpasso[12]等提出延遲測(cè)試技術(shù),隱藏延遲故障傳感器在上升和下降的時(shí)鐘邊緣采集數(shù)據(jù),還可利用納米技術(shù)設(shè)計(jì)開(kāi)關(guān)雙極器件的布爾模型,可捕捉復(fù)雜器件中邏輯的瞬時(shí)切換。
1.2.3 自修復(fù)技術(shù)
傳統(tǒng)修復(fù)技術(shù)采用可替代CLB 塊(可配置邏輯模塊),空間開(kāi)銷(xiāo)較大。現(xiàn)有方法包括替代修復(fù)技術(shù),實(shí)時(shí)容錯(cuò)自修復(fù)技術(shù)、AES、ASIC、BISR、基于細(xì)胞陣列的自修復(fù)技術(shù)、電壓對(duì)比成像技術(shù)、貝葉斯技術(shù)、NOC 容錯(cuò)機(jī)制和基于Mesh 的路由器級(jí)容錯(cuò)體系等。
2.1.1 硬件故障注入技術(shù)
傳統(tǒng)的硬件注入需要附加硬件設(shè)備的幫助,安全性低,不方便試驗(yàn)[13]。
插入法截取輸入輸出信號(hào),對(duì)高速系統(tǒng)時(shí)序影響大,準(zhǔn)確度較低;探針?lè)▽⑻结樅托酒苣_捆綁改變管腳的電流,但對(duì)BGA 封裝芯片無(wú)效;JTAG 調(diào)試技術(shù)中,BSC(邊界掃描寄存器單元)正常不參與運(yùn)行,但調(diào)試模式下其各單元相接,分離內(nèi)部芯片和外部管腳,在三種方法中占優(yōu)[13]。
2.1.2 軟件故障注入技術(shù)
傳統(tǒng)軟件測(cè)試需要目標(biāo)系統(tǒng)對(duì)于實(shí)驗(yàn)者處于開(kāi)放狀態(tài),與某些保密領(lǐng)域的工作要求是矛盾的[14]。Doctor集成軟件開(kāi)發(fā)環(huán)境[15]使主機(jī)和目標(biāo)系統(tǒng)依托于不同結(jié)構(gòu),用定時(shí)器隨機(jī)規(guī)定時(shí)間后注入錯(cuò)誤效應(yīng);Pin 法隨機(jī)插入可執(zhí)行程序,隨機(jī)選取內(nèi)存區(qū)域或通過(guò)超時(shí)、軟件陷阱、硬件異常等方法,注入錯(cuò)誤源代碼;SFIS[16]基于單粒子事件,改變?cè)谐绦?,但之后代碼可恢復(fù)原狀。對(duì)中央處理器系統(tǒng)進(jìn)行安全測(cè)試,首先需要故障注入。故障注入從本質(zhì)上來(lái)說(shuō)屬于一種模擬,是將錯(cuò)誤或者錯(cuò)誤效果注入目標(biāo)系統(tǒng),對(duì)系統(tǒng)進(jìn)行模擬干預(yù)來(lái)造成故障,從而為后續(xù)的測(cè)試操作作為條件和準(zhǔn)備;安全測(cè)試是監(jiān)測(cè)系統(tǒng)在故障到來(lái)時(shí)采取的應(yīng)對(duì)措施,用于得到系統(tǒng)對(duì)于故障的內(nèi)部處理機(jī)制來(lái)評(píng)估系統(tǒng)的容錯(cuò)能力;自修復(fù)技術(shù)是指中央處理器在面對(duì)某些故障時(shí)所采取的調(diào)度替代、容錯(cuò)、重構(gòu)、冗余等一系列自我保護(hù)機(jī)制,目的是排除故障對(duì)系統(tǒng)運(yùn)行帶來(lái)的不良影響。
2.2.1 基于掃描鏈的測(cè)試方法
陸云云[17]等提到掃描鏈大體可以分為兩種,一種存在于芯片內(nèi)部獨(dú)立化元件,另一種存在于芯片的I/O 端口顯示板級(jí)制造缺陷,原理如圖1 所示。Bhavani G[18]等提到,有自修復(fù)能力的掃描結(jié)構(gòu)可提高故障測(cè)試的定位范圍,采用延遲測(cè)試電路等技術(shù)可減小故障測(cè)試所需的功耗。
圖1 邊界掃描鏈測(cè)試方法原理
2.2.2 內(nèi)建自測(cè)試電路
BIST(內(nèi)建自測(cè)試方法)的核心是構(gòu)建最小功能單元鏈以及迭代的方法,結(jié)構(gòu)內(nèi)部由開(kāi)關(guān)、CLB 以及局部連線部分組成[19]。石超[20]等提到BIST 可以直接得到測(cè)試結(jié)果,核心部件由ORA(輸出響應(yīng)分析)、BUT(被測(cè)單元)以及TPG(測(cè)試激勵(lì)生成器)三部分構(gòu)成,結(jié)構(gòu)流程如圖2 所示。成本茂[21]等還提到了CUT (Circuit Under Test),若將TPG 對(duì)應(yīng)的電路更換成適配于CUT 的電路,會(huì)使結(jié)果輸出更加便捷。
圖2 內(nèi)建自測(cè)試流程
2.2.3 基于群時(shí)延的TSV(透硅通道)故障非接觸測(cè)試方法
TSV 屬于密度高,間距小的復(fù)雜高速互連結(jié)構(gòu)。無(wú)探針信號(hào)可進(jìn)行多音混合測(cè)試設(shè)計(jì),通過(guò)檢測(cè)器得到輸入輸出信號(hào)的CF值,分辨率較高[22]。Shang Yuling[23]等提出基于電特性的TSV 多音混合信號(hào)模型,所用金屬線功耗小,覆蓋范圍包括歐姆級(jí)至百萬(wàn)歐姆級(jí)。測(cè)試時(shí)提取并合并子測(cè)試向量,利用單卡故障模型有助于減少測(cè)試向量,從而降低VLSI 測(cè)試成本[24]。不同測(cè)試技術(shù)優(yōu)缺點(diǎn)比較如表2 所示。
表2 測(cè)試技術(shù)優(yōu)缺點(diǎn)比較
替代修復(fù)技術(shù)的起源于生物系統(tǒng)自修復(fù)[25],原理如圖3 所示,通過(guò)劃分小單元來(lái)減少故障出現(xiàn)時(shí)所隔離的正常單元的范圍來(lái)重定位,實(shí)現(xiàn)了低成本,高效率[25],但硬件資源消耗大。
圖3 實(shí)時(shí)調(diào)度自修復(fù)技術(shù)原理
基于FPGA 的重構(gòu)修復(fù)技術(shù)將粗粒度與細(xì)粒度劃分相結(jié)合:只有低優(yōu)先級(jí)故障時(shí),盡可能減小隔離范圍;只有高優(yōu)先級(jí)故障時(shí),使用備用模塊解決;當(dāng)高低優(yōu)先級(jí)同時(shí)出現(xiàn)時(shí),先刪除部分低優(yōu)先級(jí)騰出空間,再解決高優(yōu)先級(jí)。
徐偉杰[26]等提到基于SRAM 型的FPGA 技術(shù),采用表決器三選二技術(shù),只要有兩個(gè)正常便不會(huì)報(bào)錯(cuò),但錯(cuò)誤逐步積累并爆發(fā)會(huì)使系統(tǒng)崩潰。Pe?a-Fernández M[27]等提到DCLS(雙核鎖步)進(jìn)行冗余多線程支持和控制流錯(cuò)誤檢測(cè),將兩個(gè)處理器分別執(zhí)行的操作步驟逐一對(duì)比,一旦出現(xiàn)不同步的情況便會(huì)觸發(fā)報(bào)警機(jī)制。優(yōu)缺點(diǎn)對(duì)比如表3 所示。
表3 替代修復(fù)與容錯(cuò)自修復(fù)優(yōu)缺點(diǎn)比較
Sheikhpour S等[28]提到AES(高級(jí)加密標(biāo)準(zhǔn))法,包括循環(huán)碼、時(shí)間、奇偶校驗(yàn)冗余等。Zandevakili H等[29]提到ASIC(專(zhuān)用集成電路結(jié)構(gòu))和BISR(內(nèi)置自修復(fù)技術(shù))。ASIC在最小延遲下,可重構(gòu)基本單元自我修復(fù)后將新的路由網(wǎng)絡(luò)替換故障部位;BISR 處理永久故障,分為故障檢測(cè)、故障診斷、故障隔離和冗余分配。
袁霄亮[30]等提到基于細(xì)胞陣列的自修復(fù)技術(shù)(見(jiàn)圖4)。一個(gè)小分子工作時(shí),其他分子處于休眠狀態(tài),總體呈動(dòng)態(tài)重構(gòu),自由度、自主性提高[27]。Rahiminejad E[31]等提到基于神經(jīng)形態(tài)的模擬集成電路,在寬頻率內(nèi)補(bǔ)償受損突觸。
圖4 基于細(xì)胞陣列的自修復(fù)技術(shù)
Carroll R[32]等提到IC 修復(fù),細(xì)化識(shí)別節(jié)點(diǎn)后同電壓對(duì)比成像結(jié)合貼合各個(gè)面;Fu W[33]等提到貝葉斯技術(shù),以集成數(shù)據(jù)為驅(qū)動(dòng)探測(cè)探針卡故障,文本轉(zhuǎn)換為數(shù)字后以網(wǎng)絡(luò)圖的形式可視化;Fan W[34]等提到NOC 內(nèi)部容錯(cuò)機(jī)制,環(huán)面布局利用循環(huán)嵌入不完整節(jié)點(diǎn);Khera V K[35]等提到基于Mesh 的具有路由器級(jí)冗余的容錯(cuò)NOC,結(jié)合重構(gòu)算法和備用路由器法,每個(gè)路由器集合中可容忍一個(gè)故障路由器。
綜合上文對(duì)安全測(cè)試和自修復(fù)技術(shù)的研究分析,將故障注入與測(cè)試在自修復(fù)前進(jìn)行來(lái)提高中央處理器安全性能,總結(jié)出如圖5 所示的安全協(xié)同結(jié)構(gòu)模型。將故障注入結(jié)合JATG 調(diào)試技術(shù)、Doctor、Pin、SFIS 可更好地提升中央處理器的安全性能??蓽y(cè)試設(shè)計(jì)以TAP 為核心,根據(jù)具體情況選擇芯片內(nèi)部或端口的方法。對(duì)于特殊結(jié)構(gòu)的封裝集成電路,基本采用內(nèi)建自測(cè)試電路,單粒子翻轉(zhuǎn)則可用TSV 法解決。故障修復(fù)以實(shí)時(shí)調(diào)度和實(shí)時(shí)容錯(cuò)自修復(fù)技術(shù)為主,結(jié)合其他領(lǐng)域技術(shù)進(jìn)行修復(fù)也是提高性能的關(guān)鍵一步。
圖5 中央處理器安全協(xié)同模型
隨著工業(yè)控制領(lǐng)域競(jìng)爭(zhēng)日益激烈,工業(yè)控制芯片中央處理器的安全性得到廣泛關(guān)注??蒲泄ぷ髡邆儼l(fā)掘各種可靠測(cè)試與自修復(fù)技術(shù)模型,旨在最終提高中央處理器的安全性?,F(xiàn)做三個(gè)方面總結(jié):
(1)軟件和硬件結(jié)合、物理建設(shè)與模擬實(shí)驗(yàn)結(jié)合、設(shè)計(jì)與評(píng)價(jià)階段結(jié)合是未來(lái)技術(shù)發(fā)展趨勢(shì)。
(2)由于硬件的物理性接觸與處理器結(jié)構(gòu)中微小部件的高靈敏度產(chǎn)生矛盾,新技術(shù)開(kāi)發(fā)應(yīng)以算法設(shè)計(jì)為主體。
(3)系統(tǒng)容錯(cuò)機(jī)制的整體控制模糊性帶來(lái)錯(cuò)誤崩潰等安全隱患,采用分布式自控、精準(zhǔn)對(duì)點(diǎn)、分塊隔離可有效解決。