固态硬盘寿命实测让你直观SSD寿命!--转

近年来,高端笔记本及系列上网本越来越多的采用固态硬盘来提升整机性能,尽管众所周知固态硬盘除 了在正常的使用中带来更快速度的体验外,还具有零噪音、不怕震动、低功耗等优点,但大家对固态硬盘的寿命问题的担忧和疑虑却从来没有打消过,毕竟我们宝贵 数据安全性比任何东西都重要,我们用百度和google来搜索固态硬盘寿命想了解更多的实情时,却发现能看到的都是一些理论方面的介绍,难得一见真正的对 固态硬盘寿命进行测试并得出令人信服的数据的文章。

小编收到一款来自瑞耐斯(RENICE)厂家送测的32GB ZIF 接口的SSD,突然萌生一种对产品进行寿命实测的想法,关系到对产品寿命的测试可能会直接导致整块硬盘彻底报废,经过与厂家协商,最终征得厂家同意,希望小编的评测让大家对SSD寿命有个直观的认识。

对于采用Nand Flash作为存储介质的SSD来说,怀疑其使用寿命也不是没有道理的,理论上MLC的写入寿命为1万次,SLC的写入寿命为10万次,那么,我们是否这样认为:当我们连续保存一万张图片或者1万个word文档到基于MLC芯片的固态硬盘时,这款硬盘就意味着寿命的终结呢?

显然,一定不是这样的,即使我们使用照相机的SD卡(同样采用MLC芯片) 不停的拍照,让图片写入卡内,循环使用几年,我们的SD卡依然“健在”。这样因为,所谓的1万次理论寿命是指在同一区块上写入1万次才会导致该区块损坏, 举例来说,1GB的Nand Flash你每次都将这块Nand Flash中写满文件(不一定是写入1GB文件,因为Nand Flash有写入放大系数,为便于理解,可以宏观的理解为每次写入1GB文件),循环写入1万次才会导致该块Nand Flash的寿命终结,事实上,固态硬盘的主控芯片的最重要的作用之一就是防止系统不停的向同一区块写入内容,这就是所谓的“磨损平衡”算法。所以,一款 SSD好坏的核心不是仅仅看其读写速度有多快,而是其控制芯片的算法,事实上,大部分的主控厂商都可以通过软件方面的更改让SSD产生更快的读写速度,为 了保证SSD的稳定性,一些厂家宁愿选择刻意降低其读写性能来保证用户数据的安全。

测试之前,小编先介绍一下今天要测试的SSD及测试所用软件:

测试SSD:

瑞耐斯(RENICE)送测的这款硬盘是1.8” ZIF接口硬盘,采用韩国Indilinx ECO主控,使用桥接芯片将SATA接口转接为PATA接口,据小编所知,这款主控SATA读写性能可达260MB/秒和230MB/秒,由于受桥接芯片速度的控制,转接后的速度只有不到100MB/秒,甚是可惜。目前ZIF接口的硬盘在惠普2510P,苹果的MAC BOOK AIR等产品中使用。
  基本参数:
  规格:1.8”
  接口:40 pin PATA ZIF
  缓存64MB
  外尺寸:71mm x 54mm x 5.2mm
  重量:<40g
  外壳:铝合金外壳
  读取速度:95MB/秒
  写入速度:75MB/秒
  4KB随机读 IOPS 6000
  寻道时间:0.1毫秒
  输入电压:3.3v±5%
  待机:0.5w
  平局无故障工作时间:>1500000小时

产品包装盒:

固态硬盘寿命实测让你直观SSD寿命!--转

瑞耐斯1.8” ZIF接口固态硬盘包装盒

内部分两层,上层为产品和一个螺丝刀,下层配备一个移动硬盘盒和一条USB2.0数据线,方便用户升级自己的电脑后可以将自己机械硬盘装入移动硬盘盒做成一个1.8“的移动硬盘,由于ZIF接口的移动硬盘盒在市场上非常少见,这样的配备无疑是对终端使用者提供了莫大的便利:

固态硬盘寿命实测让你直观SSD寿命!--转
包装盒内部

测试软件:BurnIn test
BurnIn test软件是款可以对脑各种硬件进行可靠性和稳定性进行测试的软件,可以同时测试包括CPU显卡声卡、硬盘、打印机、usb接口等15项内容。

固态硬盘寿命实测让你直观SSD寿命!--转

我们此次测试的目的是假设这款SSD用于普通用户日常办公,我们想知道它究竟能在多大程度上能保证我们数据的安全性,SSD的可靠性是否是我们所怀疑的那么脆弱。

那么首先我们得知道对于日常办公而言,用户每天需要写入硬盘的数据量大概是多少。

小编收集到韩国主控厂商Eastwho所提供的他们花费4个月时间用于监测关于不同用户日常使用硬盘的写入状况:

固态硬盘寿命实测让你直观SSD寿命!--转

从上图可以看出,普通办公者(Typical user)每天的平均写入数据约为1.4GB,而程序员之类(Heavy user)的用户每天平均写入数据量高达5.2GB。

固态硬盘寿命实测让你直观SSD寿命!--转

基于上述的假设,我们这次测试设置如下写入1000个循环,每次写入磁盘总容量的15%,这款32GB的SSD格式化后的实际容量只有29.81GB,即,每次写入4.4715GB(29.81GBX15%=4.4715GB):

设定写入 / 验证1000个循环,一个循环的意思是指软件自动在磁盘根目录下写入一个大小为4.4715GB的文件包,然后再对这个文件包进行读取验证,验证结束即为一个循环:

固态硬盘寿命实测让你直观SSD寿命!--转

设定每次写入磁盘总容量的15%;

固态硬盘寿命实测让你直观SSD寿命!--转

设定完毕,点击OK按钮,开始进行测试

固态硬盘寿命实测让你直观SSD寿命!--转

软件先按照设定文件包的大小在SSD的根目录写入一个指定大小的文件包;

固态硬盘寿命实测让你直观SSD寿命!--转

写入完成后,开始对写入的数据进行验证,验证的目的是为了验证数据包是否完整,是否存在数据的丢失,如果数据验证数据包不完整,就会出现错误提示,在错误
信息栏记录一次错误,这样的验证是为了保证SSD的可靠性,无论进行多少个循环的测试,一定不允许有任何一次错误的发生,否则就有可能在使用过程中出现数
据丢失或者系统崩溃,有任何一次错误提示的SSD一定是不合格的SSD。

数据验证是每写一个文件包,就进行一次验证,验证完毕后,继续写入,然后验证,以此类推;当文件写入量达到SSD总容量的94%时,软件会全部删除已写入的数据,重新写入。

固态硬盘寿命实测让你直观SSD寿命!--转

通过61小时7分43秒的连续4.4715GB文件的写入/验证操作,总写入量为4471.5GB,没有出现任何错误信息:

固态硬盘寿命实测让你直观SSD寿命!--转

这样的测试意味着什么?

普通用户平均每天的写入操作是1.4GB,那么4471.5GB的写入操作就相当于用户使用3193.9天的写入量,折合8.75年。
对于程序员用户而言,每天的写入操作是5.2GB,那么,4471.5GB的写入操作就相当于用户使用859.9天写入量,折合2.35年。
然后,我们再来看看这款硬盘的健康状况吧。

固态硬盘寿命实测让你直观SSD寿命!--转

小编吃惊的发现,经过近4471.5GB文件的写入操作竟然没有产生一个坏块!主控的强大功能令人震惊。

换句话说,即使我们使用5年,这款SSD的寿命依然是值得信赖的,相比较机械硬盘而言,考虑到其抗震动等特点,在开机情况下移动电脑过程中SSD不会导致物理损伤,其可靠性不是降低了,而是增强了。

相信不少读者会产生一个疑问:上述的测试仅仅是进行了4471.5GB的写入操作,但在整个测试过程中我们并不清楚SSD到底经受了多少次的擦除动作,而擦除的操作才是真正决定SSD寿命的因素。

我们从BurnIn Test的测试原理可以来推算这一疑问的答案。
 
当我们对所选择的SSD进行测试时,软件会自动在磁盘的根目录下用具有一定规则的顺序代码创建文件,并对所写入的文件进行读取验证,文件的大小是我们所设
定的磁盘容量大小的百分比(如我们设置的29.81GB的15%,数据文件大小是4.4715GB),文件会自动填充磁盘的空白区域,直到SSD空间使用
94%时,软件会自动删除所有文件,然后重新开始填充。

那么,我们很容易的计算出,29.81GB的SSD,填充数据达到SSD容量94%,填充的数据总量为28.0214GB时才会进行一次删除操作,
每次填充4.4715GB的文件,软件需要进行6.266次的写入才会有一次的删除操作,那么,我们进行4471.5GB的写入,实际上只进行了
159.59次擦除操作,小编认为,这才是这款SSD虽然经过这么多数据的写入后依然毫发无损的真正原因。

既然MLC的寿命是擦除1万次,究竟这款SSD需要经过多少次的写入以及总的写入量是多少时才会产生1万次的擦除呢?

我们很容易可以倒推出,当进行1万次擦除操作时,我们需要进行62660次写入操作,那么我们写入的数据总量是280184.19GB,即使对于每天写入数据量很大的程序员而言,这个数据量也需要他们使用147.62年才能完成,而普通办公用户需要548.3年。

至此,一些读者可能会有疑问,事实上,我们每天在办公过程中是不停的进行创建文件、下载文件然后删除文件等操作,而不是当数据达到磁盘容量的94%时才会进行删除,这样的测试有意义吗?

事实上,SSD的写入方式与传统硬盘不同,当我们写入数据时,SSD首先会安排在空白区域进行写入,日常操作所删除内容的区块并没有马上被重新使用,只有当SSD的空间被使用完毕时,才会在已经删除内容的区块上重新写入。

同样,我们也很容易得出结论,SSD容量越大,被擦除操作的几率也就会相应越少,其使用寿命也就会越长。从另外一个角度来讲,电子产品更新换代如此之
快,5年以后,你现在所花费数百甚至数千元购买的SSD尽管状态良好你也未必会选择使用它,新的产品恐怕在SSD寿命终结之前已经取代了它。

上一篇:大学生成绩管理系统(C语言)


下一篇:基于spring与mockito单元测试Mock对象注入