CN114780323A - 一种服务器中内存的故障检测方法、装置及设备 - Google Patents
一种服务器中内存的故障检测方法、装置及设备 Download PDFInfo
- Publication number
- CN114780323A CN114780323A CN202210685982.7A CN202210685982A CN114780323A CN 114780323 A CN114780323 A CN 114780323A CN 202210685982 A CN202210685982 A CN 202210685982A CN 114780323 A CN114780323 A CN 114780323A
- Authority
- CN
- China
- Prior art keywords
- memory
- pressure measurement
- fault
- memory block
- target
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供了一种服务器中内存的故障检测方法、装置及设备,该方法将服务器中内存地址映射为内存空间,对内存空间进行划分处理,在对划分后的各内存块进行故障测试时,针对每一内存块,从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,及从相关联的多种不同测压算法中选择一种目标测压算法;并按照目标内存地址读写方式和目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,记录该内存块的内存故障次数;当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则结束对各内存块的测压检测,并上报故障内存块的故障信息。可见,本实施例能够在提高检测效率的同时,还能提高内存故障检出率。
Description
技术领域
本申请涉及故障检测技术,特别涉及一种服务器中内存的故障检测方法、装置及设备。
背景技术
对于服务器而言,内存、主板、CPU是组成服务器的三大组件,在这三大组件中,内存引起的服务器故障在三大组件中占比最高。而内存引发的故障大概率会导致服务器宕机,引起运行业务的中断,造成巨大的经济损失。尤其是销售到国外的服务器,一旦发生故障,由于路途遥远导致维修极其困难,给厂商的售后服务带来了极大的压力。基于此,在生产端提高故障内存的检出率对于服务器的质量有着重要的意义。
目前,通常是通过用于测试内存性能的memtest算法对服务器中内存已分配的所有虚拟地址进行测压检测。但现有技术一般是通过增加测试内存的测压算法来提高内存的检出率,而当前测试内存的测压算法种类很多但也已基本技术成熟,再做突破困难较大。所以,为了提高生产服务器内存的检出率,只能不断的提高内存的压测时间,而这导致检测内存的检测效率低,且极大的增大了生产的成本。
发明内容
本申请提供了一种故障检测方法、装置及设备,以在提高检测效率的同时,提高故障检测率。
本申请提供的技术方案包括:
第一方面, 本申请实施例提供了一种服务器中内存的故障检测方法,包括:
将服务器中内存地址映射为内存空间,对所述内存空间进行划分处理,得到N个内存块;
在对N个内存块进行故障测试时,针对每一内存块执行以下测压操作:从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法;并按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,则记录该内存块的内存故障次数;
当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则结束对各内存块的测压检测,并上报故障内存块的故障信息。
第二方面,本申请实施例提供了一种服务器中内存的故障检测装置,包括:
分块单元,用于将服务器中内存地址映射为内存空间,对所述内存空间进行划分处理,得到N个内存块;
故障检测单元,用于在对N个内存块进行故障测试时,针对每一内存块执行以下测压操作:从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法;并按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,则记录该内存块的内存故障次数;
故障上报单元,用于当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则结束对各内存块的测压检测,并上报故障内存块的故障信息。
由以上技术方案可以看出,本申请中,先将服务器内存划分成N个内存块,在对N个内存块进行故障测试时,针对每一内存块,从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法;并按照目标内存地址读写方式和目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,则记录该内存块的内存故障次数;当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则结束对各内存块的测压检测,并上报故障内存块的故障信息。可见,本申请实施例能够并行对各内存块进行测压检测,且各内存块进行测压检测所使用的测压算法以及内存读取方式可能各不相同,这使得能够按照多种内存地址读写方式多方位访问内存块并采用多种测压算法对各内存块进行测压,进而能够发挥多种测压算法和多种内存地址读取方式相结合的优势,从而能够在提高检测效率的同时,还能够提高内存故障检出率,降低生成成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请提供的一种服务器中内存的故障检测方法的方法流程图;
图2(a)为本申请提供的第一种内存地址读写方式的示意图;
图2(b)为本申请提供的第二种内存地址读写方式的示意图;
图2(c)为本申请提供的第三种内存地址读写方式的示意图;
图2(d)为本申请提供的第四种内存地址读写方式的示意图;
图3为本申请提供的一种服务器中内存的故障检测装置的结构示意图;
图4为本申请提供的一种电子设备的结构示意图。
具体实施方式
对于服务器而言,内存、主板、CPU是组成服务器的三大组件,在这三大组件中,内存引起的服务器故障在三大组件中占比最高。而内存引发的故障大概率会导致服务器宕机,引起运行业务的中断,造成巨大的经济损失。尤其是销售到国外的服务器,一旦发生故障,由于路途遥远导致维修极其困难,给厂商的售后服务带来了极大的压力。基于此,在生产端提高故障内存的检出率对于服务器的质量有着重要的意义。
目前,通常是通过用于测试内存性能的memtest算法对服务器中内存已分配的所有虚拟地址进行测压检测。但该现有的测压检测在生产端对内存检出率较低,尤其是对于存在批次问题的内存,由于内存检出率低而会导致大量故障内存流向市场,进而造成产生大量的经济损失。另外,由于用户使用服务器环境复杂,这使得对内存的工艺精密要求越来越高,颗粒储存单位间距越来越小,而耦合相干故障比例也相应提高,高的耦合相干故障比例导致目前内存故障复现率为40%-50%,未来这种现象会越来越明显。基于此,提高服务器生产故障内存检出率以致力于改善上述问题。
但现有技术一般是通过增加测试内存的测压算法来提高内存的检出率,而当前测试内存的测压算法种类很多但也已基本技术成熟,再做突破困难较大。所以,为了提高生产服务器内存的检出率,只能不断的提高内存的压测时间,而这导致检测内存的检测效率低,且极大的增大了生产的成本。
为了解决上述技术问题,本申请实施例提供了一种服务器中内存的故障检测方法,包括:将服务器中内存地址映射为内存空间,对所述内存空间进行划分处理,得到N个内存块;在对N个内存块进行故障测试时,针对每一内存块执行以下测压操作:从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法;并按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,则记录该内存块的内存故障次数;当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则结束对各内存块的测压检测,并上报故障内存块的故障信息。可见,本申请实施例能够并行对各内存块进行测压检测,且各内存块进行测压检测所使用的测压算法以及内存读取方式可能各不相同,这使得能够按照多种内存地址读写方式多方位访问内存块并采用多种测压算法对各内存块进行测压,进而能够发挥多种测压算法和多种内存地址读取方式相结合的优势,从而能够在提高检测效率的同时,还能够提高内存故障检出率,降低生成成本。
基于上面描述,下面对本申请提供的图1所示流程进行描述:
参见图1,图1为本申请提供的一种服务器中内存的故障检测方法的流程图。该方法可以应用于电子设备,该电子设备连接于服务器,以用来检测该连接的服务器中内存,作为一个实施例,当需要检测服务器中内存时,将该电子设备插接于该服务器的USB接口中。该方法还可以应用于服务器,以检测在该服务器中内存。
如图1所示,该流程可包括以下步骤:
步骤101,将服务器中内存地址映射为内存空间,对所述内存空间进行划分处理,得到N个内存块。
在实际应用中,服务器一般设置有多条内存条,这些内存条对应不同的物理地址,在本实施例中,将这些内存条对应的物理地址映射为一个大的内存空间,N为正整数,不难看出,这里的内存空间指的是内存的物理地址。分割的内存块不能太小,也不能太大,若分割的内存块的内存太小,则会导致刚写进数据,就需要读出数据,影响故障内存的检出率。若分割的内存块的内存太大,则会导致访问各内存块的访问速率太慢,写进数据间隔很久才会被读出,影响故障内存的检出率。基于此,作为一个实施例,实现步骤101的对所述内存空间进行划分处理,包括:按照被划分后的各内存块的被访问速率在预设速率范围内的原则,对所述内存空间进行划分处理。由于物理地址都是8的倍数,基于此,1024*4是访问内存的最小单位,基于此,在一些实施例中,N为4096乘以2的幂。
步骤102,在对N个内存块进行故障测试时,针对每一内存块执行以下测压操作:从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法;并按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,则记录该内存块的内存故障次数。
上述相关联的多种内存地址读写方式可以事先配置在内存地址读写方式文件中,以在对N个内存块进行故障测试时,从该内存地址读写方式文件中选择一个内存地址读写方式文件。上述相关联的多种内存地址读写方式也可以是按照内存块与多种内存地址读写方式的映射关系,从该内存块对应的多种内存地址读写方式中选择一种内存地址读写方式文件。相应地,相关联的多种不同测压算法可以事先配置在测压算法文件中,以在对N个内存块进行故障测试时,从该测压算法文件中选择一种测压算法。上述相关联的多种测压算法也可以是按照内存块与多种测压算法的映射关系,从该内存块对应的多种测压算法中选择一种测压算法。至于如何从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,如何从相关联的多种不同测压算法中选择一种目标测压算法,后续将会详细进行描述,在此不再赘述。
按照内存块对应的物理地址排序顺序,位于属于该内存块对应的物理地址序列中排在最前面的物理地址称为低地址,位于属于该内存块对应的物理地址序列中排在最后面的物理地址称为高地址。作为一个实施例,上述内存地址读写方式文件可以为如图2(a)所示箭头方向所指示的从高地址到低地址的内存地址读写方式、如图2(b)所示箭头方向所指示的从低地址到高地址的内存地址读写方式、如图2(c)所示箭头方向所指示的两端地址到中间地址的内存地址读写方式、如图2(d)所示箭头方向所指示的中间地址到两端地址的内存地址读写方式。
作为另一个实施例,上述测压算法也可以称为内存故障测试算法,可以为棋盘算法、乘法算法、除法算法、走步1算法或走步0算法。
示例性的,针对内存块A1,按照从高地址到低地址的内存地址读写方式在该内存块上运行棋盘算法,针对内存块A2,按照从低地址到高地址的内存地址读写方式在该内存块上运行走步1算法。
步骤103,当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则执行步骤104。
累计各内存块对应的故障记录,当累计的故障记录达到已配置的内存故障上报门限,则执行步骤104。上述内存故障上报门限值可以在BIOS(Basic Input Output System,基本输入输出***)下配置内存故障上报门限值。该内存故障上报门限值可以被设置为1,这就表示一发现故障记录为1时,则就执行步骤104。该内存故障上报门限值可以被设置为2,这使得累计的各内存块对应的故障记录达到2时,就执行步骤104,上述故障上报门限值的取值与实际对内存故障率要求有关系,若对内存故障率要求高,则将故障上报门限值设置的低些,若对内存故障率要求低,则将故障上报门限值设置的高些。
步骤104,结束对各内存块的测压检测,并上报故障内存块的故障信息。
在本步骤中,作为一个实施例,可以触发服务器中的ECC(Error CorrectingCode,错误检查和纠正)检查工具上报故障内存块的故障信息。一方面直接向操作***上报故障内存块的故障信息,另一方面向基板管理控制器上报故障内存块的故障信息。
至此,完成图1所示的描述。
由以上技术方案可以看出,
本申请中,先将服务器内存划分成N个内存块,在对N个内存块进行故障测试时,针对每一内存块,从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法;并按照目标内存地址读写方式和目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,则记录该内存块的内存故障次数;当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则结束对各内存块的测压检测,并上报故障内存块的故障信息。可见,本申请实施例能够并行对各内存块进行测压检测,且各内存块进行测压检测所使用的测压算法以及内存读取方式可能各不相同,这使得能够按照多种内存地址读写方式多方位访问内存块并采用多种测压算法对各内存块进行测压,进而能够发挥多种测压算法和多种内存地址读取方式相结合的优势,从而能够在提高检测效率的同时,还能够提高内存故障检出率,降低生成成本。
在完成图1的流程图之后,作为一个实施例,上述步骤102中按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测是在该内存块被分配的测压起始时间到达时执行的。若检测出该内存块存在故障,或者若检测出该内存块不存在故障,该方法进一步包括:检测当前时间是否为该内存块被分配的测压结束时间,如果否,返回针对该内存块执行测压操作。
在本实施例中,测压结束时间减去测压起始时间所得到的测压时间为本领域中通常采用的测压时间。针对每一内存块,该内存块被分配的测压起始时间和该内存块被分配的测压结束时间,可以为各内存块统一分配的测压起始时间和测压结束时间,这也就是说,每一内存块被分配的测压起始时间和测压结束时间均相同。还可以是针对该内存块单独分配的测压起始时间和测压结束时间,这使得各内存快被分配的测压起始时间和该内存块被分配的测压结束时间可以不同。
可见,本实施例提供的技术方案能够在设定的测压时间内,针对每一内存块,能够选择多种内存地址读写方式多方位访问内存块并采用多种测压算法对各内存块进行测压,进而能够发挥多种测压算法和多种内存地址读取方式相结合的优势,从而能够在提高检测效率的同时,还能够进一步提高内存故障检出率,较大地降低生成成本。
作为一个实施例,在步骤101之前,还进一步包括:在所述将服务器中内存地址映射为内存空间之前,该方法还包括;在操作***下,对所述服务器中内存进行地址映射,以将所述服务器中内存的虚拟地址一一对应映射到物理地址上。在实际应用中,可以调用mmap 函数将内存的虚拟地址与物理地址进行映射,以实现上述步骤,对映射后的虚拟地址进行读写操作就如同对物理地址进行读写操作一样。
在一些实施例中,上述目标内存地址读写方式可以是随机从相关联的多种不同内存地址读写方式中选择的一种内存地址读写方式。
在另一些实施例中,上述目标测压算法可以是随机从相关联的多种不同测压算法中选择的一种测压算法。
在另一些实施例中,目标内存地址读写方式是从相关联的多种不同内存地址读写方式中选择一种与历史内存地址读写方式相同的内存地址读写方式。
本实施例的历史内存地址读写方式是之前曾经选择过的内存地址读写方式。
经多次实验验证,针对一个内存块,连续几次选取相同的内存地址读写方式能够得到较高的检测率。
在另一些实施例中,从相关联的多种不同测压算法中选择一种与历史测压算法相同的测压算法。
本实施例的历史内存地址读写方式是之前曾经选择过的测压算法。
经多次实验验证,针对一个内存块,连续几次选取相同的测压算法能够得到较高的检测率。
在另一些实施例中,上述目标内存地址读写方式可以是从相关联的多种不同内存地址读写方式中选择一种与最近选择的内存地址读写方式不同的历史内存地址读写方式。
本实施例的历史内存地址读写方式是在最近选择的内存地址读写方式之前曾经选择过的内存地址读写方式。
在另一些实施例中,上述目标测压算法是从相关联的多种不同测压算法中选择一种与最近选择的测压算法不同的历史测压算法。
本实施例的历史测压算法是在最近选择的历史测压算法之前曾经选择过的历史测压算法。
基于上述实施例,作为一个实施例,上述从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法,包括如下几种实现方式,其中,
第一种实现方式为:从该内存块相关联的多种不同内存地址读写方式中随机选择一种目标内存地址读写方式;以及,从相关联的多种不同测压算法中随机选择一种目标测压算法。
第二种实现方式为:从该内存块相关联的多种不同内存地址读写方式中随机选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种与最近选择的测压算法不同的历史测压算法。
第三种实现方式为:从相关联的多种不同内存地址读写方式中选择一种与历史内存地址读写方式相同的内存地址读写方式,以及,从相关联的多种不同测压算法中随机选择一种目标测压算法。
第四种实现方式为:从该内存块相关联的多种不同内存地址读写方式中随机选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种与历史测压算法相同的测压算法。
第五种实现方式为:从相关联的多种不同内存地址读写方式中选择一种与历史内存地址读写方式相同的内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种与最近选择的测压算法不同的历史测压算法。
第六种实现方式为:从相关联的多种不同内存地址读写方式中选择一种与最近选择的内存地址读写方式不同的历史内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种与历史测压算法相同的测压算法。
第七种实现方式为:从相关联的多种不同内存地址读写方式中选择一种与最近选择的内存地址读写方式不同的历史内存地址读写方式,以及,从相关联的多种不同测压算法中随机选择一种目标测压算法。
第八种实现方式为:从相关联的多种不同内存地址读写方式中选择一种与最近选择的内存地址读写方式不同的历史内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种与最近选择的测压算法不同的历史测压算法。
上述实施例描述完毕。
下面对本申请提供的装置进行描述:
参见图3,图3为本申请提供的一种服务器中内存的故障检测装置300,包括:
分块单元301,用于将服务器中内存地址映射为内存空间,对所述内存空间进行划分处理,得到N个内存块;
故障检测单元302,用于在对N个内存块进行故障测试时,针对每一内存块执行以下测压操作:从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法;并按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,则记录该内存块的内存故障次数;
故障判定单元303,用于当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则触发故障上报单元304;
所述故障上报单元304,用于结束对各内存块的测压检测,并上报故障内存块的故障信息。
作为一个实施例,所述按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测是在该内存块被分配的测压起始时间到达时执行的;
若检测出该内存块存在故障,或者若检测出该内存块不存在故障,该装置还包括:
测压结束判定单元,用于检测当前时间是否为该内存块被分配的测压结束时间,如果否,返回针对该内存块执行测压操作。
作为一个实施例,该装置还包括;
地址映射单元,用于在操作***下,对所述服务器中内存进行地址映射,以将所述服务器中内存的虚拟地址一一对应映射到物理地址上。
作为一个实施例,所述分块单元301,具体用于:
按照被划分后的各内存块的被访问速率在预设速率范围内的原则,对所述内存空间进行划分处理。
作为一个实施例,所述目标内存地址读写方式是随机从相关联的多种不同内存地址读写方式中选择的一种内存地址读写方式。
作为一个实施例,所述目标测压算法是随机从相关联的多种不同测压算法中选择的一种测压算法。
作为一个实施例,所述目标内存地址读写方式是从相关联的多种不同内存地址读写方式中选择一种与历史内存地址读写方式相同的内存地址读写方式。
作为一个实施例,所述目标测压算法是从相关联的多种不同测压算法中选择一种与历史测压算法相同的测压算法。
作为一个实施例,所述目标内存地址读写方式是从相关联的多种不同内存地址读写方式中选择一种与最近选择的内存地址读写方式不同的历史内存地址读写方式。
作为一个实施例,所述目标测压算法是从相关联的多种不同测压算法中选择一种与最近选择的测压算法不同的历史测压算法。
由此可见,在本申请实施例的技术方案中,先将服务器内存划分成N个内存块,在对N个内存块进行故障测试时,针对每一内存块,从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法;并按照目标内存地址读写方式和目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,则记录该内存块的内存故障次数;当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则结束对各内存块的测压检测,并上报故障内存块的故障信息。可见,本申请实施例能够并行对各内存块进行测压检测,且各内存块进行测压检测所使用的测压算法以及内存读取方式可能各不相同,这使得能够按照多种内存地址读写方式多方位访问内存块并采用多种测压算法对各内存块进行测压,进而能够发挥多种测压算法和多种内存地址读取方式相结合的优势,从而能够在提高检测效率的同时,还能够提高内存故障检出率,降低生成成本。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本申请实施例提供的电子设备,从硬件层面而言,硬件架构示意图可以参见图4所示。包括:机器可读存储介质和处理器,其中:所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述示例公开的服务器中内存的故障检测操作。
本申请实施例提供的机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述示例公开的服务器中内存的故障检测操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
至此,完成图4所示设备的描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种服务器中内存的故障检测方法,其特征在于,包括:
将服务器中内存地址映射为内存空间,对所述内存空间进行划分处理,得到N个内存块;
在对N个内存块进行故障测试时,针对每一内存块执行以下测压操作:从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法;并按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,则记录该内存块的内存故障次数;
当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则结束对各内存块的测压检测,并上报故障内存块的故障信息。
2.根据权利要求1所述的方法,其特征在于,所述按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测是在该内存块被分配的测压起始时间到达时执行的;
若检测出该内存块存在故障,或者若检测出该内存块不存在故障,该方法进一步包括:
检测当前时间是否为该内存块被分配的测压结束时间,如果否,返回针对该内存块执行测压操作。
3.根据权利要求1所述的方法,其特征在于,在所述将服务器中内存地址映射为内存空间之前,该方法还包括;
在操作***下,对所述服务器中内存进行地址映射,以将所述服务器中内存的虚拟地址一一对应映射到物理地址上。
4.根据权利要求2所述的方法,其特征在于,所述对所述内存空间进行划分处理,包括:
按照被划分后的各内存块的被访问速率在预设速率范围内的原则,对所述内存空间进行划分处理。
5.根据权利要求1所述的方法,其特征在于,所述目标内存地址读写方式是随机从相关联的多种不同内存地址读写方式中选择的一种内存地址读写方式,或/和
所述目标测压算法是随机从相关联的多种不同测压算法中选择的一种测压算法。
6.根据权利要求1所述的方法,其特征在于,所述目标内存地址读写方式是从相关联的多种不同内存地址读写方式中选择一种与历史内存地址读写方式相同的内存地址读写方式,或/和
所述目标测压算法是从相关联的多种不同测压算法中选择一种与历史测压算法相同的测压算法。
7.一种服务器中内存的故障检测装置,其特征在于,包括:
分块单元,用于将服务器中内存地址映射为内存空间,对所述内存空间进行划分处理,得到N个内存块;
故障检测单元,用于在对N个内存块进行故障测试时,针对每一内存块执行以下测压操作:从该内存块相关联的多种不同内存地址读写方式中选择一种目标内存地址读写方式,以及,从相关联的多种不同测压算法中选择一种目标测压算法;并按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测,若检测出该内存块存在故障,则记录该内存块的内存故障次数;
故障判定单元,用于当各内存块对应的故障记录累计达到已配置的内存故障上报门限值,则触发故障上报单元;
所述故障上报单元,用于结束对各内存块的测压检测,并上报故障内存块的故障信息。
8.根据权利要求7所述的装置,其特征在于,所述按照所述目标内存地址读写方式和所述目标测压算法对该内存块进行测压检测是在该内存块被分配的测压起始时间到达时执行的;
若检测出该内存块存在故障,或者若检测出该内存块不存在故障,该装置还包括:
测压结束判定单元,用于检测当前时间是否为该内存块被分配的测压结束时间,如果否,返回针对该内存块执行测压操作。
9.根据权利要求7所述的装置,其特征在于,该装置还包括;
地址映射单元,用于在操作***下,对所述服务器中内存进行地址映射,以将所述服务器中内存的虚拟地址一一对应映射到物理地址上。
10.根据权利要求7所述的装置,其特征在于,所述分块单元,具体用于:
按照被划分后的各内存块的被访问速率在预设速率范围内的原则,对所述内存空间进行划分处理。
11.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210685982.7A CN114780323A (zh) | 2022-06-17 | 2022-06-17 | 一种服务器中内存的故障检测方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210685982.7A CN114780323A (zh) | 2022-06-17 | 2022-06-17 | 一种服务器中内存的故障检测方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114780323A true CN114780323A (zh) | 2022-07-22 |
Family
ID=82421167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210685982.7A Pending CN114780323A (zh) | 2022-06-17 | 2022-06-17 | 一种服务器中内存的故障检测方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780323A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118034991A (zh) * | 2024-04-11 | 2024-05-14 | 北京开源芯片研究院 | 内存数据的访问方法、装置、电子设备及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050047229A1 (en) * | 2002-12-18 | 2005-03-03 | Benoit Nadeau-Dostie | Method and circuit for collecting memory failure information |
CN103208314A (zh) * | 2013-03-04 | 2013-07-17 | 深圳市硅格半导体有限公司 | 嵌入式***的内存测试方法及嵌入式*** |
CN103902419A (zh) * | 2014-03-28 | 2014-07-02 | 华为技术有限公司 | 一种缓存测试方法及装置 |
CN106030544A (zh) * | 2014-12-24 | 2016-10-12 | 华为技术有限公司 | 计算机设备内存的检测方法和计算机设备 |
WO2020114937A1 (en) * | 2018-12-07 | 2020-06-11 | Koninklijke Philips N.V. | A computing device with increased resistance against address probing |
CN111739577A (zh) * | 2020-07-20 | 2020-10-02 | 成都智明达电子股份有限公司 | 一种基于dsp的高效的ddr测试方法 |
CN113157509A (zh) * | 2021-04-25 | 2021-07-23 | 中国科学院微电子研究所 | 一种内存安全性检测方法和片上*** |
CN113961478A (zh) * | 2021-09-28 | 2022-01-21 | 新华三云计算技术有限公司 | 一种内存故障记录方法以及装置 |
CN114116355A (zh) * | 2021-11-30 | 2022-03-01 | 新华三技术有限公司合肥分公司 | 内存测试方法、装置及电子设备 |
-
2022
- 2022-06-17 CN CN202210685982.7A patent/CN114780323A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050047229A1 (en) * | 2002-12-18 | 2005-03-03 | Benoit Nadeau-Dostie | Method and circuit for collecting memory failure information |
CN103208314A (zh) * | 2013-03-04 | 2013-07-17 | 深圳市硅格半导体有限公司 | 嵌入式***的内存测试方法及嵌入式*** |
CN103902419A (zh) * | 2014-03-28 | 2014-07-02 | 华为技术有限公司 | 一种缓存测试方法及装置 |
CN106030544A (zh) * | 2014-12-24 | 2016-10-12 | 华为技术有限公司 | 计算机设备内存的检测方法和计算机设备 |
WO2020114937A1 (en) * | 2018-12-07 | 2020-06-11 | Koninklijke Philips N.V. | A computing device with increased resistance against address probing |
CN111739577A (zh) * | 2020-07-20 | 2020-10-02 | 成都智明达电子股份有限公司 | 一种基于dsp的高效的ddr测试方法 |
CN113157509A (zh) * | 2021-04-25 | 2021-07-23 | 中国科学院微电子研究所 | 一种内存安全性检测方法和片上*** |
CN113961478A (zh) * | 2021-09-28 | 2022-01-21 | 新华三云计算技术有限公司 | 一种内存故障记录方法以及装置 |
CN114116355A (zh) * | 2021-11-30 | 2022-03-01 | 新华三技术有限公司合肥分公司 | 内存测试方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
孟庆昌: "《操作***》", 30 April 2016 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118034991A (zh) * | 2024-04-11 | 2024-05-14 | 北京开源芯片研究院 | 内存数据的访问方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8560922B2 (en) | Bad block management for flash memory | |
US9465537B2 (en) | Memory system and method of controlling memory system | |
US20130318418A1 (en) | Adaptive error correction for phase change memory | |
JP2012532372A (ja) | ストレージデバイス内のエラーデータを追跡するシステムおよび方法 | |
US9535611B2 (en) | Cache memory for hybrid disk drives | |
CN101937721A (zh) | 一种测试存储器件的方法 | |
TW201021045A (en) | Reliability test method for solid storage medium | |
JP5105351B2 (ja) | 不揮発性半導体記憶装置 | |
CN105469834A (zh) | 嵌入式闪存的测试方法 | |
CN108039190A (zh) | 一种测试方法及装置 | |
CN102981969A (zh) | 重复数据删除的方法及其固态硬盘 | |
CN114780323A (zh) | 一种服务器中内存的故障检测方法、装置及设备 | |
CN102486938A (zh) | 一种快速检测存储器的方法及装置 | |
CN111816239B (zh) | 磁盘检测方法、装置、电子设备及机器可读存储介质 | |
CN114924923A (zh) | 一种硬盘写入点正确性验证方法、***、设备及介质 | |
CN105304140A (zh) | 电子设备的存储器性能的测试方法及装置 | |
CN105302679A (zh) | 一种智能终端存储稳定性的检测方法及*** | |
CN116244127A (zh) | 一种硬盘检测方法、装置、设备以及存储介质 | |
CN110377538B (zh) | 存储器管理方法以及存储控制器 | |
US11929135B2 (en) | Read disturb information determination system | |
CN104794061A (zh) | 一种相变存储***损耗均衡方法 | |
CN111739574B (zh) | 一种基于随机二进制序列的静态随机存取存储器验证方法 | |
CN107481764A (zh) | 一种3D Nand Flash扫描检测方法和*** | |
US9262264B2 (en) | Error correction code seeding | |
CN112102875A (zh) | Lpddr测试方法、装置、可读存储介质及电子设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220722 |
|
RJ01 | Rejection of invention patent application after publication |