基于固态盘特征的存储优化研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
由传统机械磁盘(Hard Disk Drive)构成的存储系统的I/O效率长期以来是整个计算机系统的性能瓶颈。尤其是在当前计算能力与需求不断提高的背景下,如多核处理器的广泛普及和大数据应用的出现,计算与存储系统之间的性能差距越来越大,I/O瓶颈问题也随之愈加严重。引起I/O瓶颈的主要原因在于机械磁盘(HDD)物理上的访问特点,如非随机性、寻道等待、旋转延迟等。近年来,基于闪存(Flash Memory)的固态盘(Solid State Drive)技术得到了很大发展,其生产成本已大大降低,性价比也已接近甚至优于HDD,因而在存储系统中逐渐被广泛采用了。与传统机械磁盘HDD不同,SSD完全由半导体芯片构成,没有机械部件,因而具有高性能、高可靠性、可随机访问、低功耗等特点。SSD技术有望消除存储系统的I/O瓶颈并给存储系统带来根本性变革。
     然而,尽管SSD具有明显的性能优势,但因其内部结构上的不同而具有不同的特征与缺点。其中最明显和最重要的特征是组成SSD的基本部件是一种可擦写可编程只读内存(EEPROM)芯片,使得SSD内存储芯片原地覆写(in-place update)的代价太高,并且只具有有限次的擦写次数(寿命)。因此,为了最大限度地利用所有构成芯片,SSD内部引入一个闪存转换层FTL(Flash Translation Layer)来完成逻辑地址到物理地址的转换、擦写损耗均衡以及垃圾回收等功能。随着半导体技术进一步成熟以及SSD在存储系统中的应用愈加广泛和重要,研究在现代存储系统中如何最大限度地利用SSD,与此同时避免其内在缺陷,具有重要研究意义。研究工作从以下几个方面对如何在现代存储系统中有效地应用SSD展开。
     (1)利用SSD不能原地更新写(out-of-place update)的特性,提出BVSSD,一种能够利用SSD内部已经被覆写(superseded)但仍然存在于其中的历史数据实现块级连续数据保护功能原型系统。与机械磁表面记录不同,SSD内的存储芯片支持读(read)、写(program)、擦除(erase)三种操作。存储芯片是由多层次结构构成的,主要包括页面、块、组、晶圆、芯片组成。其中读和写操作是以页面为单位,而擦除必须以整个块为单位。页而在被写入新的内容之前必须经过擦除操作。SSD在每次进行写操作之前,都先将数据写入到一个空闲且已擦除的页面,然后更新FTL映射表。BVSSD跟踪并保存FTL的历史变化过程,恢复时只需将对应的FTL映射表状态恢复到某历史时刻的状态即可将SSD的存储状态恢复至之前的状态。是一种非常轻量级的块级连续数据保护实现方式。
     (2)利用SSD内部丰富的并行性实现了一种新的针对固态盘的内核块层I/O调度器PASS。SSD内部是由多个芯片,每个芯片内部又是一种多层次结构,因而具有丰富的潜在并行性可以利用以获得较高性能。并行性主要包括通道级并行性、芯片间并行性、晶圆之间并行性以及块组之间的并行性。PASS将整个SSD的逻辑地址访问空间划分为若干个连续区域,并且以这样的区域为调度单元,每个调度单元与一个调度队列关联。PASS在内核块层将块请求按其访问的地址放入对应的队列,并采取预防读写干扰的措施。实验表明,这种按访问地址调度的I/O调度器确实挖掘了固态内部并行性并获得较好系统性能。
     (3)利用固态盘SSD与机械磁盘]HDD之间在性能、容量、成本、寿命等方面存在的互补优缺点,构建由固态盘和机械式磁盘组成的混合式存储系统HSStore。在HSStore系统中,固态盘作为磁盘上层的缓存空间而存在。请求分派器对到达的I/O请求进行监控并且将大的顺序写请求和小的随机写请求从缓存层过滤掉,直接将他们发送到磁盘上。并且跟踪缓存中未命中的读请求,若数据块的未命中次数超过一定阈值时,则数据迁移模块会将数据块从机械式磁盘上迁移到固态盘缓存中。通过利用这些方法,既增加了固态盘的有效缓存空间,又延长了其使用寿命。
     以上几方面的研究工作从不同的角度对固态盘(SSD)在存储系统中的应用进行了探讨。研究结果表明,固态盘(SSD)自身具有很大的潜在优势,若能在使用SSD的同时扬长避短,在系统设计中充分考虑其优缺点,将有助于进一步改善存储系统的性能。
Storage systems which are built on traditional mechanical Hard Disk Drives(HDD) have long suffered from the I/O bottleneck problem in computer systems. Especially, in the context of increasingly expanding of computing power and computing requirements which are for example driven by the emergence of multicore processors and big-data applications, the performance gap between processer and storage system is getting even bigger, aggravat-ing the I/O bottleneck problem. The main reason that is responsible for the I/O bottleneck lies in the access characteristics of HDDs, e.g., non-random access, platter seeking, rotating delay, etc. During the past decades, flash-based Solid State Drives(SSD) technology has improved drastically, with manufacture cost dropping significantly and performance/cost approaching or even better than that of HDD. As a consequence, SSD are gradually entering in storage systems and getting deployed widely. As opposed to HDDs, SSDs are completely composed of semiconduct technology and has no mechanical components. SSDs have a number of superior features, like high-performance, high-reliability, random access, low power consumption, etc. SSD technology has been projected to be able to eliminate the storage system I/O bottleneck and brings fundamental changes to storage systems.
     However, though SSDs have apparent advantages over HDDs, they have their own characteristics and idiosyncrasies due to their different structural organizations. One of the most outstanding and critical features is that the basic building blocks of SSDs are Electrically Erasable Programmable Read-Only Memory(EEPROM) chips, causing SSD to be inherently "out-of-place update" and have limited number of erase cycles (lifetime). To fully leverage all of the constituent chips as a whole, SSD introduces an intermediate layer called Flash Translation Layer(FTL) internally to perform functionalities like logical-to-physical address mapping, wear-leveling and garbage collection. As semiconduct technol-ogy steadily advances and widespread deployment and growing importance of SSDs in the storage systems, it is important and fruitful to conduct research on how to best utilize SSD in modern storage systems, while avoiding their shortcomings. This thesis has attempted to best utilize SSDs in storage systems and achieve the following results.
     (1) Taking advantage of the "no in-place update" idiosyncrasy of SSDs, we propose BVSSD, a scheme that preserves those internally superseded but lingering historical data to realize block-level Continuous Data Protection(CDP) functionality. In contrast to mechan-ical magnetic surface recording, SSDs support read, write(program) and erase operations. SSDs'storage chips are inherently a type of highly hierarchical structure, composed of page, block, plane, die and chip. Both read and write operations are page based, while erase oper-ation must be carried out in unit of blocks. Pages much be erased to be free before they can be rewritten. For each incoming write, SSD first allocates a free page and writes the data to the page. After that, it updates the FTL mapping table to reflect the new status. BVSSD keeps track of and preserves the FTL changing history and simply restores the FTL state to a previous timepoint when doing recovery. It is a lightweight implementation of continuous data protection.
     (2) A new SSD-oriented I/O scheduler named PASS is proposed with the underlying design of leveraging the rich parallelism within SSDs. SSDs are composed of multiple chips and each chip in turn is also composed of multi-layers, making rich parallelism available within SSDs which could potentially be leveraged to improve performance. Parallelism can be inter-channel, inter-chip, inter-die and inter-plane. PASS partitions the whole storage space into fixed size regions as basic scheduling units and associates a dedicated dispatching queue with each of the regions. PASS dispatches the incoming block write requests into their responsible dispatching queues according to their access addresses and adopts techniques to avoid read-write interference. Experimental results have demonstrated that PASS has better utilized the device internal parallelism and has improved performance.
     (3) A hybrid storage scheme named HSStore which comprises of both Solid State Drives(SSD) and mechanical disks is proposed to leverage the fact that SSD and mechanical disks have different and complementary merits and disadvantages. In HSStore, SSDs act as a cache layer above mechanical disks. The request dispatcher monitors the incoming I/O pattern and redirects both big sequential and small random writes to disk directly, bypassing the SSD cache layer. Furthermore, it also tracks those missing reads and instructs data mi-grator to copy those data blocks having high miss rate from disks to SSD. Thanks to these combining techniques, HSStore would utilize SSD space more effectively and extending its usage life in the mean while.
     Through the above investigations, this thesis presents comprehensive researches on the deployment of SSD in modern storage systems from different perspectives. It has been demonstrated that SSDs bear great potential in their usage in storage systems and if we can fully take their peculiarities into account in system designs and avoid their shortcomings at the same time, the I/O bottleneck problem could be greatly mitigated.
引文
[1]Narayanan D, Thereska E, Donnelly A, et al. Migrating Enterprise Storage to SSDs: Analysis of Tradeoffs, in:Proceedings of the 4th ACM European Conference on Computer Systems(EuroSys'09), Nuremberg, Germany, March,2009,145-158.
    [2]Claburn T. Google Plans To Use Intel SSD Storage In Servers. Online Available. http://www.informationweek.com/storage/systems/ google-plans-to-use-intel-ssd-storage-in/207602745.
    [3]Reinsel D, Janukowicz J. White Paper. Datacenter SSDs:Solid Footing for Growth. Online Available,2008. http://www.samsung.com/us/business/semiconductor/news/ downloads/210290.pdf.
    [4]Bez R, Camerlenghi E, Modelli A, et al. Introduction to Flash Memory, in:Proceed-ings of the IEEE,2003.
    [5]Grupp L M, Caulfield A M, Coburn J, et al. Characterizing Flash Memory:Anoma-lies, Observations and Applications, in:Proceedings of the 42nd International Sym-posium on Microarchitecture(Micro'2009), New York, USA, December,2009,24-33.
    [6]Agrawal N, Prabhakaran V, Wobber T, et al. Design Tradeoffs for SSD Perfor-mance, in:Proceedings of the 2008 USENIX Annual Technical Conference(USENTX ATC'08), Boston, MT, USA, June,2008,57-70.
    [7]Mohan V, Siddiqua T, Guramurthi S, et al. How I Learned to Stop Worrying and Love Flash Endurance, in:Proceedings of the 2nd USENIX Conference on Hot Topics in Storage and File Systems(HotStorage'10), Boston, MA, USA, June,2010,3-7.
    [8]Wu G, He X. Reducing SSD Read Latency via NAND Flash Program and Erase Suspension, in:Proceedings of the 10th USENIX Conference on File and Storage Technologies(FAST'12), San Jose, CA, USA, February,2012,117-123.
    [9]Wu Q, Dong G, Zhang T. Exploiting Heat-Accelerated Flash Memory Wear-Out Recovery to Enable Self-Healing SSDs, Portland, OR, USA. in:Proceedings of the 3rd USENTX Conference on Hot Topics in Storage and File systems(HotStorage'11), June,2011,22-26.
    [10]Lee S, Kim T, Kim K, et al. Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling, in:Proceedings of the 10tth USENIX Con-ference on File and Storage Technologies(FAST'12), San Jose, CA, USA, February, 2012,327-340.
    [11]Pan Y, Dong G, Zhang T. Exploiting Memory Device Wear-Out Dynamics to Improve NAND Flash Memory System Performance, in:Proceedings of the 9th USENIX Con-ference on File and Storage Technologies(FAST'11), San Jose, CA, USA, February, 2011,245-256.
    [12]胡洋.高性能固态盘的多级并行性及算法研究:[博士学位论文].武汉:华中科技大学,2012.
    [13]Chen F, Koufaty D A, Zhang X. Understanding Intrinsic Characteristics and Sys-tem Implications of Flash Memory based Solid State Drives, in:Proceedings of the 11th International Joint Conference on Measurement and Modeling of Computer Systems(SIGMETRICS'09), Seattle, WA, USA, June,2009,181-192.
    [14]Chen F, Lee R, Zhang X. Essential Roles of Exploiting Internal Parallelism of Flash Memory Based Solid State Drives in High-speed Data Processing, in:Proceedings of the 17th IEEE International Symposium on High Performance Computer Architec-ture(HPCA'11), San Antonio, Texas, USA, February,2011,266-277.
    [15]Understanding the Flash Translation Layer(FTL) Specification. Online Available. http://www.jbosn.com/download_documents/FTL_INTEL.pdf.
    [16]Hu X Y, Eleftheriou E, Haas R, et al. Write Amplification Analysis in Flash-Based Solid State Drives, in:Proceedings of the 2009 Israeli Experimental Systems Con-ference(SYSTOR'09), Haifa, Israel, May,2009.
    [17]Soundararajan G, Prabhakaran V, Balakrishnan M, et al. Extending SSD Lifetimes with Disk Based Write Caches, in:Proceedings of the 8th USENIX Conference on File and Storage Technologies(FAST'10), San Jose, CA, USA, February,2010,101-114.
    [18]Hu Y, Jiang H, Feng D, et al. Performance Impact and Interplay of SSD Parallelism through Advanced Commands, Allocation Strategy and Data Granularity, in:Pro-ceedings of the 25th International Conference on Supercomputing(ICS'2011), Tuc-son, Arizona, USA, May,2011,96-106.
    [19]Gupta A, Kim Y, Urgaonkar B. DFTL:A Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings, in:Proceedings of the 14th International Conference on Architectural Support for Programming Lan-guages and Operating Systems(ASPLOS'09), Washington, DC, USA, March,2009, 229-240.
    [20]Shin J Y, Xia Z L, Xu N Y, et al. FTL Design Exploration in Reconfigurable High-Performance SSD for Server Applications, in:Proceedings of the 23rd International Conference on Supercomputing(ICS'09), Yorktown, NY, USA, June,2009,102-114.
    [21]Lee S, Park D J, Chung T S, et al. A Log Buffer based Flash Translation Layer Using Fully Associative Sector Translation. IEEE Transactions on Embedded Computing Systems,2007,6(3).
    [22]Kang J U, Jo H, Kim J S, et al. A Superblock-based Flash Translation Layer for NAND Flash Memory. in:Proceedings of the 6th ACM & IEEE International Con-ference on Embedded Software(EMSOFT'06), Seoul, Korea, October,2006,49-59.
    [23]Lee S, Shiny D, Kim Y J, et al. LAST:Locality-Aware Sector Translation for NAND Flash Memory-Based Storage Systems, in:Proceedings of the lst International Work-shop on Storage and I/O Virtualization, Performance, Energy, Evaluation and De-pendability(SPEED'08), Salt Lake City, UT, February,2008,89-100.
    [24]Kim J, Kim J M, Noh S H, et al. A Space-Efficient Flash Translation Layer for CompactFlash Systems. IEEE Transaction on Consumer Electronics,2002,48(2):10-23.
    [25]Park C, Cheon W, Kang J, et al. A Rcconfigurable FTL(Flash Translation Layer) Architecture for NAND Flash-Based Applications. ACM Transactions on Embedded Computing Systems,2008,7(4):60-71.
    [26]Park S H, Ha S H, Bang K, et al. Design and Analysis of Flash Translation Lay-ers for Multi-Channel NAND Flash-based Storage Devices. IEEE Transactions on Consumer Electronics,2009,55(3):90-103.
    [27]Wu M, Zwaenepoel W. eNVy:A Non-Volatile, Main Memory Storage System, in: Proceedings of the 16th International Conference on Architectural Support for Pro-gramming Languages and Operating Systems(ASPLOS'94), San Jose, CA, USA, Oc-tober,1994,86-97.
    [28]Caulfield A M, Grupp L M, Swanson S. Gordon:Using Flash Memory to Build Fast, Power-efficient Clusters for Data-intensive Applications, in:Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems(ASPLOS'09), Washington, DC, USA, March,2009,217-228.
    [29]Andersen D G, Franklin J, Kaminsky M, et al. FAWN:A Fast Array of Wimpy Nodes, in:Proceedings of the 22nd ACM Symposium on Operating Systems Princi-ples(SOSP'09), Big Sky, MT, USA, October,2009,1-14.
    [30]Kim J, Seo S, Jung D, et al. Parameter-Aware I/O Management for Solid State Disks(SSDs). IEEE Transactions on Computer,2012,61(5):636-649.
    [31]Dunn M, Reddy A L N. A New I/O Scheduler for Solid State Devices. Technical Report TAMU-ECE-2009-02-3, Department of Electrical and Computer Engineering, Texas A&M University,2009.
    [32]Kim H, Ahn S. BPLRU:A Buffer Management Scheme for Improving Random Writes in Flash Storage, in:Proceedings of the 6th USENIX Conference on File and Storage Technologies(FAST'08), San Jose, CA, USA, February,2008,239-252.
    [33]Mina C, Kimb K, Choc H, et al. SFS:Random Write Considered Harmful in Solid State Drives, in:Proceedings of the 10th USENIX Conference on File and Storage Technologies(FAST'12), San Jose, CA, USA, February,2012,139-154.
    [34]Boboila S, Desnoyers P. Write Endurance in Flash Drives:Measurements and Anal-ysis, in:Proceedings of the 8th USENIX Conference on File and Storage Technolo-gies(FAST'10), San Jose, CA, USA, February,2010,115-128.
    [35]Zhou K, Huang P, Li C, et al. An Empirical Study on the Interplay Between Filesys-tems and SSD. in:Proceedings of the 7th IEEE International Conference on Net-working, Architecture, and Storage(NAS'12), Xiamen, China, June,2012,124-133.
    [36]Bouganim L, Jonsson B, Bonnet P. uFLIP:Understanding Flash IO Patterns, in:Proceedings of the 4th Biennial Conference on Innovative Data Systems Re-search(CIDR'09), Asilomar, CA, USA, January,2009,12-23.
    [37]Kim Y, Tauras B, Gupta A, et al. FlashSim:A Simulator for NAND Flash-based Solid-State Drives, in:Proceedings of the First International Conference on Advances in System Simulation(SIMUL'09), Porto, Portugal, September,2009,125-131.
    [38]Hu Y, Jiang H, Feng D, et al. Achieving Page-Mapping FTL Performance at Block-Mapping FTL Cost by Hiding Address Translation, in:Proceedings of the 26th IEEE Symposium on Massive Storage Systems and Technologies(MSST'10), Incline Vil-lage, Nevada, USA, May,2010,16-28.
    [39]Dirik C, Jacob B. The Performance of PC Solid-State Disks(SSDs) as a Func-tion of Bandwidth, Concurrency, Device Architecture, and System Organization, in:Proceedings of the 36th IEEE International Symposium on Computer Architec-ture(ISCA'09), Austin,Texas,USA, June,2009,279-289.
    [40]Chang Y H, Hsieh J W, Kuo T W. Endurance Enhancement of Flash-Memory Storage Systems:An Efficient Static Wear Leveling Design, in:Proceedings of the 44th Annual Conference on Design Automation(DAC'07), San Diego, CA, USA, June, 2007,212-217.
    [41]Chang L. On Efficient Wear Leveling for LargeScale FlashMemory Storage Sys-tems, in:Proceedings of the 22nd Annual ACM Symposium on Applied Comput-ing(SAC'07), Seoul, Korea, March,2007,1126-1130.
    [42]Chang L P, Kuo T W.Lo S W. Real-time Garbage Collection for Flash-memory Storage Systems of Real-time Embedded Systems. ACM Transactions on Embedded Computing Systems(TECS),2004,3(4):837-863.
    [43]Bovet D P, Cesati M. Understanding the Linux Kernel,3rd Edition. O'Reilly,2005.
    [44]Hu X Y, Haas R. The Fundamental Limit of Flash Random Write Performance: Understanding, Analysis and Performance Modelling. Technical report, IBM Re-search-Zurich,Switzerland,2010.
    [45]Gal E, Toledo S. Algorithms and Data Structures for Flash Memories. ACM Com-puting Survey,2005,37(2):138-163.
    [46]Chen F, Luo T, Zhang X. CAFTL:A Content-Aware Flash Translation Layer En-hancing the Lifespan of Flash Memory based Solid State Drives, in:Proceedings of the 9th USENTX Conference on File and Storage Technologies(FAST'11), San Jose, CA, USA, February,2011,77-90.
    [47]Gupta A, Pisolkar R, Urgaonkar B, et al. Leveraging Value Locality in Optimizing NAND Flash-based SSDs. in:Proceedings of the 9th USENTX Conference on File and Storage Technologies(FAST'11), San Jose, CA, USA, February,2011,91-103.
    [48]Wu G, He X. Delta FTL:Improving SSD Lifetime via Exploiting Content Locality, in:Proceedings of the 7th European Conference on Computer Systems(Eurosys'12), Bern, Switzerland, April,2012,253-266.
    [49]Jo H, Kang J U, Park S Y, et al. FAB:Flash-Aware Buffer Management Policy for Portable Media Players. IEEE Transactions on Consumer Electronics,2006, 52(2):485-493.
    [50]Park S, Jung D, Kang J, et al. CFLRU:A Replacement Algorithm for Flash Memory, in:Proceedings of the 2006 International Conference on Compilers,Architecture and Synthesis for Embedded Systems(CASES), Seoul, Korea, October,2006,234-241.
    [51]Debnath B, Subramanya S, Du D, et al. Large Block CLOCK(LB-CLOCK):A Write Caching Algorithm for Solid State Disks, in:Proceedings of the 17th IEEE International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems(MASCOTS'09), London, UK, September,2009,13-22.
    [52]Hu J, Jiang H, Tian L, et al. PUD-LRU:An Erase-Efficient Write Buffer Management Algorithm for Flash Memory SSD. in:Proceedings of the 18th Annual IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems(MASCOTS'10), Miami, Florida, August,2010,69-78.
    [53]Sun G, Joo Y, Chen Y, et al. A Hybrid Solid-State Storage Architecture for the Performance, Energy Consumption, and Lifetime Improvement, in:Proceedings of the 16th IEEE International Symposium on High-Performance Computer Architec-ture(HPCA'10), Bangalore, India, January,2010,1-12.
    [54]Liu R S, Yang C L, Wu W. Optimizing NAND Flash-Based SSDs via Retention Relaxation, in:Proceedings of the 10th USENIX Conference on File and Storage Technologies(FAST'12), San Jose, CA, USA, February,2012,125-136.
    [55]Zhang Y, Arulraj L P, Arpaci-Dusseau A C, et al. De-indirection for Flash-based SSDs with NamelessWrites. in:Proceedings of the 10th USENIX Conference on File and Storage Technologies(FAST' 12), San Jose, CA, USA, February,2012,1-14.
    [56]Patterson D A, Gibson G, Katz R H. A Case for Redundant Arrays of Inexpensive Disks(RAID). in:Proceedings of the 1988 ACM SIGMOD International Conference on Management of Data(SIGMOD'88), Chicago, Illinois, USA, June,1988,109-116.
    [57]冯丹.外存储系统并行性研究:[博士学位论文].武汉:华中科技大学,1997.
    [58]邓玉辉.基于网络磁盘阵列的海量信息存储系统:[博士学位论文].武汉:华中科技大学,2004.
    [59]周可.外存储系统数据组织与体系结构:[博士学位论文].武汉:华中科技大学,2004.
    [60]Kawaguchi A, Nishioka S, Motoda H. A Flash-Memory Based File System, in:Pro-ceedings of the USENIX 1995 Technical Conference(USENIX'1995), New Orleans, Louisiana, January,1995.
    [61]Woodhouse D. JFFS:The Journalling Flash File System, in:Proceedings of the 2001 Ottawa Linux Symposium(OLS'10), Ottawa, Canada), July,2001.
    [62]Manning C. YAFFS:Yet Another Flash File System, http://www.yaffs.net/,2004.
    [63]Josephson W K, Bongo L A, Flynn D. DFS:A File System for Virtualized Flash Storage, in:Proceedings of the 8th USENIX Conference on File and Storage Tech-nologies(FAST'10), San Jose, CA, USA, February,2010,85-99.
    [64]Badam A, Pai V S. SSDAlloc:Hybrid SSD/RAM Memory Management Made Easy, in:Proceedings of the 8th USENIX Symposium on Networked Systems Design and Implementation(NSDI'11), Boston, MA, USA, March,2011,16-27.
    [65]Park S, Shen K. FIOS:A Fair, Efficient Flash I/O Scheduler, in:Proceedings of the 10th USENIX Conference on File and Storage Technologies(FAST'12), San Jose, CA, USA, February,2012,155-169.
    [66]Kim J, Oh Y, Kim E, et al. Disk Schedulers for Solid State Drives, in:Proceedings of the 7th International Conference on Embedded Software(EMSOFT'09), Grenoble, France, October,2009,295-304.
    [67]Makatos T, Klonatos Y, Marazakis M, et al. Using Transparent Compression to Im-prove SSD-based I/O Caches, in:Proceedings of the 5th European conference on Computer systems(EuroSys'10), Paris, France, April,2010,1-14.
    [68]Prabhakaran V, Rodeheffer T L, Zhou L. Transactional Flash, in:Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementa-tion(OSDI'08), San Diego, CA, USA, December,2008,147-160.
    [69]Ouyangyz X, Nellansy D, Wipfely R, et al. Beyond Block I/O:Rethinking Tradi-tional Storage Primitives, in:Proceedings of the 17th IEEE International Symposium on High Performance Computer Architecture(HPCA'11), San Antonio, Texas, USA, February,2011,301-311.
    [70]Wei M, Grupp L M, Spada F E, et al. Reliably Erasing Data From Flash-Based Solid State Drives. in:Proceedings of the 9th USENIX conference on File and Storage Technologies(FAST'11), San Jose, CA, USA, February,2011,105-117.
    [71]Rosenblum M, Ousterhout J K. The Design and Implementation of A Log-structured File System. ACM Transactions on Computer Systems(TOCS),1992,10(1):26-52.
    [72]Saxena M, Swift M M. FlashVM:Virtual Memory Management on Flash, in: Proceedings of the 2010 USENIX Annual Technical Conference(USENTX ATC10), Boston, MA, USA, June,2010,187-200.
    [73]Zhang X, Davis K, Jiang S. iTransformer:Using SSD to Improve Disk Scheduling for High-performance I/O. in:Proceedings of the 26th IEEE International Parallel and Distributed Processing Symposium(IPDPS'2012), Shanghai, China, May,2012, 715-726.
    [74]Chen F, Jiang S, Zhang X. SmartSaver:Turning Flash Drive into a Disk Energy Saver for Mobile Computers, in:Proceedings of the 11th International Symposium on Low Power Electronics and Design(ISLPED'06), Tegernsee, Germany, October, 2006,412-417.
    [75]Kgil T, Mudge T. FlashCache:A NAND Flash Memory File Cache for Low Power Web Servers, in:Proceedings of the 2006 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems(CASES'06), Seoul, Korea, Oc-tober,2006,103-112.
    [76]Koltsidas I, Viglas S D. Flashing Up the Storage Layer, in:Proceedings of the 34th International Conference on Very Large Data Bases(VLDB'08), Auckland, New Zealand, August,2008,514-525.
    [77]Kgil T, Roberts D, Mudge T. Improving NAND Flash Based Disk Caches, in: Proceedings of the 35th IEEE International Symposium on Computer Architec-ture(ISCA'08), Beijing, China, June,2008,327-338.
    [78]Ren J, Yang Q. I-CASH:Intelligently Coupled Array of SSDs and HDDs, in:Pro-ceedings of the 17th IEEE International Symposium on High Performance Computer Architecture(HPCA'11), San Antonio, Texas, February,2011,278-289.
    [79]Chen F, Koufaty D, Zhang X. Making the Best Use of Solid State Drives in High Performance Storage Systems, in:Proceedings of the 25th International Conference on Supercomputing(ICS'11), Tucson, Arizona, USA, May,2011,22-32.
    [80]Mesnier M, Chen F, Luo T, et al. Differentiated Storage Services, in:Proceedings of the 23rd ACM Symposium on Operating Systems Principles(SOSP'11), Cascais, Portugal, October,2011,57-70.
    [81]Debnath B, Sengupta S, Li J. ChunkStash:Speeding Up Inline Storage Deduplica-tion Using Flash Memory, in:Proceedings of the 2010 USENIX Annual Technical Conference(USENIX ATC'2010), Boston, MA, USA, June,2010,215-229.
    [82]Lee S W, Moon B. Design of Flash-based DBMS:An In-page Logging Approach, in: Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data(SIGMOD'07), Beijing, China, June,2007,55-66.
    [83]Lee S W, Moon B, Park C, et al. A Case for Flash Memory SSD in Enterprise Database Applications, in:Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data(SIGMOD'08), Vancouver, Canada, June,2008, 1075-1086.
    [84]Lee S W, Moon B, Park C. Advances in Flash Memory SSD Technology for Enter-prise Database Applications, in:Proceedings of the 2009 ACM SIGMOD Interna-tional Conference on Management of Data(SIGMOD'09), Providence, Rhode Island, USA, June,2009,863-870.
    [85]Santry D S, Feeley M J, Hutchinson N C, et al. Deciding When to Forget in The Elephant File System, in:Proceedings of the 17th ACM Symposium on Operating Systems Principles(SOSP'1999), Charleston, SC, USA, December,1999,110-123.
    [86]Peterson Z N J, Burns R. Ext3cow:A Time-Shifting File System for Regulatory Compliance. ACM Transactions on Storage,2005, 1(2):190-212.
    [87]Ⅲ C B M, Grunwald D. Peabody:The Time Travelling Disk, in:Proceedings of the 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies(MSS'03), Boulder, CO, USA, April,2003,241-253.
    [88]Yang Q, Xiao W, Ren J. TRAP-Array:A Disk Array Architecture Providing Timely Recovery to Any Point-in-time, in:Proceedings of the 33rd Annual International Symposium on Computer Architecture(ISCA'06), Boston, MA, USA, June,2006, 289-301.
    [89]Available at:http://traces.cs.umass.edu/index.php/Storage.
    [90]Bucy J S, Schindler J, Schlosser S W, et al. The DiskSim Simulation Environment Version 4.0 Reference Manual. Technical report, Parallel Data Laboratory,Carnegie Mellon University,2008.
    [91]Caulfield A M, De A, Coburn J, et al. Moneta:A High-performance Storage Array Architecture for Next-generation, Non-volatile Memories, in:Proceed-ings of the 43nd Annual IEEE/ACM International Symposium on Microarchitec-ture(Micro'2010), Atlanta, Georgia, USA, December,2010,385-395.
    [92]Caulfield A M, Mollov T I, Eisner L A. Providing Safe, User Space Access to Fast, Solid State Disks, in:Proceedings of the 17th International Conference on Architec-tural Support for Programming Languages and Operating Systems(ASPLOS'2012), London, UK, March,2012,387-400.
    [93]Ruemmler C, Wilkes J. An Introduction to Disk Drive Modeling. IEEE Computer, 1994,27(3):17-29.
    [94]张江凌,冯丹.海量信息存储.科学出版社,2003.
    [95]毛波.盘阵列的数据布局技术研究:[博士学位论文].武汉:华中科技大学,2010.
    [96]Patterson R H, Gibson G A, Ginting E, et al. Informed Prefetching and Caching, in:Proceedings of the 15th ACM Symposium on Operating System Princi-ples(SOSP'95), Copper Mountain Resort, December,1995,79-95.
    [97]Ding X, Jiang S, Chen F, et al. DiskSeen:Exploiting Disk Layout and Access History to Enhance I/O Prefetch, in:Proceedings of the 5th USENIX Conference on File and Storage Technologies(FAST'07), San Jose, CA, USA, February,2007,261-274.
    [98]Gill B S, Modha D S. WOW:Wise Rrdering for Writes-Combining Spatial and Tem-poral Locality in Non-volatile Caches, in:Proceedings of the 4th USENIX Confer-ence on File and Storage Technologies(FAST'05), San Francisco, CA, USA, Decem-ber,2005,129-142.
    [99]Kroeger T M, Long D D E. Design and Implementation of a Predictive File Prefetch-ing Algorithm, in:Proceedings of the 2001 USENIX Annual Technical Confer-ence(USENIX ATC'01), Boston,MT, USA, June,2001,105-118.
    [100]Zedlewski J, Sobti S, Garg N, et al. Modeling Hard-Disk Power Consumption, in:Proceedings of the 2nd USENIX Conference on File and Storage Technol-ogy(FAST'03), San Francisco, USA, March,2003,217-230.
    [101]Gurumurthi S, Sivasubramaniam A, Kandemir M, et al. DRPM:Dynamic Speed Control for Power Management in Server Class Disks, in:Proceedings of the 13th International Symposium on Computer Architecture(ISCA'03), San Diego, Califor-nia, USA, June,2003,169-179.
    [102]Son S W, Chen G, Kandemir M. Disk Layout Optimization for Reducing Energy Consumption, in:Proceedings of the 19th ACM International Conference on Super-computing(ICS'05), Boston, MA, USA, June,2005,274-283.
    [103]Bisson T, Brandt S A, Long D D. A Hybrid Disk-Aware Spin-Down Algorithm with I/O Subsystem Support, in:Proceedings of the 26th IEEE International Per-formance Computing and Communications Conference(IPCCC'07), New Orleans, Louisiana,USA, April,2007,236-245.
    [104]Saxena M, Swift M M, Zhang Y. FlashTier:a Lightweight, Consistent and Durable Storage Cache, in:Proceedings of the 7th European Conference on Computer Sys-tems(EuroSys'12), Bern, Switzerland, April,2012,267-280.
    [105]Bhadkamkar M, Guerra J, Useche L, et al. BORG:Block-reORGanization for Self-optimizing Storage Systems, in:Proceedings of the 7th USENIX Conference on File and Storage Technologies(FAST'09), San Francisco.CA, USA, February,2009, 183-196.
    [106]Huang H, Hung W, Shin K G. FS2:Dynamic Data Replication in Free Disk Space for Improving Disk Performance and Energy Consumption, in:Proceedings of the 20th ACM Symposium on Operating Systems Principles(SOSP'2005), Brighton, UK, October,2005,263-276.
    [107]Koller R, Rangaswami R. I/O Deduplication:Utilizing Content Similarity to Improve I/O Performance, in:Proceedings of the 8th USENIX Conference on File and Storage Technologies (FAST'10), San Jose, CA, USA, February,2010,211-224.
    [108]Batsakis A, Burns R, Kanevsky A, et al. AWOL:An AdaptiveWrite Optimizations Layer, in:Proceedings of the 6th USENIX Conference on File and Storage Technolo-gies(FAST'2008), San Jose, CA, USA, February,2008,67-80.
    [109]Axboe J. Linux Block IO—Present and Future, in:Proceedings of the 2004 Linux Symposium, Ottawa, Canada, July,2004,51-61.
    [110]Seelam S, Romero R, Teller P. Enhancements to Linux I/O Scheduling, in:Proceed-ings of the 2005 Linux Symposium, Ottawa, Ontario, Canada, July,2005,175-192.
    [111]Lyer S, Druschel P. Anticipatory Scheduling:A Disk Scheduling Framework to Over-come Deceptive Idleness in Synchronous I/O. in:Proceedings of the 18th ACM Sym-posium on Operating Systems Principles(SOSP'01), Chateau Lake Louise, Banff, Canada, October,2001,117-130.
    [112]Hennessy J L, Patterson D A. Computer Architecture:A Quantitative Approach.The Fifth Edition.机械工业出版社,2012.
    [113]Axboe J. Blktrace User Guide. http://pdfedit.petricek.net/bt/file_download.php?file_id= 17 &type=bug.
    [114]Challenges and Opportunities with Big Data. Whitepaper. http://cra.org/ccc/docs/init/bigdatawhitepaper.pdf.
    [115]Huai Y, Lee R, Zhang S, et al. DOT:A Matrix Model for Analyzing, Optimizing and Deploying Software for Big Data Analytics in Distributed Systems, in:Proceed-ings of the 2nd ACM Symposium on Cloud Computing(SOCC' 11), Cascais, Portugal, October,2011.
    [116]Zhu Q, Chen Z, Tan L, et al. Hibernator:Helping Disk Arrays Sleep Through the Winter, in:Proceedings of the 20th ACM symposium on Operating Systems and Principles(SOSP'05), Brighton, United Kingdom, October,2005,177-190.
    [117]Barroso L A, Holzle U. The Case for Energy-Proportional Computing. Computer, 2007,40(12):33-37.
    [118]Gurumurthi S, Sivasubramaniam A, Natarajan V K. Disk Drive Roadmap from the Thermal Perspective:A Case for Dynamic Thermal Management, in:Proceedings of the 32nd Annual International Symposium on Computer Architecture(ISCA'05), Madison, Wisconsin, USA, June,2005,38-49.
    [119]Prabhakaran V, Balakrishnan M, Davis J D, et al. Depletable Storage Systems. in:Proceedings of the 2nd Workshop on Hot Topics in Storage and File Sys-tems(HotStorage'10), Boston, MA, USA, June,2010,8-12.
    [120]Kim Y, Gupta A, Urgaonkar B, et al. HybridStore:A Cost-Efficient, High-Performance Storage System Combining SSDs and HDDs, in:Proceedings of the 19th IEEE International Symposium on Modeling, Analysis and Simulation of Com-puter and Telecommunication Systems(MASCOTS'11), Singapore, July,2011,227-236.
    [121]Kaplan S F, McGeoch L A, Cole M F. Adaptive Caching for Demand Prepag-ing. in:Proceedings of the 2002 International Symposium on Memory Manage-ment(ISMM'02),2002,114-126.
    [122]Jiang S, Ding X, Chen F, et al. DULO:An Effective Buffer Cache Management Scheme to Exploit Both Temporal and Spatial Locality, in:Proceedings of the 4th USENIX Conference on File and Storage Technologies(FAST'05), San Francisco, CA, USA, December,2005,101-114.
    [123]Ren J, Yang Q. A New Buffer Cache Design Exploiting both Temporal and Con-tent Localities, in:Proceedings of the 30th International Conference on Distributed Computing Systems(ICDCS'10), Genoa, Italy, June,2010,273-282.
    [124]Megiddo N, Modha D S. ARC:A Self-tuning, Low Overhead Replacement Cache, in:Proceedings of the 2nd USENIX Conference on File and Storage Technolo-gies(FAST'03), San Francisco, CA, USA, March,2003,115-130.
    [125]Sehgal P, Tarasov V, Zadok E. Evaluating Performance and Energy in File System Server Workloads, in:Proceedings of the 8th USENIX Conference on File and Stor-age Technologies(FAST'10), San Jose, CA, USA, February,2010,253-266.