APP下载

自动分层存储的发展与展望

2014-03-18范里李小勇

微型电脑应用 2014年7期
关键词:存储系统容量可靠性

范里,李小勇

自动分层存储的发展与展望

范里,李小勇

从NVRAM技术、SSD技术、分层架构、分层技术等方面综合分析了自动分层存储的发展趋势,并对新一代分层存储-自动分层存储的相关理论和关键技术做了分析,自动分层存储系统应综合利用NVRAM、SSD和磁盘的特性进行一体化设计。

海量存储、网络存储、分层存储

0 引言

存储系统的性能提升一直是学术界和产业界研究的热点,这一研究在目前具有更加紧迫的需要:一方面,存储系统和计算机系统之间的性能差距呈不断扩大之势;另一方面,人类进入数字信息量呈爆炸性增长的时代,迫切需要低成本的大容量存储系统,也需要存储系统具有与数据规模相匹配的高性能访问能力。

基于RAM的Cache技术一直是缓解磁盘性能瓶颈,提高存储系统性能的重要手段[1]。其基本思想是将经常访问的数据保存在RAM中,尽量避免访问磁盘,从而实现以RAM的性能访问数据,这一技术在2000年后还获得大的发展[2]。该方法也是RAM和HDD(Hard Disk Drive)实现混合存储的一种方式。但基于RAM和HDD的混合存储面临两个主要问题:数据可靠性问题,由于RAM是易失性存储,掉电后数据将会丢失,这也是长期困扰存储系统可靠性的挑战问题;Cache有效性问题,目前计算机系统中HDD容量和RAM的容量比例呈不断扩大之势,使得基于RAM的Cache命中率呈不断下降之势,其提高性能的效果不断减弱。

近年来,SSD(Solid State Disk,也称为固态盘)的快速发展为提升存储系统性能提供了新的重大机遇。SSD以Flash为存储介质,具有随机读取速度快,功耗低,抗震性好等优点;但目前SSD还存在价格偏高,容量较小,并且存在写前擦除,耐久性等限制[3]。SSD和HDD良好的互补性为设计大容量、高性能、低成本的存储系统提供了崭新的机遇,该方向已成为目前学术界和产业界的研究热点。存储领域的顶级会议FAST在2011、2012年都有针对SSD的专题。从总体来看,目前该领域的研究还处于起步阶段,很多研究工作主要关注于认识、研究SSD的特性及内部结构;可公开检索到的关于SSD和HDD混合存储的少量文献[4][5],也仅仅提供了思路,缺少对关键技术的描述和测试论证,无法用于指导存储系统的设计。根据国际存储系统评测联盟SPC公布的资料,目前国际一流存储厂商的存储产品已开始使用SSD和HDD的混合存储[6][7][8];但由于缺乏公开文献,其内部实现机制、性能提升效果无从得知。

1 分层存储发展趋势

分层存储并不是一个新概念。在过去的十几年里,以UC Berkeley、CMU为代表的学术界,以及以NetApp、EMC、IBM为代表的企业界,都对利用各类新型的存储器件来改善系统性能、容量和可靠性一直进行着不断地研究和探索,涌现出了众多优秀的研究成果。近年来我国也有高校和研究机构开展了混合存储技术的研究,建立了较好的工作基础,取得了较好的研究进展。

1.1 NVRAM技术

从存储系统的国际发展动态过程来看,在20世纪90年代初,研究人员就已提出了利用NVRAM(Non-Volatile RAM)来提高存储系统可靠性和性能的方法[9]。NVRAM是增加了备用电池、或以大容量电容作为后备的小容量RAM,具有和RAM同样高的随机读写性能,但容量通常很小。基于NVRAM的特性,其主要被用于临时存储文件系统的日志数据。这些日志数据首先写入到NVRAM,当数据积累到一定量之后,再将其写入到磁盘。期间如果发生断电或宕机,系统重启后仍然可以从NVRAM中读出相关数据,将存储系统恢复到一致的状态。NVRAM的使用可以显著提高存储系统的可靠性,但由于其容量很小,对于需要大数据量写入的应用所带来的性能改进有限。在最近的几年中,下一代NVRAM如相变RAM(phase-change RAM,PCRAM或PCM),铁电体RAM(ferroelectric RAM,FeRAM),以及磁RAM(magnetic RAM,MRAM)等发展很快,这些NVRAM既不需要备用电源,也不需要像SSD那样执行写前擦除,具有很大发展潜力。随着新一代NVRAM技术的不断成熟,未来有望在混合存储系统中扮演重要的角色[10][11]。

1.2 SSD技术

SSD的发展是近年来存储技术最重要的成果之一。SSD基于Flash介质来存储数据,具有访问延迟低、体积小、质量轻、无噪声、低功耗等优点。近年来,随着制作工艺的进步,SSD的容量以每年翻一倍的速度递增,其价格也以每年40%~50%的速度递减,已开始进入大规模存储领域,成为存储系统突破性能瓶颈的根本手段。

在SSD属性认知和SSD内部结构优化方面,Agrawal等对SSD的内部架构、交叉存取、映射机制、空间回收、并行性等相关内容与机制进行了较为全面的介绍,指出了SSD设计过程中所面临的一些利弊权衡,并设计了一个理想化的SSD模拟器[12]。文献[13]较为详细地介绍了针对SSD的读、写、擦除等基本操作的流程,并在此基础上提出了基于交叉存取实现SSD高性能访问的方法。由于SSD的写入次数受限,成为影响其使用寿命,进而影响存储系统可靠性的最主要因素,因此很多研究关注于如何实现“损耗平衡”,即将写操作均衡地分配到每个存储块上,以避免个别块由于写入过于频繁而损坏。Wu等人提出基于统计计数的方法,即统计每个块的写入次数,如果该次数超过了SSD所有块的平均写入次数,则将该块重定向到其它写入次数较少的块[14];Chang等人提出了一种称作“双池算法”的损耗均衡策略,其思想是让损耗过高的块存放冷数据,以避免其损坏,但在损耗均衡发挥作用之前对存储块不做其它操作,这种算法的好处在于它不需要进行复杂的调整,而且可以降低由于数据迁移而导致的额外负载[15]。

1.3 分层架构

目前SSD与HDD实现混合存储系统的架构主要有两种方式:一种是将SSD作为HDD的缓存,以分层的方式搭建系统(缓存分层架构);另一种是将SSD和HDD设备放在同一层,作为存储系统的两个相对独立的存储设备来搭建系统(设备同层结构)。

缓存分层结构是将SSD完全作为HDD的Cache,SSD中的数据是HDD中数据的子集。因为SSD较RAM可以缓存更多的内容,所以存储系统的读性能得到提高;而且SSD的随机写入性能也远远高于HDD,所以可以用它来作为写缓存,然后将写入数据批量写入到HDD中,进而提高写性能。2008年,Taeho Kgil在FlashCache的研究基础上提出了如何在服务器平台中把Flash用作磁盘缓存[16]。2010年,Yang Liu提出了RAF(Random Access First)混合存储结构[17]。在读写分离的基础上提出优先缓存随机访问数据,从而实现了在提高系统性能的同时延长SSD的使用寿命。也有人提出基于MLC/SLC两种介质的缓存结构[18]。在网络存储环境中采用SSD作为本地缓存[19]。

设备同层结构是将SSD与HDD设备放在同一层,数据在SSD和HDD其中之一存储,根据访问频率在两种设备之间迁移。这样设计的优势是存储设备的存储容量得到充分利用,系统容量为SSD和HDD容量之和;同时将经常使用或最近访问的数据存放(或迁移)到SSD上,提高系统性能[20]。例如,UmbrellaFS将多种设备集合在统一命名空间下,实现了异种设备的混合存储[21];有研究提出根据最优化方法分配和存储数据块,从而使应用端可以并发地从所有的设备存取数据,以提高吞吐量,降低延迟[22];还有研究提出根据系统响应时间,来设计和优化数据在SSD和HDD之间的自动迁移策略和算法[23]。

1.4 分层技术

在混合存储系统中,理想状态是将需要频繁访问的数据保持在速度较快的SSD设备上。但由于数据的访问频度会随着时间而发生变化,而且SSD的容量也要远远小于HDD,因此必须要解决数据的分配、缓存和迁移问题。其中数据分配主要解决的是将数据存储到哪种设备上;数据缓存主要用来决定将哪些数据缓存在高性能存储介质上;而数据迁移是交换不同存储介质间的部分数据,以便更加有效地处理访问请求。这3种技术相互关联,以提高混合存储系统的整体性能,延长SSD使用寿命等为目标。

I/O特征流的识别也是混合存储中的关键技术之一,识别的准确性和效率也会直接影响到分配、缓存和迁移的效果。在该方向的研究中,HRO(Hot Random Off-loading)通过历史IO活动,包括随机性和热点程度来进行区分[24];EDT(Extent Based Dynamic Tiering)不仅仅通过IO计数,并且将LBA在之前LBA的512KB之内的IO请求被认为是连续的访问请求,在512KB之外的被认为是随机访问请求,减少了识别I/O特征所需要的空间开销[4]。

不同数据处理的粒度对于混合存储系统中数据分配、缓存和迁移的效果有直接影响,进而影响整个系统的性能。目前研究人员提出的各种SSD和HDD混合存储系统中,数据的粒度是不同的,有的是以文件为粒度进行数据的分配、缓存和迁移[24];有的粒度是卷级[25];还有的粒度是extend级,即一个可以指定的大小,如卷的一部分,采用这种粒度的系统有EDT[24],HybridStore[25]。

分配、缓存和迁移过程可以依据事先确定的规则和策略执行,也可以根据负载情况动态地进行。有些研究以性能为目标,其算法的选择更倾向于负载均衡以及多设备的并发以提高吞吐量,降低延迟[22];有些系统除了性能外还关注能耗,如EDT在满足性能要求的同时,还可以使动态能耗达到最小化[4]。

实现最优化的存储介质用量组合,在尽可能减小成本的同时达到系统的性能需求,也是混合存储设计中需要考虑的问题。典型的研究如Florida International与IBM research合作的EDT系统,可以根据系统的负载特性和要求达到的性能指标,推荐最小的成本的存储设备组合[4]。HybridStore是另一个考虑最优化配置组合的系统,提出了一种容量计划方法,使管理员在预算内得到大致的性能指标[5]。

2 分层存储技术展望

混合存储是指利用不同特性的非易失性存储器件而组成的高效存储系统。其目标是充分利用不同存储介质的特性,既能支持存储系统的容量可大幅扩展,又要在保持系统低成本的前提下,大幅提高存储系统的性能。

目前混合存储系统的研究已经得到了学术界和产业界的广泛重视,相关研究在各个方面已经有了较好的进展。但另一方面,一些关键问题还未获得突破,主要表现在:

1)在基于SSD和HDD的混合存储系统中,写入性能仍然较低,而且频繁的写入会影响到SSD的寿命并进而影响到存储系统的可靠性;

2)基于NVRAM和HDD的混合存储系统解决了系统的可靠性问题,但读性能问题仍然未获得解决;

3)混合存储系统中需要解决的关键问题如高效的热点数据及访问模式识别、数据放置策略及迁移算法等关键技术问题目前还未有成熟、通用的方案。

NVRAM 在处理写请求时具备良好的性能,可以用来为写请求加速,但其价格较高,容量较小,不足以为读请求加速;SSD 具备良好的随机性,尤其是随机读性能,可以用来为随机读请求加速,但由于自身固有属性的问题,不适合用来处理频繁的写入操作和大数据顺序访问操作;HDD的容量最大,每 GB 成本最低,但随机读写性能较低,不适合处理随机请求,但对顺序请求有很好支持,可以用来处理大数据的顺序访问。

综合采用NVRAM、SSD和HDD并进行一体化设计的混合存储系统,通过引入NVRAM,利用其高性能随机写入能力来减少写SSD的操作,从而解决当前混合存储系统所面临的可靠性和写入性能低下问题。

3 总结

通过利用NVRAM优异的随机写性能、SSD良好的随机读性能,以及HDD的大容量低成本优势,以解决现有混合存储系统所存在的可靠性和性能等方面的问题,为设计高性能、高可靠、低成本的混合存储系统提供了新的思路和方法:

1)基于NVRAM、SSD、HDD一体化设计混合存储系统,该方法能够突破已有混合存储系统在可靠性和性能方面的瓶颈,为高性能混合存储系统的设计探索出一种新的架构。

2)根据NVRAM、SSD、HDD的存储特性和数据I/O特征,研究设计新的混合存储系统的拓扑结构,数据的分配、缓存和迁移算法,以尽可能地发挥不同存储介质的不同优势,避开它们的不足,实现混合存储系统的性能、价格、容量、可靠性等多指标的平衡。

3)为云存储系统的自动分层存储管理研究做铺垫。

[1] L. A. Belady. A study of replacement algorithms for a virtual-storage computers. [J]IBM Systems Journal, 1966, Vol.5(2):78-101

[2] N. Megiddo and D. S. Modha. ARC: A Self-Tuning, Low Overhead Replacement Cache. In: [J]Proc 2nd USENIX Conference on File and Storage Technologies, 2003:115-130

[3] Feng Chen, David A. Koufaty and Xiaodong Zhang. Understanding Intrinsic Characteristics and System Implications of Flash Memory based Solid State Drives. In: [J]Proc 11th International Joint Conference on Measuement and Modeling of Computer Systems, 2009:181-192

[4] J. Guerra, H. Pucha, J. Glider, W. Belluomini and R. Rangaswami. Cost Effective Storage using Extent Based Dynamic Tiering. In: [J]Proc 9th USENIX Conference on File and Storage Technologies, 2011:20-33

[5] Y. Kim, A. Gupta, B. Urgaonkar, P. Berman and A. Sivasubramaniam. HybridStore: A Cost-Efficient, High-Performance Storage System Combining SSDs and HDDs. [J]In: IEEE 19th International Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Systems, 2011:227-236

[6] Taneja Group. The State of the Core - Engineering the Enterprise Storage Infrastructure with the IBM DS8000. [M]Technology In Depth, 2011

[7] Bob Laliberte. Automate and Optimize a Tiered Storage Environment –[M] FAST. ESG White Paper, December 2009

[8] Mark Peters. NetApp’s Solid State Hierarchy With a Focus on Flash Cache. [M]ESG White Paper, September 2009

[9] M. Baker, S. Asami, E. Deprit, J. Ousterhout and M. Seltzer. Non-Volatile Memory for Fast, Reliable File Systems. In: [J]Proc 15th International Conference on Architectural Support for Programming Languages and Operating Systems, 1992:10-22

[10] S. Kannan, A. Gavrilovska, K. Schwan, D. Milojicic and V. Talwar. Using Active NVRAM for I/O Staging. In: [J]Proc 2nd Petascale Data Analytics: Challenges and Opportunities, 2011:15-22

[11] S. Kang, S. Park, H. Jung, H. Shim and J. Cha. Performance Trade-Offs in Using NVRAM Write Buffer for Flash Memory-Based Storage Devices. [J]IEEE Transactions on Computers, 2009, 58(6):744-758

[12] N. Agrawal, V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse and R. Panigrahy. Design Tradeoffs for SSD performance. [J]In: Proc USENIX Annual Technical Conference, 2008:57-70

[13] C. Dirik and B. Jacob. The Performance of PC Solid-State Disks (SSDs) as a Function of Bandwidth, Concurrency, Device Architecture, and System Organization. [J]In: Proc 36th Annual International Symposium on Computer Architecture, 2009:279-289

[14] M. Wu and W. Zwaenepoel. eNVy: A Non-Volatile, Main Memory Storage System. [J]In: Proc 6th International Conference on Architectural Support for Programming Languages and Operating Systems, 1994:86-97[15] Li-Pin Chang. On Efficient Wear Leveling for Large-Scale Flash-Memory Storage Systems. [J] In: Proc ACM Symposium on Applied Computing, 2007:1126-1130

[16] Taeho Kgil, David Roberts and Trevor Mudge. Improving NAND Flash Based Disk Caches, [J]In: Proc 35th International Symposium on Computer Architecture, 2008:327-338

[17] Yang Liu, Jianzhong Huang, Changsheng Xie and Qiang Cao. RAF: A Random Access First Cache Management to Improve SSD-Based Disk Cache, [J]In: IEEE 15th International Conference on Networking, Architecture and Storage, 2010:492-500

[18] S. Hong and D. Shin. NAND Flash-based Disk Cache Using SLC/MLC Combined Flash Memory. [J]In: Proc International Workshop on Storage Network Architecture and Parallel I/Os, 2010:21-30

[19] E. V. Hensbergen and Ming Zhao. Dynamic Policy Disk Caching for Storage Networking. [M]Technical Report, RC24123, IBM Research, 2006.

[20] I. Koltsidas and S. D. Viglas. Flashing Up the Storage Layer. [J]In: Proc VLDB Endowment, 2008, 1(1):514-525

[21] John A. Garrison and A. L. Narasimha Reddy. Umbrella File system: Storage Management across Heterogeneous Devices. [M]ACM Transactions on Storage, 2009, 5(1):Article 3

[22] Xiaojian Wu and A. L. Narasimha Reddy, Exploiting concurrency to improve latency and throughput in a hybrid storage system, [J]In: Proc 18th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, 2010:14-23

[23] G. Zhang, L. Chiu, C. Dickey, L. Liu, P. Muench, S. Seshadri. Automated Lookahead Data Migration in SSD-enabled Multi-tiered Storage Systems. In: Proc 26th Symposium on Mass Storage and Technologies, 2010:1-6

[24] Lin Lin, Yifeng Zhu, Jianhui Yue, Zhao Cai and Bruce Segee. Hot Random Off-loading: A Hybrid Storage System With Dynamic Data Migration. [J] In: Proc 19th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, 2011: 318-325

[25] D. Teaff, D. Watson and B. Coyne. The Architecture of the High Performance Storage System(HPSS). [J]In: 21st CERN School of Computing, 1998:41-63

The Development and Prospect of Automated Tiered Storage

Fan Li1, Li Xiaoyong2
(1. Shanghai Storbridge Information Technology Co., Ltd. Shanghai 200233, China; 2. Shanghai Jiaotong University, Shanghai 200240, China)

This paper discusses development trend of automated tiered storage from view of NVRAM, SSD, tiered structure and tiered technology; then it points out that future automated tiered storage should be integration system designed with NVRAM,SSD and hard disk.

Mass Storage; Network Storage; Tiered Storage

TP393

A

1007-757X(2014)07-0040-03

2014.05.20)

范 里(1980-),男,上海圣桥信息科技有限公司,同济大学博士研究生,研究方向:海量存储与网络存储,上海 200233李小勇(1972-),男,上海交通大学,副教授,研究方向:海量存储与存储网络技术,上海 200240

猜你喜欢

存储系统容量可靠性
分布式存储系统在企业档案管理中的应用
水瓶的容量
可靠性管理体系创建与实践
天河超算存储系统在美创佳绩
合理使用及正确测试以提升DC/DC变换器可靠性
GO-FLOW法在飞机EHA可靠性分析中的应用
IQ下午茶,给脑容量加点料
5G通信中数据传输的可靠性分析
小桶装水
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统