一种具有寿命管理的FLASH文件管理系统的制作方法

文档序号:24638830发布日期:2021-04-09 20:50阅读:60来源:国知局
一种具有寿命管理的FLASH文件管理系统的制作方法

本发明涉及存储数据管理技术领域,尤其涉及一种具有寿命管理的flash文件管理系统。



背景技术:

flash存储器具有速度快、容量大、成本低等优点,因此被广泛用作存储器件,flash存储器需要有自己的文件系统,实现对数据存储和管理。现有的针对flash存储器的文件管理系统较少,且现有的通用的文件管理系统在硬件掉电后,对掉电文件所产生的影响也不可控,掉电处理机制不够完善,同时由于通用文件管理系统的记录信息需要被多次修改,而记录信息放在flash存储器固定的区块中,由于缺少对文件寿命的均衡,将使得该区块的频繁操作导致缩短flash存储器的使用寿命。



技术实现要素:

针对现有技术中存在的问题,本发明提供一种具有寿命管理的flash文件管理系统,用于对flash文件进行存储管理,包括:

文件存储模块,所述文件存储模块包括:

目录区,用于存储各所述flash文件的基本信息形成一文件目录;

文件信息区,用于对应存储所述文件目录中的各所述flash文件的属性数据,所述文件信息区设有复数个存储块;

数据区,用于对应存储所述文件目录中的各所述flash文件的内容数据;

文件管理模块,连接所述文件存储模块,所述文件管理模块包括:

均衡管理单元,用于将各所述属性数据在各所述存储块中轮转存储,并将当前存储有所述属性数据的所述存储块置为可使用状态;

写入管理单元,用于提取得到一待写入文件的所述基本信息、所述属性数据和所述内容数据,并依次将所述基本信息写入所述目录区,将所述属性数据写入处于所述可使用状态的所述存储块,将所述内容数据写入所述文件信息区;

掉电管理单元,用于检测到在所述目录区的写入过程中出现掉电时,在上电恢复过程中通过分别读取并对比所述目录区和所述文件信息区对所述目录区进行掉电管理。

优选的,所述文件信息区包括一主信息存储区和一备信息存储区,所述主信息存储区中设有复数个所述存储块,所述备信息存储区的所述存储块与所述主信息存储区中的所述存储块一一对应;

所述写入管理单元将所述属性数据分别对应写入所述主信息存储区和所述备信息存储区中的处于可使用状态的所述存储块。

优选的,所述文件管理模块还包括一读取管理单元,所述读取管理单元包括:

第一校验子单元,用于根据待读取文件的所述基本信息于所述主信息存储区匹配得到对应的所述属性数据,并对所述属性数据进行校验,在校验通过时输出一第一校验信号,以及在校验未通过时输出一第二校验信号;

第二校验子单元,连接所述第一校验子单元,用于根据所述第二校验信号和所述基本信息于所述备信息存储区匹配得到对应的所述属性数据,并对所述属性数据进行校验,在校验通过时输出一第三校验信号,以及在校验未通过时输出一第四校验信号;

第一处理子单元,分别连接所述第一校验子单元和所述第二校验子单元,用于根据所述第一校验信号和对应的所述属性数据于所述数据区读取对应的所述内容数据,以及根据所述第三校验信号和对应的所述属性数据于所述数据区读取对应的所述内容数据;

第二处理子单元,连接所述第二校验子单元,用于根据所述第三校验信号采用所述备信息存储区存储的所述属性数据替换所述主信息存储区相应的所述属性数据,以及根据所述第四校验信号进行系统格式化。

优选的,采用校验和算法对所述属性数据进行校验。

优选的,所述属性数据包括所述待写入文件的文件类型;

每个所述存储块预先划分有多个存储区域,每个所述存储区域关联有预设的文件类型,每个所述存储区域关联所述数据区中的至少一存储地址;

则所述写入管理单元将所述属性数据写入对应的所述文件类型关联的所述存储区域后,根据所述存储区域关联的所述存储地址将所述待写入文件的所述内容数据写入所述数据区。

优选的,每个所述存储区域预先划分有多个子区域,每个所述子区域关联所述数据区中的至少一所述存储地址;

则所述写入管理单元将所述属性数据写入对应的所述文件类型关联的所述存储区域中对应的所述子区域,根据所述子区域关联的所述存储地址将所述待写入文件的所述内容数据写入所述数据区。

优选的,所述均衡管理单元在一预设触发条件满足时将原有所述存储块中的所述属性数据搬移至下一个所述存储块中,并将原有的所述存储块置为不可用状态,以及将所述下一个存储块置为所述可使用状态。

优选的,每个所述存储块关联有一标志位,所述均衡管理单元通过对所述标志位赋值实现将对应的所述存储块置为所述不可用状态或所述可使用状态。

优选的,所述掉电管理单元包括:

检测子单元,用于分别读取所述目录区中存储的所述基本信息以及所述文件信息区中存储的所述属性数据,并在所述文件信息区中不存在所述基本信息关联的所述属性数据时输出表示所述目录区写入时出现掉电的检测信号;

覆盖子单元,连接所述检测子单元,用于根据所述检测信号在上电恢复过程中将未关联有所述属性数据的所述基本信息作为掉电损失数据,并在下一次文件写入时对所述掉电损失数据进行覆盖,实现对所述目录区进行掉电管理。

上述技术方案具有如下优点或有益效果:

1)对需要频繁擦写的文件信息区进行均衡管理,有效提高flash的使用寿命;

2)硬件掉电时,能够检测到目录区写入过程中是否出现掉电,并能够在上电恢复的过程中对目录区进行掉电管理,减少了目录区写入过程掉电造成的数据损失;

3)通过对存储块进行区域划分并关联数据区的存储地址,有效缩短了数据读取时的查找时间,提升数据读取速度,进而提升用户的使用体验。

附图说明

图1为本发明的较佳的实施例中,一种具有寿命管理的flash文件管理系统的结构示意图;

图2为本发明的较佳的实施例中,文件存储模块的结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本发明并不限定于该实施方式,只要符合本发明的主旨,则其他实施方式也可以属于本发明的范畴。

本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种具有寿命管理的flash文件管理系统,用于对flash文件进行存储管理,如图1和图2所示,包括:

文件存储模块1,文件存储模块1包括:

目录区11,用于存储各flash文件的基本信息形成一文件目录;

文件信息区12,用于对应存储文件目录中的各flash文件的属性数据,文件信息区设有复数个存储块121;

数据区13,用于对应存储文件目录中的各flash文件的内容数据;

文件管理模块2,连接文件存储模块1,文件管理模块2包括:

均衡管理单元21,用于将各属性数据在各存储块中轮转存储,并将当前存储有属性数据的存储块置为可使用状态;

写入管理单元22,用于提取得到一待写入文件的基本信息、属性数据和内容数据,并依次将基本信息写入目录区,将属性数据写入处于可使用状态的存储块,将内容数据写入文件信息区;

掉电管理单元23,用于检测到在目录区的写入过程中出现掉电时,在上电恢复过程中通过分别读取并对比目录区和文件信息区对目录区进行掉电管理。

具体地,本实施例中,通过将文件存储模块1划分为三个区块,实现对flash文件的基本信息、属性数据以及内容数据的分别存储,方便对各区块进行分别管理。其中,上述基本信息包括但不限于flash文件的文件名称,上述属性数据包括但不限于flash文件的文件大小以及建立时间。通过设置存储基本信息的目录区11,将各flash文件的基本信息集中放置,便于后续根据基本信息进行文件检索,有效提高文件检索效率。进一步地,由于flash文件的文件名称通过是固定不变的,在待写入文件的写入之前,可以先查看目录区11中是否存储有待写入文件的文件名称,若该目录区11中已经存在待写入文件的文件名称,则本次写入过程无需对目录区进行擦写操作,若目录区11中不存在待写入文件的文件名称,则该待写入文件为新文件,此时需要对目录区11进行擦写操作,基于此,目录区11的擦写操作频次较低,而flash的擦写寿命通常在10万次左右,能够满足正常使用需求,因此,本实施例中,对目录区11不做均衡管理。

以属性数据为文件大小为例,由于具有相同文件名称的flash文件的属性数据在不同采集时间可能会由于部分内容数据的增减出现文件大小的更新,因此每次flash文件的写入通常需要实时更新对应的属性数据,即文件信息区12需要进行频繁擦写操作。基于此,本实施例中,通过在文件信息区12设置多个存储块121,实现对文件信息区12中属性数据的均衡管理。其中,存储块121的设置数量可以根据设计使用寿命的需求进行调整,存储块121的设置数量越多则对应越长的使用寿命。以设置三个存储块121为例,分别为第一存储块、第二存储块和第三存储块,优选每次将其中的一个存储块置为可使用状态,将其余两个存储块置为不可用状态,在第一个存储块为可使用状态时,属性数据的写入和读取均针对第一存储块,在第一存储块的存储状态满足一定的预设触发条件时,可以将第一存储块中存储的属性数据搬移至第二存储块中,将第一存储块中原有的存储数据进行擦除的同时将第一存储块置为不可用状态,将第二存储块置为可使用状态,以便后续属性数据的写入和读取,依次类推,在第三个存储块的存储状态满足一定的预设触发条件时,将第三个存储块中鵆的属性数据搬移至第一存储块中,完成一次轮转。由于整个文件信息区的擦写频次均分至上述三个存储块,实现有效提升每个存储块的使用寿命,进而提升整个文件存储模块1的使用寿命。需要说明的是,上述轮转方式只是其中的一个实施例,并不以此对本技术方案进行限定。

进一步地,在待写入文件的写入过程中,首先将待写入文件的基本信息写入目录区1,随后将属性数据写入到对应的文件信息区,进而根据属性数据关联的数据区的存储地址,将内容数据存储至数据区的存储地址中。

本实施例中,由于目录区11存储的基本信息和文件信息区12存储的属性数据是一一对应的,通过上述的写入顺序,在目录区11的写入过程中出现掉电时,由于此时目录区11的有基本信息的写入,而由于掉电使得还没有来得及写入属性数据,文件信息区12没有对应于基本信息的属性数据,因此,通过对比目录区11和文件信息区12中的存储数据能够定位到目录区11掉电前写入数据,换言之,能够确定目录区11中存储的正常数据和异常数据,从而保留正常数据,并在下一次写入时对异常数据进行覆盖,使得掉电引起的数据损失最小化,有效避免了现有目录区写入过程中出现掉电导致整个目录区混乱的现象。

本发明的较佳的实施例中,文件信息区12包括一主信息存储区122和一备信息存储区123,主信息存储区122中设有复数个存储块121,备信息存储区123的存储块121与主信息存储区122中的存储块121一一对应;

写入管理单元222将属性数据分别对应写入主信息存储区122和备信息存储区123中的处于可使用状态的存储块。

具体地,本实施例中,通过在文件信息区12中冗余设置主信息存储区122和备信息存储区123,实现属性数据的备份,避免数据写入过程掉电或其他影响因素使得主信息存储区122中存储的属性数据出现缺失或损坏等,影响数据的读取。

进一步地,在主信息存储区122和备信息存储区123分别对应设置多个存储块121,即对主信息存储区122和备信息存储区123均进行均衡管理,有效提升使用寿命。

本发明的较佳的实施例中,文件管理模块2还包括一读取管理单元24,读取管理单元24包括:

第一校验子单元241,用于根据待读取文件的基本信息于主信息存储区匹配得到对应的属性数据,并对属性数据进行校验,在校验通过时输出一第一校验信号,以及在校验未通过时输出一第二校验信号;

第二校验子单元242,连接第一校验子单元241,用于根据第二校验信号和基本信息于备信息存储区匹配得到对应的属性数据,并对属性数据进行校验,在校验通过时输出一第三校验信号,以及在校验未通过时输出一第四校验信号;

第一处理子单元243,分别连接第一校验子单元241和第二校验子单元242,用于根据第一校验信号和对应的属性数据于数据区读取对应的内容数据,以及根据第三校验信号和对应的属性数据于数据区读取对应的内容数据;

第二处理子单元244,连接第二校验子单元242,用于根据第三校验信号采用备信息存储区存储的属性数据替换主信息存储区相应的属性数据,以及根据第四校验信号进行系统格式化。

具体地,本实施例中,由于主信息存储区122中存储的属性数据可能由于硬件掉电等因素导致数据丢失或损坏等,因此在读取属性数据后,对属性数据进行校验,只有在主信息存储区122和备信息存储区123均校验通过后,说明该属性数据为完整正确的,进而保证读取数据的正确性。

本发明的较佳的实施例中,采用校验和算法对属性数据进行校验。

本发明的较佳的实施例中,属性数据包括待写入文件的文件类型;

每个存储块预先划分有多个存储区域,每个存储区域关联有预设的文件类型,每个存储区域关联数据区中的至少一存储地址;

则写入管理单元22将属性数据写入对应的文件类型关联的存储区域后,根据存储区域关联的存储地址将待写入文件的内容数据写入数据区。

具体地,本实施例中,本申请可以应用于对存储文件有类型及文件大小标准要求的应用场景,如电力项目应用场景,需要存储的flash文件具有预设的文件类型,且对每个flash文件的文件大小有上限要求,即待写入文件的文件类型和文件大小是可预知的。基于此,可以将各个flash文件的属性数据存储至匹配的文件类型关联的存储区域。

本发明的较佳的实施例中,每个存储区域预先划分有多个子区域,每个子区域关联数据区中的至少一存储地址;

则写入管理单元22将属性数据写入对应的文件类型关联的存储区域中对应的子区域,根据子区域关联的存储地址将待写入文件的内容数据写入数据区。

具体地,本实施例中,基于上述的可预知文件类型和文件大小的待写入文件,可以将存储区域预先划分成多个子区域,优选将每个子区域的存储空间设置为不小于上述文件大小的上限,则在进行属性数据的写入时,需要覆盖原有子区域时,只需将原有子区域中的存储数据擦除,随后写入该属性数据即可,无需进行数据大小的计算,进而根据数据大小进行存储空间的分配等后续操作,有效提升存储速率。

本发明的较佳的实施例中,均衡管理单元21在一预设触发条件满足时将原有存储块中的属性数据搬移至下一个存储块中,并将原有的存储块置为不可用状态,以及将下一个存储块置为可使用状态。

具体地,本实施例中,上述预设触发条件可以是预设时间,即可以设定每天的某一时刻进行属性数据的搬移,但不以此作为限定。

本发明的较佳的实施例中,每个存储块121关联有一标志位,均衡管理单元21通过对标志位赋值实现将对应的存储块置为不可用状态或可使用状态。

具体地,本实施例中,可以将存储块关联的标志位赋0值表示不可用状态,同时将标志位赋1值表示可使用状态。

本发明的较佳的实施例中,掉电管理单元23包括:

检测子单元231,用于分别读取目录区中存储的基本信息以及文件信息区中存储的属性数据,并在文件信息区中不存在基本信息关联的属性数据时输出表示目录区写入时出现掉电的检测信号;

覆盖子单元232,连接检测子单元231,用于根据检测信号在上电恢复过程中将未关联有属性数据的基本信息作为掉电损失数据,并在下一次文件写入时对掉电损失数据进行覆盖,实现对目录区进行掉电管理。

以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

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