单个固态盘存在随机写性能较差和擦写次数有限等缺陷,使用廉价盘冗余阵列(redundant arrays of inexpensive disks,RAID)技术将多块固态盘组织在一起有助于满足存储系统的高可靠、大容量、高性能的要求.然而,将RAID算法简单应用于固态盘阵列会遇到一些问题.首先分析了基于Flash的固态盘和RAID技术存在的缺陷,选取性能、可靠性和价格作为阵列构建方法的评价标准,并将随机写、小写、垃圾回收、负载均衡、擦除次数、磨损均衡、冗余度等问题作为分析重点;然后,从固态盘和Flash芯片2种构建粒度出发,分别论述了不同的构建方法并分析了各自的优缺点;最后,总结了不同构建方法并指出未来可能的研究方向.
Abstract:Flash-based solid state disks (SSDs) use flash memory chips as their storage media, which have the features of non-volatility, small size, light weight, high shock resistance, high performance, and low power consumption. Single SSDs have the drawbacks of poor random write performance and limited erase endurance. Organizing multiple SSDs with the RAID technology is promising in delivering high reliability, large capacity and high performance. However, researchers have demonstrated that applying RAID algorithms to SSDs directly does not work well and have proposed some SSD-aware RAID algorithms. In this paper, we first analyze the drawbacks of flash-based solid state disks and the RAID technology, and use performance, reliability and price as the evaluation criteria of the approaches to building SSD arrays, and choose random writes, small writes, garbage collection, load balance, erase/program cycles, wear leveling and redundancy levels as the analysis metrics. Then, we analyze and compare the advantages and disadvantages of two types of array building approaches on the disk level and the flash-chip level respectively. Finally, we summarize those different approaches and point out prospective research directions in the future.