專利名稱:能量優(yōu)化的動(dòng)態(tài)端口關(guān)聯(lián)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及動(dòng)態(tài)地關(guān)聯(lián)端口與主控制器。
背景技術(shù):
主控制器在計(jì)算機(jī)系統(tǒng)中是常見的。許多主控制器控制利用特定協(xié)議來操作的互聯(lián)(即總線)子系統(tǒng)。例如,采用通用串行總線(USB)輸入/輸出(I/O)子系統(tǒng)的計(jì)算機(jī)系統(tǒng)需要至少一個(gè)USB主控制器。其它的協(xié)議使用它們自己的主控制器,其中例如串行高級(jí)技術(shù)附件(SATA)。主控制器與配屬到該主控制器上的兼容設(shè)備進(jìn)行通信。很多時(shí)候這些設(shè)備經(jīng)由端口被配屬,例如使用USB的情形。這些端口可以包括外部端口 ,其實(shí)際具有在計(jì)算機(jī)系統(tǒng)的外殼上的物理插入接口 ,并且它們也可以包括用于永久設(shè)備的內(nèi)部端口 ,該永久設(shè)備例如在膝上型計(jì)算機(jī)中的集成網(wǎng)絡(luò)攝像機(jī)。 對(duì)于許多協(xié)議子系統(tǒng)(例如USB)而言,存在給定的主控制器能夠控制的端口的最大數(shù)目。不同版本的USB實(shí)現(xiàn)允許控制不同數(shù)目的端口。因?yàn)橛糜趩蝹€(gè)主控制器的端口數(shù)目的限制,現(xiàn)在許多高級(jí)的計(jì)算機(jī)系統(tǒng)具有用于單個(gè)協(xié)議的多個(gè)主控制器。例如,在USB1. l的情形中,單個(gè)主控制器可以控制兩個(gè)端口。在USB 2.0的情形中,單個(gè)主控制器可以控制多達(dá)八個(gè)端口。如果計(jì)算機(jī)系統(tǒng)需要多于8個(gè)的USB 2.0端口,計(jì)算機(jī)系統(tǒng)將需要至少兩個(gè)USB 2.0主控制器來管理該需求并維持良好的帶寬。在計(jì)算機(jī)系統(tǒng)中操作的每個(gè)主控制器都消耗電能。目前許多高級(jí)計(jì)算機(jī)系統(tǒng)都具有通過將計(jì)算機(jī)系統(tǒng)內(nèi)的部件設(shè)置成低功耗模式來管理該部件功耗的能力。
以示例而非限制的方式通過附圖來說明本發(fā)明,其中相同的標(biāo)記表示相似的元件,其中 圖1描述了具有控制總計(jì)12個(gè)端口的兩個(gè)相同的主控制器的現(xiàn)有計(jì)算機(jī)系統(tǒng)的實(shí)施例; 圖2描述了具有動(dòng)態(tài)端口關(guān)聯(lián)方案的計(jì)算機(jī)系統(tǒng)的實(shí)施例; 圖3描述了使用動(dòng)態(tài)端口關(guān)聯(lián)方案添加活動(dòng)端口的計(jì)算機(jī)系統(tǒng)的實(shí)施例; 圖4描述了使用動(dòng)態(tài)端口關(guān)聯(lián)方案將活動(dòng)端口添加到最大可允許端口數(shù)目的計(jì)
算機(jī)系統(tǒng)的實(shí)施例; 圖5描述了使用動(dòng)態(tài)端口關(guān)聯(lián)方案移除所有活動(dòng)端口的計(jì)算機(jī)系統(tǒng)的實(shí)施例; 圖6描述了計(jì)算機(jī)系統(tǒng)中動(dòng)態(tài)端口關(guān)聯(lián)互連的線路布置的實(shí)施例; 圖7描述了計(jì)算機(jī)系統(tǒng)中動(dòng)態(tài)端口關(guān)聯(lián)互連的線路布置的替代實(shí)施例; 圖8是為了計(jì)算機(jī)系統(tǒng)電源效率,將新活動(dòng)端口動(dòng)態(tài)關(guān)聯(lián)于主控制器的過程實(shí)施
例的流程圖; 圖9是為了計(jì)算機(jī)系統(tǒng)電源效率,停用端口并動(dòng)態(tài)地重新排列與主控制器關(guān)聯(lián)的剩余端口的過程實(shí)施例的流程圖。
具體實(shí)施例方式
公開了用于能量優(yōu)化的動(dòng)態(tài)端口關(guān)聯(lián)的方法、設(shè)備、系統(tǒng)以及計(jì)算機(jī)可讀介質(zhì)的 的實(shí)施例。在下面的描述和權(quán)利要求中提及的公開技術(shù)中的"一個(gè)實(shí)施例"或"實(shí)施例"意 味著結(jié)合該實(shí)施例描述的特定特征、結(jié)構(gòu)、或特性被包括在所公開技術(shù)的至少一個(gè)實(shí)施例 中。因此,在整個(gè)說明書的不同位置出現(xiàn)的短語"在一個(gè)實(shí)施例中"并非必然總是指代相同 的實(shí)施例。 在下面的描述和權(quán)利要求中,可以使用術(shù)語"包括"和"包含"以及它們的派生詞, 并且將它們作為彼此的同義詞來對(duì)待。另外,在下面的描述和權(quán)利要求中,可以使用術(shù)語 "耦合"和"連接"以及它們的派生詞。應(yīng)該理解的是,這些術(shù)語并非旨在作為彼此的同義 詞。而是,在特定實(shí)施例中,"連接"可以用來表示兩個(gè)或更多的元件是以直接的物理方式 或電方式彼此接觸,"耦合"可以意味著兩個(gè)或更多的元件是以直接的物理方式或電方式接 觸。然而,"耦合"也可以意味著兩個(gè)或更多的元件不是以直接方式彼此接觸,但彼此之間仍 然協(xié)作或交互。 圖1描述了具有控制總計(jì)12個(gè)端口的兩個(gè)同樣的主控制器(主控制器0(項(xiàng)100) 以及主控制器l(項(xiàng)102))的現(xiàn)有計(jì)算機(jī)系統(tǒng)的實(shí)施例。端口 0-5(P0-P5,分別是項(xiàng)104、 106、108、110、112和114)由主控制器O控制,端口 6-ll(P6-Pll,分別是項(xiàng)116、118、120、 122、124和126)由主控制器l控制。此外,還示出了傳統(tǒng)主控制器2(項(xiàng)128),其和主控制 器0共享端口 P0和P1。 在其它沒有圖示的實(shí)施例中,也可以存在任何復(fù)數(shù)數(shù)目的主控制器,其中的每一 個(gè)控制任意特定數(shù)目的端口。圖1中,示出的現(xiàn)有計(jì)算機(jī)系統(tǒng)包括互連線,其在每個(gè)主控 制器和永久地與該主控制器關(guān)聯(lián)的特定端口之間被硬布線。在許多實(shí)施例中,與主控制器 "永久關(guān)聯(lián)的"端口描述了直接連線到特定主控制器的端口。換句話說,由于該直接的控制 器到端口的互連布線方案,該端口不具有被該計(jì)算機(jī)系統(tǒng)中相同協(xié)議的另一個(gè)主控制器控 制的能力。盡管每個(gè)互連可以包括在主控制器和端口之間來回地傳送數(shù)據(jù)、地址、控制、以 及時(shí)鐘信號(hào)的多條電的或光學(xué)的連線,但在圖1中由單條線來表示整個(gè)互連中的每個(gè)控制 器-端口對(duì)。 在現(xiàn)有計(jì)算機(jī)系統(tǒng)中,如果永久地關(guān)聯(lián)于主控制器的至少一個(gè)端口具有配屬的設(shè) 備(例如,在USB主控制器例子中的USB打印機(jī)),則需要該主控制器完全加電并操作???選地,如果主控制器沒有配屬到任何端口的設(shè)備,則該端口是完全空閑的,具有高級(jí)節(jié)能特 性的計(jì)算機(jī)系統(tǒng)能夠?qū)Σ糠只蛩锌臻e主控制器斷電。這些節(jié)能特性可以包括時(shí)鐘門控或 電源門控部分或所有受影響的主控制器。該特定的節(jié)能特性可選地包括現(xiàn)在計(jì)算機(jī)系統(tǒng)使 用的任何其它節(jié)能處理。術(shù)語"斷電"指的是在空閑主控制器上實(shí)施的這些節(jié)能特性中的 一個(gè)或多個(gè)。當(dāng)主控制器被斷電時(shí),計(jì)算機(jī)系統(tǒng)消耗較少的總能量,其節(jié)約能量消耗以及便 攜式計(jì)算機(jī)系統(tǒng)中的電池壽命和任何計(jì)算機(jī)系統(tǒng)中的熱解決方案需求。反之,術(shù)語"加電" 指的是解除限制主控制器能耗的一個(gè)或多個(gè)節(jié)能特性的相反效應(yīng)。 因?yàn)槎丝谑怯谰玫嘏c特定主控制器關(guān)聯(lián),因此現(xiàn)有的計(jì)算機(jī)系統(tǒng)可能在只有兩個(gè) 端口是活動(dòng)時(shí)仍然需要兩個(gè)主控制器來完全地操作。例如,圖1中,如果第一設(shè)備被配屬到 P0以及第二設(shè)備被配屬到P6,主控制器0和主控制器1都必須保持加電以允許設(shè)備操作。特別地,在圖l所示的實(shí)施例中,用純白色表示活動(dòng)端口并用斜陰影線來表示非活動(dòng)端口。 此外,從主控制器連接到每個(gè)非活動(dòng)端口的互連線為虛線,以表示它們當(dāng)前未被使用。從 而,P0、 P2和P5是活動(dòng)的,因此主控制器0被加電,同時(shí)P6、 P9和Pll是活動(dòng)的,因此主控 制器1被加電。 當(dāng)在對(duì)端口與主控制器進(jìn)行關(guān)聯(lián)的上下文中提及術(shù)語"關(guān)聯(lián)"以及它的派生詞時(shí), 指的是通信地鏈接端口與主控制器以使它們?cè)诓僮鳡顟B(tài)下能夠彼此通信/對(duì)話??梢酝ㄟ^ 設(shè)備列舉或者以設(shè)備被插入到端口時(shí)可用的其它方式來執(zhí)行這種處理。另一方面,當(dāng)設(shè)備 從端口拔除或在端口停用時(shí),由于該設(shè)備不再與該主控制器通信,因此該端口變?yōu)椴换顒?dòng) 的。因此,該主控制器不再需要到那個(gè)特定端口的鏈路并且該端口實(shí)質(zhì)上與該主控制器是 "不關(guān)聯(lián)的"。 圖1中的計(jì)算機(jī)系統(tǒng)的狀態(tài)從能耗的觀點(diǎn)來看是效率低的,因?yàn)閮H僅六個(gè)端口是 活動(dòng)的,如果所有六個(gè)活動(dòng)端口都關(guān)聯(lián)于單個(gè)主控制器的話,這種情況應(yīng)該允許兩個(gè)主控 制器中的一個(gè)斷電。為了實(shí)現(xiàn)這點(diǎn),活動(dòng)端口 P6、 P9和Pll需要將它們的關(guān)聯(lián)從主控制器 1改變到主控制器O,或者活動(dòng)端口 P0、 P2和P5需要將它們的關(guān)聯(lián)從主控制器0改變到主 控制器1。根據(jù)圖1中現(xiàn)有的計(jì)算機(jī)系統(tǒng)的永久性關(guān)聯(lián)方案,這是不可能實(shí)現(xiàn)的。
圖2描述了具有動(dòng)態(tài)的端口關(guān)聯(lián)方案的計(jì)算機(jī)系統(tǒng)的實(shí)施例。圖1中的活動(dòng)端 口在圖2中同樣示出為活動(dòng)的。現(xiàn)在主控制器O能夠與計(jì)算機(jī)系統(tǒng)中設(shè)置的12個(gè)端口 (P0-P11)中的任何一個(gè)動(dòng)態(tài)地關(guān)聯(lián)。因此主控制器0能夠控制6個(gè)活動(dòng)端口 (P0、P2、P5、 P6、 P9和Pll)并且因此主控制器1有機(jī)會(huì)斷電(用斜陰影線示出主控制器1斷電)。
圖2中示出的端口關(guān)聯(lián)邏輯200作為主控制器0和關(guān)聯(lián)端口之間的中間媒介。端 口關(guān)聯(lián)邏輯200具有動(dòng)態(tài)地關(guān)聯(lián)(即,路由)端口與任何給定主控制器的能力。在每個(gè)主 控制器和端口之間連通的所有互連都經(jīng)過端口關(guān)聯(lián)邏輯,其作為允許每個(gè)主控制器具有到 計(jì)算機(jī)系統(tǒng)中每個(gè)端口的互連路徑的解復(fù)用器/復(fù)用器。圖6和7示出了主控制器、端口 關(guān)聯(lián)邏輯和端口之間特定的布線實(shí)現(xiàn)的實(shí)施例。 在不同的實(shí)施例中,端口關(guān)聯(lián)邏輯200可以是計(jì)算機(jī)系統(tǒng)中分立的芯片,它也可 以被集成到包括集成的主控制器的I/O合成體中,或者它可以被實(shí)現(xiàn)在軟件或微碼中,微 控制器使用該軟件或微碼來執(zhí)行關(guān)聯(lián)。軟件或微碼可以存儲(chǔ)在計(jì)算機(jī)系統(tǒng)的設(shè)備內(nèi)部。
在一些實(shí)施例中,存在鏈路202和204,以當(dāng)每個(gè)主控制器需要加電以及當(dāng)它被允 許斷電時(shí),允許端口關(guān)聯(lián)邏輯200來通知每個(gè)主控制器。 圖3描述了使用動(dòng)態(tài)端口關(guān)聯(lián)方案添加活動(dòng)端口的計(jì)算機(jī)系統(tǒng)的實(shí)施例。如上所 述,圖1和2中所示的實(shí)施例描述了主控制器0和主控制器1每個(gè)都能控制最多6個(gè)端口 。 圖2中,主控制器0控制總共6個(gè)端口 。圖3描述的實(shí)例開始于圖2的情形,以及隨后向活 動(dòng)端口列表中添加新活動(dòng)端口。"新活動(dòng)"指的是端口之前是空閑的并且接著一個(gè)事件導(dǎo)致 該端口醒來并離開空閑狀態(tài)。例如,人員將設(shè)備插入到外部端口會(huì)導(dǎo)致該端口變成新活動(dòng) 端口。 在圖3未示出的其他情形中,如果當(dāng)前活動(dòng)的端口少于6個(gè)并添加了新活動(dòng)端口 , 該端口關(guān)聯(lián)邏輯200能夠?qū)⑿禄顒?dòng)端口與已經(jīng)加電并工作的相同主控制器關(guān)聯(lián)。盡管,在 圖3示出的特定情形中,主控制器0操作在具有6個(gè)當(dāng)前活動(dòng)端口的最大能力,并且添加了 第7個(gè)端口。在這種情形中,端口關(guān)聯(lián)邏輯200通知主控制器1醒來并進(jìn)入到完全工作狀態(tài),因?yàn)槎丝?P4已經(jīng)成為新活動(dòng)端口 。因此,主控制器1醒來,接著該端口關(guān)聯(lián)邏輯200動(dòng)態(tài)地關(guān)聯(lián)P4與主控制器l。 當(dāng)設(shè)備在計(jì)算機(jī)工作時(shí)插入到端口時(shí)(稱為"熱插拔"),操作系統(tǒng)中的處理在設(shè)備工作前要花費(fèi)大約若干秒來進(jìn)行確定。在內(nèi)部,使主控制器退出斷電狀態(tài)的處理(無論是時(shí)鐘選通、電源選通等)在最壞的情況下花費(fèi)大約若干微秒或毫秒。因此,在許多實(shí)施例中,對(duì)斷電的主控制器進(jìn)行加電的延遲將被使熱插拔設(shè)備進(jìn)入工作狀態(tài)所需要的更大的操作系統(tǒng)延遲所隱藏。 圖4描述了使用動(dòng)態(tài)端口關(guān)聯(lián)方案添加活動(dòng)端口到最大可允許端口數(shù)量的計(jì)算機(jī)系統(tǒng)的實(shí)施例。在圖4中,圖3中示出的剩余非活動(dòng)端口變?yōu)榛顒?dòng)的并與主控制器1關(guān)聯(lián)。具體地,端口 P1、P3、P4、P7、P8以及P10關(guān)聯(lián)于主控制器1。 盡管圖4所示的當(dāng)前情形最初是由6個(gè)端口變?yōu)榛顒?dòng)的引起的,但這并不意味著端口 P0、P2、P5、P6、P9以及Pll總與主控制器0關(guān)聯(lián)或者P1、P3、P4、P7、P8以及P10總與主控制器1關(guān)聯(lián)。例如,回到圖3,其中7個(gè)端口是活動(dòng)的,如果端口 P6隨后變?yōu)椴换顒?dòng)的,端口關(guān)聯(lián)邏輯200將意識(shí)到再一次僅有6個(gè)端口是活動(dòng)的,并且作為結(jié)果,在許多實(shí)施例中該端口關(guān)聯(lián)邏輯200將會(huì)把端口 P4的關(guān)聯(lián)從主控制器1轉(zhuǎn)換到主控制器0。在執(zhí)行完關(guān)聯(lián)轉(zhuǎn)換之后,端口關(guān)聯(lián)邏輯200將能夠再次對(duì)主控制器1斷電。 圖5描述了使用動(dòng)態(tài)端口關(guān)聯(lián)方案移除所有活動(dòng)端口的計(jì)算機(jī)系統(tǒng)的實(shí)施例。和型譜相反,圖5示出了沒有端口在當(dāng)前是活動(dòng)的。在這個(gè)情形中,主控制器0和主控制器1都能斷電。 圖6描述了計(jì)算機(jī)系統(tǒng)中動(dòng)態(tài)端口關(guān)聯(lián)互連的線路布置的實(shí)施例。在這個(gè)實(shí)施例中,有12個(gè)端口 (P0-P11)存在于計(jì)算機(jī)系統(tǒng)中。12個(gè)端口中的每一個(gè)都具有互連(604-626),其將該端口耦合到端口關(guān)聯(lián)邏輯200。 P0通過互連604耦合,Pl通過互連606耦合,等等。另外,在這個(gè)實(shí)施例中,每個(gè)主控制器具有在它們自身與端口關(guān)聯(lián)邏輯200之間的12個(gè)互連(用于主控制器0的項(xiàng)600以及用于主控制器1的項(xiàng)602)。因此,端口關(guān)聯(lián)邏輯200可以使用耦合主控制器與端口關(guān)聯(lián)邏輯200的12個(gè)特定互連中的一個(gè)來動(dòng)態(tài)地匹配端口 (以及來自該端口的相關(guān)互連)與主控制器。 圖7描述了計(jì)算機(jī)系統(tǒng)中動(dòng)態(tài)端口關(guān)聯(lián)互連的線路布置的替代實(shí)施例。在這個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)中還是具有12個(gè)端口 (PO-Pll)。 12個(gè)端口中每一個(gè)都具有將該端口耦合到端口關(guān)聯(lián)邏輯200的互連(604-626)。另外,在這個(gè)實(shí)施例中,每個(gè)主控制器具有在它們自身與端口關(guān)聯(lián)邏輯200之間的6個(gè)互連(用于主控制器0的項(xiàng)700以及用于主控制器1的項(xiàng)702)。因此,該端口關(guān)聯(lián)邏輯200可以使用耦合主控制器與端口關(guān)聯(lián)邏輯200的6個(gè)特定互連中的一個(gè)來動(dòng)態(tài)地匹配端口 (以及來自端口的相關(guān)互連)與主控制器。耦合每個(gè)主控制器與端口關(guān)聯(lián)邏輯200的互連數(shù)量被限定為6是因?yàn)槊總€(gè)主控制器僅能控制6個(gè)端口。因此,在任何給定的時(shí)間,僅需要6個(gè)互連并且它們中的每一個(gè)能被路由(即,關(guān)聯(lián))到12個(gè)端口中的特定一個(gè)端口。 圖8是為了計(jì)算機(jī)系統(tǒng)電源效率而動(dòng)態(tài)關(guān)聯(lián)新活動(dòng)端口與主控制器的過程實(shí)施例的流程圖。該過程由處理邏輯執(zhí)行,該處理邏輯可以是硬件、軟件、或二者的組合。現(xiàn)在參考圖8,該過程從處理邏輯確定計(jì)算機(jī)系統(tǒng)中是否存在新活動(dòng)端口開始(處理框800)。如果沒有新活動(dòng)端口 ,處理邏輯返回并繼續(xù)嘗試確定計(jì)算機(jī)系統(tǒng)中是否有已經(jīng)被激活的新活動(dòng)端口。 當(dāng)處理邏輯確定存在新活動(dòng)端口時(shí),接著確定計(jì)算機(jī)系統(tǒng)中當(dāng)前活動(dòng)端口總數(shù)(處理框802)。特別地,是在新活動(dòng)端口被激活之前確定當(dāng)前活動(dòng)端口總數(shù)。接著處理邏輯利用這個(gè)結(jié)果來檢查計(jì)算機(jī)系統(tǒng)中是否存在任何當(dāng)前活動(dòng)端口 (CAP)(處理框804)。
如果沒有當(dāng)前活動(dòng)端口 ,接著處理邏輯對(duì)主控制器0 (即系統(tǒng)中的第一主控制器)加電(處理框806)。 一旦主控制器0被加電,接著處理邏輯將新活動(dòng)端口與主控制器0關(guān)聯(lián)(處理框808)并結(jié)束該過程。 回到處理框804,如果存在已經(jīng)工作的當(dāng)前活動(dòng)端口,那么處理邏輯確定當(dāng)前活動(dòng)端口數(shù)量是否小于主控制器O的最大關(guān)聯(lián)端口數(shù)量(處理框810)。如果該數(shù)量小于主控制器O的最大容量,那么處理邏輯將新活動(dòng)端口與主控制器O關(guān)聯(lián)(處理框808)并結(jié)束該過程。 回到框810,如果當(dāng)前活動(dòng)端口數(shù)量不小于主控制器0的最大容量,那么處理邏輯確定當(dāng)前活動(dòng)端口數(shù)量是否等于主控制器O的最大關(guān)聯(lián)端口數(shù)量(處理框812)。如果該數(shù)量等于主控制器O的最大容量,那么處理邏輯對(duì)主控制器1 (即系統(tǒng)中的第二主控制器)加電(處理框814)。接著,一旦主控制器l被加電,處理邏輯將新活動(dòng)端口與主控制器l關(guān)聯(lián)(處理框816)并結(jié)束過程。 回到框812,如果當(dāng)前活動(dòng)端口數(shù)量不等于主控制器0的最大容量,那么可以推斷
當(dāng)前活動(dòng)端口數(shù)量大于主控制器l的最大容量。這意味著主控制器l必然已經(jīng)在運(yùn)行。因
此,處理邏輯將新活動(dòng)端口與主控制器1關(guān)聯(lián)(處理框816)并結(jié)束過程。 盡管已經(jīng)結(jié)合特定的兩個(gè)主控制器環(huán)境示出了這個(gè)處理過程,但是在該過程的邏
輯中進(jìn)行某些明顯的修改能夠使其擴(kuò)展到適應(yīng)于2個(gè)以上的任何數(shù)量的主控制器。 圖9是為了計(jì)算機(jī)系統(tǒng)電源效率,停用端口并動(dòng)態(tài)地重新排列關(guān)聯(lián)于主控制器的
剩余端口的過程實(shí)施例的流程圖。該過程由處理邏輯執(zhí)行,該處理邏輯可以是硬件、軟件、
或二者的組合?,F(xiàn)在參考圖9,該過程從處理邏輯確定端口是否已經(jīng)在計(jì)算機(jī)系統(tǒng)中被停用
開始(處理框900)。有許多原因停用端口,例如當(dāng)人員從端口拔出設(shè)備。如果端口未被停
用,處理邏輯返回并繼續(xù)嘗試確定端口是否已經(jīng)在計(jì)算機(jī)系統(tǒng)中被停用。 當(dāng)處理邏輯確定端口已經(jīng)被停用時(shí),那么它確定該端口停用發(fā)生之后計(jì)算機(jī)系統(tǒng)
中當(dāng)前活動(dòng)端口總數(shù)(處理框902)。然后處理邏輯利用該結(jié)果來檢查計(jì)算機(jī)系統(tǒng)中是否存
在任何當(dāng)前活動(dòng)端口 (CAP)(處理框904)。 如果沒有當(dāng)前活動(dòng)端口,那么處理邏輯對(duì)主控制器O(即系統(tǒng)中的第一主控制器)斷電(處理框906)。 一旦主控制器O被斷電,該過程結(jié)束。 回到框904,如果存在任何當(dāng)前活動(dòng)端口仍然在運(yùn)行,那么處理邏輯確定當(dāng)前活動(dòng)端口數(shù)量是否等于主控制器O的關(guān)聯(lián)端口最大數(shù)量(處理框908)。如果該數(shù)量不等于主控制器O的最大容量,那么處理邏輯推斷其大于或小于主控制器O的關(guān)聯(lián)端口最大數(shù)量。在這種情形,不再需要主控制器供電變化,因?yàn)楫?dāng)前加電的主控制器必須保持加電以允許計(jì)算機(jī)系統(tǒng)上的當(dāng)前使用的端口都能保持運(yùn)行狀態(tài)。因此,當(dāng)當(dāng)前活動(dòng)端口數(shù)量不等于主控制器0的最大容量時(shí),結(jié)束該過程。 相反,如果當(dāng)前活動(dòng)端口的數(shù)量等于主控制器0的最大容量,那么處理邏輯確定是否存在任何與主控制器l關(guān)聯(lián)的當(dāng)前活動(dòng)端口 (處理框910)。如果沒有端口當(dāng)前與主控制器1關(guān)聯(lián),那么處理邏輯對(duì)主控制器1斷電(處理框914)并結(jié)束該過程。
回到框910,如果存在至少一個(gè)端口與主控制器1關(guān)聯(lián),那么處理邏輯將所有當(dāng)前與主控制器1關(guān)聯(lián)的當(dāng)前活動(dòng)端口的關(guān)聯(lián)轉(zhuǎn)換到主控制器0 (處理框912)。再一次,如上述結(jié)合圖3討論的其中7個(gè)端口是活動(dòng)的情形,如果端口 P6隨后變?yōu)榉腔顒?dòng)狀態(tài),端口關(guān)聯(lián)邏輯200將意識(shí)到再一次僅有6個(gè)端口是活動(dòng)的,并且作為結(jié)果,在許多實(shí)施例中端口關(guān)聯(lián)邏輯200將會(huì)把端口 P4的關(guān)聯(lián)從主控制器1轉(zhuǎn)換到主控制器0。 在關(guān)聯(lián)已經(jīng)都被轉(zhuǎn)換到主控制器0之后,主控制器1不再具有任何與它關(guān)聯(lián)的活動(dòng)端口。因此,處理邏輯可以接著對(duì)主控制器l斷電(處理框914)并結(jié)束該過程。
再次,盡管已經(jīng)結(jié)合特定的兩個(gè)主控制器環(huán)境示出了這個(gè)處理過程,但是在該過程的邏輯中進(jìn)行某些明顯的修改能夠使其擴(kuò)展到適應(yīng)于2個(gè)以上的任何數(shù)量的主控制器。
因此,公開了用于能量優(yōu)化的動(dòng)態(tài)端口關(guān)聯(lián)的方法、設(shè)備、系統(tǒng)、以及計(jì)算機(jī)可讀介質(zhì)的實(shí)施例。已經(jīng)結(jié)合特定的示例性實(shí)施例描述了這些實(shí)施例。對(duì)于受益于本公開的人員來說是顯然的,可以在不背離本文描述的實(shí)施 的更寬精神和范圍的情況下對(duì)這些實(shí)施例進(jìn)行各種修改和變化。說明書和附圖相應(yīng)地被認(rèn)為是說明性的而不是限制性的。
權(quán)利要求
一種動(dòng)態(tài)地關(guān)聯(lián)端口以用于節(jié)能的方法,包括當(dāng)計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)小于第一主控制器的最大端口容量數(shù)時(shí),動(dòng)態(tài)地將所述計(jì)算機(jī)系統(tǒng)中的新活動(dòng)端口與所述第一主控制器相關(guān)聯(lián);以及當(dāng)所述計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)大于或等于所述第一主控制器的最大端口容量數(shù)時(shí),動(dòng)態(tài)地將所述計(jì)算機(jī)系統(tǒng)中的新活動(dòng)端口與第二主控制器相關(guān)聯(lián),其中,每一個(gè)端口、所述第一主控制器、以及所述第二主控制器都采用相同的協(xié)議。
2. 如權(quán)利要求1所述的方法,還包括當(dāng)所述計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)小于或等于所述第一主控制器的最大端口 容量數(shù)時(shí),阻止所述第二主控制器加電到工作狀態(tài)。
3. 如權(quán)利要求2所述的方法,還包括當(dāng)所述第一主控制器當(dāng)前工作在該第一主控制器的最大端口容量數(shù)上,且所述第二主 控制器當(dāng)前處于斷電狀態(tài),并且所述計(jì)算機(jī)系統(tǒng)中的另外的端口變?yōu)榛顒?dòng)并請(qǐng)求與主控制 器關(guān)聯(lián)時(shí),允許所述第二主控制器加電到工作狀態(tài)。
4. 如權(quán)利要求3所述的方法,還包括一旦所述第二主控制器是工作的,則動(dòng)態(tài)地將所述另外的端口與所述第二主控制器相 關(guān)聯(lián)。
5. 如權(quán)利要求3所述的方法,還包括當(dāng)所述當(dāng)前活動(dòng)端口總數(shù)小于或等于所述第一主控制器的最大端口容量數(shù)并且一個(gè) 或多個(gè)當(dāng)前活動(dòng)端口保持與所述第二主控制器相關(guān)聯(lián)時(shí),將所述計(jì)算機(jī)系統(tǒng)中的所述一個(gè) 或多個(gè)當(dāng)前活動(dòng)端口的關(guān)聯(lián)從關(guān)聯(lián)于所述第二主控制器改變?yōu)殛P(guān)聯(lián)于所述第一主控制器。
6. 如權(quán)利要求1所述的方法,還包括在新停用端口不再與所述第二主控制器相關(guān)聯(lián)并且在所述計(jì)算機(jī)系統(tǒng)中沒有其它活 動(dòng)端口與所述第二主控制器相關(guān)聯(lián)之后,對(duì)所述第二主控制器斷電。
7. 如權(quán)利要求1所述的方法,其中,所述協(xié)議是通用串行總線協(xié)議。
8. —種動(dòng)態(tài)地關(guān)聯(lián)端口以用于節(jié)能的設(shè)備,包括 計(jì)算機(jī)系統(tǒng)中的端口關(guān)聯(lián)邏輯,用于當(dāng)所述計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)小于第一主控制器的最大端口容量數(shù)時(shí),動(dòng) 態(tài)地將所述計(jì)算機(jī)系統(tǒng)中的新活動(dòng)端口與所述第一主控制器相關(guān)聯(lián);以及當(dāng)所述計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)大于或等于所述第一主控制器的最大端口 容量數(shù)時(shí),動(dòng)態(tài)地將所述計(jì)算機(jī)系統(tǒng)中的新活動(dòng)端口與第二主控制器相關(guān)聯(lián),其中,每一個(gè)端口、所述第一主控制器、以及所述第二主控制器都采用相同的協(xié)議。
9. 如權(quán)利要求8所述的設(shè)備,其中,所述端口關(guān)聯(lián)邏輯還用于當(dāng)所述計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)小于或等于所述第一主控制器的最大端口 容量數(shù)時(shí),阻止所述第二主控制器加電到工作狀態(tài)。
10. 如權(quán)利要求9所述的設(shè)備,其中,所述端口關(guān)聯(lián)邏輯還用于當(dāng)所述第一主控制器當(dāng)前工作在該第一主控制器的最大端口容量數(shù)上,且所述第二主 控制器當(dāng)前處于斷電狀態(tài),并且所述計(jì)算機(jī)系統(tǒng)中的另外的端口變?yōu)榛顒?dòng)并請(qǐng)求與主控制 器關(guān)聯(lián)時(shí),允許所述第二主控制器加電到工作狀態(tài)。
11. 如權(quán)利要求10所述的設(shè)備,其中,所述端口關(guān)聯(lián)邏輯還用于一旦所述第二主控制器是工作的,則動(dòng)態(tài)地將所述另外的端口與所述第二主控制器相 關(guān)聯(lián)。
12. 如權(quán)利要求IO所述的設(shè)備,其中,所述端口關(guān)聯(lián)邏輯還用于當(dāng)所述當(dāng)前活動(dòng)端口總數(shù)小于或等于所述第一主控制器的最大端口容量數(shù)并且一個(gè) 或多個(gè)當(dāng)前活動(dòng)端口保持與所述第二主控制器相關(guān)聯(lián)時(shí),將所述計(jì)算機(jī)系統(tǒng)中的所述一個(gè) 或多個(gè)當(dāng)前活動(dòng)端口的關(guān)聯(lián)從關(guān)聯(lián)于所述第二主控制器改變?yōu)殛P(guān)聯(lián)于所述第一主控制器。
13. 如權(quán)利要求8所述的設(shè)備,其中,所述端口關(guān)聯(lián)邏輯還用于在一個(gè)或多個(gè)端口不再與所述第二主控制器相關(guān)聯(lián)并且在所述計(jì)算機(jī)系統(tǒng)中沒有其 它活動(dòng)端口與所述第二主控制器相關(guān)聯(lián)之后,使所述第二主控制器斷電。
14. 如權(quán)利要求8所述的設(shè)備,其中,所述協(xié)議是通用串行總線協(xié)議。
15. —種動(dòng)態(tài)地關(guān)聯(lián)端口以用于節(jié)能的計(jì)算機(jī)系統(tǒng),包括 第一通用串行總線主控制器; 第二通用串行總線主控制器;以及 端口關(guān)聯(lián)邏輯設(shè)備,用于當(dāng)所述計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)小于所述第一主控制器的最大端口容量數(shù) 時(shí),動(dòng)態(tài)地將所述計(jì)算機(jī)系統(tǒng)中的新活動(dòng)端口與所述第一主控制器相關(guān)聯(lián);以及當(dāng)所述計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)大于或等于所述第一主控制器的最大端口 容量數(shù)時(shí),動(dòng)態(tài)地將所述計(jì)算機(jī)系統(tǒng)中的新活動(dòng)端口與所述第二主控制器相關(guān)聯(lián)。
16. 如權(quán)利要求15所述的計(jì)算機(jī)系統(tǒng),其中,所述端口關(guān)聯(lián)邏輯還用于 當(dāng)所述計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)小于或等于所述第一主控制器的最大端口容量數(shù)時(shí),阻止所述第二主控制器加電到工作狀態(tài)。
17. 如權(quán)利要求16所述的計(jì)算機(jī)系統(tǒng),其中,所述端口關(guān)聯(lián)邏輯還用于 當(dāng)所述第一主控制器當(dāng)前工作在該第一主控制器的最大端口容量數(shù)上,且所述第二主控制器當(dāng)前處于斷電狀態(tài),并且所述計(jì)算機(jī)系統(tǒng)中的另外的端口變?yōu)榛顒?dòng)并請(qǐng)求與主控制 器關(guān)聯(lián)時(shí),允許所述第二主控制器加電到工作狀態(tài)。
18. 如權(quán)利要求17所述的計(jì)算機(jī)系統(tǒng),其中,所述端口關(guān)聯(lián)邏輯還用于 一旦所述第二主控制器是工作的,則動(dòng)態(tài)地將所述另外的端口與所述第二主控制器相關(guān)聯(lián)。
19. 如權(quán)利要求17所述的計(jì)算機(jī)系統(tǒng),其中,所述端口關(guān)聯(lián)邏輯還用于 當(dāng)所述當(dāng)前活動(dòng)端口總數(shù)小于或等于所述第一主控制器的最大端口容量數(shù)并且一個(gè)或多個(gè)當(dāng)前活動(dòng)端口保持與所述第二主控制器相關(guān)聯(lián)時(shí),將所述計(jì)算機(jī)系統(tǒng)中的所述一個(gè) 或多個(gè)當(dāng)前活動(dòng)端口的關(guān)聯(lián)從關(guān)聯(lián)于所述第二主控制器改變?yōu)殛P(guān)聯(lián)于所述第一主控制器。
20. 如權(quán)利要求15所述的計(jì)算機(jī)系統(tǒng),其中,所述端口關(guān)聯(lián)邏輯還用于 在一個(gè)或多個(gè)端口不再與所述第二主控制器相關(guān)聯(lián)并且在所述計(jì)算機(jī)系統(tǒng)中沒有其它活動(dòng)端口與所述第二主控制器相關(guān)聯(lián)之后,使所述第二主控制器斷電。
21. 如權(quán)利要求16所述的計(jì)算機(jī)系統(tǒng),其中,所述端口關(guān)聯(lián)邏輯還用于 防止所述第二主控制器被通過對(duì)該第二主控制器進(jìn)行電源選通而加電到工作狀態(tài)。
22. 如權(quán)利要求16所述的計(jì)算機(jī)系統(tǒng),其中,所述端口關(guān)聯(lián)邏輯還用于 防止所述第二主控制器被通過對(duì)該第二主控制器進(jìn)行時(shí)鐘選通而加電到工作狀態(tài)。
全文摘要
公開一種用于能量優(yōu)化的動(dòng)態(tài)端口關(guān)聯(lián)的方法、設(shè)備、系統(tǒng)以及計(jì)算機(jī)可讀介質(zhì)。在一個(gè)實(shí)施例中,該方法包括動(dòng)態(tài)地將計(jì)算機(jī)系統(tǒng)中的新活動(dòng)端口與第一主控制器相關(guān)聯(lián)。該第一關(guān)聯(lián)發(fā)生在計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)小于第一主控制器的最大端口容量數(shù)時(shí)。該方法還包括動(dòng)態(tài)地將計(jì)算機(jī)系統(tǒng)中的新活動(dòng)端口與第二主控制器相關(guān)聯(lián)。該第二關(guān)聯(lián)發(fā)生在計(jì)算機(jī)系統(tǒng)中的當(dāng)前活動(dòng)端口總數(shù)大于或等于第一主控制器的最大端口容量數(shù)時(shí)。在這種方法中,每一個(gè)端口、該第一主控制器、以及該第二主控制器都使用相同的協(xié)議。
文檔編號(hào)G06F1/32GK101699366SQ20091016692
公開日2010年4月28日 申請(qǐng)日期2009年7月3日 優(yōu)先權(quán)日2008年7月3日
發(fā)明者C·G·波, S·S·細(xì) 申請(qǐng)人:英特爾公司