外部存储性能测试方法和装置的制作方法

文档序号:6775761阅读:184来源:国知局
专利名称:外部存储性能测试方法和装置的制作方法
技术领域
本发明涉及数据存储技术领域,具体涉及一种外部存储性能测试方法和装置。
背景技术
随着大容量外部存储器如安全数字(SD)卡、标准闪存(CF)卡、存储记忆体、闪速存储器(NandFlash)等存储器件的普及应用,很多嵌入式移动设备都提供了外部存储器的控制接口,使得用户能够将移动设备上的多媒体信息文件和个人信息文件通过控制接口存储到外部存储器上。在嵌入式移动设备的设计阶段,尤其是涉及到外部存储器控制接口的设计阶段,设计者需要对移动设备上支持外部存储器的文件系统如文件分配表(FAT)系统、以及外部存储器自身的读写性能等进行性能测试。在进行测试时,首先,需要在FAT系统中制造大量的不同大小的文件碎片,然后根据该文件碎片进行FAT系统的读写操作,以测试FAT系统和外部存储器的存储性能。
文件在外部存储器上的最小存储单位是簇。移动设备在外部存储器上为每个文件设置一个文件目录表项,该表项记录了各文件的起始簇的地址和文件大小,同时,移动设备在外部存储器上维护一个FAT,该FAT中记录了每个文件所占用的簇的索引信息。例如若文件1存储在簇10、12、13、20中,则该文件的目录表项中记录的起始簇的地址信息为10,同时在FAT中记录有簇10的下一个簇为簇12、簇12的下一个簇为簇13、簇13的下一个簇为簇20,簇20的下一个簇为0xFFFF或0xFFFFFFFF,以表示簇20为该文件的最后一个簇。这样,移动设备就可根据文件目录表项和FAT得知该文件存储在哪些簇中,然后从外部存储器上的对应簇中读取该文件的所有数据。
图1为现有的进行外部存储性能测试的流程图,如图1所示,其具体步骤如下步骤101将连接有外部存储器的嵌入式移动设备通过通用串行总线(USB)连接到个人计算机(PC)上,即将移动设备作为PC机的USB磁盘设备使用。
步骤102从PC上拷贝一定数目的文件到与移动设备连接的外部存储器上,每个文件的大小设定为测试所需文件碎片的大小。
步骤103拷贝完成,按照拷贝顺序,将拷贝到外部存储器的文件每隔一个文件删除一个文件。
步骤104将测试文件从移动设备写入外部存储器,根据FAT中的簇索引信息,确定未被占用的簇的地址信息,将该测试文件的数据按照未被占用的簇的地址信息,依次写入未被占用的簇中,形成文件碎片。
步骤105移动设备将该测试文件的目录表项写入到FAT系统的根目录区中,同时将该测试文件的簇索引信息写入FAT中。
步骤106根据形成的文件碎片对FAT系统或外部存储器的存储性能进行测试。
现有方法的缺点是由于需要将大量的文件写入与移动设备连接的外部存储器,然后再进行文件的删除操作,导致制作文件碎片的速度非常慢。在实际应用中,对于不同容量的外部存储器以及测试所需的不同大小的文件碎片,制作文件碎片的时长从几个小时到几十个小时不等,这无疑会大大增加测试时长。

发明内容
本发明提供一种外部存储性能测试方法和装置,以减少测试时长。
本发明的技术方案是这样实现的
一种外部存储性能测试方法,包括确定进行存储性能测试所需的文件碎片的大小,每隔一个文件碎片所占用的存储空间构造一个不占用外部存储器存储空间的虚拟文件,在FAT中记录各虚拟文件的簇索引信息;移动设备确定要向外部存储器写入测试文件,根据各虚拟文件的簇索引信息确定未被占用的簇,将该测试文件数据写入未被占用的簇中,形成文件碎片,根据该文件碎片进行存储性能测试。
所述虚拟文件的大小等于测试所需文件碎片的大小。
所述将该测试文件数据写入未被占用的簇中之后进一步包括在FAT中记录该测试文件的簇索引信息。
所述将该测试文件数据写入未被占用的簇中之后进一步包括根据该测试文件占用的起始簇和终止簇,建立该测试文件的目录表项,将该测试文件的目录表项写入FAT文件系统的根目录区中。
一种外部存储性能测试装置,该装置包括文件碎片大小确定模块,用于确定进行存储性能测试所需的文件碎片的大小,将该大小发送给虚拟文件构造模块;虚拟文件构造模块,用于根据收到的文件碎片的大小,每隔一个文件碎片所占用的存储空间构造一个不占用外部存储器存储空间的虚拟文件,在FAT中记录各虚拟文件的簇索引信息;文件碎片构造模块,用于在将测试文件写入外部存储器时,在FAT中查询簇索引信息,从而确定未被占用的簇的地址信息,将当前测试文件写入未被占用的簇中,形成文件碎片,根据该文件碎片进行存储性能测试。
所述文件碎片构造模块进一步用于,在FAT中建立写入外部存储器的测试文件的簇索引信息。
所述文件碎片构造模块进一步用于,根据写入外部存储器的测试文件占用的起始簇和终止簇,建立该测试文件的目录表项,将该测试文件的目录表项写入根目录存储模块中。
与现有技术相比,本发明通过构造相隔一个文件碎片大小的不占用外部存储器存储空间的虚拟文件,在FAT中记录各虚拟文件的簇索引信息,使得在移动设备向外部存储器写入文件时,误认为FAT中记录的簇索引信息对应的簇已被占用,从而将该文件数据写入虚拟文件未占用的簇中,形成了文件碎片,避免了在构造文件碎片时,向外部存储器写入大量文件的过程,大大降低了制作文件碎片的时长,从而降低了测试FAT系统或外部存储器的性能所耗费的时长。


图1为现有的进行外部存储性能测试的流程图;图2为本发明实施例提供的进行外部存储性能测试的流程图;图3为本发明提供的进行外部存储性能测试的实例示意图;图4为本发明实施例提供的进行外部存储性能测试的装置组成图。
具体实施例方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图2是本发明实施例提供的进行外部存储性能测试的流程图,如图2所示,其具体步骤如下步骤201确定测试FAT系统或外部存储器的存储性能所需的文件碎片的大小。
文件碎片的大小可由用户通过按键输入到移动设备。
步骤202确定当前需构造的虚拟文件的数目以及各虚拟文件的大小。
这里的虚拟文件指的是虚构出的、并不实际占用存储空间的文件,不需向外部存储器写入任何文件数据,而只在FAT中建立该虚拟文件的簇索引信息。这样,当此后向外部存储器写入文件时,移动设备就会认为该簇索引信息对应的簇已被占用,从而不会向这些簇再写入数据。
需构造的虚拟文件的数目可以根据实际需要确定,每个虚拟文件的大小通常设定为与测试所需文件碎片的大小相同。
步骤203每隔一个测试所需文件碎片所占用的存储空间构造一个虚拟文件,在FAT中记录各虚拟文件的簇索引信息。
具体地,对于每两个相邻的虚拟文件,后一个虚拟文件的起始簇地址减去前一个虚拟文件的终止簇地址得到的值,为测试所需文件碎片所占用的簇空间的大小。
步骤204为每个虚拟文件建立目录表项,将各虚拟文件的目录表项写入FAT系统的根目录区中。
步骤205移动设备确定要向外部存储器写入测试文件,根据FAT中的簇索引信息,确定未被占用的簇的地址信息,将该测试文件的数据按照未被占用的簇的地址信息,依次写入未被占用的簇中,形成文件碎片。
步骤206移动设备将该测试文件的目录表项写入到FAT系统的根目录区中,同时将该测试文件的簇索引信息写入FAT中。
步骤207根据形成的文件碎片对FAT系统或外部存储器的存储性能进行测试。
以下给出一个应用本发明的具体实例设测试所需文件碎片的大小为6个簇,则构造文件碎片的过程为01设定当前需构造的每个虚拟文件的大小为6个簇,并确定需构造的虚拟文件的数目为n。
02在FAT中记录各虚拟文件的簇索引信息。
具体地,在FAT中为每个簇设置了一个簇索引信息记录。
图3给出了虚拟文件所占用的簇空间的示意图,如图3所示,虚拟文件1占用簇2~7,则在FAT中,在与簇2对应的位置处记录簇3的标识,以表示簇2的下一个簇为簇3;在与簇3对应的位置处记录簇4的标识,以表示簇3的下一个簇为簇4;....;在与簇6对应的位置处记录簇7的标识,以表示簇6的下一个簇为簇7;在与簇7对应的位置处记录结束标志0xFFFF或0xFFFFFFFF,以表示簇7为虚拟文件1的最后一个簇;虚拟文件2占用簇14~19,则在FAT中记录的簇索引信息为在簇14对应的位置处记录簇15的标识,在簇15的位置处记录簇16的标识,....,在簇18的位置处记录簇19的标识,在簇19的位置处记录结束标志0xFFFF或0xFFFFFFFF;依此类推,直至将n个虚拟文件的簇索引信息都记录到FAT中,其中,x=(n-1)*12+2。
03移动设备建立各虚拟文件的目录表项,将各虚拟文件的目录表项写入FAT系统的根目录区中。
具体地,各虚拟文件的目录表项为虚拟文件1的起始簇为簇2,终止簇为簇7;虚拟文件2的起始簇为簇14,终止簇为19;依此类推。
04移动设备确定要向外部存储器写入测试文件,根据FAT中记录的簇索引信息确定未被占用的簇的地址信息,将该测试文件的数据写入未被占用的簇中,形成文件碎片。
具体地,如图3所示,根据FAT中的簇索引信息依次可以查找到簇8~13、20~25、...未被占用,则将文件数据依次写入簇8~13、20~25、...,直至将文件数据写入完毕;并在将文件数据写入完毕时,将该文件的起始簇地址信息和终止簇地址信息记录到该文件的目录表项中,并将该文件的目录表项写入到根目录区中,然后将该文件的簇索引信息记录到FAT中。
05根据形成的文件碎片,进行FAT系统或外部存储器的存储性能测试。
图4是本发明提供的进行外部存储性能测试的装置组成图,如图4所示,其主要包括文件碎片大小确定模块41、虚拟文件构造模块42、文件碎片构造模块43、FAT存储模块44和根目录存储模块45,其中文件碎片大小确定模块41用于确定测试FAT系统或外部存储器的存储性能所需的文件碎片的大小,将该文件碎片的大小发送给虚拟文件构造模块42。
虚拟文件构造模块42用于接收文件碎片大小确定模块41发来的文件碎片的大小,根据该文件碎片的大小,每隔一个文件碎片所占的存储空间构造一个虚拟文件,在FAT存储模块44中记录各虚拟文件的簇索引信息,并将各虚拟文件的目录表项写入根目录存储模块45。
文件碎片构造模块43用于在将测试文件写入外部存储器时,在FAT存储模块44中查询簇索引信息,从而确定未被占用的簇的地址信息,根据该未被占用的簇的地址信息,将当前测试文件写入未被占用的簇中,形成文件碎片,根据形成的文件碎片测试FAT系统或外部存储器的存储性能,并将该测试文件的目录表项写入根目录存储模块45中,将该测试文件的簇索引信息写入FAT存储模块44中。
FAT存储模块44用于记录各文件的簇索引信息。
根目录存储模块45用于存储各文件的目录表项。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种外部存储性能测试方法,其特征在于,包括确定进行存储性能测试所需的文件碎片的大小,每隔一个文件碎片所占用的存储空间构造一个不占用外部存储器存储空间的虚拟文件,在文件分配表FAT中记录各虚拟文件的簇索引信息;确定要向外部存储器写入测试文件,根据各虚拟文件的簇索引信息确定未被占用的簇,将该测试文件数据写入未被占用的簇中,形成文件碎片,根据该文件碎片进行存储性能测试。
2.如权利要求1所述的方法,其特征在于,所述虚拟文件的大小等于测试所需文件碎片的大小。
3.如权利要求1所述的方法,其特征在于,所述将该测试文件数据写入未被占用的簇中之后进一步包括在FAT中记录该测试文件的簇索引信息。
4.如权利要求1或3所述的方法,其特征在于,所述将该测试文件数据写入未被占用的簇中之后进一步包括根据该测试文件占用的起始簇和终止簇,建立该测试文件的目录表项,将该测试文件的目录表项写入FAT文件系统的根目录区中。
5.一种外部存储性能测试装置,其特征在于,该装置包括文件碎片大小确定模块,用于确定进行存储性能测试所需的文件碎片的大小,将该大小发送给虚拟文件构造模块;虚拟文件构造模块,用于根据收到的文件碎片的大小,每隔一个文件碎片所占用的存储空间构造一个不占用外部存储器存储空间的虚拟文件,在FAT中记录各虚拟文件的簇索引信息;文件碎片构造模块,用于在将测试文件写入外部存储器时,在FAT中查询簇索引信息,从而确定未被占用的簇的地址信息,将当前测试文件写入未被占用的簇中,形成文件碎片,根据该文件碎片进行存储性能测试。
6.如权利要求5所述的装置,其特征在于,所述文件碎片构造模块进一步用于,在FAT中建立写入外部存储器的测试文件的簇索引信息。
7.如权利要求5或6所述的装置,其特征在于,所述文件碎片构造模块进一步用于,根据写入外部存储器的测试文件占用的起始簇和终止簇,建立该测试文件的目录表项,将该测试文件的目录表项写入根目录存储模块中。
全文摘要
本发明公开了一种外部存储性能测试方法,包括确定进行存储性能测试所需的文件碎片的大小,每隔一个文件碎片所占用的存储空间构造一个不占用外部存储器存储空间的虚拟文件,在文件分配表FAT中记录各虚拟文件的簇索引信息;移动设备确定要向外部存储器写入文件,根据各虚拟文件的簇索引信息确定未被占用的簇,将该文件数据写入未被占用的簇中,形成文件碎片,根据该文件碎片进行存储性能测试。本发明同时公开了一种外部存储性能测试装置,包括文件碎片大小确定模块、虚拟文件构造模块和文件碎片构造模块。本发明避免了在构造文件碎片时,向外部存储器写入大量文件的过程,大大降低了测试FAT系统或外部存储器的性能所耗费的时长。
文档编号G11C29/04GK1975935SQ20061016801
公开日2007年6月6日 申请日期2006年12月15日 优先权日2006年12月15日
发明者高占东 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1