專利名稱:在活動狀態(tài)功率管理過程中改善延時的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機系統(tǒng),具體涉及計算機系統(tǒng)中的PCI-E接口,更具體地 說,涉及一種在活動狀態(tài)功率管理過程中改善PCI-E Ll ASPM延時的方法和 系統(tǒng)。
背景技術(shù):
PCI-E (Peripheral Component Interconnect Express)接口應(yīng)用于服務(wù)器、 桌面型電腦和移動PC中。PCI-E的一個重要的省電特征是活動狀態(tài)功率管理 (ASPM)。當(dāng)在特定PCI-E鏈路中啟用了 Ll ASPM且該鏈路處于非活動狀態(tài) 一段時間(例如幾十或幾百微秒)時,PCI-E鏈路將轉(zhuǎn)變到Ll狀態(tài),消耗比 全功率(即全功能的LO (on)狀態(tài))少很多的功率。在Ll狀態(tài)下,PCI-E時 鐘被停止,PLL掉電以省電。但是,為了使設(shè)備開始DMA并通過PCI-E鏈路 傳送數(shù)據(jù),該鏈路必須返回到LO狀態(tài)。
從L1轉(zhuǎn)變到L0的過程不是瞬時的。這一轉(zhuǎn)變時間期間被稱為"Ll退出 延時"。Ll退出延時從設(shè)備決定其需要進(jìn)行PCI-E事務(wù)(例如DMA)并開始 到L0的轉(zhuǎn)變的時間點開始。Ll退出延時在PCI-E鏈路已經(jīng)完全轉(zhuǎn)變到L0狀 態(tài)時結(jié)束。精確的Ll退出延時取決于PCI-E鏈路兩端的設(shè)備的設(shè)計,但若PLL 未掉電該延時將大于20微秒,若PLL掉電則大于100微秒。
吉比特和快速以太網(wǎng)控制器可使用PCI-E總線來連接PC,因為PCI-E是 公共高速外圍接口。此外,這些具有PCI-E接口的以太網(wǎng)控制器非常期望支持 Ll ASPM,以便在接口為非活動狀態(tài)期間PCI-E鏈路能自動置入低功率狀態(tài)。 但是,長時間的Ll延時將對網(wǎng)絡(luò)響應(yīng)和性能產(chǎn)生負(fù)面影響。這是因為Ll退 出延時會影響一個網(wǎng)絡(luò)工作站處理并響應(yīng)由另一網(wǎng)絡(luò)工作站發(fā)送的網(wǎng)絡(luò)數(shù)據(jù) 包所需的延時。在吉比特以太網(wǎng)速度下,在某些涉及對延時敏感的應(yīng)用或基準(zhǔn)的情況下即使io微秒的延時也是非常不期望出現(xiàn)的。
設(shè)備的L1退出延時取決于該設(shè)備的物理層設(shè)計。在物理層設(shè)計的性能、 成本和復(fù)雜度之間可以取得折衷。因此Ll退出延時在稍小于10微秒到幾百 微秒的非常大的范圍內(nèi)。在PCI-E基準(zhǔn)時鐘以及PLL已掉電時,即使具有"較 低"Ll退出延時的設(shè)備也具有大于30 (某些情況下大于100)微秒的從L1退 出的延時,因為在向LO轉(zhuǎn)變時,時鐘需要重啟,PLL需要重新獲取時鐘。
比較本發(fā)明后續(xù)將要結(jié)合附圖介紹的系統(tǒng),現(xiàn)有技術(shù)的其它局限性和弊端 對于本領(lǐng)域的普通技術(shù)人員來說是顯而易見的。
發(fā)明內(nèi)容
本發(fā)明提供了一種通過在較早的時間點前瞻性地開始轉(zhuǎn)變來改善有效的 PCI-E Ll ASPM退出延時的方法和系統(tǒng),結(jié)合至少一幅附圖進(jìn)行了充分的展現(xiàn) 和描述,并在權(quán)利要求中得到了更完整的闡述。
根據(jù)本發(fā)明的一個方面,本發(fā)明提供了一種在活動狀態(tài)功率管理過程中改 善延時的方法,所述方法包括
進(jìn)入低功率PCI-E狀態(tài);
預(yù)測將需要全功率PCI-E狀態(tài)的事務(wù);
基于所述預(yù)測到的事務(wù)轉(zhuǎn)變到全功率PCI-E狀態(tài)。
優(yōu)選地,預(yù)測所述事務(wù)包括調(diào)度一事件,其中所述事件在計時器期滿時開始。
優(yōu)選地,所述事件包括狀態(tài)更新。 優(yōu)選地,所述事件包括中斷生成。 優(yōu)選地,所述事件包括傳送統(tǒng)計值給主機。 優(yōu)選地,轉(zhuǎn)變到全功率狀態(tài)在一延時后發(fā)生。 優(yōu)選地,所述延時是基于時間的。
優(yōu)選地,預(yù)測所述事務(wù)包括 接收數(shù)據(jù)包;
驗證與所述數(shù)據(jù)包關(guān)聯(lián)的地址。優(yōu)選地,轉(zhuǎn)變到全功率PCI-E狀態(tài)在一延時后發(fā)生。 優(yōu)選地,所述延時是基于時間的。 優(yōu)選地,所述延時是基于接收到數(shù)據(jù)量的。
優(yōu)選地,所述延時是基于相對于數(shù)據(jù)包的長度接收到的數(shù)據(jù)的量的。
優(yōu)選地,所述方法包括:在轉(zhuǎn)變到全功率PCI-E狀態(tài)后校驗數(shù)據(jù)包的錯誤,
然后在非活動狀態(tài)計時器期滿后發(fā)起返回低功率(Ll)狀態(tài)的轉(zhuǎn)變。
根據(jù)本發(fā)明的一個方面,本發(fā)明還提供一種在活動狀態(tài)功率管理過程中減
少狀態(tài)轉(zhuǎn)變的方法,所述方法包括 預(yù)測一DMA事務(wù);
基于所述預(yù)測到的DMA事務(wù)重置一非活動狀態(tài)計時器。 根據(jù)本發(fā)明的另一方面,本發(fā)明提供一種在活動狀態(tài)功率管理過程中改善
延時的系統(tǒng),所述系統(tǒng)包括
具有功率管理特征的接口 ,其中所述功率管理特征包括低功率PCI-E狀態(tài)
和全功率PCI-E狀態(tài);
用于指示所述接口發(fā)起從低功率PCI-E狀態(tài)到全功率PCI-E狀態(tài)的轉(zhuǎn)變的 控制器,其中所述控制器預(yù)測對所述全功率PCI-E狀態(tài)的需求。 優(yōu)選地,所述控制器是以太網(wǎng)MAC。 優(yōu)選地,所述控制器是WLAN控制器。
優(yōu)選地,所述控制器確定在發(fā)起從低功率PCI-E狀態(tài)到全功率PCI-E狀態(tài) 的轉(zhuǎn)變之前數(shù)據(jù)包已經(jīng)通過了地址過濾。
優(yōu)選地,所述控制器在預(yù)測全功率PCI-E狀態(tài)需求和發(fā)起轉(zhuǎn)變之間產(chǎn)生一 延時。
優(yōu)選地,所述延時是基于時間的。 優(yōu)選地,所述延時是基于接收的數(shù)據(jù)量的。
優(yōu)選地,所述延時是基于相對于數(shù)據(jù)包內(nèi)的數(shù)據(jù)總量所接收的數(shù)據(jù)的量的。優(yōu)選地,所述控制器以一個或多個速度操作。
優(yōu)選地,預(yù)測全功率PCI-E狀態(tài)需求和發(fā)起轉(zhuǎn)變之間的時間根據(jù)所述控制 器的操作速度來確定。
根據(jù)本發(fā)明的一個方面,本發(fā)明提供一種在活動狀態(tài)功率管理過程中減少
狀態(tài)轉(zhuǎn)變的系統(tǒng),所述系統(tǒng)包括
具有功率管理特征的接口;
用于在預(yù)測到DMA事務(wù)時重置非活動狀態(tài)計時器的控制器。 本發(fā)明的各種優(yōu)點、各個方面和創(chuàng)新特征,以及其中所示例的實施例的細(xì) 節(jié),將在以下的描述和附圖中進(jìn)行詳細(xì)介紹。
圖1是依據(jù)本發(fā)明第一實施例的改善PCI-E LI ASPM退出延時的方法的 流程圖2是依據(jù)本發(fā)明第二實施例的改善PCI-E LI ASPM退出延時的方法的 流程廚;
圖3是依據(jù)本發(fā)明實施例的改善PCI-E LI ASPM退出延時的系統(tǒng)的示意
具體實施例方式
下面將結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步說明
本發(fā)明涉及通過基于網(wǎng)絡(luò)剌激(network stimulus)在較早的時間點前瞻性 地開始L1退出來改善PCI-E LI活動狀態(tài)功率管理(ASPM)退出延時。改善 的延時可實現(xiàn)更高級別的性能和響應(yīng)度,同時支持ASPM的好處。本發(fā)明可 嵌入在具有PCI-E接口支持ASPM的網(wǎng)絡(luò)接口控制器(NIC)內(nèi)。盡管以下的描 述將結(jié)合PCI-E接口的特定實施例來給出,還有其它很多實施例也可以使用這 些系統(tǒng)和方法。本發(fā)明還可縮減使用PCI-E接口的其它處理中的延時。
根據(jù)本發(fā)明的不同實施例,智能NIC可基于網(wǎng)絡(luò)剌激來預(yù)測比正常情況(正好在NIC必須發(fā)起DMA之前)更早地退出L1狀態(tài)的需求。換言之,本 發(fā)明使得NIC可正好在設(shè)備有待決的PCI-E事務(wù)(例如DMA讀或?qū)?準(zhǔn)備發(fā) 起之前發(fā)起從Ll到L0的轉(zhuǎn)變。根據(jù)本發(fā)明,NIC可前瞻性地發(fā)起從低功率 的Ll狀態(tài)到全功率的LO狀態(tài)的轉(zhuǎn)變。通過預(yù)測并較早地發(fā)起該轉(zhuǎn)變,可以 將部分Ll退出延時屏蔽,并且PCI-E鏈路可以更快地返回到LO狀態(tài)。更快 地回到LO狀態(tài)可以改進(jìn)支持PCI-E活動狀態(tài)功率管理的網(wǎng)絡(luò)控制器的性能和 響應(yīng)度。
從Ll封LO的轉(zhuǎn)變可由設(shè)備在其被請求發(fā)起PCI-E事務(wù)后立即開始。若 NIC接收到數(shù)據(jù)包,在DMA請求將該數(shù)據(jù)包發(fā)送給主存儲器之前,該數(shù)據(jù)包 將被全部緩存并被驗證。吉比特(以及更快的)NIC可在請求DMA之前完全 地緩存一數(shù)據(jù)包。較慢的NIC在請求DMA之前僅能緩存該數(shù)據(jù)包的一部分。
為了縮減延時,可在設(shè)備真正地具有一待決PCI-E事務(wù)之前,基于預(yù)測 (speculation)發(fā)起從Ll封LO的轉(zhuǎn)變。從Ll到LO的轉(zhuǎn)變可在NIC能夠做 出在近期極有可能需要進(jìn)行DMA請求的決定時開始。這可以提供多于10微 秒的領(lǐng)先。
圖1是根據(jù)本發(fā)明第一實施例的改善PCI-E Ll ASPM退出延時的方法的 流程圖。步驟101中,激活NIC以接收數(shù)據(jù)包。步驟103中,只要一入站數(shù) 據(jù)包的足夠部分已經(jīng)接收到,NIC就驗證該數(shù)據(jù)包是否通過地址過濾??梢酝?測該數(shù)據(jù)包是無錯的并且需要DMA到主存儲器。
步驟105中,NIC確定PCI-E接口處于何種狀態(tài)。若PCI-E接口正處于 L0狀態(tài),在步驟107中將該設(shè)備的PCI-E非活動狀態(tài)計數(shù)器重置,且NIC返 回步驟101中等待接收數(shù)據(jù)包。若PCI-E接口正處于Ll狀態(tài)且在步驟109中 發(fā)現(xiàn)該設(shè)備處于PCID3狀態(tài),NIC返回到步驟101中等待接收數(shù)據(jù)包。若PCI-E 接口處于Ll狀態(tài)且在步驟109中未發(fā)現(xiàn)該設(shè)備處于PCI D3狀態(tài),則步驟111 中NIC將發(fā)起從Ll到LO的轉(zhuǎn)變并重置PCI-E非活動狀態(tài)計時器。這正好在 整個數(shù)據(jù)包被接收到之前發(fā)生,并可允許NIC比等待DMA引擎請求一 DMA 傳輸?shù)那闆r至少提前10微秒開始從Ll到LO的轉(zhuǎn)變。
通過前瞻性地請求一較早的從Ll到LO的轉(zhuǎn)變,NIC可在實際無需做出DMA請求的情況下將總線轉(zhuǎn)換到L0狀態(tài)。若NIC最終確定該數(shù)據(jù)包是有錯 的(例如,具有FCS錯誤),則NIC可丟棄該數(shù)據(jù)包,并不發(fā)起針對該數(shù)據(jù)包 數(shù)據(jù)的DMA請求。
PCI-E規(guī)范在即使?fàn)顟B(tài)轉(zhuǎn)變并未立即引起PCI-E事務(wù)的情況下,也允許進(jìn) 行到LO的轉(zhuǎn)變。做出不必要的從LI到LO的轉(zhuǎn)變的不利結(jié)果是總線在一小段 時間內(nèi)將消耗掉稍微多一些功率。步驟113中,使用非活動狀態(tài)計時器來確定 因為非活動狀態(tài)何時設(shè)備應(yīng)該將鏈路從L0轉(zhuǎn)變回L1。步驟115中,總線因非 活動狀態(tài)而轉(zhuǎn)變回LI狀態(tài)。若不必要的LI到LO轉(zhuǎn)變的次數(shù)被保持在一個最 小值(例如小于5%〉,功耗的負(fù)面影響便可以忽略,Ll退出延時的改善將是 顯而易見且引人注目的。吉比特以太網(wǎng)上的錯誤率低于10-1()(按照規(guī)范),并 且對于大部分的媒體類型可低于10"2。因此,以太網(wǎng)上的數(shù)據(jù)包錯誤率將小于 1%。
為了防止出現(xiàn)不必要的LO到LI到LO轉(zhuǎn)變,步驟107和步驟111中,NIC 可使用相同的提前指示來比正常情況較早地重置NIC的PCI-E非活動狀態(tài)計 時器。通過在某事件發(fā)生時(例如當(dāng)接收到數(shù)據(jù)包但對該數(shù)據(jù)包的DMA準(zhǔn)備 好之前)較早地重置了該計時器,便可以避免不必要的L1轉(zhuǎn)變。步驟117中, 即使PCI-E鏈路正在LO狀態(tài)下處理網(wǎng)絡(luò)和PCI通信量,PCI-E非活動狀態(tài)計 時器也可被重置。雖然這一重置不能改善LI退出延時,但其可通過在生成 DMA事務(wù)時提早將非活動狀態(tài)計時器清零來減少不必要的LO到LI到LO轉(zhuǎn) 變。
圖2是依據(jù)本發(fā)明第二實施例的改善PCI-E LI ASPM退出延時的方法的 流程圖。
步驟201中,使用DMA事件計時器來調(diào)度DMA事件。 一旦在步驟205 中DMA事件計時器期滿,將在步驟207中啟動DMA事件。DMA事件可以 是"主機合并(hostcoalescing)"事件,用當(dāng)前硬件狀態(tài)更新主機上運行的驅(qū) 動并產(chǎn)生中斷。DMA事件還可以是傳送當(dāng)前片上統(tǒng)計計數(shù)器給主機。步驟203 中,可在DMA事件計時器期滿前開始從LI到L0的轉(zhuǎn)變。通過在DMA計時 器被設(shè)置后且計時器正好期滿之前發(fā)起LI到L0轉(zhuǎn)變,設(shè)備可被配置成LI到LO轉(zhuǎn)變正好在計時器期滿前完成,從而完全屏蔽掉了 Ll退出延時。
圖3是依據(jù)本發(fā)明實施例的改善PCI-E Ll ASPM退出延時的系統(tǒng)的示意 圖。圖3示出了吉比特以太網(wǎng)控制器300。但是,以下描述還可以適用于其它 類別的具有PCI-E總線的網(wǎng)絡(luò)設(shè)備例如WLAN設(shè)備。
MAC 301可支持1)以太網(wǎng)媒介訪問控制(MAC)功能;2)以太網(wǎng)802.3 協(xié)議;3)到物理層(PHY)的接口; 4)數(shù)據(jù)包分類;5)用于入站數(shù)據(jù)包的 錯誤檢測邏輯;和/或6)用于臨時數(shù)據(jù)包緩存的存儲器。MAC301還可包含 1)用于卸載校驗和計算的邏輯;2)用于TCP/IP或IPSEC通信量的加速器; 和/或3)其它嵌入式處理器。DMA引擎303負(fù)責(zé)發(fā)起對PCI-E核305的DMA 讀和寫請求。PCI-E核305負(fù)責(zé)在PCI-E總線上生成實際的DMA請求,支持 PCI-E協(xié)議,以及提供PCI-E目標(biāo)支持。
當(dāng)在以太網(wǎng)上接收到數(shù)據(jù)包時,數(shù)據(jù)包內(nèi)的數(shù)據(jù)具將通過芯片內(nèi)的多個模 塊。對于接收到的數(shù)據(jù)包,數(shù)據(jù)將通過網(wǎng)絡(luò)接口 307從物理層309進(jìn)入設(shè)備, 并由MAC 301進(jìn)行處理。為了便于MAC確保該數(shù)據(jù)包未含有FCS(aka CRC) 錯誤,必須接收到整個數(shù)據(jù)包。若數(shù)據(jù)包內(nèi)沒有錯誤,且該數(shù)據(jù)包是給這個系 統(tǒng)的,DMA引擎303將形成DMA請求給PCI-E核305,以穿過PCI總線311 將該數(shù)據(jù)包傳送給主存儲器。
吉比特以太網(wǎng)NIC可支持1 Gb/s的操作,也支持較低速度例如lOOmb和 10mb的操作。當(dāng)以較低網(wǎng)速運行時,入站網(wǎng)絡(luò)數(shù)據(jù)包的到達(dá)也會慢些。以 lOOmb的速度接收最大大小的以太網(wǎng)(1518B)數(shù)據(jù)包所需的時間,大約是122 微秒,這一時間將大于Ll退出延時。在Ll狀態(tài)下PLL掉電未激活的情況下, Ll退出延時將大于10微秒但小于64微秒。但是,若PLL掉電被激活,Ll 退出延時將大于100微秒。因此,當(dāng)運行在10mb或lOOmb的速度下且在Ll 狀態(tài)下接收數(shù)據(jù)包時,可能期望在對應(yīng)于入站接收數(shù)據(jù)包內(nèi)較晚一點的時間點 發(fā)起L1到L0轉(zhuǎn)變。例如,假設(shè)運行在lOOmb速度下的設(shè)備接收最大大小的 1518B以太網(wǎng)數(shù)據(jù)包。該最大大小的入站數(shù)據(jù)包完全到達(dá)所需的時間(例如, 約120微秒)將超過L1退出延時(即,若PLL掉電被激活)。因此,最好不 在數(shù)據(jù)包的MAC報頭剛好到達(dá)之后發(fā)起Ll到LO轉(zhuǎn)變,而是在數(shù)據(jù)包內(nèi)某個稍晚的點(例如IOOOB)。這樣可使得PCI-E接口不會過早地轉(zhuǎn)變到LO—定時 間段。因此,這一特征的優(yōu)選實施包括使NIC的軟件驅(qū)動器從NIC已確定入 站數(shù)據(jù)包通過了地址過濾的時間點開始到NIC應(yīng)該發(fā)起Ll到LO轉(zhuǎn)變的時間 點配置一延遲因子的特征。該延遲因子可以是基于時間的(例如微秒),也可 以是基于針對特定數(shù)據(jù)包所接收到的數(shù)據(jù)量的。軟件驅(qū)動器可使用各種標(biāo)準(zhǔn), 例如網(wǎng)絡(luò)速度,PLL掉電是否激活或未激活,以及特定系統(tǒng)上的預(yù)期設(shè)備Ll 退出延時,作為確定該延遲因子的標(biāo)準(zhǔn)。
為了支持較早的Ll到LO轉(zhuǎn)變,從MAC 301發(fā)送給PCI-E核305的信號 指示PCI-E核發(fā)起Ll到LO轉(zhuǎn)變。這一信號可被邊緣觸發(fā),MAC可在其想要 指示PCI-E核進(jìn)入LO時生成一脈沖。出于調(diào)試和診斷的目的,軟件可激活或 禁用這一信號的使用。這可通過設(shè)備專用寄存器比特(其可通過設(shè)備驅(qū)動器來 配置)來完成。
PCI-E核305包含有邏輯以識別該信號上的脈沖。如果在設(shè)備級上已經(jīng)激 活了上述特征,且該設(shè)備處于丄l ASPM狀態(tài)和DO設(shè)備狀態(tài),PCI-E核305 將在其識別出該信號斷言時(即在其檢測到該信號的上升邊緣時)發(fā)起L1到 LO轉(zhuǎn)變。 一旦已經(jīng)轉(zhuǎn)變到LO, PCI-E核305將重置PCI-E非活動狀態(tài)計時器, 以便總線上一段時間內(nèi)沒有活動時,設(shè)備將發(fā)起轉(zhuǎn)變回到L1。若設(shè)備處于D3 狀態(tài),這一信號將被PCI-E核完全忽略。若設(shè)備不處于L1 ASPM狀態(tài)而處于 LO狀態(tài)時,設(shè)備將在其檢測到該信號上的脈沖時立即重置其PCI-E非活動狀 態(tài)計時器。若在較早指示信號被斷言時非活動狀態(tài)計時器接近期滿,這可以提 供消除可能的不必要的LO到Ll到LO轉(zhuǎn)變的好處。
為了支持因數(shù)據(jù)包接收的較早Ll到LO轉(zhuǎn)變,MAC 301可包括有邏輯, 以允許MAC 301在給PCI-E核305的信號上產(chǎn)生脈沖,以告訴PCI-E核305 在MAC301確定入站數(shù)據(jù)包已經(jīng)通過地址過濾之后立即開始Ll到LO轉(zhuǎn)變。
可增加"較早Ll退出延遲"寄存器,通過軟件對其進(jìn)行配置以延遲從 MAC 301給到PCI-E核305的脈沖n微秒,或直到數(shù)據(jù)包的n個字節(jié)已經(jīng)收 到。在1Gb網(wǎng)絡(luò)環(huán)境下,該寄存器正常情況下將被設(shè)為"0"(即沒有額外的 延遲),但是若網(wǎng)絡(luò)速度較慢(例如lOOmb),將使用一延遲值,以便在DMA寫該數(shù)據(jù)包被發(fā)布之前生成較早的Ll退出脈沖,并從而縮減Ll退出延時。 通過使用該延遲值,脈沖不會像在數(shù)據(jù)包第一次通過地址過濾時一樣早,因為 那樣會導(dǎo)致Ll到LO轉(zhuǎn)變,若PLL掉電未被激活的情況下這一轉(zhuǎn)變?yōu)闀r過早。 使用"n個字節(jié)"的方法對10/100半雙工網(wǎng)絡(luò)的好處在于,軟件可將延遲閾值 設(shè)置在沖突窗口 (例如數(shù)據(jù)包內(nèi)的頭64B〉之外。
該延遲值與數(shù)據(jù)包的長度相關(guān)。數(shù)據(jù)包的長度可通過硬件檢查以太網(wǎng)報頭 內(nèi)的typ/len字段和/或未分段IP包的IP報頭內(nèi)的IP len字段來確定。
NIC可具有計時器以在計時器期滿時促使生成DMA。該計時器的例子包 括用于聚合中斷事件的計時器,用于聚合狀態(tài)模塊更新事件的計時器,或用于 生成片上統(tǒng)計值的周期性DMA給主機的計時器。對何時特定計時器將會期滿 進(jìn)行預(yù)測是可能的。為了支持因預(yù)期的計時器近期屆滿而引起的較早Ll到LO 轉(zhuǎn)變,可修改MAC301內(nèi)的控制邏輯,以在計時器期滿前達(dá)到一編程的閾值 時生成"較早Ll退出脈沖"。例如,可增加一個或多個寄存器,使得軟件驅(qū) 動器能夠配置設(shè)備,以在特定計數(shù)器期滿前n微秒啟動內(nèi)部Ll退出信號。例 如,對于正常情況下每秒期滿的統(tǒng)計值模塊更新計時器,若n等于30,設(shè)備 將在準(zhǔn)備發(fā)布統(tǒng)計值模塊更新DMA之前30微秒發(fā)起Ll到LO轉(zhuǎn)變。若該設(shè) 備處于L1ASPM狀態(tài),這將屏蔽掉30微秒的L1退出延時。若PCI-E鏈路處 于LO狀態(tài),將重置PCI-E非活動狀態(tài)計時器以防止在計時器期滿前發(fā)生不必 要的LO到Ll轉(zhuǎn)變。
若設(shè)備處于LO狀態(tài)且其PCI-E非活動狀態(tài)計時器接近期滿,較早進(jìn)行Ll 到LO轉(zhuǎn)變的信號斷言將使得PCI-E非活動狀態(tài)計時器立即重置,進(jìn)而防止近 期的LO到Ll轉(zhuǎn)變。當(dāng)在前瞻性的較早指示表明DMA將會發(fā)生之后實際的 DMA發(fā)生時,該非活動狀態(tài)計時器可再次被重置。
若設(shè)備處于D3狀態(tài)且WoL使能,并且該設(shè)備接收到數(shù)據(jù)包,Ll到LO 轉(zhuǎn)變不會僅僅因為該設(shè)備接收到數(shù)據(jù)包便被發(fā)起。在D3狀態(tài)下,PCI-E核內(nèi) 的較早Ll退出特征被禁用。若設(shè)備收到了 WoL數(shù)據(jù)包,其可斷言WAKE# 信號,該信號喚醒系統(tǒng)并使PCI-E接口重置。
本發(fā)明可以通過硬件、軟件,或者軟、硬件結(jié)合來實現(xiàn)。本發(fā)明可以在至少一個計算機系統(tǒng)中以集中方式實現(xiàn),或者由分布在幾個互連的計算機系統(tǒng)中 的不同部分以分散方式實現(xiàn)。任何可以實現(xiàn)所述方法的計算機系統(tǒng)或其它設(shè)備 都是可適用的。常用軟硬件的結(jié)合可以是安裝有計算機程序的通用計算機系 統(tǒng),通過安裝和執(zhí)行所述程序控制計算機系統(tǒng),使其按所述方法運行。在計算 機系統(tǒng)中,利用處理器和存儲單元來實現(xiàn)所述方法。
本發(fā)明還可以通過計算機程序產(chǎn)品進(jìn)行實施,所述程序包含能夠?qū)崿F(xiàn)本發(fā) 明方法的全部特征,當(dāng)其安裝到計算機系統(tǒng)中時,通過運行,可以實現(xiàn)本發(fā)明 的方法。本文件中的計算機程序所指的是可以采用任何程序語言、代碼或符 號編寫的一組指令的任何表達(dá)式,該指令組使系統(tǒng)具有信息處理能力,以直接 實現(xiàn)特定功能,或在進(jìn)行下述一個或兩個步驟之后實現(xiàn)特定功能a)轉(zhuǎn)換成其 它語言、編碼或符號;b)以不同的格式再現(xiàn)。
本發(fā)明是通過幾個具體實施例進(jìn)行說明的,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,在 不脫離本發(fā)明范圍的情況下,還可以對本發(fā)明進(jìn)行各種變換及等同替代。另夕卜, 針對特定情形或具體情況,可以對本發(fā)明做各種修改,而不脫離本發(fā)明的范圍。 因此,本發(fā)明不局限于所公開的具體實施例,而應(yīng)當(dāng)包括落入本發(fā)明權(quán)利要求 范圍內(nèi)的全部實施方式。
權(quán)利要求
1、一種在活動狀態(tài)功率管理過程中改善延時的方法,其特征在于,所述方法包括進(jìn)入低功率PCI-E狀態(tài);預(yù)測將需要全功率PCI-E狀態(tài)的事務(wù);基于所述預(yù)測到的事務(wù)轉(zhuǎn)變到全功率PCI-E狀態(tài)。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,預(yù)測所述事務(wù)包括調(diào)度一事件,其中所述事件在計時器期滿時開始。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述事件包括狀態(tài)更新。
4、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述事件包括中斷生成。
5、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述事件包括傳送統(tǒng)計值 給主機。
6、 一種在活動狀態(tài)功率管理過程中減少狀態(tài)轉(zhuǎn)變的方法,其特征在于, 所述方法包括預(yù)測一 DMA事務(wù);基于所述預(yù)測到的DMA事務(wù)重置一非活動狀態(tài)計時器。
7、 一種在活動狀態(tài)功率管理過程中改善延時的系統(tǒng),其特征在于,所述 系統(tǒng)包括具有功率管理特征的接口 ,其中所述功率管理特征包括低功率PCI-E狀態(tài)和全功率PCI-E狀態(tài);用于指示所述接口發(fā)起從低功率PCI-E狀態(tài)到全功率PCI-E狀態(tài)的轉(zhuǎn)變的 控制器,其中所述控制器預(yù)測對所述全功率PCI-E狀態(tài)的需求。
8、 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述控制器是以太網(wǎng)MAC。
9、 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述控制器是WLAN控制益。
10、 一種在活動狀態(tài)功率管理過程中減少狀態(tài)轉(zhuǎn)變的系統(tǒng),其特征在于,所述系統(tǒng)包括具有功率管理特征的接口;用于在預(yù)測到DMA事務(wù)時重置非活動狀態(tài)計時器的控制器。
全文摘要
本發(fā)明涉及在活動狀態(tài)功率管理過程中改善延時及減少狀態(tài)轉(zhuǎn)變的方法和系統(tǒng)。通過基于網(wǎng)絡(luò)刺激在較早的時間點前瞻性地開始L1退出來改善PCI-EL1活動狀態(tài)功率管理(ASPM)退出延時。改善的延時可實現(xiàn)更高級別的性能和響應(yīng)度,同時支持ASPM的好處。本發(fā)明可通過縮減使用PCI-E接口的處理過程中的延時來最小化操作成本。本發(fā)明可嵌入在網(wǎng)絡(luò)接口控制器(NIC)或任何其它具有支持ASPM的PCI-E接口的設(shè)備內(nèi)。
文檔編號G06F1/32GK101420308SQ20081016965
公開日2009年4月29日 申請日期2008年10月7日 優(yōu)先權(quán)日2007年10月11日
發(fā)明者斯蒂文·B·林賽 申請人:美國博通公司