(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210841151.4
(22)申请日 2022.07.18
(71)申请人 清华大学
地址 100084 北京市海淀区清华园
(72)发明人 舒继武 陆游游 王晶 汪庆
(74)专利代理 机构 北京华进京联知识产权代理
有限公司 1 1606
专利代理师 朱五云
(51)Int.Cl.
G06F 3/06(2006.01)
G06F 9/50(2006.01)
G06F 16/22(2019.01)
G06F 16/23(2019.01)
(54)发明名称
内存垃圾回收方法、 装置、 设备、 存储介质和
程序产品
(57)摘要
本申请涉及一种内存垃圾回收方法、 装置、
设备、 存储介质和程序产品。 所述方法包括: 根据
待写入持久性内存的目标数据对象所对应的更
新频率信息, 从持久性内存包含的冷日志段和热
日志段中选取目标日志段存储目标数据对象; 若
目标数据对象为更新数据, 则记录持久性内存中
与目标数据对象对应的旧数据对象的垃圾回收
辅助信息; 其中, 旧数据对象的垃圾回收辅助信
息用于供计算机设备根据旧数据对象的垃圾回
收辅助信息对旧数据对象所属的日志段进行垃
圾回收处理。 采用本方法能够提高内存垃圾回收
的效率。
权利要求书2页 说明书13页 附图10页
CN 115421648 A
2022.12.02
CN 115421648 A
1.一种内存垃圾回收方法, 其特 征在于, 所述方法包括:
根据待写入持久性内存的目标数据对象所对应的更新频率信 息, 从所述持久性内存包
含的冷日志段和热日志段中选取目标日志段存 储所述目标 数据对象;
若所述目标数据对象为更新数据, 则记录所述持久性内存中与 所述目标数据对象对应
的旧数据对象的垃圾回收辅助信息;
其中, 所述旧数据对象的垃圾 回收辅助信 息用于供计算机设备根据所述旧数据对象的
垃圾回收辅助信息对所述旧数据对象所属的日志段进行 垃圾回收处 理。
2.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括:
计算所述目标 数据对象包括的键的目标哈希值;
根据所述目标哈希值查询哈希表, 其中, 所述哈希表中存储有更新频率满足频繁更新
条件的键的哈希值;
若在所述哈希表中查询到所述目标哈希值, 则确定所述更新频率信息指示为频繁更
新, 并将所述热日志段作为所述目标日志段存 储所述目标 数据对象;
若在所述哈希表中未查询到所述目标哈希值, 则确定所述更新频率信 息指示为非频繁
更新, 并将所述冷日志段作为所述目标日志段存 储所述目标 数据对象。
3.根据权利要求2所述的方法, 其特 征在于, 所述方法还 包括:
在检测到数据对象存 储至所述持久性内存时, 记录存 入的数据对象的键;
根据存入的数据对象的键更新所述哈希 表。
4.根据权利要求1所述的方法, 其特征在于, 所述目标数据对象和所述旧数据对象包含
的键相同, 且, 均为目标键, 所述旧数据对象的垃圾回收辅助信息包括所述旧数据对象的大
小、 所述旧数据对象的垃圾标识以及目标索引项的索引项地址, 其中, 所述目标索引项包括
所述目标键和指 针, 所述旧数据对象的垃圾标识用于指示所述旧数据对象为需要回收的垃
圾。
5.根据权利要求4所述的方法, 其特征在于, 所述记录所述持久性内存中与 所述目标数
据对象对应的旧数据对象的垃圾回收辅助信息, 包括:
将所述旧数据对象的大小 写入至所述目标索引项的指针中;
将所述垃圾标识写入至与所述旧数据对象的存 储地址对应的易失性内存中;
将所述目标索引项的地址写入至所述目标 数据对象所属的日志段中。
6.根据权利要求5所述的方法, 其特 征在于, 所述方法还 包括:
在所述持久性内存包括的多个日志段中获取满足垃圾 回收条件的多个候选日志段, 并
获取各所述候选日志段对应的垃圾回收辅助信息集合, 所述垃圾回收辅助信息集合包括对
应的候选日志段中数据对象的垃圾回收辅助信息;
根据各所述候选日志段对应的垃圾回收辅助信息集合确定各所述候选日志段的垃圾
量大小;
根据各所述候选日志段的垃圾量的大小、 各所述候选日志段的大小以及各所述候选日
志段的存在时间, 确定各 所述候选日志段的合并成本效益;
根据各所述候选日志段的合并成本效益, 从各所述候选日志段中确定目标候选日志
段, 并对所述目标候选日志段进行 垃圾回收处 理。
7.根据权利要求6所述的方法, 其特征在于, 所述对所述目标候选日志段进行垃圾 回收权 利 要 求 书 1/2 页
2
CN 115421648 A
2处理, 包括:
根据所述目标候选日志段的垃圾 回收辅助信 息集合, 从所述目标候选日志段中确定非
垃圾数据对象;
将所述非垃圾数据对象拷贝至新的日志段。
8.根据权利要求7所述的方法, 其特征在于, 所述将所述非垃圾数据对象拷贝至新的日
志段, 包括:
拷贝所述非垃圾数据对象至易失性内存的缓冲区;
使用NTSTORE指令将所述易失性 内存的缓冲区中的所述非垃圾数据对象拷贝至所述新
的日志段, 同时记录所述非垃圾数据对象在所述 新的日志段中的地址 。
9.根据权利要求8所述的方法, 其特 征在于, 所述方法还 包括:
根据所述目标候选日志段的垃圾回收辅助信息集合以及所述非垃圾数据对象在所述
新的日志段中的地址, 更新所述非垃圾数据对象的索引项。
10.根据权利要求9所述的方法, 其特征在于, 所述根据所述目标候选日志段的垃圾回
收辅助信息集合以及所述 非垃圾数据对象在所述新的日志段中的地址, 更新所述 非垃圾数
据对象的索引项, 包括:
根据所述目标候选日志段的垃圾 回收辅助信 息集合中的索引项地址, 通过缓存行预取
指令将所述 非垃圾数据对象的索引项 预取至处理器缓存中, 根据 记录的所述 非垃圾数据对
象在所述 新的日志段中的地址更新索引项;
记录修改的所述非垃圾数据对象的索引项的索引项地址, 当所述修改的所述非垃圾数
据对象的索引项的索引项地址累积到预设阈值时, 执行并发的缓存行刷写指令持久化所述
非垃圾数据对象的索引项。
11.一种内存垃圾回收装置, 其特 征在于, 所述装置包括:
选取模块, 用于根据待写入持久性内存的目标数据对象所对应的更新频率信息, 从所
述持久性内存 包含的冷日志段和热日志段中选取目标日志段存 储所述目标 数据对象;
记录模块, 用于若所述目标数据对象为更新数据, 则记录所述持久性内存中与所述目
标数据对 象对应的旧数据对 象的垃圾回收辅助信息; 其中, 所述旧数据对 象的垃圾回收辅
助信息用于供计算机设备根据所述旧数据对 象的垃圾回收辅助信息对所述旧数据对 象所
属的日志段进行 垃圾回收处 理。
12.一种计算机设备, 包括存储器和 处理器, 所述存储器存储有计算机程序, 其特征在
于, 所述处 理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
13.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机程序
被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
14.一种计算机程序产品, 包括计算机程序, 其特征在于, 该计算机程序被处理器执行
时实现权利要求1至10中任一项所述的方法的步骤。权 利 要 求 书 2/2 页
3
CN 115421648 A
3
专利 内存垃圾回收方法、装置、设备、存储介质和程序产品
安全报告 >
其他 >
文档预览
中文文档
26 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共26页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思考人生 于 2024-02-07 20:38:16上传分享