DDR技术研究:LPDDR5与LPDDR4的对比分析
DDR技术研究:LPDDR5与LPDDR4的对比分析
LPDDR5作为新一代低功耗双倍数据速率同步动态随机存取存储器(DDR SDRAM),在功耗、速度和架构等方面相比LPDDR4有了显著提升。本文将从供电、动态电压频率调节(DVFS)、速度与Bank架构以及IO Pad等方面,详细对比LPDDR5和LPDDR4的技术规格。
供电
在JEDEC官方发布的LPDDR5概述中,提到了历代LPDDR的功耗变化趋势,具体信息如下:
可以看到LPDDR的低功耗性能是不断优化的。基于JESD209-5B内容来看,LPDDR5在供电Pin上的变化如下:
可以看到VDD2和VDDQ的供电电压都有下调,为LPDDR5提供了更优秀的低功耗表现。并且VDD2拆分为了VDD2H/L两个Power Supply,主要是面向低功耗场景下,一些内部电路可以基于更低的电压VDD2L运行。而VDD2H和VDD2L的开关就是由LPDDR5提出的新功能DVFS - Dynamic Voltage and Frequency Scaling决定。
DVFS - 动态电压频率调节
DVFS是LPDDR5针对低功耗场景提出的新功能,分为DVFSC - DVFS Core, Enhanced DVFSC 和 DVFSQ - DVFS VDDQ三种模式。三个模式都是为了能够在不同频率提供不同Power Supply来达到低功耗的目的。
DVFSC由MR19 OP[1:0]控制开关,主要就是在低频场景下通过控制VDD2H和VDD2L的开关来实现DRAM Peripheral Circuit Block的供电变化。当DVFSC Enabled之后,只有在MC控制器发出FSP-OP切频命令之后,DRAM内部Power Rail会完成对应的切换。DVFSC的Power Rail切换任务会在tFC时间内完成,属于FSP-OP行为的一部分。并且会对RL - Read Latency和WL - Write Latency产生影响。
而Enhanced DVFSC只在LPDDR5x中支持,并且支持的速率范围也大于DVFSC。而DVFSQ则是支持VDDQ可以在RD/WR过程中进行升/降压,并且可以通过VRCG - Vref Current Generator跟踪电压变化速率。上面表格中的Range-1范围适用于ODT Enable或者Disable,而Range-2范围只适用于ODT Disable。而当ODT Disable并且DVFSQ Enable时,VDDQ Range则是0.27V~0.57V的范围。
速度和Bank架构
在JEDEC官方发布的LPDDR5 Overview中也提到了历代LPDDR的Speed变化趋势,具体信息如下:
可以看到LPDDR5的Speed和带宽相比于LPDDR4x都提升了约50%。Max Speed达到6400Mbps,Bandwidth达到51.2GB/s。而最高频的速率都是基于BG Mode和8B Mode才能达到,这里涉及到了LPDDR5在Bank Architecture上的变化。相比于LPDDR4默认就是8Bank的模式,LPDDR5提出了BG/8B/16B三种不同的Bank Mode,由MR3 OP[4:3]控制。不同模式下的CA Bus地址信息组成也不同:
这里基于JESD209-5B简单地总结下不同Mode下的差异:
x8和x16是DRAM选择的Data Trans Mode,x8就是使用8个DQ pin进行传输,Per Channel上的DQ数据位宽就是8,也就是Byte Mode。Page Size可以理解为Memory Bank每次激活一行时加载到 Sense Amps 中的位数。Page Size = Device Width (x8 / x16) x Column Width 之所以LPDDR5的8-Bank Mode可以达到4KB的Page Size,是因为约等于一次性在16Banks的大小上拿数据三种Mode的Bank Architecture设计如下:
可以看到在Bank ID信息上和Data Width上都有差异,后面文章在介绍Read/Write中的Burst行为时,会对不同Mode的差异单独进行分析。
IO Pad
相比LPDDR4,LPDDR5移除了A/B双通道区分,并且在IO类型上增加了一些信号,以下是详细对比信息:
LPDDR4 | LPDDR5 | Symbol | LPDDR5 Description |
---|---|---|---|
CK_t_A/_B,CK_c_A/_B | CK_t,CK_c | Input | Clock差分信号所有的地址/命令/控制输入信号都在CK_t上升沿采样 |
CKE_A/_B | N/A | Input | LPDDR5移除了CKE信号,增加了CA/CS命令组合替代了相关功能 |
CS_A/_B | CS | Input | 片选信号,低功耗模式下为异步信号 |
CA[5:0]_A/_B | CA[6:0] | Input | CA信号基于一个真值表提供命令和地址的输入信息LPDDR5 CA bus增加了一个bit用于支持16 Banks架构 |
ODT(CA)_A/_B | N/A | Input | 控制CA信号的On-Die-Termination功能开关LPDDR5上只由MR11 OP[6:4]控制 |
DQ[15:0]_A/_B | DQ[15:0] | I/O | 双向的Data总线 |
DQS[1:0]_t_A/_BDQS[1:0]_c_A/_B | WCK[1:0]_t_A/_BWCK[1:0]_c_A/_BRDQS[1:0]_t_A/_BRDQS[1:0]_c_A/_B | I/O | LPDDR5移除了DQS信号,改为WCK和RDQS信号的组合。WCK用于Write场景下DRAM侧Data Capture和Read场景下Data Output的StrobeRDQS用于Read场景下的MC控制器Data采样RDQS也可以支持Write场景下Link Protection的奇偶校验 |
DMI[1:0]_A/_B | DMI[1:0] | I/O | DMI是双向信号,DMI为高会翻转Data Bus信号,反之不会DMI可以用于Write Data Mask功能每个Byte Data都有一个DMI bit控制翻转 |
ZQ | ZQ | Reference | 校准输出驱动强度和终端电阻 |
VDDQ, VDD1, VDD2 | VDDQ, VDD1, VDD2H, VDD2L | Supply | 供电Pin,LPDDR5将VDD2拆成了VDD2H/L |
VSS, VSSQ | VSS, VSSQ | GND | 供电参考地 |
RESET_n | RESET_n | Input | RESET置为低,会重置整个Die。一个Die上只有一个RESET_n pad |
关于IO Pad,这里主要介绍下DQS相关Strobe信号的变化,在LPDDR4中DQS信号是双向信号,由数据传输的发起者产生。LPDDR5中则是将DQS的双向信号变成了两组单向差分信号用于Strobe:
- WCK_t/_c - MC Controller产生的strobe信号,Write场景下用于Sample Data,Read场景下用作start toggle
- DQ Data RDQS_t/_c - DRAM产生的strobe信号,基于WCK信号产生,Read场景下用于Sample Data,Write场景不做使用
相关硬件设计信息如下:
结论
相比LPDDR4,LPDDR5还是做了很多变化的。接下来会按照LPDDR4分享的结构依次分享LPDDR5下的内容:
- LPDDR Initial
- LPDDR Write Leveling and DQ Training
- LPDDR Read and Training
- LPDDR Write and Training
- LPDDR Clock Switch
并且也会附上相关的SIPI波形图,结合真实场景下的信息进行LPDDR技术的分享。后面等LPDDR6出来了,也会做相关的技术分享,欢迎关注。