一种多比特错误处理方法、装置、服务器及存储介质与流程
- 国知局
- 2024-07-31 19:20:29
本发明涉及数据存储,具体涉及一种多比特错误处理方法、装置、服务器及存储介质。
背景技术:
1、静态随机存取存储器(static random access memory,sram)是随机存取存储器的一种,具有掉电数据丢失的特性。静态随机存取存储器的代码段中存放有cpu需要读取的指令,这部分存储的内容至关重要,一旦这部分地址范围内的存储失效,将极大概率导致程序无法运行,进而影响服务器的安全性和稳定性。
2、在现有技术中,静态随机存取存储器中具有ecc(error checking andcorrecting,错误检查和纠正)功能,目前ecc能够实现单比特纠错,在一定程度上保证静态随机存取存储器内数据的安全性,但双比特及以上的错误会超出ecc的纠错能力,无法保证数据的安全性。
技术实现思路
1、有鉴于此,本发明提供了一种多比特错误处理方法、装置、服务器及存储介质,以解决存储器中出现多比特错误的问题。
2、第一方面,本发明提供了一种多比特错误处理方法,该方法包括:
3、当检测到cpu读取的指令发生多比特错误时,触发cpu中断,并再次读取当前指令;
4、对再次读取的当前指令进行校验,并判断是否校验失败;
5、若对再次读取的当前指令校验失败,则确定多比特错误发生的函数区域和错误次数;
6、基于多比特错误发生的函数区域和错误次数,对存储器进行重新编译,所述存储器用于存储所述当前指令;
7、将重新编译后存储器中的所述当前指令发送至cpu指令寄存器中,以使运行该指令。
8、本发明通过在检测到多比特错误时读取指令,对指令进行校验,以在发生多比特错误时确定发生多比特错误的函数区域和错误次数,并对存储器进行重新编译,以保证服务器正常运行,从而保证数据的安全性。
9、在一种可选的实施方式中,所述方法还包括:
10、当检测到cpu读取指令时,对读取的指令进行校验;
11、若校验结果为校验通过,则将读取的指令发送至cpu指令寄存器中;
12、若校验结果为单比特错误,则对单比特错误进行纠正,并将纠正后的指令发送至cpu指令寄存器中;
13、若校验结果为非单比特错误,则确定cpu读取的指令发生多比特错误。
14、本发明通过对读取的指令进行校验,以确定是否发生单比特错误,并在发生单比特错误时对单比特错误进行纠正,以避免单比特错误对服务器正常运行的影响,在非单比特错误时确定发生多比特错误,以便于对多比特错误进行处理。
15、在一种可选的实施方式中,所述确定多比特错误发生的函数区域和错误次数,包括:
16、获取预先设置好的地址及地址对应的函数区域之间的对应关系;
17、基于预先设置好的地址及地址对应的函数区域之间的对应关系以及多比特错误所在的地址,确定多比特错误发生的函数区域;
18、获取多比特错误发生的函数区域的已发生的历史错误次数,对所述历史错误次数进行更新,确定该函数区域多比特错误发生的错误次数。
19、本发明通过根据预先设置好的地址及地址对应的函数区域之间的对应关系,确定多比特错误所在地址对应的函数区域,以确定出发生多比特错误的函数区域,并根据对错误次数更新的结果,确定多比特错误的错误次数,以对多比特错误进行处理。
20、在一种可选的实施方式中,所述函数区域包括重要函数区域和非重要函数区域,按照如下方式确定预先设置好的地址及地址对应的函数区域之间的对应关系:
21、获取各个地址及地址对应的指令在cpu运行过程中的运行次数;
22、将运行次数大于预设运行次数阈值的指令对应的地址确定为重要函数区域;
23、将运行次数不大于预设运行次数阈值的指令对应的地址确定为非重要函数区域。
24、本发明通过将发生多比特错误的函数区域进行划分,根据指令在cpu运行过程中的运行次数划分为重要函数区域和非重要函数区域,以确定发生多比特错误的函数区域,从而对不同函数区域的多比特错误进行分别处理。
25、在一种可选的实施方式中,所述基于多比特错误发生的函数区域和错误次数,对存储器进行重新编译,包括:
26、判断多比特错误发生的函数区域是否为重要函数区域;
27、若多比特错误发生的函数区域为重要函数区域,判断所述错误次数是否大于错误阈值;
28、若所述错误次数不大于所述错误阈值,对存储器进行重新编译。
29、本发明通过多比特错误发生在重要函数区域,且错误次数不大于错误阈值时,对存储器进行重新编译,以保证存储器稳定运行,有效提高存储器的利用率。
30、在一种可选的实施方式中,所述方法还包括:
31、若所述错误次数大于所述错误阈值,则进行异常报警。
32、本发明在多比特错误发生在重要函数区域,且错误次数大于错误阈值时,生成异常信息,进行异常报警,以对相关人员进行提醒,以及时对异常情况进行处理。
33、在一种可选的实施方式中,所述对存储器进行重新编译,包括:
34、将发生多比特错误的地址确定为坏块区域;
35、将所述当前指令从发生多比特错误的地址开始之后的地址偏移至所述坏块区域之外。
36、本发明通过划分坏块区域,并将发生多比特错误之后的地址进行偏移,以使得偏移后的地址不在坏块区域内,以解决了现有技术中无法划分坏块的问题,有效提高存储器的利用率。
37、第二方面,本发明提供了一种多比特错误处理装置,该装置包括:
38、读取模块,用于当检测到cpu读取的指令发生多比特错误时,触发cpu中断,并再次读取当前指令;
39、第一判断模块,用于对再次读取的当前指令进行校验,并判断是否校验失败;
40、第一确定模块,用于若对再次读取的当前指令校验失败,则确定多比特错误发生的函数区域和错误次数;
41、编译模块,用于基于多比特错误发生的函数区域和错误次数,对存储器进行重新编译,所述存储器用于存储所述当前指令;
42、发送模块,用于将重新编译后存储器中的所述当前指令发送至cpu指令寄存器中,以使运行该指令。
43、第三方面,本发明提供了一种服务器,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的多比特错误处理方法。
44、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的多比特错误处理方法。
技术特征:1.一种多比特错误处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述确定多比特错误发生的函数区域和错误次数,包括:
4.根据权利要求3所述的方法,其特征在于,所述函数区域包括重要函数区域和非重要函数区域,按照如下方式确定预先设置好的地址及地址对应的函数区域之间的对应关系:
5.根据权利要求4所述的方法,其特征在于,所述基于多比特错误发生的函数区域和错误次数,对存储器进行重新编译,包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述对存储器进行重新编译,包括:
8.一种多比特错误处理装置,其特征在于,所述装置包括:
9.一种服务器,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的多比特错误处理方法。
技术总结本发明涉及数据存储领域,公开了一种多比特错误处理方法、装置、服务器及存储介质,该方法包括:当检测到CPU读取的指令发生多比特错误时,触发CPU中断,并再次读取当前指令;进行校验,并判断是否校验失败;若校验失败,则确定多比特错误发生的函数区域和错误次数;基于多比特错误发生的函数区域和错误次数,对存储器进行重新编译;将重新编译后存储器中的当前指令发送至CPU指令寄存器中,以使运行该指令,本发明通过在检测到多比特错误时读取指令,对指令进行校验,以确定多比特错误的函数区域和错误次数,并对存储器进行重新编译,以保证服务器正常运行,从而保证数据的安全性。技术研发人员:陈松,汤彩芸受保护的技术使用者:上海合芯数字科技有限公司技术研发日:技术公布日:2024/1/16本文地址:https://www.jishuxx.com/zhuanli/20240731/182337.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。