|
SDRAM从发展至今历经了五代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM,第五代DDR4 SDRAM,SDRAM有一个同步接口,在响应控制输入前会等待一个时钟信号,这样就能和计算机的系统总线同步。时钟被用来驱动一个有限状态机,对进入的指令进行管线(Pipeline)操作
任何DRAM控制器背后的智商都是与命令时序和执行相关的逻辑。DDR SDRAM不是简单的设备。它们包含多个独立的存储体,并且每个随机读取或写入访问都必须在存储体激活命令之前,最后是存储体预充电命令。一旦激活了存储体,结果就是打开一个数据页,该页面允许对存储体的一小部分进行多个读或写操作。
为了最大化存储通道带宽,提前查看命令队列并将所有访问开放库中所有打开页面的命令组合在一起是有利的。通过命令重新排序和调度来减少存储体激活和预充电“停机时间”的开销可以显着提高SoC到存储通道的性能。
存储器控制器还应尽一切努力“隐藏”存储区,以激活并在命令槽中预充电命令,否则该命令槽将不可用。最小化命令争用还可以优化通道性能。
DDR SDRAM控制器逻辑还必须满足DRAM的刷新要求。在不耐延迟的命令和过期的刷新要求之间进行仲裁需要控制器内复杂的优先级划分。控制器还必须经常在SoC中使用内存资源的多个子块之间进行仲裁。这种仲裁要求能够对存储通道中的流量进行优先级排序,而又不会通过高优先级命令的无尽队列使低优先级命令处于饥饿状态。最终,该过程永远不可能是完美的,并且经常针对特定应用进行量身定制。
开发DDR SDRAM接口需要多个工程学科。使用典型的ASIC设计流程(RTL,逻辑综合,布局和布线)开发存储器控制器的大脑,并在完全定制的混合信号设计环境(示意图捕获,模拟仿真,定制布局)中开发PHY的功能。)。很少有现代SoC能够与拥有这两个领域的专业知识和EDA工具的设计团队联系在一起。幸运的是当今的SoC设计人员不再需要担心存储器控制器和接口的挑战,因为现在可以使用半导体IP,从而减少了总开发成本和上市时间
|
|