☰
不靠频繁刷新也能留住数据:低刷新能耗增益单元存储器解析
2026/10/15 6:43:30 网站建设 项目流程

存储器圈子里,有一个常年被人念叨的痛点:DRAM 的数据要靠周期性刷新来维持,容量越大、刷新越频繁,能耗就越难看。最近“低刷新能耗增益单元存储器”这个研究方向被越来越多的人盯上,本质上就是在回答一个问题——有没有一种存储器,不靠频繁刷新,也能把数据稳稳留住。如果你做嵌入式低功耗系统、芯片设计、近存计算,或者只是想搞清楚下一代内存到底往哪走,这篇内容应该能给你一些值得收藏的参考。

我花了不少时间把这类技术从单元结构、刷新策略到测试验证的路子梳理了一遍。说白了,这不算一个全新的概念,增益单元(gain cell)在三十多年前就有人提出,真正有意思的是这几年工艺进步之后,它终于有机会把“低刷新能耗”这个优势真正兑现。下面我按自己的理解,把这件事的来龙去脉、关键技术点和落地时可能踩的坑,一层一层拆开讲。

1. 存储器低功耗竞赛里,增益单元这一支一直没有掉队

1.1 从 DRAM 的刷新功耗说起:64ms 背后有多少无效劳动

先聊一个大家可能都遇到过、但未必细想的场景。你在服务器里插满大容量内存条,系统空闲着,什么任务都没跑,整机的功耗计仍然在走字。打开监控面板,DRAM 的温度并没有下降多少,内存控制器里刷新命令一直在“自动打卡”。

这就是 DRAM 的固有代价。以 1T1C 单元为核心的 DRAM,每个 bit 靠一个存储电容上的电荷来区分 0 和 1。电容会漏电,电荷会慢慢跑光,所以必须在数据消失之前,周期性地把存储电容重新充到目标电压。行业规范一般要求全阵列刷新的时间间隔在 64ms 以内,温度升高后为了保险,还要自动缩短到 32ms、16ms 甚至更低。

问题在于,一次刷新操作不只是“给电容补电”那么简单。它需要激活字线、打开存储阵列、经过感知放大器重新读取并回写,整个过程涉及大量位线充放电和逻辑翻转。对于大容量 DRAM,空闲状态下这部分功耗可以占到内存总功耗的相当比例。即便在读写繁忙时,刷新请求还会和普通的读写指令抢内存控制器的执行窗口,影响访问延迟和带宽。

更尴尬的是,DRAM 刷新的默认周期是按“最差单元”来定的。阵列里绝大多数单元保持时间远超 64ms,但只要有少数几个单元漏电快,整个阵列就得陪着它们高频刷新。用大白话说,等于全班同学为了几个拖后腿的,天天跟着集体补课——这就是“无效劳动”的由来。

1.2 增益单元是什么:没有大电容,照样能“锁住”数据

增益单元存储器(gain cell)跟 DRAM 的做法完全不同。它的存储节点不依赖外置的大电容,而是利用晶体管本身的栅极电容和寄生电容来存电荷。典型结构是 2T 或者 3T 单元,以 2T 增益单元为例,一个晶体管负责写入,一个晶体管负责读取,两个管子之间共享一个很小的存储节点。

读出的时候,存储节点上的电压会控制读取管的导通电流,电流大小直接反映存储的数据是 0 还是 1。这里面最大的区别在于“增益”:DRAM 是靠电荷分享的方式,把存储电容上的电荷分给位线,信号本来就弱;增益单元则是把小电压转换成相对大的电流,信号强度由晶体管特性决定,不需要依赖存储电容的电荷量。

用生活化一点的类比:DRAM 像是用一次性杯子接水,水杯越大、接得越满,读的时候越可靠,但因为杯壁会漏水,你得不停回来看要不要续杯。增益单元更像是靠一个阀门控制水流,阀门位置决定了水流大小,你真正要维护的是“阀门位置”这个小信息,而不是一大杯水本身,自然不需要那么频繁地回来“检查水位”。

这种结构最大的好处,就是可以在标准 CMOS 逻辑工艺上做出来,不需要 DRAM 专用的深槽或堆叠电容工艺。对研发团队来说,这意味着可以用普通数字工艺流片,成本和生产门槛都低很多。更重要的是,它让“低刷新能耗”变成了一个可以主动设计、而不是被动接受的属性。

2. 低刷新能耗增益单元的关键设计逻辑:对比度、保持时间与漏电路径

2.1 “低刷新能耗”到底低在哪里:三项省电来源拆解

很多人看到“低刷新能耗”这个词,第一反应是“刷新频率降低了”。频率降当然是原因之一,但它只是表面。真正把刷新能耗压下去,靠的是三个来源叠加。

第一是单元的漏电路径减少。DRAM 单元只有单晶体管,存储电荷时刻通过晶体管的关断漏电往外跑,漏电路径简单但不可控。增益单元则可以通过多个管子的串联、堆叠和偏置设计,把存储节点的漏电路径迂回起来,等效漏电流比 DRAM 电容更小。漏电小了,保持时间自然变长。

第二是刷新周期的拉长。保持时间从几十毫秒提升到几百毫秒甚至秒级,单位时间内需要执行的刷新命令数量就成比例下降。假设标准 DRAM 是 64ms 刷新一次,增益单元能做到 256ms 刷新一次,理论刷新能耗直接降到四分之一。

第三是单次刷新成本更低。DRAM 刷新一次要对整个位线阵列做完整的预充、放大和回写;增益单元的刷新往往只需要对存储节点进行局部补偿,不需要每次都动用全套感知放大器。单位刷新动作的能耗基数低,乘上更低的刷新频率,整体就能压到一个很可观的量级。

我在整理一些公开数据时发现,增益单元如果配合按需刷新策略,把总刷新能耗做到传统 DRAM 的十几分之一,这并不是夸张的宣传,而是结构和策略双重优化的自然结果。当然,前提是它得先把容量和密度做上去。

2.2 保持时间温度特性与刷新策略之间如何博弈

增益单元的保持时间,本质上是个跟温度强相关的指标。晶体管的亚阈值漏电、结漏电、栅极漏电都会随温度急剧上升,大致趋势是每升高十摄氏度,漏电整体翻倍,保持时间对半打折。常温下测出来的 200ms,到了 85℃ 可能只剩 20ms 甚至更短。

这带来一个真实的工程痛苦:你设计了一个“低刷新”增益单元,结果在标准高温测试条件下,刷新频率不得不拉回跟 DRAM 差不多的程度,低刷新优势瞬间打折。所以“低刷新能耗”不能只在常温下成立,必须看高温角下的保持时间曲线。

应对思路一般有这么几条:一是提高存储节点的等效保持能力,比如调整晶体管的阈值电压和体偏置,让漏电路径在高温下也不至于失控;二是做温度传感器和自适应刷新控制器,温度低的时候干脆不刷新,温度升高才逐渐缩短刷新间隔;三是结合芯片内的坏块和弱单元登记表,对少数弱单元单独加密刷新周期,而不是拖累全阵列。

这里我再补充一个常被忽略的点:访问模式本身也会影响保持时间。如果存储节点附近的字线、位线频繁翻转,耦合噪声和半选干扰会额外偷走电荷。很多团队测保持时间是在安静的待机状态下测的,实际系统里数据是不断被读写的,这个差距可能达到 2 到 5 倍。设计时如果只按待机曲线定刷新策略,量产之后很容易在真实负载下出现偶发数据丢失。

2.3 读操作带来的扰动:不能只盯着刷新这一件事

刷新能耗降下来了,另一个风险浮出水面——读操作的扰动。增益单元的读取管栅极连在存储节点上,读的时候要在读取管上施加偏置、产生电流,这个动作本身就会对存储节点产生反馈,相当于一边看水位一边把手伸进水里搅了一下。

如果读取管的增益设计得不够干净,读一次就把存储节点拖垮一点,多读几次数据就翻转了。这在低刷新频率的背景下格外致命,因为刷新间隔长,等于“修复”的机会变少了。为了让增益单元能安全地连续读取,通常要在电路上加保护措施:要么让读取管工作在一个对存储节点扰动极小的偏置区,让读出变成“非破坏性”的;要么在每次读后自动做一次写回补偿;要么在阵列外围加掩码逻辑,对高频访问的单元额外做局部刷新。

这一块恰恰是很多论文里一笔带过、但实践中最容易翻车的地方。结构设计得再巧妙,读扰动控制不好,整个阵列的误码率就会从“可以接受”变成“完全无法用”。所以后来我养成了习惯:看一篇增益单元论文,先不看它的保持时间有多长,先看它把读友好性放在什么位置。

3. 拿它跟主流存储方案摆在一起,优势与尴尬都写清楚

3.1 与 SRAM、DRAM、Flash 的横向对比

要判断低刷新能耗增益单元的价值,不能关起门来聊,得把它和现有主流方案放到一张桌子上比。我整理了一个简单的对比表,覆盖几个最关键的维度:

维度6T SRAM1T1C DRAM增益单元(2T/3T)NOR/NAND Flash
单元面积较大(6T以上)很小比SRAM小,比DRAM大极小
读取速度极快快快(依赖电流读出)慢
写入速度极快快(但需周期刷新)快慢(需擦除)
数据保持静态保持,无刷新几十毫秒级刷新毫秒到秒级,可调非易失,十年级
静态功耗较高(漏电大)刷新功耗持续存在刷新频率低,功耗低基本为零
工艺兼容性标准逻辑工艺专用DRAM工艺标准逻辑工艺专用闪存工艺
片上集成难度低高低中高
近存计算友好度一般较低高低

这张表能说明很多问题。增益单元在面积上赢不了 DRAM,在速度上赢不了 SRAM,但它赢在“综合区”:比 SRAM 面积小、静态功耗低,比 DRAM 刷新友好、工艺门槛低,比 Flash 读写速度快得多。所以它不是某个指标的王者,而是在“低功耗嵌入式存储”和“近存计算存储”这两个赛道上,最均衡的选手。

速度方面有一些前置条件。增益单元的读出是电流型的,只要把读取管的宽长比调到位,在 28nm 或更先进工艺下跑到几 GHz 也不是不可想象。但在深亚微米节点,晶体管本身的阈值波动、短沟道效应会明显干扰电流读出窗口,所以增益单元在 FinFET 节点上的表现,往往取决于设计者对器件特性的精细匹配能力。

3.2 为什么前面几代增益单元没有大规模铺开

增益单元三十多年前就有雏形,为什么到今天还没有满大街都是?这个问题我在心里反复问过。答案第一是密度,第二是风险,第三是生态。

密度方面,2T、3T 单元的晶体管数量摆在那里,即便不用大电容,面积也压不到 1T1C DRAM 的水平。DRAM 一个 bit 可以做到 6F² 左右,增益单元通常要 10F² 甚至更高,对要求超大容量的主内存市场来说,这个差距是致命的。

风险在于良率和保持时间的分布。增益单元依赖晶体管本身的漏电和阈值特性来“锁住”数据,但这些特性恰恰是半导体制造中最容易波动的参数。同一片晶圆上,不同位置单元的保持时间可能差两个数量级。早期制造工艺一致性不够好时,这种单元的使用体验就是“薛定谔的保持时间”——你永远不知道哪一块数据会在什么时候悄悄丢。

生态问题更直接。存储器厂商、SoC 设计团队、EDA 工具链,全都围绕既有的 SRAM 和 DRAM 模式转了很多年,没有谁愿意轻易换赛道。增益单元想上位,不仅要在硅片上证明自己,还要在存储器编译器、时序模型、测试方法学上补齐一整套支持。这把手「规范化」的过程,往往比单点电路设计更耗时。

3.3 新技术成果的真实定位:不是要取代内存,而是补上中间空档

搞清楚历史包袱之后,再回头看这次的“低刷新能耗增益单元存储器”,它的定位就清晰了:它不是要做下一个 DRAM,也不是要做下一个 SRAM,而是填补两者之间那块“又想要容量、又想要低功耗、又不想迁就复杂工艺”的空档。

这块空档具体长什么样?一类场景是嵌入式芯片里的临时存储和缓存。传统嵌入式设计里,小容量用 SRAM,大容量用 DRAM 外加专用工艺,中间段每 MB 成本偏高且功耗控制粗放。增益单元放在这里刚好够用:面积比 SRAM 有优势,工艺比 DRAM 简单,功耗还能按需调低。

另一类场景是近存计算和存内计算。近存计算的核心痛点就是数据搬运费电费时间,理想方案是让存储单元在靠近计算的地方被反复访问。DRAM 因为刷新和接口限制,不太适合频繁随机访问;SRAM 又太贵太大。增益单元既能保持数据又支持较高频率的随机读,还能在阵列内做简单的逻辑操作,相当于为“存储墙”问题的解决提供了一个物理层面的抓手。

换句话说,从产品策略看,这类存储器最合理的突破路径不是去正面硬刚大容量内存盘,而是在 AI 推理加速器、可穿戴设备、传感节点这类对能耗极度敏感、容量要求又不过分的细分市场里,先把位置占住。

4. 这类芯片真正落地时,工艺与测试层面的现实功课

4.1 工艺节点与容量扩展的矛盾

真到了流片和量产阶段,增益单元的甜蜜与痛苦一起出现。甜蜜的是,它能用标准逻辑工艺流片,不需要 DRAM 专用的电容工艺和额外 masking;痛苦的是,逻辑工艺晶体管是为数字逻辑优化的,对“存储保持”这件事并没有专门照顾。

在 28nm 及以上的节点,器件漏电还能接受,保持时间很容易做到几百毫秒;到了更先进节点,晶体管本征漏电越来越大,存储节点电压保持时间快速缩短。这让设计团队陷入一个两难:工艺越新、逻辑性能越好,但增益单元的保持特性越差。

我在帮朋友整理某模拟项目X的设计报告时注意到,很多团队为了保住保持时间,会在存储节点串接入高阈值管或者采用体偏置,这类手段能显著降漏电,但代价是写入速度变慢、写电压需要抬升,外围的字线驱动和写辅助电路要跟着加码。结果就是单元本身省下的功耗,有一部分被外围电路吃掉。真正优秀的低刷新增益单元设计,一定是在单元和外围之间算清总账之后再做取舍。

4.2 良率与测得的保持时间分布:工程师要面对的第一道坎

测试是增益单元产品化路上最容易被低估的一环。普通逻辑芯片测的是功能、时序、良率;增益单元芯片还要多测一个“保持时间分布”,而且是逐 bit 测。

散点数据通常长这样:绝大多数单元保持时间远超规格要求,比如中位数能到几百毫秒,但总有少数单元的保持时间只到几毫秒,纯靠工艺波动自然产生,无法通过设计完全消除。如果整个阵列的刷新周期按这些弱单元来定,就废掉了低刷新的优势;如果不按它们定,就得保证在丢失数据之前把它们找出来。

实际操作中,工程师会做两件事:一是比特级映射加修复,用冗余行或列把保持时间严重不合格的单元替换掉;二是做动态刷新分组,把弱单元标记出来,单独给它们更高的刷新频率,同时让其余大部分单元继续享受长周期刷新。这两招在 DRAM 领域已经非常成熟,移植到增益单元上反而有一定优势,因为弱单元比例可以通过设计精准控制。

测试时间是个容易被忽视的成本。测保持时间需要等待,等待时间至少是保持时间的两倍才能可靠地测出失效点。一批芯片如果保持时间在毫秒量级还好办,如果目标是秒级,测试机时间就会被拉得很长。所以量产策略通常不是把所有单元都测到极限,而是通过样本统计和片上 BIST,把测试数据矩阵的覆盖控制在可接受范围。

4.3 温度补偿与自适应刷新策略,原型验证该怎么做

完整验证一个低刷新增益单元存储阵列,我建议按从器件到系统的路径来走,而不是一上来就写 RTL。

器件级验证要用蒙特卡洛仿真覆盖工艺波动,重点看阈值电压失配和漏电流分布对保持时间的影响。仿真里要同时注入全局偏差和局部随机偏差,因为这两者造成的保持时间分布形态完全不同。之前有团队只跑了典型工艺角,结果流片后弱单元比预期多了一个数量级,就是因为没有把局部失配跑透。

阵列级验证可以在仿真平台上搭一个小规模阵列模型,把字线、位线寄生参数全部带进去。这里我放一段简单的基础验证流程,方便理解测试思路:

# 简化版数据保持快速筛选流程(仅用于说明思路) retention_candidates = [1, 2, 5, 10, 20, 50, 100, 200] for interval in retention_candidates: write_all_units(pattern="0x5A") sleep(interval) # 等待时间模拟保持时间窗口 ok = read_all_units() if not ok: record_weak_cells(f"interval={interval}ms") break # 找到该单元的首次失效刷新窗口(FFRT) # 温度角切换:25/45/65/85℃分别跑一遍

这种筛选找到的是“首次失效保持时间窗口”(First Fail Retention Time),也就是单个单元在多大刷新间隔内开始丢数据。批量测试之后,你就能得到一张 FFRT 分布图,这是定刷新策略的核心依据。

片上实现自适应刷新时,常见方案是做一个温度传感器,每几十毫秒读一次温度,翻译成当前的推荐刷新周期,再叠加一张弱单元补偿表。注意,温度传感器本身的功耗也不能忽视,如果传感器比省掉的刷新功耗还费电,整个设计就白做了。

5. 我在看这一类存储器研究成果时的几点观察与判断

5.1 读论文先看哪些指标,而不是被标题带节奏

网上关于“低刷新能耗增益单元存储器”的内容,很多是新闻稿式的,标题看着兴奋,细节经不起推敲。我自己看这类学术或工程成果时,会先盯四个指标:测试温度是多少、对比基准是什么、刷新周期报告的是典型值还是最差值、外围电路功耗有没有算进去。

如果一篇论文只在常温 25℃ 下测出了几百毫秒的保持时间,却只字不提 85℃ 的表现,那它离产品化还有不短的距离。如果报告说“刷新能耗降低 80%”,那要看它的对照对象是商用 DRAM 还是实验室里已经做了大幅优化的同类结构。如果它的刷新周期报的是中位数而不是覆盖最差单元的保证值,那量产数据丢失风险就可能被低估。

外围功耗是另一个容易藏猫腻的点。增益单元的优势再怎么大,外围的感知放大器、字线驱动、刷新调度逻辑也得通电,这些开销在小容量阵列里占比很高。真正有工程参考价值的数字,一定是端到端测出来的总功耗,而不是仿真报告里的单元级功耗。

5.2 这类成果距离产品化还差什么

即便技术指标看起来很漂亮,从实验室到产品仍然要跨过三道坎。第一道坎是容量密度。目前的增益单元容量还很难跟主流嵌入式 DRAM 比,对需要几十 MB 乃至更大片上存储的场景,单片集成仍然吃力。第二道坎是测试筛选的效率,保持时间测试的本质是“耗时间换可靠性”,如何在测试成本和良率之间找到平衡,目前还没有一套公开的成熟方法学。第三道坎是控制器协议和生态适配,增益单元如果要跟现有系统对接,就得提供友好的接口,让操作系统和内存控制器知道“这个存储器的刷新策略是动态的、可调的”,这需要总线、协议和软件层面共同配合。

这三道坎都不是靠某一篇论文能解决的,而是需要几个团队围绕完整工具链连续迭代几年。所以我倾向于把这类成果理解为“技术上已经打通了最难的一环,产业化的第二步刚刚迈出去”。

5.3 对想入行的同学说几句实在话

如果你对存储方向有兴趣,想切入增益单元或类似的新型存储,我建议从“存储测试与表征”这个切口进入。结构设计固然重要,但这个领域真正稀缺的是能把器件波动、阵列行为和刷新策略串起来做系统级优化的人。

学习路径可以这样规划:先把半导体器件的漏电机理、阈值电压模型吃透,然后自己动手搭一个小规模的 2T 增益单元阵列仿真环境,把保持时间随温度、工艺角、读取频率变化的账真正算一遍。接着尝试给阵列设计一个最简单的自适应刷新控制器,在 FPGA 上跑一版,对比芯片实测数据和仿真数据的偏差。走完这一圈,你对“低刷新能耗增益单元存储器”这个研究方向的理解,会比大多数只看综述文章的人深得多。

我自己的体会是,这类存储器最迷人的地方在于它把物理器件特性和系统功耗策略绑在了一起。你不可能只调晶体管或者只调刷新算法,必须两头都懂。这种跨层优化的思维,不管将来市场怎么变,都是特别值钱的能力。

最后分享一个实际的做法:不管做哪个方向的研究,把测试原始数据留好,尤其是温度扫描和保持时间分布这两类数据,过几个月回看都会发现新信息。存储器是个讲究概率分布的领域,单点好看的数字远远不如一张完整的数据分布图有意义。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询