一種降低主存存儲器滿負荷運行功耗的方法
【專利摘要】本發(fā)明涉及存儲【技術領域】,尤其涉及一種降低主存存儲器滿負荷運行功耗的方法,在統(tǒng)計一段時間內不同客戶的不同應用程序的不同特征數據的使用頻率并進行排名后,以此區(qū)分主存中的主數據(即熱數據)和輔助數據(即冷數據),將主數據和輔助數據存儲在主存中不同rank中,然后通過自學習的方法統(tǒng)計并學習判斷主存中輔助數據所在的rank由空閑狀態(tài)下進入低功耗模式的最佳切換時間,從而最大程度的降低主存在滿負荷運行下的功耗。
【專利說明】一種降低主存存儲器滿負荷運行功耗的方法
【技術領域】
[0001]本發(fā)明涉及存儲【技術領域】,尤其涉及一種降低主存存儲器滿負荷運行功耗的方法。
【背景技術】
[0002]主存存儲器(DRAM,也被稱為內存或主存)是一種暫時存放處理器(CPU)運算數據以及與硬盤等外部存儲器交換數據的易失性存儲器,它是與CPU進行溝通的橋梁,所有程序的運行都是在主存中進行的,其性能對系統(tǒng)的影響非常大,尤其是在服務器領域內。然而,無論是個人筆記本(PC)還是服務器,主存技術的發(fā)展速度要遠低于CPU甚至硬盤技術,特別在功耗方面。據統(tǒng)計,在服務器級別的應用中主存功耗占整個系統(tǒng)功耗的比例已經超過了 40%,主存功耗已經成為整個系統(tǒng)的瓶頸。
[0003]目前很多技術被提出來以降低主存功耗。一種方法就是主存在不同功耗狀態(tài)之間轉換,如圖1所示,主存主要包含兩個工作狀態(tài):當主存被CPU訪問時,主存所有模塊均處于繁忙工作狀態(tài);當主存沒有被CPU訪問時,即主存空閑狀態(tài)。在空閑狀態(tài)下,由于CPU不訪問主存,為了降低功耗,可以將主存的外圍電路例如時鐘模塊、譯碼模塊、控制模塊等全部關閉,只保留主存的存儲模塊和刷新電路開啟,從而進入低功耗模式下。當CPU再度訪問主存時,主存被喚醒并從低功耗模式下切換至工作模式。雖然這種方法能夠降低功耗,但是在主存被密集訪問應用中卻并非有用。因為主存有時候進入空閑狀態(tài)下的時間非常短,如果此時主存切換至低功耗模式下,很快又會被喚醒至工作模式下,不僅沒有降低多少功耗,還因為頻繁在兩種模式之間切換而造成更多的功耗開銷,并且兩種模式之間的轉換所需的時間開銷還會導致系統(tǒng)性能的降低。
[0004]因此如何找到一種切換預測技術來確定主存何時進入低功耗模式才能夠使系統(tǒng)功耗和性能達到最優(yōu)成為本領域技術人員致力于研宄的方向。
【發(fā)明內容】
[0005]針對上述存在的問題,本發(fā)明公開一種降低主存存儲器滿負荷運行功耗的方法。
[0006]一種降低主存存儲器滿負荷運行功耗的方法,其中,所述主存存儲器中設置有第一 rank集合和第二 rank集合,且所述第一 rank集合包括作111^至rank ,所述第二 rank集合包括『&111^至rank Jri,其中,m和η均為正整數,且n>m> I ;所述方法包括如下步驟:
[0007]步驟S1:預先將所述主存存儲器中存儲的數據劃分為主數據和輔助數據;
[0008]步驟S2:將所述主數據存儲至所述第一 rank集合中,將所述輔助數據存儲至所述第二 rank集合中;
[0009]步驟S3:通過自學習的方法獲取所述第二rank集合中rank^由空閑狀態(tài)進入低功耗模式的最佳模式切換時間,其中,L為正整數,且m < LSn-1;
[0010]其中,當所述第二 rank集合中rank^的主存存儲模塊進入空閑狀態(tài)時,所述rank l的主存存儲模塊等待所述最佳模式切換時間后進入低功耗模式。
[0011]上述的降低主存存儲器滿負荷運行功耗的方法,其中,所述步驟SI包括:
[0012]統(tǒng)計預定時間段內不同客戶的不同應用程序的不同特征數據的使用頻率;
[0013]根據所述使用頻率將所述主存存儲器中存儲的數據劃分為所述主數據和所述輔助數據;
[0014]其中,所述主數據的使用頻率大于所述輔助數據的使用頻率。
[0015]上述的降低主存存儲器滿負荷運行功耗的方法,其中,所述步驟S3包括:
[0016]通過自學習模塊獲取所述第二 rank集合中空閑狀態(tài)進入低功耗模式的最佳模式切換時間。
[0017]上述的降低主存存儲器滿負荷運行功耗的方法,其中,所述自學習模塊統(tǒng)計并學習rank中不同特征數據組合下的x種組合形式的x個最佳模式切換時間,其中,x為正整數。
[0018]上述的降低主存存儲器滿負荷運行功耗的方法,其中,當模式切換時間T小于所述最佳模式切換時間時,rank的主存存儲模塊的平均功耗隨著模式切換時間T的增加而減小,當模式切換時間T大于所述最佳模式切換時間時,rank的主存存儲模塊的平均功耗隨著模式切換時間T的增加而增加。
[0019]上述的降低主存存儲器滿負荷運行功耗的方法,其中,所述步驟S3具體為:
[0020]所述自學習模塊根據rank^的主存存儲模塊的平均功耗獲取所述第二 rank集合中rank^*空閑狀態(tài)進入低功耗模式的最佳模式切換時間。
[0021]上述的降低主存存儲器滿負荷運行功耗的方法,其中,按照不同的時間段分別統(tǒng)計不同客戶的不同應用程序的不同特征數據的使用頻率,并通過自學習的方法獲取不同的時間段內所述第二 rank集合中rank^*空閑狀態(tài)進入低功耗模式的最佳模式切換時間。
[0022]上述的降低主存存儲器滿負荷運行功耗的方法,其中,所述特征數據為實現若干設定功能的指令或數據集合。
[0023]上述的降低主存存儲器滿負荷運行功耗的方法,其中,所述主存存儲器上集成有非易失性存儲器模塊;
[0024]所述非易失性存儲器模塊或所述主存存儲器外部的非易失性存儲器中存儲有所述自學習模塊統(tǒng)計并學習不同特征數據組合下的X種組合形式的X個最佳模式切換時間的統(tǒng)計信息。
[0025]上述的降低主存存儲器滿負荷運行功耗的方法,其中,所述非易失性存儲器模塊中還存儲有固件程序和算法。
[0026]上述的降低主存存儲器滿負荷運行功耗的方法,其中,所述非易失性存儲器模塊為相變隨機存取存儲器、鐵電隨機存取存儲器、磁隨機存取存儲器或電阻式隨機存取存儲器。
[0027]上述的降低主存存儲器滿負荷運行功耗的方法,其中,所述方法應用于計算機系統(tǒng)中,且所述方法還包括如下步驟:
[0028]上電后,所述系統(tǒng)從所述非易失性存儲器模塊或所述外部的非易失性存儲中讀取rank^的最佳模式切換時間;
[0029]當所述第二 rank集合中rank^的主存存儲模塊進入空閑狀態(tài)時,所述rank ^的主存存儲模塊等待所述最佳模式切換時間后進入低功耗模式。
[0030]上述的降低主存存儲器滿負荷運行功耗的方法,其中,所述第一 rank集合中的主存存儲模塊不會進入低功耗模式。
[0031]本發(fā)明公開的一種降低主存存儲器滿負荷運行功耗的方法,在統(tǒng)計一段時間內不同客戶的不同應用程序的不同特征數據的使用頻率并進行排名后,以此區(qū)分主存中的主數據(即熱數據)和輔助數據(即冷數據),將主數據和輔助數據存儲在主存中不同rank中,然后通過自學習的方法統(tǒng)計并學習判斷主存中輔助數據所在的rank由空閑狀態(tài)下進入低功耗模式的最佳切換時間,從而最大程度的降低主存在滿負荷運行下的功耗。
[0032]具體
【專利附圖】
【附圖說明】
[0033]通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發(fā)明及其特征、夕卜形和優(yōu)點將會變得更加明顯。在全部附圖中相同的標記指示相同的部分。并未可以按照比例繪制附圖,重點在于示出本發(fā)明的主旨。
[0034]圖1是主存在工作模式與低功耗模式之間切換的示意圖;
[0035]圖2是主存按訪問頻率分rank的示意圖;
[0036]圖3是本發(fā)明主存按主數據和輔助數據分rank的示意圖;
[0037]圖4是本發(fā)明系統(tǒng)按數據的訪問頻率統(tǒng)計排名的示意圖;
[0038]圖5是本發(fā)明rank為L的主存存儲模塊的示意圖;
[0039]圖6是一段時間范圍內主存工作狀態(tài)的示意圖;
[0040]圖7是rank的主存存儲模塊的功耗隨模式切換時間T變化的曲線示意圖;
[0041]圖8是本發(fā)明不同時間段內系統(tǒng)按數據的訪問頻率統(tǒng)計排名的示意圖;
[0042]圖9是本發(fā)明確定rank的主存存儲模塊的最佳模式切換時間TD的流程示意圖;
[0043]圖10是本發(fā)明增加非易失性存儲器模塊的主存結構示意圖。
【具體實施方式】
[0044]下面結合附圖和具體的實施例對本發(fā)明作進一步的說明,但是不作為本發(fā)明的限定。
[0045]一般來說,一個內存條(DIMM,雙列直插式主存模塊)內包含多個rank,對于rank,我們都知道,內存與處理器之間的數據傳輸接口位寬是64-bit (ECC錯誤校驗的另算),為保持協同工作,每次傳輸都必須保證這一點,但是單顆內存芯片的位寬達不到64-bit,一般都是4-bit、8-bit、16-bit之類的,所以必須將多顆內存芯片組成一個小集體,共同實現64-bit的總位寬。這一小撮內存芯片,就是一個物理Bank(P-Bank),又稱為rank。一個rank是由許多DRAM芯片構成的,rank中最小的數據存取單位一般為一個頁(page)。然后將那些主存訪問頻率高的頁數據(稱之為主存熱數據/主數據)迀移到同一個rank中,主存訪問頻率低的頁數據(稱之為冷數據/輔助數據)迀移到另一個rank中,如圖2所示。對于熱數據/主數據來說,其讀寫頻率較高,進入空閑狀態(tài)的時間也相對較短,不宜在工作模式和低功耗模式之間轉換;冷數據/輔助數據因為訪問頻率相對較低,相對來說就擁有更長的空閑時間,那么就有利于主存模式切換從而進入低功耗模式下以降低整個主存系統(tǒng)功耗。此外還可以通過統(tǒng)計不同rank內的歷史空閑狀態(tài)和時間分布,從而能夠更好的預測何時進入低功耗模式對降低功耗更有利。雖然這種切換預測技術能夠有效的降低主存滿負荷運行功耗,但是其缺點也顯而易見。首先,根據頁數據的訪問頻率進行動態(tài)數據迀移以及根據區(qū)域數據訪問模型進行預測都會產生額外功耗,也會造成處理器訪問延時,比如主存在進行動態(tài)數據迀移的過程中處理器不能對主存進行訪問。其次,這種切換預測技術需要主存控制器來監(jiān)測主存訪問,由于主存控制器位于處理器芯片內,對其進行配置相當復雜,成本也很高。最后,這種狀態(tài)切換預測技術也不能很好的適用于所有的客戶或及其所有的應用程序,因為某個特定的切換預測技術是基于某種主存應用模型而建立的,沒有很好的通用性。
[0046]針對上述問題,本發(fā)明提出一種降低主存滿負荷運行功耗的方法。系統(tǒng)通過統(tǒng)計一段時間內不同客戶的不同應用程序的不同特征數據的使用頻率并進行排名并以此區(qū)分主存中的冷熱數據(即主數據和輔助數據),并將冷熱數據存儲在主存中不同rank中,然后通過自學習的方法統(tǒng)計并學習判斷主存中冷數據所在的rank由空閑狀態(tài)下進入低功耗模式的最佳切換時刻,從而最大程度的降低主存在滿負荷運行下的功耗。
[0047]本發(fā)明提出一種降低主存存儲器滿負荷運行功耗的方法,該主存存儲器中設置有第一 rank集合和第二 rank集合,且第一 rank集合包括作111^至rank ,第二 rank集合包括1&111^至rank Jri,該方法主要包括如下步驟。
[0048]步驟S1:預先將主存存儲器中存儲的數據劃分為主數據和輔助數據。
[0049]步驟S2:將主數據存儲至第一 rank集合中,將輔助數據存儲至第二 rank集合中。
[0050]步驟S3:通過自學習的方法獲取第二rank集合中rank^由空閑狀態(tài)進入低功耗模式的最佳模式切換時間,其中,L為正整數,且m < L ^ n-lo
[0051]其中,當第二 rank集合中rank^的主存存儲模塊進入空閑狀態(tài)時,rank ^的主存存儲模塊在等待最佳模式切換時間后進入低功耗模式。
[0052]具體的,首先,對主存中的rank按所存儲的數據類型進行劃分,這些數據類型可在一段時間內按照不同客戶X所使用的不同應用程序Y下的不同特征數據Z劃分,其中,不同特征數據Z可包括不同的函數(Funct1n)、不同的調用(Call)等,它是可實現一個或多個特定功能(或設定功能)的指令或數據集合。應用程序Y可由一個或多個Z數據構成。這些Z數據按照冷熱程度來劃分,如圖3所示,主存存儲器中1^111^至rank㈠的主存存儲模塊中存儲熱數據,『3111^至rank 中的主存存儲模塊存儲冷數據,其中m和η均為正整數,且n>m> I。熱數據是指CPU片上高速緩存器在一段時間內最不經常或最不頻繁被使用的數據,冷數據是指CPU片上高速緩存器在一段時間內最經常使用或最頻繁被使用的數據。這是因為片上高速緩存器會緩存一段時間內系統(tǒng)最經?;蛘咦铑l繁被訪問的數據,而存儲在主存中的這部分數據就會很少被訪問,系統(tǒng)會直接從片上高速緩存中讀取這部分數據,因而相對來說,片上高速緩存器這些最經?;蜃铑l繁被使用的數據是主存中的冷數據(該冷數據即輔助數據);當片上高速緩存器存儲空間已滿,那么就會將最少被訪問或最不頻繁被訪問的數據替換出去,這些數據對于主存來說,系統(tǒng)就需要經常要從主存中去讀取這些數據,因而對于主存來說這部分數據是熱數據(該熱數據即主數據)。系統(tǒng)通過統(tǒng)計一段時間內不同客戶X所使用的不同應用程序Y中相對應的被使用的數據Z的次數或頻率,并按統(tǒng)計結果排列形成一個表格。如圖4所示的是一示例表格,系統(tǒng)使用頻率排名為r的是客戶X_i所使用的應用程序Y_j下的特征數據Z_k,系統(tǒng)根據這些排名決定所有特征數據應當存放至哪一 rank的主存存儲模塊中:排名較靠前的數據相對于主存來說是冷數據,系統(tǒng)應當將這部分數據存儲至第二 rank集合(即『&111^至rank㈠)的主存存儲模塊中;而排名較靠后的數據相對于主存來說是熱數據,系統(tǒng)應當將這部分數據存儲至第一 rank集合(即的主存存儲模塊中。這樣就完成了主存中的數據劃分。將冷數據存儲在1^111^至rankn_i的主存存儲模塊中,相比熱數據來說,因為系統(tǒng)訪問頻率較低,因而總體來說在空閑狀態(tài)時保持的時間更長,有利于進入低功耗模式下節(jié)省功耗。熱數據存儲在即的主存存儲模塊中,由于這些數據經常要被訪問,因而進入空閑狀態(tài)的時間也較短,不利于進入低功耗模式,因而最優(yōu)方案是一直處于工作/空閑狀態(tài)下,不進入低功耗模式。
[0053]其次,本發(fā)明提出一種自學習的方法來判定1&111^至rank Jri的主存存儲模塊的最佳模式切換時間TD。該模式切換時間是指某個rank中的主存存儲模塊在空閑狀態(tài)時經過時間T之后再切換進入低功耗模式,等待的時間T即為模式切換時間,即在主存的rankL(m彡L彡n_l,且L為正整數)中的所有存儲模塊在空閑狀態(tài)時需等待時間T才能進入低功耗模式,否則一直處于空閑狀態(tài),空閑狀態(tài)時間不足T的時候也不能進入低功耗模式。所述自學習方法是一種通過軟件或硬件實現(稱之為自學習模塊)通過不斷記錄和統(tǒng)計并自學習從而使主存在滿負荷運行功耗達到最小的過程。假設對于rank序號為L(m彡L彡η-1)的主存存儲模塊來說,其上存儲著客戶X_i所使用的應用程序Y_j的若干特征數據Z_k,附圖5所示。例如圖6所示的一段時間范圍內rank的工作狀態(tài)示意圖,在該段時間范圍內,當rank空閑時,經過T時間,該主存存儲模塊進入低功耗模式,即模式切換時間為T。所述一段時間是指能夠表征不同用戶X所使用的不同應用程序Y的不同特征數據Z被使用行為特征的一個時間段,可以是一個小時,一天或者三天等。在該段時間內,自學習模塊控制rank中主存存儲模塊的模式切換時間T,即該主存存儲模塊一旦進入空閑狀態(tài)后等待時間T (前提是該主存存儲模塊進入空閑狀態(tài)的時間長度要大于T),然后進入低功耗模式,自學習模塊監(jiān)測并統(tǒng)計這段時間內的平均功耗。下一次在同樣的時間段內,自學習模塊控制增大或者減小模式切換時間T,然后再檢測并統(tǒng)計該主存模塊在該段時間內的平均功耗。通過不斷改變T的大小,自學習模塊根據其平均功耗的統(tǒng)計、比較和學習來判定最佳的模式切換時間TD。
[0054]下面將具體闡述通過自學習模塊如何得到最佳的模式切換時間TD:
[0055]自學習模塊對一段時間內rank主存存儲模塊的平均功耗隨模式切換時間T的變化統(tǒng)計曲線應如圖7所示的拋物線。在區(qū)域I內,rank主存存儲模塊的平均功耗P隨著模式切換時間T的增加而減小,這是因為模式切換時間太小,該主存存儲模塊不可避免有時剛進入低功耗模式就會被系統(tǒng)喚醒至工作模式,不僅不會節(jié)省功耗,還會造成額外的功耗開銷,因而需要增加模式切換時間才能獲得更低的功耗。在區(qū)域2內,rank主存存儲模塊的平均功耗P隨著模式切換時間T的增加而增加,這是因為模式切換時間T太長,該主存存儲模塊長時間在空閑狀態(tài)下,卻沒有進入低功耗模式,因而消耗更多的待機功耗,因而在這段時間范圍內需要減小模式切換時間才能獲得更低的功耗。自學習模塊得到最佳的模式切換時間TD的過程如圖9所示。在區(qū)域I內,假設一段時間范圍內,該主存存儲模塊在空閑狀態(tài)時經過時間Tl就進入低功耗模式,自學習模塊檢測這段時間內的平均功耗為Pl (O);下一次在同樣的一段時間內,自學習模塊控制該主存存儲模塊在空閑狀態(tài)時經過Tl+ Δ T的時間進入低功耗模式,自學習模塊檢測這段時間內的平均功耗為Pl (I)。結合圖7可以看出,Pl (I) <P1 (O),說明此時的模式切換時間Tl并不能使rank中主存存儲模塊的平均功耗達到最低,自學習模塊通過增加η (η彡O,η為正整數)來增加模式切換時間Τ+η* Δ Τ,直至自學習模塊檢測這段時間內的平均功耗Pl (η+1)大于Pl (η),即得到最佳的模式切換時間TD = Τ1+η* Δ Τ?同理,在區(qū)域2內,假設一段時間范圍內,該主存存儲模塊在空閑狀態(tài)時經過時間T2就進入低功耗模式,自學習模塊檢測這段時間內的平均功耗為P2(0);下次在同樣的一段時間內,自學習模塊控制該主存存儲模塊在空閑狀態(tài)時經過T2- Δ T的時間進入低功耗模式,自學習模塊檢測這段時間內的平均功耗為P2(l)。結合圖7可以看出,P2 (I)〈P2 (O),說明此時的模式切換時間T2并不能使rank (L)中主存存儲模塊的平均功耗達到最低,自學習模塊通過增加η來減小模式切換時間Τ2-η* Δ Τ,直至自學習模塊檢測這段時間內的平均功耗Ρ2 (η+1)大于Ρ2 (η),即得到最佳的模式切換時間TD = Τ2_η* Δ Τ,上述過程即自學習模塊根據rankj^主存存儲模塊的平均功耗獲取第二 rank集合中rank l由空閑狀態(tài)進入低功耗模式的最佳模式切換時間TD的過程。可見,本發(fā)明通過自學習的方法,不斷調節(jié)模式切換時間T,從而能夠最大程度的降低該主存存儲模塊在滿負荷運行時的功耗。
[0056]本發(fā)明系統(tǒng)按照特征數據的訪問頻率來確定該數據應存儲在主存中的哪一個rank主存存儲模塊中,如圖5所示的rank序號為L(L為正整數,且m彡L彡n_l)的主存存儲模塊中存儲了不同客戶X所使用的不同應用程序Y下的若干Z特征數據。若在一段時間范圍內,系統(tǒng)經過統(tǒng)計將Z_1、Z_2、Z_3及Z_4等存儲在rank中,在接下來的自學習或是之后的正常使用過程中,系統(tǒng)應當考慮繼續(xù)將這些數據放在同一 rank中,因為在自學習過程中系統(tǒng)是根據這些特征數據來統(tǒng)計并自學習得到rank的最佳模式切換時間TD,即根據特定用戶的使用習慣的。一旦這些特征數據組合發(fā)生變化,例如一段時間后,該主存存儲模塊中存儲了數據Z_l、Z_5和Z_6,那么自學習模塊需重新經過一段時間的自學習才能得出此時rank的最佳模式切換時間TDl才能達到最小的功耗。如果系統(tǒng)不能繼續(xù)將Z_1、Z_2、Z_3&Z_4等存儲在該主存存儲模塊中,那么自學習模塊應當能夠統(tǒng)計并學習rank(L)不同特征數據組合下的X種組合形式的X個最佳模式切換時間TD,其中X為正整數。
[0057]考慮到用戶在不同時間段內的使用習慣有可能不同,即特征數據內容或訪問頻率差異也非常大,因而在不同的時間段內,如圖4所示的表格內容有可能不同,所以導致對不同時間段某個用戶的不同使用習慣,經過一段時間的統(tǒng)計需要將不同的特征數據放入rank中。例如某個服務器使用公司或用戶在白天和在晚上對主存滿負荷訪問時的特定數據訪問頻率和內容可能是完全不同的,因而自學習模塊在白天統(tǒng)計和自學習的結果并不能適用于晚上的情形,因此系統(tǒng)在統(tǒng)計特征數據使用頻率的過程中,可以按不同的時間段分別統(tǒng)計特征數據使用頻率進而重新排序,然后進行不同的自學習過程,得出針對rank在不同時間段內的TD。例如圖8所示的系統(tǒng)統(tǒng)計表格中就考慮了在不同的時間段內的特征數據使用頻率排名,顯然可以看出,在不同的時間段內,系統(tǒng)使用的特征數據排名是不一樣的,因而根據這些排名將特征數據放入rank(L)中主存存儲模塊的特征數據有可能是不一樣的,自學習模塊通過檢測統(tǒng)計和自學習得出的最佳時刻TD也是不一樣的??梢?,考慮到不同的統(tǒng)計時間段,自學習模塊檢測和自學習的結果也就越精確,從而能夠最大限度的降低主存在滿負荷運行下的功耗。
[0058]系統(tǒng)為了統(tǒng)計不同客戶X所使用的不同應用程序Y中不同特征數據Z的使用次數或頻率,以及自學習模塊需要檢測不同時段內的不同主存存儲模塊的功耗信息,需要額外的非易失性存儲器來存儲這些信息。傳統(tǒng)的內存條上會集成一塊容量較小的非易失性存儲器(例如EEPROM或者閃存)以存儲一些固化程序或算法等,該非易失性存儲器容量較小,無法存儲大容量的數據,尤其是系統(tǒng)需要統(tǒng)計不同時間段內的特征數據信息,自學習模塊需要統(tǒng)計并學習不同特征數據組合下的在空閑狀態(tài)時由工作模式進入低功耗模式的最佳模式切換時間TD,所需的容量就更大,傳統(tǒng)的這些集成在主存PCB電路板中的非易失性存儲器根本無法滿足要求。本發(fā)明這些統(tǒng)計信息可以存儲在外部的非易失性存儲器上,例如磁盤、固態(tài)硬盤或者B1S中,但顯然系統(tǒng)在主存滿負荷運行時訪問這些數據的速度會下降,系統(tǒng)的訪問性能也會降低。本發(fā)明提出一種優(yōu)選的解決方案,在內存條PCB上(比如DIMM內存)中集成新型非易失性存儲器模塊(以替代傳統(tǒng)Flash芯片模塊),如圖10所示。新型非易失性存儲器模塊由新型存儲器構成,例如相變隨機存取存儲器(PRAM)、鐵電隨機存取存儲器(FRAM)、磁隨機存取存儲器(MRAM)及電阻式隨機存取存儲器(RRAM)等。新型非易失性存儲器無論在讀取速度、可擦寫壽命、數據保持能力及數據存儲密度都要優(yōu)于傳統(tǒng)的磁盤或閃存存儲器。本發(fā)明新型非易失性存儲器不僅可以存儲大量的系統(tǒng)統(tǒng)計特征數據信息和自學習統(tǒng)計的最佳切換時刻TD信息,還可以存儲傳統(tǒng)主存PCB上EEPROM或閃存中的固化程序和一些算法。
[0059]當系統(tǒng)通過不斷對不同用戶X所使用的Y應用數據下的特征數據Z統(tǒng)計和自學習,得到在一段時間內rank的最佳模式切換時間TD,系統(tǒng)工作流程如下所示:
[0060]步驟1:整個系統(tǒng)上電,系統(tǒng)從內存條PCB上集成的非易失性存儲器(EEPR0M、閃存或新型存儲器等)或者外部的非易失性存儲器中讀取rankJm<L<n-l)的最佳模式切換時刻TD(L)數據。顯然,系統(tǒng)從內存條PCB上讀取數據要遠快于從外部的磁盤、硬盤或B1S等中讀取數據,而在主存PCB上使用新型存儲器的性能又要遠優(yōu)于EEPROM或閃存。
[0061]步驟2:在主存滿負荷工作時,系統(tǒng)讓序號為O至m-Ι的rank中的主存存儲模塊一直保持工作/空閑狀態(tài)下,不進入低功耗模式(因為空閑時間段太短);對序號為m至n-1的主存存儲模塊來說,當其進入空閑狀態(tài)時,系統(tǒng)控制rank的主存存儲模塊等待TD(L)時間后進入低功耗模式,使主存能在滿負荷運行下盡可能的降低功耗。
[0062]本領域技術人員應該理解,本領域技術人員在結合現有技術以及上述實施例可以實現變化例,在此不做贅述。這樣的變化例并不影響本發(fā)明的實質內容,在此不予贅述。
[0063]以上對本發(fā)明的較佳實施例進行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,其中未盡詳細描述的設備和結構應該理解為用本領域中的普通方式予以實施;任何熟悉本領域的技術人員,在不脫離本發(fā)明技術方案范圍情況下,都可利用上述揭示的方法和技術內容對本發(fā)明技術方案作出許多可能的變動和修飾,或修改為等同變化的等效實施例,這并不影響本發(fā)明的實質內容。因此,凡是未脫離本發(fā)明技術方案的內容,依據本發(fā)明的技術實質對以上實施例所做的任何簡單修改、等同變化及修飾,均仍屬于本發(fā)明技術方案保護的范圍內。
【權利要求】
1.一種降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述主存存儲器中設置有第一 rank集合和第二 rank集合,且所述第一 rank集合包括『&]11^至rank 所述第二rank集合包括1&111^至rank Jri,其中,m和η均為正整數,且η > m > I ;所述方法包括如下步驟: 步驟S1:預先將所述主存存儲器中存儲的數據劃分為主數據和輔助數據; 步驟S2:將所述主數據存儲至所述第一 rank集合中,將所述輔助數據存儲至所述第二rank集合中; 步驟S3:通過自學習的方法獲取所述第二rank集合中rank^由空閑狀態(tài)進入低功耗模式的最佳模式切換時間,其中,L為正整數,且m < LSn-1; 其中,當所述第二 rank集合中ranl^的主存存儲模塊進入空閑狀態(tài)時,所述rank ^的主存存儲模塊等待所述最佳模式切換時間后進入低功耗模式。
2.如權利要求1所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述步驟SI包括: 統(tǒng)計預定時間段內不同客戶的不同應用程序的不同特征數據的使用頻率; 根據所述使用頻率將所述主存存儲器中存儲的數據劃分為所述主數據和所述輔助數據; 其中,所述主數據的使用頻率大于所述輔助數據的使用頻率。
3.如權利要求2所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述步驟S3包括: 通過自學習模塊獲取所述第二 rank集合中ranl^由空閑狀態(tài)進入低功耗模式的最佳模式切換時間。
4.如權利要求3所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述自學習模塊統(tǒng)計并學習rank中不同特征數據組合下的x種組合形式的x個最佳模式切換時間,其中,X為正整數。
5.如權利要求3所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,當模式切換時間T小于所述最佳模式切換時間時,rank的主存存儲模塊的平均功耗隨著模式切換時間T的增加而減小,當模式切換時間T大于所述最佳模式切換時間時,rank的主存存儲模塊的平均功耗隨著模式切換時間T的增加而增加。
6.如權利要求4所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述步驟S3具體為: 所述自學習模塊根據rank的主存存儲模塊的平均功耗獲取所述第二 rank集合中rank^*空閑狀態(tài)進入低功耗模式的最佳模式切換時間。
7.如權利要求2所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,按照不同的時間段分別統(tǒng)計不同客戶的不同應用程序的不同特征數據的使用頻率,并通過自學習的方法獲取不同的時間段內所述第二 rank集合中rank由空閑狀態(tài)進入低功耗模式的最佳模式切換時間。
8.如權利要求2所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述特征數據為實現若干設定功能的指令或數據集合。
9.如權利要求4所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述主存存儲器上集成有非易失性存儲器模塊; 所述非易失性存儲器模塊或所述主存存儲器外部的非易失性存儲器中存儲有所述自學習模塊統(tǒng)計并學習不同特征數據組合下的X種組合形式的X個最佳模式切換時間的統(tǒng)計信息。
10.如權利要求9所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述非易失性存儲器模塊中還存儲有固件程序和算法。
11.如權利要求9所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述非易失性存儲器模塊為相變隨機存取存儲器、鐵電隨機存取存儲器、磁隨機存取存儲器或電阻式隨機存取存儲器。
12.如權利要求9所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述方法應用于計算機系統(tǒng)中,且所述方法還包括如下步驟: 上電后,所述系統(tǒng)從所述非易失性存儲器模塊或所述外部的非易失性存儲中讀取rank^的最佳模式切換時間; 當所述第二 rank集合中ranl^的主存存儲模塊進入空閑狀態(tài)時,所述rank ^的主存存儲模塊等待所述最佳模式切換時間后進入低功耗模式。
13.如權利要求1所述的降低主存存儲器滿負荷運行功耗的方法,其特征在于,所述第一 rank集合中的主存存儲模塊不會進入低功耗模式。
【文檔編號】G06F1/32GK104460941SQ201410728907
【公開日】2015年3月25日 申請日期:2014年12月3日 優(yōu)先權日:2014年12月3日
【發(fā)明者】亢勇, 陳邦明 申請人:上海新儲集成電路有限公司