国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于具有定向i/o的虛擬機的熱交換有源存儲器的制作方法

      文檔序號:6357852閱讀:153來源:國知局
      專利名稱:用于具有定向i/o的虛擬機的熱交換有源存儲器的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明的實施例一般涉及系統(tǒng)存儲器管理,并且更具體地涉及指派到虛擬機的系統(tǒng)存儲器的管理。
      背景技術(shù)
      包括虛擬機(VM)的系統(tǒng)允許共享下層(underlying)物理機器及其資源。提供到 VM的虛擬化的軟件層稱作虛擬機監(jiān)視器(VMM)或管理器。VMM充當(dāng)VM的主機。VMM為VM 上執(zhí)行的系統(tǒng)軟件(例如操作系統(tǒng)軟件和應(yīng)用軟件)提供物理機器的抽象。VMM還能夠保留對處理器資源、物理存儲器、中斷管理和數(shù)據(jù)I/O的選擇性控制。I/O虛擬化描述了單個物理I/O單元由不止一個VM來共享的能力?,F(xiàn)有技術(shù)解決方案經(jīng)由軟件模塊來實現(xiàn)I/O虛擬化。因此,到VM存儲器頁面的所有訪問都從CPU發(fā)起, 并且由此引起顯著處理開銷。此外,這種類型的虛擬化不允許指派到VM的裝置直接經(jīng)由直接存儲器訪問(DMA)執(zhí)行存儲器操作。其它現(xiàn)有技術(shù)解決方案經(jīng)由又稱作定向I/O的硬件邏輯來實現(xiàn)I/O虛擬化。在這些解決方案中,裝置的DMA請求被限制到(通過VMM)指派到擁有該裝置的VM的存儲器域和存儲器區(qū)。這些硬件現(xiàn)有技術(shù)解決方案之一可描述為DMA重新映射硬件一即,定位在具有DMA能力的外圍設(shè)備與系統(tǒng)的物理存儲器之間的硬件單元。未修改的驅(qū)動程序可在VM 中無縫運行,VM將對指派到該VM的I/O資源具有完全的特權(quán);但是,由于DMA保護在芯片組級實施,因此對于指派到該VM的I/O裝置,阻止到虛擬機自有的物理頁面外部的物理存儲器的訪問。一些高級計算機服務(wù)器存儲器特征要求“熱拆卸”或“熱交換”存儲器的能力(例如在使用DIMM時將其拆卸)。熱交換存儲器包括將(至少)一個使用中的頁面的內(nèi)容移到另一個頁面,而不打斷正進行的執(zhí)行。如果I/O虛擬化經(jīng)由軟件模塊來完成,則熱交換存儲器在現(xiàn)有技術(shù)中是可能的。 在這種情況下,在頁面內(nèi)容正在被交換時,VMM凍結(jié)各自的VM以阻止競爭訪問。在建立新映射后,將VM解凍,并且隨后的存儲器訪問將重新定向到新映射的頁面。但是,沒有熱交換具有允許定向I/O的I/O虛擬化的VM的頁面的能力。這部分地歸因于VMM能夠凍結(jié)VM執(zhí)行、但對指派到所述VM的裝置沒有控制力的事實。這些指派的裝置能夠在任何時間,甚至當(dāng)那個頁面的熱交換正在進行時,向VM頁面發(fā)出DMA請求。這種競爭情況是危險的,因為它可引起舊頁面與新頁面之間的不一致。

      發(fā)明內(nèi)容
      按照本發(fā)明的一個方面,提供一種系統(tǒng),包括存儲器;處理器;經(jīng)由所述處理器來執(zhí)行的虛擬機(VM);
      4
      虛擬機監(jiān)視器(VMM),所述虛擬機監(jiān)視器經(jīng)由所述處理器來執(zhí)行,以控制所述VM對所述存儲器和所述處理器的訪問;發(fā)出熱頁面交換(HPS)請求,所述HPS請求包括由所述VM和指派給所述VM的裝置中的至少一個使用的虛擬地址、映射到所述虛擬地址的第一存儲器頁面位置、以及第二存儲器頁面位置,以及在所述HPS請求完成以前,阻塞所述VM到所述虛擬地址的訪問;以及DMA重新映射單元(DRU),可操作地耦合到所述處理器和所述存儲器,以接收和校驗所述HPS請求,將所述第一存儲器頁面位置的內(nèi)容復(fù)制到所述第二存儲器頁面位置;將所述虛擬地址從所述第一存儲器頁面位置重新映射到所述第二存儲器頁面位置,以及阻塞到正被重新映射的存儲器的地址的DMA請求。按照本發(fā)明的另一方面,提供一種方法,包括從虛擬機監(jiān)視器(VMM)接收和校驗熱頁面交換(HPQ請求,所述HPS請求包括由至少一個虛擬機(VM)使用的虛擬地址、映射到所述虛擬地址的第一存儲器頁面位置、以及
      第二存儲器頁面位置;在所述HPS請求完成以前阻塞到正被重新映射的存儲器的地址的DMA請求;將所述第一存儲器頁面位置的內(nèi)容復(fù)制到所述第二存儲器頁面位置;以及將所述虛擬地址從所述第一存儲器頁面位置重新映射到所述第二存儲器頁面位置。按照本發(fā)明的另一方面,提供一種設(shè)備,包括第一邏輯,所述第一邏輯接收和校驗熱頁面交換(HPQ,所述HPS請求包括虛擬地址、映射到由至少一個虛擬機(VM)使用的所述虛擬地址的第一存儲器頁面位置、以及第二存儲器頁面位置;裝置接口,所述裝置接口接收DMA請求,所述裝置接口在所述HPS請求完成以前阻塞到正被重新映射的存儲器的地址的DMA請求;以及第二邏輯,所述第二邏輯將所述第一存儲器頁面位置的內(nèi)容復(fù)制到所述第二存儲器頁面位置,以及將所述虛擬地址從所述第一存儲器頁面位置重新映射到所述第二存儲器頁面位置。


      以下描述包括對附圖的討論,附圖具有作為本發(fā)明實施例的實現(xiàn)示例給出的圖解。應(yīng)當(dāng)作為示例而不是限定來理解附圖。如本文所使用的,對一個或多個“實施例”的引用將被理解為描述本發(fā)明的至少一個實現(xiàn)中包含的具體特征、結(jié)構(gòu)或特性。因此,本文中出現(xiàn)的諸如“在一個實施例中”或“在備選實施例中”的短語描述了本發(fā)明的各種實施例和實現(xiàn),并且不一定都指同一個實施例。然而,它們也并不一定是相互排斥的。圖1是利用本發(fā)明實施例的系統(tǒng)的框圖。圖2是DMA重新映射單元的實施例的框圖。圖3是根據(jù)本發(fā)明實施例處理熱頁面交換請求的流程圖。
      圖4示出使熱頁面交換操作期間需要阻塞的DMA請求的數(shù)量為最少的示例過程。下面是某些細(xì)節(jié)和實現(xiàn)的描述,包括可描繪下文所述實施例的部分或全部的附圖的描述,以及討論本文呈現(xiàn)的發(fā)明概念的其它潛在實施例或?qū)崿F(xiàn)。下面提供本發(fā)明的實施例的概述,之后是參照附圖的更詳細(xì)描述。
      具體實施例方式本發(fā)明的實施例涉及用于具有定向I/O的VM的增強DMA功能性。本發(fā)明的實施例慮及以無競爭和有效率的方式進行的有源存儲器單元(例如,頁面)的熱交換。本發(fā)明的示例實施例描述處于芯片組級的增強DMA重新映射單元(DRU)。增強DRU 單元與VMM結(jié)合工作。DRU包括接受來自VMM的頁面交換請求的接口。一旦接收到請求, DRU執(zhí)行頁面交換,同時(至少部分地)阻塞定向到待交換頁面的DMA請求。本發(fā)明的實施例可包含在利用要求存儲器熱交換能力的特征的系統(tǒng)和服務(wù)器中。 所述特征包括例如可靠性、可用性和可服務(wù)性(RAS),諸如離線狀態(tài)的存儲器低功率模式 (其中切斷到DIMM的電力以省電),以及當(dāng)可用存儲器資源改變時將跨節(jié)點VM頁面重新組織為單個節(jié)點的不均勻存儲器訪問(NUMA)節(jié)點親合力。這些特征要求將一個使用中的頁面的內(nèi)容熱交換到另一個頁面而不打斷正進行的執(zhí)行的能力。圖1是利用本發(fā)明實施例的系統(tǒng)的框圖。系統(tǒng)100可包含在系統(tǒng)服務(wù)器、臺式計算機裝置、移動計算機裝置或者利用處理器和系統(tǒng)存儲器的任何其它任意裝置中。如圖1的示例實施例中所示,系統(tǒng)100包括系統(tǒng)存儲器110、處理器120、系統(tǒng)裝置 130-139(例如,外部盤驅(qū)動器、I/O裝置)、以及存儲器控制器150。在這個實施例中,裝置 130-139是具有DMA能力的裝置。系統(tǒng)100可進一步包括VMM 170,以便管理VM 160,包括向VM 160分配存儲器的部分(即,頁面)。VM 160可包含運行各種應(yīng)用的客戶操作系統(tǒng)(即,客戶軟件)。VM 160 和VMM 170都可經(jīng)由處理器120執(zhí)行。VMM 170可進一步管理裝置130-139,并且向VM 160指派所述裝置中的至少一個。 在這個示例實施例中,將裝置130、131和139指派給VM 160。要理解,在備選實施例中,系統(tǒng)可包括多個VM,并且可以任何組合將系統(tǒng)裝置指派給各VM。提供客戶軟件的存儲器地址范圍,即客戶物理地址(GPA)范圍,可能與機器物理地址(MPA)范圍不同。具有DMA能力的裝置130、131和139使用MPA向/從物理存儲器位置傳遞數(shù)據(jù)。但是,在這個實施例中,VM 160的客戶軟件(即,客戶OS)包括控制裝置130、 131和139的裝置驅(qū)動程序,并且因而提供GPA范圍而不是MPA范圍。DRU 155用來進行所要求的地址轉(zhuǎn)換。由于GPA由VMM 170提供,所以GPA范圍必須轉(zhuǎn)換成MPA范圍。在一個實施例中,VMM170采用GPA到MPA轉(zhuǎn)換信息對DRU編程,使得DMA重新映射硬件能夠執(zhí)行必要的轉(zhuǎn)換。這個轉(zhuǎn)換信息在本文中稱作DMA重新映射頁面表(DRPT)。使用DRPT,來自裝置的數(shù)據(jù)這時能夠直接傳遞到適當(dāng)?shù)拇鎯ζ鞯刂?,而不是?jīng)過中間軟件仿真層。存儲器110可包括存儲器的若干單元,例如多個DMM?!盁岵鹦丁被颉盁峤粨Q”存儲器的能力包含在DIMM使用中將其拆卸。熱交換存儲器包含例如將(要掉電/移動的) 第一 DMM中包括的(至少)一個使用中的頁面的內(nèi)容移到(將不會掉電/移動的)第二DIMM中包括的另一個頁面,而不打斷正進行的執(zhí)行。以這種方式交換頁面的操作在本文中稱作熱頁面交換(HPS)。在頁面交換期間,重要的是沒有對該頁面進行訪問。VMM 170能夠凍結(jié)VM 160的執(zhí)行,因而阻止VM 160訪問待交換頁面。VMM170備選地能夠只凍結(jié)到待交換頁面的VM訪問。然而,關(guān)于各裝置可發(fā)出的DMA請求,VMM 170對裝置130、131和139沒有控制力。有可能修改用于裝置130、131和139中的每個的VM 160中的裝置驅(qū)動程序,以便搶先凍結(jié)指派的裝置。在開始頁面交換操作之前,VMM 170可經(jīng)由VM 160向修改的裝置驅(qū)動程序發(fā)送凍結(jié)請求。修改的裝置驅(qū)動程序然后可用信號通知開始熱交換操作是安全的。 一旦熱交換完成,則VMM 170可向修改的裝置驅(qū)動程序發(fā)送解凍請求。但是,這個解決方案由于若干原因而不理想。凍結(jié)/解凍(即,停止/重新開始)裝置的命令是費時的操作。要求不確定的等待時間以確保處理完用于各裝置的所有正進行的DMA請求,并且要求進一步的時間以等待各裝置進入靜止?fàn)顟B(tài)。這能夠進一步對I/O吞吐量發(fā)生影響并影響系統(tǒng)性能。這個附加等待時間可進一步阻止硬件優(yōu)化。更重要的是,由于公知的維護和分發(fā)考慮,避免對現(xiàn)有驅(qū)動程序的修改是更好的。因此,本發(fā)明的實施例包括增強DRU單元155,以便從裝置130-139接收DMA請求并向存儲器控制器150轉(zhuǎn)發(fā)所述請求。DRU單元155還處理由VMM 170發(fā)出的熱頁面交換請求。通過從VMM170去除熱交換執(zhí)行并因而使VMM不再必須消除競爭情況,裝置DMA請求以更有效方式受控。圖2是根據(jù)本發(fā)明的實施例的DRU 155的框圖。DRU 155包括熱頁面交換命令接口(HPSCI) 200,系統(tǒng)VMM能夠通過HPSCI 200把HPS請求通知給DRU。由VMM生成的HPS請求可包括指示待更新的目標(biāo)客戶頁面幀號(GPFN)、由目標(biāo) GPFN映射的原始機器頁面幀號(MPFN)、將由目標(biāo)GPFN映射的新MPFN的信息,以及為HPS 請求指示錯誤和完成信息的狀態(tài)字段。GPFN可備選地稱作“虛擬地址”。要理解,原始MPFN 和新MPFN包含在系統(tǒng)存儲器110中。HPSCI 200對HPS請求執(zhí)行各種有效性檢查。例如,HPSCI 200可確保目標(biāo)GPFN 的映射與原始MPFN —致,或者所請求的交換是否因為沒有將存儲器指派給發(fā)出VM而無法完成。在HPS請求生效后,熱頁面交換代理(HPSA) 210可執(zhí)行頁面交換。HPSA 210從原始MPFN讀出內(nèi)容,然后寫到新MPFN。在一個實施例中,這些存儲器訪問請求與正進行的裝置DMA請求交織。一旦存儲器復(fù)制結(jié)束,HPSA 210然后改變DRPT,以便反映目標(biāo)GPFN到新 MPFN的最近映射。HPSA 210可進一步使內(nèi)部DMA重新映射TLB無效,以避免執(zhí)行HPS之后陳舊的映射條目。DRU 155還包括接受和滿足用于系統(tǒng)裝置的DMA請求的裝置接口 220。因此,DRU 155對裝置DMA請求具有控制力(與VMM相反),并且能夠在必要時阻塞到正被交換的頁面的DMA請求。上述HPSCI可以同步或異步方式植入。圖3是根據(jù)本發(fā)明實施例的HPSCI處理 HPS請求的流程圖。本文所示的流程圖提供各種過程動作的序列的示例。雖然以特定序列或順序示出,但是除非載明,否則能夠修改動作的順序。因此,所示實現(xiàn)應(yīng)當(dāng)僅理解為示例,
      7所示過程能夠以不同順序執(zhí)行,并且一些動作可并行執(zhí)行。另外,在本發(fā)明的各種實施例中,能夠省略一個或多個動作;因此,并非在每一個實現(xiàn)中都要求全部動作。其它過程流是可能的。過程300開始于VMM接收命令以執(zhí)行HPS請求,310。這個HPS請求可以是向VMM 發(fā)出的處理器指令。VMM響應(yīng)于接收所述命令而鎖定DRPT,以免其它命令修改DRPT,320。VMM將諸如目標(biāo)GPFN、原始MPFN和新MPFN的必要熱交換信息編譯到HPS請求中, 330。VMM向DRU的HPSCI發(fā)送HPS請求,同時還阻塞VM訪問相應(yīng)的GPFN,340。在這個實施例中,還阻塞VMM接收其它HPS請求。然后,HPSCI將校驗HPS請求并且將其轉(zhuǎn)發(fā)給HPSA,350。在HPS操作期間應(yīng)當(dāng)阻塞到原始MPFN的訪問。如上所述,阻塞VM訪問原始MPFN(經(jīng)由相應(yīng)的GPFN)。還必須阻塞裝置經(jīng)由DMA請求來訪問原始MPFN。這種阻塞經(jīng)由DRU來做到,360。然后,通過將原始MPFN的內(nèi)容交換到新MPFN來滿足HPS請求,365。HPSA還修改 DRPT,并清洗DMA重新映射TLB 370。HPSA通知HPSCI已經(jīng)滿足了該HPS請求,并且HPSCI 將這個通知進一步送到VMM,380。DRU不阻塞來自系統(tǒng)裝置的DMA請求,390。VMM不阻塞 VM,并且對DRPT解鎖,395。在備選實施例中,HPSCI以異步方式來實現(xiàn)。在這個實施例中,在熱交換操作期間沒有阻塞VMM接收其它HPS請求。在這個實施例中,VMM能夠繼續(xù)將其它HPS請求排隊,并且HPSCI可并行處理這些排隊的請求。在一個實施例中,VMM設(shè)置可服務(wù)的并行請求的數(shù)目的閾值。在上述示例實施例中,阻止裝置在主機交換過程中發(fā)出DMA請求。這些DMA請求可保存在DRU處或各裝置上的某個內(nèi)部緩沖區(qū)中,并且可僅當(dāng)重新建立新映射時處理這些 DMA請求。如果在熱交換操作期間發(fā)出太多DMA請求,則這個實施例具有緩沖區(qū)溢出的風(fēng)險,并且整體性能可能受到負(fù)面影響。圖4示出使HPS操作期間被阻塞的DMA請求的數(shù)量為最少的示例過程。如上所述, 為了熱交換使用中的頁面,舊頁面的全部內(nèi)容必須復(fù)制到新頁面。這個復(fù)制過程必須確保新頁面包括最近的內(nèi)容。在一些系統(tǒng)中,即使阻塞了擁有系統(tǒng)裝置的VM,仍然存在從這些裝置發(fā)出的DMA 訪問(即,寫操作)。此外,雖然客戶軟件通常以頁面為單位(即,4Kb)來管理存儲器,但是存儲器控制器經(jīng)常以高速緩存行為單位(即,64字節(jié))來接受到存儲器DIMM的突發(fā)訪問。因此,將舊頁面復(fù)制到新頁面引起數(shù)十個“高速緩存行”副本-例如,如果將熱交換一個頁面,則存在對那個操作出現(xiàn)的64個“高速緩存行”大小的寫。雖然在整個頁面復(fù)制結(jié)束以前阻塞裝置DMA請求更容易,但是它添加了等待時間和裝置內(nèi)部緩沖區(qū)溢出的風(fēng)險。過程400示出以交織方式處理HPS操作和DMA請求,因此允許裝置在大多數(shù)情況下訪問交換中的頁面。在這個實施例中,內(nèi)部計數(shù)器用來在HPS操作期間跟蹤哪個“高速緩存行”當(dāng)前正在被復(fù)制。因此,當(dāng)DRU接收裝置DMA請求時410,DRU確定與內(nèi)部計數(shù)器關(guān)聯(lián)的所請求的存儲器的位置,420。如果DMA請求是針對比內(nèi)部計數(shù)器更小的“高速緩存行”,430,則這指示存儲器的這個特定部分已經(jīng)被交換,因此DMA目標(biāo)地址將改變并且改為針對新的“高速緩存行”位置(即,新MFPN),435。然后,允許更新的DMA請求,445。如果DMA請求是針對比內(nèi)部計數(shù)器更大的“高速緩存行”,440,則這指示存儲器的這個特定部分尚未被交換,因此允許到原始“高速緩存行”位置(即,原始MFPN)的DMA請求仍然是安全的,445。如果DMA請求是針對與內(nèi)部計數(shù)器相等的“高速緩存行”,則這指示存儲器的這個特定部分當(dāng)前正被交換,并且因此必須阻塞這個DMA請求,以防止競爭情況或存儲器不一致,450。在一個實施例中,DRU單元等待當(dāng)前“高速緩存行”被交換,460,然后更新到新 MPFN的(這時不阻塞的)DMA請求的目標(biāo)地址(即,操作435)。然后允許更新的DMA請求, 445。將理解的是,圖4的示例過程減少了在HPS操作期間需要阻塞的DMA請求的數(shù)目。本文所述的以上稱作過程、服務(wù)器或工具的各種組件可以是用于執(zhí)行所描述功能的部件。本文所描述的各個組件包括軟件或硬件或者它們的組合。組件能夠?qū)崿F(xiàn)為軟件模塊、硬件模塊、特殊目的硬件(例如專用硬件、ASIC、DSP等)、嵌入式控制器、硬連線電路等等。軟件內(nèi)容(例如數(shù)據(jù)、指令、配置)可經(jīng)由包括計算機可讀存儲介質(zhì)的制造產(chǎn)品來提供, 計算機可讀存儲介質(zhì)提供表示能夠被執(zhí)行的指令的內(nèi)容。內(nèi)容可使計算機執(zhí)行本文所描述的各種功能/操作。計算機可讀存儲介質(zhì)包括以計算機(例如計算裝置、電子系統(tǒng)等)可訪問形式來提供(即,存儲和/或傳送)信息的任何機制,諸如可記錄/不可記錄介質(zhì)(例如只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃存裝置等)。內(nèi)容可以是直接可執(zhí)行的(“目標(biāo)”或者“可執(zhí)行”形式)、源代碼或差代碼(“增量”或“補丁” 代碼)。計算機可讀存儲介質(zhì)也可包括能夠從其中下載內(nèi)容的存儲裝置或數(shù)據(jù)庫。計算機可讀介質(zhì)也可包括在銷售或交付時使內(nèi)容存儲于其中的裝置或產(chǎn)品。因此,交付具有已存儲內(nèi)容的裝置或者提供用于通過通信介質(zhì)下載的內(nèi)容可理解為提供具有本文所描述的這種內(nèi)容的制造產(chǎn)品。
      權(quán)利要求
      1.一種系統(tǒng),包括 存儲器;處理器;經(jīng)由所述處理器來執(zhí)行的虛擬機(VM);虛擬機監(jiān)視器(VMM),所述虛擬機監(jiān)視器經(jīng)由所述處理器來執(zhí)行,以 控制所述VM對所述存儲器和所述處理器的訪問;發(fā)出熱頁面交換(HPS)請求,所述HPS請求包括由所述VM和指派給所述VM的裝置中的至少一個使用的虛擬地址、映射到所述虛擬地址的第一存儲器頁面位置、以及第二存儲器頁面位置,以及在所述HPS請求完成以前,阻塞所述VM到所述虛擬地址的訪問;以及 DMA重新映射單元(DRU),可操作地耦合到所述處理器和所述存儲器,以 接收和校驗所述HPS請求,將所述第一存儲器頁面位置的內(nèi)容復(fù)制到所述第二存儲器頁面位置; 將所述虛擬地址從所述第一存儲器頁面位置重新映射到所述第二存儲器頁面位置,以及阻塞到正被重新映射的存儲器的地址的DMA請求。
      2.如權(quán)利要求1所述的系統(tǒng),所述DRU還在所述HPS請求被滿足以前阻塞所有DMA請求。
      3.如權(quán)利要求1所述的系統(tǒng),所述DRU還在所述HPS請求被滿足以前阻塞到所述第一存儲器頁面位置的所有DMA請求。
      4.如權(quán)利要求1所述的系統(tǒng),所述DRU還如果DMA請求的存儲器的地址已經(jīng)被重新映射,則基于所述第二存儲器頁面位置滿足 DMA請求;以及如果DMA請求的存儲器的地址還必須被重新映射,則基于所述第一存儲器頁面位置滿足DMA請求。
      5.如權(quán)利要求1所述的系統(tǒng),所述VMM還在所述HPS請求完成以前阻塞附加HPS請求。
      6.如權(quán)利要求1所述的系統(tǒng),所述VMM還將附加HPS請求排隊,所述DRU與所述HPS請求并行地處理附加HPS請求。
      7.如權(quán)利要求1所述的系統(tǒng),所述HPS請求使能以下操作中的至少一個 切斷到所述第一存儲器頁面位置的電力,以及所述第一存儲器頁面位置的存儲器重新組織。
      8.一種方法,包括從虛擬機監(jiān)視器(VMM)接收和校驗熱頁面交換(HPQ請求,所述HPS請求包括由至少一個虛擬機(VM)使用的虛擬地址、映射到所述虛擬地址的第一存儲器頁面位置、以及第二存儲器頁面位置;在所述HPS請求完成以前阻塞到正被重新映射的存儲器的地址的DMA請求; 將所述第一存儲器頁面位置的內(nèi)容復(fù)制到所述第二存儲器頁面位置;以及將所述虛擬地址從所述第一存儲器頁面位置重新映射到所述第二存儲器頁面位置。
      9.如權(quán)利要求8所述的方法,還包括在所述HPS請求被滿足以前阻塞所有DMA請求。
      10.如權(quán)利要求8所述的方法,還包括如果DMA請求的存儲器的地址已經(jīng)被重新映射,則基于所述第二存儲器頁面位置滿足 DMA請求;以及如果DMA請求的存儲器的地址還必須被重新映射,則基于所述第一存儲器頁面位置滿足DMA請求。
      11.如權(quán)利要求8所述的方法,還包括在所述HPS請求完成以前阻塞附加HPS請求。
      12.如權(quán)利要求8所述的方法,還包括與所述HPS請求并行地處理附加HPS請求。
      13.如權(quán)利要求8所述的方法,還包括切斷到所述第一存儲器頁面位置的電力。
      14.如權(quán)利要求8所述的方法,還包括重新組織所述第一存儲器頁面位置的存儲器。
      15.一種設(shè)備,包括第一邏輯,所述第一邏輯接收和校驗熱頁面交換(HPQ,所述HPS請求包括虛擬地址、 映射到由至少一個虛擬機(VM)使用的所述虛擬地址的第一存儲器頁面位置、以及第二存儲器頁面位置;裝置接口,所述裝置接口接收DMA請求,所述裝置接口在所述HPS請求完成以前阻塞到正被重新映射的存儲器的地址的DMA請求;以及第二邏輯,所述第二邏輯將所述第一存儲器頁面位置的內(nèi)容復(fù)制到所述第二存儲器頁面位置,以及將所述虛擬地址從所述第一存儲器頁面位置重新映射到所述第二存儲器頁面位置。
      16.如權(quán)利要求15所述的設(shè)備,所述裝置接口還在所述HPS請求被滿足以前阻塞所有 DMA請求。
      17.如權(quán)利要求15所述的設(shè)備,所述裝置接口還如果DMA請求的存儲器的地址已經(jīng)被重新映射,則基于所述第二存儲器頁面位置滿足 DMA請求;以及如果DMA請求的存儲器的地址還必須被重新映射,則基于所述第一存儲器頁面位置滿足DMA請求。
      18.如權(quán)利要求15所述的設(shè)備,所述第一邏輯還與所述HPS請求并行地處理附加HPS請求。
      19.如權(quán)利要求15所述的設(shè)備,所述HPS請求使能以下操作中的至少一個 切斷到所述第一存儲器頁面位置的電力,以及所述第一存儲器頁面位置的存儲器重新組織。
      全文摘要
      本發(fā)明名稱為“用于具有定向I/O的虛擬機的熱交換有源存儲器”。本發(fā)明的實施例描述一種從虛擬機監(jiān)視器(VMM)接收熱頁面交換(HPS)請求的DMA重新映射單元(DRU),該HPS請求包括由至少一個虛擬機(VM)使用的、映射到第一存儲器頁面位置的虛擬地址,以及第二存儲器頁面位置。DRU還在HPS請求被滿足以前,阻塞到正被重新映射的存儲器的地址的DMA請求,將第一存儲器頁面位置的內(nèi)容復(fù)制到第二存儲器頁面位置,以及將虛擬地址從第一存儲器頁面位置重新映射到第二存儲器頁面位置。
      文檔編號G06F13/28GK102346683SQ201110089878
      公開日2012年2月8日 申請日期2011年3月31日 優(yōu)先權(quán)日2010年3月31日
      發(fā)明者K·田 申請人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1