存储器件基础:SRAM、DRAM、Flash、RRAM、MRAM、PCM
各位同学,咱们今天聊聊存储器件。说实话,做存算一体芯片,不懂存储器件就像厨师不认识食材——根本没法干活。我这些年踩过的坑,有一半都跟存储器的特性没吃透有关。今天咱们就把这些器件掰开揉碎了讲清楚。
一、存储器的基本分类
存储器按易失性分两大类:掉电丢数据的叫易失性存储器,不掉电的当然就是非易失性。按访问方式又分随机存取和顺序存取。但咱们做存算一体,更关心的是——能不能在存储单元里直接做计算。
我个人习惯把存储器分成三个梯队:
- 传统三剑客:SRAM、DRAM、Flash。这三位你肯定熟,但它们的物理局限越来越明显。
- 新兴四小龙:RRAM、MRAM、PCM、FeRAM。这些才是存算一体的主力军。
- 特殊选手:比如NOR Flash、NAND Flash,虽然都是Flash,但内部结构天差地别。
核心观点:存算一体芯片的选型,本质是在「速度、密度、功耗、耐久度」四个维度上做权衡。没有完美的器件,只有最适合的方案。
二、SRAM:最快的代价
SRAM,静态随机存取存储器。它的基本单元是6个晶体管组成的锁存器。为什么叫静态?因为只要不断电,数据就能一直保持,不需要刷新。
我在项目中遇到过最头疼的事:用SRAM做存算一体加速器,面积大得离谱。一个6T SRAM单元的面积,是DRAM的几十倍。你想想看,同样1MB的存储,SRAM能占掉整个芯片面积的30%以上。
SRAM的核心特性:
- 速度极快:访问延迟通常在1-5ns,跟逻辑门差不多
- 功耗较高:静态漏电是主要问题,尤其是先进工艺下
- 密度低:6T/8T单元,面积大
- 耐久度好:理论上无限次读写
我的经验:SRAM最适合做片上缓存和寄存器文件。在存算一体架构里,我一般只用它做中间结果的暂存,不会用它做主存储——太贵了。
三、DRAM:容量与速度的妥协
DRAM,动态随机存取存储器。它的基本单元是1个晶体管加1个电容(1T1C)。为什么叫动态?因为电容会漏电,需要定期刷新。
DRAM的密度比SRAM高得多,但速度慢了一个数量级。而且,刷新操作会带来额外的功耗和延迟。我记得有一次做DDR4接口设计,刷新周期没算好,导致数据丢失——嗯,从那以后我再也不敢轻视刷新时序了。
DRAM的核心特性:
- 速度中等:访问延迟约50-100ns
- 密度高:1T1C单元,面积小
- 需要刷新:每隔64ms要刷新一次
- 功耗较高:刷新和行激活都耗电
注意:DRAM在存算一体里有个致命问题——它的读操作会破坏存储的数据(破坏性读出)。这意味着每次读完后必须写回去,计算延迟会翻倍。
四、Flash:非易失的王者
Flash存储器,分NOR和NAND两种。它们的共同点是使用浮栅晶体管存储电荷。区别在于:NOR是随机访问,适合代码存储;NAND是页访问,适合大容量数据。
Flash的写入速度很慢(毫秒级),而且有擦写寿命限制(通常10万次)。我在做嵌入式系统时,经常遇到Flash写坏的情况——尤其是频繁写日志的场景。后来我学乖了,用磨损均衡算法来延长寿命。
Flash的核心特性:
- 非易失性:掉电不丢数据
- 写入慢:毫秒级,比读慢1000倍
- 擦写寿命有限:SLC约10万次,MLC/TLC更少
- 密度高:NAND Flash是当前密度最高的存储器
存算一体视角:NOR Flash可以做存内计算,因为它支持随机访问。NAND Flash不行,它的页访问模式限制了计算灵活性。我见过一些团队用NOR Flash做神经网络权重存储,效果还不错。
五、新兴非易失存储器:RRAM、MRAM、PCM
这三兄弟是存算一体的希望所在。它们既有非易失性,又有接近SRAM的速度,密度还比SRAM高。当然,各有各的毛病。
RRAM(阻变存储器)
RRAM通过改变介质层的电阻来存储数据。它的结构很简单:金属-绝缘体-金属(MIM)。施加电压后,绝缘层会形成或断开导电细丝,电阻就变了。
我在实验室测过RRAM器件,最头疼的是阻值分布不均匀。同一个器件,写100次可能得到100个不同的电阻值。这给多值存储带来了挑战。
MRAM(磁存储器)
MRAM利用磁性隧道结(MTJ)的磁阻效应。两个磁性层的磁化方向平行或反平行,对应不同的电阻值。STT-MRAM是目前的主流,用自旋极化电流来翻转磁化方向。
MRAM的速度很快,接近SRAM,而且耐久度极高(10^15次以上)。但它的存储密度不如RRAM,因为MTJ器件尺寸较大。
PCM(相变存储器)
PCM利用硫系化合物在晶态和非晶态之间的电阻差异。晶态电阻低,非晶态电阻高。通过加热和冷却来控制相变。
PCM的问题在于功耗——相变需要加热到600°C以上,写操作电流很大。而且,相变材料的成分漂移会导致电阻值随时间变化。
三种新兴存储器的对比:
| 特性 | RRAM | MRAM | PCM |
|---|---|---|---|
| 写速度 | ~10ns | ~10ns | ~100ns |
| 耐久度 | 10^6-10^8 | 10^15 | 10^8-10^12 |
| 密度 | 高(可3D堆叠) | 中 | 中高 |
| 多值能力 | 强 | 弱 | 中 |
| 主要问题 | 阻值波动 | 写电流大 | 功耗高 |
六、存算一体视角的器件选择
做存算一体芯片,我建议你按这个思路选器件:
- 计算精度要求高:选SRAM或MRAM。它们的阻值稳定,适合高精度计算。
- 需要大容量存储:选RRAM或PCM。它们可以3D堆叠,密度高。
- 追求低功耗:选RRAM。它的写功耗最低,而且不需要刷新。
- 需要高耐久度:选MRAM。10^15次擦写,基本不用担心寿命问题。
避坑指南:我曾经在一个项目里选了PCM做存算一体核心,结果发现写操作功耗太大,芯片散热根本压不住。后来换成RRAM,功耗降了3倍。所以,一定要先做功耗仿真再流片。
七、知识体系总览
下面这张图总结了本章的核心内容。我习惯用这种框架图来梳理知识,一目了然。
这张图把存储器件分成了三大类,并给出了选型时的四个关键维度。你仔细看看,会发现没有哪个器件在所有维度上都占优。这就是为什么存算一体芯片设计需要权衡——说白了,就是根据应用场景做取舍。
好了,存储器件的基础就讲到这里。记住,理解这些器件的物理原理和特性,是做好存算一体设计的第一步。后面我们会深入讲如何在存储器里做计算,那才是真正有意思的部分。
公众号:蓝海资料掘金营,微信deep3321