一種基于異構融合架構的內存管理方法及裝置制造方法
【專利摘要】本發明公開了一種基于異構融合架構的內存管理方法及裝置,包括:獲取需要存放的數據的大小;根據數據的大小,將不同大小的數據存放在不同的內存中;其中,當所述數據的大小小于預先設置的閾值時,將所述數據存放在易失性內存中;當所述數據的大小大于或等于預先設置的閾值時,將所述數據存放在易失性內存中。本發明技術方案實現了異構融合架構的內存管理,提升了數據處理的速度。
【專利說明】一種基于異構融合架構的內存管理方法及裝置
【技術領域】
[0001] 本發明涉及大數據處理技術,尤指一種基于異構融合架構的內存管理方法及裝 置。
【背景技術】
[0002] 異構混融架構的特點是混合內存形態,其內存包括可擴展非易失性內存和易失性 內存,如果使用傳統的內存管理,是不能對不同的內存進行區分的,其中非易失性內存具有 速率低、容易壞的問題,但是具有容量大的特點,易失性內存具有速率高的優點,但是容量 比較小。
[0003] 因此,如何針對不同內存的特點以及根據數據本身的性質來實現基于異構融合架 構的內存管理是一個亟需解決的問題。
【發明內容】
[0004] 為了解決上述技術問題,本發明提供了一種基于異構融合架構的內存管理方法及 裝置,能夠實現異構融合架構的內存管理,提升數據處理的速度。
[0005] 為了達到本發明目的,本發明提供了一種基于異構融合架構的內存管理方法,包 括:
[0006] 獲取需要存放的數據的大小;
[0007] 根據數據的大小,將不同大小的數據存放在不同的內存中;
[0008] 其中,當所述數據的大小小于預先設置的閾值時,將所述數據存放在易失性內存 中;當所述數據的大小大于或等于預先設置的閾值時,將所述數據存放在易失性內存中。
[0009] 進一步地,該方法之前還包括:預先設置數據名稱為:數據名一標簽;
[0010] 其中,標簽的初始值設置為〇,每當數據被訪問一次,對所述數據的標簽進行遞增 處理。
[0011] 進一步地,在將所述數據存放在易失性內存中之后,還包括:
[0012] 獲取存放在易失性內存中的數據的標簽;
[0013] 當存放在易失性內存中的數據被訪問時,對該被訪問的數據的標簽進行遞增處 理。
[0014] 進一步地,在將所述數據存放在非易失性內存中之后,還包括:
[0015] 獲取存放在非易失性內存中的數據的標簽;
[0016] 當存放在非易失性內存中的數據被訪問時,對該被訪問的數據的標簽進行遞增處 理。
[0017] 進一步地,根據所述存放在易失性內存或非易失性內存中的數據的標簽,調整放 置在內存中的數據的存放方式。
[0018] 進一步地,調整放置在內存中的數據的存放方式包括:
[0019] 當獲得的存放在易失性內存中的數據的標簽小于或者等于預先設置的標簽閾值 時,將所述易失性內存中的數據存放至非易失性內存中;當標簽大于預先設置的標簽閾值 時,所述數據存放位置不變。
[0020]以及,
[0021] 當獲取的存放在非易失性內存中的數據的標簽大于預先設置的標簽閾值時,則將 所述非易失性內存中的數據存放至易失性內存中;當標簽小于或者等于預先設置的標簽閾 值時,所述數據存放位置不變。
[0022] 進一步地,獲取存放在易失性內存中或非易失性內存中的數據的標簽包括:根據 所述存放在易失性內存中或非易失性內存中的數據的數據名稱,獲取對應所述數據的標 簽。
[0023] 進一步地,易失性內存包括:PCM內存區域和/或NAND內存區域;非易失性內存包 括:DRAMN內存。
[0024] 本發明還提供了一種基于異構融合架構的內存管理裝置,包括:獲取模塊和管理 模塊;其中,
[0025] 獲取模塊,用于獲取需要存放的數據的大小;
[0026] 管理模塊,用于根據數據的大小,將不同大小的數據存放在不同的內存存中;其 中,當所述數據的大小小于預先設置的閾值時,將所述數據存放在易失性內存中;當所述數 據的大小大于或等于預先設置的閾值時,將所述數據存放在易失性內存中。
[0027] 進一步地,該裝置還包括:初始化設置模塊,用于預先設置數據名稱為:數據 名一標簽;
[0028] 其中,標簽的初始值設置為0,每當數據被訪問一次,對所述數據的標簽進行遞增 處理。
[0029] 進一步地,該裝置還包括標簽處理模塊,具體用于:
[0030] 獲取存放在易失性內存中的數據的標簽;
[0031] 當存放在易失性內存中的數據被訪問時,對該被訪問的數據的標簽進行遞增處 理;
[0032] 以及,
[0033] 獲取存放在非易失性內存中的數據的標簽;
[0034] 當存放在非易失性內存中的數據被訪問時,對該被訪問的數據的標簽進行遞增處 理。
[0035] 進一步地,管理模塊還用于:根據所述存放在易失性內存或非易失性內存中的數 據的標簽,調整放置在內存中的數據的存放方式。
[0036] 進一步地,管理模塊調整放置在內存中的數據的存放方式,包括:
[0037] 當獲得的存放在易失性內存中的數據的標簽小于或者等于預先設置的標簽閾值 時,將所述易失性內存中的數據存放至非易失性內存中;當標簽大于預先設置的標簽閾值 時,所述數據存放位置不變。
[0038] 進一步地,管理模塊調整放置在內存中的數據的存放方式,包括:
[0039] 當獲取的存放在非易失性內存中的數據的標簽大于預先設置的標簽閾值時,則將 所述非易失性內存中的數據存放至易失性內存中;當標簽小于或者等于預先設置的標簽閾 值時,所述數據存放位置不變。
[0040] 進一步地,標簽處理模塊獲取存放在易失性內存中或非易失性內存中的數據的標 簽包括:根據所述存放易失性內存中或非易失性內存中的數據的數據名稱,獲取對應所述 數據的標簽。
[0041] 進一步地,易失性內存包括:PCM內存區域和/或NAND內存區域;非易失性內存包 括:DRAMN內存。
[0042] 本發明技術方案包括:獲取需要存放的數據的大小;根據數據的大小,將不同大 小的數據存放在不同的內存中;其中,當所述數據的大小小于預先設置的閾值時,將所述數 據存放在易失性內存中;當所述數據的大小大于或等于預先設置的閾值時,將所述數據存 放在易失性內存中。本發明技術方案實現了異構融合架構的內存管理,提升了數據處理的 速度。
【專利附圖】
【附圖說明】
[0043] 此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發 明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0044] 圖1為本發明基于異構融合架構的內存管理方法的流程圖;
[0045] 圖2為本發明基于異構融合架構的內存管理裝置的結構示意圖。
【具體實施方式】
[0046] 下面結合附圖及具體實施例對本發明進行詳細的說明。
[0047] 圖1為本發明基于異構融合架構的內存管理方法的流程圖,如圖1所示,包括以下 步驟:
[0048] 步驟101,獲取需要存放的數據的大小。
[0049] 每個數據都有與之對應的數據名稱,數據名稱由數據名、標簽組成。其中,標簽用 于表示數據被使用或訪問的次數。
[0050] 在本步驟之前,該方法還包括:預先設置數據名稱為:數據名一標簽。其中,標簽 的初始值設置為〇,每當數據被訪問一次,對所述數據的標簽進行遞增處理。
[0051] 步驟102,根據數據的大小,將不同大小的數據存放在不同的內存中;其中,當所 述數據的大小小于預先設置的閾值時,將所述數據存放在易失性內存中;當所述數據的大 小大于或等于預先設置的閾值時,將所述數據存放在易失性內存中。
[0052] 進一步地,在將數據存放在易失性內存中之后,該方法還包括:獲取存放在易失性 內存中的數據的標簽;當存放在易失性內存中的數據被訪問時,對該被訪問的數據的標簽 進行遞增處理。
[0053] 以及,在將數據存放在非易失性內存中之后,該方法還包括:獲取存放在非易失性 內存中的數據的標簽;當存放在非易失性內存中的數據被訪問時,對該被訪問的數據的標 簽進行遞增處理。
[0054] 其中,獲取存放在易失性內存中或非易失性內存中的數據的標簽包括:根據所述 存放易失性內存中或非易失性內存中的數據的數據名稱,獲取對應所述數據的標簽。
[0055] 進一步地,根據存放在易失性內存或非易失性內存中的數據的標簽,調整放置在 內存中的數據的存放方式。
[0056] 進一步地,調整放置在內存中的數據的存放方式包括:
[0057] 當獲得的存放在易失性內存中的數據的標簽小于或者等于預先設置的標簽閾值 時,將易失性內存中的數據存放至非易失性內存中;當標簽大于預先設置的標簽閾值時,數 據存放位置不變。
[0058] 以及,
[0059] 當獲取的存放在非易失性內存中的數據的標簽大于預先設置的標簽閾值時,則將 所述非易失性內存中的數據存放至易失性內存中;當標簽小于或者等于預先設置的標簽閾 值時,所述數據存放位置不變。
[0060] 這里預先設置的標簽閾值可以設置為10,也可以設置為20,具體數值是本領域技 術人員根據實際情況可以確定出的,這里10或者20并不用于限定本發明的保護范圍,關于 如何設置屬于本領域技術人員所熟知的慣用技術手段,這里不再贅述。
[0061] 本發明方法中,易失性內存包括:PCM內存區域和/或NAND內存區域;非易失性內 存包括:DRAMN內存。
[0062] 需要說明的是,本發明方法中關于對內存的頁框的劃分方式為:對于易失性內存 還是使用現有的分頁方式,對于非易失性內存,由于非易失性內存的容量較大,使用的是大 頁表的方式,大頁表會有一個頁位置比對表。由于受制于內存的總容量,所以現有技術中一 個頁表可以為10K的容量,本發明可以使用100K或者更高的頁表方式,這里屬于本領域技 術人員所熟知的慣用技術手段,在此不再贅述。
[0063] 另外本發明方法中還需要說明的是,將數據存放在易失性內存中后,還可以查看 易失性內存剩余的存儲空間,當剩余的存儲空間不大時,可以將存放在易失性內存中的數 據轉存至存放在非易失性內存中。
[0064] 圖2為本發明基于異構融合架構的內存管理裝置的結構示意圖,如圖2所示,包 括:獲取模塊、管理模塊。其中,
[0065] 獲取模塊,用于獲取需要存放的數據的大小。
[0066] 管理模塊,用于根據數據的大小,將不同大小的數據存放在不同的內存存中;其 中,當所述數據的大小小于預先設置的閾值時,將所述數據存放在易失性內存中;當所述數 據的大小大于或等于預先設置的閾值時,將所述數據存放在易失性內存中。
[0067] 進一步地,該裝置還包括:初始化設置模塊,用于預先設置數據名稱為:數據 名--標簽。其中,標簽的初始值設置為〇,每當數據被訪問一次,對所述數據的標簽進行遞 增處理。
[0068] 該裝置還包括:標簽處理模塊,具體用于:
[0069] 獲取存放在易失性內存中的數據的標簽;
[0070] 當存放在易失性內存中的數據被訪問時,對該被訪問的數據的標簽進行遞增處 理;
[0071] 以及,
[0072] 獲取存放在非易失性內存中的數據的標簽;
[0073] 當存放在非易失性內存中的數據被訪問時,對該被訪問的數據的標簽進行遞增處 理。
[0074] 其中,標簽處理模塊獲取存放在易失性內存中或非易失性內存中的數據的標簽包 括:根據該存放易失性內存中或非易失性內存中的數據的數據名稱,獲取對應該數據的標 簽。
[0075] 進一步地,管理模塊還用于:根據存放在易失性內存或非易失性內存中的數據的 標簽,調整放置在內存中的數據的存放方式。
[0076] 具體地,管理模塊調整放置在內存中的數據的存放方式,包括:
[0077] 當獲得的存放在易失性內存中的數據的標簽小于或者等于預先設置的標簽閾值 時,將該易失性內存中的數據存放至非易失性內存中;當標簽大于預先設置的標簽閾值時, 該數據存放位置不變。
[0078] 以及,
[0079] 當獲取的存放在非易失性內存中的數據的標簽大于預先設置的標簽閾值時,則將 該非易失性內存中的數據存放至易失性內存中;當標簽小于或者等于預先設置的標簽閾值 時,該數據存放位置不變。
[0080] 本發明的裝置中,易失性內存包括:PCM內存區域和/或NAND內存區域等;非易失 性內存包括:DRAMN內存等。
[0081] 本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令 相關硬件完成,所述程序可以存放于計算機可讀存放介質中,如只讀存放器、磁盤或光盤 等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現。相應 地,上述實施例中的各模塊/單元可以采用硬件的形式實現,也可以采用軟件功能模塊的 形式實現。本申請不限制于任何特定形式的硬件和軟件的結合。
[0082] 以上所述,僅為本發明的較佳實例而已,并非用于限定本發明的保護范圍。凡在本 發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范 圍之內。
【權利要求】
1. 一種基于異構融合架構的內存管理方法,其特征在于,包括: 獲取需要存放的數據的大小; 根據數據的大小,將不同大小的數據存放在不同的內存中; 其中,當所述數據的大小小于預先設置的閾值時,將所述數據存放在易失性內存中;當 所述數據的大小大于或等于預先設置的閾值時,將所述數據存放在易失性內存中。
2. 根據權利要求1所述的內存管理方法,其特征在于,該方法之前還包括:預先設置數 據名稱為:數據名一標簽; 其中,標簽的初始值設置為0,每當數據被訪問一次,對所述數據的標簽進行遞增處理。
3. 根據權利要求2所述的內存管理方法,其特征在于,在所述將所述數據存放在易失 性內存中之后,該方法還包括: 獲取存放在易失性內存中的數據的標簽; 當存放在易失性內存中的數據被訪問時,對該被訪問的數據的標簽進行遞增處理。
4. 根據權利要求2所述的內存管理方法,其特征在于,在所述將所述數據存放在非易 失性內存中之后,該方法還包括: 獲取存放在非易失性內存中的數據的標簽; 當存放在非易失性內存中的數據被訪問時,對該被訪問的數據的標簽進行遞增處理。
5. 根據權利要求3或4所述的內存管理方法,其特征在于,該方法還包括:根據所述存 放在易失性內存或非易失性內存中的數據的標簽,調整放置在內存中的數據的存放方式。
6. 根據權利要求5所述的內存管理方法,其特征在于,所述調整放置在內存中的數據 的存放方式包括: 當獲得的存放在易失性內存中的數據的標簽小于或者等于預先設置的標簽閾值時,將 所述易失性內存中的數據存放至非易失性內存中;當標簽大于預先設置的標簽閾值時,所 述數據存放位置不變。
7. 根據權利要求5所述的內存管理方法,其特征在于,所述調整放置在內存中的數據 的存放方式包括: 當獲取的存放在非易失性內存中的數據的標簽大于預先設置的標簽閾值時,則將所述 非易失性內存中的數據存放至易失性內存中;當標簽小于或者等于預先設置的標簽閾值 時,所述數據存放位置不變。
8. 根據權利要求3或4所述的內存管理方法,其特征在于,獲取存放在易失性內存中或 非易失性內存中的數據的標簽包括:根據所述存放在易失性內存中或非易失性內存中的數 據的數據名稱,獲取對應所述數據的標簽。
9. 根據權利要求1至8任意一項所述的內存管理方法,其特征在于,易失性內存包括: PCM內存區域和/或NAND內存區域; 非易失性內存包括:DRAMN內存。
10. -種基于異構融合架構的內存管理裝置,其特征在于,包括:獲取模塊和管理模 塊;其中, 獲取模塊,用于獲取需要存放的數據的大小; 管理模塊,用于根據數據的大小,將不同大小的數據存放在不同的內存存中;其中,當 所述數據的大小小于預先設置的閾值時,將所述數據存放在易失性內存中;當所述數據的 大小大于或等于預先設置的閾值時,將所述數據存放在易失性內存中。
11. 根據權利要求10所述的內存管理裝置,其特征在于,該裝置還包括:初始化設置模 塊,用于預先設置數據名稱為:數據名--標簽; 其中,標簽的初始值設置為0,每當數據被訪問一次,對所述數據的標簽進行遞增處理。
12. 根據權利要求11所述的內存管理裝置,其特征在于,該裝置還包括標簽處理模塊, 具體用于: 獲取存放在易失性內存中的數據的標簽; 當存放在易失性內存中的數據被訪問時,對該被訪問的數據的標簽進行遞增處理; 以及, 獲取存放在非易失性內存中的數據的標簽; 當存放在非易失性內存中的數據被訪問時,對該被訪問的數據的標簽進行遞增處理。
13. 根據權利要求12所述的內存管理裝置,其特征在于,所述管理模塊還用于:根據所 述存放在易失性內存或非易失性內存中的數據的標簽,調整放置在內存中的數據的存放方 式。
14. 根據權利要求13所述的內存管理裝置,其特征在于,所述管理模塊調整放置在內 存中的數據的存放方式,包括: 當獲得的存放在易失性內存中的數據的標簽小于或者等于預先設置的標簽閾值時,將 所述易失性內存中的數據存放至非易失性內存中;當標簽大于預先設置的標簽閾值時,所 述數據存放位置不變。
15. 根據權利要求13所述的內存管理裝置,其特征在于,所述管理模塊調整放置在內 存中的數據的存放方式,包括: 當獲取的存放在非易失性內存中的數據的標簽大于預先設置的標簽閾值時,則將所述 非易失性內存中的數據存放至易失性內存中;當標簽小于或者等于預先設置的標簽閾值 時,所述數據存放位置不變。
16. 根據權利要求12所述的內存管理裝置,其特征在于,所述標簽處理模塊獲取存放 在易失性內存中或非易失性內存中的數據的標簽包括:根據所述存放易失性內存中或非易 失性內存中的數據的數據名稱,獲取對應所述數據的標簽。
17. 根據權利要求10至16任意一項所述的內存管理裝置,其特征在于,易失性內存包 括:PCM內存區域和/或NAND內存區域; 非易失性內存包括:DRAMN內存。
【文檔編號】G06F12/02GK104156318SQ201410392250
【公開日】2014年11月19日 申請日期:2014年8月11日 優先權日:2014年8月11日
【發明者】叢戎, 何志平, 邢偉 申請人:浪潮(北京)電子信息產業有限公司