内存子系统是 SoC 中最复杂的系统之一,对芯片的整体性能至关重要。近年来,内存市场呈爆炸式增长,在移动、消费和企业系统中势头强劲。这不仅导致内存控制器 (MC) 越来越复杂,还导致将内存子系统连接到外部 DRAM 的 PHY变得非常复杂。
由于 SoC 和 DRAM 之间的数据高速传输,因此有必要对内存接口信号进行复杂的training以获得最佳操作(更好的眼图)。
MC 和 PHY 的集成是一个重大挑战,特别是如果两个IP 块来自不同的供应商(当然即使同一家供应商也可能是独立开发的)。关键原因是内存协议的快速发展,以及控制器和 PHY 之间的 DFI 接口在 MC-PHY training的要求方面没有完全指定,或者在某些情况下是模棱两可的。
为什么 MC-PHY 集成现在不是一个大问题?
随着 DFI MC-PHY 接口规范的推进,事情正朝着正确的方向发展。对于不熟悉 DFI 的人来说,这是一个行业标准,它定义了任何通用 MC 和 PHY 之间的接口信号和协议。自 2006 年 DFI 1.0 问世以来,该规范稳步发展,涵盖了 MC-PHY 操作的所有方面。
但这并不是 MC-PHY 集成变得更容易的唯一原因。为了更好地理解这一点,我们需要研究 MC 和 PHY 在training过程中如何相互作用。有两种基本方法可以training memory 信号:
- PHY evaluation mode or DFI Training mode - 此模式可由 PHY 或MC 启动,无论哪一方启动training,MC 都会设置DRAM gate/read data eye/write/CA training,并定期发出read 或write等training命令。PHY 负责确定每个操作正确的编程延迟,但 MC 必须启用和禁用 DRAM 和 PHY 中的training逻辑,以及生成必要的read/write/mrr命令。因此,DFI Training mode需要MC进行足够多的配合,并且在早期的 DFI 规范中是强制性的。然而在较新的DFI中,这种DFI Training mode已成为 MC 的可选项。
- PHY independent mode – 这是一种 PHY 执行DRAM training的模式,MC 很少参与。PHY 生成所有read/write命令并编程每个操作的延迟,而 MC 耐心等待“done”状态。
PHY IP 提供商已决定通过在其IP中实现对PHY independent mode的支持来获得training的所有权,保留基于其PHY架构优化 PHY training算法的控制权。
随着 PHY 复杂性和DDR速率增加的挑战,对 PHY independent mode的支持为PHY IP提供商增加了宝贵的差异化优势。
在PHY-independent mode中,内存控制器的作用是什么?
由于 PHY 在training期间承担了大部分繁重的工作,因此 MC 只需要关注两个问题:
- 何时发出training请求?
- 将控制权交给 PHY 进行training时,DRAM需要处于什么状态,当 PHY 将控制权交还给 MC 时,DRAM将处于什么状态?
因此,MC 将 PHY training的请求作为中断进行处理,它需要安排一些为实现最佳内存操作所做的许多事情。
作者:数字芯片
来源:数字芯片实验室
推荐阅读
更多数字IC设计技术干货等请关注数字芯片实验室专栏。添加极术小姐姐(微信:aijishu20)微信可申请加入IC设计交流群。