掌桥专利:专业的专利平台
掌桥专利
首页

主板内存故障的定位方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:26


主板内存故障的定位方法、装置、电子设备及存储介质

技术领域

本发明涉及内存检测技术领域,特别是涉及一种主板内存故障的定位方法、装置、电子设备及存储介质。

背景技术

DDR(Double Data Rate计算机内存)内存作为计算机(服务器)的重要组成部件,是大数据、云计算、云存储的基石。目前在通用服务器和存储服务器领域常用的DDR内存有DDR4、DDR5。在服务器研发阶段,时常出现个别服务器主板DDR内存无法识别、内存丢失;跑开关机测试时某个DDR存在丢失的情况;或者某个内存插入后服务器无法开机的情况;DDR速率测试时,速率无法达到测试标准;针对上述问题,目前主流的解决方案1是:对DDR进行SI测试,即专业的SI工程师,使用示波器对DDR通道信号进行SI测试,并观察SI的信号质量以便判断DDR故障的原因。该方法可准确有效的判断内存问题,但单个服务器板的内存槽的数少则8个多则64个且每个内存槽的信号管脚数近300个,单个内存槽的测试时间近4小时,工作量巨大。解决方案2是:采用处理器供应商提供的相关测试治具和软件,如英特尔提供的XDP(Intel In-TargetProbe–XDP3)治具和CScripts软件,来定位内存协商问题,和收集一些内存的报错日志,但该工具只能用于内存可识别但连接失败的场景。且并不是所有处理器厂商都能提供内存的调试工具,如海光、兆芯、飞腾等。

发明内容

基于此,有必要针对上述技术问题,提供一种能够快速定到服务器主板上故障点的主板内存故障的定位方法、装置、电子设备及存储介质。

第一方面,提供一种主板内存故障的定位方法,其特征在于,所述方法包括:

响应于接收到用户通过通信串口输入的内存条测试指令,控制电压采集模块获取待测内存条的第一管脚电压数据,其中所述内存条测试指令包括差异阈值;

根据所述电压采集模块对应的双向二进制同步串行总线信息对所述第一管脚电压数据进行数组格式编号处理;

响应于数组格式编号处理完成,根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值;

根据所述多个第一阻抗对比值和所述差异阈值确定所述多对第一测试管脚中是否存在一对或多对第一目标管脚;

若是,则根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚;

若否,则响应于接收到所述用户输入的内存槽测试指令,根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试。

在其中一个实施例中,所述根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第一测试管脚对应的第一测试阻抗计算出所述多个第一阻抗对比值。

在其中一个实施例中,所述根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存条对应的第一基准阻抗数据;

若否,则响应于接收到所述用户输入的第一基准阻抗数据测量指令,对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据;

若是,则根据所述第一基准阻抗数据和所述第一目标阻抗数据生成第一阻抗同步值并根据所述第一阻抗同步值和所述差异阈值确定所述第一故障管脚。

在其中一个实施例中,所述对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据包括:

响应于接收到所述用户输入的所述第一基准阻抗数据对应的第一采集次数,通过所述电压采集模块获取相同类型的内存条对应的第一基准电压值;

响应于获取第一基准电压值完成,根据所述第一采集次数继续获取所述第一基准电压值并根据所述第一采集次数对应的第一基准电压值生成所述第一基准阻抗数据。

在其中一个实施例中,所述根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试包括:

控制所述电压采集模块获取所述待测内存槽对应的第二管脚电压数据;

根据所述双向二进制同步串行总线信息对所述第二管脚电压数据进行数组格式编号处理;

响应于所述数组格式编号处理完成,根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值;

根据所述多个第二阻抗对比值和所述差异阈值确定所述多对第二测试管脚中是否存在一对或多对第二目标管脚;

若是,则根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚。

在其中一个实施例中,所述根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第二测试管脚对应的第二测试阻抗计算出所述多个第二阻抗对比值。

在其中一个实施例中,所述根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存槽对应的第二基准阻抗数据;

若否,则响应于接收到所述用户输入的所述第二基准阻抗数据对应的第二采集次数,通过所述电压采集模块获取相同类型的内存槽对应的第二基准电压值;

响应于获取基准电压值完成,根据所述第二采集次数继续获取所述第二基准电压值并根据所述第二采集次数对应的第二基准电压值生成所述第二基准阻抗数据;

若是,则根据所述第二基准阻抗数据和所述第二目标阻抗数据生成第二阻抗同步值并根据所述第二阻抗同步值和所述差异阈值确定所述第二故障管脚。

另一方面,提供一种主板内存故障的定位装置,其特征在于,所述装置包括:

获取模块,用于响应于接收到用户通过通信串口输入的内存条测试指令,控制电压采集模块获取待测内存条的第一管脚电压数据,其中所述内存条测试指令包括差异阈值;

处理模块,用于根据所述电压采集模块对应的双向二进制同步串行总线信息对所述第一管脚电压数据进行数组格式编号处理;

生成模块,用于响应于数组格式编号处理完成,根据所述第一管脚电压数据生成多对第一测试管脚的第一阻抗对比值;

第一确定模块,用于根据所述第一阻抗对比值和所述差异阈值确定所述多对第一测试管脚中是否存在一对或多对第一目标管脚;

第二确定模块,若是,则用于根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚;

内存槽测试模块,若否,则用于响应于接收到所述用户输入的内存槽测试指令,根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试。

在其中一个实施例中,所述生成模块根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第一测试管脚对应的第一测试阻抗计算出所述多个第一阻抗对比值。

在其中一个实施例中,所述第二确定模块根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存条对应的第一基准阻抗数据;

若否,则响应于接收到所述用户输入的第一基准阻抗数据测量指令,对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据;

若是,则根据所述第一基准阻抗数据和所述第一目标阻抗数据生成第一阻抗同步值并根据所述第一阻抗同步值和所述差异阈值确定所述第一故障管脚。

在其中一个实施例中,所述第二确定模块对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据包括:

响应于接收到所述用户输入的所述第一基准阻抗数据对应的第一采集次数,通过所述电压采集模块获取相同类型的内存条对应的第一基准电压值;

响应于获取第一基准电压值完成,根据所述第一采集次数继续获取所述第一基准电压值并根据所述第一采集次数对应的第一基准电压值生成所述第一基准阻抗数据。

在其中一个实施例中,所述内存槽测试模块根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试包括:

控制所述电压采集模块获取所述待测内存槽对应的第二管脚电压数据;

根据所述双向二进制同步串行总线信息对所述第二管脚电压数据进行数组格式编号处理;

响应于所述数组格式编号处理完成,根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值;

根据所述多个第二阻抗对比值和所述差异阈值确定所述多对第二测试管脚中是否存在一对或多对第二目标管脚;

若是,则根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚。

在其中一个实施例中,所述内存槽测试模块根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第二测试管脚对应的第二测试阻抗计算出所述多个第二阻抗对比值。

在其中一个实施例中,所述内存槽测试模块根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存槽对应的第二基准阻抗数据;

若否,则响应于接收到所述用户输入的所述第二基准阻抗数据对应的第二采集次数,通过所述电压采集模块获取相同类型的内存槽对应的第二基准电压值;

响应于获取基准电压值完成,根据所述第二采集次数继续获取所述第二基准电压值并根据所述第二采集次数对应的第二基准电压值生成所述第二基准阻抗数据;

若是,则根据所述第二基准阻抗数据和所述第二目标阻抗数据生成第二阻抗同步值并根据所述第二阻抗同步值和所述差异阈值确定所述第二故障管脚。

再一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

响应于接收到用户通过通信串口输入的内存条测试指令,控制电压采集模块获取待测内存条的第一管脚电压数据,其中所述内存条测试指令包括差异阈值;

根据所述电压采集模块对应的双向二进制同步串行总线信息对所述第一管脚电压数据进行数组格式编号处理;

响应于数组格式编号处理完成,根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值;

根据所述多个第一阻抗对比值和所述差异阈值确定所述多对第一测试管脚中是否存在一对或多对第一目标管脚;

若是,则根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚;

若否,则响应于接收到所述用户输入的内存槽测试指令,根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第一测试管脚对应的第一测试阻抗计算出所述多个第一阻抗对比值。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存条对应的第一基准阻抗数据;

若否,则响应于接收到所述用户输入的第一基准阻抗数据测量指令,对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据;

若是,则根据所述第一基准阻抗数据和所述第一目标阻抗数据生成第一阻抗同步值并根据所述第一阻抗同步值和所述差异阈值确定所述第一故障管脚。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据包括:

响应于接收到所述用户输入的所述第一基准阻抗数据对应的第一采集次数,通过所述电压采集模块获取相同类型的内存条对应的第一基准电压值;

响应于获取第一基准电压值完成,根据所述第一采集次数继续获取所述第一基准电压值并根据所述第一采集次数对应的第一基准电压值生成所述第一基准阻抗数据。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试包括:

控制所述电压采集模块获取所述待测内存槽对应的第二管脚电压数据;

根据所述双向二进制同步串行总线信息对所述第二管脚电压数据进行数组格式编号处理;

响应于所述数组格式编号处理完成,根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值;

根据所述多个第二阻抗对比值和所述差异阈值确定所述多对第二测试管脚中是否存在一对或多对第二目标管脚;

若是,则根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第二测试管脚对应的第二测试阻抗计算出所述多个第二阻抗对比值。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存槽对应的第二基准阻抗数据;

若否,则响应于接收到所述用户输入的所述第二基准阻抗数据对应的第二采集次数,通过所述电压采集模块获取相同类型的内存槽对应的第二基准电压值;

响应于获取基准电压值完成,根据所述第二采集次数继续获取所述第二基准电压值并根据所述第二采集次数对应的第二基准电压值生成所述第二基准阻抗数据;

若是,则根据所述第二基准阻抗数据和所述第二目标阻抗数据生成第二阻抗同步值并根据所述第二阻抗同步值和所述差异阈值确定所述第二故障管脚。

又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

响应于接收到用户通过通信串口输入的内存条测试指令,控制电压采集模块获取待测内存条的第一管脚电压数据,其中所述内存条测试指令包括差异阈值;

根据所述电压采集模块对应的双向二进制同步串行总线信息对所述第一管脚电压数据进行数组格式编号处理;

响应于数组格式编号处理完成,根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值;

根据所述多个第一阻抗对比值和所述差异阈值确定所述多对第一测试管脚中是否存在一对或多对第一目标管脚;

若是,则根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚;

若否,则响应于接收到所述用户输入的内存槽测试指令,根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第一测试管脚对应的第一测试阻抗计算出所述多个第一阻抗对比值。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存条对应的第一基准阻抗数据;

若否,则响应于接收到所述用户输入的第一基准阻抗数据测量指令,对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据;

若是,则根据所述第一基准阻抗数据和所述第一目标阻抗数据生成第一阻抗同步值并根据所述第一阻抗同步值和所述差异阈值确定所述第一故障管脚。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据包括:

响应于接收到所述用户输入的所述第一基准阻抗数据对应的第一采集次数,通过所述电压采集模块获取相同类型的内存条对应的第一基准电压值;

响应于获取第一基准电压值完成,根据所述第一采集次数继续获取所述第一基准电压值并根据所述第一采集次数对应的第一基准电压值生成所述第一基准阻抗数据。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试包括:

控制所述电压采集模块获取所述待测内存槽对应的第二管脚电压数据;

根据所述双向二进制同步串行总线信息对所述第二管脚电压数据进行数组格式编号处理;

响应于所述数组格式编号处理完成,根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值;

根据所述多个第二阻抗对比值和所述差异阈值确定所述多对第二测试管脚中是否存在一对或多对第二目标管脚;

若是,则根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第二测试管脚对应的第二测试阻抗计算出所述多个第二阻抗对比值。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存槽对应的第二基准阻抗数据;

若否,则响应于接收到所述用户输入的所述第二基准阻抗数据对应的第二采集次数,通过所述电压采集模块获取相同类型的内存槽对应的第二基准电压值;

响应于获取基准电压值完成,根据所述第二采集次数继续获取所述第二基准电压值并根据所述第二采集次数对应的第二基准电压值生成所述第二基准阻抗数据;

若是,则根据所述第二基准阻抗数据和所述第二目标阻抗数据生成第二阻抗同步值并根据所述第二阻抗同步值和所述差异阈值确定所述第二故障管脚。

上述主板内存故障的定位方法,响应于接收到用户通过通信串口输入的内存条测试指令,控制电压采集模块获取待测内存条的第一管脚电压数据,其中所述内存条测试指令包括差异阈值;根据所述电压采集模块对应的双向二进制同步串行总线信息对所述第一管脚电压数据进行数组格式编号处理;响应于数组格式编号处理完成,根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值;根据所述多个第一阻抗对比值和所述差异阈值确定所述多对第一测试管脚中是否存在一对或多对第一目标管脚;若是,则根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚;若否,则响应于接收到所述用户输入的内存槽测试指令,根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试。通过先对待测内存条进行对比测试确定是否存在目标管脚,若存在,则再执行同步测试从而从目标管脚中确定故障管脚;若不存在,则将待测内存条封装后对主板上的待测内存槽(金手指)执行对比测试,确定内存槽中的目标管脚,之后执行同步测试从而从内存槽的目标管脚中确定故障管脚,通过这一系列的操作,提高了定位主板中故障管脚的效率。

附图说明

图1为主板内存故障的定位方法的流程示意图;

图2为主板内存故障的定位方法的步骤示意图;

图3为应用主板内存故障的定位方法的电压采集模块的结构示例图;

图4为应用主板内存故障的定位方法的系统的结构示意图;

图5为主板内存故障的定位装置的装置示意图;

图6为本发明实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的如图1所示的主板内存故障的定位方法的流程示意图,其中当用户需要定位服务器主板上的故障点时,先拆卸主板上的内存条即本案中的待测内存条,将内存条插入包含ADC(Analog-to-digital converter模拟数字转化器)芯片的电压采集模块,可以通过FPGA(Field Programmable Gate Array现场可编程门阵列)模块控制电压采集模块获取各个内存条的管脚电压数据,之后根据管脚电压数据计算出每对测试管脚对应的阻抗对比值,当存在阻抗对比值大于差异阈值时,确定对应的测试管脚为目标管脚,之后通过基准阻抗数据进行同步测试后从目标管脚中确定故障管脚;当不存在阻抗对比值大于差异阈值时,确定待测内存条不存在故障管脚,此时需要用户将原有的待测内存条封装到服务器主板上,之后对主板上封装了待测内存条的待测内存槽(或金手指)同样执行对比测试和同步测试,从而确定内存槽(或金手指)的故障管脚。

在一个实施例中,如图2所示,本发明提供一种主板内存故障的定位方法,其特征在于,所述方法包括:

S201、响应于接收到用户通过通信串口输入的内存条测试指令,控制电压采集模块获取待测内存条的第一管脚电压数据,其中所述内存条测试指令包括差异阈值;

S202、根据所述电压采集模块对应的双向二进制同步串行总线信息对所述第一管脚电压数据进行数组格式编号处理;

S203、响应于数组格式编号处理完成,根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值;

S204、根据所述多个第一阻抗对比值和所述差异阈值确定所述多对第一测试管脚中是否存在一对或多对第一目标管脚;

S205、若是,则根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚;

S206、若否,则响应于接收到所述用户输入的内存槽测试指令,根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试。

具体的,当接收到用户通过通信串口输入的内存条测试指令时,先对同一块主板上的多块相同规格的待测内存条同时执行对比测试,其中根据包含I

在其中一个实施例中,所述根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第一测试管脚对应的第一测试阻抗计算出所述多个第一阻抗对比值。

具体的,该电压采集模块内部通过电阻分压的形式来实现对相应管脚的电压采样,如图3所示,该电压采集模块施加一个V=3.3v的总电压(外部电压),且通过R

在其中一个实施例中,所述根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存条对应的第一基准阻抗数据;

若否,则响应于接收到所述用户输入的第一基准阻抗数据测量指令,对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据;

若是,则根据所述第一基准阻抗数据和所述第一目标阻抗数据生成第一阻抗同步值并根据所述第一阻抗同步值和所述差异阈值确定所述第一故障管脚。

具体的,查询EEPROM(带点可擦可编程只读存储器)中是否存在待测内存条对应的基准阻抗数据,若否,则需要先对和待测内存条同类型的内存条进行基准阻抗数据测量,响应于接收到用户输入的第一基准阻抗数据测量指令时,对相同类型的内存条进行第一基准阻抗数据测量并生成第一基准阻抗数据。若是,则根据基准阻抗数据和目标阻抗数据生成阻抗同步值并根据阻抗同步值和差异阈值确定目标管脚中的故障管脚,当两个目标管脚对应的阻抗同步值都高于差异阈值时,确定这两个内存条各自的目标管脚都故障。

在其中一个实施例中,所述对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据包括:

响应于接收到所述用户输入的所述第一基准阻抗数据对应的第一采集次数,通过所述电压采集模块获取相同类型的内存条对应的第一基准电压值;

响应于获取第一基准电压值完成,根据所述第一采集次数继续获取所述第一基准电压值并根据所述第一采集次数对应的第一基准电压值生成所述第一基准阻抗数据。

具体的,在同步测试之前,因首次同步测试时,EEPROM并不会存储相应内存条的基准数据,且不同厂商,不同平台的内存条管脚差异较大,对不同类型的内存条应重新采集其基准阻抗数据。比如用户输入的采集次数为十次,通过电压采集模块采集同类型内存条所有管脚的管脚电压并计算出所有管脚的管脚阻抗数据,求出阻抗平均值,通过采集10次后的管脚电压数据计算出10次阻抗平均值,之后去除最大值,最小值,取阻抗平均值的平均值作为基准阻抗数据,从而提高了基准阻抗数据的准确性。

在其中一个实施例中,所述根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试包括:

控制所述电压采集模块获取所述待测内存槽对应的第二管脚电压数据;

根据所述双向二进制同步串行总线信息对所述第二管脚电压数据进行数组格式编号处理;

响应于所述数组格式编号处理完成,根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值;

根据所述多个第二阻抗对比值和所述差异阈值确定所述多对第二测试管脚中是否存在一对或多对第二目标管脚;

若是,则根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚。

具体的,当多个内存条中所有的阻抗对比值都不大于差异阈值时,确定待测内存条中不存在故障管脚,此时需要用户将原有的待测内存条封装到服务器主板上,之后响应于接收到用户根据发送的内存槽测试指令,对主板上封装了待测内存条的待测内存槽(或金手指)同样执行对比测试和同步测试,从而确定内存槽(或金手指)的故障管脚。

在其中一个实施例中,所述根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第二测试管脚对应的第二测试阻抗计算出所述多个第二阻抗对比值。

具体的,该电压采集模块施加一个V=3.3v的总电压(外部电压),且通过R

在其中一个实施例中,所述根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存槽对应的第二基准阻抗数据;

若否,则响应于接收到所述用户输入的所述第二基准阻抗数据对应的第二采集次数,通过所述电压采集模块获取相同类型的内存槽对应的第二基准电压值;

响应于获取基准电压值完成,根据所述第二采集次数继续获取所述第二基准电压值并根据所述第二采集次数对应的第二基准电压值生成所述第二基准阻抗数据;

若是,则根据所述第二基准阻抗数据和所述第二目标阻抗数据生成第二阻抗同步值并根据所述第二阻抗同步值和所述差异阈值确定所述第二故障管脚。

具体的,比较阻抗对比值和差异阈值之间的大小关系时,例如当其中一个第二阻抗对比值大于差异阈值时,说明该阻抗对比值对应的一对测试管脚存在较大差异,即确定这一对测试管脚为目标管脚(疑似故障管脚)。之后需要确定这对目标管脚中是其中一个目标管脚故障还是两个目标管脚都故障。而在执行主板内存槽(或金手指)的同步测试之前,因首次同步测试时,EEPROM并不会存储相同配置的服务器主板的内存槽的基准数据,且不同厂商,不同平台的内存槽管脚差异较大,对不同类型的内存槽应重新采集其基准阻抗数据。比如用户输入的采集次数为八次,通过电压采集模块采集相同类型的内存槽中所有管脚的管脚电压并计算出所有管脚的管脚阻抗数据,求出阻抗平均值,通过采集8次后的管脚电压数据计算出8次阻抗平均值,之后去除最大值,最小值,取阻抗平均值的平均值作为基准阻抗数据。一般情况下通过对内存条和封装后的内存槽(金手指)执行对比测试和同步测试即可定位故障管脚,但响应于内存条对应的第一阻抗对比值和封装后的内存槽(或金手指)对应的第二阻抗对比值都小于差异阈值时,说明此时的服务器主板中内存条和内存槽的管脚都无故障,此时大概率是CPU(Central Processing Unit中央处理器)MIC(Memoryintegrated control内存集成控制器即CPU中的内存模块)对应管脚出现故障,具体的方法如上所示,同样先对MIC模块中的管脚进行对比测试,从而确定目标管脚,之后进行同步测试从而确定MIC模块中的故障管脚。

本申请的方案有如下有益效果:

1)通过多个内存条对应管脚的快速阻抗对比测试,确定内存条中是否存在疑似故障管脚,若存在,之后通过多个内存条中的疑似故障管脚进行同步测试从而确定故障管脚,提高了定位内存条中故障管脚的效率;

2)若内存条中不存在疑似故障管脚,之后通过对封装了内存条的服务器主板中的内存槽或金手指执行阻抗对比测试,从而确定内存槽或金手指中的疑似故障管脚,之后通过同步测试从疑似故障管脚中确定真正的故障管脚,提高了定位内存槽或金手指中故障管脚的效率。

应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次执行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,还提供一种主板内存故障的定位装置,其特征在于,所述装置包括:

获取模块501,用于响应于接收到用户通过通信串口输入的内存条测试指令,控制电压采集模块获取待测内存条的第一管脚电压数据,其中所述内存条测试指令包括差异阈值;

处理模块502,用于根据所述电压采集模块对应的双向二进制同步串行总线信息对所述第一管脚电压数据进行数组格式编号处理;

生成模块503,用于响应于数组格式编号处理完成,根据所述第一管脚电压数据生成多对第一测试管脚的第一阻抗对比值;

第一确定模块504,用于根据所述第一阻抗对比值和所述差异阈值确定所述多对第一测试管脚中是否存在一对或多对第一目标管脚;

第二确定模块505,若是,则用于根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚;

内存槽测试模块506,若否,则用于响应于接收到所述用户输入的内存槽测试指令,根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试。

在其中一个实施例中,所述生成模块根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第一测试管脚对应的第一测试阻抗计算出所述多个第一阻抗对比值。

在其中一个实施例中,所述第二确定模块根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存条对应的第一基准阻抗数据;

若否,则响应于接收到所述用户输入的第一基准阻抗数据测量指令,对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据;

若是,则根据所述第一基准阻抗数据和所述第一目标阻抗数据生成第一阻抗同步值并根据所述第一阻抗同步值和所述差异阈值确定所述第一故障管脚。

在其中一个实施例中,所述第二确定模块对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据包括:

响应于接收到所述用户输入的所述第一基准阻抗数据对应的第一采集次数,通过所述电压采集模块获取相同类型的内存条对应的第一基准电压值;

响应于获取第一基准电压值完成,根据所述第一采集次数继续获取所述第一基准电压值并根据所述第一采集次数对应的第一基准电压值生成所述第一基准阻抗数据。

在其中一个实施例中,所述内存槽测试模块根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试包括:

控制所述电压采集模块获取所述待测内存槽对应的第二管脚电压数据;

根据所述双向二进制同步串行总线信息对所述第二管脚电压数据进行数组格式编号处理;

响应于所述数组格式编号处理完成,根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值;

根据所述多个第二阻抗对比值和所述差异阈值确定所述多对第二测试管脚中是否存在一对或多对第二目标管脚;

若是,则根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚。

在其中一个实施例中,所述内存槽测试模块根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第二测试管脚对应的第二测试阻抗计算出所述多个第二阻抗对比值。

在其中一个实施例中,所述内存槽测试模块根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存槽对应的第二基准阻抗数据;

若否,则响应于接收到所述用户输入的所述第二基准阻抗数据对应的第二采集次数,通过所述电压采集模块获取相同类型的内存槽对应的第二基准电压值;

响应于获取基准电压值完成,根据所述第二采集次数继续获取所述第二基准电压值并根据所述第二采集次数对应的第二基准电压值生成所述第二基准阻抗数据;

若是,则根据所述第二基准阻抗数据和所述第二目标阻抗数据生成第二阻抗同步值并根据所述第二阻抗同步值和所述差异阈值确定所述第二故障管脚。

关于服务器主板的故障定位装置的具体限定可以参见上文中对于服务器主板的故障定位方法的限定,在此不再赘述。上述服务器主板的故障定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现告警信息处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

响应于接收到用户通过通信串口输入的内存条测试指令,控制电压采集模块获取待测内存条的第一管脚电压数据,其中所述内存条测试指令包括差异阈值;

根据所述电压采集模块对应的双向二进制同步串行总线信息对所述第一管脚电压数据进行数组格式编号处理;

响应于数组格式编号处理完成,根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值;

根据所述多个第一阻抗对比值和所述差异阈值确定所述多对第一测试管脚中是否存在一对或多对第一目标管脚;

若是,则根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚;

若否,则响应于接收到所述用户输入的内存槽测试指令,根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第一测试管脚对应的第一测试阻抗计算出所述多个第一阻抗对比值。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存条对应的第一基准阻抗数据;

若否,则响应于接收到所述用户输入的第一基准阻抗数据测量指令,对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据;

若是,则根据所述第一基准阻抗数据和所述第一目标阻抗数据生成第一阻抗同步值并根据所述第一阻抗同步值和所述差异阈值确定所述第一故障管脚。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据包括:

响应于接收到所述用户输入的所述第一基准阻抗数据对应的第一采集次数,通过所述电压采集模块获取相同类型的内存条对应的第一基准电压值;

响应于获取第一基准电压值完成,根据所述第一采集次数继续获取所述第一基准电压值并根据所述第一采集次数对应的第一基准电压值生成所述第一基准阻抗数据。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试包括:

控制所述电压采集模块获取所述待测内存槽对应的第二管脚电压数据;

根据所述双向二进制同步串行总线信息对所述第二管脚电压数据进行数组格式编号处理;

响应于所述数组格式编号处理完成,根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值;

根据所述多个第二阻抗对比值和所述差异阈值确定所述多对第二测试管脚中是否存在一对或多对第二目标管脚;

若是,则根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第二测试管脚对应的第二测试阻抗计算出所述多个第二阻抗对比值。

在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:

所述根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存槽对应的第二基准阻抗数据;

若否,则响应于接收到所述用户输入的所述第二基准阻抗数据对应的第二采集次数,通过所述电压采集模块获取相同类型的内存槽对应的第二基准电压值;

响应于获取基准电压值完成,根据所述第二采集次数继续获取所述第二基准电压值并根据所述第二采集次数对应的第二基准电压值生成所述第二基准阻抗数据;

若是,则根据所述第二基准阻抗数据和所述第二目标阻抗数据生成第二阻抗同步值并根据所述第二阻抗同步值和所述差异阈值确定所述第二故障管脚。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

响应于接收到用户通过通信串口输入的内存条测试指令,控制电压采集模块获取待测内存条的第一管脚电压数据,其中所述内存条测试指令包括差异阈值;

根据所述电压采集模块对应的双向二进制同步串行总线信息对所述第一管脚电压数据进行数组格式编号处理;

响应于数组格式编号处理完成,根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值;

根据所述多个第一阻抗对比值和所述差异阈值确定所述多对第一测试管脚中是否存在一对或多对第一目标管脚;

若是,则根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚;

若否,则响应于接收到所述用户输入的内存槽测试指令,根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述根据所述第一管脚电压数据生成多对第一测试管脚的多个第一阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第一测试管脚对应的第一测试阻抗计算出所述多个第一阻抗对比值。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述根据第一基准阻抗数据、所述第一目标管脚对应的第一目标阻抗数据和所述差异阈值确定所述第一目标管脚中的第一故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存条对应的第一基准阻抗数据;

若否,则响应于接收到所述用户输入的第一基准阻抗数据测量指令,对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据;

若是,则根据所述第一基准阻抗数据和所述第一目标阻抗数据生成第一阻抗同步值并根据所述第一阻抗同步值和所述差异阈值确定所述第一故障管脚。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述对相同类型的内存条进行第一基准阻抗数据测量并生成所述第一基准阻抗数据包括:

响应于接收到所述用户输入的所述第一基准阻抗数据对应的第一采集次数,通过所述电压采集模块获取相同类型的内存条对应的第一基准电压值;

响应于获取第一基准电压值完成,根据所述第一采集次数继续获取所述第一基准电压值并根据所述第一采集次数对应的第一基准电压值生成所述第一基准阻抗数据。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述根据所述内存槽测试指令执行待测内存槽的内存槽对比测试和内存槽同步测试包括:

控制所述电压采集模块获取所述待测内存槽对应的第二管脚电压数据;

根据所述双向二进制同步串行总线信息对所述第二管脚电压数据进行数组格式编号处理;

响应于所述数组格式编号处理完成,根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值;

根据所述多个第二阻抗对比值和所述差异阈值确定所述多对第二测试管脚中是否存在一对或多对第二目标管脚;

若是,则根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述根据所述第二管脚电压数据生成多对第二测试管脚的多个第二阻抗对比值包括:

根据所述电压采集模块中的第一电阻R

R

根据相同编号的第二测试管脚对应的第二测试阻抗计算出所述多个第二阻抗对比值。

在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:

所述根据第二基准阻抗数据、所述第二目标管脚对应的第二目标阻抗数据和所述差异阈值确定所述第二目标管脚中的第二故障管脚包括:

确定带电可擦可编程只读存储器中是否存在所述待测内存槽对应的第二基准阻抗数据;

若否,则响应于接收到所述用户输入的所述第二基准阻抗数据对应的第二采集次数,通过所述电压采集模块获取相同类型的内存槽对应的第二基准电压值;

响应于获取基准电压值完成,根据所述第二采集次数继续获取所述第二基准电压值并根据所述第二采集次数对应的第二基准电压值生成所述第二基准阻抗数据;

若是,则根据所述第二基准阻抗数据和所述第二目标阻抗数据生成第二阻抗同步值并根据所述第二阻抗同步值和所述差异阈值确定所述第二故障管脚。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 内存装配位置校验方法及装置、存储介质及电子设备
  • 一种基于Slam定位方法、装置、电子设备及计算机存储介质
  • 一种车辆定位方法、装置、电子设备及存储介质
  • 一种定位方法、装置、电子设备及计算机可读存储介质
  • 图像关键点的定位方法、装置、存储介质及电子设备
  • 故障内存条的处理方法及装置、电子设备及存储介质
  • 内存故障处理方法及装置、存储介质及电子设备
技术分类

06120116494008