
硬盘
这张图片是我制作的。若你有所怀疑,以下内容出自WD在FMS 2020上的报告:How Zoned Namespaces Improve SSD Lifetime, Throughput, and Latency。该报告详细阐述了分区命名空间如何提升固态硬盘的寿命、吞吐量及延迟表现。
这一过程发生在脏盘状态下:虽然在空盘状态(FOB)时,所有页和块均保持干净,因此不会触发重写(REW)。但在手机上,这种情况并不存在。即使新手机刚开机,也并非空盘状态,因为手机已预装操作系统,SLC缓存经历了数据写入与释放操作,部分块和页已处于脏盘状态。文件操作和写入时,由于GC回收不及时、TRIM机制较懒惰,以及大量小粒度日志文件的写入,都会加重脏盘状况。不要以为256G空间剩余100G就没有脏盘问题。这种分析难度极高,多数人包括自己都无力完成,必须由原厂或能修改FTL的厂商进行适配与测试才能解决。1.2 WAF:写放大问题写作素材的来源主要有两种:第一种情况是由文件大小(File size)与页面大小(Page size)不对齐导致的。在写入文件时,我们只能针对整个页面操作。如果没有数据打包或压缩,无论文件实际大小是4KB还是512字节,都会占用一整个页面,这便引发了存储容量的虚标问题。例如,你的256GB固态硬盘显示剩余150GB,但真正干净的block/page合计可能只有50GB。其余空间若要使用,必须进行实时垃圾回收(GC),才能清理出可用区域。这种机制显著影响了存储效率和性能表现。这里太简单了,不值得找图片和论文来说明。

手机
下图源自MEMBLAZE技术文章:如何判断企业级SSD的寿命?
文件写入粒度、GC策略及SLC缓存算法的差异,会导致WAF曲线各不相同。可以肯定的是,在手机这类采用低阶UFS闪存的系统中,其WAF问题相比企业级存储要严重得多。1.3OP指什么?为何存在OP?OP即Over Provisioning,常说的企业级7%、28%、33%的OP比例,实际上指的是二级OP。这个定义过于基础,不值得多说。
图片源自FMS2012的Understanding SSD Over Provisioning报告,展示了固态硬盘过量配置的相关内容。下面分析一下二级OP对性能的影响。
该数据源自英特尔?基于NAND的固态硬盘过度配置以提升耐用性的相关资料。
这一数据源自Validating Analytic Write Amplification Models,发表于2016年FMS会议。
这一数据源自2012年FMS大会上的Understanding SSD Over Provisioning。
这一数据源自IEEE的NAND闪存写放大闭式表达式论文,详细分析了写放大效应,并提供了量化计算方法,对固态存储性能优化具有重要参考价值。从更根本的层面来看,即使是所谓的客户端 SSD,实际上也存在过度预 Provisioning(OP),这被称为一级预留或一级 OP,它造成了操作系统显示容量与实际容量之间的差值。此次小米引发争议的原因就在于对一级 OP 的使用。
什么是1.4坏块预留?所有SSD都可能存在损坏情况,无论是出厂时就被屏蔽的block,还是使用过程中因过度磨损或异常导致的部分。为弥补这些损坏,除了预留一级OP空间外,SSD还会额外保留一些空间以应对潜在问题。1.5只是调整块映射而已,何必这么大反应?与大多数人想象的简单分区不同,由于FTL具有非线性映射特性,无法像HDD那样在用户层进行简单区块重映射与屏蔽。
比如,要对新增的几个块进行映射(暂不考虑块的来源),必须在工程模式下重新标记和映射所有物理区块与文件索引,这个操作就是重建FTL表的过程。在此规范下,无论是意外断电还是极小概率的电荷翻转,都可能使数据丢失,甚至让整个闪存系统彻底损坏无法使用。这就是为什么西部数据、英特尔、美光、三星等原厂在固件升级时总会标明可能存在数据丢失风险:即便没有软件漏洞,各种未知意外仍会引发严重后果。第二部分:小米的具体行动这里仅提供必要参数,不作任何解读。
小米承认修改一级OP,从7%和6.9%降至3%。 来源于
小米采用了修改后的SLC缓存策略,可通过OTA和云控调整坏块预留区,此过程涉及FTL重建。秋日黄昏,光影交织,温暖而宁静,让人沉浸于美好时光,感受生活的诗意与浪漫气息。确实,依据小米目前已公布的信息,结合我对闪存系统的理解,仅能得出这两个结论。第三部分:我为何对此事物感到怀疑与忧虑我明确一下立场:小米销量好坏或其他厂商表现如何,我完全不关心。作为存储爱好者和前YMTC临时工,我和小米没有任何利益关联,无论支持或反对,都与我无关。我只是表达了对这项技术的疑虑和担忧,真心希望它不会引发更多问题,不会导致大面积翻车,就像888之于MI11那样。小米这样做可能引发两个重大问题:采用大量一级OP与备用块作为存储空间,主要是迎合部分对容量需求较高的用户。但当存储空间占用过高时,结合UFS闪存主控能力及固件优化水平,会出现显著的性能短板、延迟上升和零散化问题。特别是在一级OP被占用的情况下,性能表现可能令人担忧。二级OP与性能、寿命的关系前文已述,此处不再重复说明。
数据源自未来存储系统中3D NAND闪存的可靠性(受邀论文),IEEE。该研究探讨了3D NAND闪存在下一代存储技术中的应用前景与可靠性问题,为行业提供了重要参考。
小米近期很喜欢启用SWAP功能。这样做在导致SLC缓存重复读写和WRITE BACK惩罚时,是否会让性能优势大打折扣,还可能加速磨损?更严重的是,会不会重蹈几年前中端机因硬盘IO性能不足而快速变卡的情况?这值得思考。
为何顺序写入测试不可行?
答案很简单,因为Android上几乎不存在128K的读写负载。实际客户端工作负载多为9次读1次写、块大小4k或8k的模式。在当前页面大小为16k的情况下,这种负载会导致严重的写放大问题。用128k负载测试时,既无法重现脏盘状态下的真实性能表现,也与手机中大量以4k为单位的日志写入场景不符。第四部分:对小米通稿的质疑与反驳没有数据支持,也没有原厂公开背书,是谁在引导舆论?从专业角度看,一级OP与备用块的调用和调整,实际上一直不为外界所见。因其重要性和底层特性,仅有原厂内部报告提及,外界鲜有文章探讨其影响。难道仅凭小米说没问题就真的没问题了吗?MIUI12、骁龙888、小米金融的情况又该如何解释?小米明白自己在说什么吗?云控调整坏块预留区,这个人可能不清楚他在讲什么。若小米真这么做,一个OTA漏洞就足以瞬间摧毁所有数据安全,且无法挽回。FTL对物理区块的映射呈现非线性特征,一旦发生变化,就需要进行全面的重新调整。在进行任何FW固件更新前,所有厂商都会提醒用户可能存在数据丢失的风险。并且,在确保无BUG的情况下,FW固件的调整与升级极为少见。坏块统计与测试仅是推测,未必完全可靠,Samsung和YMTC的0E事件已证实这一点。小米在调整坏块预留区时,必然涉及FTL重建与升级,但此前标记的坏块是否仍被正确屏蔽,磨损平衡是否继续有效,这些问题皆无明确答案,充满不确定性。我重申一遍,这件事没有任何厂家,无论是金士顿还是像dapustor、memblaze这样的高端第三方做过,我也从未听说过行业内有相关研究。小米这样做可能带来的隐患怎么消除?更直白地说,如果出问题了,谁来担责?重度用户模型是什么?剩余空间多少?数据随机性如何?每天写入40G数据,是随机零碎的4K文件,还是大块顺序的1M文件?两者差异巨大,对写放大(WAF)和性能影响完全不同,无法相提并论。256GB扩容芯片如何保证超10年?是基于哪种模型推测的?是否通过JEDEC218B测试,还是以平均速度显著下降为失效标准,亦或是只要能开机点亮即视为成功?
前者将数据写入DRAM,这是值得肯定的亮点!后者存在SLC缓存释放不够积极的问题。在手机这种存储容量有限、实时回收效率低的情况下,用户可能下载几个视频就会遭遇SLC缓存回写惩罚,从而导致速度大幅下降。当然,具体策略由小米决定。SLC缓存释放的积极程度一直是个两难问题,就像股东间关于SLC缓存与全盘模拟的争论一样,利弊并存,难以权衡。这段没有问题,虽然仍未出示任何数据,但至少不像之前那样夸大其词了。画大饼的时候到了:有些厂商还没来得及适配,后续会逐步跟上。这不就是领导画饼时的经典场景吗?希望各厂家明确表态,谁打算适配,谁愿意支持,谁准备跟进,把名字列出来,一起做实际工作,别只停留在公告里空谈!继续画饼,基本都能适配。说话留余地的技巧来了:我努努力大概率能上清华,或许将来能拿诺贝尔奖,我们团队明年如果不出差错,应该能发114514篇SCI。这就是语言的艺术,虽没欺骗你,却和你期待的有所不同。当然,我对UFS领域的人不熟,但会借助我的渠道,向YMTC、Samsung、KIOXIA和Solidigm的相关人士了解,核实这项所谓新技术是否有希望通过JEDEC认证。这些忽悠新手的内容,别把自己也套进去了。既无具体数据,也无明确指向。小米在手机行业待久了,是只会发公关稿,还是忘了科技公司和半导体厂商该做什么?发布通稿、找KOL宣传确实常见,比如iQOO的独显芯片、华为的GPU Turbo、小米的拍照功能、索尼的电影感拍摄、一加的游戏优化等。不过,技术本质不会因通稿而改变,科学只认论文与权威报告。营销话术再华丽,也无法替代真实性能和可信依据,消费者应理性判断,不被表面宣传迷惑。
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号