專利名稱:Pci express鏈路的動態(tài)重新配置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機系統(tǒng),尤其涉及用于計算機系統(tǒng)的總線連接。
背景技術(shù):
計算機的部件包括其處理器、芯片組、高速緩沖存儲器、存儲器、 擴展卡以及存儲設(shè)備,這些部件通過一個或多個"總線"相互通信。 依照通用計算機術(shù)語,"總線"是兩個或更多裝置之間信息流動的通路。 總線通常具有接入點,或者裝置可以與所述總線相連接的地方。 一旦 連接,總線上的裝置就可以向其它裝置發(fā)送并且從中接收信息。
如今的個人計算機趨向于具有至少四條總線。每條總線在某種程 度上被進一步從處理器上去除;每條總線與其上級的總線連接。
處理器總線是最高級的總線,并且由所述芯片組使用來發(fā)送往返 于所述處理器的信息。高速緩沖存儲器總線(有時稱為后端總線)用于訪 問系統(tǒng)高速緩沖存儲器。存儲器總線將存儲器子系統(tǒng)與芯片組和處理 器相連。在許多系統(tǒng)中,所述處理器以及存儲器總線是同一總線,并 且合起來稱為前端總線或者系統(tǒng)總線。
本地I/O (輸入/輸出)總線將外部設(shè)備與存儲器、芯片組和處理器相 連。顯卡、磁盤存儲裝置和網(wǎng)絡接口卡通常使用此總線。兩個最通用 的本地I/O總線是VESA本地總線(VLB)和外圍部件互聯(lián)(PCI)總線。工 業(yè)標準體系結(jié)構(gòu)(ISA) I/O總線也可以用于慢速的外部設(shè)備,諸如鼠標、 調(diào)制解調(diào)器和低速音響和聯(lián)網(wǎng)裝置。
目前一代的PCI總線以PCI Express總線著稱。此總線是高帶寬串 行總線,其保持與現(xiàn)有PCI裝置的軟件兼容性。
發(fā)明內(nèi)容
本發(fā)明的一個方面在于一種重新配置PCI Express總線鏈路的方 法。檢測總線端點的狀態(tài),諸如所述端點是否被占用以及所述端點需 要多少帶寬。根據(jù)此檢測,可以將具有未使用帶寬的所有或者一部分 鏈路切換到另一個端點。
例如,可以將路由到未占用的端點的鏈路的所有通路重新路由到 已占用的端點?;蛘呷缌硪粋€例子,路由到需要比該鏈路提供的帶寬 少的端點的鏈路的一個或多個通路,可以被切換到需要更多帶寬的端 點。
本發(fā)明的優(yōu)勢在于它有助于克服PCIE鄧ress總線的帶寬限制。 PCI Express通路的動態(tài)重新配置允許未使用帶寬被切換到總線上的其 他裝置。
通過以下結(jié)合附圖的說明可以得到對本實施方案和優(yōu)勢的更加完 整的理解,其中同樣的涉及的數(shù)表明相同的特征,并且其中 圖1圖解依照本發(fā)明的信息處理系統(tǒng)的各種內(nèi)部單元。 圖2圖解圖1系統(tǒng)的一部分,并且進一步圖解了重新配置鏈路的 第一例子。
圖3圖解了重新配置鏈路的第二例子。 圖4圖解了重新配置鏈路的第三例子。
具體實施例方式
圖1圖解依照本發(fā)明的信息處理系統(tǒng)100的各種內(nèi)部單元。如下 面將解釋的,系統(tǒng)100具有PCI Express總線17以及附加電路19,該 附加電路用于動態(tài)地重新配置所述總線的一個或多個鏈路17b。 PCI Express總線17在常規(guī)方式下連接外圍部件,但是被加強以致可以檢 測到端點17c的狀態(tài),并且如果不需要該端點的話,重新路由該端點 的帶寬。
在圖1的實施方案中,系統(tǒng)100以個人計算機系統(tǒng)代表,不過還可 以是一些其它類型的信息處理系統(tǒng),諸如服務器、工作站或者嵌入式系統(tǒng)。為了此公開的目的,信息處理系統(tǒng)可以包括可進行計算、歸類、 處理、發(fā)送、接收、檢索、發(fā)起、切換、存儲、顯示、聲明、檢測、 記錄、復制處理或者運用企業(yè)、科學、控制或者其他目的的任何形式 的信息、情報或者數(shù)據(jù)的任何手段或者手段的集合。例如,信息處理 系統(tǒng)可以是個人計算機、網(wǎng)絡存儲裝置或者任何其他適當?shù)难b置,并 且在大小、形狀、性能、功能以及價格方面有所不同。所述信息處理
系統(tǒng)可以包括隨機存取存儲器(RAM)、諸如中央處理單元(CPU)的一個 或多個處理資源、硬件或者軟件控制邏輯、ROM和域其他類型非易失
存儲器。所述信息處理系統(tǒng)的附加部件可以包括 一個或多個盤驅(qū)動
器、用于與外部設(shè)備通信的一個或多個網(wǎng)絡端口,以及各種輸入和輸
出(i/o)裝置,諸如鍵盤、鼠標以及視頻顯示器。所述信息處理系統(tǒng)還
可以包括一個或多個總線,可操作以便在各種硬件部件之間傳輸通信。
CPU 10可以是任何中央處理裝置。具有代表性的CPU 10的例子 是來自于奔騰系列的處理器,該處理器可以從Intel公司獲得。對本發(fā) 明來說,CPU IO至少被編程以執(zhí)行具有BIOS (基本輸入/輸出系統(tǒng)) 編程的操作系統(tǒng)。
主機橋11 (經(jīng)常稱為北橋)是一種芯片(或者芯片組的一部分),其將 CPU 10與端點12、存儲器13并且與PCI Express總線17連接。與主 機橋11相連的端點12的類型取決于應用。例如,如果系統(tǒng)100是臺 式計算機,那么端點12通常是圖形適配器、HDD(經(jīng)由串行ATA鏈路) 以及本地的I/O (經(jīng)由USB鏈路)。對于服務器來說,端點12通常是 GbE (千兆位以太網(wǎng))以及IBE裝置以及附加的橋裝置。
CPU 10和主機橋11之間的通信是經(jīng)由前端總線14實現(xiàn)的。
PCI Express總線17包括交換結(jié)構(gòu)17a和鏈路17b,許多PCI端點 45可以借助于這些結(jié)構(gòu)來連接。所述交換結(jié)構(gòu)17a提供從主機橋11到 鏈路17b的輸出,并且提供鏈路擴展。
"鏈路擴展(link scaling)"指的是分配PCI Express總線17的可 用帶寬,如此使得預定數(shù)量的鏈路17b被物理上路由到端點18,其中 每條鏈路均具有符合PCI Express體系結(jié)構(gòu)標準的大小。每條鏈路17b 包括一個或多個通路。具有單個通路(稱為具有xl寬度)的鏈路具有兩 個低壓差分對;該鏈路在兩個裝置之間雙單工串聯(lián)。兩個裝置之間的數(shù)據(jù)傳輸沿雙向同時發(fā)生。通過更寬的鏈路寬度(xl, x2, x4, x8, x16, x32) 來實現(xiàn)可擴展性能。鏈路被對稱地擴展,并且在每個方向具有相同數(shù) 目的通路。
PCI端點18可以是外圍裝置或者芯片,使用卡槽或者其他連接機 制物理連接。與PCI Express總線17相連的特定端點45取決于系統(tǒng)100 的應用類型。對于臺式計算機系統(tǒng)來說,具有代表性的PCI端點18的 例子是移動式對接適配器、以太網(wǎng)適配器以及其它添加裝置。對于服 務器平臺來說,端點45可以是千兆位以太網(wǎng)連接以及用于I/O和集群 互連的附加切換能力。對于通信平臺來說,端點18可以是有線卡。
在常規(guī)的PCI Express總線17中,切換結(jié)構(gòu)17a是作為獨立部件 或者作為包括主機橋11的部分部件實現(xiàn)的邏輯元件。如下面所解釋的, 在本發(fā)明中,所述PCI Express總線17結(jié)合附加切換和控制電路19進 行操作。此電路19檢測端點45的狀態(tài),并且能夠?qū)㈡溌窂囊粋€端點 切換到另一個。
圖2'是系統(tǒng)100的局部圖,并且圖解了依照本發(fā)明的PCI Express 鏈路17b的動態(tài)重新配置。每條鏈路17b被作為兩對信號示出——發(fā) 送對以及接收對。將發(fā)送對以T標志標識,將接收對以R標志標識。
槽23和24設(shè)計成連接卡型端點45。雖然只示出了兩個槽,但是 根據(jù)所要求的鏈路規(guī)模(xl, x4等等),許多槽結(jié)構(gòu)都是可能的。槽23 和24表示物理位置,典型地在系統(tǒng)100的計算機機殼之內(nèi),其中可以 安裝用于各種i/o裝置的卡。在其他實施方案中,除槽連接以外、或者 代替槽連接,系統(tǒng)100還可以具有一個或多個芯片連接。概括地講, 術(shù)語"端點連接"可共同地用于涉及芯片、卡或者任何其他類型端點 的連接。
在圖1的例子中,槽23依照aX4鏈路寬度(鏈路A)來配置。槽24 依照aX4鏈路寬度(鏈路B)來配置。
使用交換機25和26以及鏈路配置控制器27來實現(xiàn)重新配置。應 該理解的是,圖2是一個例子,切換和控制電路的許多不同的變化都 是可能的,同時鏈路、槽以及交換機的數(shù)目以及各種鏈路寬度都可以 改變。
鏈路配置控制器27檢測槽23和24是否被占用(使用中)。因為PCI總線40允許槽"熱插拔"并且"熱交換",所以每當在槽23或者24 中安裝或者卸載裝置時,此檢測在某種意義上是動態(tài)的,控制器27立 即檢測該事件。
鏈路配置控制器27可以采用可編程邏輯器件來實現(xiàn),并且可以是 獨立的邏輯電路或者可以與其他系統(tǒng)邏輯集成。例如,鏈路配置控制 器可以集成到主機橋20中。
如果槽的狀態(tài)(占用或者未占用)改變,那么控制器27向交換機25 和26發(fā)送信號。交換機25和26可以采用高速交換裝置實現(xiàn)。與控制 器27—樣,交換機25和26可以與其它電路集成,諸如與控制器27 和/或與主機橋20。
在圖2的例子中,鏈路B在其發(fā)送通路上具有交換機25并且在其 接收通路上具有交換機26。交換機25和26兩個都可操作,以便將鏈 路B切換到槽23或者槽24。如果將鏈路B切換到槽23,那么槽23 接收x8鏈路。如果將鏈路B切換到槽24,那么槽24接收x4鏈路。 假設(shè)交換機25和26與槽23之間已經(jīng)進行適當?shù)奈锢磉B接,以便能夠 在可供選擇的通道之間切換。
在所述例子中,槽23被占用而槽24是未被占用的。通過控制器 27檢測此狀態(tài),所述控制器已經(jīng)設(shè)定了交換機25和26將所有鏈路B 切換到槽23。
圖3舉例說明了本發(fā)明操作的另一個例子。在此例子中,兩個槽 33和34都被占用。所述系統(tǒng)已經(jīng)用三個x4鏈路來配置。鏈路A是x4 鏈路,并且被路由到槽33。鏈路B也是x4鏈路,并且被路由到槽B。 鏈路C是x4鏈路,并且被路由到交換機35和36,使其成為"可交換 的"鏈路。
控制器27已經(jīng)檢測到槽33和34都是被占用的,并且還檢測到槽 33需要x8鏈路并且槽34只需要x4鏈路。作為響應,控制器27已經(jīng) 將控制信號遞送到交換機35和36,如此使得鏈路C被路由到槽33, 使其成為x8槽。對于此例子來說,假設(shè)占用槽33和34的卡具有一些 用于通知控制器27 (直接或者通過系統(tǒng)100的操作系統(tǒng))它們的帶寬需 求的裝置。
圖4舉例說明了第三個例子,其中使用交換機來重新配置到端點的鏈路,如此使得只重新路由一部分鏈路。在圖4的例子中,槽43和
槽44的現(xiàn)存配置分別是x4和x8。然而,x8端點已經(jīng)設(shè)置在槽43中, 并且x4端點己經(jīng)設(shè)置在槽44中??刂破?7已經(jīng)檢測到兩個槽的狀態(tài) 和帶寬需求,并且己經(jīng)操作交換機45和46,以致將一部分鏈路B重 新路由到槽43。在此例的變化中,槽44可以是未被占用的,并且鏈路 B被分為路由到槽43的x4通路以及路由到其他端點的x4通路。
如上所述的例子在它們重新路由現(xiàn)存鏈路時實現(xiàn)了 "重新配置", 即鏈路早已物理路由到總線上的各種端點。在沒有本發(fā)明時,PCI Express總線往往依照這樣的方式操作,即在初始化系統(tǒng)100時無論 什么鏈路配置都被建立。此外,在系統(tǒng)100正被通電以便操作(在起 動期間)的同時并且在運行操作系統(tǒng)的同時,在狀態(tài)檢測和切換發(fā)生 的意義上,上述例子的方法和電路是"動態(tài)的"。由此,狀態(tài)檢測具有 端點的實時(當前)狀態(tài)。本發(fā)明的檢測和切換在已經(jīng)依照PCI Express 總線的擴展能力預先擴展的鏈路上進行操作。同進行擴展的靜態(tài)配置 比較起來,它是動態(tài)重新配置。
在上述例子中,控制器27檢測槽的狀態(tài)并且將控制信號遞送到配 置交換機。在其他實施例中,這些功能的一個或多個可以通過系統(tǒng)100 的操作系統(tǒng)來執(zhí)行,諸如通過其BIOS執(zhí)行。也就是說,BIOS可以被 編程來檢測其PCI Express總線40上的槽的狀態(tài),和/或響應所述狀態(tài) 來切換通路。由此,在各種實施例中,本發(fā)明的檢測和切換功能可以 是硬件或者軟件控制。
在沒有本發(fā)明的"動態(tài)"檢測方面的情況下,重新配置還是十分 有用的。換言之,當它合乎需要來人工地重新路由現(xiàn)存的PCI Express 總線鏈路時,可能存在這樣的情形。例如,在具有x4鏈路的機殼內(nèi), 需要x8鏈路的卡可以物理上裝配在槽中。所述x8卡可以與x4卡相切 換,并且重新路由的它們的鏈路。
權(quán)利要求
1. 一種重新配置信息處理系統(tǒng)的PCI Express總線鏈路的方法,所述鏈路被路由到總線上的端點,包括以下步驟檢測步驟,檢測一個或多個端點的狀態(tài);以及切換步驟,根據(jù)檢測步驟的結(jié)果,將所有鏈路從一個端點切換到多于一個的其它端點。
2、 如權(quán)利要求1所述的方法,其中檢測狀態(tài)和切換端點是發(fā)生在 系統(tǒng)正在為操作而通電時和操作系統(tǒng)正在運行時。
3、 如權(quán)利要求1所述的方法,其中所述檢測步驟是通過檢測端點 是否被占用來執(zhí)行。
4、 如權(quán)利要求3所述的方法,其中所述切換步驟通過將鏈路從未 被占用的端點切換到一個或多個被占用的端點來執(zhí)行。
5、 如權(quán)利要求1所述的方法,其中所述檢測步驟是通過檢測安裝 在被占用的端點上的裝置的帶寬需求來執(zhí)行。
6、 如權(quán)利要求1所述的方法,其中所述切換步驟采用PCI Express 總線交換結(jié)構(gòu)以外的交換機來執(zhí)行。
7、 如權(quán)利要求1所述的方法,其中所述信息處理系統(tǒng)具有操作系 統(tǒng),并且所述檢測步驟使用為執(zhí)行所述檢測步驟設(shè)置的電路來執(zhí)行。
8、 如權(quán)利要求1所述的方法,其中所述信息處理系統(tǒng)具有操作系 統(tǒng),并且所述檢測步驟使用所述操作系統(tǒng)來執(zhí)行。
9、 如權(quán)利要求1所述的方法,其中所述信息處理系統(tǒng)在所述檢測 步驟和切換步驟期間進行操作。
10、 一種重新配置信息處理系統(tǒng)的PCI Express總線鏈路的電路,所述鏈路被路由到總線上的端點,包括控制器,用于檢測一個或多個端點的狀態(tài);以及交換機,至少與一個鏈路相關(guān)聯(lián),響應來自于控制器的信號,可 操作以便將所有鏈路從一個端點切換到多于一個的其它端點。
11、 如權(quán)利要求10所述的電路,其中當系統(tǒng)正在為操作而通電 時和操作系統(tǒng)正在運行時,所述控制器檢測狀態(tài)并且所述交換機切換 鏈路。
12、 如權(quán)利要求10所述的電路,其中所述控制器檢測端點是否被占用。
13、 如權(quán)利要求12所述的電路,其中可操作所述交換機,以便將鏈路從未被占用的端點切換到一個或多個被占用的端點。
14、 如權(quán)利要求10所述的電路,其中所述控制器檢測安裝在被占用的端點的裝置的帶寬需求。
15、 如權(quán)利要求IO所述的電路,其中所述控制器是PCI Express 總線交換結(jié)構(gòu)以外的控制器。
16、 如權(quán)利要求IO所述的電路,其中所述信息處理系統(tǒng)具有主機 橋,并且其中將所述控制器集成到所述主機橋中。
17、 如權(quán)利要求10所述的電路,其中將來自于所述控制器的信號 導向所述交換機。
18、 如權(quán)利要求10所述的電路,其中使來自于所述控制器的信號 通過信息處理系統(tǒng)的操作系統(tǒng)。
19、 一種信息處理系統(tǒng),包括 中央處理單元;存儲器,用于存儲中央處理單元的可執(zhí)行程序;PCI Express總線,用于將輸入/輸出端點與所述系統(tǒng)相連,并且具 有從主機橋到所述端點的交換結(jié)構(gòu)以及鏈路;其中主機橋進一步將總線與CPU和存儲器和相連接;以及鏈路重新配置電路,用于重新配置PCI Express總線的鏈路和被路 由到所述總線上的端點的鏈路,所述鏈路重新配置電路包括控制器, 用于檢測一個或多個所述端點的狀態(tài);以及交換機,與至少一個鏈路 相關(guān)聯(lián),可操作所述交換機以便響應來自于所述控制器的信號,將所 有鏈路從一個端點切換到多于一個的其它端點。
20、 如權(quán)利要求19所述的系統(tǒng),其中所述控制器檢測安裝在被占 用的端點的裝置的帶寬需求。
21、 如權(quán)利要求19所述的系統(tǒng),其中所述控制器是PCI Express 總線交換結(jié)構(gòu)以外的控制器。
22、 如權(quán)利要求19所述的系統(tǒng),其中將所述控制器集成到主機橋中。
全文摘要
一種用于動態(tài)地重新配置PCI Express總線的鏈路的方法以及電路。應用PCI Express標準的擴展特征,計算機系統(tǒng)已經(jīng)通過PCI Express總線最初鏈接到了不同的端點。在計算機系統(tǒng)的操作期間,檢測端點的狀態(tài)并且把未使用的鏈路(或者未使用的部分鏈路)被重新路由到其他端點。
文檔編號G06F13/14GK101303681SQ200810098410
公開日2008年11月12日 申請日期2004年11月8日 優(yōu)先權(quán)日2003年11月6日
發(fā)明者L·N·卡斯特羅, M·麥卡菲 申請人:戴爾產(chǎn)品公司