[发明专利]一种高效的NAND闪存数据库系统的缓存管理方法有效
申请号: | 201410216063.0 | 申请日: | 2014-05-21 |
公开(公告)号: | CN103984736B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 崔金华;伍卫国;王寅峰;段章峰 | 申请(专利权)人: | 西安交通大学;深圳信息职业技术学院 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/123;G06F12/126 |
代理公司: | 西安智大知识产权代理事务所61215 | 代理人: | 贺建斌 |
地址: | 710049*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 nand 闪存 数据库 系统 缓存 管理 方法 | ||
技术领域
本发明涉及计算机存储设备的缓存技术领域,尤其涉及一种高效的NAND闪存数据库系统的缓存管理方法。
背景技术
计算机存储设备的缓存模块能够优化I/O顺序,减少对存储设备的访问次数,一种良好的缓存管理方法能够获得更高的命中率,能够在整体上提高存储系统的性能。因为缓存替换策略的性能依赖于数据的访问特性,所以一种缓存替换方案在不同的数据访问特征下很难都获得较好的性能。
闪存是一种非易失性的存储器。它在断电情况下仍然能够保持存储的数据信息。另外它的随机访问特性、抗震能力强、低能耗、易移动性等多方面特色使得其被广泛用于移动存储卡和固态硬盘等多方面。NAND闪存的读写速度不对称性使得在该介质上的缓存替换方法也需要重新设计才能整体达到更好的性能。
当CPU处理数据库系统上的数据I/O操作请求时,缓存替换算法都需要经过以下步骤:
(1)查找请求的数据是否在缓冲区中。
(2)命中,则返回结果。
(3)未命中,检查缓冲区中是否有空余空间。
(4)有空余空间,那么启动I/O操作将数据读入缓冲区中,结束。
(5)没有空余空间,根据替换策略选择被置换的数据。
(6)检查被置换的数据是干净还是脏数据。
(7)如果是脏数据,写回外存,再启动I/O操作将数据读入缓冲区,结束。
(8)如果是干净数据,直接启动I/O操作将数据读入缓冲区,结束。
现有的缓存替换策略可分为以下四种类型:
一、根据访问时间决定数据替换。这一类型中会维护一个队列,队列中的缓存项按照每个数据的最后被访问时间来排序。比如,在具有高局部性的数据访问模式下,替换时一般按照最近最少使用策略(LRU)选择数据项替换出去。
二、根据访问频率决定数据替换。这一类型中会缓存数据页的访问频率。替换时按照一定优先策略,比如最近最小频率策略(LFU)、2Q等选择数据项替换出去。
三、综合访问时间和频率决定数据替换。结合上面两种类型的优缺点,比如LRFU替换策略。
四、根据特定的数据访问模式决定数据替换。
目前基于NAND闪存的缓存管理方法也有一些,比如CFLRU替换策略。该策略在预定窗口内首先替换干净页,如果预定窗口内没有干净页,则在预定窗口内替换脏页。再比如LRU-WSR策略,它对脏页采用二次选择机会使得脏页不常驻缓冲区中。但它们各有优劣,只在某些I/O访问场景中效果好。
发明内容
为了克服上述现有技术存在的问题,本发明的目的在于提供一种高效的NAND闪存数据库系统的缓存管理方法,能够获得较高的命中率,以及整体的存储系统性能。
为实现上述目的,本发明的采取的技术方案为:
一种高效的NAND闪存数据库系统的缓存管理方法,包括以下步骤:
第一步,数据库缓冲区由三个链表管理,三个链表都是根据最近最少使用原则来组织存储数据对应的逻辑页号,三个链表分别为冷干净队列链表LCC、冷脏页队列链表LDC、混合队列链表LM,冷干净队列链表LCC上存储的是被访问一次或者没有被访问的冷干净数据信息;冷脏页队列链表LDC上存储的是被访问一次或者没有被访问的是冷脏数据信息;冷干净队列链表LCC和冷脏页队列链表LDC都属于冷区;混合队列链表LM上存储的是至少被访问两次的数据信息,包括热干净数据和热脏数据,属于热区;
第二步,当CPU处理数据库系统上的数据I/O操作请求时,首先检查此数据是否在数据库缓冲区中,先启动三个线程同时在三个链表上查找该数据,如果数据在缓冲区中命中,则将该数据在对应的队列链表上的节点调整到混合队列链表LM的头部MRU,设置它的有效冷热标识位为热标识;然后检查混合链表LM长度是否已经超过预定的阈值,如果超过预定的阈值,则先执行LRU-WSR算法移除一个热区节点到冷区中,然后判断数据I/O操作;否则直接判断数据I/O操作类型,当数据I/O操作类型为输入操作,启动I/O操作返回缓冲区中的此数据;当数据I/O操作类型为输出操作,启动I/O操作更新缓冲区中数据;
第三步,如果数据未在缓冲区命中,则检查缓冲区是否有空余位置,如果缓存区有空余位置,则启动I/O操作将数据读入缓冲区中的冷干净队列链表LCC的头部MRU;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学;深圳信息职业技术学院,未经西安交通大学;深圳信息职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410216063.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:排草器传动机构
- 下一篇:籽棉打垛机可调式牵引架