图拉丁吧 关注:7,592,156贴子:128,302,623
  • 14回复贴,共1

固态硬盘连写1500TB:最神奇的莫名完蛋了!

取消只看楼主收藏回复

TechReport进行的固态硬盘持续写入试验在不久前跨过了1.5PB的大关,换用大家更熟悉的计量单位就是1500TB。都说闪存很脆弱,但是消费级产品能够坚持到PB级别,相信绝大多数人都没有想到吧。
  当然了,毕竟是消费级产品,毕竟不是专为超大数据量持久写入而设计的,参与测试的六块固态硬盘陆陆续续出现了各种问题。1PB就干掉了其中的三块,现在又牺牲了一个,而且是最没想到的一个。


来自Android客户端1楼2014-10-04 19:19回复
    参测固态硬盘:
      - 海盗船Neutron GTX 240GB
      - Intel SSD 335 240GB (已死)
      - 金士顿HyperX 3K 240GB(可压缩)
      - 金士顿HyperX 3K 240GB(不可压缩数据) (已死)
      - 三星840 250GB (已死)
      - 三星840 Pro 256GB


    来自Android客户端2楼2014-10-04 19:20
    回复
      其中海盗船之前一直表现稳健,没有任何错误,没有任何性能下滑,事实上性能反而在持续缓慢上升,实在难以理解。
        但同样难以理解的,是它的突然死亡。
        写入约1.1PB之时,Neutron GTX出现了三个重分配区块,按说不多,S.M.A.R.T.警告却很快就出现了,说原始读取错误率超过了阈值。
        即便如此,仍然看似风平浪静地坚持到了1.2PB,但检测发现重分配区块数量暴涨,已经超过了3400个。
        然后就完蛋了。准备进入下一个阶段的时候,系统无法启动,而之前几块固态硬盘就是这么死的。热插拔也无效,能检测到硬盘,但是访问的时候磁盘管理器失去响应。
        这根本不科学啊。固态硬盘挂掉之前,理应有一段缓冲期,尤其是应该进入一段只读状态,方便用户转移、保存数据,但是Neutron GTX突然就彻底无法访问了。
        Neutron GTX S.M.A.R.T.属性里的参数还是很丰富的,但都比较奇怪。重分配扇区指标就有俩,一个从0开始,一个从256倒数,其中后者到死都没有归零。
        剩余寿命也在一直稳定递减,但到最后也还有很多。
        刚才说的原始读取错误率最后显示为零,但并不完全准确。1108TB之后它就已经到了最低值,也就是错误最初开始出现的时候。
        Neutron GTX的死因仍待进一步调查,海盗船也未提供扇区尺寸、冗余替换比例等指标。


      来自Android客户端3楼2014-10-04 19:22
      收起回复
          【最后两位勇士】
          三星840 Pro、金士顿HyperX 3K(可压缩数据)都突破了1.5PB,还都完成了另外一次不加电存留测试。1.5PB写入后,二者都载入200GB测试文件,然后断电拔开,闲置一个星期,再次加电启动,MD5 Hash测试顺利通过,说明数据都完好无损。
          Anvil Storage Utilities工具对720MB小文件进行的Hash检测同样没有任何错误。
          840 Pro的出错速度在降低,但也有了3400多个重分配扇区(跟海盗船死前的差不多),每个1.5MB那就是损失了大约5GB。
          损耗均衡指数早在500TB前后的时候就彻底归零了,到现在又写入了1PB,但用掉的冗余空间比例还是不到40%,仍然有很大的余地。
          三星SSD Magician工具显示健康度仍然是良好(good),不过别忘了,840死前也是给的这个评级呢,看来很不靠谱。
          HyperX 3K使用的SandForce主控支持压缩写入技术DuraWrite,这是第二块坚持至今的一大功臣。
          主控写入1.5PB,而得益于压缩,实际写入闪存的之后大约1.07PB,也就是节省了三分之一。另一块写入不可压缩数据的,因为写入放大的存在,实际写入一直略高于主控写入。
          如果压缩是维持其生存的唯一原因,那么在1.1PB左右就应该支撑不住了,不可压缩版就是这时候挂掉的,内置的健康指数也在那时候报警了。
          但是,1.5PB写入完成后,这货仍然只有区区12个重分配扇区!不知道是不是这块盘的体质特别好,这种差异在半导体产品上是极为正常的,不过至少两块盘是同时抵达的,测试方法也完全相同。
          再细挖S.M.A.R.T.数据,又发现了一些有趣的地方。
          900-1000TB之间出现了2个不可恢复错误,恰恰就是头两个重分配扇区出现的时候,不知道是否巧合。无论如何,不可恢复错误是很致命的,它们会损坏数据、崩溃程序,甚至搞死整个系统。
          编程与擦写错误分别有2个、3个,但它们都不致命,能够将其中的数据转移到其他完好区块上。性能可能会略有影响,但关系不大。


        来自Android客户端4楼2014-10-04 19:23
        收起回复
            【下一个目标:2PB!】
            虽然只剩下了两位,但是TechReport表示试验仍将继续进行下去,而获得的那么多宝贵经验是以前从来没有过的。
            最关键的是,现代消费级固态硬盘的可靠性远远超出了一般想象,应付典型的日常使用实在是绰绰有余。全部六个试验品都毫无问题地写入了几百TB数据,后期虽然有各种各样的小毛病,但继续使用仍然影响不大。
            另一方面,固态硬盘在到达预期寿命之后,问题和失效现象各有不同。大多数都能预先给出警告,甚至包括海盗船Neutron GTX,但也有说死就死的,因此在使用了很久之后,备份很重要。
            840 Pro作为三星的旗舰产品,表现着实不俗(当年夸
            它完美还真不亏),而且至今看起来很健康,还能继续坚持下去。
            金士顿HyperX 3K虽然凭借数据压缩坚持至今,但也出现了一些致命错误,下一步很可能会倒下。
            因此,840 Pro已经成了事实上的赢家。
            截至目前,这两块盘都已经写入了1.6PB,而不把它们弄死,这个试验就不会结束!
            2PB见……如果你们能坚持到的话……


          来自Android客户端6楼2014-10-04 19:24
          收起回复
            固态硬盘可靠性测试:写入22TB数据之后……


            来自Android客户端23楼2014-10-04 20:51
            回复
              他们使用了Anvil's Storage Utilities软件进行大规模数据写入,现在过去了两周多了,写入的数据已经达到了22TB,是时候检验一下这六款SSD的情况了。


              来自Android客户端25楼2014-10-04 20:52
              回复


                来自Android客户端26楼2014-10-04 20:54
                回复
                  第一个节点选择22TB是因为这个写入量是Intel公布的335 SSD正常使用寿命,官方称它可以在每天20GB的写入量情况下使用三年。此外,金士顿的HyperX 3K SSD官方公布的写入量是192TB,其他三款SSD就没有官方数据公布了。


                  来自Android客户端27楼2014-10-04 20:55
                  回复
                    首先来看各个SSD的平均写入速度,但是上述数据并不具备可比性,因为为了加快测试进度,这6个SSD是安装到了两套平台上同步进行的,有的使用了SATA 6Gbps接口,有的使用了SATA 3Gbps接口。上面的平均写入速度只能用于评估各SSD写入22TB所用时间。
                      相比速度绝对值,他们更关注的是写入22TB数据之后的SSD性能的前后变化。这时候的测试结果是恢复到之前测试平台和系统上进行的,因此前后结果可以对比。
                      写入22TB数据后的随机、连续性能变化:


                    来自Android客户端29楼2014-10-04 20:57
                    回复
                      大部分测试中SSD前后性能变化都在1-2%左右,考虑到误差因素,可以说他们在写入22TB数据之后性能并没有什么变化。
                        让人吃惊的是金士顿HyperX 3K SSD的随机读取性能,不论是可压缩数据还是不可压缩数据,性能都提升了30%以上,Intel的335 SSD也小幅提高了8%,这二者使用的都是SF主控。
                        此外,SMART信息也会不断追踪SSD的坏块、写入数据量等信息,不过目前为止还没看到有坏块出现,这些SSD依然很健康。
                        测试中有2个型号的SSD都使用了SF主控,而且随机读取速度在写入22TB数据之后反而有46%的提升。另外,数据压缩测试中,不可压缩数据写入了22.8TB,而可压缩的那个只写入了15.5TB数据,节省了32%,还是有用处的。
                        再看下SSD的写入放大。两款HyperX 3K SSD的本机写入量都是21.6TB,实际写入数据一个是22.8TB,可压缩的则是15.5TB,写入放大率分别是1.05和0.72(注:这种持续写入数据的情况下写入放大率不会很大,接近1是很正常的)。
                        Intel的335 SSD的NAND写入量是22.9TB,主机写入量是21.6TB,写入放大跟金士顿HyeprX 3K差不多。至于其他SSD,因为追踪不到NAND写入量,所以无法计算写入放大。
                        以上就是写入22TB数据之后的基本情况,他们的下一个目标是100TB,估计还要等很长时间了


                      来自Android客户端30楼2014-10-04 20:57
                      收起回复
                        【第二个牺牲品:Intel SSD 335】
                          写入量同样达到700TB的时候,SMART信息就发出了失败警告,但是使用起来仍然一切正常,闪存单元也几乎都是完整的,只有一个重分配扇区,还是写入300TB时候出现的。
                          于是继续写入,但仅仅又过了50TB,也就是到达750TB,最终就崩溃了。负责持续写入的Anvil Storage Utilities工具里出现了写入错误,程序本身也失去了响应。幸运的是,再次启动软件成功了,至少能提取出日志(稍后分析),但不能再继续写入了。
                          SSD 335写入了700TB之后,WMI指数就已经归零,标志着闪存不再可靠,不能继续使用了。
                          奇怪的是,写入报错后,SMART也不再返回任何信息,任何工具都无法访问,证明SMART技术已经挂掉。
                          重启系统,Intel SSD Toolbox里又出现了这块硬盘,仍然检测为存储设备,但容量是0GB,无法访问。
                          Intel表示,这种结果完全符合预期,写入错误意味着硬盘进入了只读模式,并触发一种自毁模式,让硬盘不再响应。永别了……


                        来自Android客户端43楼2014-10-04 22:12
                        回复
                          【第一个牺牲品:金士顿HyperX 3K】
                            这一款其实有两块,分别测试可压缩、不可压缩数据。你应该能想到,失败的是不可压缩那块。
                            它最后的写入量是728TB,而可压缩那块只写入了501TB。
                            第一次出现警告信息是700TB的时候,忽视它继续,725TB时再次报错,而这次来自系统:“Windows检测到一个硬盘错误。立即备份你的数据,以免信息丢失。”
                            不管它接着继续,又出现了几次警告,只过了3TB就不行了,Anvil开始报错。硬盘还能访问,但是在导出最后一批SMART数据之后就变砖了。
                            事实上,真正指示寿命的并非闪存颗粒完整性,而是损耗指数(MWI),大部分第一方和第三方工具都以它为基准,指示固态硬盘的剩余寿命。
                            该指数在出厂时为100,一经使用就开始逐渐降低,最终为0的时候耗尽寿命(理论上仍然可以继续使用一段时间),而它和重新分配的扇区数量是完全无关的。
                            查看可知,700TB的时候降到了10,728TB时变为零。
                            再来看看错误趋势:
                            其实过了上一次的门槛600TB,各种错误就开始迅速增加了,到最后有986个重分配扇区(600TB时仅有10个)、111个编程错误、381个擦除错误。这意味着,失效的扇区里有一半是因为ECC错误校验失败。
                            HyperX 3K设定了一定比例的冗余容量,但用途是内部管理功能和RAISE(SandForce的冗余技术),能用来重新分配的很少,因此很快就会耗尽。
                            金士顿表示,寿命到期后硬盘就会拒绝加载,自然就检测不到了。


                          来自Android客户端45楼2014-10-04 22:28
                          回复
                            【第三个牺牲品:三星840】
                              TLC闪存的它并不是率先倒下的,仅此一点就可以让大家放心了。它坚持超过了900TB。
                              其实,刚过200TB她就出现了重分配扇区,之后不断增加,最后有接近3500个,但因为可用的冗余空间较多,所以坚持得比较久一些。
                              写入量达到900TB的时候,840仍然看起来很正常,三星自己的SSD Magician工具也报告还有不少剩余寿命,但是突然之间,它就挂了,Anvil崩溃,系统和工具都检测不到,只有Intel存储驱动报告了一个未知的三星SATA设备,也只能看看而已。
                              由于没有任何事先警告,死的又很彻底,最后一段时间的SMART数据就丢失了,无法得知最后确切写入了多少,状态分析也只能截止到900TB。
                              损耗指数在300TB的时候就变成了零,但是三星自己的工具仍然报告状态健康,继续使用也没问题。
                              再看可使用的保留空间,一直在稳定减少,但是最后死亡的时候仍有大约40%,理论上还能坚持。由于SMART日志丢失,无法得知死亡的确切原因,可能是突然就坚持不住了。
                              再看另一个重要参数:不可修复错误。它是在写入300TB时候出现的,有176个,当时用来校验数据完整性的200GB文件确实Hash失败了好几次,不得不重新拷贝,但此后不可修复错误一直没有增加。
                              在800-900TB之间的某个时刻,不可修复错误数量突然增加了119个,总量达到295个。虽然这时候Anvil没有报错,但这应该就是死亡元凶。
                              三星表示,840用户最终是应该能看到错误提示的,比如说兼容性错误、蓝屏死机等。至于这里为何突然死亡,还在进一步调查。


                            来自Android客户端46楼2014-10-04 22:29
                            回复
                              1PB是个里程碑。那些通过了的固态硬盘可喜可贺,没有达成的也不用沮丧,你们同样证明了自己的价值,并且提供了很多宝贵经验。
                                直到最后时刻,失败的固态硬盘才出现些许性能波动,这证明一款固态硬盘完全可以在整个生命周期内维持良好的性能。
                                不过,不同设备最后终结的方式略有不同。Intel SSD 335预先设定好了界限,一旦越过就“自杀”,金士顿HyperX 3K则力图压榨出最后一丝潜力。
                                三星840一直是焦点,最终虽然死的很突然,很蹊跷,但再一次证明TLC闪存也可以很耐用。虽然这是以大量重分配扇区为代价的,但对容量的影响很微小。
                                尽管测试的样品不多,但完全可以拍着胸脯告诉大家:即便你在固态硬盘上每天不停地写入,只要不是人品太差,700TB也是毫无问题的!


                              来自Android客户端47楼2014-10-04 22:33
                              回复