计算机应用   2017, Vol. 37 Issue (5): 1217-1222  DOI: 10.11772/j.issn.1001-9081.2017.05.1217
0

引用本文 

陈震, 刘文洁, 张晓, 卜海龙. 基于磁盘和固态硬盘的混合存储系统研究综述[J]. 计算机应用, 2017, 37(5): 1217-1222.DOI: 10.11772/j.issn.1001-9081.2017.05.1217.
CHEN Zhen, LIU Wenjie, ZHANG Xiao, BO Hailong. Review on HDD-SSD hybrid storage[J]. JOURNAL OF COMPUTER APPLICATIONS, 2017, 37(5): 1217-1222. DOI: 10.11772/j.issn.1001-9081.2017.05.1217.

基金项目

国家自然科学基金青年科学基金资助项目(61303037);国家863计划项目(2015AA015307);国家自然科学基金资助项目(61472323);中央高校基本科研业务费专项(3102015JSJ0009)

通信作者

陈震,18713211390@163.com

作者简介

陈震 (1991-), 男, 安徽安庆人, 硕士研究生, 主要研究方向:云存储、海量存储;
刘文洁 (1976-), 女, 陕西西安人, 副教授, 博士, 主要研究方向:云计算、大数据处理、海量分布式数据库;
张晓 (1978-), 男, 陕西西安人, 副教授, 博士, 主要研究方向:云存储、海量存储;
卜海龙 (1989-), 男, 陕西韩城人, 硕士研究生, 主要研究方向:云存储、海量存储

文章历史

收稿日期:2016-07-15
修回日期:2016-12-06
基于磁盘和固态硬盘的混合存储系统研究综述
陈震, 刘文洁, 张晓, 卜海龙    
西北工业大学 计算机学院, 西安 710129
摘要: 大数据和云计算环境下海量增长的数据对存储系统的超高容量和体系结构带来了极大的挑战。目前存储系统的发展趋向于大容量、低成本和高性能,然而任何单一的存储器件如传统的机械磁盘(HDD)、固态硬盘(SSD)、非易失型性随机存储器等由于其固有的物理特性的限制,并不能满足以上的需求。将不同的存储介质混合组合成高效的存储系统是一个好的解决方法,固态硬盘作为一种高可靠性、低能耗、高性能的存储器被越来越广泛地运用到混合存储系统。通过将固态硬盘与传统磁盘进行组合,利用固态硬盘的高性能和传统磁盘低成本大容量的特点,能够为用户提供大容量的存储空间,保证系统的高性能,同时还能降低成本。通过阐述SSD与HDD混合存储系统的研究现状,对不同的SSD与HDD混合存储系统进行分类总结;然后针对缓存架构和设备同层架构这两种目前最流行的存储架构中涉及到的关键技术和不足进行讨论;最后对基于SSD和HDD的混合存储技术进行概括总结,并对今后该领域的研究重点和方向进行展望。
关键词: 固态硬盘    混合存储    磁盘    缓存    
Review on HDD-SSD hybrid storage
CHEN Zhen, LIU Wenjie, ZHANG Xiao, BO Hailong     
School of Computer Science, Northwestern Polytechnical University, Xi'an Shaanxi 710129, China
Abstract: The explosion of data in big data environment brings great challenges to the system structure and capacity of storage system. Nowadays, the development of storage systems tends to be large capacity, low-cost, and high performance. Meanwhile, storage devices such as conventional rotated magnetic Hard Disk Drive (HDD), Solid State Drive (SSD) and Non-Volatile Random Access Memory (NVRAM) have limitations caused by their intrinsic characteristics, leading to the fact that a single kind of storage device cannot meet the requirements above. Hybrid storage which utilized different storage medium was a good solution to this problem. SSD, as a kind of memory wiht high reliability, low energy consumption, high performance is more and more widely applied to hybrid storage system. By combining magnetic disk with the solid-state drives, the advantages of the high performance of SSD and the low-cost, high-capacity features of HDD were taken. The hybrid storage could provide users with large capacity of storage space, guarantee the system's high performance, at the same time reduced the cost. The current research status of the SSD-HDD hybrid storage system was described, different SSD-HDD hybrid storage systems were summarized and classified. In view of two different HDD-SSD hybrid storage architectures, the key technologies and insufficiencies of which were discussed. Prediction of trend and the research focus in the hybrid storage future were discussed at last.
Key words: Solid State Drive (SSD)    hybrid storage    magnetic disk    cache    
0 引言

大容量、低成本、高性能的存储系统设计一直是存储领域研究的热点,随着大数据云存储时代的到来,数据量呈爆炸式的增长对存储系统提出了更高的要求[1]:一方面存储系统既要能够在低成本前提下实现大容量存储[2]; 另一方面存储和计算之间的性能差距不断扩大[3],这就需要具有在海量数据规模下与计算性能相匹配的高性能数据访问能力。

然而与之矛盾的是,目前任何一种存储介质所构成的存储系统都不能同时满足上述的大容量、低成本和高性能等存储要求, 这主要是由目前的存储介质其固有的物理特性所决定的。本文将容量、成本、顺序性能、随机性能、寿命作为主要指标来观察不同类型存储器的性能,如图 1所示。

图 1 几种存储介质特性差异 Figure 1 Characteristics differences among several storage media

图 1中可以看出目前主流持久存储介质,如固态硬盘 (Solid-State Drives,SSD)、磁盘 (Hard Disk Drive,HDD)、非易失性随机存储器 (Non-Volatile Random Access Memory, NVRAM) 在容量、成本、性能、寿命等方面存在的差异,任何一种单一的存储介质都不能够覆盖所有的性能。

虽然为内存提供缓存或利用磁盘阵列 (Redundant Arrays of Independent Disks,RAID) 技术可以在一定程度上使系统性能在各个方面获得提高,但这种提高是有限的或是有代价的,比如可靠性的损失等。随着SSD技术的逐渐成熟与发展,低成本、性能佳、外形小、耐抗震的SSD[4]与传统磁盘构建成的混合存储系统收到业界的追捧, 相关研究逐渐展开。

本文将从以下几个方面展开:首先从混合存储系统的概念、基于SSD与HDD的混合存储系统研究现状进行介绍;接下来以目前主流的基于SSD和HDD的混合存储系统为例,对其中涉及的关键技术进行对比分析,重点讨论不同的当前主流的设计方法而不讨论实验平台、测试集和电路设计;最后对当前混合存储系统发展所存在的问题进行探讨,并对今后该领域的研究重点和方向进行展望。

1 混合存储系统简介

混合存储 (hybrid storage) 是一种数据存储方法[5],将具有不同特性的存储设备进行组合,根据数据访问特点和系统负载等情况,尽可能将数据请求交给最适合处理该请求的设备,进而提高整个系统的性价比、使用寿命、可靠性、容量等指标。

混合存储系统存在的原因是由于存取速度与设备价格成正比。最理想的情况是将所有数据都存储在高速设备上,但这样会增加成本。混合存储系统是利用低速设备大容量的特性将大部分的用户数据都存放在低速设备上,利用高速设备的访问时间短、处理延迟低等特性来接收或者响应数据请求。它的主要目标是使存储的数据充分利用不同存储介质的特性,在保证存储系统容量的同时尽可能地提高性价比。混合存储所采用的介质可以是非易失性随机访问存储器 (NVRAM)、不同转速的磁盘、SSD、磁带等。需要说明的是本文主要针对将SSD与HDD进行混合的存储系统分析。

2 基于HDD和SSD的混合存储系统研究现状

SSD作为一种新型存储介质,具有延迟低、体积小、低功耗等诸多优点,目前针对SSD的研究在闪存硬件原理[6]、内部架构[7]、性能[8]等诸多方面都已经积累了丰富的研究成果。随着近年来SSD技术的日渐成熟,利用SSD良好的性能与传统磁盘在性能上形成互补,设计大容量、低成本和高性能的混合存储系统成为存储领域当前的热点和重要方向。许多知名的企业诸如IBM[9]、NetAPP[10]、EMC[11]等均已经生产出了支持SSD的混合存储产品。目前流行的基于SSD和HDD的混合存储系统主要分为将SSD作为HDD的缓存的架构和将HDD和SSD作为设备同层架构。下文将针对这两种不同类型的架构对其中涉及的关键技术、应用场景、性能优化进行分析。

3 SSD作为磁盘的缓存架构

随着固态硬盘技术的迅猛发展,固态硬盘因其随机读取速度快、功耗低、抗震性好的特点并且容量相较传统的随机存取存储器 (Random-Access Memory, RAM) 有了不少的提高,因此将固态硬盘作为磁盘的缓存可以显著提高存储系统的访问性能。其基本原理是将SSD作为磁盘的cache,SSD中存放的数据是HDD存放数据的子集。其基本架构如图 2所示,混合存储系统的逻辑地址与磁盘中的物理地址是一一对应的,SSD中只是缓存了磁盘中的部分数据的拷贝。当有上层访问请求时,首先会在SSD中进行查找,如果该数据在SSD上,则直接返回数据;否则再去访问磁盘。目前国内外研究者已经对此作了大量的研究, 下面将对这些方法进行详细的探讨。

图 2 SSD作为HDD缓存的存储构架 Figure 2 Storage architecture of using SSD as cache of HDD

文献[12]提出了一个在Web服务器和客户端的环境下使用NAND闪存作为缓存的存储架构,专注降低主存能耗。其主要思想是将闪存作为在磁盘和动态随机存取存储器 (Dynamic Random Access Memory, DRAM) 之间一个二级的文件缓存,当上层I/O请求到达时,首先去一级缓存DRAM中查找,如果命中则直接返回数据,若没有命中则根据闪存哈希表判断该数据是否在二级Flash闪存缓存:如果数据在二级缓存,则返回数据,同时将该数据调进一级缓存;如果没有在二级缓存命中,则会从Flash缓存中选出一个块进行替换所缺块,并同时更新缓存哈希表。相比传统的仅仅只有DRAM一级的缓存,文献[12]方法减少了访问磁盘的次数,提高了命中率,降低整个主存的能耗以及延迟,从而提高I/O吞吐率,深入分析了在Web应用下读频繁操作以及访问延迟的特点,在不影响网络带宽的前提下降低整个主存的能耗。但是作者并没有考虑因闪存磨损造成的系统降低的可靠性以及垃圾回收机制[13-15]

针对这些问题,文献[16]在前文的研究基础上同样提出了一个使用闪存作为HDD的缓存存储架构,如图 3所示 (其中PDC (Primary Disk Cache (Page Cache)) 表示主存缓存、FCHT (FlashCache Hash Table) 表示闪存缓存哈希表、FBST (Flash Block Status Table) 表示闪存块状态表、FPST (Flash Page Status Table) 表示闪存页状态表、FGST (Flash Global Status Table) 表示闪存全局状态表)。文献[16]首先深入分析了不能将SSD替代目前磁盘的原因是由于基于闪存的文件系统需要一个专门的软件层执行文件系统原语,而这会导致垃圾回收的负载增加;另一方面如果将SSD整个代替磁盘存储,频繁更新的文件系统元数据结构将要被存放在缓存DRAM中,这将需要更大空间的DRAM。文献[16]在文献[12]的基础上提出将Flash二级缓存分为读缓存和写缓存两部分,读缓存基本不受写前擦除的影响,因此能够减少因先前擦除带来的延迟,增加了纠删码机制,提高了系统的可靠性。实验的结果表明其不仅降低了主存的能耗,还提高了整个系统的性能和可靠性。然而文献[16]并没有对数据的热度进行分类,因此这会造成大量的冷数据占据SSD缓存,同时也没有考虑到Flash缓存的利用率[17]和缓存的命中率[18]

图 3 闪存作为SDD缓存的存储构架[16] Figure 3 Storage architecture of using Flash as cache of SSD[16]

目前针对数据库系统中运用SSD作为存储[19-20]已经有大量的研究,文献[21]提出了一个在数据库系统中使用SSD作为二级缓存的策略,其基本原理是将SSD作为主存一级缓存和磁盘之间的二级缓存,以数据块粒度对数据热度进行判定,提出了一种称为温度感知 (Temperature-Aware Caching, TAC) 的页面替换策略,TAC追踪并记录一个块中页的访问情况作为块冷热的判断依据。将热数据块存放在SSD缓存中,将冷数据块存放在磁盘中,文献[21]深入地分析了以页为粒度进行对数据冷热程度的划分的缺点。相较以前的方法首次以数据块粒度对数据冷热进行判断,使得热点数据的识别更加精准,并由此对数据的存放作出更加准确的决定。

文献[22]首先实现了前文提出的二级缓存框架,并对其作出了改进,其中最主要的改进体现在脏页替换策略上,文献[22]提出了三种存在于一级缓存的脏页处理方法,分别称为Clean-Write (CW)、Dual-Write (DW) 和Lazy-Cleaning (LC) 三种写操作模式。CW模式是当一个脏页从主存缓存替换出来时仅仅只写入磁盘;DW模式则是同时将数据写入磁盘和二级缓存, 这与TAC模式是相同的;LC模式则是现将数据写入二级缓存,然后在合适的时候写回磁盘。文献[22]与TAC最大的不同体现在两个方面:首先当一个命中页在SSD和缓存中都修改时,TAC不会立马回收SSD中该页副本所占的空间,而后者会立马回收, 因此针对更新密集型的负载,TAC可能会浪费大量的SSD存储空间; 其次TAC在从磁盘读取页后会立马将该页写入SSD中,而这会导致尝试将页写入SSD线程和另外一个事务处理线程的锁争用,从而导致获取锁的时间提高。文献[22]在相同的实验环境下对比得出针对更新密集型的负载,LC写操作模式获得最佳的性能,对于读密集型负载DW、TAC和LC写操作模式具有相似的性能。

文献[23]提出了一个固态硬盘作为磁盘的两级存储架构,通过设置RAM上数据dirty和固态硬盘上的flashdirty标志位来保证多级缓存的数据一致性。主要讨论了固态硬盘上的置换算法,比较了近期最少使用算法 (Least Recently Used, LRU) 和先进先出算法 (First Input First Output,FIFO) 在固态硬盘上的优劣,指出LRU的栈式管理不能保证数据地址的连续性,会带来大量的随机写,而FIFO可以维持数据页面的连续性,有利于连续写。综上所述,以固态硬盘作为磁盘缓存的研究主要是依赖固态硬盘的高速读性能来提高存储系统的访问速度。这些研究主要都是根据页面的访问热度或者文件的访问热度将其在SSD上进行缓存,必然导致缓存一些价值低的页面,没有考虑SSD的磨损。

4 SSD与磁盘设备同层架构

目前将SSD和HDD用作同一级别的存储设备更为普遍,其主要原理是将SSD和HDD放在同一存储架构,对其进行统一编址,存储的总容量是SSD和HDD的容量之和,其存储架构如图 4所示,任何一份数据仅仅存储在SSD和HDD其中之一上。这种存储模型在数据库、Web应用等系统中运用非常广泛。

图 4 SSD与HDD设备同层架构 Figure 4 Storage architecture with SSD and HDD at the same layer

文献[24]首先提出了一个将SSD和HDD作为同级别存储的在线混合存储模型,其结构如图 5所示,模型主要聚焦于数据库系统,该模型根据页面的工作负载来决定将页面存放的磁盘类型,并根据迁移代价来决定是否将页面在SSD和HDD上进行迁移。具有读密集型的页放置在SSD上,而具有写密集型和频繁更新的页则放置在HDD上。因此其充分利用了两种磁盘各自的优势,相比传统的存储模型提升了读、写速度,降低了整个I/O开销。文章提出了一个基于最近的页面访问决定页面放置的算法,并且该算法能够自适应页面负载的变化。文章还提出了一个缓冲区页面替换算法。每个页面被放置在闪存读队列、闪存写队列、磁盘读队列、磁盘写队列中的一个,并根据闪存读队列、磁盘读队列、磁盘写队列、磁闪存写队列从高到低的优先级进行进行页面的置换。相较传统的LRU算法提高了I/O性能。文章通过与只有SSD和只有HDD的存储系统进行比较,性能均比较好。然而在HDD上的随机写和连续写开销并没有被考虑到,且文件内部的并行性[25]、芯片的擦除损耗[26]等并没有考虑在内。

图 5 SSD和HDD同层存储实例[24] Figure 5 Online hybrid storage model with SSD and HDD at the same layer[24]

文献[27]在文献[24]基础上提出了一种改进的混合存储模型,其结构如图 6所示,在文献[24]提到的模型中I/O统计涵盖了该页面自生成以来的所有访问请求,这必然会带来累积效应,这种累积效应会使得访问负载变化时不能快速响应。因此文献[27]引入了一个时间衰减因子,当一个页面的热度在冷热状态之间转换或者物理访问之间的时间间隔过长,那么将会根据衰减因子降低I/O代价计算的值对页面分类的影响并重置I/O统计值。这样就能避免统计的累积效应,对页面进行更加准确的分类,作出更加准确的判断。其次,为了能够得到更加准确的分类页面,在文献[24]的基础上为页面引入一个处于hot和cold中间的warm状态,避免那些偶尔变热的cold页面进行迁移,减少了不必要的迁移操作。文献[27]还将SSD与HDD容量的不同比例组合进行了研究,提出了性价比判别公式,还对HDD与SSD的比例从1:1、10:1到90:1作了详细的对比分析,并得出了在不同比例下使用达到最佳性价比的组合。实验结果表明,可以实现对数据页更准确的分类,可以有效地降低页面迁移代价,在较少的SSD存储条件下取得了显著的性能提升。

图 6 改进的SSD和HDD同层存储实例[27] Figure 6 Online hybrid storage model with improved SSD and HDD at the same layer[27]

文献[28]同样提出了一种将SSD和HDD作为同级别的混合存储架构模型。首先将SSD分为两类,一类是低性能的SSD即具有低延迟和低吞吐率,另一类是高性能的SSD具有低延迟和高吞吐率。针对不同类型的SSD给出了两种完全不同的方法。针对低性能的SSD采用两种不同的启发式优化算法:一种是将可执行文件和程序放置在SSD上,其余类型的文件则放在HDD上;另一种则是将随机访问的文件放置在SSD上而连续访问和兼具两者特点的文件放在HDD上,这是因为低性能SSD具有低吞吐率的特性。针对高性能的SSD则是将频繁访问的文件放置在HDD上,其主要原因是高性能SSD与HDD的吞吐率基本没有差距。其基本原理为以文件为数据粒度,根据文件的访问热度来决定将文件放置在SSD或HDD上。然而由于整个文件被放置在SSD或HDD上,因此并没有充分地考虑到文件内部访问的并行性。

文献[29]同样提出了一种将HDD与SSD的混合存储架构,在此基础上提出了一个文件冷热管理的算法,也是以文件为数据粒度,将访问频繁的文件定义为热文件并存放在SSD上,而访问频率低的文件被存储在HDD上。该系统有一个节点用于保存相关文件的信息,hot/cold文件管理系统部分根据该节点的信息决定文件存放的位置,文件系统创建一个哈希函数,哈希函数也是利用节点的信息定位文件的位置,并且当系统中的固态硬盘存储容量达到其本身容量的80%时,数据将会在SSD和HDD上进行迁移。

文献[30]提出一种以页为数据粒度的HDD和SDD同级别的混合存储模型,并且假定是在一个SSD容量有限和存储设备能够并行处理请求的情况下。文章主要聚焦页面分配问题,作者证明了数据分配问题是一个NP (Non-deterministic Polynomial) 完全问题,并提出了一个近乎最优的决定页面存储在哪个设备上的算法。由于是以页为数据粒度,因此文章考虑到了文件内部的并行性,其将一个文件内部不同的页面根据其冷热程度存放在不同的设备上实现并行。文献[30]还提出了一个用于评估存放代价的模型。相较以往的存储架构以更细的页为数据粒度在算法设计上更加复杂,但却更加科学, 因此在I/O性能上面获得了很大的提升。

目前大部分的数据仍然存储在磁盘介质中来提高事务处理的性能。在发生故障需要恢复时,有的数据库系统为事务日志、回滚段数据和临时表格配置了分离的存储空间,当一个事务更新一个数据对象时,该事务的日志将被创建并被存储用以事务恢复。因此这些存储空间的性能也是数据库中事务处理的一个重要瓶颈,文献[31]对此提出了一个SSD和HDD混合的离线存储方案,其基本思想是利用SSD很低的读写延迟,将数据库中的事务日志、回滚段数据和临时表格存放在SSD上,从SSD中读取日志比传统的从磁盘读取极大地提高了性能。

5 磁盘作为SSD的缓存架构

虽然SSD已具有优良的随机读性能,然而目前大多数的中低端的固态硬盘的随机写性能却低于传统的磁盘,另外频繁的写操作也会给固态硬盘带来磨损。因此国内外研究者提出使用传统的磁盘作为SSD的写缓存。文献[32]提出将HDD作为SSD的写缓存,基于以下两点的观察:首先许多被更新的块事实上只是更新了很小的一部分内容;其次一旦数据被写入块中,该块不会立即被再次读取。基于以上两点,文章提出将SSD上的页面更新以日志的形式缓存在磁盘上,最后根据页面的状态如写操作的阈值等,当达到一定的条件,再将其批量地迁移到SSD上,因此该方法充分利用了传统磁盘大容量和良好的随机写性能以及SSD优秀的随机读性能,同时降低了SSD的写操作,减少了SSD的磨损。实验的结果也表明,平均的I/O延迟降低了56%。

文献[33]在前文的基础上同样提出了一个将磁盘作为固态硬盘的写缓存架构,如图 7所示,确保所有的写操作第一时间发生在磁盘上,相较文献[32]提出了一个以页和块为数据粒度的迁移算法,将频繁读的页面迁移到SSD上以利用SSD良好的读性能,将写频繁的页存放在HDD上以减少对SSD的磨损。实验的结果表明系统降低了整个系统的I/O开销。

图 7 HDD作为SSD写缓存实例[33] Figure 7 Storage architecture of using HDD as write cache of SSD[33]

文献[34]专注存储系统的可靠性和高性能,提出了一个崭新的框架,其系统架构如图 8所示,将两个磁盘组成一个RAID1,并将这个RAID1作为固态硬盘磁盘阵列RAID4的写缓存,其中一个HDD作为RAID4的校验盘,而另外一个HDD则作为RAID4的写缓存,负责几乎所有的写请求,并且还充当了另一个磁盘失效时作为恢复的磁盘。由于HDD作为检验盘因此避免了SSD的校验更新操作。另外,RAID1组成写缓存又减少了针对SSD的写操作,同时利用RAID技术提高了存储系统的可靠性。

图 8 HPDA架构[34] Figure 8 Architecture of HPDA[34]

使用磁盘作为固态硬盘的缓存架构目前研究相对比较少,主要还是因为固态硬盘的价格原因,固态硬盘目前的性价比相对较低,因此还并不能取代传统的磁盘在存储系统中作为大容量存储器。

6 结语

Flash存储器的100%半导体兼容技术使得固态硬盘的性能和可靠性非常具有竞争力[35]。然而目前SSD还不能完全取代传统的磁盘,因此结合传统的磁盘利用各自性能的优势组合成的高效混合存储系统是一个很好的选择。本文分析了目前这类流行混合存储系统中涉及的关键技术。然而仍然存在一些有待突破的问题,SSD固有的写前擦除的特性以及受限制的写寿命仍然是影响混合存储系统性能的一个非常关键的因素,虽然对此国内外学者提出一些相应的解决方法,但是并没有获得很好的突破。其次混合存储系统中针对数据的热度识别技术也不够成熟,虽然在不同的粒度下提出了一系列相应的热点数据识别方法,但对于热点数据的识别仍然不够精确。这些问题将依旧是今后研究的重点。

另一方面随着大数据、云计算环境下海量增长的数据以及新型存储器的诞生与发展,存储系统迎来了新的挑战,大量的新型非易失型存储诸如铁电存储器 (Ferroelectric RAM,FeRAM)、磁性存储器 (Magnetic RAM,MRAM)、自旋转移力矩存储器 (Spin-Transfer Torque RAM,STT-RAM)、相变存储器 (Phase Change Memory,PCM)、阻变存储器 (ResistIve RAM,RRAM)、赛道存储器 (Domain-Wall Memory,DWM) 等[36-37]的出现给未来的混合存储系统带来了新的机遇。利用新型存储器良好的写性能、固态硬盘良好的读性能和传统磁盘大容量低成本的特性组合成的混合存储系统可能是未来发展的方向。利用这些存储器件各自的性能优势组合成的混合存储系统将在性能和可靠性方面均有很大提高而成本大幅下降,能够满足目前大数据、云计算环境下对存储系统的需求。

参考文献
[1] 祝青, 李小勇. 混合存储综述[J]. 微型电脑应用, 2013, 29(2): 33-38. ( ZHU Q, LI X Y. A review on hybrid storage[J]. Microcomputer Applications, 2013, 29(2): 33-38. )
[2] MEGIDDO N, MODHA D S. ARC:a self-tuning, low overhead replacement cache[C]//Proceedings of the 2nd USENIX Conference on File and Storage Technologies. Berkeley, CA:USENIX Association, 2003:115-130.
[3] WU X, REDDY A L N. Exploiting concurrency to improve latency and throughput in a hybrid storage system[C]//Proceedings of the 2010 IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems. Piscataway, NJ:IEEE, 2010:14-23.
[4] GUPTA A, KIM Y, URGAONKAR B. DFTL:a flash translation layer employing demand-based selective caching of page-level address mappings[J]. ACM Sigplan Notices, 2009, 44(3): 229-240. doi: 10.1145/1508284
[5] LEVY R S. Hybrid storage system:U.S. Patent 8315995[P]. 2012-11-20.
[6] DIRIK C, JACOB B. The performance of PC Solid-State Disks (SSDs) as a function of bandwidth, concurrency, device architecture, and system organization[J]. ACM SIGARCH Computer Architecture News, 2009, 37(3): 279-289. doi: 10.1145/1555815
[7] AGRAWAL N, PRABHAKARAN V, WOBBER T, et al. Design tradeoffs for SSD performance[C]//Proceedings of the 2008 USENIX Annual Technical Conference. Berkeley, CA:USENIX Association, 2008:57-70.
[8] JIANG S, CHEN F, ZHANG X. CLOCK-Pro:an effective improvement of the CLOCK replacement[C]//Proceedings of the 2005 Annual Conference on USENIX Annual Technical Conference. Berkeley, CA:USENIX Association, 2005:323-336.
[9] GURUMURTHI S, SIVASUBRAMANIAM A, NATARAJAN V K. Disk drive roadmap from the thermal perspective:a case for dynamic thermal management[J]. ACM SIGARCH Computer Architecture News, 2005, 33(2): 38-49. doi: 10.1145/1080695
[10] LIN L, ZHU Y, YUE J, et al. Hot random off-loading:a hybrid storage system with dynamic data migration[C]//Proceedings of the 2011 IEEE 19th Annual International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems. Piscataway, NJ:IEEE, 2011:318-325.
[11] LALIBERTE B. Automate and optimize a tiered storage environment-FAST![EB/OL].[2016-10-20]. https://wenku.baidu.com/view/1a4d651902768e9951e738af.html.
[12] KGIL T, MUDGE T. FlashCache:a NAND flash memory file cache for low power Web servers[C]//Proceedings of the 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems. New York:ACM, 2006:103-112.
[13] UCHIGAITO H, MIURA S, NITO T. A control scheme for eliminating garbage collection during highspeed analysis of big-graph data stored in NAND flash memory[C]//Proceedings of the 2015 IEEE International Symposium on Circuits and Systems. Piscataway, NJ:IEEE, 2015:2557-2560.
[14] LIU R S, CHUANG M Y, YANG C L, et al. Improving read performance of NAND flash SSDs by exploiting error locality[J]. IEEE Transactions on Computers, 2016, 65(4): 1090-1102. doi: 10.1109/TC.2014.2345387
[15] SUTARDJA S. Method and apparatus for accessing data stored in a storage system that includes both a final level of cache and a main memory:U.S. Patent 9323688[P]. 2016-04-26.
[16] KGIL T, ROBERTS D, MUDGE T. Improving NAND flash based disk caches[C]//Proceedings of the 35th International Symposium on Computer Architecture. Piscataway, NJ:IEEE, 2008:327-338.
[17] TAI J, LIU D, YANG Z, et al. Improving flash resource utilization at minimal management cost in virtualized flash-based storage systems[EB/OL].[2016-10-20].http://doi.ieeecomputersociety.org/10.1109/TCC.2015.2424886.
[18] HUANG S, WEI Q, FENG D, et al. Improving flash-based disk cache with lazy adaptive replacement[C]//Proceedings of the 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies. Piscataway, NJ:IEEE, 2016:1-10.
[19] ATHANASSOULIS M, CHEN S, AILAMAKI A, et al. Online updates on data warehouses via judicious use of solid-state storage[J]. ACM Transactions on Database Systems, 2015, 40(1): Article No. 6..
[20] SADOGHI M, ROSS K A, CANIM M, et al. Exploiting SSDs in operational multiversion databases[J]. The VLDB Journal, 2015, 25(5): 651-672.
[21] CANIM M, MIHAILA G A, BHATTACHARJEE B, et al. SSD bufferpool extensions for database systems[J]. Proceedings of the VLDB Endowment, 2010, 3(1/2): 1435-1446.
[22] DO J, ZHANG D, PATEL J M, et al. Turbocharging DBMS buffer pool using SSDs[C]//Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data. New York:ACM, 2011:1113-1124.
[23] KANG W H, LEE S W, MOON B. Flash-based extended cache for higher throughput and faster recovery[J]. Proceedings of the VLDB Endowment, 2012, 5(11): 1615-1626. doi: 10.14778/2350229
[24] KOLTSIDAS I, VIGLAS S D. Flashing up the storage layer[J]. Proceedings of the VLDB Endowment, 2008, 1(1): 514-525. doi: 10.14778/1453856
[25] CHEN F, HOU B, LEE R. Internal parallelism of flash memory-based solid-state drives[J]. ACM Transactions on Storage, 2016, 12(3): 1-39.
[26] KANZA Y, YAARI H. External sorting on flash storage:reducing cell wearing and increasing efficiency by avoiding intermediate writes[J]. The VLDB Journal, 2016, 25(4): 495-518. doi: 10.1007/s00778-016-0426-5
[27] 杨濮源, 金培权, 岳丽华. 一种时间敏感的SSD和HDD高效混合存储模型[J]. 计算机学报, 2012, 35(11): 2294-2305. ( YANG P Y, JIN P Q, YUE L H. A time-sensitive and efficient hybrid storage model involving SSD and HDD[J]. Chinese Journal of Computers, 2012, 35(11): 2294-2305. )
[28] PAYER H, SANVIDO M A, BANDIC Z Z, et al. Combo drive:optimizing cost and performance in a heterogeneous storage device[EB/OL].[2016-10-20].http://www.cs.uni-salzburg.at/~ck/content/publications/conferences/WISH09-ComboDrive.pdf.
[29] CHEONG S K, JEONG J J, JEONG Y W, et al. Research on the I/O performance advancement of a low speed HDD using DDR-SSD[C]//Proceedings of the 6th International Conference Future Information Technology. Berlin:Springer, 2011:508-513.
[30] FISHER N, HE Z, MCCARTHY M. A hybrid filesystem for hard disk drives in tandem with flash memory[J]. Computing, 2012, 94(1): 21-68. doi: 10.1007/s00607-011-0163-y
[31] LEE S W, MOON B, PARK C, et al. A case for flash memory SSD in enterprise database applications[C]//Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data. New York:ACM, 2008:1075-1086.
[32] SOUNDARARAJAN G, PRABHAKARAN V, BALAKRISHNAN M, et al. Extending SSD lifetimes with disk-based write caches[C]//Proceedings of the 8th USENIX Conference on File and Storage Technologies. Berkeley, CA:USENIX Association, 2010:101-114.
[33] YANG P, JIN P, YUE L. Hybrid storage with disk based write cache[C]//Proceedings of the 2011 International Conference on Database Systems for Advanced Applications. Berlin:Springer, 2011:264-275.
[34] MAO B, JIANG H, WU S, et al. HPDA:A hybrid parity-based disk array for enhanced performance and reliability[J]. ACM Transactions on Storage, 2012, 8(1): 1-12.
[35] HE J, JAGATHEESAN A, GUPTA S, et al. DASH:a recipe for a flash-based data intensive supercomputer[C]//Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis. Washington, DC:IEEE Computer Society, 2010:1-11.
[36] 沈志荣, 薛巍, 舒继武. 新型非易失存储研究[J]. 计算机研究与发展, 2014, 51(2): 445-453. ( SHEN Z R, XUE W, SHU J W. Research on new non-volatile storage[J]. Journal of Computer Research and Development, 2014, 51(2): 445-453. doi: 10.7544/issn1000-1239.2014.20120928 )
[37] 张鸿斌, 范捷, 舒继武, 等. 基于相变存储器的存储系统与技术综述[J]. 计算机研究与发展, 2014, 51(8): 1647-1662. ( ZHANG H B, FAN J, SHU J W, et al. Summary of storage system and technology based on phase change memory[J]. Journal of Computer Research and Development, 2014, 51(8): 1647-1662. doi: 10.7544/issn1000-1239.2014.20131123 )