CN1551202A - 自修复方法和存储系统 - Google Patents

自修复方法和存储系统 Download PDF

Info

Publication number
CN1551202A
CN1551202A CNA2004100397169A CN200410039716A CN1551202A CN 1551202 A CN1551202 A CN 1551202A CN A2004100397169 A CNA2004100397169 A CN A2004100397169A CN 200410039716 A CN200410039716 A CN 200410039716A CN 1551202 A CN1551202 A CN 1551202A
Authority
CN
China
Prior art keywords
disk drive
byte
damage
data
cylinder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004100397169A
Other languages
English (en)
Other versions
CN100437804C (zh
Inventor
�����ڡ�����
阿米内·哈吉
Լ�������│
威廉·约翰·杜里卡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1551202A publication Critical patent/CN1551202A/zh
Application granted granted Critical
Publication of CN100437804C publication Critical patent/CN100437804C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1088Scrubbing in RAID systems with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

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

Description

自修复方法和存储系统
技术领域
本发明涉及一种在存储系统中包括自修复盘驱动器的数据存储和检索系统。
背景技术
在计算机数据存储网络中,主处理机典型地连接到存储子系统。存储子系统可以包括存储控制器和多个互连的盘驱动器,这些盘驱动器称作廉价盘冗余阵列(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阵列的盘驱动器或备用盘驱动器上的新位置中,新位置具有由盘驱动器目录如文件分配表提供的新地址。在本发明的一个实施例中,存储控制器立即检查损坏数据串子段周围的相邻区域以便定位可能位于损坏数据串子段附近的其他附加损坏数据串子段。自修复过程可以在背景中运行,从而允许主机不受阻碍地访问客户数据(customer data)。
如果在RAID阵列的盘驱动器上存在径向或螺旋形划痕,则在损坏数据串子段的邻近处将存在其他损坏数据串子段。除了与损坏数据串子段相关联的数据之外还立即同时重构与其他损坏数据串子段相关联的数据降低了单故障点的风险。在本发明的一个实施例中,存储控制器立即检查损坏数据串子段(位于柱面N和扇区偏移SO)周围的相邻区域,这是通过首先检查损坏数据串子段周围的间隔相邻柱面中的任何其他损坏数据串子段(例如,柱面N+1和N-1、N+3和N-3、N+5和N-5等,以扇区偏移SO、SO+1字节和SO-1字节),直到定位边远柱面(outlyingcylinder)中的非损坏数据串子段,此时,存储控制器然后将重构与位于损坏数据串子段与非损坏数据串子段之间的被跳过柱面中的其他损坏数据串子段相关联的数据。如果与边远柱面中的非损坏数据串子段相关联的柱面数大于或等于M(由用户设置的数目),则存储控制器将判定是否由于在盘驱动器阵列的局部区域中存在太多损坏数据串子段而应该以备用盘驱动器更换当前盘驱动器。这样,存储控制器将:(1)立即检查由RAID阵列的可疑盘驱动器成员报告的损坏周围的相邻区域,(2)判定在这些相邻区域中是否存在附加损坏,(3)比较新报告的损坏与盘驱动器p列表和g列表中的已知损坏的邻近性,(4)如果所需自修复量被证实过大,则以备用驱动器更换或者作为备份拷贝可疑驱动器,其中,当计数器中的计数大于或等于预定值时,自修复量过大,该计数表示RAID阵列中的特定盘驱动器所需的自修复次数,(5)使用RAID奇偶校验,重构与损坏相关联的数据从而产生重构数据,并且重构与附加损坏相关联的数据从而产生另外重构数据(further reconstructed data),以及(6)将重构数据和另外重构数据迁移到该盘驱动器或备用盘驱动器上的较可靠位置。在本发明的其他实施例中,可以延迟如上所述立即采取的操作。本发明的前述方面将在下文中进行更详细的描述。
参照图1,一个或多个主处理机10在工作时连接到存储子系统11。主处理机10可以是工作站、服务器或个人计算机如自动柜员机(ATM)、由银行出纳员操作的银行计算机终端或者在机场由航空公司雇员操作的机场计算机终端。存储子系统11可以在工作时通过数英里的互连长途电缆连接到主机10。存储子系统11包括存储控制器和存储器,存储控制器控制在存储器中存储数据。主机10可以请求接收存储在存储子系统11的存储器中的数据。对此响应,存储子系统11的存储控制器将从存储器检索数据,并且将所请求数据提供给主机10。在读取操作期间,如果存储器不包含从主机请求的数据,则子系统从适当的盘驱动器读取该数据,并且将它存储在存储器中。另外,主机10还可以请求将特定数据存储在存储子系统11的存储器中。对此响应,存储子系统11的存储控制器将从主机10接收数据,并且将数据存储在存储器中。在写入操作期间,在将数据存储在存储器中之后,子系统将该数据从存储器降级(destage)到盘驱动器上。
参照图2,一个或多个主处理机10在工作时通过长途电缆38连接到存储子系统11。存储子系统11包括存储控制器12和存储器26,其中存储器26包括工作时连接到存储控制器12的廉价盘冗余阵列(RAID)26(以下称作RAID阵列26)。RAID阵列26包括第一盘驱动器28、第二盘驱动器30、第三盘驱动器32、第(n-1)盘驱动器34以及第n盘驱动器36。在一个实施例中,盘驱动器包括磁性记录盘驱动器。在可选实施例中,盘驱动器可以包括光盘驱动器或者使用其他数据记录机制的盘驱动器。本发明还可以采用其他形式的存储设备来实现。存储控制器12包括一个或多个处理器22以及工作时连接到处理器22和RAID阵列26的一个或多个设备适配器24。
参照图3,图2的存储子系统11的存储控制器12的处理器22包括第一处理器“处理器1”22a和第二处理器“处理器2”22b,它们均连接到系统总线。图2的存储控制器12的设备适配器24包括第一适配器24a、第二适配器24b、第三适配器24c和第四适配器24d,所有这些适配器都连接到系统总线。另外,RAID阵列26包括第一盘驱动器28、第二盘驱动器30、第三盘驱动器32、第(n-1)盘驱动器34和第n盘驱动器36,所有这些盘驱动器都连接到系统总线。
在图3中,主机10可以在RAID阵列26中存储一个数据串,其中,该数据串的第一数据串子段存储在第一盘驱动器28中,该数据串的第二数据串子段存储在第二盘驱动器30中,该数据串的第三数据串子段存储在第三盘驱动器32中,该数据串的第(n-1)数据串子段存储在第(n-1)盘驱动器34中,并且该数据串的第n数据串子段存储在第n盘驱动器36中。另一方面,主处理机10可以请求从RAID阵列26检索该数据串,其中,从第一盘驱动器28检索该数据串的第一数据串子段,从第二盘驱动器30检索该数据串的第二数据串子段,从第三盘驱动器32检索该数据串的第三数据串子段,从第(n-1)盘驱动器34检索该数据串的第(n-1)数据串子段,并且从第n盘驱动器36检索该数据串的第n数据串子段。当在图3的RAID阵列26中存储数据串或者从其检索数据串时,存储控制器12的处理器22a和/或22b将响应来自主机10的指令而进一步指示设备适配器24a-24d中的一个或多个在盘驱动器28-36中存储数据串或者从其检索数据串。
参照图4,根据一个优选实施例,存储控制器12包括处理器22和设备适配器24。然而,设备适配器24进一步包括本发明的自修复软件模块42。在本发明的一个实施例中,当定位存储在图3的盘驱动器28、30、32、34或36之一中的损坏数据串子段时,适配器24立即重构与损坏数据串子段相关联的数据从而产生重构数据串子段,将重构数据串子段存储在缓冲器中,增大计数器,更新盘驱动器目录,并且根据由盘驱动器目录提供的新地址在同一盘驱动器或者备用或备份盘驱动器的新可用扇区中恢复与损坏数据串子段相对应的重构数据串子段。当从其盘驱动器检索包含重构数据串子段的数据串时,数据串此时将包含重构数据串子段。以下描述用于检查盘驱动器上的损坏周围的相邻区域以定位盘驱动器上的附加损坏、重构与损坏相关联的数据以及重构与附加损坏相关联的数据的这一过程。
参照图5和6,在可选方案中,本发明的自修复软件42可以包括在存储控制器12的可读性和可服务性(RAS)功能40内,如图5所示。可选地,本发明的自修复软件42可以包括在盘驱动器本身如盘驱动器28、30、32、34和36之一内,如图6所示。在可选方案中,本发明的自修复软件42可以在所有三个上述装置即设备适配器24、RAS功能40和盘驱动器28-36之间分配。在此所用的术语“自修复软件”包括例如微代码。
参照图7,例如,主机10指示存储子系统11的存储控制器12在RAID阵列26中存储数据串。作为响应,存储控制器12的处理器22指示设备适配器24在图3的盘驱动器28-36中存储数据串。在图7中,数据串以下称作数据串46-52。数据串46-52由三个数据串子段46、48和50加上奇偶校验信息52组成。在图7中,第一数据串子段46存储在盘驱动器A中,第二数据串子段48存储在盘驱动器B中,第三数据串子段50存储在盘驱动器C中,并且奇偶校验信息52存储在驱动器D中。盘驱动器B具有划痕44。划痕44贯穿第二数据串子段48;也就是,第二数据串子段48包括在划痕44内。这样,第二数据串子段48存在损坏(以下称作损坏数据串子段48),因为盘驱动器B中存储了第二数据串子段48的扇区存在损坏。因此,当主机10请求存储子系统11的存储控制器12从存储器检索数据串46-52时,存储控制器12的处理器22将指示设备适配器24从图7中的RAID盘驱动器A、B、C和D检索数据串46-52。对此响应,当设备适配器24从图7中的盘驱动器A、B、C和D检索数据串46-52时,适配器将从盘驱动器A接收第一数据串子段46,从盘驱动器B接收损坏数据串子段48,从盘驱动器C接收第三数据串子段50,并且从盘驱动器D接收奇偶校验信息52。
当设备适配器24从盘驱动器B接收损坏数据串子段48时,设备适配器24将开始重构与损坏数据串子段48相关联的数据。使用例如公知的RAID数据恢复技术来重构与损坏数据串子段48相关联的数据(以下称作重构数据串子段48)。将重构数据串子段48置于缓冲器54中,并且对计数器56中的计数增一。计数器56存储针对特定盘驱动器已定位的损坏数。与盘驱动器B的损坏数相对应的计数器56中的计数增一。适配器24咨询(consult)盘驱动器目录58以定位用于重构数据串子段48的新盘驱动器地址。对盘驱动器目录58进行更新以记录用于重构数据串子段48的新盘驱动器地址位置。然后,适配器24可以从盘驱动器目录58获得盘驱动器B上的用于重构数据串子段48的位置。然后,在盘驱动器B上的新盘驱动器地址60存储重构数据串子段48(目前存在于缓冲器54中)。盘驱动器B上的用于重构数据串子段48的新盘驱动器地址以标号60表示。因此,与损坏数据串子段48相关联的数据得到重构,并且将缓冲器54中的重构数据串子段恢复到盘驱动器B上的位置地址60。这就完成了损坏数据串子段48的数据恢复。
数据串子段64也位于盘驱动器B上。第二数据串子段48包括在划痕44内,并且数据串子段64也包括在划痕44内。因此,数据串子段64也是损坏数据串子段。数据串子段64相邻于第二数据串子段48。如果损坏数据串子段64未被重构,则这可能导致单故障点暴露。例如,如果盘驱动器A上的数据串子段62也存在损坏并且主机10请求存储控制器12从盘驱动器A、B、C和D检索数据串62-68。当从盘驱动器A、B、C和D检索数据串62-68时,从驱动器A检索第一损坏数据串子段62,从驱动器B检索第二损坏数据串子段64,从驱动器C检索第三数据串子段66,并且从驱动器D检索奇偶校验信息68。由于在数据串62-68中存在两个损坏数据串子段(第一损坏数据串子段62和第二损坏数据串子段64),因此出现了单故障点。每当出现单故障点时,在数据串中存在两个或更多损坏数据串子段。由于在数据串62-68中存在两个损坏数据串子段(第一损坏数据串子段62和第二损坏数据串子段64),因此将出现单故障点,这样将不能使用传统技术来重构数据串子段62和64中的损坏。这可能导致数据串62-68的丢失。然而,如果当重构与损坏数据串子段48相关联的数据时重构与损坏数据串子段64(在盘驱动器B上相邻于损坏数据串子段48)相关联的数据,则这将避免单故障点。
参照图8、9和10,示出根据本发明一个实施例的自修复方法的流程图。参照图8,在操作42a中,当损坏数据串子段被定位时,立即检查盘驱动器中损坏数据串子段周围的相邻区域以定位相邻区域中的附加损坏数据串子段。另外,在操作42b中,判定在损坏数据串子段周围的相邻区域中是否存在附加损坏数据串子段。
例如,参照图7,当损坏数据串子段48在盘驱动器B中被定位时,立即检查损坏数据串子段48周围的相邻区域,并且判定在相邻区域中是否存在任何附加损坏数据串子段。损坏数据串子段48位于柱面70上。柱面70的损坏数据串子段48周围的相邻区域将是(至少是)相邻于柱面70的柱面如柱面72。在图7中,数据串子段64位于相邻柱面72上。因此,当检查柱面70的损坏数据串子段48周围的相邻区域时,由于柱面72相邻于柱面70,因此检查存在于柱面72上的任何数据串子段如存在于柱面72上的数据串子段64。下一步,判定在柱面70的损坏数据串子段48周围的相邻区域中是否存在任何附加损坏数据串子段。由于柱面72上的数据串子段64处于柱面70的损坏数据串子段48周围的相邻区域内,因此立即判定柱面72上的数据串子段64是否存在损坏(该操作可以在背景中完成,从而允许主机10不受阻碍地访问客户数据)。例如,向柱面72上的数据串子段64位置执行写入然后从其执行读取。该操作将判定数据串子段64是否存在损坏。如果实施图8中的操作42a和42b,则可以避免单故障点。后面将参照附图中的图11、12、13和14更详细地讨论操作42a。
在图8中,参照操作42c。将盘驱动器上的损坏数据串子段和附加损坏数据串子段的位置与盘驱动器p列表和g列表中的已知损坏地方进行比较。
在图7中,将柱面70上的损坏数据串子段48的位置和柱面72上的附加损坏数据串子段64的位置与盘驱动器p列表和g列表进行比较。p列表是由制造商标识为盘上损坏位置的盘驱动器如图7中的驱动器B上的位置的列表。p列表是在制造盘期间和之后由制造商生成的。g列表是由适配器24生成并且反映盘上另外损坏位置的盘驱动器如图7中的驱动器B上的位置的另一个列表。当适配器24定位盘驱动器上的第一损坏数据串子段时,适配器把该第一损坏数据串子段在盘驱动器上的地址放置在g列表上。每当定位盘驱动器上的第二损坏数据串子段时,适配器24将把该第二损坏数据串子段在盘驱动器上的地址放置在g列表上。图7的柱面70上的第一损坏数据串子段48的第一地址位置和图7的柱面72上的第二损坏数据串子段64的第二地址位置由适配器24与p列表和g列表中的地址位置进行比较。如果第一损坏数据串子段48和第二损坏数据串子段64的第一和第二地址位置位于p列表和g列表中的其他损坏数据串子段的位置的附近,则适配器24将考虑是否应以备用驱动器更换盘驱动器。
在图8中,参照操作42d。通过将表示损坏数据串子段和附加损坏数据串子段的数目加到计数器,判定计数器中的计数是否大于或等于预定阈值,并且将结果报告给适配器,从而判定重构与损坏数据串子段和附加损坏数据串子段相关联的数据所需的自修复量是否过大,当计数器中的计数大于或等于预定阈值时,适配器判决自修复量过大。
在图7中,当柱面70上的损坏数据串子段48被定位时,增大计数器56中的计数。立即检查损坏数据串子段48周围的相邻区域如相邻柱面72。当发现数据串子段64存在损坏时,进一步增大计数器56中的计数。在图2中,设备适配器24将检查计数器56中的计数。当计数器56中的计数大于或等于预定阈值时,适配器24将由于在盘驱动器的局部区域中存在太多损坏而以备用盘驱动器更换盘驱动器。
在图9的操作42e中,当适配器判定自修复量过大时,以新备用盘驱动器或者备份盘驱动器替换原始盘驱动器。例如,参照图7,当计数器56中的计数大于或等于预定阈值时,适配器24现在可以判定由于盘驱动器B在盘的局部区域上存在太多损坏因此盘驱动器B的自修复量过大。因此,有必要以新备用盘驱动器更换盘驱动器B。在做此之前,将有必要更新盘驱动器目录58;也就是,必须在盘驱动器目录58中更改盘驱动器B上的所有数据的地址以反映它们在备用盘驱动器上的新位置。
在图9的操作42f中,使用RAID恢复软件,立即重构与损坏数据串子段相关联的数据,从而生成重构数据串子段,并且立即重构与附加损坏数据串子段相关联的数据,从而生成另外重构数据串子段。在缓冲器中存储重构数据串子段和另外重构数据串子段,操作42g。通过在盘驱动器目录58中记录用于重构数据串子段的第一新盘驱动器地址并且在盘驱动器目录58中记录用于另外重构数据串子段的一个或多个附加新盘驱动器地址,更新盘驱动器目录58,操作42h。当适配器24判定自修复量过大时,在新备用或备份盘驱动器的第一新盘驱动器地址上存储重构数据串子段,并且当适配器24判定自修复量过大时,在新备用或备份盘驱动器的附加新盘驱动器地址上存储重构数据串子段,图10的操作42i。当适配器24判定自修复量不过大时,在原始盘驱动器的第一新盘驱动器地址上存储重构数据串子段,并且当适配器24判定自修复量不过大时,在原始盘驱动器的附加新盘驱动器地址上存储重构数据串子段,图10的操作42j。
例如参照图7,当发现损坏数据串子段48时,立即重构与损坏数据串子段48相关联的数据。也就是,根据第一数据串子段46、第三数据串子段50和奇偶校验信息52,可以重构与第二损坏数据串子段48相关联的数据。然而,如果计数器56中的计数小于预定阈值(当计数器56中的计数小于预定阈值时,适配器24判定自修复量不过大),则将重构数据串子段置于缓冲器54中,增大计数器56,在盘驱动器目录58中为重构数据串子段确定新盘驱动器地址,更新盘驱动器目录58来记录用于重构数据串子段的新盘驱动器地址,并且根据由盘驱动器目录58提供的新盘驱动器地址,将重构数据串子段存储在盘驱动器B的柱面70上的新位置60。
还应该重构与任何附加损坏数据串子段相关联的数据(这可以在背景中完成以允许主机不受阻碍地访问客户数据)。参照图7,立即重构与存在于相邻柱面72上的附加损坏数据串子段64相关联的数据(再次,这可以在背景中完成以允许主机不受阻碍地访问客户数据)。为了重构与附加损坏数据串子段64相关联的数据,使用驱动器A上的第一数据串子段62、驱动器C上的第三数据串子段66和驱动器D上的奇偶校验信息68来确定与附加损坏数据串子段64相关联的数据(以下称作另外重构数据串子段)。然而,如果计数器56中的计数小于预定阈值(当计数器56中的计数小于预定阈值时,适配器24判定自修复量不过大),则将另外重构数据串子段置于缓冲器54中,增大计数器56,在盘驱动器目录58中为另外重构数据串子段确定附加新盘驱动器地址,更新盘驱动器目录58以记录用于另外重构数据串子段的附加新盘驱动器地址,并且根据由盘驱动器目录58提供的附加新盘驱动器地址,将另外重构数据串子段存储在盘驱动器B的柱面72上的新位置65。然而,如果计数器56中的计数大于或等于预定阈值,则适配器24判定自修复盘驱动器B所需的自修复量过大。在这种情况下,定位新备用或备份盘驱动器,根据由盘驱动器目录58提供的新盘驱动器地址,将损坏数据串子段48的重构数据串子段重新存储在新备用或备份盘驱动器的新盘驱动器地址上,并且根据由盘驱动器目录58提供的附加新盘驱动器地址,将损坏数据串子段64的另外重构数据串子段重新存储在新备用或备份盘驱动器的附加新盘驱动器地址上。
图11、12、13和14示出当损坏数据串子段被定位时检查盘驱动器中损坏数据串子段周围的相邻区域以在相邻区域中定位附加损坏数据串子段的操作即操作42a的其他方面。参照图11,当原始盘驱动器上的损坏数据串子段位于柱面N和扇区偏移SO时,尝试以扇区偏移SO、SO+1字节和SO-1字节对柱面N-1和N+1进行读取或写入(以下称作新位置),操作42a1。例如,在图13中,示出了包括盘驱动器A、盘驱动器B、盘驱动器C和奇偶校验驱动器D的RAID盘驱动器阵列。在图13中,划痕44存在于盘驱动器B的表面上。这样,在与划痕44重合的驱动器B的表面上将存在多个损坏数据串子段。图14示出了盘驱动器B的更详细视图。
在图14中,示出了图13的盘驱动器B的更详细视图。在图14中,划痕44存在于驱动器B的表面上。盘驱动器B包括多个柱面80,柱面80中的每一个上均存储有多个数据串子段。类似于图7中与驱动器B上的划痕44重合的损坏数据串子段48,损坏数据串子段48存在于与划痕44重合的盘驱动器B的表面上。在图14中,假定其上存储了损坏数据串子段48的柱面称作柱面n。因此,损坏数据串子段48位于柱面n、扇区偏移SO。在图14中,相邻于柱面n的柱面在图14的损坏数据串子段48的一侧包括柱面n+1、n+2和n+3,并且在图14的损坏数据串子段48的另一侧包括柱面n-1、n-2和n-3。在图14中,虽然损坏数据串子段48(与划痕44重合)位于柱面n、扇区偏移SO,但是扇区偏移SO+1字节位于扇区偏移SO的一侧,而扇区偏移SO-1字节位于扇区偏移SO的另一侧,如图14所示。
在图14中,当损坏数据串子段48位于柱面n和扇区偏移SO时,存储控制器12的适配器24尝试以扇区偏移SO、SO+1字节和SO-1字节对柱面n+1和n-1进行读取或写入。由于如图14所示划痕44以扇区偏移SO与柱面n+1和n-1重合,因此以扇区偏移SO在柱面n+1和n-1上将发现称作损坏数据串子段的损坏。
参照图11,如果有损坏数据串子段位于这些新位置,则在g列表中记录这些损坏,并且以扇区偏移SO、SO+1字节和SO-1字节检查间隔相邻柱面n-3和n+3(以下称作另外新位置),操作42a2。例如,参照图14,如果尝试以扇区偏移SO、SO+1字节和SO-1字节对柱面n+1和n-1进行读取或写入(称作新位置),则在柱面n+1和n-1的扇区偏移SO将发现损坏(即损坏数据串子段),因为划痕44与柱面n+1和n-1上的扇区偏移SO重合。由于有损坏数据串子段位于柱面n+1和n-1的扇区偏移SO,因此在g列表中记录这些损坏数据串子段(先前定位的损坏数据串子段及其位置的增长列表),然后开始检查并且尝试以扇区偏移SO、SO+1字节和SO-1字节对间隔相邻柱面n-3和n+3进行读取或写入。由于划痕44不以扇区偏移SO、SO+1字节和SO-1字节与柱面n+3和n-3重合,因此以扇区偏移SO、SO+1字节和SO-1字节在柱面n-3和n+3上将找不到损坏数据串子段。
参照图11,如果有损坏(损坏数据串子段)位于这些另外新位置,则将这些另外新位置与任何先前p列表或g列表条目进行比较,操作42a3。如果另外新位置相邻于与先前p列表或g列表条目相关联的位置(例如,相同头(head),在相同扇区偏移和柱面的附近),则将结果报告给适配器24,适配器确定24原始盘驱动器的处置,包括由于存在太多增长损坏而拒绝盘驱动器。
例如,参照图14,如果除了损坏以扇区偏移SO和/或SO+1字节和SO-1字节存在于柱面n-1和n+1(新位置)之外,还有损坏(损坏数据串子段)以扇区偏移SO和/或SO+1字节和SO-1字节存在于柱面n-3和n+3(另外新位置),则将这些另外新位置与任何先前p列表和g列表条目进行比较。如果另外新位置相邻于p列表或g列表中的其他位置,则将该结果报告给适配器24。适配器24判决是以备用盘驱动器更换当前盘驱动器,还是继续使用当前盘驱动器。然而,由于划痕44不以扇区偏移SO、SO+1字节和SO-1字节与柱面n-3和n+3重合,因此以扇区偏移SO、SO+1字节和SO-1字节在柱面n-3和n+3上将找不到损坏数据串子段。
下一步,参照图11,检查间隔相邻柱面n-3和n+3是否无损坏?(操作42a4)。例如,在图14中,由于划痕44不以扇区偏移SO、SO+1字节和SO-1字节与柱面n-3和n+3重合,因此间隔相邻柱面n-3和n+3无损坏,从而以扇区偏移SO在柱面n-3和n+3上没有任何损坏数据串子段,而且以扇区偏移SO+1字节或扇区偏移SO-1字节没有任何损坏数据串子段。
然后,参照图12,如果间隔相邻柱面n-3和n+3无损坏并且不包含损坏数据串子段,则以扇区偏移SO、SO+1字节和SO-1字节检查被跳过的柱面包括柱面n-2和n+2,以判定损坏数据串子段是否存在于被跳过柱面上的这些扇区位置,操作42a5。例如,在图14中,已经确定以扇区偏移SO、扇区偏移SO+1字节或扇区偏移SO-1字节在柱面n+3和n-3上不存在任何损坏(即损坏数据串子段)。因此,检查被跳过的柱面。柱面n+2和n-1被跳过。因此,检查并尝试以扇区偏移SO、扇区偏移SO+1字节和扇区偏移SO-1字节对柱面n+2和n-2进行读取和写入。由于划痕44以扇区偏移SO与柱面n+2和n-2重合,因此以扇区偏移SO在柱面n+2和n-2上将找到损坏(即损坏数据串子段)。
如果间隔相邻柱面n-3和n+3有损坏并且包含损坏数据串子段,则在g列表中记录这些损坏,并且以扇区偏移SO、SO+1字节和SO-1字节检查间隔相邻柱面n-5和n+5(图12操作42a6)。例如,在图14中,由于划痕44不与柱面n-3和n+3的任何部分重合,因此间隔相邻柱面n-3和n+3无损坏。
然而,如果在柱面n-3和n+3上的确存在损坏(损坏数据串子段),则在g列表中记录这些损坏,并且检查并尝试以扇区偏移SO、SO+1字节和SO-1字节对间隔相邻柱面n-5和n+5进行数据写入和数据读取。在图14中,注意扇区偏移SO、SO+1字节和SO-1字节下的柱面n-5和n+5的位置。
向间隔相邻柱面(例如,柱面n-1和n+1,随后是柱面n-3和n+3,再随后是柱面n-5和n+5)写入数据并从其读取数据的操作表示图14中的盘驱动器B的表面上的划痕44的范围。划痕44在损坏数据串子段48的一侧以扇区偏移SO从损坏数据串子段48延伸到柱面n+2和n+3之间的位置,并且在损坏数据串子段48的另一侧以扇区偏移SO延伸到柱面n-2和n-3之间的位置。因此,以扇区偏移SO在柱面n、n+1、n+2、n-1和n-2上将找到损坏(即损坏数据串子段);然而,由于划痕44没有延伸到柱面n+3、n+5、n-3和n-5,因此以扇区偏移SO在柱面n+3、n+5、n-3和n-5上将找不到损坏数据串子段。当在柱面n+3和n-3上找不到损坏时,我们将知道划痕44在盘驱动器B上的范围。因此,在下一个操作中,有必要回过头来以扇区偏移SO、SO+1字节和SO-1字节对被跳过的柱面进行检查/数据写入/数据读取,在图14中,被跳过的柱面是柱面n+2和n-2。
在图12中,参照操作42a7、42a8和42a9。重复图11中的操作42a2、图11中的操作42a3以及图12中的操作42a6最大次数M,其中M由用户设置,或者直到到达图12中的操作42a5。达到了次数M?如果是,则由于在驱动器的局部区域中存在太多损坏而拒绝原始盘驱动器。如果否,则返回到操作42a2,并且重复操作42a2、42a3和42a6。
在图14中,如果在间隔相邻柱面n-1和n+1、n-3和n+3、n-5和n+5、n-7和n+7等上连续找到损坏,则将在最大次数M内继续检查其余间隔相邻柱面。如果损坏继续存在于其余间隔相邻柱面上,则适配器24必须判定是否根据盘驱动器在其局部区域上存在太多损坏而应该以备用驱动器更换盘驱动器。
相邻区域可以局限于可疑盘驱动器的相同头和表面,但是如果跨越盘组(disk stack)的机械冲击是潜在故障机制,则它也可以推广到针对相同柱面和扇区位置的其余头。相邻区域可以意味着邻近于相同盘表面上的损坏地方,或者它可以意味着位于相同柱面扇区偏移位置的不同头上的潜在损坏地方。触发自修复的读取或写入损坏一般而言可以是可恢复的或不可恢复的,但是如果IO性能受到自修复过程的影响,则可以限于不可恢复自修复。这些损坏可以是预设的或者是客户可选择的。虽然读取损坏是自修复的主要触发条件,但是也可以使用特定写入损坏如伺服突发错误来触发自修复软件。
在一个优选实施例中,检查损坏周围的相邻区域涉及以扇区SO、SO+1字节和SO-1字节检查奇数柱面n+1和n-1、n+3和n-3等直到找不到进一步的损坏(或者达到M次),此时,搜索被跳过的柱面n+2和n-2。检查也可以在扇区位置SO、SO+1字节和SO-1字节使用偶数柱面n+2和n-2、n+4和n-4等来完成,然后是检查被跳过的柱面n+3和n-3等。可选地,在不脱离本发明的精神和范围的情况下,关于这些检查,可以使用这些柱面的任何其他组合(例如,奇数或偶数)。
虽然上文示出了本发明的多个示例性实施例,但是本领域的技术人员应该清楚,在不脱离由所附权利要求限定的本发明范围的情况下,可以对其进行各种变更和修改。

Claims (21)

1.一种可由机器读取的程序存储设备,有形地实施可由机器执行的指令程序以执行用于定位盘驱动器上的损坏并且重构和迁移与这些损坏相关联的数据的方法,所述方法包括:
响应定位所述盘驱动器上的损坏,检查所述盘驱动器上的所述损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏;
响应定位所述盘驱动器上的所述损坏,重构与所述损坏相关联的数据,从而生成重构数据;以及
存储所述重构数据。
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字节和SO-1字节。
12.如权利要求11所述的方法,其中,检查所述盘驱动器上的所述损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,还包括:响应在与盘驱动器的柱面n+3和n-3上的所述扇区偏移SO、SO+1字节和SO-1字节相对应的一个或多个位置没有定位所述盘驱动器上的所述附加损坏,检查柱面n+2和n-2上的扇区偏移SO、SO+1字节和SO-1字节。
13.如权利要求12所述的方法,其中,检查所述盘驱动器上的所述损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,还包括:响应在与盘驱动器的柱面n+3和n-3上的所述扇区偏移SO、SO+1字节和SO-1字节中的至少之一相对应的一个或多个位置定位所述盘驱动器上的所述附加损坏,检查柱面n+5和n-5上的扇区偏移SO、SO+1字节和SO-1字节。
14.如权利要求8所述的方法,其中,在所述盘驱动器上存在特定数目的所述附加损坏,并且其中,存储所述重构数据包括:如果所述特定数目的所述附加损坏大于或等于预定阈值,则在另一个备用盘驱动器上存储所述重构数据。
15.如权利要求9所述的方法,其中,在所述盘驱动器上存在特定数目的所述附加损坏,并且其中,存储所述另外重构数据包括:如果所述特定数目的所述附加损坏大于或等于预定阈值,则在另一个备用盘驱动器上存储所述另外重构数据。
16.一种适用于存储和检索数据的存储系统,包括:
多个盘驱动器;
存储控制器,工作时连接到所述多个盘驱动器,其中,存储控制器编程成执行定位存在于所述多个所述盘驱动器中的一个盘驱动器上的损坏并且重构与所述损坏相关联的数据的操作,这些操作包括,
响应定位所述盘驱动器上的损坏,检查所述盘驱动器上的所述损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏;
响应定位所述盘驱动器上的所述损坏,重构与所述损坏相关联的数据,从而生成重构数据;以及
存储所述重构数据。
17.如权利要求16所述的系统,其中,这些操作还包括:
响应定位所述盘驱动器上的所述损坏周围的所述相邻区域中的所述附加损坏,重构与所述附加损坏相关联的数据,从而生成另外重构数据;以及
存储所述另外重构数据。
18.如权利要求17所述的系统,其中,所述损坏位于所述盘驱动器的柱面n上的扇区偏移SO处,并且其中,检查所述盘驱动器上的损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,包括检查盘驱动器的柱面n+1和n-1上的扇区偏移SO、SO+1字节和SO-1字节。
19.如权利要求18所述的系统,其中,检查所述盘驱动器上的损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,还包括:响应在与盘驱动器的柱面n+1和n-1上的扇区偏移SO、SO+1字节和SO-1字节中的至少之一相对应的一个或多个位置定位所述盘驱动器上的所述附加损坏,检查柱面n+3和n-3上的扇区偏移SO、SO+1字节和SO-1字节。
20.如权利要求19所述的系统,其中,检查所述盘驱动器上的损坏周围的相邻区域以判定在所述盘驱动器上是否存在附加损坏,还包括:响应在与柱面n+3和n-3上的所述扇区偏移SO、SO+1字节和SO-1字节相对应的一个或多个位置没有定位所述盘驱动器上的所述附加损坏,检查柱面n+2和n-2上的扇区偏移SO、SO+1字节和SO-1字节;以及
响应在与柱面n+3和n-3上的所述扇区偏移SO、SO+1字节和SO-1字节中的至少之一相对应的一个或多个位置定位所述盘驱动器上的所述附加损坏,检查柱面n+5和n-5上的扇区偏移SO、SO+1字节和SO-1字节。
21.一种可由机器读取的程序存储设备,有形地实施可由机器执行的指令程序以执行用于定位存储设备上的损坏并且重构和迁移与这些损坏相关联的数据的方法,所述方法包括:
检查所述存储设备上的损坏周围的相邻区域以判定是否存在附加损坏;
重构与所述损坏相关联的数据,从而生成重构数据;以及
存储所述重构数据。
CNB2004100397169A 2003-05-06 2004-03-16 自修复方法和存储系统 Expired - Fee Related CN100437804C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/431,246 US7278053B2 (en) 2003-05-06 2003-05-06 Self healing storage system
US10/431,246 2003-05-06

Publications (2)

Publication Number Publication Date
CN1551202A true CN1551202A (zh) 2004-12-01
CN100437804C CN100437804C (zh) 2008-11-26

Family

ID=33449649

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100397169A Expired - Fee Related CN100437804C (zh) 2003-05-06 2004-03-16 自修复方法和存储系统

Country Status (5)

Country Link
US (1) US7278053B2 (zh)
JP (1) JP3919770B2 (zh)
KR (1) KR100561495B1 (zh)
CN (1) CN100437804C (zh)
TW (1) TWI267741B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100397324C (zh) * 2005-04-04 2008-06-25 索尼株式会社 数据存储设备、重构控制设备与重构控制方法
CN100407123C (zh) * 2005-04-05 2008-07-30 索尼株式会社 数据存储设备、重构控制设备、重构控制方法
CN101276302B (zh) * 2007-03-29 2010-10-06 中国科学院计算技术研究所 一种磁盘阵列系统中磁盘故障处理和数据重构方法
CN101047010B (zh) * 2006-03-29 2010-11-10 国际商业机器公司 用于最大化raid系统中受保护数据量的方法和系统
CN102209957A (zh) * 2009-02-26 2011-10-05 株式会社日立制作所 包括raid组的存储系统
CN101390059B (zh) * 2006-02-21 2012-05-09 国际商业机器公司 用于并发raid阵列重定位的装置及方法
CN103456352A (zh) * 2012-06-04 2013-12-18 爱思开海力士有限公司 半导体器件及其操作方法
CN104657237A (zh) * 2015-03-12 2015-05-27 浪潮集团有限公司 一种检测磁盘阵列的方法
CN112732517A (zh) * 2020-12-29 2021-04-30 北京浪潮数据技术有限公司 一种磁盘故障告警方法、装置、设备及可读存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100524937B1 (ko) * 2002-12-12 2005-10-31 삼성전자주식회사 하드디스크상의 임의 방향 스크래치 처리 장치 및 방법
US20050138464A1 (en) * 2003-11-21 2005-06-23 Chong Pohsoon Scratch fill using scratch tracking table
JP2007066480A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd ディスクアレイ装置
US7653829B2 (en) * 2005-12-08 2010-01-26 Electronics And Telecommunications Research Institute Method of data placement and control in block-divided distributed parity disk array
KR100714876B1 (ko) * 2005-12-27 2007-05-07 삼성전자주식회사 하드디스크 드라이브, 하드디스크 드라이브의 스크래치처리방법 및 그 방법을 수행하는 컴퓨터 프로그램을 기록한기록매체
DE102006014329B3 (de) * 2006-03-23 2007-09-06 Siemens Ag Verfahren zur Archivierung von Daten
CN104969181B (zh) * 2013-01-31 2019-08-02 惠普发展公司,有限责任合伙企业 用于损坏的驱动器变量记录的修复系统、方法及存储设备
CN106296550A (zh) * 2015-06-10 2017-01-04 中车唐山机车车辆有限公司 列车故障查询系统
US10803437B2 (en) * 2015-08-28 2020-10-13 Ncr Corporation Self-service terminal technical state monitoring and alerting
US10361919B2 (en) 2015-11-09 2019-07-23 At&T Intellectual Property I, L.P. Self-healing and dynamic optimization of VM server cluster management in multi-cloud platform
JP2019164869A (ja) 2018-03-20 2019-09-26 株式会社東芝 磁気ディスク装置及びリード処理方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01196775A (ja) 1988-02-02 1989-08-08 Sony Corp データ記録/再生装置における交替処理方法
JPH02156478A (ja) 1988-12-09 1990-06-15 Canon Inc 交代セクター管理方式
JP3074183B2 (ja) 1990-10-01 2000-08-07 日立マクセル株式会社 情報記録媒体および情報記録媒体評価装置
JP2672916B2 (ja) * 1991-12-13 1997-11-05 富士通株式会社 アレイディスク装置のデータチェック方法
US5313626A (en) * 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
JP3231831B2 (ja) 1992-04-16 2001-11-26 株式会社リコー 光ディスクの不良セクタ判定方法
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
JPH07152495A (ja) * 1993-11-29 1995-06-16 Nec Corp ディスクアレイ装置の復旧方式
JP3558225B2 (ja) 1993-12-18 2004-08-25 株式会社リコー ディスク装置
JPH0863895A (ja) 1994-08-24 1996-03-08 Nikon Corp ディスク及びディスク欠陥検出装置
JP3322768B2 (ja) * 1994-12-21 2002-09-09 富士通株式会社 記録再生装置及び記録媒体の交代処理方法
US5758057A (en) * 1995-06-21 1998-05-26 Mitsubishi Denki Kabushiki Kaisha Multi-media storage system
JPH0914315A (ja) * 1995-06-23 1997-01-14 Akebono Brake Ind Co Ltd 摩擦材の予備成形方法
US5913927A (en) * 1995-12-15 1999-06-22 Mylex Corporation Method and apparatus for management of faulty data in a raid system
US5717850A (en) * 1996-03-12 1998-02-10 International Business Machines Corporation Efficient system for predicting and processing storage subsystem failure
CN1098524C (zh) * 1996-03-18 2003-01-08 松下电器产业株式会社 圆盘状记录媒体的记录缺损替代方法及记录再生装置
GB2312319B (en) * 1996-04-15 1998-12-09 Discreet Logic Inc Video storage
US6453392B1 (en) * 1998-11-10 2002-09-17 International Business Machines Corporation Method of and apparatus for sharing dedicated devices between virtual machine guests
JP2000156051A (ja) 1998-11-17 2000-06-06 Hitachi Ltd 磁気ディスク装置
US6327672B1 (en) * 1998-12-31 2001-12-04 Lsi Logic Corporation Multiple drive failure tolerant raid system
US6449731B1 (en) * 1999-03-03 2002-09-10 Tricord Systems, Inc. Self-healing computer system storage
DE10085084T1 (de) 1999-10-28 2002-11-21 Seagate Technology Llc Synchronisations-Byte-Padding
US6418068B1 (en) * 2001-01-19 2002-07-09 Hewlett-Packard Co. Self-healing memory
CN1155963C (zh) * 2001-03-30 2004-06-30 华邦电子股份有限公司 利用保留容量以回复受损坏的储存容量的方法
US6922801B2 (en) 2001-06-01 2005-07-26 International Business Machines Corporation Storage media scanner apparatus and method providing media predictive failure analysis and proactive media surface defect management
JP2003036613A (ja) 2001-07-25 2003-02-07 Sony Corp 光記録媒体の検査方法
US7035972B2 (en) * 2002-09-03 2006-04-25 Copan Systems, Inc. Method and apparatus for power-efficient high-capacity scalable storage system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100397324C (zh) * 2005-04-04 2008-06-25 索尼株式会社 数据存储设备、重构控制设备与重构控制方法
CN100407123C (zh) * 2005-04-05 2008-07-30 索尼株式会社 数据存储设备、重构控制设备、重构控制方法
CN101390059B (zh) * 2006-02-21 2012-05-09 国际商业机器公司 用于并发raid阵列重定位的装置及方法
CN101047010B (zh) * 2006-03-29 2010-11-10 国际商业机器公司 用于最大化raid系统中受保护数据量的方法和系统
CN101276302B (zh) * 2007-03-29 2010-10-06 中国科学院计算技术研究所 一种磁盘阵列系统中磁盘故障处理和数据重构方法
CN102209957A (zh) * 2009-02-26 2011-10-05 株式会社日立制作所 包括raid组的存储系统
CN103456352A (zh) * 2012-06-04 2013-12-18 爱思开海力士有限公司 半导体器件及其操作方法
CN103456352B (zh) * 2012-06-04 2017-08-22 爱思开海力士有限公司 半导体器件和电子设备
CN104657237A (zh) * 2015-03-12 2015-05-27 浪潮集团有限公司 一种检测磁盘阵列的方法
CN112732517A (zh) * 2020-12-29 2021-04-30 北京浪潮数据技术有限公司 一种磁盘故障告警方法、装置、设备及可读存储介质
CN112732517B (zh) * 2020-12-29 2023-12-22 北京浪潮数据技术有限公司 一种磁盘故障告警方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
TW200513853A (en) 2005-04-16
US20040236985A1 (en) 2004-11-25
US7278053B2 (en) 2007-10-02
JP3919770B2 (ja) 2007-05-30
KR100561495B1 (ko) 2006-03-20
KR20040095181A (ko) 2004-11-12
TWI267741B (en) 2006-12-01
CN100437804C (zh) 2008-11-26
JP2004335087A (ja) 2004-11-25

Similar Documents

Publication Publication Date Title
CN100437804C (zh) 自修复方法和存储系统
US8190945B2 (en) Method for maintaining track data integrity in magnetic disk storage devices
US5088081A (en) Method and apparatus for improved disk access
US7627786B2 (en) Tracking error events relating to data storage drives and/or media of automated data storage library subsystems
US6950836B2 (en) Method, system, and program for a transparent file restore
US6922801B2 (en) Storage media scanner apparatus and method providing media predictive failure analysis and proactive media surface defect management
JP3699166B2 (ja) 階層データ記憶装置のデータ損失を監視する方法
US7613946B2 (en) Apparatus, system, and method for recovering a multivolume data set
US20070174682A1 (en) Apparatus, system, and method for a storage device's enforcing write recovery of erroneous data
JP3230645B2 (ja) データ処理方法、システムおよび装置
CN1825269A (zh) 盘阵列设备和数据备份方法
US20070174678A1 (en) Apparatus, system, and method for a storage device's enforcing write recovery of erroneous data
US20060215456A1 (en) Disk array data protective system and method
JP4203034B2 (ja) アレイコントローラ、メディアエラー修復方法及びプログラム
US20030233613A1 (en) Method, system, and article of manufacture for preventing data loss
JP2019003506A (ja) ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
US7506224B2 (en) Failure recovering method and recording apparatus
US7340642B1 (en) Method and an apparatus to maintain storage devices in a storage system
JP4012420B2 (ja) 磁気ディスク装置及びディスク制御装置
CN113190179B (zh) 提升机械硬盘使用寿命的方法、存储设备及系统
JP2003263703A5 (zh)
US6229743B1 (en) Method of a reassign block processing time determination test for storage device
JP2005293119A (ja) ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム
CN1225735C (zh) 一种磁盘阵列重构方法
JP2002123372A (ja) キャッシュメモリ付きディスクアレイ装置及びそのエラー制御方法並びにその制御プログラムを記録した記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081126

CF01 Termination of patent right due to non-payment of annual fee