優(yōu)化的鏈路訓練及管理機制的制作方法
【專利摘要】在一個實施例中,聚合協(xié)議棧能夠用于統(tǒng)一從第一通信協(xié)議至第二通信協(xié)議的通信,以提供跨物理互連的數(shù)據(jù)傳送。能夠?qū)⑦@個棧合并到如下裝置中,該裝置包括用于包括事務及鏈路層的第一通信協(xié)議的協(xié)議棧以及耦接到該協(xié)議棧以經(jīng)由物理鏈路提供該裝置與耦接到該裝置的設備間的通信的物理(PHY)單元。這個PHY單元可以包括根據(jù)第二通信協(xié)議的物理單元電路。描述并要求保護其它實施例。
【專利說明】優(yōu)化的鏈路訓練及管理機制
【技術(shù)領(lǐng)域】
[0001] 實施例涉及互連技術(shù)。
[0002] 置量
[0003] 為了提供系統(tǒng)內(nèi)不同設備之間的通信,使用某種類型的互連機制。取決于系統(tǒng)實 施方式,廣泛的各種這樣的互連是可能的。時常為了使兩個設備能夠互相通信,它們分享共 同的通信協(xié)議
[0004] 一種用于計算機系統(tǒng)內(nèi)設備間通信的典型通信協(xié)議是根據(jù)基于PCIExpress?規(guī) 范基礎規(guī)范版本3. 0 (2010年11月18日出版)(下文稱為PCIe?規(guī)范)的鏈路的外圍組件 快速互連(PCIEXpresSTM(PCIeTM))通信協(xié)議。這個通信協(xié)議是加載/存儲輸入/輸出(IO) 互連系統(tǒng)的一個實例。通常根據(jù)這一協(xié)議以非常高的速度串行執(zhí)行所述設備間的通信。當 在臺式計算機的背景下開發(fā)PCIe?通信協(xié)議時,為了在不考慮功率效率的情況下實現(xiàn)最大 性能的目的,開發(fā)了關(guān)于這一協(xié)議的各種參數(shù)。結(jié)果,其許多特征無法縮減至能夠被合并到 移動系統(tǒng)中的較低功率解決方案。
[0005] 除了這些關(guān)于常規(guī)加載/存儲通信協(xié)議的功率問題外,現(xiàn)有的鏈路管理方案通常 非常復雜并涉及大量狀態(tài),導致執(zhí)行狀態(tài)間轉(zhuǎn)換的冗長過程。這部分地歸因于現(xiàn)有的鏈路 管理機制,其被開發(fā)以領(lǐng)會諸如連接器、不同系統(tǒng)合并等多種不同的形式因素要求。一個這 樣的實例是根據(jù)PCIe?通信協(xié)議的鏈路管理。
[0006] 附圖簡沭
[0007] 圖1為根據(jù)本發(fā)明實施例的用于通信協(xié)議的協(xié)議棧的高級別框圖。
[0008] 圖2為根據(jù)本發(fā)明實施例的片上系統(tǒng)(SoC)的框圖。
[0009] 圖3為根據(jù)本發(fā)明另一實施例的物理單元的框圖。
[0010] 圖4為示出根據(jù)本發(fā)明實施例的協(xié)議棧的進一步細節(jié)的框圖。
[0011] 圖5為用于鏈路訓練狀態(tài)機的狀態(tài)圖,其能夠是根據(jù)本發(fā)明實施例的鏈路管理器 的部分。
[0012] 圖6為根據(jù)本發(fā)明實施例的用于邊帶機制的各個狀態(tài)的流程圖。
[0013] 圖7為根據(jù)本發(fā)明實施例的方法的流程圖。
[0014] 圖8為根據(jù)本發(fā)明實施例的計算機系統(tǒng)中存在的組件的框圖。
[0015] 圖9為實施例能夠與其一起使用的實例系統(tǒng)的框圖。
【具體實施方式】
[0016] 實施例可以提供輸入/輸出(IO)互連技術(shù),其具有低功率、加載/存儲架構(gòu),且尤 其適用于在包括諸如智能電話的蜂窩電話、平板計算機、電子閱讀器、超級本?等的移動設 備中使用。
[0017] 在各實施例中,用于給定通信協(xié)議的協(xié)議棧能夠與不同的通信協(xié)議的物理單元 或與用于給定通信協(xié)議的物理單元不同的至少一個物理(PHY)單元一起使用。物理單元 包括邏輯層和物理或電氣層兩者,物理或電氣層在互連(諸如鏈接兩個獨立半導體管芯的 鏈路)上提供信息信號的實際、物理的通信,兩個獨立半導體管芯可以是在單個集成電路 (IC)封裝或例如經(jīng)由電路板路由、跡線等耦接的分離封裝內(nèi)的兩個半導體管芯。此外,所述 物理單元能夠執(zhí)行數(shù)據(jù)包的成巾貞(framing)/解巾貞(deframing),執(zhí)行鏈路訓練及初始化, 并處理用于從物理互連接收或遞送至物理互連上的數(shù)據(jù)包。
[0018] 雖然可能有不同的實施方式,但在一個實施例中,所述協(xié)議??赡芫哂谐R?guī)的基 于個人計算機(PC)的通信協(xié)議(諸如根據(jù)PCIExpress?規(guī)范基礎規(guī)范版本3. 0 (2010年 11月18日出版)(下文稱為PCIe?規(guī)范)的外圍組件快速互連(PCI)ExpresSTM(PCIeTM)) 通信協(xié)議)、應用協(xié)議擴展的進一步版本,或另一此類協(xié)議,同時所述物理單元不依據(jù)所述 PCIe?通信協(xié)議。出于實現(xiàn)低功率操作的目的,這一物理單元能夠被特別設計為允許基本 不改變的PCIe?上協(xié)議棧與這一低功率物理電路合并。這樣,為了易于合并到以低功率操 作的便攜并且其它不基于PC的形式因素中,能夠利用PCIe?通信協(xié)議的廣泛的傳統(tǒng)基礎。 但是本發(fā)明的范圍不限于此,在一個實施例中,這一物理單元可以是由移動平臺(諸如根 據(jù)移動工業(yè)處理器接口(MIPI)聯(lián)盟(其是針對移動計算設備設定標準的小組)的M-PHY 規(guī)范版本1.00. 00--2011年2月8日(2011年4月28日批準的MIPIBoard)(下文為 MIPI規(guī)范)的所謂的Μ-PHY)適配的物理單元。然而,能夠使用其它低功率物理單元(諸如 根據(jù)諸如用于把多芯片封裝內(nèi)的個體管芯耦接在一起的其它低功率規(guī)范),或定制的低功 率解決方案。如本文所用的,術(shù)語"低功率"意指處于低于常規(guī)PC系統(tǒng)的功耗水平,并且其 可以應用于廣泛的各種移動及便攜設備。作為實例,"低功率"可以是消耗的功率少于常規(guī) PCIe?物理單元的物理單元。
[0019] 這樣,通過將傳統(tǒng)的PCIe?協(xié)議棧與不同類型的物理單元聚合,大量再使用的針 對PCIe?開發(fā)的傳統(tǒng)組件能夠被用來合并到移動或其它便攜或低功率平臺中。
[0020] 實施例還可以利用如下認識:即現(xiàn)有加載/存儲IO技術(shù),尤其是PCIe?以如下目 的被設計:在功率效率不是主要問題的情況下實現(xiàn)最大性能,并且因此不會縮減至低功率 應用。通過將常規(guī)加載/存儲協(xié)議棧的部分與低功率設計的物理單元組合,實施例可以保 留PCIe?的性能優(yōu)勢,同時在設備及平臺級別在功率方面達到最佳。
[0021] 照此,實施例可以是與具有大的傳統(tǒng)基礎的普遍存在的PCIe?架構(gòu)兼容的軟件。 此外,實施例還可以實現(xiàn)直接PHY再使用移動設計PHY,例如Μ-PHY。這樣,能夠利用傳送的 高效功率/比特以及友好地成為電磁接口 /射頻接口(EMI/RFI)的方法實現(xiàn)低活躍和空閑 功率,因為PHY可以以不干擾相關(guān)聯(lián)無線電(因為用于PHY的時鐘速率的諧波不干涉典型 的無線電解決方案以其操作的常規(guī)射頻(例如,1.8、1.9、2. 4千兆赫(GHz))或其他這樣的 射頻)的時鐘速率操作。
[0022] 實施例可以進一步提供實現(xiàn)優(yōu)化的鏈路訓練和管理機制(LTSSM)的架構(gòu)改進;優(yōu) 化的流控制和重試緩沖和管理機制;用于改變鏈路操作模式的架構(gòu)協(xié)議;快速硬件支持設 備狀態(tài)保存及恢復;以及用于具有可選的帶內(nèi)支持的鏈路管理的統(tǒng)一邊帶機制。
[0023] 在各實施例中,PCIe?事務及數(shù)據(jù)鏈路層能夠被實施為具有有限修改的協(xié)議棧的 部分以計及不同的鏈路速度和非對稱鏈路。此外,可以提供修正的鏈路訓練及管理,以包括 對多通道通信、非對稱鏈路配置、邊帶統(tǒng)一及動態(tài)帶寬縮放性的支持。實施例可以進一步提 供對現(xiàn)有的基于PCIe?及基于非PCIe?的邏輯和諸如M-PHY邏輯和電路之類的電路間的橋 接的支持。
[0024] 這種分層方法使得現(xiàn)有的軟件棧(例如,操作系統(tǒng)(OS)、虛擬機管理器及驅(qū)動器) 能眵在不同的物理層上無縫運行。對所述數(shù)據(jù)鏈路及事務層的影響被最小化并且可以包括 更新相關(guān)的定時器以更新應答頻率、重放定時器等。
[0025] 因此,各實施例能夠限制PCIe?系統(tǒng)中提供的一些靈活性,因為這種靈活性某些 情況下在PCIe?系統(tǒng)及其它系統(tǒng)兩者內(nèi)能夠創(chuàng)建某些復雜性。確實如此,因為這兩種協(xié) 議都提供了實現(xiàn)即插即播能力的極大靈活性。相反,各實施例能夠定制最小化設計靈活性 的量的解決方案,因為當被合并到給定系統(tǒng)(例如與另一集成電路(IC)互連的片上系統(tǒng) (SoC))中時,出現(xiàn)已知和固定的配置。因為在實現(xiàn)存在的精確配置方面是已知的,當SoC及 連接的設備兩者均附貼在平臺內(nèi)時,例如焊接到該系統(tǒng)的電路板,這些設備無需即插即播 能力,并且因此可能不需要PCIe?或其它基于PC的通信協(xié)議固有的、使得不同設備能夠無 縫地合并到具有即插即播能力的系統(tǒng)中的較大靈活性。
[0026] 作為一個實例,所述SoC能夠充當?shù)谝籌C中實施的根聯(lián)合體(rootcomplex),并 耦接到可以為無線電解決方案的第二1C,其能夠包括多個無線通信設備中的一個或多個設 備。這樣的設備的范圍能夠從諸如根據(jù)藍牙?規(guī)范的低功率短程通信系統(tǒng)、諸如根據(jù)給定 的電氣及電子工程協(xié)會(IEEE)802. 11標準的所謂的WiFi?系統(tǒng)的局域無線通信,到諸如給 定的蜂窩通信協(xié)議(諸如3G或4G通信協(xié)議)的高功率無線系統(tǒng)。
[0027] 現(xiàn)在參考圖1,示出了根據(jù)本發(fā)明實施例的用于通信協(xié)議的協(xié)議棧的高級別框圖。 如圖1中所示,棧100可以是半導體組件(諸如IC)內(nèi)軟件、固件及硬件的組合,用于提供對 所述半導體設備和與其耦接的另一設備間數(shù)據(jù)通信的處理。在圖1的實施例中,示出了開 始于高級別軟件110的高級別視圖,高級別軟件110可以是在給定平臺上執(zhí)行的各種類型 的軟件。這種高級別軟件可以包括操作系統(tǒng)(OS)軟件、固件、應用軟件等。要經(jīng)由互連140 傳送的數(shù)據(jù)能夠通過協(xié)議棧的各層傳遞,通常在圖1內(nèi)示出,互連140可以是將所述半導體 設備與另一組件耦接的給定物理互連。如所見的,這一協(xié)議棧各部分可以是常規(guī)PCIe?棧 120的部分,并可以包括事務層125和數(shù)據(jù)鏈路層128。通常,事務層125用于生成能夠是 請求或由時間分離的基于響應的數(shù)據(jù)包的事務層數(shù)據(jù)包(TLP),從而允許該鏈路攜帶其它 業(yè)務,同時目標設備收集用于所述響應的數(shù)據(jù)。所述事務層進一步處理基于信用的流控制。 因此,事務層125提供設備的處理電路與互連架構(gòu)間的接口,諸如數(shù)據(jù)鏈路層和物理層。在 這方面,所述事務層的主要職責是數(shù)據(jù)包(即,事務層數(shù)據(jù)包(TLP))的組裝和分解以及處 理基于信用的流控制。
[0028] 繼而,數(shù)據(jù)鏈路層128可以排序事務層生成的TLP,并確保兩個端點間TLP的可靠 遞送(包括處理錯誤檢查)和應答處理。因此,鏈路層128充當事務層與物理層之間的中間 階段,并提供用于通過鏈路在兩個組件間交換TLP的可靠機制。所述鏈路層的一側(cè)接收由 所述事務層組裝的TLP,應用標識符,計算并應用錯誤檢測代碼(例如循環(huán)恢復碼(CRC)), 并將修改的TLP提交給物理層以用于跨物理鏈路傳輸至外部設備。
[0029] 在數(shù)據(jù)鏈路層128中處理后,能眵將數(shù)據(jù)包傳送給PHY單元130。通常,PHY單元 130可以包括低功率PHY134,其可以包括邏輯層和物理(包括電氣)子層兩者。在一個實 施例中,由PHY單元130表示的物理層以物理方式將數(shù)據(jù)包傳輸?shù)酵獠吭O備。所述物理層 包括為傳輸準備外出信息的傳輸區(qū)段和在將接收的信息傳遞到鏈路層之前標識并準備它 的接收器區(qū)段。將被串行化并傳輸?shù)酵獠吭O備的符號供應給所述傳輸器。將來自外部設備 的串行化符號供應給所述接收器,并且接收器將所接收的信號變換為比特流。將所述比特 流解串行并供應給邏輯子塊。
[0030] 在一個實施例中,低功率PHY134(其能眵是特別開發(fā)或由諸如M-PHY之類的另一 PHY適配的給定低功率PHY)可以提供對打包數(shù)據(jù)的處理以用于沿互連140傳送。如圖1中 進一步所見的的,鏈路訓練及管理層132(本文也稱作鏈路管理器)也可以存在于PHY單元 130內(nèi)。在各實施例中,鏈路管理器132可以包括可以根據(jù)諸如PCIe?協(xié)議的另一通信協(xié) 議實施的特定邏輯和處理例如上述PCIe?協(xié)議棧的常規(guī)和具有不同協(xié)議的物理PHY134間 接口的專有邏輯。
[0031] 在圖1的實施例中,互連140能夠?qū)嵤椴罘志€對,差分線對可以是兩對單向線。 在某些實施方式中,多組差分對可以用來增加帶寬。要注意,根據(jù)PCIe?通信協(xié)議,要求每 個方向上差分對的數(shù)目相同。然而,根據(jù)各實施例,能夠在每個方向上提供不同數(shù)目的對, 這允許操作更高效、功率更低。該整個聚合的棧及鏈路140可以稱作移動快速PCIe?互連 或鏈路。雖然在圖1的實施例中以這一高級別示出,但要理解本發(fā)明的范圍不限于此。也 就是說,要理解,圖1中所示的視圖只是關(guān)于通過物理層的來自事務層的協(xié)議棧以及高級 別軟件,并且未示出SoC的各種其它電路或包括這個棧的其它半導體設備。
[0032] 現(xiàn)在參考圖2,示出根據(jù)本發(fā)明實施例的SoC的框圖。如圖2所示,S〇C200能夠 是用于實施在各種類型的SoC中的任何類型的平臺,范圍從諸如智能電話、個人數(shù)字助手 (PDA)、平板計算機、筆記本、超級本?等之類的相對較小的低功率便攜設備到能夠在高級 別系統(tǒng)中實施的更高級的SoC。
[0033] 如圖2中所見的,S〇C200可以包括一個或多個內(nèi)核21(^-2%。因此在各實施例 中,可能有多核SoC,所述內(nèi)核全都可以是具有給定架構(gòu)的同質(zhì)內(nèi)核,例如有序或無序處理 器?;蛘吣軌虼嬖诋愘|(zhì)內(nèi)核,例如某些相對較小的低功率內(nèi)核,例如具有有序架構(gòu)的內(nèi)核; 具有存在的附加內(nèi)核,該附加內(nèi)核可以具有更大和更復雜的架構(gòu),例如無序架構(gòu)。協(xié)議棧實 現(xiàn)這些內(nèi)核中的一個或多個與系統(tǒng)的其它組件之間數(shù)據(jù)通信。如看見的,這個棧能夠包括 軟件215,其可以是較高級別軟件(諸如0S、固件)和在一個或多個內(nèi)核上執(zhí)行的應用級軟 件。另外,所述協(xié)議棧包括事務層220和數(shù)據(jù)鏈路層230。在各實施例中,這些事務及數(shù)據(jù) 鏈路層可以具有諸如PCIe?協(xié)議的給定通信協(xié)議。當然,其它實施例中可以存在諸如根據(jù) 通用串行總線(USB)協(xié)議棧的不同協(xié)議棧的層。而且,在一些實施方式中,能夠用現(xiàn)有的替 換協(xié)議棧多路復用本文所述的低功率PHY電路。
[0034] 仍然參考圖2,繼而這一協(xié)議棧能夠耦接到物理單元240,物理單元240可以包括 能夠經(jīng)由多條互連提供通信的多個物理單元。在一個實施例中,第一物理單元250可以是 低功率PHY單元,其在一個實施例中可以對應于根據(jù)MIPI規(guī)范的M-PHY,用于經(jīng)由主互連 280提供通信。另外,可以存在邊帶(SB)PHY單元244。在所示的實施例中,這個邊帶PHY 單元可以經(jīng)由邊帶互連270提供通信,邊帶互連270可以是用于例如以慢于耦接到第一 PHY250的主互連280的數(shù)據(jù)速率提供某些邊帶信息的統(tǒng)一邊帶。在某些實施例中,所述協(xié) 議棧的各層能夠具有耦接到這個SBPHY244以實現(xiàn)沿這一邊帶互連的通信的分離邊帶。
[0035] 此外,PHY單元240可以進一步包括能夠用于控制SBPHY244的SB鏈路管理器 242。另外,可以存在鏈路訓練及狀態(tài)管理器245,并且其能夠用于將具有第一通信協(xié)議的協(xié) 議棧適配到具有第二通信協(xié)議的第一PHY250,以及提供對于第一PHY250和互連280的整體 控制。
[0036] 如進一步所見的,第一PHY250中可以存在各種組件。更具體地,可以存在傳輸器 及接收器電路(即TX253和RX254)。通常,這種電路可以用來執(zhí)行串行化操作、解串行操 作以及經(jīng)由主互連280傳輸及接收數(shù)據(jù)。可以存在保存狀態(tài)管理器251,并且當其處于低 功率狀態(tài)時可以用于保存關(guān)于第一PHY250的配置及其它狀態(tài)信息。而且,能夠存在編碼器 252,用于例如根據(jù)8b/10b協(xié)議執(zhí)行線編碼。
[0037] 如圖2進一步所見的,可以存在機械接口 258。這個機械接口 258可以是給定互連, 用于提供來自根聯(lián)合體200的通信,并且更具體地經(jīng)由主互連280到達/來自第一PHY250 的通信。在各實施例中,這種機械連接能夠利用諸如球柵陣列(BGA)或其它表面貼裝之類 的半導體設備的引腳,或通過孔連接電鍍。
[0038] 除了這些主要通信機制外,附加的通信接口可以利用低功率串行(LPS)PHY單元 255,低功率串行(LPS)PHY單元255經(jīng)由包括軟件層216、事務層221、以及鏈路層231的分 離棧在內(nèi)核210與一個或多個片外設備260a-c間耦接,所述片外設備能眵是諸如傳感器、 加速計、溫度傳感器、全球定位系統(tǒng)(GPS)電路、羅盤電路、觸摸屏電路、鍵盤電路、鼠標電 路等之類的各種低數(shù)據(jù)速率外圍設備。
[0039] 要注意,在各實施例中,邊帶互連270或主互連280兩者都能眵在S〇C200和另一 半導體組件(例如諸如多帶無線電解決方案之類的另一IC)間耦接。
[0040] 再次,雖然圖2的圖示是相對較高級別,但可以有變化。例如,可以提供多個低功 率PHY以例如經(jīng)由多條信道實現(xiàn)更高速率的數(shù)據(jù)通信,其中各信道與獨立的PHY相關(guān)聯(lián)。現(xiàn) 在參考圖3,示出根據(jù)本發(fā)明另一實施例的物理單元的框圖。如圖3中所示,物理單元300 包括鏈路訓練及狀態(tài)管理器310。這個狀態(tài)管理器可以如上所述,并能夠是邏輯集合,用于 使具有第一通信協(xié)議的協(xié)議棧能夠與具有第二(例如不同)通信協(xié)議的物理單元接口。
[0041] 如圖3中進一步所見的,鏈路訓練及狀態(tài)管理器310可以與多個M-PHY320Q-320n 通信。通過提供多于一個的此類PHY,能夠進行更高速率的數(shù)據(jù)通信。要注意,雖然圖3所 示的每個M-PHY可以包括一些數(shù)目的邏輯以用于使其個體獨立通信能夠發(fā)生,但對這些不 同M-PHY的通信的整體控制可以經(jīng)由鏈路訓練及狀態(tài)管理器310。而且,要理解,雖然圖3 中示出多個M-PHY,但在其它實施例中,能夠存在另一類型的多個PHY單元,并能夠提供另 外的多個異質(zhì)PHY單元。要注意,每個M-PHY單元能夠被用作唯一邏輯鏈路的部分,或用在 組中,其中組與單個邏輯鏈路相關(guān)聯(lián)。每個設備通??梢韵膯蝹€邏輯鏈路,但是在一些實 施例中單個物理設備可以消耗多個邏輯鏈路,例如用于為多功能組件的不同功能提供專有 鏈路資源。
[0042] 現(xiàn)在參考圖4,示出的是示出根據(jù)本發(fā)明實施例的協(xié)議棧的進一步細節(jié)的框圖。如 圖4中所示,棧400包括各種層,包括:事務層410、數(shù)據(jù)鏈路層420及物理層430。如上所 述,能夠使用PCIe?協(xié)議棧的常規(guī)事務及數(shù)據(jù)鏈路部分或此類棧的修改版本配置這些不同 的層,以容納具有該第一通信協(xié)議的這些層與具有另一通信協(xié)議的物理層之間的交互,物 理層在圖4的實施例中可以是根據(jù)MIPI規(guī)范的M-PHY。
[0043] 如圖4中所見的,關(guān)于從協(xié)議棧400傳輸信息的傳輸方向,在事務層的通常組合控 制及數(shù)據(jù)路徑以形成TLP的傳輸數(shù)據(jù)包組裝器412中接收例如從SoC的其它電路(諸如內(nèi) 核或其它處理邏輯)到協(xié)議棧的到來信息。在被組裝到傳輸數(shù)據(jù)包之后(傳輸數(shù)據(jù)包在各 實施例中能夠是具有例如1至4096字節(jié)(或具有較小的最大允許大小,例如,128或256) 的數(shù)據(jù)包),把組裝的數(shù)據(jù)包提供給流控制器414,流控制器414基于排隊傳輸?shù)慕酉聛淼?(一個或多個)TLP所要求的數(shù)目確定是否有足夠的流控制信用可用,并且控制將數(shù)據(jù)包注 入到數(shù)據(jù)鏈路層420中。更具體所見的,給錯誤檢測器和序列器422提供這些注入的數(shù)據(jù) 包,在一個實施例中錯誤檢測器和序列器422可以生成TLP序列號和LCRC。進一步所見的, 數(shù)據(jù)鏈路層420進一步包括傳輸消息機構(gòu)426,傳輸消息機構(gòu)426繼而生成用于鏈路管理 功能的DLLP,并耦接到數(shù)據(jù)鏈路傳輸控制器425,其是用于流控制及數(shù)據(jù)鏈路完整性(ACK/ NAK)機制的控制器功能;要注意,這可以被細分,以使得使用不同的邏輯塊實施這些功能。
[0044] 如進一步所見的,將處理過的數(shù)據(jù)包提供給重試緩沖424,重試緩沖424保存有每 個TLP的拷貝直至被所述鏈路另一側(cè)上組件應答,要注意,實踐中這可以利用緩沖在棧的 更上部(在組裝器412內(nèi)或上方)來實施,并且它們能夠被存儲在對應的條目中,直至被選 擇用于經(jīng)由數(shù)據(jù)/消息選擇器428傳輸?shù)轿锢韺?30。通常,上述事務及數(shù)據(jù)鏈路層可以根 據(jù)常規(guī)的PCIe?協(xié)議棧電路操作,其中某些修改將在下面進一步描述。
[0045] 相反關(guān)于物理層430,對這層的某些邏輯組件的多得多的修改(例如根據(jù)PCIe? 協(xié)議棧修改的那樣)可以發(fā)生以及用于提供對具有另一通信協(xié)議的物理單元的實際物理 部分的接口。如所見的,可以將到來的數(shù)據(jù)包應用于幀發(fā)生器432,其增加物理層幀符號并 為所述數(shù)據(jù)包生成幀,并且將它們提供給帶寬/位置映射器434,其移位數(shù)據(jù)路徑中的字節(jié) 以生成用于外部傳輸?shù)囊蟮男蕪亩匾獣r調(diào)整數(shù)據(jù)路徑寬度,并且繼而耦接到可以用 于執(zhí)行鏈路訓練及跳躍排序的訓練器及跳躍序列器436。如所見的,幀發(fā)生器432、訓練器 /序列器436和數(shù)據(jù)/序列選擇器438全都可以耦接到物理層傳輸控制器435,物理層傳輸 控制器435為LTSSM和相關(guān)邏輯的收發(fā)器部分???36是用于生成物理層傳輸(諸如訓練 集(TS)和跳躍排序集)的邏輯。這樣,成幀的數(shù)據(jù)包可以被選擇并提供給物理電路,以執(zhí) 行編碼、串行化和把對應于處理的數(shù)據(jù)包的串行化信號驅(qū)動至物理互連上。在一個實施例 中,可以在幀發(fā)生器432中執(zhí)行不同通信協(xié)議間符號差的映射。
[0046] 如所見的,能夠給這一物理互連提供多條個體信道或通道。在所示的實施例中,每 個物理信道或通道能夠包括其自身的獨立PHY單元傳輸電路445^445」,在一個實施例中其 每一個可以是根據(jù)MIPI規(guī)范的M-PHY單元的部分。如本文所述,不同于傳輸器與接收器 的數(shù)目匹配的PCIe?,可以存在不同數(shù)目的傳輸器和接收器。因此如所見的,每個傳輸電路 445能夠包括用于根據(jù)8b/10b編碼對符號進行編碼的編碼器、把已編碼的符號串行化的串 行器和將信號驅(qū)動到物理互連上的驅(qū)動器。如進一步所見的,每個通道或信道可以與邏輯 單元440。-44(^相關(guān)聯(lián),其可以是根據(jù)用于M-PHY的MIPI規(guī)范的邏輯電路,用于因此經(jīng)由對 應的通道管理物理通信。
[0047] 要注意,這些多個通道能夠被配置為以不同的速率操作,且實施例可以包括不同 數(shù)目的此類通道。另外,可以在傳輸及接收方向上具有不同數(shù)目的通道及通道速度。因此, 盡管給定的邏輯單元440控制PHY445的對應通道的操作,但要理解,物理層傳輸控制器435 可以用于控制經(jīng)由物理互連的整體信息傳輸。要注意,在某些情況下,一些非常基礎的功能 由與每個通道相關(guān)聯(lián)的不同邏輯執(zhí)行;對于能夠?qū)⑼ǖ婪峙浣o多于單個鏈路的情形,可以 提供多個LTSSM實例;對于訓練的鏈路,在控制收發(fā)器和接收器側(cè)兩者的每個組件中存在 單個LTSSM。這種整體控制能夠包括功率控制、鏈路速度控制、鏈路寬度控制、初始化等。
[0048] 仍然參考圖4,經(jīng)由物理互連接收的到來信息可以類似地通過物理層430、數(shù)據(jù) 鏈路層420和事務層410經(jīng)由這些層的接收機制傳遞。在圖4中所示的實施例中,每個 PHY單元可以進一步包括接收電路,即接收電路455^455,,其在所示的實施例中接收電路 455Q-455k能夠針對物理鏈路的每個通道存在。要注意,在這個實施例中,接收器電路455 和傳輸器電路445的數(shù)目不同。如所見的,這一物理電路能夠包括用于接收到來信息的輸 入緩沖、對該信息進行解串行的解串行器以及可以用于解碼以8b/10b編碼傳送的符號的 解碼器。如進一步所見的,每個通道或信道可以與邏輯單元45(^-45(^相關(guān)聯(lián),邏輯單元 45(^-45(^可以是根據(jù)給定規(guī)范(例如用于M-PHY的MIPI規(guī)范)的邏輯電路,用于因此管 理經(jīng)由對應通道的物理通信。
[0049] 可以繼而將所解碼的符號提供給物理層430的邏輯部分,其如所見可以包括彈性 緩沖460,其中所述彈性緩沖容納所述鏈路上這個組件與另一組件之間的時鐘差;要注意, 在各個實施方式中它的位置可以移位成例如在8b/10b解碼器之下,或與通道抗扭斜緩沖 組合,并存儲到來的已解碼符號。繼而,該信息可以被提供給寬度/位置映射器462,由那里 提供給跨多條通道執(zhí)行抗扭斜的通道抗扭斜緩沖464,并且對于多通道情形,緩沖464能夠 處理通道間信號扭斜的差異以重新對準字節(jié)。繼而,經(jīng)由抗扭斜的信息可以被提供給幀處 理器466,其可以消除到來信息中存在的幀。如所見的,物理層接收控制器465可以耦接到 并控制彈性緩沖460、映射器462、抗扭斜緩沖464和幀處理器466。
[0050] 仍然參考圖4,可以將恢復的數(shù)據(jù)包提供給接收消息機構(gòu)478及錯誤檢測器、序列 檢查器和鏈路級重試(LLR)請求器475。這一電路可以對到來的數(shù)據(jù)包執(zhí)行錯誤校正檢 查,例如通過執(zhí)行CRC校驗和操作、執(zhí)行排序檢查并請求對錯誤接收的數(shù)據(jù)包進行鏈路級 重試。接收消息機構(gòu)478和錯誤檢測器/請求器475兩者都可以處于數(shù)據(jù)鏈路接收控制器 480的控制下。
[0051] 仍然參考圖4,因此在單元475中處理的數(shù)據(jù)包可以提供給事務層410,并且更具 體地提供給流控制器485,其對這些數(shù)據(jù)包執(zhí)行流控制以將它們提供給數(shù)據(jù)包解釋器495。 數(shù)據(jù)包解釋器495執(zhí)行對所述數(shù)據(jù)包的解釋,并將它們轉(zhuǎn)發(fā)給選定的目的地,例如給定的 內(nèi)核或該接收器的其它邏輯電路。雖然圖4的實施例中以這一高級別示出,但要理解,本發(fā) 明的范圍不限于此。
[0052] 要注意,PHY440可以使用與由用于傳輸?shù)腜CIe?所支持的相同的8b/10b編碼。所 述8b/10b編碼方案提供不同于用來表示字符的數(shù)據(jù)符號的特殊符號。這些特殊符號可以 用于PCIe?規(guī)范的物理層章節(jié)中所描述的各種鏈路管理機制。在MIPIM-PHY規(guī)范中描述 了M-PHY對附加特殊符號的使用。實施例可以提供PCIe?與MIPIM-PHY符號之間的映射。
[0053] 現(xiàn)在參考表1,示出了根據(jù)本發(fā)明一個實施例的PCIe?符號至M-PHY符號的實例 性映射。因此,這個表示出根據(jù)本發(fā)明一個實施例的用于聚合的協(xié)議棧的特殊符號的映射。
[0054]表 1
[0055]
【權(quán)利要求】
1. 一種裝置,包括: 用于外圍組件快速互連?(PCIeTM)通信協(xié)議的協(xié)議棧,所述協(xié)議棧包括事務層和鏈路 層;以及 物理(PHY)單元,耦接到所述協(xié)議棧以經(jīng)由物理鏈路提供所述裝置與耦接到所述裝置 的設備間的通信,所述PHY單元具有低功率通信協(xié)議,并包括根據(jù)所述低功率通信協(xié)議的 物理單元電路和將所述協(xié)議棧與所述物理單元電路接口的邏輯層,所述邏輯層包括執(zhí)行所 述物理鏈路的鏈路訓練的鏈路訓練狀態(tài)機,并包括將具有所述PCIe?通信協(xié)議的第一特殊 符號映射到具有所述低功率通信協(xié)議的第二特殊符號的映射邏輯。
2. 如權(quán)利要求1所述的裝置,其中,所述物理鏈路從所述裝置至所述設備具有與從所 述設備至所述裝置不對稱的寬度,且所述物理鏈路可配置為從所述裝置至所述設備以與從 所述設備至所述裝置不對稱的頻率操作。
3. 如權(quán)利要求1所述的裝置,其中所述鏈路訓練狀態(tài)機在不與所述設備協(xié)商的情況下 提前將物理鏈路從所述裝置的復位初始化到初始鏈路寬度及頻率。
4. 如權(quán)利要求3所述的裝置,其中所述鏈路訓練狀態(tài)機在不與所述設備協(xié)商的情況下 在所述物理鏈路的鏈路寬度中引起改變。
5. 如權(quán)利要求1所述的裝置,進一步包括所述裝置與所述設備間耦接的、與所述物理 鏈路分離的邊帶信道,所述邊帶信道包括具有與所述PHY單元分離的第二PHY單元的串行 鏈路,并且其中所述第二PHY單元把第一存在信號傳輸給所述設備,并從所述設備接收第 二存在信號,所述鏈路訓練狀態(tài)機響應于在第二PHY單元中接收到第二存在信號而配置所 述物理鏈路。
6. -種方法,包括: 在經(jīng)由物理鏈路耦接到第二集成電路的第一集成電路中,響應于所述第一集成電路 的上電,執(zhí)行具有低功率通信協(xié)議的、包含物理單元電路的物理(PHY)單元的鏈路訓練 狀態(tài)機的檢測狀態(tài),所述PHY單元耦接到針對包括事務層和鏈路層的外圍組件快速互連 ?(PCIe?)通信協(xié)議的協(xié)議棧; 在執(zhí)行所述檢測狀態(tài)后,在所述第一集成電路中,執(zhí)行所述鏈路訓練狀態(tài)機的配置狀 態(tài),包括經(jīng)由在所述第一及第二集成電路間耦接的邊帶鏈路把配置準備信號發(fā)送給所述第 二集成電路;以及 在所述第一集成電路中,響應于經(jīng)由所述邊帶鏈路從所述第二集成電路接收到第二配 置準備信號,執(zhí)行鏈路訓練狀態(tài)機的停機狀態(tài),其中在所述停機狀態(tài)期間,所述PHY單元在 所述物理鏈路上驅(qū)動差分N信號。
7. 如權(quán)利要求6所述的方法,進一步包括:在所述停機狀態(tài)中啟動突發(fā)序列,以轉(zhuǎn)換到 所述鏈路訓練狀態(tài)機的活躍狀態(tài)中。
8. 如權(quán)利要求7所述的方法,進一步包括:在所述活躍狀態(tài)中,將有效負載從所述第 一集成電路傳送到所述第二集成電路,并且之后傳送突發(fā)信號的尾部以轉(zhuǎn)換到所述停機狀 態(tài)。
9. 如權(quán)利要求6所述的方法,進一步包括:從所述停機狀態(tài)轉(zhuǎn)換到第一低功率狀態(tài)中, 并在所述第一低功率狀態(tài)中在所述物理鏈路上驅(qū)動所述差分N信號。
10. 如權(quán)利要求9所述的方法,進一步包括:響應于經(jīng)由所述邊帶鏈路從所述第二集成 電路接收到存在信號,從所述第一低功率狀態(tài)轉(zhuǎn)換到所述停機狀態(tài)。
11. 如權(quán)利要求9所述的方法,進一步包括:當滿足一組預定條件時,從所述停機狀態(tài) 轉(zhuǎn)換到第二低功率狀態(tài),所述第二低功率狀態(tài)低于所述第一低功率狀態(tài),并且在所述第二 低功率狀態(tài)中在所述物理鏈路上驅(qū)動差分高阻抗信號。
12. 如權(quán)利要求7所述的方法,進一步包括:響應于接收器錯誤,從所述活躍狀態(tài)轉(zhuǎn)換 到恢復狀態(tài)。
13. 如權(quán)利要求6所述的方法,進一步包括: 經(jīng)由所述邊帶信道將停機啟動信號發(fā)送到所述第二集成電路;以及 響應于經(jīng)由所述邊帶鏈路從所述第二集成電路接收到停機指示信號而轉(zhuǎn)換到所述停 機狀態(tài)。
14. 如權(quán)利要求7所述的方法,進一步包括:響應于在PHY單元中從所述協(xié)議棧接收的 通信而從所述活躍狀態(tài)轉(zhuǎn)換到斷電狀態(tài)。
15. -種系統(tǒng),包括: 多核處理器,包括多個內(nèi)核和實現(xiàn)所述多核處理器與外圍設備間經(jīng)由物理鏈路的通信 的協(xié)議棧,所述協(xié)議棧包括: 根據(jù)外圍組件快速互通信協(xié)議的事務層; 根據(jù)所述PCIe?通信協(xié)議的數(shù)據(jù)鏈路層;以及 根據(jù)低功率通信協(xié)議的、包括物理層傳輸控制器和物理(PHY)單元傳輸電路的物理 層,其中所述物理層傳輸控制器把所述PHY單元傳輸電路適配到具有PCIe?通信協(xié)議的事 務層和數(shù)據(jù)鏈路層,所述物理層進一步包括執(zhí)行所述物理鏈路的鏈路訓練的鏈路訓練狀態(tài) 機,并包括將具有所述PCIe?通信協(xié)議的第一特殊符號映射到具有所述低功率通信協(xié)議的 第二特殊符號的映射邏輯;以及 耦接到所述多核處理器的外圍設備。
16. 如權(quán)利要求15所述的系統(tǒng),其中所述鏈路訓練狀態(tài)機:響應于所述多核處理器的 上電,在執(zhí)行檢測狀態(tài)后執(zhí)行所述鏈路訓練狀態(tài)機的配置狀態(tài),包括經(jīng)由在所述多核處理 器與所述外圍設備間耦接的邊帶鏈路發(fā)送配置準備信號給所述外圍設備;以及響應于經(jīng)由 所述邊帶鏈路從所述外圍設備接收到第二配置準備信號而執(zhí)行所述鏈路訓練狀態(tài)機的停 機狀態(tài),其中在所述停機狀態(tài)期間,所述PHY單元傳輸電路在所述物理鏈路上驅(qū)動差分N信 號。
17. 如權(quán)利要求16所述的系統(tǒng),其中所述鏈路訓練狀態(tài)機在所述停機狀態(tài)中啟動突發(fā) 序列以轉(zhuǎn)換到所述鏈路訓練狀態(tài)機的活躍狀態(tài)中,并在所述活躍狀態(tài)中將有效負載從所述 多核處理器傳送到所述外圍設備,并且之后傳送突發(fā)信號的尾部以轉(zhuǎn)換至所述停機狀態(tài)。
18. 如權(quán)利要求17所述的系統(tǒng),其中所述鏈路訓練狀態(tài)機經(jīng)由所述邊帶鏈路將停機啟 動信號信號發(fā)送給所述外圍設備,并響應于經(jīng)由所述邊帶鏈路從所述外圍設備接收到停機 指示信號而轉(zhuǎn)換至所述停機狀態(tài)。
19. 如權(quán)利要求15所述的系統(tǒng),其中所述外圍設備包括多無線電集成電路。
【文檔編號】G06F13/42GK104380274SQ201380021347
【公開日】2015年2月25日 申請日期:2013年7月16日 優(yōu)先權(quán)日:2013年5月16日
【發(fā)明者】M·瓦格, D·J·哈里曼 申請人:英特爾公司