论文部分内容阅读
大数据时代对于存储系统容量、性能、能耗和可靠性的要求越来越高,但是计算机系统中以磁盘为主的存储系统性能与计算性能的差距却越来越大。闪存具有非易失、性能高、功耗小、抗震性好等优势,利用其构建闪存阵列为提高存储系统容量、克服存储性能瓶颈和增强存储系统可靠性带来了契机。虽然闪存或者基于闪存的固态盘与磁盘从构造和访问方式上都有很大区别,但是现有构建阵列的方法大多来源于磁盘存储系统,没有针对闪存的特性,不能很好地利用闪存的优势和改进其不足。基于此,本文针对闪存特点研究了闪存阵列构建及优化的关键技术。首先研究了闪存固态盘的性能优化技术;然后重点研究了基于固态盘的闪存阵列构建及优化技术。主要的工作及创新如下:1)提出了一种扩展闪存固态盘内部并行层次的双页访问模式闪存固态盘由很多闪存芯片组成,具有丰富的内部并行,有效挖掘并利用这种并行是提升闪存固态盘性能的主要手段,也是固态盘具有比磁盘更好性能的重要原因之一。以往有很多研究从不同角度包括固态盘内阵列组织、数据布局、请求调度等来挖掘、利用固态盘内的这种并行。然而,目前固态盘内部的并行被限制在plane层面。我们在plane层面并行的基础上进一步扩展了固态盘的内部并行层次,提出了可以同时访问一个block中两个页的双页访问模式。实验结果表明,支持双页访问模式的固态盘,对I/O请求的平均响应时间比不支持该模式的固态盘可以减少38%。2)提出了面向闪存固态盘阵列构建的半动态条带化方法传统的基于校验信息的独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)技术采用静态条带化方法,如果将其用在固态盘上,由于固态盘不能定点更新,随机小写负载会给基于固态盘的阵列系统带来更多写操作,严重制约系统性能并且损耗固态盘的寿命。而在磁盘阵列系统中提出的基于日志结构的方法,通过动态组织条带可以减少由随机小写造成的校验信息频繁更新。但是,该动态条带化的方法需要一个目录来记录所有数据块的位置,导致空间开销大,寻址效率低。本文提出了一种半动态条带化方法,可以将对不同固态盘的连续或非连续的请求组织在一个条带中,减少了校验信息的更新,同时保持了与静态条带化相同的寻址效率。实验结果显示,在随机写为主的负载中,采用半动态条带化方法构建的固态盘阵列相比传统基于固态盘的阵列系统,平均响应时间可以减少65%,固态盘的寿命可以延长31%。3)提出了基于闪存固态盘阵列的动态冗余管理机制Web、Mail等很多应用的数据流中存在大量的冗余,当前的闪存存储系统中广泛使用重复数据删除技术来改进写性能和提高固态盘的寿命;同时又采用以RAID为代表的冗余技术来改进读性能和增强可靠性。这两种技术看似矛盾,却又存在于同一个系统,不仅会造成管理的浪费,甚至有可能相互制约而影响整个系统。针对该问题,本文提出了R-Dedup,一种在闪存固态盘阵列系统中基于内容感知的动态冗余管理机制,通过评估系统实时性能、可靠性、持久性和空间利用率动态地管理系统中的副本数,以便更好地在这些需求间进行权衡。实验结果表明相比传统的闪存阵列,采用了R-Dedup策略后,读写性能最多可以提高18%和20%,固态盘的寿命可以延长20%,而可靠性没有损失。4)提出了闪存固态盘阵列的盘间损耗均衡策略闪存擦除次数有限,基于闪存的固态盘采用了损耗均衡机制使闪存中的某些block不会因为过早老化而导致容量下降。但是,在基于固态盘的闪存阵列中并没有盘间的损耗均衡策略,这使得阵列中的某些固态盘会比另外一些更快地被损耗,严重影响系统的可靠性和寿命。针对该问题,本文提出了闪存阵列中盘间的损耗均衡策略。通过动态调整不同固态盘上的校验信息分配比例均衡写负载,使不同固态盘之间的损耗趋于均衡,延长整个阵列系统的寿命。实验结果显示,在各种负载下,采用盘间损耗均衡策略都可以大大缩小盘间损耗程度差异;同时,因为损耗均衡还起到了负载均衡的效果,所以I/O平均响应时间相比没用该策略之前也可以减少10%到15%。