1. 从单个存储器件到大规模阵列,到底卡在哪
新型存储器的新闻这两年就没断过,RRAM、MRAM、FeRAM、PCRAM、忆阻器,每一个单拿出来都能讲出不少“实验室神话”:纳秒级写入速度、十万次以上耐久性、多比特存储能力、极低功耗。数据一摆出来,看起来每一项都比传统闪存漂亮不少。可真要问你,这些器件现在大规模量产了吗?用得最多的地方是什么?答案又变得模糊了。
我这几年前前后后接触过不少做存储器件和存算一体芯片的团队,大家聊到后面都会绕回同一个痛点:单颗器件在探针台上测出来的参数,跟最后集成到阵列里跑出来的表现,简直像是两个完全不同的东西。标题里那句“从单个器件到大规模阵列,新型存储器还缺少什么”,在我看来其实问到了这个领域的要害。
单器件做得再漂亮,充其量只能证明物理机制可行、基础性能天花板够高。但从一个点变成一个面,中间横着一整套工程化的深水区:一致性与良率、阵列架构设计、外围电路匹配、寄生参数控制、热量管理、测试筛选方案、冗余与纠错策略。任何一个环节掉链子,最终的芯片产品都立不住。这也是为什么这么多年了,新型存储器的出货大头仍然集中在嵌入式、小容量、利基市场,真正要闯进DRAM和NAND主导的大容量主战场,还有不小的距离。
这篇文章想聊的,就是从“单点突破”到“阵列落地”这段路上,到底有哪些问题是绕不过去的,哪些方案是目前行业里已经走通的思路,以及阵列级设计能从毫米波大规模天线阵列的建模方法里借到哪些经验。内容会更偏向工程实践,把一些本质上很底层、但实际设计中必须面对的细节摊开来讲。不管你是做器件出身、搞芯片设计,还是单纯关注存储器赛道,应该都能从中找到一些值得琢磨的东西。
2. 单器件性能漂亮,不代表阵列就能直接用
2.1 良率:单个器件能测通,阵列可能连不起来
先把最现实的问题摆出来。单颗器件测试的时候,你可以在显微镜下慢慢找,总能找到一颗性能理想的单元。但到了阵列里,是成千上万颗甚至几十亿颗器件同时上阵,这时候最该关心的不是最优值,而是分布和良率。
拿RRAM来说,单颗器件在forming过程后的初始阻值、set/reset电压、高阻态和低阻态的窗口,每一颗都会有差异。工艺稍微波动一下,同一片晶圆上不同位置的器件特性就可能拉开明显差距。做单器件研究的人可能感受不深,但一做到阵列,比如常见的8×8、32×32交叉阵列,你就会发现漏电流叠加带来的串扰问题被放大,写入时选中的单元和未选中的单元之间互相干扰。只要有一批器件的阻值窗口不够宽,整个阵列的读判断就会出错。
这里要说一个很实在的行业经验:评估一种新材料能不能走向产品,第一时间不是看它的最佳参数,而是先看它在4英寸或8英寸晶圆上的分布曲线。如果你拿到的晶圆内器件参数变异系数能控制在5%以内,这个材料就很有希望;如果变异系数跑到20%以上,即便平均性能再惊艳,工艺整合团队也会直接劝退。原因很简单,阵列不可能为每一颗器件做单独校准,太多工程成本投进去根本划不来。
从单器件过渡到阵列,良率问题还有一个隐藏维度——缺陷容忍度。一颗器件坏了,如果工艺不能容忍这个缺陷,或者电路架构无法隔离这个故障单元,那整个阵列都可能报废。传统NAND之所以能做成几百层堆叠,很大程度上依赖的是严格的ECC纠错和坏块管理机制,新型存储器要走向大阵列,这套思路一样得跟上,而且器件本身的缺陷分布要比NAND更复杂,因为模拟态存储、多阻态存储对缺陷更敏感。
2.2 一致性:统计分布比平均值重要得多
做器件的人喜欢列出的数据是“set电压平均值0.7V,reset电压平均值-0.8V,耐久性10^8次”,但做阵列和产品的人更关心的是这组数字背后的分布尾巴有多长。平均值只是参考,一种器件能不能阵列化,核心要看“最差一颗”能不能扛住规格书要求。
举个我在实际项目中遇到的例子。有次我们在评估一种基于HfO2的RRAM器件,单颗测试时循环寿命能做到10^8,看起来非常理想,把数据文件铺开看统计分布,发现P10到P90的循环寿命差了将近两个数量级。这意味着如果按10^7来定规格,大概有20%的器件不达标;如果按10^6来定,虽然良率上去了,但产品竞争力又不够。最后怎么解决的?靠的是在阵列版图上做冗余设计,把寿命较短的单元用冗余行替代,再用动态磨损均衡算法摊平写入压力。这其实就是一种从器件思维转向系统思维的典型转变。
为什么一致性这么难做?物理根源在于开关机制本身的随机性。RRAM的导电细丝形成和断裂是随机过程,MRAM的磁翻转也有热稳定性波动问题,PCRAM的非晶化过程对冷却速率极其敏感。这些微观机制决定了器件的参数天然带有统计波动。要减小波动,材料配方要优化,电极界面工程要做细,退火工艺要调,甚至阵列周边电路都要配合做补偿。这不是某一个团队能独立搞定的事,需要材料、工艺、设计三方反复迭代。
如果你正在做新型存储器件方向的研究,我建议从第一天起就养成一个习惯:不要只保留最好看的Id-Vg曲线或I-V回线,把整片晶圆的分布数据都存好,尤其是每颗器件的电学参数与位置对应关系。这些数据将来做阵列设计、做工艺改进、写论文做统计图,都是最宝贵的一手资料。
2.3 工艺均匀性:从单点实验室工艺到晶圆级制造
单颗器件可以在实验室里用电子束光刻精雕细琢,甚至一颗一颗地做。但到了阵列甚至产品级,必须依赖半导体量产设备,比如深紫外光刻、原子层沉积、物理气相沉积、化学机械抛光,这些设备的工艺窗口往往比实验室手段窄得多。
一个很典型的例子是RRAM的开关层厚度。实验室里用ALD做5纳米的HfO2,厚度均匀性控制在±1%以内都不难,因为做的是单片验证。到了12英寸量产线上,同样做5纳米薄膜,整个晶圆哪怕做到±2%到±3%,都已经是很高水平了。但这个厚度波动会直接影响器件的forming电压和阻值分布。如果开关层在晶圆边缘偏厚了0.3纳米,很可能形成电压就有明显漂移,进而影响阵列的读写操作窗口。
类似的情况也出现在电极刻蚀环节。单颗器件的电极尺寸可以做得很大,工艺上很宽容。阵列化之后,器件尺寸要微缩、间距要减小、刻蚀选择比要严格控制,一旦出现刻蚀残留或者底切,器件的电学特性就会产生变异。这些工艺上的坑,真的是只有做阵列的时候才会集中暴露出来。材料方向的团队如果只停留在“我把器件做得有多小、性能有多好”的层面,没有尽早跟工艺集成团队对齐量产可行性,后面的路只会越走越窄。
3. 阵列级架构:牵一发而动全身
3.1 交叉阵列的噩梦:漏电流与串扰
新型存储器里最典型的大规模阵列结构是交叉阵列,也就是底电极和顶电极垂直交叉,存储介质夹在交点上,成一个简单的十字结构。这种结构的优势是密度极高、工艺简单,理论上可以达到4F²的单元面积,比SRAM和DRAM都紧凑。但它有一个先天性难题——漏电流路径太多了。
在一个没有选择器或者选择器性能不够好的交叉阵列里,当你想要读取某一颗目标器件时,电流不仅会流过目标器件,还会通过相邻器件形成寄生路径。阵列规模越大,寄生路径越多,漏电流的影响就越严重。业界叫这个问题为“潜行电流”,英文是sneak path。早年做RRAM阵列的论文里,你能看到很多团队就是被这个问题卡住,阵列只能做到很小的规模,性能数据漂亮但实用性差。
解决潜行电流有几条典型的路线。一条是给每个存储单元串一个选择器件,比如晶体管(1T1R结构)、二极管或者选通管,通过选择器把未选中的路径断开。另一条是从材料本身入手,开发自整流器件或者非线性器件,让未选中的单元因其自身的非线性特性不会导通太多电流。再有一条是优化读电路,用更精确的读方案从含有漏电流的混合信号里把目标信息提取出来。三条路线各有适用场景,1T1R性能最稳但面积吃亏,自整流器件面积效率高但对材料要求苛刻,读电路优化属于锦上添花,不能解决根本的漏电问题。
从我的经验看,阵列规模一旦超过兆比特级别,没有选择器几乎是走不通的。所以在评估一种新型存储介质时,制程和架构团队通常会首先问一个务实的问题:你想用它做什么?如果是嵌入式场景,MLC级别的容量配合成熟的CMOS工艺和晶体管选择器最稳妥;如果是高密度存储,那就得想清楚选择器怎么集成、功耗怎么摊销。这比单纯追求存储介质本身的性能紧迫得多。
3.2 外围电路:存储器真正的“隐形决定者”
很多人有个误解,以为存储芯片的核心就是存储阵列本身,外围电路只是一些无关紧要的辅助。实际上,在阵列规模做大的过程中,外围电路的设计难度提升得非常快,甚至可以说,产品能不能成,外围电路占了一半以上的戏分。
存储芯片的外围电路包括行译码器、列译码器、灵敏放大器、写入驱动电路、电荷泵、参考电压/电流源、时钟与逻辑控制模块。新型存储器因为是电阻型存储,跟传统DRAM的电容型存储机理完全不同,所以外围电路也不能照搬。比如RRAM的set过程需要施加一个持续一定时间的电压脉冲,reset过程需要不同的极性或电流限制,这就对写入驱动电路提出了更复杂的要求。MRAM则因为写入需要双向电流,外围电路要考虑电流方向切换,同时要满足高速写入时的电流密度要求。
我见过不少项目在单器件层面测出的速度非常快,比如亚纳秒级别翻转,但一到阵列里实测,整个存储宏单元的工作频率远远达不到器件本身的极限。瓶颈往往就出现在外围电路上:驱动能力不够、RC延迟太长、灵敏放大器无法在目标时间内分辨出足够小的信号差。所以后来大家就形成一个共识:评价一种新型存储器的真正潜力,不能只看器件特性,架构和外围电路的搭配同样重要。
如果你的团队正在做新型存储器的阵列验证,我的建议是尽早把存储器编译器或者宏单元生成工具纳入考虑,不要用手工画版图的方式硬搭大规模阵列。把阵列的行列地址译码、灵敏放大器、时序控制都抽象成可复用的模块,在不同容量之间快速切换,这样才能在最短时间内做出版本迭代,找出存储介质和外围电路的最佳匹配方案。
3.3 模拟存储与多比特:从存储到计算的额外复杂度
现在“存算一体”是个大热方向,很多新型存储器的研究都往这个方向靠。存算一体的核心思想,是在存储阵列内部直接完成一部分计算,比如用欧姆定律做乘加运算。这时候对存储器件的要求就从“存数字比特”升级成了“存模拟权重”,也就是要在不同电导状态下精确保持数值,并且实现线性可调。
从单器件到阵列,做存储和做计算两件事的难度是叠加的。做数字存储时,高阻态和低阻态只需要拉开足够的窗口就行,中间的具体阻值没那么关键;做模拟计算时,每个单元的阻值要精确落在目标值上,而且更新权重时的步进要足够细、足够线性、可重复性要好。阵列里成千上万的单元同时更新权重,单元间的一致性会直接影响计算精度。这个问题在算法层面可以用训练策略做一定程度的容忍,但如果你本身的阻值更新就是高度非线性的,那即便算法再聪明,也很难在规模大起来之后保持稳定的计算精度。
这里有一套我自己总结的评估存算一体器件成熟度的几个检查项:一、阻值更新是否具有对称性,也就是把权重调大和调小的难易程度是否接近;二、更新步长的非线性程度,也就是每步变化是否均匀;三、状态保持能力,也就是权重写进去后能稳定多久不漂移;四、多比特能力,也就是单个器件能可靠存储几个比特。这四个维度都过关,才能谈阵列级的存算一体系统设计。任何一项有明显短板,后面都得靠系统层面的补偿来买单,做出来的芯片不是面积浪费就是功耗超标。
4. 从毫米波大规模天线阵列建模里能借到什么
标题里提到了一个很有意思的跨界类比:“毫米波与大规模天线阵列建模”。我第一反应是,这两个方向表面上一个搞通信、一个搞存储,风马牛不相及,但仔细想想,在“从单个单元到大规模阵列”这件事上,它们面对的底层难题惊人地相似。
毫米波天线阵列里,单个天线单元的增益、方向图、阻抗带宽即使做得很好,一旦拼成几十上百个单元的大规模阵列,就会出现单元间互耦、扫描盲区、增益波动、热漂移等一系列问题。传统设计方法往往是先从单个天线单元入手做仿真优化,再放到阵列环境里调整,迭代周期长、实验成本高。最近这些年,业界开始大规模采用基于统计模型和机器学习的阵列建模方法,用大样本仿真数据训练出“单元-阵列”之间的映射关系,从而在设计早期就预测大规模阵列的整体性能。
这种方法论对新型存储器阵列设计有直接的参考价值。存储阵列同样面临“单元特性到阵列性能”的鸿沟,同样需要在大规模维度上做性能预测和优化。传统做法是一颗一颗测、一片一片调,效率很低。如果能够建立起基于器件参数分布、阵列拓扑结构、外围电路特性的系统级模型,用仿真数据驱动设计迭代,就能大幅缩短从器件到阵列的收敛时间。比如,可以用蒙特卡洛仿真模拟器件参数波动对阵列良率的影响,再用响应面法或者神经网络拟合出优化方向,指导工艺参数和设备参数调整。这在半导体行业其实并不新鲜,先进逻辑工艺早就用上了这类方法,只是存储阵列领域因为器件类型多、结构异构,建模难度更大,落地案例还不算多。
我在参与存储阵列项目时,有几次深刻的体会:团队之间的知识断层往往出现在“器件物理”和“电路设计”的接口处。材料团队给出一堆器件参数,设计团队不知道这些参数怎么转化为电路模型参数;设计团队提需求,材料团队也不知道哪些参数是最需要优先优化的。归根到底,缺的正是跨越两个层级、能够把器件级波动映射到阵列级性能的桥接工具。结合通信领域做大规模阵列建模的经验,这个桥接层通常可以从三个层面着手:一是建立器件参数的概率分布模型,二是把分布模型带入阵列仿真环境,三是从阵列性能目标反向推导出器材参数的容差范围。三个层面都做到位,器件和设计两边就能真正“打同一份工”。
做存储阵列的人其实可以多翻一翻通信和射频领域的论文,尤其是大规模MIMO天线阵列的建模与校准方法。里面关于阵列互耦补偿、统计信号处理、非线性校准的思路,完全可以迁移到存储阵列的读写校准、串扰补偿和良率提升上来。跨领域方法论迁移这件事,在工程技术上的价值有时比在某个领域内部抠参数还要大得多。
5. 当前行业里几条务实的规模化路线
5.1 3D集成:用垂直堆叠换容量
平面内做大规模阵列,最直接的瓶颈就是面积和良率的矛盾。阵列越大,面积越大,缺陷出现的概率越高,良率掉得越快。3D集成是绕开这个矛盾最有效的路线,把存储层垂直堆叠起来,在面积不变的情况下提高容量,同时还可以把堆叠层做在逻辑电路上方,节省芯片总面积。
NAND是3D集成最成功的案例,从早期的32层一路堆到了几百层,靠的就是极高的刻蚀工艺能力和材料选择优化。新型存储器要想复制这条路线,难点在于温度预算。在逻辑电路上方堆叠存储层时,后续工艺的热预算不能太高,否则底层逻辑晶体管的性能会退化。RRAM和MRAM因为工艺温度相对较低,是目前被认为最适合做3D集成的候选者;PCRAM温度预算略高,做3D集成时限制就多一些。
实际做3D存储阵列时,还有一个容易踩坑的问题:垂直互连的通孔,也就是穿过堆叠层的接触孔,它的电阻和一致性必须严格控制。如果某一层到另一层的通孔电阻偏差过大,不同层之间的读写速度就会不一致,进而影响整个存储系统的性能。这个问题在仿真阶段可能被忽视,但在流片之后会非常头痛,因为返工成本极高。
5.2 选择器与外围架构的协同优化
选择器是交叉阵列成败的关键。目前业界比较看好的方案包括氧化物基阈值选通管、双向二极管、以及基于晶体管的1T1R方案。每一种选择器都有自己的优势区间,也都有明显的短板。阈值选通管漏电小、开关比大,但工艺窗口和耐久性还有争议;晶体管选择器可靠性最高,但单元面积偏大,集成密度和存储介质的微缩进程绑定。
选择器与存储介质之间的匹配,是一个需要系统级优化的过程。比如,选择器的开启电压必须跟存储介质的set/reset电压窗口错开,否则会出现误选中甚至写坏旁边单元的问题。选择器的电流驱动能力必须覆盖存储介质的写入电流需求,电流不够的话写入会失败或者速度变慢。选择器的寄生电容和开关速度,又会直接影响阵列的读写速度。
从系统设计的角度看,外围电路也不能只是单纯“围绕”阵列做,而是需要和器件特性同步设计。比如,写入驱动电路要能提供精准的电压脉冲和电流限制,读电路要能在最短积分时间内分辨出高阻和低阻的差异。这部分工作往往需要联合仿真反复迭代,也是目前很多存储团队投入时间最多的地方之一。
5.3 测试、筛选与修复:良率提升的临门一脚
一颗存储芯片能不能交付,测试和筛选环节几乎是生死线。新型存储器的测试比传统存储更复杂,因为很多器件参数在测试过程中就会发生变化。比如RRAM在测试过程中如果施加了过高的电压或者过长的脉冲,可能会改变器件的初始状态,造成“测试诱导漂移”。如何在不损伤器件的前提下完成高效测试,本身就是一套工程学问。
行业里通常的做法是在阵列里加入冗余行和冗余列,配合内建自测试和修复逻辑,在出厂前把有缺陷的单元替换掉。这套思路在DRAM和NAND上已经很成熟,但在新型存储器上需要重新适配,因为新型存储器的缺陷模式跟传统存储不一样。比如MRAM的自旋转移力矩翻转可能会出现写分布倾斜,RRAM则可能出现形成不完整导致的高阻缺陷。不同类型的缺陷,修复策略和使用策略的侧重点都会有差异。
从我个人的实测经验来看,测试环节最容易被低估的是温度敏感性。很多新型存储器的性能参数对温度非常敏感,尤其是高温场景下的数据保持能力和读写窗口。如果你在常温下方案全部验证通过,一到高温或者低温测试就崩了,那大概率是因为器件本身的材料特性在温度边界下发生了变化。阵列设计阶段如果没有预留足够的温度裕量,后面做温度筛选时会相当痛苦。
6. 实操心得与避坑经验
6.1 测单器件时就该同步做阵列仿真
我特别想强调一个工作习惯:如果你手头正在做单器件研发,一定要尽早把阵列仿真环境搭起来。不少人觉得阵列仿真应该是设计团队的活,自己做器件不需要关心,这个想法在项目前期也许没什么大问题,但到了需要推进阵列验证时,就会发现手里根本拿不出一套可信的器件模型。
搭建阵列仿真的一个基本步骤是,用你的单器件实测数据建立一个行为级模型。这个模型可以不用太复杂,但必须包含这几个参数:set/reset电压、高阻/低阻值、转换时间、以及参数波动的统计范围。把这些参数封装成一个可调模型,再放进阵列仿真环境里跑蒙特卡洛分析,观察不同参数波动下的阵列良率和读写裕量。这件事的价值在于,在你还不需要流片的时候就能提前暴露潜在问题,给材料优化方向提供依据。
有朋友问我,行为级模型的精度够不够?说实话,精度肯定不会像物理模型那么高,但早期阶段我们需要的不是精确的绝对数值,而是趋势和容差范围。等阵列流片数据回来,再用实测数据校准模型,精度自然会提升。你要是等到流片后才开始建立建模思路,很多问题已经被硬件焊死了,再想改就来不及了。
6.2 阵列版图阶段要留出调试余量
阵列版图设计和传统的数字电路版图设计有一个很大的不同:存储阵列的周边有大量的模拟电路,比如灵敏放大器、参考电流源、电荷泵,这些模块对噪声和寄生参数极其敏感。版图阶段如果布局不合理,信号干扰和电源压降会把阵列性能拖垮。
一个常见的坑是参考单元的设计。存储阵列里通常需要一组参考单元,用来提供读取时比较的基准电流或者基准电压。如果参考单元的布局跟阵列主体距离太远,或者周围环境跟普通存储单元不一致,参考值就会发生偏移,进而影响读判断的准确性。正确做法是尽量让参考单元处在跟阵列单元相同的环境下,并且布上足够多的冗余和校验机制。
另一个容易忽视的点是电源分配网络。阵列的写入操作往往瞬时电流需求很大,如果电源网络设计得不够强壮,写入过程中会出现明显的电压塌陷,导致写入不完整。在阵列规模比较大的情况下,电源网络的IR Drop分析必须做到最坏情况仿真,不能只看平均值。
6.3 面向产品化的参数表要尽早定义
做器件研究时,大家习惯关注的是“能达到多少”,但做产品时,要关注的永远是“需要达到多少”。建议在你开始阵列设计的同时,就着手梳理最终产品的规格参数表。比如目标容量是多少,阵列功耗上限多少,读写时间是多少,数据保持年限多少,接口协议是什么。
这个规格表是很有用的工具,它能反向指导你的器件选型、电路架构设计和工艺路线选择。就拿存储容量目标来说,如果你目标只是32Kb的嵌入式存储,许多阵列级难题可以简化处理;但如果你目标是Gb级独立存储,那么阵列规模、选择器方案、纠错机制、测试策略全都得重新审视。
规格表还有一个作用,就是让器件团队、设计团队、测试团队都围着同一个靶子使劲,减少“各干各的”造成的返工。我在项目里见过很多次,器件团队花了大力气把一个参数优化到极致,但产品规格完全不关心那个参数;而产品真正关心的参数,器件团队却没有充分优化。这种资源错配,往往就是缺少一份全局规格表导致的。
7. 最后再说几句实在话
回到标题这个问题:“从单个器件到大规模阵列,新型存储器还缺少什么?”说到底,缺的不是某一个具体的物理机制,而是把“器件成果”转变成“产品系统”的一整套工程能力。单器件验证证明了物理上的可能性,大规模阵列量产才真正考验材料、工艺、设计、测试各环节能不能协同咬合起来。
我个人在实际操作中的体会是,这个领域最稀缺的其实是既懂器件物理又懂电路设计还懂系统架构的复合型人才。很多时候问题不是某一个环节单独造成的,而是环节和环节之间的接口出了问题。材料团队给的器件参数不完整、设计团队拿到的模型精度不够、测试团队用的方法不匹配,这些接口缝隙积少成多,最后都会反馈到良率上。
如果你正在做新型存储器的器件研发或者阵列设计,我的建议是:尽早面向阵列思考问题,用统计眼光看待器件参数,尽早建立仿真和测试闭环。单个器件的成功只是漫长旅程的第一步,真正的挑战永远在阵列那一侧。等你真正把一块大规模阵列调通、测稳、交付出去,那种成就感,也会比在探针台上测出一颗漂亮曲线要来得扎实得多。