王 勛,羅尹虹,丁李利,張鳳祁,陳 偉,郭曉強(qiáng),王 坦
(西北核技術(shù)研究院 強(qiáng)脈沖輻射環(huán)境模擬與效應(yīng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710024)
為了克服上述問(wèn)題,本文提出基于概率統(tǒng)計(jì)的MCU信息提取方法。首先計(jì)算翻轉(zhuǎn)邏輯地址間的按位異或(XOR)和漢明距離(dH),然后根據(jù)XOR和dH的統(tǒng)計(jì)結(jié)果提取器件的MCU模板,最后利用該模板提取SEU實(shí)驗(yàn)數(shù)據(jù)中的MCU信息。
一般存儲(chǔ)器的內(nèi)部物理地址和外部邏輯地址均為2進(jìn)制表征,且寬度一致,盡管高低位排序可能不一致,但兩種地址的位之間存在一一映射關(guān)系。因此,一些關(guān)于物理地址位的統(tǒng)計(jì)結(jié)果對(duì)邏輯地址位同樣適用。首先分析物理相鄰的地址特點(diǎn),對(duì)于2進(jìn)制編碼的內(nèi)部物理地址,相鄰地址之間編碼一般是從全0到全1順序排列(表1第1列)。若2個(gè)相鄰地址之間進(jìn)行按位取異或,可得到表1中第2列給出的XOR參數(shù),則XOR參數(shù)中1的個(gè)數(shù)即是2個(gè)相鄰地址之間的漢明距離,定義為dH參數(shù)。由表1可知,相同的dH對(duì)應(yīng)的XOR相同。此外,dH越小其出現(xiàn)次數(shù)越多,出現(xiàn)次數(shù)隨dH近似呈指數(shù)速度降低,對(duì)于n位二進(jìn)制地址空間,不同dH出現(xiàn)的次數(shù)占比PdH為:
表1 2進(jìn)制編碼地址相鄰的特點(diǎn)Table 1 Binary coding of adjacent cell
(1)
上述分析是連續(xù)物理地址之間的XOR和dH統(tǒng)計(jì)結(jié)果,由于MCU中的翻轉(zhuǎn)位是物理地址相鄰的,因此也具有上述特點(diǎn),即相同dH下地址之間的XOR是相同的。
考慮到SEU的隨機(jī)性,從概率上講,獨(dú)立的SEU地址等價(jià)于從地址空間中逐個(gè)隨機(jī)選取的地址;若SEU實(shí)驗(yàn)數(shù)據(jù)中不含MCU,則統(tǒng)計(jì)翻轉(zhuǎn)地址間的XOR和dH時(shí),相同dH對(duì)應(yīng)的XOR不是唯一的,而是隨機(jī)的,相同dH下所有的XOR近似為平均分布。當(dāng)SEU實(shí)驗(yàn)數(shù)據(jù)中有MCU引入時(shí),在相同的dH下,會(huì)引入MCU地址之間的XOR結(jié)果,使得對(duì)應(yīng)MCU的XOR比例高于其他XOR值。相同dH下出現(xiàn)次數(shù)明顯多于其他值的XOR包含了表1中描述的物理地址相鄰關(guān)系。若將這些出現(xiàn)次數(shù)明顯多于其他值的XOR提取出來(lái),作為判斷物理地址相鄰關(guān)系的MCU模板,則可利用該MCU模板從SEU實(shí)驗(yàn)數(shù)據(jù)中提取MCU信息。
通過(guò)SEE實(shí)驗(yàn)收集SEU實(shí)驗(yàn)數(shù)據(jù),上述方法基于SEU實(shí)驗(yàn)數(shù)據(jù)中含有MCU的假設(shè)。MCU占比越多,物理相鄰地址之間計(jì)算得到的dH和XOR統(tǒng)計(jì)結(jié)果越多,因此能提取的MCU模板越多。此外,為降低非相鄰SEU之間計(jì)算得到的dH和XOR出現(xiàn)次數(shù),在同一測(cè)試周期內(nèi)的SEU地址之間計(jì)算XOR和dH,因?yàn)椴煌瑴y(cè)試周期的SEU是由不同的粒子入射導(dǎo)致,其物理地址相鄰的概率極低。同一測(cè)試周期內(nèi)計(jì)算XOR和dH不僅降低了噪聲,同時(shí)也大幅降低了計(jì)算量,縮短了計(jì)算時(shí)間。本文按照不同測(cè)試周期組織數(shù)據(jù),每個(gè)測(cè)試周期的數(shù)據(jù)包括本測(cè)試周期內(nèi)測(cè)得的SEU地址和數(shù)據(jù)。
在每個(gè)測(cè)試周期內(nèi),任意兩個(gè)SEU邏輯地址之間按位異或得到XOR,通過(guò)統(tǒng)計(jì)XOR中“1”的個(gè)數(shù)得到對(duì)應(yīng)的漢明距離dH。從而在每個(gè)測(cè)試周期得到1組由XOR和dH兩個(gè)參數(shù)組成的數(shù)組。
將所有測(cè)試周期中得到的XOR和dH結(jié)果合并。將合并后的結(jié)果按dH的大小進(jìn)行分組,每個(gè)dH值歸為一組。在每個(gè)dH下,統(tǒng)計(jì)不同XOR出現(xiàn)的次數(shù),并在組內(nèi)按照XOR出現(xiàn)次數(shù)對(duì)結(jié)果重新排序。圖1為參數(shù)計(jì)算和統(tǒng)計(jì)流程。
鮑照身處在豪門世家和寒門新貴的夾縫中,滿腔怨憤化而為詩(shī),自多不平之情。如《擬行路難·其六》用樂(lè)景寫哀情,閑居在家的抒情主人公將難酬的壯志化作面對(duì)家人的溫情,聊以自慰,平靜的表象壓抑著強(qiáng)烈的不滿情緒?!稊M行路難·其四》借水瀉地面、四方流淌的意象比喻人生貴賤窮達(dá)的不同。詩(shī)人酌酒舉杯排遣苦悶,可是心非草木,怎會(huì)沒(méi)有感情?詩(shī)作濃郁凝滯的情感刻骨銘心。
對(duì)任意dH,MCU的存在導(dǎo)致XOR的分布變得不均勻。對(duì)于相同的dH,提取出現(xiàn)次數(shù)最多且明顯多于其他值的XOR作為MCU模板元素。由式(1)可知,隨dH的增加,MCU對(duì)XOR分布的影響越來(lái)越小,直至呈近似的均勻分布,當(dāng)dH增大到一定程度,XOR的出現(xiàn)次數(shù)沒(méi)有明顯的峰值時(shí)可忽略該值下的模板元素,這對(duì)最終MCU的提取影響不大。MCU模板TMCU是上述所有MCU模板元素組成的數(shù)組。
圖1 參數(shù)計(jì)算和統(tǒng)計(jì)流程Fig.1 Diagram of parameter calculation and statistics
發(fā)生在同一邏輯地址內(nèi)的MBU,可直接通過(guò)判斷同一地址內(nèi)翻轉(zhuǎn)的位數(shù)進(jìn)行分析。本文主要考慮MCU的提取,利用上述得到的MCU模板提取MCU信息的方法如下。
1) 首先判斷所有翻轉(zhuǎn)位之間的相鄰關(guān)系,對(duì)于兩個(gè)翻轉(zhuǎn),將其表示為Ui=(addri,bitui)和Uj=((addrj,bituj),其中,addri和addrj為兩個(gè)翻轉(zhuǎn)位的邏輯地址,bitui和bituj為兩個(gè)翻轉(zhuǎn)位在字節(jié)中的位置。根據(jù)式(2)計(jì)算兩個(gè)地址間的按位異或XORaddr(1,2):
XORaddr(i,j)=XOR(addri,addrj)
(2)
若XORaddr(1,2)是提取得到的MCU模板中的元素,即XORaddr(i,j)∈TMCU,且bitui=bituj,則
兩個(gè)翻轉(zhuǎn)位Ui和Uj是物理相鄰;否則,兩個(gè)翻轉(zhuǎn)位不相鄰。
2) 逐步合并所有具有共同翻轉(zhuǎn)位的MCU,最終得到相互隔離的不同尺寸的MCU結(jié)果。
為檢驗(yàn)方法的有效性,采用早期獲得的SRAM的SEU實(shí)驗(yàn)數(shù)據(jù)對(duì)方法進(jìn)行驗(yàn)證。實(shí)驗(yàn)樣品為Cypress 90 nm異步SRAM器件CY62126EV30LL,該器件采用位交錯(cuò)技術(shù),額定電壓為3.0 V,存儲(chǔ)容量為64K×16位(1 Mbit)。器件的版圖信息前期已通過(guò)逆向工程獲取,SEU實(shí)驗(yàn)數(shù)據(jù)的入射粒子為Cl離子,LET值為13.8 MeV·cm2/mg。SEU實(shí)驗(yàn)數(shù)據(jù)中包含469位翻轉(zhuǎn),按照以下步驟對(duì)方法進(jìn)行驗(yàn)證。
1) 數(shù)據(jù)準(zhǔn)備。按照上述方法進(jìn)行數(shù)據(jù)準(zhǔn)備。
2) 參數(shù)計(jì)算。根據(jù)圖1所示的流程,首先在每個(gè)測(cè)試周期內(nèi)計(jì)算任意兩個(gè)翻轉(zhuǎn)位邏輯地址的按位異或XOR,并計(jì)算對(duì)應(yīng)的漢明距離dH;然后合并所有結(jié)果并統(tǒng)計(jì)不同dH下XOR出現(xiàn)的次數(shù),由于dH≥6時(shí)XOR的出現(xiàn)次數(shù)無(wú)明顯的峰值,因此僅給出dH為1~6時(shí)的統(tǒng)計(jì)結(jié)果(表2)。
3) MCU模板提取。根據(jù)表2中給出的結(jié)果,按照dH從小到大的順序,在相同dH中,提取出現(xiàn)次數(shù)最多且明顯多于其他值的XOR作為該dH下的MCU模板元素。dH=1時(shí),取出現(xiàn)次數(shù)最多且明顯多于其他值的3個(gè)XOR為MCU模板元素,則有T1=[16,8,2];dH=2時(shí),取出現(xiàn)次數(shù)最多且明顯多于其他值的4個(gè)XOR為MCU模板元素,則有T2=[18,6,32 776,24];dH=3時(shí),取出現(xiàn)次數(shù)最多且明顯多于其他值的4個(gè)XOR為MCU模板元素,則有T3=[22,26,14,32 792];dH=4時(shí),取出現(xiàn)次數(shù)最多且明顯多于其他值的2個(gè)XOR為MCU模板元素,則有T4=[30,32 782];dH=5時(shí),取出現(xiàn)次數(shù)最多且明顯多于其他值的1個(gè)XOR為MCU模板元素,則有T5=[32 798];dH=6時(shí),XOR的出現(xiàn)次數(shù)無(wú)明顯的峰值,因此忽略dH≥6的情況。上述所有dH下的MCU模板元素即可構(gòu)成該器件的MCU模板:
26,14,32 792,30,32 782,32 798]
(3)
表2 dH為1~6時(shí)的XOR統(tǒng)計(jì)結(jié)果Table 2 Statistical result of XOR for dH=1-6
4) 利用MCU模板TMCU提取MCU信息,對(duì)待分析的SEU實(shí)驗(yàn)數(shù)據(jù),在測(cè)試周期內(nèi)計(jì)算翻轉(zhuǎn)位Ui和Uj的邏輯地址按位異或XORaddr(i,j),若有XORaddr(i,j)∈TMCU且bitui=bituj,則兩個(gè)翻轉(zhuǎn)是物理地址相鄰的,否則不相鄰。
利用上述MCU模板TMCU,可從469個(gè)SEU中提取得到410對(duì)2 bit MCU。對(duì)所有2 bit MCU進(jìn)行分析,若兩個(gè)MCU中含有共同的翻轉(zhuǎn)位,則將其合并為1個(gè)更大的MCU,直到所有的MCU相互獨(dú)立,最終得到379位MCU(表3)。
表3 基于概率統(tǒng)計(jì)的MCU提取結(jié)果與實(shí)際結(jié)果對(duì)比Table 3 Comparison between extracted MCU result based on statistical method and actual result
為評(píng)估方法的MCU提取率,利用逆向工程獲得的版圖信息對(duì)樣本數(shù)據(jù)中的MCU信息進(jìn)行提取,得到的結(jié)果為實(shí)際MCU結(jié)果(表3)??煽闯?,基于概率統(tǒng)計(jì)的方法提取379位MCU,占所有382位MCU的99.21%,可見(jiàn)MCU提取率接近100%。由表3可知,本文方法可提取不同尺寸的MCU,但相對(duì)于物理地址與邏輯地址的一一映射關(guān)系,提取的MCU模板信息不夠完整,因此存在低估大尺寸MCU的可能。
表4列出CY62126EV30LL物理地址位和邏輯地址位的映射關(guān)系。其中,Ai表示邏輯地址的第i位,表4第2列中的邏輯地址序列最左側(cè)對(duì)應(yīng)最高位物理地址,最右側(cè)對(duì)應(yīng)最低位物理地址。
表4 CY62126EV30LL物理地址位和邏輯地址位的映射關(guān)系Table 4 One-to-one mapping between physical and logical address of CY62126EV30LL
一般認(rèn)為單個(gè)粒子的影響范圍不會(huì)跨越不同的存儲(chǔ)塊,MCU主要發(fā)生在同一存儲(chǔ)塊內(nèi),因此MCU的相鄰關(guān)系主要取決于同一存儲(chǔ)塊內(nèi)的物理行地址和列地址。提取的MCU模板TMCU中,出現(xiàn)次數(shù)最多的MCU模板元素為16,對(duì)應(yīng)的2進(jìn)制XOR中只有1個(gè)“1”,位于邏輯地址的A4上。由表4可知,A4對(duì)應(yīng)存儲(chǔ)塊內(nèi)物理列地址的最低位,說(shuō)明2個(gè)地址的行相同列不同;再根據(jù)表1可知,該XOR對(duì)應(yīng)2個(gè)物理相鄰的地址。因此,可判斷若2個(gè)邏輯地址按位異或XOR=16,則2個(gè)地址是物理相鄰的,位于存儲(chǔ)單元陣列的同一行相鄰列上,對(duì)應(yīng)的MCU圖形為■■。表5所列為每個(gè)MCU模板元素對(duì)應(yīng)的XOR中“1”的位置和MCU圖形,可知,每個(gè)MCU模板元素都代表一種物理地址相鄰關(guān)系。
上述模板是從實(shí)驗(yàn)數(shù)據(jù)中提取的,盡管其出現(xiàn)次數(shù)明顯多于其他XOR,但仍忽略了一些dH更大(dH≥6)的結(jié)果,因此理論上MCU提取是不完全的。由式(1)可知,隨dH的增加,MCU占比近似呈指數(shù)的速度降低,當(dāng)MCU模板提取到dH=1,2,…,m時(shí),MCU的理論提取率RMCU為:
i=1,2,3,…,m
(4)
當(dāng)m=5時(shí),MCU提取率理論上應(yīng)該大于96.875%。本文方法驗(yàn)證中m=5時(shí)的MCU提取率超過(guò)99%,與理論相符。可知,本文提出的基于概率統(tǒng)計(jì)的MCU信息提取方法能以較高精度從SEU實(shí)驗(yàn)數(shù)據(jù)中提取MCU信息。
該方法中的MCU模板中包含了出現(xiàn)次數(shù)最多的一系列MCU模板元素,能提取出絕大多數(shù)MCU,因此具有較高的MCU提取率;本文提出的方法不區(qū)分物理地址方向,對(duì)存儲(chǔ)器是否采用為交錯(cuò)結(jié)構(gòu)無(wú)限制。本文方法可應(yīng)用于存儲(chǔ)器及集成存儲(chǔ)器的其他敏感芯片,如DSP和FPGA等。因此,利用該方法提取電子器件的MCU信息能節(jié)省開(kāi)展逆向工程的時(shí)間和經(jīng)費(fèi),可提高航空航天電子系統(tǒng)器件選型評(píng)估的效率。
表5 模板元素對(duì)應(yīng)的圖形Table 5 Corresponding shape of each template element
針對(duì)MCU信息提取時(shí)缺少器件版圖信息的問(wèn)題,本文提出了一種基于概率統(tǒng)計(jì)的MCU信息提取方法。通過(guò)在SEU實(shí)驗(yàn)數(shù)據(jù)中提取MCU模板,然后利用該MCU模板提取實(shí)驗(yàn)數(shù)據(jù)中MCU信息,并利用一款已知版圖信息的位交錯(cuò)存儲(chǔ)器對(duì)方法進(jìn)行了驗(yàn)證。結(jié)果表明,本文提出的方法能在無(wú)版圖信息的條件下以較高的精度提取MCU信息。從MCU信息提取的角度,該方法能代替逆向工程,從而節(jié)省高可靠電子系統(tǒng)對(duì)器件進(jìn)行MCU考核時(shí)開(kāi)展逆向工程的時(shí)間和成本,提高相關(guān)科學(xué)研究和器件選型效率。