存儲器管理的制作方法【專利摘要】本公開涉及存儲器管理。數據處理系統4包括存儲有映射數據條目10的轉換后備緩沖器6,該映射數據條目10指示不同物理地址區域的虛擬到物理地址映射。耦合至轉換后備緩沖器6的提示生成器20依賴于轉換后備緩沖器6之內存儲的映射數據條目來生成提示數據。提示生成器20從轉換后備緩沖器6追蹤映射數據條目的加載和映射數據條目的回收。提示數據被提供至存儲器控制器8,該存儲器控制器8控制與相應的不同物理地址區域相對應的數據是如何被存儲在異構存儲器系統之內的,例如,存儲不同區域的存儲器的不同部分的功率狀態,哪一類型的存儲器被用來存儲不同區域。【專利說明】存儲器管理
技術領域:
[0001]本公開涉及數據處理系統領域。更具體地,本公開涉及存儲器系統的控制。【
背景技術:
】[0002]已知提供了生成虛擬地址的數據處理系統,其中虛擬地址被轉換為物理地址,這些物理地址然后被用來尋址存儲器系統。在這樣的系統之內,已知提供了轉換后備緩沖器(TLB),該轉換后備緩沖器在以下的可能性下存儲最近使用的用于執行這樣的虛擬到物理地址轉換的轉換指定數據:在另外的轉換將要求相同轉換指定數據、并且該轉換指定數據可以被從轉換后備緩沖器提供而不是要求在描述整個存儲器地址空間的虛擬到物理地址映射的一組頁表之內進行頁表查找(pagetablewalk)。【
發明內容】[0003]從本公開的一個方面來看提供了用于處理數據的裝置,包括:[0004]映射電路,該映射電路存儲相應地指示虛擬地址空間之內的虛擬地址區域與物理地址空間之內的物理地址區域之間的映射的一個或多個映射數據條目,并且執行從虛擬地址區域之內的虛擬地址到物理地址區域之內的物理地址的映射;[0005]提示生成電路,該提示生成電路被耦合至映射電路,從而依賴于映射電路之內存儲的映射數據條目來生成提示數據;以及[0006]存儲控制電路,該存儲控制電路依賴于提示數據來控制與相應的不同物理地址區域相對應的數據是如何被存儲在存儲器系統之內的。[0007]從本公開的另一方面來看提供了用于處理數據的裝置,包括:[0008]映射裝置,該映射裝置用于存儲相應地指示虛擬地址空間之內的虛擬地址區域與物理地址空間之內的物理地址區域之間的映射的一個或多個映射數據條目,并且用于執行從虛擬地址區域之內的虛擬地址到物理地址區域之內的物理地址的映射;[0009]提示生成裝置,該提示生成裝置被耦合至映射裝置,用于依賴于映射裝置之內存儲的映射數據條目來生成提示數據;以及[0010]存儲控制裝置,該存儲控制裝置用于依賴于提示數據來控制與相應的不同物理地址區域相對應的數據是如何被存儲在存儲器系統之內的。[0011]從本公開的進一步的方面來看提供了處理數據的方法,包括:[0012]存儲相應地指示虛擬地址空間之內的虛擬地址區域與物理地址空間之內的物理地址區域之間的映射的一個或多個映射數據條目[0013]使用一個或多個映射數據條目中的至少一個映射數據條目來執行從虛擬地址區域之內的虛擬地址到物理地址區域之內的物理地址的映射;[0014]依賴于存儲的映射數據條目來生成提示數據;以及[0015]依賴于提示數據來控制與相應的不同物理地址區域相對應的數據是如何被存儲在存儲器系統之內的。[0016]從以下將結合附圖被閱讀的說明性的實施例的詳細描述中,本公開的上述和其他對象、特征、和優點將是顯而易見的。【附圖說明】[0017]圖1示意性地示出了具有異構存儲系統并且采用虛擬到物理地址轉換的數據處理系統;[0018]圖2示意性地示出了可以被存儲在轉換后備緩沖器之內的映射數據條目;[0019]圖3示意性地示出了可以依賴于存儲的映射數據條目被生成的提示數據;[0020]圖4是示意性地示出依賴于接收到的提示數據的DRAM存儲體(Bank)功率控制的流程圖;[0021]圖5是示意性地示出依賴于接收到的提示數據控制存儲器類型和訪問電路功率的流程圖;[0022]圖6是示意性地示出頁表查找如何可以觸發提示生成的流程圖;[0023]圖7是示意性地示出時效受害者(victim)列表的生成的流程圖;[0024]圖8是示意性地示出時效受害者監視器的操作的流程圖;[0025]圖9示意性地示出了其中提示生成器基于多個轉換后備緩沖器來執行監聽請求的數據處理系統;以及[0026]圖10示意性地示出了其中提示生成器使用共享存儲器來追蹤多個轉換后備緩沖器之內的映射數據條目的數據處理系統。【具體實施方式】[0027]圖1用圖表示出了合并處理器核心4的數據處理系統2,該處理器核心4執行程序指令流。這些程序指令中的一些可以是加載指令或存儲指令,它們指定使用虛擬地址(VA)進行訪問的數據的地址。這個虛擬地址被提供至轉換后備緩沖器6,其中該虛擬地址進行虛擬到物理地址轉換以生成物理地址(PA),該物理地址然后被提供至存儲器控制器8。轉換后備緩沖器6存儲多個映射數據條目10。映射數據條目10是從存儲在系統中別的地方的頁表數據12使用頁表查找(類似于這個
技術領域:
中的那些頁表查找技術)來讀取的。頁表數據12描述了與整個存儲器地址空間相關聯的虛擬到物理地址映射,以及其他存儲器屬性。獨立的映射數據條目10指定虛擬到物理地址轉換和針對存儲器頁(為虛擬地址空間(例如,4kB頁)之內的虛擬地址區域和物理地址空間之內的物理地址區域)的存儲器屬性,以及其他存儲器屬性(例如,訪問權限(讀/寫/可執行)、可緩存性、和有關的存儲器頁的其他屬性)。[0028]如果由轉換后備緩沖器6接收到的虛擬地址不具有已經存儲在轉換后備緩沖器6之內的相應的映射數據條目10,則對頁表數據12進行的頁表查找被初始化以讀取適當的映射數據條目,以便該映射數據條目可以被存儲在轉換后備緩沖器6之內以用于將來使用,并且對頁表數據12進行的頁表查找被用于觸發將映射數據條目加載至轉換后備緩沖器6的存儲器訪問。轉換后備緩沖器6相應地可以被考慮用來緩存通過對全部頁表數據12進行頁表查找所讀取的一組最近使用的映射數據條目。如果轉換后備緩沖器6之內針對新讀取的映射數據條目沒有足夠的存儲空間,則當前存儲的映射數據條目10將被回收,從而使得空間對于新條目是可用的。轉換后備緩沖器6是服務以存儲一個或多個映射數據條目(相應地指示虛擬地址空間之內的虛擬地址區域與物理地址空間之內的物理地址區域之間的映射)的映射電路的示例形式。[0029]存儲器控制器8用作存儲控制電路,控制到異構存儲器系統的訪問,在這個示例實施例中,該存儲器控制器8包括第一DRAM存儲器(DRAMO)14、第一非易失性存儲器(NVMO)16、第二非易失性存儲器(NVM1)17、和第二DRAM存儲器(DRAM1)18。這些不同形式的存儲器具有不同性能特征,例如,存儲數據的功率消耗、存儲數據的能量消耗、訪問數據的能量消耗、訪問數據的功率消耗、訪問延遲、易失性和損耗率。作為示例,第一DRAM存儲器14可以是要求定期刷新的高度易失的,由此具有相對高的存儲數據的功率消耗,但是相比于其他形式的存儲器在服務數據時提供最低的訪問延遲。DRAM存儲器14也可以不受損耗影響。相比之下,第二DRAM存儲器18可以具有較低的存儲數據的功率消耗,但是相比于第一DRAM存儲器14具有較高的訪問延遲。非易失性存儲器16和17相比于第一DRAM存儲器14和第二DRAM存儲器18可以具有較低的存儲數據的功率消耗,但是具有較高的訪問延遲,并且還可能受損耗影響,因此數據到存儲器的重復寫入將最終導致至少部分的閃存16的故障。[0030]可見,異構存儲器系統的不同組件的不同性能特征可以具有使這些不同組件將更好地適于存儲不同類型的數據的效果。例如,第一DRAM存儲器14可以很好地適于存儲通過如下方式被操作的數據值:可能期望頻繁地以低延遲讀取和寫入訪問這些數據值,并且調整與DRAM存儲器18相關聯的功率和/或能量花費。第二DRAM存儲器16可以適于存儲大量低延遲敏感數據。非易失性存儲器16可以很好地適于存儲可以被讀取但是不能被寫入的常量參數。如果存儲器控制器18能夠利用適當形式的存儲器來存儲來自物理地址區域的數據以便該數據的訪問特征和使用與被利用來存儲該數據的異構存儲器系統的部分的性能特征相匹配,則可以實現能量節省和性能增益。[0031]被耦合至轉換后備緩沖器6和存儲器控制器8的提示生成器20服務以生成提示數據,該操作依賴于轉換后備緩沖器6之內存儲的映射數據條目10。該提示數據被提供至存儲器控制器8,存儲器控制器8使用該提示數據來控制與相應的不同物理地址區域相對應的數據是如何被存儲在異構存儲器系統(在這個示例中,包括第一DRAM存儲器14、第二DRAM存儲器18、和非易失性存儲器16和17)之內的。在更高水平處,使用提示生成器20和提示數據的示例將是,如果提示生成器20檢測到物理地址區域的映射數據條目已經從轉換后備緩沖器6中被回收,則由轉換后備緩沖器6使用的受害者選擇算法很可能已經將該物理地址區域識別為相對不頻繁地訪問的,并且相應地存儲器控制器8可以對包括該存儲器區域的第一DRAM存儲器14之內的位單元的存儲體進行去電從而節省功率,并且所節省的功率將多于對在用于訪問該數據的延遲中的增加的補償,該延遲中的增加由后續需要對位單元的存儲體進行加電從而獲得到該物理地址區域的訪問所導致。此外,因為映射數據條目將已經從轉換后備緩沖器6中被回收,所以將需要進行相對慢的頁表查找從而重新加載再次訪問該數據所必要的映射數據條目,并且執行這個頁表查找所用的時間將是足夠的,因為對位單元的存儲體進行加電所用的時間將少于用于完成頁表查找的時間,所以對位單元的存儲體進行加電所用的時間可以被隱藏。提示數據可以如何被使用的另一示例是,提示數據可以向存儲器控制器8指示特定的物理地址區域是最適于(在相比于第一DRAM存儲器14和第二DRAM存儲器18具有較長的訪問延遲但具有更低的能量消耗的存儲器(例如,非易失性存儲器16)之內)進行存儲的一個。[0032]圖1同樣示出了訪問電路22和23,該訪問電路22和23被分別提供以控制/協調到第一非易失性存儲器16和第二非易失性存儲器17的數據訪問。如果從提示生成器20被提供至存儲器控制器8的提示數據指示存儲在第一非易失性存儲器16和第二非易失性存儲器17中的相應的一個非易失性存儲器之內的物理地址區域沒有是當前活躍的(如由轉換后備緩沖器6之內不存在任意相應的映射數據條目所指示的),則可以通過多適當的訪問電路22和23進行去電來節省功率。這可能增加訪問延遲,但是能量中的節省可以調整訪問延遲的增加。[0033]圖2示意性地示出了映射數據條目10。在這個示例中,映射數據條目10包括虛擬TAG26和物理TAG28。虛擬TAG26和物理TAG28被用來提供虛擬到物理地址映射。將接收到的虛擬地址與存儲在轉換后備緩沖器6之內的映射數據條目10的虛擬TAG26進行比較來確定適當的映射數據條目是否存在。如果出現命中(Mt),則來自命中的映射數據條目的物理TAG28提供接收到的虛擬地址的部分的轉換,以便可以生成適當的物理地址。映射數據條目10還包括訪問權限數據30(例如,讀取權限、寫入權限、執行權限等等)。可緩存性標志32可以被用來指示來自存儲器區域的數據是否可以被存儲在處理器核心4的緩存之內。可以理解的是,數據處理系統2還可以包括用物理虛擬地址或虛擬地址尋址的一個或多個緩存存儲器(未示出,例如,數據緩存、指令緩存、統一二級緩存等等),由于它們處于轉換后備緩沖器6的下游或與轉換后備緩沖器6并行。映射數據條目10包括使用計數34,使用計數34被轉換后備緩沖器6用來追蹤映射數據條目10要多久一次來執行虛擬到物理地址轉換,并且因此在要求回收映射數據條目時協助選擇適當的受害者。[0034]圖3示意性地出了可以由提示生成器20生成的并且被提供至存儲器控制器8的提示數據38的一個示例形式。在這個示例中,提示數據38包括映射數據條目10之內的數據的所有字段,該映射數據條目10已經從轉換后備緩沖器6被回收或已經被加載至轉換后備緩沖器6。除了這些字段,提示數據38包括標志36,該標志36指定提示數據是否涉及已經從轉換后備緩沖器6被回收的映射數據條目或已經被加載至轉換后備緩沖器6的映射數據條目。[0035]因此,當轉換后備緩沖器6未滿時,錯過(miss)的轉換后備緩沖器將產生頁表查找的觸發和新映射數據條目10的加載以及與該加載的映射數據條目10相對應的提示數據的生成(在回收/加載標志36被設置為指示提示數據涉及映射數據條目加載的情況下)。當映射數據條目的加載發生并且轉換后備緩沖器6已經被充滿時,已經存儲在轉換后備緩沖器6之內的映射數據條目10將被選擇為受害者以用于被替代,并且除了新加載的映射數據條目10的提示數據,關于被回收的映射數據條目的提示數據將被生成(在回收/加載標志36被設置為指示提示數據涉及映射數據條目回收的情況下)。[0036]在一些示例實施例中,提示生成器20之內的受害者緩存40可以服務以在關于映射數據條目回收的提示數據被傳送至存儲器控制器8之前暫時存儲這樣的提示數據,這將在下文中被進一步描述。因此,受害者緩存40可以在使用提示數據38的存儲器控制器8通知回收映射數據條目時中引入延時(或潛在地取消)。[0037]圖4是示意性示出存儲器控制器8如何可以被用來執行DRAM存儲器14之內的不同位單元的存儲體的功率控制的流程圖。圖4的簡單流程圖假定了這樣的示例實施例,其中僅存在DRAM存儲器14,并且物理地址區域的大小與DRAM存儲器14之內的位單元的存儲體大小相對應。在步驟42處,該過程等待直到提示數據被接收。步驟44然后確定提示數據是否涉及映射數據條目回收。如果提示數據涉及映射數據條目回收,則步驟46服務以將存儲有物理地址區域(針對該物理地址區域的映射數據條目已經從轉換后備緩沖器6被回收)的DRAM存儲體切換至低功率狀態。如果步驟44處的確定是提示數據不涉及回收,則其假定涉及加載并且相應地傳遞至步驟48,其中存儲有物理地址區域(針對該物理地址區域的映射數據條目已經被加載至轉換后備緩沖器6)的DRAM存儲體被切換至高功率狀態。DRAM存儲器14由位單元的多個存儲體形成。每個存儲體具有變量操作參數(以功率信號的形式被提供至每個存儲體),該變量操作參數指示該存儲體是應當處于它的低功率狀態(高延時,但是低存儲功率消耗)還是應當處于它的高功率狀態(低延時,但是高存儲功率消耗)。[0038]圖5是示意性示出可以由存儲器控制器8(存儲控制電路)執行的另一形式的控制的流程圖。具體地,存儲器控制器8可以控制哪種存儲器類型被用于存儲特定物理地址區域,以及可以控制用于訪問存儲器系統的不同部分的訪問電路的功率狀態。[0039]在步驟50處,該過程等待直到提示數據被接收。步驟52然后確定提示數據是否指定已經被加載至轉換后備緩沖器6的映射數據條目。如果提示數據涉及加載,則過程進行至步驟54,其中從提示數據的訪問權限作出物理地址區域是否是只讀區域的確定。如果訪問權限指示物理地址區域(針對該物理地址區域的映射數據條目已經被新加載至轉換后備緩沖器6)是只讀區域,則步驟56服務以將有關的物理地址區域的數據從慢速第二NVM存儲器17移動至快速第一NVM存儲器16。例如,數據可以是將被執行的處理操作中使用的數據常量。[0040]如果步驟54處的確定是數據的區域不是只讀的,則過程進行至步驟58,其中數據被移動至快速DRAM存儲器14。這假定物理地址區域正在存儲數據值,例如,該數據值是在下面的過程期間將被頻繁地訪問(讀和寫兩者)的操作數值。[0041]應當理解的是,何處的特定物理地址區域將被存儲(由存儲器控制器8來映射)至異構存儲器系統的選擇將在不同實現方式之間變化并且取決于該實現方式的優先級。上述示例僅通過說明性的方式給出。[0042]如果步驟52處的確定是提示數據不涉及被加載至轉換后備緩沖器6的映射數據條目,則假定提示數據涉及回收。因此,過程遞進至步驟64,其中與回收的映射數據條目相對應的物理地址區域的數據被從其當前位置移動至非易失性存儲器17。在步驟66處,是否存在由存儲器控制器8映射至第一NVM存儲器16的任何物理地址區域(針對該物理地址區域,當前在轉換后備緩沖器之內存在相應的映射數據條目)的確定被做出。如果不存在這樣的區域,則步驟68服務以對第一非易失性存儲器16的訪問電路22進行去電。訪問電路22可以隨后也對第一非易失性存儲器16本身進行去電。如果步驟66的確定是存在由存儲器控制器8映射至閃存16的至少一個物理地址區域(針對該物理地址區域,當前在轉換后備緩沖器6之內存在映射數據條目1),則跳過步驟68。[0043]應當理解的是,圖5中示出的控制可以取決于形成存儲器系統的組件和這些組件的性能特征而變化。[0044]圖6示意性地示出了頁表查找如何可以被用來觸發提示生成的流程圖。步驟74確定頁表查找是否必要。由于轉換后備緩沖器6之內的錯過(由于適當的映射數據條目不可用來基于接收到的虛擬地址來執行必要的虛擬到物理轉換),頁表查找可能是必要的。當頁表查找是必要的時,步驟76初始化頁表查找。專用電路(未示出)可以被用來以類似于本
技術領域:
這些頁表查找的方式執行這樣的頁表查找。步驟78然后等待直到完成頁表查找的最后階段。頁表查找的最后階段是其中虛擬到物理地址轉換被完成并且存儲器區域的其他屬性被讀取的階段。當已經完成頁表查找的最后階段時,步驟80服務以將區域屬性數據(虛擬到物理地址映射、訪問權限、可緩存性等等)發送至轉換后備緩沖器6從而形成映射數據條目10。步驟82然后將該區域屬性數據發送至提示生成器20,在該提示生成器29中該區域屬性數據被用來形成由提示數據生成器20發送至存儲器控制器8的提示數據38。[0045]圖7是示意性地示出存儲在形成提示生成器20的一部分的受害者緩存40之內的時效受害者列表的生成的流程圖。步驟84確定自從步驟84最后一次被執行是否已經存在映射數據條目回收。如果已經存在這樣的回收,則步驟86服務以將映射數據條目添加至存儲在受害者緩存40之內的受害者數據。如果步驟84處的確定是自從步驟84的最后一次執行不存在映射數據條目回收,則處理進行至步驟88,其中有關自從步驟88的最后一次執行是否已經存在映射數據條目加載的確定被做出。如果不存在這樣的映射數據條目加載,則處理返回至步驟84。如果存在這樣的映射數據條目加載,則步驟90確定該映射數據條目加載是否與存儲在受害者緩存之內的映射數據條目(即,最近從轉換后備緩沖器6中被回收的映射數據條目)相匹配。如果存在這樣的匹配,則步驟92服務以從存儲在受害者緩存40之內的這些映射數據條目中清除有關的映射數據條目,并且過程返回至步驟84。因此,如果在預定周期之內映射數據條目再次被訪問,則在映射數據條目已經觸發提示數據的生成之前,可以從受害者列表中移除映射數據條目。(在其他實施例中,該條目的存儲時間可以由訪問來重新設置)。如果步驟90確定不存在這樣的匹配,則映射數據條目加載是新映射數據條目的加載,該新映射數據條目既沒有先前被存儲在轉換后備緩沖器6之內也沒有在一段時間之前從轉換后備緩沖器6中被回收,由此在受害者數據之內不存在相應的條目(下面將結合圖8進行描述)。在這種情況下,步驟94服務以生成關于映射數據條目加載的提示數據。步驟90的動作可以被視為是當這些映射數據條目被存儲在受害者數據之內時抑制映射數據條目加載的提示數據的生成,并且相反當受害者存活至適當的點時刪除被存儲在受害者數據之內的映射數據條目從而抑制關于該受害者的提示數據的生成(如結合圖8所討論的)。[0046]圖8是示意性示出時效受害者監視器生成關于映射數據條目回收的提示數據的流程圖。在步驟96處,過程等待監視器時間達到被存儲在受害者緩存40之內的受害者數據響應于監視器被要求的下一個更新的時間。步驟98服務以增加針對受害者緩存40之內的相應的受害者數據條目所記錄的存儲時間。受害者緩存之內的每個條目與指示該條目已經被存儲在受害者緩存40之內多長時間的數據相關聯。因此,隨著條目處于受害者緩存40之內,它們存儲在受害者緩存之內的存活時間將逐漸地增加。[0047]在步驟100處,做出受害者緩存40中的任意受害者數據條目是否已經達到它們已經被存儲在受害者緩存40之內的閾值時間的確定。如果不存在受害者數據條目已經達到該閾值,則過程返回至步驟96以等待下一個監視器時間。如果存在任意這樣的條目,則步驟102服務以生成這些受害者數據條目的回收提示數據,并且從受害者緩存40中清除這些受害者數據條目。在整體水平,可以發現,當映射數據回收發生在轉換后備緩沖器6之內時,給出該映射數據回收的細節的受害者數據被暫時存儲在受害者緩存40之內,并且如果該映射數據條目沒有被重新加載并且映射數據條目保持被存儲在受害者數據緩存之內大于閾值時間段,則提示數據然后由提示生成器20生成并且被發送至存儲器控制器18。該行為服務以有效地阻止生成關于來自轉換后備緩沖器6的映射數據條目的回收的提示數據,從而避免物理數據區域是如何被存儲中的(由于被重新加載的映射數據條目相對快速地跟隨的回收而出現的)不適當的變化。其中回收數據的生成被阻止并且一旦回收發生沒有受害者緩存被提供給或被用于將回收提示數據發送至存儲器控制器的其他實施例是可能的。[0048]圖9示出了數據處理系統104的另一示例實施例。該數據處理系統104包括多個處理器核心106、108、110、和112,該多個處理器核心106、108、110、和112各自具有相應的用于執行至少虛擬到物理地址轉換的轉換后備緩沖器114、116、118、和120。提示生成器122被耦合至轉換后備緩沖器114、116、118、和120,并且服務以依賴于存儲在各種轉換后備緩沖器114、116、118、和120之內的映射數據條目來生成將被提供至存儲控制器124的提示數據。存儲控制器124服務以控制與不同相應的物理地址區域相對應的數據是如何被存儲在耦合到存儲控制器124的異構存儲器系統之內的。[0049]在這個示例實施例中,當映射數據條目從轉換后備緩沖器114、116、118、和120中的一個轉換后備緩沖器中被回收時,這將由有關的轉換后備緩沖器114、116、118、和120通知給提示生成器122。提示生成器122然后生成被發送至轉換后備緩沖器114、116、118、和120中(沒有發送回收通知)的其他轉換后備緩沖器的監聽請求,從而確定這些其他轉換后備緩沖器114、116、118、和120是否包括有關的映射數據條目的副本。如果返回的監聽響應指示其他轉換后備緩沖器114、116、118、和120中的任意轉換后備緩沖器包括映射數據條目,則抑制生成與被通知的回收相對應的提示數據。相反地,如果監聽響應指示其他轉換后備緩沖器114、116、118、和120中沒有一個包括針對其已經接收到回收的通知的映射數據條目的副本,則生成與該回收相對應的提示數據被允許進行,并且該提示數據被提供至存儲器控制器124。存儲器控制器124然后可以控制與相應的不同物理地址區域相對應的數據是如何依賴于該提示數據被存儲在存儲器系統之內的(例如,如先前所討論的)。[0050]圖10示意性地示出了數據處理系統126的另外的示例實施例。在這個實施例中,多個處理器128、130、132、和134被各自提供有它們自己的轉換后備緩沖器136、138、140、和142以執行至少虛擬到物理地址轉換。提示生成器144服務以從轉換后備緩沖器136、138、140、和142接收映射數據條目回收和加載的通知。提示生成器144具有相關聯的共享存儲器146,在該共享存儲器146中提示生成器144追蹤存儲在轉換后備緩沖器136、138、140、和142中的任意轉換后備緩沖器之內的所有映射數據條目。在共享存儲器146之內,識別每個映射數據條目,并且關于每個轉換后備緩沖器136、138、140、和142的、與其相關聯的標志位指示該映射數據條目的副本是否被存儲在相應的轉換后備緩沖器136、138、140、和142之內。[0051]當提示生成器144被通知回收映射數據條目時,則提示生成器144從共享存儲器146之內的相應的條目來確定在該回收之后其他轉換后備緩沖器136、138、140、和142中的任意轉換后備緩沖器是否正在存儲該映射數據的條目的副本,并且如果沒有存儲,則生成對應于該回收的提示數據。如果映射數據條目的其他副本被存儲在轉換后備緩沖器136、138、140、和142中的其他轉換后備緩沖器之內(如由存儲在共享存儲器146之內的數據所指示的),則抑制生成與該回收相對應的提示數據。提示生成器144還通過在共享存儲器146之內設置標志/條目來追蹤映射數據條目加載。[0052]如上可見,存在各種不同的可能的方式,其中可以使用指示在映射數據條目在映射電路之內存儲的提示數據來實現對與相應的不同物理地址區域相對應的數據是如何被存儲在存儲器系統之內的控制。例如,存儲控制電路可以服務以控制在給定的時間異構存儲器系統的哪些部分是加電狀態或去電狀態,和/或控制哪些不同物理地址區域被映射在該異構存儲器系統之內以便將所使用的異構存儲器系統的部分的性能特征與使用該區域(可以從映射電路之內存儲的相應的映射數據條目來確定)的特征相匹配。[0053]提示數據可以采用多種不同的形式。例如,通過追蹤所有加載和回收、或通過在給定時間點定期性地提供指示映射電路之內的映射數據條目的全部內容的數據,提示數據可以指示映射數據條目何時已經被從映射電路中移除、指示映射數據條目何時已經被存儲在映射電路之內、或指示哪些映射數據條目被存儲在映射電路之內。[0054]在前述示例中,映射電路已經采用了轉換后備緩沖器的形式。使用不同形式的映射電路也是可能的。[0055]在上述示例實施例中,映射數據條目已經從使用頁表數據查找所訪問的頁表數據中被讀取。映射數據以其他方式(例如,數據被存儲在配置寄存器等等之內)被導出的其他實施例也是可能的。[0056]上述關于對與相應的不同物理地址區域相對應的數據是如何可以被執行的控制的方式的各種技術僅是示例,這些或其他技術可以根據本文的教導以不同組合和子組合被利用(如適于本技術的特定實現的)。[0057]雖然本文已經參考附圖詳細描述了說明性的實施例,但是應當理解的是,權利要求不受這些明確的實施例的限制,并且在不偏離所附權利要求的范圍和精神的情況下本領域的技術人員可以在其中實現各種變化、附加、和修改。例如,可以用獨立權利要求的特征做出從屬權利要求的特征的各種組合。【主權項】1.一種用于處理數據的裝置,包括:映射電路,所述映射電路存儲相應地指示虛擬地址空間之內的虛擬地址區域與物理地址空間之內的物理地址區域之間的映射的一個或多個映射數據條目,并且執行從所述虛擬地址區域之內的虛擬地址到所述物理地址區域之內的物理地址的映射;提示生成電路,所述提示生成電路被耦合至所述映射電路,從而依賴于所述映射電路之內存儲的映射數據條目來生成提示數據;以及存儲控制電路,所述存儲控制電路依賴于所述提示數據來控制與相應的不同物理地址區域相對應的數據是如何被存儲在存儲器系統之內的。2.如權利要求1所述的裝置,其中,所述提示數據指示映射數據條目在何時已經從所述映射電路中被移除。3.如權利要求1所述的裝置,其中,所述提示數據指示映射數據條目在何時已經被存儲至所述映射電路。4.如權利要求1所述的裝置,其中,所述提示數據指示哪些映射數據條目被存儲在所述映射電路中。5.如權利要求1所述的裝置,其中,所述提示數據指定以下中的一個或多個:至少一個物理地址區域;至少一個虛擬地址區域;訪問權限數據;可緩存性說明數據;以及計數值,所述計數值指示映射數據條目當被存儲在所述映射電路中時已經被用來從虛擬地址映射至物理地址的次數。6.如權利要求1所述的裝置,其中,所述控制數據是如何被存儲的指定所述存儲器系統之內的至少一個區域的變量操作參數的值。7.如權利要求6所述的裝置,其中,所述變量操作參數是所述至少一個區域的功率狀??τO8.如權利要求7所述的裝置,其中:當所述提示數據指示映射數據條目已經被從所述映射電路中移除時,所述存儲控制電路將由所述映射數據條目映射的所述存儲器系統的區域切換至第一功率狀態;以及當所述提示數據指示映射數據條目已經被存儲在所述映射電路中時,所述存儲控制電路將由所述映射數據條目映射的所述存儲器系統的所述區域切換至第二功率狀態,所述第二功率狀態具有比所述第一功率狀態更高的功率消耗。9.如權利要求1所述的裝置,其中,所述控制數據是如何被存儲的指定所述存儲器系統之內的、具有不同性能特征的多個不同區域中的哪一個區域被用來存儲與給定物理地址區域相對應的數據。10.如權利要求9所述的裝置,其中,所述不同性能特征包括以下中的一個或多個:存儲數據的功率消耗;存儲數據的能量消耗;訪問數據的功率消耗;訪問數據的能量消耗;訪問延遲;易失性;以及損耗率。11.如權利要求1所述的裝置,其中,所述存儲器系統包括多個訪問電路,以訪問存儲在所述存儲器系統的相應的不同部分之內的數據,并且所述控制數據是如何被存儲的控制所述多個訪問電路中的哪些訪問電路是第一功率狀態以及所述多個訪問電路中的哪些訪問電路是第二功率狀態,所述第一功率狀態具有比所述第二功率狀態更高的功率消耗。12.如權利要求1所述的裝置,其中,所述映射電路包括轉換后備緩沖器。13.如權利要求12所述的裝置,其中,所述映射數據條目由通過頁表查找所訪問的頁表數據來指定。14.如權利要求13所述的裝置,其中,基于達到作為將映射數據條目存儲至所述映射電路的一部分的所述頁表查找之內的預定階段,所述提示生成電路生成與所述映射數據條目相對應的提示數據。15.如權利要求1所述的裝置,其中,所述提示生成電路包括存儲識別被從所述映射電路回收的映射數據的受害者數據的受害者緩存。16.如權利要求15所述的裝置,其中,所述受害者數據指示從所述映射電路中被回收的給定映射數據條目,并且如果有所述給定映射數據條目映射的存儲器訪問在大于閾值時間的時間中沒有發生,則與所述給定映射數據條目相對應的提示數據被生成。17.如權利要求1所述的裝置,包括多個處理器,所述多個處理器執行程序指令的相應的流,并且每個處理器具有存儲一個或多個映射數據條目的映射電路的實例,其中,基于將映射數據條目從所述映射電路的實例中移除,一個或多個監聽請求被發送至所述映射電路的其他實例,從而確定是否沒有所述映射電路的實例正在存儲所述映射數據條目,并且如果沒有所述映射電路的實例正在存儲所述映射數據條目,則生成提示數據。18.如權利要求1所述的裝置,包括多個處理器,所述多個處理器執行程序指令的相應的流,每個處理器具有存儲一個或多個映射數據條目的映射電路的實例,和存儲指示所述映射電路的實例中的哪一個映射電路的實例正在存儲哪些映射數據條目的數據的共享電路,其中,基于將映射數據條目從所述映射電路的實例中移除,如果所述共享存儲器指示沒有所述映射電路的實例正在存儲所述映射數據條目,則生成提示數據。19.一種用于處理數據的裝置,包括:映射裝置,所述映射裝置用于存儲相應地指示虛擬地址空間之內的虛擬地址區域與物理地址空間之內的物理地址區域之間的映射的一個或多個映射數據條目,并且用于執行從所述虛擬地址區域之內的虛擬地址到所述物理地址區域之內的物理地址的映射;提示生成裝置,所述提示生成裝置被耦合至所述映射裝置,用于依賴于所述映射裝置之內存儲的映射數據條目來生成提示數據;以及存儲控制裝置,所述存儲控制裝置用于依賴于所述提示數據來控制與相應的不同物理地址區域相對應的數據是如何被存儲在存儲器系統之內的。20.一種處理數據的方法,包括:存儲相應地指示虛擬地址空間之內的虛擬地址區域與物理地址空間之內的物理地址區域之間的映射的一個或多個映射數據條目使用所述一個或多個映射數據條目中的至少一個映射數據條目來執行從所述虛擬地址區域之內的虛擬地址到所述物理地址區域之內的物理地址的映射;依賴于存儲的映射數據條目來生成提示數據;以及依賴于所述提示數據來控制與相應的不同物理地址區域相對應的數據是如何被存儲在存儲器系統之內的。【文檔編號】G06F12/1027GK106066831SQ201610237412【公開日】2016年11月2日【申請日】2016年4月15日公開號201610237412.6,CN106066831A,CN106066831A,CN201610237412,CN-A-106066831,CN106066831A,CN106066831A,CN201610237412,CN201610237412.6【發明人】杰弗里·布雷克,阿里·格哈森·賽迪,米切爾·哈延加【申請人】Arm有限公司