[发明专利]一种基于多队列千兆以太网控制器的IO虚拟化装置在审
申请号: | 201810622241.8 | 申请日: | 2018-06-15 |
公开(公告)号: | CN108920252A | 公开(公告)日: | 2018-11-30 |
发明(设计)人: | 李龙飞;贺占庄;王剑峰;史阳春;张佳 | 申请(专利权)人: | 西安微电子技术研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F13/28 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 杨博 |
地址: | 710065 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 以太网控制器 主机内存 发送 主机 多队列 虚拟机 虚拟化装置 唯一对应 数据帧 宿主 发送引擎模块 接收引擎模块 目的MAC地址 控制器硬件 宿主计算机 数据交换 构架 传输 优化 改进 | ||
1.一种基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,包括
接收引擎模块(1),完成数据帧从以太网控制器到主机内存的传输;
接收BD环模块(2),存放从主机内存获取的接收BD信息,包括若干个接收BD环,其中一个接收BD环与主机对应,其他的接收BD环与主机上的虚拟机唯一对应;
发送引擎模块(3),根据目的MAC地址,将主机内存中待发送的数据帧发送到以太网控制器;
发送BD环模块(4),存放从主机内存获取的发送BD信息,包括若干个发送BD环,其中一个发送BD环与主机对应,其他的发送BD环与主机上的虚拟机唯一对应;
状态块模块(5),记录接收BD环模块(2)和发送BD环模块(4)中各个BD环的当前状态,
寄存器模块(6),存储硬件电路中的配置信息,包括主机以及各个虚拟机的MAC地址,接收BD环和发送BD环包含的BD信息数目及其更新的阈值;
所述接收引擎模块(1)和发送引擎模块(3)均能够从接收BD环模块(2)中获取接收BD信息。
2.根据权利要求1所述的基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,所述发送引擎模块(3)包括
AHB从机接口模块(7),实现主机内存对间接缓存模块(8)的访问;
间接缓存模块(8),存储主机内存中发送的数据帧;
间接缓存管理模块(9),对间接缓存模块(8)中RAM的地址管理;
地址过滤模块(10),根据数据帧的目的MAC地址对数据帧进行过滤;
AHB主机接口模块(14),获取发送缓存管理模块中的地址,并且将数据帧传输到发送缓存模块中;
发送数据引擎模块(13),针对接收BD环模块(2)和发送BD环模块(4)发起相应的DMA请求,进行数据帧的传输;
发送BD引擎模块(12),从主机内存中获取相应的BD信息并存放在发送BD环模块中;
DMA仲裁模块(11),采用轮询的方式对发送数据引擎模块(13)中的两种DMA请求进行仲裁。
3.根据权利要求2所述的基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,所述发送数据引擎模块(13)采用轮询的方式访问发送BD环模块(1)中的各个BD环,同时获取相应的BD信息,并且发起DMA请求,完成数据帧从主机内存到间接缓存模块(8)的传输,并且发送数据引擎模块(13)更新状态块模块(5)中发送BD环的状态。
4.根据权利要求2所述的基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,所述发送数据引擎模块(13)收到地址过滤模块(10)的内部交换信息,发送数据引擎模块(13)进入内部交换模式,内部交换模式为:发送数据引擎模块(13)根据内部交换信息,确定待交换数据帧在间接缓存模块中的地址以及该地址对应的虚拟机,然后发送数据引擎模块(13)访问状态块模块(5),获得上述虚拟机的接收BD环的状态信息,并且发送数据引擎模块(13)访问上述接收BD环,然后发起DMA请求,完成待交换数据帧到虚拟机的传输,最后发送数据引擎模块(13)更新状态块模块(5)中接收BD环的状态。
5.根据权利要求1所述的基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,所述接收引擎模块(1)分别从接收缓存模块和接收BD环模块(2)中获取接收到的数据帧及相应的BD信息,同时向主机内存发起一个DMA请求,将接收缓存中的数据帧发送到BD信息中描述的主机地址对应的虚拟机。
6.根据权利要求1所述的基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,所述发送引擎模块(3)从发送BD环模块中获取待发送数据帧所对应的BD信息,并且向主机内存发送一个DMA请求,当数据帧的目的MAC地址与主机上所有虚拟机地址均不相同时,将数据帧通过MAC层发送到网络链路中;当数据中的目的MAC地址与主机上任意一个虚拟机地址相同时,发送引擎模块(3)才能够该虚拟机所对应的接收BD环中获取BD信息,并将数据帧发送到BD信息中描述的主机地址对应的虚拟机。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安微电子技术研究所,未经西安微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810622241.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种容器的管理系统及方法
- 下一篇:一种无代理的虚拟机监控系统和监控方法