CN117076182A - 一种错误上报方法、片上系统、计算机设备及存储介质 - Google Patents
一种错误上报方法、片上系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117076182A CN117076182A CN202311265049.5A CN202311265049A CN117076182A CN 117076182 A CN117076182 A CN 117076182A CN 202311265049 A CN202311265049 A CN 202311265049A CN 117076182 A CN117076182 A CN 117076182A
- Authority
- CN
- China
- Prior art keywords
- error
- target
- reporting
- priority
- processor
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000002347 injection Methods 0.000 claims description 50
- 239000007924 injection Substances 0.000 claims description 50
- 238000001514 detection method Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 41
- 230000007246 mechanism Effects 0.000 description 39
- 238000012795 verification Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 230000006854 communication Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种错误上报方法、片上系统、计算机设备及存储介质,应用于计算机技术领域,该方法应用于片上系统,该片上系统包括功能模块、错误上报器、中断控制器以及处理器,功能模块基于能够引起目标错误的目标数据进行错误检测后输出目标错误,错误上报器获取该目标错误后,根据目标错误的上报优先级确定上报目标并将目标错误上报至该上报目标,其中,上报目标包括处理器或所中断控制器,本方法通过注入能够引起目标错误的目标数据进而检测并上报目标错误至处理器,能够对RAS机制中错误检测、上报以及处理的完整路径进行有效验证,确保RAS机制满足实际应用需求。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种错误上报方法、片上系统、计算机设备及存储介质。
背景技术
当前,各计算机厂商为了提高片上系统的容错能力及可用性,提出RAS(Reliability AvailabilityServiceability,可靠性、可用性和可维护性)验证机制,具体的,在片上系统内各功能模块,比如外设类控制器或片上存储单元等采集可能出现的错误,并将错误按照预设上报路径上报至片上系统的处理器,由处理器修复相应功能模块的错误。
通过RAS机制可以及时发现片上系统在实际运行中出现的错误,进而调用相应的错误处理方法对错误进行处理,对于提高系统稳定性和可靠性具有重要意义。鉴于RAS机制在实际应用中的重要作用,如何对RAS机制的作用进行验证,并且确保验证过程与实际的错误上报过程一致,成为本领域技术人员亟待解决的技术问题之一。
发明内容
有鉴于此,本申请致力于提供一种错误上报方法、片上系统、计算机设备及存储介质,以注入能够引起错误的目标数据的方式实现错误注入,注入错误的上报路径与实际的错误上报路径一致,从而对RAS机制能否检测并上报该错误进行充分验证,确保RAS机制满足实际应用需求。
第一方面,本申请提供一种错误上报方法,应用于片上系统,所述片上系统包括:用于实现所述片上系统的预设功能的功能模块、错误上报器、中断控制器以及处理器,所述错误上报方法包括如下由所述错误上报器执行的步骤:获取目标错误,所述目标错误由所述功能模块基于能够引起所述目标错误的目标数据进行错误检测后得到;根据所述目标错误的上报优先级确定上报目标,所述上报目标包括所述处理器或所述中断控制器;将所述目标错误上报至所述上报目标。
基于上述内容,通过本申请提供的错误上报方法,应用于片上系统,该片上系统包括功能模块、错误上报器、中断控制器以及处理器,功能模块基于能够引起目标错误的目标数据进行错误检测后输出目标错误,错误上报器获取该目标错误后,根据目标错误的上报优先级确定上报目标并将目标错误上报至该上报目标,其中,上报目标包括处理器或所中断控制器。由此可见,本方法通过注入能够引起目标错误的目标数据进而检测并上报目标错误至处理器,能够对RAS机制中错误检测、上报以及处理的完整路径进行有效验证,确保RAS机制满足实际应用需求。
进一步的,还可以根据目标错误的上报优先级将目标错误上报至中断控制器或处理器,能够实现不同错误上报路径的验证,使得验证过程更为充分、全面。
再进一步的,本方法在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,所得验证结果更为准确。
在一种可能的实施方式中,根据所述目标错误的上报优先级确定上报目标,包括:若所述目标错误为第一优先级错误,确定所述处理器为上报目标;若所述目标错误为第二优先级错误,确定所述中断控制器为上报目标;其中,所述第一优先级错误的优先级高于所述第二优先级错误的优先级。
在本申请中,如果目标错误为第一优先级错误,则将其上报至处理器,如果目标错误为第二优先级错误,则将其上报至中断控制器,通过将高优先级的错误直接上报处理器,可以确保该错误可以更为及时的被处理,能够提高高优先级错误的处理效率,而且,高优先级的错误被优先处理,有助于提高系统运行的稳定性。
在一种可能的实施方式中,在所述错误上报器将所述目标错误上报至所述中断控制器的情况下,所述中断控制器用于将所述目标错误上报至所述处理器。
在本申请中,中断控制器作为上报目标,由中断控制器进一步将目标错误上报至处理器,可以确保所有错误均可以被处理器处理。同时,以中断控制器作为错误上报的中转,还可以有效减少处理器的负荷,有助于提高系统运行的稳定性。
在一种可能的实施方式中,将所述目标错误上报至所述上报目标,包括:确定所述目标错误是否满足预设上报条件;若满足所述预设上报条件,将所述目标错误上报至所述上报目标。
在本申请中,错误上报器将目标错误上报至上报目标之前判断目标错误是否满足预设上报条件,这一判断过程与实际应用中的错误上报过程是一致的,因此,可以更为真实的验证RAS机制的错误上报过程,确保验证结果的准确性和可靠性。
进一步的,通过配置预设上报条件,还可以实现不同上报场景的模拟,使得测试过程可以更为全面、充分,同时,使得基于本申请提供的错误上报方法的RAS验证机制适用范围更广,满足不同的测试需求。
在一种可能的实施方式中,所述预设上报条件包括所述目标错误允许上报且所述目标错误满足有效判定条件;其中,所述有效判定条件包括检测到所述目标错误的次数达到预设次数阈值和检测到所述目标错误的持续时长达到预设时长阈值中的至少一项。
在本申请中,具体限定预设上报条件的内容,通过确定目标错误是否允许上报以及是否满足有效判定条件,可以对目标错误的上报过程予以控制,防止错误误报,与实际应用中的错误上报机制更为贴合,验证结果更为准确、可信。
在一种可能的实施方式中,所述目标错误由所述功能模块获取所述目标错误的错误编号并基于所述错误编号指示的目标数据进行检测后得到。
在本申请中,提供一种获取目标数据并基于目标数据检测目标错误的可选实现方式,通过为片上系统在实际运行中可能出现的错误进行编号,进而简化RAS机制验证过程,进一步的,以注入错误编号的方式指示目标数据,有利于简化目标数据的管理和存储。
在一种可能的实施方式中,所述目标数据由所述处理器配置。
在本申请中,目标数据的配置由处理器完成,由于处理器和功能模块均设置于片上系统内,处理器和功能模块之间的通信效率极高,而且通信过程基本不会收到外界干扰,能够确保配置过程高效、安全的进行。
第二方面,本发明提供一种片上系统,包括:用于实现所述片上系统预设功能的功能模块、错误上报器、中断控制器以及处理器,其中,所述功能模块用于获取能够引起所述目标错误的目标数据,并基于所述目标数据检测所述目标错误;所述错误上报器用于根据所述目标错误的上报优先级确定上报目标,并将所述目标错误上报至所述上报目标,所述上报目标包括所述处理器或所述中断控制器。
在一种可能的实施方式中,所述错误上报器根据所述目标错误的上报优先级确定上报目标,包括:若所述目标错误为第一优先级错误,确定所述处理器为上报目标;若所述目标错误为第二优先级错误,确定所述中断控制器为上报目标;其中,所述第一优先级错误的优先级高于所述第二优先级错误的优先级。
在一种可能的实施方式中,所述功能模块包括错误注入模块和错误检测模块,其中,所述错误注入模块用于注入能够引起目标错误的目标数据;所述错误检测模块用于基于所述目标数据检测所述目标错误,并将所述目标错误上报至所述错误上报器。
第三方面,本发明提供一种计算机设备,包括如本发明第二方面任一项所述的片上系统。
第四方面,本发明提供一种计算机可读存储介质,包括:存储有计算机程序,所述计算机程序被执行时实现如本发明第一方面任一项所述的错误上报方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种片上系统的结构框图。
图2是本发明实施例提供的一种错误上报方法的流程图。
图3是本发明实施例提供的另一种错误上报方法的流程图。
图4是本发明实施例提供的再一种错误上报方法的流程图。
图5是本发明实施例提供的又一种错误上报方法的流程图。
图6是本发明实施例提供的一种错误注入方法的流程图。
图7是本发明实施例提供的另一种错误注入方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前,各计算机厂商为了提高片上系统的容错能力及可用性,提出RAS(Reliability AvailabilityServiceability,可靠性、可用性和可维护性)验证机制。具体的,片上系统设置有多个功能模块,其中,各功能模块用于实现片上系统的预设功能,在实际应用中,可以基于所实现预设功能的不同定义不同的功能模块,比如外设类控制器、片上存储单元以及存储类控制器等。在RAS机制中,各功能模块能够检测自身可能出现的错误,并将错误按照预设上报路径上报至处理器,最终由处理器修复相应功能模块的错误。通过RAS机制可以及时发现片上系统在实际运行中出现的错误,进而调用相应的错误处理方法对错误进行处理,对于提高系统稳定性和可靠性具有重要意义。
鉴于RAS机制的重要作用,如何对RAS机制能否在实际应用中充分发挥其发现错误并上报处理错误的作用进行验证,并且验证过程与实际的错误上报过程一致,以确保其能够满足片上系统的实际应用需求,成为本领域技术人员亟待解决的技术问题。
为解决上述技术问题,本发明提供一种片上系统,结合图1所示,本实施例提供的片上系统包括至少一个用于实现片上系统预设功能的功能模块10(图1中以功能模块1-功能模块n示出)、错误上报器20、中断控制器30以及处理器40。其中,任意一个功能模块10中还设置有错误注入模块101和错误检测模块102,错误注入模块101与错误检测模块102相连,错误检测模块102与错误上报器20相连,错误上报器20与中断控制器30相连,中断控制器30则与处理器40相连。
基于上述片上系统构成,任一功能模块10中的错误注入模块101注入能够引起目标错误的目标数据,错误检测模块102基于目标数据对目标错误进行检测,并将目标错误上报至错误上报器20,进一步的,由错误上报器20将目标错误上报中断控制器30,通过中断控制器30上报处理器40,触发处理器40对目标错误进行处理。
本申请提供的片上系统中,功能模块基于能够引起目标错误的目标数据进行错误检测后输出目标错误,错误上报器获取该目标错误后,将目标错误上报至中断控制器,进而触发处理器处理目标错误,通过注入能够引起目标错误的目标数据进而检测并上报目标错误至处理器,能够对RAS机制中错误检测、上报以及处理的完整路径进行有效验证,确保RAS机制满足实际应用需求。进一步的,在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,所得验证结果更为准确。
进一步的,本发明还提供一种错误上报方法,应用于图1所示实施例提供的片上系统中的错误上报器,参见图2所示,本实施例提供的错误上报方法包括如下步骤。
S100、获取目标错误。
在本申请提供的错误上报方法中,目标错误由片上系统中的任一功能模块上报,并且,该目标错误是相应功能模块基于能够引起目标错误的目标数据进行错误检测后得到的,至于功能模块上报目标错误的具体实现过程,将在后续内容中详细展开,此处暂不详述。
在一种可能的实施方式中,错误上报器中设置有第二收集寄存器,错误上报器在得到目标错误后,在第二收集寄存器中记录所得目标错误,具体的,可以记录目标错误对应的错误编号,在此基础上,还可以记录检测到目标错误的持续时长以及检测到目标错误的次数中的至少一项。当然,结合实际的上报控制需求,还可以对目标错误的其他相关信息予以记录存储,比如错误是普通错误还是致命错误、错误是否可以修复以及错误的地址等信息,此处不再一一列举。
S110、将目标错误上报至中断控制器。
错误上报器收到目标错误后,将目标错误上报至中断控制器。
在一种可能的实施方式中,本实施例提供一种上报目标错误的具体实现方法,其执行流程可参见图3所示。
S1101、确定目标错误是否满足预设上报条件。
错误上报器判断目标错误是否满足预设上报条件,如果目标错误满足预设上报条件,则执行S1102,相反的,如果目标错误不满足预设上报条件,则暂不予以上报。
在一种可能的实施方式中,预设上报条件包括目标错误允许上报且目标错误满足有效判定条件,其中,有效判定条件包括检测到目标错误的次数达到预设次数阈值和检测到目标错误的持续时长达到预设时长阈值中的至少一项。当然,还可以结合实际的上报需求,设置其他预设上报条件,此处不再一一列举。
需要说明的是,在实际应用中,目标错误是否允许上报属于最高优先级的判定条件,即如果目标错误满足有效判定条件,但目标错误不允许上报,此种情况下,错误上报器是不会将目标错误上报的。
通过配置预设上报条件,还可以实现不同上报场景的模拟,使得测试过程可以更为全面、充分,同时,使得基于本申请提供的错误上报方法的RAS验证机制适用范围更广,满足不同的测试需求。而且,通过确定目标错误是否允许上报以及是否满足有效判定条件,可以对目标错误的上报过程予以控制,防止错误误报,与实际应用中的错误上报机制更为贴合,验证结果更为准确、可信。
在一种可能的实施方式中,错误上报器设置有第一收集寄存器,通过第一收集寄存器存储第一数值或第二数值,错误上报器在获取目标错误之后,读取第一收集器存储的数值,如果第一收集寄存器存储有第一数值,则确定目标错误允许上报,相应的,如果第一收集寄存器存储有第二数值,则确定目标错误禁止上报。通过第一收集寄存器的数值记录目标错误是否允许上报,记录方式简单,记录错误的几率低,而且,第一收集寄存器设置于错误上报器内部,第一收集寄存器所存储数据的读取过程更为高效。当然,还可以通过其他方式表征目标错误是否允许上报,此处不再一一列举,在未超出本发明核心思想范围的前提下,同样属于本发明保护的范围内。
在一种可能的实施方式中,上述第一收集寄存器中存储的数值由片上系统的处理器配置,即由处理器控制是否允许目标错误上报。在实际应用中,处理器可以根据自身运行状态以及当前的运行需求确定是否对目标错误进行处理,如果有资源或有必要处理目标错误,则配置第一收集寄存器存储第一数值;相反的,如果当前没有足够资源或者可以暂不处理目标错误,则配置第一收集寄存器存储第二数值。
第一收集寄存器的配置由处理器完成,不仅可以对目标错误的处理过程予以控制,能够更合理的调度系统资源,而且,由于处理器和功能模块均设置于片上系统内,处理器和功能模块以及错误上报器之间的通信效率极高,而且通信过程基本不会收到外界干扰,能够确保配置过程高效、安全的进行。
当然,处理器还可以配置前述内容述及的预设次数阈值和预设时长阈值,从而实现对于错误上报过程的精准控制。
S1102、在目标错误满足预设上报条件的情况下,将目标错误上报至中断控制器。
错误上报器将目标错误上报至中断控制器可以有多种实现方式,比如,可以采用中断电平的方式向中断控制器上报目标错误,当然,还可以采用更为复杂的报文形式将目标错误传输至中断控制器,总之,任何能够将目标错误上报至中断控制器的实现方式都是可选的,本发明对此不做具体限定。
错误上报器将目标错误上报至中断控制器之前判断目标错误是否满足预设上报条件,这一判断过程与实际应用中的错误上报过程一致,因此,可以更为真实的验证RAS机制的错误上报过程,确保验证结果的准确性和可靠性。
可以理解的是,中断控制器在收到目标错误之后,会进一步将目标错误上报至处理器,最终由处理器对目标错误进行处理。
综上所述,本申请提供的错误注入方法,功能模块基于能够引起目标错误的目标数据进行错误检测后输出目标错误,错误上报器获取该目标错误后,将目标错误上报至中断控制器,进而触发处理器处理目标错误。由此可见,本方法通过注入能够引起目标错误的目标数据进而检测并上报目标错误至处理器,能够对RAS机制中错误检测、上报以及处理的完整路径进行有效验证,确保RAS机制满足实际应用需求。
本方法在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,所得验证结果更为准确。
进一步的,本发明还提供另外一种错误上报方法,同样应用于图1所示实施例提供的片上系统的错误上报器,参见图4所示,本实施例提供的错误上报方法包括如下步骤。
S200、获取目标错误。
错误上报器获取目标错误的具体实现可参照图2所示实施例中S100的相关内容,此处不再复述。
S210、根据目标错误的上报优先级确定上报目标。
在实际应用中,根据不同的划分标准可以将功能模块上传的错误划分为不同类型,比如,根据错误的严重程度,可以分为普通错误和致命错误;根据错误是否可以纠正,可以分为可纠正错误和不可纠正错误等等,当然,还可以根据其他划分标准划分错误类型,此处不再详细展开。
基于上述内容可以想到的是,错误的类型不同,处理错误的紧迫性也是不同的,沿用前例,致命错误或不可纠正错误应得到更为及时、高效的处理,为此,本实施例提供的错误上报方法在得到目标错误之后,根据目标错误的上报优先级确定上报目标,其中,上报目标可以是片上系统中的处理器或中断控制器。
可以理解的是,如果上报目标是中断控制器,则错误上报器首先需要将错误上报至中断控制器,然后再由中断控制器将错误上报处理器,最终由处理器处理相应错误;如果上报目标是处理器,则错误上报器将直接将错误上报至处理器,由处理器对所得错误进行处理。根据上述两种错误处理过程可以看出,处理器作为上报目标的情况下,错误可以直接到达处理器并完成处理,而在中断控制器作为上报目标的情况下,错误的上报过程需要经过中断控制器的传递才能最终被处理器处理,显然,将处理器作为上报目标可以使得错误能够得到更为及时高效的处理,适用于处理紧迫性更高的错误,而将中断控制器作为上报目标则适用于处理紧迫性较低的错误。
基于上述内容,本实施例提供的错误上报方法将错误的上报优先级划分为两级,即第一优先级和第二优先级,且第一优先级错误的优先级高于第二优先级错误的优先级。基于此,如果目标错误为第一优先级错误,则将处理器确定为上报目标,相应的,如果目标错误为第二优先级错误,则将中断控制器确定为上报目标。通过将高优先级的错误直接上报处理器,可以确保该错误可以更为及时的被处理,能够提高高优先级错误的处理效率,而且,高优先级的错误被优先处理,有助于提高系统运行的稳定性。
S220、将目标错误上报至上报目标。
在确定上报目标之后,错误上报器将目标错误上报至上报目标。
在一种可能的实施方式中,本实施例提供一种上报目标错误的具体实现方法,其执行流程可参见图5所示。
S2201、确定目标错误是否满足预设上报条件。
错误上报器确定目标错误是否满足预设上报条件的具体实现可参照图3所示实施例中S1101的相关内容,此处不再复述。
S2202、在目标错误满足预设上报条件的情况下,将目标错误上报至上报目标。
错误上报器将目标错误上报至中断控制器的具体实现可参照图3所示实施例中S1102的相关内容,此处不再复述。如前所述,在上报目标为中断控制器的情况下,中断控制器需要将目标错误上报至处理器。在实际应用中,中断控制器可以通过发送中断消息的方式向处理器上报目标错误,此过程可参照相关技术实现,本发明对此不做限定。
错误上报器将目标错误上报至处理器的情况下,作为一种可选的实施方式,错误上报器可以向处理器发送目标错误的错误编号,处理器在得到目标错误的错误编号之后,访问错误上报器中与目标错误的错误编号对应的、用于记录目标错误详细信息的寄存器,进而获得目标错误的全部信息,实现目标错误上报至处理器。当然,错误上报器还可以通过其他方式将目标错误上报至处理器,此处不再一一罗列,在未超出本发明核心思想范围的前提下,同样属于本发明保护的范围内。
综上所述,通过本实施例提供的错误上报方法,功能模块基于能够引起目标错误的目标数据进行错误检测后输出目标错误,错误上报器获取该目标错误后,根据目标错误的上报优先级确定上报目标并将目标错误上报至该上报目标,其中,上报目标包括处理器或所中断控制器。由此可见,本方法通过注入能够引起目标错误的目标数据进而检测并上报目标错误至处理器,能够对RAS机制中错误检测、上报以及处理的完整路径进行有效验证,确保RAS机制满足实际应用需求。
进一步的,还可以根据目标错误的上报优先级将目标错误上报至中断控制器或处理器,能够实现不同错误上报路径的验证,使得验证过程更为充分、全面。
再进一步的,本方法在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,所得验证结果更为准确。
下面介绍本发明提供的错误注入方法,本发明提供的错误注入方法应用于图1所示的片上系统中的功能模块,通过本方法可以实现目标错误的注入,参见图6,本发明提供的错误注入方法的流程可以包括如下步骤。
S300、获取能够引起目标错误的目标数据。
在实际应用中,对于片上系统内的各个功能模块而言,其能够实现的预设功能是确定的,相应的,功能模块在实现相应预设功能时可能出现的错误往往也是可以预知的,现有技术针对片上系统设置RAS机制的初衷,就是为了及时发现功能模块运行中出现的错误,上报并消除错误,从而提高片上系统运行的稳定性。基于此,为了验证RAS机制的有效性,可以将功能模块可能出现的各种错误中的任意一种错误作为目标错误。当然,还可以将功能模块可能出现的各种错误分别作为目标错误,以遍历的方式对各种错误的上报过程予以验证。
与现有技术相比,本方法获取能够引起目标错误的目标数据,可以理解的是,不同的错误所对应的能够引起该错误的数据是不同的,在实际应用中,对于目标数据的选择需要结合具体的目标错误以及该目标错误的检测机制确定。比如,目标错误为校验错误,其检测逻辑为确定是否接收到正确的校验值,基于此,能够引起目标错误的目标数据则为一个错误的校验值。再比如,目标错误为请求的响应超时,其检测逻辑为判断是否收到表征响应超时的指示信息,此种情况下,能够引起该目标错误的目标数据应为表征响应超时的指示信息。当然,这一目标数据的注入,需要在该请求正常得到响应的情况下完成。
在一种可能的实施方式中,目标数据由片上系统内的处理器配置,即功能模块获取由处理器提供的目标数据。目标数据的配置由处理器完成,由于处理器和功能模块均设置于片上系统内,处理器和功能模块之间的通信效率极高,而且通信过程基本不会收到外界干扰,能够确保配置过程高效、安全的进行,并且,处理器配置目标数据还可以有针对性的对某种错误以及相应的错误检测机制进行验证。
在另一种可能的实施方式中,功能模块设置有第一注入寄存器,并且,处理器可以访问该第一注入寄存器,预先对功能模块可能出现的各错误进行编号,在处理器进行目标数据的注入时,向该第一注入寄存器中配置目标错误对应的错误编号。通过为片上系统在实际运行中可能出现的错误进行编号,进而简化RAS机制验证过程,进一步的,以注入错误编号的方式指示目标数据,有利于简化目标数据的管理和存储。
功能模块获取第一注入寄存器中存储的目标错误的错误编号,进而获取得到该错误编号所指示的能够引起目标错误的目标数据。通过第一注入寄存器存储目标错误的错误编号,可以使得错误编号的配置和读取过程更为简洁,配置和读取错误编号的效率均可有效提高。至于错误编号与能够引起错误的数据之间的对应关系,可基于相关技术建立,此处不再详述。
S310、基于目标数据检测目标错误,并上报目标错误。
结合图1所示,功能模块中设置有错误检测模块,RAS机制通过错误检测模块检测各功能模块运行过程中可能出现的错误,在处理错误注入模块提供的目标数据时,错误检测模块即基于目标数据检测目标错误,并将所得目标错误上报至错误上报器。目标错误的上报方式可根据片上系统的实际情况选择,可以是预设格式的脉冲信号,也可以是对应预设时长的电平信号。至于错误检测模块的具体实现,可基于相关技术实现,本发明对此不做限定。
综上所述,本实施例提供的错误注入方法,与现有技术相比,本方法通过注入能够引起目标错误的目标数据,检测并上报目标错误,在错误上报路径的源头实现错误注入,使得注入错误的上报路径,与真实情况下的错误上报路径一致,在未真实发生错误的情况下,最大程度模拟错误的产生以及上报,进而实现对RAS机制的充分验证,提高验证结果的可靠性和准确性。同时,还可以对处理器能够有效处理错误进行验证,对片上系统的容错性能进行评估。
在片上系统的前期验证阶段,还可以通过本发明提供的错误注入方法,对片上系统的错误上报路径是否正确、完善进行验证,减少硬件问题的遗漏,提高片上系统的验证效率。
进一步的,在图6所示实施例的基础上,本发明还提供另一种错误注入方法,其执行流程可参见图7所示。
S400、获取能够引起目标错误的目标数据以及目标错误的有效时长。
在一些错误上报场景中,要求目标错误在一定时长持续输出,即对目标错误的存续时长有相应的要求,为在满足这些实际需求的情况下实现错误注入,进而完成对于片上系统RAS机制的验证,本实施例在获取目标数据的同时,同步获取目标错误的有效时长。可以理解的是,有效时长的具体取值,需要结合片上系统以及系统内RAS机制的具体要求确定,本发明对此不做限定。
在一种可能的实施方式中,功能模块设置有第二注入寄存器,该寄存器用于存储目标错误的有效时长,功能模块读取第二注入寄存器中存储的数值,即可获取目标错误的有效时长。第二注入寄存器是片上系统内部处理器以及功能模块均可以直接访问的,因此,通过第二注入寄存器存储目标错误的有效时长,可以使得有效时长的配置和读取过程更为简洁,配置和读取有效时长的效率均可有效提高。
在一种可能的实施方式中,目标错误的有效时长基于功能模块的时钟周期设置,在此情况下,第二注入寄存器中具体存储时钟周期的周期数,由于时钟周期是固定的,根据第二注入寄存器存储的周期数就可以确定目标错误的有效时长。当然,还可以通过其他方式在第二注入寄存器中存储目标错误的有效时长,此处不再一一列举,在未超出本发明核心思想范围的前提下,同样属于本发明保护的范围内。
参照前述实施例,目标错误的有效时长同样可以由片上系统内的处理器配置,由于处理器和功能模块均设置于片上系统内,处理器和功能模块之间的通信效率极高,而且通信过程基本不会收到外界干扰,能够确保配置过程高效、安全的进行。
本实施例中目标数据的获取,可参照前述图3所示实施例的相关内容实现,此处不再复述。
S410、基于目标数据检测目标错误,并在有效时长内持续上报目标错误。
功能模块基于目标数据检测目标错误的具体实现,可参照前述内容实现,此处不再复述。
检测到目标错误之后,功能模块在有效时长内持续上报该目标错误,从而满足实际的错误上报需求。
综上所述,本实施例提供的错误注入方法,在前述实施例的基础上,目标错误在有效时长内持续上报,不仅可以满足现有应用中部分错误上报机制的实际要求,同时,还可以提高目标错误被处理器识别并予以响应的几率,更为充分的验证RAS机制。
结合图1所示以及上述内容,本发明提供的片上系统包括:用于实现片上系统预设功能的功能模块、错误上报器、中断控制器以及处理器,其中,功能模块用于获取能够引起目标错误的目标数据,并基于目标数据检测目标错误;错误上报器用于根据目标错误的上报优先级确定上报目标,并将目标错误上报至上报目标,上报目标包括处理器或中断控制器。
可选的,错误上报器还用于根据目标错误的上报优先级确定上报目标,并将目标错误上报至上报目标,上报目标包括处理器或中断控制器。
可选的,错误上报器根据目标错误的上报优先级确定上报目标,包括:若目标错误为第一优先级错误,确定处理器为上报目标;若目标错误为第二优先级错误,确定中断控制器为上报目标;其中,第一优先级错误的优先级高于第二优先级错误的优先级。
可选的,错误上报器用于将目标错误上报至上报目标,具体包括:确定目标错误是否满足预设上报条件;若满足预设上报条件,将目标错误上报至上报目标。
进一步的,结合图1所示以及上述内容,本发明提供的片上系统中,错误上报器用于将目标错误上报至中断控制器时,具体包括:确定目标错误是否满足预设上报条件;若满足预设上报条件,将目标错误上报至中断控制器。
可选的,错误上报器包括第一收集寄存器和第二收集寄存器,其中,第一收集寄存器存储第一数值或第二数值,第一数值表征目标错误允许上报,第二数值表征目标错误禁止上报,第二收集寄存器用于记录目标错误的相关信息,包括但不限于目标错误的错误编号、是普通错误还是致命错误、是否可以修复以及错误地址。
结合图1所示以及上述内容,本发明提供的片上系统中,功能模块内的错误注入模块还用于获取目标错误的有效时长;错误检测模块用于上报目标错误,包括:在有效时长内持续上报目标错误。
可选的,功能模块包括错误注入模块和错误检测模块,其中,错误注入模块用于注入能够引起目标错误的目标数据;错误检测模块用于基于目标数据检测目标错误,并将目标错误上报至错误上报器。
可选的,错误注入模块用于注入能够引起目标错误的目标数据,包括:注入目标错误的错误编号,错误编号用于指示能够引起目标错误的目标数据;错误检测模块用于基于目标数据检测目标错误,包括:处理错误编号指示的目标数据,并基于目标数据检测目标错误。
可选的,错误注入模块包括第一注入寄存器和第二注入寄存器,其中,第一注入寄存器用于存储错误编号;第二注入寄存器用于存储目标错误的有效时长。
在一些实施例中,本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(Secure Digital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个指令,这一个或者多个指令被一个或者多个处理器执行时,使得所述处理器执行前文描述的错误上报方法。相关具体实现请参考前述描述,此处不过多赘述。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述内容中描述的根据本申请各种实施例的错误上报方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。单元仅是说明性的,并且系统和方法的不同方面可以使用不同单元。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中。
本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过计算机程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
除非另有定义,这里使用的所有术语具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。
Claims (12)
1.一种错误上报方法,其特征在于,应用于片上系统,所述片上系统包括:用于实现所述片上系统的预设功能的功能模块、错误上报器、中断控制器以及处理器,所述错误上报方法包括如下由所述错误上报器执行的步骤:
获取目标错误,所述目标错误由所述功能模块基于能够引起所述目标错误的目标数据进行错误检测后得到;
根据所述目标错误的上报优先级确定上报目标,所述上报目标包括所述处理器或所述中断控制器;
将所述目标错误上报至所述上报目标。
2.根据权利要求1所述的方法,其特征在于,根据所述目标错误的上报优先级确定上报目标,包括:
若所述目标错误为第一优先级错误,确定所述处理器为上报目标;
若所述目标错误为第二优先级错误,确定所述中断控制器为上报目标;
其中,所述第一优先级错误的优先级高于所述第二优先级错误的优先级。
3.根据权利要求2所述的方法,其特征在于,在所述错误上报器将所述目标错误上报至所述中断控制器的情况下,所述中断控制器用于将所述目标错误上报至所述处理器。
4.根据权利要求1所述的方法,其特征在于,将所述目标错误上报至所述上报目标,包括:
确定所述目标错误是否满足预设上报条件;
若满足所述预设上报条件,将所述目标错误上报至所述上报目标。
5.根据权利要求4所述的方法,其特征在于,所述预设上报条件包括所述目标错误允许上报且所述目标错误满足有效判定条件;
其中,所述有效判定条件包括检测到所述目标错误的次数达到预设次数阈值和检测到所述目标错误的持续时长达到预设时长阈值中的至少一项。
6.根据权利要求1所述的方法,其特征在于,所述目标错误由所述功能模块获取所述目标错误的错误编号并基于所述错误编号指示的目标数据进行检测后得到。
7.根据权利要求1所述的方法,其特征在于,所述目标数据由所述处理器配置。
8.一种片上系统,其特征在于,包括:用于实现所述片上系统预设功能的功能模块、错误上报器、中断控制器以及处理器,其中,
所述功能模块用于获取能够引起目标错误的目标数据,并基于所述目标数据检测所述目标错误;
所述错误上报器用于根据所述目标错误的上报优先级确定上报目标,并将所述目标错误上报至所述上报目标,所述上报目标包括所述处理器或所述中断控制器。
9.根据权利要求8所述的片上系统,其特征在于,所述错误上报器根据所述目标错误的上报优先级确定上报目标,包括:
若所述目标错误为第一优先级错误,确定所述处理器为上报目标;
若所述目标错误为第二优先级错误,确定所述中断控制器为上报目标;
其中,所述第一优先级错误的优先级高于所述第二优先级错误的优先级。
10.根据权利要求9所述的片上系统,其特征在于,所述功能模块包括错误注入模块和错误检测模块,其中,
所述错误注入模块用于注入能够引起目标错误的目标数据;
所述错误检测模块用于基于所述目标数据检测所述目标错误,并将所述目标错误上报至所述错误上报器。
11.一种计算机设备,其特征在于,包括如权利要求8至10任一项所述的片上系统。
12.一种计算机可读存储介质,其特征在于,包括:存储有计算机程序,所述计算机程序被执行时实现权利要求1至7任一项所述的错误上报方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311265049.5A CN117076182B (zh) | 2023-09-28 | 2023-09-28 | 一种错误上报方法、片上系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311265049.5A CN117076182B (zh) | 2023-09-28 | 2023-09-28 | 一种错误上报方法、片上系统、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117076182A true CN117076182A (zh) | 2023-11-17 |
CN117076182B CN117076182B (zh) | 2024-01-19 |
Family
ID=88706267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311265049.5A Active CN117076182B (zh) | 2023-09-28 | 2023-09-28 | 一种错误上报方法、片上系统、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076182B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140019814A1 (en) * | 2011-12-21 | 2014-01-16 | Cameron McNairy | Error framework for a microprocesor and system |
CN108446196A (zh) * | 2018-02-28 | 2018-08-24 | 郑州云海信息技术有限公司 | 验证服务器系统ras性能的方法及装置 |
CN109213615A (zh) * | 2017-06-30 | 2019-01-15 | 联想(北京)有限公司 | 一种错误事件处理方法及电子设备 |
CN111209129A (zh) * | 2019-12-27 | 2020-05-29 | 曙光信息产业股份有限公司 | 基于amd平台的内存优化方法和装置 |
CN112291087A (zh) * | 2020-10-19 | 2021-01-29 | 盛科网络(苏州)有限公司 | Oam错误状态上报的实现方法和装置 |
CN113190401A (zh) * | 2021-04-19 | 2021-07-30 | Oppo广东移动通信有限公司 | 快游戏的异常监控方法、电子设备、移动终端以及存储介质 |
CN114490276A (zh) * | 2022-04-13 | 2022-05-13 | 飞腾信息技术有限公司 | 外设异常监测方法、装置、系统及存储介质 |
CN115509786A (zh) * | 2022-09-28 | 2022-12-23 | 苏州浪潮智能科技有限公司 | 一种报告故障的方法、装置、设备及介质 |
CN116125853A (zh) * | 2022-11-28 | 2023-05-16 | 地平线(上海)人工智能技术有限公司 | 集成电路的安全控制方法、装置、存储介质及电子设备 |
CN116401086A (zh) * | 2023-04-07 | 2023-07-07 | 苏州浪潮智能科技有限公司 | 内存漏斗错误上报机制的测试方法、装置、设备及介质 |
-
2023
- 2023-09-28 CN CN202311265049.5A patent/CN117076182B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140019814A1 (en) * | 2011-12-21 | 2014-01-16 | Cameron McNairy | Error framework for a microprocesor and system |
CN109213615A (zh) * | 2017-06-30 | 2019-01-15 | 联想(北京)有限公司 | 一种错误事件处理方法及电子设备 |
CN108446196A (zh) * | 2018-02-28 | 2018-08-24 | 郑州云海信息技术有限公司 | 验证服务器系统ras性能的方法及装置 |
CN111209129A (zh) * | 2019-12-27 | 2020-05-29 | 曙光信息产业股份有限公司 | 基于amd平台的内存优化方法和装置 |
CN112291087A (zh) * | 2020-10-19 | 2021-01-29 | 盛科网络(苏州)有限公司 | Oam错误状态上报的实现方法和装置 |
CN113190401A (zh) * | 2021-04-19 | 2021-07-30 | Oppo广东移动通信有限公司 | 快游戏的异常监控方法、电子设备、移动终端以及存储介质 |
CN114490276A (zh) * | 2022-04-13 | 2022-05-13 | 飞腾信息技术有限公司 | 外设异常监测方法、装置、系统及存储介质 |
CN115509786A (zh) * | 2022-09-28 | 2022-12-23 | 苏州浪潮智能科技有限公司 | 一种报告故障的方法、装置、设备及介质 |
CN116125853A (zh) * | 2022-11-28 | 2023-05-16 | 地平线(上海)人工智能技术有限公司 | 集成电路的安全控制方法、装置、存储介质及电子设备 |
CN116401086A (zh) * | 2023-04-07 | 2023-07-07 | 苏州浪潮智能科技有限公司 | 内存漏斗错误上报机制的测试方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117076182B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102760090B (zh) | 除错方法及计算机系统 | |
US8225142B2 (en) | Method and system for tracepoint-based fault diagnosis and recovery | |
US20080276129A1 (en) | Software tracing | |
US9665448B2 (en) | Semiconductor integrated circuit | |
CN112559267B (zh) | 集成电路间总线i2c从机以及i2c控制器测试方法 | |
US8036874B2 (en) | Software executing device and co-operation method | |
CN112395122A (zh) | 闪存控制器及闪存控制器的方法 | |
CN116627877B (zh) | 一种片上总线状态记录系统和记录方法 | |
CN114741225A (zh) | 用于处理硬件错误的装置及方法 | |
US7484221B2 (en) | Method and apparatus for logging the execution history of an operating system kernel | |
CN117076182B (zh) | 一种错误上报方法、片上系统、计算机设备及存储介质 | |
CN117076183B (zh) | 一种错误上报方法、片上系统、计算机设备及存储介质 | |
CN113157504A (zh) | 一种触摸屏设备测试方法和一种触摸屏设备测试系统 | |
CN116991651B (zh) | 一种错误注入方法、片上系统、计算机设备及存储介质 | |
CN116663490A (zh) | 一种异步存储芯片的验证方法、平台、装置及介质 | |
CN114327981A (zh) | 一种功能安全机制的安全校验系统、方法及装置 | |
CN114003416B (zh) | 内存错误动态处理方法、系统、终端及存储介质 | |
US10922023B2 (en) | Method for accessing code SRAM and electronic device | |
CN100561953C (zh) | 一种记录诊断数据的方法 | |
CN113360402A (zh) | 一种测试方法、电子设备、芯片和存储介质 | |
CN111858136A (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 | |
WO2022247422A1 (zh) | 资源队列管理接口的验证方法、电子设备、存储介质 |
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 |