[发明专利]一种基于固态盘缓存系统中非对齐更新数据的合并方法有效
申请号: | 201710704921.X | 申请日: | 2017-08-17 |
公开(公告)号: | CN107589908B | 公开(公告)日: | 2020-01-17 |
发明(设计)人: | 邓玉辉;黄耀钦 | 申请(专利权)人: | 暨南大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 44245 广州市华学知识产权代理有限公司 | 代理人: | 陈燕娴 |
地址: | 510632 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 固态 缓存 系统 中非 对齐 更新 数据 合并 方法 | ||
1.一种基于固态盘缓存系统中非对齐更新数据的合并方法,其特征在于,所述的合并方法包括下列步骤:
A1、初始化缓存区域,对于所有到达缓存区域的写数据,除了维持所有缓存数据节点的LRU队列,根据对齐和不对齐的数据类型将所有的写数据分别设置在对齐缓存数据区域和非对齐缓存数据区域,两个区域内的数据节点分别用LRU队列维持;
A2、判断到达的IO请求类型是写操作还是读操作;
A3、根据到达的IO请求类型,分类处理缓存命中与非命中的情况,对于到达的写请求操作,则要判断将该数据写入缓存后缓存区域的空闲空间情况,是否需要执行数据写回的操作;
A4、处理写请求时若缓存区域写入后空闲空间不为0,则直接将数据写入缓存,结束处理流程;
A5、缓存写回的合并处理,判断缓存数据节点写回时的对齐情况,对齐的数据节点则直接分布至固态盘的闪存阵列中处理,非对齐的数据节点则要根据非对齐缓存数据区域的大小情况以及是否发生写更新判断是否执行合并写回,同时更新页级映射模块和合并页映射模块的映射关系;
A6、读请求时若缓存读命中,则直接返回数据,结束处理流程;
A7、未命中的读请求处理时,根据页级映射模块判断是否为multi_read操作类型,不为multi_read操作类型的读请求则直接分布至固态盘的闪存阵列中处理,对于multi_read操作类型的读请求,则继续判断是否为需要读页级映射模块,需要读时要从页级映射模块和合并页映射模块分别获取映射信息,而不需要时则只根据合并页映射模块获取映射信息,最后将多个处理后的multi_read_request分布至固态盘闪存阵列中处理。
2.根据权利要求1所述的一种基于固态盘缓存系统中非对齐更新数据的合并方法,其特征在于,所述的步骤A5、缓存写回的合并处理具体如下:
根据LRU队列尾部数据节点判断对齐情况;
对齐的数据节点则直接创建write_request挂载到处理队列,等待分布至固态盘闪存阵列中处理;
非对齐的数据节点,则先判断当前非对齐缓存区域的空间大小,当大小大于等于闪存页的存储空间时,则执行多个非对齐数据节点的合并写回,当大小小于闪存页的存储空间时,则默认先写回对齐缓存区域的数据节点。
3.根据权利要求1或2所述的一种基于固态盘缓存系统中非对齐更新数据的合并方法,其特征在于,所述的步骤A5、缓存写回的合并处理时
所述的页级映射模块和合并页映射模块的处理过程具体如下:
多个非对齐数据节点合并写回时,判断其中是否存在有数据节点写回时发生写更新操作,若发生写更新操作的数据节点,则默认保留页级映射模块中的映射信息;而若写回时没有发生写更新操作,则先设置页级映射模块中映射信息为无效状态,然后再添加和更新合并页映射模块中的映射信息。
4.根据权利要求1所述的一种基于固态盘缓存系统中非对齐更新数据的合并方法,其特征在于,所述的步骤A7、未命中的读请求处理具体如下:
对于要读取的逻辑块标志不为multi_read操作类型的读请求,则直接创建read_request挂载到处理队列,等待分布至固态盘闪存阵列中处理;
对于要读取的逻辑块标志为multi_read时,要根据页级映射模块判断读取的逻辑块的write_update标志是否设置为有效状态,对于write_update标志的逻辑块,读操作需要根据页级映射模块和合并页映射模块获取逻辑块的映射信息,而不为write_update标志的读请求则直接根据合并页映射模块获取逻辑块的映射信息;
完成映射信息的获取后再创建多个multi_read_request请求挂载到处理队列,等待分布至固态盘闪存阵列中处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于暨南大学,未经暨南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710704921.X/1.html,转载请声明来源钻瓜专利网。