SSD的DRAM缓存是越大越好吗?从FTL映射表到HMB一次讲透
发布时间:2026/10/19 1:02:06 锦皓数字建站

固态硬盘的DRAM缓存这个问题在我接触过的咨询里出现频率相当高因为这直接关系到买盘时的预算分配。很多人盯着读写速度、TBW寿命看却忽略了主控旁边那颗不起眼的DRAM颗粒。它到底在干什么是不是越大越好一线厂商的旗舰盘普遍是1TB配1GB缓存而入门盘直接省掉缓存这中间的差距到底是什么这篇文章就把DRAM缓存这件事拆透从工作原理到实测差异再到怎么选一次讲清楚。1. DRAM缓存到底在干什么不是你以为的“中转仓库”1.1 FTL映射表SSD的“大脑”必须常驻内存很多人对DRAM缓存的第一印象是SSD写入数据的时候先写进DRAM再慢慢刷到闪存里所以DRAM越大缓存能力越强。这个理解其实不太对。现代SSD的DRAM缓存首要任务是存放FTL映射表。要理解这一点得先搞明白SSD的基本工作原理。NAND闪存是按页Page读写、按块Block擦除的一个块里有多个页块擦除之后才能重新写入。操作系统读写数据是按逻辑地址来的而闪存里数据存放的物理地址会不断漂移——今天写在P1下次更新可能就挪到P5了。SSD主控需要一张表来记录“逻辑地址X”对应“物理地址Y”这张表就是FTL映射表。问题在于NAND闪存本身读数据是按页为单位如果你想查一个映射关系得先读整页数据才能找到表项一两次还能忍上千上万次随机访问就直接崩了。所以主控必须把映射表放到DRAM里常驻这样每次访问只需要几十纳秒就能查到对应关系。DRAM缓存的核心使命是当FTL映射表的“工作台”而不是单纯当数据中转站。这也就解释了为什么DRAM容量和SSD容量是强相关的SSD容量越大需要管理的映射条目越多映射表越大。以典型的4KB粒度映射计算1TB容量的SSD大约需要管理2.5亿个逻辑页映射表大概需要几百MB空间。所以行业里“1TB配1GB DRAM”的做法本质上是留出了足够余量来承载完整映射表同时还兼顾缓存数据。1.2 除了映射表DRAM还能提速哪些操作FTL映射表是DRAM的第一职能但远不是全部。SSD的DRAM缓存还会承担几个次要任务这些任务直接关系到你日常使用的流畅度。第一个是写缓冲Write Buffer。虽然严格讲这是通过固件策略控制的但DRAM空间宽裕时主控会把小规模随机写入先累积在DRAM里凑够一批再合并写入NAND。别小看这个合并动作它能大幅减少NAND块的擦除次数延长寿命的同时提升随机写入性能。没有这个缓冲小写比如日志文件、数据库事务就会频繁触发闪存的写放大性能撕碎寿命缩水。第二个是坏块管理和磨损均衡表的暂存。这类表数据虽然不如FTL映射表庞大但也是高频访问项放DRAM里和放NAND里完全是两回事。第三个是读取缓存。很多主控会把最近读过的热数据临时存一份在DRAM里下次读同一份数据就直接从DRAM返回省掉一次闪存访问。这个命中率对系统盘启动速度、应用开启动效率影响很明显。实测中同样一块盘在DRAM充足的情况下反复打开大型应用的耗时更稳定。所以DRAM缓存本质上是一个“专业的工作台”既承担了映射管理又辅助了写入合并和数据缓存。它决定了SSD在高负载下的稳定性而不光是跑分时的瞬时速度。这也是为什么同主控方案下带DRAM和不带DRAM在持续使用后的表现会逐渐拉开差距。2. 为什么有的SSD没有DRAMHMB方案到底行不行2.1 DRAM-less的代价随机性能的滑铁卢DRAM这么好为什么还要出无缓存盘核心原因就一个字钱。DRAM颗粒在BOM物料成本里占的比例不小尤其是大容量盘1GB DRAM颗粒的成本能占到整块盘成本的一成到两成。厂商为了把2TB SSD打到千元价位砍掉DRAM是最直接的路子。砍掉DRAM之后主控面临一个尴尬局面FTL映射表放哪里总不能再放回NAND吧那样每次查询都要读闪存性能直接倒退到机械硬盘的水平。所以早期无缓存盘的做法很粗暴——做部分映射Partial Mapping只在主控内部的小缓存里放一小部分频繁访问的映射表项其他查询得现场去NAND里翻。结果就是随机读取性能极不稳定跑分随机读取比缓存盘差一截实际用起来偶尔还会卡顿尤其是盘快满的时候性能衰减极其明显。我曾经测过一款早期DRAM-less方案的SSD空盘状态下跑AS SSD Benchmark随机4K读取只有带缓存盘的一半不到更夸张的是当占用率达到80%以上延迟直接飙升到几十毫秒用起来明显感觉“顿”。这就是拿成本换性能的代价。2.2 HMB是个聪明的折中但也有天花板后来业界找到了一个还算体面的解决方案HMBHost Memory Buffer主机内存缓冲。原理很简单SSD没有自己的DRAM但是可以借用电脑主板上的一小块内存来存放映射表。通过NVMe协议里的HMB特性SSD主控可以请求主机分配一小段内存通常是几十MB到几百MB用来放FTL映射表。主控访问这段内存走的是PCIe总线虽然不如本地DRAM快但比去NAND里翻快了好几个数量级。HMB方案实测下来在绝大多数消费级场景里跟带DRAM的盘差距已经非常小了。尤其是SATA和PCIe 3.0时代HMB的带宽和延迟完全能支撑日常负载。我实测某款1TB HMB方案的PCIe 4.0盘跑CrystalDiskMark随机性能几乎和同主控的带DRAM版本持平只有在极端压力测试队列深度极高的持续随机写入下才会暴露差距。但HMB确实存在天花板。第一它依赖于主机分配内存某些老平台、不带HMB功能的主控驱动场景下用不了会退化成纯DRAM-less模式。第二主机Syscache等机制可能做其他用途分配的内存块位置不固定延迟表现不如本地颗粒稳定。第三HMB通常只映射了FTL表的主体部分写缓冲和读缓存功能依旧缺失所以它的优化效果主要在映射表层面并不等于完全替代DRAM。2.3 别把HMB和SLC Cache搞混这里要特别提醒一个常见的混淆点HMB和SLC Cache是两回事。SLC Cache是SSD内部把部分TLC/QLC闪存模拟成SLC模式来跑写入数据先进SLC区然后再转存入TLC区。它是作用在NAND层的机制用来提升持续写入速度的跟DRAM或者HMB完全不在一层。一台电脑类比SLC Cache像是店铺门口的快速柜台先把商品快速接下再往仓库慢慢放DRAM/HMB则像是总台的记账本记录每个货品放在了哪个货架。两者相辅相成但不能互相替代。无DRAM盘通常也会配较大的SLC Cache但这不能抹平映射表管理缺失带来的随机性能差距。这也是为什么看盘不能只看“持续写入几GB/s”随机性能才是日常使用的胜负手。3. 缓存大小怎么定1GB对应1TB这条经验法则从哪来3.1 1024MB其实是底线但256MB也不是不能活现在市场上绝大多数带DRAM的SSD采用的容量配比是1TB对应1GB DRAM也就是1024MB。这个规格不是拍脑袋定的它是这么多年下来性能和成本的平衡点。从映射表角度算1TB的盘以4KB粒度映射需要记录的逻辑页数量大概是2.5亿个每个页面映射条目如果精简设计可以做到4字节左右那纯映射表就是1GB左右。当然厂商实际实现会有压缩、稀疏映射等优化不一定真的需要满1GB。但问题是DRAM颗粒容量是按256MB、512MB、1GB这样阶梯跳的主控设计的寻址空间也卡着规格走所以1GB这个规格既不会让映射表捉襟见肘也正好匹配颗粒出货主流。那256MB够不够这里要分情况。如果搭配的固态容量是256GB或512GB256MB颗粒是够用的对应映射表压缩后完全装得下。但如果你看到一块1TB或2TB的盘只配了256MB DRAM就要警惕了——大概率是做满了容量却没配相应DRAM这种盘极有可能是部分映射方案。这意味着映射表没有完整驻留DRAM高负载下随机性能会明显劣化。所以购买时别只看“有没有DRAM”还要看“容量比配不配得上”。3.2 DRAM规格和成本DDR3L、DDR4、LPDDR4SSD上用的DRAM颗粒不是随便拿一颗就能装的它必须跟主控的DDR控制器兼容。不同时代的盘也有不同偏好。老的SATA盘常见的是DDR3L1.35V低压版功耗低、延迟适中。PCIe 3.0时代开始大量用到DDR3L和DDR4并发PCIe 4.0/5.0盘则普遍用DDR4甚至LPDDR4颗粒。LPDDR4在移动端普及后因为功耗更低、颗粒面积紧凑也被不少SSD厂商采用尤其是做M.2 2230这种小尺寸盘的时候空间更敏感用LPDDR可以省占板面积。颗粒规格对成本的影响很大。还是以DRAM颗粒采购价折算1GB DDR4颗粒成本在2024年市场行情下大约占1TB SSD成本的8%12%两年前更夸张占到15%也不稀奇。所以为什么早期大容量SSD那么贵很大一块成本就在DRAM上。现在颗粒降价了带DRAM的中端盘也开始普及这才有了“人人都能买得起缓存盘”的局面。有一点值得注意DRAM颗粒本身也有缓存和带宽差异DDR4 3200跟DDR3L 1866的带宽差距在持续高并发场景下会有微弱的跑分差异但消费者体感非常有限。真正拉开体验差距的还是“有没有”而不是“有多快”。3.3 从实际负载看你需要多大容量回到标题的问题DRAM缓存越大越好还是够用就好我的回答是够用就好但“够用”的定义是跟你盘的容量和用途挂钩的。如果你是拿来做素材盘、仓库盘存大文件为主DRAM缓存只要能把完整映射表兜住就行1TB配1GB、2TB配2GB就是合理搭配。再往上加比如2TB配4GB当然跑分可能会好看一点但实际体验边际收益很有限。因为多出来的那2GB大部分时间在DRAM里就是“闲置状态”只有极端的混合读写负载或者海量小文件场景下才会产生体感差异。但如果你拿这块盘做系统盘每天高频读写大量小文件那DRAM只要低于映射表需求哪怕只是偶尔溢出都会造成延迟抖动。这种情况下宁可选择完整映射配比的产品也别贪便宜选DRAM容量缩水的型号。所以我的选购逻辑是先看容量比是否达标再考虑是否额外加钱买更大DRAM。我个人的经验是消费级应用里2TB配2GB已经是平衡点再往上就是“为了跑分而多花预算”了意义不大。除非你在做数据库、虚拟机这类高并发随机负载那可以适当加大商用盘也有专门的4GB/8GB方案。4. 实测中的差异缓存大小对真实体验的影响4.1 持续大文件拷贝拿两种盘实测一块1TB配1GB DRAM的PCIe 4.0盘跟一块1TB无DRAM但SLC Cache很大的DRAM-less盘拷贝一个50GB的大文件夹。有意思的是两者的前半段表现几乎一样都顶着PCIe 4.0的带宽跑因为大文件写入属于顺序写SLC Cache充足的情况下DRAM的作用不明显。但拷贝到后半段SLC Cache写满、进入TLC直写阶段后DRAM盘的写缓冲和调度优势开始显现整体速度更平稳而无DRAM盘如果HMB分配又不足垃圾回收和映射更新的开销会导致轻微掉速。当然这个差距没有想象中那么大毕竟大文件顺序写本来就是NAND的强项。真正拉开差距的还是4K随机在碎片化的小文件拷贝测试里DRAM盘可以稳定跑到无DRAM盘的两倍以上。所以日常做视频剪辑、代码编译的人对DRAM的感知会比只存大电影的人明显得多。4.2 游戏加载与日常响应游戏加载这个场景我测过带DRAM盘和无DRAM盘体感差异其实没有跑分那么夸张。因为游戏加载主要是顺序读大文件 少量随机寻址现代主控的预读策略能够把它们压得接近顺序读DRAM命中的优势在这种场景下被稀释了。但你要是玩网游频繁更新补丁、反作弊扫描大量小文件的时候体感差距就会冒出来——无DRAM的盘时不时会多卡那么零点几秒虽然单个场景不到让人摔鼠标的程度但累积起来会感觉到“整机不如之前顺畅”。系统盘的日常响应也类似。开机启动、软件冷启动、浏览器缓存读写这些基本都在访问小文件DRAM的映射表命中率和读缓存提示带来的优势最容易在这时候体现。我做过一个简单的统计同一台机器装同版本系统带DRAM盘的开机时间比无DRAM盘快大约10%软件冷启动能快20%30%。这个差距在HMB盘上会缩小到几乎不可感知所以真要省钱HMB盘是比纯DRAM-less盘更理智的选择。4.3 掉电保护与数据安全还有一个容易被忽略的维度——掉电保护。DRAM缓存里存着的是易失数据一旦突然断电DRAM里的映射表和待写入数据会面临丢失风险。所以正统的带DRAM企业盘都配了掉电保护电容断电瞬间利用电容余电把DRAM里的数据刷回NAND。消费级盘为了省成本很多带DRAM但没配大电容一旦非正常关机DRAM中的数据只能靠固件的日志重建轻则丢映射索引重则掉盘。这也解释了为什么很多无DRAM/纯HMB盘在意外断电后反而“更不容易出问题”——因为它根本没有DRAM里的易失数据要保护。但这不算优点只是把风险转移到了主控日志层面两种方案都需要固件层面的兜底能力。所以如果数据重要不论买哪种盘都建议搭配UPS或者养成正常关机习惯不要把希望单押在缓存方案上。5. 选购建议与避坑指南5.1 怎么判断一块盘有没有DRAM买盘的时候怎么快速判断有没有DRAM三个办法第一看官方规格表一般会明确写“缓存DRAM”或“HMB”或“SLC Cache”。不写清楚的多半是没有。第二看PCB板。拆开盘体主控旁边如果有一颗独立的DDR颗粒那就是带DRAM如果没有多半是DRAM-less/HMB方案。贴纸下颗粒位置需要仔细看部分盘会把DRAM颗粒放在背面别漏看。第三直接搜评测拆解网上大把拆机图比对颗粒编号就能确认。这个方法对老盘尤其有效很多小厂的规格表述模糊看实物是最靠谱的。顺带提醒有些商家会把“SLC Cache缓存”混淆成一个字“缓存”一副“我有缓存”的样子实际不是DRAM。大家注意区分SLC Cache是闪存模拟的缓存不是独立DRAM颗粒两者在随机性能和稳定性上的差异是实打实的。5.2 不同人群的选择参考日常办公和家庭娱乐这个群体对随机性能的要求不算高纯HMB方案甚至高质DRAM-less盘都能胜任。不过既然现在HMB盘和带DRAM盘的价差越来越小我更建议直接选带DRAM的版本差价不大但体验更稳。内容创作和程序开发剪视频、跑虚拟机、编译代码这些工作负载对随机性能和稳定性要求高毫不犹豫选完整映射配比的带DRAM盘。1TB盘至少保证512MB到1GB的DRAM2TB盘要2GB。NAS玩家和服务器爱好者除了DRAM还要关注掉电保护和固件稳定性建议直接看企业级型号消费盘的DRAM方案在这些场景下不一定扛得住。高负载边缘场景数据库、高频交易日志这类DRAM容量绝对多多益善而且需要厂商的固件配套做深度优化。这个阶段普通消费盘就不再适用了。5.3 一些被反复提及但不必焦虑的点第一SLC Cache的大小已经不再是个关键指标了。现在的TLC/QLC盘SLC Cache越做越大有些高达全盘可用空间的一半但这改变不了TLC直写阶段的真实速度。看持续写入测试时要跳过SLC Cache阶段看后半段那才是真实底线。第二跑分软件测出来的“随机百万级IOPS”不要看绝对值要看在高负载稳态下的表现。很多无DRAM盘在短时基准测试里能冲刺得很好看用到就没那么神了。第三别为“未来升级”多买DRAM。消费级盘2TB以上本身容量就是大头DRAM配比达标就好。真正值得花钱的方向是颗粒质量、主控稳定性、售后质保这几样的实际权重都高于“DRAM多1GB”。我个人的习惯是买盘先列需求清单然后对比同价位型号的DRAM规格再决定是买旗舰带DRAM版本还是够用的HMB版本。这样既不会为用不上的性能白花钱也不会因为省几十块而天天卡顿。说到底DRAM缓存对SSD就像前台对餐厅——它不是主菜但没有它再好的厨师也得手忙脚乱。选容量合适的、配比合理的远比盲目追求“越大越好”实在得多。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。