做工业产品的工程师,大概率遇到过这种情况:常温下测试都好好的,一进高温箱跑半小时就出错。查了半天,最后发现是内存扛不住高温。
DRAM对温度的敏感程度,比很多人想象的高。这篇文章讲讲温度到底怎么影响内存,工业级和消费级的区别在哪,设计的时候要怎么留裕量。
一、DRAM是怎么存储数据的?为什么怕热?
先从原理说起。
DRAM的基本单元是一个电容加一个晶体管。电容充电了就是1,放电了就是0。
问题是:电容会漏电。不管你充得多满,电荷总会慢慢跑掉。所以DRAM必须不停刷新——每隔一段时间,把电容里的电读出来、放大、再写回去,不然数据就丢了。
温度越高,漏电越快。
这是半导体的物理特性:温度每升高10℃,漏电流大约翻倍。
漏电流翻倍意味着什么?意味着刷新频率要提高。以前每64ms刷新一次,现在可能要32ms甚至16ms刷新一次。刷新占用的总线时间多了,真正用来读数据的时间就少了,有效带宽就下降了。
更麻烦的是,高温下不只是刷新问题。
第二,高温下数据保持时间变短。
如果系统掉电了,DRAM里的数据理论上还能保持一会儿(因为电容里还有电荷)。温度越高,电荷跑的越快,保持时间就越短。这个参数在有些应用里很重要。
第三,高温下时序裕量变小。
DRAM的工作时序是在常温下定义的。温度升高,芯片内部延迟会变化,建立时间、保持时间的裕量都会变小。本来常温下时序很宽松,高温下可能就刚好踩线。
二、温度每升10℃,失效率翻一倍?
这不是夸张,是半导体可靠性的基本规律——Arrhenius模型。
简单说:半导体器件的失效率,和温度是指数关系。温度每升高10℃,失效率大约翻倍。
什么概念?
假设一颗内存芯片在55℃下,一年的失效率是100ppm。那到了85℃,失效率就可能变成400ppm。到了105℃,可能就是1600ppm。
这就是为什么工业级产品要做全温区筛选——不是常温下测试合格就行,要在整个工作温度范围内都合格。
消费级和工业级的区别,本质上就是"筛选温度范围"的区别。
|
项目 |
消费级 |
工业级 |
|
工作温度范围 |
0~70℃ |
-40~85℃(或-45~105℃) |
|
测试方式 |
常温抽样 |
全温区100%测试 |
|
高温老化 |
一般不做 |
125℃高温老化+复测 |
|
典型失效率(85℃) |
较高 |
低5-10倍 |
|
供货周期 |
1-2年 |
5-10年 |
注意:工业级不是"设计得更好",而是"筛选得更严"。同一款晶圆,有些颗粒温度特性好,筛出来做工业级;有些一般的,做消费级。成本差别就是筛选成本。
三、高温下内存带宽会降多少?
很多人不知道,高温下不仅稳定性下降,有效带宽也会降。
原因前面说了:刷新频率提高了,占用了更多总线时间。
粗略估算一下:
|
温度 |
典型刷新周期 |
刷新开销占比 |
有效带宽损失 |
|
25℃ |
64ms |
~2% |
~2% |
|
70℃ |
32ms |
~4% |
~4% |
|
85℃ |
16ms |
~8% |
~8% |
|
105℃ |
7.8ms |
~15% |
~15% |
看到了吗?到了105℃,刷新开销占了15%的总线时间,等于带宽直接打八五折。
如果你设计的时候按常温下的带宽算的余量,高温下可能就不够用了。
做工业级设计,带宽要留多少裕量?
建议:按常温带宽的70~80%做设计目标。也就是说,常温下算出来需要20GB/s的带宽,选芯片的时候要选理论带宽25-30GB/s的,这样高温下还有余量。
四、低温也有坑?别只盯着高温
很多人以为只有高温有问题,其实低温也有坑。
第一,低温下启动更慢。
DRAM在低温下,芯片内部延迟会增加。上电初始化、DDR Training的时间会变长。有些设计比较紧凑的系统,低温下可能启动超时。
第二,低温下信号质量变化。
PCB走线的阻抗随温度变化,芯片内部的驱动强度也随温度变化。常温下调好的DDR参数,低温下可能就不那么好了。
这就是为什么工业级内存要做-40℃的冷启动测试——不是只测高温就行。
五、设计时怎么留裕量?
总结几个实操建议:
我们做汉四ROCFOUR的工业级LPDDR4X的时候,每一颗都要经过全温区100%测试,从-45℃到125℃,高低温循环、高温老化都过一遍才出货。客户拿到手的每一颗,在它标注的温度范围内都是经过验证的,不是靠"标称"。
做工业产品,温度裕量是买不来的,是一颗一颗测出来的。
有内存温度相关的问题,欢迎评论区交流。



