一种测试HPPR功能的方法、系统、设备及存储介质与流程

文档序号:31447830发布日期:2022-09-07 12:23阅读:913来源:国知局
一种测试hppr功能的方法、系统、设备及存储介质
技术领域
:1.本技术涉及服务器内存
技术领域
:,尤其涉及一种测试hppr功能的方法、系统、设备及存储介质。
背景技术
::2.内存在服务器中有着重要的地位,是服务器不可或缺的部分。内存的质量直接影响到整个服务器的质量。并且近年来,内存技术发展迅速,内存容量及性能不断提升,内存的颗粒度也越来越密集,内存的行和位故障对内存生产商以及服务器生产商带来巨大的挑战。3.针对内存,bios(basicinputoutputsystem,基本输入输出系统)部分有一个ppr(postpackagerepair,封装后修复)功能其目的就是在服务器启动过程中修复所有内存的行和位的故障,以降低故障率,避免更换内存,提高整机的质量并且节省时间及成本。bios测试中的hppr(hardpostpackagerepair,硬封装后修复)测试,是针对hard-ppr这个功能的测试,用以保障功能正常。4.依赖内存厂商提供的故障内存样品,内存厂商较多,一般会在三家及以上,并且内存hppr功能测试结束后,故障内存中的故障会被修复,修复后的内存不能再次用于hppr功能测试,导致后续测试无法完成,对bios测试来说很不方便。技术实现要素:5.本技术实施例提供了一种测试hppr功能的方法、系统、设备及存储介质,用以解决现有的hppr测试依赖厂商提供的测试工具,使用不方便的技术问题。6.一方面,本技术实施例提供了一种测试hppr功能的方法,所述方法包括:7.确定bios的hppr功能已开启;8.基于intel调试工具以及cscripts脚本模拟内存故障;9.检查所述bios的串口信息;10.基于所述bios的串口信息检查情况,确定所述hppr功能是否正常。11.在本技术的一种实现方式中,所述确定bios的hppr功能已开启之前,所述方法还包括:12.进入bios的setup选项;13.修改所述setup选项并保存;14.收集所述bios的串口信息。15.在本技术的一种实现方式中,所述确定bios的hppr功能已开启,具体包括:16.若所述bios的串口信息为hardpprsupported:yes和/或pprtype:02,则所述hppr功能已开启;17.若所述bios的串口信息为hardpprsupported:no和/或pprtype:0,则所述hppr功能未开启;18.若所述bios的串口信息中不包含hardpprsupported或pprtype,则内存不支持hppr功能。19.在本技术的一种实现方式中,所述确定所述hppr功能是否正常,具体包括:20.若所述bios的串口信息中ppr修复状态为通过;以及,21.所述bios的串口信息中执行ppr开始,直至执行ppr结束;22.则证明所述hppr功能正常。23.在本技术的一种实现方式中,所述intel调试工具为intelsystemdebuggernda。24.在本技术的一种实现方式中,一种测试hppr功能的系统,所述系统包括:25.确定模块,用于确定bios的hppr功能已开启;26.故障模拟模块,用于基于intel调试工具以及cscripts脚本模拟内存故障;27.检查模块,用于检查所述bios的串口信息;28.判断模块,用于基于所述bios的串口信息检查情况,确定所述hppr功能是否正常。29.在本技术的一种实现方式中,所述故障模拟模块中,intel调试工具为intelsystemdebuggernda。30.在本技术的一种实现方式中,所述故障模拟模块中,基于如下命令模拟内存故障:31.ei.injectmemerror(socket=0,channel=0,sub_channel=0,dimm=0,rank=1,bank_group=0,bank=2,errtype=“ce”)。32.在本技术的一种实现方式中,提供了一种测试hppr功能的设备,所述设备包括:33.至少一个处理器;以及,34.与所述至少一个处理器通信连接的存储器;其中,35.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:36.确定bios的hppr功能已开启;37.基于intel调试工具以及cscripts脚本模拟内存故障;38.检查所述bios的串口信息;39.基于所述bios的串口信息检查情况,确定所述hppr功能是否正常。40.在本技术的一种实现方式中,提供了一种测试hppr功能的的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:41.确定bios的hppr功能已开启;42.基于intel调试工具以及cscripts脚本模拟内存故障;43.检查所述bios的串口信息;44.基于所述bios的串口信息检查情况,确定所述hppr功能是否正常。45.本技术实施例提供的一种测试hppr功能的方法,不必依赖于各内存厂商提供故障内存及测试工具进行hppr功能测试,而是可以自行验证bios的hppr功能是否能够正常使用。本技术可以根据bios串口信息判断当前内存是否支持hppr功能,并及时根据相应的情况更换支持hppr功能的内存。除此之外,本技术提供的方法还设置了内存故障模拟,并不需要实际发生内存故障就可以进行hppr功能测试。这使得该hppr功能测试方案可以重复多次使用,并不会随着内存故障被修复而无法再次测试,仅需要输入相应的命令符就可以模拟内存故障的环境,进行hppr功能测试,极大地提升了用户体验。附图说明46.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:47.图1为本技术实施例提供的一种测试hppr功能的方法流程图;48.图2为本技术实施例提供的一种测试hppr功能的系统结构图;49.图3为本技术实施例提供的一种测试hppr功能的装置示意图。具体实施方式50.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。51.内存在服务器中有着重要的地位,是服务器不可或缺的部分。内存的质量直接影响到整个服务器的质量。并且近年来,内存技术发展迅速,内存容量及性能不断提升,内存的颗粒度也越来越密集,内存的行和位故障对内存生产商以及服务器生产商带来巨大的挑战。52.针对内存,bios(basicinputoutputsystem,基本输入输出系统)部分有一个ppr功能,其目的就是在服务器启动过程中修复所有内存的行和位的故障,以降低故障率,避免更换内存,提高整机的质量并且节省时间及成本。bios测试中的hppr测试,是针对hard-ppr这个功能的测试,用以保障功能正常。53.依赖内存厂商提供的故障内存样品,内存厂商较多,一般会在三家及以上,并且内存hppr功能测试结束后,故障内存中的故障会被修复,修复后的内存不能再次用于hppr功能测试,导致后续测试物料不足,对bios测试来说很不方便。54.本技术实施例提供了一种测试hppr功能的方法、系统、设备及存储介质,用以解决现有的hppr测试依赖厂商提供的测试工具,使用不方便的技术问题。55.下面通过附图对本技术实施例提出的技术方案进行详细的说明。56.图1为本技术实施例提供的一种测试hppr功能的方法流程图。如图1所示,该方法主要包括以下步骤:57.步骤101、确定bios的hppr功能已开启。58.本技术实施例中,在开始进行hppr功能测试之前,首先需要进入bios的setup选项,进行setup选项的修改,修改内容为:59.进入platformconfiguration→systemeventlog设置:60.systemerrors=enable61.memoryerrorenabling→memoryerror=enable62.memoryerrorenabling→memorycorrectederror=enable63.memoryerrorenabling→spareinterrupt=smi64.emcasettings→emcacmci-smimorphing=emcagen2cmci65.wheasettings→wheasupport=enable66.wheasettings→whealogmemoryerror=enable67.wheasettings→whealogpcierror=enable68.errorinjectionsettings→wheaerrorinjectionsupport=enable69.errorinjectionsettings→wheaerrorinjection5.0=enable70.进入socketconfiguration设置:71.memoryconfiguration→pprtype=hardppr72.memoryconfiguration→pprerrorinjectiontest=enable73.memoryrasconfiguration→correctableerrorthreshold=174.processorconfiguration→lockchipset=disable75.processorconfiguration→ioconfiguration→iiodfxconfiguration→evdfxfeatures=enable76.进入advanced→systemdebugconfiguration设置:77.systemdebuglevel=debug,78.进入platformconfiguration→miscellaneousconfiguration设置:79.serialdebugmessagelevel=maximum80.进入platformconfiguration→runtimeerrorlogging设置:81.rasloglevel=max(basic_flow,func_flow,reg)82.进入platformconfiguration→pchconfiguration设置:83.dcienable(hdcien)=enabled。84.本技术实施例中,进行了上述setup选项修改之后,将执行的修改内容进行保存,然后重启机器,收集bios的串口信息。85.进一步地,在机器进入linuxos之后,检查bios的串口信息。然后根据bios的串口信息判断hppr功能是否已经开启。86.若所述bios的串口信息为hardpprsupported:yes和/或pprtype:02,则所述hppr功能已开启;87.若所述bios的串口信息为hardpprsupported:no和/或pprtype:0,则所述hppr功能未开启;88.若所述bios的串口信息中不包含hardpprsupported或pprtype,则内存不支持hppr功能。如果检测出内存不支持hppr功能,则需要更换支持hppr功能的内存。89.步骤102、基于intel调试工具以及cscripts脚本模拟内存故障。90.本技术实施例中,使用intel工具以及搭配cscripts工具,通过如下命令模拟内存故障:91.ei.injectmemerror(socket=0,channel=0,sub_channel=0,dimm=0,rank=1,bank_group=0,bank=2,errtype=“ce”)。92.需要说明的是,命令需要对应平台文档及实际内存位置,本技术实施例中提供的上述命令仅是其中一个实施例。93.在本技术的一个实施例中,intel工具可以是intelsystemdebuggernda。同样也可以使用其他intel工具。94.步骤103、检查所述bios的串口信息。95.本技术实施例中,进行内存故障模拟之后,需要再次重启机器,然后进行bios的串口信息收集。96.步骤104、基于所述bios的串口信息检查情况,确定所述hppr功能是否正常。97.本技术实施例中,经过步骤103重新收集故障模拟之后的bios串口信息,进行判断hppr功能是否正常。98.若所述bios的串口信息中ppr修复状态为通过;以及,99.所述bios的串口信息中执行ppr开始,直至执行ppr结束;100.则证明所述hppr功能正常。101.具体来说,若所述bios的串口信息中包含pprrepairstatus:passed,ce;以及,102.executeppr–start103.……………104.executeppr–end;105.则证明所述hppr功能正常,经过模拟的故障内存已经被修复,hppr功能测试通过。若检查到bios的串口信息未包含上述命令符,则表示hppr功能触发修复内存故障失败,此时hppr功能测试不通过,需要确认存在的问题并进行修复。106.本技术实施例提供的一种测试hppr功能的方法,不必依赖于各内存厂商提供故障内存及测试工具进行hppr功能测试,而是可以自行验证bios的hppr功能是否能够正常使用。本技术可以根据bios串口信息判断当前内存是否支持hppr功能,并及时根据相应的情况更换支持hppr功能的内存。除此之外,本技术提供的方法还设置了内存故障模拟,并不需要实际发生内存故障就可以进行hppr功能测试。这使得该hppr功能测试方案可以重复多次使用,并不会随着内存故障被修复而无法再次测试,仅需要输入相应的命令符就可以模拟内存故障的环境,进行hppr功能测试,极大地提升了用户体验。107.以上是本技术实施例提供的一种测试hppr功能的方法,基于同样的发明构思,本技术实施例还提供了一种测试hppr功能的系统,如图2所示,该系统主要包括:108.确定模块,用于确定bios的hppr功能已开启;109.故障模拟模块,用于基于intel调试工具以及cscripts脚本模拟内存故障;110.检查模块,用于检查所述bios的串口信息;111.判断模块,用于基于所述bios的串口信息检查情况,确定所述hppr功能是否正常。112.在本技术实施例中,故障模拟模块中,intel调试工具为intelsystemdebuggernda。113.在本技术实施例中,故障模拟模块中,基于如下命令模拟内存故障:114.ei.injectmemerror(socket=0,channel=0,sub_channel=0,dimm=0,rank=1,bank_group=0,bank=2,errtype=“ce”)。115.本技术实施例中,一种测试hppr功能的系统还包括修改模块,用于进入bios的setup选项,修改所述setup选项并保存。116.修改内容为:117.进入platformconfiguration→systemeventlog设置:118.systemerrors=enable119.memoryerrorenabling→memoryerror=enable120.memoryerrorenabling→memorycorrectederror=enable121.memoryerrorenabling→spareinterrupt=smi122.emcasettings→emcacmci-smimorphing=emcagen2cmci123.wheasettings→wheasupport=enable124.wheasettings→whealogmemoryerror=enable125.wheasettings→whealogpcierror=enable126.errorinjectionsettings→wheaerrorinjectionsupport=enable127.errorinjectionsettings→wheaerrorinjection5.0=enable128.进入socketconfiguration设置:129.memoryconfiguration→pprtype=hardppr130.memoryconfiguration→pprerrorinjectiontest=enable131.memoryrasconfiguration→correctableerrorthreshold=1132.processorconfiguration→lockchipset=disable133.processorconfiguration→ioconfiguration→iiodfxconfiguration→evdfxfeatures=enable134.进入advanced→systemdebugconfiguration设置:135.systemdebuglevel=debug,136.进入platformconfiguration→miscellaneousconfiguration设置:137.serialdebugmessagelevel=maximum138.进入platformconfiguration→runtimeerrorlogging设置:139.rasloglevel=max(basic_flow,func_flow,reg)140.进入platformconfiguration→pchconfiguration设置:141.dcienable(hdcien)=enabled。142.本技术实施例中,判断模块检查bios的串口信息。然后根据bios的串口信息判断hppr功能是否已经开启。143.若所述bios的串口信息为hardpprsupported:yes和/或pprtype:02,则所述hppr功能已开启;144.若所述bios的串口信息为hardpprsupported:no和/或pprtype:0,则所述hppr功能未开启;145.若所述bios的串口信息中不包含hardpprsupported或pprtype,则内存不支持hppr功能。如果检测出内存不支持hppr功能,则需要更换支持hppr功能的内存。146.本技术实施例中,判断模块判断若所述bios的串口信息中ppr修复状态为通过;以及,所述bios的串口信息中执行ppr开始,直至执行ppr结束;147.则证明所述hppr功能正常。148.具体来说,所述bios的串口信息中包含pprrepairstatus:passed,ce;以及,149.executeppr–start150.……………151.executeppr–end;152.则证明所述hppr功能正常,经过模拟的故障内存已经被修复,hppr功能测试通过。若检查到bios的串口信息未包含上述命令符,则表示hppr功能触发修复内存故障失败,此时hppr功能测试不通过,需要确认存在的问题并进行修复。153.本技术实施例提供的一种测试hppr功能的方法,不必依赖于各内存厂商提供故障内存及测试工具进行hppr功能测试,而是可以自行验证bios的hppr功能是否能够正常使用。本技术可以根据bios串口信息判断当前内存是否支持hppr功能,并及时根据相应的情况更换支持hppr功能的内存。除此之外,本技术提供的方法还设置了内存故障模拟,并不需要实际发生内存故障就可以进行hppr功能测试。这使得该hppr功能测试方案可以重复多次使用,并不会随着内存故障被修复而无法再次测试,仅需要输入相应的命令符就可以模拟内存故障的环境,进行hppr功能测试,极大地提升了用户体验。154.以上是本技术实施例提供的一种测试hppr功能的系统,基于同样的发明构思,本技术实施例还提供了一种测试hppr功能的设备,图3为本技术实施例提供的一种测试hppr功能的设备示意图,如图3所示,该设备主要包括:至少一个处理器301;以及,与至少一个处理器通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够完成:155.确定bios的hppr功能已开启;156.基于intel调试工具以及cscripts脚本模拟内存故障;157.检查所述bios的串口信息;158.基于所述bios的串口信息检查情况,确定所述hppr功能是否正常。159.除此之外,本技术实施例还提供了一种测试hppr功能的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:160.确定bios的hppr功能已开启;161.基于intel调试工具以及cscripts脚本模拟内存故障;162.检查所述bios的串口信息;163.基于所述bios的串口信息检查情况,确定所述hppr功能是否正常。164.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。165.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。166.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。167.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。168.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。169.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。170.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1