[发明专利]一种高效利用固态盘缓存的方法和系统有效
申请号: | 201310554993.2 | 申请日: | 2013-11-11 |
公开(公告)号: | CN103678169A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 周可;李春花;万广平;王桦;黄平 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 利用 固态 缓存 方法 系统 | ||
技术领域
本发明属于计算机数据存储领域,更具体地,涉及一种高效利用固态盘缓存的方法和系统。
背景技术
固态盘技术的日益成熟在一定程度上为解决计算机系统中的I/O瓶颈问题提供了潜在的解决方案。固态盘在性能,尤其随机访问性能,能耗等方面都要远远优于机械式磁盘。其数据访问所需要的操作时间往往只需要几十微秒比机械式磁盘的毫秒(ms)级访问时间要快一到两个数量级。而且固态盘内能耗也远远小于机械式磁盘的能耗。
固态盘已经被用于构建一些高性能计算环境下的存储系统。然而固态盘也有其使用上的缺陷和限制。它的随机写性能,尤其是随机小写性能,在某些情况下甚至比机械式磁盘的性能还要差。它的总体性能会随着使用时间而不断地下降,而且只具有有限的擦写次数寿命,价格也比机械式磁盘高出许多。因此从容量、长期可靠性、成本角度考虑,完全基于固态盘构建大规模存储系统在目前的技术条件下将不能获得最优的性价比。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种高效利用固态盘缓存的方法和系统,其目的在于通过将固态盘和机械式磁盘两种不同的设备构造成一个统一的设备映射层目标设备,以机械式磁盘的成本获得固态盘级的性能,在性能和成本之间找到一个最优的平衡点。
为实现上述目的,按照本发明的一个方面,提供了高效利用固态盘缓存的方法,包括以下步骤:
(1)构造一个由固态盘和机械式磁盘混合组成的设备映射层目标设备,在设备映射层目标设备的内存中初始化一段空间作为“未命中窗口”,用于存放读操作未命中记录项,在机械式磁盘上设置一个日志区域;
(2)将固态盘的缓存空间中划分为多个组,分组的数量NS为存储空间中数据块的总数除以2N,其中N为8至10之间的正整数;
(3)接收来自于用户的请求,并判断该请求是读请求还是写请求,如果是读请求,则进入步骤(4),如果是写请求,则进入步骤(11);
(4)根据读请求对应的访问地址计算该读请求在固态盘的缓存空间中对应的缓存组号set=(dbn/B/2N)%NS,其中,dbn表示读请求对应的访问地址扇区号,B表示固态盘的每个数据块包含的扇区个数;
(5)在计算得到的缓存组号对应的缓存组内查找是否存在该读请求对应的数据块,若存在对应的数据块,则转步骤(6),否则转步骤(7);
(6)直接从固态盘上读取数据,然后过程结束;
(7)检查固态盘的缓存空间中是否存在与该读请求对应的地址空间重合的数据块,若存在则转步骤(8),否则转步骤(9)。
(8)将重合的数据块同步写回机械式磁盘,从该机械式磁盘中读取该读请求对应的地址空间中的数据,然后过程结束;
(9)从该机械式磁盘中读取该读请求对应的地址空间中的数据,并将读操作未命中的记录项添加到“未命中窗口”中;
(10)判断未命中窗口中读操作未命中的次数是否达到一阈值,若达到,则将该记录项对应的数据块从机械式磁盘迁移到固态盘对应组内,否则过程结束;
(11)将写请求的大小与低阈值Thresholdlow和高阈值Thresholdhigh进行比较,若其小于低阈值Thresholdlow,则转步骤(12),若大于低阈值Thresholdlow但小于高阈值Thresholdhigh,则表示写操作命中,然后转步骤(15),若大于高阈值Thresholdhigh,则表示写操作未命中,然后转步骤(18);
(12)判断磁盘上日志区域的剩余空间是否大于该小写请求所需要的空间,若大于则转步骤(13),否则转步骤(14);
(13)将该写请求的内容写入到机械式磁盘上的日志区域,过程结束;
(14)将机械式磁盘上的日志区域上缓存的数据块全部写回机械式磁盘,返回步骤(13);
(15)根据写请求对应的访问地址计算该写请求在固态盘的缓存空间中对应的缓存组号,并判断该缓存组内的剩余空间是否大于写请求所需要的空间,若大于则转步骤(16),否则转步骤(17);
(16)将写请求对应的数据块写入计算得到的缓存组号对应的缓存组内的剩余缓冲空间中,然后过程结束;
(17)根据缓存替换算法将该缓存组中最近未被访问的数据块写回机械式磁盘,并释放该数据块在缓存空间中占用的空间,然后返回步骤(14);
(18)检查固态盘的缓存空间以及机械式磁盘上的日志区域中是否存在与该写请求对应的地址空间重合的数据块,若存在则转步骤(19),否则转步骤(20);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310554993.2/2.html,转载请声明来源钻瓜专利网。