一种SOE读取与存储方法、装置及存储介质与流程
本发明涉及一种soe读取与存储方法、装置及存储介质,属于自动化工业控制。
背景技术:
1、目前,电力继电保护、测控装置及dcs系统在存储soe(sequence of events,顺序事件)时,普遍采用两级分层存储架构,即:实时数据首先写入ram高速环形缓存,再经由后台任务转存至非易失性持久化存储介质。
2、在持久化存储介质的选型上,当前工业界主要存在以下两条技术路线:
3、1、采用fram(铁电随机存取存储器)。fram具备理论上限达100万亿次的读写擦除寿命,在电力装置全生命周期(通常为20~30年)内,即使面对高频soe事件写入,其擦写寿命仍远高于实际需求,不存在因擦除磨损导致存储失效的风险。然而,fram的硬件成本显著偏高。以相同容量(4mbit)、相同封装(spi soic-8工业级)的芯片为例,fram的物料成本约为spi nor flash的8~17倍,常规量产均价约为12倍,单片差价约50~100元不等,对于大规模量产设备而言,存储物料成本压力较大。
4、2、采用spi nor flash。该存储介质成本低廉,硬件通用性强,但其固有缺陷在于擦除寿命有限,通常仅支持约10万次擦除操作。在典型的高频soe应用场景中,若每10ms产生1条soe事件,每256条soe事件构成一个4k字节扇区并执行一次擦除操作,则约3天即可耗尽单个扇区的擦写寿命,进而产生存储坏块,无法满足电力装置20~30年服役周期的长期稳定运行要求。
5、综上所述,如何在兼顾存储寿命与硬件成本的前提下,实现soe顺序事件在工业级电力装置中的长期可靠存储,是本领域亟待解决的技术问题。
技术实现思路
1、本发明的目的在于克服现有技术中的不足,提供一种soe读取与存储方法、装置及存储介质,在保证电力嵌入式装置20~30年平均寿命的前提下,本发明考虑fram同容量硬件成本高,选择在低成本spi nor flash硬件基础上,通过分层异步缓存架构与多扇区均衡磨损方法,实现经济型长期稳定存储soe顺序事件。
2、为达到上述目的,本发明是采用下述技术方案实现的:
3、第一方面,本发明提供了一种soe读取与存储方法,包括:
4、初始化实时sram环形fifo缓存队列及spi nor flash中的扇区批量缓存空间,并将上一次断电时存储于所述扇区批量缓存空间中的soe顺序事件记录拷贝至所述实时sram环形fifo缓存队列;
5、在后台存储任务调度层中,通过后台周期性将所述实时sram环形fifo缓存队列中的soe顺序事件记录拷贝到所述扇区批量缓存空间,拷贝过程中采用多扇区均衡磨损机制进行扇区擦写调度控制;
6、根据所述多扇区均衡磨损机制,以所述spi nor flash的扇区为单位对各扇区进行循环轮换擦除,并在完成擦除后将待写入数据依次写入对应扇区,实现soe顺序事件在所述spi nor flash上的存储。
7、进一步的,所述初始化实时sram环形fifo缓存队列及spi nor flash中的扇区批量缓存空间,并将上一次断电时存储于所述扇区批量缓存空间中的soe顺序事件记录拷贝至所述实时sram环形fifo缓存队列,包括:
8、初始化所述实时sram环形fifo缓存队列,缓存大小为,并初始化所述spi norflash中的扇区批量缓存空间,所述扇区批量缓存空间大小为,所述spi nor flash的每个扇区的大小为固定的;
9、将上一次断电时存储于所述扇区批量缓存空间的条soe顺序事件记录拷贝至所述实时sram环形fifo缓存队列,其中每条soe顺序事件字节,;
10、遍历所述扇区批量缓存空间中各soe顺序事件的首字节,根据首字节是否为特殊字符0xff确定有效soe记录位置,并将有效soe记录拷贝至所述实时sram环形fifo缓存队列,作为后续刷盘操作的起始数据。
11、进一步的,遍历所述扇区批量缓存空间中各soe顺序事件的首字节,根据首字节是否为特殊字符0xff确定有效soe记录位置,并将有效soe记录拷贝至所述实时sram环形fifo缓存队列,包括:
12、遍历所述扇区批量缓存空间条soe顺序事件的首字节位,若首位为特殊字符0xff,则判断之后连续个字节是否为0xff;
13、若是,则将此位置地址除以得到soe顺序事件记录的序号,查找该序号前条soe顺序事件记录所在的扇区,记扇区个数为;
14、判断是否成立,若是则取个扇区中后个扇区整体拷贝至所述实时sram环形fifo缓存队列,否则将个扇区整体拷贝至所述实时sram环形fifo缓存队列;若首位不是特殊字符0xff,则将遍历位置下移一位继续查找。
15、进一步的,所述多扇区均衡磨损机制中,记所述spi nor flash的一个扇区最大存储soe的个数为雪崩系数,用于限制刷盘周期内保存soe的最大个数,并基于当前刷盘周期与上一刷盘周期的soe序号差值进行扇区写入控制。
16、进一步的,所述在后台存储任务调度层中,通过后台周期性将所述实时sram环形fifo缓存队列中的soe顺序事件记录拷贝到所述扇区批量缓存空间,包括:
17、计算所述扇区批量缓存空间中存储最新soe顺序事件记录的扇区序号向下取整得,将这一扇区作为待写扇区,并获取上一个刷盘周期末未刷入缓存的soe顺序事件个数;
18、记上一个刷盘周期末所述实时sram环形fifo缓存队列最近soe序号减为,当前刷盘周期末所述实时sram环形fifo缓存队列最近soe序号为;
19、判断是否成立,若是则将加上后赋值给,否则进入下一步判断;
20、判断是否成立,若是则重新计算上一个刷盘周期末的soe序号,若否则根据与的差值确定当前周期待写入的soe记录条数,并将对应记录所在实时sram环形fifo缓存队列的存储空间存入所述spi nor flash中序号为的扇区。
21、进一步的,所述根据与的差值确定当前周期待写入的soe记录条数,并将对应记录所在实时sram环形fifo缓存队列的存储空间存入所述spi nor flash中序号为的扇区,包括:
22、记为除以的余数,即;
23、判断是否成立,若是则取条soe顺序事件记录所在实时sram环形fifo缓存队列的4k字节空间,存入所述spi nor flash中序号为的扇区;更新上一个刷盘周期末未刷入缓存的soe顺序事件个数为,且;
24、若否则取条soe顺序事件记录所在实时sram环形fifo缓存队列的4k字节空间,存入所述spi nor flash中序号为的扇区,且。
25、进一步的,完成当前扇区写入后,将待写扇区的序号加1,记为,判断是否成立,若否则进入下一刷盘周期继续执行;若是则取,并进入下一刷盘周期继续执行。
26、第二方面,本发明提供一种soe读取与存储装置,用于实现前述任意一项所述的soe读取与存储方法,包括:
27、缓存初始化与数据恢复模块,用于初始化实时sram环形fifo缓存队列及spi norflash中的扇区批量缓存空间,并将上一次断电时存储于所述扇区批量缓存空间中的soe顺序事件记录拷贝至所述实时sram环形fifo缓存队列;
28、后台调度存储模块,用于通过后台周期性将所述实时sram环形fifo缓存队列中的soe顺序事件记录拷贝到所述扇区批量缓存空间,拷贝过程中采用多扇区均衡磨损机制进行扇区擦写调度控制;
29、磨损均衡控制模块,用于根据所述多扇区均衡磨损机制,以所述spi nor flash的扇区为单位对各扇区进行循环轮换擦除,并在完成擦除后将待写入数据依次写入对应扇区,实现soe顺序事件在所述spi nor flash上的存储。
30、第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述中任一项所述方法的步骤。
31、第四方面,本发明提供一种电子设备,包括:
32、存储器,用于存储计算机程序/指令;
33、处理器,用于执行所述计算机程序/指令以实现前述中任一项所述方法的步骤。
34、第五方面,本发明提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现前述中任一项所述方法的步骤。
35、与现有技术相比,本发明所达到的有益效果:
36、本发明提供一种soe读取与存储方法、装置及存储介质,以低成本 spi nor flash为存储硬件,通过分层异步缓存架构与多扇区均衡磨损方法,解决传统 spi nor flash 高频 soe 场景擦除寿命不足、短期易产生存储坏块的缺陷;在满足电力装置 20~30 年超长服役周期、高频次 soe 事件完整时序存储的前提下,大幅降低存储物料成本,无需更换高价 fram 芯片,不占用额外硬件资源、不影响装置实时控制保护性能,硬件通用性强,适合电力继电保护、测控、dcs 设备大规模量产应用。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com