提高闪存介质读写速度的方法技术

技术编号:2913799 阅读:229 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出一种提高闪存介质读写速度的方法,包括步骤:计算偏移量;根据偏移量对数据操作进行偏移处理;执行数据操作。本发明专利技术提供的提高闪存介质读写速度的方法能根据文件系统(例如fat16,fat32,ntfs等)把闪存介质的最小写入单位页与文件系统的最小写入单位簇对齐,让每个簇由多个页组成,实现对闪存介质读写数据时,明显提高读写速度,特别是写的速度,并且避免大量碎片的产生,而无需改变闪存介质硬件结构,也无需改变文件系统,易于实现。

【技术实现步骤摘要】

本专利技术涉及静态存储器领域,特别涉及一种提高闪存介质读写速度的方法
技术介绍
随着闪存介质(flash)技术和应用的飞速发展,闪存介质的读写速度成为衡量闪存介质性能的重要指标,提高闪存介质的读写速度将大大提高数据处理效率,有利于扩展闪存介质的应用。现有的文件管理系统如fat文件系统对闪存介质写数据的过程是先写目录区、fat区等隐藏区,再写数据区。而闪存介质是以页为最小单位进行管理的,要写入的数据往往不是从闪存介质的页开头开始,而是从某页的中部开始写,又在某页的中间结束。由于闪存介质的特性,对某页写数据如果不是从该页的开头开始写,就要把该页保存的原有数据搬迁到ram里,把要写的新数据写到ram,然后把原有数据和新数据一起写进该页,过程耗时而且不便于管理,还在页中产生大量碎片,需要浪费很多时间回收这些碎片。
技术实现思路
本专利技术目的在于提供一种提高闪存介质读写速度的方法。本专利技术提出一种提高闪存介质读写速度的方法,包括步骤:计算偏移量;根据偏移量对数据操作进行偏移处理;执行数据操作。优选地,上述计算偏移量的步骤包括:获取数据区逻辑起始地址;取得闪存介质的页的扇区数;根据数据区逻辑起始地址和扇区数计算偏移量。优选地,上述根据数据区逻辑起始地址和扇区数计算偏移量是将数据区逻辑起始地址与扇区数取余数,将取得的余数作为偏移量。优选地,上述计算偏移量的步骤在每次格式化闪存介质后进行。优选地,上述计算格式化存储介质包括向隐藏区写数据的步骤,计算偏移量的步骤在向隐藏区写数据的步骤之后进行。上述数据操作包括向闪存介质指定逻辑地址写数据或从闪存介质指定逻辑地址读数据。优选地,上述根据偏移量对数据操作进行偏移处理是将数据操作的指定逻辑地址与偏移量相加得到的和值作为实际逻辑地址。-->优选地,上述提高闪存介质读写速度的方法,还包括步骤:判断数据操作指定逻辑地址是否大于等于数据区逻辑起始地址,若指定逻辑地址大于等于数据区逻辑起始地址则对数据操作进行偏移处理,取得实际逻辑地址。上述执行数据操作是从实际逻辑地址或从指定逻辑地址开始执行数据操作。上述偏移量保存在闪存介质的特定存储空间中。本专利技术提供的提高闪存介质读写速度的方法能根据文件系统(例如fat16,fat32,ntfs等)把闪存介质的最小写入单位页与文件系统的最小写入单位簇对齐,让每个簇由多个页组成,实现对闪存介质读写数据时,明显提高读写速度,特别是写的速度,并且避免大量碎片的产生,而无需改变闪存介质硬件结构,也无需改变文件系统,易于实现。附图说明图1是本专利技术第一实施例的文件系统的数据组织形式示意图;图2是本专利技术第一实施例的处理流程示意图;图3是本专利技术第一实施例计算偏移量的流程示意图;图4是本专利技术第一实施例执行数据操作的流程示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式本专利技术提出第一实施例,基于Fat文件系统实现提高闪存介质读写速度。参照图1,示出Fat文件系统的数据组织形式。Fat文件系统是被windows,linux和大多数移动设备、手持设备操作系统广泛使用的一种文件系统。以fat16文件系统为例,Fat文件系统将闪存介质分为数据区和隐藏区两部分。数据区用来存放子目录和数据,占闪存介质存储空间的90%以上甚至更多。Fat文件系统将数据区分簇管理,文件是由多个簇组成的,一个簇为多个扇区,每个簇分别标号,通过簇号就可直接找到数据存放地址。隐藏区用来存放管理闪存介质所需的参数和索引,包括Fat表、引导区域、参数区域和根目录区域等。隐藏区包括多个小区,其中MBR为主引导区,负责引导启动功能等,存放在磁盘的0地址;DBR为引导记录及结构区,说明磁盘结构的信息和各种参数等,紧跟着MBR后面存放;FAT1为文件分配表区,紧跟着DBR后面存放;FAT2为分配表的备份区,紧跟着FAT1后面存放;FDT-->为根目录区,紧跟着FAT2后面存放。Fat表记录簇的占用情况分布和链接关系,根据Fat表可知簇被使用的情况。目录区域是存放文件目录和文件名地址登记的表,通过该表可以得到文件的第一个簇的簇号,进而得知该文件包含的所有簇号,从而访问该文件。隐藏区占整个闪存介质存储空间的不到10%,甚至更少。根据闪存介质容量的不同,上述各区所占用的存储空间有可能不一样,其中保存的表格大小也有可能不一样,但每个区都有固定的结构,其中保存的表格都遵循fat16文件系统规则。本实施例把闪存介质中的隐藏区和数据区分开管理,对数据区进行数据操作时,根据数据操作取得要进行数据操作的指定逻辑地址,对指定逻辑地址进行偏移处理,使其对应到闪存介质中页的开头,即从页的开头开始进行数据操作,使数据中的簇由多个完整的页组成。本实施例的处理流程如图2所示,包括:步骤S11,计算偏移量并保存起来;步骤S12,在接收到数据操作指令后,分析数据操作指令中的指定逻辑地址,根据偏移量对数据操作进行偏移处理;步骤S13,对闪存介质执行数据操作。根据文件系统和闪存介质的特性,物理上闪存介质是以页为单位管理的,而逻辑上是以扇区为单位管理的,一个页内包含4个扇区,即数据以4个扇区为一组,分组存放在闪存介质中。本实施例定义偏移量以记录数据区逻辑起始地址在页中的位置。例如闪存介质的隐藏区的扇区分配情况为:MBR占用098扇区,DBR占用98-100扇区,FAT1占用100-181扇区,FAT1占用181-362扇区,数据区占用362-600000扇区,数据区逻辑起始地址就是362扇区。设指定页包括4个扇区,偏移量为2,说明数据区逻辑起始地址对应闪存介质的第120个页的第2个扇区。本实施例提出计算偏移量的流程,包括:步骤S111,获取数据区逻辑起始地址;步骤S112,取得闪存介质的页的扇区数;步骤S113,根据数据区逻辑起始地址和扇区数计算偏移量。本实施例定义实际逻辑地址为要对数据区进行实际数据操作的地址,是指定逻辑地址和偏移量结合计算的结果。本实施例对数据操作进行偏移处理是指将数据操作的指定逻辑地址与偏移量结合运算得到实际逻辑地址。基于上述第一实施例,本专利技术提出第二实施例。本实施例的流程与第一-->实施例类似,故不赘述。本实施例中的数据操作包括向闪存介质指定逻辑地址写数据或从闪存介质指定逻辑地址读数据。对于这两类数据操作,本实施例的执行过程是相同的,都根据偏移量对数据操作进行偏移处理后执行数据操作。根据文件系统的规范,写数据操作需要分别对隐藏区和数据区进行写操作。因为隐藏区的MBR、DBR、FAT1等区域是分配固定的并且数据量较小,不存在从页中间写造成的写操作缓慢问题,故本专利技术只需要对数据区的写操作进行偏移处理,不需要对隐藏区的写操作进行偏移处理,而是采用现有的写入技术执行写操作。当数据按照上述方式写入闪存介质后,隐藏区中的数据未经偏移处理,而数据区中的数据是经过偏移处理的,故读取隐藏区的数据操作不需要做偏移处理,而读取数据区的数据操作则需要进行偏移处理。因此本实施例提出,根据数据操作区域选择是否进行偏移处理。本实施例提出,上述步骤S113,根据数据区逻辑起始地址和扇区数计算偏移量是将数据区逻辑起始地址与扇区数取余数,将取得的余数作为偏移量。以上述闪存介质为例,数据区逻辑起始地址是362扇区,指定页包括4个本文档来自技高网...

【技术保护点】
一种提高闪存介质读写速度的方法,包括步骤: 计算偏移量; 根据偏移量对数据操作进行偏移处理; 执行数据操作。

【技术特征摘要】
1.一种提高闪存介质读写速度的方法,包括步骤:计算偏移量;根据偏移量对数据操作进行偏移处理;执行数据操作。2.根据权利要求1所述的提高闪存介质读写速度的方法,其特征在于,所述计算偏移量的步骤包括:获取数据区逻辑起始地址;取得所述闪存介质的页的扇区数;根据数据区逻辑起始地址和所述扇区数计算偏移量。3.根据权利要求2所述的提高闪存介质读写速度的方法,其特征在于,所述根据数据区逻辑起始地址和所述扇区数计算偏移量是将数据区逻辑起始地址与所述扇区数取余数,将取得的余数作为偏移量。4.根据权利要求1所述的提高闪存介质读写速度的方法,其特征在于,所述计算偏移量的步骤在每次格式化闪存介质后进行。5.根据权利要求4所述的提高闪存介质读写速度的方法,其特征在于,所述计算格式化存储介质包括向隐藏区写数据的步骤,所述计算偏移量的步骤在所述向隐藏区写数据的步骤之后进行。6.根据权利要求1至...

【专利技术属性】
技术研发人员:万红波
申请(专利权)人:深圳市朗科科技股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1