第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的读写时序,是测试工程师必须啃下来的硬骨头。我建议你把它当成一套固定的舞步来记。
读操作
读操作大致分三步:
- 激活行(ACTIVATE):先给行地址,把整行数据读到灵敏放大器里
- 读列(READ):再给列地址,从灵敏放大器里读出指定列的数据
- 预充电(PRECHARGE):读完把位线恢复到预充电电压,准备下一次操作
这里有个关键参数叫tRCD(RAS to CAS Delay),就是行激活到列读取之间的等待时间。为什么要有这个等待?因为灵敏放大器需要时间把信号稳定下来。
我记得有一次调试DDR4颗粒,发现tRCD设小了,读出来的数据全是乱的。当时我盯着示波器看了半天,才意识到是时序参数没给够。
写操作
写操作和读类似,但方向相反:
- 激活行:同样先激活行
- 写列(WRITE):把数据写入灵敏放大器,再写入存储单元
- 预充电:恢复位线电压
写操作有个参数叫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