[发明专利]一种基于固态盘阵列的数据处理方法及系统有效
申请号: | 201710416081.7 | 申请日: | 2017-06-06 |
公开(公告)号: | CN107273046B | 公开(公告)日: | 2019-08-13 |
发明(设计)人: | 冯丹;梅林军;陈俭喜;曾令仿;刘景宁;张晓祎 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 廖盈春;李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于固态盘阵列的数据处理方法及系统,包括:接收写请求,指示固态盘阵列和日志盘写入写请求对应的数据,固态盘阵列包括N个成员盘;通过哈希表指示日志盘中记录的每个成员盘中最后一次写入的数据;在空闲时间、日志盘失效、日志盘的剩余空间低于第一阈值或有成员盘的剩余空间低于第二阈值时,指示固态盘阵列根据每个逻辑地址对应的N‑1个成员盘上的数据更新每个逻辑地址对应的校验信息;当有成员盘失效时,通过哈希表恢复失效成员盘中最后一次写入的数据,以及通过未失效成员盘中数据和对应逻辑地址的校验信息恢复失效成员盘中相应逻辑地址上的数据。本发明实施例减少了为计算校验块所需的预读操作,保证了访问负载的原始特性。 | ||
搜索关键词: | 一种 基于 固态 阵列 数据处理 方法 系统 | ||
【主权项】:
1.一种基于固态盘阵列的数据处理方法,其特征在于,包括:接收写请求,指示固态盘阵列和日志盘写入所述写请求对应的数据;所述固态盘阵列包括N个成员盘,所述N个成员盘中任意两个成员盘的逻辑地址范围相同,所述N个成员盘采用异地更新策略写入数据,所述异地更新策略为前后两次写入的相同逻辑地址的数据的物理地址不同,N为正整数;接收写请求,指示固态盘阵列和日志盘写入所述写请求对应的数据,包括:(a)将用户请求按照条带进行分解后,挂载到对应的条带上;用LBA表示成员盘中的逻辑地址,Log_LBA表示日志盘中的逻辑地址;所述条带的编号对应LBA;(b)对有请求的条带进行处理,如果是读请求,则执行步骤(f),否则执行步骤(c);(c)查找哈希表中是否有对应的条目,所述条目包括LBA和Log_LBA信息,若哈希表中有对应的条目,则更改Log_LBA,若哈希表中没有对应的条目,则创建一个条目,将对应的LBA和Log_LBA信息填充到所述创建的条目中;(d)判断所述写请求要写的数据页所属类型并作标记,将所述写请求克隆后,同时分发到成员盘和日志盘;(e)写请求到达成员盘时,根据所述写请求要写的数据页所属类型动态调节访问的代价,接着判断地址映射表中所述写请求对应的数据页的Old_PPN是否为空,如果为空则将Old_PPN的值设置为所述写请求对应的数据页的物理页号,所述地址映射表用于记录数据页的逻辑页号LPN、物理页号PPN以及该数据页对应的无效数据页的物理页号Old_PPN;(f)读请求到达成员盘时,根据所述读请求要读的数据页所属类型动态调节访问的代价;通过哈希表指示所述日志盘中对应的每个成员盘中最后一次写入的数据;在空闲时间、所述日志盘失效、所述日志盘的剩余空间低于第一阈值或有成员盘的剩余空间低于第二阈值时,指示所述固态盘阵列根据每个逻辑地址对应的N‑1个成员盘上的数据更新每个逻辑地址对应的校验信息,并将每个逻辑地址对应的校验信息写入对应逻辑地址的成员盘中;包括:依次取出所述哈希表的节点,确定对应的条带,读出成员盘中对应条带上所有的数据块,计算出对应的校验块并在成员盘对应条带写入所述校验块,删除该条带上被更新过的数据块在哈希表中的对应条目,重复计算校验块以及删除哈希表中对应的条目直到哈希表为空;当有成员盘失效时,通过所述哈希表指示的日志盘中的数据恢复失效成员盘中最后一次写入的数据,以及通过未失效成员盘中的数据和对应逻辑地址的校验信息恢复失效成员盘中相应逻辑地址上的数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710416081.7/,转载请声明来源钻瓜专利网。