一种存储器数据回收方法、装置及系统的制作方法

文档序号:9750730阅读:495来源:国知局
一种存储器数据回收方法、装置及系统的制作方法
【技术领域】
[0001] 本发明涉及控制领域,尤其涉及一种存储器数据回收方法、装置及系统。
【背景技术】
[0002] 硬盘通常分为机械硬盘HDD和固态硬盘SSD,机械硬盘即为普通传统硬盘,支持覆 盖写入,因此删掉数据只需标记,在被新数据覆盖之前可以很容易找回;而固态硬盘是用固 态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元组成,其不支持覆盖写入,因此 要先擦除,即垃圾回收。
[0003] 数据回收主要是从含有失效数据的块中选择合适的块进行回收操作,其中,块位 于内存库Bank中,内存库Bank中有多个块block,每个块block包含多个页page。将其中的有 效数据存储至更新块中,对原块中的数据进行擦除,以增加空白块,达到释放可用空间的目 的,保持有足够多的空白块用来写入数据。
[0004] 目前,通常采用的方法是:综合考虑块block的擦、写次数和有效页page的个数,定 义损失函数,并将损失函数的最大值作为数据回收块,即数据回收存储单元,但是在数据回 收的过程中只能一次选择回收一个块,这就造成了资源的浪费,增加了数据回收的次数,降 低了效率。

【发明内容】

[0005] 有鉴于此,本发明提供一种存储器数据回收方法、装置及系统,以解决现有技术中 一次只能选择回收一个存储单元,造成了资源的浪费,增加了存储器数据回收的次数,降低 了效率的问题,其具体方案如下:
[0006] -种存储器数据回收方法,包括:
[0007] 获取所述存储器中Μ个存储单元的第一状态参数;
[0008] 基于所述第一状态参数确定所述Μ个存储单元中的第一存储单元;
[0009] 获取所述存储单元中与所述第一存储单元满足第一预定条件的Ν个存储单元;
[0010] 当满足第二预定条件时,对所述第一存储单元和Ν个存储单元中的数据进行处理, 其中Μ、Ν为大于1的整数,且Ν不大于Μ。
[0011] 进一步的,所述获取所述存储单元中与所述第一存储单元满足第一预定条件的Ν 个存储单元,具体为:
[0012] 获取所述存储单元中与所述第一存储单元满足第一预定条件的Ν个存储单元的第 二状态参数。
[0013] 进一步的,所述获取所述存储单元中与所述第一存储单元满足第一预定条件的Ν 个存储单元,具体为:
[0014] 获取所述存储单元中与所述第一存储单元的第二状态参数相差在第一范围内的Ν 个存储单元。
[0015] 进一步的,当满足第二预定条件时,对所述第一存储单元和Ν个存储单元中的数据 进行处理,具体为:
[0016] 当所述存储器中的空白存储单元的数量小于第一阈值时,对所述第一存储单元和 N个存储单元中的数据进行处理。
[0017] 进一步的,当满足第二预定条件时,对所述第一存储单元和N个存储单元中的数据 进行处理,具体为:
[0018] 当接收到启动指令时,对所述第一存储单元和N个存储单元中的数据进行处理。 [0019]进一步的,所述对所述第一存储单元和N个存储单元中的数据进行处理,具体为:
[0020] 获取所述第一存储单元和N个存储单元中第二状态参数相同的存储单元;
[0021] 将所述第二状态参数相同的存储单元中的数据保存至第二存储单元;
[0022] 将所述第二状态参数相同的存储单元中除第二存储单元外的其他存储单元中的 数据进行清除。
[0023] 一种存储器数据回收装置,包括:存储器,及与所述存储器相连的处理器,
[0024]所述存储器中包括Μ个存储单元;
[0025]所述处理器用于获取所述存储器中Μ个存储单元的第一状态参数,基于所述第一 状态参数确定所述Μ个存储单元中的第一存储单元,并获取所述存储单元中与所述第一存 储单元满足第一预定条件的Ν个存储单元,当满足第二预定条件时,对所述第一存储单元和 Ν个存储单元中的数据进行处理,其中,Μ、Ν为大于1的整数,且Ν不大于Μ。
[0026]进一步的,所述处理器获取所述存储器中与所述第一存储单元满足第一预定条件 的Ν个存储单元,具体为:
[0027]所述处理器获取所述存储单元中与所述第一存储单元满足第一预定条件的Ν个存 储单元的第二状态参数。
[0028]进一步的,所述处理器获取所述存储器中与所述第一存储单元满足第一预定条件 的Ν个存储单元,具体为:
[0029] 所述处理器获取所述存储单元中与所述第一存储单元的第二状态参数相差在第 一范围内的Ν个存储单元。
[0030] 进一步的,所述当满足第二预定条件时,所述处理器对所述第一存储单元和Ν个存 储单元中的数据进行处理,具体为:
[0031] 当所述存储器中的空白存储单元的数量小于第一阈值时,所述处理器对所述第一 存储单元和Ν个存储单元中的数据进行处理。
[0032]进一步的,当满足第二预定条件时,所述处理器对所述第一存储单元和Ν个存储单 元中的数据进行处理,具体为:
[0033]当所述处理器接收到启动指令时,对所述第一存储单元和Ν个存储单元中的数据 进行处理。
[0034]进一步的,所述处理器对所述第一存储单元和Ν个存储单元中的数据进行处理,具 体为:
[0035] 所述处理器获取所述第一存储单元和Ν个存储单元中第二状态参数相同的存储单 元;将所述第二状态参数相同的存储单元中的数据保存至第二存储单元;并将所述第二状 态参数相同的存储单元中除第二存储单元外的其他存储单元中的数据进行清除。
[0036] -种存储器数据回收系统,包括:第一获取单元,与所述第一获取单元相连的确定 单元,与所述确定单元相连的第二获取单元,与所述第二获取单元相连的处理单元,其中:
[0037] 所述第一获取单元用于获取所述存储器中Μ个存储单元的第一状态参数;
[0038] 所述确定单元用于基于所述第一状态参数确定所述Μ个存储单元中的第一存储单 元;
[0039]所述第二获取单元用于获取所述存储单元中与所述第一存储单元满足第一预定 条件的Ν个存储单元;
[0040] 所述处理单元用于当满足第二预定条件时,对所述第一存储单元和Ν个存储单元 中的数据进行处理,其中Μ、Ν为大于1的整数,且Ν不大于Μ。
[0041] 从上述技术方案可以看出,本申请公开的存储器数据回收方法、装置及系统,应用 于固态硬盘,通过获取存储器中Μ个存储单元的第一状态参数,基于第一状态参数确定Μ个 存储单元中的第一存储单元,获取存储单元中与第一存储单元满足第一预定条件的Ν个存 储单元,当满足第二预定条件时,对第一存储单元和Ν个存储单元中的数据进行处理,其中, Μ、Ν为大于1的整数,且Ν不大于Μ。本方案通过选取与第一存储单元满足第一预定条件的Ν个 存储单元,实现了对第一存储单元和Ν个存储单元中数据的处理,实现了对多个存储单元数 据的回收,提高了回收效率,降低了存储器数据回收的次数,避免了资源的浪费。
【附图说明】
[0042] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0043] 图1为本发明实施例公开的一种存储器数据回收方法的流程图;
[0044] 图2为本发明实施例公开的一种存储器数据回收方法的流程图;
[0045] 图3为本发明实施例公开的一种存储器数据回收方法的流程图;
[0046] 图4为本发明实施例公开的一种存储器数据回收装置的结构示意图;
[0047] 图5为本发明实施例公开的一种存储器数据回收系统的结构示意图。
【具体实施方式】
[0048] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0049 ]本发明公开了 一种存储器数据回收方法,其流程图如图1所示,包括:
[0050] 步骤SI 1、获取存储器中Μ个存储单元的第一状态参数;
[0051] 存储器中包括多个存储单元,可以记为Μ,Μ为大于1的整数。
[0052] 步骤S12、基于第一状态参数确定Μ个存储单元中的第一存储单元;
[0053] 具体的,第一状态参数可以为损失函数值,根据Μ个存储单元的损失函数值选取第 一存储单元。
[0054]其中,存储器中的存储单元可以具体为数据块block,数据块中包括页数据page,
[0056] 其中,数据块为最小的擦写单元,页数据page为最小的写单元。[0055] 那么,损失函数cost具体为:
[0057] 兵屮,globalWrietTJ仕仔1甫益屮的与伏数,blockWrite为当前的写次数, blockErase为当前的擦次数,GloablValidPages为存储器中的有效页个数, BlockValidPages为当前的有效页个数。
[
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1