LJgibbs · 6月25日 · 北京市

DDR 学习时间 (Part C - 9):DFI 协议功能- LPDDR4 多通道模式

image.png

本期介绍 DFI 协议关于多种 LPDDR4 多通道模式的介绍。

本节基于 DFI 协议 4.19 节的内容(协议 4.0 版本)。

多通道 LPDDR4

我们知道 LPDDR4 相比 DDR4 一项重要的改动是在单个颗粒上支持独立的双通道(Channel),单个通道位宽 16 比特。这样一来,系统可以在 DDR 数据位宽不变的情况下,支持更多的通道,从而提高 DDR 访问效率。

以拥有两个独立通道 LPDDR4 系统为例,通常系统需要两个控制器(MC)与两个 PHY(或者控制器/PHY 拥有两个 DFI/LPDDR 接口)分别与 DRAM 的两个通道相连。但是在有些资源有限,或者对 DRAM 访问带宽要求不高的项目中,希望只使用一组 MC 与 PHY 控制两个 DRAM 通道来节省资源,当然,这时候双通道处于非独立工作模式,DRAM 访问效率会下降。

针对不同需求下 LPDDR4 多通道连接方式,DFI 协议本节制定了一些多通道工作模式。

多通道 LPDDR4 工作模式

多通道 LPDDR4 可以工作在两类模式下,分别为:

  • 独立模式 //Independent mode
  • 混合模式 //Combined mode

独立模式

在独立模式中,MC 分别有一个独立的 DFI 接口,其 CA (控制与地址)与 DQ (数据)信号通过 PHY 与单个 DRAM channel 连接。MC 可以如下图所示,是一个拥有两个独立 DFI 接口的 MC,或者干脆就是两个 MC。PHY 也是同理,可以是一个有两个 DFI 与 LPDDR 接口的 PHY,也可以是两个 PHY。

此时,两个 DRAM 通道的 CA 与 DQ 信号都是独立的,DRAM 自然处于效率最高的状态。

image.png

值得注意的是,双通道 LPDDR4 颗粒要求两个通道同时初始化,因此两者需要其 reset 信号同时 assert/de-assert,以保证在初始化时两个通道的复位同时释放。所以,在独立模式中,唯一可能不独立的是 dfi_reset_n 信号,MC 可以给双通道连接相同的 reset 信号,保证双通道的 reset 信号同时 assert/de-assert。

混合模式

混合模式下,LPDDR4 双通道共享一组 CA 信号,DQ 信号与 MC 两个数据通道分别独立连接。比如由 2 个 16bit 通道组成的 32bit 系统,DFI 读写数据通道就均匀分成高低比特两部分,接给单个通道。

混合模式下,PHY 可以连接单个通道或者两个通道,通过 phy_channel_en DFI 参数通知 MC 实际的通道连接情况。

image.png

在如上图所示的情况下,MC- PHY 之间的 DFI 接口可以直接以 lock-step 模式工作,即 MC 向双通道发送完全相同的 CA 信号(部分信号除外),不过 PHY 返回给 MC 的状态/响应信号可能不同,MC 对于这类情况的处理,按照不同 Interface 分类,可以归纳为如下的行为:

Update Interface

两个通道可以驱动单独的 DFI update interface 信号给 MC,以 DFI MC 发起的 MC Update 为例,MC 同时向两个通道发送 Update 请求,MC 等待两个通道都响应后才认为 Update 流程完成。即使通道 A 先响应,也需要等待到通道 B 也响应为止。

另一方面 PHY 发起的 PHY Update,MC 在接收到通道 A 上的 PHY Update 后,会全部停止两个通道上的流程,响应通道 A 的 PHY Update,此次 PHY Update 握手完成后,再恢复双通道上的流量。

Status Interface

Status interface 包括用于初始化和频率切换的信号。初始化时,MC 向两个通道发送 dfi_init_start 信号后,只有两个通道都置起 dfi_init_complete 信号之后,MC 才认为初始化完成。在 DFI 频率切换时,只有两个通道都和 MC 完成了握手,MC 才能认为此次频率切换完成,以新的频率发送后续命令。如果只有一个通道响应了 MC 的频率变化请求,那么 MC 会放弃此次频率变化请求。

Low Power Interface

和前述的两个接口类似,MC 也可以分别接收两个通道上的 Low power 响应。如果只有一个通道响应了 MC 新的 low power 请求,那是没有用的,两个通道还得处于相同的 low power 状态,使用某个之前他们一起响应过的 wake time 值。

同时支持独立/混合模式

如果 MC 和 PHY 同时支持两种模式,为了配置的灵活性,可以在硬件上增加 MUX 同时支持两种模式。根据使用场景,通过软件在两种模式之间进行切换。

如下图所示,系统可以使用两个 MC 和两个通道独立连接,工作于独立模式,用于性能需求比较高的场景。也可以只使用 MC0,以 lock-step 方式,在混合模式下共同驱动两个通道。

MUX 可以加在 DFI 总线上的任何位置,但是推荐将 MUX 放在 MC 一侧。

image.png

结语

本期我们讨论了:

  • 多通道 LPDDR4
  • DFI 多通道 LPDDR4 工作模式
作者:LogicJitterGibbs
原文:知乎

相关文章推荐

更多FPGA干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10571
内容数
547
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息