一种保障ZNS-SSD访问公平性的缓存管理方法技术

技术编号:36745986 阅读:12 留言:0更新日期:2023-03-04 10:28
本发明专利技术属于计算机存储技术领域,具体涉及一种保障ZNS

【技术实现步骤摘要】
一种保障ZNS

SSD访问公平性的缓存管理方法


[0001]本专利技术属于计算机存储
,具体涉及一种保障ZNS

SSD访问公平性的缓存管理方法。

技术介绍

[0002]ZNS

SSD通常被用于高性能计算机系统。随着半导体工艺和计算机水平的攀升,一块ZNS

SSD固态硬盘通常被多个应用程序共享,如多租户的云计算平台、多应用程序的桌面系统等。当多个应用程序同时访问同一块ZNS

SSD固态硬盘时,访问的不公平性将严重影响应用程序的响应时间,降低计算机系统的服务水平。
[0003]目前,主流的ZNS

SSD内部均存在一块基于DRAM的缓存空间。板载DRAM的主要用途为缓存主机端发送的存储数据。通常地,主机仅需把待存储的数据发送至ZNS

SSD的板载DRAM,随即返回本次写操作。由于DRAM的写入速度远高于闪存介质(Flash),板载DRAM能够大幅提高数据的存储速度。然而,在实际的测试过程中,我们发现,多个应用程序会竞争板载DRAM资源,导致严重的访问不公平问题。
[0004]此外,ZNS

SSD的数据存储方法不同于传统基于块接口的SSD,ZNS

SSD将逻辑地址空间划分为固定大小的分区,在每个分区内部,ZNS接口规定必须顺序写,以降低垃圾回收开销、减少缓存使用量。然而,当多个应用同时访问ZNS

SSD时,这个顺序写特性将进一步导致不公平应用程序的缓存命中率低,恶化访问不公平的问题。

技术实现思路

[0005]为解决上述技术问题,本专利技术提出一种保障ZNS

SSD访问公平性的缓存管理方法,包括:
[0006]S1:将载板DRAM划分为普通区和特权区两个类别,并为不同类型的区域赋予不同权限;
[0007]S2:记录I/O请求特性,鉴别出不公平的应用程序和公平的应用程序;
[0008]S3:将不公平的应用程序和公平的应用程序的I/O请求数据进行合理分配管理,存放到载板DRAM的普通区和调整容量后的特权区。
[0009]优选的,为不同类型的区域赋予不同权限,包括:
[0010]所述普通区用于缓存所有应用程序的数据,所述特权区只能缓存不公平的应用程序的数据。
[0011]优选的,I/O请求特性,包括:
[0012]I/O请求的大小,以及I/O请求的个数。
[0013]优选的,不公平的应用程序,包括:
[0014]在多个请求队列中,I/O请求大小与I/O请求个数的乘积最小的应用程序,认定是不公平的应用程序。
[0015]优选的,对I/O请求数据进行合理分配管理,存放到载板DRAM的普通区和特权区,
包括:
[0016]如果普通区的容量未满,且特权区的容量未满,所有应用程序的I/O请求数据被放入普通区;
[0017]如果普通区的容量满,但特权区的容量未满,仅允许不公平的应用程序将数据放入特权区,其它应用程序的I/O请求将被阻塞,必须等到普通区的数据被刷回之后,才能将数据放入普通区;
[0018]如果普通区的容量满,且特权区的容量满,所有程序的I/O请求数据都被阻塞,两个区满时,特权区的数据会被全部写回,普通区的数据部分被写回,数据写回后将堵塞的数据存入,并对特权区的容量进行膨胀/收缩操作。
[0019]进一步的,对特权区的容量进行膨胀/收缩操作,包括:
[0020]如果特权区的容量无法满足不公平应用程序的数据缓存,则进行膨胀操作增大特权区的容量;
[0021]如果特权区的容量能够满足不公平应用程序的数据缓存,则进行收缩操作缩小特权区的容量。
[0022]进一步的,判断特权区的容量是否满足不公平应用程序的数据缓存,包括:
[0023]设置阈值T,根据板载DRAM在前一段时间内的资源使用情况,计算前一段时间内特权区未满的时间与普通区的未满的比值R,如果比值R大于阈值T,表示特权区长时间处于未满状态,需要收缩特权区的容量;反之,则需要膨胀特权区的容量。
[0024]本专利技术的有益效果:本专利技术针对不公平应用程序的I/O请求,ZNS

SSD会将这些请求的数据放入板载DRAM的特权区,避免出现板载DRAM的缓存缺失问题,从而保证多个应用程序的访问公平性;此外,根据特权区的使用情况,动态调整特权区的容量,缓解由于特权区过大而导致的资源闲置问题;本专利技术具有成本低、易实施等优势,同时具有良好的可扩展性、实用性。
附图说明
[0025]图1为本专利技术的整体架构图与实施原理图;
[0026]图2为本专利技术的特权区膨胀/收缩的示意图;
[0027]图3为本专利技术的缓存管理策略流程图。
具体实施方式
[0028]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0029]本专利技术针对ZNS

SSD,通过在运行时重构分区,将数据差异化地写入不同类型的重构分区中,以此平衡所有闪存块的磨损程度,延长ZNS

SSD的使用寿命。
[0030]一种保障ZNS

SSD访问公平性的缓存管理方法,如图1所示,包括:
[0031]S1:将载板DRAM划分为普通区和特权区两个类别,并为不同类型的区域赋予不同权限;
[0032]S2:记录I/O请求特性,鉴别出不公平的应用程序和公平的应用程序;
[0033]S3:将不公平的应用程序和公平的应用程序的I/O请求数据进行合理分配管理,存放到载板DRAM的普通区和调整容量后的特权区。
[0034]NVMe协议允许多个应用程序在主机申请多个请求队列,包括提交队列(Submission Queue,SQ)和完成队列(Completion Queue,CQ);ZNS

SSD设备通过PCIe接口从这些队列中取出I/O请求,并以闪存页为基本单位进行请求解析,最终将解析完成的子请求放入设备级请求队列中;Zone FTL从设备级请求队列中取出子请求,执行请求调度、缓存管理以及数据分配等操作;因此,本专利技术为驻留在Zone FTL中的一段固件代码,实现对板载DRAM缓存数据的管理;具体地,本专利技术将板载DRAM划分为两个区域,包括普通区和特权区。
[0035]优选的,为不同类型的区域赋予不同权限,包括:
[0036]所述普通区用于缓存所有应用程序的数据,所述特权区只能缓存不公平的应用程序的数据。
[0037]优选的,I/O请求特性,包括:
[0038]I/O请求的大本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种保障ZNS

SSD访问公平性的缓存管理方法,其特征在于,包括:S1:将载板DRAM划分为普通区和特权区两个类别,并为不同类型的区域赋予不同权限;S2:记录I/O请求特性,鉴别出不公平的应用程序和公平的应用程序;S3:将不公平的应用程序和公平的应用程序的I/O请求数据进行合理分配管理,存放到载板DRAM的普通区和特权区。2.根据权利要求1所述的一种保障ZNS

SSD访问公平性的缓存管理方法,其特征在于,为不同类型的区域赋予不同权限,包括:所述普通区用于缓存所有应用程序的数据,所述特权区只能缓存不公平的应用程序的数据。3.根据权利要求1所述的一种保障ZNS

SSD访问公平性的缓存管理方法,其特征在于,I/O请求特性,包括:I/O请求的大小,以及I/O请求的个数。4.根据权利要求1所述的一种保障ZNS

SSD访问公平性的缓存管理方法,其特征在于,不公平的应用程序,包括:在多个请求队列中,I/O请求大小与I/O请求个数的乘积最小的应用程序,认定是不公平的应用程序。5.根据权利要求1所述的一种保障ZNS

SSD访问公平性的缓存管理方法,其特征在于,对I/O请求数据进行合理分配管理,存放到载板DRAM的普通区...

【专利技术属性】
技术研发人员:刘人萍龙林波谭振华
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

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

1