论文部分内容阅读
固态硬盘采用闪存芯片作为存储介质,相比于以碟片为存储介质的机械硬盘,具有更高的读写性能。因此固态硬盘逐渐成为各种计算机的主流存储设备,被广泛应用到从嵌入式设备、个人计算机到高性能计算机等系统之中。但是目前其单盘容量还是远小于磁盘。为提高固态硬盘的存储容量,闪存芯片制造商致力于开发多级闪存以及3D堆叠技术。其中,多级闪存技术使得单个闪存单元中能够存储多比特数据;而3D堆叠技术则通过纵向扩展闪存芯片以增加闪存单元的体密度。然而多级闪存技术的使用也降低了闪存的可擦写次数和增加了闪存的读写延时;3D堆叠技术也导致闪存的写入方式发生重大改变。因此,针对新型高密度固态硬盘,通过挖掘其内在特性优化其寿命和性能,具有重要的学术意义和广泛的应用前景。利用闪存芯片的内在并行性和异构性,以延长固态硬盘寿命和提高其性能为目标,研究优化方法,本文主要的研究内容以及贡献如下:针对闪存单元状态的异构性,设计比特翻转策略改善闪存寿命。多级闪存技术在闪存单元中使用多种物理状态以存储多比特数据。MLC(Multi-Level Cell)闪存的闪存单元具有四种状态,这四种状态与四种双比特数据模式(‘00’,‘01’,‘10’,‘11’)一一对应,从而实现双比特数据的存储。既有研究表明MLC闪存单元的四种状态在闪存单元磨损、数据可靠性、以及操作能耗方面都有显著的差异。基于此闪存单元数据表示的异构特性,提出在固态硬盘中对所需写入的数据进行比特级转换的技术,使得闪存单元状态转换时产生更少的磨损,并提升数据可靠性,进而增加闪存可擦写的实际次数。为此,探索了用于对所有数据模式进行转换的比特翻转策略,设计了比特翻转策略的实现机制,并分析了多种比特翻转策略对MLC闪存可擦写次数的提高效果。通过实验表明,在固态硬盘中引入比特翻转策略对数据进行转换可以最多减少28%的闪存单元磨损,并降低53%的数据长时间存放错误(Retention error)。针对闪存页类型异构性,设计页分配方法。闪存页是对闪存芯片进行读/写的基本单元,多级闪存技术的引入使得闪存页在写入性能上表现出了显著差异。具体而言,TLC(Triple-Level Cell)闪存页分为LSB(Least Significant Bit)、CSB(Central Significant Bit)和MSB(Most Significant Bit)三类,其中LSB页具有最短的写入延时,而MSB页具有最长的写入延时。通过分析发现,传统闪存页分配方式会忽略闪存页类型差异,导致大量用户写请求(超过60%)使用写入延时高的MSB页,增加了响应延时。基于此分析,提出感知闪存页类型差异的固态硬盘设计——PA-SSD(Page-type Aware SSD),其主要设计思想是:为每个用户写请求包含的子请求分配具有相同类型的闪存页,消除相关子请求间处理延时的差异,主动减少使用MSB页服务的用户写请求的数量。具体而言,PA-SSD的设计主要包括页类型指定策略以及指定页类型的页分配策略。其中页类型指定策略为用户写请求指定用户服务该请求的闪存页的类型,而指定页类型的页分配策略则根据子请求所属用户请求被指定的闪存页类型为其分配具体的闪存页。基于固态硬盘模拟器的实验结果表明,和现有固态硬盘相比,PA-SSD的写性能提升2.4倍、读性能提升1.5倍。针对闪存页类型异构性,设计写事务调度方法。固态硬盘中,用户写请求被分割为具有闪存页大小的写事务(也称子请求)并且被分配物理页号后,交由事务调度单元(Transaction Scheduling Unit,TSU)进行调度。在使用多级闪存的固态硬盘里,写事务由于所分配闪存页的物理类型差异,展现出显著的写入延时差异。分析表明,若写入延时长的写事务被优先服务将导致后续写事务的等待时间增加,最终使得队列中事务的平均响应时间延长;相反,若优先服务写入延时短的写事务,将使得队列的平均响应延时得以降低。基于此分析,提出基于闪存页类型的写事务调度策略——PATS(Page-type Aware Transaction Scheduling),优先服务写入延时短的写事务,并使用恰当的饥饿控制策略,避免长延时的写事务长时间不被服务。基于固态硬盘模拟器的实验表明,在PA-SSD上使用PATS调度策略能平均缩短30%的用户写延时。针对闪存类型异构性和并行性,设计联合感知的混合固态硬盘。由于TLC闪存不尽如人意的写入性能,以SLC(Single-Level Cell)闪存作为写入缓冲区的SLC-TLC混合固态硬盘方案成为改善固态硬盘性能的研究热点。通过对3D堆叠TLC闪存的一次性写入方式(One-shot programming)、以及混合固态硬盘中闪存的布局方式、闪存页的分配方式、以及数据的迁移策略进行分析,提出SLC闪存与并行度联合感知的混合固态硬盘设计——SPA-SSD(SLC and Parallelism Aware hybrid SSD)。其设计主要包含类型-并行度联合的闪存页分配方式(Type-Parallelism Joint Page Allocation,TPJ-PA)以及基于设备队列长度与并行能力的动态数据迁移策略(Queue-length and Parallelism Constrained Data Migration,QPC-DM)。TPJ-PA页分配方式的特点在于能够充分利用SLC闪存以及并行度,即使在只有部分闪存芯片提供SLC闪存的时候也能获得较高的性能;QPC-DM数据迁移策略的特点在于,当负载较轻时,可以在不影响用户写入性能的同时对部分闪存芯片发起数据迁移,从而改善后续用户请求的性能。使用混合固态硬盘模拟器HybridSim评估了SPA-SSD的性能。实验结果表明,TPJ-PA页分配方式可以提高60%写入吞吐率,而QPC-DM数据迁移策略则最多可以将写入吞吐率提高至10倍。