DDR控制参数的优化方法及装置与流程

文档序号:12274105阅读:335来源:国知局
DDR控制参数的优化方法及装置与流程

本发明实施例涉及DDR技术领域,尤其涉及一种DDR控制参数的优化方法及装置。



背景技术:

双倍速率同步动态随机存储器DDR一般在应用时,需要配置很多控制参数,这些控制参数决定了DDR的读写速度、稳定性、功耗等性能指标,因此对这些控制参数的调试和优化就变得尤其重要。

目前,有些厂商提供的DDR本身就有内部硬件电路可以自动找出最优的控制参数并自动配置,但是有些厂商的DDR就没有这种硬件电路,而是在这些DDR出厂时就依靠经验对控制参数进行了设置,这种DDR不一定适用于所有的应用环境,因此,如何配置这些DDR的控制参数就成为了寇待解决的问题。



技术实现要素:

本发明实施例提供一种DDR控制参数的优化方法及装置,用以实现DDR控制参数的优化配置。

本发明实施例第一方面提供一种DDR控制参数的优化方法,该方法包括:

在DDR中定义一个验证参数,并为所述验证参数赋值;

从所述DDR中读取DDR控制参数的值;

根据所述DDR控制参数的值和预设算法,重新配置所述DDR控制参数的值;

从所述DDR中读取所述验证参数的值,并判断所述验证参数的值是否改变;

若否,则执行根据所述DDR控制参数的值和预设算法,重新配置所述DDR控制参数的取值的步骤;若是,则保存所述重新配置后的DDR控制参数的值,并重新启动所述DDR,执行所述从DDR中读取DDR控制参数的值的步骤,直至预设次数后停止;

根据所述预设次数后保存的DDR控制参数的各个值,确定所述DDR控制参数的取值范围;

根据所述DDR控制参数的取值范围,确定所述DDR控制参数的最优值。

本发明实施例第二方面提供一种DDR控制参数的优化装置,该装置包括:

定义模块、读取模块、配置模块、判断模块、保存模块、范围确定模块以及最优值确定模块:

所述定义模块用于在DDR中定义一个验证参数,并为所述验证参数赋值;

所述读取模块用于从所述DDR中读取DDR控制参数的值;

所述配置模块用于根据所述DDR控制参数的值和预设算法,重新配置所述DDR控制参数的值;

所述判断模块用于从所述DDR中读取所述验证参数的值,并判断所述验证参数的值是否改变,以及在否的情况下调用所述配置模块,在是的情况下调用所述保存模块;

所述保存模块用于保存所述重新配置后的DDR控制参数的值,并重新启动所述DDR,以及调用所述读取模块,直至预设次数后停止;

所述范围确定模块用于根据所述预设次数后保存的DDR控制参数的各个值,确定所述DDR控制参数的取值范围;

所述最优值确定模块用于根据所述DDR控制参数的取值范围,确定所述DDR控制参数的最优值。

本发明实施例,根据DDR读写过程受到控制参数影响的这个特性,通过预先在DDR中定义一个验证参数,然后再在控制参数的不同取值下,对验证参数的值进行读写,并在验证参数的值发生变化即读写过程发生错误时获取控制参数的多个取值,从而根据该些取值即可获得DDR读写正常时,控制参数的取值范围。进而将该取值范围中的最优值配置给控制参数即可实现控制参数的优化,从而有效的解决了DDR控制参数的经验值不够准确,而现有技术又无法对其进行优化配置的问题。提高了DDR的可靠性和使用体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的DDR控制参数的优化方法的流程示意图;

图2为本发明一实施例提供的DDR控制参数的优化装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤的过程或结构的装置不必限于清楚地列出的那些结构或步骤而是可包括没有清楚地列出的或对于这些过程或装置固有的其它步骤或结构。

图1为本发明一实施例提供的DDR控制参数的优化方法的流程示意图,该方法可以由一DDR控制参数的优化装置来执行。如图1所示,本实施例提供的方法包括如下步骤:

步骤S101、在DDR中定义一个验证参数,并为所述验证参数赋值。

实际应用中,在对DDR控制参数进行优化前,需要先在DDR中定义一个验证参数,该验证参数的值用于判断DDR控制参数的准确性。特别的,在本实施例中,该验证参数的值可以是随机赋予的,且定义验证参数的方法与现有技术类似,在这里不再赘述。

步骤S102、从所述DDR中读取DDR控制参数的值。

实际应用中,DDR的控制参数包括读控制参数和写控制参数,其中,读控制参数包括RDQS0、RDQS1、RDQS2、RDQS3、ICLK。写控制参数包括WDQS0、WDQS1、WDQS2、WDQS3、OCLK。本实施例中优化的对象可以是DDR控制参数中的读控制参数和/或写控制参数。并且,在进行参数优化之前,DDR中存储有读控制参数的值和/或写控制参数的值,示例的,该读控制参数的值和/或写控制参数的值可以是生产厂商根据经验设定的经验值。且该经验值不能适用于所有的应用场景。当然此处仅为示例说明,而不是对本发明的唯一限定。

以读控制参数为例,在DDR中,读控制参数中的RDQS0、RDQS1和ICLK存储在一个32位的地址中,而RDQS2和RDQS3存储在另一个32位的地址中。当对DDR的读控制参数进行优化时,需要从这两个32位的地址中读取读控制参数的值。写控制参数的获取方法与读控制参数类似,在这里不再赘述。

步骤S103、根据所述DDR控制参数的值和预设算法,重新配置所述DDR控制参数的值。

本实施例中预设算法可以通过软件来实现。仍以读控制参数为例,假设RDQS0、RDQS1和ICLK存储在第一地址中。RDQS2、RDQS3存储在第二地址中,则可以将非负整数i和j的范围作为循环条件,在循环中通过如下算法实现对DDR中读控制参数的重新配置:

RDQS01_value=(RDQS01_value&0x00FFFF00)+(j<<24)+(i<<4)+i

RDQS23_value=(RDQS23_value&0x00FFFFFF)+(i<<28)+(i<<24)其中,左起第一个RDQS01_value为重新配置后第一地址中的值。左起第二个RDQS01_value为重新配置之前,第一地址中存储的值,当初次执行此算法时,左起第二个RDQS01_value的值为在步骤S102中获取到的第一地址中的值。左起第一个RDQS23_value为重新配置后第二地址中的值。左起第二个RDQS23_value为重新配置之前,第二地址中存储的值,当初次执行此算法时,左起第二个RDQS23_value的值为在步骤S102中获取到的第二地址中的值。i,j为随机获取的两个值。当然这里仅是示例说明并不是对本发明的唯一限定。

步骤S104、从所述DDR中读取所述验证参数的值,并判断所述验证参数的值是否改变,若否,则继续步骤S103,若是,则执行步骤S105。

步骤S105、保存所述重新配置后的DDR控制参数的值,并确定保存DDR控制参数值的次数是否超过预设次数,若否,则重新启动所述DDR,并跳转到步骤S102,若是,执行步骤S106。

仍以读控制参数为例,假设验证参数的值为c,当步骤S103中完成对读控制参数的重新配置后,从预先定义的验证参数中读取数值,并将读取的数值与c进行对比,确定二者是否一致,若不一致,则说明DDR的读写过程发生错误,此时读控制参数的值已经接近DDR性能要求的边界值,记录此时读控制参数的值,以作为确定读控制参数取值范围的参考,并重新启动DDR,从步骤S101开始执行。而当二者一致时,则说明DDR的读写过程正确,此时读控制参数的值并没有达到DDR性能要求的临界值。此时继续执行步骤S104,直至记录获取预设个数的读控制参数的值为止。本实施例中,对于写控制参数的执行方法与读控制参数类似,在这里不再赘述。

步骤S106、根据所述预设次数后保存的DDR控制参数的各个值,确定所述DDR控制参数的取值范围。

由于本实施例中获取到的预设个数的DDR控制参数的值,均是在接近DDR性能要求边界值时DDR控制参数的取值,因此,根据这些值中的最大值和最小值,即可确定DDR控制参数的取值范围。

步骤S107、根据所述DDR控制参数的取值范围,确定所述DDR控制参数的最优值。

实际应用中,可以从获取到的DDR控制参数的取值范围中任取一值作为DDR控制参数的最优值,也可以将该取值范围的中间值作为DDR控制参数的最优值,本实施例中不对此做具体的限定。

本实施例,根据DDR读写过程受到控制参数影响的这个特性,通过预先在DDR中定义一个验证参数,然后再在控制参数的不同取值下,对验证参数的值进行读写,并在验证参数的值发生变化即读写过程发生错误时获取控制参数的多个取值,从而根据该些取值即可获得DDR读写正常时,控制参数的取值范围。进而将该取值范围中的最优值配置给控制参数即可实现控制参数的优化,从而有效的解决了DDR控制参数的经验值不够准确,而现有技术又无法对其进行优化配置的问题。提高了DDR的可靠性和使用体验。

图2为本发明一实施例提供的DDR控制参数的优化装置的结构示意图,如图2所示,该装置包括:

定义模块11、读取模块12、配置模块13、判断模块14、保存模块15、范围确定模块16以及最优值确定模块17:

所述定义模块11用于在DDR中定义一个验证参数,并为所述验证参数赋值;

所述读取模块12用于从所述DDR中读取DDR控制参数的值;

所述配置模块13用于根据所述DDR控制参数的值和预设算法,重新配置所述DDR控制参数的值;

所述判断模块14用于从所述DDR中读取所述验证参数的值,并判断所述验证参数的值是否改变,以及在否的情况下调用所述配置模块,在是的情况下调用所述保存模块15;

所述保存模块15用于保存所述重新配置后的DDR控制参数的值,并重新启动所述DDR,以及调用所述读取模块,直至预设次数后停止;

所述范围确定模块16用于根据所述预设次数后保存的DDR控制参数的各个值,确定所述DDR控制参数的取值范围;

所述最优值确定模块17用于根据所述DDR控制参数的取值范围,确定所述DDR控制参数的最优值。

其中,所述最优值确定模块17,具体用于:

将所述取值范围的中间值作为所述DDR控制参数的最优值。

所述DDR控制参数包括写控制参数和/或读控制参数。

所述读控制参数,包括:RDQS0、RDQS1、RDQS2、RDQS3、ICLK。

所述写控制参数,包括:WDQS0、WDQS1、WDQS2、WDQS3、OCLK。

本实施例提供的装置适用于图1所示的实施例,其执行方式和有益效果类似,在这里不再赘述。

最后需要说明的是,本领域普通技术人员可以理解上述实施例方法中的全部或者部分流程,是可以通过计算机程序来指令相关的硬件完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可以为磁盘、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。

本发明实施例中的各个功能单元可以集成在一个处理模块中,也可以是各个单元单独的物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现,并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。上述提到的存储介质可以是只读存储器、磁盘或光盘等。

以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1