预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共33页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115756341A(43)申请公布日2023.03.07(21)申请号202310028731.6(22)申请日2023.01.09(71)申请人苏州浪潮智能科技有限公司地址215000江苏省苏州市吴中经济开发区郭巷街道官浦路1号9幢(72)发明人杨盼王鑫李子锋(74)专利代理机构北京润泽恒知识产权代理有限公司11319专利代理师苏培华(51)Int.Cl.G06F3/06(2006.01)权利要求书4页说明书21页附图7页(54)发明名称固态硬盘的垃圾回收方法、装置、电子设备及存储介质(57)摘要本发明实施例提供了一种固态硬盘的垃圾回收方法、装置、电子设备及存储介质,涉及信息处理技术领域,获取固态硬盘中逻辑单元对应的第一小根堆与第二小根堆,第一小根堆对应逻辑单元中有效数据占比小于预设有效数据占比的至少一个第一脏数据块,第二小根堆对应逻辑单元中有效数据占比大于或等于预设有效数据占比的至少一个第二脏数据块,接着根据实际情况从对应的小根堆中选取目标脏数据块,并对目标脏数据块进行垃圾回收,从而在垃圾回收过程中,可以利用小根堆数据结构对脏数据块的优先级进行存储及管理,不额外占用内存空间,且每次选取脏数据块时都能优先从有效数据占比小的小根堆中选取,提高了垃圾回收效率,避免了冷数据迁移风暴。CN115756341ACN115756341A权利要求书1/4页1.一种固态硬盘的垃圾回收方法,其特征在于,包括:获取固态硬盘中逻辑单元对应的第一小根堆与第二小根堆,所述第一小根堆对应所述逻辑单元中有效数据占比小于预设有效数据占比的至少一个第一脏数据块,所述第二小根堆对应所述逻辑单元中有效数据占比大于或等于所述预设有效数据占比的至少一个第二脏数据块;若所述第一小根堆为空,则根据所述第二小根堆从至少一个所述第二脏数据块中选取目标脏数据块;若所述第一小根堆不为空,则根据所述第一小根堆从至少一个所述第一脏数据块中选取目标脏数据块;对所述目标脏数据块进行垃圾回收。2.根据权利要求1所述的方法,其特征在于,所述第二小根堆至少包括第一根节点,所述第一根节点对应所述第二小根堆中回收优先级值最小的第二脏数据块,所述若所述第一小根堆为空,则根据所述第二小根堆从至少一个所述第二脏数据块中选取目标脏数据块,包括:若所述第一小根堆为空,则将所述第一根节点对应的第二脏数据块确定为目标脏数据块。3.根据权利要求2所述的方法,其特征在于,所述第二小根堆至少包括第一父节点,在所述将所述第一根节点对应的第二脏数据块确定为目标脏数据块之后,所述方法还包括:若所述第一父节点存在对应的第一左子节点,且所述第一父节点存在对应的第一右子节点,则比较所述第一父节点、第一左子节点以及所述第一右子节点对应的数值;当所述第一左子节点对应的数值最小时,交换所述第一父节点与所述第一左子节点的数值;当所述第一右子节点对应的数值最小时,交换所述第一父节点与所述第一右子节点的数值;当所述第一父节点对应的数值最小时,结束数值交换操作。4.根据权利要求3所述的方法,其特征在于,还包括:若所述第一父节点存在对应的第一左子节点,且所述第一父节点不存在对应的第一右子节点,则比较所述第一父节点与所述第一左子节点对应的数值;当所述第一左子节点对应的数值小于所述第一父节点对应的数值时,交换所述第一父节点与所述第一左子节点的数值;当所述第一父节点对应的数值小于所述第一左子节点对应的数值时,结束数值交换操作。5.根据权利要求3所述的方法,其特征在于,还包括:若所述第一父节点不存在对应的第一左子节点,则将所述第一父节点作为新的根节点。6.根据权利要求2所述的方法,其特征在于,在所述将所述第一根节点对应的第二脏数据块确定为目标脏数据块之后,所述方法还包括:若选取第一根节点对应的第二脏数据块作为目标脏数据块之后,所述第二小根堆中不存在末尾节点,则确定所述第二小根堆为空。2CN115756341A权利要求书2/4页7.根据权利要求1所述的方法,其特征在于,所述第一小根堆至少包括第二根节点,所述第二根节点对应所述第一小根堆中回收优先级值最小的第一脏数据块,所述若所述第一小根堆不为空,则根据所述第一小根堆从至少一个所述第一脏数据块中选取目标脏数据块,包括:若所述第一小根堆不为空,则将所述第二根节点对应的第一脏数据块确定为目标脏数据块。8.根据权利要求7所述的方法,其特征在于,所述第一小根堆至少包括第二父节点,在所述将所述第二根节点对应的第一脏数据块确定为目标脏数据块之后,所述方法还包括:若所述第二父节点存在对应的第二左子节点,且所述第二父节点存在对应的第二右子节点,则比较所述第二父节点、第二左子节点以及所述第二右子节点对应的数值;当所述第二左子节点对应的数值最小时,交换所述第二