大数跨境
0
0

LPDDR内存学习笔记

LPDDR内存学习笔记 Equilibria
2025-11-17
0

1. 简介

LPDDR全称为(Low Power Double Data Rate SDRAM),翻译过来为"低功耗双倍速率动态随机存取存储器"。


Double Data Rate指的是在一个时钟周期内发送或接收两笔数据,可以理解为在时钟上升沿和下降沿都在传输数据,在同样的时钟频率下获得翻倍的传输效率。


目前DDR规范已经来到了6.0版本,消费类电子主要使用LPDDR5,高性能PC及服务器也在慢慢从DDR4替代为DDR5。


DDR的速率用MT/s来表示,其中MT表示:Mega Transaction,也就是用每秒钟进行多少次传输来描述速率,如图所示:


DDR带宽一般使用MB/s或GB/s来表示每秒传输的字节数。假设DDR4速率为3200MT/s,位宽为32bit,下面介绍对应计算方法:


理论带宽 = 速率 * 位宽/8 = 3200MT/s * 32/8=12.8GB/s


但实际带宽还需要乘上效率系数才行,因为在DDR的总线上不只有数据,还有一些命令的传输,如reflash,读写命令等,一般效率为70~90%之间。


实际带宽 = 速率 * 位宽/8 * 效率 = 3200MT/S * 32/8 * 0.7=8.96GB/s


2. 结构框图


3. Layout拓扑

DDR在PCB Layout中主要有两种拓扑结构,分别为T型和fIy-by。拓扑结构的改变,也会导致信号之间产生不同的偏差,所以不同的拓扑上Training过程中也会有一些差异。


T型拓扑主要在DDR3之前会使用,适用于传输速率不是很高的场景,T型拓扑在Layout上更容易实现CA、CLK的等长布线,使得CA、CLK相对于DQ之间的skew能够在PCB设计上就满足spec要求。


DDR3开始,时钟频率已经超过1GHz了,如果使用T型拓扑,信号质量会很差,相应的眼图质量也很差,fly-by拓扑则可以解决这个问题,但是会衍生出另一个问题:CA/CLK到达每个颗粒的时间不一致。为了解决这个问题,在 Training上也会有些调整,主要是增加了Write Leveling这个步骤。


4. 内存条

4.1 类型

1. SIMM(Single Inline Memory Module, 单列直插内存模块) 

2. DIMM(Dual Inline Memory Module, 双列直插内存模块

3. UDIMM(Unbuffered DIMN, 无缓冲双列直插内存模块) 

4. RDIMM(Registered DIMM,带寄存器双列直插内存模块) 

5. LRDIMM(Load-Reduced DIMM,比RDIMM多了DATA Buffer) 

6. SODIMM(Small Outline DIMM, 小一号的DIMM)


4.2 SIMM与DIMM区别

SIMM为单列直插内存条,算是上个世纪的产物了,一开始在PCB上只有单面贴了内存颗粒(1、4、16MB),后续容量需求增大后,也出现了双面贴内存颗粒的形式,它同样拥有两排金手指,但是两排金手指的信号是一样的,信号数量分为30和72这两种形式,传输数据位宽分别为8bit和32bit。


DIMM为双列直插内存条,形式上与SIMM区别不大,金手指引脚增加到168个,数据位宽增加到64bit,每个面都有 64bit数据信号。


4.3 常见内存条形态


5. Training

以LPDDR4举例,其标准里面描述的Training类型有以下: 

1. ZQ Calibration

2. Command Bus Training

3. CA Vref Training

4. Read Preamble Training

5. RD DQ Calibration

6. Write Leveling

7. DQS-DQ Training

8. DQ Vref Training


5.1 ZQ Calibration
主要用于将SDRAM内部驱动电阻组校准为较为精准的240Ω,其目的是阻抗匹配,提高信号完整性。原理是利用外部高精度240Ω作为参考,调节内部电阻,并检测分压值,当电压达到VDDQ/2的附近,则完成校准。


5.2 Command Bus Training

主要是调整CS与CA的相位,使得这些信号在被CK采样时,满足SETUP和HOLD时序,从而保证SDRAM能够正确且稳定的接收到相应的命令。


5.3 CA Vref Training

作用在于找到一个合适的参考电压,在该参考电压下能获得最宽的眼图,通常是配置 Command Bus Training使用,这两个training步骤可以找到CA的眼图中心,提高数据采样的稳定性。


5.4 Read Preamble Training

作用是让DDR controller能正确采样到DQS。一般在读操作中,DDR controller会截取一段DQS区间去采样,提前或延后了都会导致数据丢失,所以需要做这个操作,避免丢失数据。


5.5 RD DQ Calibration

作用是对齐读DDR时的DQS和DQ。使得在DDR controller侧,通过DQS能采样到有效的DQ,从而保证DDR controller能够正确接收到数据。


5.6 Write Leveling

作用是对齐CK和DQS,因为在fly-by拓扑中,DDR颗粒间接收到的CK是有偏差的,为了消除这个偏差,则需要做Write Leveling操作,使得CK和DQS到达每个DDR颗粒都是对齐的


5.7 DQS-DQ Training

作用是对齐DQS和DQ,因为在写操作时,DQ是通过DQS采样的,所以需要将DQS的边沿对齐到DQ中心,从而保证DQ能稳定被采样到。


5.8 DQ Vref Training

作用同样也是寻找一个合适的参考电压,在该参考电压下能获得最宽的眼图。通常是配置 DQS-DQ Training使用,这两个training步骤可以找到DQ的眼图中心,提高数据采样的稳定性。


6. 应用场景

LPDDR在SoC系统上作为一个从设备,在同一个总线上的Master(具备主动发起访存能力)设备都能够对 LPDDR发起读写访问,所以其作用也具备多样性。


1. 运行大型的软件系统;

2. 运行时异常log的临时存储;

3. 通过PCIe映射给Host使用。


,感谢阅读,如果喜欢感谢三连。


相关文章:MBIST学习和验证笔记

【声明】内容源于网络
0
0
Equilibria
分享在自我迭代过程中掌握的技能树、确立的原则和一些读过的书
内容 31
粉丝 0
Equilibria 分享在自我迭代过程中掌握的技能树、确立的原则和一些读过的书
总阅读37
粉丝0
内容31