非易失性存储器的数据擦除方法、装置和存储介质与流程
- 国知局
- 2024-07-31 20:06:53
本技术实施例涉及计算机领域,具体而言,涉及一种非易失性存储器的数据擦除方法、装置和存储介质。
背景技术:
1、在嵌入式系统中,非易失性存储器作为操作简单、存储性能稳定的非易失存储器件,应用场景十分广泛,几乎所有的嵌入式系统都会有这样的存储器件,用来存储一些关键数据。因为非易失性存储器本身的特性,在往非易失性存储器中写入数据之前,需要先擦除,然后才可以写入,开发人员在擦除的时候,需要自己根据要擦除的数据的信息来确定具体使用的擦除功能,如果需要擦除大块的区域,但是却选择了小块区域的擦除功能,就会导致擦除动作消耗大量的时间,阻塞系统的运行以及效率。如果需要擦除小块的区域,却选择了大块区域的擦除功能,不仅会耗费较多的时间,也可能会导致擦除非预期的数据,造成数据丢失。
2、针对相关技术中,非易失性存储器数据擦除的效率较低等问题,尚未提出有效的解决方案。
技术实现思路
1、本技术实施例提供了一种非易失性存储器的数据擦除方法、装置和存储介质,以至少解决相关技术中非易失性存储器数据擦除的效率较低的问题。
2、根据本技术的一个实施例,提供了一种非易失性存储器的数据擦除方法,应用于所述非易失性存储器的驱动,所述方法包括:
3、检测所述非易失性存储器中存储的待擦除的目标数据的目标数据长度;
4、将所述目标数据长度作为初始的当前剩余长度,重复执行以下步骤,直至所述当前剩余长度为0,得到擦除功能组:将擦除功能集合中n个擦除功能的可擦除长度按照从大到小的顺序与所述当前剩余长度进行比对,其中,所述擦除功能用于擦除数据,所述擦除功能的可擦除长度是所述擦除功能所允许擦除的数据长度,n为大于1的整数;在比对到可擦除长度小于所述当前剩余长度的情况下,将当前所比对到的候选擦除功能添加至所述擦除功能组;将当前剩余长度与所述候选擦除功能的可擦除长度的长度差值确定为下一个当前剩余长度;
5、执行所述擦除功能组,其中,所述擦除功能组是按照所述候选擦除功能的添加顺序排列的擦除功能序列。
6、在一个示例性实施例中,所述将擦除功能集合中n个擦除功能的可擦除长度按照从大到小的顺序与所述当前剩余长度进行比对,包括:按照从大到小的顺序从所述擦除功能集合中依次提取每个可擦除长度作为参考可擦除长度,其中,所述擦除功能集合中按照所述可擦除长度从大到小的顺序存储所述n个擦除功能中每个擦除功能的所述可擦除长度;将所述参考可擦除长度与所述当前剩余长度进行比对。
7、在一个示例性实施例中,所述将所述参考可擦除长度与所述当前剩余长度进行比对,包括:检测所述参考可擦除长度是否与所述目标数据基线对齐;在检测到所述参考可擦除长度与所述目标数据基线对齐的情况下,确定可擦除长度小于所述当前剩余长度;在检测到所述参考可擦除长度与所述目标数据未基线对齐的情况下,从所述擦除功能集合中提取下一个所述参考可擦除长度。
8、在一个示例性实施例中,所述检测所述参考可擦除长度是否与所述目标数据基线对齐,包括:获取待擦除的所述目标数据的在所述非易失性存储器中的目标起始地址;计算所述目标起始地址除所述参考可擦除长度之后的余数;在所述余数等于0的情况下,确定所述参考可擦除长度与所述目标数据基线对齐;在所述余数不等于0的情况下,确定所述参考可擦除长度与所述目标数据未基线对齐;所述将当前所比对到的候选擦除功能添加至所述擦除功能组,包括:从所述擦除功能集合中获取所述参考可擦除长度对应的候选擦除指令,其中,所述擦除功能集合中包括n条擦除指令,所述擦除指令用于擦除对应的可擦除长度的数据;将所述候选擦除指令和所述参考可擦除长度构建成所述候选擦除功能,其中,所述候选擦除功能用于通过所述候选擦除指令擦除所述候选可擦除长度的数据;将所述候选擦除功能添加至所述擦除功能组。
9、在一个示例性实施例中,所述将当前剩余长度与所述候选擦除功能的可擦除长度的长度差值确定为下一个当前剩余长度,包括:获取待擦除的所述目标数据的在所述非易失性存储器中的目标起始地址;计算所述目标数据的在所述非易失性存储器中的目标起始地址经过所述可擦除长度的更新起始地址,以及所述当前剩余长度与所述候选擦除功能的所述可擦除长度的所述长度差值;将所述更新起始地址确定为所述目标数据的下一个目标起始地址,以及将所述长度差值确定为所述下一个当前剩余长度。
10、在一个示例性实施例中,所述执行所述擦除功能组,包括:按照添加所述擦除功能的顺序由先到后的调用每个擦除功能对应的擦除指令,通过所述擦除指令擦除对应的所述可擦除长度的数据;在执行所述擦除指令的过程中,在响应时间内等待完成所述擦除指令的完成消息;在所述响应时间超过擦除超时时间,且,仍未接收到所述完成消息的情况下,返回用于指示所述擦除指令响应超时的超时信息。
11、在一个示例性实施例中,在所述将擦除功能集合中n个擦除功能的可擦除长度按照从大到小的顺序与所述当前剩余长度进行比对之前,所述方法还包括:调用初始化接口通过所述初始化接口在所述驱动中写入全局变量,其中,所述全局变量用于配置所述非易失性存储器的硬件特性;读取所述非易失性存储器的存储器参数,其中,所述存储器参数包括:所述非易失性存储器的存储器容量、所述非易失性存储器所支持的擦除功能的数量、所述非易失性存储器所支持的可擦除长度、所述非易失性存储器所支持的擦除指令和所述非易失性存储器的擦除超时时间;使用所述存储器参数初始化所述全局变量,得到所述擦除功能集合。
12、根据本技术的另一个实施例,提供了一种非易失性存储器的数据擦除装置,应用于所述非易失性存储器的驱动,所述装置包括:
13、检测模块,用于检测所述非易失性存储器中存储的待擦除的目标数据的目标数据长度;
14、处理模块,用于将所述目标数据长度作为初始的当前剩余长度,重复执行以下步骤,直至所述当前剩余长度为0,得到擦除功能组:将擦除功能集合中n个擦除功能的可擦除长度按照从大到小的顺序与所述当前剩余长度进行比对,其中,所述擦除功能用于擦除数据,所述擦除功能的可擦除长度是所述擦除功能所允许擦除的数据长度,n为大于1的整数;在比对到可擦除长度小于所述当前剩余长度的情况下,将当前所比对到的候选擦除功能添加至所述擦除功能组;将当前剩余长度与所述候选擦除功能的可擦除长度的长度差值确定为下一个当前剩余长度;
15、执行模块,用于执行所述擦除功能组,其中,所述擦除功能组是按照所述候选擦除功能的添加顺序排列的擦除功能序列。
16、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
17、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
18、根据本技术的又一个实施例,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
19、通过本技术,检测非易失性存储器中存储的待擦除的目标数据的目标数据长度;将目标数据长度作为初始的当前剩余长度,重复执行以下步骤,直至当前剩余长度为0,得到擦除功能组:将擦除功能集合中n个擦除功能的可擦除长度按照从大到小的顺序与当前剩余长度进行比对,其中,擦除功能用于擦除数据,擦除功能的可擦除长度是擦除功能所允许擦除的数据长度,n为大于1的整数;在比对到可擦除长度小于当前剩余长度的情况下,将当前所比对到的候选擦除功能添加至擦除功能组;将当前剩余长度与候选擦除功能的可擦除长度的长度差值确定为下一个当前剩余长度;执行擦除功能组,其中,擦除功能组是按照候选擦除功能的添加顺序排列的擦除功能序列。由于擦除功能组是根据当前剩余长度从擦除功能集合中n个擦除功能的可擦除长度中提取得到的,通过执行擦除功能组中的擦除功能实现了对目标数据的完整擦除,因此,可以解决非易失性存储器数据擦除的效率较低的问题,达到提高非易失性存储器数据擦除的效率的效果。
本文地址:https://www.jishuxx.com/zhuanli/20240731/185282.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。