发明名称 一种存储系统数据分布及互转换方法
摘要 本发明公开了一种存储系统数据分布及互转换方法,由多个磁盘构成一个连续的存储空间,并分条构成磁盘阵列,将磁盘阵列划分成连续的存储子空间,称为子阵列,并根据需要分别将子阵列的冗余级别设置成0、1或5;进行转换时,根据转换类型的不同,选择相应方式进行转换。本发明的主要思想是依据I/O请求具有局部性的特征,对不同访问特征的I/O请求采用适合的数据分布形式,使存储系统能够达到性能的最优化。本发明提出的存储系统数据分布转换方法使系统能动态的适应I/O请求特征的变化,减少不同冗余级别之间数据分布转换的代价并消除因数据迁移而产生的性能瓶颈,从而较大的提高存储子系统性能。
申请公布号 CN100535846C 申请公布日期 2009.09.02
申请号 CN200710168686.5 申请日期 2007.12.07
申请人 华中科技大学 发明人 谢长生;李怀阳;刘艳;黄建忠;蔡斌
分类号 G06F3/06(2006.01)I 主分类号 G06F3/06(2006.01)I
代理机构 华中科技大学专利中心 代理人 曹葆青
主权项 1、一种存储系统数据分布及互转换方法,设存储系统的存储空间由2K个磁盘组成,其中,K+1个磁盘构成一个连续的存储空间,并分条构成磁盘阵列;剩余的K-1个磁盘构成独立磁盘组;将磁盘阵列划分成连续的存储子空间,称为子阵列,并根据需要分别将子阵列的冗余级别设置成0、1或5;使得以冗余级别为0和5的子阵列上的数据分布在磁盘阵列的所有K+1个磁盘上,以冗余级别为1的子阵列上的数据分布在磁盘阵列和独立磁盘组的所有2K个磁盘上;当用户需要对存储系统中的子阵列数据分布进行转换时,根据转换类型的不同,选择下述不同的方式进行转换:(A)当子阵列中的数据分布由冗余级别1向冗余级别5转换时,由阵列控制器读取以冗余级别1分布的子阵列上的镜像条带单元,并进行异或处理,再将结果写到原子阵列的n×(K-1)+2号单元的镜像条带单元所处的位置,其中n为阵列控制器当前读取的子阵列的条带号,构成以冗余级别5的子阵列,并释放其在独立磁盘组上相应的镜像条带单元数据;(B)当子阵列中的数据分布由冗余级别5向冗余级别1转换时,由阵列控制器读取以冗余级别5分布的子阵列上的数据条带单元,(n-1)×(K-1)+1号条带单元的数据块写到原子阵列的校验单元所在位置;同时在独立磁盘组中申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的<img file="C2007101686860002C1.GIF" wi="120" he="90" />将与(n-1)×(K-1)+1号条带单元的数据块位于同一条带中的其它数据块写到独立磁盘组中对应的条带单元中,其数据分布与现有的冗余级别1的数据分布相同;(C)当子阵列中的数据分布由冗余级别0向冗余级别1转换时,由阵列控制器读取冗余级别0的数据条带单元,(n-1)×(K-1)+1号条带单元的数据写到原冗余级别0条带单元中空块所在位置;同时在独立磁盘组申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的<img file="C2007101686860003C1.GIF" wi="125" he="124" />将与(n-1)×(K-1)+1号条带单元的数据块位于同一条带中的其它数据块写到独立磁盘组中,其数据分布与现有的冗余级别1的数据分布相同;(D)当子阵列中的数据分布由冗余级别0向冗余级别5转换时,由阵列控制器读冗余级别0阵列中条带单元的数据并异或后,写到原冗余级别0条带单元中空块所在位置,构造成冗余级别5的效验数据块;(E)当子阵列中的数据分布由冗余级别1向冗余级别0转换时,释放其在独立磁盘组上相应的镜像条带单元数据,每当写操作时,不对子阵列中n×(K-1)+2号条带单元进行异或更新操作;(F)当子阵列中的数据分布由冗余级别5向冗余级别0转换时,每当写操作时,不对子阵列中n×(K-1)+2号条带单元进行异或更新操作。
地址 430074湖北省武汉市洪山区珞喻路1037号