CN101923441A - 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统 - Google Patents

混合磁盘冗余阵列的写请求处理方法、控制器和存储系统 Download PDF

Info

Publication number
CN101923441A
CN101923441A CN2009100866855A CN200910086685A CN101923441A CN 101923441 A CN101923441 A CN 101923441A CN 2009100866855 A CN2009100866855 A CN 2009100866855A CN 200910086685 A CN200910086685 A CN 200910086685A CN 101923441 A CN101923441 A CN 101923441A
Authority
CN
China
Prior art keywords
stripe
redundant array
data
temporary storage
target
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
CN2009100866855A
Other languages
English (en)
Other versions
CN101923441B (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec 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 Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2009100866855A priority Critical patent/CN101923441B/zh
Publication of CN101923441A publication Critical patent/CN101923441A/zh
Application granted granted Critical
Publication of CN101923441B publication Critical patent/CN101923441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明实施例涉及一种混合磁盘冗余阵列的写请求处理方法、控制器和存储系统。该方法包括:将新写数据写入与目标条带对应的暂存条带,其中,所述暂存条带位于第一级冗余阵列,所述目标条带位于第二级冗余阵列;根据所述新写数据与目标条带中的数据获得校验信息,将所述校验信息写入所述暂存条带中的校验分条单元;将所述暂存条带的数据写入所述目标条带。本发明实施例可有效避免磁盘冗余阵列中数据写操作时出现的写洞问题,提高磁盘冗余阵列的写操作效率,提高磁盘冗余阵列存储数据的安全性能。

Description

混合磁盘冗余阵列的写请求处理方法、控制器和存储系统
技术领域
本发明涉及存储技术,特别是涉及一种混合磁盘冗余阵列的写请求处理方法、控制器和存储系统。
背景技术
随着存储系统的发展,现有的存储系统可以支持廉价磁盘冗余阵列(Redundant Arrays of Inexpensive Disks,简称RAID),且RAID可以分为RAID0、RAID1、RAID10、RAID3、RAID5、RAID6等多种级别,其中,RAID5是一种兼顾存储性能、数据安全和存储成本的存储技术,得到广泛应用。存储数据时,将数据和其对应的检验信息存储在组成RAID5的各个磁盘上,且检验信息及其对应的数据交叉存放在不同的磁盘上,可以有效地保证存储数据的可靠性。
图1为出现写洞问题时RAID5条带的数据结构示意图。如图1所示,当对RAID5条带分条单元写数据过程中主控制器发生故障,将会导致该次写操作涉及到的数据盘和校验盘内相关分条单元的数据不确定,形成未完成的分条写请求,从而导致分条单元的数据不确定,使得条带中数据不一致,即xP!=xD1∧xD2∧D3∧D4,其中xD或xP表示对应分条单元内的数据不确定。此后,若通过备份控制器在此状态下继续写数据,则分条写之前进行新校验数据的计算将会出现错误,而校验数据的错误必然导致后续的写数据错误,从而出现写异常。通常也将这种写数据时出现的分条数据不一致的问题称为写洞(Write Hole)问题。
现有技术中通过采用在控制器侧镜像新校验数据的方法将写异常分条恢复到正确写之后的状态,解决写洞问题,其中,写数据过程中,在将写请求对应的新写数据镜像到备份控制器的同时,将新校验数据也一同被镜像到备份控制器,当主控制器出现故障时,可通过镜像在备份控制器内的新写数据和新校验数据重建写异常分条,将写异常分条恢复到正确写之后状态,并由备份控制器进行后续的写操作。
发明人在实现本发明的过程中发现,现有技术在每次处理写请求时均将新校验信息镜像到备份控制器,使得控制器之间频繁镜像,由于镜像的校验信息数据量大,频繁的镜像降低了整个存储系统的写操作效率。
发明内容
本发明的目的是提供一种混合磁盘冗余阵列的写请求处理方法、控制器和存储系统,可以提高磁盘冗余阵列的写操作效率。
本发明实施例提供了一种混合磁盘冗余阵列的写请求处理方法,包括:
将新写数据写入与目标条带对应的暂存条带,其中,所述暂存条带位于第一级冗余阵列,所述目标条带位于第二级冗余阵列;
根据所述新写数据与目标条带中的数据获得校验信息,将所述校验信息写入所述暂存条带中的校验分条单元;
将所述暂存条带的数据写入所述目标条带。
本发明实施例还提供了一种混合磁盘冗余阵列的控制器,包括:
数据写入模块,用于将新写数据写入与目标条带对应的暂存条带,其中,所述暂存条带位于第一级冗余阵列,所述目标条带位于第二级冗余阵列;
校验信息获取模块,用于根据所述新写数据与目标条带中的数据获得校验信息,将所述校验信息写入所述暂存条带中的校验分条单元;
数据搬移模块,用于将所述暂存条带的数据写入所述目标条带。
本发明实施例还提供了一种存储系统,包括混合磁盘冗余阵列以及上述的控制器,其中,所述控制器用于对所述混合磁盘冗余阵列进行操作,所述混合磁盘冗余阵列包括第一级冗余阵列和第二级冗余阵列。
本发明实施例技术方案中,通过在第一级冗余阵列的暂存条带设置校验分条单元,当更新目标条带时,首先通过将新写数据写入暂存条带,并将计算得到的校验信息也写入暂存条带的校验分条单元,然后再将第一级冗余阵列中的暂存条带的数据搬移至第二级冗余阵列的目标条带,更新目标条带,在整个新写数据更新目标条带过程中,校验信息计算准确可靠,且不会出现现有技术中的写洞问题,有效提高了磁盘冗余阵列和整个存储系统的数据写操作效率,提高了存储系统数据存储的安全性和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为出现写洞问题时RAID5条带的数据结构示意图;
图2为本发明实施例一所提供的混合磁盘冗余阵列的写请求处理方法流程示意图;
图3为RAID5条带大写方式的示意图;
图4为RAID5条带小写方式的示意图;
图5为本发明实施例二所提供的混合磁盘冗余阵列的写请求处理方法流程示意图;
图6为本发明实施例三所提供的混合磁盘冗余阵列的写请求处理方法流程示意图;
图7为本发明实施例四所提供的混合磁盘冗余阵列的写请求处理方法流程示意图;
图8为本发明实施例混合磁盘冗余阵列的写请求处理方法中镜像条带对的结构示意图;
图9为本发明实施例混合磁盘冗余阵列的控制器结构示意图;
图10为本发明实施例混合磁盘冗余阵列的控制器中校验信息获取模块的结构示意图;
图11为本发明实施例存储系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可应用于混合磁盘冗余阵列中,其中,该混合磁盘冗余阵列可包括第一级冗余阵列和第二级冗余阵列,且第一级冗余阵列的条带中设置有校验分条单元,用于存放校验信息,第二级冗余阵列为带有奇偶校验信息的磁盘冗余阵列,如RAID5格式的磁盘冗余阵列。此外,第一级冗余阵列可为镜像结构的磁盘冗余阵列,如RAID1格式或RAID10格式的磁盘冗余阵列,具体地,本发明实施例中以包括RAID1格式的第一级冗余阵列和RAID5格式的第二级冗余阵列的分级冗余阵列为例进行说明,其中,本发明实施例中所述的暂存条带可为第一级冗余阵列的镜像条带对的两个条带中任一个条带。
图2为本发明实施例一所提供的混合磁盘冗余阵列的写请求处理方法流程示意图。该方法包括:
步骤101、将新写数据写入与目标条带对应的暂存条带,其中,所述暂存条带位于第一级冗余阵列,所述目标条带位于第二级冗余阵列。
具体的,使暂存条带与第二级冗余阵列的目标条带对应的方式可以采用使暂存条带和目标条带的各分条单元按照分条单元序号的大小一一对应的方式,即暂存条带中各分条单元与目标条带中各分条单元相对应,以保证暂存条带中的数据可准确可靠的搬移至目标条带对。当然,可以理解的是,本领域技术人员可以知道,还可以采用其他的方式使暂存条带和目标条带对一一对应。
步骤102、根据所述新写数据与目标条带中的数据获得校验信息,将所述校验信息写入所述暂存条带中的校验分条单元。
具体的,可利用该暂存条带中写入的新写数据以及目标条带中相关分条单元的数据,通过大写方式或小写的方式计算获得校验信息,并将该校验信息写入暂存条带的校验分条单元,其中,所述的相关分条单元为在计算校验信息时目标条带中部分分条单元,例如以大写方式计算校验信息时,所述相关分条单元即指目标条带中的不需要更新的数据分条单元,而以小写计算校验信息时,所述相关分条单元即指目标条带中待更新的数据分条单元和校验分条单元。为对本发明实施例中的大写方式和小写方式有更好的了解,下面对所述的大写方式和小写方式进行说明。
图3为RAID5条带大写方式的示意图;图4为RAID5条带小写方式的示意图。具体地,如图3和图4所示,在计算RAID5条带中校验分条单元的新校验信息NewP时,可通过大写方式或小写方式获得,其中,大写方式为:NewP=NewD1∧NewD2∧D3∧D4,此时需要读取条带中D3和D4的原始数据,在写数据前要保证D3和D4是正确的;小写方式为:NewP=P∧D1∧D2∧NewD1∧NewD2,此时需要读取条带中D1和D2的原始数据以及P的原始校验信息。
步骤103、将所述暂存条带的数据写入所述目标条带。
由于暂存条带和目标条带对应,因此,可将第一级冗余阵列的暂存条带中的数据搬移至第二级冗余阵列的目标条带中,具体地,可将第一级冗余阵列的暂存条带中新写数据以及校验信息读出,写入目标条带,实现对目标条带的更新,完成数据从暂存条带到目标条带的搬移操作。
本发明实施例所示的技术方案中,更新目标条带时,由于校验信息是在更新目标条带之前通过计算得到,因此,在计算校验信息时,即使目标条带中任何一个分条单元对应的磁盘失效,也可以根据其它分条单元内的数据得到该失效磁盘对应的分条单元内的数据,不会影响校验信息的准确计算,且计算校验数据的过程是根据暂存条带中已写入的完整的数据进行计算获得,计算的结果准确可靠、简单便利,有效保证了磁盘冗余阵列在数据更新(即写数据)过程中的安全性和稳定性,提高了磁盘冗余阵列写数据的性能。并且由于第一级冗余阵列的暂存条带中各分条单元与第二级冗余阵列的目标条带中的各分条单元一一对应,因此当新写数据从第一级冗余阵列中的暂存条带搬移至第二级冗余阵列中的目标条带时,只是将数据在两个存储空间内进行转移,不需要进行其它计算,数据的搬移操作简单、快捷,节省了大量的计算过程。保证了数据搬移的准确性,节省了大量的计算过程。从上述可知,本发明实施例所述技术方案有效提高了磁盘冗余阵列和整个存储系统的数据写操作效率,提高了存储系统数据存储的安全性和可靠性。
图5为本发明实施例二所提供的混合磁盘冗余阵列的写请求处理方法流程示意图。该方法包括以下步骤:
步骤201、接收主机的写请求命令,该写请求命令中包括新写数据及要更新的分条单元的逻辑块地址(LBA)。
其中,新写数据为待写入目标条带的数据,分条单元的逻辑块地址(Logical Block Address,简称LBA)为待更新的目标条带中分条单元的地址。
步骤202、根据写请求命令的LBA确定所述第二级冗余阵列中的目标条带,并在所述第一级冗余阵列中查找与所述目标条带对应的所述暂存条带。
具体地,可根据主机的写请求命令,查找该第一级冗余阵列中是否存在与目标条带对应的条带,如果存在与该目标条带对应的条带,则将该条带作为暂存条带,否则,也可在第一级冗余阵列中分配一空闲的条带作为暂存条带,并建立其与目标条带的对应关系。
步骤203、将所述新写数据写入所述暂存条带的分条单元中,更新所述暂存条带。
步骤204、读出所述目标条带中相关分条单元的数据,结合所述暂存条带中的新写数据,计算得到校验信息,并将所述校验信息写入所述暂存条带中的校验分条单元。
具体地,可通过读取目标条带中的数据并结合暂存条带中的数据获得校验信息,其中,计算校验信息可通过以下步骤获得:从目标条带中读出要更新的分条单元以及校验分条单元的数据,结合暂存条带中写入的新写数据,通过小写方式计算得到校验信息;或者,从目标条带中读出除要更新的分条单元外的其它分条单元的数据,结合暂存条带中写入的新写数据,通过大写方式计算得到校验信息。
步骤205、将所述第一级冗余阵列中暂存条带的数据写入所述目标条带。
具体地,可将暂存条带所有分条单元的数据读出,写入目标条带的相应分条单元中;或者,将暂存条带中的新写数据和校验分条单元中的校验数据读出,写入目标条带的相应分条单元中。
从本发明实施例的技术方案中可以看出,本发明实施例所述磁盘冗余阵列的写请求处理方法不仅有效保证了磁盘冗余阵列在数据更新(即写数据)过程中的安全性和稳定性,提高了磁盘冗余阵列写数据的性能。
图6为本发明实施例三所提供的混合磁盘冗余阵列的写请求处理方法流程示意图。该方法包括以下步骤:
步骤301、接收主机的写请求命令,该写请求命令中包括新写数据及要更新的分条单元的逻辑块地址(LBA)。
其中,新写数据为待更新目标条带的数据,分条单元的LBA为待更新的目标条带中分条单元的地址。
步骤302、根据写请求命令的LBA确定所述第二级冗余阵列中的目标条带,并在所述第一级冗余阵列中查找与所述目标条带对应的所述暂存条带。
具体地,可根据主机的写请求命令,查找该第一级冗余阵列中是否存在与目标条带对应的条带,如果存在与该目标条带对应的条带,则将该条带作为暂存条带,否则,还可在第一级冗余阵列中分配一空闲的条带作为暂存条带,并建立其与目标条带的对应关系。
步骤303、将所述目标条带中所有分条单元中的数据读出,写入所述第一级冗余阵列的所述暂存条带的相应分条单元中。
步骤304、将该新写数据写入所述暂存条带中分条单元中,更新所述暂存条带。
该步骤中,根据请求命令的LBA以及暂存条带与目标条带各分条单元的对应关系,将该新写数据写入暂存条带的相应分条单元,更新暂存条带。
步骤305、根据暂存条带中各分条单元的数据,通过大写方式获得校验信息,将所述校验信息写入校验分条单元。
具体地,当新写数据写入暂存条带后,且当该暂存条带被选中而需要其它操作时,如磁盘冗余阵列因某种淘汰策略(如磁盘冗余阵列进行冷热数据交换时,根据暂存条带的访问频率采用最近最久未使用算法(Least RecentlyUsed,简称LRU)的frequently策略进行淘汰时选中该暂存条带)而需要占用该暂存条带,可将该暂存条带的数据搬移至目标条带中,在搬移至目标条带前,可根据暂存条带除校验分条单元以外其它分条单元的数据,通过大写方式计算得到校验信息,该校验信息即为更新后的目标条带中的校验信息。
步骤306、将所述第一级冗余阵列中暂存条带的数据写入所述目标条带。
具体地,可将暂存条带所有分条单元的数据读出,写入目标条带的相应分条单元中;或者,将暂存条带的带中写入新写数据的数据分条单元和校验分条单元中的数据读出,写入目标条带的相应分条单元中。
此外,在暂存条带的数据搬移至目标条带过程中,若控制器出现故障,可通过备份控制器重新将暂存条带数据搬移至目标条带,有效保证了目标条带数据更新的稳定性和可靠性。
本实施例技术方案中,在将新写数据写入暂存条带之前,将目标条带中所有分条单元内的数据写入暂存条带中,并在新写数据写入暂存条带后,根据暂存条带上除校验分条单元以外的各分条单元的数据计算得到校验信息,然后利用暂存条带中的新写数据以及校验信息实现对目标条带的更新,在目标条带的更新过程中,不需要计算校验信息,有效避免了现有技术中的写洞问题,有效提高了磁盘冗余阵列写数据的稳定性和可靠性,保证磁盘冗余阵列存储数据的安全性。本实施例技术方案更新磁盘冗余阵列条带时准确可靠,提高了磁盘冗余阵列的写操作性能,提高了磁盘冗余阵列的写速度。
图7为本发明实施例四所提供的混合磁盘冗余阵列的写请求处理方法流程示意图,包括:
步骤401、接收主机的写请求命令,该写请求命令中包括新写数据及要更新的分条单元的逻辑块地址(LBA)。
其中,新写数据为待更新目标条带的数据,分条单元的LBA为待更新的目标条带中分条单元的地址。
步骤402、根据写请求命令的LBA确定所述第二级冗余阵列中的目标条带,并在所述第一级冗余阵列中查找与所述目标条带对应的所述暂存条带。
具体地,可根据主机的写请求命令,查找该第一级冗余阵列中是否存在与目标条带对应的条带,如果存在与该目标条带对应的条带,则将该条带作为暂存条带,否则,还可在第一级冗余阵列中分配一空闲的条带作为暂存条带,并建立其与目标条带的对应关系。
步骤403、将目标条带中除要更新的分条单元外的其它分条单元的数据读出,并写入第一级冗余阵列的暂存条带的相应分条单元中。
本步骤只需要将目标条带对中原有的不需要更新的分条单元的数据读出,并写入第一级冗余阵列的暂存条带的相应分条单元,使得数据的读写数据量更少,有效提高了磁盘冗余阵列的读写数据的效率。
步骤404、将新写数据写入第一级冗余阵列的暂存条带的相应分条单元,更新暂存条带。
步骤405、根据暂存条带上各分条单元的数据获得校验信息,通过大写方式得到校验信息,并将校验信息写入校验分条单元。
新写数据成功写入暂存条带后,可根据暂存条带上各分条单元的数据计算得到校验信息,并将计算得到的校验信息写入暂存条带的校验分条单元中。
步骤406、将所述第一级冗余阵列中暂存条带的数据写入所述目标条带。
可以理解的是,本领域技术人员可以知道,本发明实施例中,步骤403和步骤404的执行顺序可以互换。即将新写数据成功写入暂存条带后,当需要将暂存条带搬移至目标条带时,再将目标条带中不需要更新的分条单元的数据读出并写入暂存条带的相应分条单元,从而进行相应的校验信息的计算、数据的搬移操作等。可以看出,此过程在新写数据写入成功后再将目标条带中相关数据写入暂存条带中,目标条带的更新流程简单,有效避免了因新写数据写失败后进行的重复操作。
图8为本发明实施例混合磁盘冗余阵列的写请求处理方法中镜像条带对的结构示意图。上述各实施例中,第一级冗余阵列为镜像结构的磁盘冗余阵列,其中,暂存条带即为镜像条带对中的一个条带,当对镜像条带对中作为暂存条带的第一条带进行写操作更新第一条带过程中,根据镜像条带对的特性,镜像条带对中的第二条带也进行相应的更新操作,使得镜像条带对的第一条带和第二条带的数据保持一致。其中,镜像条带对的第一条带和第二条带可具有不同的特征号,该特征号可为各条带中校验分条单元所在的列号,且各条带以该特征号对应的校验分条单元作为起始序号,并由小到大或由大到小依次对条带中各分条单元进行排序,且第一条带和第二条带按照分条单元序号的大小依次对应。具体地,如图8所示,镜像条带的各条带中均设置有校验分条单元,且每个条带均以该校验分条单元所在的列号作为特征号,并以该特征号作为条带上个分条单元的起始序号,并由小到大进行排序,镜像条带的两个条带以该排序的大小一一对应(即条带中序号最小的分条单元对应另一条带中序号最小的分条单元)。可以看出,通过将镜像条带对的两个条带设置为具有不同的特征号,只需要按照两个条带中每个条带的序号的大小一一对应,即可实现镜像,同时可保证镜像来自不同的列,这样,即使条带中的一个分条单元对应的磁盘出现故障,也可保证镜像条带对中的数据的完整性,保证数据的安全和稳定性能。具体地,上述各实施例中,第一级冗余阵列和第二级冗余阵列中各条带的数据布局均采用RAID5格式并且左对齐,当两个条带的特征号不同时,只需要按照两个条带中每个分条单元的序号的大小一一对应(条带中序号最小的分条单元对应另一条带中序号最小的分条单元),因此,第一级冗余阵列中的镜像条带对采用该种数据布局格式即可实现镜像,并保证镜像来自不同的列;同时,第一级冗余阵列中的镜像条带对和第二级冗余阵列的目标条带都是RAID5格式的条带,镜像条带对和目标条带之间的映射关系简单,容易实现,第一级冗余阵列和第二级冗余阵列之间数据的搬移操作会更加简单。
上述各实施例中,当磁盘冗余阵列的第二级冗余阵列中部分条带的数据需要频繁读出时,可将第二级冗余阵列中读出较频繁的条带中的各分条单元的数据搬移至第一级冗余阵列的相应分条单元上。由于第一级冗余阵列采用镜像结构的磁盘冗余阵列,因此,利用第一级冗余阵列读数据时具有更快的读性能,有效提高数据的读写速度。
上述各实施例中,若主机发送的新写数据为第一次写入磁盘冗余阵列的数据时,可直接将该新写数据写入第二级冗余阵列,同时,也可先在第一级冗余阵列中分配一镜像条带对,将新写数据写入该镜像条带对后,再搬移至第二级冗余阵列的目标条带中。
上述各实施例中,在第一级冗余阵列中分配与第二级冗余阵列中的目标条带对应的镜像条带对时,可根据第一级冗余阵列中各镜像条带对的实际应用状态分配合适的镜像条带对。例如,若第一级冗余阵列中没有符合条件的镜像条带对时,可将第一级冗余阵列中访问频度最小的镜像条带中的数据搬移至第二级冗余阵列,将该镜像条带对作为与目标条带对应的镜像条带对。
上述各实施例中,在第一级冗余阵列采用镜像结构的磁盘冗余阵列时,全冗余镜像结构的冗余阵列使得数据具有较高的安全性,有效保证整个磁盘冗余阵列的写操作性能。
图9为本发明实施例混合磁盘冗余阵列的控制器结构示意图。该控制器可应用于磁盘冗余阵列中,该磁盘冗余阵列包括第一级冗余阵列和第二级冗余阵列,且第二级冗余阵列为带有奇偶校验信息的磁盘冗余阵列,优选的,该磁盘冗余阵列包括图8所述的磁盘冗余阵列。具体地,该控制器包括数据写入模块1、校验信息获取模块2和数据搬移模块3,其中:
数据写入模块1,用于将新写数据写入与目标条带对应的暂存条带,其中,所述暂存条带位于第一级冗余阵列,所述目标条带位于第二级冗余阵列;
优选的,为了提高数据的安全性,所述第一级冗余阵列可以采用镜像结构的磁盘冗余阵列。
校验信息获取模块2,用于根据所述新写数据与目标条带中的数据获得校验信息,将所述校验信息写入所述暂存条带中的校验分条单元;
数据搬移模块3,用于将所述暂存条带的数据写入所述目标条带。
如图9所示,该控制器的数据写入模块1可包括查找单元11和写入单元12,其中:
查找单元11,用于根据所接收的写请求命令的LBA,确定所述第二冗余阵列中的目标条带,并在所述第一级冗余阵列中查找与所述目标条带对应的所述暂存条带;
写入单元12,用于将所述新写数据写入所述暂存条带。
实际应用中,本发明实施例数据写入模块1还可包括预写入单元13,该预写入单元13用于在写入单元12将新写数据写入暂存条带之前,将目标条带中所有分条单元中的数据读出,写入暂存条带的相应分条单元中;或者,将目标条带中除要更新的分条单元外的其它分条单元的数据读出,写入暂存条带的相应分条单元中。
此外,校验信息获取模块2可根据所述暂存条带上分条单元的数据获得校验信息的方式包括:根据暂存条带上除校验分条单元以外的其它分条单元的数据,通过大写方式获得校验信息,将校验信息写入暂存条带中的校验分条单元。
实际应用中,本发明实施例控制器也可不设置预写入单元,当校验信息获取模块计算获得校验信息时,可直接从目标条带读取相关分条单元的数据,通过大写方式或小写方式获得校验信息。
图10为本发明实施例混合磁盘冗余阵列的控制器中校验信息获取模块的结构示意图。具体地,如图10所示,校验信息获取模块2可包括校验信息计算单元21和校验信息写入单元22,其中:
校验信息计算单元21,用于从目标条带中读出要更新的分条单元以及校验分条单元的数据,结合暂存条带上写入的新写数据,通过小写方式计算得到所述校验信息;或者,用于从目标条带中读出除待更新的分条单元的其它分条单元的数据,结合暂存条带上写入的新写数据,通过大写方式计算得到校验信息。
此外,当目标条带中的数据写入暂存条带后,校验信息计算单元21也可以根据暂存条带上除校验分条单元以外的其它分条单元的数据,通过大写方式获得校验信息,将校验信息写入暂存条带中的校验分条单元。
校验信息写入单元22,用于将校验信息计算单元得到的校验信息写入暂存条带中的校验分条单元。
本发明实施例控制器可接收主机的写请求命令,对磁盘冗余阵列进行写操作,实现对写请求的处理操作。具体地,实际应用中,本实施例控制器可实现上述磁盘冗余阵列的写请求处理方法实施例中的步骤或功能,具体地实现过程可参考上述磁盘冗余阵列的写请求处理方法实施例的步骤,在此不再赘述。
本发明实施例所示的技术方案中,通过数据写入模块将待写入目标条带的数据写入第一级冗余阵列中的暂存条带中,并通过校验信息获取模块通过该新写入数据获得新的校验信息,并将此校验信息也写入所述暂存条带的分条单元中,然后通过数据搬移模块将所述暂存条带中的数据写入所述目标条带,更新该目标条带。因此,由于校验信息的计算在写入目标条带之前就完成,并且提高了数据写入目标条带过程中的安全性和稳定性,增强了磁盘冗余阵列写操作性能。
图11为本发明实施例存储系统结构示意图。本实施例存储系统包括控制器10和混合磁盘冗余阵列20,其中:
混合磁盘冗余阵列20包括第一级冗余阵列和第二级冗余阵列,且第一级冗余阵列的条带中设置有校验分条单元;
控制器10可包括数据写入模块1、校验信息获取模块2和数据搬移模块3,其中:
数据写入模块1,用于将新写数据写入与目标条带对应的暂存条带,其中,所述暂存条带位于第一级冗余阵列,所述目标条带位于第二级冗余阵列;
校验信息获取模块2,用于根据所述新写数据与目标条带中的数据获得校验信息,将所述校验信息写入所述暂存条带中的校验分条单元;
数据搬移模块3,用于将所述暂存条带的数据写入所述目标条带。
此外,如图11所示,本实施例存储系统还可包括:
备份控制器30,用于当第一级冗余阵列的暂存条带中的数据写入第二级冗余阵列的目标条带时,若所述控制器10出现故障,则利用所述备份控制器30将所述暂存条带的数据重新写入所述目标条带。
具体地,备份控制器30可为与控制器10具有相同的结构和功能,通过备份控制器30可有效保证存储系统在数据的写操作中的安全性和可靠性,保证存储系统的写操作性能。
本实施例控制器10中的数据写入模块1还可包括查找单元和写入单元。具体地,本实施例控制器10可具有与上述本发明实施例控制器具有相同的结构和功能,在此不再赘述。
实际应用中,本发明实施例的第一级冗余阵列可为镜像结构的磁盘冗余阵列,如可为RAID1格式的磁盘冗余阵列,或者RAID10格式的磁盘冗余阵列,第二级冗余阵列具体可为RAID5格式的磁盘冗余阵列。具体地,本发明实施例存储系统中的磁盘冗余阵列为包括作为第一级冗余阵列的RAID1格式磁盘冗余阵列和作为第二级冗余阵列的RAID5格式的磁盘冗余阵列。本实施例第一级冗余阵列通过采用镜像结构的冗余阵列,可以有效提高数据的安全性和稳定性,保证整个存储系统的读写性能。
本实施例存储系统可以根据上述本发明磁盘冗余阵列的写请求处理方法实施例步骤对目标条带进行更新,其与上述方法实施例可具有相同的功能和技术效果,在此不再赘述。
此外,在本发明实施例所述技术方案中,暂存条带的数据搬移至目标条带过程中,若控制器出现故障,还可通过备份控制器重新将暂存条带数据搬移至目标条带,有效保证了目标条带数据更新的稳定性和可靠性。同时,在搬移过程中,即使目标条带的其中任何一个分条单元失效,只需要按照正常的搬移操作即可,目标条带中的数据不会出现错误或不准确,有效保证数据更新的效果和质量,增强了磁盘冗余阵列的写操作性能,提高了磁盘冗余阵列的安全性和稳定性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。

Claims (10)

1.一种混合磁盘冗余阵列的写请求处理方法,其特征在于,所述方法包括:
将新写数据写入与目标条带对应的暂存条带,其中,所述暂存条带位于第一级冗余阵列,所述目标条带位于第二级冗余阵列;
根据所述新写数据与目标条带中的数据获得校验信息,将所述校验信息写入所述暂存条带中的校验分条单元;
将所述暂存条带的数据写入所述目标条带。
2.根据权利要求1所述的混合磁盘冗余阵列的写请求处理方法,其特征在于,所述将新写数据写入与目标条带对应的暂存条带包括:
根据所接收的写请求命令的逻辑块地址,确定所述第二级冗余阵列中的目标条带,并在所述第一级冗余阵列中查找与所述目标条带对应的所述暂存条带;
将所述新写数据写入所述暂存条带。
3.根据权利要求1所述的混合磁盘冗余阵列的写请求处理方法,其特征在于,所述根据所述新写数据与目标条带中的数据获得校验信息包括:
从所述目标条带中读出待更新的分条单元以及校验分条单元的数据,结合所述暂存条带上写入的所述新写数据,通过小写方式计算得到所述校验信息;或者,
从所述目标条带中读出除了待更新的分条单元的其它分条单元的数据,结合所述暂存条带上写入的所述新写数据,通过大写方式计算得到所述校验信息。
4.根据权利要求1所述的混合磁盘冗余阵列的写请求处理方法,其特征在于,所述第一级冗余阵列为镜像结构的磁盘冗余阵列,所述暂存条带为所述第一级冗余阵列的镜像条带对中的一个条带。
5.根据权利要求1所述的混合磁盘冗余阵列的写请求处理方法,其特征在于,所述第一级冗余阵列包括RAID1格式或RAID10格式的磁盘冗余阵列,所述第二级冗余阵列包括RAID5格式的磁盘冗余阵列。
6.一种混合磁盘冗余阵列的控制器,特征在于,包括:
数据写入模块,用于将新写数据写入与目标条带对应的暂存条带,其中,所述暂存条带位于第一级冗余阵列,所述目标条带位于第二级冗余阵列;
校验信息获取模块,用于根据所述新写数据与目标条带中的数据获得校验信息,将所述校验信息写入所述暂存条带中的校验分条单元;
数据搬移模块,用于将所述暂存条带的数据写入所述目标条带。
7.根据权利要求6所述的混合磁盘冗余阵列的控制器,其特征在于,所述数据写入模块包括:
查找单元,用于根据所接收的写请求命令的逻辑块地址,确定所述第二级冗余阵列中的目标条带,并在所述第一级冗余阵列中查找与所述目标条带对应的所述暂存条带;
写入单元,用于将所述新写数据写入所述暂存条带。
8.根据权利要求6所述的混合磁盘冗余阵列的控制器,其特征在于,所述校验信息获取模块包括:
校验信息计算单元,用于从所述目标条带中读出要更新的分条单元以及校验分条单元的数据,结合所述暂存条带上写入的所述新写数据,通过小写方式计算得到所述校验信息;或者,
用于从所述目标条带中读出除待更新的分条单元的其它分条单元的数据,结合所述暂存条带上写入的所述新写数据,通过大写方式计算得到所述校验信息;
校验信息写入单元,用于将所述校验信息计算单元得到的所述校验信息写入所述暂存条带中的校验分条单元。
9.一种存储系统,其特征在于,包括混合磁盘冗余阵列以及如权利要求6~8任一所述的控制器,其中,所述控制器用于对所述混合磁盘冗余阵列进行操作,所述混合磁盘冗余阵列包括第一级冗余阵列和第二级冗余阵列。
10.根据权利要求9所述的存储系统,其特征在于,还包括:
备份控制器,用于当所述控制器将第一级冗余阵列的暂存条带中的数据写入第二级冗余阵列的目标条带时出现故障的情况下,将所述暂存条带的数据重新写入所述目标条带。
CN2009100866855A 2009-06-17 2009-06-17 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统 Active CN101923441B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100866855A CN101923441B (zh) 2009-06-17 2009-06-17 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100866855A CN101923441B (zh) 2009-06-17 2009-06-17 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统

Publications (2)

Publication Number Publication Date
CN101923441A true CN101923441A (zh) 2010-12-22
CN101923441B CN101923441B (zh) 2012-08-22

Family

ID=43338408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100866855A Active CN101923441B (zh) 2009-06-17 2009-06-17 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统

Country Status (1)

Country Link
CN (1) CN101923441B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122236A (zh) * 2011-03-21 2011-07-13 成都市华为赛门铁克科技有限公司 写请求的处理方法及装置
CN102609223A (zh) * 2012-02-13 2012-07-25 浪潮(北京)电子信息产业有限公司 一种独立冗余磁盘阵列系统及其初始化方法
CN103729150A (zh) * 2014-01-14 2014-04-16 浪潮电子信息产业股份有限公司 一种在存储阵列中处理Write Hole的方法
CN104503706A (zh) * 2014-12-23 2015-04-08 中国科学院计算技术研究所 一种基于磁盘阵列的数据存储及读取方法
CN104615381A (zh) * 2015-01-18 2015-05-13 浙江宇视科技有限公司 一种视频监控系统的磁盘冗余阵列
CN106027638A (zh) * 2016-05-18 2016-10-12 华中科技大学 一种基于混合编码的hadoop数据分发方法
CN108572882A (zh) * 2017-03-10 2018-09-25 华为技术有限公司 一种数据存储的方法及存储设备
CN109189340A (zh) * 2018-08-29 2019-01-11 上海兆芯集成电路有限公司 用于存取独立硬盘冗余阵列的系统与方法
CN109213427A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN110321058A (zh) * 2018-03-29 2019-10-11 杭州海康威视数字技术股份有限公司 一种数据处理方法及其装置
CN115344205A (zh) * 2022-08-15 2022-11-15 超聚变数字技术有限公司 一种针对磁盘固件升级过程中的读写数据方法及计算设备
CN116149575A (zh) * 2023-04-20 2023-05-23 北京大学 面向服务器无感知计算的磁盘冗余阵列写入方法及系统
CN117806568A (zh) * 2024-02-29 2024-04-02 山东云海国创云计算装备产业创新中心有限公司 一种数据更新方法、装置、设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1825373A2 (en) * 2004-11-05 2007-08-29 Data Robotics Incorporated Dynamically expandable and contractible fault-tolerant storage system with virtual hot spare
CN1924786A (zh) * 2006-09-29 2007-03-07 我想科技股份有限公司 独立磁盘冗余阵列系统
CN101458613B (zh) * 2008-12-31 2011-04-20 成都市华为赛门铁克科技有限公司 一种混合分级阵列的实现方法、混合分级阵列和存储系统
CN101916173B (zh) * 2010-08-27 2013-08-28 杭州华三通信技术有限公司 一种基于raid的数据读写方法及其系统

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122236B (zh) * 2011-03-21 2013-08-28 华为数字技术(成都)有限公司 写请求的处理方法及装置
CN102122236A (zh) * 2011-03-21 2011-07-13 成都市华为赛门铁克科技有限公司 写请求的处理方法及装置
CN102609223B (zh) * 2012-02-13 2015-06-24 浪潮(北京)电子信息产业有限公司 一种独立冗余磁盘阵列系统及其初始化方法
CN102609223A (zh) * 2012-02-13 2012-07-25 浪潮(北京)电子信息产业有限公司 一种独立冗余磁盘阵列系统及其初始化方法
CN103729150A (zh) * 2014-01-14 2014-04-16 浪潮电子信息产业股份有限公司 一种在存储阵列中处理Write Hole的方法
CN104503706A (zh) * 2014-12-23 2015-04-08 中国科学院计算技术研究所 一种基于磁盘阵列的数据存储及读取方法
CN104503706B (zh) * 2014-12-23 2017-10-10 中国科学院计算技术研究所 一种基于磁盘阵列的数据存储及读取方法
CN104615381A (zh) * 2015-01-18 2015-05-13 浙江宇视科技有限公司 一种视频监控系统的磁盘冗余阵列
CN104615381B (zh) * 2015-01-18 2018-04-27 浙江宇视科技有限公司 一种视频监控系统的磁盘冗余阵列
CN106027638A (zh) * 2016-05-18 2016-10-12 华中科技大学 一种基于混合编码的hadoop数据分发方法
CN106027638B (zh) * 2016-05-18 2019-04-12 华中科技大学 一种基于混合编码的hadoop数据分发方法
CN108572882A (zh) * 2017-03-10 2018-09-25 华为技术有限公司 一种数据存储的方法及存储设备
CN108572882B (zh) * 2017-03-10 2020-07-14 华为技术有限公司 一种数据存储的方法及存储设备
CN109213427A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN109213427B (zh) * 2017-06-30 2021-06-29 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
US11269726B2 (en) 2017-06-30 2022-03-08 EMC IP Holding Company LLC Method and device for managing storage system
CN110321058A (zh) * 2018-03-29 2019-10-11 杭州海康威视数字技术股份有限公司 一种数据处理方法及其装置
CN110321058B (zh) * 2018-03-29 2023-08-25 杭州海康威视数字技术股份有限公司 一种数据处理方法及其装置
CN109189340A (zh) * 2018-08-29 2019-01-11 上海兆芯集成电路有限公司 用于存取独立硬盘冗余阵列的系统与方法
CN109189340B (zh) * 2018-08-29 2021-11-09 上海兆芯集成电路有限公司 用于存取独立硬盘冗余阵列的系统与方法
CN115344205A (zh) * 2022-08-15 2022-11-15 超聚变数字技术有限公司 一种针对磁盘固件升级过程中的读写数据方法及计算设备
CN116149575A (zh) * 2023-04-20 2023-05-23 北京大学 面向服务器无感知计算的磁盘冗余阵列写入方法及系统
CN117806568A (zh) * 2024-02-29 2024-04-02 山东云海国创云计算装备产业创新中心有限公司 一种数据更新方法、装置、设备和存储介质
CN117806568B (zh) * 2024-02-29 2024-06-07 山东云海国创云计算装备产业创新中心有限公司 一种数据更新方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN101923441B (zh) 2012-08-22

Similar Documents

Publication Publication Date Title
CN101923441B (zh) 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统
US11042441B2 (en) Stripe mapping in memory
US8266501B2 (en) Stripe based memory operation
CN103577111B (zh) 基于非易失性存储器的动态独立冗余阵列存储系统及方法
CN103534688B (zh) 数据恢复方法、存储设备和存储系统
CN102207895B (zh) 一种独立磁盘冗余阵列数据重建方法和装置
JP5286956B2 (ja) 制御方法、ディスクアレイ装置
CN101840360A (zh) Raid系统的快速重建方法及装置
CN110413454B (zh) 基于存储阵列的数据重建方法、装置及存储介质
US20050210322A1 (en) Migrating data between storage volumes
CN112513804B (zh) 一种数据处理方法及装置
CN106681848B (zh) 一种纠删码raid的数据一致性保障方法及系统
US20080091916A1 (en) Methods for data capacity expansion and data storage systems
US20220350703A1 (en) Write hole protection method and system for raid, and storage medium
CN111240887A (zh) 基于三维闪存存储结构的错误页识别方法
CN111124262A (zh) 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质
CN107885620B (zh) 一种提高固态盘阵列性能和可靠性的方法及系统
US20050076260A1 (en) Raid consistency initialization method
CN109542671B (zh) 校验数据生成方法及固态硬盘
US20140173337A1 (en) Storage apparatus, control method, and control program
CN116185311B (zh) 独立磁盘冗余阵列的升级迁移方法、降级迁移方法及装置
US8775735B2 (en) Storage system and operation method of a storage system
CN114415968B (zh) 存储系统及其数据写入方法
CN102109965B (zh) 闪存储存系统、闪存控制器、电脑系统及模拟方法
CN113703683B (zh) 一种单一的优化冗余存储系统的装置

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
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP03 Change of name, title or address

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: High tech Park No. 88 University of Electronic Science and technology of Sichuan province 611731 Chengdu Tianchen Road

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20220909

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

TR01 Transfer of patent right