【技术实现步骤摘要】
NVMe SSD的IO资源管理方法、装置、存储介质及设备
[0001]本专利技术涉及数据存储
,尤其涉及一种NVMe SSD的IO资源管理方法、装置、存储介质及设备。
技术介绍
[0002]NVMe SSD(NVMe固态硬盘)凭借低延迟和高吞吐量的特点,已经取代机械硬盘,成为企业级市场和消费级市场的主要存储介质。作为NVMe固态硬盘的重要组成部分,NVMe硬盘控制器芯片对NVMe固态硬盘的整体性能极其重要的影响。
[0003]目前SRIOV(Single Root IO Virtualization)作为一种硬件虚拟化技术已经在NVMe SSD中得到越来越多的应用。NVMe标准在虚拟化环境中定义了两种NVMe控制器资源,即VQ(Virtual Queue,虚拟队列,对应于1对IO寄存器)和VI(Virtual Interrupt,虚拟中断,对应于1个PCIe内MSIX中断)。以现有控制器的资源分配模型来说,在物理功能(PF)上的控制器是主控制器(Primary Controller)、在虚拟功能(VF)上的控制 ...
【技术保护点】
【技术特征摘要】
1.一种NVMe SSD的IO资源管理方法,其特征在于,所述方法包括:在为各个控制器进行虚拟队列资源分配时,根据预设的配置结构为已分配的各个虚拟队列生成各自的队列配置信息,所述队列配置信息包括控制器编号和寄存器编号,所述控制器编号用于标识当前虚拟队列对应的IO命令所属的控制器,所述寄存器编号与存储当前虚拟队列对应IO命令的主机地址一一对应;在进行IO命令处理时,对各个已分配的虚拟队列的队列配置信息进行轮询,根据队列配置信息中的控制器编号查找下一待进行命令处理的目标控制器的虚拟队列,并从所述目标控制器的虚拟队列中选取待处理的目标虚拟队列;根据所述目标虚拟队列的寄存器编号查找并读取所述目标虚拟队列对应的IO命令。2.根据权利要求1所述的方法,其特征在于,所述队列配置信息还包括处理标志,所述处理标志为待处理标识时表示当前虚拟队列是所属控制器的虚拟队列中需要优先处理的队列;所述从所述目标控制器的虚拟队列中选取待处理的目标虚拟队列,包括:在所述目标控制器的虚拟队列中按照队列顺序查找处理标志为待处理标识的虚拟队列作为所述待处理的目标虚拟队列。3.根据权利要求2所述的方法,其特征在于,所述在所述目标控制器的虚拟队列中按照队列顺序查找处理标志为待处理标识的虚拟队列作为所述待处理的目标虚拟队列,包括:查找所述目标控制器的第一个虚拟队列,并记录目标控制器的第一个虚拟队列的序号;从目标控制器的第一个虚拟队列开始按照队列顺序进行轮询以查找处理标志为待处理标识的虚拟队列作为所述待处理的目标虚拟队列;若轮询过程中查找到了属于第二控制器的虚拟队列则停止本次轮询,并记录当前找到的虚拟队列作为第二控制器的第一个虚拟队列,并记录第二控制器的第一个虚拟队列的序号,以在轮询到所述第二控制器时根据第二控制器的第一个虚拟队列的序号查找所述第二控制器的第一个虚拟队列。4.根据权利要求2所述的方法,其特征在于,在根据所述目标虚拟队列的寄存器编号查找并读取所述目标虚拟队列对应的IO命令之后,所述方法还包括:将所述目标虚拟队列的下一个虚拟队列的处理标志设置为待处理标识。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据主机的分配命令为各个控制器进行虚拟队列资源分配;所述根据主机的分配命令为各个控制器进行虚拟队列资源分配包括:查找队列资源中分配标志为已分配的最后一个虚拟队列,根据各个控制器的资源数量需求从已经分配的虚拟队列的下一个虚拟队列开始为对应控制器分配队列资源,以使完成分配的所有虚拟队列连续分布的且属于每一控制器的虚拟队列均是连续分布。6.根据权利要求1
‑
5任一项所述的方法,其特征在于,所述队列配置信息还包括更新逻辑、分配标志和使能标志,所述使能标志表示当前虚拟队列已经被所属的控制器使用,所述分配标志用于表示当前虚拟队列是否被分配给控制器,所述更新逻辑用于读取当前虚拟队列的下一个虚拟队列分配标志,若当前虚拟队列的分配标志为未分配且当前虚拟队列的下一个虚拟队列的分配标志为已分配时,则将当前虚拟队列的下一个虚拟队列的队列配置信
息作为当前虚拟队列的队列配置信息,并将当...
【专利技术属性】
技术研发人员:刘琳琳,杨骥,
申请(专利权)人:北京得瑞领新科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。