專利名稱:對(duì)基于鏈路的系統(tǒng)互連進(jìn)行物理層初始化的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例一般地涉及采用基于鏈路的互連方案的處理系統(tǒng)的領(lǐng)域,更具體地說(shuō),本發(fā)明涉及用于初始化這種處理系統(tǒng)的物理層部分的狀態(tài)機(jī)。
背景技術(shù):
對(duì)數(shù)據(jù)處理需求的增加已經(jīng)導(dǎo)致在微處理系統(tǒng)上所執(zhí)行的更大并且更復(fù)雜應(yīng)用的開發(fā)。這種系統(tǒng)可以使用基于總線的互連方案來(lái)實(shí)現(xiàn)?;诳偩€的互連方案在性能、可擴(kuò)展性和可靠性方面具有明顯的缺陷。這種系統(tǒng)的性能會(huì)由于共享總線的長(zhǎng)度而受到損害。也就是說(shuō),在處理器之間提供電連接的導(dǎo)線的長(zhǎng)度取決于多處理器系統(tǒng)(MPS)中處理器的數(shù)目。更多數(shù)目的處理器和電連接的長(zhǎng)度,以及總線上所有其它處理器的電負(fù)載降低了能夠操作處理器的有效速度。由于當(dāng)添加了更多的處理器時(shí),共享總線充當(dāng)了瓶頸,因此基于總線的系統(tǒng)不具有可擴(kuò)展性。此外,所有處理器共享一根公有總線,這樣的事實(shí)意味著如果總線由于任何原因失效,則所有處理器都不能操作,因此基于總線的設(shè)計(jì)危及到可靠性。
為了解決這些缺陷,已經(jīng)開發(fā)出具有點(diǎn)到點(diǎn)的基于鏈路的互連方案的MPS。這種系統(tǒng)的每個(gè)節(jié)點(diǎn)包括用于在被連接的節(jié)點(diǎn)之間傳輸數(shù)據(jù)的代理(例如處理器、存儲(chǔ)器控制器、I/O集線器組件、芯片集等等)和路由器。這種系統(tǒng)的代理通過(guò)使用互連層次結(jié)構(gòu)(interconnection hierarchy)來(lái)傳輸數(shù)據(jù),所述互連層次結(jié)構(gòu)通常包括協(xié)議層、可選的路由層、鏈路層和物理層。
協(xié)議層是互連層次結(jié)構(gòu)的最高層,該層設(shè)立互連協(xié)議,所述互連協(xié)議是確定代理間彼此將如何通信的規(guī)則的集合。例如,互連協(xié)議設(shè)置了協(xié)議事務(wù)分組(PTP)的格式,所述協(xié)議事務(wù)分組構(gòu)成了在節(jié)點(diǎn)間所傳輸數(shù)據(jù)的單位。通常這樣的分組包含了用于識(shí)別該分組的信息,并且指出該分組的目的(例如該分組是響應(yīng)于請(qǐng)求而傳輸數(shù)據(jù),還是請(qǐng)求來(lái)自另一節(jié)點(diǎn)的數(shù)據(jù))。
路由層確定數(shù)據(jù)在節(jié)點(diǎn)間的傳輸路徑。也就是說(shuō),因?yàn)槊總€(gè)節(jié)點(diǎn)不會(huì)連接到所有的其它節(jié)點(diǎn),因此在兩個(gè)特定節(jié)點(diǎn)之間,數(shù)據(jù)可以在多條路徑上傳輸。路由層的功能是用來(lái)指定最優(yōu)的路徑。
鏈路層接收來(lái)自協(xié)議層的PTP,并且以連續(xù)的塊(部分)的形式傳輸這些PTP。每個(gè)部分的尺寸由鏈路層確定,并且該尺寸代表了PTP中其傳遞必須被同步的部分,因此每個(gè)部分被稱為流控制單位(片,flit)。一個(gè)PTP由整數(shù)個(gè)片組成,并且片的數(shù)目可變。鏈路層執(zhí)行流控制,所述流控制可以包括錯(cuò)誤檢查和編碼機(jī)制。通過(guò)鏈路層,每個(gè)節(jié)點(diǎn)可以明了被發(fā)送和被接收的數(shù)據(jù),并且發(fā)送和接收與該數(shù)據(jù)相關(guān)的確認(rèn)。
物理層由在每個(gè)節(jié)點(diǎn)處的實(shí)際的電子組件和信令機(jī)制所組成。在點(diǎn)到點(diǎn)的基于鏈路的互連方案中,每條鏈路上只會(huì)連接兩個(gè)代理。這種受限的電負(fù)載使得操作速度提高。通過(guò)減小物理層接口(PLI)的寬度并且因而減小時(shí)鐘的變化,可以進(jìn)一步提高操作速度。因此,通常對(duì)PLI進(jìn)行設(shè)計(jì),以在若干時(shí)鐘周期中的每個(gè)時(shí)鐘周期上傳輸片的某個(gè)片斷(fraction)。可以在單個(gè)時(shí)鐘周期內(nèi)穿過(guò)物理接口進(jìn)行傳遞的片的片斷被稱為物理控制數(shù)位(物理數(shù)位,phit)。片代表數(shù)據(jù)的邏輯單位,而物理數(shù)位與在單位時(shí)間間隔中所傳送的數(shù)據(jù)量相對(duì)應(yīng)。
實(shí)現(xiàn)互連層次結(jié)構(gòu)是為了在物理層獲得更快的系統(tǒng)操作速度。鏈路層以片的形式傳送數(shù)據(jù)(從協(xié)議層以PTP的形式接收到的),然后所述片在物理層被分解為物理數(shù)位,并且通過(guò)PLI被傳輸?shù)浇邮沾淼奈锢韺?。在接收代理的物理層,將接收到的物理?shù)位合并為片,并且轉(zhuǎn)發(fā)到接收代理的鏈路層,然后該鏈路層將片組合成PTP,并將所述PTP轉(zhuǎn)發(fā)到接收代理的協(xié)議層。
物理層的電子組件通常包括一些訓(xùn)練邏輯,所述訓(xùn)練邏輯允許鏈路的每個(gè)節(jié)點(diǎn)的物理層使用所述鏈路進(jìn)行操作。也就是說(shuō),訓(xùn)練邏輯允許物理層校準(zhǔn)其內(nèi)部的集成電路設(shè)備,使得這些集成電路設(shè)備與鏈路(即物理互連)兼容。該過(guò)程被稱為物理層鏈路初始化。典型的鏈路初始化算法有很多缺點(diǎn)。例如,典型的初始化算法使用預(yù)定的計(jì)數(shù)值來(lái)推進(jìn)狀態(tài),因此難以進(jìn)行驗(yàn)證和調(diào)試。一些初始化算法使用被編碼的鏈路,該鏈路要求數(shù)據(jù)在傳送前被編碼,并且在接收時(shí)進(jìn)行解碼。另外,典型的初始化算法對(duì)很多所希望的特征都不支持。例如,典型的初始化算法在鏈路已被置于低功率模式之后,需要對(duì)物理層鏈路進(jìn)行完整的重新初始化。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于實(shí)現(xiàn)兩個(gè)代理之間的物理層鏈路的初始化的方法,該方法包括進(jìn)入檢測(cè)狀態(tài),并且保持在所述檢測(cè)狀態(tài)中,直到檢測(cè)到物理代理,或者檢測(cè)到測(cè)試探頭;一旦檢測(cè)到物理代理,則前進(jìn)至輪詢狀態(tài),所述輪詢狀態(tài)用于訓(xùn)練鏈路,以利用參考時(shí)鐘進(jìn)行操作,并且提供在所述兩個(gè)代理之間的參數(shù)交換;以及前進(jìn)至配置狀態(tài),所述配置狀態(tài)用于協(xié)商鏈路寬度并設(shè)置片的邊界。
根據(jù)本發(fā)明的另一方面,提供了一種系統(tǒng),該系統(tǒng)包括通過(guò)點(diǎn)到點(diǎn)的基于鏈路的互連方案而互連的多個(gè)代理;在所述代理中的每一個(gè)代理上所實(shí)現(xiàn)的狀態(tài)機(jī),所述狀態(tài)機(jī)用于對(duì)連接著所述多個(gè)代理中的兩個(gè)代理的鏈路的物理層進(jìn)行初始化,所述狀態(tài)機(jī)包括用于檢測(cè)在所述鏈路對(duì)面的另一個(gè)代理的物理層的檢測(cè)狀態(tài),所述檢測(cè)狀態(tài)能夠區(qū)分另一個(gè)代理的物理層和測(cè)試探頭;用于訓(xùn)練鏈路,以利用參考時(shí)鐘進(jìn)行操作,并且提供在所述兩個(gè)代理之間的參數(shù)交換的輪詢狀態(tài);以及用于協(xié)商鏈路寬度和設(shè)置片的邊界的配置狀態(tài)。
根據(jù)本發(fā)明的又一方面,提供了一種制品,該制品包括具有相關(guān)聯(lián)的數(shù)據(jù)的機(jī)器可訪問(wèn)介質(zhì),其中所述數(shù)據(jù)當(dāng)被訪問(wèn)時(shí),使機(jī)器執(zhí)行操作,以實(shí)現(xiàn)兩個(gè)代理之間的物理層鏈路的初始化,所述操作包括進(jìn)入檢測(cè)狀態(tài),并且在一段指定的檢測(cè)時(shí)間內(nèi)保持在所述檢測(cè)狀態(tài)中,所述檢測(cè)狀態(tài)能夠區(qū)分另一個(gè)代理的所述物理層和測(cè)試探頭;一旦檢測(cè)到物理代理,則前進(jìn)至輪詢狀態(tài),所述輪詢狀態(tài)用于訓(xùn)練鏈路,以利用參考時(shí)鐘進(jìn)行操作,并且提供在所述兩個(gè)代理之間的參數(shù)交換;以及前進(jìn)至配置狀態(tài),所述配置狀態(tài)用于協(xié)商鏈路寬度并設(shè)置片的邊界。
根據(jù)本發(fā)明的再一方面,提供了一種方法,該方法包括提供定義了狀態(tài)機(jī)的狀態(tài)機(jī)定義,所述狀態(tài)機(jī)用于實(shí)現(xiàn)通過(guò)點(diǎn)到點(diǎn)的基于鏈路的互連方案而互連的兩個(gè)代理之間的鏈路的物理層初始化,所述狀態(tài)機(jī)定義包括用于檢測(cè)所述兩個(gè)代理中的一個(gè)代理的物理層或者測(cè)試探頭的檢測(cè)狀態(tài),以及用于在所述測(cè)試狀態(tài)檢測(cè)到測(cè)試探頭時(shí)提供測(cè)試樣式的依從狀態(tài);以及通過(guò)推進(jìn)所述狀態(tài)機(jī)的狀態(tài),初始化所述鏈路的物理層。
根據(jù)本發(fā)明的另一方面,提供了一種用于實(shí)現(xiàn)兩個(gè)代理之間的物理層鏈路的初始化的方法,該方法包括進(jìn)入檢測(cè)狀態(tài),并且保持在所述檢測(cè)狀態(tài)中,直到檢測(cè)到物理代理的接收機(jī)上的時(shí)鐘終止;將轉(zhuǎn)發(fā)時(shí)鐘傳送到所述物理代理的接收機(jī);前進(jìn)至輪詢狀態(tài),所述輪詢狀態(tài)用于訓(xùn)練鏈路,以利用參考時(shí)鐘進(jìn)行操作,并且提供在所述兩個(gè)代理之間的參數(shù)交換;以及前進(jìn)至配置狀態(tài),所述配置狀態(tài)用于協(xié)商鏈路寬度并設(shè)置片的邊界。
通過(guò)參考以下描述和用于示出本發(fā)明的實(shí)施例的附圖,可以最好地理解本發(fā)明。在附圖中圖1根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了用于實(shí)現(xiàn)物理層初始化的狀態(tài)機(jī);圖2根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了檢測(cè)操作;圖3根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了輪詢操作;圖4根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了配置操作;圖5根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了配置減寬(reduced-width)鏈路的過(guò)程;圖6根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了用于實(shí)現(xiàn)支持兩種低功率模式的物理層初始化的狀態(tài)機(jī);圖7根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了兩個(gè)代理之間的連接,其中已經(jīng)倒轉(zhuǎn)了通路(lane)連接;以及圖7A根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了分叉端口的兩個(gè)半寬(half-width)端口到兩個(gè)獨(dú)立代理的連接,其中已經(jīng)倒轉(zhuǎn)了通路連接,所述獨(dú)立代理中的每一個(gè)都具有一個(gè)半寬端口。
具體實(shí)施例方式
在以下的描述中,將提出多個(gè)具體細(xì)節(jié)。但是,應(yīng)該了解,沒(méi)有這些具體細(xì)節(jié),也可以實(shí)現(xiàn)本發(fā)明的實(shí)施例。在其它的示例中,為了不模糊對(duì)本發(fā)明的理解,沒(méi)有詳細(xì)地示出已知的電路、結(jié)構(gòu)和技術(shù)。
遍及本說(shuō)明書,所提及的“一個(gè)實(shí)施例”或“實(shí)施例”意味著連同該實(shí)施例所描述的特定的特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個(gè)實(shí)施例中。這樣,遍及本說(shuō)明書,在各個(gè)位置所出現(xiàn)的短語(yǔ)“在一個(gè)實(shí)施例中”或“在實(shí)施例中”不一定都指代相同的實(shí)施例。此外,在一個(gè)或多個(gè)實(shí)施例中,可以以任何適合的方式將特定的特征、結(jié)構(gòu)或特性組合起來(lái)。
此外,有創(chuàng)造性的方面不是在于所公開的單個(gè)實(shí)施例的所有方面。因此,特別地將所附權(quán)利要求直接并入到具體實(shí)施方式
中,每條權(quán)利要求各自作為本發(fā)明的一個(gè)單獨(dú)的實(shí)施例。
遍及本說(shuō)明書,術(shù)語(yǔ)“節(jié)點(diǎn)”和“代理”一般可以互換使用,但是應(yīng)該了解,一個(gè)特定的代理可以具有與其相關(guān)聯(lián)的一個(gè)或多個(gè)端口。
物理層初始化PLI邏輯的一部分用于實(shí)現(xiàn)鏈路訓(xùn)練和校準(zhǔn)。在另一個(gè)實(shí)施例中,實(shí)現(xiàn)訓(xùn)練的邏輯駐留于鏈路層中。為了開始使用鏈路,訓(xùn)練邏輯允許對(duì)鏈路每一側(cè)的物理層進(jìn)行校準(zhǔn)。也就是說(shuō),對(duì)內(nèi)部的半導(dǎo)體設(shè)備進(jìn)行校準(zhǔn),以與PLI的I/O鏈路兼容。初始的校準(zhǔn)過(guò)程被稱為物理層的初始化。該初始化以連續(xù)的階段的形式來(lái)實(shí)現(xiàn),其中每個(gè)后來(lái)的階段的初始化都需要在之前的階段對(duì)I/O電路系統(tǒng)進(jìn)行訓(xùn)練。
圖1根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了用于實(shí)現(xiàn)物理層初始化的狀態(tài)機(jī)。圖1中示出的狀態(tài)機(jī)100代表了從禁止/啟動(dòng)操作105開始的初始化序列。在加電時(shí)刻,或者響應(yīng)于任何物理層復(fù)位事件,進(jìn)入禁止/啟動(dòng)操作105。對(duì)于一個(gè)實(shí)施例,當(dāng)被禁止時(shí),PLI的所有通路中斷,并且處于低功率狀態(tài)。
一旦啟動(dòng),PLI就執(zhí)行檢測(cè)操作110,以檢測(cè)被互連的代理。在檢測(cè)操作110處,兩個(gè)代理被同步,從而開始鏈路初始化。檢測(cè)操作110確定在該鏈路的另一端是否存在另一個(gè)物理層代理(即另一個(gè)代理的物理層)。也就是說(shuō),鏈路另一側(cè)的代理可能是斷電的,在這種情況下就不需要初始化鏈路。檢測(cè)操作110可以在指定的時(shí)段內(nèi)持續(xù)進(jìn)行,以允許每個(gè)被互連的代理都接收到功率。也就是說(shuō),由于給系統(tǒng)加電時(shí),一個(gè)組件可能比另一個(gè)組件稍早一些(例如若干納秒)接收到功率,因此可以延長(zhǎng)檢測(cè)操作的時(shí)間,從而適應(yīng)這種差異。如果沒(méi)有檢測(cè)到代理,則不需要在這時(shí)實(shí)現(xiàn)初始化。
圖2根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了檢測(cè)操作。如圖2所示,檢測(cè)操作110具有三個(gè)子狀態(tài),即檢測(cè)110-1、檢測(cè)110-2和檢測(cè)110-3。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,物理層可以區(qū)分被互連的代理的檢測(cè)和測(cè)試探頭(例如50歐姆的測(cè)試探頭)的檢測(cè)。當(dāng)鏈路初始化失敗時(shí),可以使用測(cè)試探頭來(lái)進(jìn)行調(diào)試操作。因此,本發(fā)明的一個(gè)實(shí)施例提供了在初始化過(guò)程的這個(gè)早期階段,區(qū)分測(cè)試探頭和另一個(gè)物理層代理的能力。在檢測(cè)110-1中,端口檢查在鏈路的另一端的主動(dòng)的代理或被動(dòng)的測(cè)試探頭的存在。在檢測(cè)110-1期間,如果檢測(cè)到測(cè)試探頭,則執(zhí)行依從操作(compliance operation)115。在依從操作115期間,在已經(jīng)檢測(cè)到探頭的所有通路上重復(fù)地發(fā)送測(cè)試樣式(test pattern)。測(cè)試探頭可以使用該測(cè)試樣式測(cè)量鏈路上的信號(hào)品質(zhì)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,依從操作的持續(xù)時(shí)間是不定期的,只有在鏈路復(fù)位時(shí),發(fā)射機(jī)(Tx)才會(huì)退出依從狀態(tài)。在檢測(cè)110-1處,如果本地端口檢測(cè)到遠(yuǎn)端的接收機(jī)(Rx)時(shí)鐘,狀態(tài)則前進(jìn)到檢測(cè)110-2。
在檢測(cè)110-2中,本地端口激活轉(zhuǎn)發(fā)時(shí)鐘,并且開始鎖定到所接收的時(shí)鐘。轉(zhuǎn)發(fā)時(shí)鐘是一種使用專用的時(shí)鐘引腳(pin)連同物理互連上的數(shù)據(jù)一起傳送的明確的時(shí)鐘信號(hào)。如果在一段指定的時(shí)間結(jié)束時(shí),還沒(méi)有檢測(cè)到所接收的時(shí)鐘,本地端口則放棄初始化序列,并且復(fù)位到禁止/啟動(dòng)操作105。對(duì)于本發(fā)明的一個(gè)實(shí)施例,在復(fù)位之前對(duì)初始化重試門限計(jì)數(shù)器進(jìn)行遞增。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,采用了噪聲抑制技術(shù),在該技術(shù)中,用差分對(duì)(differential pair)來(lái)代表實(shí)際的信號(hào)。例如,可以使用40根導(dǎo)線來(lái)代表20個(gè)信號(hào),其中每個(gè)信號(hào)都由一對(duì)信號(hào)(差分對(duì))的差來(lái)確定。在每個(gè)Tx通路上,在差分對(duì)的D+的半部分/D-的半部分上所驅(qū)動(dòng)的1/0值被稱為已知的DC樣式。
在檢測(cè)110-3中,如果在指定的時(shí)段內(nèi)沒(méi)有觀察到已知的DC樣式,本地端口則放棄初始化序列,并且復(fù)位到禁止/啟動(dòng)操作105。對(duì)于本發(fā)明的一個(gè)實(shí)施例,在復(fù)位之前對(duì)初始化重試門限計(jì)數(shù)器進(jìn)行遞增。檢測(cè)110-3是用于確定下文將更詳細(xì)討論的極性倒置(polarity inversion)。
如果觀察到已知的DC樣式,則物理層已經(jīng)檢測(cè)到代理,并且訓(xùn)練序列繼續(xù),并且執(zhí)行輪詢操作120。也就是說(shuō),被互連的代理一旦檢測(cè)到彼此,則開始交互式訓(xùn)練。在輪詢操作120期間,對(duì)鏈路進(jìn)行訓(xùn)練,使其利用高速時(shí)鐘進(jìn)行操作,所述高速時(shí)鐘用于在兩個(gè)互連的代理之間進(jìn)行選擇。下面將對(duì)輪詢操作進(jìn)行更詳細(xì)的描述。
輪詢圖3根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了輪詢操作。如圖3所示,輪詢操作120包括三個(gè)子狀態(tài),即用于實(shí)現(xiàn)位鎖定的輪詢120-1、用于實(shí)現(xiàn)字節(jié)鎖定和通路去時(shí)滯(lane deskew)以及識(shí)別故障通路的輪詢120-2,以及用于實(shí)現(xiàn)參數(shù)交換的輪詢120-3。
在數(shù)字定時(shí)中,使用參考時(shí)鐘來(lái)讀取在每條導(dǎo)線上傳入的數(shù)據(jù),也就是說(shuō),該時(shí)鐘是所有導(dǎo)線所公有的。由于點(diǎn)到點(diǎn)的基于鏈路的互連方案可能存在高速的情況,因此在連接著鏈路的不同通路的IC內(nèi)的物理跡線(trace)的長(zhǎng)度間的變化和PCB上的變化,可能致使對(duì)于在鏈路的不同通路上所傳輸?shù)臄?shù)據(jù),其時(shí)鐘將有很大不同。需要利用校準(zhǔn)來(lái)解決這些變化。位鎖定訓(xùn)練Rx的I/O電路,以可靠地接收a/c信號(hào)。
在輪詢120-1處,為每個(gè)數(shù)據(jù)通路制作參考時(shí)鐘的拷貝。然后移動(dòng)每個(gè)數(shù)據(jù)通路的時(shí)鐘,使得其邊緣與相應(yīng)的數(shù)據(jù)通路的中心對(duì)齊。對(duì)于一個(gè)實(shí)施例,所有檢測(cè)到遠(yuǎn)端數(shù)據(jù)Rx終止的數(shù)據(jù)Tx都驅(qū)動(dòng)以0開始的時(shí)鐘樣式。然后,每個(gè)本地的數(shù)據(jù)Rx調(diào)整其選通(strobe)位置,以與傳入的時(shí)鐘樣式對(duì)齊。對(duì)于一個(gè)實(shí)施例,位鎖定子狀態(tài)不產(chǎn)生握手,但是一旦超過(guò)指定時(shí)間,本地端口則前進(jìn)至下一個(gè)輪詢子狀態(tài)。
這個(gè)精調(diào)過(guò)程(fine-tuning)解決了小于一個(gè)時(shí)鐘周期的延遲,但是在延遲為一個(gè)或多個(gè)整個(gè)時(shí)鐘周期的情況下并不有效。在輪詢120-2處,在鏈路的每個(gè)通路上傳送訓(xùn)練序列(同樣的已知樣式)。每個(gè)本地的Rx使用訓(xùn)練序列的頭部來(lái)識(shí)別訓(xùn)練序列的邊界。這樣,可以使用該訓(xùn)練序列來(lái)解決全時(shí)鐘周期延遲。輪詢120-2的訓(xùn)練序列還可以用來(lái)識(shí)別故障通路。一旦至少一個(gè)本地的Rx已經(jīng)接收到兩個(gè)連續(xù)的訓(xùn)練序列,則所有有效的Rx都應(yīng)該已經(jīng)接收到一個(gè)訓(xùn)練序列。因此,這時(shí),任何還沒(méi)有接收到訓(xùn)練序列頭部的本地的Rx通路都可以被禁止。訓(xùn)練序列還可以用來(lái)實(shí)現(xiàn)通路到通路的去時(shí)滯。對(duì)于本發(fā)明的一個(gè)實(shí)施例,去時(shí)滯緩沖器使用訓(xùn)練序列的頭部來(lái)確定多條通路間的相對(duì)時(shí)滯(skew)。然后調(diào)整去時(shí)滯緩沖器的讀指針,以抵消所確定的時(shí)滯。在完成了通路的去時(shí)滯之后,在輸出的訓(xùn)練序列上發(fā)送確認(rèn)。
在輪詢120-3處,在鏈路的每一側(cè)的代理的物理層使用第二訓(xùn)練序列來(lái)交換參數(shù)。如果Rx沒(méi)有接收到訓(xùn)練序列,這就指示出問(wèn)題。由于已經(jīng)對(duì)I/O進(jìn)行校準(zhǔn),以對(duì)每條通路分別起作用,因此如果在IC電路系統(tǒng)中,或在代理間的物理互連中存在任何故障,則接收端口都將意識(shí)到該故障。在輪詢120-3的參數(shù)交換中,如果對(duì)鏈路進(jìn)行配置,使其運(yùn)行在環(huán)路(loopback)(一種用于實(shí)現(xiàn)高級(jí)測(cè)試方案(例如內(nèi)置的自我測(cè)試)的測(cè)試模式)中,則識(shí)別環(huán)路的主方(master)與從方(slave)。如果鏈路被配置用于環(huán)路,則一旦鏈路初始化,代理雙方就都進(jìn)入環(huán)路模式(環(huán)路操作125)。本發(fā)明的一個(gè)實(shí)施例包括了一個(gè)具有環(huán)路模式位的控制寄存器,所述環(huán)路模式位可以由雙方代理中任一方設(shè)置。設(shè)置環(huán)路模式位的端口成為環(huán)路主方,另一個(gè)端口稱為環(huán)路從方。在兩個(gè)端口都設(shè)置環(huán)路模式位的情況下,導(dǎo)致初始化失敗。
圖4根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了配置操作。如圖4所示,配置操作130包括兩個(gè)子狀態(tài),即用于實(shí)現(xiàn)故障通路信息交換的配置130-1和用于設(shè)置片邊界的配置130-2。
如上所述,可能存在這樣一種情形,在該情形中,鏈路的通路中的一些被禁止。這可能是由于故障鏈路,或者作為功率節(jié)省方案的一部分。在配置130-1處,為了即使效率降低也保持鏈路起作用,使用在輪詢期間所獲得的所有有關(guān)故障通路的信息將鏈路配置到可行的象限(viablequadrant)中。鏈路的全部通路(例如20條通路)被劃分成象限,其中每個(gè)象限包括5條通路。然后,可以使用象限的任意組合來(lái)操作物理層。對(duì)于本發(fā)明的一個(gè)實(shí)施例,使用任意一個(gè)象限、兩個(gè)象限的任意組合,或者所有象限來(lái)操作物理層。操作減寬鏈路時(shí),需要相應(yīng)的提高傳送一個(gè)片的時(shí)鐘周期的數(shù)目。例如,在一般的操作中,在具有20條通路的鏈路上,在四個(gè)時(shí)鐘周期內(nèi)傳送一個(gè)80位的片(每個(gè)物理數(shù)位是20位)。對(duì)于具有5條通路(一個(gè)象限)的減寬鏈路,按比例傳送更小的物理數(shù)位(5位),并且按比例需要數(shù)目更多的時(shí)鐘周期(16個(gè))來(lái)傳送片。
圖5根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了配置減寬鏈路的過(guò)程。如圖5所示,過(guò)程500從操作505開始,在操作505中將鏈路的通路劃分成象限,并且確定可行的象限。例如,可以將一條具有20條通路的鏈路劃分成象限,每個(gè)象限包括5條通路。如果一個(gè)象限中的任何通路被禁止,則該象限是不可行的,并且將不會(huì)被使用。
在操作510處,Rx基于可行的象限確定其能力,并且創(chuàng)建其可以操作的象限組合的按優(yōu)先次序排列的列表。例如,如果只有一個(gè)象限是可行的,則該列表包含該象限,如果兩個(gè)象限是可行的,則該列表分別包含每個(gè)象限,也包含這兩個(gè)象限的組合。如果三個(gè)象限是可行的,則該列表分別包含每個(gè)象限,也包含這三個(gè)象限中的兩個(gè)象限的組合。然后Rx將該列表傳送到Tx。此外,Rx出于故障通路之外的其它原因(例如,作為功率節(jié)省方案的一部分),也可能需要減寬鏈路。
在操作515處,Tx選擇一個(gè)象限組合,并且建立減寬鏈路。這允許系統(tǒng)在降級(jí)的模式下繼續(xù)起作用而不是被關(guān)閉,或者可以用來(lái)支持功率節(jié)省方案。
在過(guò)程500中創(chuàng)建了可行的象限組合的按優(yōu)先次序排列的列表,這樣過(guò)程500就允許到減寬(例如半寬或四分之一寬)鏈路的快速轉(zhuǎn)換,從而實(shí)現(xiàn)更大的功率節(jié)省。也就是說(shuō),因?yàn)楫?dāng)在全寬(full-width)模式中進(jìn)行操作時(shí),功率節(jié)省配置是已知的,并且系統(tǒng)可以快速地轉(zhuǎn)換到減寬鏈路,因此系統(tǒng)可以動(dòng)態(tài)地調(diào)整鏈路寬度,從而節(jié)約功率。
再次參考圖4,如果不能對(duì)鏈路寬度達(dá)成一致,則放棄初始化序列,并且復(fù)位到禁止/啟動(dòng)操作105。
在每條鏈路上串行地發(fā)送訓(xùn)練序列,并且Tx知道將發(fā)送的訓(xùn)練序列的數(shù)目。但是,Tx和Rx不必處于鎖步(lock-step)方式中。也就是說(shuō),因?yàn)橛?xùn)練序列的數(shù)目不固定,所以Rx無(wú)法知道來(lái)自Tx的最后一個(gè)訓(xùn)練序列將在何時(shí)到達(dá)。這可能導(dǎo)致Rx將訓(xùn)練序列的一部分看作來(lái)自鏈路層的片的物理數(shù)位,或者導(dǎo)致從不正確的物理數(shù)位讀取片。為了解決這種情形,一旦在鏈路寬度上達(dá)成一致,在操作130-2處,發(fā)送端口則發(fā)送帶有冗余的確認(rèn)字段的第三訓(xùn)練序列。通過(guò)在本地的和遠(yuǎn)端的端口之間對(duì)該訓(xùn)練序列進(jìn)行同步,來(lái)設(shè)置片的邊界。對(duì)于一個(gè)實(shí)施例,除了用于轉(zhuǎn)換狀態(tài)的確認(rèn)字段之外,訓(xùn)練序列的冗余的確認(rèn)字段是一個(gè)三位的字段。在最后一個(gè)訓(xùn)練序列中,將冗余的確認(rèn)字段的三個(gè)位全部設(shè)置為1,以向接收機(jī)指出該訓(xùn)練序列是被傳送的最后一個(gè)訓(xùn)練序列。沒(méi)有這種冗余,則可能出現(xiàn)初始化失敗。對(duì)于一個(gè)實(shí)施例,如果三個(gè)冗余的確認(rèn)位中有兩位被設(shè)置為1,接收機(jī)則認(rèn)為該訓(xùn)練序列是最后一個(gè)訓(xùn)練序列,因此,在最后一個(gè)訓(xùn)練序列的傳輸中,可以容忍單個(gè)位的錯(cuò)誤。對(duì)于其它的實(shí)施例,冗余的確認(rèn)字段可以使用任意所希望數(shù)目的位,并且一個(gè)指定的數(shù)目會(huì)導(dǎo)致認(rèn)為是最后一個(gè)訓(xùn)練序列。因此,一旦端口已經(jīng)發(fā)送和接收到該第三訓(xùn)練序列,則鏈路初始化完成,并且此時(shí)在狀態(tài)L0 135處,鏈路層控制端口。初始化期間,使用專門的訓(xùn)練序列,并且這些訓(xùn)練序列順序地在每條通路上傳送。在到達(dá)活動(dòng)狀態(tài)之后,則使用并行模型,在所述并行模型中,片(被分解為物理數(shù)位)在所有通路上并行地傳送。
物理層的電子組件仍舊是活動(dòng)的,但是在鏈路的一側(cè)對(duì)片進(jìn)行分解,并且在鏈路的另一側(cè)重組這些片。在狀態(tài)L0中,物理層不再參與訓(xùn)練,并且在鏈路層指導(dǎo)下進(jìn)行操作,從而在鏈路上傳遞數(shù)據(jù)。
一般內(nèi)容本發(fā)明的實(shí)施例提供了用于基于鏈路的互連方案的物理層初始化的狀態(tài)機(jī)。本發(fā)明的實(shí)施例不是使用預(yù)定的計(jì)數(shù),而是使用明確的握手來(lái)推進(jìn)狀態(tài)。因此,由于只需要搜索一種狀態(tài)頭部,因此本發(fā)明的實(shí)施例與典型的現(xiàn)有技術(shù)方案相比需要更少的比較器。本發(fā)明的實(shí)施例對(duì)物理層的邏輯功能進(jìn)行初始化,并且提供了I/O電校準(zhǔn),從而建立和操作可靠的鏈路。本發(fā)明的其它實(shí)施例提供了對(duì)具有不同的邏輯特征設(shè)置的物理層的初始化。
低功率模式對(duì)于本發(fā)明的一個(gè)實(shí)施例,物理層可以進(jìn)入低功率模式。圖6根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了用于實(shí)現(xiàn)支持兩種低功率模式的物理層初始化的狀態(tài)機(jī)。如圖6所示,狀態(tài)機(jī)600代表了初始化序列,該初始化序列包括如上參考圖1所描述的禁止/啟動(dòng)操作105、檢測(cè)操作110、依從操作115、輪詢操作120、環(huán)路操作125、配置操作130和活動(dòng)狀態(tài)L0。如圖6所示,狀態(tài)機(jī)600還包括兩個(gè)低功率狀態(tài)L0S 640和L1 645。
當(dāng)系統(tǒng)將休眠一段時(shí)間時(shí),使用低功率模式來(lái)節(jié)省功率。每個(gè)低功率模式都具有預(yù)定的重新激活時(shí)間(喚醒時(shí)間)。L0S 640具有用于較短休眠時(shí)期的較短喚醒時(shí)間(例如20納秒)。因此在L0S 640中關(guān)斷了電路系統(tǒng)的較少部分。L1具有用于較長(zhǎng)休眠時(shí)期的較長(zhǎng)喚醒時(shí)間(例如10微秒)。所使用的低功率模式依賴于系統(tǒng)所期望的休眠樣式。
熱插拔(hot plug)支持如上所述,參考圖1中的檢測(cè)操作110,本發(fā)明的其它實(shí)施例提供了能夠區(qū)分被互連的代理的檢測(cè)和測(cè)試探頭的檢測(cè)的PLI。對(duì)于一個(gè)實(shí)施例,檢測(cè)操作不定期地持續(xù)下去,直到檢測(cè)到另一個(gè)代理或測(cè)試探頭。這種持續(xù)的檢測(cè)提供了熱插拔支持,而不消耗附加的功率。例如,如果從鏈路的一側(cè)移走一個(gè)代理,剩余的代理可以持續(xù)執(zhí)行檢測(cè)操作,直到檢測(cè)到一個(gè)代理(或測(cè)試探頭)。這樣,無(wú)需關(guān)閉整個(gè)系統(tǒng),就可以移走或替換掉故障組件。此外,與周期性地輪詢鏈路的現(xiàn)有技術(shù)方案形成對(duì)照,系統(tǒng)可以立即檢測(cè)到熱插拔。
極性倒置本發(fā)明的各種其它的實(shí)施例提供了極性倒置(其中在物理接口上交換差分對(duì)的D+的半部分與D-的半部分),以減小平臺(tái)設(shè)計(jì)的復(fù)雜性(例如通過(guò)執(zhí)行通路倒轉(zhuǎn))。在以上參考圖2所描述的檢測(cè)110-3狀態(tài)中,由每個(gè)Rx檢測(cè)極性倒置,并且一旦檢測(cè)到,則由Rx自動(dòng)地實(shí)現(xiàn)修正。對(duì)于本發(fā)明的一個(gè)實(shí)施例,在獨(dú)立的通路的基礎(chǔ)上檢測(cè)極性倒置,與其它通路無(wú)關(guān)。對(duì)于這樣的實(shí)施例,本地的Rx在每個(gè)接收到的差分對(duì)上尋找已知的DC樣式或已知的DC樣式的反碼(l′s complement)。所有檢測(cè)到已知的DC樣式或其反碼的Rx通路都前進(jìn)至輪詢過(guò)程;任何其它的通路都被禁止,并且直到實(shí)現(xiàn)了后續(xù)的鏈路初始化時(shí)才可使用。
通路倒轉(zhuǎn)理想地,在兩個(gè)互連的代理中的每個(gè)代理上提供物理信號(hào)的引腳被連接到另一個(gè)代理上相應(yīng)的引腳。也就是說(shuō),對(duì)于一對(duì)具有20個(gè)引腳的代理,在一個(gè)代理上的引腳0到19被連接到另一個(gè)代理上的引腳0到19。這樣的連接對(duì)于一些拓?fù)淇赡軐?dǎo)致過(guò)分的版面布局擁塞或過(guò)分的復(fù)雜性。本發(fā)明的一個(gè)實(shí)施例允許一個(gè)端口上的引腳相對(duì)于另一個(gè)端口上的引腳進(jìn)行倒轉(zhuǎn)。這樣的通路倒轉(zhuǎn)由下列兩個(gè)端口A和B之間的引腳連接等式來(lái)定義。
Pin kcomponent A=>Pin(NL-k-1)component B由Rx端口來(lái)自動(dòng)地檢測(cè)和補(bǔ)償通路倒轉(zhuǎn)。只要通過(guò)相應(yīng)的引腳來(lái)連接(直接連接)代理,或者通過(guò)上述用于通路倒轉(zhuǎn)的引腳連接等式來(lái)連接代理,在板面上就無(wú)需附加的措施。
對(duì)于本發(fā)明的一個(gè)實(shí)施例,直接連接的每條通路的通路標(biāo)識(shí)符只有一位與被倒轉(zhuǎn)的通路連接的通路標(biāo)識(shí)符不同。也就是說(shuō),由于通路被約束在僅僅兩個(gè)位置中的一個(gè)位置,因此其標(biāo)識(shí)符可以除一位外都相同。在這樣的實(shí)施例中,通過(guò)比較單個(gè)位就可以檢測(cè)到通路倒轉(zhuǎn)。
圖7根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了倒轉(zhuǎn)了通路連接的兩個(gè)代理之間的連接。如圖7所示,位于母板710上的代理705被連接到位于子卡720上的代理715。根據(jù)本發(fā)明的一個(gè)實(shí)施例,代理705的引腳0到NL-1分別連接到代理715的引腳NL-1到0。該引腳倒轉(zhuǎn)在輪詢期間被檢測(cè)到,并被利用IC內(nèi)的相應(yīng)的倒轉(zhuǎn)自動(dòng)地補(bǔ)償。
端口分叉本發(fā)明的實(shí)施例支持端口分叉,所述端口分叉允許一個(gè)全寬的代理將其自身劃分為兩個(gè)代理,每個(gè)代理具有半寬的鏈路。例如,對(duì)于一些系統(tǒng)平臺(tái),在I/O上的流量不如在處理器之間的流量那樣多。因此,對(duì)于具有兩個(gè)處理器的系統(tǒng),不是每個(gè)處理器具有其自身專用的I/O組件,而是可能兩個(gè)處理器按照互連共用單個(gè)的I/O組件。在這種情況下,兩個(gè)處理器使用20位寬的互連(20條通路)彼此通信,但是I/O代理分配其20條通路中的10條用于與一個(gè)處理器進(jìn)行通信,并且分配另外10條通路用于與另一個(gè)處理器進(jìn)行通信。對(duì)于本發(fā)明的一個(gè)實(shí)施例,端口分叉是在鏈路初始化之前通過(guò)引腳捆綁(pin strap)來(lái)實(shí)現(xiàn)的,并且配置保持不變。對(duì)于本發(fā)明的一個(gè)實(shí)施例,分叉的端口在引腳區(qū)域的中心具有兩個(gè)時(shí)鐘通路(每個(gè)半寬鏈路一個(gè))。對(duì)于本發(fā)明的一個(gè)實(shí)施例,能夠分叉的端口也可以作為單個(gè)全寬鏈路進(jìn)行操作。對(duì)于這樣的實(shí)施例,額外的時(shí)鐘引腳可以不連接,也可以通過(guò)硬件連線連接到Vcc或Vss。本發(fā)明的實(shí)施例支持在分叉端口上的通路倒轉(zhuǎn)。分叉端口的每一半都可以獨(dú)立于另一半地支持通路倒轉(zhuǎn)。圖7A根據(jù)本發(fā)明的一個(gè)實(shí)施例,示出了分叉端口的兩個(gè)半寬端口到兩個(gè)獨(dú)立代理的連接,每個(gè)所述的獨(dú)立代理都具有一個(gè)半寬端口,在每個(gè)獨(dú)立代理中都已經(jīng)倒轉(zhuǎn)了通路連接。如圖7A所示,代理705A被分叉,并且在引腳區(qū)域的中心具有兩個(gè)時(shí)鐘通路clk1和clk2。包含一個(gè)半寬分叉端口的引腳以倒轉(zhuǎn)的順序連接到代理715A,而包含另一個(gè)半寬分叉端口的引腳以倒轉(zhuǎn)的順序連接到代理720A。對(duì)于其它的實(shí)施例,系統(tǒng)平臺(tái)可以在一個(gè)半寬的分叉端口上執(zhí)行通路倒轉(zhuǎn),并且在另一個(gè)半寬的分叉端口上執(zhí)行直接連接。
本發(fā)明的實(shí)施例包括具有多種狀態(tài)的狀態(tài)機(jī),和具有多種操作的方法。這些是以其最基本的形式描述的,但是不脫離本發(fā)明的基本范圍,就可以分別向/從任意狀態(tài)機(jī)或方法中添加/刪除狀態(tài)或操作。如上所述,本發(fā)明的狀態(tài)和操作可以利用硬件組件來(lái)實(shí)現(xiàn),或者也可以被具體化為機(jī)器可執(zhí)行的指令?;蛘撸鼈冞€可以通過(guò)硬件和軟件的組合來(lái)執(zhí)行。本發(fā)明可以作為計(jì)算機(jī)程序產(chǎn)品來(lái)提供,所述計(jì)算機(jī)程序產(chǎn)品可以包括在其上存儲(chǔ)了指令的機(jī)器可訪問(wèn)的介質(zhì),所述指令可以用于對(duì)計(jì)算機(jī)(或其它的電子設(shè)備)編程,以執(zhí)行如上所述的根據(jù)本發(fā)明的過(guò)程。
機(jī)器可訪問(wèn)的介質(zhì)包括以機(jī)器(例如計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、個(gè)人數(shù)字助理、制造工具、帶有一組一個(gè)或多個(gè)處理器的設(shè)備等等)可訪問(wèn)的形式提供(即存儲(chǔ)和/或傳送)信息的任何機(jī)制。例如,機(jī)器可訪問(wèn)的介質(zhì)包括可記錄/不可記錄的介質(zhì)(例如只讀存儲(chǔ)器(ROM)、隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)、磁盤存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、閃存設(shè)備等等),以及電的、光的、聲的或其它形式的傳播信號(hào)(例如載波、紅外信號(hào)、數(shù)字信號(hào)等等)等等。
雖然已經(jīng)根據(jù)若干實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是本領(lǐng)域的技術(shù)人員將會(huì)認(rèn)識(shí)到,本發(fā)明并不局限于所述實(shí)施例,而是在附帶的權(quán)利要求書的精神和范圍內(nèi)進(jìn)行修改和改變的情況下,也可以實(shí)現(xiàn)本發(fā)明。因此,本說(shuō)明書應(yīng)被看作示例性的,而不是限制性的。
權(quán)利要求
1.一種用于實(shí)現(xiàn)兩個(gè)代理之間的物理層鏈路的初始化的方法,該方法包括進(jìn)入檢測(cè)狀態(tài),并且保持在所述檢測(cè)狀態(tài)中,直到檢測(cè)到物理代理,或者檢測(cè)到測(cè)試探頭;一旦檢測(cè)到物理代理,則前進(jìn)至輪詢狀態(tài),所述輪詢狀態(tài)用于訓(xùn)練鏈路,以利用參考時(shí)鐘進(jìn)行操作,并且提供在所述兩個(gè)代理之間的參數(shù)交換;以及前進(jìn)至配置狀態(tài),所述配置狀態(tài)用于協(xié)商鏈路寬度并設(shè)置片的邊界。
2.如權(quán)利要求1所述的方法,還包括一旦成功地協(xié)商了所述鏈路寬度,并且設(shè)置了所述片的邊界,則前進(jìn)至活動(dòng)狀態(tài),所述活動(dòng)狀態(tài)使鏈路層能夠傳送和接收數(shù)據(jù)。
3.如權(quán)利要求1所述的方法,其中所述兩個(gè)代理是從下述組中選擇的組件,所述的組由處理器、存儲(chǔ)器控制器、輸入/輸出集線器組件、芯片集,和這些組件的組合所組成。
4.如權(quán)利要求1所述的方法,其中一旦在所述檢測(cè)狀態(tài)中檢測(cè)到測(cè)試探頭,則在所有檢測(cè)到測(cè)試探頭的通路上傳送測(cè)試樣式。
5.如權(quán)利要求1所述的方法,其中訓(xùn)練所述鏈路,以利用所述參考時(shí)鐘進(jìn)行操作的步驟包括實(shí)現(xiàn)所述兩個(gè)代理之間的位鎖定、字節(jié)鎖定和通路去時(shí)滯。
6.如權(quán)利要求5所述的方法,其中所述在兩個(gè)代理之間交換的參數(shù)包括故障通路信息。
7.如權(quán)利要求6所述的方法,其中所述鏈路寬度的協(xié)商是基于所述故障通路信息。
8.如權(quán)利要求2所述的方法,其中一旦發(fā)生重啟動(dòng)事件,則在前進(jìn)至所述活動(dòng)狀態(tài)之前放棄所述初始化。
9.如權(quán)利要求8所述的方法,其中所述重啟動(dòng)事件是從由下列事件所組成的組中選擇的超過(guò)指定的檢測(cè)時(shí)間、沒(méi)有觀察到已知的DC檢測(cè)樣式、未能實(shí)現(xiàn)字節(jié)鎖定、未能成功地協(xié)商鏈路寬度,以及未能設(shè)置片的邊界。
10.如權(quán)利要求2所述的方法,還包括進(jìn)入一種或多種低功率模式中的一種被選擇的模式,至少一種低功率模式具有指定的相應(yīng)的重新激活時(shí)間。
11.如權(quán)利要求10所述的方法,其中所述被選擇的低功率模式依賴于所期望的休眠樣式。
12.一種系統(tǒng),包括通過(guò)點(diǎn)到點(diǎn)的基于鏈路的互連方案而互連的多個(gè)代理;在所述代理中的每一個(gè)代理上所實(shí)現(xiàn)的狀態(tài)機(jī),所述狀態(tài)機(jī)用于對(duì)連接著所述多個(gè)代理中的兩個(gè)代理的鏈路的物理層進(jìn)行初始化,所述狀態(tài)機(jī)包括用于檢測(cè)在所述鏈路對(duì)面的另一個(gè)代理的物理層的檢測(cè)狀態(tài),所述檢測(cè)狀態(tài)能夠區(qū)分另一個(gè)代理的物理層和測(cè)試探頭;用于訓(xùn)練鏈路,以利用參考時(shí)鐘進(jìn)行操作,并且提供在所述兩個(gè)代理之間的參數(shù)交換的輪詢狀態(tài);以及用于協(xié)商鏈路寬度和設(shè)置片的邊界的配置狀態(tài)。
13.如權(quán)利要求12所述的系統(tǒng),其中所述多個(gè)代理是從下述組中選擇的組件,所述的組由處理器、存儲(chǔ)器控制器、輸入/輸出集線器組件、芯片集,和這些組件的組合所組成。
14.如權(quán)利要求13所述的系統(tǒng),其中訓(xùn)練所述鏈路,以利用所述參考時(shí)鐘進(jìn)行操作包括實(shí)現(xiàn)所述兩個(gè)代理之間的位鎖定、字節(jié)鎖定和通路去時(shí)滯。
15.如權(quán)利要求14所述的系統(tǒng),其中所述在兩個(gè)代理之間交換的參數(shù)包括故障通路信息。
16.如權(quán)利要求12所述的系統(tǒng),其中第一代理的一組引腳以倒轉(zhuǎn)的順序連接到第二代理的一組引腳。
17.如權(quán)利要求16所述的系統(tǒng),其中所述連接順序由單個(gè)位來(lái)指示。
18.一種制品,包括具有相關(guān)聯(lián)的數(shù)據(jù)的機(jī)器可訪問(wèn)介質(zhì),其中所述數(shù)據(jù)當(dāng)被訪問(wèn)時(shí),使機(jī)器執(zhí)行操作,以實(shí)現(xiàn)兩個(gè)代理之間的物理層鏈路的初始化,所述操作包括進(jìn)入檢測(cè)狀態(tài),并且在一段指定的檢測(cè)時(shí)間內(nèi)保持在所述檢測(cè)狀態(tài)中,所述檢測(cè)狀態(tài)能夠區(qū)分另一個(gè)代理的所述物理層和測(cè)試探頭;一旦檢測(cè)到物理代理,則前進(jìn)至輪詢狀態(tài),所述輪詢狀態(tài)用于訓(xùn)練鏈路,以利用參考時(shí)鐘進(jìn)行操作,并且提供在所述兩個(gè)代理之間的參數(shù)交換;以及前進(jìn)至配置狀態(tài),所述配置狀態(tài)用于協(xié)商鏈路寬度并設(shè)置片的邊界。
19.如權(quán)利要求18所述的制品,其中所述機(jī)器可訪問(wèn)介質(zhì)還包括這樣的數(shù)據(jù),當(dāng)訪問(wèn)該數(shù)據(jù)時(shí),致使所述機(jī)器執(zhí)行下列操作,包括一旦成功地協(xié)商了所述鏈路寬度,并且設(shè)置了所述片的邊界,則前進(jìn)至活動(dòng)狀態(tài),所述活動(dòng)狀態(tài)使鏈路層能夠傳送和接收數(shù)據(jù)。
20.如權(quán)利要求18所述的制品,其中所述兩個(gè)代理是從下述組中選擇的組件,所述的組由處理器、存儲(chǔ)器控制器、輸入/輸出集線器組件、芯片集,和這些組件的組合所組成。
21.如權(quán)利要求18所述的制品,其中訓(xùn)練所述鏈路,以利用所述參考時(shí)鐘進(jìn)行操作包括實(shí)現(xiàn)所述兩個(gè)代理之間的位鎖定、字節(jié)鎖定和通路去時(shí)滯。
22.一種方法,包括提供定義了狀態(tài)機(jī)的狀態(tài)機(jī)定義,所述狀態(tài)機(jī)用于實(shí)現(xiàn)通過(guò)點(diǎn)到點(diǎn)的基于鏈路的互連方案而互連的兩個(gè)代理之間的鏈路的物理層初始化,所述狀態(tài)機(jī)定義包括用于檢測(cè)所述兩個(gè)代理中的一個(gè)代理的物理層或者測(cè)試探頭的檢測(cè)狀態(tài),以及用于在所述測(cè)試狀態(tài)檢測(cè)到測(cè)試探頭時(shí)提供測(cè)試樣式的依從狀態(tài);以及通過(guò)推進(jìn)所述狀態(tài)機(jī)的狀態(tài),初始化所述鏈路的物理層。
23.如權(quán)利要求22所述的方法,其中所述狀態(tài)機(jī)定義還包括用于訓(xùn)練所述鏈路,以利用參考時(shí)鐘進(jìn)行操作,并且提供在所述兩個(gè)代理之間的參數(shù)交換的輪詢狀態(tài);環(huán)路狀態(tài);以及用于在所述兩個(gè)代理之間協(xié)商鏈路寬度并同步片的邊界的配置狀態(tài)。
24.如權(quán)利要求23所述的方法,其中所述兩個(gè)代理是從下述組中選擇的組件,所述的組由處理器、存儲(chǔ)器控制器、輸入/輸出集線器組件、芯片集,和這些組件的組合所組成。
25.如權(quán)利要求23所述的方法,其中訓(xùn)練所述鏈路,以利用所述參考時(shí)鐘進(jìn)行操作包括實(shí)現(xiàn)所述兩個(gè)代理之間的位鎖定、字節(jié)鎖定和通路去時(shí)滯。
26.如權(quán)利要求25所述的方法,其中在所述兩個(gè)代理之間所交換的所述參數(shù)包括故障通路信息。
27.如權(quán)利要求26所述的方法,其中用所述故障通路信息來(lái)創(chuàng)建可行的象限組合的按優(yōu)先次序排列的列表。
28.一種用于實(shí)現(xiàn)兩個(gè)代理之間的物理層鏈路的初始化的方法,該方法包括進(jìn)入檢測(cè)狀態(tài),并且保持在所述檢測(cè)狀態(tài)中,直到檢測(cè)到物理代理的接收機(jī)上的時(shí)鐘終止;將轉(zhuǎn)發(fā)時(shí)鐘傳送到所述物理代理的接收機(jī);前進(jìn)至輪詢狀態(tài),所述輪詢狀態(tài)用于訓(xùn)練鏈路,以利用參考時(shí)鐘進(jìn)行操作,并且提供在所述兩個(gè)代理之間的參數(shù)交換;以及前進(jìn)至配置狀態(tài),所述配置狀態(tài)用于協(xié)商鏈路寬度并設(shè)置片的邊界。
29.如權(quán)利要求28所述的方法,還包括一旦成功地協(xié)商了所述鏈路寬度,并且設(shè)置了所述片的邊界,則前進(jìn)至活動(dòng)狀態(tài),所述活動(dòng)狀態(tài)使鏈路層能夠傳送和接收數(shù)據(jù)。
30.如權(quán)利要求28所述的方法,其中通過(guò)使用一組冗余的確認(rèn)位來(lái)實(shí)現(xiàn)前進(jìn)至活動(dòng)狀態(tài)的步驟,所述一組冗余的確認(rèn)位指示最后一個(gè)訓(xùn)練序列,所述最后一個(gè)訓(xùn)練序列由所述一組冗余的確認(rèn)位中指定數(shù)量的被設(shè)置為指定值的位來(lái)指示。
全文摘要
本發(fā)明的實(shí)施例提供了一種狀態(tài)機(jī),用于對(duì)點(diǎn)到點(diǎn)的基于鏈路的互連的物理層進(jìn)行初始化。本發(fā)明的實(shí)施例使用互連的代理之間明確的握手來(lái)推進(jìn)狀態(tài),并且為滿足靈活性和有效性提供了多種可選擇的特征。
文檔編號(hào)G06F13/42GK1700701SQ20041009680
公開日2005年11月23日 申請(qǐng)日期2004年12月1日 優(yōu)先權(quán)日2004年5月21日
發(fā)明者納韋恩·謝呂庫(kù)里, 桑賈伊·達(dá)布羅, 達(dá)維斯·S·鄧寧, 提姆·弗羅德沙姆, 西奧多·Z·舍恩博恩 申請(qǐng)人:英特爾公司