專利名稱:Pci快速通道設(shè)備、鏈路能量管理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù),尤其涉及一種PCI快速通道設(shè)備、鏈路能量管理方法及系統(tǒng)。
背景技術(shù):
夕卜部設(shè)備互連快速通道(Peripheral Component Interconnect Express,簡稱 PCI快速通道)為PCI快速通道設(shè)備提供一種高速的點到點串行通信鏈路,PCI快速通道在為多媒體、高速局域網(wǎng)等數(shù)據(jù)密集型應(yīng)用提供足夠帶寬的同時也面臨著鏈路中的能量管理問題。PCI快速通道鏈路中的功耗隨著鏈路帶寬的增大而增大,而鏈路帶寬與鏈路的傳輸速率和位寬相關(guān),在鏈路中業(yè)務(wù)流量較小時,不需要高帶寬時,可以通過降低鏈路的傳輸速率或位寬來降低鏈路的帶寬,從而降低鏈路的功耗,當(dāng)鏈路中業(yè)務(wù)流量增大時,再通過提高鏈路的傳輸速率或位寬來提高鏈路的帶寬以滿足鏈路的業(yè)務(wù)需求。因此,通過調(diào)整鏈路的速率和/或位寬可以實現(xiàn)鏈路的能量管理?,F(xiàn)有技術(shù)中,PCI快速通道設(shè)備可以根據(jù)鏈路中業(yè)務(wù)量大小控制物理層狀態(tài)機遷移,通過控制物理層狀態(tài)機的遷移對PCI快速通道鏈路的速率或位寬進行調(diào)整,從而實現(xiàn)根據(jù)業(yè)務(wù)量大小進行鏈路的能量管理。具體來說,當(dāng)鏈路中的業(yè)務(wù)量變化時,PCI快速通道設(shè)備控制其物理層狀態(tài)機從正常工作狀態(tài)進入恢復(fù)狀態(tài), 即中斷當(dāng)前鏈路中的數(shù)據(jù)收發(fā),再進入配置狀態(tài),在配置狀態(tài),PCI快速通道設(shè)備可通過調(diào)整鏈路的速率或位寬的方式獲得需要的帶寬,從而實現(xiàn)對PCI快速通道鏈路的能量管理。但是,上述PCI快速通道鏈路的能量管理過程中,物理層狀態(tài)機從正常工作狀態(tài)進入恢復(fù)狀態(tài)時,PCI快速通道設(shè)備中斷了當(dāng)前鏈路中正在進行的數(shù)據(jù)收發(fā),從而導(dǎo)致正在收發(fā)的數(shù)據(jù)丟失。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種PCI快速通道設(shè)備、鏈路能量管理方法及系統(tǒng),用以解決上述PCI快速通道鏈路能量管理過程中易導(dǎo)致傳輸數(shù)據(jù)丟失的問題。為實現(xiàn)上述目的,本發(fā)明實施例提供一種PCI快速通道鏈路能量管理方法,包括第一設(shè)備獲取對PCI快速通道鏈路當(dāng)前的速率和/或位寬進行調(diào)整處理的調(diào)整信息;所述第一設(shè)備停止數(shù)據(jù)發(fā)送,并清除鏈路對端第二設(shè)備的配置空間命令寄存器的主設(shè)備使能位,以使所述第二設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送;所述第一設(shè)備根據(jù)所述調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理;所述第一設(shè)備恢復(fù)數(shù)據(jù)發(fā)送,并重新對所述主設(shè)備使能位置位,以使所述第一設(shè)備和第二設(shè)備以調(diào)整處理后的速率和/或位寬重新收發(fā)數(shù)據(jù)。本發(fā)明實施例還提供一種PCI快速通道設(shè)備,包括獲取模塊,用于獲取對PCI快速通道鏈路當(dāng)前的速率和/或位寬進行調(diào)整處理的調(diào)整信息;控制模塊,用于停止所述PCI快速通道設(shè)備的數(shù)據(jù)發(fā)送,并清除鏈路對端設(shè)備的配置空間命令寄存器的主設(shè)備使能位,以使所述對端設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送;還用于在鏈路的速率和/或位寬調(diào)整處理之后恢復(fù)所述PCI快速通道設(shè)備的數(shù)據(jù)發(fā)送,并重新對所述主設(shè)備使能位置位,以使所述PCI快速通道設(shè)備和對端設(shè)備以調(diào)整處理后的速率和/或位寬重新收發(fā)數(shù)據(jù);處理模塊,用于根據(jù)所述調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理。本發(fā)明實施例還提供一種PCI快速通道鏈路能量管理系統(tǒng),包括相互收發(fā)數(shù)據(jù)的第一設(shè)備和第二設(shè)備,所述第一設(shè)備為上述的PCI快速通道設(shè)備,所述第二設(shè)備為PCI快速通道的端點設(shè)備或PCI快速通道的交換機的上行接口處的設(shè)備。由上述技術(shù)方案可知,PCI快速通道設(shè)備通過動態(tài)調(diào)整鏈路的速率和/或位寬實現(xiàn)對鏈路的能量管理;而且在對鏈路的速率和/或位寬調(diào)整之前,通過先清除鏈路對端設(shè)備的配置空間命令寄存器的主設(shè)備使能位,以使鏈路對端設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送,保證鏈路中正在收發(fā)的數(shù)據(jù)不會因鏈路調(diào)整而丟失,從而保證鏈路調(diào)整不影響鏈路的業(yè)務(wù)。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明PCI快速通道鏈路能量管理方法一個實施例的流程圖;圖2為本發(fā)明PCI快速通道鏈路能量管理方法另一個實施例的部分流程圖;圖3為本發(fā)明實施例中第一設(shè)備運行過程中對鏈路進行能量管理的詳細流程圖;圖4為本發(fā)明PCI快速通道設(shè)備一個實施例的結(jié)構(gòu)示意圖;圖5為本發(fā)明PCI快速通道設(shè)備另一實施例的結(jié)構(gòu)示意圖;圖6為本發(fā)明PCI快速通道鏈路能量管理系統(tǒng)實施例的結(jié)構(gòu)示意圖;圖7為本發(fā)明實施例應(yīng)用于PCI快速通道系統(tǒng)中的實例圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。圖1為本發(fā)明PCI快速通道鏈路能量管理方法一個實施例的流程圖,如圖1所示, 本實施例的方法包括步驟101、第一設(shè)備獲取對PCI快速通道鏈路當(dāng)前的速率和/或位寬進行調(diào)整處理的調(diào)整信息。本實施例中,第一設(shè)備和第二設(shè)備為通過PCI快速通道鏈路進行彼此收發(fā)數(shù)據(jù)的
6PCI快速通道設(shè)備。第一設(shè)備可以為PCI快速通道的根聯(lián)合體設(shè)備(Root Complex)或PCI 快速通道的交換機(Switch)的下行接口處的設(shè)備,第二設(shè)備可以為PCI快速通道的端點設(shè)備(Endpoint)或PCI快速通道的交換機的上行接口處的設(shè)備。當(dāng)需要對鏈路當(dāng)前的數(shù)據(jù)傳輸速率、位寬等進行調(diào)整時,第一設(shè)備可以根據(jù)獲取的對PCI快速通道鏈路當(dāng)前的速率和/ 或位寬進行調(diào)整處理的調(diào)整信息采取相應(yīng)的措施對鏈路進行調(diào)整處理。實際應(yīng)用中,第一設(shè)備獲取的調(diào)整信息可以為第一設(shè)備通過檢測鏈路參數(shù)、工作狀態(tài)等后觸發(fā)生成的信息,也可以為獲取的對鏈路進行調(diào)整的配置信息,如用戶設(shè)置的對鏈路進行調(diào)整的信息。因為PCI快速通道鏈路中的業(yè)務(wù)流量是隨著PCI快速通道設(shè)備的業(yè)務(wù)需求而動態(tài)變化的,例如,電信設(shè)備的業(yè)務(wù)流量在每天的凌晨是很小的,若采用和白天一樣的通信帶寬,則能量消耗是非常大的;而當(dāng)業(yè)務(wù)繁忙時,若通信鏈路的帶寬不足,則影響通信業(yè)務(wù),所以,PCI快速通道設(shè)備應(yīng)能隨著鏈路中業(yè)務(wù)流量的變化而動態(tài)地調(diào)整鏈路的帶寬。具體地,PCI快速通道設(shè)備可以通過檢測鏈路的流量等來控制生成調(diào)整信息。步驟102、所述第一設(shè)備停止數(shù)據(jù)發(fā)送,并清除鏈路對端第二設(shè)備的配置空間命令寄存器的主設(shè)備使能位,以使所述第二設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送。第一設(shè)備在獲取調(diào)整信息后首先主動停止本端的數(shù)據(jù)發(fā)送,同時,通過清除PCI 快速通道鏈路對端第二設(shè)備的主設(shè)備使能位,使第二設(shè)備在將當(dāng)前正在發(fā)送的數(shù)據(jù)包發(fā)送結(jié)束后停止發(fā)送新的數(shù)據(jù),當(dāng)?shù)谝辉O(shè)備和第二設(shè)備都停止數(shù)據(jù)發(fā)送后鏈路中沒有數(shù)據(jù)收發(fā),第一設(shè)備就可以對鏈路進行需要的調(diào)整。本實施例中的主設(shè)備使能位為第二設(shè)備的配置空間中在偏移地址04處的16位命令寄存器中的bit2位(master enable),該master enable位表示這個PCI快速通道設(shè)備能否作為主設(shè)備向外發(fā)送數(shù)據(jù)。當(dāng)它為1時,設(shè)備可以主動向PCI快速通道鏈路上發(fā)送數(shù)據(jù);當(dāng)它為0時,設(shè)備不能主動發(fā)送數(shù)據(jù),只能被動地接受其他設(shè)備對自己的訪問。以以太網(wǎng)控制器之類的PCI快速通道設(shè)備為例進行說明,該以太網(wǎng)控制器一側(cè)連接PCI快速通道鏈路,另一側(cè)連接以太網(wǎng)鏈路,通過該以太網(wǎng)控制器可以實現(xiàn)以太網(wǎng)和PCI快速通道之間數(shù)據(jù)的傳輸,如將從以太網(wǎng)上接收的數(shù)據(jù)報文轉(zhuǎn)發(fā)到 PCI快速通道鏈路上。當(dāng)該以太網(wǎng)控制器的master enable位清零后,它在PCI快速通道一側(cè)將不會主動向PCI快速通道鏈路發(fā)送數(shù)據(jù),包括數(shù)據(jù)報文和消息報文,同時它會向以太網(wǎng)鏈路一側(cè)發(fā)送流控報文,要求對方設(shè)備暫時不要向自己發(fā)送數(shù)據(jù),可以有兩種方式一種是Xon、Xoff機制,用流控報文的某個參數(shù)表示允許發(fā)送和禁止發(fā)送,另一種是耗盡機制, 用流控報文中的某個參數(shù)表示對方設(shè)備需要等待多長時間,超時后可以繼續(xù)發(fā)送。本實施例通過第一設(shè)備設(shè)置第二設(shè)備的master enable位來控制第二設(shè)備的數(shù)據(jù)發(fā)送,當(dāng)需要停止第二設(shè)備向自己發(fā)送數(shù)據(jù)時,可以對第二設(shè)備的master enable位進行清零,第二設(shè)備在 master enable位清零后會主動停止向PCI快速通道鏈路發(fā)送數(shù)據(jù),從而實現(xiàn)第二設(shè)備停止向第一設(shè)備發(fā)送數(shù)據(jù)。具體應(yīng)用中,第一設(shè)備在清除鏈路對端第二設(shè)備的主設(shè)備使能位后可以等待預(yù)定的一段時間,以使第二設(shè)備將當(dāng)前的數(shù)據(jù)報文發(fā)送完畢再對鏈路進行調(diào)整。具體為,第一設(shè)備在清除鏈路對端第二設(shè)備的配置空間命令寄存器的主設(shè)備使能位后等待預(yù)定的時間生成停止信息,等待預(yù)定的時間可以根據(jù)PCI快速通道規(guī)范定義的最大報文長度和鏈路當(dāng)前的發(fā)送速率估算出,該等待時間一般不會超過1毫秒;或者第一設(shè)備在獲取接收的所述第二設(shè)備發(fā)送的當(dāng)前數(shù)據(jù)報文結(jié)束標志后生成停止信息;第一設(shè)備根據(jù)該停止信息再啟動對鏈路的速率和/或位寬進行調(diào)整處理。步驟103、所述第一設(shè)備根據(jù)所述調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理。當(dāng)PCI快速通道鏈路兩端的設(shè)備都停止數(shù)據(jù)收發(fā)后,第一設(shè)備可以根據(jù)上述獲取的調(diào)整信息對鏈路的速率、位寬等進行調(diào)整。如鏈路中業(yè)務(wù)流量較小時通過降低鏈路的傳輸速率或位寬或者同時降低鏈路的速率和位寬以節(jié)省鏈路的功耗;當(dāng)鏈路中業(yè)務(wù)流量較大時通過提高鏈路的傳輸速率或位寬或者同時提高鏈路的速率和位寬以滿足鏈路傳輸?shù)臉I(yè)務(wù)需求。PCI快速通道設(shè)備依照PCI快速通道規(guī)范定義,配置有多種控制和狀態(tài)寄存器, 通過設(shè)置寄存器的使能位值可以使設(shè)備執(zhí)行或不執(zhí)行相應(yīng)的功能或者獲取某些狀態(tài)值, 本發(fā)明實施例中主要涉及的寄存器有鏈路控制(link control)寄存器、鏈路狀態(tài)(link status)寄存器、鏈路控制第二(link control 2)寄存器等,其中,鏈路控制寄存器的 bit5 (retrain link)為觸發(fā)鏈路兩端重新協(xié)商的使能位,鏈路狀態(tài)寄存器的bitll (link training)中存儲著表示鏈路是否協(xié)商完成的鏈路協(xié)商狀態(tài)值,鏈路狀態(tài)寄存器的bit3_0 中存儲著鏈路當(dāng)前的傳輸速率值,鏈路狀態(tài)寄存器的bit9-4中存儲著鏈路當(dāng)前的位寬,鏈路控制第二寄存器的bit3-0中可以設(shè)置期望調(diào)整的鏈路速率值。另外,不同芯片商家也可以根據(jù)特定的需要在其芯片產(chǎn)品中自定義擴展一些寄存器的功能。具體實施中,第一設(shè)備在對鏈路的速率和/或位寬調(diào)整處理后,還可以啟動與第二設(shè)備重新協(xié)商,以使第一設(shè)備和第二設(shè)備將收發(fā)數(shù)據(jù)的速率和/或位寬調(diào)整到調(diào)整處理后的鏈路的速率和/或位寬,保證兩端收發(fā)數(shù)據(jù)的速率和位寬與第一設(shè)備調(diào)整后的鏈路的速率和位寬匹配,第一設(shè)備在兩端設(shè)備重新協(xié)商完畢并確認協(xié)商完成后再恢復(fù)鏈路兩端的數(shù)據(jù)收發(fā)。具體來說,當(dāng)PCI快速通道設(shè)備對鏈路調(diào)整處理后若鏈路控制寄存器的bit5位為1,則PCI快速通道設(shè)備將會啟動與鏈路對端設(shè)備重新協(xié)商,重新協(xié)商之后,PCI快速通道設(shè)備通過鏈路狀態(tài)寄存器的bitll確認協(xié)商完成,由于每次PCI快速通道設(shè)備對鏈路的速率和/或位寬調(diào)整后,會根據(jù)該調(diào)整更新鏈路狀態(tài)寄存器的bit3-0和bit9-4中對應(yīng)的速率和位寬,因此,PCI快速通道設(shè)備還可以通過鏈路狀態(tài)寄存器的bit3-0和bit9-4確認協(xié)商完成后的速率和位寬是否與期望的一致,確認重新協(xié)商完成之后,第一設(shè)備即可以鏈路狀態(tài)寄存器的bit3-0和bit9-4對應(yīng)的速率和位寬重新收發(fā)數(shù)據(jù)。本步驟中,第一設(shè)備可以根據(jù)上述獲取的調(diào)整信息對鏈路的速率進行調(diào)整、也可以對鏈路的位寬進行調(diào)整,還可以對鏈路的速率和位寬同時調(diào)整??蛇x地,當(dāng)對鏈路的速率進行調(diào)整時,第一設(shè)備可以通過直接設(shè)置期望的鏈路速率來調(diào)整。具體來說,若上述獲取的調(diào)整信息為將鏈路當(dāng)前的速率降低到或者提高到某一鏈路速率,則所述第一設(shè)備可以將該鏈路速率寫入linkcontrol 2寄存器的bit3_0中;從而當(dāng)?shù)谝辉O(shè)備對鏈路當(dāng)前的速率進行調(diào)整時,可以根據(jù)link control 2寄存器的bit3_0 中寫入的速率值對鏈路當(dāng)前的速率進行調(diào)整處理??蛇x地,當(dāng)對鏈路的位寬進行調(diào)整時,第一設(shè)備可以通過設(shè)置接口鏈路的通道禁止功能對鏈路的位寬進行調(diào)整。具體來說,若上述獲取的調(diào)整信息為將鏈路當(dāng)前的位寬降低到某一鏈路位寬,則所述第一設(shè)備通過關(guān)閉該鏈路位寬與該鏈路位寬的上一級鏈路位寬之間任意的接口鏈路通道對鏈路當(dāng)前的位寬進行調(diào)整處理。以鏈路最初的位寬是x8(定
8義為laneO-7)為例進行說明,當(dāng)希望將鏈路位寬調(diào)整到x4時,只需要關(guān)閉lane4-7中的任何一個;如果希望調(diào)整到2,則需要關(guān)閉lane2、3中的任何一個;如果希望調(diào)整到1,關(guān)閉 Ianel即可。對于最初位寬是32、16、4、2等情形,配置操作方法類似。若所述調(diào)整信息為將鏈路當(dāng)前的位寬提高到某一鏈路位寬,則所述第一設(shè)備通過開啟該鏈路位寬對應(yīng)的所有接口鏈路通道對鏈路當(dāng)前的位寬進行調(diào)整處理。例如需要將當(dāng)前的位寬x4的位寬恢復(fù)到 x8,則必須將lane4-7全部使能;如果將Xl的位寬恢復(fù)到x8,必須將lanel-7全部使能。通過這種方式實現(xiàn)的鏈路位寬調(diào)整是基于多數(shù)PCI快速通道設(shè)備一般不具有動態(tài)調(diào)整位寬的功能,但一般都提供了接口鏈路的某個通道(lane)的使能功能,本發(fā)明實施例通過利用 lane的這個功能通過關(guān)閉lane來模擬某個鏈路的故障,由于PCI快速通道設(shè)備檢測到鏈路故障時主動觸發(fā)設(shè)備與對端設(shè)備進行重新協(xié)商(retrain),重新確定鏈路的位寬,以將故障鏈路屏蔽掉,從而獲取一個較小的位寬;而需要將鏈路位寬增大時,可以將先前屏蔽掉的 lane重新使能開啟,再主動觸發(fā)設(shè)備與對端設(shè)備進行重新協(xié)商,重新確定鏈路的位寬,以獲取一個較大的位寬,從而使不具有位寬調(diào)整功能的設(shè)備可以通過控制接口鏈路lane的使能功能來實現(xiàn)對鏈路的位寬調(diào)整,即在不具有位寬調(diào)整功能的設(shè)備上實現(xiàn)通過位寬調(diào)整來完成鏈路的能量管理。而且,由于PCI快速通道支持多種位寬,例如某個鏈路中可以選擇1、 2、4、8、16、32個lane,即該鏈路支持xl、x2、x4、x8、xl6、x32的位寬,在使用中可以根據(jù)應(yīng)用靈活配置,因此通過設(shè)置接口鏈路的通道禁止功能調(diào)整鏈路的位寬以對鏈路的能量管理具有更加的靈活性。可選地,對鏈路的位寬的調(diào)整還可以通過第一設(shè)備直接設(shè)置期望的位寬來調(diào)整, 具體來說,若上述獲取的調(diào)整信息為將鏈路當(dāng)前的位寬降低到或提高到某一期望調(diào)整到的鏈路位寬,則所述第一設(shè)備通過將鏈路當(dāng)前的位寬設(shè)定到該期望的鏈路位寬來對鏈路當(dāng)前的位寬進行調(diào)整處理,具體應(yīng)用中可根據(jù)上述對速率的調(diào)整類似的方法實現(xiàn)。步驟104、所述第一設(shè)備恢復(fù)數(shù)據(jù)發(fā)送,并重新對所述主設(shè)備使能位置位,以使所述第一設(shè)備和第二設(shè)備以調(diào)整處理后的速率和/或位寬重新收發(fā)數(shù)據(jù)。當(dāng)上述對鏈路的調(diào)整處理結(jié)束后,需要及時恢復(fù)鏈路中的數(shù)據(jù)收發(fā),對于本端, 第一設(shè)備可以主動啟動向鏈路上發(fā)送數(shù)據(jù),對于鏈路對端,第一設(shè)備通過對第二設(shè)備的 master enable位進行置位使其重新向鏈路發(fā)送數(shù)據(jù)。當(dāng)鏈路兩端以調(diào)整處理后的速率和 /或位寬恢復(fù)數(shù)據(jù)收發(fā)后即完成了一次鏈路的調(diào)整,若鏈路中的速率和/或位寬需要隨鏈路中的業(yè)務(wù)流量動態(tài)調(diào)整,則重復(fù)上述步驟即可。本實施例中,第一設(shè)備在獲取對鏈路進行調(diào)整的調(diào)整信息后,并非是直接中斷兩端的數(shù)據(jù)收發(fā),而是對鏈路中正在進行的數(shù)據(jù)收發(fā)采用相應(yīng)的保護措施,避免正在收發(fā)的數(shù)據(jù)丟失。因為,PCI快速通道鏈路兩端在正常運行時,PCI快速通道鏈路上都會有數(shù)據(jù)收發(fā),若鏈路設(shè)備不做保護就調(diào)整速率或位寬,而鏈路設(shè)備的上層如軟件層或器件核心層仍有數(shù)據(jù)在不斷地發(fā)送,則必然會造成數(shù)據(jù)的丟失,因此需要先將上層的數(shù)據(jù)發(fā)送暫停,然后啟動鏈路的調(diào)整重新協(xié)商,完成以后再恢復(fù)數(shù)據(jù)的發(fā)送,從而避免鏈路底層的操作對業(yè)務(wù)帶來影響。本實施例中主動發(fā)起調(diào)整的鏈路第一設(shè)備通過主動停止本端數(shù)據(jù)發(fā)送,并通過清除鏈路對端第二設(shè)備配置空間命令寄存器的master enable位控制對端設(shè)備將當(dāng)前正在發(fā)送的數(shù)據(jù)發(fā)送完畢后停止數(shù)據(jù)發(fā)送,一方面讓對端設(shè)備控制其上層通知通過該對端設(shè)備向PCI快速通道鏈路發(fā)送數(shù)據(jù)的其他設(shè)備暫停向自己發(fā)送數(shù)據(jù),另一方面讓對端設(shè)備將當(dāng)前向PCI快速通道鏈路發(fā)送的數(shù)據(jù)包發(fā)送完畢后停止發(fā)送新的數(shù)據(jù)包,從而使第一設(shè)備在鏈路兩端都停止數(shù)據(jù)發(fā)送后再對鏈路進行調(diào)整,保證對鏈路的調(diào)整不影響業(yè)務(wù)本發(fā)明實施例通過調(diào)整鏈路的速率和/或位寬可實現(xiàn)對鏈路的能量管理;而且在對鏈路的速率和/或位寬調(diào)整之前,通過先清除鏈路對端設(shè)備的配置空間命令寄存器的主設(shè)備使能位,以使鏈路對端設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送,保證鏈路中正在傳輸?shù)臄?shù)據(jù)不會因鏈路調(diào)整而丟失,從而保證鏈路調(diào)整不影響鏈路的業(yè)務(wù);進一步地,通過設(shè)置接口鏈路的lane的使能功能來模擬鏈路故障,從而在不具有位寬調(diào)整功能的設(shè)備上實現(xiàn)鏈路的位寬調(diào)整,有利于對鏈路的能量管理中采用更加靈活的位寬調(diào)整的方式。在上述實施例中,第一設(shè)備在獲取對鏈路進行調(diào)整的調(diào)整信息之前,還可以進一步包括第一設(shè)備根據(jù)檢測判斷當(dāng)前的鏈路狀態(tài)確定能否對速率或位寬進行調(diào)整,以及滿足什么條件才對鏈路的速率或位寬進行調(diào)整的操作過程。圖2為本發(fā)明PCI快速通道鏈路能量管理方法另一個實施例的部分流程圖,如圖 2所示,在上述圖1所示的步驟101之前,本實施例的方法還可以包括步驟201、第一設(shè)備從鏈路狀態(tài)寄存器中讀取鏈路當(dāng)前的速率和位寬。步驟202、根據(jù)鏈路能夠傳輸?shù)乃俾屎臀粚捯约版溌樊?dāng)前的速率和位寬確定對鏈路當(dāng)前的速率和/或位寬進行調(diào)整處理。第一設(shè)備在運行中,可以從鏈路狀態(tài)寄存器的bit3-0和bit9_4中分別讀取鏈路當(dāng)前的傳輸速率值和位寬值,根據(jù)獲取的速率和位寬可以判斷出能否對其進行調(diào)整,例如鏈路當(dāng)前的速率為2. 5Gbps,位寬為x8,而該鏈路能夠傳輸?shù)淖钚∷俾蕿?. 5Gbps,最大位寬為x8,若需要對該鏈路的帶寬向低處調(diào)整則只能對位寬進行調(diào)整,不能對速率調(diào)整,若需要對該鏈路的帶寬向高處調(diào)整則只能對速率進行調(diào)整,不能對位寬進行調(diào)整。鏈路當(dāng)前的速率和位寬為其他數(shù)值時,或者鏈路能夠傳輸?shù)乃俾屎臀粚挼臉O限值為其他數(shù)值時,判斷確定調(diào)整速率和/或位寬的方法類似。因此,第一設(shè)備可以根據(jù)當(dāng)前的速率和位寬確定出對鏈路的速率和/或位寬進行調(diào)整。步驟203、所述第一設(shè)備獲取鏈路當(dāng)前的業(yè)務(wù)流量。具體來說,第一設(shè)備獲取鏈路當(dāng)前的業(yè)務(wù)流量可以包括但不限于如下方式獲取當(dāng)前的業(yè)務(wù)流量(Traffic)第一設(shè)備獲取單位時間內(nèi)通過所述鏈路收發(fā)的報文計數(shù)或中斷次數(shù);再根據(jù)所述報文計數(shù)或中斷次數(shù)確定所述鏈路當(dāng)前的業(yè)務(wù)流量。第一設(shè)備在確定出能否對鏈路的速率和/或位寬進行調(diào)整后,通過實時檢測鏈路的業(yè)務(wù)流量以確定對當(dāng)前鏈路的速率和/或位寬是否需要調(diào)整。步驟204、根據(jù)所述業(yè)務(wù)流量與預(yù)設(shè)的流量門限值的比較結(jié)果,生成對PCI快速通道鏈路當(dāng)前的速率和/或位寬的調(diào)整信息。第一設(shè)備根據(jù)上述獲取的業(yè)務(wù)流量與預(yù)設(shè)的流量門限值進行比較,根據(jù)比較結(jié)果生成相應(yīng)的調(diào)整信息,從而再根據(jù)該調(diào)整信息啟動對鏈路的調(diào)整。具體來說,若預(yù)設(shè)的流量門限值為一個,則每次獲取業(yè)務(wù)流量與該流量門限值進行比較,若業(yè)務(wù)流量大于該流量門限值,即鏈路中業(yè)務(wù)相對較繁忙,則需要將鏈路當(dāng)前的帶寬提高才能滿足鏈路繁忙時的業(yè)務(wù)需求,因此可以將鏈路當(dāng)前的速率和/或位寬向提高的方向調(diào)整;若業(yè)務(wù)流量小于該流量門限值,即鏈路中業(yè)務(wù)相對較少,則需要將鏈路當(dāng)前的帶寬降低以減小鏈路業(yè)務(wù)較少時的功耗。若預(yù)設(shè)的流量門限值為多個,每個流量門限值與鏈路特定帶寬的速率和位寬相對應(yīng),則第一設(shè)備在每次獲取業(yè)務(wù)流量時可以與不同的流量門限值進行比較,使設(shè)備可以根據(jù)業(yè)務(wù)流量大小 分階段調(diào)整,并且能將鏈路當(dāng)前的速率和位寬精確調(diào)整到適當(dāng)?shù)臄?shù)值。具體操作為第一設(shè)備根據(jù)所述業(yè)務(wù)流量與預(yù)設(shè)的某個流量門限值的比較結(jié)果,生成將鏈路當(dāng)前的速率和/或位寬調(diào)整到與該流量門限值對應(yīng)的速率和位寬的調(diào)整信息。例如,PCI快速通道設(shè)備接口鏈路當(dāng)前的速率為5Gbps,位寬為X8,此速率和位寬均可向下調(diào)整,業(yè)務(wù)流量劃分為兩個門限Thrl和Thr2,且Thrl > Thr2,第一門限Thrl和第二門限Thr2分別對應(yīng)不同的帶寬,對帶寬的調(diào)整可以采用對速率調(diào)整也可以采用對位寬調(diào)整,還可以同時對二者均調(diào)整。當(dāng)業(yè)務(wù)流量低于第一門限Thrl時,可以將鏈路的速率從5Gbps降低到2. 5Gbps, 也可以將鏈路的位寬降低到x4;當(dāng)業(yè)務(wù)流量低于第二門限Thr2時,若上次帶寬調(diào)低后位寬是x4,則還可以再將鏈路位寬降低到xl,若上次調(diào)低的是速率,則本次調(diào)整時可以將位寬從x8降低到x4。若當(dāng)前的速率為2. 5Gbps,位寬為xl,則當(dāng)業(yè)務(wù)流量超過第二門限Thr2 時,可以將鏈路的速率從2. 5Gbps提高到5Gbps,也可以將位寬從xl提高到x4,當(dāng)業(yè)務(wù)流量還超過第一門限Thrl時,若上次調(diào)高的是位寬,則還可以進一步將位寬從x4提高到x8,若上次調(diào)高的是速率,則可以將位寬從xl提高到x4。鏈路的當(dāng)前速率和位寬為其他值時,或者業(yè)務(wù)流量的門限劃分為更多個時,其調(diào)整方法類似。由于第一設(shè)備和第二設(shè)備之間的收發(fā)的數(shù)據(jù)量是隨設(shè)備的業(yè)務(wù)需求而隨機變化的,因此在鏈路中傳輸?shù)臉I(yè)務(wù)流量是動態(tài)變化的,通過將流量門限值設(shè)置為多個,更加適用于實際應(yīng)用中鏈路中業(yè)務(wù)流量動態(tài)的變化時的動態(tài)調(diào)整,通過采用這種動態(tài)調(diào)整方式可以使鏈路在業(yè)務(wù)不忙時降低帶寬從而減小鏈路中的功耗,而當(dāng)鏈路在業(yè)務(wù)繁忙時提高帶寬以滿足業(yè)務(wù)需求。本發(fā)明實施例在達到上述圖1所示實施例的技術(shù)效果的基礎(chǔ)上,進一步地,第一設(shè)備通過獲取的當(dāng)前的速率和位寬確定能否對鏈路進行調(diào)整,而且在鏈路中的業(yè)務(wù)流量滿足調(diào)整條件時,生成相應(yīng)的調(diào)整信息以啟動對鏈路的調(diào)整;進一步地,通過設(shè)置多個流量門限值,可以使設(shè)備根據(jù)業(yè)務(wù)流量大小分階段調(diào)整,并且能將鏈路當(dāng)前的速率和位寬精確調(diào)整到適當(dāng)?shù)臄?shù)值,既能夠保證鏈路實時的業(yè)務(wù)需求,又能對鏈路的能量進行有效的管理。圖3為本發(fā)明實施例中第一設(shè)備運行過程中對鏈路進行能量管理的詳細流程圖, 如圖3所示,第一設(shè)備在運行中執(zhí)行操作如下步驟301,從鏈路狀態(tài)寄存器中讀取鏈路當(dāng)前的速率和位寬;步驟302、確認能對鏈路當(dāng)前的速率和/或位寬進行調(diào)整處理;步驟303、獲取鏈路當(dāng)前的業(yè)務(wù)流量;步驟304、將業(yè)務(wù)流量與預(yù)設(shè)的某個流量門限值進行比較,若業(yè)務(wù)流量小于門限值,則執(zhí)行步驟305,若業(yè)務(wù)流量大于門限值,則執(zhí)行步驟306 ;步驟305、生成將鏈路當(dāng)前的速率和/或位寬降低一級的調(diào)整信息,并進一步執(zhí)行步驟307 ;步驟306、生成將鏈路當(dāng)前的速率和/或位寬提高一級的調(diào)整信息;步驟307、停止發(fā)送數(shù)據(jù);步驟308、清除對端設(shè)備配置空間命令寄存器的主設(shè)備使能位;
步驟309、等待預(yù)定的時間,以使對端設(shè)備將當(dāng)前數(shù)據(jù)發(fā)送完畢;步驟310、通過關(guān)閉或開啟相應(yīng)的接口鏈路通道或者指定期望調(diào)整的鏈路位寬以調(diào)整位寬或者通過鏈路控制第二寄存器指定期望調(diào)整的鏈路速率以調(diào)整速率;步驟311、啟動重新協(xié)商并確認協(xié)商完成;
步驟312、對對端設(shè)備的主設(shè)備使能位重新置位,以使對端設(shè)備重新收發(fā)數(shù)據(jù)。第一設(shè)備通過執(zhí)行上述的操作可以完成一次的鏈路調(diào)整,如果鏈路中的業(yè)務(wù)流量與預(yù)設(shè)的其他流量門限值相比還可以調(diào)整,則重新執(zhí)行上述操作步驟304及后續(xù)操作即可。圖4為本發(fā)明PCI快速通道設(shè)備一個實施例的結(jié)構(gòu)示意圖,如圖4所示,本實施例的PCI快速通道設(shè)備包括獲取模塊40、控制模塊41和處理模塊42,其中,獲取模塊40, 用于獲取對PCI快速通道鏈路當(dāng)前的速率和/或位寬進行調(diào)整處理的調(diào)整信息;控制模塊 41,用于停止所述PCI快速通道設(shè)備的數(shù)據(jù)發(fā)送,并清除鏈路對端第二設(shè)備的配置空間命令寄存器的主設(shè)備使能位,以使所述第二設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送;還用于在鏈路的速率和/或位寬調(diào)整處理之后恢復(fù)所述PCI快速通道設(shè)備的數(shù)據(jù)發(fā)送,并重新對所述主設(shè)備使能位置位,以使所述PCI快速通道設(shè)備和第二設(shè)備以調(diào)整處理后的速率和 /或位寬重新收發(fā)數(shù)據(jù);處理模塊42,用于根據(jù)所述調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理。本發(fā)明實施例中,獲取模塊40獲取對鏈路的速率和/或位寬進行調(diào)整的調(diào)整信息后,控制模塊41首先停止鏈路本端PCI快速通道設(shè)備的數(shù)據(jù)發(fā)送,再通過清除對端設(shè)備的主設(shè)備使能位,使對端設(shè)備將當(dāng)前數(shù)據(jù)發(fā)送完畢后也停止數(shù)據(jù)發(fā)送;當(dāng)PCI快速通道鏈路兩端的設(shè)備都停止數(shù)據(jù)收發(fā)后,處理模塊42根據(jù)獲取模塊獲取的調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理,當(dāng)調(diào)整處理結(jié)束,控制模塊41恢復(fù)本端的數(shù)據(jù)發(fā)送,同時對對端設(shè)備的主設(shè)備使能位進行重新置位,使其也重新發(fā)送數(shù)據(jù),保證鏈路在調(diào)整后恢復(fù)到正常傳輸狀態(tài)。本發(fā)明實施例處理模塊通過調(diào)整鏈路的速率和/或位寬可實現(xiàn)對鏈路的能量管理;而且處理模塊在對鏈路的速率和/或位寬調(diào)整之前,控制模塊通過先清除鏈路對端設(shè)備的配置空間命令寄存器的主設(shè)備使能位,以使鏈路對端設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送,保證鏈路中正在傳輸?shù)臄?shù)據(jù)不會因鏈路調(diào)整而丟失,從而保證鏈路調(diào)整不影響鏈路的業(yè)務(wù)。圖5為本發(fā)明PCI快速通道設(shè)備另一實施例的結(jié)構(gòu)示意圖,如圖5所示,本實施例的PCI快速通道設(shè)備中,在上述圖4所示實施例的基礎(chǔ)上,獲取模塊40可以包括多個獲取單元,用于獲取相應(yīng)的預(yù)處理信息,控制模塊41可以包括生成單元,用于生成相應(yīng)的控制信息,處理模塊42可以包括協(xié)商單元,用于與對端設(shè)備重新協(xié)商。具體來說,獲取模塊40包括第一獲取單元401、第二獲取單元403、第三獲取單元 405、確定單元402和生成單元404。其中,第一獲取單元401用于從鏈路狀態(tài)寄存器中讀取鏈路當(dāng)前的速率和位寬;確定單元402用于根據(jù)鏈路能夠傳輸?shù)乃俾屎臀粚捯约爱?dāng)前的速率和位寬確定對鏈路當(dāng)前的速率和/或位寬進行調(diào)整,通過確定單元402可以使PCI快速通道設(shè)備確定能否對鏈路當(dāng)前的速率和/或位寬進行調(diào)整。第二獲取單元403用于獲取單位時間內(nèi)通過所述鏈路收發(fā)的報文計數(shù)或中斷次數(shù),根據(jù)所述報文計數(shù)或中斷次數(shù)確定所述鏈路當(dāng)前的業(yè)務(wù)流量;生成單元404用于在確定單元402確定對鏈路能夠進行調(diào)整時根據(jù)所述業(yè)務(wù)流量與預(yù)設(shè)的流量門限值的比較結(jié)果,生成對PCI快速通道鏈路當(dāng)前的速率和 /或位寬的調(diào)整信息,生成單元404在生成調(diào)整信息過程中,可以將第二獲取單元403獲取的業(yè)務(wù)流量與預(yù)設(shè)的不同流量門限值進行比較,從而使PCI快速通道設(shè)備可以根據(jù)業(yè)務(wù)流量大小分階段調(diào)整鏈路,并且能將鏈路當(dāng)前的速率和位寬精確調(diào)整到適當(dāng)?shù)臄?shù)值。第三獲取單元405用于獲取生成單元404生成的調(diào)整信息,以使控制模塊41啟動停止鏈路數(shù)據(jù)的發(fā)送以及處理模塊42根據(jù)該調(diào)整信息進行相應(yīng)的調(diào)整處理??刂颇K41包括停止單元411、恢復(fù)單元413和生成單元412。其中,停止單元 411用于停止所述PCI快速通道設(shè)備的數(shù)據(jù)發(fā)送,并清除鏈路對端設(shè)備的配置空間命令寄存器的主設(shè) 備使能位,以使所述對端設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送?;謴?fù)單元 413用于在鏈路的速率和/或位寬調(diào)整處理之后恢復(fù)所述PCI快速通道設(shè)備的數(shù)據(jù)發(fā)送, 并重新對所述主設(shè)備使能位置位,以使所述PCI快速通道設(shè)備和對端設(shè)備以調(diào)整處理后的速率和/或位寬重新收發(fā)數(shù)據(jù)。生成單元412用于停止單元411清除鏈路對端設(shè)備的配置空間命令寄存器的主設(shè)備使能位后等待預(yù)定的時間生成停止信息;或者,所述PCI快速通道設(shè)備接收到所述對端設(shè)備發(fā)送的當(dāng)前數(shù)據(jù)的結(jié)束標志后生成停止信息,以使控制模塊41 控制處理模塊42根據(jù)該停止信息啟動對鏈路的速率和/或位寬進行調(diào)整處理。處理模塊42可以包括選擇單元420、第一處理單元421、第二處理單元422、第三處理單元423和協(xié)商單元424,其中,選擇單元420,用于根據(jù)獲取模塊40獲取的調(diào)整信息選擇相應(yīng)的對鏈路處理的處理單元;第一處理單元421,用于若所述調(diào)整信息為將鏈路當(dāng)前的位寬降低到某一鏈路位寬,則通過關(guān)閉該鏈路位寬與該鏈路位寬的上一級鏈路位寬之間任意的接口鏈路通道對鏈路當(dāng)前的位寬進行調(diào)整處理;以及若所述調(diào)整信息為將鏈路當(dāng)前的位寬提高到某一鏈路位寬,則通過開啟該鏈路位寬對應(yīng)的所有接口鏈路通道對鏈路當(dāng)前的位寬進行調(diào)整處理;通過第一處理單元設(shè)置接口鏈路的通道禁止功能對鏈路的位寬進行調(diào)整,使不具有動態(tài)調(diào)整位寬的功能的PCI快速通道設(shè)備也能夠采用靈活的位寬調(diào)整的方法實現(xiàn)鏈路的能量管理。第二處理單元422,用于若所述調(diào)整信息為將鏈路當(dāng)前的位寬降低到或提高到某一鏈路位寬,則通過將鏈路當(dāng)前的位寬設(shè)定到該鏈路位寬對鏈路當(dāng)前的位寬進行調(diào)整處理,該第二處理單元422可以為設(shè)備提供的類似于鏈路速率調(diào)整的方式的位寬調(diào)整功能模塊。第三處理單元423,用于若所述調(diào)整信息為將鏈路當(dāng)前的速率降低到或者提高到某一鏈路速率,則將該鏈路速率寫入鏈路控制第二寄存器;當(dāng)對鏈路當(dāng)前的速率進行調(diào)整時,根據(jù)所述鏈路控制第二寄存器中寫入的速率值對鏈路當(dāng)前的速率進行調(diào)整處理。協(xié)商單元424,用于根據(jù)鏈路控制寄存器中的鏈路重新協(xié)商使能位啟動重新協(xié)商,以使所述PCI快速通道設(shè)備和對端設(shè)備將收發(fā)數(shù)據(jù)的速率和/或位寬調(diào)整到所述PCI快速通道設(shè)備調(diào)整處理后的速率和/或位寬;并根據(jù)鏈路狀態(tài)寄存器中的鏈路協(xié)商狀態(tài)值確認重新協(xié)商完成。通過協(xié)商單元424在處理單元對鏈路調(diào)整后啟動的與對端設(shè)備的重新協(xié)商,可使兩端設(shè)備將收發(fā)數(shù)據(jù)的速率和/或位寬調(diào)整到調(diào)整處理后的鏈路的速率和/或位寬,保證兩端收發(fā)數(shù)據(jù)的速率和位寬與PCI快速通道設(shè)備調(diào)整后的鏈路的速率和位寬匹配,PCI 快速通道設(shè)備在兩端設(shè)備重新協(xié)商完畢并確認協(xié)商完成后再恢復(fù)鏈路兩端的數(shù)據(jù)收發(fā)。本實施例在達到上述PCI快速通道設(shè)備實施例一的技術(shù)效果的基礎(chǔ)上,進一步通過獲取模塊中的生成單元將業(yè)務(wù)流量與預(yù)設(shè)的不同流量門限值進行比較,根據(jù)比較結(jié)果生成相應(yīng)的調(diào)整信息,使PCI快速通道設(shè)備可以根據(jù)業(yè)務(wù)流量大小分階段調(diào)整鏈路,并且能將鏈路當(dāng)前的速率和位寬精確調(diào)整到適當(dāng)?shù)臄?shù)值;通過處理模塊中的多個處理單元可以使 PCI快速通道設(shè)備選用不同的調(diào)整方式對鏈路進行調(diào)整,而且通過第一處理單元可以使不具有動態(tài)調(diào)整位寬的功能的PCI快速通道設(shè)備也能夠采用靈活的位寬調(diào)整的方法實現(xiàn)鏈
路的能量管理。
上述PCI快速通道設(shè)備實施例中的PCI快速通道設(shè)備為PCI快速通道的根聯(lián)合體設(shè)備(Root Complex)或PCI快速通道的交換機(Switch)的下行接口處的設(shè)備;對端設(shè)備為PCI快速通道的端點設(shè)備(Endpoint)或PCI快速通道的交換機的上行接口處的設(shè)備。 PCI快速通道設(shè)備可用于執(zhí)行上述PCI快速通道鏈路能量管理方法實施例的技術(shù)方案,其工作原理及達到的技術(shù)效果與方法實施例類似。圖6為本發(fā)明PCI快速通道鏈路能量管理系統(tǒng)實施例的結(jié)構(gòu)示意圖,如圖6所示, 本實施例的PCI快速通道鏈路能量管理系統(tǒng)包括彼此收發(fā)數(shù)據(jù)的第一設(shè)備50和第二設(shè)備 51。其中,第一設(shè)備50為上述圖4或圖5所示實施例的PCI快速通道設(shè)備,第二設(shè)備51為 PCI快速通道的端點設(shè)備或PCI快速通道的交換機的上行接口處的設(shè)備。本實施例可使用上述PCI快速通道鏈路能量管理方法實施例的技術(shù)方案,其技術(shù)原理與達到的技術(shù)效果類似,不再贅述。圖7為本發(fā)明實施例應(yīng)用于PCI快速通道系統(tǒng)中的實例圖,如圖7所示的PCI快速通道系統(tǒng)中包括多種基于PCI快速通道鏈路60進行傳輸數(shù)據(jù)的設(shè)備,實際應(yīng)用中,上述本發(fā)明實施例中的第一設(shè)備或者PCI快速通道設(shè)備可以為圖示中的根聯(lián)合體設(shè)備62,也可以為PCI快速通道交換機63的下行接口處的設(shè)備,第二設(shè)備或者對端設(shè)備可以為以太網(wǎng)控制器等的端點設(shè)備61,也可以為PCI快速通道交換機63的上行接口處的設(shè)備。在PCI快速通道系統(tǒng)運行中,例如根聯(lián)合體設(shè)備62和端點設(shè)備61之間的PCI快速通道鏈路60采用本發(fā)明實施例的能量管理方法,當(dāng)PCI快速通道鏈路60中業(yè)務(wù)流量較小時,根聯(lián)合體設(shè)備62 可以通過檢測該業(yè)務(wù)流量生成調(diào)整信息后,首先根聯(lián)合體設(shè)備62停止向端點設(shè)備61發(fā)送數(shù)據(jù),再通過清除端點設(shè)備61的主設(shè)備使能位使端點設(shè)備61將當(dāng)前數(shù)據(jù)發(fā)送完畢后暫停向根聯(lián)合體設(shè)備62發(fā)送數(shù)據(jù),根聯(lián)合體設(shè)備62等待預(yù)定的時間后根據(jù)調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理,并與端點設(shè)備62重新協(xié)商,使兩端將收發(fā)數(shù)據(jù)的速率和/ 或位寬調(diào)整到根聯(lián)合體設(shè)備62調(diào)整處理后的速率和/或位寬,根聯(lián)合體設(shè)備62確認協(xié)商完成后恢復(fù)向端點設(shè)備62發(fā)送數(shù)據(jù),同時對端點設(shè)備62的主設(shè)備使能位重新置位,使其能夠重新向根聯(lián)合體設(shè)備62發(fā)送數(shù)據(jù)。上述調(diào)整處理之前,由于根聯(lián)合體設(shè)備62清除了端點設(shè)備的主設(shè)備使能位,使其能在鏈路調(diào)整之前停止數(shù)據(jù)發(fā)送,從而可避免鏈路中正在收發(fā)數(shù)據(jù)的丟失,保證鏈路調(diào)整不影響鏈路的業(yè)務(wù),提高了鏈路能量管理過程中的數(shù)據(jù)傳輸?shù)陌踩浴A硗?,若根?lián)合體設(shè)備62不具有位寬的調(diào)整功能,其還可以采用本發(fā)明上述實施例中介紹的通過設(shè)置接口鏈路通道的方式實現(xiàn)鏈路的位寬調(diào)整,以提高鏈路能量管理中對鏈路調(diào)整的靈活性。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其進行限制, 盡管參照較佳實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而這些修改或者等同替換亦不能使修改后的技術(shù)方案脫離本發(fā)明技術(shù)方案的精神和范圍
權(quán)利要求
1.一種PCI快速通道鏈路能量管理方法,其特征在于,包括第一設(shè)備獲取對PCI快速通道鏈路當(dāng)前的速率和/或位寬進行調(diào)整處理的調(diào)整信息;所述第一設(shè)備停止數(shù)據(jù)發(fā)送,并清除鏈路對端第二設(shè)備的配置空間命令寄存器的主設(shè)備使能位,以使所述第二設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送;所述第一設(shè)備根據(jù)所述調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理;所述第一設(shè)備恢復(fù)數(shù)據(jù)發(fā)送,并重新對所述主設(shè)備使能位置位,以使所述第一設(shè)備和第二設(shè)備以調(diào)整處理后的速率和/或位寬重新收發(fā)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一設(shè)備根據(jù)所述調(diào)整信息對鏈路的位寬進行調(diào)整處理,具體為所述第一設(shè)備根據(jù)所述調(diào)整信息通過設(shè)置通道禁止功能對鏈路當(dāng)前的位寬進行調(diào)整處理。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一設(shè)備根據(jù)所述調(diào)整信息通過設(shè)置通道禁止功能對鏈路當(dāng)前的位寬進行調(diào)整處理,具體包括若所述調(diào)整信息為將鏈路當(dāng)前的位寬降低到某一鏈路位寬,則所述第一設(shè)備通過關(guān)閉該鏈路位寬與該鏈路位寬的上一級鏈路位寬之間任意的接口鏈路通道對鏈路當(dāng)前的位寬進行調(diào)整處理;若所述調(diào)整信息為將鏈路當(dāng)前的位寬提高到某一鏈路位寬,則所述第一設(shè)備通過開啟該鏈路位寬對應(yīng)的所有接口鏈路通道對鏈路當(dāng)前的位寬進行調(diào)整處理。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一設(shè)備根據(jù)所述調(diào)整信息對鏈路的位寬進行調(diào)整處理,具體為若所述調(diào)整信息為將鏈路當(dāng)前的位寬降低到或提高到某一鏈路位寬,則所述第一設(shè)備通過將鏈路當(dāng)前的位寬設(shè)定到該鏈路位寬對鏈路當(dāng)前的位寬進行調(diào)整處理。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一設(shè)備根據(jù)所述調(diào)整信息對鏈路的速率進行調(diào)整處理,具體為若所述調(diào)整信息為將鏈路當(dāng)前的速率降低到或者提高到某一鏈路速率,則所述第一設(shè)備將該鏈路速率寫入鏈路控制第二寄存器;當(dāng)對鏈路當(dāng)前的速率進行調(diào)整時,所述第一設(shè)備根據(jù)所述鏈路控制第二寄存器中寫入的速率值對鏈路當(dāng)前的速率進行調(diào)整處理。
6.根據(jù)權(quán)利要求1 5中任一項所述的方法,其特征在于,所述第一設(shè)備根據(jù)所述調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理之后,還包括所述第一設(shè)備根據(jù)鏈路控制寄存器中的鏈路重新協(xié)商使能位啟動重新協(xié)商,以使所述第一設(shè)備和第二設(shè)備將收發(fā)數(shù)據(jù)的速率和/或位寬調(diào)整到所述第一設(shè)備調(diào)整處理后的速率和/或位寬;根據(jù)鏈路狀態(tài)寄存器中的鏈路協(xié)商狀態(tài)值確認重新協(xié)商完成。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一設(shè)備獲取對PCI快速通道鏈路當(dāng)前的速率和/或位寬進行調(diào)整處理的調(diào)整信息之前,還包括所述第一設(shè)備從鏈路狀態(tài)寄存器中讀取鏈路當(dāng)前的速率和位寬;根據(jù)鏈路能夠傳輸?shù)乃俾屎臀粚捯约版溌樊?dāng)前的速率和位寬確定對鏈路當(dāng)前的速率和/或位寬進行調(diào)整。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述第一設(shè)備根據(jù)所述調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理之后,還包括所述第一設(shè)備根據(jù)調(diào)整處理后的速率和位寬更新鏈路狀態(tài)寄存器中的速率和位寬;相應(yīng)地,所述第一設(shè)備以調(diào)整處理后的速率和/或位寬重新收發(fā)數(shù)據(jù),具體為所述第一設(shè)備按照所述鏈路狀態(tài)寄存器中更新后的速率和位寬重新收發(fā)數(shù)據(jù)。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述第一設(shè)備根據(jù)鏈路能夠傳輸?shù)乃俾屎臀粚捯约版溌樊?dāng)前的速率和位寬確定對鏈路當(dāng)前的速率和/或位寬進行調(diào)整之后,還包括所述第一設(shè)備獲取鏈路當(dāng)前的業(yè)務(wù)流量;根據(jù)所述業(yè)務(wù)流量與預(yù)設(shè)的流量門限值的比較結(jié)果,生成對PCI快速通道鏈路當(dāng)前的速率和/或位寬的調(diào)整信息。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述流量門限值為多個,每個流量門限值與鏈路特定帶寬的速率和位寬相對應(yīng),相應(yīng)地,根據(jù)所述業(yè)務(wù)流量與預(yù)設(shè)的流量門限值的比較結(jié)果,生成對PCI快速通道鏈路當(dāng)前的速率和/或位寬的調(diào)整信息,具體為根據(jù)所述業(yè)務(wù)流量與預(yù)設(shè)的某個流量門限值的比較結(jié)果,生成將鏈路當(dāng)前的速率和/ 或位寬調(diào)整到與該流量門限值對應(yīng)的速率和位寬的調(diào)整信息。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述第一設(shè)備獲取鏈路當(dāng)前的業(yè)務(wù)流量,具體為獲取單位時間內(nèi)通過所述鏈路收發(fā)的報文計數(shù)或中斷次數(shù);根據(jù)所述報文計數(shù)或中斷次數(shù)確定所述鏈路當(dāng)前的業(yè)務(wù)流量。
12.根據(jù)權(quán)利要求1 5中任一項所述的方法,其特征在于,所述第一設(shè)備清除鏈路對端第二設(shè)備的配置空間命令寄存器的主設(shè)備使能位之后,還包括所述第一設(shè)備在清除鏈路對端第二設(shè)備的配置空間命令寄存器的主設(shè)備使能位后等待預(yù)定的時間生成停止信息;或者在接收到所述第二設(shè)備發(fā)送的當(dāng)前數(shù)據(jù)的結(jié)束標志后生成停止信息;相應(yīng)地,所述第一設(shè)備根據(jù)所述調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理,具體為根據(jù)所述停止信息啟動對鏈路的速率和/或位寬進行調(diào)整處理。
13.根據(jù)權(quán)利要求1 5中任一項所述的方法,其特征在于,所述第一設(shè)備為PCI快速通道的根聯(lián)合體設(shè)備或PCI快速通道的交換機的下行接口處的設(shè)備;所述第二設(shè)備為PCI 快速通道的端點設(shè)備或PCI快速通道的交換機的上行接口處的設(shè)備。
14.一種PCI快速通道設(shè)備,其特征在于,包括獲取模塊,用于獲取對PCI快速通道鏈路當(dāng)前的速率和/或位寬進行調(diào)整處理的調(diào)整 fn息;控制模塊,用于停止所述PCI快速通道設(shè)備的數(shù)據(jù)發(fā)送,并清除鏈路對端設(shè)備的配置空間命令寄存器的主設(shè)備使能位,以使所述對端設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送;還用于在鏈路的速率和/或位寬調(diào)整處理之后恢復(fù)所述PCI快速通道設(shè)備的數(shù)據(jù)發(fā)送, 并重新對所述主設(shè)備使能位置位,以使所述PCI快速通道設(shè)備和對端設(shè)備以調(diào)整處理后的速率和/或位寬重新收發(fā)數(shù)據(jù);處理模塊,用于根據(jù)所述調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述處理模塊包括第一處理單元,所述第一處理單元,用于若所述調(diào)整信息為將鏈路當(dāng)前的位寬降低到某一鏈路位寬, 則通過關(guān)閉該鏈路位寬與該鏈路位寬的上一級鏈路位寬之間任意的接口鏈路通道對鏈路當(dāng)前的位寬進行調(diào)整處理;以及若所述調(diào)整信息為將鏈路當(dāng)前的位寬提高到某一鏈路位寬,則通過開啟該鏈路位寬對應(yīng)的所有接口鏈路通道對鏈路當(dāng)前的位寬進行調(diào)整處理。
16.根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述處理模塊包括第二處理單元,所述第二處理單元,用于若所述調(diào)整信息為將鏈路當(dāng)前的位寬降低到或提高到某一鏈路位寬,則通過將鏈路當(dāng)前的位寬設(shè)定到該鏈路位寬對鏈路當(dāng)前的位寬進行調(diào)整處理。
17.根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述處理模塊包括第三處理單元,所述第三處理單元,用于若所述調(diào)整信息為將鏈路當(dāng)前的速率降低到或者提高到某一鏈路速率,則將該鏈路速率寫入鏈路控制第二寄存器;當(dāng)對鏈路當(dāng)前的速率進行調(diào)整時,根據(jù)所述鏈路控制第二寄存器中寫入的速率值對鏈路當(dāng)前的速率進行調(diào)整處理。
18.根據(jù)權(quán)利要求15 17中任一項所述的設(shè)備,其特征在于,所述處理模塊還包括協(xié)商單元,所述協(xié)商單元,用于根據(jù)鏈路控制寄存器中的鏈路重新協(xié)商使能位啟動重新協(xié)商,以使所述PCI快速通道設(shè)備和對端設(shè)備將收發(fā)數(shù)據(jù)的速率和/或位寬調(diào)整到所述PCI快速通道設(shè)備調(diào)整處理后的速率和/或位寬;并根據(jù)鏈路狀態(tài)寄存器中的鏈路協(xié)商狀態(tài)值確認重新協(xié)商完成。
19.根據(jù)權(quán)利要求18所述的設(shè)備,其特征在于,所述獲取模塊,還用于從鏈路狀態(tài)寄存器中讀取鏈路當(dāng)前的速率和位寬;并根據(jù)鏈路能夠傳輸?shù)乃俾屎臀粚捯约爱?dāng)前的速率和位寬確定對鏈路當(dāng)前的速率和/或位寬進行調(diào)整;以及用于獲取單位時間內(nèi)通過所述鏈路收發(fā)的報文計數(shù)或中斷次數(shù),根據(jù)所述報文計數(shù)或中斷次數(shù)確定所述鏈路當(dāng)前的業(yè)務(wù)流量; 并根據(jù)所述業(yè)務(wù)流量與預(yù)設(shè)的流量門限值的比較結(jié)果,生成對PCI快速通道鏈路當(dāng)前的速率和/或位寬的調(diào)整信息。
20.根據(jù)權(quán)利要求14 17中任一項所述的設(shè)備,其特征在于,所述控制模塊,還用于清除鏈路對端設(shè)備的配置空間命令寄存器的主設(shè)備使能位后等待預(yù)定的時間生成停止信息; 或者,所述PCI快速通道設(shè)備接收到所述對端設(shè)備發(fā)送的當(dāng)前數(shù)據(jù)的結(jié)束標志后生成停止 fn息;所述處理模塊,具體用于根據(jù)所述停止信息啟動對鏈路的速率和/或位寬進行調(diào)整處理。
21.根據(jù)權(quán)利要求14 17中任一項所述的設(shè)備,其特征在于,所述PCI快速通道設(shè)備為PCI快速通道的根聯(lián)合體設(shè)備或PCI快速通道的交換機的下行接口處的設(shè)備;所述對端設(shè)備為PCI快速通道的端點設(shè)備或PCI快速通道的交換機的上行接口處的設(shè)備。
22.—種PCI快速通道鏈路能量管理系統(tǒng),其特征在于,包括彼此收發(fā)數(shù)據(jù)的第一設(shè)備和第二設(shè)備,所述第一設(shè)備為如權(quán)利要求14 21中任一項所述的PCI快速通道設(shè)備,所述第二設(shè)備為PCI快速通道的端點設(shè)備或PCI快速通道的交換機的上行接口處的設(shè)備。
全文摘要
本發(fā)明實施例公開了一種PCI快速通道設(shè)備、鏈路能量管理方法及系統(tǒng)。其中,PCI快速通道鏈路能量管理方法包括第一設(shè)備獲取對PCI快速通道鏈路當(dāng)前的速率和/或位寬進行調(diào)整處理的調(diào)整信息;第一設(shè)備停止數(shù)據(jù)發(fā)送,并清除鏈路對端第二設(shè)備的配置空間命令寄存器的主設(shè)備使能位,以使第二設(shè)備在當(dāng)前數(shù)據(jù)發(fā)送結(jié)束后停止數(shù)據(jù)發(fā)送;第一設(shè)備根據(jù)該調(diào)整信息對鏈路的速率和/或位寬進行調(diào)整處理;第一設(shè)備恢復(fù)數(shù)據(jù)發(fā)送,并重新對該主設(shè)備使能位置位,以使第一設(shè)備和第二設(shè)備以調(diào)整處理后的速率和/或位寬重新收發(fā)數(shù)據(jù)。本發(fā)明實施例能夠保證PCI快速通道設(shè)備在實現(xiàn)鏈路能量管理中鏈路動態(tài)調(diào)整時不影響鏈路的業(yè)務(wù)。
文檔編號H04L12/56GK102439916SQ201180001310
公開日2012年5月2日 申請日期2011年7月27日 優(yōu)先權(quán)日2011年7月27日
發(fā)明者李延松 申請人:華為技術(shù)有限公司