摘 要:重新在包含产生记录错误的磁盘阵列中,可以正确地把握记录不正确区域,能够在包含记录不正确区域的带和不包含记录不正确区域的带之间的切换,可利用相当于RAID6的冗长性,在保证很高的可靠性的状态下继续记录数据。
关键词:追记位置NWA、RAID6冗长度、RAID磁盘阵列、LBA
中图分类号:TP311 文献标识码 B
引言
使用光盘的传统的HDD的磁盘阵列系统中,即使是某一台HDD在使用中途光盘驱动器产生故障,通过将出故障的驱动器更换成正常的驱动器或通过使用热备用驱动器,利用奇偶校验数据,将出故障的驱动器内的数据修复后,就可以继续记录。通常会采用与只存在一个奇偶校验驱动器的RAID5相当的冗长度继续记录数据,通过更换光盘驱动器,或使用其它正常状态的磁盘阵列系统,在确保最大限度的冗长性的状态下继续记录数据。
使用连接的四台全部的光盘驱动器150a至150d构成RAID(磁盘阵列),构成RAID#1的光盘1b包含故障区,从LBA6到 LBA11之间,数据以与只存在一个奇偶校验驱动器的RAID5相当的冗长度被继续记录。在该状态,更换出现问题的RAID#1光盘驱动器1b就可以进行数据的记录及再生。
1、问题的提出
然而,在所使用的光盘为追记型光盘的情况下,由于这种光盘可以记录的位置仅限于追记位置(NWA),对于次品状态的光盘,不修复数据就无法继续记录新的数据。
鉴于以上的问题,本文提出了一种可以通过利用重新创建追记位置(分割轨道)的方法用以解决上述的问题。
2、分割轨道继续记录方法
有关轨道的分割,可以通过以MMC规格而规定的Reserve Track指令来实现。
对于光盘1a至1d构成的RAID(磁盘阵列),在作为逻辑盘的可追记位置(NWA)的LBA12的位置重新分割轨道,将从LBA12到下一个轨道开始位置之前为止(即LBA17)的区域作为新的轨道(轨道#1)。即,对构成RAID的全部的光盘1a至1d,在作为各光盘的NWA的lba6的块之前分割轨道。这样一来,可以从作为新分割的轨道#1的逻辑盘首部的LBA12起,以使用了四张光盘1a至1d全部的RAID6记录数据。
从LBA0到 LBA11为止的轨道#0在逻辑上成为关闭(Close)状态,另一方面,从LBA12起的轨道#1的追记位置(NWA)位于LBA12在轨道#1能以RAID6记录数据。即,对于具备包含故障区的光盘1b的RAID(磁盘阵列),即使是在故障區的数据被修复之前,对于继续记录请求,也可以在确保具备两个奇偶校验的RAID6的高冗长度的状态下记录数据。
如果观察各自的光盘1a至1d的轨道信息,除了构成RAID#1的光盘1b之外的剩下的三张光盘1a,1c,1d,从lba0到lba5为止的轨道#0的轨道状态为关闭(Close)状态。但是,光盘1b,因在NWA(可追记位置)轨道被分割,所以从lba0到lba5为止的轨道#0的轨道状态为开(Open)状态不变。换句话说,关于构成同一条带的轨道,构成RAID的多个光盘1a至1d中的轨道状态不同的(Open状态)光盘的轨道,有可能被判断为是包含故障区的轨道(即,需要数据的修复的区域)。此外,重新生成的轨道#1,四张光盘1a至1d的全部的轨道状态为相同的状态,并且四张光盘1a至1d的全部的NWA及剩下的尺寸也为相同的状态。因此,可以跨这四张光盘1a至1d以RAID6记录数据。
另外,通过只对至少包含故障区的光盘,在与其它的光盘的NWA位置相同的位置分割轨道也可以获得上述效果。但是,当使用这种方法时,其它的光盘和轨道的分割位置产生变化,因此逻辑盘的轨道信息的算出变得困难。在此,RAID管理信息还可以进一步包含轨道被分割的光盘的RAID序号和在该光盘轨道被分割的位置信息(即,轨道分割信息)。
另外,即使对全部的光盘1a至1d进行了轨道分割,包含本文提出的磁盘阵列系统1自动分割的轨道信息为宜。
3 记录方法的实现
在此,以磁盘阵列系统接收到的记录请求的记录数据尺寸以块为单位。以下是记录方法的具体实现步骤。
首先,生成RAID管理信息,将生成的RAID管理信息记录到未使用光盘。
其次,接收上位装置所请求的,有关记录数据的首位置的逻辑盘的逻辑块地址(首LBA)及记录数据尺寸等的记录参数。
其次,判断记录开始的首LBA是否满足作为逻辑盘的可追记位置(NWA)的条件或多个光盘是否处于作为RAID可记录的状态等。
在此,严格意义上,即使不能向奇偶校验驱动器记录,也可以使多个光盘作为RAID成为可以记录的状态。例如,RAID6时,即使向构成条带的两台光盘驱动器(两张光盘)的记录不能同时进行,也可以进行与无冗长驱动器的RAID0相当的记录。但是,由于用户的不同,当以RAID6记录数据时,可以想象也存在缺少一台奇偶校验驱动器都不允许的情况。
于是,磁盘阵列系统100也可以具备受理来自用户的使记录不再继续(即,作为记录出错对待)的记录继续出错级别的设定的功能。具体而言,磁盘阵列系统100,受理用户允许的出错驱动器(盘)的数量的设定,将不超出设定的数量的部分作为可以记录来对待。
4 结论
作为RAID等级以利用RAID6为例进行了说明,但条带中具有一个奇偶校验块的RAID5等,只要是条带中具有至少一个奇偶校验块,能利用奇偶校验修复数据的磁盘阵列的记录方式,可以获得与上述同样的效果。
主要参考文献
[1]基于RAID6的冗长度修复数据的设计方法,《信息与电脑(理论版)》,北京,2014
[2]基于RAID6容错技术判定记录不正确区域的方法实现,北京,《中国电子商务》,,2014