[发明专利]卸载引擎网卡中描述符预读取的优化方法、系统及终端有效
申请号: | 202110288715.1 | 申请日: | 2021-03-18 |
公开(公告)号: | CN113225307B | 公开(公告)日: | 2022-06-28 |
发明(设计)人: | 潘伟涛;祝靖源;邱智亮;殷建飞;郑圆圆 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L69/12 | 分类号: | H04L69/12;H04L69/16;H04L67/14;H04L47/62;G06F13/28;G06F9/54;G06F9/50 |
代理公司: | 西安长和专利代理有限公司 61227 | 代理人: | 黄伟洪 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 卸载 引擎 网卡 描述 读取 优化 方法 系统 终端 | ||
1.一种针对TCP/IP卸载引擎网卡中描述符预读取的优化方法,其特征在于,所述针对TCP/IP卸载引擎网卡中描述符预读取的优化方法包括:
在TCP/IP卸载引擎的DMA接收模块,对描述符进行预读取处理;
预读取成功后,更新队列中描述符的信息,判断描述符的个数是否满足最大和最小存储门限;若满足,则继续向DMA接收模块发送SQ预读取请求;
所述对描述符进行预读取处理包括:
第一步,主机根据session的活跃程度动态配置每个SQ队列的最大存储门限和最小存储门限;当写入BD块RAM中的描述符达到最小存储门限时,由SQ预读取监控模块向DMA接收模块发送一个SQ预读取请求即描述符预读取请求;
第二步,DMA接收模块收到请求之后,从主机中相应的SQ队列预读取描述符,并将描述符发往总线控制模块,总线控制模块根据逻辑入队模块提前申请的空闲Buffer地址,将描述符写入BD块RAM中,并发送入队请求给逻辑入队模块;
第三步,逻辑入队模块提前向空闲Buffer管理模块申请一个缓存地址并交由总线控制模块;当逻辑入队模块收到入队请求时,根据要写入BD块RAM的描述符的个数判断是否满足队列信息寄存器堆中的最大和最小存储门限,若满足,则继续申请缓存地址,并将首个存储描述符的地址和下一跳的地址写入BD链表RAM中;
第四步,满足入队条件后,总线控制模块根据收到的下一跳Buffer地址将描述符搬移到BD块RAM中;逻辑入队之后更新描述符的数量信息并将入队信息传输给队列信息存储器堆;根据队列的最大和最小门限值判断是否继续向DMA接收模块发送描述符预读取请求;若队列信息寄存器堆中某个队列的描述符持续处于非活跃的状态,则将此描述符发往老化监控模块,并向DMA接收模块反馈老化信息,最终将信息发往主机;
所述预读取成功后,更新队列中描述符的信息,判断描述符的个数是否满足最大和最小存储门限具体包括:
步骤1,当DMA接收模块收到TOE发来的数据信息后,向总线控制模块发送SQ请求信号;
步骤2,总线控制模块向逻辑出队模块发送出队请求,并获取描述符的存储地址,最终根据描述符的存储地址将描述符从BD块RAM中搬移至DMA接收模块;
步骤3,搬移结束后,更新队列中描述符的信息,判断描述符的个数是否满足最大和最小存储门限;若满足,则继续向DMA接收模块发送SQ预读取请求;
所述DMA接收模块还用于存储描述符,存储描述符方法包括:
(1)主机driver为session预分配内存,并且写入DMA_RX_SQ队列;
(2)主机driver写入FPGA的door_bell寄存器,通知FPGA在DMA_RX_SQ处有未处理的RX_SQ;
(3)DMA_RX模块轮询每个队列的door_bell寄存器,读取相应队列的空闲RX_SQ,将其缓存到FPGA本地的RX_SQ队列池;其中,每个队列预读取描述符的数量可配置;
(4)DMA_RX模块从TOE接收数据,存入data_ingress,根据session的属性表找到对应队列ID号,从对应的RX_SQ缓存队列获取空闲SQ;
(5)解析RX_SQ,将data_ingress的数据包通过dma传输到HOST的相应内存空间里;
(6)DMA完成一个RX_SQ的所有地址的消耗,写入HOST中DMA_RX_CQ队列,通知主机driver写入的数据和实际长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110288715.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种硒混合物阵列及其制备方法与应用
- 下一篇:一种电机转子组件自动贴片系统