CN110688266A - 故障内存条定位方法、装置及存储介质 - Google Patents
故障内存条定位方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110688266A CN110688266A CN201910775869.6A CN201910775869A CN110688266A CN 110688266 A CN110688266 A CN 110688266A CN 201910775869 A CN201910775869 A CN 201910775869A CN 110688266 A CN110688266 A CN 110688266A
- Authority
- CN
- China
- Prior art keywords
- address
- memory bank
- channel
- slot
- addresses
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013507 mapping Methods 0.000 claims abstract description 107
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及一种故障内存条定位方法、装置及存储介质,所述方法包括:获取第一映射表和第二映射表,获取目标故障内存条的报错地址,根据第一映射表获取报错地址中的插槽地址位和插槽地址位对应的取值得到插槽地址,根据插槽地址和第一映射表定位目标故障内存条在主板上所在的插槽作为目标插槽;根据第二映射表获取通道地址位和通道地址位对应的取值得到通道地址,根据通道地址和第二映射表定位目标故障内存条在主板上所在的通道作为目标通道,根据目标插槽和目标通道在主板上定位目标故障内存条。通过本申请的方法,能够快速定位主板上的故障内存条。
Description
技术领域
本申请涉及存储设备技术领域,尤其涉及一种故障内存条定位方法、装置及存储介质。
背景技术
在内存条生产测试过程中,常常使用主板来进行测试。一般一个主板上有多个通道,每个通道有多个安装内存条的插槽,因此一个主板上有多个插槽,有些服务器的主板上的插槽总计多达24个。当多个内存条在一块主板上同时进行故障测试时,CPU只会记录发生故障的内存条的逻辑地址,根据这些逻辑地址,无法区分同时测试的多个内存条中哪个或哪些个内存条出现了故障。
现有技术往往是将这些同时测试的多个内存条一一拆分,然后将每个内存条单独安装在主板的插槽上单独测试,找出故障内存条。这种方法定位故障内存条效率低。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种故障内存条定位方法、装置及存储介质。
第一方面,本申请提供了一种故障内存条定位方法,所述方法包括:
获取第一映射表,所述第一映射表表征同一主板上插槽、插槽地址位、插槽地址的一一映射关系;
获取第二映射表,所述第二映射表表征同一主板上通道、通道地址位、通道地址的一一映射关系;
获取目标故障内存条的报错地址;
根据所述第一映射表获取所述报错地址中的插槽地址位;
获取所述报错地址中所述插槽地址位对应的取值得到所述目标故障内存条对应的插槽地址;
根据所述目标故障内存条对应的插槽地址和所述第一映射表定位所述目标故障内存条在主板上所在的插槽,将目标故障内存条在主板上所在的插槽作为目标插槽;
根据所述第二映射表获取所述报错地址中的通道地址位;
获取所述报错地址中所述通道地址位对应的取值得到所述目标故障内存条对应的通道地址;
根据所述目标故障内存条对应的通道地址和所述第二映射表定位所述目标故障内存条在主板上所在的通道,将目标故障内存条在主板上所在的通道作为目标通道;
根据所述目标插槽和所述目标通道在主板上定位所述目标故障内存条。
优选地,所述获取第一映射表,所述第一映射表表征同一主板上插槽、插槽地址位、插槽地址的一一映射关系,包括:
获取主板上插槽的插槽地址位,
获取所述主板上不同插槽的插槽地址位对应的取值,将所述插槽地址位对应的取值作为对应插槽的插槽地址,
将所述主板上插槽、插槽地址位、插槽地址一一映射生成第一映射表;
所述获取第二映射表,所述第二映射表表征同一主板上通道、通道地址位、通道地址的一一映射关系,包括:
获取主板上通道的通道地址位,
获取所述主板上不同通道的通道地址位对应的取值,将所述通道地址位对应的取值作为对应通道的通道地址,
将所述主板上通道、通道地址位、通道地址一一映射生成第二映射表。
优选地,在所述获取主板上插槽的插槽地址位之前,还包括:
获取多个内存条,使所述主板的每个通道的每个插槽安装有一个内存条,其中,所述多个内存条只有一个故障内存条,所述故障内存条只有一个最小存储单元出错,所述多个内存条与所述目标故障内存条使用同一个主板和对应的CPU进行测试;
所述获取主板上插槽的插槽地址位,包括:
将所述故障内存条所在的通道作为第一通道,将所述故障内存条所在的插槽作为第一插槽,
分别获取故障内存条在所述第一通道的不同插槽对应的第一报错地址得到多个第一报错地址,
获取所述多个第一报错地址的差异比特位,将所述多个第一报错地址的差异比特位作为插槽地址位,所述差异比特位为多个报错地址中相同比特位对应的取值变化的比特位,其中,不同内存条在同一主板上进行测试对应的插槽地址位相同;
所述获取所述主板上不同插槽的插槽地址位对应的取值,将所述插槽地址位对应的取值作为对应插槽的插槽地址,包括:
分别获取故障内存条在第一通道的不同插槽获取的所述第一报错地址中插槽地址位对应的取值,分别将所述插槽地址位对应的取值作为主板上对应插槽的插槽地址,不同通道的相同插槽的插槽地址相同。
优选地,所述获取主板上通道的通道地址位,包括:
获取所述故障内存条当前所在的插槽,将故障内存条当前所在的插槽作为第二插槽,
分别获取所述故障内存条在不同通道的第二插槽对应的第二报错地址得到多个第二报错地址,
获取所述多个第二报错地址的差异比特位,将所述多个第二报错地址的差异比特位作为通道地址位,所述差异比特位为多个报错地址中相同比特位对应的取值变化的比特位,其中,不同内存条在同一主板上进行测试对应的通道地址位相同;
所述获取所述主板上不同通道的通道地址位对应的取值,将所述通道地址位对应的取值作为对应通道的通道地址,包括:
分别获取故障内存条在不同通道的第二插槽对应的第二报错地址中通道地址位对应的取值,分别将所述通道地址位对应的取值作为主板上对应通道的通道地址,相同通道的不同插槽的通道地址相同。
优选地,所述获取多个内存条,使所述主板的每个通道的每个插槽安装有一个内存条,其中,所述多个内存条只有一个故障内存条,所述故障内存条只有一个最小存储单元出错,包括:
对多个待测内存条分别进行写入数据操作;
对已写入数据的所述多个待测内存条分别进行读出数据操作得到读出数据;
分别对比每个所述待测内存条的写入数据与对应的读出数据;
将写入数据与对应的读出数据相同的内存条作为无故障内存条,将写入数据与对应的读出数据只有一个比特位不同的内存条作为只有一个最小存储单元出错的故障内存条;
从所述多个待测内存条中选取多个内存条,使所述主板的每个通道的每个插槽安装有一个内存条,其中,所述多个内存条只有一个故障内存条。
优选地,所述分别获取故障内存条在所述第一通道的不同插槽对应的第一报错地址得到多个第一报错地址,包括:
分别获取所述故障内存条与位于所述第一通道的不同插槽的内存条进行交换,使故障内存条在第一通道的不同插槽时分别对主板上的内存条进行检测时CPU发送的第一报错地址得到多个第一报错地址。
优选地,所述分别获取故障内存条在不同通道的第二插槽对应的第二报错地址得到多个第二报错地址,包括:
分别获取所述故障内存条与位于不同通道的相同第二插槽的内存条进行交换,使故障内存条在不同通道的第二插槽时分别对主板上的内存条进行检测时CPU发送的第二报错地址得到多个第二报错地址。
优选地,所述获取所述多个第一报错地址的差异比特位,将所述多个第一报错地址的差异比特位作为插槽地址位,包括:
获取所述多个第一报错地址中所有任意两个不同第一报错地址的差异比特位得到多个第一报错地址差异比特位,
将所述多个第一报错地址差异比特位中不同的第一报错地址差异比特位作为插槽地址位;
所述获取所述多个第二报错地址的差异比特位,将所述多个第二报错地址的差异比特位作为通道地址位,包括:
获取所述多个第二报错地址中所有任意两个不同第二报错地址的差异比特位得到多个第二报错地址差异比特位,
将所述多个第二报错地址差异比特位中不同的第二报错地址差异比特位作为通道地址位。
第二方面,本申请还提供了一种故障内存条定位装置,所述装置包括:
第一映射表获取单元,用于获取第一映射表,所述第一映射表表征同一主板上插槽、插槽地址位、插槽地址的一一映射关系;
第二映射表获取单元,用于获取第二映射表,所述第二映射表表征同一主板上通道、通道地址位、通道地址的一一映射关系;
报错地址获取单元,用于获取目标故障内存条的报错地址;
地址位获取单元,用于根据所述第一映射表获取所述报错地址中的插槽地址位;
地址获取单元,用于获取所述报错地址中所述插槽地址位对应的取值得到所述目标故障内存条对应的插槽地址;
插槽获取单元,用于根据所述目标故障内存条对应的插槽地址和所述第一映射表定位所述目标故障内存条在主板上所在的插槽,将目标故障内存条在主板上所在的插槽作为目标插槽;
所述地址位获取单元,还用于根据所述第二映射表获取所述报错地址中的通道地址位;
所述地址获取单元,还用于获取所述报错地址中所述通道地址位对应的取值得到所述目标故障内存条对应的通道地址;
通道获取单元,用于根据所述目标故障内存条对应的通道地址和所述第二映射表定位所述目标故障内存条在主板上所在的通道,将目标故障内存条在主板上所在的通道作为目标通道;
定位单元,用于根据所述目标插槽和所述目标通道在主板上定位所述目标故障内存条。
第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行前面所述任意一项所述的方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请提供的故障内存条定位方法,通过获取故障内存条在相同通道的不同插槽时CPU发送的第一报错地址,找出报错地址中插槽地址位,以及不同插槽的报错地址中插槽地址位对应的取值得到插槽地址,从而获取主板上插槽、插槽地址位、插槽地址的一一对应关系;通过获取故障内存条在不同通道的相同插槽时CPU发送的第二报错地址,找出通道地址位,以及不同通道的报错地址中通道地址位对应的取值得到通道地址,从而获取主板上通道、通道地址位、通道地址的一一对应关系;由于在同一个主板上测试内存条时,相同通道的不同插槽的内存条对应的报错地址中通道地址相同,不同通道的相同插槽的内存条对应的报错地址中插槽地址相同,因此主板上每个插槽对应的插槽地址和通道地址都可以确定,通过获取目标故障内存条的报错地址就能快速定位目标故障内存条的在主板上所在的插槽和通道,从而实现对使用同一主板进行检测的故障内存条在主板上的位置进行快速定位;在内存条的生产测试中具有广泛的应用前景。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种故障内存条定位方法的流程图;
图2为本申请提供的另一种故障内存条定位方法的流程图;
图3为本申请提供的另一种故障内存条定位方法的流程图;
图4为本申请提供的另一种故障内存条定位方法的流程图;
图5为本申请提供的另一种故障内存条定位方法的流程图;
图6为本申请提供的一种故障内存条定位装置的结构框图;
图7为本申请提供的一种应用场景图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请提供的一种故障内存条定位方法的流程图;参考图1,所述方法包括以下步骤:
S0100:获取第一映射表,所述第一映射表表征同一主板上插槽、插槽地址位、插槽地址的一一映射关系;
S0200:获取第二映射表,所述第二映射表表征同一主板上通道、通道地址位、通道地址的一一映射关系;
S0300:获取目标故障内存条的报错地址;
S0400:根据所述第一映射表获取所述报错地址中的插槽地址位;
S0500:获取所述报错地址中所述插槽地址位对应的取值得到所述目标故障内存条对应的插槽地址;
S0600:根据所述目标故障内存条对应的插槽地址和所述第一映射表定位所述目标故障内存条在主板上所在的插槽,将目标故障内存条在主板上所在的插槽作为目标插槽;
S0700:根据所述第二映射表获取所述报错地址中的通道地址位;
S0800:获取所述报错地址中所述通道地址位对应的取值得到所述目标故障内存条对应的通道地址;
S0900:根据所述目标故障内存条对应的通道地址和所述第二映射表定位所述目标故障内存条在主板上所在的通道,将目标故障内存条在主板上所在的通道作为目标通道;
S1000:根据所述目标插槽和所述目标通道在主板上定位所述目标故障内存条。
图2为本申请提供的另一种故障内存条定位方法的流程图;参考图1、图2,在图1提供的故障内存条定位方法的基础上,所述步骤S0100包括以下步骤:
S0110:获取主板上插槽的插槽地址位;
S0120:获取所述主板上不同插槽的插槽地址位对应的取值,将所述插槽地址位对应的取值作为对应插槽的插槽地址;
S0130:将所述主板上插槽、插槽地址位、插槽地址一一映射生成第一映射表。
图3为本申请提供的另一种故障内存条定位方法的流程图;参考图1、图3,在图1提供的故障内存条定位方法的基础上,所述步骤S0200包括以下步骤:
S0210:获取主板上通道的通道地址位;
S0220:获取所述主板上不同通道的通道地址位对应的取值,将所述通道地址位对应的取值作为对应通道的通道地址;
S0230:将所述主板上通道、通道地址位、通道地址一一映射生成第二映射表。
图4为本申请提供的另一种故障内存条定位方法的流程图;参考图1、图2、图4,在步骤S0110之前还包括步骤:获取多个内存条,使所述主板的每个通道的每个插槽安装有一个内存条,其中,所述多个内存条只有一个故障内存条,所述故障内存条只有一个最小存储单元出错,所述多个内存条与所述目标故障内存条使用同一个主板和对应的CPU进行测试。
在图2提供的故障内存条定位方法的基础上,所述步骤S0110包括以下步骤:
S0111:将所述故障内存条所在的通道作为第一通道,将所述故障内存条所在的插槽作为第一插槽;
S0112:分别获取故障内存条在所述第一通道的不同插槽对应的第一报错地址得到多个第一报错地址;
S0113:获取所述多个第一报错地址的差异比特位,将所述多个第一报错地址的差异比特位作为插槽地址位,所述差异比特位为多个报错地址中相同比特位对应的取值变化的比特位。
图5为本申请提供的另一种故障内存条定位方法的流程图;参考图1、图3、图5,在图3提供的故障内存条定位方法的基础上,所述步骤S0210包括以下步骤:
S0211:获取所述故障内存条当前所在的插槽,将故障内存条当前所在的插槽作为第二插槽;
S0212:分别获取所述故障内存条在不同通道的第二插槽对应的第二报错地址得到多个第二报错地址;
S0213:获取所述多个第二报错地址的差异比特位,将所述多个第二报错地址的差异比特位作为通道地址位,所述差异比特位为多个报错地址中相同比特位对应的取值变化的比特位。
在内存条的生产测试中,一般用主板对内存条进行测试来检测内存条是否有故障,为了提高检测效率,通常情况是多个内存条同时检测,如果某个内存条有故障,主板上的CPU会发送这个故障内存条对应的报错地址,通过这个报错地址和第一映射表、第二映射表可以定位这个故障内存条在主板的具体位置,这个具体位置就是这个故障内存条在主板上的具体通道位置和插槽位置。
第一映射表表征故障内存条对应的报错地址中插槽地址位、插槽地址和主板上插槽的一一对应关系,其中,插槽地址是主板上对应故障内存条的报错地址中插槽地址位对应的取值。
第二映射表表征故障内存条对应的报错地址中通道地址位、通道地址和主板上通道的一一对应关系,其中,通道地址是主板上对应故障内存条的报错地址中通道地址位对应的取值。
故障内存条对应的报错地址是指在内存条测试过程中,CPU的内存控制器发送的与故障内存条对应的逻辑地址;在同一个主板上进行内存条测试时,相同通道上的不同插槽的内存条对应的报错地址中通道地址位的取值相同、插槽地址位的取值不同,即,通道地址相同、插槽地址不同;不同通道上的相同插槽的内存条对应的报错地址中通道地址位的取值不同、插槽地址位的取值相同,即,通道地址不同、插槽地址相同。对于大多数主板上不同通道的相同插槽指不同通道上相同颜色的插槽即为相同的插槽,但不局限于此,具体看主板的定义规则。
另外,只要保证内存条测试过程中都是在同一个主板上进行测试,在主板上同一个通道的同一个插槽上进行测试的不同故障内存条对应的报错地址的插槽地址位和通道地址位都是相同的;主板上插槽对应的插槽地位和通道对应的通道地址是不变的,不会随在其上进行测试的内存条的变化而变化。因此只要各进行一组测试就能找出这个主板上插槽和通道对应的插槽地址和通道地址。
本申请是通过将一个故障内存条分别遍历相同通道的不同插槽得到多个第一报错地址,从这些第一报错地址中获得插槽地址位和每个插槽对应的插槽地址;将这个故障内存条分别遍历不同通道的相同插槽得到多个第二报错地址,从这些第二报错地址中获得通道地址位和每个通道对应的通道地址。将这些信息生成映射表,在后面内存条测试中,通过报错地址和映射表比对就能定位主板上是哪个内存条出现了故障。
图6为本申请提供的一种故障内存条定位装置的结构框图;所述装置包括:
第一映射表获取单元10,用于获取第一映射表,所述第一映射表表征同一主板上插槽、插槽地址位、插槽地址的一一映射关系;
第二映射表获取单元20,用于获取第二映射表,所述第二映射表表征同一主板上通道、通道地址位、通道地址的一一映射关系;
报错地址获取单元30,用于获取目标故障内存条的报错地址;
地址位获取单元40,用于根据所述第一映射表获取所述报错地址中的插槽地址位;
地址获取单元50,用于获取所述报错地址中所述插槽地址位对应的取值得到所述目标故障内存条对应的插槽地址;
插槽获取单元60,用于根据所述目标故障内存条对应的插槽地址和所述第一映射表定位所述目标故障内存条在主板上所在的插槽,将目标故障内存条在主板上所在的插槽作为目标插槽;
所述地址位获取单元40,还用于根据所述第二映射表获取所述报错地址中的通道地址位;
所述地址获取单元50,还用于获取所述报错地址中所述通道地址位对应的取值得到所述目标故障内存条对应的通道地址;
通道获取单元70,用于根据所述目标故障内存条对应的通道地址和所述第二映射表定位所述目标故障内存条在主板上所在的通道,将目标故障内存条在主板上所在的通道作为目标通道;
定位单元80,用于根据所述目标插槽和所述目标通道在主板上定位所述目标故障内存条。
图7为本申请提供的一种应用场景图;参考图1-图7,获取一个有2个通道,每个通道各有2个插槽的主板,获取4个内存条,分别标记为A、B、C、D,其中内存条A为只有一个最小存储单元出错的故障内存条,内存条B、C、D为无故障内存条;最小存储单元对应一个比特位。
具体地,对若干个内存条分别单独进行写入数据和读出数据的操作,分别对比每个内存条的写入数据与对应的读出数据,将写入数据与对应的读出数据相同的内存条作为无故障内存条,将写入数据与对应的读出数据中只有一个比特位不同的内存条作为只有一个最小存储单元出错的故障内存条;从而挑选出无故障内存条B、C、D,故障内存条A。
分别将内存条A和内存条B安装于主板上通道Channel1的插槽Slot1和插槽Slot2上;分别将内存条C和内存条D安装于主板上通道Channel2的插槽Slot1和插槽Slot2上;通道Channel1的插槽Slot1与通道Channel2的插槽Slot1、通道Channel1的插槽Slot2与通道Channel2的插槽Slot2均为不同通道的相同插槽。
运行内存测试软件,对主板上的4个内存条进行测试,通过内存测试软件往每个内存条中所有存储单元写入数据,内存条的存储单元与CPU所在的系统中的逻辑地址对应,通过测试软件读出各个逻辑地址对应的数据作为读出数据,比较各个写入数据与对应的读出数据,CPU将写入数据与对应的读出数据不同的逻辑地址挑选出来作为报错地址,所述报错地址为故障内存条对应的逻辑地址。此时,得到故障内存条A在通道Channel1的插槽Slot1时CPU发送的报错地址为Address1:0x63918A4A4。
将故障内存条A与内存条B交换位置,运行内存测试软件,得到故障内存条A在通道Channel1的插槽Slot2时CPU发送的报错地址为Address2:0x63918A5A4。
将Address1与Address2转化为二进制进行对比,在这个36位的逻辑地址中,差异位为bit9(从右往左算起,第一位为bit1),可以判定报错地址中bit9为所述主板对应的CPU系统发送的逻辑地址中的插槽地址位;当故障内存条A在通道Channel1的插槽Slot1时,bit9的取值为0;当故障内存条A在通道Channel1的插槽Slot2时,bit9的取值为1;当bit9的取值为0时为通道Channel1或通道Channel2上插槽Slot1,即,插槽Slot1的插槽地址为0;当bit9的取值为1时为通道Channel1或通道Channel2上插槽Slot2,即,插槽Slot2的插槽地址为1。
得到如下所述第一映射表:
将故障内存条A与内存条C交换位置,运行内存测试软件,得到故障内存条A在通道Channel2的插槽Slot1时CPU发送的报错地址为Address3:0x63918A4E4。
将Address1与Address3转化为二进制进行对比,在这个36位的逻辑地址中,差异位为bit7(从右往左算起,第一位为bit1),可以判定报错地址中bit7为所述主板对应的CPU系统发送的逻辑地址中的通道地址位,当故障内存条A在通道Channel1的插槽Slot1时,bit7的取值为0;当故障内存条A在通道Channel2的插槽Slot1时,bit7的取值为1;当bit7的取值为0时为通道Channel1,即,通道Channel1的通道地址为0;当bit7的取值为1时为通道Channel2,即,通道Channel2的通道地址为1。
得到如下所述第二映射表:
优选地,可以对通道地址位和插槽地址位及通道地址和插槽地址进行验证。将故障内存条A与内存条D交换位置,运行内存测试软件,得到故障内存条A在通道Channel2的插槽Slot2时CPU发送的报错地址为Address4:0x63918A5E4。此时,报错地址Address4的插槽地址位bit9的取值为1,通道地址位bit7的取值为1,对照第一映射表与第二映射表,验证的取值正确。
在所述同一个主板上进行内存条的测试时,如果有故障内存条,根据CPU发送的故障内存条对应的报错地址中的bit7和bit9的取值以及第一映射表和第二映射表就可以定位故障内存条在主板上的位置。
本应用场景的主板测试内存条时对应的插槽地址位和通道地址位分别为bit7和bit9,如果更换不同的主板进行内存条测试时,需要重新找出插槽地址位和通道地址位及每个插槽和每个通道对应的插槽地址和通道地址。
通过本申请的方法,能够快速定位目标故障内存条的在主板上所在的插槽和通道,从而实现对使用同一主板进行检测的故障内存条在主板上的位置的快速定位,节省了检测时间,同时也方便工作人员对故障内存条的维修,在内存条的生产测试中具有广泛的应用前景。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种故障内存条定位方法,其特征在于,所述方法包括:
获取第一映射表,所述第一映射表表征同一主板上插槽、插槽地址位、插槽地址的一一映射关系;
获取第二映射表,所述第二映射表表征同一主板上通道、通道地址位、通道地址的一一映射关系;
获取目标故障内存条的报错地址;
根据所述第一映射表获取所述报错地址中的插槽地址位;
获取所述报错地址中所述插槽地址位对应的取值得到所述目标故障内存条对应的插槽地址;
根据所述目标故障内存条对应的插槽地址和所述第一映射表定位所述目标故障内存条在主板上所在的插槽,将目标故障内存条在主板上所在的插槽作为目标插槽;
根据所述第二映射表获取所述报错地址中的通道地址位;
获取所述报错地址中所述通道地址位对应的取值得到所述目标故障内存条对应的通道地址;
根据所述目标故障内存条对应的通道地址和所述第二映射表定位所述目标故障内存条在主板上所在的通道,将目标故障内存条在主板上所在的通道作为目标通道;
根据所述目标插槽和所述目标通道在主板上定位所述目标故障内存条。
2.根据权利要求1所述的方法,其特征在于,所述获取第一映射表,所述第一映射表表征同一主板上插槽、插槽地址位、插槽地址的一一映射关系,包括:
获取主板上插槽的插槽地址位,
获取所述主板上不同插槽的插槽地址位对应的取值,将所述插槽地址位对应的取值作为对应插槽的插槽地址,
将所述主板上插槽、插槽地址位、插槽地址一一映射生成第一映射表;
所述获取第二映射表,所述第二映射表表征同一主板上通道、通道地址位、通道地址的一一映射关系,包括:
获取主板上通道的通道地址位,
获取所述主板上不同通道的通道地址位对应的取值,将所述通道地址位对应的取值作为对应通道的通道地址,
将所述主板上通道、通道地址位、通道地址一一映射生成第二映射表。
3.根据权利要求2所述的方法,其特征在于,在所述获取主板上插槽的插槽地址位之前,还包括:
获取多个内存条,使所述主板的每个通道的每个插槽安装有一个内存条,其中,所述多个内存条只有一个故障内存条,所述故障内存条只有一个最小存储单元出错,所述多个内存条与所述目标故障内存条使用同一个主板和对应的CPU进行测试;
所述获取主板上插槽的插槽地址位,包括:
将所述故障内存条所在的通道作为第一通道,将所述故障内存条所在的插槽作为第一插槽,
分别获取故障内存条在所述第一通道的不同插槽对应的第一报错地址得到多个第一报错地址,
获取所述多个第一报错地址的差异比特位,将所述多个第一报错地址的差异比特位作为插槽地址位,所述差异比特位为多个报错地址中相同比特位对应的取值变化的比特位;
所述获取所述主板上不同插槽的插槽地址位对应的取值,将所述插槽地址位对应的取值作为对应插槽的插槽地址,包括:
分别获取故障内存条在第一通道的不同插槽获取的所述第一报错地址中插槽地址位对应的取值,分别将所述插槽地址位对应的取值作为主板上对应插槽的插槽地址,不同通道的相同插槽的插槽地址相同。
4.根据权利要求3所述的方法,其特征在于,所述获取主板上通道的通道地址位,包括:
获取所述故障内存条当前所在的插槽,将故障内存条当前所在的插槽作为第二插槽,
分别获取所述故障内存条在不同通道的第二插槽对应的第二报错地址得到多个第二报错地址,
获取所述多个第二报错地址的差异比特位,将所述多个第二报错地址的差异比特位作为通道地址位,所述差异比特位为多个报错地址中相同比特位对应的取值变化的比特位;
所述获取所述主板上不同通道的通道地址位对应的取值,将所述通道地址位对应的取值作为对应通道的通道地址,包括:
分别获取故障内存条在不同通道的第二插槽获取的所述第二报错地址中通道地址位对应的取值,分别将所述通道地址位对应的取值作为主板上对应通道的通道地址,相同通道的不同插槽的通道地址相同。
5.根据权利要求4所述的方法,其特征在于,所述获取多个内存条,使所述主板的每个通道的每个插槽安装有一个内存条,其中,所述多个内存条只有一个故障内存条,所述故障内存条只有一个最小存储单元出错,包括:
对多个待测内存条分别进行写入数据操作;
对已写入数据的所述多个待测内存条分别进行读出数据操作得到读出数据;
分别对比每个所述待测内存条的写入数据与对应的读出数据;
将写入数据与对应的读出数据相同的内存条作为无故障内存条,将写入数据与对应的读出数据只有一个比特位不同的内存条作为只有一个最小存储单元出错的故障内存条;
从所述多个待测内存条中选取多个内存条,使所述主板的每个通道的每个插槽安装有一个内存条,其中,所述多个内存条只有一个故障内存条。
6.根据权利要求5所述的方法,其特征在于,所述分别获取故障内存条在所述第一通道的不同插槽对应的第一报错地址得到多个第一报错地址,包括:
分别获取由所述故障内存条与位于所述第一通道的不同插槽的内存条进行交换,使故障内存条在第一通道的不同插槽时分别对主板上的内存条进行检测时CPU发送的第一报错地址得到多个第一报错地址。
7.根据权利要求6所述的方法,其特征在于,所述分别获取故障内存条在不同通道的第二插槽对应的第二报错地址得到多个第二报错地址,包括:
分别获取由所述故障内存条与位于不同通道的相同第二插槽的内存条进行交换,使故障内存条在不同通道的第二插槽时分别对主板上的内存条进行检测时CPU发送的第二报错地址得到多个第二报错地址。
8.根据权利要求7所述的方法,其特征在于,所述获取所述多个第一报错地址的差异比特位,将所述多个第一报错地址的差异比特位作为插槽地址位,包括:
获取所述多个第一报错地址中所有任意两个不同第一报错地址的差异比特位得到多个第一报错地址差异比特位,
将所述多个第一报错地址差异比特位中不同的第一报错地址差异比特位作为插槽地址位;
所述获取所述多个第二报错地址的差异比特位,将所述多个第二报错地址的差异比特位作为通道地址位,包括:
获取所述多个第二报错地址中所有任意两个不同第二报错地址的差异比特位得到多个第二报错地址差异比特位,
将所述多个第二报错地址差异比特位中不同的第二报错地址差异比特位作为通道地址位。
9.一种故障内存条定位装置,其特征在于,所述装置包括:
第一映射表获取单元,用于获取第一映射表,所述第一映射表表征同一主板上插槽、插槽地址位、插槽地址的一一映射关系;
第二映射表获取单元,用于获取第二映射表,所述第二映射表表征同一主板上通道、通道地址位、通道地址的一一映射关系;
报错地址获取单元,用于获取目标故障内存条的报错地址;
地址位获取单元,用于根据所述第一映射表获取所述报错地址中的插槽地址位;
地址获取单元,用于获取所述报错地址中所述插槽地址位对应的取值得到所述目标故障内存条对应的插槽地址;
插槽获取单元,用于根据所述目标故障内存条对应的插槽地址和所述第一映射表定位所述目标故障内存条在主板上所在的插槽,将目标故障内存条在主板上所在的插槽作为目标插槽;
所述地址位获取单元,还用于根据所述第二映射表获取所述报错地址中的通道地址位;
所述地址获取单元,还用于获取所述报错地址中所述通道地址位对应的取值得到所述目标故障内存条对应的通道地址;
通道获取单元,用于根据所述目标故障内存条对应的通道地址和所述第二映射表定位所述目标故障内存条在主板上所在的通道,将目标故障内存条在主板上所在的通道作为目标通道;
定位单元,用于根据所述目标插槽和所述目标通道在主板上定位所述目标故障内存条。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1-8任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910775869.6A CN110688266B (zh) | 2019-08-21 | 2019-08-21 | 故障内存条定位方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910775869.6A CN110688266B (zh) | 2019-08-21 | 2019-08-21 | 故障内存条定位方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688266A true CN110688266A (zh) | 2020-01-14 |
CN110688266B CN110688266B (zh) | 2023-01-06 |
Family
ID=69108490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910775869.6A Active CN110688266B (zh) | 2019-08-21 | 2019-08-21 | 故障内存条定位方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688266B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461476A (zh) * | 2022-02-14 | 2022-05-10 | 深圳源创存储科技有限公司 | 一种内存条故障检测方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02264335A (ja) * | 1989-04-04 | 1990-10-29 | Hitachi Ltd | 障害処理方法およびそのための装置 |
CN102841832A (zh) * | 2011-06-24 | 2012-12-26 | 鸿富锦精密工业(深圳)有限公司 | 出错内存条定位系统及方法 |
CN103197999A (zh) * | 2013-03-22 | 2013-07-10 | 北京百度网讯科技有限公司 | 一种内存故障自动定位方法及装置 |
CN107368385A (zh) * | 2017-07-26 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种基于bmc控制的可扩展的多内存故障快速定位的方法及系统 |
-
2019
- 2019-08-21 CN CN201910775869.6A patent/CN110688266B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02264335A (ja) * | 1989-04-04 | 1990-10-29 | Hitachi Ltd | 障害処理方法およびそのための装置 |
CN102841832A (zh) * | 2011-06-24 | 2012-12-26 | 鸿富锦精密工业(深圳)有限公司 | 出错内存条定位系统及方法 |
CN103197999A (zh) * | 2013-03-22 | 2013-07-10 | 北京百度网讯科技有限公司 | 一种内存故障自动定位方法及装置 |
CN107368385A (zh) * | 2017-07-26 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种基于bmc控制的可扩展的多内存故障快速定位的方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461476A (zh) * | 2022-02-14 | 2022-05-10 | 深圳源创存储科技有限公司 | 一种内存条故障检测方法、装置及系统 |
CN114461476B (zh) * | 2022-02-14 | 2023-09-26 | 深圳源创存储科技有限公司 | 一种内存条故障检测方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110688266B (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6976197B2 (en) | Apparatus and method for error logging on a memory module | |
US9720758B2 (en) | Diagnostic analysis tool for disk storage engineering and technical support | |
US8099570B2 (en) | Methods, systems, and computer program products for dynamic selective memory mirroring | |
US9262284B2 (en) | Single channel memory mirror | |
US20200233590A1 (en) | Offloading device maintenance to an external processor in low-latency, non-volatile memory | |
CN104809039A (zh) | 基于物理内存分配映射的内存检测方法 | |
TW201301291A (zh) | 出錯記憶體定位系統及方法 | |
CN111078459A (zh) | 半导体芯片的测试方法、装置及系统 | |
CN110688266B (zh) | 故障内存条定位方法、装置及存储介质 | |
CN111160824A (zh) | 工程资料的检测方法、装置、计算机设备及存储介质 | |
US7404118B1 (en) | Memory error analysis for determining potentially faulty memory components | |
US8321726B2 (en) | Repairing memory arrays | |
CN113961478A (zh) | 一种内存故障记录方法以及装置 | |
CN110718262B (zh) | 定位故障内存颗粒所在rank的方法、装置、存储介质 | |
CN107562593A (zh) | 一种验证内存ecc功能的自动化测试方法与系统 | |
CN112612637A (zh) | 内存数据存储方法、内存控制器、处理器芯片及电子设备 | |
CN108231134B (zh) | Ram良率补救方法及装置 | |
CN112463019A (zh) | 数据读取方法及装置 | |
CN116185734A (zh) | 失效内存条定位方法、装置、电子设备和存储介质 | |
CN115086156B (zh) | 存储区域网络中异常应用的定位方法 | |
CN117170948A (zh) | 主板内存故障的定位方法、装置、电子设备及存储介质 | |
WO2024051058A1 (zh) | 内部存储器的故障修复方法及设备 | |
CN112069749B (zh) | 一种电源连接验证方法、装置、电子设备和存储介质 | |
CN117637012B (zh) | 一种存储芯片的检测系统及检测方法 | |
US11404135B1 (en) | Runtime identification of bad memory cells based on difference between data pattern and read data |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Method, device, and storage medium for locating faulty memory modules Granted publication date: 20230106 Pledgee: Shanghai Pudong Development Bank Co.,Ltd. Shenzhen Branch Pledgor: SHENZHEN TIGO SEMICONDUCTOR Co.,Ltd. Registration number: Y2024980000769 |