專利名稱:重新映射引擎的有效利用的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在實現(xiàn)虛擬化的計算機平臺中重新映射引擎轉(zhuǎn)換。
背景技術(shù):
許多計算機平臺使用虛擬化來更有效地管理資源和對資源區(qū)分優(yōu)先級。輸入/輸出(I/O)設(shè)備也可從虛擬化中受益。Intel⑧.公司已經(jīng)發(fā)布了用于直接I/O的虛擬化技術(shù)(VT-d)規(guī)范(2008年9月,修訂版1.0),其中描述了在虛擬化的環(huán)境中利用直接存儲器存取(DMA)使能的1/0設(shè)備的實現(xiàn)細節(jié)。 為了有效地將虛擬地址轉(zhuǎn)換為接收自I/O設(shè)備的DMA請求和中斷請求中的物理存儲器地址,已經(jīng)開發(fā)出執(zhí)行轉(zhuǎn)換的邏輯,稱為重新映射引擎。給定的計算機平臺可以有若干重新映射引擎。VT-d規(guī)范允許給定的I/O設(shè)備,諸如平臺部件互聯(lián)(PCI)或PCI-E鄧ress設(shè)備在單個重新映射引擎的范圍內(nèi)。設(shè)備到重新映射引擎的這種映射可在硬件設(shè)計時實現(xiàn),并且是計算機平臺的設(shè)計的特性。 映射1/0設(shè)備到單個重新映射引擎使得對于虛擬機監(jiān)控器(VMM)或操作系統(tǒng)(OS)來說是不靈活的,并且可能導(dǎo)致性能下降。
發(fā)明內(nèi)容
按照本發(fā)明的一個方面,提供一種設(shè)備,包括重新映射引擎重新分配邏輯,用于
監(jiān)測正在由第一重新映射引擎轉(zhuǎn)換的第一業(yè)務(wù)量;以及當所述第一業(yè)務(wù)量達到第一重新映
射引擎業(yè)務(wù)量閾值級別時,將所述第一業(yè)務(wù)量的一部分轉(zhuǎn)移給第二重新映射引擎來轉(zhuǎn)換。
按照本發(fā)明的另一方面,提供一種系統(tǒng),包括第一設(shè)備和第二設(shè)備;第一重新映
射引擎和第二重新映射引擎,每個重新映射引擎都耦合至所述第一設(shè)備和第二設(shè)備;以及
重新映射引擎重新分配邏輯,耦合至所述第一重新映射引擎和第二重新映射引擎,所述重
新映射引擎重新分配邏輯用于監(jiān)測正在由第一重新映射引擎轉(zhuǎn)換的第一業(yè)務(wù)量;以及當所
述第一業(yè)務(wù)量達到第一重新映射引擎業(yè)務(wù)量閾值級別時,將所述第一業(yè)務(wù)量的一部分轉(zhuǎn)移
給第二重新映射引擎來轉(zhuǎn)換。 按照本發(fā)明的又一方面,提供一種方法,包括監(jiān)測正在由第一重新映射引擎轉(zhuǎn)換的第一業(yè)務(wù)量;以及當所述第一業(yè)務(wù)量達到第一重新映射引擎業(yè)務(wù)量閾值級別時,將所述第一業(yè)務(wù)量的一部分轉(zhuǎn)移給第二重新映射引擎來轉(zhuǎn)換。
通過例子來說明本發(fā)明,本發(fā)明不限于附圖,附圖中類似的符號表明類似的部件,并且其中 圖1示出了重新分配重新映射引擎以在可用的重新映射引擎之間平衡總體重新映射負載的系統(tǒng)和設(shè)備的一個實施例。 圖2是將I/0設(shè)備從一個重新映射引擎遷移到另一個重新映射引擎的過程的一個實施例的流程圖。
具體實施例方式
公開了重新分配重新映射引擎以在可用的重新映射引擎之間平衡總體重新映射
負載的設(shè)備、系統(tǒng)和方法的實施例。在許多情況中,由于特定的所映射的i/o設(shè)備(通過
DMA或中斷請求)所請求的高轉(zhuǎn)換量,計算機平臺上的初始重新映射引擎可能變得壓力較大。計算機平臺內(nèi)的邏輯可以注意到這種壓力大的狀況,并且找到當前沒有壓力的第二重新映射引擎。該邏輯可以將1/0設(shè)備遷移到?jīng)]有壓力的第二重新映射引擎以減輕初始重新映射引擎的負擔(dān)。 一旦遷移完成,所有需要轉(zhuǎn)換的來自1/0設(shè)備的后續(xù)DMA和中斷請求由第二重新映射引擎來轉(zhuǎn)換。 以下描述及權(quán)利要求中提到所公開的技術(shù)的"一個實施例"或"實施例"意味著,結(jié)合實施例來描述的特定的特征、結(jié)構(gòu)或特性包括在所公開的技術(shù)的至少一個實施例中。因此,在整個說明書中各個地方出現(xiàn)的用語"在一個實施例中"并不一定都指的是同一實施例。 在以下描述及權(quán)利要求中,術(shù)語"包括"和"包含"連同它們的派生詞都可能被使用,并且要作為彼此的同義詞來對待。另外,在以下描述及權(quán)利要求中,術(shù)語"耦合"和"連接"以及它們的派生詞可能被使用。應(yīng)當理解,這些術(shù)語并不要作為彼此的同義詞。相反地,在具體實施例中,"連接"可用于表明兩個或更多部件相互直接物理接觸或電接觸。"耦合"可意味著兩個或更多部件直接物理接觸或電接觸。但是,"耦合"也可意味著兩個或更多部件不是相互直接接觸,但是仍然互相協(xié)作或互相影響。 圖1示出重新分配重新映射引擎以在可用的重新映射引擎之間平衡總體重新映射負載的系統(tǒng)和設(shè)備的一個實施例。重新映射重新分配系統(tǒng)可以是包括一個或多個處理器的計算機平臺(即計算機系統(tǒng))的一部分。每個處理器可以具有一個或多個核。在不同的實施例中,處理器可以是Intel⑧品牌的微處理器或其它品牌的微處理器。處理器并未在圖1中示出。 系統(tǒng)包括物理系統(tǒng)存儲器100。在一些實施例中,系統(tǒng)存儲器100可以是一種動態(tài)隨機存取存儲器(DRAM)。例如,系統(tǒng)存儲器可以是一種雙倍數(shù)據(jù)速率(DDR)同步DRAM。在其它實施例中,系統(tǒng)存儲器可以是如閃存之類的其它類型的存儲器。 系統(tǒng)包括直接存儲器存取(DMA)和中斷重新映射邏輯102。諸如DMA和中斷重新映射邏輯102之類的虛擬化重新映射邏輯,通過將諸如I/O設(shè)備1 (104)和I/O設(shè)備2 (106)之類的輸入/輸出(I/O)設(shè)備的DMA限制到預(yù)先分配的物理存儲器區(qū)域,諸如用于I/0設(shè)備1(104)的域A(108)和用于I/0設(shè)備2(106)的域B(110),來保護系統(tǒng)存儲器100的物理區(qū)域。重新映射邏輯也同樣將I/0設(shè)備產(chǎn)生的中斷限制到這些區(qū)域。DMA和中斷重新映射邏輯102可位于系統(tǒng)中的處理器中、系統(tǒng)中的I/0復(fù)合體中或其它地方。1/0復(fù)合體可以是計算機系統(tǒng)內(nèi)的與一個或多個處理器分離的集成電路。I/O復(fù)合體可包括一個或多個I/O主機控制器以促進處理器/存儲器與系統(tǒng)中的一個或多個I/O設(shè)備,諸如I/O設(shè)備1 (104)和I/O設(shè)備2(106)之間的信息交換。雖然在特定實施例中,DMA和中斷重新映射邏輯102可以集成到I/0復(fù)合體中,但是I/0復(fù)合體的其它部分未在圖1中示出。在一些實施例中,諸如在許多芯片上系統(tǒng)的實施例中,1/0復(fù)合體可以集成到處理器中,因此,在這些實施例
6中,如果DMA和中斷重新映射邏輯102集成到I/O復(fù)合體中,則也會因此集成到處理器中。
在一些允許在計算機系統(tǒng)內(nèi)的虛擬化環(huán)境的實施例中,DMA和中斷重新映射邏輯 102可通過虛擬機監(jiān)控器(VMM)來編程。在其它實施例中,DMA和中斷重新映射邏輯102可 通過操作系統(tǒng)(OS)來編程。 在許多實施例中,I/O設(shè)備1(104)和I/O設(shè)備2 (106)是可DMA的并且可中斷的 設(shè)備。在這些實施例中,DMA和中斷重新映射邏輯102將來自1/0設(shè)備的每個到來的DMA 請求和中斷的地址轉(zhuǎn)換為系統(tǒng)存儲器100中正確的物理存儲器地址。在許多實施例中,DMA 和中斷重新映射邏輯102基于VMM或OS提供的信息來檢查是否許可訪問轉(zhuǎn)換的物理地址。
DMA和中斷重新映射邏輯102使V匪或0S能創(chuàng)建多個DMA保護域,諸如用于I/O 設(shè)備1(104)的域A(108)和用于I/0設(shè)備2(106)的域B(llO)。每個保護域是包含主機物 理存儲器的子集的隔離的環(huán)境。DMA和中斷重新映射邏輯102使V匪或0S能把一個或多個 I/O設(shè)備分配到保護域。當任何給定的I/O設(shè)備試圖獲得對系統(tǒng)存儲器100中的某個存儲 器位置的訪問時,DMA和中斷重新映射邏輯102查詢重新映射頁面表112以確定是否許可 該1/0設(shè)備對該特定保護域的訪問。如果1/0設(shè)備試圖訪問其被允許訪問的范圍以外的范 圍,DMA和中斷重新映射邏輯102阻止訪問并向VMM或OS報告錯誤。 在許多實施例中,存在兩個或更多重新映射引擎,諸如集成在DMA和中斷重新映 射邏輯102中的重新映射引擎1(114)和重新映射引擎2(116)。每個重新映射引擎包括處 理來自一個或多個I/0設(shè)備的DMA請求和中斷流的邏輯。重新映射引擎一般開始被分配給 特定的I/0設(shè)備。例如,重新映射引擎1(114)可被分配為處理從I/O設(shè)備1(104)接收的 對域A(108)的DMA請求和中斷,重新映射引擎2(116)可被分配為處理從I/O設(shè)備2 (106) 接收的對域B(llO)的DMA請求和中斷。 雖然最初可分配重新映射引擎為特定I/O設(shè)備將DMA請求和中斷轉(zhuǎn)換到物理地 址,但是在許多實施例中,重新映射重新分配邏輯118可因所觀察的工作量而動態(tài)地修改 對于每個重新映射引擎的這些初始分配。在許多實施例中,DMA和中斷重新映射邏輯102 以及重新映射重新分配邏輯118都被用在利用了 1/0虛擬化技術(shù)的計算機平臺中。例如, I/O設(shè)備1 (104)可能產(chǎn)生非常繁重的DMA請求工作量,而I/O設(shè)備2 (106)處于休眠狀態(tài)。 來自1/0設(shè)備1(104)的繁重的DMA請求工作量可能使重新映射引擎1(114)的容量過載, 這將導(dǎo)致對于來自I/O設(shè)備1(104)以及一個或多個也可能依賴于重新映射引擎1(114)的 附加I/0設(shè)備(未圖示)的請求的執(zhí)行(即響應(yīng)時間)的降級。在這個例子中,重新映射 重新分配邏輯118可能注意到工作量的差異,并決定在重新映射引擎1(114)和另外的未使 用的重新映射引擎2(116)之間平等地分配從I/O設(shè)備1(104)接收的DMA請求工作量。因 此,重新映射引擎2(116)增加的容量將減輕對于重新映射引擎1(114)要求的工作量,并且 可增加對于I/O設(shè)備1 (104)的請求的響應(yīng)度性能。 在另一例子中,可能剛好相反,其中,重新映射引擎2(116)因從I/O設(shè)備2(106) 接收的DMA請求而過載,因此,重新映射重新分配邏輯118可將一部分接收到的工作分配給 重新映射引擎1(114)。在又一例子中,初始分配到重新映射引擎1(114)的第三I/0設(shè)備 (未圖示)可能發(fā)送大量的中斷業(yè)務(wù)量給重新映射引擎1(114)以進行轉(zhuǎn)換。這個來自1/ 0設(shè)備3的中斷業(yè)務(wù)量可能比來自I/O設(shè)備1和2組合的DMA和中斷請求加起來的業(yè)務(wù)量 還大。在這個例子中,重新映射重新分配邏輯118可以讓重新映射引擎1(114)處理來自1/0設(shè)備3的即將到來的請求,但也可重新分配I/0設(shè)備1(104)給重新映射引擎2(116)。因 此,重新映射引擎2(116)可能現(xiàn)在需要同時為1/0設(shè)備1和2轉(zhuǎn)換即將到來的請求。
在許多DMA和中斷業(yè)務(wù)量情況中,重新映射重新分配邏輯118可嘗試將DMA請求 從一個重新映射引擎重新分配給另一個重新映射引擎,以便在所有可用的重新映射引擎之 中均衡接收到的工作量。在圖l沒有示出的許多實施例中,可存在包括總共不止兩個重新 映射引擎的重新映射引擎池。在這些實施例中,重新映射重新分配邏輯118可在池中的每 個重新映射引擎之中再分配工作,以便在整個池之中公平地平衡DMA請求的總數(shù)。在一些 實施例中,如果單個重新映射引擎、例如重新映射引擎1(114)正在執(zhí)行所有的DMA請求工 作,而工作量足夠小以致于沒有對該特定的重新映射引擎的容量造成負擔(dān),則重新映射重
新分配邏輯118可以不重新分配一部分DMA請求工作量。因此,在一些實施例中,一般在給 定的重新映射引擎的工作量已經(jīng)達到重新映射引擎的請求的閾值級別時執(zhí)行重新分配。再 者,在許多實施例中,在利用1/0虛擬化技術(shù)的計算機平臺中同時使用了DMA和中斷重新映 射邏輯102和重新映射重新分配邏輯118。 在許多實施例中,請求的閾值級別是在給定的時間周期中的請求的數(shù)量,它等于 重新映射引擎在性能不下降時能夠處理的極限。因為重新映射引擎接收請求的速率大于重 新映射引擎能夠轉(zhuǎn)換請求的速率,DMA請求隊列堵塞可能引起重新映射引擎性能的下降。重 新映射重新分配邏輯118可利用多種不同方法其中之一來比較DMA請求的當前工作量與閾 值級別。例如,在系統(tǒng)時鐘周期中的請求比率可與閾值比率進行比較。監(jiān)控邏輯可集成于 重新映射重新分配邏輯118中,因為它接收來自I/O設(shè)備組的所有請求并分配每個請求給 重新映射引擎。 在許多實施例中,DMA重新映射邏輯102為VMM或OS提供一個或多個控制寄存器, 以啟用或禁用重新映射重新分配邏輯118在重新映射引擎之間重新分配DMA請求工作量的
能力。在許多實施例中,如果同一組i/o設(shè)備對于每一個重新映射引擎都是可用的,那么這
些重新映射引擎可認為是等價的重新映射引擎。因此,一個重新映射引擎理論上能夠為一 組1/0設(shè)備執(zhí)行DMA請求轉(zhuǎn)換,而第二重新映射引擎是空閑的,相反也同樣成立。如果I/O 設(shè)備對于一個重新映射引擎是可訪問的而對于另一個重新映射引擎卻不是,就不可以認為 這些重新映射引擎是等價的。等價的重新映射引擎允許重新映射重新分配邏輯118自由地 將DMA請求工作量混合并與每一個等價的重新映射引擎相匹配。 當VMM或OS通過一個或多個控制寄存器使得重新映射引擎之間等價時,那么每一 個重新映射引擎可以有效地使用同一組重新映射頁面表112以及任何其它的重新映射相 關(guān)的寄存器來參與DMA請求轉(zhuǎn)換過程。在許多實施例中,一個或多個控制寄存器是位于系 統(tǒng)存儲器中的基于軟件的寄存器,例如控制寄存器120A。在其它實施例中, 一個或多個控制 寄存器是物理上位于DMA重新映射邏輯102中的基于硬件的寄存器,例如控制寄存器120B。
在許多實施例中,DMA重新映射邏輯102可使用Intel ' VT_d規(guī)范中定義的對當 前DRHD (DMA重新映射硬件單元定義)結(jié)構(gòu)的擴展,向VMM或OS傳達兩個或更多重新映射 引擎之間的等價關(guān)系。 每個重新映射引擎具有存儲器中的DRHD結(jié)構(gòu)。例如,DRHD結(jié)構(gòu)可位于系統(tǒng)存儲 器100的重新映射頁面表/結(jié)構(gòu)112部分中。在其它實施例中,DRHD結(jié)構(gòu)可位于系統(tǒng)存儲 器IOO內(nèi)的另一位置中。每個重新映射引擎的DRHD結(jié)構(gòu)包括等價于所討論的重新映射引擎的重新映射引擎的陣列,此陣列稱為"等價DRHD陣列"。此陣列是字段的集合并且定義在 表1中。該陣列用于向V匪或OS傳達這樣的等價。必要時,要由V匪或OS來決定使用初 始分配給給定I/O設(shè)備的重新映射引擎的備選重新映射引擎。
表1.等價DRHD陣列的結(jié)構(gòu)布局。
等價陣列中的單元數(shù)量間接指明這個總字段長度的16位字段
第一個等價單元的基地址這是64位字段。請參見DRHD中的寄 存器基地址(VT-d規(guī)范的8. 3節(jié))
第n個等價單元的基地址在第一字段中指明N 在一些實施例中,重新映射重新分配邏輯118可向VMM或OS報告每個重新映射引 擎的DMA請求轉(zhuǎn)換工作量,這將允許VMM或OS做出關(guān)于是否使能和利用備選重新映射引擎 以減少初始重新映射引擎上的轉(zhuǎn)換壓力的決定。 DMA重新映射邏輯102也可傳送關(guān)于與在重新映射引擎之間遷移重新映射頁面表 相關(guān)的每個重新映射引擎的能力的信息。具體地說, 一旦VMM或OS做出將用于DMA和中斷 請求的映射條目從一個重新映射引擎遷移到另一個重新映射引擎的決定,則可能有基于軟 件的或基于硬件的頁面表拷貝。 在一些實施例中,VMM或OS能夠設(shè)置與新重新分配的I/O設(shè)備相關(guān)的頁面表,然 后將重新映射頁面表從頁面表的舊重新映射引擎存儲器空間拷貝到頁面表的新重新映射 引擎存儲器空間。在其它實施例中,DMA和中斷重新映射邏輯102能夠在重新映射引擎存 儲器空間之間默默地拷貝頁面表。默默地拷貝這些頁面表允許開銷從VMM或OS軟件級中 移除,并且在較低硬件級完成。這可不必具有軟件知識就能進行。 —旦頁面表從舊重新映射引擎存儲器空間拷貝(即遷移)到新重新映射引擎存儲
器空間,新的重新映射引擎是負責(zé)服務(wù)于來自所討論的i/o設(shè)備的所有未來轉(zhuǎn)換請求的重
新映射引擎。舊的重新映射引擎不再負責(zé)該1/0設(shè)備,并且不再轉(zhuǎn)換從該設(shè)備接收的DMA 或中斷請求。 圖2是將I/0設(shè)備從一個重新映射引擎遷移到另一個重新映射引擎的過程的一個
實施例的流程圖。該過程由可以是硬件、軟件或者硬件和軟件這兩者的組合的處理邏輯來
執(zhí)行。該過程從處理邏輯從I/O設(shè)備接收DMA或中斷請求開始(處理塊200)。 處理邏輯確定所分配以服務(wù)于請求的初始重新映射引擎是否在特定時間周期上
已經(jīng)達到它的請求的閾值級別(處理塊202)。該確定可利用執(zhí)行計數(shù)器、時間戳、算法和其
它方法來確定該初始重新映射引擎當前是否有足夠的轉(zhuǎn)換請求,足以使引擎對每個請求的
轉(zhuǎn)換響應(yīng)度惡化。 例如,V匪或OS能夠直接地或通過重新映射重新分配邏輯108查詢每個重新映射 引擎上的重新映射轉(zhuǎn)換壓力的當前狀態(tài),輪詢每個重新映射引擎。在另一個例子中,當重新 映射引擎中的至少一個開始感到轉(zhuǎn)換壓力或?qū)ζ滢D(zhuǎn)換資源的約束時,DMA和中斷重新映射 邏輯102可中斷V匪或0S。在這兩個例子中,DMA和中斷重新映射邏輯102也可傳送關(guān)于 轉(zhuǎn)換壓力的確切性質(zhì)的更詳細的信息,包括引起轉(zhuǎn)換壓力的層級或確切的1/0設(shè)備。當確定是否將I/O設(shè)備的轉(zhuǎn)換條目遷移到另一個等價的重新映射引擎時,VMM或OS可決定使用什么性能信息(如果有的話)。 返回到圖2,如果沒有達到請求的這個閾值級別,處理邏輯令初始重新映射引擎轉(zhuǎn)換DMA或中斷請求,并且該過程完成。 否則,如果已經(jīng)達到請求的閾值級別,則處理邏輯確定一個或多個其它等價重新映射引擎中的哪一個是可用的,而且或者是當前未充分利用的,或者是根本沒有使用的。這可包括確定在給定的后備重新映射引擎中是否有足夠的額外容量以解決增加的設(shè)備業(yè)務(wù)量中涉及的增加的壓力。 —旦發(fā)現(xiàn)可用的后備重新映射引擎,則處理邏輯將用于I/0設(shè)各的重新映射頁面表從初始重新映射引擎遷移到后備重新映射引擎(處理塊206)。 一旦后備重新映射引擎已經(jīng)接收到可用于重新映射的I/O設(shè)備的頁面表,處理邏輯則將DMA或中斷請求轉(zhuǎn)給后備重新映射引擎(處理塊208)并且該過程完成。 在許多實施例中,一旦處理邏輯已經(jīng)核實了存在可用的等價重新映射引擎,則處理邏輯可對在硬件中的控制寄存器(圖1, 120B)編程以指示新的后備重新映射引擎應(yīng)當被認為等價于初始重新映射引擎。 為了適應(yīng)該寄存器編程,全局命令寄存器(當前定義于Intel⑧VT-d規(guī)范中)中
當前保留的字段可為此命令(例如稱為使能等價重新映射引擎的命令)重新定義。出于該
目的,新的重新映射引擎可通過另一個8字節(jié)寄存器來標識。表2示出為核實重新映射引
擎之間的等價而實現(xiàn)對全局命令和狀態(tài)寄存器進行的修改的例子。 表2.用于重新映射引擎等價的全局命令和狀態(tài)寄存器位。
全局命令寄存器位21若設(shè)置為l,新的等價重新映射引擎已經(jīng) 被標識 若設(shè)置為o,任何現(xiàn)有的等價關(guān)系被移除
全局狀態(tài)寄存器位21在硬件完成命令的操作后,該位設(shè)置為1 VMM或OS能夠使得屬于重新映射引擎A的范圍的所有當前設(shè)備等價,或者僅使得當前處于重新映射引擎A的范圍內(nèi)的特定的一組設(shè)備等價。如果不能執(zhí)行等價,DMA和中斷重新映射邏輯102可通過錯誤寄存器傳達這個錯誤狀態(tài)。 因此,公開了重新分配重新映射引擎以在可用的重新映射引擎之間平衡總體重新映射負載的設(shè)備、系統(tǒng)和方法的實施例。這些實施例已經(jīng)參考其具體的示例性實施例進行了描述。對于受益于本公開的人員顯而易見的是,可對這些實施例進行各種修改和變化而不脫離本文描述的實施例的廣義精神和范圍。因此,說明書和附圖應(yīng)當視為說明性的而不是限制性的。
10
權(quán)利要求
一種設(shè)備,包括重新映射引擎重新分配邏輯,用于監(jiān)測正在由第一重新映射引擎轉(zhuǎn)換的第一業(yè)務(wù)量;以及當所述第一業(yè)務(wù)量達到第一重新映射引擎業(yè)務(wù)量閾值級別時,將所述第一業(yè)務(wù)量的一部分轉(zhuǎn)移給第二重新映射引擎來轉(zhuǎn)換。
2. 根據(jù)權(quán)利要求1的設(shè)備,其中所述重新映射引擎重新分配邏輯還能用于 在轉(zhuǎn)移所述第一業(yè)務(wù)量的一部分之前,查詢所述第二重新映射引擎以確定可用的轉(zhuǎn)換容量;以及當所述可用的轉(zhuǎn)換容量能夠服務(wù)于要轉(zhuǎn)移的所述第一業(yè)務(wù)量的一部分時,允許所述轉(zhuǎn)移。
3. 根據(jù)權(quán)利要求2的設(shè)備,其中所述重新映射引擎重新分配邏輯還能用于 確定所述第一重新映射引擎和第二重新映射引擎的容量;以及將所述第一業(yè)務(wù)量的一部分分配給所述第一重新映射引擎和第二重新映射引擎中的 每一個,使得每個引擎具有相對于每個引擎的最大容量而言基本上相同的業(yè)務(wù)量百分比。
4. 根據(jù)權(quán)利要求3的設(shè)備,其中所述重新映射引擎重新分配邏輯還能用于將所述第一業(yè)務(wù)量的一部分轉(zhuǎn)移給一個或多個附加的重新映射引擎,其中所述第一重 新映射引擎、第二重新映射引擎以及一個或多個附加的重新映射引擎均具有相對于每個引 擎的最大容量而言基本上相同的業(yè)務(wù)量百分比。
5. 根據(jù)權(quán)利要求l的設(shè)備,其中所述第一業(yè)務(wù)量包括來自至少第一設(shè)備和第二設(shè)備的 業(yè)務(wù)量。
6. 根據(jù)權(quán)利要求5的設(shè)備,其中轉(zhuǎn)移到所述第二重新映射引擎的所述第一業(yè)務(wù)量的一 部分至少包括來自至少所述第二設(shè)備的業(yè)務(wù)量。
7. 根據(jù)權(quán)利要求1的設(shè)備,其中所述重新映射引擎重新分配邏輯還能用于 監(jiān)測正在由所述第一重新映射引擎和所述第二重新映射引擎轉(zhuǎn)換的第一業(yè)務(wù)量;以及 當所述第一業(yè)務(wù)量回到第一業(yè)務(wù)量閾值級別以下時,將正在由所述第二重新映射引擎轉(zhuǎn)換的所述第一業(yè)務(wù)量的一部分轉(zhuǎn)移至所述第一重新映射引擎。
8. 根據(jù)權(quán)利要求7的設(shè)備,其中所述重新映射引擎重新分配邏輯還能用于 通知電源管理邏輯,在正在由所述第二重新映射引擎轉(zhuǎn)換的所述第一業(yè)務(wù)量的一部分轉(zhuǎn)回給所述第一重新映射引擎之后,可關(guān)閉所述第二重新映射引擎。
9. 一種系統(tǒng),包括 第一設(shè)備和第二設(shè)備;第一重新映射引擎和第二重新映射引擎,每個重新映射引擎都耦合至所述第一設(shè)備和 第二設(shè)備;以及重新映射引擎重新分配邏輯,耦合至所述第一重新映射引擎和第二重新映射引擎,所 述重新映射引擎重新分配邏輯用于監(jiān)測正在由第一重新映射引擎轉(zhuǎn)換的第一業(yè)務(wù)量;以及當所述第一業(yè)務(wù)量達到第一重新映射引擎業(yè)務(wù)量閾值級別時,將所述第一業(yè)務(wù)量的一 部分轉(zhuǎn)移給第二重新映射引擎來轉(zhuǎn)換。
10. 根據(jù)權(quán)利要求9的系統(tǒng),其中所述重新映射引擎重新分配邏輯還能用于在轉(zhuǎn)移所述第一業(yè)務(wù)量的一部分之前,查詢所述第二重新映射引擎以確定可用的轉(zhuǎn)換 容量;以及在所述可用的轉(zhuǎn)換容量能夠服務(wù)于要轉(zhuǎn)移的所述第一業(yè)務(wù)量的一部分時,允許所述轉(zhuǎn)移。
11. 根據(jù)權(quán)利要求10的系統(tǒng),其中所述重新映射引擎重新分配邏輯還能用于 確定所述第一重新映射引擎和第二重新映射引擎的容量;以及將所述第一業(yè)務(wù)量的一部分分配給所述第一重新映射引擎和第二重新映射引擎中的 每一個,使得每個引擎具有相對于每個引擎的最大容量而言基本上相同的業(yè)務(wù)量百分比。
12. 根據(jù)權(quán)利要求11的系統(tǒng),其中所述重新映射引擎重新分配邏輯還能用于 將所述第一業(yè)務(wù)量的一部分轉(zhuǎn)移給一個或多個附加的重新映射引擎,其中所述第一重新映射引擎、第二重新映射引擎以及一個或多個附加的重新映射引擎均具有相對于每個引 擎的最大容量而言基本上相同的業(yè)務(wù)量百分比。
13. 根據(jù)權(quán)利要求9的系統(tǒng),其中所述第一業(yè)務(wù)量包括來自至少所述第一設(shè)備和所述 第二設(shè)備的業(yè)務(wù)量。
14. 根據(jù)權(quán)利要求13的系統(tǒng),其中轉(zhuǎn)移給所述第二重新映射引擎的所述第一業(yè)務(wù)量的 一部分至少包括來自至少所述第二設(shè)備的業(yè)務(wù)量。
15. 根據(jù)權(quán)利要求9的系統(tǒng),其中所述重新映射引擎重新分配邏輯還能用于 監(jiān)測正在由所述第一重新映射引擎和所述第二重新映射引擎轉(zhuǎn)換的第一業(yè)務(wù)量;以及 當所述第一業(yè)務(wù)量返回至第一業(yè)務(wù)量閾值級別以下時,將正在由所述第二重新映射引擎轉(zhuǎn)換的所述第一業(yè)務(wù)量的一部分轉(zhuǎn)移給所述第一重新映射引擎。
16. 根據(jù)權(quán)利要求15的系統(tǒng),還包括電源管理邏輯,用來管理供給至少所述第一重新映射引擎和第二重新映射引擎中每一 個的電力,其中所述重新映射引擎重新分配邏輯還能用于通知所述電源管理邏輯,在正在由所述 第二重新映射引擎轉(zhuǎn)換的所述第一業(yè)務(wù)量的一部分轉(zhuǎn)回到所述第一重新映射引擎之后,至少降低供給所述第二重新映射引擎的電量。
17. —種方法,包括監(jiān)測正在由第一重新映射引擎轉(zhuǎn)換的第一業(yè)務(wù)量;以及當所述第一業(yè)務(wù)量達到第一重新映射引擎業(yè)務(wù)量閾值級別時,將所述第一業(yè)務(wù)量的一 部分轉(zhuǎn)移給第二重新映射引擎來轉(zhuǎn)換。
18. 根據(jù)權(quán)利要求17的方法,還包括在轉(zhuǎn)移所述第一業(yè)務(wù)量的一部分之前,查詢所述第二重新映射引擎以確定可用的轉(zhuǎn)換 容量;以及當所述可用的轉(zhuǎn)換容量能夠服務(wù)于要轉(zhuǎn)移的所述第一業(yè)務(wù)量的一部分時,允許所述轉(zhuǎn)移。
19. 根據(jù)權(quán)利要求18的方法,還包括確定所述第一重新映射引擎和所述第二重新映射引擎的容量;以及 將所述第一業(yè)務(wù)量的一部分分配給所述第一重新映射引擎和第二重新映射引擎中的 每一個,使得每個引擎具有相對于每個引擎的最大容量而言基本上相同的業(yè)務(wù)量百分比。
20. 根據(jù)權(quán)利要求19的方法,還包括將所述第一業(yè)務(wù)量的一部分轉(zhuǎn)移至一個或多個附加的重新映射引擎,其中所述第一重 新映射引擎、第二重新映射引擎以及一個或多個附加的重新映射引擎均具有相對于每個引 擎的最大容量而言基本上相同的業(yè)務(wù)量百分比。
21. 根據(jù)權(quán)利要求17的方法,其中所述第一業(yè)務(wù)量包括來自至少第一設(shè)備和第二設(shè)備 的業(yè)務(wù)量。
22. 根據(jù)權(quán)利要求21的方法,其中轉(zhuǎn)移至所述第二重新映射引擎的所述第一業(yè)務(wù)量的 一部分至少包括來自至少所述第二設(shè)備的業(yè)務(wù)量。
23. 根據(jù)權(quán)利要求17的方法,還包括監(jiān)測正在由所述第一重新映射引擎和所述第二重新映射引擎轉(zhuǎn)換的第一業(yè)務(wù)量;以及 當所述第一業(yè)務(wù)量返回至第一業(yè)務(wù)量閾值級別以下時,將正在由所述第二重新映射引 擎轉(zhuǎn)換的所述第一業(yè)務(wù)量的一部分轉(zhuǎn)移至所述第一重新映射引擎。
24. 根據(jù)權(quán)利要求23的方法,還包括通知電源管理邏輯,在正在由所述第二重新映射引擎轉(zhuǎn)換的所述第一業(yè)務(wù)量的一部分 轉(zhuǎn)回到所述第一重新映射引擎之后,可關(guān)閉所述第二重新映射引擎。
全文摘要
公開了一種設(shè)備、系統(tǒng)和方法。在一個實施例中,設(shè)備包括重新映射引擎重新分配邏輯,該邏輯能夠監(jiān)測由第一重新映射引擎轉(zhuǎn)換的第一業(yè)務(wù)量。如果第一業(yè)務(wù)量達到第一重新映射引擎的閾值級別,則該邏輯將轉(zhuǎn)移業(yè)務(wù)量的一部分以由第二重新映射引擎來轉(zhuǎn)換。
文檔編號G06F9/455GK101794238SQ200911000149
公開日2010年8月4日 申請日期2009年12月25日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者R·薩里帕利 申請人:英特爾公司