[发明专利]一种闪存缓存区的管理方法及系统有效
申请号: | 201610324044.9 | 申请日: | 2016-05-16 |
公开(公告)号: | CN107391398B | 公开(公告)日: | 2020-04-14 |
发明(设计)人: | 王力玉;陈岚 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | G06F12/0871 | 分类号: | G06F12/0871;G06F12/121 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 党丽;王宝筠 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 闪存 缓存 管理 方法 系统 | ||
本发明提供一种闪存缓存区的管理方法及系统,在缓存区建立冷干净链表、冷脏链表和热链表这三个链表,分别管理冷的干净数据页、冷的脏数据页以及热数据,在热数据进行遣散时,按照从表头至表尾顺序,通过生命值判断是否需要遣散数据页,生命值为包含了访问次数、新颖度和读写代价这三者因素的数值,充分考虑了数据页被访问的频度、再次被访问的概率以及闪存的读写延时,从而,提高数据访问的命中率,提高缓存区的运行性能。
技术领域
本发明涉及存储系统领域,特别涉及一种闪存缓存区的管理方法及系统。
背景技术
随着大数据应用的不断发展,对存储介质的性能的要求也越来越高,闪存是新型非易失存储介质的代表,具有读写速度高、低功耗和抗震等优点,广泛应用于消费类电子产品和企业级存储系统中。
LRU(Least Recently Used)是最基本的缓存算法,即优先替换最近最少使用的缓存数据页,在该算法中,根据数据页的新颖度将数据页链接到链表中,链表的表头一端为较早访问的数据页,链表的表尾一端为最近访问的数据页,在进行缓存数据页淘汰时,从表头一端进行淘汰。
然而,该LRU算法,很难做到淘汰最近最少使用的数据页,而且,闪存具有读写不对称的特点,在写操作之前需要进行擦除操作,写操作相对读操作需要更长时间的代价,因此,在缓存管理中,希望尽量减少对闪存的写操作,以提高闪存操作的整体性能。
基于闪存的特点,对LRU算法做了一系列的改进,在一个现有的改进的LRU算法中,在缓存区中分别建立冷干净链表、冷脏链表和热链表,在冷干净链表中存放只进行了一次读操作的数据页,该数据页称为冷干净页,在冷脏链表中存放只进行了一次写操作的数据页,该数据页称为冷脏页,在热链表中存储读操作或写操作的次数超过一次的数据页,包括热干净页和热脏页,在从热链表向冷链表遣散时,从热链表的表头开始查找,优先遣散干净页,这样,可以减少对闪存的写操作,但并没有真正考虑到数据的访问频度和新颖度,影响命中率和缓存区的运行性能。此外,在进行数据页的替换时,首先从冷干净页进行替换,而后,再通过概率的选择在冷脏页和热干净页中进行替换,由于是采用固定概率的方式进行替换,可能会导致过多淘汰了某个链表中的数据页,或者过早淘汰了刚进入的数据页,影响缓存运行的效率和性能。
发明内容
本发明旨在至少解决上述问题之一,提供一种闪存缓存区的管理方法及系统,真正考虑数据的访问频度、新颖度以及读写代价,提高命中率和缓存区的运行性能。
为实现上述目的,本发明有如下技术方案:
一种闪存缓存区的管理方法,包括:
根据对闪存的访问特性,分别在缓存区建立冷干净链表、冷脏链表和热链表,冷干净链表中存放只进行了一次读操作的数据页,冷脏链表中存放只进行了一次写操作的数据页,热链表中存放冷干净链表或冷脏链表中的数据页被再次访问后而迁移的数据页,上述链表的数据页设置有读写标志以及访问次数;
当需要从热链表遣散数据页到冷干净链表或冷脏链表时,进行遣散处理,遣散处理具体包括:按照从表头至表尾顺序,依次判断热链表中的数据页的生命值是否小于预定值或访问次数为1,若是,则根据数据页的读写标志将数据页遣散至冷干净链表或冷脏链表,若否,则将数据页的访问次数减1;其中,生命值的权重因素包括访问次数、新颖度和读写代价,新颖度为在当前时刻数据页被再次访问的概率,数据页最近一次访问的时刻离当前时刻越近,则被再次访问的概率越高,读写代价中读操作的代价值小于写操作时的代价值;
当缓冲区的使用量达到替换阈值时,从缓冲区替换数据页。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610324044.9/2.html,转载请声明来源钻瓜专利网。