ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SSD入门必读:从NAND颗粒到主控、SLC Cache与寿命计算

SSD入门必读:从NAND颗粒到主控、SLC Cache与寿命计算 明明是新买的SSD拷一个20GB的蓝光原盘前面几秒钟冲到1.5GB/s之后突然掉到200MB/s。群里问了一圈有人说是温度墙有人说是缓存写完了还有人说是Windows后台跑维护……干了这么多年存储我第一反应是这盘大概率是QLC颗粒、SLC Cache被写穿的入门方案。这种场景估计不少朋友都碰到过。SSD平时看着就是个“大号U盘”装上就能用但真正决定它快不快、耐不耐用的东西全藏在主控、颗粒、固件、预留空间这些看不见的地方。所以我决定开一个系列从最基础的SSD存储原理讲起。第一篇先把“SSD由什么组成、为什么维护流程很特殊、寿命到底怎么算”说清楚。老手可以直接跳到寿命和写入放大那两节新手建议从头读一遍。1. SSD到底是怎么工作的NAND、主控与DRAM缓存的分工1.1 NAND闪存仓库、颗粒层级与“整块搬走”的代价SSD里面真正存数据的东西叫NAND闪存颗粒。它的存储单元本质上是一种浮栅晶体管现代3D NAND更多用电荷俘获层通过给晶体管注入电荷量来表达0和1。一个单元能存几个bit直接决定了它的价位、寿命和速度。NAND有个和你家书柜完全不同的怪脾气读可以按最小的页Page为单位写也按页写但擦除却只能按更大的块Block来整块进行。类比一下就是你想用橡皮擦改作业本上某个字必须把整张纸撕下来放进碎纸机换张新纸才能继续写。这个不对称的结构是理解垃圾回收、写入放大、SLC Cache的一把总钥匙。按每单元存储的位数分SLC一单元1bitMLC 2bitTLC 3bitQLC 4bitPLC 5bit。位数越多同样的物理die容量越大、单GB成本越低但寿命和速度越差。寿命用P/E次数衡量也就是每单元可编程/擦除的次数SLC大致5万-10万次MLC 3千-1万次TLC 1千-3千次QLC 5百-1千次PLC更低。这些数字是一个大体区间具体要看工艺和主控怎么管理。为了让容量大点、成本低点厂商把3D NAND往高层堆128层、176层、232层……堆得越高单位面积容量越大但对颗粒的一致性要求也越高。消费级盘上用TLC、QLC是主流但你是否真的会用到“寿命耗尽”还得看写入放大和每天写多少GB。1.2 主控SSD的大脑FTL、L2P映射与磨损均衡主控是SSD里一颗专用的SoC里面有ARM/RISC-V CPU核心、DMA引擎、LDPC纠错引擎、加解密引擎等。它负责所有I/O命令解析、数据搬运、闪存调度、坏块管理、温度管理、掉电保护协同。最重要的工作是FTL也就是闪存转换层。因为闪存不能原地覆盖主机看到的LBA逻辑地址和NAND里的物理地址之间必须有一张映射表。这张表就是L2P逻辑块地址到物理块地址的映射。每次写数据时主控把新数据写到空闲页然后更新映射关系旧数据就变成无效页。很多人搜“SSD固件中L2P是怎么映射的”说白了就是这套逻辑地址到物理地址的动态翻译机制。SSD内部为保护寿命要做的三件事磨损均衡、垃圾回收、坏块管理。磨损均衡是为了让所有块擦写次数尽量接近避免个别块先挂垃圾回收是趁盘空闲把无效页所在块里的有效数据搬到别处再把整块擦掉恢复为可用块坏块管理则是遇到物理损坏的块就标记隔离用OP预留空间顶上。为什么主控芯片非常重要因为同样的颗粒在不同主控手里的性能和寿命表现差别很大。入门盘掉速、卡顿、0E报错很多是主控的GC策略、LDPC纠错能力和固件调校不到位。买SSD不要只看颗粒型号主控的代次和固件口碑往往更能拉开差距。1.3 DRAM缓存与DRAM-less方案映射表放哪决定掉电命运SSD里的DRAM和电脑内存不是一个概念。它没有拿来当“装满缓存数据”的普通缓存用最核心的用途是放L2P映射表以及记录FTL的日志等。映射表放在DRAM里随机读写时时查表极快几十GB数据几分钟就能建好表。但DRAM都是掉电丢数据的。如果异常断电没来得及把最新的映射表刷回NAND盘就可能失去对部分数据的寻址能力轻则掉盘重则看起来像数据丢失。解决方法就是加PLP电容也就是掉电保护电容断电瞬间用电容残存的电量强行把DRAM里的关键表刷进NAND。这就是“SSD PLP电容”这个词的由来企业级盘基本是标配。消费级很多入门盘是DRAM-less方案把映射表常驻在NAND里再用SRAM做小部分缓存或者支持HMB即通过NVMe协议借用主机内存的一小块空间做映射缓存。好处是便宜、省电代价是随机写入和持续高负载下容易掉速。怎么区分看官方参数DRAM-less盘往往没有标“缓存容量”实测半盘连续写入时差距很明显。2. 接口、协议与外形尺寸别再让硬件装不进去2.1 SATA与NVMe物理接口和协议是两码事很多人把SATA、NVMe当成同维度的词其实SATA和NVMe一个是接口/总线标准一个是基于PCIe的传输协议。SATA 3.0理论带宽6Gbps实际传输700MB/s左右NVMe走PCIe通道PCIe 4.0 x4理论带宽约8GB/s含编码开销实际顺序读可达7GB/s以上。差距主要在大文件和高队列深度。协议层面的差别更关键。AHCI是为HDD设计的队列深度最多32且只有一个队列NVMe支持最多64K队列、每队列64K条目。这意味着大量小文件并发读写下NVMe的I/O效率远高于SATA。日常打开网页看不出差别编译代码、拷大量小图片、跑数据库差别就直观了。接口带宽和协议要配合看一块NVMe盘插在PCIe 3.0 x2的主板上速度可能只有1.5GB/s左右同一块盘插在PCIe 4.0 x4上顺序读能跑满。买之前查清楚主板支持PCIe几代和x几通道不然就是拿跑车走了乡道。2.2 M.2与外形的坑金手指、长度和主板的兼容性M.2是一个物理插槽规格但它同时支持SATA和NVMe两种协议。买盘前先看主板的M.2插槽支持什么——有的槽走SATA通道只能插SATA协议的M.2盘有的槽走PCIe但只能用PCIe x2有些只有PCIe x4。再看金手指缺口M key是单缺口一般支持PCIe/NVMe还可能同时支持SATAB key是偏右单缺口多支持SATA或PCIe x2。买错或者插到不支持协议的槽里可能完全点不亮。长度上M.2常见2230、2242、2260、2280后面两位是毫米数。2280是主流很多笔记本只有固定长度的螺丝孔买长了装不上买短了又没有位置固定这也是“买SSD”时最容易忽略的问题。老机器升级最好先拆开看一眼原盘长度和螺丝位。除了M.2还有2.5寸SATA盘、U.2企业盘、E1.S服务器盘。2.5寸SATA适合老笔记本/台式机U.2则常见于服务器和高端工作站需要转接线。普通用户大部分时候只需要关心SATA与NVMe、M.2长度和key三件事。2.3 老平台引导NVMe不是有NVMe盘就一定能从它启动无论是SATA还是NVMe盘作为系统盘都需要主板BIOS/UEFI能识别它并在引导阶段找到引导程序。较老的Intel 6系/7系、AMD 9系主板原生只支持SATA AHCI引导插上NVMe盘能进系统但不一定能作为启动盘。解决思路更新BIOS到支持NVMe模块的版本或用转接卡加上第三方BIOS模块注入。这些操作有风险先备份BIOS别刷失败变成砖。引导顺序也有讲究BIOS里要认到“Windows Boot Manager”在NVMe盘上而不是U盘或旧硬盘。很多人新盘挂上之后启动不起来不是盘坏了而是启动项顺序错了。遇到这种问题先进BIOS看一眼启动列表里有没有新盘对应的启动项再考虑更深层的兼容性问题。3. 寿命、速度与参数商家不会写明白的事3.1 颗粒类型与寿命TLC、QLC到底能用多久颗粒类型每单元位数大致P/E次数常见场景特点SLC15万-10万企业写入密集/缓存最快最贵MLC23千-1万企业级/高端盘均衡TLC31千-3千消费级主力性价比高QLC45百-1千入门/大容量便宜缓外一般PLC5更低尚在早期容量优势技术待成熟寿命不能只看颗粒类型看TBW更实用。TBW是厂家承诺的总写入字节数只要在这个范围内正常写入厂家就质保。比如一块500GB、标称TBW 300的盘每天写30GB300*1024/30约等于10240天约28年大多数家用盘5年质保期根本写不到。真正影响体验的是每天写几百GB的重度用户或下载机选择大TBW、大OP的产品更稳妥。另一个指标DWPDTBW/容量/365/年数是数据中心选盘的标准。消费级不用天天算拿来看保修合理不合理就够了。还要注意厂家标称的TBW和“实际用到寿命尽头的最大写入量”不是一回事TBW更像是“质保期内你能放心用的凭证”。3.2 顺序读写、随机读写与I/OPS为什么标称速度跑不出来标称顺序读7GB/s、顺序写6GB/s对应的是大文件、深队列的极限成绩。日常操作大量4KB、16KB小文件的随机读写才是真实体验。随机4K QD1性能SATA盘往往在40-60MB/sNVMe入门盘可能70-100MB/s高端盘过200MB/sI/OPS也同样是随机性能口径。跑分工具里CrystalDiskMark、AS SSD Benchmark重点看4K和4K-QD32不要总分好看就以为盘特别快。为什么标称速度跑不出来第一文件本身是小文件第二SLC Cache被写穿第三盘内GC在后台抢带宽第四温度过高触发降速。这四条加起来就是“新盘很快、用久了掉速”的真相。3.3 SLC Cache缓内高速与缓外真相SLC Cache的思路是把TLC/QLC颗粒的部分区域临时当SLC用一次只写1个bit天然速度是TLC模式的3倍左右。写入数据时主控会优先写进SLC Cache区域表现就是大文件拷贝前半段飞快等缓存填满后主控边把SLC缓存里的数据转写成TLC格式、边接收新数据速度掉到“缓外速度”。家用QLC盘缓外连续写可能只有几十MB/s到150MB/sTLC盘也不一定快要看具体方案。选购时别只听“支持SLC Cache”自己拿40GB以上的大文件连续写一遍看曲线掉在哪。用AS SSD Benchmark的Copy Benchmark或者HD Tune的稳定态测试也能判断缓外表现。为什么QLC家用也够用因为绝大多数家庭场景单次写入量不超过20GB只要缓存设计合理比如256GB容量给10-20GB SLC Cache体验就没有那么糟。怕的是动不动写几十GB视频素材和工程文件的人用QLC。一句话总结缓存是面子缓外是里子。3.4 写入放大与OP预留空间SSD为什么越用越慢写入放大WAF的计算是实际写入闪存的物理量除以主机请求写入的逻辑量。因为GC要搬有效数据、FTL更新也要额外写一次1MB的逻辑写入可能实际写2MB甚至更多。WAF越高NAND磨损越快、SSD性能越差。这也是为什么同样颗粒不同主控的盘寿命表现差很远。预留空间OP指SSD标称容量之外实际物理容量中不开放给用户/主控保留的部分。128GB标称容量的盘物理die可能是1288/16GB多出来的就是OP。OP用来做GC搬移的临时缓冲、坏块替换、映射表存储。官方容量和用户容量差异越大OP越多WAF就越低寿命和稳定性都更好。用户能做的事别把盘塞满留出10%-20%空闲空间这等于扩大OP。百分之百满载的SSD垃圾回收没有地方搬数据速度会急剧下降有些盘甚至会出现异常掉盘。这是最便宜也最有效的养盘技巧我每次装机都会跟朋友强调这一句。4. 混合存储、测试工具与常见坑4.1 嵌入式平台的混合存储SPI NOR保引导NVMe SSD跑系统最近不少开发板方案比如用RK3588s的平台都走混合存储路线SPI NOR闪存放引导程序PCIe NVMe SSD放系统和大数据。为什么这么分SPI NOR容量小16MB、32MB但随机读极快、掉电不丢、对启动阶段很友好加载bootloader只需要几十毫秒SSD容量大、写入快适合放Linux系统根文件系统、容器镜像、日志和数据库。踩坑实录一是启动顺序很多板子默认从SD卡或USB引导需要在u-boot/UEFI里设置SPI NOR优先二是NVMe的初始化比NOR慢如果固件在启动早期就挂载根文件系统会遇到nvme设备还没就绪因此要配好udev或者用initramfs等待三是掉电。嵌入式设备断电很随意NVMe SSD没有完整掉电保护的话L2P映射表会出现不一致表现为开机后文件系统损坏。解决方案是代码里做干净的umount、filesystem用ext4且定期fsck、尽量选带掉电保护的企业级小容量盘。这套组合的意义把启动可靠性交给NOR、把读写性能和容量交给NVMe是成本和性能之间的最优解之一。排查时先看dmesg里nvme控制器有没有认盘再看挂载参数是否带了noatime或者discard。这类问题的处理思路对做嵌入式Linux、软路由、NAS一体机的朋友很有参考价值。4.2 数据存储分层哪些数据不该只放在SSD上SSD快但不代表所有数据都适合放SSD。第一长期不读写的冷数据比如相册、老电影、备份包放HDD、NAS甚至对象存储更划算SSD的每GB成本高且断电长期存放有电荷泄漏风险第二重要的数据库和业务数据需要多副本绝不能单盘死磕第三日志和临时文件量大且不值钱可以放SSD但要定期清理别让日志把OP吃光。企业里的存储面、参数面、管理面、样本面这些概念落到日常工作里核心就是分层热数据上SSD温数据走HDD/阵列冷数据进对象存储或磁带。个人用户至少做到重要文件在SSD之外留一份备份。你在微信小程序里直接调MinIO还是上云对象存储先想清楚数据冷热再定方案别一上来就把所有东西都往最快的盘里塞。4.3 检测工具与固件更新别等掉盘才看SMARTWindows下看健康状态用CrystalDiskInfo看SMART属性里的已用寿命、温度、0EMedia and Data Integrity Errors和E2E错误计数0E不为0要尽快备份并考虑售后跑性能用CrystalDiskMark参考AS SSD Benchmark重点看4K随机分数Linux下用smartctl和nvme-cli读SMART日志和错误日志。smartctl -a /dev/nvme0 # 查看NVMe盘SMART nvme smart-log /dev/nvme0 # 查看NVMe详细日志 sudo fstrim -v / # 手动执行Trim固件更新用官方工具下载前先确认型号和固件版本更新前备份重要数据更新过程中绝对不能断电。消费级盘固件更新不频繁但遇到官方发布修复掉盘、修复WAF、修复兼容性的固件时还是值得升的。类似Intel SSD Firmware Update Tool这类官方工具本质就是最后一道保险。另外分区对齐也别忽略Windows下用DiskGenius或系统自带工具确保4K对齐。4K不对齐会让小文件随机性能腰斩。新装系统基本都是对齐的老克隆盘容易出现这个问题。跑过一次AS SSD Benchmark就能看到分区对齐状态多留意一眼没坏处。4.4 常见问题速查表现象可能原因处理思路拷贝大文件先快后慢SLC Cache写穿/温度降速看缓外曲线换大容量或更稳的盘电脑卡顿、掉盘盘过满、固件BUG、散热差留OP、降速、更新固件、换线开机找不到启动项启动顺序错/BIOS不支持NVMe进BIOS改启动项更新BIOSSMART 0E不为0数据完整性错误立刻备份联系售后系统盘用久了空间越来越小日志/休眠文件/系统还原点清理日志、关闭休眠、定期TrimWSL报组件存储损坏系统组件问题非SSD损坏wsl --update、重置发行版这里最想提醒的一句话如果SMART已经提示0E或者健康度快速下降先备份再折腾。存储设备永远不能当保险箱。排查的时候按“先软后硬”的顺序走先看SMART、再换线换槽、最后才考虑刷固件和售后能少走很多弯路。写到这里SSD的基础盘算是铺开了。我自己实际选购时顺序永远是确认接口协议容量大小、再查主控和缓存方案、最后用大文件实测缓外曲线TBW反而不是我最紧张的那个数字——因为只要不是整天几十GB的写入消费级TLC盘真能用到你换电脑。后面这个系列我打算接着聊FTL的映射细节、垃圾回收算法、以及SSD掉盘之后的排查流程。如果这篇让你对SSD的“心理模型”有了底可以顺手在评论区聊聊你被哪块盘坑过我挑典型展开写。下一期见。
返回列表