用户识别模块的文件管理方法及装置与流程

文档序号:12748013阅读:222来源:国知局
用户识别模块的文件管理方法及装置与流程

本发明涉及用户识别模块(SIM,Subscriber Identity Module)中的文件系统,尤其涉及一种SIM卡的文件管理方法及装置。



背景技术:

SIM卡是移动设备广泛使用的用户身份识别模块,SIM卡用于登网鉴权、安全数据存储,SIM卡具有高安全性、可靠性等特点。SIM卡的数据以文件形式存储在卡内,文件的逻辑结构遵循ISO 7816规范。参照图1,SIM卡的文件结构分为目录文件(MF,Main File和DF,Directory File)和基本文件(EF,Element File),其中,EF用于存储文件数据。

SIM卡主要的物理存储介质是闪存(FLASH),FLASH是一种高密度、非易失性(Non-Volatile)存储介质。参照图2,FLASH的逻辑结构以页(Page)为单位,FLASH每页的容量为256字节或512字节,FLASH有特定的读写操作要求,即按页进行擦除,写数据需从逻辑1到0,如果要重写数据需要对FLASH进行擦除,而擦除的次数是有限制的,一般允许擦除次数在十万次左右。

考虑到FLASH存储的特点,基于FLASH存储介质的文件系统常需要考虑均衡擦除。均衡擦除是指应尽量平均使用FLASH每一页的擦除次数,如向FLASH更新数据时不在原地址更新,更新到新的FLASH可用页。均衡擦除可提高FLASH的使用寿命,但会降低文件系统的效率,尤其在处理能力和存储资源都有限的SIM卡上,性能的影响会更明显。

现有的基于FLASH存储介质的SIM卡文件系统的实现为如下两种方案:

方案一,参照图3,通过头表(Head Table)定位到数据体(Bata Body)。该方案不区分物理存储介质的差异性,更新文件数据是在物理存储介质的原位 置更新,因运行速度快,耗费资源小的特点被使用,例如更新标号为6的数据体。

方案二,参照图4,为实现对FLASH均衡擦除管理,循环使用FLASH页来存储数据,即数据存储的物理位置是变化的,数据的管理信息和数据一起循环移动。每一页起始位置保存管理信息(Admin info)如文件ID,该页剩余部分存储数据。该方案使用新的空闲页来更新数据,平均使用FLASH的页擦除次数,因文件系统寿命长、可靠性好被使用。例如,更新File1(标识为2和3)。

现有技术存在如下问题:

方案一,文件的存储依赖FLASH使用寿命,易造成高更新频率文件失效。

方案二,对所有文件提供均衡擦除管理,文件系统速度慢,占用存储资源(FLASH和RAM)多。并且随着SIM卡存储容量越来越大,对所有文件实施均衡擦除管理会带来更大的问题。



技术实现要素:

为解决上述技术问题,本发明实施例提供了一种SIM卡的文件管理方法及装置。

本发明实施例提供的SIM卡的文件管理方法包括:

将存储区域划分为第一存储分区和第二存储分区;

创建文件时,将文件的文件头存储在所述第一存储分区,其中,所述文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件;

当所述文件属性表明所创建的文件属于第一类文件时,在第一存储分区存储所述第一类文件的文件数据体;

当所述文件属性表明所创建的文件属于第二类文件时,在第二存储分区存储所述第二类文件的文件数据体。

本发明实施例中,所述方法还包括:

根据文件的标识(ID)确定出所述文件的文件头;

根据所述文件头中的文件属性,确定所述文件的类型;

当所述文件的类型为第二类文件时,在第二存储分区中查找到空闲页;

将所述文件的更新文件数据体存储至所述空闲页,并将存储有所述文件的源文件数据体的页面设置为无效页。

本发明实施例中,所述方法还包括:

当在所述第二存储分区中未查找到空闲页时,在所述第二存储分区中查找到无效页;

擦除所述无效页,并将所述文件的更新文件数据体存储至擦除后的无效页。

本发明实施例中,所述方法还包括:

依据所述第二类文件的数量及大小、所述第二类文件的更新次数、所述用户识别模块中页面的擦写次数,确定所述第二存储分区中的页面数量。

本发明实施例中,所述方法还包括:

当所述文件的类型为第一类文件时,在第一存储分区中存储有所述文件的源文件数据体的页面上更新所述文件数据体。

本发明实施例提供的SIM卡的文件管理装置包括:

分区单元,用于将存储区域划分为第一存储分区和第二存储分区;

第一存储单元,用于创建文件时,将文件的文件头存储在所述第一存储分区,其中,所述文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件;当所述文件属性表明所创建的文件属于第一类文件时,在第一存储分区存储所述第一类文件的文件数据体;

第二存储单元,用于当所述文件属性表明所创建的文件属于第二类文件时,在第二存储分区存储所述第二类文件的文件数据体。

本发明实施例中,所述装置还包括:

第一确定单元,用于根据文件的ID确定出所述文件的文件头;

第二确定单元,用于根据所述文件头中的文件属性,确定所述文件的类型;

第一查找单元,用于当所述文件的类型为第二类文件时,在第二存储分区中查找到空闲页;

第一更新单元,用于将所述文件的更新文件数据体存储至所述空闲页,并将存储有所述文件的源文件数据体的页面设置为无效页。

本发明实施例中,所述装置还包括:

第二查找单元,用于当在所述第二存储分区中未查找到空闲页时,在所述第二存储分区中查找到无效页;

所述第一更新单元,还用于擦除所述无效页,并将所述文件的更新文件数据体存储至擦除后的无效页。

本发明实施例中,所述装置还包括:

第三确定单元,用于依据所述第二类文件的数量及大小、所述第二类文件的更新次数、所述用户识别模块中页面的擦写次数,确定所述第二存储分区中的页面数量。

本发明实施例中,所述装置还包括:

第二更新单元,用于当所述文件的类型为第一类文件时,在第一存储分区中存储有所述文件的源文件数据体的页面上更新所述文件数据体。

本发明实施例的技术方案中,对于SIM卡中的存储介质FLASH,将FLASH的存储区域划分为第一存储分区和第二存储分区,这里,第一存储分区是指普通存储分区,即低更新分区,第二存储分区是指高更新分区。在创建文件时,将所有文件的文件头存储在第一存储分区,其中,所述文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件。这里,第一类文件是指低更新频率文件,第二类文件是指高更新频率文件。当所述文件属性表明所创建的文件属于第一类文件时,在第一存储分区存储所述第一类文件的文件数据体;当所述文件属性表明所创建的文件属于第二类文件时,在第二存储分区存储所述第二类文件的文件数据体。本发明实施例的技术方案对文件系统进行了分区,并且将不同更新频率的文件存储在不同的分区中,对于不同分区内的文件,支持不同的更新操作,以分别管理SIM卡文件系统中的高更新频率文件和低更新频率文件,可以消耗较少的存储资源,提升了处理性能,极大地提高了SIM卡文件系统的可靠性。

附图说明

图1为SIM卡的文件逻辑结构示意图;

图2为FLASH以页为单位的逻辑结构示意图;

图3为FLASH中数据更新的示意图一;

图4为FLASH中数据更新的示意图二;

图5为本发明实施例一的SIM卡的文件管理方法的流程示意图;

图6为本发明实施例二的SIM卡的文件管理方法的流程示意图;

图7为本发明实施例一的SIM卡的文件管理装置的结构组成示意图;

图8为本发明实施例二的SIM卡的文件管理装置的结构组成示意图;

图9为本发明实施例FLASH的分区示意图;

图10为本发明实施例的创建高更新频率文件的存储示意图;

图11为本发明实施例的更新高更新频率文件的存储示意图;

图12为本发明实施例的动态配置文件系统分区的示意图。

具体实施方式

为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。

图5为本发明实施例一的SIM卡的文件管理方法的流程示意图,如图5所示,所述SIM卡的文件管理方法包括以下步骤:

步骤501:将存储区域划分为第一存储分区和第二存储分区。

本发明实施例中,SIM卡的存储介质为FLASH,将FLASH的存储区域划分为两个区域,分别为第一存储分区和第二存储分区。

参照图9,针对第一存储分区,该存储分区为普通存储分区,或者称为低更新分区(Low update area),该存储分区用于存储更新频率较低的数据。针对第二存储分区,该存储分区为高更新分区(High update area),该存储分区用于存储更新频率较高的数据。这里,更新频率的高低由FLASH的性能等因素来 确定,例如FLASH的擦除次数非常高,则存储分区容忍的更新频率较高,FLASH的擦除次数较低,则存储区域容忍的更新频率较低。这里,每个存储分区的FLASH的逻辑结构均以页为单位,每页的容量为256字节或512字节。

本发明实施例中,SIM卡是专用电子器件,SIM卡具有如下特点:

1)大部分文件更新操作少,读取操作多,如国际用户识别码(IMSI,International Mobile Subscriber Identification Number)、电话本文件、短信文件。

2)少数文件更新频率高,如位置信息文件,鉴权计数器文件。

3)创建文件和删除文件的操作较少。

4)相比终端设备,处理能力有限,硬件资源有限。

高更新频率文件约占SIM卡整体文件8%左右,但这些文件内容失效会造成SIM卡使用出现严重问题,根据SIM卡特点,合理利用有限的资源实现高更新频率文件管理是本发明实施例的重点。

为此,本发明实施例将SIM卡文件系统分区为普通存储分区和高更新分区,两个分区分别采用不同的存储管理方法,低更新频率文件存储在普通存储分区,高更新频率文件的文件头存储在普通存储分区,高更新频率文件的文件数据体存储在高更新分区。

步骤502:创建文件时,将文件的文件头存储在所述第一存储分区,其中,所述文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件。

本发明实施例中,创建文件时,将文件的文件头存储在所述第一存储分区。文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件。这里,第一类文件是指低更新频率文件,第二类文件是指高更新频率文件。文件的文件头具有一标识文件是低更新频率文件,还是高更新频率文件属性。

参照图10,对于高更新分区的文件,文件头标识该文件为高更新频率文件。创建文件时,文件头存储在普通存储分区,根据文件头中文件属性,判断文件的类型。

步骤503:当所述文件属性表明所创建的文件属于第一类文件时,在第一存储分区存储所述第一类文件的文件数据体。

参照图10,如果文件属性表明文件为低更新频率文件,在普通存储分区为文件数据分配存储空间。

步骤504:当所述文件属性表明所创建的文件属于第二类文件时,在第二存储分区存储所述第二类文件的文件数据体。

参照图10,如果文件属性表明文件为高更新频率文件,在高更新分区为文件数据分配存储空间。

参照图11,当对高更新分区中的高更新频率文件进行更新时,采用如下流程:

根据文件ID找到该文件的文件头,根据文件头的文件属性,判断文件是否是高更新频率文件;如果文件是高更新频率文件,在高更新分区找到新的空闲页,将更新的数据写入新的空闲页,将原来存储文件数据的旧页设为无效页。如果没有在高更新分区找到新的空闲页,再在高更新分区中找无效页,擦除找到的无效页,将更新的数据写入擦除后的无效页。

本发明实施例动态配置文件系统的分区,具体地,根据需要创建的高更新频率文件的大小和数量、要求的文件更新次数和FLASH擦写次数限制,计算高更新分区占用的FLASH页数。SIM卡系统编译时,根据计算的高更新分区的FLASH页数分配存储空间,参见图12。SIM卡系统启动时,对文件系统分区进行初始化。

本发明实施例的技术方案中,对于SIM卡中的存储介质FLASH,将FLASH的存储区域划分为第一存储分区和第二存储分区,这里,第一存储分区是指普通存储分区,即低更新分区,第二存储分区是指高更新分区。在创建文件时,将所有文件的文件头存储在第一存储分区,其中,所述文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件。这里,第一类文件是指低更新频率文件,第二类文件是指高更新频率文件。当所述文件属性表明所创建的文件属于第一类文件时,在第一存储分区存储所述第一类文 件的文件数据体;当所述文件属性表明所创建的文件属于第二类文件时,在第二存储分区存储所述第二类文件的文件数据体。本发明实施例的技术方案对文件系统进行了分区,并且将不同更新频率的文件存储在不同的分区中,对于不同分区内的文件,支持不同的更新操作。本发明实施例的技术方案消耗较少的存储资源和性能,极大地提高SIM卡文件系统的可靠性。并且,动态配置高更新频率文件分区,合理、有效地使用了SIM卡存储资源。

图6为本发明实施例二的SIM卡的文件管理方法的流程示意图,如图6所示,所述SIM卡的文件管理方法包括以下步骤:

步骤601:将存储区域划分为第一存储分区和第二存储分区。

本发明实施例中,SIM卡的存储介质为FLASH,将FLASH的存储区域划分为两个区域,分别为第一存储分区和第二存储分区。

参照图9,针对第一存储分区,该存储分区为普通存储分区,或者称为低更新分区(Low update area),该存储分区用于存储更新频率较低的数据。针对第二存储分区,该存储分区为高更新分区(High update area),该存储分区用于存储更新频率较高的数据。这里,更新频率的高低由FLASH的性能等因素来确定,例如FLASH的擦除次数非常高,则存储分区容忍的更新频率较高,FLASH的擦除次数较低,则存储区域容忍的更新频率较低。这里,每个存储分区的FLASH的逻辑结构均以页为单位,每页的容量为256字节或512字节。

本发明实施例中,SIM卡是专用电子器件,SIM卡具有如下特点:

1)大部分文件更新操作少,读取操作多,如IMSI、电话本文件、短信文件。

2)少数文件更新频率高,如位置信息文件,鉴权计数器文件。

3)创建文件和删除文件的操作较少。

4)相比终端设备,处理能力有限,硬件资源有限。

高更新频率文件约占SIM卡整体文件8%左右,但这些文件内容失效会造成SIM卡使用出现严重问题,根据SIM卡特点,合理利用有限的资源实现高更新频率文件管理是本发明实施例的重点。

为此,本发明实施例将SIM卡文件系统分区为普通存储分区和高更新分区,两个分区分别采用不同的存储管理方法,低更新频率文件存储在普通存储分区,高更新频率文件的文件头存储在普通存储分区,高更新频率文件的文件数据体存储在高更新分区。

步骤602:创建文件时,将文件的文件头存储在所述第一存储分区,其中,所述文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件。

本发明实施例中,创建文件时,将文件的文件头存储在所述第一存储分区。文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件。这里,第一类文件是指低更新频率文件,第二类文件是指高更新频率文件。文件的文件头具有一标识文件是低更新频率文件,还是高更新频率文件属性。

参照图10,对于高更新分区的文件,文件头标识该文件为高更新频率文件。创建文件时,文件头存储在普通存储分区,根据文件头中文件属性,判断文件的类型。

步骤603:当所述文件属性表明所创建的文件属于第一类文件时,在第一存储分区存储所述第一类文件的文件数据体。

参照图10,如果文件属性表明文件为低更新频率文件,在普通存储分区为文件数据分配存储空间。

步骤604:当所述文件属性表明所创建的文件属于第二类文件时,在第二存储分区存储所述第二类文件的文件数据体。

参照图10,如果文件属性表明文件为高更新频率文件,在高更新分区为文件数据分配存储空间。

步骤605:根据文件的ID确定出所述文件的文件头;根据所述文件头中的文件属性,确定所述文件的类型;当所述文件的类型为第二类文件时,在第二存储分区中查找到空闲页;将所述文件的更新文件数据体存储至所述空闲页,并将存储有所述文件的源文件数据体的页面设置为无效页。

参照图11,当对高更新分区中的高更新频率文件进行更新时,采用如下流程:

根据文件ID找到该文件的文件头,根据文件头的文件属性,判断文件是否是高更新频率文件;如果文件是高更新频率文件,在高更新分区找到新的空闲页,将更新的数据写入新的空闲页,将原来存储文件数据的旧页设为无效页。如果没有在高更新分区找到新的空闲页,再在高更新分区中找无效页,擦除找到的无效页,将更新的数据写入擦除后的无效页。

步骤606:当在所述第二存储分区中未查找到空闲页时,在所述第二存储分区中查找到无效页;擦除所述无效页,并将所述文件的更新文件数据体存储至擦除后的无效页。

本发明实施例中,依据所述第二类文件的数量及大小、所述第二类文件的更新次数、所述用户识别模块中页面的擦写次数,确定所述第二存储分区中的页面数量。

本发明实施例动态配置文件系统的分区,具体地,根据需要创建的高更新频率文件的大小和数量、要求的文件更新次数和FLASH擦写次数限制,计算高更新分区占用的FLASH页数。SIM卡系统编译时,根据计算的高更新分区的FLASH页数分配存储空间,参见图12。SIM卡系统启动时,对文件系统分区进行初始化。

本发明实施例中,当所述文件的类型为第一类文件时,在第一存储分区中存储有所述文件的源文件数据体的页面上更新所述文件数据体。

本发明实施例的技术方案中,对于SIM卡中的存储介质FLASH,将FLASH的存储区域划分为第一存储分区和第二存储分区,这里,第一存储分区是指普通存储分区,即低更新分区,第二存储分区是指高更新分区。在创建文件时,将所有文件的文件头存储在第一存储分区,其中,所述文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件。这里,第一类文件是指低更新频率文件,第二类文件是指高更新频率文件。当所述文件属性表明所创建的文件属于第一类文件时,在第一存储分区存储所述第一类文 件的文件数据体;当所述文件属性表明所创建的文件属于第二类文件时,在第二存储分区存储所述第二类文件的文件数据体。本发明实施例的技术方案对文件系统进行了分区,并且将不同更新频率的文件存储在不同的分区中,对于不同分区内的文件,支持不同的更新操作。本发明实施例的技术方案消耗较少的存储资源和性能,极大地提高SIM卡文件系统的可靠性。并且,动态配置高更新频率文件分区,合理、有效地使用了SIM卡存储资源。

图7为本发明实施例一的SIM卡的文件管理装置的结构组成示意图,如图7所示,所述装置包括:

分区单元71,用于将存储区域划分为第一存储分区和第二存储分区;

第一存储单元72,用于创建文件时,将文件的文件头存储在所述第一存储分区,其中,所述文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件;当所述文件属性表明所创建的文件属于第一类文件时,在第一存储分区存储所述第一类文件的文件数据体;

第二存储单元73,用于当所述文件属性表明所创建的文件属于第二类文件时,在第二存储分区存储所述第二类文件的文件数据体。

本领域技术人员应当理解,图7所示的SIM卡的文件管理装置中的各单元的实现功能可参照前述SIM卡的文件管理方法的相关描述而理解。

图8为本发明实施例二的SIM卡的文件管理装置的结构组成示意图,如图8所示,所述装置包括:

分区单元81,用于将存储区域划分为第一存储分区和第二存储分区;

第一存储单元82,用于创建文件时,将文件的文件头存储在所述第一存储分区,其中,所述文件头中的文件属性标识了所述文件的类型,所述文件的类型为第一类文件或第二类文件;当所述文件属性表明所创建的文件属于第一类文件时,在第一存储分区存储所述第一类文件的文件数据体;

第二存储单元83,用于当所述文件属性表明所创建的文件属于第二类文件时,在第二存储分区存储所述第二类文件的文件数据体。

所述装置还包括:

第一确定单元84,用于根据文件的标识ID确定出所述文件的文件头;

第二确定单元85,用于根据所述文件头中的文件属性,确定所述文件的类型;

第一查找单元86,用于当所述文件的类型为第二类文件时,在第二存储分区中查找到空闲页;

第一更新单元87,用于将所述文件的更新文件数据体存储至所述空闲页,并将存储有所述文件的源文件数据体的页面设置为无效页。

所述装置还包括:

第二查找单元88,用于当在所述第二存储分区中未查找到空闲页时,在所述第二存储分区中查找到无效页;

所述第一更新单元87,还用于擦除所述无效页,并将所述文件的更新文件数据体存储至擦除后的无效页。

所述装置还包括:

第三确定单元89,用于依据所述第二类文件的数量及大小、所述第二类文件的更新次数、所述用户识别模块中页面的擦写次数,确定所述第二存储分区中的页面数量。

所述装置还包括:第二更新单元810,用于当所述文件的类型为第一类文件时,在第一存储分区中存储有所述文件的源文件数据体的页面上更新所述文件数据体。

本领域技术人员应当理解,图8所示的SIM卡的文件管理装置中的各单元的实现功能可参照前述SIM卡的文件管理方法的相关描述而理解。

本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直 接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1