数据读取方法、Flash存储器、设备及存储介质与流程

专利检索2025-02-17  21


本发明涉及电数字数据处理,尤其涉及一种数据读取方法、flash存储器、设备及存储介质。


背景技术:

1、flash存储器(即闪存)作为性能优良的存储装置,常见于各种soc(system onchip,系统级芯片)集成的存储场景,尤其以操作系统启动的使用场景居多。

2、虽然flash存储器性能优良,但是在使用过程中还是会出现代码丢失,比特位反转等问题,基于此,为保障flash存储器中数据的准确性,在现有技术中,需要通过采用多种存储介质(例如采用多种存储器)的方式来进行备份数据的存储。当需要读取flash存储器中的数据时,若flash存储器中的数据出错,则需要从其他存储介质中获取对应的备份数据。

3、但是在芯片功能日益复杂的情况下,管脚的数量日渐紧张,针对soc集成的存储场景,采用增加存储介质的方式进行数据备份的方法成本高。


技术实现思路

1、本发明提供一种数据读取方法、flash存储器、设备及存储介质,用以解决现有技术中针对soc集成的存储场景,采用增加存储介质的方式进行数据备份的方法成本高的缺陷。

2、本发明提供一种数据读取方法,包括:响应于读取指令,基于读取指令确定第一虚拟地址;读取指令包括第一虚拟地址和第二虚拟地址,第一虚拟地址用于标识存储第一数据的第一存储阵列,第二虚拟地址用于标识存储第二数据的第二存储阵列;基于第一虚拟地址,获取第一数据;判断第一数据是否正确;若第一数据不正确,则基于读取指令确定第二虚拟地址;基于第二虚拟地址,获取并输出第二数据;其中,第二数据为第一数据的备份数据,第一数据和第二数据存储于flash存储器。

3、根据本发明提供的一种数据读取方法,第一数据是基于对原始数据进行crc运算得到的,第一数据包括第一crc校验码;第二数据是基于对原始数据进行crc运算得到的,第二数据包括第二crc校验码;基于第二虚拟地址,获取并输出第二数据之后,还包括:判断第二数据是否正确;若第二数据不正确,则判断第一数据和第二数据是否相同;若第一数据和第二数据不相同,则基于第一crc校验码和第二crc校验码,对第一数据和第二数据进行数据修复处理。

4、根据本发明提供的一种数据读取方法,判断第一数据是否正确之后,包括:若第一数据正确,则输出第一数据。

5、根据本发明提供的一种数据读取方法,第二数据为用于启动操作系统的数据;基于第二虚拟地址,获取并输出第二数据之后,还包括:判断第二数据是否正确;若第二数据正确,则将第二数据发送至cpu,以使cpu基于第二数据控制操作系统启动。

6、根据本发明提供的一种数据读取方法,第一数据为用于启动操作系统的数据;基于第二虚拟地址,获取并输出第二数据之后,还包括:判断第二数据是否正确;若第二数据不正确,则判断第一数据和第二数据是否相同;若第一数据和第二数据相同,则将第一数据发送至cpu,以使cpu基于第一数据控制操作系统启动。

7、根据本发明提供的一种数据读取方法,若第一数据和第二数据相同,则将第一数据发送至cpu,以使cpu基于第一数据控制操作系统启动之后,还包括:若cpu基于第一数据无法控制操作系统启动,则接收cpu的数据更新指令;响应于数据更新指令,对第一数据和第二数据进行更新处理,获得更新后的第一数据和更新后的第二数据。

8、根据本发明提供的一种数据读取方法,响应于读取指令,基于读取指令确定第一虚拟地址之前,还包括:对flash存储器的存储空间进行划分,获得第一存储阵列和第一存储阵列对应的第一虚拟地址,以及第二存储阵列和第二存储阵列对应的第二虚拟地址;响应于数据写入指令,接收第一数据和第二数据;将第一数据写入第一存储阵列;将第二数据写入第二存储阵列。

9、本发明还提供一种flash存储器,包括:第一确定模块,用于响应于读取指令,基于读取指令确定第一虚拟地址;读取指令包括第一虚拟地址和第二虚拟地址,第一虚拟地址用于标识存储第一数据的第一存储阵列,第二虚拟地址用于标识存储第二数据的第二存储阵列;第一获取模块,用于基于第一虚拟地址,获取第一数据;判断模块,用于判断第一数据是否正确;第二确定模块,用于若第一数据不正确,则基于读取指令确定第二虚拟地址;第二获取模块,用于基于第二虚拟地址,获取并输出第二数据;其中,第二数据为第一数据的备份数据,第一数据和第二数据存储于flash存储器。

10、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据读取方法。

11、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据读取方法。

12、本发明提供的数据读取方法、flash存储器、设备及存储介质,响应于读取指令,基于读取指令确定第一虚拟地址;读取指令包括第一虚拟地址和第二虚拟地址,第一虚拟地址用于标识存储第一数据的第一存储阵列,第二虚拟地址用于标识存储第二数据的第二存储阵列;基于第一虚拟地址,获取第一数据;判断第一数据是否正确;若第一数据不正确,则基于读取指令确定第二虚拟地址;基于第二虚拟地址,获取并输出第二数据;其中,第二数据为第一数据的备份数据,第一数据和第二数据存储于flash存储器。通过上述方式,第一虚拟地址用于标识存储第一数据的第一存储阵列,第二虚拟地址用于标识存储第二数据的第二存储阵列,由于第二数据为第一数据的备份数据,且第一数据和第二数据均存储于flash存储器,因此,当基于第一虚拟地址获取第一数据后,若第一数据不正确,则可以直接在flash存储器上基于第二虚拟地址获取第一数据的备份数据,无需额外增加存储介质,可有效降低soc集成场景下的存储成本。



技术特征:

1.一种数据读取方法,其特征在于,包括:

2.根据权利要求1所述的数据读取方法,其特征在于,所述第一数据是基于对原始数据进行crc运算得到的,所述第一数据包括第一crc校验码;所述第二数据是基于对原始数据进行crc运算得到的,所述第二数据包括第二crc校验码;

3.根据权利要求1所述的数据读取方法,其特征在于,所述判断所述第一数据是否正确之后,包括:

4.根据权利要求1所述的数据读取方法,其特征在于,所述第二数据为用于启动操作系统的数据;

5.根据权利要求1所述的数据读取方法,其特征在于,所述第一数据为用于启动操作系统的数据;

6.根据权利要求5所述的数据读取方法,其特征在于,所述若所述第一数据和所述第二数据相同,则将所述第一数据发送至cpu,以使所述cpu基于所述第一数据控制操作系统启动之后,还包括:

7.根据权利要求1所述的数据读取方法,其特征在于,所述响应于读取指令,基于所述读取指令确定第一虚拟地址之前,还包括:

8.一种flash存储器,其特征在于,包括:

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述数据读取方法。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述数据读取方法。


技术总结
本发明提供一种数据读取方法、Flash存储器、设备及存储介质,涉及电数字数据处理技术领域,包括:响应于读取指令,确定第一虚拟地址;读取指令包括第一虚拟地址和第二虚拟地址,第一虚拟地址用于标识存储第一数据的第一存储阵列,第二虚拟地址用于标识存储第二数据的第二存储阵列;基于第一虚拟地址,获取第一数据;判断第一数据是否正确;若第一数据不正确,则基于读取指令确定第二虚拟地址;基于第二虚拟地址,获取并输出第二数据;第二数据为第一数据的备份数据,第一数据和第二数据存储于Flash存储器。通过上述方式,无需额外增加存储介质,可有效降低SoC集成场景下的存储成本。

技术研发人员:李炳坤,赵鑫鑫,姜凯,景伟,白志勇,李锐
受保护的技术使用者:山东浪潮科学研究院有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1150215.html

最新回复(0)