一种存储空间的均衡摩擦方法技术

技术编号:37061254 阅读:14 留言:0更新日期:2023-03-29 19:39
本发明专利技术涉及计算机存储空间领域,具体涉及一种存储空间的均衡摩擦方法。所述日志均衡摩擦步骤包括:在日志数据存储区域中写入日志数据;获取日志数据所对应的写入地址,记录在日志地址存储区域中;获取日志数据所对应的擦写轮次,记录在第一擦写轮次计数存储区域中;所述参数均衡摩擦步骤包括:在参数工作存储区域中存入参数数据;将参数数据所对应的写入地址、参数数据所对应的数据大小、参数工作存储区域所对应的擦写轮次进行整合处理。本发明专利技术可以在存储空间的可用空间中,最大程度地延长存储空间的使用寿命,并且可以通过相关公式准确地计算使用寿命,同时特定的存储记录所对应的结构可以有效地防止因为异常断电所引起的系统崩溃和数据紊乱。统崩溃和数据紊乱。统崩溃和数据紊乱。

【技术实现步骤摘要】
一种存储空间的均衡摩擦方法


[0001]本专利技术涉及计算机存储空间领域,具体涉及一种存储空间的均衡摩擦方法。

技术介绍

[0002]对于数据(例如日志)需要频繁存入NVM(非易失性存储器)的情况。以spi_nor_flash为例,若将数据频繁存入一块固定不变的区域,由于flash的块擦除次数有限(一般为100000次)时间稍长就容易将该快flash擦写成坏块,之后则不可再使用。
[0003]为解决上述问题,提供一些文件管理系统内的均衡摩擦算法如:littlefs等,内嵌在文件系统中,利用相关接口将虚拟地址映射到物理地址,对上层调用比较和谐,所占用的ram相对较少,并且可以在一定程度上延长flash的使用寿命。但是,若发生未知的异常断电,系统有几率出现崩溃的情况,对于小数据频繁存入的情况,系统每次分配的空间较大,会有大量空间浪费,并不能最大限度地做到地址空间的利用。
[0004]在应用过程中,难免会存在异常断电的情况,若发生异常断电系统有几率崩溃,则会影响存入的数据的完整性与数据追溯,造成了不小的损失。所以在数据存储过程中,异常断电的恢复是算法考量的一个重点。在littlefs中每次分配给一个数据的块一般是最小的扇区(通常为4KB)而每次存入的日志信息只有90B左右,系统若每次都分配4KB的空间存储,则这块空间内部会有97.7%的空间会被浪费,这样不仅适用场合较少,而且地址空间利用率也相对较低。

技术实现思路

[0005]本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种存储空间的均衡摩擦方法,由于内存块的擦写次数限制,使得需要频繁或周期存入数据的应用场合不能一直擦写同一块区域,需要做到尽可能将可用空间每一内存块用于存储且数据不紊乱。
[0006]本专利技术解决其技术问题所采用的技术方案是:提供一种存储空间的均衡摩擦方法,所述存储空间包括日志信息存储区和参数存储区,所述日志信息存储区包括多个第一日志信息存储子分区,所述第一日志信息存储子分区包括日志数据存储区域、日志地址存储区域和第一擦写轮次计数存储区域,所述参数存储区包括参数工作存储区域和参数记录存储区域,所述均衡摩擦方法包括日志均衡摩擦步骤和参数均衡摩擦步骤;
[0007]所述日志均衡摩擦步骤包括:
[0008]步骤S11、在日志数据存储区域中写入日志数据;
[0009]步骤S12、获取日志数据所对应的写入地址,记录在日志地址存储区域中;
[0010]步骤S13、获取日志数据所对应的擦写轮次,记录在第一擦写轮次计数存储区域中;
[0011]所述参数均衡摩擦步骤包括:
[0012]步骤S21、在参数工作存储区域中存入参数数据;
[0013]步骤S22、将参数数据所对应的写入地址、参数数据所对应的数据大小、参数工作
存储区域所对应的擦写轮次进行整合处理,并存入参数记录存储区域中。
[0014]其中,较佳方案是,所述参数均衡摩擦步骤还包括:
[0015]步骤S211、在参数工作存储区域中形成参数列表,并存入参数数据;
[0016]步骤S221、参数列表的参数号作为参数数据所对应的写入地址;
[0017]步骤S222、获取当前参数列表的CRC校验值;
[0018]步骤S223、将参数工作存储区域所对应的擦写轮次和写入成功的参数标志位合成一个参数结构数据;
[0019]步骤S224、将参数列表的参数号、参数数据所对应的数据大小、CRC校验值和参数结构数据进行整合处理,并存入参数记录存储区域中。
[0020]其中,较佳方案是,所述日志信息存储区还包括至少一个第二日志信息存储子分区,所述第二日志信息存储子分区与参数存储区耦合设置,所述参数存储区还包括日志信息记录存储区域和所述第二擦写轮次计数存储区域;
[0021]所述参数均衡摩擦步骤还包括:
[0022]步骤S31、在第二日志信息存储子分区中写入日志信息;
[0023]步骤S32、将日志信息所对应的写入地址、日志信息所对应的数据大小、第二日志信息存储子分区所对应的擦写轮次进行整合处理,并存入日志信息记录存储区域中;
[0024]步骤S33、所述第二擦写轮次计数存储区域存放第二日志信息存储子分区的擦写轮次。
[0025]其中,较佳方案是:存入第二日志信息存储子分区的日志信息为存入参数工作存储区域的参数数据所对应的日志信息。
[0026]其中,较佳方案是,所述参数均衡摩擦步骤还包括:
[0027]步骤S321、获取第二日志信息存储子分区中存入日志信息的首地址作为日志信息所对应的写入地址;
[0028]步骤S322、获取写入成功的日志标志位;
[0029]步骤S323、将首地址、日志信息所对应的数据大小、日志标志位和第二日志信息存储子分区所对应的擦写轮次进行整合处理,并存入日志信息记录存储区域中。
[0030]其中,较佳方案是,所述参数存储区还包括参数工作缓存区域,所述参数工作缓存区域配套有参数工作缓存备份区域,所述参数均衡摩擦步骤还包括:
[0031]步骤S41、在参数工作存储区域中存入参数数据,所述参数数据至少包括写入首地址、写入尾地址和数据内容;
[0032]步骤S42、当写入尾地址存入参数工作存储区域中后,将数据内容存入参数工作缓存区域中;
[0033]步骤S43、所述参数工作缓存备份区域还将参数工作缓存区域的数据信息进行备份。
[0034]其中,较佳方案是,所述参数存储区还包括系统默认参数存储区域、参数配置信息存储区域、第三擦写轮次计数存储区域,所述参数工作存储区域和参数记录存储区域分别配套有参数工作备份区域和参数记录备份区域,所述参数均衡摩擦步骤还包括:
[0035]步骤S51、所述系统默认参数存储区域存放系统默认参数;
[0036]步骤S52、所述参数配置信息存储区域存放参数存储区的相关配置信息;
[0037]步骤S53、所述第三擦写轮次计数存储区域存放参数工作存储区域的擦写轮次;
[0038]步骤S54、所述参数工作备份区域还将参数工作存储区域的数据信息进行备份
[0039]步骤S55、所述参数记录备份区域还将参数记录存储区域的数据信息进行备份。
[0040]其中,较佳方案是,所述第一日志信息存储子分区还包括日志配置信息存储区域,所述日志均衡摩擦步骤还包括:所述日志配置信息存储区域存放第一日志信息存储子分区的相关配置信息。
[0041]其中,较佳方案是,所述均衡摩擦方法还包括日志掉电恢复步骤,所述日志掉电恢复步骤包括:
[0042]步骤S61、获取日志地址存储区域的最后记录所对应的记录地址;
[0043]步骤S62、判断日志地址存储区域末尾是否存在数据,若存在进入步骤S631,若不存在进入步骤S641;
[0044]步骤S631、判断记录地址是否为日志地址存储区域的首地址,若是进入步骤S634,若不是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储空间的均衡摩擦方法,其特征在于,所述存储空间包括日志信息存储区和参数存储区,所述日志信息存储区包括多个第一日志信息存储子分区,所述第一日志信息存储子分区包括日志数据存储区域、日志地址存储区域和第一擦写轮次计数存储区域,所述参数存储区包括参数工作存储区域和参数记录存储区域,所述均衡摩擦方法包括日志均衡摩擦步骤和参数均衡摩擦步骤;所述日志均衡摩擦步骤包括:步骤S11、在日志数据存储区域中写入日志数据;步骤S12、获取日志数据所对应的写入地址,记录在日志地址存储区域中;步骤S13、获取日志数据所对应的擦写轮次,记录在第一擦写轮次计数存储区域中;所述参数均衡摩擦步骤包括:步骤S21、在参数工作存储区域中存入参数数据;步骤S22、将参数数据所对应的写入地址、参数数据所对应的数据大小、参数工作存储区域所对应的擦写轮次进行整合处理,并存入参数记录存储区域中。2.据权利要求1所述的均衡摩擦方法,其特征在于,所述参数均衡摩擦步骤还包括:步骤S211、在参数工作存储区域中形成参数列表,并存入参数数据;步骤S221、参数列表的参数号作为参数数据所对应的写入地址;步骤S222、获取当前参数列表的CRC校验值;步骤S223、将参数工作存储区域所对应的擦写轮次和写入成功的参数标志位合成一个参数结构数据;步骤S224、将参数列表的参数号、参数数据所对应的数据大小、CRC校验值和参数结构数据进行整合处理,并存入参数记录存储区域中。3.据权利要求1所述的均衡摩擦方法,其特征在于,所述日志信息存储区还包括至少一个第二日志信息存储子分区,所述第二日志信息存储子分区与参数存储区耦合设置,所述参数存储区还包括日志信息记录存储区域和所述第二擦写轮次计数存储区域;所述参数均衡摩擦步骤还包括:步骤S31、在第二日志信息存储子分区中写入日志信息;步骤S32、将日志信息所对应的写入地址、日志信息所对应的数据大小、第二日志信息存储子分区所对应的擦写轮次进行整合处理,并存入日志信息记录存储区域中;步骤S33、所述第二擦写轮次计数存储区域存放第二日志信息存储子分区的擦写轮次。4.根据权利要求3所述的均衡摩擦方法,其特征在于:存入第二日志信息存储子分区的日志信息为存入参数工作存储区域的参数数据所对应的日志信息。5.根据权利要求3所述的均衡摩擦方法,其特征在于,所述参数均衡摩擦步骤还包括:步骤S321、获取第二日志信息存储子分区中存入日志信息的首地址作为日志信息所对应的写入地址;步骤S322、获取写入成功的日志标志位;步骤S323、将首地址、日志信息所对应的数据大小、日志标志位和第二日志信息存储子分区所对应的擦写轮次进行整合处理,并存入日志信息记录存储区域中。6.根据权利要求1所述的均衡摩擦方法,其特征在于,所述参数存储区还包括参数工作缓存区域,所述参数工作缓存区域配套有参数工作缓存备份区域,所述参数均衡摩擦步骤
还包括:步骤S41、在参数工作存储区域中存入参数数据,所述参数数据至少包括写入首地址、写入尾地址和数据内容;步骤S42、当写入尾地址存入参数工作存储区域中后,将数据内容存入参数工作缓存区域中;步骤S43、...

【专利技术属性】
技术研发人员:刘盛华刘锂李昭毅
申请(专利权)人:昂纳科技深圳集团股份有限公司
类型:发明
国别省市:

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

1