CN107545926A - 一种时序参数扫描的方法及装置 - Google Patents

一种时序参数扫描的方法及装置 Download PDF

Info

Publication number
CN107545926A
CN107545926A CN201610499898.0A CN201610499898A CN107545926A CN 107545926 A CN107545926 A CN 107545926A CN 201610499898 A CN201610499898 A CN 201610499898A CN 107545926 A CN107545926 A CN 107545926A
Authority
CN
China
Prior art keywords
address
data
wire
value
write
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
Application number
CN201610499898.0A
Other languages
English (en)
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.)
Beijing Xinwei Telecom Technology Inc
Original Assignee
Beijing Xinwei Telecom Technology Inc
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 Beijing Xinwei Telecom Technology Inc filed Critical Beijing Xinwei Telecom Technology Inc
Priority to CN201610499898.0A priority Critical patent/CN107545926A/zh
Publication of CN107545926A publication Critical patent/CN107545926A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种时序参数扫描的方法及装置,初始化同步动态随机存储器,配置多组时序参数,遍历每组时序参数;对遍历的不同时序参数进行DMAC读检测,获取正确读写同步动态随机存储器数据所对应的时序参数;通过数据线地址线检测和最小时序参数延时的原则从获取的时序参数中选取一组最优的时序参数,同步动态随机存储器时序参数的扫描采用DMAC(直接存储器存取控制器)的扫描算法,避免single读操作采样到错误数据,能够直接准确快速地找到同步动态随机存储器时序的最优参数,使时序参数更稳定可靠;改进了传统的March_C算法能够更有效地检测同步动态随机存储器存储器的数据线和地址线的错误,使故障检测范围更广。

Description

一种时序参数扫描的方法及装置
技术领域
本发明实施例涉及通信的技术领域,尤其涉及一种时序参数扫描的方法及装置。
背景技术
传统March_C算法在存储器测试中应用非常广泛,也有相对比较好的测试效果。传统March_C算法对跳变故障、固定故障以及大部分的耦合故障的检测是非常有效的。但在检测存储器单元耦合故障和地址开放故障或寻址故障时有一些不足之处,例如单元耦合故障:对于两个小单元粘连,同时并同方向跳变检测不出来,不能存储两个小单元相反的值,这时要存储的值就得不到正确的存储;例如地址开放故障:相邻两个地址位会被同时选择,每次进行写操作都是写相同的地址,无法正确检测此类故障。
采用传统的嵌入式CPU扫描方法检测嵌入式系统中同步动态随机存储器(Synchronous Dynamic Random Access Memory,SDRAM)的最优时序参数,嵌入式CPU进行SDRAM读写时都是single的操作,理论上single操作只维持1个时钟周期。但是也存在特殊情况,如果主芯片数据信号默认是输入,即没有写操作的时候一直是输入状态,SDRAM芯片的数据信号在这种情况下则只驱动一个周期(实际上小于一个周期),然后就变为高阻,导致这个信号线在操作完成之后就没有了任何驱动。于是,它就保持原来的值,维持多个时钟周期(超过协议要求),直到下一次被驱动,实际上可以看到电压的缓慢漂移,或可能已缓慢漂移到其他电压值,这样就导致了读操作时有时无法采样到正确的数据,所以无法准确的找到合适的时序参数。
发明内容
本发明实施例的目的在于提出一种时序参数扫描的方法及装置,旨在解决如何传统的嵌入式CPU扫描方法以及传统March_C算法的缺陷。
为达此目的,本发明实施例采用以下技术方案:
第一方面,一种时序参数扫描的方法,所述方法包括:
初始化同步动态随机存储器,配置多组时序参数,遍历每组时序参数;
执行直接存储器存取控制器写同步动态随机存储器操作,并对遍历的不同时序参数进行直接存储器存取控制器读检测,获取正确读写同步动态随机存储器数据所对应的时序参数;
通过数据地址线检测和最小时序参数延时的原则从获取的时序参数中选取一组最优的时序参数。
优选地,所述数据线检测包括:
获取相反的地址A和地址B,向所述地址A和所述地址B依次写入全0和全1,再依次读出,比较结果的正确;
执行所述数据线检测的走零法和所述数据线检测的走一法。
优选地,所述执行所述数据线检测的走零法,包括:
向所述地址B写入预设第一数值全1;
将数据线的最低位设为0,其余为1,并向所述地址A写入所述预设第一数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为1错误;
若数据正确,将为0数据线左移一位,低位补1,向所述地址A内写入所述预设第一数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到0左移到数据线最高位。
优选地,所述执行所述数据线检测的走一法,包括:
向所述地址B写入预设第二数值全0;
将数据线的最低位设为1,其余为0,并向所述地址A内写入所述预设第二数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为0错误;
若数据正确,将为1地址线左移一位,低位补0,向所述地址A内写入所述预设第二数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到1左移到地址线最高位。
优选地,所述地址线检测包括:
向相反的地址A和地址B分别写入“0”、“1”交替的数据,依次读出两个地址的数据,再比较读出数据的正确性;
若有错误,则错误位对应的数据线有可能发生数据线粘连;
若正确,执行所述地址线检测的走零法和所述地址线检测的走一法。
优选地,所述执行所述地址线检测的走零法,包括:
将地址线的最低位设为0,其余为1,向所述地址写入预设第三数值;
将地址线为0的最低位地址线左移一位,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,验证数据的正确性;
若数据错误,则相应位的地址线可能存在地址线固定为1错误;
若数据正确,继续将为0的地址线左移一位,低位补1,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为0的地址线左移一位,低位补1,向对应地址内写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到0左移到地址线最高位。
优选地,所述执行所述地址线检测的走一法,包括:
将地址线的最低位设为1,其余为0,向所述地址写入预设第三数值;
将地址线为1的最低位地址线左移一位,其余为0,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,并验证数据的正确性;
若数据错误,则对应位地址线可能存在地址线固定为0错误;
若数据正确,继续将为1的地址线左移一位,低位补0,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为1的地址线左移一位,低位补0,向对应地址写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到1左移到地址线最高位。
第二方面,一种时序参数扫描的装置,所述装置包括:
配置模块,用于初始化同步动态随机存储器,配置多组时序参数,遍历每组时序参数;
获取模块,用于执行直接存储器存取控制器写同步动态随机存储器操作,并对遍历的不同时序参数进行直接存储器存取控制器读检测,获取正确读同步动态随机存储器数据对应的时序参数;
选取模块,用于通过数据线地址线检测和最小时序参数延时的原则从获取的时序参数中选取一组最优的时序参数。
优选地,所述选取模块,还用于:
获取相反的地址A和地址B,向所述地址A和所述地址B依次写入全0和全1,再依次读出,比较结果的正确;
执行所述数据线检测的走零法和所述数据线检测的走一法。
优选地,所述选取模块,还用于:
向所述地址B写入预设第一数值全1;
将数据线的最低位设为0,其余为1,并向所述地址A写入所述预设第一数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为1错误;
若数据正确,将为0数据线左移一位,低位补1,向所述地址A内写入所述预设第一数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到0左移到数据线最高位。
优选地,所述选取模块,还用于:
向所述地址B写入预设第二数值全0;
将数据线的最低位设为1,其余为0,并向所述地址A内写入所述预设第二数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为0错误;
若数据正确,将为1地址线左移一位,低位补0,向所述地址A内写入所述预设第二数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到1左移到地址线最高位。
优选地,所述选取模块,还用于:
向相反的地址A和地址B分别写入“0”、“1”交替的数据,依次读出两个地址的数据,再比较读出数据的正确性;
若有错误,则错误位对应的数据线有可能发生数据线粘连;
若正确,执行所述地址线检测的走零法和所述地址线检测的走一法。
优选地,所述选取模块,还用于:
将地址线的最低位设为0,其余为1,向所述地址写入预设第三数值;
将地址线为0的最低位地址线左移一位,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,验证数据的正确性;
若数据错误,则相应位的地址线可能存在地址线固定为1错误;
若数据正确,继续将为0的地址线左移一位,低位补1,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为0的地址线左移一位,低位补1,向对应地址内写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到0左移到地址线最高位。
优选地,所述选取模块,还用于:
将地址线的最低位设为1,其余为0,向所述地址写入预设第三数值;
将地址线为1的最低位地址线左移一位,其余为0,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,并验证数据的正确性;
若数据错误,则对应位地址线可能存在地址线固定为0错误;
若数据正确,继续将为1的地址线左移一位,低位补0,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为1的地址线左移一位,低位补0,向对应地址写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到1左移到地址线最高位。
本发明实施例提供一种时序参数扫描的方法及装置,初始化同步动态随机存储器,配置多组时序参数,遍历每组时序参数;执行直接存储器存取控制器写同步动态随机存储器操作,并对遍历的不同时序参数进行直接存储器存取控制器读检测,获取正确读同步动态随机存储器数据对应的时序参数;通过数据线地址线检测和最小时序参数延时的原则从获取的时序参数中选取一组最优的时序参数,同步动态随机存储器时序参数的扫描采用直接存储器存取控制器的扫描算法,避免single读操作采样到错误数据,能够直接准确快速地找到同步动态随机存储器时序的最优参数,使时序参数更稳定可靠;改进了传统的March_C算法能够更有效地检测同步动态随机存储器存储器的数据线和地址线的错误,使故障检测范围更广。
附图说明
图1是本发明实施例提供的一种时序参数扫描的方法的流程示意图;
图2是本发明实施例提供的一种时序参数扫描的装置的功能模块示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
参考图1,图1是本发明实施例提供的一种时序参数扫描的方法的流程示意图。
如图1所示,所述时序参数扫描的方法包括:
步骤101,初始化同步动态随机存储器,配置多组时序参数,遍历每组时序参数;
步骤102,执行直接存储器存取控制器(Direct Memory Access controller,DMAC)写同步动态随机存储器操作,并对遍历的不同时序参数进行DMAC读检测,获取正确读写同步动态随机存储器数据所对应的时序参数;
步骤103,通过数据线地址线检测和最小时序参数延时的原则从获取的时序参数中选取一组最优的时序参数。
具体的,1、初始化同步动态随机存储器,配置各种时序参数,准备时序参数遍历。
2、DMAC写同步动态随机存储器操作(DMAC写操作可以对连续存储空间操作,比如4KB空间)。
3、对于不同的遍历的时序参数,进行读检测,分别检测读同步动态随机存储器的数据的正确性。DMAC读同步动态随机存储器(比如4KB空间)。检测出读写同步动态随机存储器正确的时序参数。
4、循环执行1-3步,可以得到多组正确的时序参数,从其中选取一组最优的时序参数,选择的原则是保证稳定的读写正确性的前提下时序参数延时越小的越好。
其中,所述数据线检测包括:
获取相反的地址A和地址B,向所述地址A和所述地址B依次写入全0和全1,再依次读出,比较结果的正确;
执行所述数据线检测的走零法和所述数据线检测的走一法。
具体的,任意两个地址,地址线最好相反,两个地址线(bit11-bit25)相反的地址为:如A和B,地址相反的目的是为了防止地址线的错误引起数据线检测错误。向这两个地址依次写入全0和全1,然后依次读出,比较结果的正确性。读回的数据不正确,则错误位有可能对应数据线固定0/1错误或地址线悬空。
优选地,所述执行所述数据线检测的走零法,包括:
向所述地址B写入预设第一数值全1;
将数据线的最低位设为0,其余为1,并向所述地址A写入所述预设第一数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为1错误;
若数据正确,将为0数据线左移一位,低位补1,向所述地址A内写入所述预设第一数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到0左移到数据线最高位。
具体的,a)、向B地址写入0x FFFFFFFF;
b)、将数据线的最低位设为0,其余为1,并向A地址写入该值,即0xFFFFFFFE;
c)、按顺序依次读出B地址和A地址内的数据值,验证数据的正确性;
d)、如果数据错误,则最低位数据线可能存在固定为1错误,如果数据正确,将为0数据线左移一位,低位补1,向A地址内写入此数据值,并重复上一步c,直到0左移到地址线最高位(bit31)。
优选地,所述执行所述数据线检测的走一法,包括:
向所述地址B写入预设第二数值全0;
将数据线的最低位设为1,其余为0,并向所述地址A内写入所述预设第二数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为0错误;
若数据正确,将为1地址线左移一位,低位补0,向所述地址A内写入所述预设第二数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到1左移到地址线最高位。
具体的,a)、向B地址写入0x00000000;
b)、将数据线的最低位设为1,其余为0,并向A地址内写入该值,即0x00000001;
c)、按顺序依次读出B地址和A地址内的数据值,验证数据的正确性;
d)、如果数据错误,则最低位数据线可能存在固定为0错误,如果数据正确,将为1地址线左移一位,低位补0,向A地址内写入此数据值,并重复上一步c,直到1左移到地址线最高位(bit31)。
其中,所述地址线检测包括:
向相反的地址A和地址B分别写入“0”、“1”交替的数据,依次读出两个地址的数据,再比较读出数据的正确性;
若有错误,则错误位对应的数据线有可能发生数据线粘连;
若正确,执行所述地址线检测的走零法和所述地址线检测的走一法。
具体的,向两个地址线(bit11-bit25)相反的地址A和B分别写入“0”“1”交替的数据比如“0x55555555”和“0xAAAAAAAA”,然后依次读出两地址的数据,比较读出数据结果的正确性。如果有错,则错误位对应的数据线有可能发生数据线粘连。
优选地,所述执行所述地址线检测的走零法,包括:
将地址线的最低位设为0,其余为1,向所述地址写入预设第三数值;
将地址线为0的最低位地址线左移一位,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,验证数据的正确性;
若数据错误,则相应位的地址线可能存在地址线固定为1错误;
若数据正确,继续将为0的地址线左移一位,低位补1,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为0的地址线左移一位,低位补1,向对应地址内写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到0左移到地址线最高位。
具体的,a)、将地址线的最低位设为0,其余为1,向所述地址写入预设第三数值,比如向“0x03FFF000”地址(最低位地址线bit11为0)写入“0”“1”交替的数据0x5a,或者可写入其地址值本身;
b)、将地址线为0的最低位地址线左移一位,向所述地址写入预设第三数值(地址线bit12为0),其余为1,即向0x03FFE800地址内写入“0”“1”交替的数据0xa5,或者可写入其地址值本身;
c)、读地址0x03FFF000,验证数据的正确;
d)、如果数据错误,则相应位地址线可能存在地址线固定为1错误,如果数据正确,继续将为0的地址线左移一位,低位补1,向该地址内写入0x5a,并读出上一次写入0xa5的地址内的数据,判断数据的正确性,然后继续将为0的地址线左移一位,低位补1,向该地址内写入0xa5,并读出上一次写入0x5a的地址内的数据,判断数据的正确性,重复d,直到0左移到地址线最高位(bit25)。
优选地,所述执行所述地址线检测的走一法,包括:
将地址线的最低位设为1,其余为0,向所述地址写入预设第三数值;
将地址线为1的最低位地址线左移一位,其余为0,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,并验证数据的正确性;
若数据错误,则对应位地址线可能存在地址线固定为0错误;
若数据正确,继续将为1的地址线左移一位,低位补0,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为1的地址线左移一位,低位补0,向对应地址写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到1左移到地址线最高位。
具体的,a)、将地址线的最低位设为1,其余为0,向所述地址写入预设第三数值,比如向“0x00000800”地址(最低位地址线bit11为1)写入“0”“1”交替的数据0x5a,或者可写入其地址值本身;
b)、将地址线为1最低位地址线左移一位(地址线bit12为1),其余为0,即向0x00001000地址内写入“0”“1”交替的数据0xa5,或者可写入其地址值本身;
c)、读地址0x00000800,验证数据的正确性;
d)、如果数据错误,则相应位地址线可能存在地址线固定为0错误,如果数据正确,继续将为1的地址线左移一位,低位补0,向该地址内写入0x5a,并读出上一次写入0xa5的地址内的数据,判断数据的正确性,然后继续将为1的地址线左移一位,低位补0,向该地址内写入0xa5,并读出上一次写入0x5a的地址内的数据,判断数据的正确性,重复d,直到1左移到地址线最高位(bit25)。
如果某位地址线同时存在固定为0和固定为1错误,那么有可能为悬空。
本发明实施例提供一种时序参数扫描的方法,初始化同步动态随机存储器,配置多组时序参数,遍历每组时序参数;执行DMAC写同步动态随机存储器操作,并对遍历的不同时序参数进行DMAC读检测,获取正确读同步动态随机存储器数据对应的时序参数;通过数据线地址线检测和最小时序参数延时的原则从获取的时序参数中选取一组最优的时序参数,同步动态随机存储器时序参数的扫描采用DMAC(直接存储器存取控制器)的扫描算法,避免single读操作采样到错误数据,能够直接准确快速地找到同步动态随机存储器时序的最优参数,使时序参数更稳定可靠;改进了传统的March_C算法能够更有效地检测同步动态随机存储器存储器的数据线和地址线的错误,使故障检测范围更广。
参考图2,图2是本发明实施例提供的一种时序参数扫描的装置的功能模块示意图。
如图2所示,所述时序参数扫描的装置包括:
配置模块201,用于初始化同步动态随机存储器,配置多组时序参数,遍历每组时序参数;
获取模块202,用于执行DMAC写同步动态随机存储器操作,并对遍历的不同时序参数进行DMAC读检测,获取正确读同步动态随机存储器数据对应的时序参数;
选取模块203,用于通过数据线地址线检测和最小时序参数延时的原则从获取的时序参数中选取一组最优的时序参数。
优选地,所述选取模块203,还用于:
获取相反的地址A和地址B,向所述地址A和所述地址B依次写入全0和全1,再依次读出,比较结果的正确;
执行所述数据线检测的走零法和所述数据线检测的走一法。
优选地,所述选取模块203,还用于:
向所述地址B写入预设第一数值全1;
将数据线的最低位设为0,其余为1,并向所述地址A写入所述预设第一数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为1错误;
若数据正确,将为0数据线左移一位,低位补1,向所述地址A内写入所述预设第一数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到0左移到数据线最高位。
优选地,所述选取模块203,还用于:
向所述地址B写入预设第二数值全0;
将数据线的最低位设为1,其余为0,并向所述地址A内写入所述预设第二数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为0错误;
若数据正确,将为1地址线左移一位,低位补0,向所述地址A内写入所述预设第二数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到1左移到地址线最高位。
优选地,所述选取模块203,还用于:
向相反的地址A和地址B分别写入“0”、“1”交替的数据,依次读出两个地址的数据,再比较读出数据的正确性;
若有错误,则错误位对应的数据线有可能发生数据线粘连;
若正确,执行所述地址线检测的走零法和所述地址线检测的走一法。
优选地,所述选取模块203,还用于:
将地址线的最低位设为0,其余为1,向所述地址写入预设第三数值;
将地址线为0的最低位地址线左移一位,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,验证数据的正确性;
若数据错误,则相应位的地址线可能存在地址线固定为1错误;
若数据正确,继续将为0的地址线左移一位,低位补1,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为0的地址线左移一位,低位补1,向对应地址内写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到0左移到地址线最高位。
优选地,所述选取模块203,还用于:
将地址线的最低位设为1,其余为0,向所述地址写入预设第三数值;
将地址线为1的最低位地址线左移一位,其余为0,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,并验证数据的正确性;
若数据错误,则对应位地址线可能存在地址线固定为0错误;
若数据正确,继续将为1的地址线左移一位,低位补0,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为1的地址线左移一位,低位补0,向对应地址写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到1左移到地址线最高位;
若某位地址线同时存在固定为0和固定为1错误,则可能为悬空。
本发明实施例提供一种时序参数扫描的装置,初始化同步动态随机存储器,配置多组时序参数,遍历每组时序参数;执行DMAC写同步动态随机存储器操作,并对遍历的不同时序参数进行DMAC读检测,获取正确读同步动态随机存储器数据对应的时序参数;通过数据线地址线检测和最小时序参数延时的原则从获取的时序参数中选取一组最优的时序参数,同步动态随机存储器时序参数的扫描采用DMAC(直接存储器存取控制器)的扫描算法,避免single读操作采样到错误数据,能够直接准确快速地找到同步动态随机存储器时序的最优参数,使时序参数更稳定可靠;改进了传统的March_C算法能够更有效地检测同步动态随机存储器存储器的数据线和地址线的错误,使故障检测范围更广。
以上结合具体实施例描述了本发明实施例的技术原理。这些描述只是为了解释本发明实施例的原理,而不能以任何方式解释为对本发明实施例保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明实施例的其它具体实施方式,这些方式都将落入本发明实施例的保护范围之内。

Claims (14)

1.一种时序参数扫描的方法,其特征在于,所述方法包括:
初始化同步动态随机存储器,配置多组时序参数,遍历每组时序参数;
执行直接存储器存取控制器写同步动态随机存储器操作,并对遍历的不同时序参数进行直接存储器存取控制器读检测,获取正确读写同步动态随机存储器数据所对应的时序参数;
通过数据线地址线检测和最小时序参数延时的原则从获取的时序参数中选取一组最优的时序参数。
2.根据权利要求1所述的方法,其特征在于,所述数据线检测包括:
获取相反的地址A和地址B,向所述地址A和所述地址B依次写入全0和全1,再依次读出,比较结果的正确;
执行所述数据线检测的走零法和所述数据线检测的走一法。
3.根据权利要求2所述的方法,其特征在于,所述执行所述数据线检测的走零法,包括:
向所述地址B写入预设第一数值全1;
将数据线的最低位设为0,其余为1,并向所述地址A写入所述预设第一数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为1错误;
若数据正确,将为0数据线左移一位,低位补1,向所述地址A内写入所述预设第一数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到0左移到数据线最高位。
4.根据权利要求2所述的方法,其特征在于,所述执行所述数据线检测的走一法,包括:
向所述地址B写入预设第二数值全0;
将数据线的最低位设为1,其余为0,并向所述地址A内写入所述预设第二数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为0错误;
若数据正确,将为1地址线左移一位,低位补0,向所述地址A内写入所述预设第二数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到1左移到地址线最高位。
5.根据权利要求1所述的方法,其特征在于,所述地址线检测包括:
向相反的地址A和地址B分别写入“0”、“1”交替的数据,依次读出两个地址的数据,再比较读出数据的正确性;
若有错误,则错误位对应的数据线有可能发生数据线粘连;
若正确,执行所述地址线检测的走零法和所述地址线检测的走一法。
6.根据权利要求5所述的方法,其特征在于,所述执行所述地址线检测的走零法,包括:
将地址线的最低位设为0,其余为1,向所述地址写入预设第三数值;
将地址线为0的最低位地址线左移一位,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,验证数据的正确性;
若数据错误,则相应位的地址线可能存在地址线固定为1错误;
若数据正确,继续将为0的地址线左移一位,低位补1,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为0的地址线左移一位,低位补1,向对应地址内写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到0左移到地址线最高位。
7.根据权利要求5所述的方法,其特征在于,所述执行所述地址线检测的走一法,包括:
将地址线的最低位设为1,其余为0,向所述地址写入预设第三数值;
将地址线为1的最低位地址线左移一位,其余为0,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,并验证数据的正确性;
若数据错误,则对应位地址线可能存在地址线固定为0错误;
若数据正确,继续将为1的地址线左移一位,低位补0,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为1的地址线左移一位,低位补0,向对应地址写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到1左移到地址线最高位。
8.一种时序参数扫描的装置,其特征在于,所述装置包括:
配置模块,用于初始化同步动态随机存储器,配置多组时序参数,遍历每组时序参数;
获取模块,用于执行直接存储器存取控制器写同步动态随机存储器操作,并对遍历的不同时序参数进行直接存储器存取控制器读检测,获取正确读同步动态随机存储器数据对应的时序参数;
选取模块,用于通过数据线地址线检测和最小时序参数延时的原则从获取的时序参数中选取一组最优的时序参数。
9.根据权利要求8所述的装置,其特征在于,所述选取模块,还用于:
获取相反的地址A和地址B,向所述地址A和所述地址B依次写入全0和全1,再依次读出,比较结果的正确;
执行所述数据线检测的走零法和所述数据线检测的走一法。
10.根据权利要求9所述的装置,其特征在于,所述选取模块,还用于:
向所述地址B写入预设第一数值全1;
将数据线的最低位设为0,其余为1,并向所述地址A写入所述预设第一数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为1错误;
若数据正确,将为0数据线左移一位,低位补1,向所述地址A内写入所述预设第一数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到0左移到数据线最高位。
11.根据权利要求9所述的装置,其特征在于,所述选取模块,还用于:
向所述地址B写入预设第二数值全0;
将数据线的最低位设为1,其余为0,并向所述地址A内写入所述预设第二数值;
按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性;
若数据错误,则最低位数据线可能存在固定为0错误;
若数据正确,将为1地址线左移一位,低位补0,向所述地址A内写入所述预设第二数值,并重复执行按顺序依次读出所述地址B和所述地址A内的数据值,验证数据的正确性,直到1左移到地址线最高位。
12.根据权利要求8所述的装置,其特征在于,所述选取模块,还用于:
向相反的地址A和地址B分别写入“0”、“1”交替的数据,依次读出两个地址的数据,再比较读出数据的正确性;
若有错误,则错误位对应的数据线有可能发生数据线粘连;
若正确,执行所述地址线检测的走零法和所述地址线检测的走一法。
13.根据权利要求12所述的装置,其特征在于,所述选取模块,还用于:
将地址线的最低位设为0,其余为1,向所述地址写入预设第三数值;
将地址线为0的最低位地址线左移一位,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,验证数据的正确性;
若数据错误,则相应位的地址线可能存在地址线固定为1错误;
若数据正确,继续将为0的地址线左移一位,低位补1,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为0的地址线左移一位,低位补1,向对应地址内写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到0左移到地址线最高位。
14.根据权利要求12所述的装置,其特征在于,所述选取模块,还用于:
将地址线的最低位设为1,其余为0,向所述地址写入预设第三数值;
将地址线为1的最低位地址线左移一位,其余为0,向所述地址写入预设第三数值;
读上一次写入所述预设第三数值的地址内的数据,并验证数据的正确性;
若数据错误,则对应位地址线可能存在地址线固定为0错误;
若数据正确,继续将为1的地址线左移一位,低位补0,向对应地址写入预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,然后继续将为1的地址线左移一位,低位补0,向对应地址写入所述预设第三数值,并读出上一次写入所述预设第三数值的地址内的数据,判断数据的正确性,并重复,直到1左移到地址线最高位。
CN201610499898.0A 2016-06-29 2016-06-29 一种时序参数扫描的方法及装置 Pending CN107545926A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610499898.0A CN107545926A (zh) 2016-06-29 2016-06-29 一种时序参数扫描的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610499898.0A CN107545926A (zh) 2016-06-29 2016-06-29 一种时序参数扫描的方法及装置

Publications (1)

Publication Number Publication Date
CN107545926A true CN107545926A (zh) 2018-01-05

Family

ID=60966195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610499898.0A Pending CN107545926A (zh) 2016-06-29 2016-06-29 一种时序参数扫描的方法及装置

Country Status (1)

Country Link
CN (1) CN107545926A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1495896A (zh) * 2002-08-23 2004-05-12 ���ش�洢����ʽ���� 存储系统和数据传输方法
JP4163487B2 (ja) * 2002-10-29 2008-10-08 株式会社リコー メモリ制御装置、画像形成装置及びメモリシステムの制御方法
CN101446841A (zh) * 2008-12-01 2009-06-03 炬才微电子(深圳)有限公司 确定存储器控制器时钟校准值的方法及系统
CN103137212A (zh) * 2011-12-05 2013-06-05 北大方正集团有限公司 Sdram测试方法
CN104134454A (zh) * 2007-12-21 2014-11-05 拉姆伯斯公司 用于在存储系统中校准写入定时的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1495896A (zh) * 2002-08-23 2004-05-12 ���ش�洢����ʽ���� 存储系统和数据传输方法
JP4163487B2 (ja) * 2002-10-29 2008-10-08 株式会社リコー メモリ制御装置、画像形成装置及びメモリシステムの制御方法
CN104134454A (zh) * 2007-12-21 2014-11-05 拉姆伯斯公司 用于在存储系统中校准写入定时的方法和装置
CN101446841A (zh) * 2008-12-01 2009-06-03 炬才微电子(深圳)有限公司 确定存储器控制器时钟校准值的方法及系统
CN103137212A (zh) * 2011-12-05 2013-06-05 北大方正集团有限公司 Sdram测试方法

Similar Documents

Publication Publication Date Title
CN105144302B (zh) 存储器装置中的错误校正操作
KR20170041885A (ko) 메모리의 상이한 메모리 평면들을 동시에 액세스하기 위한 장치들 및 방법들
JP2017527897A5 (zh)
KR20160000842A (ko) Nand 사전 판독 에러 복구
CN105224425B (zh) 一种存储芯片的数据保护电路及其方法
CN105843549A (zh) 用于执行错误侦测协议的存储器装置及方法
CN106251894A (zh) 存储器件
US20150325284A1 (en) Semiconductor apparatus capable of preventing refresh error and memory system using the same
US20120008412A1 (en) Nonvolatile memory device and method of erasing the same
CN102486938B (zh) 一种快速检测存储器的方法及装置
CN104008780A (zh) 存储单元的修复方法和装置
CN105843700B (zh) 一种控制器
CN102013274B (zh) 一种存储器的自检测电路和方法
CN108228381A (zh) 存储系统及其错误校正方法
CN109716439A (zh) 用于以电流积分感测产生概率信息的设备及方法
CN103593252B (zh) 具有动态错误侦测及更正的存储器
CN105047229B (zh) 一种用于rram的存储单元片内自测电路及方法
CN109102836A (zh) 半导体存储装置
CN109979513A (zh) 半导体存储器装置及其操作方法
CN104657294A (zh) 用于检测相位的方法和相位检测系统
KR101205628B1 (ko) 반도체 메모리 장치 및 이의 독출 방법
CN103839592A (zh) 用于嵌入式快闪存储器的内建自测试方法及装置
CN107545926A (zh) 一种时序参数扫描的方法及装置
CN105609141A (zh) 一种用于自动校正访问存储装置数据的装置及方法
CN103064802A (zh) Ram存储装置

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
AD01 Patent right deemed abandoned

Effective date of abandoning: 20210129

AD01 Patent right deemed abandoned