黃健,黃健文,李俊磊
(中國電信股份有限公司廣東電信研究院,廣州510630)
在5G 移動通信系統中,根據TS131.102 5G 規范要求,當用戶終端在5G 系統中出現位置變化時,要求終端更新5G 通信智能卡內的位置信息等選網文件[1]。由于5G 系統采用微型基站方式進行覆蓋,基站覆蓋范圍距離較短,大約為200-1000 米,導致位置信息文件更新頻率相對于4G 來說更高,因此5G 系統對通信智能卡中位置信息等高頻次更新文件有更高的更新次數要求。
5G 系統中目前應用在手機端的通信智能卡芯片存儲介質主要為Flash。手機終端使用的通信智能卡Flash 擦寫次數壽命為10 萬次,在工業級、車規級物聯網卡使用的Flash 擦寫次數為50 萬次。
提升5G 系統中普通手機終端USIM 卡高頻次更新文件更新次數壽命的方法有兩種。第一種方法,可采用工業級、車規級芯片的Flash 存儲介質,在物理電氣特性方面提升存儲介質更新次數。第二種方法,在現有芯片存儲介質10 萬次更新次數現狀下,將位置信息等高頻次更新文件的更新次數要求,分散到更多的存儲區域進行更新,從而提升高頻次更新文件的更新次數壽命。兩種方法均可大幅度提高通信卡的文件擦寫次數;第一種方法將大幅提升5G 通信智能卡采購成本;對于5G 通信卡來說,不是所有文件都需要進行高頻次更新,因此采用第二種方法可在不提高運營成本的情況下,解決擦寫次數壽命問題。
在USIM 卡文件系統中包括MF、DF/ADF、EF 等3種類型文件。MF 是整個文件系統的入口,是文件系統的根文件[2]。DF/ADF 是MF 下的目錄文件,DF/ADF 下可創建下一級子目錄文件。EF 文件是卡文件系統的基本文件,在目錄文件MF/DF/ADF 下,用于存儲具體的文件內容;EF 文件主要分為透明文件和記錄文件兩種結構類型。MF、DF/ADF、EF 文件由文件頭和文件體兩部分構成,文件頭根據ISO-7816-4 規范要求采用TLV 結構的FCP 文件控制模板記錄文件頭,通常包括文件類型、大小、權限等。
在現有智能卡Flash 更新次數壽命有限,傳統文件設計方式,文件的更新次數壽命完全依賴于Flash 的擦寫次數。本文通過優化文件頭模板設計、備份文件映射關聯分散更新方式實現對文件更新次數壽命的提升。主要包括EF 文件頭FCP 模板設計、備份文件關聯鏈表設計、文件映射過程、文件更新過程等。
優化設計方法通過在EF 文件頭中增加新的文件更新次數TLV 結構,標簽為F0,長度為2 個字節,用于標識該文件為高頻次更新文件,并記錄該文件當前更新次數,標記為EN。EF 文件控制模板FCP 表1 所示。

表1 EF 文件FCP 控制模板
假設EFA 文件為需要高頻次更新的文件,要求支持的更新次數為50 萬次,卡芯片存儲介質擦寫次數為10 萬次,則至少應為EFA 文件創建4 個備份文件EFA1-EFA4。備份文件與EFA 文件使用相同的大小、讀寫權限、更新次數記錄等相同的文件結構。
EFA 與備份文件映射關聯鏈表,記錄EFA 與備份文件的關聯關系。通過映射關聯鏈表可檢索EFA 的所有備份文件,并可從備份文件的文件控制模板FCP中的F0 標簽獲取當前備份文件的更新次數。映射關聯鏈表如表2 所示。

表2 映射關聯鏈表
在外部觸發的文件系統寫過程中,當文件的寫入次數超過預設文件寫入次數上限EM 值時觸發文件映射關聯過程,包括:在映射關聯列表中查詢基本文件EFA 的所有備份文件;通過備份文件FCP 模板找到最小寫入次數的備份文件,標記為EFmin;將EFA 的當前文件值內容備份至EFmin 中,交換EFA 與EFmin 的文件ID,將EFmin 的文件存儲區域映射為EFA。文件映射過程如圖1 所示。文件映射過程主要步驟如下:①在卡文件系統中找到EFA 文件的關聯映射鏈表,標記為EFA_List;②在EFA_List 中通過各備份文件文件FCP 模板F0 標簽找到寫入次數最小的EFmin 文件;③如果EFmin 文件寫入次數已經達到預設EM,則卡EFA 文件映射失敗;④將EFA 文件內容拷貝至EFmin備份文件;⑤在文件系統中的,將EFA、EFmin 文件ID交換。當完成映射后的新EFA 后續寫入次數達到EM更新次數上限值時,繼續按照本流程進行下一個EFmin 文件查找映射,直至所有EFA1…EFAn 的更新次數均達到EM 值。

圖1 映射關聯鏈流程
EFA 文件更新過程,依賴于卡外實體發送文件選擇指令0X A4、更新二進制文件指令0X D6 或更新記錄文件0X DC 等指令組合實現對卡所有EF 文件內容進行更新[3]。更新流程如圖2 所示。更新過程步驟如下:①卡外實體通過0X A4 指令選擇卡文件系統內EFA 文件;②卡外實體通過0X DC 或0X D6 指令觸發更新EFA 文件;③卡文件系統通過EFA 文件FCP F0標簽判斷文件是否為高頻次更新文件;④如果EFA 文件不是高頻次更新文件,則卡文件系統直接對文件內容進行更新;⑤如果EFA 文件為高頻次更新文件,并且文件當前更新次數EN 值未超過文件EM 上限,則直接更新文件內容,文件當前更新次數EN+1;⑥如果EFA 文件當前更新參數EN>=EM,則觸發文件映射過程進行文件映射;⑦卡文件系統對完成文件映射后的EFA 文件進行更新,映射后的EFA 更新次數EN+1。
在4G、5G 移動通信系統中使用的USIM 卡內,按照國際標準要求不是所有的文件都需要進行高頻次的更新,只有位置信息等文件才需進行高頻次更新,其余文件只有在生產制卡時進行一次更新。本文優化設計方法,通過FCP 控制模板、文件映射鏈表的設計創新,將一個更新次數較高要求的文件,分散映射到多個文件存儲區進行更新,從而在保證文件內容正確的前提下,成倍提升小部分文件的更新壽命。
文件映射方式提升卡文件更新次數方法,可在文件邏輯上提升文件的更新次數,在高頻次更新文件較少的情況,使用較小的芯片資源開銷,即可成倍提升文件更新壽命。使用此方法在文件系統創建時,需要明確哪些文件是高頻次更新文件及根據該文件的讀寫次數預期,創建相應的備份文件。當卡內文件大多數為高頻次更新文件時,使用此方法的資源開銷較大,不適合使用此方法。

圖2 文件更新過程圖