只有35次完全擦写的PLC闪存SSD:入坑需谨慎
目前在存储领域,毫无疑问人气最火爆的产品自然是SSD,和机械硬盘相比,SSD拥有许多得天独厚的优势,包括超高的速度,碾压般的4K随机读写以及并行访问能力,而机械硬盘由于结构的限制,已经来到了极限,基本上不会有什么新的进步。
看起来机械硬盘就该从这个世界上被历史所淘汰,然而目前随着闪存颗粒的密度越来越大,一个致命性的问题就此显现,那就是闪存颗粒的寿命,随着PLC颗粒的来临,超低寿命的NAND闪存终于成为消费者不得不注意和避免一个天坑。
闪存颗粒有哪些?
在消费者对PLC闪存进行口诛笔伐之前,我们还是先来看一下NAND闪存的类型,也就是从初代的SLC一直到PLC,它们究竟代表什么意思?
所谓的SLC、MLC、TLC、QLC的PLC,指的都是固态硬盘所采用的闪存类型。从原理上说,这些闪存的每个cell单元分别能存放1、2、3、4、5位电荷,换句话来说那就是单位密度的闪存随着闪存类型的不同呈现越来越大的趋势,比如说早期SLC SSD尽管在颗粒上十分地稳定,但是价格也是相当地昂贵,而且容量也小得多。
而现在随着TLC闪存的到来,单位体积的闪存密度成倍提升,从而让大容量闪存逐渐来到消费者的面前,要是同样的容量采用的是SLC闪存,或许现在的SSD其售价就要增加3-4倍之多。也就是说正是因为像TLC闪存这样的产品普及,我们才能使用到物美价廉的SSD,于是目前绝大部分的SSD都采用TLC闪存,目前看来是维系容量与售价之间最好的选择之一。
PLC闪存为何不给力?
之前我们说到,既然PLC闪存能够在单位空间内大幅增加闪存的密度,从而降低SSD的成本,那大家都使用PLC闪存不就好?大家都可以享受1元2GB的SSD,不是对消费者很有利吗?显然不是的,在你享受一方便利的同时,势必要降低部分的体验,而这种体验在NAND闪存颗粒上面同样成立。之前说过,PLC闪存颗粒能够在单位cell上存储五位的电荷,从而提升闪存密度,预计存储密度能够达到现有的1.9倍。但是由于电荷数目的增多,管理起来却愈发地困难,从而降低闪存的稳定性以及可擦写次数,同时写入速度也将降低。
衡量SSD寿命的一个重要参数便是P/E,1次P/E是指与硬盘容量等量的完全写入。在TLC还没有成为SSD主流之前,大部分的SSD还是采用MLC的闪存颗粒,虽然在价格上比较昂贵,但是性能确没的说,寿命也可以达到上万次的P/E,也就是说到电脑淘汰的日期,SSD损坏的概率也是相当地低,几乎等于没有。当时TLC取代MLC从而导致SSD损坏的说法也是接连不断,TLC也因此遭到大部分消费者的反对,随后厂商进行科普,表示他们通过某些技术让TLC闪存的寿命得到大幅的提升,事实上TLC闪存也拥有上千次的擦写次数,虽然比起MLC少很多,但是至少也可以用到电脑淘汰,而且消费者也没得选择,于是现在TLC闪存成为绝大部分SSD的标配。
然而到PLC闪存这种论调又开始老调重弹,不过这一次为什么说PLC闪存十分地坑人呢?原因是PLC闪存的理论的寿命实在是太低,如果说从1万次到2500次大家感知不强的话,那么从上千次直接跳到数十次,或许就会影响到绝大部分消费者的正常体验。根据行业的相关报道,最高端的SLC闪存拥有超过11000次的P/E,而MLC也有10000次,至于TLC虽然跟前面有一定的差距,但是也可以达到2500次。
然而到PLC阶段,闪存的寿命却急剧下降,即使是最老的5Xnm制程也只有400次,而现在更为致命的是为降低成本,厂商会使用更新一代的制程,再一次降低闪存的使用寿命,按照现有的技术计算,在1Xnm工艺制程下,PLC闪存仅有35次P/E,按照2TB的容量进行计算,也就是说这块硬盘的使用寿命仅有70TB,之后的数据安全就不保证,显然对于将系统盘拷入到SSD去,同时需要频繁写入和读取的消费者来说,这显然是不可接受的。同时相比较TLC闪存,PLC闪存在性能上也有较大程度的下降,同样让人难以接受。
3D NAND技术治标不治本
那么针对QLC与PLC这样降低SSD成本但是大幅降低闪存寿命的情况,厂商们究竟还有没有办法去解决呢?要是真的未来推出只有35层P/E的PLC闪存,恐怕消费者的投诉将会挤爆厂商们的邮箱。
针对这个问题,厂商们推出3D NAND闪存技术。和传统的2D NAND闪存相比,3D NAND可带来更好的性能,更低的成本以及更高的密度。目前由于技术的限制,2D NAND闪存的密度已经达到一个瓶颈,而3D NAND闪存的推出可以使得颗粒能够进行立体式的堆叠,从而解决由于晶圆物理极限而无法进一步扩大单颗芯片可用容量的限制。此外3D NAND技术对于闪存颗粒的制程并不是很敏感,因此即使采用1Xnm制造工艺,其P/E仍然不会有较大的变化。然而就像是之前所说的一样,PLC的物理架构决定即使处于最出色的环境也仅有400次的P/E次数,远远不及TLC闪存,更不用说MLC闪存,因此3D NAND在PLC闪存上的应用只能是治标不治本的办法。
PLC未来不明朗,购买TLC SSD有备无患
存储系统的担忧对于消费者来说是天经地义的, 毕竟谁也不想花费几百上千去买个没有多多少寿命的产品,甚至和硬盘相比,里面存储的数据和资料才是最为重要的。而对于硬盘厂商来说,它们对于硬盘品控和性能的追求比消费者更加急迫,如果一款硬盘的性能不尽如人意的话,那么最终损害的还是厂商自己的口碑。
除了3D NAND闪存之外,未来厂商还将通过很多手段去增加和延缓PLC闪存的使用寿命,比如说将其提升至1000次的P/E,或者降低写入的数据量,或者采用更新的闪存架构,至少等到市面上大规模普及PLC闪存,相对应的技术应该已经成熟。然而想要实现这种场景还需要比较长的一段时间,目前即使是QLC闪存也没有大规模铺张,更不用说PLC闪存。因此为确保数据的稳定以及性能的充分发挥,目前取得容量与性能之间较好平衡的TLC闪存才是最适合普通消费者的,当然MLC闪存更加出色,只是对于消费者来说,MLC闪存由于其高昂的价格可望而不可求。
而PLC闪存,在目前这个节点上,显然是不值得推荐的,当然未来PLC闪存成为大号U盘的可能性也十分的低,不过等到你手中的TLC因为容量或者寿终正寝之时,估计业界也已经推出比SSD更加先进的存储办法。
我们的数据存在固态硬盘上安全吗?
随着SSD应用的越来越广,我们的台式机、笔记本甚至服务器都被SSD占领。你有没有想过一个很细思极恐的问题:红旗到底能打多久——SSD硬盘能用多久?我们的数据安全吗?
生命周期
根据我们前文杂谈闪存二:NOR和NAND Flash
我们知道NAND Flash单元的寿命是由擦写(P/E)次数决定的,而目前大部分的SSD都是由MLC颗粒组成,一般的MLC只有3000次擦写寿命。如下图:
幸亏我们有FTL,提供了写平衡,整体SSD的寿命才没有仅仅3000次写操作。那么究竟我们写入多少数据才会把SSD写坏呢?
这个实际上和很多因素有关:容量的大小,OP的大小,主控的算法等等。很多SSD产品在出厂说明中都有标有品保的最大写入量,如Intel的 240GB 335系列,标称的最大写入量是22TB。据统计,平均硬盘写入量年均1500GB~2000GB, 我们做个简单的计算就可以知道可以用多久:22/2= 11年,似乎还不错。
Wait a Minute! 如果你把SSD硬盘用来做BT下载,假设我们以10MB/s的速度下载,一天就会下载10 × 60 × 60 × 24 / 1024 = 843GB,22 × 1024 / 843 = 26 天,还不到一个月!如果你是个勤奋的程序员,在进行安卓手机开发,为了build快点,你把程序放到SSD上并每过一个小时做一次clean build同时产生10G临时文件,那么你的SSD可以用 22 × 1024 / 240 = 94天!太糟糕了!当然,这些都是理论最差情况,实际情况是这样吗?
TechReport上有一期文章(The SSD Endurance Experiment: They're all dead) 作者找了5块市面上常见的SSD,它们是Corsair Neutron GTX 240GB, Intel 335 Series 240GB, KingstonHyperX 3K 240GB, Samsung 840 Series 250GB, and Samsung 840 Pro 256GB。
作者通过诙谐的文笔,详细描述了通过持续不断的写入数据,实际测试SSD硬盘的可靠性,推荐读者详细阅读。
我们这里就描述一下结论。首先要提的是所有的SSD都可以写入数百TB。在写入100TB数据以后,它们都安然无恙,这是一件了不起的事情,要知道,这远远超过它们所标称的写入量。
测试结果如下图:
写入200TB后,最先出问题的是三星的840系列,它已经出现可以记录的坏块。这和它是唯一的TLC(1000次P/E)是分不开的。在300TB后出现不可修正错误,严重影响了数据可靠性,应该被立刻换下。如果继续,在900TB就彻底挂掉了。
Intel的335表现比较平稳,在600TB出现问题后,在700TB后,SMART信息就发出了失败警告,但是使用起来仍然一切正常,闪存单元也几乎都是完整的。继续写入,仅仅只过了50TB,也就是到达750TB,最终就崩溃了。金士顿的HyperX 3K,在写入近800TB死掉,而海盗船则表现异常优秀,在1.1PB前都表现平稳。只有在1.2PB才由SMART报告大量错误,在重启后,就不认盘了。
我们以Intel 335为例再来算一下,BT用户可以用600TB × 1024 / 843 = 728天,程序员可用 600TB × 1024 / 240 = 2560天=7.11年,普通用户可以用600TB/2 = 300年!情况十分乐观!
数据持久性
NAND的数据存储是把电子禁锢在Gate里,这个可怜的囚徒会不会在无人监管时逃出来呢?就是说,我们把SSD断电放在柜子里,数据会不会丢失呢?
这个并不是多虑,实际上,温度越高,电子越活跃,越有可能跑掉一部分,当很多电子跑掉后,数据就有可能丢失。实际上JEDEC组织早已对SSD定下了标准,如下图:
即消费品在掉电情况下,在30度室温中需要保证1年数据不丢失。它的来源是一份Intel的研究报告:
在30度情况下,数据经过52周即有可能出现数据丢失。如果我们把温度提高到55度,2周数据就有可能丢失!多么可怕的数字。
当然这是最低标准,而且要求很破旧的SSD都要遵守的原则。实际情况会好的多,但是也为我们敲响了警钟:SSD放着不动,数据可能会丢失的!
结论
看了这么多的数字,我们能得出什么结论呢?
1. SSD作为一般用途不需要担心使用寿命的问题,但是千万不要把它当作BT等下载盘!
2. SSD不适合作为冷数据备份用途,还是磁带/硬盘等比较合适,毕竟SSD这么贵,经济上也划不来。还有不要把SSD放在暴晒的汽车内置之不理,数据可是无价的。
3. 如果妥善使用SSD,SSD还是十分可靠的。
4. SSD挂掉之前会有很多坏块产生,我们需要在发生坏块的时候就开始进行数据迁移。不要等不认盘的时候,就后悔晚矣。
相关问答
固态硬盘 擦写次数 怎么计算?你好!我是存储随笔,一个长期混迹存储圈的工程师,致力于分享最专业的存储知识!固态硬盘基本原理固态硬盘SSD结构中,存储数据的介质是NAND闪存。NAND闪存是...固...
m.2硬盘 擦写次数 怎么算?举个例子,某款120G的SSD,用的是TLC芯片,标称是1000次的P/E那么,当用户向这个硬盘写入或者擦除的数据量达到120G,则视为一次。比如,用户今天下载了60G的电...
什么是U盘的 擦写次数 ,怎么样才算擦写一次?电子代表二进制中的0,没有则为1,...U盘使用的是Flash闪存芯片,每个存储单元与内存动态存储RAM相似但多了一个能通过控制电压来控制电子流入流出的浮动栅,栅内...
什么是硬盘的 擦写次数 ?就是写入和抹除的次数。一般固态硬盘的芯片有SLC、MLC、TLC三种:1、SLC=Single-LevelCell,即1bit/cell,速度快寿命长,价格超贵(约MLC3倍以上的价格)...
固态硬盘所谓的 擦写次数 是什么意思?就是写入和抹除的次数,一般固态硬盘的芯片有SLC、MLC、TLC三种:SLC=Single-LevelCell,即1bit/cell,速度快寿命长,价格超贵(约MLC3倍以上的价格),约1....
内存卡可以重复 擦写 多少次?手内存卡是基于flash闪存技术制作的,理论上可以擦写10万次,这个擦写次数是指把存储器存满,然后再全部删除,这才算一次完整的擦写次数。不过,格式化一次就相...
stm32的flash能 擦写 多少次?10,000次超过擦写次数就是坏了。坏了的话结果就是不可预测的,可能能写,但下一次就写不进去了;可能能写一半,后一半写不进去。擦除读什么的都一样没有规律。...
擦p是什么意思?固态硬盘是按重复擦写次数来计算的。闪存完全擦写一次叫做1次P/E,因此闪存的寿命就以P/E作单位。一款120G的固态硬盘,要写入120G的文件才算做一次P/E。固态...
500g固态硬盘 擦写 寿命?固态硬盘一般擦写次数普遍为3000次左右,按照使用情况,一般可以使用20以上的时间。闪存完全擦写一次叫做1次P/E,因此闪存的寿命就以P/E作单位,SSD一般的寿命...
扫描仪io错误怎么处理-ZOL问答扫描仪常见故障及其解决方案1、开启扫描仪时出现“SCSIcardnotfound提示SCSI卡上设置了保险丝,当遇到不良电路状况(电压不稳或短路等)会自动断开,待线路良好或测...