利用DDR控制器读取重排序缓冲器,将DRAM带宽提高十倍
- UID
- 1023229
- 来自
- 中国
|
利用DDR控制器读取重排序缓冲器,将DRAM带宽提高十倍
概述
DDR DRAM内存控制器要满足众多市场竞争的需求。一款出色的内存控制器必须能够增加存储器接口的带宽,满足CPU、图形处理、系统实时DRAM的延迟需求,同时符合存储总线和片上总线标准的规定。
读取重排序缓冲器(RRB)是DesignWare uMCTL和uMCTL2 DDR内存控制器IP产品上可用的一项硅验证的架构增强功能,是对DDR内存控制器架构的进一步完善。本白皮书将解释读取重排序缓冲器的概念,并对其如何提升存储带宽加以说明。此外,本文还总结了测试结果,展示了不同架构的DRAM控制器(根据该控制器是带RRB、带外部调度的RRB、或是带内容可寻址内存(CAM)调度的RRB的架构)可从相同输入数据流获得10%、66%或100%的截然不同的DRAM总线利用率。
DRAM控制器上事务重排序
每个存储子系统必须符合与之相连的片上总线的DDR DRAM总线标准和数据一致性需求。
将系统片上总线事务转换成存储事务,最简单的方法是使用一个协议控制器。该协议控制器将按从片上总线收到指令的顺序将指令转换成存储事务,同时遵循DRAM标准的规范。典型的协议控制器还将对输入的DRAM维护事务(如与存储读写操作相关的激活和预充电指令)进行调度。
很少有系统能够自然地生成高效的存储流量;例如,数据采集系统生成较长的顺序存取存储器。大多数系统都有CPU缓存填充、视频编/解码或网络分组数据流,这些数据流包含发射到存储器中随机位置的短事务。短事务指令对DRAM内部数据 bank结构的利用率较低,而且通常效率低下。甚至是在包含能够生成高效存储流量的存储请求者(主控)的系统(多请求者系统)中,来自多请求者的数据流也可能产生低效率的存储总线序列。
由于协议控制器以从片上总线收到指令的顺序来执行指令,按照高效DRAM执行的顺序为协议控制器提供指令是非常重要的。如果不能按此顺序,存储带宽可能受影响,因为协议控制器可能需要延迟一些事务来防止违反DRAM协议。
为处理系统内存储流量生成低效的问题,通常的方法是对存储流量重新排序,从而获得更高效的操作。可以在流量到达协议控制器之前通过一个存储调度器,或通过一个带重排序功能的内存控制器,对存储流量进行重排序。
重排序有多种策略可用;这些策略通常都会尽力避免DRAM协议限制所需的指令对指令延迟。有效的内存控制器不仅会防止不正确的指令序列,还会尽力实现正确的指令序列,如有利于高效DRAM执行的顺序页面点击。点击阅读更多精彩内容 |
|
|
|
|
|