CN1499486A - 一种磁盘阵列重构方法 - Google Patents

一种磁盘阵列重构方法 Download PDF

Info

Publication number
CN1499486A
CN1499486A CNA021464502A CN02146450A CN1499486A CN 1499486 A CN1499486 A CN 1499486A CN A021464502 A CNA021464502 A CN A021464502A CN 02146450 A CN02146450 A CN 02146450A CN 1499486 A CN1499486 A CN 1499486A
Authority
CN
China
Prior art keywords
reconstruct
disk
threshold value
reconstructing method
disk array
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
CNA021464502A
Other languages
English (en)
Other versions
CN1225735C (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.)
Wang Shuxing
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 02146450 priority Critical patent/CN1225735C/zh
Publication of CN1499486A publication Critical patent/CN1499486A/zh
Application granted granted Critical
Publication of CN1225735C publication Critical patent/CN1225735C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种磁盘阵列重构方法,包括:a、设定失败比例门限值M,对失败磁盘进行抽测,若大于N,则进行全盘异或重构,如果小于或等于N,则进入步骤b;b、进行拷贝重构;c、判断重构是否完成,如果是,结束重构,如果否,进入步骤d;d、从失败磁盘未重构的地址最低的分条单元开始向热备份盘拷贝数据;e、判断读数据是否成功,如果是,返回步骤c,如果否,进入步骤f;f、进行异或重构并启动计数器;g、判断累加结果是否大于设定的门限值X,如果大于或等于X,进入步骤g,如果小于X,返回步骤b;g、对后续分条单元进行异或重构,返回步骤b。拷贝和异或相结合的重构方法,加快了重构的进度,改善了重构过程中系统的整体性能。

Description

一种磁盘阵列重构方法
技术领域
本发明涉及存储介质领域,尤其涉及一种磁盘阵列重构方法。
技术背景
随着科技的飞速发展与计算机技术的普遍应用,人们对存储设备的性能要求越来越高,RAID技术已作为一项成熟的技术广泛的应用于磁盘阵列中。RAID是通过磁盘阵列与数据条块化方法相结合,以提高数据可用率的一种结构。从功能上区别,RAID可分为RAID级别1到RAID级别6,通常称为:RAID 0,RAID 1,RAID 2,RAID 3,RAID 4,RAID 5。其中,每一个RAID级别都有自己的强项和弱项。"奇偶校验"定义为用户数据的冗余信息,当硬盘失效时,可以重新产生数据。在RAID中当某磁盘出现一个坏扇区或该磁盘接口损坏即将该磁盘定义为失败磁盘。本发明主要涉及到其中的RAID 5,因此主要介绍RAID 5。
RAID 5没有单独指定的奇偶盘,而是交叉地存取数据及奇偶校验信息于所有磁盘上。在RAID5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块,随机读写的数据。RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。RAID5的每一个分条均包含一个校验单元,用来在出现失败时恢复数据。在读写过程中出现失败时,将包含失败分条单元的磁盘标志为不可用,并根据用户设置启动重构进程,对失败磁盘进行在线磁盘重构,重构的原理图1所示,从该图中可以看出,该方法使用校验恢复在置换磁盘上重建数据。
该重构采用基于磁盘的重构方法,该方法是目前主流的重构方法,原理如下:
构造N个进程,N-1个进程对应N-1个仍然正常工作的磁盘,一个进程对应于热备份盘。
与正常工作的磁盘相连的进程进行如下的处理:
Repeat
找到该磁盘上地址最低的分条单元;
若缓冲区有足够的空间接收数据,则对该分条单元发出一个低优先级的读请求,读至缓冲区内(跳过已重构完毕的分条);
等待读操作完成;
如果缓冲区管理器中有缓冲区能接受该数据,将该数据送至缓冲区管理器中的缓冲区中进行异或,否则等待;
Until所有的分条单元都被读完;
与热备份盘相连的进程进行如下处理:
Repeat
若缓冲区管理器中有已进行完所有条文单元异或的缓冲区,取出,否则等待;
对热备份盘发出一个低优先级的写请求,将取来的缓冲区中的数据写至热备份盘上;
等待写完成;
Until失败磁盘所有数据都得到重构;
上述方法对该磁盘上的数据恢复完全采用异或的方法实现,即是指通过异或同一RAID中未失败磁盘上相应数据来恢复失败磁盘上数据的重构,使用这种方法,即使磁盘仅有一个扇区出现一个错误,也把它视为最坏的情况,即:全盘不可用。而在实际上,多数情况下,该磁盘上其他部分的数据仍然可以响应正常读,且数据是真实可靠的。由于异或重构需要对RAID中除失败磁盘外的所有磁盘进行全盘读,此外还需进行大量的异或操作,存储系统的性能会因此受到很大的影响,而且重构的时间也会变得很漫长。
发明内容
本发明的目的就是利用磁盘拷贝重构和异或重构相结合的方法,尽可能减少重构所需的时间,减少重构过程给系统带来的性能降低。
本发明采用如下方案:
一种磁盘阵列重构方法,其特征在于包括以下步骤:
a、设定一个失败比例门限值N,对失败磁盘进行抽测,如果该失败比例大于所设定的门限值N,则进行全盘异或重构,如果小于或等于所设定的门限值N,则进入步骤b;
b、进行拷贝重构;
c、判断重构是否完成,如果是,结束重构,如果否,则进入步骤d;
d、从失败磁盘未重构的地址最低的分条单元开始向热备份盘拷贝数据;
e、判断读数据是否成功,如果是,返回步骤c,如果否,进入步骤f;
f、进行异或重构并启动计数器,对连续读失败的分条单元进行累加计数;
g、判断累加结果是否大于设定的门限值X,如果大于所述的门限值X,则进入步骤h,如果小于或等于所述的门限值X,则返回步骤c;
h、对后续的Y个分条单元进行异或重构,返回步骤c,所述数值Y是与门限值X及门限值M相关的一个数值。
所述的步骤a中,所述的抽测可以取磁盘分条单元总数的10%-40%。
所述的步骤a中门限值N为30%。
所述的步骤g中,所述的门限值X为1。
在整个重构过程中,对于已重构完的分条,主机按照正常访问模式对其进行访问。
在整个重构过程中,对于主机向失败磁盘尚未重构分条的写操作,采用重定向访问模式。
在整个重构过程中,对于主机向失败磁盘尚未重构分条的读操作,采用降级访问模式。
由于采用了本发明拷贝重构和异或重构相结合的重构方法,加快了重构的进度,减少了对RAID其他成员磁盘的访问,从而改善了重构过程中系统的整体性能。
附图说明
图1是现有技术中磁盘重构的原理示意图;
图2是本发明的磁盘阵列重构流程图。
具体实施方式
下面结合说明书附图来说明本发明的具体实施方式。
在磁盘重构领域中,拷贝重构是仅对失败磁盘上的失败部分进行异或重构,而对其余部分进行直接拷贝的重构方法。异或重构是指通过异或同一RAID中未失败磁盘上相应数据来恢复失败磁盘上数据的重构方法;两者的区别在于磁盘拷贝部分与整个磁盘的关系。
在磁盘重构领域中,任何一次RAID分解产生的针对某单个磁盘的读操作如果返回失败,则主机的读请求需重新按降级模式再次执行;如果针对某单个磁盘的写操作返回失败,主机认为此次写操作成功,同时把返回失败的磁盘标记为故障磁盘。不论是读操作还是写操作,只要有某个磁盘失败,则系统根据用户的设置启动重构(“根据用户设置”是指如果用户设置磁盘失败后自动启动重构则此时启动重构,如果用户设置磁盘失败后由用户启动重构则此时不启动重构)。
本发明一种磁盘阵列重构方法,包括以下步骤:
a、设定一个失败比例门限值N,对失败磁盘进行抽测,如果该失败比例大于所设定的门限值N,则进行全盘异或重构,如果小于或等于所设定的门限值N,则进入步骤b;
其中,对失败磁盘进行抽测一般采用的是被抽测分条单元号为n倍的分条单元总数×抽测比率(n取值为1、2、3...;且n的取值保证被抽测分条单元号不大于分条单元的最大编号)。
该步骤是为了初步判定磁盘的损坏程度,以决定是进行全盘异或重构还是拷贝结合异或重构,该随机抽值测越大,越能反应磁盘的真实情况,但抽测过程会占用较多的时间,在实际应用中,可以取磁盘分条单元总数的10%-40%,本发明中,该门限值N可以设定为30%。
b、进行拷贝重构;
这是本发明的一个创新思想所在,在磁盘恢复中,仅对失败磁盘上的失败部分进行异或重构,而对其余部分进行直接拷贝,这样,可以节省资源,减少工作量。
c、判断重构是否完成,如果是,结束重构,如果否,则进入下面的步骤d;
d、从失败磁盘未重构的地址最低的分条单元开始向热备份盘拷贝数据;
从失败磁盘未重构的地址最低的分条单元开始向热备份盘拷贝数据,这样能保证对失败磁盘的完全恢复,不会有遗漏。
e、判断读数据是否成功,如果是,返回步骤c,如果否,进入步骤f;
步骤e实际上是统计在拷贝重构中遇见的坏扇区,如果连续遇见的坏扇区数超过指定的数值(X),则在拷贝重构中启动异或重构。
在本步骤中,该判断的方法可以有多种,比如若磁盘表面损坏或读请求超过规定的时间未得到响应,即认为此次读数据失败,此外,利用磁盘的CRC校验也可判定读出的数据是否存在错误。该步骤是由主机一般的读请求来完成的。
f、进行异或重构并启动计数器,对连续读失败的分条单元进行累加计数;
本步骤中,是对连续失败的分条单元进行累加计数,否则此处的计数器置“1”。
g、判断累加结果是否大于所设定的门限值X,如果该结果大于所述的门限值X,则进入步骤h,如果该结果小于或等于所述的门限值X,则返回步骤c;
上述的门限值X不易取得太大,否则在磁盘损坏较为严重的部分,重构过程可能变得十分缓慢;一般情况下X不大于2,一般取值为1,本实施例中,可以给X选值为1。
h、对后续的Y个分条单元进行异或重构,返回步骤b,所述数值Y是与门限值X及门限值N相关的一个数值。
由于磁盘的损坏具有局部性,因此在拷贝过程中若出现分条单元连续读失败的情况,则认为后续Y个分条单元损坏程度较严重,对这Y个分条单元采用异或重构。
上述数值Y是与门限值X及门限值M相关的一个数值,其取值原则为:若抽测结果<5%,则Y=10*X,若5%<=抽测结果<10%,则Y=50*X,若10%<=抽测结果<20%,则Y=200*X;若20%<=抽测结果<=30%,则Y=500*X。
从重构开始到重构结束的整个过程中,主机访问RAID的状态可以分为四种:正常访问、重定向访问、降级访问和不允许访问。对于已重构完的分条,主机按照正常访问模式对其进行访问;对于主机向失败磁盘尚未重构分条的写操作,采用重定向访问模式;对于主机向失败磁盘尚未重构分条的读操作,采用降级访问模式;对于正在重构的分条,主机不能对其进行访问。
关于重定向访问的说明:当主机发来的写请求通过地址映射要更新失败磁盘上的数据时,实际上是将这些数据直接写到热备份盘上,并将相应的分条单元提前重构,同时标记这些分条单元为已重构单元。
本发明通过以上这种方案,利用拷贝和异或相结合的重构方法,加快了重构的进度,减少了对RAID其他成员磁盘的访问,从而改善了重构过程中系统的整体性能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (7)

1、一种磁盘阵列重构方法,其特征在于包括以下步骤:
a、设定一个失败比例门限值N,对失败磁盘进行抽测,如果该失败比例大于所设定的门限值N,则进行全盘异或重构,如果小于或等于所设定的门限值N,则进入步骤b;
b、进行拷贝重构;
c、判断重构是否完成,如果是,结束重构,如果否,则进入步骤d;
d、从失败磁盘未重构的地址最低的分条单元开始向热备份盘拷贝数据;
e、判断读数据是否成功,如果是,返回步骤c,如果否,进入步骤f;
f、进行异或重构并启动计数器,对连续读失败的分条单元进行累加计数;
g、判断累加结果是否大于设定的门限值X,如果大于所述的门限值X,则进入步骤h,如果小于或等于所述的门限值X,则返回步骤c;
h、对后续的Y个分条单元进行异或重构,返回步骤c,所述数值Y是与门限值X及门限值N相关的一个数值。
2、如权利要求1所述的磁盘阵列重构方法,其特征在于所述的步骤a中,所述的抽测可以取磁盘分条单元总数的10%-40%。
3、如权利要求1所述的磁盘阵列重构方法,其特征在于所述的步骤a中门限值N为30%。
4、如权利要求1所述的磁盘阵列重构方法,其特征在于所述的步骤g中,所述的门限值X为1。
5、如权利要求1所述的磁盘阵列重构方法,其特征在于在整个重构过程中,对于已重构完的分条,主机按照正常访问模式对其进行访问。
6、如权利要求1所述的磁盘阵列重构方法,其特征在于在整个重构过程中,对于主机向失败磁盘尚未重构分条的写操作,采用重定向访问模式。
7、如权利要求1所述的磁盘阵列重构方法,其特征在于在整个重构过程中,对于主机向失败磁盘尚未重构分条的读操作,采用降级访问模式。
CN 02146450 2002-11-07 2002-11-07 一种磁盘阵列重构方法 Expired - Fee Related CN1225735C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02146450 CN1225735C (zh) 2002-11-07 2002-11-07 一种磁盘阵列重构方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02146450 CN1225735C (zh) 2002-11-07 2002-11-07 一种磁盘阵列重构方法

Publications (2)

Publication Number Publication Date
CN1499486A true CN1499486A (zh) 2004-05-26
CN1225735C CN1225735C (zh) 2005-11-02

Family

ID=34232741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02146450 Expired - Fee Related CN1225735C (zh) 2002-11-07 2002-11-07 一种磁盘阵列重构方法

Country Status (1)

Country Link
CN (1) CN1225735C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316377C (zh) * 2004-06-03 2007-05-16 华为技术有限公司 一种磁盘阵列结构中的写处理方法
CN100414489C (zh) * 2005-09-02 2008-08-27 普安科技股份有限公司 存储虚拟化控制器的同位引擎及同位引擎产生数据的方法
CN101202077B (zh) * 2006-12-12 2010-12-01 英业达股份有限公司 数据保护方法
CN101237550B (zh) * 2007-02-01 2012-06-27 三星电子株式会社 进行存储器格式化的装置和方法及进行存储的装置和方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316377C (zh) * 2004-06-03 2007-05-16 华为技术有限公司 一种磁盘阵列结构中的写处理方法
CN100414489C (zh) * 2005-09-02 2008-08-27 普安科技股份有限公司 存储虚拟化控制器的同位引擎及同位引擎产生数据的方法
CN101202077B (zh) * 2006-12-12 2010-12-01 英业达股份有限公司 数据保护方法
CN101237550B (zh) * 2007-02-01 2012-06-27 三星电子株式会社 进行存储器格式化的装置和方法及进行存储的装置和方法

Also Published As

Publication number Publication date
CN1225735C (zh) 2005-11-02

Similar Documents

Publication Publication Date Title
US11941257B2 (en) Method and apparatus for flexible RAID in SSD
CN100337209C (zh) 容忍磁盘阵列中多个相关或任意双盘故障的方法和装置
AU654482B2 (en) A dish memory system
CN1300803C (zh) 闪速存储器中驱动再映射的方法及其闪速存储器体系结构
US7640452B2 (en) Method for reconstructing data in case of two disk drives of RAID failure and system therefor
US7206899B2 (en) Method, system, and program for managing data transfer and construction
CN102521068B (zh) 一种固态盘阵列的重建方法
US20020062422A1 (en) Method for rebuilding meta-data in a data storage system and a data storage system
US20070088990A1 (en) System and method for reduction of rebuild time in raid systems through implementation of striped hot spare drives
CN101047010A (zh) 用于最大化raid系统中受保护数据量的方法和系统
US20050091452A1 (en) System and method for reducing data loss in disk arrays by establishing data redundancy on demand
US8402213B2 (en) Data redundancy using two distributed mirror sets
CN1898636A (zh) 用于管理数据更新的方法、系统和程序
CN109032513B (zh) 基于ssd和hdd的raid架构及其备份、重建方法
CN107885620B (zh) 一种提高固态盘阵列性能和可靠性的方法及系统
CN1551202A (zh) 自修复方法和存储系统
CN1253791C (zh) 5级独立冗余磁盘阵列中多盘失败情况下的读写操作方法
US11093339B2 (en) Storage utilizing a distributed cache chain and a checkpoint drive in response to a data drive corruption
US7130973B1 (en) Method and apparatus to restore data redundancy and utilize spare storage spaces
CN1959647A (zh) 建立稳定存储机制的方法
CN1225735C (zh) 一种磁盘阵列重构方法
CN1324474C (zh) 检测用于存储系统中写错误的设备与方法
CN114428592B (zh) Ssd硬盘的块信息存储方法和系统、ssd硬盘
WO2023196696A1 (en) Storage device raid data write intermediate parity system
WO2013023564A9 (en) Method and apparatus for flexible raid in ssd

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170920

Address after: 253600 Shandong city of Dezhou province Leling City Lou Zhen Wang Qiao Cun of No. 32

Patentee after: Wang Shuxing

Address before: 518057 Guangdong city of Shenzhen province Nanshan District Science Park Branch Road No. 1 HUAWEI Service Center Building

Patentee before: Huawei Technologies Co., Ltd.

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

Granted publication date: 20051102

Termination date: 20171107