也让 SSD 性能第一次经得起质疑

在硅谷工程师圈子里,衡量一个人是否“足够优秀”,往往有一套默认标准:

是否参与过标准制定?

是否拥有足够多的专利?

是否站在技术金字塔的上层?

打开网易新闻 查看精彩图片

Sandisk(闪迪)企业级SSD架构团队的工程师Steven Sprouse,这些条件几乎全部满足

但他并不怎么认同硅谷的这套评价体系,

“工程师真正的价值,不在于奖项,而在于你是否让整个系统运转得更好。”

这句话的真谛最终落在了一个听起来并不有趣,但极其关键的工程问题上—-SSD预处理(Preconditioning)

什么是SSD预处理

在SSD出厂之前,厂商必须对SSD经历一轮又一轮的测试,

其中最基础,也是最耗时的一步,叫做预处理。

简单来说它的目的只有一个:

让SSD进入“真实使用状态”后,再去测试性能。

测试过SSD的玩家都知道,一块全新的SSD和用了一段时间的SSD,在性能表现上是完全不同的,

打开网易新闻 查看精彩图片

在预处理的过程中闪存需要经历写入、擦除,

控制器需要分配预留空间(OP),

垃圾回收、磨损均衡才会真正启动。

换言之做预处理之后得到的性能结果才是我们日常使用SSD性能的真实表现,

而空盘跑出来的性能数据看起来很好,但实际毫无意义。

问题是:SSD容量变大,“测试速度”没跟上

过去,容量在8TB、16TB级别的SSD通过顺序写满,再随机写耗时几小时到十几小时,这套流程还能勉强运转,至少时间上还能接受。

但现在情况变了,

企业级SSD已经进入32TB、64TB甚至企业需求定制更高容量的时代,但是写入带宽并没有线性的增长。

打开网易新闻 查看精彩图片

结果也显而易见:

SSD本身不慢,慢的是“能在较短的时间内测到稳态”。

Steven Sprouse表示如今一块32TB的SSD采用传统预处理需要160小时以上,如果是更大容量的SSD预处理时间将按照周来计算。

这对于大容量SSD出厂检测来说意味着从运行、报错到最终修复的工程循环,已经无法在一天内完成。

工程效率渐渐被物理容量拖垮了。

SPRandom:不是写的快,而是“写的聪明”

SPRandom的核心,并不是通过暴力加速写入来缩短预处理的时间,而是通过改变“写入顺序的逻辑”。

简单来说就是,既然稳态是结果,就用不同的数学公式去倒逼。

SPRandom将SSD划分为多个重叠区域,每个区域对应不同阶段的预留空间分布,

打开网易新闻 查看精彩图片

容量和超额配置(OP)数据

通过伪随机算法,确保每个地址至少被写入一次,追求真实使用的“覆盖真实状态”,

打开网易新闻 查看精彩图片

伪随机性决定物理容量和 OP 分布

在一次物理写入周期内完成稳态构建,这样就不再需要顺序+随机两轮暴力写操作。

打开网易新闻 查看精彩图片

在一次周期内即可达到稳定状态

在改变了“数学公式”之后,32TB SSD的预处理时间从160小时缩短到6小时,64TB以上也能实现基于“数学公式”的工程可控。

选择开源

从商业角度来说,这套算法完全可以申请专利、转变为私有工具进而增加内部的壁垒,

显然Steven Sprouse选择践行“开放工程”的精神,

把SPRandom集成进开源工具fio。

理由也很简单,Steven Sprouse从fio获益良多,为什么不让整个行业一起受益呢?

打开网易新闻 查看精彩图片

我非常敬重Steven Sprouse开源的选择,他的选择会让整个行业测试更真实,参数膨胀和虚假性能就会越来越少,真正扎实的产品最终获利的还是我们终端消费者。

打开网易新闻 查看精彩图片

通常博主和发烧友在对SSD进行测试时,或多或少会受到网络喷子们的问候,

说穿了就是因为没有人能确定你拿到的这块SSD真实的性能到底如何,

SPRandom的出现可以完全打消那些质疑,

性能参数更接近我们日常使用状态,稳态掉速更早暴露而不是交付后才发现,企业级验证逻辑同时也会反向影响消费级产品的成熟度。

简单来说,你买的SSD,对它的实际性能已经知根知底,真实的性能变得更值得信赖。

工程正在走向“开放验证”

如果简单理解SPRandom的意义只是缩短了SSD的预处理的时间,那它的价值未免被低估了,

打开网易新闻 查看精彩图片

更重要的信号在于,越来越多原本被视为“工程经验”的环节,正在被拆解、公开,并接受行业级的复现实证。任何品牌的SSD都可以通过fio来使用Sprandom。

从存储领域的fio、SPDK,到AI领域的MLPerf,从数据中心的OCP硬件骨ifan,到软件工程中的可观测性与复现构建,工程正在从封闭、自证的顽固体系,转向开放、可审计、可重复的验证模式。

SPRandom证实了,当系统规模不断扩大、复杂度指数级上升,任何无法被外部验证的“性能承诺”,都会迅速失效,开放验证,已经成为下一代工程体系的默认选项。