專利名稱:周邊裝置互連高速鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電源狀態(tài)轉(zhuǎn)換系統(tǒng)及其方法,特別是涉及一種PCIExpress(周邊裝置互連高速)鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng)及其方法。
背景技術(shù):
隨著時(shí)間的巨輪不斷向前邁進(jìn),在個(gè)人計(jì)算機(jī)原為主流的周邊裝置互連接接口(Peripheral Component Interconnect,PCI),在未來的處理器與輸出/輸入組件需要更高的傳輸頻寬,已漸漸超出PCI的范圍。業(yè)界因此推出新一代的PCI Express,以做為未來各種運(yùn)算平臺的標(biāo)準(zhǔn)區(qū)域輸入/輸出總線。其最大特色為效能的提升,單向傳輸速率即可達(dá)2.5GHz,還可藉擴(kuò)增通道(lane)增加傳輸速率,例如使用4信道即可使傳輸速度提升4倍。
高級配置與電源接口(Advanced Configuration and Power Interface,ACPI),是定義組件于各個(gè)情況下的電源狀態(tài),稱為組件電源狀態(tài)(devicepower states,D-states)。而PCI Express更進(jìn)一步的定義組件間的鏈接的電源狀態(tài),稱為鏈接電源狀態(tài)(link powe rstates,L-states)。且各個(gè)鏈接電源狀態(tài)與組件電源狀態(tài)亦有相對應(yīng)的關(guān)系。
組件電源狀態(tài)D0(Full-On)表示組件于正常工作的狀態(tài)下。組件于組件電源狀態(tài)D0時(shí),此時(shí)組件之間的鏈接處于鏈接電源狀態(tài)L0、L0s或L1。
組件電源狀態(tài)D1及D2并未明顯地定義出,但概括而言,組件電源狀態(tài)D2較D0與D1節(jié)省電力,但保持較少組件的狀態(tài)。組件電源狀態(tài)D1較D2節(jié)省電力,但可保持更多組件的狀態(tài)。組件電源狀態(tài)D1及D2對應(yīng)至鏈接電源狀態(tài)L1。
組件電源狀態(tài)D3(Off)表示關(guān)機(jī)狀態(tài),包括有D3cold與D3hot狀態(tài)。當(dāng)組件于D3cold狀態(tài)時(shí),表示主電源未提供至組件。當(dāng)組件于D3hot狀態(tài)時(shí),表示主電源提供至組件。當(dāng)組件的電源狀態(tài)于D3cold狀態(tài),若有輔助電源(auxiliary power)提供給組件,則組件之間的鏈接對應(yīng)至鏈接電源狀態(tài)L2;若無電源提供給組件,則組件之間的鏈接對應(yīng)至鏈接電源狀態(tài)L3。組件電源狀態(tài)D3hot對應(yīng)至鏈接電源狀態(tài)L1或L2/L3 ready。
鏈接電源狀態(tài)L0是組件之間的鏈接于正常工作狀態(tài)的電源狀態(tài)。鏈接電源狀態(tài)L0s于組件之間的鏈接傳輸數(shù)據(jù)時(shí),若有短暫的數(shù)據(jù)傳輸?shù)拈e置時(shí)段,可進(jìn)入鏈接電源狀態(tài)L0s以減少功率的耗損。
組件之間的鏈接于鏈接電源狀態(tài)L1時(shí),組件于暫停無工作要求的狀態(tài)下,而會減低組件之間的鏈接電力的需求。此時(shí),并無時(shí)鐘訊號的觸發(fā),及鎖相回路電路(Phase Locked Loop,PLL)亦暫停使用。
鏈接電源狀態(tài)L2與L3為關(guān)機(jī)狀態(tài),差別在于鏈接電源狀態(tài)L2有輔助電源的存在,而鏈接電源狀態(tài)L3無輔助電源。
在PCI Express的規(guī)格下,有硬件機(jī)制的主動狀態(tài)電源管理(ActiveState Power Management,ASPM)以處理鏈接電源狀態(tài)L0s進(jìn)入鏈接電源狀態(tài)L1的換轉(zhuǎn)。
此外,PCI Express也有軟件控制的電源管理機(jī)制(programmed PowerManagement,PPM)。但利用軟件控制使上游組件與下游組件之間的鏈接于鏈接電源狀態(tài)L0轉(zhuǎn)變?yōu)殒溄与娫礌顟B(tài)L1時(shí),上游組件發(fā)出命令使下游組件進(jìn)入非組件電源狀態(tài)D0的電源狀態(tài),卻往往容易因?yàn)橛嵦杺鬟f不良,使得上游組件與下游組件同時(shí)在等待對方的響應(yīng),而使其之間鏈接無法順利進(jìn)入鏈接電源狀態(tài)L1,進(jìn)而發(fā)生系統(tǒng)死機(jī)的情況。
發(fā)明內(nèi)容
本發(fā)明在提供一種PCI Expres s鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng)及其方法,使組件之間的鏈接進(jìn)入鏈接電源狀態(tài)L1而可節(jié)省電力,且避免造成系統(tǒng)死機(jī)。
本發(fā)明提出一種PCI Express的鏈接電源狀態(tài)轉(zhuǎn)換方法,用于一上游組件及一下游組件之間的一鏈接(Link)。首先,上游組件輸出一配置要求至下游組件,以改變下游組件的組件電源狀態(tài),鏈接于一第一鏈接狀態(tài)。之后,下游組件輸出一電源進(jìn)入訊號至上游元并開始計(jì)數(shù)。若計(jì)數(shù)結(jié)束,仍未接收到一電源要求響應(yīng)訊號,則使鏈接進(jìn)入一回復(fù)狀態(tài)后再回到第一鏈接狀態(tài),之后,下游組件再次輸出電源進(jìn)入訊號。
本發(fā)明還提出一種PCI Express鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng),包括上游組件、下游組件及鏈接。上游組件輸出配置要求至下游組件,以改變下游組件的組件電源狀態(tài)。下游組件接收配置要求后,輸出一電源進(jìn)入訊號至上游組件,并開始計(jì)數(shù)。鏈接連結(jié)于上游組件與下游組件之間,上游組件與下游組件通過鏈接相互傳輸數(shù)據(jù)。其中,若計(jì)數(shù)結(jié)束后,下游組件仍未接收到一電源要求響應(yīng)訊號,則使鏈接進(jìn)入一回復(fù)狀態(tài)后再回到第一鏈接狀態(tài),之后,下游組件再次輸出電源進(jìn)入訊號至上游組件,并重新開始計(jì)數(shù)。其中當(dāng)上游組件輸出配置要求時(shí),鏈接于第一鏈接電源狀態(tài)以正常傳輸數(shù)據(jù)。
為使本發(fā)明的上述目的、特征、和優(yōu)點(diǎn)能更明顯易懂,下文特舉一較佳實(shí)施例,并結(jié)合附圖詳細(xì)說明如下。
圖1示出了根據(jù)本發(fā)明提出的較佳實(shí)施例的PCI Express鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng)的方塊圖。
圖2示出了根據(jù)本發(fā)明一較佳實(shí)施例的PCI Express鏈接電源狀態(tài)轉(zhuǎn)換方法流程圖附圖符號說明110上游組件120下游組件111、121交易層112、122數(shù)據(jù)鏈結(jié)層113、123實(shí)體層130鏈接具體實(shí)施方式
請參照圖1,其示出了根據(jù)本發(fā)明一較佳實(shí)施例的PCI Express鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng)的方塊圖。
本發(fā)明PCI Express鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng)包含有一上游組件110,一下游組件120,以及一鏈接130。其中鏈接130電連結(jié)于上游組件110與下游組件130之間。
上游組件110包括交易層111(Transaction Layer,TL)、數(shù)據(jù)鏈結(jié)層112(Data Link Layer,DLL)及實(shí)體層113(Physical Layer,PHY)。
交易層111產(chǎn)生數(shù)據(jù)包(data packet)至數(shù)據(jù)鏈結(jié)層112,或接收數(shù)據(jù)鏈結(jié)層112傳輸而來的數(shù)據(jù)包,亦管理與組件之間的流量控制(flow control)。而交易層接收或產(chǎn)生的數(shù)據(jù)包稱為交易層包(Transaction Layer Packets,TLPs)。
數(shù)據(jù)鏈結(jié)層112與實(shí)體層113之間傳輸?shù)臄?shù)據(jù)包,以及與交易層111之間傳輸數(shù)據(jù)包。數(shù)據(jù)鏈結(jié)層112接收數(shù)據(jù)包后提供交易層包至交易層111,或接收交易層111輸出的交易層包以輸出數(shù)據(jù)包至實(shí)體層113。而數(shù)據(jù)鏈結(jié)層在做以上操作時(shí),還可檢測以穩(wěn)定傳輸數(shù)據(jù)包。數(shù)據(jù)鏈結(jié)層112與實(shí)體層113之間傳輸?shù)臄?shù)據(jù)包為數(shù)據(jù)鏈結(jié)層包(Data Link Layer Packets,DLLPs)。
實(shí)體層113負(fù)責(zé)在組件110與組件120之間的鏈接(Link)傳送包。實(shí)體層113自組件120接收包后,轉(zhuǎn)為數(shù)據(jù)鏈結(jié)層包輸至數(shù)據(jù)鏈結(jié)層112。實(shí)體層113亦接收數(shù)據(jù)鏈結(jié)層112的數(shù)據(jù)鏈結(jié)層包后,通過與組件120的鏈接傳送包至組件120。
而下游組件120包括交易層121、數(shù)據(jù)鏈結(jié)層122及實(shí)體層123。各層的操作亦如上述,于此不再重述。
請參照圖2,其示出了根據(jù)本發(fā)明一較佳實(shí)施例的PCI Express鏈接電源狀態(tài)轉(zhuǎn)換方法流程圖200。
首先,上游組件110的電源管理輸出一配置要求(configurationrequest)至下游組件120,以改變下游組件120的組件電源狀態(tài)(步驟202)。例如改變?yōu)榻M件電源狀態(tài)D1、D2或D3hot。
此時(shí),上游組件110與下游組件120之間的鏈接130是于第一鏈接電源狀態(tài),其中第一鏈接電源狀態(tài)例如為鏈接電源狀態(tài)L0。當(dāng)在第一鏈接電源狀態(tài)時(shí),可正常傳輸數(shù)據(jù)。其中配置要求(configuration request)為交易層包。上游組件110例如為根聯(lián)合體(Root Complex),而下游組件120為端點(diǎn)(Endpoint),例如為顯示卡。
接著,下游組件120對應(yīng)上游組件110的配置要求(configurationrequest),暫停產(chǎn)生交易層包TLP(步驟210)。之后下游組件120等待并接收上游組件110對于下游組件120之前所制造的交易層包所產(chǎn)生的響應(yīng)訊號(步驟211)。接著,下游組件120停止產(chǎn)生除了PM_Enter_L1數(shù)據(jù)鏈結(jié)層包的外的數(shù)據(jù)鏈結(jié)層包DLLP(步驟212)。之后,下游組件120輸出電源進(jìn)入訊號PM_Enter_L1至上游組件110并開始計(jì)數(shù)時(shí)間(步驟213)。之后,下游組件120檢測是否收到響應(yīng)要求訊號電源要求響應(yīng)訊號PM_Request_Ack(步驟214)。其中電源要求響應(yīng)訊號PM_Request_Ack,是由上游組件110所發(fā)出告知收到電源進(jìn)入訊號PM_Enter_L1的響應(yīng)訊號。
接著,上游組件110判斷是否收到電源進(jìn)入訊號PM_Enter_L1(步驟203)。當(dāng)上游組件110收到電源進(jìn)入訊號PM_Enter_L1后,上游組件110停止產(chǎn)生交易層包TLP(步驟204)。之后上游組件110等待接收其之前產(chǎn)生的交易層包的響應(yīng)訊號(步驟205)。接著,上游組件110停止產(chǎn)生除了電源要求響應(yīng)訊號PM_Request_Ack的外的數(shù)據(jù)鏈結(jié)層包DLLP(步驟206)。
之后,上游組件110輸出電源要求響應(yīng)訊號PM_Request_Ack至下游組件120(步驟207)。
當(dāng)下游組件120輸出電源進(jìn)入訊號PM_Enter_L1后就會開始計(jì)數(shù)時(shí)間(如上述步驟213)。如果在計(jì)數(shù)結(jié)束前,下游組件120收到由上游組件110所輸出的電源要求響應(yīng)訊號PM_Request_Ack,則使得鏈接130進(jìn)入電氣閑置(步驟215)。當(dāng)上游組件110判斷鏈接130進(jìn)入電氣閑置的狀態(tài)后(步驟208),接著使得鏈接130進(jìn)入一第二鏈接電源狀態(tài)(步驟209)。其中第二鏈接電源狀態(tài)例如為L1。最后,下游組件120于鏈接130已改變鏈接電源狀態(tài)后,亦進(jìn)入組件電源狀態(tài)D1、D2或D3hot(圖中未顯示)。
反之,如果在計(jì)數(shù)結(jié)束后,下游組件120沒有收到由上游組件110所輸出的電源要求響應(yīng)訊號PM_Request_Ack,則使得鏈接130進(jìn)入回復(fù)狀態(tài)(Recovery state)(步驟216)。接著,再回到第一鏈接電源狀態(tài)(例如L0state)(步驟217)。之后,下游組件120會再次輸出電源進(jìn)入訊號PM_Enter_L1至上游組件110并重新開始計(jì)數(shù)時(shí)間(回到步驟213)其中鏈接130從鏈接電源狀態(tài)L1轉(zhuǎn)換至回復(fù)狀態(tài)的操作,稱為觸發(fā)再訓(xùn)練(trigger retrain)。
由上述說明可以得知,在本發(fā)明中,下游組件120會一直輸出電源進(jìn)入訊號PM_Enter_L1到上游組件110中,直到下游組件120收到電源要求響應(yīng)訊號PM_Request_Ack訊號為止。
由上述說明可以得知,若下游組件120確實(shí)接收到上游組件110輸出的電源要求響應(yīng)訊號PM_Request_Ack,使鏈接130進(jìn)入電氣閑置。若下游組件120未收到電源要求響應(yīng)訊號PM_Request_Ack,則使得鏈接130進(jìn)入回復(fù)狀態(tài)在回到第一鏈接電源狀態(tài)(例如L0 state)。
本發(fā)明于下游組件120端加入一計(jì)數(shù)時(shí)間,當(dāng)下游組件120輸出電源進(jìn)入訊號PM_Enter_L1后就開始計(jì)數(shù),如果在計(jì)數(shù)結(jié)束后,下游組件120并未收到上游組件110輸出的電源要求響應(yīng)訊號PM_Request_Ack,則使得鏈接進(jìn)入回復(fù)狀態(tài)之后再回到第一鏈接電源狀態(tài),如此可避免系統(tǒng)一直等待電源要求響應(yīng)訊號PM_Request_Ack而造成的當(dāng)機(jī)。
由上述的說明可以得知,利用本發(fā)明可以避免上游組件110未收到電源進(jìn)入訊號PM_Enter_L1或者下游組件120未收到電源要求響應(yīng)訊號PM_Request_Ack而使得系統(tǒng)過度等待的情形發(fā)生。
于步驟213中,計(jì)數(shù)時(shí)間為可程序的。本發(fā)明中,計(jì)數(shù)時(shí)間可設(shè)置為32個(gè)周期、64個(gè)周期或等待電源要求響應(yīng)訊號。
本發(fā)明上述實(shí)施例所揭露的PCI Express鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng)及其鏈接電源狀態(tài)轉(zhuǎn)換方法,于改變鏈接電源狀態(tài)時(shí),以計(jì)數(shù)的方式使組件之間的鏈接確實(shí)進(jìn)入下一鏈接電源狀態(tài),如此可達(dá)到原本節(jié)省電力的目的之外,還可解決原始設(shè)計(jì)的弊病以避免轉(zhuǎn)換電源狀態(tài)而造成系統(tǒng)死機(jī)。
綜上所述,雖然本發(fā)明已以一較佳實(shí)施例披露如上,然其并非用以限定本發(fā)明,本領(lǐng)域的技術(shù)人員在不脫離本發(fā)明的精神和范圍之前提下可作各種的更動與潤飾,因此本發(fā)明的保護(hù)范圍以本發(fā)明的權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種周邊裝置互連高速的鏈接電源狀態(tài)轉(zhuǎn)換方法,用于一鏈接,該鏈接連結(jié)于一上游組件及一下游組件之間,該方法包括該上游組件輸出一配置要求至該下游組件,以改變該下游組件的組件電源狀態(tài),該鏈接是于一第一鏈接狀態(tài);以及該下游組件輸出一電源進(jìn)入訊號至該上游組件并開始計(jì)數(shù)一計(jì)數(shù)時(shí)間;其中若該下游組件計(jì)數(shù)結(jié)束后,仍未接收到一電源要求響應(yīng)訊號,則使得該鏈接進(jìn)入一回復(fù)狀態(tài)。
2.如權(quán)利要求1所述的電源狀態(tài)轉(zhuǎn)換方法,還包括該下游組件對應(yīng)該上游組件的該配置要求,暫停產(chǎn)生交易層包;該下游組件等待接收該上游組件之前產(chǎn)生的交易層包的一響應(yīng)訊號;以及該下游組件停止產(chǎn)生數(shù)據(jù)鏈結(jié)層包。
3.如權(quán)利要求1所述的電源狀態(tài)轉(zhuǎn)換方法,其中還包括該上游組件接收該電源進(jìn)入訊號后,停止產(chǎn)生交易層包;該上游組件等待接收該下游組件之前產(chǎn)生的交易層包的一響應(yīng)訊號;以及該上游組件停止產(chǎn)生數(shù)據(jù)鏈結(jié)層包。
4.如權(quán)利要求3所述的電源狀態(tài)轉(zhuǎn)換方法,其中還包含該上游組件對應(yīng)該電源進(jìn)入訊號輸出該電源要求響應(yīng)訊號至該下游組件。
5.如權(quán)利要求1所述的電源狀態(tài)轉(zhuǎn)換方法,其中還包含該鏈接進(jìn)入該回復(fù)狀態(tài)后再進(jìn)入該第一鏈接電源狀態(tài)。
6.如權(quán)利要求5所述的電源狀態(tài)轉(zhuǎn)換方法,其中還包含該鏈接進(jìn)入該第一鏈接電源狀態(tài)后,該下游組件再次輸出該電源進(jìn)入訊號至該上游組件并重新計(jì)數(shù)。
7.如權(quán)利要求1所述的電源狀態(tài)轉(zhuǎn)換方法,其中還包括若該下游組件于計(jì)數(shù)時(shí)間結(jié)束前,接收到該電源要求響應(yīng)訊號,則使得該鏈接進(jìn)入電氣閑置。
8.如權(quán)利要求7所述的電源狀態(tài)轉(zhuǎn)換方法,其中還包括當(dāng)該鏈接進(jìn)入電氣閑置后,停止數(shù)據(jù)傳輸并使該鏈接進(jìn)入一第二鏈接電源狀態(tài)。
9.如權(quán)利要求8所述的電源狀態(tài)轉(zhuǎn)換方法,其中該第二鏈接電源狀態(tài)為鏈接電源狀態(tài)L1。
10.如權(quán)利要求1所述的電源狀態(tài)轉(zhuǎn)換方法,其中該配置要求為交易層包,該電源進(jìn)入訊號為數(shù)據(jù)鏈結(jié)層包,而該電源要求響應(yīng)訊號為數(shù)據(jù)鏈結(jié)層包。
11.如權(quán)利要求1所述的電源狀態(tài)轉(zhuǎn)換方法,其中該第一鏈接電源狀態(tài)為鏈接電源狀態(tài)L0。
12.一種周邊裝置互連高速鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng),包括一上游組件,輸出一配置要求至該下游組件,以改變該下游組件的組件電源狀態(tài);一下游組件,接收該配置要求后,輸出一電源進(jìn)入訊號至該上游組件;以及一鏈接,連結(jié)于該上游組件與該下游組件之間,該上游組件與該下游組件通過該鏈接相互傳輸數(shù)據(jù),該上游組件輸出該配置要求時(shí),該鏈接是于一第一鏈接電源狀態(tài)以正常傳輸數(shù)據(jù);其中,該下游組件設(shè)有一計(jì)數(shù)時(shí)間,當(dāng)輸出該電源進(jìn)入訊號至該上游組件時(shí)開始計(jì)數(shù),若計(jì)數(shù)結(jié)束后,該下游組件仍未接收到一電源要求響應(yīng)訊號,則使得該鏈接進(jìn)入一回復(fù)狀態(tài)。
13.如權(quán)利要求12所述的鏈接電源管理系統(tǒng),其中該上游組件以及該下游組件分別包含有一交易層,一數(shù)據(jù)鏈結(jié)層,以及一實(shí)體層。
14.如權(quán)利要求13所述的系統(tǒng),其中該配置要求為交易層包,該電源進(jìn)入訊號為數(shù)據(jù)鏈結(jié)層包,而該電源要求響應(yīng)訊號為數(shù)據(jù)鏈結(jié)層包。
15.如權(quán)利要求13所述的系統(tǒng),其中當(dāng)該下游組件收到該配置要求,該交易層停止產(chǎn)生交易層包,該數(shù)據(jù)鏈結(jié)層停止產(chǎn)生數(shù)據(jù)鏈結(jié)層包。
16.如權(quán)利要求13所述的系統(tǒng),其中當(dāng)該上游組件收到該電源進(jìn)入訊號后,該交易層停止產(chǎn)生交易層包,該數(shù)據(jù)鏈結(jié)層停止產(chǎn)生數(shù)據(jù)鏈結(jié)層包。
17.如權(quán)利要求13所述的系統(tǒng),其中當(dāng)該上游組件收到該電源進(jìn)入訊號后,該上游組件輸出該電源要求響應(yīng)訊號至該下游組件。
18.如權(quán)利要求12所述的系統(tǒng),其中當(dāng)該鏈接進(jìn)入該回復(fù)狀態(tài)后再使得該鏈接進(jìn)入該第一鏈接電源狀態(tài),之后使得該下游組件再次輸出該電源進(jìn)入訊號至該上游組件并重新計(jì)數(shù)。
19.如權(quán)利要求12所述的系統(tǒng),其中該第一鏈接電源狀態(tài)為鏈接電源狀態(tài)L0。
20.如權(quán)利要求12所述的系統(tǒng),其中若計(jì)數(shù)結(jié)束前,該下游組件接收到該電源要求響應(yīng)訊號,則使得該鏈接進(jìn)入電氣閑置狀態(tài),之后停止數(shù)據(jù)的傳輸,并使得鏈接進(jìn)入一第二鏈接電源狀態(tài)。
21.如權(quán)利要求20所述的系統(tǒng),其中該第二鏈接電源狀態(tài)為L1。
全文摘要
周邊裝置互連高速(PCI Express)鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng)及其方法。周邊裝置互連高速鏈接電源狀態(tài)轉(zhuǎn)換系統(tǒng)包括上游組件、下游組件及一鏈接(Link)。首先,上游組件輸出一配置要求至下游組件,以改變下游組件的組件電源狀態(tài),鏈接是于一第一鏈接狀態(tài)。之后,下游組件輸出一電源進(jìn)入訊號至上游組件并開始計(jì)數(shù)。之后,若下游組件計(jì)數(shù)結(jié)束,仍未接收到上游組件對應(yīng)電源進(jìn)入訊號輸出的一電源要求響應(yīng)訊號,使得鏈接進(jìn)入一回復(fù)狀態(tài)后回到第一鏈接狀態(tài),并使得下游組件再次輸出電源進(jìn)入訊號。
文檔編號G06F1/26GK1763694SQ200510126728
公開日2006年4月26日 申請日期2005年11月21日 優(yōu)先權(quán)日2005年5月23日
發(fā)明者曾紋郁, 鄭淵綜 申請人:威盛電子股份有限公司