现在的位置: 首页 > 综合 > 正文

固态硬盘(SSD)扫盲

2013年12月12日 ⁄ 综合 ⁄ 共 4881字 ⁄ 字号 评论关闭

1、SSD简介

SSD即固态硬盘(Solid State Disk或Solid State Drive),也称作电子硬盘或者固态电子盘,是由控制单元和固态存储单元(DRAM或FLASH芯片)组成的存储设备,目前支持SATA、FC、SAS接口,可以替代普通的机械硬盘。固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘的相同,在产品外形和尺寸上也与普通硬盘一致。 由于固态硬盘技术与传统硬盘技术不同,所以产生了不少新兴的存储器厂商。厂商只需购买NAND存储器,再配合适当的控制芯片,就可以制造固态硬盘了。新一代的固态硬盘普遍采用SATA-2接口及SATA-3接口。

SSD盘根据容量、可靠性和性能的要求分为SLC SSD和MLC SSD,SLC主要应用于服务器、工作站、存储等高可行性环境中,MLC主要应用于桌面PC可靠性要求不高的环境中。

SSD盘和传统的机械硬盘的内部构造图对比如下:


SSD盘内部构造图                     机械硬盘内部构造图

相比传统的机械硬盘,SSD硬盘拥有如下优点:

1、数据存取速度快。因为全部采用了闪存芯片,所以SSD固态存储器内部不存在任何机械部件,SSD在密集的IO读写和低延迟方面与传统硬盘对比性能优异。

2、故障率低。防震抗摔是SSD的一个特点之一,因为全部采用了闪存芯片,所以SSD固态存储器内部不存在任何机械部件,这样即使在高速移动甚至伴随翻转倾斜的情况下也不会影响到正常使用,而且在笔记本电脑发生意外掉落或与硬物碰撞时能够将数据丢失的可能性降到最小。

 3、绿色环保。固态存储器工作时静音(固态存储器因为没有机械马达和风扇,工作时噪音值为0分贝)、发热量小、散热快。

4、重量更轻。固态存储器在重量方面更轻,有利于移动设备的携带。

在目前HDD机械硬盘容量每年增速较慢,读写速度10年来基本上没有增加,而处理器的速度已经是按莫尔定律成倍的增加,HDD硬盘存储介质已经成为计算系统的瓶颈,而SSD随着半导体工业的发展,Flash集成度愈来愈高,成本不断下降,在采用多通道并行等技术下,SSD盘以其读写速度快、绿色省电和无机械部件可靠性高,在高端服务器、存储和便携机中愈来愈广泛使用。 

2、SSD的分类

基于闪存的固态硬盘

基于闪存的SSD主流产品目前有SLC和MLC两种,两种产品的主要差别在于擦写次数和性能。

SLC全称单层式储存(Single Level Cell),是指一个Block(块,Flash的基本存储单元,也可称为Cell)只有两种电荷值,高低不同的电荷值表明0或者1,因为只需要一组高低电压就可以区分出0或者1信号,所以SLC最大压可以做到很低,传统的双电压卡或者低电压版本卡片肯定采用SLC类型的NAND Flash芯片。

SLC因为结构简单,在写入数据时电压变化的区间小,所以寿命较长,传统的SLC Flash可以经受10万次的读写,因此出现坏Block的几率较小,因为存储结构非常简单,一组电压即可驱动,所以其速度表现更好,目前所有的超高速卡都采用SLC类型的Flash芯片。

MLC(多层式储存—Multi Leveled Cell)是种充分利用Block的技术,它采用较高的电压驱动,通过不同级别的电压在一个Block中记录两组位信息(00、01、11、10),这样就可以将原本SLC的记录密度理论提升一倍。不过MLC除了同制程、同晶圆面积时理论大一倍的记录空间外,存在一些先天的弊端,比如说电压区间更小,Flash就需要更多的CRC校验空间,这会大概占据Block中10%的空间,因此实际使用中同制程同晶圆面积的MLC的容量不到SLC的一倍。

因为电压变化更频繁,所以MLC技术的Flash在寿命方面远劣于SLC,官方给出的可擦写次数仅为1万次,这是MLC最要命的一个缺点。

MLC技术的Flash还有一个缺点,它的读写速度先天不如SLC,一个Block存储两组位数据,自然需要更长的时间,这里面还有电压控制、CRC写入方式等因素需要考虑。

基于DRAM的固态硬盘

  基于DRAM的固态硬盘:采用DRAM作为存储介质,目前应用范围较窄。它仿效传统硬盘的设计、可被绝大部分操作系统文件系统工具进行卷设置和管理,并提供工业标准的PCI和FC接口用于连接主机或者服务器。应用方式可分为SSD硬盘和SSD硬盘阵列两种。它是一种高性能的存储器,而且使用寿命很长,美中不足的是需要独立电源来保护数据安全

3.      SSD技术解析

l         NAND FLASH 损耗均衡算法(Wear Leveling)

因为闪存的写操作的次数是有限制的,如果针对某些单元进行过10万次写操作,那么后续这些单元的写入可靠性则无法保证,有些单元则可能会失效,例如有些管理数据系统日志等改写频繁,而某些静态文件数据却几乎从不改写.如不加控制,部分块就会因反复多次擦除而提前损坏,而部分块还未被改写过,以至影响SSD盘的使用寿命,为解决此问题,使用写操作均匀分布到各闪存单元上,从整体上做一个平衡,以避免个别单元失效,损耗均衡算法(Wear Leveling)就是为解决此问题而广泛采用的算法。

Wear Leveling就是提供一个块映射机制, 把写入损耗分散在不同的块上, 不会导致某些块先被写坏而使整个SSD盘失效,而是把在预期寿命前失效的块, 会有一些保留块来替代, 这个算法使得整个设备的寿命跟Flash的最大寿命在同一量级。

一般为实现损耗均衡算法(Wear Leveling)会采用一种基于页的文件存储算法,闪存物理地址和逻辑地址之间并没有一一对应的关系。当固态硬盘收到数据写入请求时,并不会循规蹈矩的按顺序进行写入,而是找到最少写入的单元写入。因而,在为写入数据动态分配物理块时,会根据各块的使用情况不同分配相应的优先级,从而均衡整个存储器各单元的使用寿命。

l         SSD多通道并发技术

由于目前Nand Flash的数据总线为8bit,最大能提供25MB/s的读速度和3MB/s的写速度,显然SSD如果提供此速度是用户无法接受的,目前SSD控制器普遍采用多个通道同时并行操作多片Flash,类似RAID0,这样读写速度得到了极大地提高,如下图所示:

l         纠错管理与映射机制

SSD控制器会监测和校验读写Flash的数据,以确保对数据操作的成功,并内置纠错冗余数据,防止基于闪存设备的个别单元数据丢失造成整个数据块丢失。

SSD的映射机制一般采用基于页的文件存储算法,闪存物理地址和逻辑地址之间并没有一一对应的关系。当固态硬盘收到数据写入请求时,并不会循规蹈矩的按顺序进行写入,而是找到最方便写入最快的位置进行写入,以提高写入速度。

通常检测工作通过片上状态寄存器和特定的硬件部件来校验写操作和擦除操作是否成功,校验工作通过回读写入数据与用户数据进行比较来完成。当写操作失败时,系统并不将错误简单的反馈给用户,而是通过块重映射机制,另外分配一个空闲块重新执行写操作,由于SSD在设计的时候,已经预留了一部分Flash用于临时存储数据和坏块替换使用,再加上Flash芯片对擦写次数有限制,读没有次数限制,这样即使某些块被写坏了,也不会影响到整个SSD的使用寿命。因此,SSD通过自动校验来预防错误发生,个别单元读错误可以通过纠错来恢复数据,确保数据的完整性,逻辑地址与物理地址的映射机制,解决了写物理区块错误问题,同时在损耗均衡算法中也需要逻辑地址与物理地址的映射机制来实现。 


4、SSD优缺点

优点:

启动快

  没有电机加速旋转的过程。

读取延迟小

  不用磁头,快速随机读取,读延迟极小。根据相关测试:两台电脑在同样配置的电脑下,搭载固态硬盘的笔记本从开机到出现桌面一共只用了18秒,而搭载传统硬盘的笔记本总共用了31秒,两者几乎有将近一半的差距。

碎片不影响读取时间

  相对固定的读取时间。由于寻址时间与数据存储位置无关,因此磁盘碎片不会影响读取时间。

写入速度快

  基于DRAM的固态硬盘写入速度极快。

无噪音

  因为没有机械马达和风扇,工作时噪音值为0分贝。某些高端或大容量产品装有风扇,因此仍会产生噪音。

发热量较低

  低容量的基于闪存的固态硬盘在工作状态下能耗和发热量较低,但高端或大容量产品能耗会较高。

工作温度范围更大

  典型的硬盘驱动器只能在5到55℃范围内工作。而大多数固态硬盘可在-10~70℃工作,一些工业级的固态硬盘还可在-40~85℃,甚至更大的温度范围下工作(e.g:
RunCore军工级产品温度为-55~135℃)。

体积小重量轻

  低容量的固态硬盘比同容量硬盘体积小、重量轻。但这一优势随容量增大而逐渐减弱。直至256GB,固态硬盘仍比相同容量的普通硬盘轻。

抗震动

  比起传统硬盘,固态硬盘抗震能力要强很多,使得数据能更加安全地保存。





主要谈下缺点:

成本高  每单位容量价格是传统硬盘的5~10倍(基于闪存),甚至200~300倍(基于DRAM)。

容量低  目前固态硬盘最大容量远低于传统硬盘。(美国公司Foremay推出了EC188M系列固态硬盘2TB。)传统硬盘的容量仍在迅速增长,据称IBM已测试过4TB的传统硬盘。

易受外界影响  由于不像传统硬盘那样屏蔽于法拉第笼中,固态硬盘更易受到某些外界因素的不良影响。如断电(基于DRAM的固态硬盘尤甚)、磁场干扰、静电等。

写入寿命有限  写入寿命有限(基于闪存)。一般闪存写入寿命为1万到10万次,特制的可达100万到500万次,然而整台计算机寿命期内文件系统的某些部分(如文件分配表)的写入次数仍将超过这一极限。特制的文件系统或者固件可以分担写入的位置,使固态硬盘的整体寿命达到20年以上。

数据难以恢复  数据损坏后难以恢复。一旦在硬件上发生损坏,如果是传统的磁盘或者磁带存储方式,通过数据恢复也许还能挽救一部分数据。但是如果是固态存储,一但芯片发生损坏,要想在碎成几瓣或者被电流击穿的芯片中找回数据那几乎就是不可能的。当然这种不足也是可以牺牲存储空间来弥补的,主要用RAID
1来实现的备份,和传统的存储的备份原理相同。由于目前SSD的成本较高,采用这种方式备份还是价格不菲。

电池航程较短  根据实际测试,使用固态硬盘的笔记本电脑在空闲或低负荷运行下,电池航程短于使用5400RPM的2.5英寸传统硬盘。

能耗较高  基于DRAM的固态硬盘在任何时候的能耗都高于传统硬盘,尤其是关闭时仍需供电,否则数据丢失。

5.      SSD应用环境

SSD盘相对于普通机械硬盘的特点是顺序和随机读取数据性能一样,且响应时间小于1毫秒,无机械部件,可靠性高。通过仔细研究分析测试多个厂家的SSD盘后,H3C为与万兆存储配合使用和发挥最好的性能,选用了高可靠性和高性能的SLC SSD盘,每个盘读性能能达到250MB/s,每个磁盘的写性能能达到170MB/s,在4 KB块读的情况下,每个盘可以达到35KIOPS, 在4 KB块写的情况下,每个盘可以达到3.3KIOPS。

SSD盘性能和可靠性都很高,但价格相对也较高,而且容量偏小。这就决定了SSD比较适合随机读比例较高,响应时间有较高要求的应用场合,主要包括如下:

l         数据库环境。数据库的数据盘一般是小数据块的随机读写,响应时间要求较高,容量在2TB以下的占绝大多数,采用SSD盘组成的RAID5既可以提供很高的IOPS又最大限度地利用其容量。

l         作为H3C存储的SafeCache空间。H3C存储提供的SafeCache功能可以使用户写入的数据先缓存在SafeCache盘中,后台再不断地把SafeCache盘中的数据刷回对应的数据盘。这样SSD相当于一个大容量的缓存,可以极大地提高突发写的能力。

l         高性能集群系统的共享数据盘。在集群系统中需要共享大量数据,且数据需要被各节点频繁访问,要求响应速度快,在此系统中通过采用SSD盘后,可以极大地减少各节点的访问共享盘的待定时间,提高其性能。

抱歉!评论已关闭.