本发明涉及服务器,具体涉及一种定位内存ca信号错误的方法和装置。
背景技术:
1、随着云计算、大数据的广泛应用,对服务器系统的可靠性、稳定性和可维护性提出了更高的要求,其中可维护性对于服务器生命长度的提升至关重要。
2、内存是引起服务器宕机最频繁的部件,内存出现问题时,快速定位故障可缩短服务器停机维护时间,减少用户损失,提高用户服务质量。
3、内存条与cpu之间通过主板连接,其中内存条到cpu信号包含数据信号(dq/dqs)、控制信号(command)、地址信号(address)等,这些信号在实际运用过程中,均可能出现故障。当ca(command/address)信号出现问题时,如出现ca parity error时,系统通过retry的方式进行重传,如链路中出现持续的错误,重传无法解决问题,并且系统无法定位是哪个ca pin出现问题。通常需要重启并打开bios串口日志才能进一步分析ca问题出在哪,其不便于维修定位内存问题,维修效率较低。
技术实现思路
1、针对现有技术中存在的缺陷,本发明第一方面提供一种定位内存ca信号错误的方法,其在系统运行时,当出现ca信号故障时,可自动定位具体哪一根ca信号出现故障。
2、为达到以上目的,本发明采取的技术方案是:
3、一种定位内存ca信号错误的方法,该方法包括以下步骤:
4、利用多个逐位单bit翻转的测试包对内存进行奇偶校验,根据奇偶校验结果,定位出现故障的ca pin,其中,每个所述测试包的位数均与ca pin和奇偶校验parity pin的pin数对应。
5、一些实施例中,所述利用多个逐位单bit翻转的测试包对内存进行奇偶校验,根据奇偶校验结果,定位出现故障的ca pin,包括:
6、发送初始测试包至内存,根据内存反馈的数据,判断是否出现parity error;
7、当发送初始测试包出现奇偶校验错误时,发送基于初始测试包单bit翻转的测试包至内存进行轮询检测,判断是否出现parity error;
8、根据轮询检测中未出现parity error的测试包定位出现故障的ca pin。
9、一些实施例中,所述发送初始测试包至内存,根据内存反馈的数据,判断是否出现奇偶校验错误parity error;
10、依次发送第一初始测试包和第二初始测试包至内存,其中第二初始测试包为第一初始测试包的每位取反;
11、当发送第一初始测试包和第二初始测试包后,在任意一个测试包下出现parityerror时,判定出现parity error;
12、当发送第一初始测试包和第二初始测试包后均未出现parity error,判定未出现parity error。
13、一些实施例中,还包括:
14、当发送第一初始测试包和第二初始测试包后均未出现parity error后,继续发送第三初始测试包至内存,所述第三初始测试包为第一初始测试包或第二初始测试包的n位取反,其中n为奇数;
15、当发送第三初始测试包后出现parity error,定位为parity pin出现故障;
16、当发送第三初始测试包后未出现parity error,判定未出现parity error。
17、一些实施例中,当轮询检测中所有测试包均出现parity error时,定位为paritypin出现故障。
18、本发明第二方面提供了一种定位内存ca信号错误的装置,其在系统运行时,当出现ca信号故障时,可自动定位具体哪一根ca信号出现故障。。
19、为达到以上目的,本发明采取的技术方案是:
20、一种定位内存ca信号错误的装置,包括:
21、定位模块,其用于驱使所述cpu发送的多个逐位单bit翻转的测试包对内存进行奇偶校验,根据奇偶校验结果,定位出现故障的ca pin,其中,每个所述测试包的位数均与capin和奇偶校验parity pin的pin数对应。
22、一些实施例中,所述定位模块驱使所述cpu发送的多个逐位单bit翻转的测试包对内存进行奇偶校验,根据奇偶校验结果,定位出现故障的ca pin,包括:
23、驱使所述cpu发送初始测试包至内存,根据内存反馈的数据,判断是否出现parityerror;
24、当发送初始测试包出现奇偶校验错误时,驱使所述cpu发送基于初始测试包单bit翻转的测试包至内存进行轮询检测,判断是否出现parity error;
25、根据轮询检测中未出现parity error的测试包定位出现故障的ca pin。
26、一些实施例中,所述定位模块驱使所述cpu发送初始测试包至内存,根据内存反馈的数据,判断是否出现parity error,包括:
27、驱使所述cpu依次发送第一初始测试包和第二初始测试包至内存,其中第二初始测试包为第一初始测试包的每位取反;
28、当发送第一初始测试包和第二初始测试包后,在任意一个测试包下出现parityerror时,判定出现parity error;
29、当发送第一初始测试包和第二初始测试包后均未出现parity error,判定未出现parity error。
30、一些实施例中,所述定位模块还用于:
31、当发送第一初始测试包和第二初始测试包后均未出现parity error后,驱使所述cpu继续发送第三初始测试包至内存,所述第三初始测试包为第一初始测试包或第二初始测试包的n位取反,其中n为奇数;
32、当发送第三初始测试包后出现parity error,定位为parity pin出现故障;
33、当发送第三初始测试包后未出现parity error,判定未出现parity error。
34、一些实施例中,所述定位模块还用于:
35、当轮询检测中所有测试包均出现parity error时,定位为parity pin出现故障。
36、与现有技术相比,本发明的优点在于:
37、本发明中的定位内存ca信号错误的方法,其利用多个逐位单bit翻转的测试包对内存进行奇偶校验,根据奇偶校验结果,定位出现故障的ca pin,其中,每个所述测试包的位数均与ca pin和奇偶校验parity pin的pin数对应。当内存发生ca信号error时,系统产生smi中断,进入bios smm模式,cpu发送特殊的测试包至内存,因为出现pin error时,内存接收到的数据被翻转,通过翻转单bit的测试包可定位到具体哪一个bit被翻转,从而定位出具体哪一根pin出现error。
1.一种定位内存ca信号错误的方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的一种定位内存ca信号错误的方法,其特征在于,所述利用多个逐位单bit翻转的测试包对内存进行奇偶校验,根据奇偶校验结果,定位出现故障的capin,包括:
3.根据权利要求2所述的一种定位内存ca信号错误的方法,其特征在于,所述发送初始测试包至内存,根据内存反馈的数据,判断是否出现奇偶校验错误parity error;
4.根据权利要求3所述的一种定位内存ca信号错误的方法,其特征在于,还包括:
5.根据权利要求2所述的一种定位内存ca信号错误的方法,其特征在于:当轮询检测中所有测试包均出现parity error时,定位为parity pin出现故障。
6.一种定位内存ca信号错误的装置,其特征在于,包括:
7.根据权利要求6所述的一种定位内存ca信号错误的装置,其特征在于,所述定位模块驱使所述cpu发送的多个逐位单bit翻转的测试包对内存进行奇偶校验,根据奇偶校验结果,定位出现故障的ca pin,包括:
8.根据权利要求7所述的一种定位内存ca信号错误的装置,其特征在于,所述定位模块驱使所述cpu发送初始测试包至内存,根据内存反馈的数据,判断是否出现parity error,包括:
9.根据权利要求8所述的一种定位内存ca信号错误的装置,其特征在于,所述定位模块还用于:
10.根据权利要求7所述的一种定位内存ca信号错误的装置,其特征在于,所述定位模块还用于: