地址转换方法、装置及系统制造方法及图纸

技术编号:19691720 阅读:24 留言:0更新日期:2018-12-08 11:09
本申请公开了一种地址转换方法、装置及系统,该方法包括:第一地址转换单元ATU接收第一虚拟机VM发送的访问请求,该访问请求携带第一地址和第一地址的参数信息,第一地址的参数信息包括目标虚拟功能VF的标识,第一ATU根据第一地址的参数信息和地址映射表中的VF范围描述信息确定匹配关系,当目标VF的标识和VF范围描述信息匹配成功时,第一ATU根据地址映射表将第一地址转换为第二地址。由此减少ATU的数量,提升资源利用率和消息处理效率。

【技术实现步骤摘要】
地址转换方法、装置及系统
本申请涉及服务器
,特别涉及一种地址转换方法、装置及系统。
技术介绍
随着虚拟化技术的发展,为了提高服务器中虚拟化处理能力,会在服务器中接入片上系统(systemonchip,SoC)(例如,SoC以扩展外围组件互连高速(PeripheralComponentInterconnectExpress,PCIe)总线标准卡的形式接入服务器),由SoC分担部分服务器的处理器的功能,以此利用SoC对服务器的处理器功能进行卸载。目前,在服务器中,由于PCIe限制,在服务器的处理器中有一段地址域A,在SoC中有另一段地址域B,两个地址域可能存在同样的地址,处理器需要区分这两个地址域中相同地址的访问对象。一般采取的方法是通过在地址域A中划分出一段地址空间,对地址域B中的需要用到的地址做映射,在PCIe中将地址域A中划分出的一段地址空间称为基地址寄存器(baseaddressregister,BAR)地址段,且BAR地址段被划分为多个BAR地址区间。由SoC中的地址转换单元(addresstranslationunit,ATU)负责将地址域A的地址转换到地址域B的地址。在虚拟化场景中,每个服务器中部署有至少一个虚拟机(virtualmachines,VM),相应地,在PCIe总线中,每个物理功能(physicalfunction,PF)包含1个或多个虚拟功能(virtualfunction,VF)。对于1个固定的VM,可以使用1个或多个VF。每个VF对应有多个BAR地址区间(比如BAR01,BAR23,BAR45)。每个BAR地址区间可以包含多个区域(region)。每个区域对应一个地址转换单元(addresstranslationunit,ATU)。在VM需要访问处理器的BAR地址段中的地址时,实际是访问VF对应的BAR地址范围中的地址。该BAR地址范围中的地址被映射到SoC的寄存器中,需要利用SoC中ATU完成VM所要访问的VF对应的BAR地址范围中的地址和SoC的寄存器中的地址的转换,该BAR地址范围为该VF对应的多个BAR地址区间中的地址范围,由于每个BAR地址区间包括多个区域,因此,每个VF的BAR地址范围相应地也包括多个区域。传统的实现方式中,SoC中包括多个ATU。当VM需要访问处理器的BAR地址段中的地址且发送访问请求时,所有ATU均会接收该访问请求,并解析该访问请求中携带的待访问的地址,最终由一个匹配的ATU将VM待访问的地址转换为寄存器中的地址。例如,系统中存在两个VM,每个VM对应一个VF,每个VF对应一个BAR地址区间,每个BAR地址区间包含2个区域。此时,SoC中需要配置4个ATU分别用于完成不同VM的访问请求的地址转换。随着VM数量增多,ATU数量也会增多。而且,在SoC接收到任意一个VM发送的访问请求时,所有ATU都会进行处理,增大了SoC负载。因此,上述ATU实现过程存在资源浪费和处理效率低的问题。
技术实现思路
本申请提供了一种地址转换方法、装置及系统,可以用于解决传统技术中ATU实现过程存在资源浪费和处理效率低的问题。所述技术方案如下:第一方面,提供了一种地址转换方法,所述方法包括:第一ATU接收第一VM发送的访问请求,访问请求携带第一地址和第一地址的参数信息,根据第一地址的参数信息和地址映射表确定匹配关系,地址映射表包括VF范围描述信息,VF范围描述信息用于描述至少两个VF的属性,当确定目标VF的标识和VF范围描述信息匹配成功时,第一ATU根据地址映射表将第一地址转换为第二地址,第二地址为第一地址在SoC中的映射地址。其中,第一ATU为SoC中部署的至少一个ATU中任意一个,SoC与处理器通过扩展外围组件互连高速PCIe总线相连,处理器上运行有至少一个VM,第一VM为至少一个VM中任意一个,在PCIe总线中为每个VM分配至少一个虚拟功能VF,每个VF对应的基地址寄存器BAR地址范围对应SoC的寄存器中一段地址范围,每个VF对应的BAR地址范围包括至少一个区域region,第一地址为第一VM待访问的目的地址,待访问的目的地址为处理器管理的BAR地址段中的地址,第一地址的参数信息包括目标VF的标识,目标VF是第一VM在PCIe总线中分配的至少一个VF中的一个。在本申请中,由于VF范围描述信息用于描述至少两个VF的属性,因此,第一ATU可以对至少两个VF对应的BAR地址范围中的地址进行转换,而不是只能对某个VF对应的BAR地址范围中的地址进行转换,因此,通过本申请提供的地址转换方法,可以减少在SoC上部署的ATU的数量,从而避免在ATU实现过程存在资源浪费和处理消息低的问题。在一种可能的实现方式中,至少两个VF是在编号上连续的VF,VF范围描述信息包括VF起始标识和VF数目,VF起始标识是至少两个VF对应的至少两个编号中最小的编号,VF数目是至少两个VF的个数。这种情况下,确定目标VF的标识与VF范围描述信息匹配成功,包括:当目标VF的标识大于或等于VF起始标识,且小于VF起始标识与VF数目之间的和时,确定目标VF的标识与VF范围描述信息匹配成功。在本申请中,当至少两个VF是在编号上连续的VF时,通过VF起始标识和VF数目即可确定至少两个VF是哪些VF,因此,VF范围描述信息可以包括VF起始标识和VF数目。在另一种可能的实现方式中,VF范围描述信息包括至少两个VF中每个VF的标识。这种情况下,确定目标VF的标识与VF范围描述信息匹配成功,包括:当目标VF的标识为VF范围描述信息中的标识时,确定目标VF的标识与VF范围描述信息匹配成功。在本申请中,VF范围描述信息也可直接包括至少两个VF中每个VF的标识,以表征至少两个VF是哪些VF。可选地,第一地址的参数信息还包括区域标识,区域标识用于指示第一地址归属的区域,地址映射表还包括区域描述信息,区域描述信息用于描述至少两个区域中的地址,至少两个区域与至少两个VF一一对应,且第一ATU用于对至少两个区域中的地址进行地址转换。这种情况下,第一ATU根据地址映射表将第一地址转换为第二地址之前,还包括:当确定区域标识与区域描述信息匹配成功时,第一ATU执行根据地址映射表将第一地址转换为第二地址的操作。在本申请中,在对第一地址进行地址转换之前,除了需要进行VF匹配,还需要进行区域匹配。其中,至少两个区域的大小相同,且每个区域的起始地址相同,区域描述信息包括区域大小、第一起始地址、PF标识和BAR地址区间标识,区域大小是指至少两个区域中任一区域的大小,第一起始地址是指至少两个区域中任一区域的起始地址,区域标识包括目标PF的标识和目标BAR地址区间的标识,目标PF是目标VF所属的PF,目标BAR地址区间是第一地址所属的BAR地址区间。这种情况下,确定区域标识与区域描述信息匹配成功,包括:当目标PF的标识与区域描述信息中的PF标识相同、目标BAR地址区间的标识与区域描述信息中的BAR地址区间标识相同、第一地址大于或等于第一起始地址,且小于或等于第一起始地址与区域大小之间的和时,确定区域标识与区域描述信息匹配成功。在本申请中,区域匹配具体包括上述三个方面的匹配。其中,地址映射表还包括第二起始地址,第二起始地址是指第一A本文档来自技高网
...

【技术保护点】
1.一种地址转换方法,其特征在于,所述方法包括:第一地址转换单元ATU接收第一虚拟机VM发送的访问请求,所述访问请求携带第一地址和所述第一地址的参数信息,所述第一ATU为片上系统SoC中部署的至少一个ATU中任意一个,所述SoC与处理器通过扩展外围组件互连高速PCIe总线相连,所述处理器上运行有至少一个VM,所述第一VM为所述至少一个VM中任意一个,在所述PCIe总线中为每个VM分配至少一个虚拟功能VF,每个VF对应的基地址寄存器BAR地址范围对应SoC的寄存器中一段地址范围,每个VF对应的BAR地址范围包括至少一个区域region,所述第一地址为所述第一VM待访问的目的地址,所述待访问的目的地址为所述处理器管理的BAR地址段中的地址,所述第一地址的参数信息包括目标VF的标识,所述目标VF是所述第一VM在所述PCIe总线中分配的至少一个VF中的一个;所述第一ATU根据所述第一地址的参数信息和地址映射表确定匹配关系,所述地址映射表包括VF范围描述信息,所述VF范围描述信息用于描述至少两个VF的属性;当确定所述目标VF的标识和所述VF范围描述信息匹配成功时,所述第一ATU根据所述地址映射表将所述第一地址转换为第二地址,所述第二地址为所述第一地址在所述SoC中的映射地址。...

【技术特征摘要】
1.一种地址转换方法,其特征在于,所述方法包括:第一地址转换单元ATU接收第一虚拟机VM发送的访问请求,所述访问请求携带第一地址和所述第一地址的参数信息,所述第一ATU为片上系统SoC中部署的至少一个ATU中任意一个,所述SoC与处理器通过扩展外围组件互连高速PCIe总线相连,所述处理器上运行有至少一个VM,所述第一VM为所述至少一个VM中任意一个,在所述PCIe总线中为每个VM分配至少一个虚拟功能VF,每个VF对应的基地址寄存器BAR地址范围对应SoC的寄存器中一段地址范围,每个VF对应的BAR地址范围包括至少一个区域region,所述第一地址为所述第一VM待访问的目的地址,所述待访问的目的地址为所述处理器管理的BAR地址段中的地址,所述第一地址的参数信息包括目标VF的标识,所述目标VF是所述第一VM在所述PCIe总线中分配的至少一个VF中的一个;所述第一ATU根据所述第一地址的参数信息和地址映射表确定匹配关系,所述地址映射表包括VF范围描述信息,所述VF范围描述信息用于描述至少两个VF的属性;当确定所述目标VF的标识和所述VF范围描述信息匹配成功时,所述第一ATU根据所述地址映射表将所述第一地址转换为第二地址,所述第二地址为所述第一地址在所述SoC中的映射地址。2.如权利要求1所述的方法,其特征在于,所述至少两个VF是在编号上连续的VF,所述VF范围描述信息包括VF起始标识和VF数目,所述VF起始标识是所述至少两个VF对应的至少两个编号中最小的编号,所述VF数目是所述至少两个VF的个数;所述确定所述目标VF的标识与所述VF范围描述信息匹配成功,包括:当所述目标VF的标识大于或等于所述VF起始标识,且小于所述VF起始标识与所述VF数目之间的和时,确定所述目标VF的标识与所述VF范围描述信息匹配成功。3.如权利要求1所述的方法,其特征在于,所述VF范围描述信息包括所述至少两个VF中每个VF的标识;所述确定所述目标VF的标识与所述VF范围描述信息匹配成功,包括:当所述目标VF的标识为所述VF范围描述信息中的标识时,确定所述目标VF的标识与所述VF范围描述信息匹配成功。4.根据权利要求1所述方法,其特征在于,所述第一地址的参数信息还包括区域标识,所述区域标识用于指示所述第一地址归属的区域,所述地址映射表还包括区域描述信息,所述区域描述信息用于描述至少两个区域中的地址,所述至少两个区域与所述至少两个VF一一对应,且所述第一ATU用于对所述至少两个区域中的地址进行地址转换;所述第一ATU根据所述地址映射表将所述第一地址转换为第二地址之前,还包括:当确定所述区域标识与所述区域描述信息匹配成功时,所述第一ATU执行根据所述地址映射表将所述第一地址转换为第二地址的操作。5.如权利要求4所述的方法,其特征在于,所述至少两个区域的大小相同,且每个区域的起始地址相同,所述区域描述信息包括区域大小、第一起始地址、物理功能PF标识和BAR地址区间标识,所述区域大小是指所述至少两个区域中任一区域的大小,所述第一起始地址是指所述至少两个区域中任一区域的起始地址,所述区域标识包括目标PF的标识和目标BAR地址区间的标识,所述目标PF是所述目标VF所属的PF,所述目标BAR地址区间是所述第一地址所属的BAR地址区间;所述确定所述区域标识与所述区域描述信息匹配成功,包括:当所述目标PF的标识与所述区域描述信息中的PF标识相同、所述目标BAR地址区间的标识与所述区域描述信息中的BAR地址区间标识相同、所述第一地址大于或等于所述第一起始地址,且小于或等于所述第一起始地址与所述区域大小之间的和时,确定所述区域标识与所述区域描述信息匹配成功。6.如权利要求1至5任一所述的方法,其特征在于,所述地址映射表还包括第二起始地址,所述第二起始地址是指所述第一ATU进行地址转换时所述SoC侧的寄存器的起始地址;所述第一ATU根据所述地址映射表将所述第一地址转换为第二地址,包括:根据所述地址映射表、所述第一地址的参数信息和所述第一地址,确定所述第二地址相对于所述第二起始地址之间的地址差值;将确定得到的地址差值和所述第二起始地址相加,得到所述第二地址。7.如权利要求6所述的方法,其特征在于,所述第一ATU根据所述地址映射表、所述第一地址的参数信息和所述第一地址,确定所述第二地址相对于所述第二起始地址之间的地址差值,包括:根据所述地址映射表、所述第一地址的参数信息和所述第一地址通过预设公式确定所述地址差值,所述预设公式为:△=(IA-BAR_OFFSET)+(VF_ID-VF_START)*SIZE;其中,△为所述地址差值,IA为所述第一地址、BAR_OFFSET为所述地址映射表的区域描述信息中的第一起始地址、VF_ID为所述目标VF的标识,VF_START为所述VF范围描述信息中的VF起始标识。8.如权利要求1至7任一所述的方法,其特征在于,所述方法还包括:所述第一ATU接收并存储所述地址映射表,所述地址映射表是所述处理器在初始化时根据各个VF对应的BAR地址范围中包括的区域、以及各个VF对应的BAR地址范围中包括的区域在所述SoC上的映射地址确定的。9.一种地址转换装置,应用于第一ATU中,其特征在于,所述装置...

【专利技术属性】
技术研发人员:李正杰匡小波栗炜
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1