一种面向NVMe的IO确定性优化策略方法技术

技术编号:27820147 阅读:14 留言:0更新日期:2021-03-30 10:34
一种面向NVMe的IO确定性优化策略方法,通过基于集合和窗口划分进行优化,能够降低I/O请求的性能抖动等,从而提高垃圾回收效率并进一步延长固态硬盘寿命,其特征在于,包括以下步骤:步骤A,通过对NVMe存储单元集合划分实现不同集合之间相互独立,以便在不同集合之间并行的进行读、写和垃圾回收操作;步骤B,面向划分集合后的NVMe,提出新的I/O请求调度算法,避免发生垃圾回收与I/O请求访问冲突;步骤C,设计新的缓存管理算法感知NVMe集合垃圾回收操作,最大限度的避免垃圾回收操作与I/O请求访问冲突的可能,降低I/O请求的性能抖动。降低I/O请求的性能抖动。降低I/O请求的性能抖动。

【技术实现步骤摘要】
一种面向NVMe的IO确定性优化策略方法


[0001]本专利技术涉及计算机科学技术,例如基于Open Channel SSD的面向NVMe I/O确定性的调度器与缓存优化等,特别是一种面向NVMe的IO确定性优化策略方法。NVMe(Non

VolatileMemory express)是指非易失性存储系统及其标准或协议。I/O(或IO,Input/Output)指输入/输出。Open Channel SSD(Solid State Drives)指开放通道固态驱动器或固态硬盘。

技术介绍

[0002]随着存储系统的不断发展,存储介质由于NAND闪存的诞生带了一次巨大的飞跃。其优越的随机读写速度,逐步降低的单位容量价格,越来越受企业用户的青睐。固态硬盘SSD 的发展,伴随着闪存颗粒的位数扩大和闪存控制器的性能增强,因此SATA协议的带宽限制成为了制约SSD持续读写性能的主要瓶颈。由SATA过渡到直接使用PCIe协议的NVMe 协议于是成为了必然。虽然使用NAND的NVM设备在不断的应用和发展,其固有缺陷越来越难以忽视,相比传统机械硬盘等块设备,NAND闪存寿命普遍较低,颗粒的读写代价也不尽相同。闪存芯片从SLC(Single Level Cell,单层单元)发展到了现在的QLC(Quad

levelcell,四层单元),带来的是断崖式的寿命减少和速度降低,数据的可靠性也越来越难以保证,SSD行业迫切的需要优秀的管理算法以尽可能缩小性能退化产生的影响。
[0003]由于NAND的固态硬盘的物理特性,垃圾回收是其必不可少的操作,但是垃圾回收会带来巨大的时间和空间开销。垃圾回收操作必须占用固态硬盘内部的I/O资源,堵塞上层 I/O请求,因而可能会造成某一时刻的某些数据的读写延迟急剧增大,这一现象称为I/O抖动。另一个会引入I/O抖动的因素是用户间串扰。由于固态硬盘容量的不断增加,把它的容量进行分割,划分给不同的用户就成为了可能,但由于其随机写入的特性,用户间的读写操作可能会占用相同的通道,因而在某一用户进行访问时需阻塞其他用户的访问,对于被阻塞的用户来讲,同样引入了急剧增加的延迟。
[0004]目前业界对于延迟的解决方案包括:从提高垃圾回收效率方面、优化传统调度器和优化传统缓存管理算法。垃圾回收方面,现有研究从动态确定空闲页比率阈值、减小垃圾回收的阻塞单位和建立可中断的垃圾回收算法方面提高垃圾回收的效率,但都无法完全实现无垃圾回收时的性能。基于主机端与固态硬盘之间相对独立的性质,主机端无法知晓固态硬盘何时处于垃圾回收状态,因而还是无法完全消除垃圾回收操作带来的尾延迟。调度策略方面,现有研究倾向于为固态硬盘的并行度改进与设计调度算法,包括为并行单元单独创建请求队列和创建请求过滤器等方式。缓存管理方面,现有研究大部分集中于对传统 LRU(Least recently used,最近最少使用)替换算法的改进,减少缓存替换次数,提高缓存命中率。

技术实现思路

[0005]针对闪存垃圾回收引起的NVMe性能抖动问题,本专利技术提供一种面向NVMe的IO确定
性优化策略方法,通过基于集合和窗口划分进行优化,能够降低I/O请求的性能抖动等,从而提高垃圾回收效率并进一步延长固态硬盘寿命。
[0006]本专利技术的技术解决方案如下:
[0007]一种面向NVMe的IO确定性优化策略方法,其特征在于,包括以下步骤:步骤A,通过对NVMe存储单元集合划分实现不同集合之间相互独立,以便在不同集合之间并行的进行读、写和垃圾回收操作;步骤B,面向划分集合后的NVMe,提出新的I/O请求调度算法,避免发生垃圾回收与I/O请求访问冲突;步骤C,设计新的缓存管理算法感知NVMe集合垃圾回收操作,最大限度的避免垃圾回收操作与I/O请求访问冲突的可能,降低I/O请求的性能抖动。
[0008]所述步骤A中还包括利用NVMe自身存在若干并行单元,将并行单元进行划分得到相互独立的Set组,确保Set组之间的相互并行;划分后的Set将拥有两种不同的时间窗口:一是完全不进行垃圾回收和磨损平衡操作的确定延迟窗口,即DTWIN;二是为了维护Set性能而进行上述操作的非确定窗口,即NDWIN;确定延迟窗口可以保证窗口内没有任何控制器操作而导致的I/O阻塞;非确定窗口则会因为进行阻塞I/O的一系列操作而不能保证请求的低延迟处理;为分割而开的Set组赋予属性,存储处于窗口内的时间,为属性设定阈值,设定超过阈值为触发器,触发窗口切换。
[0009]所述步骤B中还包括主机端将请求发送给pblk,经过集合特征判断后,由调度算法对请求队列进行调度,将操作处于确定延迟窗口的请求直接派遣,将操作处于非确定延迟窗口的请求进行延迟调度。
[0010]所述步骤C中新的缓存管理算法具有如下两个功能:一是基于Set对缓存空间进行划分成缓存块,将缓存块与集合建立关联;二是管理算法Set的pblk感知其时间窗口,当感知到相应集合处在非确定性时间窗口内,即该集合可能正在进行垃圾回收操作,则暂时避免将该数据替换出缓存。
[0011]所述优化策略方法包括以下环节:环节a,基于LightNVM设备划分拥有不同并行单元 LUN的pblk对象,即集合,并为不同的集合划分不同的时间窗口;环节b,pblk系统加载调度器,调度文件系统的I/O请求;环节c,pblk系统加载缓存管理。
[0012]所述环节a包括采用以下步骤为pblk创建窗口的配置和基于时间对窗口切换进行控制:a1)pblk对象,即集合,初始化时分配三个窗口时间阈值,包括处于确定延迟窗口内的最小时间DTWIN_MIN、处于确定延迟窗口的最大时间DTWIN_MAX和处于非确定延迟窗口的最大时间NDWIN_MAX;a2)集合创建后默认处于确定延迟窗口并开始记录时间;a3)当该集合处于DTWIN时,垃圾回收线程将会进行窗口切换的判断;a4)判断时间、错误率、可用块等信息后垃圾回收线程会进行由DTWIN到NDWIN的切换;a5)当该集合处于NDWIN时,垃圾回收线程同样会进行窗口切换的判断;a6)判断时间、可用块等信息后pblk会进行由 NDWIN到DTWIN的切换;a7)重复上述a3

a6。
[0013]所述环节a包括采用以下方式对时间进行判断:当集合处于DTWIN时,垃圾回收进程在将集合切换至NDWIN时会将当前集合所处窗口的时间与时间阈值进行比较;当集合处于 DTWIN的时间小于等于DTWIN_MIN时完全不进行窗口切换,即不开始垃圾回收操作;当集合处于DTWIN的时间大于DTWIN_MIN小于等于DTWIN_MAX时,使用读取错误率和可用块限制进行窗口切换的判断;当集合处于DTWIN的时间大于DTWIN_MAX,强制进行DTWIN到NDWIN 的窗口切换;当集合处于NDWIN的时间小于等于NDWIN_MAX时,使用原有的,结束垃圾回收操作
的判断进行切换判断;当集合处于NDWIN的时间大于NDWIN_MAX时,强制将集合的时间窗口切换至本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向NVMe的IO确定性优化策略方法,其特征在于,包括以下步骤:步骤A,通过对NVMe存储单元集合划分实现不同集合之间相互独立,以便在不同集合之间并行的进行读、写和垃圾回收操作;步骤B,面向划分集合后的NVMe,提出新的I/O请求调度算法,避免发生垃圾回收与I/O请求访问冲突;步骤C,设计新的缓存管理算法感知NVMe集合垃圾回收操作,最大限度的避免垃圾回收操作与I/O请求访问冲突的可能,降低I/O请求的性能抖动。2.根据权利要求1所述的面向NVMe的IO确定性优化策略方法,其特征在于,所述步骤A中还包括利用NVMe自身存在若干并行单元,将并行单元进行划分得到相互独立的Set组,确保Set组之间的相互并行;划分后的Set将拥有两种不同的时间窗口:一是完全不进行垃圾回收和磨损平衡操作的确定延迟窗口,即DTWIN;二是为了维护Set性能而进行上述操作的非确定窗口,即NDWIN;确定延迟窗口可以保证窗口内没有任何控制器操作而导致的I/O阻塞;非确定窗口则会因为进行阻塞I/O的一系列操作而不能保证请求的低延迟处理;为分割而开的Set组赋予属性,存储处于窗口内的时间,为属性设定阈值,设定超过阈值为触发器,触发窗口切换。3.根据权利要求1所述的面向NVMe的IO确定性优化策略方法,其特征在于,所述步骤B中还包括主机端将请求发送给pblk,经过集合特征判断后,由调度算法对请求队列进行调度,将操作处于确定延迟窗口的请求直接派遣,将操作处于非确定延迟窗口的请求进行延迟调度。4.根据权利要求1所述的面向NVMe的IO确定性优化策略方法,其特征在于,所述步骤C中新的缓存管理算法具有如下两个功能:一是基于Set对缓存空间进行划分成缓存块,将缓存块与集合建立关联;二是管理算法Set的pblk感知其时间窗口,当感知到相应集合处在非确定性时间窗口内,即该集合可能正在进行垃圾回收操作,则暂时避免将该数据替换出缓存。5.根据权利要求1所述的面向NVMe的IO确定性优化策略方法,其特征在于,所述优化策略方法包括以下环节:环节a,基于LightNVM设备划分拥有不同并行单元LUN的pblk对象,即集合,并为不同的集合划分不同的时间窗口;环节b,pblk系统加载调度器,调度文件系统的I/O请求;环节c,pblk系统加载缓存管理。6.根据权利要求5所述的面向NVMe的IO确定性优化策略方法,其特征在于,所述环节a包括采用以下步骤为pblk创建窗口的配置和基于时间对窗口切换进行控制:a1)pblk对象,即集合,初始化时分配三个窗口时间阈值,包括处于确定延迟窗口内的最小时间DTWIN_MIN、处于确定延迟窗口的最大时间DTWI...

【专利技术属性】
技术研发人员:肖利民刘禹廷秦广军朱金彬张锐
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1