本公開一般涉及電子學(xué)領(lǐng)域。更具體而言,本發(fā)明的一個(gè)實(shí)施例涉及高速串行鏈路I/O應(yīng)用中用于從低功率狀態(tài)快速而穩(wěn)健恢復(fù)的自適應(yīng)控制環(huán)保護(hù)。
背景技術(shù):外圍組件互連快速(PCIe)是一種計(jì)算機(jī)系統(tǒng)中常見的輸入/輸出(I/O或IO)接口。然而,隨著PCIe速度的增加,所帶來的一定的信號(hào)失真降低了信號(hào)通信可靠性。例如,具有高傳輸速率的PCIe鏈路一般可使用自我糾正的反饋控制環(huán)來控制模擬接收器電路。然而,噪聲數(shù)據(jù)輸入可能在進(jìn)入或退出一功率狀態(tài)時(shí)發(fā)生,這會(huì)導(dǎo)致反饋控制環(huán)做出反應(yīng)并且可能將其擾亂為對(duì)于電氣穩(wěn)健鏈路而言并非最優(yōu)的值。附圖說明參照附圖提供詳細(xì)描述。在附圖中,附圖標(biāo)記最左邊的數(shù)字標(biāo)識(shí)該附圖標(biāo)記首次出現(xiàn)的附圖。在不同附圖中使用相同的附圖標(biāo)記表示相似或相同的項(xiàng)目。圖1示出可用于實(shí)現(xiàn)本文討論的一個(gè)或多個(gè)實(shí)施例的計(jì)算系統(tǒng)的一實(shí)施例的框圖,該計(jì)算系統(tǒng)包括PCIe設(shè)備和/或其他I/O設(shè)備。圖2示出可用于實(shí)現(xiàn)本文討論的一個(gè)或多個(gè)實(shí)施例的計(jì)算系統(tǒng)的一實(shí)施例的框圖。圖3A示出根據(jù)一實(shí)施例的方法的流程圖。圖3B示出根據(jù)一實(shí)施例的用于低功率狀態(tài)退出有限狀態(tài)機(jī)控制CDR環(huán)濾波器的框圖。圖4示出可用于實(shí)現(xiàn)本文討論的一個(gè)或多個(gè)實(shí)施例的計(jì)算系統(tǒng)的一實(shí)施例的框圖。圖5示出可用于實(shí)現(xiàn)本文討論的一個(gè)或多個(gè)實(shí)施例的計(jì)算系統(tǒng)的一實(shí)施例的框圖。具體實(shí)施方式在以下描述中,闡述眾多具體細(xì)節(jié)以提供對(duì)各實(shí)施例的透徹理解。然而,在沒有這些具體細(xì)節(jié)的情況下也可實(shí)踐某些實(shí)施例。在其它實(shí)例中,并未對(duì)公知方法、程序、組件以及電路進(jìn)行詳細(xì)描述以免模糊具體實(shí)施例。本發(fā)明的實(shí)施例的各方面利用諸如集成半導(dǎo)體電路(“硬件”)、組織成一個(gè)或多個(gè)程序(“軟件”)的計(jì)算機(jī)可讀指令或硬件和軟件的某種組合之類的多種方式來執(zhí)行。出于本公開的目的,對(duì)“邏輯”的引用應(yīng)該表示硬件、軟件或其某種組合的意思。PCIeGen3(第3代)(其中PCIe是指PCIexpress(快速),其可以根據(jù)PCIe基礎(chǔ)規(guī)范第3次修訂(例如,版本1.0,2010年11月10日))和其他具有高傳輸速率的串行I/O使用自我糾正的反饋控制環(huán)來控制模擬接收器電路。在開始的完整鏈路訓(xùn)練期間,這些環(huán)通過捕獲(acquisition)來設(shè)置為最優(yōu)的開始值,以便鏈路以穩(wěn)健方式發(fā)揮電氣功能。一旦鏈路完成訓(xùn)練并且完全可用,控制環(huán)持續(xù)糾正模擬電路以在比特差錯(cuò)率要求內(nèi)對(duì)進(jìn)入數(shù)據(jù)采樣。然而,例如,噪聲數(shù)據(jù)輸入可能潛在地在進(jìn)入或退出一功率狀態(tài)時(shí)發(fā)生,并會(huì)導(dǎo)致反饋控制環(huán)做出反應(yīng)并且可能將其擾亂為對(duì)于電氣穩(wěn)健鏈路而言并非最優(yōu)的值。對(duì)這些種類的接收機(jī)而言,具有防止環(huán)路暴露到任何種類的噪聲數(shù)據(jù)(比如在進(jìn)入和退出鏈路功率管理狀態(tài)期間可能發(fā)生的噪聲數(shù)據(jù))的精確方案是極為重要的。在傳統(tǒng)的第一代和第二代PCIe設(shè)計(jì)中,復(fù)雜的模擬靜噪電路(squelchcircuit)一般提供一種檢測(cè)對(duì)較低功率管理狀態(tài)的進(jìn)入(雜音(squelch))以保護(hù)回路免于噪雜的雜音數(shù)據(jù)的可靠方式。在高速的第三代PCIe設(shè)計(jì)中(或者甚至在某些第二代PCIe設(shè)計(jì)中),由于復(fù)雜的碼元間干擾(ISI)和小的信號(hào)幅度,在8GT/s及以上進(jìn)入功率狀態(tài)的可靠模擬指示是不可行的。在這些高速設(shè)計(jì)中,模擬指示被數(shù)字式的EIOS(電子空閑有序集)比特模式的解碼和檢測(cè)所取代,所述比特模式指示進(jìn)入較低功率狀態(tài)的意圖。接收器PHY層中的控制器處理器此EIOS模式并且將指示發(fā)送到模擬前端(即AFE,其包括一模擬電路,該模擬電路接收進(jìn)入的模擬信號(hào)并解析該模擬信號(hào)以接收二進(jìn)制格式的數(shù)據(jù),并且將二進(jìn)制傳送數(shù)據(jù)轉(zhuǎn)換為模擬信號(hào)以通過PCIe鏈路發(fā)送到鏈路伙伴設(shè)備)。PCIe鏈路伙伴(諸如圖1的控制器135)可向根復(fù)合體(root-complex)接收器發(fā)送信號(hào),所述信號(hào)指示進(jìn)入較低的功率狀態(tài),例如,L0(其中L0通常是指省電狀態(tài)),其是期望能夠快速喚醒的相對(duì)短期的空閑模式。根復(fù)合體接收器使用此信號(hào)來進(jìn)入比如L0等較低功率狀態(tài),并進(jìn)而向AFE發(fā)送指示以切斷適當(dāng)?shù)哪M電路(或使其空閑)。但是,當(dāng)前的數(shù)字檢測(cè)方式和L0方案花費(fèi)極長(zhǎng)的時(shí)間。鏈接伙伴在此時(shí)間期間可進(jìn)入雜音模式并開始發(fā)送雜音數(shù)據(jù),將所述環(huán)暴露于雜音數(shù)據(jù)例如50到100ns(取決于用于處理EIOS數(shù)據(jù)的第三代或第二代數(shù)據(jù)速率)以確認(rèn)進(jìn)入低功率狀態(tài)。而且在許多邊界邏輯情況下,環(huán)還將在靜噪條件期間被暴露于噪雜數(shù)據(jù)更長(zhǎng)的時(shí)間段,因?yàn)榭赡軟]有來自控制器的關(guān)于進(jìn)入較低功率狀態(tài)的可靠指示。例如,當(dāng)該鏈路處于恢復(fù)亞狀態(tài)時(shí),對(duì)LTSSM(鏈接訓(xùn)練和狀況狀態(tài)機(jī))的EIOS檢測(cè)被掩蔽,而控制器可能不向AFE發(fā)送L0進(jìn)入信號(hào),而這會(huì)導(dǎo)致破壞環(huán)漂移到非最優(yōu)位置,該非最優(yōu)位置可能是無法恢復(fù)的。在這種情況下,AFE接收器可能變得暴露于噪雜信號(hào)以及共模跳躍,而控制環(huán)嘗試糾正這些并且穩(wěn)定到對(duì)于常規(guī)數(shù)據(jù)流量而言完全次優(yōu)的值。在接收器退出較低功率狀態(tài)后,這可能導(dǎo)致鏈路失敗。此情形可通過增加從較低頻率狀態(tài)退出時(shí)nFTS(幫助AFE接收器實(shí)現(xiàn)位鎖定所需的快速訓(xùn)練序列的數(shù)量)模式的長(zhǎng)度和持續(xù)時(shí)間來部分緩解,但因總退出等待時(shí)間增加這可能嚴(yán)重降低功率和性能益處。這種退出等待時(shí)間增加占掉能在較低功率狀態(tài)中所花的時(shí)間,這降低了功率管理的益處/效率。對(duì)于許多應(yīng)用和工作負(fù)載,可能重復(fù)地背靠背地進(jìn)出較低功率狀態(tài)。在這些情況下,此問題可能會(huì)以非常嚴(yán)重的形式表現(xiàn),甚至在更長(zhǎng)的nFTS的情況下,且接收器可能遇到猝發(fā)差錯(cuò)。因此,如果此問題不解決,則帶有能夠進(jìn)行第三代PCIe電路架構(gòu)的產(chǎn)品將面臨:(i)在從較低功率狀態(tài)退出后的鏈路降級(jí)或鏈路失??;和/或(ii)因退出等待時(shí)間會(huì)更長(zhǎng),功率和性能益處的降低。而且,接收器恢復(fù)問題的癥狀可包括:(a)nFTS超時(shí)且進(jìn)入L0上的恢復(fù)的鏈路退出;(b)突發(fā)鏈路停機(jī)(SLD)的場(chǎng)景,其中控制器不斷言EIOS上的RX_L0(接收L0)。這導(dǎo)致AFERX循環(huán)被暴露于雜音數(shù)據(jù)相對(duì)較長(zhǎng)的時(shí)間,這最終會(huì)破環(huán)自適應(yīng)環(huán)的自我恢復(fù)。(c)背靠背L0事件上的鏈路性能的緩慢降級(jí)。這是由于低功率狀態(tài)退出開始時(shí)的噪雜數(shù)據(jù),該噪雜數(shù)據(jù)會(huì)導(dǎo)致接收器自適應(yīng)環(huán)漂移,而L0駐留時(shí)間不夠長(zhǎng)而在進(jìn)入下一L0狀態(tài)之前接收器無法完全恢復(fù)。為此,在一些實(shí)施例中,控制器(例如,圖1的PCIe控制器135)以特別的方式處理EIOS以生成相對(duì)早的以下指示:端點(diǎn)(或代理)(例如,通過解碼第一代/第二代中的COMIDLEIDLEIDLE以及第三代中的前4個(gè)EIOS碼元)正進(jìn)入較低功率狀態(tài)。此早期EIOS是對(duì)根復(fù)合體可能進(jìn)入L0狀態(tài)的潛在指示但是在一些邊界情況下它可能丟掉EIOS并停留在L0狀態(tài)中。AFE使用此早期EIOS指示來促成控制環(huán)的凍結(jié)(并且還裝備模擬雜音退出檢測(cè)邏輯,來檢測(cè)從低功率狀態(tài)的雜音退出)。此凍結(jié)機(jī)制將防止在鏈路伙伴完成EIOS的傳輸后控制環(huán)對(duì)噪雜的雜音數(shù)據(jù)做出反應(yīng)??刂破魈幚鞥IOS數(shù)據(jù)以便確認(rèn)進(jìn)入低功率狀態(tài)可能花費(fèi)大量時(shí)間(例如,多達(dá)100ns)。如果使用正常的L0進(jìn)入信號(hào),則每當(dāng)其進(jìn)入L0狀態(tài)時(shí),自適應(yīng)環(huán)可在雜音數(shù)據(jù)中暴露控制器處理等待時(shí)間。隨后,在從凍結(jié)指令起延遲時(shí)間段(例如,可編程模擬雜音電路熱身時(shí)間,諸如20ns、40ns或80ns)后,采樣/檢測(cè)模擬雜音退出信號(hào),以檢測(cè)非靜噪狀態(tài)。隨后響應(yīng)于模擬雜音退出信號(hào)的變化(例如,當(dāng)可編程熱身計(jì)時(shí)器之后斷言該變化時(shí)),控制環(huán)將被解凍。而且,來自控制器的早期EIOS指示可能不總是導(dǎo)致LTSSM進(jìn)入ASPML0狀態(tài)。在這些推測(cè)情況下,當(dāng)雜音退出將最終被指示(例如,基于EIEOS(電子空閑退出有序集)比特模式的檢測(cè))時(shí),控制環(huán)將被打開(即,解凍)。為防止該端點(diǎn)(或代理)在進(jìn)入后短時(shí)間內(nèi)退出低功率狀態(tài)(例如,PCIe規(guī)范定義20ns最小L0駐留),響應(yīng)于雜音退出的指示,自適應(yīng)控制環(huán)還將在某個(gè)延遲(例如,40ns或80ns熱身時(shí)間)后被啟動(dòng)。因此,由于內(nèi)建的失效保險(xiǎn)(fail-safe)機(jī)制,低功率狀態(tài)進(jìn)入之前的推測(cè)性控制環(huán)凍結(jié)不會(huì)過早地鎖住環(huán)。各實(shí)施例在本文中參考計(jì)算系統(tǒng)組件來討論,諸如舉例來說本文參考圖1-2和4-5討論的各組件。更具體地,圖1示出根據(jù)本發(fā)明的一實(shí)施例的計(jì)算系統(tǒng)100的框圖。系統(tǒng)100包括一個(gè)或多個(gè)代理102-1到102-M(本文統(tǒng)稱為“各代理102”或更一般地“代理102”)。在一實(shí)施例中,代理102是諸如參考圖2和4-5所討論的計(jì)算系統(tǒng)之類的計(jì)算系統(tǒng)的組件。如圖1所示,代理102經(jīng)由網(wǎng)絡(luò)結(jié)構(gòu)104通信。在一實(shí)施例中,網(wǎng)絡(luò)結(jié)構(gòu)104包括經(jīng)由串行(例如,點(diǎn)對(duì)點(diǎn))鏈路和/或共享的通信網(wǎng)絡(luò)通信的一個(gè)或多個(gè)互連(或互連網(wǎng)絡(luò))。每個(gè)鏈路可包括一個(gè)或多個(gè)通道。例如,某些實(shí)施例可便于部件在允許與完全緩沖雙列直插式存儲(chǔ)器模塊(FBD)通信的鏈路上調(diào)試或驗(yàn)證,例如,其中FBD鏈路是用于將存儲(chǔ)器模塊耦合到主機(jī)控制器設(shè)備(諸如處理器或存儲(chǔ)器中樞)的串行鏈路。調(diào)試信息從FBD通道主機(jī)傳輸,以使得調(diào)試信息沿著通道由通道通信量跟蹤捕獲工具(諸如一個(gè)或多個(gè)邏輯分析器)觀測(cè)。在一個(gè)實(shí)施例中,系統(tǒng)100支持分層協(xié)議方案,該分層協(xié)議方案包括物理層、鏈路層、路由層、傳輸層和/或協(xié)議層。對(duì)于點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),結(jié)構(gòu)104還便于數(shù)據(jù)(例如以分組形式)從一個(gè)協(xié)議(例如,高速緩存處理器或高速緩存知悉式存儲(chǔ)器控制器)傳輸?shù)搅硪粎f(xié)議。而且,在某些實(shí)施例中,網(wǎng)絡(luò)結(jié)構(gòu)104提供遵守一個(gè)或多個(gè)高速緩存一致協(xié)議的通信。此外,如圖1中的箭頭方向所示,代理102經(jīng)由網(wǎng)絡(luò)結(jié)構(gòu)104傳輸和/或接收數(shù)據(jù)。因此,某些代理利用單向鏈路通信,而其它代理利用雙向鏈路通信。例如,一個(gè)或多個(gè)代理(諸如代理102-M)(例如,經(jīng)由單向鏈路106)傳輸數(shù)據(jù),其它代理(諸如代理102-2)(例如,經(jīng)由單向鏈路108)接收數(shù)據(jù),而某些代理(諸如代理102-1)(例如,經(jīng)由雙向鏈路110)傳輸和接收數(shù)據(jù)。同樣,根據(jù)一實(shí)施例,一個(gè)或多個(gè)代理102包括一個(gè)或多個(gè)輸入/輸出中樞(IOH)120以促進(jìn)代理(例如,示出的代理102-1)與一個(gè)或多個(gè)輸入/輸出(“I/O”或“IO”)設(shè)備124(諸如PCIeI/O設(shè)備)之間的通信。IOH120包括根復(fù)合體(RC)122(包括一個(gè)或多個(gè)根端口)以根據(jù)PCIe規(guī)范(例如,根據(jù)PCI快速基礎(chǔ)規(guī)范3.0,也稱為PCIe3.0或第三代PCI或第三代PCIe)耦合和/或促進(jìn)代理102-1的各組件(諸如處理器、存儲(chǔ)器子系統(tǒng)等)與I/O設(shè)備124之間的通信。在一些實(shí)施例中,多代理系統(tǒng)的一個(gè)或多個(gè)組件(諸如處理器核、芯片組、輸入/輸出中樞、存儲(chǔ)器控制器等)包括RC122和/或IOH120,如將參考其余附圖進(jìn)一步討論的。此外,代理102包括PCIe控制器135以管理PCIe接口的各種操作,例如以改善代理102中的PCIe組件的高速(例如,串行)I/O信道的質(zhì)量和/或速度。而且,如圖1中所示,代理102-1有權(quán)訪問存儲(chǔ)器140。如將參考圖2-5進(jìn)一步討論的,存儲(chǔ)器140存儲(chǔ)各種項(xiàng),包括例如OS、設(shè)備驅(qū)動(dòng)程序等等。更具體而言,圖2是根據(jù)一實(shí)施例的計(jì)算系統(tǒng)200的框圖。系統(tǒng)200包括多個(gè)套接口202-208(示出四個(gè),但是一些實(shí)施例可具有更多或更少套接口)。每個(gè)套接口包括處理器和IOH120、RC122和PCIe控制器135中的一個(gè)或多個(gè)。在一些實(shí)施例中,IOH120、RC122和/或PCIe控制器135可以存在于系統(tǒng)200的一個(gè)或多個(gè)組件(諸如圖2所示的那些組件)中。而且,取決于實(shí)現(xiàn),更多或更少的120、122和135塊存在于系統(tǒng)中。另外,每一個(gè)套接口經(jīng)由點(diǎn)對(duì)點(diǎn)(PtP)鏈路或差分互連(諸如快速路徑互連(QPI)、MIPI(移動(dòng)產(chǎn)業(yè)處理器接口))等耦合到其他套接口。如參照?qǐng)D1的網(wǎng)絡(luò)結(jié)構(gòu)104所討論的,每個(gè)套接口被耦合至系統(tǒng)存儲(chǔ)器的本地部分,例如,由包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的多個(gè)雙列直插式存儲(chǔ)器模塊(DIMM)構(gòu)成。在另一實(shí)施例中,網(wǎng)絡(luò)結(jié)構(gòu)可用于任何片上系統(tǒng)(SoC)應(yīng)用、利用定制的或標(biāo)準(zhǔn)的接口,諸如用于AMBA(高級(jí)微控制器總線架構(gòu))的符合ARM的接口、OCP(開放核協(xié)議)、MIPI(移動(dòng)產(chǎn)業(yè)處理器接口)、PCI(外圍組件互連)或PCIe(外圍組件互連快速)。一些實(shí)施例在基于PC(個(gè)人計(jì)算機(jī))的系統(tǒng)(諸如基于PCI的系統(tǒng))中使用能夠使用異構(gòu)資源的一種技術(shù)(諸如AXI/OCP技術(shù))而不對(duì)IP資源本身作出任何改變。各實(shí)施例提供了兩種非常薄的硬件塊,本文也稱為單元和墊層,其可用于將AXI/OCPIP插入自動(dòng)生成的互連結(jié)構(gòu)中以創(chuàng)建兼容PCI的系統(tǒng)。在一實(shí)施例中,Y單元的第一(例如,北)接口連接到適配器塊,該適配器塊對(duì)接到兼容PCI的總線(諸如直接媒體接口(DMI)總線、PCI總線、或外圍組件互連快速(PCIe)總線)。第二(例如,南)接口直接連接至非PC互連(諸如AXI/OCP互連)。在各實(shí)現(xiàn)中,這一總線可以是OCP總線。在一些實(shí)施例中,Y單元通過將PCI配置周期轉(zhuǎn)換成目標(biāo)IP能夠理解的事物來實(shí)現(xiàn)PCI枚舉。這一單元還執(zhí)行可重定位的PCI地址到固定AXI/OCP地址以及相反方向的地址轉(zhuǎn)換。Y單元可進(jìn)一步實(shí)現(xiàn)一種排序機(jī)制以滿足生產(chǎn)者-消費(fèi)者模型(例如,PCI生產(chǎn)者-消費(fèi)者模型)。進(jìn)而,各個(gè)IP經(jīng)由專用的PCI墊層連接到互連。每一個(gè)墊層可為對(duì)應(yīng)的IP實(shí)現(xiàn)整個(gè)PCI頭部。Y單元路由到PCI頭部的所有接入以及到墊片的設(shè)備存儲(chǔ)器空間。墊片消耗所有的頭部讀/寫事物并且將其他事物傳遞給IP。在一些實(shí)施例中,墊片還為IP實(shí)現(xiàn)所有與功率管理有關(guān)的特征。因而,代替作為單片兼容性塊,實(shí)現(xiàn)Y單元的各實(shí)施例采用一種分布式方式。跨所有IP共用的功能(例如,地址轉(zhuǎn)換和排序)在Y單元中實(shí)現(xiàn),而IP專用功能(諸如功率管理、誤差處理等)在針對(duì)該IP定制的墊層中實(shí)現(xiàn)。以此方式,新的IP可伴隨最小的改變被添加到Y(jié)單元。例如,在一種實(shí)現(xiàn)中,這些改變可以通過在地址重定向表中添加新條目來進(jìn)行。盡管墊層是IP專用的,但在一些實(shí)現(xiàn)中,大量功能(例如,超過90%)是跨所有IP共用的。這使得能夠?qū)π翴P的現(xiàn)...