快捷外围部件互连域的资源管理的制作方法
【专利说明】
[0001] 相关申请案交叉申请
[0002] 本发明要求2014年6月25日递交的发明名称为"快捷外围部件互连域的资源管 理(resourcemanagementforperipheralcomponentinterconnectexpressdomains) ', 的第14/315,099号美国非临时专利申请案的优先权以及要求2013年7月22日递交的 发明名称为"级联快捷PCI网络域(CascadingPCI-Expressnetworkdomains)"的第 61/857, 031号美国临时专利申请案的在先申请优先权,这两个在先申请的全部内容以引入 的方式并入本文中。
技术领域
[0003] 本发明大体上涉及一种快捷外围部件互连域(PeripheralComponent Interconnect_Express,PCIe)网络,具体而言,涉及一种管理PCIe网络上的域间资源分配 的技术。
【背景技术】
[0004]作为外围部件互连(PeripheralComponentInterconnect,PCI)技术的后继者, 快捷PCI(PCI-Express,PCIe)是将CPU与其部署在个人计算机(PersonalComputer,PC) 或服务器内的外围设备进行互连的最广泛使用的手段。PCIe是一个高吞吐量、低延迟、基于 分组和交换的互连技术。
[0005] 多个PCIe域通过一个或多个PCIe非透明网桥(Non-TransparentBridge,NTB) 互连,每个PCIe域均有其自己的主机,即微计算机或CPU。这种配置中的NTB用于执行PCIe 域的地址空间之间的地址转换,其中这些地址空间连接到这些PCIe域,从而允许在分隔的 PCIe域中的节点(即,1/0设备、CPU等)之间进行数据传送。
[0006]PCIe网络的大小和复杂度持续增加。预计将产生对PCIe域上的资源管理的需求。
【发明内容】
[0007] 本发明的一实施例提供一种用于管理快捷外围部件互连(PeripheralComponent Interconnect-Express,PCIe)网络中的域间资源分配的装置。所述PCIe网络包括多 个PCIe域,每个PCIe域由一个链路处理器管理并通过非透明网桥(Non-Transparent Bridge,NTB)连接到一个或多个其它域。所述装置包括存储器以及与所述存储器耦合的管 理处理器。所述管理处理器用于获取关于所述域的可用资源的信息,所述域的可用资源由 每个域的链路处理器上报。所述关于可用资源的信息包括上报的每个可用资源的内存地 址。所述处理器用于将所述获取的关于所述可用资源的信息存储在所述存储器中,以及从 所述域之一的请求处理器接收资源请求。响应于所述资源请求,所述处理器将所述可用资 源中的一个资源分配给所述请求处理器。所述分配的资源存在于与具有所述请求处理器的 所述域不同的一个域中。所述处理器从所述存储器中获取所述分配的资源的内存地址信 息,指示一个或多个链路处理器根据所述分配的资源的所述内存地址信息对一个或多个域 间NTB进行编程,以便允许所述请求处理器和所述分配的资源之间的跨域资源访问,其中 所述分配的资源与所述请求处理器之间的流量将经过所述一个或多个域间NTB。
[0008] 本发明的另一实施例提供一种用于管理快捷外围部件互连(Peripheral ComponentInterconnect-Express,PCIe)网络中的域间资源分配的方法。所述 PCIe网络包括多个PCIe域,每个PCIe域由一个链路处理器管理并通过非透明网桥 (Non-TransparentBridge,NTB)连接到一个或多个其它域。处理器获取关于所述域的可 用资源的信息,所述域的可用资源由每个域的链路处理器上报。所述关于可用资源的信息 包括上报的每个可用资源的内存地址。所述处理器将所述获取的关于所述可用资源的信息 存储在存储器中。所述处理器从所述域之一的请求处理器接收资源请求。响应于所述资源 请求,所述处理器将所述可用资源中的一个资源分配给所述请求处理器。所述分配的资源 存在于与具有所述请求处理器的所述域不同的另一个域中。所述处理器从所述存储器中获 取所述分配的资源的内存地址信息并指示一个或多个链路处理器根据所述分配的资源的 所述内存地址信息对一个或多个域间NTB进行编程,以便允许所述请求处理器和所述分配 的资源之间的跨域资源访问,其中所述分配的资源与所述请求处理器之间的流量将经过所 述一个或多个域间NTB。
[0009] 上述方法可由一个或多个处理器、存储器以及一个或多个模块、程序或存储在所 述存储器中的用于执行这些方法的指令集执行。
[0010] 用于执行上述方法的指令可包含在计算机程序产品中,所述计算机程序产品配置 用于由一个或多个处理器执行。在一些实施例中,所述装置包括计算机可读存储介质(例 如,一个或多个磁盘存储设备、闪存设备或其它非易失固态存储设备)和嵌入其中的可执 行计算机程序机制。
【附图说明】
[0011] 图1为包括三个示例性PCIe域的PCIe网络的方框图。
[0012] 图2为示出了使用域间NTB的内存地址转换的两个PCIe域的方框图。
[0013] 图3为示出了使用域间NTB的路由ID转换的两个PCIe域的PCIe网络的方框图。
[0014] 图4为用于管理PCIe网络中的域间资源分配的方法的流程图。
【具体实施方式】
[0015] 为了使本申请的上述目的、技术方案和优点更易于理解,详细描述如下。现将参考 实施例,其示例在附图中示出。由于这些方框图、流程图和/或示例包含一个或多个功能和 /或操作,所以本领域人员将理解可以通过许多硬件、软件、固件或它们的任意组合单独和 /或共同实现这些方框图、流程图或示例内的每个功能和/或操作。
[0016] 图1示出了通过一个或多个NTB互连的多个域。出于说明目的,图1仅示出了三个 PCIe域100、200、300。可存在通过犯^互连的更多?(:16域。域100、200通过犯^150连 接,而域100、300通过NTB250连接。图1所示的域100、200、300分别由链路处理器101、 201、301 管理。
[0017] 不同域可包含具有不同配置的不同设备。出于说明目的,图1示出的域100、200、 300中的每一个均包含类似于其它域的设备,仅域100将详细说明。域100包括链路处理 器(例如,CPU) 101、PCIe交换网络103、一个或多个PCIeI/O设备131至139以及一个或 多个工作处理器111至119。PCIe交换网络103包括一个或若干彼此互连的PCIe交换机 (图1中未示出)。链路处理器101、PCIeI/O设备131至139以及工作处理器111至119 连接到PCIe交换网络103中的至少一个PCIe交换机。
[0018] 链路处理器101充当域100的根主机,根主机负责将地址分配给连接到域100中 的PCIe交换网络103的设备。工作处理器111、112分别通过非透明网桥(Non-Transparent Bridge,NTB) 12U122连接到PCIe交换网络103。NTB121使不同存储区的两个主机、链路 处理器101和工作处理器111能够隔离,但同时允许链路处理器101和工作处理器111之 间的数据交换。NTB121提供链路处理器101和工作处理器111的内存空间之间的地址转 换。通过NTB121,网桥的任一侧上的设备从另一侧均不可见,但是提供了一个路径用于链 路处理器101和工作处理器111的存储区之间的数据传送和状态交换。NTB121具有两组 基地址寄存器(BaseAddressRegister,BAR),一组用于链路处理器101侧,另一组用于工 作处理器111侧。BAR用于定义将窗口转换为NTB121的另一侧上的内存空间的地址以及 允许事务映射到本地存储区或I/O。
[0019] 工作处理器119通过透明网桥(Transpare