技术达人为你详解TLC与MLC 实际影响微乎其微 iPhone6最近的TLC和MLC闪存问题让很多小白果粉忧心忡忡,国内某社区技术达人为你详解这两种制式的实际影响。原文:
我之前在全国最大的数据恢复公司做了两年技术总监,现在成立了自己的数据恢复公司,从我的角度看,TLC和MLC是一个完全没必要纠结的概念,炒作的概念大于实际,但背后的炒家已经看到效果了,因为拿到TLC心里不爽而退货的锋友应该不在少数,但有谁是因为TLC坏了或真正影响使用而退货的?
一、关于闪存颗粒的寿命和固态硬盘的寿命。我们平时说的SLC、MLC和TLC指的固态硬盘中的闪存颗粒,从颗粒的寿命说,SLC>MLC>TLC这是不需要争辩的事实,举个例子,一个10平米的屋子,住一个人宽敞自在;住两个人稍显拥挤但也说的过去;如果非得挤进来3个人,那三个人都会抑郁,精神抑郁干活效率就低,长期抑郁就会影响寿命。让大家最耿耿于怀的原因之一就是TLC区区500次擦写是不是很快就用完了,但大家注意,这里说的是闪存颗粒的寿命,当闪存封装到固态硬盘里后,固态硬盘的寿命就是个大家完全没必要纠结的概念了,TLC也好,MLC也罢,它们的设计寿命是远超我们预期的,因为固态硬盘有自己的“延寿”机制。
(1)机制1-闪存的容灾机制。闪存坏块,我们在机械硬盘中习惯称之为坏道,闪存因为坏块而不能正常使用时,不是因为所有扇区整体达到擦写寿命了,而是其中一些有缺陷的块提前坏掉了。一块120G的固态硬盘,换算下来大约有2.5亿个扇区(扇区是硬盘中数据存取的最小单位,通常是512字节或4096字节,即使一个数据只有一个字节,在存储的时候也要占用整个扇区,至于一个闪存块单元包含多少扇区,是厂商自己定义的),想要这2.5亿个扇区以相同的寿命共同完成使命是不可能的,但少量的坏块,对闪存使用是没有影响的,因为闪存有容灾机制。闪存的实际容量通常高于标注容量,例如120G的固态硬盘,其实际容量为128G左右,只是将其中8G左右的空间封闭起来用来冗余,在使用中产生坏块时,硬盘会将这部分容量屏蔽,再从封闭空间内释放对应区块,这样即使产生坏块,对硬盘正常使用也完全没有影响,只有在坏块数量超出可屏蔽的范围,用户才能感觉到它的存在。在机械硬盘中,这种机制叫G表(G-List)机制。因此,不管TLC还是MLC,很多区块不是一直工作到硬盘报废,而是中途就离场了,另一些区块却是中途上场的,这样新老更替的机制,保证了固态硬盘整体的平稳运行。
(2)机制2-主控的平衡策略。主控是闪存介质的存取控制芯片,主控算法的优化程度决定了闪存的速度和稳定性。对于U盘、固态、数码存储卡这类闪存介质,99%的故障都是主控损坏造成的,即使SLC,主控坏了也一样歇菜,事实上,相比于TLC的擦写寿命,在闪存颗粒依然坚挺的时候,主控却挂掉的概率反而更高。机械硬盘与固态硬盘存取机制的最大区别是顺序存取和平衡存取。一块机械硬盘,格式化后,新数据整体会从硬盘靠前的扇区顺序往后存储。但闪存介质如果也这样存取,靠前的扇区会很快报废,所以固态硬盘的主控芯片会平衡每个扇区的写入次数,整体写完一次,才进行下一轮复写。所以之前论坛有人说刷机501次,手机仍正常,那是逗自己玩呢,因为换算下来,整体写入次数不过10次而已。主控既要平衡闪存写入,又要保证高速稳定,算法就成了每个厂商的机密,所以固态硬盘的主控信息都是加密的。一个128G的TLC手机,假设已经存了一半数据,剩下的一半反复擦写,即使按300次寿命算,60GB×300=18TB,一块只用来安装Windows 7系统和应用软件的固态硬盘,一年的写入量也不过2TB,即使手机也有这种写入量,理论上还能用10年,这个理论值是超过用户预期的,因为就目前电子产品的更新换代周期来说,能平稳工作3-4年的手机,是大多数人都能接受的。至于能稳定工作10年的固态硬盘,2004年的硬盘,10年后的今天还有几个人在用?
有了主控的平衡算法和闪存的容灾机制,闪存介质在正常使用下出现故障的概率远小于机械硬盘,如果不做极限测试,一块64G的TLC正常使用3-4年是很轻松的事,而多少手机会三四年不淘汰?有刷机501次来测试TLC那时间还不如好好享受手机能带来的乐趣!
二、关于卡顿和廉价的问题。就卡顿,不是所有用户都有这个问题,我觉得更多的是主控优化的问题,一块好的固态硬盘不是因为用了SLC或是MLC速度和稳定性就一定强于TLC,主控算法也是决定性能的关键,把一线大厂的MLC拿给二三流厂商组装,稳定性不一定会比一线厂商的TLC好,所以三星840EVO即使用TLC,销量也远超其它对手。但除此外,我没法给出更专业解释,因为主控是加密的,我只能从闪存颗粒研究数据怎么存储、怎么恢复,并不研究数据怎么更快、更稳定的存储,所以如果有搞闪存测试或是IOS开发的朋友,可以解释一下。关于廉价,我的6是64G的TLC,我没纠结过廉价的问题,也没碰到卡顿的情况。我买手机是买它的使用价值,别人的MLC用一年淘汰换6S,我的TLC用两年换7,同样的钱,我没比别人少什么,就使用来说,我感觉不到TLC和MLC的差别。
关于固态硬盘和机械硬盘的一些常识:
(1)当你发现硬盘产生坏道(坏块)时,可能已经是这块硬盘产生的第100个(假设值)坏道了,只是前99个被屏蔽了,而这99个坏道,对用户正常使用是完全没影响的
(2)已经产生坏道的硬盘是无法修复的,只能更换新硬盘
(3)固态硬盘最忌突然断电、强制关机,这类操作常是主控损坏的元凶,U盘不卸载硬件而直接拔取,也是这样
(4)固态硬盘故障率在1.5%左右,远小于机械硬盘,希捷DM家族机械硬盘三年内出现故障的概率甚至高达30%
(5)如果不是刻意炒作,固态厂商都会淡化TLC和MLC的概念,因为在主控可优化的范围内,不管TLC还是MLC,要整体达到使用寿命的时间真的很久很久,而他们速度上的差异除了跑分软件,400M/s和500M/s读取速度对用户是没有区别的,很多支持SATA6G的硬盘,被用户接在SATA3G接口上用,其实速度已经降了一半,但用户依然在享受固态的快速
(6)固态硬盘如果开启TRIM,想恢复删除或格式化的数据是不可能的,TRIM就像一个沙盘,删除即"归零"
(7)固态硬盘如果无法识别了,能进行数据恢复的概率很小,需要根据主控型号来确定
(8)苹果手机如果没有越狱(安卓没有root),想要数据恢复是不可能的,因为越狱是访问内置存储的前提。