CN115482873A - 一种内存芯片的测试方法及装置 - Google Patents
一种内存芯片的测试方法及装置 Download PDFInfo
- Publication number
- CN115482873A CN115482873A CN202110601640.8A CN202110601640A CN115482873A CN 115482873 A CN115482873 A CN 115482873A CN 202110601640 A CN202110601640 A CN 202110601640A CN 115482873 A CN115482873 A CN 115482873A
- Authority
- CN
- China
- Prior art keywords
- binary sequence
- memory chip
- data signal
- processor
- coding
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 20
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 40
- 238000013461 design Methods 0.000 description 22
- 230000007704 transition Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000010998 test method Methods 0.000 description 9
- 238000004088 simulation Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000009191 jumping Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000016571 aggressive behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101150071746 Pbsn gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001808 coupling effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及芯片技术领域,公开了一种内存芯片的测试方法及装置,用以提高确定的初始化参数的取值的可靠性。该方法包括:采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试,其中第二二进制序列具有H个相对于第一二进制序列的同向跳变和I个相对于第一二进制序列的反向跳变,所述内存芯片的N条数据信号线中一条数据信号线传输第一二进制序列、其它N‑1条数据信号线中至少一个数据信号线传输第二二进制序列,所述H和所述I为大于或等于1的整数;根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值;根据所述参考取值与所述内存芯片进行数据传输。
Description
技术领域
本申请实施例涉及芯片技术领域,尤其涉及一种内存芯片的测试方法及装置。
背景技术
在目前的电子设备中,大多集成有处理器和内存芯片。其中,内存芯片是处理器进行运算的基础,用于暂时存放处理器中的运算数据。内存芯片在电子设备开机后需要经过初始化过程,先对内存芯片进行测试,得到内存芯片的初始化参数最佳的参考取值后,才能正常的进行高速数据传输。例如:得到用于判断处理器和内存芯片间传输的数据信号的电平是高还是低,从而判断传输的数据信号承载的是“1”还是“0”的基准电平的参考取值后,才能正常的进行高速数据传输。
测试过程中选用的二进制序列直接影响得到的初始化参数的参考取值的结果。选用的二进制序列越能激发出数据信号的串扰(crosstalk)和符号间干扰(inter symbolinterference,ISI),得到的结果就更合适。同时选用的二进制序列越短,对内存芯片进行测试的时间就越短,开机体验对用户就更友好。其中,在对内存芯片的测试过程中会用到两个二进制序列,一个二进制序列作为受害线码型,另一个二进制序列作为侵害线码型,内存芯片的N条数据信号线中一条数据信号线传输承载受害线码型的数据信号,其它N-1条数据信号线传输承载侵害线码型的数据信号,ISI主要由受害线码型决定,crosstalk主要由受害线码型周边的侵害线码型决定。但简单二进制序列(如0101、0011等)无法有效的激发数据信号的ISI和crosstalk。
为了激发数据信号的ISI和crosstalk,伪随机二进制序列(pseudorandom binarysequence,PRBS)已广泛用于对内存芯片的测试过程中,一个PRBS作为受害线码型,另一个PRBS作为侵害线码型,PRBS的特点是阶数为N的PRBS可以遍历2N-1种编码组合,可以出现最长N个连续的1,N-1个连续的0,各频率成分很丰富,能有效的激发数据信号的ISI和crosstalk。然而,采用两个不同的PRBS,一个PRBS作为受害线码型,另一个PRBS作为侵害线码型,并不能很好的激发出数据信号的crosstalk,会影响得到的初始化参数的参考取值的可靠性。
发明内容
本申请实施例提供一种内存芯片的测试方法及装置,用以提高确定的初始化参数的参考取值的可靠性。
第一方面,本申请实施例提供一种内存芯片的测试方法,该方法可由智能手机、平板电脑、智能摄像机、自动驾驶车辆、个人计算机等电子设备执行,该方法包括:采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试,其中所述第二二进制序列具有H个相对于所述第一二进制序列的同向跳变和I个相对于所述第一二进制序列的反向跳变,所述内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列、其它N-1条数据信号线中至少一条数据信号线传输所述第二二进制序列,所述N为大于或等于2的整数、所述H和所述I为大于或等于1的整数;根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值;根据所述参考取值与所述内存芯片进行数据传输。也就是说,内存芯片的N条数据信号线中一条或多条数据信号线传输第一二进制序列,N条数据信号线中除用于传输第一二进制序列的数据信号线之外的剩余的数据信号线中的一条或多条数据信号线传输第二二进制序列。内存芯片的N条数据信号线中两条或大于两条的数据信号线,其中至少一条用于传输第一二进制序列,剩下的数据信号线中至少一条用于传输第二二进制序列。
在本申请实施例中,跳变为一个二进制序列中相邻两比特值的变换,如一个二进制序列中相邻两比特(如第1个比特和第2个比特)值由0到1的变化或由1到0的变化。同向跳变和反向跳变比较的是来自第一二进制序列和来自第二二进制序列中相同比特位置的两个跳变的方向是同向还是反向,同向是指这两个跳变均为由1到0的变化或者均为由0到1的变化,反向是指这两个跳变中的一个跳变为由0到1的变化、另一个跳变为由1到0的变化。
由于数据信号间耦合作用,一个数据信号上的电平变化会导致另一数据信号也产生类似的电平变化,给另一数据信号带来串扰,影响另一数据信号的传输。在本申请实施例中,在进行内存芯片的测试时,由于第二二进制序列相对于第一二进制序列具有丰富的同向跳变和反向跳变,数据信号线中传输的承载第二二进制序列的数据信号,相对于数据信号线中传输的承载第一二进制序列的数据信号具有多个传输时刻相同的同向电平变化(如某一传输时刻数据信号均由高电平(承载“1”)变化为低电平(承载“0”)),以及多个传输时刻相同的反向电平变化(如某一传输时刻一个数据信号为高电平(承载“1”)变化为低电平(承载“0”),另一个数据信号为低电平(承载“0”)变化为高电平(承载“1”)),会给承载第二二进制序列的数据信号带来同向电平变化和反向电平变化的干扰,进而给承载第二二进制序列的数据信号带来较强的串扰,从而提高确定的初始化参数的参考取值的可靠性。
在一种可能的设计中,所述初始化参数包括基准电平、数据选通脉冲信号(datastrobe signal,DQS)相位调节幅度等中的一项或多项。
其中,基准电平是在数据传输过程中内存芯片或处理器识别数据信号电平状态的电平,具体的,在识别数据信号的电平状态时,如果数据信号的电平大于或等于基准电平,则为高电平,数据信号的电平小于基准电平,则数据信号的电平为低电平;DQS相位调节幅度表示的是DQS的传输时延,而DQS为触发数据传输过程中内存芯片或处理器识别数据信号电平状态的信号,通过改变DQS相位调节幅度的取值,可以调节DQS触发内存芯片或处理器识别数据信号电平状态的时刻。
在一种可能的设计中,所述第一二进制序列为可变标记比率伪随机二进制序列。
数据信号的电平越具有随机性,数据信号间各个电平间产生的干扰越强,数据信号受到的符号间干扰越强,而可变标记比率伪随机二进制序列是在不可变标记比率伪随机二进制序列的基础上进行与运算产生的,相对于不可变标记比率伪随机二进制序列更具有随机性,序列中可以出现的连续相同值“0或1”的比特数量更多。上述设计中,采用可变标记比率伪随机二进制序列作为第一二进制序列,可以使得承载第一二进制序列的数据信号的电平(承载“1”的高电平和承载“0”的低电平)更具有随机性,带来更强的符号间干扰,从而提高确定的初始化参数的参考取值的可靠性。同时,也可以在保障确定的初始化参数的参考取值的可靠性下,缩短第一二进制序列的长度,从而提高内存芯片的测试效率,提高用户的开机体验。
在一种可能的设计中,通过以下方式确定所述第二二进制序列:对所述第一二进制序列中一个或多个跳变进行反向处理,确定所述第二二进制序列。
上述设计中,可以通过对第一二进制序列中的一个或多个跳变进行反向处理,如将第一二进制序列中相邻两比特的10变换为01,或将相邻两比特的01变换为10,快速得到第二二进制序列,有利于提高内存芯片的测试效率。
在一种可能的设计中,通过以下方式确定所述第二二进制序列:以每M个比特为单位对所述第一二进制序列进行划分,在所述第一二进制序列中确定多个编码单元,其中所述多个编码单元中的任意两个编码单元之间不存在重复比特,所述M为大于或等于2的整数;将所述多个编码单元中携带目标编码组合的编码单元标记为目标编码单元,其中所述目标编码组合为所述编码单元对应的2M种编码组合中的一种或多种;将所述第一二进制序列中目标编码单元中的跳变进行反向处理,确定所述第二二进制序列。
上述设计中,可以以第一二进制序列中每M个比特为编码单位进行编码,并将编码单位对应的2M种编码组合中的一种或多种作为目标编码组合,将携带目标编码组合的目标编码单元中的跳变进行反向处理,确定第二二进制序列,快速得到第二二进制序列,有利于提高内存芯片的测试效率。
在一种可能的设计中,所述2M种编码组合中的一半编码组合为所述目标编码组合。
上述设计中,将2M种编码组合中的一半编码组合作为目标编码组合,有利于均衡第二二进制序列相对于第一二进制序列的同向跳变和反向跳变的数量,充分激发同向跳变和反向跳变给承载第一二进制序列的数据信号带来的串扰,提高确定的初始化参数的参考取值的可靠性。
第二方面,本申请实施例提供一种内存芯片的初始化装置,该装置具有实现上述第一方面或者第一方面的任一种可能的设计中方法的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元(模块),比如包括初始化测试单元、确定单元和传输单元。
第三方面,本申请实施例提供一种电子设备,所述电子设备包括处理器、存储器和内存芯片,所述处理器执行所述存储器中存储的计算机程序时,通过所述内存芯片执行上述第一方面或者第一方面的任一种可能的设计中所述的方法。
第四方面,本申请实施例提供一种芯片系统,所述芯片系统包括:处理器和接口,所述处理器用于从所述接口调用并执行计算机程序,当所述处理器执行所述计算机程序时,可以实现上述第一方面或者第一方面的任一种可能的设计中所述的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质具有用于执行上述第一方面或者第一方面的任一种可能的设计中所述的方法的计算机程序。
第六方面,本申请实施例还提供一种计算机程序产品,包括计算机程序,当所述计算机程序被执行时,可以实现上述第一方面或者第一方面的任一种可能的设计中所述的方法。
上述第二方面至第六方面所能达到的技术效果请参照上述第一方面所能达到的技术效果,这里不再重复赘述。
附图说明
图1为本申请实施例提供的电子设备中处理器和内存芯片连接示意图;
图2为本申请实施例提供的DQ示意图;
图3为本申请实施例提供的DQ和DQS相对时序示意图之一;
图4为本申请实施例提供的DQ和DQS相对时序示意图之二;
图5为本申请实施例提供的自动旋转victim-aggressor pattern概念图;
图6为本申请实施例提供内存芯片测试码型激励方式示意图;
图7为本申请实施例提供的电子设备结构示意图之一;
图8为本申请实施例提供的电子设备结构示意图之二;
图9为本申请实施例提供的内存芯片的测试方法示意图;
图10为本申请实施例提供的DQ受到干扰的电平变化示意图;
图11为本申请实施例提供的第一二进制序列和第二二进制序列示意图;
图12为本申请实施例提供的对编码单元中的跳变处理示意图;
图13为本申请实施例提供的产生PRBS 7的示意图;
图14为本申请实施例提供的产生VMRQ-PRBS的示意图;
图15为本申请实施例提供的DQS相位调节幅度的取值范围确定示意图;
图16为本申请实施例提供的内存训练算法示意图;
图17为本申请实施例提供的仿真结果示意图之一;
图18为本申请实施例提供的仿真结果示意图之二;
图19为本申请实施例提供的仿真结果示意图之三;
图20为本申请实施例提供的内存芯片的初始化装置示意图。
具体实施方式
在目前的电子设备(如智能手机、平板电脑、智能摄像机、自动驾驶车辆、个人计算机(personal computer,PC)等)中,大多集成有处理器和内存芯片。其中,内存芯片是处理器进行运算的基础,用于暂时存放处理器中的运算数据。处理器和内存芯片之间可以通过内存总线连接。其中,内存总线可包括数据信号线和时序信号线。数据信号线可以传输数据信号(data signal),在本申请中用DQ代表数据信号,其中,DQ是双倍速率同步动态随机存储(double data rate synchronous dynamic random access memory,DDR SDRAM)协议,又称DDR协议,里面定义的数据信号的简称,而时序信号线则可以传输数据选通脉冲信号(data strobe signal),在本申请中用DQS代表数据选通脉冲信号,其中,DQS是DDR协议里面定义的数据选通脉冲信号的简称,DQ和DQS皆为周期性信号,二者一般具有相同的周期长度。
如图1所示,为本申请实施例提供的一种电子设备中处理器和内存芯片之间通过内存总线连接的示意图,其中内存总线可包括N条数据信号线和M条时序信号线,N、M为大于等于2的整数,在本申请实施例中以内存总线包括数据信号线DQ0-数据信号线DQ7共8条数据信号线,时序信号线DQS0-时序信号线DQS1共2条时序信号线为例进行说明。
在介绍本申请实施例之前,首先对本申请实施例中涉及的部分用语进行解释说明,以便于本领域技术人员理解。
1)、跳变,在本申请实施例中跳变指一个二进制序列中相邻两比特值的变化,如相邻两比特值由0到1的变化或由1到0的变化。其中,同向跳变和反向跳变比较的是来自于两个二进制序列中相同比特位置的两个跳变的方向是同向还是方向,同向指这两个跳变均为由0到1的变化或者均为由1到0的变化,反向指这两个跳变中的一个跳变为由0到1的变化、另一个跳变为由1到0的变化。例如:在第一二进制序列中第1个比特的值和第2个比特的值为“10”,在第二二进制序列中第1个比特的值和第2个比特的值为“10”,则位于第一二进制序列中第1个比特和第2个比特的跳变“10”与位于第二二进制序列中第1个比特和第2个比特的跳变“10”为同向跳变。再例如:在第一二进制序列中第5个比特的值和第6个比特的值为“10”,在第二二进制序列中第5个比特的值和第6个比特的值为“01”,则位于第一二进制序列中第5个比特和第6个比特的跳变“10”与位于第二二进制序列中第5个比特和第6个比特的跳变“01”为反向跳变。另外,在承载二进制序列的数据信号中通常数据信号的高电平承载“1”,低电平承载“0”。跳变也可以指数据信号中电平(也即电压)的高低变化(或转换),包括由高电平(承载“1”)变化为低电平(承载“0”),以及由低电平(承载“0”)变化为高电平(承载“1”)。
2)、符号间干扰(inter symbol interference,ISI),是指同一信号由于多径传播在接收端的相互重叠而产生的干扰,也可以称为码间干扰。通常由信号传输多径与衰落以及失真引起。
3)、串扰(crosstalk),串扰是两个数据信号线之间的耦合、数据信号线之间的互感和互容引起的噪声。它是一个数据信号对另外一个数据信号耦合所产生的一种不受欢迎的能量值,可能会导致数据丢失和传输错误。
4)、二进制序列的压力,也可以称码型压力,在本申请实施例中,二进制序列的压力可以理解为采用二进制序列对内存芯片进行测试时,二进制序列激发处理器和内存芯片之间传输的数据信号的串扰和/或符号间干扰的能力,二进制序列的压力越大,表示激发串扰和/或符号间干扰的能力越强。其中,激发符号间干扰的能力,主要与数据信号承载的二进制序列中可以出现的最大连续相同数字(contiguous identical digits,CID)长度有关,也即与可以出现的连续的1,连续的0的最大长度有关,CID长度越大激发符号间干扰的能力越强;激发串扰的能力,主要与相邻数据信号间承载的二进制序列间的同向跳变和反向跳变的数量有关,二进制序列间的同向跳变和反向跳变的数量越多,数据信号间产生的干扰越多,激发串扰的能力越强。
电子设备中的处理器既可以从内存芯片读取数据,也可以向内存芯片写入数据,以处理器向内存芯片写入数据为例,如图1所示,处理器可以通过数据信号线DQ0-数据信号线DQ7向内存芯片发送DQ,以及通过时序信号线DQS0和时序信号线DQS1向内存芯片发送DQS,其中DQ可以承载处理器所要写入内存芯片的数据,DQS可以触发内存芯片识别上述DQ的电平状态,进而可以将DQ中承载的数据写入内存芯片。
具体的,数据信号线DQ0-数据信号线DQ7可以并行传输8个DQ。例如,数据信号线DQ0可以传输DQ0,数据信号线DQ1可以传输DQ1,……,数据信号线DQ7可以传输DQ7。时序信号线DQS0可以传输DQS0,时序信号线DQS1可以传输DQS1。其中DQ0-DQ7可以为周期性信号,通过控制周期内的电平可以承载不同数据,从而实现数据传输。如图2所示,DQ(可以为DQ0-DQ7中的任一DQ)在一个周期内可以传输1比特(bit)数据,其中如果一个周期内DQ是高电平可以传输1比特数据“1”,如果一个周期内DQ是低电平可以传输1比特数据“0”。作为一种示例,承载1010001的DQ在传输1010001的7个周期内的电平依次为高、低、高、低、低、低、高,用于传输7比特的数据“1010001”。
DQS(可以为DQS0-DQS1中的任一DQS)通常为与DQ具有相同的周期长度的数据选通脉冲信号,用于触发内存芯片识别DQ的电平状态,进而将DQ中承载的数据写入内存芯片。如图3所示,时序信号线DQS0可以传输DQS0,时序信号线DQS1可以传输DQS1,其中,DQS0和DQS1为反相信号(即在同一个周期内DQS0和DQS1一个为高电平、另一个为低电平),DQS0和DQS1之间的交叉点(也即DQS0和DQS1电平相等的点)可以作为触发内存芯片识别DQ的电平状态的触发点。也就是说当内存芯片确定接收到的DQS0和DQS1处于交叉点时,也即处于DQS0和DQS1电平相等的时刻时,内存芯片可以识别当前DQ的电平状态,从而可以将DQ所承载的数据写入内存芯片,为了便于表述,本申请实施例接下来以DQS代指DQS0和DQS1。
另外,在数据传输过程中,内存芯片识别DQ的电平状态是高电平还是低电平是相对基准电平而言的,其中基准电平是由处理器配置的可用于识别DQ的电平状态的电平。其中,如果在识别DQ的电平状态的触发点,DQ的电平大于或等于基准电平,则内存芯片确定DQ的电平为高电平;如果在识别DQ的电平状态的触发点,DQ的电平小于基准电平,则内存芯片确定DQ的电平为低电平。如图4所示,内存识别能否准确识别DQ的电平状态与DQS和DQ之间的相对时序(相对时延)和基准电平的取值息息相关。基准电平的取值不合理和/或DQS和DQ之间的相对时序设置不合理,会造成内存芯片在识别DQ的电平状态的触发点将DQ的高电平误识别为低电平,造成内存芯片将DQ承载的“1”误判为“0”;当然也可能造成内存芯片在识别DQ的电平状态的触发点将DQ的低电平误识别为高电平,造成内存芯片将DQ承载的“0”误判为“1”。而DQS和DQ之间的相对时延可以由DQS相位调节幅度(也即DQS的传输时延)调节,通过调节DQS相位调节幅度可以改变DQS相对于DQ的时序(也即时延)。
因此在电子设备在启动后,处理器通常需要对内存芯片的进行测试,如进行写(write)/读(read)测试,得到初始化参数(如DQS相位调节幅度和/或基准电压)最佳的参考取值后,才能与内存芯片进行高速数据传输。其中在测试时通常是不断调整初始化参数的取值,测试不同的取值下,数据信号线中的数据信号能否准确传输,进而确定能够使数据信号准确传输的初始化参数的取值范围,并根据初始化参数的取值范围,从初始化参数的取值范围中选取出一个最佳的取值作为参考取值,用于处理器和内存芯片的数据传输。
目前对内存芯片的写/读测试主要包括以下几种方案:
方案一:受害者(victim)-侵害者(aggressor)算法,victim-aggressor算法主要有两个特点:(1)采用两个不同的伪随机二进制序列(pseudo-random binary sequence,PRBS),一个PRBS作为victim采用的受害线码型,一个PRBS作为aggressor采用的侵害线码型,两个PRBS完全随机。(2)提供victim-aggressor模式(pattern)自动旋转功能,多条数据信号线轮流在victim角色和aggressor角色间转换。如图5所示,包括17个并行数据信号线,每个方块表示数据信号线作为的角色,如victim角色或aggressor角色,随着时间变化不同数据信号线作为的角色会发生变化,如数据信号线1随着时间变化会依次作为aggressor角色、aggressor角色、aggressor角色和victim角色。具体在对内存芯片进行读/写测试时,处理器和内存芯片间被测试的数据信号线作为victim角色传输承载受害线码型的数据信号,其它数据信号线作为aggressor角色传输承载侵害线码型的数据信号,试图引入更强的ISI和crosstalk。然而,现有victim-aggressor算法采用的受害线码型和侵害线码型为两个完全随机的PRBS,并不能给承载受害线码型的数据信号带来足够的串扰。
方案二:方案二与上述方案一部分类似,不同的是方案二采用两个PRBS15(即阶数为15的PRBS)分别作为受害线码型和侵害线码型,以侵害线码型采用的PRBS15为第一PRBS15、受害线码型采用的PRBS15为第二PRBS15为例。其中第一PRBS15可以采用完全随机的PRBS15,第二PRBS15则是取反的第一PRBS15,其中对第一PRBS15取反指对第一PRBS15中比特的值“1”或“0”取反,其中“1”和“0”互为相反的值,以第一PRBS15为“010……10”为例,则取反后的第一PRBS15为“101……01”。
以电子设备的处理器和内存芯片之间存在8条数据信号线(数据信号线DQ0-数据信号线DQ7)为例,如图6所示,每个矩形表示数据信号线的一次数据信号传输,其中黑色填充的矩形表示承载第一PRBS15的数据信号,无黑色填充的矩形表示承载第二PRBS15的数据信号。具体在对内存芯片进行读/写测试时,处理器和内存芯片间被测试的数据信号线传输承载第二PRB15的数据信号,其它数据信号线传输承载第一PRB15的数据信号(如第2组-第9组的示例),还可以通过让8条数据信号线均传输承载第一PRB15的数据信号,额外的测试数据信号线中的数据信号能否准确传输。然而,该方案直接采用两个完全相反的PRBS15,同样不能保证给承载受害线码型(即第二PRBS15)的数据信号带来足够的串扰,并且PRBS15的长度较长,内存芯片的测试效率较低,会导致开机时间较长,影响用户的开机体验。
本申请旨在提供一种内存芯片的测试方案,通过采用具有H个相对于第一二进制序列的同向跳变、以及具有I个相对于第一二进制序列的反向跳变的第二二进制序列,利用第二二进制序列相对第一二进制序列具有丰富的同向跳变和反向跳变的特点,充分激发内存芯片的至少一条数据信号线传输的第二二进制序列(即传输的承载第二二进制序列的数据信号),对内存芯片的某一条数据信号线中传输的第一二进制序列(即传输的承载第一二进制序列的数据信号)带来的串扰,从而提高确定的初始化参数的参考取值的可靠性。
图7为本申请实施例提供的电子设备的结构示意图,图7是图1所示的电子设备按照软件层和硬件层的逻辑划分得到的。图7中的电子设备可以包括硬件层和软件层,其中软件层可以包括一个或多个应用程序和操作系统,硬件层可以包括处理器、内存芯片和存储器,操作系统是用于管理硬件与软件资源的系统软件,图7中的处理器和内存芯片可以是图1中的处理器和内存芯片。
处理器是电子设备的控制中心,利用各种接口和总线连接电子设备的各个部件,如通过内存总线与内存芯片连接,具体处理器通过内存总线与内存芯片的连接可参照图1所示,不再进行赘述。在一些实施例中,处理器可包括一个或多个处理单元,或称为物理核,例如图7中处理器包括核0和核1。处理器还可以包括寄存器,寄存器可用于存储内存芯片的初始化参数的参考取值等。处理器可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
内存芯片(也可以称为内存)可以是DDR SDRAM,例如第4代DDR(4th DDR,DDR4)SDRAM、第5代DDR(5th DDR,DDR5)SDRAM等,还可以为低功耗双倍速率同步动态随机存储器(low power double data rate SDRAM,LPDDR)等,可以用于暂时存放处理器中的运算数据。此外内存芯片中还可以包括寄存器,可用于存储内存芯片的初始化参数的参考取值等。
存储器中可以存储有操作系统和应用程序,还可存储在运行过程中操作系统和应用程序产生的数据。
如图7所示,电子设备中还可以包括固件(firmware)。由于固件是一种嵌入在硬件中的软件,包括计算机指令,因此按照逻辑划分,可以将固件划分在软件层。基本输入输出系统(basic input/output system,BIOS)是一种常见的固件,在通电引导阶段运行硬件初始化,以及为操作系统提供运行时服务。在本申请实施例中,在电子设备的BIOS可以用于执行内存芯片的测试方法的计算机指令,在电子设备开机后,BIOS中执行内存芯片的测试方法,对内存芯片进行测试,测试完成后,将得到的初始化参数的参考值,写入处理器的寄存器和/或内存芯片的寄存器中,根据处理器的寄存器和/或内存芯片的寄存器中的初始化参数的参考取值,处理器和内存芯片即可实现高速数据传输,其中通常处理器的寄存器中写入读(处理器从内存芯片中读取数据)测试得到的初始化参数的参考取值,内存芯片的寄存器中写入写(处理器向内存芯片写入数据)测试得到的初始化参数的参考取值。
BIOS中的计算机指令可以存储在电子设备的主板上,具体的可以存储在主板上的只读存储器(read-only memory,ROM)芯片中,当然也可以将BIOS存储在如图7所示的电子设备的存储器中,存储器包括但不限于闪存(flash memory)、硬盘、光盘、通用串行总线(universal serial bus,USB)盘等。在一种实现方式中,存储器和内存芯片可以为同一个存储介质,即内存芯片中存储有用于实现内存测试方法的计算机指令。当电子设备的处理器调用BIOS以执行硬件的初始化时,该计算机指令被调用,以执行本申请各个实施例提供的内存测试方法,完成对内存芯片的测试。
以BIOS存储在存储器中为例,电子设备的物理结构示意图可以如图8所示,包括存储器、处理器和内存芯片,处理器、内存芯片和存储器可以为图7中处理器、内存芯片和存储器的部分和全部,实现方式可以参照图7中对应的描述。
另外,需要理解的是,本申请中,多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系。另外,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度,并且“第一”、“第二”的描述也并不限定对象一定不同。在本申请中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。在本申请中,“示例性的”或者“例如”等词用于表示例子、例证或说明,被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。下面将结合附图,对本申请实施例进行详细描述。
图9为本申请实施例提供的一种内存芯片的测试方法示意图,该方法包括:
S901:处理器采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试。
其中,内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列(即传输承载所述第一二进制序列的数据信号)、其它N-1条数据信号线中至少一条数据信号线传输所述第二二进制序列(即传输承载所述第二二进制序列的数据信号)。
第一二进制序列能否正确的写入内存芯片,与处理器通过数据信号线向内存芯片发送的承载第一二进制序列的数据信号所受到的干扰相关,如图10所示,数据信号受到串扰和/或符号间干扰,数据信号的电平会发生变换,可能会导致数据信号所承载的第一二进制序列无法正确写入内存芯片。而串扰主要与相邻数据信号承载的二进制序列之间的同向跳变和反向跳变有关,为了更大程度的激发承载第一二进制序列的数据信号所受的串扰,在本申请实施例中,在对内存芯片进行测试时,采用的第二二进制序列具有H个相对于第一二进制序列的同向跳变和I个相对于第一二进制序列的反向跳变,H和I为大于或等于1的整数;并可以令内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列、其它N-1条数据信号线均传输所述第二二进制序列。
其中,同向跳变和反向跳变比较的是来自于第一二进制序列和来自第二二进制序列中相同比特位置的两个跳变的方向是同向还是方向,同向指这两个跳变均为由0到1的变化或者均为由1到0的变化,反向指这两个跳变中的一个跳变为由0到1的变化、另一个跳变为由1到0的变化。如图11所示,以第一二进制序列为101000111001010、第二二进制序列为011000110110010为例,第二二进制序列具有3个相对于第一二进制序列的同向跳变和3个相对于第一二进制序列的反向跳变。
在本申请实施例中,第一二进制序列可以采用完全随机的PRBS,如完全随机的阶数为7的PRBS等,其中阶数为7的PRBS是指产生PRBS 7的初始码(初始码由0和/或1组成)的位数或大小为7,也即PRBS是通过对几位的初始码进行异或运算循环移位输出得到的。而第二二进制序列可以基于第一二进制序列确定。在一些实施中,处理器可以将第一二进制序列中的一个或多个跳变进行反向处理,确定第二二进制序列。
以第一二进制序列为10111011001110000110(仅示出部分)为例,处理器可以在第一二进制序列中随机选取一个或多个相互之间不存在重复比特的跳变进行反向处理,得到第二二进制序列。例如:处理器可以选取第一二进制序列中第1个比特和第2个比特的“10”、第5个比特和第6个比特的“10”,第1个比特和第2个比特对应的跳变“10”与第5个比特和第6个比特对应的跳变“10”之间不存在重复比特,通过译码电路将第1个比特和第2个比特的“10”转换为“01”,将第5个比特和第6个比特的“10”转换为“01”,实现将第一二进制序列中第1个比特和第2个比特的“10”、第5个比特和第6个比特的“10”的反向处理,得到第二二进制序列“01110111001110000110(仅示出部分)”。其中译码电路可以集成在处理器中,也可以在电子设备中单独设置并与处理器连接,本申请不做限定。
作为另一种示例,处理器还可以以2个比特为单位对第一二进制序列进行划分,得到任意两个编码单元之间不存在重复比特的多个编码单元,如得到10、11、10、11、00、11、10、00、01、10等多个编码单元,并对通过译码电路将对应特定跳变的编码单元进行反向处理,如将对应跳变“10”的编码单元转换为“01”。通过译码电路处理后得到的第二二进制序列“01 11 01 11 00 11 01 00 01 01(仅示出部分)”。
在一些实施中,处理器还可以以每M个比特为单位对第一二进制序列进行划分,在第一二进制序列中确定出任意两个编码单元之间不存在重复比特多个编码单元,将多个编码单元中携带目标编码组合的编码单元标记为目标编码单元,并将第一二进制序列中目标编码单元中的跳变进行反向处理,进而确定第二二进制序列。其中,M为大于或等于2的整数。
具体的,可以将编码单元对应的2M种编码组合中的部分编码组合作为目标编码组合,也可以将2M种编码组合全部作为目标编码组合,本申请不做限定。另外,为了保障得到的第二二进制序列相对于第一二进制序列具有充足和反向跳变和同向跳变,以达到最佳的串扰效果,可以将2M种编码组合中的一半编码组合作为目标编码组合。
以M为3为例,包括M个比特的编码单位对应8种编码组合,分别为000、001、010、011、100、101、110、111。可以100、101、110、111作为目标编码组合,将携带100、101、110、111的编码单元标记为目标编码单元,对目标编码单元中的跳变进行反向处理。
作为一种示例,如图12所示,处理器可以将携带100、101、110、111的目标编码单元中的跳变通过译码电路进行反向处理,则100通过译码电路处理后的输出可以为01X、101通过译码电路处理后的输出可以为010,110通过译码电路处理后的输出可以为X01,111通过译码电路处理后的输出可以为XXX,其中X可以为0或1。处理器还可以维持携带000、001、010、011的非目标编码单元中的跳变不变,则000通过译码电路处理后的输出可以为XXX、001通过译码电路处理后的输出可以为X01,010通过译码电路处理后的输出可以为010,则011通过译码电路处理后的输出可以为01X,其中X可以为0或1。
在一些实施中,还可以将包含X的编码组合设置为高频编码组合(如010、101、011等),增加确定的第二二进制序列对第一二进制序列的串扰能力。如图12所示,则可以设置译码电路将输入的000输出为010、将输入的001输出为101、将输入的010输出为010、将输入的011输出为011、将输入的100输出为011、将输入的101输出为010、将输入的110输出为001、将输入的111输出为101。
需要理解的是,上述是以携带000、001、010、011的非目标编码单元也通过译码电路进行处理为例说明的,在一些实施中,携带000、001、010、011的非目标编码单元也可以不通过译码电路进行处理,非目标编码单元中各比特的值维持不变。
另外,需要理解的是,第一二进制序列可能存在不能被M整分的情况,对于第一二进制序列中不能被M整分的部分比特,可以不对该部分比特进行处理。仍以M为3,译码电路采用如图12所示的处理方式为例,假设第一二进制序列为101 110 110 011 100 001 10,则得到的第二二进制序列为010 001 001 011 011 101 10,第二二进制序列的最后2比特与第一二进制序列的最后2比特相同,在确定第二二进制序列时,未对第一二进制序列的最后2比特进行处理。
PRBS中“0”和“1”所占比特数量的比率是相等的,也即在PRBS中值为0的比特数量和值为1的比特数量相同。如图13所示为产生PRBS 7(即阶数为7的PRBS)的示意图,PRBS由线性反馈移位寄存器(linear feedback shift register,LFSR)生成,通过一组初始码(对于PRBS7初始码为7位,由0和/或1组成)进行异或运算循环移位输出,就可以得到“0”和“1”所占比特数量的比率相等的伪随机二进制序列。
为了更大程度的激发承载第一二进制序列的数据信号所受的符号间干扰,使得到的初始化参数的参考取值适应于处理器与内存芯片的真实业务传输,在本申请实施例中,第一二进制序列还可以采用可变标记比率伪随机二进制序列(variable mark ratioquasi-PRBS,VMRQ-PRBS),也即采用0/1占比可变伪随机二进制序列。
VMRQ-PRBS是一种“0”和“1”所占比特数量的比率可变的PRBS,是在N阶的PRBS的基础上对PRBS的某几位进行与运算产生的,常见的比率有1/8、1/4、3/4和7/8。如图14所示,对标准PRBS7图形发生器(standard PRBS7 pattern generator)输出的PRBS中的2位进行与运算,可得到值为1所占比特数量为PRBS比特总数量1/4的伪随机二进制序列,即得到1占比为1/4的VMRQ-PRBS;对输出的PRBS中的3位进行与运算,可得到值为1所占比特数量为PRBS比特总数量1/8的伪随机二进制序列,即得到1占比为1/8的VMRQ-PRBS。对1占比为1/4和1/8的VMRQ-PRBS取反即可得到0占比为1/4和1/8的VMRQ-PRBS。
如表1所示,为1/4比率(ratio)1比特位移(bit shift)VMRQ-PRBS7(也即1占比为1/4的VMRQ-PRBS7)与PRBS 7的最长连1数和最长连0数。二进制序列激发符号间干扰的能力,主要与二进制序列可以出现的最大CID长度有关,通过采用VMRQ-PRBS作为第一二进制序列,可以有效激发承载第一二进制序列的数据信号所受的符号间干扰,使得到的初始化参数的参考取值适应于处理器与内存芯片的真实业务传输。也有利于在保障得到的初始化参数的参考取值的可靠性的情况下,缩短第一二进制序列的长度,从而提高内存芯片的测试效率。
模式 | 最长连1数 | 最长连0数 |
PRB7 | 7 | 6 |
1/4ratio1 bit shift VMRQ-PRBS7 | 12 | 12 |
表1
下面以采用第一二进制序列和第二二进制序列对内存芯片进行写测试为例,介绍如何使用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试。
处理器可以通过数据信号线DQ0向内存芯片发送承载第一二进制序列的DQ0,通过数据信号线DQ1-数据信号线DQ7向内存芯片发送承载第二二进制序列的DQ1-DQ7,并通过时序信号线DQS0和时序信号线DQS1向内存芯片发送DQS。如图15中的A所示,在默认基准电平、默认DQS相位调节幅度下,也即在默认的基准电平的取值和默认的DQS相位调节幅度的取值下,处理器逐渐缩小DQS相位调节幅度的取值,直至出现DQ0所承载的第一二进制序列无法正确写入内存芯片。此时,根据DQS确定的识别DQ的电平状态的触发点与DQ0之间的相对时序位置可以如图15中的B所示。
处理器在DQ0所承载的第一二进制序列无法正确写入内存芯片后,逐渐增大DQS相位调节幅度的取值,直至出现DQ0所承载的第一二进制序列再次无法正确写入内存芯片。此时,根据DQS确定的识别DQ的电平状态的触发点与DQ0之间的相对时序位置可以如图15中的C所示。假设图15中的B中DQS相位调节幅度的取值为P1,图15中的C中DQS相位调节幅度的取值为P2,则处理器可以得到DQS相位调节幅度的取值范围为P1到P2。
同样,对于基准电平的测试,在默认基准电平、默认DQS相位调节幅度下,处理器可以逐渐缩小基准电平的取值,直至出现DQ0所承载的第一二进制序列无法正确写入内存芯片。此时,假设基准电平的取值为Q1。
处理器在DQ0所承载的第一二进制序列无法正确写入内存芯片后,逐渐增大基准电平的取值,直至出现DQ0所承载的第一二进制序列再次无法正确写入内存芯片。此时,假设基准电平的取值为Q2,则处理器得到基准电平的取值范围为Q1到Q2。
S402:所述处理器根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值。
在实际应用中,受噪声等因素的影响,内存芯片根据DQS确定的识别DQ状态的触发点可能会偏离理想的识别DQ状态的触发点,如相对理想的识别DQ状态的触发点在时间上提前或延后。内存芯片识别的DQ的电平也可能偏离理想的DQ的电平,如内存芯片识别的DQ的电平可能高于或低于处理器发送的DQ的电平。
为了确保确定的DQS相位调节幅度的参考取值有更多的冗余量应对噪声等因素的影响,在一些实施例中,以DQS相位调节幅度的取值范围为P1到P2为例,则DQS相位调节幅度的参考取值可以为(P1+P2)/2,也即为DQS相位调节幅度的取值范围的中位数,以有更多的冗余量应对噪声等因素的影响。
另外,如果处理器还基于数据信号线DQ1-数据信号线DQ7测试得到多组DQS相位调节幅度的取值范围,即多组P1和P2,处理器还可以将数据信号线DQ0-数据信号线DQ7对应的多组P1和P2中差值最大的一组P1和P2,用于确定DQS相位调节幅度的参考取值。
为了确保确定的基准电平的参考取值有更多的冗余量应对噪声等因素的影响,在一些实施例中,以基准电平的取值范围为Q1到Q2为例,则基准电平的参考取值可以为(Q1+Q2)/2,也即为基准电平的取值范围的中位数。
另外,如果处理器还基于数据信号线DQ1-数据信号线DQ7也测试得到多组基准电平的取值范围,即多组Q1和Q2,处理器还可以将数据信号线DQ0-数据信号线DQ7对应的多组Q1和Q2中差值最大的一组Q1和Q2,用于确定基准电平的参考取值。
在一些实施中,为了提高内存芯片的测试的准确性,处理器也可以先确定DQS相位调节幅度的参考取值,然后在DQS相位调节幅度的参考取值、默认基准电平的基础上对基准电平的取值进行测试,从而确定基准电平的取值范围,进而确定基准电平的参考取值;或者先确定基准电平的参考取值,然后在默认DQS相位调节幅度、基准电平的参考取值的基础上对DQS相位调节幅度进行测试,从而确定DQS相位调节幅度的取值范围,进而确定DQS相位调节幅度的参考取值。
S403:所述处理器根据所述参考取值与所述内存芯片进行数据传输。
通过对内存芯片进行写测试得到DQS相位调节幅度的参考取值和/或基准电平的参考取值后,处理器将得到的DQS相位调节幅度的参考和/或基准电平的参考取值写入内存芯片的寄存器中,内存芯片即可基于寄存器中保存的DQS相位调节幅度的参考取值和/或基准电平的参考取值,识别处理器发送的数据信号的电平,进而识别数据信号承载的数据,从而实现处理器向内存芯片写入数据。
上述主要从对内存芯片进行写测试的方面,对如何确定DQS相位调节幅度的参考取值、基准电平的参考取值进行了介绍,在对内存芯片进行读测试时,内存芯片可以通过数据信号线DQ0至数据信号线DQ7向处理器发送DQ,以及通过时序信号线DQS0和时序信号线DQS1向处理器发送DQS,其中DQ可以承载处理器所要读取的数据。对于内存芯片进行读测试时,如何确定DQS相位调节幅度的参考取值、基准电平的参考取值的实现可以参考对内存芯片进行写测试时,如何确定DQS相位调节幅度的参考取值、基准电平的参考取值的实现,不再进行赘述。
通过对内存芯片进行读测试得到DQS相位调节幅度的参考取值和/或基准电平的参考取值后,处理器将得到的DQS相位调节幅度的参考取值和/或基准电平的参考取值写入处理器的寄存器中,处理器即可基于寄存器中保存的DQS相位调节幅度的参考取值和/或基准电平的参考取值,识别内存芯片发送的数据信号的电平,进而识别数据信号承载的数据,从而实现处理器从内存芯片中读取数据。
需要理解的是,本申请的内存芯片的测试方法,可用于内存芯片的训练或测试场景中,主要原理是先通过受害线码型(第一二进制序列)和侵害线码型(第二二进制序列)激励出DQ受害线眼图,通过DQ受害线眼图内轮廓再利用一定的算法找到内轮廓中心点,也就内存芯片的初始化参数的参考取值。如图16所示,以通过内存芯片训练算法(如DDRtraining算法)采用第一二进制序列(受害线码型)和第二二进制序列(侵害线码型)对内存芯片进行测试为例,主要包括以默认基准电平(default-VREF)为基准,找到DQ受害线眼图内轮廓的左右边界(即DQS相位调节幅度的取值范围),对左右边界取平均,确定DQS相位调节幅度的参考取值。以DQS相位调节幅度的参考取值为基准,找到DQ受害线眼图内轮廓的上下边界(即基准电压的取值范围),对上下边界取平均,确定基准电压的参考取值。
如表2所示,对于一组8个DQ,本申请受害线码型(第一二进制序列)采用VMRQ-PRBS11(即阶数为11的VMRQ-PRBS),上述第一种方案和第二种方案均采用PRBS15(即阶数为15的PRBS)为例,其中第二种方案需要的码型长度为9*32767位;本申请需要的码型长度为8*4094位(需要8个DQ分别传输受害线码型);本申请的码型长度为第二种方案的1/9。
我们通过仿真分析验证码型的压力,以1位信号的仿真为例,不同传输速率下,仿真结果如图17、图18、图19所示,可以看出本申请受害线码型长度短,但带来的码间干扰和串扰是最大的,能确定出可靠性最高的初始化参数的参考取值。其中EH表示眼高(eyehigh),EW表示眼宽(eye width)。
表2
上述主要从方法流程的角度对本申请提供的方案进行了介绍,下述将从硬件或逻辑划分模块的角度对本申请实施例的技术方案进行详细阐述。可以理解的是,为了实现上述功能,装置可以包括执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在采用集成的单元的情况下,图20示出了本申请实施例中所涉及的内存芯片的初始化装置可能的示例性框图,该内存芯片的初始化装置2000可以以软件模块或硬件模块的形式存在。内存芯片的初始化装置2000可以包括:初始化测试单元2001、确定单元2002和传输单元2002。
一种示例中,该装置可以以软件模块的形式存在,如图7所示的电子设备的固件中包括有用于实现该软件模块。该软件模块的计算机指令可以存储在存储介质中,比如图7中的存储器或者图7中的内存芯片内部的存储空间上。在电子设备开机时,电子设备的处理器会调用固件(例如BIOS)来执行硬件初始化。在这一环节中,处理器会调用存储的用于实现该装置各软件模块的功能的计算机指令,使用第一二进制序列和第二二进制序列对内存芯片做测试,最终得到内存芯片的初始化参数的参考取值,处理器可以根据得到的参考取值配置内存芯片中的寄存器或者处理器中的寄存器,从而实现更可靠的内存芯片的测试,使得处理器和内存芯片直接数据传输更可靠。
具体地,在一个实施例中,所述初始化测试单元2001,用于采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试,其中所述第二二进制序列具有H个相对于所述第一二进制序列的同向跳变和I个相对于所述第一二进制序列的反向跳变,所述内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列、其它N-1条数据信号线中至少一条数据信号线传输所述第二二进制序列,其中跳变为一个二进制序列中相邻两比特值的变化、所述N为大于或等于2的整数、所述H和所述I为大于或等于1的整数;
所述确定单元2002,用于根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值;
所述传输单元2003,用于根据所述参考取值与所述内存芯片进行数据传输。
在一种可能的设计中,所述第一二进制序列为可变标记比率伪随机二进制序列。
在一种可能的设计中,所述确定单元2002,还用于对所述第一二进制序列中一个或多个跳变进行反向处理,确定所述第二二进制序列。
在一种可能的设计中,所述确定单元2002,还用于以每M个比特为单位对所述第一二进制序列进行划分,在所述第一二进制序列中确定多个编码单元,其中所述多个编码单元中的任意两个编码单元之间不存在重复比特,所述M为大于或等于2的整数;将所述多个编码单元中携带目标编码组合的编码单元标记为目标编码单元,其中所述目标编码组合为所述编码单元对应的2M种编码组合中的一种或多种;将所述第一二进制序列中目标编码单元中的跳变进行反向处理,确定所述第二二进制序列。
在一种可能的设计中,所述2M种编码组合中的一半编码组合为所述目标编码组合。
在一种可能的设计中,所述初始化参数包括以下中的至少一项:基准电平、数据选通脉冲信号DQS相位调节幅度。
作为本实施例的另一种形式,提供一种计算机可读存储介质,其上存储有计算机程序(或指令),该计算机程序在电子设备上运行时,使得电子设备可以执行上述方法实施例中的内存芯片的测试方法。作为一种示例,如图8所示,计算机可读存储介质可以为电子设备中的存储器,存储器中存储的BIOS中存储有用于实现内存芯片的测试方法的计算机程序,电子设备中的处理器可以调度并运行所述计算机程序,实现上述方法实施例中的内存芯片的测试方法。
作为本实施例的另一种形式,提供一种计算机程序产品,所述计算机程序产品包括用于实现内存芯片的测试方法的计算机程序,当所述计算机程序执行时,可以实现上述方法实施例中的内存芯片的测试方法。作为一种示例:如图8所示,可以将所述计算机程序产品写入电子设备的存储器(或BIOS中),电子设备中的处理器可以调度并运行所述计算机程序产品包括的计算机程序,实现上述方法实施例中的内存芯片的测试方法。
作为本实施例的另一种形式,提供一种芯片系统,所述芯片系统包括:处理器和接口,所述处理器用于从所述接口调用并执行用于实现内存芯片的测试方法的计算机程序,当所述处理器执行所述计算机程序时,实现上述方法实施例中的内存芯片的测试方法。作为一种示例,所述接口可以为接口电路,如图8所示,处理器可以通过连接处理器和存储器的接口电路,调用并执行存储器中存储的用于实现内存芯片的测试方法的计算机程序,实现上述方法实施例中的内存芯片的测试方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种内存芯片的测试方法,其特征在于,包括:
采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试,其中所述第二二进制序列具有H个相对于所述第一二进制序列的同向跳变和I个相对于所述第一二进制序列的反向跳变,所述内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列,其它N-1条数据信号线中一条或多条数据信号线传输所述第二二进制序列,其中跳变为一个二进制序列中相邻两比特值的变化、所述N为大于或等于2的整数、所述H和所述I为大于或等于1的整数;
根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值;
根据所述参考取值与所述内存芯片进行数据传输。
2.如权利要求1所述的方法,其特征在于,所述第一二进制序列为可变标记比率伪随机二进制序列。
3.如权利要求1或2所述的方法,其特征在于,通过以下方式确定所述第二二进制序列:
对所述第一二进制序列中一个或多个跳变进行反向处理,确定所述第二二进制序列。
4.如权利要求1-3中任一项所述的方法,其特征在于,通过以下方式确定所述第二二进制序列:
以每M个比特为单位对所述第一二进制序列进行划分,在所述第一二进制序列中确定多个编码单元,其中所述多个编码单元中的任意两个编码单元之间不存在重复比特,所述M为大于或等于2的整数;
将所述多个编码单元中携带目标编码组合的编码单元标记为目标编码单元,其中所述目标编码组合为所述编码单元对应的2M种编码组合中的一种或多种;
将所述第一二进制序列中目标编码单元中的跳变进行反向处理,确定所述第二二进制序列。
5.如权利要求4所述的方法,其特征在于,所述2M种编码组合中的一半编码组合为所述目标编码组合。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述初始化参数包括以下中的至少一项:
基准电平、数据选通脉冲信号DQS相位调节幅度。
7.一种内存芯片的初始化装置,其特征在于,包括:初始化测试单元、确定单元和传输单元;
所述初始化测试单元,用于采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试,其中所述第二二进制序列具有H个相对于所述第一二进制序列的同向跳变和I个相对于所述第一二进制序列的反向跳变,所述内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列、其它N-1条数据信号线中一条或多条数据信号线传输所述第二二进制序列,其中跳变为一个二进制序列中相邻两比特值的变化、所述N为大于或等于2的整数、所述H和所述I为大于或等于1的整数;
所述确定单元,用于根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值;
所述传输单元,用于根据所述参考取值与所述内存芯片进行数据传输。
8.如权利要求7所述的装置,其特征在于,所述第一二进制序列为可变标记比率伪随机二进制序列。
9.如权利要求7或8所述的装置,其特征在于,所述确定单元,还用于对所述第一二进制序列中一个或多个跳变进行反向处理,确定所述第二二进制序列。
10.如权利要求7-9中任一项所述的装置,其特征在于,所述确定单元,还用于以每M个比特为单位对所述第一二进制序列进行划分,在所述第一二进制序列中确定多个编码单元,其中所述多个编码单元中的任意两个编码单元之间不存在重复比特,所述M为大于或等于2的整数;将所述多个编码单元中携带目标编码组合的编码单元标记为目标编码单元,其中所述目标编码组合为所述编码单元对应的2M种编码组合中的一种或多种;将所述第一二进制序列中目标编码单元中的跳变进行反向处理,确定所述第二二进制序列。
11.如权利要求10所述的装置,其特征在于,所述2M种编码组合中的一半编码组合为所述目标编码组合。
12.如权利要求7-11中任一项所述的装置,其特征在于,所述初始化参数包括以下中的至少一项:
基准电平、数据选通脉冲信号DQS相位调节幅度。
13.一种电子设备,其特征在于,包括处理器、存储器和内存芯片;
所述存储器,用于存储程序指令;
所述处理器,用于通过调用所述存储器存储的程序指令,通过所述内存芯片执行如权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-6中任一项所述的方法。
15.一种芯片系统,其特征在于,所述芯片系统包括:
处理器和接口,所述处理器用于从所述接口调用并执行计算机程序,当所述处理器执行所述计算机程序时,实现如权利要求1-6中任一项所述的方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,当所述计算机程序执行时,实现如权利要求1-6中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110601640.8A CN115482873A (zh) | 2021-05-31 | 2021-05-31 | 一种内存芯片的测试方法及装置 |
PCT/CN2022/093601 WO2022252987A1 (zh) | 2021-05-31 | 2022-05-18 | 一种内存芯片的测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110601640.8A CN115482873A (zh) | 2021-05-31 | 2021-05-31 | 一种内存芯片的测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115482873A true CN115482873A (zh) | 2022-12-16 |
Family
ID=84322771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110601640.8A Pending CN115482873A (zh) | 2021-05-31 | 2021-05-31 | 一种内存芯片的测试方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115482873A (zh) |
WO (1) | WO2022252987A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8542545B2 (en) * | 2011-03-24 | 2013-09-24 | Texas Instruments Incorporated | Repairing soft failures in memory cells in SRAM arrays |
CN104810062A (zh) * | 2015-05-12 | 2015-07-29 | 东南大学 | 一种sram芯片的puf特性测试方法及装置 |
CN109961824A (zh) * | 2019-03-27 | 2019-07-02 | 苏州浪潮智能科技有限公司 | 一种内存测试方法 |
CN110928736B (zh) * | 2019-12-06 | 2022-07-12 | 迈普通信技术股份有限公司 | 内存参数调试方法及装置 |
-
2021
- 2021-05-31 CN CN202110601640.8A patent/CN115482873A/zh active Pending
-
2022
- 2022-05-18 WO PCT/CN2022/093601 patent/WO2022252987A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2022252987A1 (zh) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9798693B2 (en) | Data bus inversion (DBI) encoding based on the speed of operation | |
JP5283393B2 (ja) | メモリシステム及びそのシステムの命令の取扱方法 | |
US10747697B2 (en) | Semiconductor device, method of operating semiconductor device and system incorporating same | |
US9166625B2 (en) | Circuits, integrated circuits, and methods for interleaved parity computation | |
CN113168393B (zh) | 高速的硬件传输均衡 | |
US10896719B2 (en) | Techniques for clock signal jitter generation | |
KR20120098326A (ko) | 반도체 장치 및 데이터 처리방법 | |
US20220059139A1 (en) | Method of generating a multi-level signal using a selective level change, a method of transmitting data using the same, and a transmitter and memory system performing the same | |
US20190213162A1 (en) | Integrated circuit system | |
CN114840137A (zh) | 用于在动态随机存取存储器上执行写入训练的技术 | |
CN1707454A (zh) | 中心单元、存储器模块、存储器系统和对其读和写的方法 | |
CN115482873A (zh) | 一种内存芯片的测试方法及装置 | |
US11515860B2 (en) | Deterministic jitter generator with controllable probability distribution | |
KR101198250B1 (ko) | 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치 | |
CN102611667B (zh) | 随机接入检测fft/ifft处理方法及装置 | |
US10635628B2 (en) | Host controller apparatus, host controller device, and method for a host controller for determining information related to a time shift for transmitting instructions on a command and address bus, host controller and computer system | |
CN103678164A (zh) | 一种存储器级联方法和装置 | |
TWI650768B (zh) | 記憶體控制裝置與記憶體控制方法 | |
US20090290594A1 (en) | Method and Device for Transmitting Signal Between Devices | |
CN104199635A (zh) | 集成crc校验电路的伪随机数发生器 | |
US20170248654A1 (en) | Data communication system and data receiving device | |
US10846085B2 (en) | Multi-lane data processing circuit and system | |
JP2024507964A (ja) | フラッシュメモリチップの最適化方法および関連装置 | |
CN114295963A (zh) | 一种芯片测试方法及系统 | |
CN116846793A (zh) | 一种互联芯片通信链路检测装置及方法 |
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 |