论文部分内容阅读
存储介质是计算机存储体系结构的基础。从磁带、软盘到机械硬盘,存储工业的每一次进步都带来了体系结构和系统软件层的进一步发展。近年来,随着闪存存储器芯片成本不断下降,各种基于闪存芯片的存储设备被大量使用。固态盘等形式的闪存设备,由于其可兼容传统存储系统,并具有高性能、低功耗等优点,被广泛使用在I/O密集型应用环境中替换传统机械硬盘。这类设备内部的闪存地址转换层(FTL)使其内部闪存特性对上层系统透明,使得传统文件系统及数据库系统软件等将闪存设备当作普通块设备使用,这造成了软硬件之间的设计冗余、策略冲突、协同缺失等问题。针对这些问题,本文对包括事务处理、并行I/O、存储入侵检测以及云存储缓存四个不同应用场景下基于闪存特性的存储优化进行了研究。论文的主要成果与贡献包括:1.针对事务处理应用场景,提出了基于闪存的软硬件协同分类事务处理机制Mobius。该机制利用了闪存异地更新特性,在设备内部同时支持传统数据库中的ACID事务以及日志文件系统中的弱事务,提出了静态事务和动态事务的概念。Mobius扩展了传统设备接口,针对不同类型的事务对上层软件直接提供相应的事务处理接口。对于静态事务的快速恢复,提出了基于有向无环图拓扑关系的静态事务提交协议。该提交协议是一种延迟提交协议,可以避免提交记录造成的额外写入。此外,在事务恢复时,Mobius可以避免大部分事务数据扫描,从而减少离线恢复时间,提高了数据可用性。2.针对并行I/O环境中出现的单个固态盘写悬崖造成的全局写性能下降问题,提出了可以自适应的细粒度数据放置策略。固态盘在持续写密集负载和可用空间少等情况下会出现写性能急剧下降的问题,称之为写悬崖。并行I/O环境下单个固态盘写悬崖会对全局性能造成影响。自适应的细粒度数据放置算法可以在写悬崖发生后将数据以细粒度的方式进行节点间迁移,避免了全局I/O性能下降。3.针对存储入侵检测应用场景,提出了基于闪存的存储入侵检测机制IDSSD。该机制利用闪存FTL层提高了查询存储层入侵检测规则的效率,同时还利用闪存的异地更新特性提供在垃圾回收时进行入侵检测的异步入侵检测机制,提高了检测性能。此外,利用异地更新特性,IDSSD还可以防止入侵检测发生后可能出现的数据覆盖,从而避免了入侵痕迹丢失的问题。与传统根据块级语义入侵检测规则实时重建文件级语义的方法相比,IDSSD在性能上有较大提高。4.针对云存储环境,设计并实现了基于USB闪存盘的云存储缓存系统。该应用技术使用云存储扩展闪存的容量,同时使用USB闪存盘缓存云端数据,从而实现了以云存储为后台的便携数据存储。该系统利用了闪存的I/O能力,作为云端数据的本地缓存,同时使用闪存盘硬件标识和用户密码配合作为密钥获取云端数据,保证了数据安全性;此外,该系统内部使用DO-LRU缓存替换算法,可以有效的降低云存储使用费用。