基于內(nèi)存管理單元mmu的統(tǒng)一內(nèi)外存架構(gòu)的制作方法
【專利摘要】本發(fā)明公開了一種基于內(nèi)存管理單元MMU的統(tǒng)一內(nèi)外存架構(gòu),包括處理器,所述處理器與內(nèi)存管理單元MMU通信,所述內(nèi)存管理單元MMU與外部設(shè)備通信,所述內(nèi)存管理單元MMU包括管理模塊和存儲器控制模塊;所述外部設(shè)備包括DDR3SDRAM和PCM;所述管理模塊包括內(nèi)存映射模塊、內(nèi)存保護(hù)模塊和動態(tài)數(shù)據(jù)管理模塊;所述內(nèi)存映射模塊包括彼此通信的地址映射模塊和映射表,所述內(nèi)存保護(hù)模塊和動態(tài)數(shù)據(jù)管理模塊均接收地址映射模塊發(fā)送的數(shù)據(jù);它使用多種類型的存儲器作為統(tǒng)一內(nèi)外存架構(gòu)下混合存儲器,用于存放數(shù)據(jù)和執(zhí)行程序,利用不同存儲器的特點,為系統(tǒng)提供性能好、能耗低的存儲功能。
【專利說明】基于內(nèi)存管理單元圖U的統(tǒng)一內(nèi)外存架構(gòu)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于內(nèi)存管理單元MMU的統(tǒng)一內(nèi)外存架構(gòu)。
【背景技術(shù)】
[0002]在傳統(tǒng)的計算機存儲架構(gòu)里,計算機的存儲系統(tǒng)包括內(nèi)存和外存兩部分,內(nèi)存主要存放運行時的程序和數(shù)據(jù),而外存用于持久性的存放程序和數(shù)據(jù),傳統(tǒng)的計算機架構(gòu)參見附圖1。當(dāng)加載執(zhí)行某個程序時,所用時間為: [0003]
【權(quán)利要求】
1.一種基于內(nèi)存管理單元MMU的統(tǒng)一內(nèi)外存架構(gòu),其特征是,包括處理器,所述處理器與內(nèi)存管理單元MMU通信,所述內(nèi)存管理單元MMU與外部設(shè)備通信, 所述內(nèi)存管理單元MMU包括管理模塊和存儲器控制模塊;所述外部設(shè)備包括DDR3SDRAM 和 PCM ; 所述管理模塊包括內(nèi)存映射模塊、內(nèi)存保護(hù)模塊和動態(tài)數(shù)據(jù)管理模塊;所述內(nèi)存映射模塊包括彼此通信的地址映射模塊和映射表,所述內(nèi)存保護(hù)模塊和動態(tài)數(shù)據(jù)管理模塊均接收地址映射模塊發(fā)送的數(shù)據(jù); 所述存儲器控制模塊包括DDR3SDRAM控制器和PCM控制器,所述存儲器控制模塊接收內(nèi)存保護(hù)模塊和動態(tài)數(shù)據(jù)管理模塊發(fā)出來的數(shù)據(jù),所述DDR3SDRAM控制器與外部設(shè)備DDR3SDRAM連接,所述PCM控制器與外部設(shè)備PCM連接。
2.如權(quán)利要求1所述的一種基于內(nèi)存管理單元MMU的統(tǒng)一內(nèi)外存架構(gòu),其特征是,所述內(nèi)存映射模塊:利用BRAM臨時存放映射表,采用兩級映射表機制,增加訪問空間,系統(tǒng)正常運行時,只把二級映射表放在臨時存放映射表BRAM中,把一級映射表放在外部設(shè)備PCM中;映射的數(shù)據(jù)采用多處備份,同時對存入兩級的映射表的數(shù)據(jù)進(jìn)行ECC校驗;兩級的映射表均存放在外部設(shè)備PCM內(nèi),保證掉電后兩級的映射表不丟失,在上電后,從外部設(shè)備PCM中讀出二級映射表數(shù)據(jù),裝入BRAM中;當(dāng)二級映射表發(fā)生改變時,會立刻更改存放在外部設(shè)備PCM中備份的二級映射表信息,保證數(shù)據(jù)的一致性。
3.如權(quán)利要求1所述的一種基于內(nèi)存管理單元MMU的統(tǒng)一內(nèi)外存架構(gòu),其特征是,所述內(nèi)存保護(hù)模塊:用于實現(xiàn)對內(nèi)存空間的保護(hù),當(dāng)處理器正在運行時,根據(jù)程序運行時的參數(shù),由處理器設(shè)定能夠訪問的內(nèi)存空間,通過FPGA提供硬件保護(hù)機制,保證程序能夠在安全的內(nèi)存范圍內(nèi)運行;內(nèi)存保護(hù)模塊,同時提供錯誤和異常處理功能,當(dāng)進(jìn)行訪存操作,若訪存地址超過允許范圍,則返回?zé)o效數(shù)據(jù);若進(jìn)行程序跳轉(zhuǎn)操作,跳轉(zhuǎn)到非安全區(qū)域,則由FPGA實現(xiàn)程序自動跳回指令,阻止程序跳轉(zhuǎn)到非安全區(qū)域的位置。
4.如權(quán)利要求1所述的一種基于內(nèi)存管理單元MMU的統(tǒng)一內(nèi)外存架構(gòu),其特征是,所述動態(tài)數(shù)據(jù)管理模塊:用于檢測內(nèi)存數(shù)據(jù)的屬性以及基于內(nèi)存數(shù)據(jù)的屬性,判斷是熱數(shù)據(jù)還是冷數(shù)據(jù),從而決定數(shù)據(jù)的存放位置是放在DRAM還是PCM中;由于PCM的寫壽命有限,所述動態(tài)數(shù)據(jù)管理模塊通過PCM Translation Layer對PCM進(jìn)行損耗均衡的處理;由于DDR3SDRAM需要進(jìn)行刷新操作,且掉電丟失,所述動態(tài)數(shù)據(jù)管理模塊采取數(shù)據(jù)置換方案,減少異常掉電所產(chǎn)生的危害。在程序運行時,程序分為代碼段和數(shù)據(jù)段,數(shù)據(jù)段分為只讀數(shù)據(jù)和可讀寫數(shù)據(jù);對代碼段和只讀數(shù)據(jù)段,更多的是進(jìn)行讀取操作,這部分內(nèi)容放在PCM中;而對于可讀寫的數(shù)據(jù),需要根據(jù)數(shù)據(jù)的寫操作頻率判定數(shù)據(jù)是否為熱數(shù)據(jù),若為熱數(shù)據(jù),則修改它對應(yīng)的映射表表項數(shù)據(jù),把數(shù)據(jù)地址映射到DDR3SDRAM中,對該熱數(shù)據(jù)的寫操作,處理器僅修改DDR3SDRAM中的數(shù)據(jù),而由FPGA實現(xiàn)對PCM中原先數(shù)據(jù)的修改,保證數(shù)據(jù)一致性,通過FPGA實現(xiàn)數(shù)據(jù)一致性,避免占用過多的CPU時間,提高CPU的執(zhí)行效率。
5.如權(quán)利要求1所述的一種基于內(nèi)存管理單元MMU的統(tǒng)一內(nèi)外存架構(gòu),其特征是,所述存儲器控制模塊:需要根據(jù)DDR3的操作時序設(shè)計DDR3SDRAM控制器,根據(jù)PCM的操作時序設(shè)計PCM控制器;所述DDR3SDRAM控制器提供對DDR3SDRAM進(jìn)行讀、寫訪問的接口和所述PCM控制器提供對PCM進(jìn)行讀、寫等操作的接口。
【文檔編號】G06F3/06GK103927130SQ201410095774
【公開日】2014年7月16日 申請日期:2014年3月14日 優(yōu)先權(quán)日:2014年3月14日
【發(fā)明者】賈智平, 張磊, 凌琨 申請人:山東大學(xué)