LPDDR4的训练(training)和校准(calibration)--Write Leveling(写入均衡)

Write Leveling是从DDR3开始引入的概念,为了解决DQS和CLK的edge alignment的问题。
  因为从DDR3开始采用了新的拓扑结构:fly-by。即多个DRAM放置在PCB上时(或多个die),地址线,控制线,时钟线采用fly-by方式进行布线,DQ,DQS和DMI还是采用点对点的布线方式。采用了fly-by的结构,CLK到达菊花链的各个die的时间是不一样的。具体而言,到达菊花链起始端会早些,到达末端会晚些,对于分布在链上的各个DRAM chip来说,不仅存在time skew,而且不同DRAM芯片(die)端的DQS对和CLK对的信号延时是不同的。
  所谓Write Leveling,即MC(Memory Controller)通过调节发出DQS的时间,来让各个DIE的DQS和CLK对齐,起到补偿skew的作用。
 总而言之,Write leveling作为业界标准解决方案,来解决PCB布线造成的时序问题。
  本博客所有文章均同步发表于www.mx1980.cn/blog

1. 理解CLK-to-DQS的时序要求

 DDR协议中定义了tDQSS时间,它限定了在写操作时的DQS和CLK上升沿之间的相对关系。
tDQSS:DQS rising edge to CK rising edge, as described on Table 65 of JESD79-3C
 在JESD209-4B LPDDR4 spec的table 27中(如下表),tQDSS描述为 Write command to 1st DQS latching. 其实和上述同一个意思, 它必须在0.75~1.25个cycle之间,如果违背了就可能造成错误数据写入DDR中。
LPDDR4的训练(training)和校准(calibration)--Write Leveling(写入均衡)_第1张图片
LPDDR4的训练(training)和校准(calibration)--Write Leveling(写入均衡)_第2张图片

2. DDR布线拓扑结构

 基本分为T型和fly-by, DDR3之前因为频率低,都是T型,DDR3开始在超过1Ghz时钟后,T型结构的眼图很差,而采用fly-by既可以节省布线空间,还可以改善信号完整性。
 在4个die以下时,T型和fly-by的差别不大,但超过四个die时,fly-by的优势比较明显。
LPDDR4的训练(training)和校准(calibration)--Write Leveling(写入均衡)_第3张图片
 Fly-By即指地址线,命令和clock在PCB布线时的fly-by拓扑结构,而DQ,DQS仍是端到端的形式,因此对于每一个DRAM,其Data Skew是不同的,因此需要做Write Leveling,来de-skew每个DRAM的skew。
LPDDR4的训练(training)和校准(calibration)--Write Leveling(写入均衡)_第4张图片

3. Write Leveling 的training过程

  Write Leveling的基本过程是,DDR进入Write Leveling后,用DQS的上升沿采样CLK信号的状态,然后将采样结果通过DQ pin 反馈给MCMC根据收到的反馈结果后调整CLK-to-DQS的关系,将这个过程不断重复,直到training成功。
 LPDDR4的DQ[7:0]传输DQS[0]的反馈结果,DQ[8:15]传输DQS[1]反馈结果。也就是说LPDDR4的两个channel要独立的做Write Leveling,每个channel的16比特也要分两个byte lane来做。
  MC通过配置LPDDR4的模式寄存器MR2的OP[7]为1,来让LPDDR4进入write leveling模式。在该模式下,LPDDR4只允许接受DESLECT命令以及退出该模式的MRW命令。当Write Leveling操作完成后,MC使用MRW命令将MR2的OP[7]置0来使LPDDR4退出write leveling操作。
Write leveling应该在write training(DQS2DQ training)前进行

LPDDR4的Write Leveling的具体过程如下(JESD209-4B的4.31):

  1. MC设置MR2-OP[7]使LPDDR4进入Write Leveling模式
  2. 一旦进入Write leveling模式,在tWLDQSEN时间后,MC必须驱动DQS到低电平
  3. 在tWLMRD时间后提供第一个DQS信号输入。tWLMRD是和不同的MC有关。
  4. 由于第一个DQS沿不稳定,所以DRAM或许能抓到第一个DQS沿,也可能抓不到,因此MC每次必须提供两个连续的DQS脉冲。每次由DQS沿采到的时钟电平都会被overwritten掉,DRAM会在tWLO时间后异步的通过DQ来反馈给MC。
  5. MC参考DRAM提供的反馈结果,来增到或减小DQS_t and/or DQS_C的延时设置。
  6. 重复第4到第5步,直到合适的DQS_t/DQS_c延时建立。
  7. 通过设置MR2-OP[7]=0, 退出Write-Leveling模式
    LPDDR4的训练(training)和校准(calibration)--Write Leveling(写入均衡)_第5张图片

本博客所有文章均同步发表于www.mx1980.cn/blog

参考文章

JESD209-4B: JEDEC STANDARD Low Power Double Date Rate 4 (LPDDR4)
DDR4 SDRAM - Initialization, Training and Calibration
DDR3基本概念6 - Write leveling(写入均衡)
DDR Design: Write leveling for better DQ timing: from Mentor
DDR工作原理

你可能感兴趣的:(电子电路知识,IC,前端设计,SOC)