本發明專利技術提供一種基于PCRAM主存應用的內存管理方法,應用在由CPU、內存以及外存構建的系統中,該內存管理方法是:將DRAM緩存作為PCRAM主存的緩存,系統將DRAM緩存中的閑置頁以循環均衡方式置換到PCRAM主存;于CPU執行寫數據的操作時,CPU檢測DRAM緩存中是否存在要寫的數據頁,存在則將數據寫入DRAM緩存,否則將要寫的數據頁由PCRAM主存讀入到DRAM緩存之后再進行寫操作,實現了CPU寫操作時對PCRAM主存所需求的擦寫次數及寫速度、疲勞特性等性能的需求;于CPU執行讀數據的操作時,CPU首先訪問DRAM緩存,并在DRAM緩存中未讀取到要訪問的數據頁時,CPU訪問PCRAM主存進行讀取,實現CPU可直接讀取DRAM緩存及PCRAM主存內的數據,大大節省了系統讀操作時的工作量。
【技術實現步驟摘要】
本專利技術涉及一種內存管理技術,特別是涉及一種基于PCRAM主存應用的內存管理 方法。
技術介紹
內存(Memory)是計算機中重要的部件之一,它是與CPU(中央處理器)進行溝通 的橋梁。計算機中所有程序的運行都是在內存中進行的,因此內存的性能對計算機的影響 非常大。內存也被稱為內存儲器,其作用是用于暫時存放CPU中的運算數據以及與硬盤等 外部存儲器交換的數據。因而,計算機類產品的重要硬件設備,其軟件系統實現各種功能都 離不開對內存進行讀寫。目前業界對內存大管理通過操作系統實現,因此軟件系統使用內 存時都要依賴于操作系統。操作系統對內存大管理可以分為動態管理和靜態管理兩種。計算機系統的存儲設備分為內存儲器和外存儲器,程序及程序要訪問的數據都必 須裝入內存才能運行。主存是計算機系統的核心硬件,對存儲器的管理是操作系統的另一 個重要功能。程序在編譯后對應的地址是虛擬地址(32位4G),物理地址(可能是1G)是實 際的內存地址。當程序從硬盤被加載到內存中需要進行虛擬地址和物理地址的映射,因 為我們的物理地址沒有4G,許多沒有運行的程序將被換出,而它們之間的管理則是通過 MMU(Memory Management Unit,即內存管理單元)來管理的。在開始的時候我們的內存很 小,通常只有幾兆的容量,如果在硬盤和內存之間不停的調換的話就消耗了大量的資源,而 且硬盤的讀取速度很慢,所以就設計出了 Swap分區(交換區),它雖然是從硬盤中劃分出來 的,但是其格式是和內存接近。所以沒有在內存中運行的程序可以放到Swap分區中,這樣 換入和換出的速率將增加。交換分區在物理內存(RAM)被充滿時被使用。如果系統需要更多的內存資源,而 物理內存已經充滿,內存中不活躍的頁就會被移到交換空間去。雖然交換空間可以為帶有 少量內存的機器提供幫助,但是這種方法不應該被當作是對內存的取代。交換空間位于硬 盤驅動器上,它比進入物理內存要慢。交換(Swapping)技術在多個程序并發執行時,可以將暫時不能執行的程序送到 外存中,從而獲得空閑內存空間來裝入新程序,或讀入保存在外存中而處于就緒狀態的程 序。交換單位為整個進程的地址空間。交換技術常用于多道程序系統或小型分時系統中, 與分區式存儲管理配合使用又稱作“對換”或“滾進/滾出”。其優點之一是增加并發運行 的程序數目,并給用戶提供適當的響應時間;與覆蓋技術相比交換技術另一個顯著的優點 是不影響程序結構。交換技術本身也存在著不足,例如對換入和換出的控制增加處理器開 銷;程序整個地址空間都進行對換,沒有考慮執行過程中地址訪問的統計特性。在當今移動計算日益普及的環境中,過去的存儲技術已經顯得力不從心,尤其是 難以滿足電子產品對存儲體積更小、系統功耗的要求。隨著半導體及存儲芯片技術的發展, 新型的非易失性計算機存儲技術的綜合了目前半導體存儲器市場上主流的DRAM、SRAM和FLASH等存儲器的優良特性,而且還具有微縮性能優越、非揮發性、高速存取、循環壽命長、 數據穩定性強、功耗低等諸多優勢,被認為是下一代非揮發存儲技術的最佳解決方案。請參閱圖1a及圖lc,顯示現有技術中PCRAM主存應用的三種硬件架構示意圖, 包括CPU11、高速緩存(即圖示中模塊CACHE) 12,內存13,外存(即圖示中模塊SSD/HARD DISK) 14,上述三種硬件架構的存儲容量依次減少,每位存儲器成本依次遞增,存儲器存儲 速度依次增加,存儲器存儲時間減少。但在實際的應用中仍存在以下問題呈如圖1a所示的PCRAM應用的硬件架構,使用PCRAM替代傳統的DRAM擴大內存 容量PCRAM,但目前基于PCRAM的擦寫次數及寫數據速度、抗疲勞等性能的局限性遠達不到 CPU對數據訪問所需求的速度及次數。再如圖1b及圖1c所示的PCRAM應用的硬件架構,二者均是基于DRAM的緩存作用 來應用,即存儲系統由緩存及內存構成,即有DRAM的高速又有PCRAM的大容量存儲系統。其 中,圖1b所示的硬件架構中將訪問比較頻繁的數據存放在DRAM中,訪問不頻繁的數據存放 在PCRAM ;圖1c所示的硬件架構中將DRAM作為PCRAM的二級緩存,平衡了 PCRAM與CPU之 間寫速度、擦寫次數及疲勞特性間的需求。但是,上述兩種方案的不足之處在于,如果CPU 只需要讀PCRAM緩存中某些數據頁中的少量數據時,而仍然將其讀入DRAM供CPU訪問,此 時大大增加了讀操作時的工作量及系統功耗。因而,如何提供一種基于PCRAM主存應用的內存管理技術,以解決上述現有技術 中存在的問題及不足,已經成為本領域從業者競相研究的課題。
技術實現思路
鑒于以上所述現有技術的缺點,本專利技術的目的在于提供一種基于PCRAM主存應用 的內存管理方法,用以實現CPU在寫操作時提高對PCRAM主存所需求的擦寫次數及寫速度 與降低疲勞性等性能的目的。本專利技術的另一目的在于提供一種基于PCRAM主存應用的內存管理系統及方法,用 以在CPU讀操作時,基于隨機讀取特性CPU可直接讀取DRAM及PCRAM內的數據,進而實現 大大節省了系統讀操作時的工作量的目的。為實現上述目的及其他相關目的,本專利技術提供一種基于PCRAM主存應用的內存管 理方法,應用在由CPU、內存以及外存構建的系統中以在所述CPU執行讀/寫操作時對所述 內存進行管理作業,所述內存包括DRAM緩存及PCRAM主存,其特征在于,所述內存管理方法 包括數據頁置換的步驟,系統將所述DRAM緩存作為PCRAM主存的緩存,當所述DRAM緩存 空間不足時,系統將所述DRAM緩存中的閑置數據頁以循環均衡方式置換至所述PCRAM主存 中,當置換出的數據頁重新讀入所述DRAM主存時,該數據頁所占所述PCRAM主存的存儲空 間自動釋放掉;寫數據的步驟,于所述CPU執行寫數據的操作時,所述CPU檢測所述DRAM緩 存中是否存在要寫的數據頁,若存在,則將數據寫入所述DRAM緩存,若否,則將要寫的數據 頁由所述PCRAM主存讀入到所述DRAM緩存之后再進行寫操作;讀數據的步驟,于所述CPU 執行讀數據的操作時,所述CPU首先訪問所述DRAM緩存,并在所述DRAM緩存中未讀取到欲 讀取的數據頁時,所述CPU訪問所述PCRAM主存進行讀取。在本專利技術的內存管理方法中,系統將所述DRAM緩存中的閑置數據頁置換至所述 PCRAM主存時,按所述PCRAM主存地址順序依次存放置換出的頁,所述CPU判斷所述PCRAM主存前一次存放被置換的閑置數據頁的位置是否達到了所述PCRAM主存的最大地址,若 否,則判定為當前循環,若是,則判定當前循環結束,進入下一循環。具體地,于所述當前循環中,包括以下步驟1)所述CPU從地址增長方向掃描所 述PCRAM主存中空閑塊地址區域;2)將所述閑置數據頁存放到掃描到的首個空閑塊地址區 域;3)在所述DRAM緩存中對應該閑置數據頁分配一個計數器,并在其位圖的bit位予以標 記,且將該計數器初始化為I ;4)將所述DRAM緩存的位圖中所有賦值的計數器加I ;5)查找 該些賦值的計數器中超過一預設值N的頁面;6)將與所述超過設值N的頁面對應的閑置數 據頁映射到當前循環,以重新讀入到所述DRAM緩存中,并將該重新讀入到所述DRAM緩存中 本文檔來自技高網...
【技術保護點】
一種基于PCRAM主存應用的內存管理方法,應用在由CPU、內存以及外存構建的系統中以在所述CPU執行讀/寫操作時對所述內存進行管理作業,所述內存包括DRAM緩存及PCRAM主存,其特征在于,所述內存管理方法包括:數據頁置換的步驟,系統將所述DRAM緩存作為PCRAM主存的緩存,當所述DRAM緩存空間不足時,系統將所述DRAM緩存中的閑置數據頁以循環均衡方式置換至所述PCRAM主存中,當置換出的數據頁重新讀入所述DRAM主存時,該數據頁所占所述PCRAM主存的存儲空間自動釋放掉;寫數據的步驟,于所述CPU執行寫數據的操作時,所述CPU檢測所述DRAM緩存中是否存在要寫的數據頁,若存在,則將數據寫入所述DRAM緩存,若否,則將要寫的數據頁由所述PCRAM主存讀入到所述DRAM緩存之后再進行寫操作;讀數據的步驟,于所述CPU執行讀數據的操作時,所述CPU首先訪問所述DRAM緩存,并在所述DRAM緩存中未讀取到欲讀取的數據頁時,所述CPU訪問所述PCRAM主存進行讀取。
【技術特征摘要】
1.一種基于PCRAM主存應用的內存管理方法,應用在由CPU、內存以及外存構建的系統中以在所述CPU執行讀/寫操作時對所述內存進行管理作業,所述內存包括DRAM緩存及PCRAM主存,其特征在于,所述內存管理方法包括 數據頁置換的步驟,系統將所述DRAM緩存作為PCRAM主存的緩存,當所述DRAM緩存空間不足時,系統將所述DRAM緩存中的閑置數據頁以循環均衡方式置換至所述PCRAM主存中,當置換出的數據頁重新讀入所述DRAM主存時,該數據頁所占所述PCRAM主存的存儲空間自動釋放掉; 寫數據的步驟,于所述CPU執行寫數據的操作時,所述CPU檢測所述DRAM緩存中是否存在要寫的數據頁,若存在,則將數據寫入所述DRAM緩存,若否,則將要寫的數據頁由所述PCRAM主存讀入到所述DRAM緩存之后再進行寫操作; 讀數據的步驟,于所述CPU執行讀數據的操作時,所述CPU首先訪問所述DRAM緩存,并在所述DRAM緩存中未讀取到欲讀取的數據頁時,所述CPU訪問所述PCRAM主存進行讀取。2.根據權利要求1所述的基于PCRAM主存應用的內存管理方法,其特征在于系統將所述DRAM緩存中的閑置數據頁置換至所述PCRAM主存時,按所述PCRAM主存地址順序依次存放置換出的頁,所述CPU判斷所述PCRAM主存前一次存放被置換的閑置數據頁的位置是否達到了所述PCRAM主存的最大地址,若否,則判定為當前循環,若是,則判定當前循環結束,進入下一循環。3.根據權利要求2所述的基于PCRAM主存應用的內存管理方法,其特征在于于所述當前循環中,包括以下步驟 1)所述CPU從地址增長方向掃描所述PCRAM主存中空閑塊地址區域; 2)將所述閑置數據頁存放到掃描到的首個空閑塊地址區域; 3)在所述DRAM緩存中對應該閑置數據頁分配一個計數器,并在其位圖的bit位予以標記,且將該計數器初始化為I...
【專利技術屬性】
技術研發人員:陳小剛,李順芬,陳一峰,許林海,陳后鵬,丁晟,宋志棠,
申請(專利權)人:中國科學院上海微系統與信息技術研究所,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。