有源RFID标签安全文件系统的设计

2014-08-05 02:40薛世帅李建红
计算机工程与应用 2014年24期
关键词:存储设备缓冲区有源

薛世帅,刘 丹,徐 展,李建红

电子科技大学 电子科学技术研究院,成都 611731

有源RFID标签安全文件系统的设计

薛世帅,刘 丹,徐 展,李建红

电子科技大学 电子科学技术研究院,成都 611731

1 引言

随着有源RFID[1]应用技术的不断成熟,有源RFID标签所具有的功能也越来越复杂。在基本的RFID应用中,包括标签ID、标签属性等各种标签元数据需要存储;在有源RFID定位系统中,标签存储的各种定位信息可以辅助定位算法更精确地定位标签位置;在有源RFID用于物品管理[2]时,每个标签都会管理大量的物品,这时必须对物品信息进行存储;在有源RFID安全应用中,很多的安全数据需要可靠存储。而有源RFID标签的低功耗需求[3-5]又是不会改变的,并且需要保证有源RFID标签有较高的存取速度。所以,在安全和速度并重的有源RFID系统应用中使用存储效率高的FRAM[6]存储设备进行数据存储是一个不错的选择。本文结合以上需求,设计一个基于FRAM存储设备的用于有源RFID标签的安全文件系统。

2 文件系统概述

文件系统[7]是系统用于管理数据的一种工具。例如,最熟悉的微软操作系统上使用了FAT格式[8]、NTFS格式[9]的文件系统。Linux系统上更广泛地支持多达几十种文件系统。但这些文件系统大都为较大的存储设备而设计,对于FRAM小型文件系统并不适合。在嵌入式系统上面,Contiki系统中带有一个为FLASH设备设计的Coffee[10]文件系统,但其文件创建时就必须指定文件长度的规定使得其实用性大大降低。综合考虑,本文通过改进FAT文件系统,实现了满足RFID系统需要而又轻便安全的文件系统。

FAT文件系统主要由BPB(启动参数块)、FAT表(文件分配表)和数据区组成。FAT文件系统使用簇来管理存储设备。簇的大小是扇区的整倍数,扇区大小为固定512 Byte。

FAT文件系统目录项大小为32 Byte的整数倍。FAT文件元数据没有安全控制属性。文件的安全性极差。但是,正是这种极简设计,使得文件系统的效率相当高,这也使得该文件系统的生命延续了几十年,甚至现在还在使用。

本文设计的文件系统针对FAT文件系统的缺点,对其进行以下方面的改进:

(1)增加文件FAT表索引[11],以提高文件随机访问的性能,使随机访问的复杂度降低为O(1)。

(2)优化修改FAT文件的目录项,减少其大小,增加文件安全控制选项,对系统的文件操作安全性提供充分的支持。并提供优化的打开的文件在内存中的表示。

(3)增加灵活的读写缓冲机制,以增加文件系统鲁棒性。

3 文件系统的改进

3.1 增加FAT表索引

一般情况下,文件系统对文件的随机寻址工作都是通过顺序遍历FAT链表来实现。如果这些FAT链表都在内存中,访问速度就会很快。但是在资源有限的RFID标签来说,这是不现实的。所以,本文在文件系统中对大文件增加了一个FAT表索引。

本文的FAT表索引就是对于一个文件FAT链表中的所有FAT号,每隔N个选取一个进行另外存储。这样无论从多少偏移进行文件读写,寻找对应存储块的时间总是不会超过N次对FAT的读取,这样就可以把文件的随机访问时间从线性复杂度降低为常数复杂度。FAT表索引存储在单独分配的存储块内,并且在文件目录项中指示其存储位置。

3.2 文件元数据改进

在FAT文件系统中,文件元数据就是文件目录项。占用空间大小为32 Byte的整倍数。FRAM存储空间非常宝贵,这里文件元数据设计要充分考虑存储空间的使用效率以及文件系统的性能。本文件系统把文件元数据分割为目录项和文件属性信息两部分,并使用目录项和文件属性分开分别存放的方法。这样在RFID阅读器发出列出目录下面文件的时候,标签只用应答目录项,而不传输文件属性,这对RFID的盘存效率是有很大提升的。

3.2.1 目录项设计

本文件系统的目录文件的内容由该目录下的文件目录项组成。这些信息在列表目录时通过射频链路传送给RFID阅读器。文件目录项结构如表1所示。

表1 文件系统目录项设计

由于对于RFID标签来说,其文件的阅读对象是RFID阅读器,而不是人。所以其文件名仅仅起一个辨别不同文件的作用,而不必体现文件的意义。所以本文用“文件ID”替代“文件名”。这样可以使文件名占用空间缩小到2个字节。文件标志的最高三位用来表示文件类型(包括目录文件、普通文件两种),其余5位是访问权限位。文件起始块编号标示文件数据起始所在的存储块编号。FAT索引起始块编号用来提高文件随机访问的性能。

3.2.2 文件属性设计

文件属性用来记录文件的长度、访问密码等信息。这部分信息在打开文件操作时,被加载进入内存。完整的文件属性组成结构如表2所示。

表2 文件属性

3.2.3 文件系统安全支持

安全文件操作使用目录项中文件标志的低5位来控制对文件的读取、修改操作。如果通过相关安全检查则调用文件操作层接口进行文件的读取或者修改。文件安全相关标志具体定义如表3所示,bn代表字节中的第n位。

表3 文件安全性设计

3.2.4 文件的打开及其在内存中的表示

当文件的属性和一些文件相关的运行时信息被加载入内存的时候,文件就处于被打开状态。在内存中,本文用栈结构来保存打开的文件信息。每打开一个目录或者文件,其相关数据将会被压入栈中。栈顶元素永远是当前打开的文件,也是唯一可以进行读写操作的文件。紧挨着栈顶的元素则是当前打开文件所在的目录。每关闭一个文件,就会弹出栈顶元素。文件在内存中表示的存储结构包含目录项、文件属性、当前操作偏移和一些辅助提高访问速度的域。

3.3 缓冲层设计

在本安全文件系统中,文件系统对FAT表的读写为每次2个字节的设备读写操作。这种情况会造成设备的频繁读写,严重影响读写效率。根据数据读写的局部性原理,本文件系统设计了一个位于内存中的缓冲层来提高文件系统读写的效率。又考虑到有源RFID标签RAM容量小,本缓冲层设计为可以调整内存占用大小。缓冲层最小内存占用大小可以为几个字节。

3.3.1 缓冲层存储设计

本文在缓冲层使用了一级缓存,多块缓存的方法来解决系统中的缓存问题。所谓的多块缓存是指缓冲区由一个缓存队列组成。队列中每个子缓存区可以缓存固定大小字节的数据,子缓存区内容可以单独更新,子缓存之间的内容互不影响。

缓冲区由A、B两个参数来实现缓冲区时间和空间效率的灵活调优。A标示每个子缓存区的大小,B标示缓冲区中子缓存区的的个数。缓冲区占用内存的大小可以如下计算:

(1)每个子缓冲区大小为2A;

(2)缓冲区中子缓冲区个数为2B;

(3)缓冲层占用的系统内存为2A×2BByte。

如果缓存区有效内容被改变,该子缓冲区要做出标记,并且要在以后的某个适当时刻写回到存储设备相应的地址。所以,每个子缓存区要有一个“dirty”标志。

缓冲层定义了2B个子缓冲区。本文把子缓存区从0到2B-1进行编号,并且把存储设备空间从0地址开始分割为2A Byte大小的连续块。块的边界是2A Byte对齐。则,存储设备块与子缓存区之间存在一种映射关系。令ADDR[m..n]表示存储设备地址ADDR从第m位开始的n位二进制位组成的数字;ADDR所在的存储设备块内容将被缓存到编号为ADDR[A..B]的子缓存区中。一般情况下存储设备块数目要多于子缓存区的个数。所以,每个子缓存区要保存所存储内容的起始地址,以便于辨别冲突情况。

3.3.2 更新缓冲区

更新缓存区的操作就是读取存储设备一个2A大小且起始地址2A Byte对齐的数据块到缓存区中或者缓冲层写操作向子缓冲区中写入数据。如果之前缓存区的“dirty”标志位置1,要先把子缓存区内容写回存储设备,然后写入新的内容。并更新缓存区管理结构中新内容的起始地址。

3.3.3 缓冲层读写操作

当缓冲层接收到来自文件操作层数据的读写请求时,缓冲层读写接口按照存储设备块进行分块读写,每次读写一个存储设备块,然后循环多次来完成读写。对于ADDR地址开始N个字节的存储设备块内读写操作细节如下:

(1)判断ADDR是否在缓存区内;

(2)如果ADDR在缓存区内,直接读写相应内容作为读取结果,过程结束;

(3)如果ADDR不在缓存区内,更新缓存区,返回步骤(2)。

4 测试结果及分析

本文在2.4 GB大容量有源RFID标签系统项目中实现了该文件系统。项目中,标签的硬件条件为基于Cortex-M3的MCU通过SPI接口连接FM25H20的FRAM芯片(存储容量为256 KB)。SPI接口比特率为20 Mb/s。本文的测试围绕缓冲层的作用以及文件系统的整体性能进行。

4.1 文件系统性能测试

本节的测试用例是64 KB数据的写入和读写操作。首先直接使用FRAM驱动接口从地址0开始连续向存储设备写入64 KB数据,然后通过文件系统接口创建文件并写入64 KB数据。实验数据如表4所示。

表4 文件系统性能实验数据 μs

从表4可以看出文件系统在提供了文件管理功能之后,读取效率降低了15.3%,写入效率降低了3.9%。在增加了文件系统的文件管理功能之后,数据读写效率并没有出现严重下降,仍在可接受范围之内。

4.2 缓冲层测试

本节的测试是64 KB大小的文件写入然后读取的操作。操作条件分别设置为不使用缓冲区和使用缓冲区两种。测试结果如表5所示。

表5 缓冲层效果实验

从表5可以看出,缓冲层明显为文件系统的读写提供了性能上的提高,并且极大地减少了设备访问次数。这也直接导致了文件系统读写效率的提高。

4.3 文件随机访问性能测试

对一个64 KB大小的文件,分别读取文件起始位置、32 KB偏移处数据和60 KB偏移处128 Byte数据,分别记录花费时间。实验结果如表6所示。

表6 文件随机访问实验数据 μs

从表6看出,使用增加FAT索引的效果是非常明显的。文件系统随机访问时间变得稳定,呈现常数的时间复杂度。

5 结束语

本文从有源RFID标准的实际需求出发,对FAT文件系统进行了大量的优化修改操作,并提出了增加FAT表索引的思路,为小型嵌入式系统提供了可靠的随机文件访问性能。从第3章的实验数据来看,本文件系统在减轻系统内存压力的情况下,可以为系统提供安全、快速的文件存取机制。最后,本文件系统在实际项目应用中,也表现出了不错的性能和稳定性。

[1]包起帆,张文渊,徐盛,等.有源RFID的性能及其应用前景[J].微型电脑应用,2006,22(4):1-3.

[2]张宏宇,柴逸飞,涂时亮,等.基于传感器网络和有源RFID的集装箱管理系统[J].计算机工程,2009,35(1):245-246.

[3]张继之.超高频RFID无源标签的低功耗数字电路设计[D].上海:复旦大学,2012.

[4]潘盛辉,郭毅锋,黄丽敏,等.基于MSP430F149的手持式RFID读写器低功耗设计[J].电子技术应用,2008(11):51-53.

[5]张东浩.无源UHF RFID标签芯片低压低功耗电源系统设计与实现[D].西安:西安电子科技大学,2011.

[6]赵培宇,李其华.FRAM铁电存储器的应用[J].江汉大学学报:自然科学版,2004(3):51-54.

[7]顾喜梅.文件系统及磁盘管理实现机制深入研究[D].南京:南京航空航天大学,2002.

[8]Microsoft Corporation.Microsoft extensible firmware initiative FAT32 file system specification[EB/OL].[2012-10-25]. http://msdn.microsoft.com/en-US/windows/hardware/gg463084.

[9]梁金千,张跃.NTFS文件系统的主要数据结构[J].计算机工程与应用,2003,39(8):116-118.

[10]Tsiftes N,Dunkels A,He Zhitao,et al.Enabling large-scale storage in sensor networks with the Coffee file system[C]// Proceedings of the 2009 International Conference on Information Processing in Sensor Networks,2009:349-360.

[11]谢力军,杨军.几种索引技术的比较[J].怀化学院学报,2009,28(8):115-118.

XUE Shishuai,LIU Dan,XU Zhan,LI Jianhong

Research Institute Electronic Science and Technology,University of Electronic Science and Technology of China,Chengdu 611731,China

With the needs of miniature file system in the application of active RFID tag,and the characteristics of limited memory of the system,high speed of reading and writing files during the interrogator collecting tags,this paper begins the research on the secure file system for active RFID tag.It designs a compact,secure and efficient file system by selecting high-speed memory device and improves the FAT file system(adding flexible data cache mechanism,simplifying the file directory entry,adding file access control functionality).The experimental results show that the system works well.

active Radio Frequency Identification(RFID);File Allocation Table(FAT)file system;embedded system

针对有源RFID标签应用中对微型文件系统的需求,围绕标签内存小和大量标签盘点过程中要求文件读写速度快的特点,展开对有源RFID标签安全文件系统的研究。最终通过选用高速存储器件和对FAT文件系统进行改进(实现灵活的数据缓冲层、精简文件目录项、增加文件访问控制),实现了简洁高效安全的文件系统设计,并在实验中展现了文件系统良好的性能。

有源无线射频识别(RFID);文件分配表(FAT)文件系统;嵌入式

A

TP393

10.3778/j.issn.1002-8331.1301-0333

XUE Shishuai,LIU Dan,XU Zhan,et al.Design of secure file system for active RFID tag.Computer Engineering and Applications,2014,50(24):47-49.

薛世帅(1986—),男,硕士研究生,主要研究方向为嵌入式系统,物联网等。E-mail:xishuaihear@126.com

2013-01-29

2013-04-22

1002-8331(2014)24-0047-03

CNKI网络优先出版:2013-05-21,http∶//www.cnki.net/kcms/detail/11.2127.TP.20130521.1027.006.html

猜你喜欢
存储设备缓冲区有源
基于移相控制的双有源桥变换器回流功率分析
基于网络聚类与自适应概率的数据库缓冲区替换*
嫩江重要省界缓冲区水质单因子评价法研究
Windows 7下USB存储设备接入痕迹的证据提取
基于Flash芯片的新型存储设备数据恢复技术研究
基于有源箝位的开关电源设计
邱有源书法作品欣赏
关键链技术缓冲区的确定方法研究
用批处理管理计算机USB设备的使用
45V输入200mALDO提供有源输出放电