数据刷盘方法及装置.pdf

上传人:00062****4422 文档编号:10576631 上传时间:2021-06-24 格式:PDF 页数:15 大小:646.80KB
收藏 版权申诉 举报 下载
数据刷盘方法及装置.pdf_第1页
第1页 / 共15页
数据刷盘方法及装置.pdf_第2页
第2页 / 共15页
数据刷盘方法及装置.pdf_第3页
第3页 / 共15页
文档描述:

《数据刷盘方法及装置.pdf》由会员分享,可在线阅读,更多相关《数据刷盘方法及装置.pdf(15页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010270170.7 (22)申请日 2020.04.08 (71)申请人 深圳佰维存储科技股份有限公司 地址 518000 广东省深圳市南山区桃源街 道同富裕工业城4号厂房1楼、 2楼、 4 楼、 5楼 (72)发明人 邓羽高嵊昊朱雨林曾煜 胡伟童远军 (74)专利代理机构 深圳市华勤知识产权代理事 务所(普通合伙) 44426 代理人 隆毅 (51)Int.Cl. G06F 3/06(2006.01) (54)发明名称 数据刷盘方法及装置 (57)摘要 本发明实施例公。

2、开一种数据刷盘方法, 该数 据刷盘方法包括: 在检测到关机命令时, 判断是 否有正在执行垃圾回收操作的存储块; 若是, 则 将所述存储块的目标信息保存至第一指定位置, 并终止正在执行的垃圾回收操作; 在完成垃圾回 收操作的终止操作后, 执行数据刷盘操作。 本发 明实施例所提出的数据刷盘方法, 其在遇到垃圾 回收操作时, 会保存正在执行垃圾回收操作的存 储块的目标信息, 并终止正在执行的垃圾回收操 作, 然后再执行数据刷盘操作, 以快速响应主机 下发的关机命令, 从而避免出现关机超时的现 象。 此外, 本发明实施例还公开一种数据刷盘装 置。 权利要求书2页 说明书8页 附图4页 CN 11147。

3、5116 A 2020.07.31 CN 111475116 A 1.一种数据刷盘方法, 适用于固态硬盘, 其特征在于, 包括: 在检测到关机命令时, 判断是否有正在执行垃圾回收操作的存储块; 若是, 则将所述存储块的目标信息保存至第一指定位置, 并终止正在执行的垃圾回收 操作; 在完成垃圾回收操作的终止操作后, 执行数据刷盘操作。 2.根据权利要求1所述的数据刷盘方法, 其特征在于, 所述将存储块的目标信息保存至 第一指定位置包括: 获取所述存储块的编号信息; 将所述存储块的编号信息保存至所述第一指定位置。 3.根据权利要求1所述的数据刷盘方法, 其特征在于, 所述终止正在执行的垃圾回收操 。

4、作包括: 获取所述存储块的已搬移数据和未搬移数据; 根据所述存储块的未搬移数据生成标识信息, 将所述标识信息保存至第二指定位置; 终止所述存储块执行的垃圾回收操作。 4.根据权利要求1所述的数据刷盘方法, 其特征在于, 所述终止正在执行的垃圾回收操 作包括: 获取所述存储块的已搬移数据和未搬移数据; 将所述存储块的已搬移数据置为无效数据, 将所述存储块的未搬移数据置为有效数 据; 终止所述存储块执行的垃圾回收操作。 5.根据权利要求3所述的数据刷盘方法, 其特征在于, 还包括: 将所述已搬移数据的逻辑地址到物理地址的映射关系保存至第三指定位置。 6.根据权利要求3所述的数据刷盘方法, 其特征在。

5、于, 还包括: 在检测到上电操作时, 读取所述第一指定位置的存储信息; 判断所述第一指定位置的存储信息中是否包含有所述目标信息; 若有, 则根据所述目标信息确定待进行垃圾回收操作的存储块, 对所述待进行垃圾回 收操作的存储块执行垃圾回收操作。 7.根据权利要求6所述的数据刷盘方法, 其特征在于, 所述对待进行垃圾回收操作的存 储块执行垃圾回收操作包括: 读取所述第二指定位置的存储信息; 判断所述第二指定位置的存储信息是否包含有所述待进行垃圾回收操作的存储块的 标识信息; 若有, 则根据所述标识信息, 对所述待进行垃圾回收操作的存储块的未搬移数据执行 垃圾回收操作; 若无, 则按照垃圾回收操作策。

6、略对所述待进行垃圾回收操作的存储块执行垃圾回收操 作。 8.根据权利要求4所述的数据刷盘方法, 其特征在于, 还包括: 在检测到上电操作时, 读取所述第一指定位置的存储信息; 判断所述第一指定位置的存储信息中是否包含有所述目标信息; 权利要求书 1/2 页 2 CN 111475116 A 2 若有, 则根据所述目标信息确定待进行垃圾回收操作的存储块, 对所述待进行垃圾回 收操作的存储块中的有效数据执行垃圾回收操作。 9.根据权利要求4所述的数据刷盘方法, 其特征在于, 所述将存储块的目标信息保存至 第一指定位置包括: 将所述存储块的目标信息保存至闪存的管理信息中。 10.一种数据刷盘装置, 。

7、其特征在于, 包括: 判断模块, 用于在检测到关机命令时, 判断是否有正在执行垃圾回收操作的存储块; 终止模块, 用于在检测到有正在执行垃圾回收操作的存储块时, 将存储块的目标信息 保存至第一指定位置, 并终止正在执行的垃圾回收操作; 刷盘模块, 用于在完成垃圾回收操作的终止操作后, 执行数据刷盘操作。 权利要求书 2/2 页 3 CN 111475116 A 3 数据刷盘方法及装置 技术领域 0001 本发明涉及固态硬盘领域, 特别涉及一种数据刷盘方法及装置。 背景技术 0002 固态硬盘在收到主机的关机命令后, 需要进行刷盘操作, 该刷盘操作是将暂存于 内存上的数据写入到闪存中, 以保证固。

8、态硬盘在下次上电时能正常启动。 0003 但 是 , 在 对 系 统 数 据 进 行 刷 盘 操 作 时 会 遇 到 后 台 操 作 , 比 如 G C (GarbageCollection, 垃圾回收)。 由于执行GC操作比较耗时, 可能会导致主机的关机请求 不能及时完成, 出现关机超时的现象。 发明内容 0004 本发明的主要目的在于提出一种数据刷盘方法, 旨在解决现有的主机执行关机操 作时出现关机超时的问题。 0005 为实现上述目的, 本发明提出一种数据刷盘方法, 该数据刷盘方法包括: 在检测到 关机命令时, 判断是否有正在执行垃圾回收操作的存储块; 若是, 则将所述存储块的目标信 息。

9、保存至第一指定位置, 并终止正在执行的垃圾回收操作; 在完成垃圾回收操作的终止操 作后, 执行数据刷盘操作。 0006 优选地, 所述将存储块的目标信息保存至第一指定位置包括: 获取所述存储块的 编号信息; 将所述存储块的编号信息保存至所述第一指定位置。 0007 优选地, 获取所述存储块的已搬移数据和未搬移数据; 根据所述存储块的未搬移 数据生成标识信息, 将所述标识信息保存至第二指定位置; 终止所述存储块执行的垃圾回 收操作。 0008 优选地, 所述终止正在执行的垃圾回收操作包括: 获取所述存储块的已搬移数据 和未搬移数据; 将所述存储块的已搬移数据置为无效数据, 将所述存储块的未搬移数。

10、据置 为有效数据; 终止所述存储块执行的垃圾回收操作。 0009 优选地, 所述数据刷盘方法还包括: 将所述已搬移数据的逻辑地址到物理地址的 映射关系保存至第三指定位置。 0010 优选地, 所述数据刷盘方法还包括: 在检测到上电操作时, 读取所述第一指定位置 的存储信息; 判断所述第一指定位置的存储信息中是否包含有所述目标信息; 若有, 则根据 所述目标信息确定待进行垃圾回收操作的存储块, 对所述待进行垃圾回收操作的存储块执 行垃圾回收操作。 0011 优选地, 所述对所述待进行垃圾回收操作的存储块执行垃圾回收操作包括: 读取 所述第二指定位置的存储信息; 判断所述第二指定位置的存储信息是否。

11、包含有所述待进行 垃圾回收操作的存储块的标识信息; 若有, 则根据所述标识信息, 对所述待进行垃圾回收操 作的存储块的未搬移数据执行垃圾回收操作; 若无, 则按照垃圾回收操作策略对所述待进 行垃圾回收操作的存储块执行垃圾回收操作。 说明书 1/8 页 4 CN 111475116 A 4 0012 优选地, 所述数据刷盘方法还包括: 在检测到上电操作时, 读取所述第一指定位置 的存储信息; 判断所述第一指定位置的存储信息中是否包含有所述目标信息; 若有, 则根据 所述目标信息确定待进行垃圾回收操作的存储块, 对所述待进行垃圾回收操作的存储块中 的有效数据执行垃圾回收操作。 0013 优选地, 。

12、所述将所述存储块的目标信息保存至第一指定位置包括: 将所述存储块 的目标信息保存至闪存的管理信息中。 0014 本发明还提出一种数据刷盘装置, 该数据刷盘装置包括: 判断模块, 用于在检测到 关机命令时, 判断是否有正在执行垃圾回收操作的存储块; 终止模块, 用于在检测到有正在 执行垃圾回收操作的存储块时, 将存储块的目标信息保存至第一指定位置, 并终止正在执 行的垃圾回收操作; 刷盘模块, 用于在完成垃圾回收操作的终止操作后, 执行数据刷盘操 作。 0015 与现有技术相比, 本发明实施例的有益效果在于: 本发明所提出的数据刷盘方法, 其在遇到垃圾回收操作时, 不是等待该垃圾回收操作执行完成。

13、, 而是将正在执行垃圾回收 操作的存储块的目标信息保存在指定位置, 并终止正在执行的垃圾回收操作, 然后再执行 数据刷盘操作, 以快速响应主机下发的关机命令, 避免出现关机超时的现象。 对于被终止垃 圾回收操作的存储块, 待固态硬盘重新上电后, 根据所保存的目标信息找到对应的存储块, 然后再对该存储块执行未完成的垃圾回收操作, 并在完成后清除所保存的目标信息。 附图说明 0016 图1为本发明数据刷盘方法第一实施例的流程图; 0017 图2为本发明数据刷盘方法第二实施例的流程图; 0018 图3为本发明数据刷盘方法第三实施例的流程图; 0019 图4为本发明数据刷盘方法第四实施例的流程图; 0。

14、020 图5为本发明数据刷盘方法第五实施例的流程图; 0021 图6为本发明数据刷盘方法第六实施例的流程图; 0022 图7为本发明数据刷盘装置一实施例的功能模块图。 具体实施方式 0023 下面详细描述本发明的实施例, 所述实施例的示例在附图中示出, 其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。 下面通过参考附 图描述的实施例是示例性的, 旨在用于解释本发明, 而不能理解为对本发明的限制, 基于本 发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实 施例, 都属于本发明保护的范围。 0024 本发明提出一种数据刷盘方法, 在一实。

15、施方式中, 参见图1, 该数据刷盘方法包括: 0025 步骤S10, 在检测到关机命令时, 判断是否有正在执行垃圾回收操作的存储块; 0026 固态硬盘在每次上电后, 会对所执行的垃圾回收操作进行记录, 其所记录的信息 称之为垃圾回收管理信息, 该垃圾回收管理信息被保存在内存上。 当然, 对存储块所执行的 垃圾回收操作也可记录在闪存上, 但是, 本实施例优选将其记录在内存上, 以在断电时即可 自动清除垃圾回收管理信息, 从而避免其占用固态硬盘的存储空间。 说明书 2/8 页 5 CN 111475116 A 5 0027 垃圾回收管理信息记录了上电后固态硬盘的垃圾回收状态, 该垃圾回收状态包括。

16、 空闲状态和繁忙状态, 对于繁忙状态下的垃圾回收, 还记录有正在执行垃圾回收操作的存 储块的目标信息, 该目标信息为该存储块的位置信息、 身份信息等, 该身份信息表示该存储 块用于区别其他存储块的信息, 该目标信息包括但不限于此。 因此, 在判断是否有正在执行 垃圾回收操作的存储块时, 仅需从垃圾回收管理信息中读取其所记录的垃圾回收状态即 可。 若读取到的垃圾回收状态为空闲, 则表示没有正在执行垃圾回收操作的存储块, 若读取 到的垃圾回收状态为繁忙, 则表示有正在执行垃圾回收操作的存储块, 并可从中读取此存 储块的目标信息。 0028 本实施例中, 可将相同物理位置上所有逻辑单元上的存储块集合。

17、在一起, 以形成 一个超级块, 并将此超级块作为垃圾回收操作的执行单元。 其中, 超级块也具有相应的目标 信息, 以通过目标信息识别每个超级块。 在将超级块作为垃圾回收操作的执行单元时, 若对 某一超级块执行垃圾回收操作, 则仅需记录此超级块的目标信息至垃圾回收管理信息中即 可, 而无需记录超级块中所包含的每一个存储块的目标信息, 以供下次上电时根据此超级 块的目标信息找到对应的超级块, 从而对其执行未完成的垃圾回收操作。 0029 可以理解的是, 由于超级块是多个存储块的集合, 其在执行垃圾回收操作时, 仅需 记录此超级块的目标信息即可。 对于执行单元为存储块的垃圾回收操作, 其在每次对存储。

18、 块执行垃圾回收操作时, 需要记录每个存储块的目标信息, 相较于执行单元为超级块的垃 圾回收操作, 不仅会占用垃圾回收管理信息所在位置的存储空间, 还会降低垃圾回收操作 的效率。 0030 步骤S20, 若是, 则将存储块的目标信息保存至第一指定位置, 并终止正在执行的 垃圾回收操作; 0031 步骤S30, 在完成垃圾回收操作的终止操作后, 执行数据刷盘操作。 0032 本实施例中, 若有正在执行垃圾回收操作的存储块, 将从垃圾回收管理信息中读 取正在执行垃圾回收操作的存储块的目标信息, 然后再将该存储块的目标信息写入至指定 位置, 以在关机之前保存该存储块的目标信息。 本发明所提出的目标信。

19、息可保存在除内存 外的其他区域, 比如用户空间或预留空间, 因为内存在关机后, 保存在其中的数据都将丢 失, 也即被自动清除。 若将存储块的目标信息保存在内存上, 待固态硬盘重新上电后, 其将 无法获知在上次下电过程中是否有被终止垃圾回收操作的存储块。 0033 需要说明的是, 用户空间是指固态硬盘上可供用户操作的数据空间, 预留空间是 指固态硬盘上用户不可操作的部分空间, 用户数据只会写入在用户空间内, 而不会写入在 预留空间内。 因此, 本实施例优选将存储块的目标信息保存在预留空间内, 以避免出现数据 覆盖的问题。 0034 在完成垃圾回收操作的终止操作后, 执行数据盘操作, 以快速响应主。

20、机下发的关 机命令, 并在完成数据刷盘操作后, 发送已完成数据刷盘操作的信息给主机。 本发明所提出 的数据刷盘方法, 是在遇到垃圾回收操作时终止该垃圾回收操作, 以快速执行关机前的数 据刷盘操作, 从而避免主机出现关机超时的现象。 0035 在一实施例中, 将存储块的目标信息保存至第一指定位置包括: 0036 获取存储块的编号信息, 并将存储块的编号信息保存至第一指定位置。 本实施例 中, 正在执行垃圾回收操作的存储块包括有若干个, 固态硬盘在检测到关机命令时, 需记录 说明书 3/8 页 6 CN 111475116 A 6 所有未完成垃圾回收操作的存储块的编号信息, 以在固态硬盘下次上电时。

21、, 据此对被终止 垃圾回收操作的所有存储块进行垃圾回收。 可以理解的是, 编号信息是与存储块关联的, 比 如, 存储块A、 存储块B、 存储块C所对应的唯一编号信息分别为123、 124、 125, 每个存储块的 编号信息都是保存在指定位置的, 根据存储块的编号信息便可找到此编号信息所对应的存 储块。 0037 在另一实施例中, 参见图2, 终止正在执行的垃圾回收操作包括: 0038 步骤S21, 获取存储块的已搬移数据和未搬移数据; 0039 步骤S22, 根据存储块的未搬移数据生成标识信息, 将标识信息保存至第二指定位 置; 0040 步骤S23, 终止存储块执行的垃圾回收操作。 0041。

22、 本实施例中, 对存储块所执行的垃圾回收操作, 实质是将存储块中所包含的有用 数据全部搬出至新的存储块, 在有用数据全部搬出后, 再擦除整个存储块中所存储的数据, 以将其所包含的无用数据删除, 从而释放出无用数据所占用的存储空间。 比如, 存储块X中 存储有数据A、 B、 C, 但数据A、 B、 C被更新为A 、 B 、 C , 同时还写入了新的数据D、 E、 F, 此时, 数 据A、 B、 C成为无用数据, 但其仍然占用了存储块的存储空间, 因此, 需将此无用数据从存储 块上擦除。 在擦除无用数据之前, 需先将更新的数据A 、 B 、 C 和写入的新数据D、 E、 F从此存 储块中搬移至新的。

23、存储块Y中, 待数据A 、 B 、 C 、 D、 E、 F全部搬移完成后, 方可对存储块X中 所包含的数据A、 B、 C进行擦除。 0042 在存储块的垃圾回收操作被终止后, 获取存储块中已搬移数据和未搬移数据, 以 根据未搬移数据生成相应的标识信息, 并将此标识信息保存至第二指定位置。 待固态硬盘 下次上电时, 可根据此标识信息对未搬移的数据进行垃圾回收操作, 避免对已搬移数据进 行重复搬移。 0043 在又一实施例中, 参见图3, 终止正在执行的垃圾回收操作包括: 0044 步骤S24, 获取存储块的已搬移数据和未搬移数据; 0045 步骤S25, 将存储块的已搬移数据置为无效数据, 将存。

24、储块的未搬移数据置为有效 数据; 0046 步骤S26, 终止存储块执行的垃圾回收操作。 0047 本实施例中, 已搬移数据和未搬移数据都是正在执行垃圾回收操作的存储块中的 有用数据, 需要在擦除此存储块中的无用数据之前, 将有用数据全部从此储存块中搬出。 由 于已经完成搬移的数据被写到了新的存储块中, 因此, 所有已完成搬移的数据在正在执行 垃圾回收操作的存储块中成为无效数据。 反之, 所有未完成搬移的数据在正在执行垃圾回 收操作的存储块中为有效数据, 需将其从此存储块中搬移至新的存储块中。 0048 在执行终止正在执行的垃圾回收操作的操作时, 执行垃圾回收操作的存储块中的 数据被置为有效数。

25、据和无效数据两种, 根据有效数据可创建有效数据位图, 以在下次上电 时对被终止垃圾回收操作的存储块中的有效数据进行数据搬移操作, 从而避免对无效数据 的重复搬移操作。 其中, 有效数据位图是根据所有有效数据的物理地址形成, 以据此定位到 上次被终止数据搬移的数据地址。 0049 在再一实施例中, 本发明所提出的数据刷盘方法还包括: 0050 将已完成搬移数据的逻辑地址到物理地址的映射关系保存至第三指定位置。 本实 说明书 4/8 页 7 CN 111475116 A 7 施例中, 由于已完成搬移的数据从执行垃圾回收操作的存储块中, 搬移到了新的空白存储 块中, 因此, 已完成搬移数据的物理地址。

26、会发生改变。 比如, 执行垃圾回收操作的存储块X的 物理地址为abc, 其中所包含的数据为A, 当数据A从存储块X搬移到存储块Y时, 数据A的物理 地址则由abc改变为存储块Y所对应的物理地址def。 由于已完成搬移数据的地址改变, 因 此, 需要对已完成搬移数据的逻辑地址到物理地址的映射关系进行变更, 并将变更后的地 址映射关系保存至第三指定位置。 0051 在再一实施例中, 参见图4, 本发明所提出的数据刷盘方法还包括: 0052 步骤S40, 在检测到上电操作时, 读取第一指定位置的存储信息; 0053 步骤S50, 判断第一指定位置的存储信息中是否包含有目标信息; 0054 步骤S60。

27、, 若有, 则根据目标信息确定待进行垃圾回收操作的存储块, 对待进行垃 圾回收操作的存储块执行垃圾回收操作。 0055 固态硬盘在下一次重新上电时, 会先从第一指定位置读取存储信息, 然后根据读 取到的存储信息判断是否包含有目标信息, 此目标信息是上一次关机时被终止垃圾回收操 作的存储块的信息。 若从第一指定位置读取的存储信息中包含有目标信息, 则需要根据此 目标信息确定待进行垃圾回收的存储块, 在确定待进行垃圾回收的存储块后, 对此存储块 执行未完成的垃圾回收操作。 在完成对被终止的存储块的垃圾回收操作后, 再对固态硬盘 执行开机操作。 若从第一指定位置读取的存储信息中不包含有目标信息, 则。

28、直接对固态硬 盘执行开机操作。 0056 在再一实施例中, 参见图5, 对待进行垃圾回收操作的存储块执行垃圾回收操作包 括: 0057 步骤S61, 读取第二指定位置的存储信息; 0058 步骤S62, 判断第二指定位置的存储信息是否包含有待进行垃圾回收操作的存储 块的标识信息; 0059 步骤S63, 若有, 则根据标识信息, 对待进行垃圾回收操作的存储块的未搬移数据 执行垃圾回收操作; 0060 步骤S64, 若无, 则按照垃圾回收操作策略对待进行垃圾回收操作的存储块执行垃 圾回收操作。 0061 本实施例中, 在对待进行垃圾回收操作的存储块执行垃圾回收操作之前, 先从第 二指定位置读取存。

29、储信息, 并判断此存储信息中是否包含有待进行垃圾回收操作的存储块 的标识信息, 此标识信息是上一次关机时被终止垃圾回收操作的存储块中未完成搬移的数 据的标记信息。 0062 若从第二指定位置读取的存储信息包含有标识信息, 则可根据此标识信息对待进 行垃圾回收操作的存储块中的未完成搬移的数据进行垃圾回收操作, 避免对已完成搬移的 数据进行重复的垃圾回收操作。 0063 若从第二指定位置读取的存储信息不包含有标识信息, 则按照常规的垃圾回收操 作策略对待进行垃圾回收操作的存储块执行垃圾回收操作。 0064 在再一实施例中, 参见图6, 本发明所提出的数据刷盘方法还包括: 0065 步骤S70, 在。

30、检测到上电操作时, 读取所第一指定位置的存储信息; 0066 步骤S80, 判断第一指定位置的存储信息中是否包含有目标信息; 说明书 5/8 页 8 CN 111475116 A 8 0067 步骤S90, 若有, 则根据目标信息确定待进行垃圾回收操作的存储块, 对待进行垃 圾回收操作的存储块中的有效数据执行垃圾回收操作。 0068 固态硬盘在下一次重新上电时, 会先从第一指定位置读取存储信息, 然后根据读 取到的存储信息判断是否包含有目标信息, 此目标信息是上一次关机时被终止垃圾回收操 作的存储块的信息。 0069 若从第一指定位置读取的存储信息中包含有目标信息, 则需要根据此目标信息确 定。

31、待进行垃圾回收的存储块, 在确定待进行垃圾回收的存储块后, 对此存储块执行未完成 的垃圾回收操作。 在完成对被终止的存储块的垃圾回收操作后, 再对固态硬盘执行开机操 作。 0070 在对被终止垃圾回收操作的存储块执行垃圾回收操作之前, 根据有效数据创建有 效数据位图, 以对被终止垃圾回收操作的存储块中的有效数据进行数据搬移操作, 从而避 免对无效数据的重复搬移操作。 其中, 有效数据位图是根据所有有效数据的物理地址形成, 以据此定位到上次被终止数据搬移的数据地址。 0071 在再一实施例中, 将存储块的目标信息保存至第一指定位置包括: 0072 将存储块的目标信息保存至闪存的管理信息中。 闪存。

32、的管理信息具有备份, 在当 前管理信息丢失的情况下, 还可以从其备份信息中读取相关信息, 因此, 将存储块的目标信 息保存在闪存的管理信息中, 不容易丢失数据。 在本发明提供的上述实施例中, 该第一指定 位置、 该第二指定位置和该第三指定位置可以指的是同一存储位置, 如均指的是闪存的管 理信息, 也可以为其他存储位置, 如该第一指定位置为闪存NAND中的管理信息, 该第二指定 位置和第三指定位置为固态硬盘的内存。 具体地, 闪存NAND的管理信息里面有些闲置空间, 该闲置空间叫预留空间, 如对NAND管理信息分配了1K空间, 但实际只用了512Byte, 则剩下 的512Byte就是闲置空间,。

33、 在上述实施例中提及的目标信息用了闲置空间来存放。 NAND的管 理信息放在根的位置, 在NAND最开始的位置, 该位置如前32个Block中的某一个, 其可以根 据实际情况进行设置。 0073 基于前述所提出的数据刷盘方法, 本发明还提出一种数据刷盘装置, 参见图7, 该 数据刷盘装置包括: 0074 判断模块10, 用于在检测到关机命令时, 判断是否有正在执行垃圾回收操作的存 储块; 0075 终止模块20, 用于在检测到有正在执行垃圾回收操作的存储块时, 将存储块的目 标信息保存至第一指定位置, 并终止正在执行的垃圾回收操作; 0076 刷盘模块30, 用于在完成垃圾回收操作的终止操作后。

34、, 执行数据刷盘操作。 0077 在一实施例中, 本发明所提出的终止模块20包括: 0078 编号信息获取单元, 用于获取存储块的编号信息, 并将存储块的编号信息保存至 第一指定位置。 0079 在另一实施例中, 本发明所提出的终止模块20还包括: 0080 第一数据获取单元, 用于获取存储块的已搬移数据和未搬移数据; 0081 标识信息生成单元, 用于根据存储块的未搬移数据生成标识信息, 并将标识信息 保存至第二指定位置; 0082 第一终止单元, 用于终止存储块执行的垃圾回收操作。 说明书 6/8 页 9 CN 111475116 A 9 0083 在又一实施例中, 本发明所提出的终止模块。

35、20还包括: 0084 第二数据获取单元, 用于获取存储块的已搬移数据和未搬移数据; 0085 数据标记单元, 用于将存储块的已搬移数据置为无效数据, 将存储块的未搬移数 据置为有效数据; 0086 第二终止单元, 用于终止存储块执行的垃圾回收操作。 0087 在再一实施例中, 本发明所提出的数据刷盘装置还包括: 0088 信息保存模块, 用于将已搬移数据的逻辑地址到物理地址的映射关系保存至第三 指定位置。 0089 在再一实施例中, 本发明所提出的数据刷盘装置还包括: 0090 第一信息读取模块, 用于在检测到上电操作时, 读取第一指定位置的存储信息; 0091 第一判断模块, 用于判断第一。

36、指定位置的存储信息中是否包含有目标信息; 0092 第一垃圾回收模块, 用于在存储信息中包含有目标信息时, 根据目标信息确定待 进行垃圾回收操作的存储块, 对待进行垃圾回收操作的存储块执行垃圾回收操作。 0093 在再一实施例中, 本发明所提出的第一垃圾回收模块包括: 0094 信息读取单元, 用于读取第二指定位置的存储信息; 0095 判断单元, 用于判断第二指定位置的存储信息是否包含有待进行垃圾回收操作的 存储块的标识信息; 0096 第一垃圾回收单元, 用于在存储信息中包含有标识信息时, 对待进行垃圾回收操 作的存储块的未搬移数据执行垃圾回收操作; 0097 第二垃圾回收单元, 用于在存。

37、储信息中不包含有标识信息时, 按照垃圾回收操作 策略对待进行垃圾回收操作的存储块执行垃圾回收操作。 0098 在再一实施例中, 本发明所提出的数据刷盘装置还包括: 0099 第二信息读取模块, 用于在检测到上电操作时, 读取第一指定位置的存储信息; 0100 第二判断模块, 用于判断第一指定位置的存储信息中是否包含有目标信息; 0101 第二垃圾回收模块, 用于根据目标信息确定待进行垃圾回收操作的存储块, 对待 进行垃圾回收操作的存储块中的有效数据执行垃圾回收操作。 0102 在再一实施例中, 本发明所提出的终止模块20还包括: 0103 信息保存单元, 用于将存储块的目标信息保存至闪存的管理。

38、信息中。 0104 本发明实施例还提供一种数据刷盘设备, 包括存储器、 处理器及存储在存储器上 且在处理器上运行的计算机程序, 处理器执行计算机程序时, 实现如图1至图6所示的数据 刷盘方法中的各个步骤。 0105 本发明实施例还提供一种计算机可读存储介质, 其上存储有计算机程序, 所述计 算机程序被处理器执行时, 实现如图1至图6所示的数据刷盘方法中的各个步骤。 0106 在本申请所提供的几个实施例中, 应该理解到, 所揭露的方法和装置, 可以通过其 它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性的, 例如, 所述模块的划分, 仅 仅为一种逻辑功能划分, 实际实现时可以有另外的划。

39、分方式, 例如多个模块或组件可以结 合或者可以集成到另一个装置, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的 相互之间的耦合或直接耦合或通信连接可以是通过一些接口, 装置或模块的间接耦合或通 信连接, 可以是电性, 机械或其它的形式。 说明书 7/8 页 10 CN 111475116 A 10 0107 所述作为分离部件说明的模块可以是或者也可以不是物理上分开的, 作为模块显 示的部件可以是或者也可以不是物理模块, 即可以位于一个地方, 或者也可以分布到多个 网络模块上。 可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目 的。 0108 另外, 在本发明各个。

40、实施例中的各功能模块可以集成在一个处理模块中, 也可以 是各个模块单独物理存在, 也可以两个或两个以上模块集成在一个模块中。 上述集成的模 块既可以采用硬件的形式实现, 也可以采用软件功能模块的形式实现。 0109 所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用 时, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发明的技术方案本质上 或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式 体现出来, 该计算机软件产品存储在一个存储介质中, 包括若干指令用以使得一台计算机 设备(可以是个人计算机, 服务器, 或者网络设备等)执行本发明各。

41、个实施例所述方法的全 部或部分步骤。 而前述的存储介质包括: U盘、 移动硬盘、 只读存储器(ROM, Read- OnlyMemory)、 随机存取存储器(RAM, Random Access Memory)、 磁碟或者光盘等各种可以存 储程序代码的介质。 0110 以上所述的仅为本发明的部分或优选实施例, 无论是文字还是附图都不能因此限 制本发明保护的范围, 凡是在与本发明一个整体的构思下, 利用本发明说明书及附图内容 所作的等效结构变换, 或直接/间接运用在其他相关的技术领域均包括在本发明保护的范 围内。 说明书 8/8 页 11 CN 111475116 A 11 图1 图2 说明书附图 1/4 页 12 CN 111475116 A 12 图3 图4 说明书附图 2/4 页 13 CN 111475116 A 13 图5 图6 说明书附图 3/4 页 14 CN 111475116 A 14 图7 说明书附图 4/4 页 15 CN 111475116 A 15 。

展开阅读全文
内容关键字: 数据 方法 装置
关于本文
本文标题:数据刷盘方法及装置.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10576631.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1