CN115658373B - 基于服务器的内存处理方法和装置、处理器及电子设备 - Google Patents
基于服务器的内存处理方法和装置、处理器及电子设备 Download PDFInfo
- Publication number
- CN115658373B CN115658373B CN202211604326.6A CN202211604326A CN115658373B CN 115658373 B CN115658373 B CN 115658373B CN 202211604326 A CN202211604326 A CN 202211604326A CN 115658373 B CN115658373 B CN 115658373B
- Authority
- CN
- China
- Prior art keywords
- memory
- fault
- determining
- detection
- detection strategy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 1319
- 238000003672 processing method Methods 0.000 title claims abstract description 50
- 238000001514 detection method Methods 0.000 claims abstract description 388
- 238000000034 method Methods 0.000 claims abstract description 80
- 238000012423 maintenance Methods 0.000 claims abstract description 62
- 230000008439 repair process Effects 0.000 claims description 184
- 238000012545 processing Methods 0.000 claims description 35
- 239000000758 substrate Substances 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 29
- 238000011156 evaluation Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 10
- 230000036541 health Effects 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 86
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005195 poor health Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开了一种基于服务器的内存处理方法和装置、处理器及电子设备,其中,该方法包括:依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;若确定执行对所述目标服务器内存的检修,则获取所述目标服务器中的多个内存的内存硬件参数,并依据所述内存硬件参数确定每个内存的检测策略;依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对所述故障内存进行修复。本申请解决了相关技术中在服务器内存出现故障时,直接替换故障内存,导致对内存的使用率较低的技术问题。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种基于服务器的内存处理方法和装置、处理器及电子设备。
背景技术
安全性,稳定性是服务器产品的重要指针,由于服务器长期持续的高负荷的工作,服务器主板元器件因老化出现性能下降的几率很大,尤其是内存的故障频率高于其他部件,内存出现故障后很容易导致系统宕机,所以提高内存运行稳定性对服务器稳定运行有极大意义。另外内存也是服务器中使用数量最多部件之一,运维成本也是现今IDC机房面对难题。内存部件故障一般有软故障和硬故障。
内存稳定性和可靠性对于服务器稳定运行有很大的决定因素,当前服务器运营中心服务器宕机超过50%是由于内存问题引起的,一般情况下内存故障后,运维会直接更换故障内存,导致内存未能做有效的利用。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种基于服务器的内存处理方法和装置、处理器及电子设备,以至少解决相关技术中在服务器内存出现故障时,直接替换故障内存,导致对内存的使用率较低的技术问题。
根据本申请实施例的一个方面,提供了一种基于服务器的内存处理方法,包括:依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;若确定执行对所述目标服务器内存的检修,则获取所述目标服务器中的多个内存的内存硬件参数,并依据所述内存硬件参数确定每个内存的检测策略;依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对所述故障内存进行修复。
进一步地,依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对所述故障内存进行修复包括:依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位,其中,所述故障位为内存中的最小存储单元;通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存。
进一步地,在依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修之前,所述方法还包括:在所述目标服务器运行过程中,检测所述目标服务器中的内存是否报错;若所述目标服务器中的内存报错,则触发系统管理中断并将所述内存报错的数据信息发送至所述基板管理控制器,以通过所述基板管理控制将所述目标标志位设置为第一预设数值;重新启动所述目标服务器。
进一步地,依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修包括:所述目标服务器从所述基板管理控制器读取所述目标标志位;若所述目标标志位为所述第一预设数值,则执行对所述目标服务器内存的检修。
进一步地,依据所述内存硬件参数确定每个内存的检测策略包括:依据所述内存硬件参数,读取所述基板管理控制器存储的每个内存的历史数据信息,其中,所述历史数据信息中至少包括:已运行时长、修复次数和已修复位数;依据所述历史数据信息,确定每个内存的检测策略。
进一步地,依据所述内存硬件参数确定每个内存的检测策略包括:依据所述内存硬件参数,读取所述基板管理控制器存储的预设检测策略,其中,所述预设检测策略是基于智能平台管理接口指令设置的检测策略;将所述预设检测策略作为每个内存的检测策略。
进一步地,所述检测策略为以下之一:第一检测策略、第二检测策略和第三检测策略,其中,所述第一检测策略的检测速度慢于所述第二检测策略的检测速度和所述第三检测策略是预先配置的检测策略。
进一步地,依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位包括:若所述检测策略为所述第一检测策略,则对每个内存下的每个存储芯片进行故障检测,确定所述故障内存和所述故障内存对应的故障位。
进一步地,依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位包括:若所述检测策略为所述第二检测策略,则对每个内存下的存储芯片进行抽检,确定所述故障内存和所述故障内存对应的故障位。
进一步地,依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位包括:若所述检测策略为所述第三检测策略,则确定所述第三检测策略对应的检测字符和所述第三检测策略对应的响应时间,其中,所述检测字符用于写入每个内存,以确定每个内存是否存在故障,所述响应时间每个内存写入字符的时间;依据所述检测字符和所述响应时间,对每个内存进行检测,确定所述故障内存和所述故障内存对应的故障位。
进一步地,依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位包括:确定第一数据和第二数据,其中,所述第一数据和所述第二数据用于写入每个内存中,其中,所述第二数据由对所述第一数据进行逐位取反得到;依据所述第一数据和所述第二数据,确定所述故障内存和所述故障内存对应的故障位。
进一步地,依据所述第一数据和所述第二数据,确定所述故障内存和所述故障内存对应的故障位包括:在每个内存中写入所述第一数据,并在第一预设时间后从每个内存中读取所述第一数据,得到第一读取数据;若存在第一内存对应的所述第一读取数据与所述第一数据不相同,则确定所述第一内存为所述故障内存,并依据所述第一读取数据确定所述故障内存对应的故障位;若所述第一数据与所述第一读取数据相同,则在每个内存中写入所述第二数据,并在第二预设时间后从每个内存中读取所述第二数据,得到第二读取数据;若存在第二内存对应的所述第二读取数据与所述第二数据不相同,则确定所述第二内存为所述故障内存,并依据所述第二读取数据确定所述故障内存对应的故障位。
进一步地,通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存包括:判断所述故障内存中否存在冗余位;若所述故障内存中存在冗余位,则通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存。
进一步地,在判断所述故障内存中否还存在冗余位之后,所述方法还包括:若所述故障内存中不存在冗余位,则表征所述故障内存已不可修复。
进一步地,若所述故障内存中存在冗余位,则通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存包括:依据所述故障内存的内存硬件参数,确定是否存在所述故障内存对应的内存修复准则,其中,所述内存修复准则至少包括:修复次数小于第二预设数值和/或修复位数小于第三预设数值;若存在所述故障内存对应的内存修复准则,则判断所述故障内存对应的修复次数和修复位数是否满足所述内存修复准则;若所述故障内存对应的修复次数和修复位数满足所述内存修复准则,则通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存。
进一步地,在判断所述故障内存是否满足所述内存修复准则之后,所述方法还包括:若所述故障内存对应的修复次数和修复位数不满足所述内存修复准则,则表征所述故障内存不可修复。
进一步地,在通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存之后,所述方法还包括:确定所述多个内存中不可修复的故障内存,已修复的故障内存和非故障内存;获取所述不可修复的故障内存的第一数据信息,获取所述已修复的故障内存的第二数据信息以及获取所述非故障内存的第三数据信息;依据所述第一数据信息、所述第二数据信息以及所述第三数据信息确定所述目标服务器的内存检修结果。
进一步地,在依据所述第一数据信息、所述第二数据信息以及所述第三数据信息确定所述目标服务器的内存检修结果之后,所述方法还包括:将所述内存检修结果发送至所述基板管理控制器;通过所述基板管理控制器读取所述内存检修结果,并识别出不可修复的故障内存;将所述不可修复的故障内存发送至目标对象,以通过所述目标对象对所述不可修复的故障内存进行更换处理。
进一步地,在将所述不可修复的故障内存发送至目标对象之后,所述方法还包括:依据内存硬件参数,将所述内存检修结果存储至每个内存对应的历史数据信息中。
进一步地,在将所述内存检修结果存储至每个内存对应的历史数据信息中之后,所述方法还包括:依据每个内存对应的历史数据信息对每个内存的健康状态进行评估,得到评估结果;依据所述评估结果对每个内存的预设检测策略进行更新处理。
根据本申请实施例的另一方面,还提供了一种基于服务器的内存处理装置,包括:第一确定单元,用于依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;第一获取单元,用于若确定执行对所述目标服务器内存的检修,则获取所述目标服务器中的多个内存的内存硬件参数,并依据所述内存硬件参数确定每个内存的检测策略;修复单元,用于依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对所述故障内存进行修复。
进一步地,所述修复单元包括:检测子单元,用于依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位,其中,所述故障位为内存中的最小存储单元;替换子单元,用于通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存。
进一步地,所述装置还包括:检测单元,用于在依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修之前,在所述目标服务器运行过程中,检测所述目标服务器中的内存是否报错;触发单元,用于若所述目标服务器中的内存报错,则触发系统管理中断并将所述内存报错的数据信息发送至所述基板管理控制器,以通过所述基板管理控制将所述目标标志位设置为第一预设数值;重启单元,用于重新启动所述目标服务器。
进一步地,所述第一确定单元包括:读取子单元,用于所述目标服务器从所述基板管理控制器读取所述目标标志位;执行子单元,用于若所述目标标志位为所述第一预设数值,则执行对所述目标服务器内存的检修。
进一步地,所述第一获取单元包括:第一读取子单元,用于依据所述内存硬件参数,读取所述基板管理控制器存储的每个内存的历史数据信息,其中,所述历史数据信息中至少包括:已运行时长、修复次数和已修复位数;第一确定子单元,用于依据所述历史数据信息,确定每个内存的检测策略。
进一步地,所述第一确定单元还包括:第二读取子单元,用依据所述内存硬件参数,读取所述基板管理控制器存储的预设检测策略,其中,所述预设检测策略是基于智能平台管理接口指令设置的检测策略;第二确定子单元,用于将所述预设检测策略作为每个内存的检测策略。
进一步地,所述检测策略为以下之一:第一检测策略、第二检测策略和第三检测策略,其中,所述第一检测策略的检测速度慢于所述第二检测策略的检测速度和所述第三检测策略是预先配置的检测策略。
进一步地,所述检测子单元包括:第一检测模块,用于若所述检测策略为所述第一检测策略,则对每个内存下的每个存储芯片进行故障检测,确定所述故障内存和所述故障内存对应的故障位。
进一步地,所述检测子单元包括:第二检测模块,用于若所述检测策略为所述第二检测策略,则对每个内存下的存储芯片进行抽检,确定所述故障内存和所述故障内存对应的故障位。
进一步地,所述检测子单元包括:第一确定模块,用于若所述检测策略为所述第三检测策略,则确定所述第三检测策略对应的检测字符和所述第三检测策略对应的响应时间,其中,所述检测字符用于写入每个内存,以确定每个内存是否存在故障,所述响应时间每个内存写入字符的时间;第三检测模块,用于依据所述检测字符和所述响应时间,对每个内存进行检测,确定所述故障内存和所述故障内存对应的故障位。
进一步地,所述检测子单元包括:第二确定模块,用于确定第一数据和第二数据,其中,所述第一数据和所述第二数据用于写入每个内存中,其中,所述第二数据由对所述第一数据进行逐位取反得到;第三确定模块,用于依据所述第一数据和所述第二数据,确定所述故障内存和所述故障内存对应的故障位。
进一步地, 所述第二确定模块包括:第一写入子模块,用于在每个内存中写入所述第一数据,并在第一预设时间后从每个内存中读取所述第一数据,得到第一读取数据;第一确定子模块,用于若存在第一内存对应的所述第一读取数据与所述第一数据不相同,则确定所述第一内存为所述故障内存,并依据所述第一读取数据确定所述故障内存对应的故障位;第二写入子模块,用于若所述第一数据与所述第一读取数据相同,则在每个内存中写入所述第二数据,并在第二预设时间后从每个内存中读取所述第二数据,得到第二读取数据;第二确定子模块,用于若存在第二内存对应的所述第二读取数据与所述第二数据不相同,则确定所述第二内存为所述故障内存,并依据所述第二读取数据确定所述故障内存对应的故障位。
进一步地,所述替换子单元包括:第一判断模块,用于判断所述故障内存中否存在冗余位;第一替换模块,用于若所述故障内存中存在冗余位,则通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存。
进一步地,所述装置还包括:第二确定单元,用于在判断所述故障内存中否还存在冗余位之后,若所述故障内存中不存在冗余位,则表征所述故障内存已不可修复。
进一步地,所述替换子单元包括:第四确定模块,用于依据所述故障内存的内存硬件参数,确定是否存在所述故障内存对应的内存修复准则,其中,所述内存修复准则至少包括:修复次数小于第二预设数值和/或修复位数小于第三预设数值;第二判断模块,用于若存在所述故障内存对应的内存修复准则,则判断所述故障内存对应的修复次数和修复位数是否满足所述内存修复准则;第二替换模块,用于若所述故障内存对应的修复次数和修复位数满足所述内存修复准则,则通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存。
进一步地,所述装置还包括:第三确定单元,用于在判断所述故障内存是否满足所述内存修复准则之后,若所述故障内存对应的修复次数和修复位数不满足所述内存修复准则,则表征所述故障内存不可修复。
进一步地,所述装置还包括:第四确定单元,用于在通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存之后,确定所述多个内存中不可修复的故障内存,已修复的故障内存和非故障内存;第二获取单元,用于获取所述不可修复的故障内存的第一数据信息,获取所述已修复的故障内存的第二数据信息以及获取所述非故障内存的第三数据信息;第五确定单元,用于依据所述第一数据信息、所述第二数据信息以及所述第三数据信息确定所述目标服务器的内存检修结果。
进一步地,所述装置还包括:第一发送单元,用于在依据所述第一数据信息、所述第二数据信息以及所述第三数据信息确定所述目标服务器的内存检修结果之后,将所述内存检修结果发送至所述基板管理控制器;识别单元,用于通过所述基板管理控制器读取所述内存检修结果,并识别出不可修复的故障内存;第二发送单元,用于将所述不可修复的故障内存发送至目标对象,以通过所述目标对象对所述不可修复的故障内存进行更换处理。
进一步地,所述装置还包括:存储单元,用于在将所述不可修复的故障内存发送至目标对象之后,依据内存硬件参数,将所述内存检修结果存储至每个内存对应的历史数据信息中。
进一步地,所述装置还包括:评估单元,用于在将所述内存检修结果存储至每个内存对应的历史数据信息中之后,依据每个内存对应的历史数据信息对每个内存的健康状态进行评估,得到评估结果;更新单元,用于依据所述评估结果对每个内存的预设检测策略进行更新处理。
为了实现上述目的,根据本申请的一个方面,提供了一种处理器,处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的基于服务器的内存处理方法。
为了实现上述目的,根据本申请的一个方面,提供了一种电子设备,电子设备包括一个或多个处理器和存储器,存储器用于存储一个或多个处理器实现上述任意一项所述的基于服务器的内存处理方法。
在本申请实施例中,采用以下步骤:依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;若确定执行对目标服务器内存的检修,则获取目标服务器中的多个内存的内存硬件参数,并依据内存硬件参数确定每个内存的检测策略;依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对故障内存进行修复,解决了相关技术中在服务器内存出现故障时,直接替换故障内存,导致对内存的使用率较低的技术问题。在本方案中,在确定需要进行内存检修时,通过内存硬件参数确定每个内存的检测策略,通过不同的检测策略实现对内存的准确检测,在确定故障内存后,对故障模块进行修复,进而达到了内存的使用率的效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例一提供的计算机终端的示意图;
图2是根据本申请实施例一提供的基于服务器的内存处理方法的流程图;
图3是根据本申请实施例一提供的可选的基于服务器的内存处理方法的流程图;
图4是根据本申请实施例一提供的内存检测的流程图;
图5是根据本申请实施例二提供的基于服务器的内存处理装置的示意图;
图6是根据本申请实施例三提供的计算机终端的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,还提供了一种基于服务器的内存处理方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现基于服务器的内存处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的基于服务器的内存处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于服务器的内存处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请提供了如图2所示的基于服务器的内存处理方法。图2是根据本申请实施例一的基于服务器的内存处理方法的流程图。
下面对本申请实施例一提供的基于服务器的内存处理方法进行介绍,如图2所示,该方法包括:
步骤S201,依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;
步骤S202,若确定执行对目标服务器内存的检修,则获取目标服务器中的多个内存的内存硬件参数,并依据内存硬件参数确定每个内存的检测策略;
步骤S203,依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对故障内存进行修复。
具体地,明确是否需要对目标服务器内存进行检修,通过读取基板管理控制器(BMC)存储的目标标志位,确定是否执行对目标服务器内存的检修。
BMC(Baseboard Management Controller,基板管理控制器),通过内置的FW(固件)和散布在基板,系统板和机箱的传感器(sensor)实现对服务器的数据收集,事件记录,错误诊断,故障排除等管理功能。
在确定需要进行内存检修后,通过SPD(serial presence detect,模组存在的串行检测)获取目标服务器中的多个内存的内存硬件参数,内存硬件参数可以包括但不限于内存标识等信息。通过内存硬件参数确定每个内存的检测策略。
需要说明的是 ,检测策略至少包括:第一检测策略、第二检测策略和第三检测策略。第一检测策略也可以叫做全面检测策略,全面检测策略会对每个内存下的所有的存储芯片进行检测,但该检测策略检修时间较长。由于存在一部分内存并不会经常用到,那么对应的也就没有必要每次都对这些内存进行检修,第二检测策略也可以叫做快速检测策略,快速检测策略会对每个内存中的存储芯片进行抽检。第三检测策略也可以叫做特定模型检测策略,用户可以根据一些实际需求进行个性化设置,例如,设置写入内存的字符以及内存写入的响应时间等。
通过选择合理的检测策略能够有效提高对内存检修的效率和准确性。
在确定每个内存的检测策略之后,通过检测策略对每个内存进行检测,确定故障内存,并对故障内存进行修复。如果内存检测后如果没有硬故障可以通知客户继续使用,如果有硬故障,比如某些位出现故障,则需要通过PPR技术,用冗余的位替换故障的位,实现对故障内存的修复。PPR( Post package repair)为内存芯片封装后修复方案。
综上所述,在确定需要进行内存检修时,通过内存硬件参数确定每个内存的检测策略,通过不同的检测策略实现对内存的准确检测,在确定故障内存后,对故障模块进行修复,提高了内存的使用率。通过上述步骤筛选出出厂及使用过程中出现无法修复故障或者存在风险的内存,提高内存的稳定性和健壮性,提高服务器组装生产及服务器运行过程的稳定性和可靠性,并降低了由于频繁更换内存导致的成本提升。
为了准确地对内存进行修复,在本申请实施例一提供的基于服务器的内存处理方法中,依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对故障内存进行修复包括:依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位,其中,故障位为内存中的最小存储单元;通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
具体地,在对每个内存检测时,确定故障内存的同时还会准确确定故障内存对应的故障位。一般来说内存在制造时,会预留一部分的冗余位 ,例如一般会预留10%的冗余位,因此,在检测出故障内存后,通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。通过上述步骤,可以实现对故障内存的准确修复。
由于维修会存在一定的时间成本,那么为了节约时间成本,可以通过以下方式确定是否需要进行内存维修:在目标服务器运行过程中,检测目标服务器中的内存是否报错;若目标服务器中的内存报错,则触发系统管理中断并将内存报错的数据信息发送至基板管理控制器,以通过基板管理控制将目标标志位设置为第一预设数值;重新启动目标服务器。
依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修包括:目标服务器从基板管理控制器读取目标标志位;若目标标志位为预设数值,则执行对目标服务器内存的检修。
具体地,目标服务器开启运行,并在目标服务器正常运行业务,然后检测目标服务器是否报错,如果出现内存报错则直接触发系统管理中断(SMI中断)并通知基板管理控制器,将内存报错的数据信息发送至基板管理控制器。基板管理控制器在接收到报错信息后,将检测修复功能标志位(即上述的目标标志位)设置为预设数值(例如,设置为1)。然后重新启动目标服务器。
在对目标服务器重新启动后,目标服务器从基板管理控制器读取目标标志位,如果目标标志位为预设数值,则执行对目标服务器内存的检修。
综上所述,在出现内存报错时,通过对目标标志位的设置,实现对是否执行内存检测的准确控制。
需要说明的是,在实际应用中,用户还可以设置定期进行内存检测,以实现提高内存稳定性的效果。
为了准确为内存匹配检测策略,在本申请实施例一提供的基于服务器的内存处理方法中,依据内存硬件参数确定每个内存的检测策略包括:依据内存硬件参数,读取基板管理控制器存储的每个内存的历史数据信息,其中,历史数据信息中至少包括:已运行时长、修复次数和已修复位数;依据历史数据信息,确定每个内存的检测策略。
依据内存硬件参数,读取基板管理控制器存储的预设检测策略,其中,预设检测策略是基于智能平台管理接口指令设置的检测策略;将预设检测策略作为每个内存的检测策略。
具体地,采用以下方式之一确定每个内存的检测策略:
方式一:通过内存硬件参数,从基板管理控制器中读取每个内存的历史数据信息,历史数据信息中包括但不限于已运行时长、修复次数和已修复位数。已运行时长为内存当前已被使用的时间长度;修复次数指的是内存在此次检测之前已经被维修的次数;已修复位指的是内存中已经被修复过的最小存储位的位数。
根据上述的这些数据信息确定每个内存的检测策略。例如,某一内存为第一次使用,则可以采用快速检测策略,某一内存已修复过很多次,则可以采用全面检测策略等。
方式二:可以直接根据内存硬件参数,读取基板管理控制器存储的预设检测策略。需要说明的是,预设检测策略是用于基于智能平台管理接口指令(IPMI指令)设置的默认检测策略。需要说明的是,默认检测策略还可以再细分为生产阶段下的检测策略和运维阶段下的检测策略。
综上所述,通过上述方式,可以更合理地为每个内存匹配检测策略。
在本申请实施例一提供的基于服务器的内存处理方法中,检测策略为以下之一:第一检测策略、第二检测策略和第三检测策略,其中,第一检测策略的检测速度慢于第二检测策略的检测速度和第三检测策略是预先配置的检测策略。
依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:若检测策略为第一检测策略,则对每个内存下的每个存储芯片进行故障检测,确定故障内存和故障内存对应的故障位。
依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:若检测策略为第二检测策略,则对每个内存下的存储芯片进行抽检,确定故障内存和故障内存对应的故障位。
依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:若检测策略为第三检测策略,则确定第三检测策略对应的检测字符和第三检测策略对应的响应时间,其中,检测字符用于写入每个内存,以确定每个内存是否存在故障,响应时间每个内存写入字符的时间;依据检测字符和响应时间,对每个内存进行检测,确定故障内存和故障内存对应的故障位。
具体地,检测策略至少包括:第一检测策略、第二检测策略和第三检测策略。第一检测策略也可以叫做全面检测策略,全面检测策略会对每个内存下的所有的存储芯片进行检测,但该检测策略检修时间较长。由于存在一部分内存并不会经常用到,那么对应的也就没有必要每次都对这些内存进行检修,第二检测策略也可以叫做快速检测策略,快速检测策略会对每个内存中的存储芯片进行抽检。第三检测策略也可以叫做特定模型检测策略,用户可以根据一些实际需求进行个性化设置,例如,设置写入内存的字符以及内存写入的响应时间等。
当检测策略为第一检测策略,则对每个内存下的每个存储芯片进行故障检测,确定故障内存和故障内存对应的故障位;
当检测策略为第二检测策略,则对每个内存下的存储芯片进行抽检,确定故障内存和故障内存对应的故障位;
当检测策略为第三检测策略,则确定第三检测策略对应的检测字符和第三检测策略对应的响应时间,其中,检测字符用于写入每个内存,以确定每个内存是否存在故障,响应时间每个内存写入字符的时间;根据检测字符和响应时间,对每个内存进行检测,确定故障内存和故障内存对应的故障位。例如,响应时间为1us,则在对内存写入检测字符1us之后,读取检测该字符。
综上所述,通过上述检测策略能够准确识别故障内存和故障内存对应的故障位。
在本申请实施例一提供的基于服务器的内存处理方法中,依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:确定第一数据和第二数据,其中,第一数据和第二数据用于写入每个内存中,其中,第二数据由对第一数据进行逐位取反得到;依据第一数据和第二数据,确定故障内存和故障内存对应的故障位。
依据第一数据和第二数据,确定故障内存和故障内存对应的故障位包括:在每个内存中写入第一数据,并在第一预设时间后从每个内存中读取第一数据,得到第一读取数据;若存在第一内存对应的第一读取数据与第一数据不相同,则确定第一内存为故障内存,并依据第一读取数据确定故障内存对应的故障位;若第一数据与第一读取数据相同,则在每个内存中写入第二数据,并在第二预设时间后从每个内存中读取第二数据,得到第二读取数据;若存在第二内存对应的第二读取数据与第二数据不相同,则确定第二内存为故障内存,并依据第二读取数据确定故障内存对应的故障位。
具体地,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括以下步骤:明确对内存检测使用的第一数据和第二数据,第一数据和第二数据为二进制代码数据,并且第二数据由对第一数据进行逐位取反得到。例如,第一数据为:010101,则第二数据为101010。
在每个内存中写入第一数据,并在第一预设时间后从每个内存中读取第一数据得到第一读取数据。第一预设时间是内存写入数据的响应时间,可以根据实际需求进行设置,例如设置为2-3us。在得到第一读取数据后,判断第一读取数据和第一数据是否完全相同,如果存在某一位不相同则说明当前内存存在故障,直接将该内存确定为故障内存,并依据第一读取数据确定是该内存哪一位存在故障,也就是上述的确定故障内存的故障位。
如果存在内存的第一读取数据和第一数据是完全相同的,则将第二数据写入内存中,并在第二预设时间后从每个内存中读取第二数据得到第二读取数据。第二预设时间是内存写入数据的响应时间,可以根据实际需求进行设置,例如设置为2-3us。在得到第二读取数据后,判断第二读取数据和第二数据是否完全相同,如果存在某一位不相同则说明当前内存存在故障,直接将该内存确定为故障内存,并依据第二读取数据确定是该内存哪一位存在故障,也就是上述的确定故障内存的故障位。
综上所述,通过第一数据和第二数据的写入和读取能够准确判断内存是否存在故障,提高检测的准确性。
由于内存中的冗余位是有限的,因此,在本申请实施例一提供的基于服务器的内存处理方法中,通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存包括:判断故障内存中否存在冗余位;若故障内存中存在冗余位,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
若故障内存中不存在冗余位,则表征故障内存已不可修复。
具体地,判断当前故障内存是否还存在可以使用的冗余位,如果故障内存中还存在可以使用的冗余位,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,达到修复故障内存的目的。
如果故障内存中不存在冗余位,则说明故障内存已不可修复。
为了提高对故障模型修复的合理性,在本申请实施例一提供的基于服务器的内存处理方法中,若故障内存中存在冗余位,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存包括:依据故障内存的内存硬件参数,确定是否存在故障内存对应的内存修复准则,其中,内存修复准则至少包括:修复次数小于第二预设数值和/或修复位数小于第三预设数值;若存在故障内存对应的内存修复准则,则判断故障内存对应的修复次数和修复位数是否满足内存修复准则;若故障内存对应的修复次数和修复位数满足内存修复准则,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
若故障内存对应的修复次数和修复位数不满足内存修复准则,则表征故障内存不可修复。
具体地,通过故障内存的内存硬件参数,确定在基板管理控制系统中是否存在故障内存对应的内存修复准则,如果存在故障内存对应的内存修复准则,则判断故障内存对应的修复次数和修复位数是否满足内存修复准则,如果故障内存对应的修复次数和修复位数满足内存修复准则,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,实现对故障内存的修复。
需要说明的是,内存修复准则可以根据实际需求进行设置,例如,内存修复准则至少包括:修复次数小于第二预设数值和/或修复位数小于第三预设数值。第二预设数值和第三预设数值可以根据实际需求进行设置,例如,第二预设数值可以设置为10次,以及第三预设数值设置为10个等。
如果故障内存对应的修复次数和修复位数不满足内存修复准则,则说明故障内存不可修复。
设置内存修复准则是为了更合理地对故障内存进行维护,如果存在某一内存已修复过很多次,说明内存出错概率太高,已严重影响到服务器的正常使用了,因此,如果出现故障内存对应的修复次数和修复位数不满足内存修复准则,则说明故障内存不可修复。通过设置内存修复准则能够提前筛选出健康状态不佳的内存,进而提高服务器的运行稳定性。
在本申请实施例一提供的基于服务器的内存处理方法中,在通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存之后,该方法还包括:确定多个内存中不可修复的故障内存,已修复的故障内存和非故障内存;获取不可修复的故障内存的第一数据信息,获取已修复的故障内存的第二数据信息以及获取非故障内存的第三数据信息;依据第一数据信息、第二数据信息以及第三数据信息确定目标服务器的内存检修结果。
具体地,在每个内存进行检测之后,汇总检测结果,确定多个内存中不可修复的故障内存,已修复的故障内存和非故障内存,并获取不可修复的故障内存的第一数据信息,已修复的故障内存的第二数据信息以及非故障内存的第三数据信息,通过将上述的第一数据信息、第二数据信息以及第三数据信息汇总,得到每次目标服务器的内存检修结果。第一数据信息、第二数据信息以及第三数据信息中包括但不限于该内存的标识和检测结果等信息。
在本申请实施例一提供的基于服务器的内存处理方法中,在依据第一数据信息、第二数据信息以及第三数据信息确定目标服务器的内存检修结果之后,该方法还包括:将内存检修结果发送至基板管理控制器;通过基板管理控制器读取内存检修结果,并识别出不可修复的故障内存;将不可修复的故障内存发送至目标对象,以通过目标对象对不可修复的故障内存进行更换处理。
依据内存硬件参数,将内存检修结果存储至每个内存对应的历史数据信息中。
依据每个内存对应的历史数据信息对每个内存的健康状态进行评估,得到评估结果;依据评估结果对每个内存的预设检测策略进行更新处理。
在得到内存检测结果后,将内存检测结果发送至基板管理控制器,基板管理控制器会读取内存检修结果,并识别出不可修复的故障内存以及还可以正常使用的内存,对于不可修复的故障内存,会将相关的信息发送给目标对象(即用户),提醒用户进行更换处理。
基板管理控制器还会将内存检修结果存储至每个内存对应的历史数据信息中,以便在后续对故障内存的检修时作为参考等,以及基板管理控制器每个内存对应的历史数据信息对每个内存的健康状态进行评估,得到评估结果,然后根据评估结果对每个内存的预设检测策略进行更新处理。例如,某一内存连续出现故障,则将其检测策略设置为全面检测策略等。
在一可选的实施例中,可以采用如图3所示的流程图实现对服务器内存的检修,具体地,设置BIOS(基本输入输出系统)代码,BIOS代码中包括内存本体健壮性提前识别模块和内存修复模块。如图3所示,服务器开机BIOS代码运行内存初始化。BIOS通过SPD获取内存硬件参数。OS下机器正常运行业务;检测内存是否报错,内存报错触发SMI中断通知BMC;BMC记录内存报错信息,并置位检测修复功能需要在下次重启开启;服务器开机后执行内存检测及修复功能,该检测策略可以自动通过BMC获取内存状态信息智能选择,也可以客户通过IPMI命令来制定检测策略。选定检测策略后,内存进行对应策略检测,一般有全面检测覆盖最精细的颗粒度,检测所有内存条及内存条下的所有芯片,以帮助找出内存间歇性故障风险。但该模式测试时间较长。
另外有快速检测策略和特定模式检测策略,根据实际情况可以把可能出现故障或者健康状态较差的内存颗粒位识别出来。内存检测后如果没有硬故障可以通知客户继续使用,如果有硬故障,比如某些位出现故障,则需要通过PPR技术,用冗余的位替换故障的位。内存能够替换的位数和替换的次数都是可以通过BMC来设置。内存检测及修复功能完成后,BIOS把相关结果发给BMC并保存到日志。BMC分析检测及修复结果判断内存健康状态并通知用户更换或者继续使用,继续使用内存也会追踪其状态作为后续检测策略判断的参数。
在一可选的实施例中,内存检测过程如图4所示,写入模式数据(即上述的第一数据),从内存中读取写入的数据,如果两者一致,则执行写入反模式数据(即上述的第二数据)。如果两者不同,则为故障内存。在写入反模式数据之后,再次从内存中读取写入的数据,判断两者是不是相同,如果不相同,则为故障内存。记录故障内存和故障内存中的故障位。
在本申请实施例中,通过依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;若确定执行对目标服务器内存的检修,则获取目标服务器中的多个内存的内存硬件参数,并依据内存硬件参数确定每个内存的检测策略;依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对故障内存进行修复,解决了相关技术中在服务器内存出现故障时,直接替换故障内存,导致对内存的使用率较低的技术问题。在本方案中,在确定需要进行内存检修时,通过内存硬件参数确定每个内存的检测策略,通过不同的检测策略实现对内存的准确检测,在确定故障内存后,对故障模块进行修复,进而达到了内存的使用率的效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述基于服务器的内存处理方法的基于服务器的内存处理装置,如图5所示,该装置包括:第一确定单元501,第一获取单元502和修复单元503。
第一确定单元501,用于依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;
第一获取单元502,用于若确定执行对目标服务器内存的检修,则获取目标服务器中的多个内存的内存硬件参数,并依据内存硬件参数确定每个内存的检测策略;
修复单元503,用于依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对故障内存进行修复。
本申请实施例提供的基于服务器的内存处理装置,通过第一确定单元501依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;第一获取单元502若确定执行对目标服务器内存的检修,则获取目标服务器中的多个内存的内存硬件参数,并依据内存硬件参数确定每个内存的检测策略;修复单元503依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对故障内存进行修复,解决了相关技术中在服务器内存出现故障时,直接替换故障内存,导致对内存的使用率较低的技术问题。在本方案中,在确定需要进行内存检修时,通过内存硬件参数确定每个内存的检测策略,通过不同的检测策略实现对内存的准确检测,在确定故障内存后,对故障模块进行修复,进而达到了内存的使用率的效果。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,修复单元503包括:检测子单元,用于依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位,其中,故障位为内存中的最小存储单元;替换子单元,用于通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,该装置还包括:检测单元,用于在依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修之前,在目标服务器运行过程中,检测目标服务器中的内存是否报错;触发单元,用于若目标服务器中的内存报错,则触发系统管理中断并将内存报错的数据信息发送至基板管理控制器,以通过基板管理控制将目标标志位设置为第一预设数值;重启单元,用于重新启动目标服务器。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,第一确定单元包括:读取子单元,用于目标服务器从基板管理控制器读取目标标志位;执行子单元,用于若目标标志位为预设数值,则执行对目标服务器内存的检修。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,第一获取单元包括:第一读取子单元,用于依据内存硬件参数,读取基板管理控制器存储的每个内存的历史数据信息,其中,历史数据信息中至少包括:已运行时长、修复次数和已修复位数;第一确定子单元,用于依据历史数据信息,确定每个内存的检测策略。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,第一确定单元还包括:第二读取子单元,用依据内存硬件参数,读取基板管理控制器存储的预设检测策略,其中,预设检测策略是基于智能平台管理接口指令设置的检测策略;第二确定子单元,用于将预设检测策略作为每个内存的检测策略。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,检测策略为以下之一:第一检测策略、第二检测策略和第三检测策略,其中,第一检测策略的检测速度慢于第二检测策略的检测速度和第三检测策略是预先配置的检测策略。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,检测子单元包括:第一检测模块,用于若检测策略为第一检测策略,则对每个内存下的每个存储芯片进行故障检测,确定故障内存和故障内存对应的故障位。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,检测子单元包括:第二检测模块,用于若检测策略为第二检测策略,则对每个内存下的存储芯片进行抽检,确定故障内存和故障内存对应的故障位。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,检测子单元包括:第一确定模块,用于若检测策略为第三检测策略,则确定第三检测策略对应的检测字符和第三检测策略对应的响应时间,其中,检测字符用于写入每个内存,以确定每个内存是否存在故障,响应时间每个内存写入字符的时间;第三检测模块,用于依据检测字符和响应时间,对每个内存进行检测,确定故障内存和故障内存对应的故障位。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,检测子单元包括:第二确定模块,用于确定第一数据和第二数据,其中,第一数据和第二数据用于写入每个内存中,其中,第二数据由对第一数据进行逐位取反得到;第三确定模块,用于依据第一数据和第二数据,确定故障内存和故障内存对应的故障位。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,第二确定模块包括:第一写入子模块,用于在每个内存中写入第一数据,并在第一预设时间后从每个内存中读取第一数据,得到第一读取数据;第一确定子模块,用于若存在第一内存对应的第一读取数据与第一数据不相同,则确定第一内存为故障内存,并依据第一读取数据确定故障内存对应的故障位;第二写入子模块,用于若第一数据与第一读取数据相同,则在每个内存中写入第二数据,并在第二预设时间后从每个内存中读取第二数据,得到第二读取数据;第二确定子模块,用于若存在第二内存对应的第二读取数据与第二数据不相同,则确定第二内存为故障内存,并依据第二读取数据确定故障内存对应的故障位。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,替换子单元包括:第一判断模块,用于判断故障内存中否存在冗余位;第一替换模块,用于若故障内存中存在冗余位,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,该装置还包括:第二确定单元,用于在判断故障内存中否还存在冗余位之后,若故障内存中不存在冗余位,则表征故障内存已不可修复。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,替换子单元包括:第四确定模块,用于依据故障内存的内存硬件参数,确定是否存在故障内存对应的内存修复准则,其中,内存修复准则至少包括:修复次数小于第二预设数值和/或修复位数小于第三预设数值;第二判断模块,用于若存在故障内存对应的内存修复准则,则判断故障内存对应的修复次数和修复位数是否满足内存修复准则;第二替换模块,用于若故障内存对应的修复次数和修复位数满足内存修复准则,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,该装置还包括:第三确定单元,用于在判断故障内存是否满足内存修复准则之后,若故障内存对应的修复次数和修复位数不满足内存修复准则,则表征故障内存不可修复。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,该装置还包括:第四确定单元,用于在通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存之后,确定多个内存中不可修复的故障内存,已修复的故障内存和非故障内存;第二获取单元,用于获取不可修复的故障内存的第一数据信息,获取已修复的故障内存的第二数据信息以及获取非故障内存的第三数据信息;第五确定单元,用于依据第一数据信息、第二数据信息以及第三数据信息确定目标服务器的内存检修结果。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,该装置还包括:第一发送单元,用于在依据第一数据信息、第二数据信息以及第三数据信息确定目标服务器的内存检修结果之后,将内存检修结果发送至基板管理控制器;识别单元,用于通过基板管理控制器读取内存检修结果,并识别出不可修复的故障内存;
第二发送单元,用于将不可修复的故障内存发送至目标对象,以通过目标对象对不可修复的故障内存进行更换处理。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,该装置还包括:存储单元,用于在将不可修复的故障内存发送至目标对象之后,依据内存硬件参数,将内存检修结果存储至每个内存对应的历史数据信息中。
可选地,在本申请实施例二提供的基于服务器的内存处理装置中,该装置还包括:评估单元,用于在将内存检修结果存储至每个内存对应的历史数据信息中之后,依据每个内存对应的历史数据信息对每个内存的健康状态进行评估,得到评估结果;更新单元,用于依据评估结果对每个内存的预设检测策略进行更新处理。
此处需要说明的是,上述的第一确定单元501,第一获取单元502和修复单元503对应于实施例1中的步骤S201至步骤S203,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例3
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;若确定执行对目标服务器内存的检修,则获取目标服务器中的多个内存的内存硬件参数,并依据内存硬件参数确定每个内存的检测策略;依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对故障内存进行修复。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对故障内存进行修复包括:依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位,其中,故障位为内存中的最小存储单元;通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:在依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修之前,方法还包括:在目标服务器运行过程中,检测目标服务器中的内存是否报错;若目标服务器中的内存报错,则触发系统管理中断并将内存报错的数据信息发送至基板管理控制器,以通过基板管理控制将目标标志位设置为第一预设数值;重新启动目标服务器。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修包括:目标服务器从基板管理控制器读取目标标志位;若目标标志位为预设数值,则执行对目标服务器内存的检修。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:依据内存硬件参数确定每个内存的检测策略包括:依据内存硬件参数,读取基板管理控制器存储的每个内存的历史数据信息,其中,历史数据信息中至少包括:已运行时长、修复次数和已修复位数;依据历史数据信息,确定每个内存的检测策略。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:依据内存硬件参数确定每个内存的检测策略包括:依据内存硬件参数,读取基板管理控制器存储的预设检测策略,其中,预设检测策略是基于智能平台管理接口指令设置的检测策略;将预设检测策略作为每个内存的检测策略。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:检测策略为以下之一:第一检测策略、第二检测策略和第三检测策略,其中,第一检测策略的检测速度慢于第二检测策略的检测速度和第三检测策略是预先配置的检测策略。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:若检测策略为第一检测策略,则对每个内存下的每个存储芯片进行故障检测,确定故障内存和故障内存对应的故障位。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:若检测策略为第二检测策略,则对每个内存下的存储芯片进行抽检,确定故障内存和故障内存对应的故障位。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:若检测策略为第三检测策略,则确定第三检测策略对应的检测字符和第三检测策略对应的响应时间,其中,检测字符用于写入每个内存,以确定每个内存是否存在故障,响应时间每个内存写入字符的时间;依据检测字符和响应时间,对每个内存进行检测,确定故障内存和故障内存对应的故障位。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:确定第一数据和第二数据,其中,第一数据和第二数据用于写入每个内存中,其中,第二数据由对第一数据进行逐位取反得到;依据第一数据和第二数据,确定故障内存和故障内存对应的故障位。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:依据第一数据和第二数据,确定故障内存和故障内存对应的故障位包括:在每个内存中写入第一数据,并在第一预设时间后从每个内存中读取第一数据,得到第一读取数据;若存在第一内存对应的第一读取数据与第一数据不相同,则确定第一内存为故障内存,并依据第一读取数据确定故障内存对应的故障位;若第一数据与第一读取数据相同,则在每个内存中写入第二数据,并在第二预设时间后从每个内存中读取第二数据,得到第二读取数据;若存在第二内存对应的第二读取数据与第二数据不相同,则确定第二内存为故障内存,并依据第二读取数据确定故障内存对应的故障位。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存包括:判断故障内存中否存在冗余位;若故障内存中存在冗余位,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:在判断故障内存中否还存在冗余位之后,方法还包括:若故障内存中不存在冗余位,则表征故障内存已不可修复。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:若故障内存中存在冗余位,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存包括:依据故障内存的内存硬件参数,确定是否存在故障内存对应的内存修复准则,其中,内存修复准则至少包括:修复次数小于第二预设数值和/或修复位数小于第三预设数值;若存在故障内存对应的内存修复准则,则判断故障内存对应的修复次数和修复位数是否满足内存修复准则;若故障内存对应的修复次数和修复位数满足内存修复准则,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:在判断故障内存是否满足内存修复准则之后,该方法还包括:若故障内存对应的修复次数和修复位数不满足内存修复准则,则表征故障内存不可修复。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:在通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存之后,方法还包括:确定多个内存中不可修复的故障内存,已修复的故障内存和非故障内存;获取不可修复的故障内存的第一数据信息,获取已修复的故障内存的第二数据信息以及获取非故障内存的第三数据信息;依据第一数据信息、第二数据信息以及第三数据信息确定目标服务器的内存检修结果。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:在依据第一数据信息、第二数据信息以及第三数据信息确定目标服务器的内存检修结果之后,该方法还包括:将内存检修结果发送至基板管理控制器;通过基板管理控制器读取内存检修结果,并识别出不可修复的故障内存;将不可修复的故障内存发送至目标对象,以通过目标对象对不可修复的故障内存进行更换处理。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:在将不可修复的故障内存发送至目标对象之后,该方法还包括:依据内存硬件参数,将内存检修结果存储至每个内存对应的历史数据信息中。
上述计算机终端可以执行基于服务器的内存处理方法中以下步骤的程序代码:在将内存检修结果存储至每个内存对应的历史数据信息中之后,该方法还包括:依据每个内存对应的历史数据信息对每个内存的健康状态进行评估,得到评估结果;依据评估结果对每个内存的预设检测策略进行更新处理。
可选地,图6是根据本申请实施例的一种计算机终端的结构框图。如图6所示,该计算机终端10可以包括:一个或多个(图6中仅示出一个)处理器、存储器。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的基于服务器的内存处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于服务器的内存处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;若确定执行对目标服务器内存的检修,则获取目标服务器中的多个内存的内存硬件参数,并依据内存硬件参数确定每个内存的检测策略;依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对故障内存进行修复。
可选的,上述处理器还可以执行如下步骤的程序代码: 依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对故障内存进行修复包括:依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位,其中,故障位为内存中的最小存储单元;通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
可选的,上述处理器还可以执行如下步骤的程序代码: 在依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修之前,方法还包括:在目标服务器运行过程中,检测目标服务器中的内存是否报错;若目标服务器中的内存报错,则触发系统管理中断并将内存报错的数据信息发送至基板管理控制器,以通过基板管理控制将目标标志位设置为第一预设数值;重新启动目标服务器。
可选的,上述处理器还可以执行如下步骤的程序代码: 依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修包括:目标服务器从基板管理控制器读取目标标志位;若目标标志位为预设数值,则执行对目标服务器内存的检修。
可选的,上述处理器还可以执行如下步骤的程序代码: 依据内存硬件参数确定每个内存的检测策略包括:依据内存硬件参数,读取基板管理控制器存储的每个内存的历史数据信息,其中,历史数据信息中至少包括:已运行时长、修复次数和已修复位数;依据历史数据信息,确定每个内存的检测策略。
可选的,上述处理器还可以执行如下步骤的程序代码: 依据内存硬件参数确定每个内存的检测策略包括:依据内存硬件参数,读取基板管理控制器存储的预设检测策略,其中,预设检测策略是基于智能平台管理接口指令设置的检测策略;将预设检测策略作为每个内存的检测策略。
可选的,上述处理器还可以执行如下步骤的程序代码: 检测策略为以下之一:第一检测策略、第二检测策略和第三检测策略,其中,第一检测策略的检测速度慢于第二检测策略的检测速度和第三检测策略是预先配置的检测策略。
可选的,上述处理器还可以执行如下步骤的程序代码: 依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:若检测策略为第一检测策略,则对每个内存下的每个存储芯片进行故障检测,确定故障内存和故障内存对应的故障位。
可选的,上述处理器还可以执行如下步骤的程序代码: 依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:若检测策略为第二检测策略,则对每个内存下的存储芯片进行抽检,确定故障内存和故障内存对应的故障位。
可选的,上述处理器还可以执行如下步骤的程序代码: 依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:若检测策略为第三检测策略,则确定第三检测策略对应的检测字符和第三检测策略对应的响应时间,其中,检测字符用于写入每个内存,以确定每个内存是否存在故障,响应时间每个内存写入字符的时间;依据检测字符和响应时间,对每个内存进行检测,确定故障内存和故障内存对应的故障位。
可选的,上述处理器还可以执行如下步骤的程序代码: 依据每个内存的检测策略,对每个内存进行检测,确定故障内存和故障内存对应的故障位包括:确定第一数据和第二数据,其中,第一数据和第二数据用于写入每个内存中,其中,第二数据由对第一数据进行逐位取反得到;依据第一数据和第二数据,确定故障内存和故障内存对应的故障位。
可选的,上述处理器还可以执行如下步骤的程序代码: 依据第一数据和第二数据,确定故障内存和故障内存对应的故障位包括:在每个内存中写入第一数据,并在第一预设时间后从每个内存中读取第一数据,得到第一读取数据;若存在第一内存对应的第一读取数据与第一数据不相同,则确定第一内存为故障内存,并依据第一读取数据确定故障内存对应的故障位;若第一数据与第一读取数据相同,则在每个内存中写入第二数据,并在第二预设时间后从每个内存中读取第二数据,得到第二读取数据;若存在第二内存对应的第二读取数据与第二数据不相同,则确定第二内存为故障内存,并依据第二读取数据确定故障内存对应的故障位。
可选的,上述处理器还可以执行如下步骤的程序代码: 通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存包括:判断故障内存中否存在冗余位;若故障内存中存在冗余位,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
可选的,上述处理器还可以执行如下步骤的程序代码: 在判断故障内存中否还存在冗余位之后,该方法还包括:若故障内存中不存在冗余位,则表征故障内存已不可修复。
可选的,上述处理器还可以执行如下步骤的程序代码: 若故障内存中存在冗余位,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存包括:依据故障内存的内存硬件参数,确定是否存在故障内存对应的内存修复准则,其中,内存修复准则至少包括:修复次数小于第二预设数值和/或修复位数小于第三预设数值;若存在故障内存对应的内存修复准则,则判断故障内存对应的修复次数和修复位数是否满足内存修复准则;若故障内存对应的修复次数和修复位数满足内存修复准则,则通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存。
可选的,上述处理器还可以执行如下步骤的程序代码: 在判断故障内存是否满足内存修复准则之后,该方法还包括:若故障内存对应的修复次数和修复位数不满足内存修复准则,则表征故障内存不可修复。
可选的,上述处理器还可以执行如下步骤的程序代码: 在通过故障内存中的冗余位对故障内存对应的故障位进行替换,以修复故障内存之后,该方法还包括:确定多个内存中不可修复的故障内存,已修复的故障内存和非故障内存;获取不可修复的故障内存的第一数据信息,获取已修复的故障内存的第二数据信息以及获取非故障内存的第三数据信息;依据第一数据信息、第二数据信息以及第三数据信息确定目标服务器的内存检修结果。
可选的,上述处理器还可以执行如下步骤的程序代码: 在依据第一数据信息、第二数据信息以及第三数据信息确定目标服务器的内存检修结果之后,该方法还包括:将内存检修结果发送至基板管理控制器;通过基板管理控制器读取内存检修结果,并识别出不可修复的故障内存;将不可修复的故障内存发送至目标对象,以通过目标对象对不可修复的故障内存进行更换处理。
可选的,上述处理器还可以执行如下步骤的程序代码: 在将不可修复的故障内存发送至目标对象之后,该方法还包括:依据内存硬件参数,将内存检修结果存储至每个内存对应的历史数据信息中。
可选的,上述处理器还可以执行如下步骤的程序代码: 在将内存检修结果存储至每个内存对应的历史数据信息中之后,该方法还包括:依据每个内存对应的历史数据信息对每个内存的健康状态进行评估,得到评估结果;依据评估结果对每个内存的预设检测策略进行更新处理。
本领域普通技术人员可以理解,图6所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图6其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图6中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图6所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (22)
1.一种基于服务器的内存处理方法,其特征在于,包括:
依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;
若确定执行对所述目标服务器内存的检修,则获取所述目标服务器中的多个内存的内存硬件参数,并依据所述内存硬件参数确定每个内存的检测策略;
依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对所述故障内存进行修复;
其中,在依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修之前,所述方法还包括:
在所述目标服务器运行过程中,检测所述目标服务器中的内存是否报错;
若所述目标服务器中的内存报错,则触发系统管理中断并将所述内存报错的数据信息发送至所述基板管理控制器,以通过所述基板管理控制器将所述目标标志位设置为第一预设数值;
重新启动所述目标服务器;
所述检测策略至少包括:第一检测策略、第二检测策略和第三检测策略;
所述第一检测策略对每个内存下的所有的存储芯片进行检测,所述第二检测策略对每个内存中的存储芯片进行抽检,所述第三检测策略基于预设的检测字符和预设的响应时间对每个内存中的存储芯片进行检测。
2.根据权利要求1所述的方法,其特征在于,依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对所述故障内存进行修复包括:
依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位,其中,所述故障位为内存中的最小存储单元;
通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存。
3.根据权利要求1所述的方法,其特征在于,依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修包括:
所述目标服务器从所述基板管理控制器读取所述目标标志位;
若所述目标标志位为所述第一预设数值,则执行对所述目标服务器内存的检修。
4.根据权利要求1所述的方法,其特征在于,依据所述内存硬件参数确定每个内存的检测策略包括:
依据所述内存硬件参数,读取所述基板管理控制器存储的每个内存的历史数据信息,其中,所述历史数据信息中至少包括:已运行时长、修复次数和已修复位数;
依据所述历史数据信息,确定每个内存的检测策略。
5.根据权利要求1所述的方法,其特征在于,依据所述内存硬件参数确定每个内存的检测策略包括:
依据所述内存硬件参数,读取所述基板管理控制器存储的预设检测策略,其中,所述预设检测策略是基于智能平台管理接口指令设置的检测策略;
将所述预设检测策略作为每个内存的检测策略。
6.根据权利要求2所述的方法,其特征在于,所述第一检测策略的检测速度慢于所述第二检测策略的检测速度和所述第三检测策略是预先配置的检测策略。
7.根据权利要求6所述的方法,其特征在于,依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位包括:
若所述检测策略为所述第一检测策略,则对每个内存下的每个存储芯片进行故障检测,确定所述故障内存和所述故障内存对应的故障位。
8.根据权利要求6所述的方法,其特征在于,依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位包括:
若所述检测策略为所述第二检测策略,则对每个内存下的存储芯片进行抽检,确定所述故障内存和所述故障内存对应的故障位。
9.根据权利要求6所述的方法,其特征在于,依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位包括:
若所述检测策略为所述第三检测策略,则确定所述第三检测策略对应的检测字符和所述第三检测策略对应的响应时间,其中,所述检测字符用于写入每个内存,以确定每个内存是否存在故障,所述响应时间每个内存写入字符的时间;
依据所述检测字符和所述响应时间,对每个内存进行检测,确定所述故障内存和所述故障内存对应的故障位。
10.根据权利要求7所述的方法,其特征在于,依据每个内存的检测策略,对每个内存进行检测,确定故障内存和所述故障内存对应的故障位包括:
确定第一数据和第二数据,其中,所述第一数据和所述第二数据用于写入每个内存中,其中,所述第二数据由对所述第一数据进行逐位取反得到;
依据所述第一数据和所述第二数据,确定所述故障内存和所述故障内存对应的故障位。
11.根据权利要求10所述的方法,其特征在于,依据所述第一数据和所述第二数据,确定所述故障内存和所述故障内存对应的故障位包括:
在每个内存中写入所述第一数据,并在第一预设时间后从每个内存中读取所述第一数据,得到第一读取数据;
若存在第一内存对应的所述第一读取数据与所述第一数据不相同,则确定所述第一内存为所述故障内存,并依据所述第一读取数据确定所述故障内存对应的故障位;
若所述第一数据与所述第一读取数据相同,则在每个内存中写入所述第二数据,并在第二预设时间后从每个内存中读取所述第二数据,得到第二读取数据;
若存在第二内存对应的所述第二读取数据与所述第二数据不相同,则确定所述第二内存为所述故障内存,并依据所述第二读取数据确定所述故障内存对应的故障位。
12.根据权利要求2所述的方法,其特征在于,通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存包括:
判断所述故障内存中否存在冗余位;
若所述故障内存中存在冗余位,则通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存。
13.根据权利要求12所述的方法,其特征在于,在判断所述故障内存中否还存在冗余位之后,所述方法还包括:
若所述故障内存中不存在冗余位,则表征所述故障内存已不可修复。
14.根据权利要求12所述的方法,其特征在于,若所述故障内存中存在冗余位,则通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存包括:
依据所述故障内存的内存硬件参数,确定是否存在所述故障内存对应的内存修复准则,其中,所述内存修复准则至少包括:修复次数小于第二预设数值和/或修复位数小于第三预设数值;
若存在所述故障内存对应的内存修复准则,则判断所述故障内存对应的修复次数和修复位数是否满足所述内存修复准则;
若所述故障内存对应的修复次数和修复位数满足所述内存修复准则,则通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存。
15.根据权利要求14所述的方法,其特征在于,在判断所述故障内存是否满足所述内存修复准则之后,所述方法还包括:
若所述故障内存对应的修复次数和修复位数不满足所述内存修复准则,则表征所述故障内存不可修复。
16.根据权利要求14所述的方法,其特征在于,在通过所述故障内存中的冗余位对所述故障内存对应的故障位进行替换,以修复所述故障内存之后,所述方法还包括:
确定所述多个内存中不可修复的故障内存,已修复的故障内存和非故障内存;
获取所述不可修复的故障内存的第一数据信息,获取所述已修复的故障内存的第二数据信息以及获取所述非故障内存的第三数据信息;
依据所述第一数据信息、所述第二数据信息以及所述第三数据信息确定所述目标服务器的内存检修结果。
17.根据权利要求16所述的方法,其特征在于,在依据所述第一数据信息、所述第二数据信息以及所述第三数据信息确定所述目标服务器的内存检修结果之后,所述方法还包括:
将所述内存检修结果发送至所述基板管理控制器;
通过所述基板管理控制器读取所述内存检修结果,并识别出不可修复的故障内存;
将所述不可修复的故障内存发送至目标对象,以通过所述目标对象对所述不可修复的故障内存进行更换处理。
18.根据权利要求17所述的方法,其特征在于,在将所述不可修复的故障内存发送至目标对象之后,所述方法还包括:
依据内存硬件参数,将所述内存检修结果存储至每个内存对应的历史数据信息中。
19.根据权利要求18所述的方法,其特征在于,在将所述内存检修结果存储至每个内存对应的历史数据信息中之后,所述方法还包括:
依据每个内存对应的历史数据信息对每个内存的健康状态进行评估,得到评估结果;
依据所述评估结果对每个内存的预设检测策略进行更新处理。
20.一种基于服务器的内存处理装置,其特征在于,包括:
第一确定单元,用于依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器内存的检修;
第一获取单元,用于若确定执行对所述目标服务器内存的检修,则获取所述目标服务器中的多个内存的内存硬件参数,并依据所述内存硬件参数确定每个内存的检测策略;
修复单元,用于依据每个内存的检测策略,对每个内存进行检测,确定故障内存,并对所述故障内存进行修复;
所述装置还包括:检测单元,用于在依据基板管理控制器存储的目标标志位,确定是否执行对目标服务器的内存检修之前,在所述目标服务器运行过程中,检测所述目标服务器中的内存是否报错;触发单元,用于若所述目标服务器中的内存报错,则触发系统管理中断并将所述内存报错的数据信息发送至所述基板管理控制器,以通过所述基板管理控制器将所述目标标志位设置为第一预设数值;重启单元,用于重新启动所述目标服务器;
所述检测策略至少包括:第一检测策略、第二检测策略和第三检测策略;
所述第一检测策略对每个内存下的所有的存储芯片进行检测,所述第二检测策略对每个内存中的存储芯片进行抽检,所述第三检测策略基于预设的检测字符和预设的响应时间对每个内存中的存储芯片进行检测。
21.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至19中任意一项所述的基于服务器的内存处理方法。
22.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至19中任意一项所述的基于服务器的内存处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211604326.6A CN115658373B (zh) | 2022-12-14 | 2022-12-14 | 基于服务器的内存处理方法和装置、处理器及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211604326.6A CN115658373B (zh) | 2022-12-14 | 2022-12-14 | 基于服务器的内存处理方法和装置、处理器及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115658373A CN115658373A (zh) | 2023-01-31 |
CN115658373B true CN115658373B (zh) | 2023-03-17 |
Family
ID=85023503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211604326.6A Active CN115658373B (zh) | 2022-12-14 | 2022-12-14 | 基于服务器的内存处理方法和装置、处理器及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658373B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463455B (zh) * | 2017-08-01 | 2020-10-30 | 联想(北京)有限公司 | 一种检测内存故障的方法及装置 |
CN110489259B (zh) * | 2019-07-29 | 2023-03-24 | 深圳中电长城信息安全系统有限公司 | 一种内存故障检测方法及设备 |
CN112685241A (zh) * | 2021-01-27 | 2021-04-20 | 中国科学院微电子研究所 | 一种多粒度的内存检测方法、内存设备以及电子设备 |
CN113282434B (zh) * | 2021-07-19 | 2021-10-29 | 苏州浪潮智能科技有限公司 | 一种基于封装后修复技术的内存修复方法及相关组件 |
-
2022
- 2022-12-14 CN CN202211604326.6A patent/CN115658373B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115658373A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783262B (zh) | 故障数据处理方法、装置、服务器及计算机可读存储介质 | |
EP3660681B1 (en) | Memory fault detection method and device, and server | |
CN105468484A (zh) | 用于在存储系统中确定故障位置的方法和装置 | |
CN109284207A (zh) | 硬盘故障处理方法、装置、服务器和计算机可读介质 | |
CN112286709B (zh) | 一种服务器硬件故障的诊断方法、诊断装置及诊断设备 | |
US20230333621A1 (en) | Server firmware self-recovery system and server | |
CN104320308A (zh) | 一种服务器异常检测的方法及装置 | |
CN111858122A (zh) | 一种存储链路的故障检测方法、装置、设备及存储介质 | |
CN105824730A (zh) | 一种硬件诊断修复方法及装置 | |
CN110888763A (zh) | 磁盘故障诊断方法、装置、终端设备及计算机存储介质 | |
CN103049345B (zh) | 基于异步通信机制的磁盘状态变迁检测方法及装置 | |
CN114203253A (zh) | 芯片的存储器故障修复装置和芯片 | |
CN111124722A (zh) | 一种隔离故障内存的方法、设备及介质 | |
CN106155826B (zh) | 用于在总线结构中检测及处理错误的方法和系统 | |
CN111984487A (zh) | 一种离机记录故障硬件位置的方法及装置 | |
CN113590405A (zh) | 硬盘错误的检测方法、装置、存储介质和电子装置 | |
CN115658373B (zh) | 基于服务器的内存处理方法和装置、处理器及电子设备 | |
CN110968456B (zh) | 分布式存储系统中故障磁盘的处理方法及装置 | |
CN112383462B (zh) | 一种网络设备以及总线配置方法 | |
CN114461436A (zh) | 一种内存故障处理方法、装置及计算机可读存储介质 | |
CN115495301A (zh) | 一种故障处理方法、装置、设备及系统 | |
CN110633176A (zh) | 工作系统切换方法、立方星和切换装置 | |
CN116841819A (zh) | 服务器外插网卡故障诊断方法、装置、设备和存储介质 | |
CN116521411B (zh) | 一种检测嵌入式设备程序错误并复位的方法、设备及介质 | |
CN116489001A (zh) | 交换机故障诊断及恢复方法、装置、交换机及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |