一种非易失性内存介质数据更新方法和装置制造方法及图纸

技术编号:32364639 阅读:21 留言:0更新日期:2022-02-20 03:37
本发明专利技术公开了一种非易失性内存介质数据更新方法、装置、电子设备和存储介质,所述方法包括:对原始数据进行原子操作处理,得到与第一序列号对应的第一处理后数值;以及判断第二处理后数值是否大于第一处理后数值,若判断出第二处理后数值大于第一处理后数值时,释放存储于第一数据空间的原始数据,否则,则忽略处理。本申请实施例提供的数据更新方法,通过将更新数据写到新的第二数据空间来减少NVM的写入次数和数据量,以及通过比较原始数据和更新数据对应的序列号的大小,能够精准地识别出哪些数据空间存储有原始数据,哪些数据空间存储有更新数据;这样,能够做到精准地释放存储有原始数据的数据空间,有效地提高了数据空间的利用率。利用率。利用率。

【技术实现步骤摘要】
一种非易失性内存介质数据更新方法和装置


[0001]本专利技术涉及网络安全
,特别涉及一种非易失性内存介质数据更新方法和装置。

技术介绍

[0002]NVM(Non Volatile Memory,非易失性内存)介质是最近几年兴起的一种新的存储介质技术,与普通内存掉电后数据丢失的情况不同,写入其中的数据在掉电后仍能继续保持,即再次上电后仍能读到下电前的数据。另外,NVM的访问以字节为单位,且其读写速度很快,仅稍慢于普通内存。由于NVM的这些新特性,其在存储系统中已经得到越来越广泛的运用。
[0003]但是,针对NVM的编程,有一些独特的地方需要加以注意。其中一点就是,在NVM的写入过程中,任意时刻都可能出现掉电。为了保证再上电后,软件还能继续运行,往往要求NVM的写入具有原子性。比如,一个记录地址信息的数据为:北京市海淀区上地八街8号。假定需要将其修改为:成都市高新区和乐二街2号。如果直接修改该数据,并且在修改时出现掉电,则再上电后该数据可能为:成都市高新区上地八街8号,从而导致了一个明显的错误。所以,针对NVM介质,必须要实现数据更新的原子性,即下电再上电后,NVM中要么全是老数据,要么全是新数据。
[0004]要实现数据更新的原子性,如下日志方案是常采用的数据更新方式。
[0005]假定NVM上的某个数据空间中已存在一个老数据,现在需要写入一个新数据,使用日志方案保证新数据写入原子性的方法具体步骤为:
[0006]步骤a1:在NVM非易失性内存中分配一块日志空间;
[0007]步骤a2:将新数据写入日志空间;
[0008]步骤a3:写入一个标记(原子操作),使日志生效;
[0009]步骤a4:将新数据写入数据空间;
[0010]步骤a5:清除日志有效性标记(原子操作);
[0011]步骤a6:释放日志空间。
[0012]在系统上电时,检查如果存在有效的日志空间,则将其数据覆盖到相应的数据空间。由上述过程可知,在NVM数据更新过程中的任意时刻下电,日志方案都可以保证数据的原子性。在日志生效之前下电,再上电后是老数据生效,否则是新数据生效。
[0013]如何解决上述日志方案所存在的写入次数较多、且写入数据量较多的问题,是待解决的技术问题。

技术实现思路

[0014]基于此,有必要针对基于现有日志方案所存在的写入次数较多、且写入数据量较多的问题,提供一种非易失性内存介质数据更新方法、装置、电子设备和存储介质。
[0015]第一方面,本申请实施例提供了一种非易失性内存介质数据更新方法,所述方法
包括:
[0016]响应于进行数据更新的数据更新指令,为应用于非易失性内存NVM中、且存储于第一数据空间的原始数据分配预设数量的第二数据空间,所述第二数据空间用于写入与所述原始数据对应的更新数据,所述第一数据空间被配置有第一序列号,每一个所述第二数据空间均配置有对应的第二序列号,所述第一序列号的初始数值为第一初始数值,将所述第一序列号的长度和所述第二序列号的长度均配置为预设长度的字节;
[0017]将所述更新数据写入所述第二数据空间中,所述第二序列号的初始数值为第二初始数值,所述第一初始数值大于所述第二初始数值;
[0018]对所述更新数据进行原子操作处理,得到与第二序列号对应的第二处理后数值;以及对所述原始数据进行原子操作处理,得到与第一序列号对应的第一处理后数值;
[0019]判断所述第二处理后数值是否大于所述第一处理后数值,若判断出所述第二处理后数值大于所述第一处理后数值时,释放存储于所述第一数据空间的所述原始数据,否则,则忽略处理。
[0020]在一种实现方式中,所述对所述更新数据进行原子操作处理包括:
[0021]将第二序列号对应的数值从所述第二初始数值配置为所述第二处理后数值。
[0022]在一种实现方式中,所述对所述原始数据进行原子操作处理包括:
[0023]将第一序列号对应的数值从所述第一初始数值配置为所述第一处理后数值。
[0024]在一种实现方式中,所述响应于进行数据更新的数据更新指令,为应用于非易失性内存NVM中、且存储于第一数据空间的原始数据分配预设数量的第二数据空间包括:
[0025]响应于进行数据更新的所述数据更新指令,为应用于非易失性内存NVM中、且存储于第一数据空间的原始数据分配一个所述第二数据空间。
[0026]在一种实现方式中,所述响应于进行数据更新的数据更新指令,为应用于非易失性内存NVM中、且存储于第一数据空间的原始数据分配预设数量的第二数据空间包括:
[0027]响应于进行数据更新的所述数据更新指令,为应用于非易失性内存NVM中、且存储于第一数据空间的原始数据分配两个所述第二数据空间。
[0028]第二方面,本申请实施例提供了一种非易失性内存介质数据更新装置,所述装置包括:
[0029]分配模块,用于响应于进行数据更新的数据更新指令,为应用于非易失性内存NVM中、且存储于第一数据空间的原始数据分配预设数量的第二数据空间,所述第二数据空间用于写入与所述原始数据对应的更新数据,所述第一数据空间被配置有第一序列号,每一个所述第二数据空间均配置有对应的第二序列号,所述第一序列号的初始数值为第一初始数值,将所述第一序列号的长度和所述第二序列号的长度均配置为预设长度的字节;
[0030]写入模块,用于将所述更新数据写入所述分配模块分配的所述第二数据空间中,所述第二序列号的初始数值为第二初始数值,所述第一初始数值大于所述第二初始数值;
[0031]原子操作模块,用于对所述更新数据进行原子操作处理,得到与第二序列号对应的第二处理后数值;以及对所述原始数据进行原子操作处理,得到与第一序列号对应的第一处理后数值;
[0032]处理模块,用于判断所述原子操作模块得到的所述第二处理后数值是否大于所述原子操作模块得到的所述第一处理后数值,若判断出所述第二处理后数值大于所述第一处
理后数值时,释放存储于所述第一数据空间的所述原始数据,否则,则忽略处理。
[0033]第三方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现如上所述的方法步骤。
[0034]第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现如上所述的方法步骤。
[0035]本申请实施例提供的技术方案可以包括以下有益效果:
[0036]在本申请实施例中,对所述更新数据进行原子操作处理,得到与第二序列号对应的第二处理后数值;以及对所述原始数据进行原子操作处理,得到与第一序列号对应的第一处理后数值;以及判断所述第二处理后数值是否大于所述第一处理后数值,若判断出所述第二处理后数值大于所述第一处理后数值时,释放存储于所述第一数据空间的所述原始数据,否则,则忽略处理。本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种非易失性内存介质数据更新方法,其特征在于,所述方法包括:响应于进行数据更新的数据更新指令,为应用于非易失性内存NVM中、且存储于第一数据空间的原始数据分配预设数量的第二数据空间,所述第二数据空间用于写入与所述原始数据对应的更新数据,所述第一数据空间被配置有第一序列号,每一个所述第二数据空间均配置有对应的第二序列号,所述第一序列号的初始数值为第一初始数值,将所述第一序列号的长度和所述第二序列号的长度均配置为预设长度的字节;将所述更新数据写入所述第二数据空间中,所述第二序列号的初始数值为第二初始数值,所述第一初始数值大于所述第二初始数值;对所述更新数据进行原子操作处理,得到与第二序列号对应的第二处理后数值;以及对所述原始数据进行原子操作处理,得到与第一序列号对应的第一处理后数值;判断所述第二处理后数值是否大于所述第一处理后数值,若判断出所述第二处理后数值大于所述第一处理后数值时,释放存储于所述第一数据空间的所述原始数据,否则,则忽略处理。2.根据权利要求1所述的方法,其特征在于,所述对所述更新数据进行原子操作处理包括:将第二序列号对应的数值从所述第二初始数值配置为所述第二处理后数值。3.根据权利要求1所述的方法,其特征在于,所述对所述原始数据进行原子操作处理包括:将第一序列号对应的数值从所述第一初始数值配置为所述第一处理后数值。4.根据权利要求1所述的方法,其特征在于,所述响应于进行数据更新的数据更新指令,为应用于非易失性内存NVM中、且存储于第一数据空间的原始数据分配预设数量的第二数据空间包括:响应于进行数据更新的所述数据更新指令,为应用于非易失性内存NVM中、且存储于第一数据空间的原始数据分配一个所述第二数据空间。5.根据权利要求1所述的方法,其特征在于,所述响应于进行数据更新的数据更新指令,为应用于非易失性内存NVM中、且存储于第一数据空间的原始数据分配预设数量的第二数据空间包括:响应于进行数据更新的所述数据更新指令,为应用于非易失性内存NVM中、且存...

【专利技术属性】
技术研发人员:陈业夫
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:

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

1