CN103019893A - 一种多盘容错的二维混合盘raid4***架构及其读写方法 - Google Patents

一种多盘容错的二维混合盘raid4***架构及其读写方法 Download PDF

Info

Publication number
CN103019893A
CN103019893A CN201210464825XA CN201210464825A CN103019893A CN 103019893 A CN103019893 A CN 103019893A CN 201210464825X A CN201210464825X A CN 201210464825XA CN 201210464825 A CN201210464825 A CN 201210464825A CN 103019893 A CN103019893 A CN 103019893A
Authority
CN
China
Prior art keywords
disk
data
band
raid4
write
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.)
Pending
Application number
CN201210464825XA
Other languages
English (en)
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
Original Assignee
Huazhong University of Science and Technology
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 filed Critical Huazhong University of Science and Technology
Priority to CN201210464825XA priority Critical patent/CN103019893A/zh
Publication of CN103019893A publication Critical patent/CN103019893A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种多盘容错的二维混合盘RAID4***和体系结构,包括RAID4控制器和盘阵,盘阵包括磁盘阵列和作为校验盘的固态硬盘,磁盘阵列和固态硬盘组成二维阵列结构,固态硬盘的控制器中增设缓存模块以及异或模块,缓存模块用于数据的缓冲,异或模块是在固态硬盘中的现场可编程逻辑门阵列中实现,用于处理RAID4校验数据的计算,有效的提高计算的处理速度。本发明通过简化IO操作流程、建立将固态硬盘作为校验盘的二维混合盘RAID4体系架构,至少可以纠正3盘错误,并透明完成数据校验计算,同时大幅减少读写检验盘的IO操作数,有效消除校验盘的读写瓶颈,提高***的性能。

Description

一种多盘容错的二维混合盘RAID4***架构及其读写方法
技术领域
本发明属于存储技术领域,更具体地,涉及一种多盘容错的二维混合盘RAID4***架构及其读写方法。
背景技术
独立冗余磁盘阵列(Redundant Access Independent Disk,简称RAID)技术已经作为一种成熟的技术广泛应用于数据存储中。RAID技术具有从RAID0到RAID6七种基本的RAID级别,不同的级别代表着不同的存储性能、数据安全性和存储成本。其中RAID4是在RAID3的基础上发展起来。如图1所示,在RAID4模式中,磁盘阵列包含N个存储数据的磁盘(简称数据盘)以及一个专门用于存储奇偶校验信息的磁盘(简称校验盘),它一条带(Datastriping)为基础,在把文件数据分块后写进一个数据盘的同时,对其它数据盘内与该数据块相同盘内位置的所有数据块计算出它们的奇偶校验值(XOR操作完成),最终形成一个由奇偶校验值组成的信息块,并将其写入校验盘,这被称为数据保护(Data guarding)。它只能容忍一个磁盘出现故障,如何提高磁盘阵列的容错能力是我们要解决的问题。另外,由于磁盘的每秒处理IO操作能力有限,新的读写请求必须等待旧的读写完成之后才能处理。也就是说对于RAID4***而言,只能实现对数据盘读操作的并发,不能实现阵列写操作的并发。同时,为了有效解决大规模存储***当多盘失效的时候,一维的RAID结构,只能容一盘错的情况。如何解决校验盘的瓶颈和多盘失效的问题,从而提高阵列的性能和阵列的可靠性是我们要解决的问题。此外,随着磁盘阵列在各个领域的中高低端的广泛应用,磁盘阵列的能耗也成为广泛关注的问题,如何降低阵列能耗同样是我们要解决的另一个问题。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种多盘容错的二维混合盘RAID4***架构,本发明通过简化IO操作流程、建立将固态硬盘作为校验盘的二维混合盘RAID4体系架构,至少可以纠正3盘错误,并透明完成数据校验计算,同时大幅减少读写检验盘的IO操作数,有效消除校验盘的读写瓶颈,提高***的性能。
为实现上述目的,本发明提供了一种多盘容错的二维混合盘RAID4***架构,包括RAID4控制器和盘阵,盘阵包括磁盘阵列和作为校验盘的固态硬盘,磁盘阵列和固态硬盘组成二维阵列结构,固态硬盘的控制器中增设缓存模块以及异或模块,缓存模块用于数据的缓冲,异或模块是在固态硬盘中的现场可编程逻辑门阵列中实现,用于处理RAID4校验数据的计算。
本发明还提供了一种多盘容错的二维混合盘RAID4***架构的读操作方法,包括以下步骤:
(1)步骤701,RAID控制器核心模块的处理线程首先从SCSI命令队列中取出读请求;
(2)步骤702,对该读请求的读地址空间按照行优先原则,对条带进行拆分,属于同一个读请求的条带用队列管理起来;
(3)步骤703,RAID控制器的处理线程为每一个条带构造一个目标端和缓存模块之间通信的读命令,并且将命令发送到缓存模块;
(4)步骤704,接收读数据条带1、数据条带2、数据条带3的命令,分别从数据盘1,数据盘2,数据盘3中读出条带1、条带2、条带3,并将条带数据缓冲在缓存模块中;
(5)步骤705,通过DMA对主机端进行传输。
本发明还提供了一种多盘容错的二维混合盘RAID4***架构的写操作方法,包括以下步骤:
(1)步骤801,RAID控制器核心模块的处理线程首先从SCSI命令队列取出该写命令;
(2)步骤802,对该写命令的读地址空间按照条带进行拆分,属于同一个写命令的纵向条带和横向条带分别用队列管理起来;
(3)步骤803,RAID控制器的处理线程为每一个条带构造一个目标端和缓存模块之间通信的写命令,并且将命令发送到缓存模块;
(4)步骤804,为RAID4***中的特殊固态硬盘新增自定义命令“异或写”;
(5)步骤805,在异或模块中进行异或运算
Figure BDA00002417115200031
(其中数据P为原始的校验数据),得到新的校验数据条带P’;
(6)步骤806,再将条带P’写入作为校验盘的固态硬盘中,同时将条带1’写入相应的数据盘中。
步骤(4)中,对于写操作,是采用新数据和老数据在校验盘的内部逻辑进行异或之后产生的数据进行写入。
通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:
1、由于采用了二维阵列结构,有效的解决了多盘失效的问题,显著地提高了RAID4***的可靠性。
2、由于采用了固态硬盘作为校验盘,显著提高了RAID4***的响应速度,同时也降低了***的功耗。
3、由于将传统的RAID控制器中的校验更新模块放在固态硬盘中实现,大幅减少了读写数据时检验盘的IO操作数,大大提高了***的性能。
4、由于校验更新模块在固态硬盘中实现,大大降低了RAID控制器的设计难度和成本。
附图说明
图1是现有RAID4***拓扑结构示意图。
图2是本发明多盘容错的二维混合盘RAID4***架构拓扑结构示意图。
图3是现有RAID4***的整体结构示意图。
图4是本发明多盘容错的二维混合盘RAID4***架构的整体结构示意图。
图5是本发明中的固态硬盘整体结构示意图。
图6是本发明中的多盘容错的二维混合盘RAID4检错纠错示意图。
图7是本发明多盘容错的二维混合盘RAID4***的读操作方法的流程图。
图8是本发明多盘容错的二维混合盘RAID4***的写操作方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图2为本发明多盘容错的二维混合盘RAID4***架构的拓扑结构示意图,传统的机械磁盘201和本发明的固态盘202构成一个二维拓扑结构。
本发明提供的多盘容错的二维混合盘RAID4***如图4所示,与现有的RAID4***一样,均包括RAID4控制器403和盘阵,其中盘阵包括磁盘阵列404和作为校验盘的固态硬盘405,它们组成一个二维阵列结构。主机端服务器401、302通过光纤通道406和iSCSI通道407和RAID控制器403相连。对比图3,可以发现本发明中的***与现有技术的RAID4***不同,本发明采用的二维阵列结构具有高容错功能,最少可以容忍同时三个磁盘发生故障。如图6所示,最坏的情况为三个出故障的磁盘排成了十字形。其中标号601为出故障的磁盘,602为正常的磁盘,603为本发明中使用的固态硬盘校验盘。当发现有磁盘出现故障时,由于奇偶校验的对称性,可以先根据校验盘c1和1列磁盘其他磁盘数据恢复磁盘01,然后根据校验盘r1和1行其他词哦按数据恢复磁盘10,最后根据校验盘c0或者r0恢复磁盘00,保证数据不丢失。
此外本发明中的固态硬盘具有简化IO操作的功能。如图5所示,改造后的固态硬盘是在现有的结构的固态硬盘控制器中加入了两个功能模块:缓存模块(Data Buffer)4093以及异或模块4091,其中缓存模块4093除了作为数据的缓冲之外,由于固态硬盘的写寿命问题,使用性能较好的缓存硬件以及较优的写策略,可以减少对固态硬盘的闪存介质的写次数(在主机对相同地址多次写操作时,可以在缓存里最终合并成一个操作并发送到闪存介质),从而延长固态硬盘的寿命。另外异或模块4091是将原来设置在RAID控制器中的校验更新模块改为在固态硬盘中的现场可编程逻辑门阵列中实现,将原来要在RAID控制器这层进行的数据异或处理改在固态硬盘控制器中进行处理,这样做的好处是减少RAID控制器与固态硬盘之间因更新校验数据而产生的IO操作数,以提高***整体性能。因为在RAID控制器中计算校验时,需要先读回原来的校验信息,并与新写入数据盘的数据计算以生成新的校验信息,因此在校验盘内计算校验能够避免不必要的数据传输操作,发挥输入输出接口的最大能力,从而提高***的整体性能。
下面阐述本发明多盘容错的二维混合盘RAID4***架构的读写操作方法。
如图7所示,本发明多盘容错的二维混合盘RAID4***的读操作方法,以SCSI(Small Computer System Interface,小型计算机***接口)协议为例,包括以下步骤:
(1)步骤701,RAID控制器核心模块的处理线程首先从SCSI命令队列中取出读请求;
(2)步骤702,对该读请求的读地址空间按照行优先原则,对条带进行拆分,属于同一个读请求的条带用队列管理起来;
(3)步骤703,RAID控制器的处理线程为每一个条带构造一个目标端和缓存模块之间通信的读命令,并且将命令发送到缓存模块;
(4)步骤704,接收读数据条带1、数据条带2、数据条带3的命令,分别从数据盘1,数据盘2,数据盘3中读出条带1、条带2、条带3,并将条带数据缓冲在缓存模块中;
(5)步骤705,通过DMA对主机端进行传输。
如图8所示,本发明多盘容错的二维混合盘RAID4***的写操作方法包括以下步骤:
(1)步骤801,RAID控制器核心模块的处理线程首先从SCSI命令队列取出该写命令;
(2)步骤802,对该写命令的读地址空间按照条带进行拆分,属于同一个写命令的纵向条带和横向条带分别用队列管理起来;
(3)步骤803,RAID控制器的处理线程为每一个条带构造一个目标端和缓存模块之间通信的写命令,并且将命令发送到缓存模块;
(4)步骤804,为RAID4***中的特殊固态硬盘新增自定义命令“异或写”;
(5)步骤805,在异或模块中进行异或运算
Figure BDA00002417115200061
(其中数据P为原始的校验数据),得到新的校验数据条带P’;
(6)步骤806,再将条带P’写入作为校验盘的固态硬盘中,同时将条带1’写入相应的数据盘中。
这样带来的好处有2个:
(1)少了一半的IO操作数,不用将校验盘中的老数据读出到RAID控制器,在RAID控制器中和新数据做异或操作之后将结果写入;
(2)二是对于RAID控制器来讲,异或写的命令处理比较类似于写操作,由于校验固态硬盘缓存的存在,只要缓存不满,IO操作就不会阻塞,可以获得很小的IO响应时间。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种多盘容错的二维混合盘RAID4***架构,包括RAID4控制器和盘阵,盘阵包括磁盘阵列和作为校验盘的固态硬盘,其特征在于,磁盘阵列和固态硬盘组成二维阵列体系结构,固态硬盘的控制器中增设缓存模块以及异或模块,缓存模块用于数据的缓冲,异或模块是在固态硬盘中的现场可编程逻辑门阵列中实现,用于处理RAID4校验数据的计算。
2.一种权利要求1所述的多盘容错的二维混合盘RAID4***架构的读操作方法,其特征在于,包括以下步骤:
(1)步骤701,RAID控制器核心模块的处理线程首先从SCSI命令队列中取出读请求;
(2)步骤702,对该读请求的读地址空间按照行优先原则,对条带进行拆分,属于同一个读请求的条带用队列管理起来;
(3)步骤703,RAID控制器的处理线程为每一个条带构造一个目标端和缓存模块之间通信的读命令,并且将命令发送到缓存模块;
(4)步骤704,接收读数据条带1、数据条带2、数据条带3的命令,分别从数据盘1,数据盘2,数据盘3中读出条带1、条带2、条带3,并将条带数据缓冲在缓存模块中;
(5)步骤705,通过DMA对主机端进行传输。
3.一种权利要求1所述的多盘容错的二维混合盘RAID4***架构的写操作方法,其特征在于,包括以下步骤:
(1)步骤801,RAID控制器核心模块的处理线程首先从SCSI命令队列取出该写命令;
(2)步骤802,对该写命令的读地址空间按照条带进行拆分,属于同一个写命令的纵向条带和横向条带分别用队列管理起来;
(3)步骤803,RAID控制器的处理线程为每一个条带构造一个目标端和缓存模块之间通信的写命令,并且将命令发送到缓存模块;
(4)步骤804,为RAID4***中的特殊固态硬盘新增自定义命令“异或写”;
(5)步骤805,在异或模块中进行异或运算
Figure FDA00002417115100021
(其中数据P为原始的校验数据),得到新的校验数据条带P’;
(6)步骤806,再将条带P’写入作为校验盘的固态硬盘中,同时将条带1’写入相应的数据盘中。
4.根据权利要求3所述的写操作方法,其特征在于,步骤(4)中,对于写操作,是采用新数据和老数据在校验盘的内部逻辑进行异或之后产生的数据进行写入。
CN201210464825XA 2012-11-16 2012-11-16 一种多盘容错的二维混合盘raid4***架构及其读写方法 Pending CN103019893A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210464825XA CN103019893A (zh) 2012-11-16 2012-11-16 一种多盘容错的二维混合盘raid4***架构及其读写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210464825XA CN103019893A (zh) 2012-11-16 2012-11-16 一种多盘容错的二维混合盘raid4***架构及其读写方法

Publications (1)

Publication Number Publication Date
CN103019893A true CN103019893A (zh) 2013-04-03

Family

ID=47968523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210464825XA Pending CN103019893A (zh) 2012-11-16 2012-11-16 一种多盘容错的二维混合盘raid4***架构及其读写方法

Country Status (1)

Country Link
CN (1) CN103019893A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488432A (zh) * 2013-09-16 2014-01-01 哈尔滨工程大学 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法
CN103761058A (zh) * 2014-01-23 2014-04-30 天津中科蓝鲸信息技术有限公司 Raid1和raid4混合结构网络存储***及方法
CN104461926A (zh) * 2014-11-27 2015-03-25 记忆科技(深圳)有限公司 一种基于二维raid的固态硬盘数据保护方法
CN104750433A (zh) * 2015-03-26 2015-07-01 浪潮集团有限公司 一种基于scst的缓存设计方法
CN106021034A (zh) * 2016-05-11 2016-10-12 华中科技大学 一种容多个设备和扇区错的编码的优化方法
CN106293990A (zh) * 2016-08-10 2017-01-04 华中科技大学 一种基于批量写校验的独立磁盘冗余阵列方法
CN108595269A (zh) * 2018-04-26 2018-09-28 北京腾凌科技有限公司 一种数据处理方法、指令生成装置和数据读写装置
CN109933547A (zh) * 2019-01-29 2019-06-25 山东华芯半导体有限公司 一种ssd主控中的raid被动加速装置和加速方法
CN117311646A (zh) * 2023-11-29 2023-12-29 苏州元脑智能科技有限公司 固态硬盘配置管理方法、装置、计算机设备及存储介质
CN117389481A (zh) * 2023-12-08 2024-01-12 鹏钛存储技术(南京)有限公司 一种固态硬盘实现xor加速的方法
WO2024131122A1 (zh) * 2022-12-19 2024-06-27 苏州元脑智能科技有限公司 一种数据缓存的方法、***、设备和非易失性可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172321A1 (en) * 2002-03-11 2003-09-11 Wolin Dale Haddon System and methods for fault path testing through automated error injection
CN101923501A (zh) * 2010-07-30 2010-12-22 华中科技大学 一种磁盘阵列多级容错方法
CN102122235A (zh) * 2011-01-24 2011-07-13 武汉固捷联讯科技有限公司 一种raid4***及其数据读写方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172321A1 (en) * 2002-03-11 2003-09-11 Wolin Dale Haddon System and methods for fault path testing through automated error injection
CN101923501A (zh) * 2010-07-30 2010-12-22 华中科技大学 一种磁盘阵列多级容错方法
CN102122235A (zh) * 2011-01-24 2011-07-13 武汉固捷联讯科技有限公司 一种raid4***及其数据读写方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488432B (zh) * 2013-09-16 2017-05-24 哈尔滨工程大学 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法
CN103488432A (zh) * 2013-09-16 2014-01-01 哈尔滨工程大学 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法
CN103761058A (zh) * 2014-01-23 2014-04-30 天津中科蓝鲸信息技术有限公司 Raid1和raid4混合结构网络存储***及方法
CN103761058B (zh) * 2014-01-23 2016-08-17 天津中科蓝鲸信息技术有限公司 Raid1和raid4混合结构网络存储***及方法
CN104461926A (zh) * 2014-11-27 2015-03-25 记忆科技(深圳)有限公司 一种基于二维raid的固态硬盘数据保护方法
CN104750433A (zh) * 2015-03-26 2015-07-01 浪潮集团有限公司 一种基于scst的缓存设计方法
CN106021034A (zh) * 2016-05-11 2016-10-12 华中科技大学 一种容多个设备和扇区错的编码的优化方法
CN106293990B (zh) * 2016-08-10 2019-06-07 华中科技大学 一种基于批量写校验的独立磁盘冗余阵列读写方法
CN106293990A (zh) * 2016-08-10 2017-01-04 华中科技大学 一种基于批量写校验的独立磁盘冗余阵列方法
CN108595269A (zh) * 2018-04-26 2018-09-28 北京腾凌科技有限公司 一种数据处理方法、指令生成装置和数据读写装置
CN108595269B (zh) * 2018-04-26 2020-10-09 北京腾凌科技有限公司 一种数据处理方法、指令生成装置和数据读写装置
CN109933547A (zh) * 2019-01-29 2019-06-25 山东华芯半导体有限公司 一种ssd主控中的raid被动加速装置和加速方法
CN109933547B (zh) * 2019-01-29 2023-03-10 山东华芯半导体有限公司 一种ssd主控中的raid被动加速装置和加速方法
WO2024131122A1 (zh) * 2022-12-19 2024-06-27 苏州元脑智能科技有限公司 一种数据缓存的方法、***、设备和非易失性可读存储介质
CN117311646A (zh) * 2023-11-29 2023-12-29 苏州元脑智能科技有限公司 固态硬盘配置管理方法、装置、计算机设备及存储介质
CN117311646B (zh) * 2023-11-29 2024-02-23 苏州元脑智能科技有限公司 固态硬盘配置管理方法、装置、计算机设备及存储介质
CN117389481A (zh) * 2023-12-08 2024-01-12 鹏钛存储技术(南京)有限公司 一种固态硬盘实现xor加速的方法
CN117389481B (zh) * 2023-12-08 2024-02-09 鹏钛存储技术(南京)有限公司 一种固态硬盘实现xor加速的方法

Similar Documents

Publication Publication Date Title
CN103019893A (zh) 一种多盘容错的二维混合盘raid4***架构及其读写方法
CN102122235B (zh) 一种raid4***及其数据读写方法
CN103049222B (zh) 一种raid5的写io优化处理方法
KR102102728B1 (ko) 스케일러블 스토리지 보호
US7984325B2 (en) Storage control device, data recovery device, and storage system
CN102880428B (zh) 分布式独立磁盘冗余阵列的创建方法及装置
CN102520890B (zh) 基于gpu的rs-draid***及存储设备数据控制方法
US8438332B2 (en) Apparatus and method to maintain write operation atomicity where a data transfer operation crosses a data storage medium track boundary
CN103049220B (zh) 存储控制方法、存储控制装置和固态存储***
CN103488432B (zh) 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法
CN115617742B (zh) 一种数据缓存的方法、***、设备和存储介质
CN101727299A (zh) 连续数据存储中面向raid5的写操作优化设计方法
US20150019808A1 (en) Hybrid storage control system and method
US9063869B2 (en) Method and system for storing and rebuilding data
TW201107981A (en) Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system
CN103336727B (zh) 对nand闪存存储设备进行数据操作的方法
KR20170092333A (ko) Raid-6 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US20200285551A1 (en) Storage system, data management method, and data management program
EP2889751B1 (en) Method and apparatus for determining redundant array of independent disks
CN102693096B (zh) 基于位的串行传输云存储方法及装置
US11093339B2 (en) Storage utilizing a distributed cache chain and a checkpoint drive in response to a data drive corruption
CN115237342A (zh) 一种由阵列磁盘进行数据校验的raid5校验方法
CN103034559B (zh) 基于rdma架构设计的pq检验模块及检验方法
CN109375868B (zh) 一种数据存储方法、调度装置、***、设备及存储介质
CN102270102A (zh) 一种raid6磁盘阵列写性能的优化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130403