在使用映射RAID技术的数据存储系统中重新定位来自寿命终止存储驱动器的数据技术方案

技术编号:21798426 阅读:59 留言:0更新日期:2019-08-07 10:20
用于重新定位被存储在寿命终止源存储驱动器中的数据的技术,其通过以循环方式在存储驱动器组中的健康存储驱动器的集合内选择个体存储驱动器并且从每个选择的存储驱动器标识个体目的地驱动器区段,来标识与被定位在源存储驱动器中的驱动器区段对应的个体目的地驱动器区段。对应的目的地驱动器区段替换被定位在源存储驱动器中的驱动器区段,并且被用于存储从被定位在源存储驱动器中的驱动器区段被复制的数据。数据从被定位在源存储驱动器中的多个驱动器区段的集合被并行复制到对应的目的地驱动器区段被定位于的存储驱动器上,多个驱动器区段的集合基于针对健康存储驱动器的集合中的每个存储驱动器被确定的当前总输入/输出负载被选择。

Relocation of data from lifetime-terminated storage drivers in data storage systems using mapping RAID Technology

【技术实现步骤摘要】
在使用映射RAID技术的数据存储系统中重新定位来自寿命终止存储驱动器的数据
本公开内容总体上涉及提供RAID(独立磁盘冗余阵列)技术的智能数据存储系统,并且更具体地涉及用于在使用映射RAID技术的数据存储系统中基于存储驱动器负载来重新定位来自寿命终止存储驱动器的数据。
技术介绍
数据存储系统是硬件和软件的布置,其通常包括被耦合至非易失性数据存储设备(诸如磁盘驱动器、电子闪存驱动器和/或光学驱动器)的多个存储处理器。存储处理器服务托管从主机被接收的I/O操作。接收的I/O操作指定将要被写入、读取、创建或者删除的一个或多个存储对象(诸如,逻辑磁盘或者“LUN”)。存储处理器运行软件,该软件管理接收的I/O操作,并且执行各种数据处理任务以组织和保护从主机被接收并且被存储在非易失性数据存储设备上的主机数据。一些现有数据存储系统已经提供了RAID(独立磁盘冗余阵列)技术。RAID是将多个物理驱动器组合到单个逻辑单元中以提供数据冗余和/或性能改进的数据存储虚拟化/保护技术。被写入到逻辑单元的数据可以按照若干方式中的一种方式而跨驱动器被分布,被称为RAID水平,其取决于需要的冗余和性能水平。一些RAID水平采用数据条带化(“条带化”)以改进性能。一般地,条带化包括将接收的主机数据分段为逻辑顺序的块(例如,逻辑存储对象的地址空间中的顺序块),并且继而将被写入到块的逻辑顺序中的连续块中的数据存储到不同的驱动器上。跨不同的驱动器被存储的一系列连续逻辑顺序数据块可以被称为RAID“条带”。通过跨可以被同时访问的多个驱动器分散数据分段,可以增加总数据吞吐量。一些RAID水平采用“奇偶校验”错误保护方案以提供容错。当使用奇偶校验保护时,在每个条带中维护一个或多个附加奇偶校验块。例如,可以维护针对条带的奇偶校验块,其为跨条带的数据块执行按位“异或”(XOR)操作的结果。当针对条带中的数据块的存储失败时,例如,由于驱动器故障,则可以通过跨剩余的数据块和奇偶校验块执行XOR操作来恢复丢失的数据块。使用具有分布式奇偶校验错误保护的块水平条带化的RAID配置的一个示例是4D+1P(“四个数据加一个奇偶校验”)RAID-5。在4D+1PRAID-5中,每个条带包括4个数据块和一个奇偶校验信息块。在传统的4D+1PRAID-5磁盘组中,至少五个存储磁盘被用于存储数据和奇偶校验信息,从而使得四个数据块和用于每个条带的奇偶校验信息中的每一个可以被存储在不同的磁盘上。另外,在传统的RAID中,备用磁盘也被保持可用于处理磁盘故障。在磁盘中的一个磁盘发生故障的情况中,通过在每个条带的基础上对剩余数据块和奇偶校验信息执行XOR操作,被存储在故障磁盘上的数据可以被重建到备用磁盘上。4D+1PRAID-5一般被认为在单个磁盘故障的情况中防止数据丢失是有效的。然而,当两个或更多个磁盘同时故障时,数据可能丢失。其他RAID配置即使在多个磁盘同时故障的事件中也可以提供数据保护。例如,4D+2PRAID-6提供具有在每个条带的基础上被提供的双分布式奇偶校验信息的条带化。由4D+2PRAID-6维护的双奇偶校验信息支持针对多达最多两个同时故障的驱动器的数据保护。数据存储系统中的一些存储处理器可操作以响应于从被包含在数据存储系统中或者被附接至数据存储系统的非易失性数据存储设备接收到错误指示来执行特定动作。特别地,一些存储处理器可操作以从数据存储驱动器接收错误消息,该错误信息指示数据存储驱动器的状态是“寿命终止”,并且该存储驱动器因此应当被替换。例如,一些数据存储驱动器通过在被指向该数据存储驱动器的I/O操作正在被处理时使用保留扇区的内部集合来透明地替换故障的扇区来操作。每次由数据存储驱动器内部地分配保留扇区以替换故障扇区时,数据存储驱动器使用替换扇区来成功地完成导致故障的请求的I/O操作,并且可以继而报告指示“软介质错误”已经发生的完成状态。当数据存储驱动器已经内部地分配了其所有保留扇区以替换故障扇区时,数据存储驱动器可以向存储处理器发送错误消息,该错误消息指示数据存储驱动器的状态是“寿命终止”。一些先前的存储处理器已经通过将被存储在“寿命终止”数据存储驱动器上的整个数据集合复制到单个替换数据存储驱动器来应答从数据存储驱动器对“寿命终止”消息的接收。由于现代硬盘的容量随着时间而增加,通过将被存储在数据存储驱动器上的整个数据集合复制到单个健康数据存储驱动器来应答从数据存储驱动器对“寿命终止”消息的接收对于数据存储系统的存储处理器来说已经变得非常耗时并且耗费资源。
技术实现思路
提供传统的RAID数据保护的数据存储系统在添加新磁盘的能力方面以及在磁盘故障的情况中重建数据所需的时间量方面具有显著的限制。具体地,传统的RAID系统不支持在个体磁盘的基础上添加新磁盘,并且代替地需要仅在与支持特定RAID配置所需的磁盘的数目相等(即,与正在被使用的RAID条带的宽度相等)的磁盘的数目中添加新存储容量。因此,对于传统的4D+1PRAID-5配置,新磁盘只能以一次五个磁盘的增量被添加到传统的RAID系统中。对于传统的4D+2PRAID-6配置,新磁盘只能以六个磁盘的增量被添加到传统的RAID系统中。由于随着新存储技术的引入,个体磁盘的容量随时间而增加,因此向传统的RAID系统添加新容量的方面的这种不灵活性已经变得越来越繁重和不切实际。而且,由于个体磁盘容量增加,由传统的RAID系统将整个故障磁盘的数据重建到单个专用备用磁盘上所需的时间增加,并且单个专用备用磁盘的写入带宽在总体重建时间方面已经成为显著的性能瓶颈。此外,虽然被先前存储在故障磁盘上的数据被重建到备用磁盘上,但是在重建过程期间传统的RAID系统中的一个或多个附加磁盘的同时故障可能会引入数据丢失的风险。本文描述的映射RAID技术通过允许向数据存储系统添加个体非易失性数据存储驱动器以便增加系统的存储容量来对传统的RAID技术进行了改进,并且还解决了在向专用备用磁盘写入时由写入带宽瓶颈导致的传统的RAID中的长重建时间的问题。在本文描述的映射RAID技术中,每个存储驱动器被划分为非易失性数据存储的多个邻近区域,被称为“驱动器区段(driveextent)”。从驱动器区段生成驱动器区段池。驱动器区段池维护驱动器区段的指示,以及每个个体驱动器区段是否已经被分配或者可用于分配的指示。生成RAID区段表格,其包含多个RAID区段条目,每个RAID区段条目指示已经从驱动器区段池被分配给该RAID区段条目的驱动器区段的唯一集合。由每个RAID区段条目指示的驱动器区段的集合被用于存储被写入到表示通过RAID映射表格和相关联的奇偶校验数据被访问的非易失性存储装置的逻辑地址空间的对应的部分的主机数据,例如,以用于存储被写入到表示通过RAID映射表格和相关联的奇偶校验数据被访问的非易失性存储装置的逻辑存储对象的逻辑地址空间的对应的部分的主机数据。被分配给任何个体RAID区段的驱动器区段中的每个驱动器区段必须被定位在不同的存储驱动器上。由RAID区段条目指示的驱动器区段被用于存储针对由该RAID区段条目表示的非易失性数据存储装置的条带的数据和相关联的奇偶校验信息的块。由RAID区段表格中的每个RAID区段条目指示的驱动器区段的总数目可以与传统本文档来自技高网
...

【技术保护点】
1.一种重新定位被存储在存储驱动器中的数据的方法,所述存储驱动器是被可通信地耦合至数据存储系统中的存储处理器的多个存储驱动器的组中的一个存储驱动器,所述数据存储系统为至少一个存储对象提供独立磁盘冗余阵列RAID数据保护,所述方法包括:从被可通信地耦合至所述存储处理器的所述多个存储驱动器来生成驱动器区段池,其中所述驱动器区段池指示被定位在所述多个存储驱动器中的多个驱动器区段,其中由所述驱动器区段池指示的每个驱动器区段包括被定位在所述多个存储驱动器中的一个存储驱动器中的非易失性数据存储的邻近区域,并且其中每个驱动器区段具有与预定驱动器区段大小相等的大小;生成RAID映射表格,其中所述RAID映射表格包含多个RAID区段条目,其中每个RAID区段条目指示从所述驱动器区段池被分配给所述RAID区段条目的唯一多个驱动器区段,并且所述唯一多个驱动器区段由所述存储处理器用于永久地存储被写入到与所述RAID区段条目对应的所述存储对象的地址空间的一部分的主机数据、以及相关联的奇偶校验数据,并且其中每个RAID区段条目指示相同总数目的驱动器区段;响应于从多个存储驱动器的所述组内的源存储驱动器接收到寿命终止指示,通过以下来重新定位被存储在所述源存储驱动器中的所述数据:i)针对被定位在所述源存储驱动器中的每个驱动器区段,通过以循环方式从多个存储驱动器的所述组中的健康存储驱动器集合内选择下一个存储驱动器、并且从所述驱动器区段池分配被定位在选择的所述存储驱动器中的自由驱动器区段,来标识对应的目的地驱动器区段,以替换被定位在所述源存储驱动器中的所述驱动器区段;以及ii)在针对被定位在所述源存储驱动器中的每个驱动器区段已经标识了对应的目的地驱动器区段之后,生成并行复制列表,其中所述并行复制列表指示由所述存储处理器将数据从其并行复制到所述对应的目的地驱动器区段的、被定位在所述源存储驱动器中的驱动器区段,其中所述并行复制列表基于所述健康存储驱动器集合中的所述多个存储驱动器的当前总I/O负载而被生成,并且其中由所述并行复制列表指示的、被定位在所述源存储驱动器中的所述驱动器区段中的每个驱动器区段具有被定位在健康存储驱动器上的对应的目的地驱动器区段,在被定位在所述源存储驱动器上的驱动器区段的所述指示被添加到所述并行复制列表时,所述健康存储驱动器具有最低当前总I/O负载。...

【技术特征摘要】
1.一种重新定位被存储在存储驱动器中的数据的方法,所述存储驱动器是被可通信地耦合至数据存储系统中的存储处理器的多个存储驱动器的组中的一个存储驱动器,所述数据存储系统为至少一个存储对象提供独立磁盘冗余阵列RAID数据保护,所述方法包括:从被可通信地耦合至所述存储处理器的所述多个存储驱动器来生成驱动器区段池,其中所述驱动器区段池指示被定位在所述多个存储驱动器中的多个驱动器区段,其中由所述驱动器区段池指示的每个驱动器区段包括被定位在所述多个存储驱动器中的一个存储驱动器中的非易失性数据存储的邻近区域,并且其中每个驱动器区段具有与预定驱动器区段大小相等的大小;生成RAID映射表格,其中所述RAID映射表格包含多个RAID区段条目,其中每个RAID区段条目指示从所述驱动器区段池被分配给所述RAID区段条目的唯一多个驱动器区段,并且所述唯一多个驱动器区段由所述存储处理器用于永久地存储被写入到与所述RAID区段条目对应的所述存储对象的地址空间的一部分的主机数据、以及相关联的奇偶校验数据,并且其中每个RAID区段条目指示相同总数目的驱动器区段;响应于从多个存储驱动器的所述组内的源存储驱动器接收到寿命终止指示,通过以下来重新定位被存储在所述源存储驱动器中的所述数据:i)针对被定位在所述源存储驱动器中的每个驱动器区段,通过以循环方式从多个存储驱动器的所述组中的健康存储驱动器集合内选择下一个存储驱动器、并且从所述驱动器区段池分配被定位在选择的所述存储驱动器中的自由驱动器区段,来标识对应的目的地驱动器区段,以替换被定位在所述源存储驱动器中的所述驱动器区段;以及ii)在针对被定位在所述源存储驱动器中的每个驱动器区段已经标识了对应的目的地驱动器区段之后,生成并行复制列表,其中所述并行复制列表指示由所述存储处理器将数据从其并行复制到所述对应的目的地驱动器区段的、被定位在所述源存储驱动器中的驱动器区段,其中所述并行复制列表基于所述健康存储驱动器集合中的所述多个存储驱动器的当前总I/O负载而被生成,并且其中由所述并行复制列表指示的、被定位在所述源存储驱动器中的所述驱动器区段中的每个驱动器区段具有被定位在健康存储驱动器上的对应的目的地驱动器区段,在被定位在所述源存储驱动器上的驱动器区段的所述指示被添加到所述并行复制列表时,所述健康存储驱动器具有最低当前总I/O负载。2.根据权利要求1所述的方法,其中生成指示由所述存储处理器将数据从其并行复制到所述对应的目的地驱动器区段的、被定位在所述源存储驱动器中的驱动器区段的所述并行复制列表还包括:检测所述并行复制列表不为满;以及响应于检测到所述并行复制列表不为满,i)确定针对所述健康存储驱动器集合中的每个存储驱动器的当前总I/O负载,ii)标识所述健康存储驱动器集合中的具有最低当前总I/O负载的存储驱动器,iii)标识与被定位在具有所述最低当前总I/O负载的所述健康存储驱动器中的目的地驱动器区段对应的、被定位在所述源存储驱动器中的驱动器区段,以及iv)向所述并行复制列表添加被定位在所述源存储驱动器中的所述驱动器区段与被定位在具有所述最低当前总I/O负载的所述健康存储驱动器中的所述目的地驱动器区段对应的指示。3.根据权利要求2所述的方法,其中确定针对所述健康存储驱动器集合中的每个存储驱动器的所述当前总I/O负载还包括:针对所述健康存储驱动器集合中的每个存储驱动器,确定当前主机I/O负载等于当前正在所述存储驱动器上被执行的主机I/O操作的总数目;针对所述健康存储驱动器集合中的每个存储驱动器,确定当前背景I/O负载等于当前正在所述存储驱动器上被执行的背景I/O操作的总数目,其中所述背景I/O操作以比所述主机I/O操作更低的优先级而被执行,并且其中所述背景I/O操作包括由所述存储处理器并行执行的、从被定位在所述源存储驱动器中并且由所述并行复制列表指示的驱动器区段到对应的目的地驱动器区段的复制操作;以及针对所述健康存储驱动器集合中的每个存储驱动器,确定当前总I/O负载等于针对所述存储驱动器的所述当前主机I/O负载和针对所述存储驱动器的所述当前背景I/O负载的总和。4.根据权利要求1所述的方法,其中以循环方式选择来自所述健康存储驱动器集合内的下一个存储驱动器还包括:在从所述驱动器区段池最后分配作为目的地驱动器区段的所述驱动器区段所定位于的存储驱动器之后,按照所述健康存储驱动器集合的预定顺序排序来选择下一个存储驱动器。5.根据权利要求4所述的方法,其中所述健康存储驱动器集合的所述预定顺序排序包括:所述存储驱动器在被可通信地耦合至所述存储处理器的多个存储驱动器的阵列内被连接到其中的槽的次序。6.根据权利要求5所述的方法,其中以循环方式从所述健康存储驱动器集合内选择下一个存储驱动器还包括:在从所述驱动器区段池分配被定位在初始选择的存储驱动器中的自由驱动器区段之前:确定被定位在所述初始选择的存储驱动器中的任何驱动器区段是否被分配给被定位在所述源存储驱动器中的所述驱动器区段也被分配给的RAID区段条目;以及响应于确定被定位在所述初始选择的存储驱动器中的驱动器区段被分配给被定位在所述源存储驱动器中的所述驱动器区段也被分配给的RAID区段条目,被定位在所述源存储驱动器中的所述驱动器区段被分配给的所述RAID映射表格中的所述RAID区段条目,在所述初始选择的存储驱动器之后,按照所述健康存储驱动器集合的所述预定顺序排序选择下一个存储驱动器,作为选择的所述存储驱动器。7.根据权利要求2所述的方法,其中检测所述并行复制列表不为满包括:检测从由所述并行复制列表指示的、被定位在所述源存储驱动器中的驱动器区段到所述对应的目的地驱动器区段复制数据的背景操作已经完成。8.根据权利要求7所述的方法,其中从所述源存储驱动器被接收的所述寿命终止指示指示响应于I/O操作指向的原始磁盘扇区的故障,所述源存储驱动器中的阈值最大数目的保留磁盘扇区已经被用于替换所述原始磁盘扇区。9.根据权利要求8所述的方法,其中所述保留磁盘扇区的所述阈值最大数目包括所述源存储驱动器中的保留磁盘扇区的总数目。10.一种为至少一个存储对象提供独立磁盘冗余阵列RAID数据保护的数据存储系统,包括:至少一个存储处理器,其包括处理电路和存储在所述处理电路上可执行的程序代码的存储器;被可通信地耦合至所述存储处理器的多个存储驱动器的至少一个组;并且其中所述存储处理器被配置和布置用于:从被可通信地耦合至所述存储处理器的所述多个存储驱动器来生成驱动器区段池,其中所述驱动器区段池指示被定位在所述存储驱动器中的多个驱动器区段,其中由所述驱动器区段池指示的每个驱动器区段包括被定位在所述多个存储驱动器中的一个存储驱动器中的非易失性数据存储的邻近区域,并且其中每个驱动器区段具有与预定驱动器区段大小相等的大小;生成RAID映射表格,其中所述RAID映射表格包含多个RAID区段条目,其中每个RAID区段条目指示从所述驱动器区段池被分配给所述RAID区段条目的唯一多个驱动器区段,并且所述唯一多个驱动器区段由所述存储处理器用于永久地存储被写入到与所述RAID区段条目对应的所述存储对象的地址空间的一部分的主机数据、以及相关联的奇偶校验数据,并且其中每个RAID区段条目指示相同总数目的驱动器区段;其中为了响应于从源存储接收到寿命终止指示来重新定位被存储在多个存储驱动器的所述组内的源存储驱动器中的数据,所述存储处理器被配置和布置用于:i)针对被定位在所述源存储驱动器中的每个驱...

【专利技术属性】
技术研发人员:刘青云康剑斌龚绍钦孙蕾高健
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国,US

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

1