Raid奇偶校验条带重建的制作方法_3

文档序号:9769175阅读:来源:国知局
例性的实施方式中,如前所述,在重建期间可以快速地检查相关联的奇偶校验条带的奇偶校验块。因此,可以不使用空间位图来表示奇偶校验条带是否已被使用或未被使用。响应于对重建的奇偶校验条带的奇偶校验块的快速检查,如果奇偶校验块是O,则可以通过将O写入替代磁盘来重建奇偶校验条带。如果奇偶校验块不是全O,则依照本发明的实施方式来着手重建。
[0043]依照示例性的实施方式,在此公开了用于最优化具有传统HDD或混合HDD的RAID系统中的重建处理的系统和方法。
[0044]依照示例性的实施方式,一个或更多个位图(例如,元数据记录机制)可以在磁盘驱动器出现故障和重建处理开始之后用于重建调度、读/写数据、甚至数据高速缓存。在示例性的实施方式中,可以在数据重建处理开始时创建或生成两个位图。例如,可使用的一个位图是重建位图,其中每一位代表一奇偶校验条带的重建状况。重建位图可以被初始化为全O,并且当奇偶校验条带被重建时,位图中相应的位被置位为I。
[0045]类似地,可用于数据重建的另一位图是空间位图,其中每一位代表一奇偶校验条带(或奇偶校验条带群)是否已被使用。例如,如果一奇偶校验条带已被确定或识别为被在先使用,则着手通常的正常重建处理。否则,重建奇偶校验条带可以由简单地将O写入替代驱动器/磁盘来构成。
[0046]依照示例性的实施方式,用在重建处理中的位图可以被保存在易失存储器中,例如系统存储器,或NVM或任意其他快速访问存储空间。
[0047]依照示例性的实施方式,数据重建处理中的重建调度程序可以使用位图信息和/或其他信息来确定重建顺序和/或如何重建每一奇偶校验条带。
[0048]依照示例性的实施方式,用于最优化具有传统硬盘驱动器(HDD)的RAID系统中的数据重建处理的调度策略可以包括:
[0049]1.确定是否没有从任意应用程序发送的请求,如果没有,则重建调度程序通过从重建位图中的第I位(与第I个奇偶校验条带相关联)开始检查而开始调度重建处理。如果位值为0(表示与该位相关联的奇偶校验条带尚未被重建),则重建调度程序将发布命令来重建第I个奇偶校验条带。重建调度程序可以进一步检查空间位图中的第I位。如果位值为O(表示与所检查的位相关联的奇偶校验条带未被使用或分配并包含全O),则可以通过将O写入替代磁盘来重建奇偶校验条带。否则,如果所检查空间位图的位为1(表示其已被使用/分配),则遵循正常的重建程序重建与所检查的位相关联的奇偶校验条带。在重建了奇偶校验位之后,重建调度程序可以更新重建位图并将与重建的奇偶校验位相关联的位置为I。如果重建位图的第I位的值已经是I,则重建调度程序可以跳过当前的奇偶校验条带(例如,第I个奇偶校验条带)并着手检查第2位的值,以察看与重建位图的第2位相关联的奇偶校验条带(第2个条带)是否已被重建。也就是说,假定没有来自一个或更多个应用程序的发送请求来打断,重建调度程序可以继续并重复这种处理,直到位图的最后I位。
[0050]2.在示例性的实施方式中,如果在上述处理期间存在从应用程序发出的访问故障驱动器的请求,基于RAID系统的优先设置,重建调度程序可以首先完成当前选择的所检查的奇偶校验条带的重建,然后允许系统服务于发出请求的应用程序。例如,如果发出请求的应用程序需要向故障驱动器写入数据,则重建调度程序可以直接写入到替代驱动器并接着更新重建位图以表示相应的奇偶校验条带已被重建。如果发出请求的应用程序需要从故障驱动器读取数据,而数据尚未被重建,则重建调度程序可以发出命令以通过从RAID群中其他可用的驱动器上读取来重建数据,并快速地重建数据。重建调度程序然后可以将数据写入替代驱动器并将相应的重建条带的重建位图更新至I,以表示该条带已被重建。该位图可以允许重建调度程序避免再次重建奇偶校验条带。
[0051]3.通过检查位图,系统可以容易地核对应用程序请求要读取的特定数据是否已被重建。如果数据已被重建,则可以直接从替代驱动器中读出数据并发送回发出请求的应用程序。
[0052]依照示例性的实施方式,在具有混合硬盘的RAID系统中,与具有传统HDD的RAID系统相类似,可以使用前述方法。
[0053]依照示例性的实施方式,在具有混合硬盘的RAID系统中,当一混合硬盘出现故障时,系统可以首先识别故障混合硬盘的NVM是否可被访问。如果是,则NVM中的数据可以被读出并直接复制到替代混合硬盘的NVM。在复制完成后,可以通过将与复制的数据相对应的位值置为I来更新重建位图。
[0054]依照示例性的实施方式,在具有混合硬盘的RAID系统中,基于NVM中的数据可以调度重建优先级。例如,如果重建所需的所有数据可在可用的混合硬盘的NVM中得到,则重建具有高优先级的奇偶校验条带,然后将重建位图中的相应的位值更新到I。如果仅可得到部分数据,不在NVM中的重建所需数据的其他剩余部分可以被预取或促成预取到NVM。一旦必需的数据位于NVM中,调度程序就能够进行调度以重建这些奇偶校验条带。
[0055]依照示例性的实施方式,在RAID系统中的数据重建之前,可以创建或生成位图,例如,重建位图和空间位图。如前所述,在重建位图中,每一位可以代表一奇偶校验条带的重建状态。在生成之后,重建位图中的位可以被初始化为全O。因而当奇偶校验条带被重建时,其相应的位可以被置位为I。
[0056]在空间位图中,其中每一位可以代表奇偶校验条带(或者奇偶校验条带群)是否已被使用/分配。如果奇偶校验条带被使用或分配,则可以实施本发明实施方式公开的这样一种数据重建处理。如果奇偶校验条带先前未被使用或分配,则可以通过简单地将O写入替代磁盘来完成重建奇偶校验条带。
[0057]依照示例性的实施方式,可以生成空间位图。对于每一奇偶校验/重建条带,可以检查相关联的奇偶校验块。例如,如果是全O块,那么其在位图中可以被表示为未用的(例如,“O”);否则,其可以被表示为已用的(例如,“I”)。在初始化期间,可以将RAID系统中所有的数据和奇偶校验块初始化为O块。因而,如果随后使用了奇偶校验条带,那么其奇偶校验块必须被更新并变为非O。如果奇偶校验条带从未被使用,则其奇偶校验块应当保持为全O块。
[0058]依照某些示例性的实施方式,可以避免或不使用空间位图。取而代之地,在重建期间可以快速地实施奇偶校验块的检查,空间位图不需要记录或表示未用的空间。例如,在重建每一奇偶校验条带之前,首先检查奇偶校验块。如果奇偶校验块是全O,则通过将O写入替代磁盘来重建该奇偶校验条带;否则,重建该奇偶校验条带。
[0059]依照示例性的实施方式,在此公开的各种示例性的RAID系统可以包括和/或可操作地耦合到一个或更多个未示出的计算装置。计算装置可以例如包括一个或更多个处理器以及其他合适的组件,诸如存储器和计算机存储器。例如,至少一个RAID控制器包括在RAID系统中,并且可操作地连接到组成RAID系统的存储驱动器。应当理解,处理器还可以包括其他形式的处理器或处理器装置,诸如微控制器、或者可被编程以执行本发明实施方式描述的功能的任意装置。
[0060]因此,计算装置可以执行软件以便实施本发明实施方式公开的至少部分的一个或更多个各种方法、或其方面,诸如重建调度程序,各种输入/输出请求等等。这样的软件可以被存储在任意合适的或适当的非暂时性计算机可读介质中,以便由处理器执行。换句话说,计算装置可以与本发明实施方式公开的RAID系统的各种驱动器交互或协调。因此,计算装置可以被用来创建、更新、访问等本发明实施方式公开的表(例如,空间位图、重建位图,等等)。所述表可以被存储为任一适当的存储装置中的数据,诸如任一适当的计算机存储装置或存储器中的数据。
[0061]依照示例性的实施方式,一种用于RAID存储系统中的数据重建方法,所述RAID存储系统包括多个存储驱动器、其中一个出现故障,所述数据重建方法可以包括:从用于重建的多个奇偶校验条带中选择一个用于重建的奇偶校验条带;通过检查重建表来确定所选择的用于重建的奇偶校验
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1