内存读操作数据选通使能时机的配置方法

文档序号:6739190阅读:266来源:国知局
专利名称:内存读操作数据选通使能时机的配置方法
技术领域
本发明涉及一种内存控制器读操作数据选通使能时机的配置方法,属于计算机内存控制器领域。
背景技术
双倍数据速率3 (DDR3)内存控制器中,内存模组上,时钟信号、地址信号、命令信号、控制信号采用飞越总线(Fly-By Bus)走线方式。在内存的读操作中,内存控制器发出读命令之后,读命令会随着飞越总线逐一经过内存通道上各个内存芯片,然后这些内存芯片会在收到读命令之后间隔相同时间长度后,发出数据选通信号(DQS)往内存控制器传输,因此导致来自同一个内存通道上的不同内存芯片的数据选通信号会在不同时刻到达内存控制器。 同一个内存通道上的飞越总线逐一经过各个内存芯片,导致先后经过的内存芯片,读操作中输出的DQS到达内存控制器的时机前后相差较大。并且在印制电路板(PCB)设计中,内存控制器与内存芯片之间的走线延时长度,随着内存频率的提高,与内存时钟周期(Tck)的比例值也越来越大。这些因素,导致在DDR3控制器应用中,必须精确地解决各个数据组的读操作数据选通使能时机配置问题。读操作数据选通使能时机,是由内存控制器的读选通使能寄存器控制的。DDR3中,读选通使能寄存器通常由读选通使能粗调寄存器和读选通使能微调寄存器共同组成。也就是说,内存控制器对单个数据组的读选通使能寄存器的配置,是由对读选通使能粗调寄存器进行粗调,然后对读选通使能微调寄存器进行微调来共同完成的。粗调通常步幅较大,读选通使能粗调寄存器的最小单元(Tai)通常为1/2个时钟周期或者1/4个时钟周期;微调通常步幅较小,读选通使能微调寄存器的最小单元通常为1/64个时钟周期或者1/128个时钟周期。内存控制器寄存器设计中,读选通使能微调寄存器能设置的最大值通常等于读选通使能粗调寄存器的最小单元值。这样,读选通使能寄存器的值可以任意配置。内存控制器对单个数据组的读选通使能寄存器的配置,业内通行的做法是,将读选通使能寄存器的值由一个很大的值,以每次减小读选通使能微调寄存器的最小单元的步幅,逐一往小试验,一直试验到很小的值。以该数据组写进去的值读出来正确为判定条件,统计满足条件的读选通使能寄存器最大值及最小值,将最大值和最小值求算术平均值作为该数据组读选通使能寄存器最终值。但是,某些DDR3内存控制器的相关文档中并未说明读选通使能微调寄存器的最小单元的大小,仅说明其为固定时间长度值,且与时钟周期无关。因此,在清楚读选通使能粗调寄存器最小单元的具体大小,但是不清楚读选通使能微调寄存器的最小单元的情况下,读选通使能寄存器最终值的配置成为难题。

发明内容
为了解决读选通使能微调寄存器的最小单元为未知的固定时间长度值情况下,DDR3内存控制器配置读操作数据选通使能时机这个难题,本发明提供了一种内存读操作数据选通使能时机的配置方法,主要是通过读选通使能寄存器最大值对应的粗调值Tcjmax及微调值Tf max,与读选通使能寄存器最小值对应的粗调值Tclmin及微调值Tf min,将两个粗调值做算术平均值,作为读选通使能粗调寄存器最终值,再将两个微调值做算术平均值,作为读选通使能微调寄存器最终值,该粗调最终值与微调最终值的和便是读选通使能寄存器需要配置的最终值。本发明主要包括如下步骤
步骤一选定某一数据组,进行读选通使能寄存器最大值训练,得到满足读操作读取的数据正确的条件,读选通使能寄存器所能够配置的最大值对应的粗调值Temx及微调值Tf—MX;进行读选通使能寄存器最小值训练,得到满足读操作读取的数据正确的条件,读选通使 能寄存器所能够配置的最小值对应的粗调值Tclmin及微调值Tf min ;
所述读选通使能寄存器最大值训练的步骤如下
(1)将读选通使能粗调寄存器,设为(CL+3)* Tcx,其中CL为列选通延时,Tck为时钟周
期;
(2)执行读选通使能微调寄存器训练;
(3)查看读选通使能微调寄存器训练结果,是否存在满足写进去再读出来该数据组值正确条件的微调值若存在,则结束读选通使能寄存器最大值训练,将当前的读选通使能粗调寄存器值记为Temx,满足写进去读出来该数据组值正确的读选通使能微调寄存器值中的最大值为Tf max ;若不存在,进入步骤(4);
(4)将读选通使能粗调寄存器,减小粗调间隔T。,重复步骤(2)和步骤(3),直到有满足写进去读出来该数据组值正确条件的微调值出现;
所述读选通使能寄存器最小值训练的步骤如下
(1)读选通使能粗调寄存器,设为(CL-2)*Tcx,其中CL为列选通延时(CAS Latency),Tcx为时钟周期;
(2)执行读选通使能微调寄存器训练;
(3)查看读选通使能微调寄存器训练结果,是否存在满足写进去读出来该数据组值正确条件的微调值若存在,结束读选通使能寄存器最小值训练,将当前的读选通使能粗调寄存器值记为Tclmin,满足写进去读出来该数据组值正确的读选通使能微调寄存器值中的最小值为Tfmin ;若不存在,进入步骤(4);
(4)将读选通使能粗调寄存器,增大粗调间隔T。;重复步骤(2)和步骤(3),直到有满足写进去读出来该数据组值正确条件的微调值出现;
所述读选通使能微调寄存器训练的步骤如下
(1)将读选通使能微调寄存器,设置为读选通使能微调寄存器本身设置之后有效的最大值M ;
(2)内存控制器发出写操作;
(3)内存控制器再发出读操作,读取刚写进去的值;
(4)查看该数据组读取的值是否正确;(5)将读选通使能微调寄存器减小1,查看当前微调值大小,如果当前微调值大于或者等于0,再次执行步骤(2)至(4);如果当前微调值小于0,进入步骤(6);(6)统计出哪些微调值满足写进去读出来该数据组值正确这个条件,结束读选通使能微调寄存器训练;
步骤二 读选通使能粗调寄存器最终值的配置方法是,将满足读操作读取的数据正确的条件,读选通使能寄存器所能够配置的最大值与最小值求算术平均值作为最终值,即Te_[ (Tg—maX+Tf—Mx) + ( Tg min+ Tf_min) ] /2 ;
步骤三将以上公式进行相应转化为Te= (Tg max+Tg_min)/2+ (Tf max+ Tf—min)/2 ;将需要配置的读选通使能寄存器的最终值Te表示为读选通使能粗调寄存器最终值Tcje加上读选通使能微调寄存器的最终值Tfe,即Te =Tge +Tfe ;
步骤四,因此得到
Tge- (Tc—max+Tg—min) /2,Tfe- (Tf max+ TfJ1in) /2 ;
即读选通使能粗调寄存器的最终值,等于读选通使能寄存器最大值对应的粗调值I—与读选通使能寄存器最小值对应的粗调值Tcj min的算术平均值;读选通使能微调寄存器最终值,等于读选通使能寄存器最大值对应的微调值Tf max,与读选通使能寄存器最小值对应的微调值Tf min的算术平均值;
步骤五,完成该数据组读选通使能寄存器的配置,并按以上步骤完成内存通道上所有数据组的读选通使能寄存器的配置。进一步,所述粗调间隔T。的取值为读选通使能粗调寄存器的最小单元Tai的两倍,即Tc=2 T⑶。本发明方法通过巧妙地进行求和公式转化,避免了对读选通使能微调寄存器的最小单元的具体大小的知悉,而只需要将读选通使能粗调寄存器最终值Tffi通过读选通使能粗调寄存器唯一表示出来,读选通使能微调寄存器最终值Tfe通过读选通使能微调寄存器唯一表示出来。本方法与通行的读选通使能寄存器的配置方法不同的地方是,能够在不清楚读选通使能微调寄存器的最小单元的具体大小情况下完成读操作数据选通使能时机的配置。


图I是本发明方法的原理示意图。图2是读选通使能寄存器最大值训练示意图。图3是读选通使能寄存器最小值训练示意图。图4是读选通使能微调寄存器训练示意图。图5是粗调间隔Tc的取值方法。
具体实施例方式下面结合附图和实施例对本发明作进一步详细说明。本发明方法中读选通使能粗调寄存器最小单元记为Tai,读选通使能微调寄存器的最小单元记为TF(i。目前在双倍数据速率3(DDR3)内存控制器的寄存器设计中,每个数据组都有自己单独的读选通使能寄存器,用来控制读操作中数据选通信号(DQS)到达内存控制器之后,内存控制器使能读操作数据选通信号有效的时机。
根据固态技术协会(JEDEC)的定义,控制器使能读操作数据选通信号(DQS)有效的时机只要选在读准备(Read Preamble)过程中就可以了,可配置的宽度大于0. 9个时钟周期,该有效时机的范围似乎不小。但是随着内存频率的提高,时钟周期(Ta5)越来越小,而印制电路板(PCB)上的走线延时、芯片内部延时,与内存时钟周期(Tcx)的比例值越来越大,那么读选通使能时机的配置要求更精确。图I示出了本发明方法的原理。如图I所示,为了实现在不清楚读选通使能微调寄存器最小单元(Tfci)具体大小的情况下,完成对读选通使能时机寄存器的配置,本发明采用如下步骤
步骤一选定某一数据组,进行读选通使能寄存器最大值训练,得到满足读操作读取的数据正确的条件,读选通使能寄存器所能够配置的最大值对应的粗调值Temx及微调值Tf—MX ;进行读选通使能寄存器最小值训练,得到满足读操作读取的数据正确的条件,读选通使能寄存器所能够配置的最小值对应的粗调值Tclmin及微调值Tf min ;
步骤二 读选通使能粗调寄存器最终值的配置方法是,将满足读操作读取的数据正确的条件,读选通使能寄存器所能够配置的最大值与最小值求算术平均值,作为最终值,即Te_[ (Tg—maX+Tf—Mx) + ( Tg min+ Tf_min) ] /2 ;
由于读选通使能微调寄存器的最小单兀(Tro)的具体大小未知,则Tfjaj^P Tfjon的具体大小也未知,所以读选通使能寄存器所能够配置的最大值(Tcjm5^Tfmax)的具体大小不清楚,读选通使能寄存器所能够配置的最小值(Tclmin+ Tf min)的具体大小也不清楚。若按现有技术,则无法完成读操作数据选通使能时机的配置。步骤三将以上公式进行相应转化为Te= (TG MAX+TGJ(IN)/2+ (Tf max+ Tf min)/2 ;将需要配置的读选通使能寄存器的最终值(Te)表示为读选通使能粗调寄存器最终值(Tcje)加上读选通使能微调寄存器的最终值(Tfe)JP Te =Tge +Tfe;
步骤四,因此得到
Tge- (Tc—max+Tg—min) /2,Tfe- (Tf max+ TfJ1in) /2 ;
即读选通使能粗调寄存器的最终值,等于读选通使能寄存器最大值对应的粗调值I—与读选通使能寄存器最小值对应的粗调值Tcj min的算术平均值;读选通使能微调寄存器最终值,等于读选通使能寄存器最大值对应的微调值Tf max,与读选通使能寄存器最小值对应的微调值Tf min的算术平均值;
步骤五,完成该数据组读选通使能寄存器的配置,并按以上步骤完成内存通道上所有数据组的读选通使能寄存器的配置。本发明方法中,共提及3个训练,分别是读选通使能寄存器最大值训练、读选通使能寄存器最小值训练、读选通使能微调寄存器训练。其中读选通使能寄存器最大值训练和读选通使能寄存器最小值训练是为了找到该数据组,能够满足读操作读取的数据正确条件,读选通使能寄存器所能够配置的最大值及最小值;读选通使能微调寄存器训练是为了辅助完成读选通使能寄存器最大值训练和读选通使能寄存器最小值训练而做的训练。图2示出了读选通使能寄存器最大值训练方法及过程。如图2所示,本发明方法的读选通使能寄存器最大值训练的步骤如下
(I)将读选通使能粗调寄存器,设为(CL+3)* Ta5,其中CL为列选通延时(CASLatency), Tck为时钟周期;(2)执行读选通使能微调寄存器训练;
(3)查看读选通使能微调寄存器训练结果,是否存在满足写进去再读出来该数据组值正确条件的微调值若存在,则结束读选通使能寄存器最大值训练,将当前的读选通使能粗调寄存器值记为Temx,满足写进去读出来该数据组值正确的读选通使能微调寄存器值中的最大值为Tf max ;若不存在,进入步骤(4);
(4)将读选通使能粗调寄存器,减小粗调间隔T。,重复步骤(2)和步骤(3),直到有满足写进去读出来该数据组值正确条件的微调值出现。通过读选通使能寄存器最大值 训练,可以得到满足读操作读取的数据正确为条件的,读选通使能寄存器的最大值。读选通使能寄存器的最大值包括对应的读选通使能粗调寄存器值Tcj max及读选通使能微调寄存器值TF—mx。在读选通使能寄存器最大值训练中,读选通使能粗调寄存器的初始值设置为(CL+3)* Tcx,主要是考虑读操作数据选通使能时机从发出读命令开始计时。而读命令需要从内存控制器传输到内存芯片,然后内存芯片等待(CL-I)个时钟周期(Tcx)大小左右之后才开始输出数据选通信号,然后数据选通信号再从内存芯片传输到内存控制器。考虑印制电路板上的走线延时及芯片内部延时与时钟周期的关系,因此最好将读选通使能粗调寄存器的初始值设为(CL+3)* Tcko图3示出了读选通使能寄存器最小值训练方法及过程。如图3所示,本发明方法的读选通使能寄存器最小值训练的步骤如下
(1)读选通使能粗调寄存器,设为(CL-2)*Tcx,其中CL为列选通延时(CAS Latency),Tcx为时钟周期;
(2)执行读选通使能微调寄存器训练;
(3)查看读选通使能微调寄存器训练结果,是否存在满足写进去读出来该数据组值正确条件的微调值若存在,结束读选通使能寄存器最小值训练,将当前的读选通使能粗调寄存器值记为Tclmin,满足写进去读出来该数据组值正确的读选通使能微调寄存器值中的最小值为Tfmin ;若不存在,进入步骤(4);
(4)将读选通使能粗调寄存器,增大粗调间隔T。;重复步骤(2)和步骤(3),直到有满足写进去读出来该数据组值正确条件的微调值出现。通过读选通使能寄存器最小值训练,可以得到满足读操作读取的数据正确为条件的,读选通使能寄存器最小值。读选通使能寄存器最小值包括对应的读选通使能粗调寄存器值Tcj min及读选通使能微调寄存器值TF—MIN。在读选通使能寄存器最小值训练中,读选通使能粗调寄存器的初始值设置为(CL-2)* Tcx,也是考虑读操作数据选通使能时机从发出读命令到内存芯片输出的DQS到达内存控制器,至少需要(CL-1)个时钟周期(Tcx)大小左右的时间,因此最好将读选通使能粗调寄存器的初始值设置为(CL-2)* Tcko图4是读选通使能微调寄存器训练示意图。如图4所示,读选通使能寄存器最大值训练及读选通使能寄存器最小值训练中均有应用到读选通使能微调寄存器训练。本发明方法的读选通使能微调寄存器训练的步骤如下
(I)将读选通使能微调寄存器,设置为最大有效值M ;(2)内存控制器发出写操作;
(3)内存控制器再发出读操作,读取刚写进去的值;
(4)查看该数据组读取的值是否正确;
(5)将读选通使能微调寄存器减小1,查看当前微调值大小,如果当前微调值大于或者等于O,再次执行步骤(2)至(4);如果当前微调值小于O,进入步骤(6);
(6)统计出哪些微调值满足写进去读出来该数据组值正确这个条件,结束读选通使能微调寄存器训练。读选通使能微调寄存器训练中,最大有效值M指的是读选通使能微调寄存器这个 寄存器本身设置之后有效的最大值。读选通使能微调寄存器训练,需要针对读选通使能微调寄存器做从最大值到最小值的全程训练。图5示出了粗调间隔Tc的取值方法。如图5所示,该发明方法中粗调间隔T。,取值为读选通使能粗调寄存器的最小单元(Tgo)的两倍。宗旨就是读选通使能寄存器最大值和读选通使能寄存器最小值对应的两个粗调值,算术平均之后,Tffi (Tge= (Tcj m5^Tcj min)/2)还能够通过读选通使能粗调寄存器唯一表示出来。假设读选通使能粗调寄存器的最小单元(Tai)为0.5 Tcx,那么Te=I Tcx;假设读选通使能粗调寄存器的最小单元(Tai)为0.25 Ta5,那么Te=O. 5 Tcko读操作数据选通使能时机微调寄存器最终值Tfe= (Tf max+ Tf—min)/2,读选通使能寄存器最大值和读选通使能寄存器最小值对应的两个粗调值,算术平均之后,通过读选通使能粗调寄存器唯一表示出来没有问题。正是Tcje及Tfe,能通过读选通使能寄存器唯一表示出来,让不清楚读选通使能微调寄存器最小单元(Tfci)的情况下依然能完成读选通使能时机的配置。
权利要求
1. 一种内存读操作数据选通使能时机的配置方法,其特征在于,包括如下步骤步骤一选定某一数据组,进行读选通使能寄存器最大值训练,得到满足读操作读取的 数据正确的条件,读选通使能寄存器所能够配置的最大值对应的粗调值I,及微调值Tf— 进行读选通使能寄存器最小值训练,得到满足读操作读取的数据正确的条件,读选通使 能寄存器所能够配置的最小值对应的粗调值MIN及微调值TF—MIN ;所述读选通使能寄存器最大值训练的步骤如下(1)将读选通使能粗调寄存器,设为(CL+3)* ,其中CL为列选通延时,Tck为时钟周期;(2)执行读选通使能微调寄存器训练;(3)查看读选通使能微调寄存器训练结果,是否存在满足写进去再读出来该数据组值 正确条件的微调值若存在,则结束读选通使能寄存器最大值训练,将当前的读选通使能粗 调寄存器值记为I,,满足写进去读出来该数据组值正确的读选通使能微调寄存器值中的 最大值为TF—MX ;若不存在,进入步骤(4);(4)将读选通使能粗调寄存器,减小粗调间隔T。,重复步骤(2)和步骤(3),直到有满足 写进去读出来该数据组值正确条件的微调值出现;所述读选通使能寄存器最小值训练的步骤如下(1)读选通使能粗调寄存器,设为(CL-2)*,其中CL为列选通延时(CAS Latency), la为时钟周期;(2)执行读选通使能微调寄存器训练;(3)查看读选通使能微调寄存器训练结果,是否存在满足写进去读出来该数据组值正 确条件的微调值若存在,结束读选通使能寄存器最小值训练,将当前的读选通使能粗调寄 存器值记为,满足写进去读出来该数据组值正确的读选通使能微调寄存器值中的最小 值为TF—MIN ;若不存在,进入步骤(4);(4)将读选通使能粗调寄存器,增大粗调间隔T。;重复步骤(2)和步骤(3),直到有满足 写进去读出来该数据组值正确条件的微调值出现;所述读选通使能微调寄存器训练的步骤如下(1)将读选通使能微调寄存器,设置为读选通使能微调寄存器本身设置之后有效的最 大值M ;(2)内存控制器发出写操作;(3)内存控制器再发出读操作,读取刚写进去的值;(4)查看该数据组读取的值是否正确;(5)将读选通使能微调寄存器减小1,查看当前微调值大小,如果当前微调值大于或者 等于0,再次执行步骤(2)至(4);如果当前微调值小于0,进入步骤(6);(6)统计出哪些微调值满足写进去读出来该数据组值正确这个条件,结束读选通使能 微调寄存器训练;步骤二 读选通使能粗调寄存器最终值的配置方法是,将满足读操作读取的数据正 确的条件,读选通使能寄存器所能够配置的最大值与最小值求算术平均值作为最终值,即 Te_[ (Tg—maX+Tf—Mx) + (TG—MIN+ Tf—min)]/2;步骤三将以上公式进行相应转化为Te= (Tg max+Tg_min)/2+ (Tf max+ Tf—min)/2 ;将需要配置的读选通使能寄存器的最终值Te表示为读选通使能粗调寄存器最终值Ta加上读选通使 能微调寄存器的最终值Tfe,即Te =Tge +Tfe ;步骤四,因此得到TgE_ (Tg—MAX+Tg—MIN) /2,Tfe- (Tf—mx+ Tf—min) /2 ;即读选通使能粗调寄存器的最终值,等于读选通使能寄存器最大值对应的粗调值I— 与读选通使能寄存器最小值对应的粗调值的算术平均值;读选通使能微调寄存器 最终值,等于读选通使能寄存器最大值对应的微调值TF—MX,与读选通使能寄存器最小值对 应的微调值TF—MIN的算术平均值;步骤五,完成该数据组读选通使能寄存器的配置,并按以上步骤完成内存通道上所有 数据组的读选通使能寄存器的配置。
2.根据权利要求1所述的方法,其特征是所述粗调间隔T。的取值为读选通使能粗调寄 存器的最小单元I 的两倍,即Tc=2 Te(l。
全文摘要
本发明公开了一种内存读操作数据选通使能时机的配置方法,主要步骤为选定某一数据组,进行读选通使能寄存器最大值训练和最小值训练,得到读选通使能寄存器所能够配置的最大值与最小值;将前面得到的两个值求算术平均值,作为需要配置的读选通使能寄存器最终值;进行公式转换,得到读选通使能粗调寄存器的最终值,等于读选通使能寄存器最大值对应的粗调值与最小值对应的粗调值的算术平均值;读选通使能微调寄存器最终值,等于读选通使能寄存器最大值对应的微调值与最小值对应的微调值的算术平均值。本发明避免了对读选通使能微调寄存器的最小单元值的知悉,能够在读选通使能微调寄存器的最小单元未知的情况下完成读操作数据选通使能时机的配置。
文档编号G11C7/22GK102664039SQ20121013881
公开日2012年9月12日 申请日期2012年5月7日 优先权日2012年5月7日
发明者吴少刚, 周国强, 张斌, 张福新, 钱宇力 申请人:江苏中科梦兰电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1