[发明专利]用于支持计算环境中的I/O虚拟化的系统和方法有效
申请号: | 201480063821.8 | 申请日: | 2014-10-21 |
公开(公告)号: | CN105793835B | 公开(公告)日: | 2018-09-07 |
发明(设计)人: | U·阿加沃尔 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F3/06 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 边海梅 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 管理 支持 infiniband ib 虚拟主机 总线 适配器 vhba 利用 单个 外部 | ||
1.一种用于支持计算环境中的I/O虚拟化的系统,包括:
包含与所述计算环境中的一个或多个虚拟主机总线适配器vHBA相关联的多个数据包缓冲区的空闲缓冲区池,其中每个所述vHBA维护指向所述空闲缓冲区池中的一个或多个数据包缓冲区的缓冲区指针的主链表;
在与输入/输出I/O设备相关联的芯片上存储器中定义的上下文表,其中所述上下文表维护指向从所述空闲缓冲区池为盘读取操作分配的一个或多个数据包缓冲区的缓冲区指针的临时链表;及
其中所述I/O设备操作来:
当I/O设备从执行盘读取操作的物理主机总线适配器HBA接收到盘读取数据时,打开所述上下文表,
更新所述缓冲区指针的临时链表,及
当所述上下文表被关闭时,将所述缓冲区指针的临时链表合并到所述缓冲区指针的主链表中。
2.如权利要求1所述的系统,其中:
所述I/O设备允许InfiniBand(IB)架构上的服务器发起盘读取操作。
3.如权利要求1或2所述的系统,其中:
所述I/O设备将IB头部和序列号添加到从物理HBA接收到的每个数据包。
4.如权利要求1或2所述的系统,其中:
当完整消息可用时或者当IB最大传输单元(MTU)数据包可用时,所述I/O设备操作来读出存储在外部存储器中的盘读取数据。
5.如权利要求1或2所述的系统,其中:
每个vHBA在IB域中维护单独的数据包序列号(PSN)空间。
6.如任何权利要求1或2所述的系统,其中:
所述I/O设备为与所述vHBA相关联的不同盘读取操作维护不同的上下文表。
7.如权利要求1或2所述的系统,其中:
在所述I/O设备打开与所述vHBA相关联的另一个上下文表时所述上下文表被关闭。
8.如权利要求7所述的系统,其中:
所述另一个上下文表维护指向从所述空闲缓冲区池中分配的一个或多个数据包缓冲区的缓冲区指针的新的临时链表。
9.如权利要求7所述的系统,其中:
当vHBA从另一个盘读取操作接收到数据时,所述I/O设备打开另一个上下文表。
10.如权利要求7所述的系统,其中:
当vHBA接收到作为RDMA只写命令、RDMA写最后一个命令、只发送命令和RDMA读取请求命令中的一个的命令时,所述I/O设备打开另一个上下文表。
11.一种用于支持计算环境中的高效数据包处理的方法,包括:
提供包含与所述计算环境中的一个或多个虚拟主机总线适配器vHBA相关联的多个数据包缓冲区的空闲缓冲区池,其中每个所述vHBA维护指向所述空闲缓冲区池中的一个或多个数据包缓冲区的缓冲区指针的主链表;
在与输入/输出I/O设备相关联的芯片上存储器中定义上下文表,其中所述上下文表维护指向从所述空闲缓冲区池中为盘读取操作分配的一个或多个数据包缓冲区的缓冲区指针的临时链表;及
允许所述I/O设备操作来:
当所述I/O设备从执行盘读取操作的物理主机总线适配器HBA接收到盘读取数据时,打开所述上下文表,
更新所述缓冲区指针的临时链表,及
当所述上下文表被关闭时,将所述缓冲区指针的临时链表合并到所述缓冲区指针的主链表中。
12.如权利要求11所述的方法,还包括:
允许InfiniBand(IB)架构上的服务器发起盘读取操作。
13.如权利要求11或12所述的方法,还包括:
将IB头部和序列号添加到从物理HBA接收到的每个数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480063821.8/1.html,转载请声明来源钻瓜专利网。