CN116991651B - 一种错误注入方法、片上系统、计算机设备及存储介质 - Google Patents

一种错误注入方法、片上系统、计算机设备及存储介质 Download PDF

Info

Publication number
CN116991651B
CN116991651B CN202311265052.7A CN202311265052A CN116991651B CN 116991651 B CN116991651 B CN 116991651B CN 202311265052 A CN202311265052 A CN 202311265052A CN 116991651 B CN116991651 B CN 116991651B
Authority
CN
China
Prior art keywords
error
target
reporting
chip
injection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311265052.7A
Other languages
English (en)
Other versions
CN116991651A (zh
Inventor
吴欢欢
赵清虎
朱青山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phytium Technology Co Ltd
Original Assignee
Phytium Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202311265052.7A priority Critical patent/CN116991651B/zh
Publication of CN116991651A publication Critical patent/CN116991651A/zh
Application granted granted Critical
Publication of CN116991651B publication Critical patent/CN116991651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Abstract

本申请提供一种错误注入方法、片上系统、计算机设备及存储介质,应用于计算机技术领域,本方法应用于片上系统中的功能模块,功能模块首先获取能够引起目标错误的目标数据,然后基于目标数据检测目标错误,并上报目标错误,由此可见,与现有技术相比,本方法并未直接在错误上报路径中注入错误,而是注入能够引起目标错误的目标数据进而检测并上报目标错误,在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,进而实现对RAS机制的充分验证,提高验证结果的可靠性和准确性。

Description

一种错误注入方法、片上系统、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及一种错误注入方法、片上系统、计算机设备及存储介质。
背景技术
当前,各计算机厂商为了提高片上系统的容错能力及可用性,提出RAS(Reliability AvailabilityServiceability,可靠性、可用性和可维护性)验证机制,具体的,在片上系统内各功能模块,比如外设类控制器或片上存储单元等检测可能出现的错误,并将错误按照预设上报路径上报至片上系统的处理器,由处理器修复相应功能模块的错误。通过RAS机制可以及时发现片上系统在实际运行中出现的错误,进而调用相应的错误处理方法对错误进行处理,对于提高系统稳定性和可靠性具有重要意义。
而对于RAS机制能否在实际应用中充分发挥其发现错误并上报处理错误的作用,通常是通过错误注入进行验证的,即在错误未真实发生的情况下,通过人为注入错误的方式,对RAS机制能否正确响应处理错误进行验证。
发明人研究发现,现有的错误注入方法,注入错误的上报路径与实际应用中错误上报路径存在一定差异,导致难以对RAS机制进行充分验证,验证结果的可靠性和准确性欠佳。
发明内容
有鉴于此,本申请致力于提供一种错误注入方法、片上系统、计算机设备及存储介质,在错误上报路径的源头注入错误,使得注入错误的错误上报路径与真实的错误上报路径一致,从而实现对RAS机制的充分验证,提高验证结果的可靠性和准确性。
第一方面,本申请提供一种错误注入方法,应用于片上系统中的功能模块,所述功能模块用于实现所述片上系统的预设功能,所述方法包括:获取能够引起目标错误的目标数据;基于所述目标数据检测所述目标错误,并上报所述目标错误。
本申请提供的错误注入方法,应用于片上系统中的功能模块,功能模块首先获取能够引起目标错误的目标数据,然后基于目标数据检测目标错误,并上报目标错误,由此可见,与现有技术相比,本方法并未直接在错误上报路径中注入错误,而是注入能够引起目标错误的目标数据进而检测并上报目标错误,在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,进而实现对RAS机制的充分验证,提高验证结果的可靠性和准确性。
在一种可能的实施方式中,本发明第一方面提供的错误注入方法还包括:获取所述目标错误的有效时长;上报所述目标错误,包括:在所述有效时长内持续上报所述目标错误。
在本申请中,目标错误在有效时长内持续上报,不仅可以满足现有应用中部分错误上报机制的实际要求,同时,还可以提高目标错误被处理器识别并予以响应的几率,更为充分的验证RAS机制。
在一种可能的实施方式中,所述获取能够引起目标错误的目标数据,包括:获取所述目标错误的错误编号,所述错误编号用于指示能够引起所述目标错误的目标数据;基于所述目标数据检测所述目标错误,包括:处理所述错误编号指示的目标数据,并基于所述目标数据检测所述目标错误。
在本申请中,提供一种获取目标数据并基于目标数据检测目标错误的可选实现方式,通过为片上系统在实际运行中可能出现的错误进行编号,进而简化RAS机制验证过程,进一步的,以注入错误编号的方式指示目标数据,有利于简化目标数据的管理和存储。
在一种可能的实施方式中,所述功能模块设置有第一注入寄存器;获取所述目标错误的错误编号,包括:获取所述第一注入寄存器中存储的所述目标错误的错误编号。
在本申请中,第一注入寄存器是片上系统内部处理器以及功能模块均可以直接访问的,因此,通过第一注入寄存器存储目标错误的错误编号,可以使得错误编号的配置和读取过程更为简洁,配置和读取错误编号的效率均可有效提高。
在一种可能的实施方式中,所述功能模块设置有第二注入寄存器;获取所述目标错误的有效时长,包括:获取所述第二注入寄存器中存储的所述目标错误的有效时长。
在本申请中,第二注入寄存器是片上系统内部处理器以及功能模块均可以直接访问的,因此,通过第二注入寄存器存储目标错误的有效时长,可以使得有效时长的配置和读取过程更为简洁,配置和读取有效时长的效率均可有效提高。
在一种可能的实施方式中,所述目标数据和所述有效时长由所述片上系统中的处理器配置。
在本申请中,目标数据和有效时长的配置由处理器完成,由于处理器和功能模块均设置于片上系统内,处理器和功能模块之间的通信效率极高,而且通信过程基本不会收到外界干扰,能够确保配置过程高效、安全的进行。
第二方面,本发明提供一种片上系统,包括:用于实现所述片上系统的预设功能的功能模块,且所述功能模块包括错误注入模块和错误检测模块,其中,所述错误注入模块用于注入能够引起目标错误的目标数据;所述错误检测模块用于基于所述目标数据检测所述目标错误,并上报所述目标错误。
在一种可能的实施方式中,所述错误注入模块还用于注入所述目标错误的有效时长;所述错误检测模块用于上报所述目标错误,包括:在所述有效时长内持续上报所述目标错误。
在一种可能的实施方式中,所述错误注入模块用于注入能够引起目标错误的目标数据,包括:注入所述目标错误的错误编号,所述错误编号用于指示能够引起所述目标错误的目标数据;所述错误检测模块用于基于所述目标数据检测所述目标错误,包括:处理所述错误编号指示的目标数据,并基于所述目标数据检测所述目标错误。
在一种可能的实施方式中,所述错误注入模块包括第一注入寄存器和第二注入寄存器,其中,所述第一注入寄存器用于存储所述错误编号;所述第二注入寄存器用于存储所述目标错误的有效时长。
第三方面,本发明提供一种计算机设备,包括如本发明第一方面任一项所述的片上系统。
第四方面,本发明提供一种计算机可读存储介质,包括:存储有计算机程序,所述计算机程序被执行时实现本发明第一方面任一项所述的错误注入方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术提供的一种片上系统的结构框图。
图2是本发明实施例提供的一种片上系统的结构框图。
图3是本发明实施例提供的一种错误注入方法的流程图。
图4是本发明实施例提供的另一种错误注入方法的流程图。
图5是本发明实施例提供的一种错误上报方法的流程图。
图6是本发明实施例提供的另一种错误上报方法的流程图。
图7是本发明实施例提供的再一种错误上报方法的流程图。
图8是本发明实施例提供的又一种错误上报方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前,各计算机厂商为了提高片上系统的容错能力及可用性,提出RAS(Reliability AvailabilityServiceability,可靠性、可用性和可维护性)验证机制。结合图1所示,片上系统设置有多个功能模块10(图中以功能模块1-功能模块n示出)、错误上报器20、中断控制器30以及处理器40。其中,各功能模块用于实现片上系统的预设功能,在实际应用中,可以基于所实现预设功能的不同定义不同的功能模块,比如外设类控制器、片上存储单元以及存储类控制器等。
在RAS机制中,各功能模块能够检测自身可能出现的错误,并将错误上报至错误上报器,由错误上报器上报至中断控制器,并进一步通过中断控制器上报处理器,最终由处理器修复相应功能模块的错误。通过RAS机制可以及时发现片上系统在实际运行中出现的错误,进而调用相应的错误处理方法对错误进行处理,对于提高系统稳定性和可靠性具有重要意义。
鉴于RAS机制的重要作用,有必要对于RAS机制能否在实际应用中充分发挥其发现错误并上报处理错误的作用进行验证。现有验证方法通常是通过错误注入进行验证的,即在错误未真实发生的情况下,通过人为注入错误的方式,对RAS机制能否正确响应处理错误进行验证。
结合图1所示,现有错误注入方法中,在未检测到错误的情况下,错误上报器响应于软件配置请求,向中端控制器上报表征发生某个错误的中断信号,并进一步通过中断控制器完成上述错误上报过程,发明人研究发现,现有的错误注入方法中,注入错误的上报路径与实际应用中错误上报路径存在一定差异,导致难以对RAS机制进行充分验证,验证结果的可靠性和准确性欠佳。
为解决上述技术问题,本发明提供一种片上系统,结合图2所示,本实施例提供的片上系统包括至少一个用于实现片上系统预设功能的功能模块10(图2中以功能模块1-功能模块n示出),在此基础上,本实施例提供的片上系统还包括错误上报器20、中断控制器30以及处理器40。其中,任意一个功能模块10中还设置有错误注入模块101和错误检测模块102,如图2所示,错误注入模块101与错误检测模块102相连,错误检测模块102与错误上报器20相连,错误上报器20与中断控制器30相连,中断控制器30则与处理器40相连。
基于上述片上系统构成,任一功能模块10中的错误注入模块101获取能够引起目标错误的目标数据,错误检测模块102基于目标数据对目标错误进行检测,并将目标错误上报至错误上报器20,进一步的,由错误上报器20将目标错误上报中断控制器30,通过中断控制器30上报处理器40,最终由处理器40对目标错误进行处理。
本申请提供的片上系统中,功能模块首先获取能够引起目标错误的目标数据,然后基于目标数据检测目标错误,并上报目标错误,由此可见,与现有技术相比,本方法并未直接在错误上报路径中注入错误,而是注入能够引起目标错误的目标数据进而检测并上报目标错误,在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,进而实现对RAS机制的充分验证,提高验证结果的可靠性和准确性。
进一步的,本发明提供一种错误注入方法,应用于本发明提供的片上系统中的功能模块,参见图3,本发明提供的错误注入方法的流程可以包括如下步骤。
S100、获取能够引起目标错误的目标数据。
在实际应用中,对于片上系统内的各个功能模块而言,其能够实现的预设功能是确定的,相应的,功能模块在实现相应预设功能时可能出现的错误往往也是可以预知的,现有技术针对片上系统设置RAS机制的初衷,就是为了及时发现功能模块运行中出现的错误,上报并消除错误,从而提高片上系统运行的稳定性。基于此,为了验证RAS机制的有效性,可以将功能模块可能出现的各种错误中的任意一种错误作为目标错误。当然,还可以将功能模块可能出现的各种错误分别作为目标错误,以遍历的方式对各种错误的上报过程予以验证。
与现有技术直接在错误上报器中注入错误结果的方式相比,本方法获取能够引起目标错误的目标数据,可以理解的是,不同的错误所对应的能够引起该错误的数据是不同的,在实际应用中,对于目标数据的选择需要结合具体的目标错误以及该目标错误的检测机制确定。比如,目标错误为校验错误,其检测逻辑为确定是否接收到正确的校验值,基于此,能够引起目标错误的目标数据则为一个错误的校验值。再比如,目标错误为请求的响应超时,其检测逻辑为判断是否收到表征响应超时的指示信息,此种情况下,能够引起该目标错误的目标数据应为表征响应超时的指示信息。当然,这一目标数据的注入,需要在该请求正常得到响应的情况下完成。
在一种可能的实施方式中,目标数据由片上系统内的处理器配置,即功能模块获取由处理器提供的目标数据。目标数据的配置由处理器完成,由于处理器和功能模块均设置于片上系统内,处理器和功能模块之间的通信效率极高,而且通信过程基本不会收到外界干扰,能够确保配置过程高效、安全的进行,并且,处理器配置目标数据还可以有针对性的对某种错误以及相应的错误检测机制进行验证。
在另一种可能的实施方式中,功能模块设置有第一注入寄存器,并且,处理器可以访问该第一注入寄存器,预先对功能模块可能出现的各错误进行编号,在处理器进行目标数据的注入时,向该第一注入寄存器中配置目标错误对应的错误编号。通过为片上系统在实际运行中可能出现的错误进行编号,进而简化RAS机制验证过程,进一步的,以注入错误编号的方式指示目标数据,有利于简化目标数据的管理和存储。
功能模块获取第一注入寄存器中存储的目标错误的错误编号,进而获取得到该错误编号所指示的能够引起目标错误的目标数据。通过第一注入寄存器存储目标错误的错误编号,可以使得错误编号的配置和读取过程更为简洁,配置和读取错误编号的效率均可有效提高。至于错误编号与能够引起错误的数据之间的对应关系,可基于相关技术建立,此处不再详述。
S110、基于目标数据检测目标错误,并上报目标错误。
结合图2所示,功能模块中设置有错误检测模块,RAS机制通过错误检测模块检测各功能模块运行过程中可能出现的错误,在处理错误注入模块提供的目标数据时,错误检测模块即基于目标数据检测目标错误,并将所得目标错误上报至错误上报器。目标错误的上报方式可根据片上系统的实际情况选择,可以是预设格式的脉冲信号,也可以是对应预设时长的电平信号。至于错误检测模块的具体实现,可基于相关技术实现,本发明对此不做限定。
综上所述,本实施例提供的错误注入方法,与现有技术相比,本方法通过注入能够引起目标错误的目标数据,检测并上报目标错误,在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,在未真实发生错误的情况下,最大程度模拟错误的产生以及上报,进而实现对RAS机制的充分验证,提高验证结果的可靠性和准确性。同时,还可以对处理器能够有效处理错误进行验证,对片上系统的容错性能进行评估。
在片上系统的前期验证阶段,还可以通过本发明提供的错误注入方法,对片上系统的错误上报路径是否正确、完善进行验证,减少硬件问题的遗漏,提高片上系统的验证效率。
进一步的,在图3所示实施例的基础上,本发明还提供另一种错误注入方法,其执行流程可参见图4所示。
S200、获取能够引起目标错误的目标数据以及目标错误的有效时长。
在一些错误上报场景中,要求目标错误在一定时长持续输出,即对目标错误的存续时长有相应的要求,为在满足这些实际需求的情况下实现错误注入,进而完成对于片上系统RAS机制的验证,本实施例在获取目标数据的同时,同步获取目标错误的有效时长。可以理解的是,有效时长的具体取值,需要结合片上系统以及系统内RAS机制的具体要求确定,本发明对此不做限定。
在一种可能的实施方式中,功能模块设置有第二注入寄存器,该寄存器用于存储目标错误的有效时长,功能模块读取第二注入寄存器中存储的数值,即可获取目标错误的有效时长。第二注入寄存器是片上系统内部处理器以及功能模块均可以直接访问的,因此,通过第二注入寄存器存储目标错误的有效时长,可以使得有效时长的配置和读取过程更为简洁,配置和读取有效时长的效率均可有效提高。
在一种可能的实施方式中,目标错误的有效时长基于功能模块的时钟周期设置,在此情况下,第二注入寄存器中具体存储时钟周期的周期数,由于时钟周期是固定的,根据第二注入寄存器存储的周期数就可以确定目标错误的有效时长。当然,还可以通过其他方式在第二注入寄存器中存储目标错误的有效时长,此处不再一一列举,在未超出本发明核心思想范围的前提下,同样属于本发明保护的范围内。
参照前述实施例,目标错误的有效时长同样可以由片上系统内的处理器配置,由于处理器和功能模块均设置于片上系统内,处理器和功能模块之间的通信效率极高,而且通信过程基本不会收到外界干扰,能够确保配置过程高效、安全的进行。
本实施例中目标数据的获取,可参照前述图3所示实施例的相关内容实现,此处不再复述。
S210、基于目标数据检测目标错误,并在有效时长内持续上报目标错误。
功能模块基于目标数据检测目标错误的具体实现,可参照前述内容实现,此处不再复述。
检测到目标错误之后,功能模块在有效时长内持续上报该目标错误,从而满足实际的错误上报需求。
综上所述,本实施例提供的错误注入方法,在前述实施例的基础上,目标错误在有效时长内持续上报,不仅可以满足现有应用中部分错误上报机制的实际要求,同时,还可以提高目标错误被处理器识别并予以响应的几率,更为充分的验证RAS机制。
进一步的,本发明还提供一种错误上报方法,应用于图2所示实施例提供的片上系统的错误上报器,参见图5所示,本实施例提供的错误上报方法包括如下步骤。
S300、获取目标错误。
在本实施例中,目标错误由上述任一实施例提供的片上系统中的任一功能模块上报,并且,该目标错误是相应功能模块基于能够引起目标错误的目标数据进行错误检测后得到的,至于功能模块上报目标错误的具体实现过程,可参见前述内容,此处不再复述。
在一种可能的实施方式中,错误上报器中设置有第二收集寄存器,错误上报器在得到目标错误后,在第二收集寄存器中记录所得目标错误,具体的,可以记录目标错误对应的错误编号,在此基础上,还可以记录检测到目标错误的持续时长以及检测到目标错误的次数中的至少一项。当然,结合实际的上报控制需求,还可以对目标错误的其他相关信息予以记录存储,比如错误是普通错误还是致命错误、错误是否可以修复以及错误的地址等信息,此处不再一一列举。
S310、将目标错误上报至中断控制器。
错误上报器收到目标错误后,将目标错误上报至中断控制器。
在一种可能的实施方式中,本实施例提供一种上报目标错误的具体实现方法,其执行流程可参见图6所示。
S3101、确定目标错误是否满足预设上报条件。
错误上报器判断目标错误是否满足预设上报条件,如果目标错误满足预设上报条件,则执行S3102,相反的,如果目标错误不满足预设上报条件,则暂不予以上报。
在一种可能的实施方式中,预设上报条件包括目标错误允许上报且目标错误满足有效判定条件,其中,有效判定条件包括检测到目标错误的次数达到预设次数阈值和检测到目标错误的持续时长达到预设时长阈值中的至少一项。当然,还可以结合实际的上报需求,设置其他预设上报条件,此处不再一一列举。
需要说明的是,在实际应用中,目标错误是否允许上报属于最高优先级的判定条件,即如果目标错误满足有效判定条件,但目标错误不允许上报,此种情况下,错误上报器是不会将目标错误上报的。
通过配置预设上报条件,还可以实现不同上报场景的模拟,使得测试过程可以更为全面、充分,同时,使得基于本申请提供的错误上报方法的RAS验证机制适用范围更广,满足不同的测试需求。而且,通过确定目标错误是否允许上报以及是否满足有效判定条件,可以对目标错误的上报过程予以控制,防止错误误报,与实际应用中的错误上报机制更为贴合,验证结果更为准确、可信。
在一种可能的实施方式中,错误上报器设置有第一收集寄存器,通过第一收集寄存器存储第一数值或第二数值,错误上报器在获取目标错误之后,读取第一收集器存储的数值,如果第一收集寄存器存储有第一数值,则确定目标错误允许上报,相应的,如果第一收集寄存器存储有第二数值,则确定目标错误禁止上报。通过第一收集寄存器的数值记录目标错误是否允许上报,记录方式简单,记录错误的几率低,而且,第一收集寄存器设置于错误上报器内部,第一收集寄存器所存储数据的读取过程更为高效。当然,还可以通过其他方式表征目标错误是否允许上报,此处不再一一列举,在未超出本发明核心思想范围的前提下,同样属于本发明保护的范围内。
在一种可能的实施方式中,上述第一收集寄存器中存储的数值由片上系统的处理器配置,即由处理器控制是否允许目标错误上报。在实际应用中,处理器可以根据自身运行状态以及当前的运行需求确定是否对目标错误进行处理,如果有资源或有必要处理目标错误,则配置第一收集寄存器存储第一数值;相反的,如果当前没有足够资源或者可以暂不处理目标错误,则配置第一收集寄存器存储第二数值。
第一收集寄存器的配置由处理器完成,不仅可以对目标错误的处理过程予以控制,能够更合理的调度系统资源,而且,由于处理器和功能模块均设置于片上系统内,处理器和功能模块以及错误上报器之间的通信效率极高,而且通信过程基本不会收到外界干扰,能够确保配置过程高效、安全的进行。
当然,处理器还可以配置前述内容述及的预设次数阈值和预设时长阈值,从而实现对于错误上报过程的精准控制。
S3102、在目标错误满足预设上报条件的情况下,将目标错误上报至中断控制器。
错误上报器将目标错误上报至中断控制器可以有多种实现方式,比如,可以采用向中断电平的方式向中断控制器上报目标错误,当然,可以采用更为复杂的报文形式将目标错误传输至中断控制器,总之,任何能够将目标错误上报至中断控制器的实现方式都是可选的,本发明对此不做具体限定。
错误上报器将目标错误上报至中断控制器之前判断目标错误是否满足预设上报条件,这一判断过程与实际应用中的错误上报过程是一致的,因此,可以更为真实的验证RAS机制的错误上报过程,确保验证结果的准确性和可靠性。
可以理解的是,中断控制器在收到目标错误之后,会进一步将目标错误上报至处理器,最终由处理器对目标错误进行处理。
综上所述,本申请提供的错误注入方法,功能模块基于能够引起目标错误的目标数据进行错误检测后输出目标错误,错误上报器获取该目标错误后,将目标错误上报至中断控制器,进而触发处理器处理目标错误。由此可见,本方法通过注入能够引起目标错误的目标数据进而检测并上报目标错误至处理器,能够对RAS机制中错误检测、上报以及处理的完整路径进行有效验证,确保RAS机制满足实际应用需求。
本方法在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,所得验证结果更为准确。
进一步的,本发明还提供另外一种错误上报方法,同样应用于图2所示实施例提供的片上系统的错误上报器,参见图7所示,本实施例提供的错误上报方法包括如下步骤。
S400、获取目标错误。
错误上报器获取目标错误的具体实现可参照图5所示实施例中S300的相关内容,此处不再复述。
S410、根据目标错误的上报优先级确定上报目标。
在实际应用中,根据不同的划分标准可以将功能模块上传的错误划分为不同类型,比如,根据错误的严重程度,可以分为普通错误和致命错误;根据错误是否可以纠正,可以分为可纠正错误和不可纠正错误等等,当然,还可以根据其他划分标准划分错误类型,此处不再详细展开。
基于上述内容可以想到的是,错误的类型不同,处理错误的紧迫性也是不同的,沿用前例,致命错误或不可纠正错误应得到更为及时、高效的处理,为此,本实施例提供的错误上报方法在得到目标错误之后,根据目标错误的上报优先级确定上报目标,其中,上报目标可以是片上系统中的处理器或中断控制器。
可以理解的是,如果上报目标是中断控制器,则错误上报器首先需要将错误上报至中断控制器,然后再由中断控制器将错误上报处理器,最终由处理器处理相应错误;如果上报目标是处理器,则错误上报器将直接将错误上报至处理器,由处理器对所得错误进行处理。根据上述两种错误处理过程可以看出,处理器作为上报目标的情况下,错误可以直接到达处理器并完成处理,而在中断控制器作为上报目标的情况下,错误的上报过程需要经过中断控制器的传递才能最终被处理器处理,显然,将处理器作为上报目标可以使得错误能够得到更为及时高效的处理,适用于处理紧迫性更高的错误,而将中断控制器作为上报目标则适用于处理紧迫性较低的错误。
基于上述内容,本实施例提供的错误上报方法将错误的上报优先级划分为两级,即第一优先级和第二优先级,且第一优先级错误的优先级高于第二优先级错误的优先级。基于此,如果目标错误为第一优先级错误,则将处理器确定为上报目标,相应的,如果目标错误为第二优先级错误,则将中断控制器确定为上报目标。通过将高优先级的错误直接上报处理器,可以确保该错误可以更为及时的被处理,能够提高高优先级错误的处理效率,而且,高优先级的错误被优先处理,有助于提高系统运行的稳定性。
S420、将目标错误上报至上报目标。
在确定上报目标之后,错误上报器将目标错误上报至上报目标。
在一种可能的实施方式中,本实施例提供一种上报目标错误的具体实现方法,其执行流程可参见图8所示。
S4201、确定目标错误是否满足预设上报条件。
错误上报器确定目标错误是否满足预设上报条件的具体实现可参照图6所示实施例中S3101的相关内容,此处不再复述。
S4202、在目标错误满足预设上报条件的情况下,将目标错误上报至上报目标。
错误上报器将目标错误上报至中断控制器的具体实现可参照图6所示实施例中S3102的相关内容,此处不再复述。如前所述,在上报目标为中断控制器的情况下,中断控制器需要将目标错误上报至处理器。在实际应用中,中断控制器可以通过发送中断消息的方式向处理器上报目标错误,此过程可参照相关技术实现,本发明对此不做限定。
错误上报器将目标错误上报至处理器的情况下,作为一种可选的实施方式,错误上报器可以向处理器发送目标错误的错误编号,处理器在得到目标错误的错误编号之后,访问错误上报器中与目标错误的错误编号对应的用于记录目标错误详细信息的寄存器,进而获得目标错误的全部信息,实现目标错误上报至处理器。当然,错误上报器还可以通过其他方式将目标错误上报至处理器,此处不再一一罗列,在未超出本发明核心思想范围的前提下,同样属于本发明保护的范围内。
综上所述,通过本实施例提供的错误上报方法,功能模块基于能够引起目标错误的目标数据进行错误检测后输出目标错误,错误上报器获取该目标错误后,根据目标错误的上报优先级确定上报目标并将目标错误上报至该上报目标,其中,上报目标包括处理器或所中断控制器。由此可见,本方法通过注入能够引起目标错误的目标数据进而检测并上报目标错误至处理器,能够对RAS机制中错误检测、上报以及处理的完整路径进行有效验证,确保RAS机制满足实际应用需求。
进一步的,还可以根据目标错误的上报优先级将目标错误上报至中断控制器或处理器,能够实现不同错误上报路径的验证,使得验证过程更为充分、全面。
再进一步的,本方法在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,所得验证结果更为准确。
结合图2所示以及上述内容,本发明提供的片上系统中,功能模块内的错误注入模块还用于获取目标错误的有效时长;错误检测模块用于上报目标错误,包括:在有效时长内持续上报目标错误。
可选的,错误注入模块用于注入能够引起目标错误的目标数据,包括:注入目标错误的错误编号,错误编号用于指示能够引起目标错误的目标数据;错误检测模块用于基于目标数据检测目标错误,包括:处理错误编号指示的目标数据,并基于目标数据检测目标错误。
可选的,错误注入模块包括第一注入寄存器和第二注入寄存器,其中,第一注入寄存器用于存储错误编号;第二注入寄存器用于存储目标错误的有效时长。
结合图2所示以及上述内容,本发明提供的片上系统中,错误上报器用于获取目标错误,并将目标错误上报至中断控制器;中断控制器用于触发处理器处理目标错误。
可选的,错误上报器用于将目标错误上报至中断控制器,包括:确定目标错误是否满足预设上报条件;若满足预设上报条件,将目标错误上报至中断控制器。
可选的,错误上报器包括第一收集寄存器和第二收集寄存器,其中,第一收集寄存器存储第一数值或第二数值,第一数值表征目标错误允许上报,第二数值表征目标错误禁止上报,第二收集寄存器用于记录目标错误的相关信息,包括但不限于目标错误的错误编号、是普通错误还是致命错误、是否可以修复以及错误地址。
结合图2所示以及上述内容,本发明提供的片上系统中,错误上报器还用于根据目标错误的上报优先级确定上报目标,并将目标错误上报至上报目标,上报目标包括处理器或中断控制器。
可选的,错误上报器根据目标错误的上报优先级确定上报目标,包括:若目标错误为第一优先级错误,确定处理器为上报目标;若目标错误为第二优先级错误,确定中断控制器为上报目标;其中,第一优先级错误的优先级高于第二优先级错误的优先级。
可选的,错误上报器用于将目标错误上报至上报目标,具体包括:确定目标错误是否满足预设上报条件;若满足预设上报条件,将目标错误上报至上报目标。
进一步的,本发明还提供一种计算机设备,包括如本发明上述任一实施例提供的片上系统。
在一些实施例中,本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(Secure Digital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个指令,这一个或者多个指令被一个或者多个处理器执行时,使得所述处理器执行前文描述的错误注入方法或任一错误上报方法。相关具体实现请参考前述描述,此处不过多赘述。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述内容中描述的根据本申请各种实施例的错误注入方法或错误上报方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。单元仅是说明性的,并且系统和方法的不同方面可以使用不同单元。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中。
本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过计算机程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
除非另有定义,这里使用的所有术语具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。

Claims (12)

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任一项所述的错误注入方法。
CN202311265052.7A 2023-09-28 2023-09-28 一种错误注入方法、片上系统、计算机设备及存储介质 Active CN116991651B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311265052.7A CN116991651B (zh) 2023-09-28 2023-09-28 一种错误注入方法、片上系统、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311265052.7A CN116991651B (zh) 2023-09-28 2023-09-28 一种错误注入方法、片上系统、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN116991651A CN116991651A (zh) 2023-11-03
CN116991651B true CN116991651B (zh) 2023-12-29

Family

ID=88523643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311265052.7A Active CN116991651B (zh) 2023-09-28 2023-09-28 一种错误注入方法、片上系统、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116991651B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881618A (zh) * 2014-12-31 2015-09-02 中国科学院深圳先进技术研究院 一种量化评估安全芯片安全性的方法及系统
CN108446196A (zh) * 2018-02-28 2018-08-24 郑州云海信息技术有限公司 验证服务器系统ras性能的方法及装置
CN116026095A (zh) * 2022-11-24 2023-04-28 海尔优家智能科技(北京)有限公司 故障类型的确定方法及装置、存储介质及电子装置
CN116662050A (zh) * 2023-05-06 2023-08-29 苏州浪潮智能科技有限公司 一种错误注入支持功能验证方法、装置、终端及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493523B2 (en) * 2006-03-14 2009-02-17 International Business Machines Corporation Method and apparatus for preventing soft error accumulation in register arrays
US9495233B2 (en) * 2011-12-21 2016-11-15 Intel Corporation Error framework for a microprocesor and system
US10324816B2 (en) * 2017-03-08 2019-06-18 International Business Machines Corporation Checking a computer processor design for soft error handling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881618A (zh) * 2014-12-31 2015-09-02 中国科学院深圳先进技术研究院 一种量化评估安全芯片安全性的方法及系统
CN108446196A (zh) * 2018-02-28 2018-08-24 郑州云海信息技术有限公司 验证服务器系统ras性能的方法及装置
CN116026095A (zh) * 2022-11-24 2023-04-28 海尔优家智能科技(北京)有限公司 故障类型的确定方法及装置、存储介质及电子装置
CN116662050A (zh) * 2023-05-06 2023-08-29 苏州浪潮智能科技有限公司 一种错误注入支持功能验证方法、装置、终端及介质

Also Published As

Publication number Publication date
CN116991651A (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US6609221B1 (en) Method and apparatus for inducing bus saturation during operational testing of busses using a pattern generator
US7565579B2 (en) Post (power on self test) debug system and method
US9665448B2 (en) Semiconductor integrated circuit
CN109254883B (zh) 一种片上存储器的调试装置及方法
CN112559267B (zh) 集成电路间总线i2c从机以及i2c控制器测试方法
CN116627877B (zh) 一种片上总线状态记录系统和记录方法
CN111078492A (zh) 一种SoC内部总线的状态监控系统及方法
US7484221B2 (en) Method and apparatus for logging the execution history of an operating system kernel
CN116991651B (zh) 一种错误注入方法、片上系统、计算机设备及存储介质
CN117076182B (zh) 一种错误上报方法、片上系统、计算机设备及存储介质
CN117076183B (zh) 一种错误上报方法、片上系统、计算机设备及存储介质
CN116663490A (zh) 一种异步存储芯片的验证方法、平台、装置及介质
CN114327981A (zh) 一种功能安全机制的安全校验系统、方法及装置
CN111596199B (zh) 一种测试芯片、集成电路测试方法及系统和检测设备
US10922023B2 (en) Method for accessing code SRAM and electronic device
CN111858136A (zh) 固态硬盘异常数据检测方法、系统、电子设备及存储介质
CN100561953C (zh) 一种记录诊断数据的方法
CN117236277B (zh) 用于检查寄存器的方法及装置、电子设备
US7496792B2 (en) Repeat digital message transmission between a microprocessor monitoring circuit and an analyzing tool
US7673121B2 (en) Circuit for monitoring a microprocessor and analysis tool and inputs/outputs thereof
CN114371683B (zh) 诊断仪的诊断功能验证方法、系统、存储介质及设备
CN113407408B (zh) 数据传输规则验证方法、装置、设备和存储介质
CN108681500B (zh) 具有事务记录能力的系统和事务记录方法
CN116560892A (zh) 一种外设接口的异常自诊断方法及系统
CN115831209A (zh) 一种兼容ram读写逻辑与ecc逻辑的功能验证装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant