CN110231999B - 提升基于局部修复编码的存储系统可靠性的方法及装置 - Google Patents

提升基于局部修复编码的存储系统可靠性的方法及装置 Download PDF

Info

Publication number
CN110231999B
CN110231999B CN201910454764.0A CN201910454764A CN110231999B CN 110231999 B CN110231999 B CN 110231999B CN 201910454764 A CN201910454764 A CN 201910454764A CN 110231999 B CN110231999 B CN 110231999B
Authority
CN
China
Prior art keywords
block
data block
bad
packet
repair
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.)
Active
Application number
CN201910454764.0A
Other languages
English (en)
Other versions
CN110231999A (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.)
Huazhong University of Science and Technology
Shenzhen Huazhong University of Science and Technology Research Institute
Original Assignee
Huazhong University of Science and Technology
Shenzhen Huazhong University of Science and Technology Research Institute
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 Huazhong University of Science and Technology, Shenzhen Huazhong University of Science and Technology Research Institute filed Critical Huazhong University of Science and Technology
Priority to CN201910454764.0A priority Critical patent/CN110231999B/zh
Publication of CN110231999A publication Critical patent/CN110231999A/zh
Application granted granted Critical
Publication of CN110231999B publication Critical patent/CN110231999B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system

Landscapes

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

Abstract

本发明公开了一种提升基于局部修复编码的存储系统可靠性的方法及装置,属于计算机存储领域,包括预测调整的步骤和修复回归的步骤;预测调整的步骤包括定期执行如下操作:预测即将发生故障的坏盘,并将其中的所有数据块均标记为坏块;对于每一个坏块Bi,改变分组状态,使得所属的分组Gi内仅保留坏块Bi以及另外一个数据块,且其余数据块被转移,相应更新局部校验块;修复回归的步骤包括:执行修复操作;若修复所得的数据块B被标记为坏块,则将其标记为好块,并在所属分组G中的数据块发生了转移时,将被转移的数据块转移回分组G,并相应更新局部校验块。本发明能够提高基于局部修复编码的存储系统的降级读性能和数据修复性能,从而提升系统可靠性。

Description

提升基于局部修复编码的存储系统可靠性的方法及装置
技术领域
本发明属于计算机存储领域,更具体地,涉及一种提升基于局部修复编码的存储系统可靠性的方法及装置。
背景技术
随着信息技术的快速发展,需要存储的数据量不断增大,存储系统的规模也日益增大,廉价存储设备的应用也逐渐变得广泛。而随着规模的增大、廉价磁盘数目的增多,存储系统中磁盘发生故障的概率也在上升,从而导致存储系统的可靠性面临严峻的挑战。为了保证存储系统的可靠性,大多数存储系统都使用了容错技术。副本技术和纠删码技术是存储系统中常用的两种容错系统。副本技术是指通过复制原数据并存储其副本,以保障当发生任意小于副本数目的错误时,都可以通过备份的副本来保障数据的完整性和可靠性;副本技术简单、易于实现,且恢复速度极快,但是,副本技术的开销过大,需要许多的冗余存储。纠删码技术则是通过相应的编码算法来生成少量的冗余数据,并与原数据一起存储,当故障发生时,则通过对应的解码算法对于剩余数据和冗余数据进行计算可到原数据;纠删码技术解决了副本技术中存在的冗余存储过多的问题,同时能够在一定程度上保证数据的完整性和可靠性,因此是目前存储系统中主流的用于保证系统可靠性的技术。
局部修复编码(LRC,locally repairable codes)是一种纠删码,能够实现存储高可用性,已经被应用在Windows Azure和Facebook的HDFS RAID等多种存储系统中。LRC编码不仅生成一些全局的校验块(与传统编码方案相似)来提供可靠性,它还将数据块进行分组,并在每个组内生成一个局部的校验块,最终由数据块、对应的全局校验块和局部校验块共同构成一个条带。在降级读操作和数据修复操作中,会优先使用被修复数据块所在分组内的数据块和局部校验块完成修复操作,因此,局部修复编码能够有效提升系统的降级读性能和数据修复性能,进而能够提升存储系统的可靠性。
局部修复编码通过尽量将降级读操作和数据修复操作限制在一个分组内,虽然能够在一定程度上提升存储系统的可靠性,但是,随着存储规模的不断增大,分组规模也较大,在降级读操作和数据修复操作中仍需要读取较多的数据块/校验块,因而耗时较长,由于在恢复过程中存储系统出错的概率较大,较长的操作时长会影响存储系统整体的可靠性。因此,现有的基于局部修复编码的存储系统的可靠性仍需要进一步提升。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种提升基于局部修复编码的存储系统可靠性的方法及装置,其目的在于,提高基于局部修复编码的存储系统的降级读性能和数据修复性能,从而提升系统可靠性。
为实现上述目的,按照本发明的一个方面,提供了一种提升基于局部修复编码的存储系统可靠性的方法,包括预测调整的步骤和修复回归的步骤;
预测调整的步骤包括:
(S1)预测存储系统中即将发生故障的坏盘,并将每一个坏盘上的所有数据块均标记为坏块;
(S2)对于每一个坏块Bi,改变分组状态,使得坏块Bi所属的分组Gi内仅保留坏块Bi以及另外一个数据块,并且分组Gi内其余的数据块均被转移至同一条带内的其他分组,更新状态发生改变的分组的局部校验块;
(S3)经过预设的时间间隔后,转入步骤(S1);
修复回归的步骤包括:
(T1)针对待修复的数据块B执行修复操作,若修复成功,则转入步骤(T2);否则,转入步骤(T4);
(T2)若数据块B被标记为坏块,则将数据块B标记为好块后转入步骤(T3);否则,转入步骤(T4);
(T3)判断数据块B所属分组G中的数据块是否发生了转移,若是,则将被转移的数据块转移回分组G,并更新状态发生改变的分组的局部校验块后转入步骤(T4);若否,则直接转入步骤(T4);
(T4)对数据块B的修复结束;
其中,各数据块在初始时刻均被标记为好块。
本发明在原有的局部修复编码的基础上,定期对存储系统进行磁盘故障预测,并结合预测结果对条带内的分组状态进行调整,使得坏块所在的分组变小,由于通过磁盘故障预测所确定的坏块极有可能发生数据丢失,通过上述调整,当数据丢失时,降级读和数据修复过程中仅需要读取分组中少量的数据块,由此能够大幅提升存储系统的降级读性能和数据修复性能,进而有效提升了存储系统的可靠性。
结合上述修复回归的步骤,本发明在提升存储系统可靠性的同时,保持了与原有修复码编码相同的存储开销和编码结构。
进一步地,对于坏块Bi,步骤(S2)中改变分组状态的方法包括:
在分组Gi内仅保留坏块Bi以及另外一个数据块,将其余的数据块作为被转移数据块;
在坏块Bi所属的条带Si内随机选择一个分组作为转移的目的分组,将所有被转移数据块均转移至该目的分组中。
进一步地,对于坏块Bi,步骤(S2)中,更新状态发生改变的分组的局部校验块,其方法包括:
对被转移数据块进行异或操作,以得到更新块;
将更新块传输至源分组磁盘以更新分组Gi的局部校验块,并将更新块传输至目的分组磁盘以更新目的分组的局部校验块;
其中,源分组磁盘为存储有分组Gi的局部校验块的磁盘,目的分组磁盘为存储有目的分组的局部校验块的磁盘。
本发明通过将被转移数据块均转移至一个分组中,并利用网络编码技术,即在本地使用对应的数据块进行计算,生成校验块的更新块,仅传输该更新块即完成对局部校验块的更新,由此能够减少网络传输开销,加快了相关操作的速度。
进一步地,对于坏块Bi,步骤(S2)中改变分组状态的方法包括:
在分组Gi内仅保留坏块Bi以及另外一个数据块,将其余的数据块作为被转移数据块;
将分组Gi所属条带内的其余分组均作为转移的目的分组,将被转移数据块平均地转移到各目的分组中。
进一步地,对于坏块Bi,步骤(S2)中,更新分组Gi的局部校验块的方法包括:
对被转移数据块进行异或操作,以得到更新块;
将更新块传输至源分组磁盘以更新分组Gi的局部校验块;
其中,源分组磁盘为存储有分组Gi的局部校验块的磁盘。
本发明通过将被转移数据块平均地转移到多个分组中,能够避免其余分组中因数据块过多而导致坏块性能下降,从而保证系统整体可靠性较高。
进一步地,步骤(S2)中,所有条带内的分组状态改变并发执行。
本发明中,所有条带的分组状态改变并发执行,能够有效提升分组状态改变的操作速度。
进一步地,步骤(T1)中,针对待修复的数据块B执行修复操作,包括:
(T11)获得被修复数据块B所属的分组G,利用分组G内的数据块和局部校验块修复数据块B,若修复成功,则操作结束;否则,转入步骤(T12);
(T12)获得数据块B所属的条带S,利用条带S的数据块和全局校验块修复数据块B,若修复成功,则操作结束;否则,修复失败,操作结束。
按照本发明的另一方面,提供了一种提升基于局部修复编码的存储系统可靠性的装置,包括:预测调整模块和修复回归模块;
预测调整模块包括:预测单元、分组调整单元以及定时单元;
预测单元,用于预测存储系统中即将发生故障的坏盘,并将每一个坏盘上的所有数据块均标记为坏块;
分组调整单元,用于在预测单元标记完坏块后,对于每一个坏块Bi,改变分组状态,使得坏块Bi所属的分组Gi内仅保留坏块Bi以及另外一个数据块,并且分组Gi内其余的数据块均被转移至同一条带内的其他分组,更新状态发生改变的分组的局部校验块;
定时单元,用于在经过预设的时间间隔后,通知预测单元执行新一轮的操作;
修复回归模块包括:修复模块、状态标记模块以及编码回归单元;
修复模块,用于针对待修复的数据块B执行修复操作;
状态标记模块,用于判定数据块B的状态,并在数据块B被标记为坏块时,将数据块B标记为好块;
编码回归单元,用于在状态标记模块判定数据块B被标记为坏块时,判断数据块B所属分组G中的数据块是否发生了转移,并在判定分组G中的数据块发生了转移时,将被转移的数据块转移回分组G,并更新状态发生改变的分组的局部校验块;
其中,各数据块在初始时刻均被标记为好块。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明所提供的提升基于局部修复编码的存储系统可靠性的方法及装置,在原有的局部修复编码的基础上,定期对存储系统进行磁盘故障预测,并结合预测结果对条带内的分组状态进行调整,使得坏块所在的分组变小,由此能够大幅提升存储系统的降级读性能和数据修复性能,进而有效提升了存储系统的可靠性。
(2)本发明所提供的提升基于局部修复编码的存储系统可靠性的方法及装置,在其优选方案中,并利用网络编码技术,仅需传输一个更新块即完成对局部校验块的更新,由此能够减少网络传输开销,加快了相关操作的速度,从而提升系统的整体性能。
(3)本发明所提供的提升基于局部修复编码的存储系统可靠性的方法及装置,在其优选方案中,各条带中分组状态改变的过程并发执行,由此能够有效提升分组状态改变的操作速度,从而提升系统的整体性能。
附图说明
图1为本发明实施例提供的提升基于局部修复编码的存储系统可靠性的方法示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在基于局部修复编码的存储系统中,对于每一个条带,LRC将其所有k个数据块使用Reed-Solomon码进行编码,生成r个全局校验块;同时,LRC将这k个数据块分为m组,每组有k/m个数据块,然后每组将自己所有的k/m个数据块通过异或额外生成一个局部校验块,由数据块、对应的全局校验块和局部校验块组成了一个条带。
以图1所示的一个条带为例,各参数具体为,k=6、m=2、r=2;通过执行LRC编码,6个数据块D1,D2,D3,D4,D5,D6生成了两个全局校验块P1,P2;这6个数据块分为两组,第一组的3个数据块D1,D2,D3生成局部校验块Q1,第二组的3个数据块D4,D5,D6生成局部校验块Q2,这些数据块与校验块组成了一个条带。
本发明所提供的提升基于局部修复编码的存储系统可靠性的方法,包括预测调整的步骤和修复回归的步骤;
预测调整的步骤包括:
(S1)预测存储系统中即将发生故障的坏盘,并将每一个坏盘上的所有数据块均标记为坏块;
如图1所示,假设在当前磁盘故障预测中,数据块D1所在的磁盘被预测为即将发生故障的坏块,则将数据块D1标记为坏块;
其中,进行磁盘故障预测时,具体可使用决策树算法、人工神经网络等方法任意一种可行的磁盘故障预测方法;
(S2)对于每一个坏块Bi,改变分组状态,使得坏块Bi所属的分组Gi内仅保留坏块Bi以及另外一个数据块,并且分组Gi内其余的数据块均被转移至同一条带内的其他分组,更新状态发生改变的分组的局部校验块;
在一个可选的实施方式中,对于坏块Bi,步骤(S2)中改变分组状态的方法包括:
在分组Gi内仅保留坏块Bi以及另外一个数据块,将其余的数据块作为被转移数据块;
在坏块Bi所属的条带Si内随机选择一个分组作为转移的目的分组,将所有被转移数据块均转移至该目的分组中;
可选地,对于坏块Bi,步骤(S2)中,更新状态发生改变的分组的局部校验块,其方法包括:
对被转移数据块进行异或操作,以得到更新块;
将更新块传输至源分组磁盘以更新分组Gi的局部校验块,并将更新块传输至目的分组磁盘以更新目的分组的局部校验块;
其中,源分组磁盘为存储有分组Gi的局部校验块的磁盘,目的分组磁盘为存储有目的分组的局部校验块的磁盘;
通过将被转移数据块均转移至一个分组中,并利用网络编码技术,即在本地使用对应的数据块进行计算,生成校验块的更新块,仅传输该更新块即完成对局部校验块的更新,由此能够减少网络传输开销,加快了相关操作的速度;
在本实施例中,基于上述改变分组状态的策略,如图1所示,对于坏块D1,通过调整该条带的分组状态来使得第一个分组中仅包含D1与D2,原先与D1位于同一分组的D3则移动至第二个分组中;并且我们用D3对第一个分组中的校验块Q1进行更新生成Q’1,并对第二个分组的校验块Q2进行更新生成Q’2;由于被转移数据块只有一个,该数据块D3即为更新块,直接传输即可更新状态发生改变的两个分组的校验块;
(S3)经过预设的时间间隔后,转入步骤(S1);
具体的时间间隔,可根据实际的系统可靠性需求设置为1天、1周等;
修复回归的步骤包括:
(T1)针对待修复的数据块B执行修复操作,若修复成功,则转入步骤(T2);否则,转入步骤(T4);
在一个可选的实施方式中,步骤(T1)中,针对待修复的数据块B执行修复操作,包括:
(T11)获得被修复数据块B所属的分组G,利用分组G内的数据块和局部校验块修复数据块B,若修复成功,则操作结束;否则,转入步骤(T12);
如图1所示,当D1所在的磁盘发生故障时,数据块D1丢失;这时使用第一个分组中的D2以及校验块Q’1进行异或操作,恢复出原来的数据块D1;大大提升了修复速度,增加了系统可靠性;
(T12)获得数据块B所属的条带S,利用条带S的数据块和全局校验块修复数据块B,若修复成功,则操作结束;否则,修复失败,操作结束;
(T2)若数据块B被标记为坏块,则将数据块B标记为好块后转入步骤(T3);否则,转入步骤(T4);
(T3)判断数据块B所属分组G中的数据块是否发生了转移,若是,则将被转移的数据块转移回分组G,并更新状态发生改变的分组的局部校验块后转入步骤(T4);若否,则直接转入步骤(T4);
如图1所示,修复成功后,将数据块D3移回第一个分组,并使用数据块D3对第二个分组的校验块Q’2进行更新,生成校验块Q2,同时使用数据块D3对第一个分组中的校验块Q’1进行更新,生成校验块Q1;
同样地,在步骤(T3)中,更新状态发生改变的分组的局部校验块的方法也可利用网络编码技术,即在本地使用对应的数据块进行计算,生成校验块的更新块,传输该更新块以完成对局部校验块的更新;
通过上述操作,在修复完成后,分组状态将回归到原始的LRC;
(T4)对数据块B的修复结束;
其中,各数据块在初始时刻均被标记为好块。
上述提升基于局部修复编码的存储系统可靠性的方法,在原有的局部修复编码的基础上,定期对存储系统进行磁盘故障预测,并结合预测结果对条带内的分组状态进行调整,使得坏块所在的分组变小,由于通过磁盘故障预测所确定的坏块极有可能发生数据丢失,通过上述调整,当数据丢失时,降级读和数据修复过程中仅需要读取分组中少量的数据块,由此能够大幅提升存储系统的降级读性能和数据修复性能,进而有效提升了存储系统的可靠性。
结合上述修复回归的步骤,本发明在提升存储系统可靠性的同时,保持了与原有修复码编码相同的存储开销和编码结构。
在另一个可选的实施方式中,上述提升基于局部修复编码的存储系统可靠性的方法,对于坏块Bi,步骤(S2)中改变分组状态的方法包括:
在分组Gi内仅保留坏块Bi以及另外一个数据块,将其余的数据块作为被转移数据块;
将分组Gi所属条带内的其余分组均作为转移的目的分组,将被转移数据块平均地转移到各目的分组中;
可选地,对于坏块Bi,步骤(S2)中,更新分组Gi的局部校验块的方法包括:
对被转移数据块进行异或操作,以得到更新块;
将更新块传输至源分组磁盘以更新分组Gi的局部校验块;
其中,源分组磁盘为存储有分组Gi的局部校验块的磁盘。
通过将被转移数据块平均地转移到多个分组中,能够避免其余分组中因数据块过多而导致坏块性能下降,从而保证系统整体可靠性较高。
在一个可选的实施方式中,上述提升基于局部修复编码的存储系统可靠性的方法,步骤(S2)中,所有条带内的分组状态改变并发执行,由此能够有效提升分组状态改变的操作速度,提升系统的整体性能。
本发明还提供了一种提升基于局部修复编码的存储系统可靠性的装置,用于上述执行提升基于局部修复编码的存储系统可靠性的方法各步骤,该装置包括:预测调整模块和修复回归模块;
预测调整模块包括:预测单元、分组调整单元以及定时单元;
预测单元,用于预测存储系统中即将发生故障的坏盘,并将每一个坏盘上的所有数据块均标记为坏块;
分组调整单元,用于在预测单元标记完坏块后,对于每一个坏块Bi,改变分组状态,使得坏块Bi所属的分组Gi内仅保留坏块Bi以及另外一个数据块,并且分组Gi内其余的数据块均被转移至同一条带内的其他分组,更新状态发生改变的分组的局部校验块;
定时单元,用于在经过预设的时间间隔后,通知预测单元执行新一轮的操作;
修复回归模块包括:修复模块、状态标记模块以及编码回归单元;
修复模块,用于针对待修复的数据块B执行修复操作;
状态标记模块,用于判定数据块B的状态,并在数据块B被标记为坏块时,将数据块B标记为好块;
编码回归单元,用于在状态标记模块判定数据块B被标记为坏块时,判断数据块B所属分组G中的数据块是否发生了转移,并在判定分组G中的数据块发生了转移时,将被转移的数据块转移回分组G,并更新状态发生改变的分组的局部校验块;
其中,各数据块在初始时刻均被标记为好块;
在本实施例中,各模块的具体实施方式可参考上述方法实施例中的描述,在此将不作复述。
总体而言,本发明所提供的提升基于局部修复编码的存储系统可靠性的方法及系统,在维持LRC编码结构和存储开销不变的前提下,利用磁盘故障预测技术的结果来对LRC编码的分组大小进行改变,从而提升了系统的可靠性以及降级读和修复性能,并利用网络编码技术降低了状态调整的开销。实验表明,相对于传统LRC来说,基于本发明,降级读性能可提升46.8%,磁盘修复修能可提升47.5%,存储系统可靠性可提升113%。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种提升基于局部修复编码的存储系统可靠性的方法,其特征在于,包括预测调整的步骤和修复回归的步骤;
所述预测调整的步骤包括:
(S1)预测存储系统中即将发生故障的坏盘,并将每一个坏盘上的所有数据块均标记为坏块;
(S2)对于每一个坏块Bi,改变分组状态,使得所述坏块Bi所属的分组Gi内仅保留所述坏块Bi以及另外一个数据块,并且所述分组Gi内其余的数据块均被转移至同一条带内的其他分组,更新状态发生改变的分组的局部校验块;
(S3)经过预设的时间间隔后,转入步骤(S1);
所述修复回归的步骤包括:
(T1)针对待修复的数据块B执行修复操作,若修复成功,则转入步骤(T2);否则,转入步骤(T4);
(T2)若所述数据块B被标记为坏块,则将所述数据块B标记为好块后转入步骤(T3);否则,转入步骤(T4);
(T3)判断所述数据块B所属分组G中的数据块是否发生了转移,若是,则将被转移的数据块转移回所述分组G,并更新状态发生改变的分组的局部校验块后转入步骤(T4);若否,则直接转入步骤(T4);
(T4)对所述数据块B的修复结束;
其中,各数据块在初始时刻均被标记为好块。
2.如权利要求1所述的提升基于局部修复编码的存储系统可靠性的方法,其特征在于,对于坏块Bi,所述步骤(S2)中改变分组状态的方法包括:
在所述分组Gi内仅保留所述坏块Bi以及另外一个数据块,将其余的数据块作为被转移数据块;
在所述坏块Bi所属的条带Si内随机选择一个分组作为转移的目的分组,将所有被转移数据块均转移至该目的分组中。
3.如权利要求2所述的提升基于局部修复编码的存储系统可靠性的方法,其特征在于,对于所述坏块Bi,所述步骤(S2)中,更新状态发生改变的分组的局部校验块,其方法包括:
对被转移数据块进行异或操作,以得到更新块;
将所述更新块传输至源分组磁盘以更新所述分组Gi的局部校验块,并将所述更新块传输至目的分组磁盘以更新所述目的分组的局部校验块;
其中,所述源分组磁盘为存储有所述分组Gi的局部校验块的磁盘,所述目的分组磁盘为存储有所述目的分组的局部校验块的磁盘。
4.如权利要求1所述的提升基于局部修复编码的存储系统可靠性的方法,其特征在于,对于坏块Bi,所述步骤(S2)中改变分组状态的方法包括:
在所述分组Gi内仅保留所述坏块Bi以及另外一个数据块,将其余的数据块作为被转移数据块;
将所述分组Gi所属条带内的其余分组均作为转移的目的分组,将被转移数据块平均地转移到各目的分组中。
5.如权利要求4所述的提升基于局部修复编码的存储系统可靠性的方法,其特征在于,对于所述坏块Bi,所述步骤(S2)中,更新所述分组Gi的局部校验块的方法包括:
对被转移数据块进行异或操作,以得到更新块;
将所述更新块传输至源分组磁盘以更新所述分组Gi的局部校验块;
其中,所述源分组磁盘为存储有所述分组Gi的局部校验块的磁盘。
6.如权利要求1所述的提升基于局部修复编码的存储系统可靠性的方法,其特征在于,所述步骤(S2)中,所有条带内的分组状态改变并发执行。
7.如权利要求1-6任一项所述的提升基于局部修复编码的存储系统可靠性的方法,其特征在于,所述步骤(T1)中,针对待修复的数据块B执行修复操作,包括:
(T11)获得被修复数据块B所属的分组G,利用所述分组G内的数据块和局部校验块修复所述数据块B,若修复成功,则操作结束;否则,转入步骤(T12);
(T12)获得所述数据块B所属的条带S,利用所述条带S的数据块和全局校验块修复所述数据块B,若修复成功,则操作结束;否则,修复失败,操作结束。
8.一种提升基于局部修复编码的存储系统可靠性的装置,其特征在于,包括:预测调整模块和修复回归模块;
所述预测调整模块包括:预测单元、分组调整单元以及定时单元;
所述预测单元,用于预测存储系统中即将发生故障的坏盘,并将每一个坏盘上的所有数据块均标记为坏块;
所述分组调整单元,用于在所述预测单元标记完坏块后,对于每一个坏块Bi,改变分组状态,使得所述坏块Bi所属的分组Gi内仅保留所述坏块Bi以及另外一个数据块,并且所述分组Gi内其余的数据块均被转移至同一条带内的其他分组,更新状态发生改变的分组的局部校验块;
所述定时单元,用于在经过预设的时间间隔后,通知所述预测单元执行新一轮的操作;
所述修复回归模块包括:修复模块、状态标记模块以及编码回归单元;
所述修复模块,用于针对待修复的数据块B执行修复操作;
所述状态标记模块,用于判定所述数据块B的状态,并在所述数据块B被标记为坏块时,将所述数据块B标记为好块;
所述编码回归单元,用于在所述状态标记模块判定所述数据块B被标记为坏块时,判断所述数据块B所属分组G中的数据块是否发生了转移,并在判定所述分组G中的数据块发生了转移时,将被转移的数据块转移回所述分组G,并更新状态发生改变的分组的局部校验块;
其中,各数据块在初始时刻均被标记为好块。
CN201910454764.0A 2019-05-29 2019-05-29 提升基于局部修复编码的存储系统可靠性的方法及装置 Active CN110231999B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910454764.0A CN110231999B (zh) 2019-05-29 2019-05-29 提升基于局部修复编码的存储系统可靠性的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910454764.0A CN110231999B (zh) 2019-05-29 2019-05-29 提升基于局部修复编码的存储系统可靠性的方法及装置

Publications (2)

Publication Number Publication Date
CN110231999A CN110231999A (zh) 2019-09-13
CN110231999B true CN110231999B (zh) 2020-05-19

Family

ID=67858701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910454764.0A Active CN110231999B (zh) 2019-05-29 2019-05-29 提升基于局部修复编码的存储系统可靠性的方法及装置

Country Status (1)

Country Link
CN (1) CN110231999B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835738B (zh) * 2021-02-20 2022-05-20 华中科技大学 一种条带数据存储结构的构建方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012792A (zh) * 2010-11-02 2011-04-13 华中科技大学 一种快速重构的raid-6编码及重构方法
CN106445726A (zh) * 2016-09-28 2017-02-22 上海爱数信息技术股份有限公司 一种分布式纠删码存储系统的数据修复方法
CN107678694A (zh) * 2017-10-17 2018-02-09 深圳大普微电子科技有限公司 Raid条带重建方法及固态盘
WO2018177532A1 (en) * 2017-03-31 2018-10-04 Abb Schweiz Ag Filter for high-voltage power converters

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006054206A2 (en) * 2004-11-16 2006-05-26 Koninklijke Philips Electronics N.V. Method of determining a corruption indication of a sequence of encoded data frames
CN104461771A (zh) * 2014-11-03 2015-03-25 北京百度网讯科技有限公司 数据备份处理方法和装置
GB201616704D0 (en) * 2016-08-08 2016-11-16 Norwegian University Of Science And Technology (Ntnu) Regenerating - locally repairable codes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012792A (zh) * 2010-11-02 2011-04-13 华中科技大学 一种快速重构的raid-6编码及重构方法
CN106445726A (zh) * 2016-09-28 2017-02-22 上海爱数信息技术股份有限公司 一种分布式纠删码存储系统的数据修复方法
WO2018177532A1 (en) * 2017-03-31 2018-10-04 Abb Schweiz Ag Filter for high-voltage power converters
CN107678694A (zh) * 2017-10-17 2018-02-09 深圳大普微电子科技有限公司 Raid条带重建方法及固态盘

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"On the Maximal Code Length of Optimal Linear LRC Codes with Availability";Stanislav Kruglik, Kamilla Nazirkhanova and Alexey Frolov;《2018 Engineering and Telecommunication(Ent-MIPT)》;20181116;第54-57页 *
"一类最优局部修复码的构造";蒋静、王金玉;《科技创新导报》;20190201(第04期);第88-91,93页 *

Also Published As

Publication number Publication date
CN110231999A (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
CN108540520B (zh) 基于部分重复码的局部性修复编码及节点故障修复方法
US11216196B2 (en) Erasure coding magnetic tapes for minimum latency and adaptive parity protection feedback
CN103944981B (zh) 一种基于纠删码技术改进的云存储系统及实现方法
CN111149093B (zh) 分布式存储系统的数据编码、解码及修复方法
CN103119563B (zh) 在固态存储器设备中的解码
CN102981927B (zh) 分布式独立冗余磁盘阵列存储方法及分布式集群存储系统
CN112835738B (zh) 一种条带数据存储结构的构建方法
CN109814807B (zh) 一种数据存储方法及装置
CN110515541B (zh) 分布式存储中纠删码非对齐数据更新方法
CN105635252B (zh) 一种Hadoop分布式文件系统HDFS纠删码冗余备份方法
CN110427156B (zh) 一种基于分片的mbr的并行读方法
CN102520890B (zh) 基于gpu的rs-draid系统及存储设备数据控制方法
CN103761195A (zh) 一种利用分布式数据编码的存储方法
CN111831223B (zh) 提高数据去重系统可扩展性的容错编码方法、装置及系统
US12008263B2 (en) Garbage collection and data storage method and apparatus, and storage system
CN110058965B (zh) 存储系统中的数据重建方法及设备
WO2023103213A1 (zh) 一种分布式数据库的数据存储方法和装置
CN115098021A (zh) 用于写入数据的方法、设备和计算机程序产品
CN102932331A (zh) 应用于分布式存储系统的超安存编解码方法
CN110231999B (zh) 提升基于局部修复编码的存储系统可靠性的方法及装置
CN116501553A (zh) 数据恢复方法、装置、系统、电子设备及存储介质
CN107153661A (zh) 一种基于hdfs系统的数据的存储、读取方法及其装置
US8832395B1 (en) Storage system, and method of storage control for storage system
CN109947587B (zh) 非均匀故障保护的分组修复码构造方法及故障修复方法
CN114138526A (zh) 一种面向内存键值纠删码的混合数据更新方法及存储系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant