发明名称 大规模容错磁盘阵列存储系统的双磁头用户数据更新方法
摘要 大规模容错磁盘阵列存储系统的双磁头用户数据更新方法属于容错磁盘阵列存储系统技术领域,其特征在于,在一个由磁盘阵列、存储适配器、存储有存储操作系统的内存和处理器共同组成的基于纠删码的容错磁盘阵列存储系统中,先利用读操作从磁盘上读出旧的用户数据块,并在磁盘上用新的用户数据块覆盖旧的用户数据块,同时,利用异或运算求出新、旧两个用户数据块的差分值,再根据所采用的纠删码中各个校验数据块关于用户数据块的乘积系数计算出各个校验数据块的更新差分值,最后利用双磁头磁盘驱动器结构磁盘中基于位级别流水线技术的复合操作完成各个校验数据块的更新操作。实验表明,本发明显著地减少了I/O操作个数,缩短了I/O平均响应时间。
申请公布号 CN101349979A 申请公布日期 2009.01.21
申请号 CN200810119676.7 申请日期 2008.09.05
申请人 清华大学 发明人 舒继武;李明强
分类号 G06F11/10(2006.01);G06F3/06(2006.01) 主分类号 G06F11/10(2006.01)
代理机构 代理人
主权项 1.大规模容错磁盘阵列存储系统的双磁头用户数据更新方法,其特征在于,所述方法是在一个基于纠删码的容错磁盘阵列存储系统中依次按照以下步骤实现的:步骤(1):构建所述的基于纠删码的容错磁盘阵列存储系统,并初始化:所述的基于纠删码的容错磁盘阵列存储系统含有:磁盘阵列、存储适配器、存储有存储操作系统的内存,以及处理器,其中:磁盘阵列,由若干个具有相同容量的磁盘组成,其中,对于完全存储用户数据的磁盘,采用单磁头磁盘驱动器结构磁盘;对于完全存储校验数据的磁盘,或同时存储用户数据和校验数据的磁盘,采用双磁头磁盘驱动器结构磁盘,所述的双磁头磁盘驱动器结构磁盘在每个盘面上有两个磁头,包括一个前端磁头和一个后端磁头,并含有一个用于位级别异或运算的计算部件;存储适配器,对所述磁盘阵列中数据块的存储和访问进行控制;内存,是所述磁盘阵列的高速缓冲存储器,并存储有包括存储操作系统在内的存储系统程序,其中,所述的存储操作系统含有校验更新差分计算程序;处理器,为所述磁盘阵列存储系统执行各种计算和处理程序;步骤(2):当一个用户数据块D的更新请求到达后,所述存储操作系统利用读操作从磁盘上读出旧的用户数据块Dold,然后再把磁盘上旧的用户数据块Dold用新的用户数据块Dnew覆盖;步骤(3):当读出所述旧的用户数据块Dold后,所述存储操作系统中所述的校验更新差分计算程序首先把所述的旧的用户数据块Dold和所述的新的用户数据块Dnew进行异或运算,得到两者的差分值ΔD,即<math><mrow><mi>&Delta;D</mi><mo>=</mo><msub><mi>D</mi><mi>old</mi></msub><mo>&CirclePlus;</mo><msub><mi>D</mi><mi>new</mi></msub><mo>,</mo></mrow>然后根据所采用的纠删码的数据编码方法,按照下面的式子计算所述用户数据块D对应的各个校验数据块P1,P2,…,Pm的更新差分值ΔP1,ΔP2,…,ΔPm,其中,m为所述校验数据块的总个数:<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>&Delta;P</mi><mn>1</mn></msub><mo>=</mo><msub><mi>x</mi><mn>1</mn></msub><mo>&CenterDot;</mo><mi>&Delta;D</mi></mtd></mtr><mtr><mtd><msub><mi>&Delta;P</mi><mn>2</mn></msub><mo>=</mo><msub><mi>x</mi><mn>2</mn></msub><mo>&CenterDot;</mo><mi>&Delta;D</mi></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>&Delta;P</mi><mi>m</mi></msub><mo>=</mo><msub><mi>x</mi><mi>m</mi></msub><mo>&CenterDot;</mo><mi>&Delta;D</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>其中,x1,x2,…,xm分别为所采用的纠删码中所述各个校验数据块P1,P2,…,Pm关于所述用户数据块D的乘积系数;步骤(4):所述双磁头磁盘驱动器结构磁盘根据步骤(3)得到的所述各个校验数据块P1,P2,…,Pm的所述更新差分值ΔP1,ΔP2,…,ΔPm,利用复合操作更新所述各个校验数据块P1,P2,…,Pm,其中,所述的复合操作对校验数据块Pi的更新操作按照以下步骤实现,1≤i≤m:步骤(4.1):在所述双磁头磁盘驱动器结构磁盘收到对该校验数据块Pi的复合操作请求后,进行磁头的寻址操作,在完成寻址操作后,所述前端磁头到达磁盘盘片上所述校验数据块Pi的起始位置;步骤(4.2):所述前端磁头从磁盘盘片上读出一位旧的校验数据位;步骤(4.3):所述计算部件把读出的这位旧的校验数据位与所述更新差分值ΔPi中对应的数据位进行异或运算,得到新的校验数据位;步骤(4.4):当所述后端磁头到达磁盘盘片上该校验数据位的存储位置后,所述后端磁头把计算出的新的校验数据位写回到磁盘盘片上;步骤(4.5):所述双磁头磁盘驱动器结构磁盘以流水线的方式按照步骤(4.2)至步骤(4.4)所述的步骤执行所述校验数据块Pi中各个数据位的更新操作,一直到所述后端磁头将最后一位新的校验数据位写回到磁盘盘片上为止。
地址 100084北京市100084-82信箱