通用PCI EXPRESS端口制造技术

技术编号:13185805 阅读:59 留言:0更新日期:2016-05-11 16:26
这里公开了用于提供通用PCIe端口的方法和系统。相同的端口可被配置为对称地将PCIe组件接受为主机或端点(设备)。当PCIe连接被配置为主机或端点时,PCIe端口可分别被连接到主机接口或者根联合体接口。可为主机提供将该主机与相应端点相关联的虚拟拓扑。虚拟拓扑中的相应端点的虚拟地址与相应端点的本地地址之间的映射被提供。

【技术实现步骤摘要】
【国外来华专利技术】
本公开一般涉及计算领域,并且更具体地涉及用于在计算机系统中提供通用PCIExpress(PCIe)端口的方法和系统。
技术介绍
计算机服务器通常包括诸如中央处理单元(CPU)、存储器、和输入/输出(I/O)设备之类的组件。随着针对计算的需求增加,计算机服务器中的组件的数量也在增加。为互连这些组件,刀片服务器底架能够提供机架单元,在该机架单元中,组件卡可通过多个插槽被插入互连结构中。在售的刀片服务器底架可在单个底架中提供4、8、12、16或更多个插槽。通过刀片服务器底架中提供的互连结构,组件卡能够与刀片服务器底架中的其他组件卡或者(例如,当刀片服务器底架提供网络连通性时)通过网络与其他系统通信。互连结构的功能通常由专用硬件提供(出于性能原因),例如互连结构可被实现为专用集成电路(ASIC)。取决于所选取的刀片服务器底架的配置,互连结构将具有各自被配置为仅接收特定类型的组件卡(例如,具有一个或多个CPU的主机、具有IO设备的目标设备、网络接口控制器、或者硬件驱动(或者类似的存储设备))的插槽。因此,互连结构中将底架的组件卡互连的专用硬件对服务器组件能够在数据中心中进行配置的方式提出了一些限制。例如,添加不可与现有底架中的空插槽协作的组件提起了对于新底架的昂贵购买。在另一实例中,底架中的一些插槽可能被空置,因而浪费了底架的有价值的物理空间和资源。另外,如果不同的组件不能够被容易地分解,针对各种类型的组件卡的基础设施以及组件卡自身不能够被独立地调整或更新。附图说明为提供对本公开及其特征和优点的更全面理解,结合附图参考以下描述,其中类似的标号表示类似的部分,其中:图1根据本公开的一些实施例示出了刀片服务器底架中的互连结构的示意性框图;图2根据本公开的一些实施例示出了互连结构的示意性功能图示;图3根据本公开的一些实施例示出了通过网络通信地连接的两个互连结构的示意性框图;图4根据本公开的一些实施例示出了示意性PCIe以太网分组;以及图5根据本公开的实施例示出了用于重传PCIe以太网分组的场景。具体实施方式概述这里公开了用于提供通用PCIe端口的方法和系统。相同的端口被配置为对称地将PCIe连接接受为主机(例如,作为上游端口或虚拟交换机端口的PCIe组件)或者端点(例如,具有下游连接的PCIe组件)。如果PCIe设备是主机或者端点,则PCIe端口分别被连接到主机接口或者根联合体接口。可为主机提供将主机与相应端点(或端点设备)相关联的虚拟拓扑。虚拟拓扑中的相应端点的虚拟地址与相应端点的本地地址之间的映射被提供。另外,这里公开了用于提供通用PCIe端口的方法和系统。相同的端口被配置为对称地将PCIe连接接受为主机或者端点。朝向端点的下游业务被截获并且通过使用映射将下游业务中的虚拟地址转换为本地地址。下游业务使用本地地址而不是虚拟地址被转发到端点。针对对于多个主机共享相同本地地址的端点,反向查找可被提供以在转发上游业务时确定本地地址对应于这些主机中的哪个主机。作为一个实施例,提供了用于允许远程PCIe设备透明地与本地主机(例如,上游端口或虚拟交换机端口)相关联的PCIe以太网(PCIeoverEtheret)。除了提供PCIe虚拟化机制外,PCIe以太网实施例还提供了经采取以确保传输机制仍然满足PCIeexpress标准中的传输层分组所需的要求的非平凡措施。示例实施例一种普遍的互连结构架构包括外设组件互连快速(PeripheralComponentInterconnectExpress,PCIeTM)架构(例如,在2011年11月29日公布的PCIeTM协议版本4.0(此后称为PCIeTM规范))。注意,本公开可应用于任何版本的PCIe规范。PCIe(由PCI-SIG(PCI特殊兴趣小组)维护和研发的标准)的首要目标是使得来自不同供应商的组件和设备能够在跨多个市场区段(客户端(台式和移动)、服务器(标准和企业级)、以及嵌入式和通信设备)的开放架构中相互操作。PCIe是针对各种各样的计算和通信平台定义的高性能通用I/O互连。PCIe的近期版本利用了点对点互连、基于交换的技术、以及分组化协议的进步来达到性能和功能的新层次。PCIe是用于服务器处理器(包括x86和ARM架构)的首要连通性选项。为提供更多的灵活性,物理PCIe端口已经能够被实现为在PCIe接口处被虚拟化,这使得PCIe端口能够通用且对称地接受主机和端点(或者端点设备)。通用PCIe端口在服务器配置中提供了更多的灵活性,允许服务器设计者通过将服务器的主机(例如,被配置为上游端口或虚拟交换机端口的计算机处理单元和存储器)与端点(例如,诸如存储设备和网络接口控制器之类的输入/输出(I/O)设备、端点设备)相分离来分解数据中心中的服务器组件。分解允许服务器设计将端点与主机解耦合,允许这些子系统被独立地调整并被独立地刷新至新的技术步骤。另外,在PCIe接口处分解服务器允许被解耦合的子系统在基于长期标准的总线间进行演进。例如,具有插入式刀片(组件卡)的多服务器底架可受益于允许服务器刀片(主机)或I/O子系统刀片(端点)被插入到任何可用插槽中的一个或多个通用PCIe端口。因此,物理PCIe连接的虚拟化允许独立的服务器和I/O在相同的物理封装(envelop)内进行调整。例如,刀片底架插槽可被配置为接受服务器刀片、基于PCIe的闪存刀片、包括PCIe控制器的传统存储介质刀片、用于浮点加速的GPU、加密加速器、以及其他设备,这允许顾客使用共同的基础设施在不同的时候在不同方向扩展服务器能力。这具有允许顾客独立于IO子系统联合体(端点)地升级和调整GPU和存储器联合体(主机)的优点。当与允许设备或功能被分配给此服务器的本地地址空间中的个体服务器的虚拟化技术相结合时,该优点被成倍放大,因为它使得IO设备能够跨越多个服务器(包括旧有操作系统)被共享和调整,因为它依靠于标准设备列举(enumeration)、资源映射、和命名机制。另外,PCIe结构或交换机可被配置为支持设备虚拟化,单个I/O设备可在多个独立服务器间被共享。在本公开的上下文内,主机可包括一个或多个处理器(通常是服务器系统的“CPU”)以及可选地包括支持一个或多个处理器的一个或多个存储器元件。主机可被配置为上游端口或虚拟交换机端口,端点可与该上游端口或虚拟交换机端口进行通信。I/O或端点(或者端点设备)可包括以下各项中的一项或多项:网络接口控制器(NIC)、插入卡、音频处理器、网络处理器、图形卡、硬驱、存储设备、CD/DVD/ROM、监视器、打印机、鼠标、键盘、路由器、便携式存储设备、火线设备、通用串行总线(USB)设备、扫描器、以及其他输入/输出设备。一般在PCIe用语中,这样的I/O或端点设备被称作端点。在不同的术语中,主机可以是“主设备(master)”并且端点可以是“从设备(slave)”。在一些情形中,设备可包括PCIe至PCI/PCI-X桥接以支持旧有或其他版本的PCI设备。提供通用PCIe端口不是普通的本文档来自技高网...

【技术保护点】
一种用于配置服务器底架的外设组件互连快速(PCIe)端口以将连接到该PCIe端口的PCIe组件接受为主机或端点的方法,所述方法包括:确定被能通信地连接到所述PCIe端口的所述PCIe组件具有主机还是端点;如果所述PCIe组件是主机,则:将所述主机连接到互连结构中的主机接口;确定针对所述主机的一个或多个相应端点;提供针对所述主机的第一虚拟拓扑,该第一虚拟拓扑将所述主机与所述主机的一个或多个相应端点的一个或多个虚拟地址相关联;以及提供所述一个或多个相应端点的所述一个或多个虚拟地址与所述相应端点的一个或多个本地地址之间的第一映射;如果所述PCIe设备是端点设备,则:将所述端点连接到所述互连结构中的根联合体接口,其中所述端点是能够根据本地地址通过所述根联合体接口来寻址的;确定所述端点的相应主机以及与所述相应主机相关联的第二虚拟拓扑;以及提供所述第二虚拟拓扑中的虚拟地址与所述端点的本地地址之间的第二映射。

【技术特征摘要】
【国外来华专利技术】2013.09.06 US 14/019,7771.一种用于配置服务器底架的外设组件互连快速(PCIe)端口以将连
接到该PCIe端口的PCIe组件接受为主机或端点的方法,所述方法包括:
确定被能通信地连接到所述PCIe端口的所述PCIe组件具有主机还是
端点;
如果所述PCIe组件是主机,则:
将所述主机连接到互连结构中的主机接口;
确定针对所述主机的一个或多个相应端点;
提供针对所述主机的第一虚拟拓扑,该第一虚拟拓扑将所述主机
与所述主机的一个或多个相应端点的一个或多个虚拟地址相关联;以

提供所述一个或多个相应端点的所述一个或多个虚拟地址与所述
相应端点的一个或多个本地地址之间的第一映射;
如果所述PCIe设备是端点设备,则:
将所述端点连接到所述互连结构中的根联合体接口,其中所述端
点是能够根据本地地址通过所述根联合体接口来寻址的;
确定所述端点的相应主机以及与所述相应主机相关联的第二虚拟
拓扑;以及
提供所述第二虚拟拓扑中的虚拟地址与所述端点的本地地址之间
的第二映射。
2.如权利要求1所述的方法,其中,依据所述PCIe组件是主机还是
端点来将所述主机连接到所述主机接口以及将所述的端点连接到所述根联
合体接口包括配置复用器来分别为所述PCIe端口选择以下项中的一项:
(1)所述PCIe端口到所述主机接口之间的信号上游连通性,或者(2)
所述PCIe端口与所述根联合体接口之间的信号下游连通性。
3.如权利要求1所述的方法,其中:
所述第一虚拟拓扑和所述第二虚拟拓扑各自包括将主机与一个或多个
端点相关联的PCIe树。
4.如权利要求1所述的方法,其中:
端点的一个或多个虚拟地址不同于端点的一个或多个本地地址;并且
所述第一映射和所述第二映射提供从一个或多个虚拟地址到一个或多
个本地地址和/或从一个或多个本地地址到一个或多个虚拟地址之间的转
换。
5.如权利要求1所述的方法,其中:
所述第一虚拟拓扑与所述第二拓扑相分离以提供主机的隔离操作,其
中所述主机中的一个主机不知道所述主机中的另一主机和/或不与所述主机
中的另一主机交互。
6.如权利要求1所述的方法,其中:
所述第一映射和所述第二映射中的一个或多个本地地址包括能够用于
对被连接到所述根联合体接口的一个或多个端点进行寻址的一个或多个总
线/设备/功能(BDF)号、一个或多个存储器空间地址、以及一个或多个
输入/输出空间地址中的至少一者。
7.如权利要求1所述的方法,其中:
所述第一映射和所述第二映射各自包括将虚拟地址与端点的相应本地
地址相关联的查找表和/或内容可寻址存储器表。
8.如权利要求1所述的方法,其中:
所述第一映射和所述第二映射是由所述互连结构中的所述主机接口和
所述根联合体接口之间的代理处理器提供的。
9.如权利要求1所述的方法,其中:
所述PCIe组件是在同一PCIe组件卡上的多个端点中的一个端点;
所述多个端点共享所述根联合体接口处的相同总线/设备/功能号作为
所述本地地址,并且所述多个端点对应于不同的主机;并且
所述方法还包括:提供用于执行对存储器地址的反向查找的上游转换
器,该反向查找被用于来自端点的业务中以确定所述存储器地址对应于所
述不同的主机中的哪个主机。
10.如权利要求9所述的方法,其中:
所述上游转换器包括将所述不同的主机与能够由所述多个端点使用的

\t不同存储器地址范围相关联的信息。
11.一种用于配置服务器底架的外设组件互连快速(PCIe)端口以将
所连接的PCIe组件接受为主机或端点的互连结构,所述互连结构包括:
端口管理器,该端口管理器被配置为:
确定被能通信地连接到所述PCIe端口的所述PCIe组件具有主机
还是端点;
如果所述PCIe组件是主机,则将所述主机连接到互连结构中的主
机接口;
如果所述PCIe设备是端点,则将所述端点连接到所述互连结构中
的根联合体接口,其中所述端点是能够根据本地地址通过所述根联合
体接口来寻址的;
PCIe虚拟化引擎,该PCIe虚拟化引擎被配置为:
如果所述PCIe组件是主机,则:
确定针对所述主机的一个或多个相应端...

【专利技术属性】
技术研发人员:迈克尔·B·加勒赫曼特·M·温彻
申请(专利权)人:思科技术公司
类型:发明
国别省市:美国;US

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

1