CN105589770B - 一种故障检测的方法和装置 - Google Patents

一种故障检测的方法和装置 Download PDF

Info

Publication number
CN105589770B
CN105589770B CN201510428624.8A CN201510428624A CN105589770B CN 105589770 B CN105589770 B CN 105589770B CN 201510428624 A CN201510428624 A CN 201510428624A CN 105589770 B CN105589770 B CN 105589770B
Authority
CN
China
Prior art keywords
physical address
system physical
data
address
written
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
Application number
CN201510428624.8A
Other languages
English (en)
Other versions
CN105589770A (zh
Inventor
刘晓军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
New H3C Information Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Information Technologies Co Ltd filed Critical New H3C Information Technologies Co Ltd
Priority to CN201510428624.8A priority Critical patent/CN105589770B/zh
Publication of CN105589770A publication Critical patent/CN105589770A/zh
Application granted granted Critical
Publication of CN105589770B publication Critical patent/CN105589770B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种故障检测的方法和装置,该方法包括:获取待检测的线路所在的Rank对应的物理Rank地址;将所述物理Rank地址转换成系统物理地址;向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据;利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障。通过本发明的技术方案,中央处理器能够采用走步法检测线路是否存在短路、开路、固定逻辑等故障,提供更高的故障定位精度,并减少故障检测的时间。

Description

一种故障检测的方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种故障检测的方法和装置。
背景技术
CPU(Central Processing Unit,中央处理器)与内存(即内存条或者内存颗粒)之间通过线路(即数据线或者地址线)连接起来,而用于连接CPU与内存的线路可能存在三种故障,这三种故障分别为:1、短路:两个线路的引脚短接在一起,使得这两个线路的电平相同,如果最终电平被高电平主导,则称这种短路类型为1支配型短路,如果最终电平被低电平主导,则称这种短路类型为0支配型短路。2、开路:有线路的部分引脚出现断路。3、固定逻辑:有线路的部分引脚被固定地拉到固定电平,如与地短接等。
目前,可以采用走步法检测线路是否存在短路、开路、固定逻辑等故障,如通过地址线走步算法检测地址线是否存在短路、开路、固定逻辑等故障,并通过数据线走步算法检测数据线是否存在短路、开路、固定逻辑等故障。
在上述处理过程中,走步法需要检测的地址是CPU能够处理的物理地址,因此,CPU可以直接在该地址内写入数据,并从该地址中读取数据。
针对需要检测的地址不是CPU能够处理的物理地址的应用场景,CPU无法采用走步法检测线路是否存在短路、开路、固定逻辑等故障。
发明内容
本发明提供一种故障检测的方法,所述方法包括以下步骤:
获取待检测的线路所在的内存区块Rank对应的物理Rank地址;
将所述物理Rank地址转换成中央处理器能够处理的系统物理地址;
向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据;
利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障。
所述待检测的线路具体包括:待检测的地址线;
所述向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,具体包括:基于地址线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据;
所述利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障,具体包括:利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的地址线是否发生故障。
所述待检测的线路具体包括:待检测的数据线;
所述向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,具体包括:基于数据线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据;
所述利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障,具体包括:利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的数据线是否发生故障。
向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据之前,所述方法进一步包括:获取内存映射表,所述内存映射表中包含不能访问的系统物理地址区间;如果所述系统物理地址位于所述系统物理地址区间,则跳过向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程;如果所述系统物理地址不位于所述系统物理地址区间,则执行向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程。
将包含地址线走步算法、数据线走步算法、以及内存映射表的测试程序,存储在统一可扩展固件接口UEFI固件中,并在系统管理中断SMI中运行所述测试程序。
在获取待检测的线路所在的Rank对应的物理Rank地址之前,所述方法进一步包括:关闭内存的镜像功能和冗余功能;
在利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障之后,所述方法进一步包括:
恢复内存的镜像功能和冗余功能。
本发明提供一种故障检测的装置,所述装置具体包括:
获取模块,用于获取待检测的线路所在的内存区块Rank对应的物理Rank地址;转换模块,用于将所述物理Rank地址转换成中央处理器能够处理的系统物理地址;检测模块,用于向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障。
所述待检测的线路具体包括:待检测的地址线;所述检测模块,具体用于基于地址线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的地址线是否发生故障。
所述待检测的线路具体包括:待检测的数据线;所述检测模块,具体用于基于数据线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的数据线是否发生故障。
所述获取模块,进一步用于在所述检测模块向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据之前,获取内存映射表,其中,所述内存映射表中包含不能访问的系统物理地址区间;
如果所述转换模块得到的所述系统物理地址位于所述系统物理地址区间,则由所述检测模块跳过向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程;如果所述转换模块得到的所述系统物理地址不位于所述系统物理地址区间,则由所述检测模块执行向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程。
将包含地址线走步算法、数据线走步算法、以及内存映射表的测试程序,存储在统一可扩展固件接口UEFI固件中,并在系统管理中断SMI中运行所述测试程序。
还包括:处理模块,用于在所述获取模块获取待检测的线路所在的Rank对应的物理Rank地址之前,关闭内存的镜像功能和冗余功能;在所述检测模块利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障之后,恢复内存的镜像功能和冗余功能。
基于上述技术方案,本发明实施例中,在需要检测的地址不是中央处理器能够处理的物理地址的应用场景(如Rank(内存区块)的应用场景)下,中央处理器通过将待检测的线路对应的地址转换为本中央处理器能够处理的物理地址,从而使得中央处理器能够采用走步法检测线路是否存在短路、开路、固定逻辑等故障,提供更高的故障定位精度,并减少故障检测的时间。
附图说明
图1是本发明一种实施方式中故障检测的方法的流程图;
图2是本发明一种实施方式中包含故障检测的装置的设备的逻辑结构图;
图3是本发明一种实施方式中故障检测的装置的逻辑结构图。
具体实施方式
为了提升内存的访问带宽,通常会将连续的物理地址块交替地分配给不同的Rank,这种分配过程即为交织。Rank是指一组连接在同一芯片的选通线上,能够同步操作的DRAM(Dynamic Random Access Memory,动态随机存储器)芯片,一个Rank的数据位宽可以为64比特。在将连续的物理地址块交替地分配给不同的Rank时,存在三种类型的地址。1、系统物理地址,即中央处理器能够处理的物理地址;2、内存通道地址,即中央处理器内存通道(Channel)内的地址;3、物理Rank地址,即内存的单个Rank上的地址。
在上述应用场景下,走步法需要检测的地址是物理Rank地址,而中央处理器能够执行写入和读取操作的地址是系统物理地址,因此,中央处理器无法直接在物理Rank地址内写入数据,无法从物理Rank地址中读取数据,无法采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障。
针对上述问题,本发明实施例提出一种故障检测的方法,该方法应用在中央处理器(即CPU)上,且该方法可以应用于需要检测的地址不是中央处理器能够处理的物理地址的应用场景下,如Rank的应用场景,该中央处理器采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障。在上述应用场景下,如图1所示,该故障检测的方法具体包括以下步骤:
步骤101,中央处理器获取待检测的线路所在的Rank对应的物理Rank地址,并将该物理Rank地址转换成中央处理器能够处理的系统物理地址。
其中,在检测Rank的线路是否存在短路、开路、固定逻辑等故障时,针对待检测的线路,可以明确获知该待检测的线路所在的Rank。在一种具体应用场景中,当需要对所有Rank的线路进行故障检测时,则中央处理器获取所有Rank的分布情况,这些Rank为所有待检测的线路所在的Rank。
本发明实施例中,待检测的线路具体包括但不限于:待检测的地址线,和/或,待检测的数据线。在采用走步法检测Rank的地址线是否存在短路、开路、固定逻辑等故障时,会采用地址线走步算法,检测Rank的地址线是否存在短路、开路、固定逻辑等故障,而地址线走步算法中会包含需要检测的地址,地址线走步算法是对这些需要检测的地址进行故障检测,而这些需要检测的地址即为Rank对应的物理Rank地址。在采用走步法检测Rank的数据线是否存在短路、开路、固定逻辑等故障时,会采用数据线走步算法,检测Rank的数据线是否存在短路、开路、固定逻辑等故障,而数据线走步算法中会包含需要检测的地址,数据线走步算法是对这些需要检测的地址进行故障检测,而这些需要检测的地址即为Rank对应的物理Rank地址。在实际进行测试时,对于地址线和数据线的测试可以分别单独进行,例如仅进行地址线的检测,但对于一次完整的故障检测,则需要分别对地址线和数据线进行检测。那么,在进行检测时,可以仅测试地址线或仅测试数据线,会分别进行地址线和数据线的检测。
经过上述处理,中央处理器可以获取到待检测的线路所在的Rank对应的物理Rank地址。例如,中央处理器获取到Rank1对应的物理Rank地址为地址1-地址8,获取到Rank2对应的物理Rank地址为地址9-地址16。
本发明实施例中,在将物理Rank地址转换成中央处理器能够处理的系统物理地址的过程中,首先,根据Rank所在的位置以及该Rank的物理Rank地址,可以计算出该物理Rank地址对应的内存通道地址。之后,根据内存通道所在的位置以及该内存通道的内存通道地址,可以计算出该内存通道地址对应的系统物理地址,即将物理Rank地址转换成系统物理地址。
其中,中央处理器会配置多个预设交织规则,以配置两个预设交织规则为例。第一预设交织规则用于将系统物理地址映射到内存通道地址,第二预设交织规则用于将内存通道地址映射到物理Rank地址。基于第二预设交织规则的逆向映射过程,中央处理器可以根据Rank所在的位置以及该Rank的物理Rank地址,将物理Rank地址逆向映射到内存通道地址。基于第一预设交织规则的逆向映射过程,中央处理器可以根据内存通道所在的位置以及该内存通道的内存通道地址,将内存通道地址逆向映射到系统物理地址。
步骤102,中央处理器向本中央处理器能够处理的系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的线路是否发生故障。
本发明实施例中,通过将物理Rank地址转换成中央处理器能够处理的系统物理地址,使得中央处理器能够在系统物理地址中进行数据读写操作,即在系统物理地址中写入数据,并从系统物理地址中读取数据。在系统物理地址中写入数据时,相当于在系统物理地址对应的物理Rank地址中写入数据,从系统物理地址中读取数据时,相当于从系统物理地址对应的物理Rank地址中读取数据。因此,中央处理器可以针对走步算法(如地址线走步算法、数据线走步算法等)需要检测的物理Rank地址,进行数据读写操作,继而采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障。
本发明实施例中,中央处理器向本中央处理器能够处理的系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的线路是否发生故障的过程,具体可以包括但不限于如下方式:当待检测的线路为待检测的地址线时,基于地址线走步算法,则中央处理器向系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的地址线是否发生故障。当待检测的线路为待检测的数据线时,基于数据线走步算法,则中央处理器向系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的数据线是否发生故障。当待检测的线路为待检测的地址线和待检测的数据线时,基于地址线走步算法,中央处理器向系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的地址线是否发生故障;基于数据线走步算法,中央处理器向系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的数据线是否发生故障。
其中,地址线走步算法具体可以包括地址线走步0算法和地址线走步1算法,数据线走步算法具体可以包括数据线走步0算法和数据线走步1算法。
如表1所示,为地址线走步算法的一种示例,表1中的各地址为地址线走步算法包含的需要检测的各物理Rank地址,基于此地址线走步算法,中央处理器向各物理Rank地址对应的各系统物理地址中写入数据,并从各系统物理地址中读取数据。通过判断从系统物理地址中读取的数据是否等于向系统物理地址中写入的数据,来判断Rank的每个地址线是否发生故障。
具体的,地址线走步算法的处理流程可以为:向地址线走步算法的基址写入数据,读取该基址的数据,如果读取的数据与写入的数据不同,则说明地址线发生故障。其中,地址线走步算法的基址,是地址线走步算法需要进行数据访问的第一个地址。如表1所示,地址线走步1算法的基址为0…000,地址线走步0算法的基址为1…111,为了方便描述,后续以地址线走步1算法为例。在表1中,向地址线走步1算法的基址0…000写入数据1…111,并读取地址线走步1算法的基址0…000的数据,并判断读取的数据是否为数据1…111,如果不是,则说明地址线发生故障。之后,确定地址线走步算法的下一个地址(将该下一个地址简称为目标地址),备份该目标地址的数据,向该目标地址写入数据,并读取基址数据,判断基址数据是否被改写,如果被改写,则说明地址线发生故障。如表1所示,地址线走步1算法的下一个目标地址为0…001,备份目标地址0…001的数据,向该目标地址0…001写入数据1…110,并读取地址线走步1算法的基址0…000的数据,并判断读取的数据是否为数据1…111,如果不是,则说明地址线发生故障。之后,还原目标地址(0…001)的数据,确定地址线走步1算法的下一个目标地址为0…010,备份目标地址0…010的数据,向该目标地址0…010写入数据1…101,并读取地址线走步1算法的基址0…000的数据,并判断读取的数据是否为数据1…111,如果不是,则说明地址线发生故障。以此类推,一直到确定地址线走步1算法的最后一个目标地址为1…000,备份目标地址1…000的数据,向该目标地址1…000写入数据0…111,并读取地址线走步1算法的基址0…000的数据,并判断读取的数据是否为数据1…111,如果不是,则说明地址线发生故障。
在上述地址线走步算法的处理流程中,地址线走步算法的基址(如0…000)、地址线走步算法的各目标地址(如0…001、0…010、1…000等),均是指物理Rank地址,中央处理器需要先将地址线走步算法的基址、各目标地址转换成对应的系统物理地址,且写入数据和读取数据的过程,均是在地址线走步算法的基址、各目标地址对应的系统物理地址中进行的。
表1
基于数据线走步算法,中央处理器获得可访问的固定数据地址(数据位宽为数据线数量),固定数据地址为数据线走步算法包含的需要检测的物理Rank地址。中央处理器向固定数据地址对应的系统物理地址中写入测试矢量数据,并从固定数据地址对应的系统物理地址中读取数据。通过判断从系统物理地址中读取的数据,是否等于向系统物理地址中写入的测试矢量数据,来判断Rank的每个数据线是否发生故障。如表2所示,为数据线走步1算法的测试矢量数据的一种示例,针对数据线走步0算法,其测试矢量数据只需要将表2中的每位数据反转即可。进一步的,针对数据线走步1算法和数据线走步0算法,数据线走步的地址为固定数据地址,通过获得可访问的固定数据地址,向该固定数据地址写入测试矢量数据,并从固定数据地址读取数据,通过判断读取的数据与写入的测试矢量数据是否相同,如果不同则表示数据线存在故障,如果相同则表示数据线不存在故障,从而判断出内存的数据线是否发生故障。其中,每个物理Rank地址对应一个固定数据地址,且不同的物理Rank地址对应的固定数据地址各不相同。
表2
D7 D6 D5 D4 D3 D2 D1 D0
Vec0 0 0 0 0 0 0 0 1
Vec1 0 0 0 0 0 0 1 0
Vec2 0 0 0 0 0 1 0 0
Vec3 0 0 0 0 1 0 0 0
Vec4 0 0 0 1 0 0 0 0
Vec5 0 0 1 0 0 0 0 0
Vec6 0 1 0 0 0 0 0 0
Vec7 1 0 0 0 0 0 0 0
考虑到部分内存空间(如程序的stack(堆栈)、Legacy(遗留)空间等)不能访问,当物理Rank地址转换得到的系统物理地址位于该内存空间时,需要跳过这些内存空间的系统物理地址。本发明实施例中,在中央处理器向系统物理地址中写入数据,从系统物理地址中读取数据之前,即步骤102之前,中央处理器还可以获取内存映射表,该内存映射表中包含不能访问的系统物理地址区间(即不能访问的内存空间)。如果物理Rank地址转换得到的系统物理地址位于该系统物理地址区间,则跳过对该系统物理地址的处理,即跳过向该系统物理地址中写入数据,并从该系统物理地址中读取数据的过程,不再执行步骤102。如果物理Rank地址转换得到的系统物理地址不位于该系统物理地址区间,则执行对该系统物理地址的处理,即执行向该系统物理地址中写入数据,并从该系统物理地址中读取数据的过程,即执行步骤102。
进一步的,当地址线走步算法的基址转换得到的系统物理地址位于不能访问的系统物理地址区间时,则中央处理器需要变更地址线走步算法的基址,以使变更后的基址转换得到的系统物理地址不位于不能访问的系统物理地址区间。其中,基址具体为一个物理Rank地址,且地址线走步算法的基址,是地址线走步算法需要进行数据访问的第一个物理Rank地址。
本发明实施例中,为了采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障,会预先配置测试程序,基于该测试程序,可以完成采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障的过程,该测试程序中将包含地址线走步算法和/或数据线走步算法、内存映射表。
为了能够简单直接地访问系统物理地址,本发明实施例中,可以将包括地址线走步算法和/或数据线走步算法、以及内存映射表的测试程序存储在UEFI(UnifiedExtensible Firmware Interface,统一可扩展固件接口)固件中。
考虑到在采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障时,即采用测试程序检测Rank的线路是否存在短路、开路、固定逻辑等故障时,需要对大量的系统物理地址进行读写操作,即首先清除系统物理地址内的数据,然后进行读写操作。基于此,如果在对系统物理地址进行读写操作的过程中,测试程序的运行过程被其它中断程序所中断,则其它中断程序将访问被修改的系统物理地址,此时会引发系统崩溃。基于此,本发明实施例中,可以在SMI(System Management Interrupt,系统管理中断)中运行测试程序,在SMI中运行的程序不会被其它中断程序所中断,将一直到测试程序被执行完成,才可以执行其它中断程序,因此,可以避免测试程序的运行过程被其它中断程序所中断,避免引发系统崩溃。
基于内存的镜像功能和冗余功能,会将内存分为两个部分,一个内存部分是另一个内存部分的镜像或冗余,用来创建内存的冗余副本,在此情况下,内存不具有唯一性,系统物理地址不具有唯一性。基于此,本发明实施例中,为了保证内存的唯一性以及系统物理地址的唯一性,在获取待检测的线路所在的Rank对应的物理Rank地址之前,即执行步骤101之前,中央处理器关闭内存的镜像功能和冗余功能。进一步的,在利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的线路是否发生故障之后,即执行步骤102之后,中央处理器恢复内存的镜像功能和冗余功能。
本发明实施例中,为了保证中央处理器的每次读写操作,都能够直接访问到Rank的物理Rank地址,而不会访问到中央处理器的Cache(高速缓存)中,则中央处理器在采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障的过程中,需要关闭中央处理器的Cache。
基于上述技术方案,本发明实施例中,在需要检测的地址不是中央处理器能够处理的物理地址的应用场景(如Rank的应用场景)下,中央处理器通过将待检测的线路对应的地址转换为本中央处理器能够处理的物理地址,从而使得中央处理器能够采用走步法检测线路是否存在短路、开路、固定逻辑等故障,提供更高的故障定位精度,并减少故障检测的时间。
本发明提出的故障检测的装置,可以应用在任意设备的中央处理器中,该故障检测的装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的设备的中央处理器,将非易失性存储器中对应的计算机程序指令读取到本中央处理器中运行形成的。从硬件层面而言,如图2所示,为本发明提出的故障检测的装置所在的设备的一种硬件结构图,除了图2所示的中央处理器、网络接口、内存以及非易失性存储器外,该设备还可以包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲,该设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种故障检测的装置,所述故障检测的装置应用在中央处理器中,如图3所示,所述故障检测的装置具体包括:
获取模块11,用于获取待检测的线路所在的Rank对应的物理Rank地址;转换模块12,用于将所述物理Rank地址转换成中央处理器能够处理的系统物理地址;检测模块13,用于向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障。
所述待检测的线路具体包括:待检测的地址线;所述检测模块13,具体用于基于地址线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的地址线是否发生故障。
所述待检测的线路具体包括:待检测的数据线;所述检测模块13,具体用于基于数据线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的数据线是否发生故障。
所述获取模块11,进一步用于在所述检测模块13向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据之前,获取内存映射表,其中,所述内存映射表中包含不能访问的系统物理地址区间;
如果所述转换模块12得到的所述系统物理地址位于所述系统物理地址区间,则由所述检测模块13跳过向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程;如果所述转换模块12得到的所述系统物理地址不位于所述系统物理地址区间,则由所述检测模块13执行向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程。
本发明实施例中,将包含地址线走步算法、数据线走步算法、以及内存映射表的测试程序,存储在统一可扩展固件接口UEFI固件中,并在系统管理中断SMI中运行所述测试程序。
本发明实施例中,所述故障检测的装置还包括:处理模块14,用于在所述获取模块获取待检测的线路所在的Rank对应的物理Rank地址之前,关闭内存的镜像功能和冗余功能;在所述检测模块13利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障之后,恢复内存的镜像功能和冗余功能。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (12)

1.一种故障检测的方法,其特征在于,所述方法包括以下步骤:
获取待检测的线路所在的内存区块Rank对应的物理Rank地址;
将所述物理Rank地址转换成中央处理器能够处理的系统物理地址;其中,将所述物理Rank地址转换成中央处理器能够处理的系统物理地址,包括:根据Rank所在的位置以及Rank的物理Rank地址,计算所述物理Rank地址对应的内存通道地址;根据内存通道所在的位置以及内存通道的内存通道地址,计算所述物理Rank地址对应的内存通道地址对应的系统物理地址;
向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据;
利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障。
2.根据权利要求1所述的方法,其特征在于,所述待检测的线路具体包括:待检测的地址线;
所述向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,具体包括:基于地址线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据;
所述利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障,具体包括:利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的地址线是否发生故障。
3.根据权利要求1所述的方法,其特征在于,所述待检测的线路具体包括:待检测的数据线;
所述向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,具体包括:基于数据线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据;
所述利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障,具体包括:利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的数据线是否发生故障。
4.根据权利要求1所述的方法,其特征在于,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据之前,所述方法进一步包括:
获取内存映射表,所述内存映射表中包含不能访问的系统物理地址区间;
如果所述系统物理地址位于所述系统物理地址区间,则跳过向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程;
如果所述系统物理地址不位于所述系统物理地址区间,则执行向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程。
5.根据权利要求2-4任一项所述的方法,其特征在于,将包含地址线走步算法、数据线走步算法、以及内存映射表的测试程序,存储在统一可扩展固件接口UEFI固件中,并在系统管理中断SMI中运行所述测试程序。
6.根据权利要求1所述的方法,其特征在于,在获取待检测的线路所在的Rank对应的物理Rank地址之前,所述方法进一步包括:
关闭内存的镜像功能和冗余功能;
在利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障之后,所述方法进一步包括:
恢复内存的镜像功能和冗余功能。
7.一种故障检测的装置,其特征在于,所述装置具体包括:
获取模块,用于获取待检测的线路所在的内存区块Rank对应的物理Rank地址;
转换模块,用于将所述物理Rank地址转换成中央处理器能够处理的系统物理地址;所述转换模块具体用于:根据Rank所在的位置以及Rank的物理Rank地址,计算所述物理Rank地址对应的内存通道地址;根据内存通道所在的位置以及内存通道的内存通道地址,计算所述物理Rank地址对应的内存通道地址对应的系统物理地址;
检测模块,用于向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障。
8.根据权利要求7所述的装置,其特征在于,
所述待检测的线路具体包括:待检测的地址线;所述检测模块,具体用于基于地址线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的地址线是否发生故障。
9.根据权利要求7所述的装置,其特征在于,
所述待检测的线路具体包括:待检测的数据线;所述检测模块,具体用于基于数据线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的数据线是否发生故障。
10.根据权利要求7所述的装置,其特征在于,
所述获取模块,进一步用于在所述检测模块向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据之前,获取内存映射表,其中,所述内存映射表中包含不能访问的系统物理地址区间;
如果所述转换模块得到的所述系统物理地址位于所述系统物理地址区间,则由所述检测模块跳过向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程;如果所述转换模块得到的所述系统物理地址不位于所述系统物理地址区间,则由所述检测模块执行向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程。
11.根据权利要求8-10任一项所述的装置,其特征在于,将包含地址线走步算法、数据线走步算法、以及内存映射表的测试程序,存储在统一可扩展固件接口UEFI固件中,并在系统管理中断SMI中运行所述测试程序。
12.根据权利要求7所述的装置,其特征在于,还包括:
处理模块,用于在所述获取模块获取待检测的线路所在的Rank对应的物理Rank地址之前,关闭内存的镜像功能和冗余功能;在所述检测模块利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障之后,恢复内存的镜像功能和冗余功能。
CN201510428624.8A 2015-07-20 2015-07-20 一种故障检测的方法和装置 Active CN105589770B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510428624.8A CN105589770B (zh) 2015-07-20 2015-07-20 一种故障检测的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510428624.8A CN105589770B (zh) 2015-07-20 2015-07-20 一种故障检测的方法和装置

Publications (2)

Publication Number Publication Date
CN105589770A CN105589770A (zh) 2016-05-18
CN105589770B true CN105589770B (zh) 2019-09-06

Family

ID=55929369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510428624.8A Active CN105589770B (zh) 2015-07-20 2015-07-20 一种故障检测的方法和装置

Country Status (1)

Country Link
CN (1) CN105589770B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776173B (zh) * 2016-12-15 2019-09-17 郑州云海信息技术有限公司 一种内存检测方法及装置
CN107451051A (zh) * 2017-06-29 2017-12-08 郑州云海信息技术有限公司 一种Linux下进行服务器内存诊断的方法
TWI668566B (zh) * 2018-06-05 2019-08-11 和碩聯合科技股份有限公司 記憶體檢測系統、記憶體檢測方法以及用於記憶體檢測的錯誤映射表建立方法
CN109669830B (zh) * 2018-12-25 2022-04-22 上海创功通讯技术有限公司 一种用于内存的物理检测方法及终端设备
CN112270948B (zh) * 2020-10-30 2021-12-28 皇虎测试科技(深圳)有限公司 支持DRAM x16颗粒的测试方法及装置、DRAM存储器的测试设备
CN112486747A (zh) * 2020-11-30 2021-03-12 维沃移动通信有限公司 存储器异常检测方法、装置、电子设备及可读存储介质
CN112822074B (zh) * 2021-01-11 2022-09-16 中国船舶重工集团公司第七0七研究所 一种单节点反射内存及反射内存网故障检测方法
CN112988491B (zh) * 2021-05-20 2021-08-06 新华三半导体技术有限公司 一种内存测试方法、装置及内存控制器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1619705A (zh) * 2003-11-19 2005-05-25 华为技术有限公司 一种多端口存储器的测试方法
CN104575612A (zh) * 2015-01-28 2015-04-29 中科创达软件股份有限公司 一种内存测试方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738977B2 (en) * 2006-08-31 2014-05-27 Agere Systems Llc Yield-enhancing device failure analysis

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1619705A (zh) * 2003-11-19 2005-05-25 华为技术有限公司 一种多端口存储器的测试方法
CN104575612A (zh) * 2015-01-28 2015-04-29 中科创达软件股份有限公司 一种内存测试方法和系统

Also Published As

Publication number Publication date
CN105589770A (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
CN105589770B (zh) 一种故障检测的方法和装置
US7149921B1 (en) Apparatus, method, and system to allocate redundant components with subsets of the redundant components
Fraigniaud et al. Digraphs exploration with little memory
US8862953B2 (en) Memory testing with selective use of an error correction code decoder
US8341476B1 (en) I-R voltage drop screening when executing a memory built-in self test
JP2016540288A (ja) 不揮発性ram誤りリマッピングのための方法および装置
JP2009163790A (ja) オンチップ不良情報解析装置及びオンチップ不良情報解析方法
KR102135470B1 (ko) 동적 고장 재배치에 따른 메모리 수리 솔루션 탐색 장치 및 방법
KR20220152566A (ko) 가속 신경망에 대한 메모리 결함 맵
CN102013274B (zh) 一种存储器的自检测电路和方法
US9384856B2 (en) Memories having a built-in self-test (BIST) feature
CN104658609B (zh) 用于存储器系统的纠错码分布的方法和系统
CN108108262A (zh) 具有检查所选择的存储器访问的硬件检查单元的集成电路
US20150205707A1 (en) Test paths generation for a physical system
CN112420117B (zh) 测试sram的方法、装置、计算机设备及存储介质
CN116705107B (zh) 存储地址传输电路、方法、装置、存储介质及电子设备
US6539338B1 (en) Self-diagnostic testing of a network interface adapter
KR102026303B1 (ko) 스페어 피봇 고장 특성을 이용한 메모리 분석 방법 및 장치
US8762926B2 (en) Method and apparatus for diagnosing a fault of a memory using interim time after execution of an application
CN105760263B (zh) 一种地址线故障检测的方法和装置
CN110851162A (zh) 兼容raid与非raid的ssd固件升级方法和装置
CN115312111A (zh) 一种动态随机存储器测试方法及装置
US11081202B2 (en) Failing address registers for built-in self tests
US9697910B1 (en) Multi-match error detection in content addressable memory testing
JP5279817B2 (ja) 試験装置および試験方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District, Zhejiang Province, Changhe Road, No. 11, building 466, building

Applicant after: Huashan Information Technology Co., Ltd.

Address before: 310052 Binjiang District, Zhejiang Province, Changhe Road, No. 11, building 466, building

Applicant before: Hangzhou Kun Hai Information Technology Co., Ltd

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Xinhua Sanxin Information Technology Co., Ltd.

Address before: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Huashan Information Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant