第2章:内存颗粒工作原理

大家好,我是老张。做内存测试这么多年,我始终觉得一个道理颠扑不破——想修好一个东西,你得先搞懂它怎么工作的。内存颗粒也不例外。

这一章,咱们就聊聊DRAM的基本结构、存储单元原理、读写时序,还有常见的颗粒规格。嗯,内容有点干,但都是硬通货。

2.1 DRAM基本结构

DRAM的全称是Dynamic Random Access Memory,动态随机存取存储器。说白了,它就是个巨大的存储阵列。

我个人习惯把DRAM想象成一个大型的Excel表格。行是Row,列是Column。每个单元格就是一个存储单元,存1个bit的数据。

DRAM芯片内部大致分为这么几个部分:

  • 存储阵列(Memory Array):由行和列组成的存储单元矩阵
  • 行地址译码器(Row Decoder):负责选中某一行
  • 列地址译码器(Column Decoder):负责选中某一列
  • 灵敏放大器(Sense Amplifier):这个很关键,负责读取存储单元里的微弱信号
  • 控制逻辑(Control Logic):管理读写时序和刷新操作

我记得刚入行那会儿,总觉得灵敏放大器就是个放大器而已。后来在项目中遇到一次读数据错误,排查了三天才发现是灵敏放大器阈值漂移了。从那以后,我对这个模块就格外上心。

2.2 存储单元原理

DRAM的存储单元,结构其实很简单——一个晶体管加一个电容。业内叫1T1C结构。

为什么会这么设计?你想想看,电容可以存储电荷,有电荷代表1,没电荷代表0。晶体管就是个开关,控制能不能读写这个电容。

关键点:DRAM之所以叫"动态",就是因为电容会漏电。电荷会慢慢跑掉,所以必须定期刷新(Refresh),否则数据就丢了。

这里有个常见的误解。很多人以为DRAM存储单元里的电容很大,其实不然。我测过一些颗粒,单个存储单元的电容大概在30-50fF(飞法)级别。什么概念?比我们电路板上的寄生电容还小。

所以灵敏放大器的作用就体现出来了——它要把这么微弱的电荷信号放大到逻辑电平可识别的范围。

我的经验:在故障分析中,如果遇到间歇性的数据错误,十有八九是存储单元的电容漏电异常。我曾经遇到一个案例,某批次颗粒在高温下频繁报错,最后定位到是电容介质层有缺陷。

2.3 读写操作时序

DRAM的读写时序,是测试工程师必须啃下来的硬骨头。我建议你把它当成一套固定的舞步来记。

读操作

读操作大致分三步:

  1. 激活行(ACTIVATE):先给行地址,把整行数据读到灵敏放大器里
  2. 读列(READ):再给列地址,从灵敏放大器里读出指定列的数据
  3. 预充电(PRECHARGE):读完把位线恢复到预充电电压,准备下一次操作

这里有个关键参数叫tRCD(RAS to CAS Delay),就是行激活到列读取之间的等待时间。为什么要有这个等待?因为灵敏放大器需要时间把信号稳定下来。

我记得有一次调试DDR4颗粒,发现tRCD设小了,读出来的数据全是乱的。当时我盯着示波器看了半天,才意识到是时序参数没给够。

写操作

写操作和读类似,但方向相反:

  1. 激活行:同样先激活行
  2. 写列(WRITE):把数据写入灵敏放大器,再写入存储单元
  3. 预充电:恢复位线电压

写操作有个参数叫tWR(Write Recovery Time),是写入完成后到预充电开始的最小间隔。这个时间是为了让数据充分写入电容。

注意:写操作比读操作更"脆弱"。我曾经遇到过一批颗粒,读操作完全正常,但写操作偶尔失败。最后发现是tWR设得太紧,电容还没来得及充满电就被切断了。

刷新操作

刷新是DRAM特有的操作。标准规定,每64ms内,所有行必须被刷新一次。DDR4和DDR5的刷新周期更复杂,有All Bank Refresh和Per Bank Refresh之分。

我个人习惯在测试时特别关注刷新相关的故障。因为刷新出问题,往往表现为整片数据丢失,而不是单个bit错误。

2.4 常见颗粒规格

市面上常见的DRAM颗粒,按代际分主要有这么几类:

规格 电压 数据速率 常见容量 应用场景
DDR3 1.5V 800-2133 MT/s 1Gb-8Gb 老旧设备、嵌入式
DDR4 1.2V 1600-3200 MT/s 4Gb-16Gb 主流PC、服务器
DDR5 1.1V 4800-6400 MT/s 16Gb-64Gb 新一代PC、数据中心
LPDDR4 1.1V 1600-4266 MT/s 4Gb-32Gb 手机、平板
LPDDR5 1.05V 3200-6400 MT/s 8Gb-64Gb 旗舰手机、汽车

除了代际,颗粒还有封装形式的区别。常见的有:

  • BGA封装:球栅阵列,目前主流,DDR4/DDR5都用这个
  • TSOP封装:老式封装,DDR2及以前常见
  • POP封装:堆叠封装,手机内存常用

嗯,这里要提醒一句。选型时别只看容量和速度,还要关注颗粒的刷新周期、温度范围、以及是否支持ECC。我在项目中吃过亏,选了不支持ECC的颗粒用在服务器上,结果数据错误率高了两个数量级。

避坑指南:我曾经在选型时忽略了一个细节——颗粒的刷新温度范围。普通颗粒只支持0-85°C的刷新,工业级需要-40-95°C。结果产品在高温环境下频繁死机,最后全部召回更换。从那以后,我选型必看温度等级。

小结

这一章我们聊了DRAM的基本结构、存储单元原理、读写时序和常见规格。说白了,DRAM就是个需要不断刷新的电容阵列。理解了这个本质,很多故障现象就能解释得通了。

下一章,我们会深入内存颗粒的故障模式,看看实际工作中最常见的那些"坑"长什么样。

公众号:蓝海资料掘金营,微信deep3321