本公开涉及硬件检测,尤其涉及一种硬件错误处理方法、装置及系统、ras处理单元、soc、bmc。
背景技术:
1、服务器长期运行在各种复杂环境下,因此服务器易受到一些电子干扰/噪声的影响。譬如,受电源及环境影响的物理链路(link)(如高速串行计算机扩展总线(peripheralcomponent interconnect express,pcie)物理层(phy))工作边际发生变化、长时间运行导致内存颗粒产生的电子特性变化、电磁干扰导致某次数据传输的数据完整性被破坏等,都会导致正在工作的服务器发生错误。
2、可靠性、可用性和可服务性(reliability availability serviceability,ras)功能为服务器提供错误检查、错误报告/故障恢复的能力。ras可以提高服务器的可靠性,减少系统宕机概率/时间,发生宕机时迅速定位错误原因/给出建议修复措施,恢复服务器运行。相关技术中,由bios系统管理模式(system management mode,smm)代码执行错误检查,并依赖于检查结果实现ras功能。
3、然而,现有的主流厂商正在推进减少x86服务器的ras功能对smm的依赖,因为smm会影响产品的性能及安全性。因此,如何减少ras功能对片上系统(system on chip,soc)smm的依赖是亟待解决的问题之一。
技术实现思路
1、有鉴于此,本公开提出了一种硬件错误处理方法、装置及系统、ras处理单元、soc、bmc,从而能够减少ras功能对soc smm的依赖。
2、根据本公开的第一方面,提供了一种硬件错误处理方法,应用于片上系统soc的可靠性、可用性和可服务性ras处理单元,所述硬件错误处理方法包括:响应于所述soc的硬件发生错误,收集表示所述soc的硬件发生错误的第一硬件错误信息;通过对所收集的第一硬件错误信息进行打包来生成目标错误信息;将所述目标错误信息发送至基板管理控制器bmc,其中,所述bmc根据所述目标错误信息进行处理。
3、在一种可能的实现方式中,响应于所述soc的硬件发生错误,收集表示所述soc的硬件发生错误的硬件错误信息包括:接收所述soc的硬件错误检测架构mca组寄存器所记录的硬件错误信息,其中,响应于所述soc的硬件发生错误,与所述soc的发生错误的硬件相对应的硬件错误信息被记录到所述mca组寄存器中。
4、在一种可能的实现方式中,上述硬件错误处理方法还包括:接收另一soc的ras处理单元所发送的表示所述另一soc的硬件发生错误的第二硬件错误信息,相应地,通过对所述第一硬件错误信息和所述第二硬件错误信息进行打包来生成目标错误信息。
5、在一种可能的实现方式中,所述另一soc的ras处理单元所发送的第二硬件错误信息是所述另一soc的硬件错误检测架构mca组寄存器所记录的,其中,响应于所述另一soc的硬件发生错误,与所述另一soc的发生错误的硬件相对应的硬件错误信息被记录到所述另一soc的mca组寄存器中。
6、在一种可能的实现方式中,接收另一soc的ras处理单元所发送的表示所述另一soc的硬件发生错误的第二硬件错误信息包括:经由所述soc和所述另一soc之间的报文链路,接收所述另一soc的ras处理单元所发送的所述第二硬件错误信息。
7、在一种可能的实现方式中,将所述目标错误信息发送至基板管理控制器bmc包括:通过增强型串行外设接口总线espi带外oob将所述目标错误信息发送至所述bmc。
8、在一种可能的实现方式中,通过对所收集的第一硬件错误信息进行打包来生成目标错误信息包括:将所述第一硬件错误信息打包为包括如下字段的目标错误信息:供应商标识字段、芯片标识字段、错误类型字段、错误严重性字段、错误数据长度字段和错误记录字段。
9、在一种可能的实现方式中,上述硬件错误处理方法还包括:所述soc运行的操作系统os接收所述bmc发送的系统控制中断sci信号/不可屏蔽中断nmi信号;所述os访问所述soc与所述bmc共享的存储器,以从所述存储器读取硬件错误源表hest错误日志,记录错误日志并进行错误处理。
10、根据本公开的第二方面,提供了一种硬件错误处理方法,应用于基板管理控制器bmc,所述硬件错误处理方法包括:接收soc所发送的目标错误信息,其中,所述目标错误信息是通过对所收集的表示所述soc的硬件发生错误的第一硬件错误信息进行打包而生成的;根据所述目标错误信息进行与所述soc的硬件所发生的错误有关的处理。
11、在一种可能的实现方式中,上述硬件错误处理方法还包括:根据所述目标错误信息生成硬件错误源表hest错误日志;将所述hest错误日志写入所述bmc与所述soc共享的存储器中,其中,所述soc的操作系统能够读取所述存储器所存储的hest错误日志。
12、在一种可能的实现方式中,上述硬件错误处理方法还包括:通过改变所述soc的通用输入输出引脚gpio引脚的状态,向所述soc运行的操作系统os发送系统控制中断sci信号/不可屏蔽中断nmi信号,相应地,所述soc响应于所述sci信号/nmi信号而从所述存储器读取所述hest错误日志。
13、在一种可能的实现方式中,根据所述目标错误信息生成硬件错误源表hest错误日志包括:对所述目标错误信息进行解析以得到错误数据;按照高级配置和电源管理接口acpi高级平台错误接口apei及统一可扩展固件接口uefi通用平台错误记录cper的定义,将所述错误数据打包为所述hest错误日志。
14、在一种可能的实现方式中,上述硬件错误处理方法还包括:对所述目标错误信息进行解析以得到错误数据;将所述错误数据发送至云服务器,其中,所述云服务器响应于接收到所述错误数据而标记出错的单板及其错误信息。
15、在一种可能的实现方式中,上述硬件错误处理方法还包括:接收所述云服务器所发送的可靠性、可用性和可服务性ras配置/恢复指令,其中,所述云服务器响应于接收到所述错误数据而发送与所述错误数据相对应的ras配置/恢复指令。
16、根据本公开的第三方面,提供了一种硬件错误处理装置,应用于片上系统soc的可靠性、可用性和可服务性ras处理单元,所述硬件错误处理装置包括:收集模块,用于响应于所述soc的硬件发生错误,收集表示所述soc的硬件发生错误的第一硬件错误信息;生成模块,用于通过对所收集的第一硬件错误信息进行打包来生成目标错误信息;发送模块,用于将所述目标错误信息发送至基板管理控制器bmc,其中,所述bmc根据所述目标错误信息进行处理。
17、根据本公开的第四方面,提供了一种片上系统soc的可靠性、可用性和可服务性ras处理单元,包括第三方面所述的硬件错误处理装置。
18、根据本公开的第五方面,提供了一种片上系统soc的可靠性、可用性和可服务性ras处理单元,所述ras处理单元用于执行第一方面所述的硬件错误处理方法的各步骤。
19、根据本公开的第六方面,提供了一种片上系统soc,包括第四方面或第五方面所述的ras处理单元。
20、根据本公开的第七方面,提供了一种硬件错误处理装置,应用于基板管理控制器bmc,所述硬件错误处理装置包括:接收模块,用于接收soc所发送的目标错误信息,其中,所述目标错误信息是通过对所收集的表示所述soc的硬件发生错误的第一硬件错误信息进行打包而生成的;处理模块,用于根据所述目标错误信息进行处理。
21、根据本公开的第八方面,提供了一种基板管理控制器bmc,包括第七方面的硬件错误处理装置。
22、根据本公开的第九方面,提供了一种基板管理控制器bmc,所述基板管理控制器bmc用于执行第二方面所述的硬件错误处理方法的各步骤。
23、根据本公开的第九方面,提供了一种硬件错误处理系统,包括:第六方面所述的soc;第八方面或第九方面所述的bmc。
24、在一种可能的实现方式中,上述系统还包括:云服务器,用于接收所述bmc所发送的错误数据,标记出错的单板及其错误信息,并发送与所述错误数据相对应的ras配置/恢复指令。
25、根据本公开,相较于soc的现有结构,在该soc中新增ras处理单元,ras处理单元响应于soc的硬件发生错误而收集表示该硬件发生错误的硬件错误信息,将该硬件错误信息打包成目标错误信息,并将该目标错误信息发送至bmc。这样,bmc能够根据该目标错误信息进行与soc的硬件所发生的错误有关的处理,由此能够减少ras功能对soc smm的依赖,从而能够避免由于smm所导致的系统的性能损失以及系统的安全性降低,尤其是处理系统易发的可纠正错误。
26、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
1.一种硬件错误处理方法,其特征在于,应用于片上系统soc的可靠性、可用性和可服务性ras处理单元,所述硬件错误处理方法包括:
2.根据权利要求1所述的硬件错误处理方法,其特征在于,响应于所述soc的硬件发生错误,收集表示所述soc的硬件发生错误的硬件错误信息包括:
3.根据权利要求1所述的硬件错误处理方法,其特征在于,还包括:
4.根据权利要求3所述的硬件错误处理方法,其特征在于,所述另一soc的ras处理单元所发送的第二硬件错误信息是所述另一soc的硬件错误检测架构mca组寄存器所记录的,其中,响应于所述另一soc的硬件发生错误,与所述另一soc的发生错误的硬件相对应的硬件错误信息被记录到所述另一soc的mca组寄存器中。
5.根据权利要求3所述的硬件错误处理方法,其特征在于,接收另一soc的ras处理单元所发送的表示所述另一soc的硬件发生错误的第二硬件错误信息包括:
6.根据权利要求1所述的硬件错误处理方法,其特征在于,将所述目标错误信息发送至基板管理控制器bmc包括:
7.根据权利要求1所述的硬件错误处理方法,其特征在于,通过对所收集的第一硬件错误信息进行打包来生成目标错误信息包括:
8.根据权利要求1所述的硬件错误处理方法,其特征在于,还包括:
9.一种硬件错误处理方法,其特征在于,应用于基板管理控制器bmc,所述硬件错误处理方法包括:
10.根据权利要求9所述的硬件错误处理方法,其特征在于,还包括:
11.根据权利要求10所述的硬件错误处理方法,其特征在于,还包括:
12.根据权利要求10所述的硬件错误处理方法,其特征在于,根据所述目标错误信息生成硬件错误源表hest错误日志包括:
13.根据权利要求9所述的硬件错误处理方法,其特征在于,还包括:
14.根据权利要求13所述的硬件错误处理方法,其特征在于,还包括:
15.一种硬件错误处理装置,其特征在于,应用于片上系统soc的可靠性、可用性和可服务性ras处理单元,所述硬件错误处理装置包括:
16.一种片上系统soc的可靠性、可用性和可服务性ras处理单元,其特征在于,包括权利要求15所述的硬件错误处理装置。
17.一种片上系统soc的可靠性、可用性和可服务性ras处理单元,其特征在于,所述ras处理单元用于执行权利要求1-7中任一项所述的硬件错误处理方法的各步骤。
18.一种片上系统soc,其特征在于,包括权利要求16或17所述的ras处理单元。
19.一种硬件错误处理装置,其特征在于,应用于基板管理控制器bmc,所述硬件错误处理装置包括:
20.一种基板管理控制器bmc,其特征在于,包括权利要求19所述的硬件错误处理装置。
21.一种基板管理控制器bmc,其特征在于,所述bmc用于执行权利要求9-14中任一项所述的硬件错误处理方法的各步骤。
22.一种硬件错误处理系统,其特征在于,包括:
23.根据权利要求22所述的硬件错误处理系统,其特征在于,还包括: