[发明专利]加速SGL处理的方法与存储设备有效
申请号: | 201911300669.1 | 申请日: | 2019-12-17 |
公开(公告)号: | CN112988623B | 公开(公告)日: | 2021-12-21 |
发明(设计)人: | 张泽;黄好城;王祎磊 | 申请(专利权)人: | 北京忆芯科技有限公司 |
主分类号: | G06F12/1009 | 分类号: | G06F12/1009;G06F12/0882 |
代理公司: | 北京卓特专利代理事务所(普通合伙) 11572 | 代理人: | 陈变花 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加速 sgl 处理 方法 存储 设备 | ||
1.一种加速SGL处理的方法,其特征在于,包括:
获取IO命令关联的SGL;
根据所述SGL生成主机空间描述符列表与DTU描述符列表;
根据DTU描述符列表的DTU描述符获取主机空间描述符列表的一个或多个主机空间描述符;以及
根据获取的一个或多个主机空间描述符发起数据传输。
2.如权利要求1所述的加速SGL处理的方法,其特征在于,其中,主机空间描述符列表包括多个主机空间描述符,所述多个主机空间描述符的每个记录了主机内存地址与长度,并且具有相同的尺寸。
3.如权利要求2所述的加速SGL处理的方法,其中,
所述主机空间描述符列表的多个主机空间描述符被分为多组,DTU描述符表的DTU描述符索引了一组主机空间描述符,一组主机空间描述符的所有主机空间描述符所记录的长度之和等于DTU的长度。
4.根据权利要求3所述的加速SGL处理的方法,其中
根据所述SGL中的连续的一个或多个SGL描述符,生成所述一组主机空间描述符,其中所述连续的一个或多个SGL描述符所指示的主机内存空间的大小大于或等于DTU的长度;
若所述连续的一个或多个SGL描述符所指示的主机内存空间的大小大于DTU的长度,所述连续的一个或多个SGL描述符的最后一个SGL描述符所指示的主机内存空间被拆分,以使得所述连续的一个或多个SGL描述符所指示的主机内存空间的大小等于DTU的长度。
5.如权利要求1-4之一所述的加速SGL处理的方法,其特征在于,其中,DTU描述符列表包括多个DTU描述符,所述多个DTU描述符的每个记录了主机空间描述符的地址与数量,并且具有相同的尺寸。
6.根据权利要求1-4之一所述的加速SGL处理的方法,其中
从前向后遍历所述主机空间描述符列表,每获取其对应的主机内存空间大小等于DTU大小的一个或多个主机空间描述符,将这些一个或多个主机空间描述符作为一组,并为该组生成DTU描述符,生成的DTU描述符记录该组主机空间描述符的第一个的地址,该DTU描述符还记录该组主机空间描述符的数量或占据的存储空间的长度。
7.根据权利要求1-4之一所述的加速SGL处理的方法,其中
若所述SGL中的一个或多个SGL描述符指示了比特桶,在根据这些一个或多个SGL描述符生成的主机空间描述符中设置比特桶标记。
8.根据权利要求7所述的加速SGL处理的方法,其中
若根据DTU描述符列表的DTU描述符获取的主机空间描述符列表的一个或多个主机空间描述符带有比特桶标记;根据获取的带有比特桶标记的每个主机空间描述符不发起数据传输。
9.根据权利要求1-4之一所述的加速SGL处理的方法,其中
根据获取的主机空间描述符操作DMA单元发起数据传输,其中
所述主机空间描述符指示的主机内存地址作为数据传输的一端,而索引了所述主机空间描述符的DTU描述符所对应的DTU作为数据传输的一端。
10.一种存储设备,其特征在于,包括控制部件与非易失存储介质,所述控制部件执行根据权利要求1-9之一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京忆芯科技有限公司,未经北京忆芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911300669.1/1.html,转载请声明来源钻瓜专利网。