您好,欢迎来到客趣旅游网。
搜索
您的当前位置:首页固态盘的性能和寿命优化技术

固态盘的性能和寿命优化技术

来源:客趣旅游网
第32卷第6期 2019年

11月

浙江万里学院学报

Vol.32 No.6 November 2019

Journal of Zhejiang Wanli University

固态盘的性能和寿命优化技术

杜晨杰,沈威

(浙江万里学院,浙江宁波315100)

摘要:虽然闪存以其小巧、轻便、无机械延迟等特点被认为可以替代磁盘作为二级存储设备,但是基于闪存的 数据管理技术远未发展成熟。在未来相当长的一段时间内,根据不同应用的特点和要求,实际中将出现各种基 于闪存的存储系统。在这些系统中,缓冲区和闪存转换层是其核心组件,缓冲区置换算法和闪存转换层地址映 射、损耗均衡和垃圾回收算法等是否高效决定了系统的整体效率。当前,研究者已经提出了各种基于闪存的缓 冲区置换策略和闪存转换层算法,其基本假设是闪存的随机读代价远小于随机写代价,其目的是使固态盘的整 体命中率有所提升,同时改善SSD的平均响应时间,减少了闪存块擦除次数。关键词:闪存;数据管理;缓冲区;闪存转换层中图分类号:TP333

文献标识码:A

文章编号:1671-2250(2019)06-0082-05

〇引言

闪存(Flash Memory,闪速存储器,简称闪存)是一种具备高速、低功耗、抗震、小巧轻便的芯片级存储 介质,它被认为是提升计算机存储子系统性能的关键性部件[1'最近10年,在工业界和学术界的共同努 力下,基于NAND闪存的固态盘(Solid State Drive,SSD)已经在市场中崭露头角,并且开始在高性能计算 等领域替代传统的机械硬盘(Hard Disk Drive,HDD)。但是,SSD全面取代HDD的时代到目前为止仍然 还没有出现,主要原因有SSD的性价比不具有优势M。此外,构建Gordon 256TB的存储系统花费多达 2000万美金;即使考虑到价格下降的趋势,中关村在线数据也表明,目前即使是低端SSD,其每GB成本 是HDD的多倍以上。从性能上来说,中高端SSD的读、写性能优于HDD,然而在低端SSD领域,其读速 度优于HDD,写速度与HDD不相上下。并且SSD写性能不具有访问模式一致性,连续写的性能明显好于 随机写的性能[51。

1相关工作

基于NAND闪存的SSD—般由主机接口逻辑、缓冲区管理层(Buffer Management Layer,BML)、闪存 转换层(Flash Translation Layer,FTL)和NAND闪存阵列组成,如图1所不。

负责与主机通信的主机接口逻辑,一般有USB、SATA、PCI-E等接口方式。缓冲区管理层负责管理固 态盘的缓冲区,是SSD提高性能、延长寿命的关键部件(BML只是一个可选模块,某些低端SSD因为节约 成本,不需要BML)。FTL负责将SSD模拟成只有读、写操作的传统硬盘的形式,以适应当前的文件系统, 一般由地址映射、垃圾回收和磨损均衡三个模块组成1M。NAND闪存阵列由多个闪存芯片组成,负责存储 实际的物理数据。

收稿日期:2019-05-02

基金项目:浙江省教育厅一般项目(Y201738560)。

作者简介:杜晨杰(1990-),男,浙江宁波人,浙江万里学院助教,研究方向:数据存储技术。

• 82 •

杜晨杰,沈成:固态盘的性能和寿命优化技术第6期

造成在SSD中增加BML、FTL的原因在于闪存有如下的内在特点:1)闪存有读、写和擦除3种基本操作, 且这三种操作的性能不对称,读操作最快,写操作次之,擦除操作最慢。例如,SLC闪存这三种操作对应典 型时间为25us,200uS,l_5mS;2)闪存的组织结构是按页(page)、块(block)、平面(plane)的结构进行的(如 图1所示)。页是读、写的最小单位,一般为2/4KB;块是擦除操作的最小单位,一般一个块中包含/128/ 256个页;3)闪存在擦除后只能写一次,且擦除次数非常有限。

_______±

Writes

Reads

2研究方法

2.1地址映射技术

闪存转换层的地址映射算法一直是国内外研究的热点之一。研究人员提出一种按需的页级FTL算 法一DFTL算法DFTL是一种根据负载访问特点动态加载映射信息到RAM的FTL算法。DFTL采用基 于页的映射机制,将整个映射表都存储在闪存中,并将闪存从逻辑上分为数据块区域和翻译块区域,分别 用于存储常规数据和映射表信息。然后根据需求动态加载部分映射表(Cached Mapping Table,CMT)到

RAM中,来处理访问频繁的请求。同时,更新请求会导致翻译页中的映射表发生变化,为此DFTL设置了

一个全局翻译目录(Global Translation Directory,GTD)来记录翻译页的变化。

在DFTL思想的启发下,各类新型基于需求的页级映射算法提出。

提出通过识别三种空间本

地性(顺序写、簇写和稀疏写)访问模式来减少按页映射的映射表大小,提高页级映射性能。HAT™提出将 页映射表存储在PCM芯片,这样就能实现数据访问和页映射信息访问的并行。〇AFTUui的贡献在于:1) 根据访问操作的类型来组织映射表信息;2)为映射页保留日志信息来缓冲频繁修改的映射信息。CDFTL【12] 贡献在于:1)“装载/剔除”映射项以簇的方式,以利用访问的空间本地性;2)为减少CMT查找开销,采用2 级映射表组织方式。SDFTlPi提出在RAM中增设一个连续映射表缓存(S-CMT)和一个二级映射表缓存 (SL-CMT),S-CMT优化FTL处理连续请求的性能,SL-CMT优化映射项的更新方式,实现批量更新。文 献[14]提出一种页级地址映射缓存技术去减少转换页的频繁更新,并设计了基于地址转换页的数据聚集 技术减少垃圾回收代价。WAPFTLM提出基于页映射机制的自适应地址映射算法,它能够在地址转换过程 中预测负载读写特性并自适应地调整地址映射信息缓存的策略a

.83 .

2019年11月

浙江万里学院学报

2.2缓冲区管理技术

缓冲区管理算法是SSD软件设计的另一个非常关键的问题,特别是对中高端的SSD的性能和寿命 优化,BML缓冲区管理算法有着非常重要的作用。然而,在SSD设计中,由于闪存读写性能不对称,读性 能好于写性能,且SSD在处理随机写请求时,其性能下降非常明显,因此在SSD的缓冲区管理设计中,重 点考虑优化写性能,尤其是对随机写请求的处理,这也是很多缓冲区管理算法仅考虑写请求的主要原因。 页级缓冲区管理算法的代表有CFLRUM、FARSi17i、WIPPAW和FOR119]等,而块级缓冲区管理算法的代表

有卩入8丨20】、8?1^11丨211、€卩〇(][22]和?1]〇-1^11【23!等。

可以看到,以上缓冲区管理算法,无论是页级的缓冲区管理算法,还是块级的缓冲区的管理算法,其 设计的出发点主要在于两个方面:1)尽量识别出负载的写访问模式,避免将高频率访问的随机写的数据 (或者称为hot data)置换出去;2)尽量利用缓冲区对写请求进行重构,将随机的、小的写变成顺序的、大 的写发送给FTL,减少垃圾回收的代价。为进一步提高缓冲区管理算法的性能,在以上两个出发点的基础 上,一些最新的BML算法开始采用新思路提高缓冲区性能。GC-ARMP4]是一种具有垃圾回收感知的缓冲 区管理算法,它在缓冲区置换算法设计中,直接强调了如何增强垃圾回收的效率,另外也开始尝试在

BML和FTL之间进行自适应的RAM空间分配。BPACra是一种基于页/块自适应的缓冲区管理算法,仅缓

冲写请求,高时间本地性访问采用页表实现,低时间本地性、高空间本地性访问用块表实现。QLRU是利 用SATA接口本机命令队列(Native Command Queuing,NCQ)优化写缓冲性能的页级BML算法。2.3现有BML和FTL研究存在的不足

从方法学的角度来看,要提高SSD的性能和延长其寿命,应从负载特性和闪存特性两个方面入手。 从上面国内外综述来看,目前无论是FTL,还是BML设计,为提高性能,在负载特性研究方面做了大量的 工作,也提出了多种分析负载访问模式的算法,然后针对性地优化了 FTL、BML性能。总体说来,这些工 作对提升FTL、BML性能帮助也很大,但是也存在下面两点不足:

(1) 采用FTL、BML协同设计方法优化SSD性能的工作比较缺乏。

目前在FTL、BML的设计中,这两个问题一般是分开的,缺乏对FTL、BML进行协同设计的研究。这 样做在简化FTL、BML设计复杂度的同时,也减少了 SSD性能的优化空间。表现在:1)在给定RAM空间 大小的条件下,如何在FTL、BML之间分配RAM空间,使得SSD整体性能最优、寿命最长;2)在FTL识别 负载访问特性时,能否利用BML的信息,因为它识别出的负载访问特性更准确;3)在BML选择剔除项 时,能否共享FTL的信息,比如数据实际的存放位置,去选择更适合的项进行剔除,从而减少以后垃圾回 收的代价。

(2) 利用闪存深层次特性进行SSD性能优化的工作比较缺乏。

目前大部分都是简单假设闪存读写不对称、不能原地更新、写前需要擦除等基本特性。但是,研究结 果表明,闪存的存储效率、P/E次数、保持时间 这三者之间可以折衷,比如可以用较短的保持时间换取更多的P/E次数等。此外,研究结果还 表明,闪存内部的ECC (Error Checking and

Correcting)、编程速度、P/E次数之间也可以折

P/E cycling

EmJanj

衷。闪存P/E次数、编程速度、数据保存时间这 三者的相互关系如图2所示,它们之间也可以 折衷。本项目认为利用闪存深层次特性去优化

SSD性能的前景非常好。

图2闪存P,:次数、编程速度、数据保存时间相互关系

3研究的科学意义

虽然目前SSD的BML和FTL优化设计已经取得许多丰硕成果,但由于:1)目前将BML和FTL分成

• 84 •

杜晨杰,沈成:固态盘的性能和寿命优化技术第6期

2个问题研究,取得的研究成果往往具有局部最优性;2)目前BML和FTL未充分利用闪存的一些深层次 特性,这也为继续提高SSD性能、延长其寿命留下了广阔的空间;因此BML和FTL的优化空间还可以进 一步扩大,从而取得更多的研究成果。

具体来说,其科学意义表现在两个方面:

一方面,从协同设计的角度开展BML和FTL优化研究,通过在这两者之间共享一些关键信息,让

BML和FTL彼此协调,使得BML和FTL的操作更有针对性,跳出以前的局部最优结果。

另一方面,利用闪存的一些深层次特性去优化BML和FTL设计,例如通过BML和FTL协调后,能 够更好地对访问请求分类,然后根据分类结果和闪存深层次特性开展闪存P/E次数、编程速度、数据保存 时间的折衷。

参考文献:

[1】綦晓颖,汤显,孟小峰等.OAFTL:—种面向企业级应用的高效闪存转换层处理策略[J].计算机研究与发展,2011,48

(10):1918-1926.

[2] 姚英彪,杜晨杰,王发宽.一种基于分类策略的聚簇页级闪存转换层算法[J].计算机研究与发展,2017, (1):142-丨53.[3] 杨濮源,金培权,岳丽华.一种时间敏感的SSD和HDD高效混合存储模型[J].计算机学报,2012, 35(11):2294-2305.[4] 刘靖宇,郑军,李元章等.混合S-RAID:—种适于连续数据存储的节能数据布局[J].计算机研究与发展,2013, 50(1):

37-48.

[5] 杨良怀,周健,陈立军.组合盘节能缓存替换机制[J].计算机研究与发展,2013, 50(1):19-36.

[61陈志广,肖侬,刘芳.一种用磁盘备份SSD的髙性能可靠存储系统[J】.计算机研究与发展,2013, 50⑴:80-.[7】陈川,肖侬,赖明澈.Meteoric固态盘设计中的并行性策略研究[J].计算机研究与发展,2011:283-288.

[8 ]Gupta A.,Youngjae K.,and Urgaonkar B. DFTL: a flash translation layer employing demand—based selective caching

of page -level address mappings [C]. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating System (ASPLOS), 2009: 229-240.

[9] Jiang S., Zhang L.,Yuan X.,et al. S-FTL: an efficient address translation for flash memory by exploiting spatial

locality[C]. 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST), 2011:1-12.

[10] Hu Y., Jiang H., Feng D., et al. Achieving page-mapping FTL performance at block-mapping FTL cost by hiding

address translation[C]. Proceedings of the 26th IEEE Symposium on Massive Storage Systems and Technologies (MSST ^10), 2010:1-12.

[111綦晓颖,汤显,梁智超,孟小峰.OAFTL:—种面向企业级应用的高效闪存转换层处理策略[J].计算机研究与发展,

2011, 48(10): 1918-1926.

[12] Lee Y., Jung T., Shin I. Demand -based flash translation layer considering spatial locality [C]. Proceedings of the

28th Annual ACM Symposium on Applied Computing, 2013:1550-1551.

[13] 姚英彪,沈佐兵.基于连续缓存和二级缓存的DFTL改进算法[J].计算机研究与发展,2014, 51 (9): 2012-2021.[14] 张琦,王林章,张天,邵子立.

一种优化的闪存地址映射方法[J].软件学报,2014, 25(2): 314-325.

[15] 谢徐超,宋振龙,李琼.WAPFTL:支持预测机制的负载自适应闪存转换层算法[J].计算机工程与科学,2014,36(7):

1238-1243.

[16] Park S., Jung D., Kang J., et al. CFLRU: a replacement algorithm for flash memory[C]. 2006: 234-241.

[17] Kwon 0., Bahn H., Koh K. FARS: a page replacement algorithm for nand flash memory based embedded systems[C].

The 8th IEEE International Conference on Computer and Information Technology, 2008.

[18] Jin X. ,Jung S., Song Y. Write-aware buffer management policy for performance and durability enhancement in nand

flash memory[J]. IEEE Transactions on Consumer Electronics, 2010, 56(4):2393-2399.

[19] Lv Y., Cui B., He B., et al. Operation-aware buffer management in flash-based systems [C]. Proceedings of the

ACM SIGMOD International Conference, 2011:13-24.

[20] Jo H., Kang J., Park S., et al. FAB: flash-aware buffer management policy for portable media players [J]. IEEE

• 85 •

2019年11月浙江万里学院学报

Transactions on Consumer Electronics, 2006, 52(2):485-493.

[21] Kim H., Ahn S. BPLRU: a buffer management scheme for improving random writes in flash storage[C]. Berkeley,

CA: USENIX Association, 2008, 8: 1-14.

[22] Qu Y., Harder T., Jin P. CFDC:a flash-aware buffer management algorithm for database systems[C]. Proceedings of

the 5th International Workshop on Data Management on New Hardware (DaMoN), 2009:435-449.

[23] Hu J., Jiang H., Tian L. ,et al. PUD-LRU: an erase-efficient write buffer management algorithm for flash memory

SSD[C]. 2010 18th Annual IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, 2010:69-78.

[24] Hu J., Jiang H., Tian L., et al. GC-ARM: garbage collection-aware RAM management for flash based solid state

drives[C]. Proceedings of the 2012 IEEE Seventh International Conference on Networking, Architecture and Storage, 2012: 134-143.

[25] Wu G., He X., Eckart B. BPAC: an adaptive write buffer management scheme for flash-based solid state drives[J].

ACM Transactions on Storage, 2012, 8(1): 1-24.

Performance and Life Optimization Technology of

Solid State Disk

DU Chen-jie, SHEN Wei

(Zhejiang Wanli University , Ningbo Zhejiang 315100)

Abstract : Flash memory is considered as a secondary storage device instead of disk due to its exquisite, portable and no mechanical delay. However, data management technology based on flash memory is far from mature. For quite a long time, according to the characteristics and requirements of different applications, various flash -based storage systems will appear in practice. In these systems, buffer and flash translation layer are the core components. The buffer replacement algorithm and address mapping, wear-leveling and garbage collection of flash translation layer determine the overall efficiency of the system. At present, the researchers have proposed various buffer replacement strategies and flash translation layer algorithms. The basic assumption is that the cost of random read is much less than the random write, which is to improve the overall hit rate, reduce the average response time and the number of erase time of SSD.

Key words:flash memory; data management; buffer; flash translation layer

(责任编辑:刘阳雄)

• 86 •

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- kqyc.cn 版权所有 赣ICP备2024042808号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务