一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种高速内存训练的方法和系统与流程

2022-06-02 10:47:55 来源:中国专利 TAG:


1.本发明涉及高速内存训练的领域,尤其涉及一种高速内存训练的方法和系统。


背景技术:

2.随着各种电子产品对内存(sdram)的容量和带宽需求的不断增加,对内存的访问速度要求也越来越高,内存的速度及其稳定性成为消费类电子产品的重要指标。
3.由于内存的工作频率高,总线位宽(包括数据总线,地址总线,命令总线)也比较宽,封装工艺的差异,pcb走线差异,外部环境例如温度、电压的差异对内存信号的延迟时间都会造成影响。因此内存控制器内部都会有针对内存总线信号的一些参数配置,并且这些参数配置需要配置到一个合适的最佳值才能够保证内存系统的稳定性。当环境不同,走线不同,封装工艺不同,这个参数的最佳值也会不同。内存训练就是要找到这个参数最佳值。
4.但现有技术在高速内存训练过程中往往会严格要求外部信号的延迟时间的时间等长,不利于高速内存系统对于芯片后端以及pcb版图的实现。


技术实现要素:

5.针对现有技术中的不足,本发明提供一种高速内存训练的方法和系统,本发明先让内存系统工作在相对较低的频率,在低频率下进行内存的初始化以及内存参数训练。低频率的内存参数训练完成以后,根据训练的结果,计算出满足总线等长所需要对每根信号做补偿的延迟时间。将计算后的补偿延迟时间作为高速内存训练的初始值。然后内存系统调到高速模式进行内存初始化,并根据初始值进行内存训练,得到高速情况下的最佳值,本发明可以降低对外部信号的延迟时间等长的要求,从而降低高速内存系统对于芯片后端以及pcb版图的实现难度。可以降低高速内存训练算法的复杂度,从而降低芯片的成本。
6.为实现上述目的,本发明可以由以下技术方案实现:
7.一种高速内存训练的方法,其包括:
8.在第一传输速度的频点下完成硬件的参数训练过程,获得第一传输速度下的参数结果;
9.根据第一传输速度下的参数结果获得第二传输速度下的参数初始值,其中,所述第二传输速度高于所述第一传输速度;
10.根据第二传输速度下的参数初始值完成第二传输速度的频点下的硬件的参数训练过程。
11.如上所述的高速内存训练的方法,进一步地,在第一传输速度的频点下完成硬件的参数训练过程,包括:完成对ca总线内存参数训练、和/或完成对数据总线读相关参数的训练、和/或完成对数据总线写相关参数的训练。
12.如上所述的高速内存训练的方法,进一步地,所述参数初始值包括补偿地址总线和数据总线等长所需要的延迟时间。
13.如上所述的高速内存训练的方法,进一步地,第二传输速度下的参数初始值,包
括:ca总线实现等长所需要补偿的延迟时间、和/或数据总线读实现等长所需要补偿的延迟时间、和/或数据总线写实现等长所需要补偿的延迟时间。
14.如上所述的高速内存训练的方法,进一步地,第二传输速度的频点下的硬件的参数训练过程包括:根据补偿后的值完成对ca总线内存参数训练、和/或根据补偿后的值完成对数据总线读相关参数的训练、和/或根据补偿后的值完成对数据总线写相关参数的训练。
15.如上所述的高速内存训练的方法,进一步地,所述参数训练过程的参数包括内存地址总线参数和数据总线参数。
16.一种高速内存训练的系统,其特征在于,包括:
17.中央处理器,
18.内存控制器,其接受所述中央处理器的配置指令,用于完成以下工作:
19.在第一传输速度的频点下完成硬件的参数训练过程,获得第一传输速度下的参数结果;
20.根据第一传输速度下的参数结果获得第二传输速度下的参数初始值,其中,所述第二传输速度高于所述第一传输速度;
21.根据第二传输速度下的参数初始值完成第二传输速度的频点下的硬件的参数训练过程。
22.如上所述的高速内存训练的系统,进一步地,所述内存控制器包括:phy模块、命令转换模块、初始化模块、参数训练模块和初始参数计算模块,phy模块包括数据收发模块、延迟模块和io模块,其中,
23.所述初始化模块用于发送初始化指令给内存控制器外部的sdram芯片;
24.所述参数训练模块用于训练所述延迟模块所需要的参数;
25.所述参数训练模块用于对ca总线的训练,和/或数据总线读功能的训练,和/或数据总线写功能的训练,在每个训练结束后都会计算出对应延迟参数的最优值,将所述最优值发送给所述延迟模块;
26.所述命令转换模块用于将所述初始化模块和所述参数训练模块发出的指令按设定的协议要求以及设定的时序的发送到phy模块中的数据收发模块;
27.phy模块中的数据收发模块用于ca的发送,数据dq的发送和数据dq的接收;
28.延迟模块用于根据配置的参数,对收发的信号做一定的延迟,然后送给io模块,以及,对从io模块接收的信号进行延迟后发送至数据收发模块;
29.初始参数计算模块用于根据低频参数训练的结果,计算出补偿地址总线和数据总线实现等长所需要的延迟时间。
30.如上所述的高速内存训练的系统,进一步地,所述内存的类型包括:ddr1、或ddr2、或ddr3、或ddr4、或lpddr、或lpddr2、或lpddr3、或lpddr4。
31.如上所述的高速内存训练的系统,进一步地,所述第二传输速度包括:lpddr4-3200mbps、或ddr4-3200mbps、或ddr3-2133mbps、或lpddr3-2133mbps。
32.本发明与现有技术相比,其有益效果在于:本发明可以降低对外部信号的延迟时间等长的要求,从而降低高速内存系统对于芯片后端以及pcb版图的实现难度。可以降低高速内存训练算法的复杂度,从而降低芯片的成本。
附图说明
33.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图进行简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1是发送端发送的ck/dqs同ca bus/dq bus的关系图;
35.图2是接收端希望收到的ck/dqs同ca bus/dq bus的关系图;
36.图3是接收端实际收到的ck/dqs同ca bus/dq bus的关系图(参数训练前);
37.图4是接收端实际收到的ck/dqs同ca bus/dq bus的关系图(参数训练后);
38.图5是高频率下接收端实际收到的ck/dqs同ca bus/dq bus的关系(参数训练前)
39.图6是本发明实施例的系统框图;
40.图7是本发明实施例的实施方法流程图;
41.图8是补偿完延迟时间后高频率下接收端实际收到的ck/dqs同ca bus/dq bus的关系图(参数训练前)。
具体实施方式
42.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.实施例:
44.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
45.为更好展现本发明的技术构思以及阐述清楚本发明改进之处,现对本发明所面对的技术难点进行阐明:
46.内存训练就是要找到内存控制器参数最佳值。例如图1是发送端理论上发出的ck/dqs同ca总线/dq总线的关系图,这里ck和dqs都是差分信号,上下沿双沿采样。发送端发出的时候,ck/dqs同ca总线/dq总线的关系是同相位的。图2是接收端理论上希望收到的ck/dqs同ca总线/dq总线的关系图,这里ck和dqs都是差分信号,上下沿双沿采样。为了更加稳定地收到数据,接收端希望ck/dqs同ca总线/dq总线的关系是90度相位关系。理想情况下,ck/dqs或者ca总线/dq总线只需要做一个90度相位关系的调整。但实际上,在经过了io,pcb以后,由于各种外部环境的影响,每一根信号都有一定的延迟,经过各种延迟以后,接收端收到的信号如图3所示。图3中tskew代表总线信号的延迟时间绝对偏移,再加上实际信号还会有斜率的影响,实际的眼图为teye。因此内存控制器会通过一些参数来调整信号的延迟
时间,调整总线信号的眼图,以及ck/dqs同ca总线/dq总线的相位。内存训练就是通过训练找到最佳的参数值,实现最大的眼图和最小的绝对延迟差值。经过内存参数训练调整以后,接收端实际收到的ck/dqs同ca总线/dq总线的关系如图4所示。
47.内存训练可以是软件训练,也可以是硬件训练。硬件训练可以提高训练的速度。但是无论软件训练还是硬件训练,都需要外部信号的延迟时间(芯片内部的信号延迟时间加上外部pcb板的延迟时间)尽量做到等长,或者总线信号延迟时间绝对偏移tskew在一定范围之内。这个范围通常与工作频率相关,如果内存工作频率不高,对绝对偏移的要求可以大一些,在内存速度比较高的情况下,对绝对偏移的要求就会比较小。
48.如图5所示,在高频率情况下,tskew的值相对于低频率情况下相对于一个ck/dqs周期的占比会比较高,内存训练在高速情况下如果要训练成功,得到最佳值,往往需要提高对绝对偏移的要求,要求总线做到等长,并且需要提高内存训练算法的复杂度,从而得到最佳的参数值,保证内存在高频率的情况下能够稳定工作。
49.在内存工作在高速的情况下,并且总线信号没有做到等长的情况下。直接通过高速的内存训练很难训练成果,得到参数的最佳值。这种情况下,系统就需要另外一种间接的训练模式。即先让内存系统工作在相对较低的频率,例如目标速度的40%~60%。在低频率下进行内存的初始化以及内存训练。低频率的内存训练完成以后,根据训练的结果,计算出如果做到总线等长,需要对每根信号补偿的延迟时间。将计算后的补偿延迟时间作为高速内存训练的初始值。然后内存系统调到高速模式进行内存初始化,并根据补偿后的初始值进行内存训练,得到高速情况下的最佳值。
50.参见图6-8,本发明提供一种高速内存训练的方法和系统,本发明先让内存系统工作在相对较低的频率,在低频率下进行内存的初始化以及内存参数训练。低频率的内存参数训练完成以后,根据训练的结果,计算出满足总线等长所需要对每根信号做补偿的延迟时间。将计算后的补偿延迟时间作为高速内存训练的初始值。然后内存系统调到高速模式进行内存初始化,并根据初始值进行内存训练,得到高速情况下的最佳值,本发明可以降低对外部信号的延迟时间等长的要求,从而降低高速内存系统对于芯片后端以及pcb版图的实现难度。可以降低高速内存训练算法的复杂度,从而降低芯片的成本。
51.一种高速内存训练的方法,其可以包括以下步骤:
52.步骤101:在第一传输速度的频点下完成硬件的参数训练过程,获得第一传输速度下的参数结果;
53.步骤102:根据第一传输速度下的参数结果获得第二传输速度下的参数初始值,其中,所述第二传输速度高于所述第一传输速度。示例性的,第一传输速度亦可称为低速或相对低速,第二传输速度称为高速或相对高速,其中,所述低速是指相对于当前系统实现的最高速度低的一个相对中间的速度,但不局限于某一个范围的低速,也不局限于某一个固定的速度。
54.步骤103:根据第二传输速度下的参数初始值完成第二传输速度的频点下的硬件的参数训练过程。
55.作为一种可选的实施方式,在某些实施例中,一种高速内存训练的方法,其可以包括以下步骤:
56.步骤201:在第一传输速度的频点下完成硬件的参数训练过程,获得第一传输速度
下的参数结果;其中,在第一传输速度的频点下完成硬件的参数训练过程,包括:完成对ca总线内存参数训练、和/或完成对数据总线读相关参数的训练、和/或完成对数据总线写相关参数的训练。
57.步骤202:根据第一传输速度下的参数结果获得第二传输速度下的参数初始值,其中,所述第二传输速度高于所述第一传输速度。示例性的,第一传输速度亦可称为低速或相对低速,第二传输速度称为高速或相对高速,其中,所述低速是指相对于当前系统实现的最高速度低的一个相对中间的速度,但不局限于某一个范围的低速,也不局限于某一个固定的速度。
58.步骤203:根据第二传输速度下的参数初始值完成第二传输速度的频点下的硬件的参数训练过程。
59.作为一种可选的实施方式,在某些实施例中,一种高速内存训练的方法,其可以包括以下步骤:
60.步骤301:在第一传输速度的频点下完成硬件的参数训练过程,获得第一传输速度下的参数结果;其中,在第一传输速度的频点下完成硬件的参数训练过程,包括:完成对ca总线内存参数训练、和/或完成对数据总线读相关参数的训练、和/或完成对数据总线写相关参数的训练。
61.步骤302:根据第一传输速度下的参数结果获得第二传输速度下的参数初始值,其中,所述第二传输速度高于所述第一传输速度。示例性的,第一传输速度亦可称为低速或相对低速,第二传输速度称为高速或相对高速,其中,所述低速是指相对于当前系统实现的最高速度低的一个相对中间的速度,但不局限于某一个范围的低速,也不局限于某一个固定的速度。所述参数初始值包括补偿地址总线和数据总线等长所需要的延迟时间。
62.步骤303:根据第二传输速度下的参数初始值完成第二传输速度的频点下的硬件的参数训练过程。
63.作为一种可选的实施方式,在某些实施例中,一种高速内存训练的方法,其可以包括以下步骤:
64.步骤401:在第一传输速度的频点下完成硬件的参数训练过程,获得第一传输速度下的参数结果;其中,在第一传输速度的频点下完成硬件的参数训练过程,包括:完成对ca总线内存参数训练、和/或完成对数据总线读相关参数的训练、和/或完成对数据总线写相关参数的训练。
65.步骤402:根据第一传输速度下的参数结果获得第二传输速度下的参数初始值,其中,所述第二传输速度高于所述第一传输速度。示例性的,第一传输速度亦可称为低速或相对低速,第二传输速度称为高速或相对高速,其中,所述低速是指相对于当前系统实现的最高速度低的一个相对中间的速度,但不局限于某一个范围的低速,也不局限于某一个固定的速度。所述参数初始值包括补偿地址总线和数据总线等长所需要的延迟时间,进一步地,第二传输速度下的参数初始值,包括:ca总线实现等长所需要补偿的延迟时间、和/或数据总线读实现等长所需要补偿的延迟时间、和/或数据总线写实现等长所需要补偿的延迟时间。
66.步骤403:根据第二传输速度下的参数初始值完成第二传输速度的频点下的硬件的参数训练过程。
67.作为一种可选的实施方式,在某些实施例中,一种高速内存训练的方法,其可以包括以下步骤:
68.步骤501:在第一传输速度的频点下完成硬件的参数训练过程,获得第一传输速度下的参数结果;其中,在第一传输速度的频点下完成硬件的参数训练过程,包括:完成对ca总线内存参数训练、和/或完成对数据总线读相关参数的训练、和/或完成对数据总线写相关参数的训练。
69.步骤502:根据第一传输速度下的参数结果获得第二传输速度下的参数初始值,其中,所述第二传输速度高于所述第一传输速度。示例性的,第一传输速度亦可称为低速或相对低速,第二传输速度称为高速或相对高速,其中,所述低速是指相对于当前系统实现的最高速度低的一个相对中间的速度,但不局限于某一个范围的低速,也不局限于某一个固定的速度。所述参数初始值包括补偿地址总线和数据总线等长所需要的延迟时间,进一步地,第二传输速度下的参数初始值,包括:ca总线实现等长所需要补偿的延迟时间、和/或数据总线读实现等长所需要补偿的延迟时间、和/或数据总线写实现等长所需要补偿的延迟时间。
70.步骤503:根据第二传输速度下的参数初始值完成第二传输速度的频点下的硬件的参数训练过程。其中,第二传输速度的频点下的硬件的参数训练过程包括:根据补偿后的值完成对ca总线内存参数训练、和/或根据补偿后的值完成对数据总线读相关参数的训练、和/或根据补偿后的值完成对数据总线写相关参数的训练。
71.本发明的实施系统如图6所示,
72.该系统由三大模块组成:中央处理器(cpu)601,内存控制器602和sdram芯片603。
73.中央处理器(cpu)601用来配置内存控制器602。
74.sdram芯片603是外部的内存芯片。
75.内存控制器602内部包含了初始化模块604、参数训练模块605、初始参数计算模块606、命令转换模块607和phy模块608。phy模块608又包含了数据收发模块609、延迟模块610和io模块611。
76.初始化模块604负责发送初始化外部的sdram芯片603相关的命令。参数训练模块605负责训练延迟模块610所需要的参数。参数训练模块605包含了ca总线的训练,数据总线读功能的训练,数据总线写功能的训练。每个训练结束后都会计算出对应延迟参数的最优值。将最优值送给延迟模块610。
77.命令转换模块607会将初始化模块604和参数训练模块605发出的命令按照jedec的协议要求,按照规定的时序,发送到phy模块608的数据收发模块609。phy模块608内部的数据收发模块609主要包含了ca的发送,数据dq的发送和数据dq的接收。延迟模块610包含了ca总线各自对应的的延迟模块,读数据总线dqs和dq的各自对应的延迟模块和写数据总线dqs和dq各自对应的的延迟模块。这些延迟模块会根据配置的参数,对收发的信号做一定的延迟,然后送给io。或者从io收到的信号做一定的延迟然后送给数据收发模块。
78.初始参数计算模块606会根据低频参数训练的结果,计算出补偿地址总线和数据总线做到等长所需要的延迟时间。如果没有这个模块也可以通过软件读取低频参数训练的结果,然后计算出补偿地址总线和数据总线做到等长所需要的延迟时间。将需要补偿的延迟时间配置到内存控制器中。
79.作为一种可选的实施方式,在某些实施例中,所述内存的类型包括:ddr1、或ddr2、或ddr3、或ddr4、或lpddr、或lpddr2、或lpddr3、或lpddr4。
80.作为一种可选的实施方式,在某些实施例中,所述第二传输速度包括:lpddr4-3200mbps、或ddr4-3200mbps、或ddr3-2133mbps、或lpddr3-2133mbps。
81.参见图7,作为一种可选的实施方式,在某些实施例中,一种高速内存训练的方法可以包括以下步骤:
82.步骤701、ddrc系统工作在低频率下,根据配置对内存进行初始化,然后进入到训练模块,开始准备对参数进行训练。
83.步骤702、在低频下,完成对ca总线内存参数训练。ca总线内存参数训练并不是所有的颗粒类型都需要,例如lpddr3和lpddr4需要对ca总线进行训练,其他颗粒类型不需要。
84.步骤703、在低频下,完成对数据总线读相关参数的训练。
85.步骤704、在低频下,完成对数据总线写相关参数的训练。
86.步骤705、根据ca总线训练结果,计算出ca总线做到等长所需要补偿的延迟时间。
87.步骤706、根据数据总线读相关参数的训练结果,计算出读相关数据线(包括rdq,rdqs/rdqsn,rdbi)等长需要补偿的延迟时间。
88.步骤707、根据数据总线写相关参数的训练结果,计算出写相关数据线(包括wdq,wdqs/wdqsn,wdmi/wdbi)等长需要补偿的延迟时间。
89.步骤705~步骤707可以硬件并行完成,也可以通过软件来串行完成。
90.步骤708、将步骤705~步骤707计算后的补偿延迟时间写入延迟寄存器相对应的位置。
91.步骤709、ddrc系统切换到高频率下工作,根据配置对内存在高频下进行初始化,然后进入到训练模块,开始准备对参数进行训练。
92.如图8所示,在高频率情况下,完成低频参数补偿到高频后,tskew跟补偿前相比,大大减少,可以确保高频下的参数训练成功。
93.步骤710、在高频下,根据补偿后的值完成对ca总线内存参数训练。
94.步骤711、在高频下,根据补偿后的值完成对数据总线读相关参数的训练。
95.步骤712、在高频下,根据补偿后的值完成对数据总线写相关参数的训练。
96.步骤713、高频训练完成,可以进入正常的工作模式,其他模块可以正常读写ddr。
97.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
98.上述实施例只是为了说明本发明的技术构思及特点,其目的是在于让本领域内的普通技术人员能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡是根据本发明内容的实质所做出的等效的变化或修饰,都应涵盖在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献