闪存终有一死,固态硬盘存在天生的写入寿命限制。而近日国内不少媒体报道说三星发布了用不坏的固态硬盘,事实果真如此吗?下图是某媒体报道截图,关键字:永远不坏、芯片级。
关键字:永远不坏
世间无永恒,大家都知道"永远不坏"那是不可能的。我们来看三星官方新闻稿的原文是如何写的:
韩国人的确用了never-die的描述,但请注意它是加引号的。明明是"飞流直下三千尺"式的夸张表述手法,为什么翻译后要把引号去掉,还自作聪明加上一句"不掉(盘)"呢?
关键字:芯片级
芯片级听起来是不是很高级呢?实际上这是一处翻译错误。三星的新闻稿很明确的表述了FIP(fail-in-place)是"三项软件创新"之一。原文中的"chip level"指的是该技术能处理闪存在chip一级的损坏,保障数据不丢失。
闪存的最小读写单位是Page(页),最小擦除单位是block(块)。在block之上还有Plane(面)、chip(未封装的裸芯片)、Device(封装后的颗粒)等。
闪存chip的动画示意:晶圆上的一个裸芯片。每个闪存颗粒可以封装1到16个chip。
固态硬盘的数据纠错由主控完成,ECC纠错信息通常存储在每个block块的Spare区域内,当Block中的某个Page读取纠错失败、或者对block的擦除操作失败,判定闪存损坏时,主控会标记整个block,也就是坏块。即便是全新的固态硬盘,它的闪存中也会有数量不定的出厂坏块,这不会影响性能和使用。只有当备用块不足以替换新增坏块时固态硬盘才会失效。
传统的固态硬盘坏块管理处置的是block级别的故障,当由于意外导致包含上千个block的整个闪存chip一下子全坏掉时,传统的纠错算法就无能为力了,当然这样的故障概率非常低。三星PM1733作为企业级固态硬盘自然会有更高的数据安全性需求,所以才会有能够处置chip一级的数据保护。
类似技术早已有之:
三星在新闻稿中宣称FIP技术标志着60年存储历史上的一个新的里程碑,对它的地位给予了很高的评价。但其实这并不是开天辟地的新技术,至少在三星之前已经有不止一家公司实现了chip失效保护。譬如SandFroce的RAISE Level 2可以保护多个page、block或整个die(即chip)失效的情况下数据安全:注意时间是2013年。
再比如美光提出的RAIN(Redundant Array of Independent NAND),这份资料也是2013年的,距今已有6年之久。
为什么不值得普通人期待?
既然这些高等级的数据保护技术早就有了,为什么至今没有广为人知?PCEVA认为原因主要有三个:
1.可用容量上的考虑
Chip级的安全保护需要冗余的闪存空间,意味着纠错需要额外的闪存空间。例如SandForce的RAISE Level 2需要2个额外的裸芯片来保护数据。这对于容量可达30TB的企业级固态硬盘来说完全不是问题:它拥有512个裸芯片。
但3D闪存时代每个闪存裸芯片的容量可达64GB,一张512GB容量的家用固态硬盘只有8个闪存chip,拿不出足够多的chip来做冗余保护。大家都在算每GB可用容量几毛钱的时候,怎么可能在每张家用固态硬盘上扣掉128GB的可用容量搞数据保护?
2.性能问题
类似RAID的保护机制会带来性能损失。SandForce主控在启用RAISE后性能会出现衰减,我不清楚三星PM1733的主控是否进行了专门的设计,能够保障在启用FIP的同时做到完全不影响原始性能发挥。但对于家用消费级产品来说,额外的成本和潜在的性能减益都是难以接受的。
3.收益问题
三星会在PM1733上启用FIP,跟它使用最新的92层堆叠3D TLC闪存不无关系。TLC要满足企业级的数据安全需要,必然需要做一些补强。
但类似的补强手段却不一定适合家用产品。在闪存质量有保障(原厂Flash、经过严格检验的GD)的情况下,整个chip失效的概率很低,就像完整掉电保护一样属于无需考虑的范畴。反过来,如果使用没有质量保障的垃圾闪存,牺牲容量和性能保安全似乎也得不偿失。
提高闪存可靠性的技术有很多,从各方面考量来看,FIP并不适合服务普通家用固态硬盘。
,