CN112783689B - 一种基于lrc编码的部分条带写优化方法及装置 - Google Patents
一种基于lrc编码的部分条带写优化方法及装置 Download PDFInfo
- Publication number
- CN112783689B CN112783689B CN202110184332.XA CN202110184332A CN112783689B CN 112783689 B CN112783689 B CN 112783689B CN 202110184332 A CN202110184332 A CN 202110184332A CN 112783689 B CN112783689 B CN 112783689B
- Authority
- CN
- China
- Prior art keywords
- block
- target
- stripe
- storage array
- cloud storage
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于LRC编码的部分条带写优化方法及装置,该方法包括:获取读写请求和云存储阵列的位图;根据所述位图对所述读写请求进行预处理,以识别获得所述读写请求中的部分条带写请求;响应所述部分条带写请求,根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块;对所述目标块进行计算得到新校验块,并将所述新校验块写入所述云存储阵列中。通过实施本申请,能解决现有技术中存在的额外的传输开销和总线负载、导致系统的传输效率、服务质量以传输可靠性降低等问题。
Description
技术领域
本申请涉及内存管理技术领域,特别是涉及一种基于LRC编码的部分条带写优化方法及装置。
背景技术
在云存储阵列中,通常使用纠删码来提高存储阵列的可靠性,纠删码在提供高可靠性的同时,也保证了存储开销。其中,LRC(local reconstruction codes)是一种非常流行的纠删码,它通过使用局部校验和全局校验的方式提供了比传统纠删码更好的恢复性能。
然而在纠删码存储阵列中,一个典型的问题就是部分条带写。所谓的部分条带写是指一次写操作请求并不是完整地写一个条带,而是写一个条带中的某些块。部分条带写相比于全条带写会带来严重的性能下降。在全条带写中,仅需根据本次写的所有数据块的新值计算出校验块,然后将这些数据块和校验块一起写入存储阵列中,此过程不需要读操作。然而在部分条带写中,由于校验块不可以由本次写操作的所有数据块的新值直接计算得出,需要从存储阵列中去读条带中已存在的数据块和校验块的旧值,使用这些数据块和校验块的旧值和本次写操作的数据块的新值计算得出新校验块,再将新校验块写入存储阵列中,此过程中需要读操作。
由此可知,部分条带写所需要的读操作会带来额外的传输开销,从而增加总线负载,还可能会导致其他必要的传输效率下降,降低整个存储系统的服务质量,并且大量的数据传输对传输的可靠性带来了调整,不利于保证系统的可靠性。
发明内容
为克服上述现有技术存在的不足,本申请之目的在于提供一种基于LRC编码的部分条带写优化方法及装置,能解决现有部分条带写方案中存在的增加额外的传输开销和总线负载、导致系统的传输效率及可靠性下降等问题。
为达上述及其它目的,本申请提出一种基于LRC编码的部分条带写优化方法,包括如下步骤:
获取读写请求,所述读写请求为用于请求在目标条带的目标地址处进行目标数据块的读写请求;
获取云存储阵列的位图,所述位图记录有所述云存储阵列中存放于每个条带的数据块的状态信息;
根据所述位图对所述读写请求进行预处理,以识别获得所述读写请求中的部分条带写请求;
响应所述部分条带写请求,根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块,所述目标块包括以下中的至少一项:数据块、局部校验块和全局校验块;
对所述目标块进行计算得到新校验块,并将所述新校验块写入所述云存储阵列中。
可选的,所述根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块包括:
根据DRPS算法,通过存储阵列控制器从云存储阵列中读取所述部分条带写请求对应的目标块;
其中,所述存储阵列控制器中记录有云存储阵列的元数据,所述元数据包括LRC编码的编码参数、所述云存储阵列中每个条带的局部校验块的读写开销和全局校验块的读写开销。
可选的,所述根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块包括:
根据所述读写请求,确定所述DRPS算法对应的输入参数,所述输入参数包括:所述目标条带中已存在的数据块的总个数μ、所述目标条带中已存在的需要更新的数据块的个数θ、所述部分条带写请求对应的局部条带的个数β、所述目标条带中全局校验块的个数γ、读所述数据块所在的数据盘和所述局部校验块所在的局部校验盘的代价Rl及读所述全局校验块所在的全局校验盘的代价Rg;
调用DRPS算法,根据所述输入参数从云存储阵列中读取对应的目标块。
可选的,所述调用DRPS算法,根据所述输入参数从云存储阵列中读取对应的目标块包括:
如果所述输入参数满足预设第一条件,则遍历所述目标条带中的数据块和局部校验块;
如果所述目标条带中的数据块满足预设第二条件,则从云存储阵列中读取所述数据块;
如果所述局部校验块满足预设第三条件,则从云存储阵列中读取所述局部校验块;
如果所述目标条带中的数据块不满足预设第二条件,和/或所述局部校验块不满足预设第三条件,则从云存储阵列中读取所述目标条带中的全局校验块;
其中,所述预设第一条件与所述输入参数有关,所述预设第二条件包括所述目标条带中的数据块不为空,且当前需要更新所述数据块;所述预设第三条件包括所述局部校验块需要修改,且所述局部校验块所在的局部条带被部分条带写。
可选的,所述调用DRPS算法,根据所述输入参数通过存储阵列控制器读取对应的目标块包括:
如果所述输入参数不满足预设第一条件,则遍历所述目标条带中的数据块;
如果所述目标条带中的数据块满足预设第四条件,则从云存储阵列中读取所述数据块;
其中,所述预设第四条件包括所述目标条带中的数据块不为空,且当前不需要更新所述数据块。
为达上述及其它目的,本申请还提出一种基于LRC编码的部分条带写优化装置,包括:
获取单元,用于获取读写请求和云存储阵列的位图,其中所述读写请求为用于请求在目标条带的目标地址处进行目标数据块的读写请求,所述位图记录有所述云存储阵列中存放于每个条带的数据块的状态信息;
预处理单元,用于根据所述位图对所述读写请求进行预处理,以识别获得所述读写请求中的部分条带写请求;
读取单元,用于响应所述部分条带写请求,根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块,所述目标块包括以下中的至少一项:数据块、局部校验块和全局校验块;
处理单元,用于对所述目标块进行计算得到新校验块,并将所述新校验块写入所述云存储阵列中。
可选的,所述读取单元具体用于:
根据DRPS算法,通过存储阵列控制器从云存储阵列中读取所述部分条带写请求对应的目标块;
其中,所述存储阵列控制器中记录有云存储阵列的元数据,所述元数据包括LRC编码的编码参数、所述云存储阵列中每个条带的局部校验块的读写开销和全局校验块的读写开销。
可选的,所述读取单元具体用于:
根据所述读写请求,确定所述DRPS算法对应的输入参数,所述输入参数包括:所述目标条带中已存在的数据块的总个数μ、所述目标条带中已存在的需要更新的数据块的个数θ、所述部分条带写请求对应的局部条带的个数β、所述目标条带中全局校验块的个数γ、读所述数据块所在的数据盘和所述局部校验块所在的局部校验盘的代价Rl及读所述全局校验块所在的全局校验盘的代价Rg;
调用DRPS算法,根据所述输入参数从云存储阵列中读取对应的目标块。
可选的,所述读取单元具体用于:
如果所述输入参数满足预设第一条件,则遍历所述目标条带中的数据块和局部校验块;
如果所述目标条带中的数据块满足预设第二条件,则从云存储阵列中读取所述数据块;
如果所述局部校验块满足预设第三条件,则从云存储阵列中读取所述局部校验块;
如果所述目标条带中的数据块不满足预设第二条件,和/或所述局部校验块不满足预设第三条件,则从云存储阵列中读取所述目标条带中的全局校验块;
其中,所述预设第一条件与所述输入参数有关,所述预设第二条件包括所述目标条带中的数据块不为空,且当前需要更新所述数据块;所述预设第三条件包括所述局部校验块需要修改,且所述局部校验块所在的局部条带被部分条带写。
可选的,所述读取单元具体用于:
如果所述输入参数不满足预设第一条件,则遍历所述目标条带中的数据块;
如果所述目标条带中的数据块满足预设第四条件,则从云存储阵列中读取所述数据块;
其中,所述预设第四条件包括所述目标条带中的数据块不为空,且当前不需要更新所述数据块。
由上可见本申请提供了一种基于LRC编码的部分条带写优化方法及装置,能达到以下有益效果:本申请综合考虑LRC编码的局部校验和全局校验,从优化部分条带写中的读开销的角度出发动态地优化LRC编码阵列中的部分条带写的性能,能有效解决现有部分条带写方案中存在的额外的传输开销和总线负载、导致系统的传输效率、服务质量以传输可靠性降低等问题。
附图说明
图1是本申请实施例提供的一种基于LRC编码的部分条带写优化方法的流程示意图。
图2是本申请实施例提供的一种位图示意图。
图3是本申请实施例提供的一种DRPS算法的代码流程示意图。
图4是本申请实施例提供的一种基于LRC编码的部分条带写优化的流程示意图。
图5是本申请实施例提供的一种基于LRC编码的部分条带写优化装置的结构示意图。
具体实施方式
以下通过特定的具体实例并结合附图说明本申请的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本申请的其它优点与功效。本申请亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本申请的精神下进行各种修饰与变更。
目前,现有的部分条带写优化方案总共可分为四类。第一类是提出新的纠删码,第二类是通过记录日志减少输入/输出(I/O)操作,第三类是对读写请求进行重新调度,第四类是优化校验的更新过程。然而在实践中发现,现有的部分条带写优化方案不能适用于LRC这种复杂编码中,且这些技术大多从优化写开销的角度出发,而部分条带写中的读开销依然没有得到优化,且这些方案大多都是静态方案。
为解决上述问题,本申请提出一种动态的RC编码的部分条带写优化方案及装置。请参见图1,是本申请实施例提供的一种基于LRC编码的部分条带写方法的流程示意图。如图1所示的方法包括如下实施步骤。
S101、获取读写请求,所述读写请求为用于请求在目标条带的目标地址处进行目标数据块的读写请求。
本申请云存储系统中可接收来自上层应用的至少一个读写请求,并将这些读写请求存放于一个请求队列(request queue)中。在实际处理过程中,请求预处理器(requesthandler)可将请求队列中的读写请求进行分割(partition),依次将每个读写请求发给下层进一步处理。
S102、获取云存储阵列的位图,所述位图记录有所述云存储阵列中存放于每个条带的数据块的状态信息。
本申请涉及的位图(bit map)存储于系统的随机存储内存(Random AccessMemory,RAM)中。位图中记录了云存储阵列中每个条带的每一个数据块的状态信息,该状态信息用于指示条带中相应存储地址是否为空,即是否已写入有相应地数据块。请参见图2示出一种可能的位图示意图。如图2中,位图中的每行表示一个条带,每个条带中的0或1用于表示是否为空。具体地,1表示该存储地址已写入有相应地数据块,0表示没写入数据块。如果位图中每行数据均为1,表示该条带为全条带写;否则表示该条带为部分条带写。
S103、根据所述位图对所述读写请求进行预处理,以识别获得所述读写请求中的部分条带写请求。
本申请在请求预处理器中,主要根据位图对读写请求进行相应地预处理,例如识别该读写请求是否为处理跨条带请求或部分条带写请求等等,例如一个读写请求用于请求同时对两个条带进行全条带写,对1个条带进行部分条带写等。从而识别判断出该读写请求中涉及的部分条带写请求。
如果该读写请求为全条带写请求,则直接通过存储阵列控制器(也可称为磁盘阵列控制器,disk array controller)将相应数据块写入到所述全条带写请求所指示的条带中,以完成所述全条带写请求的请求。
S104、响应所述部分条带写请求,根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块,所述目标块包括以下中的至少一项:数据块、局部校验块和全局校验块。
如果读写请求为部分条带写请求,则本申请可响应该部分条带写请求,在读选择器(read selector)中根据基于读代价的动态部分条带写算法(Dynamic Read-Cost BasedPartial Stripe Write Algorithm,DRPS)动态地选择部分条带写的最优读策略,通过磁盘阵列控制器从云存储阵列(也可称磁盘阵列)中读取相应地目标块,该目标块包括以下中的一项或多项的组合:数据块、局部校验块和全局校验块。
其中,该磁盘阵列控制器中记录有云存储阵列的元数据,该元数据包括有LRC编码的编码参数、局部校验的读写开销以及全局校验的读写开销等信息。
作为一种可能的实施方式,本申请可根据读写请求先确定出DRPS算法的输入参数,该输入参数包括目标条带中已存在的数据块的总个数μ、目标条带中已存在的需要更新的数据块的个数θ、部分条带写请求对应的局部条带的个数β、目标条带中全局校验块的个数γ、读数据块所在的数据盘和读局部校验块所在的局部校验盘的代价Rl及读全局校验块所在的全局校验盘的代价Rg等参数。然后调用DRPS算法,依据这些输入参数读取相应地目标块。请参见图3示出DRPS算法的具体执行流程示意图。如图3所示,本申请可判断该输入参数是否满足预设第一条件,如果满足预设第一条件,则遍历目标条带中的数据块和局部校验块。进一步判断这个数据块是否满足预设第二条件,如果满足则从存储阵列(也可为硬盘)中读取这个数据块;否则不读取这个数据块。该预设第二条件为这个数据不为空,且这次(当前)需要更新这个数据。再判断局部校验块是否满足预设第三条件,如果满足则从云存储阵列中读取这个局部校验块;否则不读取这个局部校验块。该预设第三条件为这个局部校验块需要被修改,且这个局部校验块所在的局部条带被部分条带写,不是全部条带写。反之,则从云存储阵列中读取目标条带中所有的全局校验块。
如果输入参数不满足第一条件,则遍历目标条带中的数据块,判断这个数据块是否满足预设第四条件,如果满足则从硬盘中读取这个数据块;否则不读取这个数据块。该预设第四条件为这个数据块不为空,且这次(当前)不需要更新这个数据块。该预设第一条件为系统自定义设置的与输入参数有关的条件,例如具体可为Rg/Rl≤(μ-2θ-β)/γ。
S105、对所述目标块进行计算得到新校验块,并将所述新校验块写入所述云存储阵列中。
本申请在读选择器中通过DRPS算法动态地读取了相应地目标块后,还可对这些目标块进行计算(calculate),得到新校验块。进一步通过硬盘阵列控制器将该新校验块写入相应地云存储阵列中。
请参见图4示出一种完整地基于LRC编码的部分条带写优化的流程示意图。如图4所示,请求预处理器从请队列中分割出一个个待求处理的读写请求,然后根据获取的位图判断该读写请求中是否包括部分条带写,如果有则通过读选择器基于DRPS算法动态地选择部分条带写的最优读策略,并且通过磁盘阵列控制器从云存储阵列中读取相应地目标块,并对这些目标块进行计算,得到新校验块。最后通过磁盘阵列控制器将新校验块写入相应地磁盘。
相比于现有技术而言,本申请具有以下优点:能够应用于LRC这种复杂编码中,而其他技术不能。本申请是从优化部分条带写中的读开销的角度出发研究解决问题,而其他很多技术往往忽略这个角度。本申请使用了一种动态方法,能够根据一次写数据块的个数、写数据块在存储节点中的位置以及不同存储节点的I/O时间等因素来选择相应的最优读策略,从而节省部分条带写方案中涉及的读开销、较少总线负载,避免了现有部分条带写方案中存在的额外的传输开销和总线负载、导致系统的传输效率、服务质量以传输可靠性降低等问题。
请参见图5,是本申请实施例提供的一种基于LRC编码的部分条带写优化装置的结构示意图。如图5所示的装置中包括获取单元501、预处理单元502、读取单元503及处理单元504。其中,
所述获取单元501,用于获取读写请求和云存储阵列的位图,其中所述读写请求为用于请求在目标条带的目标地址处进行目标数据块的读写请求,所述位图记录有所述云存储阵列中存放于每个条带的数据块的状态信息;
所述预处理单元502,用于根据所述位图对所述读写请求进行预处理,以识别获得所述读写请求中的部分条带写请求;
所述读取单元503,用于响应所述部分条带写请求,根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块,所述目标块包括以下中的至少一项:数据块、局部校验块和全局校验块;
所述处理单元504,用于对所述目标块进行计算得到新校验块,并将所述新校验块写入所述云存储阵列中。
可选的,所述读取单元503具体用于:
根据DRPS算法,通过存储阵列控制器从云存储阵列中读取所述部分条带写请求对应的目标块;
其中,所述存储阵列控制器中记录有云存储阵列的元数据,所述元数据包括LRC编码的编码参数、所述云存储阵列中每个条带的局部校验块的读写开销和全局校验块的读写开销。
可选的,所述读取单元503具体用于:
根据所述读写请求,确定所述DRPS算法对应的输入参数,所述输入参数包括:所述目标条带中已存在的数据块的总个数μ、所述目标条带中已存在的需要更新的数据块的个数θ、所述部分条带写请求对应的局部条带的个数β、所述目标条带中全局校验块的个数γ、读所述数据块所在的数据盘和所述局部校验块所在的局部校验盘的代价Rl及读所述全局校验块所在的全局校验盘的代价Rg;
调用DRPS算法,根据所述输入参数从云存储阵列中读取对应的目标块。
可选的,所述读取单元503具体用于:
如果所述输入参数满足预设第一条件,则遍历所述目标条带中的数据块和局部校验块;
如果所述目标条带中的数据块满足预设第二条件,则从云存储阵列中读取所述数据块;
如果所述局部校验块满足预设第三条件,则从云存储阵列中读取所述局部校验块;
如果所述目标条带中的数据块不满足预设第二条件,和/或所述局部校验块不满足预设第三条件,则从云存储阵列中读取所述目标条带中的全局校验块;
其中,所述预设第一条件与所述输入参数有关,所述预设第二条件包括所述目标条带中的数据块不为空,且当前需要更新所述数据块;所述预设第三条件包括所述局部校验块需要修改,且所述局部校验块所在的局部条带被部分条带写。
可选的,所述读取单元503具体用于:
如果所述输入参数不满足预设第一条件,则遍历所述目标条带中的数据块;
如果所述目标条带中的数据块满足预设第四条件,则从云存储阵列中读取所述数据块;
其中,所述预设第四条件包括所述目标条带中的数据块不为空,且当前不需要更新所述数据块。相比于现有技术而言,本申请具有以下优点:能够应用于LRC这种复杂编码中,而其他技术不能。本申请是从优化部分条带写中的读开销的角度出发研究解决问题,而其他很多技术往往忽略这个角度。本申请使用了一种动态方法,能够根据一次写数据块的个数、写数据块在存储节点中的位置以及不同存储节点的I/O时间等因素来选择相应的最优读策略,从而节省部分条带写方案中涉及的读开销、较少总线负载,避免了现有部分条带写方案中存在的额外的传输开销和总线负载、导致系统的传输效率、服务质量以传输可靠性降低等问题。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何本领域技术人员均可在不违背本申请的精神及范畴下,对上述实施例进行修饰与改变。因此,本申请的权利保护范围,应如权利要求书所列。
Claims (8)
1.一种基于LRC编码的部分条带写优化方法,其特征在于,包括:
获取读写请求,所述读写请求为用于请求在目标条带的目标地址处进行目标数据块的读写请求;
获取云存储阵列的位图,所述位图记录有所述云存储阵列中存放于每个条带的数据块的状态信息;
根据所述位图对所述读写请求进行预处理,以识别获得所述读写请求中的部分条带写请求;
响应所述部分条带写请求,根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块,所述目标块包括以下中的至少一项:数据块、局部校验块和全局校验块;其中,所述根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块包括:根据所述读写请求,确定所述DRPS算法对应的输入参数,所述输入参数包括:所述目标条带中已存在的数据块的总个数μ、所述目标条带中已存在的需要更新的数据块的个数θ、所述部分条带写请求对应的局部条带的个数β、所述目标条带中全局校验块的个数γ、读所述数据块所在的数据盘和所述局部校验块所在的局部校验盘的代价Rl及读所述全局校验块所在的全局校验盘的代价Rg;调用DRPS算法,根据所述输入参数从云存储阵列中读取对应的目标块;
对所述目标块进行计算得到新校验块,并将所述新校验块写入所述云存储阵列中。
2.根据权利要求1所述的基于LRC编码的部分条带写优化方法,其特征在于,所述根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块包括:
根据DRPS算法,通过存储阵列控制器从云存储阵列中读取所述部分条带写请求对应的目标块;
其中,所述存储阵列控制器中记录有云存储阵列的元数据,所述元数据包括LRC编码的编码参数、所述云存储阵列中每个条带的局部校验块的读写开销和全局校验块的读写开销。
3.根据权利要求1所述的基于LRC编码的部分条带写优化方法,其特征在于,所述调用DRPS算法,根据所述输入参数从云存储阵列中读取对应的目标块包括:
如果所述输入参数满足预设第一条件,则遍历所述目标条带中的数据块和局部校验块;
如果所述目标条带中的数据块满足预设第二条件,则从云存储阵列中读取所述数据块;
如果所述局部校验块满足预设第三条件,则从云存储阵列中读取所述局部校验块;
如果所述目标条带中的数据块不满足预设第二条件,和/或所述局部校验块不满足预设第三条件,则从云存储阵列中读取所述目标条带中的全局校验块;
其中,所述预设第一条件与所述输入参数有关,所述预设第二条件包括所述目标条带中的数据块不为空,且当前需要更新所述数据块;所述预设第三条件包括所述局部校验块需要修改,且所述局部校验块所在的局部条带被部分条带写。
4.根据权利要求1所述的基于LRC编码的部分条带写优化方法,其特征在于,所述调用DRPS算法,根据所述输入参数从云存储阵列中读取对应的目标块包括:
如果所述输入参数不满足预设第一条件,则遍历所述目标条带中的数据块;
如果所述目标条带中的数据块满足预设第四条件,则从云存储阵列中读取所述数据块;
其中,所述预设第四条件包括所述目标条带中的数据块不为空,且当前不需要更新所述数据块。
5.一种基于LRC编码的部分条带写优化装置,其特征在于,包括:
获取单元,用于获取读写请求和云存储阵列的位图,其中所述读写请求为用于请求在目标条带的目标地址处进行目标数据块的读写请求,所述位图记录有所述云存储阵列中存放于每个条带的数据块的状态信息;
预处理单元,用于根据所述位图对所述读写请求进行预处理,以识别获得所述读写请求中的部分条带写请求;所述预处理单元具体用于,根据所述读写请求,确定DRPS算法对应的输入参数,所述输入参数包括:所述目标条带中已存在的数据块的总个数μ、所述目标条带中已存在的需要更新的数据块的个数θ、所述部分条带写请求对应的局部条带的个数β、所述目标条带中全局校验块的个数γ、读所述数据块所在的数据盘和所述局部校验块所在的局部校验盘的代价Rl及读所述全局校验块所在的全局校验盘的代价Rg;调用DRPS算法,根据所述输入参数从云存储阵列中读取对应的目标块;
读取单元,用于响应所述部分条带写请求,根据基于读代价的动态部分条带写算法DRPS,从所述云存储阵列中读取对应的目标块,所述目标块包括以下中的至少一项:数据块、局部校验块和全局校验块;
处理单元,用于对所述目标块进行计算得到新校验块,并将所述新校验块写入所述云存储阵列中。
6.根据权利要求5所述的基于LRC编码的部分条带写优化装置,其特征在于,所述读取单元具体用于:
根据DRPS算法,通过存储阵列控制器从云存储阵列中读取所述部分条带写请求对应的目标块;
其中,所述存储阵列控制器中记录有云存储阵列的元数据,所述元数据包括LRC编码的编码参数、所述云存储阵列中每个条带的局部校验块的读写开销和全局校验块的读写开销。
7.根据权利要求5所述的基于LRC编码的部分条带写优化装置,其特征在于,所述读取单元具体用于:
如果所述输入参数满足预设第一条件,则遍历所述目标条带中的数据块和局部校验块;
如果所述目标条带中的数据块满足预设第二条件,则从云存储阵列中读取所述数据块;
如果所述局部校验块满足预设第三条件,则从云存储阵列中读取所述局部校验块;
如果所述目标条带中的数据块不满足预设第二条件,和/或所述局部校验块不满足预设第三条件,则从云存储阵列中读取所述目标条带中的全局校验块;
其中,所述预设第一条件与所述输入参数有关,所述预设第二条件包括所述目标条带中的数据块不为空,且当前需要更新所述数据块;所述预设第三条件包括所述局部校验块需要修改,且所述局部校验块所在的局部条带被部分条带写。
8.根据权利要求5所述的基于LRC编码的部分条带写优化装置,其特征在于,所述读取单元具体用于:
如果所述输入参数不满足预设第一条件,则遍历所述目标条带中的数据块;
如果所述目标条带中的数据块满足预设第四条件,则从云存储阵列中读取所述数据块;
其中,所述预设第四条件包括所述目标条带中的数据块不为空,且当前不需要更新所述数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110184332.XA CN112783689B (zh) | 2021-02-08 | 2021-02-08 | 一种基于lrc编码的部分条带写优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110184332.XA CN112783689B (zh) | 2021-02-08 | 2021-02-08 | 一种基于lrc编码的部分条带写优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112783689A CN112783689A (zh) | 2021-05-11 |
CN112783689B true CN112783689B (zh) | 2022-09-02 |
Family
ID=75761526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110184332.XA Active CN112783689B (zh) | 2021-02-08 | 2021-02-08 | 一种基于lrc编码的部分条带写优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783689B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795295B (zh) * | 2023-08-16 | 2023-11-17 | 苏州浪潮智能科技有限公司 | 磁盘阵列中的数据处理方法及装置、存储介质、电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566924A (zh) * | 2008-04-23 | 2009-10-28 | 中兴通讯股份有限公司 | 一种磁盘阵列的数据读写方法 |
CN102184080A (zh) * | 2011-04-29 | 2011-09-14 | 华中科技大学 | 一种基于固化条带的raid系统扩容后的数据读写方法 |
CN105930103A (zh) * | 2016-05-10 | 2016-09-07 | 南京大学 | 一种分布式存储ceph的纠删码覆盖写方法 |
CN105930098A (zh) * | 2015-05-20 | 2016-09-07 | 德州学院 | 一种消除局部并行中小写操作的集中校验式盘阵列 |
CN107885620A (zh) * | 2017-11-22 | 2018-04-06 | 华中科技大学 | 一种提高固态盘阵列性能和可靠性的方法及系统 |
CN108717383A (zh) * | 2018-04-03 | 2018-10-30 | 华为技术有限公司 | 一种更新校验块的方法和设备 |
WO2020155930A1 (zh) * | 2019-02-01 | 2020-08-06 | 杭州海康威视数字技术股份有限公司 | 磁盘阵列空间划分方法、装置、电子设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904498B2 (en) * | 2002-10-08 | 2005-06-07 | Netcell Corp. | Raid controller disk write mask |
GB0610335D0 (en) * | 2006-05-24 | 2006-07-05 | Oxford Semiconductor Ltd | Redundant storage of data on an array of storage devices |
CN100498678C (zh) * | 2006-06-01 | 2009-06-10 | 杭州华三通信技术有限公司 | 对廉价磁盘冗余阵列进行读写操作的方法和系统 |
CN101650675B (zh) * | 2009-08-28 | 2011-10-26 | 中兴通讯股份有限公司 | 利用异或校验磁盘阵列写数据的方法及装置 |
CN102096558A (zh) * | 2011-01-20 | 2011-06-15 | 杭州华三通信技术有限公司 | 一种数据的存储方法和装置 |
CN104111880B (zh) * | 2013-04-16 | 2016-03-02 | 华中科技大学 | 一种容三盘失效纠删码的单数据盘失效快速重建方法 |
GB2513377A (en) * | 2013-04-25 | 2014-10-29 | Ibm | Controlling data storage in an array of storage devices |
CN103309742B (zh) * | 2013-07-04 | 2016-07-06 | 清华大学 | 云存储系统数据高效编码方法 |
CN104866244B (zh) * | 2015-05-31 | 2018-03-06 | 上海交通大学 | 一种平衡条带写的raid‑6i/o调度方法 |
CN105095013B (zh) * | 2015-06-04 | 2017-11-21 | 华为技术有限公司 | 数据存储方法、恢复方法、相关装置以及系统 |
CN116431072A (zh) * | 2017-06-12 | 2023-07-14 | 净睿存储股份有限公司 | 集成到大容量存储设备的可访问快速耐久存储 |
US10115472B1 (en) * | 2017-08-02 | 2018-10-30 | International Business Machines Corporation | Reducing read disturb effect on partially programmed blocks of non-volatile memory |
US10540231B2 (en) * | 2018-04-04 | 2020-01-21 | International Business Machines Corporation | Log-structured array (LSA) partial parity eviction and reassembly |
CN111124738B (zh) * | 2018-10-31 | 2023-08-18 | 伊姆西Ip控股有限责任公司 | 用于独立冗余磁盘阵列的数据管理方法、设备和计算机程序产品 |
CN109981798A (zh) * | 2019-04-12 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种数据写入方法、系统及电子设备和存储介质 |
-
2021
- 2021-02-08 CN CN202110184332.XA patent/CN112783689B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566924A (zh) * | 2008-04-23 | 2009-10-28 | 中兴通讯股份有限公司 | 一种磁盘阵列的数据读写方法 |
CN102184080A (zh) * | 2011-04-29 | 2011-09-14 | 华中科技大学 | 一种基于固化条带的raid系统扩容后的数据读写方法 |
CN105930098A (zh) * | 2015-05-20 | 2016-09-07 | 德州学院 | 一种消除局部并行中小写操作的集中校验式盘阵列 |
CN105930103A (zh) * | 2016-05-10 | 2016-09-07 | 南京大学 | 一种分布式存储ceph的纠删码覆盖写方法 |
CN107885620A (zh) * | 2017-11-22 | 2018-04-06 | 华中科技大学 | 一种提高固态盘阵列性能和可靠性的方法及系统 |
CN108717383A (zh) * | 2018-04-03 | 2018-10-30 | 华为技术有限公司 | 一种更新校验块的方法和设备 |
WO2020155930A1 (zh) * | 2019-02-01 | 2020-08-06 | 杭州海康威视数字技术股份有限公司 | 磁盘阵列空间划分方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112783689A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5088081A (en) | Method and apparatus for improved disk access | |
US6859888B2 (en) | Data storage array apparatus storing error information without delay in data access, and method, program recording medium, and program for the same | |
CN101236482B (zh) | 降级状态下处理数据的方法及独立冗余磁盘阵列系统 | |
EP0727745A1 (en) | Memory control apparatus and its control method | |
US20080052446A1 (en) | Logical super block mapping for NAND flash memory | |
CN111124262B (zh) | 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质 | |
CN101604251A (zh) | 多同位储存系统中更新实体储存装置控制程序的方法 | |
CN110489052B (zh) | 数据储存装置 | |
US7013364B2 (en) | Storage subsystem having plural storage systems and storage selector for selecting one of the storage systems to process an access request | |
CN103425589A (zh) | 控制装置、存储装置以及存储控制方法 | |
US9639441B2 (en) | Solid-state storage system, apparatus and method of writing data | |
US20180357142A1 (en) | Reporting defects in a flash memory back-up system | |
CN112783689B (zh) | 一种基于lrc编码的部分条带写优化方法及装置 | |
CN101174198B (zh) | 数据存储系统及其数据存取方法 | |
CN112199054A (zh) | 一种文件存储的方法及系统 | |
CN112799604A (zh) | 一种基于N-Code的RAID6磁盘阵列扩容方法及数据填充方法 | |
US20010023496A1 (en) | Storage device and storage subsystem for efficiently writing error correcting code | |
CN109375868B (zh) | 一种数据存储方法、调度装置、系统、设备及存储介质 | |
CN110780806B (zh) | 促进元数据和数据捆绑存储的原子性保证的方法和系统 | |
US7200771B2 (en) | Relocation batch processing for disk drives | |
CN116700623A (zh) | 一种数据存储方法、系统、电子设备及存储介质 | |
CN108509154B (zh) | 一种根据坏块分布动态重组raid的方法和装置 | |
CN110348245B (zh) | 基于nvm的数据完整性保护方法、系统、装置及存储介质 | |
US6021517A (en) | Storage device and storage subsystem for efficiently writing error correcting code | |
CN106919340B (zh) | 提高raid读取性能的系统及方法 |
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 |