WatchStor.com — 领先的中文存储网络媒体 | 51CTO旗下网站

评测导购 > HBA > 正文

菜鸟SSD固态硬盘基础知识大扫盲

Watchstor.com  佚名丨2009-11-07 18:50 标签:HBA 硬盘/SSD 硬盘 固态硬盘 

在存储市场,新型的SSD固态硬盘正如日中天。据说百度、Google等搜索引擎公司已经将传统硬盘换成了固态硬盘,微软表示其最新的视窗操作系统 Windows 7将支持全面SSD。而更多的企业正在对固态硬盘进行评估。

与传统的旋转式、磁介质硬盘相比,固态硬盘没有运动部件,其读写速度更快、更可靠,也更节能,因而,即使其价格被传统硬盘高一些,用它取代传统硬盘也是值得的。然而,对消费者来说,在真正采购固态硬盘的时候,除了需要知道固态硬盘价格较贵以外,还有必要知道它的另一个特点: 随着时间的推移,SSD的性能会下降。根据固态硬盘的种类不同或者品牌不同,其性能下降幅度也不同,但可以肯定的是,刚买的硬盘和你使用过一年以后的性能一定会相差甚多。另外,延长固态硬盘的使用寿命也是供应商目前正着力解决的问题。

磨损均衡影响SSD性能

众所周知,传统硬盘的数据存储在磁介质上,通过磁介质的旋转和读写臂的配合读取磁介质上的数据,其读写数据性能基本一致,随着使用时间的推移其性能也不会有明显变化。而SSD不同,其性能不是一成不变的,而且变化很明显。

SSD 的数据存储在NAND闪存中,其中没有运动部件。对SSD而言,其读取数据的过程就是一个解析地址的过程,因此,其数据读取的速度非常快。而数据写入过程就复杂一些,分为两个过程: 清除数据,然后写入。与数据的读取相比,固态硬盘的写入速度会慢得多。因为固态硬盘的数据写入要复杂一些,固态硬盘的控制器会执行一种名为磨损均衡(Wear-leveling)的操作,对里面的数据进行重新安排,有些数据会从一个位置被转移到另一个位置。为了完成这一操作,SSD的控制器中保留一份名单,记录这些被移动的数据的位置。

如果固态硬盘是新的,其中的NAND闪存已经预先擦除干净,因此数据可以直接写入闪存,而无需完成数据清除这一步,这时数据的写入非常快。随着时间的推移,SSD中从未使用的存储空间越来越少,很多时候必须先擦除闪存中的数据然后再写入,因此其性能就会明显下降。而且,尽管磨损均衡的目的是避免数据重复在某个空间写入,以保证各个存储区域内磨损程度基本一致,从而达到延长固态硬盘的目的。但是,它也会影响固态硬盘的性能。

另外,为了达到磨损均衡的目的,SSD会时常把常使用的数据从一种位置移动到另一个位置,这一举动还会引发数据碎片的问题。与传统硬盘一样,数据碎片也是SSD性能下降的罪魁祸首之一。

SSD固态硬盘的寿命有多长

固态硬盘的性能与寿命是有关系的。通常,固态硬盘的性能越差意味着它的使用寿命就越短。这是因为固态硬盘的磨损与固态硬盘上发生的数据写入和清除次数直接相关。发生写数据的次数越多,其寿命就越短。

目前,市场的固态硬盘分为两类。一类为每个闪存单元存储1位的SLC(single-level cell),价格较贵,主要面向企业。另一类为每个闪存单元保存2到多位(现已到4位)MLC,主要面向普通消费者,价格要便宜得多。MLC固态硬盘的可写入次数为2000~10000,SLC固态硬盘的可写入次数是MLC的10倍左右。

为了延长固态硬盘的使用寿命,制造商们想尽了办法。除了前面提到的磨损均衡技术以外,还在SSD中加入DRAM缓存,把数据先缓存在DRAM中,然后集中写入,从而减少写入次数。另一个减少写入次数的办法是在SSD的控制器或者处理器中加入一个专门的芯片,它能把多个写入操作组合到一起,以提高写入效率。

有的供应商还采用另一种办法,即为SSD额外多提供一些闪存单元,如果SSD中有些闪存单元损坏,可以替补使用。例如,有些SSD标明是100GB的存储空间,其内部实际可能有120GB的存储能力。额外的20GB平时不用,等到有单元坏掉时再使用。

正是因为固态硬盘的性能和其使用寿命是紧密相关的,固态硬盘制造商需要在读写速度和使用寿命之间做出最佳平衡。值得高兴的是,尽管SSD使用初期性能会下降,但性能会逐步稳定下来。更为重要的是,即使SSD固态硬盘性能会下降,但与传统硬盘相比,其I/O性能仍然会高出2~5倍。

诸多因素影响 寿命和性能

除了磨损均衡技术影响性能以外,另外一个对SSD固态硬盘性能和寿命都有影响的是所有NAND闪存都在使用的一项技术:写入放大(write amplification)。在NAND闪存中,数据是按块组织的,这一点与传统硬盘一样,而与传统硬盘不同的地方在于SSD中的块大小是固定的。比如,NAND闪存的块规定为512K,那么即使一个待写入的数据块只有4K,也必须占用一个块的空间。一旦这个块的数据中任何一个部分需要修改,也必须先全部擦除,然后再重新写入。不同SSD固态硬盘的数据写入放大比率有所不同,范围在15~20之间,这也就意味着,每1MB的数据被写入SSD实际需要占用 15MB~20MB的存储空间。

而另一个问题是,NAND闪存中块的大小与Windows系统中通常的写请求不匹配,Windows系统中大多数时候写入的数据量比NAND闪存中的块小。这两者不匹配会影响SSD的写入性能。

SSD 的读写算法也会对性能造成影响。SSD固态硬盘控制器中的读写算法负责找到准备写入数据的位置,把原有的数据读出来,标记位删除,然后重新给这个数据找一个存放位置,最后再把新的数据写入这个块中。在这一过程中,SSD必须将块中原有的数据读出来,然后再找个新位置重新写进去,而对使用者来说,这个过程与他要存储的新数据没有关系,纯属浪费时间。这是所有基于NAND的SSD所共同面临的问题,到目前为止,还没有从根本上解决。

正是由于SSD所能承受的写入次数有限,因此制造商正在设法减小”write amplification“的比率,以减少磨损的次数。正如前面所说,一些制造商通过一些算法来把多次写请求组合到一起来提高SSD的性能,这一方法同样也能提高SSD固态硬盘的存储空间利用率,从而能减少数据的写入次数,另外也有一些制造商在SSD固态硬盘中增加缓存。不过,目前究竟这些技术是如何提高存储效率和利用率的,我们还不得而知,因为各个制造商都把这视为商业秘密而不愿意公开。

据了解,Intel就在SSD固态硬盘的控制器中增加了一个固件(Firmware),它能把多次写请求集中到一起执行,从而减少对存储的需求。Intel的官方资料称,其”write amplification“的比值低于1.1,也就是说,每1MB的数据实际需要1.1MB的存储空间。另一个主要的SSD固态硬盘供应商三星称其把这个值控制在1.03左右,这意味着平均只有3%的浪费。

【编辑推荐】

  1. Sun与SSD之间的巅峰合作
  2. 控制器增强SSD固态硬盘性能
  3. 控制器增强SSD固态硬盘性能
  4. 固态硬盘技术真正在为我们子孙造福
  5. SSD固态硬盘在和传统硬盘的决战中何时才能获胜

相关资讯

今日微信独家

《华尔街日报》报道日前援引知情人士的消息称,由于被美国政府以国家安全问题为由进行调查,联想斥资23亿美元收购IBM低端服务器业务的交易陷入了停滞状态。
关注新浪官博 订阅微信订阅号

订阅焦点周刊

论坛与活动

2016中国数据加速峰会直播专题
2016中国数据加速峰会直播专题[详细]
点击查看

精彩视频

最新文章

1111111
1111111
asdasd
asdasd
同有科技应用型大数据存储在南京掀起智能风暴
同有科技应用型大数据存储在南京掀起智能风暴
斯蒂芬斯蒂芬
斯蒂芬斯蒂芬
京东双11技术备战 构建多中心交易系统
京东双11技术备战 构建多中心交易系统