CN101692351B - 存储器测试方法及装置 - Google Patents

存储器测试方法及装置 Download PDF

Info

Publication number
CN101692351B
CN101692351B CN 200910211215 CN200910211215A CN101692351B CN 101692351 B CN101692351 B CN 101692351B CN 200910211215 CN200910211215 CN 200910211215 CN 200910211215 A CN200910211215 A CN 200910211215A CN 101692351 B CN101692351 B CN 101692351B
Authority
CN
China
Prior art keywords
data
address
memory
vector value
read
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
CN 200910211215
Other languages
English (en)
Other versions
CN101692351A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200910211215 priority Critical patent/CN101692351B/zh
Publication of CN101692351A publication Critical patent/CN101692351A/zh
Application granted granted Critical
Publication of CN101692351B publication Critical patent/CN101692351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种存储器测试方法及装置,涉及存储测试领域,实现了对信号完整性问题的测试,使信号完整性存在的隐患暴露出来。本发明包括:按照内存地址递变的方式将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器;依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值不相等,则输出存储器出错的指示信息。本发明实施例主要用于存储器的测试过程中,还可以用于检测各类并行总线信号完整性的过程中。

Description

存储器测试方法及装置
技术领域
本发明涉及存储器领域,尤其涉及一种存储器测试方法及装置。
背景技术
随着处理器技术的不断进步,过去几年中大容量存储器件的设计和开发呈指数级增长;而这些大容量存储器件重新设计的关键部件不是速度更快的处理器,而是采用闪存取代了硬盘。这些装置的可靠性取决于存储器的正确设计和测试。存储器测试的主要目标是验证存储器件上的每一个存储位都能够可靠地储存数据。验证存储器件所需的关键测试包括验证物理连接、检查存储器的每一位并描述器件特征。
常见的存储器测试方法有扫描图形法、跨步图形法、棋盘图形法、五步棋盘法等等;方案较多,测试复杂度各有不同,但上述不同的存储器的测试方法都聚焦在检测存储器的外围互连故障和内部单元故障,更多的考虑存储器内部的各类逻辑错误和耦合错误类型。其中外围互连故障如开路、短路和逻辑故障等而内部单元测试一般包括存储单元阵列故障、译码电路和读写逻辑故障等。
发明人发现现有技术至少存在如下问题:上述存储器的检测方法,虽然能够检测到存储器的外围互连故障和内部单元故障,但是无法检测出硬件及PCB(Print Circuit Board)设计上存在的缺陷和隐患,即无法检测出大部分常见的信号完整性缺陷或隐患,因为即使存储器内部单元全部正常,也有可能因为信号完整性问题而导致器件不能可靠地完成每次读写操作。
发明内容
本发明的实施例提供一种存储器测试方法及装置,以检测出存储器的信号完整性问题。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明的实施例提供了一种存储器测试方法,包括:
按照内存地址递变的方式将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器;
依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值不相等,则输出存储器出错的指示信息;
依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值相等,将所述读取的数据翻转得到的第二测量向量值写入所述内存地址。
另一方面,本发明的实施例提供了一种存储器测试装置,包括:
写操作单元,用于按照内存地址递变的顺序将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器;
第一检测单元,用于依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值不相等,则输出存储器出错的指示信息;
第二检测单元,用于依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值相等,将所述读取的数据翻转得到的第二测量向量值写入所述内存地址。
本发明技术方案中,将根据常见的信号完整性问题定义的两个测量向量,按照相互交替的形式写入存储器,将数据存储过程中相邻地址的测试数据相互取反,使存储器相邻的数据线频繁同向或异向跳变,再进行检测,从而能够发现存储器的信号完整性问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中存储器测试方法的流程示意图;
图2为本发明实施例2中存储器测试方法的流程示意图;
图3为本发明实施例2中存储器测试方法中将测试向量值写入存储器的操作流程示意图;
图4为本发明实施例2中按照内存地址递增的方式从所述存储器读取数据的过程流程图;
图5为本发明实施例3中存储器测试装置的组成框图;
图6为本发明实施例4中存储器测试装置的组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种存储器测试方法,如图1所示,该方法包括:
101、按照内存地址递变的方式将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器。
在本步骤中,将测量向量值及其翻转值交替写入存储器的待测地址空间,该待测地址空间可以为但不局限于存储器的全部地址空间,还可以由测试者根据具体情况具体设置,例如从最低地址开始的一部分地址,本实施例对此不进行限制。
其中,第一测量向量由测试者根据具体的测试需求具体确定,第一测量向量值可以选取预先设置的默认值,也可以在测试的时候由测试者输入,本发明实施例对此不进行限制。
所述第一测量向量值的翻转值为将第一测量向量值的部分或者全部二进制比特位取反得到的值,如果比特位的值是1,取反得到的值就是0,如果比特为的值是0,取反后得到的值就是1。
内存地址递变,指将内存地址的比特位,按照一定的规律进行改变,例如,对于一个8位地址线,按照从高位地址线向低位地址线的方式改变比特位的值,或者按照从地位地址线向高位地址线的方向改变比特为的值。改变方式有两种,第一种,内存地址递增的方式,第二种,内存地址递减的方式。
将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器的方式包括以下两种方式:第一种,所述第一测量向量值在前,将第一测量向量值的翻转值写入存储器中内存地址与第一测量向量值的内存地址相邻的内存地址中,如此循环重复,直至存储器的待测地址空间全部写入测量向量值;第二种,所述第一测量向量值的翻转值在前,将第一测量向量值写入存储器中内存地址与第一测量向量值的内存地址相邻的内存地址中,如此循环重复,直至写完存储器的待测地址空间。例如,第一测量向量值为X={00000000},第一测量向量值的翻转值为
Figure GDA00001989366300041
按照第一种方式写入存储器得到如下形式的内容,具体如表1所示,
Figure GDA00001989366300051
将测量向量值和测量向量值取反后的值交替写入存储器,将数据存储过程中相邻地址的测试数据相互取反,使存储器相邻的数据线频繁同向或异向跳变。
102、依次从所述存储器读取数据,若从一内存地址读取的数据与写入该内存地址的测量向量值不相等,则执行步骤103。
在本步骤中,依次从存储器的地址中读取数据,并将从每个内存地址读取的数据与写入该内存地址的测量向量值比较,判断该内存地址的值是否发生错误。如果二者不等,说明该内存地址的数据有误,存在信号完整性问题。
由于向存储器中写入的测试数据包括两个数据不等的测量向量值,因而在比较的时候,需要先识别写入该内存地址的测量向量值是哪一个,然后才能与从该内存地址读取的数据比较。
由于知道第一测量向量值和第二测量向量值的写入顺序,因此在按照内存地址递增或递减的方式读取数据时,只要知道读取的第一个内存地址写入的测量向量值,就可以获得其它内存地址写入的是哪个测量向量值。
因此,依次从所述存储器读取数据,可以按照内地地址递变的方式从所述从存储器中读取数据,包括:
通过内存指针按照内存地址递增的方式从存储器的待测试地址空间的低位地址端开始读取数据,直到内存指针指向待测试地址空间的高位地址端;或
通过内存指针按照内存地址递减的方式从存储器的待测试地址空间的高位地址端开始读取数据,直到内存指针指向待测试地址空间的低位地址端。
通过内存指针按照内存地址递增的方式从存储器的待测地址空间依次读取数据,可以使读取数据的相邻总线顺序向同向或者异向跳变,使得存储器的信号完整性问题暴露;通过内存指针按照内存地址递减的方式从存储器的待测地址空间依次读取数据,可以使读取数据的相邻总线逆序向同向或者异向跳变,使得存储器的信号完整性问题暴露;按照上述两种方式读取数据可以使存储器的信号完整性问题全面暴露。
103、输出存储器出错的指示信息。
其中,若从一内存地址读取的数据与写入所述内存地址的测量向量值不相等,则表明该存储器存在故障,由于可以顺利的将数据写入和读出,因此可以排除外围互连故障和内部单元故障,从而可以判断出数据传输的过程中信号的完整性缺失,为方便相关人员对该缺失的处理,将存储器出错的提示信息输出。
其中,所述存储器出错的指示信息可以包括读取的数据、读取数据的地址以及出错的次数等,以便相关操作人员根据所述出错指示信息及时的对出错的地方进行处理。
可选的,在步骤102中,若从一内存地址读取的数据与写入所述内存地址的测量向量值相等,则执行步骤104。
104、将所述读取的数据翻转得到的第二测量向量值写入所述内存地址。
其中,所述将所述读取的数据翻转包括:将所述读取的数据的所有二进制比特位部分取反或者全部取反。
其中,当从存储器的一个内存地址读取的数据与写入该内存地址的测量向量值相等时,将读取的数据的部分或者全部二进制比特位取反得到的第二测量向量值写入该内存地址中,使得在改写存储器中的数据时,传输数据的相邻总线向同一方向跳变,这样可以尽最大限度的将存储器的信号完整性问题暴露。
本发明实施例中,将根据常见的信号完整性问题定义两个测量向量,交替写入存储器,使相邻的数据线频繁同向或异向跳变,从而使存储器的信号完整性存在的隐患暴露;在将所述数据交替写入存储器后,再读取所述写入的数据,并对读取的数据进行检测,从而能够发现存储器信号完整性的问题。
实施例2
本发明实施例提供一种存储器测试方法,如图2所示,该方法包括:
201、按照内存地址递变的方式将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器。
在本步骤中,将测量向量值及其翻转值交替写入存储器的待测地址空间,该待测地址空间可以为但不局限于存储器的全部地址空间,还可以由测试者根据具体情况具体设置,例如从最低地址开始的一部分地址,本实施例对此不进行限制。
将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器的方式包括以下两种方式:
第一种,所述第一测量向量值在前,将第一测量向量值的翻转值写入存储器中内存地址与第一测量向量值的内存地址相邻的内存地址中,如此循环重复,直至存储器的待测地址空间全部写入测量向量值;第二种,第一测量向量值的翻转值在前,第一测量向量值写入存储器中内存地址与第一测量向量值的内存地址相邻的内存地址中,如此循环重复,直至写完存储器的待测地址空间。
信号完整性的问题,针对不同的单板的设计不尽相同,但可以对常见的信号完整性问题进行划分,结合存储器总线操作的方式,有针对性地逐一设计将有害影响最大化的测试向量。例如,对于同步翻转噪声问题需要使每次读写时全部总线同时向同一方向跳变,对于串扰问题应使相邻总线频繁同向或异向跳变等等。
作为一个示例,为了使存储器的并行总线达到最大程度翻转的状态,需保证每次读写操作,全部的总线是同时向同一方向翻转,此时的翻转是最大的,所造成的翻转噪声是最明显的,从而使存储器存在的问题得到最大程度的暴露。
为便于表述,本发明实施例以第一测量向量值为X,第一测量向量值的翻转值为Y。下面,按照内存地址升序并且将X在前,Y在后的顺序,将X和Y交替写入存储器,对本实施例提供的方法进行进一步说明。
下面针对翻转噪声问题对存储器进行检测,以存储器数据位宽为8bit为例具体阐述存储器的测试方法。数据位宽为8bit时,X={00000000},Y={11111111}。将第一向量值X和第二向量值Y按照内存地址从低到高的顺序交替写入存储器,具体的流程如图3所示;
首先将存储器内存地址的指针指向存储器内存地址的最低地址,在所述最低地址处写入第一测量向量值X,将内存地址指针加1,使内存地址指针指向内存地址的下一地址,写入第二测量向量值Y;然后指针再加1,写入X,再加1,写入Y,如此循环反复,直到内存地址指针指向存储器待测地址空间的最高地址。若内存地址的指针指向存储器待测地址空间的最高地址,则结束数据的写入。
202、判断从一内存地址读取的数据与写入该内存地址的测量向量值是否相等,若不相等,则执行步骤203。
其中,判断从一内存地址读取的数据与写入该内存地址的测量向量值是否相等包括:依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值不相等,则执行步骤203。
在本步骤中,依次从存储器的地址中读取数据,并将从每个内存地址读取的数据与写入该内存地址的测量向量值比较,判断该内存地址的值是否发生错误。如果二者不等,说明该内存地址的数据有误,存在信号完整性问题。
由于向存储器中写入的测试数据包括两个数据不等的测量向量值,因而在比较的时候,需要先识别写入该内存地址的测量向量值是哪一个,然后才能与从该内存地址读取的数据比较。
由于知道第一测量向量值和第二测量向量值的写入顺序,因此在按照内存地址递增或递减的方式读取数据时,只要知道读取的第一个内存地址写入的测量向量值,就可以获得其它内存地址写入的是哪个测量向量值。
因此,所述依次从所述存储器读取数据位,可以是按照内地地址递变的方式从所述从存储器中读取数据,包括:
通过内存指针按照内存地址递增的方式从存储器的待测试地址空间的低位地址端开始读取数据,直到内存指针指向待测试地址空间的高位地址端;或
通过内存指针按照内存地址递减的方式从存储器的待测试地址空间的高位地址端开始读取数据,直到内存指针指向待测试地址空间的低位地址端。
通过内存指针按照内存地址递增的方式从存储器的待测地址空间依次读取数据,可以使读取数据的相邻总线顺序向同向或者异向跳变,使得存储器的信号完整性问题暴露;通过内存指针按照内存地址递减的方式从存储器的待测地址空间依次读取数据,可以使读取数据的相邻总线逆序向同向或者异向跳变,使得存储器的信号完整性问题暴露;按照上述两种方式读取数据可以使存储器的信号完整性问题全面暴露。
203、输出存储器出错的指示信息。
其中,若从一内存地址读取的数据与写入所述内存地址的测量向量值不相等,则表明该存储器存在故障,由于可以顺利的将数据写入和读出,因此可以排除外围互连故障和内部单元故障,从而可以判断出数据传输的过程中信号的完整性缺失,为方便相关人员对该缺失的处理,将存储器出错的提示信息输出。
输出存储器出错的指示信息之后,可以继续执行步骤202,直到所有的内存地址都测试完毕。
可选的,在步骤202中,若从一内存地址读取的数据与写入所述内存地址的测量向量值相等,则执行步骤204。
204、将所述读取的数据翻转得到的第二测量向量值写入所述内存地址。
其中,将所述读取的数据翻转包括:将所述读取的数据的所有二进制比特位部分取反或者全部取反。
其中,当从存储器的一个内存地址读取的数据与写入该内存地址的测量向量值相等时,将所述读取的数据的所有二进制比特位部分取反或者全部取反得到的第二测量向量值写入所述内存地址中,使得在改写存储器中的数据时,传输数据的相邻总线向同一方向跳变,这样可以尽最大限度的将存储器的信号完整性问题暴露。
将所述读取的数据翻转得到的第二测量向量值写入所述内存地址之后,可以继续执行步骤202,直到所有的内存地址都测试完毕。
当从存储器每个待测地址空间的内存地址中读取数据,并对该读取的每个数据进行检测后,为了使存储器的信号完整性问题进一步暴露,在将初始写入存储器的数据改写后,继续执行步骤205。
205、判断从一内存地址读取的改写后的数据与写入该内存地址的测量向量值是否相等,若不相等,则执行步骤204。
其中,判断从一内存地址读取的改写后的数据与写入该内存地址的测量向量值是否相等包括:依次从所述存储器读取改写后的数据,若从一内存地址读取的所述改写的数据与写入所述内存地址的测量向量值不相等,则执行步骤204。
输出存储器出错的指示信息之后,可以继续执行步骤205,直到所有的内存地址都测试完毕。
其中,在依次从所述存储器读取改写后的数据时,读取数据的顺序参考步骤202中的顺序,此处将不再赘述。
由于知道初始的第一测量向量值和第二测量向量值的写入顺序,并且知道改写时对所述读取的数据的翻转的规则,因此在按照内存地址递增或递减的方式读取改写后的数据时,只要知道读取的第一个内存地址写入的改写后的测量向量值,就可以获得其它内存地址写入的是哪个测量向量值。
依次从所述存储器读取改写后的数据一般和改写时读取数据时顺序可以一致,但本发明实施例对此不进行限制。
可选的,在步骤202中,若从一内存地址读取的所述改写的数据与写入所述内存地址的测量向量值相等,则执行步骤206。
206、将所述读取的数据翻转得到的测量向量值写入所述内存地址。
进一步,为了整体检测存储器的信号的完整性是否存在问题,在将所述改写后的数据依次从所述存储器读取后,执行步骤207;
207、判断全部待测试地址空间的数据是否出错,若判定全部待测试地址空间的数据出错执行步骤204。
其中,判断全部待测地址空间的数据是否出错的具体方法包括:读取全部待测试地址空间的数据,若从所述待测试地址空间中读取的数据的顺序和内容与写入的所述待测试地址的测量向量值的顺序和内容不相等,则执行步骤204。
可选的,在步骤207中,若判定全部待测试地址空间的数据没有出错,则执行步骤208。其中所述判定全部待测试地址空间的数据没有出错具体为:若从所述待测试地址空间中读取的数据的顺序和内容与写入的所述待测试地址的测量向量值的顺序和内容相等,则判定全部待测试地址空间的数据没有出错。
其中,判断全部待测试地址空间的数据是否错处的检测存储器信号完整性的方法,还可以在将第一测量向量值和第一测量向量值的翻转值交替写入存储器后进行,其具体的判断过程如上所述,将不再赘述。
读取存储器的全部待测地址空间中的数据的过程中,使读取数据的尽可能多的相邻总线同时向同向或异向跳变,可以使存储器的信号完整性问题尽最大程度的暴露。
208、结束对存储器型号完整性的检测。
其中,本发明实施例中,在将第一向量值和第二测量向量值交替写入存储器后,依次从存储器读取数据包含两种方式,本发明实施例以通过内存指针按照内存地址递增的方式从所述存储器的待测试地址空间的低位地址端开始读取数据,直到所述内存指针指向待测试地址空间的高位地址端为例,并且以待测地址空间为存储器的整个内存地址空间为例,具体阐述依次从所述存储器读取数据并检测的具体过程,如图4所示:该过程包括如下步骤:
301、将地址指针指向存储器的最低地址位。
本发明实施例中存储器的最低位为[00h]。本发明实施例中以第一测量向量值X在前,第二测量向量值Y在后交替写入存储器为例,具体阐述依次从所述存储器读取数据并检测的具体过程。
302、读取地址指针当前指向地址的数据,若读取的数据与写入该地址的测量向量值不相等,则执行步骤308。
可选的,若所述读取的数据与写入所述内存地址的测量向量值相等,则执行步骤303。
由于知道第一测量向量值和第二测量向量值的写入顺序,因此知道在按照内存地址递增的方式读取数据时,只要知道读取的第一个内存地址写入的测量向量值,就可以获得其它内存地址写入的是哪个测量向量值。
本发明实施例中,第一个内存地址写入的测量向量值为X,因此第二个地址写入的测量向量值为Y。本发明实施例以读取的当前地址的数据与所述第一测量向量值X相等为例具体阐述数据读取的过程。由于读取的数据与第一测量向量值X相等,则执行步骤303。
303、将所述读取的数据翻转得到的第二测量向量值写入所述内存地址。
本发明实施例中所述读取的数据翻转得到的第二测量向量值为X的二进制比特位的取反值即第二测量向量值Y,将该第二测量向量值Y写入地址[00h]中。
304、在将所述该第二测量向量值Y写入地址[00h]中后,将内存地址指针加1。
305、读取当前地址指针指向地址的数据,若当前读取的数据与写入所述内存地址的测量向量值不相等,则执行步骤308。
可选的,若当前读取的数据与写入所述内存地址的测量向量值为Y相等,则执行步骤306。
本发明实施例中将地址指针加1后,地址指针指向[01h],读取[01h]处的数据。由于知道写入存储器第一内存地址的测量向量值为X,则可以知道将地址指针加1后,写入该地址的测量向量值为Y。本发明实施例以读取的当前地址的数据与Y相等为例具体阐述数据读取的过程。由于读取的数据与Y相等,则执行步骤306。
306、将所述读取的数据翻转得到的测量向量值写入所述内存地址。
本发明实施例中所述读取的数据翻转得到的测量向量值为所述第二测量向量值Y的二进制比特位取反得到的向量值X,即将该第一测量向量值X写入地址[01h]中。
307、判断内存地址指针是否指向存储器的最高地址,若该地址指针指向存储器的最高地址,则执行步骤309;否则将该地址指针加1,循环执行步骤302到307,直至该地址指针指向存储器的最高地址,以便将存储器中的所有数据都按照地址升序的方式进行读取,检测和回写的过程,实现对数据传输信号完整性的检测。
308、输出存储器出错的指示信息,所述出错的指示信息包括出错的地址、出错的具体位置以及出错的次数,以便测试人员能够准确的获取该存储器的信号完整性缺陷的所在位置。
309、结束数据读取的过程。
其中,按照步骤302到步骤307执行的过程中,若每次读取的数据都与写入所述内存地址的第一测量向量值X或第二测量向量值Y相等,执行的过程和结果如图3中的步骤302和步骤305所示。
其中,步骤205中依次从所述存储器读取改写后的数据时,在依次从所述存储器读取改写后的数据时,读取数据的顺序包括步骤202中两种顺序,但为了数据的完整性,一般依次从所述存储器读取改写后的数据一般和改写时读取数据时顺序一致。具体的实施参考图4中的具体步骤,此处将不再赘述。
进一步,依次从所述存储器读取数据或者依次从所述存储器读取改写后的数据除了上述图4中具体描述的方法外,还包括通过内存指针按照内存地址递减的方式从所处存储器的待测试地址空间的高位地址端开始读取数据,直到所述内存指针指向所述待测试地址空间的低位地址端的读取数据的方法。其与图4中描述的方法的不同之处为,在进行数据的读取时,首先将内存地址的指针指向存储器的待测地址的最高地址处,并从最高地址处读取数据与写入的测量向量值进行比较,执行相应的操作。当读取的数据与写入的测量向量值相等时,在将所述读取的数据翻转得到的第二测量向量值写入所述内存地址后,将内存地址减1,指示内存地址指针指向所述存储器的待测地址的最低地址。具体的实施参考图4,此处将不再赘述。
本发明实施例中,将根据常见的信号完整性问题定义的两个测量向量,按照相互交替的形式写入存储器,体现了数据传输过程中电平信号的来回跳变的过程,该种数据的存储方式,便于检测信号的完整性;在将所述数据写入存储器后,再从所述存储器依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值相等,则表明写入数据的过程是没有问题的,则将所述读取的数据翻转得到的第二测量向量值写入所述内存地址,以便对存储器信号的完整性的其他方面进行测试,使得存储器的信号完整性的问题进最大程度的暴露。
并且在实现存储器信号完整性测试的过程中,若存储器外围互连故障和内部单元故障,数据便不能正常的写入与读取,因此本发明技术方案实现了对信号完整性问题的测试的同时,实现了对存储器外围互连故障和内部单元故障的测试。
实施例3
本发明实施例提供一种存储器测试装置,如图5所示,该装置包括:写操作单元41和第一检测单元42。
写操作单元41,用于按照内存地址递变的顺序将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器。
在本步骤中,将测量向量值及其翻转值交替写入存储器的待测地址空间,该待测地址空间可以为但不局限于存储器的全部地址空间,还可以由测试者根据具体情况具体设置,例如从最低地址开始的一部分地址,本实施例对此不进行限制。
其中,第一测量向量由测试者根据具体的测试需求具体确定,所述第一测量向量值可以选取预先设置的默认值,也可以在测试的时候由测试者输入,本发明实施例对此不进行限制。
所述第一测量向量值的翻转值为将第一测量向量值的部分或者全部二进制比特位取反得到的值,如果比特位的值是1,取反得到的值就是0,如果比特为的值是0,取反后得到的值就是1;
内存地址递变包括两种方式,第一种,内存地址递增的方式,第二种,内存地址递减的方式。
将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器的方式包括以下两种方式:第一种,所述第一测量向量值在前,将第一测量向量值的翻转值写入存储器中内存地址与第一测量向量值的内存地址相邻的内存地址中,如此循环重复,直至存储器的待测地址空间全部写入测量向量值;第二种,所述第一测量向量值的翻转值在前,将第一测量向量值写入存储器中内存地址与第一测量向量值的内存地址相邻的内存地址中,如此循环重复,直至写完存储器的待测空间。
将测量向量值和测量向量值取反后的值交替的写入存储器,将数据存储过程中相邻地址的测试数据相互取反,使存储器相邻的数据线频繁同向或异向跳变。
在将所述第一向量值和所述第一测量向量值的翻转值交替写入存储器后,第一检测单元42用于依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值不相等,输出存储器出错的指示信息。其中,所述第一检测单元42依次从存储器的地址中读取数据,并将从每个内存地址读取的数据与写入该内存地址的测量向量值比较,判断该内存地址的值是否发生错误。如果二者不等,说明该内存地址的数据有误,存在信号完整性问题。
其中,所述存储器出错的指示信息包括所述读取的数据、读取数据的地址以及出错的次数等。
由于向存储器中写入的测试数据包括两个数据不等的测量向量值,因而在比较的时候,需要先识别写入该内存地址的测量向量值是哪一个,然后才能与从该内存地址读取的数据比较。
由于知道第一测量向量值和第二测量向量值的写入顺序,因此在按照内存地址递增或递减的方式读取数据时,只要知道读取的第一个内存地址写入的测量向量值,就可以获得其它内存地址写入的是哪个测量向量值。所述第一检测单元42所述依次从所述存储器读取数据为,按照内地地址递变的方式从所述从存储器中读取数据;包括:
通过内存指针按照内存地址递增的方式从所述存储器的待测试地址空间的低位地址端开始读取数据,直到所述内存指针指向所述待测试地址空间的高位地址端;或通过内存指针按照内存地址递减的方式从所处存储器的待测试地址空间的高位地址端开始读取数据,直到所述内存指针指向所述待测试地址空间的低位地址端。
本发明实施例中,将根据常见的信号完整性问题定义两个测量向量,交替写入存储器,使相邻的数据线频繁同向或异向跳变,从而使存储器的信号完整性存在的隐患暴露;在将所述数据交替写入存储器后,再依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值不相等,则则输出存储器出错的指示信息。
实施例4
本发明实施例提供一种存储器测试装置,如图6所示,该装置包括:写操作单元51、第一检测单元52、第二检测单元53和第三检测单元54。
写操作单元51,用于按照内存地址递变的方式将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器,其中,所述写操作单元51将测量向量值及其翻转值交替写入存储器的待测地址空间,该待测地址空间可以为但不局限于存储器的全部地址空间,还可以由测试者根据具体情况具体设置,例如从最低地址开始的一部分地址,本实施例对此不进行限制。
其中,所述第一测量向量值的翻转值为将第一测量向量值的部分或者全部二进制比特位取反得到的值;所述内存地址递变的方式包括两种,第一种,内存地址递增的方式,第二种,内存地址递减的方式。
将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器的方式包括以下两种方式:第一种,所述第一测量向量值在前,将第一测量向量值的翻转值写入存储器中内存地址与第一测量向量值的内存地址相邻的内存地址中,如此循环重复,直至存储器的待测地址空间全部写入测量向量值;第二种,所述第一测量向量值的翻转值在前,将第一测量向量值写入存储器中内存地址与第一测量向量值的内存地址相邻的内存地址中,如此循环重复,直至写完存储器的待测地址空间。
信号完整性的问题,针对不同的单板的设计不尽相同,但可以对常见的信号完整性问题进行划分,结合存储器总线操作的方式,有针对性地逐一设计将有害影响最大化的测试向量。例如,对于同步翻转噪声问题需要使每次读写时全部总线同时向同一方向跳变,对于串扰问题应使相邻总线频繁同向或异向跳变等等。
在将所述第一向量值和第二测量向量值交替写入存储器后,第一检测单元52依次从存储器的地址中读取数据,并将从每个内存地址读取的数据与写入该内存地址的测量向量值比较,判断该内存地址的值是否发生错误。如果二者不等,说明该内存地址的数据有误,存在信号完整性问题,则输出存储器出错的指示信息。其中,所述存储器出错的指示信息包括所述读取的数据、读取数据的地址以及出错的次数等,以便相关操作人员根据所述出错指示信息及时的对出错的地方进行处理。
第二检测单元53,用于依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值相等,将所述读取的数据翻转得到的第二测量向量值写入所述内存地址,其中,所述将所述读取的数据翻转包括:将所述读取的数据的部分或者全部二进制比特位取反。其中,当从存储器的一个内存地址读取的数据与写入该内存地址的测量向量值相等时,将读取的数据的部分或者全部二进制比特位取反得到的第二测量向量值写入该内存地址中,使得在改写存储器中的数据时,传输数据的相邻总线向同一个方向跳变,这样可以尽最大限度的将存储器的信号完整性问题暴露。
进一步,当从存储器每个待测地址空间的内存地址中读取数据,并对该读取的每个数据进行检测后,为了使存储器的信号完整性问题进一步暴露,在将初始写入存储器的数据改写后,所述第一检测单元52还用于依次从所述存储器读取改写后的数据,若从一内存地址读取的所述改写的数据与写入所述内存地址的测量向量值不相等,则输出存储器出错的指示信息,所述出错的指示信息包括出错的地址、出错的具体位置以及出错的次数,以便测试人员能够准确的获取该存储器的信号完整性缺陷的所在位置。所述第二检测单元53还用于依次从所述存储器读取改写后的数据,若从一内存地址读取的改写后的数据与写入所述内存地址的测量向量值相等,将所述读取的数据翻转得到的第二测量向量值写入所述内存地址。其中,当从存储器的一个内存地址读取的数据与写入该内存地址的测量向量值相等时,将读取的数据的部分或者全部二进制比特位取反得到的第二测量向量值写入该内存地址中,使得在改写存储器中的数据时,传输数据的相邻总线向同一个方向跳变,这样可以尽最大限度的将存储器的信号完整性问题暴露。
更进一步,为了整体检测存储器的信号的完整性是否存在问题,所述第一检测单元52在将所述改写后的数据依次从所述存储器读取后,第三检测单元54读取全部待测试地址空间的数据,若从所述待测测试地址空间中读取的数据的顺序和内容与写入所述待测试地址的测量向量值的顺序和内容不相等,则输出存储器出错的指示信息;若从所述待测测试地址空间中读取的数据的顺序和内容与写入所述待测试地址的测量向量值的顺序和内容相等,则结束对所述存储器信号完整性的测试。所述第三检测单元54还可以再写操作单元51将第一测量向量值和第一测量向量值的翻转值交替写入存储器后,读取全部待测试地址空间的数据,并判断所述读取的数据是否出错。其判断所述读取的数据是否出错的方法如上述所述,此处将不再赘述。
读取存储器的全部待测地址空间中的数据的过程中,使读取数据的尽可能多的相邻总线同时向同向或异向跳变,可以使存储器的信号完整性问题尽最大程度的暴露。
其中,所述第一检测单元在依次从所述存储器读取数据时,包括升序读操作模块521和降序读操作模块522。
升序读操作模块521,用于通过内存指针按照内存地址递增的方式从所述存储器的待测试地址空间的低位地址端开始读取数据,直到所述内存指针指向所述待测试地址空间的高位地址端;降序读操作模块522,用于通过内存指针按照内存地址递减的方式从所处存储器的待测试地址空间的高位地址端开始读取数据,直到所述内存指针指向所述待测试地址空间的低位地址端。
本发明实施例中,将根据常见的信号完整性问题定义的两个测量向量,按照相互交替的形式写入存储器,体现了数据传输过程中电平信号的来回跳变的过程,该种数据的存储方式,便于检测信号的完整性;在将所述数据写入存储器后,再从所述存储器依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值相等,则表明写入数据的过程是没有问题的,则将所述读取的数据翻转得到的第二测量向量值写入所述内存地址,以便对存储器信号的完整性的其他方面进行测试,使得存储器的信号完整性的问题进最大程度的暴露。
并且在实现存储器信号完整性测试的过程中,若存储器外围互连故障和内部单元故障,数据便不能正常的写入与读取,因此本发明技术方案实现了对信号完整性问题的测试的同时,实现了对存储器外围互连故障和内部单元故障的测试。
本发明实施例不局限于存储器的测试,还可以扩展到大部分高速并行总线信号完整性的测试,为检测各类并行总线信号完整性提供了新思路。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种存储器测试方法,其特征在于,包括:
按照内存地址递变的方式将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器;
依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值不相等,则输出存储器出错的指示信息;
依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值相等,将所述读取的数据翻转得到的第二测量向量值写入所述内存地址。
2.根据权利要求1所述的存储器测试方法,其特征在于,所述依次从所述存储器读取数据,包括:
通过内存指针按照内存地址递增的方式从所述存储器的待测试地址空间的低位地址端开始读取数据,直到所述内存指针指向所述待测试地址空间的高位地址端;或
通过内存指针按照内存地址递减的方式从所述存储器的待测试地址空间的高位地址端开始读取数据,直到所述内存指针指向所述待测试地址空间的低位地址端。
3.根据权利要求2所述的存储器测试方法,其特征在于,所述将所述读取的数据翻转,包括:将所述读取的数据的所有二进制比特位都取反。
4.根据权利要求1-3所述的任一存储器测试方法,其特征在于,所述方法还包括:
读取全部待测试地址空间的数据,若从所述待测试地址空间中读取的数据的顺序和内容与写入所述待测试地址空间的测量向量值的顺序和内容不相等,则输出存储器出错的指示信息。
5.一种存储器测试装置,其特征在于,包括:
写操作单元,用于按照内存地址递变的顺序将第一测量向量值和所述第一测量向量值的翻转值交替写入存储器;
第一检测单元,用于依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值不相等,则输出存储器出错的指示信息;
第二检测单元,用于依次从所述存储器读取数据,若从一内存地址读取的数据与写入所述内存地址的测量向量值相等,将所述读取的数据翻转得到的第二测量向量值写入所述内存地址。
6.根据权利要求5所述的存储器测试装置,其特征在于,所述第一检测单元包括:
升序读操作模块,用于通过内存指针按照内存地址递增的方式从所述存储器的待测试地址空间的低位地址端开始读取数据,直到所述内存指针指向所述待测试地址空间的高位地址端;或
降序读操作模块,用于通过内存指针按照内存地址递减的方式从所处存储器的待测试地址空间的高位地址端开始读取数据,直到所述内存指针指向所述待测试地址空间的低位地址端。
7.根据权利要求6所述的存储器测试装置,其特征在于,所述第一检测作单元将所述读取的数据翻转,包括:将所述读取的数据的所有二进制比特位都取反。
8.根据权利要求5-7所述的任一存储器测试装置,其特征在于,所述装置还包括:
第三检测单元,用于读取全部待测试地址空间的数据,若从所述待测试地址空间中读取的数据的顺序和内容与写入所述待测试地址空间的测量向量值的顺序和内容不相等,则输出存储器出错的指示信息。
CN 200910211215 2009-11-02 2009-11-02 存储器测试方法及装置 Active CN101692351B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910211215 CN101692351B (zh) 2009-11-02 2009-11-02 存储器测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910211215 CN101692351B (zh) 2009-11-02 2009-11-02 存储器测试方法及装置

Publications (2)

Publication Number Publication Date
CN101692351A CN101692351A (zh) 2010-04-07
CN101692351B true CN101692351B (zh) 2012-12-12

Family

ID=42081030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910211215 Active CN101692351B (zh) 2009-11-02 2009-11-02 存储器测试方法及装置

Country Status (1)

Country Link
CN (1) CN101692351B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103745751B (zh) * 2013-12-23 2017-01-18 华为技术有限公司 一种故障告警方法与装置
CN105761759A (zh) * 2016-02-02 2016-07-13 深圳市江波龙电子有限公司 随机存取存储器的测试方法及装置
CN107845406B (zh) * 2016-09-20 2021-07-20 电信科学技术研究院 一种测试存储器的方法和设备
CN106610469A (zh) * 2016-12-07 2017-05-03 吴海峰 一种交替循环翻转的测试数据压缩方法
CN106653098B (zh) * 2017-01-04 2020-06-16 盛科网络(苏州)有限公司 针对逻辑和cpu均可读写存储器的测试方法
KR20180093648A (ko) * 2017-02-14 2018-08-22 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN110082672B (zh) * 2018-01-25 2020-09-11 大唐移动通信设备有限公司 一种芯片内逻辑模型的测试方法及装置
CN110647436A (zh) * 2018-06-26 2020-01-03 北京自动化控制设备研究所 一种ddr2/ddr3存储器的快速检测方法
WO2020000316A1 (zh) 2018-06-28 2020-01-02 华为技术有限公司 容错处理的方法、装置和服务器
CN111653305B (zh) * 2019-03-04 2022-07-05 中国科学院微电子研究所 3D NAND Flash存储器的测试算法及其装置
CN109961824A (zh) * 2019-03-27 2019-07-02 苏州浪潮智能科技有限公司 一种内存测试方法
CN114446374A (zh) * 2021-12-27 2022-05-06 深圳市晶存科技有限公司 一种动态随机存储器的测试方法及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5406566A (en) * 1992-10-26 1995-04-11 Nec Corporation Semiconductor memory device having diagnostic circuit for comparing multi-bit read-out test data signal with multi-bit write-in test data signal stored in serial-input shift register
CN101197194A (zh) * 2007-02-27 2008-06-11 深圳市同洲电子股份有限公司 一种存储器检测方法
JP4318400B2 (ja) * 1997-10-16 2009-08-19 レクサム ソファブ 容器へのポンプの組み立ておよび外装のための装置並びに方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5406566A (en) * 1992-10-26 1995-04-11 Nec Corporation Semiconductor memory device having diagnostic circuit for comparing multi-bit read-out test data signal with multi-bit write-in test data signal stored in serial-input shift register
JP4318400B2 (ja) * 1997-10-16 2009-08-19 レクサム ソファブ 容器へのポンプの組み立ておよび外装のための装置並びに方法
CN101197194A (zh) * 2007-02-27 2008-06-11 深圳市同洲电子股份有限公司 一种存储器检测方法

Also Published As

Publication number Publication date
CN101692351A (zh) 2010-04-07

Similar Documents

Publication Publication Date Title
CN101692351B (zh) 存储器测试方法及装置
TW451379B (en) Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses
US7653855B2 (en) Random number test circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device
US6286116B1 (en) Built-in test method for content addressable memories
US7797584B2 (en) SATA interface tester and testing method
US7844868B2 (en) System and method for implementing a stride value for memory testing
US7536662B2 (en) Method for recognizing and verifying FIFO structures in integrated circuit designs
KR880014464A (ko) 자체 시험 메모리 시스템을 가진 데이타 처리 시스템
US6311311B1 (en) Multiple input shift register (MISR) signatures used on architected registers to detect interim functional errors on instruction stream test
CN103137212A (zh) Sdram测试方法
US20050160332A1 (en) Semiconductor integrated circuit
US7797594B1 (en) Built-in self-test of 3-dimensional semiconductor memory arrays
US9003251B2 (en) Diagnosis flow for read-only memories
CN111562998A (zh) 一种集成电路的内存诊断方法、诊断设备及存储介质
CN117290165A (zh) 一种芯片测试的方法、系统、装置及存储介质
CN113702798A (zh) 一种边界扫描测试方法、装置、设备、芯片及存储介质
US7484147B2 (en) Semiconductor integrated circuit
CN109726057A (zh) 一种cpu安全系统并行总线故障实时动态检测方法
TWI502350B (zh) 快閃記憶體的存取裝置及方法
CN108231134B (zh) Ram良率补救方法及装置
CN106776173B (zh) 一种内存检测方法及装置
CN113407372B (zh) 一种独立于操作系统的计算机系统内存检测方法及系统
CN108052405A (zh) 一种检查空间数据的方法及装置
CN117236277B (zh) 用于检查寄存器的方法及装置、电子设备
KR100282776B1 (ko) 메모리에서 에러발생 주소검출방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant