自修复方法和存储系统技术方案

技术编号:3062794 阅读:161 留言:0更新日期:2012-04-11 18:40
一种RAID阵列中的自修复系统,降低因盘驱动器上的增长介质损坏而导致丢失盘驱动器上的数据的风险。增长介质损坏包括盘驱动器上的径向和螺旋形划痕。当RAID阵列的盘驱动器上的第一损坏被定位时,自修复系统检查盘驱动器上的第一损坏周围的相邻区域,以便立即定位存在于盘驱动器上的第一损坏周围的相邻区域中的任何附加损坏。自修复系统使用奇偶校验来重构与第一损坏相关联的数据,然后使用奇偶校验来重构与任何附加损坏相关联的数据。这可以在背景中完成以允许主机不受阻碍地访问客户数据。这样,自修复系统可以消除当随后从RAID阵列读取数据时的潜在单故障点。

【技术实现步骤摘要】

本专利技术涉及一种在存储系统中包括自修复盘驱动器的数据存储和检索系统。
技术介绍
在计算机数据存储网络中,主处理机典型地连接到存储子系统。存储子系统可以包括存储控制器和多个互连的盘驱动器,这些盘驱动器称作廉价盘冗余阵列(Redundant Array of Inexpensive Disks,RAID),也称作RAID盘驱动器阵列或盘驱动器阵列。存储控制器可以包括一个或多个处理器和一个或多个设备适配器。主处理机可以是工作站或服务器,如银行出纳员的计算机或在机场由航空公司雇员操作的计算机。主处理机引导存储控制器的处理器以指示适配器向盘驱动器阵列写入数据,并且从盘驱动器阵列读取数据。例如,数据串存储在盘驱动器阵列中,并且该数据串包括存储在作为阵列一个成员的给定盘驱动器上的数据串子段(subsection)(以下称作第一数据串的第一数据串子段)。主处理机可以请求存储子系统的存储控制器从盘驱动器阵列读取第一数据串。当从盘驱动器阵列读取第一数据串时,第一数据串可能由于其第一数据串子段损坏而不完整。因此,第一数据串暂时丢失。然而,与第一数据串的第一数据串子段相关联的数据可以通过也与数据串一起存储的奇偶校验信息来重构和恢复。当与第一数据串的第一数据串子段相关联的数据得到重构时,主机此时可以接收第一数据串的完整版本。当与第一数据串子段相关联的数据得到重构时,将所重构的第一数据串子段恢复到盘驱动器阵列中的给定盘驱动器的新位置。在传统的存储系统中,除了重构和恢复与主处理机所请求的第一数据串的第一数据串子段相关联的数据之外,不再做更多操作。如果在盘驱动器阵列的特定盘驱动器上存在径向或螺旋形划痕,则该划痕可能破坏附加数据串的多个附加数据串子段。由于除了重构和恢复与第一数据串的第一数据串子段相关联的数据的步骤之外不再做更多操作,因此在重构和恢复与第一数据串的第一数据串子段相关联的数据的同时,没有立即重构和恢复与附加数据串的附加数据串子段相关联的数据。如果在重构和恢复与第一数据串的第一数据串子段相关联的数据的同时没有立即重构和恢复与附加数据串的附加数据串子段相关联的数据,并且当随后从盘驱动器阵列读取附加数据串之一时,万一在那个附加数据串中存在二个或更多损坏数据串子段时,则会出现与那个附加数据串相关的单故障点(a single point of failure)。单故障点在至少两种情况下会出现(1)RAID盘驱动器之一不再响应,同时另一个盘驱动器存在介质损坏,例如导致数据串子段硬读取错误的介质划痕,或者(2)当RAID阵列中的两个驱动器在给定数据串的各自数据串子段的位置存在损坏时。在这两种情况下,RAID奇偶校验信息不再足以恢复丢失的数据串子段。因此,当定位、重构和恢复与盘驱动器阵列的特定盘驱动器上的第一损坏数据串子段相关联的数据时,有必要立即检查盘驱动器阵列的特定盘驱动器上第一损坏数据串子段周围的相邻区域,以便定位附加损坏如附加数据串的附加损坏数据串子段,并且除了与第一损坏数据串子段相关联的数据之外,还立即重构和恢复与附加损坏数据串子段相关联的数据。为了避免当随后从存储子系统的RAID盘驱动器阵列读取附加数据串时出现单故障点,该操作是必要的。
技术实现思路
在本专利技术的一个实施例中,一种可由机器读取的程序存储设备,有形地实施可由机器执行的指令程序以执行用于定位盘驱动器上的损坏并且重构和迁移(relocate)与这些损坏相关联的数据的方法,该方法包括响应定位所述盘驱动器上的损坏,检查所述盘驱动器上的所述损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏;响应定位所述盘驱动器上的所述损坏,重构与所述损坏相关联的数据,从而生成重构数据;以及存储所述重构数据。本专利技术还包括响应定位盘驱动器上的损坏而自修复盘驱动器的存储系统和方法,包括响应定位盘驱动器上的损坏,检查盘驱动器上的损坏周围的相邻区域以判定在盘驱动器上是否存在附加损坏;重构与损坏相关联的数据,从而生成重构数据;以及恢复重构数据。根据以下给出的详细描述,本专利技术的更大适用范围将会变得清楚。然而,应该理解,本详细描述和特定例子虽然代表本专利技术的优选实施例,但是它们只是作为示例而给出的,因为通过阅读下面详细描述,本专利技术的精神和范围之内的变更和修改对于本领域的技术人员而言将是显而易见的。附图说明现在参照附图,其中,相同的标号在全文范围内表示对应部件图1示出工作时连接到存储子系统的主处理机;图2示出包括存储子系统的计算机网络,其中,存储子系统具有带有一个或多个处理器和一个或多个适配器的存储控制器以及RAID盘驱动器阵列;图3示出存储子系统中的存储控制器;图4示出包括适配器的存储控制器,其中,适配器进一步包括本专利技术的自修复软件;图5示出存储控制器,其中,存储控制器可读性和可服务性(Readability and Serviceability,RAS)功能包括根据本专利技术一个实施例的自修复系统;图6示出RAID盘驱动器阵列的盘驱动器,其中,盘驱动器包括根据本专利技术一个实施例的自修复系统;图7示出根据本专利技术的一个实施例的包括奇偶校验的RAID阵列的多个盘驱动器、盘驱动器目录、缓冲器以及计数器;图8示出根据本专利技术一个实施例的自修复存储系统的流程图; 图9示出根据本专利技术一个实施例的自修复存储系统的流程图;图10示出根据本专利技术一个实施例的自修复存储系统的流程图;图11示出根据本专利技术一个实施例的自修复存储系统中检查损坏数据串子段周围的相邻区域的流程图;图12示出根据本专利技术一个实施例的自修复存储系统中检查损坏数据串子段周围的相邻区域的流程图;图13示出RAID盘驱动器阵列中的多个盘驱动器;以及图14示出RAID盘驱动器阵列中的盘驱动器的详细构造。具体实施例方式在下面对本专利技术优选实施例的详细描述中,参照形成其一部分的附图,其中作为示例示出可以实施本专利技术的特定实施例。应该理解,还可以利用其他实施例,因为在不脱离本专利技术的范围的情况下可以作结构改动。在本专利技术的一个实施例中,当RAID阵列的盘驱动器上的损坏被定位时,检查盘驱动器上的损坏周围的相邻区域,以便定位盘驱动器上的损坏周围的附加损坏。使用奇偶校验来重构和迁移与该损坏和附加损坏相关联的数据。这样,本专利技术的自修复系统可以避免因盘驱动器上的增长介质损坏包括盘驱动器上的径向和螺旋形划痕而导致丢失盘驱动器或RAID阵列上的数据,自修复系统消除了潜在的单故障点暴露。当存储控制器的适配器控制向RAID阵列的盘驱动器写入数据串时,并且当随后由适配器从盘驱动器读取那个数据串时,由于存储那个数据串的特定数据串子段的盘驱动器中的一个扇区存在损坏,因此不能从盘驱动器正确读取那个数据串的特定数据串子段(该特定数据串子段以下称作损坏数据串子段)。然而,可以构造和恢复与损坏数据串子段相关联的数据。数据串包括多个子段,其中包括损坏数据串子段和奇偶校验信息。奇偶校验信息用来重构和恢复与损坏数据串子段相关联的数据。适配器可以使用RAID恢复方法来重构与损坏数据串子段相关联的数据,并且将该数据迁移到较安全的位置如当前盘驱动器或备用盘驱动器上的另一个位置。因而,重构数据串存储在RAID阵列的盘驱动器或备用盘驱动器上的新位置中,新位置具有由盘驱动器目录如文件分配表提供的新地址。在本专利技术的一个本文档来自技高网
...

【技术保护点】
一种可由机器读取的程序存储设备,有形地实施可由机器执行的指令程序以执行用于定位盘驱动器上的损坏并且重构和迁移与这些损坏相关联的数据的方法,所述方法包括:响应定位所述盘驱动器上的损坏,检查所述盘驱动器上的所述损坏周围的相邻区域以判定在 所述盘驱动器上是否存在附加损坏;响应定位所述盘驱动器上的所述损坏,重构与所述损坏相关联的数据,从而生成重构数据;以及存储所述重构数据。

【技术特征摘要】
US 2003-5-6 10/431,2461.一种可由机器读取的程序存储设备,有形地实施可由机器执行的指令程序以执行用于定位盘驱动器上的损坏并且重构和迁移与这些损坏相关联的数据的方法,所述方法包括响应定位所述盘驱动器上的损坏,检查所述盘驱动器上的所述损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏;响应定位所述盘驱动器上的所述损坏,重构与所述损坏相关联的数据,从而生成重构数据;以及存储所述重构数据。2.如权利要求1所述的程序存储设备,还包括响应定位所述盘驱动器上的所述损坏周围的所述相邻区域中的所述附加损坏,重构与所述附加损坏相关联的数据,从而生成另外重构数据;以及存储所述另外重构数据。3.如权利要求2所述的程序存储设备,其中,所述损坏位于所述盘驱动器的柱面n上的扇区偏移SO处,并且其中,检查所述盘驱动器上的损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,包括检查盘驱动器的柱面n+1和n-1上的扇区偏移SO、SO+1字节和SO-1字节。4.如权利要求3所述的程序存储设备,其中,检查所述盘驱动器上的损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,还包括响应在与盘驱动器的柱面n+1和n-1上的扇区偏移SO、SO+1字节和SO-1字节中的至少之一相对应的一个或多个位置定位所述盘驱动器上的所述附加损坏,检查柱面n+3和n-3上的扇区偏移SO、SO+1字节和SO-1字节。5.如权利要求4所述的程序存储设备,其中,检查所述盘驱动器上的损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,还包括响应在与柱面n+3和n-3上的所述扇区偏移SO、SO+1字节和SO-1字节相对应的一个或多个位置没有定位所述盘驱动器上的所述附加损坏,检查柱面n+2和n-2上的扇区偏移SO、SO+1字节和SO-1字节。6.如权利要求5所述的程序存储设备,其中,检查所述盘驱动器上的损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,还包括响应在与柱面n+3和n-3上的所述扇区偏移SO、SO+1字节和SO-1字节中的至少之一相对应的一个或多个位置定位所述盘驱动器上的所述附加损坏,检查柱面n+5和n-5上的扇区偏移SO、SO+1字节和SO-1字节。7.如权利要求2所述的程序存储设备,其中,在所述盘驱动器上存在特定数目的所述附加损坏,并且其中,存储所述重构数据和存储所述另外重构数据均包括当所述特定数目的所述附加损坏大于或等于预定阈值时,在另一个备用盘驱动器上存储所述重构数据和所述另外重构数据。8.一种响应定位盘驱动器上的损坏而在所述盘驱动器中自修复的方法,包括响应定位所述盘驱动器上的所述损坏,检查所述盘驱动器上的所述损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏;重构与所述损坏相关联的数据,从而生成重构数据;以及存储所述重构数据。9.如权利要求8所述的方法,还包括响应定位所述盘驱动器上的所述损坏周围的所述相邻区域中的所述附加损坏,重构所述附加损坏,从而生成另外重构数据;以及存储所述另外重构数据。10.如权利要求9所述的方法,其中,所述损坏位于所述盘驱动器的柱面n上的扇区偏移SO处,并且其中,检查所述盘驱动器上的所述损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,包括检查盘驱动器的柱面n+1和n-1上的扇区偏移SO、SO+1字节和SO-1字节。11.如权利要求10所述的方法,其中,检查所述盘驱动器上的所述损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,还包括响应在与盘驱动器的柱面n+1和n-1上的扇区偏移SO、SO+1字节和SO-1字节中的至少之一相对应的一个或多个位置定位所述盘驱动器上的所述附加损坏,检查柱面n+3和n-3上的扇区偏移SO、SO+1字节和S...

【专利技术属性】
技术研发人员:阿米内哈吉威廉约翰杜里卡
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1