[发明专利]一种三条带状态转换方法有效
申请号: | 201510115469.4 | 申请日: | 2015-03-17 |
公开(公告)号: | CN104731527B | 公开(公告)日: | 2018-09-07 |
发明(设计)人: | 刘国良;董欢庆;刘振军;蔡杰明;张军伟;刘浏;马留英;刘健;杨琳 | 申请(专利权)人: | 中国科学院计算技术研究所;天津中科蓝鲸信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇;李科 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 条带 状态 转换 方法 | ||
本发明提供一种三条带状态转换方法,包括:更改三条带状态,其中三条带状态用于指示当前的逻辑条带及其位置关系;以及使纠删码位图指示更改后的纠删码条带位置和镜像条带位置上的哪些数据块构成纠删码条带。本发明降低了数据迁移导致的系统开销,提升了三条带系统的性能。
技术领域
本发明涉及存储技术领域,更具体地,涉及条带化存储技术领域。
背景技术
三条带技术是指对于逻辑层的每个条带,其内部实现均由三个逻辑条带组成,用于解决传统RAID技术中存在的小写性能过低以及数据写入过程中若失败而导致的数据不一致问题(write hole问题)。参见图1,三个逻辑条带分别为M条带、RS条带和N条带,其中:
1、M条带(镜像条带):该条带上的数据使用副本机制进行保护。镜像条带用于存放小写数据,用以提升数据读写的性能;此外,镜像条带的写入不覆盖纠删码条带上的数据,因此避免了写入过程中由于节点失效而导致的数据不一致。当镜像条带的小写积累到满条带或者系统启动镜像条带到纠删码条带的转换以腾出镜像条带占用的空间时,镜像条带会被转化成纠删码条带。
2、RS条带(纠删码条带):该条带上的数据使用Reed–Solomon编码机制保护。
3、N条带(空条带):不存放数据的条带。空条带是满条带写入时的短暂存放场所,写完成后其状态立即转变为纠删码条带。空条带的存在使得数据写入不覆盖原来镜像条带与纠删码条带上的数据,确保不会出现数据不一致的问题。
另外,为了确保镜像条带上的数据具有不低于纠删码条带上的数据的保护级别,镜像条带上的数据所对应的副本存储在该条带的校验块所在的竖条带(或称副本节点)上。
尽管具备上述优点,然而现有的三条带系统并没有提及状态转换的具体方式,如果采用将一个条带的有效数据迁移至另一条带的方式,则由于占用额外的数据带宽和CPU时间,从而导致效率较低,进而会影响三条带系统的性能。
发明内容
为解决上述问题,根据本发明的一个实施例,提供一种三条带状态转换方法,包括:
更改三条带状态,其中三条带状态用于指示当前的逻辑条带及其位置关系;以及,使纠删码位图指示更改后的纠删码条带位置和镜像条带位置上的哪些数据块构成纠删码条带。
上述方法中,除去构成纠删码条带的数据块,更改后的纠删码条带位置和镜像条带位置上的其他数据块构成镜像条带。
上述方法中,在执行镜像条带到纠删码条带的转换时:
互换镜像条带位置与纠删码条带位置;以及,使纠删码位图指示互换后的纠删码条带位置和镜像条带位置上的哪些数据块构成纠删码条带。
上述方法中,与所述纠删码位图中的1对应的纠删码条带位置上的数据块,以及与所述纠删码位图中的0对应的镜像条带位置上的数据块构成纠删码条带。
上述方法中,在使所述纠删码位图指示哪些数据块构成纠删码条带之前,还获得在互换前的镜像条带上写入的数据、计算校验并将该校验写入互换前的镜像条带。
上述方法中,当满条带写入的空条带转换到纠删码条带时:
将空条带位置更改为纠删码条带位置,并且使另两个位置分别为镜像条带位置和空条带位置;以及,使纠删码位图指示更改后的纠删码条带位置上的数据块构成纠删码条带。
上述方法中,所述三条带状态包括:
纠删码条带位置为第一位置、镜像条带位置为第二位置且空条带位置为第三位置;
镜像条带位置为第一位置、纠删码条带位置为第二位置且空条带位置为第三位置;
空条带位置为第一位置、镜像条带位置为第二位置且纠删码条带位置为第三位置;以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所;天津中科蓝鲸信息技术有限公司,未经中国科学院计算技术研究所;天津中科蓝鲸信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510115469.4/2.html,转载请声明来源钻瓜专利网。