一种文件管理系统的制作方法

文档序号:17442078发布日期:2019-04-17 04:53阅读:234来源:国知局
一种文件管理系统的制作方法

本发明涉及数据管理领域,特别是涉及一种文件管理系统。



背景技术:

目前,现有的轨道设备上的板卡在数据存储领域方面的原理不尽相同,一般是根据每个板卡的需求自定义数据存储区域和存储方式,对单一类型数据通常是多个区域备份存储,防止损坏。多种数据类型的板卡则是分段存储,使用简单索引来查找数据,安全方面比较薄弱。并且,各个板卡中参差不齐的存储机制给后续设备的维护也带来了很大的困难,设备在实际使用中容易出现数据损坏、数据丢失的问题。在设备板卡硬件资源紧张、flash芯片数据位翻转特性和设备意外掉电的条件下,没有合适的数据管理系统可以使用,且芯片的读、写、擦除采用重复机制,芯片的使用寿命较短。因此,有必要提供一种新的文件管理机制实现不同类型数据的独立存放,引入循环写入机制,延长芯片的使用寿命。



技术实现要素:

本发明的目的是提供一种文件管理系统,引入循环写入机制,避免频繁使用一块存储区域存储数据,延长flash芯片使用寿命。

为实现上述目的,本发明提供了如下方案:

一种文件管理系统,所述系统包括:文件管理模块、坏块管理模块、文件系统驱动模块、芯片驱动模块,所述文件管理模块、坏块管理模块、均与所述文件系统驱动模块连接,所述芯片驱动模块与所述文件系统驱动模块连接;

所述文件管理模块用于引入循环写入机制对文件进行存储,并完成创建、读、写、删除和检索功能;

所述坏块管理模块用于读取并检测flash芯片坏块,避免再次使用所述坏块存储数据;

所述文件系统驱动模块用于提供标准接口供所述文件管理模块调用;

所述芯片驱动模块用于根据所述文件系统驱动模块规定的接口指令,编写接口函数,完成所述文件系统驱动模块对芯片的操作。

可选的,所述坏块管理模块用于读取出厂时,厂家标记的flash芯片坏块的标记,还用于检测在使用过程中出现的坏块,记录使用过程中出现的坏块编号,并对芯片中的坏块标记进行更新和修正。

可选的,所述系统还包括错误检查和纠正模块,所述错误检查和纠正模块用于计算文件数据块写入时的校验值和读取时的校验值,并判断数据块写入时的校验值和读取时的校验值是否一致,若不一致时,对读取的数据块进行纠正,同时把出错信息反馈给坏块管理模块。

可选的,所述文件管理模块具体包括:数据存储单元、判断单元、文件数据循环写入单元、文件表循环写入单元;

所述数据存储单元用于将文件数据和文件表按照存储区域地址从小到大依次存放;

所述判断单元用于判断文件数据和文件表下一存储区域是否可用,文件数据和文件表是否被修改过,得到判断结果;

所述文件数据循环写入单元用于当判断结果表示下一存储单元不可用时,继续寻找合法的存储单元;用于判断当前存储区域的文件数据被删除过或是被修改过时,将文件数据移动到下一存储区域;还用于将文件数据从目标存储区域的首地址开始写入,直到所述目标存储区域到达尾地址,再次从首地址开始写入新的文件数据;

所述文件表循环写入单元用于当判断结果表示下一存储单元不可用时,继续寻找合法的存储单元;用于判断当前文件表被修改过时,将新的文件表存储到下一存储区域;还用于将文件表从目标存储区域的首地址开始写入,直到所述目标存储区域到达尾地址,再次从首地址开始写入新的文件表。

可选的,所述系统还包括:初始化模块、分区模块、优化模块;

所述初始化模块用于将所述标准接口进行初始化,并建立坏块表,格式化文件表;

所述分区模块用于将存储区域分成多个不同类型的独立区域;

所述优化模块用于对存储数据的数量、文件名长度、备注长度、属性、校验使能进行配置,优化内存占用。

可选的,所述错误检查和纠正模块具体包括:行异或值计算单元、列异或值计算单元、错误比特位定位单元、纠正单元;

所述行异或值计算单元用于计算行数据比特位的异或值;

所述列异或值计算单元用于计算列数据比特位的异或值;

所述错误比特位定位单元用于根据所述行数据比特位的异或值和所述列数据比特位的异或值定位出错的比特位;

所述纠正单元用于对错误比特位取反进行纠正。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明中的文件管理系统通过引入循环写入机制对数据进行存储,将数据按照存储区地址由小到大依次进行存放,当文件被删除和被更改时,当前存储区域在本次循环中则不再使用,在下一个循环时才能再次使用,避免了频繁使用同一块存储区域存储数据,大大提高了芯片的使用寿命。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例文件管理系统结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种文件管理系统,引入循环写入机制,避免频繁使用一块存储区域存储数据,延长flash芯片使用寿命。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明实施例文件管理系统结构示意图,如图1所示,所述系统包括:文件管理模块101、坏块管理模块102、文件系统驱动模块103、芯片驱动模块104,所述文件管理模块101、坏块管理模块102均与所述文件系统驱动模块103连接,所述芯片驱动模块103与所述文件系统驱动模块103连接。

所述文件管理模块101用于引入循环写入机制对文件进行存储,并完成创建、读、写、删除和检索功能;所述文件管理模块101还用于提供标准的文件接口,完成文件初始化和文件的创建、读、写、关闭、删除、枚举、系统格式化操作,用户无需担心复杂的存储机制和逻辑,就能轻松操作文件。

所述文件管理模块101具体包括:数据存储单元、判断单元、文件数据循环写入单元、文件表循环写入单元;

所述数据存储单元用于将文件数据和文件表按照存储区域地址从小到大依次存放;

所述判断单元用于判断文件数据和文件表下一存储区域是否可用,文件数据和文件表是否被修改过,得到判断结果;

所述文件数据循环写入单元用于当判断结果表示下一存储单元不可用时,继续寻找合法的存储单元;用于判断当前存储区域的文件数据被删除过或是被修改过时,将文件数据移动到下一存储区域;还用于将文件数据从目标存储区域的首地址开始写入,直到所述目标存储区域到达尾地址,再次从首地址开始写入新的文件数据;

所述文件表循环写入单元用于当判断结果表示下一存储单元不可用时,继续寻找合法的存储单元;用于判断当前文件表被修改过时,将新的文件表存储到下一存储区域;还用于将文件表从目标存储区域的首地址开始写入,直到所述目标存储区域到达尾地址,再次从首地址开始写入新的文件表。

所述坏块管理模块102用于读取并检测flash芯片坏块,避免再次使用所述坏块存储数据;

具体的,芯片在出厂时,会存在坏块,以及在使用过程中也会存在坏块,所述坏块管理模块102具体还用于读取出厂时,厂家标记的flash芯片坏块的标记,还用于检测在使用过程中出现的坏块,记录使用过程中出现的坏块编号,并对芯片中的坏块标记进行更新和修正。

所述文件系统驱动模块103用于提供标准接口供所述文件管理模块101调用;使所述文件管理模块完成flash芯片的读、写、擦除、检查操作。文件系统驱动接口数据结构内部成员定义为函数指针,初始化时使用目标硬件驱动接口赋值。硬件驱动需要提供的接口有:初始化、写入、读取、擦除、坏块检查。

所述芯片驱动模块104用于根据所述文件系统驱动模块规定的接口指令,编写接口函数,完成所述文件系统驱动模块103对芯片的操作。

具体的,所述系统还包括错误检查和纠正模块105,所述错误检查和纠正模块105用于计算文件数据块写入时的校验值和读取时的校验值,并判断数据块写入时的校验值和读取时的校验值是否一致,若不一致时,对读取的数据块进行纠正,同时把出错信息反馈给坏块管理模块。

所述错误检查和纠正模块105具体包括:行异或值计算单元、列异或值计算单元、错误比特位定位单元、纠正单元;

所述行异或值计算单元用于计算行数据比特位的异或值;

所述列异或值计算单元用于计算列数据比特位的异或值;

所述错误比特位定位单元用于根据所述行数据比特位的异或值和所述列数据比特位的异或值定位出错的比特位;

所述纠正单元用于对错误比特位取反进行纠正。

具体的,所述系统还包括,初始化模块106、分区模块107、优化模块108;

所述初始化模块106用于将所述标准接口进行初始化,并建立坏块表,格式化文件表;

所述分区模块107用于将存储区域分成多个不同类型的独立区域;

所述优化模块108用于对存储数据的数量、文件名长度、备注长度、属性、校验使能进行配置,优化内存占用。

本发明中的文件管理系统具有以下有益效果:

文件系统系统驱动模块有规范的接口指针和配置文件,与硬件驱动接口链接简单,容易一直,通用性强;

坏块管理模块可以屏蔽不稳定的flash块,不在使用坏块存储数据,保证数据的存储在可靠的区域,避免数据损坏和丢失;

错误检查和纠正子模块可以对数据进行校验,当出现比特错误时可以及时纠错,有效解决了数据损坏的问题,弥补了flash比特翻转的先天不足,提高了数据的可靠性,使得文件管理系统更加稳定;

引入循环写入机制,文件表盒数据在flash内部循环存储,提高了flash芯片的使用寿命,当文件系统启动出错是可以回滚,避免文件信息出错丢失文件;

文件名、备注长度和数量可配置,优化内存使用,占用资源;

文件系统支持多数据分区存储,对不同类型的数据可分开存放,提高了数据安全性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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