一种RAID5级别磁盘阵列的写性能优化方法技术

技术编号:6537097 阅读:648 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种RAID5级别磁盘阵列的写性能优化方法,同时兼具连续数据保护功能,属于计算机数据存储领域,解决RAID5级别磁盘阵列在写负载请求聚发时系统响应慢的问题。本发明专利技术包括存储系统构建步骤、数据读写步骤和磁盘失效后的数据恢复步骤,采用阵列与数据备份盘组合的存储系统组织方案,通过暂停校验位的更新,减少写操作引起的磁盘I/O次数来提高系统的响应速度,同时利用备份盘数据可恢复阵列至之前任一时间点的状态。本发明专利技术通过暂停校验位更新的方法为具有连续数据保护功能的RAID5磁盘阵列提升写负载请求聚发时系统的性能,可用于需要数据保护功能、负载突发率高的存储环境,适用于构建高性能、高可靠性的存储系统。

【技术实现步骤摘要】

本专利技术属 于计算机数据存储领域,具体涉及一种具有连续数据保护功能的RAID5 级别磁盘阵列的写性能优化方法。
技术介绍
随着计算机技术和网络通信技术的发展,信息化程度越来越高,人们对数据可靠性和关键数据保护的要求也越来越高。磁盘阵列RAID (Redundant Array of Independent Disks)是可靠存储系统领域中的一个典型装置,磁盘阵列的工作原理与特征RAID的基本结构特征就是组合(Striping),捆绑2个或多个物理磁盘成组,形成一个单独的逻辑盘。连续数据保护CDPKontinuous Data Protection)是传统数据保护领域的一个重大突破,系统记录每次数据更新请求的相关信息,在灾难发生后可恢复到任意的数据备份时间点。RAID结构已经被划分为几个标准,其中RAID5级别是无独立校验盘的奇偶校验磁盘阵列,采用奇偶校验来检查错误,校验信息分布在各个磁盘驱动器上,可以恢复任意单磁盘出错。RAID5磁盘阵列处理写请求时都要更新校验信息,通常采用有读改写(read modifywrite)或重构写(reconstruct write)方式处理。读改写方式是先读出写请求将覆盖的磁盘扇区内容,再计算校验信息,最后更新写请求数据块和校验信息到磁盘;重构写方式是先读出条带中除校验磁盘外没有被写请求覆盖的磁盘内容,再与写请求数据块计算校验,最后更新写请求数据块和校验信息到磁盘。目前具有连续数据保护功能的磁盘阵列往往没有充分发挥磁盘阵列读写性能,美国专利技术专利US7730347B1提出的具有连续数据保护功能的磁盘阵列方案巧妙的将磁盘阵列写过程中产生的异或值压缩存储到备份盘,但其并没有充分利用磁盘阵列校验信息与连续数据保护所产生数据之间的关系,阵列的写性能也有一定的降低。
技术实现思路
本专利技术提出一种RAID5级别磁盘阵列的写性能优化方法,同时兼具连续数据保护功能,采用一种阵列与备份盘结合的架构,通过暂停校验位更新,使得RAID5的写性能得到提升尤其是在负载很大的时候作用更加明显,解决现有的RAID5级别磁盘阵列在负载较大时写性能不好的问题。本专利技术的一种具有连续数据保护功能的RAID5级别磁盘阵列的写性能优化方法, 包括存储系统构建、数据读写和磁盘失效后的数据恢复这三个具体步骤,其特征如下(1)存储系统构建首先,在RAID5磁盘阵列结构外加一个备份盘,以保存RAID5磁盘阵列写请求数据块与将被写请求覆盖的原数据块通过异或计算的异或数据块。其次,同时在内存中设置Hash表和备份数据缓冲区,其中,备份数据缓冲区存放异或数据块,Hash表用于记录写请求数据块对应的磁盘号、扇区号、请求时间以及异或数据块在备份数据缓冲区或备份盘中的索引信息。一般情况下系统清空备份盘数据时应先恢复RAID5磁盘阵列校验信息到一致状态,同样,使用本专利技术方法前应确保RAID5磁盘阵列校验信息为一致状态。对备份盘的写操作采取顺序追加的方式,写往备份盘的数据先累积在备份数据缓冲区中,待缓冲区填满之后再一次性写到备份盘上。该存储系统中RAID5磁盘阵列固定采用读改写方式而非重构写方式处理写请求。(2)数据读写系统处理读请求的流程一般RAID5磁盘阵列相同,处理写请求时并不需要读取校验块、计算校验信息和更新校验块,其主要步骤如下(2. 1)将上层发下来的写请求按照阵列结构进行分解,将针对各磁盘相同扇区的写请求用条带s组织起来,假设条带对应的扇区号为C(S);(2.2)记录当前时间为T(m),m为系统内部时间。采用读改写方式,读出写请求数据块 (m+1)将覆盖磁盘位置的原数据块 (m)放入条带缓冲区;(2. 3)判断备份缓冲区是否满,如果缓冲区满,转步骤(2. 4),否则转步骤(2. 5);(2. 4)将备份缓冲区中的数据顺序写到备份盘上,更新Hash表中对应数据块条目的位置信息L为备份盘中该数据块的存放位置;(2.5)计算写请求数据块 (m+1)与条带缓冲区中原数据块 (m)的异或数据块 Ρτ(ηι+1),艮口Ρτ(ηι+1)—Βτ(ηι+1) Θ&ω。添加异或数据块到备份数据缓冲区中;(2. 6)假设请求数据块的磁盘号为D (i),i为阵列内部磁盘序号,创建一个Hash表条目,记录数据块的磁盘号D (i)、扇区号C (s)、请求时间T (m)以及异或块PT(m+1)在备份缓冲区中的位置L(PT(m+1)),将条目插入到Hash表中;(2. 7)将写请求数据块填充到条带缓冲区,由条带下发到各磁盘。在条带中各磁盘写操作完成之后,该次写操作即成功返回。(3)磁盘失效后的数据恢复阵列发生磁盘失效的数据恢复需要借助备份盘,将备份缓冲区中数据更新到备份盘,以RAID5磁盘阵列中条带为单位,逐条带恢复整个失效磁盘,其单条带处理流程如下(3. 1)读取磁盘数据块到条带s的磁盘缓冲区,置条带中失效盘缓冲区为零。假设失效磁盘为D (r),条带处理的磁盘扇区号为C(S),条带s的磁盘缓冲区中数据块分别为 BT(m+k(1)) (D (1))、BT(m+k(2)) (D ⑵)、···、 (_( )) (D (η)), η 为阵列内部磁盘总数,k ⑴为磁盘 i 从时间m到当前被写请求覆盖的次数,其中(D(r)) =0;(3. 2)设临时变量j,并赋值为1 ;(3. 3)如果j大于n,转步骤(3. 7),否则转步骤(3. 4);(3.4)查找Hash表中扇区号为C (s),磁盘号为D (j)的条目,根据条目中数据块的位置信息L,从备份盘中读取异或数据块PT(m+1) (D(j))、PT(m+2) (D(j))、->PT(ffl+k(J)) (D(j)),计算所有块的异或值PD(j)=PT(m+1) (D(j)) ΘΡτ(ω+2) (D(j)) Θ …ΘΡτ(ω+_ (D(j)),若无对应条目,PD(J) =0;(3. 5)将条带中磁盘D(j)缓冲区数据块 (m+k(j)) (D(j))与PD(j)异或,即 Rd (j) =Βτ (m+k O)) ①⑶丨④卩!^,更新‘)到条带中磁盘D (j)缓冲区;(3. 6)临时变量j增1,转步骤(3. 3);(3. 7)磁盘缓冲区均完成更新,同步条带,计算BDW=RD(1) RD(a …ΘΚω,更新Bdw到条带失效磁盘缓冲区,由于PT(m+1)=&(m+1) ΘΒτ(ω),且m时刻RAID5磁盘阵列牌校验一致性状态,Bdw即为失效盘D (r)最新数据块;(3.8)写条带中磁盘D(r)缓冲区数据块到恢复盘扇区C(s),完成条带s恢复。本专利技术基于一个普遍存在的现象,即RAID5级别的磁盘阵列写性能较差,尤其是小数据块写请求时性能更差。本专利技术通过利用磁盘阵列与连续数据保护的冗余信息,采用阵列与备份盘结合的架构,包括存储系统构建、数据读写和磁盘失效后的数据恢复这三个具体步骤,解决了 RAID5级别磁盘阵列写性能不好的问题,同时兼具连续数据保护功能,极大提升了 RAID5级别磁盘阵列小数据块写请求性能。附图说明图1为本专利技术系统架构示意图;图2为本专利技术的Hash链表结构示意图;图3为本专利技术的写请求处理示意图;图4为本专利技术的恢复单条带示意具体实施例方式下面结合附图对本专利技术进一步详细说明。本专利技术的一本文档来自技高网
...

【技术保护点】
1.一种RAID5级别磁盘阵列的写性能优化方法,具有连续数据保护功能,其特征在于,该方法包括如下具体步骤:(1)存储系统构建首先,在RAID5磁盘阵列结构外设置备份盘,以保存RAID5磁盘阵列写请求数据块与将被写请求覆盖的原数据块通过异或计算得到的异或数据块;其次,同时在内存中设置Hash表和备份数据缓冲区,其中,备份数据缓冲区存放异或数据块,Hash表用于记录写请求数据块对应的磁盘号、扇区号、请求时间以及异或数据块在备份数据缓冲区或备份盘中的索引信息。(2)数据读写,具体过程如下:(2.1)将写请求按照阵列结构进行分解,将针对各磁盘相同扇区的写请求用条带s组织起来,设定条带s对应的扇区号为C(s);(2.2)记录当前时间为T(m),m为系统内部时间,读出写请求数据块BT(m+1)将覆盖磁盘位置的原数据块BT(m)放入条带缓冲区;(2.3)判断备份缓冲区是否满,如果缓冲区满,转步骤(2.4),否则转步骤(2.5);(2.4)将备份缓冲区中的数据顺序写到备份盘上,更新Hash表中对应数据块条目的位置信息L为备份盘中该数据块的存放位置;(2.5)计算写请求数据块BT(m+1)与条带缓冲区中原数据块BT(m)的异或数据块PT(m+1),即添加该异或数据块到备份数据缓冲区中;(2.6)假设请求数据块的磁盘号为D(i),其中i为阵列内部磁盘序号,创建一个Hash表条目,记录该请求数据块的磁盘号D(i)、扇区号C(s)、请求时间T(m)以及异或块PT(m+1)在备份缓冲区中的位置L(PT(m+1)),将条目插入到Hash表中;(2.7)将写请求数据块填充到条带缓冲区,由条带下发到各磁盘,在条带中各磁盘写操作完成之后,该次写操作即成功返回。(3)磁盘失效后的数据恢复阵列发生磁盘失效的数据恢复需要借助备份盘,将备份缓冲区中数据更新到备份盘,以RAID5磁盘阵列中条带为单位,逐条带恢复整个失效磁盘,其中任一单条带s的处理流程如下:(3.1)读取磁盘数据块到条带s的磁盘缓冲区,置条带中失效盘缓冲区为零,假设失效磁盘为D(r),条带处理的磁盘扇区号为C(s),条带s的磁盘缓冲区中数据块分别为BT(m+k(1))(D(1))、BT(M+k(2))(D(2))、…、BT(m+k(n))(D(n)),n为阵列内部磁盘总数,k(i)为磁盘i从时间m到当前被写请求覆盖的次数,其中BT(m+k(r))(D(r))=0;(3.2)设临时变量j,并赋值为1;(3.3)如果j大于n,转步骤(3.7),否则转步骤(3.4);(3.4)查找Hash表中扇区号为C(s),磁盘号为D(j)的条目,根据条目中数据块的位置信息L,从备份盘中读取异或数据块PT(m+1)(D(j))、PT(m+2)(D(j))、…、PT(m+k(j))(D(j)),计算所有块的异或值若无对应条目,PD(j)=0;(3.5)将条带中磁盘D(j)缓冲区数据块BT(m+k(j))(D(j))与PD(j)异或,即更新RD(j)到条带中磁盘D(j)缓冲区;(3.6)临时变量j增1,转步骤(3.3);(3.7)磁盘缓冲区均完成更新,同步条带,计算更新BD(r)到条带失效磁盘缓冲区,BD(r)即为失效盘D(r)最新数据块;(3.8)写条带中磁盘D(r)缓冲区数据块到恢复盘扇区C(s),完成条带s恢复。...

【技术特征摘要】
1. 一种RAID5级别磁盘阵列的写性能优化方法,具有连续数据保护功能,其特征在于, 该方法包括如下具体步骤(1)存储系统构建首先,在RAID5磁盘阵列结构外设置备份盘,以保存RAID5磁盘阵列写请求数据块与将被写请求覆盖的原数据块通过异或计算得到的异或数据块;其次,同时在内存中设置Hash表和备份数据缓冲区,其中,备份数据缓冲区存放异或数据块,Hash表用于记录写请求数据块对应的磁盘号、扇区号、请求时间以及异或数据块在备份数据缓冲区或备份盘中的索引信息。(2)数据读写,具体过程如下(2. 1)将写请求按照阵列结构进行分解,将针对各磁盘相同扇区的写请求用条带s组织起来,设定条带s对应的扇区号为C(S);(2. 2)记录当前时间为T(m),m为系统内部时间,读出写请求数据块BT(m+1)将覆盖磁盘位置的原数据块Btw放入条带缓冲区;(2.3)判断备份缓冲区是否满,如果缓冲区满,转步骤(2. 4),否则转步骤(2.5); (2. 4)将备份缓冲区中的数据顺序写到备份盘上,更新Hash表中对应数据块条目的位置信息L为备份盘中该数据块的存放位置;(2. 5)计算写请求数据块BT(m+1)与条带缓冲区中原数据块Btw的异或数据块PT(m+1),即 Ρτ(ω+ι)=Βτ(ω+1)ΘΒτ(ω),添加该异或数据块到备份数据缓冲区中;(2. 6)假设请求数据块的磁盘号为D(i),其中i为阵列内部磁盘序号,创建一个Hash 表条目,记录该请求数据块的磁盘号D (i)、扇区号C(S)、请求时间T (m)以及异或块PT(m+1)在备份缓冲区中的位置L(PT(m+1)),将条目插入到Hash表中;(2. 7)将写请求数据块填充到条带缓冲区,由条带下发到各磁盘,在条带中各磁盘写操作完成之后,该次写操作即成功返回。(3)磁盘失效后的数据恢复阵列发生磁盘失效的数据恢复需要借助备份盘,将备份缓冲区中数据更新到备份盘, 以RAID5...

【专利技术属性】
技术研发人员:刘景宁冯丹陈俭喜刘建平金超沙睿彬黄赛
申请(专利权)人:华中科技大学
类型:发明
国别省市:83

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1