欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

关于“SSD数据7天丢失”的真相

程序员文章站 2022-04-26 19:21:36
关于“SSD数据7天丢失”的真相SSD数据7天丢失???真的假的?... 15-05-20...

上周,一份关于“ssd在不通电状态下7天便会丢失数据”的新闻传的沸沸扬扬,不少不明真相的吃瓜群众被新闻里提到的“希捷工程师”、“大量数据证明”、“断电7天就会丢失数据”等字眼吓到,纷纷表示:这下ssd都靠不住了!

面对这种局面,一向以严谨著称的anandtech坐不住了,近日,他们刊文对“ssd待机7天掉数据”进行了辟谣。作为比较早期的ssd用家(至今已经换过四块ssd了,从32g一路用到256g),笔者对这篇辟谣文感触颇多,因此将之编译与诸君共享,并附上我个人的一些补充与看法。

关于“SSD数据7天丢失”的真相

首先,与一些网站报道的不同,anandtech指出这份引起诸多争议的报告并非出自希捷公司,而是以jedec(固态技术协会)官方资料的名义发布的。作者alvin cox虽然在希捷任职(因此他在报告的作者那里写上了希捷)但是他是以ssd委员会主席的名义发表的此篇报告,而jedec为所有储存公司的联合标准化组织,因此这篇报告意图在于对所有厂商提出告诫(而非针对任一特定厂商)。

关于“SSD数据7天丢失”的真相

在解释数据丢失的真相之前,anandtech认为他们需要先解释一下ssd的生产厂商是如何定义ssd的可靠性的:首先,ssd需要保证其使用容量,因此厂商无法预留很多op空间;其次,ssd必须满足uber(每bit读取操作的数据错误数量)的标准(简单来说就是误码率不能太高);最后,ssd必须满足在掉电情况下数据保存一段时间(符合jedec对此的规定)。需要注意的是,这三条是基于ssd所写明的最大写入寿命来实现的,比如某ssd规定写入量100tb,那就意味着在写入100tb之后仍然需要满足以上三条,才能算作是满足可靠性要求。

关于“SSD数据7天丢失”的真相

上表展示了家用和商用环境下对ssd可靠性的不同规定,我们可以看到,家用ssd的断电数据保存时限是在30摄氏度下保存一年,这一温度已经高于一般家庭环境的年均室内温度。那么温度是如何影响ssd的数据保存的呢,anandtech对此进行了进一步解释。

关于“SSD数据7天丢失”的真相

这就是从那篇惹祸的报告中提取出的表格,注意此表中的测试数据基于某intelssd,而非希捷的产品。

在40摄氏度的操作温度、30摄氏度的存放温度下,普通家用ssd可以保持一年的数据有效时间。 从表中可以看出,操作温度(也就是通电时的温度)对ssd的数据寿命有正面的影响而保存温度(断电期间的温度)对数据寿命则是负面的影响。在最糟糕的情况下(通电温度25-30度,断电温度高达55度),数据保存时间可以短至一周:没错,这就是被传的沸沸扬扬的“ssd数据只能存放一周”的出处,然而这种情况根本不可能在实验室以外的地方发生。

55度的存放温度意味着用户放置电脑的房间气温高达55度(而不是说的机箱内部温度,因为这个时候电脑是关机的,ssd是断电的);反之,一般用户电脑在使用时的内部温度都至少有40度以上(即ssd的操作温度)!

关于“SSD数据7天丢失”的真相

ssd的储存原理是基于半导体晶格所储存的电子数目:当ssd被加电写入数据的时候,晶格被充电,内部为电子所占据,而读取数据的原理则是用一个低压电信号去侦测晶格中是否存在电子。当ssd断电,晶格变为绝缘体并封住其中的电子,但温度的升高会导致电子的布朗运动变得剧烈并有更大的几率从晶格中逃逸,从而造成晶格内部的电压(电子数量)低于可探知(读取)的正常范围,就体现为数据的丢失。

而当ssd处于通电状态时,温度的适度升高所起到的作用就正好相反,由于升高的温度会增强硅的导电性,从而使写入/擦除操作的电流升高,对隧道氧化层的压力减小,增强了晶格在断电后保存电子的能力,因为晶格就是靠隧道氧化层来防止电子逃逸的。

总之,用户完全无需担心在典型使用状况下家用ssd的数据寿命问题,毕竟谁家的气温都不会有50度那么高:真到了那个程度,在担心ssd数据之前先逃命吧。经过长期的实践和仿真测试证明,即使是一般的家用mlc ssd,也至少可以安全地用上10年之久。

笔者按:其实anandtech在这里还忽略了两点因素,一是现有的ssd大都具备对出错数据的校验纠错能力和对电压发生偏移的晶格进行强制读取的能力。前者就是ecc,而后者则多见于配备tlc闪存的ssd上(因为tlc闪存在长时间不操作之后很容易发生晶格中的电子泄漏,因此通过控制读取电压的偏移值对已经发生泄漏的晶格强制读取是所有tlc ssd的必备功课。)

再一个就是无论那篇吓人的报告还是anandtech的辟谣都没有提到ssd的制程问题,目前19nm和16nm制程的闪存,其晶格已经小到只能存储不到20个电子,因此因高温而导致数据出错的可能性理论上确实是存在的;但几大闪存巨头即将引入3d v-nand技术(三星已经用上了,intel和镁光也已经公布了量产计划),通过把晶格从“平房”改为“楼房”可以极大地扩大每一个晶格的容积,有效缓解电子穿隧效应对数据安全的影响。

总之,不管最初把那篇业界报告断章取义、大肆渲染的媒体意欲何为,至少有了anandtech权威的辟谣,ssd用户们不用再担心自己的数据安全了,在此,笔者也希望那些媒体,特别是科技媒体们,秉持你们的专业素养,不要参与到这种毫无营养,害人害己的行为中来。