【技术实现步骤摘要】
地址转换方法、装置及系统
本申请涉及服务器
,特别涉及一种地址转换方法、装置及系统。
技术介绍
随着虚拟化技术的发展,为了提高服务器中虚拟化处理能力,会在服务器中接入片上系统(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地址区间可以包 ...
【技术保护点】
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根据所述地址映射表 ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。