Journal of Computer Applications ISSN l0o1.9081 2017—05一l0 计算机应用,2017,37(5):1257—1262,1281 文章编号:1001-9081(2017)05-1257-06 CODEN JYIIDU http://www.joca.cn DOI:10.11772/j.issn.1001—9081.2017.05.1257 全程优化的固态硬盘垃圾回收方法 方才华 一,刘景宁 一,童薇 , ,高 阳 ,雷 霞 ,蒋瑜 (1.武汉光电国家实验室(华中科技大学),武汉430074;2.信息存储系统教育部重点实验室(华中科技大学),武汉430074) (}通信作者电子邮箱Tongwei@hust.edu.cn) 摘要:由于NAND闪存的固有限制,写前擦除和擦除粒度较大,基于NAND Flash的固态硬盘(SSD)需要执行垃 圾回收以重用失效页。然而垃圾回收带来的高开销会显著降低SSD的性能,也会直接影响SSD的寿命。特别是对于 频繁使用的有数据碎片的SSD,垃圾回收带来的性能下降问题将更为严重,现有的垃圾回收(GC)算法各自侧重垃圾 回收操作的某个步骤,并没有给出全面考虑各步骤对整体影响的综合方案。针对该问题,在详细剖析垃圾回收过程 的基础上,提出了一种全程优化的垃圾回收方法WPO-GC,在数据初始放置、垃圾回收目标块的选择、有效数据的迁 移、触发回收的时间点以及中断处理方式上,尽可能全面地考虑各步骤对SSD正常读写请求和寿命的影响。通过开 源模拟器SSDsim上的WPO.GC的有效性验证表明,同典型GC算法相比,WPO—GC可以减少SSD读请求延迟20%一 40%和写请求延迟l7%一40%。均衡磨损近3O%。 关键词:闪存;固态盘;垃圾回收;磨损均衡;使用寿命 中图分类号:TP333.35 文献标志码:A Whole process optimized garbage collection for solid・state drives FANG Caihua 一,LIU Jingning 一,TONG Wei , ,GAO Yang 一,LEI Xia 一,JIANG Yu , (1.Wuhan National Laboratoryfor Optoelectronics(Huazhong University ofScience and Technology),Wuhan Hubei 430074,Chia;n 2.研Laboratory ofInformation Storage System ofMin ̄try ofEducation(Huazhong University fScioence and Technology),Wuhan Hubei 430074,Chia)n Abstract:Due to NAND flash’inherent restrictions like erase-before-write and a large erase unit.flash—based Solid-State Drives(SSD)demand garbage collection operations to reclaim invalid physical pages.However,the high overhead caused by garbage collection signiifcantly decrease the performance and lifetime of SSD.Garbage collection performance will be more serious,especially when the data fragments of SSD are frequently used.Existing Garbage Collection(GC)algorithms only focus on some steps of the garbage collection operation,and none of them provids a comprehensive solution that takes into consideration all the steps of the GC process.On the basis of detailed analysis of the GC process.a whole process optimized garbage collection algorithm named WPO-GC(Whole Process Optimized Garbage Collection)was proposed,which integrated optimizations on each step of the GC in order to reduce the negative impact on normal read/write requests and SSD’lifetime at the greatest extent.Moreover,the WPO—GC was implemented on SSDsim which is an open source SSD simulator to evaluate its eficiency.The experfimental results show that the proposed algorithm can decreases read I/O response time by 20%一40% and write I/O response time by 17%一40%respectively,and balance wear nearly 30%to extend the lifetime,compared with typical GC algorithm. Key words:flash memory;Solid—State Drive(SSD);Garbage Collection(GC);wear—leveling;lifetime 0 引言 近年来,基于NAND Flash的固态硬盘(Solid.State Drive, SSD)因其性能高、功耗低、抗震性好等诸多优点获得广泛的 I/O时,若SSD是空盘,其每秒进行读写操作的次数(Input/ Output Operations Per Second,lOPS)能达到20万次,读、写延 迟分别为180 Ixs和2000 txs;但对SSD进行数据预埋和碎片 化处理后再进行相同的测试,其IOPS下降到6万次/s,读写 延迟上升了3~7倍,造成这种性能差距的直接原因是SSD 内部的垃圾回收(Garbage Collection,GC)操作。当SSD中用 于容纳异地更新的预留空间越来越少,就会频繁地触发垃圾 回收,导致正常的读写访问被阻塞。由于垃圾回收需通过块 擦除获得可用页,因此垃圾回收操作的执行频率也会对SSD 的寿命造成影响。 应用。由于NAND闪存异地更新的特点,写更新产生的无效 页需经由垃圾回收操作才能重新成为可用页。SSD的垃圾回 收操作涉及到目标块的选择、有效数据的迁移和块的擦除操 作 ,因而对SSD的读写性能和寿命都有很大的影响。 根据采用{jo 对Intel SSD DC P3700固态盘的测试结 果,当执行读写请求大小为4 KB、读写请求比例为7:3的随机 收稿日期:2016・07-15;修回日期:2016一l1—25。 基金项目:国家863计划项目(2015AA016701,2015AA015301);国家自然科学基金资助项目(61303046,61402189,61472153)。 作者简介:方才华(1994一),男,浙江三门人,硕士研究生,主要研究方向:大数据存储、固态存储、数据去重;刘景宁(1957一),女,湖北武 汉人,教授,博士,主要研究方向:固态存储、数据挖掘、分布式存储;童薇(1977一),女,湖北黄陂人,讲师,博士,主要研究方向:非易失性存储 器、输入/输出虚拟化;高阳(1992一),男,湖北广水人,硕士研究生,主要研究方向:大数据存储、键值对存储;雷霞(1993一),女,湖北仙桃 人,硕士研究生,主要研究方向:大数据存储、安全删除;蒋瑜(1993一),男,江苏常州人,硕士研究生,主要研究方向:固态存储、非易失存储器。 1258 计算机应用 第37卷 全程优化的垃圾回收方法(wh0le Process Optimized 1)何时触发垃圾回收操作?2)如何选择目标块?3)怎样安 置和迁移数据? 文件系统(NTFS和EXT4等) ● Garbage Collection,WPO—GC),从数据初始放置、垃圾回收目标 块的选择、有效数据的迁移位置、触发回收的时间点以及中断 处理方式上,全面优化与垃圾回收方面相关的各个步骤,有效 减少了SSD正常读写的响应延迟,同时提升了SSD的寿命。 闪存设备 ● 闪存转换层 百 面 垃圾回收 l 』 1 背景与动机 1.1 SSD的架构 【 、 ① 存储设备层 SSD主要由SSD控制器和闪存芯片构成,如图1所示。 SSD中的闪存控制器控制多个通道(Channe1),每个通道上挂 因瞥咎 占 . 载多颗闪存芯片(Chip) -6]。如图2所示,闪存芯片由多个 晶圆(Die)组成,每个晶圆又由多个分组(Plane)组成,每个分 组包含多个块(Block)。块是芯片擦除的基本单位,每个块包 含多个页(Page),页是芯片读写的基本单位。 Fig.1 Overall architecture of SSD 敝据寄存剁 敝据寄存别 敝据寄存 敝据寄存剁 块0 块0 块0 块0 l 页0 I l 页o l I页0 J l页0 l l I I ; l I ; I l l I页63 l I页63 l l页63 l J页63 l 块2047 块2047 块2047 块2047 I 页0 l l 页o l I页0 I I页0 l l l I ll ; I I ; l l页63 l l页63 I l页63 I I页63 1 分组0 分组1 分组0 分组1 晶圆0 晶圆1 闪存芯片 图2闪存芯片的架构 Fig.2 Architecture of lfash chip 1.2垃圾回收的机制 闪存芯片具有写前擦除的特性,更新数据时要采用异地 更新方式(旧数据成为无效页) J。为保证SSD的正常使用, 需要对无效页进行垃圾回收操作,即擦除选定的目标块以供 用户再次使用。由于闪存芯片的读写粒度(页单位)和擦除 粒度(块单位)不同,在擦除一个目标块之前,垃圾回收首先 需要迁移其有效数据页到其他块中。如图3所示,一次完整 的垃圾回收操作包括3个步骤:①选择要回收的目标块;②迁 移有效数据到其他块中;③擦除目标块。在数据迁移时,数据 的源物理页和目的物理页所处的芯片和通道均会被占用,在 随后执行块擦除操作时,虽然不会占用通道资源,但被擦除块 所处的芯片也会被占用。因此在SSD内部执行垃圾回收操 作过程中,上层向SSD发出的读写请求若要访问垃圾回收占 用的芯片或者通道资源 ’ ,其响应时间和吞吐率都会受到 较大影响。另外由于闪存芯片擦除次数有限的特性,垃圾回 收的执行频率会直接影响SSD的寿命。 在设计垃圾回收算法时通常需要考虑如下几个问题: ’、、 . 一一 图3垃圾回收操作的示意图 Fig.3 Schematic diagram of garbage collection operation 1.3相关工作 针对上述问题,现有垃圾回收算法提出不同的解决方法。 对于何时触发垃圾回收操作,文献[9]设置了一个表示 SSD空闲页比例的固定阈值,当空闲页比例小于该阈值时,触 发垃圾回收。这种方法的缺点在于:当垃圾回收被触发时。系 统中的空闲页比例已经很低,此时容易造成垃圾回收的频繁 执行。为避免垃圾回收的频繁触发,文献[10]在SSD空闲时 根据SSD当前的多个状态和统计值,如块擦除次数、页的状 态等,确认是否触发垃圾回收操作。该方法能够让垃圾回收 操作避开正常读写请求,最小化垃圾回收对SSD性能的影 响;其缺点在于:针对读写访问密集的应用,垃圾回收操作始 终不能有效进行,此外对SSD空闲时间的准确预测也很难实 现。文献[11]提出的GC算法允许用户I/O请求中断正在执 行的GC操作,待用户I/O请求完成后再恢复执行被中断的 GC进程,但是针对I/O密集型应用,垃圾回收操作可能会被 连续的I/0请求多次中断,难以及时有效回收SSD空间。为 避免垃圾回收的频繁触发,文献[12]设计了一个两级阈值的 方式,既能充分利用SSD的空闲时间进行垃圾回收,从而避 免后期垃圾回收的频繁触发,针对密集型应用,又能设计强制 GC保证SSD的空闲空间。 对于如何选择垃圾回收的目标物理块。贪婪算法选取该 垃圾回收请求对应Plane中无效页最多的块作为回收块。该 算法优点是能够最大限度地减少数据迁移量,提高垃圾回收 的效率;缺点是没有考虑回收块的擦除次数,容易导致块被过 早地擦穿,缩短固态盘的使用寿命。另一方面,基于损耗均衡 的Gc算法选择最少磨损的块作为回收块 ,但会增加Gc 迁移数据的开销。在GC过程中同时考虑回收块的无效页比 例和擦除次数常常是一对矛盾,为达到二者的平衡,文献 [14]利用块的有效页比例和擦除次数计算加权分,来选择合 适的回收块。但是其回收块选择机制是基于特定的Flash文 件系统(Flash File System,FFS),不具有普遍性。WECO (wEar COnscious) is]在文献[14]评分机制的基础上,对评分 公式作了优化并将其扩展到块设备,但是对有大量空闲页的 块,其评分机制不准确,会导致有较多空闲页和无效页的块被 选中回收,这样造成了低下的回收效率。 有效数据迁移的关键在于确定数据迁移安放的位置,一 个好的GC算法应通过分析迁移数据的温度等特点,重新规 划迁移数据的安放,使相近温度的数据聚集到一块中,提高垃 圾回收的效率。WECO提出一种数据分离策略,在数据迁移 第5期 方才华等:全程优化的固态硬盘垃圾回收方法 1259 过程中,能够分离冷热数据。该方法优点是提高垃圾回收的 效率和保护磨损严重的块,以增加使用寿命;其不足之处在于 冷热数据分离的算法复杂,开销较大。 文献[16]提出缓存感知的垃圾回收算法,当缓存进行替 换往下写时,考虑下层通道是否进行垃圾回收操作,避免对正 在进行的通道进行分发请求,以此减少响应等待时延,但这 不能从根本上减少垃圾回收带来的影响。 1.4动机 现有的Gc算法 ,都不能很好地解决垃圾回收对正 常读写请求的影响,都是针对垃圾回收的某一个步骤中的问 题作优化,例如只针对垃圾回收的触发条件 或者回收目 标块的选择¨ J,缺乏对GC的整体优化改进,更没有针对 数据的访问频率(温度)特点,防患于未然,在数据放置和迁 移时就提前考虑如何减少垃圾回收带来的影响问题。 为了更进一步地减少GC对用户正常读写请求响应延时 的影响,更好地提升SSD的性能和寿命,针对现有GC算法的 缺陷,深入分析GC的每一步操作,探讨其优化策略,从而达 到全过程的优化,提出一种全面的WPO—GC策略。WPO—GC 主要工作是在其他研究者的工作上进行优化,包括以下4点: 1)分离放置冷热数据。依据数据访问频度,确认数据冷 热温度,在数据放置时就考虑数据的特点,使温度相近的数据 聚集一起,便于达到全盘整体均衡,提高垃圾回收的效率。 2)建立两级阈值引入一种可中断GC策略,依据SSD当 前的工作状态,控制垃圾回收的触发条件,采用不同的中断方 式处理,进一步减少GC对SSD读写性能的影响。其中提出 中断开放策略,即垃圾回收中的每次有效页迁移结束后开放 系统中断,既可以利用不同请求到来的时问间隔进行垃圾回 收,又可以及时响应用户请求,减少用户读写操作的等待延 时,提高系统的平均响应时间。 3)选择适当的垃圾回收目标块。采用综合考虑块中无 效页所占比例和擦除次数的均衡策略,提高垃圾回收的效 率,延长闪存寿命。 4)在数据迁移时,进一步依据数据冷热程度选择数据的 放置位置,减少垃圾回收中不必要的反复迁移。 2设计和实现 WPO—GC主要目标是减少GC对用户正常读写延时的影 响,其设计思路是全面考虑与GC相关的各个方面。并对GC 每一步骤进行全局优化,以兼顾SSD性能和寿命的提升。 WPO-GC主要包括以下部分:1)产生不同优先级的垃圾回收 请求;2)控制垃圾回收的触发条件,允许中断开放策略; 3)平衡性能和寿命的目标块选择;4)通过冷热数据分离提高 垃圾回收效率。 2.1产生垃圾回收请求 目前关于垃圾回收请求响应时机,有不同的研究:文献 [9]通过设置较低的空闲空间阈值来作为触发条件,但这会 导致使用后期垃圾回收的频繁触发,严重影响性能;文献 [1O]采用在SSD空闲时间进行垃圾回收,但是无法准确预测 空闲时间;文献[11]提出可被I/0请求中断的GC算法,但 是这会导致垃圾回收操作被连续到来的I/0请求多次中断, 难以有效回收SSD空间。 WPO-GC根据SSD空闲空间的多少,设置两级阈值,赋予 垃圾回收操作不同的紧迫程度,采用文献[12]提出的方法和 公式,分别是不可中断阈值日和可中断阈值 ,用于区分垃圾 回收操作的紧迫级别。当Plane的空闲空间比例 低于不 可中断阈值日时,需立刻执行垃圾回收,因而产生不可中断 垃圾回收请求;当FP的值在不可中断阈值日和可中断阈值 之间时,产生可中断垃圾回收请求,当FP高于r时不产生 垃圾回收请求。基于固态盘中每个Plane的状态(空闲页数、 无效页数、有效页数),采用式(1)和(2)动态计算得出H和 的值。 日=aE+B(1一 ) (1) T=AE+B(1一 )+c,p (2) 其中:E表示SSD预留空间比例,由SSD厂商设定; 是有效 页比例;Ip是无效页比例;o、b、c、A、B均为权值系数,满足具 体取值为:0取0.3~0.5,b取0.1—0.3,A取0.5~0.7,B取 0.1—0.4,c取0.1—0.3,且0<H<T<1。通过实验验证 各参数的具体取值为o=0.3,b=0.1,A=0.5,B=0.3, C=0.2,E=0.1。不可中断垃圾回收请求会立刻执行,对正 常读写请求影响较大,因此应将日的值设定得较小,以尽可能 避免产生这类请求。根据式(1),日的最大值为aE+b,且随有 效页比例 的上升而下降。可中断垃圾回收请求会在系统空 闲时间执行, 的值以AE+B为参考基准,随着有效页比例的 上升而下降,随无效页比例的上升而上升。这意味着在无效页 较多而有效页较少时, 值较高,可及早触发无效页的回收; 而当有效页比例较高时, 值较低,以避免低效的垃圾回收。 为平衡SSD计算资源和及时产生垃圾回收请求,WPO- GC以每个Plane为单位,每消耗一定数量的页空间,进行一 次垃圾回收请求判断。产生的GC请求同正常的读写请求一 起挂载到通道请求队列上。为了减少SSD正常的读写请求 和两类垃圾回收请求之间的相互干扰,设定这三类请求的服 务优先级由高到低依次为:1)不可中断垃圾回收请求;2)正 常读写请求;3)可中断的垃圾回收请求。 当通道上有不可中断垃圾回收请求时,立即响应不可中 断垃圾回收请求,否则优先处理读写请求;当通道空闲时执 行可中断垃圾回收请求。对于可中断垃圾回收请求,在其执 行过程中可能会被SSD的正常读写请求中断,以减小GC对 正常读写请求响应时延的影响。 2.2 目标回收块的选择 在垃圾回收的目标块选择研究方面,贪婪算法只注重回 收的效率,会造成块磨损的不均衡;文献[13]采用回收磨损 次数最少的块进行回收,但会增加GC迁移数据的开销。文 献[15]综合考虑了块磨损和回收效率的考虑,相对其他策略 有了很大的改进。 WPO—GC为了保证固态盘的使用寿命和回收效率,对文 献[15]作进一步的优化改进,选用式(3)计算每个块得分,得 分最低的作为回收块。式(3)是在rrjioe等” 提出的公式基 础上提出的,缺乏对特殊情况块的考虑,会选择主要包含空闲 页和无效页的块,这是不合理的。 式(3)由两部分相加而成。第一部分强调GC操作的性 能,即块中无效页越多,越可能被回收。 sc。re=c-一。,(笆垒g 三 )+ era asures(i)-.一 max),’; 计算机应用 l l O 0 0 O 0 第37卷 n:f2/( +e ),Ae≠0:As:mn —min tO, 的方法为TemLPN=Luc,LPN的温度由最近写访问次数决定。 △s=0 (3) 其中:invalid(i)表示第i块中无效页数量;page—block表示一 块中的物理页数;erasure(i)表示第i块的擦除次数;m一表示 所有块中,块擦除次数最大的值;min表示所有块中,块擦除 次数最小的值。 第二部分强调磨损均衡,即块的擦除次数越少,越可能被 回收。两部分的比重由系数a决定,a是块磨损次数极差A6 的单调递增函数(图4)。k 是表征系统响应能力的常数, 越 小,系统平均响应时间越短,磨损越不均衡,k 取1O时,a约为 0.5,即两部分权重相同。特别地,当a为0时,算法不考虑磨损 均衡,即选取有效数据最少的块回收(贪婪策略);当a为1 时,算法为纯磨损均衡,即选取磨损次数最少的块回收。回收 块的选择在更好地考虑SSD性能的同时,能够兼顾SSD的磨 损均衡,提高SSD的寿命。 《 f f 0 A 图4 A8的单调递增曲线 Fig.4 Monotone increasing curve of 0一As 2.3有效数据迁移策略 在垃圾回收过程中有效页的迁移方面,闪存芯片手册指 出可以使用高级命令copy—back进行有效数据的迁移,但是这 有很多限制条件H ;部分Gc算法 “・” 直接将回收块中的 有效数据迁移到空闲块,没有考虑数据的特性;文献[15]提 出考虑数据的特性,将其进行冷热分离,来减少后续的GC开 销。 WPO—GC在文献[15]的基础上,增加了对“页温度”和 “块温度”的逐级考虑,提出冷热数据分离及迁移放置算法, 尽可能使冷热程度(访问频度)相近的数据聚集到同类的块 中,避免后续垃圾回收时冷数据页的无效迁移,提高垃圾回收 的效率,也减少了写放大,延长闪存的寿命。为了实现这一策 略,在SSD固件中维护了一张逻辑页码(Logical Page Number, LPN)温度表,用于记录每个LPN对应的温度,一个表项及其 各个字段的含义见表1。 表1 LPN温度表项 Tab.1 I.PN thermometer 字段 含义 LPN逻辑页号 总写访问(包括首次写和更新)次数 最近写访问次数 最近访问(写访问)时间戳 LPN温度值 每当有写子请求到来时,按照图5所示流程更新LPN温 度表。其中:ct是系统的当前时间;“是用于界定是否是最近访 问的时间间隔门限,当本次访问时间(即系统当前时问)距离 最近访问时间大于“时,将最近访问次数置为1。更新TemLPN 图5更新LPN温度表流程 Fig.5 Flowchart of updating LPN thermometer 一个块中有3种页温度,其中:1)有效页的温度就是其对 应的LPN的温度值TemLPN;2)无效页的温度值显示为其过 期前对应的LPN的温度值;3)空闲页的温度值为0。为了更 好地考虑块中的数据情况,将页更准确地放到温度相近的块 中。提出用块温度(记为TemBlock)来表示一个块的访问频 度,TemBlock的计算公式: 1 va//d invalid TemBlock= sum (∑T、 emPage( )+∑TemPage(j)) 其中各符号的意义见表2。TemBlock的值由其中的有效页温 度和无效页温度计算得到,温度相近的页聚集一起,失效速率 也会大体相当,以便于减少回收块时的数据迁移。温度越高 的块更加容易失效,提高回收效率。 表2块温度计算所涉及的符号 Tab.2 Symbols about block temperature computing 符号 意义 valid+invalid 1个块中。有效页总数 1个块中,无效页总数 第i个物理页的温度值 3 实验结果与分析 WPO.GC的测试平台是开源的SSDsiml19],首先分析所用 负载trace的特点,然后描述了测试方案及测试过程,最后分 析实验结果。 3.1测试环境 测试使用SSDsim,一个经过验证的固态盘模拟器,它可以 根据测试具体需要修改其配置文件。本方案测试所用SSDsim 模拟的硬件配置参数见表3,SSD物理总容量:4×2×2×2× 1024×64×2 KB=4 GB;用户可用容量:4 GB×0.8=3.2 GB。 表3设备容量设置 Tab.3 Device capacity setting 项目 配置 项目 配置 缓存 128 KB 每分组块数 1 024 通道数 4 每块页数 64 每通道芯片数 2 物理页 2 KB 每芯片晶圆数 2 子页 512 B 每晶圆分组数 2 预留空间 10% 3.2测试负载分析 测试使用4种trace:Exchange、Financial、IntelSSD一1和 IntelSSD_2,特性统计如表4。其中,Exchange是从一台供 第5期 方才华等:全程优化的固态硬盘垃圾回收方法 1261 5 000企业用户使用的Microsoft Exchange 2007 SP1邮件服务 器上采集的trace ,以小的随机访问的读请求为主。 Financial是在线事务处理(On—Line Transaction Processing, OLTP)应用程序运行在一个大型金融机构产生的I/O trace ;IntelSSD一1和IntelSSD_2是用 在服务器上生成请 求,并利用block—trace工具采集得到的。 表4 trace特性统计 Tab.4 Characteristic statistics of trace 3.3测试方案介绍 和DT.GC方案中,产生的是可中断的垃圾回收请求,当写请 求到来时垃圾回收操作还未完成,就中断垃圾回收操作,及时 响应,不造成时延。 OBasic—GC方案皿DT—GC方案 ̄WPO—GC方案 唇 at .本文选用一种典型的垃圾回收算法Basic-GC,以及文献 [12]提出的DT—GC作为WPO.GC的测试对照组。Basic—GC 采用的策略如下:1)目标回收块的选取采用贪婪策略,即回 收无效数据最多的块;2)有效数据迁移采用WECO中的冷热 数据分离方案;3)垃圾回收过程不可被中断。 本文主要测量了以下4个指标来评估WPO-GC方案: 1)平均响应时间。即请求从提交给Flash SSD到被响应 的平均时间,用于评估WPO—GC方案的读写响应性能。 2)擦除次数的标准偏差。记录每个闪存分组在实验过 程中被擦除的次数的标准偏差,用于评估WPO-GC方案的磨 损均衡性能。 Exchange Financial IntelSSD1 IntelSSD2 —.—.trace的类型 图6归一化的读请求平均响应时间 Fig.6 Normalized average response time of read requests 3)擦除次数。记录同一trace下两种策略分别引发的回 收次数,用于评估WPO.GC方案减少的磨损。 4)总写页数。垃圾回收会造成写放大,记录固态盘全部 的写页次数,进一步评估WPO.GC方案减少的磨损。 3.4测试结果分析 DBasic—GC方案皿DT—GC方案 ̄WPO—GC方案 本文以Basic.GC和DT—GC方案为对照方案,对WPO—GC 方案的整体性能进行了评估。 通过比较4种负载下三者的平均响应时间,可以看到 WPO.GC方案相对于Basic.GC在性能上有很大的提升,读/写 饕 Exchange Financial IntelSSD1 IntelSSD2 —.—.trace的类型 图7归一化的写请求平均响应时间 Fig.7 Normalized average response time of write requests 平均响应时间减少了接近20%,特别是对于分时间段密集请 求的负载(如Financi1),读/写平均响应时间减少达加%;a相 对于DT.GC在性能上的提升不是很明显,最高提升10%左右。 图6、7分别显示了以Basic.GC方案为基准对照,归一化 图8显示了以Basic.GC方案为基准对照,归一化的总擦 除次数,纵坐标为三种方案擦除总次数与基准方案Basic—GC 擦除总次数的比值。对于不同的trace,块擦除的总次数有很 大不同,且跟Basic-GC方案配置文件中垃圾回收阈值的设定 有关。 后的读、写平均响应时间,纵坐标对应为三种方案平均读、写 响应时间与Basic.GC方案平均读、写响应时间的比值。从图 6中可以看出,WPO.GC对4种trace的读平均响应时间相对 于Basic.GC均有较大提升,提升最少的接近20%,最多的达 到40%。从图7中可以看出,WPO-GC方案相对于Basic-GC 对所有trace测试的结果表现出写平均响应时间均有很大提 升,提升最少的也有17%,最多的达到40%;但是相对于 DT.GC方案,WPO—GC在性能上的提升并不明显,最高提升 10%,而且对于IntelSSD一1负载,读写平均响应性能均有所下 降,约2%。 通过对SSDsim的输出信息进行分析,发现三种方案在处 理一些请求所花费的响应时间是一致的,但是有些请求, Basic.GC方案的响应时间远大于WPO-GC和DT—GC方案,这 应该是导致图6、7结果的原因。造成这种情况是因为Basic- GC方案在写请求到来时还在执行垃圾回收操作,无法及时响 应,造成时延,并对后续请求造成累计时延。而在WPO-GC 1262 计算机应用 第37卷 明显。另外3种trace进行更新的次数较多,尽管在目标块选 的优化不是很明显,最高提升10%,但是在减少写放大和均 取的回收效率上没有贪婪算法好,但由于考虑了冷热数据的 分离,在长时问的使用中弥补了回收效率的欠缺。测试结果 表明,WPO-GC方案与Basic.GC方案在总写页次数方面相比 差异性不大,WPO—GC方案稍微优异一点。 DBasic—GC方案rnDT—GC方案 ̄WPO—GC方案 1.O5 1j四 1.00 0.95 瓤g 0.90 0.85 割 0.80 I3Jf. 0.75 蹈 0.70 0.65 0.60 Exchange Financial IntelSSD.1 IntelSSD2 ——.trace的类型 图9归一化的总写页数 Fig.9 Normalized total number of writing pages 由于WPO-GC中触发垃圾回收时是参考DT.GC的,所以 两者在擦除次数针对每个trace大致相同,其中的细微差异是 由于WPO—GC采用冷热数据分离算法,减少了一些有效页的 多次迁移,从而减少了写放大。从图9可以看到WPO.GC方 案在总写页数上始终保证低于DT.GC方案,尤其对负载 Exchage更是减少了20%的写操作。 图1O表现了三种方案导致的磨损均衡差异。当Flash SSD所有块擦除次数的标准差较低时,表明磨损均匀分布。 图l0显示了以Basic-GC方案为基准对照,归一化的块擦除 次数标准差,纵坐标为三种方案块擦除次数标准差与Basic- GC方案块擦除次数标准差的比值。从图中可得,在各个 trace下,DT—GC方案的分组的擦除次数标准差与Basic—GC方 案近似相等,而WPO-GC方案的分组的擦除次数标准差均小 于其他两种方案,其中3种trace的测试结果的标准差降低近 30%,表现出优异的磨损均衡性能。本文提出的新方案兼顾 效率和磨损均衡,在块擦除次数分布不均时,倾向于选择擦除 次数小的块进行回收,使各个块的擦出次数趋向于相同。同 时由于SSDsim的垃圾回收机制是基于分组的,各分组中块的 擦除次数实际上更为平均,有利于提升固态盘的寿命。 DBasic—GC方案皿DT—GC方案●WPO—GC方案 {磐 Exchange Financial IntelSSD1 IntelSSD2 —.—.trace的类型 图1O归一化的块擦除次数标准差 Fig.10 Normalized standard deviation of blcok erasing times 4 结语 本文在详细剖析垃圾回收过程的基础上,提出了一种全 程优化的垃圾回收方法WPO-GC,尽可能全面地考虑各步骤 对SSD正常读写请求和寿命的影响。在开源的模拟器 SSDsim上实现并验证了WPO.GC的有效性。实验结果表明, 同典型GC算法相比,WPO.GC可以减少SSD读请求延迟 20%一40%,写请求延迟17%~40%,并能将均衡磨损近 30%,从而延长其使用寿命;同DT.GC策略比较,在性能方面 衡磨损上有了近30%的优化。如何在保证读写性能的情况 下,进一步延长SSD的寿命,是一个值得深入研究的课题。 本文提出的方案主要是优化并结合前人的工作,接下来的工 作重心将放在如何将垃圾回收与缓存有效结合,在进行有效 数据迁移时,判断该数据所对应的逻辑地址是否在缓存已经 被更新,从而减少迁移耗时。 参考文献(References) [1】LEE S W,PARK D J,CHUNG T S,et a1.A log buffer.based flash translation layer using fully—associative sector translation【J].ACM Transactions on Embedded Computing Systems,2007,6(3):150— 151. [2】TANG X,MENG X.ACR:an adaptive cost—aware buffer replace— ment algorithm for Flash storgae devices【C]//Proceedings of the 2010 1 l th Intemational Conference on Mobile Data Management. Piscataway,NJ:IEEE,2010:33—42. 【3] SOGA A,SUN C,TAKEUCHI K.NAND lfash aware data manage— ment system for high—speed SSDs by garbage collection overhead sup— pression【C】//Proceedings of the 2014 IEEE 6th International Mem— ory Workshop.Piscataway,NJ:IEEE,2014:1—4. [4】 fi0【EB/OL].【2016—05—22】.http://freecode.eom/projects/fio. [5】 郭御风,李琼,刘光明,等.基于NAND闪存的固态盘技术研 究[J].计算机研究与发展,2009,46(2):328—328.(GUO Y F,LI Q,LIU G M,et a1.Research and development of solid state disk technology based on NAND flash memory[J].Joumal of Com- puter Research and Development,2009,46(2):328—328.) 【6] 马宇川.拒绝掉速闪迪Extreme Pro480GB固态硬盘深度体验 【J1,微型计算机,2014(21):71—74.(MA Y C.Rejected SanDisk Pro480GB extreme solid state hard disk depth experience [J].Micro Computer,2014(21):71—74.) [7] BEAK S,AHN S,CHOI J.Uniformity improving page allocation for lfash memory file systems【C】//Proceedings of the 7th ACM& IEEE International Conference on Embedded Software.New York: ACM,2007:154—163. [8】 KIM Y,ORAL S,SHIPMAN G M,et a1.Harmonia:a globally co— ordinated garbage collector ofr arrays of solid—state drives【C】//Pro— ceedings of the 201 1 IEEE 27th Symposium on Mass Storage Systems and Technologies.Washington,DC:IEEE Computer Society, 2011:l一12. 【9]HA K,KIM J.A program context—aware data separation technique for reducing garbage collection overhead in NAND flash memory [C】//Proceedings of the 7th IEEE International Workshop on Stor- age Network Architecture and Parallel I/Os.Piscataway,NJ: IEEE,2011:1—10. 【10】 GALAND E,TOLEDO S.Algorithms and data structures for flash memories[J].ACM Computing Surveys,2005,37(2):138—163. [1 1】LEE J,KIM Y,SHIPMAN G,et a1.A semi・preemptive garbage collector ofr solid state drives[C】//Proceedings of the IEEE Inter- national Symposium on Performance Analysis of Systems and Soft— ware.Piscataway.NJ:IEEE.2011:12—21. [12】 QIN Y,FENG D,LIU J,et a1.DT-GC:adaptive garbage collec— tion with dynamic thresholds for SSDs[C】//Proceedings of the 2014 International Conference on Cloud Computing and Big Data. Piscataway,NJ:IEEE,2014:182—188. (下转第1281页) 第5期 versity,2008.) 张玮等:针对并行软件待测行为测试的模型化简方法 1281 tri nets【C】//REX1993:Reflections and Perspectives.London: Springer・Verlag,1994:230—272. 【5】 孙涛.基于CP—nets模型的并行软件测试方法研究【D】.呼和浩 特:内蒙古大学,2012.(SUN T.Research on testing method for parllael software based on colored Petri nets[D].Hohhot:Inner Mongolia University,2012.) 【6】 RAI V,SIVASUBRAMANIAN S,BHULAI S,et 1.A muhiphased aapproach for modeling and analysis of the BitTorrent protocol【C]// Proceedings of the 27th International Conference o11 Distibutred Computing Systems.Washington,DC:IEEE Computer Society, 2007:10. omated Test Generation And Veriied Sofftware [12】 RUSHBY J.Aut[M】.Berlin:Springer-Verlag,2005:161—172. S J,PARKER K,et a1.Using symbolic execution 【l3] LEE G,MORRIto guide test generation:research articles[J].Software Testing Veriifcation&Reliability,2005,15(1):41—61. [14】 李华,叶新铭.基于Peti网的控制流与数据流相结合的协议 r测试[J】.内蒙古大学学报(自然科学版),1999,29(5):702— 705.(U H,YE X M.Protocol test based on the combination of 【7】 胡乃文.基于改进蚁群算法的测试序列优化算法【D].北京交通 大学,2015.(HU N W.The algorithm of test sequence optimization based on the improved ant colony algorithm【D].Beijing:Beijing control flow and dataflow based on Petir net[J】.Joumal of Inner Mongolia University(Natural Science Edition),1999,29(5):702 —705.) Jiaotong University,2015.) ifcation and validation of simulation models 【15] SARGENT R G.Veri【8】 陆公正.基于EFSM模型的测试用例优化生成及实例化【D】.上 海:上海大学,2014.(LU G Z.EFSM model based optimal genera— 【C】//Proceedings of the 40th Conference on Winter Simulation. Piscataway,NJ:IEEE,2013:37—48. tion and instamiation of test cases【D].Shanghai:Shanghai Univer- sity,2014.) 【9】SUN T,YE X,LIU J.A test generation method based on model re。 This work is partillay supported by the National Natural Science Foun— dation of China(61562064,61462066). duction or pafrallel software【C】//Proceedings of the 2012 13th In- ternational Conference on Parallel and Distibutred Computing,Ap- ZHANG Wei.born in 1991.M.S.candidate.His research inter- ests include software testing. SUN Tao,born in 1980,Ph.D.,associate professor.His research interests include software testing. WAN Xiaoyun,born in 1990,M.S.candidate.Her esearrch inter- plications and Technologies.Washington,DC:IEEE Computer So— ciety,2012:777—782. 【10】 ZHU H,HE X.A methodology of testing high—level Petri nets【J】. Iformatnion and Software Technology,2002,44(8):473—489. 【ll】JENSEN K.An introduction to the theoretical aspect of colored Pe- ests include softwaxe testing. (上接第1262页) [13]KWON O,LEE J,KOH K.EF・Greedy:a novel garbage collection policy for flsh memory based embedded systems[C]// aProceedings of the 7th International Conference on Computational Science.Berlin:Springer.2007:913—920. 201 1 International Conference on Supercomputing.New York: ACM,2011:96—107. NGTON B,ZHANG Q,et a1. [20] KAVALANCKER S,WORTHICharacterization of storage workload traces from production [14] KIM H,LEE S.An effective flash memory manager for reliable lfash memory space management[J].IEICE Transactions on Information&Systems,2002,E85D(6):950—964. Windows servers[C]//Proceedings of the 2008 IEEE International Symposium oil Workload Characterization. Piscataway,NJ:IEEE,2008:119—128. [15]TJIOE J,BLANCE A,XIE T,et a1.Making garbage collection wear conscious for lfash SSD[C]//Proceedings of the 2012 IEEE 7th International Conference on Networking,Architecture and A IOTYA Repository[EB/OL].[2016・05・22].http://iotta. [21] SNIsnia.org/traces/130. Storage.Washington,DC:IEEE Computer Society,2012:114— 123. This work is partilaly supported by the National Hi【h Technolgogy Research and Development Program(863 Progrm)a of China [16]wu S,LIN Y,MAO B,et a1.GCaR:garbage collection aware cache management with improved performance or flfash—based SSDs (2015AA016701,2015AA015301),the National Natural Science Foundation of China(61303046,61402189,61472153). FANG Caihua,born in 1994.M.S.candidate.His research interests include big data storage,solid state storage,data deduplication. [c]//Proceedings of the 2016 International Conference on Supereomputing.New York:ACM,2016:Article N0.28. [17]MOMODOMI M,ITOH Y,SHIROTN R,et a1.An experimental 4.Mbit CMOS EEPROM with a NAND—structured cell『J].IEEE LIU Jingning,born in 1957,Ph.D.,professor.Her research interests include solid state storage,data mining,distibutred storage. TONG Wei,born in 1977,Ph.D.,lecturer.Her research interests include non—volatile memory device,input/output vitrualization. GAO Yang,born in 1992,M.S.candidate.His research interests Journal of Solid-State Circuits,1989,24(5):1238—1243. [18]XIE W,CHEN Y.An adaptive separation—aware FTrL f0r improving the eficifency of garbage collection in SSDs[c]// Proceedings of the 2014 14th IEEE/ACM International Symposium on Cluster,Cloud and Grid Computing.Piscataway,NJ:IEEE, 2014:552—553. include big data storge,key-vaalue storage. LEI Xia,born in 1993,M.S.candidate.Her research interests include big data storage,secure data deletion. [19]HU Y,JIANG H,FENG D,et a1.Performance impact and interplay of SSD parallelism through advanced commands, JIANG Yu,born in 1993,M.S.candidate.His research interests include solid state storage,novel non—volatile memory device. lalcaotion strategy nd daata granularity[c]//Proceedings of the