一种磁盘阵列的写数据处理方法、装置、设备和介质制造方法及图纸

技术编号:38773362 阅读:34 留言:0更新日期:2023-09-10 10:46
本发明专利技术涉及数据存储技术领域,公开了一种磁盘阵列的写数据处理方法、装置、设备和介质,在磁盘启动重构任务时,根据主机下发的写数据的逻辑地址以及设定的条带宽度,确定出写数据对应的目标条带;在目标条带具有写入标识时,判断写数据及其校验数据的落盘位置是否命中故障盘。在写数据或者其校验数据的落盘位置命中故障盘时对目标条带进行重构后再将写数据写入目标条带。通过对写数据的写前重构添加算法筛选,对条带标记写入标识,记录哪些条带已经被写入过数据。对于标记有写入标识的目标条带,只有写数据落盘位置在故障盘上或者对应的校验数据在故障盘上,才执行写前重构,减少写前重构的数量的目的,提升存储写数据的处理速度。度。度。

【技术实现步骤摘要】
一种磁盘阵列的写数据处理方法、装置、设备和介质


[0001]本专利技术涉及数据存储
,特别是涉及一种磁盘阵列的写数据处理方法、装置、设备和介质。

技术介绍

[0002]独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)是由很多磁盘组合成一个容量巨大的磁盘组。在独立磁盘冗余阵列中没有磁盘故障时,RAID会先把主机写IO(Input/Output,输入/输出)时进行数据条带化,即把IO数据按每个盘256K的大小分割成一个或多个分块,然后利用IO数据和磁盘上保存的数据通过异或计算出校验数据P、Q,最后再把主机IO数据和计算出的校验数据P、Q同时写入磁盘。当RAID的一个磁盘数据损坏后,可以利用剩下的数据分块上记录的IO数据以及校验块上记录的校验数据恢复被损坏的数据。
[0003]在RAID重构过程中,处理主机写IO时,如果检测IO所在条带没有重构过,则先对条带进行重构,然后再处理主机写IO,该操作被称为写前重构。
[0004]因为有写前重构的存在,会导致RAID处理主机写IO前,需要先重构条带,然后再处理主机写IO。通常处理一个主机写IO耗时1毫秒左右,重构一个条带耗时3毫秒左右。但因为有写前重构,导致原本1毫秒左右处理完的主机写IO,需要耗时4毫秒左右。这会导致写IO的处理速度比原先降低75%左右,大大降低了存储设备的IOPS(Input/Output Operations Per Second,每秒处理IO的个数)性能,严重影响用户的使用体验。<br/>[0005]可见,如何提升写IO的处理速度,是本领域技术人员需要解决的问题。

技术实现思路

[0006]本专利技术实施例的目的是提供一种磁盘阵列的写数据处理方法、装置、设备和计算机可读存储介质,可以解决写IO处理速度低的问题。
[0007]为解决上述技术问题,本专利技术实施例提供一种磁盘阵列的写数据处理方法,包括:在磁盘启动重构任务的情况下,根据主机下发的写数据的逻辑地址以及设定的条带宽度,确定出写数据对应的目标条带;在所述目标条带具有写入标识的情况下,判断所述写数据及其校验数据的落盘位置是否命中故障盘;其中,所述写入标识用于表征所述目标条带已经写入数据;在所述写数据或者其校验数据的落盘位置命中故障盘的情况下,对所述目标条带进行重构后将所述写数据写入所述目标条带。
[0008]一方面,还包括:在未启动重构任务的情况下,在接收到主机传输的待写入数据后,对所述待写入数据执行条带化处理,并将条带化处理后的待写入数据写入磁盘;判断所述待写入数据所在的条带是否具有写入标识;在所述待写入数据所在的条带不具有写入标识的情况下,对所述待写入数据所在
的条带设置写入标识。
[0009]一方面,还包括:在创建磁盘阵列时申请元数据,并将所述元数据的所有比特位设置为初始值;其中,一个比特位对应一个条带;相应的,所述对所述待写入数据所在的条带设置写入标识包括:将所述元数据中所述待写入数据所在的条带对应的比特位调整为写入值。
[0010]一方面,所述根据主机下发的写数据的逻辑地址以及设定的条带宽度,确定出写数据对应的目标条带包括:接收主机下发的写数据的逻辑地址;将所述逻辑地址与设定的条带宽度进行除法运算,基于得到的商确定出所述写数据对应的目标条带;其中,不同商用于表征不同的条带。
[0011]一方面,在所述根据主机下发的写数据的逻辑地址以及设定的条带宽度,确定出写数据对应的目标条带之后,还包括:在所述目标条带不具有写入标识的情况下,根据写数据的逻辑地址,将条带化处理后的写数据写入磁盘。
[0012]一方面,所述判断所述写数据及其校验数据的落盘位置是否命中故障盘包括:根据主机下发的写数据的逻辑地址以及设定的条带宽度和数据块个数,确定出写数据对应的目标数据块;判断所述目标数据块所属的磁盘是否为故障盘;在所述目标数据块所属的磁盘不为故障盘的情况下,判断所述写数据的校验数据所在的磁盘是否为故障盘。
[0013]一方面,所述根据主机下发的写数据的逻辑地址以及设定的条带宽度和数据块个数,确定出写数据对应的目标数据块包括:基于条带宽度和数据块个数,确定出每个数据块的数据块宽度;将所述逻辑地址与所述数据块宽度进行除法运算,基于得到的商确定出所述写数据对应的目标数据块。
[0014]一方面,所述在所述写数据或者其校验数据的落盘位置命中故障盘的情况下,对所述目标条带进行重构后将所述写数据写入所述目标条带包括:在所述目标数据块所属的磁盘为故障盘或者所述写数据的校验数据所在的磁盘为故障盘的情况下,对所述目标条带进行重构后将所述写数据写入所述目标条带。
[0015]一方面,所述对所述目标条带进行重构后将所述写数据写入所述目标条带包括:基于所述目标条带上的非故障数据,重构出故障盘的数据;其中,所述非故障数据包括目标条带上除故障盘的数据外剩余的数据;根据写数据的逻辑地址以及重构出的故障盘的数据,将条带化处理后的写数据写入磁盘。
[0016]一方面,还包括:在所述目标数据块所属的磁盘不为故障盘并且所述写数据的校验数据所在的磁盘不为故障盘的情况下,根据写数据的逻辑地址,将条带化处理后的写数据写入磁盘。
[0017]一方面,所述根据写数据的逻辑地址,将条带化处理后的写数据写入磁盘包括:
读取所述目标数据块上的原数据以及所述目标条带上的原校验数据;基于所述原数据、所述原校验数据以及所述写数据,确定出新校验数据;将所述写数据以及所述新校验数据写入所述目标条带的对应位置。
[0018]一方面,所述将所述写数据以及所述新校验数据写入所述目标条带的对应位置包括:将所述写数据写入所述目标数据块,将所述新校验数据写入所述目标条带的校验块。
[0019]一方面,在所述根据主机下发的写数据的逻辑地址以及设定的条带宽度,确定出写数据对应的目标条带之后,还包括:在所述写数据在所述目标条带上的数据量占比满足设定占比条件的情况下,根据写数据的逻辑地址,将条带化处理后的写数据写入磁盘;在所述写数据在所述目标条带上的数据量占比不满足设定占比条件的情况下,执行所述在所述目标条带具有写入标识的情况下,判断所述写数据及其校验数据的落盘位置是否命中故障盘的步骤。
[0020]一方面,所述在所述写数据在所述目标条带上的数据量占比满足设定占比条件的情况下,根据写数据的逻辑地址,将条带化处理后的写数据写入磁盘包括:判断所述写数据是否覆盖整个目标条带;在所述写数据覆盖整个目标条带的情况下,根据写数据的逻辑地址,将条带化处理后的写数据写入磁盘。
[0021]一方面,还包括:在所述写数据未覆盖整个目标条带的情况下,判断所述写数据的数据量是否大于设定阈值;其中,所述阈值基于所述目标条带的条带宽度设置;在所述写数据的数据量大于或等于设定阈值的情况下,将所述写数据以及所述目标条带中的原数据拼凑后写入磁盘。
[0022]一方面,所述在所述写数据在所述目标条带上的数据量占比不满足设定占比条件的情况下,执行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种磁盘阵列的写数据处理方法,其特征在于,包括:在磁盘启动重构任务的情况下,根据主机下发的写数据的逻辑地址以及设定的条带宽度,确定出写数据对应的目标条带;在所述目标条带具有写入标识的情况下,判断所述写数据及其校验数据的落盘位置是否命中故障盘;其中,所述写入标识用于表征所述目标条带已经写入数据;在所述写数据或者其校验数据的落盘位置命中故障盘的情况下,对所述目标条带进行重构后将所述写数据写入所述目标条带。2.根据权利要求1所述的磁盘阵列的写数据处理方法,其特征在于,还包括:在未启动重构任务的情况下,在接收到主机传输的待写入数据后,对所述待写入数据执行条带化处理,并将条带化处理后的待写入数据写入磁盘;判断所述待写入数据所在的条带是否具有写入标识;在所述待写入数据所在的条带不具有写入标识的情况下,对所述待写入数据所在的条带设置写入标识。3.根据权利要求2所述的磁盘阵列的写数据处理方法,其特征在于,还包括:在创建磁盘阵列时申请元数据,并将所述元数据的所有比特位设置为初始值;其中,一个比特位对应一个条带;相应的,所述对所述待写入数据所在的条带设置写入标识包括:将所述元数据中所述待写入数据所在的条带对应的比特位调整为写入值。4.根据权利要求1所述的磁盘阵列的写数据处理方法,其特征在于,所述根据主机下发的写数据的逻辑地址以及设定的条带宽度,确定出写数据对应的目标条带包括:接收主机下发的写数据的逻辑地址;将所述逻辑地址与设定的条带宽度进行除法运算,基于得到的商确定出所述写数据对应的目标条带;其中,不同商用于表征不同的条带。5.根据权利要求1所述的磁盘阵列的写数据处理方法,其特征在于,在所述根据主机下发的写数据的逻辑地址以及设定的条带宽度,确定出写数据对应的目标条带之后,还包括:在所述目标条带不具有写入标识的情况下,根据写数据的逻辑地址,将条带化处理后的写数据写入磁盘。6.根据权利要求1所述的磁盘阵列的写数据处理方法,其特征在于,所述判断所述写数据及其校验数据的落盘位置是否命中故障盘包括:根据主机下发的写数据的逻辑地址以及设定的条带宽度和数据块个数,确定出写数据对应的目标数据块;判断所述目标数据块所属的磁盘是否为故障盘;在所述目标数据块所属的磁盘不为故障盘的情况下,判断所述写数据的校验数据所在的磁盘是否为故障盘。7.根据权利要求6所述的磁盘阵列的写数据处理方法,其特征在于,所述根据主机下发的写数据的逻辑地址以及设定的条带宽度和数据块个数,确定出写数据对应的目标数据块包括:基于条带宽度和数据块个数,确定出每个数据块的数据块宽度;将所述逻辑地址与所述数据块宽度进行除法运算,基于得到的商确定出所述写数据对
应的目标数据块。8.根据权利要求6所述的磁盘阵列的写数据处理方法,其特征在于,所述在所述写数据或者其校验数据的落盘位置命中故障盘的情况下,对所述目标条带进行重构后将所述写数据写入所述目标条带包括:在所述目标数据块所属的磁盘为故障盘或者所述写数据的校验数据所在的磁盘为故障盘的情况下,对所述目标条带进行重构后将所述写数据写入所述目标条带。9.根据权利要求8所述的磁盘阵列的写数据处理方法,其特征在于,所述对所述目标条带进行重构后将所述写数据写入所述目标条带包括:基于所述目标条带上的非故障数据,重构出故障盘的数据;其中,所述非故障数据包括目标条带上除故障盘的数据外剩余的数据;根据写数据的逻辑地址以及重构出的故障盘的数据,将条带化处理后的写数据写入磁盘。10.根据权利要求9所述的磁盘阵列的写数据处理方法,其特征在于,还包括:在所述目标数据块所属的磁盘不为故障盘并且所述写数据的校验数据所在的磁盘不为故障盘的情况下,根据写数据的逻辑地址,将条带化处理后的写数据写入磁盘。11.根据权利要求10所述的磁盘阵列的写数据处理方法,其特征在于,所述根据写数据的逻辑地址,将条带化处理后的写数据写入磁盘包括:读取所述目标数据块上的原数据以及所述目标条带上的原校验数据;基于所述原数据、所述原校验数据以及所述写数据,确定出新校验数据;将所...

【专利技术属性】
技术研发人员:苏涛朱红玉
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1