本发明涉及数据存储,尤其涉及一种eeprom的数据存储方法及装置。
背景技术:
1、电子擦除式只读存储器(electrically erasable programmable read onlymemory,eeprom)的存储容量由额定数量的存储单元组成。现有的应用情形下,当eeprom的部分存储单元损坏失效后,电池管理系统(battery management system,bms)内部监控软件会判定eeprom出现故障,进而认为整个bms损坏失效。
2、一般eerpom的读写次数为100万次,假设bms运行记录数据时eeprom每秒全部擦写一次,则其使用时间为1000000/3600=277.8小时,显然不能满足bms的产品技术要求。一般芯片(例如微控制单元(microcontroller unit,mcu))自带的eeprom设计擦写寿命(次数)与使用该芯片的产品生命周期内预估的通用应用场景的擦写次数相当。在bms高频擦写的场景下,芯片内置的eeprom达不到应用要求,只能使用外置的专用eeprom模块,一方面芯片内置的eeprom闲置,另一方面专用eeprom模块额外增加成本。
技术实现思路
1、有鉴于此,有必要提供一种eeprom的数据存储方法及装置,用以解决在bms高频擦写的场景下,芯片内置的eeprom达不到应用要求,只能使用外置的专用eeprom模块,导致成本增加的问题。
2、为了解决上述问题,本发明提供一种eeprom的数据存储方法,包括:
3、在写入事件触发后,对当前的快速索引值进行更新;
4、基于更新后的当前的快速索引值,确定写入事件对应的记录索引值,并基于写入事件对应的记录索引值,确定写入事件对应的记录索引位置的存储块索引值;
5、基于写入事件对应的记录索引值和记录索引位置的存储块索引值,确定写入事件对应的存储块,以及写入事件在对应的存储块中的校验码起始地址和数据存储起始地址。
6、在一种可能的实现方式中,所述对当前的快速索引值进行更新,包括:
7、在当前的快速索引值对应的快速索引位置存在写入故障,或者,在写入事件成功写入当前的快速索引值对应的快速索引位置的情况下,将当前的快速索引值加1;
8、在更新后的当前的快速索引值等于快速索引值阈值的情况下,在下次更新时将当前的快速索引值设置为初始快速索引值,初始快速索引值为0。
9、在一种可能的实现方式中,所述方法还包括:
10、在当前的快速索引值对应的快速索引位置不存在写入故障的情况下,将当前的快速索引值对应的快速索引位置确定为写入事件对应的快速索引位置;
11、在当前的快速索引值对应的快速索引位置存在写入故障的情况下,更新当前的快速索引值,直到更新后的当前的快速索引值对应的快速索引位置不存在写入故障,将更新后的当前的快速索引值对应的快速索引位置确定为写入事件对应的快速索引位置。
12、在一种可能的实现方式中,所述基于更新后的当前的快速索引值,确定写入事件对应的记录索引值,包括:
13、基于以下公式确定写入事件对应的记录索引值:
14、
15、其中,表示写入事件对应的记录索引值,表示更新后的当前的快速索引值,表示记录索引值阈值,mod表示取模运算。
16、在一种可能的实现方式中,所述基于写入事件对应的记录索引值,确定写入事件对应的记录索引位置的存储块索引值,包括:
17、基于写入事件对应的记录索引值,确定写入事件对应的记录索引位置;
18、将目标存储块索引值确定为写入事件对应的记录索引位置的存储块索引值,目标存储块索引值为写入事件对应的记录索引位置中,索引值最小的可用存储块的索引值。
19、在一种可能的实现方式中,写入事件在对应的存储块中的校验码起始地址和数据存储起始地址基于以下公式确定:
20、
21、其中,表示写入事件在对应的存储块中的校验码起始地址,表示写入事件在对应的存储块中的数据存储起始地址,表示记录存储起始地址,表示写入事件对应的记录索引值,表示写入事件对应的记录索引位置的存储块索引值,表示记录长度,表示存储块长度。
22、在一种可能的实现方式中,所述写入事件的触发条件包括:
23、基于预设周期触发,和/或,在电池荷电状态变化率超过预设阈值的情况下触发。
24、本发明还提供了一种eeprom的数据存储装置,包括:
25、更新模块,用于在写入事件触发后,对当前的快速索引值进行更新;
26、第一确定模块,用于基于更新后的当前的快速索引值,确定写入事件对应的记录索引值,并基于写入事件对应的记录索引值,确定写入事件对应的记录索引位置的存储块索引值;
27、第二确定模块,用于基于写入事件对应的记录索引值和记录索引位置的存储块索引值,确定写入事件对应的存储块,以及写入事件在对应的存储块中的校验码起始地址和数据存储起始地址。
28、本发明还提供了一种电子设备,包括存储器和处理器,及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如上所述的eeprom的数据存储方法。
29、本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的eeprom的数据存储方法。
30、本发明的有益效果是:本发明提供的eeprom的数据存储方法及装置,在写入事件触发后,对当前的快速索引值进行更新,从而实现了索引数据的循环写入,并且通过写入事件触发的方式存储索引,减少了索引数据的擦写次数,之后通过更新后的当前的快速索引值进一步确定写入事件对应的记录索引值、写入事件对应的记录索引位置的存储块索引值、写入事件对应的存储块、写入事件在对应的存储块中的校验码起始地址和数据存储起始地址,通过索引数据的循环写入进一步实现了存储数据的循环写入,本发明充分利用了eeprom的存储空间,降低了eeprom中数据的擦写频率,从而提高了eeprom的使用寿命,使得芯片内置的eeprom可用于数据存储,降低了数据存储的成本。
1.一种eeprom的数据存储方法,其特征在于,包括:
2.根据权利要求1所述的eeprom的数据存储方法,其特征在于,所述对当前的快速索引值进行更新,包括:
3.根据权利要求2所述的eeprom的数据存储方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的eeprom的数据存储方法,其特征在于,所述基于更新后的当前的快速索引值,确定写入事件对应的记录索引值,包括:
5.根据权利要求1所述的eeprom的数据存储方法,其特征在于,所述基于写入事件对应的记录索引值,确定写入事件对应的记录索引位置的存储块索引值,包括:
6.根据权利要求1所述的eeprom的数据存储方法,其特征在于,写入事件在对应的存储块中的校验码起始地址和数据存储起始地址基于以下公式确定:
7.根据权利要求1至6任一项所述的eeprom的数据存储方法,其特征在于,所述写入事件的触发条件包括:
8.一种eeprom的数据存储装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器和处理器,及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现根据权利要求1至7任一项所述的eeprom的数据存储方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的eeprom的数据存储方法。
