ssd 提前寿终正寝的原因是它在运行时所承受的持续“微写”负载

大多数人都把SSD变得缓慢或是提早坏掉的原因,归结到硬件和质量上。其实不然,造成SSD提前寿终正寝的一个重要因素是它在运行时所承受的持续“微写”负载。现代操作系统简直就是一个充满活力的数字生态系统,不断生成微写流,记录文件、浏览器缓存、遥测数据、索引、更新和后台服务操作。每个微写单独看没什么,累积起来就会形成高频噪声,SSD的架构使它处理这些噪声时效率很低。 用户可能不明白,桌面上的软件其实是微写的源头。像Chrome和Edge这样的主流浏览器,不断更新小型SQLite数据库来存储历史记录、Cookies和缓存状态,还要频繁重写会话恢复文件。Windows Defender安全进程也通过频繁记录小事件日志和更新签名来增加负担。还有Windows搜索、macOS Spotlight以及后台遥测引擎这些系统服务,都会产生一系列写入操作。 虽然SSD对大文件的移动比较高效,但处理小文件时它就得拼尽全力了。操作系统改动小文件时,后台会触发一连串反应。这种小改动产生的元数据流量会不成比例地消耗SSD的写入带宽。谷歌的研究发现,在某些工作负载下,文件系统日志记录可能会占用高达76%的磁盘写入带宽。预算型消费SSD因为没有DRAM缓冲区和QLC NAND的缘故,问题会更加严重。它们依赖HMB或者NAND基映射表来应对微写入操作时就显得吃力不讨好了。 FTL映射表在高速DRAM中操作起来飞快,但在慢速NAND单元上读取修改再写入这个过程就显得慢吞吞的。这样重复写入效应就会增加内部延迟并加速单元磨损。QLC NAND本身耐久性只有500-1000次编程/擦除周期就更低了,微写入产生的WA会把这些周期消耗得更快。 为了减轻微写入造成的磨损,建议优先选择配备专用DRAM和TLC NAND的驱动器。NTFS、APFS和ext4这类文件系统管理数据时都是以4KB簇为单位的。而NAND闪存硬件则受限于更大的块结构。当小文件发生变化时,SSD必须先把整个块读入缓存做修改,再把整个块重写到别的地方去才能把旧块擦除干净。 这个过程就导致了WA现象出现了。它是一种无声杀手,能让驱动器磨损得更快。美光分析了多个应用基准测试后发现随机4KB写入是所有工作负载中WA因子最高的一种。随着时间推移这会显著加速存储单元的磨损特别是在那些超额配置有限的消费级SSD上。 美光的研究还指出APFS这种文件系统在应对元数据更替时也存在一些问题。这其实是因为操作系统请求数据的方式与NAND存储数据的方式不一致所导致的问题。每次改动一个文件都会涉及目录条目、分配表、日志还有文件索引等一系列操作。 在Windows这样的现代操作系统中一次简单改动往往会触发数十次写入操作甚至更多。 虽然76%这个数字是在多线程邮件服务器环境中测得的一种极端情况,但在大多数日常桌面使用中这类开销是不会出现的。