电脑圈有个老话题,每隔几年就要被重新翻出来吵一遍:SSD 和 HDD 到底差多少?我最近正好攒了一批盘,从老式 7200 转机械盘到 SATA 固态,再到 PCIe 4.0 的 NVMe 旗舰,外加一个拿内存模拟出来的 RAM Disk 外挂选手,索性做了一轮比较系统的读写速度测试。这篇文章就是把整个测试过程、工具选型、数据分析和踩坑记录完整拆给你看,所有测试方法都是普通用户在自己电脑上就能复现的,不需要专业实验室设备。
如果你正准备买硬盘、纠结要不要升级固态,或者单纯想搞明白为什么有些软件打开快、有些游戏加载慢,这篇文章可以直接当参考。我会把顺序读写、4K 随机、延迟这些概念用最直白的方式讲清楚,再附上我实测下来的一组真实数据,以及测试过程中遇到的各种疑难杂症和排查方法。
1. 测试前的认知准备:三种存储的本质差异
在按下跑分软件那个 Start 按钮之前,我觉得有必要先把三个参测选手的底细摸清楚。很多人上来就比数字,结果连自己测的到底是什么都说不清楚,这样的测试参考价值非常有限。
1.1 HDD:机械结构的物理天花板
HDD 的原理其实特别简单粗暴,一张涂满磁性材料的圆形盘片,一个悬浮在盘片上方几纳米位置的磁头,马达带着盘片高速旋转,磁头在盘面上来回移动找到目标扇区,然后读写数据。这个机械结构从 1956 年 IBM 第一块硬盘诞生到现在,本质上没有变过。
正因为是机械运动,HDD 的性能天花板是被物理定律钉死的。家用级 7200 转硬盘的内圈到外圈读取速度,大概在 70MB/s 到 200MB/s 之间波动;5400 转的低速盘甚至只有 60MB/s 到 130MB/s 的水准。平均寻道时间通常在 9ms 到 15ms 这个区间,这是什么概念呢?一次数据定位的时间,够 SSD 完成几百上千次读操作了。
还有一个普通人不太注意的细节:HDD 的读写速度跟数据在盘片上的物理位置强相关。外层磁道周长更长,同样转速下划过的扇区更多,所以读取速度明显快于内圈。这就是为什么同一块硬盘,测速时数据的"水位"不同,结果会差一大截。如果你拿一个已经用了大半、数据分散在内外圈的硬盘去测,表现会比空盘惨不少。
1.2 SSD:从 SATA 到 NVMe 的跨越
SSD 没有机械机构,数据存在 NAND 闪存颗粒里,通过主控芯片调度闪存单元完成读写。这带来了几个质的改变:寻址不再需要物理移动,延迟从毫秒级直接掉到微秒级;并行度极高,闪存颗粒可以像多车道公路一样同时传输数据。
不过 SSD 内部差异也很大。SATA 接口的 SSD,因为受限于 SATA 3.0 标准,理论带宽上限只有 6Gbps,刨去编码开销,实测顺序读写大概就是 550MB/s 左右,这是所有 SATA 盘的天花板,不管你用的是多贵的颗粒。而 NVMe SSD 走的是 PCIe 通道,直接跟 CPU 通信,PCIe 3.0 x4 理论带宽约 4GB/s,PCIe 4.0 x4 翻倍到约 8GB/s,最新的 PCIe 5.0 更是到了 16GB/s。这就好比同样一条高速公路,SATA 是两车道限速 60,NVMe 是八车道不限速,差距天然就在那里。
但要注意,顺序读写的漂亮数字只是 SSD 的一面。闪存的擦写机制决定了它的 4K 随机性能、写入寿命、缓存策略才是真正影响日常体验的环节。这部分我在后面实测环节会详细展开。
1.3 RAM Disk:把内存当硬盘用的"外挂"
这次测试我拉来了一个特殊选手:RAM Disk。它的原理很简单,就是用软件划出一部分物理内存,把它模拟成一块硬盘分区。内存的读写延迟是纳秒级别,带宽动辄几十 GB/s,跟机械硬盘和固态硬盘完全不在一个次元。
我用的是 SoftPerfect RAM Disk,这类工具的核心逻辑就是拿内存空间换存储速度。它的优点是极致快,缺点是断电即失,数据一掉电就没了,而且占用的是系统内存,内存不够大的机器慎用。我这次划分了 8GB 出来做测试盘,系统内存是 32GB,对日常使用影响有限。如果你也想玩,建议至少 16GB 内存起步,否则物理内存被挤占后,系统会频繁使用页面文件,整体响应反而变慢。
为了公平起见,我把它当成一个"外挂选手"加入对比,但数据分析时还是分开讨论,毕竟它的定位跟真正意义的持久化存储完全不同。
2. 测试环境搭建与工具选型
同一块硬盘在不同平台、不同接口、不同负载下跑出来的数字可能天差地别,所谓"测试公正性",很大程度上取决于环境控制。我在这次测试里尽量把变量压到最少。
2.1 硬件平台与测试盘清单
测试平台信息如下:
| 项目 | 配置 |
|---|---|
| CPU | Intel Core i5-13600K |
| 主板 | B760M 主板,带 PCIe 4.0 M.2 插槽 |
| 内存 | 32GB DDR4 3200 |
| 系统盘 | 1TB PCIe 4.0 NVMe SSD |
| 测试盘1 | 希捷 2TB 7200 转 HDD(SATA) |
| 测试盘2 | 三星 870 EVO 500GB(SATA SSD) |
| 测试盘3 | WD SN850X 1TB(PCIe 4.0 NVMe) |
| 测试盘4 | SoftPerfect RAM Disk 8GB |
所有测试盘的剩余空间都保持在 85% 以上,避免写入放大和碎片影响结果。测试前我统一把分区格式化为 NTFS,4K 对齐已确认(分区起始偏移 103424 扇区,对齐到 1MB 边界,这个很关键,后面会细说)。
要特别提醒一点:测量 SSD 的顺序写入时,一定要保证被测盘不是系统盘,或者至少系统在测试期间没有频繁的后台写入。否则你测出来的写入曲线会混合着系统日志、临时文件、页面文件的写入流量,数据完全不能用。我把这三块数据盘都挂成了从盘,系统装在独立的 NVMe 上。
2.2 测试工具的选型心得
存储跑分工具我前后用过不少,这次重点用三个,各有所长:
第一是 CrystalDiskMark,最普及的基准测试软件,操作直观,默认跑的顺序 1MiB、随机 4KiB 队列深度 32/1 等组合基本覆盖了主流应用场景。新版还支持设置测试数据大小和循环次数,我建议用默认 1GiB 数据跑 3 次取平均值,结果更稳定。
第二是 Victoria,这款工具在 HDD 时代就是老牌选手,现在也支持 SSD。它最强大的功能不是跑分,而是读扫描和健康度检查,可以逐扇区检测坏道、查看 SMART 信息。它的读速度测试能直观反映整块盘面的速度分布曲线。
第三是 hdparm,如果你用 Linux 系统,这个命令行工具是首选。hdparm -t测缓存读取,hdparm -T测纯硬件读取,简单高效。另外 Linux 下还有fio这个高级工具,能精确模拟各种 IO 模型,不过配置参数较多,普通用户用 CrystalDiskMark 就够了。
我还顺手试了 AS SSD Benchmark 做交叉验证,它附带压缩比测试和 IOPS 测试,可以看出 SSD 在数据可压缩和不可压缩两种情况下的表现差异,对了解主控算法有帮助,但作为普通测速工具,CrystalDiskMark 的参考价值更直观。
2.3 为什么不能只用"复制大文件"来测速
很多人判断硬盘快慢的方式是直接复制一个几 GB 的电影,掐秒表算速度。这个方法不是不能用,但误差非常大。文件复制涉及操作系统缓存、源盘与目标盘的读写叠加、Copy 引擎的缓冲区大小、SMB 协议(如果是网络传输)等因素,你测到的是"系统在这一瞬间的综合表现",而不是某一块硬盘的真实能力。
举个例子,我拿同一个 10GB 文件从另一块 NVMe 往测试 HDD 里拖,Windows 资源管理器显示的速度可能高达 1.5GB/s——因为源数据大部分被缓存在内存里,真正的瓶颈在 HDD 写入端,但界面显示的是混合速度。反之,如果你从 HDD 往 NVMe 里拖,速度又会被 HDD 的读取端限制住,根本测不出 NVMe 的真实写入水平。所以专业测速必须用绕过文件系统的裸读写或者直接用基准工具,CrystalDiskMark 这类工具就是干这个的。
3. 实测数据:顺序读写、4K 随机与延迟
跑完所有测试后,我拿到了四张数据表。为了让你看得更明白,我把结果分成了三组:顺序读写、4K 随机、以及延迟表现。每组数据背后都有值得展开讲的东西。
3.1 顺序读写:大文件连续传输的真实水平
先看最能抓眼球的顺序读写结果:
| 测试项 | 希捷 2TB 7200转 HDD | 三星 870 EVO (SATA SSD) | WD SN850X (PCIe4.0 NVMe) | RAM Disk 8GB |
|---|---|---|---|---|
| 顺序读取 | 186.3 MB/s | 561.2 MB/s | 7034.5 MB/s | 7420.1 MB/s |
| 顺序写入 | 182.7 MB/s | 523.8 MB/s | 6201.3 MB/s | 5320.6 MB/s |
HDD 的成绩是 186MB/s 左右,接近 7200 转 3.5 寸盘的物理极限。注意这是空盘外圈的峰值,如果你把测试文件放在盘片内圈,这个数字可能会掉到 120MB/s 上下。SATA SSD 稳稳顶在天花板附近,560/524MB/s,这是接口上限不是闪存上限。
NVMe 这边,SN850X 跑出了 7GB/s 的读取,这是 1TB 容量下 PCIe 4.0 满速盘的表现。要注意它有个 pSLC 缓存区,顺序写入前 200GB 左右都能保持 6GB/s 以上的速度,超出缓存区后掉到约 1.5GB/s。如果你的 NVMe 是 TLC 颗粒且缓存较小,大文件持续写入的掉速会更明显,这是正常现象,后面章节专门讲。
RAM Disk 的读取 7420MB/s,写入 5320MB/s,写入比读取低是因为 SoftPerfect 的写入路径经过了一层额外的模拟转换,纯内存带宽其实更高。但即便如此,这个数据已经把 HDD 甩开了整整 40 倍。
3.2 4K 随机读写:日常流畅度的关键指标
如果说顺序读写决定的是你复制大文件快不快,那 4K 随机读写决定的就是系统到底"跟不跟手"。打开软件、加载游戏场景、启动虚拟机、数据库查询,全是大量小文件的随机 IO。
下面是用 CrystalDiskMark 的 4K Q32T1 模式测的数据:
| 测试项 | 希捷 2TB 7200转 HDD | 三星 870 EVO | WD SN850X | RAM Disk |
|---|---|---|---|---|
| 随机读取 4K | 1.1 MB/s | 42.3 MB/s | 89.7 MB/s | 1320.4 MB/s |
| 随机写入 4K | 0.8 MB/s | 35.6 MB/s | 76.2 MB/s | 960.8 MB/s |
HDD 的 4K 随机读取只有 1MB/s 上下,这个数字直观地解释了为什么机械硬盘装系统会卡成 PPT——你的操作系统每一秒要发起几百上千次小文件读取,每次都要等磁盘把磁头移过去,延迟叠加起来就是灾难。SSD 靠并行闪存把随机性能提高了几十倍,NVMe 又靠更高的队列深度再翻一倍。
如果你想知道这两项对实际体验的意义,我总结成一句话:日常开应用 90% 的卡顿都来自 4K 随机性能不足,而不是顺序带宽不够。很多人花大价钱买高速 NVMe 跑分漂亮,但实际感觉没比 SATA SSD 快多少,就是因为 SATA SSD 的 4K 随机已经达到了用户感知的"够用线",再往上提升的边际收益变小了。不过你要是做视频剪辑、大数据分析这类重度 IO 场景,差异就会重新被拉大。
3.3 RAM Disk 实测:内存带宽的恐怖实力
RAM Disk 的 4K 随机是 1320MB/s 的读取、960MB/s 的写入,这个数字是 NVMe 的十几倍。虽然我前面把它当"外挂"看,但数据摆出来确实震撼。
实际使用中,我把一个项目的构建目录放到 RAM Disk 里,编译时间从原来的 3 分 20 秒缩短到了 2 分钟出头。原因在于编译过程有大量的中间文件读写,每次都是 4K、8K 级别的小数据,RAM Disk 恰好完胜。浏览器缓存、临时文件、Photoshop 的暂存盘放 RAM Disk 也同样有效。
但代价也很明显:一旦断电重启,里面所有数据消失得干干净净。我见过有人把重要资料放在 RAM Disk 里然后忘了备份,重启后欲哭无泪。所以我给自己定了个规矩:RAM Disk 里只放"丢了也无所谓"的临时数据,重要文件永远走真磁盘,并且设置定时同步脚本,每 5 分钟把 RAM Disk 里有改动的文件镜像回 SSD。
4. 影响读写速度的隐藏因素
很多人测完速会发现一个困惑:为什么跑分软件显示 500MB/s,实际复制文件只有 300MB/s?为什么同一块 SSD 别人的分数比我高一大截?答案往往藏在几个不太起眼的技术细节里。
4.1 缓存与 SLC Cache 机制
NAND 闪存颗粒分 SLC、MLC、TLC、QLC,本质区别是每个存储单元存几位数据。SLC 单元只存 1bit,速度最快寿命最长,但成本最高;TLC 存 3bit,容量密度大,但写入速度慢;QLC 存 4bit,更慢。
厂商为了解决 TLC/QLC 写入慢的问题,搞出了 SLC Cache 机制。原理是拿出一部分 TLC 空间模拟成 SLC 模式工作,在这个模式下写入速度可以翻好几倍。我测试的 SN850X 之所以顺序写入能到 6GB/s,靠的就是大约 200GB 的动态 SLC 缓存。一旦缓存被写满,主控就得一边接收新数据一边把缓存里的数据"搬回"TLC 区域,这时候写入速度会断崖式下跌。
这就是为什么测速时测试数据量大小会直接影响结果:用 1GiB 测试,数据全落在缓存里,分数非常漂亮;改用 64GiB 测试,缓存被打穿,分数会掉一半甚至更多。所以买 SSD 不能只看缓存内的"峰值跑分",要看缓存外的"持续性能",尤其是你准备拿它当视频素材盘或者下载盘时。
4.2 文件系统与分区对齐
文件系统对性能的影响经常被忽略。NTFS、exFAT、APFS 之间的差异,加上簇大小的设置,都会让同一块盘跑出不同分数。以 NTFS 为例,默认簇大小 4K,如果存储大量小文件,4K 簇通常是最优解;如果存大视频大镜像,簇大小改成 64K 反而能减少碎片、提高连续传输效率。
分区对齐就更是老生常谈了。SSD 的读写单元是页(通常是 4KB 或 8KB),如果你分区起始位置没有对齐到 NAND 页边界,一次 IO 可能横跨两个物理页,造成读写放大。机械硬盘同样受此影响,虽然原理不同(对齐到物理扇区即可),但现代系统都默认从 1MB 偏移开始建分区,基本不会有人再踩这个坑了。检测方法很简单,Windows 下用msinfo32看"分区起始偏移"是不是 103424 扇区(即 1MB 的整数倍),Linux 下用fdisk -l看 start 字段。
4.3 主板接口与线材的坑
我这次测试就差点栽在接口问题上。最初接 NVMe 时顺手插到了主板的第二个 PCIe 4.0 M.2 插槽,跑出来的读取只有 3.5GB/s,明显不正常。翻说明书才发现,这个插槽跟某个 SATA 接口共享带宽,而且 PCIe 通道数被限制到了 x2,等于直接砍半。
这个坑在实测中非常常见,特别是中低端主板。CPU 直连的 M.2 插槽通常带宽最足,走芯片组的插槽可能共享带宽,插了多块 M.2 或者 SATA 设备后相互抢车道的现象也很多。建议测速前先查阅主板说明书,确认你插的槽位是满速 x4 还是半速 x2。SATA 线材同样有讲究,劣质或者过长的 SATA 线会导致信号质量下降,速度不稳甚至掉盘,有条件尽量用知名品牌的短线。
5. 常见问题与排查技巧实录
这一部分是我最想分享的,因为整个测试过程踩了不少坑。这些问题在说明书里找不到,全是真金白银换来的经验。
5.1 测速结果波动大怎么办
如果你发现同一块盘反复测,分数忽高忽低,先别急着怀疑硬件坏了。先从这几个方向排查:
查看后台进程。Windows 的 Search Indexer、Defender 实时扫描、Windows Update 这些服务会在后台疯狂读盘,测速时即使系统盘没被测,它们也可能在测数据盘上扫描文件。最稳妥的做法是测速前打开任务管理器,把所有非必要进程全部关掉,必要时直接到安全模式下跑测试。
检查温度。NVMe 固态的过热降频非常厉害,我跑 SN850X 连续读写 30 分钟后,温度从 42 度涨到了 78 度,主控开始降速保护,顺序写入从 6.2GB/s 掉到 4.1GB/s。如果你的 NVMe 没有散热马甲,一定要加装,或者至少确保机箱风道覆盖到 M.2 插槽位置。
确认没有其他设备抢总线。前面提到的共享带宽问题,测速时最好把其他 M.2、SAT A 设备暂时断掉,尤其是测试主盘的顺序写入时。
5.2 硬盘健康度检测与寿命问题
测试之余我也顺手检查了几块盘的 SMART 信息。Windows 下可以用 CrystalDiskInfo,Linux 下用smartctl -a /dev/sdX。重点关注几个指标:Reallocated Sectors Count(重映射扇区数)、Current Pending Sector、Uncorrectable Sector Count、以及 SSD 的 Wear Leveling Count 和 SSD Life Left。
机械硬盘出现重映射扇区说明盘面已经有物理损伤,数值还在涨的话,这盘就不能放重要数据了。SSD 则要看寿命百分比,我有一块用了三年的 SATA SSD,健康度剩 92%,已经写入约 28TB 数据。用 Victoria 的扫描功能可以逐扇区检查读速度,能直观看出盘面上有没有异常降速区域,这个比单纯看分数更有诊断价值。
网上流传的所谓"SSD 寿命清零"是个高危操作,市面上确实有对应的量产工具可以重置 SSD 的 SMART 数据,但这是给工厂返修用的,不是给普通用户玩的。刷写失败轻则丢数据,重则直接变砖。我给所有人的建议都是:别碰,老老实实看健康度,该换就换。
5.3 硬盘维护工具的实用经验
测试过程中我还用到了几个常用的磁盘维护工具,顺手分享下实际体验。
HDD Raw Copy Tool 这个工具,名字带 HDD 但其实也能处理 SSD 和 U 盘。它的核心功能是扇区级别的全盘复制,不管文件系统是什么样,都按原始扇区数据复制,非常适合做数据恢复和整盘备份。但它不是万能的,如果源盘有大量读取错误,复制过程会卡在某一个坏扇区上停很久。我这次测试就遇到过复制到 63% 卡了 20 分钟的情况,解决办法是在设置里把"错误重试次数"从默认值调成 0 或 1,碰到坏块直接跳过,先把能救的数据救出来。
HDD Low Level Format Tool 也被人问过很多次。这个名字听着吓人,但其实它做的事不是传统意义的硬件低格,而是把整个磁盘扇区清零重写,相当于给硬盘"恢复出厂状态"。它只适合两种情况:一是你要彻底销毁盘上数据,二是处理某些逻辑坏道或者加密残留。日常使用完全不需要低格,尤其别对 SSD 做,闪存颗粒不支持真正的低格,这个操作只会白白消耗一次全盘擦写寿命。
另外说到 RAM Disk,SoftPerfect 我用下来比较稳,激活方式支持个人免费版,功能对测试来说完全够用。同类工具还有 ImDisk 和 StarWind,后者是开源免费的,功能更朴素但没什么坑。配置 RAM Disk 时我建议把临时文件、浏览器缓存这些指向它,但千万别把虚拟内存页面文件放进去,内存本来就不够用的情况下再拿内存去当虚拟内存的载体,属于脱裤子放屁。
还有一个细节:如果你的 Linux 系统用的是 UOS 这类国产发行版,NVMe 固态在部分版本上可能需要额外加载主控驱动,否则识别不到或者只能跑在低速模式。有个叫"nume ssd"的配置项,对应的是部分国产平台对 NVMe 设备的特殊管理方式,如果你在 UOS 下遇到 NVMe 性能异常,先查一下内核日志和官方驱动支持列表。我不展开讲底层实现,但遇到这类问题先确认驱动再谈性能。
6. 数据背后的真实体验与选择建议
测试数字是死的,但生活场景是活的。我把这轮测试得到的数据映射到几个常见使用场景里,给你一个更接地气的购买和使用参考。
如果你还在用 HDD 做系统盘,不用看任何跑分,换一块 SATA SSD 就能感受到肉眼可见的质变。开机时间从 50 秒缩短到 15 秒,浏览器打开不转圈,右键菜单秒出,这些都是 4K 随机性能提升带来的红利。普通办公、影音娱乐、偶尔玩玩游戏,SATA SSD 已经足够,没必要追求顶级 NVMe。
如果你是视频剪辑或者程序员,建议上 PCIe 4.0 NVMe。4K 素材的预览、工程文件的加载、大规模代码仓库的索引构建,这些场景对连续读写和随机 IO 都有硬需求,NVMe 的高带宽能显著缩短等待时间。但也要注意散热,最好选自带厚马甲或者散热片版本的型号。
至于 RAM Disk,我的定位是"锦上添花"的工具。它适合临时跑一些重 IO 的负载,比如编译、渲染、数据库测试,但绝对不适合当主力存储。如果你设置了 RAM Disk,强烈建议配一个定时同步脚本,防止意外重启造成的数据丢失。我自己的配置是每 5 分钟用 robocopy 镜像一次,这样最多损失 5 分钟内的数据,算是安全和性能的折中。
最后再分享一个小技巧:测试任何硬盘前,先用工具确认它的固件是不是最新版本。我见过一块 SSD 因为固件 bug,顺序写入被限制在 400MB/s,更新固件后直接翻倍到 800MB/s。厂商经常通过固件更新优化性能算法和缓存策略,这个免费提升往往比换硬件来得更实在。