您现在的位置: 首页 > 技术转让 > 多根I/O虚拟化共享方法和系统
多根I/O虚拟化共享方法和系统

多根I/O虚拟化共享方法和系统

  • 专利类型:发明专利
  • 有效期:不限
  • 发布日期:2021-07-15
  • 技术成熟度:详情咨询
交易价格: ¥面议
  • 法律状态核实
  • 签署交易协议
  • 代办官方过户
  • 交易成功

专利推荐

  • 技术(专利)类型 发明专利
  • 申请号/专利号 CN201210153862.9 
  • 技术(专利)名称 多根I/O虚拟化共享方法和系统 
  • 项目单位 中国科学院计算技术研究所
  • 发明人 曹政;刘小丽;安学军;张佩珩;孙凝晖;王展;苏勇;刘飞龙 
  • 行业类别 物理
  • 技术成熟度 详情咨询
  • 交易价格 ¥面议
  • 联系人 李志文
  • 发布时间 2021-07-15  
  • 01

    项目简介

    一种多根I/O虚拟化共享系统和方法,该系统包括:根节点子系统,所述根节点子系统包含N个根节点,每个根节点由根联合体及其连接的CPU和内存组成;I/O设备子系统,所述I/O设备子系统包含M个I/O设备,各I/O设备具备同时为所述多个虚拟机提供服务的能力;多根I/O虚拟化共享控制器,所述多根I/O虚拟化共享控制器由PCIe上游端口、PCIe多根交换机和PCIe下游端口组成,该多根I/O虚拟化共享控制器通过PCIe接口协议将根节点子系统和I/O设备子系统耦合,实现I/O设备资源被多个根节点直接共享。
    展开
  • 02

    说明书


    1.一种多根I/O虚拟化共享系统,其特征在于,包括:根节点子系统,所述根节点子系统包含N个根节点,每个根节点是一个单根PCIe环境,由根联合体及其连接的CPU和内存组成,根节点运行多个虚拟机;I/O设备子系统,所述I/O设备子系统包含M个I/O设备,各I/O设备具备同时为所述多个虚拟机提供服务的能力,I/O设备子系统是属于主控制根节点的单根PCIe环境,所述主控制根节点对系统中的所有I/O设备资源具有绝对的控制权,它管理和分配系统中的PCIe设备,根节点子系统只有一个主控制根节点;多根I/O虚拟化共享控制器,所述多根I/O虚拟化共享控制器由PCIe上游端口、PCIe多根交换机和PCIe下游端口组成,所述多根I/O虚拟化共享控制器通过PCIe接口协议将根节点子系统和I/O设备子系统耦合,实现I/O设备资源被多个根节点直接共享,所述多根I/O虚拟化共享控制器是涉及多个根节点的多根PCIe环境;其中所述多根I/O虚拟化共享控制器包括:PCIe上游端口,所述PCIe上游端口包含符合PCI-Express基本规范中的PCIe端口类型定义的PCIe控制器,并负责与根节点子系统的互连,并负责单根PCIe环境和多根PCIe环境之间的事务包转换;PCIe多根交换机,所述PCIe多根交换机包含端口数为N+M的PCIe交换机,实现N个根节点与M个I/O设备之间的逻辑连接,每个根节点都有一个对应的虚拟PCIe交换机,其中N为根节点的数目;PCIe下游端口,所述PCIe下游端口包含符合PCI-Express基本规范中的PCIe端口类型定义的PCIe控制器和直接I/O虚拟化接口设备,并负责与I/O设备子系统的互连,并负责单根PCIe环境和多根PCIe环境之间的事务包转换。
    2.如权利要求1所述的多根I/O虚拟化共享系统,其特征在于,所述根节点子系统包括:主控制根节点,所述主控制根节点对系统中的所有I/O设备资源具有绝对的控制权,它管理和分配系统中的PCIe设备,根节点子系统只有一个主控制根节点;从属根节点,所述从属根节点对系统中的I/O设备资源拥有一定的使用权,根节点子系统中除了主控制根节点之外的其他根节点均为从属根节点,它们共享系统中的I/O设备。
    3.如权利要求1所述的多根I/O虚拟化共享系统,其特征在于,所述单根PCIe环境和多根PCIe环境之间的事务包转换包括:单根PCIe环境到多根PCIe环境的事务包转换,是指事务包从单根PCIe环境进入多根PCIe环境时,向事务包附加上其所属根节点标识ID;多根PCIe环境到单根PCIe环境的事务包转换,是指事务包从多根PCIe环境进入单根PCIe环境时,从事务包中删除根节点标识ID,还原标准的单根PCIe事务包。
    4.如权利要求1所述的多根I/O虚拟化共享系统,其特征在于,包括:所述虚拟PCIe交换机实现一个根节点与M个I/O设备的数据交换,拥有M+1个端口,其中M为I/O设备的数目,每个端口都有包含一个PCI桥。
    5.如权利要求2所述的多根I/O虚拟化共享系统,其特征在于,所述PCIe下游端口所包括的所述直接I/O虚拟化接口设备是对应于PCIe下游端口连接的I/O设备的逻辑虚拟功能镜像,所述直接I/O虚拟化接口设备通过建立逻辑虚拟功能镜像,替代PCIe下游端口连接的I/O设备中各功能,作为从属根节点的设备占位符,实现I/O设备被多个根节点共享。
    6.如权利要求5所述的多根I/O虚拟化共享系统,其特征在于,所述直接I/O虚拟化接口设备包括:所述逻辑虚拟功能镜像,是对应于直接I/O虚拟化接口设备所在的PCIe下游端口连接的I/O设备中功能的逻辑虚拟功能镜像,所述逻辑虚拟功能镜像替代I/O设备功能接收和响应从属根节点的枚举发现和初始化配置。
    7.一种多根I/O虚拟化共享方法,实施于如权利要求1-6中任意一项所述的多根I/O虚拟化共享系统中,其特征在于,包括:步骤1,使用直接I/O虚拟化接口设备实现I/O设备被多个根节点共享;步骤2,使用主控制根节点管理和控制多根I/O虚拟化共享系统;步骤3,多根I/O虚拟化共享控制器针对PCIe下行事务和上行事务提供了相应的转发处理方法,实现了多个根节点和I/O设备之间的逻辑连接,其中所述步骤3包括:所述下行事务处理方法,为对根节点发起的PCIe事务包的处理方法,包括基于ID路由的下行事务的处理方法和基于地址路由的下行事务的处理方法;所述上行事务处理方法,为对I/O设备或者多根I/O虚拟化共享控制器发起的PCIe事务包的处理方法,包括基于ID路由的上行事务的处理方法和基于地址路由的上行事务的处理方法。
    8.如权利要求7所述的多根I/O虚拟化共享方法,其特征在于,所述步骤1还包括:步骤91,直接I/O虚拟化接口设备通过获取I/O设备的配置空间信息,为I/O设备中每个功能建立相应的逻辑虚拟功能镜像;步骤92,直接I/O虚拟化接口设备分析主控制根节点发出的设备功能分配指令,建立设备功能与根节点的从属映射关系;步骤93,在从属根节点进行PCIe设备扫描时,直接I/O虚拟化接口设备根据记录的设备功能和根节点的从属映射关系,截取和模拟响应从属根节点对所分配的设备功能的枚举发现和初始化配置;步骤94,在设备功能正常操作使用过程中,直接I/O虚拟化接口设备负责将从属根节点对所分配的设备功能的访问硬件重映射到物理I/O设备中相应功能,实现从属根节点对I/O设备的直接访问。
    9.如权利要求7所述的多根I/O虚拟化共享方法,其特征在于,所述步骤2包括:步骤101,根节点子系统上电启动,各根节点独立进行各自PCIe域中PCIe设备发现和初始化配置;在设备功能分配前,只有主控制根节点能够发现和初始化物理I/O设备;步骤102,主控制根节点执行管理用户资源分配策略进行设备功能分配;主控制根节点根据管理用户资源分配策略,将I/O设备的硬件资源以设备功能为单位分配给各从属根节点,为每个从属根节点建立PCIe拓扑结构;步骤103,引导各从属根节点重新发现和初始化PCIe设备;步骤104,根节点子系统加载I/O设备驱动,以备系统进行操作使用;在系统正常运行过程中,如果管理用户指示修改设备功能分配指令,转向步骤102。
    10.如权利要求9所述的多根I/O虚拟化共享方法,其特征在于,所述步骤101中主控制根节点PCIe域初始化配置包括:步骤111,主控制根节点上电启动;步骤112,读写PCIe多根交换机中主控制根节点对应的上游PCI桥配置信息;步骤113,读写PCIe多根交换机中下游PCI桥配置信息;如果PCIe多根交换机中的所有下游PCI桥配置信息都遍历结束,转向步骤115;否则,转向步骤114;步骤114,读写相应下游PCI桥连接的I/O设备的配置空间信息,然后转向步骤113;步骤115,执行管理用户资源分配策略向各从属根节点分配设备功能;步骤116,引导各从属根节点重新发现和初始化PCIe设备;步骤117,加载I/O设备驱动以备系统操作使用。
    11.如权利要求9所述的多根I/O虚拟化共享方法,其特征在于,所述步骤101中从属根节点PCIe域初始化配置流程还包括:步骤121,从属根节点上电启动;步骤122,读写PCIe多根交换机中该从属根节点对应的上游PCI桥配置信息;步骤123,读写PCIe多根交换机中下游PCI桥配置信息,如果PCIe多根交换机中的所有下游PCI桥配置信息都遍历结束,转向步骤125;否则,转向步骤124;步骤124,读写相应下游PCI桥连接的I/O设备的配置空间信息;此时,从属根节点对应的虚拟PCIe交换机没有连接任何I/O设备,然后转向步骤123;步骤125,从属根节点上电启动初始化结束,如果接收到PCIe重扫描事件,转向步骤126;步骤126,重新扫描和初始化PCIe设备,其为分配得到的设备功能对应的逻辑虚拟功能镜像;步骤127,加载I/O设备驱动以备系统操作使用。
    12.如权利要求7所述的多根I/O虚拟化共享方法,其特征在于,所述基于ID路由的下行事务的处理方法包括:步骤141、PCIe上游端口接收从根节点发来的PCIe事务包,并将该端口连接的根节点的标识ID记录在接收到的事务包中,然后将修改后的PCIe事务包传送到PCIe多根交换机中,转向步骤142;步骤142、PCIe多根交换机解析下行事务包的路由方式,PCIe多根交换机对下行事务包的路由方式进行解析,如果是基于ID路由的事务包,转向步骤143;步骤143、PCIe多根交换机对基于ID路由的下行事务包中的ID号进行判定,如果事务包中ID位于本地的总线范围之内,则转向步骤144;如果事务包中ID位于交换机从属的总线范围之内,则转向步骤146;否则,转向步骤145;步骤144、PCIe多根交换机本地处理响应该事务包,然后转向步骤141;步骤145、向事务包指示的根节点返回一个不支持的事务包,然后转向步骤141;步骤146、PCIe多根交换机确定转发事务包的出端口,PCIe多根交换机将要转发事务包中的ID与其从属的下游端口的总线范围进行匹配,确定事务包的出端口,并将事务包传送至匹配出端口对应的PCIe下游端口,然后转向步骤147;步骤147、PCIe下游端口解析接收到的事务包,PCIe下游端口对接收到的事务包进行解析,提取事务包中的根节点标识ID和目标设备功能ID,所述目标设备功能ID,对于请求事务包,是指事务包中总线号/设备号/功能号域组成的数据段;对于完成包,是指事务包中的请求者ID,操作完成后转向步骤148;步骤148、PCIe下游端口对事务包的发起根节点进行判定;如果事务包中附加的根节点标识ID指示是从属根节点,则将该事务包传送给直接I/O虚拟化接口设备,转向步骤149;否则,如果指示是主控制根节点,将该事务包传送给PCIe控制器,转向步骤1413;步骤149、直接I/O虚拟化接口设备对事务包进行功能映射;直接I/O虚拟化接口设备根据事务包中的从属根节点标识ID和目标设备功能ID,查询其映射的物理设备功能ID;如果存在匹配的物理设备功能ID,转向步骤1410;如果不存在;则转向步骤145;步骤1410、直接I/O虚拟化接口设备改写事务包;直接I/O虚拟化接口设备将事务包中目标设备功能ID替换为步骤149中获得的匹配物理设备功能ID,然后转向步骤1411;步骤1411、直接I/O虚拟化接口设备对事务包的类型进行判定;如果是配置包,则转向步骤1412;否则,转向步骤1413;步骤1412、直接I/O虚拟化接口设备对事务包进行处理响应,完成后转向步骤141;步骤1413、PCIe控制器将事务包送给其端口连接的物理I/O设备,完成后转向步骤141。
    13.如权利要求7所述的多根I/O虚拟化共享方法,其特征在于,所述基于地址路由的下行事务的处理方法,包括:步骤151、PCIe上游端口接收从根节点发来的PCIe事务包,并将该端口连接的根节点的标识ID记录在接收到的事务包中;然后将修改后的PCIe事务包传送到PCIe多根交换机中,转向步骤152;步骤152、PCIe多根交换机解析下行事务包的路由方式;PCIe多根交换机对下行事务包的路由方式进行解析,如果是基于地址路由的事务包,转向步骤153;步骤153、PCIe多根交换机对基于地址路由的下行事务包的目标访存地址进行判定;如果事务包中目标访存地址位于本地的地址窗口之内,则转向步骤154;如果事务包中目标访存地址位于交换机从属的地址窗口之内,则转向步骤156;否则,转向步骤155;步骤154、PCIe多根交换机本地处理响应该事务包,然后转向步骤151;步骤155、向事务包指示的根节点返回一个不支持的事务包,然后转向步骤151;步骤156、PCIe多根交换机确定转发事务包的出端口;PCIe多根交换机将要转发事务包中的目标访存地址与其从属的下游端口的地址窗口进行匹配,确定事务包的出端口,并将事务包传送至匹配出端口对应的PCIe下游端口;然后转向步骤157;步骤157、PCIe下游端口解析接收到的事务包;PCIe下游端口对接收到的事务包进行解析,提取事务包中的根节点标识ID和目标访存地址;操作完成后转向步骤158;步骤158、PCIe下游端口对事务包的发起根节点进行判定;如果事务包中附加的根节点标识ID指示是从属根节点,则将该事务包传送给直接I/O虚拟化接口设备,转向步骤159;否则,如果指示是主控制根节点,将该事务包传送给PCIe控制器,转向步骤1511;步骤159、直接I/O虚拟化接口设备对事务包进行地址映射;直接I/O虚拟化接口设备根据事务包中的从属根节点标识ID和目标访存地址,查询其在主控制根节点PCIe域中的访存地址;如果存在匹配的访存地址,转向步骤1510;如果不存在;则转向步骤155;步骤1510、直接I/O虚拟化接口设备改写事务包;直接I/O虚拟化接口设备将事务包中的目标访存地址替换为步骤159中获得的匹配访存地址,然后转向步骤1511;步骤1511、PCIe控制器将事务包送给其端口连接的物理I/O设备,完成后转向步骤151。
    14.如权利要求7所述的多根I/O虚拟化共享方法,其特征在于,所述基于ID路由的上行事务的处理方法,包括:步骤161、PCIe下游端口接收从I/O设备发来的PCIe事务包,并将事务包传送给直接I/O虚拟化接口设备,转向步骤162;步骤162、直接I/O虚拟化接口设备提取上行事务包中的发起设备功能ID;基于ID路由的上行事务包为完成包,其发起设备功能ID为事务包中的完成者ID;操作完成后转向步骤163;步骤163、直接I/O虚拟化接口设备进行设备功能ID映射;利用步骤162提取的发起设备功能ID查询其所属的根节点标识ID及其在所属根节点PCIe域中的ID号;操作完成后转向步骤164;步骤164、直接I/O虚拟化接口设备对事务包的目标根节点进行判定;如果查询到的匹配目标根节点指示是主控制根节点,转向步骤165;否则,如果匹配的目标根节点指示是从属根节点,转向步骤166;步骤165、直接I/O虚拟化接口设备修改事务包,将主控制根节点标识ID附加在事务包中,然后转向步骤167;步骤166、直接I/O虚拟化接口设备修改事务包,将步骤163获得的从属根节点标识ID附加在事务包中,并将事务包中的发起设备功能ID替换为步骤163中获得的所属根节点PCIe域中的ID号;转向步骤167;步骤167、PCIe下游端口将修改后的事务包传送给PCIe多根交换机;转向步骤168;步骤168、PCIe多根交换机将上行事务包交换至事务包中的根节点标识ID对应的PCIe上游端口;转向步骤169;步骤169、PCIe上游端口删除接收到的事务包中的根节点标识ID,将事务包传送给其连接的根节点;转向步骤161。
    15.如权利要求7所述的多根I/O虚拟化共享方法,其特征在于,所述基于地址路由的上行事务的处理方法,包括:步骤171、PCIe下游端口接收从I/O设备发来的PCIe事务包,并将事务包传送给直接I/O虚拟化接口设备,转向步骤172;步骤172、直接I/O虚拟化接口设备提取上行事务包中的发起设备功能ID;基于地址路由的上行事务为请求包,发起设备功能ID为事务包中的请求者ID;操作完成后转向步骤173;步骤173、直接I/O虚拟化接口设备进行设备功能ID映射;利用步骤172提取的发起设备功能ID查询其所属的根节点标识ID及其在所属根节点PCIe域中的ID号,操作完成后转向步骤174;步骤174、直接I/O虚拟化接口设备对事务包的目标根节点进行判定;如果步骤173中查询到的匹配目标根节点指示是主控制根节点,转向步骤175;否则,如果匹配的目标根节点指示是从属根节点,则转向步骤176;步骤175、直接I/O虚拟化接口设备修改事务包,将主控制根节点标识ID记录在事务包中,然后转向步骤177;步骤176、直接I/O虚拟化接口设备修改事务包,将步骤173获得的从属根节点标识ID记录在事务包中,并将事务包中的发起设备功能ID替换为步骤173中获得的所属根节点PCIe域中的ID号;转向步骤177;步骤177、PCIe下游端口将修改后的事务包传送给PCIe多根交换机;转向步骤178;步骤178、PCIe多根交换机将上行事务包交换至事务包中的根节点标识ID对应的PCIe上游端口;转向步骤179;步骤179、PCIe上游端口删除接收到的事务包中的根节点标识ID,将事务包传送给其连接的根节点;转向步骤171。
    展开

专利技术附图

< >

服务流程

过户资料

  • 买卖双方需提供资料
  • 平台提供
  • 过户后您将获得
  • 买家
  • 卖家
  • 公司
  • 企业营业执照
  • 企业营业执照

    专利注册证原件

  • 个人
  • 身份证

    个体户营业执照

  • 身份证

    专利注册证原件

  • 专利代理委托书

    转让申请书

    转让协议

  • 手续合格通知书

    专利证书

    专利利登记簿副本

安全保障

  • 品类齐全

    海量资源库,平台整合几十万闲置资源。
  • 交易保障

    完善的资金保障体系确保买卖双方资金安全。
  • 专人跟进

    专业交易顾问全程服跟进,确保交易流畅。
  • 快速响应

    专业在线/电话客服服务,快速响应贴心服务。
  • 售后无忧

    资质过硬,国内大知识产权服务平台。

在线客服

在线咨询

010-83278899

返回顶部