论文部分内容阅读
相比于传统机械磁盘,基于闪存的固态盘由于在性能、能耗、可靠性和尺寸的绝对优势而被广泛应用于便携式计算机系统、桌面计算机系统、大型服务器系统以及高性能计算系统中.而基于NAND的固态盘存储系统中由于其特殊的物理存储特性,在上层IO请求分布到固态盘中时,闪存转换层会将每个IO请求按照页级规格划分为一个或者多个子请求在固态盘内部分别进行处理,因此其缓存系统内部会广泛存在非对齐的更新数据,这些非对齐的更新数据在存储时会带来额外的系统开销以及性能损耗.因此,对于固态盘的缓存系统而言,对这些非对齐的更新数据做针对性的优化并充分利用固态盘的存储性质进行优化,就变得十分重要.因此本文提出了一种面向固态盘缓存系统中非对齐更新数据进行合并的优化策略,核心思想在于将缓存系统中分布处理后的缓存数据节点按照对齐规格和非对齐规格划分为两个缓存区域,对于对齐规格的缓存数据节点实行优先写入的原则,对于非对齐规格的缓存数据节点则利用非对齐缓存区域进行缓存.且两个缓存区域都实行动态加载的缓存规则,即非对齐缓存区域中的节点可能会动态调整至对齐缓存区域中.因此当非对齐缓存区域的大小超过设定的页级规格阈值时,便会开始触发合并写回的操作.为了保证合并写回后满足上层IO请求的读写请求,本文提出的MFTL架构将闪存转换层中的映射系统设计为两个系统模块:页级映射模块和合并页映射模块.当发生合并写回操作时,系统会根据不同的写入情况对页级映射模块模块和合并页映射模块进行相应的映射规则调整操作;对于读取操作,需要根据页级映射模块进行判断,被分为singleread和multiread两种类型.同时,针对由于闪存特殊性质而导致的写更新操作所带来的额外读请求的损耗,MFTL映射系统通过保留页级映射模块的映射信息,可以在发生写更新时直接忽略额外读请求的处理.通过这种合并策略,可以减少固态盘的写入次数,同时优化写更新操作导致的额外读性能损耗,提高了固态盘存储系统的整体性能.实验结果表明,本文提出的基于固态盘缓存系统的非对齐更新数据合并策略可以利用固态盘读写性能不平衡的特性,通过牺牲影响较小的读性能,提高了写性能,从整体上优化了固态盘存储系统的性能.在不同负载的测试环境中,相比于FTL,MFTL可以减少最多28.6%的非对齐写操作,写请求操作平均反应时间最多减少了24.57%,并可以充分利用映射模块系统直接避免非对齐写更新操作所导致的额外读操作开销.