一种双端口SSD数据队列预测调度方法技术

技术编号:39299383 阅读:23 留言:0更新日期:2023-11-07 11:08
一种双端口SSD数据队列预测调度方法,涉及SSD技术领域,对双端口SSD的数据读写通路进行优化,通过对数据通路读写访问命令的预测,进行盘内软硬件资源的调度分配,保证双活系统下冗余链路正常工作的同时,提高服务质量。提高服务质量。提高服务质量。

【技术实现步骤摘要】
一种双端口SSD数据队列预测调度方法


[0001]本专利技术涉及SSD
,具体涉及一种双端口SSD数据队列预测调度方法。

技术介绍

[0002]随着社会信息化、数字化建设的进一步深入,高端存储服务器的应用也越来越多,对SSD存储的性能和可靠性提出了更高的要求。双端口SSD是通过物理接口的设计,实现同一个SSD能被两个服务器主机识别并独立操作,起到数据通路冗余备份的效果,满足双活存储系统在active

active和active

slave模式下的工作需要。在双端口SSD中,数据队列调度成为影响产品QOS(服务质量)和可靠性的关键技术问题,传统的设计方法,常采用固定的资源分配方式,导致资源消耗较大。

技术实现思路

[0003]本专利技术为了克服以上技术的不足,提供了一种优化访问性能、降低时延和提高系统稳定性的双端口SSD数据队列预测调度方法。
[0004]本专利技术克服其技术问题所采用的技术方案是:一种双端口SSD数据队列预测调度方法,包括如下步骤:a)设置双端口功能使能模块,双端口功能使能模块检测双端口SSD外部金手指的DualPortEN#信号是否有效;b)设置控制器缓存功能模块,控制器缓存功能模块使能SSD的CMB功能;c)设置数据预测模块,将资源池内的资源分成N份资源组,数据预测模块输出信号为资源组的份额;d)设置资源管理模块,资源管理模块的输入为数据预测模块的输出,根据数据预测模块的资源组分配份额,配置资源池内各资源模块的使用;e)设置资源池模块,资源池模块包括数据队列缓存、数据缓存,数据队列缓存用于存放本地读写命令及管理结构,数据缓存用于存放用户数据;f)NVMe控制器根据分配的资源解析命令,在固件的参与下完成数据的保存和读取。
[0005]进一步的,步骤a)中双端口功能使能模块使能SSD双端口功能并配置PCIE双端口工作模式。
[0006]进一步的,步骤b)中控制器缓存功能模块在使能SSD上电初始化时,通过寄存器配置,使能SSD的CMB功能并分配M字节的缓存,支持双端口的数据地址和命令队列在盘内资源分配。
[0007]进一步的,步骤c)包括如下步骤:c

1)数据预测模块建立一个时间段T内读写命令的端口号、命令个数、读写命令的逻辑地址的范围、需要传输的数据量之间的信息模型;c

2)数据预测模块判定某个端口的压力,根据端口带宽阈值的设置定制调整和分
配内部队列缓存、命令缓存、数据缓存;c

3)数据预测模块进行参数反馈校正。
[0008]本专利技术的有益效果是:对双端口SSD的数据读写通路进行优化,通过对数据通路读写访问命令的预测,进行盘内软硬件资源的调度分配,保证双活系统下冗余链路正常工作的同时,提高服务质量。与传统设计相比,可以更加高效地实现资源分配,加速业务命令的响应速度,同时可以提高资源的使用效率,降低硬件资源的开销,较大程度上节省芯片开发的成本。
附图说明
[0009]图1为本专利技术的方法流程图。
具体实施方式
[0010]下面结合附图1对本专利技术做进一步说明。
[0011]一种双端口SSD数据队列预测调度方法,包括如下步骤:a)设置双端口功能使能模块,双端口功能使能模块检测双端口SSD外部金手指的DualPortEN#信号是否有效。
[0012]b)设置控制器缓存功能模块(CMB),控制器缓存功能模块是nvme协议规定的标准功能,控制器缓存功能模块使能SSD的CMB功能。
[0013]c)设置数据预测模块,将资源池内的资源分成N份资源组,数据预测模块输出信号为资源组的份额。
[0014]d)设置资源管理模块,资源管理模块的输入为数据预测模块的输出,根据数据预测模块的资源组分配份额,配置资源池内各资源模块的使用。
[0015]e)设置资源池模块,资源池是软硬件资源的集合体,资源池模块包括数据队列缓存、数据缓存,实现了缓存数据的共享,数据队列缓存用户与存放本地读写命令及管理结构,数据缓存用于存放用户数据,资源池的最小单元称为资源组。
[0016]f)NVMe控制器负责读写等命令的处理,NVMe控制器根据分配的资源解析命令,在固件的参与下完成数据的保存和读取。
[0017]本专利技术专利内容不限于NVMe SSD的双端口功能设计。本专利技术专利除了包含SSD的基本硬件单元外,还使能了nvme协议的控制器缓存功能(CMB),用于缓存IO命令。本专利技术专利提供了一种数据访问预测模块,用于统计和分析双端口传输的读写访问命令的规律,并基于预测算法提供队列调度的机制,实现软硬件资源的智能分配。当工作在双端口并行模式的时候,会建立一段时间内访问命令的端口号、命令个数N、读写命令的逻辑地址(LBA)的范围、需要传输的数据量信息的模型,根据预测算法预先判定某个端口的压力,并根据端口带宽阈值的设定值进行调整和分配内部队列缓存、命令缓存和数据缓存,保证双端口的性能与稳定性。预测算法会进行参数的反馈矫正。本专利技术专利提供了资源池,实现了缓存数据的共享。资源池是软硬件资源的集合体,主要包含了数据队列缓存、数据缓存。数据队列缓存用于存放本地读写命令及管理结构,数据缓存用于存放用户数据等,资源池的最小单元称为资源组。本专利技术专利提供了资源池管理模块,根据预测模块的输出,控制和分配双端口资源池内的资源组。
[0018]第六方面,本专利技术专利使用CMB技术提高数据读写的性能。基于CMB技术,可以实现nvmeio队列和prp地址的缓存,主机可以直接将读写命令和对应的地址内容缓存在SSD的内部,SSD不再需要经过外部链路去主机获取,减少了命令传输的时延,提高了读写命令的处理性能。
[0019]在本专利技术的一个实施例中,步骤a)中双端口功能使能模块使能SSD双端口功能并配置PCIE双端口工作模式。
[0020]在本专利技术的一个实施例中,骤b)中控制器缓存功能模块在使能SSD上电初始化时,通过寄存器配置,使能SSD的CMB功能并分配M字节的缓存,支持双端口的数据地址和命令队列在盘内资源分配。
[0021]在本专利技术的一个实施例中,步骤c)包括如下步骤:c

1)数据预测模块建立一个时间段T内读写命令的端口号、命令个数、读写命令的逻辑地址(LBA)的范围、需要传输的数据量之间的信息模型,用于统计和分析双端口传输的读写访问命令的规律,并基于预测算法提供队列调度的机制,为资源管理模块提供资源分配的参考。
[0022]c

2)数据预测模块判定某个端口的压力,根据端口带宽阈值的设置定制调整和分配内部队列缓存、命令缓存、数据缓存,保证双端口的性能与稳定性。
[0023]c

3)数据预测模块进行参数反馈校正,提高预测精度。
[0024]最后应说明的是:以上所述仅为本专利技术的优选实施例而已,并不用于限制本专利技术,尽管参照前述实施例对本专利技术进行了详细的说明,对于本领域的技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种双端口SSD数据队列预测调度方法,其特征在于,包括如下步骤:a)设置双端口功能使能模块,双端口功能使能模块检测双端口SSD外部金手指的DualPortEN#信号是否有效;b)设置控制器缓存功能模块,控制器缓存功能模块使能SSD的CMB功能;c)设置数据预测模块,将资源池内的资源分成N份资源组,数据预测模块输出信号为资源组的份额;d)设置资源管理模块,资源管理模块的输入为数据预测模块的输出,根据数据预测模块的资源组分配份额,配置资源池内各资源模块的使用;e)设置资源池模块,资源池模块包括数据队列缓存、数据缓存,数据队列缓存用于存放本地读写命令及管理结构,数据缓存用于存放用户数据;f)NVMe控制器根据分配的资源解析命令,在固件的参与下完成数据的保存和读取。2.根据权利要求1所述的双端口SSD数据队列预测调度方法,其特征在于:步骤a)中双端...

【专利技术属性】
技术研发人员:吴斌郭鹏衣瑞刚王璞姚香君
申请(专利权)人:山东华芯半导体有限公司
类型:发明
国别省市:

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

1