CN1224906C - 用浮动校验组提高盘阵列记录系统可靠性的方法及其系统 - Google Patents
用浮动校验组提高盘阵列记录系统可靠性的方法及其系统 Download PDFInfo
- Publication number
- CN1224906C CN1224906C CN 02104070 CN02104070A CN1224906C CN 1224906 C CN1224906 C CN 1224906C CN 02104070 CN02104070 CN 02104070 CN 02104070 A CN02104070 A CN 02104070A CN 1224906 C CN1224906 C CN 1224906C
- Authority
- CN
- China
- Prior art keywords
- verification group
- group
- work
- memory device
- hard disk
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 9
- 238000012795 verification Methods 0.000 claims description 95
- 230000015556 catabolic process Effects 0.000 claims description 28
- 238000006731 degradation reaction Methods 0.000 claims description 28
- 238000010586 diagram Methods 0.000 abstract description 3
- 238000005457 optimization Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种用浮动校验组提高盘阵列记录系统可靠性的方法及其系统,属于盘阵列记录系统可靠性的检测技术领域,其特征为:盘阵列系统的校验组是浮动的,当校验组存在一个存储设备失效时校验组降级运行。某个校验组内失效的存储设备数超过1个时,系统就把和失效存储设备位于同一串列即通道上且所在校验组尚未降级的存储设备和当前失效设备相互换,于是,原来即将由某校验组失效而引起的系统失效就转化为两个校验组的降级运行,直到每个校验组的最后失效存储设备数都达到1个时,若再有存储设备失效,则整个系统才失效。相应地给了系统框图。该法的实质是整体最优,它可充分利用系统中的冗余资源进行动态配置,只有当系统冗余资源全部耗尽,系统才失效。
Description
技术领域
一种用浮动校验组提高盘阵列记录系统可靠性的方法及其系统,属于盘阵列记录系统可靠性技术领域。
背景技术
盘阵列技术(RAID-Redundant Array of Independent Disks)就是采用数据分块和冗余技术把一些小型的廉价存储驱动器组合起来,使其性能超过那些价格昂贵的大存储驱动器。该技术是由美国加州大学伯克利(Berkeley)分校的Patterson、Gibson和Katz在1987年的一篇论文中提出的,同时又提出了几种不同类型的盘阵列结构并分析了其可靠性。以后又出现了许多新的阵列结构和算法,如一维、二维ODDEVEN编码以及RM2双盘容错编码、RS编码等来提高其系统可靠性。但是,对于实时高速连续数据记录系统而言,要求能连续记录80MB/s的数据流达15分钟以上,即数据量大于72GB。该技术方案采用了多个存储设备组成并行记录的阵列。由于记录的数据是实时且不可重复的或者重复的代价太大,所以对阵列系统的可靠性提出了很高的要求。为此要在阵列中采用高效的容错结构,简单易行的容错编码方式来满足高速实时性的要求,以便于硬件实现同时又确保其系统可靠性,于是,我们有针对性地提出了本发明专利申请。
发明内容
本发明的目的在于提出一种用浮动校验组提高盘阵列记录系统可靠性的方法及其系统以满足高速实时地连续记录数据流的要求。其实就是使系统中的校验组不固定,而是根据系统中存储设备的失效情况,随时作动态调整。具体而言,就是当某个校验组有某存储设备失效时系统实行降级运行记录。一旦发生两个存储设备失效,系统就把和上述某存储设备位于同一串列上且所在的校验组尚未失效的存储设备和当前的某失效存储设备相交换。这样,原来由某个校验组内两个存储设备失效所能引起的系统失效就转化为两个校验组的降级运行。依次类推,直至系统中的每个校验组都降级运行。此时,再有存储设备失效,则整个系统才可能失效。一般说来,每个校验组内允许失效的存储设备数为1个,也即系统可以容忍全部N个校验组内最终出现N盘失效,且在浮动校验过程中N个失效盘在通道内的位置是可以任意的,否则系统就会失效。
本发明的用浮动校验组提高盘阵列记录系统可靠性的方法其特征在于:它依次含有以下步骤:
(4)系统自检;
(5)设定通道数N,校验组数M;
(6)设每个校验组最终允许失效的存储设备数为1个;
(4)进行数据记录;
(5)判别是否有失效的存储设备,如有,则判断是否已经处于降级工作校验组,如果尚未处于降级工作校验组,则标记该校验组为降级工作校验组,继续进行数据记录,如果失效存储设备已经处于降级工作校验组中,则判别是否有未降级工作的校验组,如果全部校验组均已经降级,则记录系统失效,报警;如果有未降级工作的校验组,则执行下一步骤;
(6)把上述已经处于降级工作校验组中的失效的存储设备与未降级工作校验组内任一未失效的存储设备互相切换,标记该未降级校验组为降级工作校验组;
(7)继续进行记录直到每个校验组的失效存储设备数都已达到1个时,系统记录失效并报警。
本发明的用浮动校验组提高盘阵列记录系统可靠性的系统,其特征在于:它含有:
阵列控制器:把输入的流速为VH的数据流分为N个流速为VH/N的数据流和一路校验数据流;
N+1个串列控制器:首先通过双端口RAM接收主控单元输入的参数,包括数据通道数、校验数据通道数和各路挂着的硬盘数,同时,给每个硬盘编号。在系统正常工作时,每路串列控制器把上述阵列控制器输出的数据流分为大小相同的数据块按顺序分配到各个硬盘上;在某个串列控制器上的硬盘发生失效时,了解失效硬盘的编号,并通过其双端口RAM通知下述主控单元;
存储设备阵列:由与N+1个上述串列控制器输出端相连的N+1行M列硬盘组成,构成M个校验组,所述每一个校验组都由各路串列控制器上同样编号的硬盘组成,当某个串列控制器上的硬盘失效时,该硬盘便向所在的串列控制器发出错信息;
主控单元:与上述N+1个串列控制器和阵列控制器双向连接,它依次进行如下动作:向不同串列控制器设置数据通道号,并写入工作命令参数;向阵列控制器和串列控制器发出中断信号并进行数据记录;工作中,从各串列控制器双端口RAM中判别是否有失效的存储设备,如有,则判断是否已经处于降级工作校验组,如果尚未处于降级工作校验组,则标记该校验组为降级工作校验组,继续进行数据记录,如果失效存储设备已经处于降级工作校验组中,则判别是否有未降级工作的校验组,如果全部校验组均已经降级,则记录系统失效,报警;如果有未降级工作的校验组,则把上述已经处于降级工作校验组中的失效的存储设备与未降级工作校验组内任一未失效的存储设备互相切换,标记该未降级校验组为降级工作校验组;继续进行记录直到每个校验组的失效存储设备数都已达到1个时,系统记录失效并报警。
使用证明:它达到了预期目的。
附图说明
图1:3通道(串列)4校验组的阵列:
①,初始状态;
②,第2通道、第1校验组的一个存储设备失效;
③,在②的基础上,又有第1通道、第3校验组的一个存储设备失效,
④,在③基础上,又有第3通道、第1校验组的一个存储设备失效;
⑤,第2通道、第1校验组的一个失效的存储设备和第2通道、第2校验组的一个未失效的存储设备互换,使每个通道只有一个存储设备失效,系统降级记录。
图2:阵列式高速连续数据存储系统结构图
图3:数据分割及校验生成方案。
图4:记录系统程序流程示意框图。
图5:记录系统程序流程详细框图。
具体实施方式
在图2中,阵列控制器采用Xilinx公司的FPGA(现场可编程门阵列)芯片XCS30,它的功能是分割降速,产生校验数据,它可把流速为VH的高速连续数据流H分成N路,并把各路数据用“异或”编码产生一路校验数据流,图2中阴影盘上的数据即是同组内其余盘上数据由“异或”产生的校验数据。分割降速后每路数据的流速为VH/N。串列控制器主要由LSILogic公司的总线主控型SCSI(小型计算机系统接口)芯片LSI53C770和Intel公司的嵌入式微处理器实现。串列控制器的主要功能是在主控单元控制下对SCSI硬盘进行控制,把分割降速的数据记录到SCSI硬盘上。每个串列控制器可以挂M个SCSI硬盘,受SCSI总线所限,M≤15。分割降速后的数据进入串列控制器后由它把数据分块后并轮流写到M个SCSI硬盘上,分块的大小是相同的。N+1个串列控制器组成N+1个数据通道,每个通道的控制器控制M个硬盘,整个系统的硬盘数可为M×(N+1)个。同一列号的SCSI硬盘组成一个校验组,每组中有N个数据盘,1个校验盘,主控单元采用Intel公司的MCS-51单片机,其主要功能是根据用户输入信息协调串列控制器及阵列控制器的工作,负责监控系统的运行。
在本实施方式中,记录系统由1个阵列控制器,5个串列控制器,1个主控单元,25个Seagate ST39236 SCSI硬盘组成。数据源为80MB/s的高速数据流,阵列控制器把80MB/s的数据流分割降速为每个通道是20MB/s的数据流。串列控制器把每个通道是20MB/s的数据流记录到硬盘上。
再见图3。本系统工作命令参数的命令格式为,字节0:055H为记录数据,0AAH为读取数据;字节1、2:文件号。两个字节表示所要记录/读取的文件号,依次为高、低字节。
字节3、4:文件扇区数。两个字节表示所要进行的记录/读取文件的起始扇区数,依次为高、低字节。
字节5:分块的大小,01H为128KB,02H为256KB,03H为512KB,04H为1MB。向双单口RAM写入055H,00H,02H,00H,0AFH,04H表示通过串列控制器要进行记录数据,文件号为0002H,文件扇区数为第00AFH,记录数据块为1MB大小。
系统工作步骤及实现浮动校验组功能的步骤见图5。
(1)上电后:各模块(阵列控制器、串列控制器,主控单元和SCSI硬盘)进行自检;
(2)阵列控制器初始化XCS30芯片进行逻辑配置,产生4条分割数据通道和一条校验数据通道,配置成功后向主控单元发中断信号。
(3)串列控制器初始化,通过双端口RAM CY7C136接受主控单元输入的参数:数据通道数N=4,校验数据通道1条,各路挂着的硬盘数M=5,同时,给每个SCSI硬盘编号,从SCSI_ID_0~SCSI_ID_4。每个串列控制器初始化成功后向主控单元发中断信号。主控单元根据不同串列控制器的中断端口向不同串列控制器设置数据通道号:String_ID_0~sString_ID_4。
(4)主控单元向5个串列控制器的双端口RAM写入工作命令参数后并发中断信号通知串列控制器。5路串列控制器接受到工作命令后分别向主控单元发出中断信号。
(5)主控单元向阵列控制器和串列控制器发出中断信号并开始进行数据记录。
(6)系统正常工作,进行记录。阵列控制器分割80MB/s数据流为5路20MB/s的数据流,其中一路是校验数据,每路串列控制器把数据分为大小为1MB的数据块按顺序分配到5个SCSI硬盘上。每路串列控制器上的同样SCSI_ID号的硬盘组成一个校验组。
(7)当某个串列控制器上的SCSI硬盘发生失效,SCSI硬盘将向串列控制器上LSI53C770SCSI协议芯片发出错信息,串列控制软件产生一个中断信号并根据该中断信号了解到失效硬盘的SCSI_ID号,再把该SCSI_ID号写入串列控制器双端口RAM,并产生中断信号通知主控单元。
(8)主控单元接到读串列控制器的中断信号并判断出其String_ID号,从其双端口RAM中取得失效硬盘的SCSI_ID号,把它们记录到主控单元程序的二维数组String_Disk中写成(String_ID,SCSI_ID)。该SCSI_ID号硬盘所在的校验组处于降级记录状态,系统未失效。
(9)判别出又有串列控制器上的SCSI硬盘发生失效,如同步骤(7)、(8),取得新的一组(String_ID’,SCSI_ID’)元素记录到二维数组String_Disk里与保存的元素比较:当SCSI_ID不等于SCSI_ID’时,表示SCSI_ID’所在的校验组和其他SDSI_ID所在的校验组都只有一个硬盘失效,处于降级记录状态系统未失效,再转到(9);
当SCSI_ID等于SCSI_ID’时,表示String_ID串列控制器和String_ID’串列控制器中的标号相同的硬盘发生失效,如图1中的状态④。如不采取措施,该校验组失效,从而使系统失效。转入下一步骤。
(10)主控单元根据二维数组String_ID里的元素判断出是否存在没有失效的硬盘的校验组。
如果存在,判断出String_ID’串列控制器中没有失效的硬盘的号如图1状态⑤中的String_ID_2、SCSI_ID_2~SCSI_ID_4。取其中最小的硬盘ID号min(SCSI_ID),主控单元向String_ID’串列控制器发出中断通知,String_ID’串列控制器程序里把失效的SCSI_ID’硬盘的ID’号和最小值为min(SCSI_ID)硬盘的ID号互换,使原来有两个硬盘失效的SCSI_ID’所在的校验组将只有一个硬盘失效,而原来没有硬盘失效的号为min(SCSI_ID)所在的组有一个硬盘失效,两个校验组都处于降级记录状态,整个系统可继续进行记录而不失效,转到步骤(9)。
如果不存在没有失效的硬盘的校验组,即每个校验组的失效硬盘数已达到允许值,则转到下一步骤。
(11)系统失效,主控单元向阵列控制器和串列控制器发出中断命令,使其停止工作报警。
4路5校验组改进前后可靠性对照见表1。
表1
Claims (2)
1、用浮动校验组提高盘阵列记录系统可靠性的方法,其特征在于它依次含有以下步骤:
(1)系统自检;
(2)设定通道数N,校验组数M;
(3)设每个校验组最终允许失效的存储设备数为1个;
(4)进行数据记录;
(5)判别是否有失效的存储设备,如有,则判断是否已经处于降级工作校验组,如果尚未处于降级工作校验组,则标记该校验组为降级工作校验组,继续进行数据记录,如果失效存储设备已经处于降级工作校验组中,则判别是否有未降级工作的校验组,如果全部校验组均已经降级,则记录系统失效,报警;如果有未降级工作的校验组,则执行下一步骤;
(6)把上述已经处于降级工作校验组中的失效的存储设备与未降级工作校验组内任一未失效的存储设备互相切换,标记该未降级校验组为降级工作校验组;
(7)继续进行记录直到每个校验组的失效存储设备数都已达到1个时,系统记录失效并报警。
2、用浮动校验组提高盘阵列记录系统可靠性的系统,其特征在于,它含有:
阵列控制器:把输入的流速为VH的数据流分为N个流速为VH/N的数据流和一路校验数据流;
N+1个串列控制器:首先通过双端口RAM接收主控单元输入的参数,包括数据通道数、校验数据通道数和各路挂着的硬盘数,同时,给每个硬盘编号,在系统正常工作时,每路串列控制器把上述阵列控制器输出的数据流分为大小相同的数据块按顺序分配到各个硬盘上;在某个串列控制器上的硬盘发生失效时,了解失效硬盘的编号,并通过其双端口RAM通知下述主控单元;
存储设备阵列:由与N+1个上述串列控制器输出端相连的N+1行M列硬盘组成,构成M个校验组,所述每一个校验组都由各路串列控制器上同样编号的硬盘组成,当某个串列控制器上的硬盘失效时,该硬盘便向所在的串列控制器发出错信息;
主控单元:与上述N+1个串列控制器和阵列控制器双向连接,它依次进行如下动作:向不同串列控制器设置数据通道号,并写入工作命令参数;向阵列控制器和串列控制器发出中断信号并进行数据记录;工作中,从各串列控制器双端口RAM中判别是否有失效的存储设备,如有,则判断是否已经处于降级工作校验组,如果尚未处于降级工作校验组,则标记该校验组为降级工作校验组,继续进行数据记录,如果失效存储设备已经处于降级工作校验组中,则判别是否有未降级工作的校验组,如果全部校验组均已经降级,则记录系统失效,报警;如果有未降级工作的校验组,则把上述已经处于降级工作校验组中的失效的存储设备与未降级工作校验组内任一未失效的存储设备互相切换,标记该未降级校验组为降级工作校验组;继续进行记录直到每个校验组的失效存储设备数都已达到1个时,系统记录失效并报警。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02104070 CN1224906C (zh) | 2002-03-08 | 2002-03-08 | 用浮动校验组提高盘阵列记录系统可靠性的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02104070 CN1224906C (zh) | 2002-03-08 | 2002-03-08 | 用浮动校验组提高盘阵列记录系统可靠性的方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1444140A CN1444140A (zh) | 2003-09-24 |
CN1224906C true CN1224906C (zh) | 2005-10-26 |
Family
ID=27810811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02104070 Expired - Fee Related CN1224906C (zh) | 2002-03-08 | 2002-03-08 | 用浮动校验组提高盘阵列记录系统可靠性的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1224906C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7404104B2 (en) * | 2005-11-16 | 2008-07-22 | International Business Machines Corporation | Apparatus and method to assign network addresses in a storage array |
-
2002
- 2002-03-08 CN CN 02104070 patent/CN1224906C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1444140A (zh) | 2003-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100337209C (zh) | 容忍磁盘阵列中多个相关或任意双盘故障的方法和装置 | |
CN101868830B (zh) | 容错非易失性集成电路存储器 | |
US7669019B2 (en) | Apparatus and method of mirroring data between nonvolatile memory and hard disk | |
CN1296841C (zh) | 用于重叠写入的盘驱动器的日志结构文件系统 | |
CN101047010A (zh) | 用于最大化raid系统中受保护数据量的方法和系统 | |
US10353614B2 (en) | Raid system and method based on solid-state storage medium | |
CN103488432B (zh) | 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法 | |
US8032610B2 (en) | Scalable high-speed cache system in a storage network | |
US11144394B1 (en) | Storing B-tree pages in capacity tier for erasure-coded storage in distributed data systems | |
CN1801071A (zh) | 信息处理系统、一次存储装置和计算机可读记录介质 | |
CN1725171A (zh) | 输入输出调适性写入快取政策调整作业 | |
EP1507204A3 (en) | Storage system with cache memory | |
CN103019893A (zh) | 一种多盘容错的二维混合盘raid4系统架构及其读写方法 | |
CN1808368A (zh) | 配置具有冗余功能的逻辑盘驱动器的盘阵列系统 | |
CN107678690A (zh) | 一种固态硬盘及其冗余独立磁盘阵列的实现方法 | |
CN1224906C (zh) | 用浮动校验组提高盘阵列记录系统可靠性的方法及其系统 | |
CN115543223A (zh) | 灵活构成磁盘阵列卡的方法、介质、设备及磁盘阵列卡 | |
CN1959647A (zh) | 建立稳定存储机制的方法 | |
CN114115729A (zh) | 一种raid下的高效数据迁移方法 | |
CN1076843C (zh) | 多功能光盘阵列及用其实现数据并行写入/读出的方法 | |
CN102880430A (zh) | 一种独立冗余磁盘阵列的管理系统及方法 | |
CN104571965A (zh) | 一种raid重建的优化方法 | |
CN1107258C (zh) | 数据记录/再现装置和数据记录方法 | |
CN1866226A (zh) | 数据保护方法 | |
CN100492306C (zh) | 独立磁盘冗余阵列毁损时的数据恢复方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |