LPDDR4学习笔记(三)

4.14 前导码和后导码的merge行为

这一小节很好理解,之前学习了突发传输可以通过控制命令间隔来实现数据连续传输,即无缝传输,那么必然会导致前一次命令的后导码和下一次命令的前导码“消失”。

但是只要不是无缝传输,例如BL/2+1、BL/2+2、BL/2+n等等,前后导码也不会完全“消失”,spec中详细罗列了很多场景,这里暂不逐一分析。

4.16 DMI功能

lpddr4 die有DMI信号,其时序与DQ信号一致,并且也是双向信号(inout),来实现对data的mask和invert功能。

其中,mask function只有在write时有效,可通过模式寄存器配置,该功能默认是enable的;data inverse功能支持write/read,并且write/read inverse在模式寄存器有独立的field可配,默认都是disable,inverse功能的打开与关闭在mask功能的enable/disable下均可,因此有如下八种配置组合。

1.首先,在mask function disable的情况下,lpddr4会认为masked write command是一个非法的命令;但是在mask function enable的情况下,write command并不是一个非法命令,同时write invert function disable的情况下,lpddr4也不会表现mask function在收到write command时。

2.mask function enable时,当write invert disable,发送write command命令时,DMI信号必须被驱动为0;

3.对于read而言,DMI只会作为invert function,并且会根据一个字节通道内1的个数是否大于4来决定是否进行invert。

4.当mask function enable、write invert enable时,发送masked write command,如果data bus的[7:2]/[15:10](lower byte/upper byte)这个field的1的个数大于等于5并且DMI为0,DMI作为mask function,否则DMI作为invert function。

5.关于masked write command,对于同一个bank,两次命令间隔需要满足tCCDMW,如下图时序:

4.17 预充电

预充电命令如下:

根据命令真值表,可以发送single bank的预充电和all bank(field:AB)的预充电,single bank的预充电命令发起后,需要等待tRPpb,才可以发送激活命令;all bank预充电命令发送后,需要等待tRPab才可以发激活命令。

从硬件的角度分析预充电,其实是因为DRAM通过电容充放电来表达存储值,read意味着会放掉存储电容中的电,那么读结束后是需要给存储电容重新充电的,也就是回写;write操作之后,也同样需要进行一次预充电,以保证写入的data更稳定。

参数:

tRTP:读命令和预充电命令的最小间隔

tWR:写数据和预充电命令的最小间隔,该参数的起始是wdata最后一个DQS锁存沿的下一个CK上升沿

读+预充电时序

写+预充电时序

根据时序可计算出,写命令和预充电命令间隔为:WL+BL/2+1+tWR

自动预充电:

下图是摘自命令真值表,是三个基本的读写命令,这三个命令均有一个AP field,当AP为低时,lpddr4在完成命令之后会保持bank的active状态;当AP为高时,预充电命令会发起在满足tRCD之后,这样可以提升随机数据访问的performance。

从行激活命令到预充电(回写)命令这段时间为tRAS,因此自动预充电安排也需要确保满足tRAS。

先写后读操作:

数据写完之后需要等待tWTR才可以进行读操作,下图为时序:

因此,tWTR+tRTP≥tWR。

  • 16
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值