适用于智能卡应用环境的嵌入式文件系统的制作方法

文档序号:6613836阅读:211来源:国知局
专利名称:适用于智能卡应用环境的嵌入式文件系统的制作方法
技术领域
本发明涉及智能卡设计和应用领域,尤其涉及高计算性能、超大存储容 量、高速传输接口的智能卡文件系统的设计和应用。
本发明所指的智能卡是指基础功能符合或采用ISO/IEC7816标准,增强 功能采用工业界最新技术的大容量新型智能卡。
背景技术
智能卡又叫IC卡,是一种将具有存储、加密及数据处理能力的集成电路 芯片镶嵌于塑料基片中的卡片。智能卡根据嵌装的芯片来划分,可分成存储 器卡和微处理器卡两大类。本发明中的智能卡是指微处理器卡,也称CPU卡, 卡中的集成电路包括中央处理器CPU、 EEPROM、随机存储器RAM以及固 化在只读存储器ROM中的片内操作系统COS ( Chip Operating System)。
文件是COS中的一个极为重要的概念。所谓文件,是指关于数据单元或 卡中记录的有组织的集合。COS通过给每种应用建立一个对应文件的方法来 实现它对各个应用的存储及管理。因此,COS的应用文件中存储的都是与应 用程序有关的各种数据或记录。
目前,主要的智能卡数据记录方式是直接存放在闪存里面,数据主要以 顺序连续存放的形式,不适合传统智能卡上文件格式以外的文件的读取,如 媒体文件,数据库文件等。而且, 一种COS的文件系统一般都只能应用于特 定的某种(或者是某些)智能卡,因此无法通过通用的高速接口 (如USB, SD/MMC等)与PC或终端上数据的同步。由于目前Flash存储介质在嵌入 式系统中的大规才莫应用以及人们对于大容量存储卡的需求,传统智能卡(如 SIM卡)上的简单数据管理更无法适应闪存的物理管理的分页结构的存储方 法和寻址,访问机制存在很大问题。
由于增值业务对支持USB, MMC等多种大容量存储设备的需求,对于系统中的数据管理而言,实现多种介质(NAND/NOR)的兼容管理是文件管理 的主要要求,因此,如何基于嵌入式存储器建立文件系统来管理存储区数据, 已经成为业界亟待解决的问题。

发明内容
本发明所要解决的技术问题在于提供一种适用于智能卡应用环境的嵌入 式文件系统,为用户提供简单、统一的文件存取和管理平台,通过把所管理 的数据组织成文件的形式进行处理,有利于数据的定位、分析,提高数据管 理的效率。
为解决上述技术问题,本发明提供一种适用于智能卡应用环境的嵌入式 文件系统,在类DOS分区中,包含引导扇区、文件分配表区、根目录区和 数据区;
所述文件系统包括如下模块
文件管理模块,用于提供对文件进行操作的相关应用程序接口; 目录管理模块,用于提供对目录进行操作的相关应用程序接口; 文件分配表管理模块,用于提供对簇链进行操作的相关应用程序接口 ; 文件目录表管理模块,用于保存文件及目录的属性信息,提供对目录进
行操作的相关应用程序接口 ;
逻辑盘管理模块,用于保存逻辑盘的基本信息,提供对逻辑盘进行操作
的相关应用程序接口;
高速緩存管理模块,用于对高速緩存进行动态分配,使扇区内容在逻辑
盘与高速緩存中进行交互读写操作。 其中,所述系统还可以进一步包括
应用程序模块,用于通过调用应用程序接口,实现对文件和目录的操作; 底层驱动程序模块,用于提供与设备无关的接口,使系统通过该接口访 问实际的硬件。
利用本发明,能够通过特定的操作将各类数据和文件进行安全可靠地存 储,提供至少为兆字节级别以上的超大容量存储管理,从而实现SIM卡与目
6前主流的个人电脑、数码相机、MP3/MP4播放机等数码设备共享和交换数据
的功能。


图1为根据本发明所述的嵌入式文件系统的总体结构示意图; 图2为根据本发明所述的文件系统各个模块层次示意图,其中MP3读取 模块作为 一个应用程序的事例而存在;
图3为根据本发明所述的高速緩存(Cache)分配机制的示意图4为根据本发明所述的新型智能卡的软件结构示例图5为根据本发明所述的文件系统与存储介质挂接的示意图。
具体实施例方式
目前,在PC机上己经有很多成熟的文件系统,如DOS下的FAT文件系 统、Windows NT下的NTFS文件系统及UNIX文件系统等。但是这些文件系 统并不适合直接用到嵌入式系统中进行多媒体数据内容的存储,这是因为
1、嵌入式系统作为移动存储使用的Flash种类较为复杂和多样化,而且 文件系统不仅要为一种应用(如U盘)提供文件系统,还要为其他应用(如 SIM, SD, MMC, CF等)多种不同物理层接口的Flash存储介质提供文 件系统,对这些不同的对象就要进行类似抽象与封装的操作,以使得上层应 用可以使用同一个接口完成对不同对象的文件管理。这与传统的磁盘管理有 不同之处,需要文件系统设计做到底层无关性。
2 、通用文件系统是针对系统资源非常丰富的计算机平台并基于速度较慢 的磁盘驱动器,其緩存技术要耗费比较多的系统内存资源, 一些属性类以及 根目录大小等也会消耗部分硬盘资源,不适用于嵌入式系统中系统资源十分 有限的应用情况。
3、基于海量存储的嵌入式文件系统需要支持许多特定的应用,如SIM, USB, SD/MMC等,这与普通桌面操作系统的文件系统在功能和作用上有很 大差异,在嵌入式文件系统中的某些情况下,文件系统可以针对特殊的目的 定制,这对嵌入式操作系统的系统功能规整性提出了更高的要求。
基于上述考虑,需要提供一种适合SIM卡应用环境的嵌入式文件系统,它不仅支持文件代号管理、文件指针存取以及自动坏损管理这些通用文件系 统所具有的功能,并且在文件系统的可靠性以及文件系统的额外资源消耗方 面也要有所考虑。概况来说,需要利用用户接口,能够完备、方便地实现如
下功能
1、 文件的定位与存取。
2、 文件的操作与控制。
3、 文件的共享与保护。
下面结合附图和实施例对本发明作进一步详细的描述。 本发明实施例提供的通用文件系统是基于嵌入式操作系统之上,支持 USB, SD, MMC卡上的FAT12/FAT16/FAT32系统,支持多块FLASH的同 时管理,并能够根据实际需要和硬件扇区大小的不同进行Cache的管理和配 置,并在此基础上增加了与SIM卡等具体应用相配合的文件系统接口,同时 根据嵌入式设备特征对一些系统无关项进行了简化。
由于本发明实施例的文件系统是作为嵌入式系统的文件管理器而存在的: 在其结构处理上可以比MS-DOS FAT文件系统更简化,更灵活,以提高整 个系统的存储效率。但考虑到U盘接口与PC的交互,因此,在结构上必须 与FAT系统兼容。
依据应用目的和需求,嵌入式文件管理器的基本结构设计,必须满足下 列两种原则
1、 结构上兼容MS-DOS FAT文件系统。这种结构较为复杂,占用系统 资源较多。但釆取这种方式,Flash存储器上的数据文件就可以被MS-DOS或 Windows的FAT文件系统(FAT 12/16/32 )向下兼容。
2、 对实时性要求较高的智能卡嵌入式系统,通过一些方法可以简化操作。 例如,取消主引导区的隐藏部分,对引导扇区、FAT区、根目录区的结构进 行简化,或根据系统需求修改。结构上的简化不仅有效地节省了存储空间, 也大大提高了存储效率。
按照上述原则,在实现文件系统的时候,存储结构采取了和硬盘类似的 存储结构。明显不同的是新型文件系统管理的Flash存储介质中不需要主引 导分区MBR,因为Flash存储介质中需要与PC交互操作的只有一个FAT文件系统,可以直接跳到FAT的引导扇区DBR,即DOS引导分区。
如果本发明提供的嵌入式文件系统只是用于系统内部的文件管理的话, 即使采用FAT文件系统也可以不必按照标准的存储结构,但是,考虑到要和 PC进行交互,PC和手机上格式化存储、管理过的文件系统可以被智能卡系 统识别、使用,同样,被智能卡内部格式化后存储、管理的文件系统也必须 要被PC识别、使用。这就必须采用标准的存储结构,引导扇区DBR中的各 个指令和参数必须按照微軟推出的标准。
按照以上的要求,本发明设计了如图l所示的文件系统结构。
在类DOS分区结构中,包含引导扇区、文件分配表(FAT)区、根目 录区和数据(DATA)区。类DOS分区是指基本结构与DOS分区类似,针 对小型嵌入式系统进行了功能删减和结构调整的分区结构。详细分配如下
-引导扇区。该扇区位于分区的逻辑第一扇区,其中包含了有关存储器特 性的全部重要信息和文件系统信息。
画-FAT区。FAT区的结构安排同MS-DOS FAT文件系统不同。只包括 一个FAT表,以降低操作的复杂度。FAT表中存放着智能卡所有区块的占 用与空闲情况以及每个文件的存储链接结构。支持FAT 12/16/32格式。
-根目录区。FAT区后是根目录区。该区域包含严格的32字节格式的 目录项,用于描述文件和子目录。包含文件或子目录的名字、属性、生成或 最后修改的日期和时间、文件起始簇号和文件长度等。
-数据区(data区)。真正用于存放用户各种数据文件的区域。
针对上述系统结构,本发明提供了一种同时满足嵌入式存储空间需求又 兼容MS-DOS FAT系统的新型智能卡通用文件系统。功能如下
-支持多个逻辑盘,且不同的逻辑盘可以在不同的介质上。
-支持树型目录结构,子目录层数不受限制。
-支持以FAT12、 FAT16、 FAT32格式化的逻辑盘
-支持文件读写和目录操作。
-格式化(format)时根目录区大小可设。
-支持8.3文件名格式,忽略长文件名。由于SIM文件长度多为4字节, 因此不支持创建和访问长文件名的文件可以节省较大代码空间。不过,具有 长文件名的文件还是可以通过短文件名访问。-忽略文件(目录)属性中的时间相关属性因为嵌入式系统常常没有系 统时钟,而且即使有,也没有统一的标准,所以设计尽量减少处理文件、目 录关于时间相关的特性。
-支持文件(目录)属性中的只读、存档、隐含、系统属性。
-简化FAT表操作,忽略除第一个FAT表以外的所有FAT表。由于坏 块在文件系统之下管理,使得安全性大为提高,因此不需要进行FAT表的同 步以简化操作,如果逻辑盘有几个FAT表,则只操作第一个FAT表,其它 的FAT表保持不变。
本发明提供的实施例系统采用模块化层次结构设计,并使用底层驱动程 序来兼容不同的硬件结构和不同的介质,其结构如图2所示。 以下按模块来介绍其功能。
1、 应用程序模块202
应用程序是用户自己编写的程序,是文件系统的使用者,位于整个程序 的最高层。应用程序可以调用文件系统提供的函数(API)对文件和目录进 行相应的操作。
由于系统是运行在RTOS的多任务管理基础之上,因此,对于并发的文 件读写操作必须进行相应的控制。
其中,用户接口层(API)提供文件操作API,通过消息邮箱机制把相应 的文件操作请求发送给文件系统管理层,完成阻塞或非阻塞调用。文件系统 管理层,提供文件系统空间管理,存取控制,读写操作,该层作为一个任务 独立运行,通过消息队列处理USB, SD/MMC和SIM等多应用对文件操作 的并发请求。
从用户接口层来讲,本发明的文件系统的API接口通过操作系统(OS) 提供的消息机制来完成文件操作,文件系统的文件服务器在OS的调度下, 通过文件系统的接口,最终完成对Flash的读写操作。
2、 文件管理模块204与目录管理模块206
文件管理模块204和目录管理模块206是直接与应用程序接口的模块, 位于文件系统的最高层。大部分用户接口函数(API)都在这两个模块中定
10义。文件管理模块提供所有与操作文件相关的函数;目录管理模块提供与4喿 作目录相关的函数。
其中,文件管理模块204中基本的文件操作接口,包括
1) 文件的创建,打开
打开或创建一个新文件,由创建或打开的路径(WINDOWS标准路径格 式)和方式(如read, write)等来确定其具体操作。与DOS FAT格式不同 的是文件忽略了长文件名。操作结束后需要关闭文件。
2) 关闭文件
关闭已打开文件的文件描述符。
3) 文件的读取
从打开的文件当前位置处开始读取指定的字节到緩冲区,并移动文件指 针。緩冲区大小须大于本次读取的最大长度。
4) 文件的写入
从打开的文件当前位置处开始写入指定的字节,并移动文件指针。
5) 文件的查找,指针定位 移动文件指针位置。
6) 获取文件当前位置指针 获取当前文件指针位置。
7) 文件是否到尾 检查文件是否到尾。
8) 删除文件
删除指定路径的文件,文件必须是未打开文件。
9) 智能卡特殊应用文件操作
为了适应智能卡中的SIM应用,本发明在文件管理模块中增加了对SIM 定长文件的创建以及带长度检查的SIM文件写入接口。在文件创建时, MS-DOS的FAT文件系统仅在文件的父目录增添32字节的属性内容,文件 的大小随文件的写入而增加。由于SIM文件具有定长的特性,如短信条数, 电话簿空间等,同时为了保证SIM数据的安全访问,针对以上需求,在原有 的文件操作基础上,增加了定长文件的创建,即在文件创建时根据指定长度 来增加相应的簇数,并在其父目录的属性字节中加入长度设置。在写SIM文200710177634.4
说明书第8/14页
件时,由于智能卡使用的FLASH空间有限,为了防止MS-DOS的FAT文件 系统中写文件操作无长度限制导致的数据溢出,增加了带长度检查的写操作 接口,即在每次写操作时检查写入地址长度是否超出SIM文件确定的固有长度。
这两处接口必须不改变原有的FAT结构,以保证与WINDOWS FAT文 件系统的完全兼容。
目录管理模块206包括基本目录操作接口 ,主要有
1) 目录的创建创建指定路径下的目录。
2) 删除目录删除指定目录,如果该目录不为空,则不会删除该目录。
3) 改变当前目录改变当前目录为指定目录。
4) 获取文件属性
获取指定文件(目录)的长度或是否为目录等的文件属性。
5) 特定应用操作 如判断指定目录(文件)是否为当前目录的父目录,子目录,兄弟目
录,关系目录等,可用于SIM应用部分,并且该部分可#>据实际具体应用需 要添加。添加必须不能改变原有FAT结构。
3、文件分配表管理模块208与文件目录表管理模块210
文件分配表(FAT)管理模块208和文件目录表(FDT)管理模块210
管理着FAT文件系统的两个重要的数据结构,用户程序不能调用它们。
FAT模块208的处理类似MS-DOS FAT系统,如获取蔟的下一个蔟号,
设置下一个簇号,为簇链增加一个簇,删除一个簇链等。同时设置了针对SIM
的增加固定长度的簇链的操作,使簇数根据字节来增加,以满足如上固定长
度文件的创建接口。具体如下
1) 获取下一簇簇号 获取指定簇所属簇链的下一簇号。
2) 设置下一簇簇号
寻找一个空簇,并设置为指定簇的下一簇。
3) 删除一个蔟链删除指定簇所在的整个簇链。
4)应用相关i殳计 如增加一个簇链等。
文件目录表(FDT)是FAT文件系统的重要数据结构,所有的文件、目 录(不包括根目录)的主要信息均保存在这个数据结构中。文件目录表以文 件的方式存储在数据区中,FAT32中包括根目录区都使用与普通文件相同的 FAT管理模式。对于FAT12和FAT16来说,其根目录具有特殊的数据存储 区域,与其他目录的处理方式不同。
FDT模块存储了文件以及目录的属性信息。包括文件名、大小、属性、 建立时间、最后访问日期、最后写日期,起始簇等。在本发明中,文件(目 录)名支持8.3文件名格式,忽略长文件名。由于SIM文件长度多为4字节, 因此不支持创建和访问长文件名的文件可以节省较大代码空间。不过,具有 长文件名的文件还是可以通过短文件名访问。忽略文件(目录)属性中的时 间相关属性,因为嵌入式系统常常没有系统时钟,而且即使有,也没有统一 的标准,所以设计尽量减少处理文件、目录关于时间相关的特性。忽略文件 (目录)属性中的只读、存档、隐含、系统属性。对带有这几个属性的文件、 目录不进行特殊处理,从而节省处理时间,筒化系统操作。
该文件目录表管理模块210需要实现的功能包括
1) 将指定簇所有数据清零。
2) 增加FDT信息
在指定目录查增加措定文件(目录),用于目录和文件的创建。
3) 删除FDT信息
在指定目录删除指定文件(目录),用于目录和文件的删除。
4) 改变FDT信息
改变指定目录指定文件(目录)的属性。
5) 获取FDT信息
获取指定目录指定文件(目录)信息。
6) 查找FDT信息
在指定目录查找指定文件(目录)。4、 逻辑盘管理模块212
逻辑盘管理模块212保存着每个逻辑盘的一些基本信息。例如,逻辑盘 使用的驱动程序由这个模块保存。这些信息会被很多其它模块使用,大部分 模块都需要调用这个模块的函数(API)来获取自己需要的逻辑盘的信息。 文件系统通过这个模块管理多个逻辑盘。
本模块主要包括如下接口
1 )逻辑盘驱动管理的加载
设计一个与底层设备无关的接口,即包含了读写指定逻辑盘,指定扇区 的接口。通过该接口读取Flash信息,并加载该驱动程序。
2) 卸载逻辑盘驱动 删除一个底层驱动程序。
3) 磁盘信息的初始化
设计逻辑盘信息登录项用以记录着各个逻辑盘的各种信息。在该接口中 进行必要的初始化。
5、 高速緩存模块214
高速緩存(Cache)是为了加快逻辑盘的访问速度而加入的。它利用一些 ram作为Cache保存一些访问过的逻辑盘扇区的内容。如果某次读逻辑盘扇 区的数据时Cache中有其备份,则不再读^U兹盘。同时,写数据到逻辑盘扇 区实际并不直接操作逻辑盘扇区,而是先写到Cache中,当某种原因这一片 Cache要存储其它扇区数据时,或是调用相应的函数(API)时才真正地写入 逻辑盘。这样就极大的减少了访问逻辑盘的次数,相应的提高了速度(通常 逻辑盘速度比较慢)。这个模块就是用来管理Cache的。
由于文件系统是以扇区为单位进行操作的(如WINDOWS最小以 512bytes作为扇区大小分配),而在智能卡中Flash的空间有限,因此,划分 成更小的扇区将更有助于存储空间的充分利用。在新型智能卡中,由于集成 了 USB/SD/MMC等与WINDOWS文件系统兼容的设备,扇区大小必须以最 小512byte来划分。这就使得不同FLASH必须用不同的扇区大小来管理,而 Cache也必须在有限的空间内兼容两种不同大小的扇区,并且进行合理和有效的分配。
由此,本发明中Cache模块设计的成功与否,将对整个系统的运转起着 关键的作用。本模块所要实现的功能主要应该有 -分配动态化(使Cache利用率较高)。
-对每条APDU指令读取和写入数据时保证其最大限度的完整性。 —对Cache读取的均衡
在一个系统中,不同逻辑扇区的大小由其所在的逻辑盘(逻辑扇区号) 决定,在Cache的分配时,将根据不同逻辑盘和不同扇区进行动态的分配。 Cache块的分配原则和流程如下
首先,Cache的是基于最小单位的分配,并对分配的块数进行计数。如 图3所示,在Cache初始化的时候将Cache分为MIN—CACHE_SIZE x FIX—MAX—CACHES大小的RAM区。其中MIN_CACHE—SIZE为分配的最 小单位,可根据系统需要自行设置。所有逻辑盘的扇区大小应为 MIN_CACHE—SIZE的整数倍。
第二,指定扇区进行Cache分配时,通过查找相同大小扇区或者合并/ 分解其他扇区来找到相应存储空间,当该逻辑盘的该扇区已经位于Cache中 时则不需要进行Cache的分配,当所有Cache块均标志为可写时,则需要对 Cache进行回写操作后,再重新分配。分配的原则是,当通过Cache算法查 找到的可分配扇区(ToAllocateSize)大于需要分配的大小(Size)时,对该 扇区进行分割,分割为与需要分配大小一致的扇区(Size )和(ToAllocateSize -Size )/MIN—CACHE—SIZE个MIN_CACHE_SIZE大小的扇区。当通过Cache 算法查找到的可分配扇区大小(ToAllocateSize)小于需要分配的大小(Size) 时,将该扇区移到Cache末尾,并将其他扇区顺序前移,需要分配大小变为 Size-ToAllocateSize,重新分配,直至移到最后的空间大小等于Size。若在分 配过程中找到一块恰好等于Size大小的Cache块,则返回该Cache块。在其 中,每一块分配时如果查找到所有Cache块均需要回写时应回写后再分配。
第三,Cache的算法采用改进的LFU (least-frequently-used) 算法,即 最先移出最少使用的读标志扇区,即能够做到有效和稳定的Cache分配。
从而可以4故到扇区内容在FLASH与Cache中进4亍交互读写操作。具体的功能单元实现如下
1) Cache的初始4匕的单元
将Cache信息初始化。即将Cache分为 MIN—CACHE—SIZE*FIX—MAX—CACHES大小的RAM区。
2) Cache的分配的单元
即在Cache中找到指定逻辑盘,指定扇区所在的緩沖区,同时,当扇区 内容不在Cache中时,通过以上Cache分配算法从Cache区中分配一块相同 大小的緩沖区。
3) 读扇区的单元
将指定逻辑盘,指定扇区的数据由Cache读出,如果内容不在Cache中, 则从Flash中将数据读到Cache。
4) 写扇区的单元
将指定逻辑盘,指定扇区的数据标记为可写。由于Cache方案是基于回 写机制,因此在该处只是将相应标记置位,真正的写Flash操作发生在Cache 回写中。
5) Cache回写的单元
将整个Cache区数据中标记为可写的扇区由Cache写入到真正Flash中, 回写的原则可根据智能卡的实际情况来确定。如SIM卡中可在一条APDU指 令结束后进行回写。当分配时检查Cache块全部需要回写时也将发生Cache 回写的操作。
6、 底层驱动程序模块216
为了能够兼容多种介质和硬件,可以通过底层驱动程序来实现。底层驱 动为上层程序提供与设备无关的接口 ,系统通过这个接口访问实际的硬件。
该接口的功能具体为,通过指定的逻辑盘,指定扇区,将Flash内容读 到緩沖区或将缓冲区内容回写到Flash中。
7、 其它实用程序模块218
实用程序不是文件系统的组成部分。但它们又是非常必要的。由于不同 应用都有其特殊性,除基本的文件操作外还需要其他与应用相关的接口,如
16SIM, MP3等大量涉及文件系统应用的模块。该接口可根据实际需要灵活添 加。但是必须遵循原有的文件操作规范,符合MS-DOS FAT格式。
下面参照图4、图5,以在SIM卡中同时实现USB/SD/MMC接口为例, 对发明作进一步的描述。
本发明实施例涉及的新型智能卡的软件按分层结构设计,分为硬件驱动、 RTOS、 API、以及具体的应用/业务等几层,详细结构如图4所示。本发明的 智能卡内部包含众多的设备器件和应用程序,调度和管理的复杂度高,因此 采用RTOS来做智能管理,以提供一个高效、稳健的多任务、多应用的工作 环境,主要功能包括任务调度管理、文件管理、内存管理、中断管理、时间 管理、设备管理。
实施例中智能卡中共有三片FLASH,分別为片内数据存储器D_FLASH, 片内程序存储器P_FLASH,以及片外与USB/SD/MMC等存储接口共用的 OUT—D一FLASH,构成了本发明基于RTOS的具体文件系统所管理的三种不 同介质,如图5所示,其中D—FLASH设计扇区大小为64bytes/Sec, P—FLASH 及0UT1D-FLASH设计扇区大小为与WINDOWS兼容的512bytes/Sec。
实施例的类FAT结构根据嵌入式环境的容量限制,取消了引导扇区和 FAT表之间的隐藏扇区,以及双FAT表变为单FAT表以便于管理。
实施例中Cache根据RAM以及实际使用设置大小为4Kbytes, Cache分 配时取内部D—FLASH的扇区大小64bytes/Sec为单位分配大小 MIN—CACHE—SIZE,从而使得分配程序最筒化。
由于实施例中的应用包括SIM, SD/MMC, USB以及MP3等,因此文 件系统根据实例中的需求,增加了针对于SIM应用的SIM固定大小文件的创 建,带文件长度检查的写文件操作,以及目录(文件)是否是当前目录的父 目录,子目录,兄弟目录等的判断,另外还根据STK应用增加对当前路径的 保存接口 ,以及根据MP3特定应用增加的绕过Cache直接对Flash文件进4亍 读取的接口。
智能卡内部格式化时按照图l所示结构进行格式化,WINDOWS对其进 行格式化时,文件系统通过驱动加载读取BOOT区信息获取格式化信息建立 FAT系统,使得文件系统具有作为WINDOWS存储卡和智能卡的双重功能。由于本发明的文件系统具有兼容MS-DOS FAT系统的特性,因此即可用 于USB/SD/MMC等存储卡标准接口的开发,又能够规范的存储SIM文件, 从而完成智能卡与存储卡共享存储介质,多卡合一的功能。
本发明根据嵌入式系统特性增删了部分功能,如删除长文件名,文件时 间属性,第二个FAT表等不必要的复杂操作,增加SIM关系目录判断,SIM 文件创建,MP3文件读取等应用接口,以极少的代码量实现了智能卡文件系 统必要的功能。
利用Cache的緩存和回写功能,可以保证SIM通信时单条APDU的数据 完整性和掉电保护等功能。
利用其管理多块FLASH的特性,可以将SIM卡存储范围进行扩展,使 得大容量短信电话簿等信息存储成为可能。
利用其层次化、结构化的体系结构和统一的编程^"口,可以灵活、高效、 快速地开发和部署新应用、新业务。
权利要求
1、一种适用于智能卡应用环境的嵌入式文件系统,其特征在于在类DOS分区中,包含引导扇区、文件分配表区、根目录区和数据区;所述文件系统包括如下模块文件管理模块,用于提供对文件进行操作的相关应用程序接口;目录管理模块,用于提供对目录进行操作的相关应用程序接口;文件分配表管理模块,用于提供对簇链进行操作的相关应用程序接口;文件目录表管理模块,用于保存文件及目录的属性信息,提供对目录进行操作的相关应用程序接口;逻辑盘管理模块,用于保存逻辑盘的基本信息,提供对逻辑盘进行操作的相关应用程序接口;高速缓存管理模块,用于对高速缓存进行动态分配,使扇区内容在逻辑盘与高速缓存中进行交互读写操作。
2、 如权利要求l所述的系统,其特征在于,进一步包括 应用程序模块,用于通过调用应用程序接口,实现对文件和目录的操作; 底层驱动程序模块,用于提供与设备无关的接口,使系统通过该接口访问实际的硬件。
3、 如权利要求l所述的系统,其特征在于,所述文件分配表区中只包括 一个文件分配表,该文件分配表中存放着所有区块的占用与空闲情况,以及 每个文件的存储链接结构。
4、 如权利要求l所述的系统,其特征在于,所述文件管理模块提供的应 用程序接口包括用于创建、打开文件的接口; 用于关闭文件的接口; 用于读取文件的接口; 用于文件的写入的接口; 用于文件的查找、指针定位的接口; 用于获取当前文件指针位置的接口 ; 用于检查文件是否到尾的接口 ;用于删除文件的接口;用于智能卡特殊应用文件操作的接口 。
5、 如权利要求l所述的系统,其特征在于,所述目录管理模块提供的 应用程序接口包括用于创建目录的接口; 用于删除目录的接口; 用于改变当前目录的接口; 用于获取文件属性的接口; 用于特定应用操作的接口。
6、 如权利要求l所述的系统,其特征在于,所述文件分配表管理模块提 供的应用程序接口包括用于获取下一簇簇号的接口 ; 用于设置下一簇簇号的接口; 用于删除一个簇链的接口; 用于增加一个簇链的接口。
7、 如权利要求l所述的系统,其特征在于,所述文件目录表管理模块提 供的应用程序接口包括用于将指定簇所有数据清零的接口 ; 用于增加文件目录表信息的接口 ; 用于删除文件目录表的接口 ; 用于改变文件目录表信息的接口 ; 用于获取文件目录表信息的接口 ; 用于查找文件目录表信息的接口 。
8、 如权利要求l所述的系统,其特征在于,所述逻辑盘管理模块提供的 应用程序接口包括用于逻辑盘驱动管理的加载的接口 ; 用于卸载逻辑盘驱动的接口 ; 用于磁盘信息的初始化的接口 。
9、 如权利要求l所述的系统,其特征在于,所述高速緩存管理模块对高 速緩存进行的动态分配,是基于最小单位的分配,并对分配的块数进行计数。
10、 如权利要求l所述的系统,其特征在于,所述高速緩存管理模块, 包括用于将高速缓存信息初始化的单元;用于在指定扇区进行高速緩存分配时,通过查找相同大小扇区或者合并/ 分解其他扇区来找到相应存储空间的单元;用于将指定逻辑盘,指定扇区的数据由高速緩存读出的单元;用于将指定逻辑盘,扇区的数据标记为可写的单元;用于将整个高速緩存区数据中标记为可写的扇区由高速緩存写入到存储 介质中的单元。
11、 如权利要求l所述的系统,其特征在于,所述文件目录表管理模块 保存的属性信息中,忽略长文件名信息。
12、 如权利要求l所述的系统,其特征在于,所述文件目录表管理模块 保存的属性信息中,忽略与时间相关的属性信息。
13、 如权利要求l所述的系统,其特征在于,所述文件目录表管理模块 保存的属性信息中,忽略只读、存档、隐含、系统属性信息。
14、 如权利要求2所述的系统,其特征在于,所述底层驱动程序模块提 供的与设备无关的接口,用于通过指定的逻辑盘,指定的扇区,将存储介质 中的内容读到緩冲区或者将緩冲区内容回写到存储介质中。
15、 如权利要求4所述的系统,其特征在于,所述用于创建、打开文件 的接口,在文件操作时忽略长文件名。
16、 如权利要求4所述的系统,其特征在于,所述用于创建、打开文件 的接口,在文件创建时根据指定长度来增加相应的簇数,并在其父目录的属 性字节中加入长度设置。
17、 如权利要求4所述的系统,其特征在于,所述用于文件的写入的接 口 ,在每次写操作时检查写入地址长度是否超出智能卡文件确定的固有长度。
18、 如权利要求5所述的系统,其特征在于,所述用于特定应用操作的 接口 ,包括用于判断指定目录/文件与当前目录的关系的接口 。
全文摘要
本发明公开了一种适用于智能卡应用环境的嵌入式文件系统,在类DOS分区中,包含引导扇区、文件分配表区、根目录区和数据区;所述文件系统包括文件管理模块、目录管理模块、文件分配表管理模块、文件目录表管理模块、逻辑盘管理模块、高速缓存管理模块。利用本发明,能够通过将各类数据和文件进行安全可靠地存储,提供至少为兆字节级别以上的超大容量存储管理,从而实现SIM卡与目前主流的个人电脑、数码相机、MP3/MP4播放机等数码设备共享和交换数据的功能。
文档编号G06F12/08GK101441634SQ20071017763
公开日2009年5月27日 申请日期2007年11月19日 优先权日2007年11月19日
发明者张武杰, 李菲菲, 预 秦 申请人:凤凰微电子(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1