System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别涉及一种pci-e非透明桥的地址转换方法、装置、设备及介质。
技术介绍
1、pci-e(peripheral component interconnect express),即快速外设组件互联,是高性能、通用的i/o(input/output,输入/输出)互连,为各种未来的计算和通信平台而定义。pci-e架构定义了通过pci-pci桥之间相互连接的总线层次结构,这种层次结构形成一棵树,称为pci-e域。当前许多的应用场景例如多主机系统冗余(host systemredundancy)、主机故障转移(host failover)、智能适配器模式(intelligent adaptermodel)等,需要将两个独立的pci-e域互连起来,为了解决跨pci-e拓扑结构域的访问,引入了ntb(non-transparent-bridge,非透明桥)实现域间通讯。
2、ntb的结构如图1所示,由两个pci-e功能(nt endpoint)组成,并通过桥接功能相互连接。这两个0型pci-e功能被称为非透明(nt)端点(又称nt功能),每个功能使用pci-e基地址寄存器(bar)公布一个或多个内存窗口。nt功能支持直接地址转换和查找表地址转换。对于直接地址转换模式,因为在pci-e域中bar数量有限,而每个bar地址空间只能一对一地映射到目标地址空间并且要求各自的地址是连续的,无法实现一个bar空间向多个目标空间映射的功能,导致只能映射到很有限的target host(目标主机)存储空间或device(设
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种pci-e非透明桥的地址转换方法、装置、设备及介质,能够极大地拓展pci-e域之间的空间映射能力,实现在有限的bar空间上,从小窗口到大窗口或者由单个窗口到多个窗口的转换。其具体方案如下:
2、第一方面,本申请公开了一种pci-e非透明桥的地址转换方法,包括:
3、获取事务层数据包,并判断所述事务层数据包中是否携带事务层数据包前缀;
4、若所述事务层数据包中携带所述事务层数据包前缀,则按照预设格式定义规则对所述事务层数据包前缀进行定义,以利用所述事务层数据包前缀携带地址转换信息;
5、当所述事务层数据包到达非透明端点的端口时,根据所述地址转换信息对所述事务层数据包进行地址转换,以得到转换后的事务层数据包地址;
6、基于所述转换后的事务层数据包地址触发针对所述事务层数据包的转发操作,以将所述事务层数据包转发至目标域。
7、可选的,所述按照预设格式定义规则对所述事务层数据包前缀进行定义,以利用所述事务层数据包前缀携带地址转换信息,包括:
8、将所述事务层数据包前缀中的第一个字节中的格式字段定义为第一预设值,并将所述第一个字节中的类型字段定义为第二预设值;
9、将所述事务层数据包前缀中的第二个字节定义为预设固定值;
10、将所述事务层数据包前缀中的第三个字节和第四个字节定义为非透明桥地址转换选择字段,以便通过所述非透明桥地址转换选择字段确定转换基地址寄存器中存储的地址转换信息。
11、可选的,所述判断所述事务层数据包中是否携带事务层数据包前缀之后,还包括:
12、当所述事务层数据包没有携带所述事务层数据包前缀时,确定当前地址转换模式的模式类型;
13、如果当前地址转换模式为直接地址转换模式,则对所述事务层数据包进行解析以提取所述事务层数据包中的原始地址,然后根据基准地址寄存器的内存窗口中的地址,将所述原始地址的基地址替换为相应的转换基地址寄存器的内容以得到第一翻译地址,并将所述原始地址的偏移量添加至所述第一翻译地址以得到第一转换后的事务层数据包地址,以便利用当前所述第一转换后的事务层数据包地址将所述事务层数据包转发至目标域;
14、如果当前地址转换模式为查找表地址转换模式,则对所述事务层数据包进行解析以提取所述事务层数据包中的原始地址,然后根据基准地址寄存器的内存窗口中的地址,利用所述原始地址的索引确定查找表中的目标表项,将所述原始地址的基地址和所述原始地址的索引替换为与所述目标表项对应的转换基地址寄存器的内容以得到第二翻译地址,并将所述原始地址的偏移量添加至所述第二翻译地址以得到第二转换后的事务层数据包地址,以便利用当前所述第二转换后的事务层数据包地址将所述事务层数据包转发至目标域。
15、可选的,所述当所述事务层数据包到达非透明端点的端口时,根据所述地址转换信息对所述事务层数据包进行地址转换,以得到转换后的事务层数据包地址之前,还包括:
16、确定所述事务层数据包中在所述第一个字节中的阻塞位处于关闭状态的目标事务层数据包;
17、对所述目标事务层数据包进行合法性校验,并对校验不通过的目标事务层数据包进行丢弃。
18、可选的,所述当所述事务层数据包到达非透明端点的端口时,根据所述地址转换信息对所述事务层数据包进行地址转换,以得到转换后的事务层数据包地址,包括:
19、当所述事务层数据包到达非透明端点的端口时,如果当前地址转换模式为直接地址转换模式,则对所述事务层数据包进行解析以提取所述事务层数据包中的原始地址,然后根据所述非透明桥地址转换选择字段确定转换表的入口,并利用与所述转换表的入口对应的转换基地址寄存器的内容替换所述原始地址的基地址以得到第三翻译地址,并将所述原始地址的偏移量添加至所述第三翻译地址以得到第三转换后的事务层数据包地址;其中,所述转换表的表项的长度根据所述目标域的大小和数量确定;
20、当所述事务层数据包到达非透明端点的端口时,如果当前地址转换模式为查找表地址转换模式,则对所述事务层数据包进行解析以提取所述事务层数据包中的原始地址,然后根据所述非透明桥地址转换选择字段确定转换表的入口,并利用与所述转换表的入口对应的索引确定查找表中的目标表项,将所述原始地址的基地址和所述原始地址的索引替换为与所述目标表项对应的转换基地址寄存器的内容以得到第四翻译地址,并将所述原始地址的偏移量添加至所述第四翻译地址以得到第四转换后的事务层数据包地址。
21、可选的,所述当所述事务层数据包到达非透明端点的端口时,根据所述地址转换信息对所述事务层数据包进行地址转换,以得到转换后的事务层数据包地址之后,本文档来自技高网...
【技术保护点】
1.一种PCI-E非透明桥的地址转换方法,其特征在于,包括:
2.根据权利要求1所述的PCI-E非透明桥的地址转换方法,其特征在于,所述按照预设格式定义规则对所述事务层数据包前缀进行定义,以利用所述事务层数据包前缀携带地址转换信息,包括:
3.根据权利要求1所述的PCI-E非透明桥的地址转换方法,其特征在于,所述判断所述事务层数据包中是否携带事务层数据包前缀之后,还包括:
4.根据权利要求2所述的PCI-E非透明桥的地址转换方法,其特征在于,所述当所述事务层数据包到达非透明端点的端口时,根据所述地址转换信息对所述事务层数据包进行地址转换,以得到转换后的事务层数据包地址之前,还包括:
5.根据权利要求2所述的PCI-E非透明桥的地址转换方法,其特征在于,所述当所述事务层数据包到达非透明端点的端口时,根据所述地址转换信息对所述事务层数据包进行地址转换,以得到转换后的事务层数据包地址,包括:
6.根据权利要求1所述的PCI-E非透明桥的地址转换方法,其特征在于,所述当所述事务层数据包到达非透明端点的端口时,根据所述地址转换信息
7.根据权利要求1至6任一项所述的PCI-E非透明桥的地址转换方法,其特征在于,所述基于所述转换后的事务层数据包地址触发针对所述事务层数据包的转发操作,以将所述事务层数据包转发至目标域,包括:
8.一种PCI-E非透明桥的地址转换装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的PCI-E非透明桥的地址转换方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的PCI-E非透明桥的地址转换方法。
...【技术特征摘要】
1.一种pci-e非透明桥的地址转换方法,其特征在于,包括:
2.根据权利要求1所述的pci-e非透明桥的地址转换方法,其特征在于,所述按照预设格式定义规则对所述事务层数据包前缀进行定义,以利用所述事务层数据包前缀携带地址转换信息,包括:
3.根据权利要求1所述的pci-e非透明桥的地址转换方法,其特征在于,所述判断所述事务层数据包中是否携带事务层数据包前缀之后,还包括:
4.根据权利要求2所述的pci-e非透明桥的地址转换方法,其特征在于,所述当所述事务层数据包到达非透明端点的端口时,根据所述地址转换信息对所述事务层数据包进行地址转换,以得到转换后的事务层数据包地址之前,还包括:
5.根据权利要求2所述的pci-e非透明桥的地址转换方法,其特征在于,所述当所述事务层数据包到达非透明端点的端口时,根据所述地址转换信息对所述事务层数据包进行地址转换,以得到转换后的事务层数据包地址,包括:
6.根据权利...
【专利技术属性】
技术研发人员:石俊斌,李树青,孙华锦,张磊,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。