基础知识及固态存储器前景分析

更新时间:2023-11-22 06:14:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SSD基础知识及市场前景分析

一. 什么是Solid State Disk(固态存储)

1.固态存储技术简称为SSD,一般可以分为二种方式:A. 基于闪存的SSD:采用FLASH芯片作为存储介质,这也是通常所说的SSD。它的外观有多种,例如:笔记本硬盘(2.5’)、微硬盘(1.8’)、优盘等样式。这种SSD固态存储器最大的优点就是可以移动,而且数据保护不受电源控制,能适应于各种环境,但是使用年限不高,适合于个人用户使用。

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

由于采用FLASH存储介质,它内部没有机械结构,因此没有数据查找时间、延迟时间和寻道时间。众所周知,硬盘的机械特性严重限制了数据读取、写入的速度及性能。目前主流的SSD固态存储器在操作系统中表现为一块普通的HDD硬盘,用户可以完全把它作为一块硬盘来使用。 2. SSD技术解析

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

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

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

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

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

纠错管理与映射机制

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

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

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

二. SSD固态存储器几点优点:第一,数据存取速度快。根据相关媒体测试:在同样配置的笔记本电脑下,运行大型图像处理软件时能明显感觉到SSD固态存储器无论在保存还是在打开文件都更快。当按下笔记本电脑的电源开关时,搭载SSD固态存储器的笔记本从开机到出现桌面一共只用了18秒,而搭载传统硬盘的笔记本总共用了31秒,差距还是相当大的。

第二,经久耐用、防震抗摔。与传统的旋转式、磁介质硬盘相比,因为全部采用了闪存芯片,固态存储器内部不存在任何机械部件,其读写速度更快、更可靠,也更节能,这样即使在高速移动甚至伴随翻转倾斜的情况下也不会影响到正常使用,而且在笔记本电脑发生意外掉落或与硬物碰撞时能够将数据丢失的可能性降到最小。

第三,SSD固态存储器工作时非常安静,没有任何噪音产生。得益于无机械部件及闪存芯片发热量小、散热快等特点,SSD固态存储器因为没有机械马达和风扇,工作时噪音值为0分贝。

第四,SSD固态存储器比常规1.8英寸硬盘重量轻20-30克,可千万别小看这些重量,在笔记本电脑、卫星定位仪等随身移动产品上,更小的重量有利于便携。此外,重量的减轻也使得笔记本搭载多块SSD固态存储器成为可能。 四. SSD的应用范围:

如果从最早研发开始计算,SSD固态存储器的发展已经有20多年的历史,固态存储器在早期的大部分时间里,主要用在军用嵌入系统中,或者高性能计算的研究实验室中。如今固态存储技术已成为一个民用标准,已经在笔记本电脑及大型主机等领域得到应用。商业领域也已经涉及到金融、电信、医疗、电力、航空、邮电等行业。随着SSD固态存储器的应用逐步扩大,医疗领域也开始应用相关产品。 五. SSD固态硬盘的寿命有多长

固态硬盘的性能与寿命是有关系的。通常,固态硬盘的性能越差意味着它的使用寿命就越短。这是因为固态硬盘的磨损与固态硬盘上发生的数据写入和清除次数直接相关。发生写数据的次数越多,其寿命就越短。 目前,市场的固态硬盘按flash类型分为两类。一类为每个闪存单元存储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倍。 六. 诸多因素影响寿命和性能 A. 磨损均衡影响SSD性能

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

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

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

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

B.除了磨损均衡技术影响性能以外,另外一个对SSD固态硬盘性能和寿命都有影响的是所有NAND闪存都在使用的一项技术:写入放大(write amplification)。

在NAND闪存中,数据是按块组织的,这一点与传统硬盘一样,而与传统硬盘不同的地方在于SSD中的块大小是固定的。比如,NAND闪存的块规定为512K,那么即使一个待写入的数据块只有4K,也必须占用一个块的空间。一旦这个块的数据中任何一个部分需要修改,也必须先全部擦除,然后再重新写入。不同SSD固态硬盘的数据写入放大比率有所不同,范围在15~20之间,这也就意味着,每1MB的数据被写入SSD实际需要占用 15MB~20MB的存储空间。 C. 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%的浪费。

D. 影响SSD系统性能的其他几个因素:1、闪存性能 2、控制器性能3、通道数量4、接口 5、其他 1.)先说闪存本身

说明下SLC(Single Level Cell)及MLC(Multi Level Cell) 的差异。

理论上SLC具速度快、读写次数高、质量较稳定、耗电低…等优点,应是集优点于一身的技术,但是MLC因扩充容量容易、成本较低,结果市场需求呈现压倒技术优点,反而成为目前市场的主流技术。 2.)控制器 1>JMF602

很普通的控制器,只有16KB buffer,支持SATA300,USB2.0,最大能有256G(MLC),SLC的读写性能为170/135M. JMicron是一家台湾IC设计公司,成立于2001年。JMicron侧重于高速串行连接技术,如SATA、PCI-Express、USB接口、RAID控制器和其他存储应用。

JMicron JMF601/JMF602的固态硬盘芯片,功能强大兼容性好,特别是还具有USB2.0接口设计,因此被市场广泛采用。很不幸的是,JMicron JMF602第一批产品曾受到关于碎片化和假死的投诉和困扰。不过JMicron很快修正了硬件芯片的架构,在2008年6月重新发布了新款JMF601B/602B控制芯片,这是JMF601A/602A的改进修订版本。目前JMicron所贩售给客户的所有SSD固态硬盘控制芯片,都已经是带有“B”后缀的改进版本。“B”版控制芯片主要改进了写入潜伏期,大幅提高了硬盘的写入速度。此外新的控制芯片可以保留更多的存储空间,由此在使用固态硬盘存储数据的时候,可以最大限度的节省硬盘的容量。

最新的JMF612控制器,其最大读取速度可达230MB/S,最大写入速度接近180MB/S 2>Intel X25M

Intel作为当今SSD固态硬盘的领军人,其固态硬盘控制器性能堪称一流。根据MLC和SLC两类不同的闪存颗粒,将产品线分为X25-M和X25-E两大系列。此后Intel又分别和在国内存储市场占有较大市场份额的金士顿以及威刚合作,于是市场中又出现了金士顿版本和威刚版本的X25-M。

Intel X25架构的优异之处在于有大容量DRAM外部缓存,以及支持多达10通道存取。另外,高级动态损耗平衡 (Advanced Dynamic Wear Leveling) 功能,可有效提高MLC的可靠度和耐用度。 Intel X25架构的缺点就是价格太昂贵。

3>Indilinx

INDILINX是一家韩国公司,专门生产制造SSD固态硬盘控制芯片为主。采用Indilinx主控方案的SSD产品,在常规读写速度方面达到甚至超过了Intel X25 M架构的SSD,而其价格则介于JMicron和Intel X25M之间。现在包括OCZ、威刚、金士顿、源科在内的各大SSD品牌几乎都推出了基于Indilinx架构的SSD产品。

和Intel X25M一样,Indilinx采用了外置DRAM高速缓存芯片的设计,同时支持8通道存取。

3)3大主控的性能对比

1>资料:主控芯片JMF601/602/602B到INTEL X25到Samsung到INDILINX 主控厂家 Intel Samsung JMicron IndiLinx SkyMedi(擎泰科技) Phison(群联电子) SMI(慧荣科技) KTC (太和科技) Alcor(安国科技) US Best(联盛科技) 2>测试图示 Indilinx Intel X25M JMF602B 4)新的主控Sandforce 有SF-1200系列(SF-1222),SF-1500系列(SF-1565) SF-1200面向民用,仅支持MLC颗粒;而SF-1500面向企业,支持MLC和SLC颗粒 首先来看SandForce的技术创新。我们这里关注的是SSD控制器的一项主要功能:Page mapping页面映射。简单地说,这一操作就是将文件系统里的簇映射到闪存中的一个Page(页),实际上就是一个分类整理优化的过程。为实现这一映射,Intel需要在控制器外使用DRAM缓存来保存映射表,Indilinx方案中的缓存除了保存映射表外,还能缓存用户数据。而SandForce则完全不需要外置缓存,因为在他们的方案中,你实际写入闪存的数据,要比操作系统传输给控制器的少。 主控名称 PC29AS21AA0 PC29AS21BA0 SamsungG3 JMF612 JMF601 JMF602 IDX100M00 IDX110M00 SK6361B SK6361A PS3016-P7 SM2240 FC1204 FC1205 AU7510 接口 SATA II SATA II SATA II SATA II + USB SATA II + USB SATA II + USB SATA II SATA II SATA II SATA II IDE SATA II SATA II 通道数 10 10 8 4 8 2 4 4 读写速度 250/170(70) 220/200(120) n/a 100/50 150/100 230/180 100/80 DRAM Cache y y y y n n y y y y n n UT165 Currently only UT165 for USB

本文来源:https://www.bwwdw.com/article/f6rv.html

Top