非透明桥 Non-Transparent Bridging (三)

NTB由两个PCIe设备组成,每个设备的配置方式都是Type 0,并通过桥接连接。这两个Type 0 PCI设备被称为两个非透明(NT)端点(也称为NT功能)。每个厂商的叫法也类似,如称为primary 和secondary,也有叫upstream side和downstream side,还有称为Virtual Interface和Link Interface。所谓Virtual是指Virtual端是和PCIe Switch内部的virtual bus连载一起的,而Link是指Link端是和外部的链路link的。

注:前面的图,我为了方便说明问题,把绿色部分画在了switch的外部。事实上,它也属于switch内部的。不要混淆了。

       需要注意的是:NTB可以直接挂在switch内部的Virtualbus上,也有挂在P-P桥下的,如下图的左边情形。还有作为其他P-P桥的一个function(功能)。如下图右边的情形。

最后,我们来看一下NTB的一些典型应用场景:

场景一:单NT模式。

 如上图左边,正常情况下,Host1访问、管理下面的设备EP。Host2不参与,处于Standby状态。当Host1出现异常时,Host2接管系统,Host2重新配置Switch,把原来的NT口配置成Upstream Port,并且重新分配、枚举PCIe设备资源。然后Host2接管下面EP设备的访问、管理。

场景二:双NT模式

如上图,Host1、2访问、管理自己下面的设备EP。Host1和Host2之间通过NTB互联。两个Host的CPU之间可以通过NT桥互相通信,因此,两个Host都可以访问到对端的所有资源。

 如上图。多个Host通过NT,与一个中央交换机(Switch)互联。透过NT桥,每个主机都能够互相两两访问。值得注意的是,中央交换机是需要一个外部的管理CPU来初始化、配置以及做异常处理的。这个管理CPU不一定非要使用PCIe和Switch连接,也可以使用带外通道,如I2C等做配置管理即可。

       好了,关于NTB的内容,基本介绍完了。实际的应用中,NTB的配置还是很复杂的,特别是在多NT互联的场景。另外,关于NTB的异常处理,也是需要特别关注的。不是说有了NTB就是万能的。相关的错误处理的监控、隔离、恢复,都是需要在设计之初认真考虑的。

       最后,关于PCIe NTB,其实不是什么新技术。在PCI的时代,Digital公司(被Intel收购)就已经发明了PCI的NTB技术Drawbridge。有兴趣可以参考下图:

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值