论文部分内容阅读
快闪存储器(Flash memory),简称闪存,是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。固态硬盘(Solid State Disk或Solid State Drive),也称作电子硬盘或者固态电子盘,通常采用FLASH芯片作为存储介质组成的硬盘。它没有普通硬盘的旋转介质,而是采用芯片管脚直接读写,因此它的读写速度尤其是随机读写上比传统硬盘来的更快,而且抗震性上拥有很大优势。另外,由于不使用磁性存储介质,也不会有被磁化导致数据丢失的危险。因此无论对笔记,桌面PC还是服务器来说,SSD的更快,更轻,更安全,适应性更强的特点都极具吸引力。目前由于成本较高,正在逐渐普及到企业及普通用户市场。新一代的固态硬盘普遍采用最新的SATA接口。
SSD存储单元又分为两类:SLC(Single Layer Cell单层单元)和MLC(Multi-Level Cell多层单元)。SLC的特点是成本高、容量小、但是速度快,而MLC的特点是容量大成本低,但是速度慢。MLC的每个单元是2bit的,相对SLC来说整整多了一倍。不过,由于每个MLC存储单元中存放的资料较多,结构相对复杂,出错的几率会增加,必须进行错误修正,这个动作导致其性能大幅落后于结构简单的SLC闪存。Flash闪存芯片又分为NOR和NAND,相比而言,NOR的读速度比NAND稍快一些,NAND的写入速度比NOR快很多,现在主要使用的是NAND芯片。
一般来说,SSD的最大优势在于随机读性能上,速度大约是现在主流SATA或SCSI硬盘的十几倍。最大的劣势在于随机写,因为其抹除一定是一整个区块,一般来说都是设置某一区中的所有位为“1”,之后才能在需要的位上写入“0”,所以导致随机写的性能只有其读性能的1/100。顺序读或写与传统硬盘基本持平。因为大型应用程序中(如大型数据库应用),随机读写的概率是非常大的,因此通常会认为解决SSD随机写性能的低下问题是最关键的。同时,其使用寿命也一直备受大家关注。SSD的读写次数是很有限的(通常在百万次左右),因此如果算法不当引起同一块频繁读写,该块会很快地损坏。为了解决SSD的这些问题,厂家可谓绞尽脑汁。研究各种写入算法,优化控制芯片,改良制造工艺等等。最近,SSD厂商又有新的动向:那就是在SSD中搭载大容量的缓存。随着SSD采用越来越大的缓存,随机写很大程度上被聚合,减少了写的次数,事实上随机写已经不再是制约SSD性能的最大因素了。
通过大量的测试数据分析,发现磁盘在实际应用中的访问是有一定规律性的,于给新的算法设定了以下几个大的原则:读写聚合,顺序读写聚合,相互交叉影响的进程分离。然后在传统的CFQ,Deadline算法的基础上改进实施这些原则,提出并实现一个专门针对SSD读写特性优化的示例算法,从而达到提升SSD整体读写性能上面。最后对新旧算法做了对比测试,以彰显新算法的优势。