黃健,黃健文,李俊磊
(中國電信股份有限公司廣東電信研究院,廣州510630)
在5G 移動通信系統(tǒng)中,根據(jù)TS131.102 5G 規(guī)范要求,當(dāng)用戶終端在5G 系統(tǒng)中出現(xiàn)位置變化時,要求終端更新5G 通信智能卡內(nèi)的位置信息等選網(wǎng)文件[1]。由于5G 系統(tǒng)采用微型基站方式進(jìn)行覆蓋,基站覆蓋范圍距離較短,大約為200-1000 米,導(dǎo)致位置信息文件更新頻率相對于4G 來說更高,因此5G 系統(tǒng)對通信智能卡中位置信息等高頻次更新文件有更高的更新次數(shù)要求。
5G 系統(tǒng)中目前應(yīng)用在手機(jī)端的通信智能卡芯片存儲介質(zhì)主要為Flash。手機(jī)終端使用的通信智能卡Flash 擦寫次數(shù)壽命為10 萬次,在工業(yè)級、車規(guī)級物聯(lián)網(wǎng)卡使用的Flash 擦寫次數(shù)為50 萬次。
提升5G 系統(tǒng)中普通手機(jī)終端USIM 卡高頻次更新文件更新次數(shù)壽命的方法有兩種。第一種方法,可采用工業(yè)級、車規(guī)級芯片的Flash 存儲介質(zhì),在物理電氣特性方面提升存儲介質(zhì)更新次數(shù)。第二種方法,在現(xiàn)有芯片存儲介質(zhì)10 萬次更新次數(shù)現(xiàn)狀下,將位置信息等高頻次更新文件的更新次數(shù)要求,分散到更多的存儲區(qū)域進(jìn)行更新,從而提升高頻次更新文件的更新次數(shù)壽命。兩種方法均可大幅度提高通信卡的文件擦寫次數(shù);第一種方法將大幅提升5G 通信智能卡采購成本;對于5G 通信卡來說,不是所有文件都需要進(jìn)行高頻次更新,因此采用第二種方法可在不提高運(yùn)營成本的情況下,解決擦寫次數(shù)壽命問題。
在USIM 卡文件系統(tǒng)中包括MF、DF/ADF、EF 等3種類型文件。MF 是整個文件系統(tǒng)的入口,是文件系統(tǒng)的根文件[2]。DF/ADF 是MF 下的目錄文件,DF/ADF 下可創(chuàng)建下一級子目錄文件。EF 文件是卡文件系統(tǒng)的基本文件,在目錄文件MF/DF/ADF 下,用于存儲具體的文件內(nèi)容;EF 文件主要分為透明文件和記錄文件兩種結(jié)構(gòu)類型。MF、DF/ADF、EF 文件由文件頭和文件體兩部分構(gòu)成,文件頭根據(jù)ISO-7816-4 規(guī)范要求采用TLV 結(jié)構(gòu)的FCP 文件控制模板記錄文件頭,通常包括文件類型、大小、權(quán)限等。
在現(xiàn)有智能卡Flash 更新次數(shù)壽命有限,傳統(tǒng)文件設(shè)計方式,文件的更新次數(shù)壽命完全依賴于Flash 的擦寫次數(shù)。本文通過優(yōu)化文件頭模板設(shè)計、備份文件映射關(guān)聯(lián)分散更新方式實現(xiàn)對文件更新次數(shù)壽命的提升。主要包括EF 文件頭FCP 模板設(shè)計、備份文件關(guān)聯(lián)鏈表設(shè)計、文件映射過程、文件更新過程等。
優(yōu)化設(shè)計方法通過在EF 文件頭中增加新的文件更新次數(shù)TLV 結(jié)構(gòu),標(biāo)簽為F0,長度為2 個字節(jié),用于標(biāo)識該文件為高頻次更新文件,并記錄該文件當(dāng)前更新次數(shù),標(biāo)記為EN。EF 文件控制模板FCP 表1 所示。
表1 EF 文件FCP 控制模板
假設(shè)EFA 文件為需要高頻次更新的文件,要求支持的更新次數(shù)為50 萬次,卡芯片存儲介質(zhì)擦寫次數(shù)為10 萬次,則至少應(yīng)為EFA 文件創(chuàng)建4 個備份文件EFA1-EFA4。備份文件與EFA 文件使用相同的大小、讀寫權(quán)限、更新次數(shù)記錄等相同的文件結(jié)構(gòu)。
EFA 與備份文件映射關(guān)聯(lián)鏈表,記錄EFA 與備份文件的關(guān)聯(lián)關(guān)系。通過映射關(guān)聯(lián)鏈表可檢索EFA 的所有備份文件,并可從備份文件的文件控制模板FCP中的F0 標(biāo)簽獲取當(dāng)前備份文件的更新次數(shù)。映射關(guān)聯(lián)鏈表如表2 所示。
表2 映射關(guān)聯(lián)鏈表
在外部觸發(fā)的文件系統(tǒng)寫過程中,當(dāng)文件的寫入次數(shù)超過預(yù)設(shè)文件寫入次數(shù)上限EM 值時觸發(fā)文件映射關(guān)聯(lián)過程,包括:在映射關(guān)聯(lián)列表中查詢基本文件EFA 的所有備份文件;通過備份文件FCP 模板找到最小寫入次數(shù)的備份文件,標(biāo)記為EFmin;將EFA 的當(dāng)前文件值內(nèi)容備份至EFmin 中,交換EFA 與EFmin 的文件ID,將EFmin 的文件存儲區(qū)域映射為EFA。文件映射過程如圖1 所示。文件映射過程主要步驟如下:①在卡文件系統(tǒng)中找到EFA 文件的關(guān)聯(lián)映射鏈表,標(biāo)記為EFA_List;②在EFA_List 中通過各備份文件文件FCP 模板F0 標(biāo)簽找到寫入次數(shù)最小的EFmin 文件;③如果EFmin 文件寫入次數(shù)已經(jīng)達(dá)到預(yù)設(shè)EM,則卡EFA 文件映射失??;④將EFA 文件內(nèi)容拷貝至EFmin備份文件;⑤在文件系統(tǒng)中的,將EFA、EFmin 文件ID交換。當(dāng)完成映射后的新EFA 后續(xù)寫入次數(shù)達(dá)到EM更新次數(shù)上限值時,繼續(xù)按照本流程進(jìn)行下一個EFmin 文件查找映射,直至所有EFA1…EFAn 的更新次數(shù)均達(dá)到EM 值。
圖1 映射關(guān)聯(lián)鏈流程
EFA 文件更新過程,依賴于卡外實體發(fā)送文件選擇指令0X A4、更新二進(jìn)制文件指令0X D6 或更新記錄文件0X DC 等指令組合實現(xiàn)對卡所有EF 文件內(nèi)容進(jìn)行更新[3]。更新流程如圖2 所示。更新過程步驟如下:①卡外實體通過0X A4 指令選擇卡文件系統(tǒng)內(nèi)EFA 文件;②卡外實體通過0X DC 或0X D6 指令觸發(fā)更新EFA 文件;③卡文件系統(tǒng)通過EFA 文件FCP F0標(biāo)簽判斷文件是否為高頻次更新文件;④如果EFA 文件不是高頻次更新文件,則卡文件系統(tǒng)直接對文件內(nèi)容進(jìn)行更新;⑤如果EFA 文件為高頻次更新文件,并且文件當(dāng)前更新次數(shù)EN 值未超過文件EM 上限,則直接更新文件內(nèi)容,文件當(dāng)前更新次數(shù)EN+1;⑥如果EFA 文件當(dāng)前更新參數(shù)EN>=EM,則觸發(fā)文件映射過程進(jìn)行文件映射;⑦卡文件系統(tǒng)對完成文件映射后的EFA 文件進(jìn)行更新,映射后的EFA 更新次數(shù)EN+1。
在4G、5G 移動通信系統(tǒng)中使用的USIM 卡內(nèi),按照國際標(biāo)準(zhǔn)要求不是所有的文件都需要進(jìn)行高頻次的更新,只有位置信息等文件才需進(jìn)行高頻次更新,其余文件只有在生產(chǎn)制卡時進(jìn)行一次更新。本文優(yōu)化設(shè)計方法,通過FCP 控制模板、文件映射鏈表的設(shè)計創(chuàng)新,將一個更新次數(shù)較高要求的文件,分散映射到多個文件存儲區(qū)進(jìn)行更新,從而在保證文件內(nèi)容正確的前提下,成倍提升小部分文件的更新壽命。
文件映射方式提升卡文件更新次數(shù)方法,可在文件邏輯上提升文件的更新次數(shù),在高頻次更新文件較少的情況,使用較小的芯片資源開銷,即可成倍提升文件更新壽命。使用此方法在文件系統(tǒng)創(chuàng)建時,需要明確哪些文件是高頻次更新文件及根據(jù)該文件的讀寫次數(shù)預(yù)期,創(chuàng)建相應(yīng)的備份文件。當(dāng)卡內(nèi)文件大多數(shù)為高頻次更新文件時,使用此方法的資源開銷較大,不適合使用此方法。
圖2 文件更新過程圖