[发明专利]一种支持单根IO虚拟化用户级接口控制装置及其方法有效
申请号: | 201210096454.4 | 申请日: | 2012-04-01 |
公开(公告)号: | CN102650976A | 公开(公告)日: | 2012-08-29 |
发明(设计)人: | 曹政;刘飞龙;刘小丽;安学军;张佩珩;孙凝晖 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F13/28 | 分类号: | G06F13/28;H04L12/56 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 梁挥;祁建国 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 io 虚拟 化用 接口 控制 装置 及其 方法 | ||
1.一种支持单根IO虚拟化用户级接口控制装置,其特征在于,包括:
系统总线接口模块,用于对所述装置与处理器之间的数据传输,实现符合PCI Express协议的事务层,数据链路层,和物理层功能;
操作模块,用于实现设备配置空间,以及虚功能VF的通信接口QP与操作队列OQ资源之间的映射,使用门铃机制对QP进行直接访问,其包含M个操作队列,所述M≥1;
DMA模块,用于根据DMA引擎的空闲情况,对DMA引擎进行映射,所述DMA引擎进行数据的发送与接收;
网络包分发仲裁模块,用于接收DMA引擎发出的网络包,将不同的DMA引擎的网络包进行仲裁选择发送,同时接收网络中的网络包,发送至DMA引擎进行处理。
2.如权利要求1所述的支持单根IO虚拟化用户级接口控制装置,其特征在于,所述操作模块还包括:
操作队列映射模块,用于对所述设备配置空间中的一个物理功能PF配置空间和N个虚功能VF配置空间,实现虚功能VF的通信接口QP与操作队列OQ资源之间的映射;
操作队列模块,用于将M个操作队列缓存每个虚功能VF的通信接口QP的DMA门铃,并且供DMA模块读取后分配给DMA引擎使用,每个操作队列由一个FIFO组成。
3.如权利要求1、2任一所述的支持单根IO虚拟化用户级接口控制装置,其特征在于,包括:
所述通信接口QP,为所述装置与通信进程之间的接口,用于实现用户级通信,每个虚功能均包含Q个QP,每个通信进程独占一个QP,并使用门铃机制对QP的直接访问,向所述装置发起DMA操作请求。
4.如权利要求1所述的支持单根IO虚拟化用户级接口控制装置,其特征在于,包括:
所述门铃机制,门铃由DMA描述符的内存首地址和DMA描述符的长度组成;通信进程将门铃写入通信接口QP用户控制页面中的门铃地址寄存器,收到门铃写入动作后,从门铃携带的DMA地址中读取完整的DMA描述符,启动相应的DMA操作。
5.如权利要求2所述的支持单根IO虚拟化用户级接口控制装置,其特征在于,所述操作队列映射模块还包括:
设备配置空间子模块,用于物理功能PF配置空间和虚功能VF配置空间,在虚功能VF基址寄存器对应的存储空间包含Q个通信接口QP所需的用户控制页面和系统控制页面信息,所述Q≥1;
映射子模块,用于将收到的DMA门铃、虚功能VF和通信接口QP,写入到操作队列中,该模块使用的仲裁算法,在满足上层软件对QoS需求的同时,还要实现对M个操作队列的公平使用。
6.如权利要求5所述的支持单根IO虚拟化用户级接口控制装置,其特征在于,所述设备配置空间子模块还包括:
所述虚功能VF基址寄存器对应的用户控制页面信息,将存储虚功能中通信队列QP私有相关配置,其中,
门铃地址寄存器,只写,64位,通信进程通过将DMA描述符所在的内存地址写入该寄存器,来启动一次DMA操作;
流控更新寄存器,只写,1位,通信进程每写一次该寄存器,表示增加S个门铃,其中S是该用户级接口控制装置与上层驱动软件协定的、每次增加的门铃数目,S的具体取值在虚功能VF基址寄存器对应的系统控制页面信息控制页面中的流控粒度寄存器获得;
接收数据地址寄存器,可读可写,64位,通信进程在内存中开辟的接收数据缓冲区首地址;
发送完成事件地址寄存器,可读可写,64位,通信进程在内存中开辟的发送完成事件缓冲区首地址;
接收完成事件地址寄存器,可读可写,64位,通信进程在内存中开辟的接收完成事件缓冲区首地址。
7.如权利要求5所述的支持单根IO虚拟化用户级接口控制装置,其特征在于,所述设备配置空间子模块还包括:
所述虚功能VF基址寄存器对应的系统控制页面信息,将存储虚功能VF中通信队列QP公有相关配置,其中,
接收完成事件缓冲区深度,32位,可读可写,配置接收完成事件缓冲区深度;
发送完成事件缓冲区深度,32位,可读可写,配置发送完成事件缓冲区深度;
流控粒度寄存器,32位,可读可写,配置每次更新的门铃数量;
VF优先级寄存器,32位,可读可写,配置当前虚功能DMA请求的优先级;
QP状态寄存器,Q位,只读,每个QP对应1位,用来表示对应QP的状态,0为未初始化,1为已初始化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210096454.4/1.html,转载请声明来源钻瓜专利网。