一种基于Nor Flash存储器的嵌入式系统的文件存储格式技术方案

技术编号:20763820 阅读:31 留言:0更新日期:2019-04-03 14:17
本发明专利技术公开了一种基于Nor Flash存储器的嵌入式系统的文件存储格式,包括:存储格式头部,索引数据区,索引数据交换区,数据簇区。存储格式头部,包括存储格式版本信息、索引数据区信息、交换区信息和数据簇区信息;数据簇区,包括若干数据簇,每个数据簇是存储一个数据文件的基本单位;索引数据交换区,包括若干索引数据项,索引数据项包括数据文件对应的文件操作状态;当索引数据交换区的存储比例达到预设条件时,将索引数据交换区的内容更新至所述索引数据区后,清空索引数据交换区。本发明专利技术的文件存储格式,可以在不影响系统实时性的条件下实现实时写入,具有消耗RAM空间低,异常掉电不会造成文件系统损坏等优点。

【技术实现步骤摘要】
一种基于NorFlash存储器的嵌入式系统的文件存储格式
本专利技术属于计算机
,特别涉及一种基于NorFlash存储器的嵌入式系统的文件存储格式。
技术介绍
随着电子技术的发展,嵌入式系统得到广泛应用。Flash存储器是一种非易失性固态存储器,能提供可靠的数据掉电保护,当前,各种Flash存储器已逐渐成为嵌入式系统中主要的存储设备。NorFlash和NandFlash是两种主要的闪存。从读写性能对比这两种技术,NorFlash的读取速度比NandFlash稍快,而NandFlash的写入和擦除速度比NorFlash快很多。在对成本、功耗要求较高的嵌入式设备上,NorFlash有着更广泛的应用。传统的文件系统,如FAT,主要针对大数据量、高吞吐率场景。因为文件格式过多冗余,导致资源消耗高,无法满足对成本敏感的嵌入式系统的要求。目前,常见的嵌入式设备的文件系统有:从上表可见,除了停止维护的JFFS,没有针对NorFlash的文件系统。以上尚在维护的文件系统存在以下问题:1、都是搭载windows和linux等非实时性的操作系统,其设计上对实时性上考虑不足;2、需要占用比较多的系统资源空间,内存消耗大;3、由于嵌入式系统的应用条件恶劣,存在电源电压不稳定、突发性断电及非法插拔等现象,对存储的可靠性设计考虑不足。
技术实现思路
本专利技术的目的是提供一种基于NorFlash存储器的嵌入式系统的文件存储格式,采用该存储格式,可以在不影响系统实时性的条件下实现实时写入,RAM空间消耗低,异常掉电不会造成文件系统的损坏,满足嵌入式系统的高实时性、高可靠性、低成本的要求。本专利技术提供的技术方案如下:一种基于NorFlash存储器的嵌入式系统的文件存储格式,包括:存储格式头部,索引数据区,索引数据交换区,数据簇区。所述存储格式头部,包括存储格式版本信息、索引数据区信息、交换区信息和数据簇区信息;所述数据簇区,包括若干数据簇,每个数据簇是存储一个数据文件的基本单位;所述索引数据交换区,包括若干索引数据项,所述索引数据项包括所述数据文件对应的文件操作状态;当所述索引数据交换区的存储比例达到预设条件时,将所述索引数据交换区的内容更新至所述索引数据区后,清空所述索引数据交换区。在上述技术方案中,通过将数据簇区与索引数据交换区分开,索引数据区对索引数据交换区进行备份,可以增强文件系统的健壮性,使异常掉电后已有的文件系统不损坏,已有的数据文件不丢失。进一步优选的,所述交换区信息包括所述索引数据交换区的起始位置、所述索引数据交换区的长度,以及每个索引数据项的长度;所述索引数据区信息包括所述索引数据区的起始位置和所述索引数据区的长度;所述数据簇区信息包括所述数据簇区的起始位置、所述数据簇区的长度,以及每个数据簇的长度。进一步优选的,所述索引数据项包括索引项和/或数据项,所述文件操作状态包含在所述索引项和/或数据项内;所述文件操作状态包括空闲、正在写入、已写入、删除;其中,所述索引项还包括大于预设长度的所述数据文件对应的文件索引信息,所述数据项还包括不大于所述预设长度的所述数据文件。进一步优选的,所述数据项还包括文件编号、文件长度、校验位;所述索引项还包括文件编号、文件长度、若干所述数据文件对应的数据簇编号、校验位。在上述技术方案中,将小数据文件写入索引数据交换区,将大数据文件写入数据簇区,这相比统一写入数据簇区,存储空间的利用率更高。进一步优选的,所述数据簇还包括头部标记,所述头部标记包括簇操作状态和簇累计擦除次数。在上述技术方案中,利用数据簇的头部标记,便于对数据簇进行直接管理,提高了数据簇区的整理效率,提升了数据簇的均衡使用,从而提高Flash的使用寿命。进一步优选的,所述的将所述索引数据交换区的内容更新至所述索引数据区具体包括:当所述索引数据区有两个时,分析所述索引数据区的工作状态,识别出当前处于激活状态的索引数据区;将所述索引数据交换区的内容和当前处于激活状态的所述索引数据区的内容,更新至当前处于未激活的所述索引数据区;更新两个所述索引数据区的工作状态。在上述技术方案中,引入了两级备份,增强了闪存上的文件系统的健壮性。进一步优选的,还包括:当写入新建数据文件时,且所述数据簇区有满足新建数据文件长度的空闲数据簇时,将所述新建数据文件写入对应的空闲数据簇;当所述新建数据文件已写入所述数据簇区时,在所述索引数据交换区生成对应的索引数据项。进一步优选的,还包括:当写入新建数据文件时,判断新建数据文件长度是否大于所述预设长度;当所述新建数据文件长度大于所述预设长度,且所述数据簇区有满足所述新建数据文件长度的空闲数据簇时,将所述新建数据文件写入对应的空闲数据簇;当所述新建数据文件已写入所述数据簇区时,在所述索引数据交换区生成对应的索引项;当所述新建数据文件长度不大于所述预设长度时,在所述索引数据交换区生成对应的数据项,将所述新建数据文件写入所述数据项。进一步优选的,还包括:当将所述新建数据文件写入对应的空闲数据簇时,将所述空闲数据簇的簇操作状态标记为正在写入;当完成将所述新建数据文件写入对应的空闲数据簇时,更改所述空闲数据簇的簇操作状态为已写入。在上述技术方案中,先写数据簇区,再生成对应的索引数据项,可以保证在写数据簇区发生异常掉电时,已建立的文件系统不乱,提升文件系统的健壮性;选择空闲数据簇进行写入,避免了每次写数据之前需要先擦后写,提高了系统的写入速度,满足了实时性要求。进一步优选的,还包括:当修改所述数据簇区的数据文件时,将修改后的数据文件生成一个新建数据文件。在上述技术方案中,通过将修改后的数据文件当成一个新建数据文件处理,避免了对原占有数据簇的擦除,提高了写入速度;保留了数据文件的历史数据,提高了文件系统的稳健性。进一步优选的,还包括:当删除所述数据簇区的数据文件时,在所述索引数据交换区生成新建索引数据项,所述新建索引数据项的文件操作状态为删除。在上述技术方案中,避免了对被删除的数据文件所占有的数据簇进行立即擦除,便于在系统空闲时再进行擦除,满足了系统的实时性要求。进一步优选的,所述的将所述索引数据交换区的内容更新至所述索引数据区包括:将所述索引数据交换区内对同一数据文件的最后操作的数据内容更新至所述索引数据区。在上述技术方案中,通过保留对应同一数据文件的最后操作的索引数据项,提升了索引数据区的空间利用率。进一步优选的,还包括:根据数据文件长度以及NorFlash存储器的写入单位,将一个数据文件的写入操作切分为若干个写入操作任务。在上述技术方案中,通过将一个大数据文件的写入操作切分为若干个小的写入操作任务,可以使文件存储不影响系统的实时性,同时使消耗的RAM空间小,降低了成本。进一步优选的,还包括:当系统空闲时,通过NorFlash存储器的擦除对无效数据簇进行回收;其中,所述擦除的优先级低于业务的优先级。在上述技术方案中,通过在低优先级任务中进行NorFlash擦除,满足系统的实时性要求。进一步优选的,还包括:当对所述无效数据簇进行擦除操作时,更新所述无效数据簇的簇累计擦除次数;当有新建数据文件写入时,根据所述簇累计擦除次数,选择用于写入所述新建数据文件的空闲数据簇。在上述技术方案中,根据簇累计擦除次数选择空闲数据簇,有本文档来自技高网...

【技术保护点】
1.一种基于Nor Flash存储器的嵌入式系统的文件存储格式,其特征在于,包括:存储格式头部,索引数据区,索引数据交换区,数据簇区;所述存储格式头部,包括存储格式版本信息、索引数据区信息、交换区信息和数据簇区信息;所述数据簇区,包括若干数据簇,每个数据簇是存储一个数据文件的基本单位;所述索引数据交换区,包括若干索引数据项,所述索引数据项包括所述数据文件对应的文件操作状态;当所述索引数据交换区的存储比例达到预设条件时,将所述索引数据交换区的内容更新至所述索引数据区后,清空所述索引数据交换区。

【技术特征摘要】
1.一种基于NorFlash存储器的嵌入式系统的文件存储格式,其特征在于,包括:存储格式头部,索引数据区,索引数据交换区,数据簇区;所述存储格式头部,包括存储格式版本信息、索引数据区信息、交换区信息和数据簇区信息;所述数据簇区,包括若干数据簇,每个数据簇是存储一个数据文件的基本单位;所述索引数据交换区,包括若干索引数据项,所述索引数据项包括所述数据文件对应的文件操作状态;当所述索引数据交换区的存储比例达到预设条件时,将所述索引数据交换区的内容更新至所述索引数据区后,清空所述索引数据交换区。2.根据权利要求1所述的基于NorFlash存储器的嵌入式系统的文件存储格式,其特征在于:所述交换区信息包括所述索引数据交换区的起始位置、所述索引数据交换区的长度,以及每个索引数据项的长度;所述索引数据区信息包括所述索引数据区的起始位置和所述索引数据区的长度;所述数据簇区信息包括所述数据簇区的起始位置、所述数据簇区的长度,以及每个数据簇的长度。3.根据权利要求1所述的基于NorFlash存储器的嵌入式系统的文件存储格式,其特征在于:所述索引数据项包括索引项和/或数据项,所述文件操作状态包含在所述索引项和/或数据项内;所述文件操作状态包括空闲、正在写入、已写入、删除;其中,所述索引项还包括大于预设长度的所述数据文件对应的文件索引信息,所述数据项还包括不大于所述预设长度的所述数据文件。4.根据权利要求3所述的一种基于NorFlash存储器的嵌入式系统的文件存储格式,其特征在于:所述数据项还包括文件编号、文件长度、校验位;所述索引项还包括文件编号、文件长度、若干所述数据文件对应的数据簇编号、校验位。5.根据权利要求4所述的基于NorFlash存储器的嵌入式系统的文件存储格式,其特征在于:所述数据簇还包括头部标记,所述头部标记包括簇操作状态和簇累计擦除次数。6.根据权利要求1所述的一种基于NorFlash存储器的嵌入式系统的文件存储格式,其特征在于,所述的将所述索引数据交换区的内容更新至所述索引数据区具体包括:当所述索引数据区有两个时,分析所述索引数据区的工作状态,识别出当前处于激活状态的索引数据区;将所述索引数据交换区的内容和当前处于激活状态的所述索引数据区的内容,更新至当前处于未激活的所述索引数据区;更新两个所述索引数据区的工作状态。7.根据权利要求1所述的基于NorFlash存储器的嵌入式系统的文件存储格式,其特征在于,还包括:当写入新建数据文件时,且所述数据簇区有满足新建数据文件长度的空闲数据簇时,将所述新建数据文件写入对应...

【专利技术属性】
技术研发人员:方程常斌
申请(专利权)人:上海移芯通信科技有限公司
类型:发明
国别省市:上海,31

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

1