Pciexpress链路的动态重新配置的制作方法

文档序号:6462707阅读:109来源:国知局
专利名称:Pci express链路的动态重新配置的制作方法
技术领域
本发明涉及计算机系统,尤其涉及用于计算机系统的总线连接。
背景技术
计算机的部件包括其处理器、芯片组、高速缓冲存储器、存储器、 扩展卡以及存储设备,这些部件通过一个或多个"总线"相互通信。 依照通用计算机术语,"总线"是两个或更多装置之间信息流动的通路。 总线通常具有接入点,或者装置可以与所述总线相连接的地方。 一旦 连接,总线上的装置就可以向其它装置发送并且从中接收信息。
如今的个人计算机趋向于具有至少四条总线。每条总线在某种程 度上被进一步从处理器上去除;每条总线与其上级的总线连接。
处理器总线是最高级的总线,并且由所述芯片组使用来发送往返 于所述处理器的信息。高速缓冲存储器总线(有时称为后端总线)用于访 问系统高速缓冲存储器。存储器总线将存储器子系统与芯片组和处理 器相连。在许多系统中,所述处理器以及存储器总线是同一总线,并 且合起来称为前端总线或者系统总线。
本地I/O (输入/输出)总线将外部设备与存储器、芯片组和处理器相 连。显卡、磁盘存储装置和网络接口卡通常使用此总线。两个最通用 的本地I/O总线是VESA本地总线(VLB)和外围部件互联(PCI)总线。工 业标准体系结构(ISA) I/O总线也可以用于慢速的外部设备,诸如鼠标、 调制解调器和低速音响和联网装置。
目前一代的PCI总线以PCI Express总线著称。此总线是高带宽串 行总线,其保持与现有PCI装置的软件兼容性。

发明内容
本发明的一个方面在于一种重新配置PCI Express总线链路的方 法。检测总线端点的状态,诸如所述端点是否被占用以及所述端点需 要多少带宽。根据此检测,可以将具有未使用带宽的所有或者一部分 链路切换到另一个端点。
例如,可以将路由到未占用的端点的链路的所有通路重新路由到 已占用的端点。或者如另一个例子,路由到需要比该链路提供的带宽 少的端点的链路的一个或多个通路,可以被切换到需要更多带宽的端 点。
本发明的优势在于它有助于克服PCIE邓ress总线的带宽限制。 PCI Express通路的动态重新配置允许未使用带宽被切换到总线上的其 他装置。


通过以下结合附图的说明可以得到对本实施方案和优势的更加完 整的理解,其中同样的涉及的数表明相同的特征,并且其中 图1图解依照本发明的信息处理系统的各种内部单元。 图2图解图1系统的一部分,并且进一步图解了重新配置链路的 第一例子。
图3图解了重新配置链路的第二例子。 图4图解了重新配置链路的第三例子。
具体实施例方式
图1图解依照本发明的信息处理系统100的各种内部单元。如下 面将解释的,系统100具有PCI Express总线17以及附加电路19,该 附加电路用于动态地重新配置所述总线的一个或多个链路17b。 PCI Express总线17在常规方式下连接外围部件,但是被加强以致可以检 测到端点17c的状态,并且如果不需要该端点的话,重新路由该端点 的带宽。
在图1的实施方案中,系统100以个人计算机系统代表,不过还可 以是一些其它类型的信息处理系统,诸如服务器、工作站或者嵌入式系统。为了此公开的目的,信息处理系统可以包括可进行计算、归类、 处理、发送、接收、检索、发起、切换、存储、显示、声明、检测、 记录、复制处理或者运用企业、科学、控制或者其他目的的任何形式 的信息、情报或者数据的任何手段或者手段的集合。例如,信息处理 系统可以是个人计算机、网络存储装置或者任何其他适当的装置,并 且在大小、形状、性能、功能以及价格方面有所不同。所述信息处理
系统可以包括随机存取存储器(RAM)、诸如中央处理单元(CPU)的一个 或多个处理资源、硬件或者软件控制逻辑、ROM和域其他类型非易失
存储器。所述信息处理系统的附加部件可以包括 一个或多个盘驱动
器、用于与外部设备通信的一个或多个网络端口,以及各种输入和输
出(i/o)装置,诸如键盘、鼠标以及视频显示器。所述信息处理系统还
可以包括一个或多个总线,可操作以便在各种硬件部件之间传输通信。
CPU 10可以是任何中央处理装置。具有代表性的CPU 10的例子 是来自于奔腾系列的处理器,该处理器可以从Intel公司获得。对本发 明来说,CPU IO至少被编程以执行具有BIOS (基本输入/输出系统) 编程的操作系统。
主机桥11 (经常称为北桥)是一种芯片(或者芯片组的一部分),其将 CPU 10与端点12、存储器13并且与PCI Express总线17连接。与主 机桥11相连的端点12的类型取决于应用。例如,如果系统100是台 式计算机,那么端点12通常是图形适配器、HDD(经由串行ATA链路) 以及本地的I/O (经由USB链路)。对于服务器来说,端点12通常是 GbE (千兆位以太网)以及IBE装置以及附加的桥装置。
CPU 10和主机桥11之间的通信是经由前端总线14实现的。
PCI Express总线17包括交换结构17a和链路17b,许多PCI端点 45可以借助于这些结构来连接。所述交换结构17a提供从主机桥11到 链路17b的输出,并且提供链路扩展。
"链路扩展(link scaling)"指的是分配PCI Express总线17的可 用带宽,如此使得预定数量的链路17b被物理上路由到端点18,其中 每条链路均具有符合PCI Express体系结构标准的大小。每条链路17b 包括一个或多个通路。具有单个通路(称为具有xl宽度)的链路具有两 个低压差分对;该链路在两个装置之间双单工串联。两个装置之间的数据传输沿双向同时发生。通过更宽的链路宽度(xl, x2, x4, x8, x16, x32) 来实现可扩展性能。链路被对称地扩展,并且在每个方向具有相同数 目的通路。
PCI端点18可以是外围装置或者芯片,使用卡槽或者其他连接机 制物理连接。与PCI Express总线17相连的特定端点45取决于系统100 的应用类型。对于台式计算机系统来说,具有代表性的PCI端点18的 例子是移动式对接适配器、以太网适配器以及其它添加装置。对于服 务器平台来说,端点45可以是千兆位以太网连接以及用于I/O和集群 互连的附加切换能力。对于通信平台来说,端点18可以是有线卡。
在常规的PCI Express总线17中,切换结构17a是作为独立部件 或者作为包括主机桥11的部分部件实现的逻辑元件。如下面所解释的, 在本发明中,所述PCI Express总线17结合附加切换和控制电路19进 行操作。此电路19检测端点45的状态,并且能够将链路从一个端点 切换到另一个。
图2'是系统100的局部图,并且图解了依照本发明的PCI Express 链路17b的动态重新配置。每条链路17b被作为两对信号示出——发 送对以及接收对。将发送对以T标志标识,将接收对以R标志标识。
槽23和24设计成连接卡型端点45。虽然只示出了两个槽,但是 根据所要求的链路规模(xl, x4等等),许多槽结构都是可能的。槽23 和24表示物理位置,典型地在系统100的计算机机壳之内,其中可以 安装用于各种i/o装置的卡。在其他实施方案中,除槽连接以外、或者 代替槽连接,系统100还可以具有一个或多个芯片连接。概括地讲, 术语"端点连接"可共同地用于涉及芯片、卡或者任何其他类型端点 的连接。
在图1的例子中,槽23依照aX4链路宽度(链路A)来配置。槽24 依照aX4链路宽度(链路B)来配置。
使用交换机25和26以及链路配置控制器27来实现重新配置。应 该理解的是,图2是一个例子,切换和控制电路的许多不同的变化都 是可能的,同时链路、槽以及交换机的数目以及各种链路宽度都可以 改变。
链路配置控制器27检测槽23和24是否被占用(使用中)。因为PCI总线40允许槽"热插拔"并且"热交换",所以每当在槽23或者24 中安装或者卸载装置时,此检测在某种意义上是动态的,控制器27立 即检测该事件。
链路配置控制器27可以采用可编程逻辑器件来实现,并且可以是 独立的逻辑电路或者可以与其他系统逻辑集成。例如,链路配置控制 器可以集成到主机桥20中。
如果槽的状态(占用或者未占用)改变,那么控制器27向交换机25 和26发送信号。交换机25和26可以采用高速交换装置实现。与控制 器27—样,交换机25和26可以与其它电路集成,诸如与控制器27 和/或与主机桥20。
在图2的例子中,链路B在其发送通路上具有交换机25并且在其 接收通路上具有交换机26。交换机25和26两个都可操作,以便将链 路B切换到槽23或者槽24。如果将链路B切换到槽23,那么槽23 接收x8链路。如果将链路B切换到槽24,那么槽24接收x4链路。 假设交换机25和26与槽23之间已经进行适当的物理连接,以便能够 在可供选择的通道之间切换。
在所述例子中,槽23被占用而槽24是未被占用的。通过控制器 27检测此状态,所述控制器已经设定了交换机25和26将所有链路B 切换到槽23。
图3举例说明了本发明操作的另一个例子。在此例子中,两个槽 33和34都被占用。所述系统已经用三个x4链路来配置。链路A是x4 链路,并且被路由到槽33。链路B也是x4链路,并且被路由到槽B。 链路C是x4链路,并且被路由到交换机35和36,使其成为"可交换 的"链路。
控制器27已经检测到槽33和34都是被占用的,并且还检测到槽 33需要x8链路并且槽34只需要x4链路。作为响应,控制器27已经 将控制信号递送到交换机35和36,如此使得链路C被路由到槽33, 使其成为x8槽。对于此例子来说,假设占用槽33和34的卡具有一些 用于通知控制器27 (直接或者通过系统100的操作系统)它们的带宽需 求的装置。
图4举例说明了第三个例子,其中使用交换机来重新配置到端点的链路,如此使得只重新路由一部分链路。在图4的例子中,槽43和
槽44的现存配置分别是x4和x8。然而,x8端点已经设置在槽43中, 并且x4端点己经设置在槽44中。控制器27已经检测到两个槽的状态 和带宽需求,并且己经操作交换机45和46,以致将一部分链路B重 新路由到槽43。在此例的变化中,槽44可以是未被占用的,并且链路 B被分为路由到槽43的x4通路以及路由到其他端点的x4通路。
如上所述的例子在它们重新路由现存链路时实现了 "重新配置", 即链路早已物理路由到总线上的各种端点。在没有本发明时,PCI Express总线往往依照这样的方式操作,即在初始化系统100时无论 什么链路配置都被建立。此外,在系统100正被通电以便操作(在起 动期间)的同时并且在运行操作系统的同时,在状态检测和切换发生 的意义上,上述例子的方法和电路是"动态的"。由此,状态检测具有 端点的实时(当前)状态。本发明的检测和切换在已经依照PCI Express 总线的扩展能力预先扩展的链路上进行操作。同进行扩展的静态配置 比较起来,它是动态重新配置。
在上述例子中,控制器27检测槽的状态并且将控制信号递送到配 置交换机。在其他实施例中,这些功能的一个或多个可以通过系统100 的操作系统来执行,诸如通过其BIOS执行。也就是说,BIOS可以被 编程来检测其PCI Express总线40上的槽的状态,和/或响应所述状态 来切换通路。由此,在各种实施例中,本发明的检测和切换功能可以 是硬件或者软件控制。
在没有本发明的"动态"检测方面的情况下,重新配置还是十分 有用的。换言之,当它合乎需要来人工地重新路由现存的PCI Express 总线链路时,可能存在这样的情形。例如,在具有x4链路的机壳内, 需要x8链路的卡可以物理上装配在槽中。所述x8卡可以与x4卡相切 换,并且重新路由的它们的链路。
权利要求
1. 一种重新配置信息处理系统的PCI Express总线链路的方法,所述链路被路由到总线上的端点,包括以下步骤检测步骤,检测一个或多个端点的状态;以及切换步骤,根据检测步骤的结果,将所有链路从一个端点切换到多于一个的其它端点。
2、 如权利要求1所述的方法,其中检测状态和切换端点是发生在 系统正在为操作而通电时和操作系统正在运行时。
3、 如权利要求1所述的方法,其中所述检测步骤是通过检测端点 是否被占用来执行。
4、 如权利要求3所述的方法,其中所述切换步骤通过将链路从未 被占用的端点切换到一个或多个被占用的端点来执行。
5、 如权利要求1所述的方法,其中所述检测步骤是通过检测安装 在被占用的端点上的装置的带宽需求来执行。
6、 如权利要求1所述的方法,其中所述切换步骤采用PCI Express 总线交换结构以外的交换机来执行。
7、 如权利要求1所述的方法,其中所述信息处理系统具有操作系 统,并且所述检测步骤使用为执行所述检测步骤设置的电路来执行。
8、 如权利要求1所述的方法,其中所述信息处理系统具有操作系 统,并且所述检测步骤使用所述操作系统来执行。
9、 如权利要求1所述的方法,其中所述信息处理系统在所述检测 步骤和切换步骤期间进行操作。
10、 一种重新配置信息处理系统的PCI Express总线链路的电路,所述链路被路由到总线上的端点,包括控制器,用于检测一个或多个端点的状态;以及交换机,至少与一个链路相关联,响应来自于控制器的信号,可 操作以便将所有链路从一个端点切换到多于一个的其它端点。
11、 如权利要求10所述的电路,其中当系统正在为操作而通电 时和操作系统正在运行时,所述控制器检测状态并且所述交换机切换 链路。
12、 如权利要求10所述的电路,其中所述控制器检测端点是否被占用。
13、 如权利要求12所述的电路,其中可操作所述交换机,以便将链路从未被占用的端点切换到一个或多个被占用的端点。
14、 如权利要求10所述的电路,其中所述控制器检测安装在被占用的端点的装置的带宽需求。
15、 如权利要求IO所述的电路,其中所述控制器是PCI Express 总线交换结构以外的控制器。
16、 如权利要求IO所述的电路,其中所述信息处理系统具有主机 桥,并且其中将所述控制器集成到所述主机桥中。
17、 如权利要求10所述的电路,其中将来自于所述控制器的信号 导向所述交换机。
18、 如权利要求10所述的电路,其中使来自于所述控制器的信号 通过信息处理系统的操作系统。
19、 一种信息处理系统,包括 中央处理单元;存储器,用于存储中央处理单元的可执行程序;PCI Express总线,用于将输入/输出端点与所述系统相连,并且具 有从主机桥到所述端点的交换结构以及链路;其中主机桥进一步将总线与CPU和存储器和相连接;以及链路重新配置电路,用于重新配置PCI Express总线的链路和被路 由到所述总线上的端点的链路,所述链路重新配置电路包括控制器, 用于检测一个或多个所述端点的状态;以及交换机,与至少一个链路 相关联,可操作所述交换机以便响应来自于所述控制器的信号,将所 有链路从一个端点切换到多于一个的其它端点。
20、 如权利要求19所述的系统,其中所述控制器检测安装在被占 用的端点的装置的带宽需求。
21、 如权利要求19所述的系统,其中所述控制器是PCI Express 总线交换结构以外的控制器。
22、 如权利要求19所述的系统,其中将所述控制器集成到主机桥中。
全文摘要
一种用于动态地重新配置PCI Express总线的链路的方法以及电路。应用PCI Express标准的扩展特征,计算机系统已经通过PCI Express总线最初链接到了不同的端点。在计算机系统的操作期间,检测端点的状态并且把未使用的链路(或者未使用的部分链路)被重新路由到其他端点。
文档编号G06F13/14GK101303681SQ200810098410
公开日2008年11月12日 申请日期2004年11月8日 优先权日2003年11月6日
发明者L·N·卡斯特罗, M·麦卡菲 申请人:戴尔产品公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1