standard library
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211341478.1 (22)申请日 2022.10.31 (71)申请人 之江实验室 地址 310023 浙江省杭州市余杭区文一西 路1818号人工智能小镇10号楼 (72)发明人 曾令仿 毛波 吴素贞 杜春锋  陈光 李勇 朱世强  (74)专利代理 机构 杭州求是专利事务所有限公 司 33200 专利代理师 邱启旺 (51)Int.Cl. G06F 3/06(2006.01) G06F 16/22(2019.01) G06F 16/2455(2019.01) (54)发明名称 提高闪存可靠性的缓存管理方法、 装置、 设 备和储存介质 (57)摘要 本发明公开了提高闪存可靠性的缓存管理 方法、 装置、 设备和储存介质, 该装置包括主控模 块、 缓存管理模块和可靠性记录表, 该方法是通 过主控模块进行闪存的控制和管 理, 缓存管理模 块管理读缓存和写缓存, 可靠性记录表记录数据 块在缓存中的驻留时间。 此方法减 轻闪存块由于 接近擦除极限而导致的数据丢失问题, 从而在保 证闪存存储性能的同时提高了闪存存储的可靠 性。 权利要求书2页 说明书6页 附图6页 CN 115469815 A 2022.12.13 CN 115469815 A 1.一种提高闪存可靠性的缓存管理方法, 其特 征在于, 所述方法包括以下步骤: (1) 初始化: 主控模块查看闪存状态日志, 判断历史缓存数据是否存在于闪存存储中; 然后读取保存在闪存中的历史缓存数据, 并初始 化缓存元数据 表, 再清空缓存数据, 并重置 缓存元数据表; (2) 读缓存管理: 经由第一步初始化后, 当用户发起的请求类型是读请求, 进入读缓存 管理模块, 该模块进行读缓存的管理工作并处 理用户发起的读 请求; (3) 写缓存管理: 经由第一步初始化后, 当用户发起的请求类型是写请求, 进入写缓存 管理模块, 该模块进行写缓存的管理工作并处理用户发起的写请求, 且进入读缓存管理模 块还是写缓存管理模块是由用户发起的请求类型决定; (4) 结束步骤: 当用户发出指令关闭闪存时, 将可靠性记录表保存到闪存的预留空间 中, 将写缓存数据更新到闪存设备中, 完成后关闭闪存设备, 释放相关的资源。 2.根据权利要求1所述的一种提高闪存可靠性的缓存管理方法, 其特征在于, 所述读缓 存管理, 具体为: (2.1) 当有新读请求到达时, 读 缓存管理模块检查读 缓存中是否有该读请求的数据, 若 是, 转入过程 (2.2) , 否则转入过程 (2.5) ; (2.2) 缓存管理模块从缓存中返回该读请求的数据块, 同时查看可靠性记录表获取该 数据块在缓存中的驻留时间, 判断该驻留时间是否大于阈值, 若 是, 则转入过程 (2.3) , 否则 转入过程 (2.6) ; (2.3) 从闪存中读取该数据块, 并与缓存中的数据进行对比, 判断两份数据是否相同, 若是, 则转入过程 (2.6) , 否则转入过程 (2.4) ; (2.4) 将缓存中的数据块写入到闪存中, 并更新闪存的映射表, 转入过程 (2.6) ; (2.5) 从闪存中读取该读请求的数据, 更新可靠性记录表中该数据块的驻留时间, 转入 过程 (2.6) ; (2.6) 将该 数据块信息更新到LRU链 表的表头, 转入过程 (2.1) 。 3.根据权利要求1所述的一种提高闪存可靠性的缓存管理方法, 其特征在于, 所述写缓 存管理, 具体为: (3.1) 当新请求不是读请求时, 则是写请求, 有新数据要写入缓存中, 缓存管理模块检 查读缓存中是否有 要写入地址的数据, 若是, 则转入过程 (3.2) , 否则转入过程 (3.3) ; (3.2) 更新读缓存中的数据块, 转入过程 (3.3) ; (3.3) 缓存管理模块检查写缓存 空间是否已满, 若是, 则转入过程 (3.4) , 否则转入过程 (3.8) ; (3.4) 缓存管理模块从 缓存LRU链 表中取出尾节点, 转入过程 (3.5) ; (3.5) 查看该节点数据所属的闪存块并检索可靠性记录表, 判断该闪存块的擦除次数 是否大于阈值, 若是, 则转入过程 (3.6) , 否则转入过程 (3.7) ; (3.6) 缓存管理模块从LRU链 表中取出当前节点的前一个节点数据, 转入过程 (3.5) ; (3.7) 将该节点数据块写回 闪存, 转入过程 (3.8) ; (3.8) 将新数据写入缓存并插 入到LRU链 表的表头, 转入过程 (3.1) 。 4.根据权利要求3所述的一种提高闪存可靠性的缓存管理方法, 其特征在于, 所述阈值 是一个能任意设置的值, 阈值范围取闪存擦除寿命值的5 0%‑100%。权 利 要 求 书 1/2 页 2 CN 115469815 A 25.根据权利要求1所述的一种提高闪存可靠性的缓存管理方法, 其特征在于, 所述读缓 存管理或写缓存管理执行完会再次检查用户发送的请求类型, 这样反复执行, 直到用户发 送关闭闪存系统命令时, 才进入结束步骤。 6.一种提高闪存可靠性的缓存管理装置, 其特征在于, 该装置包括: 主控模块、 读缓存 管理模块、 写缓存管理模块和结束模块; 主控模块: 用于查看闪存状态日志, 判断历史缓存数据是否存在于闪存存储中, 如果存 在于闪存存储中, 则读取保存在闪存中的历史缓存 数据, 并初始 化缓存元数据 表; 若没有存 在于闪存 存储中, 则清空缓存数据, 并重 置缓存元 数据表; 读缓存管理模块: 用于新读请求到达时检查读缓存中是否有该读请求的数据: A1)  如 果有读请求的数据, 则从缓存中返回该读请求的数据块, 同时查看可靠性记录表获取该数 据块在缓存中的驻留时间, 判断该驻留时间是否大于阈值, B1)如果驻留时间大于阈值, 则 从闪存中读取该数据块, 并与缓存中的数据进行对比, 判断两份数据是否相同, C1)如果两 份数据相同,则将该数据块信息更新到LRU链表的表头, C2)如果两份数据不相同则将缓存 中的数据块写入到闪存中, 并更新闪存的映射表; B2)如果驻留时间小于阈值, 则将该数据 块信息更新到LRU链表的表头; A2)如果没有该读请求的数据, 则从闪存中读取该读请求的 数据, 更新可靠性记录表中该数据块的驻留时间, 然后将该数据块信息更新到L RU链表的表 头; 写缓存管理模块, 用于有新数据要写入缓存时, 写缓存管理模块首先检查读缓存中是 否有要写入地址的数据: A1)如果有要写入地址的数据, 则更新读缓存中的数据块, 然后检 查写缓存空间是否已满, B1)如果写缓存空间已满, 则缓存管理模块从缓存LRU链表中取出 尾节点, 查看该节点数据所属的闪存块并检索可靠性记录表, 判断该闪存块的擦除次数是 否大于阈值, C1)如果大于阈值, 则缓存管理模块从LRU链表中取出当前节点的前一个节点 数据, 然后将该节点数据块写回闪存, C2)如果小于阈值, 则缓存管理模块将该节点数据块 写回闪存, 最后将新数据写入缓存并插入到LRU链表的表头, B2)  如果写缓存空间不满, 则 将新数据写入缓存并插入到LRU链表的表头, A2)如果没有要写入地址的数据, 则不需要更 新读缓存中的数据块; 所述可靠性记录表用于记录数据块在缓存中的驻留时间; 结束模块: 当用户发出指令关闭闪存时, 将可靠性记录表保存到闪存的预留空间中, 将 写缓存数据更新到闪存设备中, 完成后关闭闪存设备, 释放相关的资源。 7.一种计算机设备, 包括存储器、 处理器及存储在存储器上并可在处理器上运行的计 算机可读指 令, 其特征在于, 所述处理器执行所述计算机可读指 令时执行如权利要求 1‑5任 一项所述的方法的步骤。 8.一种计算机可读存储介质, 所述计算机可读存储介质上存储有计算机可读指令, 其 特征在于, 所述计算机可读指 令被处理器执行时, 使 得所述处理器执行如权利要求 1‑5任一 项所述的方法的步骤。权 利 要 求 书 2/2 页 3 CN 115469815 A 3

PDF文档 专利 提高闪存可靠性的缓存管理方法、装置、设备和储存介质

文档预览
中文文档 15 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 提高闪存可靠性的缓存管理方法、装置、设备和储存介质 第 1 页 专利 提高闪存可靠性的缓存管理方法、装置、设备和储存介质 第 2 页 专利 提高闪存可靠性的缓存管理方法、装置、设备和储存介质 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:33:08上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。