固态硬盘的价格这两年一路走低,很多人攒机或者升级老笔记本的时候,都会顺手加一块NVMe固态。挑盘的时候你大概率见过这样的场景:同样是1TB容量,有的盘卖三百多,有的卖六百多,翻参数一看,一个写着“无独立缓存”,一个写着“1GB DRAM缓存”。这时候问题就来了——这个DRAM缓存到底是干嘛的?是不是越大越好?多花的那两百块值不值?我自己前前后后折腾过十几块固态,从早期的SATA盘到现在的PCIe 4.0盘,也帮朋友装过不少机器,踩过“无缓存盘当系统盘”的坑,也体验过大缓存盘在重度写入下的稳。这篇就把DRAM缓存这件事从头到尾讲清楚,不管你是刚入门的小白,还是想搞清楚原理的老玩家,看完都能自己判断该买哪种盘。
1. 先搞懂DRAM缓存在固态硬盘里扮演什么角色
1.1 从机械硬盘到固态硬盘,缓存这件事一直没变
要理解DRAM缓存,得先明白固态硬盘是怎么找数据的。固态硬盘的核心是闪存颗粒,数据存在一颗颗闪存芯片里。但闪存芯片不像内存那样可以随便按字节寻址,它是以“页”为单位读写、以“块”为单位擦除的。一块1TB的盘,里面有成千上万个块,每个块里又有几百上千页。主控要把一个逻辑地址(比如你系统里的LBA地址)翻译成物理地址(具体在哪颗颗粒的哪个块哪个页),这个翻译过程叫逻辑到物理映射,简称L2P映射。
这个映射表有多大呢?我们算一笔账。假设映射表里每一条记录占4字节,一块1TB的固态硬盘,如果按4KB一页来管理,那就有大约2.68亿个页,映射表大小就是2.68亿乘以4字节,约等于1GB。也就是说,一块1TB的盘,光映射表就可能接近1GB。这个表如果每次读写都去闪存里现查,那速度会慢到无法接受,因为闪存随机读的延迟是微秒级的,而内存是纳秒级的,差了几个数量级。
所以主控需要把这张映射表放在一个能快速访问的地方,这个地方就是DRAM。DRAM缓存最核心的作用,就是存放这张L2P映射表,让主控能在纳秒级的时间里查到任何一个逻辑地址对应的物理位置。你可以把它想象成一个巨大的图书馆,DRAM就是那个索引卡片柜,没有它,管理员每次找书都得把整个书架翻一遍。
1.2 DRAM缓存和SLC缓存不是一回事
这里有个特别容易混淆的点,很多新手会把DRAM缓存和SLC缓存搞混。SLC缓存是把一部分TLC或QLC颗粒模拟成SLC模式来用,因为SLC每个单元只存1比特,写入速度快、寿命长。SLC缓存的作用是加速写入,让你在拷贝大文件的时候前几十GB能跑满速。而DRAM缓存的作用是存放映射表,加速的是地址翻译这个过程,影响的是随机读写性能和写入时的稳定性。
打个比方,SLC缓存像是你书桌旁边的一个临时书架,新买的书先放这儿,取用方便;DRAM缓存则是图书馆的索引系统,告诉你每本书在哪个架子上。两者功能完全不同,但经常被商家混在一起宣传。有些盘既有DRAM缓存又有SLC缓存,有些盘没有DRAM缓存但靠HMB技术借用系统内存来放映射表,还有些盘两者都没有,全靠主控硬扛。
1.3 有DRAM和没DRAM,实际体验差在哪
那没有DRAM缓存的盘是不是就不能用了?也不是。现在很多无缓存盘用了一种叫HMB的技术,全称是Host Memory Buffer,意思是主控通过PCIe总线向系统内存借一小块地方(通常几十MB到一百多MB)来存放映射表。这个技术是NVMe协议里定义的,理论上能缓解无缓存盘的问题。
但HMB借来的内存容量有限,通常只有64MB或128MB,而1TB盘的完整映射表需要约1GB。所以HMB只能缓存一部分热点映射表,剩下的还得去闪存里查。这就导致无缓存盘在长时间随机写入或者盘快写满的时候,性能下降比有缓存盘明显得多。我实测过一块无缓存的1TB盘和一块带1GB DRAM的同容量盘,在盘占用超过80%之后,无缓存盘的4K随机写入从原来的80MB/s左右掉到了20MB/s出头,而有缓存盘还能维持在60MB/s以上。这个差距在系统盘上体现得特别明显,开机、打开软件、切换程序都能感觉到。
2. 缓存容量到底怎么算,多大才算够用
2.1 映射表容量的计算方法
前面提到1TB盘映射表约1GB,这个数字是怎么来的,我详细拆一下。映射表的条目数和闪存管理单元大小有关。早期主控按4KB一页管理,现在很多主控按更小的单元管理以提高随机性能,比如按2KB甚至512字节。管理单元越小,映射表越大。
假设某主控按4KB管理,1TB盘有1TB除以4KB等于268435456个管理单元,约2.68亿个。每个映射表条目通常占4字节,那映射表就是2.68亿乘以4字节,等于1073741824字节,正好1GB。如果是2TB盘,映射表就是2GB。如果是512GB盘,映射表就是512MB。
但实际中主控不会把整个映射表都放在DRAM里,因为DRAM成本高。很多主控只把一部分映射表放在DRAM,其余放在闪存里,按需换入换出。所以你会看到1TB盘配1GB DRAM,2TB盘配2GB DRAM,这是比较标准的配置。也有1TB盘只配512MB DRAM的,那它可能只缓存了一半的映射表,性能会打折扣,但日常使用未必感觉得到。
2.2 不同容量盘的DRAM配置参考
下面这张表是我根据市面上常见方案整理的,供你挑盘时对照:
| 盘容量 | 映射表理论大小(4KB管理单元) | 常见DRAM配置 | 是否够用 |
|---|---|---|---|
| 256GB | 约256MB | 256MB或512MB | 基本够用 |
| 512GB | 约512MB | 512MB | 够用 |
| 1TB | 约1GB | 1GB | 够用 |
| 2TB | 约2GB | 2GB | 够用 |
| 4TB | 约4GB | 2GB或4GB | 2GB略紧 |
从表里能看出来,主流容量段1TB配1GB、2TB配2GB是比较合理的。如果你看到1TB盘只配了256MB DRAM,那它大概率只缓存了四分之一的映射表,剩下四分之三要去闪存里查,随机性能会受影响。但也不是绝对的,有些主控算法好,用小缓存也能跑出不错的成绩,这就要看具体评测了。
2.3 超过映射表需求的缓存有什么用
那有没有盘配的DRAM超过映射表需求呢?有。比如有些2TB盘配了4GB DRAM,多出来的部分主控会拿来当写入缓存用。写入缓存的作用是,当你写入数据时,主控先把数据写进DRAM,告诉系统“写完了”,然后再慢慢往闪存里写。这样能降低写入延迟,让系统感觉更快。但DRAM是易失性存储,断电就丢,所以主控必须配合掉电保护机制,比如加电容,在断电瞬间把DRAM里的数据刷进闪存。没有掉电保护的盘,多出来的DRAM当写入缓存用是有风险的,突然断电可能丢数据。
所以对于普通用户来说,DRAM缓存只要够放映射表就行,多出来的部分对日常体验提升有限,反而可能增加成本和风险。企业级盘配大DRAM是因为它们有完整的掉电保护,而且面对的是高并发写入场景,需要大缓存来削峰填谷。
3. 无缓存盘到底能不能买,什么场景下可以接受
3.1 HMB技术能弥补多少差距
无缓存盘现在基本都支持HMB,主控向系统借64MB到128MB内存。这个容量虽然放不下完整映射表,但能放下最常用的那部分。日常使用中,系统盘的热点区域其实比较集中,比如系统文件、常用软件、浏览器缓存,这些数据的映射表条目可能只占总量的一小部分。所以HMB在轻中度使用下,体验和有缓存盘差距不大。
我做过一个测试,用一块无缓存1TB盘和一块有缓存1TB盘分别做系统盘,日常办公、上网、看视频,开机时间差不到1秒,软件打开速度肉眼几乎看不出区别。但一旦进入重度场景,比如同时解压大文件、跑虚拟机、做视频剪辑,无缓存盘就开始露怯了,操作延迟明显变高,有时候点个菜单都要等半秒。
3.2 哪些人适合买无缓存盘
无缓存盘不是不能买,关键看用途。下面这几类场景,无缓存盘完全够用:
- 游戏盘:游戏主要是读取,写入很少,而且游戏文件一旦装好就很少变动,映射表热点集中,HMB足够应付。加载速度和有缓存盘差不了多少。
- 仓库盘:用来存电影、照片、资料,写入是一次性的,读取也是顺序为主,对随机性能要求低。
- 轻度办公机:平时就处理文档、上网、看视频,负载轻,无缓存盘体验和有缓存盘几乎一样。
- 预算极度紧张:同样的钱,无缓存盘能买到更大容量。容量带来的收益有时候比缓存更实在。
但如果你要做系统盘,而且经常多任务、跑大型软件、做内容创作,那我建议还是加钱上有缓存盘。系统盘是整台机器最忙的部件,映射表查询极其频繁,有DRAM缓存能明显提升响应速度。
3.3 无缓存盘的隐藏坑:写入放大和寿命
无缓存盘还有一个容易被忽略的问题,就是写入放大。因为映射表不完整,主控在写入新数据时,可能需要先读取旧映射表、更新、再写回,这个过程会产生额外的闪存写入。写入放大越高,闪存寿命消耗越快。有缓存盘映射表全在DRAM里,更新映射表不涉及闪存写入,写入放大就低。
当然,对于普通用户来说,一块1TB TLC盘哪怕写入放大高一点,寿命也够用很多年。但如果你打算买二手盘或者矿盘,那就要小心了,无缓存盘在长期高负载下磨损会更快。我见过一块用了两年的无缓存盘,健康度掉到85%,而同期的有缓存盘还有95%以上。
4. 挑盘实战:怎么从参数和评测里判断缓存配置
4.1 看官方参数页的窍门
挑盘的时候,官方参数页是最直接的信息来源。但很多厂商不会直接写“DRAM缓存容量”,而是用一些模糊的说法。你可以这样判断:
- 如果参数页写了“独立缓存”或“DRAM Cache”,并且标了容量,那就是有DRAM。
- 如果写了“HMB”或“Host Memory Buffer”,那就是无独立缓存,靠借系统内存。
- 如果什么都没写,只写了“缓存”两个字,那可能是SLC缓存,不是DRAM,要小心。
- 如果写了“无缓存”或“DRAM-less”,那就是彻底没有。
有些厂商会在产品名里暗示,比如“Pro”系列通常有DRAM,“Value”或“Essential”系列通常没有。但这不是绝对的,还是要看具体参数。
4.2 用软件实测缓存配置
盘买到手之后,可以用软件验证。常用的方法有几种:
第一种是看主控型号,然后用搜索引擎查这个主控的规格。比如某主控支持DRAM,那盘上大概率有DRAM颗粒。但有些厂商会阉割,所以还要结合其他方法。
第二种是用Flash ID工具读取闪存信息,有些版本能显示DRAM信息。不过这个工具对新主控支持不一定及时。
第三种是看PCB板上的颗粒。拆开散热片,如果主控旁边有一颗和闪存颗粒不一样的芯片,那通常就是DRAM。DRAM颗粒一般比闪存颗粒小,而且品牌可能是三星、海力士、美光等。如果主控旁边空空如也,那就是无缓存。
第四种是跑HD Tune或TxBENCH的随机写入测试,看长时间写入后的性能曲线。有缓存盘在盘占用高时随机写入下降较缓,无缓存盘下降陡峭。这个方法不用拆盘,但需要一定经验来判断。
4.3 评测数据怎么看才不被带偏
看评测的时候,要注意几个点。很多评测只跑空盘测试,空盘状态下无缓存盘和有缓存盘差距很小,因为空盘映射表简单,HMB够用。你要看的是盘占用80%以上的测试,或者持续写入超过SLC缓存之后的测试。这两个场景才能拉开差距。
另外要看4K QD1随机读写,这是最贴近日常使用的指标。有缓存盘通常在60MB/s到80MB/s,无缓存盘在30MB/s到50MB/s。差距看着不大,但反映到系统响应上就是“跟手”和“偶尔卡一下”的区别。
还要看混合读写测试,比如70%读30%写。这种负载最考验映射表管理能力,有缓存盘优势明显。有些评测会跑PCMark 10存储测试,那个分数综合了各种日常操作,参考价值比较高。
5. 常见问题与避坑经验实录
5.1 为什么有的盘标了缓存却还是慢
这种情况通常是标了SLC缓存而不是DRAM缓存。SLC缓存只加速写入,不加速映射表查询。如果一块盘没有DRAM,只有SLC缓存,那它在随机读写上依然是无缓存盘的水平。买的时候一定要看清楚是“DRAM缓存”还是“SLC缓存”,或者两者都有。
还有一种情况是主控算法差。同样的硬件配置,不同主控的映射表管理效率能差出一倍。有些主控虽然有大DRAM,但固件写得不好,随机性能照样拉胯。所以不能只看缓存容量,还要看主控型号和固件口碑。
5.2 笔记本加装固态,缓存怎么选
笔记本空间有限,通常只有一个M.2插槽,加装的盘往往要当系统盘用。这种情况下我建议优先选有DRAM缓存的盘,因为笔记本散热差,无缓存盘在高温下性能下降更明显。而且笔记本经常移动,突然断电的概率比台式机高,有DRAM缓存但没掉电保护的盘反而有丢数据风险,所以最好选带掉电保护的型号,或者至少选HMB调校好的无缓存盘。
另外笔记本要注意单面颗粒和双面颗粒的区别,有些轻薄本只能装单面盘。有DRAM的盘有时候是双面的,买之前要确认兼容性。
5.3 大缓存盘发热会不会更严重
DRAM颗粒本身功耗不高,通常一颗DRAM也就零点几瓦,对整体发热影响很小。固态硬盘发热主要来自主控和闪存。所以不用担心大缓存导致发热增加。反而有些无缓存盘因为主控要频繁访问闪存查映射表,闪存活跃度高,发热可能更大。
但如果你买的盘主控本身发热大,比如一些PCIe 4.0的高端盘,那不管有没有DRAM都需要加散热片。笔记本用户尤其要注意,有些盘不加散热片能到80度以上,会触发降速。
5.4 二手盘怎么判断缓存是否正常
买二手盘的时候,除了看健康度和写入量,还要测一下缓存是否正常工作。方法很简单,跑一个持续写入测试,看写入速度是否在SLC缓存用完后断崖式下跌。如果跌到比正常值还低很多,可能是DRAM颗粒坏了或者固件有问题。另外可以用软件看SMART信息里有没有相关报错。
还有一点,有些二手盘是被清过SMART的,健康度显示100%但实际写入量很大。这种盘如果无缓存,磨损会更严重。所以二手盘尽量买有缓存且带掉电保护的型号,风险相对小一些。
5.5 常见问题速查表
| 问题现象 | 可能原因 | 排查方法 | 解决建议 |
|---|---|---|---|
| 盘用久了变慢 | 映射表碎片化,HMB不够用 | 看盘占用率,跑随机写入测试 | 留出至少20%空闲空间 |
| 写入大文件掉速 | SLC缓存用完 | 看写入曲线是否断崖 | 正常现象,不影响寿命 |
| 随机读写低 | 无DRAM或HMB调校差 | 查主控型号和评测 | 换有DRAM的盘 |
| 系统偶尔卡顿 | 映射表查询延迟高 | 看4K QD1成绩 | 系统盘选有DRAM的 |
| 断电后数据丢失 | 无掉电保护 | 查参数页是否标掉电保护 | 重要数据勤备份 |
6. 我的最终选购建议
6.1 按用途分档推荐
根据我这些年的折腾经验,选购策略可以按用途分三档:
系统盘:优先选有DRAM缓存且带掉电保护的盘。容量1TB起步,DRAM至少1GB。这是整台机器最关键的部件,值得多花点钱。如果预算实在有限,选HMB调校口碑好的无缓存盘也行,但要做好心理准备,重度使用时会有卡顿。
游戏盘/软件盘:有DRAM更好,无DRAM也能接受。游戏加载主要看顺序读取,缓存影响不大。但如果游戏经常更新、打补丁,写入量不小,有缓存盘会更稳。
仓库盘/移动盘:无缓存盘完全够用,甚至QLC颗粒也行。这种盘写入一次读多次,对随机性能没要求。把省下来的钱买更大容量更划算。
6.2 容量和缓存的优先级
如果预算固定,比如就五百块,那是买500GB有缓存还是1TB无缓存?我的建议是看用途。系统盘选500GB有缓存,因为系统盘对随机性能敏感,容量小点可以勤清理。仓库盘选1TB无缓存,容量优先。但500GB系统盘现在有点紧张,装几个大型软件就满了,所以如果可能的话,还是加钱上1TB有缓存,一步到位。
6.3 一个容易被忽略的点:固件更新
最后说一个很多人不注意的事:固件更新。有些盘刚上市时缓存管理算法不成熟,随机性能差,后来厂商通过固件更新改善了。所以买盘之后,去官网看看有没有新固件,有的话及时更新。我有一块盘就是更新固件后4K随机写入从40MB/s提升到了65MB/s,效果很明显。但更新固件有风险,一定要在稳定供电环境下操作,笔记本要插着电源,台式机最好接UPS。
我自己现在的配置是:系统盘用1TB带1GB DRAM的PCIe 4.0盘,游戏盘用2TB无缓存盘,仓库用4TB SATA盘。这套组合用了两年多,系统响应一直很跟手,游戏加载也没觉得慢,仓库盘更是从来没出过问题。所以DRAM缓存这事,不是越大越好,而是够用就好,按需选择。系统盘别省,仓库盘别浪费,把钱花在刀刃上。