王 勛,羅尹虹,丁李利,張鳳祁,陳 偉,郭曉強,王 坦
(西北核技術研究院 強脈沖輻射環境模擬與效應國家重點實驗室,陜西 西安 710024)
為了克服上述問題,本文提出基于概率統計的MCU信息提取方法。首先計算翻轉邏輯地址間的按位異或(XOR)和漢明距離(dH),然后根據XOR和dH的統計結果提取器件的MCU模板,最后利用該模板提取SEU實驗數據中的MCU信息。
一般存儲器的內部物理地址和外部邏輯地址均為2進制表征,且寬度一致,盡管高低位排序可能不一致,但兩種地址的位之間存在一一映射關系。因此,一些關于物理地址位的統計結果對邏輯地址位同樣適用。首先分析物理相鄰的地址特點,對于2進制編碼的內部物理地址,相鄰地址之間編碼一般是從全0到全1順序排列(表1第1列)。若2個相鄰地址之間進行按位取異或,可得到表1中第2列給出的XOR參數,則XOR參數中1的個數即是2個相鄰地址之間的漢明距離,定義為dH參數。由表1可知,相同的dH對應的XOR相同。此外,dH越小其出現次數越多,出現次數隨dH近似呈指數速度降低,對于n位二進制地址空間,不同dH出現的次數占比PdH為:

表1 2進制編碼地址相鄰的特點Table 1 Binary coding of adjacent cell
(1)
上述分析是連續物理地址之間的XOR和dH統計結果,由于MCU中的翻轉位是物理地址相鄰的,因此也具有上述特點,即相同dH下地址之間的XOR是相同的。
考慮到SEU的隨機性,從概率上講,獨立的SEU地址等價于從地址空間中逐個隨機選取的地址;若SEU實驗數據中不含MCU,則統計翻轉地址間的XOR和dH時,相同dH對應的XOR不是唯一的,而是隨機的,相同dH下所有的XOR近似為平均分布。當SEU實驗數據中有MCU引入時,在相同的dH下,會引入MCU地址之間的XOR結果,使得對應MCU的XOR比例高于其他XOR值。相同dH下出現次數明顯多于其他值的XOR包含了表1中描述的物理地址相鄰關系。若將這些出現次數明顯多于其他值的XOR提取出來,作為判斷物理地址相鄰關系的MCU模板,則可利用該MCU模板從SEU實驗數據中提取MCU信息。
通過SEE實驗收集SEU實驗數據,上述方法基于SEU實驗數據中含有MCU的假設。MCU占比越多,物理相鄰地址之間計算得到的dH和XOR統計結果越多,因此能提取的MCU模板越多。此外,為降低非相鄰SEU之間計算得到的dH和XOR出現次數,在同一測試周期內的SEU地址之間計算XOR和dH,因為不同測試周期的SEU是由不同的粒子入射導致,其物理地址相鄰的概率極低。同一測試周期內計算XOR和dH不僅降低了噪聲,同時也大幅降低了計算量,縮短了計算時間。本文按照不同測試周期組織數據,每個測試周期的數據包括本測試周期內測得的SEU地址和數據。
在每個測試周期內,任意兩個SEU邏輯地址之間按位異或得到XOR,通過統計XOR中“1”的個數得到對應的漢明距離dH。從而在每個測試周期得到1組由XOR和dH兩個參數組成的數組。
將所有測試周期中得到的XOR和dH結果合并。將合并后的結果按dH的大小進行分組,每個dH值歸為一組。在每個dH下,統計不同XOR出現的次數,并在組內按照XOR出現次數對結果重新排序。圖1為參數計算和統計流程。
鮑照身處在豪門世家和寒門新貴的夾縫中,滿腔怨憤化而為詩,自多不平之情。如《擬行路難·其六》用樂景寫哀情,閑居在家的抒情主人公將難酬的壯志化作面對家人的溫情,聊以自慰,平靜的表象壓抑著強烈的不滿情緒。《擬行路難·其四》借水瀉地面、四方流淌的意象比喻人生貴賤窮達的不同。詩人酌酒舉杯排遣苦悶,可是心非草木,怎會沒有感情?詩作濃郁凝滯的情感刻骨銘心。
對任意dH,MCU的存在導致XOR的分布變得不均勻。對于相同的dH,提取出現次數最多且明顯多于其他值的XOR作為MCU模板元素。由式(1)可知,隨dH的增加,MCU對XOR分布的影響越來越小,直至呈近似的均勻分布,當dH增大到一定程度,XOR的出現次數沒有明顯的峰值時可忽略該值下的模板元素,這對最終MCU的提取影響不大。MCU模板TMCU是上述所有MCU模板元素組成的數組。

圖1 參數計算和統計流程Fig.1 Diagram of parameter calculation and statistics
發生在同一邏輯地址內的MBU,可直接通過判斷同一地址內翻轉的位數進行分析。本文主要考慮MCU的提取,利用上述得到的MCU模板提取MCU信息的方法如下。
1) 首先判斷所有翻轉位之間的相鄰關系,對于兩個翻轉,將其表示為Ui=(addri,bitui)和Uj=((addrj,bituj),其中,addri和addrj為兩個翻轉位的邏輯地址,bitui和bituj為兩個翻轉位在字節中的位置。根據式(2)計算兩個地址間的按位異或XORaddr(1,2):
XORaddr(i,j)=XOR(addri,addrj)
(2)
若XORaddr(1,2)是提取得到的MCU模板中的元素,即XORaddr(i,j)∈TMCU,且bitui=bituj,則
兩個翻轉位Ui和Uj是物理相鄰;否則,兩個翻轉位不相鄰。
2) 逐步合并所有具有共同翻轉位的MCU,最終得到相互隔離的不同尺寸的MCU結果。
為檢驗方法的有效性,采用早期獲得的SRAM的SEU實驗數據對方法進行驗證。實驗樣品為Cypress 90 nm異步SRAM器件CY62126EV30LL,該器件采用位交錯技術,額定電壓為3.0 V,存儲容量為64K×16位(1 Mbit)。器件的版圖信息前期已通過逆向工程獲取,SEU實驗數據的入射粒子為Cl離子,LET值為13.8 MeV·cm2/mg。SEU實驗數據中包含469位翻轉,按照以下步驟對方法進行驗證。
1) 數據準備。按照上述方法進行數據準備。
2) 參數計算。根據圖1所示的流程,首先在每個測試周期內計算任意兩個翻轉位邏輯地址的按位異或XOR,并計算對應的漢明距離dH;然后合并所有結果并統計不同dH下XOR出現的次數,由于dH≥6時XOR的出現次數無明顯的峰值,因此僅給出dH為1~6時的統計結果(表2)。
3) MCU模板提取。根據表2中給出的結果,按照dH從小到大的順序,在相同dH中,提取出現次數最多且明顯多于其他值的XOR作為該dH下的MCU模板元素。dH=1時,取出現次數最多且明顯多于其他值的3個XOR為MCU模板元素,則有T1=[16,8,2];dH=2時,取出現次數最多且明顯多于其他值的4個XOR為MCU模板元素,則有T2=[18,6,32 776,24];dH=3時,取出現次數最多且明顯多于其他值的4個XOR為MCU模板元素,則有T3=[22,26,14,32 792];dH=4時,取出現次數最多且明顯多于其他值的2個XOR為MCU模板元素,則有T4=[30,32 782];dH=5時,取出現次數最多且明顯多于其他值的1個XOR為MCU模板元素,則有T5=[32 798];dH=6時,XOR的出現次數無明顯的峰值,因此忽略dH≥6的情況。上述所有dH下的MCU模板元素即可構成該器件的MCU模板:
26,14,32 792,30,32 782,32 798]
(3)

表2 dH為1~6時的XOR統計結果Table 2 Statistical result of XOR for dH=1-6
4) 利用MCU模板TMCU提取MCU信息,對待分析的SEU實驗數據,在測試周期內計算翻轉位Ui和Uj的邏輯地址按位異或XORaddr(i,j),若有XORaddr(i,j)∈TMCU且bitui=bituj,則兩個翻轉是物理地址相鄰的,否則不相鄰。
利用上述MCU模板TMCU,可從469個SEU中提取得到410對2 bit MCU。對所有2 bit MCU進行分析,若兩個MCU中含有共同的翻轉位,則將其合并為1個更大的MCU,直到所有的MCU相互獨立,最終得到379位MCU(表3)。

表3 基于概率統計的MCU提取結果與實際結果對比Table 3 Comparison between extracted MCU result based on statistical method and actual result
為評估方法的MCU提取率,利用逆向工程獲得的版圖信息對樣本數據中的MCU信息進行提取,得到的結果為實際MCU結果(表3)。可看出,基于概率統計的方法提取379位MCU,占所有382位MCU的99.21%,可見MCU提取率接近100%。由表3可知,本文方法可提取不同尺寸的MCU,但相對于物理地址與邏輯地址的一一映射關系,提取的MCU模板信息不夠完整,因此存在低估大尺寸MCU的可能。
表4列出CY62126EV30LL物理地址位和邏輯地址位的映射關系。其中,Ai表示邏輯地址的第i位,表4第2列中的邏輯地址序列最左側對應最高位物理地址,最右側對應最低位物理地址。

表4 CY62126EV30LL物理地址位和邏輯地址位的映射關系Table 4 One-to-one mapping between physical and logical address of CY62126EV30LL
一般認為單個粒子的影響范圍不會跨越不同的存儲塊,MCU主要發生在同一存儲塊內,因此MCU的相鄰關系主要取決于同一存儲塊內的物理行地址和列地址。提取的MCU模板TMCU中,出現次數最多的MCU模板元素為16,對應的2進制XOR中只有1個“1”,位于邏輯地址的A4上。由表4可知,A4對應存儲塊內物理列地址的最低位,說明2個地址的行相同列不同;再根據表1可知,該XOR對應2個物理相鄰的地址。因此,可判斷若2個邏輯地址按位異或XOR=16,則2個地址是物理相鄰的,位于存儲單元陣列的同一行相鄰列上,對應的MCU圖形為■■。表5所列為每個MCU模板元素對應的XOR中“1”的位置和MCU圖形,可知,每個MCU模板元素都代表一種物理地址相鄰關系。
上述模板是從實驗數據中提取的,盡管其出現次數明顯多于其他XOR,但仍忽略了一些dH更大(dH≥6)的結果,因此理論上MCU提取是不完全的。由式(1)可知,隨dH的增加,MCU占比近似呈指數的速度降低,當MCU模板提取到dH=1,2,…,m時,MCU的理論提取率RMCU為:
i=1,2,3,…,m
(4)
當m=5時,MCU提取率理論上應該大于96.875%。本文方法驗證中m=5時的MCU提取率超過99%,與理論相符。可知,本文提出的基于概率統計的MCU信息提取方法能以較高精度從SEU實驗數據中提取MCU信息。
該方法中的MCU模板中包含了出現次數最多的一系列MCU模板元素,能提取出絕大多數MCU,因此具有較高的MCU提取率;本文提出的方法不區分物理地址方向,對存儲器是否采用為交錯結構無限制。本文方法可應用于存儲器及集成存儲器的其他敏感芯片,如DSP和FPGA等。因此,利用該方法提取電子器件的MCU信息能節省開展逆向工程的時間和經費,可提高航空航天電子系統器件選型評估的效率。

表5 模板元素對應的圖形Table 5 Corresponding shape of each template element
針對MCU信息提取時缺少器件版圖信息的問題,本文提出了一種基于概率統計的MCU信息提取方法。通過在SEU實驗數據中提取MCU模板,然后利用該MCU模板提取實驗數據中MCU信息,并利用一款已知版圖信息的位交錯存儲器對方法進行了驗證。結果表明,本文提出的方法能在無版圖信息的條件下以較高的精度提取MCU信息。從MCU信息提取的角度,該方法能代替逆向工程,從而節省高可靠電子系統對器件進行MCU考核時開展逆向工程的時間和成本,提高相關科學研究和器件選型效率。