多处理器装置中的内核转储制造方法及图纸

技术编号:39259512 阅读:16 留言:0更新日期:2023-10-30 12:10
本公开涉及一种获得多处理器装置中的装置内核转储的方法,该方法可以包括检测多处理器装置的处理器中错误的发生,并且触发从发生错误的处理器到多处理器装置的其他处理器中的每一个的处理器间中断以停止多处理器装置的操作。然后可以将与处理器相对应的处理器内核转储存储在存储器子系统中。可以确定已经针对处理器中的每一个设置数据就绪指示,以指示相应的处理器内核转储已存储在存储器子系统中。然后可以将处理器内核转储从存储器子系统复制到非易失性存储器,以在非易失性存储器中生成装置内核转储。生成装置内核转储。生成装置内核转储。

【技术实现步骤摘要】
多处理器装置中的内核转储

技术介绍

[0001]内核转储是计算系统状态的快照。内核转储(core dump)通常在系统崩溃时被撷取,以进行故障分析和调试,从而确定崩溃的原因。当崩溃发生时,计算系统可能无法继续正常操作。在这种情况下,为了可以进行故障分析,以特殊模式保存当前系统状态,使得随后可以检索快照以分析问题。

技术实现思路

[0002]用于获得多处理器装置中的装置内核转储的技术可以包括检测多处理器装置的处理器中发生错误,并且触发从发生错误的处理器到多处理器装置的其他处理器中的每一个的处理器间中断以停止操作多处理器装置。然后可以将与处理器相对应的处理器内核转储存储在存储器子系统中。可以确定已经针对处理器中的每一个设置数据就绪指示,以指示相应的处理器内核转储已存储在存储器子系统中。然后可以将处理器内核转储从存储器子系统复制到非易失性存储器,以在非易失性存储器中生成装置内核转储。
[0003]在一些实施方式中,利用装置内核转储技术的装置可以包括非易失性存储器、存储器子系统、多处理器和中断控制器。中断控制器可操作为响应于发生错误而广播处理器间中断以停止操作装置。每个处理器可以包括内核转储逻辑,该内核转储逻辑可操作为执行操作,该操作包括响应于装置中发生错误而将相应处理器的处理器内核转储存储在存储器子系统中,并且在完成存储处理器内核转储时在存储器子系统中设置数据就绪指示。
[0004]在一些实施方式中,所指定的处理器可以通过执行各种操作在非易失性存储器中生成装置内核转储。这些操作可以包括确定装置中发生错误,并且监控一组数据就绪指示符,该组数据就绪指示符中的每一个指示装置的相应处理器的处理器内核转储是否已经被存储在存储器子系统中。对于数据就绪指示符中的生效(asserted)的每一个,可以将相应处理器的处理器内核转储从存储器子系统复制到非易失性存储器中以生成装置内核转储。装置内核转储的报头也可以被存储在非易失性存储器中。
附图说明
[0005]将参照附图描述根据本公开的多种实施例。
[0006]图1示出了电子装置的示例的框图;
[0007]图2示出了内核转储生成的示例的概念图;
[0008]图3示出了内核转储的内容的示例的框图;
[0009]图4示出了处理器内核转储生成过程的示例的流程图;
[0010]图5示出了处理器内核转储生成过程的另一示例的流程图;
[0011]图6示出了装置内核转储生成过程的示例的流程图;
[0012]图7示出了装置重启过程的示例的流程图;
[0013]图8示出了存储装置的示例的框图;并且
[0014]图9示出了计算装置的示例的框图。
具体实施方式
[0015]电子装置可以包括多个处理器,这些处理器可以是相同和/或不同架构(例如,ARM、Xtensa等)的处理器。在导致装置崩溃使得电子装置无法再正常操作的错误的情况下,最好防止对装置的状态进行任何后续更改,使得装置的内核转储反映尽可能接近崩溃时间的装置状态(例如,处理器、存储器、硬件模块等的状态)。在调试过程期间,具有崩溃时间附近的内核转储可以提高正确识别装置错误的根本原因的可能性,并且因为可以减少回溯量而减少调试时间。
[0016]对于由操作系统管理的电子装置,停止所有处理器的任务可能落在操作系统核心上。然而,一些操作系统可能缺乏管理不同架构的处理器的能力,或者可能缺乏停止装置中所有处理器的能力。此外,并非所有电子装置都由操作系统管理。如此,可能需要不同的机制来尽可能同步地停止在所有处理器上运行主程序,并且尽可能地在发生导致崩溃的装置错误时使所有硬件块停止在它们的当前状态。
[0017]本文中公开的技术提供一种用于停止多处理器装置中的所有处理器并在导致崩溃的装置错误的情况下生成装置内核转储的机制。这些技术可以在具有不同架构的处理器的装置中使用,并且不依赖于操作系统。因此,装置内核转储技术可以在具有或不具有正常操作的操作系统的装置中采用。通过示例的方式,装置内核转储技术可以包括检测多处理器装置的处理器中发生错误,并且触发从该处理器到多处理器装置中的其他处理器中的每一个的处理器间中断以停止装置的操作。然后可以将与处理器中的每一个相对应的处理器内核转储存储在存储器子系统(例如,随机存取存储器)中。当处理器内核转储中的每一个的存储完成时,可以通过将处理器内核转储从存储器子系统复制到非易失性存储器来生成装置内核转储。然后可以从非易失性存储器中检索装置内核转储以调试导致装置崩溃的错误的原因。
[0018]在本文提供的描述中,出于说明的目的,阐述了具体细节以便提供对某些创造性实施例的透彻理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实践多种实施例。因此,附图和描述并非旨在限制。
[0019]导致崩溃的装置错误可能是由软件错误和/或硬件故障引起的。在处理器的代码运行期间可能发生软件错误(例如,除以零、访问无效地址等)。软件错误还可能导致命令错误地配置或错误地发送到装置中的硬件块。在这种情况下,可能会发生由硬件和软件共同导致的混合崩溃。
[0020]导致崩溃的装置错误也可能由硬件故障引起,硬件故障可能由于硬件单元的逻辑和/或电路实施方案中的错误或影响硬件的操作条件的其他外部因素(例如,温度、辐射等)而发生。这种硬件故障可以由触发处理器中的错误中断的硬件块的错误处理程序来处理。如果硬件块中不存在错误处理程序,则相关联错误可以表现为处理器中的逻辑错误或下游硬件块中的硬件错误。在后一种情况下,如果下游硬件块支持错误中断,则将由下游硬件块的错误处理程序处理错误。
[0021]装置错误的另一来源可能是正在运行的软件代码中实施的运行时检查所捕获的程序中的逻辑错误。与导致软件运行挂起的软件错误不同,由这些运行时检查触发的逻辑错误是软件运行的一部分,并且以软件代码实施。这种运行时检查通常被编码为在运行时检查某些条件的ASSERT语句。根据在运行时是否满足条件,可以运行ASSERT指令以使处理
器生成内核转储。无论包括上述错误的哪种类型的装置备错误是导致装置崩溃的原因,都可以使用内核转储来调查错误的来源。
[0022]不同处理器上的程序运行通常是不同步的。为了正确分析多处理器装置中的故障,最好尽可能同时地撷取包含处理器和硬件块的状态的内核转储。内核转储可以由在硬件、软件或两者的组合中实施的错误处理逻辑生成。内核转储任务的一部分是停止在装置中的处理器和硬件块中的每一个上运行代码。
[0023]现有内核转储机制的一个缺点是它们不保存装置中所有处理器和可用硬件块的状态。相反,仅撷取最小来源集合和发生错误的处理器中可用硬件的状态。与这种机制相比,本文中公开的技术可以用于撷取装置中所有处理器的内核转储,而不管错误发生在哪个处理器中。装置内核转储可以包括必要的硬件块、处理器寄存器和处理器中的每一个的存储器转储的时间最接近的状态。这允许在崩溃时提供有关装置的更完整的信息,以便故障分析。
[0024]图1示出了可以利用本文中公开的内核转本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于获得多处理器装置中的装置内核转储的方法,包括:检测具有多个处理器的所述多处理器装置的处理器中的错误的发生;触发从发生错误的所述处理器到所述多处理器装置的其他处理器中的每一个的处理器间中断,以停止所述多处理器装置的操作;将与所述多个处理器相对应的多个处理器内核转储存储在存储器子系统中;确定已经针对所述多个处理器中的每一个设置数据就绪指示,以指示相应的处理器内核转储已被存储在所述存储器子系统中;并且将所述多个处理器内核转储从所述存储器子系统复制到非易失性存储器,以在所述非易失性存储器中生成所述装置内核转储。2.根据权利要求1所述的方法,其中在不使用操作系统的情况下停止所述多处理器装置的操作。3.根据权利要求1所述的方法,其中所述装置内核转储包括报头和多个处理器区段。4.根据权利要求3所述的方法,其中所述报头包括表示所述装置内核转储中的处理器区段的编号的值。5.根据权利要求3所述的方法,其中所述处理器区段中的每一个包括一个或多个地址空间区域,每个地址空间区域包括相应处理器的地址空间中的本地地址、从所述本地地址检索的数据以及从所述本地地址检索的所述数据的大小。6.根据权利要求3所述的方法,进一步包括:确定所述非易失性存储器有足够的容量来存储后续的装置内核转储;并且确定不在所述装置内核转储的所述报头中设置容量标志。7.根据权利要求6所述的方法,进一步包括:重新启动所述多处理器装置;确定装置内核转储已存储在所述非易失性存储器中并且尚未设置所述容量标志;并且以防止对所述多处理器装置进行配置更改的功能受限模式来操作所述多处理器装置。8.根据权利要求3所述的方法,进一步包括:确定所述非易失性存储器没有足够的容量来存储后续的装置内核转储;并且在所述装置内核转储的所述报头中设置容量标志。9.根据权利要求8所述的方法,进一步包括:重新启动所述多处理器装置;确定装置内核转储已存储在所述非易失性存储器中并且已设置所述容量标志;并且以紧急模式操作所述多处理器装置,所述紧急模式禁用所述多处理器装置的操作同时允许从所述多处理器装置向外部传送所述装置内核转储。10.根据权利要求9所述的方法,进一步包括:在所述紧急操作模式下经过预定的超时时间之后重新启动所述多处理器装置。11.一种用于获得多处理器装置中的装置内核转储的装置,包括:非易失性存储器;存储器子系统;多个处...

【专利技术属性】
技术研发人员:西亚雷
申请(专利权)人:爱思开海力士有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1