详解SSD硬盘流传的六大问题 [ 网站地图 ]

发表于:2010-1-4 浏览:423 作者: 来源:新浪科技

关键字:SSD硬盘,详解

描述:  MLC架构的SSD由多颗MLCNAND闪存颗粒构成。大部分MLCNAND闪存的每一Page是4KB。一个block是由许多Page组成的,在STEC的MLCSSD中一个block包含128Pages(128Pagesx4KB/Page=512KB/block=0.5MB)。Block是可

  MLC架构的SSD由多颗MLC NAND闪存颗粒构成。大部分MLC NAND闪存的每一Page是4KB。一个block是由许多Page组成的,在STEC的MLC SSD中一个block包含128 Pages(128 Pages x 4KB/Page = 512KB/block = 0.5MB)。Block是可以擦除的最小结构。因此,当你写入SSD时,你一次可写入4KB数据;但是当你从SSD擦除数据时,一次却不得不删除512KB。

  无论何时,只要你将数据写入闪存,SSD都会反复经历同样的过程:创建一个电场,电子穿过氧化物并储存电荷(用寄存器单元记录一个电位值)。擦除数据会导致同样的事情发生,但却向着相反的方向。问题是电子穿过氧化物的次数越多,就会变的越弱,最终电压也不能再阻止电子的自由活动了。这时候,我们理解为:SSD的这个单元就发生故障了。

 一、只能1万次读写,寿命比传统硬盘短多了?

  MLC结构的SSD,确实只有1万次的读写寿命/block,但请注意,这里的“一万次”指的是单一的block单元读写寿命。

  正确来说,这个一万次指的是“写入次数”,读取数据则是无上限。

  再精细一点的说法,不是每储存一笔数据,就代表损失一次寿命。SSD的最小存取单位为“Page”,一个Page约4KB,每写入一个Page都要先清除上面的数据,即是erase/write cycle,因为每次都需要清除page,SSD的最大性能瓶颈由此而来,如果能解决这个问题,SSD的速度将会更快。而SSD的写入清除128KB为一个block,一万次的意思是每个block可以分别独立写入一万次。

  ok,我们来做个计算,假设我买了一块64GB MLC SSD,假设每天会写入约8GB的数据(实际上除非你是疯狂的下载狂人,否则通常不会有超过2GB的写入量)

  1Cycle=64/8=8

  8x10000(次)=80000

  80000/365(天)=219(年)

  换句话说,就算你用这块64GB MLC SSD每天下载一部6GB的高清影片,也大概可以使用219年。假定每个block使用约一万次后就损坏,一个一个的使用完毕后,容量就会越来越小,年限也会越来越少。假设空间损失10%你就无法使用它,那219/10=21.9年,也有约22年的时间可以挥霍。

  同样的,在相同的条件下,64GB SLC SSD,同样每天存入2GB资料

  1Cycle=64/2=32

  32x100000(次)=3200000

  3200000/365(天)=8767(年)

  惊人吧!

  前面说到每一个block一万次的次数限制(MLC),那如果一直都是同样一个block在写入,那是不是很快就将这个block用完了呢?

  其实大可不必担心,因为SSD在设计时就会用到平衡计算的技术,称为wear-leveling(平均损耗技术)。该技术会平衡计算block的写入次数,那也就不会出现容量越用越小的情形,因为使用了平均损耗算法的NAND颗粒几乎不会出现单一block被写爆的情况。

用不起别说盘不好SSD坊间六大问题详解(2)
平均损耗令SSD寿命大幅延长

  除了wear-leveling以外,SSD还会尽量减少写入操作来保证寿命,譬如与传统HDD不同的删除机制。

  现在回到编程和擦除SSD数据之间方式的差异上来。假设你保存了一个8KB的文件,之后决定要删除它。

  你保存该文件时,它会以2 Pages的形式保存在闪存寄存器中;你将其删除时,SSD会标记Pages为无效,但实际上并不会删除该block。SSD将等到block中一定比例的Pages都被标记为无效时,才会复制一些有效的数据到新的Pages里去并擦除该block。SSD这样做就是为了限制了每个block擦除的次数,从而延长驱动器寿命。

  但是并非所有的SSD都采用同样的方式来处理删除请求,因此,从硬盘原理上来说,如何处理删除请求对SSD安全性产生较大的影响。

  当然,我们知道,有些每天下载数十GB的下载狂人,对于磁盘的写入空间、时间都真的有很BT的要求,对于这些玩家来说,还是用SSD当纯系统盘比较靠谱。

  二、SSD存储数据不安全?删除文件不是真正删除?

  确实,从之前的原理学习我们了解到,因为写入寿命的影响,SSD没有擦除block这个概念,唯一擦除block的时候就是写入新数据的时候。如果你删除Windows里的一个文件而没有创建新的文件,SSD实际上并没有从闪存中移走这个数据,除非你准备好写入新的数据。

  当然,如果你质疑SSD的安全性,那么你也应该质疑传统HDD的安全性,因为HDD也不总是真的擦除数据,除非你使用一些特殊的软件或手段,看过《越狱》的朋友更应该清楚硬盘数据的不安全性(格式化并扔进河里的硬盘都被挽救回来)。而SSD也同样具备这些彻底销毁数据的软件及手段。据笔者所知,Runcore(源科)SSD已经有成熟的SSD数据销毁方案在应用中。就连军队都在使用SSD存储数据,难道你能说你要保存的资料比军队的更重要?

  三、操作系统对SSD支持不到位?

  确实,在Windows Vista之前的系统,没有给到SSD相应的支持。而微软很快改进了Windows 7下的SSD硬盘性能。现在Intel、Sandisk、OCZ、金士顿、威刚、源科等制造商已经发布了多款SSD硬盘,微软在Windows7的开发过程中已经与多家SSD厂商进行合作,比如Intel, 希捷, Sandisk和三星等公司。新近推出的Windows 7操作系统,已经能适应这个新的存储技术。

用不起别说盘不好SSD坊间六大问题详解(3)
SSD更适合新的WIN7操作系统

  为了更好的适应SSD,Windows 7包含了3项针对磁盘的优化技术。这些技术都是为了尽量减少磁盘的读写次数。第一,不合并已删除文件里重复的文件,第二是早期磁盘垃圾收集,第三尽量保持磁盘的洁净。

 {[csc:pagelist]}

  四、SSD使用一定时间后经常卡死?

  关于以前网站上常有网友指出,SSD在运行中会发生停顿的现象。这主要是因为早期的Windows XP/Vista在设计上主要是以传统硬盘(HDD)为主,而这些设计基本上与SSD的原理又互相排斥,这些设计上的差异主要有下列几项:

  1.不必要的写入:

  早期在内存空间较小的时代,微软在操作系统的设计上,保留较多的内存给予程序,使得Windows不停的把内存的数据写入硬盘,但以目前内存容量已经大幅增加的状况,已没有必要做这样的动作。

  此外,传统硬盘搜寻数据的动作时间较长,若刚好要读取的文件散落在不同位置,读取会更慢。Windows根据这个问题,做了一些文件重组的动作,这在SSD的快速读取下,也变成了多余的动作。

  而针对传统硬盘的圆形架构,XP会将数据拷贝到读取较快的外圈区做预读,这对SSD而言,又是另一个多余的动作。

  2. Block Size的不同:

  SSD的Allocation unit size/Block size与HDD不同,因此建议采用8KB来做为Allocation size,SSD会恢复原来的性能。

用不起别说盘不好SSD坊间六大问题详解(4)
针对传统硬盘的不当设置应当取消

  所以基于以上理由,常见对于SSD使用者的建议是要关闭设计给HDD的服务:

  1. 关闭 Superfetch

  2. 关闭 Windows Search

  3. 关闭 索引服务

  4. 关闭 自动重组

  5. 关闭 磁盘驱动器写入式快取

  五、MLC速度很慢?

  MLC被人诟病的另外一点就是明显低下的传输速度,这在MLC产品刚问世的一段时间内确实存在,但现在这个劣势已经得到了巨大的提高。

  对于双通道技术,大家都耳熟能详,2块显卡并行工作可以提高速度,两条内存组成双通道可以极大提高内存带宽。同样的,MLC也可以组成双通道。多块芯片同时工作,性能加倍。但是不仅仅在使用2块芯片的时候可以,同一块芯片内部也可以集成2片晶元(堆叠技术),甚至一片晶元上可以集成2个甚至更多的读写单位(注意不是SLC&MLC里面那个cell)同步运作,提升速度。

  而对于SSD来说,一个优秀的多通道闪存读写控制器就是MLC性能的核心所在,这就是我们常说的主控芯片JMF601/602/602B到INTEL X25到Samsung到INDILINX,可以说MLC主控技术有了长足的进步。以往采用旧主控只有70MB/s写入,130MB/s读取的速度,到现在发展为写入180MB/s,读取266MB/s,进步实在是惊人。

  当然,即使是最慢速的SSD主控方案,也是比传统HDD硬盘要快上许多的,结构优势摆在那里无可争议。

 六、4KB写入慢,影响大?

  同样的,这也是主要由主控的读写算法所决定,JMF602主控确实有这方面的问题,在4KB段IOPS值往往在10以内,不敌传统硬盘。但是采用Intel或者是INDILINX主控的SSD,则完全没有这方面的问题了。这个差距在一些媒体的评测中是清晰可见的。

用不起别说盘不好SSD坊间六大问题详解(6)
相关媒体的4KB IOPS测试结果(速度低于10的均为早期JMF主控产品)

  总结:见证一个朝代的更替

  从以往的各种对比评测结果来看,MLC架构SSD的种种缺点,似乎都可以通过改进主控方案来解决。我们看到,无论是Intel X25M还是INDILINX,每一次主控的升级,都令SSD得到显著的提高和进步,都引领着SSD向前迈进,所以我们不应该目光短浅的抱怨SSD怎么怎么不好,而是应该期待新一代的主控技术为SSD带来新的革命。我不敢说SSD短期内一定会取代HDD,但是如同光存储的衰退一样,磁存储的被取代也是必然的,因为没有谁能阻挡人类对于速度对于性能的追求。

JMF提供廉价解决方案,选择更多

  拿出道较早,售价低廉的JMF602和Intel X25M、INDILINX比,是不太公平的。从售价来看,JMF602系SSD现在可以卖到千元以内的价格,而同等容量的,无论是Intel X25M还是INDILINX,价格几乎都要乘以2来计算。从前面和传统硬盘的比较,SSD全面胜出,即使是JMF602也不例外,当然,性能只是一个方面,还有省电、稳固、轻巧这些特点呢?所当JMF602的价格降到硬盘价时,相信没有人会犹豫要不要出手,其实这一天并不遥远。

  国产不完全是山寨,乱战将至

  相比传统硬盘,SSD有着更为简单的加工工艺和技术要求,这也令我们看到,有越来越多国产SSD品牌正涌现出来,其中虽不乏山寨品牌,但像源科、忆正、固捷这些有着军工及行业背景,有着深厚的技术实力的企业,也纷纷进军民用市场……如果再把山寨品牌算上,这场战争将会更加的混乱。


站长资讯网 做中国最丰富的资讯网站 沪ICP备05004089号