[發(fā)明專利]基于非易失性內(nèi)存的新型混合內(nèi)存垃圾回收方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 202010171263.4 | 申請(qǐng)日: | 2020-03-12 |
| 公開(公告)號(hào): | CN111309645B | 公開(公告)日: | 2023-06-27 |
| 發(fā)明(設(shè)計(jì))人: | 楊雁飛;吳明瑜;臧斌宇 | 申請(qǐng)(專利權(quán))人: | 上海交通大學(xué) |
| 主分類號(hào): | G06F12/02 | 分類號(hào): | G06F12/02;G06F9/50;G06F16/2455 |
| 代理公司: | 上海漢聲知識(shí)產(chǎn)權(quán)代理有限公司 31236 | 代理人: | 胡晶 |
| 地址: | 200240 *** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 非易失性 內(nèi)存 新型 混合 垃圾 回收 方法 系統(tǒng) | ||
本發(fā)明提供了一種基于非易失性內(nèi)存的新型混合內(nèi)存垃圾回收方法及系統(tǒng),包括:步驟1:當(dāng)托管運(yùn)行時(shí)無可用內(nèi)存時(shí),觸發(fā)內(nèi)存垃圾回收;步驟2:對(duì)內(nèi)存區(qū)域進(jìn)行劃分,初始化內(nèi)存區(qū)域數(shù)據(jù);步驟3:在內(nèi)存垃圾回收過程中,更新每個(gè)內(nèi)存區(qū)域的數(shù)據(jù)信息;步驟4:將數(shù)據(jù)信息寫入到非易失性內(nèi)存中,并清理使用到的易失性內(nèi)存緩存。本發(fā)明使用極少的易失性內(nèi)存用作非易失內(nèi)存的緩存,加快了內(nèi)存數(shù)據(jù)讀請(qǐng)求;通過異步地將緩存中的數(shù)據(jù)寫入到非易失內(nèi)存,提高了非易失性內(nèi)存上垃圾回收的性能;對(duì)可能同時(shí)訪問的數(shù)據(jù)進(jìn)行存放位置的重分配,利用了非易失內(nèi)存連續(xù)局部訪問更快的特性,從而提高了程序的性能。
技術(shù)領(lǐng)域
本發(fā)明涉及內(nèi)存管理技術(shù)領(lǐng)域,具體地,涉及一種基于非易失性內(nèi)存的新型混合內(nèi)存垃圾回收方法及系統(tǒng)。
背景技術(shù)
非易失性內(nèi)存是一種新型的計(jì)算機(jī)內(nèi)存。傳統(tǒng)的計(jì)算機(jī)內(nèi)存一旦斷開電源,內(nèi)存中的數(shù)據(jù)會(huì)被清除;而在非易失性內(nèi)存中的數(shù)據(jù),即使內(nèi)存設(shè)備的電源被斷開,也能保證不會(huì)失效,從而實(shí)現(xiàn)數(shù)據(jù)在內(nèi)存中的持久化保存。同時(shí)除了能夠持久化保存數(shù)據(jù),非易失性內(nèi)存還能夠像易失性內(nèi)存一樣支持字節(jié)尋址,這為使用非易失性內(nèi)存來輔助甚至代替易失性內(nèi)存帶來了進(jìn)一步優(yōu)勢(shì)。同時(shí)相比于易失性內(nèi)存,非易失性內(nèi)存的密度也高,單位容量?jī)r(jià)格更低。但這些優(yōu)點(diǎn)帶來的后果就是非易失性內(nèi)存在的訪問延遲更高,數(shù)據(jù)帶寬更低。
程序?qū)?nèi)存的資源管理可以分為兩類:一類是由開發(fā)程序的程序員手動(dòng)進(jìn)行內(nèi)存管理;另一類是由一個(gè)程序,通常叫托管運(yùn)行時(shí),自動(dòng)進(jìn)行管理管理。是否自動(dòng)進(jìn)行內(nèi)存管理是由選擇的編程語言決定。目前在云環(huán)境下,自動(dòng)內(nèi)存管理的語言,如Java,Scala等,被大量的使用。
在自動(dòng)內(nèi)存管理中,至關(guān)重要的一點(diǎn)是如何進(jìn)行內(nèi)存的回收,通常稱為內(nèi)存的垃圾回收。內(nèi)存垃圾回收中,有兩個(gè)需要主要考慮的方面:一是如何識(shí)別出有效數(shù)據(jù);二是如何處理這些有效數(shù)據(jù)。在第一點(diǎn)中,垃圾回收器會(huì)對(duì)內(nèi)存中大量的數(shù)據(jù)進(jìn)行訪問,涉及到大量的隨機(jī)的內(nèi)存讀請(qǐng)求。在第二點(diǎn)中,垃圾回收器通常會(huì)將有效數(shù)據(jù)復(fù)制到一段新的內(nèi)存空間中,涉及到大量的內(nèi)存寫請(qǐng)求。
由于傳統(tǒng)的垃圾回收器主要是針對(duì)易失性內(nèi)存進(jìn)行設(shè)計(jì),沒有考慮到非易失性內(nèi)存的新特性,造成了非易失內(nèi)存上的內(nèi)存垃圾回收延遲高、效率低,影響了非易失內(nèi)存在自動(dòng)內(nèi)存管理語言上的使用。
專利文獻(xiàn)CN110018966A(申請(qǐng)?zhí)枺?01810020423.8)公開了一種存儲(chǔ)器、存儲(chǔ)系統(tǒng)、主機(jī)及數(shù)據(jù)操作、垃圾回收方法,所述存儲(chǔ)系統(tǒng)包括存儲(chǔ)器和主機(jī),所述存儲(chǔ)器包括:管理單元,用于實(shí)現(xiàn)與存儲(chǔ)介質(zhì)相關(guān)的處理邏輯;基于對(duì)象的訪問接口,供主機(jī)通過所述訪問接口對(duì)所述存儲(chǔ)器執(zhí)行對(duì)象操作;所述主機(jī)包括:存儲(chǔ)控制單元,用于實(shí)現(xiàn)與數(shù)據(jù)布局相關(guān)的存儲(chǔ)邏輯,通過所述基于對(duì)象的訪問接口執(zhí)行對(duì)象操作。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種基于非易失性內(nèi)存的新型混合內(nèi)存垃圾回收方法及系統(tǒng)。
根據(jù)本發(fā)明提供的基于非易失性內(nèi)存的新型混合內(nèi)存垃圾回收方法,包括:
步驟1:當(dāng)托管運(yùn)行時(shí)無可用內(nèi)存時(shí),觸發(fā)內(nèi)存垃圾回收;
步驟2:對(duì)內(nèi)存區(qū)域進(jìn)行劃分,初始化內(nèi)存區(qū)域數(shù)據(jù);
步驟3:在內(nèi)存垃圾回收過程中,更新每個(gè)內(nèi)存區(qū)域的數(shù)據(jù)信息;
步驟4:將數(shù)據(jù)信息寫入到非易失性內(nèi)存中,并清理使用到的易失性內(nèi)存緩存。
優(yōu)選地,所述內(nèi)存區(qū)域數(shù)據(jù)包括:總的數(shù)據(jù)量和易失性緩存的位置。
優(yōu)選地,所述步驟3包括:在內(nèi)存垃圾回收過程中,每當(dāng)一個(gè)區(qū)域的數(shù)據(jù)量達(dá)到一個(gè)閾值時(shí),創(chuàng)建并切換使用易失性存儲(chǔ)器,將易失性存儲(chǔ)器作為非易失性內(nèi)存上的數(shù)據(jù)的緩存。
優(yōu)選地,所述步驟4包括:將所有數(shù)據(jù)先寫入到一個(gè)易失性存儲(chǔ)器的緩存中,再異步地寫回到非易失性內(nèi)存中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海交通大學(xué),未經(jīng)上海交通大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010171263.4/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 將數(shù)據(jù)存儲(chǔ)在非易失性高速緩沖存儲(chǔ)器中的設(shè)備和方法
- 抑制寄生電荷積累的非易失性存儲(chǔ)器件及其操作方法
- 非易失性存儲(chǔ)裝置、非易失性存儲(chǔ)系統(tǒng)及存取裝置
- 非易失性存儲(chǔ)門及其動(dòng)作方法、及非易失性存儲(chǔ)門裝入型邏輯電路及其動(dòng)作方法
- 從非易失性塊存儲(chǔ)設(shè)備至處理設(shè)備的健康報(bào)告
- 非易失性數(shù)據(jù)備份和恢復(fù)方法
- 易失性/非易失性SRAM器件
- 具有非易失性邏輯陣列備份相關(guān)應(yīng)用的處理裝置
- 基于一對(duì)多頁(yè)面映射的非易失內(nèi)存數(shù)據(jù)一致性更新方法
- 一種非易失性數(shù)據(jù)的讀寫方法及裝置





