可配置通信控制器的制造方法
【專利說明】
[0001] 相關(guān)申請的交叉引用
[0002] 本申請要求2012年12月21日申請的美國申請?zhí)?3/723,960的權(quán)益,所述申請 的內(nèi)容以引用方式并入本文。
技術(shù)領(lǐng)域
[0003] 本公開大體來說涉及通信控制器,具體來說涉及可配置通信控制器。
【背景技術(shù)】
[0004] 各種通信協(xié)議支持連接到通信介質(zhì)并且根據(jù)協(xié)議來操作的物理接口。例如,高速 PCI (PCIE)標(biāo)準(zhǔn)描述用于這類通信的某些協(xié)議。PCIE標(biāo)準(zhǔn)是使用現(xiàn)有PCI編程概念的PCI 標(biāo)準(zhǔn)的擴(kuò)展。根據(jù)PCIE標(biāo)準(zhǔn),在PCIE兼容系統(tǒng)的各種PCIE兼容請求器和完成器之間傳送 數(shù)據(jù)包。據(jù)知,PCIE將鏈路描述為兩個(gè)端口和它們的互連通道的集合,并且鏈路是兩個(gè)組 件之間的雙單工通信路徑。PCIE標(biāo)準(zhǔn)進(jìn)一步將通道描述為一組差動(dòng)信號(hào)對,一對用于傳輸 而另一對用于接收,其中N端(by-N)鏈路包括N個(gè)通道。例如,以2. 5千兆傳送每秒(GT/ s)的數(shù)據(jù)速率操作的16端鏈路表示每個(gè)方向上40千兆位/秒的合計(jì)原始帶寬。PCIE標(biāo) 準(zhǔn)描述用于1端鏈路、2端鏈路、4端鏈路、8端鏈路、12端鏈路、16端和32端鏈路的操作。
[0005] PCIE標(biāo)準(zhǔn)使用8位(b) /10b編碼(8位編碼成10位)將符號(hào)描述為10位的量, 并且使用128b/130b編碼(2位的同步標(biāo)頭和128位的有效負(fù)載)將符號(hào)描述為8位的量。 PCIE標(biāo)準(zhǔn)還將符號(hào)時(shí)間描述為符號(hào)放置于通道上的時(shí)間段(當(dāng)使用8b/10b編碼時(shí)為10倍 單位間隔,并且當(dāng)使用128b/130b時(shí)為8倍單位間隔)。PCIE標(biāo)準(zhǔn)進(jìn)一步將單位間隔描述 為通過對足夠長以使源時(shí)鐘的所有有意調(diào)頻可以忽略的時(shí)間間隔內(nèi)的每位時(shí)間間隔求平 均值所測得的值。
[0006] -旦PCIE兼容系統(tǒng)初始化每個(gè)鏈路,鏈路以支持的數(shù)據(jù)速率中的一個(gè)來操作。 PCIE 1. 0a標(biāo)準(zhǔn)規(guī)定有效數(shù)據(jù)速率為每個(gè)通道每個(gè)方向上2. 5千兆位每秒的原始帶寬。 PCIE 2. 0標(biāo)準(zhǔn)規(guī)定有效數(shù)據(jù)速率為每個(gè)通道每個(gè)方向上5. 0千兆位每秒的原始帶寬。PCIE 3. 0標(biāo)準(zhǔn)規(guī)定有效數(shù)據(jù)速率為每個(gè)通道每個(gè)方向上8. 0千兆位每秒的原始帶寬。并且,未來 的PCIE 4. 0標(biāo)準(zhǔn)預(yù)期會(huì)規(guī)定有效數(shù)據(jù)速率為每個(gè)通道每個(gè)方向上16. 0千兆位每秒的原始 帶寬。PCIE標(biāo)準(zhǔn)的未來版本將可能繼續(xù)增大規(guī)定的數(shù)據(jù)速率。例如,歷史上,PCIE標(biāo)準(zhǔn)的 每個(gè)主要修訂版(通常每3至4年)都使PCIE帶寬加倍。
[0007] 隨著如PCIE標(biāo)準(zhǔn)的通信標(biāo)準(zhǔn)繼續(xù)規(guī)定增大的數(shù)據(jù)速率,相關(guān)聯(lián)的通信控制器的 設(shè)計(jì)變得越來越困難。
[0008] 附圖簡述
[0009] 圖1以框圖形式示出根據(jù)一些實(shí)施方案的通信結(jié)構(gòu)。
[0010] 圖2以框圖形式示出根據(jù)一些實(shí)施方案的計(jì)算機(jī)系統(tǒng)。
[0011] 圖3以框圖形式示出根據(jù)一些實(shí)施方案的圖形處理器,所述圖形處理器可用來實(shí) 現(xiàn)圖2的圖形處理器。
[0012] 圖4以框圖形式示出根據(jù)一些實(shí)施方案的南橋,所述南橋可用來實(shí)現(xiàn)圖2的南橋。
[0013]圖5以框圖形式示出根據(jù)一些實(shí)施方案的通信控制器,所述通信控制器可用來實(shí) 現(xiàn)圖2的PCIE控制器中的任一個(gè)。
[0014] 圖6示出根據(jù)一些實(shí)施方案的計(jì)時(shí)圖,所述計(jì)時(shí)圖有助于理解圖5的通信控制器 的傳輸塊的操作。
[0015] 圖7示出根據(jù)一些實(shí)施方案的計(jì)時(shí)圖,所述計(jì)時(shí)圖有助于理解圖5的通信控制器 的接收塊的操作。
[0016] 圖8示出根據(jù)某些實(shí)施方案的用于配置圖5的通信控制器的方法的流程圖。
[0017] 在以下描述中,不同圖中相同的參考數(shù)字指示相似或相同的項(xiàng)目。除非另外指出, 否則單詞"連接"及其相關(guān)聯(lián)的動(dòng)詞形式包括直接關(guān)聯(lián)和通過本領(lǐng)域中已知手段的間接電 氣連接,并且除非另外指出,否則對直接連接的任何描述也意味著使用適當(dāng)形式間接電氣 連接的替代性實(shí)施方案。
[0018] 實(shí)施方案的說明
[0019] 通信控制器通常包括連接在客戶端接口與物理接口之間的接收電路和傳輸電路。 通信控制器具有用于連接到通信介質(zhì)的端口,并且根據(jù)例如PCIE標(biāo)準(zhǔn)協(xié)議的協(xié)議來操作, 所述協(xié)議使用數(shù)據(jù)位序列來形成符號(hào)??墒褂?b/10b編碼方案或128b/130b編碼方案形 成PCIE符號(hào)。端口連接到具有例如多達(dá)十六個(gè)PCIE數(shù)據(jù)通道的鏈路,但是最大支持鏈路 寬度在不同實(shí)施方案中變化。
[0020] 在一些實(shí)施方案中,如下文所公開的通信控制器包括反串行化器,所述反串行化 器具有:輸入端,其連接到物理接口的輸出端;以及輸出端,其用于響應(yīng)于數(shù)據(jù)位序列而在 低頻模式下以第一速率提供第一多個(gè)數(shù)據(jù)位并且在低延遲模式下以第二速率提供第二多 個(gè)數(shù)據(jù)位,其中第一多個(gè)在數(shù)量上大于第二多個(gè),并且第二速率高于第一速率。通信控制器 還具有接收塊,其具有連接到反串行化器的輸出端的輸入端。在一些實(shí)施方案中,通信控制 器包括傳輸塊,其具有輸入端和用于提供多個(gè)符號(hào)的序列的輸出端。通信控制器還具有串 行化器,所述串行化器具有:輸入端,其連接到傳輸塊的輸出端;輸出端,其用于響應(yīng)于多 個(gè)符號(hào)的序列而在低頻模式下以第一速率提供第一多個(gè)數(shù)據(jù)位并且在低延遲模式下以第 二速率提供第二多個(gè)數(shù)據(jù)位,其中第一多個(gè)在數(shù)量上大于第二多個(gè),并且第二速率高于第 一速率。在一些實(shí)施方案中,通信控制器包括如鏈路控制器的控制塊,其具有用于選擇低頻 模式和低延遲模式中的一個(gè)的至少一個(gè)模式寄存器。
[0021] 因此,通信控制器可以動(dòng)態(tài)地改變其內(nèi)部體系結(jié)構(gòu)來更適當(dāng)?shù)仨憫?yīng)不同設(shè)計(jì)約束 的需求。.另外,最初設(shè)計(jì)用于一個(gè)標(biāo)準(zhǔn)(例如PCIE 3.0)的通信控制器可以容易適于新 的、更高速的標(biāo)準(zhǔn)(例如PCIE 4.0)而無需對其進(jìn)行重新構(gòu)建。
[0022] 圖1以框圖形式示出根據(jù)一些實(shí)施方案的通信結(jié)構(gòu)100。例如,通信結(jié)構(gòu)100可 能是PCIE兼容結(jié)構(gòu),其包括互連一組PCIE兼容組件的點(diǎn)對點(diǎn)鏈路,而以下討論將在PCIE 的背景下描述通信結(jié)構(gòu)100。應(yīng)了解,在一些實(shí)施方案中,通信結(jié)構(gòu)100可根據(jù)例如超傳輸 (HT)協(xié)議的其它通信總線協(xié)議來操作。通信結(jié)構(gòu)100通常包括根復(fù)合體110、交換機(jī)120、 交換機(jī)130、設(shè)備140、鏈路150、鏈路160和鏈路170。交換機(jī)120和交換機(jī)130中的每一 個(gè)包括至少一個(gè)PCIE橋(未示出)和額外端口,以便在相應(yīng)的鏈路上連接到例如其它PCIE 兼容設(shè)備(未不出)。
[0023] 根復(fù)合體110具有根入口端口和根出口端口,所述兩個(gè)端口分別連接到交換機(jī) 120的上游端口,并且交換機(jī)120具有下游端口,所述下游端口連接到交換機(jī)130的上游端 口。交換機(jī)130具有下游端口,所述下游端口連接到設(shè)備140的入口端口和出口端口。根 復(fù)合體110、交換機(jī)120、交換機(jī)130和設(shè)備140各自在鏈路150、鏈路160和鏈路170中的 對應(yīng)鏈路上傳導(dǎo)信號(hào)。鏈路150、鏈路160、鏈路170各自是用來在結(jié)構(gòu)100的組件之間用 數(shù)據(jù)包傳導(dǎo)數(shù)據(jù)位的雙單向鏈路,并且本文公開的原理適用于任何所支持的鏈路寬度。
[0024] 在操作中,PCIE硬件初始化過程期間,通信結(jié)構(gòu)100的代理(根復(fù)合體110、交換 機(jī)120和交換機(jī)130以及設(shè)備140)通過"協(xié)商"通道寬度和操作的鏈路頻率(鏈路速度) 來啟動(dòng)鏈路150、鏈路160和鏈路170的參數(shù)。在物理層面,也就是在PCIE代理之間直接與 通信介質(zhì)交互的層面,代理通過啟動(dòng)鏈路訓(xùn)練來開始協(xié)商過程以確定每個(gè)代理的數(shù)據(jù)速率 能力、鏈路內(nèi)的通道排序、鏈路寬度以及通道間去偏移(lane-to-lane de-skew),以重新匯 編跨多通道鏈路內(nèi)的各通道被剝離的數(shù)據(jù)包。PCIE代理通過在每個(gè)通道上以2. 5GT/s的 PCIE 1. 0a體系結(jié)構(gòu)數(shù)據(jù)速率操作來開始訓(xùn)練過程,使得沿著鏈路的所有代理都有能力彼 此通信。例如,設(shè)備140通過提供PCIE "有序集"訓(xùn)練域來向其它PCIE代理通知它的數(shù)據(jù) 速率能力。
[0025] 在協(xié)商過程完成時(shí),鏈路上的代理決定是否將數(shù)據(jù)速率保持在2. 5GT/s以適應(yīng)特 定的PCIE代理。此外,鏈路上的代理可以轉(zhuǎn)變?yōu)镻CIE "恢復(fù)狀態(tài)"以改變數(shù)據(jù)速率,例如, 轉(zhuǎn)變?yōu)?. OGT/s的PCIE 3. 0速率,或轉(zhuǎn)變?yōu)?6. OGT/s的預(yù)期PCIE 4. 0速率。在協(xié)商過程 期間,代理還就鏈路數(shù)和每個(gè)通道的通道數(shù)的值達(dá)成一致,每個(gè)通道是有效鏈路的部分。
[0026] -旦確立PCIE鏈路速度和寬度參數(shù),根復(fù)合體110將通常在鏈路上開始事務(wù)。例 如,根復(fù)合體110通過作為PCIE兼容請求器操作來向設(shè)備140發(fā)送請求事務(wù)層面數(shù)據(jù)包 (TLP),來執(zhí)行已編程的I/O事務(wù)。作為響應(yīng),設(shè)備140充當(dāng)PCIE兼容完成器來提供響應(yīng)數(shù) 據(jù)包,這被稱為完成?;蛘撸槍σ恍┦聞?wù),如存儲(chǔ)器事務(wù),設(shè)備140有能力充當(dāng)PCIE兼容 請求器,并且根復(fù)合體110有能力充當(dāng)PCIE兼容完成器。
[0027] 圖2以框圖形式示出根據(jù)一些實(shí)施方案的計(jì)算機(jī)系統(tǒng)20