我们的数据存在固态硬盘上安全吗?
随着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挂掉之前会有很多坏块产生,我们需要在发生坏块的时候就开始进行数据迁移。不要等不认盘的时候,就后悔晚矣。
翻车?闲鱼买入台产无牌Msata固态硬盘自带Win10
小伙伴不慎把自己的惠普Probook 6460b摔地上,开机就启动不了,经检测确认是原装硬盘挂了,拜托奇客帮他换个固态硬盘。这款商用笔记本CPU是二代酷睿i5 2520m,原本一女生借给这位小伙伴,后要借给我用被我嫌太厚重,而且320G 7200RPM机械硬盘太慢了。
拆开笔记本后盖发现有Msata接口,然后就上闲鱼搜罗了一块64G固态硬盘,卖家表示是台湾生产,群联主控+东芝MLC颗粒,自带已激活Win10系统。从图片感觉做工比较清楚,160跨省包邮,谈好就下单了。
港版Probook 6460b竟有和Thinkpad一样的鼠标摇杆。
拆开盖板就可以更换内存硬盘
SSD正面贴纸没有任何品牌
上机图:群联低端主控,东芝颗粒TSOP颗粒16G×4片
群联PS3109主控简称S9,是Phison 3108(S8)宰割而来,去除了外置缓存位,主控内集成32MB缓存,对算法做了相应的调整,牺牲部分性能控制写入放大比。这款主控配合东芝同步Flash闪存性能尚可,不带外置缓存4k性能也尚可,只是连续写入速度无论如何跑不上100MB/s。麦克赛尔Maxell N5000, 金泰克Tigo S350,朗科N5S也是用这款主控。
由于笔记本Msata实际上只支持SATA2的传输标准,这款固态硬盘跑到400分也在意料之中。但是,问题在于装上惠普6460b,显示开机LOGO之后就死机了,连BIOS都进不去。
之后奇客借来一块Win7 SSD系统盘正常开机启动,接下来合上笔记本屏幕,忘记了没有关机直接拔下这块硬盘,又插上Msata硬盘,然后打开屏幕当时就花屏了,强行关机重启提示找不到硬盘(聊天记录中发给卖家的图片)。
还好马上证实没坏,奇客把它装到Thinkpad T430s,自带Win10系统正常启动,跑分比三星PM830低,开机却快至6秒,这是什么特效? 进去简单跑分测试,才发现其实也是个坑,准备退款退货,奈何卖家不干,只好留下了。
最后还是不退了,发上来给大家提个醒。
撕开贴纸确认没有外置缓存
AS SSD benchmark得分仅403
一款32G SLC SSD与之性能相近,这是个大号U盘
同样主控SATA3读取接近500MB/s
已经写入565GB,卖家宣称99新
通电时间1736小时,这里测不出写入量和温度
Win7开机最快5秒(竟然是32位系统)感觉比T430s Win7快不少
SSD主控小科普
目前固态硬盘消费级市场,主控基本大局已定,Marvell美满、三星、LSI(SandForce)、LAMD、Phison(群联)、SMI(慧荣)、JMicron(智微)占据高中低端市场。
SMI2246EN搭配东芝BGA NAND Flash
Phison S3108(S8)
目前在台系三家主控里处于高大上的位置,由于金士顿和东芝的入股,Phison主控并不愁销售,而且配合东芝Flash,速度也很不错,跑分相当入眼,不比marvell差。独立算法优劣未知,据说有人120G/3000PE跑了180T数据还没有挂掉,看来还不错。
缺点:搭载东芝Flash价格稍贵,若上其他家的Flash,速度跟2246EN和667H几乎相同。
考虑到成本问题,目前采用S8的盘相对较少一些,基本集中在二三线品牌高端型号。
SMI2246EN
这颗主控目前在使用率最高,采用单核算法一般,外部支持一颗DDR作为缓存,以缓解写入放大比高的弊端从而提高寿命。由于最大支持8通道,跑出来的分数相当入眼,大容量配合好一些的Flash,通常能跑800甚至1000分以上,基本上跟JMF667H相仿,但由于2246EN可以支持最大到1T,而且价格便宜,所以迅速占据二三线品牌高端型号市场。
目前采用SMI2246EN主控的硬盘不胜枚举,士必得6246T,云储M746、光威战将系列、影驰虎将。跑分不用赘述了,大家自己去查,跑分差不多,120G基本都在800-1000分。
SMI2246XT则是2246EN极度简化版本,搭配最快的Flash内存也只能勉强跑个200分左右。连续读取尚可,能达到400MB/S左右,连续写入很差,很少超过200MB/S,4k惨不忍睹,都只在个位数。
JMF667H
比较老的一款主控,性能基本相当于SMI 2246EN,开满通道时性能也相当,内部算法跟SMI2246EN和Phison 3108(S8)也相同。稍显遗憾的是,最大只能支持256G的容量。
代表作有威刚SP600、金速F9,影驰铠甲系列,亿储J31系列。目前采用667H的大多是二三线品牌的64G产品,因为毕竟主控价格比2246EN稍微便宜点,而且性能也不会很差。
JMF608则是667H的入门简化版,同样不支持256G以上大容量,各品牌低端型号都有采用。包括影驰铁甲战将、金速F6、光威猛将(正常版)、金胜维奇龙,士必得快凯系列、亿储J10系列。
以上是主流级SSD所用主控,至于发烧级则要看LAMD、SandForce、Marvell三家,后面有时间奇客再为大家分解。
相关问答
【请问, and 在美式发音里连读或者快读的时候到底发什么音?听c...[最佳回答]and在连读时发音为"ən",这是在句中弱化了的缘故.与后连读时用"n"与后连读.类似如:http://zhidao.baidu.com/question/36...
【 and 的英文是什么】作业帮[最佳回答]andconj.(连接词)Togetherwithoralongwith;inadditionto;aswellas.Usedtoconnectwords,phrases...
***anditis***连读这里 and 和it是轻度吞音d还是ditis_作业帮[最佳回答]此处连读,and以"n"与后连读,it的"t"浊化成"d",连读音标:ænnɪdɪz
【英语:n可以表示 and 】作业帮[最佳回答]是这样,英语口语中由于语速的需要所以不可能把每一个词都发得字正腔圆,因此有一些词在一些情况下可以缩读.and就是其中的一个.举个例子:rockandr...
with和 and 的区别是什么?急用_作业帮[最佳回答]with,andand词,连接两个并列的词、词组或者句子,表示“而”、“和”、“又”等之意.and所连接的前后两个词在各个方面都处于平等的地位,当其连接两...
and 和with有什么区别?他们又怎么用?_作业帮[最佳回答]你一定在为“和.”的用法而困惑呵呵意义上,两个是一样的但是语法上,AND连接的词属于并列成分,AandB中,AB是平行的而WITH和后面的词构成“介词+宾...
or和 and 的区别是什么?_作业帮[最佳回答]1.并列结构中,or通常用于否定句,and用于肯定句.但有时and也可用于否定句.请注意其不同特点:Thereisnoairorwaterinthemoon.Thereisno...
and 和, and 有什么区别(连接句子)?_作业帮[最佳回答]用and连接两个句子,没有逗号时表示这两个句子是并列的关系.如:Heisfatandheistryingtoloseweight.他很胖,他打算减肥.当and前有逗号,这时...
and 和, and 有什么区别(连接句子)?_作业帮[最佳回答]用and连接两个句子,没有逗号时表示这两个句子是并列的关系.如:\x0dHeisfatandheistryingtoloseweight.\x0d他很胖,他打算减肥.\x0d当and...
【worksheet是什么意思】作业帮[回答]worksheet[英][ˈwɜ:kʃi:t][美][ˈwɜ:rkʃi:t]n.工作表,学习单;复数:worksheets例句:1.Addtextandcontrolstoaworksh...