[发明专利]提升SSD服务质量方法、装置、计算机设备和存储介质有效
申请号: | 202111301938.3 | 申请日: | 2021-11-04 |
公开(公告)号: | CN113741991B | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 王鑫;刘哲;赵金;张乾坤 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F11/22 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 陈晓磊 |
地址: | 215168 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提升 ssd 服务质量 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种提升SSD服务质量的方法、装置、计算机设备和存储介质。所述方法包括:确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。借助令牌桶算法以及通过在上下文资源耗尽或状态机挂起数量达到一定阈值时,不再接收处理新的IO命令,避免处理大量挂起引发的额外开销,提升了SSD的QOS,保证了用户的良好的体验,提升了产品竞争力。
技术领域
本申请涉及计算机技术领域,特别是涉及一种提升SSD服务质量的方法、装置、计算机设备和存储介质。
背景技术
大数据时代背景下,大数据保存和获取对存储设备提出了更高的性能要求,SSD作为主流存储设备应运而生,从上层应用到底层存储,每一个环节的性能都直接或间接的影响着终端用户体验,因此,如何提高数据存储和读取的性能显得至关重要。
在计算机领域,相对于进程而言,上下文即为进程执行时的环境,也就是各种变量和数据,如:所有的寄存器变量、进程打开的文件、内存信息等。也可以将上下文理解为环境的一个快照,是一个用来保存状态的对象。通常,在一个程序中大多数函数都不是独立运行的,而是需要同其他函数的一部分进行交互,且需要其他外部环境变量的支持,而上下文即用于给外部环境的变量赋值,使函数能够正常运行。
SSD对主机IO的处理需要上下文来管理,处理IO的过程因为要有元数据的更新和获取等操作,所以此过程相对比较复杂,而为了提高SSD的性能这些操作需要实现并发操作和状态机的管理,这就需要上下文来记录和管理每个状态机,受限于硬件资源和能力的限制,这些上下文资源是有限的,当处理不同主机IO的工作负载时,可能会有拿不到上下文资源的情况,这就会使状态机进入挂起状态,处理这些处于挂起状态的状态机,排队累积效应恶化了对应IO命令的相应速度,从而影响了SSD的QOS。
发明内容
基于此,有必要针对上述技术问题,提供一种提升SSD服务质量的方法、装置、计算机设备和存储介质。
一方面,提供一种提升SSD服务质量的方法,所述方法包括:
确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
在其中一个实施例中,所述方法还包括对SSD的状态机挂起数量进行统计,其中所述根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令,包括:
根据所述上下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令。
在其中一个实施例中,所述SSD的上下文资源包括第一上下文资源和第二上下文资源,所述第一上下文资源用于管理可接收的主机IO命令数量,所述第二上下文资源用于管理IO命令拆分出的数据结构。
在其中一个实施例中,所述确定SSD的上下文资源数量,包括:
初始化第一上下文资源数量和第二上下文资源数量;
根据第一上下文资源初始数量以及第二上下文资源初始数量进行读写IOPS测试;
保持第一上下文资源数量不变以及不断增加第二上下文资源数量,并继续进行IOPS测试直至吞吐量不再增加;
将吞吐量最大所对应的最小第二上下文资源数量作为第二上下文资源数量;
根据所述第二上下文资源数量确定第一上下文资源数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111301938.3/2.html,转载请声明来源钻瓜专利网。