本申请涉及计算机,具体涉及一种错误注入方法、片上系统、计算机设备及存储介质。
背景技术:
1、当前,各计算机厂商为了提高片上系统的容错能力及可用性,提出ras(reliability availabilityserviceability,可靠性、可用性和可维护性)验证机制,具体的,在片上系统内各功能模块,比如外设类控制器或片上存储单元等检测可能出现的错误,并将错误按照预设上报路径上报至片上系统的处理器,由处理器修复相应功能模块的错误。通过ras机制可以及时发现片上系统在实际运行中出现的错误,进而调用相应的错误处理方法对错误进行处理,对于提高系统稳定性和可靠性具有重要意义。
2、而对于ras机制能否在实际应用中充分发挥其发现错误并上报处理错误的作用,通常是通过错误注入进行验证的,即在错误未真实发生的情况下,通过人为注入错误的方式,对ras机制能否正确响应处理错误进行验证。
3、发明人研究发现,现有的错误注入方法,注入错误的上报路径与实际应用中错误上报路径存在一定差异,导致难以对ras机制进行充分验证,验证结果的可靠性和准确性欠佳。
技术实现思路
1、有鉴于此,本申请致力于提供一种错误注入方法、片上系统、计算机设备及存储介质,在错误上报路径的源头注入错误,使得注入错误的错误上报路径与真实的错误上报路径一致,从而实现对ras机制的充分验证,提高验证结果的可靠性和准确性。
2、第一方面,本申请提供一种错误注入方法,应用于片上系统中的功能模块,所述功能模块用于实现所述片上系统的预设功能,所述方法包括:获取能够引起目标错误的目标数据;基于所述目标数据检测所述目标错误,并上报所述目标错误。
3、本申请提供的错误注入方法,应用于片上系统中的功能模块,功能模块首先获取能够引起目标错误的目标数据,然后基于目标数据检测目标错误,并上报目标错误,由此可见,与现有技术相比,本方法并未直接在错误上报路径中注入错误,而是注入能够引起目标错误的目标数据进而检测并上报目标错误,在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,进而实现对ras机制的充分验证,提高验证结果的可靠性和准确性。
4、在一种可能的实施方式中,本发明第一方面提供的错误注入方法还包括:获取所述目标错误的有效时长;上报所述目标错误,包括:在所述有效时长内持续上报所述目标错误。
5、在本申请中,目标错误在有效时长内持续上报,不仅可以满足现有应用中部分错误上报机制的实际要求,同时,还可以提高目标错误被处理器识别并予以响应的几率,更为充分的验证ras机制。
6、在一种可能的实施方式中,所述获取能够引起目标错误的目标数据,包括:获取所述目标错误的错误编号,所述错误编号用于指示能够引起所述目标错误的目标数据;基于所述目标数据检测所述目标错误,包括:处理所述错误编号指示的目标数据,并基于所述目标数据检测所述目标错误。
7、在本申请中,提供一种获取目标数据并基于目标数据检测目标错误的可选实现方式,通过为片上系统在实际运行中可能出现的错误进行编号,进而简化ras机制验证过程,进一步的,以注入错误编号的方式指示目标数据,有利于简化目标数据的管理和存储。
8、在一种可能的实施方式中,所述功能模块设置有第一注入寄存器;获取所述目标错误的错误编号,包括:获取所述第一注入寄存器中存储的所述目标错误的错误编号。
9、在本申请中,第一注入寄存器是片上系统内部处理器以及功能模块均可以直接访问的,因此,通过第一注入寄存器存储目标错误的错误编号,可以使得错误编号的配置和读取过程更为简洁,配置和读取错误编号的效率均可有效提高。
10、在一种可能的实施方式中,所述功能模块设置有第二注入寄存器;获取所述目标错误的有效时长,包括:获取所述第二注入寄存器中存储的所述目标错误的有效时长。
11、在本申请中,第二注入寄存器是片上系统内部处理器以及功能模块均可以直接访问的,因此,通过第二注入寄存器存储目标错误的有效时长,可以使得有效时长的配置和读取过程更为简洁,配置和读取有效时长的效率均可有效提高。
12、在一种可能的实施方式中,所述目标数据和所述有效时长由所述片上系统中的处理器配置。
13、在本申请中,目标数据和有效时长的配置由处理器完成,由于处理器和功能模块均设置于片上系统内,处理器和功能模块之间的通信效率极高,而且通信过程基本不会收到外界干扰,能够确保配置过程高效、安全的进行。
14、第二方面,本发明提供一种片上系统,包括:用于实现所述片上系统的预设功能的功能模块,且所述功能模块包括错误注入模块和错误检测模块,其中,所述错误注入模块用于注入能够引起目标错误的目标数据;所述错误检测模块用于基于所述目标数据检测所述目标错误,并上报所述目标错误。
15、在一种可能的实施方式中,所述错误注入模块还用于注入所述目标错误的有效时长;所述错误检测模块用于上报所述目标错误,包括:在所述有效时长内持续上报所述目标错误。
16、在一种可能的实施方式中,所述错误注入模块用于注入能够引起目标错误的目标数据,包括:注入所述目标错误的错误编号,所述错误编号用于指示能够引起所述目标错误的目标数据;所述错误检测模块用于基于所述目标数据检测所述目标错误,包括:处理所述错误编号指示的目标数据,并基于所述目标数据检测所述目标错误。
17、在一种可能的实施方式中,所述错误注入模块包括第一注入寄存器和第二注入寄存器,其中,所述第一注入寄存器用于存储所述错误编号;所述第二注入寄存器用于存储所述目标错误的有效时长。
18、第三方面,本发明提供一种计算机设备,包括如本发明第一方面任一项所述的片上系统。
19、第四方面,本发明提供一种计算机可读存储介质,包括:存储有计算机程序,所述计算机程序被执行时实现本发明第一方面任一项所述的错误注入方法。
1.一种错误注入方法,其特征在于,应用于片上系统中的功能模块,所述功能模块用于实现所述片上系统的预设功能,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,还包括:获取所述目标错误的有效时长;
3.根据权利要求1或2所述的方法,其特征在于,所述获取能够引起目标错误的目标数据,包括:
4.根据权利要求3所述的方法,其特征在于,所述功能模块设置有第一注入寄存器;
5.根据权利要求2所述的方法,其特征在于,所述功能模块设置有第二注入寄存器;
6.根据权利要求2所述的方法,其特征在于,所述目标数据和所述有效时长由所述片上系统中的处理器配置。
7.一种片上系统,其特征在于,包括:用于实现所述片上系统的预设功能的功能模块,且所述功能模块包括错误注入模块和错误检测模块,其中,
8.根据权利要求7所述的片上系统,其特征在于,所述错误注入模块还用于注入所述目标错误的有效时长;
9.根据权利要求8所述的片上系统,其特征在于,所述错误注入模块用于注入能够引起目标错误的目标数据,包括:
10.根据权利要求9所述的片上系统,其特征在于,所述错误注入模块包括第一注入寄存器和第二注入寄存器,其中,
11.一种计算机设备,其特征在于,包括如权利要求7至10任一项所述的片上系统。
12.一种计算机可读存储介质,其特征在于,包括:存储有计算机程序,所述计算机程序被执行时实现权利要求1至6任一项所述的错误注入方法。