基于DFI标准的DDR3控制器制造技术

技术编号:26375955 阅读:33 留言:0更新日期:2020-11-19 23:44
基于DFI标准的DDR3控制器,包括请求解析接口模块、分组及ID标志模块、Bank读写管理模块、读写数据通道模块、一级队列缓存模块、指令发送模块、非读写模块以及DFI接口模块,本发明专利技术通过规定的分组原则、取令原则、重排序策略保证速率传输的高效性;通过设定组命令数量阈值、对命令请求时间段做标记结合重排序策略防止命令老化;通过分组原则来保证对同一bank地址的读写按照请求顺序进行,定义相关的ID属性实现命令跟数据一一对应,共同实现传输的可靠性。

【技术实现步骤摘要】
基于DFI标准的DDR3控制器
本专利技术涉及芯片设计
,特别涉及基于DFI标准的DDR3控制器。
技术介绍
通过对DDR3协议标准的分析,可以影响DDR3效率的主要两个方面在于:1、频繁地读和写之间的切换,增加读写之间切换时间的带宽浪费;2、频繁的同bank不同行的切换,增加bank预充电与激活时间也造成带宽浪费;由此控制器的设计就要尽量保证长时间的连续读或者连续写操作,尽量避免同bank不同行之间切换的间隔;目前市场上主流的DDR控制器主要是Xilinx官方MIG软核,但是XilinxMIG核未考虑防止命令老化机制,在重排序策略过程中不能保证命令及时响应,会造成命令持续老化,从而引起命令挂起;市场上很多控制器不能做到兼顾可靠性与高效性,在做到带宽最大化的同时会造成请求的老化,从而引起意想不到的后果。
技术实现思路
为了解决以上技术问题,本专利技术的目的在于提供基于DFI标准的DDR3控制器,用于在保证数据传输可靠性的前提下提高带宽利用率。为了实现上述目的,本专利技术采用的技术方案是:基于DFI标准的DDR3控制器,包括请求解析接口模块、分组及ID标志模块、Bank读写管理模块、读写数据通道模块、一级队列缓存模块、指令发送模块、非读写模块以及DFI接口模块,数据和命令由DFI接口模块将DFI协议信号发送给支持DFI标准的PHY,最终送往DDR3颗粒;请求解析接口模块、分组及ID标志模块、Bank读写管理模块、一级队列缓存模块、指令发送模块、以及DFI接口模块依次电连接,非读写模块与DFI接口模块电连接,请求解析接口模块、读写数据通道模块、DFI接口模块依次电连接。请求解析接口模块,用于接受用户请求,并拆分请求进行异步缓存。读写数据通道模块用于缓存DDR3颗粒与用户接口间流通的读写数据,并按照时序要求做数据交换。分组及ID标志模块用于给拆分后的请求分组,并确定读写命令对应的ID属性,单独给写命令添加该命令对应的数据存放地址信息ID,单独给读命令添加请求顺序ID,同时给读写命令共同赋予次序ID。Bank读写管理模块,用于存放分组及ID标志模块发送过来的命令,解析顺序及ID信息;分bank、分组序地进行保存到相应的同步FIFO中;同时监控并反馈各个FIFO中bank、组序等信息。一级队列缓存模块,用于按照取令原则从bank管理模块中取出命令,并通过重排序策略来安排取出的命令在队列中所存放的位置,最后由指令发送模块从一级队列缓存模块中的队列底部取出命令。非读写模块,用于产生刷新、初始化等非读写命令。指令发送模块用于从一级队列缓存模块中取命令,并将自身固定深度的队列中的所有命令依照竞争原则,按照控制器与DDR3颗粒工作的时钟频率关系将满足时序要求的命令转译成DFI接口模块并行的输入信号。DFI接口模块用于将由指令发送模块输入的信号按照DFI标准协议将指令发送给支持DFI标准的DDR3物理层PHY,并且从读写数据通道模块中取数据,将数据按照DFI标准协议输出,同时接收从物理层PHY输入的数据并送往读写数据通道模块。读写数据通道模块,将写命令对应的写数据暂存到地址可以覆盖的位置,当该数据的数据发送至颗粒以后,会及时更新暂存该数据的地址对应的覆盖标志位;以及将读命令按照请求顺序存放在队列中,会将从DDR3颗粒回读的数据暂存,并将存放地址记录下来,当数据发送至用户总线后,更新该地址的覆盖标志位;同时还有比较机制,比较经过重排序后从颗粒回读的数据所属请求在用户读请求队列中的位置,并将回读数据按照用户读请求顺序发送给用户总线。所述一级队列缓存模块包括取令原则和重排序策略:取令原则具体为:在从Bank读写管理模块中取命令时,按照组轮循嵌套bank轮循的原则,即取完一组命令后取后一组命令,循环进行;在取组命令的过程中依次循环取不同bank的单个命令,直到轮到下一组,重复上面的原则,这样做的目的是尽量使得不同bank的同类型的命令排列在一起;重排序策略是指各个命令在队列中的存放位置关系应该满足以下关系:相同bank相同行相同时间段的同类型读或者写的命令尽量紧密排在缓存队列中,在防止命令老化的同时,尽量减少相同bank不同行命令排列在一起的情况,进而减少因行命令切换产生的bank预充电与激活时间造成的带宽浪费。所述的分组及ID标志模块具体为:各个bank的读写命令按照请求的先后顺序进行分组,相同bank的读写之间不越组分配,在保证读写不出错、组中的命令数量没有超过阈值的前提下,尽量将多个读命令分到同一组,多个写命令分在与读命令不同的其他组中,做到读写分开;形成读写命令各自不同的ID,具体如下:按照写命令的数据存放初始地址做标记形成写命令特有的地址信息ID;按照读命令请求的先后顺序形成的读命令特有的读请求顺序ID;通过对从模块中送出的读写命令的个数设置阈值来定义的读写命令都有的次序ID,当送出的读写命令的个数达到阈值限制后,次序发生变化,描述为请求命令发送的时间段发送变化。所述的指令发送模块队列中的所有命令依照一定的竞争原则输入给DFI接口模块的并行信号,按照DDR3控制器时钟频率与DDR3颗粒工作时钟频率的比例和DDR指令类型的数量共同决定并行信号的数量,使得DDR3控制器单位周期发送的信号量能够满足DDR3颗粒在其工作频率下的相同时间的多个周期内能够处理的信号量,从而实现带宽匹配,同时通过监控发往DFI接口模块的命令映射DDR3颗粒内部bank预充电、激活状态,检查队列中的命令按照时序来发送的DDR3指令是否能够在该周期满足DDR3颗粒工作时钟下的多个周期信号发送的时序要求,并标记各个DDR3指令可以发送到对应的DDR3颗粒工作时钟下的哪一周期。在同一DDR3颗粒工作时钟周期下能够满足时序要求的多个指令会通过竞争,将优先级最高的获得信号线占用权,并发送给DFI接口模块,这里的优先级由指令的延迟周期和指令所属队列位置共同决定,队列越靠底部优先级越高,延迟周期越大优先级越高。本专利技术的有益效果:本专利技术通过规定的分组原则、取令原则、重排序策略保证速率传输的高效性;通过设定组命令数量阈值、对命令请求时间段做标记结合重排序策略防止命令老化;通过分组原则来保证对同一地址的读写按照请求顺序进行,定义相关的ID属性来实现命令跟数据一一对应,共同实现传输的可靠性。用户请求通过命令解析接口模块拆分成单个burst命令后,分组及ID标志模块根据分组原则,尽量做到了在保证读写可靠的前提下将读和写命令尽可能多的聚合分组,即尽量将多个写命令放在一组,多个读命令放在其他组;而且设置了组中命令的阈值,达到阈值后拉高禁止使能位,Bank读写管理模块中对应组序产生满状态,直到Bank读写管理模块中该组的命令全部发送至一级队列缓存模块后才取消该组满状态,这样可以防止单个组中的命令个数无限制的情况;通过统计发送请求数量,达到阈值后改变次序ID,来描述命令所属时间段发生变化;Bank读写管理模块将分好组的读写命令,依照DD本文档来自技高网...

【技术保护点】
1.基于DFI标准的DDR3控制器,其特征在于,包括请求解析接口模块、分组及ID标志模块、Bank读写管理模块、读写数据通道模块、一级队列缓存模块、指令发送模块、非读写模块以及DFI接口模块,数据和命令由DFI接口模块将DFI协议信号发送给支持DFI标准的PHY,最终送往DDR3颗粒;/n请求解析接口模块、分组及ID标志模块、Bank读写管理模块、一级队列缓存模块、指令发送模块、以及DFI接口模块依次电连接,非读写模块与DFI接口模块电连接,请求解析接口模块、读写数据通道模块、DFI接口模块依次电连接;/n请求解析接口模块,用于接受用户请求,并拆分请求进行异步缓存;/n读写数据通道用于缓存DDR3颗粒与用户接口间流通的读写数据,并按照时序要求做数据交换;/n分组及ID标志模块用于给分解后的请求分组,并确定读写命令对应的ID属性,单独给写命令添加该命令对应的数据存放地址信息ID,单独给读命令添加请求顺序ID,同时给读写命令共同赋予次序ID;/nBank读写管理模块,用于存放上级模块发送来的命令,解析顺序及ID信息;分bank、分顺序地进行保存到相应的同步FIFO中;同时监控并反馈各个FIFO中bank、组序等信息;/n一级队列缓存模块,用于按照取令原则从Bank读写管理模块中取出命令,并通过重排序策略来安排取出的命令放入队列中的位置,最后由指令发送模块从队列底部取出命令;/n非读写模块,用于产生刷新、初始化等非读写命令;/n指令发送模块用于从一级队列缓存模块中取命令,并将自身队列中的所有命令依照竞争原则,按照控制器与DDR3颗粒工作的时钟频率关系将满足时序要求的命令转译成DFI接口模块并行的输入信号;/nDFI接口模块用于将由指令发送模块输入的信号按照DFI标准协议将指令发送给支持DFI标准的DDR3物理层PHY;并且从读写数据通道模块中取数据,将数据按照DFI标准协议输出;同时接收从物理层PHY输入的数据并送往读写数据通道模块。/n...

【技术特征摘要】
1.基于DFI标准的DDR3控制器,其特征在于,包括请求解析接口模块、分组及ID标志模块、Bank读写管理模块、读写数据通道模块、一级队列缓存模块、指令发送模块、非读写模块以及DFI接口模块,数据和命令由DFI接口模块将DFI协议信号发送给支持DFI标准的PHY,最终送往DDR3颗粒;
请求解析接口模块、分组及ID标志模块、Bank读写管理模块、一级队列缓存模块、指令发送模块、以及DFI接口模块依次电连接,非读写模块与DFI接口模块电连接,请求解析接口模块、读写数据通道模块、DFI接口模块依次电连接;
请求解析接口模块,用于接受用户请求,并拆分请求进行异步缓存;
读写数据通道用于缓存DDR3颗粒与用户接口间流通的读写数据,并按照时序要求做数据交换;
分组及ID标志模块用于给分解后的请求分组,并确定读写命令对应的ID属性,单独给写命令添加该命令对应的数据存放地址信息ID,单独给读命令添加请求顺序ID,同时给读写命令共同赋予次序ID;
Bank读写管理模块,用于存放上级模块发送来的命令,解析顺序及ID信息;分bank、分顺序地进行保存到相应的同步FIFO中;同时监控并反馈各个FIFO中bank、组序等信息;
一级队列缓存模块,用于按照取令原则从Bank读写管理模块中取出命令,并通过重排序策略来安排取出的命令放入队列中的位置,最后由指令发送模块从队列底部取出命令;
非读写模块,用于产生刷新、初始化等非读写命令;
指令发送模块用于从一级队列缓存模块中取命令,并将自身队列中的所有命令依照竞争原则,按照控制器与DDR3颗粒工作的时钟频率关系将满足时序要求的命令转译成DFI接口模块并行的输入信号;
DFI接口模块用于将由指令发送模块输入的信号按照DFI标准协议将指令发送给支持DFI标准的DDR3物理层PHY;并且从读写数据通道模块中取数据,将数据按照DFI标准协议输出;同时接收从物理层PHY输入的数据并送往读写数据通道模块。


2.根据权利要求1所述的基于DFI标准的DDR3控制器,其特征在于,所述读写数据通道模块,将写命令对应的写数据暂存到地址可以覆盖的位置,当该数据的数据发送至颗粒以后,会及时更新暂存该数据的地址对应的可以覆盖标志位,以及将读命令按照请求顺序存放在队列中,会将从DDR3颗粒回读的数据暂存,并将存放地址记录下来,当数据发送至用户总线后,更新该地址的可以覆盖标志位;同时还有比较机制,比较经过重排序后的从颗粒回读的数据所属请求在用户读请求队列中的位置,并将回读数据按照用户读请求顺序发送给用户总线。

【专利技术属性】
技术研发人员:彭琪郭华伦刘伟峰张明铭庄奕琪
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

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

1