论文部分内容阅读
数据量的激增给计算机存储系统带来严峻的性能挑战。固态盘作为新型存储介质,已被企业级存储系统和数据中心广泛使用,但简单地将传统存储软件应用于固态盘将带来一些新的问题,如将磁盘阵列技术应用于固态盘会加剧固态盘的垃圾回收操作所引发的性能波动性问题,将传统键值(Key Value,简称KV)存储系统部署于固态盘上也可能造成存储效率低下等问题。本文分别以黑盒和白盒的使用角度,分别对固态盘阵列和基于固态盘的KV存储系统进行研究。首先,对固态盘阵列的最优分块大小进行研究,理论分析和真实设备的性能测试结果表明,固态盘阵列的分块大小会对固态盘阵列的读写性能产生较大影响。基于分块大小与真实应用负载的读写密集特性分析结果,提出一种基于负载访问特性的多分块大小固态盘阵列(Multi-Chunk RAIS,简称MC-RAIS),根据负载访问特性对数据进行布局,综合多种分块大小的优势,提高了固态盘存储系统的性能。性能测试结果表明,相对于固定分块大小的固态盘阵列,MC-RAIS有效提高了 10%-20%的实时响应性能。其次,以白盒使用角度研究了基于固态盘的KV存储系统。Open-Channel SSDs是一种解决垃圾回收、负载均衡等问题的固态盘,即把固态盘白盒化,闪存块管理、数据布局、负载均衡以及垃圾回收等功能均可以由上层应用软件自主定制。在基于LightNVM的Open-Channel SSDs,提出一种提供部分文件接口功能和基于应用特性定制的闪存管理中间件(Open-Channel based File System middleware,简称OC-FS),连通上层KV数据库与底层存储设备,减少冗余I/O栈并整合上下层软件的垃圾回收操作,提高存储效率和性能。性能测试结果表明,OC-FS可以提升KV存储系统约50%的系统性能。上述性能优化的两个关键技术分别以黑盒和白盒的角度对固态盘存储系统进行了深入研究,详实的性能测试展示了其有效性和可用性,为业界解决类似问题提供了思路和启发。