一种DDR4控制器性能优化的方法技术

技术编号:36295468 阅读:15 留言:0更新日期:2023-01-13 10:09
本发明专利技术提供了一种DDR4控制器性能优化的方法,能够获取当前所有port的带宽情况,检查此时实时带宽与带宽阈值的关系并记录,如果一个port连续m次出现带宽高于带宽阈值上限或低于带宽阈值下限,此时根据优先级带宽策略调整port优先级和带宽。本方案充分考虑系统DDR运行时不同port访问的不一致性以及系统当前负载随时间变化带来的port访问性能不均衡,根据实时监测动态调整每个port的优先级和访问带宽阈值,从而保证各port的负载均衡。从而保证各port的负载均衡。从而保证各port的负载均衡。

【技术实现步骤摘要】
一种DDR4控制器性能优化的方法


[0001]本专利技术涉及内存性能优化领域,更具体涉及DDR4控制器性能优化的方法。

技术介绍

[0002]DDR4通常采用多port结构,每个port可以设置访问优先级和带宽,使用时一般在初始化时设置port优先级和带宽占比。目前DDR4的port性能影响因素主要有优先级和带宽,优先级决定了不同port命令执行的优先顺序,port的带宽设定则决定了每个port的整体带宽占用的百分比,两个条件共同决定了每个port的访问性能,并且最终决定了系统中DDR访问的整体性能。
[0003]然而系统运行过程中,每个port的读写命令是来自于不同的外部模块的,它们可能同时发生,而且每个port的访问需求是不一样的,实际访问情况随访问场景变化而不停变化,比如某些场景要求port1对应模块的访问命令被快速响应,而另外场景要求port2对应模块的访问命令被快速响应,固定优先级带宽策略很难满足系统运行时的各种场景需求。所以,常规方案在初始化时设置固定的优先级和带宽无法满足系统运行时的不同场景,就会出现系统整体性能出现大幅波动。

技术实现思路

[0004]本专利技术目的是提出一种动态调整DDR4多port性能的方法,满足不同系统场景下DDR访问的性能需求。
[0005]本专利技术为实现上述目的,通过以下技术方案实现:一种DDR4控制器性能优化的方法,包括步骤:S1)设定第n个port的优先级为Pn,设定第n(n=1,2,3,

)个port初始化带宽阈值的上下限分别为Bn_max和Bn_min,设定检查时间间隔为T,设定连续m(m=1,2,3

)次出现同一情况则需调整,第m次检查的port实时带宽为Bn_m;S2)触发检查时,获取当前所有port的带宽情况,检查此时实时带宽与带宽阈值的关系并记录;S3)如果一个port连续m次出现带宽高于带宽阈值上限或低于带宽阈值下限,此时根据优先级带宽策略调整port优先级和带宽。
[0006]优选的,优先级带宽策略步骤包括:S31)如果一个port连续m次出现带宽高于带宽阈值上限,检查该port优先级,如果非最高优先级,则将该port的优先级提升一级,带宽阈值不变;如果为最高优先级,则根据带宽调整策略调整带宽或带宽阈值;S32)如果一个port连续m次出现带宽低于带宽阈值下限,检查该port优先级,如果非最低优先级,则将该port的优先级降低一级,带宽阈值不变;如果为最低优先级,则根据带宽调整策略调整带宽或带宽阈值。
[0007]优选的,带宽调整策略为:
如果连续m次出现带宽高于带宽阈值上限的port已经为最高优先级,则释放其他低优先级且带宽低于阈值下限的port带宽供该port使用;如果连续m次出现带宽低于带宽阈值下限已经为最低优先级,则释放其带宽供给其他port使用。
[0008]优选的,低优先级且带宽低于阈值下限的port带宽释放的带宽经过以下公式计算:释放带宽=(Bn_min+)/2。
[0009]优选的,带宽释放的策略为:在实时带宽低于阈值下限的port中根据优先级由低至高释放,在实时带宽高于阈值上限的port中根据优先级由高至低使用。
[0010]优选的,带宽调整策略还包括:如果连续m次出现带宽低于带宽阈值下限已经为最低优先级,则降低该port的带宽阈值下限。
[0011]优选的,最低优先级的带宽阈值下限调整策略为:将该port的带宽阈值下限调整为m次带宽中所有低于带宽阈值下限的实时带宽的最大值。
[0012]本专利技术的优点在于:相比传统的DDR port优先级访问方式,本专利描述的方法充分考虑系统DDR运行时不同port访问的不一致性以及系统当前负载随时间变化带来的port访问性能不均衡,根据对每个port的带宽访问情况实时监测,动态调整每个port的优先级和访问带宽阈值,从而保证各port的负载均衡,让系统访问DDR的整体性能处在一个均衡水平。
附图说明
[0013]图1为本专利技术的流程示意图。
具体实施方式
[0014]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。
[0015]本专利技术公开了一种DDR4控制器性能优化的方法,请参照图1的流程示意图,包括步骤:S1)设定检查时间间隔为T,设定第n个port(端口)的优先级为Pn,设定第n(n=1,2,3,

)个port初始化带宽阈值的上下限分别为Bn_max和Bn_min,设定连续m(m=1,2,3

)次出现同一情况则需调整,第m次检查的port实时带宽为Bn_m。
[0016]S2)触发定时器,检查从port=0开始,获取当前所有port的带宽情况,检查此时实时带宽与带宽阈值的关系并记录。
[0017]S3)如果一个port连续m次出现带宽高于带宽阈值上限或低于带宽阈值下限,此时根据优先级带宽策略调整port优先级和带宽阈值:如果一个port连续m次出现带宽高于带宽阈值上限,检查该port优先级,如果非最高优先级,则将该port的优先级提升一级,带宽阈值不变;如果为最高优先级,则根据带宽调整策略调整带宽或带宽阈值,本实施例中的调整策略为释放其他低优先级且带宽低于阈值下限的port带宽供该port使用;
所释放的带宽经过以下公式计算:释放带宽=(Bn_min+)/2如果一个port连续m次出现带宽低于带宽阈值下限,检查该port优先级,如果非最低优先级,则将该port的优先级降低一级,带宽阈值不变;如果为最低优先级,则根据带宽调整策略调整带宽或带宽阈值,本实施例中的调整策略为释放其带宽供给其他port使用,释放带宽可以参考上述公式。
[0018]释放带宽时遵循的规则为:在实时带宽低于阈值下限的port中根据优先级由低至高释放,在实时带宽高于阈值上限的port中根据优先级由高至低使用。
[0019]调整结束后,port数加一并继续循环上述步骤,直至全部N个port检查完毕,再次触发定时器开启检查。
[0020]在另一实施例中,在上一实施例的基础上,带宽调整策略增加步骤:如果连续m次出现带宽低于带宽阈值下限已经为最低优先级,则降低该port的带宽阈值下限,降低策略为:将该port的带宽阈值下限调整为m次带宽中所有低于带宽阈值下限的实时带宽的最大值。
[0021]降低带宽阈值下限可以保证port后续的有效使用,调整还可以采用调整为所有低于带宽阈值下限的实时带宽的平均值、中间值或最小值等方式,但本实施例采用最大值,相比其他选择调整幅度较小,容错率较高,因此为更优选。
[0022]最后应说明的是,以上所述仅为本专利技术的优选实施例而已,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DDR4控制器性能优化的方法,其特征在于,包括步骤:S1)设定第n个port的优先级为Pn,设定第n个port初始化带宽阈值的上下限分别为Bn_max和Bn_min,设定检查时间间隔为T,设定连续m次出现同一情况则需调整,第m次检查的port实时带宽为Bn_m,其中,n=1,2,3

,m=1,2,3

;S2)触发检查时,获取当前所有port的带宽情况,检查此时实时带宽与带宽阈值的关系并记录;S3)如果一个port连续m次出现带宽高于带宽阈值上限或低于带宽阈值下限,此时根据优先级带宽策略调整port优先级和带宽。2.根据权利要求1所述的DDR4控制器性能优化的方法,其特征在于,所述优先级带宽策略步骤包括:S31)如果一个port连续m次出现带宽高于带宽阈值上限,检查该port优先级,如果非最高优先级,则将该port的优先级提升一级,带宽阈值不变;如果为最高优先级,则根据带宽调整策略调整带宽或带宽阈值;S32)如果一个port连续m次出现带宽低于带宽阈值下限,检查该port优先级,如果非最低优先级,则将该port的优先级降低一级,带宽阈值不变;如果为最低优先级,则根据带宽调整策略调整带宽或带宽...

【专利技术属性】
技术研发人员:刘凯王璞沈力
申请(专利权)人:山东华芯半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1